summaryrefslogtreecommitdiff
path: root/asm/code_803A60D8.s
blob: 17921e283ea16321b6edb2ce59ff72a4a4508975 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
33001
33002
33003
33004
33005
33006
33007
33008
33009
33010
33011
33012
33013
33014
33015
33016
33017
33018
33019
33020
33021
33022
33023
33024
33025
33026
33027
33028
33029
33030
33031
33032
33033
33034
33035
33036
33037
33038
33039
33040
33041
33042
33043
33044
33045
33046
33047
33048
33049
33050
33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
33087
33088
33089
33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
33127
33128
33129
33130
33131
33132
33133
33134
33135
33136
33137
33138
33139
33140
33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
33156
33157
33158
33159
33160
33161
33162
33163
33164
33165
33166
33167
33168
33169
33170
33171
33172
33173
33174
33175
33176
33177
33178
33179
33180
33181
33182
33183
33184
33185
33186
33187
33188
33189
33190
33191
33192
33193
33194
33195
33196
33197
33198
33199
33200
33201
33202
33203
33204
33205
33206
33207
33208
33209
33210
33211
33212
33213
33214
33215
33216
33217
33218
33219
33220
33221
33222
33223
33224
33225
33226
33227
33228
33229
33230
33231
33232
33233
33234
33235
33236
33237
33238
33239
33240
33241
33242
33243
33244
33245
33246
33247
33248
33249
33250
33251
33252
33253
33254
33255
33256
33257
33258
33259
33260
33261
33262
33263
33264
33265
33266
33267
33268
33269
33270
33271
33272
33273
33274
33275
33276
33277
33278
33279
33280
33281
33282
33283
33284
33285
33286
33287
33288
33289
33290
33291
33292
33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
33322
33323
33324
33325
33326
33327
33328
33329
33330
33331
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364
33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
33392
33393
33394
33395
33396
33397
33398
33399
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
33435
33436
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
33469
33470
33471
33472
33473
33474
33475
33476
33477
33478
33479
33480
33481
33482
33483
33484
33485
33486
33487
33488
33489
33490
33491
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
33534
33535
33536
33537
33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
33550
33551
33552
33553
33554
33555
33556
33557
33558
33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
33595
33596
33597
33598
33599
33600
33601
33602
33603
33604
33605
33606
33607
33608
33609
33610
33611
33612
33613
33614
33615
33616
33617
33618
33619
33620
33621
33622
33623
33624
33625
33626
33627
33628
33629
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657
33658
33659
33660
33661
33662
33663
33664
33665
33666
33667
33668
33669
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
33705
33706
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
33739
33740
33741
33742
33743
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
33872
33873
33874
33875
33876
33877
33878
33879
33880
33881
33882
33883
33884
33885
33886
33887
33888
33889
33890
33891
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
33943
33944
33945
33946
33947
33948
33949
33950
33951
33952
33953
33954
33955
33956
33957
33958
33959
33960
33961
33962
33963
33964
33965
33966
33967
33968
33969
33970
33971
33972
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
35510
35511
35512
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525
35526
35527
35528
35529
35530
35531
35532
35533
35534
35535
35536
35537
35538
35539
35540
35541
35542
35543
35544
35545
35546
35547
35548
35549
35550
35551
35552
35553
35554
35555
35556
35557
35558
35559
35560
35561
35562
35563
35564
35565
35566
35567
35568
35569
35570
35571
35572
35573
35574
35575
35576
35577
35578
35579
35580
35581
35582
35583
35584
35585
35586
35587
35588
35589
35590
35591
35592
35593
35594
35595
35596
35597
35598
35599
35600
35601
35602
35603
35604
35605
35606
35607
35608
35609
35610
35611
35612
35613
35614
35615
35616
35617
35618
35619
35620
35621
35622
35623
35624
35625
35626
35627
35628
35629
35630
35631
35632
35633
35634
35635
35636
35637
35638
35639
35640
35641
35642
35643
35644
35645
35646
35647
35648
35649
35650
35651
35652
35653
35654
35655
35656
35657
35658
35659
35660
35661
35662
35663
35664
35665
35666
35667
35668
35669
35670
35671
35672
35673
35674
35675
35676
35677
35678
35679
35680
35681
35682
35683
35684
35685
35686
35687
35688
35689
35690
35691
35692
35693
35694
35695
35696
35697
35698
35699
35700
35701
35702
35703
35704
35705
35706
35707
35708
35709
35710
35711
35712
35713
35714
35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
35725
35726
35727
35728
35729
35730
35731
35732
35733
35734
35735
35736
35737
35738
35739
35740
35741
35742
35743
35744
35745
35746
35747
35748
35749
35750
35751
35752
35753
35754
35755
35756
35757
35758
35759
35760
35761
35762
35763
35764
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774
35775
35776
35777
35778
35779
35780
35781
35782
35783
35784
35785
35786
35787
35788
35789
35790
35791
35792
35793
35794
35795
35796
35797
35798
35799
35800
35801
35802
35803
35804
35805
35806
35807
35808
35809
35810
35811
35812
35813
35814
35815
35816
35817
35818
35819
35820
35821
35822
35823
35824
35825
35826
35827
35828
35829
35830
35831
35832
35833
35834
35835
35836
35837
35838
35839
35840
35841
35842
35843
35844
35845
35846
35847
35848
35849
35850
35851
35852
35853
35854
35855
35856
35857
35858
35859
35860
35861
35862
35863
35864
35865
35866
35867
35868
35869
35870
35871
35872
35873
35874
35875
35876
35877
35878
35879
35880
35881
35882
35883
35884
35885
35886
35887
35888
35889
35890
35891
35892
35893
35894
35895
35896
35897
35898
35899
35900
35901
35902
35903
35904
35905
35906
35907
35908
35909
35910
35911
35912
35913
35914
35915
35916
35917
35918
35919
35920
35921
35922
35923
35924
35925
35926
35927
35928
35929
35930
35931
35932
35933
35934
35935
35936
35937
35938
35939
35940
35941
35942
35943
35944
35945
35946
35947
35948
35949
35950
35951
35952
35953
35954
35955
35956
35957
35958
35959
35960
35961
35962
35963
35964
35965
35966
35967
35968
35969
35970
35971
35972
35973
35974
35975
35976
35977
35978
35979
35980
35981
35982
35983
35984
35985
35986
35987
35988
35989
35990
35991
35992
35993
35994
35995
35996
35997
35998
35999
36000
36001
36002
36003
36004
36005
36006
36007
36008
36009
36010
36011
36012
36013
36014
36015
36016
36017
36018
36019
36020
36021
36022
36023
36024
36025
36026
36027
36028
36029
36030
36031
36032
36033
36034
36035
36036
36037
36038
36039
36040
36041
36042
36043
36044
36045
36046
36047
36048
36049
36050
36051
36052
36053
36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
36075
36076
36077
36078
36079
36080
36081
36082
36083
36084
36085
36086
36087
36088
36089
36090
36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
36106
36107
36108
36109
36110
36111
36112
36113
36114
36115
36116
36117
36118
36119
36120
36121
36122
36123
36124
36125
36126
36127
36128
36129
36130
36131
36132
36133
36134
36135
36136
36137
36138
36139
36140
36141
36142
36143
36144
36145
36146
36147
36148
36149
36150
36151
36152
36153
36154
36155
36156
36157
36158
36159
36160
36161
36162
36163
36164
36165
36166
36167
36168
36169
36170
36171
36172
36173
36174
36175
36176
36177
36178
36179
36180
36181
36182
36183
36184
36185
36186
36187
36188
36189
36190
36191
36192
36193
36194
36195
36196
36197
36198
36199
36200
36201
36202
36203
36204
36205
36206
36207
36208
36209
36210
36211
36212
36213
36214
36215
36216
36217
36218
36219
36220
36221
36222
36223
36224
36225
36226
36227
36228
36229
36230
36231
36232
36233
36234
36235
36236
36237
36238
36239
36240
36241
36242
36243
36244
36245
36246
36247
36248
36249
36250
36251
36252
36253
36254
36255
36256
36257
36258
36259
36260
36261
36262
36263
36264
36265
36266
36267
36268
36269
36270
36271
36272
36273
36274
36275
36276
36277
36278
36279
36280
36281
36282
36283
36284
36285
36286
36287
36288
36289
36290
36291
36292
36293
36294
36295
36296
36297
36298
36299
36300
36301
36302
36303
36304
36305
36306
36307
36308
36309
36310
36311
36312
36313
36314
36315
36316
36317
36318
36319
36320
36321
36322
36323
36324
36325
36326
36327
36328
36329
36330
36331
36332
36333
36334
36335
36336
36337
36338
36339
36340
36341
36342
36343
36344
36345
36346
36347
36348
36349
36350
36351
36352
36353
36354
36355
36356
36357
36358
36359
36360
36361
36362
36363
36364
36365
36366
36367
36368
36369
36370
36371
36372
36373
36374
36375
36376
36377
36378
36379
36380
36381
36382
36383
36384
36385
36386
36387
36388
36389
36390
36391
36392
36393
36394
36395
36396
36397
36398
36399
36400
36401
36402
36403
36404
36405
36406
36407
36408
36409
36410
36411
36412
36413
36414
36415
36416
36417
36418
36419
36420
36421
36422
36423
36424
36425
36426
36427
36428
36429
36430
36431
36432
36433
36434
36435
36436
36437
36438
36439
36440
36441
36442
36443
36444
36445
36446
36447
36448
36449
36450
36451
36452
36453
36454
36455
36456
36457
36458
36459
36460
36461
36462
36463
36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
36537
36538
36539
36540
36541
36542
36543
36544
36545
36546
36547
36548
36549
36550
36551
36552
36553
36554
36555
36556
36557
36558
36559
36560
36561
36562
36563
36564
36565
36566
36567
36568
36569
36570
36571
36572
36573
36574
36575
36576
36577
36578
36579
36580
36581
36582
36583
36584
36585
36586
36587
36588
36589
36590
36591
36592
36593
36594
36595
36596
36597
36598
36599
36600
36601
36602
36603
36604
36605
36606
36607
36608
36609
36610
36611
36612
36613
36614
36615
36616
36617
36618
36619
36620
36621
36622
36623
36624
36625
36626
36627
36628
36629
36630
36631
36632
36633
36634
36635
36636
36637
36638
36639
36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
36652
36653
36654
36655
36656
36657
36658
36659
36660
36661
36662
36663
36664
36665
36666
36667
36668
36669
36670
36671
36672
36673
36674
36675
36676
36677
36678
36679
36680
36681
36682
36683
36684
36685
36686
36687
36688
36689
36690
36691
36692
36693
36694
36695
36696
36697
36698
36699
36700
36701
36702
36703
36704
36705
36706
36707
36708
36709
36710
36711
36712
36713
36714
36715
36716
36717
36718
36719
36720
36721
36722
36723
36724
36725
36726
36727
36728
36729
36730
36731
36732
36733
36734
36735
36736
36737
36738
36739
36740
36741
36742
36743
36744
36745
36746
36747
36748
36749
36750
36751
36752
36753
36754
36755
36756
36757
36758
36759
36760
36761
36762
36763
36764
36765
36766
36767
36768
36769
36770
36771
36772
36773
36774
36775
36776
36777
36778
36779
36780
36781
36782
36783
36784
36785
36786
36787
36788
36789
36790
36791
36792
36793
36794
36795
36796
36797
36798
36799
36800
36801
36802
36803
36804
36805
36806
36807
36808
36809
36810
36811
36812
36813
36814
36815
36816
36817
36818
36819
36820
36821
36822
36823
36824
36825
36826
36827
36828
36829
36830
36831
36832
36833
36834
36835
36836
36837
36838
36839
36840
36841
36842
36843
36844
36845
36846
36847
36848
36849
36850
36851
36852
36853
36854
36855
36856
36857
36858
36859
36860
36861
36862
36863
36864
36865
36866
36867
36868
36869
36870
36871
36872
36873
36874
36875
36876
36877
36878
36879
36880
36881
36882
36883
36884
36885
36886
36887
36888
36889
36890
36891
36892
36893
36894
36895
36896
36897
36898
36899
36900
36901
36902
36903
36904
36905
36906
36907
36908
36909
36910
36911
36912
36913
36914
36915
36916
36917
36918
36919
36920
36921
36922
36923
36924
36925
36926
36927
36928
36929
36930
36931
36932
36933
36934
36935
36936
36937
36938
36939
36940
36941
36942
36943
36944
36945
36946
36947
36948
36949
36950
36951
36952
36953
36954
36955
36956
36957
36958
36959
36960
36961
36962
36963
36964
36965
36966
36967
36968
36969
36970
36971
36972
36973
36974
36975
36976
36977
36978
36979
36980
36981
36982
36983
36984
36985
36986
36987
36988
36989
36990
36991
36992
36993
36994
36995
36996
36997
36998
36999
37000
37001
37002
37003
37004
37005
37006
37007
37008
37009
37010
37011
37012
37013
37014
37015
37016
37017
37018
37019
37020
37021
37022
37023
37024
37025
37026
37027
37028
37029
37030
37031
37032
37033
37034
37035
37036
37037
37038
37039
37040
37041
37042
37043
37044
37045
37046
37047
37048
37049
37050
37051
37052
37053
37054
37055
37056
37057
37058
37059
37060
37061
37062
37063
37064
37065
37066
37067
37068
37069
37070
37071
37072
37073
37074
37075
37076
37077
37078
37079
37080
37081
37082
37083
37084
37085
37086
37087
37088
37089
37090
37091
37092
37093
37094
37095
37096
37097
37098
37099
37100
37101
37102
37103
37104
37105
37106
37107
37108
37109
37110
37111
37112
37113
37114
37115
37116
37117
37118
37119
37120
37121
37122
37123
37124
37125
37126
37127
37128
37129
37130
37131
37132
37133
37134
37135
37136
37137
37138
37139
37140
37141
37142
37143
37144
37145
37146
37147
37148
37149
37150
37151
37152
37153
37154
37155
37156
37157
37158
37159
37160
37161
37162
37163
37164
37165
37166
37167
37168
37169
37170
37171
37172
37173
37174
37175
37176
37177
37178
37179
37180
37181
37182
37183
37184
37185
37186
37187
37188
37189
37190
37191
37192
37193
37194
37195
37196
37197
37198
37199
37200
37201
37202
37203
37204
37205
37206
37207
37208
37209
37210
37211
37212
37213
37214
37215
37216
37217
37218
37219
37220
37221
37222
37223
37224
37225
37226
37227
37228
37229
37230
37231
37232
37233
37234
37235
37236
37237
37238
37239
37240
37241
37242
37243
37244
37245
37246
37247
37248
37249
37250
37251
37252
37253
37254
37255
37256
37257
37258
37259
37260
37261
37262
37263
37264
37265
37266
37267
37268
37269
37270
37271
37272
37273
37274
37275
37276
37277
37278
37279
37280
37281
37282
37283
37284
37285
37286
37287
37288
37289
37290
37291
37292
37293
37294
37295
37296
37297
37298
37299
37300
37301
37302
37303
37304
37305
37306
37307
37308
37309
37310
37311
37312
37313
37314
37315
37316
37317
37318
37319
37320
37321
37322
37323
37324
37325
37326
37327
37328
37329
37330
37331
37332
37333
37334
37335
37336
37337
37338
37339
37340
37341
37342
37343
37344
37345
37346
37347
37348
37349
37350
37351
37352
37353
37354
37355
37356
37357
37358
37359
37360
37361
37362
37363
37364
37365
37366
37367
37368
37369
37370
37371
37372
37373
37374
37375
37376
37377
37378
37379
37380
37381
37382
37383
37384
37385
37386
37387
37388
37389
37390
37391
37392
37393
37394
37395
37396
37397
37398
37399
37400
37401
37402
37403
37404
37405
37406
37407
37408
37409
37410
37411
37412
37413
37414
37415
37416
37417
37418
37419
37420
37421
37422
37423
37424
37425
37426
37427
37428
37429
37430
37431
37432
37433
37434
37435
37436
37437
37438
37439
37440
37441
37442
37443
37444
37445
37446
37447
37448
37449
37450
37451
37452
37453
37454
37455
37456
37457
37458
37459
37460
37461
37462
37463
37464
37465
37466
37467
37468
37469
37470
37471
37472
37473
37474
37475
37476
37477
37478
37479
37480
37481
37482
37483
37484
37485
37486
37487
37488
37489
37490
37491
37492
37493
37494
37495
37496
37497
37498
37499
37500
37501
37502
37503
37504
37505
37506
37507
37508
37509
37510
37511
37512
37513
37514
37515
37516
37517
37518
37519
37520
37521
37522
37523
37524
37525
37526
37527
37528
37529
37530
37531
37532
37533
37534
37535
37536
37537
37538
37539
37540
37541
37542
37543
37544
37545
37546
37547
37548
37549
37550
37551
37552
37553
37554
37555
37556
37557
37558
37559
37560
37561
37562
37563
37564
37565
37566
37567
37568
37569
37570
37571
37572
37573
37574
37575
37576
37577
37578
37579
37580
37581
37582
37583
37584
37585
37586
37587
37588
37589
37590
37591
37592
37593
37594
37595
37596
37597
37598
37599
37600
37601
37602
37603
37604
37605
37606
37607
37608
37609
37610
37611
37612
37613
37614
37615
37616
37617
37618
37619
37620
37621
37622
37623
37624
37625
37626
37627
37628
37629
37630
37631
37632
37633
37634
37635
37636
37637
37638
37639
37640
37641
37642
37643
37644
37645
37646
37647
37648
37649
37650
37651
37652
37653
37654
37655
37656
37657
37658
37659
37660
37661
37662
37663
37664
37665
37666
37667
37668
37669
37670
37671
37672
37673
37674
37675
37676
37677
37678
37679
37680
37681
37682
37683
37684
37685
37686
37687
37688
37689
37690
37691
37692
37693
37694
37695
37696
37697
37698
37699
37700
37701
37702
37703
37704
37705
37706
37707
37708
37709
37710
37711
37712
37713
37714
37715
37716
37717
37718
37719
37720
37721
37722
37723
37724
37725
37726
37727
37728
37729
37730
37731
37732
37733
37734
37735
37736
37737
37738
37739
37740
37741
37742
37743
37744
37745
37746
37747
37748
37749
37750
37751
37752
37753
37754
37755
37756
37757
37758
37759
37760
37761
37762
37763
37764
37765
37766
37767
37768
37769
37770
37771
37772
37773
37774
37775
37776
37777
37778
37779
37780
37781
37782
37783
37784
37785
37786
37787
37788
37789
37790
37791
37792
37793
37794
37795
37796
37797
37798
37799
37800
37801
37802
37803
37804
37805
37806
37807
37808
37809
37810
37811
37812
37813
37814
37815
37816
37817
37818
37819
37820
37821
37822
37823
37824
37825
37826
37827
37828
37829
37830
37831
37832
37833
37834
37835
37836
37837
37838
37839
37840
37841
37842
37843
37844
37845
37846
37847
37848
37849
37850
37851
37852
37853
37854
37855
37856
37857
37858
37859
37860
37861
37862
37863
37864
37865
37866
37867
37868
37869
37870
37871
37872
37873
37874
37875
37876
37877
37878
37879
37880
37881
37882
37883
37884
37885
37886
37887
37888
37889
37890
37891
37892
37893
37894
37895
37896
37897
37898
37899
37900
37901
37902
37903
37904
37905
37906
37907
37908
37909
37910
37911
37912
37913
37914
37915
37916
37917
37918
37919
37920
37921
37922
37923
37924
37925
37926
37927
37928
37929
37930
37931
37932
37933
37934
37935
37936
37937
37938
37939
37940
37941
37942
37943
37944
37945
37946
37947
37948
37949
37950
37951
37952
37953
37954
37955
37956
37957
37958
37959
37960
37961
37962
37963
37964
37965
37966
37967
37968
37969
37970
37971
37972
37973
37974
37975
37976
37977
37978
37979
37980
37981
37982
37983
37984
37985
37986
37987
37988
37989
37990
37991
37992
37993
37994
37995
37996
37997
37998
37999
38000
38001
38002
38003
38004
38005
38006
38007
38008
38009
38010
38011
38012
38013
38014
38015
38016
38017
38018
38019
38020
38021
38022
38023
38024
38025
38026
38027
38028
38029
38030
38031
38032
38033
38034
38035
38036
38037
38038
38039
38040
38041
38042
38043
38044
38045
38046
38047
38048
38049
38050
38051
38052
38053
38054
38055
38056
38057
38058
38059
38060
38061
38062
38063
38064
38065
38066
38067
38068
38069
38070
38071
38072
38073
38074
38075
38076
38077
38078
38079
38080
38081
38082
38083
38084
38085
38086
38087
38088
38089
38090
38091
38092
38093
38094
38095
38096
38097
38098
38099
38100
38101
38102
38103
38104
38105
38106
38107
38108
38109
38110
38111
38112
38113
38114
38115
38116
38117
38118
38119
38120
38121
38122
38123
38124
38125
38126
38127
38128
38129
38130
38131
38132
38133
38134
38135
38136
38137
38138
38139
38140
38141
38142
38143
38144
38145
38146
38147
38148
38149
38150
38151
38152
38153
38154
38155
38156
38157
38158
38159
38160
38161
38162
38163
38164
38165
38166
38167
38168
38169
38170
38171
38172
38173
38174
38175
38176
38177
38178
38179
38180
38181
38182
38183
38184
38185
38186
38187
38188
38189
38190
38191
38192
38193
38194
38195
38196
38197
38198
38199
38200
38201
38202
38203
38204
38205
38206
38207
38208
38209
38210
38211
38212
38213
38214
38215
38216
38217
38218
38219
38220
38221
38222
38223
38224
38225
38226
38227
38228
38229
38230
38231
38232
38233
38234
38235
38236
38237
38238
38239
38240
38241
38242
38243
38244
38245
38246
38247
38248
38249
38250
38251
38252
38253
38254
38255
38256
38257
38258
38259
38260
38261
38262
38263
38264
38265
38266
38267
38268
38269
38270
38271
38272
38273
38274
38275
38276
38277
38278
38279
38280
38281
38282
38283
38284
38285
38286
38287
38288
38289
38290
38291
38292
38293
38294
38295
38296
38297
38298
38299
38300
38301
38302
38303
38304
38305
38306
38307
38308
38309
38310
38311
38312
38313
38314
38315
38316
38317
38318
38319
38320
38321
38322
38323
38324
38325
38326
38327
38328
38329
38330
38331
38332
38333
38334
38335
38336
38337
38338
38339
38340
38341
38342
38343
38344
38345
38346
38347
38348
38349
38350
38351
38352
38353
38354
38355
38356
38357
38358
38359
38360
38361
38362
38363
38364
38365
38366
38367
38368
38369
38370
38371
38372
38373
38374
38375
38376
38377
38378
38379
38380
38381
38382
38383
38384
38385
38386
38387
38388
38389
38390
38391
38392
38393
38394
38395
38396
38397
38398
38399
38400
38401
38402
38403
38404
38405
38406
38407
38408
38409
38410
38411
38412
38413
38414
38415
38416
38417
38418
38419
38420
38421
38422
38423
38424
38425
38426
38427
38428
38429
38430
38431
38432
38433
38434
38435
38436
38437
38438
38439
38440
38441
38442
38443
38444
38445
38446
38447
38448
38449
38450
38451
38452
38453
38454
38455
38456
38457
38458
38459
38460
38461
38462
38463
38464
38465
38466
38467
38468
38469
38470
38471
38472
38473
38474
38475
38476
38477
38478
38479
38480
38481
38482
38483
38484
38485
38486
38487
38488
38489
38490
38491
38492
38493
38494
38495
38496
38497
38498
38499
38500
38501
38502
38503
38504
38505
38506
38507
38508
38509
38510
38511
38512
38513
38514
38515
38516
38517
38518
38519
38520
38521
38522
38523
38524
38525
38526
38527
38528
38529
38530
38531
38532
38533
38534
38535
38536
38537
38538
38539
38540
38541
38542
38543
38544
38545
38546
38547
38548
38549
38550
38551
38552
38553
38554
38555
38556
38557
38558
38559
38560
38561
38562
38563
38564
38565
38566
38567
38568
38569
38570
38571
38572
38573
38574
38575
38576
38577
38578
38579
38580
38581
38582
38583
38584
38585
38586
38587
38588
38589
38590
38591
38592
38593
38594
38595
38596
38597
38598
38599
38600
38601
38602
38603
38604
38605
38606
38607
38608
38609
38610
38611
38612
38613
38614
38615
38616
38617
38618
38619
38620
38621
38622
38623
38624
38625
38626
38627
38628
38629
38630
38631
38632
38633
38634
38635
38636
38637
38638
38639
38640
38641
38642
38643
38644
38645
38646
38647
38648
38649
38650
38651
38652
38653
38654
38655
38656
38657
38658
38659
38660
38661
38662
38663
38664
38665
38666
38667
38668
38669
38670
38671
38672
38673
38674
38675
38676
38677
38678
38679
38680
38681
38682
38683
38684
38685
38686
38687
38688
38689
38690
38691
38692
38693
38694
38695
38696
38697
38698
38699
38700
38701
38702
38703
38704
38705
38706
38707
38708
38709
38710
38711
38712
38713
38714
38715
38716
38717
38718
38719
38720
38721
38722
38723
38724
38725
38726
38727
38728
38729
38730
38731
38732
38733
38734
38735
38736
38737
38738
38739
38740
38741
38742
38743
38744
38745
38746
38747
38748
38749
38750
38751
38752
38753
38754
38755
38756
38757
38758
38759
38760
38761
38762
38763
38764
38765
38766
38767
38768
38769
38770
38771
38772
38773
38774
38775
38776
38777
38778
38779
38780
38781
38782
38783
38784
38785
38786
38787
38788
38789
38790
38791
38792
38793
38794
38795
38796
38797
38798
38799
38800
38801
38802
38803
38804
38805
38806
38807
38808
38809
38810
38811
38812
38813
38814
38815
38816
38817
38818
38819
38820
38821
38822
38823
38824
38825
38826
38827
38828
38829
38830
38831
38832
38833
38834
38835
38836
38837
38838
38839
38840
38841
38842
38843
38844
38845
38846
38847
38848
38849
38850
38851
38852
38853
38854
38855
38856
38857
38858
38859
38860
38861
38862
38863
38864
38865
38866
38867
38868
38869
38870
38871
38872
38873
38874
38875
38876
38877
38878
38879
38880
38881
38882
38883
38884
38885
38886
38887
38888
38889
38890
38891
38892
38893
38894
38895
38896
38897
38898
38899
38900
38901
38902
38903
38904
38905
38906
38907
38908
38909
38910
38911
38912
38913
38914
38915
38916
38917
38918
38919
38920
38921
38922
38923
38924
38925
38926
38927
38928
38929
38930
38931
38932
38933
38934
38935
38936
38937
38938
38939
38940
38941
38942
38943
38944
38945
38946
38947
38948
38949
38950
38951
38952
38953
38954
38955
38956
38957
38958
38959
38960
38961
38962
38963
38964
38965
38966
38967
38968
38969
38970
38971
38972
38973
38974
38975
38976
38977
38978
38979
38980
38981
38982
38983
38984
38985
38986
38987
38988
38989
38990
38991
38992
38993
38994
38995
38996
38997
38998
38999
39000
39001
39002
39003
39004
39005
39006
39007
39008
39009
39010
39011
39012
39013
39014
39015
39016
39017
39018
39019
39020
39021
39022
39023
39024
39025
39026
39027
39028
39029
39030
39031
39032
39033
39034
39035
39036
39037
39038
39039
39040
39041
39042
39043
39044
39045
39046
39047
39048
39049
39050
39051
39052
39053
39054
39055
39056
39057
39058
39059
39060
39061
39062
39063
39064
39065
39066
39067
39068
39069
39070
39071
39072
39073
39074
39075
39076
39077
39078
39079
39080
39081
39082
39083
39084
39085
39086
39087
39088
39089
39090
39091
39092
39093
39094
39095
39096
39097
39098
39099
39100
39101
39102
39103
39104
39105
39106
39107
39108
39109
39110
39111
39112
39113
39114
39115
39116
39117
39118
39119
39120
39121
39122
39123
39124
39125
39126
39127
39128
39129
39130
39131
39132
39133
39134
39135
39136
39137
39138
39139
39140
39141
39142
39143
39144
39145
39146
39147
39148
39149
39150
39151
39152
39153
39154
39155
39156
39157
39158
39159
39160
39161
39162
39163
39164
39165
39166
39167
39168
39169
39170
39171
39172
39173
39174
39175
39176
39177
39178
39179
39180
39181
39182
39183
39184
39185
39186
39187
39188
39189
39190
39191
39192
39193
39194
39195
39196
39197
39198
39199
39200
39201
39202
39203
39204
39205
39206
39207
39208
39209
39210
39211
39212
39213
39214
39215
39216
39217
39218
39219
39220
39221
39222
39223
39224
39225
39226
39227
39228
39229
39230
39231
39232
39233
39234
39235
39236
39237
39238
39239
39240
39241
39242
39243
39244
39245
39246
39247
39248
39249
39250
39251
39252
39253
39254
39255
39256
39257
39258
39259
39260
39261
39262
39263
39264
39265
39266
39267
39268
39269
39270
39271
39272
39273
39274
39275
39276
39277
39278
39279
39280
39281
39282
39283
39284
39285
39286
39287
39288
39289
39290
39291
39292
39293
39294
39295
39296
39297
39298
39299
39300
39301
39302
39303
39304
39305
39306
39307
39308
39309
39310
39311
39312
39313
39314
39315
39316
39317
39318
39319
39320
39321
39322
39323
39324
39325
39326
39327
39328
39329
39330
39331
39332
39333
39334
39335
39336
39337
39338
39339
39340
39341
39342
39343
39344
39345
39346
39347
39348
39349
39350
39351
39352
39353
39354
39355
39356
39357
39358
39359
39360
39361
39362
39363
39364
39365
39366
39367
39368
39369
39370
39371
39372
39373
39374
39375
39376
39377
39378
39379
39380
39381
39382
39383
39384
39385
39386
39387
39388
39389
39390
39391
39392
39393
39394
39395
39396
39397
39398
39399
39400
39401
39402
39403
39404
39405
39406
39407
39408
39409
39410
39411
39412
39413
39414
39415
39416
39417
39418
39419
39420
39421
39422
39423
39424
39425
39426
39427
39428
39429
39430
39431
39432
39433
39434
39435
39436
39437
39438
39439
39440
39441
39442
39443
39444
39445
39446
39447
39448
39449
39450
39451
39452
39453
39454
39455
39456
39457
39458
39459
39460
39461
39462
39463
39464
39465
39466
39467
39468
39469
39470
39471
39472
39473
39474
39475
39476
39477
39478
39479
39480
39481
39482
39483
39484
39485
39486
39487
39488
39489
39490
39491
39492
39493
39494
39495
39496
39497
39498
39499
39500
39501
39502
39503
39504
39505
39506
39507
39508
39509
39510
39511
39512
39513
39514
39515
39516
39517
39518
39519
39520
39521
39522
39523
39524
39525
39526
39527
39528
39529
39530
39531
39532
39533
39534
39535
39536
39537
39538
39539
39540
39541
39542
39543
39544
39545
39546
39547
39548
39549
39550
39551
39552
39553
39554
39555
39556
39557
39558
39559
39560
39561
39562
39563
39564
39565
39566
39567
39568
39569
39570
39571
39572
39573
39574
39575
39576
39577
39578
39579
39580
39581
39582
39583
39584
39585
39586
39587
39588
39589
39590
39591
39592
39593
39594
39595
39596
39597
39598
39599
39600
39601
39602
39603
39604
39605
39606
39607
39608
39609
39610
39611
39612
39613
39614
39615
39616
39617
39618
39619
39620
39621
39622
39623
39624
39625
39626
39627
39628
39629
39630
39631
39632
39633
39634
39635
39636
39637
39638
39639
39640
39641
39642
39643
39644
39645
39646
39647
39648
39649
39650
39651
39652
39653
39654
39655
39656
39657
39658
39659
39660
39661
39662
39663
39664
39665
39666
39667
39668
39669
39670
39671
39672
39673
39674
39675
39676
39677
39678
39679
39680
39681
39682
39683
39684
39685
39686
39687
39688
39689
39690
39691
39692
39693
39694
39695
39696
39697
39698
39699
39700
39701
39702
39703
39704
39705
39706
39707
39708
39709
39710
39711
39712
39713
39714
39715
39716
39717
39718
39719
39720
39721
39722
39723
39724
39725
39726
39727
39728
39729
39730
39731
39732
39733
39734
39735
39736
39737
39738
39739
39740
39741
39742
39743
39744
39745
39746
39747
39748
39749
39750
39751
39752
39753
39754
39755
39756
39757
39758
39759
39760
39761
39762
39763
39764
39765
39766
39767
39768
39769
39770
39771
39772
39773
39774
39775
39776
39777
39778
39779
39780
39781
39782
39783
39784
39785
39786
39787
39788
39789
39790
39791
39792
39793
39794
39795
39796
39797
39798
39799
39800
39801
39802
39803
39804
39805
39806
39807
39808
39809
39810
39811
39812
39813
39814
39815
39816
39817
39818
39819
39820
39821
39822
39823
39824
39825
39826
39827
39828
39829
39830
39831
39832
39833
39834
39835
39836
39837
39838
39839
39840
39841
39842
39843
39844
39845
39846
39847
39848
39849
39850
39851
39852
39853
39854
39855
39856
39857
39858
39859
39860
39861
39862
39863
39864
39865
39866
39867
39868
39869
39870
39871
39872
39873
39874
39875
39876
39877
39878
39879
39880
39881
39882
39883
39884
39885
39886
39887
39888
39889
39890
39891
39892
39893
39894
39895
39896
39897
39898
39899
39900
39901
39902
39903
39904
39905
39906
39907
39908
39909
39910
39911
39912
39913
39914
39915
39916
39917
39918
39919
39920
39921
39922
39923
39924
39925
39926
39927
39928
39929
39930
39931
39932
39933
39934
39935
39936
39937
39938
39939
39940
39941
39942
39943
39944
39945
39946
39947
39948
39949
39950
39951
39952
39953
39954
39955
39956
39957
39958
39959
39960
39961
39962
39963
39964
39965
39966
39967
39968
39969
39970
39971
39972
39973
39974
39975
39976
39977
39978
39979
39980
39981
39982
39983
39984
39985
39986
39987
39988
39989
39990
39991
39992
39993
39994
39995
39996
39997
39998
39999
40000
40001
40002
40003
40004
40005
40006
40007
40008
40009
40010
40011
40012
40013
40014
40015
40016
40017
40018
40019
40020
40021
40022
40023
40024
40025
40026
40027
40028
40029
40030
40031
40032
40033
40034
40035
40036
40037
40038
40039
40040
40041
40042
40043
40044
40045
40046
40047
40048
40049
40050
40051
40052
40053
40054
40055
40056
40057
40058
40059
40060
40061
40062
40063
40064
40065
40066
40067
40068
40069
40070
40071
40072
40073
40074
40075
40076
40077
40078
40079
40080
40081
40082
40083
40084
40085
40086
40087
40088
40089
40090
40091
40092
40093
40094
40095
40096
40097
40098
40099
40100
40101
40102
40103
40104
40105
40106
40107
40108
40109
40110
40111
40112
40113
40114
40115
40116
40117
40118
40119
40120
40121
40122
40123
40124
40125
40126
40127
40128
40129
40130
40131
40132
40133
40134
40135
40136
40137
40138
40139
40140
40141
40142
40143
40144
40145
40146
40147
40148
40149
40150
40151
40152
40153
40154
40155
40156
40157
40158
40159
40160
40161
40162
40163
40164
40165
40166
40167
40168
40169
40170
40171
40172
40173
40174
40175
40176
40177
40178
40179
40180
40181
40182
40183
40184
40185
40186
40187
40188
40189
40190
40191
40192
40193
40194
40195
40196
40197
40198
40199
40200
40201
40202
40203
40204
40205
40206
40207
40208
40209
40210
40211
40212
40213
40214
40215
40216
40217
40218
40219
40220
40221
40222
40223
40224
40225
40226
40227
40228
40229
40230
40231
40232
40233
40234
40235
40236
40237
40238
40239
40240
40241
40242
40243
40244
40245
40246
40247
40248
40249
40250
40251
40252
40253
40254
40255
40256
40257
40258
40259
40260
40261
40262
40263
40264
40265
40266
40267
40268
40269
40270
40271
40272
40273
40274
40275
40276
40277
40278
40279
40280
40281
40282
40283
40284
40285
40286
40287
40288
40289
40290
40291
40292
40293
40294
40295
40296
40297
40298
40299
40300
40301
40302
40303
40304
40305
40306
40307
40308
40309
40310
40311
40312
40313
40314
40315
40316
40317
40318
40319
40320
40321
40322
40323
40324
40325
40326
40327
40328
40329
40330
40331
40332
40333
40334
40335
40336
40337
40338
40339
40340
40341
40342
40343
40344
40345
40346
40347
40348
40349
40350
40351
40352
40353
40354
40355
40356
40357
40358
40359
40360
40361
40362
40363
40364
40365
40366
40367
40368
40369
40370
40371
40372
40373
40374
40375
40376
40377
40378
40379
40380
40381
40382
40383
40384
40385
40386
40387
40388
40389
40390
40391
40392
40393
40394
40395
40396
40397
40398
40399
40400
40401
40402
40403
40404
40405
40406
40407
40408
40409
40410
40411
40412
40413
40414
40415
40416
40417
40418
40419
40420
40421
40422
40423
40424
40425
40426
40427
40428
40429
40430
40431
40432
40433
40434
40435
40436
40437
40438
40439
40440
40441
40442
40443
40444
40445
40446
40447
40448
40449
40450
40451
40452
40453
40454
40455
40456
40457
40458
40459
40460
40461
40462
40463
40464
40465
40466
40467
40468
40469
40470
40471
40472
40473
40474
40475
40476
40477
40478
40479
40480
40481
40482
40483
40484
40485
40486
40487
40488
40489
40490
40491
40492
40493
40494
40495
40496
40497
40498
40499
40500
40501
40502
40503
40504
40505
40506
40507
40508
40509
40510
40511
40512
40513
40514
40515
40516
40517
40518
40519
40520
40521
40522
40523
40524
40525
40526
40527
40528
40529
40530
40531
40532
40533
40534
40535
40536
40537
40538
40539
40540
40541
40542
40543
40544
40545
40546
40547
40548
40549
40550
40551
40552
40553
40554
40555
40556
40557
40558
40559
40560
40561
40562
40563
40564
40565
40566
40567
40568
40569
40570
40571
40572
40573
40574
40575
40576
40577
40578
40579
40580
40581
40582
40583
40584
40585
40586
40587
40588
40589
40590
40591
40592
40593
40594
40595
40596
40597
40598
40599
40600
40601
40602
40603
40604
40605
40606
40607
40608
40609
40610
40611
40612
40613
40614
40615
40616
40617
40618
40619
40620
40621
40622
40623
40624
40625
40626
40627
40628
40629
40630
40631
40632
40633
40634
40635
40636
40637
40638
40639
40640
40641
40642
40643
40644
40645
40646
40647
40648
40649
40650
40651
40652
40653
40654
40655
40656
40657
40658
40659
40660
40661
40662
40663
40664
40665
40666
40667
40668
40669
40670
40671
40672
40673
40674
40675
40676
40677
40678
40679
40680
40681
40682
40683
40684
40685
40686
40687
40688
40689
40690
40691
40692
40693
40694
40695
40696
40697
40698
40699
40700
40701
40702
40703
40704
40705
40706
40707
40708
40709
40710
40711
40712
40713
40714
40715
40716
40717
40718
40719
40720
40721
40722
40723
40724
40725
40726
40727
40728
40729
40730
40731
40732
40733
40734
40735
40736
40737
40738
40739
40740
40741
40742
40743
40744
40745
40746
40747
40748
40749
40750
40751
40752
40753
40754
40755
40756
40757
40758
40759
40760
40761
40762
40763
40764
40765
40766
40767
40768
40769
40770
40771
40772
40773
40774
40775
40776
40777
40778
40779
40780
40781
40782
40783
40784
40785
40786
40787
40788
40789
40790
40791
40792
40793
40794
40795
40796
40797
40798
40799
40800
40801
40802
40803
40804
40805
40806
40807
40808
40809
40810
40811
40812
40813
40814
40815
40816
40817
40818
40819
40820
40821
40822
40823
40824
40825
40826
40827
40828
40829
40830
40831
40832
40833
40834
40835
40836
40837
40838
40839
40840
40841
40842
40843
40844
40845
40846
40847
40848
40849
40850
40851
40852
40853
40854
40855
40856
40857
40858
40859
40860
40861
40862
40863
40864
40865
40866
40867
40868
40869
40870
40871
40872
40873
40874
40875
40876
40877
40878
40879
40880
40881
40882
40883
40884
40885
40886
40887
40888
40889
40890
40891
40892
40893
40894
40895
40896
40897
40898
40899
40900
40901
40902
40903
40904
40905
40906
40907
40908
40909
40910
40911
40912
40913
40914
40915
40916
40917
40918
40919
40920
40921
40922
40923
40924
40925
40926
40927
40928
40929
40930
40931
40932
40933
40934
40935
40936
40937
40938
40939
40940
40941
40942
40943
40944
40945
40946
40947
40948
40949
40950
40951
40952
40953
40954
40955
40956
40957
40958
40959
40960
40961
40962
40963
40964
40965
40966
40967
40968
40969
40970
40971
40972
40973
40974
40975
40976
40977
40978
40979
40980
40981
40982
40983
40984
40985
40986
40987
40988
40989
40990
40991
40992
40993
40994
40995
40996
40997
40998
40999
41000
41001
41002
41003
41004
41005
41006
41007
41008
41009
41010
41011
41012
41013
41014
41015
41016
41017
41018
41019
41020
41021
41022
41023
41024
41025
41026
41027
41028
41029
41030
41031
41032
41033
41034
41035
41036
41037
41038
41039
41040
41041
41042
41043
41044
41045
41046
41047
41048
41049
41050
41051
41052
41053
41054
41055
41056
41057
41058
41059
41060
41061
41062
41063
41064
41065
41066
41067
41068
41069
41070
41071
41072
41073
41074
41075
41076
41077
41078
41079
41080
41081
41082
41083
41084
41085
41086
41087
41088
41089
41090
41091
41092
41093
41094
41095
41096
41097
41098
41099
41100
41101
41102
41103
41104
41105
41106
41107
41108
41109
41110
41111
41112
41113
41114
41115
41116
41117
41118
41119
41120
41121
41122
41123
41124
41125
41126
41127
41128
41129
41130
41131
41132
41133
41134
41135
41136
41137
41138
41139
41140
41141
41142
41143
41144
41145
41146
41147
41148
41149
41150
41151
41152
41153
41154
41155
41156
41157
41158
41159
41160
41161
41162
41163
41164
41165
41166
41167
41168
41169
41170
41171
41172
41173
41174
41175
41176
41177
41178
41179
41180
41181
41182
41183
41184
41185
41186
41187
41188
41189
41190
41191
41192
41193
41194
41195
41196
41197
41198
41199
41200
41201
41202
41203
41204
41205
41206
41207
41208
41209
41210
41211
41212
41213
41214
41215
41216
41217
41218
41219
41220
41221
41222
41223
41224
41225
41226
41227
41228
41229
41230
41231
41232
41233
41234
41235
41236
41237
41238
41239
41240
41241
41242
41243
41244
41245
41246
41247
41248
41249
41250
41251
41252
41253
41254
41255
41256
41257
41258
41259
41260
41261
41262
41263
41264
41265
41266
41267
41268
41269
41270
41271
41272
41273
41274
41275
41276
41277
41278
41279
41280
41281
41282
41283
41284
41285
41286
41287
41288
41289
41290
41291
41292
41293
41294
41295
41296
41297
41298
41299
41300
41301
41302
41303
41304
41305
41306
41307
41308
41309
41310
41311
41312
41313
41314
41315
41316
41317
41318
41319
41320
41321
41322
41323
41324
41325
41326
41327
41328
41329
41330
41331
41332
41333
41334
41335
41336
41337
41338
41339
41340
41341
41342
41343
41344
41345
41346
41347
41348
41349
41350
41351
41352
41353
41354
41355
41356
41357
41358
41359
41360
41361
41362
41363
41364
41365
41366
41367
41368
41369
41370
41371
41372
41373
41374
41375
41376
41377
41378
41379
41380
41381
41382
41383
41384
41385
41386
41387
41388
41389
41390
41391
41392
41393
41394
41395
41396
41397
41398
41399
41400
41401
41402
41403
41404
41405
41406
41407
41408
41409
41410
41411
41412
41413
41414
41415
41416
41417
41418
41419
41420
41421
41422
41423
41424
41425
41426
41427
41428
41429
41430
41431
41432
41433
41434
41435
41436
41437
41438
41439
41440
41441
41442
41443
41444
41445
41446
41447
41448
41449
41450
41451
41452
41453
41454
41455
41456
41457
41458
41459
41460
41461
41462
41463
41464
41465
41466
41467
41468
41469
41470
41471
41472
41473
41474
41475
41476
41477
41478
41479
41480
41481
41482
41483
41484
41485
41486
41487
41488
41489
41490
41491
41492
41493
41494
41495
41496
41497
41498
41499
41500
41501
41502
41503
41504
41505
41506
41507
41508
41509
41510
41511
41512
41513
41514
41515
41516
41517
41518
41519
41520
41521
41522
41523
41524
41525
41526
41527
41528
41529
41530
41531
41532
41533
41534
41535
41536
41537
41538
41539
41540
41541
41542
41543
41544
41545
41546
41547
41548
41549
41550
41551
41552
41553
41554
41555
41556
41557
41558
41559
41560
41561
41562
41563
41564
41565
41566
41567
41568
41569
41570
41571
41572
41573
41574
41575
41576
41577
41578
41579
41580
41581
41582
41583
41584
41585
41586
41587
41588
41589
41590
41591
41592
41593
41594
41595
41596
41597
41598
41599
41600
41601
41602
41603
41604
41605
41606
41607
41608
41609
41610
41611
41612
41613
41614
41615
41616
41617
41618
41619
41620
41621
41622
41623
41624
41625
41626
41627
41628
41629
41630
41631
41632
41633
41634
41635
41636
41637
41638
41639
41640
41641
41642
41643
41644
41645
41646
41647
41648
41649
41650
41651
41652
41653
41654
41655
41656
41657
41658
41659
41660
41661
41662
41663
41664
41665
41666
41667
41668
41669
41670
41671
41672
41673
41674
41675
41676
41677
41678
41679
41680
41681
41682
41683
41684
41685
41686
41687
41688
41689
41690
41691
41692
41693
41694
41695
41696
41697
41698
41699
41700
41701
41702
41703
41704
41705
41706
41707
41708
41709
41710
41711
41712
41713
41714
41715
41716
41717
41718
41719
41720
41721
41722
41723
41724
41725
41726
41727
41728
41729
41730
41731
41732
41733
41734
41735
41736
41737
41738
41739
41740
41741
41742
41743
41744
41745
41746
41747
41748
41749
41750
41751
41752
41753
41754
41755
41756
41757
41758
41759
41760
41761
41762
41763
41764
41765
41766
41767
41768
41769
41770
41771
41772
41773
41774
41775
41776
41777
41778
41779
41780
41781
41782
41783
41784
41785
41786
41787
41788
41789
41790
41791
41792
41793
41794
41795
41796
41797
41798
41799
41800
41801
41802
41803
41804
41805
41806
41807
41808
41809
41810
41811
41812
41813
41814
41815
41816
41817
41818
41819
41820
41821
41822
41823
41824
41825
41826
41827
41828
41829
41830
41831
41832
41833
41834
41835
41836
41837
41838
41839
41840
41841
41842
41843
41844
41845
41846
41847
41848
41849
41850
41851
41852
41853
41854
41855
41856
41857
41858
41859
41860
41861
41862
41863
41864
41865
41866
41867
41868
41869
41870
41871
41872
41873
41874
41875
41876
41877
41878
41879
41880
41881
41882
41883
41884
41885
41886
41887
41888
41889
41890
41891
41892
41893
41894
41895
41896
41897
41898
41899
41900
41901
41902
41903
41904
41905
41906
41907
41908
41909
41910
41911
41912
41913
41914
41915
41916
41917
41918
41919
41920
41921
41922
41923
41924
41925
41926
41927
41928
41929
41930
41931
41932
41933
41934
41935
41936
41937
41938
41939
41940
41941
41942
41943
41944
41945
41946
41947
41948
41949
41950
41951
41952
41953
41954
41955
41956
41957
41958
41959
41960
41961
41962
41963
41964
41965
41966
41967
41968
41969
41970
41971
41972
41973
41974
41975
41976
41977
41978
41979
41980
41981
41982
41983
41984
41985
41986
41987
41988
41989
41990
41991
41992
41993
41994
41995
41996
41997
41998
41999
42000
42001
42002
42003
42004
42005
42006
42007
42008
42009
42010
42011
42012
42013
42014
42015
42016
42017
42018
42019
42020
42021
42022
42023
42024
42025
42026
42027
42028
42029
42030
42031
42032
42033
42034
42035
42036
42037
42038
42039
42040
42041
42042
42043
42044
42045
42046
42047
42048
42049
42050
42051
42052
42053
42054
42055
42056
42057
42058
42059
42060
42061
42062
42063
42064
42065
42066
42067
42068
42069
42070
42071
42072
42073
42074
42075
42076
42077
42078
42079
42080
42081
42082
42083
42084
42085
42086
42087
42088
42089
42090
42091
42092
42093
42094
42095
42096
42097
42098
42099
42100
42101
42102
42103
42104
42105
42106
42107
42108
42109
42110
42111
42112
42113
42114
42115
42116
42117
42118
42119
42120
42121
42122
42123
42124
42125
42126
42127
42128
42129
42130
42131
42132
42133
42134
42135
42136
42137
42138
42139
42140
42141
42142
42143
42144
42145
42146
42147
42148
42149
42150
42151
42152
42153
42154
42155
42156
42157
42158
42159
42160
42161
42162
42163
42164
42165
42166
42167
42168
42169
42170
42171
42172
42173
42174
42175
42176
42177
42178
42179
42180
42181
42182
42183
42184
42185
42186
42187
42188
42189
42190
42191
42192
42193
42194
42195
42196
42197
42198
42199
42200
42201
42202
42203
42204
42205
42206
42207
42208
42209
42210
42211
42212
42213
42214
42215
42216
42217
42218
42219
42220
42221
42222
42223
42224
42225
42226
42227
42228
42229
42230
42231
42232
42233
42234
42235
42236
42237
42238
42239
42240
42241
42242
42243
42244
42245
42246
42247
42248
42249
42250
42251
42252
42253
42254
42255
42256
42257
42258
42259
42260
42261
42262
42263
42264
42265
42266
42267
42268
42269
42270
42271
42272
42273
42274
42275
42276
42277
42278
42279
42280
42281
42282
42283
42284
42285
42286
42287
42288
42289
42290
42291
42292
42293
42294
42295
42296
42297
42298
42299
42300
42301
42302
42303
42304
42305
42306
42307
42308
42309
42310
42311
42312
42313
42314
42315
42316
42317
42318
42319
42320
42321
42322
42323
42324
42325
42326
42327
42328
42329
42330
42331
42332
42333
42334
42335
42336
42337
42338
42339
42340
42341
42342
42343
42344
42345
42346
42347
42348
42349
42350
42351
42352
42353
42354
42355
42356
42357
42358
42359
42360
42361
42362
42363
42364
42365
42366
42367
42368
42369
42370
42371
42372
42373
42374
42375
42376
42377
42378
42379
42380
42381
42382
42383
42384
42385
42386
42387
42388
42389
42390
42391
42392
42393
42394
42395
42396
42397
42398
42399
42400
42401
42402
42403
42404
42405
42406
42407
42408
42409
42410
42411
42412
42413
42414
42415
42416
42417
42418
42419
42420
42421
42422
42423
42424
42425
42426
42427
42428
42429
42430
42431
42432
42433
42434
42435
42436
42437
42438
42439
42440
42441
42442
42443
42444
42445
42446
42447
42448
42449
42450
42451
42452
42453
42454
42455
42456
42457
42458
42459
42460
42461
42462
42463
42464
42465
42466
42467
42468
42469
42470
42471
42472
42473
42474
42475
42476
42477
42478
42479
42480
42481
42482
42483
42484
42485
42486
42487
42488
42489
42490
42491
42492
42493
42494
42495
42496
42497
42498
42499
42500
42501
42502
42503
42504
42505
42506
42507
42508
42509
42510
42511
42512
42513
42514
42515
42516
42517
42518
42519
42520
42521
42522
42523
42524
42525
42526
42527
42528
42529
42530
42531
42532
42533
42534
42535
42536
42537
42538
42539
42540
42541
42542
42543
42544
42545
42546
42547
42548
42549
42550
42551
42552
42553
42554
42555
42556
42557
42558
42559
42560
42561
42562
42563
42564
42565
42566
42567
42568
42569
42570
42571
42572
42573
42574
42575
42576
42577
42578
42579
42580
42581
42582
42583
42584
42585
42586
42587
42588
42589
42590
42591
42592
42593
42594
42595
42596
42597
42598
42599
42600
42601
42602
42603
42604
42605
42606
42607
42608
42609
42610
42611
42612
42613
42614
42615
42616
42617
42618
42619
42620
42621
42622
42623
42624
42625
42626
42627
42628
42629
42630
42631
42632
42633
42634
42635
42636
42637
42638
42639
42640
42641
42642
42643
42644
42645
42646
42647
42648
42649
42650
42651
42652
42653
42654
42655
42656
42657
42658
42659
42660
42661
42662
42663
42664
42665
42666
42667
42668
42669
42670
42671
42672
42673
42674
42675
42676
42677
42678
42679
42680
42681
42682
42683
42684
42685
42686
42687
42688
42689
42690
42691
42692
42693
42694
42695
42696
42697
42698
42699
42700
42701
42702
42703
42704
42705
42706
42707
42708
42709
42710
42711
42712
42713
42714
42715
42716
42717
42718
42719
42720
42721
42722
42723
42724
42725
42726
42727
42728
42729
42730
42731
42732
42733
42734
42735
42736
42737
42738
42739
42740
42741
42742
42743
42744
42745
42746
42747
42748
42749
42750
42751
42752
42753
42754
42755
42756
42757
42758
42759
42760
42761
42762
42763
42764
42765
42766
42767
42768
42769
42770
42771
42772
42773
42774
42775
42776
42777
42778
42779
42780
42781
42782
42783
42784
42785
42786
42787
42788
42789
42790
42791
42792
42793
42794
42795
42796
42797
42798
42799
42800
42801
42802
42803
42804
42805
42806
42807
42808
42809
42810
42811
42812
42813
42814
42815
42816
42817
42818
42819
42820
42821
42822
42823
42824
42825
42826
42827
42828
42829
42830
42831
42832
42833
42834
42835
42836
42837
42838
42839
42840
42841
42842
42843
42844
42845
42846
42847
42848
42849
42850
42851
42852
42853
42854
42855
42856
42857
42858
42859
42860
42861
42862
42863
42864
42865
42866
42867
42868
42869
42870
42871
42872
42873
42874
42875
42876
42877
42878
42879
42880
42881
42882
42883
42884
42885
42886
42887
42888
42889
42890
42891
42892
42893
42894
42895
42896
42897
42898
42899
42900
42901
42902
42903
42904
42905
42906
42907
42908
42909
42910
42911
42912
42913
42914
42915
42916
42917
42918
42919
42920
42921
42922
42923
42924
42925
42926
42927
42928
42929
42930
42931
42932
42933
42934
42935
42936
42937
42938
42939
42940
42941
42942
42943
42944
42945
42946
42947
42948
42949
42950
42951
42952
42953
42954
42955
42956
42957
42958
42959
42960
42961
42962
42963
42964
42965
42966
42967
42968
42969
42970
42971
42972
42973
42974
42975
42976
42977
42978
42979
42980
42981
42982
42983
42984
42985
42986
42987
42988
42989
42990
42991
42992
42993
42994
42995
42996
42997
42998
42999
43000
43001
43002
43003
43004
43005
43006
43007
43008
43009
43010
43011
43012
43013
43014
43015
43016
43017
43018
43019
43020
43021
43022
43023
43024
43025
43026
43027
43028
43029
43030
43031
43032
43033
43034
43035
43036
43037
43038
43039
43040
43041
43042
43043
43044
43045
43046
43047
43048
43049
43050
43051
43052
43053
43054
43055
43056
43057
43058
43059
43060
43061
43062
43063
43064
43065
43066
43067
43068
43069
43070
43071
43072
43073
43074
43075
43076
43077
43078
43079
43080
43081
43082
43083
43084
43085
43086
43087
43088
43089
43090
43091
43092
43093
43094
43095
43096
43097
43098
43099
43100
43101
43102
43103
43104
43105
43106
43107
43108
43109
43110
43111
43112
43113
43114
43115
43116
43117
43118
43119
43120
43121
43122
43123
43124
43125
43126
43127
43128
43129
43130
43131
43132
43133
43134
43135
43136
43137
43138
43139
43140
43141
43142
43143
43144
43145
43146
43147
43148
43149
43150
43151
43152
43153
43154
43155
43156
43157
43158
43159
43160
43161
43162
43163
43164
43165
43166
43167
43168
43169
43170
43171
43172
43173
43174
43175
43176
43177
43178
43179
43180
43181
43182
43183
43184
43185
43186
43187
43188
43189
43190
43191
43192
43193
43194
43195
43196
43197
43198
43199
43200
43201
43202
43203
43204
43205
43206
43207
43208
43209
43210
43211
43212
43213
43214
43215
43216
43217
43218
43219
43220
43221
43222
43223
43224
43225
43226
43227
43228
43229
43230
43231
43232
43233
43234
43235
43236
43237
43238
43239
43240
43241
43242
43243
43244
43245
43246
43247
43248
43249
43250
43251
43252
43253
43254
43255
43256
43257
43258
43259
43260
43261
43262
43263
43264
43265
43266
43267
43268
43269
43270
43271
43272
43273
43274
43275
43276
43277
43278
43279
43280
43281
43282
43283
43284
43285
43286
43287
43288
43289
43290
43291
43292
43293
43294
43295
43296
43297
43298
43299
43300
43301
43302
43303
43304
43305
43306
43307
43308
43309
43310
43311
43312
43313
43314
43315
43316
43317
43318
43319
43320
43321
43322
43323
43324
43325
43326
43327
43328
43329
43330
43331
43332
43333
43334
43335
43336
43337
43338
43339
43340
43341
43342
43343
43344
43345
43346
43347
43348
43349
43350
43351
43352
43353
43354
43355
43356
43357
43358
43359
43360
43361
43362
43363
43364
43365
43366
43367
43368
43369
43370
43371
43372
43373
43374
43375
43376
43377
43378
43379
43380
43381
43382
43383
43384
43385
43386
43387
43388
43389
43390
43391
43392
43393
43394
43395
43396
43397
43398
43399
43400
43401
43402
43403
43404
43405
43406
43407
43408
43409
43410
43411
43412
43413
43414
43415
43416
43417
43418
43419
43420
43421
43422
43423
43424
43425
43426
43427
43428
43429
43430
43431
43432
43433
43434
43435
43436
43437
43438
43439
43440
43441
43442
43443
43444
43445
43446
43447
43448
43449
43450
43451
43452
43453
43454
43455
43456
43457
43458
43459
43460
43461
43462
43463
43464
43465
43466
43467
43468
43469
43470
43471
43472
43473
43474
43475
43476
43477
43478
43479
43480
43481
43482
43483
43484
43485
43486
43487
43488
43489
43490
43491
43492
43493
43494
43495
43496
43497
43498
43499
43500
43501
43502
43503
43504
43505
43506
43507
43508
43509
43510
43511
43512
43513
43514
43515
43516
43517
43518
43519
43520
43521
43522
43523
43524
43525
43526
43527
43528
43529
43530
43531
43532
43533
43534
43535
43536
43537
43538
43539
43540
43541
43542
43543
43544
43545
43546
43547
43548
43549
43550
43551
43552
43553
43554
43555
43556
43557
43558
43559
43560
43561
43562
43563
43564
43565
43566
43567
43568
43569
43570
43571
43572
43573
43574
43575
43576
43577
43578
43579
43580
43581
43582
43583
43584
43585
43586
43587
43588
43589
43590
43591
43592
43593
43594
43595
43596
43597
43598
43599
43600
43601
43602
43603
43604
43605
43606
43607
43608
43609
43610
43611
43612
43613
43614
43615
43616
43617
43618
43619
43620
43621
43622
43623
43624
43625
43626
43627
43628
43629
43630
43631
43632
43633
43634
43635
43636
43637
43638
43639
43640
43641
43642
43643
43644
43645
43646
43647
43648
43649
43650
43651
43652
43653
43654
43655
43656
43657
43658
43659
43660
43661
43662
43663
43664
43665
43666
43667
43668
43669
43670
43671
43672
43673
43674
43675
43676
43677
43678
43679
43680
43681
43682
43683
43684
43685
43686
43687
43688
43689
43690
43691
43692
43693
43694
43695
43696
43697
43698
43699
43700
43701
43702
43703
43704
43705
43706
43707
43708
43709
43710
43711
43712
43713
43714
43715
43716
43717
43718
43719
43720
43721
43722
43723
43724
43725
43726
43727
43728
43729
43730
43731
43732
43733
43734
43735
43736
43737
43738
43739
43740
43741
43742
43743
43744
43745
43746
43747
43748
43749
43750
43751
43752
43753
43754
43755
43756
43757
43758
43759
43760
43761
43762
43763
43764
43765
43766
43767
43768
43769
43770
43771
43772
43773
43774
43775
43776
43777
43778
43779
43780
43781
43782
43783
43784
43785
43786
43787
43788
43789
43790
43791
43792
43793
43794
43795
43796
43797
43798
43799
43800
43801
43802
43803
43804
43805
43806
43807
43808
43809
43810
43811
43812
43813
43814
43815
43816
43817
43818
43819
43820
43821
43822
43823
43824
43825
43826
43827
43828
43829
43830
43831
43832
43833
43834
43835
43836
43837
43838
43839
43840
43841
43842
43843
43844
43845
43846
43847
43848
43849
43850
43851
43852
43853
43854
43855
43856
43857
43858
43859
43860
43861
43862
43863
43864
43865
43866
43867
43868
43869
43870
43871
43872
43873
43874
43875
43876
43877
43878
43879
43880
43881
43882
43883
43884
43885
43886
43887
43888
43889
43890
43891
43892
43893
43894
43895
43896
43897
43898
43899
43900
43901
43902
43903
43904
43905
43906
43907
43908
43909
43910
43911
43912
43913
43914
43915
43916
43917
43918
43919
43920
43921
43922
43923
43924
43925
43926
43927
43928
43929
43930
43931
43932
43933
43934
43935
43936
43937
43938
43939
43940
43941
43942
43943
43944
43945
43946
43947
43948
43949
43950
43951
43952
43953
43954
43955
43956
43957
43958
43959
43960
43961
43962
43963
43964
43965
43966
43967
43968
43969
43970
43971
43972
43973
43974
43975
43976
43977
43978
43979
43980
43981
43982
43983
43984
43985
43986
43987
43988
43989
43990
43991
43992
43993
43994
43995
43996
43997
43998
43999
44000
44001
44002
44003
44004
44005
44006
44007
44008
44009
44010
44011
44012
44013
44014
44015
44016
44017
44018
44019
44020
44021
44022
44023
44024
44025
44026
44027
44028
44029
44030
44031
44032
44033
44034
44035
44036
44037
44038
44039
44040
44041
44042
44043
44044
44045
44046
44047
44048
44049
44050
44051
44052
44053
44054
44055
44056
44057
44058
44059
44060
44061
44062
44063
44064
44065
44066
44067
44068
44069
44070
44071
44072
44073
44074
44075
44076
44077
44078
44079
44080
44081
44082
44083
44084
44085
44086
44087
44088
44089
44090
44091
44092
44093
44094
44095
44096
44097
44098
44099
44100
44101
44102
44103
44104
44105
44106
44107
44108
44109
44110
44111
44112
44113
44114
44115
44116
44117
44118
44119
44120
44121
44122
44123
44124
44125
44126
44127
44128
44129
44130
44131
44132
44133
44134
44135
44136
44137
44138
44139
44140
44141
44142
44143
44144
44145
44146
44147
44148
44149
44150
44151
44152
44153
44154
44155
44156
44157
44158
44159
44160
44161
44162
44163
44164
44165
44166
44167
44168
44169
44170
44171
44172
44173
44174
44175
44176
44177
44178
44179
44180
44181
44182
44183
44184
44185
44186
44187
44188
44189
44190
44191
44192
44193
44194
44195
44196
44197
44198
44199
44200
44201
44202
44203
44204
44205
44206
44207
44208
44209
44210
44211
44212
44213
44214
44215
44216
44217
44218
44219
44220
44221
44222
44223
44224
44225
44226
44227
44228
44229
44230
44231
44232
44233
44234
44235
44236
44237
44238
44239
44240
44241
44242
44243
44244
44245
44246
44247
44248
44249
44250
44251
44252
44253
44254
44255
44256
44257
44258
44259
44260
44261
44262
44263
44264
44265
44266
44267
44268
44269
44270
44271
44272
44273
44274
44275
44276
44277
44278
44279
44280
44281
44282
44283
44284
44285
44286
44287
44288
44289
44290
44291
44292
44293
44294
44295
44296
44297
44298
44299
44300
44301
44302
44303
44304
44305
44306
44307
44308
44309
44310
44311
44312
44313
44314
44315
44316
44317
44318
44319
44320
44321
44322
44323
44324
44325
44326
44327
44328
44329
44330
44331
44332
44333
44334
44335
44336
44337
44338
44339
44340
44341
44342
44343
44344
44345
44346
44347
44348
44349
44350
44351
44352
44353
44354
44355
44356
44357
44358
44359
44360
44361
44362
44363
44364
44365
44366
44367
44368
44369
44370
44371
44372
44373
44374
44375
44376
44377
44378
44379
44380
44381
44382
44383
44384
44385
44386
44387
44388
44389
44390
44391
44392
44393
44394
44395
44396
44397
44398
44399
44400
44401
44402
44403
44404
44405
44406
44407
44408
44409
44410
44411
44412
44413
44414
44415
44416
44417
44418
44419
44420
44421
44422
44423
44424
44425
44426
44427
44428
44429
44430
44431
44432
44433
44434
44435
44436
44437
44438
44439
44440
44441
44442
44443
44444
44445
44446
44447
44448
44449
44450
44451
44452
44453
44454
44455
44456
44457
44458
44459
44460
44461
44462
44463
44464
44465
44466
44467
44468
44469
44470
44471
44472
44473
44474
44475
44476
44477
44478
44479
44480
44481
44482
44483
44484
44485
44486
44487
44488
44489
44490
44491
44492
44493
44494
44495
44496
44497
44498
44499
44500
44501
44502
44503
44504
44505
44506
44507
44508
44509
44510
44511
44512
44513
44514
44515
44516
44517
44518
44519
44520
44521
44522
44523
44524
44525
44526
44527
44528
44529
44530
44531
44532
44533
44534
44535
44536
44537
44538
44539
44540
44541
44542
44543
44544
44545
44546
44547
44548
44549
44550
44551
44552
44553
44554
44555
44556
44557
44558
44559
44560
44561
44562
44563
44564
44565
44566
44567
44568
44569
44570
44571
44572
44573
44574
44575
44576
44577
44578
44579
44580
44581
44582
44583
44584
44585
44586
44587
44588
44589
44590
44591
44592
44593
44594
44595
44596
44597
44598
44599
44600
44601
44602
44603
44604
44605
44606
44607
44608
44609
44610
44611
44612
44613
44614
44615
44616
44617
44618
44619
44620
44621
44622
44623
44624
44625
44626
44627
44628
44629
44630
44631
44632
44633
44634
44635
44636
44637
44638
44639
44640
44641
44642
44643
44644
44645
44646
44647
44648
44649
44650
44651
44652
44653
44654
44655
44656
44657
44658
44659
44660
44661
44662
44663
44664
44665
44666
44667
44668
44669
44670
44671
44672
44673
44674
44675
44676
44677
44678
44679
44680
44681
44682
44683
44684
44685
44686
44687
44688
44689
44690
44691
44692
44693
44694
44695
44696
44697
44698
44699
44700
44701
44702
44703
44704
44705
44706
44707
44708
44709
44710
44711
44712
44713
44714
44715
44716
44717
44718
44719
44720
44721
44722
44723
44724
44725
44726
44727
44728
44729
44730
44731
44732
44733
44734
44735
44736
44737
44738
44739
44740
44741
44742
44743
44744
44745
44746
44747
44748
44749
44750
44751
44752
44753
44754
44755
44756
44757
44758
44759
44760
44761
44762
44763
44764
44765
44766
44767
44768
44769
44770
44771
44772
44773
44774
44775
44776
44777
44778
44779
44780
44781
44782
44783
44784
44785
44786
44787
44788
44789
44790
44791
44792
44793
44794
44795
44796
44797
44798
44799
44800
44801
44802
44803
44804
44805
44806
44807
44808
44809
44810
44811
44812
44813
44814
44815
44816
44817
44818
44819
44820
44821
44822
44823
44824
44825
44826
44827
44828
44829
44830
44831
44832
44833
44834
44835
44836
44837
44838
44839
44840
44841
44842
44843
44844
44845
44846
44847
44848
44849
44850
44851
44852
44853
44854
44855
44856
44857
44858
44859
44860
44861
44862
44863
44864
44865
44866
44867
44868
44869
44870
44871
44872
44873
44874
44875
44876
44877
44878
44879
44880
44881
44882
44883
44884
44885
44886
44887
44888
44889
44890
44891
44892
44893
44894
44895
44896
44897
44898
44899
44900
44901
44902
44903
44904
44905
44906
44907
44908
44909
44910
44911
44912
44913
44914
44915
44916
44917
44918
44919
44920
44921
44922
44923
44924
44925
44926
44927
44928
44929
44930
44931
44932
44933
44934
44935
44936
44937
44938
44939
44940
44941
44942
44943
44944
44945
44946
44947
44948
44949
44950
44951
44952
44953
44954
44955
44956
44957
44958
44959
44960
44961
44962
44963
44964
44965
44966
44967
44968
44969
44970
44971
44972
44973
44974
44975
44976
44977
44978
44979
44980
44981
44982
44983
44984
44985
44986
44987
44988
44989
44990
44991
44992
44993
44994
44995
44996
44997
44998
44999
45000
45001
45002
45003
45004
45005
45006
45007
45008
45009
45010
45011
45012
45013
45014
45015
45016
45017
45018
45019
45020
45021
45022
45023
45024
45025
45026
45027
45028
45029
45030
45031
45032
45033
45034
45035
45036
45037
45038
45039
45040
45041
45042
45043
45044
45045
45046
45047
45048
45049
45050
45051
45052
45053
45054
45055
45056
45057
45058
45059
45060
45061
45062
45063
45064
45065
45066
45067
45068
45069
45070
45071
45072
45073
45074
45075
45076
45077
45078
45079
45080
45081
45082
45083
45084
45085
45086
45087
45088
45089
45090
45091
45092
45093
45094
45095
45096
45097
45098
45099
45100
45101
45102
45103
45104
45105
45106
45107
45108
45109
45110
45111
45112
45113
45114
45115
45116
45117
45118
45119
45120
45121
45122
45123
45124
45125
45126
45127
45128
45129
45130
45131
45132
45133
45134
45135
45136
45137
45138
45139
45140
45141
45142
45143
45144
45145
45146
45147
45148
45149
45150
45151
45152
45153
45154
45155
45156
45157
45158
45159
45160
45161
45162
45163
45164
45165
45166
45167
45168
45169
45170
45171
45172
45173
45174
45175
45176
45177
45178
45179
45180
45181
45182
45183
45184
45185
45186
45187
45188
45189
45190
45191
45192
45193
45194
45195
45196
45197
45198
45199
45200
45201
45202
45203
45204
45205
45206
45207
45208
45209
45210
45211
45212
45213
45214
45215
45216
45217
45218
45219
45220
45221
45222
45223
45224
45225
45226
45227
45228
45229
45230
45231
45232
45233
45234
45235
45236
45237
45238
45239
45240
45241
45242
45243
45244
45245
45246
45247
45248
45249
45250
45251
45252
45253
45254
45255
45256
45257
45258
45259
45260
45261
45262
45263
45264
45265
45266
45267
45268
45269
45270
45271
45272
45273
45274
45275
45276
45277
45278
45279
45280
45281
45282
45283
45284
45285
45286
45287
45288
45289
45290
45291
45292
45293
45294
45295
45296
45297
45298
45299
45300
45301
45302
45303
45304
45305
45306
45307
45308
45309
45310
45311
45312
45313
45314
45315
45316
45317
45318
45319
45320
45321
45322
45323
45324
45325
45326
45327
45328
45329
45330
45331
45332
45333
45334
45335
45336
45337
45338
45339
45340
45341
45342
45343
45344
45345
45346
45347
45348
45349
45350
45351
45352
45353
45354
45355
45356
45357
45358
45359
45360
45361
45362
45363
45364
45365
45366
45367
45368
45369
45370
45371
45372
45373
45374
45375
45376
45377
45378
45379
45380
45381
45382
45383
45384
45385
45386
45387
45388
45389
45390
45391
45392
45393
45394
45395
45396
45397
45398
45399
45400
45401
45402
45403
45404
45405
45406
45407
45408
45409
45410
45411
45412
45413
45414
45415
45416
45417
45418
45419
45420
45421
45422
45423
45424
45425
45426
45427
45428
45429
45430
45431
45432
45433
45434
45435
45436
45437
45438
45439
45440
45441
45442
45443
45444
45445
45446
45447
45448
45449
45450
45451
45452
45453
45454
45455
45456
45457
45458
45459
45460
45461
45462
45463
45464
45465
45466
45467
45468
45469
45470
45471
45472
45473
45474
45475
45476
45477
45478
45479
45480
45481
45482
45483
45484
45485
45486
45487
45488
45489
45490
45491
45492
45493
45494
45495
45496
45497
45498
45499
45500
45501
45502
45503
45504
45505
45506
45507
45508
45509
45510
45511
45512
45513
45514
45515
45516
45517
45518
45519
45520
45521
45522
45523
45524
45525
45526
45527
45528
45529
45530
45531
45532
45533
45534
45535
45536
45537
45538
45539
45540
45541
45542
45543
45544
45545
45546
45547
45548
45549
45550
45551
45552
45553
45554
45555
45556
45557
45558
45559
45560
45561
45562
45563
45564
45565
45566
45567
45568
45569
45570
45571
45572
45573
45574
45575
45576
45577
45578
45579
45580
45581
45582
45583
45584
45585
45586
45587
45588
45589
45590
45591
45592
45593
45594
45595
45596
45597
45598
45599
45600
45601
45602
45603
45604
45605
45606
45607
45608
45609
45610
45611
45612
45613
45614
45615
45616
45617
45618
45619
45620
45621
45622
45623
45624
45625
45626
45627
45628
45629
45630
45631
45632
45633
45634
45635
45636
45637
45638
45639
45640
45641
45642
45643
45644
45645
45646
45647
45648
45649
45650
45651
45652
45653
45654
45655
45656
45657
45658
45659
45660
45661
45662
45663
45664
45665
45666
45667
45668
45669
45670
45671
45672
45673
45674
45675
45676
45677
45678
45679
45680
45681
45682
45683
45684
45685
45686
45687
45688
45689
45690
45691
45692
45693
45694
45695
45696
45697
45698
45699
45700
45701
45702
45703
45704
45705
45706
45707
45708
45709
45710
45711
45712
45713
45714
45715
45716
45717
45718
45719
45720
45721
45722
45723
45724
45725
45726
45727
45728
45729
45730
45731
45732
45733
45734
45735
45736
45737
45738
45739
45740
45741
45742
45743
45744
45745
45746
45747
45748
45749
45750
45751
45752
45753
45754
45755
45756
45757
45758
45759
45760
45761
45762
45763
45764
45765
45766
45767
45768
45769
45770
45771
45772
45773
45774
45775
45776
45777
45778
45779
45780
45781
45782
45783
45784
45785
45786
45787
45788
45789
45790
45791
45792
45793
45794
45795
45796
45797
45798
45799
45800
45801
45802
45803
45804
45805
45806
45807
45808
45809
45810
45811
45812
45813
45814
45815
45816
45817
45818
45819
45820
45821
45822
45823
45824
45825
45826
45827
45828
45829
45830
45831
45832
45833
45834
45835
45836
45837
45838
45839
45840
45841
45842
45843
45844
45845
45846
45847
45848
45849
45850
45851
45852
45853
45854
45855
45856
45857
45858
45859
45860
45861
45862
45863
45864
45865
45866
45867
45868
45869
45870
45871
45872
45873
45874
45875
45876
45877
45878
45879
45880
45881
45882
45883
45884
45885
45886
45887
45888
45889
45890
45891
45892
45893
45894
45895
45896
45897
45898
45899
45900
45901
45902
45903
45904
45905
45906
45907
45908
45909
45910
45911
45912
45913
45914
45915
45916
45917
45918
45919
45920
45921
45922
45923
45924
45925
45926
45927
45928
45929
45930
45931
45932
45933
45934
45935
45936
45937
45938
45939
45940
45941
45942
45943
45944
45945
45946
45947
45948
45949
45950
45951
45952
45953
45954
45955
45956
45957
45958
45959
45960
45961
45962
45963
45964
45965
45966
45967
45968
45969
45970
45971
45972
45973
45974
45975
45976
45977
45978
45979
45980
45981
45982
45983
45984
45985
45986
45987
45988
45989
45990
45991
45992
45993
45994
45995
45996
45997
45998
45999
46000
46001
46002
46003
46004
46005
46006
46007
46008
46009
46010
46011
46012
46013
46014
46015
46016
46017
46018
46019
46020
46021
46022
46023
46024
46025
46026
46027
46028
46029
46030
46031
46032
46033
46034
46035
46036
46037
46038
46039
46040
46041
46042
46043
46044
46045
46046
46047
46048
46049
46050
46051
46052
46053
46054
46055
46056
46057
46058
46059
46060
46061
46062
46063
46064
46065
46066
46067
46068
46069
46070
46071
46072
46073
46074
46075
46076
46077
46078
46079
46080
46081
46082
46083
46084
46085
46086
46087
46088
46089
46090
46091
46092
46093
46094
46095
46096
46097
46098
46099
46100
46101
46102
46103
46104
46105
46106
46107
46108
46109
46110
46111
46112
46113
46114
46115
46116
46117
46118
46119
46120
46121
46122
46123
46124
46125
46126
46127
46128
46129
46130
46131
46132
46133
46134
46135
46136
46137
46138
46139
46140
46141
46142
46143
46144
46145
46146
46147
46148
46149
46150
46151
46152
46153
46154
46155
46156
46157
46158
46159
46160
46161
46162
46163
46164
46165
46166
46167
46168
46169
46170
46171
46172
46173
46174
46175
46176
46177
46178
46179
46180
46181
46182
46183
46184
46185
46186
46187
46188
46189
46190
46191
46192
46193
46194
46195
46196
46197
46198
46199
46200
46201
46202
46203
46204
46205
46206
46207
46208
46209
46210
46211
46212
46213
46214
46215
46216
46217
46218
46219
46220
46221
46222
46223
46224
46225
46226
46227
46228
46229
46230
46231
46232
46233
46234
46235
46236
46237
46238
46239
46240
46241
46242
46243
46244
46245
46246
46247
46248
46249
46250
46251
46252
46253
46254
46255
46256
46257
46258
46259
46260
46261
46262
46263
46264
46265
46266
46267
46268
46269
46270
46271
46272
46273
46274
46275
46276
46277
46278
46279
46280
46281
46282
46283
46284
46285
46286
46287
46288
46289
46290
46291
46292
46293
46294
46295
46296
46297
46298
46299
46300
46301
46302
46303
46304
46305
46306
46307
46308
46309
46310
46311
46312
46313
46314
46315
46316
46317
46318
46319
46320
46321
46322
46323
46324
46325
46326
46327
46328
46329
46330
46331
46332
46333
46334
46335
46336
46337
46338
46339
46340
46341
46342
46343
46344
46345
46346
46347
46348
46349
46350
46351
46352
46353
46354
46355
46356
46357
46358
46359
46360
46361
46362
46363
46364
46365
46366
46367
46368
46369
46370
46371
46372
46373
46374
46375
46376
46377
46378
46379
46380
46381
46382
46383
46384
46385
46386
46387
46388
46389
46390
46391
46392
46393
46394
46395
46396
46397
46398
46399
46400
46401
46402
46403
46404
46405
46406
46407
46408
46409
46410
46411
46412
46413
46414
46415
46416
46417
46418
46419
46420
46421
46422
46423
46424
46425
46426
46427
46428
46429
46430
46431
46432
46433
46434
46435
46436
46437
46438
46439
46440
46441
46442
46443
46444
46445
46446
46447
46448
46449
46450
46451
46452
46453
46454
46455
46456
46457
46458
46459
46460
46461
46462
46463
46464
46465
46466
46467
46468
46469
46470
46471
46472
46473
46474
46475
46476
46477
46478
46479
46480
46481
46482
46483
46484
46485
46486
46487
46488
46489
46490
46491
46492
46493
46494
46495
46496
46497
46498
46499
46500
46501
46502
46503
46504
46505
46506
46507
46508
46509
46510
46511
46512
46513
46514
46515
46516
46517
46518
46519
46520
46521
46522
46523
46524
46525
46526
46527
46528
46529
46530
46531
46532
46533
46534
46535
46536
46537
46538
46539
46540
46541
46542
46543
46544
46545
46546
46547
46548
46549
46550
46551
46552
46553
46554
46555
46556
46557
46558
46559
46560
46561
46562
46563
46564
46565
46566
46567
46568
46569
46570
46571
46572
46573
46574
46575
46576
46577
46578
46579
46580
46581
46582
46583
46584
46585
46586
46587
46588
46589
46590
46591
46592
46593
46594
46595
46596
46597
46598
46599
46600
46601
46602
46603
46604
46605
46606
46607
46608
46609
46610
46611
46612
46613
46614
46615
46616
46617
46618
46619
46620
46621
46622
46623
46624
46625
46626
46627
46628
46629
46630
46631
46632
46633
46634
46635
46636
46637
46638
46639
46640
46641
46642
46643
46644
46645
46646
46647
46648
46649
46650
46651
46652
46653
46654
46655
46656
46657
46658
46659
46660
46661
46662
46663
46664
46665
46666
46667
46668
46669
46670
46671
46672
46673
46674
46675
46676
46677
46678
46679
46680
46681
46682
46683
46684
46685
46686
46687
46688
46689
46690
46691
46692
46693
46694
46695
46696
46697
46698
46699
46700
46701
46702
46703
46704
46705
46706
46707
46708
46709
46710
46711
46712
46713
46714
46715
46716
46717
46718
46719
46720
46721
46722
46723
46724
46725
46726
46727
46728
46729
46730
46731
46732
46733
46734
46735
46736
46737
46738
46739
46740
46741
46742
46743
46744
46745
46746
46747
46748
46749
46750
46751
46752
46753
46754
46755
46756
46757
46758
46759
46760
46761
46762
46763
46764
46765
46766
46767
46768
46769
46770
46771
46772
46773
46774
46775
46776
46777
46778
46779
46780
46781
46782
46783
46784
46785
46786
46787
46788
46789
46790
46791
46792
46793
46794
46795
46796
46797
46798
46799
46800
46801
46802
46803
46804
46805
46806
46807
46808
46809
46810
46811
46812
46813
46814
46815
46816
46817
46818
46819
46820
46821
46822
46823
46824
46825
46826
46827
46828
46829
46830
46831
46832
46833
46834
46835
46836
46837
46838
46839
46840
46841
46842
46843
46844
46845
46846
46847
46848
46849
46850
46851
46852
46853
46854
46855
46856
46857
46858
46859
46860
46861
46862
46863
46864
46865
46866
46867
46868
46869
46870
46871
46872
46873
46874
46875
46876
46877
46878
46879
46880
46881
46882
46883
46884
46885
46886
46887
46888
46889
46890
46891
46892
46893
46894
46895
46896
46897
46898
46899
46900
46901
46902
46903
46904
46905
46906
46907
46908
46909
46910
46911
46912
46913
46914
46915
46916
46917
46918
46919
46920
46921
46922
46923
46924
46925
46926
46927
46928
46929
46930
46931
46932
46933
46934
46935
46936
46937
46938
46939
46940
46941
46942
46943
46944
46945
46946
46947
46948
46949
46950
46951
46952
46953
46954
46955
46956
46957
46958
46959
46960
46961
46962
46963
46964
46965
46966
46967
46968
46969
46970
46971
46972
46973
46974
46975
46976
46977
46978
46979
46980
46981
46982
46983
46984
46985
46986
46987
46988
46989
46990
46991
46992
46993
46994
46995
46996
46997
46998
46999
47000
47001
47002
47003
47004
47005
47006
47007
47008
47009
47010
47011
47012
47013
47014
47015
47016
47017
47018
47019
47020
47021
47022
47023
47024
47025
47026
47027
47028
47029
47030
47031
47032
47033
47034
47035
47036
47037
47038
47039
47040
47041
47042
47043
47044
47045
47046
47047
47048
47049
47050
47051
47052
47053
47054
47055
47056
47057
47058
47059
47060
47061
47062
47063
47064
47065
47066
47067
47068
47069
47070
47071
47072
47073
47074
47075
47076
47077
47078
47079
47080
47081
47082
47083
47084
47085
47086
47087
47088
47089
47090
47091
47092
47093
47094
47095
47096
47097
47098
47099
47100
47101
47102
47103
47104
47105
47106
47107
47108
47109
47110
47111
47112
47113
47114
47115
47116
47117
47118
47119
47120
47121
47122
47123
47124
47125
47126
47127
47128
47129
47130
47131
47132
47133
47134
47135
47136
47137
47138
47139
47140
47141
47142
47143
47144
47145
47146
47147
47148
47149
47150
47151
47152
47153
47154
47155
47156
47157
47158
47159
47160
47161
47162
47163
47164
47165
47166
47167
47168
47169
47170
47171
47172
47173
47174
47175
47176
47177
47178
47179
47180
47181
47182
47183
47184
47185
47186
47187
47188
47189
47190
47191
47192
47193
47194
47195
47196
47197
47198
47199
47200
47201
47202
47203
47204
47205
47206
47207
47208
47209
47210
47211
47212
47213
47214
47215
47216
47217
47218
47219
47220
47221
47222
47223
47224
47225
47226
47227
47228
47229
47230
47231
47232
47233
47234
47235
47236
47237
47238
47239
47240
47241
47242
47243
47244
47245
47246
47247
47248
47249
47250
47251
47252
47253
47254
47255
47256
47257
47258
47259
47260
47261
47262
47263
47264
47265
47266
47267
47268
47269
47270
47271
47272
47273
47274
47275
47276
47277
47278
47279
47280
47281
47282
47283
47284
47285
47286
47287
47288
47289
47290
47291
47292
47293
47294
47295
47296
47297
47298
47299
47300
47301
47302
47303
47304
47305
47306
47307
47308
47309
47310
47311
47312
47313
47314
47315
47316
47317
47318
47319
47320
47321
47322
47323
47324
47325
47326
47327
47328
47329
47330
47331
47332
47333
47334
47335
47336
47337
47338
47339
47340
47341
47342
47343
47344
47345
47346
47347
47348
47349
47350
47351
47352
47353
47354
47355
47356
47357
47358
47359
47360
47361
47362
47363
47364
47365
47366
47367
47368
47369
47370
47371
47372
47373
47374
47375
47376
47377
47378
47379
47380
47381
47382
47383
47384
47385
47386
47387
47388
47389
47390
47391
47392
47393
47394
47395
47396
47397
47398
47399
47400
47401
47402
47403
47404
47405
47406
47407
47408
47409
47410
47411
47412
47413
47414
47415
47416
47417
47418
47419
47420
47421
47422
47423
47424
47425
47426
47427
47428
47429
47430
47431
47432
47433
47434
47435
47436
47437
47438
47439
47440
47441
47442
47443
47444
47445
47446
47447
47448
47449
47450
47451
47452
47453
47454
47455
47456
47457
47458
47459
47460
47461
47462
47463
47464
47465
47466
47467
47468
47469
47470
47471
47472
47473
47474
47475
47476
47477
47478
47479
47480
47481
47482
47483
47484
47485
47486
47487
47488
47489
47490
47491
47492
47493
47494
47495
47496
47497
47498
47499
47500
47501
47502
47503
47504
47505
47506
47507
47508
47509
47510
47511
47512
47513
47514
47515
47516
47517
47518
47519
47520
47521
47522
47523
47524
47525
47526
47527
47528
47529
47530
47531
47532
47533
47534
47535
47536
47537
47538
47539
47540
47541
47542
47543
47544
47545
47546
47547
47548
47549
47550
47551
47552
47553
47554
47555
47556
47557
47558
47559
47560
47561
47562
47563
47564
47565
47566
47567
47568
47569
47570
47571
47572
47573
47574
47575
47576
47577
47578
47579
47580
47581
47582
47583
47584
47585
47586
47587
47588
47589
47590
47591
47592
47593
47594
47595
47596
47597
47598
47599
47600
47601
47602
47603
47604
47605
47606
47607
47608
47609
47610
47611
47612
47613
47614
47615
47616
47617
47618
47619
47620
47621
47622
47623
47624
47625
47626
47627
47628
47629
47630
47631
47632
47633
47634
47635
47636
47637
47638
47639
47640
47641
47642
47643
47644
47645
47646
47647
47648
47649
47650
47651
47652
47653
47654
47655
47656
47657
47658
47659
47660
47661
47662
47663
47664
47665
47666
47667
47668
47669
47670
47671
47672
47673
47674
47675
47676
47677
47678
47679
47680
47681
47682
47683
47684
47685
47686
47687
47688
47689
47690
47691
47692
47693
47694
47695
47696
47697
47698
47699
47700
47701
47702
47703
47704
47705
47706
47707
47708
47709
47710
47711
47712
47713
47714
47715
47716
47717
47718
47719
47720
47721
47722
47723
47724
47725
47726
47727
47728
47729
47730
47731
47732
47733
47734
47735
47736
47737
47738
47739
47740
47741
47742
47743
47744
47745
47746
47747
47748
47749
47750
47751
47752
47753
47754
47755
47756
47757
47758
47759
47760
47761
47762
47763
47764
47765
47766
47767
47768
47769
47770
47771
47772
47773
47774
47775
47776
47777
47778
47779
47780
47781
47782
47783
47784
47785
47786
47787
47788
47789
47790
47791
47792
47793
47794
47795
47796
47797
47798
47799
47800
47801
47802
47803
47804
47805
47806
47807
47808
47809
47810
47811
47812
47813
47814
47815
47816
47817
47818
47819
47820
47821
47822
47823
47824
47825
47826
47827
47828
47829
47830
47831
47832
47833
47834
47835
47836
47837
47838
47839
47840
47841
47842
47843
47844
47845
47846
47847
47848
47849
47850
47851
47852
47853
47854
47855
47856
47857
47858
47859
47860
47861
47862
47863
47864
47865
47866
47867
47868
47869
47870
47871
47872
47873
47874
47875
47876
47877
47878
47879
47880
47881
47882
47883
47884
47885
47886
47887
47888
47889
47890
47891
47892
47893
47894
47895
47896
47897
47898
47899
47900
47901
47902
47903
47904
47905
47906
47907
47908
47909
47910
47911
47912
47913
47914
47915
47916
47917
47918
47919
47920
47921
47922
47923
47924
47925
47926
47927
47928
47929
47930
47931
47932
47933
47934
47935
47936
47937
47938
47939
47940
47941
47942
47943
47944
47945
47946
47947
47948
47949
47950
47951
47952
47953
47954
47955
47956
47957
47958
47959
47960
47961
47962
47963
47964
47965
47966
47967
47968
47969
47970
47971
47972
47973
47974
47975
47976
47977
47978
47979
47980
47981
47982
47983
47984
47985
47986
47987
47988
47989
47990
47991
47992
47993
47994
47995
47996
47997
47998
47999
48000
48001
48002
48003
48004
48005
48006
48007
48008
48009
48010
48011
48012
48013
48014
48015
48016
48017
48018
48019
48020
48021
48022
48023
48024
48025
48026
48027
48028
48029
48030
48031
48032
48033
48034
48035
48036
48037
48038
48039
48040
48041
48042
48043
48044
48045
48046
48047
48048
48049
48050
48051
48052
48053
48054
48055
48056
48057
48058
48059
48060
48061
48062
48063
48064
48065
48066
48067
48068
48069
48070
48071
48072
48073
48074
48075
48076
48077
48078
48079
48080
48081
48082
48083
48084
48085
48086
48087
48088
48089
48090
48091
48092
48093
48094
48095
48096
48097
48098
48099
48100
48101
48102
48103
48104
48105
48106
48107
48108
48109
48110
48111
48112
48113
48114
48115
48116
48117
48118
48119
48120
48121
48122
48123
48124
48125
48126
48127
48128
48129
48130
48131
48132
48133
48134
48135
48136
48137
48138
48139
48140
48141
48142
48143
48144
48145
48146
48147
48148
48149
48150
48151
48152
48153
48154
48155
48156
48157
48158
48159
48160
48161
48162
48163
48164
48165
48166
48167
48168
48169
48170
48171
48172
48173
48174
48175
48176
48177
48178
48179
48180
48181
48182
48183
48184
48185
48186
48187
48188
48189
48190
48191
48192
48193
48194
48195
48196
48197
48198
48199
48200
48201
48202
48203
48204
48205
48206
48207
48208
48209
48210
48211
48212
48213
48214
48215
48216
48217
48218
48219
48220
48221
48222
48223
48224
48225
48226
48227
48228
48229
48230
48231
48232
48233
48234
48235
48236
48237
48238
48239
48240
48241
48242
48243
48244
48245
48246
48247
48248
48249
48250
48251
48252
48253
48254
48255
48256
48257
48258
48259
48260
48261
48262
48263
48264
48265
48266
48267
48268
48269
48270
48271
48272
48273
48274
48275
48276
48277
48278
48279
48280
48281
48282
48283
48284
48285
48286
48287
48288
48289
48290
48291
48292
48293
48294
48295
48296
48297
48298
48299
48300
48301
48302
48303
48304
48305
48306
48307
48308
48309
48310
48311
48312
48313
48314
48315
48316
48317
48318
48319
48320
48321
48322
48323
48324
48325
48326
48327
48328
48329
48330
48331
48332
48333
48334
48335
48336
48337
48338
48339
48340
48341
48342
48343
48344
48345
48346
48347
48348
48349
48350
48351
48352
48353
48354
48355
48356
48357
48358
48359
48360
48361
48362
48363
48364
48365
48366
48367
48368
48369
48370
48371
48372
48373
48374
48375
48376
48377
48378
48379
48380
48381
48382
48383
48384
48385
48386
48387
48388
48389
48390
48391
48392
48393
48394
48395
48396
48397
48398
48399
48400
48401
48402
48403
48404
48405
48406
48407
48408
48409
48410
48411
48412
48413
48414
48415
48416
48417
48418
48419
48420
48421
48422
48423
48424
48425
48426
48427
48428
48429
48430
48431
48432
48433
48434
48435
48436
48437
48438
48439
48440
48441
48442
48443
48444
48445
48446
48447
48448
48449
48450
48451
48452
48453
48454
48455
48456
48457
48458
48459
48460
48461
48462
48463
48464
48465
48466
48467
48468
48469
48470
48471
48472
48473
48474
48475
48476
48477
48478
48479
48480
48481
48482
48483
48484
48485
48486
48487
48488
48489
48490
48491
48492
48493
48494
48495
48496
48497
48498
48499
48500
48501
48502
48503
48504
48505
48506
48507
48508
48509
48510
48511
48512
48513
48514
48515
48516
48517
48518
48519
48520
48521
48522
48523
48524
48525
48526
48527
48528
48529
48530
48531
48532
48533
48534
48535
48536
48537
48538
48539
48540
48541
48542
48543
48544
48545
48546
48547
48548
48549
48550
48551
48552
48553
48554
48555
48556
48557
48558
48559
48560
48561
48562
48563
48564
48565
48566
48567
48568
48569
48570
48571
48572
48573
48574
48575
48576
48577
48578
48579
48580
48581
48582
48583
48584
48585
48586
48587
48588
48589
48590
48591
48592
48593
48594
48595
48596
48597
48598
48599
48600
48601
48602
48603
48604
48605
48606
48607
48608
48609
48610
48611
48612
48613
48614
48615
48616
48617
48618
48619
48620
48621
48622
48623
48624
48625
48626
48627
48628
48629
48630
48631
48632
48633
48634
48635
48636
48637
48638
48639
48640
48641
48642
48643
48644
48645
48646
48647
48648
48649
48650
48651
48652
48653
48654
48655
48656
48657
48658
48659
48660
48661
48662
48663
48664
48665
48666
48667
48668
48669
48670
48671
48672
48673
48674
48675
48676
48677
48678
48679
48680
48681
48682
48683
48684
48685
48686
48687
48688
48689
48690
48691
48692
48693
48694
48695
48696
48697
48698
48699
48700
48701
48702
48703
48704
48705
48706
48707
48708
48709
48710
48711
48712
48713
48714
48715
48716
48717
48718
48719
48720
48721
48722
48723
48724
48725
48726
48727
48728
48729
48730
48731
48732
48733
48734
48735
48736
48737
48738
48739
48740
48741
48742
48743
48744
48745
48746
48747
48748
48749
48750
48751
48752
48753
48754
48755
48756
48757
48758
48759
48760
48761
48762
48763
48764
48765
48766
48767
48768
48769
48770
48771
48772
48773
48774
48775
48776
48777
48778
48779
48780
48781
48782
48783
48784
48785
48786
48787
48788
48789
48790
48791
48792
48793
48794
48795
48796
48797
48798
48799
48800
48801
48802
48803
48804
48805
48806
48807
48808
48809
48810
48811
48812
48813
48814
48815
48816
48817
48818
48819
48820
48821
48822
48823
48824
48825
48826
48827
48828
48829
48830
48831
48832
48833
48834
48835
48836
48837
48838
48839
48840
48841
48842
48843
48844
48845
48846
48847
48848
48849
48850
48851
48852
48853
48854
48855
48856
48857
48858
48859
48860
48861
48862
48863
48864
48865
48866
48867
48868
48869
48870
48871
48872
48873
48874
48875
48876
48877
48878
48879
48880
48881
48882
48883
48884
48885
48886
48887
48888
48889
48890
48891
48892
48893
48894
48895
48896
48897
48898
48899
48900
48901
48902
48903
48904
48905
48906
48907
48908
48909
48910
48911
48912
48913
48914
48915
48916
48917
48918
48919
48920
48921
48922
48923
48924
48925
48926
48927
48928
48929
48930
48931
48932
48933
48934
48935
48936
48937
48938
48939
48940
48941
48942
48943
48944
48945
48946
48947
48948
48949
48950
48951
48952
48953
48954
48955
48956
48957
48958
48959
48960
48961
48962
48963
48964
48965
48966
48967
48968
48969
48970
48971
48972
48973
48974
48975
48976
48977
48978
48979
48980
48981
48982
48983
48984
48985
48986
48987
48988
48989
48990
48991
48992
48993
48994
48995
48996
48997
48998
48999
49000
49001
49002
49003
49004
49005
49006
49007
49008
49009
49010
49011
49012
49013
49014
49015
49016
49017
49018
49019
49020
49021
49022
49023
49024
49025
49026
49027
49028
49029
49030
49031
49032
49033
49034
49035
49036
49037
49038
49039
49040
49041
49042
49043
49044
49045
49046
49047
49048
49049
49050
49051
49052
49053
49054
49055
49056
49057
49058
49059
49060
49061
49062
49063
49064
49065
49066
49067
49068
49069
49070
49071
49072
49073
49074
49075
49076
49077
49078
49079
49080
49081
49082
49083
49084
49085
49086
49087
49088
49089
49090
49091
49092
49093
49094
49095
49096
49097
49098
49099
49100
49101
49102
49103
49104
49105
49106
49107
49108
49109
49110
49111
49112
49113
49114
49115
49116
49117
49118
49119
49120
49121
49122
49123
49124
49125
49126
49127
49128
49129
49130
49131
49132
49133
49134
49135
49136
49137
49138
49139
49140
49141
49142
49143
49144
49145
49146
49147
49148
49149
49150
49151
49152
49153
49154
49155
49156
49157
49158
49159
49160
49161
49162
49163
49164
49165
49166
49167
49168
49169
49170
49171
49172
49173
49174
49175
49176
49177
49178
49179
49180
49181
49182
49183
49184
49185
49186
49187
49188
49189
49190
49191
49192
49193
49194
49195
49196
49197
49198
49199
49200
49201
49202
49203
49204
49205
49206
49207
49208
49209
49210
49211
49212
49213
49214
49215
49216
49217
49218
49219
49220
49221
49222
49223
49224
49225
49226
49227
49228
49229
49230
49231
49232
49233
49234
49235
49236
49237
49238
49239
49240
49241
49242
49243
49244
49245
49246
49247
49248
49249
49250
49251
49252
49253
49254
49255
49256
49257
49258
49259
49260
49261
49262
49263
49264
49265
49266
49267
49268
49269
49270
49271
49272
49273
49274
49275
49276
49277
49278
49279
49280
49281
49282
49283
49284
49285
49286
49287
49288
49289
49290
49291
49292
49293
49294
49295
49296
49297
49298
49299
49300
49301
49302
49303
49304
49305
49306
49307
49308
49309
49310
49311
49312
49313
49314
49315
49316
49317
49318
49319
49320
49321
49322
49323
49324
49325
49326
49327
49328
49329
49330
49331
49332
49333
49334
49335
49336
49337
49338
49339
49340
49341
49342
49343
49344
49345
49346
49347
49348
49349
49350
49351
49352
49353
49354
49355
49356
49357
49358
49359
49360
49361
49362
49363
49364
49365
49366
49367
49368
49369
49370
49371
49372
49373
49374
49375
49376
49377
49378
49379
49380
49381
49382
49383
49384
49385
49386
49387
49388
49389
49390
49391
49392
49393
49394
49395
49396
49397
49398
49399
49400
49401
49402
49403
49404
49405
49406
49407
49408
49409
49410
49411
49412
49413
49414
49415
49416
49417
49418
49419
49420
49421
49422
49423
49424
49425
49426
49427
49428
49429
49430
49431
49432
49433
49434
49435
49436
49437
49438
49439
49440
49441
49442
49443
49444
49445
49446
49447
49448
49449
49450
49451
49452
49453
49454
49455
49456
49457
49458
49459
49460
49461
49462
49463
49464
49465
49466
49467
49468
49469
49470
49471
49472
49473
49474
49475
49476
49477
49478
49479
49480
49481
49482
49483
49484
49485
49486
49487
49488
49489
49490
49491
49492
49493
49494
49495
49496
49497
49498
49499
49500
49501
49502
49503
49504
49505
49506
49507
49508
49509
49510
49511
49512
49513
49514
49515
49516
49517
49518
49519
49520
49521
49522
49523
49524
49525
49526
49527
49528
49529
49530
49531
49532
49533
49534
49535
49536
49537
49538
49539
49540
49541
49542
49543
49544
49545
49546
49547
49548
49549
49550
49551
49552
49553
49554
49555
49556
49557
49558
49559
49560
49561
49562
49563
49564
49565
49566
49567
49568
49569
49570
49571
49572
49573
49574
49575
49576
49577
49578
49579
49580
49581
49582
49583
49584
49585
49586
49587
49588
49589
49590
49591
49592
49593
49594
49595
49596
49597
49598
49599
49600
49601
49602
49603
49604
49605
49606
49607
49608
49609
49610
49611
49612
49613
49614
49615
49616
49617
49618
49619
49620
49621
49622
49623
49624
49625
49626
49627
49628
49629
49630
49631
49632
49633
49634
49635
49636
49637
49638
49639
49640
49641
49642
49643
49644
49645
49646
49647
49648
49649
49650
49651
49652
49653
49654
49655
49656
49657
49658
49659
49660
49661
49662
49663
49664
49665
49666
49667
49668
49669
49670
49671
49672
49673
49674
49675
49676
49677
49678
49679
49680
49681
49682
49683
49684
49685
49686
49687
49688
49689
49690
49691
49692
49693
49694
49695
49696
49697
49698
49699
49700
49701
49702
49703
49704
49705
49706
49707
49708
49709
49710
49711
49712
49713
49714
49715
49716
49717
49718
49719
49720
49721
49722
49723
49724
49725
49726
49727
49728
49729
49730
49731
49732
49733
49734
49735
49736
49737
49738
49739
49740
49741
49742
49743
49744
49745
49746
49747
49748
49749
49750
49751
49752
49753
49754
49755
49756
49757
49758
49759
49760
49761
49762
49763
49764
49765
49766
49767
49768
49769
49770
49771
49772
49773
49774
49775
49776
49777
49778
49779
49780
49781
49782
49783
49784
49785
49786
49787
49788
49789
49790
49791
49792
49793
49794
49795
49796
49797
49798
49799
49800
49801
49802
49803
49804
49805
49806
49807
49808
49809
49810
49811
49812
49813
49814
49815
49816
49817
49818
49819
49820
49821
49822
49823
49824
49825
49826
49827
49828
49829
49830
49831
49832
49833
49834
49835
49836
49837
49838
49839
49840
49841
49842
49843
49844
49845
49846
49847
49848
49849
49850
49851
49852
49853
49854
49855
49856
49857
49858
49859
49860
49861
49862
49863
49864
49865
49866
49867
49868
49869
49870
49871
49872
49873
49874
49875
49876
49877
49878
49879
49880
49881
49882
49883
49884
49885
49886
49887
49888
49889
49890
49891
49892
49893
49894
49895
49896
49897
49898
49899
49900
49901
49902
49903
49904
49905
49906
49907
49908
49909
49910
49911
49912
49913
49914
49915
49916
49917
49918
49919
49920
49921
49922
49923
49924
49925
49926
49927
49928
49929
49930
49931
49932
49933
49934
49935
49936
49937
49938
49939
49940
49941
49942
49943
49944
49945
49946
49947
49948
49949
49950
49951
49952
49953
49954
49955
49956
49957
49958
49959
49960
49961
49962
49963
49964
49965
49966
49967
49968
49969
49970
49971
49972
49973
49974
49975
49976
49977
49978
49979
49980
49981
49982
49983
49984
49985
49986
49987
49988
49989
49990
49991
49992
49993
49994
49995
49996
49997
49998
49999
50000
50001
50002
50003
50004
50005
50006
50007
50008
50009
50010
50011
50012
50013
50014
50015
50016
50017
50018
50019
50020
50021
50022
50023
50024
50025
50026
50027
50028
50029
50030
50031
50032
50033
50034
50035
50036
50037
50038
50039
50040
50041
50042
50043
50044
50045
50046
50047
50048
50049
50050
50051
50052
50053
50054
50055
50056
50057
50058
50059
50060
50061
50062
50063
50064
50065
50066
50067
50068
50069
50070
50071
50072
50073
50074
50075
50076
50077
50078
50079
50080
50081
50082
50083
50084
50085
50086
50087
50088
50089
50090
50091
50092
50093
50094
50095
50096
50097
50098
50099
50100
50101
50102
50103
50104
50105
50106
50107
50108
50109
50110
50111
50112
50113
50114
50115
50116
50117
50118
50119
50120
50121
50122
50123
50124
50125
50126
50127
50128
50129
50130
50131
50132
50133
50134
50135
50136
50137
50138
50139
50140
50141
50142
50143
50144
50145
50146
50147
50148
50149
50150
50151
50152
50153
50154
50155
50156
50157
50158
50159
50160
50161
50162
50163
50164
50165
50166
50167
50168
50169
50170
50171
50172
50173
50174
50175
50176
50177
50178
50179
50180
50181
50182
50183
50184
50185
50186
50187
50188
50189
50190
50191
50192
50193
50194
50195
50196
50197
50198
50199
50200
50201
50202
50203
50204
50205
50206
50207
50208
50209
50210
50211
50212
50213
50214
50215
50216
50217
50218
50219
50220
50221
50222
50223
50224
50225
50226
50227
50228
50229
50230
50231
50232
50233
50234
50235
50236
50237
50238
50239
50240
50241
50242
50243
50244
50245
50246
50247
50248
50249
50250
50251
50252
50253
50254
50255
50256
50257
50258
50259
50260
50261
50262
50263
50264
50265
50266
50267
50268
50269
50270
50271
50272
50273
50274
50275
50276
50277
50278
50279
50280
50281
50282
50283
50284
50285
50286
50287
50288
50289
50290
50291
50292
50293
50294
50295
50296
50297
50298
50299
50300
50301
50302
50303
50304
50305
50306
50307
50308
50309
50310
50311
50312
50313
50314
50315
50316
50317
50318
50319
50320
50321
50322
50323
50324
50325
50326
50327
50328
50329
50330
50331
50332
50333
50334
50335
50336
50337
50338
50339
50340
50341
50342
50343
50344
50345
50346
50347
50348
50349
50350
50351
50352
50353
50354
50355
50356
50357
50358
50359
50360
50361
50362
50363
50364
50365
50366
50367
50368
50369
50370
50371
50372
50373
50374
50375
50376
50377
50378
50379
50380
50381
50382
50383
50384
50385
50386
50387
50388
50389
50390
50391
50392
50393
50394
50395
50396
50397
50398
50399
50400
50401
50402
50403
50404
50405
50406
50407
50408
50409
50410
50411
50412
50413
50414
50415
50416
50417
50418
50419
50420
50421
50422
50423
50424
50425
50426
50427
50428
50429
50430
50431
50432
50433
50434
50435
50436
50437
50438
50439
50440
50441
50442
50443
50444
50445
50446
50447
50448
50449
50450
50451
50452
50453
50454
50455
50456
50457
50458
50459
50460
50461
50462
50463
50464
50465
50466
50467
50468
50469
50470
50471
50472
50473
50474
50475
50476
50477
50478
50479
50480
50481
50482
50483
50484
50485
50486
50487
50488
50489
50490
50491
50492
50493
50494
50495
50496
50497
50498
50499
50500
50501
50502
50503
50504
50505
50506
50507
50508
50509
50510
50511
50512
50513
50514
50515
50516
50517
50518
50519
50520
50521
50522
50523
50524
50525
50526
50527
50528
50529
50530
50531
50532
50533
50534
50535
50536
50537
50538
50539
50540
50541
50542
50543
50544
50545
50546
50547
50548
50549
50550
50551
50552
50553
50554
50555
50556
50557
50558
50559
50560
50561
50562
50563
50564
50565
50566
50567
50568
50569
50570
50571
50572
50573
50574
50575
50576
50577
50578
50579
50580
50581
50582
50583
50584
50585
50586
50587
50588
50589
50590
50591
50592
50593
50594
50595
50596
50597
50598
50599
50600
50601
50602
50603
50604
50605
50606
50607
50608
50609
50610
50611
50612
50613
50614
50615
50616
50617
50618
50619
50620
50621
50622
50623
50624
50625
50626
50627
50628
50629
50630
50631
50632
50633
50634
50635
50636
50637
50638
50639
50640
50641
50642
50643
50644
50645
50646
50647
50648
50649
50650
50651
50652
50653
50654
50655
50656
50657
50658
50659
50660
50661
50662
50663
50664
50665
50666
50667
50668
50669
50670
50671
50672
50673
50674
50675
50676
50677
50678
50679
50680
50681
50682
50683
50684
50685
50686
50687
50688
50689
50690
50691
50692
50693
50694
50695
50696
50697
50698
50699
50700
50701
50702
50703
50704
50705
50706
50707
50708
50709
50710
50711
50712
50713
50714
50715
50716
50717
50718
50719
50720
50721
50722
50723
50724
50725
50726
50727
50728
50729
50730
50731
50732
50733
50734
50735
50736
50737
50738
50739
50740
50741
50742
50743
50744
50745
50746
50747
50748
50749
50750
50751
50752
50753
50754
50755
50756
50757
50758
50759
50760
50761
50762
50763
50764
50765
50766
50767
50768
50769
50770
50771
50772
50773
50774
50775
50776
50777
50778
50779
50780
50781
50782
50783
50784
50785
50786
50787
50788
50789
50790
50791
50792
50793
50794
50795
50796
50797
50798
50799
50800
50801
50802
50803
50804
50805
50806
50807
50808
50809
50810
50811
50812
50813
50814
50815
50816
50817
50818
50819
50820
50821
50822
50823
50824
50825
50826
50827
50828
50829
50830
50831
50832
50833
50834
50835
50836
50837
50838
50839
50840
50841
50842
50843
50844
50845
50846
50847
50848
50849
50850
50851
50852
50853
50854
50855
50856
50857
50858
50859
50860
50861
50862
50863
50864
50865
50866
50867
50868
50869
50870
50871
50872
50873
50874
50875
50876
50877
50878
50879
50880
50881
50882
50883
50884
50885
50886
50887
50888
50889
50890
50891
50892
50893
50894
50895
50896
50897
50898
50899
50900
50901
50902
50903
50904
50905
50906
50907
50908
50909
50910
50911
50912
50913
50914
50915
50916
50917
50918
50919
50920
50921
50922
50923
50924
50925
50926
50927
50928
50929
50930
50931
50932
50933
50934
50935
50936
50937
50938
50939
50940
50941
50942
50943
50944
50945
50946
50947
50948
50949
50950
50951
50952
50953
50954
50955
50956
50957
50958
50959
50960
50961
50962
50963
50964
50965
50966
50967
50968
50969
50970
50971
50972
50973
50974
50975
50976
50977
50978
50979
50980
50981
50982
50983
50984
50985
50986
50987
50988
50989
50990
50991
50992
50993
50994
50995
50996
50997
50998
50999
51000
51001
51002
51003
51004
51005
51006
51007
51008
51009
51010
51011
51012
51013
51014
51015
51016
51017
51018
51019
51020
51021
51022
51023
51024
51025
51026
51027
51028
51029
51030
51031
51032
51033
51034
51035
51036
51037
51038
51039
51040
51041
51042
51043
51044
51045
51046
51047
51048
51049
51050
51051
51052
51053
51054
51055
51056
51057
51058
51059
51060
51061
51062
51063
51064
51065
51066
51067
51068
51069
51070
51071
51072
51073
51074
51075
51076
51077
51078
51079
51080
51081
51082
51083
51084
51085
51086
51087
51088
51089
51090
51091
51092
51093
51094
51095
51096
51097
51098
51099
51100
51101
51102
51103
51104
51105
51106
51107
51108
51109
51110
51111
51112
51113
51114
51115
51116
51117
51118
51119
51120
51121
51122
51123
51124
51125
51126
51127
51128
51129
51130
51131
51132
51133
51134
51135
51136
51137
51138
51139
51140
51141
51142
51143
51144
51145
51146
51147
51148
51149
51150
51151
51152
51153
51154
51155
51156
51157
51158
51159
51160
51161
51162
51163
51164
51165
51166
51167
51168
51169
51170
51171
51172
51173
51174
51175
51176
51177
51178
51179
51180
51181
51182
51183
51184
51185
51186
51187
51188
51189
51190
51191
51192
51193
51194
51195
51196
51197
51198
51199
51200
51201
51202
51203
51204
51205
51206
51207
51208
51209
51210
51211
51212
51213
51214
51215
51216
51217
51218
51219
51220
51221
51222
51223
51224
51225
51226
51227
51228
51229
51230
51231
51232
51233
51234
51235
51236
51237
51238
51239
51240
51241
51242
51243
51244
51245
51246
51247
51248
51249
51250
51251
51252
51253
51254
51255
51256
51257
51258
51259
51260
51261
51262
51263
51264
51265
51266
51267
51268
51269
51270
51271
51272
51273
51274
51275
51276
51277
51278
51279
51280
51281
51282
51283
51284
51285
51286
51287
51288
51289
51290
51291
51292
51293
51294
51295
51296
51297
51298
51299
51300
51301
51302
51303
51304
51305
51306
51307
51308
51309
51310
51311
51312
51313
51314
51315
51316
51317
51318
51319
51320
51321
51322
51323
51324
51325
51326
51327
51328
51329
51330
51331
51332
51333
51334
51335
51336
51337
51338
51339
51340
51341
51342
51343
51344
51345
51346
51347
51348
51349
51350
51351
51352
51353
51354
51355
51356
51357
51358
51359
51360
51361
51362
51363
51364
51365
51366
51367
51368
51369
51370
51371
51372
51373
51374
51375
51376
51377
51378
51379
51380
51381
51382
51383
51384
51385
51386
51387
51388
51389
51390
51391
51392
51393
51394
51395
51396
51397
51398
51399
51400
51401
51402
51403
51404
51405
51406
51407
51408
51409
51410
51411
51412
51413
51414
51415
51416
51417
51418
51419
51420
51421
51422
51423
51424
51425
51426
51427
51428
51429
51430
51431
51432
51433
51434
51435
51436
51437
51438
51439
51440
51441
51442
51443
51444
51445
51446
51447
51448
51449
51450
51451
51452
51453
51454
51455
51456
51457
51458
51459
51460
51461
51462
51463
51464
51465
51466
51467
51468
51469
51470
51471
51472
51473
51474
51475
51476
51477
51478
51479
51480
51481
51482
51483
51484
51485
51486
51487
51488
51489
51490
51491
51492
51493
51494
51495
51496
51497
51498
51499
51500
51501
51502
51503
51504
51505
51506
51507
51508
51509
51510
51511
51512
51513
51514
51515
51516
51517
51518
51519
51520
51521
51522
51523
51524
51525
51526
51527
51528
51529
51530
51531
51532
51533
51534
51535
51536
51537
51538
51539
51540
51541
51542
51543
51544
51545
51546
51547
51548
51549
51550
51551
51552
51553
51554
51555
51556
51557
51558
51559
51560
51561
51562
51563
51564
51565
51566
51567
51568
51569
51570
51571
51572
51573
51574
51575
51576
51577
51578
51579
51580
51581
51582
51583
51584
51585
51586
51587
51588
51589
51590
51591
51592
51593
51594
51595
51596
51597
51598
51599
51600
51601
51602
51603
51604
51605
51606
51607
51608
51609
51610
51611
51612
51613
51614
51615
51616
51617
51618
51619
51620
51621
51622
51623
51624
51625
51626
51627
51628
51629
51630
51631
51632
51633
51634
51635
51636
51637
51638
51639
51640
51641
51642
51643
51644
51645
51646
51647
51648
51649
51650
51651
51652
51653
51654
51655
51656
51657
51658
51659
51660
51661
51662
51663
51664
51665
51666
51667
51668
51669
51670
51671
51672
51673
51674
51675
51676
51677
51678
51679
51680
51681
51682
51683
51684
51685
51686
51687
51688
51689
51690
51691
51692
51693
51694
51695
51696
51697
51698
51699
51700
51701
51702
51703
51704
51705
51706
51707
51708
51709
51710
51711
51712
51713
51714
51715
51716
51717
51718
51719
51720
51721
51722
51723
51724
51725
51726
51727
51728
51729
51730
51731
51732
51733
51734
51735
51736
51737
51738
51739
51740
51741
51742
51743
51744
51745
51746
51747
51748
51749
51750
51751
51752
51753
51754
51755
51756
51757
51758
51759
51760
51761
51762
51763
51764
51765
51766
51767
51768
51769
51770
51771
51772
51773
51774
51775
51776
51777
51778
51779
51780
51781
51782
51783
51784
51785
51786
51787
51788
51789
51790
51791
51792
51793
51794
51795
51796
51797
51798
51799
51800
51801
51802
51803
51804
51805
51806
51807
51808
51809
51810
51811
51812
51813
51814
51815
51816
51817
51818
51819
51820
51821
51822
51823
51824
51825
51826
51827
51828
51829
51830
51831
51832
51833
51834
51835
51836
51837
51838
51839
51840
51841
51842
51843
51844
51845
51846
51847
51848
51849
51850
51851
51852
51853
51854
51855
51856
51857
51858
51859
51860
51861
51862
51863
51864
51865
51866
51867
51868
51869
51870
51871
51872
51873
51874
51875
51876
51877
51878
51879
51880
51881
51882
51883
51884
51885
51886
51887
51888
51889
51890
51891
51892
51893
51894
51895
51896
51897
51898
51899
51900
51901
51902
51903
51904
51905
51906
51907
51908
51909
51910
51911
51912
51913
51914
51915
51916
51917
51918
51919
51920
51921
51922
51923
51924
51925
51926
51927
51928
51929
51930
51931
51932
51933
51934
51935
51936
51937
51938
51939
51940
51941
51942
51943
51944
51945
51946
51947
51948
51949
51950
51951
51952
51953
51954
51955
51956
51957
51958
51959
51960
51961
51962
51963
51964
51965
51966
51967
51968
51969
51970
51971
51972
51973
51974
51975
51976
51977
51978
51979
51980
51981
51982
51983
51984
51985
51986
51987
51988
51989
51990
51991
51992
51993
51994
51995
51996
51997
51998
51999
52000
52001
52002
52003
52004
52005
52006
52007
52008
52009
52010
52011
52012
52013
52014
52015
52016
52017
52018
52019
52020
52021
52022
52023
52024
52025
52026
52027
52028
52029
52030
52031
52032
52033
52034
52035
52036
52037
52038
52039
52040
52041
52042
52043
52044
52045
52046
52047
52048
52049
52050
52051
52052
52053
52054
52055
52056
52057
52058
52059
52060
52061
52062
52063
52064
52065
52066
52067
52068
52069
52070
52071
52072
52073
52074
52075
52076
52077
52078
52079
52080
52081
52082
52083
52084
52085
52086
52087
52088
52089
52090
52091
52092
52093
52094
52095
52096
52097
52098
52099
52100
52101
52102
52103
52104
52105
52106
52107
52108
52109
52110
52111
52112
52113
52114
52115
52116
52117
52118
52119
52120
52121
52122
52123
52124
52125
52126
52127
52128
52129
52130
52131
52132
52133
52134
52135
52136
52137
52138
52139
52140
52141
52142
52143
52144
52145
52146
52147
52148
52149
52150
52151
52152
52153
52154
52155
52156
52157
52158
52159
52160
52161
52162
52163
52164
52165
52166
52167
52168
52169
52170
52171
52172
52173
52174
52175
52176
52177
52178
52179
52180
52181
52182
52183
52184
52185
52186
52187
52188
52189
52190
52191
52192
52193
52194
52195
52196
52197
52198
52199
52200
52201
52202
52203
52204
52205
52206
52207
52208
52209
52210
52211
52212
52213
52214
52215
52216
52217
52218
52219
52220
52221
52222
52223
52224
52225
52226
52227
52228
52229
52230
52231
52232
52233
52234
52235
52236
52237
52238
52239
52240
52241
52242
52243
52244
52245
52246
52247
52248
52249
52250
52251
52252
52253
52254
52255
52256
52257
52258
52259
52260
52261
52262
52263
52264
52265
52266
52267
52268
52269
52270
52271
52272
52273
52274
52275
52276
52277
52278
52279
52280
52281
52282
52283
52284
52285
52286
52287
52288
52289
52290
52291
52292
52293
52294
52295
52296
52297
52298
52299
52300
52301
52302
52303
52304
52305
52306
52307
52308
52309
52310
52311
52312
52313
52314
52315
52316
52317
52318
52319
52320
52321
52322
52323
52324
52325
52326
52327
52328
52329
52330
52331
52332
52333
52334
52335
52336
52337
52338
52339
52340
52341
52342
52343
52344
52345
52346
52347
52348
52349
52350
52351
52352
52353
52354
52355
52356
52357
52358
52359
52360
52361
52362
52363
52364
52365
52366
52367
52368
52369
52370
52371
52372
52373
52374
52375
52376
52377
52378
52379
52380
52381
52382
52383
52384
52385
52386
52387
52388
52389
52390
52391
52392
52393
52394
52395
52396
52397
52398
52399
52400
52401
52402
52403
52404
52405
52406
52407
52408
52409
52410
52411
52412
52413
52414
52415
52416
52417
52418
52419
52420
52421
52422
52423
52424
52425
52426
52427
52428
52429
52430
52431
52432
52433
52434
52435
52436
52437
52438
52439
52440
52441
52442
52443
52444
52445
52446
52447
52448
52449
52450
52451
52452
52453
52454
52455
52456
52457
52458
52459
52460
52461
52462
52463
52464
52465
52466
52467
52468
52469
52470
52471
52472
52473
52474
52475
52476
52477
52478
52479
52480
52481
52482
52483
52484
52485
52486
52487
52488
52489
52490
52491
52492
52493
52494
52495
52496
52497
52498
52499
52500
52501
52502
52503
52504
52505
52506
52507
52508
52509
52510
52511
52512
52513
52514
52515
52516
52517
52518
52519
52520
52521
52522
52523
52524
52525
52526
52527
52528
52529
52530
52531
52532
52533
52534
52535
52536
52537
52538
52539
52540
52541
52542
52543
52544
52545
52546
52547
52548
52549
52550
52551
52552
52553
52554
52555
52556
52557
52558
52559
52560
52561
52562
52563
52564
52565
52566
52567
52568
52569
52570
52571
52572
52573
52574
52575
52576
52577
52578
52579
52580
52581
52582
52583
52584
52585
52586
52587
52588
52589
52590
52591
52592
52593
52594
52595
52596
52597
52598
52599
52600
52601
52602
52603
52604
52605
52606
52607
52608
52609
52610
52611
52612
52613
52614
52615
52616
52617
52618
52619
52620
52621
52622
52623
52624
52625
52626
52627
52628
52629
52630
52631
52632
52633
52634
52635
52636
52637
52638
52639
52640
52641
52642
52643
52644
52645
52646
52647
52648
52649
52650
52651
52652
52653
52654
52655
52656
52657
52658
52659
52660
52661
52662
52663
52664
52665
52666
52667
52668
52669
52670
52671
52672
52673
52674
52675
52676
52677
52678
52679
52680
52681
52682
52683
52684
52685
52686
52687
52688
52689
52690
52691
52692
52693
52694
52695
52696
52697
52698
52699
52700
52701
52702
52703
52704
52705
52706
52707
52708
52709
52710
52711
52712
52713
52714
52715
52716
52717
52718
52719
52720
52721
52722
52723
52724
52725
52726
52727
52728
52729
52730
52731
52732
52733
52734
52735
52736
52737
52738
52739
52740
52741
52742
52743
52744
52745
52746
52747
52748
52749
52750
52751
52752
52753
52754
52755
52756
52757
52758
52759
52760
52761
52762
52763
52764
52765
52766
52767
52768
52769
52770
52771
52772
52773
52774
52775
52776
52777
52778
52779
52780
52781
52782
52783
52784
52785
52786
52787
52788
52789
52790
52791
52792
52793
52794
52795
52796
52797
52798
52799
52800
52801
52802
52803
52804
52805
52806
52807
52808
52809
52810
52811
52812
52813
52814
52815
52816
52817
52818
52819
52820
52821
52822
52823
52824
52825
52826
52827
52828
52829
52830
52831
52832
52833
52834
52835
52836
52837
52838
52839
52840
52841
52842
52843
52844
52845
52846
52847
52848
52849
52850
52851
52852
52853
52854
52855
52856
52857
52858
52859
52860
52861
52862
52863
52864
52865
52866
52867
52868
52869
52870
52871
52872
52873
52874
52875
52876
52877
52878
52879
52880
52881
52882
52883
52884
52885
52886
52887
52888
52889
52890
52891
52892
52893
52894
52895
52896
52897
52898
52899
52900
52901
52902
52903
52904
52905
52906
52907
52908
52909
52910
52911
52912
52913
52914
52915
52916
52917
52918
52919
52920
52921
52922
52923
52924
52925
52926
52927
52928
52929
52930
52931
52932
52933
52934
52935
52936
52937
52938
52939
52940
52941
52942
52943
52944
52945
52946
52947
52948
52949
52950
52951
52952
52953
52954
52955
52956
52957
52958
52959
52960
52961
52962
52963
52964
52965
52966
52967
52968
52969
52970
52971
52972
52973
52974
52975
52976
52977
52978
52979
52980
52981
52982
52983
52984
52985
52986
52987
52988
52989
52990
52991
52992
52993
52994
52995
52996
52997
52998
52999
53000
53001
53002
53003
53004
53005
53006
53007
53008
53009
53010
53011
53012
53013
53014
53015
53016
53017
53018
53019
53020
53021
53022
53023
53024
53025
53026
53027
53028
53029
53030
53031
53032
53033
53034
53035
53036
53037
53038
53039
53040
53041
53042
53043
53044
53045
53046
53047
53048
53049
53050
53051
53052
53053
53054
53055
53056
53057
53058
53059
53060
53061
53062
53063
53064
53065
53066
53067
53068
53069
53070
53071
53072
53073
53074
53075
53076
53077
53078
53079
53080
53081
53082
53083
53084
53085
53086
53087
53088
53089
53090
53091
53092
53093
53094
53095
53096
53097
53098
53099
53100
53101
53102
53103
53104
53105
53106
53107
53108
53109
53110
53111
53112
53113
53114
53115
53116
53117
53118
53119
53120
53121
53122
53123
53124
53125
53126
53127
53128
53129
53130
53131
53132
53133
53134
53135
53136
53137
53138
53139
53140
53141
53142
53143
53144
53145
53146
53147
53148
53149
53150
53151
53152
53153
53154
53155
53156
53157
53158
53159
53160
53161
53162
53163
53164
53165
53166
53167
53168
53169
53170
53171
53172
53173
53174
53175
53176
53177
53178
53179
53180
53181
53182
53183
53184
53185
53186
53187
53188
53189
53190
53191
53192
53193
53194
53195
53196
53197
53198
53199
53200
53201
53202
53203
53204
53205
53206
53207
53208
53209
53210
53211
53212
53213
53214
53215
53216
53217
53218
53219
53220
53221
53222
53223
53224
53225
53226
53227
53228
53229
53230
53231
53232
53233
53234
53235
53236
53237
53238
53239
53240
53241
53242
53243
53244
53245
53246
53247
53248
53249
53250
53251
53252
53253
53254
53255
53256
53257
53258
53259
53260
53261
53262
53263
53264
53265
53266
53267
53268
53269
53270
53271
53272
53273
53274
53275
53276
53277
53278
53279
53280
53281
53282
53283
53284
53285
53286
53287
53288
53289
53290
53291
53292
53293
53294
53295
53296
53297
53298
53299
53300
53301
53302
53303
53304
53305
53306
53307
53308
53309
53310
53311
53312
53313
53314
53315
53316
53317
53318
53319
53320
53321
53322
53323
53324
53325
53326
53327
53328
53329
53330
53331
53332
53333
53334
53335
53336
53337
53338
53339
53340
53341
53342
53343
53344
53345
53346
53347
53348
53349
53350
53351
53352
53353
53354
53355
53356
53357
53358
53359
53360
53361
53362
53363
53364
53365
53366
53367
53368
53369
53370
53371
53372
53373
53374
53375
53376
53377
53378
53379
53380
53381
53382
53383
53384
53385
53386
53387
53388
53389
53390
53391
53392
53393
53394
53395
53396
53397
53398
53399
53400
53401
53402
53403
53404
53405
53406
53407
53408
53409
53410
53411
53412
53413
53414
53415
53416
53417
53418
53419
53420
53421
53422
53423
53424
53425
53426
53427
53428
53429
53430
53431
53432
53433
53434
53435
53436
53437
53438
53439
53440
53441
53442
53443
53444
53445
53446
53447
53448
53449
53450
53451
53452
53453
53454
53455
53456
53457
53458
53459
53460
53461
53462
53463
53464
53465
53466
53467
53468
53469
53470
53471
53472
53473
53474
53475
53476
53477
53478
53479
53480
53481
53482
53483
53484
53485
53486
53487
53488
53489
53490
53491
53492
53493
53494
53495
53496
53497
53498
53499
53500
53501
53502
53503
53504
53505
53506
53507
53508
53509
53510
53511
53512
53513
53514
53515
53516
53517
53518
53519
53520
53521
53522
53523
53524
53525
53526
53527
53528
53529
53530
53531
53532
53533
53534
53535
53536
53537
53538
53539
53540
53541
53542
53543
53544
53545
53546
53547
53548
53549
53550
53551
53552
53553
53554
53555
53556
53557
53558
53559
53560
53561
53562
53563
53564
53565
53566
53567
53568
53569
53570
53571
53572
53573
53574
53575
53576
53577
53578
53579
53580
53581
53582
53583
53584
53585
53586
53587
53588
53589
53590
53591
53592
53593
53594
53595
53596
53597
53598
53599
53600
53601
53602
53603
53604
53605
53606
53607
53608
53609
53610
53611
53612
53613
53614
53615
53616
53617
53618
53619
53620
53621
53622
53623
53624
53625
53626
53627
53628
53629
53630
53631
53632
53633
53634
53635
53636
53637
53638
53639
53640
53641
53642
53643
53644
53645
53646
53647
53648
53649
53650
53651
53652
53653
53654
53655
53656
53657
53658
53659
53660
53661
53662
53663
53664
53665
53666
53667
53668
53669
53670
53671
53672
53673
53674
53675
53676
53677
53678
53679
53680
53681
53682
53683
53684
53685
53686
53687
53688
53689
53690
53691
53692
53693
53694
53695
53696
53697
53698
53699
53700
53701
53702
53703
53704
53705
53706
53707
53708
53709
53710
53711
53712
53713
53714
53715
53716
53717
53718
53719
53720
53721
53722
53723
53724
53725
53726
53727
53728
53729
53730
53731
53732
53733
53734
53735
53736
53737
53738
53739
53740
53741
53742
53743
53744
53745
53746
53747
53748
53749
53750
53751
53752
53753
53754
53755
53756
53757
53758
53759
53760
53761
53762
53763
53764
53765
53766
53767
53768
53769
53770
53771
53772
53773
53774
53775
53776
53777
53778
53779
53780
53781
53782
53783
53784
53785
53786
53787
53788
53789
53790
53791
53792
53793
53794
53795
53796
53797
53798
53799
53800
53801
53802
53803
53804
53805
53806
53807
53808
53809
53810
53811
53812
53813
53814
53815
53816
53817
53818
53819
53820
53821
53822
53823
53824
53825
53826
53827
53828
53829
53830
53831
53832
53833
53834
53835
53836
53837
53838
53839
53840
53841
53842
53843
53844
53845
53846
53847
53848
53849
53850
53851
53852
53853
53854
53855
53856
53857
53858
53859
53860
53861
53862
53863
53864
53865
53866
53867
53868
53869
53870
53871
53872
53873
53874
53875
53876
53877
53878
53879
53880
53881
53882
53883
53884
53885
53886
53887
53888
53889
53890
53891
53892
53893
53894
53895
53896
53897
53898
53899
53900
53901
53902
53903
53904
53905
53906
53907
53908
53909
53910
53911
53912
53913
53914
53915
53916
53917
53918
53919
53920
53921
53922
53923
53924
53925
53926
53927
53928
53929
53930
53931
53932
53933
53934
53935
53936
53937
53938
53939
53940
53941
53942
53943
53944
53945
53946
53947
53948
53949
53950
53951
53952
53953
53954
53955
53956
53957
53958
53959
53960
53961
53962
53963
53964
53965
53966
53967
53968
53969
53970
53971
53972
53973
53974
53975
53976
53977
53978
53979
53980
53981
53982
53983
53984
53985
53986
53987
53988
53989
53990
53991
53992
53993
53994
53995
53996
53997
53998
53999
54000
54001
54002
54003
54004
54005
54006
54007
54008
54009
54010
54011
54012
54013
54014
54015
54016
54017
54018
54019
54020
54021
54022
54023
54024
54025
54026
54027
54028
54029
54030
54031
54032
54033
54034
54035
54036
54037
54038
54039
54040
54041
54042
54043
54044
54045
54046
54047
54048
54049
54050
54051
54052
54053
54054
54055
54056
54057
54058
54059
54060
54061
54062
54063
54064
54065
54066
54067
54068
54069
54070
54071
54072
54073
54074
54075
54076
54077
54078
54079
54080
54081
54082
54083
54084
54085
54086
54087
54088
54089
54090
54091
54092
54093
54094
54095
54096
54097
54098
54099
54100
54101
54102
54103
54104
54105
54106
54107
54108
54109
54110
54111
54112
54113
54114
54115
54116
54117
54118
54119
54120
54121
54122
54123
54124
54125
54126
54127
54128
54129
54130
54131
54132
54133
54134
54135
54136
54137
54138
54139
54140
54141
54142
54143
54144
54145
54146
54147
54148
54149
54150
54151
54152
54153
54154
54155
54156
54157
54158
54159
54160
54161
54162
54163
54164
54165
54166
54167
54168
54169
54170
54171
54172
54173
54174
54175
54176
54177
54178
54179
54180
54181
54182
54183
54184
54185
54186
54187
54188
54189
54190
54191
54192
54193
54194
54195
54196
54197
54198
54199
54200
54201
54202
54203
54204
54205
54206
54207
54208
54209
54210
54211
54212
54213
54214
54215
54216
54217
54218
54219
54220
54221
54222
54223
54224
54225
54226
54227
54228
54229
54230
54231
54232
54233
54234
54235
54236
54237
54238
54239
54240
54241
54242
54243
54244
54245
54246
54247
54248
54249
54250
54251
54252
54253
54254
54255
54256
54257
54258
54259
54260
54261
54262
54263
54264
54265
54266
54267
54268
54269
54270
54271
54272
54273
54274
54275
54276
54277
54278
54279
54280
54281
54282
54283
54284
54285
54286
54287
54288
54289
54290
54291
54292
54293
54294
54295
54296
54297
54298
54299
54300
54301
54302
54303
54304
54305
54306
54307
54308
54309
54310
54311
54312
54313
54314
54315
54316
54317
54318
54319
54320
54321
54322
54323
54324
54325
54326
54327
54328
54329
54330
54331
54332
54333
54334
54335
54336
54337
54338
54339
54340
54341
54342
54343
54344
54345
54346
54347
54348
54349
54350
54351
54352
54353
54354
54355
54356
54357
54358
54359
54360
54361
54362
54363
54364
54365
54366
54367
54368
54369
54370
54371
54372
54373
54374
54375
54376
54377
54378
54379
54380
54381
54382
54383
54384
54385
54386
54387
54388
54389
54390
54391
54392
54393
54394
54395
54396
54397
54398
54399
54400
54401
54402
54403
54404
54405
54406
54407
54408
54409
54410
54411
54412
54413
54414
54415
54416
54417
54418
54419
54420
54421
54422
54423
54424
54425
54426
54427
54428
54429
54430
54431
54432
54433
54434
54435
54436
54437
54438
54439
54440
54441
54442
54443
54444
54445
54446
54447
54448
54449
54450
54451
54452
54453
54454
54455
54456
54457
54458
54459
54460
54461
54462
54463
54464
54465
54466
54467
54468
54469
54470
54471
54472
54473
54474
54475
54476
54477
54478
54479
54480
54481
54482
54483
54484
54485
54486
54487
54488
54489
54490
54491
54492
54493
54494
54495
54496
54497
54498
54499
54500
54501
54502
54503
54504
54505
54506
54507
54508
54509
54510
54511
54512
54513
54514
54515
54516
54517
54518
54519
54520
54521
54522
54523
54524
54525
54526
54527
54528
54529
54530
54531
54532
54533
54534
54535
54536
54537
54538
54539
54540
54541
54542
54543
54544
54545
54546
54547
54548
54549
54550
54551
54552
54553
54554
54555
54556
54557
54558
54559
54560
54561
54562
54563
54564
54565
54566
54567
54568
54569
54570
54571
54572
54573
54574
54575
54576
54577
54578
54579
54580
54581
54582
54583
54584
54585
54586
54587
54588
54589
54590
54591
54592
54593
54594
54595
54596
54597
54598
54599
54600
54601
54602
54603
54604
54605
54606
54607
54608
54609
54610
54611
54612
54613
54614
54615
54616
54617
54618
54619
54620
54621
54622
54623
54624
54625
54626
54627
54628
54629
54630
54631
54632
54633
54634
54635
54636
54637
54638
54639
54640
54641
54642
54643
54644
54645
54646
54647
54648
54649
54650
54651
54652
54653
54654
54655
54656
54657
54658
54659
54660
54661
54662
54663
54664
54665
54666
54667
54668
54669
54670
54671
54672
54673
54674
54675
54676
54677
54678
54679
54680
54681
54682
54683
54684
54685
54686
54687
54688
54689
54690
54691
54692
54693
54694
54695
54696
54697
54698
54699
54700
54701
54702
54703
54704
54705
54706
54707
54708
54709
54710
54711
54712
54713
54714
54715
54716
54717
54718
54719
54720
54721
54722
54723
54724
54725
54726
54727
54728
54729
54730
54731
54732
54733
54734
54735
54736
54737
54738
54739
54740
54741
54742
54743
54744
54745
54746
54747
54748
54749
54750
54751
54752
54753
54754
54755
54756
54757
54758
54759
54760
54761
54762
54763
54764
54765
54766
54767
54768
54769
54770
54771
54772
54773
54774
54775
54776
54777
54778
54779
54780
54781
54782
54783
54784
54785
54786
54787
54788
54789
54790
54791
54792
54793
54794
54795
54796
54797
54798
54799
54800
54801
54802
54803
54804
54805
54806
54807
54808
54809
54810
54811
54812
54813
54814
54815
54816
54817
54818
54819
54820
54821
54822
54823
54824
54825
54826
54827
54828
54829
54830
54831
54832
54833
54834
54835
54836
54837
54838
54839
54840
54841
54842
54843
54844
54845
54846
54847
54848
54849
54850
54851
54852
54853
54854
54855
54856
54857
54858
54859
54860
54861
54862
54863
54864
54865
54866
54867
54868
54869
54870
54871
54872
54873
54874
54875
54876
54877
54878
54879
54880
54881
54882
54883
54884
54885
54886
54887
54888
54889
54890
54891
54892
54893
54894
54895
54896
54897
54898
54899
54900
54901
54902
54903
54904
54905
54906
54907
54908
54909
54910
54911
54912
54913
54914
54915
54916
54917
54918
54919
54920
54921
54922
54923
54924
54925
54926
54927
54928
54929
54930
54931
54932
54933
54934
54935
54936
54937
54938
54939
54940
54941
54942
54943
54944
54945
54946
54947
54948
54949
54950
54951
54952
54953
54954
54955
54956
54957
54958
54959
54960
54961
54962
54963
54964
54965
54966
54967
54968
54969
54970
54971
54972
54973
54974
54975
54976
54977
54978
54979
54980
54981
54982
54983
54984
54985
54986
54987
54988
54989
54990
54991
54992
54993
54994
54995
54996
54997
54998
54999
55000
55001
55002
55003
55004
55005
55006
55007
55008
55009
55010
55011
55012
55013
55014
55015
55016
55017
55018
55019
55020
55021
55022
55023
55024
55025
55026
55027
55028
55029
55030
55031
55032
55033
55034
55035
55036
55037
55038
55039
55040
55041
55042
55043
55044
55045
55046
55047
55048
55049
55050
55051
55052
55053
55054
55055
55056
55057
55058
55059
55060
55061
55062
55063
55064
55065
55066
55067
55068
55069
55070
55071
55072
55073
55074
55075
55076
55077
55078
55079
55080
55081
55082
55083
55084
55085
55086
55087
55088
55089
55090
55091
55092
55093
55094
55095
55096
55097
55098
55099
55100
55101
55102
55103
55104
55105
55106
55107
55108
55109
55110
55111
55112
55113
55114
55115
55116
55117
55118
55119
55120
55121
55122
55123
55124
55125
55126
55127
55128
55129
55130
55131
55132
55133
55134
55135
55136
55137
55138
55139
55140
55141
55142
55143
55144
55145
55146
55147
55148
55149
55150
55151
55152
55153
55154
55155
55156
55157
55158
55159
55160
55161
55162
55163
55164
55165
55166
55167
55168
55169
55170
55171
55172
55173
55174
55175
55176
55177
55178
55179
55180
55181
55182
55183
55184
55185
55186
55187
55188
55189
55190
55191
55192
55193
55194
55195
55196
55197
55198
55199
55200
55201
55202
55203
55204
55205
55206
55207
55208
55209
55210
55211
55212
55213
55214
55215
55216
55217
55218
55219
55220
55221
55222
55223
55224
55225
55226
55227
55228
55229
55230
55231
55232
55233
55234
55235
55236
55237
55238
55239
55240
55241
55242
55243
55244
55245
55246
55247
55248
55249
55250
55251
55252
55253
55254
55255
55256
55257
55258
55259
55260
55261
55262
55263
55264
55265
55266
55267
55268
55269
55270
55271
55272
55273
55274
55275
55276
55277
55278
55279
55280
55281
55282
55283
55284
55285
55286
55287
55288
55289
55290
55291
55292
55293
55294
55295
55296
55297
55298
55299
55300
55301
55302
55303
55304
55305
55306
55307
55308
55309
55310
55311
55312
55313
55314
55315
55316
55317
55318
55319
55320
55321
55322
55323
55324
55325
55326
55327
55328
55329
55330
55331
55332
55333
55334
55335
55336
55337
55338
55339
55340
55341
55342
55343
55344
55345
55346
55347
55348
55349
55350
55351
55352
55353
55354
55355
55356
55357
55358
55359
55360
55361
55362
55363
55364
55365
55366
55367
55368
55369
55370
55371
55372
55373
55374
55375
55376
55377
55378
55379
55380
55381
55382
55383
55384
55385
55386
55387
55388
55389
55390
55391
55392
55393
55394
55395
55396
55397
55398
55399
55400
55401
55402
55403
55404
55405
55406
55407
55408
55409
55410
55411
55412
55413
55414
55415
55416
55417
55418
55419
55420
55421
55422
55423
55424
55425
55426
55427
55428
55429
55430
55431
55432
55433
55434
55435
55436
55437
55438
55439
55440
55441
55442
55443
55444
55445
55446
55447
55448
55449
55450
55451
55452
55453
55454
55455
55456
55457
55458
55459
55460
55461
55462
55463
55464
55465
55466
55467
55468
55469
55470
55471
55472
55473
55474
55475
55476
55477
55478
55479
55480
55481
55482
55483
55484
55485
55486
55487
55488
55489
55490
55491
55492
55493
55494
55495
55496
55497
55498
55499
55500
55501
55502
55503
55504
55505
55506
55507
55508
55509
55510
55511
55512
55513
55514
55515
55516
55517
55518
55519
55520
55521
55522
55523
55524
55525
55526
55527
55528
55529
55530
55531
55532
55533
55534
55535
55536
55537
55538
55539
55540
55541
55542
55543
55544
55545
55546
55547
55548
55549
55550
55551
55552
55553
55554
55555
55556
55557
55558
55559
55560
55561
55562
55563
55564
55565
55566
55567
55568
55569
55570
55571
55572
55573
55574
55575
55576
55577
55578
55579
55580
55581
55582
55583
55584
55585
55586
55587
55588
55589
55590
55591
55592
55593
55594
55595
55596
55597
55598
55599
55600
55601
55602
55603
55604
55605
55606
55607
55608
55609
55610
55611
55612
55613
55614
55615
55616
55617
55618
55619
55620
55621
55622
55623
55624
55625
55626
55627
55628
55629
55630
55631
55632
55633
55634
55635
55636
55637
55638
55639
55640
55641
55642
55643
55644
55645
55646
55647
55648
55649
55650
55651
55652
55653
55654
55655
55656
55657
55658
55659
55660
55661
55662
55663
55664
55665
55666
55667
55668
55669
55670
55671
55672
55673
55674
55675
55676
55677
55678
55679
55680
55681
55682
55683
55684
55685
55686
55687
55688
55689
55690
55691
55692
55693
55694
55695
55696
55697
55698
55699
55700
55701
55702
55703
55704
55705
55706
55707
55708
55709
55710
55711
55712
55713
55714
55715
55716
55717
55718
55719
55720
55721
55722
55723
55724
55725
55726
55727
55728
55729
55730
55731
55732
55733
55734
55735
55736
55737
55738
55739
55740
55741
55742
55743
55744
55745
55746
55747
55748
55749
55750
55751
55752
55753
55754
55755
55756
55757
55758
55759
55760
55761
55762
55763
55764
55765
55766
55767
55768
55769
55770
55771
55772
55773
55774
55775
55776
55777
55778
55779
55780
55781
55782
55783
55784
55785
55786
55787
55788
55789
55790
55791
55792
55793
55794
55795
55796
55797
55798
55799
55800
55801
55802
55803
55804
55805
55806
55807
55808
55809
55810
55811
55812
55813
55814
55815
55816
55817
55818
55819
55820
55821
55822
55823
55824
55825
55826
55827
55828
55829
55830
55831
55832
55833
55834
55835
55836
55837
55838
55839
55840
55841
55842
55843
55844
55845
55846
55847
55848
55849
55850
55851
55852
55853
55854
55855
55856
55857
55858
55859
55860
55861
55862
55863
55864
55865
55866
55867
55868
55869
55870
55871
55872
55873
55874
55875
55876
55877
55878
55879
55880
55881
55882
55883
55884
55885
55886
55887
55888
55889
55890
55891
55892
55893
55894
55895
55896
55897
55898
55899
55900
55901
55902
55903
55904
55905
55906
55907
55908
55909
55910
55911
55912
55913
55914
55915
55916
55917
55918
55919
55920
55921
55922
55923
55924
55925
55926
55927
55928
55929
55930
55931
55932
55933
55934
55935
55936
55937
55938
55939
55940
55941
55942
55943
55944
55945
55946
55947
55948
55949
55950
55951
55952
55953
55954
55955
55956
55957
55958
55959
55960
55961
55962
55963
55964
55965
55966
55967
55968
55969
55970
55971
55972
55973
55974
55975
55976
55977
55978
55979
55980
55981
55982
55983
55984
55985
55986
55987
55988
55989
55990
55991
55992
55993
55994
55995
55996
55997
55998
55999
56000
56001
56002
56003
56004
56005
56006
56007
56008
56009
56010
56011
56012
56013
56014
56015
56016
56017
56018
56019
56020
56021
56022
56023
56024
56025
56026
56027
56028
56029
56030
56031
56032
56033
56034
56035
56036
56037
56038
56039
56040
56041
56042
56043
56044
56045
56046
56047
56048
56049
56050
56051
56052
56053
56054
56055
56056
56057
56058
56059
56060
56061
56062
56063
56064
56065
56066
56067
56068
56069
56070
56071
56072
56073
56074
56075
56076
56077
56078
56079
56080
56081
56082
56083
56084
56085
56086
56087
56088
56089
56090
56091
56092
56093
56094
56095
56096
56097
56098
56099
56100
56101
56102
56103
56104
56105
56106
56107
56108
56109
56110
56111
56112
56113
56114
56115
56116
56117
56118
56119
56120
56121
56122
56123
56124
56125
56126
56127
56128
56129
56130
56131
56132
56133
56134
56135
56136
56137
56138
56139
56140
56141
56142
56143
56144
56145
56146
56147
56148
56149
56150
56151
56152
56153
56154
56155
56156
56157
56158
56159
56160
56161
56162
56163
56164
56165
56166
56167
56168
56169
56170
56171
56172
56173
56174
56175
56176
56177
56178
56179
56180
56181
56182
56183
56184
56185
56186
56187
56188
56189
56190
56191
56192
56193
56194
56195
56196
56197
56198
56199
56200
56201
56202
56203
56204
56205
56206
56207
56208
56209
56210
56211
56212
56213
56214
56215
56216
56217
56218
56219
56220
56221
56222
56223
56224
56225
56226
56227
56228
56229
56230
56231
56232
56233
56234
56235
56236
56237
56238
56239
56240
56241
56242
56243
56244
56245
56246
56247
56248
56249
56250
56251
56252
56253
56254
56255
56256
56257
56258
56259
56260
56261
56262
56263
56264
56265
56266
56267
56268
56269
56270
56271
56272
56273
56274
56275
56276
56277
56278
56279
56280
56281
56282
56283
56284
56285
56286
56287
56288
56289
56290
56291
56292
56293
56294
56295
56296
56297
56298
56299
56300
56301
56302
56303
56304
56305
56306
56307
56308
56309
56310
56311
56312
56313
56314
56315
56316
56317
56318
56319
56320
56321
56322
56323
56324
56325
56326
56327
56328
56329
56330
56331
56332
56333
56334
56335
56336
56337
56338
56339
56340
56341
56342
56343
56344
56345
56346
56347
56348
56349
56350
56351
56352
56353
56354
56355
56356
56357
56358
56359
56360
56361
56362
56363
56364
56365
56366
56367
56368
56369
56370
56371
56372
56373
56374
56375
56376
56377
56378
56379
56380
56381
56382
56383
56384
56385
56386
56387
56388
56389
56390
56391
56392
56393
56394
56395
56396
56397
56398
56399
56400
56401
56402
56403
56404
56405
56406
56407
56408
56409
56410
56411
56412
56413
56414
56415
56416
56417
56418
56419
56420
56421
56422
56423
56424
56425
56426
56427
56428
56429
56430
56431
56432
56433
56434
56435
56436
56437
56438
56439
56440
56441
56442
56443
56444
56445
56446
56447
56448
56449
56450
56451
56452
56453
56454
56455
56456
56457
56458
56459
56460
56461
56462
56463
56464
56465
56466
56467
56468
56469
56470
56471
56472
56473
56474
56475
56476
56477
56478
56479
56480
56481
56482
56483
56484
56485
56486
56487
56488
56489
56490
56491
56492
56493
56494
56495
56496
56497
56498
56499
56500
56501
56502
56503
56504
56505
56506
56507
56508
56509
56510
56511
56512
56513
56514
56515
56516
56517
56518
56519
56520
56521
56522
56523
56524
56525
56526
56527
56528
56529
56530
56531
56532
56533
56534
56535
56536
56537
56538
56539
56540
56541
56542
56543
56544
56545
56546
56547
56548
56549
56550
56551
56552
56553
56554
56555
56556
56557
56558
56559
56560
56561
56562
56563
56564
56565
56566
56567
56568
56569
56570
56571
56572
56573
56574
56575
56576
56577
56578
56579
56580
56581
56582
56583
56584
56585
56586
56587
56588
56589
56590
56591
56592
56593
56594
56595
56596
56597
56598
56599
56600
56601
56602
56603
56604
56605
56606
56607
56608
56609
56610
56611
56612
56613
56614
56615
56616
56617
56618
56619
56620
56621
56622
56623
56624
56625
56626
56627
56628
56629
56630
56631
56632
56633
56634
56635
56636
56637
56638
56639
56640
56641
56642
56643
56644
56645
56646
56647
56648
56649
56650
56651
56652
56653
56654
56655
56656
56657
56658
56659
56660
56661
56662
56663
56664
56665
56666
56667
56668
56669
56670
56671
56672
56673
56674
56675
56676
56677
56678
56679
56680
56681
56682
56683
56684
56685
56686
56687
56688
56689
56690
56691
56692
56693
56694
56695
56696
56697
56698
56699
56700
56701
56702
56703
56704
56705
56706
56707
56708
56709
56710
56711
56712
56713
56714
56715
56716
56717
56718
56719
56720
56721
56722
56723
56724
56725
56726
56727
56728
56729
56730
56731
56732
56733
56734
56735
56736
56737
56738
56739
56740
56741
56742
56743
56744
56745
56746
56747
56748
56749
56750
56751
56752
56753
56754
56755
56756
56757
56758
56759
56760
56761
56762
56763
56764
56765
56766
56767
56768
56769
56770
56771
56772
56773
56774
56775
56776
56777
56778
56779
56780
56781
56782
56783
56784
56785
56786
56787
56788
56789
56790
56791
56792
56793
56794
56795
56796
56797
56798
56799
56800
56801
56802
56803
56804
56805
56806
56807
56808
56809
56810
56811
56812
56813
56814
56815
56816
56817
56818
56819
56820
56821
56822
56823
56824
56825
56826
56827
56828
56829
56830
56831
.include "macros.inc"

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

.global func_803A60D8
func_803A60D8:
/* 803A60D8 003A1D38  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A60DC 003A1D3C  7C 08 02 A6 */	mflr r0
/* 803A60E0 003A1D40  38 60 00 05 */	li r3, 5
/* 803A60E4 003A1D44  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A60E8 003A1D48  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A60EC 003A1D4C  93 C1 00 08 */	stw r30, 8(r1)
/* 803A60F0 003A1D50  7C 9E 23 78 */	mr r30, r4
/* 803A60F4 003A1D54  38 80 01 94 */	li r4, 0x194
/* 803A60F8 003A1D58  4B DC 7E 79 */	bl func_8016DF70
/* 803A60FC 003A1D5C  7C 7F 1B 78 */	mr r31, r3
/* 803A6100 003A1D60  38 80 00 00 */	li r4, 0
/* 803A6104 003A1D64  38 A0 01 94 */	li r5, 0x194
/* 803A6108 003A1D68  4B C5 DF FD */	bl memset
/* 803A610C 003A1D6C  88 1E 00 00 */	lbz r0, 0(r30)
/* 803A6110 003A1D70  7F E3 FB 78 */	mr r3, r31
/* 803A6114 003A1D74  98 1F 01 84 */	stb r0, 0x184(r31)
/* 803A6118 003A1D78  88 1E 00 01 */	lbz r0, 1(r30)
/* 803A611C 003A1D7C  98 1F 01 85 */	stb r0, 0x185(r31)
/* 803A6120 003A1D80  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6124 003A1D84  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A6128 003A1D88  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A612C 003A1D8C  7C 08 03 A6 */	mtlr r0
/* 803A6130 003A1D90  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6134 003A1D94  4E 80 00 20 */	blr 

.global func_803A6138
func_803A6138:
/* 803A6138 003A1D98  88 04 00 84 */	lbz r0, 0x84(r4)
/* 803A613C 003A1D9C  2C 00 00 00 */	cmpwi r0, 0
/* 803A6140 003A1DA0  4D 82 00 20 */	beqlr 
/* 803A6144 003A1DA4  3C A0 80 40 */	lis r5, lbl_80405048@ha
/* 803A6148 003A1DA8  54 00 15 BA */	rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A614C 003A1DAC  38 A5 50 48 */	addi r5, r5, lbl_80405048@l
/* 803A6150 003A1DB0  7D 85 00 2E */	lwzx r12, r5, r0
/* 803A6154 003A1DB4  7D 89 03 A6 */	mtctr r12
/* 803A6158 003A1DB8  4E 80 04 20 */	bctr 
/* 803A615C 003A1DBC  4E 80 00 20 */	blr 

.global func_803A6160
func_803A6160:
/* 803A6160 003A1DC0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6164 003A1DC4  7C 08 02 A6 */	mflr r0
/* 803A6168 003A1DC8  2C 05 00 02 */	cmpwi r5, 2
/* 803A616C 003A1DCC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6170 003A1DD0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6174 003A1DD4  7C 9F 23 78 */	mr r31, r4
/* 803A6178 003A1DD8  41 82 00 0C */	beq lbl_803A6184
/* 803A617C 003A1DDC  38 64 00 28 */	addi r3, r4, 0x28
/* 803A6180 003A1DE0  48 03 36 89 */	bl func_803D9808
lbl_803A6184:
/* 803A6184 003A1DE4  7F E3 FB 78 */	mr r3, r31
/* 803A6188 003A1DE8  48 03 36 C9 */	bl func_803D9850
/* 803A618C 003A1DEC  7F E3 FB 78 */	mr r3, r31
/* 803A6190 003A1DF0  4B DC 7F 11 */	bl func_8016E0A0
/* 803A6194 003A1DF4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6198 003A1DF8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A619C 003A1DFC  7C 08 03 A6 */	mtlr r0
/* 803A61A0 003A1E00  38 21 00 10 */	addi r1, r1, 0x10
/* 803A61A4 003A1E04  4E 80 00 20 */	blr 
/* 803A61A8 003A1E08  4E 80 00 20 */	blr 
/* 803A61AC 003A1E0C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A61B0 003A1E10  7C 08 02 A6 */	mflr r0
/* 803A61B4 003A1E14  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A61B8 003A1E18  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A61BC 003A1E1C  7C 9F 23 78 */	mr r31, r4
/* 803A61C0 003A1E20  93 C1 00 08 */	stw r30, 8(r1)
/* 803A61C4 003A1E24  7C 7E 1B 78 */	mr r30, r3
/* 803A61C8 003A1E28  48 00 12 51 */	bl func_803A7418
/* 803A61CC 003A1E2C  88 9F 01 84 */	lbz r4, 0x184(r31)
/* 803A61D0 003A1E30  7F C3 F3 78 */	mr r3, r30
/* 803A61D4 003A1E34  38 A0 00 01 */	li r5, 1
/* 803A61D8 003A1E38  48 00 C3 99 */	bl func_803B2570
/* 803A61DC 003A1E3C  38 00 00 00 */	li r0, 0
/* 803A61E0 003A1E40  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A61E4 003A1E44  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A61E8 003A1E48  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A61EC 003A1E4C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A61F0 003A1E50  7C 08 03 A6 */	mtlr r0
/* 803A61F4 003A1E54  38 21 00 10 */	addi r1, r1, 0x10
/* 803A61F8 003A1E58  4E 80 00 20 */	blr 
/* 803A61FC 003A1E5C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6200 003A1E60  7C 08 02 A6 */	mflr r0
/* 803A6204 003A1E64  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6208 003A1E68  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A620C 003A1E6C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6210 003A1E70  7C 9F 23 78 */	mr r31, r4
/* 803A6214 003A1E74  48 00 12 19 */	bl func_803A742C
/* 803A6218 003A1E78  38 00 00 00 */	li r0, 0
/* 803A621C 003A1E7C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6220 003A1E80  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6224 003A1E84  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6228 003A1E88  7C 08 03 A6 */	mtlr r0
/* 803A622C 003A1E8C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6230 003A1E90  4E 80 00 20 */	blr 
/* 803A6234 003A1E94  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6238 003A1E98  7C 08 02 A6 */	mflr r0
/* 803A623C 003A1E9C  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6240 003A1EA0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6244 003A1EA4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6248 003A1EA8  7C 9F 23 78 */	mr r31, r4
/* 803A624C 003A1EAC  48 00 12 6D */	bl func_803A74B8
/* 803A6250 003A1EB0  38 00 00 00 */	li r0, 0
/* 803A6254 003A1EB4  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6258 003A1EB8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A625C 003A1EBC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6260 003A1EC0  7C 08 03 A6 */	mtlr r0
/* 803A6264 003A1EC4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6268 003A1EC8  4E 80 00 20 */	blr 
/* 803A626C 003A1ECC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6270 003A1ED0  7C 08 02 A6 */	mflr r0
/* 803A6274 003A1ED4  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6278 003A1ED8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A627C 003A1EDC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6280 003A1EE0  7C 9F 23 78 */	mr r31, r4
/* 803A6284 003A1EE4  48 00 12 A1 */	bl func_803A7524
/* 803A6288 003A1EE8  38 00 00 00 */	li r0, 0
/* 803A628C 003A1EEC  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6290 003A1EF0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6294 003A1EF4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6298 003A1EF8  7C 08 03 A6 */	mtlr r0
/* 803A629C 003A1EFC  38 21 00 10 */	addi r1, r1, 0x10
/* 803A62A0 003A1F00  4E 80 00 20 */	blr 
/* 803A62A4 003A1F04  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A62A8 003A1F08  7C 08 02 A6 */	mflr r0
/* 803A62AC 003A1F0C  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A62B0 003A1F10  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A62B4 003A1F14  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A62B8 003A1F18  7C 9F 23 78 */	mr r31, r4
/* 803A62BC 003A1F1C  48 00 12 E5 */	bl func_803A75A0
/* 803A62C0 003A1F20  38 00 00 00 */	li r0, 0
/* 803A62C4 003A1F24  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A62C8 003A1F28  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A62CC 003A1F2C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A62D0 003A1F30  7C 08 03 A6 */	mtlr r0
/* 803A62D4 003A1F34  38 21 00 10 */	addi r1, r1, 0x10
/* 803A62D8 003A1F38  4E 80 00 20 */	blr 
/* 803A62DC 003A1F3C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A62E0 003A1F40  7C 08 02 A6 */	mflr r0
/* 803A62E4 003A1F44  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A62E8 003A1F48  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A62EC 003A1F4C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A62F0 003A1F50  7C 9F 23 78 */	mr r31, r4
/* 803A62F4 003A1F54  48 00 13 35 */	bl func_803A7628
/* 803A62F8 003A1F58  38 00 00 00 */	li r0, 0
/* 803A62FC 003A1F5C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6300 003A1F60  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6304 003A1F64  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6308 003A1F68  7C 08 03 A6 */	mtlr r0
/* 803A630C 003A1F6C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6310 003A1F70  4E 80 00 20 */	blr 
/* 803A6314 003A1F74  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6318 003A1F78  7C 08 02 A6 */	mflr r0
/* 803A631C 003A1F7C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6320 003A1F80  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6324 003A1F84  7C 9F 23 78 */	mr r31, r4
/* 803A6328 003A1F88  93 C1 00 08 */	stw r30, 8(r1)
/* 803A632C 003A1F8C  7C 7E 1B 78 */	mr r30, r3
/* 803A6330 003A1F90  80 64 00 20 */	lwz r3, 0x20(r4)
/* 803A6334 003A1F94  48 03 34 D1 */	bl func_803D9804
/* 803A6338 003A1F98  88 9F 01 84 */	lbz r4, 0x184(r31)
/* 803A633C 003A1F9C  7F C3 F3 78 */	mr r3, r30
/* 803A6340 003A1FA0  38 A0 00 07 */	li r5, 7
/* 803A6344 003A1FA4  48 00 C2 2D */	bl func_803B2570
/* 803A6348 003A1FA8  38 00 00 00 */	li r0, 0
/* 803A634C 003A1FAC  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6350 003A1FB0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6354 003A1FB4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A6358 003A1FB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A635C 003A1FBC  7C 08 03 A6 */	mtlr r0
/* 803A6360 003A1FC0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6364 003A1FC4  4E 80 00 20 */	blr 
/* 803A6368 003A1FC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A636C 003A1FCC  7C 08 02 A6 */	mflr r0
/* 803A6370 003A1FD0  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6374 003A1FD4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6378 003A1FD8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A637C 003A1FDC  7C 9F 23 78 */	mr r31, r4
/* 803A6380 003A1FE0  48 00 13 15 */	bl func_803A7694
/* 803A6384 003A1FE4  38 00 00 00 */	li r0, 0
/* 803A6388 003A1FE8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A638C 003A1FEC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6390 003A1FF0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6394 003A1FF4  7C 08 03 A6 */	mtlr r0
/* 803A6398 003A1FF8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A639C 003A1FFC  4E 80 00 20 */	blr 
/* 803A63A0 003A2000  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A63A4 003A2004  7C 08 02 A6 */	mflr r0
/* 803A63A8 003A2008  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A63AC 003A200C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A63B0 003A2010  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A63B4 003A2014  7C 9F 23 78 */	mr r31, r4
/* 803A63B8 003A2018  48 00 13 51 */	bl func_803A7708
/* 803A63BC 003A201C  38 00 00 00 */	li r0, 0
/* 803A63C0 003A2020  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A63C4 003A2024  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A63C8 003A2028  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A63CC 003A202C  7C 08 03 A6 */	mtlr r0
/* 803A63D0 003A2030  38 21 00 10 */	addi r1, r1, 0x10
/* 803A63D4 003A2034  4E 80 00 20 */	blr 
/* 803A63D8 003A2038  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A63DC 003A203C  7C 08 02 A6 */	mflr r0
/* 803A63E0 003A2040  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A63E4 003A2044  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A63E8 003A2048  7C 9F 23 78 */	mr r31, r4
/* 803A63EC 003A204C  48 00 13 89 */	bl func_803A7774
/* 803A63F0 003A2050  38 00 00 00 */	li r0, 0
/* 803A63F4 003A2054  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A63F8 003A2058  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A63FC 003A205C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6400 003A2060  7C 08 03 A6 */	mtlr r0
/* 803A6404 003A2064  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6408 003A2068  4E 80 00 20 */	blr 
/* 803A640C 003A206C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6410 003A2070  7C 08 02 A6 */	mflr r0
/* 803A6414 003A2074  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6418 003A2078  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A641C 003A207C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6420 003A2080  7C 9F 23 78 */	mr r31, r4
/* 803A6424 003A2084  48 00 13 C1 */	bl func_803A77E4
/* 803A6428 003A2088  38 00 00 00 */	li r0, 0
/* 803A642C 003A208C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6430 003A2090  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6434 003A2094  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6438 003A2098  7C 08 03 A6 */	mtlr r0
/* 803A643C 003A209C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6440 003A20A0  4E 80 00 20 */	blr 
/* 803A6444 003A20A4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6448 003A20A8  7C 08 02 A6 */	mflr r0
/* 803A644C 003A20AC  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6450 003A20B0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6454 003A20B4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6458 003A20B8  7C 9F 23 78 */	mr r31, r4
/* 803A645C 003A20BC  48 00 13 FD */	bl func_803A7858
/* 803A6460 003A20C0  38 00 00 00 */	li r0, 0
/* 803A6464 003A20C4  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6468 003A20C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A646C 003A20CC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6470 003A20D0  7C 08 03 A6 */	mtlr r0
/* 803A6474 003A20D4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6478 003A20D8  4E 80 00 20 */	blr 
/* 803A647C 003A20DC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6480 003A20E0  7C 08 02 A6 */	mflr r0
/* 803A6484 003A20E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6488 003A20E8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A648C 003A20EC  7C 9F 23 78 */	mr r31, r4
/* 803A6490 003A20F0  48 00 14 3D */	bl func_803A78CC
/* 803A6494 003A20F4  38 00 00 00 */	li r0, 0
/* 803A6498 003A20F8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A649C 003A20FC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A64A0 003A2100  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A64A4 003A2104  7C 08 03 A6 */	mtlr r0
/* 803A64A8 003A2108  38 21 00 10 */	addi r1, r1, 0x10
/* 803A64AC 003A210C  4E 80 00 20 */	blr 
/* 803A64B0 003A2110  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A64B4 003A2114  7C 08 02 A6 */	mflr r0
/* 803A64B8 003A2118  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A64BC 003A211C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A64C0 003A2120  4B E2 0C 71 */	bl _savegpr_29
/* 803A64C4 003A2124  3B E4 00 84 */	addi r31, r4, 0x84
/* 803A64C8 003A2128  7C 9E 23 78 */	mr r30, r4
/* 803A64CC 003A212C  88 84 00 AD */	lbz r4, 0xad(r4)
/* 803A64D0 003A2130  7C 7D 1B 78 */	mr r29, r3
/* 803A64D4 003A2134  48 00 77 ED */	bl func_803ADCC0
/* 803A64D8 003A2138  7F A3 EB 78 */	mr r3, r29
/* 803A64DC 003A213C  7F C4 F3 78 */	mr r4, r30
/* 803A64E0 003A2140  7F E5 FB 78 */	mr r5, r31
/* 803A64E4 003A2144  48 00 14 5D */	bl func_803A7940
/* 803A64E8 003A2148  38 00 00 00 */	li r0, 0
/* 803A64EC 003A214C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A64F0 003A2150  98 1E 00 84 */	stb r0, 0x84(r30)
/* 803A64F4 003A2154  4B E2 0C 89 */	bl _restgpr_29
/* 803A64F8 003A2158  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A64FC 003A215C  7C 08 03 A6 */	mtlr r0
/* 803A6500 003A2160  38 21 00 20 */	addi r1, r1, 0x20
/* 803A6504 003A2164  4E 80 00 20 */	blr 
/* 803A6508 003A2168  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A650C 003A216C  7C 08 02 A6 */	mflr r0
/* 803A6510 003A2170  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6514 003A2174  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6518 003A2178  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A651C 003A217C  7C 9F 23 78 */	mr r31, r4
/* 803A6520 003A2180  48 00 15 99 */	bl func_803A7AB8
/* 803A6524 003A2184  38 00 00 00 */	li r0, 0
/* 803A6528 003A2188  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A652C 003A218C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6530 003A2190  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6534 003A2194  7C 08 03 A6 */	mtlr r0
/* 803A6538 003A2198  38 21 00 10 */	addi r1, r1, 0x10
/* 803A653C 003A219C  4E 80 00 20 */	blr 
/* 803A6540 003A21A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6544 003A21A4  7C 08 02 A6 */	mflr r0
/* 803A6548 003A21A8  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A654C 003A21AC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6550 003A21B0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6554 003A21B4  7C 9F 23 78 */	mr r31, r4
/* 803A6558 003A21B8  48 00 16 31 */	bl func_803A7B88
/* 803A655C 003A21BC  38 00 00 00 */	li r0, 0
/* 803A6560 003A21C0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6564 003A21C4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6568 003A21C8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A656C 003A21CC  7C 08 03 A6 */	mtlr r0
/* 803A6570 003A21D0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6574 003A21D4  4E 80 00 20 */	blr 
/* 803A6578 003A21D8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A657C 003A21DC  7C 08 02 A6 */	mflr r0
/* 803A6580 003A21E0  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6584 003A21E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6588 003A21E8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A658C 003A21EC  7C 9F 23 78 */	mr r31, r4
/* 803A6590 003A21F0  48 00 17 0D */	bl func_803A7C9C
/* 803A6594 003A21F4  38 00 00 00 */	li r0, 0
/* 803A6598 003A21F8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A659C 003A21FC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A65A0 003A2200  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A65A4 003A2204  7C 08 03 A6 */	mtlr r0
/* 803A65A8 003A2208  38 21 00 10 */	addi r1, r1, 0x10
/* 803A65AC 003A220C  4E 80 00 20 */	blr 
/* 803A65B0 003A2210  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A65B4 003A2214  7C 08 02 A6 */	mflr r0
/* 803A65B8 003A2218  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A65BC 003A221C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A65C0 003A2220  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A65C4 003A2224  7C 9F 23 78 */	mr r31, r4
/* 803A65C8 003A2228  48 00 18 01 */	bl func_803A7DC8
/* 803A65CC 003A222C  38 00 00 00 */	li r0, 0
/* 803A65D0 003A2230  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A65D4 003A2234  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A65D8 003A2238  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A65DC 003A223C  7C 08 03 A6 */	mtlr r0
/* 803A65E0 003A2240  38 21 00 10 */	addi r1, r1, 0x10
/* 803A65E4 003A2244  4E 80 00 20 */	blr 
/* 803A65E8 003A2248  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A65EC 003A224C  7C 08 02 A6 */	mflr r0
/* 803A65F0 003A2250  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A65F4 003A2254  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A65F8 003A2258  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A65FC 003A225C  7C 9F 23 78 */	mr r31, r4
/* 803A6600 003A2260  48 00 18 AD */	bl func_803A7EAC
/* 803A6604 003A2264  38 00 00 00 */	li r0, 0
/* 803A6608 003A2268  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A660C 003A226C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6610 003A2270  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6614 003A2274  7C 08 03 A6 */	mtlr r0
/* 803A6618 003A2278  38 21 00 10 */	addi r1, r1, 0x10
/* 803A661C 003A227C  4E 80 00 20 */	blr 
/* 803A6620 003A2280  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6624 003A2284  7C 08 02 A6 */	mflr r0
/* 803A6628 003A2288  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A662C 003A228C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6630 003A2290  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6634 003A2294  7C 9F 23 78 */	mr r31, r4
/* 803A6638 003A2298  48 00 19 0D */	bl func_803A7F44
/* 803A663C 003A229C  38 00 00 00 */	li r0, 0
/* 803A6640 003A22A0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6644 003A22A4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6648 003A22A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A664C 003A22AC  7C 08 03 A6 */	mtlr r0
/* 803A6650 003A22B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6654 003A22B4  4E 80 00 20 */	blr 
/* 803A6658 003A22B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A665C 003A22BC  7C 08 02 A6 */	mflr r0
/* 803A6660 003A22C0  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6664 003A22C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6668 003A22C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A666C 003A22CC  7C 9F 23 78 */	mr r31, r4
/* 803A6670 003A22D0  48 00 19 A1 */	bl func_803A8010
/* 803A6674 003A22D4  38 00 00 00 */	li r0, 0
/* 803A6678 003A22D8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A667C 003A22DC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6680 003A22E0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6684 003A22E4  7C 08 03 A6 */	mtlr r0
/* 803A6688 003A22E8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A668C 003A22EC  4E 80 00 20 */	blr 
/* 803A6690 003A22F0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6694 003A22F4  7C 08 02 A6 */	mflr r0
/* 803A6698 003A22F8  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A669C 003A22FC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A66A0 003A2300  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A66A4 003A2304  7C 9F 23 78 */	mr r31, r4
/* 803A66A8 003A2308  48 00 1A 01 */	bl func_803A80A8
/* 803A66AC 003A230C  38 00 00 00 */	li r0, 0
/* 803A66B0 003A2310  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A66B4 003A2314  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A66B8 003A2318  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A66BC 003A231C  7C 08 03 A6 */	mtlr r0
/* 803A66C0 003A2320  38 21 00 10 */	addi r1, r1, 0x10
/* 803A66C4 003A2324  4E 80 00 20 */	blr 
/* 803A66C8 003A2328  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A66CC 003A232C  7C 08 02 A6 */	mflr r0
/* 803A66D0 003A2330  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A66D4 003A2334  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A66D8 003A2338  7C 9F 23 78 */	mr r31, r4
/* 803A66DC 003A233C  93 C1 00 08 */	stw r30, 8(r1)
/* 803A66E0 003A2340  7C 7E 1B 78 */	mr r30, r3
/* 803A66E4 003A2344  80 64 00 20 */	lwz r3, 0x20(r4)
/* 803A66E8 003A2348  38 80 00 02 */	li r4, 2
/* 803A66EC 003A234C  48 03 31 11 */	bl func_803D97FC
/* 803A66F0 003A2350  2C 03 00 01 */	cmpwi r3, 1
/* 803A66F4 003A2354  40 82 00 18 */	bne lbl_803A670C
/* 803A66F8 003A2358  88 9F 01 84 */	lbz r4, 0x184(r31)
/* 803A66FC 003A235C  7F C3 F3 78 */	mr r3, r30
/* 803A6700 003A2360  38 A0 00 17 */	li r5, 0x17
/* 803A6704 003A2364  48 00 BE 6D */	bl func_803B2570
/* 803A6708 003A2368  48 00 00 10 */	b lbl_803A6718
lbl_803A670C:
/* 803A670C 003A236C  7F C3 F3 78 */	mr r3, r30
/* 803A6710 003A2370  7F E4 FB 78 */	mr r4, r31
/* 803A6714 003A2374  48 00 1B 79 */	bl func_803A828C
lbl_803A6718:
/* 803A6718 003A2378  38 00 00 00 */	li r0, 0
/* 803A671C 003A237C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6720 003A2380  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6724 003A2384  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A6728 003A2388  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A672C 003A238C  7C 08 03 A6 */	mtlr r0
/* 803A6730 003A2390  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6734 003A2394  4E 80 00 20 */	blr 
/* 803A6738 003A2398  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A673C 003A239C  7C 08 02 A6 */	mflr r0
/* 803A6740 003A23A0  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6744 003A23A4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6748 003A23A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A674C 003A23AC  7C 9F 23 78 */	mr r31, r4
/* 803A6750 003A23B0  48 00 1B 9D */	bl func_803A82EC
/* 803A6754 003A23B4  38 00 00 00 */	li r0, 0
/* 803A6758 003A23B8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A675C 003A23BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6760 003A23C0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6764 003A23C4  7C 08 03 A6 */	mtlr r0
/* 803A6768 003A23C8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A676C 003A23CC  4E 80 00 20 */	blr 
/* 803A6770 003A23D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6774 003A23D4  7C 08 02 A6 */	mflr r0
/* 803A6778 003A23D8  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A677C 003A23DC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6780 003A23E0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6784 003A23E4  7C 9F 23 78 */	mr r31, r4
/* 803A6788 003A23E8  48 00 1C 2D */	bl func_803A83B4
/* 803A678C 003A23EC  38 00 00 00 */	li r0, 0
/* 803A6790 003A23F0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6794 003A23F4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6798 003A23F8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A679C 003A23FC  7C 08 03 A6 */	mtlr r0
/* 803A67A0 003A2400  38 21 00 10 */	addi r1, r1, 0x10
/* 803A67A4 003A2404  4E 80 00 20 */	blr 
/* 803A67A8 003A2408  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A67AC 003A240C  7C 08 02 A6 */	mflr r0
/* 803A67B0 003A2410  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A67B4 003A2414  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A67B8 003A2418  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A67BC 003A241C  7C 9F 23 78 */	mr r31, r4
/* 803A67C0 003A2420  48 00 1C 85 */	bl func_803A8444
/* 803A67C4 003A2424  38 00 00 00 */	li r0, 0
/* 803A67C8 003A2428  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A67CC 003A242C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A67D0 003A2430  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A67D4 003A2434  7C 08 03 A6 */	mtlr r0
/* 803A67D8 003A2438  38 21 00 10 */	addi r1, r1, 0x10
/* 803A67DC 003A243C  4E 80 00 20 */	blr 
/* 803A67E0 003A2440  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A67E4 003A2444  7C 08 02 A6 */	mflr r0
/* 803A67E8 003A2448  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A67EC 003A244C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A67F0 003A2450  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A67F4 003A2454  7C 9F 23 78 */	mr r31, r4
/* 803A67F8 003A2458  48 00 1C C9 */	bl func_803A84C0
/* 803A67FC 003A245C  38 00 00 00 */	li r0, 0
/* 803A6800 003A2460  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6804 003A2464  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6808 003A2468  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A680C 003A246C  7C 08 03 A6 */	mtlr r0
/* 803A6810 003A2470  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6814 003A2474  4E 80 00 20 */	blr 
/* 803A6818 003A2478  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A681C 003A247C  7C 08 02 A6 */	mflr r0
/* 803A6820 003A2480  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6824 003A2484  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6828 003A2488  7C 9F 23 78 */	mr r31, r4
/* 803A682C 003A248C  48 00 1C A1 */	bl func_803A84CC
/* 803A6830 003A2490  38 00 00 00 */	li r0, 0
/* 803A6834 003A2494  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6838 003A2498  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A683C 003A249C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6840 003A24A0  7C 08 03 A6 */	mtlr r0
/* 803A6844 003A24A4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6848 003A24A8  4E 80 00 20 */	blr 
/* 803A684C 003A24AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6850 003A24B0  7C 08 02 A6 */	mflr r0
/* 803A6854 003A24B4  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6858 003A24B8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A685C 003A24BC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6860 003A24C0  7C 9F 23 78 */	mr r31, r4
/* 803A6864 003A24C4  48 00 1C D9 */	bl func_803A853C
/* 803A6868 003A24C8  38 00 00 00 */	li r0, 0
/* 803A686C 003A24CC  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6870 003A24D0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6874 003A24D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6878 003A24D8  7C 08 03 A6 */	mtlr r0
/* 803A687C 003A24DC  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6880 003A24E0  4E 80 00 20 */	blr 
/* 803A6884 003A24E4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6888 003A24E8  7C 08 02 A6 */	mflr r0
/* 803A688C 003A24EC  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6890 003A24F0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6894 003A24F4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6898 003A24F8  7C 9F 23 78 */	mr r31, r4
/* 803A689C 003A24FC  48 00 1D 0D */	bl func_803A85A8
/* 803A68A0 003A2500  38 00 00 00 */	li r0, 0
/* 803A68A4 003A2504  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A68A8 003A2508  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A68AC 003A250C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A68B0 003A2510  7C 08 03 A6 */	mtlr r0
/* 803A68B4 003A2514  38 21 00 10 */	addi r1, r1, 0x10
/* 803A68B8 003A2518  4E 80 00 20 */	blr 
/* 803A68BC 003A251C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A68C0 003A2520  7C 08 02 A6 */	mflr r0
/* 803A68C4 003A2524  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A68C8 003A2528  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A68CC 003A252C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A68D0 003A2530  7C 9F 23 78 */	mr r31, r4
/* 803A68D4 003A2534  48 00 1C E1 */	bl func_803A85B4
/* 803A68D8 003A2538  38 00 00 00 */	li r0, 0
/* 803A68DC 003A253C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A68E0 003A2540  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A68E4 003A2544  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A68E8 003A2548  7C 08 03 A6 */	mtlr r0
/* 803A68EC 003A254C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A68F0 003A2550  4E 80 00 20 */	blr 
/* 803A68F4 003A2554  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A68F8 003A2558  7C 08 02 A6 */	mflr r0
/* 803A68FC 003A255C  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6900 003A2560  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6904 003A2564  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6908 003A2568  7C 9F 23 78 */	mr r31, r4
/* 803A690C 003A256C  48 00 1D 15 */	bl func_803A8620
/* 803A6910 003A2570  38 00 00 00 */	li r0, 0
/* 803A6914 003A2574  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6918 003A2578  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A691C 003A257C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6920 003A2580  7C 08 03 A6 */	mtlr r0
/* 803A6924 003A2584  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6928 003A2588  4E 80 00 20 */	blr 
/* 803A692C 003A258C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6930 003A2590  7C 08 02 A6 */	mflr r0
/* 803A6934 003A2594  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6938 003A2598  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A693C 003A259C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6940 003A25A0  7C 9F 23 78 */	mr r31, r4
/* 803A6944 003A25A4  48 00 1E 8D */	bl func_803A87D0
/* 803A6948 003A25A8  38 00 00 00 */	li r0, 0
/* 803A694C 003A25AC  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6950 003A25B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6954 003A25B4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6958 003A25B8  7C 08 03 A6 */	mtlr r0
/* 803A695C 003A25BC  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6960 003A25C0  4E 80 00 20 */	blr 
/* 803A6964 003A25C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6968 003A25C8  7C 08 02 A6 */	mflr r0
/* 803A696C 003A25CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6970 003A25D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6974 003A25D4  7C 9F 23 78 */	mr r31, r4
/* 803A6978 003A25D8  48 00 20 09 */	bl func_803A8980
/* 803A697C 003A25DC  38 00 00 00 */	li r0, 0
/* 803A6980 003A25E0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6984 003A25E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6988 003A25E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A698C 003A25EC  7C 08 03 A6 */	mtlr r0
/* 803A6990 003A25F0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6994 003A25F4  4E 80 00 20 */	blr 
/* 803A6998 003A25F8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A699C 003A25FC  7C 08 02 A6 */	mflr r0
/* 803A69A0 003A2600  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A69A4 003A2604  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A69A8 003A2608  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A69AC 003A260C  7C 9F 23 78 */	mr r31, r4
/* 803A69B0 003A2610  48 00 21 65 */	bl func_803A8B14
/* 803A69B4 003A2614  38 00 00 00 */	li r0, 0
/* 803A69B8 003A2618  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A69BC 003A261C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A69C0 003A2620  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A69C4 003A2624  7C 08 03 A6 */	mtlr r0
/* 803A69C8 003A2628  38 21 00 10 */	addi r1, r1, 0x10
/* 803A69CC 003A262C  4E 80 00 20 */	blr 
/* 803A69D0 003A2630  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A69D4 003A2634  7C 08 02 A6 */	mflr r0
/* 803A69D8 003A2638  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A69DC 003A263C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A69E0 003A2640  7C 9F 23 78 */	mr r31, r4
/* 803A69E4 003A2644  48 00 26 85 */	bl func_803A9068
/* 803A69E8 003A2648  38 00 00 00 */	li r0, 0
/* 803A69EC 003A264C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A69F0 003A2650  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A69F4 003A2654  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A69F8 003A2658  7C 08 03 A6 */	mtlr r0
/* 803A69FC 003A265C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6A00 003A2660  4E 80 00 20 */	blr 
/* 803A6A04 003A2664  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6A08 003A2668  7C 08 02 A6 */	mflr r0
/* 803A6A0C 003A266C  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6A10 003A2670  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6A14 003A2674  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6A18 003A2678  7C 9F 23 78 */	mr r31, r4
/* 803A6A1C 003A267C  48 00 26 B5 */	bl func_803A90D0
/* 803A6A20 003A2680  38 00 00 00 */	li r0, 0
/* 803A6A24 003A2684  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6A28 003A2688  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6A2C 003A268C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6A30 003A2690  7C 08 03 A6 */	mtlr r0
/* 803A6A34 003A2694  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6A38 003A2698  4E 80 00 20 */	blr 
/* 803A6A3C 003A269C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6A40 003A26A0  7C 08 02 A6 */	mflr r0
/* 803A6A44 003A26A4  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6A48 003A26A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6A4C 003A26AC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6A50 003A26B0  7C 9F 23 78 */	mr r31, r4
/* 803A6A54 003A26B4  48 00 28 11 */	bl func_803A9264
/* 803A6A58 003A26B8  38 00 00 00 */	li r0, 0
/* 803A6A5C 003A26BC  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6A60 003A26C0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6A64 003A26C4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6A68 003A26C8  7C 08 03 A6 */	mtlr r0
/* 803A6A6C 003A26CC  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6A70 003A26D0  4E 80 00 20 */	blr 
/* 803A6A74 003A26D4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803A6A78 003A26D8  7C 08 02 A6 */	mflr r0
/* 803A6A7C 003A26DC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803A6A80 003A26E0  39 61 00 30 */	addi r11, r1, 0x30
/* 803A6A84 003A26E4  4B E2 06 A1 */	bl _savegpr_26
/* 803A6A88 003A26E8  88 04 00 85 */	lbz r0, 0x85(r4)
/* 803A6A8C 003A26EC  3B E4 00 84 */	addi r31, r4, 0x84
/* 803A6A90 003A26F0  7C 9D 23 78 */	mr r29, r4
/* 803A6A94 003A26F4  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6A98 003A26F8  7C 7C 1B 78 */	mr r28, r3
/* 803A6A9C 003A26FC  54 05 E7 3E */	rlwinm r5, r0, 0x1c, 0x1c, 0x1f
/* 803A6AA0 003A2700  48 00 5F 05 */	bl func_803AC9A4
/* 803A6AA4 003A2704  80 1F 00 1C */	lwz r0, 0x1c(r31)
/* 803A6AA8 003A2708  7C 7E 1B 78 */	mr r30, r3
/* 803A6AAC 003A270C  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803A6AB0 003A2710  40 82 00 6C */	bne lbl_803A6B1C
/* 803A6AB4 003A2714  3B 40 00 00 */	li r26, 0
/* 803A6AB8 003A2718  3B 60 00 00 */	li r27, 0
lbl_803A6ABC:
/* 803A6ABC 003A271C  7F 43 D3 78 */	mr r3, r26
/* 803A6AC0 003A2720  48 03 6E 61 */	bl func_803DD920
/* 803A6AC4 003A2724  88 1F 00 01 */	lbz r0, 1(r31)
/* 803A6AC8 003A2728  54 00 07 3E */	clrlwi r0, r0, 0x1c
/* 803A6ACC 003A272C  7C 00 18 39 */	and. r0, r0, r3
/* 803A6AD0 003A2730  40 82 00 3C */	bne lbl_803A6B0C
/* 803A6AD4 003A2734  7C 7F DA 14 */	add r3, r31, r27
/* 803A6AD8 003A2738  7C DF D2 14 */	add r6, r31, r26
/* 803A6ADC 003A273C  A0 03 00 0E */	lhz r0, 0xe(r3)
/* 803A6AE0 003A2740  7F C3 F3 78 */	mr r3, r30
/* 803A6AE4 003A2744  38 9A 00 36 */	addi r4, r26, 0x36
/* 803A6AE8 003A2748  38 A1 00 14 */	addi r5, r1, 0x14
/* 803A6AEC 003A274C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6AF0 003A2750  88 06 00 16 */	lbz r0, 0x16(r6)
/* 803A6AF4 003A2754  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A6AF8 003A2758  48 03 4A 2D */	bl func_803DB524
/* 803A6AFC 003A275C  7F C3 F3 78 */	mr r3, r30
/* 803A6B00 003A2760  38 9A 00 3A */	addi r4, r26, 0x3a
/* 803A6B04 003A2764  38 A1 00 10 */	addi r5, r1, 0x10
/* 803A6B08 003A2768  48 03 4A 1D */	bl func_803DB524
lbl_803A6B0C:
/* 803A6B0C 003A276C  3B 5A 00 01 */	addi r26, r26, 1
/* 803A6B10 003A2770  3B 7B 00 02 */	addi r27, r27, 2
/* 803A6B14 003A2774  2C 1A 00 04 */	cmpwi r26, 4
/* 803A6B18 003A2778  41 80 FF A4 */	blt lbl_803A6ABC
lbl_803A6B1C:
/* 803A6B1C 003A277C  88 1F 00 01 */	lbz r0, 1(r31)
/* 803A6B20 003A2780  54 03 E7 3E */	rlwinm r3, r0, 0x1c, 0x1c, 0x1f
/* 803A6B24 003A2784  48 03 6D FD */	bl func_803DD920
/* 803A6B28 003A2788  80 1F 00 08 */	lwz r0, 8(r31)
/* 803A6B2C 003A278C  7C 00 18 39 */	and. r0, r0, r3
/* 803A6B30 003A2790  40 82 00 1C */	bne lbl_803A6B4C
/* 803A6B34 003A2794  A0 1F 00 0C */	lhz r0, 0xc(r31)
/* 803A6B38 003A2798  7F C3 F3 78 */	mr r3, r30
/* 803A6B3C 003A279C  38 A1 00 0C */	addi r5, r1, 0xc
/* 803A6B40 003A27A0  38 80 00 06 */	li r4, 6
/* 803A6B44 003A27A4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A6B48 003A27A8  48 03 49 DD */	bl func_803DB524
lbl_803A6B4C:
/* 803A6B4C 003A27AC  A8 1F 00 02 */	lha r0, 2(r31)
/* 803A6B50 003A27B0  7F C3 F3 78 */	mr r3, r30
/* 803A6B54 003A27B4  38 A1 00 08 */	addi r5, r1, 8
/* 803A6B58 003A27B8  38 80 00 A2 */	li r4, 0xa2
/* 803A6B5C 003A27BC  90 01 00 08 */	stw r0, 8(r1)
/* 803A6B60 003A27C0  48 03 49 C5 */	bl func_803DB524
/* 803A6B64 003A27C4  7F C3 F3 78 */	mr r3, r30
/* 803A6B68 003A27C8  38 BF 00 04 */	addi r5, r31, 4
/* 803A6B6C 003A27CC  38 80 00 9F */	li r4, 0x9f
/* 803A6B70 003A27D0  48 03 49 B5 */	bl func_803DB524
/* 803A6B74 003A27D4  88 9D 01 84 */	lbz r4, 0x184(r29)
/* 803A6B78 003A27D8  7F 83 E3 78 */	mr r3, r28
/* 803A6B7C 003A27DC  88 BF 00 00 */	lbz r5, 0(r31)
/* 803A6B80 003A27E0  48 00 B9 F1 */	bl func_803B2570
/* 803A6B84 003A27E4  38 00 00 00 */	li r0, 0
/* 803A6B88 003A27E8  39 61 00 30 */	addi r11, r1, 0x30
/* 803A6B8C 003A27EC  98 1D 00 84 */	stb r0, 0x84(r29)
/* 803A6B90 003A27F0  4B E2 05 E1 */	bl _restgpr_26
/* 803A6B94 003A27F4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803A6B98 003A27F8  7C 08 03 A6 */	mtlr r0
/* 803A6B9C 003A27FC  38 21 00 30 */	addi r1, r1, 0x30
/* 803A6BA0 003A2800  4E 80 00 20 */	blr 
/* 803A6BA4 003A2804  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6BA8 003A2808  7C 08 02 A6 */	mflr r0
/* 803A6BAC 003A280C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6BB0 003A2810  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6BB4 003A2814  7C 9F 23 78 */	mr r31, r4
/* 803A6BB8 003A2818  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6BBC 003A281C  88 BF 00 84 */	lbz r5, 0x84(r31)
/* 803A6BC0 003A2820  48 00 B9 B1 */	bl func_803B2570
/* 803A6BC4 003A2824  38 00 00 00 */	li r0, 0
/* 803A6BC8 003A2828  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6BCC 003A282C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6BD0 003A2830  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6BD4 003A2834  7C 08 03 A6 */	mtlr r0
/* 803A6BD8 003A2838  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6BDC 003A283C  4E 80 00 20 */	blr 
/* 803A6BE0 003A2840  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6BE4 003A2844  7C 08 02 A6 */	mflr r0
/* 803A6BE8 003A2848  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6BEC 003A284C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6BF0 003A2850  7C 9F 23 78 */	mr r31, r4
/* 803A6BF4 003A2854  93 C1 00 08 */	stw r30, 8(r1)
/* 803A6BF8 003A2858  7C 7E 1B 78 */	mr r30, r3
/* 803A6BFC 003A285C  38 64 00 28 */	addi r3, r4, 0x28
/* 803A6C00 003A2860  48 03 2C 0D */	bl func_803D980C
/* 803A6C04 003A2864  7F E3 FB 78 */	mr r3, r31
/* 803A6C08 003A2868  48 03 2C 49 */	bl func_803D9850
/* 803A6C0C 003A286C  88 9F 01 84 */	lbz r4, 0x184(r31)
/* 803A6C10 003A2870  7F C3 F3 78 */	mr r3, r30
/* 803A6C14 003A2874  88 BF 00 84 */	lbz r5, 0x84(r31)
/* 803A6C18 003A2878  48 00 B9 59 */	bl func_803B2570
/* 803A6C1C 003A287C  38 00 00 00 */	li r0, 0
/* 803A6C20 003A2880  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6C24 003A2884  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6C28 003A2888  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A6C2C 003A288C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6C30 003A2890  7C 08 03 A6 */	mtlr r0
/* 803A6C34 003A2894  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6C38 003A2898  4E 80 00 20 */	blr 
/* 803A6C3C 003A289C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803A6C40 003A28A0  7C 08 02 A6 */	mflr r0
/* 803A6C44 003A28A4  90 01 00 34 */	stw r0, 0x34(r1)
/* 803A6C48 003A28A8  39 61 00 30 */	addi r11, r1, 0x30
/* 803A6C4C 003A28AC  4B E2 04 DD */	bl _savegpr_27
/* 803A6C50 003A28B0  38 00 00 00 */	li r0, 0
/* 803A6C54 003A28B4  7C 9C 23 78 */	mr r28, r4
/* 803A6C58 003A28B8  90 01 00 08 */	stw r0, 8(r1)
/* 803A6C5C 003A28BC  7C 7B 1B 78 */	mr r27, r3
/* 803A6C60 003A28C0  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6C64 003A28C4  48 00 5C 9D */	bl func_803AC900
/* 803A6C68 003A28C8  7C 7F 1B 78 */	mr r31, r3
/* 803A6C6C 003A28CC  3B A0 00 00 */	li r29, 0
/* 803A6C70 003A28D0  48 00 00 64 */	b lbl_803A6CD4
lbl_803A6C74:
/* 803A6C74 003A28D4  88 9C 01 84 */	lbz r4, 0x184(r28)
/* 803A6C78 003A28D8  7F 63 DB 78 */	mr r3, r27
/* 803A6C7C 003A28DC  7F A5 EB 78 */	mr r5, r29
/* 803A6C80 003A28E0  48 00 5D 25 */	bl func_803AC9A4
/* 803A6C84 003A28E4  88 1C 00 85 */	lbz r0, 0x85(r28)
/* 803A6C88 003A28E8  7C 7E 1B 78 */	mr r30, r3
/* 803A6C8C 003A28EC  28 00 00 68 */	cmplwi r0, 0x68
/* 803A6C90 003A28F0  40 82 00 0C */	bne lbl_803A6C9C
/* 803A6C94 003A28F4  38 60 00 00 */	li r3, 0
/* 803A6C98 003A28F8  48 00 00 10 */	b lbl_803A6CA8
lbl_803A6C9C:
/* 803A6C9C 003A28FC  38 80 00 0A */	li r4, 0xa
/* 803A6CA0 003A2900  38 A0 00 00 */	li r5, 0
/* 803A6CA4 003A2904  48 03 6D 39 */	bl func_803DD9DC
lbl_803A6CA8:
/* 803A6CA8 003A2908  A0 1C 00 86 */	lhz r0, 0x86(r28)
/* 803A6CAC 003A290C  28 00 00 D7 */	cmplwi r0, 0xd7
/* 803A6CB0 003A2910  40 82 00 10 */	bne lbl_803A6CC0
/* 803A6CB4 003A2914  40 82 00 1C */	bne lbl_803A6CD0
/* 803A6CB8 003A2918  2C 03 00 2B */	cmpwi r3, 0x2b
/* 803A6CBC 003A291C  41 82 00 14 */	beq lbl_803A6CD0
lbl_803A6CC0:
/* 803A6CC0 003A2920  7F C3 F3 78 */	mr r3, r30
/* 803A6CC4 003A2924  38 A1 00 08 */	addi r5, r1, 8
/* 803A6CC8 003A2928  38 80 00 9F */	li r4, 0x9f
/* 803A6CCC 003A292C  48 03 48 59 */	bl func_803DB524
lbl_803A6CD0:
/* 803A6CD0 003A2930  3B BD 00 01 */	addi r29, r29, 1
lbl_803A6CD4:
/* 803A6CD4 003A2934  7C 1D F8 00 */	cmpw r29, r31
/* 803A6CD8 003A2938  41 80 FF 9C */	blt lbl_803A6C74
/* 803A6CDC 003A293C  88 9C 01 84 */	lbz r4, 0x184(r28)
/* 803A6CE0 003A2940  7F 63 DB 78 */	mr r3, r27
/* 803A6CE4 003A2944  88 BC 00 84 */	lbz r5, 0x84(r28)
/* 803A6CE8 003A2948  48 00 B8 89 */	bl func_803B2570
/* 803A6CEC 003A294C  38 00 00 00 */	li r0, 0
/* 803A6CF0 003A2950  39 61 00 30 */	addi r11, r1, 0x30
/* 803A6CF4 003A2954  98 1C 00 84 */	stb r0, 0x84(r28)
/* 803A6CF8 003A2958  4B E2 04 7D */	bl _restgpr_27
/* 803A6CFC 003A295C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803A6D00 003A2960  7C 08 03 A6 */	mtlr r0
/* 803A6D04 003A2964  38 21 00 30 */	addi r1, r1, 0x30
/* 803A6D08 003A2968  4E 80 00 20 */	blr 
/* 803A6D0C 003A296C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6D10 003A2970  7C 08 02 A6 */	mflr r0
/* 803A6D14 003A2974  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6D18 003A2978  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6D1C 003A297C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6D20 003A2980  7C 9F 23 78 */	mr r31, r4
/* 803A6D24 003A2984  48 00 25 4D */	bl func_803A9270
/* 803A6D28 003A2988  38 00 00 00 */	li r0, 0
/* 803A6D2C 003A298C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6D30 003A2990  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6D34 003A2994  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6D38 003A2998  7C 08 03 A6 */	mtlr r0
/* 803A6D3C 003A299C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6D40 003A29A0  4E 80 00 20 */	blr 
/* 803A6D44 003A29A4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6D48 003A29A8  7C 08 02 A6 */	mflr r0
/* 803A6D4C 003A29AC  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6D50 003A29B0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6D54 003A29B4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6D58 003A29B8  7C 9F 23 78 */	mr r31, r4
/* 803A6D5C 003A29BC  48 00 25 99 */	bl func_803A92F4
/* 803A6D60 003A29C0  38 00 00 00 */	li r0, 0
/* 803A6D64 003A29C4  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6D68 003A29C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6D6C 003A29CC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6D70 003A29D0  7C 08 03 A6 */	mtlr r0
/* 803A6D74 003A29D4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6D78 003A29D8  4E 80 00 20 */	blr 
/* 803A6D7C 003A29DC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6D80 003A29E0  7C 08 02 A6 */	mflr r0
/* 803A6D84 003A29E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6D88 003A29E8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6D8C 003A29EC  7C 9F 23 78 */	mr r31, r4
/* 803A6D90 003A29F0  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6D94 003A29F4  88 BF 00 84 */	lbz r5, 0x84(r31)
/* 803A6D98 003A29F8  48 00 B7 D9 */	bl func_803B2570
/* 803A6D9C 003A29FC  38 00 00 00 */	li r0, 0
/* 803A6DA0 003A2A00  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6DA4 003A2A04  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6DA8 003A2A08  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6DAC 003A2A0C  7C 08 03 A6 */	mtlr r0
/* 803A6DB0 003A2A10  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6DB4 003A2A14  4E 80 00 20 */	blr 
/* 803A6DB8 003A2A18  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6DBC 003A2A1C  7C 08 02 A6 */	mflr r0
/* 803A6DC0 003A2A20  38 A0 00 2E */	li r5, 0x2e
/* 803A6DC4 003A2A24  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6DC8 003A2A28  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6DCC 003A2A2C  7C 9F 23 78 */	mr r31, r4
/* 803A6DD0 003A2A30  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6DD4 003A2A34  48 00 B7 9D */	bl func_803B2570
/* 803A6DD8 003A2A38  38 00 00 00 */	li r0, 0
/* 803A6DDC 003A2A3C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6DE0 003A2A40  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6DE4 003A2A44  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6DE8 003A2A48  7C 08 03 A6 */	mtlr r0
/* 803A6DEC 003A2A4C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6DF0 003A2A50  4E 80 00 20 */	blr 
/* 803A6DF4 003A2A54  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6DF8 003A2A58  7C 08 02 A6 */	mflr r0
/* 803A6DFC 003A2A5C  38 A0 00 2F */	li r5, 0x2f
/* 803A6E00 003A2A60  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6E04 003A2A64  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6E08 003A2A68  7C 9F 23 78 */	mr r31, r4
/* 803A6E0C 003A2A6C  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6E10 003A2A70  48 00 B7 61 */	bl func_803B2570
/* 803A6E14 003A2A74  38 00 00 00 */	li r0, 0
/* 803A6E18 003A2A78  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6E1C 003A2A7C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6E20 003A2A80  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6E24 003A2A84  7C 08 03 A6 */	mtlr r0
/* 803A6E28 003A2A88  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6E2C 003A2A8C  4E 80 00 20 */	blr 
/* 803A6E30 003A2A90  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6E34 003A2A94  7C 08 02 A6 */	mflr r0
/* 803A6E38 003A2A98  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6E3C 003A2A9C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6E40 003A2AA0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6E44 003A2AA4  7C 9F 23 78 */	mr r31, r4
/* 803A6E48 003A2AA8  48 00 25 19 */	bl func_803A9360
/* 803A6E4C 003A2AAC  38 00 00 00 */	li r0, 0
/* 803A6E50 003A2AB0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6E54 003A2AB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6E58 003A2AB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6E5C 003A2ABC  7C 08 03 A6 */	mtlr r0
/* 803A6E60 003A2AC0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6E64 003A2AC4  4E 80 00 20 */	blr 
/* 803A6E68 003A2AC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6E6C 003A2ACC  7C 08 02 A6 */	mflr r0
/* 803A6E70 003A2AD0  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A6E74 003A2AD4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6E78 003A2AD8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6E7C 003A2ADC  7C 9F 23 78 */	mr r31, r4
/* 803A6E80 003A2AE0  48 00 25 4D */	bl func_803A93CC
/* 803A6E84 003A2AE4  38 00 00 00 */	li r0, 0
/* 803A6E88 003A2AE8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6E8C 003A2AEC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6E90 003A2AF0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6E94 003A2AF4  7C 08 03 A6 */	mtlr r0
/* 803A6E98 003A2AF8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6E9C 003A2AFC  4E 80 00 20 */	blr 
/* 803A6EA0 003A2B00  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A6EA4 003A2B04  7C 08 02 A6 */	mflr r0
/* 803A6EA8 003A2B08  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A6EAC 003A2B0C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A6EB0 003A2B10  4B E2 02 81 */	bl _savegpr_29
/* 803A6EB4 003A2B14  7C 9E 23 78 */	mr r30, r4
/* 803A6EB8 003A2B18  3B E4 00 84 */	addi r31, r4, 0x84
/* 803A6EBC 003A2B1C  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6EC0 003A2B20  7C 7D 1B 78 */	mr r29, r3
/* 803A6EC4 003A2B24  48 00 5E 21 */	bl func_803ACCE4
/* 803A6EC8 003A2B28  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803A6ECC 003A2B2C  41 82 00 18 */	beq lbl_803A6EE4
/* 803A6ED0 003A2B30  7F A3 EB 78 */	mr r3, r29
/* 803A6ED4 003A2B34  7F C4 F3 78 */	mr r4, r30
/* 803A6ED8 003A2B38  7F E5 FB 78 */	mr r5, r31
/* 803A6EDC 003A2B3C  48 00 25 5D */	bl func_803A9438
/* 803A6EE0 003A2B40  48 00 00 14 */	b lbl_803A6EF4
lbl_803A6EE4:
/* 803A6EE4 003A2B44  88 9E 01 84 */	lbz r4, 0x184(r30)
/* 803A6EE8 003A2B48  7F A3 EB 78 */	mr r3, r29
/* 803A6EEC 003A2B4C  38 A0 00 32 */	li r5, 0x32
/* 803A6EF0 003A2B50  48 00 B6 81 */	bl func_803B2570
lbl_803A6EF4:
/* 803A6EF4 003A2B54  38 00 00 00 */	li r0, 0
/* 803A6EF8 003A2B58  39 61 00 20 */	addi r11, r1, 0x20
/* 803A6EFC 003A2B5C  98 1E 00 84 */	stb r0, 0x84(r30)
/* 803A6F00 003A2B60  4B E2 02 7D */	bl _restgpr_29
/* 803A6F04 003A2B64  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A6F08 003A2B68  7C 08 03 A6 */	mtlr r0
/* 803A6F0C 003A2B6C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A6F10 003A2B70  4E 80 00 20 */	blr 
/* 803A6F14 003A2B74  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A6F18 003A2B78  7C 08 02 A6 */	mflr r0
/* 803A6F1C 003A2B7C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A6F20 003A2B80  39 61 00 20 */	addi r11, r1, 0x20
/* 803A6F24 003A2B84  4B E2 02 0D */	bl _savegpr_29
/* 803A6F28 003A2B88  7C 9E 23 78 */	mr r30, r4
/* 803A6F2C 003A2B8C  3B E4 00 84 */	addi r31, r4, 0x84
/* 803A6F30 003A2B90  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6F34 003A2B94  7C 7D 1B 78 */	mr r29, r3
/* 803A6F38 003A2B98  48 00 5D AD */	bl func_803ACCE4
/* 803A6F3C 003A2B9C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803A6F40 003A2BA0  41 82 00 18 */	beq lbl_803A6F58
/* 803A6F44 003A2BA4  7F A3 EB 78 */	mr r3, r29
/* 803A6F48 003A2BA8  7F C4 F3 78 */	mr r4, r30
/* 803A6F4C 003A2BAC  7F E5 FB 78 */	mr r5, r31
/* 803A6F50 003A2BB0  48 00 25 55 */	bl func_803A94A4
/* 803A6F54 003A2BB4  48 00 00 14 */	b lbl_803A6F68
lbl_803A6F58:
/* 803A6F58 003A2BB8  88 9E 01 84 */	lbz r4, 0x184(r30)
/* 803A6F5C 003A2BBC  7F A3 EB 78 */	mr r3, r29
/* 803A6F60 003A2BC0  38 A0 00 33 */	li r5, 0x33
/* 803A6F64 003A2BC4  48 00 B6 0D */	bl func_803B2570
lbl_803A6F68:
/* 803A6F68 003A2BC8  38 00 00 00 */	li r0, 0
/* 803A6F6C 003A2BCC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A6F70 003A2BD0  98 1E 00 84 */	stb r0, 0x84(r30)
/* 803A6F74 003A2BD4  4B E2 02 09 */	bl _restgpr_29
/* 803A6F78 003A2BD8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A6F7C 003A2BDC  7C 08 03 A6 */	mtlr r0
/* 803A6F80 003A2BE0  38 21 00 20 */	addi r1, r1, 0x20
/* 803A6F84 003A2BE4  4E 80 00 20 */	blr 
/* 803A6F88 003A2BE8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6F8C 003A2BEC  7C 08 02 A6 */	mflr r0
/* 803A6F90 003A2BF0  38 A0 00 34 */	li r5, 0x34
/* 803A6F94 003A2BF4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6F98 003A2BF8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6F9C 003A2BFC  7C 9F 23 78 */	mr r31, r4
/* 803A6FA0 003A2C00  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6FA4 003A2C04  48 00 B5 CD */	bl func_803B2570
/* 803A6FA8 003A2C08  38 00 00 00 */	li r0, 0
/* 803A6FAC 003A2C0C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6FB0 003A2C10  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6FB4 003A2C14  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6FB8 003A2C18  7C 08 03 A6 */	mtlr r0
/* 803A6FBC 003A2C1C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6FC0 003A2C20  4E 80 00 20 */	blr 
/* 803A6FC4 003A2C24  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A6FC8 003A2C28  7C 08 02 A6 */	mflr r0
/* 803A6FCC 003A2C2C  38 A0 00 35 */	li r5, 0x35
/* 803A6FD0 003A2C30  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A6FD4 003A2C34  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A6FD8 003A2C38  7C 9F 23 78 */	mr r31, r4
/* 803A6FDC 003A2C3C  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A6FE0 003A2C40  48 00 B5 91 */	bl func_803B2570
/* 803A6FE4 003A2C44  38 00 00 00 */	li r0, 0
/* 803A6FE8 003A2C48  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A6FEC 003A2C4C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A6FF0 003A2C50  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A6FF4 003A2C54  7C 08 03 A6 */	mtlr r0
/* 803A6FF8 003A2C58  38 21 00 10 */	addi r1, r1, 0x10
/* 803A6FFC 003A2C5C  4E 80 00 20 */	blr 
/* 803A7000 003A2C60  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7004 003A2C64  7C 08 02 A6 */	mflr r0
/* 803A7008 003A2C68  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A700C 003A2C6C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A7010 003A2C70  7C 9F 23 78 */	mr r31, r4
/* 803A7014 003A2C74  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A7018 003A2C78  88 BF 00 84 */	lbz r5, 0x84(r31)
/* 803A701C 003A2C7C  48 00 B5 55 */	bl func_803B2570
/* 803A7020 003A2C80  38 00 00 00 */	li r0, 0
/* 803A7024 003A2C84  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A7028 003A2C88  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A702C 003A2C8C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A7030 003A2C90  7C 08 03 A6 */	mtlr r0
/* 803A7034 003A2C94  38 21 00 10 */	addi r1, r1, 0x10
/* 803A7038 003A2C98  4E 80 00 20 */	blr 
/* 803A703C 003A2C9C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7040 003A2CA0  7C 08 02 A6 */	mflr r0
/* 803A7044 003A2CA4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A7048 003A2CA8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A704C 003A2CAC  7C 9F 23 78 */	mr r31, r4
/* 803A7050 003A2CB0  48 00 24 C1 */	bl func_803A9510
/* 803A7054 003A2CB4  38 00 00 00 */	li r0, 0
/* 803A7058 003A2CB8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A705C 003A2CBC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7060 003A2CC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A7064 003A2CC4  7C 08 03 A6 */	mtlr r0
/* 803A7068 003A2CC8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A706C 003A2CCC  4E 80 00 20 */	blr 
/* 803A7070 003A2CD0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7074 003A2CD4  7C 08 02 A6 */	mflr r0
/* 803A7078 003A2CD8  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A707C 003A2CDC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A7080 003A2CE0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A7084 003A2CE4  7C 9F 23 78 */	mr r31, r4
/* 803A7088 003A2CE8  48 00 24 95 */	bl func_803A951C
/* 803A708C 003A2CEC  38 00 00 00 */	li r0, 0
/* 803A7090 003A2CF0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A7094 003A2CF4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7098 003A2CF8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A709C 003A2CFC  7C 08 03 A6 */	mtlr r0
/* 803A70A0 003A2D00  38 21 00 10 */	addi r1, r1, 0x10
/* 803A70A4 003A2D04  4E 80 00 20 */	blr 
/* 803A70A8 003A2D08  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A70AC 003A2D0C  7C 08 02 A6 */	mflr r0
/* 803A70B0 003A2D10  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A70B4 003A2D14  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A70B8 003A2D18  7C 9F 23 78 */	mr r31, r4
/* 803A70BC 003A2D1C  48 00 24 6D */	bl func_803A9528
/* 803A70C0 003A2D20  38 00 00 00 */	li r0, 0
/* 803A70C4 003A2D24  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A70C8 003A2D28  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A70CC 003A2D2C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A70D0 003A2D30  7C 08 03 A6 */	mtlr r0
/* 803A70D4 003A2D34  38 21 00 10 */	addi r1, r1, 0x10
/* 803A70D8 003A2D38  4E 80 00 20 */	blr 
/* 803A70DC 003A2D3C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A70E0 003A2D40  7C 08 02 A6 */	mflr r0
/* 803A70E4 003A2D44  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A70E8 003A2D48  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A70EC 003A2D4C  7C 9F 23 78 */	mr r31, r4
/* 803A70F0 003A2D50  48 00 24 A1 */	bl func_803A9590
/* 803A70F4 003A2D54  38 00 00 00 */	li r0, 0
/* 803A70F8 003A2D58  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A70FC 003A2D5C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7100 003A2D60  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A7104 003A2D64  7C 08 03 A6 */	mtlr r0
/* 803A7108 003A2D68  38 21 00 10 */	addi r1, r1, 0x10
/* 803A710C 003A2D6C  4E 80 00 20 */	blr 
/* 803A7110 003A2D70  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7114 003A2D74  7C 08 02 A6 */	mflr r0
/* 803A7118 003A2D78  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A711C 003A2D7C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A7120 003A2D80  7C 9F 23 78 */	mr r31, r4
/* 803A7124 003A2D84  48 00 24 81 */	bl func_803A95A4
/* 803A7128 003A2D88  38 00 00 00 */	li r0, 0
/* 803A712C 003A2D8C  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A7130 003A2D90  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7134 003A2D94  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A7138 003A2D98  7C 08 03 A6 */	mtlr r0
/* 803A713C 003A2D9C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A7140 003A2DA0  4E 80 00 20 */	blr 
/* 803A7144 003A2DA4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7148 003A2DA8  7C 08 02 A6 */	mflr r0
/* 803A714C 003A2DAC  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A7150 003A2DB0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A7154 003A2DB4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A7158 003A2DB8  7C 9F 23 78 */	mr r31, r4
/* 803A715C 003A2DBC  48 00 26 01 */	bl func_803A975C
/* 803A7160 003A2DC0  38 00 00 00 */	li r0, 0
/* 803A7164 003A2DC4  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A7168 003A2DC8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A716C 003A2DCC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A7170 003A2DD0  7C 08 03 A6 */	mtlr r0
/* 803A7174 003A2DD4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A7178 003A2DD8  4E 80 00 20 */	blr 
/* 803A717C 003A2DDC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7180 003A2DE0  7C 08 02 A6 */	mflr r0
/* 803A7184 003A2DE4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A7188 003A2DE8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A718C 003A2DEC  7C 9F 23 78 */	mr r31, r4
/* 803A7190 003A2DF0  48 00 27 0D */	bl func_803A989C
/* 803A7194 003A2DF4  38 00 00 00 */	li r0, 0
/* 803A7198 003A2DF8  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A719C 003A2DFC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A71A0 003A2E00  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A71A4 003A2E04  7C 08 03 A6 */	mtlr r0
/* 803A71A8 003A2E08  38 21 00 10 */	addi r1, r1, 0x10
/* 803A71AC 003A2E0C  4E 80 00 20 */	blr 
/* 803A71B0 003A2E10  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A71B4 003A2E14  7C 08 02 A6 */	mflr r0
/* 803A71B8 003A2E18  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A71BC 003A2E1C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A71C0 003A2E20  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A71C4 003A2E24  7C 9F 23 78 */	mr r31, r4
/* 803A71C8 003A2E28  48 00 27 D9 */	bl func_803A99A0
/* 803A71CC 003A2E2C  38 00 00 00 */	li r0, 0
/* 803A71D0 003A2E30  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A71D4 003A2E34  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A71D8 003A2E38  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A71DC 003A2E3C  7C 08 03 A6 */	mtlr r0
/* 803A71E0 003A2E40  38 21 00 10 */	addi r1, r1, 0x10
/* 803A71E4 003A2E44  4E 80 00 20 */	blr 
/* 803A71E8 003A2E48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A71EC 003A2E4C  7C 08 02 A6 */	mflr r0
/* 803A71F0 003A2E50  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A71F4 003A2E54  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A71F8 003A2E58  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A71FC 003A2E5C  7C 9F 23 78 */	mr r31, r4
/* 803A7200 003A2E60  48 00 27 AD */	bl func_803A99AC
/* 803A7204 003A2E64  38 00 00 00 */	li r0, 0
/* 803A7208 003A2E68  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A720C 003A2E6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7210 003A2E70  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A7214 003A2E74  7C 08 03 A6 */	mtlr r0
/* 803A7218 003A2E78  38 21 00 10 */	addi r1, r1, 0x10
/* 803A721C 003A2E7C  4E 80 00 20 */	blr 
/* 803A7220 003A2E80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7224 003A2E84  7C 08 02 A6 */	mflr r0
/* 803A7228 003A2E88  38 A4 00 84 */	addi r5, r4, 0x84
/* 803A722C 003A2E8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A7230 003A2E90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A7234 003A2E94  7C 9F 23 78 */	mr r31, r4
/* 803A7238 003A2E98  48 00 27 81 */	bl func_803A99B8
/* 803A723C 003A2E9C  38 00 00 00 */	li r0, 0
/* 803A7240 003A2EA0  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A7244 003A2EA4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7248 003A2EA8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A724C 003A2EAC  7C 08 03 A6 */	mtlr r0
/* 803A7250 003A2EB0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A7254 003A2EB4  4E 80 00 20 */	blr 
/* 803A7258 003A2EB8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803A725C 003A2EBC  7C 08 02 A6 */	mflr r0
/* 803A7260 003A2EC0  90 01 00 34 */	stw r0, 0x34(r1)
/* 803A7264 003A2EC4  39 61 00 30 */	addi r11, r1, 0x30
/* 803A7268 003A2EC8  4B E1 FE B1 */	bl _savegpr_23
/* 803A726C 003A2ECC  7C 77 1B 78 */	mr r23, r3
/* 803A7270 003A2ED0  7C 98 23 78 */	mr r24, r4
/* 803A7274 003A2ED4  3B 40 00 00 */	li r26, 0
/* 803A7278 003A2ED8  3B 20 00 00 */	li r25, 0
/* 803A727C 003A2EDC  48 00 55 C5 */	bl func_803AC840
/* 803A7280 003A2EE0  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 803A7284 003A2EE4  41 82 00 18 */	beq lbl_803A729C
/* 803A7288 003A2EE8  80 18 00 88 */	lwz r0, 0x88(r24)
/* 803A728C 003A2EEC  7E E3 BB 78 */	mr r3, r23
/* 803A7290 003A2EF0  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 803A7294 003A2EF4  48 00 6A 4D */	bl func_803ADCE0
/* 803A7298 003A2EF8  48 00 01 14 */	b lbl_803A73AC
lbl_803A729C:
/* 803A729C 003A2EFC  3B 60 00 00 */	li r27, 0
/* 803A72A0 003A2F00  48 00 00 B8 */	b lbl_803A7358
lbl_803A72A4:
/* 803A72A4 003A2F04  7E E3 BB 78 */	mr r3, r23
/* 803A72A8 003A2F08  7F 64 DB 78 */	mr r4, r27
/* 803A72AC 003A2F0C  48 00 55 BD */	bl func_803AC868
/* 803A72B0 003A2F10  7C 7E 1B 78 */	mr r30, r3
/* 803A72B4 003A2F14  3B 80 00 00 */	li r28, 0
/* 803A72B8 003A2F18  48 00 00 8C */	b lbl_803A7344
lbl_803A72BC:
/* 803A72BC 003A2F1C  7F C3 F3 78 */	mr r3, r30
/* 803A72C0 003A2F20  7F 84 E3 78 */	mr r4, r28
/* 803A72C4 003A2F24  48 03 76 89 */	bl func_803DE94C
/* 803A72C8 003A2F28  7C 7D 1B 78 */	mr r29, r3
/* 803A72CC 003A2F2C  38 80 00 05 */	li r4, 5
/* 803A72D0 003A2F30  38 A0 00 00 */	li r5, 0
/* 803A72D4 003A2F34  48 03 67 09 */	bl func_803DD9DC
/* 803A72D8 003A2F38  2C 03 00 00 */	cmpwi r3, 0
/* 803A72DC 003A2F3C  41 82 00 64 */	beq lbl_803A7340
/* 803A72E0 003A2F40  7F A3 EB 78 */	mr r3, r29
/* 803A72E4 003A2F44  38 80 00 4C */	li r4, 0x4c
/* 803A72E8 003A2F48  38 A0 00 00 */	li r5, 0
/* 803A72EC 003A2F4C  48 03 66 F1 */	bl func_803DD9DC
/* 803A72F0 003A2F50  2C 03 00 00 */	cmpwi r3, 0
/* 803A72F4 003A2F54  40 82 00 4C */	bne lbl_803A7340
/* 803A72F8 003A2F58  7E E3 BB 78 */	mr r3, r23
/* 803A72FC 003A2F5C  7F 64 DB 78 */	mr r4, r27
/* 803A7300 003A2F60  48 00 59 E5 */	bl func_803ACCE4
/* 803A7304 003A2F64  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803A7308 003A2F68  7C 7F 1B 78 */	mr r31, r3
/* 803A730C 003A2F6C  41 82 00 18 */	beq lbl_803A7324
/* 803A7310 003A2F70  7F A3 EB 78 */	mr r3, r29
/* 803A7314 003A2F74  38 80 00 A2 */	li r4, 0xa2
/* 803A7318 003A2F78  38 A0 00 00 */	li r5, 0
/* 803A731C 003A2F7C  48 03 66 C1 */	bl func_803DD9DC
/* 803A7320 003A2F80  7F 39 1A 14 */	add r25, r25, r3
lbl_803A7324:
/* 803A7324 003A2F84  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 803A7328 003A2F88  40 82 00 18 */	bne lbl_803A7340
/* 803A732C 003A2F8C  7F A3 EB 78 */	mr r3, r29
/* 803A7330 003A2F90  38 80 00 A2 */	li r4, 0xa2
/* 803A7334 003A2F94  38 A0 00 00 */	li r5, 0
/* 803A7338 003A2F98  48 03 66 A5 */	bl func_803DD9DC
/* 803A733C 003A2F9C  7F 5A 1A 14 */	add r26, r26, r3
lbl_803A7340:
/* 803A7340 003A2FA0  3B 9C 00 01 */	addi r28, r28, 1
lbl_803A7344:
/* 803A7344 003A2FA4  7F C3 F3 78 */	mr r3, r30
/* 803A7348 003A2FA8  48 03 75 FD */	bl func_803DE944
/* 803A734C 003A2FAC  7C 1C 18 00 */	cmpw r28, r3
/* 803A7350 003A2FB0  41 80 FF 6C */	blt lbl_803A72BC
/* 803A7354 003A2FB4  3B 7B 00 01 */	addi r27, r27, 1
lbl_803A7358:
/* 803A7358 003A2FB8  7E E3 BB 78 */	mr r3, r23
/* 803A735C 003A2FBC  48 00 55 05 */	bl func_803AC860
/* 803A7360 003A2FC0  7C 1B 18 00 */	cmpw r27, r3
/* 803A7364 003A2FC4  41 80 FF 40 */	blt lbl_803A72A4
/* 803A7368 003A2FC8  2C 1A 00 00 */	cmpwi r26, 0
/* 803A736C 003A2FCC  40 82 00 1C */	bne lbl_803A7388
/* 803A7370 003A2FD0  2C 19 00 00 */	cmpwi r25, 0
/* 803A7374 003A2FD4  40 82 00 14 */	bne lbl_803A7388
/* 803A7378 003A2FD8  7E E3 BB 78 */	mr r3, r23
/* 803A737C 003A2FDC  38 80 00 03 */	li r4, 3
/* 803A7380 003A2FE0  48 00 69 61 */	bl func_803ADCE0
/* 803A7384 003A2FE4  48 00 00 28 */	b lbl_803A73AC
lbl_803A7388:
/* 803A7388 003A2FE8  2C 1A 00 00 */	cmpwi r26, 0
/* 803A738C 003A2FEC  40 82 00 14 */	bne lbl_803A73A0
/* 803A7390 003A2FF0  7E E3 BB 78 */	mr r3, r23
/* 803A7394 003A2FF4  38 80 00 02 */	li r4, 2
/* 803A7398 003A2FF8  48 00 69 49 */	bl func_803ADCE0
/* 803A739C 003A2FFC  48 00 00 10 */	b lbl_803A73AC
lbl_803A73A0:
/* 803A73A0 003A3000  7E E3 BB 78 */	mr r3, r23
/* 803A73A4 003A3004  38 80 00 01 */	li r4, 1
/* 803A73A8 003A3008  48 00 69 39 */	bl func_803ADCE0
lbl_803A73AC:
/* 803A73AC 003A300C  88 98 01 84 */	lbz r4, 0x184(r24)
/* 803A73B0 003A3010  7E E3 BB 78 */	mr r3, r23
/* 803A73B4 003A3014  88 B8 00 84 */	lbz r5, 0x84(r24)
/* 803A73B8 003A3018  48 00 B1 B9 */	bl func_803B2570
/* 803A73BC 003A301C  38 00 00 00 */	li r0, 0
/* 803A73C0 003A3020  39 61 00 30 */	addi r11, r1, 0x30
/* 803A73C4 003A3024  98 18 00 84 */	stb r0, 0x84(r24)
/* 803A73C8 003A3028  4B E1 FD 9D */	bl _restgpr_23
/* 803A73CC 003A302C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803A73D0 003A3030  7C 08 03 A6 */	mtlr r0
/* 803A73D4 003A3034  38 21 00 30 */	addi r1, r1, 0x30
/* 803A73D8 003A3038  4E 80 00 20 */	blr 
/* 803A73DC 003A303C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A73E0 003A3040  7C 08 02 A6 */	mflr r0
/* 803A73E4 003A3044  38 A0 00 42 */	li r5, 0x42
/* 803A73E8 003A3048  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A73EC 003A304C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A73F0 003A3050  7C 9F 23 78 */	mr r31, r4
/* 803A73F4 003A3054  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A73F8 003A3058  48 00 B1 79 */	bl func_803B2570
/* 803A73FC 003A305C  38 00 00 00 */	li r0, 0
/* 803A7400 003A3060  98 1F 00 84 */	stb r0, 0x84(r31)
/* 803A7404 003A3064  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A7408 003A3068  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A740C 003A306C  7C 08 03 A6 */	mtlr r0
/* 803A7410 003A3070  38 21 00 10 */	addi r1, r1, 0x10
/* 803A7414 003A3074  4E 80 00 20 */	blr 

.global func_803A7418
func_803A7418:
/* 803A7418 003A3078  3C 60 80 3B */	lis r3, lbl_803AB190@ha
/* 803A741C 003A307C  38 80 00 00 */	li r4, 0
/* 803A7420 003A3080  38 63 B1 90 */	addi r3, r3, lbl_803AB190@l
/* 803A7424 003A3084  38 A0 00 00 */	li r5, 0
/* 803A7428 003A3088  48 03 7A D8 */	b func_803DEF00

.global func_803A742C
func_803A742C:
/* 803A742C 003A308C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7430 003A3090  7C 08 02 A6 */	mflr r0
/* 803A7434 003A3094  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7438 003A3098  39 61 00 20 */	addi r11, r1, 0x20
/* 803A743C 003A309C  4B E1 FC F5 */	bl _savegpr_29
/* 803A7440 003A30A0  7C 7D 1B 78 */	mr r29, r3
/* 803A7444 003A30A4  7C 9E 23 78 */	mr r30, r4
/* 803A7448 003A30A8  7C BF 2B 78 */	mr r31, r5
/* 803A744C 003A30AC  38 60 00 05 */	li r3, 5
/* 803A7450 003A30B0  38 80 00 2C */	li r4, 0x2c
/* 803A7454 003A30B4  4B DC 6B 1D */	bl func_8016DF70
/* 803A7458 003A30B8  38 00 00 00 */	li r0, 0
/* 803A745C 003A30BC  3C C0 80 3B */	lis r6, lbl_803A99C4@ha
/* 803A7460 003A30C0  98 03 00 12 */	stb r0, 0x12(r3)
/* 803A7464 003A30C4  7C 64 1B 78 */	mr r4, r3
/* 803A7468 003A30C8  38 A0 00 00 */	li r5, 0
/* 803A746C 003A30CC  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7470 003A30D0  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A7474 003A30D4  98 03 00 10 */	stb r0, 0x10(r3)
/* 803A7478 003A30D8  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A747C 003A30DC  98 03 00 11 */	stb r0, 0x11(r3)
/* 803A7480 003A30E0  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A7484 003A30E4  B0 03 00 16 */	sth r0, 0x16(r3)
/* 803A7488 003A30E8  80 1F 00 08 */	lwz r0, 8(r31)
/* 803A748C 003A30EC  90 03 00 18 */	stw r0, 0x18(r3)
/* 803A7490 003A30F0  88 1E 01 85 */	lbz r0, 0x185(r30)
/* 803A7494 003A30F4  90 03 00 1C */	stw r0, 0x1c(r3)
/* 803A7498 003A30F8  38 66 99 C4 */	addi r3, r6, lbl_803A99C4@l
/* 803A749C 003A30FC  48 03 7A 65 */	bl func_803DEF00
/* 803A74A0 003A3100  39 61 00 20 */	addi r11, r1, 0x20
/* 803A74A4 003A3104  4B E1 FC D9 */	bl _restgpr_29
/* 803A74A8 003A3108  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A74AC 003A310C  7C 08 03 A6 */	mtlr r0
/* 803A74B0 003A3110  38 21 00 20 */	addi r1, r1, 0x20
/* 803A74B4 003A3114  4E 80 00 20 */	blr 

.global func_803A74B8
func_803A74B8:
/* 803A74B8 003A3118  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A74BC 003A311C  7C 08 02 A6 */	mflr r0
/* 803A74C0 003A3120  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A74C4 003A3124  39 61 00 20 */	addi r11, r1, 0x20
/* 803A74C8 003A3128  4B E1 FC 69 */	bl _savegpr_29
/* 803A74CC 003A312C  7C 7D 1B 78 */	mr r29, r3
/* 803A74D0 003A3130  7C 9E 23 78 */	mr r30, r4
/* 803A74D4 003A3134  7C BF 2B 78 */	mr r31, r5
/* 803A74D8 003A3138  38 60 00 05 */	li r3, 5
/* 803A74DC 003A313C  38 80 00 A4 */	li r4, 0xa4
/* 803A74E0 003A3140  4B DC 6A 91 */	bl func_8016DF70
/* 803A74E4 003A3144  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A74E8 003A3148  3C C0 80 3B */	lis r6, lbl_803A9A18@ha
/* 803A74EC 003A314C  7C 64 1B 78 */	mr r4, r3
/* 803A74F0 003A3150  38 A0 00 00 */	li r5, 0
/* 803A74F4 003A3154  98 03 00 88 */	stb r0, 0x88(r3)
/* 803A74F8 003A3158  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A74FC 003A315C  98 03 00 89 */	stb r0, 0x89(r3)
/* 803A7500 003A3160  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7504 003A3164  38 66 9A 18 */	addi r3, r6, lbl_803A9A18@l
/* 803A7508 003A3168  48 03 79 F9 */	bl func_803DEF00
/* 803A750C 003A316C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7510 003A3170  4B E1 FC 6D */	bl _restgpr_29
/* 803A7514 003A3174  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7518 003A3178  7C 08 03 A6 */	mtlr r0
/* 803A751C 003A317C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7520 003A3180  4E 80 00 20 */	blr 

.global func_803A7524
func_803A7524:
/* 803A7524 003A3184  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7528 003A3188  7C 08 02 A6 */	mflr r0
/* 803A752C 003A318C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7530 003A3190  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7534 003A3194  4B E1 FB FD */	bl _savegpr_29
/* 803A7538 003A3198  7C 7D 1B 78 */	mr r29, r3
/* 803A753C 003A319C  7C 9E 23 78 */	mr r30, r4
/* 803A7540 003A31A0  7C BF 2B 78 */	mr r31, r5
/* 803A7544 003A31A4  38 60 00 05 */	li r3, 5
/* 803A7548 003A31A8  38 80 00 A4 */	li r4, 0xa4
/* 803A754C 003A31AC  4B DC 6A 25 */	bl func_8016DF70
/* 803A7550 003A31B0  38 00 00 00 */	li r0, 0
/* 803A7554 003A31B4  3C C0 80 3B */	lis r6, lbl_803A9A6C@ha
/* 803A7558 003A31B8  98 03 00 8B */	stb r0, 0x8b(r3)
/* 803A755C 003A31BC  7C 64 1B 78 */	mr r4, r3
/* 803A7560 003A31C0  38 A0 00 00 */	li r5, 0
/* 803A7564 003A31C4  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7568 003A31C8  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A756C 003A31CC  98 03 00 88 */	stb r0, 0x88(r3)
/* 803A7570 003A31D0  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A7574 003A31D4  98 03 00 89 */	stb r0, 0x89(r3)
/* 803A7578 003A31D8  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A757C 003A31DC  B0 03 00 8E */	sth r0, 0x8e(r3)
/* 803A7580 003A31E0  38 66 9A 6C */	addi r3, r6, lbl_803A9A6C@l
/* 803A7584 003A31E4  48 03 79 7D */	bl func_803DEF00
/* 803A7588 003A31E8  39 61 00 20 */	addi r11, r1, 0x20
/* 803A758C 003A31EC  4B E1 FB F1 */	bl _restgpr_29
/* 803A7590 003A31F0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7594 003A31F4  7C 08 03 A6 */	mtlr r0
/* 803A7598 003A31F8  38 21 00 20 */	addi r1, r1, 0x20
/* 803A759C 003A31FC  4E 80 00 20 */	blr 

.global func_803A75A0
func_803A75A0:
/* 803A75A0 003A3200  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A75A4 003A3204  7C 08 02 A6 */	mflr r0
/* 803A75A8 003A3208  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A75AC 003A320C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A75B0 003A3210  4B E1 FB 81 */	bl _savegpr_29
/* 803A75B4 003A3214  7C 7D 1B 78 */	mr r29, r3
/* 803A75B8 003A3218  7C 9E 23 78 */	mr r30, r4
/* 803A75BC 003A321C  7C BF 2B 78 */	mr r31, r5
/* 803A75C0 003A3220  38 60 00 05 */	li r3, 5
/* 803A75C4 003A3224  38 80 00 74 */	li r4, 0x74
/* 803A75C8 003A3228  4B DC 69 A9 */	bl func_8016DF70
/* 803A75CC 003A322C  93 A3 00 00 */	stw r29, 0(r3)
/* 803A75D0 003A3230  38 00 00 00 */	li r0, 0
/* 803A75D4 003A3234  3C C0 80 3B */	lis r6, lbl_803A9AC0@ha
/* 803A75D8 003A3238  7C 64 1B 78 */	mr r4, r3
/* 803A75DC 003A323C  88 FF 00 00 */	lbz r7, 0(r31)
/* 803A75E0 003A3240  38 A0 00 00 */	li r5, 0
/* 803A75E4 003A3244  98 E3 00 68 */	stb r7, 0x68(r3)
/* 803A75E8 003A3248  88 FE 01 84 */	lbz r7, 0x184(r30)
/* 803A75EC 003A324C  98 E3 00 69 */	stb r7, 0x69(r3)
/* 803A75F0 003A3250  93 C3 00 04 */	stw r30, 4(r3)
/* 803A75F4 003A3254  80 FE 00 20 */	lwz r7, 0x20(r30)
/* 803A75F8 003A3258  90 E3 00 08 */	stw r7, 8(r3)
/* 803A75FC 003A325C  98 03 00 6B */	stb r0, 0x6b(r3)
/* 803A7600 003A3260  88 1F 00 01 */	lbz r0, 1(r31)
/* 803A7604 003A3264  98 03 00 6C */	stb r0, 0x6c(r3)
/* 803A7608 003A3268  38 66 9A C0 */	addi r3, r6, lbl_803A9AC0@l
/* 803A760C 003A326C  48 03 78 F5 */	bl func_803DEF00
/* 803A7610 003A3270  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7614 003A3274  4B E1 FB 69 */	bl _restgpr_29
/* 803A7618 003A3278  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A761C 003A327C  7C 08 03 A6 */	mtlr r0
/* 803A7620 003A3280  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7624 003A3284  4E 80 00 20 */	blr 

.global func_803A7628
func_803A7628:
/* 803A7628 003A3288  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A762C 003A328C  7C 08 02 A6 */	mflr r0
/* 803A7630 003A3290  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7634 003A3294  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7638 003A3298  4B E1 FA F9 */	bl _savegpr_29
/* 803A763C 003A329C  7C 7D 1B 78 */	mr r29, r3
/* 803A7640 003A32A0  7C 9E 23 78 */	mr r30, r4
/* 803A7644 003A32A4  7C BF 2B 78 */	mr r31, r5
/* 803A7648 003A32A8  38 60 00 05 */	li r3, 5
/* 803A764C 003A32AC  38 80 00 10 */	li r4, 0x10
/* 803A7650 003A32B0  4B DC 69 21 */	bl func_8016DF70
/* 803A7654 003A32B4  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7658 003A32B8  3C C0 80 3B */	lis r6, lbl_803A9B14@ha
/* 803A765C 003A32BC  7C 64 1B 78 */	mr r4, r3
/* 803A7660 003A32C0  38 A0 00 00 */	li r5, 0
/* 803A7664 003A32C4  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A7668 003A32C8  98 03 00 08 */	stb r0, 8(r3)
/* 803A766C 003A32CC  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A7670 003A32D0  98 03 00 09 */	stb r0, 9(r3)
/* 803A7674 003A32D4  38 66 9B 14 */	addi r3, r6, lbl_803A9B14@l
/* 803A7678 003A32D8  48 03 78 89 */	bl func_803DEF00
/* 803A767C 003A32DC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7680 003A32E0  4B E1 FA FD */	bl _restgpr_29
/* 803A7684 003A32E4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7688 003A32E8  7C 08 03 A6 */	mtlr r0
/* 803A768C 003A32EC  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7690 003A32F0  4E 80 00 20 */	blr 

.global func_803A7694
func_803A7694:
/* 803A7694 003A32F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7698 003A32F8  7C 08 02 A6 */	mflr r0
/* 803A769C 003A32FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A76A0 003A3300  39 61 00 20 */	addi r11, r1, 0x20
/* 803A76A4 003A3304  4B E1 FA 8D */	bl _savegpr_29
/* 803A76A8 003A3308  7C 7D 1B 78 */	mr r29, r3
/* 803A76AC 003A330C  7C 9E 23 78 */	mr r30, r4
/* 803A76B0 003A3310  7C BF 2B 78 */	mr r31, r5
/* 803A76B4 003A3314  38 60 00 05 */	li r3, 5
/* 803A76B8 003A3318  38 80 00 24 */	li r4, 0x24
/* 803A76BC 003A331C  4B DC 68 B5 */	bl func_8016DF70
/* 803A76C0 003A3320  93 A3 00 00 */	stw r29, 0(r3)
/* 803A76C4 003A3324  38 00 00 00 */	li r0, 0
/* 803A76C8 003A3328  3C C0 80 3B */	lis r6, lbl_803A9B68@ha
/* 803A76CC 003A332C  7C 64 1B 78 */	mr r4, r3
/* 803A76D0 003A3330  88 FF 00 00 */	lbz r7, 0(r31)
/* 803A76D4 003A3334  38 A0 00 00 */	li r5, 0
/* 803A76D8 003A3338  98 E3 00 10 */	stb r7, 0x10(r3)
/* 803A76DC 003A333C  88 FE 01 84 */	lbz r7, 0x184(r30)
/* 803A76E0 003A3340  98 E3 00 11 */	stb r7, 0x11(r3)
/* 803A76E4 003A3344  98 03 00 12 */	stb r0, 0x12(r3)
/* 803A76E8 003A3348  38 66 9B 68 */	addi r3, r6, lbl_803A9B68@l
/* 803A76EC 003A334C  48 03 78 15 */	bl func_803DEF00
/* 803A76F0 003A3350  39 61 00 20 */	addi r11, r1, 0x20
/* 803A76F4 003A3354  4B E1 FA 89 */	bl _restgpr_29
/* 803A76F8 003A3358  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A76FC 003A335C  7C 08 03 A6 */	mtlr r0
/* 803A7700 003A3360  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7704 003A3364  4E 80 00 20 */	blr 

.global func_803A7708
func_803A7708:
/* 803A7708 003A3368  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A770C 003A336C  7C 08 02 A6 */	mflr r0
/* 803A7710 003A3370  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7714 003A3374  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7718 003A3378  4B E1 FA 19 */	bl _savegpr_29
/* 803A771C 003A337C  7C 7D 1B 78 */	mr r29, r3
/* 803A7720 003A3380  7C 9E 23 78 */	mr r30, r4
/* 803A7724 003A3384  7C BF 2B 78 */	mr r31, r5
/* 803A7728 003A3388  38 60 00 05 */	li r3, 5
/* 803A772C 003A338C  38 80 00 1C */	li r4, 0x1c
/* 803A7730 003A3390  4B DC 68 41 */	bl func_8016DF70
/* 803A7734 003A3394  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7738 003A3398  3C C0 80 3B */	lis r6, lbl_803A9BBC@ha
/* 803A773C 003A339C  7C 64 1B 78 */	mr r4, r3
/* 803A7740 003A33A0  38 A0 00 00 */	li r5, 0
/* 803A7744 003A33A4  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A7748 003A33A8  98 03 00 08 */	stb r0, 8(r3)
/* 803A774C 003A33AC  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A7750 003A33B0  98 03 00 09 */	stb r0, 9(r3)
/* 803A7754 003A33B4  38 66 9B BC */	addi r3, r6, lbl_803A9BBC@l
/* 803A7758 003A33B8  48 03 77 A9 */	bl func_803DEF00
/* 803A775C 003A33BC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7760 003A33C0  4B E1 FA 1D */	bl _restgpr_29
/* 803A7764 003A33C4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7768 003A33C8  7C 08 03 A6 */	mtlr r0
/* 803A776C 003A33CC  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7770 003A33D0  4E 80 00 20 */	blr 

.global func_803A7774
func_803A7774:
/* 803A7774 003A33D4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A7778 003A33D8  7C 08 02 A6 */	mflr r0
/* 803A777C 003A33DC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A7780 003A33E0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A7784 003A33E4  7C 9F 23 78 */	mr r31, r4
/* 803A7788 003A33E8  38 80 00 10 */	li r4, 0x10
/* 803A778C 003A33EC  93 C1 00 08 */	stw r30, 8(r1)
/* 803A7790 003A33F0  7C 7E 1B 78 */	mr r30, r3
/* 803A7794 003A33F4  38 60 00 05 */	li r3, 5
/* 803A7798 003A33F8  4B DC 67 D9 */	bl func_8016DF70
/* 803A779C 003A33FC  38 00 00 00 */	li r0, 0
/* 803A77A0 003A3400  3C C0 80 3B */	lis r6, lbl_803A9C10@ha
/* 803A77A4 003A3404  98 03 00 0A */	stb r0, 0xa(r3)
/* 803A77A8 003A3408  7C 64 1B 78 */	mr r4, r3
/* 803A77AC 003A340C  38 A0 00 00 */	li r5, 0
/* 803A77B0 003A3410  93 C3 00 00 */	stw r30, 0(r3)
/* 803A77B4 003A3414  88 1F 00 84 */	lbz r0, 0x84(r31)
/* 803A77B8 003A3418  98 03 00 08 */	stb r0, 8(r3)
/* 803A77BC 003A341C  88 1F 01 84 */	lbz r0, 0x184(r31)
/* 803A77C0 003A3420  98 03 00 09 */	stb r0, 9(r3)
/* 803A77C4 003A3424  38 66 9C 10 */	addi r3, r6, lbl_803A9C10@l
/* 803A77C8 003A3428  48 03 77 39 */	bl func_803DEF00
/* 803A77CC 003A342C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A77D0 003A3430  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A77D4 003A3434  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A77D8 003A3438  7C 08 03 A6 */	mtlr r0
/* 803A77DC 003A343C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A77E0 003A3440  4E 80 00 20 */	blr 

.global func_803A77E4
func_803A77E4:
/* 803A77E4 003A3444  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A77E8 003A3448  7C 08 02 A6 */	mflr r0
/* 803A77EC 003A344C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A77F0 003A3450  39 61 00 20 */	addi r11, r1, 0x20
/* 803A77F4 003A3454  4B E1 F9 3D */	bl _savegpr_29
/* 803A77F8 003A3458  7C 7D 1B 78 */	mr r29, r3
/* 803A77FC 003A345C  7C 9E 23 78 */	mr r30, r4
/* 803A7800 003A3460  7C BF 2B 78 */	mr r31, r5
/* 803A7804 003A3464  38 60 00 05 */	li r3, 5
/* 803A7808 003A3468  38 80 00 10 */	li r4, 0x10
/* 803A780C 003A346C  4B DC 67 65 */	bl func_8016DF70
/* 803A7810 003A3470  38 00 00 00 */	li r0, 0
/* 803A7814 003A3474  3C C0 80 3B */	lis r6, lbl_803A9C64@ha
/* 803A7818 003A3478  98 03 00 0A */	stb r0, 0xa(r3)
/* 803A781C 003A347C  7C 64 1B 78 */	mr r4, r3
/* 803A7820 003A3480  38 A0 00 00 */	li r5, 0
/* 803A7824 003A3484  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7828 003A3488  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A782C 003A348C  98 03 00 08 */	stb r0, 8(r3)
/* 803A7830 003A3490  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A7834 003A3494  98 03 00 09 */	stb r0, 9(r3)
/* 803A7838 003A3498  38 66 9C 64 */	addi r3, r6, lbl_803A9C64@l
/* 803A783C 003A349C  48 03 76 C5 */	bl func_803DEF00
/* 803A7840 003A34A0  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7844 003A34A4  4B E1 F9 39 */	bl _restgpr_29
/* 803A7848 003A34A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A784C 003A34AC  7C 08 03 A6 */	mtlr r0
/* 803A7850 003A34B0  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7854 003A34B4  4E 80 00 20 */	blr 

.global func_803A7858
func_803A7858:
/* 803A7858 003A34B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A785C 003A34BC  7C 08 02 A6 */	mflr r0
/* 803A7860 003A34C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7864 003A34C4  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7868 003A34C8  4B E1 F8 C5 */	bl _savegpr_28
/* 803A786C 003A34CC  3B E4 00 28 */	addi r31, r4, 0x28
/* 803A7870 003A34D0  7C 7C 1B 78 */	mr r28, r3
/* 803A7874 003A34D4  7C 9D 23 78 */	mr r29, r4
/* 803A7878 003A34D8  7C BE 2B 78 */	mr r30, r5
/* 803A787C 003A34DC  7F E3 FB 78 */	mr r3, r31
/* 803A7880 003A34E0  38 80 00 00 */	li r4, 0
/* 803A7884 003A34E4  38 A0 00 01 */	li r5, 1
/* 803A7888 003A34E8  4B C5 C8 7D */	bl memset
/* 803A788C 003A34EC  88 1D 01 84 */	lbz r0, 0x184(r29)
/* 803A7890 003A34F0  3C 60 80 3B */	lis r3, lbl_803A9CB8@ha
/* 803A7894 003A34F4  93 9F 00 0C */	stw r28, 0xc(r31)
/* 803A7898 003A34F8  7F E4 FB 78 */	mr r4, r31
/* 803A789C 003A34FC  38 63 9C B8 */	addi r3, r3, lbl_803A9CB8@l
/* 803A78A0 003A3500  38 A0 03 E8 */	li r5, 0x3e8
/* 803A78A4 003A3504  98 1F 00 18 */	stb r0, 0x18(r31)
/* 803A78A8 003A3508  88 1E 00 00 */	lbz r0, 0(r30)
/* 803A78AC 003A350C  98 1F 00 40 */	stb r0, 0x40(r31)
/* 803A78B0 003A3510  48 03 76 51 */	bl func_803DEF00
/* 803A78B4 003A3514  39 61 00 20 */	addi r11, r1, 0x20
/* 803A78B8 003A3518  4B E1 F8 C1 */	bl _restgpr_28
/* 803A78BC 003A351C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A78C0 003A3520  7C 08 03 A6 */	mtlr r0
/* 803A78C4 003A3524  38 21 00 20 */	addi r1, r1, 0x20
/* 803A78C8 003A3528  4E 80 00 20 */	blr 

.global func_803A78CC
func_803A78CC:
/* 803A78CC 003A352C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A78D0 003A3530  7C 08 02 A6 */	mflr r0
/* 803A78D4 003A3534  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A78D8 003A3538  39 61 00 20 */	addi r11, r1, 0x20
/* 803A78DC 003A353C  4B E1 F8 55 */	bl _savegpr_29
/* 803A78E0 003A3540  3B E4 00 28 */	addi r31, r4, 0x28
/* 803A78E4 003A3544  7C 7D 1B 78 */	mr r29, r3
/* 803A78E8 003A3548  7C 9E 23 78 */	mr r30, r4
/* 803A78EC 003A354C  38 80 00 00 */	li r4, 0
/* 803A78F0 003A3550  7F E3 FB 78 */	mr r3, r31
/* 803A78F4 003A3554  38 A0 00 01 */	li r5, 1
/* 803A78F8 003A3558  4B C5 C8 0D */	bl memset
/* 803A78FC 003A355C  88 DE 01 84 */	lbz r6, 0x184(r30)
/* 803A7900 003A3560  3C 60 80 3B */	lis r3, lbl_803A9D0C@ha
/* 803A7904 003A3564  88 1E 00 84 */	lbz r0, 0x84(r30)
/* 803A7908 003A3568  7F E4 FB 78 */	mr r4, r31
/* 803A790C 003A356C  93 BF 00 0C */	stw r29, 0xc(r31)
/* 803A7910 003A3570  38 63 9D 0C */	addi r3, r3, lbl_803A9D0C@l
/* 803A7914 003A3574  38 A0 03 E8 */	li r5, 0x3e8
/* 803A7918 003A3578  98 DF 00 18 */	stb r6, 0x18(r31)
/* 803A791C 003A357C  98 1F 00 40 */	stb r0, 0x40(r31)
/* 803A7920 003A3580  48 03 75 E1 */	bl func_803DEF00
/* 803A7924 003A3584  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803A7928 003A3588  39 61 00 20 */	addi r11, r1, 0x20
/* 803A792C 003A358C  4B E1 F8 51 */	bl _restgpr_29
/* 803A7930 003A3590  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7934 003A3594  7C 08 03 A6 */	mtlr r0
/* 803A7938 003A3598  38 21 00 20 */	addi r1, r1, 0x20
/* 803A793C 003A359C  4E 80 00 20 */	blr 

.global func_803A7940
func_803A7940:
/* 803A7940 003A35A0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7944 003A35A4  7C 08 02 A6 */	mflr r0
/* 803A7948 003A35A8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A794C 003A35AC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7950 003A35B0  4B E1 F7 DD */	bl _savegpr_28
/* 803A7954 003A35B4  7C 7C 1B 78 */	mr r28, r3
/* 803A7958 003A35B8  7C 9D 23 78 */	mr r29, r4
/* 803A795C 003A35BC  7C BE 2B 78 */	mr r30, r5
/* 803A7960 003A35C0  38 60 00 05 */	li r3, 5
/* 803A7964 003A35C4  38 80 00 3C */	li r4, 0x3c
/* 803A7968 003A35C8  4B DC 66 09 */	bl func_8016DF70
/* 803A796C 003A35CC  7C 7F 1B 78 */	mr r31, r3
/* 803A7970 003A35D0  38 80 00 00 */	li r4, 0
/* 803A7974 003A35D4  38 A0 00 3C */	li r5, 0x3c
/* 803A7978 003A35D8  4B C5 C7 8D */	bl memset
/* 803A797C 003A35DC  38 A0 00 00 */	li r5, 0
/* 803A7980 003A35E0  38 7D 00 28 */	addi r3, r29, 0x28
/* 803A7984 003A35E4  98 BF 00 0A */	stb r5, 0xa(r31)
/* 803A7988 003A35E8  39 00 00 00 */	li r8, 0
/* 803A798C 003A35EC  38 00 00 06 */	li r0, 6
/* 803A7990 003A35F0  98 BF 00 0B */	stb r5, 0xb(r31)
/* 803A7994 003A35F4  93 9F 00 00 */	stw r28, 0(r31)
/* 803A7998 003A35F8  88 9E 00 00 */	lbz r4, 0(r30)
/* 803A799C 003A35FC  98 9F 00 08 */	stb r4, 8(r31)
/* 803A79A0 003A3600  88 9D 01 84 */	lbz r4, 0x184(r29)
/* 803A79A4 003A3604  98 9F 00 09 */	stb r4, 9(r31)
/* 803A79A8 003A3608  88 9D 01 85 */	lbz r4, 0x185(r29)
/* 803A79AC 003A360C  98 9F 00 34 */	stb r4, 0x34(r31)
/* 803A79B0 003A3610  90 7F 00 04 */	stw r3, 4(r31)
/* 803A79B4 003A3614  88 7E 00 01 */	lbz r3, 1(r30)
/* 803A79B8 003A3618  98 7F 00 23 */	stb r3, 0x23(r31)
/* 803A79BC 003A361C  A8 7E 00 24 */	lha r3, 0x24(r30)
/* 803A79C0 003A3620  B0 7F 00 36 */	sth r3, 0x36(r31)
/* 803A79C4 003A3624  A0 7E 00 26 */	lhz r3, 0x26(r30)
/* 803A79C8 003A3628  B0 7F 00 38 */	sth r3, 0x38(r31)
/* 803A79CC 003A362C  88 7E 00 28 */	lbz r3, 0x28(r30)
/* 803A79D0 003A3630  98 7F 00 3A */	stb r3, 0x3a(r31)
lbl_803A79D4:
/* 803A79D4 003A3634  7C DE 2A 14 */	add r6, r30, r5
/* 803A79D8 003A3638  7C FF 2A 14 */	add r7, r31, r5
/* 803A79DC 003A363C  39 20 00 00 */	li r9, 0
/* 803A79E0 003A3640  7C 09 03 A6 */	mtctr r0
lbl_803A79E4:
/* 803A79E4 003A3644  7C 86 4A 14 */	add r4, r6, r9
/* 803A79E8 003A3648  7C 67 4A 14 */	add r3, r7, r9
/* 803A79EC 003A364C  88 84 00 08 */	lbz r4, 8(r4)
/* 803A79F0 003A3650  39 29 00 01 */	addi r9, r9, 1
/* 803A79F4 003A3654  98 83 00 10 */	stb r4, 0x10(r3)
/* 803A79F8 003A3658  42 00 FF EC */	bdnz lbl_803A79E4
/* 803A79FC 003A365C  39 08 00 01 */	addi r8, r8, 1
/* 803A7A00 003A3660  38 A5 00 06 */	addi r5, r5, 6
/* 803A7A04 003A3664  2C 08 00 02 */	cmpwi r8, 2
/* 803A7A08 003A3668  41 80 FF CC */	blt lbl_803A79D4
/* 803A7A0C 003A366C  38 00 00 06 */	li r0, 6
/* 803A7A10 003A3670  38 A0 00 00 */	li r5, 0
/* 803A7A14 003A3674  38 80 00 00 */	li r4, 0
/* 803A7A18 003A3678  7C 09 03 A6 */	mtctr r0
lbl_803A7A1C:
/* 803A7A1C 003A367C  7C 7E 2A 14 */	add r3, r30, r5
/* 803A7A20 003A3680  88 03 00 08 */	lbz r0, 8(r3)
/* 803A7A24 003A3684  28 00 00 02 */	cmplwi r0, 2
/* 803A7A28 003A3688  40 82 00 10 */	bne lbl_803A7A38
/* 803A7A2C 003A368C  7C 7F 2A 14 */	add r3, r31, r5
/* 803A7A30 003A3690  98 83 00 1C */	stb r4, 0x1c(r3)
/* 803A7A34 003A3694  48 00 00 10 */	b lbl_803A7A44
lbl_803A7A38:
/* 803A7A38 003A3698  88 03 00 02 */	lbz r0, 2(r3)
/* 803A7A3C 003A369C  7C 7F 2A 14 */	add r3, r31, r5
/* 803A7A40 003A36A0  98 03 00 1C */	stb r0, 0x1c(r3)
lbl_803A7A44:
/* 803A7A44 003A36A4  38 A5 00 01 */	addi r5, r5, 1
/* 803A7A48 003A36A8  42 00 FF D4 */	bdnz lbl_803A7A1C
/* 803A7A4C 003A36AC  38 00 00 04 */	li r0, 4
/* 803A7A50 003A36B0  38 E0 00 00 */	li r7, 0
/* 803A7A54 003A36B4  38 60 00 00 */	li r3, 0
/* 803A7A58 003A36B8  7C 09 03 A6 */	mtctr r0
lbl_803A7A5C:
/* 803A7A5C 003A36BC  7C BE 1A 14 */	add r5, r30, r3
/* 803A7A60 003A36C0  7C 9F 1A 14 */	add r4, r31, r3
/* 803A7A64 003A36C4  A0 05 00 14 */	lhz r0, 0x14(r5)
/* 803A7A68 003A36C8  7C BE 3A 14 */	add r5, r30, r7
/* 803A7A6C 003A36CC  7C DF 3A 14 */	add r6, r31, r7
/* 803A7A70 003A36D0  38 E7 00 01 */	addi r7, r7, 1
/* 803A7A74 003A36D4  B0 04 00 24 */	sth r0, 0x24(r4)
/* 803A7A78 003A36D8  38 63 00 02 */	addi r3, r3, 2
/* 803A7A7C 003A36DC  88 05 00 1C */	lbz r0, 0x1c(r5)
/* 803A7A80 003A36E0  98 06 00 2C */	stb r0, 0x2c(r6)
/* 803A7A84 003A36E4  88 05 00 20 */	lbz r0, 0x20(r5)
/* 803A7A88 003A36E8  98 06 00 30 */	stb r0, 0x30(r6)
/* 803A7A8C 003A36EC  42 00 FF D0 */	bdnz lbl_803A7A5C
/* 803A7A90 003A36F0  80 7D 00 00 */	lwz r3, 0(r29)
/* 803A7A94 003A36F4  7F E4 FB 78 */	mr r4, r31
/* 803A7A98 003A36F8  38 A0 00 00 */	li r5, 0
/* 803A7A9C 003A36FC  48 03 74 65 */	bl func_803DEF00
/* 803A7AA0 003A3700  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7AA4 003A3704  4B E1 F6 D5 */	bl _restgpr_28
/* 803A7AA8 003A3708  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7AAC 003A370C  7C 08 03 A6 */	mtlr r0
/* 803A7AB0 003A3710  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7AB4 003A3714  4E 80 00 20 */	blr 

.global func_803A7AB8
func_803A7AB8:
/* 803A7AB8 003A3718  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7ABC 003A371C  7C 08 02 A6 */	mflr r0
/* 803A7AC0 003A3720  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7AC4 003A3724  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7AC8 003A3728  4B E1 F6 69 */	bl _savegpr_29
/* 803A7ACC 003A372C  7C 7D 1B 78 */	mr r29, r3
/* 803A7AD0 003A3730  7C 9F 23 78 */	mr r31, r4
/* 803A7AD4 003A3734  7C BE 2B 78 */	mr r30, r5
/* 803A7AD8 003A3738  38 60 00 05 */	li r3, 5
/* 803A7ADC 003A373C  38 80 00 24 */	li r4, 0x24
/* 803A7AE0 003A3740  4B DC 64 91 */	bl func_8016DF70
/* 803A7AE4 003A3744  38 C0 00 00 */	li r6, 0
/* 803A7AE8 003A3748  38 9F 00 28 */	addi r4, r31, 0x28
/* 803A7AEC 003A374C  98 C3 00 20 */	stb r6, 0x20(r3)
/* 803A7AF0 003A3750  38 00 00 04 */	li r0, 4
/* 803A7AF4 003A3754  39 00 00 00 */	li r8, 0
/* 803A7AF8 003A3758  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7AFC 003A375C  88 BF 00 84 */	lbz r5, 0x84(r31)
/* 803A7B00 003A3760  98 A3 00 1C */	stb r5, 0x1c(r3)
/* 803A7B04 003A3764  88 BF 01 84 */	lbz r5, 0x184(r31)
/* 803A7B08 003A3768  98 A3 00 1D */	stb r5, 0x1d(r3)
/* 803A7B0C 003A376C  88 BF 01 85 */	lbz r5, 0x185(r31)
/* 803A7B10 003A3770  98 A3 00 1E */	stb r5, 0x1e(r3)
/* 803A7B14 003A3774  90 83 00 04 */	stw r4, 4(r3)
/* 803A7B18 003A3778  88 9E 00 01 */	lbz r4, 1(r30)
/* 803A7B1C 003A377C  98 83 00 1F */	stb r4, 0x1f(r3)
/* 803A7B20 003A3780  7C 09 03 A6 */	mtctr r0
lbl_803A7B24:
/* 803A7B24 003A3784  7C BE 32 14 */	add r5, r30, r6
/* 803A7B28 003A3788  7C 83 32 14 */	add r4, r3, r6
/* 803A7B2C 003A378C  A0 05 00 04 */	lhz r0, 4(r5)
/* 803A7B30 003A3790  7C BE 42 14 */	add r5, r30, r8
/* 803A7B34 003A3794  7C E3 42 14 */	add r7, r3, r8
/* 803A7B38 003A3798  39 08 00 01 */	addi r8, r8, 1
/* 803A7B3C 003A379C  B0 04 00 0C */	sth r0, 0xc(r4)
/* 803A7B40 003A37A0  38 C6 00 02 */	addi r6, r6, 2
/* 803A7B44 003A37A4  88 05 00 0C */	lbz r0, 0xc(r5)
/* 803A7B48 003A37A8  98 07 00 14 */	stb r0, 0x14(r7)
/* 803A7B4C 003A37AC  88 05 00 10 */	lbz r0, 0x10(r5)
/* 803A7B50 003A37B0  98 07 00 18 */	stb r0, 0x18(r7)
/* 803A7B54 003A37B4  42 00 FF D0 */	bdnz lbl_803A7B24
/* 803A7B58 003A37B8  A0 1E 00 02 */	lhz r0, 2(r30)
/* 803A7B5C 003A37BC  7C 64 1B 78 */	mr r4, r3
/* 803A7B60 003A37C0  38 A0 00 00 */	li r5, 0
/* 803A7B64 003A37C4  B0 03 00 22 */	sth r0, 0x22(r3)
/* 803A7B68 003A37C8  80 7F 00 04 */	lwz r3, 4(r31)
/* 803A7B6C 003A37CC  48 03 73 95 */	bl func_803DEF00
/* 803A7B70 003A37D0  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7B74 003A37D4  4B E1 F6 09 */	bl _restgpr_29
/* 803A7B78 003A37D8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7B7C 003A37DC  7C 08 03 A6 */	mtlr r0
/* 803A7B80 003A37E0  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7B84 003A37E4  4E 80 00 20 */	blr 

.global func_803A7B88
func_803A7B88:
/* 803A7B88 003A37E8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803A7B8C 003A37EC  7C 08 02 A6 */	mflr r0
/* 803A7B90 003A37F0  90 01 00 34 */	stw r0, 0x34(r1)
/* 803A7B94 003A37F4  39 61 00 30 */	addi r11, r1, 0x30
/* 803A7B98 003A37F8  4B E1 F5 8D */	bl _savegpr_26
/* 803A7B9C 003A37FC  7C 7C 1B 78 */	mr r28, r3
/* 803A7BA0 003A3800  7C 9A 23 78 */	mr r26, r4
/* 803A7BA4 003A3804  7C BB 2B 78 */	mr r27, r5
/* 803A7BA8 003A3808  38 60 00 05 */	li r3, 5
/* 803A7BAC 003A380C  38 80 00 44 */	li r4, 0x44
/* 803A7BB0 003A3810  4B DC 63 C1 */	bl func_8016DF70
/* 803A7BB4 003A3814  3B C0 00 00 */	li r30, 0
/* 803A7BB8 003A3818  38 1A 00 28 */	addi r0, r26, 0x28
/* 803A7BBC 003A381C  9B C3 00 0F */	stb r30, 0xf(r3)
/* 803A7BC0 003A3820  7C 7D 1B 78 */	mr r29, r3
/* 803A7BC4 003A3824  38 81 00 08 */	addi r4, r1, 8
/* 803A7BC8 003A3828  93 83 00 00 */	stw r28, 0(r3)
/* 803A7BCC 003A382C  88 BA 00 84 */	lbz r5, 0x84(r26)
/* 803A7BD0 003A3830  98 A3 00 0C */	stb r5, 0xc(r3)
/* 803A7BD4 003A3834  88 BA 01 84 */	lbz r5, 0x184(r26)
/* 803A7BD8 003A3838  98 A3 00 0D */	stb r5, 0xd(r3)
/* 803A7BDC 003A383C  88 BA 01 85 */	lbz r5, 0x185(r26)
/* 803A7BE0 003A3840  98 A3 00 0E */	stb r5, 0xe(r3)
/* 803A7BE4 003A3844  A0 BB 00 02 */	lhz r5, 2(r27)
/* 803A7BE8 003A3848  B0 A3 00 30 */	sth r5, 0x30(r3)
/* 803A7BEC 003A384C  90 03 00 04 */	stw r0, 4(r3)
/* 803A7BF0 003A3850  88 1B 00 01 */	lbz r0, 1(r27)
/* 803A7BF4 003A3854  98 03 00 32 */	stb r0, 0x32(r3)
/* 803A7BF8 003A3858  7F 83 E3 78 */	mr r3, r28
/* 803A7BFC 003A385C  48 00 61 69 */	bl func_803ADD64
/* 803A7C00 003A3860  7F 83 E3 78 */	mr r3, r28
/* 803A7C04 003A3864  48 00 4C 5D */	bl func_803AC860
/* 803A7C08 003A3868  7C 7F 1B 78 */	mr r31, r3
/* 803A7C0C 003A386C  7F 83 E3 78 */	mr r3, r28
/* 803A7C10 003A3870  48 00 4C 31 */	bl func_803AC840
/* 803A7C14 003A3874  3B 80 00 00 */	li r28, 0
/* 803A7C18 003A3878  48 00 00 20 */	b lbl_803A7C38
lbl_803A7C1C:
/* 803A7C1C 003A387C  7C 7D F2 14 */	add r3, r29, r30
/* 803A7C20 003A3880  7C 9B F2 14 */	add r4, r27, r30
/* 803A7C24 003A3884  38 63 00 10 */	addi r3, r3, 0x10
/* 803A7C28 003A3888  38 84 00 04 */	addi r4, r4, 4
/* 803A7C2C 003A388C  48 00 00 3D */	bl func_803A7C68
/* 803A7C30 003A3890  3B 9C 00 01 */	addi r28, r28, 1
/* 803A7C34 003A3894  3B DE 00 08 */	addi r30, r30, 8
lbl_803A7C38:
/* 803A7C38 003A3898  7C 1C F8 00 */	cmpw r28, r31
/* 803A7C3C 003A389C  41 80 FF E0 */	blt lbl_803A7C1C
/* 803A7C40 003A38A0  80 7A 00 08 */	lwz r3, 8(r26)
/* 803A7C44 003A38A4  7F A4 EB 78 */	mr r4, r29
/* 803A7C48 003A38A8  38 A0 00 00 */	li r5, 0
/* 803A7C4C 003A38AC  48 03 72 B5 */	bl func_803DEF00
/* 803A7C50 003A38B0  39 61 00 30 */	addi r11, r1, 0x30
/* 803A7C54 003A38B4  4B E1 F5 1D */	bl _restgpr_26
/* 803A7C58 003A38B8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803A7C5C 003A38BC  7C 08 03 A6 */	mtlr r0
/* 803A7C60 003A38C0  38 21 00 30 */	addi r1, r1, 0x30
/* 803A7C64 003A38C4  4E 80 00 20 */	blr 

.global func_803A7C68
func_803A7C68:
/* 803A7C68 003A38C8  89 24 00 00 */	lbz r9, 0(r4)
/* 803A7C6C 003A38CC  89 04 00 01 */	lbz r8, 1(r4)
/* 803A7C70 003A38D0  88 E4 00 02 */	lbz r7, 2(r4)
/* 803A7C74 003A38D4  88 C4 00 03 */	lbz r6, 3(r4)
/* 803A7C78 003A38D8  A8 A4 00 04 */	lha r5, 4(r4)
/* 803A7C7C 003A38DC  A0 04 00 06 */	lhz r0, 6(r4)
/* 803A7C80 003A38E0  99 23 00 00 */	stb r9, 0(r3)
/* 803A7C84 003A38E4  99 03 00 01 */	stb r8, 1(r3)
/* 803A7C88 003A38E8  98 E3 00 02 */	stb r7, 2(r3)
/* 803A7C8C 003A38EC  98 C3 00 03 */	stb r6, 3(r3)
/* 803A7C90 003A38F0  B0 A3 00 04 */	sth r5, 4(r3)
/* 803A7C94 003A38F4  B0 03 00 06 */	sth r0, 6(r3)
/* 803A7C98 003A38F8  4E 80 00 20 */	blr 

.global func_803A7C9C
func_803A7C9C:
/* 803A7C9C 003A38FC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7CA0 003A3900  7C 08 02 A6 */	mflr r0
/* 803A7CA4 003A3904  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7CA8 003A3908  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7CAC 003A390C  4B E1 F4 81 */	bl _savegpr_28
/* 803A7CB0 003A3910  7C 7C 1B 78 */	mr r28, r3
/* 803A7CB4 003A3914  7C 9D 23 78 */	mr r29, r4
/* 803A7CB8 003A3918  7C BE 2B 78 */	mr r30, r5
/* 803A7CBC 003A391C  38 60 00 05 */	li r3, 5
/* 803A7CC0 003A3920  38 80 00 34 */	li r4, 0x34
/* 803A7CC4 003A3924  4B DC 62 AD */	bl func_8016DF70
/* 803A7CC8 003A3928  7C 7F 1B 78 */	mr r31, r3
/* 803A7CCC 003A392C  38 60 00 05 */	li r3, 5
/* 803A7CD0 003A3930  38 80 00 34 */	li r4, 0x34
/* 803A7CD4 003A3934  4B DC 62 9D */	bl func_8016DF70
/* 803A7CD8 003A3938  90 7F 00 08 */	stw r3, 8(r31)
/* 803A7CDC 003A393C  38 60 00 05 */	li r3, 5
/* 803A7CE0 003A3940  38 80 00 38 */	li r4, 0x38
/* 803A7CE4 003A3944  4B DC 62 8D */	bl func_8016DF70
/* 803A7CE8 003A3948  80 9F 00 08 */	lwz r4, 8(r31)
/* 803A7CEC 003A394C  90 64 00 04 */	stw r3, 4(r4)
/* 803A7CF0 003A3950  38 60 00 05 */	li r3, 5
/* 803A7CF4 003A3954  48 03 6A ED */	bl func_803DE7E0
/* 803A7CF8 003A3958  80 9F 00 08 */	lwz r4, 8(r31)
/* 803A7CFC 003A395C  38 A0 00 00 */	li r5, 0
/* 803A7D00 003A3960  39 20 00 00 */	li r9, 0
/* 803A7D04 003A3964  38 00 00 06 */	li r0, 6
/* 803A7D08 003A3968  80 84 00 04 */	lwz r4, 4(r4)
/* 803A7D0C 003A396C  90 64 00 00 */	stw r3, 0(r4)
/* 803A7D10 003A3970  98 BF 00 0E */	stb r5, 0xe(r31)
/* 803A7D14 003A3974  93 9F 00 00 */	stw r28, 0(r31)
/* 803A7D18 003A3978  88 7E 00 00 */	lbz r3, 0(r30)
/* 803A7D1C 003A397C  98 7F 00 0C */	stb r3, 0xc(r31)
/* 803A7D20 003A3980  88 7D 01 84 */	lbz r3, 0x184(r29)
/* 803A7D24 003A3984  98 7F 00 0D */	stb r3, 0xd(r31)
/* 803A7D28 003A3988  88 7D 01 85 */	lbz r3, 0x185(r29)
/* 803A7D2C 003A398C  98 7F 00 0F */	stb r3, 0xf(r31)
/* 803A7D30 003A3990  88 7E 00 01 */	lbz r3, 1(r30)
/* 803A7D34 003A3994  98 7F 00 14 */	stb r3, 0x14(r31)
/* 803A7D38 003A3998  88 7E 00 02 */	lbz r3, 2(r30)
/* 803A7D3C 003A399C  98 7F 00 15 */	stb r3, 0x15(r31)
/* 803A7D40 003A39A0  88 7E 00 03 */	lbz r3, 3(r30)
/* 803A7D44 003A39A4  98 7F 00 16 */	stb r3, 0x16(r31)
lbl_803A7D48:
/* 803A7D48 003A39A8  7D 1E 4A 14 */	add r8, r30, r9
/* 803A7D4C 003A39AC  80 7F 00 08 */	lwz r3, 8(r31)
/* 803A7D50 003A39B0  88 88 00 04 */	lbz r4, 4(r8)
/* 803A7D54 003A39B4  7C DE 2A 14 */	add r6, r30, r5
/* 803A7D58 003A39B8  7C 63 4A 14 */	add r3, r3, r9
/* 803A7D5C 003A39BC  7C FF 2A 14 */	add r7, r31, r5
/* 803A7D60 003A39C0  98 83 00 0C */	stb r4, 0xc(r3)
/* 803A7D64 003A39C4  39 40 00 00 */	li r10, 0
/* 803A7D68 003A39C8  7C 09 03 A6 */	mtctr r0
lbl_803A7D6C:
/* 803A7D6C 003A39CC  7C 86 52 14 */	add r4, r6, r10
/* 803A7D70 003A39D0  7C 67 52 14 */	add r3, r7, r10
/* 803A7D74 003A39D4  88 84 00 08 */	lbz r4, 8(r4)
/* 803A7D78 003A39D8  39 4A 00 01 */	addi r10, r10, 1
/* 803A7D7C 003A39DC  98 83 00 18 */	stb r4, 0x18(r3)
/* 803A7D80 003A39E0  42 00 FF EC */	bdnz lbl_803A7D6C
/* 803A7D84 003A39E4  7C 7F 4A 14 */	add r3, r31, r9
/* 803A7D88 003A39E8  88 88 00 20 */	lbz r4, 0x20(r8)
/* 803A7D8C 003A39EC  39 29 00 01 */	addi r9, r9, 1
/* 803A7D90 003A39F0  38 A5 00 06 */	addi r5, r5, 6
/* 803A7D94 003A39F4  2C 09 00 04 */	cmpwi r9, 4
/* 803A7D98 003A39F8  98 83 00 30 */	stb r4, 0x30(r3)
/* 803A7D9C 003A39FC  41 80 FF AC */	blt lbl_803A7D48
/* 803A7DA0 003A3A00  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 803A7DA4 003A3A04  7F E4 FB 78 */	mr r4, r31
/* 803A7DA8 003A3A08  38 A0 00 00 */	li r5, 0
/* 803A7DAC 003A3A0C  48 03 71 55 */	bl func_803DEF00
/* 803A7DB0 003A3A10  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7DB4 003A3A14  4B E1 F3 C5 */	bl _restgpr_28
/* 803A7DB8 003A3A18  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7DBC 003A3A1C  7C 08 03 A6 */	mtlr r0
/* 803A7DC0 003A3A20  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7DC4 003A3A24  4E 80 00 20 */	blr 

.global func_803A7DC8
func_803A7DC8:
/* 803A7DC8 003A3A28  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7DCC 003A3A2C  7C 08 02 A6 */	mflr r0
/* 803A7DD0 003A3A30  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7DD4 003A3A34  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7DD8 003A3A38  4B E1 F3 59 */	bl _savegpr_29
/* 803A7DDC 003A3A3C  7C 7D 1B 78 */	mr r29, r3
/* 803A7DE0 003A3A40  7C 9E 23 78 */	mr r30, r4
/* 803A7DE4 003A3A44  7C BF 2B 78 */	mr r31, r5
/* 803A7DE8 003A3A48  38 60 00 05 */	li r3, 5
/* 803A7DEC 003A3A4C  38 80 00 34 */	li r4, 0x34
/* 803A7DF0 003A3A50  4B DC 61 81 */	bl func_8016DF70
/* 803A7DF4 003A3A54  38 E0 00 00 */	li r7, 0
/* 803A7DF8 003A3A58  7C 64 1B 78 */	mr r4, r3
/* 803A7DFC 003A3A5C  98 E3 00 0A */	stb r7, 0xa(r3)
/* 803A7E00 003A3A60  39 40 00 00 */	li r10, 0
/* 803A7E04 003A3A64  38 00 00 06 */	li r0, 6
/* 803A7E08 003A3A68  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7E0C 003A3A6C  88 BF 00 00 */	lbz r5, 0(r31)
/* 803A7E10 003A3A70  98 A3 00 08 */	stb r5, 8(r3)
/* 803A7E14 003A3A74  88 BF 00 01 */	lbz r5, 1(r31)
/* 803A7E18 003A3A78  98 A3 00 09 */	stb r5, 9(r3)
/* 803A7E1C 003A3A7C  88 BF 00 02 */	lbz r5, 2(r31)
/* 803A7E20 003A3A80  98 A3 00 0B */	stb r5, 0xb(r3)
/* 803A7E24 003A3A84  80 BF 00 20 */	lwz r5, 0x20(r31)
/* 803A7E28 003A3A88  90 A3 00 10 */	stw r5, 0x10(r3)
/* 803A7E2C 003A3A8C  88 BF 00 03 */	lbz r5, 3(r31)
/* 803A7E30 003A3A90  98 A3 00 16 */	stb r5, 0x16(r3)
/* 803A7E34 003A3A94  B0 E3 00 14 */	sth r7, 0x14(r3)
/* 803A7E38 003A3A98  88 BF 00 24 */	lbz r5, 0x24(r31)
/* 803A7E3C 003A3A9C  98 A3 00 18 */	stb r5, 0x18(r3)
lbl_803A7E40:
/* 803A7E40 003A3AA0  7C DF 52 14 */	add r6, r31, r10
/* 803A7E44 003A3AA4  7C A3 52 14 */	add r5, r3, r10
/* 803A7E48 003A3AA8  88 C6 00 04 */	lbz r6, 4(r6)
/* 803A7E4C 003A3AAC  7D 1F 3A 14 */	add r8, r31, r7
/* 803A7E50 003A3AB0  7D 23 3A 14 */	add r9, r3, r7
/* 803A7E54 003A3AB4  39 60 00 00 */	li r11, 0
/* 803A7E58 003A3AB8  98 C5 00 0C */	stb r6, 0xc(r5)
/* 803A7E5C 003A3ABC  7C 09 03 A6 */	mtctr r0
lbl_803A7E60:
/* 803A7E60 003A3AC0  7C C8 5A 14 */	add r6, r8, r11
/* 803A7E64 003A3AC4  7C A9 5A 14 */	add r5, r9, r11
/* 803A7E68 003A3AC8  88 C6 00 08 */	lbz r6, 8(r6)
/* 803A7E6C 003A3ACC  39 6B 00 01 */	addi r11, r11, 1
/* 803A7E70 003A3AD0  98 C5 00 1C */	stb r6, 0x1c(r5)
/* 803A7E74 003A3AD4  42 00 FF EC */	bdnz lbl_803A7E60
/* 803A7E78 003A3AD8  39 4A 00 01 */	addi r10, r10, 1
/* 803A7E7C 003A3ADC  38 E7 00 06 */	addi r7, r7, 6
/* 803A7E80 003A3AE0  2C 0A 00 04 */	cmpwi r10, 4
/* 803A7E84 003A3AE4  41 80 FF BC */	blt lbl_803A7E40
/* 803A7E88 003A3AE8  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803A7E8C 003A3AEC  38 A0 00 00 */	li r5, 0
/* 803A7E90 003A3AF0  48 03 70 71 */	bl func_803DEF00
/* 803A7E94 003A3AF4  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7E98 003A3AF8  4B E1 F2 E5 */	bl _restgpr_29
/* 803A7E9C 003A3AFC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7EA0 003A3B00  7C 08 03 A6 */	mtlr r0
/* 803A7EA4 003A3B04  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7EA8 003A3B08  4E 80 00 20 */	blr 

.global func_803A7EAC
func_803A7EAC:
/* 803A7EAC 003A3B0C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A7EB0 003A3B10  7C 08 02 A6 */	mflr r0
/* 803A7EB4 003A3B14  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A7EB8 003A3B18  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7EBC 003A3B1C  4B E1 F2 75 */	bl _savegpr_29
/* 803A7EC0 003A3B20  7C 7D 1B 78 */	mr r29, r3
/* 803A7EC4 003A3B24  7C 9E 23 78 */	mr r30, r4
/* 803A7EC8 003A3B28  7C BF 2B 78 */	mr r31, r5
/* 803A7ECC 003A3B2C  38 60 00 05 */	li r3, 5
/* 803A7ED0 003A3B30  38 80 00 1C */	li r4, 0x1c
/* 803A7ED4 003A3B34  4B DC 60 9D */	bl func_8016DF70
/* 803A7ED8 003A3B38  38 00 00 00 */	li r0, 0
/* 803A7EDC 003A3B3C  7C 64 1B 78 */	mr r4, r3
/* 803A7EE0 003A3B40  98 03 00 0E */	stb r0, 0xe(r3)
/* 803A7EE4 003A3B44  38 1E 00 28 */	addi r0, r30, 0x28
/* 803A7EE8 003A3B48  38 A0 00 00 */	li r5, 0
/* 803A7EEC 003A3B4C  93 A3 00 00 */	stw r29, 0(r3)
/* 803A7EF0 003A3B50  88 DF 00 00 */	lbz r6, 0(r31)
/* 803A7EF4 003A3B54  98 C3 00 0C */	stb r6, 0xc(r3)
/* 803A7EF8 003A3B58  88 DE 01 84 */	lbz r6, 0x184(r30)
/* 803A7EFC 003A3B5C  98 C3 00 0D */	stb r6, 0xd(r3)
/* 803A7F00 003A3B60  90 03 00 04 */	stw r0, 4(r3)
/* 803A7F04 003A3B64  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A7F08 003A3B68  90 03 00 10 */	stw r0, 0x10(r3)
/* 803A7F0C 003A3B6C  88 1F 00 01 */	lbz r0, 1(r31)
/* 803A7F10 003A3B70  98 03 00 0F */	stb r0, 0xf(r3)
/* 803A7F14 003A3B74  80 1F 00 04 */	lwz r0, 4(r31)
/* 803A7F18 003A3B78  B0 03 00 18 */	sth r0, 0x18(r3)
/* 803A7F1C 003A3B7C  80 1F 00 08 */	lwz r0, 8(r31)
/* 803A7F20 003A3B80  90 03 00 14 */	stw r0, 0x14(r3)
/* 803A7F24 003A3B84  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803A7F28 003A3B88  48 03 6F D9 */	bl func_803DEF00
/* 803A7F2C 003A3B8C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A7F30 003A3B90  4B E1 F2 4D */	bl _restgpr_29
/* 803A7F34 003A3B94  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A7F38 003A3B98  7C 08 03 A6 */	mtlr r0
/* 803A7F3C 003A3B9C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A7F40 003A3BA0  4E 80 00 20 */	blr 

.global func_803A7F44
func_803A7F44:
/* 803A7F44 003A3BA4  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803A7F48 003A3BA8  7C 08 02 A6 */	mflr r0
/* 803A7F4C 003A3BAC  90 01 00 54 */	stw r0, 0x54(r1)
/* 803A7F50 003A3BB0  39 61 00 50 */	addi r11, r1, 0x50
/* 803A7F54 003A3BB4  4B E1 F1 D5 */	bl _savegpr_27
/* 803A7F58 003A3BB8  7C 7B 1B 78 */	mr r27, r3
/* 803A7F5C 003A3BBC  7C 9C 23 78 */	mr r28, r4
/* 803A7F60 003A3BC0  7C BD 2B 78 */	mr r29, r5
/* 803A7F64 003A3BC4  48 00 4B 05 */	bl func_803ACA68
/* 803A7F68 003A3BC8  7C 7E 1B 78 */	mr r30, r3
/* 803A7F6C 003A3BCC  38 60 00 05 */	li r3, 5
/* 803A7F70 003A3BD0  38 80 00 08 */	li r4, 8
/* 803A7F74 003A3BD4  4B DC 5F FD */	bl func_8016DF70
/* 803A7F78 003A3BD8  93 63 00 00 */	stw r27, 0(r3)
/* 803A7F7C 003A3BDC  38 00 00 12 */	li r0, 0x12
/* 803A7F80 003A3BE0  7C 7F 1B 78 */	mr r31, r3
/* 803A7F84 003A3BE4  88 9D 00 00 */	lbz r4, 0(r29)
/* 803A7F88 003A3BE8  98 83 00 04 */	stb r4, 4(r3)
/* 803A7F8C 003A3BEC  88 9C 01 84 */	lbz r4, 0x184(r28)
/* 803A7F90 003A3BF0  98 83 00 05 */	stb r4, 5(r3)
/* 803A7F94 003A3BF4  7F 63 DB 78 */	mr r3, r27
/* 803A7F98 003A3BF8  A0 9D 00 02 */	lhz r4, 2(r29)
/* 803A7F9C 003A3BFC  1C 84 00 03 */	mulli r4, r4, 3
/* 803A7FA0 003A3C00  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A7FA4 003A3C04  88 9D 00 00 */	lbz r4, 0(r29)
/* 803A7FA8 003A3C08  98 81 00 08 */	stb r4, 8(r1)
/* 803A7FAC 003A3C0C  98 01 00 09 */	stb r0, 9(r1)
/* 803A7FB0 003A3C10  88 9D 00 01 */	lbz r4, 1(r29)
/* 803A7FB4 003A3C14  88 1C 01 84 */	lbz r0, 0x184(r28)
/* 803A7FB8 003A3C18  50 80 44 2E */	rlwimi r0, r4, 8, 0x10, 0x17
/* 803A7FBC 003A3C1C  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A7FC0 003A3C20  88 1C 01 84 */	lbz r0, 0x184(r28)
/* 803A7FC4 003A3C24  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A7FC8 003A3C28  48 00 5B F5 */	bl func_803ADBBC
/* 803A7FCC 003A3C2C  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A7FD0 003A3C30  7F 63 DB 78 */	mr r3, r27
/* 803A7FD4 003A3C34  7F C4 F3 78 */	mr r4, r30
/* 803A7FD8 003A3C38  38 A1 00 08 */	addi r5, r1, 8
/* 803A7FDC 003A3C3C  48 00 5E 91 */	bl func_803ADE6C
/* 803A7FE0 003A3C40  98 7F 00 06 */	stb r3, 6(r31)
/* 803A7FE4 003A3C44  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A7FE8 003A3C48  7F E4 FB 78 */	mr r4, r31
/* 803A7FEC 003A3C4C  38 A0 00 00 */	li r5, 0
/* 803A7FF0 003A3C50  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A7FF4 003A3C54  48 03 6F 0D */	bl func_803DEF00
/* 803A7FF8 003A3C58  39 61 00 50 */	addi r11, r1, 0x50
/* 803A7FFC 003A3C5C  4B E1 F1 79 */	bl _restgpr_27
/* 803A8000 003A3C60  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803A8004 003A3C64  7C 08 03 A6 */	mtlr r0
/* 803A8008 003A3C68  38 21 00 50 */	addi r1, r1, 0x50
/* 803A800C 003A3C6C  4E 80 00 20 */	blr 

.global func_803A8010
func_803A8010:
/* 803A8010 003A3C70  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A8014 003A3C74  7C 08 02 A6 */	mflr r0
/* 803A8018 003A3C78  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A801C 003A3C7C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A8020 003A3C80  4B E1 F1 09 */	bl _savegpr_27
/* 803A8024 003A3C84  7C 7B 1B 78 */	mr r27, r3
/* 803A8028 003A3C88  7C 9C 23 78 */	mr r28, r4
/* 803A802C 003A3C8C  7C BD 2B 78 */	mr r29, r5
/* 803A8030 003A3C90  48 00 4A 31 */	bl func_803ACA60
/* 803A8034 003A3C94  7C 7E 1B 78 */	mr r30, r3
/* 803A8038 003A3C98  38 60 00 05 */	li r3, 5
/* 803A803C 003A3C9C  38 80 00 08 */	li r4, 8
/* 803A8040 003A3CA0  4B DC 5F 31 */	bl func_8016DF70
/* 803A8044 003A3CA4  93 63 00 00 */	stw r27, 0(r3)
/* 803A8048 003A3CA8  7C 7F 1B 78 */	mr r31, r3
/* 803A804C 003A3CAC  88 1C 00 84 */	lbz r0, 0x84(r28)
/* 803A8050 003A3CB0  98 03 00 04 */	stb r0, 4(r3)
/* 803A8054 003A3CB4  88 1C 01 84 */	lbz r0, 0x184(r28)
/* 803A8058 003A3CB8  98 03 00 05 */	stb r0, 5(r3)
/* 803A805C 003A3CBC  7F 63 DB 78 */	mr r3, r27
/* 803A8060 003A3CC0  48 00 5B 5D */	bl func_803ADBBC
/* 803A8064 003A3CC4  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A8068 003A3CC8  7F 63 DB 78 */	mr r3, r27
/* 803A806C 003A3CCC  7F C4 F3 78 */	mr r4, r30
/* 803A8070 003A3CD0  7F A5 EB 78 */	mr r5, r29
/* 803A8074 003A3CD4  48 00 5D F9 */	bl func_803ADE6C
/* 803A8078 003A3CD8  98 7F 00 06 */	stb r3, 6(r31)
/* 803A807C 003A3CDC  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A8080 003A3CE0  7F E4 FB 78 */	mr r4, r31
/* 803A8084 003A3CE4  38 A0 00 00 */	li r5, 0
/* 803A8088 003A3CE8  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A808C 003A3CEC  48 03 6E 75 */	bl func_803DEF00
/* 803A8090 003A3CF0  39 61 00 20 */	addi r11, r1, 0x20
/* 803A8094 003A3CF4  4B E1 F0 E1 */	bl _restgpr_27
/* 803A8098 003A3CF8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A809C 003A3CFC  7C 08 03 A6 */	mtlr r0
/* 803A80A0 003A3D00  38 21 00 20 */	addi r1, r1, 0x20
/* 803A80A4 003A3D04  4E 80 00 20 */	blr 

.global func_803A80A8
func_803A80A8:
/* 803A80A8 003A3D08  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A80AC 003A3D0C  7C 08 02 A6 */	mflr r0
/* 803A80B0 003A3D10  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A80B4 003A3D14  39 61 00 20 */	addi r11, r1, 0x20
/* 803A80B8 003A3D18  4B E1 F0 79 */	bl _savegpr_29
/* 803A80BC 003A3D1C  7C 7D 1B 78 */	mr r29, r3
/* 803A80C0 003A3D20  7C 9E 23 78 */	mr r30, r4
/* 803A80C4 003A3D24  7C BF 2B 78 */	mr r31, r5
/* 803A80C8 003A3D28  38 60 00 05 */	li r3, 5
/* 803A80CC 003A3D2C  38 80 00 70 */	li r4, 0x70
/* 803A80D0 003A3D30  4B DC 5E A1 */	bl func_8016DF70
/* 803A80D4 003A3D34  38 00 00 00 */	li r0, 0
/* 803A80D8 003A3D38  7C 64 1B 78 */	mr r4, r3
/* 803A80DC 003A3D3C  98 03 00 6A */	stb r0, 0x6a(r3)
/* 803A80E0 003A3D40  93 A3 00 00 */	stw r29, 0(r3)
/* 803A80E4 003A3D44  88 1E 00 84 */	lbz r0, 0x84(r30)
/* 803A80E8 003A3D48  98 03 00 68 */	stb r0, 0x68(r3)
/* 803A80EC 003A3D4C  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A80F0 003A3D50  98 03 00 69 */	stb r0, 0x69(r3)
/* 803A80F4 003A3D54  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A80F8 003A3D58  98 03 00 10 */	stb r0, 0x10(r3)
/* 803A80FC 003A3D5C  88 1F 00 01 */	lbz r0, 1(r31)
/* 803A8100 003A3D60  98 03 00 11 */	stb r0, 0x11(r3)
/* 803A8104 003A3D64  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A8108 003A3D68  B0 03 00 12 */	sth r0, 0x12(r3)
/* 803A810C 003A3D6C  80 1F 00 04 */	lwz r0, 4(r31)
/* 803A8110 003A3D70  90 03 00 14 */	stw r0, 0x14(r3)
/* 803A8114 003A3D74  A0 1F 00 08 */	lhz r0, 8(r31)
/* 803A8118 003A3D78  B0 03 00 18 */	sth r0, 0x18(r3)
/* 803A811C 003A3D7C  A0 1F 00 0A */	lhz r0, 0xa(r31)
/* 803A8120 003A3D80  B0 03 00 1A */	sth r0, 0x1a(r3)
/* 803A8124 003A3D84  A0 1F 00 0C */	lhz r0, 0xc(r31)
/* 803A8128 003A3D88  B0 03 00 1C */	sth r0, 0x1c(r3)
/* 803A812C 003A3D8C  A0 1F 00 0E */	lhz r0, 0xe(r31)
/* 803A8130 003A3D90  B0 03 00 1E */	sth r0, 0x1e(r3)
/* 803A8134 003A3D94  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 803A8138 003A3D98  90 03 00 20 */	stw r0, 0x20(r3)
/* 803A813C 003A3D9C  A0 1F 00 14 */	lhz r0, 0x14(r31)
/* 803A8140 003A3DA0  B0 03 00 24 */	sth r0, 0x24(r3)
/* 803A8144 003A3DA4  A0 1F 00 16 */	lhz r0, 0x16(r31)
/* 803A8148 003A3DA8  B0 03 00 26 */	sth r0, 0x26(r3)
/* 803A814C 003A3DAC  A0 BF 00 18 */	lhz r5, 0x18(r31)
/* 803A8150 003A3DB0  A0 1F 00 1A */	lhz r0, 0x1a(r31)
/* 803A8154 003A3DB4  B0 A3 00 28 */	sth r5, 0x28(r3)
/* 803A8158 003A3DB8  B0 03 00 2A */	sth r0, 0x2a(r3)
/* 803A815C 003A3DBC  A0 BF 00 1C */	lhz r5, 0x1c(r31)
/* 803A8160 003A3DC0  A0 1F 00 1E */	lhz r0, 0x1e(r31)
/* 803A8164 003A3DC4  B0 A3 00 2C */	sth r5, 0x2c(r3)
/* 803A8168 003A3DC8  B0 03 00 2E */	sth r0, 0x2e(r3)
/* 803A816C 003A3DCC  88 1F 00 20 */	lbz r0, 0x20(r31)
/* 803A8170 003A3DD0  98 03 00 30 */	stb r0, 0x30(r3)
/* 803A8174 003A3DD4  88 1F 00 21 */	lbz r0, 0x21(r31)
/* 803A8178 003A3DD8  98 03 00 31 */	stb r0, 0x31(r3)
/* 803A817C 003A3DDC  88 1F 00 22 */	lbz r0, 0x22(r31)
/* 803A8180 003A3DE0  98 03 00 32 */	stb r0, 0x32(r3)
/* 803A8184 003A3DE4  88 1F 00 23 */	lbz r0, 0x23(r31)
/* 803A8188 003A3DE8  98 03 00 33 */	stb r0, 0x33(r3)
/* 803A818C 003A3DEC  88 1F 00 24 */	lbz r0, 0x24(r31)
/* 803A8190 003A3DF0  98 03 00 34 */	stb r0, 0x34(r3)
/* 803A8194 003A3DF4  88 1F 00 25 */	lbz r0, 0x25(r31)
/* 803A8198 003A3DF8  98 03 00 35 */	stb r0, 0x35(r3)
/* 803A819C 003A3DFC  88 1F 00 26 */	lbz r0, 0x26(r31)
/* 803A81A0 003A3E00  98 03 00 36 */	stb r0, 0x36(r3)
/* 803A81A4 003A3E04  88 1F 00 27 */	lbz r0, 0x27(r31)
/* 803A81A8 003A3E08  98 03 00 37 */	stb r0, 0x37(r3)
/* 803A81AC 003A3E0C  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 803A81B0 003A3E10  98 03 00 38 */	stb r0, 0x38(r3)
/* 803A81B4 003A3E14  88 1F 00 29 */	lbz r0, 0x29(r31)
/* 803A81B8 003A3E18  98 03 00 39 */	stb r0, 0x39(r3)
/* 803A81BC 003A3E1C  88 1F 00 2A */	lbz r0, 0x2a(r31)
/* 803A81C0 003A3E20  98 03 00 3A */	stb r0, 0x3a(r3)
/* 803A81C4 003A3E24  88 1F 00 2B */	lbz r0, 0x2b(r31)
/* 803A81C8 003A3E28  98 03 00 3B */	stb r0, 0x3b(r3)
/* 803A81CC 003A3E2C  80 BF 00 2C */	lwz r5, 0x2c(r31)
/* 803A81D0 003A3E30  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 803A81D4 003A3E34  90 A3 00 3C */	stw r5, 0x3c(r3)
/* 803A81D8 003A3E38  90 03 00 40 */	stw r0, 0x40(r3)
/* 803A81DC 003A3E3C  80 BF 00 34 */	lwz r5, 0x34(r31)
/* 803A81E0 003A3E40  80 1F 00 38 */	lwz r0, 0x38(r31)
/* 803A81E4 003A3E44  90 A3 00 44 */	stw r5, 0x44(r3)
/* 803A81E8 003A3E48  90 03 00 48 */	stw r0, 0x48(r3)
/* 803A81EC 003A3E4C  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803A81F0 003A3E50  80 1F 00 40 */	lwz r0, 0x40(r31)
/* 803A81F4 003A3E54  90 A3 00 4C */	stw r5, 0x4c(r3)
/* 803A81F8 003A3E58  90 03 00 50 */	stw r0, 0x50(r3)
/* 803A81FC 003A3E5C  80 BF 00 44 */	lwz r5, 0x44(r31)
/* 803A8200 003A3E60  80 1F 00 48 */	lwz r0, 0x48(r31)
/* 803A8204 003A3E64  90 A3 00 54 */	stw r5, 0x54(r3)
/* 803A8208 003A3E68  90 03 00 58 */	stw r0, 0x58(r3)
/* 803A820C 003A3E6C  80 1F 00 4C */	lwz r0, 0x4c(r31)
/* 803A8210 003A3E70  90 03 00 5C */	stw r0, 0x5c(r3)
/* 803A8214 003A3E74  80 1F 00 50 */	lwz r0, 0x50(r31)
/* 803A8218 003A3E78  90 03 00 60 */	stw r0, 0x60(r3)
/* 803A821C 003A3E7C  80 1F 00 54 */	lwz r0, 0x54(r31)
/* 803A8220 003A3E80  90 03 00 64 */	stw r0, 0x64(r3)
/* 803A8224 003A3E84  80 1F 00 4C */	lwz r0, 0x4c(r31)
/* 803A8228 003A3E88  2C 00 00 01 */	cmpwi r0, 1
/* 803A822C 003A3E8C  40 82 00 18 */	bne lbl_803A8244
/* 803A8230 003A3E90  80 1F 00 50 */	lwz r0, 0x50(r31)
/* 803A8234 003A3E94  2C 00 00 19 */	cmpwi r0, 0x19
/* 803A8238 003A3E98  40 82 00 0C */	bne lbl_803A8244
/* 803A823C 003A3E9C  38 00 00 01 */	li r0, 1
/* 803A8240 003A3EA0  90 1E 01 90 */	stw r0, 0x190(r30)
lbl_803A8244:
/* 803A8244 003A3EA4  80 1F 00 4C */	lwz r0, 0x4c(r31)
/* 803A8248 003A3EA8  2C 00 00 01 */	cmpwi r0, 1
/* 803A824C 003A3EAC  40 82 00 18 */	bne lbl_803A8264
/* 803A8250 003A3EB0  80 1F 00 50 */	lwz r0, 0x50(r31)
/* 803A8254 003A3EB4  2C 00 00 1A */	cmpwi r0, 0x1a
/* 803A8258 003A3EB8  40 82 00 0C */	bne lbl_803A8264
/* 803A825C 003A3EBC  38 00 00 00 */	li r0, 0
/* 803A8260 003A3EC0  90 1E 01 90 */	stw r0, 0x190(r30)
lbl_803A8264:
/* 803A8264 003A3EC4  3C 60 80 3B */	lis r3, lbl_803AAE20@ha
/* 803A8268 003A3EC8  38 A0 00 00 */	li r5, 0
/* 803A826C 003A3ECC  38 63 AE 20 */	addi r3, r3, lbl_803AAE20@l
/* 803A8270 003A3ED0  48 03 6C 91 */	bl func_803DEF00
/* 803A8274 003A3ED4  39 61 00 20 */	addi r11, r1, 0x20
/* 803A8278 003A3ED8  4B E1 EF 05 */	bl _restgpr_29
/* 803A827C 003A3EDC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A8280 003A3EE0  7C 08 03 A6 */	mtlr r0
/* 803A8284 003A3EE4  38 21 00 20 */	addi r1, r1, 0x20
/* 803A8288 003A3EE8  4E 80 00 20 */	blr 

.global func_803A828C
func_803A828C:
/* 803A828C 003A3EEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A8290 003A3EF0  7C 08 02 A6 */	mflr r0
/* 803A8294 003A3EF4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A8298 003A3EF8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A829C 003A3EFC  7C 9F 23 78 */	mr r31, r4
/* 803A82A0 003A3F00  38 80 00 0C */	li r4, 0xc
/* 803A82A4 003A3F04  93 C1 00 08 */	stw r30, 8(r1)
/* 803A82A8 003A3F08  7C 7E 1B 78 */	mr r30, r3
/* 803A82AC 003A3F0C  38 60 00 05 */	li r3, 5
/* 803A82B0 003A3F10  4B DC 5C C1 */	bl func_8016DF70
/* 803A82B4 003A3F14  93 C3 00 00 */	stw r30, 0(r3)
/* 803A82B8 003A3F18  3C C0 80 3B */	lis r6, lbl_803AAE74@ha
/* 803A82BC 003A3F1C  7C 64 1B 78 */	mr r4, r3
/* 803A82C0 003A3F20  38 A0 00 00 */	li r5, 0
/* 803A82C4 003A3F24  88 1F 01 84 */	lbz r0, 0x184(r31)
/* 803A82C8 003A3F28  98 03 00 08 */	stb r0, 8(r3)
/* 803A82CC 003A3F2C  38 66 AE 74 */	addi r3, r6, lbl_803AAE74@l
/* 803A82D0 003A3F30  48 03 6C 31 */	bl func_803DEF00
/* 803A82D4 003A3F34  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A82D8 003A3F38  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A82DC 003A3F3C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A82E0 003A3F40  7C 08 03 A6 */	mtlr r0
/* 803A82E4 003A3F44  38 21 00 10 */	addi r1, r1, 0x10
/* 803A82E8 003A3F48  4E 80 00 20 */	blr 

.global func_803A82EC
func_803A82EC:
/* 803A82EC 003A3F4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A82F0 003A3F50  7C 08 02 A6 */	mflr r0
/* 803A82F4 003A3F54  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A82F8 003A3F58  39 61 00 20 */	addi r11, r1, 0x20
/* 803A82FC 003A3F5C  4B E1 EE 31 */	bl _savegpr_28
/* 803A8300 003A3F60  3B E4 00 28 */	addi r31, r4, 0x28
/* 803A8304 003A3F64  7C 7C 1B 78 */	mr r28, r3
/* 803A8308 003A3F68  7C 9D 23 78 */	mr r29, r4
/* 803A830C 003A3F6C  7C BE 2B 78 */	mr r30, r5
/* 803A8310 003A3F70  7F E3 FB 78 */	mr r3, r31
/* 803A8314 003A3F74  38 80 00 00 */	li r4, 0
/* 803A8318 003A3F78  38 A0 00 01 */	li r5, 1
/* 803A831C 003A3F7C  4B C5 BD E9 */	bl memset
/* 803A8320 003A3F80  93 9F 00 0C */	stw r28, 0xc(r31)
/* 803A8324 003A3F84  7F 83 E3 78 */	mr r3, r28
/* 803A8328 003A3F88  88 1D 01 84 */	lbz r0, 0x184(r29)
/* 803A832C 003A3F8C  88 9E 00 00 */	lbz r4, 0(r30)
/* 803A8330 003A3F90  98 9F 00 40 */	stb r4, 0x40(r31)
/* 803A8334 003A3F94  98 1F 00 18 */	stb r0, 0x18(r31)
/* 803A8338 003A3F98  48 00 45 09 */	bl func_803AC840
/* 803A833C 003A3F9C  7C 64 1B 78 */	mr r4, r3
/* 803A8340 003A3FA0  88 7D 01 85 */	lbz r3, 0x185(r29)
/* 803A8344 003A3FA4  48 03 14 CD */	bl func_803D9810
/* 803A8348 003A3FA8  98 7F 00 19 */	stb r3, 0x19(r31)
/* 803A834C 003A3FAC  A8 1E 00 02 */	lha r0, 2(r30)
/* 803A8350 003A3FB0  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 803A8354 003A3FB4  A0 1E 00 04 */	lhz r0, 4(r30)
/* 803A8358 003A3FB8  90 1F 00 20 */	stw r0, 0x20(r31)
/* 803A835C 003A3FBC  80 1E 00 08 */	lwz r0, 8(r30)
/* 803A8360 003A3FC0  90 1F 00 24 */	stw r0, 0x24(r31)
/* 803A8364 003A3FC4  88 1E 00 01 */	lbz r0, 1(r30)
/* 803A8368 003A3FC8  98 1F 00 3C */	stb r0, 0x3c(r31)
/* 803A836C 003A3FCC  80 1E 00 08 */	lwz r0, 8(r30)
/* 803A8370 003A3FD0  2C 00 7F FF */	cmpwi r0, 0x7fff
/* 803A8374 003A3FD4  40 82 00 10 */	bne lbl_803A8384
/* 803A8378 003A3FD8  38 00 00 00 */	li r0, 0
/* 803A837C 003A3FDC  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 803A8380 003A3FE0  90 1F 00 24 */	stw r0, 0x24(r31)
lbl_803A8384:
/* 803A8384 003A3FE4  3C 60 80 3B */	lis r3, lbl_803AAEC8@ha
/* 803A8388 003A3FE8  7F E4 FB 78 */	mr r4, r31
/* 803A838C 003A3FEC  38 63 AE C8 */	addi r3, r3, lbl_803AAEC8@l
/* 803A8390 003A3FF0  38 A0 03 E8 */	li r5, 0x3e8
/* 803A8394 003A3FF4  48 03 6B 6D */	bl func_803DEF00
/* 803A8398 003A3FF8  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803A839C 003A3FFC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A83A0 003A4000  4B E1 ED D9 */	bl _restgpr_28
/* 803A83A4 003A4004  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A83A8 003A4008  7C 08 03 A6 */	mtlr r0
/* 803A83AC 003A400C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A83B0 003A4010  4E 80 00 20 */	blr 

.global func_803A83B4
func_803A83B4:
/* 803A83B4 003A4014  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A83B8 003A4018  7C 08 02 A6 */	mflr r0
/* 803A83BC 003A401C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A83C0 003A4020  39 61 00 20 */	addi r11, r1, 0x20
/* 803A83C4 003A4024  4B E1 ED 69 */	bl _savegpr_28
/* 803A83C8 003A4028  3B E4 00 28 */	addi r31, r4, 0x28
/* 803A83CC 003A402C  7C 7C 1B 78 */	mr r28, r3
/* 803A83D0 003A4030  7C 9D 23 78 */	mr r29, r4
/* 803A83D4 003A4034  7C BE 2B 78 */	mr r30, r5
/* 803A83D8 003A4038  7F E3 FB 78 */	mr r3, r31
/* 803A83DC 003A403C  38 80 00 00 */	li r4, 0
/* 803A83E0 003A4040  38 A0 00 01 */	li r5, 1
/* 803A83E4 003A4044  4B C5 BD 21 */	bl memset
/* 803A83E8 003A4048  93 9F 00 0C */	stw r28, 0xc(r31)
/* 803A83EC 003A404C  88 1D 01 85 */	lbz r0, 0x185(r29)
/* 803A83F0 003A4050  88 BE 00 00 */	lbz r5, 0(r30)
/* 803A83F4 003A4054  88 9D 01 84 */	lbz r4, 0x184(r29)
/* 803A83F8 003A4058  2C 00 00 00 */	cmpwi r0, 0
/* 803A83FC 003A405C  98 BF 00 40 */	stb r5, 0x40(r31)
/* 803A8400 003A4060  98 9F 00 18 */	stb r4, 0x18(r31)
/* 803A8404 003A4064  40 82 00 20 */	bne lbl_803A8424
/* 803A8408 003A4068  3C 60 80 3B */	lis r3, lbl_803AAF1C@ha
/* 803A840C 003A406C  7F E4 FB 78 */	mr r4, r31
/* 803A8410 003A4070  38 63 AF 1C */	addi r3, r3, lbl_803AAF1C@l
/* 803A8414 003A4074  38 A0 03 E8 */	li r5, 0x3e8
/* 803A8418 003A4078  48 03 6A E9 */	bl func_803DEF00
/* 803A841C 003A407C  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803A8420 003A4080  48 00 00 0C */	b lbl_803A842C
lbl_803A8424:
/* 803A8424 003A4084  7F 83 E3 78 */	mr r3, r28
/* 803A8428 003A4088  48 00 A1 49 */	bl func_803B2570
lbl_803A842C:
/* 803A842C 003A408C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A8430 003A4090  4B E1 ED 49 */	bl _restgpr_28
/* 803A8434 003A4094  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A8438 003A4098  7C 08 03 A6 */	mtlr r0
/* 803A843C 003A409C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A8440 003A40A0  4E 80 00 20 */	blr 

.global func_803A8444
func_803A8444:
/* 803A8444 003A40A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A8448 003A40A8  7C 08 02 A6 */	mflr r0
/* 803A844C 003A40AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A8450 003A40B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803A8454 003A40B4  4B E1 EC DD */	bl _savegpr_29
/* 803A8458 003A40B8  7C 7D 1B 78 */	mr r29, r3
/* 803A845C 003A40BC  7C 9E 23 78 */	mr r30, r4
/* 803A8460 003A40C0  7C BF 2B 78 */	mr r31, r5
/* 803A8464 003A40C4  38 60 00 05 */	li r3, 5
/* 803A8468 003A40C8  38 80 00 74 */	li r4, 0x74
/* 803A846C 003A40CC  4B DC 5B 05 */	bl func_8016DF70
/* 803A8470 003A40D0  38 00 00 00 */	li r0, 0
/* 803A8474 003A40D4  3C C0 80 3B */	lis r6, lbl_803AAF70@ha
/* 803A8478 003A40D8  98 03 00 66 */	stb r0, 0x66(r3)
/* 803A847C 003A40DC  7C 64 1B 78 */	mr r4, r3
/* 803A8480 003A40E0  38 A0 00 00 */	li r5, 0
/* 803A8484 003A40E4  93 A3 00 00 */	stw r29, 0(r3)
/* 803A8488 003A40E8  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A848C 003A40EC  98 03 00 64 */	stb r0, 0x64(r3)
/* 803A8490 003A40F0  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8494 003A40F4  98 03 00 65 */	stb r0, 0x65(r3)
/* 803A8498 003A40F8  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A849C 003A40FC  B0 03 00 68 */	sth r0, 0x68(r3)
/* 803A84A0 003A4100  38 66 AF 70 */	addi r3, r6, lbl_803AAF70@l
/* 803A84A4 003A4104  48 03 6A 5D */	bl func_803DEF00
/* 803A84A8 003A4108  39 61 00 20 */	addi r11, r1, 0x20
/* 803A84AC 003A410C  4B E1 EC D1 */	bl _restgpr_29
/* 803A84B0 003A4110  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A84B4 003A4114  7C 08 03 A6 */	mtlr r0
/* 803A84B8 003A4118  38 21 00 20 */	addi r1, r1, 0x20
/* 803A84BC 003A411C  4E 80 00 20 */	blr 

.global func_803A84C0
func_803A84C0:
/* 803A84C0 003A4120  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A84C4 003A4124  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A84C8 003A4128  48 00 A0 A8 */	b func_803B2570

.global func_803A84CC
func_803A84CC:
/* 803A84CC 003A412C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A84D0 003A4130  7C 08 02 A6 */	mflr r0
/* 803A84D4 003A4134  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A84D8 003A4138  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A84DC 003A413C  7C 9F 23 78 */	mr r31, r4
/* 803A84E0 003A4140  38 80 00 08 */	li r4, 8
/* 803A84E4 003A4144  93 C1 00 08 */	stw r30, 8(r1)
/* 803A84E8 003A4148  7C 7E 1B 78 */	mr r30, r3
/* 803A84EC 003A414C  38 60 00 05 */	li r3, 5
/* 803A84F0 003A4150  4B DC 5A 81 */	bl func_8016DF70
/* 803A84F4 003A4154  38 00 00 00 */	li r0, 0
/* 803A84F8 003A4158  3C C0 80 3B */	lis r6, lbl_803AAFC4@ha
/* 803A84FC 003A415C  98 03 00 06 */	stb r0, 6(r3)
/* 803A8500 003A4160  7C 64 1B 78 */	mr r4, r3
/* 803A8504 003A4164  38 A0 00 00 */	li r5, 0
/* 803A8508 003A4168  93 C3 00 00 */	stw r30, 0(r3)
/* 803A850C 003A416C  88 1F 00 84 */	lbz r0, 0x84(r31)
/* 803A8510 003A4170  98 03 00 04 */	stb r0, 4(r3)
/* 803A8514 003A4174  88 1F 01 84 */	lbz r0, 0x184(r31)
/* 803A8518 003A4178  98 03 00 05 */	stb r0, 5(r3)
/* 803A851C 003A417C  38 66 AF C4 */	addi r3, r6, lbl_803AAFC4@l
/* 803A8520 003A4180  48 03 69 E1 */	bl func_803DEF00
/* 803A8524 003A4184  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A8528 003A4188  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A852C 003A418C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A8530 003A4190  7C 08 03 A6 */	mtlr r0
/* 803A8534 003A4194  38 21 00 10 */	addi r1, r1, 0x10
/* 803A8538 003A4198  4E 80 00 20 */	blr 

.global func_803A853C
func_803A853C:
/* 803A853C 003A419C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A8540 003A41A0  7C 08 02 A6 */	mflr r0
/* 803A8544 003A41A4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A8548 003A41A8  39 61 00 20 */	addi r11, r1, 0x20
/* 803A854C 003A41AC  4B E1 EB E5 */	bl _savegpr_29
/* 803A8550 003A41B0  7C 7D 1B 78 */	mr r29, r3
/* 803A8554 003A41B4  7C 9E 23 78 */	mr r30, r4
/* 803A8558 003A41B8  7C BF 2B 78 */	mr r31, r5
/* 803A855C 003A41BC  38 60 00 05 */	li r3, 5
/* 803A8560 003A41C0  38 80 00 68 */	li r4, 0x68
/* 803A8564 003A41C4  4B DC 5A 0D */	bl func_8016DF70
/* 803A8568 003A41C8  93 A3 00 00 */	stw r29, 0(r3)
/* 803A856C 003A41CC  3C C0 80 3B */	lis r6, lbl_803AB018@ha
/* 803A8570 003A41D0  7C 64 1B 78 */	mr r4, r3
/* 803A8574 003A41D4  38 A0 00 00 */	li r5, 0
/* 803A8578 003A41D8  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A857C 003A41DC  98 03 00 60 */	stb r0, 0x60(r3)
/* 803A8580 003A41E0  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8584 003A41E4  98 03 00 61 */	stb r0, 0x61(r3)
/* 803A8588 003A41E8  38 66 B0 18 */	addi r3, r6, lbl_803AB018@l
/* 803A858C 003A41EC  48 03 69 75 */	bl func_803DEF00
/* 803A8590 003A41F0  39 61 00 20 */	addi r11, r1, 0x20
/* 803A8594 003A41F4  4B E1 EB E9 */	bl _restgpr_29
/* 803A8598 003A41F8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A859C 003A41FC  7C 08 03 A6 */	mtlr r0
/* 803A85A0 003A4200  38 21 00 20 */	addi r1, r1, 0x20
/* 803A85A4 003A4204  4E 80 00 20 */	blr 

.global func_803A85A8
func_803A85A8:
/* 803A85A8 003A4208  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A85AC 003A420C  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A85B0 003A4210  48 00 9F C0 */	b func_803B2570

.global func_803A85B4
func_803A85B4:
/* 803A85B4 003A4214  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A85B8 003A4218  7C 08 02 A6 */	mflr r0
/* 803A85BC 003A421C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A85C0 003A4220  39 61 00 20 */	addi r11, r1, 0x20
/* 803A85C4 003A4224  4B E1 EB 6D */	bl _savegpr_29
/* 803A85C8 003A4228  7C 7D 1B 78 */	mr r29, r3
/* 803A85CC 003A422C  7C 9E 23 78 */	mr r30, r4
/* 803A85D0 003A4230  7C BF 2B 78 */	mr r31, r5
/* 803A85D4 003A4234  38 60 00 05 */	li r3, 5
/* 803A85D8 003A4238  38 80 00 08 */	li r4, 8
/* 803A85DC 003A423C  4B DC 59 95 */	bl func_8016DF70
/* 803A85E0 003A4240  93 A3 00 00 */	stw r29, 0(r3)
/* 803A85E4 003A4244  3C C0 80 3B */	lis r6, lbl_803AB0C0@ha
/* 803A85E8 003A4248  7C 64 1B 78 */	mr r4, r3
/* 803A85EC 003A424C  38 A0 00 00 */	li r5, 0
/* 803A85F0 003A4250  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A85F4 003A4254  98 03 00 04 */	stb r0, 4(r3)
/* 803A85F8 003A4258  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A85FC 003A425C  98 03 00 05 */	stb r0, 5(r3)
/* 803A8600 003A4260  38 66 B0 C0 */	addi r3, r6, lbl_803AB0C0@l
/* 803A8604 003A4264  48 03 68 FD */	bl func_803DEF00
/* 803A8608 003A4268  39 61 00 20 */	addi r11, r1, 0x20
/* 803A860C 003A426C  4B E1 EB 71 */	bl _restgpr_29
/* 803A8610 003A4270  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A8614 003A4274  7C 08 03 A6 */	mtlr r0
/* 803A8618 003A4278  38 21 00 20 */	addi r1, r1, 0x20
/* 803A861C 003A427C  4E 80 00 20 */	blr 

.global func_803A8620
func_803A8620:
/* 803A8620 003A4280  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803A8624 003A4284  7C 08 02 A6 */	mflr r0
/* 803A8628 003A4288  90 01 00 54 */	stw r0, 0x54(r1)
/* 803A862C 003A428C  39 61 00 50 */	addi r11, r1, 0x50
/* 803A8630 003A4290  4B E1 EA F9 */	bl _savegpr_27
/* 803A8634 003A4294  88 04 01 85 */	lbz r0, 0x185(r4)
/* 803A8638 003A4298  7C 7D 1B 78 */	mr r29, r3
/* 803A863C 003A429C  7C 9E 23 78 */	mr r30, r4
/* 803A8640 003A42A0  7C BF 2B 78 */	mr r31, r5
/* 803A8644 003A42A4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803A8648 003A42A8  41 82 00 70 */	beq lbl_803A86B8
/* 803A864C 003A42AC  48 00 41 F5 */	bl func_803AC840
/* 803A8650 003A42B0  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803A8654 003A42B4  41 82 00 30 */	beq lbl_803A8684
/* 803A8658 003A42B8  38 60 03 DE */	li r3, 0x3de
/* 803A865C 003A42BC  38 00 00 1B */	li r0, 0x1b
/* 803A8660 003A42C0  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8664 003A42C4  98 01 00 09 */	stb r0, 9(r1)
/* 803A8668 003A42C8  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A866C 003A42CC  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A8670 003A42D0  88 7F 00 01 */	lbz r3, 1(r31)
/* 803A8674 003A42D4  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8678 003A42D8  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803A867C 003A42DC  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A8680 003A42E0  48 00 00 D4 */	b lbl_803A8754
lbl_803A8684:
/* 803A8684 003A42E4  38 60 03 DD */	li r3, 0x3dd
/* 803A8688 003A42E8  38 00 00 32 */	li r0, 0x32
/* 803A868C 003A42EC  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8690 003A42F0  98 01 00 09 */	stb r0, 9(r1)
/* 803A8694 003A42F4  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8698 003A42F8  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A869C 003A42FC  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A86A0 003A4300  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A86A4 003A4304  88 7F 00 01 */	lbz r3, 1(r31)
/* 803A86A8 003A4308  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A86AC 003A430C  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803A86B0 003A4310  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A86B4 003A4314  48 00 00 A0 */	b lbl_803A8754
lbl_803A86B8:
/* 803A86B8 003A4318  48 00 41 89 */	bl func_803AC840
/* 803A86BC 003A431C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803A86C0 003A4320  40 82 00 74 */	bne lbl_803A8734
/* 803A86C4 003A4324  7F A3 EB 78 */	mr r3, r29
/* 803A86C8 003A4328  48 00 41 79 */	bl func_803AC840
/* 803A86CC 003A432C  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803A86D0 003A4330  40 82 00 64 */	bne lbl_803A8734
/* 803A86D4 003A4334  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A86D8 003A4338  2C 00 00 00 */	cmpwi r0, 0
/* 803A86DC 003A433C  40 82 00 10 */	bne lbl_803A86EC
/* 803A86E0 003A4340  38 00 03 D8 */	li r0, 0x3d8
/* 803A86E4 003A4344  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A86E8 003A4348  48 00 00 54 */	b lbl_803A873C
lbl_803A86EC:
/* 803A86EC 003A434C  28 00 00 19 */	cmplwi r0, 0x19
/* 803A86F0 003A4350  40 80 00 10 */	bge lbl_803A8700
/* 803A86F4 003A4354  38 00 03 D9 */	li r0, 0x3d9
/* 803A86F8 003A4358  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A86FC 003A435C  48 00 00 40 */	b lbl_803A873C
lbl_803A8700:
/* 803A8700 003A4360  28 00 00 32 */	cmplwi r0, 0x32
/* 803A8704 003A4364  40 80 00 10 */	bge lbl_803A8714
/* 803A8708 003A4368  38 00 03 DC */	li r0, 0x3dc
/* 803A870C 003A436C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A8710 003A4370  48 00 00 2C */	b lbl_803A873C
lbl_803A8714:
/* 803A8714 003A4374  28 00 00 4B */	cmplwi r0, 0x4b
/* 803A8718 003A4378  40 80 00 10 */	bge lbl_803A8728
/* 803A871C 003A437C  38 00 03 DA */	li r0, 0x3da
/* 803A8720 003A4380  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A8724 003A4384  48 00 00 18 */	b lbl_803A873C
lbl_803A8728:
/* 803A8728 003A4388  38 00 03 DB */	li r0, 0x3db
/* 803A872C 003A438C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A8730 003A4390  48 00 00 0C */	b lbl_803A873C
lbl_803A8734:
/* 803A8734 003A4394  38 00 03 D9 */	li r0, 0x3d9
/* 803A8738 003A4398  B0 01 00 0A */	sth r0, 0xa(r1)
lbl_803A873C:
/* 803A873C 003A439C  38 00 00 02 */	li r0, 2
/* 803A8740 003A43A0  98 01 00 09 */	stb r0, 9(r1)
/* 803A8744 003A43A4  88 7F 00 01 */	lbz r3, 1(r31)
/* 803A8748 003A43A8  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A874C 003A43AC  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803A8750 003A43B0  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803A8754:
/* 803A8754 003A43B4  7F A3 EB 78 */	mr r3, r29
/* 803A8758 003A43B8  48 00 43 09 */	bl func_803ACA60
/* 803A875C 003A43BC  7C 7B 1B 78 */	mr r27, r3
/* 803A8760 003A43C0  38 60 00 05 */	li r3, 5
/* 803A8764 003A43C4  38 80 00 08 */	li r4, 8
/* 803A8768 003A43C8  4B DC 58 09 */	bl func_8016DF70
/* 803A876C 003A43CC  93 A3 00 00 */	stw r29, 0(r3)
/* 803A8770 003A43D0  7C 7C 1B 78 */	mr r28, r3
/* 803A8774 003A43D4  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A8778 003A43D8  98 03 00 04 */	stb r0, 4(r3)
/* 803A877C 003A43DC  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8780 003A43E0  98 03 00 05 */	stb r0, 5(r3)
/* 803A8784 003A43E4  7F A3 EB 78 */	mr r3, r29
/* 803A8788 003A43E8  48 00 54 35 */	bl func_803ADBBC
/* 803A878C 003A43EC  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A8790 003A43F0  7F A3 EB 78 */	mr r3, r29
/* 803A8794 003A43F4  7F 64 DB 78 */	mr r4, r27
/* 803A8798 003A43F8  38 A1 00 08 */	addi r5, r1, 8
/* 803A879C 003A43FC  48 00 56 D1 */	bl func_803ADE6C
/* 803A87A0 003A4400  98 7C 00 06 */	stb r3, 6(r28)
/* 803A87A4 003A4404  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A87A8 003A4408  7F 84 E3 78 */	mr r4, r28
/* 803A87AC 003A440C  38 A0 00 00 */	li r5, 0
/* 803A87B0 003A4410  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A87B4 003A4414  48 03 67 4D */	bl func_803DEF00
/* 803A87B8 003A4418  39 61 00 50 */	addi r11, r1, 0x50
/* 803A87BC 003A441C  4B E1 E9 B9 */	bl _restgpr_27
/* 803A87C0 003A4420  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803A87C4 003A4424  7C 08 03 A6 */	mtlr r0
/* 803A87C8 003A4428  38 21 00 50 */	addi r1, r1, 0x50
/* 803A87CC 003A442C  4E 80 00 20 */	blr 

.global func_803A87D0
func_803A87D0:
/* 803A87D0 003A4430  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803A87D4 003A4434  7C 08 02 A6 */	mflr r0
/* 803A87D8 003A4438  90 01 00 54 */	stw r0, 0x54(r1)
/* 803A87DC 003A443C  39 61 00 50 */	addi r11, r1, 0x50
/* 803A87E0 003A4440  4B E1 E9 49 */	bl _savegpr_27
/* 803A87E4 003A4444  88 04 01 85 */	lbz r0, 0x185(r4)
/* 803A87E8 003A4448  7C 7D 1B 78 */	mr r29, r3
/* 803A87EC 003A444C  7C 9E 23 78 */	mr r30, r4
/* 803A87F0 003A4450  7C BF 2B 78 */	mr r31, r5
/* 803A87F4 003A4454  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803A87F8 003A4458  41 82 00 70 */	beq lbl_803A8868
/* 803A87FC 003A445C  48 00 40 45 */	bl func_803AC840
/* 803A8800 003A4460  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803A8804 003A4464  40 82 00 38 */	bne lbl_803A883C
/* 803A8808 003A4468  38 60 03 CC */	li r3, 0x3cc
/* 803A880C 003A446C  38 00 00 32 */	li r0, 0x32
/* 803A8810 003A4470  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8814 003A4474  98 01 00 09 */	stb r0, 9(r1)
/* 803A8818 003A4478  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A881C 003A447C  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A8820 003A4480  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8824 003A4484  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A8828 003A4488  88 7F 00 01 */	lbz r3, 1(r31)
/* 803A882C 003A448C  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8830 003A4490  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803A8834 003A4494  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A8838 003A4498  48 00 00 CC */	b lbl_803A8904
lbl_803A883C:
/* 803A883C 003A449C  38 60 03 CE */	li r3, 0x3ce
/* 803A8840 003A44A0  38 00 00 1B */	li r0, 0x1b
/* 803A8844 003A44A4  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8848 003A44A8  98 01 00 09 */	stb r0, 9(r1)
/* 803A884C 003A44AC  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8850 003A44B0  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A8854 003A44B4  88 7F 00 01 */	lbz r3, 1(r31)
/* 803A8858 003A44B8  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A885C 003A44BC  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803A8860 003A44C0  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A8864 003A44C4  48 00 00 A0 */	b lbl_803A8904
lbl_803A8868:
/* 803A8868 003A44C8  48 00 3F D9 */	bl func_803AC840
/* 803A886C 003A44CC  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803A8870 003A44D0  40 82 00 74 */	bne lbl_803A88E4
/* 803A8874 003A44D4  7F A3 EB 78 */	mr r3, r29
/* 803A8878 003A44D8  48 00 3F C9 */	bl func_803AC840
/* 803A887C 003A44DC  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803A8880 003A44E0  40 82 00 64 */	bne lbl_803A88E4
/* 803A8884 003A44E4  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A8888 003A44E8  28 00 00 64 */	cmplwi r0, 0x64
/* 803A888C 003A44EC  40 80 00 10 */	bge lbl_803A889C
/* 803A8890 003A44F0  38 00 03 D6 */	li r0, 0x3d6
/* 803A8894 003A44F4  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A8898 003A44F8  48 00 00 54 */	b lbl_803A88EC
lbl_803A889C:
/* 803A889C 003A44FC  28 00 01 45 */	cmplwi r0, 0x145
/* 803A88A0 003A4500  40 80 00 10 */	bge lbl_803A88B0
/* 803A88A4 003A4504  38 00 03 D7 */	li r0, 0x3d7
/* 803A88A8 003A4508  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A88AC 003A450C  48 00 00 40 */	b lbl_803A88EC
lbl_803A88B0:
/* 803A88B0 003A4510  28 00 02 26 */	cmplwi r0, 0x226
/* 803A88B4 003A4514  40 80 00 10 */	bge lbl_803A88C4
/* 803A88B8 003A4518  38 00 03 D5 */	li r0, 0x3d5
/* 803A88BC 003A451C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A88C0 003A4520  48 00 00 2C */	b lbl_803A88EC
lbl_803A88C4:
/* 803A88C4 003A4524  28 00 03 07 */	cmplwi r0, 0x307
/* 803A88C8 003A4528  40 80 00 10 */	bge lbl_803A88D8
/* 803A88CC 003A452C  38 00 03 D4 */	li r0, 0x3d4
/* 803A88D0 003A4530  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A88D4 003A4534  48 00 00 18 */	b lbl_803A88EC
lbl_803A88D8:
/* 803A88D8 003A4538  38 00 03 D3 */	li r0, 0x3d3
/* 803A88DC 003A453C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803A88E0 003A4540  48 00 00 0C */	b lbl_803A88EC
lbl_803A88E4:
/* 803A88E4 003A4544  38 00 03 D3 */	li r0, 0x3d3
/* 803A88E8 003A4548  B0 01 00 0A */	sth r0, 0xa(r1)
lbl_803A88EC:
/* 803A88EC 003A454C  38 00 00 02 */	li r0, 2
/* 803A88F0 003A4550  98 01 00 09 */	stb r0, 9(r1)
/* 803A88F4 003A4554  88 7F 00 01 */	lbz r3, 1(r31)
/* 803A88F8 003A4558  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A88FC 003A455C  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803A8900 003A4560  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803A8904:
/* 803A8904 003A4564  7F A3 EB 78 */	mr r3, r29
/* 803A8908 003A4568  48 00 41 59 */	bl func_803ACA60
/* 803A890C 003A456C  7C 7B 1B 78 */	mr r27, r3
/* 803A8910 003A4570  38 60 00 05 */	li r3, 5
/* 803A8914 003A4574  38 80 00 08 */	li r4, 8
/* 803A8918 003A4578  4B DC 56 59 */	bl func_8016DF70
/* 803A891C 003A457C  93 A3 00 00 */	stw r29, 0(r3)
/* 803A8920 003A4580  7C 7C 1B 78 */	mr r28, r3
/* 803A8924 003A4584  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A8928 003A4588  98 03 00 04 */	stb r0, 4(r3)
/* 803A892C 003A458C  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8930 003A4590  98 03 00 05 */	stb r0, 5(r3)
/* 803A8934 003A4594  7F A3 EB 78 */	mr r3, r29
/* 803A8938 003A4598  48 00 52 85 */	bl func_803ADBBC
/* 803A893C 003A459C  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A8940 003A45A0  7F A3 EB 78 */	mr r3, r29
/* 803A8944 003A45A4  7F 64 DB 78 */	mr r4, r27
/* 803A8948 003A45A8  38 A1 00 08 */	addi r5, r1, 8
/* 803A894C 003A45AC  48 00 55 21 */	bl func_803ADE6C
/* 803A8950 003A45B0  98 7C 00 06 */	stb r3, 6(r28)
/* 803A8954 003A45B4  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A8958 003A45B8  7F 84 E3 78 */	mr r4, r28
/* 803A895C 003A45BC  38 A0 00 00 */	li r5, 0
/* 803A8960 003A45C0  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A8964 003A45C4  48 03 65 9D */	bl func_803DEF00
/* 803A8968 003A45C8  39 61 00 50 */	addi r11, r1, 0x50
/* 803A896C 003A45CC  4B E1 E8 09 */	bl _restgpr_27
/* 803A8970 003A45D0  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803A8974 003A45D4  7C 08 03 A6 */	mtlr r0
/* 803A8978 003A45D8  38 21 00 50 */	addi r1, r1, 0x50
/* 803A897C 003A45DC  4E 80 00 20 */	blr 

.global func_803A8980
func_803A8980:
/* 803A8980 003A45E0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803A8984 003A45E4  7C 08 02 A6 */	mflr r0
/* 803A8988 003A45E8  90 01 00 44 */	stw r0, 0x44(r1)
/* 803A898C 003A45EC  39 61 00 40 */	addi r11, r1, 0x40
/* 803A8990 003A45F0  4B E1 E7 9D */	bl _savegpr_28
/* 803A8994 003A45F4  7C 7D 1B 78 */	mr r29, r3
/* 803A8998 003A45F8  7C 9E 23 78 */	mr r30, r4
/* 803A899C 003A45FC  48 00 3E A5 */	bl func_803AC840
/* 803A89A0 003A4600  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803A89A4 003A4604  7C 7C 1B 78 */	mr r28, r3
/* 803A89A8 003A4608  41 82 00 24 */	beq lbl_803A89CC
/* 803A89AC 003A460C  7F A3 EB 78 */	mr r3, r29
/* 803A89B0 003A4610  38 80 00 03 */	li r4, 3
/* 803A89B4 003A4614  48 00 42 B1 */	bl func_803ACC64
/* 803A89B8 003A4618  7C 7F 1B 78 */	mr r31, r3
/* 803A89BC 003A461C  7F A3 EB 78 */	mr r3, r29
/* 803A89C0 003A4620  38 80 00 05 */	li r4, 5
/* 803A89C4 003A4624  48 00 42 A1 */	bl func_803ACC64
/* 803A89C8 003A4628  48 00 00 14 */	b lbl_803A89DC
lbl_803A89CC:
/* 803A89CC 003A462C  7F A3 EB 78 */	mr r3, r29
/* 803A89D0 003A4630  38 80 00 01 */	li r4, 1
/* 803A89D4 003A4634  48 00 42 91 */	bl func_803ACC64
/* 803A89D8 003A4638  7C 7F 1B 78 */	mr r31, r3
lbl_803A89DC:
/* 803A89DC 003A463C  57 80 07 7B */	rlwinm. r0, r28, 0, 0x1d, 0x1d
/* 803A89E0 003A4640  41 82 00 6C */	beq lbl_803A8A4C
/* 803A89E4 003A4644  57 80 06 31 */	rlwinm. r0, r28, 0, 0x18, 0x18
/* 803A89E8 003A4648  41 82 00 28 */	beq lbl_803A8A10
/* 803A89EC 003A464C  38 80 03 E0 */	li r4, 0x3e0
/* 803A89F0 003A4650  38 00 00 3B */	li r0, 0x3b
/* 803A89F4 003A4654  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A89F8 003A4658  98 01 00 09 */	stb r0, 9(r1)
/* 803A89FC 003A465C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8A00 003A4660  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8A04 003A4664  90 61 00 14 */	stw r3, 0x14(r1)
/* 803A8A08 003A4668  90 61 00 18 */	stw r3, 0x18(r1)
/* 803A8A0C 003A466C  48 00 00 8C */	b lbl_803A8A98
lbl_803A8A10:
/* 803A8A10 003A4670  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803A8A14 003A4674  41 82 00 20 */	beq lbl_803A8A34
/* 803A8A18 003A4678  38 80 03 CB */	li r4, 0x3cb
/* 803A8A1C 003A467C  38 00 00 1A */	li r0, 0x1a
/* 803A8A20 003A4680  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A8A24 003A4684  98 01 00 09 */	stb r0, 9(r1)
/* 803A8A28 003A4688  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8A2C 003A468C  90 61 00 10 */	stw r3, 0x10(r1)
/* 803A8A30 003A4690  48 00 00 68 */	b lbl_803A8A98
lbl_803A8A34:
/* 803A8A34 003A4694  38 60 03 CA */	li r3, 0x3ca
/* 803A8A38 003A4698  38 00 00 08 */	li r0, 8
/* 803A8A3C 003A469C  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8A40 003A46A0  98 01 00 09 */	stb r0, 9(r1)
/* 803A8A44 003A46A4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8A48 003A46A8  48 00 00 50 */	b lbl_803A8A98
lbl_803A8A4C:
/* 803A8A4C 003A46AC  57 80 06 F7 */	rlwinm. r0, r28, 0, 0x1b, 0x1b
/* 803A8A50 003A46B0  40 82 00 0C */	bne lbl_803A8A5C
/* 803A8A54 003A46B4  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803A8A58 003A46B8  41 82 00 28 */	beq lbl_803A8A80
lbl_803A8A5C:
/* 803A8A5C 003A46BC  38 80 03 E0 */	li r4, 0x3e0
/* 803A8A60 003A46C0  38 00 00 3B */	li r0, 0x3b
/* 803A8A64 003A46C4  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A8A68 003A46C8  98 01 00 09 */	stb r0, 9(r1)
/* 803A8A6C 003A46CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8A70 003A46D0  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8A74 003A46D4  90 61 00 14 */	stw r3, 0x14(r1)
/* 803A8A78 003A46D8  90 61 00 18 */	stw r3, 0x18(r1)
/* 803A8A7C 003A46DC  48 00 00 1C */	b lbl_803A8A98
lbl_803A8A80:
/* 803A8A80 003A46E0  38 60 03 C9 */	li r3, 0x3c9
/* 803A8A84 003A46E4  38 00 00 1E */	li r0, 0x1e
/* 803A8A88 003A46E8  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8A8C 003A46EC  98 01 00 09 */	stb r0, 9(r1)
/* 803A8A90 003A46F0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8A94 003A46F4  93 E1 00 10 */	stw r31, 0x10(r1)
lbl_803A8A98:
/* 803A8A98 003A46F8  7F A3 EB 78 */	mr r3, r29
/* 803A8A9C 003A46FC  48 00 3F C5 */	bl func_803ACA60
/* 803A8AA0 003A4700  7C 7F 1B 78 */	mr r31, r3
/* 803A8AA4 003A4704  38 60 00 05 */	li r3, 5
/* 803A8AA8 003A4708  38 80 00 08 */	li r4, 8
/* 803A8AAC 003A470C  4B DC 54 C5 */	bl func_8016DF70
/* 803A8AB0 003A4710  93 A3 00 00 */	stw r29, 0(r3)
/* 803A8AB4 003A4714  38 00 00 22 */	li r0, 0x22
/* 803A8AB8 003A4718  7C 7C 1B 78 */	mr r28, r3
/* 803A8ABC 003A471C  98 03 00 04 */	stb r0, 4(r3)
/* 803A8AC0 003A4720  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A8AC4 003A4724  98 03 00 05 */	stb r0, 5(r3)
/* 803A8AC8 003A4728  7F A3 EB 78 */	mr r3, r29
/* 803A8ACC 003A472C  48 00 50 F1 */	bl func_803ADBBC
/* 803A8AD0 003A4730  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A8AD4 003A4734  7F A3 EB 78 */	mr r3, r29
/* 803A8AD8 003A4738  7F E4 FB 78 */	mr r4, r31
/* 803A8ADC 003A473C  38 A1 00 08 */	addi r5, r1, 8
/* 803A8AE0 003A4740  48 00 53 8D */	bl func_803ADE6C
/* 803A8AE4 003A4744  98 7C 00 06 */	stb r3, 6(r28)
/* 803A8AE8 003A4748  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A8AEC 003A474C  7F 84 E3 78 */	mr r4, r28
/* 803A8AF0 003A4750  38 A0 00 00 */	li r5, 0
/* 803A8AF4 003A4754  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A8AF8 003A4758  48 03 64 09 */	bl func_803DEF00
/* 803A8AFC 003A475C  39 61 00 40 */	addi r11, r1, 0x40
/* 803A8B00 003A4760  4B E1 E6 79 */	bl _restgpr_28
/* 803A8B04 003A4764  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803A8B08 003A4768  7C 08 03 A6 */	mtlr r0
/* 803A8B0C 003A476C  38 21 00 40 */	addi r1, r1, 0x40
/* 803A8B10 003A4770  4E 80 00 20 */	blr 

.global func_803A8B14
func_803A8B14:
/* 803A8B14 003A4774  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803A8B18 003A4778  7C 08 02 A6 */	mflr r0
/* 803A8B1C 003A477C  90 01 00 54 */	stw r0, 0x54(r1)
/* 803A8B20 003A4780  39 61 00 50 */	addi r11, r1, 0x50
/* 803A8B24 003A4784  4B E1 E5 FD */	bl _savegpr_25
/* 803A8B28 003A4788  7C 7C 1B 78 */	mr r28, r3
/* 803A8B2C 003A478C  7C 9D 23 78 */	mr r29, r4
/* 803A8B30 003A4790  7C BE 2B 78 */	mr r30, r5
/* 803A8B34 003A4794  48 00 3D 0D */	bl func_803AC840
/* 803A8B38 003A4798  88 1D 01 85 */	lbz r0, 0x185(r29)
/* 803A8B3C 003A479C  7C 7B 1B 78 */	mr r27, r3
/* 803A8B40 003A47A0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803A8B44 003A47A4  41 82 02 20 */	beq lbl_803A8D64
/* 803A8B48 003A47A8  54 7A 07 BD */	rlwinm. r26, r3, 0, 0x1e, 0x1e
/* 803A8B4C 003A47AC  41 82 00 1C */	beq lbl_803A8B68
/* 803A8B50 003A47B0  8B FD 01 84 */	lbz r31, 0x184(r29)
/* 803A8B54 003A47B4  7F 83 E3 78 */	mr r3, r28
/* 803A8B58 003A47B8  7F E4 FB 78 */	mr r4, r31
/* 803A8B5C 003A47BC  48 00 41 DD */	bl func_803ACD38
/* 803A8B60 003A47C0  7C 60 1B 78 */	mr r0, r3
/* 803A8B64 003A47C4  48 00 00 0C */	b lbl_803A8B70
lbl_803A8B68:
/* 803A8B68 003A47C8  8B FD 01 84 */	lbz r31, 0x184(r29)
/* 803A8B6C 003A47CC  7F E0 FB 78 */	mr r0, r31
lbl_803A8B70:
/* 803A8B70 003A47D0  57 63 07 7B */	rlwinm. r3, r27, 0, 0x1d, 0x1d
/* 803A8B74 003A47D4  41 82 01 18 */	beq lbl_803A8C8C
/* 803A8B78 003A47D8  57 63 06 31 */	rlwinm. r3, r27, 0, 0x18, 0x18
/* 803A8B7C 003A47DC  41 82 00 50 */	beq lbl_803A8BCC
/* 803A8B80 003A47E0  38 60 03 DF */	li r3, 0x3df
/* 803A8B84 003A47E4  38 A0 00 3C */	li r5, 0x3c
/* 803A8B88 003A47E8  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8B8C 003A47EC  7C 9E FA 14 */	add r4, r30, r31
/* 803A8B90 003A47F0  7C 7E 02 14 */	add r3, r30, r0
/* 803A8B94 003A47F4  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8B98 003A47F8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8B9C 003A47FC  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8BA0 003A4800  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8BA4 003A4804  54 84 40 2E */	slwi r4, r4, 8
/* 803A8BA8 003A4808  90 01 00 18 */	stw r0, 0x18(r1)
/* 803A8BAC 003A480C  7F E4 23 78 */	or r4, r31, r4
/* 803A8BB0 003A4810  90 81 00 14 */	stw r4, 0x14(r1)
/* 803A8BB4 003A4814  90 01 00 1C */	stw r0, 0x1c(r1)
/* 803A8BB8 003A4818  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8BBC 003A481C  54 63 40 2E */	slwi r3, r3, 8
/* 803A8BC0 003A4820  7C 00 1B 78 */	or r0, r0, r3
/* 803A8BC4 003A4824  90 01 00 20 */	stw r0, 0x20(r1)
/* 803A8BC8 003A4828  48 00 04 24 */	b lbl_803A8FEC
lbl_803A8BCC:
/* 803A8BCC 003A482C  57 63 07 39 */	rlwinm. r3, r27, 0, 0x1c, 0x1c
/* 803A8BD0 003A4830  41 82 00 48 */	beq lbl_803A8C18
/* 803A8BD4 003A4834  38 60 03 D0 */	li r3, 0x3d0
/* 803A8BD8 003A4838  38 A0 00 38 */	li r5, 0x38
/* 803A8BDC 003A483C  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8BE0 003A4840  7C 9E FA 14 */	add r4, r30, r31
/* 803A8BE4 003A4844  7C 7E 02 14 */	add r3, r30, r0
/* 803A8BE8 003A4848  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8BEC 003A484C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8BF0 003A4850  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8BF4 003A4854  54 84 40 2E */	slwi r4, r4, 8
/* 803A8BF8 003A4858  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A8BFC 003A485C  7F E4 23 78 */	or r4, r31, r4
/* 803A8C00 003A4860  90 81 00 10 */	stw r4, 0x10(r1)
/* 803A8C04 003A4864  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8C08 003A4868  54 63 40 2E */	slwi r3, r3, 8
/* 803A8C0C 003A486C  7C 00 1B 78 */	or r0, r0, r3
/* 803A8C10 003A4870  90 01 00 18 */	stw r0, 0x18(r1)
/* 803A8C14 003A4874  48 00 03 D8 */	b lbl_803A8FEC
lbl_803A8C18:
/* 803A8C18 003A4878  2C 1A 00 00 */	cmpwi r26, 0
/* 803A8C1C 003A487C  41 82 00 44 */	beq lbl_803A8C60
/* 803A8C20 003A4880  38 60 03 CF */	li r3, 0x3cf
/* 803A8C24 003A4884  38 A0 00 31 */	li r5, 0x31
/* 803A8C28 003A4888  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8C2C 003A488C  7C 9E FA 14 */	add r4, r30, r31
/* 803A8C30 003A4890  7C 7E 02 14 */	add r3, r30, r0
/* 803A8C34 003A4894  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8C38 003A4898  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8C3C 003A489C  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8C40 003A48A0  54 84 40 2E */	slwi r4, r4, 8
/* 803A8C44 003A48A4  7F E4 23 78 */	or r4, r31, r4
/* 803A8C48 003A48A8  90 81 00 10 */	stw r4, 0x10(r1)
/* 803A8C4C 003A48AC  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8C50 003A48B0  54 63 40 2E */	slwi r3, r3, 8
/* 803A8C54 003A48B4  7C 00 1B 78 */	or r0, r0, r3
/* 803A8C58 003A48B8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A8C5C 003A48BC  48 00 03 90 */	b lbl_803A8FEC
lbl_803A8C60:
/* 803A8C60 003A48C0  38 60 03 CE */	li r3, 0x3ce
/* 803A8C64 003A48C4  38 00 00 1B */	li r0, 0x1b
/* 803A8C68 003A48C8  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8C6C 003A48CC  7C 7E FA 14 */	add r3, r30, r31
/* 803A8C70 003A48D0  98 01 00 09 */	stb r0, 9(r1)
/* 803A8C74 003A48D4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8C78 003A48D8  88 03 00 04 */	lbz r0, 4(r3)
/* 803A8C7C 003A48DC  54 00 40 2E */	slwi r0, r0, 8
/* 803A8C80 003A48E0  7F E0 03 78 */	or r0, r31, r0
/* 803A8C84 003A48E4  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A8C88 003A48E8  48 00 03 64 */	b lbl_803A8FEC
lbl_803A8C8C:
/* 803A8C8C 003A48EC  57 63 06 F7 */	rlwinm. r3, r27, 0, 0x1b, 0x1b
/* 803A8C90 003A48F0  40 82 00 0C */	bne lbl_803A8C9C
/* 803A8C94 003A48F4  57 63 07 39 */	rlwinm. r3, r27, 0, 0x1c, 0x1c
/* 803A8C98 003A48F8  41 82 00 50 */	beq lbl_803A8CE8
lbl_803A8C9C:
/* 803A8C9C 003A48FC  38 60 03 DF */	li r3, 0x3df
/* 803A8CA0 003A4900  38 A0 00 3C */	li r5, 0x3c
/* 803A8CA4 003A4904  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8CA8 003A4908  7C 9E FA 14 */	add r4, r30, r31
/* 803A8CAC 003A490C  7C 7E 02 14 */	add r3, r30, r0
/* 803A8CB0 003A4910  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8CB4 003A4914  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8CB8 003A4918  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8CBC 003A491C  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8CC0 003A4920  54 84 40 2E */	slwi r4, r4, 8
/* 803A8CC4 003A4924  90 01 00 18 */	stw r0, 0x18(r1)
/* 803A8CC8 003A4928  7F E4 23 78 */	or r4, r31, r4
/* 803A8CCC 003A492C  90 81 00 14 */	stw r4, 0x14(r1)
/* 803A8CD0 003A4930  90 01 00 1C */	stw r0, 0x1c(r1)
/* 803A8CD4 003A4934  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8CD8 003A4938  54 63 40 2E */	slwi r3, r3, 8
/* 803A8CDC 003A493C  7C 00 1B 78 */	or r0, r0, r3
/* 803A8CE0 003A4940  90 01 00 20 */	stw r0, 0x20(r1)
/* 803A8CE4 003A4944  48 00 03 08 */	b lbl_803A8FEC
lbl_803A8CE8:
/* 803A8CE8 003A4948  2C 1A 00 00 */	cmpwi r26, 0
/* 803A8CEC 003A494C  41 82 00 48 */	beq lbl_803A8D34
/* 803A8CF0 003A4950  38 60 03 CD */	li r3, 0x3cd
/* 803A8CF4 003A4954  38 A0 00 39 */	li r5, 0x39
/* 803A8CF8 003A4958  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8CFC 003A495C  7C 9E FA 14 */	add r4, r30, r31
/* 803A8D00 003A4960  7C 7E 02 14 */	add r3, r30, r0
/* 803A8D04 003A4964  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8D08 003A4968  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8D0C 003A496C  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8D10 003A4970  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8D14 003A4974  54 84 40 2E */	slwi r4, r4, 8
/* 803A8D18 003A4978  7F E4 23 78 */	or r4, r31, r4
/* 803A8D1C 003A497C  90 81 00 14 */	stw r4, 0x14(r1)
/* 803A8D20 003A4980  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8D24 003A4984  54 63 40 2E */	slwi r3, r3, 8
/* 803A8D28 003A4988  7C 00 1B 78 */	or r0, r0, r3
/* 803A8D2C 003A498C  90 01 00 18 */	stw r0, 0x18(r1)
/* 803A8D30 003A4990  48 00 02 BC */	b lbl_803A8FEC
lbl_803A8D34:
/* 803A8D34 003A4994  38 60 03 CC */	li r3, 0x3cc
/* 803A8D38 003A4998  38 00 00 32 */	li r0, 0x32
/* 803A8D3C 003A499C  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8D40 003A49A0  7C 7E FA 14 */	add r3, r30, r31
/* 803A8D44 003A49A4  98 01 00 09 */	stb r0, 9(r1)
/* 803A8D48 003A49A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8D4C 003A49AC  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8D50 003A49B0  88 03 00 04 */	lbz r0, 4(r3)
/* 803A8D54 003A49B4  54 00 40 2E */	slwi r0, r0, 8
/* 803A8D58 003A49B8  7F E0 03 78 */	or r0, r31, r0
/* 803A8D5C 003A49BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A8D60 003A49C0  48 00 02 8C */	b lbl_803A8FEC
lbl_803A8D64:
/* 803A8D64 003A49C4  54 7A 07 7B */	rlwinm. r26, r3, 0, 0x1d, 0x1d
/* 803A8D68 003A49C8  41 82 00 C0 */	beq lbl_803A8E28
/* 803A8D6C 003A49CC  48 03 0A DD */	bl func_803D9848
/* 803A8D70 003A49D0  57 79 07 39 */	rlwinm. r25, r27, 0, 0x1c, 0x1c
/* 803A8D74 003A49D4  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803A8D78 003A49D8  41 82 00 6C */	beq lbl_803A8DE4
/* 803A8D7C 003A49DC  48 03 0A C1 */	bl func_803D983C
/* 803A8D80 003A49E0  2C 03 00 03 */	cmpwi r3, 3
/* 803A8D84 003A49E4  41 82 00 18 */	beq lbl_803A8D9C
/* 803A8D88 003A49E8  40 80 00 F4 */	bge lbl_803A8E7C
/* 803A8D8C 003A49EC  2C 03 00 00 */	cmpwi r3, 0
/* 803A8D90 003A49F0  41 82 00 0C */	beq lbl_803A8D9C
/* 803A8D94 003A49F4  40 80 00 2C */	bge lbl_803A8DC0
/* 803A8D98 003A49F8  48 00 00 E4 */	b lbl_803A8E7C
lbl_803A8D9C:
/* 803A8D9C 003A49FC  7F 83 E3 78 */	mr r3, r28
/* 803A8DA0 003A4A00  38 80 00 04 */	li r4, 4
/* 803A8DA4 003A4A04  48 00 3E C1 */	bl func_803ACC64
/* 803A8DA8 003A4A08  7C 7F 1B 78 */	mr r31, r3
/* 803A8DAC 003A4A0C  7F 83 E3 78 */	mr r3, r28
/* 803A8DB0 003A4A10  38 80 00 02 */	li r4, 2
/* 803A8DB4 003A4A14  48 00 3E B1 */	bl func_803ACC64
/* 803A8DB8 003A4A18  7C 60 1B 78 */	mr r0, r3
/* 803A8DBC 003A4A1C  48 00 00 C0 */	b lbl_803A8E7C
lbl_803A8DC0:
/* 803A8DC0 003A4A20  7F 83 E3 78 */	mr r3, r28
/* 803A8DC4 003A4A24  38 80 00 02 */	li r4, 2
/* 803A8DC8 003A4A28  48 00 3E 9D */	bl func_803ACC64
/* 803A8DCC 003A4A2C  7C 7F 1B 78 */	mr r31, r3
/* 803A8DD0 003A4A30  7F 83 E3 78 */	mr r3, r28
/* 803A8DD4 003A4A34  38 80 00 04 */	li r4, 4
/* 803A8DD8 003A4A38  48 00 3E 8D */	bl func_803ACC64
/* 803A8DDC 003A4A3C  7C 60 1B 78 */	mr r0, r3
/* 803A8DE0 003A4A40  48 00 00 9C */	b lbl_803A8E7C
lbl_803A8DE4:
/* 803A8DE4 003A4A44  57 60 07 BD */	rlwinm. r0, r27, 0, 0x1e, 0x1e
/* 803A8DE8 003A4A48  41 82 00 28 */	beq lbl_803A8E10
/* 803A8DEC 003A4A4C  7F 83 E3 78 */	mr r3, r28
/* 803A8DF0 003A4A50  38 80 00 02 */	li r4, 2
/* 803A8DF4 003A4A54  48 00 3E 71 */	bl func_803ACC64
/* 803A8DF8 003A4A58  7C 7F 1B 78 */	mr r31, r3
/* 803A8DFC 003A4A5C  7F 83 E3 78 */	mr r3, r28
/* 803A8E00 003A4A60  38 80 00 04 */	li r4, 4
/* 803A8E04 003A4A64  48 00 3E 61 */	bl func_803ACC64
/* 803A8E08 003A4A68  7C 60 1B 78 */	mr r0, r3
/* 803A8E0C 003A4A6C  48 00 00 70 */	b lbl_803A8E7C
lbl_803A8E10:
/* 803A8E10 003A4A70  7F 83 E3 78 */	mr r3, r28
/* 803A8E14 003A4A74  38 80 00 00 */	li r4, 0
/* 803A8E18 003A4A78  48 00 3E 4D */	bl func_803ACC64
/* 803A8E1C 003A4A7C  7C 7F 1B 78 */	mr r31, r3
/* 803A8E20 003A4A80  7F E0 FB 78 */	mr r0, r31
/* 803A8E24 003A4A84  48 00 00 58 */	b lbl_803A8E7C
lbl_803A8E28:
/* 803A8E28 003A4A88  54 79 07 39 */	rlwinm. r25, r3, 0, 0x1c, 0x1c
/* 803A8E2C 003A4A8C  41 82 00 1C */	beq lbl_803A8E48
/* 803A8E30 003A4A90  88 9D 01 84 */	lbz r4, 0x184(r29)
/* 803A8E34 003A4A94  7F 83 E3 78 */	mr r3, r28
/* 803A8E38 003A4A98  48 00 3F 01 */	bl func_803ACD38
/* 803A8E3C 003A4A9C  88 1D 01 84 */	lbz r0, 0x184(r29)
/* 803A8E40 003A4AA0  7C 7F 1B 78 */	mr r31, r3
/* 803A8E44 003A4AA4  48 00 00 38 */	b lbl_803A8E7C
lbl_803A8E48:
/* 803A8E48 003A4AA8  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803A8E4C 003A4AAC  41 82 00 28 */	beq lbl_803A8E74
/* 803A8E50 003A4AB0  7F 83 E3 78 */	mr r3, r28
/* 803A8E54 003A4AB4  38 80 00 02 */	li r4, 2
/* 803A8E58 003A4AB8  48 00 3E 0D */	bl func_803ACC64
/* 803A8E5C 003A4ABC  7C 7F 1B 78 */	mr r31, r3
/* 803A8E60 003A4AC0  7F 83 E3 78 */	mr r3, r28
/* 803A8E64 003A4AC4  38 80 00 04 */	li r4, 4
/* 803A8E68 003A4AC8  48 00 3D FD */	bl func_803ACC64
/* 803A8E6C 003A4ACC  7C 60 1B 78 */	mr r0, r3
/* 803A8E70 003A4AD0  48 00 00 0C */	b lbl_803A8E7C
lbl_803A8E74:
/* 803A8E74 003A4AD4  8B FD 01 84 */	lbz r31, 0x184(r29)
/* 803A8E78 003A4AD8  7F E0 FB 78 */	mr r0, r31
lbl_803A8E7C:
/* 803A8E7C 003A4ADC  2C 1A 00 00 */	cmpwi r26, 0
/* 803A8E80 003A4AE0  41 82 00 B8 */	beq lbl_803A8F38
/* 803A8E84 003A4AE4  2C 19 00 00 */	cmpwi r25, 0
/* 803A8E88 003A4AE8  41 82 00 44 */	beq lbl_803A8ECC
/* 803A8E8C 003A4AEC  38 60 03 D1 */	li r3, 0x3d1
/* 803A8E90 003A4AF0  38 A0 00 31 */	li r5, 0x31
/* 803A8E94 003A4AF4  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8E98 003A4AF8  7C 9E FA 14 */	add r4, r30, r31
/* 803A8E9C 003A4AFC  7C 7E 02 14 */	add r3, r30, r0
/* 803A8EA0 003A4B00  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8EA4 003A4B04  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8EA8 003A4B08  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8EAC 003A4B0C  54 84 40 2E */	slwi r4, r4, 8
/* 803A8EB0 003A4B10  7F E4 23 78 */	or r4, r31, r4
/* 803A8EB4 003A4B14  90 81 00 10 */	stw r4, 0x10(r1)
/* 803A8EB8 003A4B18  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8EBC 003A4B1C  54 63 40 2E */	slwi r3, r3, 8
/* 803A8EC0 003A4B20  7C 00 1B 78 */	or r0, r0, r3
/* 803A8EC4 003A4B24  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A8EC8 003A4B28  48 00 01 24 */	b lbl_803A8FEC
lbl_803A8ECC:
/* 803A8ECC 003A4B2C  57 63 07 BD */	rlwinm. r3, r27, 0, 0x1e, 0x1e
/* 803A8ED0 003A4B30  41 82 00 40 */	beq lbl_803A8F10
/* 803A8ED4 003A4B34  38 60 03 D2 */	li r3, 0x3d2
/* 803A8ED8 003A4B38  38 A0 00 09 */	li r5, 9
/* 803A8EDC 003A4B3C  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8EE0 003A4B40  7C 9E FA 14 */	add r4, r30, r31
/* 803A8EE4 003A4B44  7C 7E 02 14 */	add r3, r30, r0
/* 803A8EE8 003A4B48  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8EEC 003A4B4C  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8EF0 003A4B50  54 84 40 2E */	slwi r4, r4, 8
/* 803A8EF4 003A4B54  7F E4 23 78 */	or r4, r31, r4
/* 803A8EF8 003A4B58  90 81 00 0C */	stw r4, 0xc(r1)
/* 803A8EFC 003A4B5C  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8F00 003A4B60  54 63 40 2E */	slwi r3, r3, 8
/* 803A8F04 003A4B64  7C 00 1B 78 */	or r0, r0, r3
/* 803A8F08 003A4B68  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A8F0C 003A4B6C  48 00 00 E0 */	b lbl_803A8FEC
lbl_803A8F10:
/* 803A8F10 003A4B70  38 60 03 D3 */	li r3, 0x3d3
/* 803A8F14 003A4B74  38 00 00 02 */	li r0, 2
/* 803A8F18 003A4B78  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8F1C 003A4B7C  7C 7E FA 14 */	add r3, r30, r31
/* 803A8F20 003A4B80  98 01 00 09 */	stb r0, 9(r1)
/* 803A8F24 003A4B84  88 03 00 04 */	lbz r0, 4(r3)
/* 803A8F28 003A4B88  54 00 40 2E */	slwi r0, r0, 8
/* 803A8F2C 003A4B8C  7F E0 03 78 */	or r0, r31, r0
/* 803A8F30 003A4B90  90 01 00 0C */	stw r0, 0xc(r1)
/* 803A8F34 003A4B94  48 00 00 B8 */	b lbl_803A8FEC
lbl_803A8F38:
/* 803A8F38 003A4B98  2C 19 00 00 */	cmpwi r25, 0
/* 803A8F3C 003A4B9C  41 82 00 48 */	beq lbl_803A8F84
/* 803A8F40 003A4BA0  38 60 03 E1 */	li r3, 0x3e1
/* 803A8F44 003A4BA4  38 A0 00 39 */	li r5, 0x39
/* 803A8F48 003A4BA8  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8F4C 003A4BAC  7C 9E FA 14 */	add r4, r30, r31
/* 803A8F50 003A4BB0  7C 7E 02 14 */	add r3, r30, r0
/* 803A8F54 003A4BB4  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8F58 003A4BB8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A8F5C 003A4BBC  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803A8F60 003A4BC0  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8F64 003A4BC4  54 84 40 2E */	slwi r4, r4, 8
/* 803A8F68 003A4BC8  7F E4 23 78 */	or r4, r31, r4
/* 803A8F6C 003A4BCC  90 81 00 14 */	stw r4, 0x14(r1)
/* 803A8F70 003A4BD0  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8F74 003A4BD4  54 63 40 2E */	slwi r3, r3, 8
/* 803A8F78 003A4BD8  7C 00 1B 78 */	or r0, r0, r3
/* 803A8F7C 003A4BDC  90 01 00 18 */	stw r0, 0x18(r1)
/* 803A8F80 003A4BE0  48 00 00 6C */	b lbl_803A8FEC
lbl_803A8F84:
/* 803A8F84 003A4BE4  57 63 07 BD */	rlwinm. r3, r27, 0, 0x1e, 0x1e
/* 803A8F88 003A4BE8  41 82 00 40 */	beq lbl_803A8FC8
/* 803A8F8C 003A4BEC  38 60 03 D2 */	li r3, 0x3d2
/* 803A8F90 003A4BF0  38 A0 00 09 */	li r5, 9
/* 803A8F94 003A4BF4  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8F98 003A4BF8  7C 9E FA 14 */	add r4, r30, r31
/* 803A8F9C 003A4BFC  7C 7E 02 14 */	add r3, r30, r0
/* 803A8FA0 003A4C00  98 A1 00 09 */	stb r5, 9(r1)
/* 803A8FA4 003A4C04  88 84 00 04 */	lbz r4, 4(r4)
/* 803A8FA8 003A4C08  54 84 40 2E */	slwi r4, r4, 8
/* 803A8FAC 003A4C0C  7F E4 23 78 */	or r4, r31, r4
/* 803A8FB0 003A4C10  90 81 00 0C */	stw r4, 0xc(r1)
/* 803A8FB4 003A4C14  88 63 00 04 */	lbz r3, 4(r3)
/* 803A8FB8 003A4C18  54 63 40 2E */	slwi r3, r3, 8
/* 803A8FBC 003A4C1C  7C 00 1B 78 */	or r0, r0, r3
/* 803A8FC0 003A4C20  90 01 00 10 */	stw r0, 0x10(r1)
/* 803A8FC4 003A4C24  48 00 00 28 */	b lbl_803A8FEC
lbl_803A8FC8:
/* 803A8FC8 003A4C28  38 60 03 D3 */	li r3, 0x3d3
/* 803A8FCC 003A4C2C  38 00 00 02 */	li r0, 2
/* 803A8FD0 003A4C30  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A8FD4 003A4C34  7C 7E FA 14 */	add r3, r30, r31
/* 803A8FD8 003A4C38  98 01 00 09 */	stb r0, 9(r1)
/* 803A8FDC 003A4C3C  88 03 00 04 */	lbz r0, 4(r3)
/* 803A8FE0 003A4C40  54 00 40 2E */	slwi r0, r0, 8
/* 803A8FE4 003A4C44  7F E0 03 78 */	or r0, r31, r0
/* 803A8FE8 003A4C48  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803A8FEC:
/* 803A8FEC 003A4C4C  7F 83 E3 78 */	mr r3, r28
/* 803A8FF0 003A4C50  48 00 3A 71 */	bl func_803ACA60
/* 803A8FF4 003A4C54  7C 7A 1B 78 */	mr r26, r3
/* 803A8FF8 003A4C58  38 60 00 05 */	li r3, 5
/* 803A8FFC 003A4C5C  38 80 00 08 */	li r4, 8
/* 803A9000 003A4C60  4B DC 4F 71 */	bl func_8016DF70
/* 803A9004 003A4C64  93 83 00 00 */	stw r28, 0(r3)
/* 803A9008 003A4C68  7C 79 1B 78 */	mr r25, r3
/* 803A900C 003A4C6C  88 1E 00 00 */	lbz r0, 0(r30)
/* 803A9010 003A4C70  98 03 00 04 */	stb r0, 4(r3)
/* 803A9014 003A4C74  88 1D 01 84 */	lbz r0, 0x184(r29)
/* 803A9018 003A4C78  98 03 00 05 */	stb r0, 5(r3)
/* 803A901C 003A4C7C  7F 83 E3 78 */	mr r3, r28
/* 803A9020 003A4C80  48 00 4B 9D */	bl func_803ADBBC
/* 803A9024 003A4C84  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A9028 003A4C88  7F 83 E3 78 */	mr r3, r28
/* 803A902C 003A4C8C  7F 44 D3 78 */	mr r4, r26
/* 803A9030 003A4C90  38 A1 00 08 */	addi r5, r1, 8
/* 803A9034 003A4C94  48 00 4E 39 */	bl func_803ADE6C
/* 803A9038 003A4C98  98 79 00 06 */	stb r3, 6(r25)
/* 803A903C 003A4C9C  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A9040 003A4CA0  7F 24 CB 78 */	mr r4, r25
/* 803A9044 003A4CA4  38 A0 00 00 */	li r5, 0
/* 803A9048 003A4CA8  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A904C 003A4CAC  48 03 5E B5 */	bl func_803DEF00
/* 803A9050 003A4CB0  39 61 00 50 */	addi r11, r1, 0x50
/* 803A9054 003A4CB4  4B E1 E1 19 */	bl _restgpr_25
/* 803A9058 003A4CB8  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803A905C 003A4CBC  7C 08 03 A6 */	mtlr r0
/* 803A9060 003A4CC0  38 21 00 50 */	addi r1, r1, 0x50
/* 803A9064 003A4CC4  4E 80 00 20 */	blr 

.global func_803A9068
func_803A9068:
/* 803A9068 003A4CC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A906C 003A4CCC  7C 08 02 A6 */	mflr r0
/* 803A9070 003A4CD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9074 003A4CD4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9078 003A4CD8  7C 9F 23 78 */	mr r31, r4
/* 803A907C 003A4CDC  38 80 00 0C */	li r4, 0xc
/* 803A9080 003A4CE0  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9084 003A4CE4  7C 7E 1B 78 */	mr r30, r3
/* 803A9088 003A4CE8  38 60 00 05 */	li r3, 5
/* 803A908C 003A4CEC  4B DC 4E E5 */	bl func_8016DF70
/* 803A9090 003A4CF0  93 C3 00 00 */	stw r30, 0(r3)
/* 803A9094 003A4CF4  3C C0 80 3B */	lis r6, lbl_803AB06C@ha
/* 803A9098 003A4CF8  7C 64 1B 78 */	mr r4, r3
/* 803A909C 003A4CFC  38 A0 00 00 */	li r5, 0
/* 803A90A0 003A4D00  88 1F 00 84 */	lbz r0, 0x84(r31)
/* 803A90A4 003A4D04  98 03 00 08 */	stb r0, 8(r3)
/* 803A90A8 003A4D08  88 1F 01 84 */	lbz r0, 0x184(r31)
/* 803A90AC 003A4D0C  98 03 00 09 */	stb r0, 9(r3)
/* 803A90B0 003A4D10  38 66 B0 6C */	addi r3, r6, lbl_803AB06C@l
/* 803A90B4 003A4D14  48 03 5E 4D */	bl func_803DEF00
/* 803A90B8 003A4D18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A90BC 003A4D1C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A90C0 003A4D20  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A90C4 003A4D24  7C 08 03 A6 */	mtlr r0
/* 803A90C8 003A4D28  38 21 00 10 */	addi r1, r1, 0x10
/* 803A90CC 003A4D2C  4E 80 00 20 */	blr 

.global func_803A90D0
func_803A90D0:
/* 803A90D0 003A4D30  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803A90D4 003A4D34  7C 08 02 A6 */	mflr r0
/* 803A90D8 003A4D38  90 01 00 54 */	stw r0, 0x54(r1)
/* 803A90DC 003A4D3C  39 61 00 50 */	addi r11, r1, 0x50
/* 803A90E0 003A4D40  4B E1 E0 49 */	bl _savegpr_27
/* 803A90E4 003A4D44  88 04 01 86 */	lbz r0, 0x186(r4)
/* 803A90E8 003A4D48  7C 7B 1B 78 */	mr r27, r3
/* 803A90EC 003A4D4C  7C 9C 23 78 */	mr r28, r4
/* 803A90F0 003A4D50  7C BD 2B 78 */	mr r29, r5
/* 803A90F4 003A4D54  28 00 00 01 */	cmplwi r0, 1
/* 803A90F8 003A4D58  40 82 00 20 */	bne lbl_803A9118
/* 803A90FC 003A4D5C  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A9100 003A4D60  48 00 88 09 */	bl func_803B1908
/* 803A9104 003A4D64  88 9C 01 84 */	lbz r4, 0x184(r28)
/* 803A9108 003A4D68  7F 63 DB 78 */	mr r3, r27
/* 803A910C 003A4D6C  88 BD 00 00 */	lbz r5, 0(r29)
/* 803A9110 003A4D70  48 00 94 61 */	bl func_803B2570
/* 803A9114 003A4D74  48 00 01 38 */	b lbl_803A924C
lbl_803A9118:
/* 803A9118 003A4D78  48 00 39 49 */	bl func_803ACA60
/* 803A911C 003A4D7C  7C 7E 1B 78 */	mr r30, r3
/* 803A9120 003A4D80  38 60 00 05 */	li r3, 5
/* 803A9124 003A4D84  38 80 00 0C */	li r4, 0xc
/* 803A9128 003A4D88  4B DC 4E 49 */	bl func_8016DF70
/* 803A912C 003A4D8C  93 63 00 00 */	stw r27, 0(r3)
/* 803A9130 003A4D90  38 C0 00 00 */	li r6, 0
/* 803A9134 003A4D94  7C 7F 1B 78 */	mr r31, r3
/* 803A9138 003A4D98  38 00 00 03 */	li r0, 3
/* 803A913C 003A4D9C  88 FD 00 00 */	lbz r7, 0(r29)
/* 803A9140 003A4DA0  38 A1 00 08 */	addi r5, r1, 8
/* 803A9144 003A4DA4  38 9D 00 04 */	addi r4, r29, 4
/* 803A9148 003A4DA8  98 E3 00 04 */	stb r7, 4(r3)
/* 803A914C 003A4DAC  88 FC 01 84 */	lbz r7, 0x184(r28)
/* 803A9150 003A4DB0  98 E3 00 05 */	stb r7, 5(r3)
/* 803A9154 003A4DB4  98 C3 00 07 */	stb r6, 7(r3)
/* 803A9158 003A4DB8  88 7D 00 04 */	lbz r3, 4(r29)
/* 803A915C 003A4DBC  98 61 00 08 */	stb r3, 8(r1)
/* 803A9160 003A4DC0  88 7D 00 05 */	lbz r3, 5(r29)
/* 803A9164 003A4DC4  98 61 00 09 */	stb r3, 9(r1)
/* 803A9168 003A4DC8  A0 7D 00 06 */	lhz r3, 6(r29)
/* 803A916C 003A4DCC  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A9170 003A4DD0  7C 09 03 A6 */	mtctr r0
lbl_803A9174:
/* 803A9174 003A4DD4  80 64 00 04 */	lwz r3, 4(r4)
/* 803A9178 003A4DD8  84 04 00 08 */	lwzu r0, 8(r4)
/* 803A917C 003A4DDC  90 65 00 04 */	stw r3, 4(r5)
/* 803A9180 003A4DE0  94 05 00 08 */	stwu r0, 8(r5)
/* 803A9184 003A4DE4  42 00 FF F0 */	bdnz lbl_803A9174
/* 803A9188 003A4DE8  80 1D 00 20 */	lwz r0, 0x20(r29)
/* 803A918C 003A4DEC  7F 63 DB 78 */	mr r3, r27
/* 803A9190 003A4DF0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A9194 003A4DF4  80 1D 00 24 */	lwz r0, 0x24(r29)
/* 803A9198 003A4DF8  90 01 00 28 */	stw r0, 0x28(r1)
/* 803A919C 003A4DFC  88 1D 00 00 */	lbz r0, 0(r29)
/* 803A91A0 003A4E00  98 01 00 08 */	stb r0, 8(r1)
/* 803A91A4 003A4E04  48 00 36 9D */	bl func_803AC840
/* 803A91A8 003A4E08  54 60 05 29 */	rlwinm. r0, r3, 0, 0x14, 0x14
/* 803A91AC 003A4E0C  41 82 00 0C */	beq lbl_803A91B8
/* 803A91B0 003A4E10  38 00 00 01 */	li r0, 1
/* 803A91B4 003A4E14  90 0D B3 08 */	stw r0, lbl_806405C8-_SDA_BASE_(r13)
lbl_803A91B8:
/* 803A91B8 003A4E18  7F 63 DB 78 */	mr r3, r27
/* 803A91BC 003A4E1C  48 00 36 85 */	bl func_803AC840
/* 803A91C0 003A4E20  54 64 03 18 */	rlwinm r4, r3, 0, 0xc, 0xc
/* 803A91C4 003A4E24  50 64 04 E6 */	rlwimi r4, r3, 0, 0x13, 0x13
/* 803A91C8 003A4E28  3C 04 FF F8 */	addis r0, r4, 0xfff8
/* 803A91CC 003A4E2C  28 00 10 00 */	cmplwi r0, 0x1000
/* 803A91D0 003A4E30  40 82 00 0C */	bne lbl_803A91DC
/* 803A91D4 003A4E34  38 00 00 01 */	li r0, 1
/* 803A91D8 003A4E38  90 0D B3 08 */	stw r0, lbl_806405C8-_SDA_BASE_(r13)
lbl_803A91DC:
/* 803A91DC 003A4E3C  7F 63 DB 78 */	mr r3, r27
/* 803A91E0 003A4E40  48 00 49 DD */	bl func_803ADBBC
/* 803A91E4 003A4E44  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A91E8 003A4E48  7F 63 DB 78 */	mr r3, r27
/* 803A91EC 003A4E4C  7F C4 F3 78 */	mr r4, r30
/* 803A91F0 003A4E50  38 BD 00 04 */	addi r5, r29, 4
/* 803A91F4 003A4E54  48 00 4C 79 */	bl func_803ADE6C
/* 803A91F8 003A4E58  98 7F 00 06 */	stb r3, 6(r31)
/* 803A91FC 003A4E5C  38 00 00 00 */	li r0, 0
/* 803A9200 003A4E60  7F 63 DB 78 */	mr r3, r27
/* 803A9204 003A4E64  90 0D B3 08 */	stw r0, lbl_806405C8-_SDA_BASE_(r13)
/* 803A9208 003A4E68  48 00 38 89 */	bl func_803ACA90
/* 803A920C 003A4E6C  7C 7B 1B 78 */	mr r27, r3
/* 803A9210 003A4E70  48 03 60 65 */	bl func_803DF274
/* 803A9214 003A4E74  38 03 00 01 */	addi r0, r3, 1
/* 803A9218 003A4E78  7F 63 DB 78 */	mr r3, r27
/* 803A921C 003A4E7C  54 1B 08 3C */	slwi r27, r0, 1
/* 803A9220 003A4E80  48 03 61 F9 */	bl func_803DF418
/* 803A9224 003A4E84  7C 65 1B 78 */	mr r5, r3
/* 803A9228 003A4E88  88 7C 01 84 */	lbz r3, 0x184(r28)
/* 803A922C 003A4E8C  7F 66 DB 78 */	mr r6, r27
/* 803A9230 003A4E90  38 81 00 08 */	addi r4, r1, 8
/* 803A9234 003A4E94  4B DC 51 61 */	bl func_8016E394
/* 803A9238 003A4E98  3C 60 80 3B */	lis r3, lbl_803AB114@ha
/* 803A923C 003A4E9C  7F E4 FB 78 */	mr r4, r31
/* 803A9240 003A4EA0  38 63 B1 14 */	addi r3, r3, lbl_803AB114@l
/* 803A9244 003A4EA4  38 A0 00 00 */	li r5, 0
/* 803A9248 003A4EA8  48 03 5C B9 */	bl func_803DEF00
lbl_803A924C:
/* 803A924C 003A4EAC  39 61 00 50 */	addi r11, r1, 0x50
/* 803A9250 003A4EB0  4B E1 DF 25 */	bl _restgpr_27
/* 803A9254 003A4EB4  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803A9258 003A4EB8  7C 08 03 A6 */	mtlr r0
/* 803A925C 003A4EBC  38 21 00 50 */	addi r1, r1, 0x50
/* 803A9260 003A4EC0  4E 80 00 20 */	blr 

.global func_803A9264
func_803A9264:
/* 803A9264 003A4EC4  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A9268 003A4EC8  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A926C 003A4ECC  48 00 93 04 */	b func_803B2570

.global func_803A9270
func_803A9270:
/* 803A9270 003A4ED0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A9274 003A4ED4  7C 08 02 A6 */	mflr r0
/* 803A9278 003A4ED8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A927C 003A4EDC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9280 003A4EE0  4B E1 DE B1 */	bl _savegpr_29
/* 803A9284 003A4EE4  7C 7D 1B 78 */	mr r29, r3
/* 803A9288 003A4EE8  7C 9E 23 78 */	mr r30, r4
/* 803A928C 003A4EEC  7C BF 2B 78 */	mr r31, r5
/* 803A9290 003A4EF0  38 60 00 05 */	li r3, 5
/* 803A9294 003A4EF4  38 80 00 10 */	li r4, 0x10
/* 803A9298 003A4EF8  4B DC 4C D9 */	bl func_8016DF70
/* 803A929C 003A4EFC  38 00 00 00 */	li r0, 0
/* 803A92A0 003A4F00  3C C0 80 3B */	lis r6, lbl_803AB1D0@ha
/* 803A92A4 003A4F04  98 03 00 0A */	stb r0, 0xa(r3)
/* 803A92A8 003A4F08  7C 64 1B 78 */	mr r4, r3
/* 803A92AC 003A4F0C  38 A0 00 00 */	li r5, 0
/* 803A92B0 003A4F10  93 A3 00 00 */	stw r29, 0(r3)
/* 803A92B4 003A4F14  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A92B8 003A4F18  98 03 00 08 */	stb r0, 8(r3)
/* 803A92BC 003A4F1C  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A92C0 003A4F20  98 03 00 09 */	stb r0, 9(r3)
/* 803A92C4 003A4F24  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803A92C8 003A4F28  B0 03 00 0C */	sth r0, 0xc(r3)
/* 803A92CC 003A4F2C  88 1F 00 01 */	lbz r0, 1(r31)
/* 803A92D0 003A4F30  98 03 00 0E */	stb r0, 0xe(r3)
/* 803A92D4 003A4F34  38 66 B1 D0 */	addi r3, r6, lbl_803AB1D0@l
/* 803A92D8 003A4F38  48 03 5C 29 */	bl func_803DEF00
/* 803A92DC 003A4F3C  39 61 00 20 */	addi r11, r1, 0x20
/* 803A92E0 003A4F40  4B E1 DE 9D */	bl _restgpr_29
/* 803A92E4 003A4F44  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A92E8 003A4F48  7C 08 03 A6 */	mtlr r0
/* 803A92EC 003A4F4C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A92F0 003A4F50  4E 80 00 20 */	blr 

.global func_803A92F4
func_803A92F4:
/* 803A92F4 003A4F54  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A92F8 003A4F58  7C 08 02 A6 */	mflr r0
/* 803A92FC 003A4F5C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A9300 003A4F60  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9304 003A4F64  4B E1 DE 2D */	bl _savegpr_29
/* 803A9308 003A4F68  7C 7D 1B 78 */	mr r29, r3
/* 803A930C 003A4F6C  7C 9E 23 78 */	mr r30, r4
/* 803A9310 003A4F70  7C BF 2B 78 */	mr r31, r5
/* 803A9314 003A4F74  38 60 00 05 */	li r3, 5
/* 803A9318 003A4F78  38 80 00 10 */	li r4, 0x10
/* 803A931C 003A4F7C  4B DC 4C 55 */	bl func_8016DF70
/* 803A9320 003A4F80  93 A3 00 00 */	stw r29, 0(r3)
/* 803A9324 003A4F84  3C C0 80 3B */	lis r6, lbl_803AB1D4@ha
/* 803A9328 003A4F88  7C 64 1B 78 */	mr r4, r3
/* 803A932C 003A4F8C  38 A0 00 00 */	li r5, 0
/* 803A9330 003A4F90  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A9334 003A4F94  98 03 00 08 */	stb r0, 8(r3)
/* 803A9338 003A4F98  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A933C 003A4F9C  98 03 00 09 */	stb r0, 9(r3)
/* 803A9340 003A4FA0  38 66 B1 D4 */	addi r3, r6, lbl_803AB1D4@l
/* 803A9344 003A4FA4  48 03 5B BD */	bl func_803DEF00
/* 803A9348 003A4FA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803A934C 003A4FAC  4B E1 DE 31 */	bl _restgpr_29
/* 803A9350 003A4FB0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A9354 003A4FB4  7C 08 03 A6 */	mtlr r0
/* 803A9358 003A4FB8  38 21 00 20 */	addi r1, r1, 0x20
/* 803A935C 003A4FBC  4E 80 00 20 */	blr 

.global func_803A9360
func_803A9360:
/* 803A9360 003A4FC0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A9364 003A4FC4  7C 08 02 A6 */	mflr r0
/* 803A9368 003A4FC8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A936C 003A4FCC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9370 003A4FD0  4B E1 DD C1 */	bl _savegpr_29
/* 803A9374 003A4FD4  7C 7D 1B 78 */	mr r29, r3
/* 803A9378 003A4FD8  7C 9E 23 78 */	mr r30, r4
/* 803A937C 003A4FDC  7C BF 2B 78 */	mr r31, r5
/* 803A9380 003A4FE0  38 60 00 05 */	li r3, 5
/* 803A9384 003A4FE4  38 80 00 10 */	li r4, 0x10
/* 803A9388 003A4FE8  4B DC 4B E9 */	bl func_8016DF70
/* 803A938C 003A4FEC  93 A3 00 00 */	stw r29, 0(r3)
/* 803A9390 003A4FF0  3C C0 80 3B */	lis r6, lbl_803AB228@ha
/* 803A9394 003A4FF4  7C 64 1B 78 */	mr r4, r3
/* 803A9398 003A4FF8  38 A0 00 00 */	li r5, 0
/* 803A939C 003A4FFC  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A93A0 003A5000  98 03 00 04 */	stb r0, 4(r3)
/* 803A93A4 003A5004  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A93A8 003A5008  98 03 00 05 */	stb r0, 5(r3)
/* 803A93AC 003A500C  38 66 B2 28 */	addi r3, r6, lbl_803AB228@l
/* 803A93B0 003A5010  48 03 5B 51 */	bl func_803DEF00
/* 803A93B4 003A5014  39 61 00 20 */	addi r11, r1, 0x20
/* 803A93B8 003A5018  4B E1 DD C5 */	bl _restgpr_29
/* 803A93BC 003A501C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A93C0 003A5020  7C 08 03 A6 */	mtlr r0
/* 803A93C4 003A5024  38 21 00 20 */	addi r1, r1, 0x20
/* 803A93C8 003A5028  4E 80 00 20 */	blr 

.global func_803A93CC
func_803A93CC:
/* 803A93CC 003A502C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A93D0 003A5030  7C 08 02 A6 */	mflr r0
/* 803A93D4 003A5034  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A93D8 003A5038  39 61 00 20 */	addi r11, r1, 0x20
/* 803A93DC 003A503C  4B E1 DD 55 */	bl _savegpr_29
/* 803A93E0 003A5040  7C 7D 1B 78 */	mr r29, r3
/* 803A93E4 003A5044  7C 9E 23 78 */	mr r30, r4
/* 803A93E8 003A5048  7C BF 2B 78 */	mr r31, r5
/* 803A93EC 003A504C  38 60 00 05 */	li r3, 5
/* 803A93F0 003A5050  38 80 00 10 */	li r4, 0x10
/* 803A93F4 003A5054  4B DC 4B 7D */	bl func_8016DF70
/* 803A93F8 003A5058  93 A3 00 00 */	stw r29, 0(r3)
/* 803A93FC 003A505C  3C C0 80 3B */	lis r6, lbl_803AB27C@ha
/* 803A9400 003A5060  7C 64 1B 78 */	mr r4, r3
/* 803A9404 003A5064  38 A0 00 00 */	li r5, 0
/* 803A9408 003A5068  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A940C 003A506C  98 03 00 04 */	stb r0, 4(r3)
/* 803A9410 003A5070  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A9414 003A5074  98 03 00 05 */	stb r0, 5(r3)
/* 803A9418 003A5078  38 66 B2 7C */	addi r3, r6, lbl_803AB27C@l
/* 803A941C 003A507C  48 03 5A E5 */	bl func_803DEF00
/* 803A9420 003A5080  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9424 003A5084  4B E1 DD 59 */	bl _restgpr_29
/* 803A9428 003A5088  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A942C 003A508C  7C 08 03 A6 */	mtlr r0
/* 803A9430 003A5090  38 21 00 20 */	addi r1, r1, 0x20
/* 803A9434 003A5094  4E 80 00 20 */	blr 

.global func_803A9438
func_803A9438:
/* 803A9438 003A5098  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A943C 003A509C  7C 08 02 A6 */	mflr r0
/* 803A9440 003A50A0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A9444 003A50A4  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9448 003A50A8  4B E1 DC E9 */	bl _savegpr_29
/* 803A944C 003A50AC  7C 7D 1B 78 */	mr r29, r3
/* 803A9450 003A50B0  7C 9E 23 78 */	mr r30, r4
/* 803A9454 003A50B4  7C BF 2B 78 */	mr r31, r5
/* 803A9458 003A50B8  38 60 00 05 */	li r3, 5
/* 803A945C 003A50BC  38 80 00 10 */	li r4, 0x10
/* 803A9460 003A50C0  4B DC 4B 11 */	bl func_8016DF70
/* 803A9464 003A50C4  93 A3 00 00 */	stw r29, 0(r3)
/* 803A9468 003A50C8  3C C0 80 3B */	lis r6, lbl_803AB228@ha
/* 803A946C 003A50CC  7C 64 1B 78 */	mr r4, r3
/* 803A9470 003A50D0  38 A0 00 00 */	li r5, 0
/* 803A9474 003A50D4  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A9478 003A50D8  98 03 00 04 */	stb r0, 4(r3)
/* 803A947C 003A50DC  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A9480 003A50E0  98 03 00 05 */	stb r0, 5(r3)
/* 803A9484 003A50E4  38 66 B2 28 */	addi r3, r6, lbl_803AB228@l
/* 803A9488 003A50E8  48 03 5A 79 */	bl func_803DEF00
/* 803A948C 003A50EC  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9490 003A50F0  4B E1 DC ED */	bl _restgpr_29
/* 803A9494 003A50F4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A9498 003A50F8  7C 08 03 A6 */	mtlr r0
/* 803A949C 003A50FC  38 21 00 20 */	addi r1, r1, 0x20
/* 803A94A0 003A5100  4E 80 00 20 */	blr 

.global func_803A94A4
func_803A94A4:
/* 803A94A4 003A5104  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A94A8 003A5108  7C 08 02 A6 */	mflr r0
/* 803A94AC 003A510C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A94B0 003A5110  39 61 00 20 */	addi r11, r1, 0x20
/* 803A94B4 003A5114  4B E1 DC 7D */	bl _savegpr_29
/* 803A94B8 003A5118  7C 7D 1B 78 */	mr r29, r3
/* 803A94BC 003A511C  7C 9E 23 78 */	mr r30, r4
/* 803A94C0 003A5120  7C BF 2B 78 */	mr r31, r5
/* 803A94C4 003A5124  38 60 00 05 */	li r3, 5
/* 803A94C8 003A5128  38 80 00 10 */	li r4, 0x10
/* 803A94CC 003A512C  4B DC 4A A5 */	bl func_8016DF70
/* 803A94D0 003A5130  93 A3 00 00 */	stw r29, 0(r3)
/* 803A94D4 003A5134  3C C0 80 3B */	lis r6, lbl_803AB27C@ha
/* 803A94D8 003A5138  7C 64 1B 78 */	mr r4, r3
/* 803A94DC 003A513C  38 A0 00 00 */	li r5, 0
/* 803A94E0 003A5140  88 1F 00 00 */	lbz r0, 0(r31)
/* 803A94E4 003A5144  98 03 00 04 */	stb r0, 4(r3)
/* 803A94E8 003A5148  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A94EC 003A514C  98 03 00 05 */	stb r0, 5(r3)
/* 803A94F0 003A5150  38 66 B2 7C */	addi r3, r6, lbl_803AB27C@l
/* 803A94F4 003A5154  48 03 5A 0D */	bl func_803DEF00
/* 803A94F8 003A5158  39 61 00 20 */	addi r11, r1, 0x20
/* 803A94FC 003A515C  4B E1 DC 81 */	bl _restgpr_29
/* 803A9500 003A5160  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A9504 003A5164  7C 08 03 A6 */	mtlr r0
/* 803A9508 003A5168  38 21 00 20 */	addi r1, r1, 0x20
/* 803A950C 003A516C  4E 80 00 20 */	blr 

.global func_803A9510
func_803A9510:
/* 803A9510 003A5170  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A9514 003A5174  38 A0 00 37 */	li r5, 0x37
/* 803A9518 003A5178  48 00 90 58 */	b func_803B2570

.global func_803A951C
func_803A951C:
/* 803A951C 003A517C  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A9520 003A5180  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A9524 003A5184  48 00 90 4C */	b func_803B2570

.global func_803A9528
func_803A9528:
/* 803A9528 003A5188  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A952C 003A518C  7C 08 02 A6 */	mflr r0
/* 803A9530 003A5190  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9534 003A5194  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9538 003A5198  7C 9F 23 78 */	mr r31, r4
/* 803A953C 003A519C  38 80 00 10 */	li r4, 0x10
/* 803A9540 003A51A0  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9544 003A51A4  7C 7E 1B 78 */	mr r30, r3
/* 803A9548 003A51A8  38 60 00 05 */	li r3, 5
/* 803A954C 003A51AC  4B DC 4A 25 */	bl func_8016DF70
/* 803A9550 003A51B0  93 C3 00 00 */	stw r30, 0(r3)
/* 803A9554 003A51B4  3C C0 80 3B */	lis r6, lbl_803AB2D0@ha
/* 803A9558 003A51B8  7C 64 1B 78 */	mr r4, r3
/* 803A955C 003A51BC  38 A0 00 00 */	li r5, 0
/* 803A9560 003A51C0  88 1F 00 84 */	lbz r0, 0x84(r31)
/* 803A9564 003A51C4  98 03 00 0C */	stb r0, 0xc(r3)
/* 803A9568 003A51C8  88 1F 01 84 */	lbz r0, 0x184(r31)
/* 803A956C 003A51CC  98 03 00 0D */	stb r0, 0xd(r3)
/* 803A9570 003A51D0  38 66 B2 D0 */	addi r3, r6, lbl_803AB2D0@l
/* 803A9574 003A51D4  48 03 59 8D */	bl func_803DEF00
/* 803A9578 003A51D8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A957C 003A51DC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9580 003A51E0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9584 003A51E4  7C 08 03 A6 */	mtlr r0
/* 803A9588 003A51E8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A958C 003A51EC  4E 80 00 20 */	blr 

.global func_803A9590
func_803A9590:
/* 803A9590 003A51F0  3C A0 80 3B */	lis r5, lbl_803AB324@ha
/* 803A9594 003A51F4  7C 64 1B 78 */	mr r4, r3
/* 803A9598 003A51F8  38 65 B3 24 */	addi r3, r5, lbl_803AB324@l
/* 803A959C 003A51FC  38 A0 00 00 */	li r5, 0
/* 803A95A0 003A5200  48 03 59 60 */	b func_803DEF00

.global func_803A95A4
func_803A95A4:
/* 803A95A4 003A5204  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803A95A8 003A5208  7C 08 02 A6 */	mflr r0
/* 803A95AC 003A520C  90 01 00 54 */	stw r0, 0x54(r1)
/* 803A95B0 003A5210  39 61 00 50 */	addi r11, r1, 0x50
/* 803A95B4 003A5214  4B E1 DB 75 */	bl _savegpr_27
/* 803A95B8 003A5218  7C 7D 1B 78 */	mr r29, r3
/* 803A95BC 003A521C  7C 9E 23 78 */	mr r30, r4
/* 803A95C0 003A5220  48 00 32 81 */	bl func_803AC840
/* 803A95C4 003A5224  7C 7C 1B 78 */	mr r28, r3
/* 803A95C8 003A5228  7F A3 EB 78 */	mr r3, r29
/* 803A95CC 003A522C  48 00 47 0D */	bl func_803ADCD8
/* 803A95D0 003A5230  57 80 07 BD */	rlwinm. r0, r28, 0, 0x1e, 0x1e
/* 803A95D4 003A5234  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803A95D8 003A5238  41 82 00 24 */	beq lbl_803A95FC
/* 803A95DC 003A523C  7F A3 EB 78 */	mr r3, r29
/* 803A95E0 003A5240  38 80 00 03 */	li r4, 3
/* 803A95E4 003A5244  48 00 36 81 */	bl func_803ACC64
/* 803A95E8 003A5248  7C 7F 1B 78 */	mr r31, r3
/* 803A95EC 003A524C  7F A3 EB 78 */	mr r3, r29
/* 803A95F0 003A5250  38 80 00 05 */	li r4, 5
/* 803A95F4 003A5254  48 00 36 71 */	bl func_803ACC64
/* 803A95F8 003A5258  48 00 00 14 */	b lbl_803A960C
lbl_803A95FC:
/* 803A95FC 003A525C  7F A3 EB 78 */	mr r3, r29
/* 803A9600 003A5260  38 80 00 01 */	li r4, 1
/* 803A9604 003A5264  48 00 36 61 */	bl func_803ACC64
/* 803A9608 003A5268  7C 7F 1B 78 */	mr r31, r3
lbl_803A960C:
/* 803A960C 003A526C  2C 1B 00 02 */	cmpwi r27, 2
/* 803A9610 003A5270  41 82 00 5C */	beq lbl_803A966C
/* 803A9614 003A5274  40 80 00 10 */	bge lbl_803A9624
/* 803A9618 003A5278  2C 1B 00 01 */	cmpwi r27, 1
/* 803A961C 003A527C  40 80 00 14 */	bge lbl_803A9630
/* 803A9620 003A5280  48 00 00 C0 */	b lbl_803A96E0
lbl_803A9624:
/* 803A9624 003A5284  2C 1B 00 04 */	cmpwi r27, 4
/* 803A9628 003A5288  40 80 00 B8 */	bge lbl_803A96E0
/* 803A962C 003A528C  48 00 00 7C */	b lbl_803A96A8
lbl_803A9630:
/* 803A9630 003A5290  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803A9634 003A5294  41 82 00 20 */	beq lbl_803A9654
/* 803A9638 003A5298  38 80 03 12 */	li r4, 0x312
/* 803A963C 003A529C  38 00 00 1A */	li r0, 0x1a
/* 803A9640 003A52A0  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A9644 003A52A4  98 01 00 09 */	stb r0, 9(r1)
/* 803A9648 003A52A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A964C 003A52AC  90 61 00 10 */	stw r3, 0x10(r1)
/* 803A9650 003A52B0  48 00 00 90 */	b lbl_803A96E0
lbl_803A9654:
/* 803A9654 003A52B4  38 60 03 11 */	li r3, 0x311
/* 803A9658 003A52B8  38 00 00 08 */	li r0, 8
/* 803A965C 003A52BC  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A9660 003A52C0  98 01 00 09 */	stb r0, 9(r1)
/* 803A9664 003A52C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9668 003A52C8  48 00 00 78 */	b lbl_803A96E0
lbl_803A966C:
/* 803A966C 003A52CC  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803A9670 003A52D0  41 82 00 20 */	beq lbl_803A9690
/* 803A9674 003A52D4  38 80 03 14 */	li r4, 0x314
/* 803A9678 003A52D8  38 00 00 1A */	li r0, 0x1a
/* 803A967C 003A52DC  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A9680 003A52E0  98 01 00 09 */	stb r0, 9(r1)
/* 803A9684 003A52E4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9688 003A52E8  90 61 00 10 */	stw r3, 0x10(r1)
/* 803A968C 003A52EC  48 00 00 54 */	b lbl_803A96E0
lbl_803A9690:
/* 803A9690 003A52F0  38 60 03 13 */	li r3, 0x313
/* 803A9694 003A52F4  38 00 00 08 */	li r0, 8
/* 803A9698 003A52F8  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A969C 003A52FC  98 01 00 09 */	stb r0, 9(r1)
/* 803A96A0 003A5300  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A96A4 003A5304  48 00 00 3C */	b lbl_803A96E0
lbl_803A96A8:
/* 803A96A8 003A5308  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803A96AC 003A530C  41 82 00 20 */	beq lbl_803A96CC
/* 803A96B0 003A5310  38 80 03 16 */	li r4, 0x316
/* 803A96B4 003A5314  38 00 00 1A */	li r0, 0x1a
/* 803A96B8 003A5318  B0 81 00 0A */	sth r4, 0xa(r1)
/* 803A96BC 003A531C  98 01 00 09 */	stb r0, 9(r1)
/* 803A96C0 003A5320  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A96C4 003A5324  90 61 00 10 */	stw r3, 0x10(r1)
/* 803A96C8 003A5328  48 00 00 18 */	b lbl_803A96E0
lbl_803A96CC:
/* 803A96CC 003A532C  38 60 03 15 */	li r3, 0x315
/* 803A96D0 003A5330  38 00 00 08 */	li r0, 8
/* 803A96D4 003A5334  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803A96D8 003A5338  98 01 00 09 */	stb r0, 9(r1)
/* 803A96DC 003A533C  93 E1 00 0C */	stw r31, 0xc(r1)
lbl_803A96E0:
/* 803A96E0 003A5340  7F A3 EB 78 */	mr r3, r29
/* 803A96E4 003A5344  48 00 33 7D */	bl func_803ACA60
/* 803A96E8 003A5348  7C 7C 1B 78 */	mr r28, r3
/* 803A96EC 003A534C  38 60 00 05 */	li r3, 5
/* 803A96F0 003A5350  38 80 00 08 */	li r4, 8
/* 803A96F4 003A5354  4B DC 48 7D */	bl func_8016DF70
/* 803A96F8 003A5358  93 A3 00 00 */	stw r29, 0(r3)
/* 803A96FC 003A535C  38 00 00 3B */	li r0, 0x3b
/* 803A9700 003A5360  7C 7B 1B 78 */	mr r27, r3
/* 803A9704 003A5364  98 03 00 04 */	stb r0, 4(r3)
/* 803A9708 003A5368  88 1E 01 84 */	lbz r0, 0x184(r30)
/* 803A970C 003A536C  98 03 00 05 */	stb r0, 5(r3)
/* 803A9710 003A5370  7F A3 EB 78 */	mr r3, r29
/* 803A9714 003A5374  48 00 44 A9 */	bl func_803ADBBC
/* 803A9718 003A5378  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A971C 003A537C  7F A3 EB 78 */	mr r3, r29
/* 803A9720 003A5380  7F 84 E3 78 */	mr r4, r28
/* 803A9724 003A5384  38 A1 00 08 */	addi r5, r1, 8
/* 803A9728 003A5388  48 00 47 45 */	bl func_803ADE6C
/* 803A972C 003A538C  98 7B 00 06 */	stb r3, 6(r27)
/* 803A9730 003A5390  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A9734 003A5394  7F 64 DB 78 */	mr r4, r27
/* 803A9738 003A5398  38 A0 00 00 */	li r5, 0
/* 803A973C 003A539C  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A9740 003A53A0  48 03 57 C1 */	bl func_803DEF00
/* 803A9744 003A53A4  39 61 00 50 */	addi r11, r1, 0x50
/* 803A9748 003A53A8  4B E1 DA 2D */	bl _restgpr_27
/* 803A974C 003A53AC  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803A9750 003A53B0  7C 08 03 A6 */	mtlr r0
/* 803A9754 003A53B4  38 21 00 50 */	addi r1, r1, 0x50
/* 803A9758 003A53B8  4E 80 00 20 */	blr 

.global func_803A975C
func_803A975C:
/* 803A975C 003A53BC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A9760 003A53C0  7C 08 02 A6 */	mflr r0
/* 803A9764 003A53C4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A9768 003A53C8  39 61 00 20 */	addi r11, r1, 0x20
/* 803A976C 003A53CC  4B E1 D9 B9 */	bl _savegpr_26
/* 803A9770 003A53D0  7C 7A 1B 78 */	mr r26, r3
/* 803A9774 003A53D4  7C 9B 23 78 */	mr r27, r4
/* 803A9778 003A53D8  7C BC 2B 78 */	mr r28, r5
/* 803A977C 003A53DC  3B C0 00 00 */	li r30, 0
/* 803A9780 003A53E0  3B E0 00 00 */	li r31, 0
/* 803A9784 003A53E4  3B A0 00 00 */	li r29, 0
/* 803A9788 003A53E8  48 00 00 40 */	b lbl_803A97C8
lbl_803A978C:
/* 803A978C 003A53EC  7F A3 EB 78 */	mr r3, r29
/* 803A9790 003A53F0  48 03 41 91 */	bl func_803DD920
/* 803A9794 003A53F4  88 1C 00 01 */	lbz r0, 1(r28)
/* 803A9798 003A53F8  7C 00 18 39 */	and. r0, r0, r3
/* 803A979C 003A53FC  41 82 00 28 */	beq lbl_803A97C4
/* 803A97A0 003A5400  7F 43 D3 78 */	mr r3, r26
/* 803A97A4 003A5404  7F A4 EB 78 */	mr r4, r29
/* 803A97A8 003A5408  48 00 35 3D */	bl func_803ACCE4
/* 803A97AC 003A540C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803A97B0 003A5410  41 82 00 08 */	beq lbl_803A97B8
/* 803A97B4 003A5414  3B FF 00 01 */	addi r31, r31, 1
lbl_803A97B8:
/* 803A97B8 003A5418  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803A97BC 003A541C  40 82 00 08 */	bne lbl_803A97C4
/* 803A97C0 003A5420  3B DE 00 01 */	addi r30, r30, 1
lbl_803A97C4:
/* 803A97C4 003A5424  3B BD 00 01 */	addi r29, r29, 1
lbl_803A97C8:
/* 803A97C8 003A5428  7F 43 D3 78 */	mr r3, r26
/* 803A97CC 003A542C  48 00 30 95 */	bl func_803AC860
/* 803A97D0 003A5430  7C 1D 18 00 */	cmpw r29, r3
/* 803A97D4 003A5434  41 80 FF B8 */	blt lbl_803A978C
/* 803A97D8 003A5438  2C 1E 00 00 */	cmpwi r30, 0
/* 803A97DC 003A543C  41 82 00 1C */	beq lbl_803A97F8
/* 803A97E0 003A5440  2C 1F 00 00 */	cmpwi r31, 0
/* 803A97E4 003A5444  41 82 00 14 */	beq lbl_803A97F8
/* 803A97E8 003A5448  7F 43 D3 78 */	mr r3, r26
/* 803A97EC 003A544C  38 80 00 C3 */	li r4, 0xc3
/* 803A97F0 003A5450  48 00 44 F1 */	bl func_803ADCE0
/* 803A97F4 003A5454  48 00 00 80 */	b lbl_803A9874
lbl_803A97F8:
/* 803A97F8 003A5458  2C 1E 00 00 */	cmpwi r30, 0
/* 803A97FC 003A545C  41 82 00 14 */	beq lbl_803A9810
/* 803A9800 003A5460  7F 43 D3 78 */	mr r3, r26
/* 803A9804 003A5464  38 80 00 C2 */	li r4, 0xc2
/* 803A9808 003A5468  48 00 44 D9 */	bl func_803ADCE0
/* 803A980C 003A546C  48 00 00 68 */	b lbl_803A9874
lbl_803A9810:
/* 803A9810 003A5470  7F 43 D3 78 */	mr r3, r26
/* 803A9814 003A5474  48 00 30 2D */	bl func_803AC840
/* 803A9818 003A5478  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803A981C 003A547C  41 82 00 20 */	beq lbl_803A983C
/* 803A9820 003A5480  7F 43 D3 78 */	mr r3, r26
/* 803A9824 003A5484  38 80 00 03 */	li r4, 3
/* 803A9828 003A5488  48 00 34 3D */	bl func_803ACC64
/* 803A982C 003A548C  7F 43 D3 78 */	mr r3, r26
/* 803A9830 003A5490  38 80 00 05 */	li r4, 5
/* 803A9834 003A5494  48 00 34 31 */	bl func_803ACC64
/* 803A9838 003A5498  48 00 00 30 */	b lbl_803A9868
lbl_803A983C:
/* 803A983C 003A549C  7F 43 D3 78 */	mr r3, r26
/* 803A9840 003A54A0  48 00 30 01 */	bl func_803AC840
/* 803A9844 003A54A4  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803A9848 003A54A8  41 82 00 14 */	beq lbl_803A985C
/* 803A984C 003A54AC  7F 43 D3 78 */	mr r3, r26
/* 803A9850 003A54B0  38 80 00 03 */	li r4, 3
/* 803A9854 003A54B4  48 00 34 11 */	bl func_803ACC64
/* 803A9858 003A54B8  48 00 00 10 */	b lbl_803A9868
lbl_803A985C:
/* 803A985C 003A54BC  7F 43 D3 78 */	mr r3, r26
/* 803A9860 003A54C0  38 80 00 01 */	li r4, 1
/* 803A9864 003A54C4  48 00 34 01 */	bl func_803ACC64
lbl_803A9868:
/* 803A9868 003A54C8  7F 43 D3 78 */	mr r3, r26
/* 803A986C 003A54CC  38 80 00 C1 */	li r4, 0xc1
/* 803A9870 003A54D0  48 00 44 71 */	bl func_803ADCE0
lbl_803A9874:
/* 803A9874 003A54D4  88 9B 01 84 */	lbz r4, 0x184(r27)
/* 803A9878 003A54D8  7F 43 D3 78 */	mr r3, r26
/* 803A987C 003A54DC  38 A0 00 3C */	li r5, 0x3c
/* 803A9880 003A54E0  48 00 8C F1 */	bl func_803B2570
/* 803A9884 003A54E4  39 61 00 20 */	addi r11, r1, 0x20
/* 803A9888 003A54E8  4B E1 D8 E9 */	bl _restgpr_26
/* 803A988C 003A54EC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A9890 003A54F0  7C 08 03 A6 */	mtlr r0
/* 803A9894 003A54F4  38 21 00 20 */	addi r1, r1, 0x20
/* 803A9898 003A54F8  4E 80 00 20 */	blr 

.global func_803A989C
func_803A989C:
/* 803A989C 003A54FC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803A98A0 003A5500  7C 08 02 A6 */	mflr r0
/* 803A98A4 003A5504  90 01 00 44 */	stw r0, 0x44(r1)
/* 803A98A8 003A5508  39 61 00 40 */	addi r11, r1, 0x40
/* 803A98AC 003A550C  4B E1 D8 81 */	bl _savegpr_28
/* 803A98B0 003A5510  38 A0 03 BC */	li r5, 0x3bc
/* 803A98B4 003A5514  38 00 00 08 */	li r0, 8
/* 803A98B8 003A5518  B0 A1 00 0A */	sth r5, 0xa(r1)
/* 803A98BC 003A551C  7C 7C 1B 78 */	mr r28, r3
/* 803A98C0 003A5520  7C 9D 23 78 */	mr r29, r4
/* 803A98C4 003A5524  98 01 00 09 */	stb r0, 9(r1)
/* 803A98C8 003A5528  48 00 2F 79 */	bl func_803AC840
/* 803A98CC 003A552C  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803A98D0 003A5530  41 82 00 40 */	beq lbl_803A9910
/* 803A98D4 003A5534  48 02 FF 75 */	bl func_803D9848
/* 803A98D8 003A5538  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803A98DC 003A553C  48 02 FF 61 */	bl func_803D983C
/* 803A98E0 003A5540  2C 03 00 00 */	cmpwi r3, 0
/* 803A98E4 003A5544  41 82 00 18 */	beq lbl_803A98FC
/* 803A98E8 003A5548  7F 83 E3 78 */	mr r3, r28
/* 803A98EC 003A554C  38 80 00 04 */	li r4, 4
/* 803A98F0 003A5550  48 00 33 75 */	bl func_803ACC64
/* 803A98F4 003A5554  90 61 00 0C */	stw r3, 0xc(r1)
/* 803A98F8 003A5558  48 00 00 20 */	b lbl_803A9918
lbl_803A98FC:
/* 803A98FC 003A555C  7F 83 E3 78 */	mr r3, r28
/* 803A9900 003A5560  38 80 00 02 */	li r4, 2
/* 803A9904 003A5564  48 00 33 61 */	bl func_803ACC64
/* 803A9908 003A5568  90 61 00 0C */	stw r3, 0xc(r1)
/* 803A990C 003A556C  48 00 00 0C */	b lbl_803A9918
lbl_803A9910:
/* 803A9910 003A5570  88 1D 01 84 */	lbz r0, 0x184(r29)
/* 803A9914 003A5574  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803A9918:
/* 803A9918 003A5578  7F 83 E3 78 */	mr r3, r28
/* 803A991C 003A557C  38 80 00 C2 */	li r4, 0xc2
/* 803A9920 003A5580  48 00 43 C1 */	bl func_803ADCE0
/* 803A9924 003A5584  7F 83 E3 78 */	mr r3, r28
/* 803A9928 003A5588  48 00 31 39 */	bl func_803ACA60
/* 803A992C 003A558C  7C 7E 1B 78 */	mr r30, r3
/* 803A9930 003A5590  38 60 00 05 */	li r3, 5
/* 803A9934 003A5594  38 80 00 08 */	li r4, 8
/* 803A9938 003A5598  4B DC 46 39 */	bl func_8016DF70
/* 803A993C 003A559C  93 83 00 00 */	stw r28, 0(r3)
/* 803A9940 003A55A0  38 00 00 3D */	li r0, 0x3d
/* 803A9944 003A55A4  7C 7F 1B 78 */	mr r31, r3
/* 803A9948 003A55A8  98 03 00 04 */	stb r0, 4(r3)
/* 803A994C 003A55AC  88 1D 01 84 */	lbz r0, 0x184(r29)
/* 803A9950 003A55B0  98 03 00 05 */	stb r0, 5(r3)
/* 803A9954 003A55B4  7F 83 E3 78 */	mr r3, r28
/* 803A9958 003A55B8  48 00 42 65 */	bl func_803ADBBC
/* 803A995C 003A55BC  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803A9960 003A55C0  7F 83 E3 78 */	mr r3, r28
/* 803A9964 003A55C4  7F C4 F3 78 */	mr r4, r30
/* 803A9968 003A55C8  38 A1 00 08 */	addi r5, r1, 8
/* 803A996C 003A55CC  48 00 45 01 */	bl func_803ADE6C
/* 803A9970 003A55D0  98 7F 00 06 */	stb r3, 6(r31)
/* 803A9974 003A55D4  3C 60 80 3B */	lis r3, lbl_803AB0C0@ha
/* 803A9978 003A55D8  7F E4 FB 78 */	mr r4, r31
/* 803A997C 003A55DC  38 A0 00 00 */	li r5, 0
/* 803A9980 003A55E0  38 63 B0 C0 */	addi r3, r3, lbl_803AB0C0@l
/* 803A9984 003A55E4  48 03 55 7D */	bl func_803DEF00
/* 803A9988 003A55E8  39 61 00 40 */	addi r11, r1, 0x40
/* 803A998C 003A55EC  4B E1 D7 ED */	bl _restgpr_28
/* 803A9990 003A55F0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803A9994 003A55F4  7C 08 03 A6 */	mtlr r0
/* 803A9998 003A55F8  38 21 00 40 */	addi r1, r1, 0x40
/* 803A999C 003A55FC  4E 80 00 20 */	blr 

.global func_803A99A0
func_803A99A0:
/* 803A99A0 003A5600  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A99A4 003A5604  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A99A8 003A5608  48 00 8B C8 */	b func_803B2570

.global func_803A99AC
func_803A99AC:
/* 803A99AC 003A560C  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A99B0 003A5610  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A99B4 003A5614  48 00 8B BC */	b func_803B2570

.global func_803A99B8
func_803A99B8:
/* 803A99B8 003A5618  88 84 01 84 */	lbz r4, 0x184(r4)
/* 803A99BC 003A561C  88 A5 00 00 */	lbz r5, 0(r5)
/* 803A99C0 003A5620  48 00 8B B0 */	b func_803B2570
lbl_803A99C4:
/* 803A99C4 003A5624  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A99C8 003A5628  7C 08 02 A6 */	mflr r0
/* 803A99CC 003A562C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A99D0 003A5630  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A99D4 003A5634  7C 9F 23 78 */	mr r31, r4
/* 803A99D8 003A5638  93 C1 00 08 */	stw r30, 8(r1)
/* 803A99DC 003A563C  7C 7E 1B 78 */	mr r30, r3
/* 803A99E0 003A5640  80 64 00 00 */	lwz r3, 0(r4)
/* 803A99E4 003A5644  88 84 00 11 */	lbz r4, 0x11(r4)
/* 803A99E8 003A5648  88 BF 00 10 */	lbz r5, 0x10(r31)
/* 803A99EC 003A564C  48 00 8B 85 */	bl func_803B2570
/* 803A99F0 003A5650  7F E3 FB 78 */	mr r3, r31
/* 803A99F4 003A5654  4B DC 46 AD */	bl func_8016E0A0
/* 803A99F8 003A5658  7F C3 F3 78 */	mr r3, r30
/* 803A99FC 003A565C  48 03 55 41 */	bl func_803DEF3C
/* 803A9A00 003A5660  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9A04 003A5664  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9A08 003A5668  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9A0C 003A566C  7C 08 03 A6 */	mtlr r0
/* 803A9A10 003A5670  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9A14 003A5674  4E 80 00 20 */	blr 
lbl_803A9A18:
/* 803A9A18 003A5678  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9A1C 003A567C  7C 08 02 A6 */	mflr r0
/* 803A9A20 003A5680  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9A24 003A5684  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9A28 003A5688  7C 9F 23 78 */	mr r31, r4
/* 803A9A2C 003A568C  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9A30 003A5690  7C 7E 1B 78 */	mr r30, r3
/* 803A9A34 003A5694  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9A38 003A5698  88 84 00 89 */	lbz r4, 0x89(r4)
/* 803A9A3C 003A569C  88 BF 00 88 */	lbz r5, 0x88(r31)
/* 803A9A40 003A56A0  48 00 8B 31 */	bl func_803B2570
/* 803A9A44 003A56A4  7F E3 FB 78 */	mr r3, r31
/* 803A9A48 003A56A8  4B DC 46 59 */	bl func_8016E0A0
/* 803A9A4C 003A56AC  7F C3 F3 78 */	mr r3, r30
/* 803A9A50 003A56B0  48 03 54 ED */	bl func_803DEF3C
/* 803A9A54 003A56B4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9A58 003A56B8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9A5C 003A56BC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9A60 003A56C0  7C 08 03 A6 */	mtlr r0
/* 803A9A64 003A56C4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9A68 003A56C8  4E 80 00 20 */	blr 
lbl_803A9A6C:
/* 803A9A6C 003A56CC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9A70 003A56D0  7C 08 02 A6 */	mflr r0
/* 803A9A74 003A56D4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9A78 003A56D8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9A7C 003A56DC  7C 9F 23 78 */	mr r31, r4
/* 803A9A80 003A56E0  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9A84 003A56E4  7C 7E 1B 78 */	mr r30, r3
/* 803A9A88 003A56E8  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9A8C 003A56EC  88 84 00 89 */	lbz r4, 0x89(r4)
/* 803A9A90 003A56F0  88 BF 00 88 */	lbz r5, 0x88(r31)
/* 803A9A94 003A56F4  48 00 8A DD */	bl func_803B2570
/* 803A9A98 003A56F8  7F E3 FB 78 */	mr r3, r31
/* 803A9A9C 003A56FC  4B DC 46 05 */	bl func_8016E0A0
/* 803A9AA0 003A5700  7F C3 F3 78 */	mr r3, r30
/* 803A9AA4 003A5704  48 03 54 99 */	bl func_803DEF3C
/* 803A9AA8 003A5708  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9AAC 003A570C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9AB0 003A5710  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9AB4 003A5714  7C 08 03 A6 */	mtlr r0
/* 803A9AB8 003A5718  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9ABC 003A571C  4E 80 00 20 */	blr 
lbl_803A9AC0:
/* 803A9AC0 003A5720  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9AC4 003A5724  7C 08 02 A6 */	mflr r0
/* 803A9AC8 003A5728  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9ACC 003A572C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9AD0 003A5730  7C 9F 23 78 */	mr r31, r4
/* 803A9AD4 003A5734  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9AD8 003A5738  7C 7E 1B 78 */	mr r30, r3
/* 803A9ADC 003A573C  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9AE0 003A5740  88 84 00 69 */	lbz r4, 0x69(r4)
/* 803A9AE4 003A5744  88 BF 00 68 */	lbz r5, 0x68(r31)
/* 803A9AE8 003A5748  48 00 8A 89 */	bl func_803B2570
/* 803A9AEC 003A574C  7F E3 FB 78 */	mr r3, r31
/* 803A9AF0 003A5750  4B DC 45 B1 */	bl func_8016E0A0
/* 803A9AF4 003A5754  7F C3 F3 78 */	mr r3, r30
/* 803A9AF8 003A5758  48 03 54 45 */	bl func_803DEF3C
/* 803A9AFC 003A575C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9B00 003A5760  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9B04 003A5764  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9B08 003A5768  7C 08 03 A6 */	mtlr r0
/* 803A9B0C 003A576C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9B10 003A5770  4E 80 00 20 */	blr 
lbl_803A9B14:
/* 803A9B14 003A5774  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9B18 003A5778  7C 08 02 A6 */	mflr r0
/* 803A9B1C 003A577C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9B20 003A5780  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9B24 003A5784  7C 9F 23 78 */	mr r31, r4
/* 803A9B28 003A5788  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9B2C 003A578C  7C 7E 1B 78 */	mr r30, r3
/* 803A9B30 003A5790  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9B34 003A5794  88 84 00 09 */	lbz r4, 9(r4)
/* 803A9B38 003A5798  88 BF 00 08 */	lbz r5, 8(r31)
/* 803A9B3C 003A579C  48 00 8A 35 */	bl func_803B2570
/* 803A9B40 003A57A0  7F E3 FB 78 */	mr r3, r31
/* 803A9B44 003A57A4  4B DC 45 5D */	bl func_8016E0A0
/* 803A9B48 003A57A8  7F C3 F3 78 */	mr r3, r30
/* 803A9B4C 003A57AC  48 03 53 F1 */	bl func_803DEF3C
/* 803A9B50 003A57B0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9B54 003A57B4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9B58 003A57B8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9B5C 003A57BC  7C 08 03 A6 */	mtlr r0
/* 803A9B60 003A57C0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9B64 003A57C4  4E 80 00 20 */	blr 
lbl_803A9B68:
/* 803A9B68 003A57C8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9B6C 003A57CC  7C 08 02 A6 */	mflr r0
/* 803A9B70 003A57D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9B74 003A57D4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9B78 003A57D8  7C 9F 23 78 */	mr r31, r4
/* 803A9B7C 003A57DC  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9B80 003A57E0  7C 7E 1B 78 */	mr r30, r3
/* 803A9B84 003A57E4  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9B88 003A57E8  88 84 00 11 */	lbz r4, 0x11(r4)
/* 803A9B8C 003A57EC  88 BF 00 10 */	lbz r5, 0x10(r31)
/* 803A9B90 003A57F0  48 00 89 E1 */	bl func_803B2570
/* 803A9B94 003A57F4  7F E3 FB 78 */	mr r3, r31
/* 803A9B98 003A57F8  4B DC 45 09 */	bl func_8016E0A0
/* 803A9B9C 003A57FC  7F C3 F3 78 */	mr r3, r30
/* 803A9BA0 003A5800  48 03 53 9D */	bl func_803DEF3C
/* 803A9BA4 003A5804  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9BA8 003A5808  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9BAC 003A580C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9BB0 003A5810  7C 08 03 A6 */	mtlr r0
/* 803A9BB4 003A5814  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9BB8 003A5818  4E 80 00 20 */	blr 
lbl_803A9BBC:
/* 803A9BBC 003A581C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9BC0 003A5820  7C 08 02 A6 */	mflr r0
/* 803A9BC4 003A5824  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9BC8 003A5828  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9BCC 003A582C  7C 9F 23 78 */	mr r31, r4
/* 803A9BD0 003A5830  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9BD4 003A5834  7C 7E 1B 78 */	mr r30, r3
/* 803A9BD8 003A5838  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9BDC 003A583C  88 84 00 09 */	lbz r4, 9(r4)
/* 803A9BE0 003A5840  88 BF 00 08 */	lbz r5, 8(r31)
/* 803A9BE4 003A5844  48 00 89 8D */	bl func_803B2570
/* 803A9BE8 003A5848  7F E3 FB 78 */	mr r3, r31
/* 803A9BEC 003A584C  4B DC 44 B5 */	bl func_8016E0A0
/* 803A9BF0 003A5850  7F C3 F3 78 */	mr r3, r30
/* 803A9BF4 003A5854  48 03 53 49 */	bl func_803DEF3C
/* 803A9BF8 003A5858  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9BFC 003A585C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9C00 003A5860  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9C04 003A5864  7C 08 03 A6 */	mtlr r0
/* 803A9C08 003A5868  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9C0C 003A586C  4E 80 00 20 */	blr 
lbl_803A9C10:
/* 803A9C10 003A5870  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9C14 003A5874  7C 08 02 A6 */	mflr r0
/* 803A9C18 003A5878  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9C1C 003A587C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9C20 003A5880  7C 9F 23 78 */	mr r31, r4
/* 803A9C24 003A5884  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9C28 003A5888  7C 7E 1B 78 */	mr r30, r3
/* 803A9C2C 003A588C  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9C30 003A5890  88 84 00 09 */	lbz r4, 9(r4)
/* 803A9C34 003A5894  88 BF 00 08 */	lbz r5, 8(r31)
/* 803A9C38 003A5898  48 00 89 39 */	bl func_803B2570
/* 803A9C3C 003A589C  7F E3 FB 78 */	mr r3, r31
/* 803A9C40 003A58A0  4B DC 44 61 */	bl func_8016E0A0
/* 803A9C44 003A58A4  7F C3 F3 78 */	mr r3, r30
/* 803A9C48 003A58A8  48 03 52 F5 */	bl func_803DEF3C
/* 803A9C4C 003A58AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9C50 003A58B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9C54 003A58B4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9C58 003A58B8  7C 08 03 A6 */	mtlr r0
/* 803A9C5C 003A58BC  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9C60 003A58C0  4E 80 00 20 */	blr 
lbl_803A9C64:
/* 803A9C64 003A58C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9C68 003A58C8  7C 08 02 A6 */	mflr r0
/* 803A9C6C 003A58CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9C70 003A58D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9C74 003A58D4  7C 9F 23 78 */	mr r31, r4
/* 803A9C78 003A58D8  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9C7C 003A58DC  7C 7E 1B 78 */	mr r30, r3
/* 803A9C80 003A58E0  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9C84 003A58E4  88 84 00 09 */	lbz r4, 9(r4)
/* 803A9C88 003A58E8  88 BF 00 08 */	lbz r5, 8(r31)
/* 803A9C8C 003A58EC  48 00 88 E5 */	bl func_803B2570
/* 803A9C90 003A58F0  7F E3 FB 78 */	mr r3, r31
/* 803A9C94 003A58F4  4B DC 44 0D */	bl func_8016E0A0
/* 803A9C98 003A58F8  7F C3 F3 78 */	mr r3, r30
/* 803A9C9C 003A58FC  48 03 52 A1 */	bl func_803DEF3C
/* 803A9CA0 003A5900  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9CA4 003A5904  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9CA8 003A5908  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9CAC 003A590C  7C 08 03 A6 */	mtlr r0
/* 803A9CB0 003A5910  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9CB4 003A5914  4E 80 00 20 */	blr 
lbl_803A9CB8:
/* 803A9CB8 003A5918  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9CBC 003A591C  7C 08 02 A6 */	mflr r0
/* 803A9CC0 003A5920  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9CC4 003A5924  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9CC8 003A5928  7C 9F 23 78 */	mr r31, r4
/* 803A9CCC 003A592C  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9CD0 003A5930  7C 7E 1B 78 */	mr r30, r3
/* 803A9CD4 003A5934  80 64 00 0C */	lwz r3, 0xc(r4)
/* 803A9CD8 003A5938  88 84 00 18 */	lbz r4, 0x18(r4)
/* 803A9CDC 003A593C  88 BF 00 40 */	lbz r5, 0x40(r31)
/* 803A9CE0 003A5940  48 00 88 91 */	bl func_803B2570
/* 803A9CE4 003A5944  38 00 00 00 */	li r0, 0
/* 803A9CE8 003A5948  7F C3 F3 78 */	mr r3, r30
/* 803A9CEC 003A594C  90 1F 00 10 */	stw r0, 0x10(r31)
/* 803A9CF0 003A5950  48 03 52 4D */	bl func_803DEF3C
/* 803A9CF4 003A5954  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9CF8 003A5958  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9CFC 003A595C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9D00 003A5960  7C 08 03 A6 */	mtlr r0
/* 803A9D04 003A5964  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9D08 003A5968  4E 80 00 20 */	blr 
lbl_803A9D0C:
/* 803A9D0C 003A596C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9D10 003A5970  7C 08 02 A6 */	mflr r0
/* 803A9D14 003A5974  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9D18 003A5978  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9D1C 003A597C  7C 9F 23 78 */	mr r31, r4
/* 803A9D20 003A5980  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9D24 003A5984  7C 7E 1B 78 */	mr r30, r3
/* 803A9D28 003A5988  80 64 00 0C */	lwz r3, 0xc(r4)
/* 803A9D2C 003A598C  88 84 00 18 */	lbz r4, 0x18(r4)
/* 803A9D30 003A5990  88 BF 00 40 */	lbz r5, 0x40(r31)
/* 803A9D34 003A5994  48 00 88 3D */	bl func_803B2570
/* 803A9D38 003A5998  38 00 00 00 */	li r0, 0
/* 803A9D3C 003A599C  7F C3 F3 78 */	mr r3, r30
/* 803A9D40 003A59A0  90 1F 00 10 */	stw r0, 0x10(r31)
/* 803A9D44 003A59A4  48 03 51 F9 */	bl func_803DEF3C
/* 803A9D48 003A59A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9D4C 003A59AC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9D50 003A59B0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9D54 003A59B4  7C 08 03 A6 */	mtlr r0
/* 803A9D58 003A59B8  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9D5C 003A59BC  4E 80 00 20 */	blr 
lbl_803A9D60:
/* 803A9D60 003A59C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9D64 003A59C4  7C 08 02 A6 */	mflr r0
/* 803A9D68 003A59C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9D6C 003A59CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9D70 003A59D0  7C 9F 23 78 */	mr r31, r4
/* 803A9D74 003A59D4  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9D78 003A59D8  7C 7E 1B 78 */	mr r30, r3
/* 803A9D7C 003A59DC  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9D80 003A59E0  88 84 00 09 */	lbz r4, 9(r4)
/* 803A9D84 003A59E4  48 00 2A CD */	bl cTeam_GetPlayer
/* 803A9D88 003A59E8  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9D8C 003A59EC  48 00 2A B5 */	bl func_803AC840
/* 803A9D90 003A59F0  88 1F 00 0A */	lbz r0, 0xa(r31)
/* 803A9D94 003A59F4  28 00 00 09 */	cmplwi r0, 9
/* 803A9D98 003A59F8  41 81 00 B8 */	bgt lbl_803A9E50
/* 803A9D9C 003A59FC  3C 60 80 47 */	lis r3, lbl_80473068@ha
/* 803A9DA0 003A5A00  54 00 10 3A */	slwi r0, r0, 2
/* 803A9DA4 003A5A04  38 63 30 68 */	addi r3, r3, lbl_80473068@l
/* 803A9DA8 003A5A08  7C 63 00 2E */	lwzx r3, r3, r0
/* 803A9DAC 003A5A0C  7C 69 03 A6 */	mtctr r3
/* 803A9DB0 003A5A10  4E 80 04 20 */	bctr 
/* 803A9DB4 003A5A14  38 00 00 01 */	li r0, 1
/* 803A9DB8 003A5A18  98 1F 00 0A */	stb r0, 0xa(r31)
/* 803A9DBC 003A5A1C  48 00 00 94 */	b lbl_803A9E50
/* 803A9DC0 003A5A20  38 00 00 04 */	li r0, 4
/* 803A9DC4 003A5A24  98 1F 00 0A */	stb r0, 0xa(r31)
/* 803A9DC8 003A5A28  48 00 00 88 */	b lbl_803A9E50
/* 803A9DCC 003A5A2C  88 9F 00 09 */	lbz r4, 9(r31)
/* 803A9DD0 003A5A30  38 60 00 01 */	li r3, 1
/* 803A9DD4 003A5A34  38 A0 00 01 */	li r5, 1
/* 803A9DD8 003A5A38  38 C0 00 00 */	li r6, 0
/* 803A9DDC 003A5A3C  4B DC 45 55 */	bl func_8016E330
/* 803A9DE0 003A5A40  38 00 00 05 */	li r0, 5
/* 803A9DE4 003A5A44  98 1F 00 0A */	stb r0, 0xa(r31)
/* 803A9DE8 003A5A48  48 00 00 68 */	b lbl_803A9E50
/* 803A9DEC 003A5A4C  88 7F 00 09 */	lbz r3, 9(r31)
/* 803A9DF0 003A5A50  4B DC 46 41 */	bl func_8016E430
/* 803A9DF4 003A5A54  2C 03 00 FF */	cmpwi r3, 0xff
/* 803A9DF8 003A5A58  41 82 00 10 */	beq lbl_803A9E08
/* 803A9DFC 003A5A5C  38 60 00 09 */	li r3, 9
/* 803A9E00 003A5A60  4B DC 44 E5 */	bl func_8016E2E4
/* 803A9E04 003A5A64  48 00 00 4C */	b lbl_803A9E50
lbl_803A9E08:
/* 803A9E08 003A5A68  88 7F 00 09 */	lbz r3, 9(r31)
/* 803A9E0C 003A5A6C  4B DC 46 6D */	bl VMBASEGetVirtualAddrFromPageInMRAM
/* 803A9E10 003A5A70  38 00 00 09 */	li r0, 9
/* 803A9E14 003A5A74  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803A9E18 003A5A78  98 1F 00 0A */	stb r0, 0xa(r31)
/* 803A9E1C 003A5A7C  48 00 00 34 */	b lbl_803A9E50
/* 803A9E20 003A5A80  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9E24 003A5A84  88 9F 00 09 */	lbz r4, 9(r31)
/* 803A9E28 003A5A88  80 BF 00 0C */	lwz r5, 0xc(r31)
/* 803A9E2C 003A5A8C  48 00 69 89 */	bl func_803B07B4
/* 803A9E30 003A5A90  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9E34 003A5A94  88 9F 00 09 */	lbz r4, 9(r31)
/* 803A9E38 003A5A98  88 BF 00 08 */	lbz r5, 8(r31)
/* 803A9E3C 003A5A9C  48 00 87 35 */	bl func_803B2570
/* 803A9E40 003A5AA0  7F E3 FB 78 */	mr r3, r31
/* 803A9E44 003A5AA4  4B DC 42 5D */	bl func_8016E0A0
/* 803A9E48 003A5AA8  7F C3 F3 78 */	mr r3, r30
/* 803A9E4C 003A5AAC  48 03 50 F1 */	bl func_803DEF3C
lbl_803A9E50:
/* 803A9E50 003A5AB0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9E54 003A5AB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9E58 003A5AB8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9E5C 003A5ABC  7C 08 03 A6 */	mtlr r0
/* 803A9E60 003A5AC0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9E64 003A5AC4  4E 80 00 20 */	blr 
lbl_803A9E68:
/* 803A9E68 003A5AC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A9E6C 003A5ACC  7C 08 02 A6 */	mflr r0
/* 803A9E70 003A5AD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A9E74 003A5AD4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A9E78 003A5AD8  7C 9F 23 78 */	mr r31, r4
/* 803A9E7C 003A5ADC  93 C1 00 08 */	stw r30, 8(r1)
/* 803A9E80 003A5AE0  7C 7E 1B 78 */	mr r30, r3
/* 803A9E84 003A5AE4  80 64 00 00 */	lwz r3, 0(r4)
/* 803A9E88 003A5AE8  88 84 00 09 */	lbz r4, 9(r4)
/* 803A9E8C 003A5AEC  4B DD 2B 55 */	bl func_8017C9E0
/* 803A9E90 003A5AF0  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9E94 003A5AF4  48 00 29 B5 */	bl func_803AC848
/* 803A9E98 003A5AF8  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9E9C 003A5AFC  38 A0 00 00 */	li r5, 0
/* 803A9EA0 003A5B00  88 9F 00 09 */	lbz r4, 9(r31)
/* 803A9EA4 003A5B04  48 01 F5 21 */	bl func_803C93C4
/* 803A9EA8 003A5B08  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803A9EAC 003A5B0C  2C 05 00 FF */	cmpwi r5, 0xff
/* 803A9EB0 003A5B10  40 82 00 08 */	bne lbl_803A9EB8
/* 803A9EB4 003A5B14  38 A0 00 01 */	li r5, 1
lbl_803A9EB8:
/* 803A9EB8 003A5B18  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9EBC 003A5B1C  88 9F 00 09 */	lbz r4, 9(r31)
/* 803A9EC0 003A5B20  48 00 68 F5 */	bl func_803B07B4
/* 803A9EC4 003A5B24  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9EC8 003A5B28  88 9F 00 09 */	lbz r4, 9(r31)
/* 803A9ECC 003A5B2C  88 BF 00 08 */	lbz r5, 8(r31)
/* 803A9ED0 003A5B30  48 00 86 A1 */	bl func_803B2570
/* 803A9ED4 003A5B34  7F E3 FB 78 */	mr r3, r31
/* 803A9ED8 003A5B38  4B DC 41 C9 */	bl func_8016E0A0
/* 803A9EDC 003A5B3C  7F C3 F3 78 */	mr r3, r30
/* 803A9EE0 003A5B40  48 03 50 5D */	bl func_803DEF3C
/* 803A9EE4 003A5B44  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A9EE8 003A5B48  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A9EEC 003A5B4C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A9EF0 003A5B50  7C 08 03 A6 */	mtlr r0
/* 803A9EF4 003A5B54  38 21 00 10 */	addi r1, r1, 0x10
/* 803A9EF8 003A5B58  4E 80 00 20 */	blr 
lbl_803A9EFC:
/* 803A9EFC 003A5B5C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803A9F00 003A5B60  7C 08 02 A6 */	mflr r0
/* 803A9F04 003A5B64  90 01 00 44 */	stw r0, 0x44(r1)
/* 803A9F08 003A5B68  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 803A9F0C 003A5B6C  7C 9F 23 78 */	mr r31, r4
/* 803A9F10 003A5B70  93 C1 00 38 */	stw r30, 0x38(r1)
/* 803A9F14 003A5B74  7C 7E 1B 78 */	mr r30, r3
/* 803A9F18 003A5B78  88 04 00 20 */	lbz r0, 0x20(r4)
/* 803A9F1C 003A5B7C  2C 00 00 02 */	cmpwi r0, 2
/* 803A9F20 003A5B80  41 82 01 30 */	beq lbl_803AA050
/* 803A9F24 003A5B84  40 80 00 14 */	bge lbl_803A9F38
/* 803A9F28 003A5B88  2C 00 00 00 */	cmpwi r0, 0
/* 803A9F2C 003A5B8C  41 82 00 18 */	beq lbl_803A9F44
/* 803A9F30 003A5B90  40 80 00 E8 */	bge lbl_803AA018
/* 803A9F34 003A5B94  48 00 01 5C */	b lbl_803AA090
lbl_803A9F38:
/* 803A9F38 003A5B98  2C 00 00 04 */	cmpwi r0, 4
/* 803A9F3C 003A5B9C  40 80 01 54 */	bge lbl_803AA090
/* 803A9F40 003A5BA0  48 00 01 30 */	b lbl_803AA070
lbl_803A9F44:
/* 803A9F44 003A5BA4  3C A0 80 64 */	lis r5, lbl_8063D080@ha
/* 803A9F48 003A5BA8  38 00 00 04 */	li r0, 4
/* 803A9F4C 003A5BAC  38 A5 D0 80 */	addi r5, r5, lbl_8063D080@l
/* 803A9F50 003A5BB0  39 00 00 00 */	li r8, 0
/* 803A9F54 003A5BB4  38 60 00 00 */	li r3, 0
/* 803A9F58 003A5BB8  7C 09 03 A6 */	mtctr r0
lbl_803A9F5C:
/* 803A9F5C 003A5BBC  7C C4 1A 14 */	add r6, r4, r3
/* 803A9F60 003A5BC0  7C E4 42 14 */	add r7, r4, r8
/* 803A9F64 003A5BC4  A0 06 00 0C */	lhz r0, 0xc(r6)
/* 803A9F68 003A5BC8  7C C5 42 14 */	add r6, r5, r8
/* 803A9F6C 003A5BCC  39 08 00 01 */	addi r8, r8, 1
/* 803A9F70 003A5BD0  7C 05 1B 2E */	sthx r0, r5, r3
/* 803A9F74 003A5BD4  38 63 00 02 */	addi r3, r3, 2
/* 803A9F78 003A5BD8  88 07 00 14 */	lbz r0, 0x14(r7)
/* 803A9F7C 003A5BDC  98 06 00 08 */	stb r0, 8(r6)
/* 803A9F80 003A5BE0  88 07 00 18 */	lbz r0, 0x18(r7)
/* 803A9F84 003A5BE4  98 06 00 0C */	stb r0, 0xc(r6)
/* 803A9F88 003A5BE8  42 00 FF D4 */	bdnz lbl_803A9F5C
/* 803A9F8C 003A5BEC  3C 60 80 64 */	lis r3, lbl_8063D080@ha
/* 803A9F90 003A5BF0  88 04 00 1F */	lbz r0, 0x1f(r4)
/* 803A9F94 003A5BF4  38 63 D0 80 */	addi r3, r3, lbl_8063D080@l
/* 803A9F98 003A5BF8  3B C0 00 00 */	li r30, 0
/* 803A9F9C 003A5BFC  B0 03 00 10 */	sth r0, 0x10(r3)
lbl_803A9FA0:
/* 803A9FA0 003A5C00  7F C3 F3 78 */	mr r3, r30
/* 803A9FA4 003A5C04  48 03 39 7D */	bl func_803DD920
/* 803A9FA8 003A5C08  A0 1F 00 22 */	lhz r0, 0x22(r31)
/* 803A9FAC 003A5C0C  7C 00 18 39 */	and. r0, r0, r3
/* 803A9FB0 003A5C10  40 82 00 34 */	bne lbl_803A9FE4
/* 803A9FB4 003A5C14  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9FB8 003A5C18  48 00 28 91 */	bl func_803AC848
/* 803A9FBC 003A5C1C  7C 64 1B 78 */	mr r4, r3
/* 803A9FC0 003A5C20  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A9FC4 003A5C24  88 BF 00 1D */	lbz r5, 0x1d(r31)
/* 803A9FC8 003A5C28  7F C6 F3 78 */	mr r6, r30
/* 803A9FCC 003A5C2C  38 E1 00 08 */	addi r7, r1, 8
/* 803A9FD0 003A5C30  48 01 43 E9 */	bl func_803BE3B8
/* 803A9FD4 003A5C34  2C 03 00 00 */	cmpwi r3, 0
/* 803A9FD8 003A5C38  41 82 00 0C */	beq lbl_803A9FE4
/* 803A9FDC 003A5C3C  38 BE 00 01 */	addi r5, r30, 1
/* 803A9FE0 003A5C40  48 00 00 14 */	b lbl_803A9FF4
lbl_803A9FE4:
/* 803A9FE4 003A5C44  3B DE 00 01 */	addi r30, r30, 1
/* 803A9FE8 003A5C48  2C 1E 00 04 */	cmpwi r30, 4
/* 803A9FEC 003A5C4C  41 80 FF B4 */	blt lbl_803A9FA0
/* 803A9FF0 003A5C50  38 A0 00 00 */	li r5, 0
lbl_803A9FF4:
/* 803A9FF4 003A5C54  3C C0 80 64 */	lis r6, lbl_8063D080@ha
/* 803A9FF8 003A5C58  88 9F 00 1D */	lbz r4, 0x1d(r31)
/* 803A9FFC 003A5C5C  38 60 00 02 */	li r3, 2
/* 803AA000 003A5C60  38 C6 D0 80 */	addi r6, r6, lbl_8063D080@l
/* 803AA004 003A5C64  4B DC 43 2D */	bl func_8016E330
/* 803AA008 003A5C68  88 7F 00 20 */	lbz r3, 0x20(r31)
/* 803AA00C 003A5C6C  38 03 00 01 */	addi r0, r3, 1
/* 803AA010 003A5C70  98 1F 00 20 */	stb r0, 0x20(r31)
/* 803AA014 003A5C74  48 00 00 7C */	b lbl_803AA090
lbl_803AA018:
/* 803AA018 003A5C78  88 64 00 1D */	lbz r3, 0x1d(r4)
/* 803AA01C 003A5C7C  4B DC 44 15 */	bl func_8016E430
/* 803AA020 003A5C80  2C 03 00 FF */	cmpwi r3, 0xff
/* 803AA024 003A5C84  41 82 00 10 */	beq lbl_803AA034
/* 803AA028 003A5C88  38 60 00 09 */	li r3, 9
/* 803AA02C 003A5C8C  4B DC 42 B9 */	bl func_8016E2E4
/* 803AA030 003A5C90  48 00 00 60 */	b lbl_803AA090
lbl_803AA034:
/* 803AA034 003A5C94  88 7F 00 1D */	lbz r3, 0x1d(r31)
/* 803AA038 003A5C98  4B DC 44 41 */	bl VMBASEGetVirtualAddrFromPageInMRAM
/* 803AA03C 003A5C9C  88 9F 00 20 */	lbz r4, 0x20(r31)
/* 803AA040 003A5CA0  90 7F 00 08 */	stw r3, 8(r31)
/* 803AA044 003A5CA4  38 04 00 01 */	addi r0, r4, 1
/* 803AA048 003A5CA8  98 1F 00 20 */	stb r0, 0x20(r31)
/* 803AA04C 003A5CAC  48 00 00 44 */	b lbl_803AA090
lbl_803AA050:
/* 803AA050 003A5CB0  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA054 003A5CB4  88 84 00 1D */	lbz r4, 0x1d(r4)
/* 803AA058 003A5CB8  80 BF 00 08 */	lwz r5, 8(r31)
/* 803AA05C 003A5CBC  48 00 68 81 */	bl func_803B08DC
/* 803AA060 003A5CC0  88 7F 00 20 */	lbz r3, 0x20(r31)
/* 803AA064 003A5CC4  38 03 00 01 */	addi r0, r3, 1
/* 803AA068 003A5CC8  98 1F 00 20 */	stb r0, 0x20(r31)
/* 803AA06C 003A5CCC  48 00 00 24 */	b lbl_803AA090
lbl_803AA070:
/* 803AA070 003A5CD0  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA074 003A5CD4  88 84 00 1D */	lbz r4, 0x1d(r4)
/* 803AA078 003A5CD8  88 BF 00 1C */	lbz r5, 0x1c(r31)
/* 803AA07C 003A5CDC  48 00 84 F5 */	bl func_803B2570
/* 803AA080 003A5CE0  7F E3 FB 78 */	mr r3, r31
/* 803AA084 003A5CE4  4B DC 40 1D */	bl func_8016E0A0
/* 803AA088 003A5CE8  7F C3 F3 78 */	mr r3, r30
/* 803AA08C 003A5CEC  48 03 4E B1 */	bl func_803DEF3C
lbl_803AA090:
/* 803AA090 003A5CF0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803AA094 003A5CF4  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 803AA098 003A5CF8  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 803AA09C 003A5CFC  7C 08 03 A6 */	mtlr r0
/* 803AA0A0 003A5D00  38 21 00 40 */	addi r1, r1, 0x40
/* 803AA0A4 003A5D04  4E 80 00 20 */	blr 
lbl_803AA0A8:
/* 803AA0A8 003A5D08  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AA0AC 003A5D0C  7C 08 02 A6 */	mflr r0
/* 803AA0B0 003A5D10  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AA0B4 003A5D14  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AA0B8 003A5D18  7C 9F 23 78 */	mr r31, r4
/* 803AA0BC 003A5D1C  93 C1 00 08 */	stw r30, 8(r1)
/* 803AA0C0 003A5D20  7C 7E 1B 78 */	mr r30, r3
/* 803AA0C4 003A5D24  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA0C8 003A5D28  48 00 27 79 */	bl func_803AC840
/* 803AA0CC 003A5D2C  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA0D0 003A5D30  38 A0 00 02 */	li r5, 2
/* 803AA0D4 003A5D34  88 9F 00 1D */	lbz r4, 0x1d(r31)
/* 803AA0D8 003A5D38  48 01 F2 ED */	bl func_803C93C4
/* 803AA0DC 003A5D3C  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803AA0E0 003A5D40  38 A3 00 01 */	addi r5, r3, 1
/* 803AA0E4 003A5D44  38 05 FF FF */	addi r0, r5, -1
/* 803AA0E8 003A5D48  2C 00 00 FF */	cmpwi r0, 0xff
/* 803AA0EC 003A5D4C  41 82 00 18 */	beq lbl_803AA104
/* 803AA0F0 003A5D50  54 00 08 3C */	slwi r0, r0, 1
/* 803AA0F4 003A5D54  7C 7F 02 14 */	add r3, r31, r0
/* 803AA0F8 003A5D58  A0 03 00 0C */	lhz r0, 0xc(r3)
/* 803AA0FC 003A5D5C  2C 00 00 00 */	cmpwi r0, 0
/* 803AA100 003A5D60  40 82 00 34 */	bne lbl_803AA134
lbl_803AA104:
/* 803AA104 003A5D64  48 02 F6 B5 */	bl func_803D97B8
/* 803AA108 003A5D68  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803AA10C 003A5D6C  7C 60 16 70 */	srawi r0, r3, 2
/* 803AA110 003A5D70  7C 00 01 94 */	addze r0, r0
/* 803AA114 003A5D74  54 00 10 3A */	slwi r0, r0, 2
/* 803AA118 003A5D78  7C 60 18 50 */	subf r3, r0, r3
/* 803AA11C 003A5D7C  38 A3 00 01 */	addi r5, r3, 1
/* 803AA120 003A5D80  54 A0 08 3C */	slwi r0, r5, 1
/* 803AA124 003A5D84  7C 7F 02 14 */	add r3, r31, r0
/* 803AA128 003A5D88  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 803AA12C 003A5D8C  2C 00 00 00 */	cmpwi r0, 0
/* 803AA130 003A5D90  41 82 FF D4 */	beq lbl_803AA104
lbl_803AA134:
/* 803AA134 003A5D94  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA138 003A5D98  88 9F 00 1D */	lbz r4, 0x1d(r31)
/* 803AA13C 003A5D9C  48 00 67 A1 */	bl func_803B08DC
/* 803AA140 003A5DA0  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA144 003A5DA4  88 9F 00 1D */	lbz r4, 0x1d(r31)
/* 803AA148 003A5DA8  88 BF 00 1C */	lbz r5, 0x1c(r31)
/* 803AA14C 003A5DAC  48 00 84 25 */	bl func_803B2570
/* 803AA150 003A5DB0  7F E3 FB 78 */	mr r3, r31
/* 803AA154 003A5DB4  4B DC 3F 4D */	bl func_8016E0A0
/* 803AA158 003A5DB8  7F C3 F3 78 */	mr r3, r30
/* 803AA15C 003A5DBC  48 03 4D E1 */	bl func_803DEF3C
/* 803AA160 003A5DC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AA164 003A5DC4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AA168 003A5DC8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AA16C 003A5DCC  7C 08 03 A6 */	mtlr r0
/* 803AA170 003A5DD0  38 21 00 10 */	addi r1, r1, 0x10
/* 803AA174 003A5DD4  4E 80 00 20 */	blr 
lbl_803AA178:
/* 803AA178 003A5DD8  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803AA17C 003A5DDC  7C 08 02 A6 */	mflr r0
/* 803AA180 003A5DE0  90 01 00 54 */	stw r0, 0x54(r1)
/* 803AA184 003A5DE4  39 61 00 50 */	addi r11, r1, 0x50
/* 803AA188 003A5DE8  4B E1 CF A1 */	bl _savegpr_27
/* 803AA18C 003A5DEC  88 04 00 0F */	lbz r0, 0xf(r4)
/* 803AA190 003A5DF0  7C 7C 1B 78 */	mr r28, r3
/* 803AA194 003A5DF4  7C 9F 23 78 */	mr r31, r4
/* 803AA198 003A5DF8  2C 00 00 01 */	cmpwi r0, 1
/* 803AA19C 003A5DFC  41 82 01 04 */	beq lbl_803AA2A0
/* 803AA1A0 003A5E00  40 80 01 A4 */	bge lbl_803AA344
/* 803AA1A4 003A5E04  2C 00 00 00 */	cmpwi r0, 0
/* 803AA1A8 003A5E08  40 80 00 08 */	bge lbl_803AA1B0
/* 803AA1AC 003A5E0C  48 00 01 98 */	b lbl_803AA344
lbl_803AA1B0:
/* 803AA1B0 003A5E10  38 64 00 34 */	addi r3, r4, 0x34
/* 803AA1B4 003A5E14  38 80 00 00 */	li r4, 0
/* 803AA1B8 003A5E18  38 A0 00 10 */	li r5, 0x10
/* 803AA1BC 003A5E1C  4B C5 9F 49 */	bl memset
/* 803AA1C0 003A5E20  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA1C4 003A5E24  38 9F 00 34 */	addi r4, r31, 0x34
/* 803AA1C8 003A5E28  48 00 3B 9D */	bl func_803ADD64
/* 803AA1CC 003A5E2C  3B 60 00 00 */	li r27, 0
/* 803AA1D0 003A5E30  3B C0 00 00 */	li r30, 0
/* 803AA1D4 003A5E34  3B A0 00 FF */	li r29, 0xff
lbl_803AA1D8:
/* 803AA1D8 003A5E38  7C 9F F2 14 */	add r4, r31, r30
/* 803AA1DC 003A5E3C  38 61 00 0E */	addi r3, r1, 0xe
/* 803AA1E0 003A5E40  3B 84 00 10 */	addi r28, r4, 0x10
/* 803AA1E4 003A5E44  7F 84 E3 78 */	mr r4, r28
/* 803AA1E8 003A5E48  7C 63 F2 14 */	add r3, r3, r30
/* 803AA1EC 003A5E4C  4B FF DA 7D */	bl func_803A7C68
/* 803AA1F0 003A5E50  7C 7F F2 14 */	add r3, r31, r30
/* 803AA1F4 003A5E54  88 03 00 11 */	lbz r0, 0x11(r3)
/* 803AA1F8 003A5E58  54 00 DF FF */	rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 803AA1FC 003A5E5C  41 82 00 14 */	beq lbl_803AA210
/* 803AA200 003A5E60  88 1C 00 00 */	lbz r0, 0(r28)
/* 803AA204 003A5E64  7C 7F DA 14 */	add r3, r31, r27
/* 803AA208 003A5E68  98 03 00 38 */	stb r0, 0x38(r3)
/* 803AA20C 003A5E6C  48 00 00 0C */	b lbl_803AA218
lbl_803AA210:
/* 803AA210 003A5E70  7C 7F DA 14 */	add r3, r31, r27
/* 803AA214 003A5E74  9B A3 00 38 */	stb r29, 0x38(r3)
lbl_803AA218:
/* 803AA218 003A5E78  3B 7B 00 01 */	addi r27, r27, 1
/* 803AA21C 003A5E7C  3B DE 00 08 */	addi r30, r30, 8
/* 803AA220 003A5E80  2C 1B 00 04 */	cmpwi r27, 4
/* 803AA224 003A5E84  41 80 FF B4 */	blt lbl_803AA1D8
/* 803AA228 003A5E88  88 1F 00 0E */	lbz r0, 0xe(r31)
/* 803AA22C 003A5E8C  98 01 00 2E */	stb r0, 0x2e(r1)
/* 803AA230 003A5E90  A0 7F 00 30 */	lhz r3, 0x30(r31)
/* 803AA234 003A5E94  88 9F 00 0E */	lbz r4, 0xe(r31)
/* 803AA238 003A5E98  48 02 FC 7D */	bl func_803D9EB4
/* 803AA23C 003A5E9C  98 61 00 2F */	stb r3, 0x2f(r1)
/* 803AA240 003A5EA0  98 7F 00 3C */	stb r3, 0x3c(r31)
/* 803AA244 003A5EA4  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA248 003A5EA8  48 00 26 01 */	bl func_803AC848
/* 803AA24C 003A5EAC  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AA250 003A5EB0  48 01 50 F1 */	bl func_803BF340
/* 803AA254 003A5EB4  7C 7E 1B 78 */	mr r30, r3
/* 803AA258 003A5EB8  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA25C 003A5EBC  48 00 25 ED */	bl func_803AC848
/* 803AA260 003A5EC0  7C 64 1B 78 */	mr r4, r3
/* 803AA264 003A5EC4  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA268 003A5EC8  88 BF 00 0D */	lbz r5, 0xd(r31)
/* 803AA26C 003A5ECC  57 C6 04 3E */	clrlwi r6, r30, 0x10
/* 803AA270 003A5ED0  38 E0 00 01 */	li r7, 1
/* 803AA274 003A5ED4  39 00 00 00 */	li r8, 0
/* 803AA278 003A5ED8  48 01 26 ED */	bl func_803BC964
/* 803AA27C 003A5EDC  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AA280 003A5EE0  38 A3 00 01 */	addi r5, r3, 1
/* 803AA284 003A5EE4  38 DF 00 34 */	addi r6, r31, 0x34
/* 803AA288 003A5EE8  38 60 00 03 */	li r3, 3
/* 803AA28C 003A5EEC  4B DC 40 A5 */	bl func_8016E330
/* 803AA290 003A5EF0  88 7F 00 0F */	lbz r3, 0xf(r31)
/* 803AA294 003A5EF4  38 03 00 01 */	addi r0, r3, 1
/* 803AA298 003A5EF8  98 1F 00 0F */	stb r0, 0xf(r31)
/* 803AA29C 003A5EFC  48 00 00 A8 */	b lbl_803AA344
lbl_803AA2A0:
/* 803AA2A0 003A5F00  88 64 00 0D */	lbz r3, 0xd(r4)
/* 803AA2A4 003A5F04  4B DC 41 8D */	bl func_8016E430
/* 803AA2A8 003A5F08  2C 03 00 FF */	cmpwi r3, 0xff
/* 803AA2AC 003A5F0C  41 82 00 10 */	beq lbl_803AA2BC
/* 803AA2B0 003A5F10  38 60 00 09 */	li r3, 9
/* 803AA2B4 003A5F14  4B DC 40 31 */	bl func_8016E2E4
/* 803AA2B8 003A5F18  48 00 00 8C */	b lbl_803AA344
lbl_803AA2BC:
/* 803AA2BC 003A5F1C  88 7F 00 0D */	lbz r3, 0xd(r31)
/* 803AA2C0 003A5F20  4B DC 41 B9 */	bl VMBASEGetVirtualAddrFromPageInMRAM
/* 803AA2C4 003A5F24  7C 7B 1B 78 */	mr r27, r3
/* 803AA2C8 003A5F28  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA2CC 003A5F2C  48 00 25 75 */	bl func_803AC840
/* 803AA2D0 003A5F30  2C 1B 00 FF */	cmpwi r27, 0xff
/* 803AA2D4 003A5F34  7C 7E 1B 78 */	mr r30, r3
/* 803AA2D8 003A5F38  41 82 00 3C */	beq lbl_803AA314
/* 803AA2DC 003A5F3C  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA2E0 003A5F40  38 81 00 08 */	addi r4, r1, 8
/* 803AA2E4 003A5F44  48 00 3A 15 */	bl func_803ADCF8
/* 803AA2E8 003A5F48  57 C0 07 BD */	rlwinm. r0, r30, 0, 0x1e, 0x1e
/* 803AA2EC 003A5F4C  41 82 00 18 */	beq lbl_803AA304
/* 803AA2F0 003A5F50  38 01 00 08 */	addi r0, r1, 8
/* 803AA2F4 003A5F54  7C 7B 02 14 */	add r3, r27, r0
/* 803AA2F8 003A5F58  88 63 00 01 */	lbz r3, 1(r3)
/* 803AA2FC 003A5F5C  3B 63 00 01 */	addi r27, r3, 1
/* 803AA300 003A5F60  48 00 00 14 */	b lbl_803AA314
lbl_803AA304:
/* 803AA304 003A5F64  38 01 00 08 */	addi r0, r1, 8
/* 803AA308 003A5F68  7C 7B 02 14 */	add r3, r27, r0
/* 803AA30C 003A5F6C  88 63 FF FF */	lbz r3, -1(r3)
/* 803AA310 003A5F70  3B 63 00 01 */	addi r27, r3, 1
lbl_803AA314:
/* 803AA314 003A5F74  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA318 003A5F78  7F 65 DB 78 */	mr r5, r27
/* 803AA31C 003A5F7C  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AA320 003A5F80  48 00 67 99 */	bl func_803B0AB8
/* 803AA324 003A5F84  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA328 003A5F88  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AA32C 003A5F8C  88 BF 00 0C */	lbz r5, 0xc(r31)
/* 803AA330 003A5F90  48 00 82 41 */	bl func_803B2570
/* 803AA334 003A5F94  7F E3 FB 78 */	mr r3, r31
/* 803AA338 003A5F98  4B DC 3D 69 */	bl func_8016E0A0
/* 803AA33C 003A5F9C  7F 83 E3 78 */	mr r3, r28
/* 803AA340 003A5FA0  48 03 4B FD */	bl func_803DEF3C
lbl_803AA344:
/* 803AA344 003A5FA4  39 61 00 50 */	addi r11, r1, 0x50
/* 803AA348 003A5FA8  4B E1 CE 2D */	bl _restgpr_27
/* 803AA34C 003A5FAC  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803AA350 003A5FB0  7C 08 03 A6 */	mtlr r0
/* 803AA354 003A5FB4  38 21 00 50 */	addi r1, r1, 0x50
/* 803AA358 003A5FB8  4E 80 00 20 */	blr 
lbl_803AA35C:
/* 803AA35C 003A5FBC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AA360 003A5FC0  7C 08 02 A6 */	mflr r0
/* 803AA364 003A5FC4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AA368 003A5FC8  39 61 00 20 */	addi r11, r1, 0x20
/* 803AA36C 003A5FCC  4B E1 CD C1 */	bl _savegpr_28
/* 803AA370 003A5FD0  7C 7C 1B 78 */	mr r28, r3
/* 803AA374 003A5FD4  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA378 003A5FD8  7C 9D 23 78 */	mr r29, r4
/* 803AA37C 003A5FDC  48 00 24 CD */	bl func_803AC848
/* 803AA380 003A5FE0  7C 7F 1B 78 */	mr r31, r3
/* 803AA384 003A5FE4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA388 003A5FE8  88 9D 00 0D */	lbz r4, 0xd(r29)
/* 803AA38C 003A5FEC  38 A0 00 01 */	li r5, 1
/* 803AA390 003A5FF0  48 01 F0 35 */	bl func_803C93C4
/* 803AA394 003A5FF4  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803AA398 003A5FF8  3B C3 00 01 */	addi r30, r3, 1
/* 803AA39C 003A5FFC  38 1E FF FF */	addi r0, r30, -1
/* 803AA3A0 003A6000  2C 00 00 FF */	cmpwi r0, 0xff
/* 803AA3A4 003A6004  40 82 00 1C */	bne lbl_803AA3C0
/* 803AA3A8 003A6008  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA3AC 003A600C  7F E4 FB 78 */	mr r4, r31
/* 803AA3B0 003A6010  88 DD 00 0D */	lbz r6, 0xd(r29)
/* 803AA3B4 003A6014  38 A0 00 0B */	li r5, 0xb
/* 803AA3B8 003A6018  48 01 E8 91 */	bl func_803C8C48
/* 803AA3BC 003A601C  3B C3 00 01 */	addi r30, r3, 1
lbl_803AA3C0:
/* 803AA3C0 003A6020  6B C3 00 05 */	xori r3, r30, 5
/* 803AA3C4 003A6024  3C 80 80 47 */	lis r4, lbl_80473090@ha
/* 803AA3C8 003A6028  70 60 00 05 */	andi. r0, r3, 5
/* 803AA3CC 003A602C  7F C5 F3 78 */	mr r5, r30
/* 803AA3D0 003A6030  7C 63 0E 70 */	srawi r3, r3, 1
/* 803AA3D4 003A6034  38 84 30 90 */	addi r4, r4, lbl_80473090@l
/* 803AA3D8 003A6038  7C 00 18 50 */	subf r0, r0, r3
/* 803AA3DC 003A603C  54 03 0F FE */	srwi r3, r0, 0x1f
/* 803AA3E0 003A6040  4C C6 31 82 */	crclr 6
/* 803AA3E4 003A6044  48 02 F4 B9 */	bl func_803D989C
/* 803AA3E8 003A6048  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA3EC 003A604C  7F C5 F3 78 */	mr r5, r30
/* 803AA3F0 003A6050  88 9D 00 0D */	lbz r4, 0xd(r29)
/* 803AA3F4 003A6054  48 00 66 C5 */	bl func_803B0AB8
/* 803AA3F8 003A6058  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA3FC 003A605C  88 9D 00 0D */	lbz r4, 0xd(r29)
/* 803AA400 003A6060  88 BD 00 0C */	lbz r5, 0xc(r29)
/* 803AA404 003A6064  48 00 81 6D */	bl func_803B2570
/* 803AA408 003A6068  7F A3 EB 78 */	mr r3, r29
/* 803AA40C 003A606C  4B DC 3C 95 */	bl func_8016E0A0
/* 803AA410 003A6070  7F 83 E3 78 */	mr r3, r28
/* 803AA414 003A6074  48 03 4B 29 */	bl func_803DEF3C
/* 803AA418 003A6078  39 61 00 20 */	addi r11, r1, 0x20
/* 803AA41C 003A607C  4B E1 CD 5D */	bl _restgpr_28
/* 803AA420 003A6080  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AA424 003A6084  7C 08 03 A6 */	mtlr r0
/* 803AA428 003A6088  38 21 00 20 */	addi r1, r1, 0x20
/* 803AA42C 003A608C  4E 80 00 20 */	blr 
lbl_803AA430:
/* 803AA430 003A6090  4E 80 00 20 */	blr 
lbl_803AA434:
/* 803AA434 003A6094  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AA438 003A6098  7C 08 02 A6 */	mflr r0
/* 803AA43C 003A609C  38 C0 00 01 */	li r6, 1
/* 803AA440 003A60A0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AA444 003A60A4  38 A1 00 08 */	addi r5, r1, 8
/* 803AA448 003A60A8  A0 01 00 0E */	lhz r0, 0xe(r1)
/* 803AA44C 003A60AC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803AA450 003A60B0  7C 9F 23 78 */	mr r31, r4
/* 803AA454 003A60B4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803AA458 003A60B8  7C 7E 1B 78 */	mr r30, r3
/* 803AA45C 003A60BC  B0 C1 00 08 */	sth r6, 8(r1)
/* 803AA460 003A60C0  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803AA464 003A60C4  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA468 003A60C8  B0 C1 00 0C */	sth r6, 0xc(r1)
/* 803AA46C 003A60CC  88 84 00 0D */	lbz r4, 0xd(r4)
/* 803AA470 003A60D0  48 00 68 E9 */	bl func_803B0D58
/* 803AA474 003A60D4  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA478 003A60D8  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AA47C 003A60DC  88 BF 00 0C */	lbz r5, 0xc(r31)
/* 803AA480 003A60E0  48 00 80 F1 */	bl func_803B2570
/* 803AA484 003A60E4  80 7F 00 08 */	lwz r3, 8(r31)
/* 803AA488 003A60E8  80 63 00 04 */	lwz r3, 4(r3)
/* 803AA48C 003A60EC  80 63 00 00 */	lwz r3, 0(r3)
/* 803AA490 003A60F0  4B DC 3C 11 */	bl func_8016E0A0
/* 803AA494 003A60F4  80 7F 00 08 */	lwz r3, 8(r31)
/* 803AA498 003A60F8  80 63 00 04 */	lwz r3, 4(r3)
/* 803AA49C 003A60FC  4B DC 3C 05 */	bl func_8016E0A0
/* 803AA4A0 003A6100  80 7F 00 08 */	lwz r3, 8(r31)
/* 803AA4A4 003A6104  4B DC 3B FD */	bl func_8016E0A0
/* 803AA4A8 003A6108  7F E3 FB 78 */	mr r3, r31
/* 803AA4AC 003A610C  4B DC 3B F5 */	bl func_8016E0A0
/* 803AA4B0 003A6110  7F C3 F3 78 */	mr r3, r30
/* 803AA4B4 003A6114  48 03 4A 89 */	bl func_803DEF3C
/* 803AA4B8 003A6118  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AA4BC 003A611C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803AA4C0 003A6120  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803AA4C4 003A6124  7C 08 03 A6 */	mtlr r0
/* 803AA4C8 003A6128  38 21 00 20 */	addi r1, r1, 0x20
/* 803AA4CC 003A612C  4E 80 00 20 */	blr 
lbl_803AA4D0:
/* 803AA4D0 003A6130  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803AA4D4 003A6134  7C 08 02 A6 */	mflr r0
/* 803AA4D8 003A6138  90 01 00 34 */	stw r0, 0x34(r1)
/* 803AA4DC 003A613C  39 61 00 30 */	addi r11, r1, 0x30
/* 803AA4E0 003A6140  4B E1 CC 39 */	bl _savegpr_23
/* 803AA4E4 003A6144  7C 77 1B 78 */	mr r23, r3
/* 803AA4E8 003A6148  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA4EC 003A614C  7C 9D 23 78 */	mr r29, r4
/* 803AA4F0 003A6150  48 00 23 51 */	bl func_803AC840
/* 803AA4F4 003A6154  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA4F8 003A6158  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA4FC 003A615C  48 00 23 6D */	bl func_803AC868
/* 803AA500 003A6160  88 1D 00 0A */	lbz r0, 0xa(r29)
/* 803AA504 003A6164  2C 00 00 01 */	cmpwi r0, 1
/* 803AA508 003A6168  41 82 03 74 */	beq lbl_803AA87C
/* 803AA50C 003A616C  40 80 03 FC */	bge lbl_803AA908
/* 803AA510 003A6170  2C 00 00 00 */	cmpwi r0, 0
/* 803AA514 003A6174  40 80 00 08 */	bge lbl_803AA51C
/* 803AA518 003A6178  48 00 03 F0 */	b lbl_803AA908
lbl_803AA51C:
/* 803AA51C 003A617C  38 60 00 05 */	li r3, 5
/* 803AA520 003A6180  38 80 00 28 */	li r4, 0x28
/* 803AA524 003A6184  4B DC 3A 4D */	bl func_8016DF70
/* 803AA528 003A6188  7C 7F 1B 78 */	mr r31, r3
/* 803AA52C 003A618C  38 80 00 00 */	li r4, 0
/* 803AA530 003A6190  38 A0 00 28 */	li r5, 0x28
/* 803AA534 003A6194  4B C5 9B D1 */	bl memset
/* 803AA538 003A6198  93 FD 00 04 */	stw r31, 4(r29)
/* 803AA53C 003A619C  38 60 00 05 */	li r3, 5
/* 803AA540 003A61A0  48 03 42 A1 */	bl func_803DE7E0
/* 803AA544 003A61A4  90 7F 00 00 */	stw r3, 0(r31)
/* 803AA548 003A61A8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA54C 003A61AC  48 00 22 F5 */	bl func_803AC840
/* 803AA550 003A61B0  54 60 07 3A */	rlwinm r0, r3, 0, 0x1c, 0x1d
/* 803AA554 003A61B4  28 00 00 0C */	cmplwi r0, 0xc
/* 803AA558 003A61B8  41 82 00 14 */	beq lbl_803AA56C
/* 803AA55C 003A61BC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA560 003A61C0  48 00 22 E1 */	bl func_803AC840
/* 803AA564 003A61C4  28 03 00 CB */	cmplwi r3, 0xcb
/* 803AA568 003A61C8  40 82 01 80 */	bne lbl_803AA6E8
lbl_803AA56C:
/* 803AA56C 003A61CC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA570 003A61D0  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA574 003A61D4  48 00 27 61 */	bl func_803ACCD4
/* 803AA578 003A61D8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803AA57C 003A61DC  28 00 00 02 */	cmplwi r0, 2
/* 803AA580 003A61E0  40 82 00 1C */	bne lbl_803AA59C
/* 803AA584 003A61E4  8A FD 00 09 */	lbz r23, 9(r29)
/* 803AA588 003A61E8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA58C 003A61EC  7E E4 BB 78 */	mr r4, r23
/* 803AA590 003A61F0  48 00 27 A9 */	bl func_803ACD38
/* 803AA594 003A61F4  7C 7E 1B 78 */	mr r30, r3
/* 803AA598 003A61F8  48 00 00 18 */	b lbl_803AA5B0
lbl_803AA59C:
/* 803AA59C 003A61FC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA5A0 003A6200  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA5A4 003A6204  48 00 27 95 */	bl func_803ACD38
/* 803AA5A8 003A6208  7C 77 1B 78 */	mr r23, r3
/* 803AA5AC 003A620C  8B DD 00 09 */	lbz r30, 9(r29)
lbl_803AA5B0:
/* 803AA5B0 003A6210  38 60 00 05 */	li r3, 5
/* 803AA5B4 003A6214  48 02 FC B9 */	bl func_803DA26C
/* 803AA5B8 003A6218  7C 79 1B 78 */	mr r25, r3
/* 803AA5BC 003A621C  3B 00 00 00 */	li r24, 0
lbl_803AA5C0:
/* 803AA5C0 003A6220  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA5C4 003A6224  7F 24 CB 78 */	mr r4, r25
/* 803AA5C8 003A6228  48 03 42 C9 */	bl func_803DE890
/* 803AA5CC 003A622C  3B 18 00 01 */	addi r24, r24, 1
/* 803AA5D0 003A6230  2C 18 00 06 */	cmpwi r24, 6
/* 803AA5D4 003A6234  41 80 FF EC */	blt lbl_803AA5C0
/* 803AA5D8 003A6238  7F 23 CB 78 */	mr r3, r25
/* 803AA5DC 003A623C  4B DC 3A C5 */	bl func_8016E0A0
/* 803AA5E0 003A6240  1C 17 00 06 */	mulli r0, r23, 6
/* 803AA5E4 003A6244  3B 00 00 00 */	li r24, 0
/* 803AA5E8 003A6248  3B 80 00 00 */	li r28, 0
/* 803AA5EC 003A624C  7F 7D 02 14 */	add r27, r29, r0
/* 803AA5F0 003A6250  48 00 00 48 */	b lbl_803AA638
lbl_803AA5F4:
/* 803AA5F4 003A6254  7F 5B C2 14 */	add r26, r27, r24
/* 803AA5F8 003A6258  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA5FC 003A625C  88 BA 00 1C */	lbz r5, 0x1c(r26)
/* 803AA600 003A6260  7E E4 BB 78 */	mr r4, r23
/* 803AA604 003A6264  48 00 23 A1 */	bl func_803AC9A4
/* 803AA608 003A6268  7C 79 1B 78 */	mr r25, r3
/* 803AA60C 003A626C  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA610 003A6270  7F 84 E3 78 */	mr r4, r28
/* 803AA614 003A6274  48 03 43 39 */	bl func_803DE94C
/* 803AA618 003A6278  7C 64 1B 78 */	mr r4, r3
/* 803AA61C 003A627C  7F 23 CB 78 */	mr r3, r25
/* 803AA620 003A6280  48 03 22 99 */	bl func_803DC8B8
/* 803AA624 003A6284  88 1A 00 1C */	lbz r0, 0x1c(r26)
/* 803AA628 003A6288  7C 7F E2 14 */	add r3, r31, r28
/* 803AA62C 003A628C  3B 18 00 01 */	addi r24, r24, 1
/* 803AA630 003A6290  3B 9C 00 02 */	addi r28, r28, 2
/* 803AA634 003A6294  98 03 00 20 */	stb r0, 0x20(r3)
lbl_803AA638:
/* 803AA638 003A6298  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA63C 003A629C  7E E4 BB 78 */	mr r4, r23
/* 803AA640 003A62A0  48 00 22 C1 */	bl func_803AC900
/* 803AA644 003A62A4  7C 18 18 00 */	cmpw r24, r3
/* 803AA648 003A62A8  41 80 FF AC */	blt lbl_803AA5F4
/* 803AA64C 003A62AC  1C 1E 00 06 */	mulli r0, r30, 6
/* 803AA650 003A62B0  3B 00 00 00 */	li r24, 0
/* 803AA654 003A62B4  3B 80 00 00 */	li r28, 0
/* 803AA658 003A62B8  7F 7D 02 14 */	add r27, r29, r0
/* 803AA65C 003A62BC  48 00 00 48 */	b lbl_803AA6A4
lbl_803AA660:
/* 803AA660 003A62C0  7F 5B C2 14 */	add r26, r27, r24
/* 803AA664 003A62C4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA668 003A62C8  88 BA 00 1C */	lbz r5, 0x1c(r26)
/* 803AA66C 003A62CC  7F C4 F3 78 */	mr r4, r30
/* 803AA670 003A62D0  48 00 23 35 */	bl func_803AC9A4
/* 803AA674 003A62D4  7C 79 1B 78 */	mr r25, r3
/* 803AA678 003A62D8  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA67C 003A62DC  38 9C 00 01 */	addi r4, r28, 1
/* 803AA680 003A62E0  48 03 42 CD */	bl func_803DE94C
/* 803AA684 003A62E4  7C 64 1B 78 */	mr r4, r3
/* 803AA688 003A62E8  7F 23 CB 78 */	mr r3, r25
/* 803AA68C 003A62EC  48 03 22 2D */	bl func_803DC8B8
/* 803AA690 003A62F0  88 1A 00 1C */	lbz r0, 0x1c(r26)
/* 803AA694 003A62F4  7C 7F E2 14 */	add r3, r31, r28
/* 803AA698 003A62F8  3B 18 00 01 */	addi r24, r24, 1
/* 803AA69C 003A62FC  3B 9C 00 02 */	addi r28, r28, 2
/* 803AA6A0 003A6300  98 03 00 21 */	stb r0, 0x21(r3)
lbl_803AA6A4:
/* 803AA6A4 003A6304  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA6A8 003A6308  7F C4 F3 78 */	mr r4, r30
/* 803AA6AC 003A630C  48 00 22 55 */	bl func_803AC900
/* 803AA6B0 003A6310  7C 18 18 00 */	cmpw r24, r3
/* 803AA6B4 003A6314  41 80 FF AC */	blt lbl_803AA660
/* 803AA6B8 003A6318  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA6BC 003A631C  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA6C0 003A6320  48 00 26 15 */	bl func_803ACCD4
/* 803AA6C4 003A6324  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803AA6C8 003A6328  28 00 00 04 */	cmplwi r0, 4
/* 803AA6CC 003A632C  40 82 00 10 */	bne lbl_803AA6DC
/* 803AA6D0 003A6330  38 00 00 01 */	li r0, 1
/* 803AA6D4 003A6334  98 1F 00 0C */	stb r0, 0xc(r31)
/* 803AA6D8 003A6338  48 00 00 CC */	b lbl_803AA7A4
lbl_803AA6DC:
/* 803AA6DC 003A633C  38 00 00 00 */	li r0, 0
/* 803AA6E0 003A6340  98 1F 00 0C */	stb r0, 0xc(r31)
/* 803AA6E4 003A6344  48 00 00 C0 */	b lbl_803AA7A4
lbl_803AA6E8:
/* 803AA6E8 003A6348  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA6EC 003A634C  48 00 21 55 */	bl func_803AC840
/* 803AA6F0 003A6350  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803AA6F4 003A6354  41 82 00 20 */	beq lbl_803AA714
/* 803AA6F8 003A6358  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA6FC 003A635C  48 00 21 45 */	bl func_803AC840
/* 803AA700 003A6360  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803AA704 003A6364  40 82 00 10 */	bne lbl_803AA714
/* 803AA708 003A6368  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA70C 003A636C  54 98 07 FE */	clrlwi r24, r4, 0x1f
/* 803AA710 003A6370  48 00 00 0C */	b lbl_803AA71C
lbl_803AA714:
/* 803AA714 003A6374  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA718 003A6378  7C 98 23 78 */	mr r24, r4
lbl_803AA71C:
/* 803AA71C 003A637C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA720 003A6380  48 00 25 B5 */	bl func_803ACCD4
/* 803AA724 003A6384  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803AA728 003A6388  38 00 00 00 */	li r0, 0
/* 803AA72C 003A638C  2C 03 00 04 */	cmpwi r3, 4
/* 803AA730 003A6390  41 82 00 0C */	beq lbl_803AA73C
/* 803AA734 003A6394  2C 03 00 05 */	cmpwi r3, 5
/* 803AA738 003A6398  40 82 00 08 */	bne lbl_803AA740
lbl_803AA73C:
/* 803AA73C 003A639C  38 00 00 01 */	li r0, 1
lbl_803AA740:
/* 803AA740 003A63A0  98 1F 00 0C */	stb r0, 0xc(r31)
/* 803AA744 003A63A4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA748 003A63A8  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA74C 003A63AC  48 00 21 1D */	bl func_803AC868
/* 803AA750 003A63B0  1C 18 00 06 */	mulli r0, r24, 6
/* 803AA754 003A63B4  7C 77 1B 78 */	mr r23, r3
/* 803AA758 003A63B8  3B 20 00 00 */	li r25, 0
/* 803AA75C 003A63BC  7F 9D 02 14 */	add r28, r29, r0
/* 803AA760 003A63C0  48 00 00 34 */	b lbl_803AA794
lbl_803AA764:
/* 803AA764 003A63C4  7F 5C CA 14 */	add r26, r28, r25
/* 803AA768 003A63C8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA76C 003A63CC  88 BA 00 1C */	lbz r5, 0x1c(r26)
/* 803AA770 003A63D0  7F 04 C3 78 */	mr r4, r24
/* 803AA774 003A63D4  48 00 22 31 */	bl func_803AC9A4
/* 803AA778 003A63D8  7C 64 1B 78 */	mr r4, r3
/* 803AA77C 003A63DC  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AA780 003A63E0  48 03 41 11 */	bl func_803DE890
/* 803AA784 003A63E4  88 1A 00 1C */	lbz r0, 0x1c(r26)
/* 803AA788 003A63E8  7C 7F CA 14 */	add r3, r31, r25
/* 803AA78C 003A63EC  3B 39 00 01 */	addi r25, r25, 1
/* 803AA790 003A63F0  98 03 00 20 */	stb r0, 0x20(r3)
lbl_803AA794:
/* 803AA794 003A63F4  7E E3 BB 78 */	mr r3, r23
/* 803AA798 003A63F8  48 03 41 AD */	bl func_803DE944
/* 803AA79C 003A63FC  7C 19 18 00 */	cmpw r25, r3
/* 803AA7A0 003A6400  41 80 FF C4 */	blt lbl_803AA764
lbl_803AA7A4:
/* 803AA7A4 003A6404  80 1D 00 00 */	lwz r0, 0(r29)
/* 803AA7A8 003A6408  90 1F 00 04 */	stw r0, 4(r31)
/* 803AA7AC 003A640C  80 1D 00 10 */	lwz r0, 0x10(r29)
/* 803AA7B0 003A6410  B0 1F 00 1A */	sth r0, 0x1a(r31)
/* 803AA7B4 003A6414  88 1D 00 16 */	lbz r0, 0x16(r29)
/* 803AA7B8 003A6418  98 1F 00 09 */	stb r0, 9(r31)
/* 803AA7BC 003A641C  A0 1D 00 14 */	lhz r0, 0x14(r29)
/* 803AA7C0 003A6420  B0 1F 00 18 */	sth r0, 0x18(r31)
/* 803AA7C4 003A6424  88 1D 00 09 */	lbz r0, 9(r29)
/* 803AA7C8 003A6428  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 803AA7CC 003A642C  88 7D 00 09 */	lbz r3, 9(r29)
/* 803AA7D0 003A6430  48 03 31 51 */	bl func_803DD920
/* 803AA7D4 003A6434  88 1D 00 18 */	lbz r0, 0x18(r29)
/* 803AA7D8 003A6438  7C 00 18 39 */	and. r0, r0, r3
/* 803AA7DC 003A643C  40 82 00 18 */	bne lbl_803AA7F4
/* 803AA7E0 003A6440  88 1D 00 09 */	lbz r0, 9(r29)
/* 803AA7E4 003A6444  7C 7D 02 14 */	add r3, r29, r0
/* 803AA7E8 003A6448  88 03 00 0C */	lbz r0, 0xc(r3)
/* 803AA7EC 003A644C  98 1F 00 0A */	stb r0, 0xa(r31)
/* 803AA7F0 003A6450  48 00 00 0C */	b lbl_803AA7FC
lbl_803AA7F4:
/* 803AA7F4 003A6454  38 00 00 06 */	li r0, 6
/* 803AA7F8 003A6458  98 1F 00 0A */	stb r0, 0xa(r31)
lbl_803AA7FC:
/* 803AA7FC 003A645C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA800 003A6460  48 00 20 41 */	bl func_803AC840
/* 803AA804 003A6464  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803AA808 003A6468  41 82 00 10 */	beq lbl_803AA818
/* 803AA80C 003A646C  38 00 00 06 */	li r0, 6
/* 803AA810 003A6470  98 1F 00 0B */	stb r0, 0xb(r31)
/* 803AA814 003A6474  48 00 00 44 */	b lbl_803AA858
lbl_803AA818:
/* 803AA818 003A6478  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA81C 003A647C  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA820 003A6480  48 00 25 19 */	bl func_803ACD38
/* 803AA824 003A6484  48 03 30 FD */	bl func_803DD920
/* 803AA828 003A6488  88 1D 00 18 */	lbz r0, 0x18(r29)
/* 803AA82C 003A648C  7C 00 18 39 */	and. r0, r0, r3
/* 803AA830 003A6490  40 82 00 20 */	bne lbl_803AA850
/* 803AA834 003A6494  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA838 003A6498  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA83C 003A649C  48 00 24 FD */	bl func_803ACD38
/* 803AA840 003A64A0  7C 7D 1A 14 */	add r3, r29, r3
/* 803AA844 003A64A4  88 03 00 0C */	lbz r0, 0xc(r3)
/* 803AA848 003A64A8  98 1F 00 0B */	stb r0, 0xb(r31)
/* 803AA84C 003A64AC  48 00 00 0C */	b lbl_803AA858
lbl_803AA850:
/* 803AA850 003A64B0  38 00 00 06 */	li r0, 6
/* 803AA854 003A64B4  98 1F 00 0B */	stb r0, 0xb(r31)
lbl_803AA858:
/* 803AA858 003A64B8  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA85C 003A64BC  7F E6 FB 78 */	mr r6, r31
/* 803AA860 003A64C0  38 60 00 04 */	li r3, 4
/* 803AA864 003A64C4  38 A0 00 FF */	li r5, 0xff
/* 803AA868 003A64C8  4B DC 3A C9 */	bl func_8016E330
/* 803AA86C 003A64CC  88 7D 00 0A */	lbz r3, 0xa(r29)
/* 803AA870 003A64D0  38 03 00 01 */	addi r0, r3, 1
/* 803AA874 003A64D4  98 1D 00 0A */	stb r0, 0xa(r29)
/* 803AA878 003A64D8  48 00 00 90 */	b lbl_803AA908
lbl_803AA87C:
/* 803AA87C 003A64DC  88 7D 00 09 */	lbz r3, 9(r29)
/* 803AA880 003A64E0  4B DC 3B B1 */	bl func_8016E430
/* 803AA884 003A64E4  2C 03 00 FF */	cmpwi r3, 0xff
/* 803AA888 003A64E8  41 82 00 10 */	beq lbl_803AA898
/* 803AA88C 003A64EC  38 60 00 09 */	li r3, 9
/* 803AA890 003A64F0  4B DC 3A 55 */	bl func_8016E2E4
/* 803AA894 003A64F4  48 00 00 74 */	b lbl_803AA908
lbl_803AA898:
/* 803AA898 003A64F8  88 7D 00 09 */	lbz r3, 9(r29)
/* 803AA89C 003A64FC  4B DC 3B DD */	bl VMBASEGetVirtualAddrFromPageInMRAM
/* 803AA8A0 003A6500  2C 03 00 FF */	cmpwi r3, 0xff
/* 803AA8A4 003A6504  83 5D 00 04 */	lwz r26, 4(r29)
/* 803AA8A8 003A6508  40 82 00 18 */	bne lbl_803AA8C0
/* 803AA8AC 003A650C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA8B0 003A6510  38 A0 00 FF */	li r5, 0xff
/* 803AA8B4 003A6514  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA8B8 003A6518  48 00 65 95 */	bl func_803B0E4C
/* 803AA8BC 003A651C  48 00 00 1C */	b lbl_803AA8D8
lbl_803AA8C0:
/* 803AA8C0 003A6520  7C 9A 1A 14 */	add r4, r26, r3
/* 803AA8C4 003A6524  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA8C8 003A6528  88 A4 00 20 */	lbz r5, 0x20(r4)
/* 803AA8CC 003A652C  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA8D0 003A6530  38 A5 00 01 */	addi r5, r5, 1
/* 803AA8D4 003A6534  48 00 65 79 */	bl func_803B0E4C
lbl_803AA8D8:
/* 803AA8D8 003A6538  80 7D 00 00 */	lwz r3, 0(r29)
/* 803AA8DC 003A653C  88 9D 00 09 */	lbz r4, 9(r29)
/* 803AA8E0 003A6540  88 BD 00 08 */	lbz r5, 8(r29)
/* 803AA8E4 003A6544  48 00 7C 8D */	bl func_803B2570
/* 803AA8E8 003A6548  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AA8EC 003A654C  4B DC 37 B5 */	bl func_8016E0A0
/* 803AA8F0 003A6550  7F 43 D3 78 */	mr r3, r26
/* 803AA8F4 003A6554  4B DC 37 AD */	bl func_8016E0A0
/* 803AA8F8 003A6558  7F A3 EB 78 */	mr r3, r29
/* 803AA8FC 003A655C  4B DC 37 A5 */	bl func_8016E0A0
/* 803AA900 003A6560  7E E3 BB 78 */	mr r3, r23
/* 803AA904 003A6564  48 03 46 39 */	bl func_803DEF3C
lbl_803AA908:
/* 803AA908 003A6568  39 61 00 30 */	addi r11, r1, 0x30
/* 803AA90C 003A656C  4B E1 C8 59 */	bl _restgpr_23
/* 803AA910 003A6570  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803AA914 003A6574  7C 08 03 A6 */	mtlr r0
/* 803AA918 003A6578  38 21 00 30 */	addi r1, r1, 0x30
/* 803AA91C 003A657C  4E 80 00 20 */	blr 
lbl_803AA920:
/* 803AA920 003A6580  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803AA924 003A6584  7C 08 02 A6 */	mflr r0
/* 803AA928 003A6588  90 01 00 34 */	stw r0, 0x34(r1)
/* 803AA92C 003A658C  39 61 00 30 */	addi r11, r1, 0x30
/* 803AA930 003A6590  4B E1 C7 F1 */	bl _savegpr_25
/* 803AA934 003A6594  7C 79 1B 78 */	mr r25, r3
/* 803AA938 003A6598  80 64 00 00 */	lwz r3, 0(r4)
/* 803AA93C 003A659C  7C 9A 23 78 */	mr r26, r4
/* 803AA940 003A65A0  48 00 1F 01 */	bl func_803AC840
/* 803AA944 003A65A4  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803AA948 003A65A8  8B DA 00 09 */	lbz r30, 9(r26)
/* 803AA94C 003A65AC  40 82 00 0C */	bne lbl_803AA958
/* 803AA950 003A65B0  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803AA954 003A65B4  41 82 00 0C */	beq lbl_803AA960
lbl_803AA958:
/* 803AA958 003A65B8  7F DB F3 78 */	mr r27, r30
/* 803AA95C 003A65BC  48 00 00 14 */	b lbl_803AA970
lbl_803AA960:
/* 803AA960 003A65C0  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AA964 003A65C4  7F C4 F3 78 */	mr r4, r30
/* 803AA968 003A65C8  48 00 23 D1 */	bl func_803ACD38
/* 803AA96C 003A65CC  7C 7B 1B 78 */	mr r27, r3
lbl_803AA970:
/* 803AA970 003A65D0  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AA974 003A65D4  7F C4 F3 78 */	mr r4, r30
/* 803AA978 003A65D8  38 A0 00 02 */	li r5, 2
/* 803AA97C 003A65DC  48 01 EA 49 */	bl func_803C93C4
/* 803AA980 003A65E0  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803AA984 003A65E4  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AA988 003A65E8  7F C4 F3 78 */	mr r4, r30
/* 803AA98C 003A65EC  38 A0 00 00 */	li r5, 0
/* 803AA990 003A65F0  48 01 EA 35 */	bl func_803C93C4
/* 803AA994 003A65F4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803AA998 003A65F8  28 00 00 03 */	cmplwi r0, 3
/* 803AA99C 003A65FC  40 82 00 0C */	bne lbl_803AA9A8
/* 803AA9A0 003A6600  2C 1D 00 FF */	cmpwi r29, 0xff
/* 803AA9A4 003A6604  40 82 00 14 */	bne lbl_803AA9B8
lbl_803AA9A8:
/* 803AA9A8 003A6608  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AA9AC 003A660C  7F C4 F3 78 */	mr r4, r30
/* 803AA9B0 003A6610  4B DD 21 65 */	bl func_8017CB14
/* 803AA9B4 003A6614  54 7D 06 3E */	clrlwi r29, r3, 0x18
lbl_803AA9B8:
/* 803AA9B8 003A6618  2C 1E 00 00 */	cmpwi r30, 0
/* 803AA9BC 003A661C  41 80 00 64 */	blt lbl_803AAA20
/* 803AA9C0 003A6620  2C 1E 00 04 */	cmpwi r30, 4
/* 803AA9C4 003A6624  40 80 00 5C */	bge lbl_803AAA20
/* 803AA9C8 003A6628  2C 1D 00 00 */	cmpwi r29, 0
/* 803AA9CC 003A662C  41 80 00 54 */	blt lbl_803AAA20
/* 803AA9D0 003A6630  2C 1D 00 06 */	cmpwi r29, 6
/* 803AA9D4 003A6634  40 80 00 4C */	bge lbl_803AAA20
/* 803AA9D8 003A6638  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AA9DC 003A663C  7F C4 F3 78 */	mr r4, r30
/* 803AA9E0 003A6640  7F A5 EB 78 */	mr r5, r29
/* 803AA9E4 003A6644  48 00 1F C1 */	bl func_803AC9A4
/* 803AA9E8 003A6648  38 80 00 A2 */	li r4, 0xa2
/* 803AA9EC 003A664C  38 A0 00 00 */	li r5, 0
/* 803AA9F0 003A6650  48 03 2F ED */	bl func_803DD9DC
/* 803AA9F4 003A6654  2C 03 00 00 */	cmpwi r3, 0
/* 803AA9F8 003A6658  41 82 00 24 */	beq lbl_803AAA1C
/* 803AA9FC 003A665C  7C 7A F2 14 */	add r3, r26, r30
/* 803AAA00 003A6660  88 03 00 0C */	lbz r0, 0xc(r3)
/* 803AAA04 003A6664  7C 1D 00 00 */	cmpw r29, r0
/* 803AAA08 003A6668  41 82 00 14 */	beq lbl_803AAA1C
/* 803AAA0C 003A666C  7C 7A DA 14 */	add r3, r26, r27
/* 803AAA10 003A6670  88 03 00 0C */	lbz r0, 0xc(r3)
/* 803AAA14 003A6674  7C 1D 00 00 */	cmpw r29, r0
/* 803AAA18 003A6678  40 82 00 08 */	bne lbl_803AAA20
lbl_803AAA1C:
/* 803AAA1C 003A667C  3B A0 00 FF */	li r29, 0xff
lbl_803AAA20:
/* 803AAA20 003A6680  2C 1D 00 FF */	cmpwi r29, 0xff
/* 803AAA24 003A6684  40 82 00 08 */	bne lbl_803AAA2C
/* 803AAA28 003A6688  3B A0 00 06 */	li r29, 6
lbl_803AAA2C:
/* 803AAA2C 003A668C  2C 1D 00 06 */	cmpwi r29, 6
/* 803AAA30 003A6690  40 82 00 74 */	bne lbl_803AAAA4
/* 803AAA34 003A6694  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AAA38 003A6698  88 9A 00 09 */	lbz r4, 9(r26)
/* 803AAA3C 003A669C  48 00 1E 2D */	bl func_803AC868
/* 803AAA40 003A66A0  7F FA F2 14 */	add r31, r26, r30
/* 803AAA44 003A66A4  7C 7C 1B 78 */	mr r28, r3
/* 803AAA48 003A66A8  7F DA DA 14 */	add r30, r26, r27
/* 803AAA4C 003A66AC  3B A0 00 00 */	li r29, 0
/* 803AAA50 003A66B0  48 00 00 44 */	b lbl_803AAA94
lbl_803AAA54:
/* 803AAA54 003A66B4  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AAA58 003A66B8  7F A5 EB 78 */	mr r5, r29
/* 803AAA5C 003A66BC  88 9A 00 09 */	lbz r4, 9(r26)
/* 803AAA60 003A66C0  48 00 1F 45 */	bl func_803AC9A4
/* 803AAA64 003A66C4  38 80 00 A2 */	li r4, 0xa2
/* 803AAA68 003A66C8  38 A0 00 00 */	li r5, 0
/* 803AAA6C 003A66CC  48 03 2F 71 */	bl func_803DD9DC
/* 803AAA70 003A66D0  2C 03 00 00 */	cmpwi r3, 0
/* 803AAA74 003A66D4  41 82 00 1C */	beq lbl_803AAA90
/* 803AAA78 003A66D8  88 1F 00 0C */	lbz r0, 0xc(r31)
/* 803AAA7C 003A66DC  7C 1D 00 00 */	cmpw r29, r0
/* 803AAA80 003A66E0  41 82 00 10 */	beq lbl_803AAA90
/* 803AAA84 003A66E4  88 1E 00 0C */	lbz r0, 0xc(r30)
/* 803AAA88 003A66E8  7C 1D 00 00 */	cmpw r29, r0
/* 803AAA8C 003A66EC  40 82 00 18 */	bne lbl_803AAAA4
lbl_803AAA90:
/* 803AAA90 003A66F0  3B BD 00 01 */	addi r29, r29, 1
lbl_803AAA94:
/* 803AAA94 003A66F4  7F 83 E3 78 */	mr r3, r28
/* 803AAA98 003A66F8  48 03 3E AD */	bl func_803DE944
/* 803AAA9C 003A66FC  7C 1D 18 00 */	cmpw r29, r3
/* 803AAAA0 003A6700  41 80 FF B4 */	blt lbl_803AAA54
lbl_803AAAA4:
/* 803AAAA4 003A6704  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AAAA8 003A6708  38 BD 00 01 */	addi r5, r29, 1
/* 803AAAAC 003A670C  88 9A 00 09 */	lbz r4, 9(r26)
/* 803AAAB0 003A6710  48 00 63 9D */	bl func_803B0E4C
/* 803AAAB4 003A6714  80 7A 00 00 */	lwz r3, 0(r26)
/* 803AAAB8 003A6718  88 9A 00 09 */	lbz r4, 9(r26)
/* 803AAABC 003A671C  88 BA 00 08 */	lbz r5, 8(r26)
/* 803AAAC0 003A6720  48 00 7A B1 */	bl func_803B2570
/* 803AAAC4 003A6724  7F 43 D3 78 */	mr r3, r26
/* 803AAAC8 003A6728  4B DC 35 D9 */	bl func_8016E0A0
/* 803AAACC 003A672C  7F 23 CB 78 */	mr r3, r25
/* 803AAAD0 003A6730  48 03 44 6D */	bl func_803DEF3C
/* 803AAAD4 003A6734  39 61 00 30 */	addi r11, r1, 0x30
/* 803AAAD8 003A6738  4B E1 C6 95 */	bl _restgpr_25
/* 803AAADC 003A673C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803AAAE0 003A6740  7C 08 03 A6 */	mtlr r0
/* 803AAAE4 003A6744  38 21 00 30 */	addi r1, r1, 0x30
/* 803AAAE8 003A6748  4E 80 00 20 */	blr 
lbl_803AAAEC:
/* 803AAAEC 003A674C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803AAAF0 003A6750  7C 08 02 A6 */	mflr r0
/* 803AAAF4 003A6754  90 01 00 44 */	stw r0, 0x44(r1)
/* 803AAAF8 003A6758  39 61 00 40 */	addi r11, r1, 0x40
/* 803AAAFC 003A675C  4B E1 C6 31 */	bl _savegpr_28
/* 803AAB00 003A6760  7C 7C 1B 78 */	mr r28, r3
/* 803AAB04 003A6764  80 64 00 00 */	lwz r3, 0(r4)
/* 803AAB08 003A6768  7C 9F 23 78 */	mr r31, r4
/* 803AAB0C 003A676C  48 00 1D 2D */	bl func_803AC838
/* 803AAB10 003A6770  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AAB14 003A6774  48 00 1F 45 */	bl func_803ACA58
/* 803AAB18 003A6778  7C 7E 1B 78 */	mr r30, r3
/* 803AAB1C 003A677C  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AAB20 003A6780  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AAB24 003A6784  48 00 1D 2D */	bl cTeam_GetPlayer
/* 803AAB28 003A6788  7C 7D 1B 78 */	mr r29, r3
/* 803AAB2C 003A678C  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AAB30 003A6790  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AAB34 003A6794  48 00 22 05 */	bl func_803ACD38
/* 803AAB38 003A6798  88 1F 00 0D */	lbz r0, 0xd(r31)
/* 803AAB3C 003A679C  7C 64 1B 78 */	mr r4, r3
/* 803AAB40 003A67A0  7C 03 00 00 */	cmpw r3, r0
/* 803AAB44 003A67A4  41 82 00 0C */	beq lbl_803AAB50
/* 803AAB48 003A67A8  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AAB4C 003A67AC  48 00 31 7D */	bl func_803ADCC8
lbl_803AAB50:
/* 803AAB50 003A67B0  88 1F 00 0E */	lbz r0, 0xe(r31)
/* 803AAB54 003A67B4  2C 00 00 02 */	cmpwi r0, 2
/* 803AAB58 003A67B8  41 82 01 94 */	beq lbl_803AACEC
/* 803AAB5C 003A67BC  40 80 00 14 */	bge lbl_803AAB70
/* 803AAB60 003A67C0  2C 00 00 00 */	cmpwi r0, 0
/* 803AAB64 003A67C4  41 82 00 1C */	beq lbl_803AAB80
/* 803AAB68 003A67C8  40 80 00 A0 */	bge lbl_803AAC08
/* 803AAB6C 003A67CC  48 00 02 48 */	b lbl_803AADB4
lbl_803AAB70:
/* 803AAB70 003A67D0  2C 00 00 04 */	cmpwi r0, 4
/* 803AAB74 003A67D4  41 82 02 00 */	beq lbl_803AAD74
/* 803AAB78 003A67D8  40 80 02 3C */	bge lbl_803AADB4
/* 803AAB7C 003A67DC  48 00 01 98 */	b lbl_803AAD14
lbl_803AAB80:
/* 803AAB80 003A67E0  7F C3 F3 78 */	mr r3, r30
/* 803AAB84 003A67E4  48 02 EC 9D */	bl func_803D9820
/* 803AAB88 003A67E8  2C 03 00 00 */	cmpwi r3, 0
/* 803AAB8C 003A67EC  41 82 02 28 */	beq lbl_803AADB4
/* 803AAB90 003A67F0  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 803AAB94 003A67F4  2C 00 00 00 */	cmpwi r0, 0
/* 803AAB98 003A67F8  41 82 00 64 */	beq lbl_803AABFC
/* 803AAB9C 003A67FC  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AABA0 003A6800  48 00 1E C1 */	bl func_803ACA60
/* 803AABA4 003A6804  88 1F 00 0F */	lbz r0, 0xf(r31)
/* 803AABA8 003A6808  7C 7D 1B 78 */	mr r29, r3
/* 803AABAC 003A680C  28 00 00 05 */	cmplwi r0, 5
/* 803AABB0 003A6810  40 82 00 18 */	bne lbl_803AABC8
/* 803AABB4 003A6814  38 00 00 82 */	li r0, 0x82
/* 803AABB8 003A6818  98 01 00 0D */	stb r0, 0xd(r1)
/* 803AABBC 003A681C  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 803AABC0 003A6820  90 01 00 10 */	stw r0, 0x10(r1)
/* 803AABC4 003A6824  48 00 00 0C */	b lbl_803AABD0
lbl_803AABC8:
/* 803AABC8 003A6828  38 00 00 00 */	li r0, 0
/* 803AABCC 003A682C  98 01 00 0D */	stb r0, 0xd(r1)
lbl_803AABD0:
/* 803AABD0 003A6830  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 803AABD4 003A6834  B0 01 00 0E */	sth r0, 0xe(r1)
/* 803AABD8 003A6838  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AABDC 003A683C  48 00 2F E1 */	bl func_803ADBBC
/* 803AABE0 003A6840  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803AABE4 003A6844  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AABE8 003A6848  7F A4 EB 78 */	mr r4, r29
/* 803AABEC 003A684C  38 A1 00 0C */	addi r5, r1, 0xc
/* 803AABF0 003A6850  48 00 32 7D */	bl func_803ADE6C
/* 803AABF4 003A6854  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803AABF8 003A6858  B0 1F 00 1A */	sth r0, 0x1a(r31)
lbl_803AABFC:
/* 803AABFC 003A685C  38 00 00 01 */	li r0, 1
/* 803AAC00 003A6860  98 1F 00 0E */	stb r0, 0xe(r31)
/* 803AAC04 003A6864  48 00 01 B0 */	b lbl_803AADB4
lbl_803AAC08:
/* 803AAC08 003A6868  A0 7F 00 1A */	lhz r3, 0x1a(r31)
/* 803AAC0C 003A686C  48 02 EB E1 */	bl func_803D97EC
/* 803AAC10 003A6870  2C 03 00 00 */	cmpwi r3, 0
/* 803AAC14 003A6874  41 82 00 10 */	beq lbl_803AAC24
/* 803AAC18 003A6878  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 803AAC1C 003A687C  2C 00 00 00 */	cmpwi r0, 0
/* 803AAC20 003A6880  40 82 01 94 */	bne lbl_803AADB4
lbl_803AAC24:
/* 803AAC24 003A6884  7F C3 F3 78 */	mr r3, r30
/* 803AAC28 003A6888  48 02 EC 11 */	bl func_803D9838
/* 803AAC2C 003A688C  A0 1F 00 18 */	lhz r0, 0x18(r31)
/* 803AAC30 003A6890  B0 01 00 08 */	sth r0, 8(r1)
/* 803AAC34 003A6894  88 1F 00 0F */	lbz r0, 0xf(r31)
/* 803AAC38 003A6898  2C 00 00 03 */	cmpwi r0, 3
/* 803AAC3C 003A689C  41 82 00 78 */	beq lbl_803AACB4
/* 803AAC40 003A68A0  40 80 00 1C */	bge lbl_803AAC5C
/* 803AAC44 003A68A4  2C 00 00 01 */	cmpwi r0, 1
/* 803AAC48 003A68A8  41 82 00 3C */	beq lbl_803AAC84
/* 803AAC4C 003A68AC  40 80 00 50 */	bge lbl_803AAC9C
/* 803AAC50 003A68B0  2C 00 00 00 */	cmpwi r0, 0
/* 803AAC54 003A68B4  40 80 00 18 */	bge lbl_803AAC6C
/* 803AAC58 003A68B8  48 00 00 88 */	b lbl_803AACE0
lbl_803AAC5C:
/* 803AAC5C 003A68BC  2C 00 00 05 */	cmpwi r0, 5
/* 803AAC60 003A68C0  41 82 00 0C */	beq lbl_803AAC6C
/* 803AAC64 003A68C4  40 80 00 7C */	bge lbl_803AACE0
/* 803AAC68 003A68C8  48 00 00 64 */	b lbl_803AACCC
lbl_803AAC6C:
/* 803AAC6C 003A68CC  7F C3 F3 78 */	mr r3, r30
/* 803AAC70 003A68D0  38 C1 00 08 */	addi r6, r1, 8
/* 803AAC74 003A68D4  38 80 00 0D */	li r4, 0xd
/* 803AAC78 003A68D8  38 A0 00 00 */	li r5, 0
/* 803AAC7C 003A68DC  48 02 EB B9 */	bl func_803D9834
/* 803AAC80 003A68E0  48 00 00 60 */	b lbl_803AACE0
lbl_803AAC84:
/* 803AAC84 003A68E4  7F C3 F3 78 */	mr r3, r30
/* 803AAC88 003A68E8  38 C1 00 08 */	addi r6, r1, 8
/* 803AAC8C 003A68EC  38 80 00 0E */	li r4, 0xe
/* 803AAC90 003A68F0  38 A0 00 00 */	li r5, 0
/* 803AAC94 003A68F4  48 02 EB A1 */	bl func_803D9834
/* 803AAC98 003A68F8  48 00 00 48 */	b lbl_803AACE0
lbl_803AAC9C:
/* 803AAC9C 003A68FC  7F C3 F3 78 */	mr r3, r30
/* 803AACA0 003A6900  38 C1 00 08 */	addi r6, r1, 8
/* 803AACA4 003A6904  38 80 00 0F */	li r4, 0xf
/* 803AACA8 003A6908  38 A0 00 00 */	li r5, 0
/* 803AACAC 003A690C  48 02 EB 89 */	bl func_803D9834
/* 803AACB0 003A6910  48 00 00 30 */	b lbl_803AACE0
lbl_803AACB4:
/* 803AACB4 003A6914  7F C3 F3 78 */	mr r3, r30
/* 803AACB8 003A6918  38 C1 00 08 */	addi r6, r1, 8
/* 803AACBC 003A691C  38 80 00 10 */	li r4, 0x10
/* 803AACC0 003A6920  38 A0 00 00 */	li r5, 0
/* 803AACC4 003A6924  48 02 EB 71 */	bl func_803D9834
/* 803AACC8 003A6928  48 00 00 18 */	b lbl_803AACE0
lbl_803AACCC:
/* 803AACCC 003A692C  7F C3 F3 78 */	mr r3, r30
/* 803AACD0 003A6930  38 C1 00 08 */	addi r6, r1, 8
/* 803AACD4 003A6934  38 80 00 11 */	li r4, 0x11
/* 803AACD8 003A6938  38 A0 00 00 */	li r5, 0
/* 803AACDC 003A693C  48 02 EB 59 */	bl func_803D9834
lbl_803AACE0:
/* 803AACE0 003A6940  38 00 00 02 */	li r0, 2
/* 803AACE4 003A6944  98 1F 00 0E */	stb r0, 0xe(r31)
/* 803AACE8 003A6948  48 00 00 CC */	b lbl_803AADB4
lbl_803AACEC:
/* 803AACEC 003A694C  7F C3 F3 78 */	mr r3, r30
/* 803AACF0 003A6950  48 02 EB 39 */	bl func_803D9828
/* 803AACF4 003A6954  2C 03 00 00 */	cmpwi r3, 0
/* 803AACF8 003A6958  90 7F 00 08 */	stw r3, 8(r31)
/* 803AACFC 003A695C  41 82 00 B8 */	beq lbl_803AADB4
/* 803AAD00 003A6960  38 60 00 07 */	li r3, 7
/* 803AAD04 003A6964  48 02 EA F5 */	bl func_803D97F8
/* 803AAD08 003A6968  38 00 00 03 */	li r0, 3
/* 803AAD0C 003A696C  98 1F 00 0E */	stb r0, 0xe(r31)
/* 803AAD10 003A6970  48 00 00 A4 */	b lbl_803AADB4
lbl_803AAD14:
/* 803AAD14 003A6974  7F C3 F3 78 */	mr r3, r30
/* 803AAD18 003A6978  48 02 EB 09 */	bl func_803D9820
/* 803AAD1C 003A697C  2C 03 00 01 */	cmpwi r3, 1
/* 803AAD20 003A6980  40 82 00 94 */	bne lbl_803AADB4
/* 803AAD24 003A6984  80 7F 00 04 */	lwz r3, 4(r31)
/* 803AAD28 003A6988  48 02 EA E5 */	bl func_803D980C
/* 803AAD2C 003A698C  7F A3 EB 78 */	mr r3, r29
/* 803AAD30 003A6990  48 02 EB 21 */	bl func_803D9850
/* 803AAD34 003A6994  7F C3 F3 78 */	mr r3, r30
/* 803AAD38 003A6998  48 02 EB 01 */	bl func_803D9838
/* 803AAD3C 003A699C  7F C3 F3 78 */	mr r3, r30
/* 803AAD40 003A69A0  38 80 00 00 */	li r4, 0
/* 803AAD44 003A69A4  38 A0 00 00 */	li r5, 0
/* 803AAD48 003A69A8  38 C0 00 00 */	li r6, 0
/* 803AAD4C 003A69AC  48 02 EA E9 */	bl func_803D9834
/* 803AAD50 003A69B0  80 1F 00 08 */	lwz r0, 8(r31)
/* 803AAD54 003A69B4  2C 00 00 01 */	cmpwi r0, 1
/* 803AAD58 003A69B8  40 82 00 10 */	bne lbl_803AAD68
/* 803AAD5C 003A69BC  7F C3 F3 78 */	mr r3, r30
/* 803AAD60 003A69C0  38 80 00 00 */	li r4, 0
/* 803AAD64 003A69C4  48 02 EA CD */	bl func_803D9830
lbl_803AAD68:
/* 803AAD68 003A69C8  38 00 00 04 */	li r0, 4
/* 803AAD6C 003A69CC  98 1F 00 0E */	stb r0, 0xe(r31)
/* 803AAD70 003A69D0  48 00 00 44 */	b lbl_803AADB4
lbl_803AAD74:
/* 803AAD74 003A69D4  7F C3 F3 78 */	mr r3, r30
/* 803AAD78 003A69D8  48 02 EA A1 */	bl func_803D9818
/* 803AAD7C 003A69DC  2C 03 00 01 */	cmpwi r3, 1
/* 803AAD80 003A69E0  40 82 00 34 */	bne lbl_803AADB4
/* 803AAD84 003A69E4  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AAD88 003A69E8  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AAD8C 003A69EC  80 BF 00 08 */	lwz r5, 8(r31)
/* 803AAD90 003A69F0  48 00 5A 25 */	bl func_803B07B4
/* 803AAD94 003A69F4  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AAD98 003A69F8  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 803AAD9C 003A69FC  88 BF 00 0C */	lbz r5, 0xc(r31)
/* 803AADA0 003A6A00  48 00 77 D1 */	bl func_803B2570
/* 803AADA4 003A6A04  7F E3 FB 78 */	mr r3, r31
/* 803AADA8 003A6A08  4B DC 32 F9 */	bl func_8016E0A0
/* 803AADAC 003A6A0C  7F 83 E3 78 */	mr r3, r28
/* 803AADB0 003A6A10  48 03 41 8D */	bl func_803DEF3C
lbl_803AADB4:
/* 803AADB4 003A6A14  39 61 00 40 */	addi r11, r1, 0x40
/* 803AADB8 003A6A18  4B E1 C3 C1 */	bl _restgpr_28
/* 803AADBC 003A6A1C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803AADC0 003A6A20  7C 08 03 A6 */	mtlr r0
/* 803AADC4 003A6A24  38 21 00 40 */	addi r1, r1, 0x40
/* 803AADC8 003A6A28  4E 80 00 20 */	blr 
lbl_803AADCC:
/* 803AADCC 003A6A2C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AADD0 003A6A30  7C 08 02 A6 */	mflr r0
/* 803AADD4 003A6A34  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AADD8 003A6A38  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AADDC 003A6A3C  7C 9F 23 78 */	mr r31, r4
/* 803AADE0 003A6A40  93 C1 00 08 */	stw r30, 8(r1)
/* 803AADE4 003A6A44  7C 7E 1B 78 */	mr r30, r3
/* 803AADE8 003A6A48  80 64 00 00 */	lwz r3, 0(r4)
/* 803AADEC 003A6A4C  88 84 00 0D */	lbz r4, 0xd(r4)
/* 803AADF0 003A6A50  88 BF 00 0C */	lbz r5, 0xc(r31)
/* 803AADF4 003A6A54  48 00 77 7D */	bl func_803B2570
/* 803AADF8 003A6A58  7F E3 FB 78 */	mr r3, r31
/* 803AADFC 003A6A5C  4B DC 32 A5 */	bl func_8016E0A0
/* 803AAE00 003A6A60  7F C3 F3 78 */	mr r3, r30
/* 803AAE04 003A6A64  48 03 41 39 */	bl func_803DEF3C
/* 803AAE08 003A6A68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AAE0C 003A6A6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AAE10 003A6A70  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AAE14 003A6A74  7C 08 03 A6 */	mtlr r0
/* 803AAE18 003A6A78  38 21 00 10 */	addi r1, r1, 0x10
/* 803AAE1C 003A6A7C  4E 80 00 20 */	blr 
lbl_803AAE20:
/* 803AAE20 003A6A80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AAE24 003A6A84  7C 08 02 A6 */	mflr r0
/* 803AAE28 003A6A88  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AAE2C 003A6A8C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AAE30 003A6A90  7C 9F 23 78 */	mr r31, r4
/* 803AAE34 003A6A94  93 C1 00 08 */	stw r30, 8(r1)
/* 803AAE38 003A6A98  7C 7E 1B 78 */	mr r30, r3
/* 803AAE3C 003A6A9C  80 64 00 00 */	lwz r3, 0(r4)
/* 803AAE40 003A6AA0  88 84 00 69 */	lbz r4, 0x69(r4)
/* 803AAE44 003A6AA4  88 BF 00 68 */	lbz r5, 0x68(r31)
/* 803AAE48 003A6AA8  48 00 77 29 */	bl func_803B2570
/* 803AAE4C 003A6AAC  7F E3 FB 78 */	mr r3, r31
/* 803AAE50 003A6AB0  4B DC 32 51 */	bl func_8016E0A0
/* 803AAE54 003A6AB4  7F C3 F3 78 */	mr r3, r30
/* 803AAE58 003A6AB8  48 03 40 E5 */	bl func_803DEF3C
/* 803AAE5C 003A6ABC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AAE60 003A6AC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AAE64 003A6AC4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AAE68 003A6AC8  7C 08 03 A6 */	mtlr r0
/* 803AAE6C 003A6ACC  38 21 00 10 */	addi r1, r1, 0x10
/* 803AAE70 003A6AD0  4E 80 00 20 */	blr 
lbl_803AAE74:
/* 803AAE74 003A6AD4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AAE78 003A6AD8  7C 08 02 A6 */	mflr r0
/* 803AAE7C 003A6ADC  38 A0 00 17 */	li r5, 0x17
/* 803AAE80 003A6AE0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AAE84 003A6AE4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AAE88 003A6AE8  7C 9F 23 78 */	mr r31, r4
/* 803AAE8C 003A6AEC  93 C1 00 08 */	stw r30, 8(r1)
/* 803AAE90 003A6AF0  7C 7E 1B 78 */	mr r30, r3
/* 803AAE94 003A6AF4  80 64 00 00 */	lwz r3, 0(r4)
/* 803AAE98 003A6AF8  88 84 00 08 */	lbz r4, 8(r4)
/* 803AAE9C 003A6AFC  48 00 76 D5 */	bl func_803B2570
/* 803AAEA0 003A6B00  7F E3 FB 78 */	mr r3, r31
/* 803AAEA4 003A6B04  4B DC 31 FD */	bl func_8016E0A0
/* 803AAEA8 003A6B08  7F C3 F3 78 */	mr r3, r30
/* 803AAEAC 003A6B0C  48 03 40 91 */	bl func_803DEF3C
/* 803AAEB0 003A6B10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AAEB4 003A6B14  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AAEB8 003A6B18  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AAEBC 003A6B1C  7C 08 03 A6 */	mtlr r0
/* 803AAEC0 003A6B20  38 21 00 10 */	addi r1, r1, 0x10
/* 803AAEC4 003A6B24  4E 80 00 20 */	blr 
lbl_803AAEC8:
/* 803AAEC8 003A6B28  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AAECC 003A6B2C  7C 08 02 A6 */	mflr r0
/* 803AAED0 003A6B30  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AAED4 003A6B34  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AAED8 003A6B38  7C 9F 23 78 */	mr r31, r4
/* 803AAEDC 003A6B3C  93 C1 00 08 */	stw r30, 8(r1)
/* 803AAEE0 003A6B40  7C 7E 1B 78 */	mr r30, r3
/* 803AAEE4 003A6B44  80 64 00 0C */	lwz r3, 0xc(r4)
/* 803AAEE8 003A6B48  88 84 00 18 */	lbz r4, 0x18(r4)
/* 803AAEEC 003A6B4C  88 BF 00 40 */	lbz r5, 0x40(r31)
/* 803AAEF0 003A6B50  48 00 76 81 */	bl func_803B2570
/* 803AAEF4 003A6B54  38 00 00 00 */	li r0, 0
/* 803AAEF8 003A6B58  7F C3 F3 78 */	mr r3, r30
/* 803AAEFC 003A6B5C  90 1F 00 10 */	stw r0, 0x10(r31)
/* 803AAF00 003A6B60  48 03 40 3D */	bl func_803DEF3C
/* 803AAF04 003A6B64  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AAF08 003A6B68  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AAF0C 003A6B6C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AAF10 003A6B70  7C 08 03 A6 */	mtlr r0
/* 803AAF14 003A6B74  38 21 00 10 */	addi r1, r1, 0x10
/* 803AAF18 003A6B78  4E 80 00 20 */	blr 
lbl_803AAF1C:
/* 803AAF1C 003A6B7C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AAF20 003A6B80  7C 08 02 A6 */	mflr r0
/* 803AAF24 003A6B84  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AAF28 003A6B88  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AAF2C 003A6B8C  7C 9F 23 78 */	mr r31, r4
/* 803AAF30 003A6B90  93 C1 00 08 */	stw r30, 8(r1)
/* 803AAF34 003A6B94  7C 7E 1B 78 */	mr r30, r3
/* 803AAF38 003A6B98  80 64 00 0C */	lwz r3, 0xc(r4)
/* 803AAF3C 003A6B9C  88 84 00 18 */	lbz r4, 0x18(r4)
/* 803AAF40 003A6BA0  88 BF 00 40 */	lbz r5, 0x40(r31)
/* 803AAF44 003A6BA4  48 00 76 2D */	bl func_803B2570
/* 803AAF48 003A6BA8  38 00 00 00 */	li r0, 0
/* 803AAF4C 003A6BAC  7F C3 F3 78 */	mr r3, r30
/* 803AAF50 003A6BB0  90 1F 00 10 */	stw r0, 0x10(r31)
/* 803AAF54 003A6BB4  48 03 3F E9 */	bl func_803DEF3C
/* 803AAF58 003A6BB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AAF5C 003A6BBC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AAF60 003A6BC0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AAF64 003A6BC4  7C 08 03 A6 */	mtlr r0
/* 803AAF68 003A6BC8  38 21 00 10 */	addi r1, r1, 0x10
/* 803AAF6C 003A6BCC  4E 80 00 20 */	blr 
lbl_803AAF70:
/* 803AAF70 003A6BD0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AAF74 003A6BD4  7C 08 02 A6 */	mflr r0
/* 803AAF78 003A6BD8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AAF7C 003A6BDC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AAF80 003A6BE0  7C 9F 23 78 */	mr r31, r4
/* 803AAF84 003A6BE4  93 C1 00 08 */	stw r30, 8(r1)
/* 803AAF88 003A6BE8  7C 7E 1B 78 */	mr r30, r3
/* 803AAF8C 003A6BEC  80 64 00 00 */	lwz r3, 0(r4)
/* 803AAF90 003A6BF0  88 84 00 65 */	lbz r4, 0x65(r4)
/* 803AAF94 003A6BF4  88 BF 00 64 */	lbz r5, 0x64(r31)
/* 803AAF98 003A6BF8  48 00 75 D9 */	bl func_803B2570
/* 803AAF9C 003A6BFC  7F E3 FB 78 */	mr r3, r31
/* 803AAFA0 003A6C00  4B DC 31 01 */	bl func_8016E0A0
/* 803AAFA4 003A6C04  7F C3 F3 78 */	mr r3, r30
/* 803AAFA8 003A6C08  48 03 3F 95 */	bl func_803DEF3C
/* 803AAFAC 003A6C0C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AAFB0 003A6C10  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AAFB4 003A6C14  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AAFB8 003A6C18  7C 08 03 A6 */	mtlr r0
/* 803AAFBC 003A6C1C  38 21 00 10 */	addi r1, r1, 0x10
/* 803AAFC0 003A6C20  4E 80 00 20 */	blr 
lbl_803AAFC4:
/* 803AAFC4 003A6C24  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AAFC8 003A6C28  7C 08 02 A6 */	mflr r0
/* 803AAFCC 003A6C2C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AAFD0 003A6C30  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AAFD4 003A6C34  7C 9F 23 78 */	mr r31, r4
/* 803AAFD8 003A6C38  93 C1 00 08 */	stw r30, 8(r1)
/* 803AAFDC 003A6C3C  7C 7E 1B 78 */	mr r30, r3
/* 803AAFE0 003A6C40  80 64 00 00 */	lwz r3, 0(r4)
/* 803AAFE4 003A6C44  88 84 00 05 */	lbz r4, 5(r4)
/* 803AAFE8 003A6C48  88 BF 00 04 */	lbz r5, 4(r31)
/* 803AAFEC 003A6C4C  48 00 75 85 */	bl func_803B2570
/* 803AAFF0 003A6C50  7F E3 FB 78 */	mr r3, r31
/* 803AAFF4 003A6C54  4B DC 30 AD */	bl func_8016E0A0
/* 803AAFF8 003A6C58  7F C3 F3 78 */	mr r3, r30
/* 803AAFFC 003A6C5C  48 03 3F 41 */	bl func_803DEF3C
/* 803AB000 003A6C60  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB004 003A6C64  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB008 003A6C68  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB00C 003A6C6C  7C 08 03 A6 */	mtlr r0
/* 803AB010 003A6C70  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB014 003A6C74  4E 80 00 20 */	blr 
lbl_803AB018:
/* 803AB018 003A6C78  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB01C 003A6C7C  7C 08 02 A6 */	mflr r0
/* 803AB020 003A6C80  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB024 003A6C84  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB028 003A6C88  7C 9F 23 78 */	mr r31, r4
/* 803AB02C 003A6C8C  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB030 003A6C90  7C 7E 1B 78 */	mr r30, r3
/* 803AB034 003A6C94  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB038 003A6C98  88 84 00 61 */	lbz r4, 0x61(r4)
/* 803AB03C 003A6C9C  88 BF 00 60 */	lbz r5, 0x60(r31)
/* 803AB040 003A6CA0  48 00 75 31 */	bl func_803B2570
/* 803AB044 003A6CA4  7F E3 FB 78 */	mr r3, r31
/* 803AB048 003A6CA8  4B DC 30 59 */	bl func_8016E0A0
/* 803AB04C 003A6CAC  7F C3 F3 78 */	mr r3, r30
/* 803AB050 003A6CB0  48 03 3E ED */	bl func_803DEF3C
/* 803AB054 003A6CB4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB058 003A6CB8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB05C 003A6CBC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB060 003A6CC0  7C 08 03 A6 */	mtlr r0
/* 803AB064 003A6CC4  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB068 003A6CC8  4E 80 00 20 */	blr 
lbl_803AB06C:
/* 803AB06C 003A6CCC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB070 003A6CD0  7C 08 02 A6 */	mflr r0
/* 803AB074 003A6CD4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB078 003A6CD8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB07C 003A6CDC  7C 9F 23 78 */	mr r31, r4
/* 803AB080 003A6CE0  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB084 003A6CE4  7C 7E 1B 78 */	mr r30, r3
/* 803AB088 003A6CE8  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB08C 003A6CEC  88 84 00 09 */	lbz r4, 9(r4)
/* 803AB090 003A6CF0  88 BF 00 08 */	lbz r5, 8(r31)
/* 803AB094 003A6CF4  48 00 74 DD */	bl func_803B2570
/* 803AB098 003A6CF8  7F E3 FB 78 */	mr r3, r31
/* 803AB09C 003A6CFC  4B DC 30 05 */	bl func_8016E0A0
/* 803AB0A0 003A6D00  7F C3 F3 78 */	mr r3, r30
/* 803AB0A4 003A6D04  48 03 3E 99 */	bl func_803DEF3C
/* 803AB0A8 003A6D08  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB0AC 003A6D0C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB0B0 003A6D10  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB0B4 003A6D14  7C 08 03 A6 */	mtlr r0
/* 803AB0B8 003A6D18  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB0BC 003A6D1C  4E 80 00 20 */	blr 
lbl_803AB0C0:
/* 803AB0C0 003A6D20  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB0C4 003A6D24  7C 08 02 A6 */	mflr r0
/* 803AB0C8 003A6D28  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB0CC 003A6D2C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB0D0 003A6D30  7C 9F 23 78 */	mr r31, r4
/* 803AB0D4 003A6D34  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB0D8 003A6D38  7C 7E 1B 78 */	mr r30, r3
/* 803AB0DC 003A6D3C  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB0E0 003A6D40  88 84 00 05 */	lbz r4, 5(r4)
/* 803AB0E4 003A6D44  88 BF 00 04 */	lbz r5, 4(r31)
/* 803AB0E8 003A6D48  48 00 74 89 */	bl func_803B2570
/* 803AB0EC 003A6D4C  7F E3 FB 78 */	mr r3, r31
/* 803AB0F0 003A6D50  4B DC 2F B1 */	bl func_8016E0A0
/* 803AB0F4 003A6D54  7F C3 F3 78 */	mr r3, r30
/* 803AB0F8 003A6D58  48 03 3E 45 */	bl func_803DEF3C
/* 803AB0FC 003A6D5C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB100 003A6D60  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB104 003A6D64  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB108 003A6D68  7C 08 03 A6 */	mtlr r0
/* 803AB10C 003A6D6C  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB110 003A6D70  4E 80 00 20 */	blr 
lbl_803AB114:
/* 803AB114 003A6D74  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB118 003A6D78  7C 08 02 A6 */	mflr r0
/* 803AB11C 003A6D7C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB120 003A6D80  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB124 003A6D84  7C 9F 23 78 */	mr r31, r4
/* 803AB128 003A6D88  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB12C 003A6D8C  7C 7E 1B 78 */	mr r30, r3
/* 803AB130 003A6D90  88 64 00 05 */	lbz r3, 5(r4)
/* 803AB134 003A6D94  4B DC 32 FD */	bl func_8016E430
/* 803AB138 003A6D98  2C 03 00 FF */	cmpwi r3, 0xff
/* 803AB13C 003A6D9C  40 82 00 34 */	bne lbl_803AB170
/* 803AB140 003A6DA0  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AB144 003A6DA4  88 9F 00 05 */	lbz r4, 5(r31)
/* 803AB148 003A6DA8  48 00 67 C1 */	bl func_803B1908
/* 803AB14C 003A6DAC  80 7F 00 00 */	lwz r3, 0(r31)
/* 803AB150 003A6DB0  88 9F 00 05 */	lbz r4, 5(r31)
/* 803AB154 003A6DB4  88 BF 00 04 */	lbz r5, 4(r31)
/* 803AB158 003A6DB8  48 00 74 19 */	bl func_803B2570
/* 803AB15C 003A6DBC  7F E3 FB 78 */	mr r3, r31
/* 803AB160 003A6DC0  4B DC 2F 41 */	bl func_8016E0A0
/* 803AB164 003A6DC4  7F C3 F3 78 */	mr r3, r30
/* 803AB168 003A6DC8  48 03 3D D5 */	bl func_803DEF3C
/* 803AB16C 003A6DCC  48 00 00 0C */	b lbl_803AB178
lbl_803AB170:
/* 803AB170 003A6DD0  38 60 00 0C */	li r3, 0xc
/* 803AB174 003A6DD4  4B DC 31 71 */	bl func_8016E2E4
lbl_803AB178:
/* 803AB178 003A6DD8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB17C 003A6DDC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB180 003A6DE0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB184 003A6DE4  7C 08 03 A6 */	mtlr r0
/* 803AB188 003A6DE8  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB18C 003A6DEC  4E 80 00 20 */	blr 
lbl_803AB190:
/* 803AB190 003A6DF0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB194 003A6DF4  7C 08 02 A6 */	mflr r0
/* 803AB198 003A6DF8  2C 04 00 00 */	cmpwi r4, 0
/* 803AB19C 003A6DFC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB1A0 003A6E00  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB1A4 003A6E04  7C 7F 1B 78 */	mr r31, r3
/* 803AB1A8 003A6E08  41 82 00 0C */	beq lbl_803AB1B4
/* 803AB1AC 003A6E0C  7C 83 23 78 */	mr r3, r4
/* 803AB1B0 003A6E10  4B DC 2E F1 */	bl func_8016E0A0
lbl_803AB1B4:
/* 803AB1B4 003A6E14  7F E3 FB 78 */	mr r3, r31
/* 803AB1B8 003A6E18  48 03 3D 85 */	bl func_803DEF3C
/* 803AB1BC 003A6E1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB1C0 003A6E20  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB1C4 003A6E24  7C 08 03 A6 */	mtlr r0
/* 803AB1C8 003A6E28  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB1CC 003A6E2C  4E 80 00 20 */	blr 
lbl_803AB1D0:
/* 803AB1D0 003A6E30  4E 80 00 20 */	blr 
lbl_803AB1D4:
/* 803AB1D4 003A6E34  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB1D8 003A6E38  7C 08 02 A6 */	mflr r0
/* 803AB1DC 003A6E3C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB1E0 003A6E40  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB1E4 003A6E44  7C 9F 23 78 */	mr r31, r4
/* 803AB1E8 003A6E48  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB1EC 003A6E4C  7C 7E 1B 78 */	mr r30, r3
/* 803AB1F0 003A6E50  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB1F4 003A6E54  88 84 00 09 */	lbz r4, 9(r4)
/* 803AB1F8 003A6E58  88 BF 00 08 */	lbz r5, 8(r31)
/* 803AB1FC 003A6E5C  48 00 73 75 */	bl func_803B2570
/* 803AB200 003A6E60  7F E3 FB 78 */	mr r3, r31
/* 803AB204 003A6E64  4B DC 2E 9D */	bl func_8016E0A0
/* 803AB208 003A6E68  7F C3 F3 78 */	mr r3, r30
/* 803AB20C 003A6E6C  48 03 3D 31 */	bl func_803DEF3C
/* 803AB210 003A6E70  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB214 003A6E74  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB218 003A6E78  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB21C 003A6E7C  7C 08 03 A6 */	mtlr r0
/* 803AB220 003A6E80  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB224 003A6E84  4E 80 00 20 */	blr 
lbl_803AB228:
/* 803AB228 003A6E88  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB22C 003A6E8C  7C 08 02 A6 */	mflr r0
/* 803AB230 003A6E90  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB234 003A6E94  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB238 003A6E98  7C 9F 23 78 */	mr r31, r4
/* 803AB23C 003A6E9C  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB240 003A6EA0  7C 7E 1B 78 */	mr r30, r3
/* 803AB244 003A6EA4  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB248 003A6EA8  88 84 00 05 */	lbz r4, 5(r4)
/* 803AB24C 003A6EAC  88 BF 00 04 */	lbz r5, 4(r31)
/* 803AB250 003A6EB0  48 00 73 21 */	bl func_803B2570
/* 803AB254 003A6EB4  7F E3 FB 78 */	mr r3, r31
/* 803AB258 003A6EB8  4B DC 2E 49 */	bl func_8016E0A0
/* 803AB25C 003A6EBC  7F C3 F3 78 */	mr r3, r30
/* 803AB260 003A6EC0  48 03 3C DD */	bl func_803DEF3C
/* 803AB264 003A6EC4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB268 003A6EC8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB26C 003A6ECC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB270 003A6ED0  7C 08 03 A6 */	mtlr r0
/* 803AB274 003A6ED4  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB278 003A6ED8  4E 80 00 20 */	blr 
lbl_803AB27C:
/* 803AB27C 003A6EDC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB280 003A6EE0  7C 08 02 A6 */	mflr r0
/* 803AB284 003A6EE4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB288 003A6EE8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB28C 003A6EEC  7C 9F 23 78 */	mr r31, r4
/* 803AB290 003A6EF0  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB294 003A6EF4  7C 7E 1B 78 */	mr r30, r3
/* 803AB298 003A6EF8  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB29C 003A6EFC  88 84 00 05 */	lbz r4, 5(r4)
/* 803AB2A0 003A6F00  88 BF 00 04 */	lbz r5, 4(r31)
/* 803AB2A4 003A6F04  48 00 72 CD */	bl func_803B2570
/* 803AB2A8 003A6F08  7F E3 FB 78 */	mr r3, r31
/* 803AB2AC 003A6F0C  4B DC 2D F5 */	bl func_8016E0A0
/* 803AB2B0 003A6F10  7F C3 F3 78 */	mr r3, r30
/* 803AB2B4 003A6F14  48 03 3C 89 */	bl func_803DEF3C
/* 803AB2B8 003A6F18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB2BC 003A6F1C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB2C0 003A6F20  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB2C4 003A6F24  7C 08 03 A6 */	mtlr r0
/* 803AB2C8 003A6F28  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB2CC 003A6F2C  4E 80 00 20 */	blr 
lbl_803AB2D0:
/* 803AB2D0 003A6F30  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB2D4 003A6F34  7C 08 02 A6 */	mflr r0
/* 803AB2D8 003A6F38  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB2DC 003A6F3C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB2E0 003A6F40  7C 9F 23 78 */	mr r31, r4
/* 803AB2E4 003A6F44  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB2E8 003A6F48  7C 7E 1B 78 */	mr r30, r3
/* 803AB2EC 003A6F4C  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB2F0 003A6F50  88 84 00 0D */	lbz r4, 0xd(r4)
/* 803AB2F4 003A6F54  88 BF 00 0C */	lbz r5, 0xc(r31)
/* 803AB2F8 003A6F58  48 00 72 79 */	bl func_803B2570
/* 803AB2FC 003A6F5C  7F E3 FB 78 */	mr r3, r31
/* 803AB300 003A6F60  4B DC 2D A1 */	bl func_8016E0A0
/* 803AB304 003A6F64  7F C3 F3 78 */	mr r3, r30
/* 803AB308 003A6F68  48 03 3C 35 */	bl func_803DEF3C
/* 803AB30C 003A6F6C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB310 003A6F70  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB314 003A6F74  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB318 003A6F78  7C 08 03 A6 */	mtlr r0
/* 803AB31C 003A6F7C  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB320 003A6F80  4E 80 00 20 */	blr 
lbl_803AB324:
/* 803AB324 003A6F84  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB328 003A6F88  7C 08 02 A6 */	mflr r0
/* 803AB32C 003A6F8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB330 003A6F90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB334 003A6F94  7C 9F 23 78 */	mr r31, r4
/* 803AB338 003A6F98  93 C1 00 08 */	stw r30, 8(r1)
/* 803AB33C 003A6F9C  7C 7E 1B 78 */	mr r30, r3
/* 803AB340 003A6FA0  80 64 00 00 */	lwz r3, 0(r4)
/* 803AB344 003A6FA4  88 84 00 0D */	lbz r4, 0xd(r4)
/* 803AB348 003A6FA8  88 BF 00 0C */	lbz r5, 0xc(r31)
/* 803AB34C 003A6FAC  48 00 72 25 */	bl func_803B2570
/* 803AB350 003A6FB0  7F E3 FB 78 */	mr r3, r31
/* 803AB354 003A6FB4  4B DC 2D 4D */	bl func_8016E0A0
/* 803AB358 003A6FB8  7F C3 F3 78 */	mr r3, r30
/* 803AB35C 003A6FBC  48 03 3B E1 */	bl func_803DEF3C
/* 803AB360 003A6FC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB364 003A6FC4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB368 003A6FC8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AB36C 003A6FCC  7C 08 03 A6 */	mtlr r0
/* 803AB370 003A6FD0  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB374 003A6FD4  4E 80 00 20 */	blr 

.global func_803AB378
func_803AB378:
/* 803AB378 003A6FD8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AB37C 003A6FDC  7C 08 02 A6 */	mflr r0
/* 803AB380 003A6FE0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AB384 003A6FE4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AB388 003A6FE8  7C 9F 23 78 */	mr r31, r4
/* 803AB38C 003A6FEC  48 00 14 B5 */	bl func_803AC840
/* 803AB390 003A6FF0  54 60 03 E1 */	rlwinm. r0, r3, 0, 0xf, 0x10
/* 803AB394 003A6FF4  41 82 00 58 */	beq lbl_803AB3EC
/* 803AB398 003A6FF8  3D 00 80 3B */	lis r8, lbl_803A9D60@ha
/* 803AB39C 003A6FFC  3C E0 80 3B */	lis r7, lbl_803A9EFC@ha
/* 803AB3A0 003A7000  3C C0 80 3B */	lis r6, lbl_803AA178@ha
/* 803AB3A4 003A7004  3C A0 80 3B */	lis r5, lbl_803AA430@ha
/* 803AB3A8 003A7008  3C 80 80 3B */	lis r4, lbl_803AA4D0@ha
/* 803AB3AC 003A700C  3C 60 80 3B */	lis r3, lbl_803AAAEC@ha
/* 803AB3B0 003A7010  39 08 9D 60 */	addi r8, r8, lbl_803A9D60@l
/* 803AB3B4 003A7014  38 E7 9E FC */	addi r7, r7, lbl_803A9EFC@l
/* 803AB3B8 003A7018  38 C6 A1 78 */	addi r6, r6, lbl_803AA178@l
/* 803AB3BC 003A701C  38 A5 A4 30 */	addi r5, r5, lbl_803AA430@l
/* 803AB3C0 003A7020  38 84 A4 D0 */	addi r4, r4, lbl_803AA4D0@l
/* 803AB3C4 003A7024  38 63 AA EC */	addi r3, r3, lbl_803AAAEC@l
/* 803AB3C8 003A7028  38 00 00 00 */	li r0, 0
/* 803AB3CC 003A702C  91 1F 00 00 */	stw r8, 0(r31)
/* 803AB3D0 003A7030  90 FF 00 04 */	stw r7, 4(r31)
/* 803AB3D4 003A7034  90 DF 00 08 */	stw r6, 8(r31)
/* 803AB3D8 003A7038  90 BF 00 0C */	stw r5, 0xc(r31)
/* 803AB3DC 003A703C  90 9F 00 10 */	stw r4, 0x10(r31)
/* 803AB3E0 003A7040  90 7F 00 14 */	stw r3, 0x14(r31)
/* 803AB3E4 003A7044  98 1F 01 86 */	stb r0, 0x186(r31)
/* 803AB3E8 003A7048  48 00 01 18 */	b lbl_803AB500
lbl_803AB3EC:
/* 803AB3EC 003A704C  54 60 04 63 */	rlwinm. r0, r3, 0, 0x11, 0x11
/* 803AB3F0 003A7050  41 82 00 B8 */	beq lbl_803AB4A8
/* 803AB3F4 003A7054  88 1F 01 85 */	lbz r0, 0x185(r31)
/* 803AB3F8 003A7058  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803AB3FC 003A705C  41 82 00 58 */	beq lbl_803AB454
/* 803AB400 003A7060  3D 00 80 3B */	lis r8, lbl_803A9E68@ha
/* 803AB404 003A7064  3C E0 80 3B */	lis r7, lbl_803AA0A8@ha
/* 803AB408 003A7068  3C C0 80 3B */	lis r6, lbl_803AA35C@ha
/* 803AB40C 003A706C  3C A0 80 3B */	lis r5, lbl_803AA434@ha
/* 803AB410 003A7070  3C 80 80 3B */	lis r4, lbl_803AA920@ha
/* 803AB414 003A7074  3C 60 80 3B */	lis r3, lbl_803AADCC@ha
/* 803AB418 003A7078  39 08 9E 68 */	addi r8, r8, lbl_803A9E68@l
/* 803AB41C 003A707C  38 E7 A0 A8 */	addi r7, r7, lbl_803AA0A8@l
/* 803AB420 003A7080  38 C6 A3 5C */	addi r6, r6, lbl_803AA35C@l
/* 803AB424 003A7084  38 A5 A4 34 */	addi r5, r5, lbl_803AA434@l
/* 803AB428 003A7088  38 84 A9 20 */	addi r4, r4, lbl_803AA920@l
/* 803AB42C 003A708C  38 63 AD CC */	addi r3, r3, lbl_803AADCC@l
/* 803AB430 003A7090  38 00 00 01 */	li r0, 1
/* 803AB434 003A7094  91 1F 00 00 */	stw r8, 0(r31)
/* 803AB438 003A7098  90 FF 00 04 */	stw r7, 4(r31)
/* 803AB43C 003A709C  90 DF 00 08 */	stw r6, 8(r31)
/* 803AB440 003A70A0  90 BF 00 0C */	stw r5, 0xc(r31)
/* 803AB444 003A70A4  90 9F 00 10 */	stw r4, 0x10(r31)
/* 803AB448 003A70A8  90 7F 00 14 */	stw r3, 0x14(r31)
/* 803AB44C 003A70AC  98 1F 01 86 */	stb r0, 0x186(r31)
/* 803AB450 003A70B0  48 00 00 B0 */	b lbl_803AB500
lbl_803AB454:
/* 803AB454 003A70B4  3D 00 80 3B */	lis r8, lbl_803A9D60@ha
/* 803AB458 003A70B8  3C E0 80 3B */	lis r7, lbl_803A9EFC@ha
/* 803AB45C 003A70BC  3C C0 80 3B */	lis r6, lbl_803AA178@ha
/* 803AB460 003A70C0  3C A0 80 3B */	lis r5, lbl_803AA430@ha
/* 803AB464 003A70C4  3C 80 80 3B */	lis r4, lbl_803AA4D0@ha
/* 803AB468 003A70C8  3C 60 80 3B */	lis r3, lbl_803AAAEC@ha
/* 803AB46C 003A70CC  39 08 9D 60 */	addi r8, r8, lbl_803A9D60@l
/* 803AB470 003A70D0  38 E7 9E FC */	addi r7, r7, lbl_803A9EFC@l
/* 803AB474 003A70D4  38 C6 A1 78 */	addi r6, r6, lbl_803AA178@l
/* 803AB478 003A70D8  38 A5 A4 30 */	addi r5, r5, lbl_803AA430@l
/* 803AB47C 003A70DC  38 84 A4 D0 */	addi r4, r4, lbl_803AA4D0@l
/* 803AB480 003A70E0  38 63 AA EC */	addi r3, r3, lbl_803AAAEC@l
/* 803AB484 003A70E4  38 00 00 00 */	li r0, 0
/* 803AB488 003A70E8  91 1F 00 00 */	stw r8, 0(r31)
/* 803AB48C 003A70EC  90 FF 00 04 */	stw r7, 4(r31)
/* 803AB490 003A70F0  90 DF 00 08 */	stw r6, 8(r31)
/* 803AB494 003A70F4  90 BF 00 0C */	stw r5, 0xc(r31)
/* 803AB498 003A70F8  90 9F 00 10 */	stw r4, 0x10(r31)
/* 803AB49C 003A70FC  90 7F 00 14 */	stw r3, 0x14(r31)
/* 803AB4A0 003A7100  98 1F 01 86 */	stb r0, 0x186(r31)
/* 803AB4A4 003A7104  48 00 00 5C */	b lbl_803AB500
lbl_803AB4A8:
/* 803AB4A8 003A7108  54 60 03 9D */	rlwinm. r0, r3, 0, 0xe, 0xe
/* 803AB4AC 003A710C  41 82 00 54 */	beq lbl_803AB500
/* 803AB4B0 003A7110  3D 00 80 3B */	lis r8, lbl_803A9E68@ha
/* 803AB4B4 003A7114  3C E0 80 3B */	lis r7, lbl_803AA0A8@ha
/* 803AB4B8 003A7118  3C C0 80 3B */	lis r6, lbl_803AA35C@ha
/* 803AB4BC 003A711C  3C A0 80 3B */	lis r5, lbl_803AA434@ha
/* 803AB4C0 003A7120  3C 80 80 3B */	lis r4, lbl_803AA920@ha
/* 803AB4C4 003A7124  3C 60 80 3B */	lis r3, lbl_803AADCC@ha
/* 803AB4C8 003A7128  39 08 9E 68 */	addi r8, r8, lbl_803A9E68@l
/* 803AB4CC 003A712C  38 E7 A0 A8 */	addi r7, r7, lbl_803AA0A8@l
/* 803AB4D0 003A7130  38 C6 A3 5C */	addi r6, r6, lbl_803AA35C@l
/* 803AB4D4 003A7134  38 A5 A4 34 */	addi r5, r5, lbl_803AA434@l
/* 803AB4D8 003A7138  38 84 A9 20 */	addi r4, r4, lbl_803AA920@l
/* 803AB4DC 003A713C  38 63 AD CC */	addi r3, r3, lbl_803AADCC@l
/* 803AB4E0 003A7140  38 00 00 01 */	li r0, 1
/* 803AB4E4 003A7144  91 1F 00 00 */	stw r8, 0(r31)
/* 803AB4E8 003A7148  90 FF 00 04 */	stw r7, 4(r31)
/* 803AB4EC 003A714C  90 DF 00 08 */	stw r6, 8(r31)
/* 803AB4F0 003A7150  90 BF 00 0C */	stw r5, 0xc(r31)
/* 803AB4F4 003A7154  90 9F 00 10 */	stw r4, 0x10(r31)
/* 803AB4F8 003A7158  90 7F 00 14 */	stw r3, 0x14(r31)
/* 803AB4FC 003A715C  98 1F 01 86 */	stb r0, 0x186(r31)
lbl_803AB500:
/* 803AB500 003A7160  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AB504 003A7164  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AB508 003A7168  7C 08 03 A6 */	mtlr r0
/* 803AB50C 003A716C  38 21 00 10 */	addi r1, r1, 0x10
/* 803AB510 003A7170  4E 80 00 20 */	blr 

.global func_803AB514
func_803AB514:
/* 803AB514 003A7174  88 63 01 85 */	lbz r3, 0x185(r3)
/* 803AB518 003A7178  4E 80 00 20 */	blr 

.global func_803AB51C
func_803AB51C:
/* 803AB51C 003A717C  88 63 01 86 */	lbz r3, 0x186(r3)
/* 803AB520 003A7180  4E 80 00 20 */	blr 
lbl_803AB524:
/* 803AB524 003A7184  38 63 00 28 */	addi r3, r3, 0x28
/* 803AB528 003A7188  4E 80 00 20 */	blr 

.global func_803AB52C
func_803AB52C:
/* 803AB52C 003A718C  4E 80 00 20 */	blr 

.global func_803AB530
func_803AB530:
/* 803AB530 003A7190  4E 80 00 20 */	blr 

.global func_803AB534
func_803AB534:
/* 803AB534 003A7194  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803AB538 003A7198  7C 08 02 A6 */	mflr r0
/* 803AB53C 003A719C  90 01 00 54 */	stw r0, 0x54(r1)
/* 803AB540 003A71A0  39 61 00 50 */	addi r11, r1, 0x50
/* 803AB544 003A71A4  4B E1 BB D9 */	bl _savegpr_24
/* 803AB548 003A71A8  7C 78 1B 78 */	mr r24, r3
/* 803AB54C 003A71AC  7C 9D 23 78 */	mr r29, r4
/* 803AB550 003A71B0  48 03 38 69 */	bl func_803DEDB8
/* 803AB554 003A71B4  80 1D 00 00 */	lwz r0, 0(r29)
/* 803AB558 003A71B8  28 00 00 0F */	cmplwi r0, 0xf
/* 803AB55C 003A71BC  41 81 10 78 */	bgt lbl_803AC5D4
/* 803AB560 003A71C0  3C 80 80 47 */	lis r4, lbl_804730A8@ha
/* 803AB564 003A71C4  54 00 10 3A */	slwi r0, r0, 2
/* 803AB568 003A71C8  38 84 30 A8 */	addi r4, r4, lbl_804730A8@l
/* 803AB56C 003A71CC  7C 84 00 2E */	lwzx r4, r4, r0
/* 803AB570 003A71D0  7C 89 03 A6 */	mtctr r4
/* 803AB574 003A71D4  4E 80 04 20 */	bctr 
/* 803AB578 003A71D8  80 03 00 00 */	lwz r0, 0(r3)
/* 803AB57C 003A71DC  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803AB580 003A71E0  41 82 00 10 */	beq lbl_803AB590
/* 803AB584 003A71E4  38 00 00 01 */	li r0, 1
/* 803AB588 003A71E8  90 1D 00 00 */	stw r0, 0(r29)
/* 803AB58C 003A71EC  48 00 10 48 */	b lbl_803AC5D4
lbl_803AB590:
/* 803AB590 003A71F0  38 00 00 03 */	li r0, 3
/* 803AB594 003A71F4  90 1D 00 00 */	stw r0, 0(r29)
/* 803AB598 003A71F8  48 00 10 3C */	b lbl_803AC5D4
/* 803AB59C 003A71FC  7F 03 C3 78 */	mr r3, r24
/* 803AB5A0 003A7200  38 80 10 28 */	li r4, 0x1028
/* 803AB5A4 003A7204  38 A0 00 05 */	li r5, 5
/* 803AB5A8 003A7208  48 03 37 D5 */	bl func_803DED7C
/* 803AB5AC 003A720C  38 00 00 02 */	li r0, 2
/* 803AB5B0 003A7210  90 1D 00 00 */	stw r0, 0(r29)
/* 803AB5B4 003A7214  48 00 10 20 */	b lbl_803AC5D4
/* 803AB5B8 003A7218  7F 03 C3 78 */	mr r3, r24
/* 803AB5BC 003A721C  48 03 37 F5 */	bl func_803DEDB0
/* 803AB5C0 003A7220  4B DC 2A E1 */	bl func_8016E0A0
/* 803AB5C4 003A7224  38 00 00 03 */	li r0, 3
/* 803AB5C8 003A7228  90 1D 00 00 */	stw r0, 0(r29)
/* 803AB5CC 003A722C  48 00 10 08 */	b lbl_803AC5D4
/* 803AB5D0 003A7230  7F 03 C3 78 */	mr r3, r24
/* 803AB5D4 003A7234  38 80 24 0C */	li r4, 0x240c
/* 803AB5D8 003A7238  38 A0 00 05 */	li r5, 5
/* 803AB5DC 003A723C  48 03 37 A1 */	bl func_803DED7C
/* 803AB5E0 003A7240  7C 7E 1B 78 */	mr r30, r3
/* 803AB5E4 003A7244  7F 03 C3 78 */	mr r3, r24
/* 803AB5E8 003A7248  48 03 37 D1 */	bl func_803DEDB8
/* 803AB5EC 003A724C  7C 7F 1B 78 */	mr r31, r3
/* 803AB5F0 003A7250  48 02 E2 59 */	bl func_803D9848
/* 803AB5F4 003A7254  7F C3 F3 78 */	mr r3, r30
/* 803AB5F8 003A7258  38 80 00 00 */	li r4, 0
/* 803AB5FC 003A725C  38 A0 24 0C */	li r5, 0x240c
/* 803AB600 003A7260  4B C5 8B 05 */	bl memset
/* 803AB604 003A7264  80 1F 00 00 */	lwz r0, 0(r31)
/* 803AB608 003A7268  3B 40 00 00 */	li r26, 0
/* 803AB60C 003A726C  3B 60 00 00 */	li r27, 0
/* 803AB610 003A7270  90 1E 00 2C */	stw r0, 0x2c(r30)
lbl_803AB614:
/* 803AB614 003A7274  7F 9E DA 14 */	add r28, r30, r27
/* 803AB618 003A7278  38 60 00 05 */	li r3, 5
/* 803AB61C 003A727C  48 02 EA 05 */	bl func_803DA020
/* 803AB620 003A7280  90 7C 00 48 */	stw r3, 0x48(r28)
/* 803AB624 003A7284  7F 3F DA 14 */	add r25, r31, r27
/* 803AB628 003A7288  7C 64 1B 78 */	mr r4, r3
/* 803AB62C 003A728C  80 79 00 D8 */	lwz r3, 0xd8(r25)
/* 803AB630 003A7290  48 02 EA 31 */	bl func_803DA060
/* 803AB634 003A7294  80 19 00 F8 */	lwz r0, 0xf8(r25)
/* 803AB638 003A7298  3B 5A 00 01 */	addi r26, r26, 1
/* 803AB63C 003A729C  2C 1A 00 04 */	cmpwi r26, 4
/* 803AB640 003A72A0  3B 7B 00 04 */	addi r27, r27, 4
/* 803AB644 003A72A4  90 1C 00 78 */	stw r0, 0x78(r28)
/* 803AB648 003A72A8  41 80 FF CC */	blt lbl_803AB614
/* 803AB64C 003A72AC  80 7F 00 F4 */	lwz r3, 0xf4(r31)
/* 803AB650 003A72B0  38 00 00 04 */	li r0, 4
/* 803AB654 003A72B4  38 A0 00 00 */	li r5, 0
/* 803AB658 003A72B8  38 C0 00 00 */	li r6, 0
/* 803AB65C 003A72BC  90 7E 00 64 */	stw r3, 0x64(r30)
/* 803AB660 003A72C0  38 E0 00 00 */	li r7, 0
/* 803AB664 003A72C4  80 7F 01 10 */	lwz r3, 0x110(r31)
/* 803AB668 003A72C8  90 7E 01 7C */	stw r3, 0x17c(r30)
/* 803AB66C 003A72CC  80 7F 01 2C */	lwz r3, 0x12c(r31)
/* 803AB670 003A72D0  90 7E 01 80 */	stw r3, 0x180(r30)
/* 803AB674 003A72D4  80 7F 00 EC */	lwz r3, 0xec(r31)
/* 803AB678 003A72D8  90 7E 00 5C */	stw r3, 0x5c(r30)
/* 803AB67C 003A72DC  80 7F 01 08 */	lwz r3, 0x108(r31)
/* 803AB680 003A72E0  90 7E 00 98 */	stw r3, 0x98(r30)
/* 803AB684 003A72E4  80 7F 01 44 */	lwz r3, 0x144(r31)
/* 803AB688 003A72E8  90 7E 23 E8 */	stw r3, 0x23e8(r30)
/* 803AB68C 003A72EC  80 7F 01 14 */	lwz r3, 0x114(r31)
/* 803AB690 003A72F0  90 7E 00 9C */	stw r3, 0x9c(r30)
/* 803AB694 003A72F4  80 7F 01 70 */	lwz r3, 0x170(r31)
/* 803AB698 003A72F8  90 7E 23 D8 */	stw r3, 0x23d8(r30)
/* 803AB69C 003A72FC  80 7F 01 34 */	lwz r3, 0x134(r31)
/* 803AB6A0 003A7300  90 7E 23 C4 */	stw r3, 0x23c4(r30)
/* 803AB6A4 003A7304  80 7F 01 30 */	lwz r3, 0x130(r31)
/* 803AB6A8 003A7308  90 7E 23 C8 */	stw r3, 0x23c8(r30)
/* 803AB6AC 003A730C  80 7F 01 38 */	lwz r3, 0x138(r31)
/* 803AB6B0 003A7310  90 7E 23 CC */	stw r3, 0x23cc(r30)
/* 803AB6B4 003A7314  80 7F 01 40 */	lwz r3, 0x140(r31)
/* 803AB6B8 003A7318  90 7E 23 D4 */	stw r3, 0x23d4(r30)
/* 803AB6BC 003A731C  80 7F 01 6C */	lwz r3, 0x16c(r31)
/* 803AB6C0 003A7320  90 7E 23 D0 */	stw r3, 0x23d0(r30)
/* 803AB6C4 003A7324  80 7F 01 74 */	lwz r3, 0x174(r31)
/* 803AB6C8 003A7328  90 7E 23 E0 */	stw r3, 0x23e0(r30)
/* 803AB6CC 003A732C  80 7F 01 48 */	lwz r3, 0x148(r31)
/* 803AB6D0 003A7330  90 7E 23 EC */	stw r3, 0x23ec(r30)
/* 803AB6D4 003A7334  80 7F 01 4C */	lwz r3, 0x14c(r31)
/* 803AB6D8 003A7338  90 7E 23 F4 */	stw r3, 0x23f4(r30)
/* 803AB6DC 003A733C  80 7F 01 54 */	lwz r3, 0x154(r31)
/* 803AB6E0 003A7340  90 7E 23 F0 */	stw r3, 0x23f0(r30)
/* 803AB6E4 003A7344  80 7F 01 24 */	lwz r3, 0x124(r31)
/* 803AB6E8 003A7348  90 7E 01 E0 */	stw r3, 0x1e0(r30)
/* 803AB6EC 003A734C  7C 09 03 A6 */	mtctr r0
lbl_803AB6F0:
/* 803AB6F0 003A7350  7C 7F 32 14 */	add r3, r31, r6
/* 803AB6F4 003A7354  7D 1E 3A 14 */	add r8, r30, r7
/* 803AB6F8 003A7358  80 03 00 18 */	lwz r0, 0x18(r3)
/* 803AB6FC 003A735C  7C 7F 2A 14 */	add r3, r31, r5
/* 803AB700 003A7360  7C 9E 2A 14 */	add r4, r30, r5
/* 803AB704 003A7364  38 A5 00 2C */	addi r5, r5, 0x2c
/* 803AB708 003A7368  B0 08 00 A0 */	sth r0, 0xa0(r8)
/* 803AB70C 003A736C  38 C6 00 04 */	addi r6, r6, 4
/* 803AB710 003A7370  38 E7 00 02 */	addi r7, r7, 2
/* 803AB714 003A7374  88 03 00 28 */	lbz r0, 0x28(r3)
/* 803AB718 003A7378  98 04 00 AC */	stb r0, 0xac(r4)
/* 803AB71C 003A737C  88 03 00 29 */	lbz r0, 0x29(r3)
/* 803AB720 003A7380  98 04 00 AD */	stb r0, 0xad(r4)
/* 803AB724 003A7384  88 03 00 2A */	lbz r0, 0x2a(r3)
/* 803AB728 003A7388  98 04 00 AE */	stb r0, 0xae(r4)
/* 803AB72C 003A738C  88 03 00 2B */	lbz r0, 0x2b(r3)
/* 803AB730 003A7390  98 04 00 AF */	stb r0, 0xaf(r4)
/* 803AB734 003A7394  A1 03 00 2C */	lhz r8, 0x2c(r3)
/* 803AB738 003A7398  A0 03 00 2E */	lhz r0, 0x2e(r3)
/* 803AB73C 003A739C  B1 04 00 B0 */	sth r8, 0xb0(r4)
/* 803AB740 003A73A0  B0 04 00 B2 */	sth r0, 0xb2(r4)
/* 803AB744 003A73A4  A1 03 00 30 */	lhz r8, 0x30(r3)
/* 803AB748 003A73A8  A0 03 00 32 */	lhz r0, 0x32(r3)
/* 803AB74C 003A73AC  B1 04 00 B4 */	sth r8, 0xb4(r4)
/* 803AB750 003A73B0  B0 04 00 B6 */	sth r0, 0xb6(r4)
/* 803AB754 003A73B4  80 03 00 34 */	lwz r0, 0x34(r3)
/* 803AB758 003A73B8  90 04 00 B8 */	stw r0, 0xb8(r4)
/* 803AB75C 003A73BC  80 03 00 38 */	lwz r0, 0x38(r3)
/* 803AB760 003A73C0  90 04 00 BC */	stw r0, 0xbc(r4)
/* 803AB764 003A73C4  A1 03 00 3C */	lhz r8, 0x3c(r3)
/* 803AB768 003A73C8  A0 03 00 3E */	lhz r0, 0x3e(r3)
/* 803AB76C 003A73CC  B1 04 00 C0 */	sth r8, 0xc0(r4)
/* 803AB770 003A73D0  B0 04 00 C2 */	sth r0, 0xc2(r4)
/* 803AB774 003A73D4  A1 03 00 40 */	lhz r8, 0x40(r3)
/* 803AB778 003A73D8  A0 03 00 42 */	lhz r0, 0x42(r3)
/* 803AB77C 003A73DC  B1 04 00 C4 */	sth r8, 0xc4(r4)
/* 803AB780 003A73E0  B0 04 00 C6 */	sth r0, 0xc6(r4)
/* 803AB784 003A73E4  A1 03 00 44 */	lhz r8, 0x44(r3)
/* 803AB788 003A73E8  A0 03 00 46 */	lhz r0, 0x46(r3)
/* 803AB78C 003A73EC  B1 04 00 C8 */	sth r8, 0xc8(r4)
/* 803AB790 003A73F0  B0 04 00 CA */	sth r0, 0xca(r4)
/* 803AB794 003A73F4  A1 03 00 48 */	lhz r8, 0x48(r3)
/* 803AB798 003A73F8  A0 03 00 4A */	lhz r0, 0x4a(r3)
/* 803AB79C 003A73FC  B1 04 00 CC */	sth r8, 0xcc(r4)
/* 803AB7A0 003A7400  B0 04 00 CE */	sth r0, 0xce(r4)
/* 803AB7A4 003A7404  80 03 00 4C */	lwz r0, 0x4c(r3)
/* 803AB7A8 003A7408  90 04 00 D0 */	stw r0, 0xd0(r4)
/* 803AB7AC 003A740C  80 03 00 50 */	lwz r0, 0x50(r3)
/* 803AB7B0 003A7410  90 04 00 D4 */	stw r0, 0xd4(r4)
/* 803AB7B4 003A7414  42 00 FF 3C */	bdnz lbl_803AB6F0
/* 803AB7B8 003A7418  7F C3 F3 78 */	mr r3, r30
/* 803AB7BC 003A741C  48 00 73 3D */	bl func_803B2AF8
/* 803AB7C0 003A7420  90 7E 00 30 */	stw r3, 0x30(r30)
/* 803AB7C4 003A7424  3B 20 00 00 */	li r25, 0
/* 803AB7C8 003A7428  3B 60 00 00 */	li r27, 0
lbl_803AB7CC:
/* 803AB7CC 003A742C  38 60 00 05 */	li r3, 5
/* 803AB7D0 003A7430  48 03 30 11 */	bl func_803DE7E0
/* 803AB7D4 003A7434  3B 39 00 01 */	addi r25, r25, 1
/* 803AB7D8 003A7438  7C 9E DA 14 */	add r4, r30, r27
/* 803AB7DC 003A743C  2C 19 00 04 */	cmpwi r25, 4
/* 803AB7E0 003A7440  90 64 00 68 */	stw r3, 0x68(r4)
/* 803AB7E4 003A7444  3B 7B 00 04 */	addi r27, r27, 4
/* 803AB7E8 003A7448  41 80 FF E4 */	blt lbl_803AB7CC
/* 803AB7EC 003A744C  80 7E 00 2C */	lwz r3, 0x2c(r30)
/* 803AB7F0 003A7450  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803AB7F4 003A7454  41 82 06 2C */	beq lbl_803ABE20
/* 803AB7F8 003A7458  7F C3 F3 78 */	mr r3, r30
/* 803AB7FC 003A745C  4B FF FD 31 */	bl func_803AB52C
/* 803AB800 003A7460  38 00 00 04 */	li r0, 4
/* 803AB804 003A7464  38 C1 00 0C */	addi r6, r1, 0xc
/* 803AB808 003A7468  38 81 00 1C */	addi r4, r1, 0x1c
/* 803AB80C 003A746C  38 E0 00 00 */	li r7, 0
/* 803AB810 003A7470  38 60 00 00 */	li r3, 0
/* 803AB814 003A7474  7C 09 03 A6 */	mtctr r0
lbl_803AB818:
/* 803AB818 003A7478  7C BF 1A 14 */	add r5, r31, r3
/* 803AB81C 003A747C  7C E6 19 2E */	stwx r7, r6, r3
/* 803AB820 003A7480  80 05 01 5C */	lwz r0, 0x15c(r5)
/* 803AB824 003A7484  38 E7 00 01 */	addi r7, r7, 1
/* 803AB828 003A7488  7C 04 19 2E */	stwx r0, r4, r3
/* 803AB82C 003A748C  38 63 00 04 */	addi r3, r3, 4
/* 803AB830 003A7490  42 00 FF E8 */	bdnz lbl_803AB818
/* 803AB834 003A7494  48 02 E0 15 */	bl func_803D9848
/* 803AB838 003A7498  54 7A 04 3E */	clrlwi r26, r3, 0x10
/* 803AB83C 003A749C  48 02 E0 21 */	bl func_803D985C
/* 803AB840 003A74A0  39 81 00 0C */	addi r12, r1, 0xc
/* 803AB844 003A74A4  39 01 00 1C */	addi r8, r1, 0x1c
/* 803AB848 003A74A8  38 C3 FF FF */	addi r6, r3, -1
/* 803AB84C 003A74AC  3B 20 00 00 */	li r25, 0
/* 803AB850 003A74B0  38 80 00 00 */	li r4, 0
/* 803AB854 003A74B4  48 00 00 58 */	b lbl_803AB8AC
lbl_803AB858:
/* 803AB858 003A74B8  39 79 00 01 */	addi r11, r25, 1
/* 803AB85C 003A74BC  7C 0B 18 50 */	subf r0, r11, r3
/* 803AB860 003A74C0  55 65 10 3A */	slwi r5, r11, 2
/* 803AB864 003A74C4  7C 09 03 A6 */	mtctr r0
/* 803AB868 003A74C8  7C 0B 18 00 */	cmpw r11, r3
/* 803AB86C 003A74CC  40 80 00 38 */	bge lbl_803AB8A4
lbl_803AB870:
/* 803AB870 003A74D0  7D 28 20 2E */	lwzx r9, r8, r4
/* 803AB874 003A74D4  7C E8 28 2E */	lwzx r7, r8, r5
/* 803AB878 003A74D8  7C 09 38 00 */	cmpw r9, r7
/* 803AB87C 003A74DC  40 80 00 1C */	bge lbl_803AB898
/* 803AB880 003A74E0  7D 4C 20 2E */	lwzx r10, r12, r4
/* 803AB884 003A74E4  7C 0C 28 2E */	lwzx r0, r12, r5
/* 803AB888 003A74E8  7C E8 21 2E */	stwx r7, r8, r4
/* 803AB88C 003A74EC  7C 0C 21 2E */	stwx r0, r12, r4
/* 803AB890 003A74F0  7D 4C 29 2E */	stwx r10, r12, r5
/* 803AB894 003A74F4  7D 28 29 2E */	stwx r9, r8, r5
lbl_803AB898:
/* 803AB898 003A74F8  39 6B 00 01 */	addi r11, r11, 1
/* 803AB89C 003A74FC  38 A5 00 04 */	addi r5, r5, 4
/* 803AB8A0 003A7500  42 00 FF D0 */	bdnz lbl_803AB870
lbl_803AB8A4:
/* 803AB8A4 003A7504  3B 39 00 01 */	addi r25, r25, 1
/* 803AB8A8 003A7508  38 84 00 04 */	addi r4, r4, 4
lbl_803AB8AC:
/* 803AB8AC 003A750C  7C 19 30 00 */	cmpw r25, r6
/* 803AB8B0 003A7510  41 80 FF A8 */	blt lbl_803AB858
/* 803AB8B4 003A7514  80 01 00 0C */	lwz r0, 0xc(r1)
/* 803AB8B8 003A7518  7C 00 D0 00 */	cmpw r0, r26
/* 803AB8BC 003A751C  40 82 00 0C */	bne lbl_803AB8C8
/* 803AB8C0 003A7520  38 00 00 01 */	li r0, 1
/* 803AB8C4 003A7524  98 1E 23 C0 */	stb r0, 0x23c0(r30)
lbl_803AB8C8:
/* 803AB8C8 003A7528  80 7E 00 2C */	lwz r3, 0x2c(r30)
/* 803AB8CC 003A752C  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 803AB8D0 003A7530  41 82 01 3C */	beq lbl_803ABA0C
/* 803AB8D4 003A7534  3B 82 A9 D6 */	addi r28, r2, lbl_80642FD6-_SDA2_BASE_
/* 803AB8D8 003A7538  3B 20 00 00 */	li r25, 0
/* 803AB8DC 003A753C  3B 60 00 00 */	li r27, 0
lbl_803AB8E0:
/* 803AB8E0 003A7540  88 1C 00 00 */	lbz r0, 0(r28)
/* 803AB8E4 003A7544  7F C3 F3 78 */	mr r3, r30
/* 803AB8E8 003A7548  9B 21 00 08 */	stb r25, 8(r1)
/* 803AB8EC 003A754C  38 81 00 08 */	addi r4, r1, 8
/* 803AB8F0 003A7550  98 01 00 09 */	stb r0, 9(r1)
/* 803AB8F4 003A7554  4B FF A7 E5 */	bl func_803A60D8
/* 803AB8F8 003A7558  3B 39 00 01 */	addi r25, r25, 1
/* 803AB8FC 003A755C  7C 9E DA 14 */	add r4, r30, r27
/* 803AB900 003A7560  2C 19 00 04 */	cmpwi r25, 4
/* 803AB904 003A7564  90 64 00 34 */	stw r3, 0x34(r4)
/* 803AB908 003A7568  3B 7B 00 04 */	addi r27, r27, 4
/* 803AB90C 003A756C  3B 9C 00 01 */	addi r28, r28, 1
/* 803AB910 003A7570  41 80 FF D0 */	blt lbl_803AB8E0
/* 803AB914 003A7574  93 3E 00 44 */	stw r25, 0x44(r30)
/* 803AB918 003A7578  3B 40 00 00 */	li r26, 0
/* 803AB91C 003A757C  3B 60 00 00 */	li r27, 0
lbl_803AB920:
/* 803AB920 003A7580  7F 3E DA 14 */	add r25, r30, r27
/* 803AB924 003A7584  7F C3 F3 78 */	mr r3, r30
/* 803AB928 003A7588  80 99 00 34 */	lwz r4, 0x34(r25)
/* 803AB92C 003A758C  4B FF FA 4D */	bl func_803AB378
/* 803AB930 003A7590  7C 7F DA 14 */	add r3, r31, r27
/* 803AB934 003A7594  80 99 00 68 */	lwz r4, 0x68(r25)
/* 803AB938 003A7598  80 63 00 04 */	lwz r3, 4(r3)
/* 803AB93C 003A759C  48 03 30 21 */	bl func_803DE95C
/* 803AB940 003A75A0  3B 5A 00 01 */	addi r26, r26, 1
/* 803AB944 003A75A4  3B 7B 00 04 */	addi r27, r27, 4
/* 803AB948 003A75A8  2C 1A 00 04 */	cmpwi r26, 4
/* 803AB94C 003A75AC  41 80 FF D4 */	blt lbl_803AB920
/* 803AB950 003A75B0  3B 20 00 00 */	li r25, 0
/* 803AB954 003A75B4  3B 60 00 00 */	li r27, 0
/* 803AB958 003A75B8  48 00 00 98 */	b lbl_803AB9F0
lbl_803AB95C:
/* 803AB95C 003A75BC  7F FE DA 14 */	add r31, r30, r27
/* 803AB960 003A75C0  3B 40 00 00 */	li r26, 0
/* 803AB964 003A75C4  48 00 00 5C */	b lbl_803AB9C0
lbl_803AB968:
/* 803AB968 003A75C8  80 7F 00 68 */	lwz r3, 0x68(r31)
/* 803AB96C 003A75CC  7F 44 D3 78 */	mr r4, r26
/* 803AB970 003A75D0  48 03 2F DD */	bl func_803DE94C
/* 803AB974 003A75D4  7C 7C 1B 78 */	mr r28, r3
/* 803AB978 003A75D8  38 80 00 05 */	li r4, 5
/* 803AB97C 003A75DC  38 A0 00 00 */	li r5, 0
/* 803AB980 003A75E0  48 03 20 5D */	bl func_803DD9DC
/* 803AB984 003A75E4  2C 03 00 00 */	cmpwi r3, 0
/* 803AB988 003A75E8  41 82 00 34 */	beq lbl_803AB9BC
/* 803AB98C 003A75EC  7F 83 E3 78 */	mr r3, r28
/* 803AB990 003A75F0  38 80 00 4C */	li r4, 0x4c
/* 803AB994 003A75F4  38 A0 00 00 */	li r5, 0
/* 803AB998 003A75F8  48 03 20 45 */	bl func_803DD9DC
/* 803AB99C 003A75FC  2C 03 00 00 */	cmpwi r3, 0
/* 803AB9A0 003A7600  40 82 00 1C */	bne lbl_803AB9BC
/* 803AB9A4 003A7604  7F 83 E3 78 */	mr r3, r28
/* 803AB9A8 003A7608  38 80 00 A2 */	li r4, 0xa2
/* 803AB9AC 003A760C  38 A0 00 00 */	li r5, 0
/* 803AB9B0 003A7610  48 03 20 2D */	bl func_803DD9DC
/* 803AB9B4 003A7614  2C 03 00 00 */	cmpwi r3, 0
/* 803AB9B8 003A7618  40 82 00 18 */	bne lbl_803AB9D0
lbl_803AB9BC:
/* 803AB9BC 003A761C  3B 5A 00 01 */	addi r26, r26, 1
lbl_803AB9C0:
/* 803AB9C0 003A7620  80 7F 00 68 */	lwz r3, 0x68(r31)
/* 803AB9C4 003A7624  48 03 2F 81 */	bl func_803DE944
/* 803AB9C8 003A7628  7C 1A 18 00 */	cmpw r26, r3
/* 803AB9CC 003A762C  41 80 FF 9C */	blt lbl_803AB968
lbl_803AB9D0:
/* 803AB9D0 003A7630  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AB9D4 003A7634  7F C3 F3 78 */	mr r3, r30
/* 803AB9D8 003A7638  7F 26 CB 78 */	mr r6, r25
/* 803AB9DC 003A763C  7F 47 D3 78 */	mr r7, r26
/* 803AB9E0 003A7640  38 A0 00 02 */	li r5, 2
/* 803AB9E4 003A7644  48 01 D3 C9 */	bl func_803C8DAC
/* 803AB9E8 003A7648  3B 39 00 01 */	addi r25, r25, 1
/* 803AB9EC 003A764C  3B 7B 00 04 */	addi r27, r27, 4
lbl_803AB9F0:
/* 803AB9F0 003A7650  80 1E 00 44 */	lwz r0, 0x44(r30)
/* 803AB9F4 003A7654  7C 19 00 00 */	cmpw r25, r0
/* 803AB9F8 003A7658  41 80 FF 64 */	blt lbl_803AB95C
/* 803AB9FC 003A765C  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABA00 003A7660  7F C3 F3 78 */	mr r3, r30
/* 803ABA04 003A7664  48 01 A5 C9 */	bl func_803C5FCC
/* 803ABA08 003A7668  48 00 04 08 */	b lbl_803ABE10
lbl_803ABA0C:
/* 803ABA0C 003A766C  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803ABA10 003A7670  41 82 01 58 */	beq lbl_803ABB68
/* 803ABA14 003A7674  3F 80 80 40 */	lis r28, lbl_80405158@ha
/* 803ABA18 003A7678  3B 20 00 00 */	li r25, 0
/* 803ABA1C 003A767C  3B 9C 51 58 */	addi r28, r28, lbl_80405158@l
/* 803ABA20 003A7680  3B 60 00 00 */	li r27, 0
lbl_803ABA24:
/* 803ABA24 003A7684  9B 21 00 08 */	stb r25, 8(r1)
/* 803ABA28 003A7688  7F 23 CB 78 */	mr r3, r25
/* 803ABA2C 003A768C  48 02 DE 11 */	bl func_803D983C
/* 803ABA30 003A7690  7C 7A 1B 78 */	mr r26, r3
/* 803ABA34 003A7694  38 60 00 00 */	li r3, 0
/* 803ABA38 003A7698  48 02 DE 05 */	bl func_803D983C
/* 803ABA3C 003A769C  54 60 10 3A */	slwi r0, r3, 2
/* 803ABA40 003A76A0  7F C3 F3 78 */	mr r3, r30
/* 803ABA44 003A76A4  7C 1A 02 14 */	add r0, r26, r0
/* 803ABA48 003A76A8  38 81 00 08 */	addi r4, r1, 8
/* 803ABA4C 003A76AC  7C 1C 00 AE */	lbzx r0, r28, r0
/* 803ABA50 003A76B0  98 01 00 09 */	stb r0, 9(r1)
/* 803ABA54 003A76B4  4B FF A6 85 */	bl func_803A60D8
/* 803ABA58 003A76B8  3B 39 00 01 */	addi r25, r25, 1
/* 803ABA5C 003A76BC  7C 9E DA 14 */	add r4, r30, r27
/* 803ABA60 003A76C0  2C 19 00 04 */	cmpwi r25, 4
/* 803ABA64 003A76C4  90 64 00 34 */	stw r3, 0x34(r4)
/* 803ABA68 003A76C8  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABA6C 003A76CC  41 80 FF B8 */	blt lbl_803ABA24
/* 803ABA70 003A76D0  93 3E 00 44 */	stw r25, 0x44(r30)
/* 803ABA74 003A76D4  3B 40 00 00 */	li r26, 0
/* 803ABA78 003A76D8  3B 60 00 00 */	li r27, 0
lbl_803ABA7C:
/* 803ABA7C 003A76DC  7F 3E DA 14 */	add r25, r30, r27
/* 803ABA80 003A76E0  7F C3 F3 78 */	mr r3, r30
/* 803ABA84 003A76E4  80 99 00 34 */	lwz r4, 0x34(r25)
/* 803ABA88 003A76E8  4B FF F8 F1 */	bl func_803AB378
/* 803ABA8C 003A76EC  7C 7F DA 14 */	add r3, r31, r27
/* 803ABA90 003A76F0  80 99 00 68 */	lwz r4, 0x68(r25)
/* 803ABA94 003A76F4  80 63 00 04 */	lwz r3, 4(r3)
/* 803ABA98 003A76F8  48 03 2E C5 */	bl func_803DE95C
/* 803ABA9C 003A76FC  3B 5A 00 01 */	addi r26, r26, 1
/* 803ABAA0 003A7700  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABAA4 003A7704  2C 1A 00 04 */	cmpwi r26, 4
/* 803ABAA8 003A7708  41 80 FF D4 */	blt lbl_803ABA7C
/* 803ABAAC 003A770C  3B 20 00 00 */	li r25, 0
/* 803ABAB0 003A7710  3B 60 00 00 */	li r27, 0
/* 803ABAB4 003A7714  48 00 00 98 */	b lbl_803ABB4C
lbl_803ABAB8:
/* 803ABAB8 003A7718  7F 5E DA 14 */	add r26, r30, r27
/* 803ABABC 003A771C  3B 80 00 00 */	li r28, 0
/* 803ABAC0 003A7720  48 00 00 5C */	b lbl_803ABB1C
lbl_803ABAC4:
/* 803ABAC4 003A7724  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803ABAC8 003A7728  7F 84 E3 78 */	mr r4, r28
/* 803ABACC 003A772C  48 03 2E 81 */	bl func_803DE94C
/* 803ABAD0 003A7730  7C 78 1B 78 */	mr r24, r3
/* 803ABAD4 003A7734  38 80 00 05 */	li r4, 5
/* 803ABAD8 003A7738  38 A0 00 00 */	li r5, 0
/* 803ABADC 003A773C  48 03 1F 01 */	bl func_803DD9DC
/* 803ABAE0 003A7740  2C 03 00 00 */	cmpwi r3, 0
/* 803ABAE4 003A7744  41 82 00 34 */	beq lbl_803ABB18
/* 803ABAE8 003A7748  7F 03 C3 78 */	mr r3, r24
/* 803ABAEC 003A774C  38 80 00 4C */	li r4, 0x4c
/* 803ABAF0 003A7750  38 A0 00 00 */	li r5, 0
/* 803ABAF4 003A7754  48 03 1E E9 */	bl func_803DD9DC
/* 803ABAF8 003A7758  2C 03 00 00 */	cmpwi r3, 0
/* 803ABAFC 003A775C  40 82 00 1C */	bne lbl_803ABB18
/* 803ABB00 003A7760  7F 03 C3 78 */	mr r3, r24
/* 803ABB04 003A7764  38 80 00 A2 */	li r4, 0xa2
/* 803ABB08 003A7768  38 A0 00 00 */	li r5, 0
/* 803ABB0C 003A776C  48 03 1E D1 */	bl func_803DD9DC
/* 803ABB10 003A7770  2C 03 00 00 */	cmpwi r3, 0
/* 803ABB14 003A7774  40 82 00 18 */	bne lbl_803ABB2C
lbl_803ABB18:
/* 803ABB18 003A7778  3B 9C 00 01 */	addi r28, r28, 1
lbl_803ABB1C:
/* 803ABB1C 003A777C  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803ABB20 003A7780  48 03 2E 25 */	bl func_803DE944
/* 803ABB24 003A7784  7C 1C 18 00 */	cmpw r28, r3
/* 803ABB28 003A7788  41 80 FF 9C */	blt lbl_803ABAC4
lbl_803ABB2C:
/* 803ABB2C 003A778C  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABB30 003A7790  7F C3 F3 78 */	mr r3, r30
/* 803ABB34 003A7794  7F 26 CB 78 */	mr r6, r25
/* 803ABB38 003A7798  7F 87 E3 78 */	mr r7, r28
/* 803ABB3C 003A779C  38 A0 00 02 */	li r5, 2
/* 803ABB40 003A77A0  48 01 D2 6D */	bl func_803C8DAC
/* 803ABB44 003A77A4  3B 39 00 01 */	addi r25, r25, 1
/* 803ABB48 003A77A8  3B 7B 00 04 */	addi r27, r27, 4
lbl_803ABB4C:
/* 803ABB4C 003A77AC  80 1E 00 44 */	lwz r0, 0x44(r30)
/* 803ABB50 003A77B0  7C 19 00 00 */	cmpw r25, r0
/* 803ABB54 003A77B4  41 80 FF 64 */	blt lbl_803ABAB8
/* 803ABB58 003A77B8  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABB5C 003A77BC  7F C3 F3 78 */	mr r3, r30
/* 803ABB60 003A77C0  48 01 A4 6D */	bl func_803C5FCC
/* 803ABB64 003A77C4  48 00 02 AC */	b lbl_803ABE10
lbl_803ABB68:
/* 803ABB68 003A77C8  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803ABB6C 003A77CC  41 82 01 A0 */	beq lbl_803ABD0C
/* 803ABB70 003A77D0  3B 82 A9 DA */	addi r28, r2, lbl_80642FDA-_SDA2_BASE_
/* 803ABB74 003A77D4  3B 40 00 00 */	li r26, 0
/* 803ABB78 003A77D8  3B 60 00 00 */	li r27, 0
lbl_803ABB7C:
/* 803ABB7C 003A77DC  88 1C 00 00 */	lbz r0, 0(r28)
/* 803ABB80 003A77E0  7F C3 F3 78 */	mr r3, r30
/* 803ABB84 003A77E4  9B 41 00 08 */	stb r26, 8(r1)
/* 803ABB88 003A77E8  7F 3E DA 14 */	add r25, r30, r27
/* 803ABB8C 003A77EC  38 81 00 08 */	addi r4, r1, 8
/* 803ABB90 003A77F0  98 01 00 09 */	stb r0, 9(r1)
/* 803ABB94 003A77F4  4B FF A5 45 */	bl func_803A60D8
/* 803ABB98 003A77F8  90 79 00 34 */	stw r3, 0x34(r25)
/* 803ABB9C 003A77FC  7C 64 1B 78 */	mr r4, r3
/* 803ABBA0 003A7800  7F C3 F3 78 */	mr r3, r30
/* 803ABBA4 003A7804  4B FF F7 D5 */	bl func_803AB378
/* 803ABBA8 003A7808  3B 5A 00 01 */	addi r26, r26, 1
/* 803ABBAC 003A780C  3B 9C 00 01 */	addi r28, r28, 1
/* 803ABBB0 003A7810  2C 1A 00 04 */	cmpwi r26, 4
/* 803ABBB4 003A7814  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABBB8 003A7818  41 80 FF C4 */	blt lbl_803ABB7C
/* 803ABBBC 003A781C  93 5E 00 44 */	stw r26, 0x44(r30)
/* 803ABBC0 003A7820  3B 20 00 00 */	li r25, 0
/* 803ABBC4 003A7824  3B 60 00 00 */	li r27, 0
lbl_803ABBC8:
/* 803ABBC8 003A7828  7C 7F DA 14 */	add r3, r31, r27
/* 803ABBCC 003A782C  7C 9E DA 14 */	add r4, r30, r27
/* 803ABBD0 003A7830  80 63 00 04 */	lwz r3, 4(r3)
/* 803ABBD4 003A7834  80 84 00 68 */	lwz r4, 0x68(r4)
/* 803ABBD8 003A7838  48 03 2D 85 */	bl func_803DE95C
/* 803ABBDC 003A783C  3B 39 00 01 */	addi r25, r25, 1
/* 803ABBE0 003A7840  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABBE4 003A7844  2C 19 00 04 */	cmpwi r25, 4
/* 803ABBE8 003A7848  41 80 FF E0 */	blt lbl_803ABBC8
/* 803ABBEC 003A784C  3B 60 00 00 */	li r27, 0
/* 803ABBF0 003A7850  48 00 01 0C */	b lbl_803ABCFC
lbl_803ABBF4:
/* 803ABBF4 003A7854  57 60 17 7A */	rlwinm r0, r27, 2, 0x1d, 0x1d
/* 803ABBF8 003A7858  57 79 07 FE */	clrlwi r25, r27, 0x1f
/* 803ABBFC 003A785C  7F 5E 02 14 */	add r26, r30, r0
/* 803ABC00 003A7860  3B 80 00 00 */	li r28, 0
/* 803ABC04 003A7864  48 00 00 CC */	b lbl_803ABCD0
lbl_803ABC08:
/* 803ABC08 003A7868  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803ABC0C 003A786C  7F 84 E3 78 */	mr r4, r28
/* 803ABC10 003A7870  48 03 2D 3D */	bl func_803DE94C
/* 803ABC14 003A7874  2C 1B 00 01 */	cmpwi r27, 1
/* 803ABC18 003A7878  7C 78 1B 78 */	mr r24, r3
/* 803ABC1C 003A787C  40 81 00 6C */	ble lbl_803ABC88
/* 803ABC20 003A7880  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABC24 003A7884  7F C3 F3 78 */	mr r3, r30
/* 803ABC28 003A7888  7F 26 CB 78 */	mr r6, r25
/* 803ABC2C 003A788C  38 A0 00 02 */	li r5, 2
/* 803ABC30 003A7890  48 01 D0 19 */	bl func_803C8C48
/* 803ABC34 003A7894  7C 1C 18 00 */	cmpw r28, r3
/* 803ABC38 003A7898  41 82 00 94 */	beq lbl_803ABCCC
/* 803ABC3C 003A789C  7F 03 C3 78 */	mr r3, r24
/* 803ABC40 003A78A0  38 80 00 05 */	li r4, 5
/* 803ABC44 003A78A4  38 A0 00 00 */	li r5, 0
/* 803ABC48 003A78A8  48 03 1D 95 */	bl func_803DD9DC
/* 803ABC4C 003A78AC  2C 03 00 00 */	cmpwi r3, 0
/* 803ABC50 003A78B0  41 82 00 7C */	beq lbl_803ABCCC
/* 803ABC54 003A78B4  7F 03 C3 78 */	mr r3, r24
/* 803ABC58 003A78B8  38 80 00 4C */	li r4, 0x4c
/* 803ABC5C 003A78BC  38 A0 00 00 */	li r5, 0
/* 803ABC60 003A78C0  48 03 1D 7D */	bl func_803DD9DC
/* 803ABC64 003A78C4  2C 03 00 00 */	cmpwi r3, 0
/* 803ABC68 003A78C8  40 82 00 64 */	bne lbl_803ABCCC
/* 803ABC6C 003A78CC  7F 03 C3 78 */	mr r3, r24
/* 803ABC70 003A78D0  38 80 00 A2 */	li r4, 0xa2
/* 803ABC74 003A78D4  38 A0 00 00 */	li r5, 0
/* 803ABC78 003A78D8  48 03 1D 65 */	bl func_803DD9DC
/* 803ABC7C 003A78DC  2C 03 00 00 */	cmpwi r3, 0
/* 803ABC80 003A78E0  40 82 00 60 */	bne lbl_803ABCE0
/* 803ABC84 003A78E4  48 00 00 48 */	b lbl_803ABCCC
lbl_803ABC88:
/* 803ABC88 003A78E8  38 80 00 05 */	li r4, 5
/* 803ABC8C 003A78EC  38 A0 00 00 */	li r5, 0
/* 803ABC90 003A78F0  48 03 1D 4D */	bl func_803DD9DC
/* 803ABC94 003A78F4  2C 03 00 00 */	cmpwi r3, 0
/* 803ABC98 003A78F8  41 82 00 34 */	beq lbl_803ABCCC
/* 803ABC9C 003A78FC  7F 03 C3 78 */	mr r3, r24
/* 803ABCA0 003A7900  38 80 00 4C */	li r4, 0x4c
/* 803ABCA4 003A7904  38 A0 00 00 */	li r5, 0
/* 803ABCA8 003A7908  48 03 1D 35 */	bl func_803DD9DC
/* 803ABCAC 003A790C  2C 03 00 00 */	cmpwi r3, 0
/* 803ABCB0 003A7910  40 82 00 1C */	bne lbl_803ABCCC
/* 803ABCB4 003A7914  7F 03 C3 78 */	mr r3, r24
/* 803ABCB8 003A7918  38 80 00 A2 */	li r4, 0xa2
/* 803ABCBC 003A791C  38 A0 00 00 */	li r5, 0
/* 803ABCC0 003A7920  48 03 1D 1D */	bl func_803DD9DC
/* 803ABCC4 003A7924  2C 03 00 00 */	cmpwi r3, 0
/* 803ABCC8 003A7928  40 82 00 18 */	bne lbl_803ABCE0
lbl_803ABCCC:
/* 803ABCCC 003A792C  3B 9C 00 01 */	addi r28, r28, 1
lbl_803ABCD0:
/* 803ABCD0 003A7930  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803ABCD4 003A7934  48 03 2C 71 */	bl func_803DE944
/* 803ABCD8 003A7938  7C 1C 18 00 */	cmpw r28, r3
/* 803ABCDC 003A793C  41 80 FF 2C */	blt lbl_803ABC08
lbl_803ABCE0:
/* 803ABCE0 003A7940  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABCE4 003A7944  7F C3 F3 78 */	mr r3, r30
/* 803ABCE8 003A7948  7F 66 DB 78 */	mr r6, r27
/* 803ABCEC 003A794C  7F 87 E3 78 */	mr r7, r28
/* 803ABCF0 003A7950  38 A0 00 02 */	li r5, 2
/* 803ABCF4 003A7954  48 01 D0 B9 */	bl func_803C8DAC
/* 803ABCF8 003A7958  3B 7B 00 01 */	addi r27, r27, 1
lbl_803ABCFC:
/* 803ABCFC 003A795C  80 1E 00 44 */	lwz r0, 0x44(r30)
/* 803ABD00 003A7960  7C 1B 00 00 */	cmpw r27, r0
/* 803ABD04 003A7964  41 80 FE F0 */	blt lbl_803ABBF4
/* 803ABD08 003A7968  48 00 01 08 */	b lbl_803ABE10
lbl_803ABD0C:
/* 803ABD0C 003A796C  3B 82 A9 D2 */	addi r28, r2, lbl_80642FD2-_SDA2_BASE_
/* 803ABD10 003A7970  3B 40 00 00 */	li r26, 0
/* 803ABD14 003A7974  3B 60 00 00 */	li r27, 0
lbl_803ABD18:
/* 803ABD18 003A7978  88 1C 00 00 */	lbz r0, 0(r28)
/* 803ABD1C 003A797C  7F C3 F3 78 */	mr r3, r30
/* 803ABD20 003A7980  9B 41 00 08 */	stb r26, 8(r1)
/* 803ABD24 003A7984  7F 3E DA 14 */	add r25, r30, r27
/* 803ABD28 003A7988  38 81 00 08 */	addi r4, r1, 8
/* 803ABD2C 003A798C  98 01 00 09 */	stb r0, 9(r1)
/* 803ABD30 003A7990  4B FF A3 A9 */	bl func_803A60D8
/* 803ABD34 003A7994  90 79 00 34 */	stw r3, 0x34(r25)
/* 803ABD38 003A7998  7C 64 1B 78 */	mr r4, r3
/* 803ABD3C 003A799C  7F C3 F3 78 */	mr r3, r30
/* 803ABD40 003A79A0  4B FF F6 39 */	bl func_803AB378
/* 803ABD44 003A79A4  3B 5A 00 01 */	addi r26, r26, 1
/* 803ABD48 003A79A8  3B 9C 00 01 */	addi r28, r28, 1
/* 803ABD4C 003A79AC  2C 1A 00 02 */	cmpwi r26, 2
/* 803ABD50 003A79B0  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABD54 003A79B4  41 80 FF C4 */	blt lbl_803ABD18
/* 803ABD58 003A79B8  93 5E 00 44 */	stw r26, 0x44(r30)
/* 803ABD5C 003A79BC  3B 40 00 00 */	li r26, 0
/* 803ABD60 003A79C0  3B 60 00 00 */	li r27, 0
lbl_803ABD64:
/* 803ABD64 003A79C4  7F 3E DA 14 */	add r25, r30, r27
/* 803ABD68 003A79C8  7C 7F DA 14 */	add r3, r31, r27
/* 803ABD6C 003A79CC  80 63 00 04 */	lwz r3, 4(r3)
/* 803ABD70 003A79D0  80 99 00 68 */	lwz r4, 0x68(r25)
/* 803ABD74 003A79D4  48 03 2B E9 */	bl func_803DE95C
/* 803ABD78 003A79D8  3B 80 00 00 */	li r28, 0
/* 803ABD7C 003A79DC  48 00 00 5C */	b lbl_803ABDD8
lbl_803ABD80:
/* 803ABD80 003A79E0  80 79 00 68 */	lwz r3, 0x68(r25)
/* 803ABD84 003A79E4  7F 84 E3 78 */	mr r4, r28
/* 803ABD88 003A79E8  48 03 2B C5 */	bl func_803DE94C
/* 803ABD8C 003A79EC  7C 78 1B 78 */	mr r24, r3
/* 803ABD90 003A79F0  38 80 00 05 */	li r4, 5
/* 803ABD94 003A79F4  38 A0 00 00 */	li r5, 0
/* 803ABD98 003A79F8  48 03 1C 45 */	bl func_803DD9DC
/* 803ABD9C 003A79FC  2C 03 00 00 */	cmpwi r3, 0
/* 803ABDA0 003A7A00  41 82 00 34 */	beq lbl_803ABDD4
/* 803ABDA4 003A7A04  7F 03 C3 78 */	mr r3, r24
/* 803ABDA8 003A7A08  38 80 00 4C */	li r4, 0x4c
/* 803ABDAC 003A7A0C  38 A0 00 00 */	li r5, 0
/* 803ABDB0 003A7A10  48 03 1C 2D */	bl func_803DD9DC
/* 803ABDB4 003A7A14  2C 03 00 00 */	cmpwi r3, 0
/* 803ABDB8 003A7A18  40 82 00 1C */	bne lbl_803ABDD4
/* 803ABDBC 003A7A1C  7F 03 C3 78 */	mr r3, r24
/* 803ABDC0 003A7A20  38 80 00 A2 */	li r4, 0xa2
/* 803ABDC4 003A7A24  38 A0 00 00 */	li r5, 0
/* 803ABDC8 003A7A28  48 03 1C 15 */	bl func_803DD9DC
/* 803ABDCC 003A7A2C  2C 03 00 00 */	cmpwi r3, 0
/* 803ABDD0 003A7A30  40 82 00 18 */	bne lbl_803ABDE8
lbl_803ABDD4:
/* 803ABDD4 003A7A34  3B 9C 00 01 */	addi r28, r28, 1
lbl_803ABDD8:
/* 803ABDD8 003A7A38  80 79 00 68 */	lwz r3, 0x68(r25)
/* 803ABDDC 003A7A3C  48 03 2B 69 */	bl func_803DE944
/* 803ABDE0 003A7A40  7C 1C 18 00 */	cmpw r28, r3
/* 803ABDE4 003A7A44  41 80 FF 9C */	blt lbl_803ABD80
lbl_803ABDE8:
/* 803ABDE8 003A7A48  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABDEC 003A7A4C  7F C3 F3 78 */	mr r3, r30
/* 803ABDF0 003A7A50  7F 46 D3 78 */	mr r6, r26
/* 803ABDF4 003A7A54  7F 87 E3 78 */	mr r7, r28
/* 803ABDF8 003A7A58  38 A0 00 02 */	li r5, 2
/* 803ABDFC 003A7A5C  48 01 CF B1 */	bl func_803C8DAC
/* 803ABE00 003A7A60  3B 5A 00 01 */	addi r26, r26, 1
/* 803ABE04 003A7A64  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABE08 003A7A68  2C 1A 00 04 */	cmpwi r26, 4
/* 803ABE0C 003A7A6C  41 80 FF 58 */	blt lbl_803ABD64
lbl_803ABE10:
/* 803ABE10 003A7A70  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABE14 003A7A74  7F C3 F3 78 */	mr r3, r30
/* 803ABE18 003A7A78  48 01 A1 B5 */	bl func_803C5FCC
/* 803ABE1C 003A7A7C  48 00 05 F4 */	b lbl_803AC410
lbl_803ABE20:
/* 803ABE20 003A7A80  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803ABE24 003A7A84  41 82 01 B0 */	beq lbl_803ABFD4
/* 803ABE28 003A7A88  3B 82 A9 D6 */	addi r28, r2, lbl_80642FD6-_SDA2_BASE_
/* 803ABE2C 003A7A8C  3B 40 00 00 */	li r26, 0
/* 803ABE30 003A7A90  3B 60 00 00 */	li r27, 0
lbl_803ABE34:
/* 803ABE34 003A7A94  88 1C 00 00 */	lbz r0, 0(r28)
/* 803ABE38 003A7A98  7F C3 F3 78 */	mr r3, r30
/* 803ABE3C 003A7A9C  9B 41 00 08 */	stb r26, 8(r1)
/* 803ABE40 003A7AA0  7F 3E DA 14 */	add r25, r30, r27
/* 803ABE44 003A7AA4  38 81 00 08 */	addi r4, r1, 8
/* 803ABE48 003A7AA8  98 01 00 09 */	stb r0, 9(r1)
/* 803ABE4C 003A7AAC  4B FF A2 8D */	bl func_803A60D8
/* 803ABE50 003A7AB0  90 79 00 34 */	stw r3, 0x34(r25)
/* 803ABE54 003A7AB4  7C 64 1B 78 */	mr r4, r3
/* 803ABE58 003A7AB8  7F C3 F3 78 */	mr r3, r30
/* 803ABE5C 003A7ABC  4B FF F5 1D */	bl func_803AB378
/* 803ABE60 003A7AC0  3B 5A 00 01 */	addi r26, r26, 1
/* 803ABE64 003A7AC4  3B 9C 00 01 */	addi r28, r28, 1
/* 803ABE68 003A7AC8  2C 1A 00 04 */	cmpwi r26, 4
/* 803ABE6C 003A7ACC  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABE70 003A7AD0  41 80 FF C4 */	blt lbl_803ABE34
/* 803ABE74 003A7AD4  93 5E 00 44 */	stw r26, 0x44(r30)
/* 803ABE78 003A7AD8  3B 20 00 00 */	li r25, 0
/* 803ABE7C 003A7ADC  3B 60 00 00 */	li r27, 0
lbl_803ABE80:
/* 803ABE80 003A7AE0  7C 7F DA 14 */	add r3, r31, r27
/* 803ABE84 003A7AE4  7C 9E DA 14 */	add r4, r30, r27
/* 803ABE88 003A7AE8  80 63 00 04 */	lwz r3, 4(r3)
/* 803ABE8C 003A7AEC  80 84 00 68 */	lwz r4, 0x68(r4)
/* 803ABE90 003A7AF0  48 03 2A CD */	bl func_803DE95C
/* 803ABE94 003A7AF4  3B 39 00 01 */	addi r25, r25, 1
/* 803ABE98 003A7AF8  3B 7B 00 04 */	addi r27, r27, 4
/* 803ABE9C 003A7AFC  2C 19 00 04 */	cmpwi r25, 4
/* 803ABEA0 003A7B00  41 80 FF E0 */	blt lbl_803ABE80
/* 803ABEA4 003A7B04  3B 20 00 00 */	li r25, 0
/* 803ABEA8 003A7B08  48 00 00 FC */	b lbl_803ABFA4
lbl_803ABEAC:
/* 803ABEAC 003A7B0C  3B 40 00 00 */	li r26, 0
/* 803ABEB0 003A7B10  48 00 00 B8 */	b lbl_803ABF68
lbl_803ABEB4:
/* 803ABEB4 003A7B14  7F C3 F3 78 */	mr r3, r30
/* 803ABEB8 003A7B18  7F 24 CB 78 */	mr r4, r25
/* 803ABEBC 003A7B1C  7F 45 D3 78 */	mr r5, r26
/* 803ABEC0 003A7B20  48 00 0A E5 */	bl func_803AC9A4
/* 803ABEC4 003A7B24  2C 19 00 02 */	cmpwi r25, 2
/* 803ABEC8 003A7B28  7C 78 1B 78 */	mr r24, r3
/* 803ABECC 003A7B2C  40 82 00 54 */	bne lbl_803ABF20
/* 803ABED0 003A7B30  38 80 00 05 */	li r4, 5
/* 803ABED4 003A7B34  38 A0 00 00 */	li r5, 0
/* 803ABED8 003A7B38  48 03 1B 05 */	bl func_803DD9DC
/* 803ABEDC 003A7B3C  2C 03 00 00 */	cmpwi r3, 0
/* 803ABEE0 003A7B40  41 82 00 84 */	beq lbl_803ABF64
/* 803ABEE4 003A7B44  7F 03 C3 78 */	mr r3, r24
/* 803ABEE8 003A7B48  38 80 00 4C */	li r4, 0x4c
/* 803ABEEC 003A7B4C  38 A0 00 00 */	li r5, 0
/* 803ABEF0 003A7B50  48 03 1A ED */	bl func_803DD9DC
/* 803ABEF4 003A7B54  2C 03 00 00 */	cmpwi r3, 0
/* 803ABEF8 003A7B58  40 82 00 6C */	bne lbl_803ABF64
/* 803ABEFC 003A7B5C  7F 03 C3 78 */	mr r3, r24
/* 803ABF00 003A7B60  38 80 00 A2 */	li r4, 0xa2
/* 803ABF04 003A7B64  38 A0 00 00 */	li r5, 0
/* 803ABF08 003A7B68  48 03 1A D5 */	bl func_803DD9DC
/* 803ABF0C 003A7B6C  2C 03 00 00 */	cmpwi r3, 0
/* 803ABF10 003A7B70  41 82 00 54 */	beq lbl_803ABF64
/* 803ABF14 003A7B74  7C 1F D0 00 */	cmpw r31, r26
/* 803ABF18 003A7B78  40 82 00 64 */	bne lbl_803ABF7C
/* 803ABF1C 003A7B7C  48 00 00 48 */	b lbl_803ABF64
lbl_803ABF20:
/* 803ABF20 003A7B80  38 80 00 05 */	li r4, 5
/* 803ABF24 003A7B84  38 A0 00 00 */	li r5, 0
/* 803ABF28 003A7B88  48 03 1A B5 */	bl func_803DD9DC
/* 803ABF2C 003A7B8C  2C 03 00 00 */	cmpwi r3, 0
/* 803ABF30 003A7B90  41 82 00 34 */	beq lbl_803ABF64
/* 803ABF34 003A7B94  7F 03 C3 78 */	mr r3, r24
/* 803ABF38 003A7B98  38 80 00 4C */	li r4, 0x4c
/* 803ABF3C 003A7B9C  38 A0 00 00 */	li r5, 0
/* 803ABF40 003A7BA0  48 03 1A 9D */	bl func_803DD9DC
/* 803ABF44 003A7BA4  2C 03 00 00 */	cmpwi r3, 0
/* 803ABF48 003A7BA8  40 82 00 1C */	bne lbl_803ABF64
/* 803ABF4C 003A7BAC  7F 03 C3 78 */	mr r3, r24
/* 803ABF50 003A7BB0  38 80 00 A2 */	li r4, 0xa2
/* 803ABF54 003A7BB4  38 A0 00 00 */	li r5, 0
/* 803ABF58 003A7BB8  48 03 1A 85 */	bl func_803DD9DC
/* 803ABF5C 003A7BBC  2C 03 00 00 */	cmpwi r3, 0
/* 803ABF60 003A7BC0  40 82 00 1C */	bne lbl_803ABF7C
lbl_803ABF64:
/* 803ABF64 003A7BC4  3B 5A 00 01 */	addi r26, r26, 1
lbl_803ABF68:
/* 803ABF68 003A7BC8  7F C3 F3 78 */	mr r3, r30
/* 803ABF6C 003A7BCC  7F 24 CB 78 */	mr r4, r25
/* 803ABF70 003A7BD0  48 00 09 91 */	bl func_803AC900
/* 803ABF74 003A7BD4  7C 1A 18 00 */	cmpw r26, r3
/* 803ABF78 003A7BD8  41 80 FF 3C */	blt lbl_803ABEB4
lbl_803ABF7C:
/* 803ABF7C 003A7BDC  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABF80 003A7BE0  7F C3 F3 78 */	mr r3, r30
/* 803ABF84 003A7BE4  7F 26 CB 78 */	mr r6, r25
/* 803ABF88 003A7BE8  7F 47 D3 78 */	mr r7, r26
/* 803ABF8C 003A7BEC  38 A0 00 02 */	li r5, 2
/* 803ABF90 003A7BF0  48 01 CE 1D */	bl func_803C8DAC
/* 803ABF94 003A7BF4  2C 19 00 00 */	cmpwi r25, 0
/* 803ABF98 003A7BF8  40 82 00 08 */	bne lbl_803ABFA0
/* 803ABF9C 003A7BFC  7F 5F D3 78 */	mr r31, r26
lbl_803ABFA0:
/* 803ABFA0 003A7C00  3B 39 00 01 */	addi r25, r25, 1
lbl_803ABFA4:
/* 803ABFA4 003A7C04  80 1E 00 44 */	lwz r0, 0x44(r30)
/* 803ABFA8 003A7C08  7C 19 00 00 */	cmpw r25, r0
/* 803ABFAC 003A7C0C  41 80 FF 00 */	blt lbl_803ABEAC
/* 803ABFB0 003A7C10  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803ABFB4 003A7C14  7F C3 F3 78 */	mr r3, r30
/* 803ABFB8 003A7C18  48 01 A0 15 */	bl func_803C5FCC
/* 803ABFBC 003A7C1C  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803ABFC0 003A7C20  54 00 03 5B */	rlwinm. r0, r0, 0, 0xd, 0xd
/* 803ABFC4 003A7C24  40 82 04 4C */	bne lbl_803AC410
/* 803ABFC8 003A7C28  38 00 00 01 */	li r0, 1
/* 803ABFCC 003A7C2C  98 1E 23 C0 */	stb r0, 0x23c0(r30)
/* 803ABFD0 003A7C30  48 00 04 40 */	b lbl_803AC410
lbl_803ABFD4:
/* 803ABFD4 003A7C34  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803ABFD8 003A7C38  41 82 01 50 */	beq lbl_803AC128
/* 803ABFDC 003A7C3C  3B 82 A9 D6 */	addi r28, r2, lbl_80642FD6-_SDA2_BASE_
/* 803ABFE0 003A7C40  3B 40 00 00 */	li r26, 0
/* 803ABFE4 003A7C44  3B 60 00 00 */	li r27, 0
lbl_803ABFE8:
/* 803ABFE8 003A7C48  88 1C 00 00 */	lbz r0, 0(r28)
/* 803ABFEC 003A7C4C  7F C3 F3 78 */	mr r3, r30
/* 803ABFF0 003A7C50  9B 41 00 08 */	stb r26, 8(r1)
/* 803ABFF4 003A7C54  7F 3E DA 14 */	add r25, r30, r27
/* 803ABFF8 003A7C58  38 81 00 08 */	addi r4, r1, 8
/* 803ABFFC 003A7C5C  98 01 00 09 */	stb r0, 9(r1)
/* 803AC000 003A7C60  4B FF A0 D9 */	bl func_803A60D8
/* 803AC004 003A7C64  90 79 00 34 */	stw r3, 0x34(r25)
/* 803AC008 003A7C68  7C 64 1B 78 */	mr r4, r3
/* 803AC00C 003A7C6C  7F C3 F3 78 */	mr r3, r30
/* 803AC010 003A7C70  4B FF F3 69 */	bl func_803AB378
/* 803AC014 003A7C74  3B 5A 00 01 */	addi r26, r26, 1
/* 803AC018 003A7C78  3B 9C 00 01 */	addi r28, r28, 1
/* 803AC01C 003A7C7C  2C 1A 00 04 */	cmpwi r26, 4
/* 803AC020 003A7C80  3B 7B 00 04 */	addi r27, r27, 4
/* 803AC024 003A7C84  41 80 FF C4 */	blt lbl_803ABFE8
/* 803AC028 003A7C88  93 5E 00 44 */	stw r26, 0x44(r30)
/* 803AC02C 003A7C8C  3B 20 00 00 */	li r25, 0
/* 803AC030 003A7C90  3B 60 00 00 */	li r27, 0
lbl_803AC034:
/* 803AC034 003A7C94  7C 7F DA 14 */	add r3, r31, r27
/* 803AC038 003A7C98  7C 9E DA 14 */	add r4, r30, r27
/* 803AC03C 003A7C9C  80 63 00 04 */	lwz r3, 4(r3)
/* 803AC040 003A7CA0  80 84 00 68 */	lwz r4, 0x68(r4)
/* 803AC044 003A7CA4  48 03 29 19 */	bl func_803DE95C
/* 803AC048 003A7CA8  3B 39 00 01 */	addi r25, r25, 1
/* 803AC04C 003A7CAC  3B 7B 00 04 */	addi r27, r27, 4
/* 803AC050 003A7CB0  2C 19 00 04 */	cmpwi r25, 4
/* 803AC054 003A7CB4  41 80 FF E0 */	blt lbl_803AC034
/* 803AC058 003A7CB8  3B 20 00 00 */	li r25, 0
/* 803AC05C 003A7CBC  3B 60 00 00 */	li r27, 0
/* 803AC060 003A7CC0  48 00 00 98 */	b lbl_803AC0F8
lbl_803AC064:
/* 803AC064 003A7CC4  7F 5E DA 14 */	add r26, r30, r27
/* 803AC068 003A7CC8  3B 80 00 00 */	li r28, 0
/* 803AC06C 003A7CCC  48 00 00 5C */	b lbl_803AC0C8
lbl_803AC070:
/* 803AC070 003A7CD0  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803AC074 003A7CD4  7F 84 E3 78 */	mr r4, r28
/* 803AC078 003A7CD8  48 03 28 D5 */	bl func_803DE94C
/* 803AC07C 003A7CDC  7C 78 1B 78 */	mr r24, r3
/* 803AC080 003A7CE0  38 80 00 05 */	li r4, 5
/* 803AC084 003A7CE4  38 A0 00 00 */	li r5, 0
/* 803AC088 003A7CE8  48 03 19 55 */	bl func_803DD9DC
/* 803AC08C 003A7CEC  2C 03 00 00 */	cmpwi r3, 0
/* 803AC090 003A7CF0  41 82 00 34 */	beq lbl_803AC0C4
/* 803AC094 003A7CF4  7F 03 C3 78 */	mr r3, r24
/* 803AC098 003A7CF8  38 80 00 4C */	li r4, 0x4c
/* 803AC09C 003A7CFC  38 A0 00 00 */	li r5, 0
/* 803AC0A0 003A7D00  48 03 19 3D */	bl func_803DD9DC
/* 803AC0A4 003A7D04  2C 03 00 00 */	cmpwi r3, 0
/* 803AC0A8 003A7D08  40 82 00 1C */	bne lbl_803AC0C4
/* 803AC0AC 003A7D0C  7F 03 C3 78 */	mr r3, r24
/* 803AC0B0 003A7D10  38 80 00 A2 */	li r4, 0xa2
/* 803AC0B4 003A7D14  38 A0 00 00 */	li r5, 0
/* 803AC0B8 003A7D18  48 03 19 25 */	bl func_803DD9DC
/* 803AC0BC 003A7D1C  2C 03 00 00 */	cmpwi r3, 0
/* 803AC0C0 003A7D20  40 82 00 18 */	bne lbl_803AC0D8
lbl_803AC0C4:
/* 803AC0C4 003A7D24  3B 9C 00 01 */	addi r28, r28, 1
lbl_803AC0C8:
/* 803AC0C8 003A7D28  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803AC0CC 003A7D2C  48 03 28 79 */	bl func_803DE944
/* 803AC0D0 003A7D30  7C 1C 18 00 */	cmpw r28, r3
/* 803AC0D4 003A7D34  41 80 FF 9C */	blt lbl_803AC070
lbl_803AC0D8:
/* 803AC0D8 003A7D38  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC0DC 003A7D3C  7F C3 F3 78 */	mr r3, r30
/* 803AC0E0 003A7D40  7F 26 CB 78 */	mr r6, r25
/* 803AC0E4 003A7D44  7F 87 E3 78 */	mr r7, r28
/* 803AC0E8 003A7D48  38 A0 00 02 */	li r5, 2
/* 803AC0EC 003A7D4C  48 01 CC C1 */	bl func_803C8DAC
/* 803AC0F0 003A7D50  3B 39 00 01 */	addi r25, r25, 1
/* 803AC0F4 003A7D54  3B 7B 00 04 */	addi r27, r27, 4
lbl_803AC0F8:
/* 803AC0F8 003A7D58  80 1E 00 44 */	lwz r0, 0x44(r30)
/* 803AC0FC 003A7D5C  7C 19 00 00 */	cmpw r25, r0
/* 803AC100 003A7D60  41 80 FF 64 */	blt lbl_803AC064
/* 803AC104 003A7D64  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC108 003A7D68  7F C3 F3 78 */	mr r3, r30
/* 803AC10C 003A7D6C  48 01 9E C1 */	bl func_803C5FCC
/* 803AC110 003A7D70  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803AC114 003A7D74  54 00 03 5B */	rlwinm. r0, r0, 0, 0xd, 0xd
/* 803AC118 003A7D78  40 82 02 F8 */	bne lbl_803AC410
/* 803AC11C 003A7D7C  38 00 00 01 */	li r0, 1
/* 803AC120 003A7D80  98 1E 23 C0 */	stb r0, 0x23c0(r30)
/* 803AC124 003A7D84  48 00 02 EC */	b lbl_803AC410
lbl_803AC128:
/* 803AC128 003A7D88  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803AC12C 003A7D8C  41 82 01 C0 */	beq lbl_803AC2EC
/* 803AC130 003A7D90  3B 82 A9 D6 */	addi r28, r2, lbl_80642FD6-_SDA2_BASE_
/* 803AC134 003A7D94  3B 40 00 00 */	li r26, 0
/* 803AC138 003A7D98  3B 60 00 00 */	li r27, 0
lbl_803AC13C:
/* 803AC13C 003A7D9C  88 1C 00 00 */	lbz r0, 0(r28)
/* 803AC140 003A7DA0  7F C3 F3 78 */	mr r3, r30
/* 803AC144 003A7DA4  9B 41 00 08 */	stb r26, 8(r1)
/* 803AC148 003A7DA8  7F 3E DA 14 */	add r25, r30, r27
/* 803AC14C 003A7DAC  38 81 00 08 */	addi r4, r1, 8
/* 803AC150 003A7DB0  98 01 00 09 */	stb r0, 9(r1)
/* 803AC154 003A7DB4  4B FF 9F 85 */	bl func_803A60D8
/* 803AC158 003A7DB8  90 79 00 34 */	stw r3, 0x34(r25)
/* 803AC15C 003A7DBC  7C 64 1B 78 */	mr r4, r3
/* 803AC160 003A7DC0  7F C3 F3 78 */	mr r3, r30
/* 803AC164 003A7DC4  4B FF F2 15 */	bl func_803AB378
/* 803AC168 003A7DC8  3B 5A 00 01 */	addi r26, r26, 1
/* 803AC16C 003A7DCC  3B 9C 00 01 */	addi r28, r28, 1
/* 803AC170 003A7DD0  2C 1A 00 04 */	cmpwi r26, 4
/* 803AC174 003A7DD4  3B 7B 00 04 */	addi r27, r27, 4
/* 803AC178 003A7DD8  41 80 FF C4 */	blt lbl_803AC13C
/* 803AC17C 003A7DDC  93 5E 00 44 */	stw r26, 0x44(r30)
/* 803AC180 003A7DE0  3B 20 00 00 */	li r25, 0
/* 803AC184 003A7DE4  3B 60 00 00 */	li r27, 0
lbl_803AC188:
/* 803AC188 003A7DE8  7C 7F DA 14 */	add r3, r31, r27
/* 803AC18C 003A7DEC  7C 9E DA 14 */	add r4, r30, r27
/* 803AC190 003A7DF0  80 63 00 04 */	lwz r3, 4(r3)
/* 803AC194 003A7DF4  80 84 00 68 */	lwz r4, 0x68(r4)
/* 803AC198 003A7DF8  48 03 27 C5 */	bl func_803DE95C
/* 803AC19C 003A7DFC  3B 39 00 01 */	addi r25, r25, 1
/* 803AC1A0 003A7E00  3B 7B 00 04 */	addi r27, r27, 4
/* 803AC1A4 003A7E04  2C 19 00 04 */	cmpwi r25, 4
/* 803AC1A8 003A7E08  41 80 FF E0 */	blt lbl_803AC188
/* 803AC1AC 003A7E0C  3B 60 00 00 */	li r27, 0
/* 803AC1B0 003A7E10  48 00 01 0C */	b lbl_803AC2BC
lbl_803AC1B4:
/* 803AC1B4 003A7E14  57 60 17 7A */	rlwinm r0, r27, 2, 0x1d, 0x1d
/* 803AC1B8 003A7E18  57 79 07 FE */	clrlwi r25, r27, 0x1f
/* 803AC1BC 003A7E1C  7F 5E 02 14 */	add r26, r30, r0
/* 803AC1C0 003A7E20  3B 80 00 00 */	li r28, 0
/* 803AC1C4 003A7E24  48 00 00 CC */	b lbl_803AC290
lbl_803AC1C8:
/* 803AC1C8 003A7E28  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803AC1CC 003A7E2C  7F 84 E3 78 */	mr r4, r28
/* 803AC1D0 003A7E30  48 03 27 7D */	bl func_803DE94C
/* 803AC1D4 003A7E34  2C 1B 00 01 */	cmpwi r27, 1
/* 803AC1D8 003A7E38  7C 78 1B 78 */	mr r24, r3
/* 803AC1DC 003A7E3C  40 81 00 6C */	ble lbl_803AC248
/* 803AC1E0 003A7E40  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC1E4 003A7E44  7F C3 F3 78 */	mr r3, r30
/* 803AC1E8 003A7E48  7F 26 CB 78 */	mr r6, r25
/* 803AC1EC 003A7E4C  38 A0 00 02 */	li r5, 2
/* 803AC1F0 003A7E50  48 01 CA 59 */	bl func_803C8C48
/* 803AC1F4 003A7E54  7C 1C 18 00 */	cmpw r28, r3
/* 803AC1F8 003A7E58  41 82 00 94 */	beq lbl_803AC28C
/* 803AC1FC 003A7E5C  7F 03 C3 78 */	mr r3, r24
/* 803AC200 003A7E60  38 80 00 05 */	li r4, 5
/* 803AC204 003A7E64  38 A0 00 00 */	li r5, 0
/* 803AC208 003A7E68  48 03 17 D5 */	bl func_803DD9DC
/* 803AC20C 003A7E6C  2C 03 00 00 */	cmpwi r3, 0
/* 803AC210 003A7E70  41 82 00 7C */	beq lbl_803AC28C
/* 803AC214 003A7E74  7F 03 C3 78 */	mr r3, r24
/* 803AC218 003A7E78  38 80 00 4C */	li r4, 0x4c
/* 803AC21C 003A7E7C  38 A0 00 00 */	li r5, 0
/* 803AC220 003A7E80  48 03 17 BD */	bl func_803DD9DC
/* 803AC224 003A7E84  2C 03 00 00 */	cmpwi r3, 0
/* 803AC228 003A7E88  40 82 00 64 */	bne lbl_803AC28C
/* 803AC22C 003A7E8C  7F 03 C3 78 */	mr r3, r24
/* 803AC230 003A7E90  38 80 00 A2 */	li r4, 0xa2
/* 803AC234 003A7E94  38 A0 00 00 */	li r5, 0
/* 803AC238 003A7E98  48 03 17 A5 */	bl func_803DD9DC
/* 803AC23C 003A7E9C  2C 03 00 00 */	cmpwi r3, 0
/* 803AC240 003A7EA0  40 82 00 60 */	bne lbl_803AC2A0
/* 803AC244 003A7EA4  48 00 00 48 */	b lbl_803AC28C
lbl_803AC248:
/* 803AC248 003A7EA8  38 80 00 05 */	li r4, 5
/* 803AC24C 003A7EAC  38 A0 00 00 */	li r5, 0
/* 803AC250 003A7EB0  48 03 17 8D */	bl func_803DD9DC
/* 803AC254 003A7EB4  2C 03 00 00 */	cmpwi r3, 0
/* 803AC258 003A7EB8  41 82 00 34 */	beq lbl_803AC28C
/* 803AC25C 003A7EBC  7F 03 C3 78 */	mr r3, r24
/* 803AC260 003A7EC0  38 80 00 4C */	li r4, 0x4c
/* 803AC264 003A7EC4  38 A0 00 00 */	li r5, 0
/* 803AC268 003A7EC8  48 03 17 75 */	bl func_803DD9DC
/* 803AC26C 003A7ECC  2C 03 00 00 */	cmpwi r3, 0
/* 803AC270 003A7ED0  40 82 00 1C */	bne lbl_803AC28C
/* 803AC274 003A7ED4  7F 03 C3 78 */	mr r3, r24
/* 803AC278 003A7ED8  38 80 00 A2 */	li r4, 0xa2
/* 803AC27C 003A7EDC  38 A0 00 00 */	li r5, 0
/* 803AC280 003A7EE0  48 03 17 5D */	bl func_803DD9DC
/* 803AC284 003A7EE4  2C 03 00 00 */	cmpwi r3, 0
/* 803AC288 003A7EE8  40 82 00 18 */	bne lbl_803AC2A0
lbl_803AC28C:
/* 803AC28C 003A7EEC  3B 9C 00 01 */	addi r28, r28, 1
lbl_803AC290:
/* 803AC290 003A7EF0  80 7A 00 68 */	lwz r3, 0x68(r26)
/* 803AC294 003A7EF4  48 03 26 B1 */	bl func_803DE944
/* 803AC298 003A7EF8  7C 1C 18 00 */	cmpw r28, r3
/* 803AC29C 003A7EFC  41 80 FF 2C */	blt lbl_803AC1C8
lbl_803AC2A0:
/* 803AC2A0 003A7F00  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC2A4 003A7F04  7F C3 F3 78 */	mr r3, r30
/* 803AC2A8 003A7F08  7F 66 DB 78 */	mr r6, r27
/* 803AC2AC 003A7F0C  7F 87 E3 78 */	mr r7, r28
/* 803AC2B0 003A7F10  38 A0 00 02 */	li r5, 2
/* 803AC2B4 003A7F14  48 01 CA F9 */	bl func_803C8DAC
/* 803AC2B8 003A7F18  3B 7B 00 01 */	addi r27, r27, 1
lbl_803AC2BC:
/* 803AC2BC 003A7F1C  80 1E 00 44 */	lwz r0, 0x44(r30)
/* 803AC2C0 003A7F20  7C 1B 00 00 */	cmpw r27, r0
/* 803AC2C4 003A7F24  41 80 FE F0 */	blt lbl_803AC1B4
/* 803AC2C8 003A7F28  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC2CC 003A7F2C  7F C3 F3 78 */	mr r3, r30
/* 803AC2D0 003A7F30  48 01 9C FD */	bl func_803C5FCC
/* 803AC2D4 003A7F34  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803AC2D8 003A7F38  54 00 03 5B */	rlwinm. r0, r0, 0, 0xd, 0xd
/* 803AC2DC 003A7F3C  40 82 01 34 */	bne lbl_803AC410
/* 803AC2E0 003A7F40  38 00 00 01 */	li r0, 1
/* 803AC2E4 003A7F44  98 1E 23 C0 */	stb r0, 0x23c0(r30)
/* 803AC2E8 003A7F48  48 00 01 28 */	b lbl_803AC410
lbl_803AC2EC:
/* 803AC2EC 003A7F4C  3B 62 A9 D0 */	addi r27, r2, lbl_80642FD0-_SDA2_BASE_
/* 803AC2F0 003A7F50  3B 40 00 00 */	li r26, 0
/* 803AC2F4 003A7F54  3B 80 00 00 */	li r28, 0
lbl_803AC2F8:
/* 803AC2F8 003A7F58  9B 41 00 08 */	stb r26, 8(r1)
/* 803AC2FC 003A7F5C  7F C3 F3 78 */	mr r3, r30
/* 803AC300 003A7F60  7F 3E E2 14 */	add r25, r30, r28
/* 803AC304 003A7F64  38 81 00 08 */	addi r4, r1, 8
/* 803AC308 003A7F68  88 1B 00 00 */	lbz r0, 0(r27)
/* 803AC30C 003A7F6C  98 01 00 09 */	stb r0, 9(r1)
/* 803AC310 003A7F70  4B FF 9D C9 */	bl func_803A60D8
/* 803AC314 003A7F74  90 79 00 34 */	stw r3, 0x34(r25)
/* 803AC318 003A7F78  7C 64 1B 78 */	mr r4, r3
/* 803AC31C 003A7F7C  7F C3 F3 78 */	mr r3, r30
/* 803AC320 003A7F80  4B FF F0 59 */	bl func_803AB378
/* 803AC324 003A7F84  3B 5A 00 01 */	addi r26, r26, 1
/* 803AC328 003A7F88  3B 7B 00 01 */	addi r27, r27, 1
/* 803AC32C 003A7F8C  2C 1A 00 02 */	cmpwi r26, 2
/* 803AC330 003A7F90  3B 9C 00 04 */	addi r28, r28, 4
/* 803AC334 003A7F94  41 80 FF C4 */	blt lbl_803AC2F8
/* 803AC338 003A7F98  93 5E 00 44 */	stw r26, 0x44(r30)
/* 803AC33C 003A7F9C  3B 40 00 00 */	li r26, 0
/* 803AC340 003A7FA0  3B 80 00 00 */	li r28, 0
lbl_803AC344:
/* 803AC344 003A7FA4  7F 3E E2 14 */	add r25, r30, r28
/* 803AC348 003A7FA8  7C 7F E2 14 */	add r3, r31, r28
/* 803AC34C 003A7FAC  80 63 00 04 */	lwz r3, 4(r3)
/* 803AC350 003A7FB0  80 99 00 68 */	lwz r4, 0x68(r25)
/* 803AC354 003A7FB4  48 03 26 09 */	bl func_803DE95C
/* 803AC358 003A7FB8  3B 60 00 00 */	li r27, 0
/* 803AC35C 003A7FBC  48 00 00 5C */	b lbl_803AC3B8
lbl_803AC360:
/* 803AC360 003A7FC0  80 79 00 68 */	lwz r3, 0x68(r25)
/* 803AC364 003A7FC4  7F 64 DB 78 */	mr r4, r27
/* 803AC368 003A7FC8  48 03 25 E5 */	bl func_803DE94C
/* 803AC36C 003A7FCC  7C 78 1B 78 */	mr r24, r3
/* 803AC370 003A7FD0  38 80 00 05 */	li r4, 5
/* 803AC374 003A7FD4  38 A0 00 00 */	li r5, 0
/* 803AC378 003A7FD8  48 03 16 65 */	bl func_803DD9DC
/* 803AC37C 003A7FDC  2C 03 00 00 */	cmpwi r3, 0
/* 803AC380 003A7FE0  41 82 00 34 */	beq lbl_803AC3B4
/* 803AC384 003A7FE4  7F 03 C3 78 */	mr r3, r24
/* 803AC388 003A7FE8  38 80 00 4C */	li r4, 0x4c
/* 803AC38C 003A7FEC  38 A0 00 00 */	li r5, 0
/* 803AC390 003A7FF0  48 03 16 4D */	bl func_803DD9DC
/* 803AC394 003A7FF4  2C 03 00 00 */	cmpwi r3, 0
/* 803AC398 003A7FF8  40 82 00 1C */	bne lbl_803AC3B4
/* 803AC39C 003A7FFC  7F 03 C3 78 */	mr r3, r24
/* 803AC3A0 003A8000  38 80 00 A2 */	li r4, 0xa2
/* 803AC3A4 003A8004  38 A0 00 00 */	li r5, 0
/* 803AC3A8 003A8008  48 03 16 35 */	bl func_803DD9DC
/* 803AC3AC 003A800C  2C 03 00 00 */	cmpwi r3, 0
/* 803AC3B0 003A8010  40 82 00 18 */	bne lbl_803AC3C8
lbl_803AC3B4:
/* 803AC3B4 003A8014  3B 7B 00 01 */	addi r27, r27, 1
lbl_803AC3B8:
/* 803AC3B8 003A8018  80 79 00 68 */	lwz r3, 0x68(r25)
/* 803AC3BC 003A801C  48 03 25 89 */	bl func_803DE944
/* 803AC3C0 003A8020  7C 1B 18 00 */	cmpw r27, r3
/* 803AC3C4 003A8024  41 80 FF 9C */	blt lbl_803AC360
lbl_803AC3C8:
/* 803AC3C8 003A8028  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC3CC 003A802C  7F C3 F3 78 */	mr r3, r30
/* 803AC3D0 003A8030  7F 46 D3 78 */	mr r6, r26
/* 803AC3D4 003A8034  7F 67 DB 78 */	mr r7, r27
/* 803AC3D8 003A8038  38 A0 00 02 */	li r5, 2
/* 803AC3DC 003A803C  48 01 C9 D1 */	bl func_803C8DAC
/* 803AC3E0 003A8040  3B 5A 00 01 */	addi r26, r26, 1
/* 803AC3E4 003A8044  3B 9C 00 04 */	addi r28, r28, 4
/* 803AC3E8 003A8048  2C 1A 00 04 */	cmpwi r26, 4
/* 803AC3EC 003A804C  41 80 FF 58 */	blt lbl_803AC344
/* 803AC3F0 003A8050  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 803AC3F4 003A8054  7F C3 F3 78 */	mr r3, r30
/* 803AC3F8 003A8058  48 01 9B D5 */	bl func_803C5FCC
/* 803AC3FC 003A805C  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803AC400 003A8060  54 00 03 5B */	rlwinm. r0, r0, 0, 0xd, 0xd
/* 803AC404 003A8064  40 82 00 0C */	bne lbl_803AC410
/* 803AC408 003A8068  38 00 00 01 */	li r0, 1
/* 803AC40C 003A806C  98 1E 23 C0 */	stb r0, 0x23c0(r30)
lbl_803AC410:
/* 803AC410 003A8070  38 00 00 05 */	li r0, 5
/* 803AC414 003A8074  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC418 003A8078  48 00 01 BC */	b lbl_803AC5D4
/* 803AC41C 003A807C  38 00 00 05 */	li r0, 5
/* 803AC420 003A8080  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC424 003A8084  48 00 01 B0 */	b lbl_803AC5D4
/* 803AC428 003A8088  38 00 00 08 */	li r0, 8
/* 803AC42C 003A808C  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC430 003A8090  48 00 01 A4 */	b lbl_803AC5D4
/* 803AC434 003A8094  38 60 00 02 */	li r3, 2
/* 803AC438 003A8098  48 02 D4 1D */	bl func_803D9854
/* 803AC43C 003A809C  38 00 00 07 */	li r0, 7
/* 803AC440 003A80A0  38 60 00 3D */	li r3, 0x3d
/* 803AC444 003A80A4  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC448 003A80A8  48 02 D4 25 */	bl func_803D986C
/* 803AC44C 003A80AC  48 00 01 88 */	b lbl_803AC5D4
/* 803AC450 003A80B0  38 60 00 3D */	li r3, 0x3d
/* 803AC454 003A80B4  48 02 D4 11 */	bl func_803D9864
/* 803AC458 003A80B8  2C 03 00 00 */	cmpwi r3, 0
/* 803AC45C 003A80BC  41 82 01 78 */	beq lbl_803AC5D4
/* 803AC460 003A80C0  38 00 00 08 */	li r0, 8
/* 803AC464 003A80C4  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC468 003A80C8  48 00 01 6C */	b lbl_803AC5D4
/* 803AC46C 003A80CC  38 60 00 00 */	li r3, 0
/* 803AC470 003A80D0  38 80 00 00 */	li r4, 0
/* 803AC474 003A80D4  48 02 D3 E5 */	bl func_803D9858
/* 803AC478 003A80D8  7F 03 C3 78 */	mr r3, r24
/* 803AC47C 003A80DC  48 03 29 35 */	bl func_803DEDB0
/* 803AC480 003A80E0  90 6D B3 00 */	stw r3, lbl_806405C0-_SDA_BASE_(r13)
/* 803AC484 003A80E4  7C 7B 1B 78 */	mr r27, r3
/* 803AC488 003A80E8  38 60 00 01 */	li r3, 1
/* 803AC48C 003A80EC  38 80 00 1B */	li r4, 0x1b
/* 803AC490 003A80F0  38 A0 00 00 */	li r5, 0
/* 803AC494 003A80F4  38 C0 00 05 */	li r6, 5
/* 803AC498 003A80F8  48 03 3B B1 */	bl func_803E0048
/* 803AC49C 003A80FC  90 7B 00 0C */	stw r3, 0xc(r27)
/* 803AC4A0 003A8100  38 60 00 01 */	li r3, 1
/* 803AC4A4 003A8104  38 80 00 1B */	li r4, 0x1b
/* 803AC4A8 003A8108  38 A0 00 01 */	li r5, 1
/* 803AC4AC 003A810C  38 C0 00 05 */	li r6, 5
/* 803AC4B0 003A8110  48 03 3B 99 */	bl func_803E0048
/* 803AC4B4 003A8114  90 7B 00 10 */	stw r3, 0x10(r27)
/* 803AC4B8 003A8118  38 60 00 05 */	li r3, 5
/* 803AC4BC 003A811C  48 03 31 05 */	bl func_803DF5C0
/* 803AC4C0 003A8120  90 7B 00 14 */	stw r3, 0x14(r27)
/* 803AC4C4 003A8124  38 60 01 40 */	li r3, 0x140
/* 803AC4C8 003A8128  38 80 00 05 */	li r4, 5
/* 803AC4CC 003A812C  48 03 2B 09 */	bl func_803DEFD4
/* 803AC4D0 003A8130  90 7B 00 18 */	stw r3, 0x18(r27)
/* 803AC4D4 003A8134  38 00 00 09 */	li r0, 9
/* 803AC4D8 003A8138  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC4DC 003A813C  48 00 00 F8 */	b lbl_803AC5D4
/* 803AC4E0 003A8140  7F 03 C3 78 */	mr r3, r24
/* 803AC4E4 003A8144  48 03 28 CD */	bl func_803DEDB0
/* 803AC4E8 003A8148  90 6D B3 00 */	stw r3, lbl_806405C0-_SDA_BASE_(r13)
/* 803AC4EC 003A814C  7C 7B 1B 78 */	mr r27, r3
/* 803AC4F0 003A8150  88 03 23 C0 */	lbz r0, 0x23c0(r3)
/* 803AC4F4 003A8154  2C 00 00 00 */	cmpwi r0, 0
/* 803AC4F8 003A8158  41 82 00 30 */	beq lbl_803AC528
/* 803AC4FC 003A815C  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803AC500 003A8160  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803AC504 003A8164  41 82 00 10 */	beq lbl_803AC514
/* 803AC508 003A8168  80 83 00 30 */	lwz r4, 0x30(r3)
/* 803AC50C 003A816C  48 00 67 31 */	bl func_803B2C3C
/* 803AC510 003A8170  48 00 00 18 */	b lbl_803AC528
lbl_803AC514:
/* 803AC514 003A8174  80 83 00 30 */	lwz r4, 0x30(r3)
/* 803AC518 003A8178  48 00 67 25 */	bl func_803B2C3C
/* 803AC51C 003A817C  98 7B 23 C2 */	stb r3, 0x23c2(r27)
/* 803AC520 003A8180  7F 63 DB 78 */	mr r3, r27
/* 803AC524 003A8184  48 00 2F 21 */	bl func_803AF444
lbl_803AC528:
/* 803AC528 003A8188  88 1B 23 C0 */	lbz r0, 0x23c0(r27)
/* 803AC52C 003A818C  2C 00 00 00 */	cmpwi r0, 0
/* 803AC530 003A8190  41 82 00 34 */	beq lbl_803AC564
/* 803AC534 003A8194  3B 40 00 00 */	li r26, 0
/* 803AC538 003A8198  3B C0 00 00 */	li r30, 0
/* 803AC53C 003A819C  48 00 00 1C */	b lbl_803AC558
lbl_803AC540:
/* 803AC540 003A81A0  7C 9B F2 14 */	add r4, r27, r30
/* 803AC544 003A81A4  7F 63 DB 78 */	mr r3, r27
/* 803AC548 003A81A8  80 84 00 34 */	lwz r4, 0x34(r4)
/* 803AC54C 003A81AC  4B FF 9B ED */	bl func_803A6138
/* 803AC550 003A81B0  3B 5A 00 01 */	addi r26, r26, 1
/* 803AC554 003A81B4  3B DE 00 04 */	addi r30, r30, 4
lbl_803AC558:
/* 803AC558 003A81B8  80 1B 00 44 */	lwz r0, 0x44(r27)
/* 803AC55C 003A81BC  7C 1A 00 00 */	cmpw r26, r0
/* 803AC560 003A81C0  41 80 FF E0 */	blt lbl_803AC540
lbl_803AC564:
/* 803AC564 003A81C4  88 1B 23 C2 */	lbz r0, 0x23c2(r27)
/* 803AC568 003A81C8  2C 00 00 01 */	cmpwi r0, 1
/* 803AC56C 003A81CC  40 82 00 68 */	bne lbl_803AC5D4
/* 803AC570 003A81D0  38 00 00 0A */	li r0, 0xa
/* 803AC574 003A81D4  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC578 003A81D8  48 00 00 5C */	b lbl_803AC5D4
/* 803AC57C 003A81DC  38 00 00 0B */	li r0, 0xb
/* 803AC580 003A81E0  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC584 003A81E4  48 00 00 50 */	b lbl_803AC5D4
/* 803AC588 003A81E8  38 60 00 02 */	li r3, 2
/* 803AC58C 003A81EC  48 02 D2 C9 */	bl func_803D9854
/* 803AC590 003A81F0  38 60 00 3E */	li r3, 0x3e
/* 803AC594 003A81F4  48 02 D2 D9 */	bl func_803D986C
/* 803AC598 003A81F8  38 00 00 0C */	li r0, 0xc
/* 803AC59C 003A81FC  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC5A0 003A8200  48 00 00 34 */	b lbl_803AC5D4
/* 803AC5A4 003A8204  38 60 00 3E */	li r3, 0x3e
/* 803AC5A8 003A8208  48 02 D2 BD */	bl func_803D9864
/* 803AC5AC 003A820C  2C 03 00 00 */	cmpwi r3, 0
/* 803AC5B0 003A8210  41 82 00 24 */	beq lbl_803AC5D4
/* 803AC5B4 003A8214  38 00 00 0F */	li r0, 0xf
/* 803AC5B8 003A8218  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC5BC 003A821C  48 00 00 18 */	b lbl_803AC5D4
/* 803AC5C0 003A8220  38 00 00 0F */	li r0, 0xf
/* 803AC5C4 003A8224  90 1D 00 00 */	stw r0, 0(r29)
/* 803AC5C8 003A8228  48 00 00 0C */	b lbl_803AC5D4
/* 803AC5CC 003A822C  38 60 00 01 */	li r3, 1
/* 803AC5D0 003A8230  48 00 00 08 */	b lbl_803AC5D8
lbl_803AC5D4:
/* 803AC5D4 003A8234  38 60 00 00 */	li r3, 0
lbl_803AC5D8:
/* 803AC5D8 003A8238  39 61 00 50 */	addi r11, r1, 0x50
/* 803AC5DC 003A823C  4B E1 AB 8D */	bl _restgpr_24
/* 803AC5E0 003A8240  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803AC5E4 003A8244  7C 08 03 A6 */	mtlr r0
/* 803AC5E8 003A8248  38 21 00 50 */	addi r1, r1, 0x50
/* 803AC5EC 003A824C  4E 80 00 20 */	blr 

.global func_803AC5F0
func_803AC5F0:
/* 803AC5F0 003A8250  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AC5F4 003A8254  7C 08 02 A6 */	mflr r0
/* 803AC5F8 003A8258  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AC5FC 003A825C  39 61 00 20 */	addi r11, r1, 0x20
/* 803AC600 003A8260  4B E1 AB 29 */	bl _savegpr_27
/* 803AC604 003A8264  48 02 D8 45 */	bl func_803D9E48
/* 803AC608 003A8268  7C 7C 1B 78 */	mr r28, r3
/* 803AC60C 003A826C  48 03 27 A5 */	bl func_803DEDB0
/* 803AC610 003A8270  7C 7B 1B 78 */	mr r27, r3
/* 803AC614 003A8274  7F 83 E3 78 */	mr r3, r28
/* 803AC618 003A8278  48 03 27 A1 */	bl func_803DEDB8
/* 803AC61C 003A827C  80 1B 00 2C */	lwz r0, 0x2c(r27)
/* 803AC620 003A8280  7C 7E 1B 78 */	mr r30, r3
/* 803AC624 003A8284  54 00 06 7E */	clrlwi r0, r0, 0x19
/* 803AC628 003A8288  28 00 00 4A */	cmplwi r0, 0x4a
/* 803AC62C 003A828C  40 82 00 6C */	bne lbl_803AC698
/* 803AC630 003A8290  3B 80 00 00 */	li r28, 0
lbl_803AC634:
/* 803AC634 003A8294  80 7B 00 68 */	lwz r3, 0x68(r27)
/* 803AC638 003A8298  7F 84 E3 78 */	mr r4, r28
/* 803AC63C 003A829C  48 03 23 11 */	bl func_803DE94C
/* 803AC640 003A82A0  7C 7D 1B 78 */	mr r29, r3
/* 803AC644 003A82A4  80 7E 00 04 */	lwz r3, 4(r30)
/* 803AC648 003A82A8  7F 84 E3 78 */	mr r4, r28
/* 803AC64C 003A82AC  48 03 23 01 */	bl func_803DE94C
/* 803AC650 003A82B0  7C 64 1B 78 */	mr r4, r3
/* 803AC654 003A82B4  7F A3 EB 78 */	mr r3, r29
/* 803AC658 003A82B8  48 03 02 61 */	bl func_803DC8B8
/* 803AC65C 003A82BC  3B 9C 00 01 */	addi r28, r28, 1
/* 803AC660 003A82C0  2C 1C 00 03 */	cmpwi r28, 3
/* 803AC664 003A82C4  41 80 FF D0 */	blt lbl_803AC634
/* 803AC668 003A82C8  3B 80 00 00 */	li r28, 0
/* 803AC66C 003A82CC  3B E0 00 00 */	li r31, 0
lbl_803AC670:
/* 803AC670 003A82D0  7F BB FA 14 */	add r29, r27, r31
/* 803AC674 003A82D4  80 7D 00 68 */	lwz r3, 0x68(r29)
/* 803AC678 003A82D8  4B DC 1A 29 */	bl func_8016E0A0
/* 803AC67C 003A82DC  80 7D 00 48 */	lwz r3, 0x48(r29)
/* 803AC680 003A82E0  4B DC 1A 21 */	bl func_8016E0A0
/* 803AC684 003A82E4  3B 9C 00 01 */	addi r28, r28, 1
/* 803AC688 003A82E8  3B FF 00 04 */	addi r31, r31, 4
/* 803AC68C 003A82EC  2C 1C 00 04 */	cmpwi r28, 4
/* 803AC690 003A82F0  41 80 FF E0 */	blt lbl_803AC670
/* 803AC694 003A82F4  48 00 00 40 */	b lbl_803AC6D4
lbl_803AC698:
/* 803AC698 003A82F8  3B 80 00 00 */	li r28, 0
/* 803AC69C 003A82FC  3B E0 00 00 */	li r31, 0
lbl_803AC6A0:
/* 803AC6A0 003A8300  7F BB FA 14 */	add r29, r27, r31
/* 803AC6A4 003A8304  7C 9E FA 14 */	add r4, r30, r31
/* 803AC6A8 003A8308  80 7D 00 68 */	lwz r3, 0x68(r29)
/* 803AC6AC 003A830C  80 84 00 04 */	lwz r4, 4(r4)
/* 803AC6B0 003A8310  48 03 22 AD */	bl func_803DE95C
/* 803AC6B4 003A8314  80 7D 00 68 */	lwz r3, 0x68(r29)
/* 803AC6B8 003A8318  4B DC 19 E9 */	bl func_8016E0A0
/* 803AC6BC 003A831C  80 7D 00 48 */	lwz r3, 0x48(r29)
/* 803AC6C0 003A8320  4B DC 19 E1 */	bl func_8016E0A0
/* 803AC6C4 003A8324  3B 9C 00 01 */	addi r28, r28, 1
/* 803AC6C8 003A8328  3B FF 00 04 */	addi r31, r31, 4
/* 803AC6CC 003A832C  2C 1C 00 04 */	cmpwi r28, 4
/* 803AC6D0 003A8330  41 80 FF D0 */	blt lbl_803AC6A0
lbl_803AC6D4:
/* 803AC6D4 003A8334  88 1B 23 E4 */	lbz r0, 0x23e4(r27)
/* 803AC6D8 003A8338  7F 63 DB 78 */	mr r3, r27
/* 803AC6DC 003A833C  38 A0 00 04 */	li r5, 4
/* 803AC6E0 003A8340  38 C0 00 00 */	li r6, 0
/* 803AC6E4 003A8344  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803AC6E8 003A8348  80 9B 00 30 */	lwz r4, 0x30(r27)
/* 803AC6EC 003A834C  48 01 C5 5D */	bl func_803C8C48
/* 803AC6F0 003A8350  90 7E 01 58 */	stw r3, 0x158(r30)
/* 803AC6F4 003A8354  80 7B 00 18 */	lwz r3, 0x18(r27)
/* 803AC6F8 003A8358  4B DC 19 A9 */	bl func_8016E0A0
/* 803AC6FC 003A835C  80 7B 00 0C */	lwz r3, 0xc(r27)
/* 803AC700 003A8360  48 03 39 D1 */	bl func_803E00D0
/* 803AC704 003A8364  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 803AC708 003A8368  48 03 39 C9 */	bl func_803E00D0
/* 803AC70C 003A836C  80 7B 00 14 */	lwz r3, 0x14(r27)
/* 803AC710 003A8370  48 03 2F A5 */	bl func_803DF6B4
/* 803AC714 003A8374  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AC718 003A8378  48 00 65 BD */	bl func_803B2CD4
/* 803AC71C 003A837C  3B A0 00 00 */	li r29, 0
/* 803AC720 003A8380  3B E0 00 00 */	li r31, 0
/* 803AC724 003A8384  48 00 00 20 */	b lbl_803AC744
lbl_803AC728:
/* 803AC728 003A8388  7C 7B FA 14 */	add r3, r27, r31
/* 803AC72C 003A838C  88 BB 23 C1 */	lbz r5, 0x23c1(r27)
/* 803AC730 003A8390  80 83 00 34 */	lwz r4, 0x34(r3)
/* 803AC734 003A8394  7F 63 DB 78 */	mr r3, r27
/* 803AC738 003A8398  4B FF 9A 29 */	bl func_803A6160
/* 803AC73C 003A839C  3B BD 00 01 */	addi r29, r29, 1
/* 803AC740 003A83A0  3B FF 00 04 */	addi r31, r31, 4
lbl_803AC744:
/* 803AC744 003A83A4  80 1B 00 44 */	lwz r0, 0x44(r27)
/* 803AC748 003A83A8  7C 1D 00 00 */	cmpw r29, r0
/* 803AC74C 003A83AC  41 80 FF DC */	blt lbl_803AC728
/* 803AC750 003A83B0  7F 63 DB 78 */	mr r3, r27
/* 803AC754 003A83B4  4B DC 19 4D */	bl func_8016E0A0
/* 803AC758 003A83B8  38 60 00 00 */	li r3, 0
/* 803AC75C 003A83BC  48 02 D0 F9 */	bl func_803D9854
/* 803AC760 003A83C0  48 02 D1 11 */	bl func_803D9870
/* 803AC764 003A83C4  2C 03 00 00 */	cmpwi r3, 0
/* 803AC768 003A83C8  40 82 00 0C */	bne lbl_803AC774
/* 803AC76C 003A83CC  38 60 00 01 */	li r3, 1
/* 803AC770 003A83D0  48 02 D0 E5 */	bl func_803D9854
lbl_803AC774:
/* 803AC774 003A83D4  39 61 00 20 */	addi r11, r1, 0x20
/* 803AC778 003A83D8  4B E1 A9 FD */	bl _restgpr_27
/* 803AC77C 003A83DC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AC780 003A83E0  7C 08 03 A6 */	mtlr r0
/* 803AC784 003A83E4  38 21 00 20 */	addi r1, r1, 0x20
/* 803AC788 003A83E8  4E 80 00 20 */	blr 

.global func_803AC78C
func_803AC78C:
/* 803AC78C 003A83EC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AC790 003A83F0  7C 08 02 A6 */	mflr r0
/* 803AC794 003A83F4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AC798 003A83F8  39 61 00 20 */	addi r11, r1, 0x20
/* 803AC79C 003A83FC  4B E1 A9 8D */	bl _savegpr_27
/* 803AC7A0 003A8400  83 AD B3 00 */	lwz r29, lbl_806405C0-_SDA_BASE_(r13)
/* 803AC7A4 003A8404  7F A3 EB 78 */	mr r3, r29
/* 803AC7A8 003A8408  48 00 00 99 */	bl func_803AC840
/* 803AC7AC 003A840C  7C 7E 1B 78 */	mr r30, r3
/* 803AC7B0 003A8410  7F A3 EB 78 */	mr r3, r29
/* 803AC7B4 003A8414  48 00 00 AD */	bl func_803AC860
/* 803AC7B8 003A8418  7C 7F 1B 78 */	mr r31, r3
/* 803AC7BC 003A841C  57 DE 07 38 */	rlwinm r30, r30, 0, 0x1c, 0x1c
/* 803AC7C0 003A8420  3B 80 00 00 */	li r28, 0
/* 803AC7C4 003A8424  3B 60 00 00 */	li r27, 0
/* 803AC7C8 003A8428  48 00 00 30 */	b lbl_803AC7F8
lbl_803AC7CC:
/* 803AC7CC 003A842C  2C 1E 00 00 */	cmpwi r30, 0
/* 803AC7D0 003A8430  40 82 00 20 */	bne lbl_803AC7F0
/* 803AC7D4 003A8434  7F A3 EB 78 */	mr r3, r29
/* 803AC7D8 003A8438  48 00 00 69 */	bl func_803AC840
/* 803AC7DC 003A843C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803AC7E0 003A8440  41 82 00 10 */	beq lbl_803AC7F0
/* 803AC7E4 003A8444  57 60 06 3E */	clrlwi r0, r27, 0x18
/* 803AC7E8 003A8448  28 00 00 01 */	cmplwi r0, 1
/* 803AC7EC 003A844C  41 81 00 18 */	bgt lbl_803AC804
lbl_803AC7F0:
/* 803AC7F0 003A8450  3B 9C 00 01 */	addi r28, r28, 1
/* 803AC7F4 003A8454  3B 7B 00 01 */	addi r27, r27, 1
lbl_803AC7F8:
/* 803AC7F8 003A8458  57 60 06 3E */	clrlwi r0, r27, 0x18
/* 803AC7FC 003A845C  7C 00 F8 00 */	cmpw r0, r31
/* 803AC800 003A8460  41 80 FF CC */	blt lbl_803AC7CC
lbl_803AC804:
/* 803AC804 003A8464  39 61 00 20 */	addi r11, r1, 0x20
/* 803AC808 003A8468  7F 83 E3 78 */	mr r3, r28
/* 803AC80C 003A846C  4B E1 A9 69 */	bl _restgpr_27
/* 803AC810 003A8470  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AC814 003A8474  7C 08 03 A6 */	mtlr r0
/* 803AC818 003A8478  38 21 00 20 */	addi r1, r1, 0x20
/* 803AC81C 003A847C  4E 80 00 20 */	blr 

.global func_803AC820
func_803AC820:
/* 803AC820 003A8480  90 6D B3 00 */	stw r3, lbl_806405C0-_SDA_BASE_(r13)
/* 803AC824 003A8484  4E 80 00 20 */	blr 

.global func_803AC828
func_803AC828:
/* 803AC828 003A8488  80 6D B3 00 */	lwz r3, lbl_806405C0-_SDA_BASE_(r13)
/* 803AC82C 003A848C  4E 80 00 20 */	blr 

.global func_803AC830
func_803AC830:
/* 803AC830 003A8490  38 60 00 08 */	li r3, 8
/* 803AC834 003A8494  4E 80 00 20 */	blr 

.global func_803AC838
func_803AC838:
/* 803AC838 003A8498  80 63 00 04 */	lwz r3, 4(r3)
/* 803AC83C 003A849C  4E 80 00 20 */	blr 

.global func_803AC840
func_803AC840:
/* 803AC840 003A84A0  80 63 00 2C */	lwz r3, 0x2c(r3)
/* 803AC844 003A84A4  4E 80 00 20 */	blr 

.global func_803AC848
func_803AC848:
/* 803AC848 003A84A8  80 63 00 30 */	lwz r3, 0x30(r3)
/* 803AC84C 003A84AC  4E 80 00 20 */	blr 

.global cTeam_GetPlayer
cTeam_GetPlayer:
/* 803AC850 003A84B0  54 80 10 3A */	slwi r0, r4, 2
/* 803AC854 003A84B4  7C 63 02 14 */	add r3, r3, r0
/* 803AC858 003A84B8  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803AC85C 003A84BC  4E 80 00 20 */	blr 

.global func_803AC860
func_803AC860:
/* 803AC860 003A84C0  80 63 00 44 */	lwz r3, 0x44(r3)
/* 803AC864 003A84C4  4E 80 00 20 */	blr 

.global func_803AC868
func_803AC868:
/* 803AC868 003A84C8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AC86C 003A84CC  7C 08 02 A6 */	mflr r0
/* 803AC870 003A84D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AC874 003A84D4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AC878 003A84D8  7C 9F 23 78 */	mr r31, r4
/* 803AC87C 003A84DC  93 C1 00 08 */	stw r30, 8(r1)
/* 803AC880 003A84E0  7C 7E 1B 78 */	mr r30, r3
/* 803AC884 003A84E4  80 A3 00 2C */	lwz r5, 0x2c(r3)
/* 803AC888 003A84E8  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803AC88C 003A84EC  40 82 00 24 */	bne lbl_803AC8B0
/* 803AC890 003A84F0  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803AC894 003A84F4  41 82 00 2C */	beq lbl_803AC8C0
/* 803AC898 003A84F8  54 80 10 3A */	slwi r0, r4, 2
/* 803AC89C 003A84FC  7C 63 02 14 */	add r3, r3, r0
/* 803AC8A0 003A8500  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803AC8A4 003A8504  4B FF EC 71 */	bl func_803AB514
/* 803AC8A8 003A8508  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803AC8AC 003A850C  41 82 00 14 */	beq lbl_803AC8C0
lbl_803AC8B0:
/* 803AC8B0 003A8510  57 E0 10 3A */	slwi r0, r31, 2
/* 803AC8B4 003A8514  7C 7E 02 14 */	add r3, r30, r0
/* 803AC8B8 003A8518  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803AC8BC 003A851C  48 00 00 2C */	b lbl_803AC8E8
lbl_803AC8C0:
/* 803AC8C0 003A8520  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803AC8C4 003A8524  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803AC8C8 003A8528  41 82 00 14 */	beq lbl_803AC8DC
/* 803AC8CC 003A852C  57 E0 17 7A */	rlwinm r0, r31, 2, 0x1d, 0x1d
/* 803AC8D0 003A8530  7C 7E 02 14 */	add r3, r30, r0
/* 803AC8D4 003A8534  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803AC8D8 003A8538  48 00 00 10 */	b lbl_803AC8E8
lbl_803AC8DC:
/* 803AC8DC 003A853C  57 E0 10 3A */	slwi r0, r31, 2
/* 803AC8E0 003A8540  7C 7E 02 14 */	add r3, r30, r0
/* 803AC8E4 003A8544  80 63 00 68 */	lwz r3, 0x68(r3)
lbl_803AC8E8:
/* 803AC8E8 003A8548  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AC8EC 003A854C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AC8F0 003A8550  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AC8F4 003A8554  7C 08 03 A6 */	mtlr r0
/* 803AC8F8 003A8558  38 21 00 10 */	addi r1, r1, 0x10
/* 803AC8FC 003A855C  4E 80 00 20 */	blr 

.global func_803AC900
func_803AC900:
/* 803AC900 003A8560  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AC904 003A8564  7C 08 02 A6 */	mflr r0
/* 803AC908 003A8568  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AC90C 003A856C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AC910 003A8570  7C 9F 23 78 */	mr r31, r4
/* 803AC914 003A8574  93 C1 00 08 */	stw r30, 8(r1)
/* 803AC918 003A8578  7C 7E 1B 78 */	mr r30, r3
/* 803AC91C 003A857C  80 A3 00 2C */	lwz r5, 0x2c(r3)
/* 803AC920 003A8580  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803AC924 003A8584  40 82 00 24 */	bne lbl_803AC948
/* 803AC928 003A8588  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803AC92C 003A858C  41 82 00 30 */	beq lbl_803AC95C
/* 803AC930 003A8590  54 80 10 3A */	slwi r0, r4, 2
/* 803AC934 003A8594  7C 63 02 14 */	add r3, r3, r0
/* 803AC938 003A8598  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803AC93C 003A859C  4B FF EB D9 */	bl func_803AB514
/* 803AC940 003A85A0  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803AC944 003A85A4  41 82 00 18 */	beq lbl_803AC95C
lbl_803AC948:
/* 803AC948 003A85A8  57 E0 10 3A */	slwi r0, r31, 2
/* 803AC94C 003A85AC  7C 7E 02 14 */	add r3, r30, r0
/* 803AC950 003A85B0  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803AC954 003A85B4  48 03 1F F1 */	bl func_803DE944
/* 803AC958 003A85B8  48 00 00 34 */	b lbl_803AC98C
lbl_803AC95C:
/* 803AC95C 003A85BC  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803AC960 003A85C0  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803AC964 003A85C4  41 82 00 18 */	beq lbl_803AC97C
/* 803AC968 003A85C8  57 E0 17 7A */	rlwinm r0, r31, 2, 0x1d, 0x1d
/* 803AC96C 003A85CC  7C 7E 02 14 */	add r3, r30, r0
/* 803AC970 003A85D0  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803AC974 003A85D4  48 03 1F D1 */	bl func_803DE944
/* 803AC978 003A85D8  48 00 00 14 */	b lbl_803AC98C
lbl_803AC97C:
/* 803AC97C 003A85DC  57 E0 10 3A */	slwi r0, r31, 2
/* 803AC980 003A85E0  7C 7E 02 14 */	add r3, r30, r0
/* 803AC984 003A85E4  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803AC988 003A85E8  48 03 1F BD */	bl func_803DE944
lbl_803AC98C:
/* 803AC98C 003A85EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AC990 003A85F0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AC994 003A85F4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AC998 003A85F8  7C 08 03 A6 */	mtlr r0
/* 803AC99C 003A85FC  38 21 00 10 */	addi r1, r1, 0x10
/* 803AC9A0 003A8600  4E 80 00 20 */	blr 

.global func_803AC9A4
func_803AC9A4:
/* 803AC9A4 003A8604  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AC9A8 003A8608  7C 08 02 A6 */	mflr r0
/* 803AC9AC 003A860C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AC9B0 003A8610  39 61 00 20 */	addi r11, r1, 0x20
/* 803AC9B4 003A8614  4B E1 A7 7D */	bl _savegpr_29
/* 803AC9B8 003A8618  80 C3 00 2C */	lwz r6, 0x2c(r3)
/* 803AC9BC 003A861C  7C 7D 1B 78 */	mr r29, r3
/* 803AC9C0 003A8620  7C 9E 23 78 */	mr r30, r4
/* 803AC9C4 003A8624  7C BF 2B 78 */	mr r31, r5
/* 803AC9C8 003A8628  54 C0 07 39 */	rlwinm. r0, r6, 0, 0x1c, 0x1c
/* 803AC9CC 003A862C  40 82 00 24 */	bne lbl_803AC9F0
/* 803AC9D0 003A8630  54 C0 06 F7 */	rlwinm. r0, r6, 0, 0x1b, 0x1b
/* 803AC9D4 003A8634  41 82 00 34 */	beq lbl_803ACA08
/* 803AC9D8 003A8638  54 80 10 3A */	slwi r0, r4, 2
/* 803AC9DC 003A863C  7C 63 02 14 */	add r3, r3, r0
/* 803AC9E0 003A8640  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803AC9E4 003A8644  4B FF EB 31 */	bl func_803AB514
/* 803AC9E8 003A8648  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803AC9EC 003A864C  41 82 00 1C */	beq lbl_803ACA08
lbl_803AC9F0:
/* 803AC9F0 003A8650  57 C0 10 3A */	slwi r0, r30, 2
/* 803AC9F4 003A8654  7F E4 FB 78 */	mr r4, r31
/* 803AC9F8 003A8658  7C 7D 02 14 */	add r3, r29, r0
/* 803AC9FC 003A865C  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803ACA00 003A8660  48 03 1F 4D */	bl func_803DE94C
/* 803ACA04 003A8664  48 00 00 3C */	b lbl_803ACA40
lbl_803ACA08:
/* 803ACA08 003A8668  80 1D 00 2C */	lwz r0, 0x2c(r29)
/* 803ACA0C 003A866C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACA10 003A8670  41 82 00 1C */	beq lbl_803ACA2C
/* 803ACA14 003A8674  57 C0 17 7A */	rlwinm r0, r30, 2, 0x1d, 0x1d
/* 803ACA18 003A8678  7F E4 FB 78 */	mr r4, r31
/* 803ACA1C 003A867C  7C 7D 02 14 */	add r3, r29, r0
/* 803ACA20 003A8680  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803ACA24 003A8684  48 03 1F 29 */	bl func_803DE94C
/* 803ACA28 003A8688  48 00 00 18 */	b lbl_803ACA40
lbl_803ACA2C:
/* 803ACA2C 003A868C  57 C0 10 3A */	slwi r0, r30, 2
/* 803ACA30 003A8690  7F E4 FB 78 */	mr r4, r31
/* 803ACA34 003A8694  7C 7D 02 14 */	add r3, r29, r0
/* 803ACA38 003A8698  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803ACA3C 003A869C  48 03 1F 11 */	bl func_803DE94C
lbl_803ACA40:
/* 803ACA40 003A86A0  39 61 00 20 */	addi r11, r1, 0x20
/* 803ACA44 003A86A4  4B E1 A7 39 */	bl _restgpr_29
/* 803ACA48 003A86A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803ACA4C 003A86AC  7C 08 03 A6 */	mtlr r0
/* 803ACA50 003A86B0  38 21 00 20 */	addi r1, r1, 0x20
/* 803ACA54 003A86B4  4E 80 00 20 */	blr 

.global func_803ACA58
func_803ACA58:
/* 803ACA58 003A86B8  80 63 01 64 */	lwz r3, 0x164(r3)
/* 803ACA5C 003A86BC  4E 80 00 20 */	blr 

.global func_803ACA60
func_803ACA60:
/* 803ACA60 003A86C0  80 63 00 0C */	lwz r3, 0xc(r3)
/* 803ACA64 003A86C4  4E 80 00 20 */	blr 

.global func_803ACA68
func_803ACA68:
/* 803ACA68 003A86C8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 803ACA6C 003A86CC  4E 80 00 20 */	blr 

.global func_803ACA70
func_803ACA70:
/* 803ACA70 003A86D0  38 63 11 EC */	addi r3, r3, 0x11ec
/* 803ACA74 003A86D4  4E 80 00 20 */	blr 

.global func_803ACA78
func_803ACA78:
/* 803ACA78 003A86D8  38 63 23 B2 */	addi r3, r3, 0x23b2
/* 803ACA7C 003A86DC  4E 80 00 20 */	blr 

.global func_803ACA80
func_803ACA80:
/* 803ACA80 003A86E0  38 63 23 B4 */	addi r3, r3, 0x23b4
/* 803ACA84 003A86E4  4E 80 00 20 */	blr 

.global func_803ACA88
func_803ACA88:
/* 803ACA88 003A86E8  38 63 23 B6 */	addi r3, r3, 0x23b6
/* 803ACA8C 003A86EC  4E 80 00 20 */	blr 

.global func_803ACA90
func_803ACA90:
/* 803ACA90 003A86F0  80 63 00 18 */	lwz r3, 0x18(r3)
/* 803ACA94 003A86F4  4E 80 00 20 */	blr 

.global func_803ACA98
func_803ACA98:
/* 803ACA98 003A86F8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803ACA9C 003A86FC  7C 08 02 A6 */	mflr r0
/* 803ACAA0 003A8700  90 01 00 14 */	stw r0, 0x14(r1)
/* 803ACAA4 003A8704  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803ACAA8 003A8708  7C 9F 23 78 */	mr r31, r4
/* 803ACAAC 003A870C  93 C1 00 08 */	stw r30, 8(r1)
/* 803ACAB0 003A8710  7C 7E 1B 78 */	mr r30, r3
/* 803ACAB4 003A8714  80 A3 00 2C */	lwz r5, 0x2c(r3)
/* 803ACAB8 003A8718  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803ACABC 003A871C  40 82 00 24 */	bne lbl_803ACAE0
/* 803ACAC0 003A8720  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803ACAC4 003A8724  41 82 00 2C */	beq lbl_803ACAF0
/* 803ACAC8 003A8728  54 80 10 3A */	slwi r0, r4, 2
/* 803ACACC 003A872C  7C 63 02 14 */	add r3, r3, r0
/* 803ACAD0 003A8730  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACAD4 003A8734  4B FF EA 41 */	bl func_803AB514
/* 803ACAD8 003A8738  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803ACADC 003A873C  41 82 00 14 */	beq lbl_803ACAF0
lbl_803ACAE0:
/* 803ACAE0 003A8740  57 E0 08 3C */	slwi r0, r31, 1
/* 803ACAE4 003A8744  7C 7E 02 14 */	add r3, r30, r0
/* 803ACAE8 003A8748  A0 63 00 A0 */	lhz r3, 0xa0(r3)
/* 803ACAEC 003A874C  48 00 00 2C */	b lbl_803ACB18
lbl_803ACAF0:
/* 803ACAF0 003A8750  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803ACAF4 003A8754  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACAF8 003A8758  41 82 00 14 */	beq lbl_803ACB0C
/* 803ACAFC 003A875C  57 E0 0F BC */	rlwinm r0, r31, 1, 0x1e, 0x1e
/* 803ACB00 003A8760  7C 7E 02 14 */	add r3, r30, r0
/* 803ACB04 003A8764  A0 63 00 A0 */	lhz r3, 0xa0(r3)
/* 803ACB08 003A8768  48 00 00 10 */	b lbl_803ACB18
lbl_803ACB0C:
/* 803ACB0C 003A876C  57 E0 08 3C */	slwi r0, r31, 1
/* 803ACB10 003A8770  7C 7E 02 14 */	add r3, r30, r0
/* 803ACB14 003A8774  A0 63 00 A0 */	lhz r3, 0xa0(r3)
lbl_803ACB18:
/* 803ACB18 003A8778  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803ACB1C 003A877C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803ACB20 003A8780  83 C1 00 08 */	lwz r30, 8(r1)
/* 803ACB24 003A8784  7C 08 03 A6 */	mtlr r0
/* 803ACB28 003A8788  38 21 00 10 */	addi r1, r1, 0x10
/* 803ACB2C 003A878C  4E 80 00 20 */	blr 

.global func_803ACB30
func_803ACB30:
/* 803ACB30 003A8790  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803ACB34 003A8794  7C 08 02 A6 */	mflr r0
/* 803ACB38 003A8798  90 01 00 14 */	stw r0, 0x14(r1)
/* 803ACB3C 003A879C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803ACB40 003A87A0  7C 9F 23 78 */	mr r31, r4
/* 803ACB44 003A87A4  93 C1 00 08 */	stw r30, 8(r1)
/* 803ACB48 003A87A8  7C 7E 1B 78 */	mr r30, r3
/* 803ACB4C 003A87AC  80 A3 00 2C */	lwz r5, 0x2c(r3)
/* 803ACB50 003A87B0  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803ACB54 003A87B4  40 82 00 24 */	bne lbl_803ACB78
/* 803ACB58 003A87B8  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803ACB5C 003A87BC  41 82 00 2C */	beq lbl_803ACB88
/* 803ACB60 003A87C0  54 80 10 3A */	slwi r0, r4, 2
/* 803ACB64 003A87C4  7C 63 02 14 */	add r3, r3, r0
/* 803ACB68 003A87C8  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACB6C 003A87CC  4B FF E9 A9 */	bl func_803AB514
/* 803ACB70 003A87D0  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803ACB74 003A87D4  41 82 00 14 */	beq lbl_803ACB88
lbl_803ACB78:
/* 803ACB78 003A87D8  1C 1F 00 2C */	mulli r0, r31, 0x2c
/* 803ACB7C 003A87DC  7C 7E 02 14 */	add r3, r30, r0
/* 803ACB80 003A87E0  38 63 00 AC */	addi r3, r3, 0xac
/* 803ACB84 003A87E4  48 00 00 30 */	b lbl_803ACBB4
lbl_803ACB88:
/* 803ACB88 003A87E8  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803ACB8C 003A87EC  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACB90 003A87F0  41 82 00 18 */	beq lbl_803ACBA8
/* 803ACB94 003A87F4  57 E0 07 FE */	clrlwi r0, r31, 0x1f
/* 803ACB98 003A87F8  1C 00 00 2C */	mulli r0, r0, 0x2c
/* 803ACB9C 003A87FC  7C 7E 02 14 */	add r3, r30, r0
/* 803ACBA0 003A8800  38 63 00 AC */	addi r3, r3, 0xac
/* 803ACBA4 003A8804  48 00 00 10 */	b lbl_803ACBB4
lbl_803ACBA8:
/* 803ACBA8 003A8808  1C 1F 00 2C */	mulli r0, r31, 0x2c
/* 803ACBAC 003A880C  7C 7E 02 14 */	add r3, r30, r0
/* 803ACBB0 003A8810  38 63 00 AC */	addi r3, r3, 0xac
lbl_803ACBB4:
/* 803ACBB4 003A8814  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803ACBB8 003A8818  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803ACBBC 003A881C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803ACBC0 003A8820  7C 08 03 A6 */	mtlr r0
/* 803ACBC4 003A8824  38 21 00 10 */	addi r1, r1, 0x10
/* 803ACBC8 003A8828  4E 80 00 20 */	blr 

.global func_803ACBCC
func_803ACBCC:
/* 803ACBCC 003A882C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803ACBD0 003A8830  7C 08 02 A6 */	mflr r0
/* 803ACBD4 003A8834  90 01 00 14 */	stw r0, 0x14(r1)
/* 803ACBD8 003A8838  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803ACBDC 003A883C  7C 9F 23 78 */	mr r31, r4
/* 803ACBE0 003A8840  93 C1 00 08 */	stw r30, 8(r1)
/* 803ACBE4 003A8844  7C 7E 1B 78 */	mr r30, r3
/* 803ACBE8 003A8848  80 A3 00 2C */	lwz r5, 0x2c(r3)
/* 803ACBEC 003A884C  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803ACBF0 003A8850  40 82 00 24 */	bne lbl_803ACC14
/* 803ACBF4 003A8854  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803ACBF8 003A8858  41 82 00 2C */	beq lbl_803ACC24
/* 803ACBFC 003A885C  54 80 10 3A */	slwi r0, r4, 2
/* 803ACC00 003A8860  7C 63 02 14 */	add r3, r3, r0
/* 803ACC04 003A8864  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACC08 003A8868  4B FF E9 0D */	bl func_803AB514
/* 803ACC0C 003A886C  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803ACC10 003A8870  41 82 00 14 */	beq lbl_803ACC24
lbl_803ACC14:
/* 803ACC14 003A8874  57 E0 10 3A */	slwi r0, r31, 2
/* 803ACC18 003A8878  7C 7E 02 14 */	add r3, r30, r0
/* 803ACC1C 003A887C  80 63 00 48 */	lwz r3, 0x48(r3)
/* 803ACC20 003A8880  48 00 00 2C */	b lbl_803ACC4C
lbl_803ACC24:
/* 803ACC24 003A8884  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803ACC28 003A8888  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACC2C 003A888C  41 82 00 14 */	beq lbl_803ACC40
/* 803ACC30 003A8890  57 E0 17 7A */	rlwinm r0, r31, 2, 0x1d, 0x1d
/* 803ACC34 003A8894  7C 7E 02 14 */	add r3, r30, r0
/* 803ACC38 003A8898  80 63 00 48 */	lwz r3, 0x48(r3)
/* 803ACC3C 003A889C  48 00 00 10 */	b lbl_803ACC4C
lbl_803ACC40:
/* 803ACC40 003A88A0  57 E0 10 3A */	slwi r0, r31, 2
/* 803ACC44 003A88A4  7C 7E 02 14 */	add r3, r30, r0
/* 803ACC48 003A88A8  80 63 00 48 */	lwz r3, 0x48(r3)
lbl_803ACC4C:
/* 803ACC4C 003A88AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803ACC50 003A88B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803ACC54 003A88B4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803ACC58 003A88B8  7C 08 03 A6 */	mtlr r0
/* 803ACC5C 003A88BC  38 21 00 10 */	addi r1, r1, 0x10
/* 803ACC60 003A88C0  4E 80 00 20 */	blr 

.global func_803ACC64
func_803ACC64:
/* 803ACC64 003A88C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803ACC68 003A88C8  7C 08 02 A6 */	mflr r0
/* 803ACC6C 003A88CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803ACC70 003A88D0  39 61 00 20 */	addi r11, r1, 0x20
/* 803ACC74 003A88D4  4B E1 A4 B9 */	bl _savegpr_28
/* 803ACC78 003A88D8  7C 7C 1B 78 */	mr r28, r3
/* 803ACC7C 003A88DC  7C 9D 23 78 */	mr r29, r4
/* 803ACC80 003A88E0  3B C0 00 00 */	li r30, 0
/* 803ACC84 003A88E4  3B E0 00 00 */	li r31, 0
/* 803ACC88 003A88E8  48 00 00 24 */	b lbl_803ACCAC
lbl_803ACC8C:
/* 803ACC8C 003A88EC  7C 7C FA 14 */	add r3, r28, r31
/* 803ACC90 003A88F0  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACC94 003A88F4  4B FF E8 81 */	bl func_803AB514
/* 803ACC98 003A88F8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803ACC9C 003A88FC  7C 1D 00 00 */	cmpw r29, r0
/* 803ACCA0 003A8900  41 82 00 18 */	beq lbl_803ACCB8
/* 803ACCA4 003A8904  3B DE 00 01 */	addi r30, r30, 1
/* 803ACCA8 003A8908  3B FF 00 04 */	addi r31, r31, 4
lbl_803ACCAC:
/* 803ACCAC 003A890C  80 1C 00 44 */	lwz r0, 0x44(r28)
/* 803ACCB0 003A8910  7C 1E 00 00 */	cmpw r30, r0
/* 803ACCB4 003A8914  41 80 FF D8 */	blt lbl_803ACC8C
lbl_803ACCB8:
/* 803ACCB8 003A8918  39 61 00 20 */	addi r11, r1, 0x20
/* 803ACCBC 003A891C  7F C3 F3 78 */	mr r3, r30
/* 803ACCC0 003A8920  4B E1 A4 B9 */	bl _restgpr_28
/* 803ACCC4 003A8924  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803ACCC8 003A8928  7C 08 03 A6 */	mtlr r0
/* 803ACCCC 003A892C  38 21 00 20 */	addi r1, r1, 0x20
/* 803ACCD0 003A8930  4E 80 00 20 */	blr 

.global func_803ACCD4
func_803ACCD4:
/* 803ACCD4 003A8934  54 80 10 3A */	slwi r0, r4, 2
/* 803ACCD8 003A8938  7C 63 02 14 */	add r3, r3, r0
/* 803ACCDC 003A893C  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACCE0 003A8940  4B FF E8 34 */	b func_803AB514

.global func_803ACCE4
func_803ACCE4:
/* 803ACCE4 003A8944  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803ACCE8 003A8948  7C 08 02 A6 */	mflr r0
/* 803ACCEC 003A894C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803ACCF0 003A8950  54 80 10 3A */	slwi r0, r4, 2
/* 803ACCF4 003A8954  7C 63 02 14 */	add r3, r3, r0
/* 803ACCF8 003A8958  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACCFC 003A895C  4B FF E8 19 */	bl func_803AB514
/* 803ACD00 003A8960  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803ACD04 003A8964  54 63 07 FE */	clrlwi r3, r3, 0x1f
/* 803ACD08 003A8968  7C 08 03 A6 */	mtlr r0
/* 803ACD0C 003A896C  38 21 00 10 */	addi r1, r1, 0x10
/* 803ACD10 003A8970  4E 80 00 20 */	blr 

.global func_803ACD14
func_803ACD14:
/* 803ACD14 003A8974  80 63 23 C4 */	lwz r3, 0x23c4(r3)
/* 803ACD18 003A8978  2C 03 00 0C */	cmpwi r3, 0xc
/* 803ACD1C 003A897C  41 81 00 0C */	bgt lbl_803ACD28
/* 803ACD20 003A8980  2C 03 00 00 */	cmpwi r3, 0
/* 803ACD24 003A8984  4C 80 00 20 */	bgelr 
lbl_803ACD28:
/* 803ACD28 003A8988  38 60 00 0C */	li r3, 0xc
/* 803ACD2C 003A898C  4E 80 00 20 */	blr 

.global func_803ACD30
func_803ACD30:
/* 803ACD30 003A8990  80 63 23 CC */	lwz r3, 0x23cc(r3)
/* 803ACD34 003A8994  4E 80 00 20 */	blr 

.global func_803ACD38
func_803ACD38:
/* 803ACD38 003A8998  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803ACD3C 003A899C  7C 08 02 A6 */	mflr r0
/* 803ACD40 003A89A0  90 01 00 34 */	stw r0, 0x34(r1)
/* 803ACD44 003A89A4  39 61 00 30 */	addi r11, r1, 0x30
/* 803ACD48 003A89A8  4B E1 A3 D9 */	bl _savegpr_25
/* 803ACD4C 003A89AC  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803ACD50 003A89B0  7C 79 1B 78 */	mr r25, r3
/* 803ACD54 003A89B4  83 63 00 44 */	lwz r27, 0x44(r3)
/* 803ACD58 003A89B8  7C 9A 23 78 */	mr r26, r4
/* 803ACD5C 003A89BC  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACD60 003A89C0  40 82 00 0C */	bne lbl_803ACD6C
/* 803ACD64 003A89C4  7F 43 D3 78 */	mr r3, r26
/* 803ACD68 003A89C8  48 00 00 58 */	b lbl_803ACDC0
lbl_803ACD6C:
/* 803ACD6C 003A89CC  54 80 10 3A */	slwi r0, r4, 2
/* 803ACD70 003A89D0  3B 80 00 00 */	li r28, 0
/* 803ACD74 003A89D4  7F A3 02 14 */	add r29, r3, r0
/* 803ACD78 003A89D8  3B E0 00 00 */	li r31, 0
/* 803ACD7C 003A89DC  48 00 00 38 */	b lbl_803ACDB4
lbl_803ACD80:
/* 803ACD80 003A89E0  7C 1C D0 00 */	cmpw r28, r26
/* 803ACD84 003A89E4  41 82 00 28 */	beq lbl_803ACDAC
/* 803ACD88 003A89E8  80 7D 00 34 */	lwz r3, 0x34(r29)
/* 803ACD8C 003A89EC  4B FF E7 89 */	bl func_803AB514
/* 803ACD90 003A89F0  7C 99 FA 14 */	add r4, r25, r31
/* 803ACD94 003A89F4  54 7E 07 FE */	clrlwi r30, r3, 0x1f
/* 803ACD98 003A89F8  80 64 00 34 */	lwz r3, 0x34(r4)
/* 803ACD9C 003A89FC  4B FF E7 79 */	bl func_803AB514
/* 803ACDA0 003A8A00  54 60 07 FE */	clrlwi r0, r3, 0x1f
/* 803ACDA4 003A8A04  7C 00 F0 40 */	cmplw r0, r30
/* 803ACDA8 003A8A08  41 82 00 14 */	beq lbl_803ACDBC
lbl_803ACDAC:
/* 803ACDAC 003A8A0C  3B 9C 00 01 */	addi r28, r28, 1
/* 803ACDB0 003A8A10  3B FF 00 04 */	addi r31, r31, 4
lbl_803ACDB4:
/* 803ACDB4 003A8A14  7C 1C D8 00 */	cmpw r28, r27
/* 803ACDB8 003A8A18  41 80 FF C8 */	blt lbl_803ACD80
lbl_803ACDBC:
/* 803ACDBC 003A8A1C  7F 83 E3 78 */	mr r3, r28
lbl_803ACDC0:
/* 803ACDC0 003A8A20  39 61 00 30 */	addi r11, r1, 0x30
/* 803ACDC4 003A8A24  4B E1 A3 A9 */	bl _restgpr_25
/* 803ACDC8 003A8A28  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803ACDCC 003A8A2C  7C 08 03 A6 */	mtlr r0
/* 803ACDD0 003A8A30  38 21 00 30 */	addi r1, r1, 0x30
/* 803ACDD4 003A8A34  4E 80 00 20 */	blr 

.global func_803ACDD8
func_803ACDD8:
/* 803ACDD8 003A8A38  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803ACDDC 003A8A3C  7C 08 02 A6 */	mflr r0
/* 803ACDE0 003A8A40  90 01 00 34 */	stw r0, 0x34(r1)
/* 803ACDE4 003A8A44  39 61 00 30 */	addi r11, r1, 0x30
/* 803ACDE8 003A8A48  4B E1 A3 31 */	bl _savegpr_23
/* 803ACDEC 003A8A4C  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803ACDF0 003A8A50  7C 77 1B 78 */	mr r23, r3
/* 803ACDF4 003A8A54  83 43 00 44 */	lwz r26, 0x44(r3)
/* 803ACDF8 003A8A58  7C 98 23 78 */	mr r24, r4
/* 803ACDFC 003A8A5C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ACE00 003A8A60  7C B9 2B 78 */	mr r25, r5
/* 803ACE04 003A8A64  40 82 00 0C */	bne lbl_803ACE10
/* 803ACE08 003A8A68  68 83 00 01 */	xori r3, r4, 1
/* 803ACE0C 003A8A6C  48 00 00 6C */	b lbl_803ACE78
lbl_803ACE10:
/* 803ACE10 003A8A70  54 80 10 3A */	slwi r0, r4, 2
/* 803ACE14 003A8A74  3B 60 00 00 */	li r27, 0
/* 803ACE18 003A8A78  7F A3 02 14 */	add r29, r3, r0
/* 803ACE1C 003A8A7C  3B E0 00 00 */	li r31, 0
/* 803ACE20 003A8A80  48 00 00 4C */	b lbl_803ACE6C
lbl_803ACE24:
/* 803ACE24 003A8A84  7C 1B C0 00 */	cmpw r27, r24
/* 803ACE28 003A8A88  41 82 00 3C */	beq lbl_803ACE64
/* 803ACE2C 003A8A8C  7F 97 FA 14 */	add r28, r23, r31
/* 803ACE30 003A8A90  80 7C 00 34 */	lwz r3, 0x34(r28)
/* 803ACE34 003A8A94  4B FF E6 E1 */	bl func_803AB514
/* 803ACE38 003A8A98  54 60 07 BC */	rlwinm r0, r3, 0, 0x1e, 0x1e
/* 803ACE3C 003A8A9C  7C 19 00 00 */	cmpw r25, r0
/* 803ACE40 003A8AA0  40 82 00 24 */	bne lbl_803ACE64
/* 803ACE44 003A8AA4  80 7D 00 34 */	lwz r3, 0x34(r29)
/* 803ACE48 003A8AA8  4B FF E6 CD */	bl func_803AB514
/* 803ACE4C 003A8AAC  54 7E 07 FE */	clrlwi r30, r3, 0x1f
/* 803ACE50 003A8AB0  80 7C 00 34 */	lwz r3, 0x34(r28)
/* 803ACE54 003A8AB4  4B FF E6 C1 */	bl func_803AB514
/* 803ACE58 003A8AB8  54 60 07 FE */	clrlwi r0, r3, 0x1f
/* 803ACE5C 003A8ABC  7C 00 F0 40 */	cmplw r0, r30
/* 803ACE60 003A8AC0  40 82 00 14 */	bne lbl_803ACE74
lbl_803ACE64:
/* 803ACE64 003A8AC4  3B 7B 00 01 */	addi r27, r27, 1
/* 803ACE68 003A8AC8  3B FF 00 04 */	addi r31, r31, 4
lbl_803ACE6C:
/* 803ACE6C 003A8ACC  7C 1B D0 00 */	cmpw r27, r26
/* 803ACE70 003A8AD0  41 80 FF B4 */	blt lbl_803ACE24
lbl_803ACE74:
/* 803ACE74 003A8AD4  7F 63 DB 78 */	mr r3, r27
lbl_803ACE78:
/* 803ACE78 003A8AD8  39 61 00 30 */	addi r11, r1, 0x30
/* 803ACE7C 003A8ADC  4B E1 A2 E9 */	bl _restgpr_23
/* 803ACE80 003A8AE0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803ACE84 003A8AE4  7C 08 03 A6 */	mtlr r0
/* 803ACE88 003A8AE8  38 21 00 30 */	addi r1, r1, 0x30
/* 803ACE8C 003A8AEC  4E 80 00 20 */	blr 

.global func_803ACE90
func_803ACE90:
/* 803ACE90 003A8AF0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803ACE94 003A8AF4  7C 08 02 A6 */	mflr r0
/* 803ACE98 003A8AF8  90 01 00 44 */	stw r0, 0x44(r1)
/* 803ACE9C 003A8AFC  39 61 00 40 */	addi r11, r1, 0x40
/* 803ACEA0 003A8B00  4B E1 A2 6D */	bl _savegpr_20
/* 803ACEA4 003A8B04  83 E3 00 30 */	lwz r31, 0x30(r3)
/* 803ACEA8 003A8B08  7C 96 23 78 */	mr r22, r4
/* 803ACEAC 003A8B0C  7C B7 2B 78 */	mr r23, r5
/* 803ACEB0 003A8B10  7C D8 33 78 */	mr r24, r6
/* 803ACEB4 003A8B14  7C 75 1B 78 */	mr r21, r3
/* 803ACEB8 003A8B18  7C F9 3B 78 */	mr r25, r7
/* 803ACEBC 003A8B1C  7F E4 FB 78 */	mr r4, r31
/* 803ACEC0 003A8B20  7E C6 B3 78 */	mr r6, r22
/* 803ACEC4 003A8B24  3B A0 00 00 */	li r29, 0
/* 803ACEC8 003A8B28  38 A0 00 02 */	li r5, 2
/* 803ACECC 003A8B2C  48 01 BD 7D */	bl func_803C8C48
/* 803ACED0 003A8B30  80 15 00 2C */	lwz r0, 0x2c(r21)
/* 803ACED4 003A8B34  7C 7C 1B 78 */	mr r28, r3
/* 803ACED8 003A8B38  28 00 00 03 */	cmplwi r0, 3
/* 803ACEDC 003A8B3C  41 82 00 24 */	beq lbl_803ACF00
/* 803ACEE0 003A8B40  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803ACEE4 003A8B44  41 82 00 5C */	beq lbl_803ACF40
/* 803ACEE8 003A8B48  56 C0 10 3A */	slwi r0, r22, 2
/* 803ACEEC 003A8B4C  7C 75 02 14 */	add r3, r21, r0
/* 803ACEF0 003A8B50  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ACEF4 003A8B54  4B FF E6 21 */	bl func_803AB514
/* 803ACEF8 003A8B58  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803ACEFC 003A8B5C  40 82 00 44 */	bne lbl_803ACF40
lbl_803ACF00:
/* 803ACF00 003A8B60  7E A3 AB 78 */	mr r3, r21
/* 803ACF04 003A8B64  7E C4 B3 78 */	mr r4, r22
/* 803ACF08 003A8B68  4B FF FE 31 */	bl func_803ACD38
/* 803ACF0C 003A8B6C  7C 66 1B 78 */	mr r6, r3
/* 803ACF10 003A8B70  7E A3 AB 78 */	mr r3, r21
/* 803ACF14 003A8B74  7F E4 FB 78 */	mr r4, r31
/* 803ACF18 003A8B78  38 A0 00 02 */	li r5, 2
/* 803ACF1C 003A8B7C  48 01 BD 2D */	bl func_803C8C48
/* 803ACF20 003A8B80  7C 03 B8 00 */	cmpw r3, r23
/* 803ACF24 003A8B84  7C 7B 1B 78 */	mr r27, r3
/* 803ACF28 003A8B88  40 82 00 1C */	bne lbl_803ACF44
/* 803ACF2C 003A8B8C  7E A3 AB 78 */	mr r3, r21
/* 803ACF30 003A8B90  7E C4 B3 78 */	mr r4, r22
/* 803ACF34 003A8B94  4B FF FE 05 */	bl func_803ACD38
/* 803ACF38 003A8B98  7C 76 1B 78 */	mr r22, r3
/* 803ACF3C 003A8B9C  48 00 00 08 */	b lbl_803ACF44
lbl_803ACF40:
/* 803ACF40 003A8BA0  7F 9B E3 78 */	mr r27, r28
lbl_803ACF44:
/* 803ACF44 003A8BA4  7E A3 AB 78 */	mr r3, r21
/* 803ACF48 003A8BA8  7E C4 B3 78 */	mr r4, r22
/* 803ACF4C 003A8BAC  7E E5 BB 78 */	mr r5, r23
/* 803ACF50 003A8BB0  4B FF FA 55 */	bl func_803AC9A4
/* 803ACF54 003A8BB4  7C 7E 1B 78 */	mr r30, r3
/* 803ACF58 003A8BB8  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ACF5C 003A8BBC  3B 40 00 00 */	li r26, 0
/* 803ACF60 003A8BC0  38 80 00 0F */	li r4, 0xf
/* 803ACF64 003A8BC4  38 A0 00 05 */	li r5, 5
/* 803ACF68 003A8BC8  48 02 C2 A1 */	bl func_803D9208
/* 803ACF6C 003A8BCC  2C 03 00 00 */	cmpwi r3, 0
/* 803ACF70 003A8BD0  41 82 00 AC */	beq lbl_803AD01C
/* 803ACF74 003A8BD4  7F C3 F3 78 */	mr r3, r30
/* 803ACF78 003A8BD8  38 80 00 9F */	li r4, 0x9f
/* 803ACF7C 003A8BDC  38 A0 00 00 */	li r5, 0
/* 803ACF80 003A8BE0  48 03 0A 5D */	bl func_803DD9DC
/* 803ACF84 003A8BE4  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803ACF88 003A8BE8  90 61 00 08 */	stw r3, 8(r1)
/* 803ACF8C 003A8BEC  41 82 00 90 */	beq lbl_803AD01C
/* 803ACF90 003A8BF0  54 60 00 38 */	rlwinm r0, r3, 0, 0, 0x1c
/* 803ACF94 003A8BF4  7F C3 F3 78 */	mr r3, r30
/* 803ACF98 003A8BF8  90 01 00 08 */	stw r0, 8(r1)
/* 803ACF9C 003A8BFC  38 A1 00 08 */	addi r5, r1, 8
/* 803ACFA0 003A8C00  38 80 00 9F */	li r4, 0x9f
/* 803ACFA4 003A8C04  48 02 E5 81 */	bl func_803DB524
/* 803ACFA8 003A8C08  7C 1C B8 00 */	cmpw r28, r23
/* 803ACFAC 003A8C0C  41 82 00 0C */	beq lbl_803ACFB8
/* 803ACFB0 003A8C10  7C 1B B8 00 */	cmpw r27, r23
/* 803ACFB4 003A8C14  40 82 00 64 */	bne lbl_803AD018
lbl_803ACFB8:
/* 803ACFB8 003A8C18  7F E3 FB 78 */	mr r3, r31
/* 803ACFBC 003A8C1C  7E C4 B3 78 */	mr r4, r22
/* 803ACFC0 003A8C20  38 A0 00 34 */	li r5, 0x34
/* 803ACFC4 003A8C24  38 C0 00 00 */	li r6, 0
/* 803ACFC8 003A8C28  48 00 DC DD */	bl func_803BACA4
/* 803ACFCC 003A8C2C  54 60 00 38 */	rlwinm r0, r3, 0, 0, 0x1c
/* 803ACFD0 003A8C30  7F E3 FB 78 */	mr r3, r31
/* 803ACFD4 003A8C34  90 01 00 08 */	stw r0, 8(r1)
/* 803ACFD8 003A8C38  7E C4 B3 78 */	mr r4, r22
/* 803ACFDC 003A8C3C  38 C1 00 08 */	addi r6, r1, 8
/* 803ACFE0 003A8C40  38 A0 00 34 */	li r5, 0x34
/* 803ACFE4 003A8C44  48 00 E1 B1 */	bl func_803BB194
/* 803ACFE8 003A8C48  7F E3 FB 78 */	mr r3, r31
/* 803ACFEC 003A8C4C  7E C4 B3 78 */	mr r4, r22
/* 803ACFF0 003A8C50  38 A0 00 35 */	li r5, 0x35
/* 803ACFF4 003A8C54  38 C0 00 00 */	li r6, 0
/* 803ACFF8 003A8C58  48 00 DC AD */	bl func_803BACA4
/* 803ACFFC 003A8C5C  54 60 01 46 */	rlwinm r0, r3, 0, 5, 3
/* 803AD000 003A8C60  7F E3 FB 78 */	mr r3, r31
/* 803AD004 003A8C64  90 01 00 08 */	stw r0, 8(r1)
/* 803AD008 003A8C68  7E C4 B3 78 */	mr r4, r22
/* 803AD00C 003A8C6C  38 C1 00 08 */	addi r6, r1, 8
/* 803AD010 003A8C70  38 A0 00 35 */	li r5, 0x35
/* 803AD014 003A8C74  48 00 E1 81 */	bl func_803BB194
lbl_803AD018:
/* 803AD018 003A8C78  3B A0 00 01 */	li r29, 1
lbl_803AD01C:
/* 803AD01C 003A8C7C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD020 003A8C80  38 80 00 10 */	li r4, 0x10
/* 803AD024 003A8C84  38 A0 00 05 */	li r5, 5
/* 803AD028 003A8C88  48 02 C1 E1 */	bl func_803D9208
/* 803AD02C 003A8C8C  2C 03 00 00 */	cmpwi r3, 0
/* 803AD030 003A8C90  41 82 00 84 */	beq lbl_803AD0B4
/* 803AD034 003A8C94  7F C3 F3 78 */	mr r3, r30
/* 803AD038 003A8C98  38 80 00 9F */	li r4, 0x9f
/* 803AD03C 003A8C9C  38 A0 00 00 */	li r5, 0
/* 803AD040 003A8CA0  48 03 09 9D */	bl func_803DD9DC
/* 803AD044 003A8CA4  70 60 0F 88 */	andi. r0, r3, 0xf88
/* 803AD048 003A8CA8  90 61 00 08 */	stw r3, 8(r1)
/* 803AD04C 003A8CAC  41 82 00 68 */	beq lbl_803AD0B4
/* 803AD050 003A8CB0  38 00 F0 77 */	li r0, -3977
/* 803AD054 003A8CB4  38 A1 00 08 */	addi r5, r1, 8
/* 803AD058 003A8CB8  7C 60 00 38 */	and r0, r3, r0
/* 803AD05C 003A8CBC  7F C3 F3 78 */	mr r3, r30
/* 803AD060 003A8CC0  90 01 00 08 */	stw r0, 8(r1)
/* 803AD064 003A8CC4  38 80 00 9F */	li r4, 0x9f
/* 803AD068 003A8CC8  48 02 E4 BD */	bl func_803DB524
/* 803AD06C 003A8CCC  7C 1C B8 00 */	cmpw r28, r23
/* 803AD070 003A8CD0  41 82 00 0C */	beq lbl_803AD07C
/* 803AD074 003A8CD4  7C 1B B8 00 */	cmpw r27, r23
/* 803AD078 003A8CD8  40 82 00 38 */	bne lbl_803AD0B0
lbl_803AD07C:
/* 803AD07C 003A8CDC  7F E3 FB 78 */	mr r3, r31
/* 803AD080 003A8CE0  7E C4 B3 78 */	mr r4, r22
/* 803AD084 003A8CE4  38 A0 00 34 */	li r5, 0x34
/* 803AD088 003A8CE8  38 C0 00 00 */	li r6, 0
/* 803AD08C 003A8CEC  48 00 DC 19 */	bl func_803BACA4
/* 803AD090 003A8CF0  38 00 F0 77 */	li r0, -3977
/* 803AD094 003A8CF4  7E C4 B3 78 */	mr r4, r22
/* 803AD098 003A8CF8  7C 60 00 38 */	and r0, r3, r0
/* 803AD09C 003A8CFC  7F E3 FB 78 */	mr r3, r31
/* 803AD0A0 003A8D00  90 01 00 08 */	stw r0, 8(r1)
/* 803AD0A4 003A8D04  38 C1 00 08 */	addi r6, r1, 8
/* 803AD0A8 003A8D08  38 A0 00 34 */	li r5, 0x34
/* 803AD0AC 003A8D0C  48 00 E0 E9 */	bl func_803BB194
lbl_803AD0B0:
/* 803AD0B0 003A8D10  3B A0 00 01 */	li r29, 1
lbl_803AD0B4:
/* 803AD0B4 003A8D14  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD0B8 003A8D18  38 80 00 11 */	li r4, 0x11
/* 803AD0BC 003A8D1C  38 A0 00 05 */	li r5, 5
/* 803AD0C0 003A8D20  48 02 C1 49 */	bl func_803D9208
/* 803AD0C4 003A8D24  2C 03 00 00 */	cmpwi r3, 0
/* 803AD0C8 003A8D28  41 82 00 7C */	beq lbl_803AD144
/* 803AD0CC 003A8D2C  7F C3 F3 78 */	mr r3, r30
/* 803AD0D0 003A8D30  38 80 00 9F */	li r4, 0x9f
/* 803AD0D4 003A8D34  38 A0 00 00 */	li r5, 0
/* 803AD0D8 003A8D38  48 03 09 05 */	bl func_803DD9DC
/* 803AD0DC 003A8D3C  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803AD0E0 003A8D40  90 61 00 08 */	stw r3, 8(r1)
/* 803AD0E4 003A8D44  41 82 00 60 */	beq lbl_803AD144
/* 803AD0E8 003A8D48  54 60 07 34 */	rlwinm r0, r3, 0, 0x1c, 0x1a
/* 803AD0EC 003A8D4C  7F C3 F3 78 */	mr r3, r30
/* 803AD0F0 003A8D50  90 01 00 08 */	stw r0, 8(r1)
/* 803AD0F4 003A8D54  38 A1 00 08 */	addi r5, r1, 8
/* 803AD0F8 003A8D58  38 80 00 9F */	li r4, 0x9f
/* 803AD0FC 003A8D5C  48 02 E4 29 */	bl func_803DB524
/* 803AD100 003A8D60  7C 1C B8 00 */	cmpw r28, r23
/* 803AD104 003A8D64  41 82 00 0C */	beq lbl_803AD110
/* 803AD108 003A8D68  7C 1B B8 00 */	cmpw r27, r23
/* 803AD10C 003A8D6C  40 82 00 34 */	bne lbl_803AD140
lbl_803AD110:
/* 803AD110 003A8D70  7F E3 FB 78 */	mr r3, r31
/* 803AD114 003A8D74  7E C4 B3 78 */	mr r4, r22
/* 803AD118 003A8D78  38 A0 00 34 */	li r5, 0x34
/* 803AD11C 003A8D7C  38 C0 00 00 */	li r6, 0
/* 803AD120 003A8D80  48 00 DB 85 */	bl func_803BACA4
/* 803AD124 003A8D84  54 60 07 34 */	rlwinm r0, r3, 0, 0x1c, 0x1a
/* 803AD128 003A8D88  7F E3 FB 78 */	mr r3, r31
/* 803AD12C 003A8D8C  90 01 00 08 */	stw r0, 8(r1)
/* 803AD130 003A8D90  7E C4 B3 78 */	mr r4, r22
/* 803AD134 003A8D94  38 C1 00 08 */	addi r6, r1, 8
/* 803AD138 003A8D98  38 A0 00 34 */	li r5, 0x34
/* 803AD13C 003A8D9C  48 00 E0 59 */	bl func_803BB194
lbl_803AD140:
/* 803AD140 003A8DA0  3B A0 00 01 */	li r29, 1
lbl_803AD144:
/* 803AD144 003A8DA4  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD148 003A8DA8  38 80 00 12 */	li r4, 0x12
/* 803AD14C 003A8DAC  38 A0 00 05 */	li r5, 5
/* 803AD150 003A8DB0  48 02 C0 B9 */	bl func_803D9208
/* 803AD154 003A8DB4  2C 03 00 00 */	cmpwi r3, 0
/* 803AD158 003A8DB8  41 82 00 7C */	beq lbl_803AD1D4
/* 803AD15C 003A8DBC  7F C3 F3 78 */	mr r3, r30
/* 803AD160 003A8DC0  38 80 00 9F */	li r4, 0x9f
/* 803AD164 003A8DC4  38 A0 00 00 */	li r5, 0
/* 803AD168 003A8DC8  48 03 08 75 */	bl func_803DD9DC
/* 803AD16C 003A8DCC  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803AD170 003A8DD0  90 61 00 08 */	stw r3, 8(r1)
/* 803AD174 003A8DD4  41 82 00 60 */	beq lbl_803AD1D4
/* 803AD178 003A8DD8  54 60 06 F2 */	rlwinm r0, r3, 0, 0x1b, 0x19
/* 803AD17C 003A8DDC  7F C3 F3 78 */	mr r3, r30
/* 803AD180 003A8DE0  90 01 00 08 */	stw r0, 8(r1)
/* 803AD184 003A8DE4  38 A1 00 08 */	addi r5, r1, 8
/* 803AD188 003A8DE8  38 80 00 9F */	li r4, 0x9f
/* 803AD18C 003A8DEC  48 02 E3 99 */	bl func_803DB524
/* 803AD190 003A8DF0  7C 1C B8 00 */	cmpw r28, r23
/* 803AD194 003A8DF4  41 82 00 0C */	beq lbl_803AD1A0
/* 803AD198 003A8DF8  7C 1B B8 00 */	cmpw r27, r23
/* 803AD19C 003A8DFC  40 82 00 34 */	bne lbl_803AD1D0
lbl_803AD1A0:
/* 803AD1A0 003A8E00  7F E3 FB 78 */	mr r3, r31
/* 803AD1A4 003A8E04  7E C4 B3 78 */	mr r4, r22
/* 803AD1A8 003A8E08  38 A0 00 34 */	li r5, 0x34
/* 803AD1AC 003A8E0C  38 C0 00 00 */	li r6, 0
/* 803AD1B0 003A8E10  48 00 DA F5 */	bl func_803BACA4
/* 803AD1B4 003A8E14  54 60 06 F2 */	rlwinm r0, r3, 0, 0x1b, 0x19
/* 803AD1B8 003A8E18  7F E3 FB 78 */	mr r3, r31
/* 803AD1BC 003A8E1C  90 01 00 08 */	stw r0, 8(r1)
/* 803AD1C0 003A8E20  7E C4 B3 78 */	mr r4, r22
/* 803AD1C4 003A8E24  38 C1 00 08 */	addi r6, r1, 8
/* 803AD1C8 003A8E28  38 A0 00 34 */	li r5, 0x34
/* 803AD1CC 003A8E2C  48 00 DF C9 */	bl func_803BB194
lbl_803AD1D0:
/* 803AD1D0 003A8E30  3B A0 00 01 */	li r29, 1
lbl_803AD1D4:
/* 803AD1D4 003A8E34  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD1D8 003A8E38  38 80 00 13 */	li r4, 0x13
/* 803AD1DC 003A8E3C  38 A0 00 05 */	li r5, 5
/* 803AD1E0 003A8E40  48 02 C0 29 */	bl func_803D9208
/* 803AD1E4 003A8E44  2C 03 00 00 */	cmpwi r3, 0
/* 803AD1E8 003A8E48  41 82 00 7C */	beq lbl_803AD264
/* 803AD1EC 003A8E4C  7F C3 F3 78 */	mr r3, r30
/* 803AD1F0 003A8E50  38 80 00 9F */	li r4, 0x9f
/* 803AD1F4 003A8E54  38 A0 00 00 */	li r5, 0
/* 803AD1F8 003A8E58  48 03 07 E5 */	bl func_803DD9DC
/* 803AD1FC 003A8E5C  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803AD200 003A8E60  90 61 00 08 */	stw r3, 8(r1)
/* 803AD204 003A8E64  41 82 00 60 */	beq lbl_803AD264
/* 803AD208 003A8E68  54 60 06 B0 */	rlwinm r0, r3, 0, 0x1a, 0x18
/* 803AD20C 003A8E6C  7F C3 F3 78 */	mr r3, r30
/* 803AD210 003A8E70  90 01 00 08 */	stw r0, 8(r1)
/* 803AD214 003A8E74  38 A1 00 08 */	addi r5, r1, 8
/* 803AD218 003A8E78  38 80 00 9F */	li r4, 0x9f
/* 803AD21C 003A8E7C  48 02 E3 09 */	bl func_803DB524
/* 803AD220 003A8E80  7C 1C B8 00 */	cmpw r28, r23
/* 803AD224 003A8E84  41 82 00 0C */	beq lbl_803AD230
/* 803AD228 003A8E88  7C 1B B8 00 */	cmpw r27, r23
/* 803AD22C 003A8E8C  40 82 00 34 */	bne lbl_803AD260
lbl_803AD230:
/* 803AD230 003A8E90  7F E3 FB 78 */	mr r3, r31
/* 803AD234 003A8E94  7E C4 B3 78 */	mr r4, r22
/* 803AD238 003A8E98  38 A0 00 34 */	li r5, 0x34
/* 803AD23C 003A8E9C  38 C0 00 00 */	li r6, 0
/* 803AD240 003A8EA0  48 00 DA 65 */	bl func_803BACA4
/* 803AD244 003A8EA4  54 60 06 B0 */	rlwinm r0, r3, 0, 0x1a, 0x18
/* 803AD248 003A8EA8  7F E3 FB 78 */	mr r3, r31
/* 803AD24C 003A8EAC  90 01 00 08 */	stw r0, 8(r1)
/* 803AD250 003A8EB0  7E C4 B3 78 */	mr r4, r22
/* 803AD254 003A8EB4  38 C1 00 08 */	addi r6, r1, 8
/* 803AD258 003A8EB8  38 A0 00 34 */	li r5, 0x34
/* 803AD25C 003A8EBC  48 00 DF 39 */	bl func_803BB194
lbl_803AD260:
/* 803AD260 003A8EC0  3B A0 00 01 */	li r29, 1
lbl_803AD264:
/* 803AD264 003A8EC4  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD268 003A8EC8  38 80 00 14 */	li r4, 0x14
/* 803AD26C 003A8ECC  38 A0 00 05 */	li r5, 5
/* 803AD270 003A8ED0  48 02 BF 99 */	bl func_803D9208
/* 803AD274 003A8ED4  2C 03 00 00 */	cmpwi r3, 0
/* 803AD278 003A8ED8  41 82 00 54 */	beq lbl_803AD2CC
/* 803AD27C 003A8EDC  7C 1C B8 00 */	cmpw r28, r23
/* 803AD280 003A8EE0  41 82 00 0C */	beq lbl_803AD28C
/* 803AD284 003A8EE4  7C 1B B8 00 */	cmpw r27, r23
/* 803AD288 003A8EE8  40 82 00 44 */	bne lbl_803AD2CC
lbl_803AD28C:
/* 803AD28C 003A8EEC  7F E3 FB 78 */	mr r3, r31
/* 803AD290 003A8EF0  7E C4 B3 78 */	mr r4, r22
/* 803AD294 003A8EF4  38 A0 00 35 */	li r5, 0x35
/* 803AD298 003A8EF8  38 C0 00 00 */	li r6, 0
/* 803AD29C 003A8EFC  48 00 DA 09 */	bl func_803BACA4
/* 803AD2A0 003A8F00  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803AD2A4 003A8F04  90 61 00 08 */	stw r3, 8(r1)
/* 803AD2A8 003A8F08  41 82 00 24 */	beq lbl_803AD2CC
/* 803AD2AC 003A8F0C  54 60 00 38 */	rlwinm r0, r3, 0, 0, 0x1c
/* 803AD2B0 003A8F10  7F E3 FB 78 */	mr r3, r31
/* 803AD2B4 003A8F14  90 01 00 08 */	stw r0, 8(r1)
/* 803AD2B8 003A8F18  7E C4 B3 78 */	mr r4, r22
/* 803AD2BC 003A8F1C  38 C1 00 08 */	addi r6, r1, 8
/* 803AD2C0 003A8F20  38 A0 00 35 */	li r5, 0x35
/* 803AD2C4 003A8F24  48 00 DE D1 */	bl func_803BB194
/* 803AD2C8 003A8F28  3B A0 00 01 */	li r29, 1
lbl_803AD2CC:
/* 803AD2CC 003A8F2C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD2D0 003A8F30  38 80 00 15 */	li r4, 0x15
/* 803AD2D4 003A8F34  38 A0 00 05 */	li r5, 5
/* 803AD2D8 003A8F38  48 02 BF 31 */	bl func_803D9208
/* 803AD2DC 003A8F3C  2C 03 00 00 */	cmpwi r3, 0
/* 803AD2E0 003A8F40  41 82 00 54 */	beq lbl_803AD334
/* 803AD2E4 003A8F44  7C 1C B8 00 */	cmpw r28, r23
/* 803AD2E8 003A8F48  41 82 00 0C */	beq lbl_803AD2F4
/* 803AD2EC 003A8F4C  7C 1B B8 00 */	cmpw r27, r23
/* 803AD2F0 003A8F50  40 82 00 44 */	bne lbl_803AD334
lbl_803AD2F4:
/* 803AD2F4 003A8F54  7F E3 FB 78 */	mr r3, r31
/* 803AD2F8 003A8F58  7E C4 B3 78 */	mr r4, r22
/* 803AD2FC 003A8F5C  38 A0 00 35 */	li r5, 0x35
/* 803AD300 003A8F60  38 C0 00 00 */	li r6, 0
/* 803AD304 003A8F64  48 00 D9 A1 */	bl func_803BACA4
/* 803AD308 003A8F68  54 60 03 1F */	rlwinm. r0, r3, 0, 0xc, 0xf
/* 803AD30C 003A8F6C  90 61 00 08 */	stw r3, 8(r1)
/* 803AD310 003A8F70  41 82 00 24 */	beq lbl_803AD334
/* 803AD314 003A8F74  54 60 04 16 */	rlwinm r0, r3, 0, 0x10, 0xb
/* 803AD318 003A8F78  7F E3 FB 78 */	mr r3, r31
/* 803AD31C 003A8F7C  90 01 00 08 */	stw r0, 8(r1)
/* 803AD320 003A8F80  7E C4 B3 78 */	mr r4, r22
/* 803AD324 003A8F84  38 C1 00 08 */	addi r6, r1, 8
/* 803AD328 003A8F88  38 A0 00 35 */	li r5, 0x35
/* 803AD32C 003A8F8C  48 00 DE 69 */	bl func_803BB194
/* 803AD330 003A8F90  3B A0 00 01 */	li r29, 1
lbl_803AD334:
/* 803AD334 003A8F94  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD338 003A8F98  38 80 00 16 */	li r4, 0x16
/* 803AD33C 003A8F9C  38 A0 00 05 */	li r5, 5
/* 803AD340 003A8FA0  48 02 BE C9 */	bl func_803D9208
/* 803AD344 003A8FA4  2C 03 00 00 */	cmpwi r3, 0
/* 803AD348 003A8FA8  41 82 00 70 */	beq lbl_803AD3B8
/* 803AD34C 003A8FAC  7E A3 AB 78 */	mr r3, r21
/* 803AD350 003A8FB0  7F E4 FB 78 */	mr r4, r31
/* 803AD354 003A8FB4  7E C6 B3 78 */	mr r6, r22
/* 803AD358 003A8FB8  38 A0 00 01 */	li r5, 1
/* 803AD35C 003A8FBC  48 01 B8 ED */	bl func_803C8C48
/* 803AD360 003A8FC0  2C 03 00 00 */	cmpwi r3, 0
/* 803AD364 003A8FC4  90 61 00 08 */	stw r3, 8(r1)
/* 803AD368 003A8FC8  40 82 00 50 */	bne lbl_803AD3B8
/* 803AD36C 003A8FCC  7E A3 AB 78 */	mr r3, r21
/* 803AD370 003A8FD0  7F E4 FB 78 */	mr r4, r31
/* 803AD374 003A8FD4  7E C6 B3 78 */	mr r6, r22
/* 803AD378 003A8FD8  38 A0 00 00 */	li r5, 0
/* 803AD37C 003A8FDC  48 01 B8 CD */	bl func_803C8C48
/* 803AD380 003A8FE0  60 67 00 40 */	ori r7, r3, 0x40
/* 803AD384 003A8FE4  7E A3 AB 78 */	mr r3, r21
/* 803AD388 003A8FE8  90 E1 00 08 */	stw r7, 8(r1)
/* 803AD38C 003A8FEC  7F E4 FB 78 */	mr r4, r31
/* 803AD390 003A8FF0  7E C6 B3 78 */	mr r6, r22
/* 803AD394 003A8FF4  38 A0 00 00 */	li r5, 0
/* 803AD398 003A8FF8  48 01 BA 15 */	bl func_803C8DAC
/* 803AD39C 003A8FFC  7E A3 AB 78 */	mr r3, r21
/* 803AD3A0 003A9000  7F E4 FB 78 */	mr r4, r31
/* 803AD3A4 003A9004  7E C6 B3 78 */	mr r6, r22
/* 803AD3A8 003A9008  38 A0 00 01 */	li r5, 1
/* 803AD3AC 003A900C  38 E0 00 05 */	li r7, 5
/* 803AD3B0 003A9010  48 01 B9 FD */	bl func_803C8DAC
/* 803AD3B4 003A9014  3B A0 00 01 */	li r29, 1
lbl_803AD3B8:
/* 803AD3B8 003A9018  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD3BC 003A901C  38 80 00 1B */	li r4, 0x1b
/* 803AD3C0 003A9020  38 A0 00 05 */	li r5, 5
/* 803AD3C4 003A9024  48 02 BE 45 */	bl func_803D9208
/* 803AD3C8 003A9028  2C 03 00 00 */	cmpwi r3, 0
/* 803AD3CC 003A902C  41 82 00 48 */	beq lbl_803AD414
/* 803AD3D0 003A9030  7C 1C B8 00 */	cmpw r28, r23
/* 803AD3D4 003A9034  41 82 00 0C */	beq lbl_803AD3E0
/* 803AD3D8 003A9038  7C 1B B8 00 */	cmpw r27, r23
/* 803AD3DC 003A903C  40 82 00 38 */	bne lbl_803AD414
lbl_803AD3E0:
/* 803AD3E0 003A9040  7F E3 FB 78 */	mr r3, r31
/* 803AD3E4 003A9044  7E C4 B3 78 */	mr r4, r22
/* 803AD3E8 003A9048  38 A0 00 13 */	li r5, 0x13
/* 803AD3EC 003A904C  38 C0 00 00 */	li r6, 0
/* 803AD3F0 003A9050  48 00 D8 B5 */	bl func_803BACA4
/* 803AD3F4 003A9054  2C 03 00 0C */	cmpwi r3, 0xc
/* 803AD3F8 003A9058  40 80 00 1C */	bge lbl_803AD414
/* 803AD3FC 003A905C  7F E3 FB 78 */	mr r3, r31
/* 803AD400 003A9060  7E C4 B3 78 */	mr r4, r22
/* 803AD404 003A9064  38 A0 00 13 */	li r5, 0x13
/* 803AD408 003A9068  38 C0 00 01 */	li r6, 1
/* 803AD40C 003A906C  48 00 E3 1D */	bl func_803BB728
/* 803AD410 003A9070  3B A0 00 01 */	li r29, 1
lbl_803AD414:
/* 803AD414 003A9074  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD418 003A9078  38 80 00 1C */	li r4, 0x1c
/* 803AD41C 003A907C  38 A0 00 05 */	li r5, 5
/* 803AD420 003A9080  48 02 BD E9 */	bl func_803D9208
/* 803AD424 003A9084  2C 03 00 00 */	cmpwi r3, 0
/* 803AD428 003A9088  41 82 00 48 */	beq lbl_803AD470
/* 803AD42C 003A908C  7C 1C B8 00 */	cmpw r28, r23
/* 803AD430 003A9090  41 82 00 0C */	beq lbl_803AD43C
/* 803AD434 003A9094  7C 1B B8 00 */	cmpw r27, r23
/* 803AD438 003A9098  40 82 00 38 */	bne lbl_803AD470
lbl_803AD43C:
/* 803AD43C 003A909C  7F E3 FB 78 */	mr r3, r31
/* 803AD440 003A90A0  7E C4 B3 78 */	mr r4, r22
/* 803AD444 003A90A4  38 A0 00 14 */	li r5, 0x14
/* 803AD448 003A90A8  38 C0 00 00 */	li r6, 0
/* 803AD44C 003A90AC  48 00 D8 59 */	bl func_803BACA4
/* 803AD450 003A90B0  2C 03 00 0C */	cmpwi r3, 0xc
/* 803AD454 003A90B4  40 80 00 1C */	bge lbl_803AD470
/* 803AD458 003A90B8  7F E3 FB 78 */	mr r3, r31
/* 803AD45C 003A90BC  7E C4 B3 78 */	mr r4, r22
/* 803AD460 003A90C0  38 A0 00 14 */	li r5, 0x14
/* 803AD464 003A90C4  38 C0 00 01 */	li r6, 1
/* 803AD468 003A90C8  48 00 E2 C1 */	bl func_803BB728
/* 803AD46C 003A90CC  3B A0 00 01 */	li r29, 1
lbl_803AD470:
/* 803AD470 003A90D0  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD474 003A90D4  38 80 00 1D */	li r4, 0x1d
/* 803AD478 003A90D8  38 A0 00 05 */	li r5, 5
/* 803AD47C 003A90DC  48 02 BD 8D */	bl func_803D9208
/* 803AD480 003A90E0  2C 03 00 00 */	cmpwi r3, 0
/* 803AD484 003A90E4  41 82 00 48 */	beq lbl_803AD4CC
/* 803AD488 003A90E8  7C 1C B8 00 */	cmpw r28, r23
/* 803AD48C 003A90EC  41 82 00 0C */	beq lbl_803AD498
/* 803AD490 003A90F0  7C 1B B8 00 */	cmpw r27, r23
/* 803AD494 003A90F4  40 82 00 38 */	bne lbl_803AD4CC
lbl_803AD498:
/* 803AD498 003A90F8  7F E3 FB 78 */	mr r3, r31
/* 803AD49C 003A90FC  7E C4 B3 78 */	mr r4, r22
/* 803AD4A0 003A9100  38 A0 00 16 */	li r5, 0x16
/* 803AD4A4 003A9104  38 C0 00 00 */	li r6, 0
/* 803AD4A8 003A9108  48 00 D7 FD */	bl func_803BACA4
/* 803AD4AC 003A910C  2C 03 00 0C */	cmpwi r3, 0xc
/* 803AD4B0 003A9110  40 80 00 1C */	bge lbl_803AD4CC
/* 803AD4B4 003A9114  7F E3 FB 78 */	mr r3, r31
/* 803AD4B8 003A9118  7E C4 B3 78 */	mr r4, r22
/* 803AD4BC 003A911C  38 A0 00 16 */	li r5, 0x16
/* 803AD4C0 003A9120  38 C0 00 01 */	li r6, 1
/* 803AD4C4 003A9124  48 00 E2 65 */	bl func_803BB728
/* 803AD4C8 003A9128  3B A0 00 01 */	li r29, 1
lbl_803AD4CC:
/* 803AD4CC 003A912C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD4D0 003A9130  38 80 00 1E */	li r4, 0x1e
/* 803AD4D4 003A9134  38 A0 00 05 */	li r5, 5
/* 803AD4D8 003A9138  48 02 BD 31 */	bl func_803D9208
/* 803AD4DC 003A913C  2C 03 00 00 */	cmpwi r3, 0
/* 803AD4E0 003A9140  41 82 00 48 */	beq lbl_803AD528
/* 803AD4E4 003A9144  7C 1C B8 00 */	cmpw r28, r23
/* 803AD4E8 003A9148  41 82 00 0C */	beq lbl_803AD4F4
/* 803AD4EC 003A914C  7C 1B B8 00 */	cmpw r27, r23
/* 803AD4F0 003A9150  40 82 00 38 */	bne lbl_803AD528
lbl_803AD4F4:
/* 803AD4F4 003A9154  7F E3 FB 78 */	mr r3, r31
/* 803AD4F8 003A9158  7E C4 B3 78 */	mr r4, r22
/* 803AD4FC 003A915C  38 A0 00 17 */	li r5, 0x17
/* 803AD500 003A9160  38 C0 00 00 */	li r6, 0
/* 803AD504 003A9164  48 00 D7 A1 */	bl func_803BACA4
/* 803AD508 003A9168  2C 03 00 0C */	cmpwi r3, 0xc
/* 803AD50C 003A916C  40 80 00 1C */	bge lbl_803AD528
/* 803AD510 003A9170  7F E3 FB 78 */	mr r3, r31
/* 803AD514 003A9174  7E C4 B3 78 */	mr r4, r22
/* 803AD518 003A9178  38 A0 00 17 */	li r5, 0x17
/* 803AD51C 003A917C  38 C0 00 01 */	li r6, 1
/* 803AD520 003A9180  48 00 E2 09 */	bl func_803BB728
/* 803AD524 003A9184  3B A0 00 01 */	li r29, 1
lbl_803AD528:
/* 803AD528 003A9188  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD52C 003A918C  38 80 00 1F */	li r4, 0x1f
/* 803AD530 003A9190  38 A0 00 05 */	li r5, 5
/* 803AD534 003A9194  48 02 BC D5 */	bl func_803D9208
/* 803AD538 003A9198  2C 03 00 00 */	cmpwi r3, 0
/* 803AD53C 003A919C  41 82 00 48 */	beq lbl_803AD584
/* 803AD540 003A91A0  7C 1C B8 00 */	cmpw r28, r23
/* 803AD544 003A91A4  41 82 00 0C */	beq lbl_803AD550
/* 803AD548 003A91A8  7C 1B B8 00 */	cmpw r27, r23
/* 803AD54C 003A91AC  40 82 00 38 */	bne lbl_803AD584
lbl_803AD550:
/* 803AD550 003A91B0  7F E3 FB 78 */	mr r3, r31
/* 803AD554 003A91B4  7E C4 B3 78 */	mr r4, r22
/* 803AD558 003A91B8  38 A0 00 15 */	li r5, 0x15
/* 803AD55C 003A91BC  38 C0 00 00 */	li r6, 0
/* 803AD560 003A91C0  48 00 D7 45 */	bl func_803BACA4
/* 803AD564 003A91C4  2C 03 00 0C */	cmpwi r3, 0xc
/* 803AD568 003A91C8  40 80 00 1C */	bge lbl_803AD584
/* 803AD56C 003A91CC  7F E3 FB 78 */	mr r3, r31
/* 803AD570 003A91D0  7E C4 B3 78 */	mr r4, r22
/* 803AD574 003A91D4  38 A0 00 15 */	li r5, 0x15
/* 803AD578 003A91D8  38 C0 00 01 */	li r6, 1
/* 803AD57C 003A91DC  48 00 E1 AD */	bl func_803BB728
/* 803AD580 003A91E0  3B A0 00 01 */	li r29, 1
lbl_803AD584:
/* 803AD584 003A91E4  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD588 003A91E8  38 80 00 20 */	li r4, 0x20
/* 803AD58C 003A91EC  38 A0 00 05 */	li r5, 5
/* 803AD590 003A91F0  48 02 BC 79 */	bl func_803D9208
/* 803AD594 003A91F4  2C 03 00 00 */	cmpwi r3, 0
/* 803AD598 003A91F8  41 82 00 48 */	beq lbl_803AD5E0
/* 803AD59C 003A91FC  7C 1C B8 00 */	cmpw r28, r23
/* 803AD5A0 003A9200  41 82 00 0C */	beq lbl_803AD5AC
/* 803AD5A4 003A9204  7C 1B B8 00 */	cmpw r27, r23
/* 803AD5A8 003A9208  40 82 00 38 */	bne lbl_803AD5E0
lbl_803AD5AC:
/* 803AD5AC 003A920C  7F E3 FB 78 */	mr r3, r31
/* 803AD5B0 003A9210  7E C4 B3 78 */	mr r4, r22
/* 803AD5B4 003A9214  38 A0 00 18 */	li r5, 0x18
/* 803AD5B8 003A9218  38 C0 00 00 */	li r6, 0
/* 803AD5BC 003A921C  48 00 D6 E9 */	bl func_803BACA4
/* 803AD5C0 003A9220  2C 03 00 0C */	cmpwi r3, 0xc
/* 803AD5C4 003A9224  40 80 00 1C */	bge lbl_803AD5E0
/* 803AD5C8 003A9228  7F E3 FB 78 */	mr r3, r31
/* 803AD5CC 003A922C  7E C4 B3 78 */	mr r4, r22
/* 803AD5D0 003A9230  38 A0 00 18 */	li r5, 0x18
/* 803AD5D4 003A9234  38 C0 00 01 */	li r6, 1
/* 803AD5D8 003A9238  48 00 E1 51 */	bl func_803BB728
/* 803AD5DC 003A923C  3B A0 00 01 */	li r29, 1
lbl_803AD5E0:
/* 803AD5E0 003A9240  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD5E4 003A9244  38 80 00 21 */	li r4, 0x21
/* 803AD5E8 003A9248  38 A0 00 05 */	li r5, 5
/* 803AD5EC 003A924C  48 02 BC 1D */	bl func_803D9208
/* 803AD5F0 003A9250  2C 03 00 00 */	cmpwi r3, 0
/* 803AD5F4 003A9254  41 82 00 54 */	beq lbl_803AD648
/* 803AD5F8 003A9258  7C 1C B8 00 */	cmpw r28, r23
/* 803AD5FC 003A925C  41 82 00 0C */	beq lbl_803AD608
/* 803AD600 003A9260  7C 1B B8 00 */	cmpw r27, r23
/* 803AD604 003A9264  40 82 00 44 */	bne lbl_803AD648
lbl_803AD608:
/* 803AD608 003A9268  7F E3 FB 78 */	mr r3, r31
/* 803AD60C 003A926C  7E C4 B3 78 */	mr r4, r22
/* 803AD610 003A9270  38 A0 00 35 */	li r5, 0x35
/* 803AD614 003A9274  38 C0 00 00 */	li r6, 0
/* 803AD618 003A9278  48 00 D6 8D */	bl func_803BACA4
/* 803AD61C 003A927C  54 60 02 D7 */	rlwinm. r0, r3, 0, 0xb, 0xb
/* 803AD620 003A9280  90 61 00 08 */	stw r3, 8(r1)
/* 803AD624 003A9284  40 82 00 24 */	bne lbl_803AD648
/* 803AD628 003A9288  64 60 00 10 */	oris r0, r3, 0x10
/* 803AD62C 003A928C  7F E3 FB 78 */	mr r3, r31
/* 803AD630 003A9290  90 01 00 08 */	stw r0, 8(r1)
/* 803AD634 003A9294  7E C4 B3 78 */	mr r4, r22
/* 803AD638 003A9298  38 C1 00 08 */	addi r6, r1, 8
/* 803AD63C 003A929C  38 A0 00 35 */	li r5, 0x35
/* 803AD640 003A92A0  48 00 DB 55 */	bl func_803BB194
/* 803AD644 003A92A4  3B A0 00 01 */	li r29, 1
lbl_803AD648:
/* 803AD648 003A92A8  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD64C 003A92AC  38 80 00 24 */	li r4, 0x24
/* 803AD650 003A92B0  38 A0 00 05 */	li r5, 5
/* 803AD654 003A92B4  48 02 BB B5 */	bl func_803D9208
/* 803AD658 003A92B8  2C 03 00 00 */	cmpwi r3, 0
/* 803AD65C 003A92BC  41 82 00 C0 */	beq lbl_803AD71C
/* 803AD660 003A92C0  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD664 003A92C4  38 80 00 37 */	li r4, 0x37
/* 803AD668 003A92C8  38 A0 00 05 */	li r5, 5
/* 803AD66C 003A92CC  48 02 BB 9D */	bl func_803D9208
/* 803AD670 003A92D0  90 61 00 08 */	stw r3, 8(r1)
/* 803AD674 003A92D4  7F C3 F3 78 */	mr r3, r30
/* 803AD678 003A92D8  38 98 00 42 */	addi r4, r24, 0x42
/* 803AD67C 003A92DC  38 A0 00 00 */	li r5, 0
/* 803AD680 003A92E0  48 03 03 5D */	bl func_803DD9DC
/* 803AD684 003A92E4  7C 74 1B 78 */	mr r20, r3
/* 803AD688 003A92E8  7F C3 F3 78 */	mr r3, r30
/* 803AD68C 003A92EC  38 98 00 3A */	addi r4, r24, 0x3a
/* 803AD690 003A92F0  38 A0 00 00 */	li r5, 0
/* 803AD694 003A92F4  48 03 03 49 */	bl func_803DD9DC
/* 803AD698 003A92F8  7C 03 A0 40 */	cmplw r3, r20
/* 803AD69C 003A92FC  41 82 00 80 */	beq lbl_803AD71C
/* 803AD6A0 003A9300  80 A1 00 08 */	lwz r5, 8(r1)
/* 803AD6A4 003A9304  7F C3 F3 78 */	mr r3, r30
/* 803AD6A8 003A9308  38 98 00 3A */	addi r4, r24, 0x3a
/* 803AD6AC 003A930C  48 03 0A 51 */	bl func_803DE0FC
/* 803AD6B0 003A9310  7C 1C B8 00 */	cmpw r28, r23
/* 803AD6B4 003A9314  41 82 00 0C */	beq lbl_803AD6C0
/* 803AD6B8 003A9318  7C 1B B8 00 */	cmpw r27, r23
/* 803AD6BC 003A931C  40 82 00 5C */	bne lbl_803AD718
lbl_803AD6C0:
/* 803AD6C0 003A9320  7F E3 FB 78 */	mr r3, r31
/* 803AD6C4 003A9324  7E C4 B3 78 */	mr r4, r22
/* 803AD6C8 003A9328  38 A0 00 35 */	li r5, 0x35
/* 803AD6CC 003A932C  38 C0 00 00 */	li r6, 0
/* 803AD6D0 003A9330  48 00 D5 D5 */	bl func_803BACA4
/* 803AD6D4 003A9334  54 60 02 95 */	rlwinm. r0, r3, 0, 0xa, 0xa
/* 803AD6D8 003A9338  40 82 00 40 */	bne lbl_803AD718
/* 803AD6DC 003A933C  7F 03 C3 78 */	mr r3, r24
/* 803AD6E0 003A9340  48 03 02 41 */	bl func_803DD920
/* 803AD6E4 003A9344  7C 74 1B 78 */	mr r20, r3
/* 803AD6E8 003A9348  7F E3 FB 78 */	mr r3, r31
/* 803AD6EC 003A934C  7E C4 B3 78 */	mr r4, r22
/* 803AD6F0 003A9350  38 A0 00 4B */	li r5, 0x4b
/* 803AD6F4 003A9354  38 C0 00 00 */	li r6, 0
/* 803AD6F8 003A9358  48 00 D5 AD */	bl func_803BACA4
/* 803AD6FC 003A935C  7C 60 A0 39 */	and. r0, r3, r20
/* 803AD700 003A9360  40 82 00 18 */	bne lbl_803AD718
/* 803AD704 003A9364  80 C1 00 08 */	lwz r6, 8(r1)
/* 803AD708 003A9368  7F E3 FB 78 */	mr r3, r31
/* 803AD70C 003A936C  7E C4 B3 78 */	mr r4, r22
/* 803AD710 003A9370  38 B8 00 1F */	addi r5, r24, 0x1f
/* 803AD714 003A9374  48 00 E0 15 */	bl func_803BB728
lbl_803AD718:
/* 803AD718 003A9378  3B A0 00 01 */	li r29, 1
lbl_803AD71C:
/* 803AD71C 003A937C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD720 003A9380  38 80 00 25 */	li r4, 0x25
/* 803AD724 003A9384  38 A0 00 05 */	li r5, 5
/* 803AD728 003A9388  48 02 BA E1 */	bl func_803D9208
/* 803AD72C 003A938C  2C 03 00 00 */	cmpwi r3, 0
/* 803AD730 003A9390  41 82 00 D0 */	beq lbl_803AD800
/* 803AD734 003A9394  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD738 003A9398  38 80 00 37 */	li r4, 0x37
/* 803AD73C 003A939C  38 A0 00 05 */	li r5, 5
/* 803AD740 003A93A0  48 02 BA C9 */	bl func_803D9208
/* 803AD744 003A93A4  90 61 00 08 */	stw r3, 8(r1)
/* 803AD748 003A93A8  3B 00 00 00 */	li r24, 0
lbl_803AD74C:
/* 803AD74C 003A93AC  7F C3 F3 78 */	mr r3, r30
/* 803AD750 003A93B0  38 98 00 42 */	addi r4, r24, 0x42
/* 803AD754 003A93B4  38 A0 00 00 */	li r5, 0
/* 803AD758 003A93B8  48 03 02 85 */	bl func_803DD9DC
/* 803AD75C 003A93BC  7C 74 1B 78 */	mr r20, r3
/* 803AD760 003A93C0  7F C3 F3 78 */	mr r3, r30
/* 803AD764 003A93C4  38 98 00 3A */	addi r4, r24, 0x3a
/* 803AD768 003A93C8  38 A0 00 00 */	li r5, 0
/* 803AD76C 003A93CC  48 03 02 71 */	bl func_803DD9DC
/* 803AD770 003A93D0  7C 03 A0 40 */	cmplw r3, r20
/* 803AD774 003A93D4  41 82 00 80 */	beq lbl_803AD7F4
/* 803AD778 003A93D8  80 A1 00 08 */	lwz r5, 8(r1)
/* 803AD77C 003A93DC  7F C3 F3 78 */	mr r3, r30
/* 803AD780 003A93E0  38 98 00 3A */	addi r4, r24, 0x3a
/* 803AD784 003A93E4  48 03 09 79 */	bl func_803DE0FC
/* 803AD788 003A93E8  7C 1C B8 00 */	cmpw r28, r23
/* 803AD78C 003A93EC  41 82 00 0C */	beq lbl_803AD798
/* 803AD790 003A93F0  7C 1B B8 00 */	cmpw r27, r23
/* 803AD794 003A93F4  40 82 00 5C */	bne lbl_803AD7F0
lbl_803AD798:
/* 803AD798 003A93F8  7F E3 FB 78 */	mr r3, r31
/* 803AD79C 003A93FC  7E C4 B3 78 */	mr r4, r22
/* 803AD7A0 003A9400  38 A0 00 35 */	li r5, 0x35
/* 803AD7A4 003A9404  38 C0 00 00 */	li r6, 0
/* 803AD7A8 003A9408  48 00 D4 FD */	bl func_803BACA4
/* 803AD7AC 003A940C  54 60 02 95 */	rlwinm. r0, r3, 0, 0xa, 0xa
/* 803AD7B0 003A9410  40 82 00 40 */	bne lbl_803AD7F0
/* 803AD7B4 003A9414  7F 03 C3 78 */	mr r3, r24
/* 803AD7B8 003A9418  48 03 01 69 */	bl func_803DD920
/* 803AD7BC 003A941C  7C 7D 1B 78 */	mr r29, r3
/* 803AD7C0 003A9420  7F E3 FB 78 */	mr r3, r31
/* 803AD7C4 003A9424  7E C4 B3 78 */	mr r4, r22
/* 803AD7C8 003A9428  38 A0 00 4B */	li r5, 0x4b
/* 803AD7CC 003A942C  38 C0 00 00 */	li r6, 0
/* 803AD7D0 003A9430  48 00 D4 D5 */	bl func_803BACA4
/* 803AD7D4 003A9434  7C 60 E8 39 */	and. r0, r3, r29
/* 803AD7D8 003A9438  40 82 00 18 */	bne lbl_803AD7F0
/* 803AD7DC 003A943C  80 C1 00 08 */	lwz r6, 8(r1)
/* 803AD7E0 003A9440  7F E3 FB 78 */	mr r3, r31
/* 803AD7E4 003A9444  7E C4 B3 78 */	mr r4, r22
/* 803AD7E8 003A9448  38 B8 00 1F */	addi r5, r24, 0x1f
/* 803AD7EC 003A944C  48 00 DF 3D */	bl func_803BB728
lbl_803AD7F0:
/* 803AD7F0 003A9450  3B A0 00 01 */	li r29, 1
lbl_803AD7F4:
/* 803AD7F4 003A9454  3B 18 00 01 */	addi r24, r24, 1
/* 803AD7F8 003A9458  2C 18 00 04 */	cmpwi r24, 4
/* 803AD7FC 003A945C  41 80 FF 50 */	blt lbl_803AD74C
lbl_803AD800:
/* 803AD800 003A9460  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD804 003A9464  38 80 00 26 */	li r4, 0x26
/* 803AD808 003A9468  38 A0 00 05 */	li r5, 5
/* 803AD80C 003A946C  48 02 B9 FD */	bl func_803D9208
/* 803AD810 003A9470  2C 03 00 00 */	cmpwi r3, 0
/* 803AD814 003A9474  41 82 01 BC */	beq lbl_803AD9D0
/* 803AD818 003A9478  38 00 00 00 */	li r0, 0
/* 803AD81C 003A947C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD820 003A9480  90 01 00 08 */	stw r0, 8(r1)
/* 803AD824 003A9484  38 80 00 17 */	li r4, 0x17
/* 803AD828 003A9488  38 A0 00 05 */	li r5, 5
/* 803AD82C 003A948C  48 02 B9 DD */	bl func_803D9208
/* 803AD830 003A9490  2C 03 00 00 */	cmpwi r3, 0
/* 803AD834 003A9494  41 82 00 28 */	beq lbl_803AD85C
/* 803AD838 003A9498  7F C3 F3 78 */	mr r3, r30
/* 803AD83C 003A949C  38 80 00 A2 */	li r4, 0xa2
/* 803AD840 003A94A0  38 A0 00 00 */	li r5, 0
/* 803AD844 003A94A4  48 03 01 99 */	bl func_803DD9DC
/* 803AD848 003A94A8  2C 03 00 00 */	cmpwi r3, 0
/* 803AD84C 003A94AC  40 82 00 24 */	bne lbl_803AD870
/* 803AD850 003A94B0  38 00 00 01 */	li r0, 1
/* 803AD854 003A94B4  90 01 00 08 */	stw r0, 8(r1)
/* 803AD858 003A94B8  48 00 00 18 */	b lbl_803AD870
lbl_803AD85C:
/* 803AD85C 003A94BC  7F C3 F3 78 */	mr r3, r30
/* 803AD860 003A94C0  38 80 00 A2 */	li r4, 0xa2
/* 803AD864 003A94C4  38 A0 00 00 */	li r5, 0
/* 803AD868 003A94C8  48 03 01 75 */	bl func_803DD9DC
/* 803AD86C 003A94CC  90 61 00 08 */	stw r3, 8(r1)
lbl_803AD870:
/* 803AD870 003A94D0  80 01 00 08 */	lwz r0, 8(r1)
/* 803AD874 003A94D4  2C 00 00 00 */	cmpwi r0, 0
/* 803AD878 003A94D8  41 82 01 58 */	beq lbl_803AD9D0
/* 803AD87C 003A94DC  7F C3 F3 78 */	mr r3, r30
/* 803AD880 003A94E0  38 80 00 A3 */	li r4, 0xa3
/* 803AD884 003A94E4  38 A0 00 00 */	li r5, 0
/* 803AD888 003A94E8  48 03 01 55 */	bl func_803DD9DC
/* 803AD88C 003A94EC  7C 78 1B 78 */	mr r24, r3
/* 803AD890 003A94F0  7F C3 F3 78 */	mr r3, r30
/* 803AD894 003A94F4  38 80 00 A2 */	li r4, 0xa2
/* 803AD898 003A94F8  38 A0 00 00 */	li r5, 0
/* 803AD89C 003A94FC  48 03 01 41 */	bl func_803DD9DC
/* 803AD8A0 003A9500  7C 03 C0 40 */	cmplw r3, r24
/* 803AD8A4 003A9504  41 82 01 2C */	beq lbl_803AD9D0
/* 803AD8A8 003A9508  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD8AC 003A950C  38 80 00 36 */	li r4, 0x36
/* 803AD8B0 003A9510  38 A0 00 05 */	li r5, 5
/* 803AD8B4 003A9514  48 02 B9 55 */	bl func_803D9208
/* 803AD8B8 003A9518  2C 03 00 FE */	cmpwi r3, 0xfe
/* 803AD8BC 003A951C  90 61 00 08 */	stw r3, 8(r1)
/* 803AD8C0 003A9520  7C 60 1B 78 */	mr r0, r3
/* 803AD8C4 003A9524  41 82 00 38 */	beq lbl_803AD8FC
/* 803AD8C8 003A9528  40 80 00 10 */	bge lbl_803AD8D8
/* 803AD8CC 003A952C  2C 03 00 FD */	cmpwi r3, 0xfd
/* 803AD8D0 003A9530  40 80 00 54 */	bge lbl_803AD924
/* 803AD8D4 003A9534  48 00 00 7C */	b lbl_803AD950
lbl_803AD8D8:
/* 803AD8D8 003A9538  2C 03 01 00 */	cmpwi r3, 0x100
/* 803AD8DC 003A953C  40 80 00 74 */	bge lbl_803AD950
/* 803AD8E0 003A9540  7F C3 F3 78 */	mr r3, r30
/* 803AD8E4 003A9544  38 80 00 A3 */	li r4, 0xa3
/* 803AD8E8 003A9548  38 A0 00 00 */	li r5, 0
/* 803AD8EC 003A954C  48 03 00 F1 */	bl func_803DD9DC
/* 803AD8F0 003A9550  90 61 00 08 */	stw r3, 8(r1)
/* 803AD8F4 003A9554  7C 60 1B 78 */	mr r0, r3
/* 803AD8F8 003A9558  48 00 00 58 */	b lbl_803AD950
lbl_803AD8FC:
/* 803AD8FC 003A955C  7F C3 F3 78 */	mr r3, r30
/* 803AD900 003A9560  38 80 00 A3 */	li r4, 0xa3
/* 803AD904 003A9564  38 A0 00 00 */	li r5, 0
/* 803AD908 003A9568  48 03 00 D5 */	bl func_803DD9DC
/* 803AD90C 003A956C  54 60 F8 7F */	rlwinm. r0, r3, 0x1f, 1, 0x1f
/* 803AD910 003A9570  90 01 00 08 */	stw r0, 8(r1)
/* 803AD914 003A9574  40 82 00 3C */	bne lbl_803AD950
/* 803AD918 003A9578  38 00 00 01 */	li r0, 1
/* 803AD91C 003A957C  90 01 00 08 */	stw r0, 8(r1)
/* 803AD920 003A9580  48 00 00 30 */	b lbl_803AD950
lbl_803AD924:
/* 803AD924 003A9584  7F C3 F3 78 */	mr r3, r30
/* 803AD928 003A9588  38 80 00 A3 */	li r4, 0xa3
/* 803AD92C 003A958C  38 A0 00 00 */	li r5, 0
/* 803AD930 003A9590  48 03 00 AD */	bl func_803DD9DC
/* 803AD934 003A9594  1C 63 00 19 */	mulli r3, r3, 0x19
/* 803AD938 003A9598  38 00 00 64 */	li r0, 0x64
/* 803AD93C 003A959C  7C 03 03 97 */	divwu. r0, r3, r0
/* 803AD940 003A95A0  90 01 00 08 */	stw r0, 8(r1)
/* 803AD944 003A95A4  40 82 00 0C */	bne lbl_803AD950
/* 803AD948 003A95A8  38 00 00 01 */	li r0, 1
/* 803AD94C 003A95AC  90 01 00 08 */	stw r0, 8(r1)
lbl_803AD950:
/* 803AD950 003A95B0  7F C3 F3 78 */	mr r3, r30
/* 803AD954 003A95B4  7C 05 03 78 */	mr r5, r0
/* 803AD958 003A95B8  38 80 00 A2 */	li r4, 0xa2
/* 803AD95C 003A95BC  48 03 07 A1 */	bl func_803DE0FC
/* 803AD960 003A95C0  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD964 003A95C4  38 80 00 17 */	li r4, 0x17
/* 803AD968 003A95C8  38 A0 00 05 */	li r5, 5
/* 803AD96C 003A95CC  48 02 B8 9D */	bl func_803D9208
/* 803AD970 003A95D0  2C 03 00 00 */	cmpwi r3, 0
/* 803AD974 003A95D4  40 82 00 58 */	bne lbl_803AD9CC
/* 803AD978 003A95D8  56 C0 10 3A */	slwi r0, r22, 2
/* 803AD97C 003A95DC  7C 75 02 14 */	add r3, r21, r0
/* 803AD980 003A95E0  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803AD984 003A95E4  4B FF DB 91 */	bl func_803AB514
/* 803AD988 003A95E8  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803AD98C 003A95EC  41 82 00 1C */	beq lbl_803AD9A8
/* 803AD990 003A95F0  7F E3 FB 78 */	mr r3, r31
/* 803AD994 003A95F4  7E C4 B3 78 */	mr r4, r22
/* 803AD998 003A95F8  38 C1 00 08 */	addi r6, r1, 8
/* 803AD99C 003A95FC  38 A0 00 5F */	li r5, 0x5f
/* 803AD9A0 003A9600  48 00 D7 F5 */	bl func_803BB194
/* 803AD9A4 003A9604  48 00 00 28 */	b lbl_803AD9CC
lbl_803AD9A8:
/* 803AD9A8 003A9608  7C 1C B8 00 */	cmpw r28, r23
/* 803AD9AC 003A960C  41 82 00 0C */	beq lbl_803AD9B8
/* 803AD9B0 003A9610  7C 1B B8 00 */	cmpw r27, r23
/* 803AD9B4 003A9614  40 82 00 18 */	bne lbl_803AD9CC
lbl_803AD9B8:
/* 803AD9B8 003A9618  80 C1 00 08 */	lwz r6, 8(r1)
/* 803AD9BC 003A961C  7F E3 FB 78 */	mr r3, r31
/* 803AD9C0 003A9620  7E C4 B3 78 */	mr r4, r22
/* 803AD9C4 003A9624  38 A0 00 2F */	li r5, 0x2f
/* 803AD9C8 003A9628  48 00 DD 61 */	bl func_803BB728
lbl_803AD9CC:
/* 803AD9CC 003A962C  3B A0 00 01 */	li r29, 1
lbl_803AD9D0:
/* 803AD9D0 003A9630  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803AD9D4 003A9634  38 80 00 2D */	li r4, 0x2d
/* 803AD9D8 003A9638  38 A0 00 05 */	li r5, 5
/* 803AD9DC 003A963C  48 02 B8 2D */	bl func_803D9208
/* 803AD9E0 003A9640  2C 03 00 00 */	cmpwi r3, 0
/* 803AD9E4 003A9644  41 82 00 38 */	beq lbl_803ADA1C
/* 803AD9E8 003A9648  7F C3 F3 78 */	mr r3, r30
/* 803AD9EC 003A964C  38 80 00 09 */	li r4, 9
/* 803AD9F0 003A9650  38 A0 00 00 */	li r5, 0
/* 803AD9F4 003A9654  48 02 FF E9 */	bl func_803DD9DC
/* 803AD9F8 003A9658  28 03 00 64 */	cmplwi r3, 0x64
/* 803AD9FC 003A965C  40 80 00 20 */	bge lbl_803ADA1C
/* 803ADA00 003A9660  2C 1D 00 01 */	cmpwi r29, 1
/* 803ADA04 003A9664  40 82 00 18 */	bne lbl_803ADA1C
/* 803ADA08 003A9668  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ADA0C 003A966C  38 80 00 38 */	li r4, 0x38
/* 803ADA10 003A9670  38 A0 00 05 */	li r5, 5
/* 803ADA14 003A9674  48 02 B7 F5 */	bl func_803D9208
/* 803ADA18 003A9678  7C 7A 1B 78 */	mr r26, r3
lbl_803ADA1C:
/* 803ADA1C 003A967C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ADA20 003A9680  38 80 00 2E */	li r4, 0x2e
/* 803ADA24 003A9684  38 A0 00 05 */	li r5, 5
/* 803ADA28 003A9688  48 02 B7 E1 */	bl func_803D9208
/* 803ADA2C 003A968C  2C 03 00 00 */	cmpwi r3, 0
/* 803ADA30 003A9690  41 82 00 50 */	beq lbl_803ADA80
/* 803ADA34 003A9694  7F C3 F3 78 */	mr r3, r30
/* 803ADA38 003A9698  38 80 00 09 */	li r4, 9
/* 803ADA3C 003A969C  38 A0 00 00 */	li r5, 0
/* 803ADA40 003A96A0  48 02 FF 9D */	bl func_803DD9DC
/* 803ADA44 003A96A4  28 03 00 64 */	cmplwi r3, 0x64
/* 803ADA48 003A96A8  41 80 00 38 */	blt lbl_803ADA80
/* 803ADA4C 003A96AC  7F C3 F3 78 */	mr r3, r30
/* 803ADA50 003A96B0  38 80 00 09 */	li r4, 9
/* 803ADA54 003A96B4  38 A0 00 00 */	li r5, 0
/* 803ADA58 003A96B8  48 02 FF 85 */	bl func_803DD9DC
/* 803ADA5C 003A96BC  28 03 00 C8 */	cmplwi r3, 0xc8
/* 803ADA60 003A96C0  40 80 00 20 */	bge lbl_803ADA80
/* 803ADA64 003A96C4  2C 1D 00 01 */	cmpwi r29, 1
/* 803ADA68 003A96C8  40 82 00 18 */	bne lbl_803ADA80
/* 803ADA6C 003A96CC  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ADA70 003A96D0  38 80 00 39 */	li r4, 0x39
/* 803ADA74 003A96D4  38 A0 00 05 */	li r5, 5
/* 803ADA78 003A96D8  48 02 B7 91 */	bl func_803D9208
/* 803ADA7C 003A96DC  7C 7A 1B 78 */	mr r26, r3
lbl_803ADA80:
/* 803ADA80 003A96E0  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ADA84 003A96E4  38 80 00 2F */	li r4, 0x2f
/* 803ADA88 003A96E8  38 A0 00 05 */	li r5, 5
/* 803ADA8C 003A96EC  48 02 B7 7D */	bl func_803D9208
/* 803ADA90 003A96F0  2C 03 00 00 */	cmpwi r3, 0
/* 803ADA94 003A96F4  41 82 00 38 */	beq lbl_803ADACC
/* 803ADA98 003A96F8  7F C3 F3 78 */	mr r3, r30
/* 803ADA9C 003A96FC  38 80 00 09 */	li r4, 9
/* 803ADAA0 003A9700  38 A0 00 00 */	li r5, 0
/* 803ADAA4 003A9704  48 02 FF 39 */	bl func_803DD9DC
/* 803ADAA8 003A9708  28 03 00 C8 */	cmplwi r3, 0xc8
/* 803ADAAC 003A970C  41 80 00 20 */	blt lbl_803ADACC
/* 803ADAB0 003A9710  2C 1D 00 01 */	cmpwi r29, 1
/* 803ADAB4 003A9714  40 82 00 18 */	bne lbl_803ADACC
/* 803ADAB8 003A9718  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ADABC 003A971C  38 80 00 3A */	li r4, 0x3a
/* 803ADAC0 003A9720  38 A0 00 05 */	li r5, 5
/* 803ADAC4 003A9724  48 02 B7 45 */	bl func_803D9208
/* 803ADAC8 003A9728  7C 7A 1B 78 */	mr r26, r3
lbl_803ADACC:
/* 803ADACC 003A972C  2C 1A 00 00 */	cmpwi r26, 0
/* 803ADAD0 003A9730  41 82 00 B0 */	beq lbl_803ADB80
/* 803ADAD4 003A9734  40 81 00 78 */	ble lbl_803ADB4C
/* 803ADAD8 003A9738  7F C3 F3 78 */	mr r3, r30
/* 803ADADC 003A973C  38 80 00 9A */	li r4, 0x9a
/* 803ADAE0 003A9740  38 A0 00 00 */	li r5, 0
/* 803ADAE4 003A9744  48 02 FE F9 */	bl func_803DD9DC
/* 803ADAE8 003A9748  28 03 00 0B */	cmplwi r3, 0xb
/* 803ADAEC 003A974C  40 82 00 08 */	bne lbl_803ADAF4
/* 803ADAF0 003A9750  3B 5A 00 01 */	addi r26, r26, 1
lbl_803ADAF4:
/* 803ADAF4 003A9754  82 95 23 CC */	lwz r20, 0x23cc(r21)
/* 803ADAF8 003A9758  7F C3 F3 78 */	mr r3, r30
/* 803ADAFC 003A975C  38 80 00 97 */	li r4, 0x97
/* 803ADB00 003A9760  38 A0 00 00 */	li r5, 0
/* 803ADB04 003A9764  48 02 FE D9 */	bl func_803DD9DC
/* 803ADB08 003A9768  7C 03 A0 40 */	cmplw r3, r20
/* 803ADB0C 003A976C  40 82 00 08 */	bne lbl_803ADB14
/* 803ADB10 003A9770  3B 5A 00 01 */	addi r26, r26, 1
lbl_803ADB14:
/* 803ADB14 003A9774  7F C3 F3 78 */	mr r3, r30
/* 803ADB18 003A9778  38 80 00 06 */	li r4, 6
/* 803ADB1C 003A977C  38 A0 00 00 */	li r5, 0
/* 803ADB20 003A9780  48 02 FE BD */	bl func_803DD9DC
/* 803ADB24 003A9784  90 61 00 08 */	stw r3, 8(r1)
/* 803ADB28 003A9788  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803ADB2C 003A978C  38 80 00 01 */	li r4, 1
/* 803ADB30 003A9790  38 A0 00 05 */	li r5, 5
/* 803ADB34 003A9794  48 02 B6 D5 */	bl func_803D9208
/* 803ADB38 003A9798  2C 03 00 34 */	cmpwi r3, 0x34
/* 803ADB3C 003A979C  40 82 00 10 */	bne lbl_803ADB4C
/* 803ADB40 003A97A0  1C 7A 00 96 */	mulli r3, r26, 0x96
/* 803ADB44 003A97A4  38 00 00 64 */	li r0, 0x64
/* 803ADB48 003A97A8  7F 43 03 D6 */	divw r26, r3, r0
lbl_803ADB4C:
/* 803ADB4C 003A97AC  7F C3 F3 78 */	mr r3, r30
/* 803ADB50 003A97B0  7F 45 D3 78 */	mr r5, r26
/* 803ADB54 003A97B4  38 80 00 09 */	li r4, 9
/* 803ADB58 003A97B8  48 03 05 A5 */	bl func_803DE0FC
/* 803ADB5C 003A97BC  7C 1C B8 00 */	cmpw r28, r23
/* 803ADB60 003A97C0  41 82 00 0C */	beq lbl_803ADB6C
/* 803ADB64 003A97C4  7C 1B B8 00 */	cmpw r27, r23
/* 803ADB68 003A97C8  40 82 00 18 */	bne lbl_803ADB80
lbl_803ADB6C:
/* 803ADB6C 003A97CC  7F E3 FB 78 */	mr r3, r31
/* 803ADB70 003A97D0  7E C4 B3 78 */	mr r4, r22
/* 803ADB74 003A97D4  7F 46 D3 78 */	mr r6, r26
/* 803ADB78 003A97D8  38 A0 00 2C */	li r5, 0x2c
/* 803ADB7C 003A97DC  48 00 DB AD */	bl func_803BB728
lbl_803ADB80:
/* 803ADB80 003A97E0  39 61 00 40 */	addi r11, r1, 0x40
/* 803ADB84 003A97E4  7F A3 EB 78 */	mr r3, r29
/* 803ADB88 003A97E8  4B E1 95 D1 */	bl _restgpr_20
/* 803ADB8C 003A97EC  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803ADB90 003A97F0  7C 08 03 A6 */	mtlr r0
/* 803ADB94 003A97F4  38 21 00 40 */	addi r1, r1, 0x40
/* 803ADB98 003A97F8  4E 80 00 20 */	blr 

.global func_803ADB9C
func_803ADB9C:
/* 803ADB9C 003A97FC  80 63 23 D0 */	lwz r3, 0x23d0(r3)
/* 803ADBA0 003A9800  4E 80 00 20 */	blr 

.global func_803ADBA4
func_803ADBA4:
/* 803ADBA4 003A9804  88 63 23 C0 */	lbz r3, 0x23c0(r3)
/* 803ADBA8 003A9808  4E 80 00 20 */	blr 

.global func_803ADBAC
func_803ADBAC:
/* 803ADBAC 003A980C  80 63 23 D8 */	lwz r3, 0x23d8(r3)
/* 803ADBB0 003A9810  4E 80 00 20 */	blr 

.global func_803ADBB4
func_803ADBB4:
/* 803ADBB4 003A9814  38 60 00 01 */	li r3, 1
/* 803ADBB8 003A9818  4E 80 00 20 */	blr 

.global func_803ADBBC
func_803ADBBC:
/* 803ADBBC 003A981C  38 60 00 00 */	li r3, 0
/* 803ADBC0 003A9820  4E 80 00 20 */	blr 

.global func_803ADBC4
func_803ADBC4:
/* 803ADBC4 003A9824  38 60 00 01 */	li r3, 1
/* 803ADBC8 003A9828  4E 80 00 20 */	blr 

.global func_803ADBCC
func_803ADBCC:
/* 803ADBCC 003A982C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803ADBD0 003A9830  7C 08 02 A6 */	mflr r0
/* 803ADBD4 003A9834  90 01 00 14 */	stw r0, 0x14(r1)
/* 803ADBD8 003A9838  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803ADBDC 003A983C  7C 9F 23 78 */	mr r31, r4
/* 803ADBE0 003A9840  93 C1 00 08 */	stw r30, 8(r1)
/* 803ADBE4 003A9844  7C 7E 1B 78 */	mr r30, r3
/* 803ADBE8 003A9848  80 A3 00 2C */	lwz r5, 0x2c(r3)
/* 803ADBEC 003A984C  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803ADBF0 003A9850  40 82 00 24 */	bne lbl_803ADC14
/* 803ADBF4 003A9854  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803ADBF8 003A9858  41 82 00 2C */	beq lbl_803ADC24
/* 803ADBFC 003A985C  54 80 10 3A */	slwi r0, r4, 2
/* 803ADC00 003A9860  7C 63 02 14 */	add r3, r3, r0
/* 803ADC04 003A9864  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ADC08 003A9868  4B FF D9 0D */	bl func_803AB514
/* 803ADC0C 003A986C  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803ADC10 003A9870  41 82 00 14 */	beq lbl_803ADC24
lbl_803ADC14:
/* 803ADC14 003A9874  57 E0 10 3A */	slwi r0, r31, 2
/* 803ADC18 003A9878  7C 7E 02 14 */	add r3, r30, r0
/* 803ADC1C 003A987C  80 63 00 78 */	lwz r3, 0x78(r3)
/* 803ADC20 003A9880  48 00 00 2C */	b lbl_803ADC4C
lbl_803ADC24:
/* 803ADC24 003A9884  80 1E 00 2C */	lwz r0, 0x2c(r30)
/* 803ADC28 003A9888  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803ADC2C 003A988C  41 82 00 14 */	beq lbl_803ADC40
/* 803ADC30 003A9890  57 E0 17 7A */	rlwinm r0, r31, 2, 0x1d, 0x1d
/* 803ADC34 003A9894  7C 7E 02 14 */	add r3, r30, r0
/* 803ADC38 003A9898  80 63 00 78 */	lwz r3, 0x78(r3)
/* 803ADC3C 003A989C  48 00 00 10 */	b lbl_803ADC4C
lbl_803ADC40:
/* 803ADC40 003A98A0  57 E0 10 3A */	slwi r0, r31, 2
/* 803ADC44 003A98A4  7C 7E 02 14 */	add r3, r30, r0
/* 803ADC48 003A98A8  80 63 00 78 */	lwz r3, 0x78(r3)
lbl_803ADC4C:
/* 803ADC4C 003A98AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803ADC50 003A98B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803ADC54 003A98B4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803ADC58 003A98B8  7C 08 03 A6 */	mtlr r0
/* 803ADC5C 003A98BC  38 21 00 10 */	addi r1, r1, 0x10
/* 803ADC60 003A98C0  4E 80 00 20 */	blr 

.global func_803ADC64
func_803ADC64:
/* 803ADC64 003A98C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803ADC68 003A98C8  7C 08 02 A6 */	mflr r0
/* 803ADC6C 003A98CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803ADC70 003A98D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803ADC74 003A98D4  7C 9F 23 78 */	mr r31, r4
/* 803ADC78 003A98D8  93 C1 00 08 */	stw r30, 8(r1)
/* 803ADC7C 003A98DC  7C 7E 1B 78 */	mr r30, r3
/* 803ADC80 003A98E0  7C A3 2B 78 */	mr r3, r5
/* 803ADC84 003A98E4  48 02 FC 9D */	bl func_803DD920
/* 803ADC88 003A98E8  7C 9E FA 14 */	add r4, r30, r31
/* 803ADC8C 003A98EC  88 04 23 DC */	lbz r0, 0x23dc(r4)
/* 803ADC90 003A98F0  7C 00 1B 78 */	or r0, r0, r3
/* 803ADC94 003A98F4  98 04 23 DC */	stb r0, 0x23dc(r4)
/* 803ADC98 003A98F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803ADC9C 003A98FC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803ADCA0 003A9900  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803ADCA4 003A9904  7C 08 03 A6 */	mtlr r0
/* 803ADCA8 003A9908  38 21 00 10 */	addi r1, r1, 0x10
/* 803ADCAC 003A990C  4E 80 00 20 */	blr 

.global func_803ADCB0
func_803ADCB0:
/* 803ADCB0 003A9910  80 63 23 F0 */	lwz r3, 0x23f0(r3)
/* 803ADCB4 003A9914  4E 80 00 20 */	blr 

.global func_803ADCB8
func_803ADCB8:
/* 803ADCB8 003A9918  90 83 24 04 */	stw r4, 0x2404(r3)
/* 803ADCBC 003A991C  4E 80 00 20 */	blr 

.global func_803ADCC0
func_803ADCC0:
/* 803ADCC0 003A9920  98 83 24 08 */	stb r4, 0x2408(r3)
/* 803ADCC4 003A9924  4E 80 00 20 */	blr 

.global func_803ADCC8
func_803ADCC8:
/* 803ADCC8 003A9928  54 80 10 3A */	slwi r0, r4, 2
/* 803ADCCC 003A992C  7C 63 02 14 */	add r3, r3, r0
/* 803ADCD0 003A9930  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ADCD4 003A9934  4B FF D8 50 */	b lbl_803AB524

.global func_803ADCD8
func_803ADCD8:
/* 803ADCD8 003A9938  88 63 23 E4 */	lbz r3, 0x23e4(r3)
/* 803ADCDC 003A993C  4E 80 00 20 */	blr 

.global func_803ADCE0
func_803ADCE0:
/* 803ADCE0 003A9940  98 83 23 E4 */	stb r4, 0x23e4(r3)
/* 803ADCE4 003A9944  4E 80 00 20 */	blr 

.global func_803ADCE8
func_803ADCE8:
/* 803ADCE8 003A9948  88 03 23 C3 */	lbz r0, 0x23c3(r3)
/* 803ADCEC 003A994C  50 80 1E F8 */	rlwimi r0, r4, 3, 0x1b, 0x1c
/* 803ADCF0 003A9950  98 03 23 C3 */	stb r0, 0x23c3(r3)
/* 803ADCF4 003A9954  4E 80 00 20 */	blr 

.global func_803ADCF8
func_803ADCF8:
/* 803ADCF8 003A9958  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803ADCFC 003A995C  7C 08 02 A6 */	mflr r0
/* 803ADD00 003A9960  90 01 00 24 */	stw r0, 0x24(r1)
/* 803ADD04 003A9964  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADD08 003A9968  4B E1 94 21 */	bl _savegpr_27
/* 803ADD0C 003A996C  7C 7B 1B 78 */	mr r27, r3
/* 803ADD10 003A9970  7C 9C 23 78 */	mr r28, r4
/* 803ADD14 003A9974  3B A0 00 00 */	li r29, 0
/* 803ADD18 003A9978  3B E0 00 00 */	li r31, 0
/* 803ADD1C 003A997C  48 00 00 24 */	b lbl_803ADD40
lbl_803ADD20:
/* 803ADD20 003A9980  7C 7B FA 14 */	add r3, r27, r31
/* 803ADD24 003A9984  57 BE 06 3E */	clrlwi r30, r29, 0x18
/* 803ADD28 003A9988  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ADD2C 003A998C  4B FF D7 E9 */	bl func_803AB514
/* 803ADD30 003A9990  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803ADD34 003A9994  3B FF 00 04 */	addi r31, r31, 4
/* 803ADD38 003A9998  7F DC 01 AE */	stbx r30, r28, r0
/* 803ADD3C 003A999C  3B BD 00 01 */	addi r29, r29, 1
lbl_803ADD40:
/* 803ADD40 003A99A0  80 1B 00 44 */	lwz r0, 0x44(r27)
/* 803ADD44 003A99A4  7C 1D 00 00 */	cmpw r29, r0
/* 803ADD48 003A99A8  41 80 FF D8 */	blt lbl_803ADD20
/* 803ADD4C 003A99AC  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADD50 003A99B0  4B E1 94 25 */	bl _restgpr_27
/* 803ADD54 003A99B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803ADD58 003A99B8  7C 08 03 A6 */	mtlr r0
/* 803ADD5C 003A99BC  38 21 00 20 */	addi r1, r1, 0x20
/* 803ADD60 003A99C0  4E 80 00 20 */	blr 

.global func_803ADD64
func_803ADD64:
/* 803ADD64 003A99C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803ADD68 003A99C8  7C 08 02 A6 */	mflr r0
/* 803ADD6C 003A99CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803ADD70 003A99D0  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADD74 003A99D4  4B E1 93 B9 */	bl _savegpr_28
/* 803ADD78 003A99D8  38 00 00 04 */	li r0, 4
/* 803ADD7C 003A99DC  7C 7C 1B 78 */	mr r28, r3
/* 803ADD80 003A99E0  7C 83 23 78 */	mr r3, r4
/* 803ADD84 003A99E4  38 A0 00 FF */	li r5, 0xff
/* 803ADD88 003A99E8  7C 09 03 A6 */	mtctr r0
lbl_803ADD8C:
/* 803ADD8C 003A99EC  98 A3 00 00 */	stb r5, 0(r3)
/* 803ADD90 003A99F0  38 63 00 01 */	addi r3, r3, 1
/* 803ADD94 003A99F4  42 00 FF F8 */	bdnz lbl_803ADD8C
/* 803ADD98 003A99F8  7C 9E 23 78 */	mr r30, r4
/* 803ADD9C 003A99FC  3B A0 00 00 */	li r29, 0
/* 803ADDA0 003A9A00  3B E0 00 00 */	li r31, 0
/* 803ADDA4 003A9A04  48 00 00 20 */	b lbl_803ADDC4
lbl_803ADDA8:
/* 803ADDA8 003A9A08  7C 7C FA 14 */	add r3, r28, r31
/* 803ADDAC 003A9A0C  80 63 00 34 */	lwz r3, 0x34(r3)
/* 803ADDB0 003A9A10  4B FF D7 65 */	bl func_803AB514
/* 803ADDB4 003A9A14  98 7E 00 00 */	stb r3, 0(r30)
/* 803ADDB8 003A9A18  3B BD 00 01 */	addi r29, r29, 1
/* 803ADDBC 003A9A1C  3B FF 00 04 */	addi r31, r31, 4
/* 803ADDC0 003A9A20  3B DE 00 01 */	addi r30, r30, 1
lbl_803ADDC4:
/* 803ADDC4 003A9A24  80 1C 00 44 */	lwz r0, 0x44(r28)
/* 803ADDC8 003A9A28  7C 1D 00 00 */	cmpw r29, r0
/* 803ADDCC 003A9A2C  41 80 FF DC */	blt lbl_803ADDA8
/* 803ADDD0 003A9A30  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADDD4 003A9A34  4B E1 93 A5 */	bl _restgpr_28
/* 803ADDD8 003A9A38  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803ADDDC 003A9A3C  7C 08 03 A6 */	mtlr r0
/* 803ADDE0 003A9A40  38 21 00 20 */	addi r1, r1, 0x20
/* 803ADDE4 003A9A44  4E 80 00 20 */	blr 

.global func_803ADDE8
func_803ADDE8:
/* 803ADDE8 003A9A48  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803ADDEC 003A9A4C  7C 08 02 A6 */	mflr r0
/* 803ADDF0 003A9A50  90 01 00 24 */	stw r0, 0x24(r1)
/* 803ADDF4 003A9A54  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADDF8 003A9A58  4B E1 93 39 */	bl _savegpr_29
/* 803ADDFC 003A9A5C  7C 9E 23 78 */	mr r30, r4
/* 803ADE00 003A9A60  7C 7D 1B 78 */	mr r29, r3
/* 803ADE04 003A9A64  7F C3 F3 78 */	mr r3, r30
/* 803ADE08 003A9A68  48 02 C2 C9 */	bl func_803DA0D0
/* 803ADE0C 003A9A6C  54 7F 06 3E */	clrlwi r31, r3, 0x18
/* 803ADE10 003A9A70  7F A3 EB 78 */	mr r3, r29
/* 803ADE14 003A9A74  48 02 E9 F1 */	bl func_803DC804
/* 803ADE18 003A9A78  3C 80 80 40 */	lis r4, lbl_80405168@ha
/* 803ADE1C 003A9A7C  54 65 15 BA */	rlwinm r5, r3, 2, 0x16, 0x1d
/* 803ADE20 003A9A80  38 84 51 68 */	addi r4, r4, lbl_80405168@l
/* 803ADE24 003A9A84  7F C3 F3 78 */	mr r3, r30
/* 803ADE28 003A9A88  7C 04 F8 AE */	lbzx r0, r4, r31
/* 803ADE2C 003A9A8C  7F E0 29 D6 */	mullw r31, r0, r5
/* 803ADE30 003A9A90  48 02 C2 C9 */	bl func_803DA0F8
/* 803ADE34 003A9A94  7C 1F 18 40 */	cmplw r31, r3
/* 803ADE38 003A9A98  40 81 00 08 */	ble lbl_803ADE40
/* 803ADE3C 003A9A9C  7C 7F 1B 78 */	mr r31, r3
lbl_803ADE40:
/* 803ADE40 003A9AA0  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADE44 003A9AA4  7F E3 FB 78 */	mr r3, r31
/* 803ADE48 003A9AA8  4B E1 93 35 */	bl _restgpr_29
/* 803ADE4C 003A9AAC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803ADE50 003A9AB0  7C 08 03 A6 */	mtlr r0
/* 803ADE54 003A9AB4  38 21 00 20 */	addi r1, r1, 0x20
/* 803ADE58 003A9AB8  4E 80 00 20 */	blr 

.global func_803ADE5C
func_803ADE5C:
/* 803ADE5C 003A9ABC  4E 80 00 20 */	blr 

.global func_803ADE60
func_803ADE60:
/* 803ADE60 003A9AC0  80 63 00 60 */	lwz r3, 0x60(r3)
/* 803ADE64 003A9AC4  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 803ADE68 003A9AC8  48 02 B9 7C */	b lbl_803D97E4

.global func_803ADE6C
func_803ADE6C:
/* 803ADE6C 003A9ACC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803ADE70 003A9AD0  7C 08 02 A6 */	mflr r0
/* 803ADE74 003A9AD4  90 01 00 44 */	stw r0, 0x44(r1)
/* 803ADE78 003A9AD8  39 61 00 40 */	addi r11, r1, 0x40
/* 803ADE7C 003A9ADC  4B E1 92 B5 */	bl _savegpr_29
/* 803ADE80 003A9AE0  7C BF 2B 78 */	mr r31, r5
/* 803ADE84 003A9AE4  7C 7D 1B 78 */	mr r29, r3
/* 803ADE88 003A9AE8  7C 9E 23 78 */	mr r30, r4
/* 803ADE8C 003A9AEC  38 61 00 08 */	addi r3, r1, 8
/* 803ADE90 003A9AF0  7F E4 FB 78 */	mr r4, r31
/* 803ADE94 003A9AF4  48 00 00 5D */	bl func_803ADEF0
/* 803ADE98 003A9AF8  7F A3 EB 78 */	mr r3, r29
/* 803ADE9C 003A9AFC  7F E4 FB 78 */	mr r4, r31
/* 803ADEA0 003A9B00  38 A0 00 00 */	li r5, 0
/* 803ADEA4 003A9B04  48 00 00 9D */	bl func_803ADF40
/* 803ADEA8 003A9B08  7F A3 EB 78 */	mr r3, r29
/* 803ADEAC 003A9B0C  7F E4 FB 78 */	mr r4, r31
/* 803ADEB0 003A9B10  7F C5 F3 78 */	mr r5, r30
/* 803ADEB4 003A9B14  38 C0 00 00 */	li r6, 0
/* 803ADEB8 003A9B18  48 00 04 C1 */	bl func_803AE378
/* 803ADEBC 003A9B1C  7F A3 EB 78 */	mr r3, r29
/* 803ADEC0 003A9B20  7F C4 F3 78 */	mr r4, r30
/* 803ADEC4 003A9B24  7F E5 FB 78 */	mr r5, r31
/* 803ADEC8 003A9B28  48 00 14 6D */	bl func_803AF334
/* 803ADECC 003A9B2C  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803ADED0 003A9B30  38 81 00 08 */	addi r4, r1, 8
/* 803ADED4 003A9B34  48 02 BB 71 */	bl func_803D9A44
/* 803ADED8 003A9B38  39 61 00 40 */	addi r11, r1, 0x40
/* 803ADEDC 003A9B3C  4B E1 92 A1 */	bl _restgpr_29
/* 803ADEE0 003A9B40  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803ADEE4 003A9B44  7C 08 03 A6 */	mtlr r0
/* 803ADEE8 003A9B48  38 21 00 40 */	addi r1, r1, 0x40
/* 803ADEEC 003A9B4C  4E 80 00 20 */	blr 

.global func_803ADEF0
func_803ADEF0:
/* 803ADEF0 003A9B50  88 A4 00 00 */	lbz r5, 0(r4)
/* 803ADEF4 003A9B54  38 00 00 03 */	li r0, 3
/* 803ADEF8 003A9B58  7C 86 23 78 */	mr r6, r4
/* 803ADEFC 003A9B5C  7C 67 1B 78 */	mr r7, r3
/* 803ADF00 003A9B60  98 A3 00 00 */	stb r5, 0(r3)
/* 803ADF04 003A9B64  88 A4 00 01 */	lbz r5, 1(r4)
/* 803ADF08 003A9B68  98 A3 00 01 */	stb r5, 1(r3)
/* 803ADF0C 003A9B6C  A0 A4 00 02 */	lhz r5, 2(r4)
/* 803ADF10 003A9B70  B0 A3 00 02 */	sth r5, 2(r3)
/* 803ADF14 003A9B74  7C 09 03 A6 */	mtctr r0
lbl_803ADF18:
/* 803ADF18 003A9B78  80 A6 00 04 */	lwz r5, 4(r6)
/* 803ADF1C 003A9B7C  84 06 00 08 */	lwzu r0, 8(r6)
/* 803ADF20 003A9B80  90 A7 00 04 */	stw r5, 4(r7)
/* 803ADF24 003A9B84  94 07 00 08 */	stwu r0, 8(r7)
/* 803ADF28 003A9B88  42 00 FF F0 */	bdnz lbl_803ADF18
/* 803ADF2C 003A9B8C  80 04 00 1C */	lwz r0, 0x1c(r4)
/* 803ADF30 003A9B90  90 03 00 1C */	stw r0, 0x1c(r3)
/* 803ADF34 003A9B94  80 04 00 20 */	lwz r0, 0x20(r4)
/* 803ADF38 003A9B98  90 03 00 20 */	stw r0, 0x20(r3)
/* 803ADF3C 003A9B9C  4E 80 00 20 */	blr 

.global func_803ADF40
func_803ADF40:
/* 803ADF40 003A9BA0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803ADF44 003A9BA4  7C 08 02 A6 */	mflr r0
/* 803ADF48 003A9BA8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803ADF4C 003A9BAC  39 61 00 20 */	addi r11, r1, 0x20
/* 803ADF50 003A9BB0  4B E1 91 DD */	bl _savegpr_28
/* 803ADF54 003A9BB4  88 C4 00 01 */	lbz r6, 1(r4)
/* 803ADF58 003A9BB8  7C 7C 1B 78 */	mr r28, r3
/* 803ADF5C 003A9BBC  83 E3 00 2C */	lwz r31, 0x2c(r3)
/* 803ADF60 003A9BC0  7C 9D 23 78 */	mr r29, r4
/* 803ADF64 003A9BC4  54 C0 06 31 */	rlwinm. r0, r6, 0, 0x18, 0x18
/* 803ADF68 003A9BC8  7C BE 2B 78 */	mr r30, r5
/* 803ADF6C 003A9BCC  40 82 03 F4 */	bne lbl_803AE360
/* 803ADF70 003A9BD0  54 C0 06 73 */	rlwinm. r0, r6, 0, 0x19, 0x19
/* 803ADF74 003A9BD4  41 82 00 7C */	beq lbl_803ADFF0
/* 803ADF78 003A9BD8  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803ADF7C 003A9BDC  41 82 00 4C */	beq lbl_803ADFC8
/* 803ADF80 003A9BE0  A0 04 00 02 */	lhz r0, 2(r4)
/* 803ADF84 003A9BE4  28 00 01 20 */	cmplwi r0, 0x120
/* 803ADF88 003A9BE8  40 82 00 40 */	bne lbl_803ADFC8
/* 803ADF8C 003A9BEC  80 C4 00 04 */	lwz r6, 4(r4)
/* 803ADF90 003A9BF0  38 E0 51 40 */	li r7, 0x5140
/* 803ADF94 003A9BF4  80 04 00 20 */	lwz r0, 0x20(r4)
/* 803ADF98 003A9BF8  B0 E4 00 02 */	sth r7, 2(r4)
/* 803ADF9C 003A9BFC  90 C4 00 08 */	stw r6, 8(r4)
/* 803ADFA0 003A9C00  7C 04 2A 78 */	xor r4, r0, r5
/* 803ADFA4 003A9C04  4B FF ED 41 */	bl func_803ACCE4
/* 803ADFA8 003A9C08  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803ADFAC 003A9C0C  41 82 00 10 */	beq lbl_803ADFBC
/* 803ADFB0 003A9C10  38 00 00 01 */	li r0, 1
/* 803ADFB4 003A9C14  90 1D 00 04 */	stw r0, 4(r29)
/* 803ADFB8 003A9C18  48 00 03 A8 */	b lbl_803AE360
lbl_803ADFBC:
/* 803ADFBC 003A9C1C  38 00 00 00 */	li r0, 0
/* 803ADFC0 003A9C20  90 1D 00 04 */	stw r0, 4(r29)
/* 803ADFC4 003A9C24  48 00 03 9C */	b lbl_803AE360
lbl_803ADFC8:
/* 803ADFC8 003A9C28  80 04 00 20 */	lwz r0, 0x20(r4)
/* 803ADFCC 003A9C2C  7F 83 E3 78 */	mr r3, r28
/* 803ADFD0 003A9C30  7C 04 2A 78 */	xor r4, r0, r5
/* 803ADFD4 003A9C34  4B FF ED 11 */	bl func_803ACCE4
/* 803ADFD8 003A9C38  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803ADFDC 003A9C3C  41 82 03 84 */	beq lbl_803AE360
/* 803ADFE0 003A9C40  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803ADFE4 003A9C44  38 03 00 01 */	addi r0, r3, 1
/* 803ADFE8 003A9C48  B0 1D 00 02 */	sth r0, 2(r29)
/* 803ADFEC 003A9C4C  48 00 03 74 */	b lbl_803AE360
lbl_803ADFF0:
/* 803ADFF0 003A9C50  54 C0 06 BE */	clrlwi r0, r6, 0x1a
/* 803ADFF4 003A9C54  28 00 00 3C */	cmplwi r0, 0x3c
/* 803ADFF8 003A9C58  41 81 03 54 */	bgt lbl_803AE34C
/* 803ADFFC 003A9C5C  3C C0 80 47 */	lis r6, lbl_80473100@ha
/* 803AE000 003A9C60  54 00 10 3A */	slwi r0, r0, 2
/* 803AE004 003A9C64  38 C6 31 00 */	addi r6, r6, lbl_80473100@l
/* 803AE008 003A9C68  7C C6 00 2E */	lwzx r6, r6, r0
/* 803AE00C 003A9C6C  7C C9 03 A6 */	mtctr r6
/* 803AE010 003A9C70  4E 80 04 20 */	bctr 
/* 803AE014 003A9C74  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803AE018 003A9C78  41 82 00 44 */	beq lbl_803AE05C
/* 803AE01C 003A9C7C  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE020 003A9C80  48 00 13 D1 */	bl func_803AF3F0
/* 803AE024 003A9C84  80 1D 00 04 */	lwz r0, 4(r29)
/* 803AE028 003A9C88  B0 7D 00 02 */	sth r3, 2(r29)
/* 803AE02C 003A9C8C  7F 83 E3 78 */	mr r3, r28
/* 803AE030 003A9C90  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE034 003A9C94  7C 04 F2 78 */	xor r4, r0, r30
/* 803AE038 003A9C98  4B FF EC AD */	bl func_803ACCE4
/* 803AE03C 003A9C9C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE040 003A9CA0  41 82 00 10 */	beq lbl_803AE050
/* 803AE044 003A9CA4  38 00 00 01 */	li r0, 1
/* 803AE048 003A9CA8  90 1D 00 08 */	stw r0, 8(r29)
/* 803AE04C 003A9CAC  48 00 03 14 */	b lbl_803AE360
lbl_803AE050:
/* 803AE050 003A9CB0  38 00 00 00 */	li r0, 0
/* 803AE054 003A9CB4  90 1D 00 08 */	stw r0, 8(r29)
/* 803AE058 003A9CB8  48 00 03 08 */	b lbl_803AE360
lbl_803AE05C:
/* 803AE05C 003A9CBC  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE060 003A9CC0  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE064 003A9CC4  7C 04 2A 78 */	xor r4, r0, r5
/* 803AE068 003A9CC8  4B FF EC 7D */	bl func_803ACCE4
/* 803AE06C 003A9CCC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE070 003A9CD0  41 82 02 F0 */	beq lbl_803AE360
/* 803AE074 003A9CD4  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE078 003A9CD8  38 03 00 01 */	addi r0, r3, 1
/* 803AE07C 003A9CDC  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE080 003A9CE0  48 00 02 E0 */	b lbl_803AE360
/* 803AE084 003A9CE4  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803AE088 003A9CE8  40 82 00 40 */	bne lbl_803AE0C8
/* 803AE08C 003A9CEC  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE090 003A9CF0  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE094 003A9CF4  7C 04 2A 78 */	xor r4, r0, r5
/* 803AE098 003A9CF8  4B FF EC 4D */	bl func_803ACCE4
/* 803AE09C 003A9CFC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE0A0 003A9D00  41 82 02 C0 */	beq lbl_803AE360
/* 803AE0A4 003A9D04  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE0A8 003A9D08  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 803AE0AC 003A9D0C  38 03 00 01 */	addi r0, r3, 1
/* 803AE0B0 003A9D10  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE0B4 003A9D14  41 82 02 AC */	beq lbl_803AE360
/* 803AE0B8 003A9D18  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803AE0BC 003A9D1C  38 03 00 01 */	addi r0, r3, 1
/* 803AE0C0 003A9D20  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE0C4 003A9D24  48 00 02 9C */	b lbl_803AE360
lbl_803AE0C8:
/* 803AE0C8 003A9D28  88 04 00 00 */	lbz r0, 0(r4)
/* 803AE0CC 003A9D2C  28 00 00 14 */	cmplwi r0, 0x14
/* 803AE0D0 003A9D30  40 82 00 14 */	bne lbl_803AE0E4
/* 803AE0D4 003A9D34  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE0D8 003A9D38  38 03 00 01 */	addi r0, r3, 1
/* 803AE0DC 003A9D3C  B0 04 00 02 */	sth r0, 2(r4)
/* 803AE0E0 003A9D40  48 00 02 80 */	b lbl_803AE360
lbl_803AE0E4:
/* 803AE0E4 003A9D44  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE0E8 003A9D48  28 03 02 60 */	cmplwi r3, 0x260
/* 803AE0EC 003A9D4C  41 82 02 74 */	beq lbl_803AE360
/* 803AE0F0 003A9D50  28 03 02 64 */	cmplwi r3, 0x264
/* 803AE0F4 003A9D54  41 82 02 6C */	beq lbl_803AE360
/* 803AE0F8 003A9D58  80 0D B3 08 */	lwz r0, lbl_806405C8-_SDA_BASE_(r13)
/* 803AE0FC 003A9D5C  2C 00 00 00 */	cmpwi r0, 0
/* 803AE100 003A9D60  40 82 02 60 */	bne lbl_803AE360
/* 803AE104 003A9D64  38 03 00 01 */	addi r0, r3, 1
/* 803AE108 003A9D68  B0 04 00 02 */	sth r0, 2(r4)
/* 803AE10C 003A9D6C  48 00 02 54 */	b lbl_803AE360
/* 803AE110 003A9D70  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803AE114 003A9D74  41 82 00 44 */	beq lbl_803AE158
/* 803AE118 003A9D78  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE11C 003A9D7C  48 00 12 D5 */	bl func_803AF3F0
/* 803AE120 003A9D80  80 1D 00 08 */	lwz r0, 8(r29)
/* 803AE124 003A9D84  B0 7D 00 02 */	sth r3, 2(r29)
/* 803AE128 003A9D88  7F 83 E3 78 */	mr r3, r28
/* 803AE12C 003A9D8C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE130 003A9D90  7C 04 F2 78 */	xor r4, r0, r30
/* 803AE134 003A9D94  4B FF EB B1 */	bl func_803ACCE4
/* 803AE138 003A9D98  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE13C 003A9D9C  41 82 00 10 */	beq lbl_803AE14C
/* 803AE140 003A9DA0  38 00 00 01 */	li r0, 1
/* 803AE144 003A9DA4  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803AE148 003A9DA8  48 00 02 18 */	b lbl_803AE360
lbl_803AE14C:
/* 803AE14C 003A9DAC  38 00 00 00 */	li r0, 0
/* 803AE150 003A9DB0  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803AE154 003A9DB4  48 00 02 0C */	b lbl_803AE360
lbl_803AE158:
/* 803AE158 003A9DB8  80 04 00 08 */	lwz r0, 8(r4)
/* 803AE15C 003A9DBC  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE160 003A9DC0  7C 04 2A 78 */	xor r4, r0, r5
/* 803AE164 003A9DC4  4B FF EB 81 */	bl func_803ACCE4
/* 803AE168 003A9DC8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE16C 003A9DCC  41 82 01 F4 */	beq lbl_803AE360
/* 803AE170 003A9DD0  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE174 003A9DD4  38 03 00 01 */	addi r0, r3, 1
/* 803AE178 003A9DD8  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE17C 003A9DDC  48 00 01 E4 */	b lbl_803AE360
/* 803AE180 003A9DE0  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803AE184 003A9DE4  40 82 00 40 */	bne lbl_803AE1C4
/* 803AE188 003A9DE8  80 04 00 08 */	lwz r0, 8(r4)
/* 803AE18C 003A9DEC  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE190 003A9DF0  7C 04 2A 78 */	xor r4, r0, r5
/* 803AE194 003A9DF4  4B FF EB 51 */	bl func_803ACCE4
/* 803AE198 003A9DF8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE19C 003A9DFC  41 82 01 C4 */	beq lbl_803AE360
/* 803AE1A0 003A9E00  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE1A4 003A9E04  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 803AE1A8 003A9E08  38 03 00 01 */	addi r0, r3, 1
/* 803AE1AC 003A9E0C  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE1B0 003A9E10  41 82 01 B0 */	beq lbl_803AE360
/* 803AE1B4 003A9E14  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803AE1B8 003A9E18  38 03 00 01 */	addi r0, r3, 1
/* 803AE1BC 003A9E1C  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE1C0 003A9E20  48 00 01 A0 */	b lbl_803AE360
lbl_803AE1C4:
/* 803AE1C4 003A9E24  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE1C8 003A9E28  38 03 00 01 */	addi r0, r3, 1
/* 803AE1CC 003A9E2C  B0 04 00 02 */	sth r0, 2(r4)
/* 803AE1D0 003A9E30  48 00 01 90 */	b lbl_803AE360
/* 803AE1D4 003A9E34  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803AE1D8 003A9E38  41 82 00 14 */	beq lbl_803AE1EC
/* 803AE1DC 003A9E3C  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE1E0 003A9E40  38 03 00 01 */	addi r0, r3, 1
/* 803AE1E4 003A9E44  B0 04 00 02 */	sth r0, 2(r4)
/* 803AE1E8 003A9E48  48 00 01 78 */	b lbl_803AE360
lbl_803AE1EC:
/* 803AE1EC 003A9E4C  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE1F0 003A9E50  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE1F4 003A9E54  7C 04 2A 78 */	xor r4, r0, r5
/* 803AE1F8 003A9E58  4B FF EA ED */	bl func_803ACCE4
/* 803AE1FC 003A9E5C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE200 003A9E60  41 82 00 50 */	beq lbl_803AE250
/* 803AE204 003A9E64  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE208 003A9E68  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 803AE20C 003A9E6C  38 03 00 03 */	addi r0, r3, 3
/* 803AE210 003A9E70  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE214 003A9E74  41 82 00 10 */	beq lbl_803AE224
/* 803AE218 003A9E78  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803AE21C 003A9E7C  38 03 00 02 */	addi r0, r3, 2
/* 803AE220 003A9E80  B0 1D 00 02 */	sth r0, 2(r29)
lbl_803AE224:
/* 803AE224 003A9E84  80 1D 00 08 */	lwz r0, 8(r29)
/* 803AE228 003A9E88  7F 83 E3 78 */	mr r3, r28
/* 803AE22C 003A9E8C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE230 003A9E90  7C 04 F2 78 */	xor r4, r0, r30
/* 803AE234 003A9E94  4B FF EA B1 */	bl func_803ACCE4
/* 803AE238 003A9E98  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE23C 003A9E9C  41 82 01 24 */	beq lbl_803AE360
/* 803AE240 003A9EA0  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE244 003A9EA4  38 03 00 01 */	addi r0, r3, 1
/* 803AE248 003A9EA8  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE24C 003A9EAC  48 00 01 14 */	b lbl_803AE360
lbl_803AE250:
/* 803AE250 003A9EB0  80 1D 00 08 */	lwz r0, 8(r29)
/* 803AE254 003A9EB4  7F 83 E3 78 */	mr r3, r28
/* 803AE258 003A9EB8  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE25C 003A9EBC  7C 04 F2 78 */	xor r4, r0, r30
/* 803AE260 003A9EC0  4B FF EA 85 */	bl func_803ACCE4
/* 803AE264 003A9EC4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE268 003A9EC8  41 82 00 F8 */	beq lbl_803AE360
/* 803AE26C 003A9ECC  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE270 003A9ED0  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 803AE274 003A9ED4  38 03 00 01 */	addi r0, r3, 1
/* 803AE278 003A9ED8  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE27C 003A9EDC  41 82 00 E4 */	beq lbl_803AE360
/* 803AE280 003A9EE0  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803AE284 003A9EE4  38 03 00 01 */	addi r0, r3, 1
/* 803AE288 003A9EE8  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE28C 003A9EEC  48 00 00 D4 */	b lbl_803AE360
/* 803AE290 003A9EF0  57 E0 03 19 */	rlwinm. r0, r31, 0, 0xc, 0xc
/* 803AE294 003A9EF4  41 82 00 14 */	beq lbl_803AE2A8
/* 803AE298 003A9EF8  A0 64 00 02 */	lhz r3, 2(r4)
/* 803AE29C 003A9EFC  38 03 00 01 */	addi r0, r3, 1
/* 803AE2A0 003A9F00  B0 04 00 02 */	sth r0, 2(r4)
/* 803AE2A4 003A9F04  48 00 00 BC */	b lbl_803AE360
lbl_803AE2A8:
/* 803AE2A8 003A9F08  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE2AC 003A9F0C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE2B0 003A9F10  7C 04 2A 78 */	xor r4, r0, r5
/* 803AE2B4 003A9F14  4B FF EA 31 */	bl func_803ACCE4
/* 803AE2B8 003A9F18  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE2BC 003A9F1C  41 82 00 50 */	beq lbl_803AE30C
/* 803AE2C0 003A9F20  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE2C4 003A9F24  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 803AE2C8 003A9F28  38 03 00 03 */	addi r0, r3, 3
/* 803AE2CC 003A9F2C  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE2D0 003A9F30  41 82 00 10 */	beq lbl_803AE2E0
/* 803AE2D4 003A9F34  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803AE2D8 003A9F38  38 03 00 02 */	addi r0, r3, 2
/* 803AE2DC 003A9F3C  B0 1D 00 02 */	sth r0, 2(r29)
lbl_803AE2E0:
/* 803AE2E0 003A9F40  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 803AE2E4 003A9F44  7F 83 E3 78 */	mr r3, r28
/* 803AE2E8 003A9F48  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE2EC 003A9F4C  7C 04 F2 78 */	xor r4, r0, r30
/* 803AE2F0 003A9F50  4B FF E9 F5 */	bl func_803ACCE4
/* 803AE2F4 003A9F54  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE2F8 003A9F58  41 82 00 68 */	beq lbl_803AE360
/* 803AE2FC 003A9F5C  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE300 003A9F60  38 03 00 01 */	addi r0, r3, 1
/* 803AE304 003A9F64  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE308 003A9F68  48 00 00 58 */	b lbl_803AE360
lbl_803AE30C:
/* 803AE30C 003A9F6C  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 803AE310 003A9F70  7F 83 E3 78 */	mr r3, r28
/* 803AE314 003A9F74  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803AE318 003A9F78  7C 04 F2 78 */	xor r4, r0, r30
/* 803AE31C 003A9F7C  4B FF E9 C9 */	bl func_803ACCE4
/* 803AE320 003A9F80  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AE324 003A9F84  41 82 00 3C */	beq lbl_803AE360
/* 803AE328 003A9F88  A0 7D 00 02 */	lhz r3, 2(r29)
/* 803AE32C 003A9F8C  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 803AE330 003A9F90  38 03 00 01 */	addi r0, r3, 1
/* 803AE334 003A9F94  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE338 003A9F98  41 82 00 28 */	beq lbl_803AE360
/* 803AE33C 003A9F9C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803AE340 003A9FA0  38 03 00 01 */	addi r0, r3, 1
/* 803AE344 003A9FA4  B0 1D 00 02 */	sth r0, 2(r29)
/* 803AE348 003A9FA8  48 00 00 18 */	b lbl_803AE360
lbl_803AE34C:
/* 803AE34C 003A9FAC  3C 80 80 47 */	lis r4, lbl_804730E8@ha
/* 803AE350 003A9FB0  38 60 00 00 */	li r3, 0
/* 803AE354 003A9FB4  38 84 30 E8 */	addi r4, r4, lbl_804730E8@l
/* 803AE358 003A9FB8  4C C6 31 82 */	crclr 6
/* 803AE35C 003A9FBC  48 02 B5 41 */	bl func_803D989C
lbl_803AE360:
/* 803AE360 003A9FC0  39 61 00 20 */	addi r11, r1, 0x20
/* 803AE364 003A9FC4  4B E1 8E 15 */	bl _restgpr_28
/* 803AE368 003A9FC8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AE36C 003A9FCC  7C 08 03 A6 */	mtlr r0
/* 803AE370 003A9FD0  38 21 00 20 */	addi r1, r1, 0x20
/* 803AE374 003A9FD4  4E 80 00 20 */	blr 

.global func_803AE378
func_803AE378:
/* 803AE378 003A9FD8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AE37C 003A9FDC  7C 08 02 A6 */	mflr r0
/* 803AE380 003A9FE0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AE384 003A9FE4  39 61 00 20 */	addi r11, r1, 0x20
/* 803AE388 003A9FE8  4B E1 8D A9 */	bl _savegpr_29
/* 803AE38C 003A9FEC  A0 E4 00 02 */	lhz r7, 2(r4)
/* 803AE390 003A9FF0  7C 7D 1B 78 */	mr r29, r3
/* 803AE394 003A9FF4  7C 9E 23 78 */	mr r30, r4
/* 803AE398 003A9FF8  7C A8 2B 78 */	mr r8, r5
/* 803AE39C 003A9FFC  28 07 51 40 */	cmplwi r7, 0x5140
/* 803AE3A0 003AA000  7C DF 33 78 */	mr r31, r6
/* 803AE3A4 003AA004  40 82 00 28 */	bne lbl_803AE3CC
/* 803AE3A8 003AA008  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE3AC 003AA00C  7D 06 43 78 */	mr r6, r8
/* 803AE3B0 003AA010  38 80 00 00 */	li r4, 0
/* 803AE3B4 003AA014  48 00 0D 25 */	bl func_803AF0D8
/* 803AE3B8 003AA018  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE3BC 003AA01C  38 80 00 01 */	li r4, 1
/* 803AE3C0 003AA020  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE3C4 003AA024  48 03 15 89 */	bl func_803DF94C
/* 803AE3C8 003AA028  48 00 0C F8 */	b lbl_803AF0C0
lbl_803AE3CC:
/* 803AE3CC 003AA02C  88 04 00 01 */	lbz r0, 1(r4)
/* 803AE3D0 003AA030  54 00 06 BE */	clrlwi r0, r0, 0x1a
/* 803AE3D4 003AA034  28 00 00 3C */	cmplwi r0, 0x3c
/* 803AE3D8 003AA038  41 81 0C D4 */	bgt lbl_803AF0AC
/* 803AE3DC 003AA03C  3C A0 80 47 */	lis r5, lbl_804731F4@ha
/* 803AE3E0 003AA040  54 00 10 3A */	slwi r0, r0, 2
/* 803AE3E4 003AA044  38 A5 31 F4 */	addi r5, r5, lbl_804731F4@l
/* 803AE3E8 003AA048  7C A5 00 2E */	lwzx r5, r5, r0
/* 803AE3EC 003AA04C  7C A9 03 A6 */	mtctr r5
/* 803AE3F0 003AA050  4E 80 04 20 */	bctr 
/* 803AE3F4 003AA054  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803AE3F8 003AA058  54 00 03 19 */	rlwinm. r0, r0, 0, 0xc, 0xc
/* 803AE3FC 003AA05C  41 82 0C C4 */	beq lbl_803AF0C0
/* 803AE400 003AA060  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE404 003AA064  7D 06 43 78 */	mr r6, r8
/* 803AE408 003AA068  38 80 00 00 */	li r4, 0
/* 803AE40C 003AA06C  48 00 0C CD */	bl func_803AF0D8
/* 803AE410 003AA070  48 00 0C B0 */	b lbl_803AF0C0
/* 803AE414 003AA074  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE418 003AA078  38 80 00 00 */	li r4, 0
/* 803AE41C 003AA07C  48 00 0D 75 */	bl func_803AF190
/* 803AE420 003AA080  48 00 0C A0 */	b lbl_803AF0C0
/* 803AE424 003AA084  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE428 003AA088  38 80 00 00 */	li r4, 0
/* 803AE42C 003AA08C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE430 003AA090  48 03 15 1D */	bl func_803DF94C
/* 803AE434 003AA094  48 00 0C 8C */	b lbl_803AF0C0
/* 803AE438 003AA098  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803AE43C 003AA09C  54 00 03 19 */	rlwinm. r0, r0, 0, 0xc, 0xc
/* 803AE440 003AA0A0  41 82 00 28 */	beq lbl_803AE468
/* 803AE444 003AA0A4  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE448 003AA0A8  7D 06 43 78 */	mr r6, r8
/* 803AE44C 003AA0AC  38 80 00 00 */	li r4, 0
/* 803AE450 003AA0B0  48 00 0C 89 */	bl func_803AF0D8
/* 803AE454 003AA0B4  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE458 003AA0B8  38 80 00 01 */	li r4, 1
/* 803AE45C 003AA0BC  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE460 003AA0C0  48 03 14 ED */	bl func_803DF94C
/* 803AE464 003AA0C4  48 00 0C 5C */	b lbl_803AF0C0
lbl_803AE468:
/* 803AE468 003AA0C8  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE46C 003AA0CC  38 80 00 00 */	li r4, 0
/* 803AE470 003AA0D0  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE474 003AA0D4  48 03 14 D9 */	bl func_803DF94C
/* 803AE478 003AA0D8  48 00 0C 48 */	b lbl_803AF0C0
/* 803AE47C 003AA0DC  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE480 003AA0E0  38 80 00 00 */	li r4, 0
/* 803AE484 003AA0E4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE488 003AA0E8  48 03 16 C5 */	bl func_803DFB4C
/* 803AE48C 003AA0EC  48 00 0C 34 */	b lbl_803AF0C0
/* 803AE490 003AA0F0  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE494 003AA0F4  38 80 00 00 */	li r4, 0
/* 803AE498 003AA0F8  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE49C 003AA0FC  48 03 15 B1 */	bl func_803DFA4C
/* 803AE4A0 003AA100  48 00 0C 20 */	b lbl_803AF0C0
/* 803AE4A4 003AA104  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE4A8 003AA108  38 80 00 00 */	li r4, 0
/* 803AE4AC 003AA10C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE4B0 003AA110  38 C0 00 05 */	li r6, 5
/* 803AE4B4 003AA114  38 E0 00 01 */	li r7, 1
/* 803AE4B8 003AA118  39 00 00 02 */	li r8, 2
/* 803AE4BC 003AA11C  48 03 14 31 */	bl func_803DF8EC
/* 803AE4C0 003AA120  48 00 0C 00 */	b lbl_803AF0C0
/* 803AE4C4 003AA124  80 C4 00 1C */	lwz r6, 0x1c(r4)
/* 803AE4C8 003AA128  80 A4 00 04 */	lwz r5, 4(r4)
/* 803AE4CC 003AA12C  2C 06 00 00 */	cmpwi r6, 0
/* 803AE4D0 003AA130  41 82 00 1C */	beq lbl_803AE4EC
/* 803AE4D4 003AA134  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE4D8 003AA138  38 80 00 00 */	li r4, 0
/* 803AE4DC 003AA13C  38 E0 00 00 */	li r7, 0
/* 803AE4E0 003AA140  39 00 00 02 */	li r8, 2
/* 803AE4E4 003AA144  48 03 14 09 */	bl func_803DF8EC
/* 803AE4E8 003AA148  48 00 0B D8 */	b lbl_803AF0C0
lbl_803AE4EC:
/* 803AE4EC 003AA14C  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE4F0 003AA150  38 80 00 00 */	li r4, 0
/* 803AE4F4 003AA154  38 C0 00 05 */	li r6, 5
/* 803AE4F8 003AA158  38 E0 00 00 */	li r7, 0
/* 803AE4FC 003AA15C  39 00 00 02 */	li r8, 2
/* 803AE500 003AA160  48 03 13 ED */	bl func_803DF8EC
/* 803AE504 003AA164  48 00 0B BC */	b lbl_803AF0C0
/* 803AE508 003AA168  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE50C 003AA16C  7C 04 32 78 */	xor r4, r0, r6
/* 803AE510 003AA170  4B FF E6 21 */	bl func_803ACB30
/* 803AE514 003AA174  7C 65 1B 78 */	mr r5, r3
/* 803AE518 003AA178  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE51C 003AA17C  38 80 00 00 */	li r4, 0
/* 803AE520 003AA180  48 03 17 B1 */	bl func_803DFCD0
/* 803AE524 003AA184  48 00 0B 9C */	b lbl_803AF0C0
/* 803AE528 003AA188  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE52C 003AA18C  38 80 00 00 */	li r4, 0
/* 803AE530 003AA190  48 00 0C 61 */	bl func_803AF190
/* 803AE534 003AA194  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE538 003AA198  7F A3 EB 78 */	mr r3, r29
/* 803AE53C 003AA19C  7F E6 FB 78 */	mr r6, r31
/* 803AE540 003AA1A0  38 80 00 01 */	li r4, 1
/* 803AE544 003AA1A4  48 00 0C 4D */	bl func_803AF190
/* 803AE548 003AA1A8  48 00 0B 78 */	b lbl_803AF0C0
/* 803AE54C 003AA1AC  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE550 003AA1B0  38 80 00 00 */	li r4, 0
/* 803AE554 003AA1B4  48 00 0C 3D */	bl func_803AF190
/* 803AE558 003AA1B8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE55C 003AA1BC  38 80 00 01 */	li r4, 1
/* 803AE560 003AA1C0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE564 003AA1C4  48 03 13 E9 */	bl func_803DF94C
/* 803AE568 003AA1C8  48 00 0B 58 */	b lbl_803AF0C0
/* 803AE56C 003AA1CC  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE570 003AA1D0  38 80 00 00 */	li r4, 0
/* 803AE574 003AA1D4  48 00 0C 1D */	bl func_803AF190
/* 803AE578 003AA1D8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE57C 003AA1DC  38 80 00 01 */	li r4, 1
/* 803AE580 003AA1E0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE584 003AA1E4  48 03 14 49 */	bl func_803DF9CC
/* 803AE588 003AA1E8  48 00 0B 38 */	b lbl_803AF0C0
/* 803AE58C 003AA1EC  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE590 003AA1F0  38 80 00 00 */	li r4, 0
/* 803AE594 003AA1F4  48 00 0B FD */	bl func_803AF190
/* 803AE598 003AA1F8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE59C 003AA1FC  38 80 00 01 */	li r4, 1
/* 803AE5A0 003AA200  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE5A4 003AA204  48 03 15 A9 */	bl func_803DFB4C
/* 803AE5A8 003AA208  48 00 0B 18 */	b lbl_803AF0C0
/* 803AE5AC 003AA20C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE5B0 003AA210  38 80 00 00 */	li r4, 0
/* 803AE5B4 003AA214  48 00 0B DD */	bl func_803AF190
/* 803AE5B8 003AA218  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE5BC 003AA21C  38 80 00 01 */	li r4, 1
/* 803AE5C0 003AA220  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE5C4 003AA224  48 03 15 09 */	bl func_803DFACC
/* 803AE5C8 003AA228  48 00 0A F8 */	b lbl_803AF0C0
/* 803AE5CC 003AA22C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE5D0 003AA230  38 80 00 00 */	li r4, 0
/* 803AE5D4 003AA234  48 00 0B BD */	bl func_803AF190
/* 803AE5D8 003AA238  80 9E 00 08 */	lwz r4, 8(r30)
/* 803AE5DC 003AA23C  7F A3 EB 78 */	mr r3, r29
/* 803AE5E0 003AA240  54 80 06 3E */	clrlwi r0, r4, 0x18
/* 803AE5E4 003AA244  54 85 C6 3E */	rlwinm r5, r4, 0x18, 0x18, 0x1f
/* 803AE5E8 003AA248  7C 04 FA 78 */	xor r4, r0, r31
/* 803AE5EC 003AA24C  4B FF E3 B9 */	bl func_803AC9A4
/* 803AE5F0 003AA250  7C 65 1B 78 */	mr r5, r3
/* 803AE5F4 003AA254  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE5F8 003AA258  38 80 00 01 */	li r4, 1
/* 803AE5FC 003AA25C  48 03 12 0D */	bl func_803DF808
/* 803AE600 003AA260  48 00 0A C0 */	b lbl_803AF0C0
/* 803AE604 003AA264  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE608 003AA268  38 80 00 00 */	li r4, 0
/* 803AE60C 003AA26C  48 00 0B 85 */	bl func_803AF190
/* 803AE610 003AA270  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE614 003AA274  38 80 00 01 */	li r4, 1
/* 803AE618 003AA278  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE61C 003AA27C  48 03 14 31 */	bl func_803DFA4C
/* 803AE620 003AA280  48 00 0A A0 */	b lbl_803AF0C0
/* 803AE624 003AA284  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE628 003AA288  38 80 00 00 */	li r4, 0
/* 803AE62C 003AA28C  48 00 0B 65 */	bl func_803AF190
/* 803AE630 003AA290  48 00 0A 90 */	b lbl_803AF0C0
/* 803AE634 003AA294  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE638 003AA298  38 80 00 00 */	li r4, 0
/* 803AE63C 003AA29C  48 00 0B 55 */	bl func_803AF190
/* 803AE640 003AA2A0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE644 003AA2A4  38 80 00 01 */	li r4, 1
/* 803AE648 003AA2A8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE64C 003AA2AC  38 C0 00 05 */	li r6, 5
/* 803AE650 003AA2B0  38 E0 00 01 */	li r7, 1
/* 803AE654 003AA2B4  39 00 00 02 */	li r8, 2
/* 803AE658 003AA2B8  48 03 12 95 */	bl func_803DF8EC
/* 803AE65C 003AA2BC  48 00 0A 64 */	b lbl_803AF0C0
/* 803AE660 003AA2C0  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE664 003AA2C4  38 80 00 00 */	li r4, 0
/* 803AE668 003AA2C8  48 00 0B 29 */	bl func_803AF190
/* 803AE66C 003AA2CC  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AE670 003AA2D0  7F A3 EB 78 */	mr r3, r29
/* 803AE674 003AA2D4  7C 04 FA 78 */	xor r4, r0, r31
/* 803AE678 003AA2D8  4B FF E4 B9 */	bl func_803ACB30
/* 803AE67C 003AA2DC  7C 65 1B 78 */	mr r5, r3
/* 803AE680 003AA2E0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE684 003AA2E4  38 80 00 01 */	li r4, 1
/* 803AE688 003AA2E8  48 03 16 49 */	bl func_803DFCD0
/* 803AE68C 003AA2EC  48 00 0A 34 */	b lbl_803AF0C0
/* 803AE690 003AA2F0  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE694 003AA2F4  38 80 00 00 */	li r4, 0
/* 803AE698 003AA2F8  48 00 0A F9 */	bl func_803AF190
/* 803AE69C 003AA2FC  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE6A0 003AA300  38 80 00 01 */	li r4, 1
/* 803AE6A4 003AA304  80 BD 00 64 */	lwz r5, 0x64(r29)
/* 803AE6A8 003AA308  80 DE 00 08 */	lwz r6, 8(r30)
/* 803AE6AC 003AA30C  48 03 16 79 */	bl func_803DFD24
/* 803AE6B0 003AA310  48 00 0A 10 */	b lbl_803AF0C0
/* 803AE6B4 003AA314  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE6B8 003AA318  38 80 00 00 */	li r4, 0
/* 803AE6BC 003AA31C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE6C0 003AA320  48 03 12 8D */	bl func_803DF94C
/* 803AE6C4 003AA324  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE6C8 003AA328  7F A3 EB 78 */	mr r3, r29
/* 803AE6CC 003AA32C  7F E6 FB 78 */	mr r6, r31
/* 803AE6D0 003AA330  38 80 00 01 */	li r4, 1
/* 803AE6D4 003AA334  48 00 0A BD */	bl func_803AF190
/* 803AE6D8 003AA338  48 00 09 E8 */	b lbl_803AF0C0
/* 803AE6DC 003AA33C  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE6E0 003AA340  38 80 00 00 */	li r4, 0
/* 803AE6E4 003AA344  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE6E8 003AA348  48 03 12 65 */	bl func_803DF94C
/* 803AE6EC 003AA34C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE6F0 003AA350  38 80 00 01 */	li r4, 1
/* 803AE6F4 003AA354  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE6F8 003AA358  48 03 12 55 */	bl func_803DF94C
/* 803AE6FC 003AA35C  48 00 09 C4 */	b lbl_803AF0C0
/* 803AE700 003AA360  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE704 003AA364  38 80 00 00 */	li r4, 0
/* 803AE708 003AA368  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE70C 003AA36C  48 03 12 C1 */	bl func_803DF9CC
/* 803AE710 003AA370  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE714 003AA374  7F A3 EB 78 */	mr r3, r29
/* 803AE718 003AA378  7F E6 FB 78 */	mr r6, r31
/* 803AE71C 003AA37C  38 80 00 01 */	li r4, 1
/* 803AE720 003AA380  48 00 0A 71 */	bl func_803AF190
/* 803AE724 003AA384  48 00 09 9C */	b lbl_803AF0C0
/* 803AE728 003AA388  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE72C 003AA38C  38 80 00 00 */	li r4, 0
/* 803AE730 003AA390  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE734 003AA394  48 03 13 19 */	bl func_803DFA4C
/* 803AE738 003AA398  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE73C 003AA39C  38 80 00 01 */	li r4, 1
/* 803AE740 003AA3A0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE744 003AA3A4  48 03 12 09 */	bl func_803DF94C
/* 803AE748 003AA3A8  48 00 09 78 */	b lbl_803AF0C0
/* 803AE74C 003AA3AC  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AE750 003AA3B0  38 80 00 00 */	li r4, 0
/* 803AE754 003AA3B4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE758 003AA3B8  38 C0 00 05 */	li r6, 5
/* 803AE75C 003AA3BC  38 E0 00 01 */	li r7, 1
/* 803AE760 003AA3C0  39 00 00 02 */	li r8, 2
/* 803AE764 003AA3C4  48 03 11 89 */	bl func_803DF8EC
/* 803AE768 003AA3C8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE76C 003AA3CC  38 80 00 01 */	li r4, 1
/* 803AE770 003AA3D0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE774 003AA3D4  38 C0 00 05 */	li r6, 5
/* 803AE778 003AA3D8  38 E0 00 01 */	li r7, 1
/* 803AE77C 003AA3DC  39 00 00 02 */	li r8, 2
/* 803AE780 003AA3E0  48 03 11 6D */	bl func_803DF8EC
/* 803AE784 003AA3E4  48 00 09 3C */	b lbl_803AF0C0
/* 803AE788 003AA3E8  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE78C 003AA3EC  7C 04 32 78 */	xor r4, r0, r6
/* 803AE790 003AA3F0  4B FF E3 A1 */	bl func_803ACB30
/* 803AE794 003AA3F4  7C 65 1B 78 */	mr r5, r3
/* 803AE798 003AA3F8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE79C 003AA3FC  38 80 00 00 */	li r4, 0
/* 803AE7A0 003AA400  48 03 15 31 */	bl func_803DFCD0
/* 803AE7A4 003AA404  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AE7A8 003AA408  7F A3 EB 78 */	mr r3, r29
/* 803AE7AC 003AA40C  7C 04 FA 78 */	xor r4, r0, r31
/* 803AE7B0 003AA410  4B FF E3 81 */	bl func_803ACB30
/* 803AE7B4 003AA414  7C 65 1B 78 */	mr r5, r3
/* 803AE7B8 003AA418  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE7BC 003AA41C  38 80 00 01 */	li r4, 1
/* 803AE7C0 003AA420  48 03 15 11 */	bl func_803DFCD0
/* 803AE7C4 003AA424  48 00 08 FC */	b lbl_803AF0C0
/* 803AE7C8 003AA428  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE7CC 003AA42C  7C 04 32 78 */	xor r4, r0, r6
/* 803AE7D0 003AA430  4B FF E3 61 */	bl func_803ACB30
/* 803AE7D4 003AA434  7C 65 1B 78 */	mr r5, r3
/* 803AE7D8 003AA438  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE7DC 003AA43C  38 80 00 00 */	li r4, 0
/* 803AE7E0 003AA440  48 03 14 F1 */	bl func_803DFCD0
/* 803AE7E4 003AA444  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE7E8 003AA448  7F A3 EB 78 */	mr r3, r29
/* 803AE7EC 003AA44C  7F E6 FB 78 */	mr r6, r31
/* 803AE7F0 003AA450  38 80 00 01 */	li r4, 1
/* 803AE7F4 003AA454  48 00 09 9D */	bl func_803AF190
/* 803AE7F8 003AA458  48 00 08 C8 */	b lbl_803AF0C0
/* 803AE7FC 003AA45C  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE800 003AA460  7C 04 32 78 */	xor r4, r0, r6
/* 803AE804 003AA464  4B FF E3 2D */	bl func_803ACB30
/* 803AE808 003AA468  7C 65 1B 78 */	mr r5, r3
/* 803AE80C 003AA46C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE810 003AA470  38 80 00 00 */	li r4, 0
/* 803AE814 003AA474  48 03 14 BD */	bl func_803DFCD0
/* 803AE818 003AA478  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE81C 003AA47C  38 80 00 01 */	li r4, 1
/* 803AE820 003AA480  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE824 003AA484  48 03 12 29 */	bl func_803DFA4C
/* 803AE828 003AA488  48 00 08 98 */	b lbl_803AF0C0
/* 803AE82C 003AA48C  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE830 003AA490  7C 04 32 78 */	xor r4, r0, r6
/* 803AE834 003AA494  4B FF E2 FD */	bl func_803ACB30
/* 803AE838 003AA498  7C 65 1B 78 */	mr r5, r3
/* 803AE83C 003AA49C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE840 003AA4A0  38 80 00 00 */	li r4, 0
/* 803AE844 003AA4A4  48 03 14 8D */	bl func_803DFCD0
/* 803AE848 003AA4A8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE84C 003AA4AC  38 80 00 01 */	li r4, 1
/* 803AE850 003AA4B0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE854 003AA4B4  38 C0 00 05 */	li r6, 5
/* 803AE858 003AA4B8  38 E0 00 01 */	li r7, 1
/* 803AE85C 003AA4BC  39 00 00 02 */	li r8, 2
/* 803AE860 003AA4C0  48 03 10 8D */	bl func_803DF8EC
/* 803AE864 003AA4C4  48 00 08 5C */	b lbl_803AF0C0
/* 803AE868 003AA4C8  80 04 00 04 */	lwz r0, 4(r4)
/* 803AE86C 003AA4CC  7C 04 32 78 */	xor r4, r0, r6
/* 803AE870 003AA4D0  4B FF E2 C1 */	bl func_803ACB30
/* 803AE874 003AA4D4  7C 65 1B 78 */	mr r5, r3
/* 803AE878 003AA4D8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE87C 003AA4DC  38 80 00 00 */	li r4, 0
/* 803AE880 003AA4E0  48 03 14 4D */	bl func_803DFCCC
/* 803AE884 003AA4E4  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AE888 003AA4E8  7F A3 EB 78 */	mr r3, r29
/* 803AE88C 003AA4EC  7C 04 FA 78 */	xor r4, r0, r31
/* 803AE890 003AA4F0  4B FF E2 A1 */	bl func_803ACB30
/* 803AE894 003AA4F4  7C 65 1B 78 */	mr r5, r3
/* 803AE898 003AA4F8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE89C 003AA4FC  38 80 00 01 */	li r4, 1
/* 803AE8A0 003AA500  48 03 14 31 */	bl func_803DFCD0
/* 803AE8A4 003AA504  48 00 08 1C */	b lbl_803AF0C0
/* 803AE8A8 003AA508  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE8AC 003AA50C  38 80 00 00 */	li r4, 0
/* 803AE8B0 003AA510  48 00 08 E1 */	bl func_803AF190
/* 803AE8B4 003AA514  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE8B8 003AA518  7F A3 EB 78 */	mr r3, r29
/* 803AE8BC 003AA51C  7F E6 FB 78 */	mr r6, r31
/* 803AE8C0 003AA520  38 80 00 01 */	li r4, 1
/* 803AE8C4 003AA524  48 00 08 CD */	bl func_803AF190
/* 803AE8C8 003AA528  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE8CC 003AA52C  38 80 00 02 */	li r4, 2
/* 803AE8D0 003AA530  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE8D4 003AA534  48 03 10 79 */	bl func_803DF94C
/* 803AE8D8 003AA538  48 00 07 E8 */	b lbl_803AF0C0
/* 803AE8DC 003AA53C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE8E0 003AA540  38 80 00 00 */	li r4, 0
/* 803AE8E4 003AA544  48 00 08 AD */	bl func_803AF190
/* 803AE8E8 003AA548  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE8EC 003AA54C  7F A3 EB 78 */	mr r3, r29
/* 803AE8F0 003AA550  7F E6 FB 78 */	mr r6, r31
/* 803AE8F4 003AA554  38 80 00 01 */	li r4, 1
/* 803AE8F8 003AA558  48 00 08 99 */	bl func_803AF190
/* 803AE8FC 003AA55C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE900 003AA560  38 80 00 02 */	li r4, 2
/* 803AE904 003AA564  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE908 003AA568  48 03 10 C5 */	bl func_803DF9CC
/* 803AE90C 003AA56C  48 00 07 B4 */	b lbl_803AF0C0
/* 803AE910 003AA570  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE914 003AA574  38 80 00 00 */	li r4, 0
/* 803AE918 003AA578  48 00 08 79 */	bl func_803AF190
/* 803AE91C 003AA57C  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE920 003AA580  7F A3 EB 78 */	mr r3, r29
/* 803AE924 003AA584  7F E6 FB 78 */	mr r6, r31
/* 803AE928 003AA588  38 80 00 01 */	li r4, 1
/* 803AE92C 003AA58C  48 00 08 65 */	bl func_803AF190
/* 803AE930 003AA590  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE934 003AA594  38 80 00 02 */	li r4, 2
/* 803AE938 003AA598  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE93C 003AA59C  48 03 11 11 */	bl func_803DFA4C
/* 803AE940 003AA5A0  48 00 07 80 */	b lbl_803AF0C0
/* 803AE944 003AA5A4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE948 003AA5A8  38 80 00 00 */	li r4, 0
/* 803AE94C 003AA5AC  48 00 08 45 */	bl func_803AF190
/* 803AE950 003AA5B0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE954 003AA5B4  38 80 00 01 */	li r4, 1
/* 803AE958 003AA5B8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE95C 003AA5BC  48 03 0F F1 */	bl func_803DF94C
/* 803AE960 003AA5C0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE964 003AA5C4  38 80 00 02 */	li r4, 2
/* 803AE968 003AA5C8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE96C 003AA5CC  48 03 0F E1 */	bl func_803DF94C
/* 803AE970 003AA5D0  48 00 07 50 */	b lbl_803AF0C0
/* 803AE974 003AA5D4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE978 003AA5D8  38 80 00 00 */	li r4, 0
/* 803AE97C 003AA5DC  48 00 08 15 */	bl func_803AF190
/* 803AE980 003AA5E0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE984 003AA5E4  38 80 00 01 */	li r4, 1
/* 803AE988 003AA5E8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE98C 003AA5EC  48 03 0F C1 */	bl func_803DF94C
/* 803AE990 003AA5F0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE994 003AA5F4  38 80 00 02 */	li r4, 2
/* 803AE998 003AA5F8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE99C 003AA5FC  38 C0 00 05 */	li r6, 5
/* 803AE9A0 003AA600  38 E0 00 01 */	li r7, 1
/* 803AE9A4 003AA604  39 00 00 02 */	li r8, 2
/* 803AE9A8 003AA608  48 03 0F 45 */	bl func_803DF8EC
/* 803AE9AC 003AA60C  48 00 07 14 */	b lbl_803AF0C0
/* 803AE9B0 003AA610  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE9B4 003AA614  38 80 00 00 */	li r4, 0
/* 803AE9B8 003AA618  48 00 07 D9 */	bl func_803AF190
/* 803AE9BC 003AA61C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE9C0 003AA620  38 80 00 01 */	li r4, 1
/* 803AE9C4 003AA624  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE9C8 003AA628  48 03 10 05 */	bl func_803DF9CC
/* 803AE9CC 003AA62C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AE9D0 003AA630  7F A3 EB 78 */	mr r3, r29
/* 803AE9D4 003AA634  7F E6 FB 78 */	mr r6, r31
/* 803AE9D8 003AA638  38 80 00 02 */	li r4, 2
/* 803AE9DC 003AA63C  48 00 07 B5 */	bl func_803AF190
/* 803AE9E0 003AA640  48 00 06 E0 */	b lbl_803AF0C0
/* 803AE9E4 003AA644  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AE9E8 003AA648  38 80 00 00 */	li r4, 0
/* 803AE9EC 003AA64C  48 00 07 A5 */	bl func_803AF190
/* 803AE9F0 003AA650  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AE9F4 003AA654  38 80 00 01 */	li r4, 1
/* 803AE9F8 003AA658  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AE9FC 003AA65C  48 03 0F D1 */	bl func_803DF9CC
/* 803AEA00 003AA660  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA04 003AA664  38 80 00 02 */	li r4, 2
/* 803AEA08 003AA668  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEA0C 003AA66C  48 03 0F 41 */	bl func_803DF94C
/* 803AEA10 003AA670  48 00 06 B0 */	b lbl_803AF0C0
/* 803AEA14 003AA674  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEA18 003AA678  38 80 00 00 */	li r4, 0
/* 803AEA1C 003AA67C  48 00 07 75 */	bl func_803AF190
/* 803AEA20 003AA680  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA24 003AA684  38 80 00 01 */	li r4, 1
/* 803AEA28 003AA688  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEA2C 003AA68C  48 03 0F A1 */	bl func_803DF9CC
/* 803AEA30 003AA690  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA34 003AA694  38 80 00 02 */	li r4, 2
/* 803AEA38 003AA698  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEA3C 003AA69C  48 03 10 11 */	bl func_803DFA4C
/* 803AEA40 003AA6A0  48 00 06 80 */	b lbl_803AF0C0
/* 803AEA44 003AA6A4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEA48 003AA6A8  38 80 00 00 */	li r4, 0
/* 803AEA4C 003AA6AC  48 00 07 45 */	bl func_803AF190
/* 803AEA50 003AA6B0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA54 003AA6B4  38 80 00 01 */	li r4, 1
/* 803AEA58 003AA6B8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEA5C 003AA6BC  48 03 0F 71 */	bl func_803DF9CC
/* 803AEA60 003AA6C0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA64 003AA6C4  38 80 00 02 */	li r4, 2
/* 803AEA68 003AA6C8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEA6C 003AA6CC  48 03 10 E1 */	bl func_803DFB4C
/* 803AEA70 003AA6D0  48 00 06 50 */	b lbl_803AF0C0
/* 803AEA74 003AA6D4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEA78 003AA6D8  38 80 00 00 */	li r4, 0
/* 803AEA7C 003AA6DC  48 00 07 15 */	bl func_803AF190
/* 803AEA80 003AA6E0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA84 003AA6E4  38 80 00 01 */	li r4, 1
/* 803AEA88 003AA6E8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEA8C 003AA6EC  48 03 0F 41 */	bl func_803DF9CC
/* 803AEA90 003AA6F0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEA94 003AA6F4  38 80 00 02 */	li r4, 2
/* 803AEA98 003AA6F8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEA9C 003AA6FC  48 03 10 31 */	bl func_803DFACC
/* 803AEAA0 003AA700  48 00 06 20 */	b lbl_803AF0C0
/* 803AEAA4 003AA704  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEAA8 003AA708  38 80 00 00 */	li r4, 0
/* 803AEAAC 003AA70C  48 00 06 E5 */	bl func_803AF190
/* 803AEAB0 003AA710  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEAB4 003AA714  38 80 00 01 */	li r4, 1
/* 803AEAB8 003AA718  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEABC 003AA71C  48 03 0F 11 */	bl func_803DF9CC
/* 803AEAC0 003AA720  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEAC4 003AA724  38 80 00 02 */	li r4, 2
/* 803AEAC8 003AA728  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEACC 003AA72C  48 03 11 01 */	bl func_803DFBCC
/* 803AEAD0 003AA730  48 00 05 F0 */	b lbl_803AF0C0
/* 803AEAD4 003AA734  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEAD8 003AA738  38 80 00 00 */	li r4, 0
/* 803AEADC 003AA73C  48 00 06 B5 */	bl func_803AF190
/* 803AEAE0 003AA740  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEAE4 003AA744  38 80 00 01 */	li r4, 1
/* 803AEAE8 003AA748  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEAEC 003AA74C  48 03 0E E1 */	bl func_803DF9CC
/* 803AEAF0 003AA750  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEAF4 003AA754  38 80 00 02 */	li r4, 2
/* 803AEAF8 003AA758  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEAFC 003AA75C  38 C0 00 05 */	li r6, 5
/* 803AEB00 003AA760  38 E0 00 01 */	li r7, 1
/* 803AEB04 003AA764  39 00 00 02 */	li r8, 2
/* 803AEB08 003AA768  48 03 0D E5 */	bl func_803DF8EC
/* 803AEB0C 003AA76C  48 00 05 B4 */	b lbl_803AF0C0
/* 803AEB10 003AA770  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEB14 003AA774  38 80 00 00 */	li r4, 0
/* 803AEB18 003AA778  48 00 06 79 */	bl func_803AF190
/* 803AEB1C 003AA77C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEB20 003AA780  38 80 00 01 */	li r4, 1
/* 803AEB24 003AA784  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEB28 003AA788  48 03 0F 25 */	bl func_803DFA4C
/* 803AEB2C 003AA78C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEB30 003AA790  7F A3 EB 78 */	mr r3, r29
/* 803AEB34 003AA794  7F E6 FB 78 */	mr r6, r31
/* 803AEB38 003AA798  38 80 00 02 */	li r4, 2
/* 803AEB3C 003AA79C  48 00 06 55 */	bl func_803AF190
/* 803AEB40 003AA7A0  48 00 05 80 */	b lbl_803AF0C0
/* 803AEB44 003AA7A4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEB48 003AA7A8  38 80 00 00 */	li r4, 0
/* 803AEB4C 003AA7AC  48 00 06 45 */	bl func_803AF190
/* 803AEB50 003AA7B0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEB54 003AA7B4  38 80 00 01 */	li r4, 1
/* 803AEB58 003AA7B8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEB5C 003AA7BC  48 03 0E F1 */	bl func_803DFA4C
/* 803AEB60 003AA7C0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEB64 003AA7C4  38 80 00 02 */	li r4, 2
/* 803AEB68 003AA7C8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEB6C 003AA7CC  48 03 0D E1 */	bl func_803DF94C
/* 803AEB70 003AA7D0  48 00 05 50 */	b lbl_803AF0C0
/* 803AEB74 003AA7D4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEB78 003AA7D8  38 80 00 00 */	li r4, 0
/* 803AEB7C 003AA7DC  48 00 06 15 */	bl func_803AF190
/* 803AEB80 003AA7E0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEB84 003AA7E4  38 80 00 01 */	li r4, 1
/* 803AEB88 003AA7E8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEB8C 003AA7EC  48 03 0E C1 */	bl func_803DFA4C
/* 803AEB90 003AA7F0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEB94 003AA7F4  38 80 00 02 */	li r4, 2
/* 803AEB98 003AA7F8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEB9C 003AA7FC  48 03 0F B1 */	bl func_803DFB4C
/* 803AEBA0 003AA800  48 00 05 20 */	b lbl_803AF0C0
/* 803AEBA4 003AA804  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEBA8 003AA808  38 80 00 00 */	li r4, 0
/* 803AEBAC 003AA80C  48 00 05 E5 */	bl func_803AF190
/* 803AEBB0 003AA810  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEBB4 003AA814  38 80 00 01 */	li r4, 1
/* 803AEBB8 003AA818  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEBBC 003AA81C  48 03 0E 91 */	bl func_803DFA4C
/* 803AEBC0 003AA820  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEBC4 003AA824  38 80 00 02 */	li r4, 2
/* 803AEBC8 003AA828  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEBCC 003AA82C  48 03 10 01 */	bl func_803DFBCC
/* 803AEBD0 003AA830  48 00 04 F0 */	b lbl_803AF0C0
/* 803AEBD4 003AA834  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEBD8 003AA838  38 80 00 00 */	li r4, 0
/* 803AEBDC 003AA83C  48 00 05 B5 */	bl func_803AF190
/* 803AEBE0 003AA840  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEBE4 003AA844  38 80 00 01 */	li r4, 1
/* 803AEBE8 003AA848  80 BD 00 64 */	lwz r5, 0x64(r29)
/* 803AEBEC 003AA84C  80 DE 00 08 */	lwz r6, 8(r30)
/* 803AEBF0 003AA850  48 03 11 35 */	bl func_803DFD24
/* 803AEBF4 003AA854  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEBF8 003AA858  38 80 00 02 */	li r4, 2
/* 803AEBFC 003AA85C  80 BD 00 64 */	lwz r5, 0x64(r29)
/* 803AEC00 003AA860  80 DE 00 0C */	lwz r6, 0xc(r30)
/* 803AEC04 003AA864  48 03 11 21 */	bl func_803DFD24
/* 803AEC08 003AA868  48 00 04 B8 */	b lbl_803AF0C0
/* 803AEC0C 003AA86C  80 63 00 14 */	lwz r3, 0x14(r3)
/* 803AEC10 003AA870  38 80 00 00 */	li r4, 0
/* 803AEC14 003AA874  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEC18 003AA878  48 03 0E 35 */	bl func_803DFA4C
/* 803AEC1C 003AA87C  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEC20 003AA880  7F A3 EB 78 */	mr r3, r29
/* 803AEC24 003AA884  7F E6 FB 78 */	mr r6, r31
/* 803AEC28 003AA888  38 80 00 01 */	li r4, 1
/* 803AEC2C 003AA88C  48 00 05 65 */	bl func_803AF190
/* 803AEC30 003AA890  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEC34 003AA894  38 80 00 02 */	li r4, 2
/* 803AEC38 003AA898  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEC3C 003AA89C  48 03 10 11 */	bl func_803DFC4C
/* 803AEC40 003AA8A0  48 00 04 80 */	b lbl_803AF0C0
/* 803AEC44 003AA8A4  80 04 00 04 */	lwz r0, 4(r4)
/* 803AEC48 003AA8A8  7C 04 32 78 */	xor r4, r0, r6
/* 803AEC4C 003AA8AC  4B FF DE E5 */	bl func_803ACB30
/* 803AEC50 003AA8B0  7C 65 1B 78 */	mr r5, r3
/* 803AEC54 003AA8B4  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEC58 003AA8B8  38 80 00 00 */	li r4, 0
/* 803AEC5C 003AA8BC  48 03 10 75 */	bl func_803DFCD0
/* 803AEC60 003AA8C0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEC64 003AA8C4  7F A3 EB 78 */	mr r3, r29
/* 803AEC68 003AA8C8  7F E6 FB 78 */	mr r6, r31
/* 803AEC6C 003AA8CC  38 80 00 01 */	li r4, 1
/* 803AEC70 003AA8D0  48 00 05 21 */	bl func_803AF190
/* 803AEC74 003AA8D4  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEC78 003AA8D8  7F A3 EB 78 */	mr r3, r29
/* 803AEC7C 003AA8DC  7F E6 FB 78 */	mr r6, r31
/* 803AEC80 003AA8E0  38 80 00 02 */	li r4, 2
/* 803AEC84 003AA8E4  48 00 05 0D */	bl func_803AF190
/* 803AEC88 003AA8E8  48 00 04 38 */	b lbl_803AF0C0
/* 803AEC8C 003AA8EC  80 04 00 04 */	lwz r0, 4(r4)
/* 803AEC90 003AA8F0  7C 04 32 78 */	xor r4, r0, r6
/* 803AEC94 003AA8F4  4B FF DE 9D */	bl func_803ACB30
/* 803AEC98 003AA8F8  7C 65 1B 78 */	mr r5, r3
/* 803AEC9C 003AA8FC  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AECA0 003AA900  38 80 00 00 */	li r4, 0
/* 803AECA4 003AA904  48 03 10 29 */	bl func_803DFCCC
/* 803AECA8 003AA908  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AECAC 003AA90C  7F A3 EB 78 */	mr r3, r29
/* 803AECB0 003AA910  7C 04 FA 78 */	xor r4, r0, r31
/* 803AECB4 003AA914  4B FF DE 7D */	bl func_803ACB30
/* 803AECB8 003AA918  7C 65 1B 78 */	mr r5, r3
/* 803AECBC 003AA91C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AECC0 003AA920  38 80 00 01 */	li r4, 1
/* 803AECC4 003AA924  48 03 10 0D */	bl func_803DFCD0
/* 803AECC8 003AA928  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AECCC 003AA92C  7F A3 EB 78 */	mr r3, r29
/* 803AECD0 003AA930  7F E6 FB 78 */	mr r6, r31
/* 803AECD4 003AA934  38 80 00 02 */	li r4, 2
/* 803AECD8 003AA938  48 00 04 B9 */	bl func_803AF190
/* 803AECDC 003AA93C  48 00 03 E4 */	b lbl_803AF0C0
/* 803AECE0 003AA940  80 04 00 04 */	lwz r0, 4(r4)
/* 803AECE4 003AA944  7C 04 32 78 */	xor r4, r0, r6
/* 803AECE8 003AA948  4B FF DE 49 */	bl func_803ACB30
/* 803AECEC 003AA94C  7C 65 1B 78 */	mr r5, r3
/* 803AECF0 003AA950  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AECF4 003AA954  38 80 00 00 */	li r4, 0
/* 803AECF8 003AA958  48 03 0F D5 */	bl func_803DFCCC
/* 803AECFC 003AA95C  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AED00 003AA960  7F A3 EB 78 */	mr r3, r29
/* 803AED04 003AA964  7C 04 FA 78 */	xor r4, r0, r31
/* 803AED08 003AA968  4B FF DE 29 */	bl func_803ACB30
/* 803AED0C 003AA96C  7C 65 1B 78 */	mr r5, r3
/* 803AED10 003AA970  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AED14 003AA974  38 80 00 01 */	li r4, 1
/* 803AED18 003AA978  48 03 0F B9 */	bl func_803DFCD0
/* 803AED1C 003AA97C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AED20 003AA980  38 80 00 02 */	li r4, 2
/* 803AED24 003AA984  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AED28 003AA988  48 03 0D 25 */	bl func_803DFA4C
/* 803AED2C 003AA98C  48 00 03 94 */	b lbl_803AF0C0
/* 803AED30 003AA990  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AED34 003AA994  38 80 00 00 */	li r4, 0
/* 803AED38 003AA998  48 00 04 59 */	bl func_803AF190
/* 803AED3C 003AA99C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AED40 003AA9A0  38 80 00 01 */	li r4, 1
/* 803AED44 003AA9A4  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AED48 003AA9A8  48 03 0C 85 */	bl func_803DF9CC
/* 803AED4C 003AA9AC  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AED50 003AA9B0  7F A3 EB 78 */	mr r3, r29
/* 803AED54 003AA9B4  7F E6 FB 78 */	mr r6, r31
/* 803AED58 003AA9B8  38 80 00 02 */	li r4, 2
/* 803AED5C 003AA9BC  48 00 04 35 */	bl func_803AF190
/* 803AED60 003AA9C0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AED64 003AA9C4  38 80 00 03 */	li r4, 3
/* 803AED68 003AA9C8  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803AED6C 003AA9CC  48 03 0B E1 */	bl func_803DF94C
/* 803AED70 003AA9D0  48 00 03 50 */	b lbl_803AF0C0
/* 803AED74 003AA9D4  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AED78 003AA9D8  38 80 00 00 */	li r4, 0
/* 803AED7C 003AA9DC  48 00 04 15 */	bl func_803AF190
/* 803AED80 003AA9E0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AED84 003AA9E4  38 80 00 01 */	li r4, 1
/* 803AED88 003AA9E8  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AED8C 003AA9EC  48 03 0C 41 */	bl func_803DF9CC
/* 803AED90 003AA9F0  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AED94 003AA9F4  7F A3 EB 78 */	mr r3, r29
/* 803AED98 003AA9F8  7F E6 FB 78 */	mr r6, r31
/* 803AED9C 003AA9FC  38 80 00 02 */	li r4, 2
/* 803AEDA0 003AAA00  48 00 03 F1 */	bl func_803AF190
/* 803AEDA4 003AAA04  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEDA8 003AAA08  38 80 00 03 */	li r4, 3
/* 803AEDAC 003AAA0C  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803AEDB0 003AAA10  48 03 0C 1D */	bl func_803DF9CC
/* 803AEDB4 003AAA14  48 00 03 0C */	b lbl_803AF0C0
/* 803AEDB8 003AAA18  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEDBC 003AAA1C  38 80 00 00 */	li r4, 0
/* 803AEDC0 003AAA20  48 00 03 D1 */	bl func_803AF190
/* 803AEDC4 003AAA24  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEDC8 003AAA28  38 80 00 01 */	li r4, 1
/* 803AEDCC 003AAA2C  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEDD0 003AAA30  48 03 0B FD */	bl func_803DF9CC
/* 803AEDD4 003AAA34  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEDD8 003AAA38  7F A3 EB 78 */	mr r3, r29
/* 803AEDDC 003AAA3C  7F E6 FB 78 */	mr r6, r31
/* 803AEDE0 003AAA40  38 80 00 02 */	li r4, 2
/* 803AEDE4 003AAA44  48 00 03 AD */	bl func_803AF190
/* 803AEDE8 003AAA48  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEDEC 003AAA4C  38 80 00 03 */	li r4, 3
/* 803AEDF0 003AAA50  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803AEDF4 003AAA54  48 03 0D 59 */	bl func_803DFB4C
/* 803AEDF8 003AAA58  48 00 02 C8 */	b lbl_803AF0C0
/* 803AEDFC 003AAA5C  80 BE 00 04 */	lwz r5, 4(r30)
/* 803AEE00 003AAA60  38 80 00 00 */	li r4, 0
/* 803AEE04 003AAA64  48 00 03 8D */	bl func_803AF190
/* 803AEE08 003AAA68  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEE0C 003AAA6C  38 80 00 01 */	li r4, 1
/* 803AEE10 003AAA70  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEE14 003AAA74  48 03 0C 39 */	bl func_803DFA4C
/* 803AEE18 003AAA78  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEE1C 003AAA7C  7F A3 EB 78 */	mr r3, r29
/* 803AEE20 003AAA80  7F E6 FB 78 */	mr r6, r31
/* 803AEE24 003AAA84  38 80 00 02 */	li r4, 2
/* 803AEE28 003AAA88  48 00 03 69 */	bl func_803AF190
/* 803AEE2C 003AAA8C  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEE30 003AAA90  38 80 00 03 */	li r4, 3
/* 803AEE34 003AAA94  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803AEE38 003AAA98  48 03 0C 15 */	bl func_803DFA4C
/* 803AEE3C 003AAA9C  48 00 02 84 */	b lbl_803AF0C0
/* 803AEE40 003AAAA0  80 04 00 04 */	lwz r0, 4(r4)
/* 803AEE44 003AAAA4  7C 04 32 78 */	xor r4, r0, r6
/* 803AEE48 003AAAA8  4B FF DC E9 */	bl func_803ACB30
/* 803AEE4C 003AAAAC  7C 65 1B 78 */	mr r5, r3
/* 803AEE50 003AAAB0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEE54 003AAAB4  38 80 00 00 */	li r4, 0
/* 803AEE58 003AAAB8  48 03 0E 79 */	bl func_803DFCD0
/* 803AEE5C 003AAABC  80 BE 00 08 */	lwz r5, 8(r30)
/* 803AEE60 003AAAC0  7F A3 EB 78 */	mr r3, r29
/* 803AEE64 003AAAC4  7F E6 FB 78 */	mr r6, r31
/* 803AEE68 003AAAC8  38 80 00 01 */	li r4, 1
/* 803AEE6C 003AAACC  48 00 03 25 */	bl func_803AF190
/* 803AEE70 003AAAD0  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 803AEE74 003AAAD4  7F A3 EB 78 */	mr r3, r29
/* 803AEE78 003AAAD8  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEE7C 003AAADC  4B FF DC B5 */	bl func_803ACB30
/* 803AEE80 003AAAE0  7C 65 1B 78 */	mr r5, r3
/* 803AEE84 003AAAE4  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEE88 003AAAE8  38 80 00 02 */	li r4, 2
/* 803AEE8C 003AAAEC  48 03 0E 45 */	bl func_803DFCD0
/* 803AEE90 003AAAF0  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803AEE94 003AAAF4  7F A3 EB 78 */	mr r3, r29
/* 803AEE98 003AAAF8  7F E6 FB 78 */	mr r6, r31
/* 803AEE9C 003AAAFC  38 80 00 03 */	li r4, 3
/* 803AEEA0 003AAB00  48 00 02 F1 */	bl func_803AF190
/* 803AEEA4 003AAB04  48 00 02 1C */	b lbl_803AF0C0
/* 803AEEA8 003AAB08  80 04 00 04 */	lwz r0, 4(r4)
/* 803AEEAC 003AAB0C  7C 04 32 78 */	xor r4, r0, r6
/* 803AEEB0 003AAB10  4B FF DC 81 */	bl func_803ACB30
/* 803AEEB4 003AAB14  7C 65 1B 78 */	mr r5, r3
/* 803AEEB8 003AAB18  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEEBC 003AAB1C  38 80 00 00 */	li r4, 0
/* 803AEEC0 003AAB20  48 03 0E 0D */	bl func_803DFCCC
/* 803AEEC4 003AAB24  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AEEC8 003AAB28  7F A3 EB 78 */	mr r3, r29
/* 803AEECC 003AAB2C  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEED0 003AAB30  4B FF DC 61 */	bl func_803ACB30
/* 803AEED4 003AAB34  7C 65 1B 78 */	mr r5, r3
/* 803AEED8 003AAB38  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEEDC 003AAB3C  38 80 00 01 */	li r4, 1
/* 803AEEE0 003AAB40  48 03 0D F1 */	bl func_803DFCD0
/* 803AEEE4 003AAB44  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEEE8 003AAB48  7F A3 EB 78 */	mr r3, r29
/* 803AEEEC 003AAB4C  7F E6 FB 78 */	mr r6, r31
/* 803AEEF0 003AAB50  38 80 00 02 */	li r4, 2
/* 803AEEF4 003AAB54  48 00 02 9D */	bl func_803AF190
/* 803AEEF8 003AAB58  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803AEEFC 003AAB5C  7F A3 EB 78 */	mr r3, r29
/* 803AEF00 003AAB60  7F E6 FB 78 */	mr r6, r31
/* 803AEF04 003AAB64  38 80 00 03 */	li r4, 3
/* 803AEF08 003AAB68  48 00 02 89 */	bl func_803AF190
/* 803AEF0C 003AAB6C  48 00 01 B4 */	b lbl_803AF0C0
/* 803AEF10 003AAB70  80 04 00 04 */	lwz r0, 4(r4)
/* 803AEF14 003AAB74  7C 04 32 78 */	xor r4, r0, r6
/* 803AEF18 003AAB78  4B FF DC 19 */	bl func_803ACB30
/* 803AEF1C 003AAB7C  7C 65 1B 78 */	mr r5, r3
/* 803AEF20 003AAB80  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEF24 003AAB84  38 80 00 00 */	li r4, 0
/* 803AEF28 003AAB88  48 03 0D A5 */	bl func_803DFCCC
/* 803AEF2C 003AAB8C  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AEF30 003AAB90  7F A3 EB 78 */	mr r3, r29
/* 803AEF34 003AAB94  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEF38 003AAB98  4B FF DB F9 */	bl func_803ACB30
/* 803AEF3C 003AAB9C  7C 65 1B 78 */	mr r5, r3
/* 803AEF40 003AABA0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEF44 003AABA4  38 80 00 01 */	li r4, 1
/* 803AEF48 003AABA8  48 03 0D 89 */	bl func_803DFCD0
/* 803AEF4C 003AABAC  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AEF50 003AABB0  7F A3 EB 78 */	mr r3, r29
/* 803AEF54 003AABB4  7F E6 FB 78 */	mr r6, r31
/* 803AEF58 003AABB8  38 80 00 02 */	li r4, 2
/* 803AEF5C 003AABBC  48 00 02 35 */	bl func_803AF190
/* 803AEF60 003AABC0  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803AEF64 003AABC4  7F A3 EB 78 */	mr r3, r29
/* 803AEF68 003AABC8  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEF6C 003AABCC  4B FF DB C5 */	bl func_803ACB30
/* 803AEF70 003AABD0  7C 65 1B 78 */	mr r5, r3
/* 803AEF74 003AABD4  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEF78 003AABD8  38 80 00 03 */	li r4, 3
/* 803AEF7C 003AABDC  48 03 0D 55 */	bl func_803DFCD0
/* 803AEF80 003AABE0  48 00 01 40 */	b lbl_803AF0C0
/* 803AEF84 003AABE4  80 04 00 04 */	lwz r0, 4(r4)
/* 803AEF88 003AABE8  7C 04 32 78 */	xor r4, r0, r6
/* 803AEF8C 003AABEC  4B FF DB A5 */	bl func_803ACB30
/* 803AEF90 003AABF0  7C 65 1B 78 */	mr r5, r3
/* 803AEF94 003AABF4  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEF98 003AABF8  38 80 00 00 */	li r4, 0
/* 803AEF9C 003AABFC  48 03 0D 31 */	bl func_803DFCCC
/* 803AEFA0 003AAC00  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AEFA4 003AAC04  7F A3 EB 78 */	mr r3, r29
/* 803AEFA8 003AAC08  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEFAC 003AAC0C  4B FF DB 85 */	bl func_803ACB30
/* 803AEFB0 003AAC10  7C 65 1B 78 */	mr r5, r3
/* 803AEFB4 003AAC14  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEFB8 003AAC18  38 80 00 01 */	li r4, 1
/* 803AEFBC 003AAC1C  48 03 0D 15 */	bl func_803DFCD0
/* 803AEFC0 003AAC20  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 803AEFC4 003AAC24  7F A3 EB 78 */	mr r3, r29
/* 803AEFC8 003AAC28  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEFCC 003AAC2C  4B FF DB 65 */	bl func_803ACB30
/* 803AEFD0 003AAC30  7C 65 1B 78 */	mr r5, r3
/* 803AEFD4 003AAC34  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEFD8 003AAC38  38 80 00 02 */	li r4, 2
/* 803AEFDC 003AAC3C  48 03 0C F1 */	bl func_803DFCCC
/* 803AEFE0 003AAC40  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803AEFE4 003AAC44  7F A3 EB 78 */	mr r3, r29
/* 803AEFE8 003AAC48  7C 04 FA 78 */	xor r4, r0, r31
/* 803AEFEC 003AAC4C  4B FF DB 45 */	bl func_803ACB30
/* 803AEFF0 003AAC50  7C 65 1B 78 */	mr r5, r3
/* 803AEFF4 003AAC54  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AEFF8 003AAC58  38 80 00 03 */	li r4, 3
/* 803AEFFC 003AAC5C  48 03 0C D5 */	bl func_803DFCD0
/* 803AF000 003AAC60  48 00 00 C0 */	b lbl_803AF0C0
/* 803AF004 003AAC64  80 04 00 04 */	lwz r0, 4(r4)
/* 803AF008 003AAC68  7C 04 32 78 */	xor r4, r0, r6
/* 803AF00C 003AAC6C  4B FF DB 25 */	bl func_803ACB30
/* 803AF010 003AAC70  7C 65 1B 78 */	mr r5, r3
/* 803AF014 003AAC74  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AF018 003AAC78  38 80 00 00 */	li r4, 0
/* 803AF01C 003AAC7C  48 03 0C B1 */	bl func_803DFCCC
/* 803AF020 003AAC80  80 1E 00 08 */	lwz r0, 8(r30)
/* 803AF024 003AAC84  7F A3 EB 78 */	mr r3, r29
/* 803AF028 003AAC88  7C 04 FA 78 */	xor r4, r0, r31
/* 803AF02C 003AAC8C  4B FF DB 05 */	bl func_803ACB30
/* 803AF030 003AAC90  7C 65 1B 78 */	mr r5, r3
/* 803AF034 003AAC94  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AF038 003AAC98  38 80 00 01 */	li r4, 1
/* 803AF03C 003AAC9C  48 03 0C 95 */	bl func_803DFCD0
/* 803AF040 003AACA0  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803AF044 003AACA4  7F A3 EB 78 */	mr r3, r29
/* 803AF048 003AACA8  7F E6 FB 78 */	mr r6, r31
/* 803AF04C 003AACAC  38 80 00 02 */	li r4, 2
/* 803AF050 003AACB0  48 00 01 41 */	bl func_803AF190
/* 803AF054 003AACB4  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803AF058 003AACB8  7F A3 EB 78 */	mr r3, r29
/* 803AF05C 003AACBC  7C 04 FA 78 */	xor r4, r0, r31
/* 803AF060 003AACC0  4B FF DA D1 */	bl func_803ACB30
/* 803AF064 003AACC4  7C 65 1B 78 */	mr r5, r3
/* 803AF068 003AACC8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AF06C 003AACCC  38 80 00 03 */	li r4, 3
/* 803AF070 003AACD0  48 03 0C 5D */	bl func_803DFCCC
/* 803AF074 003AACD4  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 803AF078 003AACD8  7F A3 EB 78 */	mr r3, r29
/* 803AF07C 003AACDC  7C 04 FA 78 */	xor r4, r0, r31
/* 803AF080 003AACE0  4B FF DA B1 */	bl func_803ACB30
/* 803AF084 003AACE4  7C 65 1B 78 */	mr r5, r3
/* 803AF088 003AACE8  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 803AF08C 003AACEC  38 80 00 04 */	li r4, 4
/* 803AF090 003AACF0  48 03 0C 41 */	bl func_803DFCD0
/* 803AF094 003AACF4  80 BE 00 18 */	lwz r5, 0x18(r30)
/* 803AF098 003AACF8  7F A3 EB 78 */	mr r3, r29
/* 803AF09C 003AACFC  7F E6 FB 78 */	mr r6, r31
/* 803AF0A0 003AAD00  38 80 00 05 */	li r4, 5
/* 803AF0A4 003AAD04  48 00 00 ED */	bl func_803AF190
/* 803AF0A8 003AAD08  48 00 00 18 */	b lbl_803AF0C0
lbl_803AF0AC:
/* 803AF0AC 003AAD0C  3C 80 80 47 */	lis r4, lbl_804730E8@ha
/* 803AF0B0 003AAD10  38 60 00 00 */	li r3, 0
/* 803AF0B4 003AAD14  38 84 30 E8 */	addi r4, r4, lbl_804730E8@l
/* 803AF0B8 003AAD18  4C C6 31 82 */	crclr 6
/* 803AF0BC 003AAD1C  48 02 A7 E1 */	bl func_803D989C
lbl_803AF0C0:
/* 803AF0C0 003AAD20  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF0C4 003AAD24  4B E1 80 B9 */	bl _restgpr_29
/* 803AF0C8 003AAD28  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AF0CC 003AAD2C  7C 08 03 A6 */	mtlr r0
/* 803AF0D0 003AAD30  38 21 00 20 */	addi r1, r1, 0x20
/* 803AF0D4 003AAD34  4E 80 00 20 */	blr 

.global func_803AF0D8
func_803AF0D8:
/* 803AF0D8 003AAD38  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AF0DC 003AAD3C  7C 08 02 A6 */	mflr r0
/* 803AF0E0 003AAD40  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AF0E4 003AAD44  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF0E8 003AAD48  4B E1 80 3D */	bl _savegpr_26
/* 803AF0EC 003AAD4C  7C 7A 1B 78 */	mr r26, r3
/* 803AF0F0 003AAD50  7C 9B 23 78 */	mr r27, r4
/* 803AF0F4 003AAD54  7C BC 2B 78 */	mr r28, r5
/* 803AF0F8 003AAD58  7C DD 33 78 */	mr r29, r6
/* 803AF0FC 003AAD5C  7C FE 3B 78 */	mr r30, r7
/* 803AF100 003AAD60  3B E0 51 41 */	li r31, 0x5141
/* 803AF104 003AAD64  48 02 AA A9 */	bl func_803D9BAC
/* 803AF108 003AAD68  2C 03 00 01 */	cmpwi r3, 1
/* 803AF10C 003AAD6C  40 82 00 40 */	bne lbl_803AF14C
/* 803AF110 003AAD70  28 1E 51 31 */	cmplwi r30, 0x5131
/* 803AF114 003AAD74  41 82 00 34 */	beq lbl_803AF148
/* 803AF118 003AAD78  28 1E 51 32 */	cmplwi r30, 0x5132
/* 803AF11C 003AAD7C  41 82 00 2C */	beq lbl_803AF148
/* 803AF120 003AAD80  28 1E 51 33 */	cmplwi r30, 0x5133
/* 803AF124 003AAD84  41 82 00 24 */	beq lbl_803AF148
/* 803AF128 003AAD88  28 1E 51 34 */	cmplwi r30, 0x5134
/* 803AF12C 003AAD8C  41 82 00 1C */	beq lbl_803AF148
/* 803AF130 003AAD90  28 1E 51 3A */	cmplwi r30, 0x513a
/* 803AF134 003AAD94  41 82 00 14 */	beq lbl_803AF148
/* 803AF138 003AAD98  28 1E 51 3C */	cmplwi r30, 0x513c
/* 803AF13C 003AAD9C  41 82 00 0C */	beq lbl_803AF148
/* 803AF140 003AADA0  28 1E 51 40 */	cmplwi r30, 0x5140
/* 803AF144 003AADA4  40 82 00 08 */	bne lbl_803AF14C
lbl_803AF148:
/* 803AF148 003AADA8  3B E0 55 2A */	li r31, 0x552a
lbl_803AF14C:
/* 803AF14C 003AADAC  7F A3 EB 78 */	mr r3, r29
/* 803AF150 003AADB0  7C 9F E2 14 */	add r4, r31, r28
/* 803AF154 003AADB4  48 03 10 39 */	bl func_803E018C
/* 803AF158 003AADB8  7C 7F 1B 78 */	mr r31, r3
/* 803AF15C 003AADBC  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF160 003AADC0  7F 64 DB 78 */	mr r4, r27
/* 803AF164 003AADC4  48 03 0C A9 */	bl cAnimInventory_GetEndPhase
/* 803AF168 003AADC8  7F E4 FB 78 */	mr r4, r31
/* 803AF16C 003AADCC  48 02 FE F5 */	bl func_803DF060
/* 803AF170 003AADD0  7F E3 FB 78 */	mr r3, r31
/* 803AF174 003AADD4  48 02 FE C5 */	bl func_803DF038
/* 803AF178 003AADD8  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF17C 003AADDC  4B E1 7F F5 */	bl _restgpr_26
/* 803AF180 003AADE0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AF184 003AADE4  7C 08 03 A6 */	mtlr r0
/* 803AF188 003AADE8  38 21 00 20 */	addi r1, r1, 0x20
/* 803AF18C 003AADEC  4E 80 00 20 */	blr 

.global func_803AF190
func_803AF190:
/* 803AF190 003AADF0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AF194 003AADF4  7C 08 02 A6 */	mflr r0
/* 803AF198 003AADF8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AF19C 003AADFC  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF1A0 003AAE00  4B E1 7F 85 */	bl _savegpr_26
/* 803AF1A4 003AAE04  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803AF1A8 003AAE08  7C 7A 1B 78 */	mr r26, r3
/* 803AF1AC 003AAE0C  7C 9B 23 78 */	mr r27, r4
/* 803AF1B0 003AAE10  7C BC 2B 78 */	mr r28, r5
/* 803AF1B4 003AAE14  54 00 03 19 */	rlwinm. r0, r0, 0, 0xc, 0xc
/* 803AF1B8 003AAE18  41 82 01 40 */	beq lbl_803AF2F8
/* 803AF1BC 003AAE1C  80 0D B3 08 */	lwz r0, lbl_806405C8-_SDA_BASE_(r13)
/* 803AF1C0 003AAE20  2C 00 00 00 */	cmpwi r0, 0
/* 803AF1C4 003AAE24  40 82 01 34 */	bne lbl_803AF2F8
/* 803AF1C8 003AAE28  48 02 A9 E5 */	bl func_803D9BAC
/* 803AF1CC 003AAE2C  2C 03 00 00 */	cmpwi r3, 0
/* 803AF1D0 003AAE30  41 82 00 10 */	beq lbl_803AF1E0
/* 803AF1D4 003AAE34  48 02 A9 D9 */	bl func_803D9BAC
/* 803AF1D8 003AAE38  2C 03 00 05 */	cmpwi r3, 5
/* 803AF1DC 003AAE3C  40 82 00 90 */	bne lbl_803AF26C
lbl_803AF1E0:
/* 803AF1E0 003AAE40  57 9F 06 3E */	clrlwi r31, r28, 0x18
/* 803AF1E4 003AAE44  7F 43 D3 78 */	mr r3, r26
/* 803AF1E8 003AAE48  7F E4 FB 78 */	mr r4, r31
/* 803AF1EC 003AAE4C  4B FF D9 45 */	bl func_803ACB30
/* 803AF1F0 003AAE50  7C 65 1B 78 */	mr r5, r3
/* 803AF1F4 003AAE54  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF1F8 003AAE58  7F 64 DB 78 */	mr r4, r27
/* 803AF1FC 003AAE5C  48 03 0A D5 */	bl func_803DFCD0
/* 803AF200 003AAE60  80 7A 00 0C */	lwz r3, 0xc(r26)
/* 803AF204 003AAE64  38 80 51 43 */	li r4, 0x5143
/* 803AF208 003AAE68  48 03 0F 85 */	bl func_803E018C
/* 803AF20C 003AAE6C  7C 7E 1B 78 */	mr r30, r3
/* 803AF210 003AAE70  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF214 003AAE74  7F 64 DB 78 */	mr r4, r27
/* 803AF218 003AAE78  48 03 0B F5 */	bl cAnimInventory_GetEndPhase
/* 803AF21C 003AAE7C  7C 7D 1B 78 */	mr r29, r3
/* 803AF220 003AAE80  7F C4 F3 78 */	mr r4, r30
/* 803AF224 003AAE84  48 03 01 FD */	bl func_803DF420
/* 803AF228 003AAE88  7F C3 F3 78 */	mr r3, r30
/* 803AF22C 003AAE8C  48 02 FE 0D */	bl func_803DF038
/* 803AF230 003AAE90  7F 43 D3 78 */	mr r3, r26
/* 803AF234 003AAE94  7F E4 FB 78 */	mr r4, r31
/* 803AF238 003AAE98  57 85 C6 3E */	rlwinm r5, r28, 0x18, 0x18, 0x1f
/* 803AF23C 003AAE9C  4B FF D7 69 */	bl func_803AC9A4
/* 803AF240 003AAEA0  7C 65 1B 78 */	mr r5, r3
/* 803AF244 003AAEA4  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF248 003AAEA8  38 80 00 06 */	li r4, 6
/* 803AF24C 003AAEAC  48 03 06 49 */	bl func_803DF894
/* 803AF250 003AAEB0  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF254 003AAEB4  38 80 00 06 */	li r4, 6
/* 803AF258 003AAEB8  48 03 0B B5 */	bl cAnimInventory_GetEndPhase
/* 803AF25C 003AAEBC  7C 64 1B 78 */	mr r4, r3
/* 803AF260 003AAEC0  7F A3 EB 78 */	mr r3, r29
/* 803AF264 003AAEC4  48 03 01 BD */	bl func_803DF420
/* 803AF268 003AAEC8  48 00 00 B4 */	b lbl_803AF31C
lbl_803AF26C:
/* 803AF26C 003AAECC  57 9F 06 3E */	clrlwi r31, r28, 0x18
/* 803AF270 003AAED0  7F 43 D3 78 */	mr r3, r26
/* 803AF274 003AAED4  7F E4 FB 78 */	mr r4, r31
/* 803AF278 003AAED8  57 85 C6 3E */	rlwinm r5, r28, 0x18, 0x18, 0x1f
/* 803AF27C 003AAEDC  4B FF D7 29 */	bl func_803AC9A4
/* 803AF280 003AAEE0  7C 65 1B 78 */	mr r5, r3
/* 803AF284 003AAEE4  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF288 003AAEE8  7F 64 DB 78 */	mr r4, r27
/* 803AF28C 003AAEEC  48 03 06 09 */	bl func_803DF894
/* 803AF290 003AAEF0  80 7A 00 0C */	lwz r3, 0xc(r26)
/* 803AF294 003AAEF4  38 80 51 43 */	li r4, 0x5143
/* 803AF298 003AAEF8  48 03 0E F5 */	bl func_803E018C
/* 803AF29C 003AAEFC  7C 7D 1B 78 */	mr r29, r3
/* 803AF2A0 003AAF00  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF2A4 003AAF04  7F 64 DB 78 */	mr r4, r27
/* 803AF2A8 003AAF08  48 03 0B 65 */	bl cAnimInventory_GetEndPhase
/* 803AF2AC 003AAF0C  7C 7E 1B 78 */	mr r30, r3
/* 803AF2B0 003AAF10  7F A4 EB 78 */	mr r4, r29
/* 803AF2B4 003AAF14  48 03 01 6D */	bl func_803DF420
/* 803AF2B8 003AAF18  7F A3 EB 78 */	mr r3, r29
/* 803AF2BC 003AAF1C  48 02 FD 7D */	bl func_803DF038
/* 803AF2C0 003AAF20  7F 43 D3 78 */	mr r3, r26
/* 803AF2C4 003AAF24  7F E4 FB 78 */	mr r4, r31
/* 803AF2C8 003AAF28  4B FF D8 69 */	bl func_803ACB30
/* 803AF2CC 003AAF2C  7C 65 1B 78 */	mr r5, r3
/* 803AF2D0 003AAF30  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF2D4 003AAF34  38 80 00 06 */	li r4, 6
/* 803AF2D8 003AAF38  48 03 09 F9 */	bl func_803DFCD0
/* 803AF2DC 003AAF3C  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF2E0 003AAF40  38 80 00 06 */	li r4, 6
/* 803AF2E4 003AAF44  48 03 0B 29 */	bl cAnimInventory_GetEndPhase
/* 803AF2E8 003AAF48  7C 64 1B 78 */	mr r4, r3
/* 803AF2EC 003AAF4C  7F C3 F3 78 */	mr r3, r30
/* 803AF2F0 003AAF50  48 03 01 31 */	bl func_803DF420
/* 803AF2F4 003AAF54  48 00 00 28 */	b lbl_803AF31C
lbl_803AF2F8:
/* 803AF2F8 003AAF58  54 A0 06 3E */	clrlwi r0, r5, 0x18
/* 803AF2FC 003AAF5C  7F 43 D3 78 */	mr r3, r26
/* 803AF300 003AAF60  7C 04 32 78 */	xor r4, r0, r6
/* 803AF304 003AAF64  54 A5 C6 3E */	rlwinm r5, r5, 0x18, 0x18, 0x1f
/* 803AF308 003AAF68  4B FF D6 9D */	bl func_803AC9A4
/* 803AF30C 003AAF6C  7C 65 1B 78 */	mr r5, r3
/* 803AF310 003AAF70  80 7A 00 14 */	lwz r3, 0x14(r26)
/* 803AF314 003AAF74  7F 64 DB 78 */	mr r4, r27
/* 803AF318 003AAF78  48 03 05 7D */	bl func_803DF894
lbl_803AF31C:
/* 803AF31C 003AAF7C  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF320 003AAF80  4B E1 7E 51 */	bl _restgpr_26
/* 803AF324 003AAF84  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AF328 003AAF88  7C 08 03 A6 */	mtlr r0
/* 803AF32C 003AAF8C  38 21 00 20 */	addi r1, r1, 0x20
/* 803AF330 003AAF90  4E 80 00 20 */	blr 

.global func_803AF334
func_803AF334:
/* 803AF334 003AAF94  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AF338 003AAF98  7C 08 02 A6 */	mflr r0
/* 803AF33C 003AAF9C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AF340 003AAFA0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803AF344 003AAFA4  93 C1 00 08 */	stw r30, 8(r1)
/* 803AF348 003AAFA8  7C 7E 1B 78 */	mr r30, r3
/* 803AF34C 003AAFAC  7C 83 23 78 */	mr r3, r4
/* 803AF350 003AAFB0  A0 85 00 02 */	lhz r4, 2(r5)
/* 803AF354 003AAFB4  48 03 0E 39 */	bl func_803E018C
/* 803AF358 003AAFB8  7C 7F 1B 78 */	mr r31, r3
/* 803AF35C 003AAFBC  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803AF360 003AAFC0  80 9E 00 18 */	lwz r4, 0x18(r30)
/* 803AF364 003AAFC4  7F E5 FB 78 */	mr r5, r31
/* 803AF368 003AAFC8  48 03 09 C1 */	bl func_803DFD28
/* 803AF36C 003AAFCC  7F E3 FB 78 */	mr r3, r31
/* 803AF370 003AAFD0  48 02 FC C9 */	bl func_803DF038
/* 803AF374 003AAFD4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AF378 003AAFD8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803AF37C 003AAFDC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803AF380 003AAFE0  7C 08 03 A6 */	mtlr r0
/* 803AF384 003AAFE4  38 21 00 10 */	addi r1, r1, 0x10
/* 803AF388 003AAFE8  4E 80 00 20 */	blr 

.global func_803AF38C
func_803AF38C:
/* 803AF38C 003AAFEC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AF390 003AAFF0  7C 08 02 A6 */	mflr r0
/* 803AF394 003AAFF4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AF398 003AAFF8  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF39C 003AAFFC  4B E1 7D 95 */	bl _savegpr_29
/* 803AF3A0 003AB000  7C BF 2B 78 */	mr r31, r5
/* 803AF3A4 003AB004  7C 7D 1B 78 */	mr r29, r3
/* 803AF3A8 003AB008  7C 9E 23 78 */	mr r30, r4
/* 803AF3AC 003AB00C  38 A0 00 01 */	li r5, 1
/* 803AF3B0 003AB010  4B FF EB 91 */	bl func_803ADF40
/* 803AF3B4 003AB014  7F A3 EB 78 */	mr r3, r29
/* 803AF3B8 003AB018  7F C4 F3 78 */	mr r4, r30
/* 803AF3BC 003AB01C  7F E5 FB 78 */	mr r5, r31
/* 803AF3C0 003AB020  38 C0 00 01 */	li r6, 1
/* 803AF3C4 003AB024  4B FF EF B5 */	bl func_803AE378
/* 803AF3C8 003AB028  7F A3 EB 78 */	mr r3, r29
/* 803AF3CC 003AB02C  7F E4 FB 78 */	mr r4, r31
/* 803AF3D0 003AB030  7F C5 F3 78 */	mr r5, r30
/* 803AF3D4 003AB034  4B FF FF 61 */	bl func_803AF334
/* 803AF3D8 003AB038  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF3DC 003AB03C  4B E1 7D A1 */	bl _restgpr_29
/* 803AF3E0 003AB040  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AF3E4 003AB044  7C 08 03 A6 */	mtlr r0
/* 803AF3E8 003AB048  38 21 00 20 */	addi r1, r1, 0x20
/* 803AF3EC 003AB04C  4E 80 00 20 */	blr 

.global func_803AF3F0
func_803AF3F0:
/* 803AF3F0 003AB050  3C A0 80 47 */	lis r5, lbl_804732E8@ha
/* 803AF3F4 003AB054  38 C0 00 00 */	li r6, 0
/* 803AF3F8 003AB058  38 A5 32 E8 */	addi r5, r5, lbl_804732E8@l
/* 803AF3FC 003AB05C  38 80 00 00 */	li r4, 0
/* 803AF400 003AB060  48 00 00 2C */	b lbl_803AF42C
lbl_803AF404:
/* 803AF404 003AB064  7C 03 00 40 */	cmplw r3, r0
/* 803AF408 003AB068  40 82 00 1C */	bne lbl_803AF424
/* 803AF40C 003AB06C  38 06 00 01 */	addi r0, r6, 1
/* 803AF410 003AB070  3C 60 80 47 */	lis r3, lbl_804732E8@ha
/* 803AF414 003AB074  54 00 08 3C */	slwi r0, r0, 1
/* 803AF418 003AB078  38 63 32 E8 */	addi r3, r3, lbl_804732E8@l
/* 803AF41C 003AB07C  7C 63 02 2E */	lhzx r3, r3, r0
/* 803AF420 003AB080  4E 80 00 20 */	blr 
lbl_803AF424:
/* 803AF424 003AB084  38 C6 00 02 */	addi r6, r6, 2
/* 803AF428 003AB088  38 84 00 04 */	addi r4, r4, 4
lbl_803AF42C:
/* 803AF42C 003AB08C  7C 05 22 2E */	lhzx r0, r5, r4
/* 803AF430 003AB090  2C 00 00 00 */	cmpwi r0, 0
/* 803AF434 003AB094  40 82 FF D0 */	bne lbl_803AF404
/* 803AF438 003AB098  4E 80 00 20 */	blr 

.global func_803AF43C
func_803AF43C:
/* 803AF43C 003AB09C  80 63 23 E0 */	lwz r3, 0x23e0(r3)
/* 803AF440 003AB0A0  4E 80 00 20 */	blr 

.global func_803AF444
func_803AF444:
/* 803AF444 003AB0A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AF448 003AB0A8  7C 08 02 A6 */	mflr r0
/* 803AF44C 003AB0AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AF450 003AB0B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF454 003AB0B4  4B E1 7C D1 */	bl _savegpr_26
/* 803AF458 003AB0B8  7C 7D 1B 78 */	mr r29, r3
/* 803AF45C 003AB0BC  4B FF D6 15 */	bl func_803ACA70
/* 803AF460 003AB0C0  7C 7E 1B 78 */	mr r30, r3
/* 803AF464 003AB0C4  7F A3 EB 78 */	mr r3, r29
/* 803AF468 003AB0C8  4B FF D6 11 */	bl func_803ACA78
/* 803AF46C 003AB0CC  7C 7F 1B 78 */	mr r31, r3
/* 803AF470 003AB0D0  7F A3 EB 78 */	mr r3, r29
/* 803AF474 003AB0D4  4B FF D6 0D */	bl func_803ACA80
/* 803AF478 003AB0D8  7C 7C 1B 78 */	mr r28, r3
/* 803AF47C 003AB0DC  7F A3 EB 78 */	mr r3, r29
/* 803AF480 003AB0E0  4B FF D6 09 */	bl func_803ACA88
/* 803AF484 003AB0E4  A0 9F 00 00 */	lhz r4, 0(r31)
/* 803AF488 003AB0E8  A0 1C 00 00 */	lhz r0, 0(r28)
/* 803AF48C 003AB0EC  7C 04 00 40 */	cmplw r4, r0
/* 803AF490 003AB0F0  41 82 01 48 */	beq lbl_803AF5D8
/* 803AF494 003AB0F4  A0 03 00 00 */	lhz r0, 0(r3)
/* 803AF498 003AB0F8  7C 04 00 40 */	cmplw r4, r0
/* 803AF49C 003AB0FC  40 82 00 10 */	bne lbl_803AF4AC
/* 803AF4A0 003AB100  38 00 00 00 */	li r0, 0
/* 803AF4A4 003AB104  B0 1F 00 00 */	sth r0, 0(r31)
/* 803AF4A8 003AB108  B0 03 00 00 */	sth r0, 0(r3)
lbl_803AF4AC:
/* 803AF4AC 003AB10C  A0 1F 00 00 */	lhz r0, 0(r31)
/* 803AF4B0 003AB110  38 80 00 00 */	li r4, 0
/* 803AF4B4 003AB114  7C 7E 00 AE */	lbzx r3, r30, r0
/* 803AF4B8 003AB118  7C FE 02 14 */	add r7, r30, r0
/* 803AF4BC 003AB11C  88 07 00 02 */	lbz r0, 2(r7)
/* 803AF4C0 003AB120  2C 03 00 00 */	cmpwi r3, 0
/* 803AF4C4 003AB124  88 C7 00 03 */	lbz r6, 3(r7)
/* 803AF4C8 003AB128  8B 47 00 01 */	lbz r26, 1(r7)
/* 803AF4CC 003AB12C  50 06 44 2E */	rlwimi r6, r0, 8, 0x10, 0x17
/* 803AF4D0 003AB130  40 82 00 54 */	bne lbl_803AF524
/* 803AF4D4 003AB134  80 1D 00 30 */	lwz r0, 0x30(r29)
/* 803AF4D8 003AB138  57 48 44 2E */	rlwinm r8, r26, 8, 0x10, 0x17
/* 803AF4DC 003AB13C  7C 60 42 14 */	add r3, r0, r8
/* 803AF4E0 003AB140  88 03 23 00 */	lbz r0, 0x2300(r3)
/* 803AF4E4 003AB144  2C 00 00 00 */	cmpwi r0, 0
/* 803AF4E8 003AB148  40 82 00 C8 */	bne lbl_803AF5B0
/* 803AF4EC 003AB14C  38 A0 00 00 */	li r5, 0
/* 803AF4F0 003AB150  7C C9 03 A6 */	mtctr r6
/* 803AF4F4 003AB154  2C 06 00 00 */	cmpwi r6, 0
/* 803AF4F8 003AB158  40 81 00 24 */	ble lbl_803AF51C
lbl_803AF4FC:
/* 803AF4FC 003AB15C  7C 87 2A 14 */	add r4, r7, r5
/* 803AF500 003AB160  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF504 003AB164  7C 05 42 14 */	add r0, r5, r8
/* 803AF508 003AB168  88 84 00 04 */	lbz r4, 4(r4)
/* 803AF50C 003AB16C  7C 63 02 14 */	add r3, r3, r0
/* 803AF510 003AB170  38 A5 00 01 */	addi r5, r5, 1
/* 803AF514 003AB174  98 83 23 00 */	stb r4, 0x2300(r3)
/* 803AF518 003AB178  42 00 FF E4 */	bdnz lbl_803AF4FC
lbl_803AF51C:
/* 803AF51C 003AB17C  38 80 00 01 */	li r4, 1
/* 803AF520 003AB180  48 00 00 90 */	b lbl_803AF5B0
lbl_803AF524:
/* 803AF524 003AB184  28 03 00 01 */	cmplwi r3, 1
/* 803AF528 003AB188  40 82 00 50 */	bne lbl_803AF578
/* 803AF52C 003AB18C  57 40 15 BA */	rlwinm r0, r26, 2, 0x16, 0x1d
/* 803AF530 003AB190  7C BD 02 14 */	add r5, r29, r0
/* 803AF534 003AB194  80 65 00 34 */	lwz r3, 0x34(r5)
/* 803AF538 003AB198  88 03 00 84 */	lbz r0, 0x84(r3)
/* 803AF53C 003AB19C  2C 00 00 00 */	cmpwi r0, 0
/* 803AF540 003AB1A0  40 82 00 70 */	bne lbl_803AF5B0
/* 803AF544 003AB1A4  39 00 00 00 */	li r8, 0
/* 803AF548 003AB1A8  7C C9 03 A6 */	mtctr r6
/* 803AF54C 003AB1AC  2C 06 00 00 */	cmpwi r6, 0
/* 803AF550 003AB1B0  40 81 00 20 */	ble lbl_803AF570
lbl_803AF554:
/* 803AF554 003AB1B4  7C 67 42 14 */	add r3, r7, r8
/* 803AF558 003AB1B8  80 05 00 34 */	lwz r0, 0x34(r5)
/* 803AF55C 003AB1BC  88 83 00 04 */	lbz r4, 4(r3)
/* 803AF560 003AB1C0  7C 60 42 14 */	add r3, r0, r8
/* 803AF564 003AB1C4  39 08 00 01 */	addi r8, r8, 1
/* 803AF568 003AB1C8  98 83 00 84 */	stb r4, 0x84(r3)
/* 803AF56C 003AB1CC  42 00 FF E8 */	bdnz lbl_803AF554
lbl_803AF570:
/* 803AF570 003AB1D0  38 80 00 01 */	li r4, 1
/* 803AF574 003AB1D4  48 00 00 3C */	b lbl_803AF5B0
lbl_803AF578:
/* 803AF578 003AB1D8  28 03 00 02 */	cmplwi r3, 2
/* 803AF57C 003AB1DC  40 82 00 34 */	bne lbl_803AF5B0
/* 803AF580 003AB1E0  8B 67 00 04 */	lbz r27, 4(r7)
/* 803AF584 003AB1E4  7F A3 EB 78 */	mr r3, r29
/* 803AF588 003AB1E8  8B 87 00 05 */	lbz r28, 5(r7)
/* 803AF58C 003AB1EC  4B FF E6 19 */	bl func_803ADBA4
/* 803AF590 003AB1F0  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803AF594 003AB1F4  41 82 00 18 */	beq lbl_803AF5AC
/* 803AF598 003AB1F8  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF59C 003AB1FC  7F 84 E3 78 */	mr r4, r28
/* 803AF5A0 003AB200  7F 45 D3 78 */	mr r5, r26
/* 803AF5A4 003AB204  7F 66 DB 78 */	mr r6, r27
/* 803AF5A8 003AB208  48 00 B5 81 */	bl func_803BAB28
lbl_803AF5AC:
/* 803AF5AC 003AB20C  38 80 00 01 */	li r4, 1
lbl_803AF5B0:
/* 803AF5B0 003AB210  2C 04 00 01 */	cmpwi r4, 1
/* 803AF5B4 003AB214  40 82 00 24 */	bne lbl_803AF5D8
/* 803AF5B8 003AB218  A0 BF 00 00 */	lhz r5, 0(r31)
/* 803AF5BC 003AB21C  7C 85 F2 14 */	add r4, r5, r30
/* 803AF5C0 003AB220  88 64 00 02 */	lbz r3, 2(r4)
/* 803AF5C4 003AB224  88 04 00 03 */	lbz r0, 3(r4)
/* 803AF5C8 003AB228  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 803AF5CC 003AB22C  7C 60 2A 14 */	add r3, r0, r5
/* 803AF5D0 003AB230  38 03 00 04 */	addi r0, r3, 4
/* 803AF5D4 003AB234  B0 1F 00 00 */	sth r0, 0(r31)
lbl_803AF5D8:
/* 803AF5D8 003AB238  39 61 00 20 */	addi r11, r1, 0x20
/* 803AF5DC 003AB23C  4B E1 7B 95 */	bl _restgpr_26
/* 803AF5E0 003AB240  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AF5E4 003AB244  7C 08 03 A6 */	mtlr r0
/* 803AF5E8 003AB248  38 21 00 20 */	addi r1, r1, 0x20
/* 803AF5EC 003AB24C  4E 80 00 20 */	blr 

.global func_803AF5F0
func_803AF5F0:
/* 803AF5F0 003AB250  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803AF5F4 003AB254  7C 08 02 A6 */	mflr r0
/* 803AF5F8 003AB258  90 01 00 34 */	stw r0, 0x34(r1)
/* 803AF5FC 003AB25C  39 61 00 30 */	addi r11, r1, 0x30
/* 803AF600 003AB260  4B E1 7B 21 */	bl _savegpr_25
/* 803AF604 003AB264  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 803AF608 003AB268  7C 79 1B 78 */	mr r25, r3
/* 803AF60C 003AB26C  7C 9A 23 78 */	mr r26, r4
/* 803AF610 003AB270  7C BB 2B 78 */	mr r27, r5
/* 803AF614 003AB274  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803AF618 003AB278  7C DF 33 78 */	mr r31, r6
/* 803AF61C 003AB27C  7C FC 3B 78 */	mr r28, r7
/* 803AF620 003AB280  41 82 00 54 */	beq lbl_803AF674
/* 803AF624 003AB284  2C 04 00 01 */	cmpwi r4, 1
/* 803AF628 003AB288  40 82 00 30 */	bne lbl_803AF658
/* 803AF62C 003AB28C  3B A0 00 00 */	li r29, 0
/* 803AF630 003AB290  48 00 00 1C */	b lbl_803AF64C
lbl_803AF634:
/* 803AF634 003AB294  80 79 00 30 */	lwz r3, 0x30(r25)
/* 803AF638 003AB298  7F A4 EB 78 */	mr r4, r29
/* 803AF63C 003AB29C  88 DF 00 00 */	lbz r6, 0(r31)
/* 803AF640 003AB2A0  7F 65 DB 78 */	mr r5, r27
/* 803AF644 003AB2A4  48 00 B4 79 */	bl func_803BAABC
/* 803AF648 003AB2A8  3B BD 00 01 */	addi r29, r29, 1
lbl_803AF64C:
/* 803AF64C 003AB2AC  48 02 A2 11 */	bl func_803D985C
/* 803AF650 003AB2B0  7C 1D 18 00 */	cmpw r29, r3
/* 803AF654 003AB2B4  41 80 FF E0 */	blt lbl_803AF634
lbl_803AF658:
/* 803AF658 003AB2B8  7F 23 CB 78 */	mr r3, r25
/* 803AF65C 003AB2BC  7F 44 D3 78 */	mr r4, r26
/* 803AF660 003AB2C0  7F 65 DB 78 */	mr r5, r27
/* 803AF664 003AB2C4  7F E6 FB 78 */	mr r6, r31
/* 803AF668 003AB2C8  7F 87 E3 78 */	mr r7, r28
/* 803AF66C 003AB2CC  4B FF BE C5 */	bl func_803AB530
/* 803AF670 003AB2D0  48 00 00 C0 */	b lbl_803AF730
lbl_803AF674:
/* 803AF674 003AB2D4  2C 04 00 01 */	cmpwi r4, 1
/* 803AF678 003AB2D8  40 82 00 14 */	bne lbl_803AF68C
/* 803AF67C 003AB2DC  80 63 00 30 */	lwz r3, 0x30(r3)
/* 803AF680 003AB2E0  38 80 00 00 */	li r4, 0
/* 803AF684 003AB2E4  88 C6 00 00 */	lbz r6, 0(r6)
/* 803AF688 003AB2E8  48 00 B4 35 */	bl func_803BAABC
lbl_803AF68C:
/* 803AF68C 003AB2EC  7F 23 CB 78 */	mr r3, r25
/* 803AF690 003AB2F0  4B FF D3 E1 */	bl func_803ACA70
/* 803AF694 003AB2F4  7C 7D 1B 78 */	mr r29, r3
/* 803AF698 003AB2F8  7F 23 CB 78 */	mr r3, r25
/* 803AF69C 003AB2FC  4B FF D3 E5 */	bl func_803ACA80
/* 803AF6A0 003AB300  7C 7E 1B 78 */	mr r30, r3
/* 803AF6A4 003AB304  7F 23 CB 78 */	mr r3, r25
/* 803AF6A8 003AB308  4B FF D3 E1 */	bl func_803ACA88
/* 803AF6AC 003AB30C  A0 BE 00 00 */	lhz r5, 0(r30)
/* 803AF6B0 003AB310  7C 85 E2 14 */	add r4, r5, r28
/* 803AF6B4 003AB314  38 04 00 05 */	addi r0, r4, 5
/* 803AF6B8 003AB318  28 00 10 00 */	cmplwi r0, 0x1000
/* 803AF6BC 003AB31C  40 81 00 10 */	ble lbl_803AF6CC
/* 803AF6C0 003AB320  B0 A3 00 00 */	sth r5, 0(r3)
/* 803AF6C4 003AB324  38 00 00 00 */	li r0, 0
/* 803AF6C8 003AB328  B0 1E 00 00 */	sth r0, 0(r30)
lbl_803AF6CC:
/* 803AF6CC 003AB32C  38 00 00 04 */	li r0, 4
/* 803AF6D0 003AB330  9B 41 00 08 */	stb r26, 8(r1)
/* 803AF6D4 003AB334  38 61 00 08 */	addi r3, r1, 8
/* 803AF6D8 003AB338  9B 61 00 09 */	stb r27, 9(r1)
/* 803AF6DC 003AB33C  B3 81 00 0A */	sth r28, 0xa(r1)
/* 803AF6E0 003AB340  7C 09 03 A6 */	mtctr r0
lbl_803AF6E4:
/* 803AF6E4 003AB344  88 83 00 00 */	lbz r4, 0(r3)
/* 803AF6E8 003AB348  38 63 00 01 */	addi r3, r3, 1
/* 803AF6EC 003AB34C  A0 1E 00 00 */	lhz r0, 0(r30)
/* 803AF6F0 003AB350  7C 9D 01 AE */	stbx r4, r29, r0
/* 803AF6F4 003AB354  A0 9E 00 00 */	lhz r4, 0(r30)
/* 803AF6F8 003AB358  38 04 00 01 */	addi r0, r4, 1
/* 803AF6FC 003AB35C  B0 1E 00 00 */	sth r0, 0(r30)
/* 803AF700 003AB360  42 00 FF E4 */	bdnz lbl_803AF6E4
/* 803AF704 003AB364  7F 89 03 A6 */	mtctr r28
/* 803AF708 003AB368  2C 1C 00 00 */	cmpwi r28, 0
/* 803AF70C 003AB36C  40 81 00 24 */	ble lbl_803AF730
lbl_803AF710:
/* 803AF710 003AB370  88 7F 00 00 */	lbz r3, 0(r31)
/* 803AF714 003AB374  3B FF 00 01 */	addi r31, r31, 1
/* 803AF718 003AB378  A0 1E 00 00 */	lhz r0, 0(r30)
/* 803AF71C 003AB37C  7C 7D 01 AE */	stbx r3, r29, r0
/* 803AF720 003AB380  A0 7E 00 00 */	lhz r3, 0(r30)
/* 803AF724 003AB384  38 03 00 01 */	addi r0, r3, 1
/* 803AF728 003AB388  B0 1E 00 00 */	sth r0, 0(r30)
/* 803AF72C 003AB38C  42 00 FF E4 */	bdnz lbl_803AF710
lbl_803AF730:
/* 803AF730 003AB390  39 61 00 30 */	addi r11, r1, 0x30
/* 803AF734 003AB394  4B E1 7A 39 */	bl _restgpr_25
/* 803AF738 003AB398  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803AF73C 003AB39C  7C 08 03 A6 */	mtlr r0
/* 803AF740 003AB3A0  38 21 00 30 */	addi r1, r1, 0x30
/* 803AF744 003AB3A4  4E 80 00 20 */	blr 

.global func_803AF748
func_803AF748:
/* 803AF748 003AB3A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AF74C 003AB3AC  7C 08 02 A6 */	mflr r0
/* 803AF750 003AB3B0  7C 85 23 78 */	mr r5, r4
/* 803AF754 003AB3B4  38 80 00 01 */	li r4, 1
/* 803AF758 003AB3B8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AF75C 003AB3BC  3C 00 01 00 */	lis r0, 0x100
/* 803AF760 003AB3C0  38 C1 00 08 */	addi r6, r1, 8
/* 803AF764 003AB3C4  38 E0 00 04 */	li r7, 4
/* 803AF768 003AB3C8  90 01 00 08 */	stw r0, 8(r1)
/* 803AF76C 003AB3CC  4B FF FE 85 */	bl func_803AF5F0
/* 803AF770 003AB3D0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AF774 003AB3D4  7C 08 03 A6 */	mtlr r0
/* 803AF778 003AB3D8  38 21 00 10 */	addi r1, r1, 0x10
/* 803AF77C 003AB3DC  4E 80 00 20 */	blr 

.global func_803AF780
func_803AF780:
/* 803AF780 003AB3E0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803AF784 003AB3E4  7C 08 02 A6 */	mflr r0
/* 803AF788 003AB3E8  90 01 00 64 */	stw r0, 0x64(r1)
/* 803AF78C 003AB3EC  39 61 00 60 */	addi r11, r1, 0x60
/* 803AF790 003AB3F0  4B E1 79 99 */	bl _savegpr_27
/* 803AF794 003AB3F4  38 00 00 02 */	li r0, 2
/* 803AF798 003AB3F8  88 C1 00 09 */	lbz r6, 9(r1)
/* 803AF79C 003AB3FC  98 01 00 08 */	stb r0, 8(r1)
/* 803AF7A0 003AB400  1F E4 00 C0 */	mulli r31, r4, 0xc0
/* 803AF7A4 003AB404  7C 7D 1B 78 */	mr r29, r3
/* 803AF7A8 003AB408  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF7AC 003AB40C  7C 9E 23 78 */	mr r30, r4
/* 803AF7B0 003AB410  7C A0 FA 14 */	add r5, r0, r31
/* 803AF7B4 003AB414  88 05 2D BE */	lbz r0, 0x2dbe(r5)
/* 803AF7B8 003AB418  50 06 16 32 */	rlwimi r6, r0, 2, 0x18, 0x19
/* 803AF7BC 003AB41C  98 C1 00 09 */	stb r6, 9(r1)
/* 803AF7C0 003AB420  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF7C4 003AB424  7C A0 FA 14 */	add r5, r0, r31
/* 803AF7C8 003AB428  88 05 2D 66 */	lbz r0, 0x2d66(r5)
/* 803AF7CC 003AB42C  50 06 1E B4 */	rlwimi r6, r0, 3, 0x1a, 0x1a
/* 803AF7D0 003AB430  98 C1 00 09 */	stb r6, 9(r1)
/* 803AF7D4 003AB434  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF7D8 003AB438  7C A0 FA 14 */	add r5, r0, r31
/* 803AF7DC 003AB43C  A0 05 2D 40 */	lhz r0, 0x2d40(r5)
/* 803AF7E0 003AB440  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803AF7E4 003AB444  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF7E8 003AB448  7C A0 FA 14 */	add r5, r0, r31
/* 803AF7EC 003AB44C  80 05 2D A8 */	lwz r0, 0x2da8(r5)
/* 803AF7F0 003AB450  90 01 00 0C */	stw r0, 0xc(r1)
/* 803AF7F4 003AB454  4B FF D4 E1 */	bl func_803ACCD4
/* 803AF7F8 003AB458  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803AF7FC 003AB45C  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF800 003AB460  7F C4 F3 78 */	mr r4, r30
/* 803AF804 003AB464  38 C0 00 01 */	li r6, 1
/* 803AF808 003AB468  48 01 61 E9 */	bl func_803C59F0
/* 803AF80C 003AB46C  90 61 00 10 */	stw r3, 0x10(r1)
/* 803AF810 003AB470  3B 60 00 00 */	li r27, 0
/* 803AF814 003AB474  88 01 00 09 */	lbz r0, 9(r1)
/* 803AF818 003AB478  3B 80 00 00 */	li r28, 0
/* 803AF81C 003AB47C  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF820 003AB480  7C 63 FA 14 */	add r3, r3, r31
/* 803AF824 003AB484  88 63 2D 66 */	lbz r3, 0x2d66(r3)
/* 803AF828 003AB488  50 60 EE FE */	rlwimi r0, r3, 0x1d, 0x1b, 0x1f
/* 803AF82C 003AB48C  98 01 00 09 */	stb r0, 9(r1)
lbl_803AF830:
/* 803AF830 003AB490  3B E1 00 08 */	addi r31, r1, 8
/* 803AF834 003AB494  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF838 003AB498  7F C4 F3 78 */	mr r4, r30
/* 803AF83C 003AB49C  38 BB 00 06 */	addi r5, r27, 6
/* 803AF840 003AB4A0  7F FF E2 14 */	add r31, r31, r28
/* 803AF844 003AB4A4  38 C0 00 00 */	li r6, 0
/* 803AF848 003AB4A8  48 00 B4 5D */	bl func_803BACA4
/* 803AF84C 003AB4AC  B0 7F 00 0C */	sth r3, 0xc(r31)
/* 803AF850 003AB4B0  7F C4 F3 78 */	mr r4, r30
/* 803AF854 003AB4B4  38 BB 00 1F */	addi r5, r27, 0x1f
/* 803AF858 003AB4B8  38 C0 00 00 */	li r6, 0
/* 803AF85C 003AB4BC  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF860 003AB4C0  48 00 B4 45 */	bl func_803BACA4
/* 803AF864 003AB4C4  B0 7F 00 14 */	sth r3, 0x14(r31)
/* 803AF868 003AB4C8  7F C4 F3 78 */	mr r4, r30
/* 803AF86C 003AB4CC  38 BB 00 27 */	addi r5, r27, 0x27
/* 803AF870 003AB4D0  38 C0 00 00 */	li r6, 0
/* 803AF874 003AB4D4  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF878 003AB4D8  48 00 B4 2D */	bl func_803BACA4
/* 803AF87C 003AB4DC  3B 7B 00 01 */	addi r27, r27, 1
/* 803AF880 003AB4E0  B0 7F 00 1C */	sth r3, 0x1c(r31)
/* 803AF884 003AB4E4  2C 1B 00 04 */	cmpwi r27, 4
/* 803AF888 003AB4E8  3B 9C 00 02 */	addi r28, r28, 2
/* 803AF88C 003AB4EC  41 80 FF A4 */	blt lbl_803AF830
/* 803AF890 003AB4F0  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF894 003AB4F4  7F C4 F3 78 */	mr r4, r30
/* 803AF898 003AB4F8  38 C1 00 2C */	addi r6, r1, 0x2c
/* 803AF89C 003AB4FC  38 A0 00 2D */	li r5, 0x2d
/* 803AF8A0 003AB500  48 00 B4 05 */	bl func_803BACA4
/* 803AF8A4 003AB504  7F A3 EB 78 */	mr r3, r29
/* 803AF8A8 003AB508  7F C5 F3 78 */	mr r5, r30
/* 803AF8AC 003AB50C  38 C1 00 08 */	addi r6, r1, 8
/* 803AF8B0 003AB510  38 80 00 01 */	li r4, 1
/* 803AF8B4 003AB514  38 E0 00 3C */	li r7, 0x3c
/* 803AF8B8 003AB518  4B FF FD 39 */	bl func_803AF5F0
/* 803AF8BC 003AB51C  39 61 00 60 */	addi r11, r1, 0x60
/* 803AF8C0 003AB520  4B E1 78 B5 */	bl _restgpr_27
/* 803AF8C4 003AB524  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803AF8C8 003AB528  7C 08 03 A6 */	mtlr r0
/* 803AF8CC 003AB52C  38 21 00 60 */	addi r1, r1, 0x60
/* 803AF8D0 003AB530  4E 80 00 20 */	blr 

.global func_803AF8D4
func_803AF8D4:
/* 803AF8D4 003AB534  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 803AF8D8 003AB538  7C 08 02 A6 */	mflr r0
/* 803AF8DC 003AB53C  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 803AF8E0 003AB540  39 61 00 A0 */	addi r11, r1, 0xa0
/* 803AF8E4 003AB544  4B E1 78 45 */	bl _savegpr_27
/* 803AF8E8 003AB548  38 00 00 03 */	li r0, 3
/* 803AF8EC 003AB54C  88 C1 00 09 */	lbz r6, 9(r1)
/* 803AF8F0 003AB550  98 01 00 08 */	stb r0, 8(r1)
/* 803AF8F4 003AB554  1F E4 00 C0 */	mulli r31, r4, 0xc0
/* 803AF8F8 003AB558  7C 7D 1B 78 */	mr r29, r3
/* 803AF8FC 003AB55C  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF900 003AB560  7C 9E 23 78 */	mr r30, r4
/* 803AF904 003AB564  7C A0 FA 14 */	add r5, r0, r31
/* 803AF908 003AB568  88 05 2D BE */	lbz r0, 0x2dbe(r5)
/* 803AF90C 003AB56C  50 06 16 32 */	rlwimi r6, r0, 2, 0x18, 0x19
/* 803AF910 003AB570  98 C1 00 09 */	stb r6, 9(r1)
/* 803AF914 003AB574  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF918 003AB578  7C A0 FA 14 */	add r5, r0, r31
/* 803AF91C 003AB57C  88 05 2D 66 */	lbz r0, 0x2d66(r5)
/* 803AF920 003AB580  50 06 1E B4 */	rlwimi r6, r0, 3, 0x1a, 0x1a
/* 803AF924 003AB584  98 C1 00 09 */	stb r6, 9(r1)
/* 803AF928 003AB588  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF92C 003AB58C  7C A0 FA 14 */	add r5, r0, r31
/* 803AF930 003AB590  A0 05 2D 40 */	lhz r0, 0x2d40(r5)
/* 803AF934 003AB594  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803AF938 003AB598  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AF93C 003AB59C  7C A0 FA 14 */	add r5, r0, r31
/* 803AF940 003AB5A0  80 05 2D A8 */	lwz r0, 0x2da8(r5)
/* 803AF944 003AB5A4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803AF948 003AB5A8  4B FF D3 8D */	bl func_803ACCD4
/* 803AF94C 003AB5AC  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803AF950 003AB5B0  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF954 003AB5B4  7F C4 F3 78 */	mr r4, r30
/* 803AF958 003AB5B8  38 C0 00 01 */	li r6, 1
/* 803AF95C 003AB5BC  48 01 60 95 */	bl func_803C59F0
/* 803AF960 003AB5C0  90 61 00 10 */	stw r3, 0x10(r1)
/* 803AF964 003AB5C4  7F A3 EB 78 */	mr r3, r29
/* 803AF968 003AB5C8  88 01 00 09 */	lbz r0, 9(r1)
/* 803AF96C 003AB5CC  7F C4 F3 78 */	mr r4, r30
/* 803AF970 003AB5D0  80 BD 00 30 */	lwz r5, 0x30(r29)
/* 803AF974 003AB5D4  7C A5 F2 14 */	add r5, r5, r30
/* 803AF978 003AB5D8  88 A5 21 9C */	lbz r5, 0x219c(r5)
/* 803AF97C 003AB5DC  90 A1 00 14 */	stw r5, 0x14(r1)
/* 803AF980 003AB5E0  80 BD 00 30 */	lwz r5, 0x30(r29)
/* 803AF984 003AB5E4  7C A5 FA 14 */	add r5, r5, r31
/* 803AF988 003AB5E8  88 A5 2D 66 */	lbz r5, 0x2d66(r5)
/* 803AF98C 003AB5EC  50 A0 EE FE */	rlwimi r0, r5, 0x1d, 0x1b, 0x1f
/* 803AF990 003AB5F0  98 01 00 09 */	stb r0, 9(r1)
/* 803AF994 003AB5F4  80 1D 00 30 */	lwz r0, 0x30(r29)
/* 803AF998 003AB5F8  7C A0 FA 14 */	add r5, r0, r31
/* 803AF99C 003AB5FC  88 05 2D BF */	lbz r0, 0x2dbf(r5)
/* 803AF9A0 003AB600  90 01 00 18 */	stw r0, 0x18(r1)
/* 803AF9A4 003AB604  4B FF D3 95 */	bl func_803ACD38
/* 803AF9A8 003AB608  80 1D 00 30 */	lwz r0, 0x30(r29)
/* 803AF9AC 003AB60C  7F C4 F3 78 */	mr r4, r30
/* 803AF9B0 003AB610  80 A1 00 14 */	lwz r5, 0x14(r1)
/* 803AF9B4 003AB614  7C C0 1A 14 */	add r6, r0, r3
/* 803AF9B8 003AB618  7F A3 EB 78 */	mr r3, r29
/* 803AF9BC 003AB61C  88 06 21 9C */	lbz r0, 0x219c(r6)
/* 803AF9C0 003AB620  90 01 00 50 */	stw r0, 0x50(r1)
/* 803AF9C4 003AB624  4B FF E2 A1 */	bl func_803ADC64
/* 803AF9C8 003AB628  3B 60 00 00 */	li r27, 0
/* 803AF9CC 003AB62C  3B E0 00 00 */	li r31, 0
lbl_803AF9D0:
/* 803AF9D0 003AB630  3B 81 00 08 */	addi r28, r1, 8
/* 803AF9D4 003AB634  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AF9D8 003AB638  7F C4 F3 78 */	mr r4, r30
/* 803AF9DC 003AB63C  38 BB 00 06 */	addi r5, r27, 6
/* 803AF9E0 003AB640  7F 9C FA 14 */	add r28, r28, r31
/* 803AF9E4 003AB644  38 C0 00 00 */	li r6, 0
/* 803AF9E8 003AB648  48 00 B2 BD */	bl func_803BACA4
/* 803AF9EC 003AB64C  B0 7C 00 18 */	sth r3, 0x18(r28)
/* 803AF9F0 003AB650  7F C4 F3 78 */	mr r4, r30
/* 803AF9F4 003AB654  38 BB 00 1F */	addi r5, r27, 0x1f
/* 803AF9F8 003AB658  38 C0 00 00 */	li r6, 0
/* 803AF9FC 003AB65C  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AFA00 003AB660  48 00 B2 A5 */	bl func_803BACA4
/* 803AFA04 003AB664  B0 7C 00 20 */	sth r3, 0x20(r28)
/* 803AFA08 003AB668  7F C4 F3 78 */	mr r4, r30
/* 803AFA0C 003AB66C  38 BB 00 27 */	addi r5, r27, 0x27
/* 803AFA10 003AB670  38 C0 00 00 */	li r6, 0
/* 803AFA14 003AB674  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AFA18 003AB678  48 00 B2 8D */	bl func_803BACA4
/* 803AFA1C 003AB67C  3B 7B 00 01 */	addi r27, r27, 1
/* 803AFA20 003AB680  B0 7C 00 28 */	sth r3, 0x28(r28)
/* 803AFA24 003AB684  2C 1B 00 04 */	cmpwi r27, 4
/* 803AFA28 003AB688  3B FF 00 02 */	addi r31, r31, 2
/* 803AFA2C 003AB68C  41 80 FF A4 */	blt lbl_803AF9D0
/* 803AFA30 003AB690  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 803AFA34 003AB694  7F C4 F3 78 */	mr r4, r30
/* 803AFA38 003AB698  38 C1 00 38 */	addi r6, r1, 0x38
/* 803AFA3C 003AB69C  38 A0 00 2D */	li r5, 0x2d
/* 803AFA40 003AB6A0  48 00 B2 65 */	bl func_803BACA4
/* 803AFA44 003AB6A4  7F A3 EB 78 */	mr r3, r29
/* 803AFA48 003AB6A8  7F C5 F3 78 */	mr r5, r30
/* 803AFA4C 003AB6AC  38 C1 00 08 */	addi r6, r1, 8
/* 803AFA50 003AB6B0  38 80 00 01 */	li r4, 1
/* 803AFA54 003AB6B4  38 E0 00 74 */	li r7, 0x74
/* 803AFA58 003AB6B8  4B FF FB 99 */	bl func_803AF5F0
/* 803AFA5C 003AB6BC  39 61 00 A0 */	addi r11, r1, 0xa0
/* 803AFA60 003AB6C0  4B E1 77 15 */	bl _restgpr_27
/* 803AFA64 003AB6C4  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 803AFA68 003AB6C8  7C 08 03 A6 */	mtlr r0
/* 803AFA6C 003AB6CC  38 21 00 A0 */	addi r1, r1, 0xa0
/* 803AFA70 003AB6D0  4E 80 00 20 */	blr 

.global func_803AFA74
func_803AFA74:
/* 803AFA74 003AB6D4  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 803AFA78 003AB6D8  7C 08 02 A6 */	mflr r0
/* 803AFA7C 003AB6DC  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 803AFA80 003AB6E0  39 61 00 A0 */	addi r11, r1, 0xa0
/* 803AFA84 003AB6E4  4B E1 76 A5 */	bl _savegpr_27
/* 803AFA88 003AB6E8  38 00 00 04 */	li r0, 4
/* 803AFA8C 003AB6EC  7C 9C 23 78 */	mr r28, r4
/* 803AFA90 003AB6F0  98 01 00 08 */	stb r0, 8(r1)
/* 803AFA94 003AB6F4  1F E4 00 C0 */	mulli r31, r4, 0xc0
/* 803AFA98 003AB6F8  7C 7B 1B 78 */	mr r27, r3
/* 803AFA9C 003AB6FC  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AFAA0 003AB700  7C BD 2B 78 */	mr r29, r5
/* 803AFAA4 003AB704  7C DE 33 78 */	mr r30, r6
/* 803AFAA8 003AB708  7C 80 FA 14 */	add r4, r0, r31
/* 803AFAAC 003AB70C  80 04 2D B0 */	lwz r0, 0x2db0(r4)
/* 803AFAB0 003AB710  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803AFAB4 003AB714  41 82 00 28 */	beq lbl_803AFADC
/* 803AFAB8 003AB718  A0 84 2D FA */	lhz r4, 0x2dfa(r4)
/* 803AFABC 003AB71C  88 01 00 09 */	lbz r0, 9(r1)
/* 803AFAC0 003AB720  50 80 36 32 */	rlwimi r0, r4, 6, 0x18, 0x19
/* 803AFAC4 003AB724  98 01 00 09 */	stb r0, 9(r1)
/* 803AFAC8 003AB728  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AFACC 003AB72C  7C 80 FA 14 */	add r4, r0, r31
/* 803AFAD0 003AB730  80 04 2D E4 */	lwz r0, 0x2de4(r4)
/* 803AFAD4 003AB734  90 01 00 0C */	stw r0, 0xc(r1)
/* 803AFAD8 003AB738  48 00 00 24 */	b lbl_803AFAFC
lbl_803AFADC:
/* 803AFADC 003AB73C  88 84 2D BE */	lbz r4, 0x2dbe(r4)
/* 803AFAE0 003AB740  88 01 00 09 */	lbz r0, 9(r1)
/* 803AFAE4 003AB744  50 80 16 32 */	rlwimi r0, r4, 2, 0x18, 0x19
/* 803AFAE8 003AB748  98 01 00 09 */	stb r0, 9(r1)
/* 803AFAEC 003AB74C  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AFAF0 003AB750  7C 80 FA 14 */	add r4, r0, r31
/* 803AFAF4 003AB754  80 04 2D A8 */	lwz r0, 0x2da8(r4)
/* 803AFAF8 003AB758  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803AFAFC:
/* 803AFAFC 003AB75C  80 A3 00 30 */	lwz r5, 0x30(r3)
/* 803AFB00 003AB760  7F 84 E3 78 */	mr r4, r28
/* 803AFB04 003AB764  88 01 00 09 */	lbz r0, 9(r1)
/* 803AFB08 003AB768  7C A5 FA 14 */	add r5, r5, r31
/* 803AFB0C 003AB76C  88 A5 2D 66 */	lbz r5, 0x2d66(r5)
/* 803AFB10 003AB770  50 A0 1E B4 */	rlwimi r0, r5, 3, 0x1a, 0x1a
/* 803AFB14 003AB774  98 01 00 09 */	stb r0, 9(r1)
/* 803AFB18 003AB778  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AFB1C 003AB77C  7F 63 DB 78 */	mr r3, r27
/* 803AFB20 003AB780  7C A0 FA 14 */	add r5, r0, r31
/* 803AFB24 003AB784  A0 05 2D 40 */	lhz r0, 0x2d40(r5)
/* 803AFB28 003AB788  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803AFB2C 003AB78C  4B FF D1 A9 */	bl func_803ACCD4
/* 803AFB30 003AB790  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803AFB34 003AB794  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFB38 003AB798  7F 84 E3 78 */	mr r4, r28
/* 803AFB3C 003AB79C  38 C0 00 00 */	li r6, 0
/* 803AFB40 003AB7A0  48 01 5E B1 */	bl func_803C59F0
/* 803AFB44 003AB7A4  90 61 00 10 */	stw r3, 0x10(r1)
/* 803AFB48 003AB7A8  2C 1D 00 00 */	cmpwi r29, 0
/* 803AFB4C 003AB7AC  88 01 00 09 */	lbz r0, 9(r1)
/* 803AFB50 003AB7B0  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFB54 003AB7B4  7C 63 E2 14 */	add r3, r3, r28
/* 803AFB58 003AB7B8  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803AFB5C 003AB7BC  90 61 00 14 */	stw r3, 0x14(r1)
/* 803AFB60 003AB7C0  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFB64 003AB7C4  7C 63 FA 14 */	add r3, r3, r31
/* 803AFB68 003AB7C8  88 63 2D 66 */	lbz r3, 0x2d66(r3)
/* 803AFB6C 003AB7CC  50 60 EE FE */	rlwimi r0, r3, 0x1d, 0x1b, 0x1f
/* 803AFB70 003AB7D0  98 01 00 09 */	stb r0, 9(r1)
/* 803AFB74 003AB7D4  41 82 00 0C */	beq lbl_803AFB80
/* 803AFB78 003AB7D8  93 A1 00 18 */	stw r29, 0x18(r1)
/* 803AFB7C 003AB7DC  48 00 00 14 */	b lbl_803AFB90
lbl_803AFB80:
/* 803AFB80 003AB7E0  80 1B 00 30 */	lwz r0, 0x30(r27)
/* 803AFB84 003AB7E4  7C 60 FA 14 */	add r3, r0, r31
/* 803AFB88 003AB7E8  88 03 2D BF */	lbz r0, 0x2dbf(r3)
/* 803AFB8C 003AB7EC  90 01 00 18 */	stw r0, 0x18(r1)
lbl_803AFB90:
/* 803AFB90 003AB7F0  93 C1 00 1C */	stw r30, 0x1c(r1)
/* 803AFB94 003AB7F4  7F 63 DB 78 */	mr r3, r27
/* 803AFB98 003AB7F8  80 A1 00 14 */	lwz r5, 0x14(r1)
/* 803AFB9C 003AB7FC  7F 84 E3 78 */	mr r4, r28
/* 803AFBA0 003AB800  80 1B 00 30 */	lwz r0, 0x30(r27)
/* 803AFBA4 003AB804  7C C0 FA 14 */	add r6, r0, r31
/* 803AFBA8 003AB808  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803AFBAC 003AB80C  54 00 47 FE */	rlwinm r0, r0, 8, 0x1f, 0x1f
/* 803AFBB0 003AB810  90 01 00 54 */	stw r0, 0x54(r1)
/* 803AFBB4 003AB814  4B FF E0 B1 */	bl func_803ADC64
/* 803AFBB8 003AB818  3B E0 00 00 */	li r31, 0
/* 803AFBBC 003AB81C  3B A0 00 00 */	li r29, 0
lbl_803AFBC0:
/* 803AFBC0 003AB820  3B C1 00 08 */	addi r30, r1, 8
/* 803AFBC4 003AB824  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFBC8 003AB828  7F 84 E3 78 */	mr r4, r28
/* 803AFBCC 003AB82C  38 BF 00 06 */	addi r5, r31, 6
/* 803AFBD0 003AB830  7F DE EA 14 */	add r30, r30, r29
/* 803AFBD4 003AB834  38 C0 00 00 */	li r6, 0
/* 803AFBD8 003AB838  48 00 B0 CD */	bl func_803BACA4
/* 803AFBDC 003AB83C  B0 7E 00 18 */	sth r3, 0x18(r30)
/* 803AFBE0 003AB840  7F 84 E3 78 */	mr r4, r28
/* 803AFBE4 003AB844  38 BF 00 1F */	addi r5, r31, 0x1f
/* 803AFBE8 003AB848  38 C0 00 00 */	li r6, 0
/* 803AFBEC 003AB84C  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFBF0 003AB850  48 00 B0 B5 */	bl func_803BACA4
/* 803AFBF4 003AB854  B0 7E 00 20 */	sth r3, 0x20(r30)
/* 803AFBF8 003AB858  7F 84 E3 78 */	mr r4, r28
/* 803AFBFC 003AB85C  38 BF 00 27 */	addi r5, r31, 0x27
/* 803AFC00 003AB860  38 C0 00 00 */	li r6, 0
/* 803AFC04 003AB864  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFC08 003AB868  48 00 B0 9D */	bl func_803BACA4
/* 803AFC0C 003AB86C  3B FF 00 01 */	addi r31, r31, 1
/* 803AFC10 003AB870  B0 7E 00 28 */	sth r3, 0x28(r30)
/* 803AFC14 003AB874  2C 1F 00 04 */	cmpwi r31, 4
/* 803AFC18 003AB878  3B BD 00 02 */	addi r29, r29, 2
/* 803AFC1C 003AB87C  41 80 FF A4 */	blt lbl_803AFBC0
/* 803AFC20 003AB880  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803AFC24 003AB884  7F 84 E3 78 */	mr r4, r28
/* 803AFC28 003AB888  38 C1 00 38 */	addi r6, r1, 0x38
/* 803AFC2C 003AB88C  38 A0 00 2D */	li r5, 0x2d
/* 803AFC30 003AB890  48 00 B0 75 */	bl func_803BACA4
/* 803AFC34 003AB894  38 80 00 04 */	li r4, 4
/* 803AFC38 003AB898  38 01 00 08 */	addi r0, r1, 8
/* 803AFC3C 003AB89C  38 60 00 00 */	li r3, 0
/* 803AFC40 003AB8A0  38 A0 00 00 */	li r5, 0
/* 803AFC44 003AB8A4  38 C0 00 00 */	li r6, 0
/* 803AFC48 003AB8A8  38 E0 00 00 */	li r7, 0
/* 803AFC4C 003AB8AC  7C 89 03 A6 */	mtctr r4
lbl_803AFC50:
/* 803AFC50 003AB8B0  81 1B 00 30 */	lwz r8, 0x30(r27)
/* 803AFC54 003AB8B4  7C 80 3A 14 */	add r4, r0, r7
/* 803AFC58 003AB8B8  7D 20 1A 14 */	add r9, r0, r3
/* 803AFC5C 003AB8BC  7D 08 2A 14 */	add r8, r8, r5
/* 803AFC60 003AB8C0  A1 08 2D 40 */	lhz r8, 0x2d40(r8)
/* 803AFC64 003AB8C4  B1 04 00 50 */	sth r8, 0x50(r4)
/* 803AFC68 003AB8C8  80 9B 00 30 */	lwz r4, 0x30(r27)
/* 803AFC6C 003AB8CC  7C 84 2A 14 */	add r4, r4, r5
/* 803AFC70 003AB8D0  88 84 2D 66 */	lbz r4, 0x2d66(r4)
/* 803AFC74 003AB8D4  54 84 F7 FE */	rlwinm r4, r4, 0x1e, 0x1f, 0x1f
/* 803AFC78 003AB8D8  98 89 00 5C */	stb r4, 0x5c(r9)
/* 803AFC7C 003AB8DC  80 9B 00 30 */	lwz r4, 0x30(r27)
/* 803AFC80 003AB8E0  7C 84 2A 14 */	add r4, r4, r5
/* 803AFC84 003AB8E4  88 84 2D 66 */	lbz r4, 0x2d66(r4)
/* 803AFC88 003AB8E8  54 84 EE FE */	rlwinm r4, r4, 0x1d, 0x1b, 0x1f
/* 803AFC8C 003AB8EC  98 89 00 60 */	stb r4, 0x60(r9)
/* 803AFC90 003AB8F0  80 9B 00 30 */	lwz r4, 0x30(r27)
/* 803AFC94 003AB8F4  7D 04 2A 14 */	add r8, r4, r5
/* 803AFC98 003AB8F8  80 88 2D B0 */	lwz r4, 0x2db0(r8)
/* 803AFC9C 003AB8FC  54 84 02 95 */	rlwinm. r4, r4, 0, 0xa, 0xa
/* 803AFCA0 003AB900  41 82 00 24 */	beq lbl_803AFCC4
/* 803AFCA4 003AB904  A1 08 2D FA */	lhz r8, 0x2dfa(r8)
/* 803AFCA8 003AB908  7C 80 32 14 */	add r4, r0, r6
/* 803AFCAC 003AB90C  99 09 00 58 */	stb r8, 0x58(r9)
/* 803AFCB0 003AB910  81 1B 00 30 */	lwz r8, 0x30(r27)
/* 803AFCB4 003AB914  7D 08 2A 14 */	add r8, r8, r5
/* 803AFCB8 003AB918  81 08 2D E4 */	lwz r8, 0x2de4(r8)
/* 803AFCBC 003AB91C  91 04 00 64 */	stw r8, 0x64(r4)
/* 803AFCC0 003AB920  48 00 00 24 */	b lbl_803AFCE4
lbl_803AFCC4:
/* 803AFCC4 003AB924  89 08 2D BE */	lbz r8, 0x2dbe(r8)
/* 803AFCC8 003AB928  7C 80 32 14 */	add r4, r0, r6
/* 803AFCCC 003AB92C  55 08 E7 3E */	rlwinm r8, r8, 0x1c, 0x1c, 0x1f
/* 803AFCD0 003AB930  99 09 00 58 */	stb r8, 0x58(r9)
/* 803AFCD4 003AB934  81 1B 00 30 */	lwz r8, 0x30(r27)
/* 803AFCD8 003AB938  7D 08 2A 14 */	add r8, r8, r5
/* 803AFCDC 003AB93C  81 08 2D A8 */	lwz r8, 0x2da8(r8)
/* 803AFCE0 003AB940  91 04 00 64 */	stw r8, 0x64(r4)
lbl_803AFCE4:
/* 803AFCE4 003AB944  38 63 00 01 */	addi r3, r3, 1
/* 803AFCE8 003AB948  38 A5 00 C0 */	addi r5, r5, 0xc0
/* 803AFCEC 003AB94C  38 C6 00 04 */	addi r6, r6, 4
/* 803AFCF0 003AB950  38 E7 00 02 */	addi r7, r7, 2
/* 803AFCF4 003AB954  42 00 FF 5C */	bdnz lbl_803AFC50
/* 803AFCF8 003AB958  7F 63 DB 78 */	mr r3, r27
/* 803AFCFC 003AB95C  7F 85 E3 78 */	mr r5, r28
/* 803AFD00 003AB960  38 C1 00 08 */	addi r6, r1, 8
/* 803AFD04 003AB964  38 80 00 01 */	li r4, 1
/* 803AFD08 003AB968  38 E0 00 74 */	li r7, 0x74
/* 803AFD0C 003AB96C  4B FF F8 E5 */	bl func_803AF5F0
/* 803AFD10 003AB970  39 61 00 A0 */	addi r11, r1, 0xa0
/* 803AFD14 003AB974  4B E1 74 61 */	bl _restgpr_27
/* 803AFD18 003AB978  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 803AFD1C 003AB97C  7C 08 03 A6 */	mtlr r0
/* 803AFD20 003AB980  38 21 00 A0 */	addi r1, r1, 0xa0
/* 803AFD24 003AB984  4E 80 00 20 */	blr 

.global func_803AFD28
func_803AFD28:
/* 803AFD28 003AB988  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803AFD2C 003AB98C  7C 08 02 A6 */	mflr r0
/* 803AFD30 003AB990  90 01 00 54 */	stw r0, 0x54(r1)
/* 803AFD34 003AB994  39 61 00 50 */	addi r11, r1, 0x50
/* 803AFD38 003AB998  4B E1 73 F5 */	bl _savegpr_28
/* 803AFD3C 003AB99C  54 A7 10 3A */	slwi r7, r5, 2
/* 803AFD40 003AB9A0  80 C3 00 30 */	lwz r6, 0x30(r3)
/* 803AFD44 003AB9A4  1F E5 00 C0 */	mulli r31, r5, 0xc0
/* 803AFD48 003AB9A8  7C 9D 23 78 */	mr r29, r4
/* 803AFD4C 003AB9AC  7C E3 3A 14 */	add r7, r3, r7
/* 803AFD50 003AB9B0  80 E7 00 34 */	lwz r7, 0x34(r7)
/* 803AFD54 003AB9B4  38 00 00 05 */	li r0, 5
/* 803AFD58 003AB9B8  7C C6 FA 14 */	add r6, r6, r31
/* 803AFD5C 003AB9BC  88 86 2D 66 */	lbz r4, 0x2d66(r6)
/* 803AFD60 003AB9C0  7C BE 2B 78 */	mr r30, r5
/* 803AFD64 003AB9C4  88 E7 01 85 */	lbz r7, 0x185(r7)
/* 803AFD68 003AB9C8  7C 7C 1B 78 */	mr r28, r3
/* 803AFD6C 003AB9CC  54 86 EE FE */	rlwinm r6, r4, 0x1d, 0x1b, 0x1f
/* 803AFD70 003AB9D0  54 E5 07 FE */	clrlwi r5, r7, 0x1f
/* 803AFD74 003AB9D4  98 01 00 08 */	stb r0, 8(r1)
/* 803AFD78 003AB9D8  7C 05 00 D0 */	neg r0, r5
/* 803AFD7C 003AB9DC  54 05 07 BC */	rlwinm r5, r0, 0, 0x1e, 0x1e
/* 803AFD80 003AB9E0  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803AFD84 003AB9E4  7C 80 FA 14 */	add r4, r0, r31
/* 803AFD88 003AB9E8  80 04 2D B0 */	lwz r0, 0x2db0(r4)
/* 803AFD8C 003AB9EC  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803AFD90 003AB9F0  41 82 00 20 */	beq lbl_803AFDB0
/* 803AFD94 003AB9F4  A0 04 2D FA */	lhz r0, 0x2dfa(r4)
/* 803AFD98 003AB9F8  A0 64 2D 40 */	lhz r3, 0x2d40(r4)
/* 803AFD9C 003AB9FC  80 E4 2D E4 */	lwz r7, 0x2de4(r4)
/* 803AFDA0 003ABA00  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 803AFDA4 003ABA04  48 02 C3 BD */	bl func_803DC160
/* 803AFDA8 003ABA08  98 61 00 09 */	stb r3, 9(r1)
/* 803AFDAC 003ABA0C  48 00 00 1C */	b lbl_803AFDC8
lbl_803AFDB0:
/* 803AFDB0 003ABA10  88 04 2D BE */	lbz r0, 0x2dbe(r4)
/* 803AFDB4 003ABA14  A0 64 2D 40 */	lhz r3, 0x2d40(r4)
/* 803AFDB8 003ABA18  80 E4 2D A8 */	lwz r7, 0x2da8(r4)
/* 803AFDBC 003ABA1C  54 04 E7 3E */	rlwinm r4, r0, 0x1c, 0x1c, 0x1f
/* 803AFDC0 003ABA20  48 02 C3 A1 */	bl func_803DC160
/* 803AFDC4 003ABA24  98 61 00 09 */	stb r3, 9(r1)
lbl_803AFDC8:
/* 803AFDC8 003ABA28  80 9C 00 30 */	lwz r4, 0x30(r28)
/* 803AFDCC 003ABA2C  38 00 00 04 */	li r0, 4
/* 803AFDD0 003ABA30  39 01 00 08 */	addi r8, r1, 8
/* 803AFDD4 003ABA34  38 60 00 00 */	li r3, 0
/* 803AFDD8 003ABA38  7C A4 FA 14 */	add r5, r4, r31
/* 803AFDDC 003ABA3C  38 80 00 00 */	li r4, 0
/* 803AFDE0 003ABA40  88 E5 2D BF */	lbz r7, 0x2dbf(r5)
/* 803AFDE4 003ABA44  38 A0 00 00 */	li r5, 0
/* 803AFDE8 003ABA48  38 C0 00 00 */	li r6, 0
/* 803AFDEC 003ABA4C  B0 E1 00 0A */	sth r7, 0xa(r1)
/* 803AFDF0 003ABA50  80 FC 00 30 */	lwz r7, 0x30(r28)
/* 803AFDF4 003ABA54  7C E7 FA 14 */	add r7, r7, r31
/* 803AFDF8 003ABA58  80 E7 2D B0 */	lwz r7, 0x2db0(r7)
/* 803AFDFC 003ABA5C  54 E7 47 FE */	rlwinm r7, r7, 8, 0x1f, 0x1f
/* 803AFE00 003ABA60  90 E1 00 0C */	stw r7, 0xc(r1)
/* 803AFE04 003ABA64  7C 09 03 A6 */	mtctr r0
lbl_803AFE08:
/* 803AFE08 003ABA68  7D 5D 22 14 */	add r10, r29, r4
/* 803AFE0C 003ABA6C  7C E8 32 14 */	add r7, r8, r6
/* 803AFE10 003ABA70  A0 0A 2D 40 */	lhz r0, 0x2d40(r10)
/* 803AFE14 003ABA74  7D 28 1A 14 */	add r9, r8, r3
/* 803AFE18 003ABA78  B0 07 00 08 */	sth r0, 8(r7)
/* 803AFE1C 003ABA7C  88 0A 2D 66 */	lbz r0, 0x2d66(r10)
/* 803AFE20 003ABA80  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 803AFE24 003ABA84  98 09 00 14 */	stb r0, 0x14(r9)
/* 803AFE28 003ABA88  88 0A 2D 66 */	lbz r0, 0x2d66(r10)
/* 803AFE2C 003ABA8C  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803AFE30 003ABA90  98 09 00 18 */	stb r0, 0x18(r9)
/* 803AFE34 003ABA94  80 0A 2D B0 */	lwz r0, 0x2db0(r10)
/* 803AFE38 003ABA98  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803AFE3C 003ABA9C  41 82 00 1C */	beq lbl_803AFE58
/* 803AFE40 003ABAA0  A0 0A 2D FA */	lhz r0, 0x2dfa(r10)
/* 803AFE44 003ABAA4  7C E8 2A 14 */	add r7, r8, r5
/* 803AFE48 003ABAA8  98 09 00 10 */	stb r0, 0x10(r9)
/* 803AFE4C 003ABAAC  80 0A 2D E4 */	lwz r0, 0x2de4(r10)
/* 803AFE50 003ABAB0  90 07 00 1C */	stw r0, 0x1c(r7)
/* 803AFE54 003ABAB4  48 00 00 1C */	b lbl_803AFE70
lbl_803AFE58:
/* 803AFE58 003ABAB8  88 0A 2D BE */	lbz r0, 0x2dbe(r10)
/* 803AFE5C 003ABABC  7C E8 2A 14 */	add r7, r8, r5
/* 803AFE60 003ABAC0  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803AFE64 003ABAC4  98 09 00 10 */	stb r0, 0x10(r9)
/* 803AFE68 003ABAC8  80 0A 2D A8 */	lwz r0, 0x2da8(r10)
/* 803AFE6C 003ABACC  90 07 00 1C */	stw r0, 0x1c(r7)
lbl_803AFE70:
/* 803AFE70 003ABAD0  38 63 00 01 */	addi r3, r3, 1
/* 803AFE74 003ABAD4  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803AFE78 003ABAD8  38 A5 00 04 */	addi r5, r5, 4
/* 803AFE7C 003ABADC  38 C6 00 02 */	addi r6, r6, 2
/* 803AFE80 003ABAE0  42 00 FF 88 */	bdnz lbl_803AFE08
/* 803AFE84 003ABAE4  7F 83 E3 78 */	mr r3, r28
/* 803AFE88 003ABAE8  7F C5 F3 78 */	mr r5, r30
/* 803AFE8C 003ABAEC  38 C1 00 08 */	addi r6, r1, 8
/* 803AFE90 003ABAF0  38 80 00 01 */	li r4, 1
/* 803AFE94 003ABAF4  38 E0 00 2C */	li r7, 0x2c
/* 803AFE98 003ABAF8  4B FF F7 59 */	bl func_803AF5F0
/* 803AFE9C 003ABAFC  39 61 00 50 */	addi r11, r1, 0x50
/* 803AFEA0 003ABB00  4B E1 72 D9 */	bl _restgpr_28
/* 803AFEA4 003ABB04  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803AFEA8 003ABB08  7C 08 03 A6 */	mtlr r0
/* 803AFEAC 003ABB0C  38 21 00 50 */	addi r1, r1, 0x50
/* 803AFEB0 003ABB10  4E 80 00 20 */	blr 

.global func_803AFEB4
func_803AFEB4:
/* 803AFEB4 003ABB14  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AFEB8 003ABB18  7C 08 02 A6 */	mflr r0
/* 803AFEBC 003ABB1C  7C 85 23 78 */	mr r5, r4
/* 803AFEC0 003ABB20  38 80 00 01 */	li r4, 1
/* 803AFEC4 003ABB24  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AFEC8 003ABB28  3C 00 07 00 */	lis r0, 0x700
/* 803AFECC 003ABB2C  38 C1 00 08 */	addi r6, r1, 8
/* 803AFED0 003ABB30  38 E0 00 04 */	li r7, 4
/* 803AFED4 003ABB34  90 01 00 08 */	stw r0, 8(r1)
/* 803AFED8 003ABB38  4B FF F7 19 */	bl func_803AF5F0
/* 803AFEDC 003ABB3C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AFEE0 003ABB40  7C 08 03 A6 */	mtlr r0
/* 803AFEE4 003ABB44  38 21 00 10 */	addi r1, r1, 0x10
/* 803AFEE8 003ABB48  4E 80 00 20 */	blr 

.global func_803AFEEC
func_803AFEEC:
/* 803AFEEC 003ABB4C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AFEF0 003ABB50  7C 08 02 A6 */	mflr r0
/* 803AFEF4 003ABB54  38 C0 00 08 */	li r6, 8
/* 803AFEF8 003ABB58  7C 85 23 78 */	mr r5, r4
/* 803AFEFC 003ABB5C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AFF00 003ABB60  1C 04 00 2C */	mulli r0, r4, 0x2c
/* 803AFF04 003ABB64  7D 03 22 14 */	add r8, r3, r4
/* 803AFF08 003ABB68  98 C1 00 08 */	stb r6, 8(r1)
/* 803AFF0C 003ABB6C  38 C1 00 08 */	addi r6, r1, 8
/* 803AFF10 003ABB70  7C 83 02 14 */	add r4, r3, r0
/* 803AFF14 003ABB74  38 E0 00 04 */	li r7, 4
/* 803AFF18 003ABB78  88 04 00 AD */	lbz r0, 0xad(r4)
/* 803AFF1C 003ABB7C  38 80 00 01 */	li r4, 1
/* 803AFF20 003ABB80  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803AFF24 003ABB84  88 08 00 A8 */	lbz r0, 0xa8(r8)
/* 803AFF28 003ABB88  98 01 00 09 */	stb r0, 9(r1)
/* 803AFF2C 003ABB8C  4B FF F6 C5 */	bl func_803AF5F0
/* 803AFF30 003ABB90  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AFF34 003ABB94  7C 08 03 A6 */	mtlr r0
/* 803AFF38 003ABB98  38 21 00 10 */	addi r1, r1, 0x10
/* 803AFF3C 003ABB9C  4E 80 00 20 */	blr 

.global func_803AFF40
func_803AFF40:
/* 803AFF40 003ABBA0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803AFF44 003ABBA4  7C 08 02 A6 */	mflr r0
/* 803AFF48 003ABBA8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803AFF4C 003ABBAC  38 00 00 09 */	li r0, 9
/* 803AFF50 003ABBB0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803AFF54 003ABBB4  7C 9F 23 78 */	mr r31, r4
/* 803AFF58 003ABBB8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803AFF5C 003ABBBC  7C 7E 1B 78 */	mr r30, r3
/* 803AFF60 003ABBC0  98 A1 00 09 */	stb r5, 9(r1)
/* 803AFF64 003ABBC4  98 01 00 08 */	stb r0, 8(r1)
/* 803AFF68 003ABBC8  4B FF CD D1 */	bl func_803ACD38
/* 803AFF6C 003ABBCC  80 1E 00 30 */	lwz r0, 0x30(r30)
/* 803AFF70 003ABBD0  7F E5 FB 78 */	mr r5, r31
/* 803AFF74 003ABBD4  38 C1 00 08 */	addi r6, r1, 8
/* 803AFF78 003ABBD8  38 80 00 01 */	li r4, 1
/* 803AFF7C 003ABBDC  7C E0 1A 14 */	add r7, r0, r3
/* 803AFF80 003ABBE0  7F C3 F3 78 */	mr r3, r30
/* 803AFF84 003ABBE4  88 07 21 9C */	lbz r0, 0x219c(r7)
/* 803AFF88 003ABBE8  38 E0 00 04 */	li r7, 4
/* 803AFF8C 003ABBEC  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803AFF90 003ABBF0  4B FF F6 61 */	bl func_803AF5F0
/* 803AFF94 003ABBF4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803AFF98 003ABBF8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803AFF9C 003ABBFC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803AFFA0 003ABC00  7C 08 03 A6 */	mtlr r0
/* 803AFFA4 003ABC04  38 21 00 20 */	addi r1, r1, 0x20
/* 803AFFA8 003ABC08  4E 80 00 20 */	blr 

.global func_803AFFAC
func_803AFFAC:
/* 803AFFAC 003ABC0C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AFFB0 003ABC10  7C 08 02 A6 */	mflr r0
/* 803AFFB4 003ABC14  7C 85 23 78 */	mr r5, r4
/* 803AFFB8 003ABC18  38 80 00 01 */	li r4, 1
/* 803AFFBC 003ABC1C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AFFC0 003ABC20  3C 00 0A 00 */	lis r0, 0xa00
/* 803AFFC4 003ABC24  38 C1 00 08 */	addi r6, r1, 8
/* 803AFFC8 003ABC28  38 E0 00 04 */	li r7, 4
/* 803AFFCC 003ABC2C  90 01 00 08 */	stw r0, 8(r1)
/* 803AFFD0 003ABC30  4B FF F6 21 */	bl func_803AF5F0
/* 803AFFD4 003ABC34  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803AFFD8 003ABC38  7C 08 03 A6 */	mtlr r0
/* 803AFFDC 003ABC3C  38 21 00 10 */	addi r1, r1, 0x10
/* 803AFFE0 003ABC40  4E 80 00 20 */	blr 

.global func_803AFFE4
func_803AFFE4:
/* 803AFFE4 003ABC44  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803AFFE8 003ABC48  7C 08 02 A6 */	mflr r0
/* 803AFFEC 003ABC4C  38 C0 00 0B */	li r6, 0xb
/* 803AFFF0 003ABC50  7D 03 22 14 */	add r8, r3, r4
/* 803AFFF4 003ABC54  90 01 00 14 */	stw r0, 0x14(r1)
/* 803AFFF8 003ABC58  1C 04 00 2C */	mulli r0, r4, 0x2c
/* 803AFFFC 003ABC5C  7C 89 23 78 */	mr r9, r4
/* 803B0000 003ABC60  98 C1 00 08 */	stb r6, 8(r1)
/* 803B0004 003ABC64  38 C1 00 08 */	addi r6, r1, 8
/* 803B0008 003ABC68  7C 83 02 14 */	add r4, r3, r0
/* 803B000C 003ABC6C  38 E0 00 08 */	li r7, 8
/* 803B0010 003ABC70  88 04 00 AD */	lbz r0, 0xad(r4)
/* 803B0014 003ABC74  38 80 00 01 */	li r4, 1
/* 803B0018 003ABC78  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B001C 003ABC7C  88 08 00 A8 */	lbz r0, 0xa8(r8)
/* 803B0020 003ABC80  90 A1 00 0C */	stw r5, 0xc(r1)
/* 803B0024 003ABC84  7D 25 4B 78 */	mr r5, r9
/* 803B0028 003ABC88  98 01 00 09 */	stb r0, 9(r1)
/* 803B002C 003ABC8C  4B FF F5 C5 */	bl func_803AF5F0
/* 803B0030 003ABC90  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B0034 003ABC94  7C 08 03 A6 */	mtlr r0
/* 803B0038 003ABC98  38 21 00 10 */	addi r1, r1, 0x10
/* 803B003C 003ABC9C  4E 80 00 20 */	blr 

.global func_803B0040
func_803B0040:
/* 803B0040 003ABCA0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B0044 003ABCA4  7C 08 02 A6 */	mflr r0
/* 803B0048 003ABCA8  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B004C 003ABCAC  39 61 00 40 */	addi r11, r1, 0x40
/* 803B0050 003ABCB0  4B E1 70 CD */	bl _savegpr_24
/* 803B0054 003ABCB4  7F E4 2A 14 */	add r31, r4, r5
/* 803B0058 003ABCB8  7C BA 2B 78 */	mr r26, r5
/* 803B005C 003ABCBC  88 BF 21 9C */	lbz r5, 0x219c(r31)
/* 803B0060 003ABCC0  7C 99 23 78 */	mr r25, r4
/* 803B0064 003ABCC4  7C 78 1B 78 */	mr r24, r3
/* 803B0068 003ABCC8  7C DB 33 78 */	mr r27, r6
/* 803B006C 003ABCCC  7F 44 D3 78 */	mr r4, r26
/* 803B0070 003ABCD0  4B FF C9 35 */	bl func_803AC9A4
/* 803B0074 003ABCD4  7C 7C 1B 78 */	mr r28, r3
/* 803B0078 003ABCD8  38 80 00 05 */	li r4, 5
/* 803B007C 003ABCDC  38 A0 00 00 */	li r5, 0
/* 803B0080 003ABCE0  48 02 D9 5D */	bl func_803DD9DC
/* 803B0084 003ABCE4  7C 7D 1B 78 */	mr r29, r3
/* 803B0088 003ABCE8  7F 83 E3 78 */	mr r3, r28
/* 803B008C 003ABCEC  38 80 00 A0 */	li r4, 0xa0
/* 803B0090 003ABCF0  38 A0 00 00 */	li r5, 0
/* 803B0094 003ABCF4  48 02 D9 49 */	bl func_803DD9DC
/* 803B0098 003ABCF8  1F DA 00 C0 */	mulli r30, r26, 0xc0
/* 803B009C 003ABCFC  38 00 00 0C */	li r0, 0xc
/* 803B00A0 003ABD00  7C 7C 1B 78 */	mr r28, r3
/* 803B00A4 003ABD04  98 01 00 08 */	stb r0, 8(r1)
/* 803B00A8 003ABD08  7F 23 CB 78 */	mr r3, r25
/* 803B00AC 003ABD0C  7C B9 F2 14 */	add r5, r25, r30
/* 803B00B0 003ABD10  88 05 2D 74 */	lbz r0, 0x2d74(r5)
/* 803B00B4 003ABD14  7F 44 D3 78 */	mr r4, r26
/* 803B00B8 003ABD18  98 01 00 09 */	stb r0, 9(r1)
/* 803B00BC 003ABD1C  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803B00C0 003ABD20  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B00C4 003ABD24  80 05 2D 90 */	lwz r0, 0x2d90(r5)
/* 803B00C8 003ABD28  B0 01 00 0C */	sth r0, 0xc(r1)
/* 803B00CC 003ABD2C  88 1F 21 9C */	lbz r0, 0x219c(r31)
/* 803B00D0 003ABD30  98 01 00 0E */	stb r0, 0xe(r1)
/* 803B00D4 003ABD34  48 00 D3 2D */	bl func_803BD400
/* 803B00D8 003ABD38  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B00DC 003ABD3C  50 60 1E 38 */	rlwimi r0, r3, 3, 0x18, 0x1c
/* 803B00E0 003ABD40  7F F9 F2 14 */	add r31, r25, r30
/* 803B00E4 003ABD44  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B00E8 003ABD48  A0 1F 2D 40 */	lhz r0, 0x2d40(r31)
/* 803B00EC 003ABD4C  28 00 00 1D */	cmplwi r0, 0x1d
/* 803B00F0 003ABD50  41 82 00 0C */	beq lbl_803B00FC
/* 803B00F4 003ABD54  28 00 00 20 */	cmplwi r0, 0x20
/* 803B00F8 003ABD58  40 82 00 28 */	bne lbl_803B0120
lbl_803B00FC:
/* 803B00FC 003ABD5C  7C 79 F2 14 */	add r3, r25, r30
/* 803B0100 003ABD60  80 03 2D 54 */	lwz r0, 0x2d54(r3)
/* 803B0104 003ABD64  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B0108 003ABD68  40 82 00 18 */	bne lbl_803B0120
/* 803B010C 003ABD6C  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B0110 003ABD70  38 60 00 02 */	li r3, 2
/* 803B0114 003ABD74  50 60 0F 7C */	rlwimi r0, r3, 1, 0x1d, 0x1e
/* 803B0118 003ABD78  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B011C 003ABD7C  48 00 00 18 */	b lbl_803B0134
lbl_803B0120:
/* 803B0120 003ABD80  7C 79 F2 14 */	add r3, r25, r30
/* 803B0124 003ABD84  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B0128 003ABD88  88 63 2D BE */	lbz r3, 0x2dbe(r3)
/* 803B012C 003ABD8C  50 60 EF 7C */	rlwimi r0, r3, 0x1d, 0x1d, 0x1e
/* 803B0130 003ABD90  98 01 00 0F */	stb r0, 0xf(r1)
lbl_803B0134:
/* 803B0134 003ABD94  7F A3 EB 78 */	mr r3, r29
/* 803B0138 003ABD98  7F 84 E3 78 */	mr r4, r28
/* 803B013C 003ABD9C  48 02 B9 E1 */	bl func_803DBB1C
/* 803B0140 003ABDA0  7C B9 F2 14 */	add r5, r25, r30
/* 803B0144 003ABDA4  38 9C 00 01 */	addi r4, r28, 1
/* 803B0148 003ABDA8  80 05 2D A4 */	lwz r0, 0x2da4(r5)
/* 803B014C 003ABDAC  7C 03 00 50 */	subf r0, r3, r0
/* 803B0150 003ABDB0  7F A3 EB 78 */	mr r3, r29
/* 803B0154 003ABDB4  90 01 00 10 */	stw r0, 0x10(r1)
/* 803B0158 003ABDB8  48 02 B9 C5 */	bl func_803DBB1C
/* 803B015C 003ABDBC  7C 79 1B 78 */	mr r25, r3
/* 803B0160 003ABDC0  7F A3 EB 78 */	mr r3, r29
/* 803B0164 003ABDC4  7F 84 E3 78 */	mr r4, r28
/* 803B0168 003ABDC8  48 02 B9 B5 */	bl func_803DBB1C
/* 803B016C 003ABDCC  7C 03 C8 50 */	subf r0, r3, r25
/* 803B0170 003ABDD0  7F 03 C3 78 */	mr r3, r24
/* 803B0174 003ABDD4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B0178 003ABDD8  A0 9F 2D 40 */	lhz r4, 0x2d40(r31)
/* 803B017C 003ABDDC  4B FF DC E5 */	bl func_803ADE60
/* 803B0180 003ABDE0  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B0184 003ABDE4  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 803B0188 003ABDE8  7F 03 C3 78 */	mr r3, r24
/* 803B018C 003ABDEC  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B0190 003ABDF0  4B FF DA 1D */	bl func_803ADBAC
/* 803B0194 003ABDF4  90 61 00 18 */	stw r3, 0x18(r1)
/* 803B0198 003ABDF8  7F 03 C3 78 */	mr r3, r24
/* 803B019C 003ABDFC  7F 45 D3 78 */	mr r5, r26
/* 803B01A0 003ABE00  38 C1 00 08 */	addi r6, r1, 8
/* 803B01A4 003ABE04  9B 61 00 1C */	stb r27, 0x1c(r1)
/* 803B01A8 003ABE08  38 80 00 01 */	li r4, 1
/* 803B01AC 003ABE0C  38 E0 00 18 */	li r7, 0x18
/* 803B01B0 003ABE10  4B FF F4 41 */	bl func_803AF5F0
/* 803B01B4 003ABE14  39 61 00 40 */	addi r11, r1, 0x40
/* 803B01B8 003ABE18  4B E1 6F B1 */	bl _restgpr_24
/* 803B01BC 003ABE1C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B01C0 003ABE20  7C 08 03 A6 */	mtlr r0
/* 803B01C4 003ABE24  38 21 00 40 */	addi r1, r1, 0x40
/* 803B01C8 003ABE28  4E 80 00 20 */	blr 

.global func_803B01CC
func_803B01CC:
/* 803B01CC 003ABE2C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B01D0 003ABE30  7C 08 02 A6 */	mflr r0
/* 803B01D4 003ABE34  7C 85 23 78 */	mr r5, r4
/* 803B01D8 003ABE38  38 80 00 01 */	li r4, 1
/* 803B01DC 003ABE3C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B01E0 003ABE40  3C 00 0D 00 */	lis r0, 0xd00
/* 803B01E4 003ABE44  38 C1 00 08 */	addi r6, r1, 8
/* 803B01E8 003ABE48  38 E0 00 04 */	li r7, 4
/* 803B01EC 003ABE4C  90 01 00 08 */	stw r0, 8(r1)
/* 803B01F0 003ABE50  4B FF F4 01 */	bl func_803AF5F0
/* 803B01F4 003ABE54  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B01F8 003ABE58  7C 08 03 A6 */	mtlr r0
/* 803B01FC 003ABE5C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B0200 003ABE60  4E 80 00 20 */	blr 

.global func_803B0204
func_803B0204:
/* 803B0204 003ABE64  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 803B0208 003ABE68  7C 08 02 A6 */	mflr r0
/* 803B020C 003ABE6C  90 01 00 84 */	stw r0, 0x84(r1)
/* 803B0210 003ABE70  39 61 00 80 */	addi r11, r1, 0x80
/* 803B0214 003ABE74  4B E1 6E ED */	bl _savegpr_17
/* 803B0218 003ABE78  7C 7D 1B 78 */	mr r29, r3
/* 803B021C 003ABE7C  7C 9E 23 78 */	mr r30, r4
/* 803B0220 003ABE80  7C BF 2B 78 */	mr r31, r5
/* 803B0224 003ABE84  7C D2 33 78 */	mr r18, r6
/* 803B0228 003ABE88  38 61 00 08 */	addi r3, r1, 8
/* 803B022C 003ABE8C  38 80 00 00 */	li r4, 0
/* 803B0230 003ABE90  38 A0 00 2C */	li r5, 0x2c
/* 803B0234 003ABE94  4B C5 3E D1 */	bl memset
/* 803B0238 003ABE98  7F A3 EB 78 */	mr r3, r29
/* 803B023C 003ABE9C  4B FF C6 0D */	bl func_803AC848
/* 803B0240 003ABEA0  7F E4 FB 78 */	mr r4, r31
/* 803B0244 003ABEA4  48 00 AA 35 */	bl func_803BAC78
/* 803B0248 003ABEA8  3A 20 00 00 */	li r17, 0
/* 803B024C 003ABEAC  3A 80 00 00 */	li r20, 0
/* 803B0250 003ABEB0  48 00 00 28 */	b lbl_803B0278
lbl_803B0254:
/* 803B0254 003ABEB4  7F C3 F3 78 */	mr r3, r30
/* 803B0258 003ABEB8  7E 84 A3 78 */	mr r4, r20
/* 803B025C 003ABEBC  48 01 57 9D */	bl func_803C59F8
/* 803B0260 003ABEC0  2C 03 00 00 */	cmpwi r3, 0
/* 803B0264 003ABEC4  40 82 00 10 */	bne lbl_803B0274
/* 803B0268 003ABEC8  7E 83 A3 78 */	mr r3, r20
/* 803B026C 003ABECC  48 02 D6 B5 */	bl func_803DD920
/* 803B0270 003ABED0  7E 31 1B 78 */	or r17, r17, r3
lbl_803B0274:
/* 803B0274 003ABED4  3A 94 00 01 */	addi r20, r20, 1
lbl_803B0278:
/* 803B0278 003ABED8  7F A3 EB 78 */	mr r3, r29
/* 803B027C 003ABEDC  4B FF C5 E5 */	bl func_803AC860
/* 803B0280 003ABEE0  7C 14 18 00 */	cmpw r20, r3
/* 803B0284 003ABEE4  41 80 FF D0 */	blt lbl_803B0254
/* 803B0288 003ABEE8  38 00 00 0E */	li r0, 0xe
/* 803B028C 003ABEEC  9A 41 00 09 */	stb r18, 9(r1)
/* 803B0290 003ABEF0  7F A3 EB 78 */	mr r3, r29
/* 803B0294 003ABEF4  98 01 00 08 */	stb r0, 8(r1)
/* 803B0298 003ABEF8  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803B029C 003ABEFC  7C 00 8B 78 */	or r0, r0, r17
/* 803B02A0 003ABF00  98 01 00 31 */	stb r0, 0x31(r1)
/* 803B02A4 003ABF04  4B FF C5 9D */	bl func_803AC840
/* 803B02A8 003ABF08  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803B02AC 003ABF0C  7C 78 1B 78 */	mr r24, r3
/* 803B02B0 003ABF10  41 82 00 14 */	beq lbl_803B02C4
/* 803B02B4 003ABF14  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803B02B8 003ABF18  40 82 00 0C */	bne lbl_803B02C4
/* 803B02BC 003ABF1C  57 F4 07 FE */	clrlwi r20, r31, 0x1f
/* 803B02C0 003ABF20  48 00 00 08 */	b lbl_803B02C8
lbl_803B02C4:
/* 803B02C4 003ABF24  7F F4 FB 78 */	mr r20, r31
lbl_803B02C8:
/* 803B02C8 003ABF28  7F A3 EB 78 */	mr r3, r29
/* 803B02CC 003ABF2C  7E 84 A3 78 */	mr r4, r20
/* 803B02D0 003ABF30  4B FF C5 99 */	bl func_803AC868
/* 803B02D4 003ABF34  1C 14 00 06 */	mulli r0, r20, 6
/* 803B02D8 003ABF38  73 16 02 A4 */	andi. r22, r24, 0x2a4
/* 803B02DC 003ABF3C  7C 72 1B 78 */	mr r18, r3
/* 803B02E0 003ABF40  3A 60 00 00 */	li r19, 0
/* 803B02E4 003ABF44  7E FE 02 14 */	add r23, r30, r0
/* 803B02E8 003ABF48  3A 80 00 00 */	li r20, 0
/* 803B02EC 003ABF4C  3B 40 00 02 */	li r26, 2
/* 803B02F0 003ABF50  3B 60 00 01 */	li r27, 1
/* 803B02F4 003ABF54  3B 80 00 03 */	li r28, 3
/* 803B02F8 003ABF58  3B 20 00 00 */	li r25, 0
/* 803B02FC 003ABF5C  48 00 00 B4 */	b lbl_803B03B0
lbl_803B0300:
/* 803B0300 003ABF60  7C 97 A2 14 */	add r4, r23, r20
/* 803B0304 003ABF64  7E 43 93 78 */	mr r3, r18
/* 803B0308 003ABF68  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B030C 003ABF6C  48 02 E6 41 */	bl func_803DE94C
/* 803B0310 003ABF70  7C 71 1B 78 */	mr r17, r3
/* 803B0314 003ABF74  38 80 00 AD */	li r4, 0xad
/* 803B0318 003ABF78  38 A0 00 00 */	li r5, 0
/* 803B031C 003ABF7C  48 02 D6 C1 */	bl func_803DD9DC
/* 803B0320 003ABF80  2C 03 00 00 */	cmpwi r3, 0
/* 803B0324 003ABF84  41 82 00 88 */	beq lbl_803B03AC
/* 803B0328 003ABF88  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B032C 003ABF8C  41 82 00 80 */	beq lbl_803B03AC
/* 803B0330 003ABF90  7E 23 8B 78 */	mr r3, r17
/* 803B0334 003ABF94  38 80 00 A2 */	li r4, 0xa2
/* 803B0338 003ABF98  38 A0 00 00 */	li r5, 0
/* 803B033C 003ABF9C  48 02 D6 A1 */	bl func_803DD9DC
/* 803B0340 003ABFA0  2C 03 00 00 */	cmpwi r3, 0
/* 803B0344 003ABFA4  41 82 00 3C */	beq lbl_803B0380
/* 803B0348 003ABFA8  7E 23 8B 78 */	mr r3, r17
/* 803B034C 003ABFAC  38 80 00 9F */	li r4, 0x9f
/* 803B0350 003ABFB0  38 A0 00 00 */	li r5, 0
/* 803B0354 003ABFB4  48 02 D6 89 */	bl func_803DD9DC
/* 803B0358 003ABFB8  2C 03 00 00 */	cmpwi r3, 0
/* 803B035C 003ABFBC  41 82 00 14 */	beq lbl_803B0370
/* 803B0360 003ABFC0  3A A1 00 08 */	addi r21, r1, 8
/* 803B0364 003ABFC4  7E B5 9A 14 */	add r21, r21, r19
/* 803B0368 003ABFC8  9B 95 00 08 */	stb r28, 8(r21)
/* 803B036C 003ABFCC  48 00 00 20 */	b lbl_803B038C
lbl_803B0370:
/* 803B0370 003ABFD0  3A A1 00 08 */	addi r21, r1, 8
/* 803B0374 003ABFD4  7E B5 9A 14 */	add r21, r21, r19
/* 803B0378 003ABFD8  9B 75 00 08 */	stb r27, 8(r21)
/* 803B037C 003ABFDC  48 00 00 10 */	b lbl_803B038C
lbl_803B0380:
/* 803B0380 003ABFE0  3A A1 00 08 */	addi r21, r1, 8
/* 803B0384 003ABFE4  7E B5 9A 14 */	add r21, r21, r19
/* 803B0388 003ABFE8  9B 55 00 08 */	stb r26, 8(r21)
lbl_803B038C:
/* 803B038C 003ABFEC  2C 16 00 00 */	cmpwi r22, 0
/* 803B0390 003ABFF0  41 82 00 0C */	beq lbl_803B039C
/* 803B0394 003ABFF4  9B 35 00 02 */	stb r25, 2(r21)
/* 803B0398 003ABFF8  48 00 00 10 */	b lbl_803B03A8
lbl_803B039C:
/* 803B039C 003ABFFC  7E 23 8B 78 */	mr r3, r17
/* 803B03A0 003AC000  48 02 B6 09 */	bl func_803DB9A8
/* 803B03A4 003AC004  98 75 00 02 */	stb r3, 2(r21)
lbl_803B03A8:
/* 803B03A8 003AC008  3A 73 00 01 */	addi r19, r19, 1
lbl_803B03AC:
/* 803B03AC 003AC00C  3A 94 00 01 */	addi r20, r20, 1
lbl_803B03B0:
/* 803B03B0 003AC010  7E 43 93 78 */	mr r3, r18
/* 803B03B4 003AC014  48 02 E5 91 */	bl func_803DE944
/* 803B03B8 003AC018  7C 14 18 00 */	cmpw r20, r3
/* 803B03BC 003AC01C  41 80 FF 44 */	blt lbl_803B0300
/* 803B03C0 003AC020  57 00 07 3A */	rlwinm r0, r24, 0, 0x1c, 0x1d
/* 803B03C4 003AC024  28 00 00 0C */	cmplwi r0, 0xc
/* 803B03C8 003AC028  41 82 00 18 */	beq lbl_803B03E0
/* 803B03CC 003AC02C  57 00 06 F7 */	rlwinm. r0, r24, 0, 0x1b, 0x1b
/* 803B03D0 003AC030  40 82 00 10 */	bne lbl_803B03E0
/* 803B03D4 003AC034  57 00 06 7E */	clrlwi r0, r24, 0x19
/* 803B03D8 003AC038  28 00 00 4B */	cmplwi r0, 0x4b
/* 803B03DC 003AC03C  40 82 02 10 */	bne lbl_803B05EC
lbl_803B03E0:
/* 803B03E0 003AC040  7F A3 EB 78 */	mr r3, r29
/* 803B03E4 003AC044  7F E4 FB 78 */	mr r4, r31
/* 803B03E8 003AC048  4B FF C8 FD */	bl func_803ACCE4
/* 803B03EC 003AC04C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B03F0 003AC050  41 82 00 18 */	beq lbl_803B0408
/* 803B03F4 003AC054  7F A3 EB 78 */	mr r3, r29
/* 803B03F8 003AC058  38 80 00 02 */	li r4, 2
/* 803B03FC 003AC05C  4B FF C8 69 */	bl func_803ACC64
/* 803B0400 003AC060  7C 79 1B 78 */	mr r25, r3
/* 803B0404 003AC064  48 00 00 14 */	b lbl_803B0418
lbl_803B0408:
/* 803B0408 003AC068  7F A3 EB 78 */	mr r3, r29
/* 803B040C 003AC06C  38 80 00 03 */	li r4, 3
/* 803B0410 003AC070  4B FF C8 55 */	bl func_803ACC64
/* 803B0414 003AC074  7C 79 1B 78 */	mr r25, r3
lbl_803B0418:
/* 803B0418 003AC078  7F A3 EB 78 */	mr r3, r29
/* 803B041C 003AC07C  7F 24 CB 78 */	mr r4, r25
/* 803B0420 003AC080  4B FF C4 49 */	bl func_803AC868
/* 803B0424 003AC084  1C 19 00 06 */	mulli r0, r25, 6
/* 803B0428 003AC088  7C 74 1B 78 */	mr r20, r3
/* 803B042C 003AC08C  3B 21 00 08 */	addi r25, r1, 8
/* 803B0430 003AC090  3A C0 00 00 */	li r22, 0
/* 803B0434 003AC094  7F 1E 02 14 */	add r24, r30, r0
/* 803B0438 003AC098  3A A0 00 00 */	li r21, 0
/* 803B043C 003AC09C  3B 40 00 02 */	li r26, 2
/* 803B0440 003AC0A0  3B 60 00 01 */	li r27, 1
/* 803B0444 003AC0A4  3B 80 00 03 */	li r28, 3
/* 803B0448 003AC0A8  48 00 00 8C */	b lbl_803B04D4
lbl_803B044C:
/* 803B044C 003AC0AC  7C 98 AA 14 */	add r4, r24, r21
/* 803B0450 003AC0B0  7E 83 A3 78 */	mr r3, r20
/* 803B0454 003AC0B4  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B0458 003AC0B8  48 02 E4 F5 */	bl func_803DE94C
/* 803B045C 003AC0BC  7C 77 1B 78 */	mr r23, r3
/* 803B0460 003AC0C0  38 80 00 AD */	li r4, 0xad
/* 803B0464 003AC0C4  38 A0 00 00 */	li r5, 0
/* 803B0468 003AC0C8  48 02 D5 75 */	bl func_803DD9DC
/* 803B046C 003AC0CC  2C 03 00 00 */	cmpwi r3, 0
/* 803B0470 003AC0D0  41 82 00 60 */	beq lbl_803B04D0
/* 803B0474 003AC0D4  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B0478 003AC0D8  41 82 00 58 */	beq lbl_803B04D0
/* 803B047C 003AC0DC  7E E3 BB 78 */	mr r3, r23
/* 803B0480 003AC0E0  38 80 00 A2 */	li r4, 0xa2
/* 803B0484 003AC0E4  38 A0 00 00 */	li r5, 0
/* 803B0488 003AC0E8  48 02 D5 55 */	bl func_803DD9DC
/* 803B048C 003AC0EC  2C 03 00 00 */	cmpwi r3, 0
/* 803B0490 003AC0F0  41 82 00 34 */	beq lbl_803B04C4
/* 803B0494 003AC0F4  7E E3 BB 78 */	mr r3, r23
/* 803B0498 003AC0F8  38 80 00 9F */	li r4, 0x9f
/* 803B049C 003AC0FC  38 A0 00 00 */	li r5, 0
/* 803B04A0 003AC100  48 02 D5 3D */	bl func_803DD9DC
/* 803B04A4 003AC104  2C 03 00 00 */	cmpwi r3, 0
/* 803B04A8 003AC108  41 82 00 10 */	beq lbl_803B04B8
/* 803B04AC 003AC10C  7C 79 B2 14 */	add r3, r25, r22
/* 803B04B0 003AC110  9B 83 00 0E */	stb r28, 0xe(r3)
/* 803B04B4 003AC114  48 00 00 18 */	b lbl_803B04CC
lbl_803B04B8:
/* 803B04B8 003AC118  7C 79 B2 14 */	add r3, r25, r22
/* 803B04BC 003AC11C  9B 63 00 0E */	stb r27, 0xe(r3)
/* 803B04C0 003AC120  48 00 00 0C */	b lbl_803B04CC
lbl_803B04C4:
/* 803B04C4 003AC124  7C 79 B2 14 */	add r3, r25, r22
/* 803B04C8 003AC128  9B 43 00 0E */	stb r26, 0xe(r3)
lbl_803B04CC:
/* 803B04CC 003AC12C  3A D6 00 01 */	addi r22, r22, 1
lbl_803B04D0:
/* 803B04D0 003AC130  3A B5 00 01 */	addi r21, r21, 1
lbl_803B04D4:
/* 803B04D4 003AC134  7E 83 A3 78 */	mr r3, r20
/* 803B04D8 003AC138  48 02 E4 6D */	bl func_803DE944
/* 803B04DC 003AC13C  7C 15 18 00 */	cmpw r21, r3
/* 803B04E0 003AC140  41 80 FF 6C */	blt lbl_803B044C
/* 803B04E4 003AC144  7F A3 EB 78 */	mr r3, r29
/* 803B04E8 003AC148  7F E4 FB 78 */	mr r4, r31
/* 803B04EC 003AC14C  4B FF C7 F9 */	bl func_803ACCE4
/* 803B04F0 003AC150  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B04F4 003AC154  41 82 00 18 */	beq lbl_803B050C
/* 803B04F8 003AC158  7F A3 EB 78 */	mr r3, r29
/* 803B04FC 003AC15C  38 80 00 04 */	li r4, 4
/* 803B0500 003AC160  4B FF C7 65 */	bl func_803ACC64
/* 803B0504 003AC164  7C 79 1B 78 */	mr r25, r3
/* 803B0508 003AC168  48 00 00 14 */	b lbl_803B051C
lbl_803B050C:
/* 803B050C 003AC16C  7F A3 EB 78 */	mr r3, r29
/* 803B0510 003AC170  38 80 00 05 */	li r4, 5
/* 803B0514 003AC174  4B FF C7 51 */	bl func_803ACC64
/* 803B0518 003AC178  7C 79 1B 78 */	mr r25, r3
lbl_803B051C:
/* 803B051C 003AC17C  7F A3 EB 78 */	mr r3, r29
/* 803B0520 003AC180  7F 24 CB 78 */	mr r4, r25
/* 803B0524 003AC184  4B FF C3 45 */	bl func_803AC868
/* 803B0528 003AC188  1C 19 00 06 */	mulli r0, r25, 6
/* 803B052C 003AC18C  7C 74 1B 78 */	mr r20, r3
/* 803B0530 003AC190  3B 21 00 08 */	addi r25, r1, 8
/* 803B0534 003AC194  3A C0 00 03 */	li r22, 3
/* 803B0538 003AC198  7F 1E 02 14 */	add r24, r30, r0
/* 803B053C 003AC19C  3A A0 00 00 */	li r21, 0
/* 803B0540 003AC1A0  3B 40 00 02 */	li r26, 2
/* 803B0544 003AC1A4  3B 60 00 01 */	li r27, 1
/* 803B0548 003AC1A8  3B 80 00 03 */	li r28, 3
/* 803B054C 003AC1AC  48 00 00 8C */	b lbl_803B05D8
lbl_803B0550:
/* 803B0550 003AC1B0  7C 98 AA 14 */	add r4, r24, r21
/* 803B0554 003AC1B4  7E 83 A3 78 */	mr r3, r20
/* 803B0558 003AC1B8  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B055C 003AC1BC  48 02 E3 F1 */	bl func_803DE94C
/* 803B0560 003AC1C0  7C 77 1B 78 */	mr r23, r3
/* 803B0564 003AC1C4  38 80 00 AD */	li r4, 0xad
/* 803B0568 003AC1C8  38 A0 00 00 */	li r5, 0
/* 803B056C 003AC1CC  48 02 D4 71 */	bl func_803DD9DC
/* 803B0570 003AC1D0  2C 03 00 00 */	cmpwi r3, 0
/* 803B0574 003AC1D4  41 82 00 60 */	beq lbl_803B05D4
/* 803B0578 003AC1D8  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B057C 003AC1DC  41 82 00 58 */	beq lbl_803B05D4
/* 803B0580 003AC1E0  7E E3 BB 78 */	mr r3, r23
/* 803B0584 003AC1E4  38 80 00 A2 */	li r4, 0xa2
/* 803B0588 003AC1E8  38 A0 00 00 */	li r5, 0
/* 803B058C 003AC1EC  48 02 D4 51 */	bl func_803DD9DC
/* 803B0590 003AC1F0  2C 03 00 00 */	cmpwi r3, 0
/* 803B0594 003AC1F4  41 82 00 34 */	beq lbl_803B05C8
/* 803B0598 003AC1F8  7E E3 BB 78 */	mr r3, r23
/* 803B059C 003AC1FC  38 80 00 9F */	li r4, 0x9f
/* 803B05A0 003AC200  38 A0 00 00 */	li r5, 0
/* 803B05A4 003AC204  48 02 D4 39 */	bl func_803DD9DC
/* 803B05A8 003AC208  2C 03 00 00 */	cmpwi r3, 0
/* 803B05AC 003AC20C  41 82 00 10 */	beq lbl_803B05BC
/* 803B05B0 003AC210  7C 79 B2 14 */	add r3, r25, r22
/* 803B05B4 003AC214  9B 83 00 0E */	stb r28, 0xe(r3)
/* 803B05B8 003AC218  48 00 00 18 */	b lbl_803B05D0
lbl_803B05BC:
/* 803B05BC 003AC21C  7C 79 B2 14 */	add r3, r25, r22
/* 803B05C0 003AC220  9B 63 00 0E */	stb r27, 0xe(r3)
/* 803B05C4 003AC224  48 00 00 0C */	b lbl_803B05D0
lbl_803B05C8:
/* 803B05C8 003AC228  7C 79 B2 14 */	add r3, r25, r22
/* 803B05CC 003AC22C  9B 43 00 0E */	stb r26, 0xe(r3)
lbl_803B05D0:
/* 803B05D0 003AC230  3A D6 00 01 */	addi r22, r22, 1
lbl_803B05D4:
/* 803B05D4 003AC234  3A B5 00 01 */	addi r21, r21, 1
lbl_803B05D8:
/* 803B05D8 003AC238  7E 83 A3 78 */	mr r3, r20
/* 803B05DC 003AC23C  48 02 E3 69 */	bl func_803DE944
/* 803B05E0 003AC240  7C 15 18 00 */	cmpw r21, r3
/* 803B05E4 003AC244  41 80 FF 6C */	blt lbl_803B0550
/* 803B05E8 003AC248  48 00 00 E4 */	b lbl_803B06CC
lbl_803B05EC:
/* 803B05EC 003AC24C  7F A3 EB 78 */	mr r3, r29
/* 803B05F0 003AC250  7F E4 FB 78 */	mr r4, r31
/* 803B05F4 003AC254  38 A0 00 02 */	li r5, 2
/* 803B05F8 003AC258  4B FF C7 E1 */	bl func_803ACDD8
/* 803B05FC 003AC25C  7C 74 1B 78 */	mr r20, r3
/* 803B0600 003AC260  7F A3 EB 78 */	mr r3, r29
/* 803B0604 003AC264  7E 84 A3 78 */	mr r4, r20
/* 803B0608 003AC268  4B FF C2 61 */	bl func_803AC868
/* 803B060C 003AC26C  1C 14 00 06 */	mulli r0, r20, 6
/* 803B0610 003AC270  7C 74 1B 78 */	mr r20, r3
/* 803B0614 003AC274  3B 61 00 08 */	addi r27, r1, 8
/* 803B0618 003AC278  3A C0 00 00 */	li r22, 0
/* 803B061C 003AC27C  7F 1E 02 14 */	add r24, r30, r0
/* 803B0620 003AC280  3A A0 00 00 */	li r21, 0
/* 803B0624 003AC284  3B 80 00 02 */	li r28, 2
/* 803B0628 003AC288  3B 40 00 01 */	li r26, 1
/* 803B062C 003AC28C  3B 20 00 03 */	li r25, 3
/* 803B0630 003AC290  48 00 00 8C */	b lbl_803B06BC
lbl_803B0634:
/* 803B0634 003AC294  7C 98 AA 14 */	add r4, r24, r21
/* 803B0638 003AC298  7E 83 A3 78 */	mr r3, r20
/* 803B063C 003AC29C  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B0640 003AC2A0  48 02 E3 0D */	bl func_803DE94C
/* 803B0644 003AC2A4  7C 77 1B 78 */	mr r23, r3
/* 803B0648 003AC2A8  38 80 00 AD */	li r4, 0xad
/* 803B064C 003AC2AC  38 A0 00 00 */	li r5, 0
/* 803B0650 003AC2B0  48 02 D3 8D */	bl func_803DD9DC
/* 803B0654 003AC2B4  2C 03 00 00 */	cmpwi r3, 0
/* 803B0658 003AC2B8  41 82 00 60 */	beq lbl_803B06B8
/* 803B065C 003AC2BC  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B0660 003AC2C0  41 82 00 58 */	beq lbl_803B06B8
/* 803B0664 003AC2C4  7E E3 BB 78 */	mr r3, r23
/* 803B0668 003AC2C8  38 80 00 A2 */	li r4, 0xa2
/* 803B066C 003AC2CC  38 A0 00 00 */	li r5, 0
/* 803B0670 003AC2D0  48 02 D3 6D */	bl func_803DD9DC
/* 803B0674 003AC2D4  2C 03 00 00 */	cmpwi r3, 0
/* 803B0678 003AC2D8  41 82 00 34 */	beq lbl_803B06AC
/* 803B067C 003AC2DC  7E E3 BB 78 */	mr r3, r23
/* 803B0680 003AC2E0  38 80 00 9F */	li r4, 0x9f
/* 803B0684 003AC2E4  38 A0 00 00 */	li r5, 0
/* 803B0688 003AC2E8  48 02 D3 55 */	bl func_803DD9DC
/* 803B068C 003AC2EC  2C 03 00 00 */	cmpwi r3, 0
/* 803B0690 003AC2F0  41 82 00 10 */	beq lbl_803B06A0
/* 803B0694 003AC2F4  7C 7B B2 14 */	add r3, r27, r22
/* 803B0698 003AC2F8  9B 23 00 0E */	stb r25, 0xe(r3)
/* 803B069C 003AC2FC  48 00 00 18 */	b lbl_803B06B4
lbl_803B06A0:
/* 803B06A0 003AC300  7C 7B B2 14 */	add r3, r27, r22
/* 803B06A4 003AC304  9B 43 00 0E */	stb r26, 0xe(r3)
/* 803B06A8 003AC308  48 00 00 0C */	b lbl_803B06B4
lbl_803B06AC:
/* 803B06AC 003AC30C  7C 7B B2 14 */	add r3, r27, r22
/* 803B06B0 003AC310  9B 83 00 0E */	stb r28, 0xe(r3)
lbl_803B06B4:
/* 803B06B4 003AC314  3A D6 00 01 */	addi r22, r22, 1
lbl_803B06B8:
/* 803B06B8 003AC318  3A B5 00 01 */	addi r21, r21, 1
lbl_803B06BC:
/* 803B06BC 003AC31C  7E 83 A3 78 */	mr r3, r20
/* 803B06C0 003AC320  48 02 E2 85 */	bl func_803DE944
/* 803B06C4 003AC324  7C 15 18 00 */	cmpw r21, r3
/* 803B06C8 003AC328  41 80 FF 6C */	blt lbl_803B0634
lbl_803B06CC:
/* 803B06CC 003AC32C  3B 61 00 08 */	addi r27, r1, 8
/* 803B06D0 003AC330  3A C0 00 00 */	li r22, 0
/* 803B06D4 003AC334  3B 80 00 00 */	li r28, 0
lbl_803B06D8:
/* 803B06D8 003AC338  7F C3 F3 78 */	mr r3, r30
/* 803B06DC 003AC33C  7F E4 FB 78 */	mr r4, r31
/* 803B06E0 003AC340  38 B6 00 06 */	addi r5, r22, 6
/* 803B06E4 003AC344  38 C0 00 00 */	li r6, 0
/* 803B06E8 003AC348  48 00 A5 BD */	bl func_803BACA4
/* 803B06EC 003AC34C  7C BB E2 14 */	add r5, r27, r28
/* 803B06F0 003AC350  7F E4 FB 78 */	mr r4, r31
/* 803B06F4 003AC354  B0 65 00 14 */	sth r3, 0x14(r5)
/* 803B06F8 003AC358  7F C3 F3 78 */	mr r3, r30
/* 803B06FC 003AC35C  7E BB B2 14 */	add r21, r27, r22
/* 803B0700 003AC360  38 B6 00 1F */	addi r5, r22, 0x1f
/* 803B0704 003AC364  38 C0 00 00 */	li r6, 0
/* 803B0708 003AC368  48 00 A5 9D */	bl func_803BACA4
/* 803B070C 003AC36C  98 75 00 1C */	stb r3, 0x1c(r21)
/* 803B0710 003AC370  7F C3 F3 78 */	mr r3, r30
/* 803B0714 003AC374  7F E4 FB 78 */	mr r4, r31
/* 803B0718 003AC378  38 B6 00 27 */	addi r5, r22, 0x27
/* 803B071C 003AC37C  38 C0 00 00 */	li r6, 0
/* 803B0720 003AC380  48 00 A5 85 */	bl func_803BACA4
/* 803B0724 003AC384  3A D6 00 01 */	addi r22, r22, 1
/* 803B0728 003AC388  98 75 00 20 */	stb r3, 0x20(r21)
/* 803B072C 003AC38C  2C 16 00 04 */	cmpwi r22, 4
/* 803B0730 003AC390  3B 9C 00 02 */	addi r28, r28, 2
/* 803B0734 003AC394  41 80 FF A4 */	blt lbl_803B06D8
/* 803B0738 003AC398  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803B073C 003AC39C  7C 7E 02 14 */	add r3, r30, r0
/* 803B0740 003AC3A0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B0744 003AC3A4  B0 01 00 2C */	sth r0, 0x2c(r1)
/* 803B0748 003AC3A8  7C 00 07 35 */	extsh. r0, r0
/* 803B074C 003AC3AC  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B0750 003AC3B0  B0 01 00 2E */	sth r0, 0x2e(r1)
/* 803B0754 003AC3B4  41 82 00 28 */	beq lbl_803B077C
/* 803B0758 003AC3B8  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B075C 003AC3BC  2C 00 00 00 */	cmpwi r0, 0
/* 803B0760 003AC3C0  41 82 00 10 */	beq lbl_803B0770
/* 803B0764 003AC3C4  38 00 00 03 */	li r0, 3
/* 803B0768 003AC3C8  98 01 00 30 */	stb r0, 0x30(r1)
/* 803B076C 003AC3CC  48 00 00 18 */	b lbl_803B0784
lbl_803B0770:
/* 803B0770 003AC3D0  38 00 00 01 */	li r0, 1
/* 803B0774 003AC3D4  98 01 00 30 */	stb r0, 0x30(r1)
/* 803B0778 003AC3D8  48 00 00 0C */	b lbl_803B0784
lbl_803B077C:
/* 803B077C 003AC3DC  38 00 00 02 */	li r0, 2
/* 803B0780 003AC3E0  98 01 00 30 */	stb r0, 0x30(r1)
lbl_803B0784:
/* 803B0784 003AC3E4  7F A3 EB 78 */	mr r3, r29
/* 803B0788 003AC3E8  7F E5 FB 78 */	mr r5, r31
/* 803B078C 003AC3EC  38 C1 00 08 */	addi r6, r1, 8
/* 803B0790 003AC3F0  38 80 00 01 */	li r4, 1
/* 803B0794 003AC3F4  38 E0 00 2C */	li r7, 0x2c
/* 803B0798 003AC3F8  4B FF EE 59 */	bl func_803AF5F0
/* 803B079C 003AC3FC  39 61 00 80 */	addi r11, r1, 0x80
/* 803B07A0 003AC400  4B E1 69 AD */	bl _restgpr_17
/* 803B07A4 003AC404  80 01 00 84 */	lwz r0, 0x84(r1)
/* 803B07A8 003AC408  7C 08 03 A6 */	mtlr r0
/* 803B07AC 003AC40C  38 21 00 80 */	addi r1, r1, 0x80
/* 803B07B0 003AC410  4E 80 00 20 */	blr 

.global func_803B07B4
func_803B07B4:
/* 803B07B4 003AC414  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B07B8 003AC418  7C 08 02 A6 */	mflr r0
/* 803B07BC 003AC41C  7C 87 23 78 */	mr r7, r4
/* 803B07C0 003AC420  38 80 00 00 */	li r4, 0
/* 803B07C4 003AC424  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B07C8 003AC428  54 A0 42 1E */	rlwinm r0, r5, 8, 8, 0xf
/* 803B07CC 003AC42C  50 A0 C0 0E */	rlwimi r0, r5, 0x18, 0, 7
/* 803B07D0 003AC430  38 C1 00 08 */	addi r6, r1, 8
/* 803B07D4 003AC434  50 A0 C4 2E */	rlwimi r0, r5, 0x18, 0x10, 0x17
/* 803B07D8 003AC438  50 A0 46 3E */	rlwimi r0, r5, 8, 0x18, 0x1f
/* 803B07DC 003AC43C  7C E5 3B 78 */	mr r5, r7
/* 803B07E0 003AC440  90 01 00 08 */	stw r0, 8(r1)
/* 803B07E4 003AC444  38 E0 00 04 */	li r7, 4
/* 803B07E8 003AC448  4B FF EE 09 */	bl func_803AF5F0
/* 803B07EC 003AC44C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B07F0 003AC450  7C 08 03 A6 */	mtlr r0
/* 803B07F4 003AC454  38 21 00 10 */	addi r1, r1, 0x10
/* 803B07F8 003AC458  4E 80 00 20 */	blr 

.global func_803B07FC
func_803B07FC:
/* 803B07FC 003AC45C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B0800 003AC460  7C 08 02 A6 */	mflr r0
/* 803B0804 003AC464  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B0808 003AC468  39 61 00 40 */	addi r11, r1, 0x40
/* 803B080C 003AC46C  4B E1 69 11 */	bl _savegpr_24
/* 803B0810 003AC470  7C 78 1B 78 */	mr r24, r3
/* 803B0814 003AC474  7C 99 23 78 */	mr r25, r4
/* 803B0818 003AC478  7C BA 2B 78 */	mr r26, r5
/* 803B081C 003AC47C  4B FF C0 2D */	bl func_803AC848
/* 803B0820 003AC480  7F 44 D3 78 */	mr r4, r26
/* 803B0824 003AC484  48 00 A4 55 */	bl func_803BAC78
/* 803B0828 003AC488  38 00 00 0F */	li r0, 0xf
/* 803B082C 003AC48C  7C 79 D2 14 */	add r3, r25, r26
/* 803B0830 003AC490  98 01 00 08 */	stb r0, 8(r1)
/* 803B0834 003AC494  1C 1A 00 C0 */	mulli r0, r26, 0xc0
/* 803B0838 003AC498  3B C1 00 08 */	addi r30, r1, 8
/* 803B083C 003AC49C  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803B0840 003AC4A0  3B 60 00 00 */	li r27, 0
/* 803B0844 003AC4A4  7F B9 02 14 */	add r29, r25, r0
/* 803B0848 003AC4A8  3B E0 00 00 */	li r31, 0
/* 803B084C 003AC4AC  98 61 00 09 */	stb r3, 9(r1)
lbl_803B0850:
/* 803B0850 003AC4B0  7C BD FA 14 */	add r5, r29, r31
/* 803B0854 003AC4B4  7C 7E FA 14 */	add r3, r30, r31
/* 803B0858 003AC4B8  A0 05 2D 4C */	lhz r0, 0x2d4c(r5)
/* 803B085C 003AC4BC  7C 9D DA 14 */	add r4, r29, r27
/* 803B0860 003AC4C0  7F 9E DA 14 */	add r28, r30, r27
/* 803B0864 003AC4C4  B0 03 00 04 */	sth r0, 4(r3)
/* 803B0868 003AC4C8  88 04 2D 6C */	lbz r0, 0x2d6c(r4)
/* 803B086C 003AC4CC  98 1C 00 0C */	stb r0, 0xc(r28)
/* 803B0870 003AC4D0  A0 65 2D 4C */	lhz r3, 0x2d4c(r5)
/* 803B0874 003AC4D4  88 84 2D 70 */	lbz r4, 0x2d70(r4)
/* 803B0878 003AC4D8  48 02 E1 E9 */	bl func_803DEA60
/* 803B087C 003AC4DC  3B 7B 00 01 */	addi r27, r27, 1
/* 803B0880 003AC4E0  98 7C 00 10 */	stb r3, 0x10(r28)
/* 803B0884 003AC4E4  2C 1B 00 04 */	cmpwi r27, 4
/* 803B0888 003AC4E8  3B FF 00 02 */	addi r31, r31, 2
/* 803B088C 003AC4EC  41 80 FF C4 */	blt lbl_803B0850
/* 803B0890 003AC4F0  7F 03 C3 78 */	mr r3, r24
/* 803B0894 003AC4F4  7F 24 CB 78 */	mr r4, r25
/* 803B0898 003AC4F8  7F 45 D3 78 */	mr r5, r26
/* 803B089C 003AC4FC  38 C0 00 00 */	li r6, 0
/* 803B08A0 003AC500  38 E0 FF FF */	li r7, -1
/* 803B08A4 003AC504  48 00 D8 59 */	bl func_803BE0FC
/* 803B08A8 003AC508  B0 61 00 0A */	sth r3, 0xa(r1)
/* 803B08AC 003AC50C  7F 03 C3 78 */	mr r3, r24
/* 803B08B0 003AC510  7F 45 D3 78 */	mr r5, r26
/* 803B08B4 003AC514  38 C1 00 08 */	addi r6, r1, 8
/* 803B08B8 003AC518  38 80 00 01 */	li r4, 1
/* 803B08BC 003AC51C  38 E0 00 14 */	li r7, 0x14
/* 803B08C0 003AC520  4B FF ED 31 */	bl func_803AF5F0
/* 803B08C4 003AC524  39 61 00 40 */	addi r11, r1, 0x40
/* 803B08C8 003AC528  4B E1 68 A1 */	bl _restgpr_24
/* 803B08CC 003AC52C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B08D0 003AC530  7C 08 03 A6 */	mtlr r0
/* 803B08D4 003AC534  38 21 00 40 */	addi r1, r1, 0x40
/* 803B08D8 003AC538  4E 80 00 20 */	blr 

.global func_803B08DC
func_803B08DC:
/* 803B08DC 003AC53C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B08E0 003AC540  7C 08 02 A6 */	mflr r0
/* 803B08E4 003AC544  7C 87 23 78 */	mr r7, r4
/* 803B08E8 003AC548  38 80 00 00 */	li r4, 0
/* 803B08EC 003AC54C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B08F0 003AC550  54 A0 42 1E */	rlwinm r0, r5, 8, 8, 0xf
/* 803B08F4 003AC554  50 A0 C0 0E */	rlwimi r0, r5, 0x18, 0, 7
/* 803B08F8 003AC558  38 C1 00 08 */	addi r6, r1, 8
/* 803B08FC 003AC55C  50 A0 C4 2E */	rlwimi r0, r5, 0x18, 0x10, 0x17
/* 803B0900 003AC560  50 A0 46 3E */	rlwimi r0, r5, 8, 0x18, 0x1f
/* 803B0904 003AC564  7C E5 3B 78 */	mr r5, r7
/* 803B0908 003AC568  90 01 00 08 */	stw r0, 8(r1)
/* 803B090C 003AC56C  38 E0 00 04 */	li r7, 4
/* 803B0910 003AC570  4B FF EC E1 */	bl func_803AF5F0
/* 803B0914 003AC574  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B0918 003AC578  7C 08 03 A6 */	mtlr r0
/* 803B091C 003AC57C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B0920 003AC580  4E 80 00 20 */	blr 

.global func_803B0924
func_803B0924:
/* 803B0924 003AC584  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B0928 003AC588  7C 08 02 A6 */	mflr r0
/* 803B092C 003AC58C  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B0930 003AC590  39 61 00 40 */	addi r11, r1, 0x40
/* 803B0934 003AC594  4B E1 67 F9 */	bl _savegpr_28
/* 803B0938 003AC598  7C 9E 23 78 */	mr r30, r4
/* 803B093C 003AC59C  7C DF 33 78 */	mr r31, r6
/* 803B0940 003AC5A0  7C 7D 1B 78 */	mr r29, r3
/* 803B0944 003AC5A4  7C BC 2B 78 */	mr r28, r5
/* 803B0948 003AC5A8  7F C3 F3 78 */	mr r3, r30
/* 803B094C 003AC5AC  7F E4 FB 78 */	mr r4, r31
/* 803B0950 003AC5B0  48 00 A3 29 */	bl func_803BAC78
/* 803B0954 003AC5B4  7F A3 EB 78 */	mr r3, r29
/* 803B0958 003AC5B8  4B FF BE E9 */	bl func_803AC840
/* 803B095C 003AC5BC  54 64 07 BC */	rlwinm r4, r3, 0, 0x1e, 0x1e
/* 803B0960 003AC5C0  38 00 00 10 */	li r0, 0x10
/* 803B0964 003AC5C4  2C 84 00 00 */	cmpwi cr1, r4, 0
/* 803B0968 003AC5C8  98 01 00 08 */	stb r0, 8(r1)
/* 803B096C 003AC5CC  B3 81 00 0A */	sth r28, 0xa(r1)
/* 803B0970 003AC5D0  41 86 00 18 */	beq cr1, lbl_803B0988
/* 803B0974 003AC5D4  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803B0978 003AC5D8  40 82 00 10 */	bne lbl_803B0988
/* 803B097C 003AC5DC  41 86 00 18 */	beq cr1, lbl_803B0994
/* 803B0980 003AC5E0  2C 1F 00 02 */	cmpwi r31, 2
/* 803B0984 003AC5E4  41 80 00 10 */	blt lbl_803B0994
lbl_803B0988:
/* 803B0988 003AC5E8  38 00 00 01 */	li r0, 1
/* 803B098C 003AC5EC  98 01 00 09 */	stb r0, 9(r1)
/* 803B0990 003AC5F0  48 00 00 0C */	b lbl_803B099C
lbl_803B0994:
/* 803B0994 003AC5F4  38 00 00 00 */	li r0, 0
/* 803B0998 003AC5F8  98 01 00 09 */	stb r0, 9(r1)
lbl_803B099C:
/* 803B099C 003AC5FC  38 00 00 04 */	li r0, 4
/* 803B09A0 003AC600  38 61 00 0D */	addi r3, r1, 0xd
/* 803B09A4 003AC604  39 01 00 08 */	addi r8, r1, 8
/* 803B09A8 003AC608  38 80 00 00 */	li r4, 0
/* 803B09AC 003AC60C  38 A0 00 00 */	li r5, 0
/* 803B09B0 003AC610  38 C0 00 00 */	li r6, 0
/* 803B09B4 003AC614  39 60 00 02 */	li r11, 2
/* 803B09B8 003AC618  39 20 00 01 */	li r9, 1
/* 803B09BC 003AC61C  39 40 00 03 */	li r10, 3
/* 803B09C0 003AC620  7C 09 03 A6 */	mtctr r0
lbl_803B09C4:
/* 803B09C4 003AC624  7D 9E 2A 14 */	add r12, r30, r5
/* 803B09C8 003AC628  80 0C 2D 8C */	lwz r0, 0x2d8c(r12)
/* 803B09CC 003AC62C  2C 00 00 00 */	cmpwi r0, 0
/* 803B09D0 003AC630  41 82 00 94 */	beq lbl_803B0A64
/* 803B09D4 003AC634  3B 81 00 08 */	addi r28, r1, 8
/* 803B09D8 003AC638  7F 9C 32 14 */	add r28, r28, r6
/* 803B09DC 003AC63C  B0 1C 00 08 */	sth r0, 8(r28)
/* 803B09E0 003AC640  80 0C 2D 90 */	lwz r0, 0x2d90(r12)
/* 803B09E4 003AC644  B0 1C 00 0A */	sth r0, 0xa(r28)
/* 803B09E8 003AC648  7C 03 30 AE */	lbzx r0, r3, r6
/* 803B09EC 003AC64C  60 00 00 20 */	ori r0, r0, 0x20
/* 803B09F0 003AC650  7C 03 31 AE */	stbx r0, r3, r6
/* 803B09F4 003AC654  A0 0C 2D 40 */	lhz r0, 0x2d40(r12)
/* 803B09F8 003AC658  28 00 00 1D */	cmplwi r0, 0x1d
/* 803B09FC 003AC65C  41 82 00 0C */	beq lbl_803B0A08
/* 803B0A00 003AC660  28 00 00 20 */	cmplwi r0, 0x20
/* 803B0A04 003AC664  40 82 00 24 */	bne lbl_803B0A28
lbl_803B0A08:
/* 803B0A08 003AC668  7C FE 2A 14 */	add r7, r30, r5
/* 803B0A0C 003AC66C  80 07 2D 54 */	lwz r0, 0x2d54(r7)
/* 803B0A10 003AC670  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B0A14 003AC674  40 82 00 14 */	bne lbl_803B0A28
/* 803B0A18 003AC678  7C 03 30 AE */	lbzx r0, r3, r6
/* 803B0A1C 003AC67C  51 60 36 32 */	rlwimi r0, r11, 6, 0x18, 0x19
/* 803B0A20 003AC680  7C 03 31 AE */	stbx r0, r3, r6
/* 803B0A24 003AC684  48 00 00 18 */	b lbl_803B0A3C
lbl_803B0A28:
/* 803B0A28 003AC688  7C FE 2A 14 */	add r7, r30, r5
/* 803B0A2C 003AC68C  7C 03 30 AE */	lbzx r0, r3, r6
/* 803B0A30 003AC690  88 E7 2D BE */	lbz r7, 0x2dbe(r7)
/* 803B0A34 003AC694  50 E0 16 32 */	rlwimi r0, r7, 2, 0x18, 0x19
/* 803B0A38 003AC698  7C 03 31 AE */	stbx r0, r3, r6
lbl_803B0A3C:
/* 803B0A3C 003AC69C  7C FE 22 14 */	add r7, r30, r4
/* 803B0A40 003AC6A0  88 07 21 9C */	lbz r0, 0x219c(r7)
/* 803B0A44 003AC6A4  98 1C 00 04 */	stb r0, 4(r28)
/* 803B0A48 003AC6A8  80 0C 2D AC */	lwz r0, 0x2dac(r12)
/* 803B0A4C 003AC6AC  2C 00 00 00 */	cmpwi r0, 0
/* 803B0A50 003AC6B0  41 82 00 0C */	beq lbl_803B0A5C
/* 803B0A54 003AC6B4  99 5C 00 06 */	stb r10, 6(r28)
/* 803B0A58 003AC6B8  48 00 00 20 */	b lbl_803B0A78
lbl_803B0A5C:
/* 803B0A5C 003AC6BC  99 3C 00 06 */	stb r9, 6(r28)
/* 803B0A60 003AC6C0  48 00 00 18 */	b lbl_803B0A78
lbl_803B0A64:
/* 803B0A64 003AC6C4  7C 03 30 AE */	lbzx r0, r3, r6
/* 803B0A68 003AC6C8  7C E8 32 14 */	add r7, r8, r6
/* 803B0A6C 003AC6CC  54 00 06 F2 */	rlwinm r0, r0, 0, 0x1b, 0x19
/* 803B0A70 003AC6D0  7C 03 31 AE */	stbx r0, r3, r6
/* 803B0A74 003AC6D4  99 67 00 06 */	stb r11, 6(r7)
lbl_803B0A78:
/* 803B0A78 003AC6D8  38 84 00 01 */	addi r4, r4, 1
/* 803B0A7C 003AC6DC  38 A5 00 C0 */	addi r5, r5, 0xc0
/* 803B0A80 003AC6E0  38 C6 00 08 */	addi r6, r6, 8
/* 803B0A84 003AC6E4  42 00 FF 40 */	bdnz lbl_803B09C4
/* 803B0A88 003AC6E8  7F A3 EB 78 */	mr r3, r29
/* 803B0A8C 003AC6EC  7F E5 FB 78 */	mr r5, r31
/* 803B0A90 003AC6F0  38 C1 00 08 */	addi r6, r1, 8
/* 803B0A94 003AC6F4  38 80 00 01 */	li r4, 1
/* 803B0A98 003AC6F8  38 E0 00 24 */	li r7, 0x24
/* 803B0A9C 003AC6FC  4B FF EB 55 */	bl func_803AF5F0
/* 803B0AA0 003AC700  39 61 00 40 */	addi r11, r1, 0x40
/* 803B0AA4 003AC704  4B E1 66 D5 */	bl _restgpr_28
/* 803B0AA8 003AC708  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B0AAC 003AC70C  7C 08 03 A6 */	mtlr r0
/* 803B0AB0 003AC710  38 21 00 40 */	addi r1, r1, 0x40
/* 803B0AB4 003AC714  4E 80 00 20 */	blr 

.global func_803B0AB8
func_803B0AB8:
/* 803B0AB8 003AC718  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B0ABC 003AC71C  7C 08 02 A6 */	mflr r0
/* 803B0AC0 003AC720  7C 87 23 78 */	mr r7, r4
/* 803B0AC4 003AC724  38 80 00 00 */	li r4, 0
/* 803B0AC8 003AC728  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B0ACC 003AC72C  54 A0 42 1E */	rlwinm r0, r5, 8, 8, 0xf
/* 803B0AD0 003AC730  50 A0 C0 0E */	rlwimi r0, r5, 0x18, 0, 7
/* 803B0AD4 003AC734  38 C1 00 08 */	addi r6, r1, 8
/* 803B0AD8 003AC738  50 A0 C4 2E */	rlwimi r0, r5, 0x18, 0x10, 0x17
/* 803B0ADC 003AC73C  50 A0 46 3E */	rlwimi r0, r5, 8, 0x18, 0x1f
/* 803B0AE0 003AC740  7C E5 3B 78 */	mr r5, r7
/* 803B0AE4 003AC744  90 01 00 08 */	stw r0, 8(r1)
/* 803B0AE8 003AC748  38 E0 00 04 */	li r7, 4
/* 803B0AEC 003AC74C  4B FF EB 05 */	bl func_803AF5F0
/* 803B0AF0 003AC750  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B0AF4 003AC754  7C 08 03 A6 */	mtlr r0
/* 803B0AF8 003AC758  38 21 00 10 */	addi r1, r1, 0x10
/* 803B0AFC 003AC75C  4E 80 00 20 */	blr 

.global func_803B0B00
func_803B0B00:
/* 803B0B00 003AC760  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B0B04 003AC764  7C 08 02 A6 */	mflr r0
/* 803B0B08 003AC768  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B0B0C 003AC76C  39 61 00 40 */	addi r11, r1, 0x40
/* 803B0B10 003AC770  4B E1 66 21 */	bl _savegpr_29
/* 803B0B14 003AC774  7C 9E 23 78 */	mr r30, r4
/* 803B0B18 003AC778  7C BF 2B 78 */	mr r31, r5
/* 803B0B1C 003AC77C  7C 7D 1B 78 */	mr r29, r3
/* 803B0B20 003AC780  7F C3 F3 78 */	mr r3, r30
/* 803B0B24 003AC784  7F E4 FB 78 */	mr r4, r31
/* 803B0B28 003AC788  48 00 A1 51 */	bl func_803BAC78
/* 803B0B2C 003AC78C  38 00 00 11 */	li r0, 0x11
/* 803B0B30 003AC790  39 40 00 00 */	li r10, 0
/* 803B0B34 003AC794  98 01 00 08 */	stb r0, 8(r1)
/* 803B0B38 003AC798  38 60 00 00 */	li r3, 0
/* 803B0B3C 003AC79C  38 80 00 00 */	li r4, 0
/* 803B0B40 003AC7A0  38 00 00 06 */	li r0, 6
lbl_803B0B44:
/* 803B0B44 003AC7A4  7C BE 52 14 */	add r5, r30, r10
/* 803B0B48 003AC7A8  39 21 00 08 */	addi r9, r1, 8
/* 803B0B4C 003AC7AC  88 A5 21 9C */	lbz r5, 0x219c(r5)
/* 803B0B50 003AC7B0  7D 29 52 14 */	add r9, r9, r10
/* 803B0B54 003AC7B4  39 01 00 08 */	addi r8, r1, 8
/* 803B0B58 003AC7B8  7C FE 22 14 */	add r7, r30, r4
/* 803B0B5C 003AC7BC  98 A9 00 04 */	stb r5, 4(r9)
/* 803B0B60 003AC7C0  7D 08 22 14 */	add r8, r8, r4
/* 803B0B64 003AC7C4  39 60 00 00 */	li r11, 0
/* 803B0B68 003AC7C8  7C 09 03 A6 */	mtctr r0
lbl_803B0B6C:
/* 803B0B6C 003AC7CC  7C C7 5A 14 */	add r6, r7, r11
/* 803B0B70 003AC7D0  7C A8 5A 14 */	add r5, r8, r11
/* 803B0B74 003AC7D4  88 C6 31 2C */	lbz r6, 0x312c(r6)
/* 803B0B78 003AC7D8  39 6B 00 01 */	addi r11, r11, 1
/* 803B0B7C 003AC7DC  98 C5 00 08 */	stb r6, 8(r5)
/* 803B0B80 003AC7E0  42 00 FF EC */	bdnz lbl_803B0B6C
/* 803B0B84 003AC7E4  7C BE 1A 14 */	add r5, r30, r3
/* 803B0B88 003AC7E8  39 4A 00 01 */	addi r10, r10, 1
/* 803B0B8C 003AC7EC  80 A5 2D CC */	lwz r5, 0x2dcc(r5)
/* 803B0B90 003AC7F0  2C 0A 00 04 */	cmpwi r10, 4
/* 803B0B94 003AC7F4  38 63 00 C0 */	addi r3, r3, 0xc0
/* 803B0B98 003AC7F8  38 84 00 06 */	addi r4, r4, 6
/* 803B0B9C 003AC7FC  54 A5 B7 7E */	rlwinm r5, r5, 0x16, 0x1d, 0x1f
/* 803B0BA0 003AC800  98 A9 00 20 */	stb r5, 0x20(r9)
/* 803B0BA4 003AC804  41 80 FF A0 */	blt lbl_803B0B44
/* 803B0BA8 003AC808  7F A3 EB 78 */	mr r3, r29
/* 803B0BAC 003AC80C  4B FF BC 95 */	bl func_803AC840
/* 803B0BB0 003AC810  28 03 00 4A */	cmplwi r3, 0x4a
/* 803B0BB4 003AC814  40 82 01 00 */	bne lbl_803B0CB4
/* 803B0BB8 003AC818  38 60 00 01 */	li r3, 1
/* 803B0BBC 003AC81C  48 02 CD 65 */	bl func_803DD920
/* 803B0BC0 003AC820  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803B0BC4 003AC824  7C 00 18 39 */	and. r0, r0, r3
/* 803B0BC8 003AC828  40 82 00 30 */	bne lbl_803B0BF8
/* 803B0BCC 003AC82C  38 60 00 03 */	li r3, 3
/* 803B0BD0 003AC830  48 02 CD 51 */	bl func_803DD920
/* 803B0BD4 003AC834  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803B0BD8 003AC838  7C 00 18 39 */	and. r0, r0, r3
/* 803B0BDC 003AC83C  40 82 00 1C */	bne lbl_803B0BF8
/* 803B0BE0 003AC840  38 00 00 00 */	li r0, 0
/* 803B0BE4 003AC844  38 60 00 01 */	li r3, 1
/* 803B0BE8 003AC848  98 61 00 09 */	stb r3, 9(r1)
/* 803B0BEC 003AC84C  98 01 00 0A */	stb r0, 0xa(r1)
/* 803B0BF0 003AC850  98 01 00 0B */	stb r0, 0xb(r1)
/* 803B0BF4 003AC854  48 00 01 34 */	b lbl_803B0D28
lbl_803B0BF8:
/* 803B0BF8 003AC858  38 60 00 01 */	li r3, 1
/* 803B0BFC 003AC85C  48 02 CD 25 */	bl func_803DD920
/* 803B0C00 003AC860  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803B0C04 003AC864  7C 00 18 39 */	and. r0, r0, r3
/* 803B0C08 003AC868  40 82 00 58 */	bne lbl_803B0C60
/* 803B0C0C 003AC86C  38 80 00 00 */	li r4, 0
/* 803B0C10 003AC870  3C 60 20 04 */	lis r3, 0x200400C0@ha
/* 803B0C14 003AC874  98 81 00 09 */	stb r4, 9(r1)
/* 803B0C18 003AC878  38 03 00 C0 */	addi r0, r3, 0x200400C0@l
/* 803B0C1C 003AC87C  80 7E 2E 80 */	lwz r3, 0x2e80(r30)
/* 803B0C20 003AC880  7C 60 00 39 */	and. r0, r3, r0
/* 803B0C24 003AC884  41 82 00 14 */	beq lbl_803B0C38
/* 803B0C28 003AC888  38 00 00 01 */	li r0, 1
/* 803B0C2C 003AC88C  98 81 00 0B */	stb r4, 0xb(r1)
/* 803B0C30 003AC890  98 01 00 0A */	stb r0, 0xa(r1)
/* 803B0C34 003AC894  48 00 00 F4 */	b lbl_803B0D28
lbl_803B0C38:
/* 803B0C38 003AC898  80 1E 2E 70 */	lwz r0, 0x2e70(r30)
/* 803B0C3C 003AC89C  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803B0C40 003AC8A0  41 82 00 14 */	beq lbl_803B0C54
/* 803B0C44 003AC8A4  38 00 00 01 */	li r0, 1
/* 803B0C48 003AC8A8  98 81 00 0A */	stb r4, 0xa(r1)
/* 803B0C4C 003AC8AC  98 01 00 0B */	stb r0, 0xb(r1)
/* 803B0C50 003AC8B0  48 00 00 D8 */	b lbl_803B0D28
lbl_803B0C54:
/* 803B0C54 003AC8B4  98 81 00 0A */	stb r4, 0xa(r1)
/* 803B0C58 003AC8B8  98 81 00 0B */	stb r4, 0xb(r1)
/* 803B0C5C 003AC8BC  48 00 00 CC */	b lbl_803B0D28
lbl_803B0C60:
/* 803B0C60 003AC8C0  38 80 00 00 */	li r4, 0
/* 803B0C64 003AC8C4  3C 60 20 04 */	lis r3, 0x200400C0@ha
/* 803B0C68 003AC8C8  98 81 00 09 */	stb r4, 9(r1)
/* 803B0C6C 003AC8CC  38 03 00 C0 */	addi r0, r3, 0x200400C0@l
/* 803B0C70 003AC8D0  80 7E 30 00 */	lwz r3, 0x3000(r30)
/* 803B0C74 003AC8D4  7C 60 00 39 */	and. r0, r3, r0
/* 803B0C78 003AC8D8  41 82 00 14 */	beq lbl_803B0C8C
/* 803B0C7C 003AC8DC  38 00 00 01 */	li r0, 1
/* 803B0C80 003AC8E0  98 81 00 0B */	stb r4, 0xb(r1)
/* 803B0C84 003AC8E4  98 01 00 0A */	stb r0, 0xa(r1)
/* 803B0C88 003AC8E8  48 00 00 A0 */	b lbl_803B0D28
lbl_803B0C8C:
/* 803B0C8C 003AC8EC  80 1E 2F F0 */	lwz r0, 0x2ff0(r30)
/* 803B0C90 003AC8F0  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803B0C94 003AC8F4  41 82 00 14 */	beq lbl_803B0CA8
/* 803B0C98 003AC8F8  38 00 00 01 */	li r0, 1
/* 803B0C9C 003AC8FC  98 81 00 0A */	stb r4, 0xa(r1)
/* 803B0CA0 003AC900  98 01 00 0B */	stb r0, 0xb(r1)
/* 803B0CA4 003AC904  48 00 00 84 */	b lbl_803B0D28
lbl_803B0CA8:
/* 803B0CA8 003AC908  98 81 00 0A */	stb r4, 0xa(r1)
/* 803B0CAC 003AC90C  98 81 00 0B */	stb r4, 0xb(r1)
/* 803B0CB0 003AC910  48 00 00 78 */	b lbl_803B0D28
lbl_803B0CB4:
/* 803B0CB4 003AC914  7F A3 EB 78 */	mr r3, r29
/* 803B0CB8 003AC918  4B FF BB 89 */	bl func_803AC840
/* 803B0CBC 003AC91C  2C 03 00 00 */	cmpwi r3, 0
/* 803B0CC0 003AC920  40 82 00 58 */	bne lbl_803B0D18
/* 803B0CC4 003AC924  38 80 00 00 */	li r4, 0
/* 803B0CC8 003AC928  3C 60 20 04 */	lis r3, 0x200400C0@ha
/* 803B0CCC 003AC92C  98 81 00 09 */	stb r4, 9(r1)
/* 803B0CD0 003AC930  38 03 00 C0 */	addi r0, r3, 0x200400C0@l
/* 803B0CD4 003AC934  80 7E 2E 80 */	lwz r3, 0x2e80(r30)
/* 803B0CD8 003AC938  7C 60 00 39 */	and. r0, r3, r0
/* 803B0CDC 003AC93C  41 82 00 14 */	beq lbl_803B0CF0
/* 803B0CE0 003AC940  38 00 00 01 */	li r0, 1
/* 803B0CE4 003AC944  98 81 00 0B */	stb r4, 0xb(r1)
/* 803B0CE8 003AC948  98 01 00 0A */	stb r0, 0xa(r1)
/* 803B0CEC 003AC94C  48 00 00 3C */	b lbl_803B0D28
lbl_803B0CF0:
/* 803B0CF0 003AC950  80 1E 2E 70 */	lwz r0, 0x2e70(r30)
/* 803B0CF4 003AC954  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803B0CF8 003AC958  41 82 00 14 */	beq lbl_803B0D0C
/* 803B0CFC 003AC95C  38 00 00 01 */	li r0, 1
/* 803B0D00 003AC960  98 81 00 0A */	stb r4, 0xa(r1)
/* 803B0D04 003AC964  98 01 00 0B */	stb r0, 0xb(r1)
/* 803B0D08 003AC968  48 00 00 20 */	b lbl_803B0D28
lbl_803B0D0C:
/* 803B0D0C 003AC96C  98 81 00 0A */	stb r4, 0xa(r1)
/* 803B0D10 003AC970  98 81 00 0B */	stb r4, 0xb(r1)
/* 803B0D14 003AC974  48 00 00 14 */	b lbl_803B0D28
lbl_803B0D18:
/* 803B0D18 003AC978  38 00 00 00 */	li r0, 0
/* 803B0D1C 003AC97C  98 01 00 09 */	stb r0, 9(r1)
/* 803B0D20 003AC980  98 01 00 0A */	stb r0, 0xa(r1)
/* 803B0D24 003AC984  98 01 00 0B */	stb r0, 0xb(r1)
lbl_803B0D28:
/* 803B0D28 003AC988  7F A3 EB 78 */	mr r3, r29
/* 803B0D2C 003AC98C  7F E5 FB 78 */	mr r5, r31
/* 803B0D30 003AC990  38 C1 00 08 */	addi r6, r1, 8
/* 803B0D34 003AC994  38 80 00 01 */	li r4, 1
/* 803B0D38 003AC998  38 E0 00 24 */	li r7, 0x24
/* 803B0D3C 003AC99C  4B FF E8 B5 */	bl func_803AF5F0
/* 803B0D40 003AC9A0  39 61 00 40 */	addi r11, r1, 0x40
/* 803B0D44 003AC9A4  4B E1 64 39 */	bl _restgpr_29
/* 803B0D48 003AC9A8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B0D4C 003AC9AC  7C 08 03 A6 */	mtlr r0
/* 803B0D50 003AC9B0  38 21 00 40 */	addi r1, r1, 0x40
/* 803B0D54 003AC9B4  4E 80 00 20 */	blr 

.global func_803B0D58
func_803B0D58:
/* 803B0D58 003AC9B8  7C A6 2B 78 */	mr r6, r5
/* 803B0D5C 003AC9BC  7C 85 23 78 */	mr r5, r4
/* 803B0D60 003AC9C0  38 80 00 00 */	li r4, 0
/* 803B0D64 003AC9C4  38 E0 00 04 */	li r7, 4
/* 803B0D68 003AC9C8  4B FF E8 88 */	b func_803AF5F0

.global func_803B0D6C
func_803B0D6C:
/* 803B0D6C 003AC9CC  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803B0D70 003AC9D0  7C 08 02 A6 */	mflr r0
/* 803B0D74 003AC9D4  90 01 00 54 */	stw r0, 0x54(r1)
/* 803B0D78 003AC9D8  39 61 00 50 */	addi r11, r1, 0x50
/* 803B0D7C 003AC9DC  4B E1 63 A9 */	bl _savegpr_26
/* 803B0D80 003AC9E0  7C 9E 23 78 */	mr r30, r4
/* 803B0D84 003AC9E4  7C BF 2B 78 */	mr r31, r5
/* 803B0D88 003AC9E8  7C 7D 1B 78 */	mr r29, r3
/* 803B0D8C 003AC9EC  7C DA 33 78 */	mr r26, r6
/* 803B0D90 003AC9F0  7C FB 3B 78 */	mr r27, r7
/* 803B0D94 003AC9F4  7D 1C 43 78 */	mr r28, r8
/* 803B0D98 003AC9F8  7F C3 F3 78 */	mr r3, r30
/* 803B0D9C 003AC9FC  7F E4 FB 78 */	mr r4, r31
/* 803B0DA0 003ACA00  48 00 9E D9 */	bl func_803BAC78
/* 803B0DA4 003ACA04  38 00 00 12 */	li r0, 0x12
/* 803B0DA8 003ACA08  9B E1 00 09 */	stb r31, 9(r1)
/* 803B0DAC 003ACA0C  38 C1 00 08 */	addi r6, r1, 8
/* 803B0DB0 003ACA10  39 20 00 00 */	li r9, 0
/* 803B0DB4 003ACA14  98 01 00 08 */	stb r0, 8(r1)
/* 803B0DB8 003ACA18  38 60 00 00 */	li r3, 0
/* 803B0DBC 003ACA1C  38 00 00 06 */	li r0, 6
/* 803B0DC0 003ACA20  9B 41 00 0A */	stb r26, 0xa(r1)
/* 803B0DC4 003ACA24  93 61 00 28 */	stw r27, 0x28(r1)
/* 803B0DC8 003ACA28  9B 81 00 0B */	stb r28, 0xb(r1)
/* 803B0DCC 003ACA2C  88 9E 31 08 */	lbz r4, 0x3108(r30)
/* 803B0DD0 003ACA30  98 81 00 2C */	stb r4, 0x2c(r1)
lbl_803B0DD4:
/* 803B0DD4 003ACA34  7C BE 4A 14 */	add r5, r30, r9
/* 803B0DD8 003ACA38  7C 86 4A 14 */	add r4, r6, r9
/* 803B0DDC 003ACA3C  88 A5 21 9C */	lbz r5, 0x219c(r5)
/* 803B0DE0 003ACA40  7C FE 1A 14 */	add r7, r30, r3
/* 803B0DE4 003ACA44  7D 06 1A 14 */	add r8, r6, r3
/* 803B0DE8 003ACA48  39 40 00 00 */	li r10, 0
/* 803B0DEC 003ACA4C  98 A4 00 04 */	stb r5, 4(r4)
/* 803B0DF0 003ACA50  7C 09 03 A6 */	mtctr r0
lbl_803B0DF4:
/* 803B0DF4 003ACA54  7C A7 52 14 */	add r5, r7, r10
/* 803B0DF8 003ACA58  7C 88 52 14 */	add r4, r8, r10
/* 803B0DFC 003ACA5C  88 A5 31 2C */	lbz r5, 0x312c(r5)
/* 803B0E00 003ACA60  39 4A 00 01 */	addi r10, r10, 1
/* 803B0E04 003ACA64  98 A4 00 08 */	stb r5, 8(r4)
/* 803B0E08 003ACA68  42 00 FF EC */	bdnz lbl_803B0DF4
/* 803B0E0C 003ACA6C  39 29 00 01 */	addi r9, r9, 1
/* 803B0E10 003ACA70  38 63 00 06 */	addi r3, r3, 6
/* 803B0E14 003ACA74  2C 09 00 04 */	cmpwi r9, 4
/* 803B0E18 003ACA78  41 80 FF BC */	blt lbl_803B0DD4
/* 803B0E1C 003ACA7C  7F A3 EB 78 */	mr r3, r29
/* 803B0E20 003ACA80  7F E5 FB 78 */	mr r5, r31
/* 803B0E24 003ACA84  38 C1 00 08 */	addi r6, r1, 8
/* 803B0E28 003ACA88  38 80 00 01 */	li r4, 1
/* 803B0E2C 003ACA8C  38 E0 00 28 */	li r7, 0x28
/* 803B0E30 003ACA90  4B FF E7 C1 */	bl func_803AF5F0
/* 803B0E34 003ACA94  39 61 00 50 */	addi r11, r1, 0x50
/* 803B0E38 003ACA98  4B E1 63 39 */	bl _restgpr_26
/* 803B0E3C 003ACA9C  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803B0E40 003ACAA0  7C 08 03 A6 */	mtlr r0
/* 803B0E44 003ACAA4  38 21 00 50 */	addi r1, r1, 0x50
/* 803B0E48 003ACAA8  4E 80 00 20 */	blr 

.global func_803B0E4C
func_803B0E4C:
/* 803B0E4C 003ACAAC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B0E50 003ACAB0  7C 08 02 A6 */	mflr r0
/* 803B0E54 003ACAB4  7C 87 23 78 */	mr r7, r4
/* 803B0E58 003ACAB8  38 80 00 00 */	li r4, 0
/* 803B0E5C 003ACABC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B0E60 003ACAC0  54 A0 42 1E */	rlwinm r0, r5, 8, 8, 0xf
/* 803B0E64 003ACAC4  50 A0 C0 0E */	rlwimi r0, r5, 0x18, 0, 7
/* 803B0E68 003ACAC8  38 C1 00 08 */	addi r6, r1, 8
/* 803B0E6C 003ACACC  50 A0 C4 2E */	rlwimi r0, r5, 0x18, 0x10, 0x17
/* 803B0E70 003ACAD0  50 A0 46 3E */	rlwimi r0, r5, 8, 0x18, 0x1f
/* 803B0E74 003ACAD4  7C E5 3B 78 */	mr r5, r7
/* 803B0E78 003ACAD8  90 01 00 08 */	stw r0, 8(r1)
/* 803B0E7C 003ACADC  38 E0 00 04 */	li r7, 4
/* 803B0E80 003ACAE0  4B FF E7 71 */	bl func_803AF5F0
/* 803B0E84 003ACAE4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B0E88 003ACAE8  7C 08 03 A6 */	mtlr r0
/* 803B0E8C 003ACAEC  38 21 00 10 */	addi r1, r1, 0x10
/* 803B0E90 003ACAF0  4E 80 00 20 */	blr 

.global func_803B0E94
func_803B0E94:
/* 803B0E94 003ACAF4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B0E98 003ACAF8  7C 08 02 A6 */	mflr r0
/* 803B0E9C 003ACAFC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B0EA0 003ACB00  39 61 00 30 */	addi r11, r1, 0x30
/* 803B0EA4 003ACB04  4B E1 62 81 */	bl _savegpr_26
/* 803B0EA8 003ACB08  7C BB 2B 78 */	mr r27, r5
/* 803B0EAC 003ACB0C  7C 7A 1B 78 */	mr r26, r3
/* 803B0EB0 003ACB10  7C 83 23 78 */	mr r3, r4
/* 803B0EB4 003ACB14  7C DC 33 78 */	mr r28, r6
/* 803B0EB8 003ACB18  7C FD 3B 78 */	mr r29, r7
/* 803B0EBC 003ACB1C  7D 1E 43 78 */	mr r30, r8
/* 803B0EC0 003ACB20  7D 3F 4B 78 */	mr r31, r9
/* 803B0EC4 003ACB24  7F 64 DB 78 */	mr r4, r27
/* 803B0EC8 003ACB28  48 00 9D B1 */	bl func_803BAC78
/* 803B0ECC 003ACB2C  38 00 00 13 */	li r0, 0x13
/* 803B0ED0 003ACB30  B3 81 00 0A */	sth r28, 0xa(r1)
/* 803B0ED4 003ACB34  7F 43 D3 78 */	mr r3, r26
/* 803B0ED8 003ACB38  7F 65 DB 78 */	mr r5, r27
/* 803B0EDC 003ACB3C  98 01 00 08 */	stb r0, 8(r1)
/* 803B0EE0 003ACB40  38 C1 00 08 */	addi r6, r1, 8
/* 803B0EE4 003ACB44  38 80 00 01 */	li r4, 1
/* 803B0EE8 003ACB48  38 E0 00 0C */	li r7, 0xc
/* 803B0EEC 003ACB4C  9B A1 00 09 */	stb r29, 9(r1)
/* 803B0EF0 003ACB50  93 C1 00 0C */	stw r30, 0xc(r1)
/* 803B0EF4 003ACB54  93 E1 00 10 */	stw r31, 0x10(r1)
/* 803B0EF8 003ACB58  4B FF E6 F9 */	bl func_803AF5F0
/* 803B0EFC 003ACB5C  39 61 00 30 */	addi r11, r1, 0x30
/* 803B0F00 003ACB60  4B E1 62 71 */	bl _restgpr_26
/* 803B0F04 003ACB64  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B0F08 003ACB68  7C 08 03 A6 */	mtlr r0
/* 803B0F0C 003ACB6C  38 21 00 30 */	addi r1, r1, 0x30
/* 803B0F10 003ACB70  4E 80 00 20 */	blr 

.global func_803B0F14
func_803B0F14:
/* 803B0F14 003ACB74  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B0F18 003ACB78  7C 08 02 A6 */	mflr r0
/* 803B0F1C 003ACB7C  7C 88 23 78 */	mr r8, r4
/* 803B0F20 003ACB80  38 E0 00 04 */	li r7, 4
/* 803B0F24 003ACB84  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B0F28 003ACB88  38 00 00 14 */	li r0, 0x14
/* 803B0F2C 003ACB8C  38 C1 00 08 */	addi r6, r1, 8
/* 803B0F30 003ACB90  98 01 00 08 */	stb r0, 8(r1)
/* 803B0F34 003ACB94  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803B0F38 003ACB98  7C A4 02 14 */	add r5, r4, r0
/* 803B0F3C 003ACB9C  88 05 21 9C */	lbz r0, 0x219c(r5)
/* 803B0F40 003ACBA0  98 01 00 09 */	stb r0, 9(r1)
/* 803B0F44 003ACBA4  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803B0F48 003ACBA8  38 80 00 01 */	li r4, 1
/* 803B0F4C 003ACBAC  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B0F50 003ACBB0  80 A8 00 64 */	lwz r5, 0x64(r8)
/* 803B0F54 003ACBB4  4B FF E6 9D */	bl func_803AF5F0
/* 803B0F58 003ACBB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B0F5C 003ACBBC  7C 08 03 A6 */	mtlr r0
/* 803B0F60 003ACBC0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B0F64 003ACBC4  4E 80 00 20 */	blr 

.global func_803B0F68
func_803B0F68:
/* 803B0F68 003ACBC8  38 00 00 15 */	li r0, 0x15
/* 803B0F6C 003ACBCC  7C 87 23 78 */	mr r7, r4
/* 803B0F70 003ACBD0  98 05 00 00 */	stb r0, 0(r5)
/* 803B0F74 003ACBD4  7C A6 2B 78 */	mr r6, r5
/* 803B0F78 003ACBD8  38 80 00 01 */	li r4, 1
/* 803B0F7C 003ACBDC  80 A7 00 64 */	lwz r5, 0x64(r7)
/* 803B0F80 003ACBE0  38 E0 00 24 */	li r7, 0x24
/* 803B0F84 003ACBE4  4B FF E6 6C */	b func_803AF5F0

.global func_803B0F88
func_803B0F88:
/* 803B0F88 003ACBE8  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803B0F8C 003ACBEC  7C 08 02 A6 */	mflr r0
/* 803B0F90 003ACBF0  7C AA 2B 78 */	mr r10, r5
/* 803B0F94 003ACBF4  38 C0 00 00 */	li r6, 0
/* 803B0F98 003ACBF8  90 01 00 74 */	stw r0, 0x74(r1)
/* 803B0F9C 003ACBFC  38 A1 00 08 */	addi r5, r1, 8
/* 803B0FA0 003ACC00  38 E0 00 00 */	li r7, 0
/* 803B0FA4 003ACC04  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 803B0FA8 003ACC08  7C 9F 23 78 */	mr r31, r4
/* 803B0FAC 003ACC0C  93 C1 00 68 */	stw r30, 0x68(r1)
/* 803B0FB0 003ACC10  7C 7E 1B 78 */	mr r30, r3
/* 803B0FB4 003ACC14  81 04 00 64 */	lwz r8, 0x64(r4)
/* 803B0FB8 003ACC18  81 24 00 6C */	lwz r9, 0x6c(r4)
/* 803B0FBC 003ACC1C  48 00 16 0D */	bl func_803B25C8
/* 803B0FC0 003ACC20  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803B0FC4 003ACC24  7F C3 F3 78 */	mr r3, r30
/* 803B0FC8 003ACC28  38 C1 00 08 */	addi r6, r1, 8
/* 803B0FCC 003ACC2C  38 80 00 01 */	li r4, 1
/* 803B0FD0 003ACC30  38 E0 00 58 */	li r7, 0x58
/* 803B0FD4 003ACC34  4B FF E6 1D */	bl func_803AF5F0
/* 803B0FD8 003ACC38  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803B0FDC 003ACC3C  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 803B0FE0 003ACC40  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 803B0FE4 003ACC44  7C 08 03 A6 */	mtlr r0
/* 803B0FE8 003ACC48  38 21 00 70 */	addi r1, r1, 0x70
/* 803B0FEC 003ACC4C  4E 80 00 20 */	blr 

.global func_803B0FF0
func_803B0FF0:
/* 803B0FF0 003ACC50  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803B0FF4 003ACC54  7C 08 02 A6 */	mflr r0
/* 803B0FF8 003ACC58  7C AA 2B 78 */	mr r10, r5
/* 803B0FFC 003ACC5C  7C E9 3B 78 */	mr r9, r7
/* 803B1000 003ACC60  90 01 00 74 */	stw r0, 0x74(r1)
/* 803B1004 003ACC64  38 A1 00 08 */	addi r5, r1, 8
/* 803B1008 003ACC68  38 E0 00 00 */	li r7, 0
/* 803B100C 003ACC6C  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 803B1010 003ACC70  7C DF 33 78 */	mr r31, r6
/* 803B1014 003ACC74  7F E8 FB 78 */	mr r8, r31
/* 803B1018 003ACC78  38 C0 00 00 */	li r6, 0
/* 803B101C 003ACC7C  93 C1 00 68 */	stw r30, 0x68(r1)
/* 803B1020 003ACC80  7C 7E 1B 78 */	mr r30, r3
/* 803B1024 003ACC84  48 00 15 A5 */	bl func_803B25C8
/* 803B1028 003ACC88  7F C3 F3 78 */	mr r3, r30
/* 803B102C 003ACC8C  7F E5 FB 78 */	mr r5, r31
/* 803B1030 003ACC90  38 C1 00 08 */	addi r6, r1, 8
/* 803B1034 003ACC94  38 80 00 01 */	li r4, 1
/* 803B1038 003ACC98  38 E0 00 58 */	li r7, 0x58
/* 803B103C 003ACC9C  4B FF E5 B5 */	bl func_803AF5F0
/* 803B1040 003ACCA0  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803B1044 003ACCA4  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 803B1048 003ACCA8  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 803B104C 003ACCAC  7C 08 03 A6 */	mtlr r0
/* 803B1050 003ACCB0  38 21 00 70 */	addi r1, r1, 0x70
/* 803B1054 003ACCB4  4E 80 00 20 */	blr 

.global func_803B1058
func_803B1058:
/* 803B1058 003ACCB8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B105C 003ACCBC  7C 08 02 A6 */	mflr r0
/* 803B1060 003ACCC0  7C 85 23 78 */	mr r5, r4
/* 803B1064 003ACCC4  38 80 00 01 */	li r4, 1
/* 803B1068 003ACCC8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B106C 003ACCCC  3C 00 17 00 */	lis r0, 0x1700
/* 803B1070 003ACCD0  38 C1 00 08 */	addi r6, r1, 8
/* 803B1074 003ACCD4  38 E0 00 04 */	li r7, 4
/* 803B1078 003ACCD8  90 01 00 08 */	stw r0, 8(r1)
/* 803B107C 003ACCDC  4B FF E5 75 */	bl func_803AF5F0
/* 803B1080 003ACCE0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1084 003ACCE4  7C 08 03 A6 */	mtlr r0
/* 803B1088 003ACCE8  38 21 00 10 */	addi r1, r1, 0x10
/* 803B108C 003ACCEC  4E 80 00 20 */	blr 

.global func_803B1090
func_803B1090:
/* 803B1090 003ACCF0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B1094 003ACCF4  7C 08 02 A6 */	mflr r0
/* 803B1098 003ACCF8  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B109C 003ACCFC  39 61 00 40 */	addi r11, r1, 0x40
/* 803B10A0 003ACD00  4B E1 60 85 */	bl _savegpr_26
/* 803B10A4 003ACD04  7C 9B 23 78 */	mr r27, r4
/* 803B10A8 003ACD08  7C BC 2B 78 */	mr r28, r5
/* 803B10AC 003ACD0C  7C 9B 2A 14 */	add r4, r27, r5
/* 803B10B0 003ACD10  7C 7A 1B 78 */	mr r26, r3
/* 803B10B4 003ACD14  88 A4 21 9C */	lbz r5, 0x219c(r4)
/* 803B10B8 003ACD18  7F 84 E3 78 */	mr r4, r28
/* 803B10BC 003ACD1C  4B FF B8 E9 */	bl func_803AC9A4
/* 803B10C0 003ACD20  7C 7D 1B 78 */	mr r29, r3
/* 803B10C4 003ACD24  38 80 00 05 */	li r4, 5
/* 803B10C8 003ACD28  38 A0 00 00 */	li r5, 0
/* 803B10CC 003ACD2C  48 02 C9 11 */	bl func_803DD9DC
/* 803B10D0 003ACD30  7C 7E 1B 78 */	mr r30, r3
/* 803B10D4 003ACD34  7F A3 EB 78 */	mr r3, r29
/* 803B10D8 003ACD38  38 80 00 A0 */	li r4, 0xa0
/* 803B10DC 003ACD3C  38 A0 00 00 */	li r5, 0
/* 803B10E0 003ACD40  48 02 C8 FD */	bl func_803DD9DC
/* 803B10E4 003ACD44  1F FC 00 C0 */	mulli r31, r28, 0xc0
/* 803B10E8 003ACD48  38 00 00 18 */	li r0, 0x18
/* 803B10EC 003ACD4C  7C 7D 1B 78 */	mr r29, r3
/* 803B10F0 003ACD50  98 01 00 08 */	stb r0, 8(r1)
/* 803B10F4 003ACD54  7C 7B FA 14 */	add r3, r27, r31
/* 803B10F8 003ACD58  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803B10FC 003ACD5C  98 01 00 09 */	stb r0, 9(r1)
/* 803B1100 003ACD60  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B1104 003ACD64  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B1108 003ACD68  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B110C 003ACD6C  B0 01 00 0C */	sth r0, 0xc(r1)
/* 803B1110 003ACD70  80 1B 21 5C */	lwz r0, 0x215c(r27)
/* 803B1114 003ACD74  90 01 00 10 */	stw r0, 0x10(r1)
/* 803B1118 003ACD78  A0 03 2D 40 */	lhz r0, 0x2d40(r3)
/* 803B111C 003ACD7C  28 00 00 1D */	cmplwi r0, 0x1d
/* 803B1120 003ACD80  41 82 00 0C */	beq lbl_803B112C
/* 803B1124 003ACD84  28 00 00 20 */	cmplwi r0, 0x20
/* 803B1128 003ACD88  40 82 00 20 */	bne lbl_803B1148
lbl_803B112C:
/* 803B112C 003ACD8C  7C 7B FA 14 */	add r3, r27, r31
/* 803B1130 003ACD90  80 03 2D 54 */	lwz r0, 0x2d54(r3)
/* 803B1134 003ACD94  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B1138 003ACD98  40 82 00 10 */	bne lbl_803B1148
/* 803B113C 003ACD9C  38 00 00 02 */	li r0, 2
/* 803B1140 003ACDA0  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B1144 003ACDA4  48 00 00 14 */	b lbl_803B1158
lbl_803B1148:
/* 803B1148 003ACDA8  7C 7B FA 14 */	add r3, r27, r31
/* 803B114C 003ACDAC  88 03 2D BE */	lbz r0, 0x2dbe(r3)
/* 803B1150 003ACDB0  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B1154 003ACDB4  98 01 00 0F */	stb r0, 0xf(r1)
lbl_803B1158:
/* 803B1158 003ACDB8  7F C3 F3 78 */	mr r3, r30
/* 803B115C 003ACDBC  7F A4 EB 78 */	mr r4, r29
/* 803B1160 003ACDC0  48 02 A9 BD */	bl func_803DBB1C
/* 803B1164 003ACDC4  7C BB FA 14 */	add r5, r27, r31
/* 803B1168 003ACDC8  38 9D 00 01 */	addi r4, r29, 1
/* 803B116C 003ACDCC  80 05 2D A4 */	lwz r0, 0x2da4(r5)
/* 803B1170 003ACDD0  7C 03 00 50 */	subf r0, r3, r0
/* 803B1174 003ACDD4  7F C3 F3 78 */	mr r3, r30
/* 803B1178 003ACDD8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B117C 003ACDDC  48 02 A9 A1 */	bl func_803DBB1C
/* 803B1180 003ACDE0  7C 7B 1B 78 */	mr r27, r3
/* 803B1184 003ACDE4  7F C3 F3 78 */	mr r3, r30
/* 803B1188 003ACDE8  7F A4 EB 78 */	mr r4, r29
/* 803B118C 003ACDEC  48 02 A9 91 */	bl func_803DBB1C
/* 803B1190 003ACDF0  7C 03 D8 50 */	subf r0, r3, r27
/* 803B1194 003ACDF4  7F 43 D3 78 */	mr r3, r26
/* 803B1198 003ACDF8  90 01 00 18 */	stw r0, 0x18(r1)
/* 803B119C 003ACDFC  7F 85 E3 78 */	mr r5, r28
/* 803B11A0 003ACE00  38 C1 00 08 */	addi r6, r1, 8
/* 803B11A4 003ACE04  38 80 00 01 */	li r4, 1
/* 803B11A8 003ACE08  38 E0 00 14 */	li r7, 0x14
/* 803B11AC 003ACE0C  4B FF E4 45 */	bl func_803AF5F0
/* 803B11B0 003ACE10  39 61 00 40 */	addi r11, r1, 0x40
/* 803B11B4 003ACE14  4B E1 5F BD */	bl _restgpr_26
/* 803B11B8 003ACE18  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B11BC 003ACE1C  7C 08 03 A6 */	mtlr r0
/* 803B11C0 003ACE20  38 21 00 40 */	addi r1, r1, 0x40
/* 803B11C4 003ACE24  4E 80 00 20 */	blr 

.global func_803B11C8
func_803B11C8:
/* 803B11C8 003ACE28  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B11CC 003ACE2C  7C 08 02 A6 */	mflr r0
/* 803B11D0 003ACE30  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B11D4 003ACE34  39 61 00 40 */	addi r11, r1, 0x40
/* 803B11D8 003ACE38  4B E1 5F 49 */	bl _savegpr_25
/* 803B11DC 003ACE3C  7C 9A 23 78 */	mr r26, r4
/* 803B11E0 003ACE40  7C BB 2B 78 */	mr r27, r5
/* 803B11E4 003ACE44  7C 9A 2A 14 */	add r4, r26, r5
/* 803B11E8 003ACE48  7C 79 1B 78 */	mr r25, r3
/* 803B11EC 003ACE4C  88 A4 21 9C */	lbz r5, 0x219c(r4)
/* 803B11F0 003ACE50  7C DC 33 78 */	mr r28, r6
/* 803B11F4 003ACE54  7F 64 DB 78 */	mr r4, r27
/* 803B11F8 003ACE58  4B FF B7 AD */	bl func_803AC9A4
/* 803B11FC 003ACE5C  7C 7F 1B 78 */	mr r31, r3
/* 803B1200 003ACE60  38 80 00 05 */	li r4, 5
/* 803B1204 003ACE64  38 A0 00 00 */	li r5, 0
/* 803B1208 003ACE68  48 02 C7 D5 */	bl func_803DD9DC
/* 803B120C 003ACE6C  7C 7E 1B 78 */	mr r30, r3
/* 803B1210 003ACE70  7F E3 FB 78 */	mr r3, r31
/* 803B1214 003ACE74  38 80 00 A0 */	li r4, 0xa0
/* 803B1218 003ACE78  38 A0 00 00 */	li r5, 0
/* 803B121C 003ACE7C  48 02 C7 C1 */	bl func_803DD9DC
/* 803B1220 003ACE80  38 00 00 19 */	li r0, 0x19
/* 803B1224 003ACE84  7C 7D 1B 78 */	mr r29, r3
/* 803B1228 003ACE88  98 01 00 08 */	stb r0, 8(r1)
/* 803B122C 003ACE8C  7F C3 F3 78 */	mr r3, r30
/* 803B1230 003ACE90  7F A4 EB 78 */	mr r4, r29
/* 803B1234 003ACE94  93 81 00 0C */	stw r28, 0xc(r1)
/* 803B1238 003ACE98  48 02 A8 E5 */	bl func_803DBB1C
/* 803B123C 003ACE9C  1C 1B 00 C0 */	mulli r0, r27, 0xc0
/* 803B1240 003ACEA0  38 9D 00 01 */	addi r4, r29, 1
/* 803B1244 003ACEA4  7C BA 02 14 */	add r5, r26, r0
/* 803B1248 003ACEA8  80 05 2D A4 */	lwz r0, 0x2da4(r5)
/* 803B124C 003ACEAC  7C 03 00 50 */	subf r0, r3, r0
/* 803B1250 003ACEB0  7F C3 F3 78 */	mr r3, r30
/* 803B1254 003ACEB4  90 01 00 10 */	stw r0, 0x10(r1)
/* 803B1258 003ACEB8  48 02 A8 C5 */	bl func_803DBB1C
/* 803B125C 003ACEBC  7C 7F 1B 78 */	mr r31, r3
/* 803B1260 003ACEC0  7F C3 F3 78 */	mr r3, r30
/* 803B1264 003ACEC4  7F A4 EB 78 */	mr r4, r29
/* 803B1268 003ACEC8  48 02 A8 B5 */	bl func_803DBB1C
/* 803B126C 003ACECC  7C 03 F8 50 */	subf r0, r3, r31
/* 803B1270 003ACED0  7F 23 CB 78 */	mr r3, r25
/* 803B1274 003ACED4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1278 003ACED8  7F 65 DB 78 */	mr r5, r27
/* 803B127C 003ACEDC  38 C1 00 08 */	addi r6, r1, 8
/* 803B1280 003ACEE0  38 80 00 01 */	li r4, 1
/* 803B1284 003ACEE4  38 E0 00 10 */	li r7, 0x10
/* 803B1288 003ACEE8  4B FF E3 69 */	bl func_803AF5F0
/* 803B128C 003ACEEC  39 61 00 40 */	addi r11, r1, 0x40
/* 803B1290 003ACEF0  4B E1 5E DD */	bl _restgpr_25
/* 803B1294 003ACEF4  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B1298 003ACEF8  7C 08 03 A6 */	mtlr r0
/* 803B129C 003ACEFC  38 21 00 40 */	addi r1, r1, 0x40
/* 803B12A0 003ACF00  4E 80 00 20 */	blr 

.global func_803B12A4
func_803B12A4:
/* 803B12A4 003ACF04  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B12A8 003ACF08  7C 08 02 A6 */	mflr r0
/* 803B12AC 003ACF0C  1C C5 00 C0 */	mulli r6, r5, 0xc0
/* 803B12B0 003ACF10  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B12B4 003ACF14  38 00 00 1A */	li r0, 0x1a
/* 803B12B8 003ACF18  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 803B12BC 003ACF1C  7C C4 32 14 */	add r6, r4, r6
/* 803B12C0 003ACF20  98 01 00 08 */	stb r0, 8(r1)
/* 803B12C4 003ACF24  A0 06 2D 40 */	lhz r0, 0x2d40(r6)
/* 803B12C8 003ACF28  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B12CC 003ACF2C  88 06 2D 66 */	lbz r0, 0x2d66(r6)
/* 803B12D0 003ACF30  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803B12D4 003ACF34  98 01 00 10 */	stb r0, 0x10(r1)
/* 803B12D8 003ACF38  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803B12DC 003ACF3C  54 00 47 FE */	rlwinm r0, r0, 8, 0x1f, 0x1f
/* 803B12E0 003ACF40  98 01 00 11 */	stb r0, 0x11(r1)
/* 803B12E4 003ACF44  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803B12E8 003ACF48  54 00 5F FE */	rlwinm r0, r0, 0xb, 0x1f, 0x1f
/* 803B12EC 003ACF4C  98 01 00 12 */	stb r0, 0x12(r1)
/* 803B12F0 003ACF50  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803B12F4 003ACF54  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803B12F8 003ACF58  41 82 00 18 */	beq lbl_803B1310
/* 803B12FC 003ACF5C  A0 06 2D FA */	lhz r0, 0x2dfa(r6)
/* 803B1300 003ACF60  98 01 00 09 */	stb r0, 9(r1)
/* 803B1304 003ACF64  80 06 2D E4 */	lwz r0, 0x2de4(r6)
/* 803B1308 003ACF68  90 01 00 0C */	stw r0, 0xc(r1)
/* 803B130C 003ACF6C  48 00 00 18 */	b lbl_803B1324
lbl_803B1310:
/* 803B1310 003ACF70  88 06 2D BE */	lbz r0, 0x2dbe(r6)
/* 803B1314 003ACF74  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B1318 003ACF78  98 01 00 09 */	stb r0, 9(r1)
/* 803B131C 003ACF7C  80 06 2D A8 */	lwz r0, 0x2da8(r6)
/* 803B1320 003ACF80  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803B1324:
/* 803B1324 003ACF84  38 00 00 04 */	li r0, 4
/* 803B1328 003ACF88  39 41 00 08 */	addi r10, r1, 8
/* 803B132C 003ACF8C  3B E0 00 00 */	li r31, 0
/* 803B1330 003ACF90  38 C0 00 00 */	li r6, 0
/* 803B1334 003ACF94  38 E0 00 00 */	li r7, 0
/* 803B1338 003ACF98  39 00 00 00 */	li r8, 0
/* 803B133C 003ACF9C  7C 09 03 A6 */	mtctr r0
lbl_803B1340:
/* 803B1340 003ACFA0  7D 84 32 14 */	add r12, r4, r6
/* 803B1344 003ACFA4  7D 2A 42 14 */	add r9, r10, r8
/* 803B1348 003ACFA8  A0 0C 2D 40 */	lhz r0, 0x2d40(r12)
/* 803B134C 003ACFAC  7D 6A FA 14 */	add r11, r10, r31
/* 803B1350 003ACFB0  B0 09 00 0C */	sth r0, 0xc(r9)
/* 803B1354 003ACFB4  88 0C 2D 66 */	lbz r0, 0x2d66(r12)
/* 803B1358 003ACFB8  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 803B135C 003ACFBC  98 0B 00 18 */	stb r0, 0x18(r11)
/* 803B1360 003ACFC0  88 0C 2D 66 */	lbz r0, 0x2d66(r12)
/* 803B1364 003ACFC4  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803B1368 003ACFC8  98 0B 00 1C */	stb r0, 0x1c(r11)
/* 803B136C 003ACFCC  80 0C 2D B0 */	lwz r0, 0x2db0(r12)
/* 803B1370 003ACFD0  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803B1374 003ACFD4  41 82 00 1C */	beq lbl_803B1390
/* 803B1378 003ACFD8  A0 0C 2D FA */	lhz r0, 0x2dfa(r12)
/* 803B137C 003ACFDC  7D 2A 3A 14 */	add r9, r10, r7
/* 803B1380 003ACFE0  98 0B 00 14 */	stb r0, 0x14(r11)
/* 803B1384 003ACFE4  80 0C 2D E4 */	lwz r0, 0x2de4(r12)
/* 803B1388 003ACFE8  90 09 00 20 */	stw r0, 0x20(r9)
/* 803B138C 003ACFEC  48 00 00 1C */	b lbl_803B13A8
lbl_803B1390:
/* 803B1390 003ACFF0  88 0C 2D BE */	lbz r0, 0x2dbe(r12)
/* 803B1394 003ACFF4  7D 2A 3A 14 */	add r9, r10, r7
/* 803B1398 003ACFF8  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B139C 003ACFFC  98 0B 00 14 */	stb r0, 0x14(r11)
/* 803B13A0 003AD000  80 0C 2D A8 */	lwz r0, 0x2da8(r12)
/* 803B13A4 003AD004  90 09 00 20 */	stw r0, 0x20(r9)
lbl_803B13A8:
/* 803B13A8 003AD008  3B FF 00 01 */	addi r31, r31, 1
/* 803B13AC 003AD00C  38 C6 00 C0 */	addi r6, r6, 0xc0
/* 803B13B0 003AD010  38 E7 00 04 */	addi r7, r7, 4
/* 803B13B4 003AD014  39 08 00 02 */	addi r8, r8, 2
/* 803B13B8 003AD018  42 00 FF 88 */	bdnz lbl_803B1340
/* 803B13BC 003AD01C  38 C1 00 08 */	addi r6, r1, 8
/* 803B13C0 003AD020  38 80 00 01 */	li r4, 1
/* 803B13C4 003AD024  38 E0 00 30 */	li r7, 0x30
/* 803B13C8 003AD028  4B FF E2 29 */	bl func_803AF5F0
/* 803B13CC 003AD02C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B13D0 003AD030  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 803B13D4 003AD034  7C 08 03 A6 */	mtlr r0
/* 803B13D8 003AD038  38 21 00 40 */	addi r1, r1, 0x40
/* 803B13DC 003AD03C  4E 80 00 20 */	blr 

.global func_803B13E0
func_803B13E0:
/* 803B13E0 003AD040  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B13E4 003AD044  7C 08 02 A6 */	mflr r0
/* 803B13E8 003AD048  7C A7 2B 78 */	mr r7, r5
/* 803B13EC 003AD04C  7C C5 33 78 */	mr r5, r6
/* 803B13F0 003AD050  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B13F4 003AD054  38 00 00 1B */	li r0, 0x1b
/* 803B13F8 003AD058  38 C1 00 08 */	addi r6, r1, 8
/* 803B13FC 003AD05C  38 80 00 01 */	li r4, 1
/* 803B1400 003AD060  B0 E1 00 0A */	sth r7, 0xa(r1)
/* 803B1404 003AD064  38 E0 00 04 */	li r7, 4
/* 803B1408 003AD068  98 01 00 08 */	stb r0, 8(r1)
/* 803B140C 003AD06C  4B FF E1 E5 */	bl func_803AF5F0
/* 803B1410 003AD070  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1414 003AD074  7C 08 03 A6 */	mtlr r0
/* 803B1418 003AD078  38 21 00 10 */	addi r1, r1, 0x10
/* 803B141C 003AD07C  4E 80 00 20 */	blr 

.global func_803B1420
func_803B1420:
/* 803B1420 003AD080  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1424 003AD084  7C 08 02 A6 */	mflr r0
/* 803B1428 003AD088  38 80 00 01 */	li r4, 1
/* 803B142C 003AD08C  38 A0 00 00 */	li r5, 0
/* 803B1430 003AD090  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1434 003AD094  3C 00 1C 00 */	lis r0, 0x1c00
/* 803B1438 003AD098  38 C1 00 08 */	addi r6, r1, 8
/* 803B143C 003AD09C  38 E0 00 04 */	li r7, 4
/* 803B1440 003AD0A0  90 01 00 08 */	stw r0, 8(r1)
/* 803B1444 003AD0A4  4B FF E1 AD */	bl func_803AF5F0
/* 803B1448 003AD0A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B144C 003AD0AC  7C 08 03 A6 */	mtlr r0
/* 803B1450 003AD0B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1454 003AD0B4  4E 80 00 20 */	blr 

.global func_803B1458
func_803B1458:
/* 803B1458 003AD0B8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B145C 003AD0BC  7C 08 02 A6 */	mflr r0
/* 803B1460 003AD0C0  1C E4 00 C0 */	mulli r7, r4, 0xc0
/* 803B1464 003AD0C4  38 C0 00 04 */	li r6, 4
/* 803B1468 003AD0C8  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B146C 003AD0CC  38 00 00 1D */	li r0, 0x1d
/* 803B1470 003AD0D0  39 20 00 00 */	li r9, 0
/* 803B1474 003AD0D4  98 A1 00 09 */	stb r5, 9(r1)
/* 803B1478 003AD0D8  38 A0 00 00 */	li r5, 0
/* 803B147C 003AD0DC  98 01 00 08 */	stb r0, 8(r1)
/* 803B1480 003AD0E0  38 01 00 08 */	addi r0, r1, 8
/* 803B1484 003AD0E4  81 03 00 30 */	lwz r8, 0x30(r3)
/* 803B1488 003AD0E8  7D 08 3A 14 */	add r8, r8, r7
/* 803B148C 003AD0EC  38 E0 00 00 */	li r7, 0
/* 803B1490 003AD0F0  81 48 2D B0 */	lwz r10, 0x2db0(r8)
/* 803B1494 003AD0F4  39 00 00 00 */	li r8, 0
/* 803B1498 003AD0F8  55 4A 47 FE */	rlwinm r10, r10, 8, 0x1f, 0x1f
/* 803B149C 003AD0FC  99 41 00 0A */	stb r10, 0xa(r1)
/* 803B14A0 003AD100  7C C9 03 A6 */	mtctr r6
lbl_803B14A4:
/* 803B14A4 003AD104  81 43 00 30 */	lwz r10, 0x30(r3)
/* 803B14A8 003AD108  7C C0 4A 14 */	add r6, r0, r9
/* 803B14AC 003AD10C  7D 60 2A 14 */	add r11, r0, r5
/* 803B14B0 003AD110  7D 4A 3A 14 */	add r10, r10, r7
/* 803B14B4 003AD114  A1 4A 2D 40 */	lhz r10, 0x2d40(r10)
/* 803B14B8 003AD118  B1 46 00 04 */	sth r10, 4(r6)
/* 803B14BC 003AD11C  80 C3 00 30 */	lwz r6, 0x30(r3)
/* 803B14C0 003AD120  7C C6 3A 14 */	add r6, r6, r7
/* 803B14C4 003AD124  88 C6 2D 66 */	lbz r6, 0x2d66(r6)
/* 803B14C8 003AD128  54 C6 F7 FE */	rlwinm r6, r6, 0x1e, 0x1f, 0x1f
/* 803B14CC 003AD12C  98 CB 00 10 */	stb r6, 0x10(r11)
/* 803B14D0 003AD130  80 C3 00 30 */	lwz r6, 0x30(r3)
/* 803B14D4 003AD134  7C C6 3A 14 */	add r6, r6, r7
/* 803B14D8 003AD138  88 C6 2D 66 */	lbz r6, 0x2d66(r6)
/* 803B14DC 003AD13C  54 C6 EE FE */	rlwinm r6, r6, 0x1d, 0x1b, 0x1f
/* 803B14E0 003AD140  98 CB 00 14 */	stb r6, 0x14(r11)
/* 803B14E4 003AD144  80 C3 00 30 */	lwz r6, 0x30(r3)
/* 803B14E8 003AD148  7D 46 3A 14 */	add r10, r6, r7
/* 803B14EC 003AD14C  80 CA 2D B0 */	lwz r6, 0x2db0(r10)
/* 803B14F0 003AD150  54 C6 02 95 */	rlwinm. r6, r6, 0, 0xa, 0xa
/* 803B14F4 003AD154  41 82 00 24 */	beq lbl_803B1518
/* 803B14F8 003AD158  A1 4A 2D FA */	lhz r10, 0x2dfa(r10)
/* 803B14FC 003AD15C  7C C0 42 14 */	add r6, r0, r8
/* 803B1500 003AD160  99 4B 00 0C */	stb r10, 0xc(r11)
/* 803B1504 003AD164  81 43 00 30 */	lwz r10, 0x30(r3)
/* 803B1508 003AD168  7D 4A 3A 14 */	add r10, r10, r7
/* 803B150C 003AD16C  81 4A 2D E4 */	lwz r10, 0x2de4(r10)
/* 803B1510 003AD170  91 46 00 18 */	stw r10, 0x18(r6)
/* 803B1514 003AD174  48 00 00 24 */	b lbl_803B1538
lbl_803B1518:
/* 803B1518 003AD178  89 4A 2D BE */	lbz r10, 0x2dbe(r10)
/* 803B151C 003AD17C  7C C0 42 14 */	add r6, r0, r8
/* 803B1520 003AD180  55 4A E7 3E */	rlwinm r10, r10, 0x1c, 0x1c, 0x1f
/* 803B1524 003AD184  99 4B 00 0C */	stb r10, 0xc(r11)
/* 803B1528 003AD188  81 43 00 30 */	lwz r10, 0x30(r3)
/* 803B152C 003AD18C  7D 4A 3A 14 */	add r10, r10, r7
/* 803B1530 003AD190  81 4A 2D A8 */	lwz r10, 0x2da8(r10)
/* 803B1534 003AD194  91 46 00 18 */	stw r10, 0x18(r6)
lbl_803B1538:
/* 803B1538 003AD198  38 A5 00 01 */	addi r5, r5, 1
/* 803B153C 003AD19C  38 E7 00 C0 */	addi r7, r7, 0xc0
/* 803B1540 003AD1A0  39 08 00 04 */	addi r8, r8, 4
/* 803B1544 003AD1A4  39 29 00 02 */	addi r9, r9, 2
/* 803B1548 003AD1A8  42 00 FF 5C */	bdnz lbl_803B14A4
/* 803B154C 003AD1AC  7C 85 23 78 */	mr r5, r4
/* 803B1550 003AD1B0  38 C1 00 08 */	addi r6, r1, 8
/* 803B1554 003AD1B4  38 80 00 01 */	li r4, 1
/* 803B1558 003AD1B8  38 E0 00 28 */	li r7, 0x28
/* 803B155C 003AD1BC  4B FF E0 95 */	bl func_803AF5F0
/* 803B1560 003AD1C0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B1564 003AD1C4  7C 08 03 A6 */	mtlr r0
/* 803B1568 003AD1C8  38 21 00 30 */	addi r1, r1, 0x30
/* 803B156C 003AD1CC  4E 80 00 20 */	blr 

.global func_803B1570
func_803B1570:
/* 803B1570 003AD1D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1574 003AD1D4  7C 08 02 A6 */	mflr r0
/* 803B1578 003AD1D8  38 E0 00 04 */	li r7, 4
/* 803B157C 003AD1DC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1580 003AD1E0  38 00 00 1E */	li r0, 0x1e
/* 803B1584 003AD1E4  38 C1 00 08 */	addi r6, r1, 8
/* 803B1588 003AD1E8  98 A1 00 09 */	stb r5, 9(r1)
/* 803B158C 003AD1EC  7C 85 23 78 */	mr r5, r4
/* 803B1590 003AD1F0  38 80 00 01 */	li r4, 1
/* 803B1594 003AD1F4  98 01 00 08 */	stb r0, 8(r1)
/* 803B1598 003AD1F8  4B FF E0 59 */	bl func_803AF5F0
/* 803B159C 003AD1FC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B15A0 003AD200  7C 08 03 A6 */	mtlr r0
/* 803B15A4 003AD204  38 21 00 10 */	addi r1, r1, 0x10
/* 803B15A8 003AD208  4E 80 00 20 */	blr 

.global func_803B15AC
func_803B15AC:
/* 803B15AC 003AD20C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B15B0 003AD210  7C 08 02 A6 */	mflr r0
/* 803B15B4 003AD214  38 E0 00 04 */	li r7, 4
/* 803B15B8 003AD218  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B15BC 003AD21C  38 00 00 1F */	li r0, 0x1f
/* 803B15C0 003AD220  38 C1 00 08 */	addi r6, r1, 8
/* 803B15C4 003AD224  98 A1 00 09 */	stb r5, 9(r1)
/* 803B15C8 003AD228  7C 85 23 78 */	mr r5, r4
/* 803B15CC 003AD22C  38 80 00 01 */	li r4, 1
/* 803B15D0 003AD230  98 01 00 08 */	stb r0, 8(r1)
/* 803B15D4 003AD234  4B FF E0 1D */	bl func_803AF5F0
/* 803B15D8 003AD238  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B15DC 003AD23C  7C 08 03 A6 */	mtlr r0
/* 803B15E0 003AD240  38 21 00 10 */	addi r1, r1, 0x10
/* 803B15E4 003AD244  4E 80 00 20 */	blr 

.global func_803B15E8
func_803B15E8:
/* 803B15E8 003AD248  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803B15EC 003AD24C  7C 08 02 A6 */	mflr r0
/* 803B15F0 003AD250  7C C7 33 78 */	mr r7, r6
/* 803B15F4 003AD254  38 C0 00 01 */	li r6, 1
/* 803B15F8 003AD258  90 01 00 74 */	stw r0, 0x74(r1)
/* 803B15FC 003AD25C  39 40 00 00 */	li r10, 0
/* 803B1600 003AD260  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 803B1604 003AD264  7C BF 2B 78 */	mr r31, r5
/* 803B1608 003AD268  38 A1 00 08 */	addi r5, r1, 8
/* 803B160C 003AD26C  93 C1 00 68 */	stw r30, 0x68(r1)
/* 803B1610 003AD270  7C 7E 1B 78 */	mr r30, r3
/* 803B1614 003AD274  7F E8 FB 78 */	mr r8, r31
/* 803B1618 003AD278  7F E9 FB 78 */	mr r9, r31
/* 803B161C 003AD27C  48 00 0F AD */	bl func_803B25C8
/* 803B1620 003AD280  7F C3 F3 78 */	mr r3, r30
/* 803B1624 003AD284  7F E5 FB 78 */	mr r5, r31
/* 803B1628 003AD288  38 C1 00 08 */	addi r6, r1, 8
/* 803B162C 003AD28C  38 80 00 01 */	li r4, 1
/* 803B1630 003AD290  38 E0 00 58 */	li r7, 0x58
/* 803B1634 003AD294  4B FF DF BD */	bl func_803AF5F0
/* 803B1638 003AD298  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803B163C 003AD29C  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 803B1640 003AD2A0  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 803B1644 003AD2A4  7C 08 03 A6 */	mtlr r0
/* 803B1648 003AD2A8  38 21 00 70 */	addi r1, r1, 0x70
/* 803B164C 003AD2AC  4E 80 00 20 */	blr 

.global func_803B1650
func_803B1650:
/* 803B1650 003AD2B0  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803B1654 003AD2B4  7C 08 02 A6 */	mflr r0
/* 803B1658 003AD2B8  7C C9 33 78 */	mr r9, r6
/* 803B165C 003AD2BC  38 C0 00 01 */	li r6, 1
/* 803B1660 003AD2C0  90 01 00 74 */	stw r0, 0x74(r1)
/* 803B1664 003AD2C4  39 40 00 00 */	li r10, 0
/* 803B1668 003AD2C8  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 803B166C 003AD2CC  7C BF 2B 78 */	mr r31, r5
/* 803B1670 003AD2D0  38 A1 00 08 */	addi r5, r1, 8
/* 803B1674 003AD2D4  93 C1 00 68 */	stw r30, 0x68(r1)
/* 803B1678 003AD2D8  7C 7E 1B 78 */	mr r30, r3
/* 803B167C 003AD2DC  7F E8 FB 78 */	mr r8, r31
/* 803B1680 003AD2E0  48 00 0F 49 */	bl func_803B25C8
/* 803B1684 003AD2E4  7F C3 F3 78 */	mr r3, r30
/* 803B1688 003AD2E8  7F E5 FB 78 */	mr r5, r31
/* 803B168C 003AD2EC  38 C1 00 08 */	addi r6, r1, 8
/* 803B1690 003AD2F0  38 80 00 01 */	li r4, 1
/* 803B1694 003AD2F4  38 E0 00 58 */	li r7, 0x58
/* 803B1698 003AD2F8  4B FF DF 59 */	bl func_803AF5F0
/* 803B169C 003AD2FC  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803B16A0 003AD300  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 803B16A4 003AD304  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 803B16A8 003AD308  7C 08 03 A6 */	mtlr r0
/* 803B16AC 003AD30C  38 21 00 70 */	addi r1, r1, 0x70
/* 803B16B0 003AD310  4E 80 00 20 */	blr 

.global func_803B16B4
func_803B16B4:
/* 803B16B4 003AD314  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B16B8 003AD318  7C 08 02 A6 */	mflr r0
/* 803B16BC 003AD31C  38 E0 00 04 */	li r7, 4
/* 803B16C0 003AD320  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B16C4 003AD324  38 00 00 20 */	li r0, 0x20
/* 803B16C8 003AD328  98 C1 00 09 */	stb r6, 9(r1)
/* 803B16CC 003AD32C  38 C1 00 08 */	addi r6, r1, 8
/* 803B16D0 003AD330  98 01 00 08 */	stb r0, 8(r1)
/* 803B16D4 003AD334  A9 04 31 22 */	lha r8, 0x3122(r4)
/* 803B16D8 003AD338  80 04 2E 4C */	lwz r0, 0x2e4c(r4)
/* 803B16DC 003AD33C  38 80 00 01 */	li r4, 1
/* 803B16E0 003AD340  7C 00 40 50 */	subf r0, r0, r8
/* 803B16E4 003AD344  1C 00 00 64 */	mulli r0, r0, 0x64
/* 803B16E8 003AD348  7C 00 43 D6 */	divw r0, r0, r8
/* 803B16EC 003AD34C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B16F0 003AD350  4B FF DF 01 */	bl func_803AF5F0
/* 803B16F4 003AD354  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B16F8 003AD358  7C 08 03 A6 */	mtlr r0
/* 803B16FC 003AD35C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1700 003AD360  4E 80 00 20 */	blr 

.global func_803B1704
func_803B1704:
/* 803B1704 003AD364  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1708 003AD368  7C 08 02 A6 */	mflr r0
/* 803B170C 003AD36C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1710 003AD370  38 00 00 21 */	li r0, 0x21
/* 803B1714 003AD374  98 C1 00 09 */	stb r6, 9(r1)
/* 803B1718 003AD378  98 01 00 08 */	stb r0, 8(r1)
/* 803B171C 003AD37C  80 04 2E 4C */	lwz r0, 0x2e4c(r4)
/* 803B1720 003AD380  2C 00 00 00 */	cmpwi r0, 0
/* 803B1724 003AD384  40 82 00 10 */	bne lbl_803B1734
/* 803B1728 003AD388  38 00 03 E8 */	li r0, 0x3e8
/* 803B172C 003AD38C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B1730 003AD390  48 00 00 14 */	b lbl_803B1744
lbl_803B1734:
/* 803B1734 003AD394  1C C0 03 E8 */	mulli r6, r0, 0x3e8
/* 803B1738 003AD398  80 04 2E 50 */	lwz r0, 0x2e50(r4)
/* 803B173C 003AD39C  7C 06 03 96 */	divwu r0, r6, r0
/* 803B1740 003AD3A0  B0 01 00 0A */	sth r0, 0xa(r1)
lbl_803B1744:
/* 803B1744 003AD3A4  38 C1 00 08 */	addi r6, r1, 8
/* 803B1748 003AD3A8  38 80 00 01 */	li r4, 1
/* 803B174C 003AD3AC  38 E0 00 04 */	li r7, 4
/* 803B1750 003AD3B0  4B FF DE A1 */	bl func_803AF5F0
/* 803B1754 003AD3B4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1758 003AD3B8  7C 08 03 A6 */	mtlr r0
/* 803B175C 003AD3BC  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1760 003AD3C0  4E 80 00 20 */	blr 

.global func_803B1764
func_803B1764:
/* 803B1764 003AD3C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1768 003AD3C8  7C 08 02 A6 */	mflr r0
/* 803B176C 003AD3CC  38 80 00 01 */	li r4, 1
/* 803B1770 003AD3D0  38 E0 00 04 */	li r7, 4
/* 803B1774 003AD3D4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1778 003AD3D8  3C 00 22 00 */	lis r0, 0x2200
/* 803B177C 003AD3DC  38 C1 00 08 */	addi r6, r1, 8
/* 803B1780 003AD3E0  90 01 00 08 */	stw r0, 8(r1)
/* 803B1784 003AD3E4  4B FF DE 6D */	bl func_803AF5F0
/* 803B1788 003AD3E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B178C 003AD3EC  7C 08 03 A6 */	mtlr r0
/* 803B1790 003AD3F0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1794 003AD3F4  4E 80 00 20 */	blr 

.global func_803B1798
func_803B1798:
/* 803B1798 003AD3F8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B179C 003AD3FC  7C 08 02 A6 */	mflr r0
/* 803B17A0 003AD400  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B17A4 003AD404  39 61 00 30 */	addi r11, r1, 0x30
/* 803B17A8 003AD408  4B E1 59 81 */	bl _savegpr_27
/* 803B17AC 003AD40C  38 00 00 23 */	li r0, 0x23
/* 803B17B0 003AD410  7C 7B 1B 78 */	mr r27, r3
/* 803B17B4 003AD414  98 01 00 08 */	stb r0, 8(r1)
/* 803B17B8 003AD418  7C 9C 23 78 */	mr r28, r4
/* 803B17BC 003AD41C  7C BD 2B 78 */	mr r29, r5
/* 803B17C0 003AD420  3B E1 00 08 */	addi r31, r1, 8
/* 803B17C4 003AD424  3B C0 00 00 */	li r30, 0
/* 803B17C8 003AD428  48 00 00 18 */	b lbl_803B17E0
lbl_803B17CC:
/* 803B17CC 003AD42C  7C 9C F2 14 */	add r4, r28, r30
/* 803B17D0 003AD430  7C 7F F2 14 */	add r3, r31, r30
/* 803B17D4 003AD434  88 04 21 9C */	lbz r0, 0x219c(r4)
/* 803B17D8 003AD438  3B DE 00 01 */	addi r30, r30, 1
/* 803B17DC 003AD43C  98 03 00 04 */	stb r0, 4(r3)
lbl_803B17E0:
/* 803B17E0 003AD440  7F 63 DB 78 */	mr r3, r27
/* 803B17E4 003AD444  4B FF B0 7D */	bl func_803AC860
/* 803B17E8 003AD448  7C 1E 18 00 */	cmpw r30, r3
/* 803B17EC 003AD44C  41 80 FF E0 */	blt lbl_803B17CC
/* 803B17F0 003AD450  7F 63 DB 78 */	mr r3, r27
/* 803B17F4 003AD454  7F A5 EB 78 */	mr r5, r29
/* 803B17F8 003AD458  38 C1 00 08 */	addi r6, r1, 8
/* 803B17FC 003AD45C  38 80 00 01 */	li r4, 1
/* 803B1800 003AD460  38 E0 00 08 */	li r7, 8
/* 803B1804 003AD464  4B FF DD ED */	bl func_803AF5F0
/* 803B1808 003AD468  39 61 00 30 */	addi r11, r1, 0x30
/* 803B180C 003AD46C  4B E1 59 69 */	bl _restgpr_27
/* 803B1810 003AD470  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B1814 003AD474  7C 08 03 A6 */	mtlr r0
/* 803B1818 003AD478  38 21 00 30 */	addi r1, r1, 0x30
/* 803B181C 003AD47C  4E 80 00 20 */	blr 

.global func_803B1820
func_803B1820:
/* 803B1820 003AD480  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1824 003AD484  7C 08 02 A6 */	mflr r0
/* 803B1828 003AD488  7C 85 23 78 */	mr r5, r4
/* 803B182C 003AD48C  38 80 00 01 */	li r4, 1
/* 803B1830 003AD490  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1834 003AD494  3C 00 24 00 */	lis r0, 0x2400
/* 803B1838 003AD498  38 C1 00 08 */	addi r6, r1, 8
/* 803B183C 003AD49C  38 E0 00 04 */	li r7, 4
/* 803B1840 003AD4A0  90 01 00 08 */	stw r0, 8(r1)
/* 803B1844 003AD4A4  4B FF DD AD */	bl func_803AF5F0
/* 803B1848 003AD4A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B184C 003AD4AC  7C 08 03 A6 */	mtlr r0
/* 803B1850 003AD4B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1854 003AD4B4  4E 80 00 20 */	blr 

.global func_803B1858
func_803B1858:
/* 803B1858 003AD4B8  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B185C 003AD4BC  7C 08 02 A6 */	mflr r0
/* 803B1860 003AD4C0  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B1864 003AD4C4  39 61 00 40 */	addi r11, r1, 0x40
/* 803B1868 003AD4C8  4B E1 58 C9 */	bl _savegpr_29
/* 803B186C 003AD4CC  7C 7D 1B 78 */	mr r29, r3
/* 803B1870 003AD4D0  7C 9E 23 78 */	mr r30, r4
/* 803B1874 003AD4D4  7C BF 2B 78 */	mr r31, r5
/* 803B1878 003AD4D8  4B FF AF D1 */	bl func_803AC848
/* 803B187C 003AD4DC  7F C4 F3 78 */	mr r4, r30
/* 803B1880 003AD4E0  48 00 93 F9 */	bl func_803BAC78
/* 803B1884 003AD4E4  38 60 00 25 */	li r3, 0x25
/* 803B1888 003AD4E8  38 00 00 03 */	li r0, 3
/* 803B188C 003AD4EC  98 61 00 08 */	stb r3, 8(r1)
/* 803B1890 003AD4F0  7F E4 FB 78 */	mr r4, r31
/* 803B1894 003AD4F4  38 A1 00 0C */	addi r5, r1, 0xc
/* 803B1898 003AD4F8  88 7F 00 00 */	lbz r3, 0(r31)
/* 803B189C 003AD4FC  98 61 00 0C */	stb r3, 0xc(r1)
/* 803B18A0 003AD500  88 7F 00 01 */	lbz r3, 1(r31)
/* 803B18A4 003AD504  98 61 00 0D */	stb r3, 0xd(r1)
/* 803B18A8 003AD508  A0 7F 00 02 */	lhz r3, 2(r31)
/* 803B18AC 003AD50C  B0 61 00 0E */	sth r3, 0xe(r1)
/* 803B18B0 003AD510  7C 09 03 A6 */	mtctr r0
lbl_803B18B4:
/* 803B18B4 003AD514  80 64 00 04 */	lwz r3, 4(r4)
/* 803B18B8 003AD518  84 04 00 08 */	lwzu r0, 8(r4)
/* 803B18BC 003AD51C  90 65 00 04 */	stw r3, 4(r5)
/* 803B18C0 003AD520  94 05 00 08 */	stwu r0, 8(r5)
/* 803B18C4 003AD524  42 00 FF F0 */	bdnz lbl_803B18B4
/* 803B18C8 003AD528  80 1F 00 1C */	lwz r0, 0x1c(r31)
/* 803B18CC 003AD52C  7F A3 EB 78 */	mr r3, r29
/* 803B18D0 003AD530  7F C5 F3 78 */	mr r5, r30
/* 803B18D4 003AD534  38 C1 00 08 */	addi r6, r1, 8
/* 803B18D8 003AD538  90 01 00 28 */	stw r0, 0x28(r1)
/* 803B18DC 003AD53C  38 80 00 01 */	li r4, 1
/* 803B18E0 003AD540  38 E0 00 28 */	li r7, 0x28
/* 803B18E4 003AD544  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 803B18E8 003AD548  90 01 00 2C */	stw r0, 0x2c(r1)
/* 803B18EC 003AD54C  4B FF DD 05 */	bl func_803AF5F0
/* 803B18F0 003AD550  39 61 00 40 */	addi r11, r1, 0x40
/* 803B18F4 003AD554  4B E1 58 89 */	bl _restgpr_29
/* 803B18F8 003AD558  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B18FC 003AD55C  7C 08 03 A6 */	mtlr r0
/* 803B1900 003AD560  38 21 00 40 */	addi r1, r1, 0x40
/* 803B1904 003AD564  4E 80 00 20 */	blr 

.global func_803B1908
func_803B1908:
/* 803B1908 003AD568  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B190C 003AD56C  7C 08 02 A6 */	mflr r0
/* 803B1910 003AD570  7C 85 23 78 */	mr r5, r4
/* 803B1914 003AD574  38 80 00 00 */	li r4, 0
/* 803B1918 003AD578  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B191C 003AD57C  3C 00 01 00 */	lis r0, 0x100
/* 803B1920 003AD580  38 C1 00 08 */	addi r6, r1, 8
/* 803B1924 003AD584  38 E0 00 04 */	li r7, 4
/* 803B1928 003AD588  90 01 00 08 */	stw r0, 8(r1)
/* 803B192C 003AD58C  4B FF DC C5 */	bl func_803AF5F0
/* 803B1930 003AD590  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1934 003AD594  7C 08 03 A6 */	mtlr r0
/* 803B1938 003AD598  38 21 00 10 */	addi r1, r1, 0x10
/* 803B193C 003AD59C  4E 80 00 20 */	blr 

.global func_803B1940
func_803B1940:
/* 803B1940 003AD5A0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B1944 003AD5A4  7C 08 02 A6 */	mflr r0
/* 803B1948 003AD5A8  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B194C 003AD5AC  39 61 00 40 */	addi r11, r1, 0x40
/* 803B1950 003AD5B0  4B E1 57 D1 */	bl _savegpr_25
/* 803B1954 003AD5B4  7F E4 2A 14 */	add r31, r4, r5
/* 803B1958 003AD5B8  7C BB 2B 78 */	mr r27, r5
/* 803B195C 003AD5BC  88 BF 21 9C */	lbz r5, 0x219c(r31)
/* 803B1960 003AD5C0  7C 9A 23 78 */	mr r26, r4
/* 803B1964 003AD5C4  7C 79 1B 78 */	mr r25, r3
/* 803B1968 003AD5C8  7F 64 DB 78 */	mr r4, r27
/* 803B196C 003AD5CC  4B FF B0 39 */	bl func_803AC9A4
/* 803B1970 003AD5D0  7C 7C 1B 78 */	mr r28, r3
/* 803B1974 003AD5D4  38 80 00 05 */	li r4, 5
/* 803B1978 003AD5D8  38 A0 00 00 */	li r5, 0
/* 803B197C 003AD5DC  48 02 C0 61 */	bl func_803DD9DC
/* 803B1980 003AD5E0  7C 7D 1B 78 */	mr r29, r3
/* 803B1984 003AD5E4  7F 83 E3 78 */	mr r3, r28
/* 803B1988 003AD5E8  38 80 00 A0 */	li r4, 0xa0
/* 803B198C 003AD5EC  38 A0 00 00 */	li r5, 0
/* 803B1990 003AD5F0  48 02 C0 4D */	bl func_803DD9DC
/* 803B1994 003AD5F4  1F DB 00 C0 */	mulli r30, r27, 0xc0
/* 803B1998 003AD5F8  38 00 00 26 */	li r0, 0x26
/* 803B199C 003AD5FC  7C 7C 1B 78 */	mr r28, r3
/* 803B19A0 003AD600  98 01 00 08 */	stb r0, 8(r1)
/* 803B19A4 003AD604  7F 43 D3 78 */	mr r3, r26
/* 803B19A8 003AD608  7C BA F2 14 */	add r5, r26, r30
/* 803B19AC 003AD60C  88 05 2D 74 */	lbz r0, 0x2d74(r5)
/* 803B19B0 003AD610  7F 64 DB 78 */	mr r4, r27
/* 803B19B4 003AD614  98 01 00 09 */	stb r0, 9(r1)
/* 803B19B8 003AD618  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803B19BC 003AD61C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B19C0 003AD620  80 05 2D 90 */	lwz r0, 0x2d90(r5)
/* 803B19C4 003AD624  B0 01 00 0C */	sth r0, 0xc(r1)
/* 803B19C8 003AD628  88 1F 21 9C */	lbz r0, 0x219c(r31)
/* 803B19CC 003AD62C  98 01 00 0E */	stb r0, 0xe(r1)
/* 803B19D0 003AD630  48 00 BA 31 */	bl func_803BD400
/* 803B19D4 003AD634  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B19D8 003AD638  50 60 1E 38 */	rlwimi r0, r3, 3, 0x18, 0x1c
/* 803B19DC 003AD63C  7F FA F2 14 */	add r31, r26, r30
/* 803B19E0 003AD640  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B19E4 003AD644  A0 1F 2D 40 */	lhz r0, 0x2d40(r31)
/* 803B19E8 003AD648  28 00 00 1D */	cmplwi r0, 0x1d
/* 803B19EC 003AD64C  41 82 00 0C */	beq lbl_803B19F8
/* 803B19F0 003AD650  28 00 00 20 */	cmplwi r0, 0x20
/* 803B19F4 003AD654  40 82 00 28 */	bne lbl_803B1A1C
lbl_803B19F8:
/* 803B19F8 003AD658  7C 7A F2 14 */	add r3, r26, r30
/* 803B19FC 003AD65C  80 03 2D 54 */	lwz r0, 0x2d54(r3)
/* 803B1A00 003AD660  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B1A04 003AD664  40 82 00 18 */	bne lbl_803B1A1C
/* 803B1A08 003AD668  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B1A0C 003AD66C  38 60 00 02 */	li r3, 2
/* 803B1A10 003AD670  50 60 0F 7C */	rlwimi r0, r3, 1, 0x1d, 0x1e
/* 803B1A14 003AD674  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B1A18 003AD678  48 00 00 18 */	b lbl_803B1A30
lbl_803B1A1C:
/* 803B1A1C 003AD67C  7C 7A F2 14 */	add r3, r26, r30
/* 803B1A20 003AD680  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B1A24 003AD684  88 63 2D BE */	lbz r3, 0x2dbe(r3)
/* 803B1A28 003AD688  50 60 EF 7C */	rlwimi r0, r3, 0x1d, 0x1d, 0x1e
/* 803B1A2C 003AD68C  98 01 00 0F */	stb r0, 0xf(r1)
lbl_803B1A30:
/* 803B1A30 003AD690  7F A3 EB 78 */	mr r3, r29
/* 803B1A34 003AD694  7F 84 E3 78 */	mr r4, r28
/* 803B1A38 003AD698  48 02 A0 E5 */	bl func_803DBB1C
/* 803B1A3C 003AD69C  7C BA F2 14 */	add r5, r26, r30
/* 803B1A40 003AD6A0  38 9C 00 01 */	addi r4, r28, 1
/* 803B1A44 003AD6A4  80 05 2D A4 */	lwz r0, 0x2da4(r5)
/* 803B1A48 003AD6A8  7C 03 00 50 */	subf r0, r3, r0
/* 803B1A4C 003AD6AC  7F A3 EB 78 */	mr r3, r29
/* 803B1A50 003AD6B0  90 01 00 10 */	stw r0, 0x10(r1)
/* 803B1A54 003AD6B4  48 02 A0 C9 */	bl func_803DBB1C
/* 803B1A58 003AD6B8  7C 7A 1B 78 */	mr r26, r3
/* 803B1A5C 003AD6BC  7F A3 EB 78 */	mr r3, r29
/* 803B1A60 003AD6C0  7F 84 E3 78 */	mr r4, r28
/* 803B1A64 003AD6C4  48 02 A0 B9 */	bl func_803DBB1C
/* 803B1A68 003AD6C8  7C 03 D0 50 */	subf r0, r3, r26
/* 803B1A6C 003AD6CC  7F 23 CB 78 */	mr r3, r25
/* 803B1A70 003AD6D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1A74 003AD6D4  A0 9F 2D 40 */	lhz r4, 0x2d40(r31)
/* 803B1A78 003AD6D8  4B FF C3 E9 */	bl func_803ADE60
/* 803B1A7C 003AD6DC  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803B1A80 003AD6E0  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 803B1A84 003AD6E4  7F 23 CB 78 */	mr r3, r25
/* 803B1A88 003AD6E8  98 01 00 0F */	stb r0, 0xf(r1)
/* 803B1A8C 003AD6EC  4B FF C1 21 */	bl func_803ADBAC
/* 803B1A90 003AD6F0  90 61 00 18 */	stw r3, 0x18(r1)
/* 803B1A94 003AD6F4  7F 23 CB 78 */	mr r3, r25
/* 803B1A98 003AD6F8  7F 65 DB 78 */	mr r5, r27
/* 803B1A9C 003AD6FC  38 C1 00 08 */	addi r6, r1, 8
/* 803B1AA0 003AD700  38 80 00 01 */	li r4, 1
/* 803B1AA4 003AD704  38 E0 00 14 */	li r7, 0x14
/* 803B1AA8 003AD708  4B FF DB 49 */	bl func_803AF5F0
/* 803B1AAC 003AD70C  39 61 00 40 */	addi r11, r1, 0x40
/* 803B1AB0 003AD710  4B E1 56 BD */	bl _restgpr_25
/* 803B1AB4 003AD714  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B1AB8 003AD718  7C 08 03 A6 */	mtlr r0
/* 803B1ABC 003AD71C  38 21 00 40 */	addi r1, r1, 0x40
/* 803B1AC0 003AD720  4E 80 00 20 */	blr 

.global func_803B1AC4
func_803B1AC4:
/* 803B1AC4 003AD724  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B1AC8 003AD728  7C 08 02 A6 */	mflr r0
/* 803B1ACC 003AD72C  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B1AD0 003AD730  39 61 00 40 */	addi r11, r1, 0x40
/* 803B1AD4 003AD734  4B E1 56 59 */	bl _savegpr_28
/* 803B1AD8 003AD738  38 00 00 27 */	li r0, 0x27
/* 803B1ADC 003AD73C  7C E4 2A 14 */	add r7, r4, r5
/* 803B1AE0 003AD740  98 01 00 08 */	stb r0, 8(r1)
/* 803B1AE4 003AD744  1F E5 00 C0 */	mulli r31, r5, 0xc0
/* 803B1AE8 003AD748  7C BE 2B 78 */	mr r30, r5
/* 803B1AEC 003AD74C  88 C1 00 09 */	lbz r6, 9(r1)
/* 803B1AF0 003AD750  88 07 21 9C */	lbz r0, 0x219c(r7)
/* 803B1AF4 003AD754  7C 7C 1B 78 */	mr r28, r3
/* 803B1AF8 003AD758  7C A4 FA 14 */	add r5, r4, r31
/* 803B1AFC 003AD75C  50 06 26 36 */	rlwimi r6, r0, 4, 0x18, 0x1b
/* 803B1B00 003AD760  7C 9D 23 78 */	mr r29, r4
/* 803B1B04 003AD764  98 C1 00 09 */	stb r6, 9(r1)
/* 803B1B08 003AD768  7F C4 F3 78 */	mr r4, r30
/* 803B1B0C 003AD76C  80 05 2D CC */	lwz r0, 0x2dcc(r5)
/* 803B1B10 003AD770  50 06 37 3E */	rlwimi r6, r0, 6, 0x1c, 0x1f
/* 803B1B14 003AD774  98 C1 00 09 */	stb r6, 9(r1)
/* 803B1B18 003AD778  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803B1B1C 003AD77C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B1B20 003AD780  A0 05 2D B8 */	lhz r0, 0x2db8(r5)
/* 803B1B24 003AD784  B0 01 00 14 */	sth r0, 0x14(r1)
/* 803B1B28 003AD788  4B FF B1 BD */	bl func_803ACCE4
/* 803B1B2C 003AD78C  54 63 1D 78 */	rlwinm r3, r3, 3, 0x15, 0x1c
/* 803B1B30 003AD790  38 00 00 04 */	li r0, 4
/* 803B1B34 003AD794  7C 7D 1A 14 */	add r3, r29, r3
/* 803B1B38 003AD798  7D 1D FA 14 */	add r8, r29, r31
/* 803B1B3C 003AD79C  80 83 01 C4 */	lwz r4, 0x1c4(r3)
/* 803B1B40 003AD7A0  38 E1 00 08 */	addi r7, r1, 8
/* 803B1B44 003AD7A4  39 20 00 00 */	li r9, 0
/* 803B1B48 003AD7A8  38 60 00 00 */	li r3, 0
/* 803B1B4C 003AD7AC  54 84 EE BE */	rlwinm r4, r4, 0x1d, 0x1a, 0x1f
/* 803B1B50 003AD7B0  90 81 00 10 */	stw r4, 0x10(r1)
/* 803B1B54 003AD7B4  7C 09 03 A6 */	mtctr r0
lbl_803B1B58:
/* 803B1B58 003AD7B8  7C 88 1A 14 */	add r4, r8, r3
/* 803B1B5C 003AD7BC  7C C7 1A 14 */	add r6, r7, r3
/* 803B1B60 003AD7C0  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803B1B64 003AD7C4  7C A8 4A 14 */	add r5, r8, r9
/* 803B1B68 003AD7C8  7C 87 4A 14 */	add r4, r7, r9
/* 803B1B6C 003AD7CC  39 29 00 01 */	addi r9, r9, 1
/* 803B1B70 003AD7D0  B0 06 00 0E */	sth r0, 0xe(r6)
/* 803B1B74 003AD7D4  38 63 00 02 */	addi r3, r3, 2
/* 803B1B78 003AD7D8  88 05 2D 6C */	lbz r0, 0x2d6c(r5)
/* 803B1B7C 003AD7DC  98 04 00 16 */	stb r0, 0x16(r4)
/* 803B1B80 003AD7E0  42 00 FF D8 */	bdnz lbl_803B1B58
/* 803B1B84 003AD7E4  A8 01 00 0A */	lha r0, 0xa(r1)
/* 803B1B88 003AD7E8  2C 00 00 00 */	cmpwi r0, 0
/* 803B1B8C 003AD7EC  41 82 00 20 */	beq lbl_803B1BAC
/* 803B1B90 003AD7F0  7C 7D FA 14 */	add r3, r29, r31
/* 803B1B94 003AD7F4  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B1B98 003AD7F8  54 00 06 26 */	rlwinm r0, r0, 0, 0x18, 0x13
/* 803B1B9C 003AD7FC  90 01 00 0C */	stw r0, 0xc(r1)
/* 803B1BA0 003AD800  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B1BA4 003AD804  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1BA8 003AD808  48 00 00 18 */	b lbl_803B1BC0
lbl_803B1BAC:
/* 803B1BAC 003AD80C  38 00 00 00 */	li r0, 0
/* 803B1BB0 003AD810  7C 7D FA 14 */	add r3, r29, r31
/* 803B1BB4 003AD814  90 01 00 0C */	stw r0, 0xc(r1)
/* 803B1BB8 003AD818  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B1BBC 003AD81C  90 01 00 24 */	stw r0, 0x24(r1)
lbl_803B1BC0:
/* 803B1BC0 003AD820  7F 83 E3 78 */	mr r3, r28
/* 803B1BC4 003AD824  7F C5 F3 78 */	mr r5, r30
/* 803B1BC8 003AD828  38 C1 00 08 */	addi r6, r1, 8
/* 803B1BCC 003AD82C  38 80 00 01 */	li r4, 1
/* 803B1BD0 003AD830  38 E0 00 20 */	li r7, 0x20
/* 803B1BD4 003AD834  4B FF DA 1D */	bl func_803AF5F0
/* 803B1BD8 003AD838  39 61 00 40 */	addi r11, r1, 0x40
/* 803B1BDC 003AD83C  4B E1 55 9D */	bl _restgpr_28
/* 803B1BE0 003AD840  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B1BE4 003AD844  7C 08 03 A6 */	mtlr r0
/* 803B1BE8 003AD848  38 21 00 40 */	addi r1, r1, 0x40
/* 803B1BEC 003AD84C  4E 80 00 20 */	blr 

.global func_803B1BF0
func_803B1BF0:
/* 803B1BF0 003AD850  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1BF4 003AD854  7C 08 02 A6 */	mflr r0
/* 803B1BF8 003AD858  7C 85 23 78 */	mr r5, r4
/* 803B1BFC 003AD85C  38 80 00 01 */	li r4, 1
/* 803B1C00 003AD860  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1C04 003AD864  3C 00 28 00 */	lis r0, 0x2800
/* 803B1C08 003AD868  38 C1 00 08 */	addi r6, r1, 8
/* 803B1C0C 003AD86C  38 E0 00 04 */	li r7, 4
/* 803B1C10 003AD870  90 01 00 08 */	stw r0, 8(r1)
/* 803B1C14 003AD874  4B FF D9 DD */	bl func_803AF5F0
/* 803B1C18 003AD878  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1C1C 003AD87C  7C 08 03 A6 */	mtlr r0
/* 803B1C20 003AD880  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1C24 003AD884  4E 80 00 20 */	blr 

.global func_803B1C28
func_803B1C28:
/* 803B1C28 003AD888  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1C2C 003AD88C  7C 08 02 A6 */	mflr r0
/* 803B1C30 003AD890  7C 85 23 78 */	mr r5, r4
/* 803B1C34 003AD894  38 80 00 01 */	li r4, 1
/* 803B1C38 003AD898  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1C3C 003AD89C  3C 00 29 00 */	lis r0, 0x2900
/* 803B1C40 003AD8A0  38 C1 00 08 */	addi r6, r1, 8
/* 803B1C44 003AD8A4  38 E0 00 04 */	li r7, 4
/* 803B1C48 003AD8A8  90 01 00 08 */	stw r0, 8(r1)
/* 803B1C4C 003AD8AC  4B FF D9 A5 */	bl func_803AF5F0
/* 803B1C50 003AD8B0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1C54 003AD8B4  7C 08 03 A6 */	mtlr r0
/* 803B1C58 003AD8B8  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1C5C 003AD8BC  4E 80 00 20 */	blr 

.global func_803B1C60
func_803B1C60:
/* 803B1C60 003AD8C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1C64 003AD8C4  7C 08 02 A6 */	mflr r0
/* 803B1C68 003AD8C8  39 20 00 2A */	li r9, 0x2a
/* 803B1C6C 003AD8CC  38 E0 00 04 */	li r7, 4
/* 803B1C70 003AD8D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1C74 003AD8D4  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803B1C78 003AD8D8  B0 C1 00 0A */	sth r6, 0xa(r1)
/* 803B1C7C 003AD8DC  38 C1 00 08 */	addi r6, r1, 8
/* 803B1C80 003AD8E0  7D 04 02 14 */	add r8, r4, r0
/* 803B1C84 003AD8E4  38 80 00 01 */	li r4, 1
/* 803B1C88 003AD8E8  99 21 00 08 */	stb r9, 8(r1)
/* 803B1C8C 003AD8EC  88 08 2D 67 */	lbz r0, 0x2d67(r8)
/* 803B1C90 003AD8F0  98 01 00 09 */	stb r0, 9(r1)
/* 803B1C94 003AD8F4  4B FF D9 5D */	bl func_803AF5F0
/* 803B1C98 003AD8F8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1C9C 003AD8FC  7C 08 03 A6 */	mtlr r0
/* 803B1CA0 003AD900  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1CA4 003AD904  4E 80 00 20 */	blr 

.global func_803B1CA8
func_803B1CA8:
/* 803B1CA8 003AD908  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B1CAC 003AD90C  7C 08 02 A6 */	mflr r0
/* 803B1CB0 003AD910  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1CB4 003AD914  39 61 00 20 */	addi r11, r1, 0x20
/* 803B1CB8 003AD918  4B E1 54 75 */	bl _savegpr_28
/* 803B1CBC 003AD91C  7C 7C 1B 78 */	mr r28, r3
/* 803B1CC0 003AD920  7C 9D 23 78 */	mr r29, r4
/* 803B1CC4 003AD924  7C BE 2B 78 */	mr r30, r5
/* 803B1CC8 003AD928  7C DF 33 78 */	mr r31, r6
/* 803B1CCC 003AD92C  4B FF AB 7D */	bl func_803AC848
/* 803B1CD0 003AD930  7F A4 EB 78 */	mr r4, r29
/* 803B1CD4 003AD934  48 00 8F A5 */	bl func_803BAC78
/* 803B1CD8 003AD938  38 00 00 2B */	li r0, 0x2b
/* 803B1CDC 003AD93C  B3 C1 00 0A */	sth r30, 0xa(r1)
/* 803B1CE0 003AD940  7F 83 E3 78 */	mr r3, r28
/* 803B1CE4 003AD944  7F A5 EB 78 */	mr r5, r29
/* 803B1CE8 003AD948  98 01 00 08 */	stb r0, 8(r1)
/* 803B1CEC 003AD94C  38 C1 00 08 */	addi r6, r1, 8
/* 803B1CF0 003AD950  38 80 00 01 */	li r4, 1
/* 803B1CF4 003AD954  38 E0 00 04 */	li r7, 4
/* 803B1CF8 003AD958  9B E1 00 09 */	stb r31, 9(r1)
/* 803B1CFC 003AD95C  4B FF D8 F5 */	bl func_803AF5F0
/* 803B1D00 003AD960  39 61 00 20 */	addi r11, r1, 0x20
/* 803B1D04 003AD964  4B E1 54 75 */	bl _restgpr_28
/* 803B1D08 003AD968  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B1D0C 003AD96C  7C 08 03 A6 */	mtlr r0
/* 803B1D10 003AD970  38 21 00 20 */	addi r1, r1, 0x20
/* 803B1D14 003AD974  4E 80 00 20 */	blr 

.global func_803B1D18
func_803B1D18:
/* 803B1D18 003AD978  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1D1C 003AD97C  7C 08 02 A6 */	mflr r0
/* 803B1D20 003AD980  38 E0 00 04 */	li r7, 4
/* 803B1D24 003AD984  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1D28 003AD988  38 00 00 2C */	li r0, 0x2c
/* 803B1D2C 003AD98C  98 A1 00 09 */	stb r5, 9(r1)
/* 803B1D30 003AD990  7C 85 23 78 */	mr r5, r4
/* 803B1D34 003AD994  38 80 00 01 */	li r4, 1
/* 803B1D38 003AD998  98 C1 00 0A */	stb r6, 0xa(r1)
/* 803B1D3C 003AD99C  38 C1 00 08 */	addi r6, r1, 8
/* 803B1D40 003AD9A0  98 01 00 08 */	stb r0, 8(r1)
/* 803B1D44 003AD9A4  4B FF D8 AD */	bl func_803AF5F0
/* 803B1D48 003AD9A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1D4C 003AD9AC  7C 08 03 A6 */	mtlr r0
/* 803B1D50 003AD9B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1D54 003AD9B4  4E 80 00 20 */	blr 

.global func_803B1D58
func_803B1D58:
/* 803B1D58 003AD9B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B1D5C 003AD9BC  7C 08 02 A6 */	mflr r0
/* 803B1D60 003AD9C0  1C E4 00 C0 */	mulli r7, r4, 0xc0
/* 803B1D64 003AD9C4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1D68 003AD9C8  38 00 00 2D */	li r0, 0x2d
/* 803B1D6C 003AD9CC  98 01 00 08 */	stb r0, 8(r1)
/* 803B1D70 003AD9D0  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803B1D74 003AD9D4  7C A0 3A 14 */	add r5, r0, r7
/* 803B1D78 003AD9D8  A0 05 2D 40 */	lhz r0, 0x2d40(r5)
/* 803B1D7C 003AD9DC  B0 01 00 0A */	sth r0, 0xa(r1)
/* 803B1D80 003AD9E0  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803B1D84 003AD9E4  7C A0 3A 14 */	add r5, r0, r7
/* 803B1D88 003AD9E8  88 05 2D 66 */	lbz r0, 0x2d66(r5)
/* 803B1D8C 003AD9EC  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 803B1D90 003AD9F0  98 01 00 0D */	stb r0, 0xd(r1)
/* 803B1D94 003AD9F4  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803B1D98 003AD9F8  7C A0 3A 14 */	add r5, r0, r7
/* 803B1D9C 003AD9FC  80 05 2D B0 */	lwz r0, 0x2db0(r5)
/* 803B1DA0 003ADA00  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803B1DA4 003ADA04  41 82 00 20 */	beq lbl_803B1DC4
/* 803B1DA8 003ADA08  A0 05 2D FA */	lhz r0, 0x2dfa(r5)
/* 803B1DAC 003ADA0C  98 01 00 0C */	stb r0, 0xc(r1)
/* 803B1DB0 003ADA10  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803B1DB4 003ADA14  7C A0 3A 14 */	add r5, r0, r7
/* 803B1DB8 003ADA18  80 05 2D E4 */	lwz r0, 0x2de4(r5)
/* 803B1DBC 003ADA1C  90 01 00 10 */	stw r0, 0x10(r1)
/* 803B1DC0 003ADA20  48 00 00 20 */	b lbl_803B1DE0
lbl_803B1DC4:
/* 803B1DC4 003ADA24  88 05 2D BE */	lbz r0, 0x2dbe(r5)
/* 803B1DC8 003ADA28  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B1DCC 003ADA2C  98 01 00 0C */	stb r0, 0xc(r1)
/* 803B1DD0 003ADA30  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803B1DD4 003ADA34  7C A0 3A 14 */	add r5, r0, r7
/* 803B1DD8 003ADA38  80 05 2D A8 */	lwz r0, 0x2da8(r5)
/* 803B1DDC 003ADA3C  90 01 00 10 */	stw r0, 0x10(r1)
lbl_803B1DE0:
/* 803B1DE0 003ADA40  80 03 00 30 */	lwz r0, 0x30(r3)
/* 803B1DE4 003ADA44  7C 85 23 78 */	mr r5, r4
/* 803B1DE8 003ADA48  38 C1 00 08 */	addi r6, r1, 8
/* 803B1DEC 003ADA4C  38 80 00 01 */	li r4, 1
/* 803B1DF0 003ADA50  7C E0 3A 14 */	add r7, r0, r7
/* 803B1DF4 003ADA54  88 07 2D 66 */	lbz r0, 0x2d66(r7)
/* 803B1DF8 003ADA58  38 E0 00 0C */	li r7, 0xc
/* 803B1DFC 003ADA5C  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803B1E00 003ADA60  98 01 00 09 */	stb r0, 9(r1)
/* 803B1E04 003ADA64  4B FF D7 ED */	bl func_803AF5F0
/* 803B1E08 003ADA68  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B1E0C 003ADA6C  7C 08 03 A6 */	mtlr r0
/* 803B1E10 003ADA70  38 21 00 20 */	addi r1, r1, 0x20
/* 803B1E14 003ADA74  4E 80 00 20 */	blr 

.global func_803B1E18
func_803B1E18:
/* 803B1E18 003ADA78  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1E1C 003ADA7C  7C 08 02 A6 */	mflr r0
/* 803B1E20 003ADA80  7C 85 23 78 */	mr r5, r4
/* 803B1E24 003ADA84  38 80 00 01 */	li r4, 1
/* 803B1E28 003ADA88  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1E2C 003ADA8C  3C 00 2E 00 */	lis r0, 0x2e00
/* 803B1E30 003ADA90  38 C1 00 08 */	addi r6, r1, 8
/* 803B1E34 003ADA94  38 E0 00 04 */	li r7, 4
/* 803B1E38 003ADA98  90 01 00 08 */	stw r0, 8(r1)
/* 803B1E3C 003ADA9C  4B FF D7 B5 */	bl func_803AF5F0
/* 803B1E40 003ADAA0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1E44 003ADAA4  7C 08 03 A6 */	mtlr r0
/* 803B1E48 003ADAA8  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1E4C 003ADAAC  4E 80 00 20 */	blr 

.global func_803B1E50
func_803B1E50:
/* 803B1E50 003ADAB0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B1E54 003ADAB4  7C 08 02 A6 */	mflr r0
/* 803B1E58 003ADAB8  7C 85 23 78 */	mr r5, r4
/* 803B1E5C 003ADABC  38 80 00 01 */	li r4, 1
/* 803B1E60 003ADAC0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B1E64 003ADAC4  3C 00 2F 00 */	lis r0, 0x2f00
/* 803B1E68 003ADAC8  38 C1 00 08 */	addi r6, r1, 8
/* 803B1E6C 003ADACC  38 E0 00 04 */	li r7, 4
/* 803B1E70 003ADAD0  90 01 00 08 */	stw r0, 8(r1)
/* 803B1E74 003ADAD4  4B FF D7 7D */	bl func_803AF5F0
/* 803B1E78 003ADAD8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B1E7C 003ADADC  7C 08 03 A6 */	mtlr r0
/* 803B1E80 003ADAE0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B1E84 003ADAE4  4E 80 00 20 */	blr 

.global func_803B1E88
func_803B1E88:
/* 803B1E88 003ADAE8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B1E8C 003ADAEC  7C 08 02 A6 */	mflr r0
/* 803B1E90 003ADAF0  38 C0 00 30 */	li r6, 0x30
/* 803B1E94 003ADAF4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1E98 003ADAF8  38 A1 00 08 */	addi r5, r1, 8
/* 803B1E9C 003ADAFC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B1EA0 003ADB00  7C 9F 23 78 */	mr r31, r4
/* 803B1EA4 003ADB04  7F E7 FB 78 */	mr r7, r31
/* 803B1EA8 003ADB08  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B1EAC 003ADB0C  7C 7E 1B 78 */	mr r30, r3
/* 803B1EB0 003ADB10  80 83 00 30 */	lwz r4, 0x30(r3)
/* 803B1EB4 003ADB14  48 00 08 D1 */	bl func_803B2784
/* 803B1EB8 003ADB18  7F C3 F3 78 */	mr r3, r30
/* 803B1EBC 003ADB1C  7F E5 FB 78 */	mr r5, r31
/* 803B1EC0 003ADB20  38 C1 00 08 */	addi r6, r1, 8
/* 803B1EC4 003ADB24  38 80 00 01 */	li r4, 1
/* 803B1EC8 003ADB28  38 E0 00 08 */	li r7, 8
/* 803B1ECC 003ADB2C  4B FF D7 25 */	bl func_803AF5F0
/* 803B1ED0 003ADB30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B1ED4 003ADB34  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B1ED8 003ADB38  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B1EDC 003ADB3C  7C 08 03 A6 */	mtlr r0
/* 803B1EE0 003ADB40  38 21 00 20 */	addi r1, r1, 0x20
/* 803B1EE4 003ADB44  4E 80 00 20 */	blr 

.global func_803B1EE8
func_803B1EE8:
/* 803B1EE8 003ADB48  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B1EEC 003ADB4C  7C 08 02 A6 */	mflr r0
/* 803B1EF0 003ADB50  38 C0 00 31 */	li r6, 0x31
/* 803B1EF4 003ADB54  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1EF8 003ADB58  38 A1 00 08 */	addi r5, r1, 8
/* 803B1EFC 003ADB5C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B1F00 003ADB60  7C 9F 23 78 */	mr r31, r4
/* 803B1F04 003ADB64  7F E7 FB 78 */	mr r7, r31
/* 803B1F08 003ADB68  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B1F0C 003ADB6C  7C 7E 1B 78 */	mr r30, r3
/* 803B1F10 003ADB70  80 83 00 30 */	lwz r4, 0x30(r3)
/* 803B1F14 003ADB74  48 00 08 71 */	bl func_803B2784
/* 803B1F18 003ADB78  7F C3 F3 78 */	mr r3, r30
/* 803B1F1C 003ADB7C  7F E5 FB 78 */	mr r5, r31
/* 803B1F20 003ADB80  38 C1 00 08 */	addi r6, r1, 8
/* 803B1F24 003ADB84  38 80 00 01 */	li r4, 1
/* 803B1F28 003ADB88  38 E0 00 08 */	li r7, 8
/* 803B1F2C 003ADB8C  4B FF D6 C5 */	bl func_803AF5F0
/* 803B1F30 003ADB90  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B1F34 003ADB94  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B1F38 003ADB98  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B1F3C 003ADB9C  7C 08 03 A6 */	mtlr r0
/* 803B1F40 003ADBA0  38 21 00 20 */	addi r1, r1, 0x20
/* 803B1F44 003ADBA4  4E 80 00 20 */	blr 

.global func_803B1F48
func_803B1F48:
/* 803B1F48 003ADBA8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B1F4C 003ADBAC  7C 08 02 A6 */	mflr r0
/* 803B1F50 003ADBB0  38 C0 00 32 */	li r6, 0x32
/* 803B1F54 003ADBB4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1F58 003ADBB8  38 A1 00 08 */	addi r5, r1, 8
/* 803B1F5C 003ADBBC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B1F60 003ADBC0  7C 9F 23 78 */	mr r31, r4
/* 803B1F64 003ADBC4  7F E7 FB 78 */	mr r7, r31
/* 803B1F68 003ADBC8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B1F6C 003ADBCC  7C 7E 1B 78 */	mr r30, r3
/* 803B1F70 003ADBD0  80 83 00 30 */	lwz r4, 0x30(r3)
/* 803B1F74 003ADBD4  48 00 08 11 */	bl func_803B2784
/* 803B1F78 003ADBD8  7F C3 F3 78 */	mr r3, r30
/* 803B1F7C 003ADBDC  7F E5 FB 78 */	mr r5, r31
/* 803B1F80 003ADBE0  38 C1 00 08 */	addi r6, r1, 8
/* 803B1F84 003ADBE4  38 80 00 01 */	li r4, 1
/* 803B1F88 003ADBE8  38 E0 00 08 */	li r7, 8
/* 803B1F8C 003ADBEC  4B FF D6 65 */	bl func_803AF5F0
/* 803B1F90 003ADBF0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B1F94 003ADBF4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B1F98 003ADBF8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B1F9C 003ADBFC  7C 08 03 A6 */	mtlr r0
/* 803B1FA0 003ADC00  38 21 00 20 */	addi r1, r1, 0x20
/* 803B1FA4 003ADC04  4E 80 00 20 */	blr 

.global func_803B1FA8
func_803B1FA8:
/* 803B1FA8 003ADC08  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B1FAC 003ADC0C  7C 08 02 A6 */	mflr r0
/* 803B1FB0 003ADC10  38 C0 00 33 */	li r6, 0x33
/* 803B1FB4 003ADC14  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B1FB8 003ADC18  38 A1 00 08 */	addi r5, r1, 8
/* 803B1FBC 003ADC1C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B1FC0 003ADC20  7C 9F 23 78 */	mr r31, r4
/* 803B1FC4 003ADC24  7F E7 FB 78 */	mr r7, r31
/* 803B1FC8 003ADC28  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B1FCC 003ADC2C  7C 7E 1B 78 */	mr r30, r3
/* 803B1FD0 003ADC30  80 83 00 30 */	lwz r4, 0x30(r3)
/* 803B1FD4 003ADC34  48 00 07 B1 */	bl func_803B2784
/* 803B1FD8 003ADC38  7F C3 F3 78 */	mr r3, r30
/* 803B1FDC 003ADC3C  7F E5 FB 78 */	mr r5, r31
/* 803B1FE0 003ADC40  38 C1 00 08 */	addi r6, r1, 8
/* 803B1FE4 003ADC44  38 80 00 01 */	li r4, 1
/* 803B1FE8 003ADC48  38 E0 00 08 */	li r7, 8
/* 803B1FEC 003ADC4C  4B FF D6 05 */	bl func_803AF5F0
/* 803B1FF0 003ADC50  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B1FF4 003ADC54  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B1FF8 003ADC58  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B1FFC 003ADC5C  7C 08 03 A6 */	mtlr r0
/* 803B2000 003ADC60  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2004 003ADC64  4E 80 00 20 */	blr 

.global func_803B2008
func_803B2008:
/* 803B2008 003ADC68  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B200C 003ADC6C  7C 08 02 A6 */	mflr r0
/* 803B2010 003ADC70  38 80 00 01 */	li r4, 1
/* 803B2014 003ADC74  38 A0 00 00 */	li r5, 0
/* 803B2018 003ADC78  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B201C 003ADC7C  3C 00 34 00 */	lis r0, 0x3400
/* 803B2020 003ADC80  38 C1 00 08 */	addi r6, r1, 8
/* 803B2024 003ADC84  38 E0 00 04 */	li r7, 4
/* 803B2028 003ADC88  90 01 00 08 */	stw r0, 8(r1)
/* 803B202C 003ADC8C  4B FF D5 C5 */	bl func_803AF5F0
/* 803B2030 003ADC90  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2034 003ADC94  7C 08 03 A6 */	mtlr r0
/* 803B2038 003ADC98  38 21 00 10 */	addi r1, r1, 0x10
/* 803B203C 003ADC9C  4E 80 00 20 */	blr 

.global func_803B2040
func_803B2040:
/* 803B2040 003ADCA0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2044 003ADCA4  7C 08 02 A6 */	mflr r0
/* 803B2048 003ADCA8  38 80 00 01 */	li r4, 1
/* 803B204C 003ADCAC  38 A0 00 00 */	li r5, 0
/* 803B2050 003ADCB0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2054 003ADCB4  3C 00 35 00 */	lis r0, 0x3500
/* 803B2058 003ADCB8  38 C1 00 08 */	addi r6, r1, 8
/* 803B205C 003ADCBC  38 E0 00 04 */	li r7, 4
/* 803B2060 003ADCC0  90 01 00 08 */	stw r0, 8(r1)
/* 803B2064 003ADCC4  4B FF D5 8D */	bl func_803AF5F0
/* 803B2068 003ADCC8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B206C 003ADCCC  7C 08 03 A6 */	mtlr r0
/* 803B2070 003ADCD0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2074 003ADCD4  4E 80 00 20 */	blr 

.global func_803B2078
func_803B2078:
/* 803B2078 003ADCD8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B207C 003ADCDC  7C 08 02 A6 */	mflr r0
/* 803B2080 003ADCE0  38 E0 00 04 */	li r7, 4
/* 803B2084 003ADCE4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2088 003ADCE8  38 00 00 36 */	li r0, 0x36
/* 803B208C 003ADCEC  98 A1 00 09 */	stb r5, 9(r1)
/* 803B2090 003ADCF0  7C 85 23 78 */	mr r5, r4
/* 803B2094 003ADCF4  38 80 00 01 */	li r4, 1
/* 803B2098 003ADCF8  B0 C1 00 0A */	sth r6, 0xa(r1)
/* 803B209C 003ADCFC  38 C1 00 08 */	addi r6, r1, 8
/* 803B20A0 003ADD00  98 01 00 08 */	stb r0, 8(r1)
/* 803B20A4 003ADD04  4B FF D5 4D */	bl func_803AF5F0
/* 803B20A8 003ADD08  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B20AC 003ADD0C  7C 08 03 A6 */	mtlr r0
/* 803B20B0 003ADD10  38 21 00 10 */	addi r1, r1, 0x10
/* 803B20B4 003ADD14  4E 80 00 20 */	blr 

.global func_803B20B8
func_803B20B8:
/* 803B20B8 003ADD18  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B20BC 003ADD1C  7C 08 02 A6 */	mflr r0
/* 803B20C0 003ADD20  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B20C4 003ADD24  3C 00 37 00 */	lis r0, 0x3700
/* 803B20C8 003ADD28  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B20CC 003ADD2C  7C 9F 23 78 */	mr r31, r4
/* 803B20D0 003ADD30  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B20D4 003ADD34  7C 7E 1B 78 */	mr r30, r3
/* 803B20D8 003ADD38  90 01 00 08 */	stw r0, 8(r1)
/* 803B20DC 003ADD3C  4B FF A7 65 */	bl func_803AC840
/* 803B20E0 003ADD40  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803B20E4 003ADD44  41 82 00 1C */	beq lbl_803B2100
/* 803B20E8 003ADD48  7F C3 F3 78 */	mr r3, r30
/* 803B20EC 003ADD4C  7F E5 FB 78 */	mr r5, r31
/* 803B20F0 003ADD50  38 C1 00 08 */	addi r6, r1, 8
/* 803B20F4 003ADD54  38 80 00 01 */	li r4, 1
/* 803B20F8 003ADD58  38 E0 00 04 */	li r7, 4
/* 803B20FC 003ADD5C  4B FF D4 F5 */	bl func_803AF5F0
lbl_803B2100:
/* 803B2100 003ADD60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B2104 003ADD64  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B2108 003ADD68  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B210C 003ADD6C  7C 08 03 A6 */	mtlr r0
/* 803B2110 003ADD70  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2114 003ADD74  4E 80 00 20 */	blr 

.global func_803B2118
func_803B2118:
/* 803B2118 003ADD78  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803B211C 003ADD7C  7C 08 02 A6 */	mflr r0
/* 803B2120 003ADD80  38 C0 00 38 */	li r6, 0x38
/* 803B2124 003ADD84  38 E0 00 00 */	li r7, 0
/* 803B2128 003ADD88  90 01 00 74 */	stw r0, 0x74(r1)
/* 803B212C 003ADD8C  38 00 00 04 */	li r0, 4
/* 803B2130 003ADD90  39 41 00 08 */	addi r10, r1, 8
/* 803B2134 003ADD94  39 00 00 00 */	li r8, 0
/* 803B2138 003ADD98  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 803B213C 003ADD9C  3B E0 00 00 */	li r31, 0
/* 803B2140 003ADDA0  98 C1 00 08 */	stb r6, 8(r1)
/* 803B2144 003ADDA4  38 C0 00 00 */	li r6, 0
/* 803B2148 003ADDA8  7C 09 03 A6 */	mtctr r0
lbl_803B214C:
/* 803B214C 003ADDAC  7D 84 32 14 */	add r12, r4, r6
/* 803B2150 003ADDB0  7D 2A 42 14 */	add r9, r10, r8
/* 803B2154 003ADDB4  A0 0C 2D 40 */	lhz r0, 0x2d40(r12)
/* 803B2158 003ADDB8  7D 6A FA 14 */	add r11, r10, r31
/* 803B215C 003ADDBC  B0 09 00 18 */	sth r0, 0x18(r9)
/* 803B2160 003ADDC0  88 0C 2D 66 */	lbz r0, 0x2d66(r12)
/* 803B2164 003ADDC4  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 803B2168 003ADDC8  98 0B 00 24 */	stb r0, 0x24(r11)
/* 803B216C 003ADDCC  88 0C 2D 66 */	lbz r0, 0x2d66(r12)
/* 803B2170 003ADDD0  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803B2174 003ADDD4  98 0B 00 28 */	stb r0, 0x28(r11)
/* 803B2178 003ADDD8  80 0C 2D B0 */	lwz r0, 0x2db0(r12)
/* 803B217C 003ADDDC  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803B2180 003ADDE0  41 82 00 1C */	beq lbl_803B219C
/* 803B2184 003ADDE4  A0 0C 2D FA */	lhz r0, 0x2dfa(r12)
/* 803B2188 003ADDE8  7D 2A 3A 14 */	add r9, r10, r7
/* 803B218C 003ADDEC  98 0B 00 20 */	stb r0, 0x20(r11)
/* 803B2190 003ADDF0  80 0C 2D E4 */	lwz r0, 0x2de4(r12)
/* 803B2194 003ADDF4  90 09 00 2C */	stw r0, 0x2c(r9)
/* 803B2198 003ADDF8  48 00 00 1C */	b lbl_803B21B4
lbl_803B219C:
/* 803B219C 003ADDFC  88 0C 2D BE */	lbz r0, 0x2dbe(r12)
/* 803B21A0 003ADE00  7D 2A 3A 14 */	add r9, r10, r7
/* 803B21A4 003ADE04  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B21A8 003ADE08  98 0B 00 20 */	stb r0, 0x20(r11)
/* 803B21AC 003ADE0C  80 0C 2D A8 */	lwz r0, 0x2da8(r12)
/* 803B21B0 003ADE10  90 09 00 2C */	stw r0, 0x2c(r9)
lbl_803B21B4:
/* 803B21B4 003ADE14  3B FF 00 01 */	addi r31, r31, 1
/* 803B21B8 003ADE18  38 C6 00 C0 */	addi r6, r6, 0xc0
/* 803B21BC 003ADE1C  38 E7 00 04 */	addi r7, r7, 4
/* 803B21C0 003ADE20  39 08 00 02 */	addi r8, r8, 2
/* 803B21C4 003ADE24  42 00 FF 88 */	bdnz lbl_803B214C
/* 803B21C8 003ADE28  38 C1 00 08 */	addi r6, r1, 8
/* 803B21CC 003ADE2C  38 80 00 01 */	li r4, 1
/* 803B21D0 003ADE30  38 E0 00 58 */	li r7, 0x58
/* 803B21D4 003ADE34  4B FF D4 1D */	bl func_803AF5F0
/* 803B21D8 003ADE38  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803B21DC 003ADE3C  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 803B21E0 003ADE40  7C 08 03 A6 */	mtlr r0
/* 803B21E4 003ADE44  38 21 00 70 */	addi r1, r1, 0x70
/* 803B21E8 003ADE48  4E 80 00 20 */	blr 

.global func_803B21EC
func_803B21EC:
/* 803B21EC 003ADE4C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B21F0 003ADE50  7C 08 02 A6 */	mflr r0
/* 803B21F4 003ADE54  7C 85 23 78 */	mr r5, r4
/* 803B21F8 003ADE58  38 80 00 01 */	li r4, 1
/* 803B21FC 003ADE5C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2200 003ADE60  3C 00 39 00 */	lis r0, 0x3900
/* 803B2204 003ADE64  38 C1 00 08 */	addi r6, r1, 8
/* 803B2208 003ADE68  38 E0 00 04 */	li r7, 4
/* 803B220C 003ADE6C  90 01 00 08 */	stw r0, 8(r1)
/* 803B2210 003ADE70  4B FF D3 E1 */	bl func_803AF5F0
/* 803B2214 003ADE74  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2218 003ADE78  7C 08 03 A6 */	mtlr r0
/* 803B221C 003ADE7C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2220 003ADE80  4E 80 00 20 */	blr 

.global func_803B2224
func_803B2224:
/* 803B2224 003ADE84  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2228 003ADE88  7C 08 02 A6 */	mflr r0
/* 803B222C 003ADE8C  7C 85 23 78 */	mr r5, r4
/* 803B2230 003ADE90  38 80 00 01 */	li r4, 1
/* 803B2234 003ADE94  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2238 003ADE98  3C 00 3A 00 */	lis r0, 0x3a00
/* 803B223C 003ADE9C  38 C1 00 08 */	addi r6, r1, 8
/* 803B2240 003ADEA0  38 E0 00 04 */	li r7, 4
/* 803B2244 003ADEA4  90 01 00 08 */	stw r0, 8(r1)
/* 803B2248 003ADEA8  4B FF D3 A9 */	bl func_803AF5F0
/* 803B224C 003ADEAC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2250 003ADEB0  7C 08 03 A6 */	mtlr r0
/* 803B2254 003ADEB4  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2258 003ADEB8  4E 80 00 20 */	blr 

.global func_803B225C
func_803B225C:
/* 803B225C 003ADEBC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2260 003ADEC0  7C 08 02 A6 */	mflr r0
/* 803B2264 003ADEC4  38 80 00 01 */	li r4, 1
/* 803B2268 003ADEC8  38 A0 00 00 */	li r5, 0
/* 803B226C 003ADECC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2270 003ADED0  3C 00 3B 00 */	lis r0, 0x3b00
/* 803B2274 003ADED4  38 C1 00 08 */	addi r6, r1, 8
/* 803B2278 003ADED8  38 E0 00 04 */	li r7, 4
/* 803B227C 003ADEDC  90 01 00 08 */	stw r0, 8(r1)
/* 803B2280 003ADEE0  4B FF D3 71 */	bl func_803AF5F0
/* 803B2284 003ADEE4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2288 003ADEE8  7C 08 03 A6 */	mtlr r0
/* 803B228C 003ADEEC  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2290 003ADEF0  4E 80 00 20 */	blr 

.global func_803B2294
func_803B2294:
/* 803B2294 003ADEF4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B2298 003ADEF8  7C 08 02 A6 */	mflr r0
/* 803B229C 003ADEFC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B22A0 003ADF00  39 61 00 20 */	addi r11, r1, 0x20
/* 803B22A4 003ADF04  4B E1 4E 89 */	bl _savegpr_28
/* 803B22A8 003ADF08  3B E0 00 00 */	li r31, 0
/* 803B22AC 003ADF0C  38 00 00 3C */	li r0, 0x3c
/* 803B22B0 003ADF10  98 01 00 08 */	stb r0, 8(r1)
/* 803B22B4 003ADF14  7C 7C 1B 78 */	mr r28, r3
/* 803B22B8 003ADF18  7C 9D 23 78 */	mr r29, r4
/* 803B22BC 003ADF1C  3B C0 00 00 */	li r30, 0
/* 803B22C0 003ADF20  9B E1 00 09 */	stb r31, 9(r1)
/* 803B22C4 003ADF24  48 00 00 30 */	b lbl_803B22F4
lbl_803B22C8:
/* 803B22C8 003ADF28  7C 7D FA 14 */	add r3, r29, r31
/* 803B22CC 003ADF2C  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803B22D0 003ADF30  28 00 00 10 */	cmplwi r0, 0x10
/* 803B22D4 003ADF34  40 82 00 18 */	bne lbl_803B22EC
/* 803B22D8 003ADF38  7F C3 F3 78 */	mr r3, r30
/* 803B22DC 003ADF3C  48 02 B6 45 */	bl func_803DD920
/* 803B22E0 003ADF40  88 01 00 09 */	lbz r0, 9(r1)
/* 803B22E4 003ADF44  7C 00 1B 78 */	or r0, r0, r3
/* 803B22E8 003ADF48  98 01 00 09 */	stb r0, 9(r1)
lbl_803B22EC:
/* 803B22EC 003ADF4C  3B DE 00 01 */	addi r30, r30, 1
/* 803B22F0 003ADF50  3B FF 00 10 */	addi r31, r31, 0x10
lbl_803B22F4:
/* 803B22F4 003ADF54  7F 83 E3 78 */	mr r3, r28
/* 803B22F8 003ADF58  4B FF A5 69 */	bl func_803AC860
/* 803B22FC 003ADF5C  7C 1E 18 00 */	cmpw r30, r3
/* 803B2300 003ADF60  41 80 FF C8 */	blt lbl_803B22C8
/* 803B2304 003ADF64  7F 83 E3 78 */	mr r3, r28
/* 803B2308 003ADF68  38 C1 00 08 */	addi r6, r1, 8
/* 803B230C 003ADF6C  38 80 00 01 */	li r4, 1
/* 803B2310 003ADF70  38 A0 00 00 */	li r5, 0
/* 803B2314 003ADF74  38 E0 00 04 */	li r7, 4
/* 803B2318 003ADF78  4B FF D2 D9 */	bl func_803AF5F0
/* 803B231C 003ADF7C  39 61 00 20 */	addi r11, r1, 0x20
/* 803B2320 003ADF80  4B E1 4E 59 */	bl _restgpr_28
/* 803B2324 003ADF84  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B2328 003ADF88  7C 08 03 A6 */	mtlr r0
/* 803B232C 003ADF8C  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2330 003ADF90  4E 80 00 20 */	blr 

.global func_803B2334
func_803B2334:
/* 803B2334 003ADF94  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2338 003ADF98  7C 08 02 A6 */	mflr r0
/* 803B233C 003ADF9C  38 80 00 01 */	li r4, 1
/* 803B2340 003ADFA0  38 A0 00 00 */	li r5, 0
/* 803B2344 003ADFA4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2348 003ADFA8  3C 00 3D 00 */	lis r0, 0x3d00
/* 803B234C 003ADFAC  38 C1 00 08 */	addi r6, r1, 8
/* 803B2350 003ADFB0  38 E0 00 04 */	li r7, 4
/* 803B2354 003ADFB4  90 01 00 08 */	stw r0, 8(r1)
/* 803B2358 003ADFB8  4B FF D2 99 */	bl func_803AF5F0
/* 803B235C 003ADFBC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2360 003ADFC0  7C 08 03 A6 */	mtlr r0
/* 803B2364 003ADFC4  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2368 003ADFC8  4E 80 00 20 */	blr 

.global func_803B236C
func_803B236C:
/* 803B236C 003ADFCC  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803B2370 003ADFD0  7C 08 02 A6 */	mflr r0
/* 803B2374 003ADFD4  38 C0 00 3E */	li r6, 0x3e
/* 803B2378 003ADFD8  38 E0 00 00 */	li r7, 0
/* 803B237C 003ADFDC  90 01 00 74 */	stw r0, 0x74(r1)
/* 803B2380 003ADFE0  38 00 00 04 */	li r0, 4
/* 803B2384 003ADFE4  39 41 00 08 */	addi r10, r1, 8
/* 803B2388 003ADFE8  39 00 00 00 */	li r8, 0
/* 803B238C 003ADFEC  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 803B2390 003ADFF0  3B E0 00 00 */	li r31, 0
/* 803B2394 003ADFF4  98 C1 00 08 */	stb r6, 8(r1)
/* 803B2398 003ADFF8  38 C0 00 00 */	li r6, 0
/* 803B239C 003ADFFC  7C 09 03 A6 */	mtctr r0
lbl_803B23A0:
/* 803B23A0 003AE000  7D 84 32 14 */	add r12, r4, r6
/* 803B23A4 003AE004  7D 2A 42 14 */	add r9, r10, r8
/* 803B23A8 003AE008  A0 0C 2D 40 */	lhz r0, 0x2d40(r12)
/* 803B23AC 003AE00C  7D 6A FA 14 */	add r11, r10, r31
/* 803B23B0 003AE010  B0 09 00 18 */	sth r0, 0x18(r9)
/* 803B23B4 003AE014  88 0C 2D 66 */	lbz r0, 0x2d66(r12)
/* 803B23B8 003AE018  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 803B23BC 003AE01C  98 0B 00 24 */	stb r0, 0x24(r11)
/* 803B23C0 003AE020  88 0C 2D 66 */	lbz r0, 0x2d66(r12)
/* 803B23C4 003AE024  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803B23C8 003AE028  98 0B 00 28 */	stb r0, 0x28(r11)
/* 803B23CC 003AE02C  80 0C 2D B0 */	lwz r0, 0x2db0(r12)
/* 803B23D0 003AE030  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803B23D4 003AE034  41 82 00 1C */	beq lbl_803B23F0
/* 803B23D8 003AE038  A0 0C 2D FA */	lhz r0, 0x2dfa(r12)
/* 803B23DC 003AE03C  7D 2A 3A 14 */	add r9, r10, r7
/* 803B23E0 003AE040  98 0B 00 20 */	stb r0, 0x20(r11)
/* 803B23E4 003AE044  80 0C 2D E4 */	lwz r0, 0x2de4(r12)
/* 803B23E8 003AE048  90 09 00 2C */	stw r0, 0x2c(r9)
/* 803B23EC 003AE04C  48 00 00 1C */	b lbl_803B2408
lbl_803B23F0:
/* 803B23F0 003AE050  88 0C 2D BE */	lbz r0, 0x2dbe(r12)
/* 803B23F4 003AE054  7D 2A 3A 14 */	add r9, r10, r7
/* 803B23F8 003AE058  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B23FC 003AE05C  98 0B 00 20 */	stb r0, 0x20(r11)
/* 803B2400 003AE060  80 0C 2D A8 */	lwz r0, 0x2da8(r12)
/* 803B2404 003AE064  90 09 00 2C */	stw r0, 0x2c(r9)
lbl_803B2408:
/* 803B2408 003AE068  3B FF 00 01 */	addi r31, r31, 1
/* 803B240C 003AE06C  38 C6 00 C0 */	addi r6, r6, 0xc0
/* 803B2410 003AE070  38 E7 00 04 */	addi r7, r7, 4
/* 803B2414 003AE074  39 08 00 02 */	addi r8, r8, 2
/* 803B2418 003AE078  42 00 FF 88 */	bdnz lbl_803B23A0
/* 803B241C 003AE07C  38 C1 00 08 */	addi r6, r1, 8
/* 803B2420 003AE080  38 80 00 01 */	li r4, 1
/* 803B2424 003AE084  38 E0 00 58 */	li r7, 0x58
/* 803B2428 003AE088  4B FF D1 C9 */	bl func_803AF5F0
/* 803B242C 003AE08C  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803B2430 003AE090  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 803B2434 003AE094  7C 08 03 A6 */	mtlr r0
/* 803B2438 003AE098  38 21 00 70 */	addi r1, r1, 0x70
/* 803B243C 003AE09C  4E 80 00 20 */	blr 

.global func_803B2440
func_803B2440:
/* 803B2440 003AE0A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2444 003AE0A4  7C 08 02 A6 */	mflr r0
/* 803B2448 003AE0A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B244C 003AE0AC  38 00 00 3F */	li r0, 0x3f
/* 803B2450 003AE0B0  98 01 00 08 */	stb r0, 8(r1)
/* 803B2454 003AE0B4  80 84 21 6C */	lwz r4, 0x216c(r4)
/* 803B2458 003AE0B8  54 80 07 BD */	rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 803B245C 003AE0BC  41 82 00 10 */	beq lbl_803B246C
/* 803B2460 003AE0C0  38 00 00 02 */	li r0, 2
/* 803B2464 003AE0C4  98 01 00 09 */	stb r0, 9(r1)
/* 803B2468 003AE0C8  48 00 00 20 */	b lbl_803B2488
lbl_803B246C:
/* 803B246C 003AE0CC  54 80 07 7B */	rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 803B2470 003AE0D0  41 82 00 10 */	beq lbl_803B2480
/* 803B2474 003AE0D4  38 00 00 01 */	li r0, 1
/* 803B2478 003AE0D8  98 01 00 09 */	stb r0, 9(r1)
/* 803B247C 003AE0DC  48 00 00 0C */	b lbl_803B2488
lbl_803B2480:
/* 803B2480 003AE0E0  38 00 00 00 */	li r0, 0
/* 803B2484 003AE0E4  98 01 00 09 */	stb r0, 9(r1)
lbl_803B2488:
/* 803B2488 003AE0E8  38 C1 00 08 */	addi r6, r1, 8
/* 803B248C 003AE0EC  38 80 00 01 */	li r4, 1
/* 803B2490 003AE0F0  38 E0 00 04 */	li r7, 4
/* 803B2494 003AE0F4  4B FF D1 5D */	bl func_803AF5F0
/* 803B2498 003AE0F8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B249C 003AE0FC  7C 08 03 A6 */	mtlr r0
/* 803B24A0 003AE100  38 21 00 10 */	addi r1, r1, 0x10
/* 803B24A4 003AE104  4E 80 00 20 */	blr 

.global func_803B24A8
func_803B24A8:
/* 803B24A8 003AE108  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B24AC 003AE10C  7C 08 02 A6 */	mflr r0
/* 803B24B0 003AE110  38 E0 00 04 */	li r7, 4
/* 803B24B4 003AE114  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B24B8 003AE118  38 00 00 40 */	li r0, 0x40
/* 803B24BC 003AE11C  38 C1 00 08 */	addi r6, r1, 8
/* 803B24C0 003AE120  B0 A1 00 0A */	sth r5, 0xa(r1)
/* 803B24C4 003AE124  7C 85 23 78 */	mr r5, r4
/* 803B24C8 003AE128  38 80 00 01 */	li r4, 1
/* 803B24CC 003AE12C  98 01 00 08 */	stb r0, 8(r1)
/* 803B24D0 003AE130  4B FF D1 21 */	bl func_803AF5F0
/* 803B24D4 003AE134  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B24D8 003AE138  7C 08 03 A6 */	mtlr r0
/* 803B24DC 003AE13C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B24E0 003AE140  4E 80 00 20 */	blr 

.global func_803B24E4
func_803B24E4:
/* 803B24E4 003AE144  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B24E8 003AE148  7C 08 02 A6 */	mflr r0
/* 803B24EC 003AE14C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B24F0 003AE150  38 00 00 41 */	li r0, 0x41
/* 803B24F4 003AE154  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B24F8 003AE158  7C 7F 1B 78 */	mr r31, r3
/* 803B24FC 003AE15C  98 01 00 08 */	stb r0, 8(r1)
/* 803B2500 003AE160  4B FF B7 D9 */	bl func_803ADCD8
/* 803B2504 003AE164  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B2508 003AE168  7F E3 FB 78 */	mr r3, r31
/* 803B250C 003AE16C  90 01 00 0C */	stw r0, 0xc(r1)
/* 803B2510 003AE170  38 C1 00 08 */	addi r6, r1, 8
/* 803B2514 003AE174  38 80 00 01 */	li r4, 1
/* 803B2518 003AE178  38 A0 00 00 */	li r5, 0
/* 803B251C 003AE17C  38 E0 00 08 */	li r7, 8
/* 803B2520 003AE180  4B FF D0 D1 */	bl func_803AF5F0
/* 803B2524 003AE184  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B2528 003AE188  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B252C 003AE18C  7C 08 03 A6 */	mtlr r0
/* 803B2530 003AE190  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2534 003AE194  4E 80 00 20 */	blr 

.global func_803B2538
func_803B2538:
/* 803B2538 003AE198  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B253C 003AE19C  7C 08 02 A6 */	mflr r0
/* 803B2540 003AE1A0  38 80 00 01 */	li r4, 1
/* 803B2544 003AE1A4  38 A0 00 00 */	li r5, 0
/* 803B2548 003AE1A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B254C 003AE1AC  3C 00 42 00 */	lis r0, 0x4200
/* 803B2550 003AE1B0  38 C1 00 08 */	addi r6, r1, 8
/* 803B2554 003AE1B4  38 E0 00 04 */	li r7, 4
/* 803B2558 003AE1B8  90 01 00 08 */	stw r0, 8(r1)
/* 803B255C 003AE1BC  4B FF D0 95 */	bl func_803AF5F0
/* 803B2560 003AE1C0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2564 003AE1C4  7C 08 03 A6 */	mtlr r0
/* 803B2568 003AE1C8  38 21 00 10 */	addi r1, r1, 0x10
/* 803B256C 003AE1CC  4E 80 00 20 */	blr 

.global func_803B2570
func_803B2570:
/* 803B2570 003AE1D0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B2574 003AE1D4  7C 08 02 A6 */	mflr r0
/* 803B2578 003AE1D8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B257C 003AE1DC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B2580 003AE1E0  7C 9F 23 78 */	mr r31, r4
/* 803B2584 003AE1E4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B2588 003AE1E8  7C 7E 1B 78 */	mr r30, r3
/* 803B258C 003AE1EC  98 A1 00 08 */	stb r5, 8(r1)
/* 803B2590 003AE1F0  48 02 72 B9 */	bl func_803D9848
/* 803B2594 003AE1F4  98 61 00 09 */	stb r3, 9(r1)
/* 803B2598 003AE1F8  7F C3 F3 78 */	mr r3, r30
/* 803B259C 003AE1FC  7F E5 FB 78 */	mr r5, r31
/* 803B25A0 003AE200  38 C1 00 08 */	addi r6, r1, 8
/* 803B25A4 003AE204  38 80 00 02 */	li r4, 2
/* 803B25A8 003AE208  38 E0 00 04 */	li r7, 4
/* 803B25AC 003AE20C  4B FF D0 45 */	bl func_803AF5F0
/* 803B25B0 003AE210  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B25B4 003AE214  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B25B8 003AE218  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B25BC 003AE21C  7C 08 03 A6 */	mtlr r0
/* 803B25C0 003AE220  38 21 00 20 */	addi r1, r1, 0x20
/* 803B25C4 003AE224  4E 80 00 20 */	blr 

.global func_803B25C8
func_803B25C8:
/* 803B25C8 003AE228  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B25CC 003AE22C  7C 08 02 A6 */	mflr r0
/* 803B25D0 003AE230  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B25D4 003AE234  39 61 00 20 */	addi r11, r1, 0x20
/* 803B25D8 003AE238  4B E1 4B 51 */	bl _savegpr_27
/* 803B25DC 003AE23C  38 00 00 16 */	li r0, 0x16
/* 803B25E0 003AE240  B1 45 00 02 */	sth r10, 2(r5)
/* 803B25E4 003AE244  7C 7B 1B 78 */	mr r27, r3
/* 803B25E8 003AE248  7C 9E 23 78 */	mr r30, r4
/* 803B25EC 003AE24C  98 05 00 00 */	stb r0, 0(r5)
/* 803B25F0 003AE250  7C BF 2B 78 */	mr r31, r5
/* 803B25F4 003AE254  7D 1C 43 78 */	mr r28, r8
/* 803B25F8 003AE258  7D 5D 53 78 */	mr r29, r10
/* 803B25FC 003AE25C  B1 05 00 14 */	sth r8, 0x14(r5)
/* 803B2600 003AE260  B1 25 00 16 */	sth r9, 0x16(r5)
/* 803B2604 003AE264  90 C5 00 4C */	stw r6, 0x4c(r5)
/* 803B2608 003AE268  90 E5 00 50 */	stw r7, 0x50(r5)
/* 803B260C 003AE26C  4B FF A7 09 */	bl func_803ACD14
/* 803B2610 003AE270  2C 1E 00 00 */	cmpwi r30, 0
/* 803B2614 003AE274  90 7F 00 54 */	stw r3, 0x54(r31)
/* 803B2618 003AE278  41 82 01 54 */	beq lbl_803B276C
/* 803B261C 003AE27C  80 1E 21 44 */	lwz r0, 0x2144(r30)
/* 803B2620 003AE280  90 1F 00 04 */	stw r0, 4(r31)
/* 803B2624 003AE284  80 1E 21 54 */	lwz r0, 0x2154(r30)
/* 803B2628 003AE288  2C 00 00 00 */	cmpwi r0, 0
/* 803B262C 003AE28C  41 82 00 0C */	beq lbl_803B2638
/* 803B2630 003AE290  B0 1F 00 08 */	sth r0, 8(r31)
/* 803B2634 003AE294  48 00 00 14 */	b lbl_803B2648
lbl_803B2638:
/* 803B2638 003AE298  57 A0 23 36 */	rlwinm r0, r29, 4, 0xc, 0x1b
/* 803B263C 003AE29C  7C 7E 02 14 */	add r3, r30, r0
/* 803B2640 003AE2A0  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803B2644 003AE2A4  B0 1F 00 08 */	sth r0, 8(r31)
lbl_803B2648:
/* 803B2648 003AE2A8  1F BC 00 C0 */	mulli r29, r28, 0xc0
/* 803B264C 003AE2AC  7F 63 DB 78 */	mr r3, r27
/* 803B2650 003AE2B0  7F C4 F3 78 */	mr r4, r30
/* 803B2654 003AE2B4  38 A0 00 08 */	li r5, 8
/* 803B2658 003AE2B8  7C FE EA 14 */	add r7, r30, r29
/* 803B265C 003AE2BC  38 C0 00 00 */	li r6, 0
/* 803B2660 003AE2C0  88 07 2D 75 */	lbz r0, 0x2d75(r7)
/* 803B2664 003AE2C4  38 E0 00 0D */	li r7, 0xd
/* 803B2668 003AE2C8  B0 1F 00 0C */	sth r0, 0xc(r31)
/* 803B266C 003AE2CC  48 00 CD 15 */	bl func_803BF380
/* 803B2670 003AE2D0  2C 03 00 00 */	cmpwi r3, 0
/* 803B2674 003AE2D4  40 82 00 30 */	bne lbl_803B26A4
/* 803B2678 003AE2D8  7F 63 DB 78 */	mr r3, r27
/* 803B267C 003AE2DC  7F C4 F3 78 */	mr r4, r30
/* 803B2680 003AE2E0  38 A0 00 08 */	li r5, 8
/* 803B2684 003AE2E4  38 C0 00 00 */	li r6, 0
/* 803B2688 003AE2E8  38 E0 00 4C */	li r7, 0x4c
/* 803B268C 003AE2EC  48 00 CC F5 */	bl func_803BF380
/* 803B2690 003AE2F0  2C 03 00 00 */	cmpwi r3, 0
/* 803B2694 003AE2F4  40 82 00 10 */	bne lbl_803B26A4
/* 803B2698 003AE2F8  80 1E 01 80 */	lwz r0, 0x180(r30)
/* 803B269C 003AE2FC  90 1F 00 10 */	stw r0, 0x10(r31)
/* 803B26A0 003AE300  48 00 00 0C */	b lbl_803B26AC
lbl_803B26A4:
/* 803B26A4 003AE304  38 00 00 00 */	li r0, 0
/* 803B26A8 003AE308  90 1F 00 10 */	stw r0, 0x10(r31)
lbl_803B26AC:
/* 803B26AC 003AE30C  80 7E 21 64 */	lwz r3, 0x2164(r30)
/* 803B26B0 003AE310  7D 3E EA 14 */	add r9, r30, r29
/* 803B26B4 003AE314  A1 1F 00 0E */	lhz r8, 0xe(r31)
/* 803B26B8 003AE318  38 00 00 04 */	li r0, 4
/* 803B26BC 003AE31C  B0 7F 00 0A */	sth r3, 0xa(r31)
/* 803B26C0 003AE320  38 60 00 00 */	li r3, 0
/* 803B26C4 003AE324  38 80 00 00 */	li r4, 0
/* 803B26C8 003AE328  38 A0 00 00 */	li r5, 0
/* 803B26CC 003AE32C  80 E9 2D B0 */	lwz r7, 0x2db0(r9)
/* 803B26D0 003AE330  38 C0 00 00 */	li r6, 0
/* 803B26D4 003AE334  50 E8 BC 20 */	rlwimi r8, r7, 0x17, 0x10, 0x10
/* 803B26D8 003AE338  B1 1F 00 0E */	sth r8, 0xe(r31)
/* 803B26DC 003AE33C  80 E9 2D B0 */	lwz r7, 0x2db0(r9)
/* 803B26E0 003AE340  50 E8 CC 62 */	rlwimi r8, r7, 0x19, 0x11, 0x11
/* 803B26E4 003AE344  B1 1F 00 0E */	sth r8, 0xe(r31)
/* 803B26E8 003AE348  7C 09 03 A6 */	mtctr r0
lbl_803B26EC:
/* 803B26EC 003AE34C  7D 3E 22 14 */	add r9, r30, r4
/* 803B26F0 003AE350  7C FF 32 14 */	add r7, r31, r6
/* 803B26F4 003AE354  A0 09 2D 40 */	lhz r0, 0x2d40(r9)
/* 803B26F8 003AE358  7D 1F 1A 14 */	add r8, r31, r3
/* 803B26FC 003AE35C  7D 5F 2A 14 */	add r10, r31, r5
/* 803B2700 003AE360  B0 07 00 18 */	sth r0, 0x18(r7)
/* 803B2704 003AE364  88 09 2D 66 */	lbz r0, 0x2d66(r9)
/* 803B2708 003AE368  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 803B270C 003AE36C  98 08 00 24 */	stb r0, 0x24(r8)
/* 803B2710 003AE370  88 09 2D 66 */	lbz r0, 0x2d66(r9)
/* 803B2714 003AE374  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803B2718 003AE378  98 08 00 28 */	stb r0, 0x28(r8)
/* 803B271C 003AE37C  80 09 2D C0 */	lwz r0, 0x2dc0(r9)
/* 803B2720 003AE380  90 0A 00 3C */	stw r0, 0x3c(r10)
/* 803B2724 003AE384  80 09 2D B0 */	lwz r0, 0x2db0(r9)
/* 803B2728 003AE388  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803B272C 003AE38C  41 82 00 18 */	beq lbl_803B2744
/* 803B2730 003AE390  A0 09 2D FA */	lhz r0, 0x2dfa(r9)
/* 803B2734 003AE394  98 08 00 20 */	stb r0, 0x20(r8)
/* 803B2738 003AE398  80 09 2D E4 */	lwz r0, 0x2de4(r9)
/* 803B273C 003AE39C  90 0A 00 2C */	stw r0, 0x2c(r10)
/* 803B2740 003AE3A0  48 00 00 18 */	b lbl_803B2758
lbl_803B2744:
/* 803B2744 003AE3A4  88 09 2D BE */	lbz r0, 0x2dbe(r9)
/* 803B2748 003AE3A8  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 803B274C 003AE3AC  98 08 00 20 */	stb r0, 0x20(r8)
/* 803B2750 003AE3B0  80 09 2D A8 */	lwz r0, 0x2da8(r9)
/* 803B2754 003AE3B4  90 0A 00 2C */	stw r0, 0x2c(r10)
lbl_803B2758:
/* 803B2758 003AE3B8  38 63 00 01 */	addi r3, r3, 1
/* 803B275C 003AE3BC  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803B2760 003AE3C0  38 A5 00 04 */	addi r5, r5, 4
/* 803B2764 003AE3C4  38 C6 00 02 */	addi r6, r6, 2
/* 803B2768 003AE3C8  42 00 FF 84 */	bdnz lbl_803B26EC
lbl_803B276C:
/* 803B276C 003AE3CC  39 61 00 20 */	addi r11, r1, 0x20
/* 803B2770 003AE3D0  4B E1 4A 05 */	bl _restgpr_27
/* 803B2774 003AE3D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B2778 003AE3D8  7C 08 03 A6 */	mtlr r0
/* 803B277C 003AE3DC  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2780 003AE3E0  4E 80 00 20 */	blr 

.global func_803B2784
func_803B2784:
/* 803B2784 003AE3E4  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B2788 003AE3E8  7C 08 02 A6 */	mflr r0
/* 803B278C 003AE3EC  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B2790 003AE3F0  39 61 00 40 */	addi r11, r1, 0x40
/* 803B2794 003AE3F4  4B E1 49 79 */	bl _savegpr_20
/* 803B2798 003AE3F8  7C BE 2B 78 */	mr r30, r5
/* 803B279C 003AE3FC  7C 7C 1B 78 */	mr r28, r3
/* 803B27A0 003AE400  7C 9D 23 78 */	mr r29, r4
/* 803B27A4 003AE404  7C D4 33 78 */	mr r20, r6
/* 803B27A8 003AE408  7C FF 3B 78 */	mr r31, r7
/* 803B27AC 003AE40C  7F C3 F3 78 */	mr r3, r30
/* 803B27B0 003AE410  38 80 00 00 */	li r4, 0
/* 803B27B4 003AE414  38 A0 00 08 */	li r5, 8
/* 803B27B8 003AE418  4B C5 19 4D */	bl memset
/* 803B27BC 003AE41C  7F 83 E3 78 */	mr r3, r28
/* 803B27C0 003AE420  4B FF A0 81 */	bl func_803AC840
/* 803B27C4 003AE424  54 60 07 3A */	rlwinm r0, r3, 0, 0x1c, 0x1d
/* 803B27C8 003AE428  9A 9E 00 00 */	stb r20, 0(r30)
/* 803B27CC 003AE42C  28 00 00 0C */	cmplwi r0, 0xc
/* 803B27D0 003AE430  7C 79 1B 78 */	mr r25, r3
/* 803B27D4 003AE434  41 82 00 44 */	beq lbl_803B2818
/* 803B27D8 003AE438  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803B27DC 003AE43C  41 82 00 18 */	beq lbl_803B27F4
/* 803B27E0 003AE440  7F 83 E3 78 */	mr r3, r28
/* 803B27E4 003AE444  7F E4 FB 78 */	mr r4, r31
/* 803B27E8 003AE448  4B FF A4 FD */	bl func_803ACCE4
/* 803B27EC 003AE44C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B27F0 003AE450  40 82 00 28 */	bne lbl_803B2818
lbl_803B27F4:
/* 803B27F4 003AE454  28 19 00 4B */	cmplwi r25, 0x4b
/* 803B27F8 003AE458  40 82 00 18 */	bne lbl_803B2810
/* 803B27FC 003AE45C  7F 83 E3 78 */	mr r3, r28
/* 803B2800 003AE460  7F E4 FB 78 */	mr r4, r31
/* 803B2804 003AE464  4B FF A4 E1 */	bl func_803ACCE4
/* 803B2808 003AE468  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B280C 003AE46C  40 82 00 0C */	bne lbl_803B2818
lbl_803B2810:
/* 803B2810 003AE470  28 19 00 CB */	cmplwi r25, 0xcb
/* 803B2814 003AE474  40 82 01 F0 */	bne lbl_803B2A04
lbl_803B2818:
/* 803B2818 003AE478  7F 83 E3 78 */	mr r3, r28
/* 803B281C 003AE47C  7F E4 FB 78 */	mr r4, r31
/* 803B2820 003AE480  4B FF A4 B5 */	bl func_803ACCD4
/* 803B2824 003AE484  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B2828 003AE488  28 00 00 02 */	cmplwi r0, 2
/* 803B282C 003AE48C  41 82 00 1C */	beq lbl_803B2848
/* 803B2830 003AE490  7F 83 E3 78 */	mr r3, r28
/* 803B2834 003AE494  7F E4 FB 78 */	mr r4, r31
/* 803B2838 003AE498  4B FF A4 9D */	bl func_803ACCD4
/* 803B283C 003AE49C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B2840 003AE4A0  28 00 00 03 */	cmplwi r0, 3
/* 803B2844 003AE4A4  40 82 00 1C */	bne lbl_803B2860
lbl_803B2848:
/* 803B2848 003AE4A8  7F F7 FB 78 */	mr r23, r31
/* 803B284C 003AE4AC  7F 83 E3 78 */	mr r3, r28
/* 803B2850 003AE4B0  7F E4 FB 78 */	mr r4, r31
/* 803B2854 003AE4B4  4B FF A4 E5 */	bl func_803ACD38
/* 803B2858 003AE4B8  7C 7F 1B 78 */	mr r31, r3
/* 803B285C 003AE4BC  48 00 00 14 */	b lbl_803B2870
lbl_803B2860:
/* 803B2860 003AE4C0  7F 83 E3 78 */	mr r3, r28
/* 803B2864 003AE4C4  7F E4 FB 78 */	mr r4, r31
/* 803B2868 003AE4C8  4B FF A4 D1 */	bl func_803ACD38
/* 803B286C 003AE4CC  7C 77 1B 78 */	mr r23, r3
lbl_803B2870:
/* 803B2870 003AE4D0  7F 83 E3 78 */	mr r3, r28
/* 803B2874 003AE4D4  7E E4 BB 78 */	mr r4, r23
/* 803B2878 003AE4D8  4B FF 9F F1 */	bl func_803AC868
/* 803B287C 003AE4DC  1C 17 00 06 */	mulli r0, r23, 6
/* 803B2880 003AE4E0  7C 75 1B 78 */	mr r21, r3
/* 803B2884 003AE4E4  3A C0 00 00 */	li r22, 0
/* 803B2888 003AE4E8  3A E0 00 00 */	li r23, 0
/* 803B288C 003AE4EC  7F 1D 02 14 */	add r24, r29, r0
/* 803B2890 003AE4F0  3B 60 00 02 */	li r27, 2
/* 803B2894 003AE4F4  3B 40 00 01 */	li r26, 1
/* 803B2898 003AE4F8  3B 20 00 03 */	li r25, 3
/* 803B289C 003AE4FC  48 00 00 8C */	b lbl_803B2928
lbl_803B28A0:
/* 803B28A0 003AE500  7C 98 BA 14 */	add r4, r24, r23
/* 803B28A4 003AE504  7E A3 AB 78 */	mr r3, r21
/* 803B28A8 003AE508  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B28AC 003AE50C  48 02 C0 A1 */	bl func_803DE94C
/* 803B28B0 003AE510  7C 74 1B 78 */	mr r20, r3
/* 803B28B4 003AE514  38 80 00 AD */	li r4, 0xad
/* 803B28B8 003AE518  38 A0 00 00 */	li r5, 0
/* 803B28BC 003AE51C  48 02 B1 21 */	bl func_803DD9DC
/* 803B28C0 003AE520  2C 03 00 00 */	cmpwi r3, 0
/* 803B28C4 003AE524  41 82 00 60 */	beq lbl_803B2924
/* 803B28C8 003AE528  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B28CC 003AE52C  41 82 00 58 */	beq lbl_803B2924
/* 803B28D0 003AE530  7E 83 A3 78 */	mr r3, r20
/* 803B28D4 003AE534  38 80 00 A2 */	li r4, 0xa2
/* 803B28D8 003AE538  38 A0 00 00 */	li r5, 0
/* 803B28DC 003AE53C  48 02 B1 01 */	bl func_803DD9DC
/* 803B28E0 003AE540  2C 03 00 00 */	cmpwi r3, 0
/* 803B28E4 003AE544  41 82 00 34 */	beq lbl_803B2918
/* 803B28E8 003AE548  7E 83 A3 78 */	mr r3, r20
/* 803B28EC 003AE54C  38 80 00 9F */	li r4, 0x9f
/* 803B28F0 003AE550  38 A0 00 00 */	li r5, 0
/* 803B28F4 003AE554  48 02 B0 E9 */	bl func_803DD9DC
/* 803B28F8 003AE558  2C 03 00 00 */	cmpwi r3, 0
/* 803B28FC 003AE55C  41 82 00 10 */	beq lbl_803B290C
/* 803B2900 003AE560  7C 7E B2 14 */	add r3, r30, r22
/* 803B2904 003AE564  9B 23 00 02 */	stb r25, 2(r3)
/* 803B2908 003AE568  48 00 00 18 */	b lbl_803B2920
lbl_803B290C:
/* 803B290C 003AE56C  7C 7E B2 14 */	add r3, r30, r22
/* 803B2910 003AE570  9B 43 00 02 */	stb r26, 2(r3)
/* 803B2914 003AE574  48 00 00 0C */	b lbl_803B2920
lbl_803B2918:
/* 803B2918 003AE578  7C 7E B2 14 */	add r3, r30, r22
/* 803B291C 003AE57C  9B 63 00 02 */	stb r27, 2(r3)
lbl_803B2920:
/* 803B2920 003AE580  3A D6 00 01 */	addi r22, r22, 1
lbl_803B2924:
/* 803B2924 003AE584  3A F7 00 01 */	addi r23, r23, 1
lbl_803B2928:
/* 803B2928 003AE588  7E A3 AB 78 */	mr r3, r21
/* 803B292C 003AE58C  48 02 C0 19 */	bl func_803DE944
/* 803B2930 003AE590  7C 17 18 00 */	cmpw r23, r3
/* 803B2934 003AE594  41 80 FF 6C */	blt lbl_803B28A0
/* 803B2938 003AE598  7F 83 E3 78 */	mr r3, r28
/* 803B293C 003AE59C  7F E4 FB 78 */	mr r4, r31
/* 803B2940 003AE5A0  4B FF 9F 29 */	bl func_803AC868
/* 803B2944 003AE5A4  1C 1F 00 06 */	mulli r0, r31, 6
/* 803B2948 003AE5A8  7C 78 1B 78 */	mr r24, r3
/* 803B294C 003AE5AC  3B 40 00 03 */	li r26, 3
/* 803B2950 003AE5B0  3B 60 00 00 */	li r27, 0
/* 803B2954 003AE5B4  7F 3D 02 14 */	add r25, r29, r0
/* 803B2958 003AE5B8  3B 80 00 02 */	li r28, 2
/* 803B295C 003AE5BC  3B A0 00 01 */	li r29, 1
/* 803B2960 003AE5C0  3B E0 00 03 */	li r31, 3
/* 803B2964 003AE5C4  48 00 00 8C */	b lbl_803B29F0
lbl_803B2968:
/* 803B2968 003AE5C8  7C 99 DA 14 */	add r4, r25, r27
/* 803B296C 003AE5CC  7F 03 C3 78 */	mr r3, r24
/* 803B2970 003AE5D0  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B2974 003AE5D4  48 02 BF D9 */	bl func_803DE94C
/* 803B2978 003AE5D8  7C 77 1B 78 */	mr r23, r3
/* 803B297C 003AE5DC  38 80 00 AD */	li r4, 0xad
/* 803B2980 003AE5E0  38 A0 00 00 */	li r5, 0
/* 803B2984 003AE5E4  48 02 B0 59 */	bl func_803DD9DC
/* 803B2988 003AE5E8  2C 03 00 00 */	cmpwi r3, 0
/* 803B298C 003AE5EC  41 82 00 60 */	beq lbl_803B29EC
/* 803B2990 003AE5F0  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B2994 003AE5F4  41 82 00 58 */	beq lbl_803B29EC
/* 803B2998 003AE5F8  7E E3 BB 78 */	mr r3, r23
/* 803B299C 003AE5FC  38 80 00 A2 */	li r4, 0xa2
/* 803B29A0 003AE600  38 A0 00 00 */	li r5, 0
/* 803B29A4 003AE604  48 02 B0 39 */	bl func_803DD9DC
/* 803B29A8 003AE608  2C 03 00 00 */	cmpwi r3, 0
/* 803B29AC 003AE60C  41 82 00 34 */	beq lbl_803B29E0
/* 803B29B0 003AE610  7E E3 BB 78 */	mr r3, r23
/* 803B29B4 003AE614  38 80 00 9F */	li r4, 0x9f
/* 803B29B8 003AE618  38 A0 00 00 */	li r5, 0
/* 803B29BC 003AE61C  48 02 B0 21 */	bl func_803DD9DC
/* 803B29C0 003AE620  2C 03 00 00 */	cmpwi r3, 0
/* 803B29C4 003AE624  41 82 00 10 */	beq lbl_803B29D4
/* 803B29C8 003AE628  7C 7E D2 14 */	add r3, r30, r26
/* 803B29CC 003AE62C  9B E3 00 02 */	stb r31, 2(r3)
/* 803B29D0 003AE630  48 00 00 18 */	b lbl_803B29E8
lbl_803B29D4:
/* 803B29D4 003AE634  7C 7E D2 14 */	add r3, r30, r26
/* 803B29D8 003AE638  9B A3 00 02 */	stb r29, 2(r3)
/* 803B29DC 003AE63C  48 00 00 0C */	b lbl_803B29E8
lbl_803B29E0:
/* 803B29E0 003AE640  7C 7E D2 14 */	add r3, r30, r26
/* 803B29E4 003AE644  9B 83 00 02 */	stb r28, 2(r3)
lbl_803B29E8:
/* 803B29E8 003AE648  3B 5A 00 01 */	addi r26, r26, 1
lbl_803B29EC:
/* 803B29EC 003AE64C  3B 7B 00 01 */	addi r27, r27, 1
lbl_803B29F0:
/* 803B29F0 003AE650  7F 03 C3 78 */	mr r3, r24
/* 803B29F4 003AE654  48 02 BF 51 */	bl func_803DE944
/* 803B29F8 003AE658  7C 1B 18 00 */	cmpw r27, r3
/* 803B29FC 003AE65C  41 80 FF 6C */	blt lbl_803B2968
/* 803B2A00 003AE660  48 00 00 E0 */	b lbl_803B2AE0
lbl_803B2A04:
/* 803B2A04 003AE664  57 20 07 BD */	rlwinm. r0, r25, 0, 0x1e, 0x1e
/* 803B2A08 003AE668  41 82 00 10 */	beq lbl_803B2A18
/* 803B2A0C 003AE66C  57 20 07 39 */	rlwinm. r0, r25, 0, 0x1c, 0x1c
/* 803B2A10 003AE670  40 82 00 08 */	bne lbl_803B2A18
/* 803B2A14 003AE674  57 FF 07 FE */	clrlwi r31, r31, 0x1f
lbl_803B2A18:
/* 803B2A18 003AE678  7F 83 E3 78 */	mr r3, r28
/* 803B2A1C 003AE67C  7F E4 FB 78 */	mr r4, r31
/* 803B2A20 003AE680  4B FF 9E 49 */	bl func_803AC868
/* 803B2A24 003AE684  1C 1F 00 06 */	mulli r0, r31, 6
/* 803B2A28 003AE688  7C 78 1B 78 */	mr r24, r3
/* 803B2A2C 003AE68C  3B 40 00 00 */	li r26, 0
/* 803B2A30 003AE690  3B 60 00 00 */	li r27, 0
/* 803B2A34 003AE694  7F 3D 02 14 */	add r25, r29, r0
/* 803B2A38 003AE698  3B 80 00 02 */	li r28, 2
/* 803B2A3C 003AE69C  3B A0 00 01 */	li r29, 1
/* 803B2A40 003AE6A0  3B E0 00 03 */	li r31, 3
/* 803B2A44 003AE6A4  48 00 00 8C */	b lbl_803B2AD0
lbl_803B2A48:
/* 803B2A48 003AE6A8  7C 99 DA 14 */	add r4, r25, r27
/* 803B2A4C 003AE6AC  7F 03 C3 78 */	mr r3, r24
/* 803B2A50 003AE6B0  88 84 31 2C */	lbz r4, 0x312c(r4)
/* 803B2A54 003AE6B4  48 02 BE F9 */	bl func_803DE94C
/* 803B2A58 003AE6B8  7C 77 1B 78 */	mr r23, r3
/* 803B2A5C 003AE6BC  38 80 00 AD */	li r4, 0xad
/* 803B2A60 003AE6C0  38 A0 00 00 */	li r5, 0
/* 803B2A64 003AE6C4  48 02 AF 79 */	bl func_803DD9DC
/* 803B2A68 003AE6C8  2C 03 00 00 */	cmpwi r3, 0
/* 803B2A6C 003AE6CC  41 82 00 60 */	beq lbl_803B2ACC
/* 803B2A70 003AE6D0  2C 03 01 EE */	cmpwi r3, 0x1ee
/* 803B2A74 003AE6D4  41 82 00 58 */	beq lbl_803B2ACC
/* 803B2A78 003AE6D8  7E E3 BB 78 */	mr r3, r23
/* 803B2A7C 003AE6DC  38 80 00 A2 */	li r4, 0xa2
/* 803B2A80 003AE6E0  38 A0 00 00 */	li r5, 0
/* 803B2A84 003AE6E4  48 02 AF 59 */	bl func_803DD9DC
/* 803B2A88 003AE6E8  2C 03 00 00 */	cmpwi r3, 0
/* 803B2A8C 003AE6EC  41 82 00 34 */	beq lbl_803B2AC0
/* 803B2A90 003AE6F0  7E E3 BB 78 */	mr r3, r23
/* 803B2A94 003AE6F4  38 80 00 9F */	li r4, 0x9f
/* 803B2A98 003AE6F8  38 A0 00 00 */	li r5, 0
/* 803B2A9C 003AE6FC  48 02 AF 41 */	bl func_803DD9DC
/* 803B2AA0 003AE700  2C 03 00 00 */	cmpwi r3, 0
/* 803B2AA4 003AE704  41 82 00 10 */	beq lbl_803B2AB4
/* 803B2AA8 003AE708  7C 7E D2 14 */	add r3, r30, r26
/* 803B2AAC 003AE70C  9B E3 00 02 */	stb r31, 2(r3)
/* 803B2AB0 003AE710  48 00 00 18 */	b lbl_803B2AC8
lbl_803B2AB4:
/* 803B2AB4 003AE714  7C 7E D2 14 */	add r3, r30, r26
/* 803B2AB8 003AE718  9B A3 00 02 */	stb r29, 2(r3)
/* 803B2ABC 003AE71C  48 00 00 0C */	b lbl_803B2AC8
lbl_803B2AC0:
/* 803B2AC0 003AE720  7C 7E D2 14 */	add r3, r30, r26
/* 803B2AC4 003AE724  9B 83 00 02 */	stb r28, 2(r3)
lbl_803B2AC8:
/* 803B2AC8 003AE728  3B 5A 00 01 */	addi r26, r26, 1
lbl_803B2ACC:
/* 803B2ACC 003AE72C  3B 7B 00 01 */	addi r27, r27, 1
lbl_803B2AD0:
/* 803B2AD0 003AE730  7F 03 C3 78 */	mr r3, r24
/* 803B2AD4 003AE734  48 02 BE 71 */	bl func_803DE944
/* 803B2AD8 003AE738  7C 1B 18 00 */	cmpw r27, r3
/* 803B2ADC 003AE73C  41 80 FF 6C */	blt lbl_803B2A48
lbl_803B2AE0:
/* 803B2AE0 003AE740  39 61 00 40 */	addi r11, r1, 0x40
/* 803B2AE4 003AE744  4B E1 46 75 */	bl _restgpr_20
/* 803B2AE8 003AE748  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B2AEC 003AE74C  7C 08 03 A6 */	mtlr r0
/* 803B2AF0 003AE750  38 21 00 40 */	addi r1, r1, 0x40
/* 803B2AF4 003AE754  4E 80 00 20 */	blr 

.global func_803B2AF8
func_803B2AF8:
/* 803B2AF8 003AE758  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2AFC 003AE75C  7C 08 02 A6 */	mflr r0
/* 803B2B00 003AE760  38 80 4C 5C */	li r4, 0x4c5c
/* 803B2B04 003AE764  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2B08 003AE768  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2B0C 003AE76C  93 C1 00 08 */	stw r30, 8(r1)
/* 803B2B10 003AE770  7C 7E 1B 78 */	mr r30, r3
/* 803B2B14 003AE774  38 60 00 05 */	li r3, 5
/* 803B2B18 003AE778  4B DB B4 59 */	bl func_8016DF70
/* 803B2B1C 003AE77C  7C 7F 1B 78 */	mr r31, r3
/* 803B2B20 003AE780  38 80 00 00 */	li r4, 0
/* 803B2B24 003AE784  38 A0 4C 5C */	li r5, 0x4c5c
/* 803B2B28 003AE788  4B C5 15 DD */	bl memset
/* 803B2B2C 003AE78C  7F E3 FB 78 */	mr r3, r31
/* 803B2B30 003AE790  48 00 AB F9 */	bl func_803BD728
/* 803B2B34 003AE794  7F C3 F3 78 */	mr r3, r30
/* 803B2B38 003AE798  7F E4 FB 78 */	mr r4, r31
/* 803B2B3C 003AE79C  48 00 AD 05 */	bl func_803BD840
/* 803B2B40 003AE7A0  38 C0 00 00 */	li r6, 0
/* 803B2B44 003AE7A4  38 80 00 FF */	li r4, 0xff
/* 803B2B48 003AE7A8  38 00 00 04 */	li r0, 4
lbl_803B2B4C:
/* 803B2B4C 003AE7AC  54 C3 15 BA */	rlwinm r3, r6, 2, 0x16, 0x1d
/* 803B2B50 003AE7B0  38 E0 00 00 */	li r7, 0
/* 803B2B54 003AE7B4  7C BF 1A 14 */	add r5, r31, r3
/* 803B2B58 003AE7B8  7C 09 03 A6 */	mtctr r0
lbl_803B2B5C:
/* 803B2B5C 003AE7BC  54 E3 06 3E */	clrlwi r3, r7, 0x18
/* 803B2B60 003AE7C0  38 E7 00 01 */	addi r7, r7, 1
/* 803B2B64 003AE7C4  7C 65 1A 14 */	add r3, r5, r3
/* 803B2B68 003AE7C8  98 83 31 4C */	stb r4, 0x314c(r3)
/* 803B2B6C 003AE7CC  42 00 FF F0 */	bdnz lbl_803B2B5C
/* 803B2B70 003AE7D0  38 C6 00 01 */	addi r6, r6, 1
/* 803B2B74 003AE7D4  28 06 00 04 */	cmplwi r6, 4
/* 803B2B78 003AE7D8  41 80 FF D4 */	blt lbl_803B2B4C
/* 803B2B7C 003AE7DC  39 20 00 00 */	li r9, 0
/* 803B2B80 003AE7E0  38 A0 00 00 */	li r5, 0
/* 803B2B84 003AE7E4  38 C0 FF FF */	li r6, -1
/* 803B2B88 003AE7E8  38 00 00 1C */	li r0, 0x1c
/* 803B2B8C 003AE7EC  38 60 00 04 */	li r3, 4
lbl_803B2B90:
/* 803B2B90 003AE7F0  55 24 06 3E */	clrlwi r4, r9, 0x18
/* 803B2B94 003AE7F4  39 40 00 00 */	li r10, 0
/* 803B2B98 003AE7F8  1C 84 01 B0 */	mulli r4, r4, 0x1b0
/* 803B2B9C 003AE7FC  7C FF 22 14 */	add r7, r31, r4
lbl_803B2BA0:
/* 803B2BA0 003AE800  55 44 06 3E */	clrlwi r4, r10, 0x18
/* 803B2BA4 003AE804  39 60 00 00 */	li r11, 0
/* 803B2BA8 003AE808  1C 84 00 48 */	mulli r4, r4, 0x48
/* 803B2BAC 003AE80C  7D 07 22 14 */	add r8, r7, r4
/* 803B2BB0 003AE810  B0 C8 31 5C */	sth r6, 0x315c(r8)
/* 803B2BB4 003AE814  98 A8 31 5E */	stb r5, 0x315e(r8)
/* 803B2BB8 003AE818  98 A8 31 5F */	stb r5, 0x315f(r8)
/* 803B2BBC 003AE81C  7C 69 03 A6 */	mtctr r3
lbl_803B2BC0:
/* 803B2BC0 003AE820  55 64 0D FC */	rlwinm r4, r11, 1, 0x17, 0x1e
/* 803B2BC4 003AE824  39 6B 00 01 */	addi r11, r11, 1
/* 803B2BC8 003AE828  7C 88 22 14 */	add r4, r8, r4
/* 803B2BCC 003AE82C  B0 A4 31 60 */	sth r5, 0x3160(r4)
/* 803B2BD0 003AE830  42 00 FF F0 */	bdnz lbl_803B2BC0
/* 803B2BD4 003AE834  39 60 00 00 */	li r11, 0
/* 803B2BD8 003AE838  7C 09 03 A6 */	mtctr r0
lbl_803B2BDC:
/* 803B2BDC 003AE83C  55 64 0D FC */	rlwinm r4, r11, 1, 0x17, 0x1e
/* 803B2BE0 003AE840  39 6B 00 01 */	addi r11, r11, 1
/* 803B2BE4 003AE844  7C 88 22 14 */	add r4, r8, r4
/* 803B2BE8 003AE848  B0 A4 31 68 */	sth r5, 0x3168(r4)
/* 803B2BEC 003AE84C  42 00 FF F0 */	bdnz lbl_803B2BDC
/* 803B2BF0 003AE850  39 4A 00 01 */	addi r10, r10, 1
/* 803B2BF4 003AE854  98 A8 31 A0 */	stb r5, 0x31a0(r8)
/* 803B2BF8 003AE858  28 0A 00 06 */	cmplwi r10, 6
/* 803B2BFC 003AE85C  41 80 FF A4 */	blt lbl_803B2BA0
/* 803B2C00 003AE860  39 29 00 01 */	addi r9, r9, 1
/* 803B2C04 003AE864  28 09 00 04 */	cmplwi r9, 4
/* 803B2C08 003AE868  41 80 FF 88 */	blt lbl_803B2B90
/* 803B2C0C 003AE86C  38 7F 03 DE */	addi r3, r31, 0x3de
/* 803B2C10 003AE870  48 02 BD AD */	bl func_803DE9BC
/* 803B2C14 003AE874  38 60 00 05 */	li r3, 5
/* 803B2C18 003AE878  48 02 69 91 */	bl func_803D95A8
/* 803B2C1C 003AE87C  90 7F 21 20 */	stw r3, 0x2120(r31)
/* 803B2C20 003AE880  7F E3 FB 78 */	mr r3, r31
/* 803B2C24 003AE884  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2C28 003AE888  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B2C2C 003AE88C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2C30 003AE890  7C 08 03 A6 */	mtlr r0
/* 803B2C34 003AE894  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2C38 003AE898  4E 80 00 20 */	blr 

.global func_803B2C3C
func_803B2C3C:
/* 803B2C3C 003AE89C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2C40 003AE8A0  7C 08 02 A6 */	mflr r0
/* 803B2C44 003AE8A4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2C48 003AE8A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2C4C 003AE8AC  7C 9F 23 78 */	mr r31, r4
/* 803B2C50 003AE8B0  93 C1 00 08 */	stw r30, 8(r1)
/* 803B2C54 003AE8B4  7C 7E 1B 78 */	mr r30, r3
/* 803B2C58 003AE8B8  88 04 31 1F */	lbz r0, 0x311f(r4)
/* 803B2C5C 003AE8BC  2C 00 00 00 */	cmpwi r0, 0
/* 803B2C60 003AE8C0  40 82 00 28 */	bne lbl_803B2C88
/* 803B2C64 003AE8C4  4B FF B0 75 */	bl func_803ADCD8
/* 803B2C68 003AE8C8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B2C6C 003AE8CC  41 82 00 1C */	beq lbl_803B2C88
/* 803B2C70 003AE8D0  7F C3 F3 78 */	mr r3, r30
/* 803B2C74 003AE8D4  4B FF B0 65 */	bl func_803ADCD8
/* 803B2C78 003AE8D8  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803B2C7C 003AE8DC  40 82 00 0C */	bne lbl_803B2C88
/* 803B2C80 003AE8E0  38 00 00 29 */	li r0, 0x29
/* 803B2C84 003AE8E4  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B2C88:
/* 803B2C88 003AE8E8  80 1F 00 08 */	lwz r0, 8(r31)
/* 803B2C8C 003AE8EC  3C A0 80 40 */	lis r5, lbl_80405178@ha
/* 803B2C90 003AE8F0  38 A5 51 78 */	addi r5, r5, lbl_80405178@l
/* 803B2C94 003AE8F4  7F C3 F3 78 */	mr r3, r30
/* 803B2C98 003AE8F8  54 00 10 3A */	slwi r0, r0, 2
/* 803B2C9C 003AE8FC  7F E4 FB 78 */	mr r4, r31
/* 803B2CA0 003AE900  7D 85 00 2E */	lwzx r12, r5, r0
/* 803B2CA4 003AE904  7D 89 03 A6 */	mtctr r12
/* 803B2CA8 003AE908  4E 80 04 21 */	bctrl 
/* 803B2CAC 003AE90C  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B2CB0 003AE910  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2CB4 003AE914  38 03 FF D5 */	addi r0, r3, -43
/* 803B2CB8 003AE918  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B2CBC 003AE91C  7C 00 00 34 */	cntlzw r0, r0
/* 803B2CC0 003AE920  54 03 D9 7E */	srwi r3, r0, 5
/* 803B2CC4 003AE924  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2CC8 003AE928  7C 08 03 A6 */	mtlr r0
/* 803B2CCC 003AE92C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2CD0 003AE930  4E 80 00 20 */	blr 

.global func_803B2CD4
func_803B2CD4:
/* 803B2CD4 003AE934  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2CD8 003AE938  7C 08 02 A6 */	mflr r0
/* 803B2CDC 003AE93C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2CE0 003AE940  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2CE4 003AE944  7C 7F 1B 78 */	mr r31, r3
/* 803B2CE8 003AE948  80 63 21 20 */	lwz r3, 0x2120(r3)
/* 803B2CEC 003AE94C  4B DB B3 B5 */	bl func_8016E0A0
/* 803B2CF0 003AE950  7F E3 FB 78 */	mr r3, r31
/* 803B2CF4 003AE954  4B DB B3 AD */	bl func_8016E0A0
/* 803B2CF8 003AE958  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2CFC 003AE95C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2D00 003AE960  7C 08 03 A6 */	mtlr r0
/* 803B2D04 003AE964  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2D08 003AE968  4E 80 00 20 */	blr 

.global func_803B2D0C
func_803B2D0C:
/* 803B2D0C 003AE96C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B2D10 003AE970  7C 08 02 A6 */	mflr r0
/* 803B2D14 003AE974  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B2D18 003AE978  39 61 00 20 */	addi r11, r1, 0x20
/* 803B2D1C 003AE97C  4B E1 44 0D */	bl _savegpr_27
/* 803B2D20 003AE980  7C 7B 1B 78 */	mr r27, r3
/* 803B2D24 003AE984  7C 9C 23 78 */	mr r28, r4
/* 803B2D28 003AE988  7C BD 2B 78 */	mr r29, r5
/* 803B2D2C 003AE98C  7C DE 33 78 */	mr r30, r6
/* 803B2D30 003AE990  7C FF 3B 78 */	mr r31, r7
/* 803B2D34 003AE994  48 00 36 01 */	bl func_803B6334
/* 803B2D38 003AE998  7F 63 DB 78 */	mr r3, r27
/* 803B2D3C 003AE99C  7F 84 E3 78 */	mr r4, r28
/* 803B2D40 003AE9A0  7F A5 EB 78 */	mr r5, r29
/* 803B2D44 003AE9A4  7F C6 F3 78 */	mr r6, r30
/* 803B2D48 003AE9A8  7F E7 FB 78 */	mr r7, r31
/* 803B2D4C 003AE9AC  48 00 3A 89 */	bl func_803B67D4
/* 803B2D50 003AE9B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803B2D54 003AE9B4  4B E1 44 21 */	bl _restgpr_27
/* 803B2D58 003AE9B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B2D5C 003AE9BC  7C 08 03 A6 */	mtlr r0
/* 803B2D60 003AE9C0  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2D64 003AE9C4  4E 80 00 20 */	blr 
/* 803B2D68 003AE9C8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B2D6C 003AE9CC  7C 08 02 A6 */	mflr r0
/* 803B2D70 003AE9D0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B2D74 003AE9D4  39 61 00 20 */	addi r11, r1, 0x20
/* 803B2D78 003AE9D8  4B E1 43 B5 */	bl _savegpr_28
/* 803B2D7C 003AE9DC  7C 7C 1B 78 */	mr r28, r3
/* 803B2D80 003AE9E0  7C 9D 23 78 */	mr r29, r4
/* 803B2D84 003AE9E4  4B FF 9A DD */	bl func_803AC860
/* 803B2D88 003AE9E8  7C 7F 1B 78 */	mr r31, r3
/* 803B2D8C 003AE9EC  3B C0 00 00 */	li r30, 0
/* 803B2D90 003AE9F0  48 00 00 20 */	b lbl_803B2DB0
lbl_803B2D94:
/* 803B2D94 003AE9F4  7C 9D F2 14 */	add r4, r29, r30
/* 803B2D98 003AE9F8  7F 83 E3 78 */	mr r3, r28
/* 803B2D9C 003AE9FC  88 C4 21 9C */	lbz r6, 0x219c(r4)
/* 803B2DA0 003AEA00  7F A4 EB 78 */	mr r4, r29
/* 803B2DA4 003AEA04  7F C5 F3 78 */	mr r5, r30
/* 803B2DA8 003AEA08  48 00 75 B9 */	bl func_803BA360
/* 803B2DAC 003AEA0C  3B DE 00 01 */	addi r30, r30, 1
lbl_803B2DB0:
/* 803B2DB0 003AEA10  7C 1E F8 00 */	cmpw r30, r31
/* 803B2DB4 003AEA14  41 80 FF E0 */	blt lbl_803B2D94
/* 803B2DB8 003AEA18  80 7D 2E 4C */	lwz r3, 0x2e4c(r29)
/* 803B2DBC 003AEA1C  38 00 00 01 */	li r0, 1
/* 803B2DC0 003AEA20  90 1D 00 08 */	stw r0, 8(r29)
/* 803B2DC4 003AEA24  39 61 00 20 */	addi r11, r1, 0x20
/* 803B2DC8 003AEA28  B0 7D 31 22 */	sth r3, 0x3122(r29)
/* 803B2DCC 003AEA2C  4B E1 43 AD */	bl _restgpr_28
/* 803B2DD0 003AEA30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B2DD4 003AEA34  7C 08 03 A6 */	mtlr r0
/* 803B2DD8 003AEA38  38 21 00 20 */	addi r1, r1, 0x20
/* 803B2DDC 003AEA3C  4E 80 00 20 */	blr 
/* 803B2DE0 003AEA40  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2DE4 003AEA44  7C 08 02 A6 */	mflr r0
/* 803B2DE8 003AEA48  38 A0 00 00 */	li r5, 0
/* 803B2DEC 003AEA4C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2DF0 003AEA50  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2DF4 003AEA54  7C 9F 23 78 */	mr r31, r4
/* 803B2DF8 003AEA58  38 80 00 02 */	li r4, 2
/* 803B2DFC 003AEA5C  7F E3 FB 78 */	mr r3, r31
/* 803B2E00 003AEA60  48 00 7B D5 */	bl func_803BA9D4
/* 803B2E04 003AEA64  38 60 00 15 */	li r3, 0x15
/* 803B2E08 003AEA68  38 00 00 02 */	li r0, 2
/* 803B2E0C 003AEA6C  90 7F 00 08 */	stw r3, 8(r31)
/* 803B2E10 003AEA70  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B2E14 003AEA74  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2E18 003AEA78  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2E1C 003AEA7C  7C 08 03 A6 */	mtlr r0
/* 803B2E20 003AEA80  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2E24 003AEA84  4E 80 00 20 */	blr 
/* 803B2E28 003AEA88  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2E2C 003AEA8C  7C 08 02 A6 */	mflr r0
/* 803B2E30 003AEA90  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2E34 003AEA94  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2E38 003AEA98  7C 9F 23 78 */	mr r31, r4
/* 803B2E3C 003AEA9C  93 C1 00 08 */	stw r30, 8(r1)
/* 803B2E40 003AEAA0  7C 7E 1B 78 */	mr r30, r3
/* 803B2E44 003AEAA4  48 00 A6 29 */	bl func_803BD46C
/* 803B2E48 003AEAA8  2C 03 00 00 */	cmpwi r3, 0
/* 803B2E4C 003AEAAC  41 82 00 28 */	beq lbl_803B2E74
/* 803B2E50 003AEAB0  7F E3 FB 78 */	mr r3, r31
/* 803B2E54 003AEAB4  38 80 00 02 */	li r4, 2
/* 803B2E58 003AEAB8  38 A0 00 29 */	li r5, 0x29
/* 803B2E5C 003AEABC  48 00 7B 79 */	bl func_803BA9D4
/* 803B2E60 003AEAC0  38 60 00 15 */	li r3, 0x15
/* 803B2E64 003AEAC4  38 00 00 03 */	li r0, 3
/* 803B2E68 003AEAC8  90 7F 00 08 */	stw r3, 8(r31)
/* 803B2E6C 003AEACC  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B2E70 003AEAD0  48 00 00 0C */	b lbl_803B2E7C
lbl_803B2E74:
/* 803B2E74 003AEAD4  38 00 00 03 */	li r0, 3
/* 803B2E78 003AEAD8  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B2E7C:
/* 803B2E7C 003AEADC  7F C3 F3 78 */	mr r3, r30
/* 803B2E80 003AEAE0  7F E4 FB 78 */	mr r4, r31
/* 803B2E84 003AEAE4  48 00 D6 41 */	bl func_803C04C4
/* 803B2E88 003AEAE8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2E8C 003AEAEC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2E90 003AEAF0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B2E94 003AEAF4  7C 08 03 A6 */	mtlr r0
/* 803B2E98 003AEAF8  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2E9C 003AEAFC  4E 80 00 20 */	blr 
/* 803B2EA0 003AEB00  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2EA4 003AEB04  7C 08 02 A6 */	mflr r0
/* 803B2EA8 003AEB08  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2EAC 003AEB0C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2EB0 003AEB10  7C 9F 23 78 */	mr r31, r4
/* 803B2EB4 003AEB14  93 C1 00 08 */	stw r30, 8(r1)
/* 803B2EB8 003AEB18  7C 7E 1B 78 */	mr r30, r3
/* 803B2EBC 003AEB1C  48 00 DC D1 */	bl func_803C0B8C
/* 803B2EC0 003AEB20  2C 03 00 00 */	cmpwi r3, 0
/* 803B2EC4 003AEB24  7C 65 1B 78 */	mr r5, r3
/* 803B2EC8 003AEB28  41 82 00 24 */	beq lbl_803B2EEC
/* 803B2ECC 003AEB2C  7F E3 FB 78 */	mr r3, r31
/* 803B2ED0 003AEB30  38 80 00 02 */	li r4, 2
/* 803B2ED4 003AEB34  48 00 7B 01 */	bl func_803BA9D4
/* 803B2ED8 003AEB38  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B2EDC 003AEB3C  38 00 00 15 */	li r0, 0x15
/* 803B2EE0 003AEB40  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B2EE4 003AEB44  90 1F 00 08 */	stw r0, 8(r31)
/* 803B2EE8 003AEB48  48 00 00 20 */	b lbl_803B2F08
lbl_803B2EEC:
/* 803B2EEC 003AEB4C  7F C3 F3 78 */	mr r3, r30
/* 803B2EF0 003AEB50  7F E4 FB 78 */	mr r4, r31
/* 803B2EF4 003AEB54  48 00 D5 D1 */	bl func_803C04C4
/* 803B2EF8 003AEB58  38 00 00 04 */	li r0, 4
/* 803B2EFC 003AEB5C  38 60 00 08 */	li r3, 8
/* 803B2F00 003AEB60  90 1F 00 08 */	stw r0, 8(r31)
/* 803B2F04 003AEB64  4B DB B3 E1 */	bl func_8016E2E4
lbl_803B2F08:
/* 803B2F08 003AEB68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2F0C 003AEB6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2F10 003AEB70  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B2F14 003AEB74  7C 08 03 A6 */	mtlr r0
/* 803B2F18 003AEB78  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2F1C 003AEB7C  4E 80 00 20 */	blr 
/* 803B2F20 003AEB80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B2F24 003AEB84  7C 08 02 A6 */	mflr r0
/* 803B2F28 003AEB88  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B2F2C 003AEB8C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B2F30 003AEB90  7C 9F 23 78 */	mr r31, r4
/* 803B2F34 003AEB94  93 C1 00 08 */	stw r30, 8(r1)
/* 803B2F38 003AEB98  7C 7E 1B 78 */	mr r30, r3
/* 803B2F3C 003AEB9C  4B FF 99 25 */	bl func_803AC860
/* 803B2F40 003AEBA0  7F E5 FB 78 */	mr r5, r31
/* 803B2F44 003AEBA4  38 80 00 00 */	li r4, 0
/* 803B2F48 003AEBA8  38 C0 00 00 */	li r6, 0
/* 803B2F4C 003AEBAC  7C 69 03 A6 */	mtctr r3
/* 803B2F50 003AEBB0  2C 03 00 00 */	cmpwi r3, 0
/* 803B2F54 003AEBB4  40 81 00 20 */	ble lbl_803B2F74
lbl_803B2F58:
/* 803B2F58 003AEBB8  98 C5 00 00 */	stb r6, 0(r5)
/* 803B2F5C 003AEBBC  7C 7F 22 14 */	add r3, r31, r4
/* 803B2F60 003AEBC0  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803B2F64 003AEBC4  38 A5 00 01 */	addi r5, r5, 1
/* 803B2F68 003AEBC8  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B2F6C 003AEBCC  90 03 2D C4 */	stw r0, 0x2dc4(r3)
/* 803B2F70 003AEBD0  42 00 FF E8 */	bdnz lbl_803B2F58
lbl_803B2F74:
/* 803B2F74 003AEBD4  7F C3 F3 78 */	mr r3, r30
/* 803B2F78 003AEBD8  4B DC 9F 61 */	bl func_8017CED8
/* 803B2F7C 003AEBDC  38 60 00 0F */	li r3, 0xf
/* 803B2F80 003AEBE0  4B DB B3 65 */	bl func_8016E2E4
/* 803B2F84 003AEBE4  7F C3 F3 78 */	mr r3, r30
/* 803B2F88 003AEBE8  38 80 00 00 */	li r4, 0
/* 803B2F8C 003AEBEC  4B FF AD 2D */	bl func_803ADCB8
/* 803B2F90 003AEBF0  38 00 00 05 */	li r0, 5
/* 803B2F94 003AEBF4  90 1F 00 08 */	stw r0, 8(r31)
/* 803B2F98 003AEBF8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B2F9C 003AEBFC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B2FA0 003AEC00  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B2FA4 003AEC04  7C 08 03 A6 */	mtlr r0
/* 803B2FA8 003AEC08  38 21 00 10 */	addi r1, r1, 0x10
/* 803B2FAC 003AEC0C  4E 80 00 20 */	blr 
/* 803B2FB0 003AEC10  94 21 FE E0 */	stwu r1, -0x120(r1)
/* 803B2FB4 003AEC14  7C 08 02 A6 */	mflr r0
/* 803B2FB8 003AEC18  90 01 01 24 */	stw r0, 0x124(r1)
/* 803B2FBC 003AEC1C  39 61 01 20 */	addi r11, r1, 0x120
/* 803B2FC0 003AEC20  4B E1 41 35 */	bl __save_gpr
/* 803B2FC4 003AEC24  7C 7B 1B 78 */	mr r27, r3
/* 803B2FC8 003AEC28  7C 9C 23 78 */	mr r28, r4
/* 803B2FCC 003AEC2C  4B FF 98 95 */	bl func_803AC860
/* 803B2FD0 003AEC30  7C 73 1B 78 */	mr r19, r3
/* 803B2FD4 003AEC34  7F 63 DB 78 */	mr r3, r27
/* 803B2FD8 003AEC38  4B FF 98 69 */	bl func_803AC840
/* 803B2FDC 003AEC3C  54 60 05 AC */	rlwinm r0, r3, 0, 0x16, 0x16
/* 803B2FE0 003AEC40  3B A0 00 00 */	li r29, 0
/* 803B2FE4 003AEC44  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 803B2FE8 003AEC48  54 60 06 B4 */	rlwinm r0, r3, 0, 0x1a, 0x1a
/* 803B2FEC 003AEC4C  54 72 07 BC */	rlwinm r18, r3, 0, 0x1e, 0x1e
/* 803B2FF0 003AEC50  54 71 07 38 */	rlwinm r17, r3, 0, 0x1c, 0x1c
/* 803B2FF4 003AEC54  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 803B2FF8 003AEC58  54 60 04 20 */	rlwinm r0, r3, 0, 0x10, 0x10
/* 803B2FFC 003AEC5C  54 70 06 7E */	clrlwi r16, r3, 0x19
/* 803B3000 003AEC60  3B C0 00 00 */	li r30, 0
/* 803B3004 003AEC64  90 01 00 A0 */	stw r0, 0xa0(r1)
/* 803B3008 003AEC68  54 60 03 DE */	rlwinm r0, r3, 0, 0xf, 0xf
/* 803B300C 003AEC6C  3B 40 00 00 */	li r26, 0
/* 803B3010 003AEC70  3B 20 00 00 */	li r25, 0
/* 803B3014 003AEC74  93 A1 00 AC */	stw r29, 0xac(r1)
/* 803B3018 003AEC78  3B 00 00 00 */	li r24, 0
/* 803B301C 003AEC7C  3A E0 00 00 */	li r23, 0
/* 803B3020 003AEC80  3A C0 00 00 */	li r22, 0
/* 803B3024 003AEC84  93 A1 00 B0 */	stw r29, 0xb0(r1)
/* 803B3028 003AEC88  39 C0 00 02 */	li r14, 2
/* 803B302C 003AEC8C  3A 80 00 10 */	li r20, 0x10
/* 803B3030 003AEC90  3A A0 00 0C */	li r21, 0xc
/* 803B3034 003AEC94  93 A1 00 B8 */	stw r29, 0xb8(r1)
/* 803B3038 003AEC98  93 A1 00 BC */	stw r29, 0xbc(r1)
/* 803B303C 003AEC9C  93 A1 00 CC */	stw r29, 0xcc(r1)
/* 803B3040 003AECA0  93 A1 00 C8 */	stw r29, 0xc8(r1)
/* 803B3044 003AECA4  93 A1 00 C4 */	stw r29, 0xc4(r1)
/* 803B3048 003AECA8  93 A1 00 C0 */	stw r29, 0xc0(r1)
/* 803B304C 003AECAC  93 A1 00 B4 */	stw r29, 0xb4(r1)
/* 803B3050 003AECB0  90 01 00 9C */	stw r0, 0x9c(r1)
/* 803B3054 003AECB4  48 00 09 74 */	b lbl_803B39C8
lbl_803B3058:
/* 803B3058 003AECB8  7C 1C F0 AE */	lbzx r0, r28, r30
/* 803B305C 003AECBC  7F FC F2 14 */	add r31, r28, r30
/* 803B3060 003AECC0  28 00 00 10 */	cmplwi r0, 0x10
/* 803B3064 003AECC4  41 81 09 4C */	bgt lbl_803B39B0
/* 803B3068 003AECC8  3C 60 80 47 */	lis r3, lbl_80473330@ha
/* 803B306C 003AECCC  54 00 10 3A */	slwi r0, r0, 2
/* 803B3070 003AECD0  38 63 33 30 */	addi r3, r3, lbl_80473330@l
/* 803B3074 003AECD4  7C 63 00 2E */	lwzx r3, r3, r0
/* 803B3078 003AECD8  7C 69 03 A6 */	mtctr r3
/* 803B307C 003AECDC  4E 80 04 20 */	bctr 
/* 803B3080 003AECE0  2C 12 00 00 */	cmpwi r18, 0
/* 803B3084 003AECE4  41 82 00 34 */	beq lbl_803B30B8
/* 803B3088 003AECE8  2C 11 00 00 */	cmpwi r17, 0
/* 803B308C 003AECEC  40 82 00 2C */	bne lbl_803B30B8
/* 803B3090 003AECF0  2C 1E 00 02 */	cmpwi r30, 2
/* 803B3094 003AECF4  40 82 00 10 */	bne lbl_803B30A4
/* 803B3098 003AECF8  88 1C 00 00 */	lbz r0, 0(r28)
/* 803B309C 003AECFC  28 00 00 0D */	cmplwi r0, 0xd
/* 803B30A0 003AED00  40 82 09 10 */	bne lbl_803B39B0
lbl_803B30A4:
/* 803B30A4 003AED04  2C 1E 00 03 */	cmpwi r30, 3
/* 803B30A8 003AED08  40 82 00 10 */	bne lbl_803B30B8
/* 803B30AC 003AED0C  88 1C 00 01 */	lbz r0, 1(r28)
/* 803B30B0 003AED10  28 00 00 0D */	cmplwi r0, 0xd
/* 803B30B4 003AED14  40 82 08 FC */	bne lbl_803B39B0
lbl_803B30B8:
/* 803B30B8 003AED18  7F C3 F3 78 */	mr r3, r30
/* 803B30BC 003AED1C  48 02 A8 65 */	bl func_803DD920
/* 803B30C0 003AED20  88 1C 31 08 */	lbz r0, 0x3108(r28)
/* 803B30C4 003AED24  7C 00 18 39 */	and. r0, r0, r3
/* 803B30C8 003AED28  41 82 00 18 */	beq lbl_803B30E0
/* 803B30CC 003AED2C  9A BF 00 00 */	stb r21, 0(r31)
/* 803B30D0 003AED30  7C 7C BA 14 */	add r3, r28, r23
/* 803B30D4 003AED34  38 00 00 27 */	li r0, 0x27
/* 803B30D8 003AED38  90 03 21 A8 */	stw r0, 0x21a8(r3)
/* 803B30DC 003AED3C  48 00 08 D4 */	b lbl_803B39B0
lbl_803B30E0:
/* 803B30E0 003AED40  7F 83 E3 78 */	mr r3, r28
/* 803B30E4 003AED44  7F C4 F3 78 */	mr r4, r30
/* 803B30E8 003AED48  48 01 29 11 */	bl func_803C59F8
/* 803B30EC 003AED4C  2C 03 00 00 */	cmpwi r3, 0
/* 803B30F0 003AED50  40 82 00 28 */	bne lbl_803B3118
/* 803B30F4 003AED54  7C 9C C2 14 */	add r4, r28, r24
/* 803B30F8 003AED58  7C 7C BA 14 */	add r3, r28, r23
/* 803B30FC 003AED5C  80 04 01 D4 */	lwz r0, 0x1d4(r4)
/* 803B3100 003AED60  64 00 40 00 */	oris r0, r0, 0x4000
/* 803B3104 003AED64  90 04 01 D4 */	stw r0, 0x1d4(r4)
/* 803B3108 003AED68  38 00 00 0D */	li r0, 0xd
/* 803B310C 003AED6C  9A BF 00 00 */	stb r21, 0(r31)
/* 803B3110 003AED70  90 03 21 A8 */	stw r0, 0x21a8(r3)
/* 803B3114 003AED74  48 00 08 9C */	b lbl_803B39B0
lbl_803B3118:
/* 803B3118 003AED78  88 DF 21 9C */	lbz r6, 0x219c(r31)
/* 803B311C 003AED7C  7F 63 DB 78 */	mr r3, r27
/* 803B3120 003AED80  7F 84 E3 78 */	mr r4, r28
/* 803B3124 003AED84  7F C5 F3 78 */	mr r5, r30
/* 803B3128 003AED88  4B FF D0 DD */	bl func_803B0204
/* 803B312C 003AED8C  38 00 00 01 */	li r0, 1
/* 803B3130 003AED90  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3134 003AED94  7F 83 E3 78 */	mr r3, r28
/* 803B3138 003AED98  7F C4 F3 78 */	mr r4, r30
/* 803B313C 003AED9C  48 01 28 F9 */	bl func_803C5A34
/* 803B3140 003AEDA0  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B3144 003AEDA4  41 82 08 6C */	beq lbl_803B39B0
/* 803B3148 003AEDA8  80 01 00 A8 */	lwz r0, 0xa8(r1)
/* 803B314C 003AEDAC  7C 7C D2 14 */	add r3, r28, r26
/* 803B3150 003AEDB0  7D FC BA 14 */	add r15, r28, r23
/* 803B3154 003AEDB4  2C 00 00 00 */	cmpwi r0, 0
/* 803B3158 003AEDB8  88 03 23 00 */	lbz r0, 0x2300(r3)
/* 803B315C 003AEDBC  90 0F 21 B4 */	stw r0, 0x21b4(r15)
/* 803B3160 003AEDC0  41 82 00 50 */	beq lbl_803B31B0
/* 803B3164 003AEDC4  7F 83 E3 78 */	mr r3, r28
/* 803B3168 003AEDC8  7F C4 F3 78 */	mr r4, r30
/* 803B316C 003AEDCC  48 01 28 C9 */	bl func_803C5A34
/* 803B3170 003AEDD0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B3174 003AEDD4  2C 00 00 04 */	cmpwi r0, 4
/* 803B3178 003AEDD8  41 82 00 28 */	beq lbl_803B31A0
/* 803B317C 003AEDDC  40 80 08 34 */	bge lbl_803B39B0
/* 803B3180 003AEDE0  2C 00 00 01 */	cmpwi r0, 1
/* 803B3184 003AEDE4  41 82 00 08 */	beq lbl_803B318C
/* 803B3188 003AEDE8  48 00 08 28 */	b lbl_803B39B0
lbl_803B318C:
/* 803B318C 003AEDEC  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B3190 003AEDF0  38 00 00 11 */	li r0, 0x11
/* 803B3194 003AEDF4  9A BF 00 04 */	stb r21, 4(r31)
/* 803B3198 003AEDF8  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B319C 003AEDFC  48 00 08 14 */	b lbl_803B39B0
lbl_803B31A0:
/* 803B31A0 003AEE00  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B31A4 003AEE04  9A BF 00 04 */	stb r21, 4(r31)
/* 803B31A8 003AEE08  92 8F 21 A8 */	stw r20, 0x21a8(r15)
/* 803B31AC 003AEE0C  48 00 08 04 */	b lbl_803B39B0
lbl_803B31B0:
/* 803B31B0 003AEE10  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 803B31B4 003AEE14  2C 00 00 00 */	cmpwi r0, 0
/* 803B31B8 003AEE18  41 82 00 9C */	beq lbl_803B3254
/* 803B31BC 003AEE1C  7F 83 E3 78 */	mr r3, r28
/* 803B31C0 003AEE20  7F C4 F3 78 */	mr r4, r30
/* 803B31C4 003AEE24  48 01 28 71 */	bl func_803C5A34
/* 803B31C8 003AEE28  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B31CC 003AEE2C  2C 00 00 03 */	cmpwi r0, 3
/* 803B31D0 003AEE30  41 82 00 50 */	beq lbl_803B3220
/* 803B31D4 003AEE34  40 80 00 14 */	bge lbl_803B31E8
/* 803B31D8 003AEE38  2C 00 00 01 */	cmpwi r0, 1
/* 803B31DC 003AEE3C  41 82 00 1C */	beq lbl_803B31F8
/* 803B31E0 003AEE40  40 80 00 2C */	bge lbl_803B320C
/* 803B31E4 003AEE44  48 00 07 CC */	b lbl_803B39B0
lbl_803B31E8:
/* 803B31E8 003AEE48  2C 00 00 05 */	cmpwi r0, 5
/* 803B31EC 003AEE4C  41 82 00 58 */	beq lbl_803B3244
/* 803B31F0 003AEE50  40 80 07 C0 */	bge lbl_803B39B0
/* 803B31F4 003AEE54  48 00 00 40 */	b lbl_803B3234
lbl_803B31F8:
/* 803B31F8 003AEE58  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B31FC 003AEE5C  38 00 00 11 */	li r0, 0x11
/* 803B3200 003AEE60  9A BF 00 04 */	stb r21, 4(r31)
/* 803B3204 003AEE64  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B3208 003AEE68  48 00 07 A8 */	b lbl_803B39B0
lbl_803B320C:
/* 803B320C 003AEE6C  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B3210 003AEE70  38 00 00 12 */	li r0, 0x12
/* 803B3214 003AEE74  9A BF 00 04 */	stb r21, 4(r31)
/* 803B3218 003AEE78  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B321C 003AEE7C  48 00 07 94 */	b lbl_803B39B0
lbl_803B3220:
/* 803B3220 003AEE80  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B3224 003AEE84  38 00 00 13 */	li r0, 0x13
/* 803B3228 003AEE88  9A BF 00 04 */	stb r21, 4(r31)
/* 803B322C 003AEE8C  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B3230 003AEE90  48 00 07 80 */	b lbl_803B39B0
lbl_803B3234:
/* 803B3234 003AEE94  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B3238 003AEE98  9A BF 00 04 */	stb r21, 4(r31)
/* 803B323C 003AEE9C  92 8F 21 A8 */	stw r20, 0x21a8(r15)
/* 803B3240 003AEEA0  48 00 07 70 */	b lbl_803B39B0
lbl_803B3244:
/* 803B3244 003AEEA4  9A BF 00 00 */	stb r21, 0(r31)
/* 803B3248 003AEEA8  38 00 00 14 */	li r0, 0x14
/* 803B324C 003AEEAC  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B3250 003AEEB0  48 00 07 60 */	b lbl_803B39B0
lbl_803B3254:
/* 803B3254 003AEEB4  7F 83 E3 78 */	mr r3, r28
/* 803B3258 003AEEB8  7F C4 F3 78 */	mr r4, r30
/* 803B325C 003AEEBC  48 01 27 D9 */	bl func_803C5A34
/* 803B3260 003AEEC0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B3264 003AEEC4  2C 00 00 04 */	cmpwi r0, 4
/* 803B3268 003AEEC8  41 82 01 3C */	beq lbl_803B33A4
/* 803B326C 003AEECC  40 80 00 1C */	bge lbl_803B3288
/* 803B3270 003AEED0  2C 00 00 02 */	cmpwi r0, 2
/* 803B3274 003AEED4  41 82 00 98 */	beq lbl_803B330C
/* 803B3278 003AEED8  40 80 01 18 */	bge lbl_803B3390
/* 803B327C 003AEEDC  2C 00 00 01 */	cmpwi r0, 1
/* 803B3280 003AEEE0  40 80 00 14 */	bge lbl_803B3294
/* 803B3284 003AEEE4  48 00 07 2C */	b lbl_803B39B0
lbl_803B3288:
/* 803B3288 003AEEE8  2C 00 00 FF */	cmpwi r0, 0xff
/* 803B328C 003AEEEC  41 82 01 28 */	beq lbl_803B33B4
/* 803B3290 003AEEF0  48 00 07 20 */	b lbl_803B39B0
lbl_803B3294:
/* 803B3294 003AEEF4  7F 63 DB 78 */	mr r3, r27
/* 803B3298 003AEEF8  7F 84 E3 78 */	mr r4, r28
/* 803B329C 003AEEFC  7F C5 F3 78 */	mr r5, r30
/* 803B32A0 003AEF00  38 C0 00 00 */	li r6, 0
/* 803B32A4 003AEF04  38 E0 FF FF */	li r7, -1
/* 803B32A8 003AEF08  48 00 AE 55 */	bl func_803BE0FC
/* 803B32AC 003AEF0C  2C 03 00 0F */	cmpwi r3, 0xf
/* 803B32B0 003AEF10  40 82 00 14 */	bne lbl_803B32C4
/* 803B32B4 003AEF14  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B32B8 003AEF18  38 00 00 0F */	li r0, 0xf
/* 803B32BC 003AEF1C  98 1F 00 04 */	stb r0, 4(r31)
/* 803B32C0 003AEF20  48 00 00 40 */	b lbl_803B3300
lbl_803B32C4:
/* 803B32C4 003AEF24  7C 9C CA 14 */	add r4, r28, r25
/* 803B32C8 003AEF28  A0 04 2D EC */	lhz r0, 0x2dec(r4)
/* 803B32CC 003AEF2C  2C 00 00 00 */	cmpwi r0, 0
/* 803B32D0 003AEF30  41 82 00 2C */	beq lbl_803B32FC
/* 803B32D4 003AEF34  A0 04 2D EE */	lhz r0, 0x2dee(r4)
/* 803B32D8 003AEF38  7C 7C B2 14 */	add r3, r28, r22
/* 803B32DC 003AEF3C  B0 03 30 BC */	sth r0, 0x30bc(r3)
/* 803B32E0 003AEF40  A0 04 2D EC */	lhz r0, 0x2dec(r4)
/* 803B32E4 003AEF44  B0 03 30 B4 */	sth r0, 0x30b4(r3)
/* 803B32E8 003AEF48  80 01 00 AC */	lwz r0, 0xac(r1)
/* 803B32EC 003AEF4C  90 0F 21 B0 */	stw r0, 0x21b0(r15)
/* 803B32F0 003AEF50  9A 9F 00 00 */	stb r20, 0(r31)
/* 803B32F4 003AEF54  9A BF 00 04 */	stb r21, 4(r31)
/* 803B32F8 003AEF58  48 00 00 08 */	b lbl_803B3300
lbl_803B32FC:
/* 803B32FC 003AEF5C  99 DF 00 00 */	stb r14, 0(r31)
lbl_803B3300:
/* 803B3300 003AEF60  38 00 00 0D */	li r0, 0xd
/* 803B3304 003AEF64  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B3308 003AEF68  48 00 06 A8 */	b lbl_803B39B0
lbl_803B330C:
/* 803B330C 003AEF6C  7F 63 DB 78 */	mr r3, r27
/* 803B3310 003AEF70  4B FF 95 31 */	bl func_803AC840
/* 803B3314 003AEF74  70 60 00 84 */	andi. r0, r3, 0x84
/* 803B3318 003AEF78  41 82 00 64 */	beq lbl_803B337C
/* 803B331C 003AEF7C  38 00 02 51 */	li r0, 0x251
/* 803B3320 003AEF80  38 C1 00 4C */	addi r6, r1, 0x4c
/* 803B3324 003AEF84  B0 01 00 76 */	sth r0, 0x76(r1)
/* 803B3328 003AEF88  38 81 00 70 */	addi r4, r1, 0x70
/* 803B332C 003AEF8C  80 01 00 B0 */	lwz r0, 0xb0(r1)
/* 803B3330 003AEF90  98 01 00 75 */	stb r0, 0x75(r1)
/* 803B3334 003AEF94  38 00 00 04 */	li r0, 4
/* 803B3338 003AEF98  7C 09 03 A6 */	mtctr r0
lbl_803B333C:
/* 803B333C 003AEF9C  80 64 00 04 */	lwz r3, 4(r4)
/* 803B3340 003AEFA0  84 04 00 08 */	lwzu r0, 8(r4)
/* 803B3344 003AEFA4  90 66 00 04 */	stw r3, 4(r6)
/* 803B3348 003AEFA8  94 06 00 08 */	stwu r0, 8(r6)
/* 803B334C 003AEFAC  42 00 FF F0 */	bdnz lbl_803B333C
/* 803B3350 003AEFB0  80 04 00 04 */	lwz r0, 4(r4)
/* 803B3354 003AEFB4  7F 63 DB 78 */	mr r3, r27
/* 803B3358 003AEFB8  7F C4 F3 78 */	mr r4, r30
/* 803B335C 003AEFBC  38 A1 00 50 */	addi r5, r1, 0x50
/* 803B3360 003AEFC0  90 06 00 04 */	stw r0, 4(r6)
/* 803B3364 003AEFC4  4B FF E4 F5 */	bl func_803B1858
/* 803B3368 003AEFC8  38 00 00 0E */	li r0, 0xe
/* 803B336C 003AEFCC  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3370 003AEFD0  80 01 00 B4 */	lwz r0, 0xb4(r1)
/* 803B3374 003AEFD4  98 1F 00 04 */	stb r0, 4(r31)
/* 803B3378 003AEFD8  48 00 06 38 */	b lbl_803B39B0
lbl_803B337C:
/* 803B337C 003AEFDC  38 00 00 0E */	li r0, 0xe
/* 803B3380 003AEFE0  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B3384 003AEFE4  38 00 00 06 */	li r0, 6
/* 803B3388 003AEFE8  98 1F 00 00 */	stb r0, 0(r31)
/* 803B338C 003AEFEC  48 00 06 24 */	b lbl_803B39B0
lbl_803B3390:
/* 803B3390 003AEFF0  38 00 00 0F */	li r0, 0xf
/* 803B3394 003AEFF4  90 0F 21 A8 */	stw r0, 0x21a8(r15)
/* 803B3398 003AEFF8  38 00 00 08 */	li r0, 8
/* 803B339C 003AEFFC  98 1F 00 00 */	stb r0, 0(r31)
/* 803B33A0 003AF000  48 00 06 10 */	b lbl_803B39B0
lbl_803B33A4:
/* 803B33A4 003AF004  92 8F 21 A8 */	stw r20, 0x21a8(r15)
/* 803B33A8 003AF008  38 00 00 0A */	li r0, 0xa
/* 803B33AC 003AF00C  98 1F 00 00 */	stb r0, 0(r31)
/* 803B33B0 003AF010  48 00 06 00 */	b lbl_803B39B0
lbl_803B33B4:
/* 803B33B4 003AF014  80 01 00 A0 */	lwz r0, 0xa0(r1)
/* 803B33B8 003AF018  2C 00 00 00 */	cmpwi r0, 0
/* 803B33BC 003AF01C  40 82 00 10 */	bne lbl_803B33CC
/* 803B33C0 003AF020  80 01 00 9C */	lwz r0, 0x9c(r1)
/* 803B33C4 003AF024  2C 00 00 00 */	cmpwi r0, 0
/* 803B33C8 003AF028  41 82 00 30 */	beq lbl_803B33F8
lbl_803B33CC:
/* 803B33CC 003AF02C  7F 63 DB 78 */	mr r3, r27
/* 803B33D0 003AF030  7F C4 F3 78 */	mr r4, r30
/* 803B33D4 003AF034  4B FF E8 55 */	bl func_803B1C28
/* 803B33D8 003AF038  80 01 00 B8 */	lwz r0, 0xb8(r1)
/* 803B33DC 003AF03C  7F 63 DB 78 */	mr r3, r27
/* 803B33E0 003AF040  7F C4 F3 78 */	mr r4, r30
/* 803B33E4 003AF044  98 1F 00 00 */	stb r0, 0(r31)
/* 803B33E8 003AF048  4B FF 99 51 */	bl func_803ACD38
/* 803B33EC 003AF04C  80 01 00 BC */	lwz r0, 0xbc(r1)
/* 803B33F0 003AF050  7C 1C 19 AE */	stbx r0, r28, r3
/* 803B33F4 003AF054  48 00 05 BC */	b lbl_803B39B0
lbl_803B33F8:
/* 803B33F8 003AF058  2C 12 00 00 */	cmpwi r18, 0
/* 803B33FC 003AF05C  41 82 05 B4 */	beq lbl_803B39B0
/* 803B3400 003AF060  2C 1E 00 02 */	cmpwi r30, 2
/* 803B3404 003AF064  40 82 05 AC */	bne lbl_803B39B0
/* 803B3408 003AF068  7F 63 DB 78 */	mr r3, r27
/* 803B340C 003AF06C  7F C4 F3 78 */	mr r4, r30
/* 803B3410 003AF070  4B FF E8 19 */	bl func_803B1C28
/* 803B3414 003AF074  80 01 00 C0 */	lwz r0, 0xc0(r1)
/* 803B3418 003AF078  98 1C 00 00 */	stb r0, 0(r28)
/* 803B341C 003AF07C  98 1C 00 02 */	stb r0, 2(r28)
/* 803B3420 003AF080  48 00 05 90 */	b lbl_803B39B0
/* 803B3424 003AF084  7F 63 DB 78 */	mr r3, r27
/* 803B3428 003AF088  7F 84 E3 78 */	mr r4, r28
/* 803B342C 003AF08C  7F C5 F3 78 */	mr r5, r30
/* 803B3430 003AF090  4B FF D3 CD */	bl func_803B07FC
/* 803B3434 003AF094  38 00 00 03 */	li r0, 3
/* 803B3438 003AF098  98 1F 00 00 */	stb r0, 0(r31)
/* 803B343C 003AF09C  7F 83 E3 78 */	mr r3, r28
/* 803B3440 003AF0A0  7F C4 F3 78 */	mr r4, r30
/* 803B3444 003AF0A4  48 01 25 F1 */	bl func_803C5A34
/* 803B3448 003AF0A8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B344C 003AF0AC  28 00 00 FF */	cmplwi r0, 0xff
/* 803B3450 003AF0B0  40 82 00 10 */	bne lbl_803B3460
/* 803B3454 003AF0B4  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 803B3458 003AF0B8  98 1F 00 00 */	stb r0, 0(r31)
/* 803B345C 003AF0BC  48 00 05 54 */	b lbl_803B39B0
lbl_803B3460:
/* 803B3460 003AF0C0  7F 83 E3 78 */	mr r3, r28
/* 803B3464 003AF0C4  7F C4 F3 78 */	mr r4, r30
/* 803B3468 003AF0C8  48 01 25 CD */	bl func_803C5A34
/* 803B346C 003AF0CC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B3470 003AF0D0  41 82 05 40 */	beq lbl_803B39B0
/* 803B3474 003AF0D4  7D FC D2 14 */	add r15, r28, r26
/* 803B3478 003AF0D8  88 6F 23 00 */	lbz r3, 0x2300(r15)
/* 803B347C 003AF0DC  38 C3 FF FF */	addi r6, r3, -1
/* 803B3480 003AF0E0  2C 06 00 04 */	cmpwi r6, 4
/* 803B3484 003AF0E4  40 82 00 18 */	bne lbl_803B349C
/* 803B3488 003AF0E8  7C 7C BA 14 */	add r3, r28, r23
/* 803B348C 003AF0EC  38 00 00 0A */	li r0, 0xa
/* 803B3490 003AF0F0  92 83 21 A8 */	stw r20, 0x21a8(r3)
/* 803B3494 003AF0F4  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3498 003AF0F8  48 00 05 18 */	b lbl_803B39B0
lbl_803B349C:
/* 803B349C 003AF0FC  7F 63 DB 78 */	mr r3, r27
/* 803B34A0 003AF100  7F 84 E3 78 */	mr r4, r28
/* 803B34A4 003AF104  7F C5 F3 78 */	mr r5, r30
/* 803B34A8 003AF108  38 E1 00 74 */	addi r7, r1, 0x74
/* 803B34AC 003AF10C  48 00 AF 0D */	bl func_803BE3B8
/* 803B34B0 003AF110  2C 03 00 00 */	cmpwi r3, 0
/* 803B34B4 003AF114  40 82 00 50 */	bne lbl_803B3504
/* 803B34B8 003AF118  38 00 00 04 */	li r0, 4
/* 803B34BC 003AF11C  38 C1 00 28 */	addi r6, r1, 0x28
/* 803B34C0 003AF120  38 81 00 70 */	addi r4, r1, 0x70
/* 803B34C4 003AF124  7C 09 03 A6 */	mtctr r0
lbl_803B34C8:
/* 803B34C8 003AF128  80 64 00 04 */	lwz r3, 4(r4)
/* 803B34CC 003AF12C  84 04 00 08 */	lwzu r0, 8(r4)
/* 803B34D0 003AF130  90 66 00 04 */	stw r3, 4(r6)
/* 803B34D4 003AF134  94 06 00 08 */	stwu r0, 8(r6)
/* 803B34D8 003AF138  42 00 FF F0 */	bdnz lbl_803B34C8
/* 803B34DC 003AF13C  80 04 00 04 */	lwz r0, 4(r4)
/* 803B34E0 003AF140  7F 63 DB 78 */	mr r3, r27
/* 803B34E4 003AF144  7F C4 F3 78 */	mr r4, r30
/* 803B34E8 003AF148  38 A1 00 2C */	addi r5, r1, 0x2c
/* 803B34EC 003AF14C  90 06 00 04 */	stw r0, 4(r6)
/* 803B34F0 003AF150  4B FF E3 69 */	bl func_803B1858
/* 803B34F4 003AF154  38 00 00 0E */	li r0, 0xe
/* 803B34F8 003AF158  98 1F 00 00 */	stb r0, 0(r31)
/* 803B34FC 003AF15C  99 DF 00 04 */	stb r14, 4(r31)
/* 803B3500 003AF160  48 00 04 B0 */	b lbl_803B39B0
lbl_803B3504:
/* 803B3504 003AF164  88 8F 23 00 */	lbz r4, 0x2300(r15)
/* 803B3508 003AF168  7C 7C BA 14 */	add r3, r28, r23
/* 803B350C 003AF16C  7C BC B2 14 */	add r5, r28, r22
/* 803B3510 003AF170  7C 1C CA 14 */	add r0, r28, r25
/* 803B3514 003AF174  90 83 21 B0 */	stw r4, 0x21b0(r3)
/* 803B3518 003AF178  7F 63 DB 78 */	mr r3, r27
/* 803B351C 003AF17C  7F C4 F3 78 */	mr r4, r30
/* 803B3520 003AF180  88 CF 23 00 */	lbz r6, 0x2300(r15)
/* 803B3524 003AF184  38 E6 FF FF */	addi r7, r6, -1
/* 803B3528 003AF188  54 E6 0B FC */	rlwinm r6, r7, 1, 0xf, 0x1e
/* 803B352C 003AF18C  B0 E5 30 BC */	sth r7, 0x30bc(r5)
/* 803B3530 003AF190  7C C6 02 14 */	add r6, r6, r0
/* 803B3534 003AF194  A0 06 2D 4C */	lhz r0, 0x2d4c(r6)
/* 803B3538 003AF198  B0 05 30 B4 */	sth r0, 0x30b4(r5)
/* 803B353C 003AF19C  38 00 00 04 */	li r0, 4
/* 803B3540 003AF1A0  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3544 003AF1A4  4B FF 93 0D */	bl cTeam_GetPlayer
/* 803B3548 003AF1A8  4B FF 7F D5 */	bl func_803AB51C
/* 803B354C 003AF1AC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B3550 003AF1B0  28 00 00 01 */	cmplwi r0, 1
/* 803B3554 003AF1B4  41 82 04 5C */	beq lbl_803B39B0
/* 803B3558 003AF1B8  57 C3 06 3E */	clrlwi r3, r30, 0x18
/* 803B355C 003AF1BC  4B DB AE E9 */	bl func_8016E444
/* 803B3560 003AF1C0  38 60 00 0D */	li r3, 0xd
/* 803B3564 003AF1C4  4B DB AD 81 */	bl func_8016E2E4
/* 803B3568 003AF1C8  48 00 04 48 */	b lbl_803B39B0
/* 803B356C 003AF1CC  57 C5 06 3E */	clrlwi r5, r30, 0x18
/* 803B3570 003AF1D0  7C 7C B2 14 */	add r3, r28, r22
/* 803B3574 003AF1D4  1C 85 00 C0 */	mulli r4, r5, 0xc0
/* 803B3578 003AF1D8  A0 03 30 BC */	lhz r0, 0x30bc(r3)
/* 803B357C 003AF1DC  54 03 08 3C */	slwi r3, r0, 1
/* 803B3580 003AF1E0  7C 1C 22 14 */	add r0, r28, r4
/* 803B3584 003AF1E4  7D E3 02 14 */	add r15, r3, r0
/* 803B3588 003AF1E8  A0 8F 2D 4C */	lhz r4, 0x2d4c(r15)
/* 803B358C 003AF1EC  28 04 00 AE */	cmplwi r4, 0xae
/* 803B3590 003AF1F0  40 82 00 1C */	bne lbl_803B35AC
/* 803B3594 003AF1F4  7F 83 E3 78 */	mr r3, r28
/* 803B3598 003AF1F8  48 00 C3 99 */	bl func_803BF930
/* 803B359C 003AF1FC  2C 03 00 00 */	cmpwi r3, 0
/* 803B35A0 003AF200  40 82 00 0C */	bne lbl_803B35AC
/* 803B35A4 003AF204  39 E0 00 10 */	li r15, 0x10
/* 803B35A8 003AF208  48 00 00 14 */	b lbl_803B35BC
lbl_803B35AC:
/* 803B35AC 003AF20C  A0 0F 2D 4C */	lhz r0, 0x2d4c(r15)
/* 803B35B0 003AF210  54 00 20 36 */	slwi r0, r0, 4
/* 803B35B4 003AF214  7C 7C 02 14 */	add r3, r28, r0
/* 803B35B8 003AF218  A1 E3 03 E6 */	lhz r15, 0x3e6(r3)
lbl_803B35BC:
/* 803B35BC 003AF21C  2C 12 00 00 */	cmpwi r18, 0
/* 803B35C0 003AF220  41 82 00 40 */	beq lbl_803B3600
/* 803B35C4 003AF224  2C 0F 01 00 */	cmpwi r15, 0x100
/* 803B35C8 003AF228  40 82 00 30 */	bne lbl_803B35F8
/* 803B35CC 003AF22C  7F 63 DB 78 */	mr r3, r27
/* 803B35D0 003AF230  57 C4 06 3E */	clrlwi r4, r30, 0x18
/* 803B35D4 003AF234  4B FF 97 65 */	bl func_803ACD38
/* 803B35D8 003AF238  48 02 A3 49 */	bl func_803DD920
/* 803B35DC 003AF23C  88 1C 31 08 */	lbz r0, 0x3108(r28)
/* 803B35E0 003AF240  7C 00 18 39 */	and. r0, r0, r3
/* 803B35E4 003AF244  40 82 00 0C */	bne lbl_803B35F0
/* 803B35E8 003AF248  38 00 00 01 */	li r0, 1
/* 803B35EC 003AF24C  48 00 00 40 */	b lbl_803B362C
lbl_803B35F0:
/* 803B35F0 003AF250  38 00 00 00 */	li r0, 0
/* 803B35F4 003AF254  48 00 00 38 */	b lbl_803B362C
lbl_803B35F8:
/* 803B35F8 003AF258  38 00 00 01 */	li r0, 1
/* 803B35FC 003AF25C  48 00 00 30 */	b lbl_803B362C
lbl_803B3600:
/* 803B3600 003AF260  71 E0 02 51 */	andi. r0, r15, 0x251
/* 803B3604 003AF264  41 82 00 14 */	beq lbl_803B3618
/* 803B3608 003AF268  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 803B360C 003AF26C  7C 7C BA 14 */	add r3, r28, r23
/* 803B3610 003AF270  90 03 21 AC */	stw r0, 0x21ac(r3)
/* 803B3614 003AF274  48 00 00 14 */	b lbl_803B3628
lbl_803B3618:
/* 803B3618 003AF278  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 803B361C 003AF27C  7C 7C BA 14 */	add r3, r28, r23
/* 803B3620 003AF280  68 00 00 01 */	xori r0, r0, 1
/* 803B3624 003AF284  90 03 21 AC */	stw r0, 0x21ac(r3)
lbl_803B3628:
/* 803B3628 003AF288  38 00 00 00 */	li r0, 0
lbl_803B362C:
/* 803B362C 003AF28C  2C 00 00 00 */	cmpwi r0, 0
/* 803B3630 003AF290  41 82 00 24 */	beq lbl_803B3654
/* 803B3634 003AF294  7F 63 DB 78 */	mr r3, r27
/* 803B3638 003AF298  7F 84 E3 78 */	mr r4, r28
/* 803B363C 003AF29C  7D E5 7B 78 */	mr r5, r15
/* 803B3640 003AF2A0  7F C6 F3 78 */	mr r6, r30
/* 803B3644 003AF2A4  4B FF D2 E1 */	bl func_803B0924
/* 803B3648 003AF2A8  38 00 00 05 */	li r0, 5
/* 803B364C 003AF2AC  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3650 003AF2B0  48 00 03 60 */	b lbl_803B39B0
lbl_803B3654:
/* 803B3654 003AF2B4  9A BF 00 00 */	stb r21, 0(r31)
/* 803B3658 003AF2B8  48 00 03 58 */	b lbl_803B39B0
/* 803B365C 003AF2BC  7F 83 E3 78 */	mr r3, r28
/* 803B3660 003AF2C0  7F C4 F3 78 */	mr r4, r30
/* 803B3664 003AF2C4  48 01 23 D1 */	bl func_803C5A34
/* 803B3668 003AF2C8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B366C 003AF2CC  28 00 00 FF */	cmplwi r0, 0xff
/* 803B3670 003AF2D0  40 82 00 0C */	bne lbl_803B367C
/* 803B3674 003AF2D4  99 DF 00 00 */	stb r14, 0(r31)
/* 803B3678 003AF2D8  48 00 03 38 */	b lbl_803B39B0
lbl_803B367C:
/* 803B367C 003AF2DC  7F 83 E3 78 */	mr r3, r28
/* 803B3680 003AF2E0  7F C4 F3 78 */	mr r4, r30
/* 803B3684 003AF2E4  48 01 23 B1 */	bl func_803C5A34
/* 803B3688 003AF2E8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B368C 003AF2EC  41 82 03 24 */	beq lbl_803B39B0
/* 803B3690 003AF2F0  7C 9C D2 14 */	add r4, r28, r26
/* 803B3694 003AF2F4  7C 7C BA 14 */	add r3, r28, r23
/* 803B3698 003AF2F8  88 84 23 00 */	lbz r4, 0x2300(r4)
/* 803B369C 003AF2FC  38 04 FF FF */	addi r0, r4, -1
/* 803B36A0 003AF300  90 03 21 AC */	stw r0, 0x21ac(r3)
/* 803B36A4 003AF304  9A BF 00 00 */	stb r21, 0(r31)
/* 803B36A8 003AF308  48 00 03 08 */	b lbl_803B39B0
/* 803B36AC 003AF30C  7F 63 DB 78 */	mr r3, r27
/* 803B36B0 003AF310  7F 84 E3 78 */	mr r4, r28
/* 803B36B4 003AF314  7F C5 F3 78 */	mr r5, r30
/* 803B36B8 003AF318  4B FF D4 49 */	bl func_803B0B00
/* 803B36BC 003AF31C  38 00 00 07 */	li r0, 7
/* 803B36C0 003AF320  98 1F 00 00 */	stb r0, 0(r31)
/* 803B36C4 003AF324  7F 83 E3 78 */	mr r3, r28
/* 803B36C8 003AF328  7F C4 F3 78 */	mr r4, r30
/* 803B36CC 003AF32C  48 01 23 69 */	bl func_803C5A34
/* 803B36D0 003AF330  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B36D4 003AF334  28 00 00 FF */	cmplwi r0, 0xff
/* 803B36D8 003AF338  40 82 00 10 */	bne lbl_803B36E8
/* 803B36DC 003AF33C  80 01 00 C8 */	lwz r0, 0xc8(r1)
/* 803B36E0 003AF340  98 1F 00 00 */	stb r0, 0(r31)
/* 803B36E4 003AF344  48 00 02 CC */	b lbl_803B39B0
lbl_803B36E8:
/* 803B36E8 003AF348  7F 83 E3 78 */	mr r3, r28
/* 803B36EC 003AF34C  7F C4 F3 78 */	mr r4, r30
/* 803B36F0 003AF350  48 01 23 45 */	bl func_803C5A34
/* 803B36F4 003AF354  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B36F8 003AF358  41 82 02 B8 */	beq lbl_803B39B0
/* 803B36FC 003AF35C  7C 9C D2 14 */	add r4, r28, r26
/* 803B3700 003AF360  7C 7C BA 14 */	add r3, r28, r23
/* 803B3704 003AF364  80 04 23 00 */	lwz r0, 0x2300(r4)
/* 803B3708 003AF368  90 03 21 B0 */	stw r0, 0x21b0(r3)
/* 803B370C 003AF36C  9A BF 00 00 */	stb r21, 0(r31)
/* 803B3710 003AF370  48 00 02 A0 */	b lbl_803B39B0
/* 803B3714 003AF374  7F 63 DB 78 */	mr r3, r27
/* 803B3718 003AF378  7F 84 E3 78 */	mr r4, r28
/* 803B371C 003AF37C  7F C5 F3 78 */	mr r5, r30
/* 803B3720 003AF380  39 E0 00 06 */	li r15, 6
/* 803B3724 003AF384  48 01 0B CD */	bl func_803C42F0
/* 803B3728 003AF388  90 61 00 98 */	stw r3, 0x98(r1)
/* 803B372C 003AF38C  7F 63 DB 78 */	mr r3, r27
/* 803B3730 003AF390  7F C4 F3 78 */	mr r4, r30
/* 803B3734 003AF394  4B FF 95 A1 */	bl func_803ACCD4
/* 803B3738 003AF398  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B373C 003AF39C  28 00 00 04 */	cmplwi r0, 4
/* 803B3740 003AF3A0  41 82 00 1C */	beq lbl_803B375C
/* 803B3744 003AF3A4  7F 63 DB 78 */	mr r3, r27
/* 803B3748 003AF3A8  7F C4 F3 78 */	mr r4, r30
/* 803B374C 003AF3AC  4B FF 95 89 */	bl func_803ACCD4
/* 803B3750 003AF3B0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B3754 003AF3B4  28 00 00 05 */	cmplwi r0, 5
/* 803B3758 003AF3B8  40 82 00 58 */	bne lbl_803B37B0
lbl_803B375C:
/* 803B375C 003AF3BC  2C 10 00 03 */	cmpwi r16, 3
/* 803B3760 003AF3C0  41 82 00 2C */	beq lbl_803B378C
/* 803B3764 003AF3C4  2C 10 00 07 */	cmpwi r16, 7
/* 803B3768 003AF3C8  41 82 00 24 */	beq lbl_803B378C
/* 803B376C 003AF3CC  2C 10 00 13 */	cmpwi r16, 0x13
/* 803B3770 003AF3D0  40 82 00 40 */	bne lbl_803B37B0
/* 803B3774 003AF3D4  7F 63 DB 78 */	mr r3, r27
/* 803B3778 003AF3D8  7F C4 F3 78 */	mr r4, r30
/* 803B377C 003AF3DC  4B FF 95 59 */	bl func_803ACCD4
/* 803B3780 003AF3E0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B3784 003AF3E4  28 00 00 04 */	cmplwi r0, 4
/* 803B3788 003AF3E8  40 82 00 28 */	bne lbl_803B37B0
lbl_803B378C:
/* 803B378C 003AF3EC  7F 63 DB 78 */	mr r3, r27
/* 803B3790 003AF3F0  7F C4 F3 78 */	mr r4, r30
/* 803B3794 003AF3F4  4B FF 95 A5 */	bl func_803ACD38
/* 803B3798 003AF3F8  54 60 20 36 */	slwi r0, r3, 4
/* 803B379C 003AF3FC  7C 7C 02 14 */	add r3, r28, r0
/* 803B37A0 003AF400  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803B37A4 003AF404  28 00 00 0F */	cmplwi r0, 0xf
/* 803B37A8 003AF408  40 82 00 08 */	bne lbl_803B37B0
/* 803B37AC 003AF40C  81 E3 21 B0 */	lwz r15, 0x21b0(r3)
lbl_803B37B0:
/* 803B37B0 003AF410  80 E1 00 98 */	lwz r7, 0x98(r1)
/* 803B37B4 003AF414  7F 63 DB 78 */	mr r3, r27
/* 803B37B8 003AF418  7F 84 E3 78 */	mr r4, r28
/* 803B37BC 003AF41C  7F C5 F3 78 */	mr r5, r30
/* 803B37C0 003AF420  7D E8 7B 78 */	mr r8, r15
/* 803B37C4 003AF424  38 C0 00 00 */	li r6, 0
/* 803B37C8 003AF428  4B FF D5 A5 */	bl func_803B0D6C
/* 803B37CC 003AF42C  38 00 00 09 */	li r0, 9
/* 803B37D0 003AF430  98 1F 00 00 */	stb r0, 0(r31)
/* 803B37D4 003AF434  7F 83 E3 78 */	mr r3, r28
/* 803B37D8 003AF438  7F C4 F3 78 */	mr r4, r30
/* 803B37DC 003AF43C  48 01 22 59 */	bl func_803C5A34
/* 803B37E0 003AF440  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B37E4 003AF444  28 00 00 FF */	cmplwi r0, 0xff
/* 803B37E8 003AF448  40 82 00 10 */	bne lbl_803B37F8
/* 803B37EC 003AF44C  80 01 00 CC */	lwz r0, 0xcc(r1)
/* 803B37F0 003AF450  98 1F 00 00 */	stb r0, 0(r31)
/* 803B37F4 003AF454  48 00 01 BC */	b lbl_803B39B0
lbl_803B37F8:
/* 803B37F8 003AF458  7F 83 E3 78 */	mr r3, r28
/* 803B37FC 003AF45C  7F C4 F3 78 */	mr r4, r30
/* 803B3800 003AF460  48 01 22 35 */	bl func_803C5A34
/* 803B3804 003AF464  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B3808 003AF468  41 82 01 A8 */	beq lbl_803B39B0
/* 803B380C 003AF46C  7C BC D2 14 */	add r5, r28, r26
/* 803B3810 003AF470  7C 7C BA 14 */	add r3, r28, r23
/* 803B3814 003AF474  88 85 23 00 */	lbz r4, 0x2300(r5)
/* 803B3818 003AF478  38 04 FF FF */	addi r0, r4, -1
/* 803B381C 003AF47C  90 03 21 B0 */	stw r0, 0x21b0(r3)
/* 803B3820 003AF480  88 65 23 00 */	lbz r3, 0x2300(r5)
/* 803B3824 003AF484  38 03 FF FF */	addi r0, r3, -1
/* 803B3828 003AF488  98 1F 21 A0 */	stb r0, 0x21a0(r31)
/* 803B382C 003AF48C  9A BF 00 00 */	stb r21, 0(r31)
/* 803B3830 003AF490  48 00 01 80 */	b lbl_803B39B0
/* 803B3834 003AF494  38 00 00 0B */	li r0, 0xb
/* 803B3838 003AF498  98 1F 00 00 */	stb r0, 0(r31)
/* 803B383C 003AF49C  48 00 01 74 */	b lbl_803B39B0
/* 803B3840 003AF4A0  2C 12 00 00 */	cmpwi r18, 0
/* 803B3844 003AF4A4  9A BF 00 00 */	stb r21, 0(r31)
/* 803B3848 003AF4A8  41 82 01 68 */	beq lbl_803B39B0
/* 803B384C 003AF4AC  2C 11 00 00 */	cmpwi r17, 0
/* 803B3850 003AF4B0  40 82 01 60 */	bne lbl_803B39B0
/* 803B3854 003AF4B4  88 1F 00 00 */	lbz r0, 0(r31)
/* 803B3858 003AF4B8  28 00 00 0C */	cmplwi r0, 0xc
/* 803B385C 003AF4BC  40 82 01 54 */	bne lbl_803B39B0
/* 803B3860 003AF4C0  7F 63 DB 78 */	mr r3, r27
/* 803B3864 003AF4C4  7F C4 F3 78 */	mr r4, r30
/* 803B3868 003AF4C8  4B FF 94 D1 */	bl func_803ACD38
/* 803B386C 003AF4CC  7E BC 19 AE */	stbx r21, r28, r3
/* 803B3870 003AF4D0  48 00 01 40 */	b lbl_803B39B0
/* 803B3874 003AF4D4  7F 63 DB 78 */	mr r3, r27
/* 803B3878 003AF4D8  7F C4 F3 78 */	mr r4, r30
/* 803B387C 003AF4DC  4B FF E3 AD */	bl func_803B1C28
/* 803B3880 003AF4E0  2C 10 00 07 */	cmpwi r16, 7
/* 803B3884 003AF4E4  40 82 00 2C */	bne lbl_803B38B0
/* 803B3888 003AF4E8  7F 63 DB 78 */	mr r3, r27
/* 803B388C 003AF4EC  7F C4 F3 78 */	mr r4, r30
/* 803B3890 003AF4F0  4B FF 94 A9 */	bl func_803ACD38
/* 803B3894 003AF4F4  7C 1C 18 AE */	lbzx r0, r28, r3
/* 803B3898 003AF4F8  28 00 00 0D */	cmplwi r0, 0xd
/* 803B389C 003AF4FC  40 82 00 20 */	bne lbl_803B38BC
/* 803B38A0 003AF500  7F 63 DB 78 */	mr r3, r27
/* 803B38A4 003AF504  7F C4 F3 78 */	mr r4, r30
/* 803B38A8 003AF508  4B FF E8 11 */	bl func_803B20B8
/* 803B38AC 003AF50C  48 00 00 10 */	b lbl_803B38BC
lbl_803B38B0:
/* 803B38B0 003AF510  7F 63 DB 78 */	mr r3, r27
/* 803B38B4 003AF514  7F C4 F3 78 */	mr r4, r30
/* 803B38B8 003AF518  4B FF E8 01 */	bl func_803B20B8
lbl_803B38BC:
/* 803B38BC 003AF51C  38 00 00 0D */	li r0, 0xd
/* 803B38C0 003AF520  7F 63 DB 78 */	mr r3, r27
/* 803B38C4 003AF524  98 1F 00 00 */	stb r0, 0(r31)
/* 803B38C8 003AF528  7F C4 F3 78 */	mr r4, r30
/* 803B38CC 003AF52C  4B FF 8F 85 */	bl cTeam_GetPlayer
/* 803B38D0 003AF530  4B FF 7C 4D */	bl func_803AB51C
/* 803B38D4 003AF534  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B38D8 003AF538  28 00 00 01 */	cmplwi r0, 1
/* 803B38DC 003AF53C  41 82 00 14 */	beq lbl_803B38F0
/* 803B38E0 003AF540  57 C3 06 3E */	clrlwi r3, r30, 0x18
/* 803B38E4 003AF544  4B DB AB 75 */	bl func_8016E458
/* 803B38E8 003AF548  38 60 00 0E */	li r3, 0xe
/* 803B38EC 003AF54C  4B DB A9 F9 */	bl func_8016E2E4
lbl_803B38F0:
/* 803B38F0 003AF550  3B BD 00 01 */	addi r29, r29, 1
/* 803B38F4 003AF554  48 00 00 BC */	b lbl_803B39B0
/* 803B38F8 003AF558  7F 83 E3 78 */	mr r3, r28
/* 803B38FC 003AF55C  7F C4 F3 78 */	mr r4, r30
/* 803B3900 003AF560  48 01 21 35 */	bl func_803C5A34
/* 803B3904 003AF564  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B3908 003AF568  41 82 00 A8 */	beq lbl_803B39B0
/* 803B390C 003AF56C  7F 83 E3 78 */	mr r3, r28
/* 803B3910 003AF570  7F C4 F3 78 */	mr r4, r30
/* 803B3914 003AF574  48 00 73 65 */	bl func_803BAC78
/* 803B3918 003AF578  88 1F 00 04 */	lbz r0, 4(r31)
/* 803B391C 003AF57C  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3920 003AF580  48 00 00 90 */	b lbl_803B39B0
/* 803B3924 003AF584  38 00 02 60 */	li r0, 0x260
/* 803B3928 003AF588  99 C1 00 75 */	stb r14, 0x75(r1)
/* 803B392C 003AF58C  7F 83 E3 78 */	mr r3, r28
/* 803B3930 003AF590  7F C4 F3 78 */	mr r4, r30
/* 803B3934 003AF594  B0 01 00 76 */	sth r0, 0x76(r1)
/* 803B3938 003AF598  48 00 B9 F5 */	bl func_803BF32C
/* 803B393C 003AF59C  38 00 00 04 */	li r0, 4
/* 803B3940 003AF5A0  90 61 00 78 */	stw r3, 0x78(r1)
/* 803B3944 003AF5A4  38 C1 00 04 */	addi r6, r1, 4
/* 803B3948 003AF5A8  38 81 00 70 */	addi r4, r1, 0x70
/* 803B394C 003AF5AC  7C 09 03 A6 */	mtctr r0
lbl_803B3950:
/* 803B3950 003AF5B0  80 64 00 04 */	lwz r3, 4(r4)
/* 803B3954 003AF5B4  84 04 00 08 */	lwzu r0, 8(r4)
/* 803B3958 003AF5B8  90 66 00 04 */	stw r3, 4(r6)
/* 803B395C 003AF5BC  94 06 00 08 */	stwu r0, 8(r6)
/* 803B3960 003AF5C0  42 00 FF F0 */	bdnz lbl_803B3950
/* 803B3964 003AF5C4  80 04 00 04 */	lwz r0, 4(r4)
/* 803B3968 003AF5C8  7F 63 DB 78 */	mr r3, r27
/* 803B396C 003AF5CC  7F C4 F3 78 */	mr r4, r30
/* 803B3970 003AF5D0  38 A1 00 08 */	addi r5, r1, 8
/* 803B3974 003AF5D4  90 06 00 04 */	stw r0, 4(r6)
/* 803B3978 003AF5D8  4B FF DE E1 */	bl func_803B1858
/* 803B397C 003AF5DC  7C 7C C2 14 */	add r3, r28, r24
/* 803B3980 003AF5E0  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B3984 003AF5E4  64 00 80 00 */	oris r0, r0, 0x8000
/* 803B3988 003AF5E8  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803B398C 003AF5EC  38 00 00 0E */	li r0, 0xe
/* 803B3990 003AF5F0  98 1F 00 00 */	stb r0, 0(r31)
/* 803B3994 003AF5F4  9A BF 00 04 */	stb r21, 4(r31)
/* 803B3998 003AF5F8  48 00 00 18 */	b lbl_803B39B0
/* 803B399C 003AF5FC  7F 63 DB 78 */	mr r3, r27
/* 803B39A0 003AF600  7F C4 F3 78 */	mr r4, r30
/* 803B39A4 003AF604  4B FF E4 AD */	bl func_803B1E50
/* 803B39A8 003AF608  88 1F 00 04 */	lbz r0, 4(r31)
/* 803B39AC 003AF60C  98 1F 00 00 */	stb r0, 0(r31)
lbl_803B39B0:
/* 803B39B0 003AF610  3B DE 00 01 */	addi r30, r30, 1
/* 803B39B4 003AF614  3B 5A 01 00 */	addi r26, r26, 0x100
/* 803B39B8 003AF618  3B 39 00 C0 */	addi r25, r25, 0xc0
/* 803B39BC 003AF61C  3B 18 00 40 */	addi r24, r24, 0x40
/* 803B39C0 003AF620  3A F7 00 10 */	addi r23, r23, 0x10
/* 803B39C4 003AF624  3A D6 00 02 */	addi r22, r22, 2
lbl_803B39C8:
/* 803B39C8 003AF628  7C 1E 98 00 */	cmpw r30, r19
/* 803B39CC 003AF62C  41 80 F6 8C */	blt lbl_803B3058
/* 803B39D0 003AF630  7C 1D 98 00 */	cmpw r29, r19
/* 803B39D4 003AF634  40 82 00 70 */	bne lbl_803B3A44
/* 803B39D8 003AF638  38 00 00 06 */	li r0, 6
/* 803B39DC 003AF63C  39 E0 00 00 */	li r15, 0
/* 803B39E0 003AF640  90 1C 00 08 */	stw r0, 8(r28)
/* 803B39E4 003AF644  39 C0 00 00 */	li r14, 0
/* 803B39E8 003AF648  48 00 00 34 */	b lbl_803B3A1C
lbl_803B39EC:
/* 803B39EC 003AF64C  7C 7C 72 14 */	add r3, r28, r14
/* 803B39F0 003AF650  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803B39F4 003AF654  28 00 00 0F */	cmplwi r0, 0xf
/* 803B39F8 003AF658  40 82 00 1C */	bne lbl_803B3A14
/* 803B39FC 003AF65C  7C 9C 7A 14 */	add r4, r28, r15
/* 803B3A00 003AF660  7F 63 DB 78 */	mr r3, r27
/* 803B3A04 003AF664  88 C4 21 A0 */	lbz r6, 0x21a0(r4)
/* 803B3A08 003AF668  7F 84 E3 78 */	mr r4, r28
/* 803B3A0C 003AF66C  7D E5 7B 78 */	mr r5, r15
/* 803B3A10 003AF670  48 01 26 4D */	bl func_803C605C
lbl_803B3A14:
/* 803B3A14 003AF674  39 EF 00 01 */	addi r15, r15, 1
/* 803B3A18 003AF678  39 CE 00 10 */	addi r14, r14, 0x10
lbl_803B3A1C:
/* 803B3A1C 003AF67C  7C 0F 98 00 */	cmpw r15, r19
/* 803B3A20 003AF680  41 80 FF CC */	blt lbl_803B39EC
/* 803B3A24 003AF684  38 60 00 07 */	li r3, 7
/* 803B3A28 003AF688  4B DB A8 BD */	bl func_8016E2E4
/* 803B3A2C 003AF68C  80 1C 01 50 */	lwz r0, 0x150(r28)
/* 803B3A30 003AF690  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803B3A34 003AF694  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803B3A38 003AF698  38 60 00 01 */	li r3, 1
/* 803B3A3C 003AF69C  90 05 CD E8 */	stw r0, -0x3218(r5)
/* 803B3A40 003AF6A0  4B DB C0 0D */	bl func_8016FA4C
lbl_803B3A44:
/* 803B3A44 003AF6A4  39 61 01 20 */	addi r11, r1, 0x120
/* 803B3A48 003AF6A8  4B E1 36 F9 */	bl __restore_gpr
/* 803B3A4C 003AF6AC  80 01 01 24 */	lwz r0, 0x124(r1)
/* 803B3A50 003AF6B0  7C 08 03 A6 */	mtlr r0
/* 803B3A54 003AF6B4  38 21 01 20 */	addi r1, r1, 0x120
/* 803B3A58 003AF6B8  4E 80 00 20 */	blr 
/* 803B3A5C 003AF6BC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B3A60 003AF6C0  7C 08 02 A6 */	mflr r0
/* 803B3A64 003AF6C4  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B3A68 003AF6C8  39 61 00 30 */	addi r11, r1, 0x30
/* 803B3A6C 003AF6CC  4B E1 36 A9 */	bl _savegpr_22
/* 803B3A70 003AF6D0  7C 77 1B 78 */	mr r23, r3
/* 803B3A74 003AF6D4  7C 98 23 78 */	mr r24, r4
/* 803B3A78 003AF6D8  4B FF 8D E9 */	bl func_803AC860
/* 803B3A7C 003AF6DC  7C 7F 1B 78 */	mr r31, r3
/* 803B3A80 003AF6E0  7E E3 BB 78 */	mr r3, r23
/* 803B3A84 003AF6E4  4B FF 8D BD */	bl func_803AC840
/* 803B3A88 003AF6E8  70 60 02 20 */	andi. r0, r3, 0x220
/* 803B3A8C 003AF6EC  38 A0 00 00 */	li r5, 0
/* 803B3A90 003AF6F0  41 82 00 28 */	beq lbl_803B3AB8
/* 803B3A94 003AF6F4  38 80 00 00 */	li r4, 0
/* 803B3A98 003AF6F8  7F E9 03 A6 */	mtctr r31
/* 803B3A9C 003AF6FC  2C 1F 00 00 */	cmpwi r31, 0
/* 803B3AA0 003AF700  40 81 01 A0 */	ble lbl_803B3C40
lbl_803B3AA4:
/* 803B3AA4 003AF704  7C 78 22 14 */	add r3, r24, r4
/* 803B3AA8 003AF708  98 83 21 E8 */	stb r4, 0x21e8(r3)
/* 803B3AAC 003AF70C  38 84 00 01 */	addi r4, r4, 1
/* 803B3AB0 003AF710  42 00 FF F4 */	bdnz lbl_803B3AA4
/* 803B3AB4 003AF714  48 00 01 8C */	b lbl_803B3C40
lbl_803B3AB8:
/* 803B3AB8 003AF718  38 C0 00 00 */	li r6, 0
/* 803B3ABC 003AF71C  38 60 00 00 */	li r3, 0
/* 803B3AC0 003AF720  7F E9 03 A6 */	mtctr r31
/* 803B3AC4 003AF724  2C 1F 00 00 */	cmpwi r31, 0
/* 803B3AC8 003AF728  40 81 00 28 */	ble lbl_803B3AF0
lbl_803B3ACC:
/* 803B3ACC 003AF72C  7C 98 1A 14 */	add r4, r24, r3
/* 803B3AD0 003AF730  80 04 21 B4 */	lwz r0, 0x21b4(r4)
/* 803B3AD4 003AF734  28 00 00 04 */	cmplwi r0, 4
/* 803B3AD8 003AF738  40 82 00 0C */	bne lbl_803B3AE4
/* 803B3ADC 003AF73C  38 A0 00 05 */	li r5, 5
/* 803B3AE0 003AF740  48 00 00 10 */	b lbl_803B3AF0
lbl_803B3AE4:
/* 803B3AE4 003AF744  38 C6 00 01 */	addi r6, r6, 1
/* 803B3AE8 003AF748  38 63 00 10 */	addi r3, r3, 0x10
/* 803B3AEC 003AF74C  42 00 FF E0 */	bdnz lbl_803B3ACC
lbl_803B3AF0:
/* 803B3AF0 003AF750  2C 05 00 05 */	cmpwi r5, 5
/* 803B3AF4 003AF754  40 82 00 3C */	bne lbl_803B3B30
/* 803B3AF8 003AF758  98 D8 21 E8 */	stb r6, 0x21e8(r24)
/* 803B3AFC 003AF75C  38 A0 00 01 */	li r5, 1
/* 803B3B00 003AF760  38 80 00 00 */	li r4, 0
/* 803B3B04 003AF764  7F E9 03 A6 */	mtctr r31
/* 803B3B08 003AF768  2C 1F 00 00 */	cmpwi r31, 0
/* 803B3B0C 003AF76C  40 81 01 34 */	ble lbl_803B3C40
lbl_803B3B10:
/* 803B3B10 003AF770  7C 04 30 00 */	cmpw r4, r6
/* 803B3B14 003AF774  41 82 00 10 */	beq lbl_803B3B24
/* 803B3B18 003AF778  7C 78 2A 14 */	add r3, r24, r5
/* 803B3B1C 003AF77C  38 A5 00 01 */	addi r5, r5, 1
/* 803B3B20 003AF780  98 83 21 E8 */	stb r4, 0x21e8(r3)
lbl_803B3B24:
/* 803B3B24 003AF784  38 84 00 01 */	addi r4, r4, 1
/* 803B3B28 003AF788  42 00 FF E8 */	bdnz lbl_803B3B10
/* 803B3B2C 003AF78C  48 00 01 14 */	b lbl_803B3C40
lbl_803B3B30:
/* 803B3B30 003AF790  38 C0 00 00 */	li r6, 0
/* 803B3B34 003AF794  38 60 00 00 */	li r3, 0
/* 803B3B38 003AF798  7F E9 03 A6 */	mtctr r31
/* 803B3B3C 003AF79C  2C 1F 00 00 */	cmpwi r31, 0
/* 803B3B40 003AF7A0  40 81 00 30 */	ble lbl_803B3B70
lbl_803B3B44:
/* 803B3B44 003AF7A4  7C 98 1A 14 */	add r4, r24, r3
/* 803B3B48 003AF7A8  80 84 21 B4 */	lwz r4, 0x21b4(r4)
/* 803B3B4C 003AF7AC  38 04 FF FE */	addi r0, r4, -2
/* 803B3B50 003AF7B0  28 00 00 01 */	cmplwi r0, 1
/* 803B3B54 003AF7B4  41 81 00 10 */	bgt lbl_803B3B64
/* 803B3B58 003AF7B8  7C 98 2A 14 */	add r4, r24, r5
/* 803B3B5C 003AF7BC  38 A5 00 01 */	addi r5, r5, 1
/* 803B3B60 003AF7C0  98 C4 21 E8 */	stb r6, 0x21e8(r4)
lbl_803B3B64:
/* 803B3B64 003AF7C4  38 C6 00 01 */	addi r6, r6, 1
/* 803B3B68 003AF7C8  38 63 00 10 */	addi r3, r3, 0x10
/* 803B3B6C 003AF7CC  42 00 FF D8 */	bdnz lbl_803B3B44
lbl_803B3B70:
/* 803B3B70 003AF7D0  38 C0 00 00 */	li r6, 0
/* 803B3B74 003AF7D4  38 60 00 00 */	li r3, 0
/* 803B3B78 003AF7D8  7F E9 03 A6 */	mtctr r31
/* 803B3B7C 003AF7DC  2C 1F 00 00 */	cmpwi r31, 0
/* 803B3B80 003AF7E0  40 81 00 34 */	ble lbl_803B3BB4
lbl_803B3B84:
/* 803B3B84 003AF7E4  7C 98 1A 14 */	add r4, r24, r3
/* 803B3B88 003AF7E8  80 04 21 B4 */	lwz r0, 0x21b4(r4)
/* 803B3B8C 003AF7EC  28 00 00 02 */	cmplwi r0, 2
/* 803B3B90 003AF7F0  41 82 00 18 */	beq lbl_803B3BA8
/* 803B3B94 003AF7F4  28 00 00 03 */	cmplwi r0, 3
/* 803B3B98 003AF7F8  41 82 00 10 */	beq lbl_803B3BA8
/* 803B3B9C 003AF7FC  7C 98 2A 14 */	add r4, r24, r5
/* 803B3BA0 003AF800  38 A5 00 01 */	addi r5, r5, 1
/* 803B3BA4 003AF804  98 C4 21 E8 */	stb r6, 0x21e8(r4)
lbl_803B3BA8:
/* 803B3BA8 003AF808  38 C6 00 01 */	addi r6, r6, 1
/* 803B3BAC 003AF80C  38 63 00 10 */	addi r3, r3, 0x10
/* 803B3BB0 003AF810  42 00 FF D4 */	bdnz lbl_803B3B84
lbl_803B3BB4:
/* 803B3BB4 003AF814  3A DF FF FF */	addi r22, r31, -1
/* 803B3BB8 003AF818  3B 80 00 00 */	li r28, 0
/* 803B3BBC 003AF81C  48 00 00 7C */	b lbl_803B3C38
lbl_803B3BC0:
/* 803B3BC0 003AF820  3B 7C 00 01 */	addi r27, r28, 1
/* 803B3BC4 003AF824  7F D8 E2 14 */	add r30, r24, r28
/* 803B3BC8 003AF828  48 00 00 64 */	b lbl_803B3C2C
lbl_803B3BCC:
/* 803B3BCC 003AF82C  7F B8 DA 14 */	add r29, r24, r27
/* 803B3BD0 003AF830  8B 5E 21 E8 */	lbz r26, 0x21e8(r30)
/* 803B3BD4 003AF834  8B 3D 21 E8 */	lbz r25, 0x21e8(r29)
/* 803B3BD8 003AF838  57 43 20 36 */	slwi r3, r26, 4
/* 803B3BDC 003AF83C  57 20 20 36 */	slwi r0, r25, 4
/* 803B3BE0 003AF840  7C 98 1A 14 */	add r4, r24, r3
/* 803B3BE4 003AF844  7C 78 02 14 */	add r3, r24, r0
/* 803B3BE8 003AF848  80 84 21 B4 */	lwz r4, 0x21b4(r4)
/* 803B3BEC 003AF84C  80 03 21 B4 */	lwz r0, 0x21b4(r3)
/* 803B3BF0 003AF850  7C 04 00 40 */	cmplw r4, r0
/* 803B3BF4 003AF854  40 82 00 34 */	bne lbl_803B3C28
/* 803B3BF8 003AF858  38 E4 FF FF */	addi r7, r4, -1
/* 803B3BFC 003AF85C  7E E3 BB 78 */	mr r3, r23
/* 803B3C00 003AF860  30 07 FF FF */	addic r0, r7, -1
/* 803B3C04 003AF864  7F 04 C3 78 */	mr r4, r24
/* 803B3C08 003AF868  7F 45 D3 78 */	mr r5, r26
/* 803B3C0C 003AF86C  7F 26 CB 78 */	mr r6, r25
/* 803B3C10 003AF870  7C E0 39 10 */	subfe r7, r0, r7
/* 803B3C14 003AF874  48 00 7F 6D */	bl func_803BBB80
/* 803B3C18 003AF878  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B3C1C 003AF87C  41 82 00 0C */	beq lbl_803B3C28
/* 803B3C20 003AF880  9B 3E 21 E8 */	stb r25, 0x21e8(r30)
/* 803B3C24 003AF884  9B 5D 21 E8 */	stb r26, 0x21e8(r29)
lbl_803B3C28:
/* 803B3C28 003AF888  3B 7B 00 01 */	addi r27, r27, 1
lbl_803B3C2C:
/* 803B3C2C 003AF88C  7C 1B F8 00 */	cmpw r27, r31
/* 803B3C30 003AF890  41 80 FF 9C */	blt lbl_803B3BCC
/* 803B3C34 003AF894  3B 9C 00 01 */	addi r28, r28, 1
lbl_803B3C38:
/* 803B3C38 003AF898  7C 1C B0 00 */	cmpw r28, r22
/* 803B3C3C 003AF89C  41 80 FF 84 */	blt lbl_803B3BC0
lbl_803B3C40:
/* 803B3C40 003AF8A0  38 00 00 07 */	li r0, 7
/* 803B3C44 003AF8A4  39 61 00 30 */	addi r11, r1, 0x30
/* 803B3C48 003AF8A8  90 18 00 08 */	stw r0, 8(r24)
/* 803B3C4C 003AF8AC  4B E1 35 15 */	bl _restgpr_22
/* 803B3C50 003AF8B0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B3C54 003AF8B4  7C 08 03 A6 */	mtlr r0
/* 803B3C58 003AF8B8  38 21 00 30 */	addi r1, r1, 0x30
/* 803B3C5C 003AF8BC  4E 80 00 20 */	blr 
/* 803B3C60 003AF8C0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B3C64 003AF8C4  7C 08 02 A6 */	mflr r0
/* 803B3C68 003AF8C8  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B3C6C 003AF8CC  39 61 00 30 */	addi r11, r1, 0x30
/* 803B3C70 003AF8D0  4B E1 34 AD */	bl _savegpr_24
/* 803B3C74 003AF8D4  7C 7B 1B 78 */	mr r27, r3
/* 803B3C78 003AF8D8  7C 9C 23 78 */	mr r28, r4
/* 803B3C7C 003AF8DC  3B C0 00 00 */	li r30, 0
/* 803B3C80 003AF8E0  4B FF 8B E1 */	bl func_803AC860
/* 803B3C84 003AF8E4  7C 7F 1B 78 */	mr r31, r3
/* 803B3C88 003AF8E8  7F 63 DB 78 */	mr r3, r27
/* 803B3C8C 003AF8EC  38 9C 21 A8 */	addi r4, r28, 0x21a8
/* 803B3C90 003AF8F0  4B DC AF 8D */	bl cCharacter_IsPlayingEffect
/* 803B3C94 003AF8F4  3B 40 00 00 */	li r26, 0
lbl_803B3C98:
/* 803B3C98 003AF8F8  80 1C 00 28 */	lwz r0, 0x28(r28)
/* 803B3C9C 003AF8FC  2C 00 00 02 */	cmpwi r0, 2
/* 803B3CA0 003AF900  41 82 01 64 */	beq lbl_803B3E04
/* 803B3CA4 003AF904  40 80 00 14 */	bge lbl_803B3CB8
/* 803B3CA8 003AF908  2C 00 00 00 */	cmpwi r0, 0
/* 803B3CAC 003AF90C  41 82 00 D8 */	beq lbl_803B3D84
/* 803B3CB0 003AF910  40 80 00 F4 */	bge lbl_803B3DA4
/* 803B3CB4 003AF914  48 00 01 8C */	b lbl_803B3E40
lbl_803B3CB8:
/* 803B3CB8 003AF918  2C 00 00 04 */	cmpwi r0, 4
/* 803B3CBC 003AF91C  40 80 01 84 */	bge lbl_803B3E40
/* 803B3CC0 003AF920  48 00 01 78 */	b lbl_803B3E38
/* 803B3CC4 003AF924  48 00 00 C0 */	b lbl_803B3D84
lbl_803B3CC8:
/* 803B3CC8 003AF928  7C 7C 02 14 */	add r3, r28, r0
/* 803B3CCC 003AF92C  8B A3 21 E8 */	lbz r29, 0x21e8(r3)
/* 803B3CD0 003AF930  7F A3 EB 78 */	mr r3, r29
/* 803B3CD4 003AF934  48 02 9C 4D */	bl func_803DD920
/* 803B3CD8 003AF938  88 1C 31 08 */	lbz r0, 0x3108(r28)
/* 803B3CDC 003AF93C  7C 00 18 39 */	and. r0, r0, r3
/* 803B3CE0 003AF940  41 82 00 14 */	beq lbl_803B3CF4
/* 803B3CE4 003AF944  80 7C 00 2C */	lwz r3, 0x2c(r28)
/* 803B3CE8 003AF948  38 03 00 01 */	addi r0, r3, 1
/* 803B3CEC 003AF94C  90 1C 00 2C */	stw r0, 0x2c(r28)
/* 803B3CF0 003AF950  48 00 00 94 */	b lbl_803B3D84
lbl_803B3CF4:
/* 803B3CF4 003AF954  80 7C 00 2C */	lwz r3, 0x2c(r28)
/* 803B3CF8 003AF958  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803B3CFC 003AF95C  38 63 00 01 */	addi r3, r3, 1
/* 803B3D00 003AF960  90 7C 00 2C */	stw r3, 0x2c(r28)
/* 803B3D04 003AF964  7C 7C 02 14 */	add r3, r28, r0
/* 803B3D08 003AF968  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B3D0C 003AF96C  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B3D10 003AF970  40 82 00 74 */	bne lbl_803B3D84
/* 803B3D14 003AF974  7F 83 E3 78 */	mr r3, r28
/* 803B3D18 003AF978  7F A4 EB 78 */	mr r4, r29
/* 803B3D1C 003AF97C  48 00 B6 25 */	bl func_803BF340
/* 803B3D20 003AF980  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803B3D24 003AF984  28 00 01 08 */	cmplwi r0, 0x108
/* 803B3D28 003AF988  40 82 00 5C */	bne lbl_803B3D84
/* 803B3D2C 003AF98C  7F 83 E3 78 */	mr r3, r28
/* 803B3D30 003AF990  7F A4 EB 78 */	mr r4, r29
/* 803B3D34 003AF994  48 00 C5 B9 */	bl func_803C02EC
/* 803B3D38 003AF998  2C 03 00 00 */	cmpwi r3, 0
/* 803B3D3C 003AF99C  40 82 00 48 */	bne lbl_803B3D84
/* 803B3D40 003AF9A0  57 A0 30 32 */	slwi r0, r29, 6
/* 803B3D44 003AF9A4  7C 7C 02 14 */	add r3, r28, r0
/* 803B3D48 003AF9A8  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B3D4C 003AF9AC  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803B3D50 003AF9B0  40 82 00 34 */	bne lbl_803B3D84
/* 803B3D54 003AF9B4  7F 63 DB 78 */	mr r3, r27
/* 803B3D58 003AF9B8  4B FF E7 E1 */	bl func_803B2538
/* 803B3D5C 003AF9BC  93 BC 01 18 */	stw r29, 0x118(r28)
/* 803B3D60 003AF9C0  7F 83 E3 78 */	mr r3, r28
/* 803B3D64 003AF9C4  38 80 00 02 */	li r4, 2
/* 803B3D68 003AF9C8  38 A0 00 E8 */	li r5, 0xe8
/* 803B3D6C 003AF9CC  48 00 6C 69 */	bl func_803BA9D4
/* 803B3D70 003AF9D0  80 7C 00 08 */	lwz r3, 8(r28)
/* 803B3D74 003AF9D4  38 00 00 15 */	li r0, 0x15
/* 803B3D78 003AF9D8  90 7C 00 0C */	stw r3, 0xc(r28)
/* 803B3D7C 003AF9DC  90 1C 00 08 */	stw r0, 8(r28)
/* 803B3D80 003AF9E0  48 00 00 D8 */	b lbl_803B3E58
lbl_803B3D84:
/* 803B3D84 003AF9E4  80 1C 00 2C */	lwz r0, 0x2c(r28)
/* 803B3D88 003AF9E8  7C 00 F8 00 */	cmpw r0, r31
/* 803B3D8C 003AF9EC  41 80 FF 3C */	blt lbl_803B3CC8
/* 803B3D90 003AF9F0  80 7C 00 28 */	lwz r3, 0x28(r28)
/* 803B3D94 003AF9F4  93 5C 00 2C */	stw r26, 0x2c(r28)
/* 803B3D98 003AF9F8  38 03 00 01 */	addi r0, r3, 1
/* 803B3D9C 003AF9FC  90 1C 00 28 */	stw r0, 0x28(r28)
/* 803B3DA0 003AFA00  48 00 00 A0 */	b lbl_803B3E40
lbl_803B3DA4:
/* 803B3DA4 003AFA04  3B 00 00 00 */	li r24, 0
/* 803B3DA8 003AFA08  3B A0 00 00 */	li r29, 0
/* 803B3DAC 003AFA0C  48 00 00 40 */	b lbl_803B3DEC
lbl_803B3DB0:
/* 803B3DB0 003AFA10  7F 3C EA 14 */	add r25, r28, r29
/* 803B3DB4 003AFA14  80 19 2D B0 */	lwz r0, 0x2db0(r25)
/* 803B3DB8 003AFA18  54 00 02 11 */	rlwinm. r0, r0, 0, 8, 8
/* 803B3DBC 003AFA1C  41 82 00 28 */	beq lbl_803B3DE4
/* 803B3DC0 003AFA20  7F 83 E3 78 */	mr r3, r28
/* 803B3DC4 003AFA24  7F 04 C3 78 */	mr r4, r24
/* 803B3DC8 003AFA28  48 00 B5 79 */	bl func_803BF340
/* 803B3DCC 003AFA2C  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803B3DD0 003AFA30  28 00 00 63 */	cmplwi r0, 0x63
/* 803B3DD4 003AFA34  41 82 00 10 */	beq lbl_803B3DE4
/* 803B3DD8 003AFA38  80 19 2D B0 */	lwz r0, 0x2db0(r25)
/* 803B3DDC 003AFA3C  54 00 02 10 */	rlwinm r0, r0, 0, 8, 8
/* 803B3DE0 003AFA40  90 19 2D B0 */	stw r0, 0x2db0(r25)
lbl_803B3DE4:
/* 803B3DE4 003AFA44  3B 18 00 01 */	addi r24, r24, 1
/* 803B3DE8 003AFA48  3B BD 00 C0 */	addi r29, r29, 0xc0
lbl_803B3DEC:
/* 803B3DEC 003AFA4C  7C 18 F8 00 */	cmpw r24, r31
/* 803B3DF0 003AFA50  41 80 FF C0 */	blt lbl_803B3DB0
/* 803B3DF4 003AFA54  80 7C 00 28 */	lwz r3, 0x28(r28)
/* 803B3DF8 003AFA58  38 03 00 01 */	addi r0, r3, 1
/* 803B3DFC 003AFA5C  90 1C 00 28 */	stw r0, 0x28(r28)
/* 803B3E00 003AFA60  48 00 00 40 */	b lbl_803B3E40
lbl_803B3E04:
/* 803B3E04 003AFA64  3B 20 00 00 */	li r25, 0
/* 803B3E08 003AFA68  3B A0 00 00 */	li r29, 0
lbl_803B3E0C:
/* 803B3E0C 003AFA6C  48 02 59 AD */	bl func_803D97B8
/* 803B3E10 003AFA70  3B 39 00 01 */	addi r25, r25, 1
/* 803B3E14 003AFA74  7C 9C EA 14 */	add r4, r28, r29
/* 803B3E18 003AFA78  2C 19 00 04 */	cmpwi r25, 4
/* 803B3E1C 003AFA7C  B0 64 31 0C */	sth r3, 0x310c(r4)
/* 803B3E20 003AFA80  3B BD 00 02 */	addi r29, r29, 2
/* 803B3E24 003AFA84  41 80 FF E8 */	blt lbl_803B3E0C
/* 803B3E28 003AFA88  80 7C 00 28 */	lwz r3, 0x28(r28)
/* 803B3E2C 003AFA8C  38 03 00 01 */	addi r0, r3, 1
/* 803B3E30 003AFA90  90 1C 00 28 */	stw r0, 0x28(r28)
/* 803B3E34 003AFA94  48 00 00 0C */	b lbl_803B3E40
lbl_803B3E38:
/* 803B3E38 003AFA98  93 5C 00 28 */	stw r26, 0x28(r28)
/* 803B3E3C 003AFA9C  3B C0 00 02 */	li r30, 2
lbl_803B3E40:
/* 803B3E40 003AFAA0  2C 1E 00 00 */	cmpwi r30, 0
/* 803B3E44 003AFAA4  41 82 FE 54 */	beq lbl_803B3C98
/* 803B3E48 003AFAA8  2C 1E 00 02 */	cmpwi r30, 2
/* 803B3E4C 003AFAAC  40 82 00 0C */	bne lbl_803B3E58
/* 803B3E50 003AFAB0  38 00 00 08 */	li r0, 8
/* 803B3E54 003AFAB4  90 1C 00 08 */	stw r0, 8(r28)
lbl_803B3E58:
/* 803B3E58 003AFAB8  39 61 00 30 */	addi r11, r1, 0x30
/* 803B3E5C 003AFABC  4B E1 33 0D */	bl _restgpr_24
/* 803B3E60 003AFAC0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B3E64 003AFAC4  7C 08 03 A6 */	mtlr r0
/* 803B3E68 003AFAC8  38 21 00 30 */	addi r1, r1, 0x30
/* 803B3E6C 003AFACC  4E 80 00 20 */	blr 
/* 803B3E70 003AFAD0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B3E74 003AFAD4  7C 08 02 A6 */	mflr r0
/* 803B3E78 003AFAD8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B3E7C 003AFADC  39 61 00 20 */	addi r11, r1, 0x20
/* 803B3E80 003AFAE0  4B E1 32 B1 */	bl _savegpr_29
/* 803B3E84 003AFAE4  7C 7D 1B 78 */	mr r29, r3
/* 803B3E88 003AFAE8  7C 9E 23 78 */	mr r30, r4
/* 803B3E8C 003AFAEC  4B FF 89 D5 */	bl func_803AC860
/* 803B3E90 003AFAF0  7C 7F 1B 78 */	mr r31, r3
/* 803B3E94 003AFAF4  7F A3 EB 78 */	mr r3, r29
/* 803B3E98 003AFAF8  7F C4 F3 78 */	mr r4, r30
/* 803B3E9C 003AFAFC  48 00 C6 29 */	bl func_803C04C4
/* 803B3EA0 003AFB00  80 1E 00 EC */	lwz r0, 0xec(r30)
/* 803B3EA4 003AFB04  7C 00 F8 00 */	cmpw r0, r31
/* 803B3EA8 003AFB08  40 82 00 2C */	bne lbl_803B3ED4
/* 803B3EAC 003AFB0C  38 60 00 00 */	li r3, 0
/* 803B3EB0 003AFB10  38 00 00 09 */	li r0, 9
/* 803B3EB4 003AFB14  90 7E 00 EC */	stw r3, 0xec(r30)
/* 803B3EB8 003AFB18  38 60 00 15 */	li r3, 0x15
/* 803B3EBC 003AFB1C  38 80 00 00 */	li r4, 0
/* 803B3EC0 003AFB20  90 1E 00 08 */	stw r0, 8(r30)
/* 803B3EC4 003AFB24  4B DB BB 89 */	bl func_8016FA4C
/* 803B3EC8 003AFB28  38 60 00 0A */	li r3, 0xa
/* 803B3ECC 003AFB2C  4B DB A4 19 */	bl func_8016E2E4
/* 803B3ED0 003AFB30  48 00 00 34 */	b lbl_803B3F04
lbl_803B3ED4:
/* 803B3ED4 003AFB34  7C FE 02 14 */	add r7, r30, r0
/* 803B3ED8 003AFB38  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803B3EDC 003AFB3C  88 07 21 E8 */	lbz r0, 0x21e8(r7)
/* 803B3EE0 003AFB40  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803B3EE4 003AFB44  38 60 00 03 */	li r3, 3
/* 803B3EE8 003AFB48  54 00 20 36 */	slwi r0, r0, 4
/* 803B3EEC 003AFB4C  7C DE 02 14 */	add r6, r30, r0
/* 803B3EF0 003AFB50  80 06 21 A8 */	lwz r0, 0x21a8(r6)
/* 803B3EF4 003AFB54  90 1E 00 08 */	stw r0, 8(r30)
/* 803B3EF8 003AFB58  88 07 21 E8 */	lbz r0, 0x21e8(r7)
/* 803B3EFC 003AFB5C  90 05 CD E8 */	stw r0, -0x3218(r5)
/* 803B3F00 003AFB60  4B DB BB 4D */	bl func_8016FA4C
lbl_803B3F04:
/* 803B3F04 003AFB64  39 61 00 20 */	addi r11, r1, 0x20
/* 803B3F08 003AFB68  4B E1 32 75 */	bl _restgpr_29
/* 803B3F0C 003AFB6C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B3F10 003AFB70  7C 08 03 A6 */	mtlr r0
/* 803B3F14 003AFB74  38 21 00 20 */	addi r1, r1, 0x20
/* 803B3F18 003AFB78  4E 80 00 20 */	blr 
/* 803B3F1C 003AFB7C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803B3F20 003AFB80  7C 08 02 A6 */	mflr r0
/* 803B3F24 003AFB84  90 01 00 54 */	stw r0, 0x54(r1)
/* 803B3F28 003AFB88  39 61 00 50 */	addi r11, r1, 0x50
/* 803B3F2C 003AFB8C  4B E1 31 C9 */	bl __save_gpr
/* 803B3F30 003AFB90  7C 7D 1B 78 */	mr r29, r3
/* 803B3F34 003AFB94  7C 9E 23 78 */	mr r30, r4
/* 803B3F38 003AFB98  3B E0 00 00 */	li r31, 0
/* 803B3F3C 003AFB9C  4B FF 89 25 */	bl func_803AC860
/* 803B3F40 003AFBA0  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803B3F44 003AFBA4  7C 70 1B 78 */	mr r16, r3
/* 803B3F48 003AFBA8  3A 40 00 73 */	li r18, 0x73
/* 803B3F4C 003AFBAC  3A 60 00 15 */	li r19, 0x15
/* 803B3F50 003AFBB0  3A 84 CE 28 */	addi r20, r4, lbl_8048CE28@l
/* 803B3F54 003AFBB4  3A A0 00 71 */	li r21, 0x71
/* 803B3F58 003AFBB8  3A C0 00 36 */	li r22, 0x36
/* 803B3F5C 003AFBBC  3A E0 00 02 */	li r23, 2
/* 803B3F60 003AFBC0  39 C0 02 15 */	li r14, 0x215
/* 803B3F64 003AFBC4  3B 00 03 21 */	li r24, 0x321
/* 803B3F68 003AFBC8  3B 20 00 00 */	li r25, 0
/* 803B3F6C 003AFBCC  3B 40 03 25 */	li r26, 0x325
/* 803B3F70 003AFBD0  3B 60 03 28 */	li r27, 0x328
/* 803B3F74 003AFBD4  3B 80 03 2B */	li r28, 0x32b
/* 803B3F78 003AFBD8  3E 20 80 47 */	lis r17, 0x8047
lbl_803B3F7C:
/* 803B3F7C 003AFBDC  80 9E 00 08 */	lwz r4, 8(r30)
/* 803B3F80 003AFBE0  7F C3 F3 78 */	mr r3, r30
/* 803B3F84 003AFBE4  38 C0 00 01 */	li r6, 1
/* 803B3F88 003AFBE8  7C 85 23 78 */	mr r5, r4
/* 803B3F8C 003AFBEC  48 00 5C 65 */	bl func_803B9BF0
/* 803B3F90 003AFBF0  2C 03 00 01 */	cmpwi r3, 1
/* 803B3F94 003AFBF4  41 82 08 D8 */	beq lbl_803B486C
/* 803B3F98 003AFBF8  80 9E 00 08 */	lwz r4, 8(r30)
/* 803B3F9C 003AFBFC  7F C3 F3 78 */	mr r3, r30
/* 803B3FA0 003AFC00  7C 85 23 78 */	mr r5, r4
/* 803B3FA4 003AFC04  48 00 5D 41 */	bl func_803B9CE4
/* 803B3FA8 003AFC08  2C 03 00 01 */	cmpwi r3, 1
/* 803B3FAC 003AFC0C  41 82 08 C0 */	beq lbl_803B486C
/* 803B3FB0 003AFC10  7F A3 EB 78 */	mr r3, r29
/* 803B3FB4 003AFC14  7F C4 F3 78 */	mr r4, r30
/* 803B3FB8 003AFC18  48 00 58 09 */	bl func_803B97C0
/* 803B3FBC 003AFC1C  2C 03 00 01 */	cmpwi r3, 1
/* 803B3FC0 003AFC20  41 82 08 AC */	beq lbl_803B486C
/* 803B3FC4 003AFC24  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803B3FC8 003AFC28  28 00 00 0D */	cmplwi r0, 0xd
/* 803B3FCC 003AFC2C  41 81 08 70 */	bgt lbl_803B483C
/* 803B3FD0 003AFC30  38 71 33 74 */	addi r3, r17, 0x3374
/* 803B3FD4 003AFC34  54 00 10 3A */	slwi r0, r0, 2
/* 803B3FD8 003AFC38  7C 63 00 2E */	lwzx r3, r3, r0
/* 803B3FDC 003AFC3C  7C 69 03 A6 */	mtctr r3
/* 803B3FE0 003AFC40  4E 80 04 20 */	bctr 
/* 803B3FE4 003AFC44  48 00 00 98 */	b lbl_803B407C
lbl_803B3FE8:
/* 803B3FE8 003AFC48  55 E0 10 3A */	slwi r0, r15, 2
/* 803B3FEC 003AFC4C  7C DE 02 14 */	add r6, r30, r0
/* 803B3FF0 003AFC50  80 06 01 BC */	lwz r0, 0x1bc(r6)
/* 803B3FF4 003AFC54  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B3FF8 003AFC58  41 82 00 70 */	beq lbl_803B4068
/* 803B3FFC 003AFC5C  55 E0 18 38 */	slwi r0, r15, 3
/* 803B4000 003AFC60  7C BE 02 14 */	add r5, r30, r0
/* 803B4004 003AFC64  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803B4008 003AFC68  54 83 2F 7E */	rlwinm r3, r4, 5, 0x1d, 0x1f
/* 803B400C 003AFC6C  38 03 FF FF */	addi r0, r3, -1
/* 803B4010 003AFC70  50 04 D8 88 */	rlwimi r4, r0, 0x1b, 2, 4
/* 803B4014 003AFC74  54 80 2F 7F */	rlwinm. r0, r4, 5, 0x1d, 0x1f
/* 803B4018 003AFC78  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803B401C 003AFC7C  40 82 00 4C */	bne lbl_803B4068
/* 803B4020 003AFC80  80 06 01 BC */	lwz r0, 0x1bc(r6)
/* 803B4024 003AFC84  7F C3 F3 78 */	mr r3, r30
/* 803B4028 003AFC88  38 80 00 02 */	li r4, 2
/* 803B402C 003AFC8C  38 A0 00 32 */	li r5, 0x32
/* 803B4030 003AFC90  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803B4034 003AFC94  90 06 01 BC */	stw r0, 0x1bc(r6)
/* 803B4038 003AFC98  92 5E 01 24 */	stw r18, 0x124(r30)
/* 803B403C 003AFC9C  48 00 69 99 */	bl func_803BA9D4
/* 803B4040 003AFCA0  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4044 003AFCA4  7F A3 EB 78 */	mr r3, r29
/* 803B4048 003AFCA8  7F C4 F3 78 */	mr r4, r30
/* 803B404C 003AFCAC  7D E5 7B 78 */	mr r5, r15
/* 803B4050 003AFCB0  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4054 003AFCB4  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4058 003AFCB8  48 01 47 5D */	bl func_803C87B4
/* 803B405C 003AFCBC  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B4060 003AFCC0  3B E0 00 01 */	li r31, 1
/* 803B4064 003AFCC4  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B4068:
/* 803B4068 003AFCC8  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B406C 003AFCCC  2C 1F 00 00 */	cmpwi r31, 0
/* 803B4070 003AFCD0  38 03 00 01 */	addi r0, r3, 1
/* 803B4074 003AFCD4  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B4078 003AFCD8  40 82 00 10 */	bne lbl_803B4088
lbl_803B407C:
/* 803B407C 003AFCDC  81 FE 00 14 */	lwz r15, 0x14(r30)
/* 803B4080 003AFCE0  2C 0F 00 02 */	cmpwi r15, 2
/* 803B4084 003AFCE4  41 80 FF 64 */	blt lbl_803B3FE8
lbl_803B4088:
/* 803B4088 003AFCE8  2C 1F 00 00 */	cmpwi r31, 0
/* 803B408C 003AFCEC  40 82 07 B0 */	bne lbl_803B483C
/* 803B4090 003AFCF0  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4094 003AFCF4  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B4098 003AFCF8  38 03 00 01 */	addi r0, r3, 1
/* 803B409C 003AFCFC  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B40A0 003AFD00  48 00 07 9C */	b lbl_803B483C
/* 803B40A4 003AFD04  48 00 00 98 */	b lbl_803B413C
lbl_803B40A8:
/* 803B40A8 003AFD08  55 E0 10 3A */	slwi r0, r15, 2
/* 803B40AC 003AFD0C  7C DE 02 14 */	add r6, r30, r0
/* 803B40B0 003AFD10  80 06 01 BC */	lwz r0, 0x1bc(r6)
/* 803B40B4 003AFD14  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803B40B8 003AFD18  41 82 00 70 */	beq lbl_803B4128
/* 803B40BC 003AFD1C  55 E0 18 38 */	slwi r0, r15, 3
/* 803B40C0 003AFD20  7C BE 02 14 */	add r5, r30, r0
/* 803B40C4 003AFD24  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803B40C8 003AFD28  54 83 57 7E */	rlwinm r3, r4, 0xa, 0x1d, 0x1f
/* 803B40CC 003AFD2C  38 03 FF FF */	addi r0, r3, -1
/* 803B40D0 003AFD30  50 04 B1 D2 */	rlwimi r4, r0, 0x16, 7, 9
/* 803B40D4 003AFD34  54 80 57 7F */	rlwinm. r0, r4, 0xa, 0x1d, 0x1f
/* 803B40D8 003AFD38  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803B40DC 003AFD3C  40 82 00 4C */	bne lbl_803B4128
/* 803B40E0 003AFD40  80 06 01 BC */	lwz r0, 0x1bc(r6)
/* 803B40E4 003AFD44  7F C3 F3 78 */	mr r3, r30
/* 803B40E8 003AFD48  38 80 00 02 */	li r4, 2
/* 803B40EC 003AFD4C  38 A0 00 32 */	li r5, 0x32
/* 803B40F0 003AFD50  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 803B40F4 003AFD54  90 06 01 BC */	stw r0, 0x1bc(r6)
/* 803B40F8 003AFD58  92 BE 01 24 */	stw r21, 0x124(r30)
/* 803B40FC 003AFD5C  48 00 68 D9 */	bl func_803BA9D4
/* 803B4100 003AFD60  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4104 003AFD64  7F A3 EB 78 */	mr r3, r29
/* 803B4108 003AFD68  7F C4 F3 78 */	mr r4, r30
/* 803B410C 003AFD6C  7D E5 7B 78 */	mr r5, r15
/* 803B4110 003AFD70  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4114 003AFD74  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4118 003AFD78  48 01 46 9D */	bl func_803C87B4
/* 803B411C 003AFD7C  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B4120 003AFD80  3B E0 00 01 */	li r31, 1
/* 803B4124 003AFD84  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B4128:
/* 803B4128 003AFD88  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B412C 003AFD8C  2C 1F 00 00 */	cmpwi r31, 0
/* 803B4130 003AFD90  38 03 00 01 */	addi r0, r3, 1
/* 803B4134 003AFD94  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B4138 003AFD98  40 82 00 10 */	bne lbl_803B4148
lbl_803B413C:
/* 803B413C 003AFD9C  81 FE 00 14 */	lwz r15, 0x14(r30)
/* 803B4140 003AFDA0  2C 0F 00 02 */	cmpwi r15, 2
/* 803B4144 003AFDA4  41 80 FF 64 */	blt lbl_803B40A8
lbl_803B4148:
/* 803B4148 003AFDA8  2C 1F 00 00 */	cmpwi r31, 0
/* 803B414C 003AFDAC  40 82 06 F0 */	bne lbl_803B483C
/* 803B4150 003AFDB0  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4154 003AFDB4  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B4158 003AFDB8  38 03 00 01 */	addi r0, r3, 1
/* 803B415C 003AFDBC  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4160 003AFDC0  48 00 06 DC */	b lbl_803B483C
/* 803B4164 003AFDC4  48 00 00 98 */	b lbl_803B41FC
lbl_803B4168:
/* 803B4168 003AFDC8  55 E0 10 3A */	slwi r0, r15, 2
/* 803B416C 003AFDCC  7C DE 02 14 */	add r6, r30, r0
/* 803B4170 003AFDD0  80 06 01 BC */	lwz r0, 0x1bc(r6)
/* 803B4174 003AFDD4  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B4178 003AFDD8  41 82 00 70 */	beq lbl_803B41E8
/* 803B417C 003AFDDC  55 E0 18 38 */	slwi r0, r15, 3
/* 803B4180 003AFDE0  7C BE 02 14 */	add r5, r30, r0
/* 803B4184 003AFDE4  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803B4188 003AFDE8  54 83 7F 7E */	rlwinm r3, r4, 0xf, 0x1d, 0x1f
/* 803B418C 003AFDEC  38 03 FF FF */	addi r0, r3, -1
/* 803B4190 003AFDF0  50 04 8B 1C */	rlwimi r4, r0, 0x11, 0xc, 0xe
/* 803B4194 003AFDF4  54 80 7F 7F */	rlwinm. r0, r4, 0xf, 0x1d, 0x1f
/* 803B4198 003AFDF8  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803B419C 003AFDFC  40 82 00 4C */	bne lbl_803B41E8
/* 803B41A0 003AFE00  80 06 01 BC */	lwz r0, 0x1bc(r6)
/* 803B41A4 003AFE04  7F C3 F3 78 */	mr r3, r30
/* 803B41A8 003AFE08  38 80 00 02 */	li r4, 2
/* 803B41AC 003AFE0C  38 A0 00 32 */	li r5, 0x32
/* 803B41B0 003AFE10  54 00 06 B0 */	rlwinm r0, r0, 0, 0x1a, 0x18
/* 803B41B4 003AFE14  90 06 01 BC */	stw r0, 0x1bc(r6)
/* 803B41B8 003AFE18  92 DE 01 24 */	stw r22, 0x124(r30)
/* 803B41BC 003AFE1C  48 00 68 19 */	bl func_803BA9D4
/* 803B41C0 003AFE20  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B41C4 003AFE24  7F A3 EB 78 */	mr r3, r29
/* 803B41C8 003AFE28  7F C4 F3 78 */	mr r4, r30
/* 803B41CC 003AFE2C  7D E5 7B 78 */	mr r5, r15
/* 803B41D0 003AFE30  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B41D4 003AFE34  92 7E 00 08 */	stw r19, 8(r30)
/* 803B41D8 003AFE38  48 01 45 DD */	bl func_803C87B4
/* 803B41DC 003AFE3C  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B41E0 003AFE40  3B E0 00 01 */	li r31, 1
/* 803B41E4 003AFE44  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B41E8:
/* 803B41E8 003AFE48  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B41EC 003AFE4C  2C 1F 00 00 */	cmpwi r31, 0
/* 803B41F0 003AFE50  38 03 00 01 */	addi r0, r3, 1
/* 803B41F4 003AFE54  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B41F8 003AFE58  40 82 00 10 */	bne lbl_803B4208
lbl_803B41FC:
/* 803B41FC 003AFE5C  81 FE 00 14 */	lwz r15, 0x14(r30)
/* 803B4200 003AFE60  2C 0F 00 02 */	cmpwi r15, 2
/* 803B4204 003AFE64  41 80 FF 64 */	blt lbl_803B4168
lbl_803B4208:
/* 803B4208 003AFE68  2C 1F 00 00 */	cmpwi r31, 0
/* 803B420C 003AFE6C  40 82 06 30 */	bne lbl_803B483C
/* 803B4210 003AFE70  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4214 003AFE74  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B4218 003AFE78  38 03 00 01 */	addi r0, r3, 1
/* 803B421C 003AFE7C  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4220 003AFE80  48 00 06 1C */	b lbl_803B483C
/* 803B4224 003AFE84  48 00 00 A0 */	b lbl_803B42C4
lbl_803B4228:
/* 803B4228 003AFE88  55 E0 10 3A */	slwi r0, r15, 2
/* 803B422C 003AFE8C  7C FE 02 14 */	add r7, r30, r0
/* 803B4230 003AFE90  80 07 01 BC */	lwz r0, 0x1bc(r7)
/* 803B4234 003AFE94  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803B4238 003AFE98  41 82 00 78 */	beq lbl_803B42B0
/* 803B423C 003AFE9C  55 E0 18 38 */	slwi r0, r15, 3
/* 803B4240 003AFEA0  7C DE 02 14 */	add r6, r30, r0
/* 803B4244 003AFEA4  80 86 01 C4 */	lwz r4, 0x1c4(r6)
/* 803B4248 003AFEA8  54 83 A7 7E */	rlwinm r3, r4, 0x14, 0x1d, 0x1f
/* 803B424C 003AFEAC  38 03 FF FF */	addi r0, r3, -1
/* 803B4250 003AFEB0  50 04 64 66 */	rlwimi r4, r0, 0xc, 0x11, 0x13
/* 803B4254 003AFEB4  54 80 A7 7F */	rlwinm. r0, r4, 0x14, 0x1d, 0x1f
/* 803B4258 003AFEB8  90 86 01 C4 */	stw r4, 0x1c4(r6)
/* 803B425C 003AFEBC  40 82 00 54 */	bne lbl_803B42B0
/* 803B4260 003AFEC0  80 07 01 BC */	lwz r0, 0x1bc(r7)
/* 803B4264 003AFEC4  7F C3 F3 78 */	mr r3, r30
/* 803B4268 003AFEC8  38 80 00 02 */	li r4, 2
/* 803B426C 003AFECC  38 A0 00 6E */	li r5, 0x6e
/* 803B4270 003AFED0  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 803B4274 003AFED4  90 07 01 BC */	stw r0, 0x1bc(r7)
/* 803B4278 003AFED8  80 06 01 C4 */	lwz r0, 0x1c4(r6)
/* 803B427C 003AFEDC  54 00 8F BE */	rlwinm r0, r0, 0x11, 0x1e, 0x1f
/* 803B4280 003AFEE0  90 1E 01 18 */	stw r0, 0x118(r30)
/* 803B4284 003AFEE4  48 00 67 51 */	bl func_803BA9D4
/* 803B4288 003AFEE8  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B428C 003AFEEC  7F A3 EB 78 */	mr r3, r29
/* 803B4290 003AFEF0  7F C4 F3 78 */	mr r4, r30
/* 803B4294 003AFEF4  7D E5 7B 78 */	mr r5, r15
/* 803B4298 003AFEF8  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B429C 003AFEFC  92 7E 00 08 */	stw r19, 8(r30)
/* 803B42A0 003AFF00  48 01 45 15 */	bl func_803C87B4
/* 803B42A4 003AFF04  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B42A8 003AFF08  3B E0 00 01 */	li r31, 1
/* 803B42AC 003AFF0C  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B42B0:
/* 803B42B0 003AFF10  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B42B4 003AFF14  2C 1F 00 00 */	cmpwi r31, 0
/* 803B42B8 003AFF18  38 03 00 01 */	addi r0, r3, 1
/* 803B42BC 003AFF1C  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B42C0 003AFF20  40 82 00 10 */	bne lbl_803B42D0
lbl_803B42C4:
/* 803B42C4 003AFF24  81 FE 00 14 */	lwz r15, 0x14(r30)
/* 803B42C8 003AFF28  2C 0F 00 02 */	cmpwi r15, 2
/* 803B42CC 003AFF2C  41 80 FF 5C */	blt lbl_803B4228
lbl_803B42D0:
/* 803B42D0 003AFF30  2C 1F 00 00 */	cmpwi r31, 0
/* 803B42D4 003AFF34  40 82 05 68 */	bne lbl_803B483C
/* 803B42D8 003AFF38  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B42DC 003AFF3C  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B42E0 003AFF40  38 03 00 01 */	addi r0, r3, 1
/* 803B42E4 003AFF44  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B42E8 003AFF48  48 00 05 54 */	b lbl_803B483C
/* 803B42EC 003AFF4C  48 00 00 74 */	b lbl_803B4360
lbl_803B42F0:
/* 803B42F0 003AFF50  55 E0 10 3A */	slwi r0, r15, 2
/* 803B42F4 003AFF54  7C 9E 02 14 */	add r4, r30, r0
/* 803B42F8 003AFF58  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803B42FC 003AFF5C  54 60 05 AF */	rlwinm. r0, r3, 0, 0x16, 0x17
/* 803B4300 003AFF60  41 82 00 4C */	beq lbl_803B434C
/* 803B4304 003AFF64  38 63 FF 00 */	addi r3, r3, -256
/* 803B4308 003AFF68  54 60 05 AF */	rlwinm. r0, r3, 0, 0x16, 0x17
/* 803B430C 003AFF6C  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803B4310 003AFF70  40 82 00 3C */	bne lbl_803B434C
/* 803B4314 003AFF74  7F C3 F3 78 */	mr r3, r30
/* 803B4318 003AFF78  38 80 00 02 */	li r4, 2
/* 803B431C 003AFF7C  38 A0 00 E9 */	li r5, 0xe9
/* 803B4320 003AFF80  48 00 66 B5 */	bl func_803BA9D4
/* 803B4324 003AFF84  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4328 003AFF88  7F A3 EB 78 */	mr r3, r29
/* 803B432C 003AFF8C  7F C4 F3 78 */	mr r4, r30
/* 803B4330 003AFF90  7D E5 7B 78 */	mr r5, r15
/* 803B4334 003AFF94  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4338 003AFF98  92 7E 00 08 */	stw r19, 8(r30)
/* 803B433C 003AFF9C  48 01 44 79 */	bl func_803C87B4
/* 803B4340 003AFFA0  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B4344 003AFFA4  3B E0 00 01 */	li r31, 1
/* 803B4348 003AFFA8  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B434C:
/* 803B434C 003AFFAC  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B4350 003AFFB0  2C 1F 00 00 */	cmpwi r31, 0
/* 803B4354 003AFFB4  38 03 00 01 */	addi r0, r3, 1
/* 803B4358 003AFFB8  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B435C 003AFFBC  40 82 00 10 */	bne lbl_803B436C
lbl_803B4360:
/* 803B4360 003AFFC0  81 FE 00 14 */	lwz r15, 0x14(r30)
/* 803B4364 003AFFC4  2C 0F 00 02 */	cmpwi r15, 2
/* 803B4368 003AFFC8  41 80 FF 88 */	blt lbl_803B42F0
lbl_803B436C:
/* 803B436C 003AFFCC  2C 1F 00 00 */	cmpwi r31, 0
/* 803B4370 003AFFD0  40 82 04 CC */	bne lbl_803B483C
/* 803B4374 003AFFD4  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4378 003AFFD8  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B437C 003AFFDC  38 03 00 01 */	addi r0, r3, 1
/* 803B4380 003AFFE0  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4384 003AFFE4  48 00 04 B8 */	b lbl_803B483C
/* 803B4388 003AFFE8  48 00 00 74 */	b lbl_803B43FC
lbl_803B438C:
/* 803B438C 003AFFEC  55 E0 10 3A */	slwi r0, r15, 2
/* 803B4390 003AFFF0  7C 9E 02 14 */	add r4, r30, r0
/* 803B4394 003AFFF4  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803B4398 003AFFF8  54 60 04 67 */	rlwinm. r0, r3, 0, 0x11, 0x13
/* 803B439C 003AFFFC  41 82 00 4C */	beq lbl_803B43E8
/* 803B43A0 003B0000  38 63 F0 00 */	addi r3, r3, -4096
/* 803B43A4 003B0004  54 60 04 67 */	rlwinm. r0, r3, 0, 0x11, 0x13
/* 803B43A8 003B0008  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803B43AC 003B000C  40 82 00 3C */	bne lbl_803B43E8
/* 803B43B0 003B0010  7F C3 F3 78 */	mr r3, r30
/* 803B43B4 003B0014  38 80 00 02 */	li r4, 2
/* 803B43B8 003B0018  38 A0 00 FA */	li r5, 0xfa
/* 803B43BC 003B001C  48 00 66 19 */	bl func_803BA9D4
/* 803B43C0 003B0020  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B43C4 003B0024  7F A3 EB 78 */	mr r3, r29
/* 803B43C8 003B0028  7F C4 F3 78 */	mr r4, r30
/* 803B43CC 003B002C  7D E5 7B 78 */	mr r5, r15
/* 803B43D0 003B0030  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B43D4 003B0034  92 7E 00 08 */	stw r19, 8(r30)
/* 803B43D8 003B0038  48 01 43 DD */	bl func_803C87B4
/* 803B43DC 003B003C  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B43E0 003B0040  3B E0 00 01 */	li r31, 1
/* 803B43E4 003B0044  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B43E8:
/* 803B43E8 003B0048  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B43EC 003B004C  2C 1F 00 00 */	cmpwi r31, 0
/* 803B43F0 003B0050  38 03 00 01 */	addi r0, r3, 1
/* 803B43F4 003B0054  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B43F8 003B0058  40 82 00 10 */	bne lbl_803B4408
lbl_803B43FC:
/* 803B43FC 003B005C  81 FE 00 14 */	lwz r15, 0x14(r30)
/* 803B4400 003B0060  2C 0F 00 02 */	cmpwi r15, 2
/* 803B4404 003B0064  41 80 FF 88 */	blt lbl_803B438C
lbl_803B4408:
/* 803B4408 003B0068  2C 1F 00 00 */	cmpwi r31, 0
/* 803B440C 003B006C  40 82 04 30 */	bne lbl_803B483C
/* 803B4410 003B0070  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4414 003B0074  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B4418 003B0078  38 03 00 01 */	addi r0, r3, 1
/* 803B441C 003B007C  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4420 003B0080  48 00 04 1C */	b lbl_803B483C
/* 803B4424 003B0084  48 00 00 A4 */	b lbl_803B44C8
lbl_803B4428:
/* 803B4428 003B0088  7C 7E 02 14 */	add r3, r30, r0
/* 803B442C 003B008C  89 E3 21 EC */	lbz r15, 0x21ec(r3)
/* 803B4430 003B0090  7C BE 7A 14 */	add r5, r30, r15
/* 803B4434 003B0094  88 65 01 8C */	lbz r3, 0x18c(r5)
/* 803B4438 003B0098  2C 03 00 00 */	cmpwi r3, 0
/* 803B443C 003B009C  41 82 00 78 */	beq lbl_803B44B4
/* 803B4440 003B00A0  38 63 FF FF */	addi r3, r3, -1
/* 803B4444 003B00A4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B4448 003B00A8  98 65 01 8C */	stb r3, 0x18c(r5)
/* 803B444C 003B00AC  40 82 00 68 */	bne lbl_803B44B4
/* 803B4450 003B00B0  1C 0F 00 C0 */	mulli r0, r15, 0xc0
/* 803B4454 003B00B4  7C 7E 02 14 */	add r3, r30, r0
/* 803B4458 003B00B8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B445C 003B00BC  2C 00 00 00 */	cmpwi r0, 0
/* 803B4460 003B00C0  41 82 00 54 */	beq lbl_803B44B4
/* 803B4464 003B00C4  91 FE 01 18 */	stw r15, 0x118(r30)
/* 803B4468 003B00C8  38 80 00 02 */	li r4, 2
/* 803B446C 003B00CC  9A FE 00 F5 */	stb r23, 0xf5(r30)
/* 803B4470 003B00D0  B1 DE 00 F6 */	sth r14, 0xf6(r30)
/* 803B4474 003B00D4  88 05 01 B8 */	lbz r0, 0x1b8(r5)
/* 803B4478 003B00D8  54 00 40 2E */	slwi r0, r0, 8
/* 803B447C 003B00DC  7D E0 03 78 */	or r0, r15, r0
/* 803B4480 003B00E0  90 1E 00 F8 */	stw r0, 0xf8(r30)
/* 803B4484 003B00E4  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803B4488 003B00E8  48 00 C6 E1 */	bl func_803C0B68
/* 803B448C 003B00EC  90 7E 21 5C */	stw r3, 0x215c(r30)
/* 803B4490 003B00F0  7F C3 F3 78 */	mr r3, r30
/* 803B4494 003B00F4  38 80 00 02 */	li r4, 2
/* 803B4498 003B00F8  38 A0 00 88 */	li r5, 0x88
/* 803B449C 003B00FC  48 00 65 39 */	bl func_803BA9D4
/* 803B44A0 003B0100  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B44A4 003B0104  3B E0 00 01 */	li r31, 1
/* 803B44A8 003B0108  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B44AC 003B010C  92 7E 00 08 */	stw r19, 8(r30)
/* 803B44B0 003B0110  91 F4 00 0C */	stw r15, 0xc(r20)
lbl_803B44B4:
/* 803B44B4 003B0114  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 803B44B8 003B0118  2C 1F 00 00 */	cmpwi r31, 0
/* 803B44BC 003B011C  38 03 00 01 */	addi r0, r3, 1
/* 803B44C0 003B0120  90 1E 00 14 */	stw r0, 0x14(r30)
/* 803B44C4 003B0124  40 82 00 10 */	bne lbl_803B44D4
lbl_803B44C8:
/* 803B44C8 003B0128  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 803B44CC 003B012C  7C 00 80 00 */	cmpw r0, r16
/* 803B44D0 003B0130  41 80 FF 58 */	blt lbl_803B4428
lbl_803B44D4:
/* 803B44D4 003B0134  2C 1F 00 00 */	cmpwi r31, 0
/* 803B44D8 003B0138  40 82 03 64 */	bne lbl_803B483C
/* 803B44DC 003B013C  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B44E0 003B0140  93 3E 00 14 */	stw r25, 0x14(r30)
/* 803B44E4 003B0144  38 03 00 01 */	addi r0, r3, 1
/* 803B44E8 003B0148  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B44EC 003B014C  48 00 03 50 */	b lbl_803B483C
/* 803B44F0 003B0150  80 7E 01 80 */	lwz r3, 0x180(r30)
/* 803B44F4 003B0154  54 60 07 BF */	clrlwi. r0, r3, 0x1e
/* 803B44F8 003B0158  41 82 00 94 */	beq lbl_803B458C
/* 803B44FC 003B015C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803B4500 003B0160  41 82 00 2C */	beq lbl_803B452C
/* 803B4504 003B0164  B3 1E 00 F6 */	sth r24, 0xf6(r30)
/* 803B4508 003B0168  7F C3 F3 78 */	mr r3, r30
/* 803B450C 003B016C  38 80 00 02 */	li r4, 2
/* 803B4510 003B0170  38 A0 00 68 */	li r5, 0x68
/* 803B4514 003B0174  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B4518 003B0178  48 00 64 BD */	bl func_803BA9D4
/* 803B451C 003B017C  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4520 003B0180  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4524 003B0184  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4528 003B0188  48 00 00 58 */	b lbl_803B4580
lbl_803B452C:
/* 803B452C 003B018C  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 803B4530 003B0190  34 00 FF FF */	addic. r0, r0, -1
/* 803B4534 003B0194  90 1E 01 84 */	stw r0, 0x184(r30)
/* 803B4538 003B0198  40 82 00 24 */	bne lbl_803B455C
/* 803B453C 003B019C  7F C3 F3 78 */	mr r3, r30
/* 803B4540 003B01A0  38 80 00 02 */	li r4, 2
/* 803B4544 003B01A4  38 A0 00 EA */	li r5, 0xea
/* 803B4548 003B01A8  48 00 64 8D */	bl func_803BA9D4
/* 803B454C 003B01AC  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4550 003B01B0  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4554 003B01B4  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4558 003B01B8  48 00 00 28 */	b lbl_803B4580
lbl_803B455C:
/* 803B455C 003B01BC  B3 1E 00 F6 */	sth r24, 0xf6(r30)
/* 803B4560 003B01C0  7F C3 F3 78 */	mr r3, r30
/* 803B4564 003B01C4  38 80 00 02 */	li r4, 2
/* 803B4568 003B01C8  38 A0 00 68 */	li r5, 0x68
/* 803B456C 003B01CC  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B4570 003B01D0  48 00 64 65 */	bl func_803BA9D4
/* 803B4574 003B01D4  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4578 003B01D8  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B457C 003B01DC  92 7E 00 08 */	stw r19, 8(r30)
lbl_803B4580:
/* 803B4580 003B01E0  38 00 00 13 */	li r0, 0x13
/* 803B4584 003B01E4  3B E0 00 01 */	li r31, 1
/* 803B4588 003B01E8  90 1E 01 38 */	stw r0, 0x138(r30)
lbl_803B458C:
/* 803B458C 003B01EC  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4590 003B01F0  38 03 00 01 */	addi r0, r3, 1
/* 803B4594 003B01F4  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4598 003B01F8  48 00 02 A4 */	b lbl_803B483C
/* 803B459C 003B01FC  80 7E 01 80 */	lwz r3, 0x180(r30)
/* 803B45A0 003B0200  54 60 07 3B */	rlwinm. r0, r3, 0, 0x1c, 0x1d
/* 803B45A4 003B0204  41 82 00 90 */	beq lbl_803B4634
/* 803B45A8 003B0208  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803B45AC 003B020C  41 82 00 2C */	beq lbl_803B45D8
/* 803B45B0 003B0210  B3 5E 00 F6 */	sth r26, 0xf6(r30)
/* 803B45B4 003B0214  7F C3 F3 78 */	mr r3, r30
/* 803B45B8 003B0218  38 80 00 02 */	li r4, 2
/* 803B45BC 003B021C  38 A0 00 68 */	li r5, 0x68
/* 803B45C0 003B0220  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B45C4 003B0224  48 00 64 11 */	bl func_803BA9D4
/* 803B45C8 003B0228  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B45CC 003B022C  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B45D0 003B0230  92 7E 00 08 */	stw r19, 8(r30)
/* 803B45D4 003B0234  48 00 00 58 */	b lbl_803B462C
lbl_803B45D8:
/* 803B45D8 003B0238  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 803B45DC 003B023C  34 00 FF FF */	addic. r0, r0, -1
/* 803B45E0 003B0240  90 1E 01 84 */	stw r0, 0x184(r30)
/* 803B45E4 003B0244  40 82 00 24 */	bne lbl_803B4608
/* 803B45E8 003B0248  7F C3 F3 78 */	mr r3, r30
/* 803B45EC 003B024C  38 80 00 02 */	li r4, 2
/* 803B45F0 003B0250  38 A0 00 EB */	li r5, 0xeb
/* 803B45F4 003B0254  48 00 63 E1 */	bl func_803BA9D4
/* 803B45F8 003B0258  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B45FC 003B025C  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4600 003B0260  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4604 003B0264  48 00 00 28 */	b lbl_803B462C
lbl_803B4608:
/* 803B4608 003B0268  B3 5E 00 F6 */	sth r26, 0xf6(r30)
/* 803B460C 003B026C  7F C3 F3 78 */	mr r3, r30
/* 803B4610 003B0270  38 80 00 02 */	li r4, 2
/* 803B4614 003B0274  38 A0 00 68 */	li r5, 0x68
/* 803B4618 003B0278  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B461C 003B027C  48 00 63 B9 */	bl func_803BA9D4
/* 803B4620 003B0280  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4624 003B0284  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4628 003B0288  92 7E 00 08 */	stw r19, 8(r30)
lbl_803B462C:
/* 803B462C 003B028C  92 7E 01 38 */	stw r19, 0x138(r30)
/* 803B4630 003B0290  3B E0 00 01 */	li r31, 1
lbl_803B4634:
/* 803B4634 003B0294  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4638 003B0298  38 03 00 01 */	addi r0, r3, 1
/* 803B463C 003B029C  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4640 003B02A0  48 00 01 FC */	b lbl_803B483C
/* 803B4644 003B02A4  80 7E 01 80 */	lwz r3, 0x180(r30)
/* 803B4648 003B02A8  54 60 06 B7 */	rlwinm. r0, r3, 0, 0x1a, 0x1b
/* 803B464C 003B02AC  41 82 00 94 */	beq lbl_803B46E0
/* 803B4650 003B02B0  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803B4654 003B02B4  41 82 00 2C */	beq lbl_803B4680
/* 803B4658 003B02B8  B3 7E 00 F6 */	sth r27, 0xf6(r30)
/* 803B465C 003B02BC  7F C3 F3 78 */	mr r3, r30
/* 803B4660 003B02C0  38 80 00 02 */	li r4, 2
/* 803B4664 003B02C4  38 A0 00 68 */	li r5, 0x68
/* 803B4668 003B02C8  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B466C 003B02CC  48 00 63 69 */	bl func_803BA9D4
/* 803B4670 003B02D0  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4674 003B02D4  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4678 003B02D8  92 7E 00 08 */	stw r19, 8(r30)
/* 803B467C 003B02DC  48 00 00 58 */	b lbl_803B46D4
lbl_803B4680:
/* 803B4680 003B02E0  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 803B4684 003B02E4  34 00 FF FF */	addic. r0, r0, -1
/* 803B4688 003B02E8  90 1E 01 84 */	stw r0, 0x184(r30)
/* 803B468C 003B02EC  40 82 00 24 */	bne lbl_803B46B0
/* 803B4690 003B02F0  7F C3 F3 78 */	mr r3, r30
/* 803B4694 003B02F4  38 80 00 02 */	li r4, 2
/* 803B4698 003B02F8  38 A0 00 EC */	li r5, 0xec
/* 803B469C 003B02FC  48 00 63 39 */	bl func_803BA9D4
/* 803B46A0 003B0300  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B46A4 003B0304  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B46A8 003B0308  92 7E 00 08 */	stw r19, 8(r30)
/* 803B46AC 003B030C  48 00 00 28 */	b lbl_803B46D4
lbl_803B46B0:
/* 803B46B0 003B0310  B3 7E 00 F6 */	sth r27, 0xf6(r30)
/* 803B46B4 003B0314  7F C3 F3 78 */	mr r3, r30
/* 803B46B8 003B0318  38 80 00 02 */	li r4, 2
/* 803B46BC 003B031C  38 A0 00 68 */	li r5, 0x68
/* 803B46C0 003B0320  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B46C4 003B0324  48 00 63 11 */	bl func_803BA9D4
/* 803B46C8 003B0328  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B46CC 003B032C  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B46D0 003B0330  92 7E 00 08 */	stw r19, 8(r30)
lbl_803B46D4:
/* 803B46D4 003B0334  38 00 00 16 */	li r0, 0x16
/* 803B46D8 003B0338  3B E0 00 01 */	li r31, 1
/* 803B46DC 003B033C  90 1E 01 38 */	stw r0, 0x138(r30)
lbl_803B46E0:
/* 803B46E0 003B0340  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B46E4 003B0344  38 03 00 01 */	addi r0, r3, 1
/* 803B46E8 003B0348  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B46EC 003B034C  48 00 01 50 */	b lbl_803B483C
/* 803B46F0 003B0350  80 7E 01 80 */	lwz r3, 0x180(r30)
/* 803B46F4 003B0354  54 60 06 33 */	rlwinm. r0, r3, 0, 0x18, 0x19
/* 803B46F8 003B0358  41 82 00 94 */	beq lbl_803B478C
/* 803B46FC 003B035C  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 803B4700 003B0360  41 82 00 2C */	beq lbl_803B472C
/* 803B4704 003B0364  B3 9E 00 F6 */	sth r28, 0xf6(r30)
/* 803B4708 003B0368  7F C3 F3 78 */	mr r3, r30
/* 803B470C 003B036C  38 80 00 02 */	li r4, 2
/* 803B4710 003B0370  38 A0 00 68 */	li r5, 0x68
/* 803B4714 003B0374  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B4718 003B0378  48 00 62 BD */	bl func_803BA9D4
/* 803B471C 003B037C  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4720 003B0380  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4724 003B0384  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4728 003B0388  48 00 00 58 */	b lbl_803B4780
lbl_803B472C:
/* 803B472C 003B038C  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 803B4730 003B0390  34 00 FF FF */	addic. r0, r0, -1
/* 803B4734 003B0394  90 1E 01 84 */	stw r0, 0x184(r30)
/* 803B4738 003B0398  40 82 00 24 */	bne lbl_803B475C
/* 803B473C 003B039C  7F C3 F3 78 */	mr r3, r30
/* 803B4740 003B03A0  38 80 00 02 */	li r4, 2
/* 803B4744 003B03A4  38 A0 00 ED */	li r5, 0xed
/* 803B4748 003B03A8  48 00 62 8D */	bl func_803BA9D4
/* 803B474C 003B03AC  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4750 003B03B0  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4754 003B03B4  92 7E 00 08 */	stw r19, 8(r30)
/* 803B4758 003B03B8  48 00 00 28 */	b lbl_803B4780
lbl_803B475C:
/* 803B475C 003B03BC  B3 9E 00 F6 */	sth r28, 0xf6(r30)
/* 803B4760 003B03C0  7F C3 F3 78 */	mr r3, r30
/* 803B4764 003B03C4  38 80 00 02 */	li r4, 2
/* 803B4768 003B03C8  38 A0 00 68 */	li r5, 0x68
/* 803B476C 003B03CC  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B4770 003B03D0  48 00 62 65 */	bl func_803BA9D4
/* 803B4774 003B03D4  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B4778 003B03D8  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B477C 003B03DC  92 7E 00 08 */	stw r19, 8(r30)
lbl_803B4780:
/* 803B4780 003B03E0  38 00 00 14 */	li r0, 0x14
/* 803B4784 003B03E4  3B E0 00 01 */	li r31, 1
/* 803B4788 003B03E8  90 1E 01 38 */	stw r0, 0x138(r30)
lbl_803B478C:
/* 803B478C 003B03EC  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B4790 003B03F0  38 03 00 01 */	addi r0, r3, 1
/* 803B4794 003B03F4  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4798 003B03F8  48 00 00 A4 */	b lbl_803B483C
/* 803B479C 003B03FC  80 1E 01 80 */	lwz r0, 0x180(r30)
/* 803B47A0 003B0400  54 00 04 21 */	rlwinm. r0, r0, 0, 0x10, 0x10
/* 803B47A4 003B0404  41 82 00 38 */	beq lbl_803B47DC
/* 803B47A8 003B0408  38 00 03 2D */	li r0, 0x32d
/* 803B47AC 003B040C  9B 3E 00 F5 */	stb r25, 0xf5(r30)
/* 803B47B0 003B0410  7F C3 F3 78 */	mr r3, r30
/* 803B47B4 003B0414  38 80 00 02 */	li r4, 2
/* 803B47B8 003B0418  B0 1E 00 F6 */	sth r0, 0xf6(r30)
/* 803B47BC 003B041C  38 A0 00 68 */	li r5, 0x68
/* 803B47C0 003B0420  48 00 62 15 */	bl func_803BA9D4
/* 803B47C4 003B0424  80 7E 00 08 */	lwz r3, 8(r30)
/* 803B47C8 003B0428  38 00 00 12 */	li r0, 0x12
/* 803B47CC 003B042C  90 1E 01 38 */	stw r0, 0x138(r30)
/* 803B47D0 003B0430  3B E0 00 01 */	li r31, 1
/* 803B47D4 003B0434  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B47D8 003B0438  92 7E 00 08 */	stw r19, 8(r30)
lbl_803B47DC:
/* 803B47DC 003B043C  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B47E0 003B0440  38 03 00 01 */	addi r0, r3, 1
/* 803B47E4 003B0444  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B47E8 003B0448  48 00 00 54 */	b lbl_803B483C
/* 803B47EC 003B044C  80 7E 01 80 */	lwz r3, 0x180(r30)
/* 803B47F0 003B0450  54 60 04 67 */	rlwinm. r0, r3, 0, 0x11, 0x13
/* 803B47F4 003B0454  41 82 00 34 */	beq lbl_803B4828
/* 803B47F8 003B0458  38 63 F0 00 */	addi r3, r3, -4096
/* 803B47FC 003B045C  54 60 04 67 */	rlwinm. r0, r3, 0, 0x11, 0x13
/* 803B4800 003B0460  90 7E 01 80 */	stw r3, 0x180(r30)
/* 803B4804 003B0464  40 82 00 24 */	bne lbl_803B4828
/* 803B4808 003B0468  7F C3 F3 78 */	mr r3, r30
/* 803B480C 003B046C  38 80 00 02 */	li r4, 2
/* 803B4810 003B0470  38 A0 00 EE */	li r5, 0xee
/* 803B4814 003B0474  48 00 61 C1 */	bl func_803BA9D4
/* 803B4818 003B0478  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B481C 003B047C  3B E0 00 01 */	li r31, 1
/* 803B4820 003B0480  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B4824 003B0484  92 7E 00 08 */	stw r19, 8(r30)
lbl_803B4828:
/* 803B4828 003B0488  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803B482C 003B048C  38 03 00 01 */	addi r0, r3, 1
/* 803B4830 003B0490  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803B4834 003B0494  48 00 00 08 */	b lbl_803B483C
/* 803B4838 003B0498  3B E0 00 02 */	li r31, 2
lbl_803B483C:
/* 803B483C 003B049C  2C 1F 00 00 */	cmpwi r31, 0
/* 803B4840 003B04A0  41 82 F7 3C */	beq lbl_803B3F7C
/* 803B4844 003B04A4  2C 1F 00 01 */	cmpwi r31, 1
/* 803B4848 003B04A8  40 82 00 0C */	bne lbl_803B4854
/* 803B484C 003B04AC  7F A3 EB 78 */	mr r3, r29
/* 803B4850 003B04B0  4B FF DC E9 */	bl func_803B2538
lbl_803B4854:
/* 803B4854 003B04B4  2C 1F 00 02 */	cmpwi r31, 2
/* 803B4858 003B04B8  40 82 00 14 */	bne lbl_803B486C
/* 803B485C 003B04BC  38 60 00 00 */	li r3, 0
/* 803B4860 003B04C0  38 00 00 0A */	li r0, 0xa
/* 803B4864 003B04C4  90 7E 00 10 */	stw r3, 0x10(r30)
/* 803B4868 003B04C8  90 1E 00 08 */	stw r0, 8(r30)
lbl_803B486C:
/* 803B486C 003B04CC  39 61 00 50 */	addi r11, r1, 0x50
/* 803B4870 003B04D0  4B E1 28 D1 */	bl __restore_gpr
/* 803B4874 003B04D4  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803B4878 003B04D8  7C 08 03 A6 */	mtlr r0
/* 803B487C 003B04DC  38 21 00 50 */	addi r1, r1, 0x50
/* 803B4880 003B04E0  4E 80 00 20 */	blr 
/* 803B4884 003B04E4  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803B4888 003B04E8  7C 08 02 A6 */	mflr r0
/* 803B488C 003B04EC  90 01 00 54 */	stw r0, 0x54(r1)
/* 803B4890 003B04F0  39 61 00 50 */	addi r11, r1, 0x50
/* 803B4894 003B04F4  4B E1 28 6D */	bl _savegpr_17
/* 803B4898 003B04F8  7C 7C 1B 78 */	mr r28, r3
/* 803B489C 003B04FC  7C 9D 23 78 */	mr r29, r4
/* 803B48A0 003B0500  3B E0 00 00 */	li r31, 0
/* 803B48A4 003B0504  4B FF 7F BD */	bl func_803AC860
/* 803B48A8 003B0508  80 9D 00 08 */	lwz r4, 8(r29)
/* 803B48AC 003B050C  7C 72 1B 78 */	mr r18, r3
/* 803B48B0 003B0510  7F A3 EB 78 */	mr r3, r29
/* 803B48B4 003B0514  38 C0 00 01 */	li r6, 1
/* 803B48B8 003B0518  7C 85 23 78 */	mr r5, r4
/* 803B48BC 003B051C  48 00 53 35 */	bl func_803B9BF0
/* 803B48C0 003B0520  2C 03 00 01 */	cmpwi r3, 1
/* 803B48C4 003B0524  41 82 0C C0 */	beq lbl_803B5584
/* 803B48C8 003B0528  80 9D 00 08 */	lwz r4, 8(r29)
/* 803B48CC 003B052C  7F A3 EB 78 */	mr r3, r29
/* 803B48D0 003B0530  7C 85 23 78 */	mr r5, r4
/* 803B48D4 003B0534  48 00 54 11 */	bl func_803B9CE4
/* 803B48D8 003B0538  2C 03 00 01 */	cmpwi r3, 1
/* 803B48DC 003B053C  41 82 0C A8 */	beq lbl_803B5584
/* 803B48E0 003B0540  7F 83 E3 78 */	mr r3, r28
/* 803B48E4 003B0544  7F A4 EB 78 */	mr r4, r29
/* 803B48E8 003B0548  48 00 4E D9 */	bl func_803B97C0
/* 803B48EC 003B054C  2C 03 00 01 */	cmpwi r3, 1
/* 803B48F0 003B0550  40 82 00 08 */	bne lbl_803B48F8
/* 803B48F4 003B0554  48 00 0C 90 */	b lbl_803B5584
lbl_803B48F8:
/* 803B48F8 003B0558  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B48FC 003B055C  3A 80 00 15 */	li r20, 0x15
/* 803B4900 003B0560  3A A0 01 88 */	li r21, 0x188
/* 803B4904 003B0564  3A E0 FF FF */	li r23, -1
/* 803B4908 003B0568  3A C3 CE 28 */	addi r22, r3, lbl_8048CE28@l
/* 803B490C 003B056C  3B 00 00 00 */	li r24, 0
/* 803B4910 003B0570  3B 20 00 04 */	li r25, 4
/* 803B4914 003B0574  3E 60 80 47 */	lis r19, 0x8047
/* 803B4918 003B0578  3B 40 00 04 */	li r26, 4
/* 803B491C 003B057C  3B 60 00 04 */	li r27, 4
/* 803B4920 003B0580  48 00 0C 44 */	b lbl_803B5564
lbl_803B4924:
/* 803B4924 003B0584  7C 7D 02 14 */	add r3, r29, r0
/* 803B4928 003B0588  8B C3 21 EC */	lbz r30, 0x21ec(r3)
/* 803B492C 003B058C  7F C3 F3 78 */	mr r3, r30
/* 803B4930 003B0590  48 02 8F F1 */	bl func_803DD920
/* 803B4934 003B0594  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803B4938 003B0598  7C 00 18 39 */	and. r0, r0, r3
/* 803B493C 003B059C  41 82 00 14 */	beq lbl_803B4950
/* 803B4940 003B05A0  80 7D 00 1C */	lwz r3, 0x1c(r29)
/* 803B4944 003B05A4  38 03 00 01 */	addi r0, r3, 1
/* 803B4948 003B05A8  90 1D 00 1C */	stw r0, 0x1c(r29)
/* 803B494C 003B05AC  48 00 0C 18 */	b lbl_803B5564
lbl_803B4950:
/* 803B4950 003B05B0  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 803B4954 003B05B4  28 00 00 1A */	cmplwi r0, 0x1a
/* 803B4958 003B05B8  41 81 0B F8 */	bgt lbl_803B5550
/* 803B495C 003B05BC  38 73 33 AC */	addi r3, r19, 0x33ac
/* 803B4960 003B05C0  54 00 10 3A */	slwi r0, r0, 2
/* 803B4964 003B05C4  7C 63 00 2E */	lwzx r3, r3, r0
/* 803B4968 003B05C8  7C 69 03 A6 */	mtctr r3
/* 803B496C 003B05CC  4E 80 04 20 */	bctr 
/* 803B4970 003B05D0  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4974 003B05D4  7C 7D 02 14 */	add r3, r29, r0
/* 803B4978 003B05D8  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B497C 003B05DC  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803B4980 003B05E0  41 82 00 64 */	beq lbl_803B49E4
/* 803B4984 003B05E4  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803B4988 003B05E8  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B498C 003B05EC  7C 04 00 40 */	cmplw r4, r0
/* 803B4990 003B05F0  41 82 00 54 */	beq lbl_803B49E4
/* 803B4994 003B05F4  2C 04 00 00 */	cmpwi r4, 0
/* 803B4998 003B05F8  41 82 00 4C */	beq lbl_803B49E4
/* 803B499C 003B05FC  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803B49A0 003B0600  54 00 9F 7F */	rlwinm. r0, r0, 0x13, 0x1d, 0x1f
/* 803B49A4 003B0604  41 82 00 1C */	beq lbl_803B49C0
/* 803B49A8 003B0608  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B49AC 003B060C  7F A3 EB 78 */	mr r3, r29
/* 803B49B0 003B0610  38 80 00 02 */	li r4, 2
/* 803B49B4 003B0614  38 A0 00 EF */	li r5, 0xef
/* 803B49B8 003B0618  48 00 60 1D */	bl func_803BA9D4
/* 803B49BC 003B061C  48 00 00 18 */	b lbl_803B49D4
lbl_803B49C0:
/* 803B49C0 003B0620  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B49C4 003B0624  7F A3 EB 78 */	mr r3, r29
/* 803B49C8 003B0628  38 80 00 02 */	li r4, 2
/* 803B49CC 003B062C  38 A0 00 89 */	li r5, 0x89
/* 803B49D0 003B0630  48 00 60 05 */	bl func_803BA9D4
lbl_803B49D4:
/* 803B49D4 003B0634  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B49D8 003B0638  3B E0 00 01 */	li r31, 1
/* 803B49DC 003B063C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B49E0 003B0640  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B49E4:
/* 803B49E4 003B0644  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B49E8 003B0648  38 03 00 01 */	addi r0, r3, 1
/* 803B49EC 003B064C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B49F0 003B0650  48 00 0B 60 */	b lbl_803B5550
/* 803B49F4 003B0654  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B49F8 003B0658  7C 7D 02 14 */	add r3, r29, r0
/* 803B49FC 003B065C  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B4A00 003B0660  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803B4A04 003B0664  41 82 00 78 */	beq lbl_803B4A7C
/* 803B4A08 003B0668  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803B4A0C 003B066C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B4A10 003B0670  7C 04 00 40 */	cmplw r4, r0
/* 803B4A14 003B0674  41 82 00 68 */	beq lbl_803B4A7C
/* 803B4A18 003B0678  2C 04 00 00 */	cmpwi r4, 0
/* 803B4A1C 003B067C  41 82 00 60 */	beq lbl_803B4A7C
/* 803B4A20 003B0680  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803B4A24 003B0684  54 00 9F 7F */	rlwinm. r0, r0, 0x13, 0x1d, 0x1f
/* 803B4A28 003B0688  41 82 00 1C */	beq lbl_803B4A44
/* 803B4A2C 003B068C  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4A30 003B0690  7F A3 EB 78 */	mr r3, r29
/* 803B4A34 003B0694  38 80 00 02 */	li r4, 2
/* 803B4A38 003B0698  38 A0 00 EF */	li r5, 0xef
/* 803B4A3C 003B069C  48 00 5F 99 */	bl func_803BA9D4
/* 803B4A40 003B06A0  48 00 00 2C */	b lbl_803B4A6C
lbl_803B4A44:
/* 803B4A44 003B06A4  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4A48 003B06A8  38 80 00 10 */	li r4, 0x10
/* 803B4A4C 003B06AC  92 BD 01 24 */	stw r21, 0x124(r29)
/* 803B4A50 003B06B0  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803B4A54 003B06B4  48 00 C1 15 */	bl func_803C0B68
/* 803B4A58 003B06B8  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803B4A5C 003B06BC  7F A3 EB 78 */	mr r3, r29
/* 803B4A60 003B06C0  38 80 00 02 */	li r4, 2
/* 803B4A64 003B06C4  38 A0 00 A9 */	li r5, 0xa9
/* 803B4A68 003B06C8  48 00 5F 6D */	bl func_803BA9D4
lbl_803B4A6C:
/* 803B4A6C 003B06CC  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4A70 003B06D0  3B E0 00 01 */	li r31, 1
/* 803B4A74 003B06D4  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4A78 003B06D8  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4A7C:
/* 803B4A7C 003B06DC  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4A80 003B06E0  38 03 00 01 */	addi r0, r3, 1
/* 803B4A84 003B06E4  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4A88 003B06E8  48 00 0A C8 */	b lbl_803B5550
/* 803B4A8C 003B06EC  7F A3 EB 78 */	mr r3, r29
/* 803B4A90 003B06F0  7F C4 F3 78 */	mr r4, r30
/* 803B4A94 003B06F4  48 00 BF 3D */	bl func_803C09D0
/* 803B4A98 003B06F8  2C 03 00 01 */	cmpwi r3, 1
/* 803B4A9C 003B06FC  40 82 00 08 */	bne lbl_803B4AA4
/* 803B4AA0 003B0700  3B E0 00 01 */	li r31, 1
lbl_803B4AA4:
/* 803B4AA4 003B0704  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4AA8 003B0708  38 03 00 01 */	addi r0, r3, 1
/* 803B4AAC 003B070C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4AB0 003B0710  48 00 0A A0 */	b lbl_803B5550
/* 803B4AB4 003B0714  7F 83 E3 78 */	mr r3, r28
/* 803B4AB8 003B0718  7F A4 EB 78 */	mr r4, r29
/* 803B4ABC 003B071C  7F C5 F3 78 */	mr r5, r30
/* 803B4AC0 003B0720  48 00 DE D5 */	bl func_803C2994
/* 803B4AC4 003B0724  2C 03 00 01 */	cmpwi r3, 1
/* 803B4AC8 003B0728  40 82 00 08 */	bne lbl_803B4AD0
/* 803B4ACC 003B072C  3B E0 00 01 */	li r31, 1
lbl_803B4AD0:
/* 803B4AD0 003B0730  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4AD4 003B0734  38 03 00 01 */	addi r0, r3, 1
/* 803B4AD8 003B0738  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4ADC 003B073C  48 00 0A 74 */	b lbl_803B5550
/* 803B4AE0 003B0740  7F 83 E3 78 */	mr r3, r28
/* 803B4AE4 003B0744  7F A4 EB 78 */	mr r4, r29
/* 803B4AE8 003B0748  7F C5 F3 78 */	mr r5, r30
/* 803B4AEC 003B074C  48 00 E6 D1 */	bl func_803C31BC
/* 803B4AF0 003B0750  2C 03 00 01 */	cmpwi r3, 1
/* 803B4AF4 003B0754  40 82 00 08 */	bne lbl_803B4AFC
/* 803B4AF8 003B0758  3B E0 00 01 */	li r31, 1
lbl_803B4AFC:
/* 803B4AFC 003B075C  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4B00 003B0760  38 03 00 01 */	addi r0, r3, 1
/* 803B4B04 003B0764  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4B08 003B0768  48 00 0A 48 */	b lbl_803B5550
/* 803B4B0C 003B076C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4B10 003B0770  7E 3D 02 14 */	add r17, r29, r0
/* 803B4B14 003B0774  80 71 2D C0 */	lwz r3, 0x2dc0(r17)
/* 803B4B18 003B0778  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803B4B1C 003B077C  41 82 00 70 */	beq lbl_803B4B8C
/* 803B4B20 003B0780  54 60 07 BE */	clrlwi r0, r3, 0x1e
/* 803B4B24 003B0784  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B4B28 003B0788  7C 7D 02 14 */	add r3, r29, r0
/* 803B4B2C 003B078C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B4B30 003B0790  2C 00 00 00 */	cmpwi r0, 0
/* 803B4B34 003B0794  41 82 00 58 */	beq lbl_803B4B8C
/* 803B4B38 003B0798  7F A3 EB 78 */	mr r3, r29
/* 803B4B3C 003B079C  7F C4 F3 78 */	mr r4, r30
/* 803B4B40 003B07A0  48 00 AF D9 */	bl func_803BFB18
/* 803B4B44 003B07A4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B4B48 003B07A8  28 00 00 62 */	cmplwi r0, 0x62
/* 803B4B4C 003B07AC  41 82 00 40 */	beq lbl_803B4B8C
/* 803B4B50 003B07B0  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803B4B54 003B07B4  2C 00 00 00 */	cmpwi r0, 0
/* 803B4B58 003B07B8  41 82 00 34 */	beq lbl_803B4B8C
/* 803B4B5C 003B07BC  80 11 2D C0 */	lwz r0, 0x2dc0(r17)
/* 803B4B60 003B07C0  7F A3 EB 78 */	mr r3, r29
/* 803B4B64 003B07C4  38 80 00 02 */	li r4, 2
/* 803B4B68 003B07C8  38 A0 00 45 */	li r5, 0x45
/* 803B4B6C 003B07CC  54 00 07 BE */	clrlwi r0, r0, 0x1e
/* 803B4B70 003B07D0  93 DD 01 20 */	stw r30, 0x120(r29)
/* 803B4B74 003B07D4  90 1D 01 1C */	stw r0, 0x11c(r29)
/* 803B4B78 003B07D8  48 00 5E 5D */	bl func_803BA9D4
/* 803B4B7C 003B07DC  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4B80 003B07E0  3B E0 00 01 */	li r31, 1
/* 803B4B84 003B07E4  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4B88 003B07E8  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4B8C:
/* 803B4B8C 003B07EC  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4B90 003B07F0  38 03 00 01 */	addi r0, r3, 1
/* 803B4B94 003B07F4  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4B98 003B07F8  48 00 09 B8 */	b lbl_803B5550
/* 803B4B9C 003B07FC  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4BA0 003B0800  7C 7D 02 14 */	add r3, r29, r0
/* 803B4BA4 003B0804  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B4BA8 003B0808  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803B4BAC 003B080C  41 82 00 48 */	beq lbl_803B4BF4
/* 803B4BB0 003B0810  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B4BB4 003B0814  2C 00 00 00 */	cmpwi r0, 0
/* 803B4BB8 003B0818  41 82 00 3C */	beq lbl_803B4BF4
/* 803B4BBC 003B081C  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4BC0 003B0820  38 80 00 08 */	li r4, 8
/* 803B4BC4 003B0824  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B4BC8 003B0828  1C 60 FF FF */	mulli r3, r0, -1
/* 803B4BCC 003B082C  48 00 BF 9D */	bl func_803C0B68
/* 803B4BD0 003B0830  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803B4BD4 003B0834  7F A3 EB 78 */	mr r3, r29
/* 803B4BD8 003B0838  38 80 00 02 */	li r4, 2
/* 803B4BDC 003B083C  38 A0 00 17 */	li r5, 0x17
/* 803B4BE0 003B0840  48 00 5D F5 */	bl func_803BA9D4
/* 803B4BE4 003B0844  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4BE8 003B0848  3B E0 00 01 */	li r31, 1
/* 803B4BEC 003B084C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4BF0 003B0850  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4BF4:
/* 803B4BF4 003B0854  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4BF8 003B0858  38 03 00 01 */	addi r0, r3, 1
/* 803B4BFC 003B085C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4C00 003B0860  48 00 09 50 */	b lbl_803B5550
/* 803B4C04 003B0864  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4C08 003B0868  7E 3D 02 14 */	add r17, r29, r0
/* 803B4C0C 003B086C  80 11 2D AC */	lwz r0, 0x2dac(r17)
/* 803B4C10 003B0870  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803B4C14 003B0874  41 82 00 74 */	beq lbl_803B4C88
/* 803B4C18 003B0878  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803B4C1C 003B087C  2C 00 00 00 */	cmpwi r0, 0
/* 803B4C20 003B0880  41 82 00 68 */	beq lbl_803B4C88
/* 803B4C24 003B0884  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4C28 003B0888  38 80 00 10 */	li r4, 0x10
/* 803B4C2C 003B088C  80 71 2D 90 */	lwz r3, 0x2d90(r17)
/* 803B4C30 003B0890  48 00 BF 39 */	bl func_803C0B68
/* 803B4C34 003B0894  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803B4C38 003B0898  80 71 2D AC */	lwz r3, 0x2dac(r17)
/* 803B4C3C 003B089C  54 60 05 2E */	rlwinm r0, r3, 0, 0x14, 0x17
/* 803B4C40 003B08A0  28 00 0F 00 */	cmplwi r0, 0xf00
/* 803B4C44 003B08A4  41 82 00 0C */	beq lbl_803B4C50
/* 803B4C48 003B08A8  38 03 01 00 */	addi r0, r3, 0x100
/* 803B4C4C 003B08AC  90 11 2D AC */	stw r0, 0x2dac(r17)
lbl_803B4C50:
/* 803B4C50 003B08B0  80 11 2D AC */	lwz r0, 0x2dac(r17)
/* 803B4C54 003B08B4  7F A3 EB 78 */	mr r3, r29
/* 803B4C58 003B08B8  80 DD 21 5C */	lwz r6, 0x215c(r29)
/* 803B4C5C 003B08BC  38 80 00 02 */	li r4, 2
/* 803B4C60 003B08C0  54 00 C7 3E */	rlwinm r0, r0, 0x18, 0x1c, 0x1f
/* 803B4C64 003B08C4  38 A0 00 17 */	li r5, 0x17
/* 803B4C68 003B08C8  7C 06 01 D6 */	mullw r0, r6, r0
/* 803B4C6C 003B08CC  1C 00 FF FF */	mulli r0, r0, -1
/* 803B4C70 003B08D0  90 1D 21 5C */	stw r0, 0x215c(r29)
/* 803B4C74 003B08D4  48 00 5D 61 */	bl func_803BA9D4
/* 803B4C78 003B08D8  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4C7C 003B08DC  3B E0 00 01 */	li r31, 1
/* 803B4C80 003B08E0  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4C84 003B08E4  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4C88:
/* 803B4C88 003B08E8  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4C8C 003B08EC  38 03 00 01 */	addi r0, r3, 1
/* 803B4C90 003B08F0  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4C94 003B08F4  48 00 08 BC */	b lbl_803B5550
/* 803B4C98 003B08F8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4C9C 003B08FC  7C 7D 02 14 */	add r3, r29, r0
/* 803B4CA0 003B0900  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B4CA4 003B0904  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B4CA8 003B0908  41 82 00 34 */	beq lbl_803B4CDC
/* 803B4CAC 003B090C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B4CB0 003B0910  2C 00 00 00 */	cmpwi r0, 0
/* 803B4CB4 003B0914  41 82 00 28 */	beq lbl_803B4CDC
/* 803B4CB8 003B0918  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4CBC 003B091C  7F A3 EB 78 */	mr r3, r29
/* 803B4CC0 003B0920  38 80 00 02 */	li r4, 2
/* 803B4CC4 003B0924  38 A0 00 1A */	li r5, 0x1a
/* 803B4CC8 003B0928  48 00 5D 0D */	bl func_803BA9D4
/* 803B4CCC 003B092C  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4CD0 003B0930  3B E0 00 01 */	li r31, 1
/* 803B4CD4 003B0934  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4CD8 003B0938  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4CDC:
/* 803B4CDC 003B093C  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4CE0 003B0940  38 03 00 01 */	addi r0, r3, 1
/* 803B4CE4 003B0944  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4CE8 003B0948  48 00 08 68 */	b lbl_803B5550
/* 803B4CEC 003B094C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4CF0 003B0950  7C 9D 02 14 */	add r4, r29, r0
/* 803B4CF4 003B0954  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B4CF8 003B0958  54 60 01 09 */	rlwinm. r0, r3, 0, 4, 4
/* 803B4CFC 003B095C  41 82 00 4C */	beq lbl_803B4D48
/* 803B4D00 003B0960  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803B4D04 003B0964  2C 00 00 00 */	cmpwi r0, 0
/* 803B4D08 003B0968  41 82 00 40 */	beq lbl_803B4D48
/* 803B4D0C 003B096C  80 04 2D AC */	lwz r0, 0x2dac(r4)
/* 803B4D10 003B0970  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B4D14 003B0974  41 82 00 2C */	beq lbl_803B4D40
/* 803B4D18 003B0978  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4D1C 003B097C  7F A3 EB 78 */	mr r3, r29
/* 803B4D20 003B0980  38 80 00 02 */	li r4, 2
/* 803B4D24 003B0984  38 A0 00 5E */	li r5, 0x5e
/* 803B4D28 003B0988  48 00 5C AD */	bl func_803BA9D4
/* 803B4D2C 003B098C  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4D30 003B0990  3B E0 00 01 */	li r31, 1
/* 803B4D34 003B0994  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4D38 003B0998  92 9D 00 08 */	stw r20, 8(r29)
/* 803B4D3C 003B099C  48 00 00 0C */	b lbl_803B4D48
lbl_803B4D40:
/* 803B4D40 003B09A0  54 60 01 46 */	rlwinm r0, r3, 0, 5, 3
/* 803B4D44 003B09A4  90 04 2D B0 */	stw r0, 0x2db0(r4)
lbl_803B4D48:
/* 803B4D48 003B09A8  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4D4C 003B09AC  38 03 00 01 */	addi r0, r3, 1
/* 803B4D50 003B09B0  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4D54 003B09B4  48 00 07 FC */	b lbl_803B5550
/* 803B4D58 003B09B8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4D5C 003B09BC  7C 7D 02 14 */	add r3, r29, r0
/* 803B4D60 003B09C0  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B4D64 003B09C4  54 00 00 C7 */	rlwinm. r0, r0, 0, 3, 3
/* 803B4D68 003B09C8  41 82 00 34 */	beq lbl_803B4D9C
/* 803B4D6C 003B09CC  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B4D70 003B09D0  2C 00 00 00 */	cmpwi r0, 0
/* 803B4D74 003B09D4  41 82 00 28 */	beq lbl_803B4D9C
/* 803B4D78 003B09D8  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4D7C 003B09DC  7F A3 EB 78 */	mr r3, r29
/* 803B4D80 003B09E0  38 80 00 02 */	li r4, 2
/* 803B4D84 003B09E4  38 A0 00 62 */	li r5, 0x62
/* 803B4D88 003B09E8  48 00 5C 4D */	bl func_803BA9D4
/* 803B4D8C 003B09EC  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4D90 003B09F0  3B E0 00 01 */	li r31, 1
/* 803B4D94 003B09F4  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4D98 003B09F8  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4D9C:
/* 803B4D9C 003B09FC  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4DA0 003B0A00  38 03 00 01 */	addi r0, r3, 1
/* 803B4DA4 003B0A04  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4DA8 003B0A08  48 00 07 A8 */	b lbl_803B5550
/* 803B4DAC 003B0A0C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4DB0 003B0A10  7E 3D 02 14 */	add r17, r29, r0
/* 803B4DB4 003B0A14  80 71 2D B0 */	lwz r3, 0x2db0(r17)
/* 803B4DB8 003B0A18  54 60 04 25 */	rlwinm. r0, r3, 0, 0x10, 0x12
/* 803B4DBC 003B0A1C  41 82 00 78 */	beq lbl_803B4E34
/* 803B4DC0 003B0A20  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803B4DC4 003B0A24  2C 00 00 00 */	cmpwi r0, 0
/* 803B4DC8 003B0A28  41 82 00 6C */	beq lbl_803B4E34
/* 803B4DCC 003B0A2C  38 63 E0 00 */	addi r3, r3, -8192
/* 803B4DD0 003B0A30  54 60 04 25 */	rlwinm. r0, r3, 0, 0x10, 0x12
/* 803B4DD4 003B0A34  90 71 2D B0 */	stw r3, 0x2db0(r17)
/* 803B4DD8 003B0A38  41 82 00 2C */	beq lbl_803B4E04
/* 803B4DDC 003B0A3C  80 11 2D 90 */	lwz r0, 0x2d90(r17)
/* 803B4DE0 003B0A40  38 80 00 10 */	li r4, 0x10
/* 803B4DE4 003B0A44  1C 60 FF FF */	mulli r3, r0, -1
/* 803B4DE8 003B0A48  48 00 BD 81 */	bl func_803C0B68
/* 803B4DEC 003B0A4C  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803B4DF0 003B0A50  7F A3 EB 78 */	mr r3, r29
/* 803B4DF4 003B0A54  38 80 00 02 */	li r4, 2
/* 803B4DF8 003B0A58  38 A0 00 3B */	li r5, 0x3b
/* 803B4DFC 003B0A5C  48 00 5B D9 */	bl func_803BA9D4
/* 803B4E00 003B0A60  48 00 00 18 */	b lbl_803B4E18
lbl_803B4E04:
/* 803B4E04 003B0A64  7F A3 EB 78 */	mr r3, r29
/* 803B4E08 003B0A68  38 80 00 02 */	li r4, 2
/* 803B4E0C 003B0A6C  38 A0 00 3C */	li r5, 0x3c
/* 803B4E10 003B0A70  48 00 5B C5 */	bl func_803BA9D4
/* 803B4E14 003B0A74  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B4E18:
/* 803B4E18 003B0A78  A0 71 2D EA */	lhz r3, 0x2dea(r17)
/* 803B4E1C 003B0A7C  3B E0 00 01 */	li r31, 1
/* 803B4E20 003B0A80  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4E24 003B0A84  90 7D 01 24 */	stw r3, 0x124(r29)
/* 803B4E28 003B0A88  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4E2C 003B0A8C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4E30 003B0A90  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B4E34:
/* 803B4E34 003B0A94  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4E38 003B0A98  38 03 00 01 */	addi r0, r3, 1
/* 803B4E3C 003B0A9C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4E40 003B0AA0  48 00 07 10 */	b lbl_803B5550
/* 803B4E44 003B0AA4  7F 83 E3 78 */	mr r3, r28
/* 803B4E48 003B0AA8  7F A4 EB 78 */	mr r4, r29
/* 803B4E4C 003B0AAC  7F C6 F3 78 */	mr r6, r30
/* 803B4E50 003B0AB0  38 A0 00 04 */	li r5, 4
/* 803B4E54 003B0AB4  38 E0 00 7B */	li r7, 0x7b
/* 803B4E58 003B0AB8  48 00 A5 29 */	bl func_803BF380
/* 803B4E5C 003B0ABC  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4E60 003B0AC0  90 7D 01 38 */	stw r3, 0x138(r29)
/* 803B4E64 003B0AC4  7E 3D 02 14 */	add r17, r29, r0
/* 803B4E68 003B0AC8  80 11 2D AC */	lwz r0, 0x2dac(r17)
/* 803B4E6C 003B0ACC  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B4E70 003B0AD0  41 82 00 7C */	beq lbl_803B4EEC
/* 803B4E74 003B0AD4  7F A3 EB 78 */	mr r3, r29
/* 803B4E78 003B0AD8  7F C4 F3 78 */	mr r4, r30
/* 803B4E7C 003B0ADC  48 00 AC 9D */	bl func_803BFB18
/* 803B4E80 003B0AE0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B4E84 003B0AE4  28 00 00 62 */	cmplwi r0, 0x62
/* 803B4E88 003B0AE8  41 82 00 64 */	beq lbl_803B4EEC
/* 803B4E8C 003B0AEC  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803B4E90 003B0AF0  2C 00 00 00 */	cmpwi r0, 0
/* 803B4E94 003B0AF4  41 82 00 58 */	beq lbl_803B4EEC
/* 803B4E98 003B0AF8  80 1D 01 38 */	lwz r0, 0x138(r29)
/* 803B4E9C 003B0AFC  2C 00 00 00 */	cmpwi r0, 0
/* 803B4EA0 003B0B00  41 82 00 4C */	beq lbl_803B4EEC
/* 803B4EA4 003B0B04  80 11 2D 90 */	lwz r0, 0x2d90(r17)
/* 803B4EA8 003B0B08  38 80 00 08 */	li r4, 8
/* 803B4EAC 003B0B0C  1C 60 FF FF */	mulli r3, r0, -1
/* 803B4EB0 003B0B10  48 00 BC B9 */	bl func_803C0B68
/* 803B4EB4 003B0B14  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803B4EB8 003B0B18  7F A3 EB 78 */	mr r3, r29
/* 803B4EBC 003B0B1C  38 80 00 02 */	li r4, 2
/* 803B4EC0 003B0B20  38 A0 01 07 */	li r5, 0x107
/* 803B4EC4 003B0B24  48 00 5B 11 */	bl func_803BA9D4
/* 803B4EC8 003B0B28  80 7D 21 3C */	lwz r3, 0x213c(r29)
/* 803B4ECC 003B0B2C  3B E0 00 01 */	li r31, 1
/* 803B4ED0 003B0B30  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B4ED4 003B0B34  60 63 00 40 */	ori r3, r3, 0x40
/* 803B4ED8 003B0B38  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B4EDC 003B0B3C  90 7D 21 3C */	stw r3, 0x213c(r29)
/* 803B4EE0 003B0B40  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B4EE4 003B0B44  92 9D 00 08 */	stw r20, 8(r29)
/* 803B4EE8 003B0B48  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B4EEC:
/* 803B4EEC 003B0B4C  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B4EF0 003B0B50  38 03 00 01 */	addi r0, r3, 1
/* 803B4EF4 003B0B54  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B4EF8 003B0B58  48 00 06 58 */	b lbl_803B5550
/* 803B4EFC 003B0B5C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B4F00 003B0B60  7E 3D 02 14 */	add r17, r29, r0
/* 803B4F04 003B0B64  80 11 2D B0 */	lwz r0, 0x2db0(r17)
/* 803B4F08 003B0B68  54 00 06 77 */	rlwinm. r0, r0, 0, 0x19, 0x1b
/* 803B4F0C 003B0B6C  41 82 01 4C */	beq lbl_803B5058
/* 803B4F10 003B0B70  3B E0 00 00 */	li r31, 0
/* 803B4F14 003B0B74  48 00 00 70 */	b lbl_803B4F84
lbl_803B4F18:
/* 803B4F18 003B0B78  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 803B4F1C 003B0B7C  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803B4F20 003B0B80  7C 7D 02 14 */	add r3, r29, r0
/* 803B4F24 003B0B84  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B4F28 003B0B88  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B4F2C 003B0B8C  41 82 00 54 */	beq lbl_803B4F80
/* 803B4F30 003B0B90  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B4F34 003B0B94  2C 00 00 00 */	cmpwi r0, 0
/* 803B4F38 003B0B98  41 82 00 48 */	beq lbl_803B4F80
/* 803B4F3C 003B0B9C  7F A3 EB 78 */	mr r3, r29
/* 803B4F40 003B0BA0  48 00 AB D9 */	bl func_803BFB18
/* 803B4F44 003B0BA4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B4F48 003B0BA8  28 00 00 2B */	cmplwi r0, 0x2b
/* 803B4F4C 003B0BAC  41 82 00 34 */	beq lbl_803B4F80
/* 803B4F50 003B0BB0  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803B4F54 003B0BB4  7F A3 EB 78 */	mr r3, r29
/* 803B4F58 003B0BB8  90 1D 01 18 */	stw r0, 0x118(r29)
/* 803B4F5C 003B0BBC  38 80 00 02 */	li r4, 2
/* 803B4F60 003B0BC0  38 A0 00 13 */	li r5, 0x13
/* 803B4F64 003B0BC4  48 00 5A 71 */	bl func_803BA9D4
/* 803B4F68 003B0BC8  80 7D 00 08 */	lwz r3, 8(r29)
/* 803B4F6C 003B0BCC  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803B4F70 003B0BD0  90 7D 00 0C */	stw r3, 0xc(r29)
/* 803B4F74 003B0BD4  92 9D 00 08 */	stw r20, 8(r29)
/* 803B4F78 003B0BD8  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B4F7C 003B0BDC  48 00 00 14 */	b lbl_803B4F90
lbl_803B4F80:
/* 803B4F80 003B0BE0  3B FF 00 01 */	addi r31, r31, 1
lbl_803B4F84:
/* 803B4F84 003B0BE4  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803B4F88 003B0BE8  7C 00 90 00 */	cmpw r0, r18
/* 803B4F8C 003B0BEC  41 80 FF 8C */	blt lbl_803B4F18
lbl_803B4F90:
/* 803B4F90 003B0BF0  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803B4F94 003B0BF4  7C 00 90 00 */	cmpw r0, r18
/* 803B4F98 003B0BF8  41 82 00 0C */	beq lbl_803B4FA4
/* 803B4F9C 003B0BFC  3B E0 00 02 */	li r31, 2
/* 803B4FA0 003B0C00  48 00 05 B0 */	b lbl_803B5550
lbl_803B4FA4:
/* 803B4FA4 003B0C04  80 B1 2D B0 */	lwz r5, 0x2db0(r17)
/* 803B4FA8 003B0C08  7F A3 EB 78 */	mr r3, r29
/* 803B4FAC 003B0C0C  7F C4 F3 78 */	mr r4, r30
/* 803B4FB0 003B0C10  38 05 FF F0 */	addi r0, r5, -16
/* 803B4FB4 003B0C14  90 11 2D B0 */	stw r0, 0x2db0(r17)
/* 803B4FB8 003B0C18  48 00 A2 0D */	bl func_803BF1C4
/* 803B4FBC 003B0C1C  2C 03 00 00 */	cmpwi r3, 0
/* 803B4FC0 003B0C20  41 82 00 34 */	beq lbl_803B4FF4
/* 803B4FC4 003B0C24  80 11 2D B0 */	lwz r0, 0x2db0(r17)
/* 803B4FC8 003B0C28  7F C3 F3 78 */	mr r3, r30
/* 803B4FCC 003B0C2C  3B E0 00 F1 */	li r31, 0xf1
/* 803B4FD0 003B0C30  54 00 07 30 */	rlwinm r0, r0, 0, 0x1c, 0x18
/* 803B4FD4 003B0C34  90 11 2D B0 */	stw r0, 0x2db0(r17)
/* 803B4FD8 003B0C38  48 02 89 49 */	bl func_803DD920
/* 803B4FDC 003B0C3C  54 63 40 2E */	slwi r3, r3, 8
/* 803B4FE0 003B0C40  80 1D 01 80 */	lwz r0, 0x180(r29)
/* 803B4FE4 003B0C44  7C 63 BA 78 */	xor r3, r3, r23
/* 803B4FE8 003B0C48  7C 00 18 38 */	and r0, r0, r3
/* 803B4FEC 003B0C4C  90 1D 01 80 */	stw r0, 0x180(r29)
/* 803B4FF0 003B0C50  48 00 00 40 */	b lbl_803B5030
lbl_803B4FF4:
/* 803B4FF4 003B0C54  80 71 2D B0 */	lwz r3, 0x2db0(r17)
/* 803B4FF8 003B0C58  54 60 06 77 */	rlwinm. r0, r3, 0, 0x19, 0x1b
/* 803B4FFC 003B0C5C  41 82 00 0C */	beq lbl_803B5008
/* 803B5000 003B0C60  3B E0 00 F0 */	li r31, 0xf0
/* 803B5004 003B0C64  48 00 00 2C */	b lbl_803B5030
lbl_803B5008:
/* 803B5008 003B0C68  54 60 07 30 */	rlwinm r0, r3, 0, 0x1c, 0x18
/* 803B500C 003B0C6C  7F C3 F3 78 */	mr r3, r30
/* 803B5010 003B0C70  90 11 2D B0 */	stw r0, 0x2db0(r17)
/* 803B5014 003B0C74  3B E0 00 F1 */	li r31, 0xf1
/* 803B5018 003B0C78  48 02 89 09 */	bl func_803DD920
/* 803B501C 003B0C7C  54 63 40 2E */	slwi r3, r3, 8
/* 803B5020 003B0C80  80 1D 01 80 */	lwz r0, 0x180(r29)
/* 803B5024 003B0C84  7C 63 BA 78 */	xor r3, r3, r23
/* 803B5028 003B0C88  7C 00 18 38 */	and r0, r0, r3
/* 803B502C 003B0C8C  90 1D 01 80 */	stw r0, 0x180(r29)
lbl_803B5030:
/* 803B5030 003B0C90  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B5034 003B0C94  7F A3 EB 78 */	mr r3, r29
/* 803B5038 003B0C98  7F E5 FB 78 */	mr r5, r31
/* 803B503C 003B0C9C  38 80 00 02 */	li r4, 2
/* 803B5040 003B0CA0  48 00 59 95 */	bl func_803BA9D4
/* 803B5044 003B0CA4  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B5048 003B0CA8  3B E0 00 01 */	li r31, 1
/* 803B504C 003B0CAC  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5050 003B0CB0  92 9D 00 08 */	stw r20, 8(r29)
/* 803B5054 003B0CB4  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B5058:
/* 803B5058 003B0CB8  28 1F 00 02 */	cmplwi r31, 2
/* 803B505C 003B0CBC  41 82 04 F4 */	beq lbl_803B5550
/* 803B5060 003B0CC0  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B5064 003B0CC4  38 03 00 01 */	addi r0, r3, 1
/* 803B5068 003B0CC8  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B506C 003B0CCC  48 00 04 E4 */	b lbl_803B5550
/* 803B5070 003B0CD0  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B5074 003B0CD4  7E 3D 02 14 */	add r17, r29, r0
/* 803B5078 003B0CD8  80 71 2D B0 */	lwz r3, 0x2db0(r17)
/* 803B507C 003B0CDC  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803B5080 003B0CE0  41 82 00 6C */	beq lbl_803B50EC
/* 803B5084 003B0CE4  38 03 FC 00 */	addi r0, r3, -1024
/* 803B5088 003B0CE8  7F A3 EB 78 */	mr r3, r29
/* 803B508C 003B0CEC  90 11 2D B0 */	stw r0, 0x2db0(r17)
/* 803B5090 003B0CF0  7F C4 F3 78 */	mr r4, r30
/* 803B5094 003B0CF4  48 00 A1 31 */	bl func_803BF1C4
/* 803B5098 003B0CF8  2C 03 00 00 */	cmpwi r3, 0
/* 803B509C 003B0CFC  41 82 00 14 */	beq lbl_803B50B0
/* 803B50A0 003B0D00  80 11 2D B0 */	lwz r0, 0x2db0(r17)
/* 803B50A4 003B0D04  54 00 05 A6 */	rlwinm r0, r0, 0, 0x16, 0x13
/* 803B50A8 003B0D08  90 11 2D B0 */	stw r0, 0x2db0(r17)
/* 803B50AC 003B0D0C  48 00 00 40 */	b lbl_803B50EC
lbl_803B50B0:
/* 803B50B0 003B0D10  80 71 2D B0 */	lwz r3, 0x2db0(r17)
/* 803B50B4 003B0D14  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803B50B8 003B0D18  40 82 00 34 */	bne lbl_803B50EC
/* 803B50BC 003B0D1C  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803B50C0 003B0D20  40 82 00 2C */	bne lbl_803B50EC
/* 803B50C4 003B0D24  93 DD 00 94 */	stw r30, 0x94(r29)
/* 803B50C8 003B0D28  7F A3 EB 78 */	mr r3, r29
/* 803B50CC 003B0D2C  38 80 00 02 */	li r4, 2
/* 803B50D0 003B0D30  38 A0 00 33 */	li r5, 0x33
/* 803B50D4 003B0D34  48 00 59 01 */	bl func_803BA9D4
/* 803B50D8 003B0D38  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B50DC 003B0D3C  3B E0 00 01 */	li r31, 1
/* 803B50E0 003B0D40  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B50E4 003B0D44  92 9D 00 08 */	stw r20, 8(r29)
/* 803B50E8 003B0D48  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B50EC:
/* 803B50EC 003B0D4C  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B50F0 003B0D50  38 03 00 01 */	addi r0, r3, 1
/* 803B50F4 003B0D54  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B50F8 003B0D58  48 00 04 58 */	b lbl_803B5550
/* 803B50FC 003B0D5C  1C FE 00 C0 */	mulli r7, r30, 0xc0
/* 803B5100 003B0D60  7C DD 3A 14 */	add r6, r29, r7
/* 803B5104 003B0D64  A0 06 2D E8 */	lhz r0, 0x2de8(r6)
/* 803B5108 003B0D68  2C 00 00 00 */	cmpwi r0, 0
/* 803B510C 003B0D6C  41 82 00 94 */	beq lbl_803B51A0
/* 803B5110 003B0D70  39 00 00 00 */	li r8, 0
/* 803B5114 003B0D74  38 60 00 00 */	li r3, 0
/* 803B5118 003B0D78  7F 49 03 A6 */	mtctr r26
lbl_803B511C:
/* 803B511C 003B0D7C  7C 86 1A 14 */	add r4, r6, r3
/* 803B5120 003B0D80  A0 A6 2D E8 */	lhz r5, 0x2de8(r6)
/* 803B5124 003B0D84  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803B5128 003B0D88  7C 05 00 40 */	cmplw r5, r0
/* 803B512C 003B0D8C  41 82 00 10 */	beq lbl_803B513C
/* 803B5130 003B0D90  39 08 00 01 */	addi r8, r8, 1
/* 803B5134 003B0D94  38 63 00 02 */	addi r3, r3, 2
/* 803B5138 003B0D98  42 00 FF E4 */	bdnz lbl_803B511C
lbl_803B513C:
/* 803B513C 003B0D9C  2C 08 00 04 */	cmpwi r8, 4
/* 803B5140 003B0DA0  40 82 00 14 */	bne lbl_803B5154
/* 803B5144 003B0DA4  7C 7D 3A 14 */	add r3, r29, r7
/* 803B5148 003B0DA8  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803B514C 003B0DAC  54 00 00 FE */	clrlwi r0, r0, 3
/* 803B5150 003B0DB0  90 03 2D C8 */	stw r0, 0x2dc8(r3)
lbl_803B5154:
/* 803B5154 003B0DB4  7C 9D 3A 14 */	add r4, r29, r7
/* 803B5158 003B0DB8  80 64 2D C8 */	lwz r3, 0x2dc8(r4)
/* 803B515C 003B0DBC  54 65 1F 7F */	rlwinm. r5, r3, 3, 0x1d, 0x1f
/* 803B5160 003B0DC0  41 82 00 14 */	beq lbl_803B5174
/* 803B5164 003B0DC4  38 05 FF FF */	addi r0, r5, -1
/* 803B5168 003B0DC8  50 03 E8 04 */	rlwimi r3, r0, 0x1d, 0, 2
/* 803B516C 003B0DCC  90 64 2D C8 */	stw r3, 0x2dc8(r4)
/* 803B5170 003B0DD0  48 00 00 30 */	b lbl_803B51A0
lbl_803B5174:
/* 803B5174 003B0DD4  B3 06 2D E8 */	sth r24, 0x2de8(r6)
/* 803B5178 003B0DD8  7F A3 EB 78 */	mr r3, r29
/* 803B517C 003B0DDC  38 80 00 02 */	li r4, 2
/* 803B5180 003B0DE0  38 A0 00 48 */	li r5, 0x48
/* 803B5184 003B0DE4  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B5188 003B0DE8  48 00 58 4D */	bl func_803BA9D4
/* 803B518C 003B0DEC  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B5190 003B0DF0  3B E0 00 01 */	li r31, 1
/* 803B5194 003B0DF4  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5198 003B0DF8  92 9D 00 08 */	stw r20, 8(r29)
/* 803B519C 003B0DFC  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B51A0:
/* 803B51A0 003B0E00  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B51A4 003B0E04  38 03 00 01 */	addi r0, r3, 1
/* 803B51A8 003B0E08  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B51AC 003B0E0C  48 00 03 A4 */	b lbl_803B5550
/* 803B51B0 003B0E10  1C FE 00 C0 */	mulli r7, r30, 0xc0
/* 803B51B4 003B0E14  7C DD 3A 14 */	add r6, r29, r7
/* 803B51B8 003B0E18  A0 06 2D EC */	lhz r0, 0x2dec(r6)
/* 803B51BC 003B0E1C  2C 00 00 00 */	cmpwi r0, 0
/* 803B51C0 003B0E20  41 82 00 A8 */	beq lbl_803B5268
/* 803B51C4 003B0E24  39 00 00 00 */	li r8, 0
/* 803B51C8 003B0E28  38 60 00 00 */	li r3, 0
/* 803B51CC 003B0E2C  7F 69 03 A6 */	mtctr r27
lbl_803B51D0:
/* 803B51D0 003B0E30  7C 86 1A 14 */	add r4, r6, r3
/* 803B51D4 003B0E34  A0 A6 2D EC */	lhz r5, 0x2dec(r6)
/* 803B51D8 003B0E38  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803B51DC 003B0E3C  7C 05 00 40 */	cmplw r5, r0
/* 803B51E0 003B0E40  41 82 00 10 */	beq lbl_803B51F0
/* 803B51E4 003B0E44  39 08 00 01 */	addi r8, r8, 1
/* 803B51E8 003B0E48  38 63 00 02 */	addi r3, r3, 2
/* 803B51EC 003B0E4C  42 00 FF E4 */	bdnz lbl_803B51D0
lbl_803B51F0:
/* 803B51F0 003B0E50  2C 08 00 04 */	cmpwi r8, 4
/* 803B51F4 003B0E54  41 82 00 18 */	beq lbl_803B520C
/* 803B51F8 003B0E58  41 82 00 24 */	beq lbl_803B521C
/* 803B51FC 003B0E5C  7C 66 42 14 */	add r3, r6, r8
/* 803B5200 003B0E60  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803B5204 003B0E64  2C 00 00 00 */	cmpwi r0, 0
/* 803B5208 003B0E68  40 82 00 14 */	bne lbl_803B521C
lbl_803B520C:
/* 803B520C 003B0E6C  7C 7D 3A 14 */	add r3, r29, r7
/* 803B5210 003B0E70  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803B5214 003B0E74  54 00 01 84 */	rlwinm r0, r0, 0, 6, 2
/* 803B5218 003B0E78  90 03 2D C8 */	stw r0, 0x2dc8(r3)
lbl_803B521C:
/* 803B521C 003B0E7C  7C 9D 3A 14 */	add r4, r29, r7
/* 803B5220 003B0E80  80 64 2D C8 */	lwz r3, 0x2dc8(r4)
/* 803B5224 003B0E84  54 65 37 7F */	rlwinm. r5, r3, 6, 0x1d, 0x1f
/* 803B5228 003B0E88  41 82 00 14 */	beq lbl_803B523C
/* 803B522C 003B0E8C  38 05 FF FF */	addi r0, r5, -1
/* 803B5230 003B0E90  50 03 D0 CA */	rlwimi r3, r0, 0x1a, 3, 5
/* 803B5234 003B0E94  90 64 2D C8 */	stw r3, 0x2dc8(r4)
/* 803B5238 003B0E98  48 00 00 30 */	b lbl_803B5268
lbl_803B523C:
/* 803B523C 003B0E9C  B3 06 2D EC */	sth r24, 0x2dec(r6)
/* 803B5240 003B0EA0  7F A3 EB 78 */	mr r3, r29
/* 803B5244 003B0EA4  38 80 00 02 */	li r4, 2
/* 803B5248 003B0EA8  38 A0 00 4A */	li r5, 0x4a
/* 803B524C 003B0EAC  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B5250 003B0EB0  48 00 57 85 */	bl func_803BA9D4
/* 803B5254 003B0EB4  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B5258 003B0EB8  3B E0 00 01 */	li r31, 1
/* 803B525C 003B0EBC  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5260 003B0EC0  92 9D 00 08 */	stw r20, 8(r29)
/* 803B5264 003B0EC4  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B5268:
/* 803B5268 003B0EC8  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B526C 003B0ECC  38 03 00 01 */	addi r0, r3, 1
/* 803B5270 003B0ED0  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B5274 003B0ED4  48 00 02 DC */	b lbl_803B5550
/* 803B5278 003B0ED8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B527C 003B0EDC  7C 9D 02 14 */	add r4, r29, r0
/* 803B5280 003B0EE0  80 64 2D C0 */	lwz r3, 0x2dc0(r4)
/* 803B5284 003B0EE4  54 60 06 F9 */	rlwinm. r0, r3, 0, 0x1b, 0x1c
/* 803B5288 003B0EE8  41 82 00 0C */	beq lbl_803B5294
/* 803B528C 003B0EEC  38 03 FF F8 */	addi r0, r3, -8
/* 803B5290 003B0EF0  90 04 2D C0 */	stw r0, 0x2dc0(r4)
lbl_803B5294:
/* 803B5294 003B0EF4  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B5298 003B0EF8  38 03 00 01 */	addi r0, r3, 1
/* 803B529C 003B0EFC  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B52A0 003B0F00  48 00 02 B0 */	b lbl_803B5550
/* 803B52A4 003B0F04  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B52A8 003B0F08  7C BD 02 14 */	add r5, r29, r0
/* 803B52AC 003B0F0C  80 85 2D C8 */	lwz r4, 0x2dc8(r5)
/* 803B52B0 003B0F10  54 83 47 BF */	rlwinm. r3, r4, 8, 0x1e, 0x1f
/* 803B52B4 003B0F14  41 82 00 24 */	beq lbl_803B52D8
/* 803B52B8 003B0F18  38 03 FF FF */	addi r0, r3, -1
/* 803B52BC 003B0F1C  50 04 C1 8E */	rlwimi r4, r0, 0x18, 6, 7
/* 803B52C0 003B0F20  54 80 47 BF */	rlwinm. r0, r4, 8, 0x1e, 0x1f
/* 803B52C4 003B0F24  90 85 2D C8 */	stw r4, 0x2dc8(r5)
/* 803B52C8 003B0F28  40 82 00 10 */	bne lbl_803B52D8
/* 803B52CC 003B0F2C  80 05 2D C0 */	lwz r0, 0x2dc0(r5)
/* 803B52D0 003B0F30  54 00 05 EA */	rlwinm r0, r0, 0, 0x17, 0x15
/* 803B52D4 003B0F34  90 05 2D C0 */	stw r0, 0x2dc0(r5)
lbl_803B52D8:
/* 803B52D8 003B0F38  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B52DC 003B0F3C  38 03 00 01 */	addi r0, r3, 1
/* 803B52E0 003B0F40  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B52E4 003B0F44  48 00 02 6C */	b lbl_803B5550
/* 803B52E8 003B0F48  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B52EC 003B0F4C  7C 9D 02 14 */	add r4, r29, r0
/* 803B52F0 003B0F50  80 64 2D C8 */	lwz r3, 0x2dc8(r4)
/* 803B52F4 003B0F54  54 65 5F 7F */	rlwinm. r5, r3, 0xb, 0x1d, 0x1f
/* 803B52F8 003B0F58  41 82 00 40 */	beq lbl_803B5338
/* 803B52FC 003B0F5C  38 05 FF FF */	addi r0, r5, -1
/* 803B5300 003B0F60  50 03 AA 14 */	rlwimi r3, r0, 0x15, 8, 0xa
/* 803B5304 003B0F64  54 60 5F 7F */	rlwinm. r0, r3, 0xb, 0x1d, 0x1f
/* 803B5308 003B0F68  90 64 2D C8 */	stw r3, 0x2dc8(r4)
/* 803B530C 003B0F6C  40 82 00 2C */	bne lbl_803B5338
/* 803B5310 003B0F70  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B5314 003B0F74  7F A3 EB 78 */	mr r3, r29
/* 803B5318 003B0F78  38 80 00 02 */	li r4, 2
/* 803B531C 003B0F7C  38 A0 01 20 */	li r5, 0x120
/* 803B5320 003B0F80  48 00 56 B5 */	bl func_803BA9D4
/* 803B5324 003B0F84  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B5328 003B0F88  3B E0 00 01 */	li r31, 1
/* 803B532C 003B0F8C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5330 003B0F90  92 9D 00 08 */	stw r20, 8(r29)
/* 803B5334 003B0F94  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B5338:
/* 803B5338 003B0F98  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B533C 003B0F9C  38 03 00 01 */	addi r0, r3, 1
/* 803B5340 003B0FA0  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B5344 003B0FA4  48 00 02 0C */	b lbl_803B5550
/* 803B5348 003B0FA8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B534C 003B0FAC  7C 9D 02 14 */	add r4, r29, r0
/* 803B5350 003B0FB0  80 64 2D CC */	lwz r3, 0x2dcc(r4)
/* 803B5354 003B0FB4  54 65 87 7F */	rlwinm. r5, r3, 0x10, 0x1d, 0x1f
/* 803B5358 003B0FB8  41 82 00 40 */	beq lbl_803B5398
/* 803B535C 003B0FBC  38 05 FF FF */	addi r0, r5, -1
/* 803B5360 003B0FC0  50 03 83 5E */	rlwimi r3, r0, 0x10, 0xd, 0xf
/* 803B5364 003B0FC4  54 60 87 7F */	rlwinm. r0, r3, 0x10, 0x1d, 0x1f
/* 803B5368 003B0FC8  90 64 2D CC */	stw r3, 0x2dcc(r4)
/* 803B536C 003B0FCC  40 82 00 2C */	bne lbl_803B5398
/* 803B5370 003B0FD0  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B5374 003B0FD4  7F A3 EB 78 */	mr r3, r29
/* 803B5378 003B0FD8  38 80 00 02 */	li r4, 2
/* 803B537C 003B0FDC  38 A0 00 F2 */	li r5, 0xf2
/* 803B5380 003B0FE0  48 00 56 55 */	bl func_803BA9D4
/* 803B5384 003B0FE4  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B5388 003B0FE8  3B E0 00 01 */	li r31, 1
/* 803B538C 003B0FEC  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5390 003B0FF0  92 9D 00 08 */	stw r20, 8(r29)
/* 803B5394 003B0FF4  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B5398:
/* 803B5398 003B0FF8  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B539C 003B0FFC  38 03 00 01 */	addi r0, r3, 1
/* 803B53A0 003B1000  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B53A4 003B1004  48 00 01 AC */	b lbl_803B5550
/* 803B53A8 003B1008  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B53AC 003B100C  7C 9D 02 14 */	add r4, r29, r0
/* 803B53B0 003B1010  80 64 2D CC */	lwz r3, 0x2dcc(r4)
/* 803B53B4 003B1014  54 65 9F 7F */	rlwinm. r5, r3, 0x13, 0x1d, 0x1f
/* 803B53B8 003B1018  41 82 00 40 */	beq lbl_803B53F8
/* 803B53BC 003B101C  38 05 FF FF */	addi r0, r5, -1
/* 803B53C0 003B1020  50 03 6C 24 */	rlwimi r3, r0, 0xd, 0x10, 0x12
/* 803B53C4 003B1024  54 60 9F 7F */	rlwinm. r0, r3, 0x13, 0x1d, 0x1f
/* 803B53C8 003B1028  90 64 2D CC */	stw r3, 0x2dcc(r4)
/* 803B53CC 003B102C  40 82 00 2C */	bne lbl_803B53F8
/* 803B53D0 003B1030  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B53D4 003B1034  7F A3 EB 78 */	mr r3, r29
/* 803B53D8 003B1038  38 80 00 02 */	li r4, 2
/* 803B53DC 003B103C  38 A0 00 F3 */	li r5, 0xf3
/* 803B53E0 003B1040  48 00 55 F5 */	bl func_803BA9D4
/* 803B53E4 003B1044  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B53E8 003B1048  3B E0 00 01 */	li r31, 1
/* 803B53EC 003B104C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B53F0 003B1050  92 9D 00 08 */	stw r20, 8(r29)
/* 803B53F4 003B1054  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B53F8:
/* 803B53F8 003B1058  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B53FC 003B105C  38 03 00 01 */	addi r0, r3, 1
/* 803B5400 003B1060  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B5404 003B1064  48 00 01 4C */	b lbl_803B5550
/* 803B5408 003B1068  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B540C 003B106C  7C 9D 02 14 */	add r4, r29, r0
/* 803B5410 003B1070  80 64 2D CC */	lwz r3, 0x2dcc(r4)
/* 803B5414 003B1074  54 65 B7 7F */	rlwinm. r5, r3, 0x16, 0x1d, 0x1f
/* 803B5418 003B1078  41 82 00 40 */	beq lbl_803B5458
/* 803B541C 003B107C  38 05 FF FF */	addi r0, r5, -1
/* 803B5420 003B1080  50 03 54 EA */	rlwimi r3, r0, 0xa, 0x13, 0x15
/* 803B5424 003B1084  54 60 B7 7F */	rlwinm. r0, r3, 0x16, 0x1d, 0x1f
/* 803B5428 003B1088  90 64 2D CC */	stw r3, 0x2dcc(r4)
/* 803B542C 003B108C  40 82 00 2C */	bne lbl_803B5458
/* 803B5430 003B1090  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B5434 003B1094  7F A3 EB 78 */	mr r3, r29
/* 803B5438 003B1098  38 80 00 02 */	li r4, 2
/* 803B543C 003B109C  38 A0 00 F4 */	li r5, 0xf4
/* 803B5440 003B10A0  48 00 55 95 */	bl func_803BA9D4
/* 803B5444 003B10A4  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B5448 003B10A8  3B E0 00 01 */	li r31, 1
/* 803B544C 003B10AC  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5450 003B10B0  92 9D 00 08 */	stw r20, 8(r29)
/* 803B5454 003B10B4  93 D6 00 0C */	stw r30, 0xc(r22)
lbl_803B5458:
/* 803B5458 003B10B8  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B545C 003B10BC  38 03 00 01 */	addi r0, r3, 1
/* 803B5460 003B10C0  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B5464 003B10C4  48 00 00 EC */	b lbl_803B5550
/* 803B5468 003B10C8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B546C 003B10CC  7C 9D 02 14 */	add r4, r29, r0
/* 803B5470 003B10D0  80 64 2D C0 */	lwz r3, 0x2dc0(r4)
/* 803B5474 003B10D4  54 60 04 E9 */	rlwinm. r0, r3, 0, 0x13, 0x14
/* 803B5478 003B10D8  41 82 00 3C */	beq lbl_803B54B4
/* 803B547C 003B10DC  38 63 F8 00 */	addi r3, r3, -2048
/* 803B5480 003B10E0  54 60 04 E9 */	rlwinm. r0, r3, 0, 0x13, 0x14
/* 803B5484 003B10E4  90 64 2D C0 */	stw r3, 0x2dc0(r4)
/* 803B5488 003B10E8  40 82 00 2C */	bne lbl_803B54B4
/* 803B548C 003B10EC  93 DD 00 94 */	stw r30, 0x94(r29)
/* 803B5490 003B10F0  7F A3 EB 78 */	mr r3, r29
/* 803B5494 003B10F4  38 80 00 02 */	li r4, 2
/* 803B5498 003B10F8  38 A0 00 12 */	li r5, 0x12
/* 803B549C 003B10FC  93 3D 00 88 */	stw r25, 0x88(r29)
/* 803B54A0 003B1100  48 00 55 35 */	bl func_803BA9D4
/* 803B54A4 003B1104  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B54A8 003B1108  3B E0 00 01 */	li r31, 1
/* 803B54AC 003B110C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B54B0 003B1110  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B54B4:
/* 803B54B4 003B1114  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B54B8 003B1118  38 03 00 01 */	addi r0, r3, 1
/* 803B54BC 003B111C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B54C0 003B1120  48 00 00 90 */	b lbl_803B5550
/* 803B54C4 003B1124  7F 83 E3 78 */	mr r3, r28
/* 803B54C8 003B1128  7F A4 EB 78 */	mr r4, r29
/* 803B54CC 003B112C  7F C5 F3 78 */	mr r5, r30
/* 803B54D0 003B1130  38 C1 00 08 */	addi r6, r1, 8
/* 803B54D4 003B1134  48 00 DE 85 */	bl func_803C3358
/* 803B54D8 003B1138  2C 03 00 01 */	cmpwi r3, 1
/* 803B54DC 003B113C  40 82 00 28 */	bne lbl_803B5504
/* 803B54E0 003B1140  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B54E4 003B1144  7F A3 EB 78 */	mr r3, r29
/* 803B54E8 003B1148  38 80 00 02 */	li r4, 2
/* 803B54EC 003B114C  80 A1 00 08 */	lwz r5, 8(r1)
/* 803B54F0 003B1150  48 00 54 E5 */	bl func_803BA9D4
/* 803B54F4 003B1154  80 1D 00 08 */	lwz r0, 8(r29)
/* 803B54F8 003B1158  3B E0 00 01 */	li r31, 1
/* 803B54FC 003B115C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B5500 003B1160  92 9D 00 08 */	stw r20, 8(r29)
lbl_803B5504:
/* 803B5504 003B1164  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B5508 003B1168  38 03 00 01 */	addi r0, r3, 1
/* 803B550C 003B116C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B5510 003B1170  48 00 00 40 */	b lbl_803B5550
/* 803B5514 003B1174  7F 83 E3 78 */	mr r3, r28
/* 803B5518 003B1178  7F A4 EB 78 */	mr r4, r29
/* 803B551C 003B117C  7F C5 F3 78 */	mr r5, r30
/* 803B5520 003B1180  48 00 E6 F5 */	bl func_803C3C14
/* 803B5524 003B1184  2C 03 00 01 */	cmpwi r3, 1
/* 803B5528 003B1188  40 82 00 08 */	bne lbl_803B5530
/* 803B552C 003B118C  3B E0 00 01 */	li r31, 1
lbl_803B5530:
/* 803B5530 003B1190  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803B5534 003B1194  38 03 00 01 */	addi r0, r3, 1
/* 803B5538 003B1198  90 1D 00 18 */	stw r0, 0x18(r29)
/* 803B553C 003B119C  48 00 00 14 */	b lbl_803B5550
/* 803B5540 003B11A0  80 7D 00 1C */	lwz r3, 0x1c(r29)
/* 803B5544 003B11A4  93 1D 00 18 */	stw r24, 0x18(r29)
/* 803B5548 003B11A8  38 03 00 01 */	addi r0, r3, 1
/* 803B554C 003B11AC  90 1D 00 1C */	stw r0, 0x1c(r29)
lbl_803B5550:
/* 803B5550 003B11B0  2C 1F 00 00 */	cmpwi r31, 0
/* 803B5554 003B11B4  41 82 00 10 */	beq lbl_803B5564
/* 803B5558 003B11B8  7F 83 E3 78 */	mr r3, r28
/* 803B555C 003B11BC  4B FF CF DD */	bl func_803B2538
/* 803B5560 003B11C0  48 00 00 24 */	b lbl_803B5584
lbl_803B5564:
/* 803B5564 003B11C4  80 1D 00 1C */	lwz r0, 0x1c(r29)
/* 803B5568 003B11C8  7C 00 90 00 */	cmpw r0, r18
/* 803B556C 003B11CC  41 80 F3 B8 */	blt lbl_803B4924
/* 803B5570 003B11D0  38 60 00 00 */	li r3, 0
/* 803B5574 003B11D4  38 00 00 0B */	li r0, 0xb
/* 803B5578 003B11D8  90 7D 00 18 */	stw r3, 0x18(r29)
/* 803B557C 003B11DC  90 7D 00 1C */	stw r3, 0x1c(r29)
/* 803B5580 003B11E0  90 1D 00 08 */	stw r0, 8(r29)
lbl_803B5584:
/* 803B5584 003B11E4  39 61 00 50 */	addi r11, r1, 0x50
/* 803B5588 003B11E8  4B E1 1B C5 */	bl _restgpr_17
/* 803B558C 003B11EC  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803B5590 003B11F0  7C 08 03 A6 */	mtlr r0
/* 803B5594 003B11F4  38 21 00 50 */	addi r1, r1, 0x50
/* 803B5598 003B11F8  4E 80 00 20 */	blr 
/* 803B559C 003B11FC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B55A0 003B1200  7C 08 02 A6 */	mflr r0
/* 803B55A4 003B1204  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B55A8 003B1208  39 61 00 20 */	addi r11, r1, 0x20
/* 803B55AC 003B120C  4B E1 1B 81 */	bl _savegpr_28
/* 803B55B0 003B1210  7C 7C 1B 78 */	mr r28, r3
/* 803B55B4 003B1214  7C 9D 23 78 */	mr r29, r4
/* 803B55B8 003B1218  4B FF 72 A9 */	bl func_803AC860
/* 803B55BC 003B121C  80 9D 00 08 */	lwz r4, 8(r29)
/* 803B55C0 003B1220  7C 7F 1B 78 */	mr r31, r3
/* 803B55C4 003B1224  7F A3 EB 78 */	mr r3, r29
/* 803B55C8 003B1228  38 C0 00 01 */	li r6, 1
/* 803B55CC 003B122C  7C 85 23 78 */	mr r5, r4
/* 803B55D0 003B1230  48 00 46 21 */	bl func_803B9BF0
/* 803B55D4 003B1234  2C 03 00 01 */	cmpwi r3, 1
/* 803B55D8 003B1238  41 82 02 BC */	beq lbl_803B5894
/* 803B55DC 003B123C  7F 83 E3 78 */	mr r3, r28
/* 803B55E0 003B1240  4B FF CF 59 */	bl func_803B2538
/* 803B55E4 003B1244  80 1D 00 20 */	lwz r0, 0x20(r29)
/* 803B55E8 003B1248  2C 00 00 01 */	cmpwi r0, 1
/* 803B55EC 003B124C  41 82 02 20 */	beq lbl_803B580C
/* 803B55F0 003B1250  40 80 00 10 */	bge lbl_803B5600
/* 803B55F4 003B1254  2C 00 00 00 */	cmpwi r0, 0
/* 803B55F8 003B1258  40 80 01 1C */	bge lbl_803B5714
/* 803B55FC 003B125C  48 00 02 84 */	b lbl_803B5880
lbl_803B5600:
/* 803B5600 003B1260  2C 00 00 03 */	cmpwi r0, 3
/* 803B5604 003B1264  40 80 02 7C */	bge lbl_803B5880
/* 803B5608 003B1268  48 00 02 24 */	b lbl_803B582C
/* 803B560C 003B126C  48 00 01 08 */	b lbl_803B5714
lbl_803B5610:
/* 803B5610 003B1270  7C 7D 02 14 */	add r3, r29, r0
/* 803B5614 003B1274  8B C3 21 EC */	lbz r30, 0x21ec(r3)
/* 803B5618 003B1278  7F C3 F3 78 */	mr r3, r30
/* 803B561C 003B127C  48 02 83 05 */	bl func_803DD920
/* 803B5620 003B1280  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803B5624 003B1284  7C 00 18 39 */	and. r0, r0, r3
/* 803B5628 003B1288  41 82 00 14 */	beq lbl_803B563C
/* 803B562C 003B128C  80 7D 00 24 */	lwz r3, 0x24(r29)
/* 803B5630 003B1290  38 03 00 01 */	addi r0, r3, 1
/* 803B5634 003B1294  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B5638 003B1298  48 00 00 DC */	b lbl_803B5714
lbl_803B563C:
/* 803B563C 003B129C  80 7D 00 24 */	lwz r3, 0x24(r29)
/* 803B5640 003B12A0  7C 9D F2 14 */	add r4, r29, r30
/* 803B5644 003B12A4  38 03 00 01 */	addi r0, r3, 1
/* 803B5648 003B12A8  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B564C 003B12AC  88 64 01 88 */	lbz r3, 0x188(r4)
/* 803B5650 003B12B0  2C 03 00 00 */	cmpwi r3, 0
/* 803B5654 003B12B4  41 82 00 C0 */	beq lbl_803B5714
/* 803B5658 003B12B8  38 63 FF FF */	addi r3, r3, -1
/* 803B565C 003B12BC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B5660 003B12C0  98 64 01 88 */	stb r3, 0x188(r4)
/* 803B5664 003B12C4  40 82 00 B0 */	bne lbl_803B5714
/* 803B5668 003B12C8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B566C 003B12CC  7C 7D 02 14 */	add r3, r29, r0
/* 803B5670 003B12D0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B5674 003B12D4  2C 00 00 00 */	cmpwi r0, 0
/* 803B5678 003B12D8  41 82 00 9C */	beq lbl_803B5714
/* 803B567C 003B12DC  7F 83 E3 78 */	mr r3, r28
/* 803B5680 003B12E0  7F C4 F3 78 */	mr r4, r30
/* 803B5684 003B12E4  4B FF 76 61 */	bl func_803ACCE4
/* 803B5688 003B12E8  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803B568C 003B12EC  38 A0 01 DB */	li r5, 0x1db
/* 803B5690 003B12F0  7C FD 02 14 */	add r7, r29, r0
/* 803B5694 003B12F4  7F A3 EB 78 */	mr r3, r29
/* 803B5698 003B12F8  80 C7 01 BC */	lwz r6, 0x1bc(r7)
/* 803B569C 003B12FC  38 00 00 0A */	li r0, 0xa
/* 803B56A0 003B1300  7F C4 F3 78 */	mr r4, r30
/* 803B56A4 003B1304  54 C6 07 34 */	rlwinm r6, r6, 0, 0x1c, 0x1a
/* 803B56A8 003B1308  90 C7 01 BC */	stw r6, 0x1bc(r7)
/* 803B56AC 003B130C  B0 BD 00 F6 */	sth r5, 0xf6(r29)
/* 803B56B0 003B1310  98 1D 00 F5 */	stb r0, 0xf5(r29)
/* 803B56B4 003B1314  48 00 9C 79 */	bl func_803BF32C
/* 803B56B8 003B1318  90 7D 00 F8 */	stw r3, 0xf8(r29)
/* 803B56BC 003B131C  57 C0 08 3C */	slwi r0, r30, 1
/* 803B56C0 003B1320  7C FD 02 14 */	add r7, r29, r0
/* 803B56C4 003B1324  57 C3 10 3A */	slwi r3, r30, 2
/* 803B56C8 003B1328  A0 07 01 90 */	lhz r0, 0x190(r7)
/* 803B56CC 003B132C  7C DD 1A 14 */	add r6, r29, r3
/* 803B56D0 003B1330  7F A3 EB 78 */	mr r3, r29
/* 803B56D4 003B1334  38 80 00 02 */	li r4, 2
/* 803B56D8 003B1338  90 1D 00 FC */	stw r0, 0xfc(r29)
/* 803B56DC 003B133C  38 A0 00 79 */	li r5, 0x79
/* 803B56E0 003B1340  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B56E4 003B1344  80 06 01 98 */	lwz r0, 0x198(r6)
/* 803B56E8 003B1348  90 1D 01 1C */	stw r0, 0x11c(r29)
/* 803B56EC 003B134C  A0 07 01 90 */	lhz r0, 0x190(r7)
/* 803B56F0 003B1350  90 1D 01 24 */	stw r0, 0x124(r29)
/* 803B56F4 003B1354  80 06 01 A8 */	lwz r0, 0x1a8(r6)
/* 803B56F8 003B1358  90 1D 21 5C */	stw r0, 0x215c(r29)
/* 803B56FC 003B135C  48 00 52 D9 */	bl func_803BA9D4
/* 803B5700 003B1360  80 7D 00 08 */	lwz r3, 8(r29)
/* 803B5704 003B1364  38 00 00 15 */	li r0, 0x15
/* 803B5708 003B1368  90 7D 00 0C */	stw r3, 0xc(r29)
/* 803B570C 003B136C  90 1D 00 08 */	stw r0, 8(r29)
/* 803B5710 003B1370  48 00 01 84 */	b lbl_803B5894
lbl_803B5714:
/* 803B5714 003B1374  80 1D 00 24 */	lwz r0, 0x24(r29)
/* 803B5718 003B1378  7C 00 F8 00 */	cmpw r0, r31
/* 803B571C 003B137C  41 80 FE F4 */	blt lbl_803B5610
/* 803B5720 003B1380  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803B5724 003B1384  38 00 00 00 */	li r0, 0
/* 803B5728 003B1388  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B572C 003B138C  38 03 00 01 */	addi r0, r3, 1
/* 803B5730 003B1390  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803B5734 003B1394  48 00 00 D8 */	b lbl_803B580C
lbl_803B5738:
/* 803B5738 003B1398  7C 7D 02 14 */	add r3, r29, r0
/* 803B573C 003B139C  8B C3 21 EC */	lbz r30, 0x21ec(r3)
/* 803B5740 003B13A0  7F C3 F3 78 */	mr r3, r30
/* 803B5744 003B13A4  48 02 81 DD */	bl func_803DD920
/* 803B5748 003B13A8  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803B574C 003B13AC  7C 00 18 39 */	and. r0, r0, r3
/* 803B5750 003B13B0  41 82 00 14 */	beq lbl_803B5764
/* 803B5754 003B13B4  80 7D 00 24 */	lwz r3, 0x24(r29)
/* 803B5758 003B13B8  38 03 00 01 */	addi r0, r3, 1
/* 803B575C 003B13BC  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B5760 003B13C0  48 00 00 AC */	b lbl_803B580C
lbl_803B5764:
/* 803B5764 003B13C4  80 7D 00 24 */	lwz r3, 0x24(r29)
/* 803B5768 003B13C8  1C 9E 00 C0 */	mulli r4, r30, 0xc0
/* 803B576C 003B13CC  38 03 00 01 */	addi r0, r3, 1
/* 803B5770 003B13D0  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B5774 003B13D4  7C BD 22 14 */	add r5, r29, r4
/* 803B5778 003B13D8  80 65 2D C0 */	lwz r3, 0x2dc0(r5)
/* 803B577C 003B13DC  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803B5780 003B13E0  41 82 00 8C */	beq lbl_803B580C
/* 803B5784 003B13E4  80 05 2D C8 */	lwz r0, 0x2dc8(r5)
/* 803B5788 003B13E8  54 00 7F BF */	rlwinm. r0, r0, 0xf, 0x1e, 0x1f
/* 803B578C 003B13EC  40 82 00 34 */	bne lbl_803B57C0
/* 803B5790 003B13F0  54 60 06 F2 */	rlwinm r0, r3, 0, 0x1b, 0x19
/* 803B5794 003B13F4  90 05 2D C0 */	stw r0, 0x2dc0(r5)
/* 803B5798 003B13F8  80 65 2D C8 */	lwz r3, 0x2dc8(r5)
/* 803B579C 003B13FC  80 1D 21 3C */	lwz r0, 0x213c(r29)
/* 803B57A0 003B1400  54 63 7F BE */	rlwinm r3, r3, 0xf, 0x1e, 0x1f
/* 803B57A4 003B1404  90 7D 01 30 */	stw r3, 0x130(r29)
/* 803B57A8 003B1408  60 00 00 40 */	ori r0, r0, 0x40
/* 803B57AC 003B140C  80 65 2D 8C */	lwz r3, 0x2d8c(r5)
/* 803B57B0 003B1410  7C 63 00 D0 */	neg r3, r3
/* 803B57B4 003B1414  90 1D 21 3C */	stw r0, 0x213c(r29)
/* 803B57B8 003B1418  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803B57BC 003B141C  48 00 00 1C */	b lbl_803B57D8
lbl_803B57C0:
/* 803B57C0 003B1420  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803B57C4 003B1424  80 85 2D C8 */	lwz r4, 0x2dc8(r5)
/* 803B57C8 003B1428  54 83 7F BE */	rlwinm r3, r4, 0xf, 0x1e, 0x1f
/* 803B57CC 003B142C  38 03 FF FF */	addi r0, r3, -1
/* 803B57D0 003B1430  50 04 8B 5C */	rlwimi r4, r0, 0x11, 0xd, 0xe
/* 803B57D4 003B1434  90 85 2D C8 */	stw r4, 0x2dc8(r5)
lbl_803B57D8:
/* 803B57D8 003B1438  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803B57DC 003B143C  7F A3 EB 78 */	mr r3, r29
/* 803B57E0 003B1440  38 80 00 02 */	li r4, 2
/* 803B57E4 003B1444  38 A0 00 66 */	li r5, 0x66
/* 803B57E8 003B1448  48 00 51 ED */	bl func_803BA9D4
/* 803B57EC 003B144C  80 9D 00 08 */	lwz r4, 8(r29)
/* 803B57F0 003B1450  38 00 00 15 */	li r0, 0x15
/* 803B57F4 003B1454  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B57F8 003B1458  90 9D 00 0C */	stw r4, 0xc(r29)
/* 803B57FC 003B145C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B5800 003B1460  90 1D 00 08 */	stw r0, 8(r29)
/* 803B5804 003B1464  93 C3 00 0C */	stw r30, 0xc(r3)
/* 803B5808 003B1468  48 00 00 8C */	b lbl_803B5894
lbl_803B580C:
/* 803B580C 003B146C  80 1D 00 24 */	lwz r0, 0x24(r29)
/* 803B5810 003B1470  7C 00 F8 00 */	cmpw r0, r31
/* 803B5814 003B1474  41 80 FF 24 */	blt lbl_803B5738
/* 803B5818 003B1478  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803B581C 003B147C  38 00 00 00 */	li r0, 0
/* 803B5820 003B1480  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B5824 003B1484  38 03 00 01 */	addi r0, r3, 1
/* 803B5828 003B1488  90 1D 00 20 */	stw r0, 0x20(r29)
lbl_803B582C:
/* 803B582C 003B148C  80 7D 01 80 */	lwz r3, 0x180(r29)
/* 803B5830 003B1490  54 60 03 5F */	rlwinm. r0, r3, 0, 0xd, 0xf
/* 803B5834 003B1494  41 82 00 38 */	beq lbl_803B586C
/* 803B5838 003B1498  3C 63 FF FF */	addis r3, r3, 0xffff
/* 803B583C 003B149C  54 60 03 5F */	rlwinm. r0, r3, 0, 0xd, 0xf
/* 803B5840 003B14A0  90 7D 01 80 */	stw r3, 0x180(r29)
/* 803B5844 003B14A4  40 82 00 28 */	bne lbl_803B586C
/* 803B5848 003B14A8  7F A3 EB 78 */	mr r3, r29
/* 803B584C 003B14AC  38 80 00 02 */	li r4, 2
/* 803B5850 003B14B0  38 A0 00 FB */	li r5, 0xfb
/* 803B5854 003B14B4  48 00 51 81 */	bl func_803BA9D4
/* 803B5858 003B14B8  80 7D 00 08 */	lwz r3, 8(r29)
/* 803B585C 003B14BC  38 00 00 15 */	li r0, 0x15
/* 803B5860 003B14C0  90 7D 00 0C */	stw r3, 0xc(r29)
/* 803B5864 003B14C4  90 1D 00 08 */	stw r0, 8(r29)
/* 803B5868 003B14C8  48 00 00 2C */	b lbl_803B5894
lbl_803B586C:
/* 803B586C 003B14CC  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803B5870 003B14D0  38 00 00 00 */	li r0, 0
/* 803B5874 003B14D4  90 1D 00 24 */	stw r0, 0x24(r29)
/* 803B5878 003B14D8  38 03 00 01 */	addi r0, r3, 1
/* 803B587C 003B14DC  90 1D 00 20 */	stw r0, 0x20(r29)
lbl_803B5880:
/* 803B5880 003B14E0  38 60 00 00 */	li r3, 0
/* 803B5884 003B14E4  38 00 00 0C */	li r0, 0xc
/* 803B5888 003B14E8  90 7D 00 20 */	stw r3, 0x20(r29)
/* 803B588C 003B14EC  90 7D 00 24 */	stw r3, 0x24(r29)
/* 803B5890 003B14F0  90 1D 00 08 */	stw r0, 8(r29)
lbl_803B5894:
/* 803B5894 003B14F4  39 61 00 20 */	addi r11, r1, 0x20
/* 803B5898 003B14F8  4B E1 18 E1 */	bl _restgpr_28
/* 803B589C 003B14FC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B58A0 003B1500  7C 08 03 A6 */	mtlr r0
/* 803B58A4 003B1504  38 21 00 20 */	addi r1, r1, 0x20
/* 803B58A8 003B1508  4E 80 00 20 */	blr 
/* 803B58AC 003B150C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803B58B0 003B1510  7C 08 02 A6 */	mflr r0
/* 803B58B4 003B1514  90 01 00 54 */	stw r0, 0x54(r1)
/* 803B58B8 003B1518  39 61 00 50 */	addi r11, r1, 0x50
/* 803B58BC 003B151C  4B E1 18 39 */	bl __save_gpr
/* 803B58C0 003B1520  80 A4 00 08 */	lwz r5, 8(r4)
/* 803B58C4 003B1524  7C 90 23 78 */	mr r16, r4
/* 803B58C8 003B1528  7C 6F 1B 78 */	mr r15, r3
/* 803B58CC 003B152C  7E 03 83 78 */	mr r3, r16
/* 803B58D0 003B1530  7C A4 2B 78 */	mr r4, r5
/* 803B58D4 003B1534  48 00 44 11 */	bl func_803B9CE4
/* 803B58D8 003B1538  2C 03 00 01 */	cmpwi r3, 1
/* 803B58DC 003B153C  41 82 04 60 */	beq lbl_803B5D3C
/* 803B58E0 003B1540  7D E3 7B 78 */	mr r3, r15
/* 803B58E4 003B1544  7E 04 83 78 */	mr r4, r16
/* 803B58E8 003B1548  48 00 3E D9 */	bl func_803B97C0
/* 803B58EC 003B154C  2C 03 00 01 */	cmpwi r3, 1
/* 803B58F0 003B1550  41 82 04 4C */	beq lbl_803B5D3C
/* 803B58F4 003B1554  7D E3 7B 78 */	mr r3, r15
/* 803B58F8 003B1558  3A C0 00 00 */	li r22, 0
/* 803B58FC 003B155C  4B FF 6F 65 */	bl func_803AC860
/* 803B5900 003B1560  7C 7D 1B 78 */	mr r29, r3
/* 803B5904 003B1564  7D E3 7B 78 */	mr r3, r15
/* 803B5908 003B1568  4B FF 6F 39 */	bl func_803AC840
/* 803B590C 003B156C  83 10 00 08 */	lwz r24, 8(r16)
/* 803B5910 003B1570  7C 6E 1B 78 */	mr r14, r3
/* 803B5914 003B1574  54 75 07 BC */	rlwinm r21, r3, 0, 0x1e, 0x1e
/* 803B5918 003B1578  54 74 06 F8 */	rlwinm r20, r3, 0, 0x1b, 0x1c
/* 803B591C 003B157C  54 73 06 F6 */	rlwinm r19, r3, 0, 0x1b, 0x1b
/* 803B5920 003B1580  3A E0 00 00 */	li r23, 0
/* 803B5924 003B1584  3B E0 00 00 */	li r31, 0
/* 803B5928 003B1588  3B C0 00 00 */	li r30, 0
/* 803B592C 003B158C  48 00 02 54 */	b lbl_803B5B80
lbl_803B5930:
/* 803B5930 003B1590  7E 30 F2 14 */	add r17, r16, r30
/* 803B5934 003B1594  2C 15 00 00 */	cmpwi r21, 0
/* 803B5938 003B1598  80 11 01 3C */	lwz r0, 0x13c(r17)
/* 803B593C 003B159C  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803B5940 003B15A0  90 11 01 3C */	stw r0, 0x13c(r17)
/* 803B5944 003B15A4  41 82 00 0C */	beq lbl_803B5950
/* 803B5948 003B15A8  2C 14 00 00 */	cmpwi r20, 0
/* 803B594C 003B15AC  41 82 00 20 */	beq lbl_803B596C
lbl_803B5950:
/* 803B5950 003B15B0  2C 13 00 00 */	cmpwi r19, 0
/* 803B5954 003B15B4  41 82 01 40 */	beq lbl_803B5A94
/* 803B5958 003B15B8  7D E3 7B 78 */	mr r3, r15
/* 803B595C 003B15BC  7E E4 BB 78 */	mr r4, r23
/* 803B5960 003B15C0  4B FF 73 85 */	bl func_803ACCE4
/* 803B5964 003B15C4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B5968 003B15C8  40 82 01 2C */	bne lbl_803B5A94
lbl_803B596C:
/* 803B596C 003B15CC  7C 70 FA 14 */	add r3, r16, r31
/* 803B5970 003B15D0  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803B5974 003B15D4  2C 04 00 00 */	cmpwi r4, 0
/* 803B5978 003B15D8  40 82 00 24 */	bne lbl_803B599C
/* 803B597C 003B15DC  6A E0 00 02 */	xori r0, r23, 2
/* 803B5980 003B15E0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B5984 003B15E4  7C 70 02 14 */	add r3, r16, r0
/* 803B5988 003B15E8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B598C 003B15EC  2C 00 00 00 */	cmpwi r0, 0
/* 803B5990 003B15F0  40 82 00 0C */	bne lbl_803B599C
/* 803B5994 003B15F4  56 E0 07 BD */	rlwinm. r0, r23, 0, 0x1e, 0x1e
/* 803B5998 003B15F8  40 82 01 DC */	bne lbl_803B5B74
lbl_803B599C:
/* 803B599C 003B15FC  2C 04 00 00 */	cmpwi r4, 0
/* 803B59A0 003B1600  40 82 01 D4 */	bne lbl_803B5B74
/* 803B59A4 003B1604  7D E3 7B 78 */	mr r3, r15
/* 803B59A8 003B1608  7E E4 BB 78 */	mr r4, r23
/* 803B59AC 003B160C  3B 40 00 00 */	li r26, 0
/* 803B59B0 003B1610  4B FF 6E B9 */	bl func_803AC868
/* 803B59B4 003B1614  7C 7B 1B 78 */	mr r27, r3
/* 803B59B8 003B1618  7D E3 7B 78 */	mr r3, r15
/* 803B59BC 003B161C  7E E4 BB 78 */	mr r4, r23
/* 803B59C0 003B1620  4B FF 6E 91 */	bl cTeam_GetPlayer
/* 803B59C4 003B1624  6A E0 00 02 */	xori r0, r23, 2
/* 803B59C8 003B1628  3B 20 00 00 */	li r25, 0
/* 803B59CC 003B162C  7E 50 02 14 */	add r18, r16, r0
/* 803B59D0 003B1630  48 00 00 6C */	b lbl_803B5A3C
lbl_803B59D4:
/* 803B59D4 003B1634  7F 63 DB 78 */	mr r3, r27
/* 803B59D8 003B1638  7F 24 CB 78 */	mr r4, r25
/* 803B59DC 003B163C  48 02 8F 71 */	bl func_803DE94C
/* 803B59E0 003B1640  7C 7C 1B 78 */	mr r28, r3
/* 803B59E4 003B1644  38 80 00 AD */	li r4, 0xad
/* 803B59E8 003B1648  38 A0 00 00 */	li r5, 0
/* 803B59EC 003B164C  48 02 7F F1 */	bl func_803DD9DC
/* 803B59F0 003B1650  2C 03 00 00 */	cmpwi r3, 0
/* 803B59F4 003B1654  41 82 00 44 */	beq lbl_803B5A38
/* 803B59F8 003B1658  7F 83 E3 78 */	mr r3, r28
/* 803B59FC 003B165C  38 80 00 AD */	li r4, 0xad
/* 803B5A00 003B1660  38 A0 00 00 */	li r5, 0
/* 803B5A04 003B1664  48 02 7F D9 */	bl func_803DD9DC
/* 803B5A08 003B1668  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B5A0C 003B166C  41 82 00 2C */	beq lbl_803B5A38
/* 803B5A10 003B1670  7F 83 E3 78 */	mr r3, r28
/* 803B5A14 003B1674  38 80 00 A2 */	li r4, 0xa2
/* 803B5A18 003B1678  38 A0 00 00 */	li r5, 0
/* 803B5A1C 003B167C  48 02 7F C1 */	bl func_803DD9DC
/* 803B5A20 003B1680  2C 03 00 00 */	cmpwi r3, 0
/* 803B5A24 003B1684  41 82 00 14 */	beq lbl_803B5A38
/* 803B5A28 003B1688  88 12 21 9C */	lbz r0, 0x219c(r18)
/* 803B5A2C 003B168C  7C 19 00 00 */	cmpw r25, r0
/* 803B5A30 003B1690  41 82 00 08 */	beq lbl_803B5A38
/* 803B5A34 003B1694  7F 5A 1A 14 */	add r26, r26, r3
lbl_803B5A38:
/* 803B5A38 003B1698  3B 39 00 01 */	addi r25, r25, 1
lbl_803B5A3C:
/* 803B5A3C 003B169C  7F 63 DB 78 */	mr r3, r27
/* 803B5A40 003B16A0  48 02 8F 05 */	bl func_803DE944
/* 803B5A44 003B16A4  7C 19 18 00 */	cmpw r25, r3
/* 803B5A48 003B16A8  41 80 FF 8C */	blt lbl_803B59D4
/* 803B5A4C 003B16AC  2C 1A 00 00 */	cmpwi r26, 0
/* 803B5A50 003B16B0  40 82 00 28 */	bne lbl_803B5A78
/* 803B5A54 003B16B4  7E E3 BB 78 */	mr r3, r23
/* 803B5A58 003B16B8  48 02 7E C9 */	bl func_803DD920
/* 803B5A5C 003B16BC  88 10 31 08 */	lbz r0, 0x3108(r16)
/* 803B5A60 003B16C0  7C 90 BA 14 */	add r4, r16, r23
/* 803B5A64 003B16C4  7C 00 1B 78 */	or r0, r0, r3
/* 803B5A68 003B16C8  98 10 31 08 */	stb r0, 0x3108(r16)
/* 803B5A6C 003B16CC  38 00 00 06 */	li r0, 6
/* 803B5A70 003B16D0  98 04 21 9C */	stb r0, 0x219c(r4)
/* 803B5A74 003B16D4  48 00 01 00 */	b lbl_803B5B74
lbl_803B5A78:
/* 803B5A78 003B16D8  38 00 00 15 */	li r0, 0x15
/* 803B5A7C 003B16DC  93 10 00 0C */	stw r24, 0xc(r16)
/* 803B5A80 003B16E0  90 10 00 08 */	stw r0, 8(r16)
/* 803B5A84 003B16E4  80 11 01 3C */	lwz r0, 0x13c(r17)
/* 803B5A88 003B16E8  60 00 00 01 */	ori r0, r0, 1
/* 803B5A8C 003B16EC  90 11 01 3C */	stw r0, 0x13c(r17)
/* 803B5A90 003B16F0  48 00 00 E4 */	b lbl_803B5B74
lbl_803B5A94:
/* 803B5A94 003B16F4  7C 70 FA 14 */	add r3, r16, r31
/* 803B5A98 003B16F8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B5A9C 003B16FC  2C 00 00 00 */	cmpwi r0, 0
/* 803B5AA0 003B1700  40 82 00 D4 */	bne lbl_803B5B74
/* 803B5AA4 003B1704  7D E3 7B 78 */	mr r3, r15
/* 803B5AA8 003B1708  7E E4 BB 78 */	mr r4, r23
/* 803B5AAC 003B170C  3B 40 00 00 */	li r26, 0
/* 803B5AB0 003B1710  4B FF 6D B9 */	bl func_803AC868
/* 803B5AB4 003B1714  7C 79 1B 78 */	mr r25, r3
/* 803B5AB8 003B1718  7D E3 7B 78 */	mr r3, r15
/* 803B5ABC 003B171C  7E E4 BB 78 */	mr r4, r23
/* 803B5AC0 003B1720  4B FF 6D 91 */	bl cTeam_GetPlayer
/* 803B5AC4 003B1724  3B 60 00 00 */	li r27, 0
/* 803B5AC8 003B1728  48 00 00 58 */	b lbl_803B5B20
lbl_803B5ACC:
/* 803B5ACC 003B172C  7F 23 CB 78 */	mr r3, r25
/* 803B5AD0 003B1730  7F 64 DB 78 */	mr r4, r27
/* 803B5AD4 003B1734  48 02 8E 79 */	bl func_803DE94C
/* 803B5AD8 003B1738  7C 72 1B 78 */	mr r18, r3
/* 803B5ADC 003B173C  38 80 00 AD */	li r4, 0xad
/* 803B5AE0 003B1740  38 A0 00 00 */	li r5, 0
/* 803B5AE4 003B1744  48 02 7E F9 */	bl func_803DD9DC
/* 803B5AE8 003B1748  2C 03 00 00 */	cmpwi r3, 0
/* 803B5AEC 003B174C  41 82 00 30 */	beq lbl_803B5B1C
/* 803B5AF0 003B1750  7E 43 93 78 */	mr r3, r18
/* 803B5AF4 003B1754  38 80 00 AD */	li r4, 0xad
/* 803B5AF8 003B1758  38 A0 00 00 */	li r5, 0
/* 803B5AFC 003B175C  48 02 7E E1 */	bl func_803DD9DC
/* 803B5B00 003B1760  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B5B04 003B1764  41 82 00 18 */	beq lbl_803B5B1C
/* 803B5B08 003B1768  7E 43 93 78 */	mr r3, r18
/* 803B5B0C 003B176C  38 80 00 A2 */	li r4, 0xa2
/* 803B5B10 003B1770  38 A0 00 00 */	li r5, 0
/* 803B5B14 003B1774  48 02 7E C9 */	bl func_803DD9DC
/* 803B5B18 003B1778  7F 5A 1A 14 */	add r26, r26, r3
lbl_803B5B1C:
/* 803B5B1C 003B177C  3B 7B 00 01 */	addi r27, r27, 1
lbl_803B5B20:
/* 803B5B20 003B1780  7F 23 CB 78 */	mr r3, r25
/* 803B5B24 003B1784  48 02 8E 21 */	bl func_803DE944
/* 803B5B28 003B1788  7C 1B 18 00 */	cmpw r27, r3
/* 803B5B2C 003B178C  41 80 FF A0 */	blt lbl_803B5ACC
/* 803B5B30 003B1790  2C 1A 00 00 */	cmpwi r26, 0
/* 803B5B34 003B1794  40 82 00 28 */	bne lbl_803B5B5C
/* 803B5B38 003B1798  7E E3 BB 78 */	mr r3, r23
/* 803B5B3C 003B179C  48 02 7D E5 */	bl func_803DD920
/* 803B5B40 003B17A0  88 10 31 08 */	lbz r0, 0x3108(r16)
/* 803B5B44 003B17A4  7C 90 BA 14 */	add r4, r16, r23
/* 803B5B48 003B17A8  7C 00 1B 78 */	or r0, r0, r3
/* 803B5B4C 003B17AC  98 10 31 08 */	stb r0, 0x3108(r16)
/* 803B5B50 003B17B0  38 00 00 06 */	li r0, 6
/* 803B5B54 003B17B4  98 04 21 9C */	stb r0, 0x219c(r4)
/* 803B5B58 003B17B8  48 00 00 1C */	b lbl_803B5B74
lbl_803B5B5C:
/* 803B5B5C 003B17BC  38 00 00 15 */	li r0, 0x15
/* 803B5B60 003B17C0  93 10 00 0C */	stw r24, 0xc(r16)
/* 803B5B64 003B17C4  90 10 00 08 */	stw r0, 8(r16)
/* 803B5B68 003B17C8  80 11 01 3C */	lwz r0, 0x13c(r17)
/* 803B5B6C 003B17CC  60 00 00 01 */	ori r0, r0, 1
/* 803B5B70 003B17D0  90 11 01 3C */	stw r0, 0x13c(r17)
lbl_803B5B74:
/* 803B5B74 003B17D4  3A F7 00 01 */	addi r23, r23, 1
/* 803B5B78 003B17D8  3B FF 00 C0 */	addi r31, r31, 0xc0
/* 803B5B7C 003B17DC  3B DE 00 04 */	addi r30, r30, 4
lbl_803B5B80:
/* 803B5B80 003B17E0  7C 17 E8 00 */	cmpw r23, r29
/* 803B5B84 003B17E4  41 80 FD AC */	blt lbl_803B5930
/* 803B5B88 003B17E8  80 10 00 08 */	lwz r0, 8(r16)
/* 803B5B8C 003B17EC  2C 00 00 15 */	cmpwi r0, 0x15
/* 803B5B90 003B17F0  40 82 00 94 */	bne lbl_803B5C24
/* 803B5B94 003B17F4  71 C0 00 86 */	andi. r0, r14, 0x86
/* 803B5B98 003B17F8  40 82 00 78 */	bne lbl_803B5C10
/* 803B5B9C 003B17FC  7D E3 7B 78 */	mr r3, r15
/* 803B5BA0 003B1800  4B FF 80 25 */	bl func_803ADBC4
/* 803B5BA4 003B1804  2C 03 00 00 */	cmpwi r3, 0
/* 803B5BA8 003B1808  40 82 00 68 */	bne lbl_803B5C10
/* 803B5BAC 003B180C  80 10 01 3C */	lwz r0, 0x13c(r16)
/* 803B5BB0 003B1810  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B5BB4 003B1814  41 82 00 10 */	beq lbl_803B5BC4
/* 803B5BB8 003B1818  80 10 01 40 */	lwz r0, 0x140(r16)
/* 803B5BBC 003B181C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B5BC0 003B1820  40 82 00 50 */	bne lbl_803B5C10
lbl_803B5BC4:
/* 803B5BC4 003B1824  7D E3 7B 78 */	mr r3, r15
/* 803B5BC8 003B1828  7E 04 83 78 */	mr r4, r16
/* 803B5BCC 003B182C  38 A0 00 00 */	li r5, 0
/* 803B5BD0 003B1830  48 00 A1 1D */	bl func_803BFCEC
/* 803B5BD4 003B1834  2C 03 00 00 */	cmpwi r3, 0
/* 803B5BD8 003B1838  41 82 00 38 */	beq lbl_803B5C10
/* 803B5BDC 003B183C  80 10 01 3C */	lwz r0, 0x13c(r16)
/* 803B5BE0 003B1840  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B5BE4 003B1844  41 82 00 10 */	beq lbl_803B5BF4
/* 803B5BE8 003B1848  38 00 00 00 */	li r0, 0
/* 803B5BEC 003B184C  90 10 01 38 */	stw r0, 0x138(r16)
/* 803B5BF0 003B1850  48 00 00 0C */	b lbl_803B5BFC
lbl_803B5BF4:
/* 803B5BF4 003B1854  38 00 00 01 */	li r0, 1
/* 803B5BF8 003B1858  90 10 01 38 */	stw r0, 0x138(r16)
lbl_803B5BFC:
/* 803B5BFC 003B185C  7E 03 83 78 */	mr r3, r16
/* 803B5C00 003B1860  38 80 00 02 */	li r4, 2
/* 803B5C04 003B1864  38 A0 00 E7 */	li r5, 0xe7
/* 803B5C08 003B1868  48 00 4D CD */	bl func_803BA9D4
/* 803B5C0C 003B186C  48 00 00 14 */	b lbl_803B5C20
lbl_803B5C10:
/* 803B5C10 003B1870  7E 03 83 78 */	mr r3, r16
/* 803B5C14 003B1874  38 80 00 02 */	li r4, 2
/* 803B5C18 003B1878  38 A0 00 0A */	li r5, 0xa
/* 803B5C1C 003B187C  48 00 4D B9 */	bl func_803BA9D4
lbl_803B5C20:
/* 803B5C20 003B1880  3A C0 00 01 */	li r22, 1
lbl_803B5C24:
/* 803B5C24 003B1884  2C 16 00 01 */	cmpwi r22, 1
/* 803B5C28 003B1888  41 82 01 14 */	beq lbl_803B5D3C
/* 803B5C2C 003B188C  80 B0 01 50 */	lwz r5, 0x150(r16)
/* 803B5C30 003B1890  7E 03 83 78 */	mr r3, r16
/* 803B5C34 003B1894  80 90 01 74 */	lwz r4, 0x174(r16)
/* 803B5C38 003B1898  38 A5 00 01 */	addi r5, r5, 1
/* 803B5C3C 003B189C  38 04 00 01 */	addi r0, r4, 1
/* 803B5C40 003B18A0  90 B0 01 50 */	stw r5, 0x150(r16)
/* 803B5C44 003B18A4  90 10 01 74 */	stw r0, 0x174(r16)
/* 803B5C48 003B18A8  48 00 7A E1 */	bl func_803BD728
/* 803B5C4C 003B18AC  7D E3 7B 78 */	mr r3, r15
/* 803B5C50 003B18B0  7E 04 83 78 */	mr r4, r16
/* 803B5C54 003B18B4  48 00 83 95 */	bl func_803BDFE8
/* 803B5C58 003B18B8  38 00 00 02 */	li r0, 2
/* 803B5C5C 003B18BC  38 60 00 05 */	li r3, 5
/* 803B5C60 003B18C0  90 10 00 08 */	stw r0, 8(r16)
/* 803B5C64 003B18C4  4B DB 86 81 */	bl func_8016E2E4
/* 803B5C68 003B18C8  38 60 00 02 */	li r3, 2
/* 803B5C6C 003B18CC  38 80 00 00 */	li r4, 0
/* 803B5C70 003B18D0  4B DB 9D DD */	bl func_8016FA4C
/* 803B5C74 003B18D4  38 C0 00 00 */	li r6, 0
/* 803B5C78 003B18D8  38 80 00 FF */	li r4, 0xff
/* 803B5C7C 003B18DC  38 00 00 04 */	li r0, 4
lbl_803B5C80:
/* 803B5C80 003B18E0  54 C3 15 BA */	rlwinm r3, r6, 2, 0x16, 0x1d
/* 803B5C84 003B18E4  38 E0 00 00 */	li r7, 0
/* 803B5C88 003B18E8  7C B0 1A 14 */	add r5, r16, r3
/* 803B5C8C 003B18EC  7C 09 03 A6 */	mtctr r0
lbl_803B5C90:
/* 803B5C90 003B18F0  54 E3 06 3E */	clrlwi r3, r7, 0x18
/* 803B5C94 003B18F4  38 E7 00 01 */	addi r7, r7, 1
/* 803B5C98 003B18F8  7C 65 1A 14 */	add r3, r5, r3
/* 803B5C9C 003B18FC  98 83 31 4C */	stb r4, 0x314c(r3)
/* 803B5CA0 003B1900  42 00 FF F0 */	bdnz lbl_803B5C90
/* 803B5CA4 003B1904  38 C6 00 01 */	addi r6, r6, 1
/* 803B5CA8 003B1908  28 06 00 04 */	cmplwi r6, 4
/* 803B5CAC 003B190C  41 80 FF D4 */	blt lbl_803B5C80
/* 803B5CB0 003B1910  39 C0 00 00 */	li r14, 0
lbl_803B5CB4:
/* 803B5CB4 003B1914  7D E3 7B 78 */	mr r3, r15
/* 803B5CB8 003B1918  7D C4 73 78 */	mr r4, r14
/* 803B5CBC 003B191C  4B FF 6B AD */	bl func_803AC868
/* 803B5CC0 003B1920  7C 71 1B 78 */	mr r17, r3
/* 803B5CC4 003B1924  3A 00 00 00 */	li r16, 0
/* 803B5CC8 003B1928  48 00 00 58 */	b lbl_803B5D20
lbl_803B5CCC:
/* 803B5CCC 003B192C  7D E3 7B 78 */	mr r3, r15
/* 803B5CD0 003B1930  7D C4 73 78 */	mr r4, r14
/* 803B5CD4 003B1934  7E 05 83 78 */	mr r5, r16
/* 803B5CD8 003B1938  4B FF 6C CD */	bl func_803AC9A4
/* 803B5CDC 003B193C  7C 72 1B 78 */	mr r18, r3
/* 803B5CE0 003B1940  38 80 00 A2 */	li r4, 0xa2
/* 803B5CE4 003B1944  38 A0 00 00 */	li r5, 0
/* 803B5CE8 003B1948  48 02 7C F5 */	bl func_803DD9DC
/* 803B5CEC 003B194C  7E 43 93 78 */	mr r3, r18
/* 803B5CF0 003B1950  38 80 00 A3 */	li r4, 0xa3
/* 803B5CF4 003B1954  38 A0 00 00 */	li r5, 0
/* 803B5CF8 003B1958  48 02 7C E5 */	bl func_803DD9DC
/* 803B5CFC 003B195C  7E 43 93 78 */	mr r3, r18
/* 803B5D00 003B1960  38 80 00 05 */	li r4, 5
/* 803B5D04 003B1964  38 A0 00 00 */	li r5, 0
/* 803B5D08 003B1968  48 02 7C D5 */	bl func_803DD9DC
/* 803B5D0C 003B196C  7E 43 93 78 */	mr r3, r18
/* 803B5D10 003B1970  38 80 00 A0 */	li r4, 0xa0
/* 803B5D14 003B1974  38 A0 00 00 */	li r5, 0
/* 803B5D18 003B1978  48 02 7C C5 */	bl func_803DD9DC
/* 803B5D1C 003B197C  3A 10 00 01 */	addi r16, r16, 1
lbl_803B5D20:
/* 803B5D20 003B1980  7E 23 8B 78 */	mr r3, r17
/* 803B5D24 003B1984  48 02 8C 21 */	bl func_803DE944
/* 803B5D28 003B1988  7C 10 18 00 */	cmpw r16, r3
/* 803B5D2C 003B198C  41 80 FF A0 */	blt lbl_803B5CCC
/* 803B5D30 003B1990  39 CE 00 01 */	addi r14, r14, 1
/* 803B5D34 003B1994  2C 0E 00 02 */	cmpwi r14, 2
/* 803B5D38 003B1998  41 80 FF 7C */	blt lbl_803B5CB4
lbl_803B5D3C:
/* 803B5D3C 003B199C  39 61 00 50 */	addi r11, r1, 0x50
/* 803B5D40 003B19A0  4B E1 14 01 */	bl __restore_gpr
/* 803B5D44 003B19A4  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803B5D48 003B19A8  7C 08 03 A6 */	mtlr r0
/* 803B5D4C 003B19AC  38 21 00 50 */	addi r1, r1, 0x50
/* 803B5D50 003B19B0  4E 80 00 20 */	blr 
/* 803B5D54 003B19B4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B5D58 003B19B8  7C 08 02 A6 */	mflr r0
/* 803B5D5C 003B19BC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B5D60 003B19C0  39 61 00 20 */	addi r11, r1, 0x20
/* 803B5D64 003B19C4  4B E1 13 CD */	bl _savegpr_29
/* 803B5D68 003B19C8  80 04 00 EC */	lwz r0, 0xec(r4)
/* 803B5D6C 003B19CC  7C 7D 1B 78 */	mr r29, r3
/* 803B5D70 003B19D0  7C 9E 23 78 */	mr r30, r4
/* 803B5D74 003B19D4  3B E0 00 00 */	li r31, 0
/* 803B5D78 003B19D8  7C 64 02 14 */	add r3, r4, r0
/* 803B5D7C 003B19DC  88 C3 21 E8 */	lbz r6, 0x21e8(r3)
/* 803B5D80 003B19E0  54 C0 30 32 */	slwi r0, r6, 6
/* 803B5D84 003B19E4  90 C4 00 64 */	stw r6, 0x64(r4)
/* 803B5D88 003B19E8  7C 64 02 14 */	add r3, r4, r0
/* 803B5D8C 003B19EC  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B5D90 003B19F0  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803B5D94 003B19F4  41 82 00 14 */	beq lbl_803B5DA8
/* 803B5D98 003B19F8  38 00 00 A5 */	li r0, 0xa5
/* 803B5D9C 003B19FC  3B E0 00 01 */	li r31, 1
/* 803B5DA0 003B1A00  90 04 30 40 */	stw r0, 0x3040(r4)
/* 803B5DA4 003B1A04  48 00 01 18 */	b lbl_803B5EBC
lbl_803B5DA8:
/* 803B5DA8 003B1A08  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803B5DAC 003B1A0C  7C 64 02 14 */	add r3, r4, r0
/* 803B5DB0 003B1A10  A0 A3 2D EC */	lhz r5, 0x2dec(r3)
/* 803B5DB4 003B1A14  2C 05 00 00 */	cmpwi r5, 0
/* 803B5DB8 003B1A18  41 82 00 28 */	beq lbl_803B5DE0
/* 803B5DBC 003B1A1C  A0 03 2D EE */	lhz r0, 0x2dee(r3)
/* 803B5DC0 003B1A20  54 00 08 3C */	slwi r0, r0, 1
/* 803B5DC4 003B1A24  7C 63 02 14 */	add r3, r3, r0
/* 803B5DC8 003B1A28  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803B5DCC 003B1A2C  7C 05 00 40 */	cmplw r5, r0
/* 803B5DD0 003B1A30  40 82 00 10 */	bne lbl_803B5DE0
/* 803B5DD4 003B1A34  90 A4 30 40 */	stw r5, 0x3040(r4)
/* 803B5DD8 003B1A38  3B E0 00 01 */	li r31, 1
/* 803B5DDC 003B1A3C  48 00 00 E0 */	b lbl_803B5EBC
lbl_803B5DE0:
/* 803B5DE0 003B1A40  2C 05 00 00 */	cmpwi r5, 0
/* 803B5DE4 003B1A44  41 82 00 6C */	beq lbl_803B5E50
/* 803B5DE8 003B1A48  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803B5DEC 003B1A4C  7C 64 02 14 */	add r3, r4, r0
/* 803B5DF0 003B1A50  A0 03 2D EE */	lhz r0, 0x2dee(r3)
/* 803B5DF4 003B1A54  54 00 08 3C */	slwi r0, r0, 1
/* 803B5DF8 003B1A58  7C 63 02 14 */	add r3, r3, r0
/* 803B5DFC 003B1A5C  A0 63 2D 4C */	lhz r3, 0x2d4c(r3)
/* 803B5E00 003B1A60  7C 05 18 40 */	cmplw r5, r3
/* 803B5E04 003B1A64  41 82 00 4C */	beq lbl_803B5E50
/* 803B5E08 003B1A68  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803B5E0C 003B1A6C  38 A0 00 00 */	li r5, 0
/* 803B5E10 003B1A70  90 64 30 40 */	stw r3, 0x3040(r4)
/* 803B5E14 003B1A74  3B E0 00 01 */	li r31, 1
/* 803B5E18 003B1A78  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B5E1C 003B1A7C  7C 64 02 14 */	add r3, r4, r0
/* 803B5E20 003B1A80  B0 A3 2D EC */	sth r5, 0x2dec(r3)
/* 803B5E24 003B1A84  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803B5E28 003B1A88  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B5E2C 003B1A8C  7C 64 02 14 */	add r3, r4, r0
/* 803B5E30 003B1A90  B0 A3 2D EE */	sth r5, 0x2dee(r3)
/* 803B5E34 003B1A94  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803B5E38 003B1A98  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B5E3C 003B1A9C  7C 64 02 14 */	add r3, r4, r0
/* 803B5E40 003B1AA0  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803B5E44 003B1AA4  54 00 01 84 */	rlwinm r0, r0, 0, 6, 2
/* 803B5E48 003B1AA8  90 03 2D C8 */	stw r0, 0x2dc8(r3)
/* 803B5E4C 003B1AAC  48 00 00 70 */	b lbl_803B5EBC
lbl_803B5E50:
/* 803B5E50 003B1AB0  7F C3 F3 78 */	mr r3, r30
/* 803B5E54 003B1AB4  7C C4 33 78 */	mr r4, r6
/* 803B5E58 003B1AB8  48 00 FB A1 */	bl func_803C59F8
/* 803B5E5C 003B1ABC  2C 03 00 00 */	cmpwi r3, 0
/* 803B5E60 003B1AC0  40 82 00 1C */	bne lbl_803B5E7C
/* 803B5E64 003B1AC4  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B5E68 003B1AC8  54 00 10 3A */	slwi r0, r0, 2
/* 803B5E6C 003B1ACC  7C 7E 02 14 */	add r3, r30, r0
/* 803B5E70 003B1AD0  80 03 30 4C */	lwz r0, 0x304c(r3)
/* 803B5E74 003B1AD4  90 1E 30 40 */	stw r0, 0x3040(r30)
/* 803B5E78 003B1AD8  48 00 00 44 */	b lbl_803B5EBC
lbl_803B5E7C:
/* 803B5E7C 003B1ADC  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B5E80 003B1AE0  54 03 08 3C */	slwi r3, r0, 1
/* 803B5E84 003B1AE4  7C 9E 1A 14 */	add r4, r30, r3
/* 803B5E88 003B1AE8  1C A0 00 C0 */	mulli r5, r0, 0xc0
/* 803B5E8C 003B1AEC  A0 64 30 BC */	lhz r3, 0x30bc(r4)
/* 803B5E90 003B1AF0  A0 04 30 B4 */	lhz r0, 0x30b4(r4)
/* 803B5E94 003B1AF4  54 63 08 3C */	slwi r3, r3, 1
/* 803B5E98 003B1AF8  7C 9E 2A 14 */	add r4, r30, r5
/* 803B5E9C 003B1AFC  7C 64 1A 14 */	add r3, r4, r3
/* 803B5EA0 003B1B00  A0 63 2D 4C */	lhz r3, 0x2d4c(r3)
/* 803B5EA4 003B1B04  7C 00 18 40 */	cmplw r0, r3
/* 803B5EA8 003B1B08  41 82 00 10 */	beq lbl_803B5EB8
/* 803B5EAC 003B1B0C  90 7E 30 40 */	stw r3, 0x3040(r30)
/* 803B5EB0 003B1B10  3B E0 00 01 */	li r31, 1
/* 803B5EB4 003B1B14  48 00 00 08 */	b lbl_803B5EBC
lbl_803B5EB8:
/* 803B5EB8 003B1B18  90 7E 30 40 */	stw r3, 0x3040(r30)
lbl_803B5EBC:
/* 803B5EBC 003B1B1C  80 DE 30 40 */	lwz r6, 0x3040(r30)
/* 803B5EC0 003B1B20  38 00 00 16 */	li r0, 0x16
/* 803B5EC4 003B1B24  90 1E 00 08 */	stw r0, 8(r30)
/* 803B5EC8 003B1B28  7F A3 EB 78 */	mr r3, r29
/* 803B5ECC 003B1B2C  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803B5ED0 003B1B30  7F C4 F3 78 */	mr r4, r30
/* 803B5ED4 003B1B34  90 DE 30 44 */	stw r6, 0x3044(r30)
/* 803B5ED8 003B1B38  7F E7 FB 78 */	mr r7, r31
/* 803B5EDC 003B1B3C  54 C6 04 3E */	clrlwi r6, r6, 0x10
/* 803B5EE0 003B1B40  39 00 00 00 */	li r8, 0
/* 803B5EE4 003B1B44  48 00 6A 81 */	bl func_803BC964
/* 803B5EE8 003B1B48  90 7E 00 6C */	stw r3, 0x6c(r30)
/* 803B5EEC 003B1B4C  7F A3 EB 78 */	mr r3, r29
/* 803B5EF0 003B1B50  4B FF C6 49 */	bl func_803B2538
/* 803B5EF4 003B1B54  39 61 00 20 */	addi r11, r1, 0x20
/* 803B5EF8 003B1B58  4B E1 12 85 */	bl _restgpr_29
/* 803B5EFC 003B1B5C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B5F00 003B1B60  7C 08 03 A6 */	mtlr r0
/* 803B5F04 003B1B64  38 21 00 20 */	addi r1, r1, 0x20
/* 803B5F08 003B1B68  4E 80 00 20 */	blr 
/* 803B5F0C 003B1B6C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B5F10 003B1B70  7C 08 02 A6 */	mflr r0
/* 803B5F14 003B1B74  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B5F18 003B1B78  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B5F1C 003B1B7C  7C 9F 23 78 */	mr r31, r4
/* 803B5F20 003B1B80  93 C1 00 08 */	stw r30, 8(r1)
/* 803B5F24 003B1B84  7C 7E 1B 78 */	mr r30, r3
/* 803B5F28 003B1B88  80 04 00 EC */	lwz r0, 0xec(r4)
/* 803B5F2C 003B1B8C  7C A4 02 14 */	add r5, r4, r0
/* 803B5F30 003B1B90  88 A5 21 E8 */	lbz r5, 0x21e8(r5)
/* 803B5F34 003B1B94  90 A4 00 64 */	stw r5, 0x64(r4)
/* 803B5F38 003B1B98  48 00 BC 15 */	bl func_803C1B4C
/* 803B5F3C 003B1B9C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803B5F40 003B1BA0  90 7F 00 6C */	stw r3, 0x6c(r31)
/* 803B5F44 003B1BA4  7F C3 F3 78 */	mr r3, r30
/* 803B5F48 003B1BA8  54 80 20 36 */	slwi r0, r4, 4
/* 803B5F4C 003B1BAC  7F DF 02 14 */	add r30, r31, r0
/* 803B5F50 003B1BB0  4B FF 6D 95 */	bl func_803ACCE4
/* 803B5F54 003B1BB4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B5F58 003B1BB8  41 82 00 AC */	beq lbl_803B6004
/* 803B5F5C 003B1BBC  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B5F60 003B1BC0  7C 00 0E 70 */	srawi r0, r0, 1
/* 803B5F64 003B1BC4  7C 7F 02 14 */	add r3, r31, r0
/* 803B5F68 003B1BC8  88 03 03 D1 */	lbz r0, 0x3d1(r3)
/* 803B5F6C 003B1BCC  2C 00 00 02 */	cmpwi r0, 2
/* 803B5F70 003B1BD0  41 82 00 38 */	beq lbl_803B5FA8
/* 803B5F74 003B1BD4  40 80 00 14 */	bge lbl_803B5F88
/* 803B5F78 003B1BD8  2C 00 00 00 */	cmpwi r0, 0
/* 803B5F7C 003B1BDC  41 82 00 1C */	beq lbl_803B5F98
/* 803B5F80 003B1BE0  40 80 00 20 */	bge lbl_803B5FA0
/* 803B5F84 003B1BE4  48 00 00 68 */	b lbl_803B5FEC
lbl_803B5F88:
/* 803B5F88 003B1BE8  2C 00 00 04 */	cmpwi r0, 4
/* 803B5F8C 003B1BEC  41 82 00 5C */	beq lbl_803B5FE8
/* 803B5F90 003B1BF0  40 80 00 5C */	bge lbl_803B5FEC
/* 803B5F94 003B1BF4  48 00 00 44 */	b lbl_803B5FD8
lbl_803B5F98:
/* 803B5F98 003B1BF8  38 A0 01 21 */	li r5, 0x121
/* 803B5F9C 003B1BFC  48 00 00 50 */	b lbl_803B5FEC
lbl_803B5FA0:
/* 803B5FA0 003B1C00  38 A0 01 0B */	li r5, 0x10b
/* 803B5FA4 003B1C04  48 00 00 48 */	b lbl_803B5FEC
lbl_803B5FA8:
/* 803B5FA8 003B1C08  88 63 03 D3 */	lbz r3, 0x3d3(r3)
/* 803B5FAC 003B1C0C  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B5FB0 003B1C10  41 82 00 18 */	beq lbl_803B5FC8
/* 803B5FB4 003B1C14  54 60 06 BD */	rlwinm. r0, r3, 0, 0x1a, 0x1e
/* 803B5FB8 003B1C18  41 82 00 10 */	beq lbl_803B5FC8
/* 803B5FBC 003B1C1C  38 00 00 06 */	li r0, 6
/* 803B5FC0 003B1C20  90 1F 01 30 */	stw r0, 0x130(r31)
/* 803B5FC4 003B1C24  48 00 00 0C */	b lbl_803B5FD0
lbl_803B5FC8:
/* 803B5FC8 003B1C28  48 02 79 79 */	bl func_803DD940
/* 803B5FCC 003B1C2C  90 7F 01 30 */	stw r3, 0x130(r31)
lbl_803B5FD0:
/* 803B5FD0 003B1C30  38 A0 01 0C */	li r5, 0x10c
/* 803B5FD4 003B1C34  48 00 00 18 */	b lbl_803B5FEC
lbl_803B5FD8:
/* 803B5FD8 003B1C38  88 03 03 D3 */	lbz r0, 0x3d3(r3)
/* 803B5FDC 003B1C3C  38 A0 01 0D */	li r5, 0x10d
/* 803B5FE0 003B1C40  90 1F 01 30 */	stw r0, 0x130(r31)
/* 803B5FE4 003B1C44  48 00 00 08 */	b lbl_803B5FEC
lbl_803B5FE8:
/* 803B5FE8 003B1C48  38 A0 01 0E */	li r5, 0x10e
lbl_803B5FEC:
/* 803B5FEC 003B1C4C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B5FF0 003B1C50  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803B5FF4 003B1C54  7C 7F 02 14 */	add r3, r31, r0
/* 803B5FF8 003B1C58  A0 03 03 D6 */	lhz r0, 0x3d6(r3)
/* 803B5FFC 003B1C5C  90 1F 01 28 */	stw r0, 0x128(r31)
/* 803B6000 003B1C60  48 00 00 4C */	b lbl_803B604C
lbl_803B6004:
/* 803B6004 003B1C64  88 1E 21 B2 */	lbz r0, 0x21b2(r30)
/* 803B6008 003B1C68  2C 00 00 04 */	cmpwi r0, 4
/* 803B600C 003B1C6C  41 82 00 38 */	beq lbl_803B6044
/* 803B6010 003B1C70  40 80 00 34 */	bge lbl_803B6044
/* 803B6014 003B1C74  2C 00 00 01 */	cmpwi r0, 1
/* 803B6018 003B1C78  40 80 00 08 */	bge lbl_803B6020
/* 803B601C 003B1C7C  48 00 00 28 */	b lbl_803B6044
lbl_803B6020:
/* 803B6020 003B1C80  A0 7E 21 B0 */	lhz r3, 0x21b0(r30)
/* 803B6024 003B1C84  38 00 00 01 */	li r0, 1
/* 803B6028 003B1C88  3C 63 00 01 */	addis r3, r3, 1
/* 803B602C 003B1C8C  38 63 FF C1 */	addi r3, r3, -63
/* 803B6030 003B1C90  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803B6034 003B1C94  7C 03 00 10 */	subfc r0, r3, r0
/* 803B6038 003B1C98  7C 03 01 94 */	addze r0, r3
/* 803B603C 003B1C9C  7C 60 18 50 */	subf r3, r0, r3
/* 803B6040 003B1CA0  38 A3 00 DF */	addi r5, r3, 0xdf
lbl_803B6044:
/* 803B6044 003B1CA4  A0 1E 21 B0 */	lhz r0, 0x21b0(r30)
/* 803B6048 003B1CA8  90 1F 01 28 */	stw r0, 0x128(r31)
lbl_803B604C:
/* 803B604C 003B1CAC  7F E3 FB 78 */	mr r3, r31
/* 803B6050 003B1CB0  38 80 00 02 */	li r4, 2
/* 803B6054 003B1CB4  48 00 49 81 */	bl func_803BA9D4
/* 803B6058 003B1CB8  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803B605C 003B1CBC  38 80 00 15 */	li r4, 0x15
/* 803B6060 003B1CC0  38 60 00 27 */	li r3, 0x27
/* 803B6064 003B1CC4  90 9F 00 08 */	stw r4, 8(r31)
/* 803B6068 003B1CC8  64 00 80 00 */	oris r0, r0, 0x8000
/* 803B606C 003B1CCC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B6070 003B1CD0  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803B6074 003B1CD4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B6078 003B1CD8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B607C 003B1CDC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B6080 003B1CE0  7C 08 03 A6 */	mtlr r0
/* 803B6084 003B1CE4  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6088 003B1CE8  4E 80 00 20 */	blr 
/* 803B608C 003B1CEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B6090 003B1CF0  7C 08 02 A6 */	mflr r0
/* 803B6094 003B1CF4  38 A0 00 09 */	li r5, 9
/* 803B6098 003B1CF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B609C 003B1CFC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B60A0 003B1D00  7C 9F 23 78 */	mr r31, r4
/* 803B60A4 003B1D04  38 80 00 02 */	li r4, 2
/* 803B60A8 003B1D08  7F E3 FB 78 */	mr r3, r31
/* 803B60AC 003B1D0C  48 00 49 29 */	bl func_803BA9D4
/* 803B60B0 003B1D10  80 7F 00 EC */	lwz r3, 0xec(r31)
/* 803B60B4 003B1D14  38 C0 00 15 */	li r6, 0x15
/* 803B60B8 003B1D18  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803B60BC 003B1D1C  38 A0 00 28 */	li r5, 0x28
/* 803B60C0 003B1D20  7C 7F 1A 14 */	add r3, r31, r3
/* 803B60C4 003B1D24  38 80 00 00 */	li r4, 0
/* 803B60C8 003B1D28  88 E3 21 E8 */	lbz r7, 0x21e8(r3)
/* 803B60CC 003B1D2C  64 00 80 00 */	oris r0, r0, 0x8000
/* 803B60D0 003B1D30  38 60 00 02 */	li r3, 2
/* 803B60D4 003B1D34  90 FF 00 64 */	stw r7, 0x64(r31)
/* 803B60D8 003B1D38  90 FF 00 78 */	stw r7, 0x78(r31)
/* 803B60DC 003B1D3C  90 DF 00 08 */	stw r6, 8(r31)
/* 803B60E0 003B1D40  90 BF 00 0C */	stw r5, 0xc(r31)
/* 803B60E4 003B1D44  90 9F 01 38 */	stw r4, 0x138(r31)
/* 803B60E8 003B1D48  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803B60EC 003B1D4C  4B DB 70 D5 */	bl func_8016D1C0
/* 803B60F0 003B1D50  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B60F4 003B1D54  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B60F8 003B1D58  7C 08 03 A6 */	mtlr r0
/* 803B60FC 003B1D5C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6100 003B1D60  4E 80 00 20 */	blr 
/* 803B6104 003B1D64  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B6108 003B1D68  7C 08 02 A6 */	mflr r0
/* 803B610C 003B1D6C  38 A0 00 03 */	li r5, 3
/* 803B6110 003B1D70  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B6114 003B1D74  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B6118 003B1D78  7C 9F 23 78 */	mr r31, r4
/* 803B611C 003B1D7C  7F E3 FB 78 */	mr r3, r31
/* 803B6120 003B1D80  80 04 00 EC */	lwz r0, 0xec(r4)
/* 803B6124 003B1D84  7C C4 02 14 */	add r6, r4, r0
/* 803B6128 003B1D88  88 06 21 E8 */	lbz r0, 0x21e8(r6)
/* 803B612C 003B1D8C  90 04 00 64 */	stw r0, 0x64(r4)
/* 803B6130 003B1D90  38 80 00 02 */	li r4, 2
/* 803B6134 003B1D94  48 00 48 A1 */	bl func_803BA9D4
/* 803B6138 003B1D98  38 80 00 00 */	li r4, 0
/* 803B613C 003B1D9C  38 60 00 15 */	li r3, 0x15
/* 803B6140 003B1DA0  38 00 00 2A */	li r0, 0x2a
/* 803B6144 003B1DA4  90 9F 00 B4 */	stw r4, 0xb4(r31)
/* 803B6148 003B1DA8  90 7F 00 08 */	stw r3, 8(r31)
/* 803B614C 003B1DAC  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B6150 003B1DB0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B6154 003B1DB4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B6158 003B1DB8  7C 08 03 A6 */	mtlr r0
/* 803B615C 003B1DBC  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6160 003B1DC0  4E 80 00 20 */	blr 
/* 803B6164 003B1DC4  4E 80 00 20 */	blr 
/* 803B6168 003B1DC8  4E 80 00 20 */	blr 
/* 803B616C 003B1DCC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B6170 003B1DD0  7C 08 02 A6 */	mflr r0
/* 803B6174 003B1DD4  38 A0 00 E4 */	li r5, 0xe4
/* 803B6178 003B1DD8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B617C 003B1DDC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B6180 003B1DE0  7C 9F 23 78 */	mr r31, r4
/* 803B6184 003B1DE4  38 80 00 02 */	li r4, 2
/* 803B6188 003B1DE8  7F E3 FB 78 */	mr r3, r31
/* 803B618C 003B1DEC  48 00 48 49 */	bl func_803BA9D4
/* 803B6190 003B1DF0  38 A0 00 00 */	li r5, 0
/* 803B6194 003B1DF4  38 80 00 01 */	li r4, 1
/* 803B6198 003B1DF8  38 60 00 15 */	li r3, 0x15
/* 803B619C 003B1DFC  38 00 00 27 */	li r0, 0x27
/* 803B61A0 003B1E00  90 BF 00 64 */	stw r5, 0x64(r31)
/* 803B61A4 003B1E04  90 9F 00 6C */	stw r4, 0x6c(r31)
/* 803B61A8 003B1E08  90 7F 00 08 */	stw r3, 8(r31)
/* 803B61AC 003B1E0C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B61B0 003B1E10  48 02 36 09 */	bl func_803D97B8
/* 803B61B4 003B1E14  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803B61B8 003B1E18  38 80 00 0A */	li r4, 0xa
/* 803B61BC 003B1E1C  7C 05 23 D6 */	divw r0, r5, r4
/* 803B61C0 003B1E20  88 7F 31 1D */	lbz r3, 0x311d(r31)
/* 803B61C4 003B1E24  2C 03 00 00 */	cmpwi r3, 0
/* 803B61C8 003B1E28  7C 00 21 D6 */	mullw r0, r0, r4
/* 803B61CC 003B1E2C  7C 00 28 50 */	subf r0, r0, r5
/* 803B61D0 003B1E30  90 1F 01 38 */	stw r0, 0x138(r31)
/* 803B61D4 003B1E34  41 82 00 0C */	beq lbl_803B61E0
/* 803B61D8 003B1E38  38 03 FF FF */	addi r0, r3, -1
/* 803B61DC 003B1E3C  98 1F 31 1D */	stb r0, 0x311d(r31)
lbl_803B61E0:
/* 803B61E0 003B1E40  80 1F 01 38 */	lwz r0, 0x138(r31)
/* 803B61E4 003B1E44  2C 00 00 00 */	cmpwi r0, 0
/* 803B61E8 003B1E48  41 82 00 20 */	beq lbl_803B6208
/* 803B61EC 003B1E4C  88 7F 31 1C */	lbz r3, 0x311c(r31)
/* 803B61F0 003B1E50  38 00 00 01 */	li r0, 1
/* 803B61F4 003B1E54  90 1F 01 30 */	stw r0, 0x130(r31)
/* 803B61F8 003B1E58  2C 03 00 00 */	cmpwi r3, 0
/* 803B61FC 003B1E5C  41 82 00 0C */	beq lbl_803B6208
/* 803B6200 003B1E60  38 03 FF FF */	addi r0, r3, -1
/* 803B6204 003B1E64  98 1F 31 1C */	stb r0, 0x311c(r31)
lbl_803B6208:
/* 803B6208 003B1E68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B620C 003B1E6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B6210 003B1E70  7C 08 03 A6 */	mtlr r0
/* 803B6214 003B1E74  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6218 003B1E78  4E 80 00 20 */	blr 
/* 803B621C 003B1E7C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B6220 003B1E80  7C 08 02 A6 */	mflr r0
/* 803B6224 003B1E84  38 A0 00 E5 */	li r5, 0xe5
/* 803B6228 003B1E88  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B622C 003B1E8C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B6230 003B1E90  7C 9F 23 78 */	mr r31, r4
/* 803B6234 003B1E94  38 80 00 02 */	li r4, 2
/* 803B6238 003B1E98  7F E3 FB 78 */	mr r3, r31
/* 803B623C 003B1E9C  48 00 47 99 */	bl func_803BA9D4
/* 803B6240 003B1EA0  38 A0 00 00 */	li r5, 0
/* 803B6244 003B1EA4  38 80 00 01 */	li r4, 1
/* 803B6248 003B1EA8  38 60 00 15 */	li r3, 0x15
/* 803B624C 003B1EAC  38 00 00 27 */	li r0, 0x27
/* 803B6250 003B1EB0  90 BF 00 64 */	stw r5, 0x64(r31)
/* 803B6254 003B1EB4  90 9F 00 6C */	stw r4, 0x6c(r31)
/* 803B6258 003B1EB8  90 7F 00 08 */	stw r3, 8(r31)
/* 803B625C 003B1EBC  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B6260 003B1EC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B6264 003B1EC4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B6268 003B1EC8  7C 08 03 A6 */	mtlr r0
/* 803B626C 003B1ECC  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6270 003B1ED0  4E 80 00 20 */	blr 

.global func_803B6274
func_803B6274:
/* 803B6274 003B1ED4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B6278 003B1ED8  7C 08 02 A6 */	mflr r0
/* 803B627C 003B1EDC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B6280 003B1EE0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B6284 003B1EE4  3B E0 00 00 */	li r31, 0
/* 803B6288 003B1EE8  93 C1 00 08 */	stw r30, 8(r1)
/* 803B628C 003B1EEC  7C 9E 23 78 */	mr r30, r4
/* 803B6290 003B1EF0  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803B6294 003B1EF4  2C 00 00 FF */	cmpwi r0, 0xff
/* 803B6298 003B1EF8  40 82 00 18 */	bne lbl_803B62B0
/* 803B629C 003B1EFC  80 84 30 44 */	lwz r4, 0x3044(r4)
/* 803B62A0 003B1F00  7F C3 F3 78 */	mr r3, r30
/* 803B62A4 003B1F04  48 00 94 B5 */	bl func_803BF758
/* 803B62A8 003B1F08  2C 03 00 00 */	cmpwi r3, 0
/* 803B62AC 003B1F0C  41 82 00 48 */	beq lbl_803B62F4
lbl_803B62B0:
/* 803B62B0 003B1F10  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B62B4 003B1F14  2C 00 00 FF */	cmpwi r0, 0xff
/* 803B62B8 003B1F18  40 82 00 60 */	bne lbl_803B6318
/* 803B62BC 003B1F1C  80 9E 30 44 */	lwz r4, 0x3044(r30)
/* 803B62C0 003B1F20  7F C3 F3 78 */	mr r3, r30
/* 803B62C4 003B1F24  48 00 94 95 */	bl func_803BF758
/* 803B62C8 003B1F28  2C 03 00 01 */	cmpwi r3, 1
/* 803B62CC 003B1F2C  40 82 00 4C */	bne lbl_803B6318
/* 803B62D0 003B1F30  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B62D4 003B1F34  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B62D8 003B1F38  7C 7E 02 14 */	add r3, r30, r0
/* 803B62DC 003B1F3C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B62E0 003B1F40  54 00 04 E7 */	rlwinm. r0, r0, 0, 0x13, 0x13
/* 803B62E4 003B1F44  40 82 00 10 */	bne lbl_803B62F4
/* 803B62E8 003B1F48  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803B62EC 003B1F4C  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803B62F0 003B1F50  41 82 00 28 */	beq lbl_803B6318
lbl_803B62F4:
/* 803B62F4 003B1F54  7F C3 F3 78 */	mr r3, r30
/* 803B62F8 003B1F58  38 80 00 02 */	li r4, 2
/* 803B62FC 003B1F5C  38 A0 01 19 */	li r5, 0x119
/* 803B6300 003B1F60  48 00 46 D5 */	bl func_803BA9D4
/* 803B6304 003B1F64  38 60 00 26 */	li r3, 0x26
/* 803B6308 003B1F68  38 00 00 15 */	li r0, 0x15
/* 803B630C 003B1F6C  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B6310 003B1F70  3B E0 00 01 */	li r31, 1
/* 803B6314 003B1F74  90 1E 00 08 */	stw r0, 8(r30)
lbl_803B6318:
/* 803B6318 003B1F78  7F E3 FB 78 */	mr r3, r31
/* 803B631C 003B1F7C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B6320 003B1F80  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B6324 003B1F84  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B6328 003B1F88  7C 08 03 A6 */	mtlr r0
/* 803B632C 003B1F8C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6330 003B1F90  4E 80 00 20 */	blr 

.global func_803B6334
func_803B6334:
/* 803B6334 003B1F94  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B6338 003B1F98  7C 08 02 A6 */	mflr r0
/* 803B633C 003B1F9C  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B6340 003B1FA0  39 61 00 30 */	addi r11, r1, 0x30
/* 803B6344 003B1FA4  4B E1 0D D1 */	bl _savegpr_22
/* 803B6348 003B1FA8  7C 76 1B 78 */	mr r22, r3
/* 803B634C 003B1FAC  7C 97 23 78 */	mr r23, r4
/* 803B6350 003B1FB0  7C B8 2B 78 */	mr r24, r5
/* 803B6354 003B1FB4  7C D9 33 78 */	mr r25, r6
/* 803B6358 003B1FB8  7C FA 3B 78 */	mr r26, r7
/* 803B635C 003B1FBC  4B FF 64 E5 */	bl func_803AC840
/* 803B6360 003B1FC0  54 60 05 6B */	rlwinm. r0, r3, 0, 0x15, 0x15
/* 803B6364 003B1FC4  41 82 00 0C */	beq lbl_803B6370
/* 803B6368 003B1FC8  38 60 00 00 */	li r3, 0
/* 803B636C 003B1FCC  48 00 04 50 */	b lbl_803B67BC
lbl_803B6370:
/* 803B6370 003B1FD0  7E E3 BB 78 */	mr r3, r23
/* 803B6374 003B1FD4  7F 04 C3 78 */	mr r4, r24
/* 803B6378 003B1FD8  48 00 97 A1 */	bl func_803BFB18
/* 803B637C 003B1FDC  1F F9 00 C0 */	mulli r31, r25, 0xc0
/* 803B6380 003B1FE0  57 5E 20 36 */	slwi r30, r26, 4
/* 803B6384 003B1FE4  7E E3 BB 78 */	mr r3, r23
/* 803B6388 003B1FE8  7C 97 F2 14 */	add r4, r23, r30
/* 803B638C 003B1FEC  7C B7 FA 14 */	add r5, r23, r31
/* 803B6390 003B1FF0  8B 44 03 E0 */	lbz r26, 0x3e0(r4)
/* 803B6394 003B1FF4  1F B8 00 C0 */	mulli r29, r24, 0xc0
/* 803B6398 003B1FF8  88 05 2D 5F */	lbz r0, 0x2d5f(r5)
/* 803B639C 003B1FFC  20 00 00 06 */	subfic r0, r0, 6
/* 803B63A0 003B2000  7C 97 EA 14 */	add r4, r23, r29
/* 803B63A4 003B2004  88 C4 2D 5E */	lbz r6, 0x2d5e(r4)
/* 803B63A8 003B2008  7F 04 C3 78 */	mr r4, r24
/* 803B63AC 003B200C  7C 1C 07 74 */	extsb r28, r0
/* 803B63B0 003B2010  38 A6 FF FA */	addi r5, r6, -6
/* 803B63B4 003B2014  7C BB 07 74 */	extsb r27, r5
/* 803B63B8 003B2018  48 00 97 61 */	bl func_803BFB18
/* 803B63BC 003B201C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B63C0 003B2020  28 00 00 56 */	cmplwi r0, 0x56
/* 803B63C4 003B2024  40 82 00 0C */	bne lbl_803B63D0
/* 803B63C8 003B2028  57 60 08 3C */	slwi r0, r27, 1
/* 803B63CC 003B202C  7C 1B 07 74 */	extsb r27, r0
lbl_803B63D0:
/* 803B63D0 003B2030  7E E3 BB 78 */	mr r3, r23
/* 803B63D4 003B2034  7F 04 C3 78 */	mr r4, r24
/* 803B63D8 003B2038  7F 25 CB 78 */	mr r5, r25
/* 803B63DC 003B203C  38 C0 00 56 */	li r6, 0x56
/* 803B63E0 003B2040  48 00 97 B1 */	bl func_803BFB90
/* 803B63E4 003B2044  2C 03 00 01 */	cmpwi r3, 1
/* 803B63E8 003B2048  40 82 00 0C */	bne lbl_803B63F4
/* 803B63EC 003B204C  57 80 08 3C */	slwi r0, r28, 1
/* 803B63F0 003B2050  7C 1C 07 74 */	extsb r28, r0
lbl_803B63F4:
/* 803B63F4 003B2054  7E E3 BB 78 */	mr r3, r23
/* 803B63F8 003B2058  7F 04 C3 78 */	mr r4, r24
/* 803B63FC 003B205C  7F 25 CB 78 */	mr r5, r25
/* 803B6400 003B2060  38 C0 00 6D */	li r6, 0x6d
/* 803B6404 003B2064  48 00 97 8D */	bl func_803BFB90
/* 803B6408 003B2068  2C 03 00 01 */	cmpwi r3, 1
/* 803B640C 003B206C  40 82 00 08 */	bne lbl_803B6414
/* 803B6410 003B2070  3B 60 00 00 */	li r27, 0
lbl_803B6414:
/* 803B6414 003B2074  7E E3 BB 78 */	mr r3, r23
/* 803B6418 003B2078  7F 04 C3 78 */	mr r4, r24
/* 803B641C 003B207C  48 00 96 FD */	bl func_803BFB18
/* 803B6420 003B2080  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B6424 003B2084  28 00 00 6D */	cmplwi r0, 0x6d
/* 803B6428 003B2088  40 82 00 08 */	bne lbl_803B6430
/* 803B642C 003B208C  3B 80 00 00 */	li r28, 0
lbl_803B6430:
/* 803B6430 003B2090  7F F7 FA 14 */	add r31, r23, r31
/* 803B6434 003B2094  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803B6438 003B2098  54 00 00 85 */	rlwinm. r0, r0, 0, 2, 2
/* 803B643C 003B209C  40 82 00 10 */	bne lbl_803B644C
/* 803B6440 003B20A0  80 1F 2D C0 */	lwz r0, 0x2dc0(r31)
/* 803B6444 003B20A4  54 00 02 53 */	rlwinm. r0, r0, 0, 9, 9
/* 803B6448 003B20A8  41 82 00 10 */	beq lbl_803B6458
lbl_803B644C:
/* 803B644C 003B20AC  2C 1C 00 00 */	cmpwi r28, 0
/* 803B6450 003B20B0  40 80 00 08 */	bge lbl_803B6458
/* 803B6454 003B20B4  3B 80 00 00 */	li r28, 0
lbl_803B6458:
/* 803B6458 003B20B8  7C 7C DA 14 */	add r3, r28, r27
/* 803B645C 003B20BC  38 03 00 06 */	addi r0, r3, 6
/* 803B6460 003B20C0  7C 1B 07 75 */	extsb. r27, r0
/* 803B6464 003B20C4  40 80 00 08 */	bge lbl_803B646C
/* 803B6468 003B20C8  3B 60 00 00 */	li r27, 0
lbl_803B646C:
/* 803B646C 003B20CC  2C 1B 00 0C */	cmpwi r27, 0xc
/* 803B6470 003B20D0  40 81 00 08 */	ble lbl_803B6478
/* 803B6474 003B20D4  3B 60 00 0C */	li r27, 0xc
lbl_803B6478:
/* 803B6478 003B20D8  7C 77 F2 14 */	add r3, r23, r30
/* 803B647C 003B20DC  8B 83 03 E3 */	lbz r28, 0x3e3(r3)
/* 803B6480 003B20E0  2C 1C 00 00 */	cmpwi r28, 0
/* 803B6484 003B20E4  40 82 00 0C */	bne lbl_803B6490
/* 803B6488 003B20E8  38 60 00 00 */	li r3, 0
/* 803B648C 003B20EC  48 00 03 30 */	b lbl_803B67BC
lbl_803B6490:
/* 803B6490 003B20F0  80 77 21 3C */	lwz r3, 0x213c(r23)
/* 803B6494 003B20F4  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803B6498 003B20F8  41 82 00 0C */	beq lbl_803B64A4
/* 803B649C 003B20FC  38 60 00 00 */	li r3, 0
/* 803B64A0 003B2100  48 00 03 1C */	b lbl_803B67BC
lbl_803B64A4:
/* 803B64A4 003B2104  54 60 05 6B */	rlwinm. r0, r3, 0, 0x15, 0x15
/* 803B64A8 003B2108  41 82 00 0C */	beq lbl_803B64B4
/* 803B64AC 003B210C  38 60 00 00 */	li r3, 0
/* 803B64B0 003B2110  48 00 03 0C */	b lbl_803B67BC
lbl_803B64B4:
/* 803B64B4 003B2114  7E C3 B3 78 */	mr r3, r22
/* 803B64B8 003B2118  7E E4 BB 78 */	mr r4, r23
/* 803B64BC 003B211C  38 A0 00 08 */	li r5, 8
/* 803B64C0 003B2120  38 C0 00 00 */	li r6, 0
/* 803B64C4 003B2124  38 E0 00 0D */	li r7, 0xd
/* 803B64C8 003B2128  48 00 8E B9 */	bl func_803BF380
/* 803B64CC 003B212C  2C 03 00 00 */	cmpwi r3, 0
/* 803B64D0 003B2130  40 82 00 44 */	bne lbl_803B6514
/* 803B64D4 003B2134  7E C3 B3 78 */	mr r3, r22
/* 803B64D8 003B2138  7E E4 BB 78 */	mr r4, r23
/* 803B64DC 003B213C  38 A0 00 08 */	li r5, 8
/* 803B64E0 003B2140  38 C0 00 00 */	li r6, 0
/* 803B64E4 003B2144  38 E0 00 4C */	li r7, 0x4c
/* 803B64E8 003B2148  48 00 8E 99 */	bl func_803BF380
/* 803B64EC 003B214C  2C 03 00 00 */	cmpwi r3, 0
/* 803B64F0 003B2150  40 82 00 24 */	bne lbl_803B6514
/* 803B64F4 003B2154  80 17 01 80 */	lwz r0, 0x180(r23)
/* 803B64F8 003B2158  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803B64FC 003B215C  41 82 00 18 */	beq lbl_803B6514
/* 803B6500 003B2160  7C 77 F2 14 */	add r3, r23, r30
/* 803B6504 003B2164  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803B6508 003B2168  28 00 00 98 */	cmplwi r0, 0x98
/* 803B650C 003B216C  40 82 00 08 */	bne lbl_803B6514
/* 803B6510 003B2170  3B 80 00 32 */	li r28, 0x32
lbl_803B6514:
/* 803B6514 003B2174  3C 80 80 40 */	lis r4, lbl_80405228@ha
/* 803B6518 003B2178  57 60 08 3C */	slwi r0, r27, 1
/* 803B651C 003B217C  38 84 52 28 */	addi r4, r4, lbl_80405228@l
/* 803B6520 003B2180  7E E3 BB 78 */	mr r3, r23
/* 803B6524 003B2184  7C A4 00 AE */	lbzx r5, r4, r0
/* 803B6528 003B2188  7C 84 02 14 */	add r4, r4, r0
/* 803B652C 003B218C  88 04 00 01 */	lbz r0, 1(r4)
/* 803B6530 003B2190  7F 04 C3 78 */	mr r4, r24
/* 803B6534 003B2194  7C BC 29 D6 */	mullw r5, r28, r5
/* 803B6538 003B2198  54 BC 04 3E */	clrlwi r28, r5, 0x10
/* 803B653C 003B219C  7C 1C 03 D6 */	divw r0, r28, r0
/* 803B6540 003B21A0  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803B6544 003B21A4  48 00 95 D5 */	bl func_803BFB18
/* 803B6548 003B21A8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B654C 003B21AC  28 00 00 0E */	cmplwi r0, 0xe
/* 803B6550 003B21B0  40 82 00 14 */	bne lbl_803B6564
/* 803B6554 003B21B4  1C 7C 00 82 */	mulli r3, r28, 0x82
/* 803B6558 003B21B8  38 00 00 64 */	li r0, 0x64
/* 803B655C 003B21BC  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6560 003B21C0  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6564:
/* 803B6564 003B21C4  7E C3 B3 78 */	mr r3, r22
/* 803B6568 003B21C8  7E E4 BB 78 */	mr r4, r23
/* 803B656C 003B21CC  38 A0 00 08 */	li r5, 8
/* 803B6570 003B21D0  38 C0 00 00 */	li r6, 0
/* 803B6574 003B21D4  38 E0 00 0D */	li r7, 0xd
/* 803B6578 003B21D8  48 00 8E 09 */	bl func_803BF380
/* 803B657C 003B21DC  2C 03 00 00 */	cmpwi r3, 0
/* 803B6580 003B21E0  40 82 00 B0 */	bne lbl_803B6630
/* 803B6584 003B21E4  7E C3 B3 78 */	mr r3, r22
/* 803B6588 003B21E8  7E E4 BB 78 */	mr r4, r23
/* 803B658C 003B21EC  38 A0 00 08 */	li r5, 8
/* 803B6590 003B21F0  38 C0 00 00 */	li r6, 0
/* 803B6594 003B21F4  38 E0 00 4C */	li r7, 0x4c
/* 803B6598 003B21F8  48 00 8D E9 */	bl func_803BF380
/* 803B659C 003B21FC  2C 03 00 00 */	cmpwi r3, 0
/* 803B65A0 003B2200  40 82 00 90 */	bne lbl_803B6630
/* 803B65A4 003B2204  80 17 01 80 */	lwz r0, 0x180(r23)
/* 803B65A8 003B2208  54 00 07 3B */	rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 803B65AC 003B220C  41 82 00 30 */	beq lbl_803B65DC
/* 803B65B0 003B2210  7E E3 BB 78 */	mr r3, r23
/* 803B65B4 003B2214  7F 04 C3 78 */	mr r4, r24
/* 803B65B8 003B2218  7F 25 CB 78 */	mr r5, r25
/* 803B65BC 003B221C  38 C0 00 08 */	li r6, 8
/* 803B65C0 003B2220  48 00 95 D1 */	bl func_803BFB90
/* 803B65C4 003B2224  2C 03 00 01 */	cmpwi r3, 1
/* 803B65C8 003B2228  40 82 00 14 */	bne lbl_803B65DC
/* 803B65CC 003B222C  1C 7C 00 50 */	mulli r3, r28, 0x50
/* 803B65D0 003B2230  38 00 00 64 */	li r0, 0x64
/* 803B65D4 003B2234  7C 03 03 D6 */	divw r0, r3, r0
/* 803B65D8 003B2238  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B65DC:
/* 803B65DC 003B223C  80 17 01 80 */	lwz r0, 0x180(r23)
/* 803B65E0 003B2240  54 00 06 33 */	rlwinm. r0, r0, 0, 0x18, 0x19
/* 803B65E4 003B2244  41 82 00 30 */	beq lbl_803B6614
/* 803B65E8 003B2248  7E E3 BB 78 */	mr r3, r23
/* 803B65EC 003B224C  7F 04 C3 78 */	mr r4, r24
/* 803B65F0 003B2250  7F 25 CB 78 */	mr r5, r25
/* 803B65F4 003B2254  38 C0 00 51 */	li r6, 0x51
/* 803B65F8 003B2258  48 00 95 99 */	bl func_803BFB90
/* 803B65FC 003B225C  2C 03 00 01 */	cmpwi r3, 1
/* 803B6600 003B2260  40 82 00 14 */	bne lbl_803B6614
/* 803B6604 003B2264  1C 7C 00 50 */	mulli r3, r28, 0x50
/* 803B6608 003B2268  38 00 00 64 */	li r0, 0x64
/* 803B660C 003B226C  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6610 003B2270  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6614:
/* 803B6614 003B2274  80 17 01 80 */	lwz r0, 0x180(r23)
/* 803B6618 003B2278  54 00 04 21 */	rlwinm. r0, r0, 0, 0x10, 0x10
/* 803B661C 003B227C  41 82 00 14 */	beq lbl_803B6630
/* 803B6620 003B2280  1C 7C 00 06 */	mulli r3, r28, 6
/* 803B6624 003B2284  38 00 00 0A */	li r0, 0xa
/* 803B6628 003B2288  7C 03 03 D6 */	divw r0, r3, r0
/* 803B662C 003B228C  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6630:
/* 803B6630 003B2290  7E E3 BB 78 */	mr r3, r23
/* 803B6634 003B2294  7F 04 C3 78 */	mr r4, r24
/* 803B6638 003B2298  48 00 94 E1 */	bl func_803BFB18
/* 803B663C 003B229C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B6640 003B22A0  28 00 00 37 */	cmplwi r0, 0x37
/* 803B6644 003B22A4  40 82 00 1C */	bne lbl_803B6660
/* 803B6648 003B22A8  2C 1A 00 00 */	cmpwi r26, 0
/* 803B664C 003B22AC  40 82 00 14 */	bne lbl_803B6660
/* 803B6650 003B22B0  1C 7C 00 50 */	mulli r3, r28, 0x50
/* 803B6654 003B22B4  38 00 00 64 */	li r0, 0x64
/* 803B6658 003B22B8  7C 03 03 D6 */	divw r0, r3, r0
/* 803B665C 003B22BC  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6660:
/* 803B6660 003B22C0  7E E3 BB 78 */	mr r3, r23
/* 803B6664 003B22C4  7F 04 C3 78 */	mr r4, r24
/* 803B6668 003B22C8  7F 25 CB 78 */	mr r5, r25
/* 803B666C 003B22CC  38 C0 00 4D */	li r6, 0x4d
/* 803B6670 003B22D0  48 00 95 21 */	bl func_803BFB90
/* 803B6674 003B22D4  2C 03 00 01 */	cmpwi r3, 1
/* 803B6678 003B22D8  40 82 00 20 */	bne lbl_803B6698
/* 803B667C 003B22DC  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803B6680 003B22E0  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B6684 003B22E4  41 82 00 14 */	beq lbl_803B6698
/* 803B6688 003B22E8  1C 7C 00 32 */	mulli r3, r28, 0x32
/* 803B668C 003B22EC  38 00 00 64 */	li r0, 0x64
/* 803B6690 003B22F0  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6694 003B22F4  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6698:
/* 803B6698 003B22F8  7E E3 BB 78 */	mr r3, r23
/* 803B669C 003B22FC  7F 24 CB 78 */	mr r4, r25
/* 803B66A0 003B2300  48 00 DA 1D */	bl func_803C40BC
/* 803B66A4 003B2304  7C 76 1B 78 */	mr r22, r3
/* 803B66A8 003B2308  7E E3 BB 78 */	mr r3, r23
/* 803B66AC 003B230C  7F 24 CB 78 */	mr r4, r25
/* 803B66B0 003B2310  38 A0 00 00 */	li r5, 0
/* 803B66B4 003B2314  48 00 DA 4D */	bl func_803C4100
/* 803B66B8 003B2318  2C 16 00 2F */	cmpwi r22, 0x2f
/* 803B66BC 003B231C  40 82 00 18 */	bne lbl_803B66D4
/* 803B66C0 003B2320  20 63 00 64 */	subfic r3, r3, 0x64
/* 803B66C4 003B2324  38 00 00 64 */	li r0, 0x64
/* 803B66C8 003B2328  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803B66CC 003B232C  7C 03 03 D6 */	divw r0, r3, r0
/* 803B66D0 003B2330  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B66D4:
/* 803B66D4 003B2334  7E E3 BB 78 */	mr r3, r23
/* 803B66D8 003B2338  7F 04 C3 78 */	mr r4, r24
/* 803B66DC 003B233C  48 00 D9 E1 */	bl func_803C40BC
/* 803B66E0 003B2340  7C 7A 1B 78 */	mr r26, r3
/* 803B66E4 003B2344  7E E3 BB 78 */	mr r3, r23
/* 803B66E8 003B2348  7F 04 C3 78 */	mr r4, r24
/* 803B66EC 003B234C  38 A0 00 00 */	li r5, 0
/* 803B66F0 003B2350  48 00 DA 11 */	bl func_803C4100
/* 803B66F4 003B2354  2C 1A 00 5C */	cmpwi r26, 0x5c
/* 803B66F8 003B2358  7C 76 1B 78 */	mr r22, r3
/* 803B66FC 003B235C  40 82 00 18 */	bne lbl_803B6714
/* 803B6700 003B2360  38 63 00 64 */	addi r3, r3, 0x64
/* 803B6704 003B2364  38 00 00 64 */	li r0, 0x64
/* 803B6708 003B2368  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803B670C 003B236C  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6710 003B2370  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6714:
/* 803B6714 003B2374  2C 1A 00 67 */	cmpwi r26, 0x67
/* 803B6718 003B2378  40 82 00 2C */	bne lbl_803B6744
/* 803B671C 003B237C  7E E3 BB 78 */	mr r3, r23
/* 803B6720 003B2380  7F 24 CB 78 */	mr r4, r25
/* 803B6724 003B2384  48 00 D6 B5 */	bl func_803C3DD8
/* 803B6728 003B2388  2C 03 00 01 */	cmpwi r3, 1
/* 803B672C 003B238C  40 82 00 18 */	bne lbl_803B6744
/* 803B6730 003B2390  38 76 00 64 */	addi r3, r22, 0x64
/* 803B6734 003B2394  38 00 00 64 */	li r0, 0x64
/* 803B6738 003B2398  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803B673C 003B239C  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6740 003B23A0  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6744:
/* 803B6744 003B23A4  7C B7 EA 14 */	add r5, r23, r29
/* 803B6748 003B23A8  80 85 2D CC */	lwz r4, 0x2dcc(r5)
/* 803B674C 003B23AC  54 80 E7 FF */	rlwinm. r0, r4, 0x1c, 0x1f, 0x1f
/* 803B6750 003B23B0  41 82 00 1C */	beq lbl_803B676C
/* 803B6754 003B23B4  1C 7C 00 78 */	mulli r3, r28, 0x78
/* 803B6758 003B23B8  38 00 00 64 */	li r0, 0x64
/* 803B675C 003B23BC  54 84 07 34 */	rlwinm r4, r4, 0, 0x1c, 0x1a
/* 803B6760 003B23C0  90 85 2D CC */	stw r4, 0x2dcc(r5)
/* 803B6764 003B23C4  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6768 003B23C8  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B676C:
/* 803B676C 003B23CC  80 17 01 80 */	lwz r0, 0x180(r23)
/* 803B6770 003B23D0  54 00 04 67 */	rlwinm. r0, r0, 0, 0x11, 0x13
/* 803B6774 003B23D4  41 82 00 14 */	beq lbl_803B6788
/* 803B6778 003B23D8  1C 7C 00 0A */	mulli r3, r28, 0xa
/* 803B677C 003B23DC  38 00 00 06 */	li r0, 6
/* 803B6780 003B23E0  7C 03 03 D6 */	divw r0, r3, r0
/* 803B6784 003B23E4  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803B6788:
/* 803B6788 003B23E8  48 02 30 31 */	bl func_803D97B8
/* 803B678C 003B23EC  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803B6790 003B23F0  38 60 00 64 */	li r3, 0x64
/* 803B6794 003B23F4  7C 04 1B D6 */	divw r0, r4, r3
/* 803B6798 003B23F8  7C 00 19 D6 */	mullw r0, r0, r3
/* 803B679C 003B23FC  7C 60 20 50 */	subf r3, r0, r4
/* 803B67A0 003B2400  38 03 00 01 */	addi r0, r3, 1
/* 803B67A4 003B2404  7C 00 E0 00 */	cmpw r0, r28
/* 803B67A8 003B2408  40 81 00 10 */	ble lbl_803B67B8
/* 803B67AC 003B240C  80 17 21 6C */	lwz r0, 0x216c(r23)
/* 803B67B0 003B2410  60 00 00 01 */	ori r0, r0, 1
/* 803B67B4 003B2414  90 17 21 6C */	stw r0, 0x216c(r23)
lbl_803B67B8:
/* 803B67B8 003B2418  38 60 00 00 */	li r3, 0
lbl_803B67BC:
/* 803B67BC 003B241C  39 61 00 30 */	addi r11, r1, 0x30
/* 803B67C0 003B2420  4B E1 09 A1 */	bl _restgpr_22
/* 803B67C4 003B2424  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B67C8 003B2428  7C 08 03 A6 */	mtlr r0
/* 803B67CC 003B242C  38 21 00 30 */	addi r1, r1, 0x30
/* 803B67D0 003B2430  4E 80 00 20 */	blr 

.global func_803B67D4
func_803B67D4:
/* 803B67D4 003B2434  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B67D8 003B2438  7C 08 02 A6 */	mflr r0
/* 803B67DC 003B243C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B67E0 003B2440  39 61 00 20 */	addi r11, r1, 0x20
/* 803B67E4 003B2444  4B E1 09 45 */	bl _savegpr_27
/* 803B67E8 003B2448  80 04 21 3C */	lwz r0, 0x213c(r4)
/* 803B67EC 003B244C  7C 7B 1B 78 */	mr r27, r3
/* 803B67F0 003B2450  7C 9C 23 78 */	mr r28, r4
/* 803B67F4 003B2454  7C BD 2B 78 */	mr r29, r5
/* 803B67F8 003B2458  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B67FC 003B245C  7C DE 33 78 */	mr r30, r6
/* 803B6800 003B2460  7C FF 3B 78 */	mr r31, r7
/* 803B6804 003B2464  41 82 00 0C */	beq lbl_803B6810
/* 803B6808 003B2468  38 60 00 00 */	li r3, 0
/* 803B680C 003B246C  48 00 02 40 */	b lbl_803B6A4C
lbl_803B6810:
/* 803B6810 003B2470  54 C0 30 32 */	slwi r0, r6, 6
/* 803B6814 003B2474  7C 64 02 14 */	add r3, r4, r0
/* 803B6818 003B2478  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B681C 003B247C  54 00 1F FF */	rlwinm. r0, r0, 3, 0x1f, 0x1f
/* 803B6820 003B2480  41 82 00 78 */	beq lbl_803B6898
/* 803B6824 003B2484  54 E0 20 36 */	slwi r0, r7, 4
/* 803B6828 003B2488  7C 64 02 14 */	add r3, r4, r0
/* 803B682C 003B248C  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803B6830 003B2490  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803B6834 003B2494  41 82 00 64 */	beq lbl_803B6898
/* 803B6838 003B2498  2C 07 00 AE */	cmpwi r7, 0xae
/* 803B683C 003B249C  40 82 00 18 */	bne lbl_803B6854
/* 803B6840 003B24A0  7F 83 E3 78 */	mr r3, r28
/* 803B6844 003B24A4  54 E4 04 3E */	clrlwi r4, r7, 0x10
/* 803B6848 003B24A8  48 00 90 E9 */	bl func_803BF930
/* 803B684C 003B24AC  2C 03 00 01 */	cmpwi r3, 1
/* 803B6850 003B24B0  40 82 00 48 */	bne lbl_803B6898
lbl_803B6854:
/* 803B6854 003B24B4  7F 83 E3 78 */	mr r3, r28
/* 803B6858 003B24B8  7F E4 FB 78 */	mr r4, r31
/* 803B685C 003B24BC  48 00 8E FD */	bl func_803BF758
/* 803B6860 003B24C0  2C 03 00 00 */	cmpwi r3, 0
/* 803B6864 003B24C4  41 82 00 10 */	beq lbl_803B6874
/* 803B6868 003B24C8  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803B686C 003B24CC  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803B6870 003B24D0  41 82 00 28 */	beq lbl_803B6898
lbl_803B6874:
/* 803B6874 003B24D4  7F 63 DB 78 */	mr r3, r27
/* 803B6878 003B24D8  7F 84 E3 78 */	mr r4, r28
/* 803B687C 003B24DC  7F A5 EB 78 */	mr r5, r29
/* 803B6880 003B24E0  48 00 6B 45 */	bl func_803BD3C4
/* 803B6884 003B24E4  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803B6888 003B24E8  38 60 00 00 */	li r3, 0
/* 803B688C 003B24EC  60 00 80 00 */	ori r0, r0, 0x8000
/* 803B6890 003B24F0  90 1C 21 6C */	stw r0, 0x216c(r28)
/* 803B6894 003B24F4  48 00 01 B8 */	b lbl_803B6A4C
lbl_803B6898:
/* 803B6898 003B24F8  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803B689C 003B24FC  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803B68A0 003B2500  40 82 00 6C */	bne lbl_803B690C
/* 803B68A4 003B2504  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B68A8 003B2508  7C 7C 02 14 */	add r3, r28, r0
/* 803B68AC 003B250C  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B68B0 003B2510  54 00 06 F9 */	rlwinm. r0, r0, 0, 0x1b, 0x1c
/* 803B68B4 003B2514  41 82 00 14 */	beq lbl_803B68C8
/* 803B68B8 003B2518  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803B68BC 003B251C  54 00 17 BE */	srwi r0, r0, 0x1e
/* 803B68C0 003B2520  7C 1D 00 40 */	cmplw r29, r0
/* 803B68C4 003B2524  41 82 00 34 */	beq lbl_803B68F8
lbl_803B68C8:
/* 803B68C8 003B2528  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803B68CC 003B252C  7F 83 E3 78 */	mr r3, r28
/* 803B68D0 003B2530  48 00 92 49 */	bl func_803BFB18
/* 803B68D4 003B2534  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B68D8 003B2538  28 00 00 63 */	cmplwi r0, 0x63
/* 803B68DC 003B253C  41 82 00 1C */	beq lbl_803B68F8
/* 803B68E0 003B2540  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803B68E4 003B2544  7F 83 E3 78 */	mr r3, r28
/* 803B68E8 003B2548  48 00 92 31 */	bl func_803BFB18
/* 803B68EC 003B254C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B68F0 003B2550  28 00 00 63 */	cmplwi r0, 0x63
/* 803B68F4 003B2554  40 82 00 18 */	bne lbl_803B690C
lbl_803B68F8:
/* 803B68F8 003B2558  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803B68FC 003B255C  38 60 00 00 */	li r3, 0
/* 803B6900 003B2560  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803B6904 003B2564  90 1C 21 6C */	stw r0, 0x216c(r28)
/* 803B6908 003B2568  48 00 01 44 */	b lbl_803B6A4C
lbl_803B690C:
/* 803B690C 003B256C  7F 63 DB 78 */	mr r3, r27
/* 803B6910 003B2570  7F 84 E3 78 */	mr r4, r28
/* 803B6914 003B2574  38 A0 00 08 */	li r5, 8
/* 803B6918 003B2578  38 C0 00 00 */	li r6, 0
/* 803B691C 003B257C  38 E0 00 0D */	li r7, 0xd
/* 803B6920 003B2580  48 00 8A 61 */	bl func_803BF380
/* 803B6924 003B2584  2C 03 00 00 */	cmpwi r3, 0
/* 803B6928 003B2588  40 82 00 7C */	bne lbl_803B69A4
/* 803B692C 003B258C  7F 63 DB 78 */	mr r3, r27
/* 803B6930 003B2590  7F 84 E3 78 */	mr r4, r28
/* 803B6934 003B2594  38 A0 00 08 */	li r5, 8
/* 803B6938 003B2598  38 C0 00 00 */	li r6, 0
/* 803B693C 003B259C  38 E0 00 4C */	li r7, 0x4c
/* 803B6940 003B25A0  48 00 8A 41 */	bl func_803BF380
/* 803B6944 003B25A4  2C 03 00 00 */	cmpwi r3, 0
/* 803B6948 003B25A8  40 82 00 5C */	bne lbl_803B69A4
/* 803B694C 003B25AC  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803B6950 003B25B0  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803B6954 003B25B4  41 82 00 24 */	beq lbl_803B6978
/* 803B6958 003B25B8  57 E0 20 36 */	slwi r0, r31, 4
/* 803B695C 003B25BC  7C 7C 02 14 */	add r3, r28, r0
/* 803B6960 003B25C0  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803B6964 003B25C4  28 00 00 98 */	cmplwi r0, 0x98
/* 803B6968 003B25C8  40 82 00 10 */	bne lbl_803B6978
/* 803B696C 003B25CC  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803B6970 003B25D0  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803B6974 003B25D4  90 1C 21 6C */	stw r0, 0x216c(r28)
lbl_803B6978:
/* 803B6978 003B25D8  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803B697C 003B25DC  54 00 06 33 */	rlwinm. r0, r0, 0, 0x18, 0x19
/* 803B6980 003B25E0  41 82 00 24 */	beq lbl_803B69A4
/* 803B6984 003B25E4  57 E0 20 36 */	slwi r0, r31, 4
/* 803B6988 003B25E8  7C 7C 02 14 */	add r3, r28, r0
/* 803B698C 003B25EC  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803B6990 003B25F0  28 00 01 04 */	cmplwi r0, 0x104
/* 803B6994 003B25F4  40 82 00 10 */	bne lbl_803B69A4
/* 803B6998 003B25F8  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803B699C 003B25FC  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803B69A0 003B2600  90 1C 21 6C */	stw r0, 0x216c(r28)
lbl_803B69A4:
/* 803B69A4 003B2604  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803B69A8 003B2608  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803B69AC 003B260C  40 82 00 9C */	bne lbl_803B6A48
/* 803B69B0 003B2610  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803B69B4 003B2614  54 00 20 36 */	slwi r0, r0, 4
/* 803B69B8 003B2618  7C 7C 02 14 */	add r3, r28, r0
/* 803B69BC 003B261C  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803B69C0 003B2620  28 00 00 80 */	cmplwi r0, 0x80
/* 803B69C4 003B2624  41 82 00 84 */	beq lbl_803B6A48
/* 803B69C8 003B2628  80 9C 21 3C */	lwz r4, 0x213c(r28)
/* 803B69CC 003B262C  54 80 07 7B */	rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 803B69D0 003B2630  40 82 00 18 */	bne lbl_803B69E8
/* 803B69D4 003B2634  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B69D8 003B2638  7C 7C 02 14 */	add r3, r28, r0
/* 803B69DC 003B263C  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B69E0 003B2640  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B69E4 003B2644  40 82 00 58 */	bne lbl_803B6A3C
lbl_803B69E8:
/* 803B69E8 003B2648  54 80 03 19 */	rlwinm. r0, r4, 0, 0xc, 0xc
/* 803B69EC 003B264C  40 82 00 18 */	bne lbl_803B6A04
/* 803B69F0 003B2650  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B69F4 003B2654  7C 7C 02 14 */	add r3, r28, r0
/* 803B69F8 003B2658  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B69FC 003B265C  54 00 00 85 */	rlwinm. r0, r0, 0, 2, 2
/* 803B6A00 003B2660  40 82 00 3C */	bne lbl_803B6A3C
lbl_803B6A04:
/* 803B6A04 003B2664  54 80 07 39 */	rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 803B6A08 003B2668  40 82 00 18 */	bne lbl_803B6A20
/* 803B6A0C 003B266C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B6A10 003B2670  7C 7C 02 14 */	add r3, r28, r0
/* 803B6A14 003B2674  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B6A18 003B2678  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803B6A1C 003B267C  40 82 00 20 */	bne lbl_803B6A3C
lbl_803B6A20:
/* 803B6A20 003B2680  54 80 06 F7 */	rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 803B6A24 003B2684  40 82 00 24 */	bne lbl_803B6A48
/* 803B6A28 003B2688  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803B6A2C 003B268C  7C 7C 02 14 */	add r3, r28, r0
/* 803B6A30 003B2690  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B6A34 003B2694  54 00 03 5B */	rlwinm. r0, r0, 0, 0xd, 0xd
/* 803B6A38 003B2698  41 82 00 10 */	beq lbl_803B6A48
lbl_803B6A3C:
/* 803B6A3C 003B269C  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803B6A40 003B26A0  64 00 00 01 */	oris r0, r0, 1
/* 803B6A44 003B26A4  90 1C 21 6C */	stw r0, 0x216c(r28)
lbl_803B6A48:
/* 803B6A48 003B26A8  38 60 00 00 */	li r3, 0
lbl_803B6A4C:
/* 803B6A4C 003B26AC  39 61 00 20 */	addi r11, r1, 0x20
/* 803B6A50 003B26B0  4B E1 07 25 */	bl _restgpr_27
/* 803B6A54 003B26B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B6A58 003B26B8  7C 08 03 A6 */	mtlr r0
/* 803B6A5C 003B26BC  38 21 00 20 */	addi r1, r1, 0x20
/* 803B6A60 003B26C0  4E 80 00 20 */	blr 
/* 803B6A64 003B26C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B6A68 003B26C8  7C 08 02 A6 */	mflr r0
/* 803B6A6C 003B26CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B6A70 003B26D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B6A74 003B26D4  7C 9F 23 78 */	mr r31, r4
/* 803B6A78 003B26D8  48 01 2A 55 */	bl func_803C94CC
/* 803B6A7C 003B26DC  2C 03 00 01 */	cmpwi r3, 1
/* 803B6A80 003B26E0  40 82 00 14 */	bne lbl_803B6A94
/* 803B6A84 003B26E4  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 803B6A88 003B26E8  38 60 00 00 */	li r3, 0
/* 803B6A8C 003B26EC  90 7F 00 B4 */	stw r3, 0xb4(r31)
/* 803B6A90 003B26F0  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B6A94:
/* 803B6A94 003B26F4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B6A98 003B26F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B6A9C 003B26FC  7C 08 03 A6 */	mtlr r0
/* 803B6AA0 003B2700  38 21 00 10 */	addi r1, r1, 0x10
/* 803B6AA4 003B2704  4E 80 00 20 */	blr 
/* 803B6AA8 003B2708  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803B6AAC 003B270C  7C 08 02 A6 */	mflr r0
/* 803B6AB0 003B2710  90 01 00 44 */	stw r0, 0x44(r1)
/* 803B6AB4 003B2714  39 61 00 40 */	addi r11, r1, 0x40
/* 803B6AB8 003B2718  4B E1 06 55 */	bl _savegpr_20
/* 803B6ABC 003B271C  80 04 00 48 */	lwz r0, 0x48(r4)
/* 803B6AC0 003B2720  7C 75 1B 78 */	mr r21, r3
/* 803B6AC4 003B2724  7C 96 23 78 */	mr r22, r4
/* 803B6AC8 003B2728  28 00 00 06 */	cmplwi r0, 6
/* 803B6ACC 003B272C  41 81 0E 44 */	bgt lbl_803B7910
/* 803B6AD0 003B2730  3C 60 80 47 */	lis r3, lbl_8047345C@ha
/* 803B6AD4 003B2734  54 00 10 3A */	slwi r0, r0, 2
/* 803B6AD8 003B2738  38 63 34 5C */	addi r3, r3, lbl_8047345C@l
/* 803B6ADC 003B273C  7C 63 00 2E */	lwzx r3, r3, r0
/* 803B6AE0 003B2740  7C 69 03 A6 */	mtctr r3
/* 803B6AE4 003B2744  4E 80 04 20 */	bctr 
/* 803B6AE8 003B2748  7E C3 B3 78 */	mr r3, r22
/* 803B6AEC 003B274C  38 80 00 02 */	li r4, 2
/* 803B6AF0 003B2750  38 A0 01 16 */	li r5, 0x116
/* 803B6AF4 003B2754  48 00 3E E1 */	bl func_803BA9D4
/* 803B6AF8 003B2758  80 76 00 48 */	lwz r3, 0x48(r22)
/* 803B6AFC 003B275C  38 80 00 15 */	li r4, 0x15
/* 803B6B00 003B2760  80 B6 00 08 */	lwz r5, 8(r22)
/* 803B6B04 003B2764  38 03 00 01 */	addi r0, r3, 1
/* 803B6B08 003B2768  90 B6 00 0C */	stw r5, 0xc(r22)
/* 803B6B0C 003B276C  90 96 00 08 */	stw r4, 8(r22)
/* 803B6B10 003B2770  90 16 00 48 */	stw r0, 0x48(r22)
/* 803B6B14 003B2774  48 00 0E 8C */	b lbl_803B79A0
/* 803B6B18 003B2778  80 04 21 84 */	lwz r0, 0x2184(r4)
/* 803B6B1C 003B277C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B6B20 003B2780  40 82 09 5C */	bne lbl_803B747C
/* 803B6B24 003B2784  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803B6B28 003B2788  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B6B2C 003B278C  3B 83 CE 28 */	addi r28, r3, lbl_8048CE28@l
/* 803B6B30 003B2790  3B 00 00 00 */	li r24, 0
/* 803B6B34 003B2794  54 00 20 36 */	slwi r0, r0, 4
/* 803B6B38 003B2798  3B 60 00 15 */	li r27, 0x15
/* 803B6B3C 003B279C  7C 64 02 14 */	add r3, r4, r0
/* 803B6B40 003B27A0  3B 40 00 26 */	li r26, 0x26
/* 803B6B44 003B27A4  A2 E3 03 DE */	lhz r23, 0x3de(r3)
/* 803B6B48 003B27A8  3B A0 00 05 */	li r29, 5
/* 803B6B4C 003B27AC  3B C0 00 01 */	li r30, 1
/* 803B6B50 003B27B0  3A 80 00 00 */	li r20, 0
/* 803B6B54 003B27B4  3B E0 00 21 */	li r31, 0x21
/* 803B6B58 003B27B8  3F 20 80 47 */	lis r25, 0x8047
lbl_803B6B5C:
/* 803B6B5C 003B27BC  80 96 00 50 */	lwz r4, 0x50(r22)
/* 803B6B60 003B27C0  28 04 00 10 */	cmplwi r4, 0x10
/* 803B6B64 003B27C4  41 81 08 CC */	bgt lbl_803B7430
/* 803B6B68 003B27C8  38 79 34 18 */	addi r3, r25, 0x3418
/* 803B6B6C 003B27CC  54 80 10 3A */	slwi r0, r4, 2
/* 803B6B70 003B27D0  7C 63 00 2E */	lwzx r3, r3, r0
/* 803B6B74 003B27D4  7C 69 03 A6 */	mtctr r3
/* 803B6B78 003B27D8  4E 80 04 20 */	bctr 
/* 803B6B7C 003B27DC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6B80 003B27E0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B6B84 003B27E4  7C 76 02 14 */	add r3, r22, r0
/* 803B6B88 003B27E8  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B6B8C 003B27EC  54 00 01 CA */	rlwinm r0, r0, 0, 7, 5
/* 803B6B90 003B27F0  90 03 2D B0 */	stw r0, 0x2db0(r3)
/* 803B6B94 003B27F4  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6B98 003B27F8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B6B9C 003B27FC  7C 76 02 14 */	add r3, r22, r0
/* 803B6BA0 003B2800  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803B6BA4 003B2804  54 00 04 A0 */	rlwinm r0, r0, 0, 0x12, 0x10
/* 803B6BA8 003B2808  90 03 2D C0 */	stw r0, 0x2dc0(r3)
/* 803B6BAC 003B280C  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6BB0 003B2810  38 03 00 01 */	addi r0, r3, 1
/* 803B6BB4 003B2814  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6BB8 003B2818  48 00 08 78 */	b lbl_803B7430
/* 803B6BBC 003B281C  80 96 00 64 */	lwz r4, 0x64(r22)
/* 803B6BC0 003B2820  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803B6BC4 003B2824  7C 76 02 14 */	add r3, r22, r0
/* 803B6BC8 003B2828  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B6BCC 003B282C  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B6BD0 003B2830  41 82 01 4C */	beq lbl_803B6D1C
/* 803B6BD4 003B2834  80 16 01 80 */	lwz r0, 0x180(r22)
/* 803B6BD8 003B2838  54 00 05 2F */	rlwinm. r0, r0, 0, 0x14, 0x17
/* 803B6BDC 003B283C  41 82 00 4C */	beq lbl_803B6C28
/* 803B6BE0 003B2840  7E C3 B3 78 */	mr r3, r22
/* 803B6BE4 003B2844  48 00 8F 35 */	bl func_803BFB18
/* 803B6BE8 003B2848  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B6BEC 003B284C  28 00 00 2B */	cmplwi r0, 0x2b
/* 803B6BF0 003B2850  41 82 00 38 */	beq lbl_803B6C28
/* 803B6BF4 003B2854  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6BF8 003B2858  7E C3 B3 78 */	mr r3, r22
/* 803B6BFC 003B285C  38 80 00 02 */	li r4, 2
/* 803B6C00 003B2860  38 A0 00 13 */	li r5, 0x13
/* 803B6C04 003B2864  90 16 01 18 */	stw r0, 0x118(r22)
/* 803B6C08 003B2868  48 00 3D CD */	bl func_803BA9D4
/* 803B6C0C 003B286C  80 76 00 08 */	lwz r3, 8(r22)
/* 803B6C10 003B2870  3B 00 00 02 */	li r24, 2
/* 803B6C14 003B2874  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6C18 003B2878  90 76 00 0C */	stw r3, 0xc(r22)
/* 803B6C1C 003B287C  93 76 00 08 */	stw r27, 8(r22)
/* 803B6C20 003B2880  90 1C 00 0C */	stw r0, 0xc(r28)
/* 803B6C24 003B2884  48 00 00 F8 */	b lbl_803B6D1C
lbl_803B6C28:
/* 803B6C28 003B2888  80 16 30 44 */	lwz r0, 0x3044(r22)
/* 803B6C2C 003B288C  38 60 00 00 */	li r3, 0
/* 803B6C30 003B2890  28 00 00 D6 */	cmplwi r0, 0xd6
/* 803B6C34 003B2894  41 82 00 14 */	beq lbl_803B6C48
/* 803B6C38 003B2898  80 16 30 40 */	lwz r0, 0x3040(r22)
/* 803B6C3C 003B289C  28 00 00 D6 */	cmplwi r0, 0xd6
/* 803B6C40 003B28A0  40 82 00 08 */	bne lbl_803B6C48
/* 803B6C44 003B28A4  38 60 00 01 */	li r3, 1
lbl_803B6C48:
/* 803B6C48 003B28A8  2C 03 00 00 */	cmpwi r3, 0
/* 803B6C4C 003B28AC  40 82 00 D0 */	bne lbl_803B6D1C
/* 803B6C50 003B28B0  80 96 00 64 */	lwz r4, 0x64(r22)
/* 803B6C54 003B28B4  7E C3 B3 78 */	mr r3, r22
/* 803B6C58 003B28B8  48 00 8E C1 */	bl func_803BFB18
/* 803B6C5C 003B28BC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6C60 003B28C0  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803B6C64 003B28C4  38 63 FF D0 */	addi r3, r3, -48
/* 803B6C68 003B28C8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B6C6C 003B28CC  7C 63 00 34 */	cntlzw r3, r3
/* 803B6C70 003B28D0  7C B6 02 14 */	add r5, r22, r0
/* 803B6C74 003B28D4  54 64 D9 7E */	srwi r4, r3, 5
/* 803B6C78 003B28D8  80 65 2D AC */	lwz r3, 0x2dac(r5)
/* 803B6C7C 003B28DC  38 84 00 01 */	addi r4, r4, 1
/* 803B6C80 003B28E0  54 60 07 7E */	clrlwi r0, r3, 0x1d
/* 803B6C84 003B28E4  7C 00 20 40 */	cmplw r0, r4
/* 803B6C88 003B28E8  40 80 00 10 */	bge lbl_803B6C98
/* 803B6C8C 003B28EC  54 60 00 38 */	rlwinm r0, r3, 0, 0, 0x1c
/* 803B6C90 003B28F0  90 05 2D AC */	stw r0, 0x2dac(r5)
/* 803B6C94 003B28F4  48 00 00 0C */	b lbl_803B6CA0
lbl_803B6C98:
/* 803B6C98 003B28F8  7C 04 18 50 */	subf r0, r4, r3
/* 803B6C9C 003B28FC  90 05 2D AC */	stw r0, 0x2dac(r5)
lbl_803B6CA0:
/* 803B6CA0 003B2900  80 96 00 64 */	lwz r4, 0x64(r22)
/* 803B6CA4 003B2904  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803B6CA8 003B2908  7C 76 02 14 */	add r3, r22, r0
/* 803B6CAC 003B290C  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B6CB0 003B2910  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B6CB4 003B2914  41 82 00 3C */	beq lbl_803B6CF0
/* 803B6CB8 003B2918  80 16 30 44 */	lwz r0, 0x3044(r22)
/* 803B6CBC 003B291C  28 00 00 AD */	cmplwi r0, 0xad
/* 803B6CC0 003B2920  41 82 00 5C */	beq lbl_803B6D1C
/* 803B6CC4 003B2924  80 16 30 40 */	lwz r0, 0x3040(r22)
/* 803B6CC8 003B2928  28 00 00 D6 */	cmplwi r0, 0xd6
/* 803B6CCC 003B292C  41 82 00 50 */	beq lbl_803B6D1C
/* 803B6CD0 003B2930  7E C3 B3 78 */	mr r3, r22
/* 803B6CD4 003B2934  38 80 00 02 */	li r4, 2
/* 803B6CD8 003B2938  38 A0 00 14 */	li r5, 0x14
/* 803B6CDC 003B293C  48 00 3C F9 */	bl func_803BA9D4
/* 803B6CE0 003B2940  93 76 00 08 */	stw r27, 8(r22)
/* 803B6CE4 003B2944  3B 00 00 02 */	li r24, 2
/* 803B6CE8 003B2948  93 56 00 0C */	stw r26, 0xc(r22)
/* 803B6CEC 003B294C  48 00 00 30 */	b lbl_803B6D1C
lbl_803B6CF0:
/* 803B6CF0 003B2950  90 96 01 18 */	stw r4, 0x118(r22)
/* 803B6CF4 003B2954  7E C3 B3 78 */	mr r3, r22
/* 803B6CF8 003B2958  38 80 00 02 */	li r4, 2
/* 803B6CFC 003B295C  38 A0 00 13 */	li r5, 0x13
/* 803B6D00 003B2960  48 00 3C D5 */	bl func_803BA9D4
/* 803B6D04 003B2964  80 76 00 08 */	lwz r3, 8(r22)
/* 803B6D08 003B2968  3B 00 00 02 */	li r24, 2
/* 803B6D0C 003B296C  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6D10 003B2970  90 76 00 0C */	stw r3, 0xc(r22)
/* 803B6D14 003B2974  93 76 00 08 */	stw r27, 8(r22)
/* 803B6D18 003B2978  90 1C 00 0C */	stw r0, 0xc(r28)
lbl_803B6D1C:
/* 803B6D1C 003B297C  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6D20 003B2980  38 03 00 01 */	addi r0, r3, 1
/* 803B6D24 003B2984  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6D28 003B2988  48 00 07 08 */	b lbl_803B7430
/* 803B6D2C 003B298C  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6D30 003B2990  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B6D34 003B2994  7C 76 02 14 */	add r3, r22, r0
/* 803B6D38 003B2998  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B6D3C 003B299C  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B6D40 003B29A0  41 82 00 74 */	beq lbl_803B6DB4
/* 803B6D44 003B29A4  48 02 2A 75 */	bl func_803D97B8
/* 803B6D48 003B29A8  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803B6D4C 003B29AC  7C 03 EB D6 */	divw r0, r3, r29
/* 803B6D50 003B29B0  7C 00 E9 D6 */	mullw r0, r0, r29
/* 803B6D54 003B29B4  7C 00 18 51 */	subf. r0, r0, r3
/* 803B6D58 003B29B8  41 82 00 34 */	beq lbl_803B6D8C
/* 803B6D5C 003B29BC  2C 17 00 7D */	cmpwi r23, 0x7d
/* 803B6D60 003B29C0  41 82 00 54 */	beq lbl_803B6DB4
/* 803B6D64 003B29C4  2C 17 00 FD */	cmpwi r23, 0xfd
/* 803B6D68 003B29C8  41 82 00 4C */	beq lbl_803B6DB4
/* 803B6D6C 003B29CC  7E C3 B3 78 */	mr r3, r22
/* 803B6D70 003B29D0  38 80 00 02 */	li r4, 2
/* 803B6D74 003B29D4  38 A0 00 1C */	li r5, 0x1c
/* 803B6D78 003B29D8  48 00 3C 5D */	bl func_803BA9D4
/* 803B6D7C 003B29DC  93 76 00 08 */	stw r27, 8(r22)
/* 803B6D80 003B29E0  3B 00 00 01 */	li r24, 1
/* 803B6D84 003B29E4  93 56 00 0C */	stw r26, 0xc(r22)
/* 803B6D88 003B29E8  48 00 00 2C */	b lbl_803B6DB4
lbl_803B6D8C:
/* 803B6D8C 003B29EC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6D90 003B29F0  7E C3 B3 78 */	mr r3, r22
/* 803B6D94 003B29F4  38 80 00 02 */	li r4, 2
/* 803B6D98 003B29F8  38 A0 00 1D */	li r5, 0x1d
/* 803B6D9C 003B29FC  90 16 01 18 */	stw r0, 0x118(r22)
/* 803B6DA0 003B2A00  48 00 3C 35 */	bl func_803BA9D4
/* 803B6DA4 003B2A04  80 16 00 08 */	lwz r0, 8(r22)
/* 803B6DA8 003B2A08  3B 00 00 02 */	li r24, 2
/* 803B6DAC 003B2A0C  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B6DB0 003B2A10  93 76 00 08 */	stw r27, 8(r22)
lbl_803B6DB4:
/* 803B6DB4 003B2A14  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6DB8 003B2A18  38 03 00 01 */	addi r0, r3, 1
/* 803B6DBC 003B2A1C  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6DC0 003B2A20  48 00 06 70 */	b lbl_803B7430
/* 803B6DC4 003B2A24  80 96 00 64 */	lwz r4, 0x64(r22)
/* 803B6DC8 003B2A28  7E C3 B3 78 */	mr r3, r22
/* 803B6DCC 003B2A2C  48 00 95 21 */	bl func_803C02EC
/* 803B6DD0 003B2A30  2C 03 00 01 */	cmpwi r3, 1
/* 803B6DD4 003B2A34  40 82 00 20 */	bne lbl_803B6DF4
/* 803B6DD8 003B2A38  7E C3 B3 78 */	mr r3, r22
/* 803B6DDC 003B2A3C  38 80 00 02 */	li r4, 2
/* 803B6DE0 003B2A40  38 A0 00 BF */	li r5, 0xbf
/* 803B6DE4 003B2A44  48 00 3B F1 */	bl func_803BA9D4
/* 803B6DE8 003B2A48  93 76 00 08 */	stw r27, 8(r22)
/* 803B6DEC 003B2A4C  3B 00 00 01 */	li r24, 1
/* 803B6DF0 003B2A50  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B6DF4:
/* 803B6DF4 003B2A54  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6DF8 003B2A58  38 03 00 01 */	addi r0, r3, 1
/* 803B6DFC 003B2A5C  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6E00 003B2A60  48 00 06 30 */	b lbl_803B7430
/* 803B6E04 003B2A64  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6E08 003B2A68  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B6E0C 003B2A6C  7C 96 02 14 */	add r4, r22, r0
/* 803B6E10 003B2A70  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B6E14 003B2A74  54 60 02 53 */	rlwinm. r0, r3, 0, 9, 9
/* 803B6E18 003B2A78  41 82 00 28 */	beq lbl_803B6E40
/* 803B6E1C 003B2A7C  54 60 02 90 */	rlwinm r0, r3, 0, 0xa, 8
/* 803B6E20 003B2A80  7E C3 B3 78 */	mr r3, r22
/* 803B6E24 003B2A84  90 04 2D B0 */	stw r0, 0x2db0(r4)
/* 803B6E28 003B2A88  38 80 00 02 */	li r4, 2
/* 803B6E2C 003B2A8C  38 A0 00 41 */	li r5, 0x41
/* 803B6E30 003B2A90  48 00 3B A5 */	bl func_803BA9D4
/* 803B6E34 003B2A94  93 76 00 08 */	stw r27, 8(r22)
/* 803B6E38 003B2A98  3B 00 00 01 */	li r24, 1
/* 803B6E3C 003B2A9C  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B6E40:
/* 803B6E40 003B2AA0  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6E44 003B2AA4  38 03 00 01 */	addi r0, r3, 1
/* 803B6E48 003B2AA8  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6E4C 003B2AAC  48 00 05 E4 */	b lbl_803B7430
/* 803B6E50 003B2AB0  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6E54 003B2AB4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B6E58 003B2AB8  7C 96 02 14 */	add r4, r22, r0
/* 803B6E5C 003B2ABC  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B6E60 003B2AC0  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803B6E64 003B2AC4  41 82 00 40 */	beq lbl_803B6EA4
/* 803B6E68 003B2AC8  54 60 07 76 */	rlwinm r0, r3, 0, 0x1d, 0x1b
/* 803B6E6C 003B2ACC  7E C3 B3 78 */	mr r3, r22
/* 803B6E70 003B2AD0  90 04 2D B0 */	stw r0, 0x2db0(r4)
/* 803B6E74 003B2AD4  38 80 00 02 */	li r4, 2
/* 803B6E78 003B2AD8  38 A0 00 0F */	li r5, 0xf
/* 803B6E7C 003B2ADC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6E80 003B2AE0  54 00 10 3A */	slwi r0, r0, 2
/* 803B6E84 003B2AE4  7C D6 02 14 */	add r6, r22, r0
/* 803B6E88 003B2AE8  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B6E8C 003B2AEC  64 00 02 00 */	oris r0, r0, 0x200
/* 803B6E90 003B2AF0  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B6E94 003B2AF4  48 00 3B 41 */	bl func_803BA9D4
/* 803B6E98 003B2AF8  93 76 00 08 */	stw r27, 8(r22)
/* 803B6E9C 003B2AFC  3B 00 00 01 */	li r24, 1
/* 803B6EA0 003B2B00  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B6EA4:
/* 803B6EA4 003B2B04  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6EA8 003B2B08  38 03 00 01 */	addi r0, r3, 1
/* 803B6EAC 003B2B0C  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6EB0 003B2B10  48 00 05 80 */	b lbl_803B7430
/* 803B6EB4 003B2B14  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B6EB8 003B2B18  80 96 30 40 */	lwz r4, 0x3040(r22)
/* 803B6EBC 003B2B1C  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803B6EC0 003B2B20  7C 76 02 14 */	add r3, r22, r0
/* 803B6EC4 003B2B24  A0 03 2D E8 */	lhz r0, 0x2de8(r3)
/* 803B6EC8 003B2B28  7C 04 00 40 */	cmplw r4, r0
/* 803B6ECC 003B2B2C  40 82 00 34 */	bne lbl_803B6F00
/* 803B6ED0 003B2B30  54 A0 10 3A */	slwi r0, r5, 2
/* 803B6ED4 003B2B34  7E C3 B3 78 */	mr r3, r22
/* 803B6ED8 003B2B38  7C D6 02 14 */	add r6, r22, r0
/* 803B6EDC 003B2B3C  38 80 00 02 */	li r4, 2
/* 803B6EE0 003B2B40  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B6EE4 003B2B44  38 A0 00 47 */	li r5, 0x47
/* 803B6EE8 003B2B48  64 00 08 00 */	oris r0, r0, 0x800
/* 803B6EEC 003B2B4C  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B6EF0 003B2B50  48 00 3A E5 */	bl func_803BA9D4
/* 803B6EF4 003B2B54  93 76 00 08 */	stw r27, 8(r22)
/* 803B6EF8 003B2B58  3B 00 00 01 */	li r24, 1
/* 803B6EFC 003B2B5C  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B6F00:
/* 803B6F00 003B2B60  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6F04 003B2B64  38 03 00 01 */	addi r0, r3, 1
/* 803B6F08 003B2B68  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6F0C 003B2B6C  48 00 05 24 */	b lbl_803B7430
/* 803B6F10 003B2B70  80 96 00 64 */	lwz r4, 0x64(r22)
/* 803B6F14 003B2B74  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803B6F18 003B2B78  7C 76 02 14 */	add r3, r22, r0
/* 803B6F1C 003B2B7C  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803B6F20 003B2B80  54 00 5F 7F */	rlwinm. r0, r0, 0xb, 0x1d, 0x1f
/* 803B6F24 003B2B84  41 82 00 4C */	beq lbl_803B6F70
/* 803B6F28 003B2B88  80 16 30 44 */	lwz r0, 0x3044(r22)
/* 803B6F2C 003B2B8C  54 00 20 36 */	slwi r0, r0, 4
/* 803B6F30 003B2B90  7C 76 02 14 */	add r3, r22, r0
/* 803B6F34 003B2B94  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803B6F38 003B2B98  2C 00 00 00 */	cmpwi r0, 0
/* 803B6F3C 003B2B9C  40 82 00 34 */	bne lbl_803B6F70
/* 803B6F40 003B2BA0  54 80 10 3A */	slwi r0, r4, 2
/* 803B6F44 003B2BA4  7E C3 B3 78 */	mr r3, r22
/* 803B6F48 003B2BA8  7C D6 02 14 */	add r6, r22, r0
/* 803B6F4C 003B2BAC  38 80 00 02 */	li r4, 2
/* 803B6F50 003B2BB0  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B6F54 003B2BB4  38 A0 00 85 */	li r5, 0x85
/* 803B6F58 003B2BB8  64 00 04 00 */	oris r0, r0, 0x400
/* 803B6F5C 003B2BBC  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B6F60 003B2BC0  48 00 3A 75 */	bl func_803BA9D4
/* 803B6F64 003B2BC4  93 76 00 08 */	stw r27, 8(r22)
/* 803B6F68 003B2BC8  3B 00 00 01 */	li r24, 1
/* 803B6F6C 003B2BCC  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B6F70:
/* 803B6F70 003B2BD0  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6F74 003B2BD4  38 03 00 01 */	addi r0, r3, 1
/* 803B6F78 003B2BD8  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6F7C 003B2BDC  48 00 04 B4 */	b lbl_803B7430
/* 803B6F80 003B2BE0  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B6F84 003B2BE4  7E A3 AB 78 */	mr r3, r21
/* 803B6F88 003B2BE8  80 D6 30 44 */	lwz r6, 0x3044(r22)
/* 803B6F8C 003B2BEC  7E C4 B3 78 */	mr r4, r22
/* 803B6F90 003B2BF0  48 00 93 CD */	bl func_803C035C
/* 803B6F94 003B2BF4  2C 03 00 00 */	cmpwi r3, 0
/* 803B6F98 003B2BF8  41 82 00 38 */	beq lbl_803B6FD0
/* 803B6F9C 003B2BFC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B6FA0 003B2C00  7E C3 B3 78 */	mr r3, r22
/* 803B6FA4 003B2C04  38 80 00 02 */	li r4, 2
/* 803B6FA8 003B2C08  38 A0 00 90 */	li r5, 0x90
/* 803B6FAC 003B2C0C  54 00 10 3A */	slwi r0, r0, 2
/* 803B6FB0 003B2C10  7C D6 02 14 */	add r6, r22, r0
/* 803B6FB4 003B2C14  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B6FB8 003B2C18  64 00 20 00 */	oris r0, r0, 0x2000
/* 803B6FBC 003B2C1C  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B6FC0 003B2C20  48 00 3A 15 */	bl func_803BA9D4
/* 803B6FC4 003B2C24  93 76 00 08 */	stw r27, 8(r22)
/* 803B6FC8 003B2C28  3B 00 00 01 */	li r24, 1
/* 803B6FCC 003B2C2C  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B6FD0:
/* 803B6FD0 003B2C30  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B6FD4 003B2C34  38 03 00 01 */	addi r0, r3, 1
/* 803B6FD8 003B2C38  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B6FDC 003B2C3C  48 00 04 54 */	b lbl_803B7430
/* 803B6FE0 003B2C40  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B6FE4 003B2C44  7E A3 AB 78 */	mr r3, r21
/* 803B6FE8 003B2C48  80 D6 30 44 */	lwz r6, 0x3044(r22)
/* 803B6FEC 003B2C4C  7E C4 B3 78 */	mr r4, r22
/* 803B6FF0 003B2C50  48 00 95 95 */	bl func_803C0584
/* 803B6FF4 003B2C54  2C 03 00 00 */	cmpwi r3, 0
/* 803B6FF8 003B2C58  41 82 00 38 */	beq lbl_803B7030
/* 803B6FFC 003B2C5C  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7000 003B2C60  7E C3 B3 78 */	mr r3, r22
/* 803B7004 003B2C64  38 80 00 02 */	li r4, 2
/* 803B7008 003B2C68  38 A0 00 9D */	li r5, 0x9d
/* 803B700C 003B2C6C  54 00 10 3A */	slwi r0, r0, 2
/* 803B7010 003B2C70  7C D6 02 14 */	add r6, r22, r0
/* 803B7014 003B2C74  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B7018 003B2C78  64 00 00 80 */	oris r0, r0, 0x80
/* 803B701C 003B2C7C  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B7020 003B2C80  48 00 39 B5 */	bl func_803BA9D4
/* 803B7024 003B2C84  93 76 00 08 */	stw r27, 8(r22)
/* 803B7028 003B2C88  3B 00 00 01 */	li r24, 1
/* 803B702C 003B2C8C  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B7030:
/* 803B7030 003B2C90  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B7034 003B2C94  38 03 00 01 */	addi r0, r3, 1
/* 803B7038 003B2C98  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B703C 003B2C9C  48 00 03 F4 */	b lbl_803B7430
/* 803B7040 003B2CA0  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B7044 003B2CA4  7E A3 AB 78 */	mr r3, r21
/* 803B7048 003B2CA8  80 D6 30 44 */	lwz r6, 0x3044(r22)
/* 803B704C 003B2CAC  7E C4 B3 78 */	mr r4, r22
/* 803B7050 003B2CB0  48 00 95 79 */	bl func_803C05C8
/* 803B7054 003B2CB4  2C 03 00 00 */	cmpwi r3, 0
/* 803B7058 003B2CB8  41 82 00 38 */	beq lbl_803B7090
/* 803B705C 003B2CBC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7060 003B2CC0  7E C3 B3 78 */	mr r3, r22
/* 803B7064 003B2CC4  38 80 00 02 */	li r4, 2
/* 803B7068 003B2CC8  38 A0 00 AE */	li r5, 0xae
/* 803B706C 003B2CCC  54 00 10 3A */	slwi r0, r0, 2
/* 803B7070 003B2CD0  7C D6 02 14 */	add r6, r22, r0
/* 803B7074 003B2CD4  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B7078 003B2CD8  64 00 00 40 */	oris r0, r0, 0x40
/* 803B707C 003B2CDC  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B7080 003B2CE0  48 00 39 55 */	bl func_803BA9D4
/* 803B7084 003B2CE4  93 76 00 08 */	stw r27, 8(r22)
/* 803B7088 003B2CE8  3B 00 00 01 */	li r24, 1
/* 803B708C 003B2CEC  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B7090:
/* 803B7090 003B2CF0  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B7094 003B2CF4  38 03 00 01 */	addi r0, r3, 1
/* 803B7098 003B2CF8  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B709C 003B2CFC  48 00 03 94 */	b lbl_803B7430
/* 803B70A0 003B2D00  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B70A4 003B2D04  38 64 00 01 */	addi r3, r4, 1
/* 803B70A8 003B2D08  90 76 00 50 */	stw r3, 0x50(r22)
/* 803B70AC 003B2D0C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B70B0 003B2D10  7C 96 02 14 */	add r4, r22, r0
/* 803B70B4 003B2D14  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B70B8 003B2D18  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803B70BC 003B2D1C  41 82 03 74 */	beq lbl_803B7430
/* 803B70C0 003B2D20  38 03 FF FF */	addi r0, r3, -1
/* 803B70C4 003B2D24  90 04 2D B0 */	stw r0, 0x2db0(r4)
/* 803B70C8 003B2D28  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B70CC 003B2D2C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B70D0 003B2D30  7C 76 02 14 */	add r3, r22, r0
/* 803B70D4 003B2D34  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B70D8 003B2D38  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B70DC 003B2D3C  41 82 00 C8 */	beq lbl_803B71A4
/* 803B70E0 003B2D40  48 02 26 D9 */	bl func_803D97B8
/* 803B70E4 003B2D44  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B70E8 003B2D48  41 82 00 28 */	beq lbl_803B7110
/* 803B70EC 003B2D4C  7E C3 B3 78 */	mr r3, r22
/* 803B70F0 003B2D50  38 80 00 02 */	li r4, 2
/* 803B70F4 003B2D54  38 A0 00 26 */	li r5, 0x26
/* 803B70F8 003B2D58  48 00 38 DD */	bl func_803BA9D4
/* 803B70FC 003B2D5C  80 16 00 08 */	lwz r0, 8(r22)
/* 803B7100 003B2D60  3B 00 00 02 */	li r24, 2
/* 803B7104 003B2D64  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B7108 003B2D68  93 76 00 08 */	stw r27, 8(r22)
/* 803B710C 003B2D6C  48 00 03 24 */	b lbl_803B7430
lbl_803B7110:
/* 803B7110 003B2D70  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7114 003B2D74  7E A3 AB 78 */	mr r3, r21
/* 803B7118 003B2D78  7E C4 B3 78 */	mr r4, r22
/* 803B711C 003B2D7C  38 A0 00 A5 */	li r5, 0xa5
/* 803B7120 003B2D80  54 00 10 3A */	slwi r0, r0, 2
/* 803B7124 003B2D84  38 C0 00 00 */	li r6, 0
/* 803B7128 003B2D88  7D 56 02 14 */	add r10, r22, r0
/* 803B712C 003B2D8C  38 E0 00 00 */	li r7, 0
/* 803B7130 003B2D90  80 0A 03 44 */	lwz r0, 0x344(r10)
/* 803B7134 003B2D94  39 00 00 28 */	li r8, 0x28
/* 803B7138 003B2D98  39 20 00 00 */	li r9, 0
/* 803B713C 003B2D9C  64 00 01 00 */	oris r0, r0, 0x100
/* 803B7140 003B2DA0  90 0A 03 44 */	stw r0, 0x344(r10)
/* 803B7144 003B2DA4  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7148 003B2DA8  90 16 00 6C */	stw r0, 0x6c(r22)
/* 803B714C 003B2DAC  54 0A 06 3E */	clrlwi r10, r0, 0x18
/* 803B7150 003B2DB0  90 16 01 18 */	stw r0, 0x118(r22)
/* 803B7154 003B2DB4  91 41 00 08 */	stw r10, 8(r1)
/* 803B7158 003B2DB8  93 C1 00 0C */	stw r30, 0xc(r1)
/* 803B715C 003B2DBC  48 00 F0 1D */	bl func_803C6178
/* 803B7160 003B2DC0  90 76 21 5C */	stw r3, 0x215c(r22)
/* 803B7164 003B2DC4  7C 64 1B 78 */	mr r4, r3
/* 803B7168 003B2DC8  7E C3 B3 78 */	mr r3, r22
/* 803B716C 003B2DCC  48 01 12 DD */	bl func_803C8448
/* 803B7170 003B2DD0  1C 83 FF FF */	mulli r4, r3, -1
/* 803B7174 003B2DD4  80 16 21 3C */	lwz r0, 0x213c(r22)
/* 803B7178 003B2DD8  7E C3 B3 78 */	mr r3, r22
/* 803B717C 003B2DDC  60 00 00 40 */	ori r0, r0, 0x40
/* 803B7180 003B2DE0  90 96 21 5C */	stw r4, 0x215c(r22)
/* 803B7184 003B2DE4  38 80 00 02 */	li r4, 2
/* 803B7188 003B2DE8  38 A0 00 27 */	li r5, 0x27
/* 803B718C 003B2DEC  90 16 21 3C */	stw r0, 0x213c(r22)
/* 803B7190 003B2DF0  48 00 38 45 */	bl func_803BA9D4
/* 803B7194 003B2DF4  93 76 00 08 */	stw r27, 8(r22)
/* 803B7198 003B2DF8  3B 00 00 01 */	li r24, 1
/* 803B719C 003B2DFC  93 F6 00 0C */	stw r31, 0xc(r22)
/* 803B71A0 003B2E00  48 00 02 90 */	b lbl_803B7430
lbl_803B71A4:
/* 803B71A4 003B2E04  7E C3 B3 78 */	mr r3, r22
/* 803B71A8 003B2E08  38 80 00 02 */	li r4, 2
/* 803B71AC 003B2E0C  38 A0 00 28 */	li r5, 0x28
/* 803B71B0 003B2E10  48 00 38 25 */	bl func_803BA9D4
/* 803B71B4 003B2E14  80 16 00 08 */	lwz r0, 8(r22)
/* 803B71B8 003B2E18  3B 00 00 02 */	li r24, 2
/* 803B71BC 003B2E1C  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B71C0 003B2E20  93 76 00 08 */	stw r27, 8(r22)
/* 803B71C4 003B2E24  48 00 02 6C */	b lbl_803B7430
/* 803B71C8 003B2E28  80 96 00 64 */	lwz r4, 0x64(r22)
/* 803B71CC 003B2E2C  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803B71D0 003B2E30  7C 76 02 14 */	add r3, r22, r0
/* 803B71D4 003B2E34  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B71D8 003B2E38  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B71DC 003B2E3C  41 82 00 68 */	beq lbl_803B7244
/* 803B71E0 003B2E40  7E C3 B3 78 */	mr r3, r22
/* 803B71E4 003B2E44  48 00 89 35 */	bl func_803BFB18
/* 803B71E8 003B2E48  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B71EC 003B2E4C  28 00 00 62 */	cmplwi r0, 0x62
/* 803B71F0 003B2E50  41 82 00 54 */	beq lbl_803B7244
/* 803B71F4 003B2E54  48 02 25 C5 */	bl func_803D97B8
/* 803B71F8 003B2E58  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803B71FC 003B2E5C  7C 60 16 70 */	srawi r0, r3, 2
/* 803B7200 003B2E60  7C 00 01 94 */	addze r0, r0
/* 803B7204 003B2E64  54 00 10 3A */	slwi r0, r0, 2
/* 803B7208 003B2E68  7C 00 18 51 */	subf. r0, r0, r3
/* 803B720C 003B2E6C  40 82 00 38 */	bne lbl_803B7244
/* 803B7210 003B2E70  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7214 003B2E74  7E C3 B3 78 */	mr r3, r22
/* 803B7218 003B2E78  38 80 00 02 */	li r4, 2
/* 803B721C 003B2E7C  38 A0 00 20 */	li r5, 0x20
/* 803B7220 003B2E80  54 00 10 3A */	slwi r0, r0, 2
/* 803B7224 003B2E84  7C D6 02 14 */	add r6, r22, r0
/* 803B7228 003B2E88  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B722C 003B2E8C  64 00 80 00 */	oris r0, r0, 0x8000
/* 803B7230 003B2E90  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B7234 003B2E94  48 00 37 A1 */	bl func_803BA9D4
/* 803B7238 003B2E98  93 76 00 08 */	stw r27, 8(r22)
/* 803B723C 003B2E9C  3B 00 00 01 */	li r24, 1
/* 803B7240 003B2EA0  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B7244:
/* 803B7244 003B2EA4  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B7248 003B2EA8  38 03 00 01 */	addi r0, r3, 1
/* 803B724C 003B2EAC  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B7250 003B2EB0  48 00 01 E0 */	b lbl_803B7430
/* 803B7254 003B2EB4  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7258 003B2EB8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B725C 003B2EBC  7C 76 02 14 */	add r3, r22, r0
/* 803B7260 003B2EC0  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B7264 003B2EC4  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803B7268 003B2EC8  41 82 00 74 */	beq lbl_803B72DC
/* 803B726C 003B2ECC  54 03 84 3E */	srwi r3, r0, 0x10
/* 803B7270 003B2ED0  48 02 66 D1 */	bl func_803DD940
/* 803B7274 003B2ED4  90 76 01 18 */	stw r3, 0x118(r22)
/* 803B7278 003B2ED8  48 02 25 41 */	bl func_803D97B8
/* 803B727C 003B2EDC  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B7280 003B2EE0  41 82 00 28 */	beq lbl_803B72A8
/* 803B7284 003B2EE4  7E C3 B3 78 */	mr r3, r22
/* 803B7288 003B2EE8  38 80 00 02 */	li r4, 2
/* 803B728C 003B2EEC  38 A0 00 6B */	li r5, 0x6b
/* 803B7290 003B2EF0  48 00 37 45 */	bl func_803BA9D4
/* 803B7294 003B2EF4  80 16 00 08 */	lwz r0, 8(r22)
/* 803B7298 003B2EF8  3B 00 00 02 */	li r24, 2
/* 803B729C 003B2EFC  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B72A0 003B2F00  93 76 00 08 */	stw r27, 8(r22)
/* 803B72A4 003B2F04  48 00 00 38 */	b lbl_803B72DC
lbl_803B72A8:
/* 803B72A8 003B2F08  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B72AC 003B2F0C  7E C3 B3 78 */	mr r3, r22
/* 803B72B0 003B2F10  38 80 00 02 */	li r4, 2
/* 803B72B4 003B2F14  38 A0 00 6C */	li r5, 0x6c
/* 803B72B8 003B2F18  54 00 10 3A */	slwi r0, r0, 2
/* 803B72BC 003B2F1C  7C D6 02 14 */	add r6, r22, r0
/* 803B72C0 003B2F20  80 06 03 44 */	lwz r0, 0x344(r6)
/* 803B72C4 003B2F24  64 00 10 00 */	oris r0, r0, 0x1000
/* 803B72C8 003B2F28  90 06 03 44 */	stw r0, 0x344(r6)
/* 803B72CC 003B2F2C  48 00 37 09 */	bl func_803BA9D4
/* 803B72D0 003B2F30  93 76 00 08 */	stw r27, 8(r22)
/* 803B72D4 003B2F34  3B 00 00 01 */	li r24, 1
/* 803B72D8 003B2F38  93 56 00 0C */	stw r26, 0xc(r22)
lbl_803B72DC:
/* 803B72DC 003B2F3C  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B72E0 003B2F40  38 03 00 01 */	addi r0, r3, 1
/* 803B72E4 003B2F44  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B72E8 003B2F48  48 00 01 48 */	b lbl_803B7430
/* 803B72EC 003B2F4C  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B72F0 003B2F50  38 64 00 01 */	addi r3, r4, 1
/* 803B72F4 003B2F54  90 76 00 50 */	stw r3, 0x50(r22)
/* 803B72F8 003B2F58  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B72FC 003B2F5C  7C 96 02 14 */	add r4, r22, r0
/* 803B7300 003B2F60  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B7304 003B2F64  54 60 05 AF */	rlwinm. r0, r3, 0, 0x16, 0x17
/* 803B7308 003B2F68  41 82 01 28 */	beq lbl_803B7430
/* 803B730C 003B2F6C  38 03 FF 00 */	addi r0, r3, -256
/* 803B7310 003B2F70  90 04 2D B0 */	stw r0, 0x2db0(r4)
/* 803B7314 003B2F74  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B7318 003B2F78  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803B731C 003B2F7C  7C 76 02 14 */	add r3, r22, r0
/* 803B7320 003B2F80  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B7324 003B2F84  54 00 05 AF */	rlwinm. r0, r0, 0, 0x16, 0x17
/* 803B7328 003B2F88  40 82 00 84 */	bne lbl_803B73AC
/* 803B732C 003B2F8C  54 A0 10 3A */	slwi r0, r5, 2
/* 803B7330 003B2F90  7C 76 02 14 */	add r3, r22, r0
/* 803B7334 003B2F94  80 03 30 E4 */	lwz r0, 0x30e4(r3)
/* 803B7338 003B2F98  2C 00 00 00 */	cmpwi r0, 0
/* 803B733C 003B2F9C  41 82 00 70 */	beq lbl_803B73AC
/* 803B7340 003B2FA0  54 00 08 3C */	slwi r0, r0, 1
/* 803B7344 003B2FA4  90 16 21 44 */	stw r0, 0x2144(r22)
/* 803B7348 003B2FA8  80 83 30 F4 */	lwz r4, 0x30f4(r3)
/* 803B734C 003B2FAC  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803B7350 003B2FB0  7C 76 02 14 */	add r3, r22, r0
/* 803B7354 003B2FB4  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B7358 003B2FB8  2C 00 00 00 */	cmpwi r0, 0
/* 803B735C 003B2FBC  41 82 00 0C */	beq lbl_803B7368
/* 803B7360 003B2FC0  90 96 00 6C */	stw r4, 0x6c(r22)
/* 803B7364 003B2FC4  48 00 00 48 */	b lbl_803B73AC
lbl_803B7368:
/* 803B7368 003B2FC8  7E A3 AB 78 */	mr r3, r21
/* 803B736C 003B2FCC  7E C4 B3 78 */	mr r4, r22
/* 803B7370 003B2FD0  48 00 A7 DD */	bl func_803C1B4C
/* 803B7374 003B2FD4  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803B7378 003B2FD8  90 76 00 6C */	stw r3, 0x6c(r22)
/* 803B737C 003B2FDC  7C 76 02 14 */	add r3, r22, r0
/* 803B7380 003B2FE0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B7384 003B2FE4  2C 00 00 00 */	cmpwi r0, 0
/* 803B7388 003B2FE8  40 82 00 24 */	bne lbl_803B73AC
/* 803B738C 003B2FEC  7E C3 B3 78 */	mr r3, r22
/* 803B7390 003B2FF0  38 80 00 02 */	li r4, 2
/* 803B7394 003B2FF4  38 A0 01 1A */	li r5, 0x11a
/* 803B7398 003B2FF8  48 00 36 3D */	bl func_803BA9D4
/* 803B739C 003B2FFC  93 56 00 0C */	stw r26, 0xc(r22)
/* 803B73A0 003B3000  3B 00 00 02 */	li r24, 2
/* 803B73A4 003B3004  93 76 00 08 */	stw r27, 8(r22)
/* 803B73A8 003B3008  48 00 00 88 */	b lbl_803B7430
lbl_803B73AC:
/* 803B73AC 003B300C  7E C3 B3 78 */	mr r3, r22
/* 803B73B0 003B3010  38 80 00 02 */	li r4, 2
/* 803B73B4 003B3014  38 A0 00 24 */	li r5, 0x24
/* 803B73B8 003B3018  48 00 36 1D */	bl func_803BA9D4
/* 803B73BC 003B301C  80 16 00 08 */	lwz r0, 8(r22)
/* 803B73C0 003B3020  3B 00 00 02 */	li r24, 2
/* 803B73C4 003B3024  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B73C8 003B3028  93 76 00 08 */	stw r27, 8(r22)
/* 803B73CC 003B302C  48 00 00 64 */	b lbl_803B7430
/* 803B73D0 003B3030  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B73D4 003B3034  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B73D8 003B3038  7C 76 02 14 */	add r3, r22, r0
/* 803B73DC 003B303C  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B73E0 003B3040  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B73E4 003B3044  41 82 00 34 */	beq lbl_803B7418
/* 803B73E8 003B3048  2C 17 00 7D */	cmpwi r23, 0x7d
/* 803B73EC 003B304C  41 82 00 0C */	beq lbl_803B73F8
/* 803B73F0 003B3050  2C 17 00 FD */	cmpwi r23, 0xfd
/* 803B73F4 003B3054  40 82 00 24 */	bne lbl_803B7418
lbl_803B73F8:
/* 803B73F8 003B3058  7E C3 B3 78 */	mr r3, r22
/* 803B73FC 003B305C  38 80 00 02 */	li r4, 2
/* 803B7400 003B3060  38 A0 00 1E */	li r5, 0x1e
/* 803B7404 003B3064  48 00 35 D1 */	bl func_803BA9D4
/* 803B7408 003B3068  80 16 00 08 */	lwz r0, 8(r22)
/* 803B740C 003B306C  3B 00 00 02 */	li r24, 2
/* 803B7410 003B3070  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B7414 003B3074  93 76 00 08 */	stw r27, 8(r22)
lbl_803B7418:
/* 803B7418 003B3078  80 76 00 50 */	lwz r3, 0x50(r22)
/* 803B741C 003B307C  38 03 00 01 */	addi r0, r3, 1
/* 803B7420 003B3080  90 16 00 50 */	stw r0, 0x50(r22)
/* 803B7424 003B3084  48 00 00 0C */	b lbl_803B7430
/* 803B7428 003B3088  92 96 00 50 */	stw r20, 0x50(r22)
/* 803B742C 003B308C  3B 00 00 03 */	li r24, 3
lbl_803B7430:
/* 803B7430 003B3090  2C 18 00 00 */	cmpwi r24, 0
/* 803B7434 003B3094  41 82 F7 28 */	beq lbl_803B6B5C
/* 803B7438 003B3098  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B743C 003B309C  7E A3 AB 78 */	mr r3, r21
/* 803B7440 003B30A0  7E C4 B3 78 */	mr r4, r22
/* 803B7444 003B30A4  48 00 5F 31 */	bl func_803BD374
/* 803B7448 003B30A8  2C 18 00 01 */	cmpwi r24, 1
/* 803B744C 003B30AC  40 82 00 1C */	bne lbl_803B7468
/* 803B7450 003B30B0  80 76 21 3C */	lwz r3, 0x213c(r22)
/* 803B7454 003B30B4  80 16 21 6C */	lwz r0, 0x216c(r22)
/* 803B7458 003B30B8  60 63 00 02 */	ori r3, r3, 2
/* 803B745C 003B30BC  64 00 80 00 */	oris r0, r0, 0x8000
/* 803B7460 003B30C0  90 76 21 3C */	stw r3, 0x213c(r22)
/* 803B7464 003B30C4  90 16 21 6C */	stw r0, 0x216c(r22)
lbl_803B7468:
/* 803B7468 003B30C8  38 78 FF FD */	addi r3, r24, -3
/* 803B746C 003B30CC  30 03 FF FF */	addic r0, r3, -1
/* 803B7470 003B30D0  7C 00 19 10 */	subfe r0, r0, r3
/* 803B7474 003B30D4  2C 00 00 01 */	cmpwi r0, 1
/* 803B7478 003B30D8  41 82 05 28 */	beq lbl_803B79A0
lbl_803B747C:
/* 803B747C 003B30DC  80 76 00 48 */	lwz r3, 0x48(r22)
/* 803B7480 003B30E0  38 03 00 01 */	addi r0, r3, 1
/* 803B7484 003B30E4  90 16 00 48 */	stw r0, 0x48(r22)
/* 803B7488 003B30E8  80 16 21 84 */	lwz r0, 0x2184(r22)
/* 803B748C 003B30EC  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803B7490 003B30F0  40 82 00 18 */	bne lbl_803B74A8
/* 803B7494 003B30F4  7E A3 AB 78 */	mr r3, r21
/* 803B7498 003B30F8  4B FF 53 A9 */	bl func_803AC840
/* 803B749C 003B30FC  7E A3 AB 78 */	mr r3, r21
/* 803B74A0 003B3100  38 80 00 00 */	li r4, 0
/* 803B74A4 003B3104  4B FF 57 29 */	bl func_803ACBCC
lbl_803B74A8:
/* 803B74A8 003B3108  80 76 00 48 */	lwz r3, 0x48(r22)
/* 803B74AC 003B310C  38 03 00 01 */	addi r0, r3, 1
/* 803B74B0 003B3110  90 16 00 48 */	stw r0, 0x48(r22)
/* 803B74B4 003B3114  80 16 21 84 */	lwz r0, 0x2184(r22)
/* 803B74B8 003B3118  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803B74BC 003B311C  40 82 02 28 */	bne lbl_803B76E4
/* 803B74C0 003B3120  80 D6 00 64 */	lwz r6, 0x64(r22)
/* 803B74C4 003B3124  3A E0 00 01 */	li r23, 1
/* 803B74C8 003B3128  1C 06 00 1C */	mulli r0, r6, 0x1c
/* 803B74CC 003B312C  7C 76 02 14 */	add r3, r22, r0
/* 803B74D0 003B3130  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803B74D4 003B3134  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803B74D8 003B3138  40 82 00 FC */	bne lbl_803B75D4
/* 803B74DC 003B313C  80 96 00 6C */	lwz r4, 0x6c(r22)
/* 803B74E0 003B3140  2C 04 00 FF */	cmpwi r4, 0xff
/* 803B74E4 003B3144  41 82 00 F0 */	beq lbl_803B75D4
/* 803B74E8 003B3148  80 16 30 40 */	lwz r0, 0x3040(r22)
/* 803B74EC 003B314C  28 00 01 1E */	cmplwi r0, 0x11e
/* 803B74F0 003B3150  40 82 00 20 */	bne lbl_803B7510
/* 803B74F4 003B3154  7E A3 AB 78 */	mr r3, r21
/* 803B74F8 003B3158  7E C4 B3 78 */	mr r4, r22
/* 803B74FC 003B315C  38 A0 00 03 */	li r5, 3
/* 803B7500 003B3160  38 E0 00 2E */	li r7, 0x2e
/* 803B7504 003B3164  48 00 7E 7D */	bl func_803BF380
/* 803B7508 003B3168  3A E3 00 01 */	addi r23, r3, 1
/* 803B750C 003B316C  48 00 00 C8 */	b lbl_803B75D4
lbl_803B7510:
/* 803B7510 003B3170  54 00 20 36 */	slwi r0, r0, 4
/* 803B7514 003B3174  7C 76 02 14 */	add r3, r22, r0
/* 803B7518 003B3178  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803B751C 003B317C  2C 00 00 40 */	cmpwi r0, 0x40
/* 803B7520 003B3180  41 82 00 5C */	beq lbl_803B757C
/* 803B7524 003B3184  40 80 00 34 */	bge lbl_803B7558
/* 803B7528 003B3188  2C 00 00 10 */	cmpwi r0, 0x10
/* 803B752C 003B318C  41 82 00 A8 */	beq lbl_803B75D4
/* 803B7530 003B3190  40 80 00 1C */	bge lbl_803B754C
/* 803B7534 003B3194  2C 00 00 08 */	cmpwi r0, 8
/* 803B7538 003B3198  41 82 00 44 */	beq lbl_803B757C
/* 803B753C 003B319C  40 80 00 78 */	bge lbl_803B75B4
/* 803B7540 003B31A0  2C 00 00 04 */	cmpwi r0, 4
/* 803B7544 003B31A4  41 82 00 54 */	beq lbl_803B7598
/* 803B7548 003B31A8  48 00 00 6C */	b lbl_803B75B4
lbl_803B754C:
/* 803B754C 003B31AC  2C 00 00 20 */	cmpwi r0, 0x20
/* 803B7550 003B31B0  41 82 00 84 */	beq lbl_803B75D4
/* 803B7554 003B31B4  48 00 00 60 */	b lbl_803B75B4
lbl_803B7558:
/* 803B7558 003B31B8  2C 00 01 00 */	cmpwi r0, 0x100
/* 803B755C 003B31BC  41 82 00 78 */	beq lbl_803B75D4
/* 803B7560 003B31C0  40 80 00 10 */	bge lbl_803B7570
/* 803B7564 003B31C4  2C 00 00 80 */	cmpwi r0, 0x80
/* 803B7568 003B31C8  41 82 00 30 */	beq lbl_803B7598
/* 803B756C 003B31CC  48 00 00 48 */	b lbl_803B75B4
lbl_803B7570:
/* 803B7570 003B31D0  2C 00 02 00 */	cmpwi r0, 0x200
/* 803B7574 003B31D4  41 82 00 60 */	beq lbl_803B75D4
/* 803B7578 003B31D8  48 00 00 3C */	b lbl_803B75B4
lbl_803B757C:
/* 803B757C 003B31DC  7E A3 AB 78 */	mr r3, r21
/* 803B7580 003B31E0  7E C4 B3 78 */	mr r4, r22
/* 803B7584 003B31E4  38 A0 00 09 */	li r5, 9
/* 803B7588 003B31E8  38 E0 00 2E */	li r7, 0x2e
/* 803B758C 003B31EC  48 00 7D F5 */	bl func_803BF380
/* 803B7590 003B31F0  3A E3 00 01 */	addi r23, r3, 1
/* 803B7594 003B31F4  48 00 00 40 */	b lbl_803B75D4
lbl_803B7598:
/* 803B7598 003B31F8  7E A3 AB 78 */	mr r3, r21
/* 803B759C 003B31FC  7E C4 B3 78 */	mr r4, r22
/* 803B75A0 003B3200  38 A0 00 03 */	li r5, 3
/* 803B75A4 003B3204  38 E0 00 2E */	li r7, 0x2e
/* 803B75A8 003B3208  48 00 7D D9 */	bl func_803BF380
/* 803B75AC 003B320C  3A E3 00 01 */	addi r23, r3, 1
/* 803B75B0 003B3210  48 00 00 24 */	b lbl_803B75D4
lbl_803B75B4:
/* 803B75B4 003B3214  7C 06 20 00 */	cmpw r6, r4
/* 803B75B8 003B3218  41 82 00 1C */	beq lbl_803B75D4
/* 803B75BC 003B321C  7E C3 B3 78 */	mr r3, r22
/* 803B75C0 003B3220  48 00 85 59 */	bl func_803BFB18
/* 803B75C4 003B3224  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B75C8 003B3228  28 00 00 2E */	cmplwi r0, 0x2e
/* 803B75CC 003B322C  40 82 00 08 */	bne lbl_803B75D4
/* 803B75D0 003B3230  3A E0 00 02 */	li r23, 2
lbl_803B75D4:
/* 803B75D4 003B3234  80 76 00 64 */	lwz r3, 0x64(r22)
/* 803B75D8 003B3238  80 16 30 40 */	lwz r0, 0x3040(r22)
/* 803B75DC 003B323C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803B75E0 003B3240  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803B75E4 003B3244  7C 76 1A 14 */	add r3, r22, r3
/* 803B75E8 003B3248  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803B75EC 003B324C  48 00 71 41 */	bl func_803BE72C
/* 803B75F0 003B3250  80 D6 00 64 */	lwz r6, 0x64(r22)
/* 803B75F4 003B3254  7C 7F 1B 78 */	mr r31, r3
/* 803B75F8 003B3258  54 C0 30 32 */	slwi r0, r6, 6
/* 803B75FC 003B325C  7C B6 02 14 */	add r5, r22, r0
/* 803B7600 003B3260  80 85 01 D4 */	lwz r4, 0x1d4(r5)
/* 803B7604 003B3264  54 80 17 FF */	rlwinm. r0, r4, 2, 0x1f, 0x1f
/* 803B7608 003B3268  40 82 00 78 */	bne lbl_803B7680
/* 803B760C 003B326C  54 80 0F FF */	rlwinm. r0, r4, 1, 0x1f, 0x1f
/* 803B7610 003B3270  40 82 00 70 */	bne lbl_803B7680
/* 803B7614 003B3274  64 80 40 00 */	oris r0, r4, 0x4000
/* 803B7618 003B3278  90 05 01 D4 */	stw r0, 0x1d4(r5)
/* 803B761C 003B327C  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7620 003B3280  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B7624 003B3284  7C 16 02 14 */	add r0, r22, r0
/* 803B7628 003B3288  7C 80 1A 14 */	add r4, r0, r3
/* 803B762C 003B328C  88 04 2D 6C */	lbz r0, 0x2d6c(r4)
/* 803B7630 003B3290  2C 00 00 00 */	cmpwi r0, 0
/* 803B7634 003B3294  41 82 00 3C */	beq lbl_803B7670
/* 803B7638 003B3298  2C 03 00 04 */	cmpwi r3, 4
/* 803B763C 003B329C  40 80 00 34 */	bge lbl_803B7670
/* 803B7640 003B32A0  7C 00 B8 00 */	cmpw r0, r23
/* 803B7644 003B32A4  40 81 00 10 */	ble lbl_803B7654
/* 803B7648 003B32A8  7C 17 00 50 */	subf r0, r23, r0
/* 803B764C 003B32AC  98 04 2D 6C */	stb r0, 0x2d6c(r4)
/* 803B7650 003B32B0  48 00 00 0C */	b lbl_803B765C
lbl_803B7654:
/* 803B7654 003B32B4  38 00 00 00 */	li r0, 0
/* 803B7658 003B32B8  98 04 2D 6C */	stb r0, 0x2d6c(r4)
lbl_803B765C:
/* 803B765C 003B32BC  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B7660 003B32C0  7E A3 AB 78 */	mr r3, r21
/* 803B7664 003B32C4  7E C4 B3 78 */	mr r4, r22
/* 803B7668 003B32C8  48 00 5D 0D */	bl func_803BD374
/* 803B766C 003B32CC  48 00 00 78 */	b lbl_803B76E4
lbl_803B7670:
/* 803B7670 003B32D0  80 16 21 6C */	lwz r0, 0x216c(r22)
/* 803B7674 003B32D4  60 00 02 00 */	ori r0, r0, 0x200
/* 803B7678 003B32D8  90 16 21 6C */	stw r0, 0x216c(r22)
/* 803B767C 003B32DC  48 00 00 68 */	b lbl_803B76E4
lbl_803B7680:
/* 803B7680 003B32E0  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803B7684 003B32E4  7C 96 02 14 */	add r4, r22, r0
/* 803B7688 003B32E8  7C 64 1A 14 */	add r3, r4, r3
/* 803B768C 003B32EC  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803B7690 003B32F0  2C 00 00 00 */	cmpwi r0, 0
/* 803B7694 003B32F4  40 82 00 50 */	bne lbl_803B76E4
/* 803B7698 003B32F8  80 16 21 3C */	lwz r0, 0x213c(r22)
/* 803B769C 003B32FC  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803B76A0 003B3300  40 82 00 44 */	bne lbl_803B76E4
/* 803B76A4 003B3304  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B76A8 003B3308  54 60 04 E7 */	rlwinm. r0, r3, 0, 0x13, 0x13
/* 803B76AC 003B330C  40 82 00 38 */	bne lbl_803B76E4
/* 803B76B0 003B3310  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803B76B4 003B3314  40 82 00 30 */	bne lbl_803B76E4
/* 803B76B8 003B3318  7C C3 33 78 */	mr r3, r6
/* 803B76BC 003B331C  48 02 62 65 */	bl func_803DD920
/* 803B76C0 003B3320  80 16 01 80 */	lwz r0, 0x180(r22)
/* 803B76C4 003B3324  54 63 40 2E */	slwi r3, r3, 8
/* 803B76C8 003B3328  7C 00 18 39 */	and. r0, r0, r3
/* 803B76CC 003B332C  40 82 00 18 */	bne lbl_803B76E4
/* 803B76D0 003B3330  2C 1F 00 04 */	cmpwi r31, 4
/* 803B76D4 003B3334  40 80 00 10 */	bge lbl_803B76E4
/* 803B76D8 003B3338  80 16 21 6C */	lwz r0, 0x216c(r22)
/* 803B76DC 003B333C  60 00 02 00 */	ori r0, r0, 0x200
/* 803B76E0 003B3340  90 16 21 6C */	stw r0, 0x216c(r22)
lbl_803B76E4:
/* 803B76E4 003B3344  80 76 00 48 */	lwz r3, 0x48(r22)
/* 803B76E8 003B3348  38 03 00 01 */	addi r0, r3, 1
/* 803B76EC 003B334C  90 16 00 48 */	stw r0, 0x48(r22)
/* 803B76F0 003B3350  7E A3 AB 78 */	mr r3, r21
/* 803B76F4 003B3354  7E C4 B3 78 */	mr r4, r22
/* 803B76F8 003B3358  4B FF EB 7D */	bl func_803B6274
/* 803B76FC 003B335C  2C 03 00 01 */	cmpwi r3, 1
/* 803B7700 003B3360  41 82 02 A0 */	beq lbl_803B79A0
/* 803B7704 003B3364  80 76 00 48 */	lwz r3, 0x48(r22)
/* 803B7708 003B3368  38 03 00 01 */	addi r0, r3, 1
/* 803B770C 003B336C  90 16 00 48 */	stw r0, 0x48(r22)
/* 803B7710 003B3370  80 16 21 84 */	lwz r0, 0x2184(r22)
/* 803B7714 003B3374  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803B7718 003B3378  40 82 01 CC */	bne lbl_803B78E4
/* 803B771C 003B337C  7E A3 AB 78 */	mr r3, r21
/* 803B7720 003B3380  4B FF 51 41 */	bl func_803AC860
/* 803B7724 003B3384  80 D6 00 6C */	lwz r6, 0x6c(r22)
/* 803B7728 003B3388  2C 06 00 FF */	cmpwi r6, 0xff
/* 803B772C 003B338C  40 82 00 0C */	bne lbl_803B7738
/* 803B7730 003B3390  38 00 00 00 */	li r0, 0
/* 803B7734 003B3394  48 00 01 A8 */	b lbl_803B78DC
lbl_803B7738:
/* 803B7738 003B3398  3C 80 80 20 */	lis r4, 0x801FDA49@ha
/* 803B773C 003B339C  80 B6 21 6C */	lwz r5, 0x216c(r22)
/* 803B7740 003B33A0  38 04 DA 49 */	addi r0, r4, 0x801FDA49@l
/* 803B7744 003B33A4  7C A7 00 39 */	and. r7, r5, r0
/* 803B7748 003B33A8  40 82 00 AC */	bne lbl_803B77F4
/* 803B774C 003B33AC  54 C0 30 32 */	slwi r0, r6, 6
/* 803B7750 003B33B0  7C D6 02 14 */	add r6, r22, r0
/* 803B7754 003B33B4  80 A6 01 D4 */	lwz r5, 0x1d4(r6)
/* 803B7758 003B33B8  54 A0 2F FF */	rlwinm. r0, r5, 5, 0x1f, 0x1f
/* 803B775C 003B33BC  41 82 00 98 */	beq lbl_803B77F4
/* 803B7760 003B33C0  80 16 30 44 */	lwz r0, 0x3044(r22)
/* 803B7764 003B33C4  54 00 20 36 */	slwi r0, r0, 4
/* 803B7768 003B33C8  7C 96 02 14 */	add r4, r22, r0
/* 803B776C 003B33CC  88 04 03 E9 */	lbz r0, 0x3e9(r4)
/* 803B7770 003B33D0  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B7774 003B33D4  41 82 00 80 */	beq lbl_803B77F4
/* 803B7778 003B33D8  54 A0 01 46 */	rlwinm r0, r5, 0, 5, 3
/* 803B777C 003B33DC  38 E0 00 00 */	li r7, 0
/* 803B7780 003B33E0  90 06 01 D4 */	stw r0, 0x1d4(r6)
/* 803B7784 003B33E4  7E C3 B3 78 */	mr r3, r22
/* 803B7788 003B33E8  38 80 00 02 */	li r4, 2
/* 803B778C 003B33EC  38 A0 00 8B */	li r5, 0x8b
/* 803B7790 003B33F0  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7794 003B33F4  54 00 08 3C */	slwi r0, r0, 1
/* 803B7798 003B33F8  7C D6 02 14 */	add r6, r22, r0
/* 803B779C 003B33FC  B0 E6 30 5C */	sth r7, 0x305c(r6)
/* 803B77A0 003B3400  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B77A4 003B3404  80 F6 30 40 */	lwz r7, 0x3040(r22)
/* 803B77A8 003B3408  54 00 08 3C */	slwi r0, r0, 1
/* 803B77AC 003B340C  7C D6 02 14 */	add r6, r22, r0
/* 803B77B0 003B3410  B0 E6 30 7C */	sth r7, 0x307c(r6)
/* 803B77B4 003B3414  80 16 21 3C */	lwz r0, 0x213c(r22)
/* 803B77B8 003B3418  80 D6 30 40 */	lwz r6, 0x3040(r22)
/* 803B77BC 003B341C  64 00 00 10 */	oris r0, r0, 0x10
/* 803B77C0 003B3420  90 D6 30 48 */	stw r6, 0x3048(r22)
/* 803B77C4 003B3424  90 16 21 3C */	stw r0, 0x213c(r22)
/* 803B77C8 003B3428  48 00 32 0D */	bl func_803BA9D4
/* 803B77CC 003B342C  80 B6 00 08 */	lwz r5, 8(r22)
/* 803B77D0 003B3430  38 00 00 15 */	li r0, 0x15
/* 803B77D4 003B3434  80 96 00 6C */	lwz r4, 0x6c(r22)
/* 803B77D8 003B3438  7E C3 B3 78 */	mr r3, r22
/* 803B77DC 003B343C  90 B6 00 0C */	stw r5, 0xc(r22)
/* 803B77E0 003B3440  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B77E4 003B3444  90 16 00 08 */	stw r0, 8(r22)
/* 803B77E8 003B3448  48 01 13 E1 */	bl func_803C8BC8
/* 803B77EC 003B344C  38 00 00 01 */	li r0, 1
/* 803B77F0 003B3450  48 00 00 EC */	b lbl_803B78DC
lbl_803B77F4:
/* 803B77F4 003B3454  38 A0 00 00 */	li r5, 0
/* 803B77F8 003B3458  7C 69 03 A6 */	mtctr r3
/* 803B77FC 003B345C  2C 03 00 00 */	cmpwi r3, 0
/* 803B7800 003B3460  40 81 00 D8 */	ble lbl_803B78D8
lbl_803B7804:
/* 803B7804 003B3464  7C 76 2A 14 */	add r3, r22, r5
/* 803B7808 003B3468  2C 07 00 00 */	cmpwi r7, 0
/* 803B780C 003B346C  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803B7810 003B3470  40 82 00 C0 */	bne lbl_803B78D0
/* 803B7814 003B3474  56 E0 30 32 */	slwi r0, r23, 6
/* 803B7818 003B3478  7C 96 02 14 */	add r4, r22, r0
/* 803B781C 003B347C  80 04 01 D4 */	lwz r0, 0x1d4(r4)
/* 803B7820 003B3480  54 00 37 FF */	rlwinm. r0, r0, 6, 0x1f, 0x1f
/* 803B7824 003B3484  41 82 00 AC */	beq lbl_803B78D0
/* 803B7828 003B3488  80 16 30 44 */	lwz r0, 0x3044(r22)
/* 803B782C 003B348C  54 00 20 36 */	slwi r0, r0, 4
/* 803B7830 003B3490  7C 76 02 14 */	add r3, r22, r0
/* 803B7834 003B3494  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803B7838 003B3498  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803B783C 003B349C  41 82 00 94 */	beq lbl_803B78D0
/* 803B7840 003B34A0  92 F6 01 18 */	stw r23, 0x118(r22)
/* 803B7844 003B34A4  80 04 01 D4 */	lwz r0, 0x1d4(r4)
/* 803B7848 003B34A8  54 00 01 88 */	rlwinm r0, r0, 0, 6, 4
/* 803B784C 003B34AC  90 04 01 D4 */	stw r0, 0x1d4(r4)
/* 803B7850 003B34B0  80 16 21 3C */	lwz r0, 0x213c(r22)
/* 803B7854 003B34B4  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803B7858 003B34B8  40 82 00 40 */	bne lbl_803B7898
/* 803B785C 003B34BC  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7860 003B34C0  38 80 00 00 */	li r4, 0
/* 803B7864 003B34C4  54 00 08 3C */	slwi r0, r0, 1
/* 803B7868 003B34C8  7C 76 02 14 */	add r3, r22, r0
/* 803B786C 003B34CC  B0 83 30 5C */	sth r4, 0x305c(r3)
/* 803B7870 003B34D0  80 16 00 64 */	lwz r0, 0x64(r22)
/* 803B7874 003B34D4  80 96 30 40 */	lwz r4, 0x3040(r22)
/* 803B7878 003B34D8  54 00 08 3C */	slwi r0, r0, 1
/* 803B787C 003B34DC  7C 76 02 14 */	add r3, r22, r0
/* 803B7880 003B34E0  B0 83 30 7C */	sth r4, 0x307c(r3)
/* 803B7884 003B34E4  80 16 21 3C */	lwz r0, 0x213c(r22)
/* 803B7888 003B34E8  80 76 30 40 */	lwz r3, 0x3040(r22)
/* 803B788C 003B34EC  64 00 00 10 */	oris r0, r0, 0x10
/* 803B7890 003B34F0  90 76 30 48 */	stw r3, 0x3048(r22)
/* 803B7894 003B34F4  90 16 21 3C */	stw r0, 0x213c(r22)
lbl_803B7898:
/* 803B7898 003B34F8  7E C3 B3 78 */	mr r3, r22
/* 803B789C 003B34FC  38 80 00 02 */	li r4, 2
/* 803B78A0 003B3500  38 A0 00 92 */	li r5, 0x92
/* 803B78A4 003B3504  48 00 31 31 */	bl func_803BA9D4
/* 803B78A8 003B3508  80 96 00 08 */	lwz r4, 8(r22)
/* 803B78AC 003B350C  38 00 00 15 */	li r0, 0x15
/* 803B78B0 003B3510  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B78B4 003B3514  7E C3 B3 78 */	mr r3, r22
/* 803B78B8 003B3518  90 96 00 0C */	stw r4, 0xc(r22)
/* 803B78BC 003B351C  7E E4 BB 78 */	mr r4, r23
/* 803B78C0 003B3520  90 16 00 08 */	stw r0, 8(r22)
/* 803B78C4 003B3524  48 01 13 05 */	bl func_803C8BC8
/* 803B78C8 003B3528  38 00 00 01 */	li r0, 1
/* 803B78CC 003B352C  48 00 00 10 */	b lbl_803B78DC
lbl_803B78D0:
/* 803B78D0 003B3530  38 A5 00 01 */	addi r5, r5, 1
/* 803B78D4 003B3534  42 00 FF 30 */	bdnz lbl_803B7804
lbl_803B78D8:
/* 803B78D8 003B3538  38 00 00 00 */	li r0, 0
lbl_803B78DC:
/* 803B78DC 003B353C  2C 00 00 01 */	cmpwi r0, 1
/* 803B78E0 003B3540  41 82 00 C0 */	beq lbl_803B79A0
lbl_803B78E4:
/* 803B78E4 003B3544  80 76 00 48 */	lwz r3, 0x48(r22)
/* 803B78E8 003B3548  38 03 00 01 */	addi r0, r3, 1
/* 803B78EC 003B354C  90 16 00 48 */	stw r0, 0x48(r22)
/* 803B78F0 003B3550  80 16 30 44 */	lwz r0, 0x3044(r22)
/* 803B78F4 003B3554  7E A3 AB 78 */	mr r3, r21
/* 803B78F8 003B3558  80 B6 00 64 */	lwz r5, 0x64(r22)
/* 803B78FC 003B355C  7E C4 B3 78 */	mr r4, r22
/* 803B7900 003B3560  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 803B7904 003B3564  48 00 55 15 */	bl func_803BCE18
/* 803B7908 003B3568  38 00 00 00 */	li r0, 0
/* 803B790C 003B356C  90 16 00 48 */	stw r0, 0x48(r22)
lbl_803B7910:
/* 803B7910 003B3570  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803B7914 003B3574  80 96 21 6C */	lwz r4, 0x216c(r22)
/* 803B7918 003B3578  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803B791C 003B357C  7C 80 00 39 */	and. r0, r4, r0
/* 803B7920 003B3580  41 82 00 10 */	beq lbl_803B7930
/* 803B7924 003B3584  38 00 00 19 */	li r0, 0x19
/* 803B7928 003B3588  90 16 00 08 */	stw r0, 8(r22)
/* 803B792C 003B358C  48 00 00 3C */	b lbl_803B7968
lbl_803B7930:
/* 803B7930 003B3590  80 16 21 40 */	lwz r0, 0x2140(r22)
/* 803B7934 003B3594  7E C3 B3 78 */	mr r3, r22
/* 803B7938 003B3598  80 B6 30 44 */	lwz r5, 0x3044(r22)
/* 803B793C 003B359C  38 80 00 01 */	li r4, 1
/* 803B7940 003B35A0  60 00 00 40 */	ori r0, r0, 0x40
/* 803B7944 003B35A4  90 16 21 40 */	stw r0, 0x2140(r22)
/* 803B7948 003B35A8  48 00 30 8D */	bl func_803BA9D4
/* 803B794C 003B35AC  38 60 00 15 */	li r3, 0x15
/* 803B7950 003B35B0  38 00 00 17 */	li r0, 0x17
/* 803B7954 003B35B4  90 76 00 08 */	stw r3, 8(r22)
/* 803B7958 003B35B8  7E A3 AB 78 */	mr r3, r21
/* 803B795C 003B35BC  7E C4 B3 78 */	mr r4, r22
/* 803B7960 003B35C0  90 16 00 0C */	stw r0, 0xc(r22)
/* 803B7964 003B35C4  48 00 8C B1 */	bl func_803C0614
lbl_803B7968:
/* 803B7968 003B35C8  7E A3 AB 78 */	mr r3, r21
/* 803B796C 003B35CC  7E C4 B3 78 */	mr r4, r22
/* 803B7970 003B35D0  48 00 DE B9 */	bl func_803C5828
/* 803B7974 003B35D4  3C C0 80 49 */	lis r6, lbl_8048CDE8@ha
/* 803B7978 003B35D8  38 86 CD E8 */	addi r4, r6, lbl_8048CDE8@l
/* 803B797C 003B35DC  80 04 00 3C */	lwz r0, 0x3c(r4)
/* 803B7980 003B35E0  2C 00 00 00 */	cmpwi r0, 0
/* 803B7984 003B35E4  40 82 00 1C */	bne lbl_803B79A0
/* 803B7988 003B35E8  80 B6 30 44 */	lwz r5, 0x3044(r22)
/* 803B798C 003B35EC  38 00 00 01 */	li r0, 1
/* 803B7990 003B35F0  38 60 00 05 */	li r3, 5
/* 803B7994 003B35F4  90 A6 CD E8 */	stw r5, -0x3218(r6)
/* 803B7998 003B35F8  90 04 00 3C */	stw r0, 0x3c(r4)
/* 803B799C 003B35FC  4B DB 80 B1 */	bl func_8016FA4C
lbl_803B79A0:
/* 803B79A0 003B3600  39 61 00 40 */	addi r11, r1, 0x40
/* 803B79A4 003B3604  4B E0 F7 B5 */	bl _restgpr_20
/* 803B79A8 003B3608  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803B79AC 003B360C  7C 08 03 A6 */	mtlr r0
/* 803B79B0 003B3610  38 21 00 40 */	addi r1, r1, 0x40
/* 803B79B4 003B3614  4E 80 00 20 */	blr 
/* 803B79B8 003B3618  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B79BC 003B361C  7C 08 02 A6 */	mflr r0
/* 803B79C0 003B3620  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B79C4 003B3624  39 61 00 20 */	addi r11, r1, 0x20
/* 803B79C8 003B3628  4B E0 F7 5D */	bl _savegpr_26
/* 803B79CC 003B362C  80 C4 00 4C */	lwz r6, 0x4c(r4)
/* 803B79D0 003B3630  7C 7E 1B 78 */	mr r30, r3
/* 803B79D4 003B3634  7C 9F 23 78 */	mr r31, r4
/* 803B79D8 003B3638  28 06 00 06 */	cmplwi r6, 6
/* 803B79DC 003B363C  41 81 03 4C */	bgt lbl_803B7D28
/* 803B79E0 003B3640  3C A0 80 47 */	lis r5, lbl_80473478@ha
/* 803B79E4 003B3644  54 C0 10 3A */	slwi r0, r6, 2
/* 803B79E8 003B3648  38 A5 34 78 */	addi r5, r5, lbl_80473478@l
/* 803B79EC 003B364C  7C A5 00 2E */	lwzx r5, r5, r0
/* 803B79F0 003B3650  7C A9 03 A6 */	mtctr r5
/* 803B79F4 003B3654  4E 80 04 20 */	bctr 
/* 803B79F8 003B3658  38 06 00 01 */	addi r0, r6, 1
/* 803B79FC 003B365C  90 04 00 4C */	stw r0, 0x4c(r4)
/* 803B7A00 003B3660  4B FF E8 75 */	bl func_803B6274
/* 803B7A04 003B3664  2C 03 00 01 */	cmpwi r3, 1
/* 803B7A08 003B3668  41 82 03 28 */	beq lbl_803B7D30
/* 803B7A0C 003B366C  80 BF 00 4C */	lwz r5, 0x4c(r31)
/* 803B7A10 003B3670  7F C3 F3 78 */	mr r3, r30
/* 803B7A14 003B3674  7F E4 FB 78 */	mr r4, r31
/* 803B7A18 003B3678  38 05 00 01 */	addi r0, r5, 1
/* 803B7A1C 003B367C  90 1F 00 4C */	stw r0, 0x4c(r31)
/* 803B7A20 003B3680  48 00 58 59 */	bl func_803BD278
/* 803B7A24 003B3684  2C 03 00 01 */	cmpwi r3, 1
/* 803B7A28 003B3688  41 82 03 08 */	beq lbl_803B7D30
/* 803B7A2C 003B368C  80 1F 21 84 */	lwz r0, 0x2184(r31)
/* 803B7A30 003B3690  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B7A34 003B3694  40 82 00 2C */	bne lbl_803B7A60
/* 803B7A38 003B3698  80 DF 00 6C */	lwz r6, 0x6c(r31)
/* 803B7A3C 003B369C  2C 06 00 FF */	cmpwi r6, 0xff
/* 803B7A40 003B36A0  41 82 00 20 */	beq lbl_803B7A60
/* 803B7A44 003B36A4  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803B7A48 003B36A8  7F C3 F3 78 */	mr r3, r30
/* 803B7A4C 003B36AC  80 FF 30 44 */	lwz r7, 0x3044(r31)
/* 803B7A50 003B36B0  7F E4 FB 78 */	mr r4, r31
/* 803B7A54 003B36B4  4B FF E8 E1 */	bl func_803B6334
/* 803B7A58 003B36B8  2C 03 00 01 */	cmpwi r3, 1
/* 803B7A5C 003B36BC  41 82 02 D4 */	beq lbl_803B7D30
lbl_803B7A60:
/* 803B7A60 003B36C0  80 7F 00 4C */	lwz r3, 0x4c(r31)
/* 803B7A64 003B36C4  38 03 00 01 */	addi r0, r3, 1
/* 803B7A68 003B36C8  90 1F 00 4C */	stw r0, 0x4c(r31)
/* 803B7A6C 003B36CC  80 1F 21 84 */	lwz r0, 0x2184(r31)
/* 803B7A70 003B36D0  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B7A74 003B36D4  40 82 00 2C */	bne lbl_803B7AA0
/* 803B7A78 003B36D8  80 DF 00 6C */	lwz r6, 0x6c(r31)
/* 803B7A7C 003B36DC  2C 06 00 FF */	cmpwi r6, 0xff
/* 803B7A80 003B36E0  41 82 00 20 */	beq lbl_803B7AA0
/* 803B7A84 003B36E4  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803B7A88 003B36E8  7F C3 F3 78 */	mr r3, r30
/* 803B7A8C 003B36EC  80 FF 30 44 */	lwz r7, 0x3044(r31)
/* 803B7A90 003B36F0  7F E4 FB 78 */	mr r4, r31
/* 803B7A94 003B36F4  4B FF ED 41 */	bl func_803B67D4
/* 803B7A98 003B36F8  2C 03 00 01 */	cmpwi r3, 1
/* 803B7A9C 003B36FC  41 82 02 94 */	beq lbl_803B7D30
lbl_803B7AA0:
/* 803B7AA0 003B3700  80 7F 00 4C */	lwz r3, 0x4c(r31)
/* 803B7AA4 003B3704  38 03 00 01 */	addi r0, r3, 1
/* 803B7AA8 003B3708  90 1F 00 4C */	stw r0, 0x4c(r31)
/* 803B7AAC 003B370C  80 1F 21 84 */	lwz r0, 0x2184(r31)
/* 803B7AB0 003B3710  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803B7AB4 003B3714  40 82 00 9C */	bne lbl_803B7B50
/* 803B7AB8 003B3718  81 1F 00 6C */	lwz r8, 0x6c(r31)
/* 803B7ABC 003B371C  2C 08 00 FF */	cmpwi r8, 0xff
/* 803B7AC0 003B3720  41 82 00 90 */	beq lbl_803B7B50
/* 803B7AC4 003B3724  80 BF 30 44 */	lwz r5, 0x3044(r31)
/* 803B7AC8 003B3728  54 A0 20 36 */	slwi r0, r5, 4
/* 803B7ACC 003B372C  7C 7F 02 14 */	add r3, r31, r0
/* 803B7AD0 003B3730  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803B7AD4 003B3734  28 00 00 10 */	cmplwi r0, 0x10
/* 803B7AD8 003B3738  41 82 00 2C */	beq lbl_803B7B04
/* 803B7ADC 003B373C  28 00 00 20 */	cmplwi r0, 0x20
/* 803B7AE0 003B3740  41 82 00 24 */	beq lbl_803B7B04
/* 803B7AE4 003B3744  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803B7AE8 003B3748  2C 00 00 00 */	cmpwi r0, 0
/* 803B7AEC 003B374C  41 82 00 18 */	beq lbl_803B7B04
/* 803B7AF0 003B3750  80 7F 21 3C */	lwz r3, 0x213c(r31)
/* 803B7AF4 003B3754  54 60 04 21 */	rlwinm. r0, r3, 0, 0x10, 0x10
/* 803B7AF8 003B3758  40 82 00 0C */	bne lbl_803B7B04
/* 803B7AFC 003B375C  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803B7B00 003B3760  41 82 00 0C */	beq lbl_803B7B0C
lbl_803B7B04:
/* 803B7B04 003B3764  28 05 00 56 */	cmplwi r5, 0x56
/* 803B7B08 003B3768  40 82 00 48 */	bne lbl_803B7B50
lbl_803B7B0C:
/* 803B7B0C 003B376C  80 DF 21 60 */	lwz r6, 0x2160(r31)
/* 803B7B10 003B3770  7F C3 F3 78 */	mr r3, r30
/* 803B7B14 003B3774  80 FF 00 64 */	lwz r7, 0x64(r31)
/* 803B7B18 003B3778  7F E4 FB 78 */	mr r4, r31
/* 803B7B1C 003B377C  81 3F 21 44 */	lwz r9, 0x2144(r31)
/* 803B7B20 003B3780  39 5F 21 6C */	addi r10, r31, 0x216c
/* 803B7B24 003B3784  48 00 6D 8D */	bl func_803BE8B0
/* 803B7B28 003B3788  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803B7B2C 003B378C  90 7F 21 44 */	stw r3, 0x2144(r31)
/* 803B7B30 003B3790  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803B7B34 003B3794  41 82 00 1C */	beq lbl_803B7B50
/* 803B7B38 003B3798  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B7B3C 003B379C  54 00 10 3A */	slwi r0, r0, 2
/* 803B7B40 003B37A0  7C 7F 02 14 */	add r3, r31, r0
/* 803B7B44 003B37A4  80 03 03 44 */	lwz r0, 0x344(r3)
/* 803B7B48 003B37A8  64 00 40 00 */	oris r0, r0, 0x4000
/* 803B7B4C 003B37AC  90 03 03 44 */	stw r0, 0x344(r3)
lbl_803B7B50:
/* 803B7B50 003B37B0  80 7F 00 4C */	lwz r3, 0x4c(r31)
/* 803B7B54 003B37B4  38 03 00 01 */	addi r0, r3, 1
/* 803B7B58 003B37B8  90 1F 00 4C */	stw r0, 0x4c(r31)
/* 803B7B5C 003B37BC  80 1F 21 84 */	lwz r0, 0x2184(r31)
/* 803B7B60 003B37C0  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B7B64 003B37C4  40 82 00 CC */	bne lbl_803B7C30
/* 803B7B68 003B37C8  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803B7B6C 003B37CC  2C 00 00 FF */	cmpwi r0, 0xff
/* 803B7B70 003B37D0  41 82 00 C0 */	beq lbl_803B7C30
/* 803B7B74 003B37D4  3B 40 00 00 */	li r26, 0
/* 803B7B78 003B37D8  3F 60 00 20 */	lis r27, 0x20
/* 803B7B7C 003B37DC  3B 80 00 15 */	li r28, 0x15
/* 803B7B80 003B37E0  3B A0 00 00 */	li r29, 0
lbl_803B7B84:
/* 803B7B84 003B37E4  80 1F 00 54 */	lwz r0, 0x54(r31)
/* 803B7B88 003B37E8  2C 00 00 01 */	cmpwi r0, 1
/* 803B7B8C 003B37EC  41 82 00 80 */	beq lbl_803B7C0C
/* 803B7B90 003B37F0  40 80 00 84 */	bge lbl_803B7C14
/* 803B7B94 003B37F4  2C 00 00 00 */	cmpwi r0, 0
/* 803B7B98 003B37F8  40 80 00 08 */	bge lbl_803B7BA0
/* 803B7B9C 003B37FC  48 00 00 78 */	b lbl_803B7C14
lbl_803B7BA0:
/* 803B7BA0 003B3800  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803B7BA4 003B3804  7F E3 FB 78 */	mr r3, r31
/* 803B7BA8 003B3808  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803B7BAC 003B380C  48 00 8B 6D */	bl func_803C0718
/* 803B7BB0 003B3810  2C 03 00 00 */	cmpwi r3, 0
/* 803B7BB4 003B3814  7C 65 1B 78 */	mr r5, r3
/* 803B7BB8 003B3818  41 82 00 14 */	beq lbl_803B7BCC
/* 803B7BBC 003B381C  80 9F 21 6C */	lwz r4, 0x216c(r31)
/* 803B7BC0 003B3820  38 1B D8 49 */	addi r0, r27, -10167
/* 803B7BC4 003B3824  7C 80 00 39 */	and. r0, r4, r0
/* 803B7BC8 003B3828  41 82 00 0C */	beq lbl_803B7BD4
lbl_803B7BCC:
/* 803B7BCC 003B382C  2C 03 00 B5 */	cmpwi r3, 0xb5
/* 803B7BD0 003B3830  40 82 00 2C */	bne lbl_803B7BFC
lbl_803B7BD4:
/* 803B7BD4 003B3834  7F E3 FB 78 */	mr r3, r31
/* 803B7BD8 003B3838  38 80 00 02 */	li r4, 2
/* 803B7BDC 003B383C  48 00 2D F9 */	bl func_803BA9D4
/* 803B7BE0 003B3840  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803B7BE4 003B3844  3B 40 00 01 */	li r26, 1
/* 803B7BE8 003B3848  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B7BEC 003B384C  64 00 80 00 */	oris r0, r0, 0x8000
/* 803B7BF0 003B3850  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B7BF4 003B3854  93 9F 00 08 */	stw r28, 8(r31)
/* 803B7BF8 003B3858  90 1F 21 6C */	stw r0, 0x216c(r31)
lbl_803B7BFC:
/* 803B7BFC 003B385C  80 7F 00 54 */	lwz r3, 0x54(r31)
/* 803B7C00 003B3860  38 03 00 01 */	addi r0, r3, 1
/* 803B7C04 003B3864  90 1F 00 54 */	stw r0, 0x54(r31)
/* 803B7C08 003B3868  48 00 00 0C */	b lbl_803B7C14
lbl_803B7C0C:
/* 803B7C0C 003B386C  93 BF 00 54 */	stw r29, 0x54(r31)
/* 803B7C10 003B3870  3B 40 00 02 */	li r26, 2
lbl_803B7C14:
/* 803B7C14 003B3874  2C 1A 00 00 */	cmpwi r26, 0
/* 803B7C18 003B3878  41 82 FF 6C */	beq lbl_803B7B84
/* 803B7C1C 003B387C  38 7A FF FE */	addi r3, r26, -2
/* 803B7C20 003B3880  30 03 FF FF */	addic r0, r3, -1
/* 803B7C24 003B3884  7C 00 19 10 */	subfe r0, r0, r3
/* 803B7C28 003B3888  2C 00 00 01 */	cmpwi r0, 1
/* 803B7C2C 003B388C  41 82 01 04 */	beq lbl_803B7D30
lbl_803B7C30:
/* 803B7C30 003B3890  7F C3 F3 78 */	mr r3, r30
/* 803B7C34 003B3894  4B FF 78 09 */	bl func_803AF43C
/* 803B7C38 003B3898  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803B7C3C 003B389C  41 82 00 D8 */	beq lbl_803B7D14
/* 803B7C40 003B38A0  80 7F 30 44 */	lwz r3, 0x3044(r31)
/* 803B7C44 003B38A4  38 03 FF 3E */	addi r0, r3, -194
/* 803B7C48 003B38A8  28 00 00 01 */	cmplwi r0, 1
/* 803B7C4C 003B38AC  41 81 00 C8 */	bgt lbl_803B7D14
/* 803B7C50 003B38B0  3C 60 00 20 */	lis r3, 0x001FD849@ha
/* 803B7C54 003B38B4  80 9F 21 6C */	lwz r4, 0x216c(r31)
/* 803B7C58 003B38B8  38 03 D8 49 */	addi r0, r3, 0x001FD849@l
/* 803B7C5C 003B38BC  7C 80 00 39 */	and. r0, r4, r0
/* 803B7C60 003B38C0  40 82 00 B4 */	bne lbl_803B7D14
/* 803B7C64 003B38C4  7F C3 F3 78 */	mr r3, r30
/* 803B7C68 003B38C8  4B FF 4B D9 */	bl func_803AC840
/* 803B7C6C 003B38CC  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803B7C70 003B38D0  40 82 00 A4 */	bne lbl_803B7D14
/* 803B7C74 003B38D4  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B7C78 003B38D8  7F C3 F3 78 */	mr r3, r30
/* 803B7C7C 003B38DC  3B 80 00 00 */	li r28, 0
/* 803B7C80 003B38E0  54 04 07 FE */	clrlwi r4, r0, 0x1f
/* 803B7C84 003B38E4  4B FF 4B E5 */	bl func_803AC868
/* 803B7C88 003B38E8  7C 7A 1B 78 */	mr r26, r3
/* 803B7C8C 003B38EC  3B A0 00 00 */	li r29, 0
/* 803B7C90 003B38F0  48 00 00 60 */	b lbl_803B7CF0
lbl_803B7C94:
/* 803B7C94 003B38F4  7F 43 D3 78 */	mr r3, r26
/* 803B7C98 003B38F8  7F A4 EB 78 */	mr r4, r29
/* 803B7C9C 003B38FC  48 02 6C B1 */	bl func_803DE94C
/* 803B7CA0 003B3900  7C 7B 1B 78 */	mr r27, r3
/* 803B7CA4 003B3904  38 80 00 AD */	li r4, 0xad
/* 803B7CA8 003B3908  38 A0 00 00 */	li r5, 0
/* 803B7CAC 003B390C  48 02 5D 31 */	bl func_803DD9DC
/* 803B7CB0 003B3910  2C 03 00 00 */	cmpwi r3, 0
/* 803B7CB4 003B3914  41 82 00 38 */	beq lbl_803B7CEC
/* 803B7CB8 003B3918  7F 63 DB 78 */	mr r3, r27
/* 803B7CBC 003B391C  38 80 00 AD */	li r4, 0xad
/* 803B7CC0 003B3920  38 A0 00 00 */	li r5, 0
/* 803B7CC4 003B3924  48 02 5D 19 */	bl func_803DD9DC
/* 803B7CC8 003B3928  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B7CCC 003B392C  41 82 00 20 */	beq lbl_803B7CEC
/* 803B7CD0 003B3930  7F 63 DB 78 */	mr r3, r27
/* 803B7CD4 003B3934  38 80 00 A2 */	li r4, 0xa2
/* 803B7CD8 003B3938  38 A0 00 00 */	li r5, 0
/* 803B7CDC 003B393C  48 02 5D 01 */	bl func_803DD9DC
/* 803B7CE0 003B3940  2C 03 00 00 */	cmpwi r3, 0
/* 803B7CE4 003B3944  41 82 00 08 */	beq lbl_803B7CEC
/* 803B7CE8 003B3948  3B 9C 00 01 */	addi r28, r28, 1
lbl_803B7CEC:
/* 803B7CEC 003B394C  3B BD 00 01 */	addi r29, r29, 1
lbl_803B7CF0:
/* 803B7CF0 003B3950  7F 43 D3 78 */	mr r3, r26
/* 803B7CF4 003B3954  48 02 6C 51 */	bl func_803DE944
/* 803B7CF8 003B3958  7C 1D 18 00 */	cmpw r29, r3
/* 803B7CFC 003B395C  41 80 FF 98 */	blt lbl_803B7C94
/* 803B7D00 003B3960  2C 1C 00 01 */	cmpwi r28, 1
/* 803B7D04 003B3964  40 82 00 10 */	bne lbl_803B7D14
/* 803B7D08 003B3968  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803B7D0C 003B396C  60 00 00 40 */	ori r0, r0, 0x40
/* 803B7D10 003B3970  90 1F 21 6C */	stw r0, 0x216c(r31)
lbl_803B7D14:
/* 803B7D14 003B3974  80 7F 00 4C */	lwz r3, 0x4c(r31)
/* 803B7D18 003B3978  38 03 00 01 */	addi r0, r3, 1
/* 803B7D1C 003B397C  90 1F 00 4C */	stw r0, 0x4c(r31)
/* 803B7D20 003B3980  38 00 00 00 */	li r0, 0
/* 803B7D24 003B3984  90 1F 00 4C */	stw r0, 0x4c(r31)
lbl_803B7D28:
/* 803B7D28 003B3988  38 00 00 18 */	li r0, 0x18
/* 803B7D2C 003B398C  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B7D30:
/* 803B7D30 003B3990  39 61 00 20 */	addi r11, r1, 0x20
/* 803B7D34 003B3994  4B E0 F4 3D */	bl _restgpr_26
/* 803B7D38 003B3998  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B7D3C 003B399C  7C 08 03 A6 */	mtlr r0
/* 803B7D40 003B39A0  38 21 00 20 */	addi r1, r1, 0x20
/* 803B7D44 003B39A4  4E 80 00 20 */	blr 
/* 803B7D48 003B39A8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B7D4C 003B39AC  7C 08 02 A6 */	mflr r0
/* 803B7D50 003B39B0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B7D54 003B39B4  38 A1 00 08 */	addi r5, r1, 8
/* 803B7D58 003B39B8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B7D5C 003B39BC  7C 9F 23 78 */	mr r31, r4
/* 803B7D60 003B39C0  48 00 47 C1 */	bl func_803BC520
/* 803B7D64 003B39C4  2C 03 00 01 */	cmpwi r3, 1
/* 803B7D68 003B39C8  40 82 00 28 */	bne lbl_803B7D90
/* 803B7D6C 003B39CC  80 A1 00 08 */	lwz r5, 8(r1)
/* 803B7D70 003B39D0  7F E3 FB 78 */	mr r3, r31
/* 803B7D74 003B39D4  38 80 00 02 */	li r4, 2
/* 803B7D78 003B39D8  48 00 2C 5D */	bl func_803BA9D4
/* 803B7D7C 003B39DC  38 60 00 15 */	li r3, 0x15
/* 803B7D80 003B39E0  38 00 00 19 */	li r0, 0x19
/* 803B7D84 003B39E4  90 7F 00 08 */	stw r3, 8(r31)
/* 803B7D88 003B39E8  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B7D8C 003B39EC  48 00 00 0C */	b lbl_803B7D98
lbl_803B7D90:
/* 803B7D90 003B39F0  38 00 00 19 */	li r0, 0x19
/* 803B7D94 003B39F4  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B7D98:
/* 803B7D98 003B39F8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B7D9C 003B39FC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B7DA0 003B3A00  7C 08 03 A6 */	mtlr r0
/* 803B7DA4 003B3A04  38 21 00 20 */	addi r1, r1, 0x20
/* 803B7DA8 003B3A08  4E 80 00 20 */	blr 
/* 803B7DAC 003B3A0C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B7DB0 003B3A10  7C 08 02 A6 */	mflr r0
/* 803B7DB4 003B3A14  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B7DB8 003B3A18  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B7DBC 003B3A1C  7C 9F 23 78 */	mr r31, r4
/* 803B7DC0 003B3A20  80 A4 21 6C */	lwz r5, 0x216c(r4)
/* 803B7DC4 003B3A24  54 A0 00 01 */	rlwinm. r0, r5, 0, 0, 0
/* 803B7DC8 003B3A28  41 82 00 10 */	beq lbl_803B7DD8
/* 803B7DCC 003B3A2C  38 00 00 22 */	li r0, 0x22
/* 803B7DD0 003B3A30  90 04 00 08 */	stw r0, 8(r4)
/* 803B7DD4 003B3A34  48 00 00 B0 */	b lbl_803B7E84
lbl_803B7DD8:
/* 803B7DD8 003B3A38  54 A0 05 AD */	rlwinm. r0, r5, 0, 0x16, 0x16
/* 803B7DDC 003B3A3C  41 82 00 28 */	beq lbl_803B7E04
/* 803B7DE0 003B3A40  7F E3 FB 78 */	mr r3, r31
/* 803B7DE4 003B3A44  38 80 00 02 */	li r4, 2
/* 803B7DE8 003B3A48  38 A0 00 2A */	li r5, 0x2a
/* 803B7DEC 003B3A4C  48 00 2B E9 */	bl func_803BA9D4
/* 803B7DF0 003B3A50  38 60 00 15 */	li r3, 0x15
/* 803B7DF4 003B3A54  38 00 00 26 */	li r0, 0x26
/* 803B7DF8 003B3A58  90 7F 00 08 */	stw r3, 8(r31)
/* 803B7DFC 003B3A5C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B7E00 003B3A60  48 00 00 84 */	b lbl_803B7E84
lbl_803B7E04:
/* 803B7E04 003B3A64  80 04 21 80 */	lwz r0, 0x2180(r4)
/* 803B7E08 003B3A68  2C 00 00 00 */	cmpwi r0, 0
/* 803B7E0C 003B3A6C  41 82 00 24 */	beq lbl_803B7E30
/* 803B7E10 003B3A70  54 A0 07 FF */	clrlwi. r0, r5, 0x1f
/* 803B7E14 003B3A74  41 82 00 1C */	beq lbl_803B7E30
/* 803B7E18 003B3A78  54 A3 00 3C */	rlwinm r3, r5, 0, 0, 0x1e
/* 803B7E1C 003B3A7C  38 00 00 1C */	li r0, 0x1c
/* 803B7E20 003B3A80  60 63 40 00 */	ori r3, r3, 0x4000
/* 803B7E24 003B3A84  90 04 00 08 */	stw r0, 8(r4)
/* 803B7E28 003B3A88  90 64 21 6C */	stw r3, 0x216c(r4)
/* 803B7E2C 003B3A8C  48 00 00 58 */	b lbl_803B7E84
lbl_803B7E30:
/* 803B7E30 003B3A90  3C 60 00 20 */	lis r3, 0x001FD849@ha
/* 803B7E34 003B3A94  38 03 D8 49 */	addi r0, r3, 0x001FD849@l
/* 803B7E38 003B3A98  7C A0 00 39 */	and. r0, r5, r0
/* 803B7E3C 003B3A9C  41 82 00 40 */	beq lbl_803B7E7C
/* 803B7E40 003B3AA0  7F E3 FB 78 */	mr r3, r31
/* 803B7E44 003B3AA4  38 80 00 02 */	li r4, 2
/* 803B7E48 003B3AA8  38 A0 00 07 */	li r5, 7
/* 803B7E4C 003B3AAC  48 00 2B 89 */	bl func_803BA9D4
/* 803B7E50 003B3AB0  38 00 00 15 */	li r0, 0x15
/* 803B7E54 003B3AB4  38 60 00 21 */	li r3, 0x21
/* 803B7E58 003B3AB8  90 1F 00 08 */	stw r0, 8(r31)
/* 803B7E5C 003B3ABC  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803B7E60 003B3AC0  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803B7E64 003B3AC4  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803B7E68 003B3AC8  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B7E6C 003B3ACC  38 60 00 14 */	li r3, 0x14
/* 803B7E70 003B3AD0  90 05 CD E8 */	stw r0, -0x3218(r5)
/* 803B7E74 003B3AD4  4B DB 7B D9 */	bl func_8016FA4C
/* 803B7E78 003B3AD8  48 00 00 0C */	b lbl_803B7E84
lbl_803B7E7C:
/* 803B7E7C 003B3ADC  38 00 00 1A */	li r0, 0x1a
/* 803B7E80 003B3AE0  90 04 00 08 */	stw r0, 8(r4)
lbl_803B7E84:
/* 803B7E84 003B3AE4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B7E88 003B3AE8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B7E8C 003B3AEC  7C 08 03 A6 */	mtlr r0
/* 803B7E90 003B3AF0  38 21 00 10 */	addi r1, r1, 0x10
/* 803B7E94 003B3AF4  4E 80 00 20 */	blr 
/* 803B7E98 003B3AF8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B7E9C 003B3AFC  7C 08 02 A6 */	mflr r0
/* 803B7EA0 003B3B00  38 A0 00 01 */	li r5, 1
/* 803B7EA4 003B3B04  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B7EA8 003B3B08  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B7EAC 003B3B0C  7C 9F 23 78 */	mr r31, r4
/* 803B7EB0 003B3B10  38 80 00 02 */	li r4, 2
/* 803B7EB4 003B3B14  7F E3 FB 78 */	mr r3, r31
/* 803B7EB8 003B3B18  48 00 2B 1D */	bl func_803BA9D4
/* 803B7EBC 003B3B1C  38 60 00 15 */	li r3, 0x15
/* 803B7EC0 003B3B20  38 00 00 1B */	li r0, 0x1b
/* 803B7EC4 003B3B24  90 7F 00 08 */	stw r3, 8(r31)
/* 803B7EC8 003B3B28  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B7ECC 003B3B2C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B7ED0 003B3B30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B7ED4 003B3B34  7C 08 03 A6 */	mtlr r0
/* 803B7ED8 003B3B38  38 21 00 10 */	addi r1, r1, 0x10
/* 803B7EDC 003B3B3C  4E 80 00 20 */	blr 
/* 803B7EE0 003B3B40  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B7EE4 003B3B44  7C 08 02 A6 */	mflr r0
/* 803B7EE8 003B3B48  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B7EEC 003B3B4C  39 61 00 20 */	addi r11, r1, 0x20
/* 803B7EF0 003B3B50  4B E0 F2 39 */	bl _savegpr_27
/* 803B7EF4 003B3B54  80 04 21 6C */	lwz r0, 0x216c(r4)
/* 803B7EF8 003B3B58  7C 7B 1B 78 */	mr r27, r3
/* 803B7EFC 003B3B5C  7C 9D 23 78 */	mr r29, r4
/* 803B7F00 003B3B60  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B7F04 003B3B64  41 82 00 1C */	beq lbl_803B7F20
/* 803B7F08 003B3B68  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803B7F0C 003B3B6C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B7F10 003B3B70  7C 64 02 14 */	add r3, r4, r0
/* 803B7F14 003B3B74  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B7F18 003B3B78  1C 00 FF FF */	mulli r0, r0, -1
/* 803B7F1C 003B3B7C  90 04 21 44 */	stw r0, 0x2144(r4)
lbl_803B7F20:
/* 803B7F20 003B3B80  80 04 21 44 */	lwz r0, 0x2144(r4)
/* 803B7F24 003B3B84  2C 00 00 00 */	cmpwi r0, 0
/* 803B7F28 003B3B88  41 82 05 24 */	beq lbl_803B844C
/* 803B7F2C 003B3B8C  80 84 00 6C */	lwz r4, 0x6c(r4)
/* 803B7F30 003B3B90  7F A3 EB 78 */	mr r3, r29
/* 803B7F34 003B3B94  48 00 C1 89 */	bl func_803C40BC
/* 803B7F38 003B3B98  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803B7F3C 003B3B9C  7C 7E 1B 78 */	mr r30, r3
/* 803B7F40 003B3BA0  7F A3 EB 78 */	mr r3, r29
/* 803B7F44 003B3BA4  38 A0 00 00 */	li r5, 0
/* 803B7F48 003B3BA8  48 00 C1 B9 */	bl func_803C4100
/* 803B7F4C 003B3BAC  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B7F50 003B3BB0  3C 80 80 47 */	lis r4, lbl_80473494@ha
/* 803B7F54 003B3BB4  7C 7F 1B 78 */	mr r31, r3
/* 803B7F58 003B3BB8  54 03 0F FE */	srwi r3, r0, 0x1f
/* 803B7F5C 003B3BBC  38 84 34 94 */	addi r4, r4, lbl_80473494@l
/* 803B7F60 003B3BC0  4C C6 31 82 */	crclr 6
/* 803B7F64 003B3BC4  48 02 19 39 */	bl func_803D989C
/* 803B7F68 003B3BC8  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803B7F6C 003B3BCC  7F 63 DB 78 */	mr r3, r27
/* 803B7F70 003B3BD0  4B FF 4D 75 */	bl func_803ACCE4
/* 803B7F74 003B3BD4  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B7F78 003B3BD8  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803B7F7C 003B3BDC  7F 63 DB 78 */	mr r3, r27
/* 803B7F80 003B3BE0  4B FF 4D 65 */	bl func_803ACCE4
/* 803B7F84 003B3BE4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B7F88 003B3BE8  7C 00 E0 40 */	cmplw r0, r28
/* 803B7F8C 003B3BEC  40 82 00 18 */	bne lbl_803B7FA4
/* 803B7F90 003B3BF0  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B7F94 003B3BF4  7F 63 DB 78 */	mr r3, r27
/* 803B7F98 003B3BF8  38 A0 00 00 */	li r5, 0
/* 803B7F9C 003B3BFC  38 C0 00 1A */	li r6, 0x1a
/* 803B7FA0 003B3C00  4B FF A0 D9 */	bl func_803B2078
lbl_803B7FA4:
/* 803B7FA4 003B3C04  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B7FA8 003B3C08  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B7FAC 003B3C0C  54 00 10 3A */	slwi r0, r0, 2
/* 803B7FB0 003B3C10  7C 7D 02 14 */	add r3, r29, r0
/* 803B7FB4 003B3C14  90 83 30 F4 */	stw r4, 0x30f4(r3)
/* 803B7FB8 003B3C18  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B7FBC 003B3C1C  1C 80 00 C0 */	mulli r4, r0, 0xc0
/* 803B7FC0 003B3C20  7C 7D 22 14 */	add r3, r29, r4
/* 803B7FC4 003B3C24  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803B7FC8 003B3C28  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803B7FCC 003B3C2C  41 82 01 00 */	beq lbl_803B80CC
/* 803B7FD0 003B3C30  80 BD 21 44 */	lwz r5, 0x2144(r29)
/* 803B7FD4 003B3C34  2C 05 00 00 */	cmpwi r5, 0
/* 803B7FD8 003B3C38  40 80 00 F4 */	bge lbl_803B80CC
/* 803B7FDC 003B3C3C  80 C3 2D E0 */	lwz r6, 0x2de0(r3)
/* 803B7FE0 003B3C40  7C 05 32 15 */	add. r0, r5, r6
/* 803B7FE4 003B3C44  41 81 00 58 */	bgt lbl_803B803C
/* 803B7FE8 003B3C48  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 803B7FEC 003B3C4C  38 00 00 00 */	li r0, 0
/* 803B7FF0 003B3C50  1C 63 00 1C */	mulli r3, r3, 0x1c
/* 803B7FF4 003B3C54  7C 9D 1A 14 */	add r4, r29, r3
/* 803B7FF8 003B3C58  80 64 02 EC */	lwz r3, 0x2ec(r4)
/* 803B7FFC 003B3C5C  7C 66 18 50 */	subf r3, r6, r3
/* 803B8000 003B3C60  90 64 02 EC */	stw r3, 0x2ec(r4)
/* 803B8004 003B3C64  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 803B8008 003B3C68  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803B800C 003B3C6C  7C 9D 1A 14 */	add r4, r29, r3
/* 803B8010 003B3C70  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B8014 003B3C74  54 63 02 0C */	rlwinm r3, r3, 0, 8, 6
/* 803B8018 003B3C78  90 64 2D B0 */	stw r3, 0x2db0(r4)
/* 803B801C 003B3C7C  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 803B8020 003B3C80  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803B8024 003B3C84  7C 9D 1A 14 */	add r4, r29, r3
/* 803B8028 003B3C88  80 64 2D E0 */	lwz r3, 0x2de0(r4)
/* 803B802C 003B3C8C  7C 63 00 D0 */	neg r3, r3
/* 803B8030 003B3C90  90 7D 21 48 */	stw r3, 0x2148(r29)
/* 803B8034 003B3C94  90 04 2D E0 */	stw r0, 0x2de0(r4)
/* 803B8038 003B3C98  48 00 00 40 */	b lbl_803B8078
lbl_803B803C:
/* 803B803C 003B3C9C  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803B8040 003B3CA0  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B8044 003B3CA4  7C 7D 02 14 */	add r3, r29, r0
/* 803B8048 003B3CA8  80 03 02 EC */	lwz r0, 0x2ec(r3)
/* 803B804C 003B3CAC  7C 00 2A 14 */	add r0, r0, r5
/* 803B8050 003B3CB0  90 03 02 EC */	stw r0, 0x2ec(r3)
/* 803B8054 003B3CB4  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 803B8058 003B3CB8  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B805C 003B3CBC  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803B8060 003B3CC0  7C 9D 1A 14 */	add r4, r29, r3
/* 803B8064 003B3CC4  80 64 2D E0 */	lwz r3, 0x2de0(r4)
/* 803B8068 003B3CC8  7C 03 02 14 */	add r0, r3, r0
/* 803B806C 003B3CCC  90 04 2D E0 */	stw r0, 0x2de0(r4)
/* 803B8070 003B3CD0  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B8074 003B3CD4  90 1D 21 48 */	stw r0, 0x2148(r29)
lbl_803B8078:
/* 803B8078 003B3CD8  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B807C 003B3CDC  7F A3 EB 78 */	mr r3, r29
/* 803B8080 003B3CE0  38 80 00 02 */	li r4, 2
/* 803B8084 003B3CE4  38 A0 00 5A */	li r5, 0x5a
/* 803B8088 003B3CE8  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B808C 003B3CEC  7C DD 02 14 */	add r6, r29, r0
/* 803B8090 003B3CF0  80 06 02 E8 */	lwz r0, 0x2e8(r6)
/* 803B8094 003B3CF4  60 00 00 08 */	ori r0, r0, 8
/* 803B8098 003B3CF8  90 06 02 E8 */	stw r0, 0x2e8(r6)
/* 803B809C 003B3CFC  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B80A0 003B3D00  90 1D 01 18 */	stw r0, 0x118(r29)
/* 803B80A4 003B3D04  48 00 29 31 */	bl func_803BA9D4
/* 803B80A8 003B3D08  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803B80AC 003B3D0C  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B80B0 003B3D10  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803B80B4 003B3D14  38 60 00 15 */	li r3, 0x15
/* 803B80B8 003B3D18  90 04 00 0C */	stw r0, 0xc(r4)
/* 803B80BC 003B3D1C  38 00 00 1C */	li r0, 0x1c
/* 803B80C0 003B3D20  90 7D 00 08 */	stw r3, 8(r29)
/* 803B80C4 003B3D24  90 1D 00 0C */	stw r0, 0xc(r29)
/* 803B80C8 003B3D28  48 00 03 8C */	b lbl_803B8454
lbl_803B80CC:
/* 803B80CC 003B3D2C  80 1D 30 44 */	lwz r0, 0x3044(r29)
/* 803B80D0 003B3D30  54 00 20 36 */	slwi r0, r0, 4
/* 803B80D4 003B3D34  7C 7D 02 14 */	add r3, r29, r0
/* 803B80D8 003B3D38  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803B80DC 003B3D3C  28 00 00 65 */	cmplwi r0, 0x65
/* 803B80E0 003B3D40  40 82 00 34 */	bne lbl_803B8114
/* 803B80E4 003B3D44  7C 7D 22 14 */	add r3, r29, r4
/* 803B80E8 003B3D48  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B80EC 003B3D4C  80 63 2D 8C */	lwz r3, 0x2d8c(r3)
/* 803B80F0 003B3D50  7C 00 1A 15 */	add. r0, r0, r3
/* 803B80F4 003B3D54  41 81 00 20 */	bgt lbl_803B8114
/* 803B80F8 003B3D58  38 03 FF FF */	addi r0, r3, -1
/* 803B80FC 003B3D5C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B8100 003B3D60  7C 80 00 D0 */	neg r4, r0
/* 803B8104 003B3D64  90 9D 21 44 */	stw r4, 0x2144(r29)
/* 803B8108 003B3D68  38 00 00 01 */	li r0, 1
/* 803B810C 003B3D6C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B8110 003B3D70  90 03 00 1C */	stw r0, 0x1c(r3)
lbl_803B8114:
/* 803B8114 003B3D74  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8118 003B3D78  54 00 30 32 */	slwi r0, r0, 6
/* 803B811C 003B3D7C  7C 7D 02 14 */	add r3, r29, r0
/* 803B8120 003B3D80  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B8124 003B3D84  54 00 57 FF */	rlwinm. r0, r0, 0xa, 0x1f, 0x1f
/* 803B8128 003B3D88  40 82 00 7C */	bne lbl_803B81A4
/* 803B812C 003B3D8C  2C 1E 00 40 */	cmpwi r30, 0x40
/* 803B8130 003B3D90  40 82 00 3C */	bne lbl_803B816C
/* 803B8134 003B3D94  48 02 16 85 */	bl func_803D97B8
/* 803B8138 003B3D98  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803B813C 003B3D9C  38 60 00 64 */	li r3, 0x64
/* 803B8140 003B3DA0  7C 04 1B D6 */	divw r0, r4, r3
/* 803B8144 003B3DA4  7C 00 19 D6 */	mullw r0, r0, r3
/* 803B8148 003B3DA8  7C 00 20 50 */	subf r0, r0, r4
/* 803B814C 003B3DAC  7C 00 F8 00 */	cmpw r0, r31
/* 803B8150 003B3DB0  40 80 00 1C */	bge lbl_803B816C
/* 803B8154 003B3DB4  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8158 003B3DB8  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B815C 003B3DBC  7C 7D 02 14 */	add r3, r29, r0
/* 803B8160 003B3DC0  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803B8164 003B3DC4  64 00 04 00 */	oris r0, r0, 0x400
/* 803B8168 003B3DC8  90 03 02 D4 */	stw r0, 0x2d4(r3)
lbl_803B816C:
/* 803B816C 003B3DCC  2C 1E 00 66 */	cmpwi r30, 0x66
/* 803B8170 003B3DD0  40 82 00 34 */	bne lbl_803B81A4
/* 803B8174 003B3DD4  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803B8178 003B3DD8  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803B817C 003B3DDC  7C 9D 02 14 */	add r4, r29, r0
/* 803B8180 003B3DE0  80 64 2D 8C */	lwz r3, 0x2d8c(r4)
/* 803B8184 003B3DE4  80 04 2D 90 */	lwz r0, 0x2d90(r4)
/* 803B8188 003B3DE8  7C 03 00 40 */	cmplw r3, r0
/* 803B818C 003B3DEC  40 82 00 18 */	bne lbl_803B81A4
/* 803B8190 003B3DF0  1C 05 00 1C */	mulli r0, r5, 0x1c
/* 803B8194 003B3DF4  7C 7D 02 14 */	add r3, r29, r0
/* 803B8198 003B3DF8  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803B819C 003B3DFC  64 00 04 00 */	oris r0, r0, 0x400
/* 803B81A0 003B3E00  90 03 02 D4 */	stw r0, 0x2d4(r3)
lbl_803B81A4:
/* 803B81A4 003B3E04  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803B81A8 003B3E08  54 80 30 32 */	slwi r0, r4, 6
/* 803B81AC 003B3E0C  7C 7D 02 14 */	add r3, r29, r0
/* 803B81B0 003B3E10  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B81B4 003B3E14  54 00 57 FF */	rlwinm. r0, r0, 0xa, 0x1f, 0x1f
/* 803B81B8 003B3E18  40 82 00 18 */	bne lbl_803B81D0
/* 803B81BC 003B3E1C  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803B81C0 003B3E20  7C 7D 02 14 */	add r3, r29, r0
/* 803B81C4 003B3E24  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803B81C8 003B3E28  54 00 37 FF */	rlwinm. r0, r0, 6, 0x1f, 0x1f
/* 803B81CC 003B3E2C  41 82 00 6C */	beq lbl_803B8238
lbl_803B81D0:
/* 803B81D0 003B3E30  1C 64 00 C0 */	mulli r3, r4, 0xc0
/* 803B81D4 003B3E34  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B81D8 003B3E38  7C 7D 1A 14 */	add r3, r29, r3
/* 803B81DC 003B3E3C  80 63 2D 8C */	lwz r3, 0x2d8c(r3)
/* 803B81E0 003B3E40  7C 00 1A 15 */	add. r0, r0, r3
/* 803B81E4 003B3E44  41 81 00 54 */	bgt lbl_803B8238
/* 803B81E8 003B3E48  38 63 FF FF */	addi r3, r3, -1
/* 803B81EC 003B3E4C  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B81F0 003B3E50  7C 63 00 D0 */	neg r3, r3
/* 803B81F4 003B3E54  54 00 30 32 */	slwi r0, r0, 6
/* 803B81F8 003B3E58  90 7D 21 44 */	stw r3, 0x2144(r29)
/* 803B81FC 003B3E5C  7C 7D 02 14 */	add r3, r29, r0
/* 803B8200 003B3E60  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803B8204 003B3E64  54 00 57 FF */	rlwinm. r0, r0, 0xa, 0x1f, 0x1f
/* 803B8208 003B3E68  41 82 00 14 */	beq lbl_803B821C
/* 803B820C 003B3E6C  80 1D 21 6C */	lwz r0, 0x216c(r29)
/* 803B8210 003B3E70  60 00 00 80 */	ori r0, r0, 0x80
/* 803B8214 003B3E74  90 1D 21 6C */	stw r0, 0x216c(r29)
/* 803B8218 003B3E78  48 00 00 10 */	b lbl_803B8228
lbl_803B821C:
/* 803B821C 003B3E7C  80 1D 21 6C */	lwz r0, 0x216c(r29)
/* 803B8220 003B3E80  60 00 01 00 */	ori r0, r0, 0x100
/* 803B8224 003B3E84  90 1D 21 6C */	stw r0, 0x216c(r29)
lbl_803B8228:
/* 803B8228 003B3E88  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B822C 003B3E8C  38 00 00 01 */	li r0, 1
/* 803B8230 003B3E90  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B8234 003B3E94  90 03 00 1C */	stw r0, 0x1c(r3)
lbl_803B8238:
/* 803B8238 003B3E98  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 803B823C 003B3E9C  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B8240 003B3EA0  54 63 10 3A */	slwi r3, r3, 2
/* 803B8244 003B3EA4  7C 9D 1A 14 */	add r4, r29, r3
/* 803B8248 003B3EA8  80 64 30 E4 */	lwz r3, 0x30e4(r4)
/* 803B824C 003B3EAC  7C 03 02 14 */	add r0, r3, r0
/* 803B8250 003B3EB0  90 04 30 E4 */	stw r0, 0x30e4(r4)
/* 803B8254 003B3EB4  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8258 003B3EB8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B825C 003B3EBC  7C 9D 02 14 */	add r4, r29, r0
/* 803B8260 003B3EC0  88 64 2D BC */	lbz r3, 0x2dbc(r4)
/* 803B8264 003B3EC4  28 03 00 FF */	cmplwi r3, 0xff
/* 803B8268 003B3EC8  40 80 00 0C */	bge lbl_803B8274
/* 803B826C 003B3ECC  38 03 00 01 */	addi r0, r3, 1
/* 803B8270 003B3ED0  98 04 2D BC */	stb r0, 0x2dbc(r4)
lbl_803B8274:
/* 803B8274 003B3ED4  80 1D 30 44 */	lwz r0, 0x3044(r29)
/* 803B8278 003B3ED8  54 00 20 36 */	slwi r0, r0, 4
/* 803B827C 003B3EDC  7C 7D 02 14 */	add r3, r29, r0
/* 803B8280 003B3EE0  88 03 03 E0 */	lbz r0, 0x3e0(r3)
/* 803B8284 003B3EE4  2C 00 00 00 */	cmpwi r0, 0
/* 803B8288 003B3EE8  40 82 00 84 */	bne lbl_803B830C
/* 803B828C 003B3EEC  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 803B8290 003B3EF0  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803B8294 003B3EF4  54 63 30 32 */	slwi r3, r3, 6
/* 803B8298 003B3EF8  80 9D 21 44 */	lwz r4, 0x2144(r29)
/* 803B829C 003B3EFC  7C 7D 1A 14 */	add r3, r29, r3
/* 803B82A0 003B3F00  54 00 10 3A */	slwi r0, r0, 2
/* 803B82A4 003B3F04  7C 63 02 14 */	add r3, r3, r0
/* 803B82A8 003B3F08  90 83 01 D8 */	stw r4, 0x1d8(r3)
/* 803B82AC 003B3F0C  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B82B0 003B3F10  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B82B4 003B3F14  54 00 30 32 */	slwi r0, r0, 6
/* 803B82B8 003B3F18  7C 7D 02 14 */	add r3, r29, r0
/* 803B82BC 003B3F1C  90 83 01 E8 */	stw r4, 0x1e8(r3)
/* 803B82C0 003B3F20  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 803B82C4 003B3F24  48 02 56 5D */	bl func_803DD920
/* 803B82C8 003B3F28  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B82CC 003B3F2C  54 00 30 32 */	slwi r0, r0, 6
/* 803B82D0 003B3F30  7C 9D 02 14 */	add r4, r29, r0
/* 803B82D4 003B3F34  80 04 01 EC */	lwz r0, 0x1ec(r4)
/* 803B82D8 003B3F38  7C 00 1B 78 */	or r0, r0, r3
/* 803B82DC 003B3F3C  90 04 01 EC */	stw r0, 0x1ec(r4)
/* 803B82E0 003B3F40  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B82E4 003B3F44  80 9D 21 44 */	lwz r4, 0x2144(r29)
/* 803B82E8 003B3F48  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B82EC 003B3F4C  7C 7D 02 14 */	add r3, r29, r0
/* 803B82F0 003B3F50  90 83 02 D8 */	stw r4, 0x2d8(r3)
/* 803B82F4 003B3F54  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B82F8 003B3F58  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B82FC 003B3F5C  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B8300 003B3F60  7C 7D 02 14 */	add r3, r29, r0
/* 803B8304 003B3F64  90 83 02 DC */	stw r4, 0x2dc(r3)
/* 803B8308 003B3F68  48 00 00 88 */	b lbl_803B8390
lbl_803B830C:
/* 803B830C 003B3F6C  28 00 00 01 */	cmplwi r0, 1
/* 803B8310 003B3F70  40 82 00 80 */	bne lbl_803B8390
/* 803B8314 003B3F74  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 803B8318 003B3F78  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803B831C 003B3F7C  54 63 30 32 */	slwi r3, r3, 6
/* 803B8320 003B3F80  80 9D 21 44 */	lwz r4, 0x2144(r29)
/* 803B8324 003B3F84  7C 7D 1A 14 */	add r3, r29, r3
/* 803B8328 003B3F88  54 00 10 3A */	slwi r0, r0, 2
/* 803B832C 003B3F8C  7C 63 02 14 */	add r3, r3, r0
/* 803B8330 003B3F90  90 83 01 F0 */	stw r4, 0x1f0(r3)
/* 803B8334 003B3F94  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8338 003B3F98  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B833C 003B3F9C  54 00 30 32 */	slwi r0, r0, 6
/* 803B8340 003B3FA0  7C 7D 02 14 */	add r3, r29, r0
/* 803B8344 003B3FA4  90 83 02 00 */	stw r4, 0x200(r3)
/* 803B8348 003B3FA8  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 803B834C 003B3FAC  48 02 55 D5 */	bl func_803DD920
/* 803B8350 003B3FB0  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8354 003B3FB4  54 00 30 32 */	slwi r0, r0, 6
/* 803B8358 003B3FB8  7C 9D 02 14 */	add r4, r29, r0
/* 803B835C 003B3FBC  80 04 02 04 */	lwz r0, 0x204(r4)
/* 803B8360 003B3FC0  7C 00 1B 78 */	or r0, r0, r3
/* 803B8364 003B3FC4  90 04 02 04 */	stw r0, 0x204(r4)
/* 803B8368 003B3FC8  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B836C 003B3FCC  80 9D 21 44 */	lwz r4, 0x2144(r29)
/* 803B8370 003B3FD0  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B8374 003B3FD4  7C 7D 02 14 */	add r3, r29, r0
/* 803B8378 003B3FD8  90 83 02 E0 */	stw r4, 0x2e0(r3)
/* 803B837C 003B3FDC  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8380 003B3FE0  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803B8384 003B3FE4  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B8388 003B3FE8  7C 7D 02 14 */	add r3, r29, r0
/* 803B838C 003B3FEC  90 83 02 E4 */	stw r4, 0x2e4(r3)
lbl_803B8390:
/* 803B8390 003B3FF0  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8394 003B3FF4  80 BD 21 44 */	lwz r5, 0x2144(r29)
/* 803B8398 003B3FF8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B839C 003B3FFC  7C 7D 02 14 */	add r3, r29, r0
/* 803B83A0 003B4000  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803B83A4 003B4004  7C 05 22 15 */	add. r0, r5, r4
/* 803B83A8 003B4008  41 81 00 24 */	bgt lbl_803B83CC
/* 803B83AC 003B400C  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 803B83B0 003B4010  7C 04 00 D0 */	neg r0, r4
/* 803B83B4 003B4014  1C 63 00 1C */	mulli r3, r3, 0x1c
/* 803B83B8 003B4018  7C 9D 1A 14 */	add r4, r29, r3
/* 803B83BC 003B401C  80 64 02 EC */	lwz r3, 0x2ec(r4)
/* 803B83C0 003B4020  7C 03 02 14 */	add r0, r3, r0
/* 803B83C4 003B4024  90 04 02 EC */	stw r0, 0x2ec(r4)
/* 803B83C8 003B4028  48 00 00 1C */	b lbl_803B83E4
lbl_803B83CC:
/* 803B83CC 003B402C  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803B83D0 003B4030  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B83D4 003B4034  7C 7D 02 14 */	add r3, r29, r0
/* 803B83D8 003B4038  80 03 02 EC */	lwz r0, 0x2ec(r3)
/* 803B83DC 003B403C  7C 00 2A 14 */	add r0, r0, r5
/* 803B83E0 003B4040  90 03 02 EC */	stw r0, 0x2ec(r3)
lbl_803B83E4:
/* 803B83E4 003B4044  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B83E8 003B4048  7F A3 EB 78 */	mr r3, r29
/* 803B83EC 003B404C  80 FD 21 44 */	lwz r7, 0x2144(r29)
/* 803B83F0 003B4050  38 80 00 02 */	li r4, 2
/* 803B83F4 003B4054  54 00 30 32 */	slwi r0, r0, 6
/* 803B83F8 003B4058  38 A0 00 02 */	li r5, 2
/* 803B83FC 003B405C  7C DD 02 14 */	add r6, r29, r0
/* 803B8400 003B4060  90 E6 02 08 */	stw r7, 0x208(r6)
/* 803B8404 003B4064  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803B8408 003B4068  80 FD 00 64 */	lwz r7, 0x64(r29)
/* 803B840C 003B406C  54 00 30 32 */	slwi r0, r0, 6
/* 803B8410 003B4070  7C DD 02 14 */	add r6, r29, r0
/* 803B8414 003B4074  90 E6 02 0C */	stw r7, 0x20c(r6)
/* 803B8418 003B4078  80 DD 00 6C */	lwz r6, 0x6c(r29)
/* 803B841C 003B407C  80 1D 21 44 */	lwz r0, 0x2144(r29)
/* 803B8420 003B4080  90 DD 01 18 */	stw r6, 0x118(r29)
/* 803B8424 003B4084  90 1D 21 5C */	stw r0, 0x215c(r29)
/* 803B8428 003B4088  48 00 25 AD */	bl func_803BA9D4
/* 803B842C 003B408C  80 1D 21 3C */	lwz r0, 0x213c(r29)
/* 803B8430 003B4090  38 80 00 15 */	li r4, 0x15
/* 803B8434 003B4094  38 60 00 1C */	li r3, 0x1c
/* 803B8438 003B4098  90 9D 00 08 */	stw r4, 8(r29)
/* 803B843C 003B409C  60 00 20 00 */	ori r0, r0, 0x2000
/* 803B8440 003B40A0  90 7D 00 0C */	stw r3, 0xc(r29)
/* 803B8444 003B40A4  90 1D 21 3C */	stw r0, 0x213c(r29)
/* 803B8448 003B40A8  48 00 00 0C */	b lbl_803B8454
lbl_803B844C:
/* 803B844C 003B40AC  38 00 00 1C */	li r0, 0x1c
/* 803B8450 003B40B0  90 04 00 08 */	stw r0, 8(r4)
lbl_803B8454:
/* 803B8454 003B40B4  39 61 00 20 */	addi r11, r1, 0x20
/* 803B8458 003B40B8  4B E0 ED 1D */	bl _restgpr_27
/* 803B845C 003B40BC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B8460 003B40C0  7C 08 03 A6 */	mtlr r0
/* 803B8464 003B40C4  38 21 00 20 */	addi r1, r1, 0x20
/* 803B8468 003B40C8  4E 80 00 20 */	blr 
/* 803B846C 003B40CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B8470 003B40D0  7C 08 02 A6 */	mflr r0
/* 803B8474 003B40D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B8478 003B40D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803B847C 003B40DC  7C 9F 23 78 */	mr r31, r4
/* 803B8480 003B40E0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803B8484 003B40E4  7C 7E 1B 78 */	mr r30, r3
/* 803B8488 003B40E8  80 04 00 38 */	lwz r0, 0x38(r4)
/* 803B848C 003B40EC  2C 00 00 01 */	cmpwi r0, 1
/* 803B8490 003B40F0  41 82 01 7C */	beq lbl_803B860C
/* 803B8494 003B40F4  40 80 02 DC */	bge lbl_803B8770
/* 803B8498 003B40F8  2C 00 00 00 */	cmpwi r0, 0
/* 803B849C 003B40FC  40 80 00 08 */	bge lbl_803B84A4
/* 803B84A0 003B4100  48 00 02 D0 */	b lbl_803B8770
lbl_803B84A4:
/* 803B84A4 003B4104  80 A4 00 3C */	lwz r5, 0x3c(r4)
/* 803B84A8 003B4108  2C 05 00 03 */	cmpwi r5, 3
/* 803B84AC 003B410C  41 82 00 C0 */	beq lbl_803B856C
/* 803B84B0 003B4110  40 80 00 1C */	bge lbl_803B84CC
/* 803B84B4 003B4114  2C 05 00 01 */	cmpwi r5, 1
/* 803B84B8 003B4118  41 82 00 38 */	beq lbl_803B84F0
/* 803B84BC 003B411C  40 80 00 54 */	bge lbl_803B8510
/* 803B84C0 003B4120  2C 05 00 00 */	cmpwi r5, 0
/* 803B84C4 003B4124  40 80 00 18 */	bge lbl_803B84DC
/* 803B84C8 003B4128  48 00 02 A8 */	b lbl_803B8770
lbl_803B84CC:
/* 803B84CC 003B412C  2C 05 00 05 */	cmpwi r5, 5
/* 803B84D0 003B4130  41 82 01 18 */	beq lbl_803B85E8
/* 803B84D4 003B4134  40 80 02 9C */	bge lbl_803B8770
/* 803B84D8 003B4138  48 00 00 C8 */	b lbl_803B85A0
lbl_803B84DC:
/* 803B84DC 003B413C  38 05 00 01 */	addi r0, r5, 1
/* 803B84E0 003B4140  90 04 00 3C */	stw r0, 0x3c(r4)
/* 803B84E4 003B4144  48 00 1B 91 */	bl func_803BA074
/* 803B84E8 003B4148  2C 03 00 01 */	cmpwi r3, 1
/* 803B84EC 003B414C  41 82 02 94 */	beq lbl_803B8780
lbl_803B84F0:
/* 803B84F0 003B4150  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803B84F4 003B4154  7F C3 F3 78 */	mr r3, r30
/* 803B84F8 003B4158  7F E4 FB 78 */	mr r4, r31
/* 803B84FC 003B415C  38 05 00 01 */	addi r0, r5, 1
/* 803B8500 003B4160  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8504 003B4164  48 00 1B BD */	bl func_803BA0C0
/* 803B8508 003B4168  2C 03 00 01 */	cmpwi r3, 1
/* 803B850C 003B416C  41 82 02 74 */	beq lbl_803B8780
lbl_803B8510:
/* 803B8510 003B4170  80 DF 00 3C */	lwz r6, 0x3c(r31)
/* 803B8514 003B4174  7F C3 F3 78 */	mr r3, r30
/* 803B8518 003B4178  7F E4 FB 78 */	mr r4, r31
/* 803B851C 003B417C  38 A1 00 14 */	addi r5, r1, 0x14
/* 803B8520 003B4180  38 06 00 01 */	addi r0, r6, 1
/* 803B8524 003B4184  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8528 003B4188  48 00 40 F9 */	bl func_803BC620
/* 803B852C 003B418C  2C 03 00 01 */	cmpwi r3, 1
/* 803B8530 003B4190  40 82 00 3C */	bne lbl_803B856C
/* 803B8534 003B4194  3C 60 00 20 */	lis r3, 0x001FD849@ha
/* 803B8538 003B4198  80 9F 21 6C */	lwz r4, 0x216c(r31)
/* 803B853C 003B419C  38 03 D8 49 */	addi r0, r3, 0x001FD849@l
/* 803B8540 003B41A0  7C 80 00 39 */	and. r0, r4, r0
/* 803B8544 003B41A4  40 82 00 28 */	bne lbl_803B856C
/* 803B8548 003B41A8  80 A1 00 14 */	lwz r5, 0x14(r1)
/* 803B854C 003B41AC  7F E3 FB 78 */	mr r3, r31
/* 803B8550 003B41B0  38 80 00 02 */	li r4, 2
/* 803B8554 003B41B4  48 00 24 81 */	bl func_803BA9D4
/* 803B8558 003B41B8  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B855C 003B41BC  38 00 00 15 */	li r0, 0x15
/* 803B8560 003B41C0  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B8564 003B41C4  90 1F 00 08 */	stw r0, 8(r31)
/* 803B8568 003B41C8  48 00 02 18 */	b lbl_803B8780
lbl_803B856C:
/* 803B856C 003B41CC  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803B8570 003B41D0  7F C3 F3 78 */	mr r3, r30
/* 803B8574 003B41D4  7F E4 FB 78 */	mr r4, r31
/* 803B8578 003B41D8  38 05 00 01 */	addi r0, r5, 1
/* 803B857C 003B41DC  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8580 003B41E0  48 00 1B E5 */	bl func_803BA164
/* 803B8584 003B41E4  2C 03 00 01 */	cmpwi r3, 1
/* 803B8588 003B41E8  40 82 00 18 */	bne lbl_803B85A0
/* 803B858C 003B41EC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B8590 003B41F0  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803B8594 003B41F4  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B8598 003B41F8  90 03 00 0C */	stw r0, 0xc(r3)
/* 803B859C 003B41FC  48 00 01 E4 */	b lbl_803B8780
lbl_803B85A0:
/* 803B85A0 003B4200  80 DF 00 3C */	lwz r6, 0x3c(r31)
/* 803B85A4 003B4204  7F C3 F3 78 */	mr r3, r30
/* 803B85A8 003B4208  7F E4 FB 78 */	mr r4, r31
/* 803B85AC 003B420C  38 A1 00 10 */	addi r5, r1, 0x10
/* 803B85B0 003B4210  38 06 00 01 */	addi r0, r6, 1
/* 803B85B4 003B4214  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B85B8 003B4218  48 00 96 41 */	bl func_803C1BF8
/* 803B85BC 003B421C  2C 03 00 01 */	cmpwi r3, 1
/* 803B85C0 003B4220  40 82 00 28 */	bne lbl_803B85E8
/* 803B85C4 003B4224  80 A1 00 10 */	lwz r5, 0x10(r1)
/* 803B85C8 003B4228  7F E3 FB 78 */	mr r3, r31
/* 803B85CC 003B422C  38 80 00 02 */	li r4, 2
/* 803B85D0 003B4230  48 00 24 05 */	bl func_803BA9D4
/* 803B85D4 003B4234  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B85D8 003B4238  38 00 00 15 */	li r0, 0x15
/* 803B85DC 003B423C  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B85E0 003B4240  90 1F 00 08 */	stw r0, 8(r31)
/* 803B85E4 003B4244  48 00 01 9C */	b lbl_803B8780
lbl_803B85E8:
/* 803B85E8 003B4248  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803B85EC 003B424C  7F C3 F3 78 */	mr r3, r30
/* 803B85F0 003B4250  7F E4 FB 78 */	mr r4, r31
/* 803B85F4 003B4254  38 05 00 01 */	addi r0, r5, 1
/* 803B85F8 003B4258  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B85FC 003B425C  48 00 1C 41 */	bl func_803BA23C
/* 803B8600 003B4260  2C 03 00 01 */	cmpwi r3, 1
/* 803B8604 003B4264  40 82 01 6C */	bne lbl_803B8770
/* 803B8608 003B4268  48 00 01 78 */	b lbl_803B8780
lbl_803B860C:
/* 803B860C 003B426C  80 A4 00 3C */	lwz r5, 0x3c(r4)
/* 803B8610 003B4270  2C 05 00 03 */	cmpwi r5, 3
/* 803B8614 003B4274  41 82 00 D4 */	beq lbl_803B86E8
/* 803B8618 003B4278  40 80 00 1C */	bge lbl_803B8634
/* 803B861C 003B427C  2C 05 00 01 */	cmpwi r5, 1
/* 803B8620 003B4280  41 82 00 38 */	beq lbl_803B8658
/* 803B8624 003B4284  40 80 00 90 */	bge lbl_803B86B4
/* 803B8628 003B4288  2C 05 00 00 */	cmpwi r5, 0
/* 803B862C 003B428C  40 80 00 18 */	bge lbl_803B8644
/* 803B8630 003B4290  48 00 01 40 */	b lbl_803B8770
lbl_803B8634:
/* 803B8634 003B4294  2C 05 00 05 */	cmpwi r5, 5
/* 803B8638 003B4298  41 82 01 18 */	beq lbl_803B8750
/* 803B863C 003B429C  40 80 01 34 */	bge lbl_803B8770
/* 803B8640 003B42A0  48 00 00 F0 */	b lbl_803B8730
lbl_803B8644:
/* 803B8644 003B42A4  38 05 00 01 */	addi r0, r5, 1
/* 803B8648 003B42A8  90 04 00 3C */	stw r0, 0x3c(r4)
/* 803B864C 003B42AC  48 00 1A 29 */	bl func_803BA074
/* 803B8650 003B42B0  2C 03 00 01 */	cmpwi r3, 1
/* 803B8654 003B42B4  41 82 01 2C */	beq lbl_803B8780
lbl_803B8658:
/* 803B8658 003B42B8  80 DF 00 3C */	lwz r6, 0x3c(r31)
/* 803B865C 003B42BC  7F C3 F3 78 */	mr r3, r30
/* 803B8660 003B42C0  7F E4 FB 78 */	mr r4, r31
/* 803B8664 003B42C4  38 A1 00 0C */	addi r5, r1, 0xc
/* 803B8668 003B42C8  38 06 00 01 */	addi r0, r6, 1
/* 803B866C 003B42CC  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8670 003B42D0  48 00 3F B1 */	bl func_803BC620
/* 803B8674 003B42D4  2C 03 00 01 */	cmpwi r3, 1
/* 803B8678 003B42D8  40 82 00 3C */	bne lbl_803B86B4
/* 803B867C 003B42DC  3C 60 00 20 */	lis r3, 0x001FD849@ha
/* 803B8680 003B42E0  80 9F 21 6C */	lwz r4, 0x216c(r31)
/* 803B8684 003B42E4  38 03 D8 49 */	addi r0, r3, 0x001FD849@l
/* 803B8688 003B42E8  7C 80 00 39 */	and. r0, r4, r0
/* 803B868C 003B42EC  40 82 00 28 */	bne lbl_803B86B4
/* 803B8690 003B42F0  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 803B8694 003B42F4  7F E3 FB 78 */	mr r3, r31
/* 803B8698 003B42F8  38 80 00 02 */	li r4, 2
/* 803B869C 003B42FC  48 00 23 39 */	bl func_803BA9D4
/* 803B86A0 003B4300  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B86A4 003B4304  38 00 00 15 */	li r0, 0x15
/* 803B86A8 003B4308  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B86AC 003B430C  90 1F 00 08 */	stw r0, 8(r31)
/* 803B86B0 003B4310  48 00 00 D0 */	b lbl_803B8780
lbl_803B86B4:
/* 803B86B4 003B4314  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803B86B8 003B4318  7F C3 F3 78 */	mr r3, r30
/* 803B86BC 003B431C  7F E4 FB 78 */	mr r4, r31
/* 803B86C0 003B4320  38 05 00 01 */	addi r0, r5, 1
/* 803B86C4 003B4324  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B86C8 003B4328  48 00 1A 9D */	bl func_803BA164
/* 803B86CC 003B432C  2C 03 00 01 */	cmpwi r3, 1
/* 803B86D0 003B4330  40 82 00 18 */	bne lbl_803B86E8
/* 803B86D4 003B4334  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B86D8 003B4338  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803B86DC 003B433C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B86E0 003B4340  90 03 00 0C */	stw r0, 0xc(r3)
/* 803B86E4 003B4344  48 00 00 9C */	b lbl_803B8780
lbl_803B86E8:
/* 803B86E8 003B4348  80 DF 00 3C */	lwz r6, 0x3c(r31)
/* 803B86EC 003B434C  7F C3 F3 78 */	mr r3, r30
/* 803B86F0 003B4350  7F E4 FB 78 */	mr r4, r31
/* 803B86F4 003B4354  38 A1 00 08 */	addi r5, r1, 8
/* 803B86F8 003B4358  38 06 00 01 */	addi r0, r6, 1
/* 803B86FC 003B435C  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8700 003B4360  48 00 94 F9 */	bl func_803C1BF8
/* 803B8704 003B4364  2C 03 00 01 */	cmpwi r3, 1
/* 803B8708 003B4368  40 82 00 28 */	bne lbl_803B8730
/* 803B870C 003B436C  80 A1 00 08 */	lwz r5, 8(r1)
/* 803B8710 003B4370  7F E3 FB 78 */	mr r3, r31
/* 803B8714 003B4374  38 80 00 02 */	li r4, 2
/* 803B8718 003B4378  48 00 22 BD */	bl func_803BA9D4
/* 803B871C 003B437C  80 7F 00 08 */	lwz r3, 8(r31)
/* 803B8720 003B4380  38 00 00 15 */	li r0, 0x15
/* 803B8724 003B4384  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803B8728 003B4388  90 1F 00 08 */	stw r0, 8(r31)
/* 803B872C 003B438C  48 00 00 54 */	b lbl_803B8780
lbl_803B8730:
/* 803B8730 003B4390  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803B8734 003B4394  7F C3 F3 78 */	mr r3, r30
/* 803B8738 003B4398  7F E4 FB 78 */	mr r4, r31
/* 803B873C 003B439C  38 05 00 01 */	addi r0, r5, 1
/* 803B8740 003B43A0  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8744 003B43A4  48 00 19 7D */	bl func_803BA0C0
/* 803B8748 003B43A8  2C 03 00 01 */	cmpwi r3, 1
/* 803B874C 003B43AC  41 82 00 34 */	beq lbl_803B8780
lbl_803B8750:
/* 803B8750 003B43B0  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803B8754 003B43B4  7F C3 F3 78 */	mr r3, r30
/* 803B8758 003B43B8  7F E4 FB 78 */	mr r4, r31
/* 803B875C 003B43BC  38 05 00 01 */	addi r0, r5, 1
/* 803B8760 003B43C0  90 1F 00 3C */	stw r0, 0x3c(r31)
/* 803B8764 003B43C4  48 00 1A D9 */	bl func_803BA23C
/* 803B8768 003B43C8  2C 03 00 01 */	cmpwi r3, 1
/* 803B876C 003B43CC  41 82 00 14 */	beq lbl_803B8780
lbl_803B8770:
/* 803B8770 003B43D0  38 60 00 00 */	li r3, 0
/* 803B8774 003B43D4  38 00 00 1E */	li r0, 0x1e
/* 803B8778 003B43D8  90 7F 00 3C */	stw r3, 0x3c(r31)
/* 803B877C 003B43DC  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B8780:
/* 803B8780 003B43E0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B8784 003B43E4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803B8788 003B43E8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803B878C 003B43EC  7C 08 03 A6 */	mtlr r0
/* 803B8790 003B43F0  38 21 00 20 */	addi r1, r1, 0x20
/* 803B8794 003B43F4  4E 80 00 20 */	blr 
/* 803B8798 003B43F8  4E 80 00 20 */	blr 
/* 803B879C 003B43FC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B87A0 003B4400  7C 08 02 A6 */	mflr r0
/* 803B87A4 003B4404  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B87A8 003B4408  39 61 00 30 */	addi r11, r1, 0x30
/* 803B87AC 003B440C  4B E0 E9 71 */	bl _savegpr_24
/* 803B87B0 003B4410  80 04 00 40 */	lwz r0, 0x40(r4)
/* 803B87B4 003B4414  7C 7D 1B 78 */	mr r29, r3
/* 803B87B8 003B4418  7C 9E 23 78 */	mr r30, r4
/* 803B87BC 003B441C  28 00 00 07 */	cmplwi r0, 7
/* 803B87C0 003B4420  41 81 03 64 */	bgt lbl_803B8B24
/* 803B87C4 003B4424  3C 60 80 47 */	lis r3, lbl_804734A8@ha
/* 803B87C8 003B4428  54 00 10 3A */	slwi r0, r0, 2
/* 803B87CC 003B442C  38 63 34 A8 */	addi r3, r3, lbl_804734A8@l
/* 803B87D0 003B4430  7C 63 00 2E */	lwzx r3, r3, r0
/* 803B87D4 003B4434  7C 69 03 A6 */	mtctr r3
/* 803B87D8 003B4438  4E 80 04 20 */	bctr 
/* 803B87DC 003B443C  3F 40 20 04 */	lis r26, 0x200400C0@ha
/* 803B87E0 003B4440  3B E0 00 00 */	li r31, 0
/* 803B87E4 003B4444  3F 60 DF FC */	lis r27, 0xdffc
/* 803B87E8 003B4448  3B 80 00 15 */	li r28, 0x15
/* 803B87EC 003B444C  3B 3A 00 C0 */	addi r25, r26, 0x200400C0@l
/* 803B87F0 003B4450  48 00 00 70 */	b lbl_803B8860
lbl_803B87F4:
/* 803B87F4 003B4454  1C 18 00 C0 */	mulli r0, r24, 0xc0
/* 803B87F8 003B4458  7C BE 02 14 */	add r5, r30, r0
/* 803B87FC 003B445C  80 05 2D C0 */	lwz r0, 0x2dc0(r5)
/* 803B8800 003B4460  7C 00 C8 39 */	and. r0, r0, r25
/* 803B8804 003B4464  40 82 00 48 */	bne lbl_803B884C
/* 803B8808 003B4468  80 85 2D C4 */	lwz r4, 0x2dc4(r5)
/* 803B880C 003B446C  38 1A 00 C0 */	addi r0, r26, 0xc0
/* 803B8810 003B4470  7C 80 00 39 */	and. r0, r4, r0
/* 803B8814 003B4474  41 82 00 38 */	beq lbl_803B884C
/* 803B8818 003B4478  38 1B FF 3F */	addi r0, r27, -193
/* 803B881C 003B447C  7F C3 F3 78 */	mr r3, r30
/* 803B8820 003B4480  7C 80 00 38 */	and r0, r4, r0
/* 803B8824 003B4484  38 80 00 02 */	li r4, 2
/* 803B8828 003B4488  90 05 2D C4 */	stw r0, 0x2dc4(r5)
/* 803B882C 003B448C  38 A0 01 1F */	li r5, 0x11f
/* 803B8830 003B4490  48 00 21 A5 */	bl func_803BA9D4
/* 803B8834 003B4494  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B8838 003B4498  3B E0 00 01 */	li r31, 1
/* 803B883C 003B449C  80 7E 00 44 */	lwz r3, 0x44(r30)
/* 803B8840 003B44A0  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B8844 003B44A4  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B8848 003B44A8  93 9E 00 08 */	stw r28, 8(r30)
lbl_803B884C:
/* 803B884C 003B44AC  80 7E 00 44 */	lwz r3, 0x44(r30)
/* 803B8850 003B44B0  2C 1F 00 00 */	cmpwi r31, 0
/* 803B8854 003B44B4  38 03 00 01 */	addi r0, r3, 1
/* 803B8858 003B44B8  90 1E 00 44 */	stw r0, 0x44(r30)
/* 803B885C 003B44BC  40 82 02 DC */	bne lbl_803B8B38
lbl_803B8860:
/* 803B8860 003B44C0  83 1E 00 44 */	lwz r24, 0x44(r30)
/* 803B8864 003B44C4  7F A3 EB 78 */	mr r3, r29
/* 803B8868 003B44C8  4B FF 3F F9 */	bl func_803AC860
/* 803B886C 003B44CC  7C 18 18 00 */	cmpw r24, r3
/* 803B8870 003B44D0  41 80 FF 84 */	blt lbl_803B87F4
/* 803B8874 003B44D4  80 7E 00 40 */	lwz r3, 0x40(r30)
/* 803B8878 003B44D8  38 00 00 00 */	li r0, 0
/* 803B887C 003B44DC  90 1E 00 44 */	stw r0, 0x44(r30)
/* 803B8880 003B44E0  38 03 00 01 */	addi r0, r3, 1
/* 803B8884 003B44E4  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B8888 003B44E8  80 DE 00 40 */	lwz r6, 0x40(r30)
/* 803B888C 003B44EC  7F A3 EB 78 */	mr r3, r29
/* 803B8890 003B44F0  80 BE 00 08 */	lwz r5, 8(r30)
/* 803B8894 003B44F4  7F C4 F3 78 */	mr r4, r30
/* 803B8898 003B44F8  38 06 00 01 */	addi r0, r6, 1
/* 803B889C 003B44FC  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B88A0 003B4500  48 00 9E 89 */	bl func_803C2728
/* 803B88A4 003B4504  2C 03 00 01 */	cmpwi r3, 1
/* 803B88A8 003B4508  41 82 02 90 */	beq lbl_803B8B38
/* 803B88AC 003B450C  7F A3 EB 78 */	mr r3, r29
/* 803B88B0 003B4510  7F C4 F3 78 */	mr r4, r30
/* 803B88B4 003B4514  48 00 82 D9 */	bl func_803C0B8C
/* 803B88B8 003B4518  2C 03 00 00 */	cmpwi r3, 0
/* 803B88BC 003B451C  7C 65 1B 78 */	mr r5, r3
/* 803B88C0 003B4520  41 82 00 24 */	beq lbl_803B88E4
/* 803B88C4 003B4524  7F C3 F3 78 */	mr r3, r30
/* 803B88C8 003B4528  38 80 00 02 */	li r4, 2
/* 803B88CC 003B452C  48 00 21 09 */	bl func_803BA9D4
/* 803B88D0 003B4530  80 7E 00 08 */	lwz r3, 8(r30)
/* 803B88D4 003B4534  38 00 00 15 */	li r0, 0x15
/* 803B88D8 003B4538  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B88DC 003B453C  90 1E 00 08 */	stw r0, 8(r30)
/* 803B88E0 003B4540  48 00 02 58 */	b lbl_803B8B38
lbl_803B88E4:
/* 803B88E4 003B4544  80 7E 00 40 */	lwz r3, 0x40(r30)
/* 803B88E8 003B4548  38 03 00 01 */	addi r0, r3, 1
/* 803B88EC 003B454C  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B88F0 003B4550  80 DE 00 40 */	lwz r6, 0x40(r30)
/* 803B88F4 003B4554  7F A3 EB 78 */	mr r3, r29
/* 803B88F8 003B4558  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803B88FC 003B455C  7F C4 F3 78 */	mr r4, r30
/* 803B8900 003B4560  38 06 00 01 */	addi r0, r6, 1
/* 803B8904 003B4564  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B8908 003B4568  48 00 A0 8D */	bl func_803C2994
/* 803B890C 003B456C  2C 03 00 01 */	cmpwi r3, 1
/* 803B8910 003B4570  41 82 02 28 */	beq lbl_803B8B38
/* 803B8914 003B4574  80 7E 00 40 */	lwz r3, 0x40(r30)
/* 803B8918 003B4578  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803B891C 003B457C  38 03 00 01 */	addi r0, r3, 1
/* 803B8920 003B4580  2C 05 00 FF */	cmpwi r5, 0xff
/* 803B8924 003B4584  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B8928 003B4588  41 82 00 18 */	beq lbl_803B8940
/* 803B892C 003B458C  7F A3 EB 78 */	mr r3, r29
/* 803B8930 003B4590  7F C4 F3 78 */	mr r4, r30
/* 803B8934 003B4594  48 00 A0 61 */	bl func_803C2994
/* 803B8938 003B4598  2C 03 00 01 */	cmpwi r3, 1
/* 803B893C 003B459C  41 82 01 FC */	beq lbl_803B8B38
lbl_803B8940:
/* 803B8940 003B45A0  80 DE 00 40 */	lwz r6, 0x40(r30)
/* 803B8944 003B45A4  7F A3 EB 78 */	mr r3, r29
/* 803B8948 003B45A8  7F C4 F3 78 */	mr r4, r30
/* 803B894C 003B45AC  38 A1 00 0C */	addi r5, r1, 0xc
/* 803B8950 003B45B0  38 06 00 01 */	addi r0, r6, 1
/* 803B8954 003B45B4  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B8958 003B45B8  48 00 B4 9D */	bl func_803C3DF4
/* 803B895C 003B45BC  2C 03 00 01 */	cmpwi r3, 1
/* 803B8960 003B45C0  40 82 00 28 */	bne lbl_803B8988
/* 803B8964 003B45C4  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 803B8968 003B45C8  7F C3 F3 78 */	mr r3, r30
/* 803B896C 003B45CC  38 80 00 02 */	li r4, 2
/* 803B8970 003B45D0  48 00 20 65 */	bl func_803BA9D4
/* 803B8974 003B45D4  80 7E 00 08 */	lwz r3, 8(r30)
/* 803B8978 003B45D8  38 00 00 15 */	li r0, 0x15
/* 803B897C 003B45DC  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B8980 003B45E0  90 1E 00 08 */	stw r0, 8(r30)
/* 803B8984 003B45E4  48 00 01 B4 */	b lbl_803B8B38
lbl_803B8988:
/* 803B8988 003B45E8  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803B898C 003B45EC  7F C3 F3 78 */	mr r3, r30
/* 803B8990 003B45F0  48 00 71 89 */	bl func_803BFB18
/* 803B8994 003B45F4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B8998 003B45F8  28 00 00 60 */	cmplwi r0, 0x60
/* 803B899C 003B45FC  40 82 00 0C */	bne lbl_803B89A8
/* 803B89A0 003B4600  38 C0 00 00 */	li r6, 0
/* 803B89A4 003B4604  48 00 00 24 */	b lbl_803B89C8
lbl_803B89A8:
/* 803B89A8 003B4608  80 DE 21 60 */	lwz r6, 0x2160(r30)
/* 803B89AC 003B460C  2C 06 00 00 */	cmpwi r6, 0
/* 803B89B0 003B4610  41 82 00 08 */	beq lbl_803B89B8
/* 803B89B4 003B4614  48 00 00 14 */	b lbl_803B89C8
lbl_803B89B8:
/* 803B89B8 003B4618  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803B89BC 003B461C  54 00 20 36 */	slwi r0, r0, 4
/* 803B89C0 003B4620  7C 7E 02 14 */	add r3, r30, r0
/* 803B89C4 003B4624  88 C3 03 E2 */	lbz r6, 0x3e2(r3)
lbl_803B89C8:
/* 803B89C8 003B4628  80 7E 00 40 */	lwz r3, 0x40(r30)
/* 803B89CC 003B462C  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803B89D0 003B4630  38 03 00 01 */	addi r0, r3, 1
/* 803B89D4 003B4634  2C 04 00 FF */	cmpwi r4, 0xff
/* 803B89D8 003B4638  90 1E 00 40 */	stw r0, 0x40(r30)
/* 803B89DC 003B463C  41 82 00 90 */	beq lbl_803B8A6C
/* 803B89E0 003B4640  1C A4 00 C0 */	mulli r5, r4, 0xc0
/* 803B89E4 003B4644  7C 7E 2A 14 */	add r3, r30, r5
/* 803B89E8 003B4648  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B89EC 003B464C  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B89F0 003B4650  41 82 00 7C */	beq lbl_803B8A6C
/* 803B89F4 003B4654  80 1E 21 6C */	lwz r0, 0x216c(r30)
/* 803B89F8 003B4658  54 00 04 63 */	rlwinm. r0, r0, 0, 0x11, 0x11
/* 803B89FC 003B465C  40 82 00 70 */	bne lbl_803B8A6C
/* 803B8A00 003B4660  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B8A04 003B4664  7C 04 00 00 */	cmpw r4, r0
/* 803B8A08 003B4668  41 82 00 64 */	beq lbl_803B8A6C
/* 803B8A0C 003B466C  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803B8A10 003B4670  7C 7E 02 14 */	add r3, r30, r0
/* 803B8A14 003B4674  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803B8A18 003B4678  2C 00 00 00 */	cmpwi r0, 0
/* 803B8A1C 003B467C  40 82 00 10 */	bne lbl_803B8A2C
/* 803B8A20 003B4680  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803B8A24 003B4684  2C 00 00 00 */	cmpwi r0, 0
/* 803B8A28 003B4688  41 82 00 44 */	beq lbl_803B8A6C
lbl_803B8A2C:
/* 803B8A2C 003B468C  7C 7E 2A 14 */	add r3, r30, r5
/* 803B8A30 003B4690  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B8A34 003B4694  2C 00 00 00 */	cmpwi r0, 0
/* 803B8A38 003B4698  41 82 00 34 */	beq lbl_803B8A6C
/* 803B8A3C 003B469C  2C 06 00 0A */	cmpwi r6, 0xa
/* 803B8A40 003B46A0  40 82 00 2C */	bne lbl_803B8A6C
/* 803B8A44 003B46A4  90 9E 01 18 */	stw r4, 0x118(r30)
/* 803B8A48 003B46A8  7F C3 F3 78 */	mr r3, r30
/* 803B8A4C 003B46AC  38 80 00 02 */	li r4, 2
/* 803B8A50 003B46B0  38 A0 00 1D */	li r5, 0x1d
/* 803B8A54 003B46B4  48 00 1F 81 */	bl func_803BA9D4
/* 803B8A58 003B46B8  80 7E 00 08 */	lwz r3, 8(r30)
/* 803B8A5C 003B46BC  38 00 00 15 */	li r0, 0x15
/* 803B8A60 003B46C0  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B8A64 003B46C4  90 1E 00 08 */	stw r0, 8(r30)
/* 803B8A68 003B46C8  48 00 00 D0 */	b lbl_803B8B38
lbl_803B8A6C:
/* 803B8A6C 003B46CC  3B 20 00 00 */	li r25, 0
/* 803B8A70 003B46D0  48 00 00 84 */	b lbl_803B8AF4
lbl_803B8A74:
/* 803B8A74 003B46D4  7C 7E C2 14 */	add r3, r30, r24
/* 803B8A78 003B46D8  8B 03 21 EC */	lbz r24, 0x21ec(r3)
/* 803B8A7C 003B46DC  7F 03 C3 78 */	mr r3, r24
/* 803B8A80 003B46E0  48 02 4E A1 */	bl func_803DD920
/* 803B8A84 003B46E4  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803B8A88 003B46E8  7C 00 18 39 */	and. r0, r0, r3
/* 803B8A8C 003B46EC  41 82 00 14 */	beq lbl_803B8AA0
/* 803B8A90 003B46F0  80 7E 00 44 */	lwz r3, 0x44(r30)
/* 803B8A94 003B46F4  38 03 00 01 */	addi r0, r3, 1
/* 803B8A98 003B46F8  90 1E 00 44 */	stw r0, 0x44(r30)
/* 803B8A9C 003B46FC  48 00 00 58 */	b lbl_803B8AF4
lbl_803B8AA0:
/* 803B8AA0 003B4700  80 DE 00 44 */	lwz r6, 0x44(r30)
/* 803B8AA4 003B4704  7F A3 EB 78 */	mr r3, r29
/* 803B8AA8 003B4708  7F C4 F3 78 */	mr r4, r30
/* 803B8AAC 003B470C  7F 05 C3 78 */	mr r5, r24
/* 803B8AB0 003B4710  38 06 00 01 */	addi r0, r6, 1
/* 803B8AB4 003B4714  38 C1 00 08 */	addi r6, r1, 8
/* 803B8AB8 003B4718  90 1E 00 44 */	stw r0, 0x44(r30)
/* 803B8ABC 003B471C  48 00 A8 9D */	bl func_803C3358
/* 803B8AC0 003B4720  2C 03 00 01 */	cmpwi r3, 1
/* 803B8AC4 003B4724  40 82 00 30 */	bne lbl_803B8AF4
/* 803B8AC8 003B4728  93 1E 01 18 */	stw r24, 0x118(r30)
/* 803B8ACC 003B472C  7F C3 F3 78 */	mr r3, r30
/* 803B8AD0 003B4730  38 80 00 02 */	li r4, 2
/* 803B8AD4 003B4734  80 A1 00 08 */	lwz r5, 8(r1)
/* 803B8AD8 003B4738  48 00 1E FD */	bl func_803BA9D4
/* 803B8ADC 003B473C  80 7E 00 08 */	lwz r3, 8(r30)
/* 803B8AE0 003B4740  38 00 00 15 */	li r0, 0x15
/* 803B8AE4 003B4744  3B 20 00 01 */	li r25, 1
/* 803B8AE8 003B4748  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B8AEC 003B474C  90 1E 00 08 */	stw r0, 8(r30)
/* 803B8AF0 003B4750  48 00 00 18 */	b lbl_803B8B08
lbl_803B8AF4:
/* 803B8AF4 003B4754  83 1E 00 44 */	lwz r24, 0x44(r30)
/* 803B8AF8 003B4758  7F A3 EB 78 */	mr r3, r29
/* 803B8AFC 003B475C  4B FF 3D 65 */	bl func_803AC860
/* 803B8B00 003B4760  7C 18 18 00 */	cmpw r24, r3
/* 803B8B04 003B4764  41 80 FF 70 */	blt lbl_803B8A74
lbl_803B8B08:
/* 803B8B08 003B4768  2C 19 00 00 */	cmpwi r25, 0
/* 803B8B0C 003B476C  40 82 00 18 */	bne lbl_803B8B24
/* 803B8B10 003B4770  80 7E 00 40 */	lwz r3, 0x40(r30)
/* 803B8B14 003B4774  38 00 00 00 */	li r0, 0
/* 803B8B18 003B4778  90 1E 00 44 */	stw r0, 0x44(r30)
/* 803B8B1C 003B477C  38 03 00 01 */	addi r0, r3, 1
/* 803B8B20 003B4780  90 1E 00 40 */	stw r0, 0x40(r30)
lbl_803B8B24:
/* 803B8B24 003B4784  38 60 00 00 */	li r3, 0
/* 803B8B28 003B4788  38 00 00 1F */	li r0, 0x1f
/* 803B8B2C 003B478C  90 7E 00 40 */	stw r3, 0x40(r30)
/* 803B8B30 003B4790  90 7E 00 44 */	stw r3, 0x44(r30)
/* 803B8B34 003B4794  90 1E 00 08 */	stw r0, 8(r30)
lbl_803B8B38:
/* 803B8B38 003B4798  39 61 00 30 */	addi r11, r1, 0x30
/* 803B8B3C 003B479C  4B E0 E6 2D */	bl _restgpr_24
/* 803B8B40 003B47A0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B8B44 003B47A4  7C 08 03 A6 */	mtlr r0
/* 803B8B48 003B47A8  38 21 00 30 */	addi r1, r1, 0x30
/* 803B8B4C 003B47AC  4E 80 00 20 */	blr 
/* 803B8B50 003B47B0  4E 80 00 20 */	blr 
/* 803B8B54 003B47B4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B8B58 003B47B8  7C 08 02 A6 */	mflr r0
/* 803B8B5C 003B47BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B8B60 003B47C0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B8B64 003B47C4  7C 9F 23 78 */	mr r31, r4
/* 803B8B68 003B47C8  93 C1 00 08 */	stw r30, 8(r1)
/* 803B8B6C 003B47CC  7C 7E 1B 78 */	mr r30, r3
/* 803B8B70 003B47D0  88 E4 21 7D */	lbz r7, 0x217d(r4)
/* 803B8B74 003B47D4  2C 07 00 00 */	cmpwi r7, 0
/* 803B8B78 003B47D8  41 82 01 40 */	beq lbl_803B8CB8
/* 803B8B7C 003B47DC  80 C4 00 74 */	lwz r6, 0x74(r4)
/* 803B8B80 003B47E0  2C 06 00 FF */	cmpwi r6, 0xff
/* 803B8B84 003B47E4  40 82 00 B8 */	bne lbl_803B8C3C
/* 803B8B88 003B47E8  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803B8B8C 003B47EC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B8B90 003B47F0  7C A4 02 14 */	add r5, r4, r0
/* 803B8B94 003B47F4  80 05 2D AC */	lwz r0, 0x2dac(r5)
/* 803B8B98 003B47F8  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B8B9C 003B47FC  40 82 00 A0 */	bne lbl_803B8C3C
/* 803B8BA0 003B4800  80 04 21 6C */	lwz r0, 0x216c(r4)
/* 803B8BA4 003B4804  54 00 04 63 */	rlwinm. r0, r0, 0, 0x11, 0x11
/* 803B8BA8 003B4808  40 82 00 94 */	bne lbl_803B8C3C
/* 803B8BAC 003B480C  88 A4 21 7C */	lbz r5, 0x217c(r4)
/* 803B8BB0 003B4810  38 A5 FF FF */	addi r5, r5, -1
/* 803B8BB4 003B4814  54 A0 06 3F */	clrlwi. r0, r5, 0x18
/* 803B8BB8 003B4818  98 A4 21 7C */	stb r5, 0x217c(r4)
/* 803B8BBC 003B481C  41 82 00 48 */	beq lbl_803B8C04
/* 803B8BC0 003B4820  38 00 00 01 */	li r0, 1
/* 803B8BC4 003B4824  90 04 21 80 */	stw r0, 0x2180(r4)
/* 803B8BC8 003B4828  48 00 78 DD */	bl func_803C04A4
/* 803B8BCC 003B482C  80 BF 21 3C */	lwz r5, 0x213c(r31)
/* 803B8BD0 003B4830  7F E3 FB 78 */	mr r3, r31
/* 803B8BD4 003B4834  80 1F 21 88 */	lwz r0, 0x2188(r31)
/* 803B8BD8 003B4838  38 80 00 01 */	li r4, 1
/* 803B8BDC 003B483C  54 A6 04 A0 */	rlwinm r6, r5, 0, 0x12, 0x10
/* 803B8BE0 003B4840  80 BF 30 44 */	lwz r5, 0x3044(r31)
/* 803B8BE4 003B4844  90 DF 21 3C */	stw r6, 0x213c(r31)
/* 803B8BE8 003B4848  90 1F 21 84 */	stw r0, 0x2184(r31)
/* 803B8BEC 003B484C  48 00 1D E9 */	bl func_803BA9D4
/* 803B8BF0 003B4850  38 60 00 15 */	li r3, 0x15
/* 803B8BF4 003B4854  38 00 00 17 */	li r0, 0x17
/* 803B8BF8 003B4858  90 7F 00 08 */	stw r3, 8(r31)
/* 803B8BFC 003B485C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B8C00 003B4860  48 00 00 AC */	b lbl_803B8CAC
lbl_803B8C04:
/* 803B8C04 003B4864  90 E4 01 30 */	stw r7, 0x130(r4)
/* 803B8C08 003B4868  7F E3 FB 78 */	mr r3, r31
/* 803B8C0C 003B486C  38 80 00 02 */	li r4, 2
/* 803B8C10 003B4870  38 A0 00 11 */	li r5, 0x11
/* 803B8C14 003B4874  48 00 1D C1 */	bl func_803BA9D4
/* 803B8C18 003B4878  38 00 00 15 */	li r0, 0x15
/* 803B8C1C 003B487C  38 80 00 21 */	li r4, 0x21
/* 803B8C20 003B4880  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B8C24 003B4884  90 1F 00 08 */	stw r0, 8(r31)
/* 803B8C28 003B4888  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803B8C2C 003B488C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B8C30 003B4890  90 9F 00 0C */	stw r4, 0xc(r31)
/* 803B8C34 003B4894  90 03 00 0C */	stw r0, 0xc(r3)
/* 803B8C38 003B4898  48 00 00 74 */	b lbl_803B8CAC
lbl_803B8C3C:
/* 803B8C3C 003B489C  2C 06 00 FF */	cmpwi r6, 0xff
/* 803B8C40 003B48A0  40 82 00 1C */	bne lbl_803B8C5C
/* 803B8C44 003B48A4  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803B8C48 003B48A8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B8C4C 003B48AC  7C 64 02 14 */	add r3, r4, r0
/* 803B8C50 003B48B0  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803B8C54 003B48B4  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803B8C58 003B48B8  41 82 00 18 */	beq lbl_803B8C70
lbl_803B8C5C:
/* 803B8C5C 003B48BC  88 04 21 7C */	lbz r0, 0x217c(r4)
/* 803B8C60 003B48C0  7C 60 38 50 */	subf r3, r0, r7
/* 803B8C64 003B48C4  38 03 00 01 */	addi r0, r3, 1
/* 803B8C68 003B48C8  90 04 01 30 */	stw r0, 0x130(r4)
/* 803B8C6C 003B48CC  48 00 00 10 */	b lbl_803B8C7C
lbl_803B8C70:
/* 803B8C70 003B48D0  88 04 21 7C */	lbz r0, 0x217c(r4)
/* 803B8C74 003B48D4  7C 00 38 50 */	subf r0, r0, r7
/* 803B8C78 003B48D8  90 04 01 30 */	stw r0, 0x130(r4)
lbl_803B8C7C:
/* 803B8C7C 003B48DC  7F E3 FB 78 */	mr r3, r31
/* 803B8C80 003B48E0  38 80 00 02 */	li r4, 2
/* 803B8C84 003B48E4  38 A0 00 11 */	li r5, 0x11
/* 803B8C88 003B48E8  48 00 1D 4D */	bl func_803BA9D4
/* 803B8C8C 003B48EC  38 00 00 15 */	li r0, 0x15
/* 803B8C90 003B48F0  38 80 00 21 */	li r4, 0x21
/* 803B8C94 003B48F4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803B8C98 003B48F8  90 1F 00 08 */	stw r0, 8(r31)
/* 803B8C9C 003B48FC  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803B8CA0 003B4900  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803B8CA4 003B4904  90 9F 00 0C */	stw r4, 0xc(r31)
/* 803B8CA8 003B4908  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803B8CAC:
/* 803B8CAC 003B490C  7F C3 F3 78 */	mr r3, r30
/* 803B8CB0 003B4910  4B FF 98 89 */	bl func_803B2538
/* 803B8CB4 003B4914  48 00 00 0C */	b lbl_803B8CC0
lbl_803B8CB8:
/* 803B8CB8 003B4918  38 00 00 21 */	li r0, 0x21
/* 803B8CBC 003B491C  90 04 00 08 */	stw r0, 8(r4)
lbl_803B8CC0:
/* 803B8CC0 003B4920  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B8CC4 003B4924  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B8CC8 003B4928  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B8CCC 003B492C  7C 08 03 A6 */	mtlr r0
/* 803B8CD0 003B4930  38 21 00 10 */	addi r1, r1, 0x10
/* 803B8CD4 003B4934  4E 80 00 20 */	blr 
/* 803B8CD8 003B4938  80 04 21 3C */	lwz r0, 0x213c(r4)
/* 803B8CDC 003B493C  54 00 01 0F */	rlwinm. r0, r0, 0, 4, 7
/* 803B8CE0 003B4940  41 82 00 18 */	beq lbl_803B8CF8
/* 803B8CE4 003B4944  7C 83 23 78 */	mr r3, r4
/* 803B8CE8 003B4948  38 80 00 21 */	li r4, 0x21
/* 803B8CEC 003B494C  38 A0 00 21 */	li r5, 0x21
/* 803B8CF0 003B4950  38 C0 00 00 */	li r6, 0
/* 803B8CF4 003B4954  48 00 0E FC */	b func_803B9BF0
lbl_803B8CF8:
/* 803B8CF8 003B4958  38 00 00 22 */	li r0, 0x22
/* 803B8CFC 003B495C  90 04 00 08 */	stw r0, 8(r4)
/* 803B8D00 003B4960  4E 80 00 20 */	blr 
/* 803B8D04 003B4964  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B8D08 003B4968  7C 08 02 A6 */	mflr r0
/* 803B8D0C 003B496C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B8D10 003B4970  39 61 00 20 */	addi r11, r1, 0x20
/* 803B8D14 003B4974  4B E0 E4 15 */	bl _savegpr_27
/* 803B8D18 003B4978  80 A4 21 40 */	lwz r5, 0x2140(r4)
/* 803B8D1C 003B497C  7C 7E 1B 78 */	mr r30, r3
/* 803B8D20 003B4980  7C 9F 23 78 */	mr r31, r4
/* 803B8D24 003B4984  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 803B8D28 003B4988  41 82 00 1C */	beq lbl_803B8D44
/* 803B8D2C 003B498C  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803B8D30 003B4990  54 A5 07 76 */	rlwinm r5, r5, 0, 0x1d, 0x1b
/* 803B8D34 003B4994  80 04 00 84 */	lwz r0, 0x84(r4)
/* 803B8D38 003B4998  90 A4 21 40 */	stw r5, 0x2140(r4)
/* 803B8D3C 003B499C  90 64 00 6C */	stw r3, 0x6c(r4)
/* 803B8D40 003B49A0  90 04 00 64 */	stw r0, 0x64(r4)
lbl_803B8D44:
/* 803B8D44 003B49A4  7F C3 F3 78 */	mr r3, r30
/* 803B8D48 003B49A8  7F E4 FB 78 */	mr r4, r31
/* 803B8D4C 003B49AC  48 00 10 39 */	bl func_803B9D84
/* 803B8D50 003B49B0  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803B8D54 003B49B4  54 00 20 36 */	slwi r0, r0, 4
/* 803B8D58 003B49B8  7C 7F 02 14 */	add r3, r31, r0
/* 803B8D5C 003B49BC  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803B8D60 003B49C0  28 00 00 04 */	cmplwi r0, 4
/* 803B8D64 003B49C4  40 82 01 08 */	bne lbl_803B8E6C
/* 803B8D68 003B49C8  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803B8D6C 003B49CC  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803B8D70 003B49D0  40 82 00 FC */	bne lbl_803B8E6C
/* 803B8D74 003B49D4  7F C3 F3 78 */	mr r3, r30
/* 803B8D78 003B49D8  4B FF 3A E9 */	bl func_803AC860
/* 803B8D7C 003B49DC  88 1F 21 7E */	lbz r0, 0x217e(r31)
/* 803B8D80 003B49E0  7C 00 18 00 */	cmpw r0, r3
/* 803B8D84 003B49E4  40 80 00 E8 */	bge lbl_803B8E6C
/* 803B8D88 003B49E8  38 00 00 0D */	li r0, 0xd
/* 803B8D8C 003B49EC  7F C3 F3 78 */	mr r3, r30
/* 803B8D90 003B49F0  90 1F 21 84 */	stw r0, 0x2184(r31)
/* 803B8D94 003B49F4  4B FF 3A CD */	bl func_803AC860
/* 803B8D98 003B49F8  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803B8D9C 003B49FC  7F C3 F3 78 */	mr r3, r30
/* 803B8DA0 003B4A00  4B FF 3A B1 */	bl cTeam_GetPlayer
/* 803B8DA4 003B4A04  4B FF 27 71 */	bl func_803AB514
/* 803B8DA8 003B4A08  54 7D 07 FE */	clrlwi r29, r3, 0x1f
lbl_803B8DAC:
/* 803B8DAC 003B4A0C  88 7F 21 7E */	lbz r3, 0x217e(r31)
/* 803B8DB0 003B4A10  38 03 00 01 */	addi r0, r3, 1
/* 803B8DB4 003B4A14  7C 7F 1A 14 */	add r3, r31, r3
/* 803B8DB8 003B4A18  98 1F 21 7E */	stb r0, 0x217e(r31)
/* 803B8DBC 003B4A1C  8B 63 21 EC */	lbz r27, 0x21ec(r3)
/* 803B8DC0 003B4A20  7F 63 DB 78 */	mr r3, r27
/* 803B8DC4 003B4A24  48 02 4B 5D */	bl func_803DD920
/* 803B8DC8 003B4A28  88 1F 31 08 */	lbz r0, 0x3108(r31)
/* 803B8DCC 003B4A2C  7C 00 18 39 */	and. r0, r0, r3
/* 803B8DD0 003B4A30  40 82 00 7C */	bne lbl_803B8E4C
/* 803B8DD4 003B4A34  1C 1B 00 C0 */	mulli r0, r27, 0xc0
/* 803B8DD8 003B4A38  7C 7F 02 14 */	add r3, r31, r0
/* 803B8DDC 003B4A3C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B8DE0 003B4A40  2C 00 00 00 */	cmpwi r0, 0
/* 803B8DE4 003B4A44  41 82 00 68 */	beq lbl_803B8E4C
/* 803B8DE8 003B4A48  7F C3 F3 78 */	mr r3, r30
/* 803B8DEC 003B4A4C  7F 64 DB 78 */	mr r4, r27
/* 803B8DF0 003B4A50  4B FF 3A 61 */	bl cTeam_GetPlayer
/* 803B8DF4 003B4A54  2C 1D 00 00 */	cmpwi r29, 0
/* 803B8DF8 003B4A58  7C 7C 1B 78 */	mr r28, r3
/* 803B8DFC 003B4A5C  41 82 00 10 */	beq lbl_803B8E0C
/* 803B8E00 003B4A60  4B FF 27 15 */	bl func_803AB514
/* 803B8E04 003B4A64  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B8E08 003B4A68  41 82 00 1C */	beq lbl_803B8E24
lbl_803B8E0C:
/* 803B8E0C 003B4A6C  2C 1D 00 00 */	cmpwi r29, 0
/* 803B8E10 003B4A70  40 82 00 3C */	bne lbl_803B8E4C
/* 803B8E14 003B4A74  7F 83 E3 78 */	mr r3, r28
/* 803B8E18 003B4A78  4B FF 26 FD */	bl func_803AB514
/* 803B8E1C 003B4A7C  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B8E20 003B4A80  41 82 00 2C */	beq lbl_803B8E4C
lbl_803B8E24:
/* 803B8E24 003B4A84  7F C3 F3 78 */	mr r3, r30
/* 803B8E28 003B4A88  7F E4 FB 78 */	mr r4, r31
/* 803B8E2C 003B4A8C  48 00 76 79 */	bl func_803C04A4
/* 803B8E30 003B4A90  38 00 00 16 */	li r0, 0x16
/* 803B8E34 003B4A94  93 7F 00 6C */	stw r27, 0x6c(r31)
/* 803B8E38 003B4A98  38 60 00 1A */	li r3, 0x1a
/* 803B8E3C 003B4A9C  38 80 00 00 */	li r4, 0
/* 803B8E40 003B4AA0  90 1F 00 08 */	stw r0, 8(r31)
/* 803B8E44 003B4AA4  4B DB 6C 09 */	bl func_8016FA4C
/* 803B8E48 003B4AA8  48 00 00 18 */	b lbl_803B8E60
lbl_803B8E4C:
/* 803B8E4C 003B4AAC  7F C3 F3 78 */	mr r3, r30
/* 803B8E50 003B4AB0  4B FF 3A 11 */	bl func_803AC860
/* 803B8E54 003B4AB4  88 1F 21 7E */	lbz r0, 0x217e(r31)
/* 803B8E58 003B4AB8  7C 00 18 00 */	cmpw r0, r3
/* 803B8E5C 003B4ABC  41 80 FF 50 */	blt lbl_803B8DAC
lbl_803B8E60:
/* 803B8E60 003B4AC0  7F C3 F3 78 */	mr r3, r30
/* 803B8E64 003B4AC4  4B FF 96 D5 */	bl func_803B2538
/* 803B8E68 003B4AC8  48 00 00 E4 */	b lbl_803B8F4C
lbl_803B8E6C:
/* 803B8E6C 003B4ACC  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803B8E70 003B4AD0  54 00 20 36 */	slwi r0, r0, 4
/* 803B8E74 003B4AD4  7C 7F 02 14 */	add r3, r31, r0
/* 803B8E78 003B4AD8  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803B8E7C 003B4ADC  28 00 00 08 */	cmplwi r0, 8
/* 803B8E80 003B4AE0  40 82 00 C4 */	bne lbl_803B8F44
/* 803B8E84 003B4AE4  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803B8E88 003B4AE8  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803B8E8C 003B4AEC  40 82 00 B8 */	bne lbl_803B8F44
/* 803B8E90 003B4AF0  7F C3 F3 78 */	mr r3, r30
/* 803B8E94 003B4AF4  4B FF 39 CD */	bl func_803AC860
/* 803B8E98 003B4AF8  88 1F 21 7E */	lbz r0, 0x217e(r31)
/* 803B8E9C 003B4AFC  7C 00 18 00 */	cmpw r0, r3
/* 803B8EA0 003B4B00  40 80 00 A4 */	bge lbl_803B8F44
/* 803B8EA4 003B4B04  38 00 00 0D */	li r0, 0xd
/* 803B8EA8 003B4B08  7F C3 F3 78 */	mr r3, r30
/* 803B8EAC 003B4B0C  90 1F 21 84 */	stw r0, 0x2184(r31)
/* 803B8EB0 003B4B10  4B FF 39 B1 */	bl func_803AC860
lbl_803B8EB4:
/* 803B8EB4 003B4B14  88 7F 21 7E */	lbz r3, 0x217e(r31)
/* 803B8EB8 003B4B18  38 03 00 01 */	addi r0, r3, 1
/* 803B8EBC 003B4B1C  7C 7F 1A 14 */	add r3, r31, r3
/* 803B8EC0 003B4B20  98 1F 21 7E */	stb r0, 0x217e(r31)
/* 803B8EC4 003B4B24  8B 63 21 EC */	lbz r27, 0x21ec(r3)
/* 803B8EC8 003B4B28  7F 63 DB 78 */	mr r3, r27
/* 803B8ECC 003B4B2C  48 02 4A 55 */	bl func_803DD920
/* 803B8ED0 003B4B30  88 1F 31 08 */	lbz r0, 0x3108(r31)
/* 803B8ED4 003B4B34  7C 00 18 39 */	and. r0, r0, r3
/* 803B8ED8 003B4B38  40 82 00 4C */	bne lbl_803B8F24
/* 803B8EDC 003B4B3C  1C 1B 00 C0 */	mulli r0, r27, 0xc0
/* 803B8EE0 003B4B40  7C 7F 02 14 */	add r3, r31, r0
/* 803B8EE4 003B4B44  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B8EE8 003B4B48  2C 00 00 00 */	cmpwi r0, 0
/* 803B8EEC 003B4B4C  41 82 00 38 */	beq lbl_803B8F24
/* 803B8EF0 003B4B50  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B8EF4 003B4B54  7C 1B 00 00 */	cmpw r27, r0
/* 803B8EF8 003B4B58  41 82 00 2C */	beq lbl_803B8F24
/* 803B8EFC 003B4B5C  7F C3 F3 78 */	mr r3, r30
/* 803B8F00 003B4B60  7F E4 FB 78 */	mr r4, r31
/* 803B8F04 003B4B64  48 00 75 A1 */	bl func_803C04A4
/* 803B8F08 003B4B68  38 00 00 16 */	li r0, 0x16
/* 803B8F0C 003B4B6C  93 7F 00 6C */	stw r27, 0x6c(r31)
/* 803B8F10 003B4B70  38 60 00 1A */	li r3, 0x1a
/* 803B8F14 003B4B74  38 80 00 00 */	li r4, 0
/* 803B8F18 003B4B78  90 1F 00 08 */	stw r0, 8(r31)
/* 803B8F1C 003B4B7C  4B DB 6B 31 */	bl func_8016FA4C
/* 803B8F20 003B4B80  48 00 00 18 */	b lbl_803B8F38
lbl_803B8F24:
/* 803B8F24 003B4B84  7F C3 F3 78 */	mr r3, r30
/* 803B8F28 003B4B88  4B FF 39 39 */	bl func_803AC860
/* 803B8F2C 003B4B8C  88 1F 21 7E */	lbz r0, 0x217e(r31)
/* 803B8F30 003B4B90  7C 00 18 00 */	cmpw r0, r3
/* 803B8F34 003B4B94  41 80 FF 80 */	blt lbl_803B8EB4
lbl_803B8F38:
/* 803B8F38 003B4B98  7F C3 F3 78 */	mr r3, r30
/* 803B8F3C 003B4B9C  4B FF 95 FD */	bl func_803B2538
/* 803B8F40 003B4BA0  48 00 00 0C */	b lbl_803B8F4C
lbl_803B8F44:
/* 803B8F44 003B4BA4  38 00 00 23 */	li r0, 0x23
/* 803B8F48 003B4BA8  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B8F4C:
/* 803B8F4C 003B4BAC  39 61 00 20 */	addi r11, r1, 0x20
/* 803B8F50 003B4BB0  4B E0 E2 25 */	bl _restgpr_27
/* 803B8F54 003B4BB4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B8F58 003B4BB8  7C 08 03 A6 */	mtlr r0
/* 803B8F5C 003B4BBC  38 21 00 20 */	addi r1, r1, 0x20
/* 803B8F60 003B4BC0  4E 80 00 20 */	blr 
/* 803B8F64 003B4BC4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B8F68 003B4BC8  7C 08 02 A6 */	mflr r0
/* 803B8F6C 003B4BCC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B8F70 003B4BD0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B8F74 003B4BD4  7C 9F 23 78 */	mr r31, r4
/* 803B8F78 003B4BD8  80 04 21 3C */	lwz r0, 0x213c(r4)
/* 803B8F7C 003B4BDC  54 00 00 07 */	rlwinm. r0, r0, 0, 0, 3
/* 803B8F80 003B4BE0  41 82 00 40 */	beq lbl_803B8FC0
/* 803B8F84 003B4BE4  54 03 27 3E */	srwi r3, r0, 0x1c
/* 803B8F88 003B4BE8  48 02 49 B9 */	bl func_803DD940
/* 803B8F8C 003B4BEC  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803B8F90 003B4BF0  38 80 00 02 */	li r4, 2
/* 803B8F94 003B4BF4  90 7F 00 74 */	stw r3, 0x74(r31)
/* 803B8F98 003B4BF8  7F E3 FB 78 */	mr r3, r31
/* 803B8F9C 003B4BFC  54 00 01 3E */	clrlwi r0, r0, 4
/* 803B8FA0 003B4C00  38 A0 01 15 */	li r5, 0x115
/* 803B8FA4 003B4C04  90 1F 21 3C */	stw r0, 0x213c(r31)
/* 803B8FA8 003B4C08  48 00 1A 2D */	bl func_803BA9D4
/* 803B8FAC 003B4C0C  38 60 00 15 */	li r3, 0x15
/* 803B8FB0 003B4C10  38 00 00 24 */	li r0, 0x24
/* 803B8FB4 003B4C14  90 7F 00 08 */	stw r3, 8(r31)
/* 803B8FB8 003B4C18  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803B8FBC 003B4C1C  48 00 00 0C */	b lbl_803B8FC8
lbl_803B8FC0:
/* 803B8FC0 003B4C20  38 00 00 24 */	li r0, 0x24
/* 803B8FC4 003B4C24  90 04 00 08 */	stw r0, 8(r4)
lbl_803B8FC8:
/* 803B8FC8 003B4C28  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B8FCC 003B4C2C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B8FD0 003B4C30  7C 08 03 A6 */	mtlr r0
/* 803B8FD4 003B4C34  38 21 00 10 */	addi r1, r1, 0x10
/* 803B8FD8 003B4C38  4E 80 00 20 */	blr 
/* 803B8FDC 003B4C3C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B8FE0 003B4C40  7C 08 02 A6 */	mflr r0
/* 803B8FE4 003B4C44  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B8FE8 003B4C48  39 61 00 30 */	addi r11, r1, 0x30
/* 803B8FEC 003B4C4C  4B E0 E1 29 */	bl _savegpr_22
/* 803B8FF0 003B4C50  7C 9B 23 78 */	mr r27, r4
/* 803B8FF4 003B4C54  3B 80 00 00 */	li r28, 0
/* 803B8FF8 003B4C58  4B FF 38 69 */	bl func_803AC860
/* 803B8FFC 003B4C5C  80 9B 00 64 */	lwz r4, 0x64(r27)
/* 803B9000 003B4C60  7F 63 DB 78 */	mr r3, r27
/* 803B9004 003B4C64  48 00 B0 B9 */	bl func_803C40BC
/* 803B9008 003B4C68  80 9B 00 64 */	lwz r4, 0x64(r27)
/* 803B900C 003B4C6C  7C 7E 1B 78 */	mr r30, r3
/* 803B9010 003B4C70  7F 63 DB 78 */	mr r3, r27
/* 803B9014 003B4C74  38 A0 00 00 */	li r5, 0
/* 803B9018 003B4C78  48 00 B0 E9 */	bl func_803C4100
/* 803B901C 003B4C7C  80 9B 00 08 */	lwz r4, 8(r27)
/* 803B9020 003B4C80  7C 7D 1B 78 */	mr r29, r3
/* 803B9024 003B4C84  7F 63 DB 78 */	mr r3, r27
/* 803B9028 003B4C88  38 C0 00 01 */	li r6, 1
/* 803B902C 003B4C8C  7C 85 23 78 */	mr r5, r4
/* 803B9030 003B4C90  48 00 0B C1 */	bl func_803B9BF0
/* 803B9034 003B4C94  2C 03 00 01 */	cmpwi r3, 1
/* 803B9038 003B4C98  40 82 00 0C */	bne lbl_803B9044
/* 803B903C 003B4C9C  38 00 00 01 */	li r0, 1
/* 803B9040 003B4CA0  48 00 02 2C */	b lbl_803B926C
lbl_803B9044:
/* 803B9044 003B4CA4  3E C0 80 49 */	lis r22, lbl_8048CDE8@ha
/* 803B9048 003B4CA8  3B E0 00 15 */	li r31, 0x15
/* 803B904C 003B4CAC  3B 16 CD E8 */	addi r24, r22, lbl_8048CDE8@l
/* 803B9050 003B4CB0  3A E0 00 0A */	li r23, 0xa
/* 803B9054 003B4CB4  3B 20 00 00 */	li r25, 0
/* 803B9058 003B4CB8  3B 40 00 61 */	li r26, 0x61
lbl_803B905C:
/* 803B905C 003B4CBC  80 1B 00 30 */	lwz r0, 0x30(r27)
/* 803B9060 003B4CC0  2C 00 00 02 */	cmpwi r0, 2
/* 803B9064 003B4CC4  41 82 01 14 */	beq lbl_803B9178
/* 803B9068 003B4CC8  40 80 00 14 */	bge lbl_803B907C
/* 803B906C 003B4CCC  2C 00 00 00 */	cmpwi r0, 0
/* 803B9070 003B4CD0  41 82 00 18 */	beq lbl_803B9088
/* 803B9074 003B4CD4  40 80 00 50 */	bge lbl_803B90C4
/* 803B9078 003B4CD8  48 00 01 E0 */	b lbl_803B9258
lbl_803B907C:
/* 803B907C 003B4CDC  2C 00 00 04 */	cmpwi r0, 4
/* 803B9080 003B4CE0  40 80 01 D8 */	bge lbl_803B9258
/* 803B9084 003B4CE4  48 00 01 C8 */	b lbl_803B924C
lbl_803B9088:
/* 803B9088 003B4CE8  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803B908C 003B4CEC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B9090 003B4CF0  7C 9B 02 14 */	add r4, r27, r0
/* 803B9094 003B4CF4  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803B9098 003B4CF8  54 60 02 11 */	rlwinm. r0, r3, 0, 8, 8
/* 803B909C 003B4CFC  41 82 00 18 */	beq lbl_803B90B4
/* 803B90A0 003B4D00  80 1B 30 44 */	lwz r0, 0x3044(r27)
/* 803B90A4 003B4D04  28 00 00 63 */	cmplwi r0, 0x63
/* 803B90A8 003B4D08  41 82 00 0C */	beq lbl_803B90B4
/* 803B90AC 003B4D0C  54 60 02 4E */	rlwinm r0, r3, 0, 9, 7
/* 803B90B0 003B4D10  90 04 2D B0 */	stw r0, 0x2db0(r4)
lbl_803B90B4:
/* 803B90B4 003B4D14  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803B90B8 003B4D18  38 03 00 01 */	addi r0, r3, 1
/* 803B90BC 003B4D1C  90 1B 00 30 */	stw r0, 0x30(r27)
/* 803B90C0 003B4D20  48 00 01 98 */	b lbl_803B9258
lbl_803B90C4:
/* 803B90C4 003B4D24  80 9B 00 6C */	lwz r4, 0x6c(r27)
/* 803B90C8 003B4D28  2C 04 00 FF */	cmpwi r4, 0xff
/* 803B90CC 003B4D2C  41 82 00 9C */	beq lbl_803B9168
/* 803B90D0 003B4D30  2C 1E 00 57 */	cmpwi r30, 0x57
/* 803B90D4 003B4D34  40 82 00 94 */	bne lbl_803B9168
/* 803B90D8 003B4D38  80 1B 21 40 */	lwz r0, 0x2140(r27)
/* 803B90DC 003B4D3C  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B90E0 003B4D40  40 82 00 88 */	bne lbl_803B9168
/* 803B90E4 003B4D44  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803B90E8 003B4D48  54 00 04 A5 */	rlwinm. r0, r0, 0, 0x12, 0x12
/* 803B90EC 003B4D4C  41 82 00 7C */	beq lbl_803B9168
/* 803B90F0 003B4D50  80 DB 00 64 */	lwz r6, 0x64(r27)
/* 803B90F4 003B4D54  1C 06 00 1C */	mulli r0, r6, 0x1c
/* 803B90F8 003B4D58  7C 7B 02 14 */	add r3, r27, r0
/* 803B90FC 003B4D5C  80 A3 02 EC */	lwz r5, 0x2ec(r3)
/* 803B9100 003B4D60  2C 05 00 00 */	cmpwi r5, 0
/* 803B9104 003B4D64  41 82 00 64 */	beq lbl_803B9168
/* 803B9108 003B4D68  7C 06 20 00 */	cmpw r6, r4
/* 803B910C 003B4D6C  41 82 00 5C */	beq lbl_803B9168
/* 803B9110 003B4D70  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803B9114 003B4D74  7C 7B 02 14 */	add r3, r27, r0
/* 803B9118 003B4D78  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803B911C 003B4D7C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B9120 003B4D80  7C 04 00 40 */	cmplw r4, r0
/* 803B9124 003B4D84  40 80 00 44 */	bge lbl_803B9168
/* 803B9128 003B4D88  2C 04 00 00 */	cmpwi r4, 0
/* 803B912C 003B4D8C  41 82 00 3C */	beq lbl_803B9168
/* 803B9130 003B4D90  7F A4 EB 78 */	mr r4, r29
/* 803B9134 003B4D94  7C 65 00 D0 */	neg r3, r5
/* 803B9138 003B4D98  48 00 7A 31 */	bl func_803C0B68
/* 803B913C 003B4D9C  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803B9140 003B4DA0  38 80 00 02 */	li r4, 2
/* 803B9144 003B4DA4  90 7B 21 5C */	stw r3, 0x215c(r27)
/* 803B9148 003B4DA8  7F 63 DB 78 */	mr r3, r27
/* 803B914C 003B4DAC  38 A0 00 D5 */	li r5, 0xd5
/* 803B9150 003B4DB0  90 1B 01 18 */	stw r0, 0x118(r27)
/* 803B9154 003B4DB4  48 00 18 81 */	bl func_803BA9D4
/* 803B9158 003B4DB8  80 1B 00 08 */	lwz r0, 8(r27)
/* 803B915C 003B4DBC  3B 80 00 01 */	li r28, 1
/* 803B9160 003B4DC0  90 1B 00 0C */	stw r0, 0xc(r27)
/* 803B9164 003B4DC4  93 FB 00 08 */	stw r31, 8(r27)
lbl_803B9168:
/* 803B9168 003B4DC8  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803B916C 003B4DCC  38 03 00 01 */	addi r0, r3, 1
/* 803B9170 003B4DD0  90 1B 00 30 */	stw r0, 0x30(r27)
/* 803B9174 003B4DD4  48 00 00 E4 */	b lbl_803B9258
lbl_803B9178:
/* 803B9178 003B4DD8  2C 1E 00 61 */	cmpwi r30, 0x61
/* 803B917C 003B4DDC  40 82 00 C0 */	bne lbl_803B923C
/* 803B9180 003B4DE0  80 9B 00 64 */	lwz r4, 0x64(r27)
/* 803B9184 003B4DE4  7F 63 DB 78 */	mr r3, r27
/* 803B9188 003B4DE8  48 00 69 91 */	bl func_803BFB18
/* 803B918C 003B4DEC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B9190 003B4DF0  28 00 00 62 */	cmplwi r0, 0x62
/* 803B9194 003B4DF4  41 82 00 A8 */	beq lbl_803B923C
/* 803B9198 003B4DF8  80 1B 21 40 */	lwz r0, 0x2140(r27)
/* 803B919C 003B4DFC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B91A0 003B4E00  40 82 00 9C */	bne lbl_803B923C
/* 803B91A4 003B4E04  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803B91A8 003B4E08  54 00 04 A5 */	rlwinm. r0, r0, 0, 0x12, 0x12
/* 803B91AC 003B4E0C  41 82 00 90 */	beq lbl_803B923C
/* 803B91B0 003B4E10  80 1B 30 44 */	lwz r0, 0x3044(r27)
/* 803B91B4 003B4E14  54 00 20 36 */	slwi r0, r0, 4
/* 803B91B8 003B4E18  7C 7B 02 14 */	add r3, r27, r0
/* 803B91BC 003B4E1C  88 03 03 E0 */	lbz r0, 0x3e0(r3)
/* 803B91C0 003B4E20  28 00 00 02 */	cmplwi r0, 2
/* 803B91C4 003B4E24  41 82 00 78 */	beq lbl_803B923C
/* 803B91C8 003B4E28  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803B91CC 003B4E2C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B91D0 003B4E30  7C 7B 02 14 */	add r3, r27, r0
/* 803B91D4 003B4E34  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B91D8 003B4E38  2C 00 00 00 */	cmpwi r0, 0
/* 803B91DC 003B4E3C  41 82 00 60 */	beq lbl_803B923C
/* 803B91E0 003B4E40  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803B91E4 003B4E44  38 80 00 0A */	li r4, 0xa
/* 803B91E8 003B4E48  1C 60 FF FF */	mulli r3, r0, -1
/* 803B91EC 003B4E4C  48 00 79 7D */	bl func_803C0B68
/* 803B91F0 003B4E50  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803B91F4 003B4E54  38 80 00 02 */	li r4, 2
/* 803B91F8 003B4E58  90 7B 21 5C */	stw r3, 0x215c(r27)
/* 803B91FC 003B4E5C  7F 63 DB 78 */	mr r3, r27
/* 803B9200 003B4E60  38 A0 00 D6 */	li r5, 0xd6
/* 803B9204 003B4E64  90 1B 01 18 */	stw r0, 0x118(r27)
/* 803B9208 003B4E68  48 00 17 CD */	bl func_803BA9D4
/* 803B920C 003B4E6C  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803B9210 003B4E70  7F 04 C3 78 */	mr r4, r24
/* 803B9214 003B4E74  38 60 00 0E */	li r3, 0xe
/* 803B9218 003B4E78  90 16 CD E8 */	stw r0, -0x3218(r22)
/* 803B921C 003B4E7C  92 F8 00 04 */	stw r23, 4(r24)
/* 803B9220 003B4E80  93 38 00 08 */	stw r25, 8(r24)
/* 803B9224 003B4E84  93 58 00 0C */	stw r26, 0xc(r24)
/* 803B9228 003B4E88  4B DB 68 25 */	bl func_8016FA4C
/* 803B922C 003B4E8C  80 1B 00 08 */	lwz r0, 8(r27)
/* 803B9230 003B4E90  3B 80 00 01 */	li r28, 1
/* 803B9234 003B4E94  90 1B 00 0C */	stw r0, 0xc(r27)
/* 803B9238 003B4E98  93 FB 00 08 */	stw r31, 8(r27)
lbl_803B923C:
/* 803B923C 003B4E9C  80 7B 00 30 */	lwz r3, 0x30(r27)
/* 803B9240 003B4EA0  38 03 00 01 */	addi r0, r3, 1
/* 803B9244 003B4EA4  90 1B 00 30 */	stw r0, 0x30(r27)
/* 803B9248 003B4EA8  48 00 00 10 */	b lbl_803B9258
lbl_803B924C:
/* 803B924C 003B4EAC  93 3B 00 30 */	stw r25, 0x30(r27)
/* 803B9250 003B4EB0  3B 80 00 02 */	li r28, 2
/* 803B9254 003B4EB4  93 3B 00 34 */	stw r25, 0x34(r27)
lbl_803B9258:
/* 803B9258 003B4EB8  2C 1C 00 00 */	cmpwi r28, 0
/* 803B925C 003B4EBC  41 82 FE 00 */	beq lbl_803B905C
/* 803B9260 003B4EC0  38 1C FF FF */	addi r0, r28, -1
/* 803B9264 003B4EC4  7C 00 00 34 */	cntlzw r0, r0
/* 803B9268 003B4EC8  54 00 D9 7E */	srwi r0, r0, 5
lbl_803B926C:
/* 803B926C 003B4ECC  2C 00 00 01 */	cmpwi r0, 1
/* 803B9270 003B4ED0  41 82 00 0C */	beq lbl_803B927C
/* 803B9274 003B4ED4  38 00 00 26 */	li r0, 0x26
/* 803B9278 003B4ED8  90 1B 00 08 */	stw r0, 8(r27)
lbl_803B927C:
/* 803B927C 003B4EDC  39 61 00 30 */	addi r11, r1, 0x30
/* 803B9280 003B4EE0  4B E0 DE E1 */	bl _restgpr_22
/* 803B9284 003B4EE4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B9288 003B4EE8  7C 08 03 A6 */	mtlr r0
/* 803B928C 003B4EEC  38 21 00 30 */	addi r1, r1, 0x30
/* 803B9290 003B4EF0  4E 80 00 20 */	blr 
/* 803B9294 003B4EF4  4E 80 00 20 */	blr 
/* 803B9298 003B4EF8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B929C 003B4EFC  7C 08 02 A6 */	mflr r0
/* 803B92A0 003B4F00  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B92A4 003B4F04  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B92A8 003B4F08  7C 9F 23 78 */	mr r31, r4
/* 803B92AC 003B4F0C  93 C1 00 08 */	stw r30, 8(r1)
/* 803B92B0 003B4F10  7C 7E 1B 78 */	mr r30, r3
/* 803B92B4 003B4F14  7F E3 FB 78 */	mr r3, r31
/* 803B92B8 003B4F18  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803B92BC 003B4F1C  48 00 AE 01 */	bl func_803C40BC
/* 803B92C0 003B4F20  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803B92C4 003B4F24  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803B92C8 003B4F28  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B92CC 003B4F2C  40 82 00 10 */	bne lbl_803B92DC
/* 803B92D0 003B4F30  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803B92D4 003B4F34  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B92D8 003B4F38  41 82 00 78 */	beq lbl_803B9350
lbl_803B92DC:
/* 803B92DC 003B4F3C  28 03 00 36 */	cmplwi r3, 0x36
/* 803B92E0 003B4F40  41 82 00 14 */	beq lbl_803B92F4
/* 803B92E4 003B4F44  28 03 00 72 */	cmplwi r3, 0x72
/* 803B92E8 003B4F48  41 82 00 0C */	beq lbl_803B92F4
/* 803B92EC 003B4F4C  28 03 00 7C */	cmplwi r3, 0x7c
/* 803B92F0 003B4F50  40 82 00 4C */	bne lbl_803B933C
lbl_803B92F4:
/* 803B92F4 003B4F54  80 9F 30 40 */	lwz r4, 0x3040(r31)
/* 803B92F8 003B4F58  28 04 00 A5 */	cmplwi r4, 0xa5
/* 803B92FC 003B4F5C  41 82 00 54 */	beq lbl_803B9350
/* 803B9300 003B4F60  28 04 01 71 */	cmplwi r4, 0x171
/* 803B9304 003B4F64  40 82 00 10 */	bne lbl_803B9314
/* 803B9308 003B4F68  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803B930C 003B4F6C  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B9310 003B4F70  40 82 00 40 */	bne lbl_803B9350
lbl_803B9314:
/* 803B9314 003B4F74  28 04 00 E2 */	cmplwi r4, 0xe2
/* 803B9318 003B4F78  40 82 00 10 */	bne lbl_803B9328
/* 803B931C 003B4F7C  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803B9320 003B4F80  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B9324 003B4F84  40 82 00 2C */	bne lbl_803B9350
lbl_803B9328:
/* 803B9328 003B4F88  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B932C 003B4F8C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B9330 003B4F90  7C 7F 02 14 */	add r3, r31, r0
/* 803B9334 003B4F94  B0 83 2D F8 */	sth r4, 0x2df8(r3)
/* 803B9338 003B4F98  48 00 00 18 */	b lbl_803B9350
lbl_803B933C:
/* 803B933C 003B4F9C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B9340 003B4FA0  38 80 00 00 */	li r4, 0
/* 803B9344 003B4FA4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B9348 003B4FA8  7C 7F 02 14 */	add r3, r31, r0
/* 803B934C 003B4FAC  B0 83 2D F8 */	sth r4, 0x2df8(r3)
lbl_803B9350:
/* 803B9350 003B4FB0  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803B9354 003B4FB4  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803B9358 003B4FB8  40 82 00 80 */	bne lbl_803B93D8
/* 803B935C 003B4FBC  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803B9360 003B4FC0  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B9364 003B4FC4  41 82 00 24 */	beq lbl_803B9388
/* 803B9368 003B4FC8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B936C 003B4FCC  80 9F 30 44 */	lwz r4, 0x3044(r31)
/* 803B9370 003B4FD0  54 00 08 3C */	slwi r0, r0, 1
/* 803B9374 003B4FD4  7C 7F 02 14 */	add r3, r31, r0
/* 803B9378 003B4FD8  B0 83 30 5C */	sth r4, 0x305c(r3)
/* 803B937C 003B4FDC  80 1F 30 40 */	lwz r0, 0x3040(r31)
/* 803B9380 003B4FE0  90 1F 30 48 */	stw r0, 0x3048(r31)
/* 803B9384 003B4FE4  48 00 00 1C */	b lbl_803B93A0
lbl_803B9388:
/* 803B9388 003B4FE8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B938C 003B4FEC  38 80 00 00 */	li r4, 0
/* 803B9390 003B4FF0  54 00 08 3C */	slwi r0, r0, 1
/* 803B9394 003B4FF4  7C 7F 02 14 */	add r3, r31, r0
/* 803B9398 003B4FF8  B0 83 30 5C */	sth r4, 0x305c(r3)
/* 803B939C 003B4FFC  90 9F 30 48 */	stw r4, 0x3048(r31)
lbl_803B93A0:
/* 803B93A0 003B5000  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803B93A4 003B5004  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B93A8 003B5008  41 82 00 1C */	beq lbl_803B93C4
/* 803B93AC 003B500C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B93B0 003B5010  80 9F 30 40 */	lwz r4, 0x3040(r31)
/* 803B93B4 003B5014  54 00 08 3C */	slwi r0, r0, 1
/* 803B93B8 003B5018  7C 7F 02 14 */	add r3, r31, r0
/* 803B93BC 003B501C  B0 83 30 7C */	sth r4, 0x307c(r3)
/* 803B93C0 003B5020  48 00 00 18 */	b lbl_803B93D8
lbl_803B93C4:
/* 803B93C4 003B5024  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B93C8 003B5028  38 80 00 00 */	li r4, 0
/* 803B93CC 003B502C  54 00 08 3C */	slwi r0, r0, 1
/* 803B93D0 003B5030  7C 7F 02 14 */	add r3, r31, r0
/* 803B93D4 003B5034  B0 83 30 7C */	sth r4, 0x307c(r3)
lbl_803B93D8:
/* 803B93D8 003B5038  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803B93DC 003B503C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B93E0 003B5040  41 82 00 18 */	beq lbl_803B93F8
/* 803B93E4 003B5044  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803B93E8 003B5048  80 9F 30 40 */	lwz r4, 0x3040(r31)
/* 803B93EC 003B504C  54 00 08 3C */	slwi r0, r0, 1
/* 803B93F0 003B5050  7C 7F 02 14 */	add r3, r31, r0
/* 803B93F4 003B5054  B0 83 30 AC */	sth r4, 0x30ac(r3)
lbl_803B93F8:
/* 803B93F8 003B5058  7F C3 F3 78 */	mr r3, r30
/* 803B93FC 003B505C  7F E4 FB 78 */	mr r4, r31
/* 803B9400 003B5060  48 00 09 85 */	bl func_803B9D84
/* 803B9404 003B5064  7F C3 F3 78 */	mr r3, r30
/* 803B9408 003B5068  7F E4 FB 78 */	mr r4, r31
/* 803B940C 003B506C  48 00 C5 01 */	bl func_803C590C
/* 803B9410 003B5070  38 00 00 27 */	li r0, 0x27
/* 803B9414 003B5074  90 1F 00 08 */	stw r0, 8(r31)
/* 803B9418 003B5078  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B941C 003B507C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B9420 003B5080  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B9424 003B5084  7C 08 03 A6 */	mtlr r0
/* 803B9428 003B5088  38 21 00 10 */	addi r1, r1, 0x10
/* 803B942C 003B508C  4E 80 00 20 */	blr 
/* 803B9430 003B5090  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803B9434 003B5094  7C 08 02 A6 */	mflr r0
/* 803B9438 003B5098  90 01 00 34 */	stw r0, 0x34(r1)
/* 803B943C 003B509C  39 61 00 30 */	addi r11, r1, 0x30
/* 803B9440 003B50A0  4B E0 DC DD */	bl _savegpr_24
/* 803B9444 003B50A4  7C 7D 1B 78 */	mr r29, r3
/* 803B9448 003B50A8  7C 9E 23 78 */	mr r30, r4
/* 803B944C 003B50AC  4B FF 33 F5 */	bl func_803AC840
/* 803B9450 003B50B0  70 60 02 20 */	andi. r0, r3, 0x220
/* 803B9454 003B50B4  40 82 01 CC */	bne lbl_803B9620
/* 803B9458 003B50B8  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803B945C 003B50BC  7F A3 EB 78 */	mr r3, r29
/* 803B9460 003B50C0  7F C4 F3 78 */	mr r4, r30
/* 803B9464 003B50C4  38 C0 00 00 */	li r6, 0
/* 803B9468 003B50C8  48 00 8F 9D */	bl func_803C2404
/* 803B946C 003B50CC  2C 03 00 01 */	cmpwi r3, 1
/* 803B9470 003B50D0  41 82 02 60 */	beq lbl_803B96D0
/* 803B9474 003B50D4  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803B9478 003B50D8  2C 05 00 FF */	cmpwi r5, 0xff
/* 803B947C 003B50DC  41 82 00 1C */	beq lbl_803B9498
/* 803B9480 003B50E0  7F A3 EB 78 */	mr r3, r29
/* 803B9484 003B50E4  7F C4 F3 78 */	mr r4, r30
/* 803B9488 003B50E8  38 C0 00 00 */	li r6, 0
/* 803B948C 003B50EC  48 00 8F 79 */	bl func_803C2404
/* 803B9490 003B50F0  2C 03 00 01 */	cmpwi r3, 1
/* 803B9494 003B50F4  41 82 02 3C */	beq lbl_803B96D0
lbl_803B9498:
/* 803B9498 003B50F8  80 9E 00 08 */	lwz r4, 8(r30)
/* 803B949C 003B50FC  7F C3 F3 78 */	mr r3, r30
/* 803B94A0 003B5100  7C 85 23 78 */	mr r5, r4
/* 803B94A4 003B5104  48 00 08 41 */	bl func_803B9CE4
/* 803B94A8 003B5108  2C 03 00 01 */	cmpwi r3, 1
/* 803B94AC 003B510C  41 82 02 24 */	beq lbl_803B96D0
/* 803B94B0 003B5110  7F A3 EB 78 */	mr r3, r29
/* 803B94B4 003B5114  7F C4 F3 78 */	mr r4, r30
/* 803B94B8 003B5118  48 00 03 09 */	bl func_803B97C0
/* 803B94BC 003B511C  2C 03 00 01 */	cmpwi r3, 1
/* 803B94C0 003B5120  41 82 02 10 */	beq lbl_803B96D0
/* 803B94C4 003B5124  7F A3 EB 78 */	mr r3, r29
/* 803B94C8 003B5128  7F C4 F3 78 */	mr r4, r30
/* 803B94CC 003B512C  48 00 76 C1 */	bl func_803C0B8C
/* 803B94D0 003B5130  2C 03 00 00 */	cmpwi r3, 0
/* 803B94D4 003B5134  7C 65 1B 78 */	mr r5, r3
/* 803B94D8 003B5138  41 82 00 24 */	beq lbl_803B94FC
/* 803B94DC 003B513C  7F C3 F3 78 */	mr r3, r30
/* 803B94E0 003B5140  38 80 00 02 */	li r4, 2
/* 803B94E4 003B5144  48 00 14 F1 */	bl func_803BA9D4
/* 803B94E8 003B5148  80 7E 00 08 */	lwz r3, 8(r30)
/* 803B94EC 003B514C  38 00 00 15 */	li r0, 0x15
/* 803B94F0 003B5150  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803B94F4 003B5154  90 1E 00 08 */	stw r0, 8(r30)
/* 803B94F8 003B5158  48 00 01 D8 */	b lbl_803B96D0
lbl_803B94FC:
/* 803B94FC 003B515C  3F 40 20 04 */	lis r26, 0x200400C0@ha
/* 803B9500 003B5160  3B E0 00 00 */	li r31, 0
/* 803B9504 003B5164  3F 60 DF FC */	lis r27, 0xdffc
/* 803B9508 003B5168  3B 80 00 15 */	li r28, 0x15
/* 803B950C 003B516C  3B 3A 00 C0 */	addi r25, r26, 0x200400C0@l
/* 803B9510 003B5170  48 00 00 70 */	b lbl_803B9580
lbl_803B9514:
/* 803B9514 003B5174  1C 18 00 C0 */	mulli r0, r24, 0xc0
/* 803B9518 003B5178  7C BE 02 14 */	add r5, r30, r0
/* 803B951C 003B517C  80 05 2D C0 */	lwz r0, 0x2dc0(r5)
/* 803B9520 003B5180  7C 00 C8 39 */	and. r0, r0, r25
/* 803B9524 003B5184  40 82 00 48 */	bne lbl_803B956C
/* 803B9528 003B5188  80 85 2D C4 */	lwz r4, 0x2dc4(r5)
/* 803B952C 003B518C  38 1A 00 C0 */	addi r0, r26, 0xc0
/* 803B9530 003B5190  7C 80 00 39 */	and. r0, r4, r0
/* 803B9534 003B5194  41 82 00 38 */	beq lbl_803B956C
/* 803B9538 003B5198  38 1B FF 3F */	addi r0, r27, -193
/* 803B953C 003B519C  7F C3 F3 78 */	mr r3, r30
/* 803B9540 003B51A0  7C 80 00 38 */	and r0, r4, r0
/* 803B9544 003B51A4  38 80 00 02 */	li r4, 2
/* 803B9548 003B51A8  90 05 2D C4 */	stw r0, 0x2dc4(r5)
/* 803B954C 003B51AC  38 A0 01 1F */	li r5, 0x11f
/* 803B9550 003B51B0  48 00 14 85 */	bl func_803BA9D4
/* 803B9554 003B51B4  80 1E 00 08 */	lwz r0, 8(r30)
/* 803B9558 003B51B8  3B E0 00 01 */	li r31, 1
/* 803B955C 003B51BC  80 7E 00 5C */	lwz r3, 0x5c(r30)
/* 803B9560 003B51C0  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803B9564 003B51C4  90 7E 01 18 */	stw r3, 0x118(r30)
/* 803B9568 003B51C8  93 9E 00 08 */	stw r28, 8(r30)
lbl_803B956C:
/* 803B956C 003B51CC  80 7E 00 5C */	lwz r3, 0x5c(r30)
/* 803B9570 003B51D0  2C 1F 00 01 */	cmpwi r31, 1
/* 803B9574 003B51D4  38 03 00 01 */	addi r0, r3, 1
/* 803B9578 003B51D8  90 1E 00 5C */	stw r0, 0x5c(r30)
/* 803B957C 003B51DC  41 82 00 18 */	beq lbl_803B9594
lbl_803B9580:
/* 803B9580 003B51E0  83 1E 00 5C */	lwz r24, 0x5c(r30)
/* 803B9584 003B51E4  7F A3 EB 78 */	mr r3, r29
/* 803B9588 003B51E8  4B FF 32 D9 */	bl func_803AC860
/* 803B958C 003B51EC  7C 18 18 00 */	cmpw r24, r3
/* 803B9590 003B51F0  41 80 FF 84 */	blt lbl_803B9514
lbl_803B9594:
/* 803B9594 003B51F4  2C 1F 00 00 */	cmpwi r31, 0
/* 803B9598 003B51F8  40 82 00 0C */	bne lbl_803B95A4
/* 803B959C 003B51FC  38 00 00 00 */	li r0, 0
/* 803B95A0 003B5200  90 1E 00 5C */	stw r0, 0x5c(r30)
lbl_803B95A4:
/* 803B95A4 003B5204  2C 1F 00 01 */	cmpwi r31, 1
/* 803B95A8 003B5208  41 82 01 28 */	beq lbl_803B96D0
/* 803B95AC 003B520C  7F A3 EB 78 */	mr r3, r29
/* 803B95B0 003B5210  4B FF 32 B1 */	bl func_803AC860
/* 803B95B4 003B5214  39 00 00 00 */	li r8, 0
/* 803B95B8 003B5218  38 80 00 00 */	li r4, 0
/* 803B95BC 003B521C  38 A0 00 00 */	li r5, 0
/* 803B95C0 003B5220  38 C0 FF FF */	li r6, -1
/* 803B95C4 003B5224  7C 69 03 A6 */	mtctr r3
/* 803B95C8 003B5228  2C 03 00 00 */	cmpwi r3, 0
/* 803B95CC 003B522C  40 81 00 30 */	ble lbl_803B95FC
lbl_803B95D0:
/* 803B95D0 003B5230  7D 3E 2A 14 */	add r9, r30, r5
/* 803B95D4 003B5234  7C FE 22 14 */	add r7, r30, r4
/* 803B95D8 003B5238  80 09 21 8C */	lwz r0, 0x218c(r9)
/* 803B95DC 003B523C  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803B95E0 003B5240  80 67 2D B0 */	lwz r3, 0x2db0(r7)
/* 803B95E4 003B5244  38 A5 00 04 */	addi r5, r5, 4
/* 803B95E8 003B5248  7C 00 32 78 */	xor r0, r0, r6
/* 803B95EC 003B524C  7C 60 00 38 */	and r0, r3, r0
/* 803B95F0 003B5250  90 07 2D B0 */	stw r0, 0x2db0(r7)
/* 803B95F4 003B5254  91 09 21 8C */	stw r8, 0x218c(r9)
/* 803B95F8 003B5258  42 00 FF D8 */	bdnz lbl_803B95D0
lbl_803B95FC:
/* 803B95FC 003B525C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B9600 003B5260  38 80 00 00 */	li r4, 0
/* 803B9604 003B5264  54 00 08 3C */	slwi r0, r0, 1
/* 803B9608 003B5268  7C 7E 02 14 */	add r3, r30, r0
/* 803B960C 003B526C  B0 83 30 64 */	sth r4, 0x3064(r3)
/* 803B9610 003B5270  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B9614 003B5274  54 00 08 3C */	slwi r0, r0, 1
/* 803B9618 003B5278  7C 7E 02 14 */	add r3, r30, r0
/* 803B961C 003B527C  B0 83 30 C4 */	sth r4, 0x30c4(r3)
lbl_803B9620:
/* 803B9620 003B5280  80 1E 00 EC */	lwz r0, 0xec(r30)
/* 803B9624 003B5284  38 80 00 27 */	li r4, 0x27
/* 803B9628 003B5288  7C 7E 02 14 */	add r3, r30, r0
/* 803B962C 003B528C  88 03 21 E8 */	lbz r0, 0x21e8(r3)
/* 803B9630 003B5290  54 00 20 36 */	slwi r0, r0, 4
/* 803B9634 003B5294  7C 7E 02 14 */	add r3, r30, r0
/* 803B9638 003B5298  90 83 21 A8 */	stw r4, 0x21a8(r3)
/* 803B963C 003B529C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B9640 003B52A0  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803B9644 003B52A4  7C 7E 02 14 */	add r3, r30, r0
/* 803B9648 003B52A8  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803B964C 003B52AC  54 00 2F FF */	rlwinm. r0, r0, 5, 0x1f, 0x1f
/* 803B9650 003B52B0  41 82 00 28 */	beq lbl_803B9678
/* 803B9654 003B52B4  7F A3 EB 78 */	mr r3, r29
/* 803B9658 003B52B8  7F C4 F3 78 */	mr r4, r30
/* 803B965C 003B52BC  48 00 F1 C5 */	bl func_803C8820
/* 803B9660 003B52C0  7F A3 EB 78 */	mr r3, r29
/* 803B9664 003B52C4  7F C4 F3 78 */	mr r4, r30
/* 803B9668 003B52C8  48 00 6E 5D */	bl func_803C04C4
/* 803B966C 003B52CC  38 00 00 00 */	li r0, 0
/* 803B9670 003B52D0  90 1E 00 EC */	stw r0, 0xec(r30)
/* 803B9674 003B52D4  48 00 00 10 */	b lbl_803B9684
lbl_803B9678:
/* 803B9678 003B52D8  80 7E 00 EC */	lwz r3, 0xec(r30)
/* 803B967C 003B52DC  38 03 00 01 */	addi r0, r3, 1
/* 803B9680 003B52E0  90 1E 00 EC */	stw r0, 0xec(r30)
lbl_803B9684:
/* 803B9684 003B52E4  7F C3 F3 78 */	mr r3, r30
/* 803B9688 003B52E8  48 00 40 A1 */	bl func_803BD728
/* 803B968C 003B52EC  38 00 00 08 */	li r0, 8
/* 803B9690 003B52F0  38 60 00 02 */	li r3, 2
/* 803B9694 003B52F4  90 1E 00 08 */	stw r0, 8(r30)
/* 803B9698 003B52F8  4B DB 4C 4D */	bl func_8016E2E4
/* 803B969C 003B52FC  3F A0 80 49 */	lis r29, lbl_8048CDE8@ha
/* 803B96A0 003B5300  3B BD CD E8 */	addi r29, r29, lbl_8048CDE8@l
/* 803B96A4 003B5304  80 1D 00 3C */	lwz r0, 0x3c(r29)
/* 803B96A8 003B5308  2C 00 00 00 */	cmpwi r0, 0
/* 803B96AC 003B530C  41 82 00 18 */	beq lbl_803B96C4
/* 803B96B0 003B5310  38 60 00 06 */	li r3, 6
/* 803B96B4 003B5314  38 80 00 00 */	li r4, 0
/* 803B96B8 003B5318  4B DB 63 95 */	bl func_8016FA4C
/* 803B96BC 003B531C  38 00 00 00 */	li r0, 0
/* 803B96C0 003B5320  90 1D 00 3C */	stw r0, 0x3c(r29)
lbl_803B96C4:
/* 803B96C4 003B5324  38 60 00 04 */	li r3, 4
/* 803B96C8 003B5328  38 80 00 00 */	li r4, 0
/* 803B96CC 003B532C  4B DB 63 81 */	bl func_8016FA4C
lbl_803B96D0:
/* 803B96D0 003B5330  39 61 00 30 */	addi r11, r1, 0x30
/* 803B96D4 003B5334  4B E0 DA 95 */	bl _restgpr_24
/* 803B96D8 003B5338  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803B96DC 003B533C  7C 08 03 A6 */	mtlr r0
/* 803B96E0 003B5340  38 21 00 30 */	addi r1, r1, 0x30
/* 803B96E4 003B5344  4E 80 00 20 */	blr 
/* 803B96E8 003B5348  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B96EC 003B534C  7C 08 02 A6 */	mflr r0
/* 803B96F0 003B5350  38 C0 00 01 */	li r6, 1
/* 803B96F4 003B5354  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B96F8 003B5358  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B96FC 003B535C  7C 9F 23 78 */	mr r31, r4
/* 803B9700 003B5360  7F E3 FB 78 */	mr r3, r31
/* 803B9704 003B5364  80 A4 00 08 */	lwz r5, 8(r4)
/* 803B9708 003B5368  7C A4 2B 78 */	mr r4, r5
/* 803B970C 003B536C  48 00 04 E5 */	bl func_803B9BF0
/* 803B9710 003B5370  2C 03 00 01 */	cmpwi r3, 1
/* 803B9714 003B5374  41 82 00 0C */	beq lbl_803B9720
/* 803B9718 003B5378  38 00 00 27 */	li r0, 0x27
/* 803B971C 003B537C  90 1F 00 08 */	stw r0, 8(r31)
lbl_803B9720:
/* 803B9720 003B5380  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B9724 003B5384  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B9728 003B5388  7C 08 03 A6 */	mtlr r0
/* 803B972C 003B538C  38 21 00 10 */	addi r1, r1, 0x10
/* 803B9730 003B5390  4E 80 00 20 */	blr 
/* 803B9734 003B5394  38 60 00 2A */	li r3, 0x2a
/* 803B9738 003B5398  38 00 00 01 */	li r0, 1
/* 803B973C 003B539C  90 64 00 08 */	stw r3, 8(r4)
/* 803B9740 003B53A0  98 04 31 1F */	stb r0, 0x311f(r4)
/* 803B9744 003B53A4  4E 80 00 20 */	blr 
/* 803B9748 003B53A8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B974C 003B53AC  7C 08 02 A6 */	mflr r0
/* 803B9750 003B53B0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B9754 003B53B4  39 61 00 20 */	addi r11, r1, 0x20
/* 803B9758 003B53B8  4B E0 D9 D9 */	bl _savegpr_29
/* 803B975C 003B53BC  7C 7E 1B 78 */	mr r30, r3
/* 803B9760 003B53C0  7C 9D 23 78 */	mr r29, r4
/* 803B9764 003B53C4  4B FF 30 DD */	bl func_803AC840
/* 803B9768 003B53C8  54 7F 07 7B */	rlwinm. r31, r3, 0, 0x1d, 0x1d
/* 803B976C 003B53CC  40 82 00 20 */	bne lbl_803B978C
/* 803B9770 003B53D0  7F C3 F3 78 */	mr r3, r30
/* 803B9774 003B53D4  38 80 00 00 */	li r4, 0
/* 803B9778 003B53D8  4B FF 30 F1 */	bl func_803AC868
/* 803B977C 003B53DC  7C 7E 1B 78 */	mr r30, r3
/* 803B9780 003B53E0  48 02 32 09 */	bl func_803DC988
/* 803B9784 003B53E4  7F C3 F3 78 */	mr r3, r30
/* 803B9788 003B53E8  48 02 33 BD */	bl func_803DCB44
lbl_803B978C:
/* 803B978C 003B53EC  2C 1F 00 00 */	cmpwi r31, 0
/* 803B9790 003B53F0  41 82 00 0C */	beq lbl_803B979C
/* 803B9794 003B53F4  38 60 00 00 */	li r3, 0
/* 803B9798 003B53F8  48 02 00 AD */	bl func_803D9844
lbl_803B979C:
/* 803B979C 003B53FC  38 00 00 2B */	li r0, 0x2b
/* 803B97A0 003B5400  39 61 00 20 */	addi r11, r1, 0x20
/* 803B97A4 003B5404  90 1D 00 08 */	stw r0, 8(r29)
/* 803B97A8 003B5408  4B E0 D9 D5 */	bl _restgpr_29
/* 803B97AC 003B540C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B97B0 003B5410  7C 08 03 A6 */	mtlr r0
/* 803B97B4 003B5414  38 21 00 20 */	addi r1, r1, 0x20
/* 803B97B8 003B5418  4E 80 00 20 */	blr 
/* 803B97BC 003B541C  4E 80 00 20 */	blr 

.global func_803B97C0
func_803B97C0:
/* 803B97C0 003B5420  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803B97C4 003B5424  7C 08 02 A6 */	mflr r0
/* 803B97C8 003B5428  90 01 00 54 */	stw r0, 0x54(r1)
/* 803B97CC 003B542C  39 61 00 50 */	addi r11, r1, 0x50
/* 803B97D0 003B5430  4B E0 D9 2D */	bl _savegpr_16
/* 803B97D4 003B5434  7C 76 1B 78 */	mr r22, r3
/* 803B97D8 003B5438  7C 97 23 78 */	mr r23, r4
/* 803B97DC 003B543C  3B 20 00 00 */	li r25, 0
/* 803B97E0 003B5440  4B FF 30 81 */	bl func_803AC860
/* 803B97E4 003B5444  7C 7E 1B 78 */	mr r30, r3
/* 803B97E8 003B5448  7E C3 B3 78 */	mr r3, r22
/* 803B97EC 003B544C  4B FF 30 55 */	bl func_803AC840
/* 803B97F0 003B5450  54 64 06 7E */	clrlwi r4, r3, 0x19
/* 803B97F4 003B5454  54 7D 07 38 */	rlwinm r29, r3, 0, 0x1c, 0x1c
/* 803B97F8 003B5458  54 7C 06 F6 */	rlwinm r28, r3, 0, 0x1b, 0x1b
/* 803B97FC 003B545C  3B 40 00 00 */	li r26, 0
/* 803B9800 003B5460  3B E4 FF B6 */	addi r31, r4, -74
/* 803B9804 003B5464  3B 60 00 00 */	li r27, 0
/* 803B9808 003B5468  3A A0 00 00 */	li r21, 0
/* 803B980C 003B546C  48 00 03 58 */	b lbl_803B9B64
lbl_803B9810:
/* 803B9810 003B5470  28 1F 00 01 */	cmplwi r31, 1
/* 803B9814 003B5474  41 81 00 E8 */	bgt lbl_803B98FC
/* 803B9818 003B5478  7E C3 B3 78 */	mr r3, r22
/* 803B981C 003B547C  7F 64 DB 78 */	mr r4, r27
/* 803B9820 003B5480  4B FF 34 C5 */	bl func_803ACCE4
/* 803B9824 003B5484  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B9828 003B5488  40 82 00 D4 */	bne lbl_803B98FC
/* 803B982C 003B548C  7E C3 B3 78 */	mr r3, r22
/* 803B9830 003B5490  7F 64 DB 78 */	mr r4, r27
/* 803B9834 003B5494  4B FF 34 A1 */	bl func_803ACCD4
/* 803B9838 003B5498  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B983C 003B549C  28 00 00 02 */	cmplwi r0, 2
/* 803B9840 003B54A0  40 82 03 1C */	bne lbl_803B9B5C
/* 803B9844 003B54A4  7C 77 AA 14 */	add r3, r23, r21
/* 803B9848 003B54A8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B984C 003B54AC  2C 00 00 00 */	cmpwi r0, 0
/* 803B9850 003B54B0  40 82 00 A4 */	bne lbl_803B98F4
/* 803B9854 003B54B4  7E C3 B3 78 */	mr r3, r22
/* 803B9858 003B54B8  7F 64 DB 78 */	mr r4, r27
/* 803B985C 003B54BC  3A 80 00 00 */	li r20, 0
/* 803B9860 003B54C0  4B FF 30 09 */	bl func_803AC868
/* 803B9864 003B54C4  7C 78 1B 78 */	mr r24, r3
/* 803B9868 003B54C8  7E C3 B3 78 */	mr r3, r22
/* 803B986C 003B54CC  7F 64 DB 78 */	mr r4, r27
/* 803B9870 003B54D0  4B FF 2F E1 */	bl cTeam_GetPlayer
/* 803B9874 003B54D4  3A 60 00 00 */	li r19, 0
/* 803B9878 003B54D8  48 00 00 58 */	b lbl_803B98D0
lbl_803B987C:
/* 803B987C 003B54DC  7F 03 C3 78 */	mr r3, r24
/* 803B9880 003B54E0  7E 64 9B 78 */	mr r4, r19
/* 803B9884 003B54E4  48 02 50 C9 */	bl func_803DE94C
/* 803B9888 003B54E8  7C 72 1B 78 */	mr r18, r3
/* 803B988C 003B54EC  38 80 00 AD */	li r4, 0xad
/* 803B9890 003B54F0  38 A0 00 00 */	li r5, 0
/* 803B9894 003B54F4  48 02 41 49 */	bl func_803DD9DC
/* 803B9898 003B54F8  2C 03 00 00 */	cmpwi r3, 0
/* 803B989C 003B54FC  41 82 00 30 */	beq lbl_803B98CC
/* 803B98A0 003B5500  7E 43 93 78 */	mr r3, r18
/* 803B98A4 003B5504  38 80 00 AD */	li r4, 0xad
/* 803B98A8 003B5508  38 A0 00 00 */	li r5, 0
/* 803B98AC 003B550C  48 02 41 31 */	bl func_803DD9DC
/* 803B98B0 003B5510  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B98B4 003B5514  41 82 00 18 */	beq lbl_803B98CC
/* 803B98B8 003B5518  7E 43 93 78 */	mr r3, r18
/* 803B98BC 003B551C  38 80 00 A2 */	li r4, 0xa2
/* 803B98C0 003B5520  38 A0 00 00 */	li r5, 0
/* 803B98C4 003B5524  48 02 41 19 */	bl func_803DD9DC
/* 803B98C8 003B5528  7E 94 1A 14 */	add r20, r20, r3
lbl_803B98CC:
/* 803B98CC 003B552C  3A 73 00 01 */	addi r19, r19, 1
lbl_803B98D0:
/* 803B98D0 003B5530  7F 03 C3 78 */	mr r3, r24
/* 803B98D4 003B5534  48 02 50 71 */	bl func_803DE944
/* 803B98D8 003B5538  7C 13 18 00 */	cmpw r19, r3
/* 803B98DC 003B553C  41 80 FF A0 */	blt lbl_803B987C
/* 803B98E0 003B5540  2C 14 00 00 */	cmpwi r20, 0
/* 803B98E4 003B5544  7F 39 A2 14 */	add r25, r25, r20
/* 803B98E8 003B5548  40 82 02 74 */	bne lbl_803B9B5C
/* 803B98EC 003B554C  63 5A 00 02 */	ori r26, r26, 2
/* 803B98F0 003B5550  48 00 02 6C */	b lbl_803B9B5C
lbl_803B98F4:
/* 803B98F4 003B5554  3B 39 00 01 */	addi r25, r25, 1
/* 803B98F8 003B5558  48 00 02 64 */	b lbl_803B9B5C
lbl_803B98FC:
/* 803B98FC 003B555C  2C 1D 00 00 */	cmpwi r29, 0
/* 803B9900 003B5560  40 82 00 20 */	bne lbl_803B9920
/* 803B9904 003B5564  2C 1C 00 00 */	cmpwi r28, 0
/* 803B9908 003B5568  41 82 01 7C */	beq lbl_803B9A84
/* 803B990C 003B556C  7E C3 B3 78 */	mr r3, r22
/* 803B9910 003B5570  7F 64 DB 78 */	mr r4, r27
/* 803B9914 003B5574  4B FF 33 D1 */	bl func_803ACCE4
/* 803B9918 003B5578  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803B991C 003B557C  41 82 01 68 */	beq lbl_803B9A84
lbl_803B9920:
/* 803B9920 003B5580  7C 77 AA 14 */	add r3, r23, r21
/* 803B9924 003B5584  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B9928 003B5588  2C 00 00 00 */	cmpwi r0, 0
/* 803B992C 003B558C  40 82 01 50 */	bne lbl_803B9A7C
/* 803B9930 003B5590  7E C3 B3 78 */	mr r3, r22
/* 803B9934 003B5594  7F 64 DB 78 */	mr r4, r27
/* 803B9938 003B5598  3A 20 00 00 */	li r17, 0
/* 803B993C 003B559C  4B FF 2F 2D */	bl func_803AC868
/* 803B9940 003B55A0  7C 73 1B 78 */	mr r19, r3
/* 803B9944 003B55A4  7E C3 B3 78 */	mr r3, r22
/* 803B9948 003B55A8  7F 64 DB 78 */	mr r4, r27
/* 803B994C 003B55AC  4B FF 33 ED */	bl func_803ACD38
/* 803B9950 003B55B0  7C 64 1B 78 */	mr r4, r3
/* 803B9954 003B55B4  7E C3 B3 78 */	mr r3, r22
/* 803B9958 003B55B8  4B FF 2F 11 */	bl func_803AC868
/* 803B995C 003B55BC  7C 70 1B 78 */	mr r16, r3
/* 803B9960 003B55C0  7E C3 B3 78 */	mr r3, r22
/* 803B9964 003B55C4  7F 64 DB 78 */	mr r4, r27
/* 803B9968 003B55C8  4B FF 2E E9 */	bl cTeam_GetPlayer
/* 803B996C 003B55CC  7C 78 1B 78 */	mr r24, r3
/* 803B9970 003B55D0  3A 40 00 00 */	li r18, 0
/* 803B9974 003B55D4  48 00 00 58 */	b lbl_803B99CC
lbl_803B9978:
/* 803B9978 003B55D8  7E 63 9B 78 */	mr r3, r19
/* 803B997C 003B55DC  7E 44 93 78 */	mr r4, r18
/* 803B9980 003B55E0  48 02 4F CD */	bl func_803DE94C
/* 803B9984 003B55E4  7C 74 1B 78 */	mr r20, r3
/* 803B9988 003B55E8  38 80 00 AD */	li r4, 0xad
/* 803B998C 003B55EC  38 A0 00 00 */	li r5, 0
/* 803B9990 003B55F0  48 02 40 4D */	bl func_803DD9DC
/* 803B9994 003B55F4  2C 03 00 00 */	cmpwi r3, 0
/* 803B9998 003B55F8  41 82 00 30 */	beq lbl_803B99C8
/* 803B999C 003B55FC  7E 83 A3 78 */	mr r3, r20
/* 803B99A0 003B5600  38 80 00 AD */	li r4, 0xad
/* 803B99A4 003B5604  38 A0 00 00 */	li r5, 0
/* 803B99A8 003B5608  48 02 40 35 */	bl func_803DD9DC
/* 803B99AC 003B560C  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B99B0 003B5610  41 82 00 18 */	beq lbl_803B99C8
/* 803B99B4 003B5614  7E 83 A3 78 */	mr r3, r20
/* 803B99B8 003B5618  38 80 00 A2 */	li r4, 0xa2
/* 803B99BC 003B561C  38 A0 00 00 */	li r5, 0
/* 803B99C0 003B5620  48 02 40 1D */	bl func_803DD9DC
/* 803B99C4 003B5624  7E 31 1A 14 */	add r17, r17, r3
lbl_803B99C8:
/* 803B99C8 003B5628  3A 52 00 01 */	addi r18, r18, 1
lbl_803B99CC:
/* 803B99CC 003B562C  7E 63 9B 78 */	mr r3, r19
/* 803B99D0 003B5630  48 02 4F 75 */	bl func_803DE944
/* 803B99D4 003B5634  7C 12 18 00 */	cmpw r18, r3
/* 803B99D8 003B5638  41 80 FF A0 */	blt lbl_803B9978
/* 803B99DC 003B563C  3A 80 00 00 */	li r20, 0
/* 803B99E0 003B5640  48 00 00 58 */	b lbl_803B9A38
lbl_803B99E4:
/* 803B99E4 003B5644  7E 03 83 78 */	mr r3, r16
/* 803B99E8 003B5648  7E 84 A3 78 */	mr r4, r20
/* 803B99EC 003B564C  48 02 4F 61 */	bl func_803DE94C
/* 803B99F0 003B5650  7C 73 1B 78 */	mr r19, r3
/* 803B99F4 003B5654  38 80 00 AD */	li r4, 0xad
/* 803B99F8 003B5658  38 A0 00 00 */	li r5, 0
/* 803B99FC 003B565C  48 02 3F E1 */	bl func_803DD9DC
/* 803B9A00 003B5660  2C 03 00 00 */	cmpwi r3, 0
/* 803B9A04 003B5664  41 82 00 30 */	beq lbl_803B9A34
/* 803B9A08 003B5668  7E 63 9B 78 */	mr r3, r19
/* 803B9A0C 003B566C  38 80 00 AD */	li r4, 0xad
/* 803B9A10 003B5670  38 A0 00 00 */	li r5, 0
/* 803B9A14 003B5674  48 02 3F C9 */	bl func_803DD9DC
/* 803B9A18 003B5678  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B9A1C 003B567C  41 82 00 18 */	beq lbl_803B9A34
/* 803B9A20 003B5680  7E 63 9B 78 */	mr r3, r19
/* 803B9A24 003B5684  38 80 00 A2 */	li r4, 0xa2
/* 803B9A28 003B5688  38 A0 00 00 */	li r5, 0
/* 803B9A2C 003B568C  48 02 3F B1 */	bl func_803DD9DC
/* 803B9A30 003B5690  7E 31 1A 14 */	add r17, r17, r3
lbl_803B9A34:
/* 803B9A34 003B5694  3A 94 00 01 */	addi r20, r20, 1
lbl_803B9A38:
/* 803B9A38 003B5698  7E 03 83 78 */	mr r3, r16
/* 803B9A3C 003B569C  48 02 4F 09 */	bl func_803DE944
/* 803B9A40 003B56A0  7C 14 18 00 */	cmpw r20, r3
/* 803B9A44 003B56A4  41 80 FF A0 */	blt lbl_803B99E4
/* 803B9A48 003B56A8  2C 11 00 00 */	cmpwi r17, 0
/* 803B9A4C 003B56AC  7F 39 8A 14 */	add r25, r25, r17
/* 803B9A50 003B56B0  40 82 01 0C */	bne lbl_803B9B5C
/* 803B9A54 003B56B4  7F 03 C3 78 */	mr r3, r24
/* 803B9A58 003B56B8  4B FF 1A BD */	bl func_803AB514
/* 803B9A5C 003B56BC  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B9A60 003B56C0  41 82 00 10 */	beq lbl_803B9A70
/* 803B9A64 003B56C4  63 40 00 01 */	ori r0, r26, 1
/* 803B9A68 003B56C8  54 1A 06 3E */	clrlwi r26, r0, 0x18
/* 803B9A6C 003B56CC  48 00 00 F0 */	b lbl_803B9B5C
lbl_803B9A70:
/* 803B9A70 003B56D0  63 40 00 02 */	ori r0, r26, 2
/* 803B9A74 003B56D4  54 1A 06 3E */	clrlwi r26, r0, 0x18
/* 803B9A78 003B56D8  48 00 00 E4 */	b lbl_803B9B5C
lbl_803B9A7C:
/* 803B9A7C 003B56DC  3B 39 00 01 */	addi r25, r25, 1
/* 803B9A80 003B56E0  48 00 00 DC */	b lbl_803B9B5C
lbl_803B9A84:
/* 803B9A84 003B56E4  7C 77 AA 14 */	add r3, r23, r21
/* 803B9A88 003B56E8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803B9A8C 003B56EC  2C 00 00 00 */	cmpwi r0, 0
/* 803B9A90 003B56F0  40 82 00 C8 */	bne lbl_803B9B58
/* 803B9A94 003B56F4  7E C3 B3 78 */	mr r3, r22
/* 803B9A98 003B56F8  7F 64 DB 78 */	mr r4, r27
/* 803B9A9C 003B56FC  3A 20 00 00 */	li r17, 0
/* 803B9AA0 003B5700  4B FF 2D C9 */	bl func_803AC868
/* 803B9AA4 003B5704  7C 72 1B 78 */	mr r18, r3
/* 803B9AA8 003B5708  7E C3 B3 78 */	mr r3, r22
/* 803B9AAC 003B570C  7F 64 DB 78 */	mr r4, r27
/* 803B9AB0 003B5710  4B FF 2D A1 */	bl cTeam_GetPlayer
/* 803B9AB4 003B5714  7C 74 1B 78 */	mr r20, r3
/* 803B9AB8 003B5718  3A 00 00 00 */	li r16, 0
/* 803B9ABC 003B571C  48 00 00 58 */	b lbl_803B9B14
lbl_803B9AC0:
/* 803B9AC0 003B5720  7E 43 93 78 */	mr r3, r18
/* 803B9AC4 003B5724  7E 04 83 78 */	mr r4, r16
/* 803B9AC8 003B5728  48 02 4E 85 */	bl func_803DE94C
/* 803B9ACC 003B572C  7C 73 1B 78 */	mr r19, r3
/* 803B9AD0 003B5730  38 80 00 AD */	li r4, 0xad
/* 803B9AD4 003B5734  38 A0 00 00 */	li r5, 0
/* 803B9AD8 003B5738  48 02 3F 05 */	bl func_803DD9DC
/* 803B9ADC 003B573C  2C 03 00 00 */	cmpwi r3, 0
/* 803B9AE0 003B5740  41 82 00 30 */	beq lbl_803B9B10
/* 803B9AE4 003B5744  7E 63 9B 78 */	mr r3, r19
/* 803B9AE8 003B5748  38 80 00 AD */	li r4, 0xad
/* 803B9AEC 003B574C  38 A0 00 00 */	li r5, 0
/* 803B9AF0 003B5750  48 02 3E ED */	bl func_803DD9DC
/* 803B9AF4 003B5754  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803B9AF8 003B5758  41 82 00 18 */	beq lbl_803B9B10
/* 803B9AFC 003B575C  7E 63 9B 78 */	mr r3, r19
/* 803B9B00 003B5760  38 80 00 A2 */	li r4, 0xa2
/* 803B9B04 003B5764  38 A0 00 00 */	li r5, 0
/* 803B9B08 003B5768  48 02 3E D5 */	bl func_803DD9DC
/* 803B9B0C 003B576C  7E 31 1A 14 */	add r17, r17, r3
lbl_803B9B10:
/* 803B9B10 003B5770  3A 10 00 01 */	addi r16, r16, 1
lbl_803B9B14:
/* 803B9B14 003B5774  7E 43 93 78 */	mr r3, r18
/* 803B9B18 003B5778  48 02 4E 2D */	bl func_803DE944
/* 803B9B1C 003B577C  7C 10 18 00 */	cmpw r16, r3
/* 803B9B20 003B5780  41 80 FF A0 */	blt lbl_803B9AC0
/* 803B9B24 003B5784  2C 11 00 00 */	cmpwi r17, 0
/* 803B9B28 003B5788  7F 39 8A 14 */	add r25, r25, r17
/* 803B9B2C 003B578C  40 82 00 30 */	bne lbl_803B9B5C
/* 803B9B30 003B5790  7E 83 A3 78 */	mr r3, r20
/* 803B9B34 003B5794  4B FF 19 E1 */	bl func_803AB514
/* 803B9B38 003B5798  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803B9B3C 003B579C  41 82 00 10 */	beq lbl_803B9B4C
/* 803B9B40 003B57A0  63 40 00 01 */	ori r0, r26, 1
/* 803B9B44 003B57A4  54 1A 06 3E */	clrlwi r26, r0, 0x18
/* 803B9B48 003B57A8  48 00 00 14 */	b lbl_803B9B5C
lbl_803B9B4C:
/* 803B9B4C 003B57AC  63 40 00 02 */	ori r0, r26, 2
/* 803B9B50 003B57B0  54 1A 06 3E */	clrlwi r26, r0, 0x18
/* 803B9B54 003B57B4  48 00 00 08 */	b lbl_803B9B5C
lbl_803B9B58:
/* 803B9B58 003B57B8  3B 39 00 01 */	addi r25, r25, 1
lbl_803B9B5C:
/* 803B9B5C 003B57BC  3B 7B 00 01 */	addi r27, r27, 1
/* 803B9B60 003B57C0  3A B5 00 C0 */	addi r21, r21, 0xc0
lbl_803B9B64:
/* 803B9B64 003B57C4  7C 1B F0 00 */	cmpw r27, r30
/* 803B9B68 003B57C8  41 80 FC A8 */	blt lbl_803B9810
/* 803B9B6C 003B57CC  57 40 06 3F */	clrlwi. r0, r26, 0x18
/* 803B9B70 003B57D0  41 82 00 40 */	beq lbl_803B9BB0
/* 803B9B74 003B57D4  2C 19 00 00 */	cmpwi r25, 0
/* 803B9B78 003B57D8  40 82 00 38 */	bne lbl_803B9BB0
/* 803B9B7C 003B57DC  7E C3 B3 78 */	mr r3, r22
/* 803B9B80 003B57E0  4B FF 58 BD */	bl func_803AF43C
/* 803B9B84 003B57E4  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803B9B88 003B57E8  41 82 00 28 */	beq lbl_803B9BB0
/* 803B9B8C 003B57EC  80 17 30 44 */	lwz r0, 0x3044(r23)
/* 803B9B90 003B57F0  28 00 00 78 */	cmplwi r0, 0x78
/* 803B9B94 003B57F4  41 82 00 0C */	beq lbl_803B9BA0
/* 803B9B98 003B57F8  28 00 00 99 */	cmplwi r0, 0x99
/* 803B9B9C 003B57FC  40 82 00 14 */	bne lbl_803B9BB0
lbl_803B9BA0:
/* 803B9BA0 003B5800  80 17 00 64 */	lwz r0, 0x64(r23)
/* 803B9BA4 003B5804  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 803B9BA8 003B5808  7C 60 00 D0 */	neg r3, r0
/* 803B9BAC 003B580C  3B 43 00 02 */	addi r26, r3, 2
lbl_803B9BB0:
/* 803B9BB0 003B5810  57 44 06 3F */	clrlwi. r4, r26, 0x18
/* 803B9BB4 003B5814  41 82 00 18 */	beq lbl_803B9BCC
/* 803B9BB8 003B5818  7E C3 B3 78 */	mr r3, r22
/* 803B9BBC 003B581C  4B FF 41 25 */	bl func_803ADCE0
/* 803B9BC0 003B5820  38 60 00 17 */	li r3, 0x17
/* 803B9BC4 003B5824  38 80 00 00 */	li r4, 0
/* 803B9BC8 003B5828  4B DB 5E 85 */	bl func_8016FA4C
lbl_803B9BCC:
/* 803B9BCC 003B582C  57 43 06 3E */	clrlwi r3, r26, 0x18
/* 803B9BD0 003B5830  39 61 00 50 */	addi r11, r1, 0x50
/* 803B9BD4 003B5834  30 03 FF FF */	addic r0, r3, -1
/* 803B9BD8 003B5838  7C 60 19 10 */	subfe r3, r0, r3
/* 803B9BDC 003B583C  4B E0 D5 6D */	bl _restgpr_16
/* 803B9BE0 003B5840  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803B9BE4 003B5844  7C 08 03 A6 */	mtlr r0
/* 803B9BE8 003B5848  38 21 00 50 */	addi r1, r1, 0x50
/* 803B9BEC 003B584C  4E 80 00 20 */	blr 

.global func_803B9BF0
func_803B9BF0:
/* 803B9BF0 003B5850  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803B9BF4 003B5854  7C 08 02 A6 */	mflr r0
/* 803B9BF8 003B5858  90 01 00 24 */	stw r0, 0x24(r1)
/* 803B9BFC 003B585C  39 61 00 20 */	addi r11, r1, 0x20
/* 803B9C00 003B5860  4B E0 D5 29 */	bl _savegpr_27
/* 803B9C04 003B5864  7C 7E 1B 78 */	mr r30, r3
/* 803B9C08 003B5868  88 63 21 EC */	lbz r3, 0x21ec(r3)
/* 803B9C0C 003B586C  7C 9F 23 78 */	mr r31, r4
/* 803B9C10 003B5870  7C BB 2B 78 */	mr r27, r5
/* 803B9C14 003B5874  7C DC 33 78 */	mr r28, r6
/* 803B9C18 003B5878  3B A0 00 00 */	li r29, 0
/* 803B9C1C 003B587C  48 02 3D 05 */	bl func_803DD920
/* 803B9C20 003B5880  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803B9C24 003B5884  54 65 C0 0E */	slwi r5, r3, 0x18
/* 803B9C28 003B5888  54 00 01 0F */	rlwinm. r0, r0, 0, 4, 7
/* 803B9C2C 003B588C  41 82 00 98 */	beq lbl_803B9CC4
/* 803B9C30 003B5890  48 00 00 18 */	b lbl_803B9C48
lbl_803B9C34:
/* 803B9C34 003B5894  3B BD 00 01 */	addi r29, r29, 1
/* 803B9C38 003B5898  7C 7E EA 14 */	add r3, r30, r29
/* 803B9C3C 003B589C  88 63 21 EC */	lbz r3, 0x21ec(r3)
/* 803B9C40 003B58A0  48 02 3C E1 */	bl func_803DD920
/* 803B9C44 003B58A4  54 65 C0 0E */	slwi r5, r3, 0x18
lbl_803B9C48:
/* 803B9C48 003B58A8  80 9E 21 3C */	lwz r4, 0x213c(r30)
/* 803B9C4C 003B58AC  7C 80 28 39 */	and. r0, r4, r5
/* 803B9C50 003B58B0  41 82 FF E4 */	beq lbl_803B9C34
/* 803B9C54 003B58B4  38 00 FF FF */	li r0, -1
/* 803B9C58 003B58B8  7C A3 C6 70 */	srawi r3, r5, 0x18
/* 803B9C5C 003B58BC  7C A0 02 78 */	xor r0, r5, r0
/* 803B9C60 003B58C0  7C 80 00 38 */	and r0, r4, r0
/* 803B9C64 003B58C4  90 1E 21 3C */	stw r0, 0x213c(r30)
/* 803B9C68 003B58C8  48 02 3C D9 */	bl func_803DD940
/* 803B9C6C 003B58CC  2C 1C 00 01 */	cmpwi r28, 1
/* 803B9C70 003B58D0  90 7E 00 74 */	stw r3, 0x74(r30)
/* 803B9C74 003B58D4  40 82 00 18 */	bne lbl_803B9C8C
/* 803B9C78 003B58D8  7F C3 F3 78 */	mr r3, r30
/* 803B9C7C 003B58DC  38 80 00 02 */	li r4, 2
/* 803B9C80 003B58E0  38 A0 00 06 */	li r5, 6
/* 803B9C84 003B58E4  48 00 0D 51 */	bl func_803BA9D4
/* 803B9C88 003B58E8  48 00 00 14 */	b lbl_803B9C9C
lbl_803B9C8C:
/* 803B9C8C 003B58EC  7F C3 F3 78 */	mr r3, r30
/* 803B9C90 003B58F0  38 80 00 02 */	li r4, 2
/* 803B9C94 003B58F4  38 A0 00 53 */	li r5, 0x53
/* 803B9C98 003B58F8  48 00 0D 3D */	bl func_803BA9D4
lbl_803B9C9C:
/* 803B9C9C 003B58FC  80 1E 00 74 */	lwz r0, 0x74(r30)
/* 803B9CA0 003B5900  38 60 00 15 */	li r3, 0x15
/* 803B9CA4 003B5904  90 7E 00 08 */	stw r3, 8(r30)
/* 803B9CA8 003B5908  38 A0 00 27 */	li r5, 0x27
/* 803B9CAC 003B590C  54 00 20 36 */	slwi r0, r0, 4
/* 803B9CB0 003B5910  38 60 00 01 */	li r3, 1
/* 803B9CB4 003B5914  93 FE 00 0C */	stw r31, 0xc(r30)
/* 803B9CB8 003B5918  7C 9E 02 14 */	add r4, r30, r0
/* 803B9CBC 003B591C  90 A4 21 A8 */	stw r5, 0x21a8(r4)
/* 803B9CC0 003B5920  48 00 00 0C */	b lbl_803B9CCC
lbl_803B9CC4:
/* 803B9CC4 003B5924  93 7E 00 08 */	stw r27, 8(r30)
/* 803B9CC8 003B5928  38 60 00 00 */	li r3, 0
lbl_803B9CCC:
/* 803B9CCC 003B592C  39 61 00 20 */	addi r11, r1, 0x20
/* 803B9CD0 003B5930  4B E0 D4 A5 */	bl _restgpr_27
/* 803B9CD4 003B5934  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803B9CD8 003B5938  7C 08 03 A6 */	mtlr r0
/* 803B9CDC 003B593C  38 21 00 20 */	addi r1, r1, 0x20
/* 803B9CE0 003B5940  4E 80 00 20 */	blr 

.global func_803B9CE4
func_803B9CE4:
/* 803B9CE4 003B5944  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B9CE8 003B5948  7C 08 02 A6 */	mflr r0
/* 803B9CEC 003B594C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B9CF0 003B5950  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B9CF4 003B5954  7C 9F 23 78 */	mr r31, r4
/* 803B9CF8 003B5958  93 C1 00 08 */	stw r30, 8(r1)
/* 803B9CFC 003B595C  7C 7E 1B 78 */	mr r30, r3
/* 803B9D00 003B5960  80 C3 21 40 */	lwz r6, 0x2140(r3)
/* 803B9D04 003B5964  54 C0 00 07 */	rlwinm. r0, r6, 0, 0, 3
/* 803B9D08 003B5968  41 82 00 5C */	beq lbl_803B9D64
/* 803B9D0C 003B596C  3C A0 10 00 */	lis r5, 0x1000
/* 803B9D10 003B5970  48 00 00 08 */	b lbl_803B9D18
lbl_803B9D14:
/* 803B9D14 003B5974  54 A5 08 3C */	slwi r5, r5, 1
lbl_803B9D18:
/* 803B9D18 003B5978  7C C0 28 39 */	and. r0, r6, r5
/* 803B9D1C 003B597C  41 82 FF F8 */	beq lbl_803B9D14
/* 803B9D20 003B5980  38 00 FF FF */	li r0, -1
/* 803B9D24 003B5984  80 83 21 40 */	lwz r4, 0x2140(r3)
/* 803B9D28 003B5988  7C A0 02 78 */	xor r0, r5, r0
/* 803B9D2C 003B598C  7C 80 00 38 */	and r0, r4, r0
/* 803B9D30 003B5990  90 03 21 40 */	stw r0, 0x2140(r3)
/* 803B9D34 003B5994  7C A3 E6 70 */	srawi r3, r5, 0x1c
/* 803B9D38 003B5998  48 02 3C 09 */	bl func_803DD940
/* 803B9D3C 003B599C  90 7E 00 74 */	stw r3, 0x74(r30)
/* 803B9D40 003B59A0  7F C3 F3 78 */	mr r3, r30
/* 803B9D44 003B59A4  38 80 00 02 */	li r4, 2
/* 803B9D48 003B59A8  38 A0 01 14 */	li r5, 0x114
/* 803B9D4C 003B59AC  48 00 0C 89 */	bl func_803BA9D4
/* 803B9D50 003B59B0  38 00 00 15 */	li r0, 0x15
/* 803B9D54 003B59B4  93 FE 00 0C */	stw r31, 0xc(r30)
/* 803B9D58 003B59B8  38 60 00 01 */	li r3, 1
/* 803B9D5C 003B59BC  90 1E 00 08 */	stw r0, 8(r30)
/* 803B9D60 003B59C0  48 00 00 0C */	b lbl_803B9D6C
lbl_803B9D64:
/* 803B9D64 003B59C4  90 A3 00 08 */	stw r5, 8(r3)
/* 803B9D68 003B59C8  38 60 00 00 */	li r3, 0
lbl_803B9D6C:
/* 803B9D6C 003B59CC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803B9D70 003B59D0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803B9D74 003B59D4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803B9D78 003B59D8  7C 08 03 A6 */	mtlr r0
/* 803B9D7C 003B59DC  38 21 00 10 */	addi r1, r1, 0x10
/* 803B9D80 003B59E0  4E 80 00 20 */	blr 

.global func_803B9D84
func_803B9D84:
/* 803B9D84 003B59E4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803B9D88 003B59E8  7C 08 02 A6 */	mflr r0
/* 803B9D8C 003B59EC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803B9D90 003B59F0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803B9D94 003B59F4  93 C1 00 08 */	stw r30, 8(r1)
/* 803B9D98 003B59F8  7C 9E 23 78 */	mr r30, r4
/* 803B9D9C 003B59FC  7F C3 F3 78 */	mr r3, r30
/* 803B9DA0 003B5A00  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803B9DA4 003B5A04  48 00 5D 75 */	bl func_803BFB18
/* 803B9DA8 003B5A08  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803B9DAC 003B5A0C  28 00 00 60 */	cmplwi r0, 0x60
/* 803B9DB0 003B5A10  40 82 00 0C */	bne lbl_803B9DBC
/* 803B9DB4 003B5A14  3B E0 00 00 */	li r31, 0
/* 803B9DB8 003B5A18  48 00 00 24 */	b lbl_803B9DDC
lbl_803B9DBC:
/* 803B9DBC 003B5A1C  83 FE 21 60 */	lwz r31, 0x2160(r30)
/* 803B9DC0 003B5A20  2C 1F 00 00 */	cmpwi r31, 0
/* 803B9DC4 003B5A24  41 82 00 08 */	beq lbl_803B9DCC
/* 803B9DC8 003B5A28  48 00 00 14 */	b lbl_803B9DDC
lbl_803B9DCC:
/* 803B9DCC 003B5A2C  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803B9DD0 003B5A30  54 00 20 36 */	slwi r0, r0, 4
/* 803B9DD4 003B5A34  7C 7E 02 14 */	add r3, r30, r0
/* 803B9DD8 003B5A38  8B E3 03 E2 */	lbz r31, 0x3e2(r3)
lbl_803B9DDC:
/* 803B9DDC 003B5A3C  80 9E 30 40 */	lwz r4, 0x3040(r30)
/* 803B9DE0 003B5A40  54 80 20 36 */	slwi r0, r4, 4
/* 803B9DE4 003B5A44  7C 7E 02 14 */	add r3, r30, r0
/* 803B9DE8 003B5A48  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803B9DEC 003B5A4C  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B9DF0 003B5A50  41 82 00 54 */	beq lbl_803B9E44
/* 803B9DF4 003B5A54  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803B9DF8 003B5A58  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803B9DFC 003B5A5C  40 82 00 48 */	bne lbl_803B9E44
/* 803B9E00 003B5A60  80 7E 00 6C */	lwz r3, 0x6c(r30)
/* 803B9E04 003B5A64  2C 03 00 FF */	cmpwi r3, 0xff
/* 803B9E08 003B5A68  41 82 00 3C */	beq lbl_803B9E44
/* 803B9E0C 003B5A6C  80 1E 21 40 */	lwz r0, 0x2140(r30)
/* 803B9E10 003B5A70  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B9E14 003B5A74  41 82 00 30 */	beq lbl_803B9E44
/* 803B9E18 003B5A78  54 60 08 3C */	slwi r0, r3, 1
/* 803B9E1C 003B5A7C  7C 7E 02 14 */	add r3, r30, r0
/* 803B9E20 003B5A80  B0 83 30 84 */	sth r4, 0x3084(r3)
/* 803B9E24 003B5A84  80 7E 00 6C */	lwz r3, 0x6c(r30)
/* 803B9E28 003B5A88  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803B9E2C 003B5A8C  54 63 18 38 */	slwi r3, r3, 3
/* 803B9E30 003B5A90  80 9E 30 40 */	lwz r4, 0x3040(r30)
/* 803B9E34 003B5A94  7C 7E 1A 14 */	add r3, r30, r3
/* 803B9E38 003B5A98  54 00 08 3C */	slwi r0, r0, 1
/* 803B9E3C 003B5A9C  7C 63 02 14 */	add r3, r3, r0
/* 803B9E40 003B5AA0  B0 83 30 8C */	sth r4, 0x308c(r3)
lbl_803B9E44:
/* 803B9E44 003B5AA4  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803B9E48 003B5AA8  2C 04 00 FF */	cmpwi r4, 0xff
/* 803B9E4C 003B5AAC  41 82 02 10 */	beq lbl_803BA05C
/* 803B9E50 003B5AB0  7F C3 F3 78 */	mr r3, r30
/* 803B9E54 003B5AB4  48 00 A2 69 */	bl func_803C40BC
/* 803B9E58 003B5AB8  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803B9E5C 003B5ABC  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803B9E60 003B5AC0  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803B9E64 003B5AC4  40 82 00 10 */	bne lbl_803B9E74
/* 803B9E68 003B5AC8  80 1E 21 40 */	lwz r0, 0x2140(r30)
/* 803B9E6C 003B5ACC  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B9E70 003B5AD0  41 82 00 30 */	beq lbl_803B9EA0
lbl_803B9E74:
/* 803B9E74 003B5AD4  28 03 00 36 */	cmplwi r3, 0x36
/* 803B9E78 003B5AD8  41 82 00 28 */	beq lbl_803B9EA0
/* 803B9E7C 003B5ADC  28 03 00 72 */	cmplwi r3, 0x72
/* 803B9E80 003B5AE0  41 82 00 20 */	beq lbl_803B9EA0
/* 803B9E84 003B5AE4  28 03 00 7C */	cmplwi r3, 0x7c
/* 803B9E88 003B5AE8  41 82 00 18 */	beq lbl_803B9EA0
/* 803B9E8C 003B5AEC  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9E90 003B5AF0  38 80 00 00 */	li r4, 0
/* 803B9E94 003B5AF4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803B9E98 003B5AF8  7C 7E 02 14 */	add r3, r30, r0
/* 803B9E9C 003B5AFC  B0 83 2D F8 */	sth r4, 0x2df8(r3)
lbl_803B9EA0:
/* 803B9EA0 003B5B00  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803B9EA4 003B5B04  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803B9EA8 003B5B08  40 82 01 B4 */	bne lbl_803BA05C
/* 803B9EAC 003B5B0C  80 1E 21 40 */	lwz r0, 0x2140(r30)
/* 803B9EB0 003B5B10  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803B9EB4 003B5B14  41 82 00 48 */	beq lbl_803B9EFC
/* 803B9EB8 003B5B18  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9EBC 003B5B1C  80 9E 30 44 */	lwz r4, 0x3044(r30)
/* 803B9EC0 003B5B20  54 00 08 3C */	slwi r0, r0, 1
/* 803B9EC4 003B5B24  7C 7E 02 14 */	add r3, r30, r0
/* 803B9EC8 003B5B28  B0 83 30 64 */	sth r4, 0x3064(r3)
/* 803B9ECC 003B5B2C  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9ED0 003B5B30  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803B9ED4 003B5B34  54 00 08 3C */	slwi r0, r0, 1
/* 803B9ED8 003B5B38  7C 7E 02 14 */	add r3, r30, r0
/* 803B9EDC 003B5B3C  B0 83 30 6C */	sth r4, 0x306c(r3)
/* 803B9EE0 003B5B40  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9EE4 003B5B44  54 00 08 3C */	slwi r0, r0, 1
/* 803B9EE8 003B5B48  7C 7E 02 14 */	add r3, r30, r0
/* 803B9EEC 003B5B4C  B3 E3 30 74 */	sth r31, 0x3074(r3)
/* 803B9EF0 003B5B50  80 1E 30 40 */	lwz r0, 0x3040(r30)
/* 803B9EF4 003B5B54  90 1E 30 48 */	stw r0, 0x3048(r30)
/* 803B9EF8 003B5B58  48 00 00 40 */	b lbl_803B9F38
lbl_803B9EFC:
/* 803B9EFC 003B5B5C  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9F00 003B5B60  38 A0 00 00 */	li r5, 0
/* 803B9F04 003B5B64  38 80 00 FF */	li r4, 0xff
/* 803B9F08 003B5B68  54 00 08 3C */	slwi r0, r0, 1
/* 803B9F0C 003B5B6C  7C 7E 02 14 */	add r3, r30, r0
/* 803B9F10 003B5B70  B0 A3 30 64 */	sth r5, 0x3064(r3)
/* 803B9F14 003B5B74  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9F18 003B5B78  54 00 08 3C */	slwi r0, r0, 1
/* 803B9F1C 003B5B7C  7C 7E 02 14 */	add r3, r30, r0
/* 803B9F20 003B5B80  B0 83 30 6C */	sth r4, 0x306c(r3)
/* 803B9F24 003B5B84  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9F28 003B5B88  54 00 08 3C */	slwi r0, r0, 1
/* 803B9F2C 003B5B8C  7C 7E 02 14 */	add r3, r30, r0
/* 803B9F30 003B5B90  B0 A3 30 74 */	sth r5, 0x3074(r3)
/* 803B9F34 003B5B94  90 BE 30 48 */	stw r5, 0x3048(r30)
lbl_803B9F38:
/* 803B9F38 003B5B98  80 1E 21 40 */	lwz r0, 0x2140(r30)
/* 803B9F3C 003B5B9C  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803B9F40 003B5BA0  41 82 00 E4 */	beq lbl_803BA024
/* 803B9F44 003B5BA4  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803B9F48 003B5BA8  80 9E 21 6C */	lwz r4, 0x216c(r30)
/* 803B9F4C 003B5BAC  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803B9F50 003B5BB0  7C 80 00 39 */	and. r0, r4, r0
/* 803B9F54 003B5BB4  40 82 00 D0 */	bne lbl_803BA024
/* 803B9F58 003B5BB8  80 9E 30 44 */	lwz r4, 0x3044(r30)
/* 803B9F5C 003B5BBC  54 80 20 36 */	slwi r0, r4, 4
/* 803B9F60 003B5BC0  7C 7E 02 14 */	add r3, r30, r0
/* 803B9F64 003B5BC4  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803B9F68 003B5BC8  2C 00 00 80 */	cmpwi r0, 0x80
/* 803B9F6C 003B5BCC  41 82 00 44 */	beq lbl_803B9FB0
/* 803B9F70 003B5BD0  40 80 00 28 */	bge lbl_803B9F98
/* 803B9F74 003B5BD4  2C 00 00 20 */	cmpwi r0, 0x20
/* 803B9F78 003B5BD8  41 82 00 38 */	beq lbl_803B9FB0
/* 803B9F7C 003B5BDC  40 80 00 10 */	bge lbl_803B9F8C
/* 803B9F80 003B5BE0  2C 00 00 10 */	cmpwi r0, 0x10
/* 803B9F84 003B5BE4  41 82 00 2C */	beq lbl_803B9FB0
/* 803B9F88 003B5BE8  48 00 00 64 */	b lbl_803B9FEC
lbl_803B9F8C:
/* 803B9F8C 003B5BEC  2C 00 00 40 */	cmpwi r0, 0x40
/* 803B9F90 003B5BF0  41 82 00 20 */	beq lbl_803B9FB0
/* 803B9F94 003B5BF4  48 00 00 58 */	b lbl_803B9FEC
lbl_803B9F98:
/* 803B9F98 003B5BF8  2C 00 02 00 */	cmpwi r0, 0x200
/* 803B9F9C 003B5BFC  41 82 00 14 */	beq lbl_803B9FB0
/* 803B9FA0 003B5C00  40 80 00 4C */	bge lbl_803B9FEC
/* 803B9FA4 003B5C04  2C 00 01 00 */	cmpwi r0, 0x100
/* 803B9FA8 003B5C08  41 82 00 08 */	beq lbl_803B9FB0
/* 803B9FAC 003B5C0C  48 00 00 40 */	b lbl_803B9FEC
lbl_803B9FB0:
/* 803B9FB0 003B5C10  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9FB4 003B5C14  38 A0 00 00 */	li r5, 0
/* 803B9FB8 003B5C18  38 80 00 FF */	li r4, 0xff
/* 803B9FBC 003B5C1C  54 00 08 3C */	slwi r0, r0, 1
/* 803B9FC0 003B5C20  7C 7E 02 14 */	add r3, r30, r0
/* 803B9FC4 003B5C24  B0 A3 30 C4 */	sth r5, 0x30c4(r3)
/* 803B9FC8 003B5C28  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9FCC 003B5C2C  54 00 08 3C */	slwi r0, r0, 1
/* 803B9FD0 003B5C30  7C 7E 02 14 */	add r3, r30, r0
/* 803B9FD4 003B5C34  B0 83 30 CC */	sth r4, 0x30cc(r3)
/* 803B9FD8 003B5C38  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9FDC 003B5C3C  54 00 08 3C */	slwi r0, r0, 1
/* 803B9FE0 003B5C40  7C 7E 02 14 */	add r3, r30, r0
/* 803B9FE4 003B5C44  B0 A3 30 D4 */	sth r5, 0x30d4(r3)
/* 803B9FE8 003B5C48  48 00 00 74 */	b lbl_803BA05C
lbl_803B9FEC:
/* 803B9FEC 003B5C4C  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803B9FF0 003B5C50  54 00 08 3C */	slwi r0, r0, 1
/* 803B9FF4 003B5C54  7C 7E 02 14 */	add r3, r30, r0
/* 803B9FF8 003B5C58  B0 83 30 C4 */	sth r4, 0x30c4(r3)
/* 803B9FFC 003B5C5C  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803BA000 003B5C60  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803BA004 003B5C64  54 00 08 3C */	slwi r0, r0, 1
/* 803BA008 003B5C68  7C 7E 02 14 */	add r3, r30, r0
/* 803BA00C 003B5C6C  B0 83 30 CC */	sth r4, 0x30cc(r3)
/* 803BA010 003B5C70  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803BA014 003B5C74  54 00 08 3C */	slwi r0, r0, 1
/* 803BA018 003B5C78  7C 7E 02 14 */	add r3, r30, r0
/* 803BA01C 003B5C7C  B3 E3 30 D4 */	sth r31, 0x30d4(r3)
/* 803BA020 003B5C80  48 00 00 3C */	b lbl_803BA05C
lbl_803BA024:
/* 803BA024 003B5C84  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803BA028 003B5C88  38 A0 00 00 */	li r5, 0
/* 803BA02C 003B5C8C  38 80 00 FF */	li r4, 0xff
/* 803BA030 003B5C90  54 00 08 3C */	slwi r0, r0, 1
/* 803BA034 003B5C94  7C 7E 02 14 */	add r3, r30, r0
/* 803BA038 003B5C98  B0 A3 30 C4 */	sth r5, 0x30c4(r3)
/* 803BA03C 003B5C9C  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803BA040 003B5CA0  54 00 08 3C */	slwi r0, r0, 1
/* 803BA044 003B5CA4  7C 7E 02 14 */	add r3, r30, r0
/* 803BA048 003B5CA8  B0 83 30 CC */	sth r4, 0x30cc(r3)
/* 803BA04C 003B5CAC  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803BA050 003B5CB0  54 00 08 3C */	slwi r0, r0, 1
/* 803BA054 003B5CB4  7C 7E 02 14 */	add r3, r30, r0
/* 803BA058 003B5CB8  B0 A3 30 D4 */	sth r5, 0x30d4(r3)
lbl_803BA05C:
/* 803BA05C 003B5CBC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BA060 003B5CC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803BA064 003B5CC4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803BA068 003B5CC8  7C 08 03 A6 */	mtlr r0
/* 803BA06C 003B5CCC  38 21 00 10 */	addi r1, r1, 0x10
/* 803BA070 003B5CD0  4E 80 00 20 */	blr 

.global func_803BA074
func_803BA074:
/* 803BA074 003B5CD4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BA078 003B5CD8  7C 08 02 A6 */	mflr r0
/* 803BA07C 003B5CDC  38 A0 00 10 */	li r5, 0x10
/* 803BA080 003B5CE0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BA084 003B5CE4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803BA088 003B5CE8  7C 9F 23 78 */	mr r31, r4
/* 803BA08C 003B5CEC  38 80 00 02 */	li r4, 2
/* 803BA090 003B5CF0  7F E3 FB 78 */	mr r3, r31
/* 803BA094 003B5CF4  48 00 09 41 */	bl func_803BA9D4
/* 803BA098 003B5CF8  80 9F 00 08 */	lwz r4, 8(r31)
/* 803BA09C 003B5CFC  38 00 00 15 */	li r0, 0x15
/* 803BA0A0 003B5D00  38 60 00 01 */	li r3, 1
/* 803BA0A4 003B5D04  90 9F 00 0C */	stw r4, 0xc(r31)
/* 803BA0A8 003B5D08  90 1F 00 08 */	stw r0, 8(r31)
/* 803BA0AC 003B5D0C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803BA0B0 003B5D10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BA0B4 003B5D14  7C 08 03 A6 */	mtlr r0
/* 803BA0B8 003B5D18  38 21 00 10 */	addi r1, r1, 0x10
/* 803BA0BC 003B5D1C  4E 80 00 20 */	blr 

.global func_803BA0C0
func_803BA0C0:
/* 803BA0C0 003B5D20  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BA0C4 003B5D24  7C 08 02 A6 */	mflr r0
/* 803BA0C8 003B5D28  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BA0CC 003B5D2C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803BA0D0 003B5D30  3B E0 00 00 */	li r31, 0
/* 803BA0D4 003B5D34  93 C1 00 08 */	stw r30, 8(r1)
/* 803BA0D8 003B5D38  7C 9E 23 78 */	mr r30, r4
/* 803BA0DC 003B5D3C  80 64 21 6C */	lwz r3, 0x216c(r4)
/* 803BA0E0 003B5D40  2C 03 00 00 */	cmpwi r3, 0
/* 803BA0E4 003B5D44  41 82 00 3C */	beq lbl_803BA120
/* 803BA0E8 003B5D48  88 04 21 7D */	lbz r0, 0x217d(r4)
/* 803BA0EC 003B5D4C  2C 00 00 00 */	cmpwi r0, 0
/* 803BA0F0 003B5D50  41 82 00 2C */	beq lbl_803BA11C
/* 803BA0F4 003B5D54  80 04 00 74 */	lwz r0, 0x74(r4)
/* 803BA0F8 003B5D58  2C 00 00 FF */	cmpwi r0, 0xff
/* 803BA0FC 003B5D5C  40 82 00 18 */	bne lbl_803BA114
/* 803BA100 003B5D60  88 04 21 7C */	lbz r0, 0x217c(r4)
/* 803BA104 003B5D64  28 00 00 01 */	cmplwi r0, 1
/* 803BA108 003B5D68  41 82 00 0C */	beq lbl_803BA114
/* 803BA10C 003B5D6C  54 60 04 63 */	rlwinm. r0, r3, 0, 0x11, 0x11
/* 803BA110 003B5D70  41 82 00 10 */	beq lbl_803BA120
lbl_803BA114:
/* 803BA114 003B5D74  3B E0 00 01 */	li r31, 1
/* 803BA118 003B5D78  48 00 00 08 */	b lbl_803BA120
lbl_803BA11C:
/* 803BA11C 003B5D7C  3B E0 00 01 */	li r31, 1
lbl_803BA120:
/* 803BA120 003B5D80  2C 1F 00 01 */	cmpwi r31, 1
/* 803BA124 003B5D84  40 82 00 24 */	bne lbl_803BA148
/* 803BA128 003B5D88  7F C3 F3 78 */	mr r3, r30
/* 803BA12C 003B5D8C  38 80 00 02 */	li r4, 2
/* 803BA130 003B5D90  38 A0 00 15 */	li r5, 0x15
/* 803BA134 003B5D94  48 00 08 A1 */	bl func_803BA9D4
/* 803BA138 003B5D98  80 7E 00 08 */	lwz r3, 8(r30)
/* 803BA13C 003B5D9C  38 00 00 15 */	li r0, 0x15
/* 803BA140 003B5DA0  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803BA144 003B5DA4  90 1E 00 08 */	stw r0, 8(r30)
lbl_803BA148:
/* 803BA148 003B5DA8  7F E3 FB 78 */	mr r3, r31
/* 803BA14C 003B5DAC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803BA150 003B5DB0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803BA154 003B5DB4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BA158 003B5DB8  7C 08 03 A6 */	mtlr r0
/* 803BA15C 003B5DBC  38 21 00 10 */	addi r1, r1, 0x10
/* 803BA160 003B5DC0  4E 80 00 20 */	blr 

.global func_803BA164
func_803BA164:
/* 803BA164 003B5DC4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BA168 003B5DC8  7C 08 02 A6 */	mflr r0
/* 803BA16C 003B5DCC  38 60 00 00 */	li r3, 0
/* 803BA170 003B5DD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BA174 003B5DD4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803BA178 003B5DD8  7C 9F 23 78 */	mr r31, r4
/* 803BA17C 003B5DDC  80 C4 00 6C */	lwz r6, 0x6c(r4)
/* 803BA180 003B5DE0  2C 06 00 FF */	cmpwi r6, 0xff
/* 803BA184 003B5DE4  40 82 00 0C */	bne lbl_803BA190
/* 803BA188 003B5DE8  38 60 00 00 */	li r3, 0
/* 803BA18C 003B5DEC  48 00 00 9C */	b lbl_803BA228
lbl_803BA190:
/* 803BA190 003B5DF0  1C E6 00 C0 */	mulli r7, r6, 0xc0
/* 803BA194 003B5DF4  7C A4 3A 14 */	add r5, r4, r7
/* 803BA198 003B5DF8  80 05 2D B0 */	lwz r0, 0x2db0(r5)
/* 803BA19C 003B5DFC  54 00 02 11 */	rlwinm. r0, r0, 0, 8, 8
/* 803BA1A0 003B5E00  41 82 00 88 */	beq lbl_803BA228
/* 803BA1A4 003B5E04  80 04 21 6C */	lwz r0, 0x216c(r4)
/* 803BA1A8 003B5E08  54 00 04 63 */	rlwinm. r0, r0, 0, 0x11, 0x11
/* 803BA1AC 003B5E0C  40 82 00 7C */	bne lbl_803BA228
/* 803BA1B0 003B5E10  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803BA1B4 003B5E14  7C 06 00 00 */	cmpw r6, r0
/* 803BA1B8 003B5E18  41 82 00 70 */	beq lbl_803BA228
/* 803BA1BC 003B5E1C  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803BA1C0 003B5E20  2C 00 00 00 */	cmpwi r0, 0
/* 803BA1C4 003B5E24  41 82 00 64 */	beq lbl_803BA228
/* 803BA1C8 003B5E28  1C 06 00 1C */	mulli r0, r6, 0x1c
/* 803BA1CC 003B5E2C  7C A4 02 14 */	add r5, r4, r0
/* 803BA1D0 003B5E30  80 05 02 D8 */	lwz r0, 0x2d8(r5)
/* 803BA1D4 003B5E34  2C 00 00 00 */	cmpwi r0, 0
/* 803BA1D8 003B5E38  40 82 00 10 */	bne lbl_803BA1E8
/* 803BA1DC 003B5E3C  80 05 02 E0 */	lwz r0, 0x2e0(r5)
/* 803BA1E0 003B5E40  2C 00 00 00 */	cmpwi r0, 0
/* 803BA1E4 003B5E44  41 82 00 44 */	beq lbl_803BA228
lbl_803BA1E8:
/* 803BA1E8 003B5E48  7C A4 3A 14 */	add r5, r4, r7
/* 803BA1EC 003B5E4C  88 85 2D 59 */	lbz r4, 0x2d59(r5)
/* 803BA1F0 003B5E50  7C 80 07 74 */	extsb r0, r4
/* 803BA1F4 003B5E54  2C 00 00 0C */	cmpwi r0, 0xc
/* 803BA1F8 003B5E58  40 80 00 30 */	bge lbl_803BA228
/* 803BA1FC 003B5E5C  38 04 00 01 */	addi r0, r4, 1
/* 803BA200 003B5E60  7F E3 FB 78 */	mr r3, r31
/* 803BA204 003B5E64  98 05 2D 59 */	stb r0, 0x2d59(r5)
/* 803BA208 003B5E68  38 80 00 02 */	li r4, 2
/* 803BA20C 003B5E6C  38 A0 00 F5 */	li r5, 0xf5
/* 803BA210 003B5E70  48 00 07 C5 */	bl func_803BA9D4
/* 803BA214 003B5E74  80 9F 00 08 */	lwz r4, 8(r31)
/* 803BA218 003B5E78  38 00 00 15 */	li r0, 0x15
/* 803BA21C 003B5E7C  38 60 00 01 */	li r3, 1
/* 803BA220 003B5E80  90 9F 00 0C */	stw r4, 0xc(r31)
/* 803BA224 003B5E84  90 1F 00 08 */	stw r0, 8(r31)
lbl_803BA228:
/* 803BA228 003B5E88  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BA22C 003B5E8C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803BA230 003B5E90  7C 08 03 A6 */	mtlr r0
/* 803BA234 003B5E94  38 21 00 10 */	addi r1, r1, 0x10
/* 803BA238 003B5E98  4E 80 00 20 */	blr 

.global func_803BA23C
func_803BA23C:
/* 803BA23C 003B5E9C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BA240 003B5EA0  7C 08 02 A6 */	mflr r0
/* 803BA244 003B5EA4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BA248 003B5EA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803BA24C 003B5EAC  4B E0 CE E1 */	bl _savegpr_28
/* 803BA250 003B5EB0  7C 9E 23 78 */	mr r30, r4
/* 803BA254 003B5EB4  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803BA258 003B5EB8  7F C3 F3 78 */	mr r3, r30
/* 803BA25C 003B5EBC  3B E0 00 00 */	li r31, 0
/* 803BA260 003B5EC0  48 00 9E 5D */	bl func_803C40BC
/* 803BA264 003B5EC4  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803BA268 003B5EC8  7C 7C 1B 78 */	mr r28, r3
/* 803BA26C 003B5ECC  7F C3 F3 78 */	mr r3, r30
/* 803BA270 003B5ED0  38 A0 00 00 */	li r5, 0
/* 803BA274 003B5ED4  48 00 9E 8D */	bl func_803C4100
/* 803BA278 003B5ED8  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803BA27C 003B5EDC  7C 7D 1B 78 */	mr r29, r3
/* 803BA280 003B5EE0  2C 05 00 FF */	cmpwi r5, 0xff
/* 803BA284 003B5EE4  41 82 00 C0 */	beq lbl_803BA344
/* 803BA288 003B5EE8  2C 1C 00 37 */	cmpwi r28, 0x37
/* 803BA28C 003B5EEC  40 82 00 B8 */	bne lbl_803BA344
/* 803BA290 003B5EF0  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BA294 003B5EF4  80 9E 21 6C */	lwz r4, 0x216c(r30)
/* 803BA298 003B5EF8  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BA29C 003B5EFC  7C 80 00 39 */	and. r0, r4, r0
/* 803BA2A0 003B5F00  40 82 00 A4 */	bne lbl_803BA344
/* 803BA2A4 003B5F04  1C 05 00 1C */	mulli r0, r5, 0x1c
/* 803BA2A8 003B5F08  7C 7E 02 14 */	add r3, r30, r0
/* 803BA2AC 003B5F0C  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803BA2B0 003B5F10  2C 00 00 00 */	cmpwi r0, 0
/* 803BA2B4 003B5F14  40 82 00 10 */	bne lbl_803BA2C4
/* 803BA2B8 003B5F18  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803BA2BC 003B5F1C  2C 00 00 00 */	cmpwi r0, 0
/* 803BA2C0 003B5F20  41 82 00 84 */	beq lbl_803BA344
lbl_803BA2C4:
/* 803BA2C4 003B5F24  48 01 F4 F5 */	bl func_803D97B8
/* 803BA2C8 003B5F28  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803BA2CC 003B5F2C  38 60 00 64 */	li r3, 0x64
/* 803BA2D0 003B5F30  7C 04 1B D6 */	divw r0, r4, r3
/* 803BA2D4 003B5F34  7C 00 19 D6 */	mullw r0, r0, r3
/* 803BA2D8 003B5F38  7C 00 20 50 */	subf r0, r0, r4
/* 803BA2DC 003B5F3C  7C 00 E8 00 */	cmpw r0, r29
/* 803BA2E0 003B5F40  40 80 00 64 */	bge lbl_803BA344
/* 803BA2E4 003B5F44  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803BA2E8 003B5F48  54 00 20 36 */	slwi r0, r0, 4
/* 803BA2EC 003B5F4C  7C 7E 02 14 */	add r3, r30, r0
/* 803BA2F0 003B5F50  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803BA2F4 003B5F54  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803BA2F8 003B5F58  41 82 00 4C */	beq lbl_803BA344
/* 803BA2FC 003B5F5C  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803BA300 003B5F60  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BA304 003B5F64  7C 7E 02 14 */	add r3, r30, r0
/* 803BA308 003B5F68  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BA30C 003B5F6C  2C 00 00 00 */	cmpwi r0, 0
/* 803BA310 003B5F70  41 82 00 34 */	beq lbl_803BA344
/* 803BA314 003B5F74  38 00 00 02 */	li r0, 2
/* 803BA318 003B5F78  90 9E 00 94 */	stw r4, 0x94(r30)
/* 803BA31C 003B5F7C  7F C3 F3 78 */	mr r3, r30
/* 803BA320 003B5F80  38 80 00 02 */	li r4, 2
/* 803BA324 003B5F84  90 1E 00 88 */	stw r0, 0x88(r30)
/* 803BA328 003B5F88  38 A0 00 0E */	li r5, 0xe
/* 803BA32C 003B5F8C  48 00 06 A9 */	bl func_803BA9D4
/* 803BA330 003B5F90  80 7E 00 08 */	lwz r3, 8(r30)
/* 803BA334 003B5F94  38 00 00 15 */	li r0, 0x15
/* 803BA338 003B5F98  3B E0 00 01 */	li r31, 1
/* 803BA33C 003B5F9C  90 7E 00 0C */	stw r3, 0xc(r30)
/* 803BA340 003B5FA0  90 1E 00 08 */	stw r0, 8(r30)
lbl_803BA344:
/* 803BA344 003B5FA4  39 61 00 20 */	addi r11, r1, 0x20
/* 803BA348 003B5FA8  7F E3 FB 78 */	mr r3, r31
/* 803BA34C 003B5FAC  4B E0 CE 2D */	bl _restgpr_28
/* 803BA350 003B5FB0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BA354 003B5FB4  7C 08 03 A6 */	mtlr r0
/* 803BA358 003B5FB8  38 21 00 20 */	addi r1, r1, 0x20
/* 803BA35C 003B5FBC  4E 80 00 20 */	blr 

.global func_803BA360
func_803BA360:
/* 803BA360 003B5FC0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BA364 003B5FC4  7C 08 02 A6 */	mflr r0
/* 803BA368 003B5FC8  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BA36C 003B5FCC  39 61 00 30 */	addi r11, r1, 0x30
/* 803BA370 003B5FD0  4B E0 CD A9 */	bl _savegpr_23
/* 803BA374 003B5FD4  7C BB 2B 78 */	mr r27, r5
/* 803BA378 003B5FD8  7C 9A 23 78 */	mr r26, r4
/* 803BA37C 003B5FDC  7C 79 1B 78 */	mr r25, r3
/* 803BA380 003B5FE0  7C C5 33 78 */	mr r5, r6
/* 803BA384 003B5FE4  7F 64 DB 78 */	mr r4, r27
/* 803BA388 003B5FE8  4B FF 26 1D */	bl func_803AC9A4
/* 803BA38C 003B5FEC  1F BB 00 C0 */	mulli r29, r27, 0xc0
/* 803BA390 003B5FF0  7C 7C 1B 78 */	mr r28, r3
/* 803BA394 003B5FF4  38 80 00 05 */	li r4, 5
/* 803BA398 003B5FF8  38 A0 00 00 */	li r5, 0
/* 803BA39C 003B5FFC  48 02 36 41 */	bl func_803DD9DC
/* 803BA3A0 003B6000  7C BA EA 14 */	add r5, r26, r29
/* 803BA3A4 003B6004  38 80 00 A4 */	li r4, 0xa4
/* 803BA3A8 003B6008  B0 65 2D 40 */	sth r3, 0x2d40(r5)
/* 803BA3AC 003B600C  7F 83 E3 78 */	mr r3, r28
/* 803BA3B0 003B6010  38 A0 00 00 */	li r5, 0
/* 803BA3B4 003B6014  48 02 36 29 */	bl func_803DD9DC
/* 803BA3B8 003B6018  7C BA EA 14 */	add r5, r26, r29
/* 803BA3BC 003B601C  38 80 00 A5 */	li r4, 0xa5
/* 803BA3C0 003B6020  B0 65 2D 42 */	sth r3, 0x2d42(r5)
/* 803BA3C4 003B6024  7F 83 E3 78 */	mr r3, r28
/* 803BA3C8 003B6028  38 A0 00 00 */	li r5, 0
/* 803BA3CC 003B602C  48 02 36 11 */	bl func_803DD9DC
/* 803BA3D0 003B6030  7C BA EA 14 */	add r5, r26, r29
/* 803BA3D4 003B6034  38 80 00 A6 */	li r4, 0xa6
/* 803BA3D8 003B6038  B0 65 2D 44 */	sth r3, 0x2d44(r5)
/* 803BA3DC 003B603C  7F 83 E3 78 */	mr r3, r28
/* 803BA3E0 003B6040  38 A0 00 00 */	li r5, 0
/* 803BA3E4 003B6044  48 02 35 F9 */	bl func_803DD9DC
/* 803BA3E8 003B6048  7C BA EA 14 */	add r5, r26, r29
/* 803BA3EC 003B604C  38 80 00 A7 */	li r4, 0xa7
/* 803BA3F0 003B6050  B0 65 2D 46 */	sth r3, 0x2d46(r5)
/* 803BA3F4 003B6054  7F 83 E3 78 */	mr r3, r28
/* 803BA3F8 003B6058  38 A0 00 00 */	li r5, 0
/* 803BA3FC 003B605C  48 02 35 E1 */	bl func_803DD9DC
/* 803BA400 003B6060  7C BA EA 14 */	add r5, r26, r29
/* 803BA404 003B6064  38 80 00 A8 */	li r4, 0xa8
/* 803BA408 003B6068  B0 65 2D 48 */	sth r3, 0x2d48(r5)
/* 803BA40C 003B606C  7F 83 E3 78 */	mr r3, r28
/* 803BA410 003B6070  38 A0 00 00 */	li r5, 0
/* 803BA414 003B6074  48 02 35 C9 */	bl func_803DD9DC
/* 803BA418 003B6078  7F DA EA 14 */	add r30, r26, r29
/* 803BA41C 003B607C  3A E0 00 00 */	li r23, 0
/* 803BA420 003B6080  B0 7E 2D 4A */	sth r3, 0x2d4a(r30)
/* 803BA424 003B6084  3B E0 00 00 */	li r31, 0
lbl_803BA428:
/* 803BA428 003B6088  7F 83 E3 78 */	mr r3, r28
/* 803BA42C 003B608C  38 97 00 36 */	addi r4, r23, 0x36
/* 803BA430 003B6090  38 A0 00 00 */	li r5, 0
/* 803BA434 003B6094  48 02 35 A9 */	bl func_803DD9DC
/* 803BA438 003B6098  7C 9E FA 14 */	add r4, r30, r31
/* 803BA43C 003B609C  7F 1E BA 14 */	add r24, r30, r23
/* 803BA440 003B60A0  B0 64 2D 4C */	sth r3, 0x2d4c(r4)
/* 803BA444 003B60A4  7F 83 E3 78 */	mr r3, r28
/* 803BA448 003B60A8  38 97 00 3A */	addi r4, r23, 0x3a
/* 803BA44C 003B60AC  38 A0 00 00 */	li r5, 0
/* 803BA450 003B60B0  48 02 35 8D */	bl func_803DD9DC
/* 803BA454 003B60B4  98 78 2D 6C */	stb r3, 0x2d6c(r24)
/* 803BA458 003B60B8  7F 83 E3 78 */	mr r3, r28
/* 803BA45C 003B60BC  38 97 00 3E */	addi r4, r23, 0x3e
/* 803BA460 003B60C0  38 A0 00 00 */	li r5, 0
/* 803BA464 003B60C4  48 02 35 79 */	bl func_803DD9DC
/* 803BA468 003B60C8  3A F7 00 01 */	addi r23, r23, 1
/* 803BA46C 003B60CC  98 78 2D 70 */	stb r3, 0x2d70(r24)
/* 803BA470 003B60D0  2C 17 00 04 */	cmpwi r23, 4
/* 803BA474 003B60D4  3B FF 00 02 */	addi r31, r31, 2
/* 803BA478 003B60D8  41 80 FF B0 */	blt lbl_803BA428
/* 803BA47C 003B60DC  7F 83 E3 78 */	mr r3, r28
/* 803BA480 003B60E0  7F FA EA 14 */	add r31, r26, r29
/* 803BA484 003B60E4  38 80 00 46 */	li r4, 0x46
/* 803BA488 003B60E8  38 A0 00 00 */	li r5, 0
/* 803BA48C 003B60EC  48 02 35 51 */	bl func_803DD9DC
/* 803BA490 003B60F0  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA494 003B60F4  50 60 D8 08 */	rlwimi r0, r3, 0x1b, 0, 4
/* 803BA498 003B60F8  7F 83 E3 78 */	mr r3, r28
/* 803BA49C 003B60FC  38 80 00 47 */	li r4, 0x47
/* 803BA4A0 003B6100  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA4A4 003B6104  38 A0 00 00 */	li r5, 0
/* 803BA4A8 003B6108  48 02 35 35 */	bl func_803DD9DC
/* 803BA4AC 003B610C  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA4B0 003B6110  50 60 B1 52 */	rlwimi r0, r3, 0x16, 5, 9
/* 803BA4B4 003B6114  7F 83 E3 78 */	mr r3, r28
/* 803BA4B8 003B6118  38 80 00 48 */	li r4, 0x48
/* 803BA4BC 003B611C  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA4C0 003B6120  38 A0 00 00 */	li r5, 0
/* 803BA4C4 003B6124  48 02 35 19 */	bl func_803DD9DC
/* 803BA4C8 003B6128  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA4CC 003B612C  50 60 8A 9C */	rlwimi r0, r3, 0x11, 0xa, 0xe
/* 803BA4D0 003B6130  7F 83 E3 78 */	mr r3, r28
/* 803BA4D4 003B6134  38 80 00 49 */	li r4, 0x49
/* 803BA4D8 003B6138  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA4DC 003B613C  38 A0 00 00 */	li r5, 0
/* 803BA4E0 003B6140  48 02 34 FD */	bl func_803DD9DC
/* 803BA4E4 003B6144  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA4E8 003B6148  50 60 63 E6 */	rlwimi r0, r3, 0xc, 0xf, 0x13
/* 803BA4EC 003B614C  7F 83 E3 78 */	mr r3, r28
/* 803BA4F0 003B6150  38 80 00 4A */	li r4, 0x4a
/* 803BA4F4 003B6154  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA4F8 003B6158  38 A0 00 00 */	li r5, 0
/* 803BA4FC 003B615C  48 02 34 E1 */	bl func_803DD9DC
/* 803BA500 003B6160  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA504 003B6164  50 60 3D 30 */	rlwimi r0, r3, 7, 0x14, 0x18
/* 803BA508 003B6168  7F 83 E3 78 */	mr r3, r28
/* 803BA50C 003B616C  38 80 00 4B */	li r4, 0x4b
/* 803BA510 003B6170  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA514 003B6174  38 A0 00 00 */	li r5, 0
/* 803BA518 003B6178  48 02 34 C5 */	bl func_803DD9DC
/* 803BA51C 003B617C  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA520 003B6180  50 60 16 7A */	rlwimi r0, r3, 2, 0x19, 0x1d
/* 803BA524 003B6184  7F 83 E3 78 */	mr r3, r28
/* 803BA528 003B6188  38 80 00 4C */	li r4, 0x4c
/* 803BA52C 003B618C  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA530 003B6190  38 A0 00 00 */	li r5, 0
/* 803BA534 003B6194  48 02 34 A9 */	bl func_803DD9DC
/* 803BA538 003B6198  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA53C 003B619C  50 60 0F BC */	rlwimi r0, r3, 1, 0x1e, 0x1e
/* 803BA540 003B61A0  7F 83 E3 78 */	mr r3, r28
/* 803BA544 003B61A4  38 80 00 4D */	li r4, 0x4d
/* 803BA548 003B61A8  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA54C 003B61AC  38 A0 00 00 */	li r5, 0
/* 803BA550 003B61B0  48 02 34 8D */	bl func_803DD9DC
/* 803BA554 003B61B4  80 1F 2D 54 */	lwz r0, 0x2d54(r31)
/* 803BA558 003B61B8  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 803BA55C 003B61BC  90 1F 2D 54 */	stw r0, 0x2d54(r31)
/* 803BA560 003B61C0  80 1A 21 3C */	lwz r0, 0x213c(r26)
/* 803BA564 003B61C4  54 00 05 EF */	rlwinm. r0, r0, 0, 0x17, 0x17
/* 803BA568 003B61C8  40 82 00 24 */	bne lbl_803BA58C
/* 803BA56C 003B61CC  38 00 00 08 */	li r0, 8
/* 803BA570 003B61D0  38 A0 00 00 */	li r5, 0
/* 803BA574 003B61D4  38 80 00 06 */	li r4, 6
/* 803BA578 003B61D8  7C 09 03 A6 */	mtctr r0
lbl_803BA57C:
/* 803BA57C 003B61DC  7C 7E 2A 14 */	add r3, r30, r5
/* 803BA580 003B61E0  38 A5 00 01 */	addi r5, r5, 1
/* 803BA584 003B61E4  98 83 2D 58 */	stb r4, 0x2d58(r3)
/* 803BA588 003B61E8  42 00 FF F4 */	bdnz lbl_803BA57C
lbl_803BA58C:
/* 803BA58C 003B61EC  7C DA EA 14 */	add r6, r26, r29
/* 803BA590 003B61F0  7F 83 E3 78 */	mr r3, r28
/* 803BA594 003B61F4  80 06 2D 68 */	lwz r0, 0x2d68(r6)
/* 803BA598 003B61F8  38 80 00 B0 */	li r4, 0xb0
/* 803BA59C 003B61FC  38 A0 00 00 */	li r5, 0
/* 803BA5A0 003B6200  54 00 02 FE */	clrlwi r0, r0, 0xb
/* 803BA5A4 003B6204  90 06 2D 68 */	stw r0, 0x2d68(r6)
/* 803BA5A8 003B6208  48 02 34 35 */	bl func_803DD9DC
/* 803BA5AC 003B620C  7C BA EA 14 */	add r5, r26, r29
/* 803BA5B0 003B6210  38 80 00 B1 */	li r4, 0xb1
/* 803BA5B4 003B6214  98 65 2D 64 */	stb r3, 0x2d64(r5)
/* 803BA5B8 003B6218  7F 83 E3 78 */	mr r3, r28
/* 803BA5BC 003B621C  38 A0 00 00 */	li r5, 0
/* 803BA5C0 003B6220  48 02 34 1D */	bl func_803DD9DC
/* 803BA5C4 003B6224  7F DA EA 14 */	add r30, r26, r29
/* 803BA5C8 003B6228  98 7E 2D 65 */	stb r3, 0x2d65(r30)
/* 803BA5CC 003B622C  7F 83 E3 78 */	mr r3, r28
/* 803BA5D0 003B6230  48 02 19 91 */	bl func_803DBF60
/* 803BA5D4 003B6234  88 1E 2D BE */	lbz r0, 0x2dbe(r30)
/* 803BA5D8 003B6238  50 60 26 36 */	rlwimi r0, r3, 4, 0x18, 0x1b
/* 803BA5DC 003B623C  7F 83 E3 78 */	mr r3, r28
/* 803BA5E0 003B6240  7F DF F3 78 */	mr r31, r30
/* 803BA5E4 003B6244  98 1E 2D BE */	stb r0, 0x2dbe(r30)
/* 803BA5E8 003B6248  48 02 1A E9 */	bl func_803DC0D0
/* 803BA5EC 003B624C  88 1F 2D 66 */	lbz r0, 0x2d66(r31)
/* 803BA5F0 003B6250  50 60 17 7A */	rlwimi r0, r3, 2, 0x1d, 0x1d
/* 803BA5F4 003B6254  7F 83 E3 78 */	mr r3, r28
/* 803BA5F8 003B6258  38 80 00 70 */	li r4, 0x70
/* 803BA5FC 003B625C  98 1F 2D 66 */	stb r0, 0x2d66(r31)
/* 803BA600 003B6260  38 A0 00 00 */	li r5, 0
/* 803BA604 003B6264  48 02 33 D9 */	bl func_803DD9DC
/* 803BA608 003B6268  88 1F 2D 66 */	lbz r0, 0x2d66(r31)
/* 803BA60C 003B626C  50 60 1E 38 */	rlwimi r0, r3, 3, 0x18, 0x1c
/* 803BA610 003B6270  7F 23 CB 78 */	mr r3, r25
/* 803BA614 003B6274  98 1F 2D 66 */	stb r0, 0x2d66(r31)
/* 803BA618 003B6278  4B FF 22 29 */	bl func_803AC840
/* 803BA61C 003B627C  70 60 02 20 */	andi. r0, r3, 0x220
/* 803BA620 003B6280  41 82 00 14 */	beq lbl_803BA634
/* 803BA624 003B6284  38 00 00 00 */	li r0, 0
/* 803BA628 003B6288  98 1E 2D 67 */	stb r0, 0x2d67(r30)
/* 803BA62C 003B628C  90 1E 2D AC */	stw r0, 0x2dac(r30)
/* 803BA630 003B6290  48 00 00 2C */	b lbl_803BA65C
lbl_803BA634:
/* 803BA634 003B6294  7F 83 E3 78 */	mr r3, r28
/* 803BA638 003B6298  38 80 00 0A */	li r4, 0xa
/* 803BA63C 003B629C  38 A0 00 00 */	li r5, 0
/* 803BA640 003B62A0  48 02 33 9D */	bl func_803DD9DC
/* 803BA644 003B62A4  98 7E 2D 67 */	stb r3, 0x2d67(r30)
/* 803BA648 003B62A8  38 80 00 9F */	li r4, 0x9f
/* 803BA64C 003B62AC  7F 83 E3 78 */	mr r3, r28
/* 803BA650 003B62B0  38 A0 00 00 */	li r5, 0
/* 803BA654 003B62B4  48 02 33 89 */	bl func_803DD9DC
/* 803BA658 003B62B8  90 7E 2D AC */	stw r3, 0x2dac(r30)
lbl_803BA65C:
/* 803BA65C 003B62BC  7F 83 E3 78 */	mr r3, r28
/* 803BA660 003B62C0  38 80 00 A0 */	li r4, 0xa0
/* 803BA664 003B62C4  38 A0 00 00 */	li r5, 0
/* 803BA668 003B62C8  48 02 33 75 */	bl func_803DD9DC
/* 803BA66C 003B62CC  7C BA EA 14 */	add r5, r26, r29
/* 803BA670 003B62D0  38 80 00 09 */	li r4, 9
/* 803BA674 003B62D4  98 65 2D 74 */	stb r3, 0x2d74(r5)
/* 803BA678 003B62D8  7F 83 E3 78 */	mr r3, r28
/* 803BA67C 003B62DC  38 A0 00 00 */	li r5, 0
/* 803BA680 003B62E0  48 02 33 5D */	bl func_803DD9DC
/* 803BA684 003B62E4  7C BA EA 14 */	add r5, r26, r29
/* 803BA688 003B62E8  38 80 00 A2 */	li r4, 0xa2
/* 803BA68C 003B62EC  98 65 2D 75 */	stb r3, 0x2d75(r5)
/* 803BA690 003B62F0  7F 83 E3 78 */	mr r3, r28
/* 803BA694 003B62F4  38 A0 00 00 */	li r5, 0
/* 803BA698 003B62F8  48 02 33 45 */	bl func_803DD9DC
/* 803BA69C 003B62FC  7C BA EA 14 */	add r5, r26, r29
/* 803BA6A0 003B6300  38 80 00 A3 */	li r4, 0xa3
/* 803BA6A4 003B6304  90 65 2D 8C */	stw r3, 0x2d8c(r5)
/* 803BA6A8 003B6308  7F 83 E3 78 */	mr r3, r28
/* 803BA6AC 003B630C  38 A0 00 00 */	li r5, 0
/* 803BA6B0 003B6310  48 02 33 2D */	bl func_803DD9DC
/* 803BA6B4 003B6314  7C BA EA 14 */	add r5, r26, r29
/* 803BA6B8 003B6318  38 80 00 08 */	li r4, 8
/* 803BA6BC 003B631C  90 65 2D 90 */	stw r3, 0x2d90(r5)
/* 803BA6C0 003B6320  7F 83 E3 78 */	mr r3, r28
/* 803BA6C4 003B6324  38 A0 00 00 */	li r5, 0
/* 803BA6C8 003B6328  48 02 33 15 */	bl func_803DD9DC
/* 803BA6CC 003B632C  7C BA EA 14 */	add r5, r26, r29
/* 803BA6D0 003B6330  38 80 00 00 */	li r4, 0
/* 803BA6D4 003B6334  90 65 2D A4 */	stw r3, 0x2da4(r5)
/* 803BA6D8 003B6338  7F 83 E3 78 */	mr r3, r28
/* 803BA6DC 003B633C  38 A0 00 00 */	li r5, 0
/* 803BA6E0 003B6340  48 02 32 FD */	bl func_803DD9DC
/* 803BA6E4 003B6344  7C BA EA 14 */	add r5, r26, r29
/* 803BA6E8 003B6348  38 80 00 07 */	li r4, 7
/* 803BA6EC 003B634C  90 65 2D A8 */	stw r3, 0x2da8(r5)
/* 803BA6F0 003B6350  7F 83 E3 78 */	mr r3, r28
/* 803BA6F4 003B6354  38 A0 00 00 */	li r5, 0
/* 803BA6F8 003B6358  48 02 32 E5 */	bl func_803DD9DC
/* 803BA6FC 003B635C  7F FA EA 14 */	add r31, r26, r29
/* 803BA700 003B6360  38 80 00 06 */	li r4, 6
/* 803BA704 003B6364  90 7F 2D B4 */	stw r3, 0x2db4(r31)
/* 803BA708 003B6368  7F 83 E3 78 */	mr r3, r28
/* 803BA70C 003B636C  38 A0 00 00 */	li r5, 0
/* 803BA710 003B6370  48 02 32 CD */	bl func_803DD9DC
/* 803BA714 003B6374  B0 7F 2D B8 */	sth r3, 0x2db8(r31)
/* 803BA718 003B6378  7F 83 E3 78 */	mr r3, r28
/* 803BA71C 003B637C  38 80 00 9C */	li r4, 0x9c
/* 803BA720 003B6380  38 A0 00 00 */	li r5, 0
/* 803BA724 003B6384  48 02 32 B9 */	bl func_803DD9DC
/* 803BA728 003B6388  88 1E 2D BE */	lbz r0, 0x2dbe(r30)
/* 803BA72C 003B638C  50 60 07 3E */	rlwimi r0, r3, 0, 0x1c, 0x1f
/* 803BA730 003B6390  7F 83 E3 78 */	mr r3, r28
/* 803BA734 003B6394  38 80 00 9A */	li r4, 0x9a
/* 803BA738 003B6398  98 1E 2D BE */	stb r0, 0x2dbe(r30)
/* 803BA73C 003B639C  38 A0 00 00 */	li r5, 0
/* 803BA740 003B63A0  48 02 32 9D */	bl func_803DD9DC
/* 803BA744 003B63A4  98 7F 2D BF */	stb r3, 0x2dbf(r31)
/* 803BA748 003B63A8  38 80 00 05 */	li r4, 5
/* 803BA74C 003B63AC  7F 83 E3 78 */	mr r3, r28
/* 803BA750 003B63B0  38 A0 00 00 */	li r5, 0
/* 803BA754 003B63B4  48 02 32 89 */	bl func_803DD9DC
/* 803BA758 003B63B8  3C A0 80 64 */	lis r5, lbl_8063CE34@ha
/* 803BA75C 003B63BC  7C 64 1B 78 */	mr r4, r3
/* 803BA760 003B63C0  38 A5 CE 34 */	addi r5, r5, lbl_8063CE34@l
/* 803BA764 003B63C4  38 65 00 10 */	addi r3, r5, 0x10
/* 803BA768 003B63C8  4B FD 76 85 */	bl func_80391DEC
/* 803BA76C 003B63CC  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803BA770 003B63D0  7F E4 FB 78 */	mr r4, r31
/* 803BA774 003B63D4  90 1F 2D 60 */	stw r0, 0x2d60(r31)
/* 803BA778 003B63D8  38 A4 2D 76 */	addi r5, r4, 0x2d76
/* 803BA77C 003B63DC  7F 83 E3 78 */	mr r3, r28
/* 803BA780 003B63E0  38 80 00 74 */	li r4, 0x74
/* 803BA784 003B63E4  48 02 32 59 */	bl func_803DD9DC
/* 803BA788 003B63E8  7F E4 FB 78 */	mr r4, r31
/* 803BA78C 003B63EC  7F 83 E3 78 */	mr r3, r28
/* 803BA790 003B63F0  38 A4 2D 94 */	addi r5, r4, 0x2d94
/* 803BA794 003B63F4  38 80 00 8F */	li r4, 0x8f
/* 803BA798 003B63F8  48 02 32 45 */	bl func_803DD9DC
/* 803BA79C 003B63FC  3B 80 00 00 */	li r28, 0
/* 803BA7A0 003B6400  7F 23 CB 78 */	mr r3, r25
/* 803BA7A4 003B6404  9B 9F 2D BC */	stb r28, 0x2dbc(r31)
/* 803BA7A8 003B6408  7F 64 DB 78 */	mr r4, r27
/* 803BA7AC 003B640C  9B 9F 2D BD */	stb r28, 0x2dbd(r31)
/* 803BA7B0 003B6410  4B FF 25 35 */	bl func_803ACCE4
/* 803BA7B4 003B6414  7C 9A DA 14 */	add r4, r26, r27
/* 803BA7B8 003B6418  54 77 06 3E */	clrlwi r23, r3, 0x18
/* 803BA7BC 003B641C  88 64 21 9C */	lbz r3, 0x219c(r4)
/* 803BA7C0 003B6420  48 02 31 61 */	bl func_803DD920
/* 803BA7C4 003B6424  56 E0 18 38 */	slwi r0, r23, 3
/* 803BA7C8 003B6428  7C 9A 02 14 */	add r4, r26, r0
/* 803BA7CC 003B642C  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803BA7D0 003B6430  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803BA7D4 003B6434  7C 00 18 39 */	and. r0, r0, r3
/* 803BA7D8 003B6438  41 82 00 18 */	beq lbl_803BA7F0
/* 803BA7DC 003B643C  B3 9F 2D B8 */	sth r28, 0x2db8(r31)
/* 803BA7E0 003B6440  80 1F 2D CC */	lwz r0, 0x2dcc(r31)
/* 803BA7E4 003B6444  54 00 05 EA */	rlwinm r0, r0, 0, 0x17, 0x15
/* 803BA7E8 003B6448  90 1F 2D CC */	stw r0, 0x2dcc(r31)
/* 803BA7EC 003B644C  48 00 00 1C */	b lbl_803BA808
lbl_803BA7F0:
/* 803BA7F0 003B6450  A0 1F 2D B8 */	lhz r0, 0x2db8(r31)
/* 803BA7F4 003B6454  2C 00 00 00 */	cmpwi r0, 0
/* 803BA7F8 003B6458  41 82 00 10 */	beq lbl_803BA808
/* 803BA7FC 003B645C  80 1F 2D CC */	lwz r0, 0x2dcc(r31)
/* 803BA800 003B6460  60 00 02 00 */	ori r0, r0, 0x200
/* 803BA804 003B6464  90 1F 2D CC */	stw r0, 0x2dcc(r31)
lbl_803BA808:
/* 803BA808 003B6468  39 61 00 30 */	addi r11, r1, 0x30
/* 803BA80C 003B646C  4B E0 C9 59 */	bl _restgpr_23
/* 803BA810 003B6470  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BA814 003B6474  7C 08 03 A6 */	mtlr r0
/* 803BA818 003B6478  38 21 00 30 */	addi r1, r1, 0x30
/* 803BA81C 003B647C  4E 80 00 20 */	blr 

.global func_803BA820
func_803BA820:
/* 803BA820 003B6480  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BA824 003B6484  7C 08 02 A6 */	mflr r0
/* 803BA828 003B6488  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BA82C 003B648C  39 61 00 30 */	addi r11, r1, 0x30
/* 803BA830 003B6490  4B E0 C8 F1 */	bl _savegpr_25
/* 803BA834 003B6494  7C B9 2B 78 */	mr r25, r5
/* 803BA838 003B6498  7C 9D 23 78 */	mr r29, r4
/* 803BA83C 003B649C  7C C5 33 78 */	mr r5, r6
/* 803BA840 003B64A0  7F 24 CB 78 */	mr r4, r25
/* 803BA844 003B64A4  4B FF 21 61 */	bl func_803AC9A4
/* 803BA848 003B64A8  1F F9 00 C0 */	mulli r31, r25, 0xc0
/* 803BA84C 003B64AC  7C 7E 1B 78 */	mr r30, r3
/* 803BA850 003B64B0  38 80 00 A4 */	li r4, 0xa4
/* 803BA854 003B64B4  38 A0 00 00 */	li r5, 0
/* 803BA858 003B64B8  48 02 31 85 */	bl func_803DD9DC
/* 803BA85C 003B64BC  7C BD FA 14 */	add r5, r29, r31
/* 803BA860 003B64C0  38 80 00 A5 */	li r4, 0xa5
/* 803BA864 003B64C4  B0 65 2D 42 */	sth r3, 0x2d42(r5)
/* 803BA868 003B64C8  7F C3 F3 78 */	mr r3, r30
/* 803BA86C 003B64CC  38 A0 00 00 */	li r5, 0
/* 803BA870 003B64D0  48 02 31 6D */	bl func_803DD9DC
/* 803BA874 003B64D4  7C BD FA 14 */	add r5, r29, r31
/* 803BA878 003B64D8  38 80 00 A6 */	li r4, 0xa6
/* 803BA87C 003B64DC  B0 65 2D 44 */	sth r3, 0x2d44(r5)
/* 803BA880 003B64E0  7F C3 F3 78 */	mr r3, r30
/* 803BA884 003B64E4  38 A0 00 00 */	li r5, 0
/* 803BA888 003B64E8  48 02 31 55 */	bl func_803DD9DC
/* 803BA88C 003B64EC  7C BD FA 14 */	add r5, r29, r31
/* 803BA890 003B64F0  38 80 00 A7 */	li r4, 0xa7
/* 803BA894 003B64F4  B0 65 2D 46 */	sth r3, 0x2d46(r5)
/* 803BA898 003B64F8  7F C3 F3 78 */	mr r3, r30
/* 803BA89C 003B64FC  38 A0 00 00 */	li r5, 0
/* 803BA8A0 003B6500  48 02 31 3D */	bl func_803DD9DC
/* 803BA8A4 003B6504  7C BD FA 14 */	add r5, r29, r31
/* 803BA8A8 003B6508  38 80 00 A8 */	li r4, 0xa8
/* 803BA8AC 003B650C  B0 65 2D 48 */	sth r3, 0x2d48(r5)
/* 803BA8B0 003B6510  7F C3 F3 78 */	mr r3, r30
/* 803BA8B4 003B6514  38 A0 00 00 */	li r5, 0
/* 803BA8B8 003B6518  48 02 31 25 */	bl func_803DD9DC
/* 803BA8BC 003B651C  7C BD FA 14 */	add r5, r29, r31
/* 803BA8C0 003B6520  38 80 00 A0 */	li r4, 0xa0
/* 803BA8C4 003B6524  B0 65 2D 4A */	sth r3, 0x2d4a(r5)
/* 803BA8C8 003B6528  7F C3 F3 78 */	mr r3, r30
/* 803BA8CC 003B652C  38 A0 00 00 */	li r5, 0
/* 803BA8D0 003B6530  48 02 31 0D */	bl func_803DD9DC
/* 803BA8D4 003B6534  7C BD FA 14 */	add r5, r29, r31
/* 803BA8D8 003B6538  38 80 00 09 */	li r4, 9
/* 803BA8DC 003B653C  98 65 2D 74 */	stb r3, 0x2d74(r5)
/* 803BA8E0 003B6540  7F C3 F3 78 */	mr r3, r30
/* 803BA8E4 003B6544  38 A0 00 00 */	li r5, 0
/* 803BA8E8 003B6548  48 02 30 F5 */	bl func_803DD9DC
/* 803BA8EC 003B654C  7C BD FA 14 */	add r5, r29, r31
/* 803BA8F0 003B6550  38 80 00 A2 */	li r4, 0xa2
/* 803BA8F4 003B6554  98 65 2D 75 */	stb r3, 0x2d75(r5)
/* 803BA8F8 003B6558  7F C3 F3 78 */	mr r3, r30
/* 803BA8FC 003B655C  38 A0 00 00 */	li r5, 0
/* 803BA900 003B6560  48 02 30 DD */	bl func_803DD9DC
/* 803BA904 003B6564  7C BD FA 14 */	add r5, r29, r31
/* 803BA908 003B6568  38 80 00 A3 */	li r4, 0xa3
/* 803BA90C 003B656C  90 65 2D 8C */	stw r3, 0x2d8c(r5)
/* 803BA910 003B6570  7F C3 F3 78 */	mr r3, r30
/* 803BA914 003B6574  38 A0 00 00 */	li r5, 0
/* 803BA918 003B6578  48 02 30 C5 */	bl func_803DD9DC
/* 803BA91C 003B657C  7F 7D FA 14 */	add r27, r29, r31
/* 803BA920 003B6580  90 7B 2D 90 */	stw r3, 0x2d90(r27)
/* 803BA924 003B6584  80 1B 2D B0 */	lwz r0, 0x2db0(r27)
/* 803BA928 003B6588  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803BA92C 003B658C  40 82 00 90 */	bne lbl_803BA9BC
/* 803BA930 003B6590  3B 20 00 00 */	li r25, 0
/* 803BA934 003B6594  3B 80 00 00 */	li r28, 0
lbl_803BA938:
/* 803BA938 003B6598  7F 23 CB 78 */	mr r3, r25
/* 803BA93C 003B659C  48 02 2F E5 */	bl func_803DD920
/* 803BA940 003B65A0  80 1B 2D CC */	lwz r0, 0x2dcc(r27)
/* 803BA944 003B65A4  54 00 37 3E */	rlwinm r0, r0, 6, 0x1c, 0x1f
/* 803BA948 003B65A8  7C 00 18 39 */	and. r0, r0, r3
/* 803BA94C 003B65AC  40 82 00 48 */	bne lbl_803BA994
/* 803BA950 003B65B0  7F C3 F3 78 */	mr r3, r30
/* 803BA954 003B65B4  38 99 00 36 */	addi r4, r25, 0x36
/* 803BA958 003B65B8  38 A0 00 00 */	li r5, 0
/* 803BA95C 003B65BC  48 02 30 81 */	bl func_803DD9DC
/* 803BA960 003B65C0  7C 9B E2 14 */	add r4, r27, r28
/* 803BA964 003B65C4  7F 5B CA 14 */	add r26, r27, r25
/* 803BA968 003B65C8  B0 64 2D 4C */	sth r3, 0x2d4c(r4)
/* 803BA96C 003B65CC  7F C3 F3 78 */	mr r3, r30
/* 803BA970 003B65D0  38 99 00 3A */	addi r4, r25, 0x3a
/* 803BA974 003B65D4  38 A0 00 00 */	li r5, 0
/* 803BA978 003B65D8  48 02 30 65 */	bl func_803DD9DC
/* 803BA97C 003B65DC  98 7A 2D 6C */	stb r3, 0x2d6c(r26)
/* 803BA980 003B65E0  7F C3 F3 78 */	mr r3, r30
/* 803BA984 003B65E4  38 99 00 3E */	addi r4, r25, 0x3e
/* 803BA988 003B65E8  38 A0 00 00 */	li r5, 0
/* 803BA98C 003B65EC  48 02 30 51 */	bl func_803DD9DC
/* 803BA990 003B65F0  98 7A 2D 70 */	stb r3, 0x2d70(r26)
lbl_803BA994:
/* 803BA994 003B65F4  3B 39 00 01 */	addi r25, r25, 1
/* 803BA998 003B65F8  3B 9C 00 02 */	addi r28, r28, 2
/* 803BA99C 003B65FC  2C 19 00 04 */	cmpwi r25, 4
/* 803BA9A0 003B6600  41 80 FF 98 */	blt lbl_803BA938
/* 803BA9A4 003B6604  7F C3 F3 78 */	mr r3, r30
/* 803BA9A8 003B6608  38 80 00 08 */	li r4, 8
/* 803BA9AC 003B660C  38 A0 00 00 */	li r5, 0
/* 803BA9B0 003B6610  48 02 30 2D */	bl func_803DD9DC
/* 803BA9B4 003B6614  7C 9D FA 14 */	add r4, r29, r31
/* 803BA9B8 003B6618  90 64 2D A4 */	stw r3, 0x2da4(r4)
lbl_803BA9BC:
/* 803BA9BC 003B661C  39 61 00 30 */	addi r11, r1, 0x30
/* 803BA9C0 003B6620  4B E0 C7 AD */	bl _restgpr_25
/* 803BA9C4 003B6624  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BA9C8 003B6628  7C 08 03 A6 */	mtlr r0
/* 803BA9CC 003B662C  38 21 00 30 */	addi r1, r1, 0x30
/* 803BA9D0 003B6630  4E 80 00 20 */	blr 

.global func_803BA9D4
func_803BA9D4:
/* 803BA9D4 003B6634  38 00 00 00 */	li r0, 0
/* 803BA9D8 003B6638  90 83 00 AC */	stw r4, 0xac(r3)
/* 803BA9DC 003B663C  90 A3 00 B0 */	stw r5, 0xb0(r3)
/* 803BA9E0 003B6640  90 03 00 B4 */	stw r0, 0xb4(r3)
/* 803BA9E4 003B6644  38 63 27 00 */	addi r3, r3, 0x2700
/* 803BA9E8 003B6648  48 01 EF 24 */	b lbl_803D990C

.global func_803BA9EC
func_803BA9EC:
/* 803BA9EC 003B664C  80 C3 00 B8 */	lwz r6, 0xb8(r3)
/* 803BA9F0 003B6650  38 00 00 00 */	li r0, 0
/* 803BA9F4 003B6654  80 E3 00 AC */	lwz r7, 0xac(r3)
/* 803BA9F8 003B6658  54 C6 10 3A */	slwi r6, r6, 2
/* 803BA9FC 003B665C  7C C3 32 14 */	add r6, r3, r6
/* 803BAA00 003B6660  90 E6 00 BC */	stw r7, 0xbc(r6)
/* 803BAA04 003B6664  80 C3 00 B8 */	lwz r6, 0xb8(r3)
/* 803BAA08 003B6668  80 E3 00 B0 */	lwz r7, 0xb0(r3)
/* 803BAA0C 003B666C  54 C6 10 3A */	slwi r6, r6, 2
/* 803BAA10 003B6670  7C C3 32 14 */	add r6, r3, r6
/* 803BAA14 003B6674  90 E6 00 CC */	stw r7, 0xcc(r6)
/* 803BAA18 003B6678  80 C3 00 B8 */	lwz r6, 0xb8(r3)
/* 803BAA1C 003B667C  80 E3 00 B4 */	lwz r7, 0xb4(r3)
/* 803BAA20 003B6680  54 C6 10 3A */	slwi r6, r6, 2
/* 803BAA24 003B6684  7C C3 32 14 */	add r6, r3, r6
/* 803BAA28 003B6688  90 E6 00 DC */	stw r7, 0xdc(r6)
/* 803BAA2C 003B668C  80 C3 00 B8 */	lwz r6, 0xb8(r3)
/* 803BAA30 003B6690  90 83 00 AC */	stw r4, 0xac(r3)
/* 803BAA34 003B6694  38 C6 00 01 */	addi r6, r6, 1
/* 803BAA38 003B6698  90 C3 00 B8 */	stw r6, 0xb8(r3)
/* 803BAA3C 003B669C  90 A3 00 B0 */	stw r5, 0xb0(r3)
/* 803BAA40 003B66A0  90 03 00 B4 */	stw r0, 0xb4(r3)
/* 803BAA44 003B66A4  38 63 27 00 */	addi r3, r3, 0x2700
/* 803BAA48 003B66A8  48 01 EE C4 */	b lbl_803D990C
lbl_803BAA4C:
/* 803BAA4C 003B66AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BAA50 003B66B0  7C 08 02 A6 */	mflr r0
/* 803BAA54 003B66B4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BAA58 003B66B8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803BAA5C 003B66BC  7C 7F 1B 78 */	mr r31, r3
/* 803BAA60 003B66C0  80 83 00 B8 */	lwz r4, 0xb8(r3)
/* 803BAA64 003B66C4  2C 04 00 00 */	cmpwi r4, 0
/* 803BAA68 003B66C8  41 82 00 3C */	beq lbl_803BAAA4
/* 803BAA6C 003B66CC  38 04 FF FF */	addi r0, r4, -1
/* 803BAA70 003B66D0  54 04 10 3A */	slwi r4, r0, 2
/* 803BAA74 003B66D4  90 03 00 B8 */	stw r0, 0xb8(r3)
/* 803BAA78 003B66D8  7C A3 22 14 */	add r5, r3, r4
/* 803BAA7C 003B66DC  80 85 00 BC */	lwz r4, 0xbc(r5)
/* 803BAA80 003B66E0  80 A5 00 CC */	lwz r5, 0xcc(r5)
/* 803BAA84 003B66E4  4B FF FF 51 */	bl func_803BA9D4
/* 803BAA88 003B66E8  80 1F 00 B8 */	lwz r0, 0xb8(r31)
/* 803BAA8C 003B66EC  38 60 00 00 */	li r3, 0
/* 803BAA90 003B66F0  54 00 10 3A */	slwi r0, r0, 2
/* 803BAA94 003B66F4  7C 9F 02 14 */	add r4, r31, r0
/* 803BAA98 003B66F8  80 04 00 DC */	lwz r0, 0xdc(r4)
/* 803BAA9C 003B66FC  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803BAAA0 003B6700  48 00 00 08 */	b lbl_803BAAA8
lbl_803BAAA4:
/* 803BAAA4 003B6704  38 60 00 01 */	li r3, 1
lbl_803BAAA8:
/* 803BAAA8 003B6708  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BAAAC 003B670C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803BAAB0 003B6710  7C 08 03 A6 */	mtlr r0
/* 803BAAB4 003B6714  38 21 00 10 */	addi r1, r1, 0x10
/* 803BAAB8 003B6718  4E 80 00 20 */	blr 

.global func_803BAABC
func_803BAABC:
/* 803BAABC 003B671C  54 88 30 32 */	slwi r8, r4, 6
/* 803BAAC0 003B6720  54 A7 20 36 */	slwi r7, r5, 4
/* 803BAAC4 003B6724  7C 83 42 14 */	add r4, r3, r8
/* 803BAAC8 003B6728  38 00 00 10 */	li r0, 0x10
/* 803BAACC 003B672C  7C A7 22 14 */	add r5, r7, r4
/* 803BAAD0 003B6730  39 20 00 00 */	li r9, 0
/* 803BAAD4 003B6734  7C 09 03 A6 */	mtctr r0
lbl_803BAAD8:
/* 803BAAD8 003B6738  7C 85 4A 14 */	add r4, r5, r9
/* 803BAADC 003B673C  88 04 22 00 */	lbz r0, 0x2200(r4)
/* 803BAAE0 003B6740  2C 00 00 00 */	cmpwi r0, 0
/* 803BAAE4 003B6744  40 82 00 18 */	bne lbl_803BAAFC
/* 803BAAE8 003B6748  7C 03 42 14 */	add r0, r3, r8
/* 803BAAEC 003B674C  7C 00 3A 14 */	add r0, r0, r7
/* 803BAAF0 003B6750  7C 60 4A 14 */	add r3, r0, r9
/* 803BAAF4 003B6754  98 C3 22 00 */	stb r6, 0x2200(r3)
/* 803BAAF8 003B6758  48 00 00 0C */	b lbl_803BAB04
lbl_803BAAFC:
/* 803BAAFC 003B675C  39 29 00 01 */	addi r9, r9, 1
/* 803BAB00 003B6760  42 00 FF D8 */	bdnz lbl_803BAAD8
lbl_803BAB04:
/* 803BAB04 003B6764  69 20 00 10 */	xori r0, r9, 0x10
/* 803BAB08 003B6768  3C 80 80 47 */	lis r4, lbl_804734C8@ha
/* 803BAB0C 003B676C  7C 03 0E 70 */	srawi r3, r0, 1
/* 803BAB10 003B6770  54 00 06 F6 */	rlwinm r0, r0, 0, 0x1b, 0x1b
/* 803BAB14 003B6774  38 84 34 C8 */	addi r4, r4, lbl_804734C8@l
/* 803BAB18 003B6778  7C 00 18 50 */	subf r0, r0, r3
/* 803BAB1C 003B677C  54 03 0F FE */	srwi r3, r0, 0x1f
/* 803BAB20 003B6780  4C C6 31 82 */	crclr 6
/* 803BAB24 003B6784  48 01 ED 78 */	b func_803D989C

.global func_803BAB28
func_803BAB28:
/* 803BAB28 003B6788  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BAB2C 003B678C  7C 08 02 A6 */	mflr r0
/* 803BAB30 003B6790  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BAB34 003B6794  39 61 00 20 */	addi r11, r1, 0x20
/* 803BAB38 003B6798  4B E0 C5 F5 */	bl _savegpr_28
/* 803BAB3C 003B679C  30 06 FF FF */	addic r0, r6, -1
/* 803BAB40 003B67A0  3C E0 80 47 */	lis r7, lbl_804734EA@ha
/* 803BAB44 003B67A4  7C 7C 1B 78 */	mr r28, r3
/* 803BAB48 003B67A8  7C 9D 23 78 */	mr r29, r4
/* 803BAB4C 003B67AC  7C BE 2B 78 */	mr r30, r5
/* 803BAB50 003B67B0  7C DF 33 78 */	mr r31, r6
/* 803BAB54 003B67B4  7C 60 31 10 */	subfe r3, r0, r6
/* 803BAB58 003B67B8  38 87 34 EA */	addi r4, r7, lbl_804734EA@l
/* 803BAB5C 003B67BC  4C C6 31 82 */	crclr 6
/* 803BAB60 003B67C0  48 01 ED 3D */	bl func_803D989C
/* 803BAB64 003B67C4  57 A6 30 32 */	slwi r6, r29, 6
/* 803BAB68 003B67C8  57 C5 20 36 */	slwi r5, r30, 4
/* 803BAB6C 003B67CC  7C 7C 32 14 */	add r3, r28, r6
/* 803BAB70 003B67D0  38 00 00 10 */	li r0, 0x10
/* 803BAB74 003B67D4  7C 85 1A 14 */	add r4, r5, r3
/* 803BAB78 003B67D8  38 E0 00 00 */	li r7, 0
/* 803BAB7C 003B67DC  7C 09 03 A6 */	mtctr r0
lbl_803BAB80:
/* 803BAB80 003B67E0  7C 64 3A 14 */	add r3, r4, r7
/* 803BAB84 003B67E4  88 03 22 00 */	lbz r0, 0x2200(r3)
/* 803BAB88 003B67E8  7C 1F 00 00 */	cmpw r31, r0
/* 803BAB8C 003B67EC  40 82 00 1C */	bne lbl_803BABA8
/* 803BAB90 003B67F0  7C 1C 32 14 */	add r0, r28, r6
/* 803BAB94 003B67F4  38 80 00 00 */	li r4, 0
/* 803BAB98 003B67F8  7C 00 2A 14 */	add r0, r0, r5
/* 803BAB9C 003B67FC  7C 60 3A 14 */	add r3, r0, r7
/* 803BABA0 003B6800  98 83 22 00 */	stb r4, 0x2200(r3)
/* 803BABA4 003B6804  48 00 00 0C */	b lbl_803BABB0
lbl_803BABA8:
/* 803BABA8 003B6808  38 E7 00 01 */	addi r7, r7, 1
/* 803BABAC 003B680C  42 00 FF D4 */	bdnz lbl_803BAB80
lbl_803BABB0:
/* 803BABB0 003B6810  68 E0 00 10 */	xori r0, r7, 0x10
/* 803BABB4 003B6814  3C 80 80 47 */	lis r4, lbl_80473503@ha
/* 803BABB8 003B6818  7C 03 0E 70 */	srawi r3, r0, 1
/* 803BABBC 003B681C  7F E5 FB 78 */	mr r5, r31
/* 803BABC0 003B6820  54 00 06 F6 */	rlwinm r0, r0, 0, 0x1b, 0x1b
/* 803BABC4 003B6824  38 84 35 03 */	addi r4, r4, lbl_80473503@l
/* 803BABC8 003B6828  7C 00 18 50 */	subf r0, r0, r3
/* 803BABCC 003B682C  54 03 0F FE */	srwi r3, r0, 0x1f
/* 803BABD0 003B6830  4C C6 31 82 */	crclr 6
/* 803BABD4 003B6834  48 01 EC C9 */	bl func_803D989C
/* 803BABD8 003B6838  39 61 00 20 */	addi r11, r1, 0x20
/* 803BABDC 003B683C  4B E0 C5 9D */	bl _restgpr_28
/* 803BABE0 003B6840  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BABE4 003B6844  7C 08 03 A6 */	mtlr r0
/* 803BABE8 003B6848  38 21 00 20 */	addi r1, r1, 0x20
/* 803BABEC 003B684C  4E 80 00 20 */	blr 

.global func_803BABF0
func_803BABF0:
/* 803BABF0 003B6850  39 80 00 00 */	li r12, 0
/* 803BABF4 003B6854  39 20 00 00 */	li r9, 0
/* 803BABF8 003B6858  38 80 00 00 */	li r4, 0
/* 803BABFC 003B685C  38 00 00 10 */	li r0, 0x10
lbl_803BAC00:
/* 803BAC00 003B6860  7C E3 22 14 */	add r7, r3, r4
/* 803BAC04 003B6864  39 40 00 00 */	li r10, 0
/* 803BAC08 003B6868  38 A0 00 00 */	li r5, 0
lbl_803BAC0C:
/* 803BAC0C 003B686C  7D 07 2A 14 */	add r8, r7, r5
/* 803BAC10 003B6870  39 60 00 00 */	li r11, 0
/* 803BAC14 003B6874  7C 09 03 A6 */	mtctr r0
lbl_803BAC18:
/* 803BAC18 003B6878  7C C8 5A 14 */	add r6, r8, r11
/* 803BAC1C 003B687C  39 6B 00 01 */	addi r11, r11, 1
/* 803BAC20 003B6880  88 C6 22 00 */	lbz r6, 0x2200(r6)
/* 803BAC24 003B6884  7D 8C 32 14 */	add r12, r12, r6
/* 803BAC28 003B6888  42 00 FF F0 */	bdnz lbl_803BAC18
/* 803BAC2C 003B688C  39 4A 00 01 */	addi r10, r10, 1
/* 803BAC30 003B6890  38 A5 00 10 */	addi r5, r5, 0x10
/* 803BAC34 003B6894  2C 0A 00 04 */	cmpwi r10, 4
/* 803BAC38 003B6898  41 80 FF D4 */	blt lbl_803BAC0C
/* 803BAC3C 003B689C  39 29 00 01 */	addi r9, r9, 1
/* 803BAC40 003B68A0  38 84 00 40 */	addi r4, r4, 0x40
/* 803BAC44 003B68A4  2C 09 00 04 */	cmpwi r9, 4
/* 803BAC48 003B68A8  41 80 FF B8 */	blt lbl_803BAC00
/* 803BAC4C 003B68AC  2C 0C 00 00 */	cmpwi r12, 0
/* 803BAC50 003B68B0  40 82 00 0C */	bne lbl_803BAC5C
/* 803BAC54 003B68B4  38 00 00 00 */	li r0, 0
/* 803BAC58 003B68B8  90 03 31 48 */	stw r0, 0x3148(r3)
lbl_803BAC5C:
/* 803BAC5C 003B68BC  7D 80 00 34 */	cntlzw r0, r12
/* 803BAC60 003B68C0  54 03 D9 7E */	srwi r3, r0, 5
/* 803BAC64 003B68C4  4E 80 00 20 */	blr 

.global Increment_Q29CrowdMood10CROWD_MOOD_
Increment_Q29CrowdMood10CROWD_MOOD_:
/* 803BAC68 003B68C8  80 83 31 48 */	lwz r4, 0x3148(r3)
/* 803BAC6C 003B68CC  38 04 00 01 */	addi r0, r4, 1
/* 803BAC70 003B68D0  90 03 31 48 */	stw r0, 0x3148(r3)
/* 803BAC74 003B68D4  4E 80 00 20 */	blr 

.global func_803BAC78
func_803BAC78:
/* 803BAC78 003B68D8  54 84 40 2E */	slwi r4, r4, 8
/* 803BAC7C 003B68DC  38 00 01 00 */	li r0, 0x100
/* 803BAC80 003B68E0  7C A3 22 14 */	add r5, r3, r4
/* 803BAC84 003B68E4  38 C0 00 00 */	li r6, 0
/* 803BAC88 003B68E8  38 80 00 00 */	li r4, 0
/* 803BAC8C 003B68EC  7C 09 03 A6 */	mtctr r0
lbl_803BAC90:
/* 803BAC90 003B68F0  7C 65 32 14 */	add r3, r5, r6
/* 803BAC94 003B68F4  38 C6 00 01 */	addi r6, r6, 1
/* 803BAC98 003B68F8  98 83 23 00 */	stb r4, 0x2300(r3)
/* 803BAC9C 003B68FC  42 00 FF F4 */	bdnz lbl_803BAC90
/* 803BACA0 003B6900  4E 80 00 20 */	blr 

.global func_803BACA4
func_803BACA4:
/* 803BACA4 003B6904  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BACA8 003B6908  7C 08 02 A6 */	mflr r0
/* 803BACAC 003B690C  1D 24 00 C0 */	mulli r9, r4, 0xc0
/* 803BACB0 003B6910  28 05 00 64 */	cmplwi r5, 0x64
/* 803BACB4 003B6914  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BACB8 003B6918  7D 03 4A 14 */	add r8, r3, r9
/* 803BACBC 003B691C  39 48 2D 40 */	addi r10, r8, 0x2d40
/* 803BACC0 003B6920  41 81 04 AC */	bgt lbl_803BB16C
/* 803BACC4 003B6924  3C E0 80 47 */	lis r7, lbl_8047358C@ha
/* 803BACC8 003B6928  54 A0 10 3A */	slwi r0, r5, 2
/* 803BACCC 003B692C  38 E7 35 8C */	addi r7, r7, lbl_8047358C@l
/* 803BACD0 003B6930  7C E7 00 2E */	lwzx r7, r7, r0
/* 803BACD4 003B6934  7C E9 03 A6 */	mtctr r7
/* 803BACD8 003B6938  4E 80 04 20 */	bctr 
/* 803BACDC 003B693C  A0 6A 00 00 */	lhz r3, 0(r10)
/* 803BACE0 003B6940  48 00 04 A4 */	b lbl_803BB184
/* 803BACE4 003B6944  A0 6A 00 02 */	lhz r3, 2(r10)
/* 803BACE8 003B6948  48 00 04 9C */	b lbl_803BB184
/* 803BACEC 003B694C  A0 6A 00 04 */	lhz r3, 4(r10)
/* 803BACF0 003B6950  48 00 04 94 */	b lbl_803BB184
/* 803BACF4 003B6954  A0 6A 00 06 */	lhz r3, 6(r10)
/* 803BACF8 003B6958  48 00 04 8C */	b lbl_803BB184
/* 803BACFC 003B695C  A0 6A 00 08 */	lhz r3, 8(r10)
/* 803BAD00 003B6960  48 00 04 84 */	b lbl_803BB184
/* 803BAD04 003B6964  A0 6A 00 0A */	lhz r3, 0xa(r10)
/* 803BAD08 003B6968  48 00 04 7C */	b lbl_803BB184
/* 803BAD0C 003B696C  38 05 FF FA */	addi r0, r5, -6
/* 803BAD10 003B6970  54 00 08 3C */	slwi r0, r0, 1
/* 803BAD14 003B6974  7C 6A 02 14 */	add r3, r10, r0
/* 803BAD18 003B6978  A0 63 00 0C */	lhz r3, 0xc(r3)
/* 803BAD1C 003B697C  48 00 04 68 */	b lbl_803BB184
/* 803BAD20 003B6980  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD24 003B6984  54 03 2E FE */	srwi r3, r0, 0x1b
/* 803BAD28 003B6988  48 00 04 5C */	b lbl_803BB184
/* 803BAD2C 003B698C  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD30 003B6990  54 03 56 FE */	rlwinm r3, r0, 0xa, 0x1b, 0x1f
/* 803BAD34 003B6994  48 00 04 50 */	b lbl_803BB184
/* 803BAD38 003B6998  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD3C 003B699C  54 03 7E FE */	rlwinm r3, r0, 0xf, 0x1b, 0x1f
/* 803BAD40 003B69A0  48 00 04 44 */	b lbl_803BB184
/* 803BAD44 003B69A4  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD48 003B69A8  54 03 A6 FE */	rlwinm r3, r0, 0x14, 0x1b, 0x1f
/* 803BAD4C 003B69AC  48 00 04 38 */	b lbl_803BB184
/* 803BAD50 003B69B0  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD54 003B69B4  54 03 CE FE */	rlwinm r3, r0, 0x19, 0x1b, 0x1f
/* 803BAD58 003B69B8  48 00 04 2C */	b lbl_803BB184
/* 803BAD5C 003B69BC  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD60 003B69C0  54 03 F6 FE */	rlwinm r3, r0, 0x1e, 0x1b, 0x1f
/* 803BAD64 003B69C4  48 00 04 20 */	b lbl_803BB184
/* 803BAD68 003B69C8  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD6C 003B69CC  54 03 FF FE */	rlwinm r3, r0, 0x1f, 0x1f, 0x1f
/* 803BAD70 003B69D0  48 00 04 14 */	b lbl_803BB184
/* 803BAD74 003B69D4  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 803BAD78 003B69D8  54 03 07 FE */	clrlwi r3, r0, 0x1f
/* 803BAD7C 003B69DC  48 00 04 08 */	b lbl_803BB184
/* 803BAD80 003B69E0  7C 65 52 14 */	add r3, r5, r10
/* 803BAD84 003B69E4  88 63 00 06 */	lbz r3, 6(r3)
/* 803BAD88 003B69E8  7C 63 07 74 */	extsb r3, r3
/* 803BAD8C 003B69EC  48 00 03 F8 */	b lbl_803BB184
/* 803BAD90 003B69F0  88 6A 00 27 */	lbz r3, 0x27(r10)
/* 803BAD94 003B69F4  48 00 03 F0 */	b lbl_803BB184
/* 803BAD98 003B69F8  2C 05 00 1B */	cmpwi r5, 0x1b
/* 803BAD9C 003B69FC  40 82 00 0C */	bne lbl_803BADA8
/* 803BADA0 003B6A00  88 A8 2D 64 */	lbz r5, 0x2d64(r8)
/* 803BADA4 003B6A04  48 00 00 10 */	b lbl_803BADB4
lbl_803BADA8:
/* 803BADA8 003B6A08  2C 05 00 1C */	cmpwi r5, 0x1c
/* 803BADAC 003B6A0C  40 82 00 08 */	bne lbl_803BADB4
/* 803BADB0 003B6A10  88 A8 2D 65 */	lbz r5, 0x2d65(r8)
lbl_803BADB4:
/* 803BADB4 003B6A14  A0 0A 00 00 */	lhz r0, 0(r10)
/* 803BADB8 003B6A18  28 00 01 ED */	cmplwi r0, 0x1ed
/* 803BADBC 003B6A1C  40 82 00 D0 */	bne lbl_803BAE8C
/* 803BADC0 003B6A20  7C 83 4A 14 */	add r4, r3, r9
/* 803BADC4 003B6A24  88 04 2D 67 */	lbz r0, 0x2d67(r4)
/* 803BADC8 003B6A28  28 00 00 79 */	cmplwi r0, 0x79
/* 803BADCC 003B6A2C  40 82 00 C0 */	bne lbl_803BAE8C
/* 803BADD0 003B6A30  80 63 21 20 */	lwz r3, 0x2120(r3)
/* 803BADD4 003B6A34  A0 84 2D B8 */	lhz r4, 0x2db8(r4)
/* 803BADD8 003B6A38  48 01 E9 95 */	bl func_803D976C
/* 803BADDC 003B6A3C  38 80 00 01 */	li r4, 1
/* 803BADE0 003B6A40  48 01 E4 4D */	bl func_803D922C
/* 803BADE4 003B6A44  38 03 FF 83 */	addi r0, r3, -125
/* 803BADE8 003B6A48  28 00 00 0F */	cmplwi r0, 0xf
/* 803BADEC 003B6A4C  41 81 00 9C */	bgt lbl_803BAE88
/* 803BADF0 003B6A50  3C 60 80 47 */	lis r3, lbl_8047354C@ha
/* 803BADF4 003B6A54  54 00 10 3A */	slwi r0, r0, 2
/* 803BADF8 003B6A58  38 63 35 4C */	addi r3, r3, lbl_8047354C@l
/* 803BADFC 003B6A5C  7C 63 00 2E */	lwzx r3, r3, r0
/* 803BAE00 003B6A60  7C 69 03 A6 */	mtctr r3
/* 803BAE04 003B6A64  4E 80 04 20 */	bctr 
/* 803BAE08 003B6A68  38 A0 00 0A */	li r5, 0xa
/* 803BAE0C 003B6A6C  48 00 00 80 */	b lbl_803BAE8C
/* 803BAE10 003B6A70  38 A0 00 0B */	li r5, 0xb
/* 803BAE14 003B6A74  48 00 00 78 */	b lbl_803BAE8C
/* 803BAE18 003B6A78  38 A0 00 0D */	li r5, 0xd
/* 803BAE1C 003B6A7C  48 00 00 70 */	b lbl_803BAE8C
/* 803BAE20 003B6A80  38 A0 00 0C */	li r5, 0xc
/* 803BAE24 003B6A84  48 00 00 68 */	b lbl_803BAE8C
/* 803BAE28 003B6A88  38 A0 00 0F */	li r5, 0xf
/* 803BAE2C 003B6A8C  48 00 00 60 */	b lbl_803BAE8C
/* 803BAE30 003B6A90  38 A0 00 01 */	li r5, 1
/* 803BAE34 003B6A94  48 00 00 58 */	b lbl_803BAE8C
/* 803BAE38 003B6A98  38 A0 00 03 */	li r5, 3
/* 803BAE3C 003B6A9C  48 00 00 50 */	b lbl_803BAE8C
/* 803BAE40 003B6AA0  38 A0 00 04 */	li r5, 4
/* 803BAE44 003B6AA4  48 00 00 48 */	b lbl_803BAE8C
/* 803BAE48 003B6AA8  38 A0 00 02 */	li r5, 2
/* 803BAE4C 003B6AAC  48 00 00 40 */	b lbl_803BAE8C
/* 803BAE50 003B6AB0  38 A0 00 0E */	li r5, 0xe
/* 803BAE54 003B6AB4  48 00 00 38 */	b lbl_803BAE8C
/* 803BAE58 003B6AB8  38 A0 00 06 */	li r5, 6
/* 803BAE5C 003B6ABC  48 00 00 30 */	b lbl_803BAE8C
/* 803BAE60 003B6AC0  38 A0 00 05 */	li r5, 5
/* 803BAE64 003B6AC4  48 00 00 28 */	b lbl_803BAE8C
/* 803BAE68 003B6AC8  38 A0 00 07 */	li r5, 7
/* 803BAE6C 003B6ACC  48 00 00 20 */	b lbl_803BAE8C
/* 803BAE70 003B6AD0  38 A0 00 10 */	li r5, 0x10
/* 803BAE74 003B6AD4  48 00 00 18 */	b lbl_803BAE8C
/* 803BAE78 003B6AD8  38 A0 00 11 */	li r5, 0x11
/* 803BAE7C 003B6ADC  48 00 00 10 */	b lbl_803BAE8C
/* 803BAE80 003B6AE0  38 A0 00 08 */	li r5, 8
/* 803BAE84 003B6AE4  48 00 00 08 */	b lbl_803BAE8C
lbl_803BAE88:
/* 803BAE88 003B6AE8  38 A0 00 00 */	li r5, 0
lbl_803BAE8C:
/* 803BAE8C 003B6AEC  7C A3 2B 78 */	mr r3, r5
/* 803BAE90 003B6AF0  48 00 02 F4 */	b lbl_803BB184
/* 803BAE94 003B6AF4  88 0A 00 7E */	lbz r0, 0x7e(r10)
/* 803BAE98 003B6AF8  54 03 E7 3E */	rlwinm r3, r0, 0x1c, 0x1c, 0x1f
/* 803BAE9C 003B6AFC  48 00 02 E8 */	b lbl_803BB184
/* 803BAEA0 003B6B00  88 0A 00 26 */	lbz r0, 0x26(r10)
/* 803BAEA4 003B6B04  54 03 F7 FE */	rlwinm r3, r0, 0x1e, 0x1f, 0x1f
/* 803BAEA8 003B6B08  48 00 02 DC */	b lbl_803BB184
/* 803BAEAC 003B6B0C  7C 65 52 14 */	add r3, r5, r10
/* 803BAEB0 003B6B10  88 63 00 0D */	lbz r3, 0xd(r3)
/* 803BAEB4 003B6B14  48 00 02 D0 */	b lbl_803BB184
/* 803BAEB8 003B6B18  7C 65 52 14 */	add r3, r5, r10
/* 803BAEBC 003B6B1C  88 63 00 0D */	lbz r3, 0xd(r3)
/* 803BAEC0 003B6B20  48 00 02 C4 */	b lbl_803BB184
/* 803BAEC4 003B6B24  38 05 FF D9 */	addi r0, r5, -39
/* 803BAEC8 003B6B28  7C 65 52 14 */	add r3, r5, r10
/* 803BAECC 003B6B2C  54 00 08 3C */	slwi r0, r0, 1
/* 803BAED0 003B6B30  88 83 00 09 */	lbz r4, 9(r3)
/* 803BAED4 003B6B34  7C 6A 02 14 */	add r3, r10, r0
/* 803BAED8 003B6B38  A0 63 00 0C */	lhz r3, 0xc(r3)
/* 803BAEDC 003B6B3C  48 02 3B 85 */	bl func_803DEA60
/* 803BAEE0 003B6B40  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803BAEE4 003B6B44  48 00 02 A0 */	b lbl_803BB184
/* 803BAEE8 003B6B48  88 6A 00 34 */	lbz r3, 0x34(r10)
/* 803BAEEC 003B6B4C  48 00 02 98 */	b lbl_803BB184
/* 803BAEF0 003B6B50  88 6A 00 35 */	lbz r3, 0x35(r10)
/* 803BAEF4 003B6B54  48 00 02 90 */	b lbl_803BB184
/* 803BAEF8 003B6B58  38 00 00 0B */	li r0, 0xb
/* 803BAEFC 003B6B5C  38 60 00 00 */	li r3, 0
/* 803BAF00 003B6B60  7C 09 03 A6 */	mtctr r0
lbl_803BAF04:
/* 803BAF04 003B6B64  7C 8A 1A 14 */	add r4, r10, r3
/* 803BAF08 003B6B68  A0 04 00 36 */	lhz r0, 0x36(r4)
/* 803BAF0C 003B6B6C  7C 06 1B 2E */	sthx r0, r6, r3
/* 803BAF10 003B6B70  38 63 00 02 */	addi r3, r3, 2
/* 803BAF14 003B6B74  42 00 FF F0 */	bdnz lbl_803BAF04
/* 803BAF18 003B6B78  48 00 02 68 */	b lbl_803BB180
/* 803BAF1C 003B6B7C  7C C3 33 78 */	mr r3, r6
/* 803BAF20 003B6B80  38 8A 00 36 */	addi r4, r10, 0x36
/* 803BAF24 003B6B84  48 02 43 59 */	bl func_803DF27C
/* 803BAF28 003B6B88  48 00 02 58 */	b lbl_803BB180
/* 803BAF2C 003B6B8C  80 6A 00 4C */	lwz r3, 0x4c(r10)
/* 803BAF30 003B6B90  48 00 02 54 */	b lbl_803BB184
/* 803BAF34 003B6B94  80 6A 00 50 */	lwz r3, 0x50(r10)
/* 803BAF38 003B6B98  48 00 02 4C */	b lbl_803BB184
/* 803BAF3C 003B6B9C  38 00 00 0B */	li r0, 0xb
/* 803BAF40 003B6BA0  38 60 00 00 */	li r3, 0
/* 803BAF44 003B6BA4  7C 09 03 A6 */	mtctr r0
lbl_803BAF48:
/* 803BAF48 003B6BA8  7C 8A 1A 14 */	add r4, r10, r3
/* 803BAF4C 003B6BAC  A0 04 00 54 */	lhz r0, 0x54(r4)
/* 803BAF50 003B6BB0  7C 06 1B 2E */	sthx r0, r6, r3
/* 803BAF54 003B6BB4  38 63 00 02 */	addi r3, r3, 2
/* 803BAF58 003B6BB8  42 00 FF F0 */	bdnz lbl_803BAF48
/* 803BAF5C 003B6BBC  48 00 02 24 */	b lbl_803BB180
/* 803BAF60 003B6BC0  80 6A 00 64 */	lwz r3, 0x64(r10)
/* 803BAF64 003B6BC4  48 00 02 20 */	b lbl_803BB184
/* 803BAF68 003B6BC8  80 6A 00 68 */	lwz r3, 0x68(r10)
/* 803BAF6C 003B6BCC  48 00 02 18 */	b lbl_803BB184
/* 803BAF70 003B6BD0  80 6A 00 6C */	lwz r3, 0x6c(r10)
/* 803BAF74 003B6BD4  48 00 02 10 */	b lbl_803BB184
/* 803BAF78 003B6BD8  80 6A 00 70 */	lwz r3, 0x70(r10)
/* 803BAF7C 003B6BDC  48 00 02 08 */	b lbl_803BB184
/* 803BAF80 003B6BE0  80 6A 00 74 */	lwz r3, 0x74(r10)
/* 803BAF84 003B6BE4  48 00 02 00 */	b lbl_803BB184
/* 803BAF88 003B6BE8  A0 6A 00 78 */	lhz r3, 0x78(r10)
/* 803BAF8C 003B6BEC  48 00 01 F8 */	b lbl_803BB184
/* 803BAF90 003B6BF0  88 6A 00 7C */	lbz r3, 0x7c(r10)
/* 803BAF94 003B6BF4  48 00 01 F0 */	b lbl_803BB184
/* 803BAF98 003B6BF8  88 6A 00 7D */	lbz r3, 0x7d(r10)
/* 803BAF9C 003B6BFC  48 00 01 E8 */	b lbl_803BB184
/* 803BAFA0 003B6C00  88 0A 00 7E */	lbz r0, 0x7e(r10)
/* 803BAFA4 003B6C04  54 03 07 3E */	clrlwi r3, r0, 0x1c
/* 803BAFA8 003B6C08  48 00 01 DC */	b lbl_803BB184
/* 803BAFAC 003B6C0C  80 6A 00 80 */	lwz r3, 0x80(r10)
/* 803BAFB0 003B6C10  48 00 01 D4 */	b lbl_803BB184
/* 803BAFB4 003B6C14  80 6A 00 84 */	lwz r3, 0x84(r10)
/* 803BAFB8 003B6C18  48 00 01 CC */	b lbl_803BB184
/* 803BAFBC 003B6C1C  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BAFC0 003B6C20  54 03 1F 7E */	srwi r3, r0, 0x1d
/* 803BAFC4 003B6C24  48 00 01 C0 */	b lbl_803BB184
/* 803BAFC8 003B6C28  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BAFCC 003B6C2C  54 03 37 7E */	rlwinm r3, r0, 6, 0x1d, 0x1f
/* 803BAFD0 003B6C30  48 00 01 B4 */	b lbl_803BB184
/* 803BAFD4 003B6C34  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BAFD8 003B6C38  54 03 47 BE */	rlwinm r3, r0, 8, 0x1e, 0x1f
/* 803BAFDC 003B6C3C  48 00 01 A8 */	b lbl_803BB184
/* 803BAFE0 003B6C40  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BAFE4 003B6C44  54 03 5F 7E */	rlwinm r3, r0, 0xb, 0x1d, 0x1f
/* 803BAFE8 003B6C48  48 00 01 9C */	b lbl_803BB184
/* 803BAFEC 003B6C4C  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BAFF0 003B6C50  54 03 6F BE */	rlwinm r3, r0, 0xd, 0x1e, 0x1f
/* 803BAFF4 003B6C54  48 00 01 90 */	b lbl_803BB184
/* 803BAFF8 003B6C58  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BAFFC 003B6C5C  54 03 7F BE */	rlwinm r3, r0, 0xf, 0x1e, 0x1f
/* 803BB000 003B6C60  48 00 01 84 */	b lbl_803BB184
/* 803BB004 003B6C64  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB008 003B6C68  54 03 97 7E */	rlwinm r3, r0, 0x12, 0x1d, 0x1f
/* 803BB00C 003B6C6C  48 00 01 78 */	b lbl_803BB184
/* 803BB010 003B6C70  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB014 003B6C74  54 03 AF 7E */	rlwinm r3, r0, 0x15, 0x1d, 0x1f
/* 803BB018 003B6C78  48 00 01 6C */	b lbl_803BB184
/* 803BB01C 003B6C7C  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB020 003B6C80  54 03 C7 7E */	rlwinm r3, r0, 0x18, 0x1d, 0x1f
/* 803BB024 003B6C84  48 00 01 60 */	b lbl_803BB184
/* 803BB028 003B6C88  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB02C 003B6C8C  54 03 DF 7E */	rlwinm r3, r0, 0x1b, 0x1d, 0x1f
/* 803BB030 003B6C90  48 00 01 54 */	b lbl_803BB184
/* 803BB034 003B6C94  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB038 003B6C98  54 03 F7 7E */	rlwinm r3, r0, 0x1e, 0x1d, 0x1f
/* 803BB03C 003B6C9C  48 00 01 48 */	b lbl_803BB184
/* 803BB040 003B6CA0  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB044 003B6CA4  54 03 FF FE */	rlwinm r3, r0, 0x1f, 0x1f, 0x1f
/* 803BB048 003B6CA8  48 00 01 3C */	b lbl_803BB184
/* 803BB04C 003B6CAC  80 0A 00 88 */	lwz r0, 0x88(r10)
/* 803BB050 003B6CB0  54 03 07 FE */	clrlwi r3, r0, 0x1f
/* 803BB054 003B6CB4  48 00 01 30 */	b lbl_803BB184
/* 803BB058 003B6CB8  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB05C 003B6CBC  54 03 17 BE */	srwi r3, r0, 0x1e
/* 803BB060 003B6CC0  48 00 01 24 */	b lbl_803BB184
/* 803BB064 003B6CC4  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB068 003B6CC8  54 03 37 3E */	rlwinm r3, r0, 6, 0x1c, 0x1f
/* 803BB06C 003B6CCC  48 00 01 18 */	b lbl_803BB184
/* 803BB070 003B6CD0  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB074 003B6CD4  54 03 47 BE */	rlwinm r3, r0, 8, 0x1e, 0x1f
/* 803BB078 003B6CD8  48 00 01 0C */	b lbl_803BB184
/* 803BB07C 003B6CDC  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB080 003B6CE0  54 03 57 BE */	rlwinm r3, r0, 0xa, 0x1e, 0x1f
/* 803BB084 003B6CE4  48 00 01 00 */	b lbl_803BB184
/* 803BB088 003B6CE8  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB08C 003B6CEC  54 03 6F 7E */	rlwinm r3, r0, 0xd, 0x1d, 0x1f
/* 803BB090 003B6CF0  48 00 00 F4 */	b lbl_803BB184
/* 803BB094 003B6CF4  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB098 003B6CF8  54 03 87 7E */	rlwinm r3, r0, 0x10, 0x1d, 0x1f
/* 803BB09C 003B6CFC  48 00 00 E8 */	b lbl_803BB184
/* 803BB0A0 003B6D00  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0A4 003B6D04  54 03 9F 7E */	rlwinm r3, r0, 0x13, 0x1d, 0x1f
/* 803BB0A8 003B6D08  48 00 00 DC */	b lbl_803BB184
/* 803BB0AC 003B6D0C  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0B0 003B6D10  54 03 B7 7E */	rlwinm r3, r0, 0x16, 0x1d, 0x1f
/* 803BB0B4 003B6D14  48 00 00 D0 */	b lbl_803BB184
/* 803BB0B8 003B6D18  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0BC 003B6D1C  54 03 BF FE */	rlwinm r3, r0, 0x17, 0x1f, 0x1f
/* 803BB0C0 003B6D20  48 00 00 C4 */	b lbl_803BB184
/* 803BB0C4 003B6D24  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0C8 003B6D28  54 03 DF 3E */	rlwinm r3, r0, 0x1b, 0x1c, 0x1f
/* 803BB0CC 003B6D2C  48 00 00 B8 */	b lbl_803BB184
/* 803BB0D0 003B6D30  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0D4 003B6D34  54 03 E7 FE */	rlwinm r3, r0, 0x1c, 0x1f, 0x1f
/* 803BB0D8 003B6D38  48 00 00 AC */	b lbl_803BB184
/* 803BB0DC 003B6D3C  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0E0 003B6D40  54 03 EF FE */	rlwinm r3, r0, 0x1d, 0x1f, 0x1f
/* 803BB0E4 003B6D44  48 00 00 A0 */	b lbl_803BB184
/* 803BB0E8 003B6D48  80 0A 00 8C */	lwz r0, 0x8c(r10)
/* 803BB0EC 003B6D4C  54 03 F7 FE */	rlwinm r3, r0, 0x1e, 0x1f, 0x1f
/* 803BB0F0 003B6D50  48 00 00 94 */	b lbl_803BB184
/* 803BB0F4 003B6D54  80 6A 00 90 */	lwz r3, 0x90(r10)
/* 803BB0F8 003B6D58  48 00 00 8C */	b lbl_803BB184
/* 803BB0FC 003B6D5C  80 6A 00 94 */	lwz r3, 0x94(r10)
/* 803BB100 003B6D60  48 00 00 84 */	b lbl_803BB184
/* 803BB104 003B6D64  80 6A 00 98 */	lwz r3, 0x98(r10)
/* 803BB108 003B6D68  48 00 00 7C */	b lbl_803BB184
/* 803BB10C 003B6D6C  80 6A 00 A0 */	lwz r3, 0xa0(r10)
/* 803BB110 003B6D70  48 00 00 74 */	b lbl_803BB184
/* 803BB114 003B6D74  80 6A 00 A4 */	lwz r3, 0xa4(r10)
/* 803BB118 003B6D78  48 00 00 6C */	b lbl_803BB184
/* 803BB11C 003B6D7C  A0 6A 00 A8 */	lhz r3, 0xa8(r10)
/* 803BB120 003B6D80  48 00 00 64 */	b lbl_803BB184
/* 803BB124 003B6D84  A0 6A 00 AC */	lhz r3, 0xac(r10)
/* 803BB128 003B6D88  48 00 00 5C */	b lbl_803BB184
/* 803BB12C 003B6D8C  A0 6A 00 AA */	lhz r3, 0xaa(r10)
/* 803BB130 003B6D90  48 00 00 54 */	b lbl_803BB184
/* 803BB134 003B6D94  80 6A 00 BC */	lwz r3, 0xbc(r10)
/* 803BB138 003B6D98  48 00 00 4C */	b lbl_803BB184
/* 803BB13C 003B6D9C  80 0A 00 28 */	lwz r0, 0x28(r10)
/* 803BB140 003B6DA0  54 03 3F FE */	rlwinm r3, r0, 7, 0x1f, 0x1f
/* 803BB144 003B6DA4  48 00 00 40 */	b lbl_803BB184
/* 803BB148 003B6DA8  80 0A 00 28 */	lwz r0, 0x28(r10)
/* 803BB14C 003B6DAC  54 03 47 FE */	rlwinm r3, r0, 8, 0x1f, 0x1f
/* 803BB150 003B6DB0  48 00 00 34 */	b lbl_803BB184
/* 803BB154 003B6DB4  80 A3 01 38 */	lwz r5, 0x138(r3)
/* 803BB158 003B6DB8  4B FF FB 4D */	bl func_803BACA4
/* 803BB15C 003B6DBC  48 00 00 28 */	b lbl_803BB184
/* 803BB160 003B6DC0  88 0A 00 26 */	lbz r0, 0x26(r10)
/* 803BB164 003B6DC4  54 03 EE FE */	rlwinm r3, r0, 0x1d, 0x1b, 0x1f
/* 803BB168 003B6DC8  48 00 00 1C */	b lbl_803BB184
lbl_803BB16C:
/* 803BB16C 003B6DCC  3C 80 80 47 */	lis r4, lbl_8047352D@ha
/* 803BB170 003B6DD0  38 60 00 00 */	li r3, 0
/* 803BB174 003B6DD4  38 84 35 2D */	addi r4, r4, lbl_8047352D@l
/* 803BB178 003B6DD8  4C C6 31 82 */	crclr 6
/* 803BB17C 003B6DDC  48 01 E7 21 */	bl func_803D989C
lbl_803BB180:
/* 803BB180 003B6DE0  38 60 00 00 */	li r3, 0
lbl_803BB184:
/* 803BB184 003B6DE4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BB188 003B6DE8  7C 08 03 A6 */	mtlr r0
/* 803BB18C 003B6DEC  38 21 00 10 */	addi r1, r1, 0x10
/* 803BB190 003B6DF0  4E 80 00 20 */	blr 

.global func_803BB194
func_803BB194:
/* 803BB194 003B6DF4  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BB198 003B6DF8  28 05 00 64 */	cmplwi r5, 0x64
/* 803BB19C 003B6DFC  39 26 00 02 */	addi r9, r6, 2
/* 803BB1A0 003B6E00  7C E3 02 14 */	add r7, r3, r0
/* 803BB1A4 003B6E04  38 E7 2D 40 */	addi r7, r7, 0x2d40
/* 803BB1A8 003B6E08  41 81 05 68 */	bgt lbl_803BB710
/* 803BB1AC 003B6E0C  3D 00 80 47 */	lis r8, lbl_80473730@ha
/* 803BB1B0 003B6E10  54 A0 10 3A */	slwi r0, r5, 2
/* 803BB1B4 003B6E14  39 08 37 30 */	addi r8, r8, lbl_80473730@l
/* 803BB1B8 003B6E18  7D 08 00 2E */	lwzx r8, r8, r0
/* 803BB1BC 003B6E1C  7D 09 03 A6 */	mtctr r8
/* 803BB1C0 003B6E20  4E 80 04 20 */	bctr 
/* 803BB1C4 003B6E24  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB1C8 003B6E28  B0 07 00 00 */	sth r0, 0(r7)
/* 803BB1CC 003B6E2C  4E 80 00 20 */	blr 
/* 803BB1D0 003B6E30  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB1D4 003B6E34  B0 07 00 02 */	sth r0, 2(r7)
/* 803BB1D8 003B6E38  4E 80 00 20 */	blr 
/* 803BB1DC 003B6E3C  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB1E0 003B6E40  B0 07 00 04 */	sth r0, 4(r7)
/* 803BB1E4 003B6E44  4E 80 00 20 */	blr 
/* 803BB1E8 003B6E48  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB1EC 003B6E4C  B0 07 00 06 */	sth r0, 6(r7)
/* 803BB1F0 003B6E50  4E 80 00 20 */	blr 
/* 803BB1F4 003B6E54  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB1F8 003B6E58  B0 07 00 08 */	sth r0, 8(r7)
/* 803BB1FC 003B6E5C  4E 80 00 20 */	blr 
/* 803BB200 003B6E60  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB204 003B6E64  B0 07 00 0A */	sth r0, 0xa(r7)
/* 803BB208 003B6E68  4E 80 00 20 */	blr 
/* 803BB20C 003B6E6C  38 05 FF FA */	addi r0, r5, -6
/* 803BB210 003B6E70  A0 89 00 00 */	lhz r4, 0(r9)
/* 803BB214 003B6E74  54 00 08 3C */	slwi r0, r0, 1
/* 803BB218 003B6E78  7C 67 02 14 */	add r3, r7, r0
/* 803BB21C 003B6E7C  B0 83 00 0C */	sth r4, 0xc(r3)
/* 803BB220 003B6E80  4E 80 00 20 */	blr 
/* 803BB224 003B6E84  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB228 003B6E88  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB22C 003B6E8C  50 60 D8 08 */	rlwimi r0, r3, 0x1b, 0, 4
/* 803BB230 003B6E90  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB234 003B6E94  4E 80 00 20 */	blr 
/* 803BB238 003B6E98  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB23C 003B6E9C  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB240 003B6EA0  50 60 B1 52 */	rlwimi r0, r3, 0x16, 5, 9
/* 803BB244 003B6EA4  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB248 003B6EA8  4E 80 00 20 */	blr 
/* 803BB24C 003B6EAC  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB250 003B6EB0  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB254 003B6EB4  50 60 8A 9C */	rlwimi r0, r3, 0x11, 0xa, 0xe
/* 803BB258 003B6EB8  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB25C 003B6EBC  4E 80 00 20 */	blr 
/* 803BB260 003B6EC0  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB264 003B6EC4  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB268 003B6EC8  50 60 63 E6 */	rlwimi r0, r3, 0xc, 0xf, 0x13
/* 803BB26C 003B6ECC  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB270 003B6ED0  4E 80 00 20 */	blr 
/* 803BB274 003B6ED4  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB278 003B6ED8  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB27C 003B6EDC  50 60 3D 30 */	rlwimi r0, r3, 7, 0x14, 0x18
/* 803BB280 003B6EE0  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB284 003B6EE4  4E 80 00 20 */	blr 
/* 803BB288 003B6EE8  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB28C 003B6EEC  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB290 003B6EF0  50 60 16 7A */	rlwimi r0, r3, 2, 0x19, 0x1d
/* 803BB294 003B6EF4  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB298 003B6EF8  4E 80 00 20 */	blr 
/* 803BB29C 003B6EFC  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB2A0 003B6F00  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB2A4 003B6F04  50 60 0F BC */	rlwimi r0, r3, 1, 0x1e, 0x1e
/* 803BB2A8 003B6F08  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB2AC 003B6F0C  4E 80 00 20 */	blr 
/* 803BB2B0 003B6F10  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB2B4 003B6F14  80 07 00 14 */	lwz r0, 0x14(r7)
/* 803BB2B8 003B6F18  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 803BB2BC 003B6F1C  90 07 00 14 */	stw r0, 0x14(r7)
/* 803BB2C0 003B6F20  4E 80 00 20 */	blr 
/* 803BB2C4 003B6F24  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB2C8 003B6F28  7C 65 3A 14 */	add r3, r5, r7
/* 803BB2CC 003B6F2C  98 03 00 06 */	stb r0, 6(r3)
/* 803BB2D0 003B6F30  4E 80 00 20 */	blr 
/* 803BB2D4 003B6F34  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB2D8 003B6F38  98 07 00 27 */	stb r0, 0x27(r7)
/* 803BB2DC 003B6F3C  4E 80 00 20 */	blr 
/* 803BB2E0 003B6F40  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB2E4 003B6F44  98 07 00 24 */	stb r0, 0x24(r7)
/* 803BB2E8 003B6F48  4E 80 00 20 */	blr 
/* 803BB2EC 003B6F4C  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB2F0 003B6F50  98 07 00 25 */	stb r0, 0x25(r7)
/* 803BB2F4 003B6F54  4E 80 00 20 */	blr 
/* 803BB2F8 003B6F58  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB2FC 003B6F5C  88 07 00 7E */	lbz r0, 0x7e(r7)
/* 803BB300 003B6F60  50 60 26 36 */	rlwimi r0, r3, 4, 0x18, 0x1b
/* 803BB304 003B6F64  98 07 00 7E */	stb r0, 0x7e(r7)
/* 803BB308 003B6F68  4E 80 00 20 */	blr 
/* 803BB30C 003B6F6C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB310 003B6F70  88 07 00 26 */	lbz r0, 0x26(r7)
/* 803BB314 003B6F74  50 60 17 7A */	rlwimi r0, r3, 2, 0x1d, 0x1d
/* 803BB318 003B6F78  98 07 00 26 */	stb r0, 0x26(r7)
/* 803BB31C 003B6F7C  4E 80 00 20 */	blr 
/* 803BB320 003B6F80  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB324 003B6F84  7C 65 3A 14 */	add r3, r5, r7
/* 803BB328 003B6F88  98 03 00 0D */	stb r0, 0xd(r3)
/* 803BB32C 003B6F8C  4E 80 00 20 */	blr 
/* 803BB330 003B6F90  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB334 003B6F94  7C 65 3A 14 */	add r3, r5, r7
/* 803BB338 003B6F98  98 03 00 0D */	stb r0, 0xd(r3)
/* 803BB33C 003B6F9C  4E 80 00 20 */	blr 
/* 803BB340 003B6FA0  3C 80 80 47 */	lis r4, lbl_80473720@ha
/* 803BB344 003B6FA4  38 60 00 00 */	li r3, 0
/* 803BB348 003B6FA8  38 84 37 20 */	addi r4, r4, lbl_80473720@l
/* 803BB34C 003B6FAC  4C C6 31 82 */	crclr 6
/* 803BB350 003B6FB0  48 01 E5 4C */	b func_803D989C
/* 803BB354 003B6FB4  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB358 003B6FB8  98 07 00 34 */	stb r0, 0x34(r7)
/* 803BB35C 003B6FBC  4E 80 00 20 */	blr 
/* 803BB360 003B6FC0  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB364 003B6FC4  98 07 00 35 */	stb r0, 0x35(r7)
/* 803BB368 003B6FC8  4E 80 00 20 */	blr 
/* 803BB36C 003B6FCC  38 00 00 0B */	li r0, 0xb
/* 803BB370 003B6FD0  38 60 00 00 */	li r3, 0
/* 803BB374 003B6FD4  7C 09 03 A6 */	mtctr r0
lbl_803BB378:
/* 803BB378 003B6FD8  7C 09 1A 2E */	lhzx r0, r9, r3
/* 803BB37C 003B6FDC  7C 87 1A 14 */	add r4, r7, r3
/* 803BB380 003B6FE0  38 63 00 02 */	addi r3, r3, 2
/* 803BB384 003B6FE4  B0 04 00 36 */	sth r0, 0x36(r4)
/* 803BB388 003B6FE8  42 00 FF F0 */	bdnz lbl_803BB378
/* 803BB38C 003B6FEC  4E 80 00 20 */	blr 
/* 803BB390 003B6FF0  A8 09 00 00 */	lha r0, 0(r9)
/* 803BB394 003B6FF4  90 07 00 4C */	stw r0, 0x4c(r7)
/* 803BB398 003B6FF8  4E 80 00 20 */	blr 
/* 803BB39C 003B6FFC  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB3A0 003B7000  90 07 00 50 */	stw r0, 0x50(r7)
/* 803BB3A4 003B7004  4E 80 00 20 */	blr 
/* 803BB3A8 003B7008  38 00 00 0B */	li r0, 0xb
/* 803BB3AC 003B700C  38 60 00 00 */	li r3, 0
/* 803BB3B0 003B7010  7C 09 03 A6 */	mtctr r0
lbl_803BB3B4:
/* 803BB3B4 003B7014  7C 09 1A 2E */	lhzx r0, r9, r3
/* 803BB3B8 003B7018  7C 87 1A 14 */	add r4, r7, r3
/* 803BB3BC 003B701C  38 63 00 02 */	addi r3, r3, 2
/* 803BB3C0 003B7020  B0 04 00 54 */	sth r0, 0x54(r4)
/* 803BB3C4 003B7024  42 00 FF F0 */	bdnz lbl_803BB3B4
/* 803BB3C8 003B7028  4E 80 00 20 */	blr 
/* 803BB3CC 003B702C  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB3D0 003B7030  90 07 00 64 */	stw r0, 0x64(r7)
/* 803BB3D4 003B7034  4E 80 00 20 */	blr 
/* 803BB3D8 003B7038  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB3DC 003B703C  90 07 00 68 */	stw r0, 0x68(r7)
/* 803BB3E0 003B7040  4E 80 00 20 */	blr 
/* 803BB3E4 003B7044  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB3E8 003B7048  90 07 00 6C */	stw r0, 0x6c(r7)
/* 803BB3EC 003B704C  4E 80 00 20 */	blr 
/* 803BB3F0 003B7050  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB3F4 003B7054  90 07 00 70 */	stw r0, 0x70(r7)
/* 803BB3F8 003B7058  4E 80 00 20 */	blr 
/* 803BB3FC 003B705C  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB400 003B7060  90 07 00 74 */	stw r0, 0x74(r7)
/* 803BB404 003B7064  4E 80 00 20 */	blr 
/* 803BB408 003B7068  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB40C 003B706C  B0 07 00 78 */	sth r0, 0x78(r7)
/* 803BB410 003B7070  4E 80 00 20 */	blr 
/* 803BB414 003B7074  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB418 003B7078  98 07 00 7C */	stb r0, 0x7c(r7)
/* 803BB41C 003B707C  4E 80 00 20 */	blr 
/* 803BB420 003B7080  88 06 00 03 */	lbz r0, 3(r6)
/* 803BB424 003B7084  98 07 00 7D */	stb r0, 0x7d(r7)
/* 803BB428 003B7088  4E 80 00 20 */	blr 
/* 803BB42C 003B708C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB430 003B7090  88 07 00 7E */	lbz r0, 0x7e(r7)
/* 803BB434 003B7094  50 60 07 3E */	rlwimi r0, r3, 0, 0x1c, 0x1f
/* 803BB438 003B7098  98 07 00 7E */	stb r0, 0x7e(r7)
/* 803BB43C 003B709C  4E 80 00 20 */	blr 
/* 803BB440 003B70A0  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB444 003B70A4  90 07 00 80 */	stw r0, 0x80(r7)
/* 803BB448 003B70A8  4E 80 00 20 */	blr 
/* 803BB44C 003B70AC  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB450 003B70B0  90 07 00 84 */	stw r0, 0x84(r7)
/* 803BB454 003B70B4  4E 80 00 20 */	blr 
/* 803BB458 003B70B8  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB45C 003B70BC  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB460 003B70C0  50 60 E8 04 */	rlwimi r0, r3, 0x1d, 0, 2
/* 803BB464 003B70C4  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB468 003B70C8  4E 80 00 20 */	blr 
/* 803BB46C 003B70CC  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB470 003B70D0  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB474 003B70D4  50 60 D0 CA */	rlwimi r0, r3, 0x1a, 3, 5
/* 803BB478 003B70D8  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB47C 003B70DC  4E 80 00 20 */	blr 
/* 803BB480 003B70E0  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB484 003B70E4  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB488 003B70E8  50 60 C1 8E */	rlwimi r0, r3, 0x18, 6, 7
/* 803BB48C 003B70EC  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB490 003B70F0  4E 80 00 20 */	blr 
/* 803BB494 003B70F4  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB498 003B70F8  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB49C 003B70FC  50 60 AA 14 */	rlwimi r0, r3, 0x15, 8, 0xa
/* 803BB4A0 003B7100  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB4A4 003B7104  4E 80 00 20 */	blr 
/* 803BB4A8 003B7108  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB4AC 003B710C  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB4B0 003B7110  50 60 9A D8 */	rlwimi r0, r3, 0x13, 0xb, 0xc
/* 803BB4B4 003B7114  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB4B8 003B7118  4E 80 00 20 */	blr 
/* 803BB4BC 003B711C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB4C0 003B7120  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB4C4 003B7124  50 60 8B 5C */	rlwimi r0, r3, 0x11, 0xd, 0xe
/* 803BB4C8 003B7128  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB4CC 003B712C  4E 80 00 20 */	blr 
/* 803BB4D0 003B7130  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB4D4 003B7134  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB4D8 003B7138  50 60 73 E2 */	rlwimi r0, r3, 0xe, 0xf, 0x11
/* 803BB4DC 003B713C  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB4E0 003B7140  4E 80 00 20 */	blr 
/* 803BB4E4 003B7144  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB4E8 003B7148  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB4EC 003B714C  50 60 5C A8 */	rlwimi r0, r3, 0xb, 0x12, 0x14
/* 803BB4F0 003B7150  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB4F4 003B7154  4E 80 00 20 */	blr 
/* 803BB4F8 003B7158  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB4FC 003B715C  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB500 003B7160  50 60 45 6E */	rlwimi r0, r3, 8, 0x15, 0x17
/* 803BB504 003B7164  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB508 003B7168  4E 80 00 20 */	blr 
/* 803BB50C 003B716C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB510 003B7170  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB514 003B7174  50 60 2E 34 */	rlwimi r0, r3, 5, 0x18, 0x1a
/* 803BB518 003B7178  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB51C 003B717C  4E 80 00 20 */	blr 
/* 803BB520 003B7180  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB524 003B7184  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB528 003B7188  50 60 16 FA */	rlwimi r0, r3, 2, 0x1b, 0x1d
/* 803BB52C 003B718C  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB530 003B7190  4E 80 00 20 */	blr 
/* 803BB534 003B7194  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB538 003B7198  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB53C 003B719C  50 60 0F BC */	rlwimi r0, r3, 1, 0x1e, 0x1e
/* 803BB540 003B71A0  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB544 003B71A4  4E 80 00 20 */	blr 
/* 803BB548 003B71A8  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB54C 003B71AC  80 07 00 88 */	lwz r0, 0x88(r7)
/* 803BB550 003B71B0  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 803BB554 003B71B4  90 07 00 88 */	stw r0, 0x88(r7)
/* 803BB558 003B71B8  4E 80 00 20 */	blr 
/* 803BB55C 003B71BC  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB560 003B71C0  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB564 003B71C4  50 60 F0 02 */	rlwimi r0, r3, 0x1e, 0, 1
/* 803BB568 003B71C8  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB56C 003B71CC  4E 80 00 20 */	blr 
/* 803BB570 003B71D0  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB574 003B71D4  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB578 003B71D8  50 60 D0 8A */	rlwimi r0, r3, 0x1a, 2, 5
/* 803BB57C 003B71DC  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB580 003B71E0  4E 80 00 20 */	blr 
/* 803BB584 003B71E4  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB588 003B71E8  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB58C 003B71EC  50 60 C1 8E */	rlwimi r0, r3, 0x18, 6, 7
/* 803BB590 003B71F0  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB594 003B71F4  4E 80 00 20 */	blr 
/* 803BB598 003B71F8  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB59C 003B71FC  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB5A0 003B7200  50 60 B2 12 */	rlwimi r0, r3, 0x16, 8, 9
/* 803BB5A4 003B7204  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB5A8 003B7208  4E 80 00 20 */	blr 
/* 803BB5AC 003B720C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB5B0 003B7210  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB5B4 003B7214  50 60 9A 98 */	rlwimi r0, r3, 0x13, 0xa, 0xc
/* 803BB5B8 003B7218  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB5BC 003B721C  4E 80 00 20 */	blr 
/* 803BB5C0 003B7220  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB5C4 003B7224  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB5C8 003B7228  50 60 83 5E */	rlwimi r0, r3, 0x10, 0xd, 0xf
/* 803BB5CC 003B722C  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB5D0 003B7230  4E 80 00 20 */	blr 
/* 803BB5D4 003B7234  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB5D8 003B7238  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB5DC 003B723C  50 60 6C 24 */	rlwimi r0, r3, 0xd, 0x10, 0x12
/* 803BB5E0 003B7240  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB5E4 003B7244  4E 80 00 20 */	blr 
/* 803BB5E8 003B7248  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB5EC 003B724C  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB5F0 003B7250  50 60 54 EA */	rlwimi r0, r3, 0xa, 0x13, 0x15
/* 803BB5F4 003B7254  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB5F8 003B7258  4E 80 00 20 */	blr 
/* 803BB5FC 003B725C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB600 003B7260  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB604 003B7264  50 60 4D AC */	rlwimi r0, r3, 9, 0x16, 0x16
/* 803BB608 003B7268  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB60C 003B726C  4E 80 00 20 */	blr 
/* 803BB610 003B7270  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB614 003B7274  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB618 003B7278  50 60 2D F4 */	rlwimi r0, r3, 5, 0x17, 0x1a
/* 803BB61C 003B727C  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB620 003B7280  4E 80 00 20 */	blr 
/* 803BB624 003B7284  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB628 003B7288  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB62C 003B728C  50 60 26 F6 */	rlwimi r0, r3, 4, 0x1b, 0x1b
/* 803BB630 003B7290  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB634 003B7294  4E 80 00 20 */	blr 
/* 803BB638 003B7298  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB63C 003B729C  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB640 003B72A0  50 60 1F 38 */	rlwimi r0, r3, 3, 0x1c, 0x1c
/* 803BB644 003B72A4  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB648 003B72A8  4E 80 00 20 */	blr 
/* 803BB64C 003B72AC  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB650 003B72B0  80 07 00 8C */	lwz r0, 0x8c(r7)
/* 803BB654 003B72B4  50 60 17 7A */	rlwimi r0, r3, 2, 0x1d, 0x1d
/* 803BB658 003B72B8  90 07 00 8C */	stw r0, 0x8c(r7)
/* 803BB65C 003B72BC  4E 80 00 20 */	blr 
/* 803BB660 003B72C0  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB664 003B72C4  90 07 00 90 */	stw r0, 0x90(r7)
/* 803BB668 003B72C8  4E 80 00 20 */	blr 
/* 803BB66C 003B72CC  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB670 003B72D0  90 07 00 94 */	stw r0, 0x94(r7)
/* 803BB674 003B72D4  4E 80 00 20 */	blr 
/* 803BB678 003B72D8  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB67C 003B72DC  90 07 00 98 */	stw r0, 0x98(r7)
/* 803BB680 003B72E0  4E 80 00 20 */	blr 
/* 803BB684 003B72E4  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB688 003B72E8  90 07 00 A0 */	stw r0, 0xa0(r7)
/* 803BB68C 003B72EC  4E 80 00 20 */	blr 
/* 803BB690 003B72F0  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB694 003B72F4  90 07 00 A4 */	stw r0, 0xa4(r7)
/* 803BB698 003B72F8  4E 80 00 20 */	blr 
/* 803BB69C 003B72FC  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB6A0 003B7300  B0 07 00 A8 */	sth r0, 0xa8(r7)
/* 803BB6A4 003B7304  4E 80 00 20 */	blr 
/* 803BB6A8 003B7308  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB6AC 003B730C  B0 07 00 AC */	sth r0, 0xac(r7)
/* 803BB6B0 003B7310  4E 80 00 20 */	blr 
/* 803BB6B4 003B7314  A0 09 00 00 */	lhz r0, 0(r9)
/* 803BB6B8 003B7318  B0 07 00 AA */	sth r0, 0xaa(r7)
/* 803BB6BC 003B731C  4E 80 00 20 */	blr 
/* 803BB6C0 003B7320  80 06 00 00 */	lwz r0, 0(r6)
/* 803BB6C4 003B7324  90 07 00 BC */	stw r0, 0xbc(r7)
/* 803BB6C8 003B7328  4E 80 00 20 */	blr 
/* 803BB6CC 003B732C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB6D0 003B7330  80 07 00 28 */	lwz r0, 0x28(r7)
/* 803BB6D4 003B7334  50 60 C9 8C */	rlwimi r0, r3, 0x19, 6, 6
/* 803BB6D8 003B7338  90 07 00 28 */	stw r0, 0x28(r7)
/* 803BB6DC 003B733C  4E 80 00 20 */	blr 
/* 803BB6E0 003B7340  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB6E4 003B7344  80 07 00 28 */	lwz r0, 0x28(r7)
/* 803BB6E8 003B7348  50 60 C1 CE */	rlwimi r0, r3, 0x18, 7, 7
/* 803BB6EC 003B734C  90 07 00 28 */	stw r0, 0x28(r7)
/* 803BB6F0 003B7350  4E 80 00 20 */	blr 
/* 803BB6F4 003B7354  80 A3 01 38 */	lwz r5, 0x138(r3)
/* 803BB6F8 003B7358  4B FF FA 9C */	b func_803BB194
/* 803BB6FC 003B735C  88 66 00 03 */	lbz r3, 3(r6)
/* 803BB700 003B7360  88 07 00 26 */	lbz r0, 0x26(r7)
/* 803BB704 003B7364  50 60 1E 38 */	rlwimi r0, r3, 3, 0x18, 0x1c
/* 803BB708 003B7368  98 07 00 26 */	stb r0, 0x26(r7)
/* 803BB70C 003B736C  4E 80 00 20 */	blr 
lbl_803BB710:
/* 803BB710 003B7370  3C 80 80 47 */	lis r4, lbl_8047352D@ha
/* 803BB714 003B7374  38 60 00 00 */	li r3, 0
/* 803BB718 003B7378  38 84 35 2D */	addi r4, r4, lbl_8047352D@l
/* 803BB71C 003B737C  4C C6 31 82 */	crclr 6
/* 803BB720 003B7380  48 01 E1 7C */	b func_803D989C
/* 803BB724 003B7384  4E 80 00 20 */	blr 

.global func_803BB728
func_803BB728:
/* 803BB728 003B7388  7C 80 23 78 */	mr r0, r4
/* 803BB72C 003B738C  7C A4 2B 78 */	mr r4, r5
/* 803BB730 003B7390  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BB734 003B7394  7C C5 33 78 */	mr r5, r6
/* 803BB738 003B7398  7C 63 02 14 */	add r3, r3, r0
/* 803BB73C 003B739C  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803BB740 003B73A0  48 00 00 04 */	b func_803BB744

.global func_803BB744
func_803BB744:
/* 803BB744 003B73A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BB748 003B73A8  7C 08 02 A6 */	mflr r0
/* 803BB74C 003B73AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BB750 003B73B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803BB754 003B73B4  4B E0 B9 DD */	bl _savegpr_29
/* 803BB758 003B73B8  28 04 00 61 */	cmplwi r4, 0x61
/* 803BB75C 003B73BC  7C 7D 1B 78 */	mr r29, r3
/* 803BB760 003B73C0  7C 9E 23 78 */	mr r30, r4
/* 803BB764 003B73C4  7C BF 2B 78 */	mr r31, r5
/* 803BB768 003B73C8  41 81 03 EC */	bgt lbl_803BBB54
/* 803BB76C 003B73CC  3C C0 80 47 */	lis r6, lbl_804738C4@ha
/* 803BB770 003B73D0  54 80 10 3A */	slwi r0, r4, 2
/* 803BB774 003B73D4  38 C6 38 C4 */	addi r6, r6, lbl_804738C4@l
/* 803BB778 003B73D8  7C C6 00 2E */	lwzx r6, r6, r0
/* 803BB77C 003B73DC  7C C9 03 A6 */	mtctr r6
/* 803BB780 003B73E0  4E 80 04 20 */	bctr 
/* 803BB784 003B73E4  A0 03 00 02 */	lhz r0, 2(r3)
/* 803BB788 003B73E8  7C 00 2A 14 */	add r0, r0, r5
/* 803BB78C 003B73EC  B0 03 00 02 */	sth r0, 2(r3)
/* 803BB790 003B73F0  48 00 03 D8 */	b lbl_803BBB68
/* 803BB794 003B73F4  A0 03 00 04 */	lhz r0, 4(r3)
/* 803BB798 003B73F8  7C 00 2A 14 */	add r0, r0, r5
/* 803BB79C 003B73FC  B0 03 00 04 */	sth r0, 4(r3)
/* 803BB7A0 003B7400  48 00 03 C8 */	b lbl_803BBB68
/* 803BB7A4 003B7404  A0 03 00 06 */	lhz r0, 6(r3)
/* 803BB7A8 003B7408  7C 00 2A 14 */	add r0, r0, r5
/* 803BB7AC 003B740C  B0 03 00 06 */	sth r0, 6(r3)
/* 803BB7B0 003B7410  48 00 03 B8 */	b lbl_803BBB68
/* 803BB7B4 003B7414  A0 03 00 08 */	lhz r0, 8(r3)
/* 803BB7B8 003B7418  7C 00 2A 14 */	add r0, r0, r5
/* 803BB7BC 003B741C  B0 03 00 08 */	sth r0, 8(r3)
/* 803BB7C0 003B7420  48 00 03 A8 */	b lbl_803BBB68
/* 803BB7C4 003B7424  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 803BB7C8 003B7428  7C 00 2A 14 */	add r0, r0, r5
/* 803BB7CC 003B742C  B0 03 00 0A */	sth r0, 0xa(r3)
/* 803BB7D0 003B7430  48 00 03 98 */	b lbl_803BBB68
/* 803BB7D4 003B7434  80 83 00 14 */	lwz r4, 0x14(r3)
/* 803BB7D8 003B7438  54 80 2E FE */	srwi r0, r4, 0x1b
/* 803BB7DC 003B743C  7C 00 2A 14 */	add r0, r0, r5
/* 803BB7E0 003B7440  50 04 D8 08 */	rlwimi r4, r0, 0x1b, 0, 4
/* 803BB7E4 003B7444  90 83 00 14 */	stw r4, 0x14(r3)
/* 803BB7E8 003B7448  48 00 03 80 */	b lbl_803BBB68
/* 803BB7EC 003B744C  80 83 00 14 */	lwz r4, 0x14(r3)
/* 803BB7F0 003B7450  54 80 56 FE */	rlwinm r0, r4, 0xa, 0x1b, 0x1f
/* 803BB7F4 003B7454  7C 00 2A 14 */	add r0, r0, r5
/* 803BB7F8 003B7458  50 04 B1 52 */	rlwimi r4, r0, 0x16, 5, 9
/* 803BB7FC 003B745C  90 83 00 14 */	stw r4, 0x14(r3)
/* 803BB800 003B7460  48 00 03 68 */	b lbl_803BBB68
/* 803BB804 003B7464  80 83 00 14 */	lwz r4, 0x14(r3)
/* 803BB808 003B7468  54 80 7E FE */	rlwinm r0, r4, 0xf, 0x1b, 0x1f
/* 803BB80C 003B746C  7C 00 2A 14 */	add r0, r0, r5
/* 803BB810 003B7470  50 04 8A 9C */	rlwimi r4, r0, 0x11, 0xa, 0xe
/* 803BB814 003B7474  90 83 00 14 */	stw r4, 0x14(r3)
/* 803BB818 003B7478  48 00 03 50 */	b lbl_803BBB68
/* 803BB81C 003B747C  80 83 00 14 */	lwz r4, 0x14(r3)
/* 803BB820 003B7480  54 80 A6 FE */	rlwinm r0, r4, 0x14, 0x1b, 0x1f
/* 803BB824 003B7484  7C 00 2A 14 */	add r0, r0, r5
/* 803BB828 003B7488  50 04 63 E6 */	rlwimi r4, r0, 0xc, 0xf, 0x13
/* 803BB82C 003B748C  90 83 00 14 */	stw r4, 0x14(r3)
/* 803BB830 003B7490  48 00 03 38 */	b lbl_803BBB68
/* 803BB834 003B7494  80 83 00 14 */	lwz r4, 0x14(r3)
/* 803BB838 003B7498  54 80 CE FE */	rlwinm r0, r4, 0x19, 0x1b, 0x1f
/* 803BB83C 003B749C  7C 00 2A 14 */	add r0, r0, r5
/* 803BB840 003B74A0  50 04 3D 30 */	rlwimi r4, r0, 7, 0x14, 0x18
/* 803BB844 003B74A4  90 83 00 14 */	stw r4, 0x14(r3)
/* 803BB848 003B74A8  48 00 03 20 */	b lbl_803BBB68
/* 803BB84C 003B74AC  80 83 00 14 */	lwz r4, 0x14(r3)
/* 803BB850 003B74B0  54 80 F6 FE */	rlwinm r0, r4, 0x1e, 0x1b, 0x1f
/* 803BB854 003B74B4  7C 00 2A 14 */	add r0, r0, r5
/* 803BB858 003B74B8  50 04 16 7A */	rlwimi r4, r0, 2, 0x19, 0x1d
/* 803BB85C 003B74BC  90 83 00 14 */	stw r4, 0x14(r3)
/* 803BB860 003B74C0  48 00 03 08 */	b lbl_803BBB68
/* 803BB864 003B74C4  7C 84 1A 14 */	add r4, r4, r3
/* 803BB868 003B74C8  88 64 00 06 */	lbz r3, 6(r4)
/* 803BB86C 003B74CC  7C 60 07 74 */	extsb r0, r3
/* 803BB870 003B74D0  7C 05 02 15 */	add. r0, r5, r0
/* 803BB874 003B74D4  40 80 00 10 */	bge lbl_803BB884
/* 803BB878 003B74D8  38 00 00 00 */	li r0, 0
/* 803BB87C 003B74DC  98 04 00 06 */	stb r0, 6(r4)
/* 803BB880 003B74E0  48 00 02 E8 */	b lbl_803BBB68
lbl_803BB884:
/* 803BB884 003B74E4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803BB888 003B74E8  40 81 00 10 */	ble lbl_803BB898
/* 803BB88C 003B74EC  38 00 00 0C */	li r0, 0xc
/* 803BB890 003B74F0  98 04 00 06 */	stb r0, 6(r4)
/* 803BB894 003B74F4  48 00 02 D4 */	b lbl_803BBB68
lbl_803BB898:
/* 803BB898 003B74F8  7C 03 2A 14 */	add r0, r3, r5
/* 803BB89C 003B74FC  98 04 00 06 */	stb r0, 6(r4)
/* 803BB8A0 003B7500  48 00 02 C8 */	b lbl_803BBB68
/* 803BB8A4 003B7504  38 04 FF E1 */	addi r0, r4, -31
/* 803BB8A8 003B7508  7C 84 EA 14 */	add r4, r4, r29
/* 803BB8AC 003B750C  54 00 08 3C */	slwi r0, r0, 1
/* 803BB8B0 003B7510  88 84 00 11 */	lbz r4, 0x11(r4)
/* 803BB8B4 003B7514  7C 63 02 14 */	add r3, r3, r0
/* 803BB8B8 003B7518  A0 63 00 0C */	lhz r3, 0xc(r3)
/* 803BB8BC 003B751C  48 02 31 A5 */	bl func_803DEA60
/* 803BB8C0 003B7520  7C 9E EA 14 */	add r4, r30, r29
/* 803BB8C4 003B7524  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803BB8C8 003B7528  88 04 00 0D */	lbz r0, 0xd(r4)
/* 803BB8CC 003B752C  7C 1F 02 14 */	add r0, r31, r0
/* 803BB8D0 003B7530  7C 00 18 00 */	cmpw r0, r3
/* 803BB8D4 003B7534  40 81 00 0C */	ble lbl_803BB8E0
/* 803BB8D8 003B7538  98 64 00 0D */	stb r3, 0xd(r4)
/* 803BB8DC 003B753C  48 00 02 8C */	b lbl_803BBB68
lbl_803BB8E0:
/* 803BB8E0 003B7540  98 04 00 0D */	stb r0, 0xd(r4)
/* 803BB8E4 003B7544  48 00 02 84 */	b lbl_803BBB68
/* 803BB8E8 003B7548  7C 64 1A 14 */	add r3, r4, r3
/* 803BB8EC 003B754C  88 03 00 0D */	lbz r0, 0xd(r3)
/* 803BB8F0 003B7550  7C 00 2A 14 */	add r0, r0, r5
/* 803BB8F4 003B7554  98 03 00 0D */	stb r0, 0xd(r3)
/* 803BB8F8 003B7558  48 00 02 70 */	b lbl_803BBB68
/* 803BB8FC 003B755C  88 03 00 34 */	lbz r0, 0x34(r3)
/* 803BB900 003B7560  7C 00 2A 14 */	add r0, r0, r5
/* 803BB904 003B7564  98 03 00 34 */	stb r0, 0x34(r3)
/* 803BB908 003B7568  48 00 02 60 */	b lbl_803BBB68
/* 803BB90C 003B756C  88 03 00 35 */	lbz r0, 0x35(r3)
/* 803BB910 003B7570  7C 00 2A 14 */	add r0, r0, r5
/* 803BB914 003B7574  2C 00 00 FF */	cmpwi r0, 0xff
/* 803BB918 003B7578  40 81 00 10 */	ble lbl_803BB928
/* 803BB91C 003B757C  38 00 00 FF */	li r0, 0xff
/* 803BB920 003B7580  98 03 00 35 */	stb r0, 0x35(r3)
/* 803BB924 003B7584  48 00 02 44 */	b lbl_803BBB68
lbl_803BB928:
/* 803BB928 003B7588  98 03 00 35 */	stb r0, 0x35(r3)
/* 803BB92C 003B758C  48 00 02 3C */	b lbl_803BBB68
/* 803BB930 003B7590  80 03 00 4C */	lwz r0, 0x4c(r3)
/* 803BB934 003B7594  80 83 00 50 */	lwz r4, 0x50(r3)
/* 803BB938 003B7598  7C 00 2A 14 */	add r0, r0, r5
/* 803BB93C 003B759C  7C 00 20 40 */	cmplw r0, r4
/* 803BB940 003B75A0  40 81 00 0C */	ble lbl_803BB94C
/* 803BB944 003B75A4  90 83 00 4C */	stw r4, 0x4c(r3)
/* 803BB948 003B75A8  48 00 02 20 */	b lbl_803BBB68
lbl_803BB94C:
/* 803BB94C 003B75AC  90 03 00 4C */	stw r0, 0x4c(r3)
/* 803BB950 003B75B0  48 00 02 18 */	b lbl_803BBB68
/* 803BB954 003B75B4  80 03 00 50 */	lwz r0, 0x50(r3)
/* 803BB958 003B75B8  7C 00 2A 14 */	add r0, r0, r5
/* 803BB95C 003B75BC  90 03 00 50 */	stw r0, 0x50(r3)
/* 803BB960 003B75C0  48 00 02 08 */	b lbl_803BBB68
/* 803BB964 003B75C4  80 03 00 64 */	lwz r0, 0x64(r3)
/* 803BB968 003B75C8  7C 00 2A 14 */	add r0, r0, r5
/* 803BB96C 003B75CC  90 03 00 64 */	stw r0, 0x64(r3)
/* 803BB970 003B75D0  48 00 01 F8 */	b lbl_803BBB68
/* 803BB974 003B75D4  80 03 00 68 */	lwz r0, 0x68(r3)
/* 803BB978 003B75D8  7C 00 2A 14 */	add r0, r0, r5
/* 803BB97C 003B75DC  90 03 00 68 */	stw r0, 0x68(r3)
/* 803BB980 003B75E0  48 00 01 E8 */	b lbl_803BBB68
/* 803BB984 003B75E4  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BB988 003B75E8  54 80 1F 7E */	srwi r0, r4, 0x1d
/* 803BB98C 003B75EC  7C 00 2A 14 */	add r0, r0, r5
/* 803BB990 003B75F0  50 04 E8 04 */	rlwimi r4, r0, 0x1d, 0, 2
/* 803BB994 003B75F4  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BB998 003B75F8  48 00 01 D0 */	b lbl_803BBB68
/* 803BB99C 003B75FC  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BB9A0 003B7600  54 80 37 7E */	rlwinm r0, r4, 6, 0x1d, 0x1f
/* 803BB9A4 003B7604  7C 00 2A 14 */	add r0, r0, r5
/* 803BB9A8 003B7608  50 04 D0 CA */	rlwimi r4, r0, 0x1a, 3, 5
/* 803BB9AC 003B760C  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BB9B0 003B7610  48 00 01 B8 */	b lbl_803BBB68
/* 803BB9B4 003B7614  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BB9B8 003B7618  54 80 47 BE */	rlwinm r0, r4, 8, 0x1e, 0x1f
/* 803BB9BC 003B761C  7C 00 2A 14 */	add r0, r0, r5
/* 803BB9C0 003B7620  50 04 C1 8E */	rlwimi r4, r0, 0x18, 6, 7
/* 803BB9C4 003B7624  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BB9C8 003B7628  48 00 01 A0 */	b lbl_803BBB68
/* 803BB9CC 003B762C  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BB9D0 003B7630  54 80 5F 7E */	rlwinm r0, r4, 0xb, 0x1d, 0x1f
/* 803BB9D4 003B7634  7C 00 2A 14 */	add r0, r0, r5
/* 803BB9D8 003B7638  50 04 AA 14 */	rlwimi r4, r0, 0x15, 8, 0xa
/* 803BB9DC 003B763C  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BB9E0 003B7640  48 00 01 88 */	b lbl_803BBB68
/* 803BB9E4 003B7644  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BB9E8 003B7648  54 80 6F BE */	rlwinm r0, r4, 0xd, 0x1e, 0x1f
/* 803BB9EC 003B764C  7C 00 2A 14 */	add r0, r0, r5
/* 803BB9F0 003B7650  50 04 9A D8 */	rlwimi r4, r0, 0x13, 0xb, 0xc
/* 803BB9F4 003B7654  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BB9F8 003B7658  48 00 01 70 */	b lbl_803BBB68
/* 803BB9FC 003B765C  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BBA00 003B7660  54 80 7F BE */	rlwinm r0, r4, 0xf, 0x1e, 0x1f
/* 803BBA04 003B7664  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA08 003B7668  50 04 8B 5C */	rlwimi r4, r0, 0x11, 0xd, 0xe
/* 803BBA0C 003B766C  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BBA10 003B7670  48 00 01 58 */	b lbl_803BBB68
/* 803BBA14 003B7674  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BBA18 003B7678  54 80 97 7E */	rlwinm r0, r4, 0x12, 0x1d, 0x1f
/* 803BBA1C 003B767C  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA20 003B7680  50 04 73 E2 */	rlwimi r4, r0, 0xe, 0xf, 0x11
/* 803BBA24 003B7684  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BBA28 003B7688  48 00 01 40 */	b lbl_803BBB68
/* 803BBA2C 003B768C  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BBA30 003B7690  54 80 AF 7E */	rlwinm r0, r4, 0x15, 0x1d, 0x1f
/* 803BBA34 003B7694  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA38 003B7698  50 04 5C A8 */	rlwimi r4, r0, 0xb, 0x12, 0x14
/* 803BBA3C 003B769C  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BBA40 003B76A0  48 00 01 28 */	b lbl_803BBB68
/* 803BBA44 003B76A4  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BBA48 003B76A8  54 80 C7 7E */	rlwinm r0, r4, 0x18, 0x1d, 0x1f
/* 803BBA4C 003B76AC  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA50 003B76B0  50 04 45 6E */	rlwimi r4, r0, 8, 0x15, 0x17
/* 803BBA54 003B76B4  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BBA58 003B76B8  48 00 01 10 */	b lbl_803BBB68
/* 803BBA5C 003B76BC  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BBA60 003B76C0  54 80 DF 7E */	rlwinm r0, r4, 0x1b, 0x1d, 0x1f
/* 803BBA64 003B76C4  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA68 003B76C8  50 04 2E 34 */	rlwimi r4, r0, 5, 0x18, 0x1a
/* 803BBA6C 003B76CC  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BBA70 003B76D0  48 00 00 F8 */	b lbl_803BBB68
/* 803BBA74 003B76D4  80 83 00 88 */	lwz r4, 0x88(r3)
/* 803BBA78 003B76D8  54 80 F7 7E */	rlwinm r0, r4, 0x1e, 0x1d, 0x1f
/* 803BBA7C 003B76DC  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA80 003B76E0  50 04 16 FA */	rlwimi r4, r0, 2, 0x1b, 0x1d
/* 803BBA84 003B76E4  90 83 00 88 */	stw r4, 0x88(r3)
/* 803BBA88 003B76E8  48 00 00 E0 */	b lbl_803BBB68
/* 803BBA8C 003B76EC  80 83 00 8C */	lwz r4, 0x8c(r3)
/* 803BBA90 003B76F0  54 80 6F 7E */	rlwinm r0, r4, 0xd, 0x1d, 0x1f
/* 803BBA94 003B76F4  7C 00 2A 14 */	add r0, r0, r5
/* 803BBA98 003B76F8  50 04 9A 98 */	rlwimi r4, r0, 0x13, 0xa, 0xc
/* 803BBA9C 003B76FC  90 83 00 8C */	stw r4, 0x8c(r3)
/* 803BBAA0 003B7700  48 00 00 C8 */	b lbl_803BBB68
/* 803BBAA4 003B7704  80 83 00 8C */	lwz r4, 0x8c(r3)
/* 803BBAA8 003B7708  54 80 87 7E */	rlwinm r0, r4, 0x10, 0x1d, 0x1f
/* 803BBAAC 003B770C  7C 00 2A 14 */	add r0, r0, r5
/* 803BBAB0 003B7710  50 04 83 5E */	rlwimi r4, r0, 0x10, 0xd, 0xf
/* 803BBAB4 003B7714  90 83 00 8C */	stw r4, 0x8c(r3)
/* 803BBAB8 003B7718  48 00 00 B0 */	b lbl_803BBB68
/* 803BBABC 003B771C  80 83 00 8C */	lwz r4, 0x8c(r3)
/* 803BBAC0 003B7720  54 80 9F 7E */	rlwinm r0, r4, 0x13, 0x1d, 0x1f
/* 803BBAC4 003B7724  7C 00 2A 14 */	add r0, r0, r5
/* 803BBAC8 003B7728  50 04 6C 24 */	rlwimi r4, r0, 0xd, 0x10, 0x12
/* 803BBACC 003B772C  90 83 00 8C */	stw r4, 0x8c(r3)
/* 803BBAD0 003B7730  48 00 00 98 */	b lbl_803BBB68
/* 803BBAD4 003B7734  80 03 00 90 */	lwz r0, 0x90(r3)
/* 803BBAD8 003B7738  7C 00 2A 14 */	add r0, r0, r5
/* 803BBADC 003B773C  90 03 00 90 */	stw r0, 0x90(r3)
/* 803BBAE0 003B7740  48 00 00 88 */	b lbl_803BBB68
/* 803BBAE4 003B7744  80 03 00 94 */	lwz r0, 0x94(r3)
/* 803BBAE8 003B7748  7C 00 2A 14 */	add r0, r0, r5
/* 803BBAEC 003B774C  90 03 00 94 */	stw r0, 0x94(r3)
/* 803BBAF0 003B7750  48 00 00 78 */	b lbl_803BBB68
/* 803BBAF4 003B7754  80 03 00 98 */	lwz r0, 0x98(r3)
/* 803BBAF8 003B7758  7C 00 2A 14 */	add r0, r0, r5
/* 803BBAFC 003B775C  90 03 00 98 */	stw r0, 0x98(r3)
/* 803BBB00 003B7760  48 00 00 68 */	b lbl_803BBB68
/* 803BBB04 003B7764  80 03 00 A0 */	lwz r0, 0xa0(r3)
/* 803BBB08 003B7768  7C 00 2A 14 */	add r0, r0, r5
/* 803BBB0C 003B776C  90 03 00 A0 */	stw r0, 0xa0(r3)
/* 803BBB10 003B7770  48 00 00 58 */	b lbl_803BBB68
/* 803BBB14 003B7774  80 03 00 BC */	lwz r0, 0xbc(r3)
/* 803BBB18 003B7778  7C 00 2A 14 */	add r0, r0, r5
/* 803BBB1C 003B777C  90 03 00 BC */	stw r0, 0xbc(r3)
/* 803BBB20 003B7780  48 00 00 48 */	b lbl_803BBB68
/* 803BBB24 003B7784  80 83 00 28 */	lwz r4, 0x28(r3)
/* 803BBB28 003B7788  54 80 3F FE */	rlwinm r0, r4, 7, 0x1f, 0x1f
/* 803BBB2C 003B778C  7C 00 2A 14 */	add r0, r0, r5
/* 803BBB30 003B7790  50 04 C9 8C */	rlwimi r4, r0, 0x19, 6, 6
/* 803BBB34 003B7794  90 83 00 28 */	stw r4, 0x28(r3)
/* 803BBB38 003B7798  48 00 00 30 */	b lbl_803BBB68
/* 803BBB3C 003B779C  80 83 00 28 */	lwz r4, 0x28(r3)
/* 803BBB40 003B77A0  54 80 47 FE */	rlwinm r0, r4, 8, 0x1f, 0x1f
/* 803BBB44 003B77A4  7C 00 2A 14 */	add r0, r0, r5
/* 803BBB48 003B77A8  50 04 C1 CE */	rlwimi r4, r0, 0x18, 7, 7
/* 803BBB4C 003B77AC  90 83 00 28 */	stw r4, 0x28(r3)
/* 803BBB50 003B77B0  48 00 00 18 */	b lbl_803BBB68
lbl_803BBB54:
/* 803BBB54 003B77B4  3C 80 80 47 */	lis r4, lbl_8047352D@ha
/* 803BBB58 003B77B8  38 60 00 00 */	li r3, 0
/* 803BBB5C 003B77BC  38 84 35 2D */	addi r4, r4, lbl_8047352D@l
/* 803BBB60 003B77C0  4C C6 31 82 */	crclr 6
/* 803BBB64 003B77C4  48 01 DD 39 */	bl func_803D989C
lbl_803BBB68:
/* 803BBB68 003B77C8  39 61 00 20 */	addi r11, r1, 0x20
/* 803BBB6C 003B77CC  4B E0 B6 11 */	bl _restgpr_29
/* 803BBB70 003B77D0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BBB74 003B77D4  7C 08 03 A6 */	mtlr r0
/* 803BBB78 003B77D8  38 21 00 20 */	addi r1, r1, 0x20
/* 803BBB7C 003B77DC  4E 80 00 20 */	blr 

.global func_803BBB80
func_803BBB80:
/* 803BBB80 003B77E0  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803BBB84 003B77E4  7C 08 02 A6 */	mflr r0
/* 803BBB88 003B77E8  90 01 00 74 */	stw r0, 0x74(r1)
/* 803BBB8C 003B77EC  39 61 00 70 */	addi r11, r1, 0x70
/* 803BBB90 003B77F0  4B E0 B5 65 */	bl __save_gpr
/* 803BBB94 003B77F4  1F E5 00 C0 */	mulli r31, r5, 0xc0
/* 803BBB98 003B77F8  7C 6F 1B 78 */	mr r15, r3
/* 803BBB9C 003B77FC  38 00 00 00 */	li r0, 0
/* 803BBBA0 003B7800  90 E1 00 08 */	stw r7, 8(r1)
/* 803BBBA4 003B7804  7C B1 2B 78 */	mr r17, r5
/* 803BBBA8 003B7808  7C 64 FA 14 */	add r3, r4, r31
/* 803BBBAC 003B780C  80 A3 2D 8C */	lwz r5, 0x2d8c(r3)
/* 803BBBB0 003B7810  7C 90 23 78 */	mr r16, r4
/* 803BBBB4 003B7814  B0 01 00 12 */	sth r0, 0x12(r1)
/* 803BBBB8 003B7818  38 00 00 00 */	li r0, 0
/* 803BBBBC 003B781C  2C 05 00 00 */	cmpwi r5, 0
/* 803BBBC0 003B7820  7C D2 33 78 */	mr r18, r6
/* 803BBBC4 003B7824  B0 01 00 10 */	sth r0, 0x10(r1)
/* 803BBBC8 003B7828  38 00 00 00 */	li r0, 0
/* 803BBBCC 003B782C  3B A0 00 00 */	li r29, 0
/* 803BBBD0 003B7830  3B 00 00 00 */	li r24, 0
/* 803BBBD4 003B7834  98 01 00 0D */	stb r0, 0xd(r1)
/* 803BBBD8 003B7838  38 00 00 00 */	li r0, 0
/* 803BBBDC 003B783C  3A E0 00 00 */	li r23, 0
/* 803BBBE0 003B7840  3A C0 00 00 */	li r22, 0
/* 803BBBE4 003B7844  98 01 00 0C */	stb r0, 0xc(r1)
/* 803BBBE8 003B7848  3A A0 00 00 */	li r21, 0
/* 803BBBEC 003B784C  40 82 00 20 */	bne lbl_803BBC0C
/* 803BBBF0 003B7850  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803BBBF4 003B7854  7C 64 02 14 */	add r3, r4, r0
/* 803BBBF8 003B7858  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BBBFC 003B785C  2C 00 00 00 */	cmpwi r0, 0
/* 803BBC00 003B7860  41 82 00 0C */	beq lbl_803BBC0C
/* 803BBC04 003B7864  38 60 00 01 */	li r3, 1
/* 803BBC08 003B7868  48 00 08 30 */	b lbl_803BC438
lbl_803BBC0C:
/* 803BBC0C 003B786C  2C 05 00 00 */	cmpwi r5, 0
/* 803BBC10 003B7870  41 82 00 20 */	beq lbl_803BBC30
/* 803BBC14 003B7874  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803BBC18 003B7878  7C 64 02 14 */	add r3, r4, r0
/* 803BBC1C 003B787C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BBC20 003B7880  2C 00 00 00 */	cmpwi r0, 0
/* 803BBC24 003B7884  40 82 00 0C */	bne lbl_803BBC30
/* 803BBC28 003B7888  38 60 00 00 */	li r3, 0
/* 803BBC2C 003B788C  48 00 08 0C */	b lbl_803BC438
lbl_803BBC30:
/* 803BBC30 003B7890  7E 03 83 78 */	mr r3, r16
/* 803BBC34 003B7894  7E 24 8B 78 */	mr r4, r17
/* 803BBC38 003B7898  48 00 3E E1 */	bl func_803BFB18
/* 803BBC3C 003B789C  54 74 06 3E */	clrlwi r20, r3, 0x18
/* 803BBC40 003B78A0  7E 03 83 78 */	mr r3, r16
/* 803BBC44 003B78A4  7E 44 93 78 */	mr r4, r18
/* 803BBC48 003B78A8  48 00 3E D1 */	bl func_803BFB18
/* 803BBC4C 003B78AC  54 73 06 3E */	clrlwi r19, r3, 0x18
/* 803BBC50 003B78B0  7E 03 83 78 */	mr r3, r16
/* 803BBC54 003B78B4  7E 24 8B 78 */	mr r4, r17
/* 803BBC58 003B78B8  48 00 81 15 */	bl func_803C3D6C
/* 803BBC5C 003B78BC  7C 60 1B 78 */	mr r0, r3
/* 803BBC60 003B78C0  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803BBC64 003B78C4  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BBC68 003B78C8  48 01 DB 05 */	bl func_803D976C
/* 803BBC6C 003B78CC  38 80 00 01 */	li r4, 1
/* 803BBC70 003B78D0  48 01 D5 BD */	bl func_803D922C
/* 803BBC74 003B78D4  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 803BBC78 003B78D8  7E 03 83 78 */	mr r3, r16
/* 803BBC7C 003B78DC  7E 24 8B 78 */	mr r4, r17
/* 803BBC80 003B78E0  38 A0 00 00 */	li r5, 0
/* 803BBC84 003B78E4  48 00 84 7D */	bl func_803C4100
/* 803BBC88 003B78E8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BBC8C 003B78EC  7E 03 83 78 */	mr r3, r16
/* 803BBC90 003B78F0  98 01 00 0F */	stb r0, 0xf(r1)
/* 803BBC94 003B78F4  7E 44 93 78 */	mr r4, r18
/* 803BBC98 003B78F8  48 00 80 D5 */	bl func_803C3D6C
/* 803BBC9C 003B78FC  7C 60 1B 78 */	mr r0, r3
/* 803BBCA0 003B7900  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803BBCA4 003B7904  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BBCA8 003B7908  48 01 DA C5 */	bl func_803D976C
/* 803BBCAC 003B790C  38 80 00 01 */	li r4, 1
/* 803BBCB0 003B7910  48 01 D5 7D */	bl func_803D922C
/* 803BBCB4 003B7914  54 79 06 3E */	clrlwi r25, r3, 0x18
/* 803BBCB8 003B7918  7E 03 83 78 */	mr r3, r16
/* 803BBCBC 003B791C  7E 44 93 78 */	mr r4, r18
/* 803BBCC0 003B7920  38 A0 00 00 */	li r5, 0
/* 803BBCC4 003B7924  48 00 84 3D */	bl func_803C4100
/* 803BBCC8 003B7928  1F D2 00 C0 */	mulli r30, r18, 0xc0
/* 803BBCCC 003B792C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BBCD0 003B7930  7C 90 FA 14 */	add r4, r16, r31
/* 803BBCD4 003B7934  98 01 00 0E */	stb r0, 0xe(r1)
/* 803BBCD8 003B7938  89 C4 2D 5B */	lbz r14, 0x2d5b(r4)
/* 803BBCDC 003B793C  7E 03 83 78 */	mr r3, r16
/* 803BBCE0 003B7940  7C 90 F2 14 */	add r4, r16, r30
/* 803BBCE4 003B7944  7D CE 07 74 */	extsb r14, r14
/* 803BBCE8 003B7948  8B 64 2D 5B */	lbz r27, 0x2d5b(r4)
/* 803BBCEC 003B794C  7E 24 8B 78 */	mr r4, r17
/* 803BBCF0 003B7950  7F 7B 07 74 */	extsb r27, r27
/* 803BBCF4 003B7954  48 00 3E 25 */	bl func_803BFB18
/* 803BBCF8 003B7958  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BBCFC 003B795C  28 00 00 56 */	cmplwi r0, 0x56
/* 803BBD00 003B7960  40 82 00 28 */	bne lbl_803BBD28
/* 803BBD04 003B7964  38 0E FF FA */	addi r0, r14, -6
/* 803BBD08 003B7968  54 03 08 3C */	slwi r3, r0, 1
/* 803BBD0C 003B796C  39 C3 00 06 */	addi r14, r3, 6
/* 803BBD10 003B7970  2C 0E 00 0C */	cmpwi r14, 0xc
/* 803BBD14 003B7974  40 81 00 08 */	ble lbl_803BBD1C
/* 803BBD18 003B7978  39 C0 00 0C */	li r14, 0xc
lbl_803BBD1C:
/* 803BBD1C 003B797C  2C 0E 00 00 */	cmpwi r14, 0
/* 803BBD20 003B7980  40 80 00 08 */	bge lbl_803BBD28
/* 803BBD24 003B7984  39 C0 00 00 */	li r14, 0
lbl_803BBD28:
/* 803BBD28 003B7988  7E 03 83 78 */	mr r3, r16
/* 803BBD2C 003B798C  7E 44 93 78 */	mr r4, r18
/* 803BBD30 003B7990  48 00 3D E9 */	bl func_803BFB18
/* 803BBD34 003B7994  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BBD38 003B7998  28 00 00 56 */	cmplwi r0, 0x56
/* 803BBD3C 003B799C  40 82 00 28 */	bne lbl_803BBD64
/* 803BBD40 003B79A0  38 1B FF FA */	addi r0, r27, -6
/* 803BBD44 003B79A4  54 03 08 3C */	slwi r3, r0, 1
/* 803BBD48 003B79A8  3B 63 00 06 */	addi r27, r3, 6
/* 803BBD4C 003B79AC  2C 1B 00 0C */	cmpwi r27, 0xc
/* 803BBD50 003B79B0  40 81 00 08 */	ble lbl_803BBD58
/* 803BBD54 003B79B4  3B 60 00 0C */	li r27, 0xc
lbl_803BBD58:
/* 803BBD58 003B79B8  2C 1B 00 00 */	cmpwi r27, 0
/* 803BBD5C 003B79BC  40 80 00 08 */	bge lbl_803BBD64
/* 803BBD60 003B79C0  3B 60 00 00 */	li r27, 0
lbl_803BBD64:
/* 803BBD64 003B79C4  3C C0 80 40 */	lis r6, lbl_80405402@ha
/* 803BBD68 003B79C8  7C 90 FA 14 */	add r4, r16, r31
/* 803BBD6C 003B79CC  7C 70 F2 14 */	add r3, r16, r30
/* 803BBD70 003B79D0  55 C0 08 3C */	slwi r0, r14, 1
/* 803BBD74 003B79D4  A1 03 2D 46 */	lhz r8, 0x2d46(r3)
/* 803BBD78 003B79D8  38 C6 54 02 */	addi r6, r6, lbl_80405402@l
/* 803BBD7C 003B79DC  57 67 08 3C */	slwi r7, r27, 1
/* 803BBD80 003B79E0  A1 24 2D 46 */	lhz r9, 0x2d46(r4)
/* 803BBD84 003B79E4  7C 86 02 14 */	add r4, r6, r0
/* 803BBD88 003B79E8  7C 06 00 AE */	lbzx r0, r6, r0
/* 803BBD8C 003B79EC  7C A6 3A 14 */	add r5, r6, r7
/* 803BBD90 003B79F0  7C E6 38 AE */	lbzx r7, r6, r7
/* 803BBD94 003B79F4  7D 49 01 D6 */	mullw r10, r9, r0
/* 803BBD98 003B79F8  89 24 00 01 */	lbz r9, 1(r4)
/* 803BBD9C 003B79FC  88 05 00 01 */	lbz r0, 1(r5)
/* 803BBDA0 003B7A00  7D E3 7B 78 */	mr r3, r15
/* 803BBDA4 003B7A04  7E 04 83 78 */	mr r4, r16
/* 803BBDA8 003B7A08  38 A0 00 08 */	li r5, 8
/* 803BBDAC 003B7A0C  7D 08 39 D6 */	mullw r8, r8, r7
/* 803BBDB0 003B7A10  38 C0 00 00 */	li r6, 0
/* 803BBDB4 003B7A14  38 E0 00 0D */	li r7, 0xd
/* 803BBDB8 003B7A18  7F 8A 4B D6 */	divw r28, r10, r9
/* 803BBDBC 003B7A1C  7F 68 03 D6 */	divw r27, r8, r0
/* 803BBDC0 003B7A20  48 00 35 C1 */	bl func_803BF380
/* 803BBDC4 003B7A24  2C 03 00 00 */	cmpwi r3, 0
/* 803BBDC8 003B7A28  40 82 00 7C */	bne lbl_803BBE44
/* 803BBDCC 003B7A2C  7D E3 7B 78 */	mr r3, r15
/* 803BBDD0 003B7A30  7E 04 83 78 */	mr r4, r16
/* 803BBDD4 003B7A34  38 A0 00 08 */	li r5, 8
/* 803BBDD8 003B7A38  38 C0 00 00 */	li r6, 0
/* 803BBDDC 003B7A3C  38 E0 00 4C */	li r7, 0x4c
/* 803BBDE0 003B7A40  48 00 35 A1 */	bl func_803BF380
/* 803BBDE4 003B7A44  2C 03 00 00 */	cmpwi r3, 0
/* 803BBDE8 003B7A48  40 82 00 5C */	bne lbl_803BBE44
/* 803BBDEC 003B7A4C  2C 14 00 21 */	cmpwi r20, 0x21
/* 803BBDF0 003B7A50  40 82 00 10 */	bne lbl_803BBE00
/* 803BBDF4 003B7A54  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803BBDF8 003B7A58  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803BBDFC 003B7A5C  40 82 00 18 */	bne lbl_803BBE14
lbl_803BBE00:
/* 803BBE00 003B7A60  2C 14 00 22 */	cmpwi r20, 0x22
/* 803BBE04 003B7A64  40 82 00 14 */	bne lbl_803BBE18
/* 803BBE08 003B7A68  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803BBE0C 003B7A6C  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803BBE10 003B7A70  41 82 00 08 */	beq lbl_803BBE18
lbl_803BBE14:
/* 803BBE14 003B7A74  57 9C 08 3C */	slwi r28, r28, 1
lbl_803BBE18:
/* 803BBE18 003B7A78  2C 13 00 21 */	cmpwi r19, 0x21
/* 803BBE1C 003B7A7C  40 82 00 10 */	bne lbl_803BBE2C
/* 803BBE20 003B7A80  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803BBE24 003B7A84  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803BBE28 003B7A88  40 82 00 18 */	bne lbl_803BBE40
lbl_803BBE2C:
/* 803BBE2C 003B7A8C  2C 13 00 22 */	cmpwi r19, 0x22
/* 803BBE30 003B7A90  40 82 00 14 */	bne lbl_803BBE44
/* 803BBE34 003B7A94  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803BBE38 003B7A98  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803BBE3C 003B7A9C  41 82 00 08 */	beq lbl_803BBE44
lbl_803BBE40:
/* 803BBE40 003B7AA0  57 7B 08 3C */	slwi r27, r27, 1
lbl_803BBE44:
/* 803BBE44 003B7AA4  38 02 A9 E8 */	addi r0, r2, lbl_80642FE8-_SDA2_BASE_
/* 803BBE48 003B7AA8  39 C0 00 00 */	li r14, 0
/* 803BBE4C 003B7AAC  90 01 00 18 */	stw r0, 0x18(r1)
/* 803BBE50 003B7AB0  7C 10 FA 14 */	add r0, r16, r31
/* 803BBE54 003B7AB4  90 01 00 14 */	stw r0, 0x14(r1)
lbl_803BBE58:
/* 803BBE58 003B7AB8  80 81 00 14 */	lwz r4, 0x14(r1)
/* 803BBE5C 003B7ABC  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803BBE60 003B7AC0  A0 84 2D B8 */	lhz r4, 0x2db8(r4)
/* 803BBE64 003B7AC4  48 01 D9 09 */	bl func_803D976C
/* 803BBE68 003B7AC8  38 80 00 01 */	li r4, 1
/* 803BBE6C 003B7ACC  48 01 D3 C1 */	bl func_803D922C
/* 803BBE70 003B7AD0  80 81 00 18 */	lwz r4, 0x18(r1)
/* 803BBE74 003B7AD4  88 04 00 00 */	lbz r0, 0(r4)
/* 803BBE78 003B7AD8  7C 00 18 00 */	cmpw r0, r3
/* 803BBE7C 003B7ADC  40 82 00 0C */	bne lbl_803BBE88
/* 803BBE80 003B7AE0  57 9C F8 7E */	srwi r28, r28, 1
/* 803BBE84 003B7AE4  48 00 00 1C */	b lbl_803BBEA0
lbl_803BBE88:
/* 803BBE88 003B7AE8  39 CE 00 01 */	addi r14, r14, 1
/* 803BBE8C 003B7AEC  7C 83 23 78 */	mr r3, r4
/* 803BBE90 003B7AF0  38 63 00 01 */	addi r3, r3, 1
/* 803BBE94 003B7AF4  28 0E 00 08 */	cmplwi r14, 8
/* 803BBE98 003B7AF8  90 61 00 18 */	stw r3, 0x18(r1)
/* 803BBE9C 003B7AFC  41 80 FF BC */	blt lbl_803BBE58
lbl_803BBEA0:
/* 803BBEA0 003B7B00  28 1A 00 72 */	cmplwi r26, 0x72
/* 803BBEA4 003B7B04  40 82 00 10 */	bne lbl_803BBEB4
/* 803BBEA8 003B7B08  1C 7C 00 0F */	mulli r3, r28, 0xf
/* 803BBEAC 003B7B0C  38 00 00 0A */	li r0, 0xa
/* 803BBEB0 003B7B10  7F 83 03 96 */	divwu r28, r3, r0
lbl_803BBEB4:
/* 803BBEB4 003B7B14  28 1A 00 65 */	cmplwi r26, 0x65
/* 803BBEB8 003B7B18  40 82 00 18 */	bne lbl_803BBED0
/* 803BBEBC 003B7B1C  7C 70 FA 14 */	add r3, r16, r31
/* 803BBEC0 003B7B20  A0 03 2D 40 */	lhz r0, 0x2d40(r3)
/* 803BBEC4 003B7B24  28 00 00 84 */	cmplwi r0, 0x84
/* 803BBEC8 003B7B28  40 82 00 08 */	bne lbl_803BBED0
/* 803BBECC 003B7B2C  57 9C 08 3C */	slwi r28, r28, 1
lbl_803BBED0:
/* 803BBED0 003B7B30  2C 14 00 5F */	cmpwi r20, 0x5f
/* 803BBED4 003B7B34  40 82 00 24 */	bne lbl_803BBEF8
/* 803BBED8 003B7B38  7C 70 FA 14 */	add r3, r16, r31
/* 803BBEDC 003B7B3C  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803BBEE0 003B7B40  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803BBEE4 003B7B44  41 82 00 14 */	beq lbl_803BBEF8
/* 803BBEE8 003B7B48  1C 7C 00 0F */	mulli r3, r28, 0xf
/* 803BBEEC 003B7B4C  38 00 00 0A */	li r0, 0xa
/* 803BBEF0 003B7B50  7F 83 03 96 */	divwu r28, r3, r0
/* 803BBEF4 003B7B54  48 00 00 18 */	b lbl_803BBF0C
lbl_803BBEF8:
/* 803BBEF8 003B7B58  7C 70 FA 14 */	add r3, r16, r31
/* 803BBEFC 003B7B5C  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803BBF00 003B7B60  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803BBF04 003B7B64  41 82 00 08 */	beq lbl_803BBF0C
/* 803BBF08 003B7B68  57 9C F0 BE */	srwi r28, r28, 2
lbl_803BBF0C:
/* 803BBF0C 003B7B6C  2C 14 00 70 */	cmpwi r20, 0x70
/* 803BBF10 003B7B70  40 82 00 20 */	bne lbl_803BBF30
/* 803BBF14 003B7B74  7C 70 FA 14 */	add r3, r16, r31
/* 803BBF18 003B7B78  80 10 01 50 */	lwz r0, 0x150(r16)
/* 803BBF1C 003B7B7C  80 63 2D D8 */	lwz r3, 0x2dd8(r3)
/* 803BBF20 003B7B80  7C 03 00 50 */	subf r0, r3, r0
/* 803BBF24 003B7B84  2C 00 00 05 */	cmpwi r0, 5
/* 803BBF28 003B7B88  40 80 00 08 */	bge lbl_803BBF30
/* 803BBF2C 003B7B8C  57 9C F8 7E */	srwi r28, r28, 1
lbl_803BBF30:
/* 803BBF30 003B7B90  2C 14 00 54 */	cmpwi r20, 0x54
/* 803BBF34 003B7B94  40 82 00 24 */	bne lbl_803BBF58
/* 803BBF38 003B7B98  7C 70 FA 14 */	add r3, r16, r31
/* 803BBF3C 003B7B9C  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BBF40 003B7BA0  54 00 BF FF */	rlwinm. r0, r0, 0x17, 0x1f, 0x1f
/* 803BBF44 003B7BA4  41 82 00 14 */	beq lbl_803BBF58
/* 803BBF48 003B7BA8  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803BBF4C 003B7BAC  2C 00 00 00 */	cmpwi r0, 0
/* 803BBF50 003B7BB0  40 82 00 08 */	bne lbl_803BBF58
/* 803BBF54 003B7BB4  57 9C 08 3C */	slwi r28, r28, 1
lbl_803BBF58:
/* 803BBF58 003B7BB8  7D E3 7B 78 */	mr r3, r15
/* 803BBF5C 003B7BBC  7E 24 8B 78 */	mr r4, r17
/* 803BBF60 003B7BC0  4B FF 0D 85 */	bl func_803ACCE4
/* 803BBF64 003B7BC4  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803BBF68 003B7BC8  7C 70 02 14 */	add r3, r16, r0
/* 803BBF6C 003B7BCC  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803BBF70 003B7BD0  54 00 05 AF */	rlwinm. r0, r0, 0, 0x16, 0x17
/* 803BBF74 003B7BD4  41 82 00 08 */	beq lbl_803BBF7C
/* 803BBF78 003B7BD8  57 9C 08 3C */	slwi r28, r28, 1
lbl_803BBF7C:
/* 803BBF7C 003B7BDC  28 1A 00 33 */	cmplwi r26, 0x33
/* 803BBF80 003B7BE0  40 82 00 4C */	bne lbl_803BBFCC
/* 803BBF84 003B7BE4  88 01 00 0F */	lbz r0, 0xf(r1)
/* 803BBF88 003B7BE8  38 60 00 64 */	li r3, 0x64
/* 803BBF8C 003B7BEC  56 24 08 3C */	slwi r4, r17, 1
/* 803BBF90 003B7BF0  7C 63 03 D6 */	divw r3, r3, r0
/* 803BBF94 003B7BF4  7C 90 22 14 */	add r4, r16, r4
/* 803BBF98 003B7BF8  A0 84 31 0C */	lhz r4, 0x310c(r4)
/* 803BBF9C 003B7BFC  7C 04 1B D6 */	divw r0, r4, r3
/* 803BBFA0 003B7C00  7C 00 19 D6 */	mullw r0, r0, r3
/* 803BBFA4 003B7C04  7C 00 20 51 */	subf. r0, r0, r4
/* 803BBFA8 003B7C08  40 82 00 24 */	bne lbl_803BBFCC
/* 803BBFAC 003B7C0C  80 01 00 08 */	lwz r0, 8(r1)
/* 803BBFB0 003B7C10  3B 00 00 01 */	li r24, 1
/* 803BBFB4 003B7C14  2C 00 00 00 */	cmpwi r0, 0
/* 803BBFB8 003B7C18  40 82 00 14 */	bne lbl_803BBFCC
/* 803BBFBC 003B7C1C  7C 70 FA 14 */	add r3, r16, r31
/* 803BBFC0 003B7C20  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BBFC4 003B7C24  60 00 00 04 */	ori r0, r0, 4
/* 803BBFC8 003B7C28  90 03 2D CC */	stw r0, 0x2dcc(r3)
lbl_803BBFCC:
/* 803BBFCC 003B7C2C  7C 70 FA 14 */	add r3, r16, r31
/* 803BBFD0 003B7C30  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BBFD4 003B7C34  54 00 EF FF */	rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 803BBFD8 003B7C38  41 82 00 08 */	beq lbl_803BBFE0
/* 803BBFDC 003B7C3C  3B 00 00 01 */	li r24, 1
lbl_803BBFE0:
/* 803BBFE0 003B7C40  28 1A 00 6A */	cmplwi r26, 0x6a
/* 803BBFE4 003B7C44  40 82 00 08 */	bne lbl_803BBFEC
/* 803BBFE8 003B7C48  3A C0 00 01 */	li r22, 1
lbl_803BBFEC:
/* 803BBFEC 003B7C4C  39 C2 A9 E8 */	addi r14, r2, lbl_80642FE8-_SDA2_BASE_
/* 803BBFF0 003B7C50  7F F0 F2 14 */	add r31, r16, r30
/* 803BBFF4 003B7C54  3B 40 00 00 */	li r26, 0
lbl_803BBFF8:
/* 803BBFF8 003B7C58  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803BBFFC 003B7C5C  A0 9F 2D B8 */	lhz r4, 0x2db8(r31)
/* 803BC000 003B7C60  48 01 D7 6D */	bl func_803D976C
/* 803BC004 003B7C64  38 80 00 01 */	li r4, 1
/* 803BC008 003B7C68  48 01 D2 25 */	bl func_803D922C
/* 803BC00C 003B7C6C  88 0E 00 00 */	lbz r0, 0(r14)
/* 803BC010 003B7C70  7C 00 18 00 */	cmpw r0, r3
/* 803BC014 003B7C74  40 82 00 0C */	bne lbl_803BC020
/* 803BC018 003B7C78  57 7B F8 7E */	srwi r27, r27, 1
/* 803BC01C 003B7C7C  48 00 00 14 */	b lbl_803BC030
lbl_803BC020:
/* 803BC020 003B7C80  3B 5A 00 01 */	addi r26, r26, 1
/* 803BC024 003B7C84  39 CE 00 01 */	addi r14, r14, 1
/* 803BC028 003B7C88  28 1A 00 08 */	cmplwi r26, 8
/* 803BC02C 003B7C8C  41 80 FF CC */	blt lbl_803BBFF8
lbl_803BC030:
/* 803BC030 003B7C90  28 19 00 72 */	cmplwi r25, 0x72
/* 803BC034 003B7C94  40 82 00 10 */	bne lbl_803BC044
/* 803BC038 003B7C98  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803BC03C 003B7C9C  38 00 00 0A */	li r0, 0xa
/* 803BC040 003B7CA0  7F 63 03 96 */	divwu r27, r3, r0
lbl_803BC044:
/* 803BC044 003B7CA4  28 19 00 65 */	cmplwi r25, 0x65
/* 803BC048 003B7CA8  40 82 00 18 */	bne lbl_803BC060
/* 803BC04C 003B7CAC  7C 70 F2 14 */	add r3, r16, r30
/* 803BC050 003B7CB0  A0 03 2D 40 */	lhz r0, 0x2d40(r3)
/* 803BC054 003B7CB4  28 00 00 84 */	cmplwi r0, 0x84
/* 803BC058 003B7CB8  40 82 00 08 */	bne lbl_803BC060
/* 803BC05C 003B7CBC  57 7B 08 3C */	slwi r27, r27, 1
lbl_803BC060:
/* 803BC060 003B7CC0  2C 13 00 5F */	cmpwi r19, 0x5f
/* 803BC064 003B7CC4  40 82 00 24 */	bne lbl_803BC088
/* 803BC068 003B7CC8  7C 70 F2 14 */	add r3, r16, r30
/* 803BC06C 003B7CCC  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803BC070 003B7CD0  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803BC074 003B7CD4  41 82 00 14 */	beq lbl_803BC088
/* 803BC078 003B7CD8  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803BC07C 003B7CDC  38 00 00 0A */	li r0, 0xa
/* 803BC080 003B7CE0  7F 63 03 96 */	divwu r27, r3, r0
/* 803BC084 003B7CE4  48 00 00 18 */	b lbl_803BC09C
lbl_803BC088:
/* 803BC088 003B7CE8  7C 70 F2 14 */	add r3, r16, r30
/* 803BC08C 003B7CEC  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803BC090 003B7CF0  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803BC094 003B7CF4  41 82 00 08 */	beq lbl_803BC09C
/* 803BC098 003B7CF8  57 7B F0 BE */	srwi r27, r27, 2
lbl_803BC09C:
/* 803BC09C 003B7CFC  2C 13 00 70 */	cmpwi r19, 0x70
/* 803BC0A0 003B7D00  40 82 00 20 */	bne lbl_803BC0C0
/* 803BC0A4 003B7D04  7C 70 F2 14 */	add r3, r16, r30
/* 803BC0A8 003B7D08  80 10 01 50 */	lwz r0, 0x150(r16)
/* 803BC0AC 003B7D0C  80 63 2D D8 */	lwz r3, 0x2dd8(r3)
/* 803BC0B0 003B7D10  7C 03 00 50 */	subf r0, r3, r0
/* 803BC0B4 003B7D14  2C 00 00 05 */	cmpwi r0, 5
/* 803BC0B8 003B7D18  40 80 00 08 */	bge lbl_803BC0C0
/* 803BC0BC 003B7D1C  57 7B F8 7E */	srwi r27, r27, 1
lbl_803BC0C0:
/* 803BC0C0 003B7D20  2C 13 00 54 */	cmpwi r19, 0x54
/* 803BC0C4 003B7D24  40 82 00 24 */	bne lbl_803BC0E8
/* 803BC0C8 003B7D28  7C 70 F2 14 */	add r3, r16, r30
/* 803BC0CC 003B7D2C  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BC0D0 003B7D30  54 00 BF FF */	rlwinm. r0, r0, 0x17, 0x1f, 0x1f
/* 803BC0D4 003B7D34  41 82 00 14 */	beq lbl_803BC0E8
/* 803BC0D8 003B7D38  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803BC0DC 003B7D3C  2C 00 00 00 */	cmpwi r0, 0
/* 803BC0E0 003B7D40  40 82 00 08 */	bne lbl_803BC0E8
/* 803BC0E4 003B7D44  57 7B 08 3C */	slwi r27, r27, 1
lbl_803BC0E8:
/* 803BC0E8 003B7D48  7D E3 7B 78 */	mr r3, r15
/* 803BC0EC 003B7D4C  7E 44 93 78 */	mr r4, r18
/* 803BC0F0 003B7D50  4B FF 0B F5 */	bl func_803ACCE4
/* 803BC0F4 003B7D54  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803BC0F8 003B7D58  7C 70 02 14 */	add r3, r16, r0
/* 803BC0FC 003B7D5C  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803BC100 003B7D60  54 00 05 AF */	rlwinm. r0, r0, 0, 0x16, 0x17
/* 803BC104 003B7D64  41 82 00 08 */	beq lbl_803BC10C
/* 803BC108 003B7D68  57 7B 08 3C */	slwi r27, r27, 1
lbl_803BC10C:
/* 803BC10C 003B7D6C  28 19 00 33 */	cmplwi r25, 0x33
/* 803BC110 003B7D70  40 82 00 4C */	bne lbl_803BC15C
/* 803BC114 003B7D74  88 01 00 0E */	lbz r0, 0xe(r1)
/* 803BC118 003B7D78  38 60 00 64 */	li r3, 0x64
/* 803BC11C 003B7D7C  56 44 08 3C */	slwi r4, r18, 1
/* 803BC120 003B7D80  7C 63 03 D6 */	divw r3, r3, r0
/* 803BC124 003B7D84  7C 90 22 14 */	add r4, r16, r4
/* 803BC128 003B7D88  A0 84 31 0C */	lhz r4, 0x310c(r4)
/* 803BC12C 003B7D8C  7C 04 1B D6 */	divw r0, r4, r3
/* 803BC130 003B7D90  7C 00 19 D6 */	mullw r0, r0, r3
/* 803BC134 003B7D94  7C 00 20 51 */	subf. r0, r0, r4
/* 803BC138 003B7D98  40 82 00 24 */	bne lbl_803BC15C
/* 803BC13C 003B7D9C  80 01 00 08 */	lwz r0, 8(r1)
/* 803BC140 003B7DA0  3A E0 00 01 */	li r23, 1
/* 803BC144 003B7DA4  2C 00 00 00 */	cmpwi r0, 0
/* 803BC148 003B7DA8  40 82 00 14 */	bne lbl_803BC15C
/* 803BC14C 003B7DAC  7C 70 F2 14 */	add r3, r16, r30
/* 803BC150 003B7DB0  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BC154 003B7DB4  60 00 00 04 */	ori r0, r0, 4
/* 803BC158 003B7DB8  90 03 2D CC */	stw r0, 0x2dcc(r3)
lbl_803BC15C:
/* 803BC15C 003B7DBC  7C 70 F2 14 */	add r3, r16, r30
/* 803BC160 003B7DC0  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BC164 003B7DC4  54 00 EF FF */	rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 803BC168 003B7DC8  41 82 00 08 */	beq lbl_803BC170
/* 803BC16C 003B7DCC  3A E0 00 01 */	li r23, 1
lbl_803BC170:
/* 803BC170 003B7DD0  28 19 00 6A */	cmplwi r25, 0x6a
/* 803BC174 003B7DD4  40 82 00 08 */	bne lbl_803BC17C
/* 803BC178 003B7DD8  3A A0 00 01 */	li r21, 1
lbl_803BC17C:
/* 803BC17C 003B7DDC  56 20 10 3A */	slwi r0, r17, 2
/* 803BC180 003B7DE0  56 43 10 3A */	slwi r3, r18, 2
/* 803BC184 003B7DE4  7C 90 02 14 */	add r4, r16, r0
/* 803BC188 003B7DE8  80 01 00 08 */	lwz r0, 8(r1)
/* 803BC18C 003B7DEC  93 84 21 F0 */	stw r28, 0x21f0(r4)
/* 803BC190 003B7DF0  7C 70 1A 14 */	add r3, r16, r3
/* 803BC194 003B7DF4  2C 00 00 00 */	cmpwi r0, 0
/* 803BC198 003B7DF8  93 63 21 F0 */	stw r27, 0x21f0(r3)
/* 803BC19C 003B7DFC  40 82 00 E4 */	bne lbl_803BC280
/* 803BC1A0 003B7E00  56 20 20 36 */	slwi r0, r17, 4
/* 803BC1A4 003B7E04  56 45 20 36 */	slwi r5, r18, 4
/* 803BC1A8 003B7E08  7C 70 02 14 */	add r3, r16, r0
/* 803BC1AC 003B7E0C  56 24 08 3C */	slwi r4, r17, 1
/* 803BC1B0 003B7E10  80 03 21 B4 */	lwz r0, 0x21b4(r3)
/* 803BC1B4 003B7E14  56 43 08 3C */	slwi r3, r18, 1
/* 803BC1B8 003B7E18  7C B0 2A 14 */	add r5, r16, r5
/* 803BC1BC 003B7E1C  7C 90 22 14 */	add r4, r16, r4
/* 803BC1C0 003B7E20  7C 70 1A 14 */	add r3, r16, r3
/* 803BC1C4 003B7E24  2C 00 00 01 */	cmpwi r0, 1
/* 803BC1C8 003B7E28  81 C5 21 B4 */	lwz r14, 0x21b4(r5)
/* 803BC1CC 003B7E2C  A0 A4 30 BC */	lhz r5, 0x30bc(r4)
/* 803BC1D0 003B7E30  A1 E3 30 BC */	lhz r15, 0x30bc(r3)
/* 803BC1D4 003B7E34  40 82 00 40 */	bne lbl_803BC214
/* 803BC1D8 003B7E38  56 20 30 32 */	slwi r0, r17, 6
/* 803BC1DC 003B7E3C  7C 70 02 14 */	add r3, r16, r0
/* 803BC1E0 003B7E40  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803BC1E4 003B7E44  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803BC1E8 003B7E48  41 82 00 10 */	beq lbl_803BC1F8
/* 803BC1EC 003B7E4C  38 00 00 A5 */	li r0, 0xa5
/* 803BC1F0 003B7E50  B0 01 00 12 */	sth r0, 0x12(r1)
/* 803BC1F4 003B7E54  48 00 00 20 */	b lbl_803BC214
lbl_803BC1F8:
/* 803BC1F8 003B7E58  7E 03 83 78 */	mr r3, r16
/* 803BC1FC 003B7E5C  7E 24 8B 78 */	mr r4, r17
/* 803BC200 003B7E60  38 A5 00 06 */	addi r5, r5, 6
/* 803BC204 003B7E64  38 C0 00 00 */	li r6, 0
/* 803BC208 003B7E68  4B FF EA 9D */	bl func_803BACA4
/* 803BC20C 003B7E6C  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803BC210 003B7E70  B0 01 00 12 */	sth r0, 0x12(r1)
lbl_803BC214:
/* 803BC214 003B7E74  2C 0E 00 01 */	cmpwi r14, 1
/* 803BC218 003B7E78  40 82 00 40 */	bne lbl_803BC258
/* 803BC21C 003B7E7C  56 40 30 32 */	slwi r0, r18, 6
/* 803BC220 003B7E80  7C 70 02 14 */	add r3, r16, r0
/* 803BC224 003B7E84  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803BC228 003B7E88  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803BC22C 003B7E8C  41 82 00 10 */	beq lbl_803BC23C
/* 803BC230 003B7E90  38 00 00 A5 */	li r0, 0xa5
/* 803BC234 003B7E94  B0 01 00 10 */	sth r0, 0x10(r1)
/* 803BC238 003B7E98  48 00 00 20 */	b lbl_803BC258
lbl_803BC23C:
/* 803BC23C 003B7E9C  7E 03 83 78 */	mr r3, r16
/* 803BC240 003B7EA0  7E 44 93 78 */	mr r4, r18
/* 803BC244 003B7EA4  38 AF 00 06 */	addi r5, r15, 6
/* 803BC248 003B7EA8  38 C0 00 00 */	li r6, 0
/* 803BC24C 003B7EAC  4B FF EA 59 */	bl func_803BACA4
/* 803BC250 003B7EB0  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803BC254 003B7EB4  B0 01 00 10 */	sth r0, 0x10(r1)
lbl_803BC258:
/* 803BC258 003B7EB8  A0 01 00 12 */	lhz r0, 0x12(r1)
/* 803BC25C 003B7EBC  54 03 23 36 */	rlwinm r3, r0, 4, 0xc, 0x1b
/* 803BC260 003B7EC0  A0 01 00 10 */	lhz r0, 0x10(r1)
/* 803BC264 003B7EC4  7C 90 1A 14 */	add r4, r16, r3
/* 803BC268 003B7EC8  54 00 23 36 */	rlwinm r0, r0, 4, 0xc, 0x1b
/* 803BC26C 003B7ECC  7C 70 02 14 */	add r3, r16, r0
/* 803BC270 003B7ED0  88 04 03 E8 */	lbz r0, 0x3e8(r4)
/* 803BC274 003B7ED4  98 01 00 0D */	stb r0, 0xd(r1)
/* 803BC278 003B7ED8  88 03 03 E8 */	lbz r0, 0x3e8(r3)
/* 803BC27C 003B7EDC  98 01 00 0C */	stb r0, 0xc(r1)
lbl_803BC280:
/* 803BC280 003B7EE0  88 01 00 0D */	lbz r0, 0xd(r1)
/* 803BC284 003B7EE4  7C 03 07 74 */	extsb r3, r0
/* 803BC288 003B7EE8  88 01 00 0C */	lbz r0, 0xc(r1)
/* 803BC28C 003B7EEC  7C 00 07 74 */	extsb r0, r0
/* 803BC290 003B7EF0  7C 03 00 00 */	cmpw r3, r0
/* 803BC294 003B7EF4  40 82 01 98 */	bne lbl_803BC42C
/* 803BC298 003B7EF8  2C 18 00 00 */	cmpwi r24, 0
/* 803BC29C 003B7EFC  41 82 00 34 */	beq lbl_803BC2D0
/* 803BC2A0 003B7F00  2C 17 00 00 */	cmpwi r23, 0
/* 803BC2A4 003B7F04  41 82 00 2C */	beq lbl_803BC2D0
/* 803BC2A8 003B7F08  7C 1C D8 40 */	cmplw r28, r27
/* 803BC2AC 003B7F0C  40 80 00 0C */	bge lbl_803BC2B8
/* 803BC2B0 003B7F10  3B A0 00 01 */	li r29, 1
/* 803BC2B4 003B7F14  48 00 01 80 */	b lbl_803BC434
lbl_803BC2B8:
/* 803BC2B8 003B7F18  40 82 01 7C */	bne lbl_803BC434
/* 803BC2BC 003B7F1C  48 01 D4 FD */	bl func_803D97B8
/* 803BC2C0 003B7F20  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BC2C4 003B7F24  41 82 01 70 */	beq lbl_803BC434
/* 803BC2C8 003B7F28  3B A0 00 02 */	li r29, 2
/* 803BC2CC 003B7F2C  48 00 01 68 */	b lbl_803BC434
lbl_803BC2D0:
/* 803BC2D0 003B7F30  2C 18 00 00 */	cmpwi r24, 0
/* 803BC2D4 003B7F34  40 82 00 14 */	bne lbl_803BC2E8
/* 803BC2D8 003B7F38  2C 17 00 00 */	cmpwi r23, 0
/* 803BC2DC 003B7F3C  41 82 00 0C */	beq lbl_803BC2E8
/* 803BC2E0 003B7F40  3B A0 00 01 */	li r29, 1
/* 803BC2E4 003B7F44  48 00 01 50 */	b lbl_803BC434
lbl_803BC2E8:
/* 803BC2E8 003B7F48  2C 18 00 00 */	cmpwi r24, 0
/* 803BC2EC 003B7F4C  41 82 00 14 */	beq lbl_803BC300
/* 803BC2F0 003B7F50  2C 17 00 00 */	cmpwi r23, 0
/* 803BC2F4 003B7F54  40 82 00 0C */	bne lbl_803BC300
/* 803BC2F8 003B7F58  3B A0 00 00 */	li r29, 0
/* 803BC2FC 003B7F5C  48 00 01 38 */	b lbl_803BC434
lbl_803BC300:
/* 803BC300 003B7F60  2C 16 00 00 */	cmpwi r22, 0
/* 803BC304 003B7F64  41 82 00 34 */	beq lbl_803BC338
/* 803BC308 003B7F68  2C 15 00 00 */	cmpwi r21, 0
/* 803BC30C 003B7F6C  41 82 00 2C */	beq lbl_803BC338
/* 803BC310 003B7F70  7C 1C D8 40 */	cmplw r28, r27
/* 803BC314 003B7F74  40 81 00 0C */	ble lbl_803BC320
/* 803BC318 003B7F78  3B A0 00 01 */	li r29, 1
/* 803BC31C 003B7F7C  48 00 01 18 */	b lbl_803BC434
lbl_803BC320:
/* 803BC320 003B7F80  40 82 01 14 */	bne lbl_803BC434
/* 803BC324 003B7F84  48 01 D4 95 */	bl func_803D97B8
/* 803BC328 003B7F88  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BC32C 003B7F8C  41 82 01 08 */	beq lbl_803BC434
/* 803BC330 003B7F90  3B A0 00 02 */	li r29, 2
/* 803BC334 003B7F94  48 00 01 00 */	b lbl_803BC434
lbl_803BC338:
/* 803BC338 003B7F98  2C 16 00 00 */	cmpwi r22, 0
/* 803BC33C 003B7F9C  41 82 00 14 */	beq lbl_803BC350
/* 803BC340 003B7FA0  2C 15 00 00 */	cmpwi r21, 0
/* 803BC344 003B7FA4  40 82 00 0C */	bne lbl_803BC350
/* 803BC348 003B7FA8  3B A0 00 01 */	li r29, 1
/* 803BC34C 003B7FAC  48 00 00 E8 */	b lbl_803BC434
lbl_803BC350:
/* 803BC350 003B7FB0  2C 16 00 00 */	cmpwi r22, 0
/* 803BC354 003B7FB4  40 82 00 14 */	bne lbl_803BC368
/* 803BC358 003B7FB8  2C 15 00 00 */	cmpwi r21, 0
/* 803BC35C 003B7FBC  41 82 00 0C */	beq lbl_803BC368
/* 803BC360 003B7FC0  3B A0 00 00 */	li r29, 0
/* 803BC364 003B7FC4  48 00 00 D0 */	b lbl_803BC434
lbl_803BC368:
/* 803BC368 003B7FC8  2C 14 00 64 */	cmpwi r20, 0x64
/* 803BC36C 003B7FCC  40 82 00 34 */	bne lbl_803BC3A0
/* 803BC370 003B7FD0  2C 13 00 64 */	cmpwi r19, 0x64
/* 803BC374 003B7FD4  40 82 00 2C */	bne lbl_803BC3A0
/* 803BC378 003B7FD8  7C 1C D8 40 */	cmplw r28, r27
/* 803BC37C 003B7FDC  40 81 00 0C */	ble lbl_803BC388
/* 803BC380 003B7FE0  3B A0 00 01 */	li r29, 1
/* 803BC384 003B7FE4  48 00 00 B0 */	b lbl_803BC434
lbl_803BC388:
/* 803BC388 003B7FE8  40 82 00 AC */	bne lbl_803BC434
/* 803BC38C 003B7FEC  48 01 D4 2D */	bl func_803D97B8
/* 803BC390 003B7FF0  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BC394 003B7FF4  41 82 00 A0 */	beq lbl_803BC434
/* 803BC398 003B7FF8  3B A0 00 02 */	li r29, 2
/* 803BC39C 003B7FFC  48 00 00 98 */	b lbl_803BC434
lbl_803BC3A0:
/* 803BC3A0 003B8000  2C 14 00 64 */	cmpwi r20, 0x64
/* 803BC3A4 003B8004  40 82 00 14 */	bne lbl_803BC3B8
/* 803BC3A8 003B8008  2C 13 00 64 */	cmpwi r19, 0x64
/* 803BC3AC 003B800C  41 82 00 0C */	beq lbl_803BC3B8
/* 803BC3B0 003B8010  3B A0 00 01 */	li r29, 1
/* 803BC3B4 003B8014  48 00 00 80 */	b lbl_803BC434
lbl_803BC3B8:
/* 803BC3B8 003B8018  2C 14 00 64 */	cmpwi r20, 0x64
/* 803BC3BC 003B801C  41 82 00 14 */	beq lbl_803BC3D0
/* 803BC3C0 003B8020  2C 13 00 64 */	cmpwi r19, 0x64
/* 803BC3C4 003B8024  40 82 00 0C */	bne lbl_803BC3D0
/* 803BC3C8 003B8028  3B A0 00 00 */	li r29, 0
/* 803BC3CC 003B802C  48 00 00 68 */	b lbl_803BC434
lbl_803BC3D0:
/* 803BC3D0 003B8030  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803BC3D4 003B8034  54 00 03 5F */	rlwinm. r0, r0, 0, 0xd, 0xf
/* 803BC3D8 003B8038  41 82 00 2C */	beq lbl_803BC404
/* 803BC3DC 003B803C  7C 1C D8 40 */	cmplw r28, r27
/* 803BC3E0 003B8040  40 81 00 08 */	ble lbl_803BC3E8
/* 803BC3E4 003B8044  3B A0 00 01 */	li r29, 1
lbl_803BC3E8:
/* 803BC3E8 003B8048  7C 1C D8 40 */	cmplw r28, r27
/* 803BC3EC 003B804C  40 82 00 48 */	bne lbl_803BC434
/* 803BC3F0 003B8050  48 01 D3 C9 */	bl func_803D97B8
/* 803BC3F4 003B8054  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BC3F8 003B8058  41 82 00 3C */	beq lbl_803BC434
/* 803BC3FC 003B805C  3B A0 00 02 */	li r29, 2
/* 803BC400 003B8060  48 00 00 34 */	b lbl_803BC434
lbl_803BC404:
/* 803BC404 003B8064  7C 1C D8 40 */	cmplw r28, r27
/* 803BC408 003B8068  40 80 00 08 */	bge lbl_803BC410
/* 803BC40C 003B806C  3B A0 00 01 */	li r29, 1
lbl_803BC410:
/* 803BC410 003B8070  7C 1C D8 40 */	cmplw r28, r27
/* 803BC414 003B8074  40 82 00 20 */	bne lbl_803BC434
/* 803BC418 003B8078  48 01 D3 A1 */	bl func_803D97B8
/* 803BC41C 003B807C  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BC420 003B8080  41 82 00 14 */	beq lbl_803BC434
/* 803BC424 003B8084  3B A0 00 02 */	li r29, 2
/* 803BC428 003B8088  48 00 00 0C */	b lbl_803BC434
lbl_803BC42C:
/* 803BC42C 003B808C  40 80 00 08 */	bge lbl_803BC434
/* 803BC430 003B8090  3B A0 00 01 */	li r29, 1
lbl_803BC434:
/* 803BC434 003B8094  7F A3 EB 78 */	mr r3, r29
lbl_803BC438:
/* 803BC438 003B8098  39 61 00 70 */	addi r11, r1, 0x70
/* 803BC43C 003B809C  4B E0 AD 05 */	bl __restore_gpr
/* 803BC440 003B80A0  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803BC444 003B80A4  7C 08 03 A6 */	mtlr r0
/* 803BC448 003B80A8  38 21 00 70 */	addi r1, r1, 0x70
/* 803BC44C 003B80AC  4E 80 00 20 */	blr 

.global func_803BC450
func_803BC450:
/* 803BC450 003B80B0  54 80 0F 7A */	rlwinm r0, r4, 1, 0x1d, 0x1d
/* 803BC454 003B80B4  38 80 00 00 */	li r4, 0
/* 803BC458 003B80B8  7C 63 02 14 */	add r3, r3, r0
/* 803BC45C 003B80BC  90 83 00 A4 */	stw r4, 0xa4(r3)
/* 803BC460 003B80C0  4E 80 00 20 */	blr 

.global func_803BC464
func_803BC464:
/* 803BC464 003B80C4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BC468 003B80C8  7C 08 02 A6 */	mflr r0
/* 803BC46C 003B80CC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BC470 003B80D0  39 61 00 30 */	addi r11, r1, 0x30
/* 803BC474 003B80D4  4B E0 AC AD */	bl _savegpr_25
/* 803BC478 003B80D8  7C 99 23 78 */	mr r25, r4
/* 803BC47C 003B80DC  7C BA 2B 78 */	mr r26, r5
/* 803BC480 003B80E0  3B 60 00 00 */	li r27, 0
/* 803BC484 003B80E4  4B FF 03 BD */	bl func_803AC840
/* 803BC488 003B80E8  1C 9A 00 C0 */	mulli r4, r26, 0xc0
/* 803BC48C 003B80EC  57 40 0F 7A */	rlwinm r0, r26, 1, 0x1d, 0x1d
/* 803BC490 003B80F0  7C 7F 1B 78 */	mr r31, r3
/* 803BC494 003B80F4  7F B9 02 14 */	add r29, r25, r0
/* 803BC498 003B80F8  7F D9 22 14 */	add r30, r25, r4
/* 803BC49C 003B80FC  54 7C 06 7E */	clrlwi r28, r3, 0x19
lbl_803BC4A0:
/* 803BC4A0 003B8100  7F 63 DB 78 */	mr r3, r27
/* 803BC4A4 003B8104  48 02 14 7D */	bl func_803DD920
/* 803BC4A8 003B8108  88 19 31 08 */	lbz r0, 0x3108(r25)
/* 803BC4AC 003B810C  7C 00 18 39 */	and. r0, r0, r3
/* 803BC4B0 003B8110  40 82 00 3C */	bne lbl_803BC4EC
/* 803BC4B4 003B8114  7F 43 D3 78 */	mr r3, r26
/* 803BC4B8 003B8118  48 02 14 69 */	bl func_803DD920
/* 803BC4BC 003B811C  88 19 31 08 */	lbz r0, 0x3108(r25)
/* 803BC4C0 003B8120  7C 00 18 39 */	and. r0, r0, r3
/* 803BC4C4 003B8124  40 82 00 28 */	bne lbl_803BC4EC
/* 803BC4C8 003B8128  80 1E 2D 8C */	lwz r0, 0x2d8c(r30)
/* 803BC4CC 003B812C  2C 00 00 00 */	cmpwi r0, 0
/* 803BC4D0 003B8130  41 82 00 1C */	beq lbl_803BC4EC
/* 803BC4D4 003B8134  7C 79 DA 14 */	add r3, r25, r27
/* 803BC4D8 003B8138  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803BC4DC 003B813C  48 02 14 45 */	bl func_803DD920
/* 803BC4E0 003B8140  80 1D 00 A4 */	lwz r0, 0xa4(r29)
/* 803BC4E4 003B8144  7C 00 1B 78 */	or r0, r0, r3
/* 803BC4E8 003B8148  90 1D 00 A4 */	stw r0, 0xa4(r29)
lbl_803BC4EC:
/* 803BC4EC 003B814C  28 1C 00 4A */	cmplwi r28, 0x4a
/* 803BC4F0 003B8150  3B 7B 00 02 */	addi r27, r27, 2
/* 803BC4F4 003B8154  41 82 00 14 */	beq lbl_803BC508
/* 803BC4F8 003B8158  28 1F 00 4B */	cmplwi r31, 0x4b
/* 803BC4FC 003B815C  41 82 00 0C */	beq lbl_803BC508
/* 803BC500 003B8160  2C 1B 00 02 */	cmpwi r27, 2
/* 803BC504 003B8164  40 81 FF 9C */	ble lbl_803BC4A0
lbl_803BC508:
/* 803BC508 003B8168  39 61 00 30 */	addi r11, r1, 0x30
/* 803BC50C 003B816C  4B E0 AC 61 */	bl _restgpr_25
/* 803BC510 003B8170  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BC514 003B8174  7C 08 03 A6 */	mtlr r0
/* 803BC518 003B8178  38 21 00 30 */	addi r1, r1, 0x30
/* 803BC51C 003B817C  4E 80 00 20 */	blr 

.global func_803BC520
func_803BC520:
/* 803BC520 003B8180  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BC524 003B8184  7C 08 02 A6 */	mflr r0
/* 803BC528 003B8188  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BC52C 003B818C  39 61 00 20 */	addi r11, r1, 0x20
/* 803BC530 003B8190  4B E0 AC 01 */	bl _savegpr_29
/* 803BC534 003B8194  80 C4 21 70 */	lwz r6, 0x2170(r4)
/* 803BC538 003B8198  7C 9E 23 78 */	mr r30, r4
/* 803BC53C 003B819C  7C BD 2B 78 */	mr r29, r5
/* 803BC540 003B81A0  3B E0 00 00 */	li r31, 0
/* 803BC544 003B81A4  54 C0 00 85 */	rlwinm. r0, r6, 0, 2, 2
/* 803BC548 003B81A8  41 82 00 3C */	beq lbl_803BC584
/* 803BC54C 003B81AC  7F C3 F3 78 */	mr r3, r30
/* 803BC550 003B81B0  7C C5 33 78 */	mr r5, r6
/* 803BC554 003B81B4  38 80 00 01 */	li r4, 1
/* 803BC558 003B81B8  48 00 C9 1D */	bl func_803C8E74
/* 803BC55C 003B81BC  90 7D 00 00 */	stw r3, 0(r29)
/* 803BC560 003B81C0  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BC564 003B81C4  38 A0 00 00 */	li r5, 0
/* 803BC568 003B81C8  80 9E 21 6C */	lwz r4, 0x216c(r30)
/* 803BC56C 003B81CC  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BC570 003B81D0  90 BE 21 70 */	stw r5, 0x2170(r30)
/* 803BC574 003B81D4  7C 80 00 39 */	and. r0, r4, r0
/* 803BC578 003B81D8  40 82 00 8C */	bne lbl_803BC604
/* 803BC57C 003B81DC  3B E0 00 01 */	li r31, 1
/* 803BC580 003B81E0  48 00 00 84 */	b lbl_803BC604
lbl_803BC584:
/* 803BC584 003B81E4  2C 06 00 00 */	cmpwi r6, 0
/* 803BC588 003B81E8  41 82 00 7C */	beq lbl_803BC604
/* 803BC58C 003B81EC  7F C3 F3 78 */	mr r3, r30
/* 803BC590 003B81F0  7C C5 33 78 */	mr r5, r6
/* 803BC594 003B81F4  38 80 00 01 */	li r4, 1
/* 803BC598 003B81F8  48 00 C8 DD */	bl func_803C8E74
/* 803BC59C 003B81FC  90 7D 00 00 */	stw r3, 0(r29)
/* 803BC5A0 003B8200  80 1E 00 94 */	lwz r0, 0x94(r30)
/* 803BC5A4 003B8204  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BC5A8 003B8208  7C 7E 02 14 */	add r3, r30, r0
/* 803BC5AC 003B820C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC5B0 003B8210  2C 00 00 00 */	cmpwi r0, 0
/* 803BC5B4 003B8214  41 82 00 48 */	beq lbl_803BC5FC
/* 803BC5B8 003B8218  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BC5BC 003B821C  80 9E 21 6C */	lwz r4, 0x216c(r30)
/* 803BC5C0 003B8220  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BC5C4 003B8224  7C 80 00 39 */	and. r0, r4, r0
/* 803BC5C8 003B8228  41 82 00 30 */	beq lbl_803BC5F8
/* 803BC5CC 003B822C  80 7E 21 70 */	lwz r3, 0x2170(r30)
/* 803BC5D0 003B8230  54 60 02 11 */	rlwinm. r0, r3, 0, 8, 8
/* 803BC5D4 003B8234  41 82 00 10 */	beq lbl_803BC5E4
/* 803BC5D8 003B8238  54 80 03 5A */	rlwinm r0, r4, 0, 0xd, 0xd
/* 803BC5DC 003B823C  50 80 07 39 */	rlwimi. r0, r4, 0, 0x1c, 0x1c
/* 803BC5E0 003B8240  40 82 00 18 */	bne lbl_803BC5F8
lbl_803BC5E4:
/* 803BC5E4 003B8244  54 60 00 C7 */	rlwinm. r0, r3, 0, 3, 3
/* 803BC5E8 003B8248  41 82 00 14 */	beq lbl_803BC5FC
/* 803BC5EC 003B824C  54 80 03 DE */	rlwinm r0, r4, 0, 0xf, 0xf
/* 803BC5F0 003B8250  50 80 07 FF */	rlwimi. r0, r4, 0, 0x1f, 0x1f
/* 803BC5F4 003B8254  41 82 00 08 */	beq lbl_803BC5FC
lbl_803BC5F8:
/* 803BC5F8 003B8258  3B E0 00 01 */	li r31, 1
lbl_803BC5FC:
/* 803BC5FC 003B825C  38 00 00 00 */	li r0, 0
/* 803BC600 003B8260  90 1E 21 70 */	stw r0, 0x2170(r30)
lbl_803BC604:
/* 803BC604 003B8264  39 61 00 20 */	addi r11, r1, 0x20
/* 803BC608 003B8268  7F E3 FB 78 */	mr r3, r31
/* 803BC60C 003B826C  4B E0 AB 71 */	bl _restgpr_29
/* 803BC610 003B8270  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BC614 003B8274  7C 08 03 A6 */	mtlr r0
/* 803BC618 003B8278  38 21 00 20 */	addi r1, r1, 0x20
/* 803BC61C 003B827C  4E 80 00 20 */	blr 

.global func_803BC620
func_803BC620:
/* 803BC620 003B8280  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BC624 003B8284  7C 08 02 A6 */	mflr r0
/* 803BC628 003B8288  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BC62C 003B828C  39 61 00 20 */	addi r11, r1, 0x20
/* 803BC630 003B8290  4B E0 AA FD */	bl _savegpr_28
/* 803BC634 003B8294  80 C4 21 74 */	lwz r6, 0x2174(r4)
/* 803BC638 003B8298  7C 9D 23 78 */	mr r29, r4
/* 803BC63C 003B829C  7C BE 2B 78 */	mr r30, r5
/* 803BC640 003B82A0  3B E0 00 00 */	li r31, 0
/* 803BC644 003B82A4  54 C0 00 85 */	rlwinm. r0, r6, 0, 2, 2
/* 803BC648 003B82A8  41 82 00 3C */	beq lbl_803BC684
/* 803BC64C 003B82AC  7F A3 EB 78 */	mr r3, r29
/* 803BC650 003B82B0  7C C5 33 78 */	mr r5, r6
/* 803BC654 003B82B4  38 80 00 02 */	li r4, 2
/* 803BC658 003B82B8  48 00 C8 1D */	bl func_803C8E74
/* 803BC65C 003B82BC  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC660 003B82C0  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BC664 003B82C4  38 A0 00 00 */	li r5, 0
/* 803BC668 003B82C8  80 9D 21 6C */	lwz r4, 0x216c(r29)
/* 803BC66C 003B82CC  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BC670 003B82D0  90 BD 21 74 */	stw r5, 0x2174(r29)
/* 803BC674 003B82D4  7C 80 00 39 */	and. r0, r4, r0
/* 803BC678 003B82D8  40 82 02 D0 */	bne lbl_803BC948
/* 803BC67C 003B82DC  3B E0 00 01 */	li r31, 1
/* 803BC680 003B82E0  48 00 02 C8 */	b lbl_803BC948
lbl_803BC684:
/* 803BC684 003B82E4  54 C0 01 CF */	rlwinm. r0, r6, 0, 7, 7
/* 803BC688 003B82E8  41 82 00 50 */	beq lbl_803BC6D8
/* 803BC68C 003B82EC  7F A3 EB 78 */	mr r3, r29
/* 803BC690 003B82F0  7C C5 33 78 */	mr r5, r6
/* 803BC694 003B82F4  38 80 00 02 */	li r4, 2
/* 803BC698 003B82F8  48 00 C7 DD */	bl func_803C8E74
/* 803BC69C 003B82FC  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC6A0 003B8300  38 00 00 00 */	li r0, 0
/* 803BC6A4 003B8304  7F A3 EB 78 */	mr r3, r29
/* 803BC6A8 003B8308  90 1D 21 74 */	stw r0, 0x2174(r29)
/* 803BC6AC 003B830C  80 9D 00 94 */	lwz r4, 0x94(r29)
/* 803BC6B0 003B8310  48 00 93 95 */	bl func_803C5A44
/* 803BC6B4 003B8314  2C 03 00 00 */	cmpwi r3, 0
/* 803BC6B8 003B8318  40 82 02 90 */	bne lbl_803BC948
/* 803BC6BC 003B831C  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BC6C0 003B8320  80 9D 21 6C */	lwz r4, 0x216c(r29)
/* 803BC6C4 003B8324  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BC6C8 003B8328  7C 80 00 39 */	and. r0, r4, r0
/* 803BC6CC 003B832C  40 82 02 7C */	bne lbl_803BC948
/* 803BC6D0 003B8330  3B E0 00 01 */	li r31, 1
/* 803BC6D4 003B8334  48 00 02 74 */	b lbl_803BC948
lbl_803BC6D8:
/* 803BC6D8 003B8338  54 C0 01 8D */	rlwinm. r0, r6, 0, 6, 6
/* 803BC6DC 003B833C  41 82 00 64 */	beq lbl_803BC740
/* 803BC6E0 003B8340  7F A3 EB 78 */	mr r3, r29
/* 803BC6E4 003B8344  7C C5 33 78 */	mr r5, r6
/* 803BC6E8 003B8348  38 80 00 02 */	li r4, 2
/* 803BC6EC 003B834C  48 00 C7 89 */	bl func_803C8E74
/* 803BC6F0 003B8350  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC6F4 003B8354  38 00 00 00 */	li r0, 0
/* 803BC6F8 003B8358  80 9D 00 94 */	lwz r4, 0x94(r29)
/* 803BC6FC 003B835C  90 1D 21 74 */	stw r0, 0x2174(r29)
/* 803BC700 003B8360  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BC704 003B8364  7C 7D 02 14 */	add r3, r29, r0
/* 803BC708 003B8368  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC70C 003B836C  2C 00 00 00 */	cmpwi r0, 0
/* 803BC710 003B8370  41 82 02 38 */	beq lbl_803BC948
/* 803BC714 003B8374  7F A3 EB 78 */	mr r3, r29
/* 803BC718 003B8378  48 00 93 2D */	bl func_803C5A44
/* 803BC71C 003B837C  2C 03 00 00 */	cmpwi r3, 0
/* 803BC720 003B8380  40 82 02 28 */	bne lbl_803BC948
/* 803BC724 003B8384  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BC728 003B8388  80 9D 21 6C */	lwz r4, 0x216c(r29)
/* 803BC72C 003B838C  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BC730 003B8390  7C 80 00 39 */	and. r0, r4, r0
/* 803BC734 003B8394  40 82 02 14 */	bne lbl_803BC948
/* 803BC738 003B8398  3B E0 00 01 */	li r31, 1
/* 803BC73C 003B839C  48 00 02 0C */	b lbl_803BC948
lbl_803BC740:
/* 803BC740 003B83A0  54 C0 00 C7 */	rlwinm. r0, r6, 0, 3, 3
/* 803BC744 003B83A4  41 82 00 40 */	beq lbl_803BC784
/* 803BC748 003B83A8  7F A3 EB 78 */	mr r3, r29
/* 803BC74C 003B83AC  7C C5 33 78 */	mr r5, r6
/* 803BC750 003B83B0  38 80 00 02 */	li r4, 2
/* 803BC754 003B83B4  48 00 C7 21 */	bl func_803C8E74
/* 803BC758 003B83B8  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC75C 003B83BC  38 60 00 00 */	li r3, 0
/* 803BC760 003B83C0  80 1D 00 94 */	lwz r0, 0x94(r29)
/* 803BC764 003B83C4  90 7D 21 74 */	stw r3, 0x2174(r29)
/* 803BC768 003B83C8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BC76C 003B83CC  7C 7D 02 14 */	add r3, r29, r0
/* 803BC770 003B83D0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC774 003B83D4  2C 00 00 00 */	cmpwi r0, 0
/* 803BC778 003B83D8  41 82 01 D0 */	beq lbl_803BC948
/* 803BC77C 003B83DC  3B E0 00 01 */	li r31, 1
/* 803BC780 003B83E0  48 00 01 C8 */	b lbl_803BC948
lbl_803BC784:
/* 803BC784 003B83E4  54 C0 01 4B */	rlwinm. r0, r6, 0, 5, 5
/* 803BC788 003B83E8  41 82 00 B8 */	beq lbl_803BC840
/* 803BC78C 003B83EC  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803BC790 003B83F0  7F A3 EB 78 */	mr r3, r29
/* 803BC794 003B83F4  48 00 33 85 */	bl func_803BFB18
/* 803BC798 003B83F8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BC79C 003B83FC  28 00 00 20 */	cmplwi r0, 0x20
/* 803BC7A0 003B8400  40 82 00 1C */	bne lbl_803BC7BC
/* 803BC7A4 003B8404  80 1D 30 44 */	lwz r0, 0x3044(r29)
/* 803BC7A8 003B8408  54 00 20 36 */	slwi r0, r0, 4
/* 803BC7AC 003B840C  7C 7D 02 14 */	add r3, r29, r0
/* 803BC7B0 003B8410  88 03 03 E5 */	lbz r0, 0x3e5(r3)
/* 803BC7B4 003B8414  54 1C 0C 3C */	rlwinm r28, r0, 1, 0x10, 0x1e
/* 803BC7B8 003B8418  48 00 00 14 */	b lbl_803BC7CC
lbl_803BC7BC:
/* 803BC7BC 003B841C  80 1D 30 44 */	lwz r0, 0x3044(r29)
/* 803BC7C0 003B8420  54 00 20 36 */	slwi r0, r0, 4
/* 803BC7C4 003B8424  7C 7D 02 14 */	add r3, r29, r0
/* 803BC7C8 003B8428  8B 83 03 E5 */	lbz r28, 0x3e5(r3)
lbl_803BC7CC:
/* 803BC7CC 003B842C  48 01 CF ED */	bl func_803D97B8
/* 803BC7D0 003B8430  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803BC7D4 003B8434  38 60 00 64 */	li r3, 0x64
/* 803BC7D8 003B8438  7C 04 1B D6 */	divw r0, r4, r3
/* 803BC7DC 003B843C  7C 00 19 D6 */	mullw r0, r0, r3
/* 803BC7E0 003B8440  7C 00 20 50 */	subf r0, r0, r4
/* 803BC7E4 003B8444  7C 00 E0 00 */	cmpw r0, r28
/* 803BC7E8 003B8448  40 80 00 10 */	bge lbl_803BC7F8
/* 803BC7EC 003B844C  80 1D 21 3C */	lwz r0, 0x213c(r29)
/* 803BC7F0 003B8450  64 00 00 40 */	oris r0, r0, 0x40
/* 803BC7F4 003B8454  90 1D 21 3C */	stw r0, 0x213c(r29)
lbl_803BC7F8:
/* 803BC7F8 003B8458  80 BD 21 74 */	lwz r5, 0x2174(r29)
/* 803BC7FC 003B845C  7F A3 EB 78 */	mr r3, r29
/* 803BC800 003B8460  38 80 00 02 */	li r4, 2
/* 803BC804 003B8464  48 00 C6 71 */	bl func_803C8E74
/* 803BC808 003B8468  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC80C 003B846C  38 60 00 00 */	li r3, 0
/* 803BC810 003B8470  80 1D 00 94 */	lwz r0, 0x94(r29)
/* 803BC814 003B8474  90 7D 21 74 */	stw r3, 0x2174(r29)
/* 803BC818 003B8478  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BC81C 003B847C  7C 7D 02 14 */	add r3, r29, r0
/* 803BC820 003B8480  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC824 003B8484  2C 00 00 00 */	cmpwi r0, 0
/* 803BC828 003B8488  40 82 00 10 */	bne lbl_803BC838
/* 803BC82C 003B848C  80 1D 21 3C */	lwz r0, 0x213c(r29)
/* 803BC830 003B8490  54 00 02 90 */	rlwinm r0, r0, 0, 0xa, 8
/* 803BC834 003B8494  90 1D 21 3C */	stw r0, 0x213c(r29)
lbl_803BC838:
/* 803BC838 003B8498  3B E0 00 01 */	li r31, 1
/* 803BC83C 003B849C  48 00 01 0C */	b lbl_803BC948
lbl_803BC840:
/* 803BC840 003B84A0  2C 06 00 00 */	cmpwi r6, 0
/* 803BC844 003B84A4  41 82 00 C4 */	beq lbl_803BC908
/* 803BC848 003B84A8  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803BC84C 003B84AC  7F A3 EB 78 */	mr r3, r29
/* 803BC850 003B84B0  48 00 32 C9 */	bl func_803BFB18
/* 803BC854 003B84B4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BC858 003B84B8  28 00 00 20 */	cmplwi r0, 0x20
/* 803BC85C 003B84BC  40 82 00 1C */	bne lbl_803BC878
/* 803BC860 003B84C0  80 1D 30 44 */	lwz r0, 0x3044(r29)
/* 803BC864 003B84C4  54 00 20 36 */	slwi r0, r0, 4
/* 803BC868 003B84C8  7C 7D 02 14 */	add r3, r29, r0
/* 803BC86C 003B84CC  88 03 03 E5 */	lbz r0, 0x3e5(r3)
/* 803BC870 003B84D0  54 1C 0C 3C */	rlwinm r28, r0, 1, 0x10, 0x1e
/* 803BC874 003B84D4  48 00 00 14 */	b lbl_803BC888
lbl_803BC878:
/* 803BC878 003B84D8  80 1D 30 44 */	lwz r0, 0x3044(r29)
/* 803BC87C 003B84DC  54 00 20 36 */	slwi r0, r0, 4
/* 803BC880 003B84E0  7C 7D 02 14 */	add r3, r29, r0
/* 803BC884 003B84E4  8B 83 03 E5 */	lbz r28, 0x3e5(r3)
lbl_803BC888:
/* 803BC888 003B84E8  48 01 CF 31 */	bl func_803D97B8
/* 803BC88C 003B84EC  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803BC890 003B84F0  38 60 00 64 */	li r3, 0x64
/* 803BC894 003B84F4  7C 04 1B D6 */	divw r0, r4, r3
/* 803BC898 003B84F8  7C 00 19 D6 */	mullw r0, r0, r3
/* 803BC89C 003B84FC  7C 00 20 50 */	subf r0, r0, r4
/* 803BC8A0 003B8500  7C 00 E0 00 */	cmpw r0, r28
/* 803BC8A4 003B8504  40 80 00 A4 */	bge lbl_803BC948
/* 803BC8A8 003B8508  80 BD 21 74 */	lwz r5, 0x2174(r29)
/* 803BC8AC 003B850C  7F A3 EB 78 */	mr r3, r29
/* 803BC8B0 003B8510  38 80 00 02 */	li r4, 2
/* 803BC8B4 003B8514  48 00 C5 C1 */	bl func_803C8E74
/* 803BC8B8 003B8518  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC8BC 003B851C  38 00 00 00 */	li r0, 0
/* 803BC8C0 003B8520  80 9D 00 94 */	lwz r4, 0x94(r29)
/* 803BC8C4 003B8524  90 1D 21 74 */	stw r0, 0x2174(r29)
/* 803BC8C8 003B8528  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BC8CC 003B852C  7C 7D 02 14 */	add r3, r29, r0
/* 803BC8D0 003B8530  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC8D4 003B8534  2C 00 00 00 */	cmpwi r0, 0
/* 803BC8D8 003B8538  41 82 00 70 */	beq lbl_803BC948
/* 803BC8DC 003B853C  7F A3 EB 78 */	mr r3, r29
/* 803BC8E0 003B8540  48 00 91 65 */	bl func_803C5A44
/* 803BC8E4 003B8544  2C 03 00 00 */	cmpwi r3, 0
/* 803BC8E8 003B8548  40 82 00 60 */	bne lbl_803BC948
/* 803BC8EC 003B854C  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BC8F0 003B8550  80 9D 21 6C */	lwz r4, 0x216c(r29)
/* 803BC8F4 003B8554  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BC8F8 003B8558  7C 80 00 39 */	and. r0, r4, r0
/* 803BC8FC 003B855C  40 82 00 4C */	bne lbl_803BC948
/* 803BC900 003B8560  3B E0 00 01 */	li r31, 1
/* 803BC904 003B8564  48 00 00 44 */	b lbl_803BC948
lbl_803BC908:
/* 803BC908 003B8568  80 A4 21 78 */	lwz r5, 0x2178(r4)
/* 803BC90C 003B856C  2C 05 00 00 */	cmpwi r5, 0
/* 803BC910 003B8570  41 82 00 38 */	beq lbl_803BC948
/* 803BC914 003B8574  7F A3 EB 78 */	mr r3, r29
/* 803BC918 003B8578  38 80 00 03 */	li r4, 3
/* 803BC91C 003B857C  48 00 C5 59 */	bl func_803C8E74
/* 803BC920 003B8580  90 7E 00 00 */	stw r3, 0(r30)
/* 803BC924 003B8584  38 60 00 00 */	li r3, 0
/* 803BC928 003B8588  80 1D 00 94 */	lwz r0, 0x94(r29)
/* 803BC92C 003B858C  90 7D 21 78 */	stw r3, 0x2178(r29)
/* 803BC930 003B8590  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BC934 003B8594  7C 7D 02 14 */	add r3, r29, r0
/* 803BC938 003B8598  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC93C 003B859C  2C 00 00 00 */	cmpwi r0, 0
/* 803BC940 003B85A0  41 82 00 08 */	beq lbl_803BC948
/* 803BC944 003B85A4  3B E0 00 01 */	li r31, 1
lbl_803BC948:
/* 803BC948 003B85A8  39 61 00 20 */	addi r11, r1, 0x20
/* 803BC94C 003B85AC  7F E3 FB 78 */	mr r3, r31
/* 803BC950 003B85B0  4B E0 A8 29 */	bl _restgpr_28
/* 803BC954 003B85B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BC958 003B85B8  7C 08 03 A6 */	mtlr r0
/* 803BC95C 003B85BC  38 21 00 20 */	addi r1, r1, 0x20
/* 803BC960 003B85C0  4E 80 00 20 */	blr 

.global func_803BC964
func_803BC964:
/* 803BC964 003B85C4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BC968 003B85C8  7C 08 02 A6 */	mflr r0
/* 803BC96C 003B85CC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BC970 003B85D0  39 61 00 30 */	addi r11, r1, 0x30
/* 803BC974 003B85D4  4B E0 A7 AD */	bl _savegpr_25
/* 803BC978 003B85D8  2C 06 00 00 */	cmpwi r6, 0
/* 803BC97C 003B85DC  7C 7B 1B 78 */	mr r27, r3
/* 803BC980 003B85E0  7C 9C 23 78 */	mr r28, r4
/* 803BC984 003B85E4  7C BD 2B 78 */	mr r29, r5
/* 803BC988 003B85E8  3B E0 00 FF */	li r31, 0xff
/* 803BC98C 003B85EC  41 82 00 10 */	beq lbl_803BC99C
/* 803BC990 003B85F0  54 C0 23 36 */	rlwinm r0, r6, 4, 0xc, 0x1b
/* 803BC994 003B85F4  7C 64 02 14 */	add r3, r4, r0
/* 803BC998 003B85F8  A1 03 03 E6 */	lhz r8, 0x3e6(r3)
lbl_803BC99C:
/* 803BC99C 003B85FC  2C 08 00 04 */	cmpwi r8, 4
/* 803BC9A0 003B8600  40 82 00 C0 */	bne lbl_803BCA60
/* 803BC9A4 003B8604  7F 63 DB 78 */	mr r3, r27
/* 803BC9A8 003B8608  4B FE FE B9 */	bl func_803AC860
/* 803BC9AC 003B860C  7C 7E 1B 78 */	mr r30, r3
/* 803BC9B0 003B8610  7F 63 DB 78 */	mr r3, r27
/* 803BC9B4 003B8614  7F A4 EB 78 */	mr r4, r29
/* 803BC9B8 003B8618  4B FE FE 99 */	bl cTeam_GetPlayer
/* 803BC9BC 003B861C  4B FE EB 59 */	bl func_803AB514
/* 803BC9C0 003B8620  38 00 00 00 */	li r0, 0
/* 803BC9C4 003B8624  54 7D 07 FE */	clrlwi r29, r3, 0x1f
/* 803BC9C8 003B8628  98 1C 21 7E */	stb r0, 0x217e(r28)
/* 803BC9CC 003B862C  48 00 00 70 */	b lbl_803BCA3C
lbl_803BC9D0:
/* 803BC9D0 003B8630  7C 7C 02 14 */	add r3, r28, r0
/* 803BC9D4 003B8634  8B 23 21 EC */	lbz r25, 0x21ec(r3)
/* 803BC9D8 003B8638  1C 19 00 C0 */	mulli r0, r25, 0xc0
/* 803BC9DC 003B863C  7C 7C 02 14 */	add r3, r28, r0
/* 803BC9E0 003B8640  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BC9E4 003B8644  2C 00 00 00 */	cmpwi r0, 0
/* 803BC9E8 003B8648  41 82 00 48 */	beq lbl_803BCA30
/* 803BC9EC 003B864C  7F 63 DB 78 */	mr r3, r27
/* 803BC9F0 003B8650  7F 24 CB 78 */	mr r4, r25
/* 803BC9F4 003B8654  4B FE FE 5D */	bl cTeam_GetPlayer
/* 803BC9F8 003B8658  2C 1D 00 00 */	cmpwi r29, 0
/* 803BC9FC 003B865C  7C 7A 1B 78 */	mr r26, r3
/* 803BCA00 003B8660  41 82 00 10 */	beq lbl_803BCA10
/* 803BCA04 003B8664  4B FE EB 11 */	bl func_803AB514
/* 803BCA08 003B8668  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BCA0C 003B866C  41 82 00 1C */	beq lbl_803BCA28
lbl_803BCA10:
/* 803BCA10 003B8670  2C 1D 00 00 */	cmpwi r29, 0
/* 803BCA14 003B8674  40 82 00 1C */	bne lbl_803BCA30
/* 803BCA18 003B8678  7F 43 D3 78 */	mr r3, r26
/* 803BCA1C 003B867C  4B FE EA F9 */	bl func_803AB514
/* 803BCA20 003B8680  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BCA24 003B8684  41 82 00 0C */	beq lbl_803BCA30
lbl_803BCA28:
/* 803BCA28 003B8688  7F 3F CB 78 */	mr r31, r25
/* 803BCA2C 003B868C  48 00 00 1C */	b lbl_803BCA48
lbl_803BCA30:
/* 803BCA30 003B8690  88 7C 21 7E */	lbz r3, 0x217e(r28)
/* 803BCA34 003B8694  38 03 00 01 */	addi r0, r3, 1
/* 803BCA38 003B8698  98 1C 21 7E */	stb r0, 0x217e(r28)
lbl_803BCA3C:
/* 803BCA3C 003B869C  88 1C 21 7E */	lbz r0, 0x217e(r28)
/* 803BCA40 003B86A0  7C 00 F0 00 */	cmpw r0, r30
/* 803BCA44 003B86A4  41 80 FF 8C */	blt lbl_803BC9D0
lbl_803BCA48:
/* 803BCA48 003B86A8  88 7C 21 7E */	lbz r3, 0x217e(r28)
/* 803BCA4C 003B86AC  7C 03 F0 00 */	cmpw r3, r30
/* 803BCA50 003B86B0  41 82 03 AC */	beq lbl_803BCDFC
/* 803BCA54 003B86B4  38 03 00 01 */	addi r0, r3, 1
/* 803BCA58 003B86B8  98 1C 21 7E */	stb r0, 0x217e(r28)
/* 803BCA5C 003B86BC  48 00 03 A0 */	b lbl_803BCDFC
lbl_803BCA60:
/* 803BCA60 003B86C0  2C 08 00 08 */	cmpwi r8, 8
/* 803BCA64 003B86C4  40 82 00 74 */	bne lbl_803BCAD8
/* 803BCA68 003B86C8  7F 63 DB 78 */	mr r3, r27
/* 803BCA6C 003B86CC  4B FE FD F5 */	bl func_803AC860
/* 803BCA70 003B86D0  38 00 00 00 */	li r0, 0
/* 803BCA74 003B86D4  98 1C 21 7E */	stb r0, 0x217e(r28)
/* 803BCA78 003B86D8  48 00 00 3C */	b lbl_803BCAB4
lbl_803BCA7C:
/* 803BCA7C 003B86DC  7C 9C 2A 14 */	add r4, r28, r5
/* 803BCA80 003B86E0  88 C4 21 EC */	lbz r6, 0x21ec(r4)
/* 803BCA84 003B86E4  1C 06 00 C0 */	mulli r0, r6, 0xc0
/* 803BCA88 003B86E8  7C 9C 02 14 */	add r4, r28, r0
/* 803BCA8C 003B86EC  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803BCA90 003B86F0  2C 00 00 00 */	cmpwi r0, 0
/* 803BCA94 003B86F4  41 82 00 14 */	beq lbl_803BCAA8
/* 803BCA98 003B86F8  7C 06 E8 00 */	cmpw r6, r29
/* 803BCA9C 003B86FC  41 82 00 0C */	beq lbl_803BCAA8
/* 803BCAA0 003B8700  7C DF 33 78 */	mr r31, r6
/* 803BCAA4 003B8704  48 00 00 1C */	b lbl_803BCAC0
lbl_803BCAA8:
/* 803BCAA8 003B8708  88 9C 21 7E */	lbz r4, 0x217e(r28)
/* 803BCAAC 003B870C  38 04 00 01 */	addi r0, r4, 1
/* 803BCAB0 003B8710  98 1C 21 7E */	stb r0, 0x217e(r28)
lbl_803BCAB4:
/* 803BCAB4 003B8714  88 BC 21 7E */	lbz r5, 0x217e(r28)
/* 803BCAB8 003B8718  7C 05 18 00 */	cmpw r5, r3
/* 803BCABC 003B871C  41 80 FF C0 */	blt lbl_803BCA7C
lbl_803BCAC0:
/* 803BCAC0 003B8720  7C 05 18 00 */	cmpw r5, r3
/* 803BCAC4 003B8724  41 82 03 38 */	beq lbl_803BCDFC
/* 803BCAC8 003B8728  88 7C 21 7E */	lbz r3, 0x217e(r28)
/* 803BCACC 003B872C  38 03 00 01 */	addi r0, r3, 1
/* 803BCAD0 003B8730  98 1C 21 7E */	stb r0, 0x217e(r28)
/* 803BCAD4 003B8734  48 00 03 28 */	b lbl_803BCDFC
lbl_803BCAD8:
/* 803BCAD8 003B8738  2C 08 02 00 */	cmpwi r8, 0x200
/* 803BCADC 003B873C  40 82 00 6C */	bne lbl_803BCB48
/* 803BCAE0 003B8740  2C 07 00 01 */	cmpwi r7, 1
/* 803BCAE4 003B8744  40 82 00 64 */	bne lbl_803BCB48
/* 803BCAE8 003B8748  7F 63 DB 78 */	mr r3, r27
/* 803BCAEC 003B874C  4B FE FD 55 */	bl func_803AC840
/* 803BCAF0 003B8750  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BCAF4 003B8754  41 82 00 4C */	beq lbl_803BCB40
/* 803BCAF8 003B8758  48 01 CC C1 */	bl func_803D97B8
/* 803BCAFC 003B875C  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803BCB00 003B8760  54 60 07 FE */	clrlwi r0, r3, 0x1f
/* 803BCB04 003B8764  54 83 0F FE */	srwi r3, r4, 0x1f
/* 803BCB08 003B8768  7C 00 1A 78 */	xor r0, r0, r3
/* 803BCB0C 003B876C  7C 03 00 51 */	subf. r0, r3, r0
/* 803BCB10 003B8770  40 82 00 30 */	bne lbl_803BCB40
/* 803BCB14 003B8774  7F 63 DB 78 */	mr r3, r27
/* 803BCB18 003B8778  7F A4 EB 78 */	mr r4, r29
/* 803BCB1C 003B877C  4B FF 02 1D */	bl func_803ACD38
/* 803BCB20 003B8780  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803BCB24 003B8784  7C 7F 1B 78 */	mr r31, r3
/* 803BCB28 003B8788  7C 7C 02 14 */	add r3, r28, r0
/* 803BCB2C 003B878C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCB30 003B8790  2C 00 00 00 */	cmpwi r0, 0
/* 803BCB34 003B8794  40 82 02 C8 */	bne lbl_803BCDFC
/* 803BCB38 003B8798  7F BF EB 78 */	mr r31, r29
/* 803BCB3C 003B879C  48 00 02 C0 */	b lbl_803BCDFC
lbl_803BCB40:
/* 803BCB40 003B87A0  7F BF EB 78 */	mr r31, r29
/* 803BCB44 003B87A4  48 00 02 B8 */	b lbl_803BCDFC
lbl_803BCB48:
/* 803BCB48 003B87A8  2C 08 04 00 */	cmpwi r8, 0x400
/* 803BCB4C 003B87AC  40 82 00 24 */	bne lbl_803BCB70
/* 803BCB50 003B87B0  2C 07 00 01 */	cmpwi r7, 1
/* 803BCB54 003B87B4  40 82 00 1C */	bne lbl_803BCB70
/* 803BCB58 003B87B8  7F 63 DB 78 */	mr r3, r27
/* 803BCB5C 003B87BC  7F 84 E3 78 */	mr r4, r28
/* 803BCB60 003B87C0  7F A5 EB 78 */	mr r5, r29
/* 803BCB64 003B87C4  48 00 4F E9 */	bl func_803C1B4C
/* 803BCB68 003B87C8  7C 7F 1B 78 */	mr r31, r3
/* 803BCB6C 003B87CC  48 00 02 90 */	b lbl_803BCDFC
lbl_803BCB70:
/* 803BCB70 003B87D0  2C 08 00 80 */	cmpwi r8, 0x80
/* 803BCB74 003B87D4  40 82 00 1C */	bne lbl_803BCB90
/* 803BCB78 003B87D8  7F 63 DB 78 */	mr r3, r27
/* 803BCB7C 003B87DC  7F 84 E3 78 */	mr r4, r28
/* 803BCB80 003B87E0  7F A5 EB 78 */	mr r5, r29
/* 803BCB84 003B87E4  48 00 4F C9 */	bl func_803C1B4C
/* 803BCB88 003B87E8  7C 7F 1B 78 */	mr r31, r3
/* 803BCB8C 003B87EC  48 00 02 70 */	b lbl_803BCDFC
lbl_803BCB90:
/* 803BCB90 003B87F0  2C 08 00 10 */	cmpwi r8, 0x10
/* 803BCB94 003B87F4  41 82 00 1C */	beq lbl_803BCBB0
/* 803BCB98 003B87F8  2C 08 00 20 */	cmpwi r8, 0x20
/* 803BCB9C 003B87FC  41 82 00 14 */	beq lbl_803BCBB0
/* 803BCBA0 003B8800  2C 08 00 01 */	cmpwi r8, 1
/* 803BCBA4 003B8804  41 82 00 0C */	beq lbl_803BCBB0
/* 803BCBA8 003B8808  2C 08 00 40 */	cmpwi r8, 0x40
/* 803BCBAC 003B880C  40 82 00 0C */	bne lbl_803BCBB8
lbl_803BCBB0:
/* 803BCBB0 003B8810  7F BF EB 78 */	mr r31, r29
/* 803BCBB4 003B8814  48 00 02 48 */	b lbl_803BCDFC
lbl_803BCBB8:
/* 803BCBB8 003B8818  2C 08 01 00 */	cmpwi r8, 0x100
/* 803BCBBC 003B881C  40 82 00 30 */	bne lbl_803BCBEC
/* 803BCBC0 003B8820  7F 63 DB 78 */	mr r3, r27
/* 803BCBC4 003B8824  4B FE FC 7D */	bl func_803AC840
/* 803BCBC8 003B8828  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BCBCC 003B882C  41 82 00 18 */	beq lbl_803BCBE4
/* 803BCBD0 003B8830  7F 63 DB 78 */	mr r3, r27
/* 803BCBD4 003B8834  7F A4 EB 78 */	mr r4, r29
/* 803BCBD8 003B8838  4B FF 01 61 */	bl func_803ACD38
/* 803BCBDC 003B883C  7C 7F 1B 78 */	mr r31, r3
/* 803BCBE0 003B8840  48 00 02 1C */	b lbl_803BCDFC
lbl_803BCBE4:
/* 803BCBE4 003B8844  7F BF EB 78 */	mr r31, r29
/* 803BCBE8 003B8848  48 00 02 14 */	b lbl_803BCDFC
lbl_803BCBEC:
/* 803BCBEC 003B884C  2C 08 02 00 */	cmpwi r8, 0x200
/* 803BCBF0 003B8850  40 82 00 44 */	bne lbl_803BCC34
/* 803BCBF4 003B8854  7F 63 DB 78 */	mr r3, r27
/* 803BCBF8 003B8858  4B FE FC 49 */	bl func_803AC840
/* 803BCBFC 003B885C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BCC00 003B8860  41 82 00 2C */	beq lbl_803BCC2C
/* 803BCC04 003B8864  57 A0 20 36 */	slwi r0, r29, 4
/* 803BCC08 003B8868  7C 7C 02 14 */	add r3, r28, r0
/* 803BCC0C 003B886C  83 E3 21 AC */	lwz r31, 0x21ac(r3)
/* 803BCC10 003B8870  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803BCC14 003B8874  7C 7C 02 14 */	add r3, r28, r0
/* 803BCC18 003B8878  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCC1C 003B887C  2C 00 00 00 */	cmpwi r0, 0
/* 803BCC20 003B8880  40 82 01 DC */	bne lbl_803BCDFC
/* 803BCC24 003B8884  7F BF EB 78 */	mr r31, r29
/* 803BCC28 003B8888  48 00 01 D4 */	b lbl_803BCDFC
lbl_803BCC2C:
/* 803BCC2C 003B888C  7F BF EB 78 */	mr r31, r29
/* 803BCC30 003B8890  48 00 01 CC */	b lbl_803BCDFC
lbl_803BCC34:
/* 803BCC34 003B8894  2C 08 00 02 */	cmpwi r8, 2
/* 803BCC38 003B8898  41 82 00 0C */	beq lbl_803BCC44
/* 803BCC3C 003B889C  2C 07 00 01 */	cmpwi r7, 1
/* 803BCC40 003B88A0  40 82 01 1C */	bne lbl_803BCD5C
lbl_803BCC44:
/* 803BCC44 003B88A4  7F 63 DB 78 */	mr r3, r27
/* 803BCC48 003B88A8  4B FE FB F9 */	bl func_803AC840
/* 803BCC4C 003B88AC  7C 7E 1B 78 */	mr r30, r3
/* 803BCC50 003B88B0  7F 63 DB 78 */	mr r3, r27
/* 803BCC54 003B88B4  7F A4 EB 78 */	mr r4, r29
/* 803BCC58 003B88B8  4B FF 00 8D */	bl func_803ACCE4
/* 803BCC5C 003B88BC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BCC60 003B88C0  7F 63 DB 78 */	mr r3, r27
/* 803BCC64 003B88C4  7F A4 EB 78 */	mr r4, r29
/* 803BCC68 003B88C8  38 A0 00 00 */	li r5, 0
/* 803BCC6C 003B88CC  68 19 00 01 */	xori r25, r0, 1
/* 803BCC70 003B88D0  4B FF 01 69 */	bl func_803ACDD8
/* 803BCC74 003B88D4  90 61 00 08 */	stw r3, 8(r1)
/* 803BCC78 003B88D8  7F 63 DB 78 */	mr r3, r27
/* 803BCC7C 003B88DC  7F A4 EB 78 */	mr r4, r29
/* 803BCC80 003B88E0  38 A0 00 02 */	li r5, 2
/* 803BCC84 003B88E4  4B FF 01 55 */	bl func_803ACDD8
/* 803BCC88 003B88E8  57 C0 07 BD */	rlwinm. r0, r30, 0, 0x1e, 0x1e
/* 803BCC8C 003B88EC  90 61 00 0C */	stw r3, 0xc(r1)
/* 803BCC90 003B88F0  41 82 00 AC */	beq lbl_803BCD3C
/* 803BCC94 003B88F4  57 20 18 38 */	slwi r0, r25, 3
/* 803BCC98 003B88F8  7C 7C 02 14 */	add r3, r28, r0
/* 803BCC9C 003B88FC  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803BCCA0 003B8900  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803BCCA4 003B8904  41 82 00 24 */	beq lbl_803BCCC8
/* 803BCCA8 003B8908  54 64 BF BE */	rlwinm r4, r3, 0x17, 0x1e, 0x1f
/* 803BCCAC 003B890C  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BCCB0 003B8910  7C 7C 02 14 */	add r3, r28, r0
/* 803BCCB4 003B8914  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCCB8 003B8918  2C 00 00 00 */	cmpwi r0, 0
/* 803BCCBC 003B891C  41 82 00 0C */	beq lbl_803BCCC8
/* 803BCCC0 003B8920  7C 9F 23 78 */	mr r31, r4
/* 803BCCC4 003B8924  48 00 01 38 */	b lbl_803BCDFC
lbl_803BCCC8:
/* 803BCCC8 003B8928  80 01 00 08 */	lwz r0, 8(r1)
/* 803BCCCC 003B892C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BCCD0 003B8930  7C 7C 02 14 */	add r3, r28, r0
/* 803BCCD4 003B8934  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803BCCD8 003B8938  2C 04 00 00 */	cmpwi r4, 0
/* 803BCCDC 003B893C  41 82 00 30 */	beq lbl_803BCD0C
/* 803BCCE0 003B8940  80 01 00 0C */	lwz r0, 0xc(r1)
/* 803BCCE4 003B8944  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BCCE8 003B8948  7C 7C 02 14 */	add r3, r28, r0
/* 803BCCEC 003B894C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCCF0 003B8950  2C 00 00 00 */	cmpwi r0, 0
/* 803BCCF4 003B8954  41 82 00 18 */	beq lbl_803BCD0C
/* 803BCCF8 003B8958  48 01 CA C1 */	bl func_803D97B8
/* 803BCCFC 003B895C  54 60 17 7A */	rlwinm r0, r3, 2, 0x1d, 0x1d
/* 803BCD00 003B8960  38 61 00 08 */	addi r3, r1, 8
/* 803BCD04 003B8964  7F E3 00 2E */	lwzx r31, r3, r0
/* 803BCD08 003B8968  48 00 00 F4 */	b lbl_803BCDFC
lbl_803BCD0C:
/* 803BCD0C 003B896C  2C 04 00 00 */	cmpwi r4, 0
/* 803BCD10 003B8970  41 82 00 0C */	beq lbl_803BCD1C
/* 803BCD14 003B8974  83 E1 00 08 */	lwz r31, 8(r1)
/* 803BCD18 003B8978  48 00 00 E4 */	b lbl_803BCDFC
lbl_803BCD1C:
/* 803BCD1C 003B897C  80 81 00 0C */	lwz r4, 0xc(r1)
/* 803BCD20 003B8980  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BCD24 003B8984  7C 7C 02 14 */	add r3, r28, r0
/* 803BCD28 003B8988  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCD2C 003B898C  2C 00 00 00 */	cmpwi r0, 0
/* 803BCD30 003B8990  41 82 00 CC */	beq lbl_803BCDFC
/* 803BCD34 003B8994  7C 9F 23 78 */	mr r31, r4
/* 803BCD38 003B8998  48 00 00 C4 */	b lbl_803BCDFC
lbl_803BCD3C:
/* 803BCD3C 003B899C  6B A4 00 01 */	xori r4, r29, 1
/* 803BCD40 003B89A0  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BCD44 003B89A4  7C 7C 02 14 */	add r3, r28, r0
/* 803BCD48 003B89A8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCD4C 003B89AC  2C 00 00 00 */	cmpwi r0, 0
/* 803BCD50 003B89B0  41 82 00 AC */	beq lbl_803BCDFC
/* 803BCD54 003B89B4  7C 9F 23 78 */	mr r31, r4
/* 803BCD58 003B89B8  48 00 00 A4 */	b lbl_803BCDFC
lbl_803BCD5C:
/* 803BCD5C 003B89BC  7F 63 DB 78 */	mr r3, r27
/* 803BCD60 003B89C0  7F A4 EB 78 */	mr r4, r29
/* 803BCD64 003B89C4  4B FE FF 81 */	bl func_803ACCE4
/* 803BCD68 003B89C8  57 A0 20 36 */	slwi r0, r29, 4
/* 803BCD6C 003B89CC  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803BCD70 003B89D0  7C 9C 02 14 */	add r4, r28, r0
/* 803BCD74 003B89D4  7F 63 DB 78 */	mr r3, r27
/* 803BCD78 003B89D8  83 C4 21 AC */	lwz r30, 0x21ac(r4)
/* 803BCD7C 003B89DC  68 B9 00 01 */	xori r25, r5, 1
/* 803BCD80 003B89E0  4B FE FA E1 */	bl func_803AC860
/* 803BCD84 003B89E4  57 20 18 38 */	slwi r0, r25, 3
/* 803BCD88 003B89E8  7C 7C 02 14 */	add r3, r28, r0
/* 803BCD8C 003B89EC  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803BCD90 003B89F0  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803BCD94 003B89F4  41 82 00 24 */	beq lbl_803BCDB8
/* 803BCD98 003B89F8  54 64 BF BE */	rlwinm r4, r3, 0x17, 0x1e, 0x1f
/* 803BCD9C 003B89FC  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BCDA0 003B8A00  7C 7C 02 14 */	add r3, r28, r0
/* 803BCDA4 003B8A04  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCDA8 003B8A08  2C 00 00 00 */	cmpwi r0, 0
/* 803BCDAC 003B8A0C  41 82 00 0C */	beq lbl_803BCDB8
/* 803BCDB0 003B8A10  7C 9F 23 78 */	mr r31, r4
/* 803BCDB4 003B8A14  48 00 00 48 */	b lbl_803BCDFC
lbl_803BCDB8:
/* 803BCDB8 003B8A18  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803BCDBC 003B8A1C  7C 7C 02 14 */	add r3, r28, r0
/* 803BCDC0 003B8A20  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCDC4 003B8A24  2C 00 00 00 */	cmpwi r0, 0
/* 803BCDC8 003B8A28  41 82 00 0C */	beq lbl_803BCDD4
/* 803BCDCC 003B8A2C  7F DF F3 78 */	mr r31, r30
/* 803BCDD0 003B8A30  48 00 00 2C */	b lbl_803BCDFC
lbl_803BCDD4:
/* 803BCDD4 003B8A34  7F 63 DB 78 */	mr r3, r27
/* 803BCDD8 003B8A38  7F 84 E3 78 */	mr r4, r28
/* 803BCDDC 003B8A3C  7F A5 EB 78 */	mr r5, r29
/* 803BCDE0 003B8A40  48 00 4D 6D */	bl func_803C1B4C
/* 803BCDE4 003B8A44  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803BCDE8 003B8A48  7C 9C 02 14 */	add r4, r28, r0
/* 803BCDEC 003B8A4C  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803BCDF0 003B8A50  2C 00 00 00 */	cmpwi r0, 0
/* 803BCDF4 003B8A54  41 82 00 08 */	beq lbl_803BCDFC
/* 803BCDF8 003B8A58  7C 7F 1B 78 */	mr r31, r3
lbl_803BCDFC:
/* 803BCDFC 003B8A5C  39 61 00 30 */	addi r11, r1, 0x30
/* 803BCE00 003B8A60  7F E3 FB 78 */	mr r3, r31
/* 803BCE04 003B8A64  4B E0 A3 69 */	bl _restgpr_25
/* 803BCE08 003B8A68  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BCE0C 003B8A6C  7C 08 03 A6 */	mtlr r0
/* 803BCE10 003B8A70  38 21 00 30 */	addi r1, r1, 0x30
/* 803BCE14 003B8A74  4E 80 00 20 */	blr 

.global func_803BCE18
func_803BCE18:
/* 803BCE18 003B8A78  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BCE1C 003B8A7C  7C 08 02 A6 */	mflr r0
/* 803BCE20 003B8A80  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BCE24 003B8A84  39 61 00 20 */	addi r11, r1, 0x20
/* 803BCE28 003B8A88  4B E0 A2 FD */	bl _savegpr_26
/* 803BCE2C 003B8A8C  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803BCE30 003B8A90  7C 7A 1B 78 */	mr r26, r3
/* 803BCE34 003B8A94  7C 9B 23 78 */	mr r27, r4
/* 803BCE38 003B8A98  7C BC 2B 78 */	mr r28, r5
/* 803BCE3C 003B8A9C  2C 00 00 FF */	cmpwi r0, 0xff
/* 803BCE40 003B8AA0  7C DE 33 78 */	mr r30, r6
/* 803BCE44 003B8AA4  41 82 04 1C */	beq lbl_803BD260
/* 803BCE48 003B8AA8  7F 63 DB 78 */	mr r3, r27
/* 803BCE4C 003B8AAC  7F 84 E3 78 */	mr r4, r28
/* 803BCE50 003B8AB0  48 00 2C C9 */	bl func_803BFB18
/* 803BCE54 003B8AB4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BCE58 003B8AB8  28 00 00 60 */	cmplwi r0, 0x60
/* 803BCE5C 003B8ABC  41 82 04 04 */	beq lbl_803BD260
/* 803BCE60 003B8AC0  7F 63 DB 78 */	mr r3, r27
/* 803BCE64 003B8AC4  7F 84 E3 78 */	mr r4, r28
/* 803BCE68 003B8AC8  48 00 2C B1 */	bl func_803BFB18
/* 803BCE6C 003B8ACC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BCE70 003B8AD0  28 00 00 68 */	cmplwi r0, 0x68
/* 803BCE74 003B8AD4  40 82 00 08 */	bne lbl_803BCE7C
/* 803BCE78 003B8AD8  48 00 03 E8 */	b lbl_803BD260
lbl_803BCE7C:
/* 803BCE7C 003B8ADC  7F 43 D3 78 */	mr r3, r26
/* 803BCE80 003B8AE0  7F 84 E3 78 */	mr r4, r28
/* 803BCE84 003B8AE4  4B FE FE 61 */	bl func_803ACCE4
/* 803BCE88 003B8AE8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BCE8C 003B8AEC  68 00 00 01 */	xori r0, r0, 1
/* 803BCE90 003B8AF0  54 00 18 38 */	slwi r0, r0, 3
/* 803BCE94 003B8AF4  7C 7B 02 14 */	add r3, r27, r0
/* 803BCE98 003B8AF8  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803BCE9C 003B8AFC  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803BCEA0 003B8B00  41 82 00 1C */	beq lbl_803BCEBC
/* 803BCEA4 003B8B04  54 60 BF BE */	rlwinm r0, r3, 0x17, 0x1e, 0x1f
/* 803BCEA8 003B8B08  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BCEAC 003B8B0C  7C 7B 02 14 */	add r3, r27, r0
/* 803BCEB0 003B8B10  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BCEB4 003B8B14  2C 00 00 00 */	cmpwi r0, 0
/* 803BCEB8 003B8B18  40 82 03 A8 */	bne lbl_803BD260
lbl_803BCEBC:
/* 803BCEBC 003B8B1C  2C 1E 01 6B */	cmpwi r30, 0x16b
/* 803BCEC0 003B8B20  41 82 00 2C */	beq lbl_803BCEEC
/* 803BCEC4 003B8B24  40 80 00 1C */	bge lbl_803BCEE0
/* 803BCEC8 003B8B28  2C 1E 01 37 */	cmpwi r30, 0x137
/* 803BCECC 003B8B2C  41 82 01 64 */	beq lbl_803BD030
/* 803BCED0 003B8B30  40 80 01 E0 */	bge lbl_803BD0B0
/* 803BCED4 003B8B34  2C 1E 00 ED */	cmpwi r30, 0xed
/* 803BCED8 003B8B38  41 82 01 10 */	beq lbl_803BCFE8
/* 803BCEDC 003B8B3C  48 00 01 D4 */	b lbl_803BD0B0
lbl_803BCEE0:
/* 803BCEE0 003B8B40  2C 1E 01 C1 */	cmpwi r30, 0x1c1
/* 803BCEE4 003B8B44  41 82 00 34 */	beq lbl_803BCF18
/* 803BCEE8 003B8B48  48 00 01 C8 */	b lbl_803BD0B0
lbl_803BCEEC:
/* 803BCEEC 003B8B4C  7F 63 DB 78 */	mr r3, r27
/* 803BCEF0 003B8B50  7F 84 E3 78 */	mr r4, r28
/* 803BCEF4 003B8B54  48 00 6E 79 */	bl func_803C3D6C
/* 803BCEF8 003B8B58  7C 60 1B 78 */	mr r0, r3
/* 803BCEFC 003B8B5C  80 7B 21 20 */	lwz r3, 0x2120(r27)
/* 803BCF00 003B8B60  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BCF04 003B8B64  48 01 C8 69 */	bl func_803D976C
/* 803BCF08 003B8B68  38 80 00 0C */	li r4, 0xc
/* 803BCF0C 003B8B6C  48 01 C3 21 */	bl func_803D922C
/* 803BCF10 003B8B70  7C 7D 1B 78 */	mr r29, r3
/* 803BCF14 003B8B74  48 00 01 A0 */	b lbl_803BD0B4
lbl_803BCF18:
/* 803BCF18 003B8B78  7F 63 DB 78 */	mr r3, r27
/* 803BCF1C 003B8B7C  7F 84 E3 78 */	mr r4, r28
/* 803BCF20 003B8B80  48 00 6E 4D */	bl func_803C3D6C
/* 803BCF24 003B8B84  7C 60 1B 78 */	mr r0, r3
/* 803BCF28 003B8B88  80 7B 21 20 */	lwz r3, 0x2120(r27)
/* 803BCF2C 003B8B8C  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BCF30 003B8B90  48 01 C8 3D */	bl func_803D976C
/* 803BCF34 003B8B94  38 80 00 01 */	li r4, 1
/* 803BCF38 003B8B98  48 01 C2 F5 */	bl func_803D922C
/* 803BCF3C 003B8B9C  38 03 FF 83 */	addi r0, r3, -125
/* 803BCF40 003B8BA0  28 00 00 0F */	cmplwi r0, 0xf
/* 803BCF44 003B8BA4  41 81 00 9C */	bgt lbl_803BCFE0
/* 803BCF48 003B8BA8  3C 60 80 47 */	lis r3, lbl_80473A4C@ha
/* 803BCF4C 003B8BAC  54 00 10 3A */	slwi r0, r0, 2
/* 803BCF50 003B8BB0  38 63 3A 4C */	addi r3, r3, lbl_80473A4C@l
/* 803BCF54 003B8BB4  7C 63 00 2E */	lwzx r3, r3, r0
/* 803BCF58 003B8BB8  7C 69 03 A6 */	mtctr r3
/* 803BCF5C 003B8BBC  4E 80 04 20 */	bctr 
/* 803BCF60 003B8BC0  3B A0 00 01 */	li r29, 1
/* 803BCF64 003B8BC4  48 00 01 50 */	b lbl_803BD0B4
/* 803BCF68 003B8BC8  3B A0 00 02 */	li r29, 2
/* 803BCF6C 003B8BCC  48 00 01 48 */	b lbl_803BD0B4
/* 803BCF70 003B8BD0  3B A0 00 03 */	li r29, 3
/* 803BCF74 003B8BD4  48 00 01 40 */	b lbl_803BD0B4
/* 803BCF78 003B8BD8  3B A0 00 04 */	li r29, 4
/* 803BCF7C 003B8BDC  48 00 01 38 */	b lbl_803BD0B4
/* 803BCF80 003B8BE0  3B A0 00 05 */	li r29, 5
/* 803BCF84 003B8BE4  48 00 01 30 */	b lbl_803BD0B4
/* 803BCF88 003B8BE8  3B A0 00 06 */	li r29, 6
/* 803BCF8C 003B8BEC  48 00 01 28 */	b lbl_803BD0B4
/* 803BCF90 003B8BF0  3B A0 00 07 */	li r29, 7
/* 803BCF94 003B8BF4  48 00 01 20 */	b lbl_803BD0B4
/* 803BCF98 003B8BF8  3B A0 00 08 */	li r29, 8
/* 803BCF9C 003B8BFC  48 00 01 18 */	b lbl_803BD0B4
/* 803BCFA0 003B8C00  3B A0 00 0A */	li r29, 0xa
/* 803BCFA4 003B8C04  48 00 01 10 */	b lbl_803BD0B4
/* 803BCFA8 003B8C08  3B A0 00 0B */	li r29, 0xb
/* 803BCFAC 003B8C0C  48 00 01 08 */	b lbl_803BD0B4
/* 803BCFB0 003B8C10  3B A0 00 0C */	li r29, 0xc
/* 803BCFB4 003B8C14  48 00 01 00 */	b lbl_803BD0B4
/* 803BCFB8 003B8C18  3B A0 00 0D */	li r29, 0xd
/* 803BCFBC 003B8C1C  48 00 00 F8 */	b lbl_803BD0B4
/* 803BCFC0 003B8C20  3B A0 00 0E */	li r29, 0xe
/* 803BCFC4 003B8C24  48 00 00 F0 */	b lbl_803BD0B4
/* 803BCFC8 003B8C28  3B A0 00 0F */	li r29, 0xf
/* 803BCFCC 003B8C2C  48 00 00 E8 */	b lbl_803BD0B4
/* 803BCFD0 003B8C30  3B A0 00 10 */	li r29, 0x10
/* 803BCFD4 003B8C34  48 00 00 E0 */	b lbl_803BD0B4
/* 803BCFD8 003B8C38  3B A0 00 11 */	li r29, 0x11
/* 803BCFDC 003B8C3C  48 00 00 D8 */	b lbl_803BD0B4
lbl_803BCFE0:
/* 803BCFE0 003B8C40  3B A0 00 00 */	li r29, 0
/* 803BCFE4 003B8C44  48 00 00 D0 */	b lbl_803BD0B4
lbl_803BCFE8:
/* 803BCFE8 003B8C48  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803BCFEC 003B8C4C  38 00 00 3F */	li r0, 0x3f
/* 803BCFF0 003B8C50  7C 7B 1A 14 */	add r3, r27, r3
/* 803BCFF4 003B8C54  80 A3 2D 54 */	lwz r5, 0x2d54(r3)
/* 803BCFF8 003B8C58  54 A4 BF 38 */	rlwinm r4, r5, 0x17, 0x1c, 0x1c
/* 803BCFFC 003B8C5C  54 A3 2F FE */	rlwinm r3, r5, 5, 0x1f, 0x1f
/* 803BD000 003B8C60  50 A3 5F BC */	rlwimi r3, r5, 0xb, 0x1e, 0x1e
/* 803BD004 003B8C64  50 A4 EE F6 */	rlwimi r4, r5, 0x1d, 0x1b, 0x1b
/* 803BD008 003B8C68  50 A3 8F 7A */	rlwimi r3, r5, 0x11, 0x1d, 0x1d
/* 803BD00C 003B8C6C  7C 9D 1B 78 */	or r29, r4, r3
/* 803BD010 003B8C70  50 BD 1E B4 */	rlwimi r29, r5, 3, 0x1a, 0x1a
/* 803BD014 003B8C74  1C 7D 00 0F */	mulli r3, r29, 0xf
/* 803BD018 003B8C78  7C 63 03 D6 */	divw r3, r3, r0
/* 803BD01C 003B8C7C  3B A3 00 01 */	addi r29, r3, 1
/* 803BD020 003B8C80  2C 1D 00 09 */	cmpwi r29, 9
/* 803BD024 003B8C84  41 80 00 90 */	blt lbl_803BD0B4
/* 803BD028 003B8C88  3B BD 00 01 */	addi r29, r29, 1
/* 803BD02C 003B8C8C  48 00 00 88 */	b lbl_803BD0B4
lbl_803BD030:
/* 803BD030 003B8C90  7F 43 D3 78 */	mr r3, r26
/* 803BD034 003B8C94  7F 64 DB 78 */	mr r4, r27
/* 803BD038 003B8C98  38 A0 00 08 */	li r5, 8
/* 803BD03C 003B8C9C  38 C0 00 00 */	li r6, 0
/* 803BD040 003B8CA0  38 E0 00 0D */	li r7, 0xd
/* 803BD044 003B8CA4  48 00 23 3D */	bl func_803BF380
/* 803BD048 003B8CA8  2C 03 00 00 */	cmpwi r3, 0
/* 803BD04C 003B8CAC  40 82 00 68 */	bne lbl_803BD0B4
/* 803BD050 003B8CB0  7F 43 D3 78 */	mr r3, r26
/* 803BD054 003B8CB4  7F 64 DB 78 */	mr r4, r27
/* 803BD058 003B8CB8  38 A0 00 08 */	li r5, 8
/* 803BD05C 003B8CBC  38 C0 00 00 */	li r6, 0
/* 803BD060 003B8CC0  38 E0 00 4C */	li r7, 0x4c
/* 803BD064 003B8CC4  48 00 23 1D */	bl func_803BF380
/* 803BD068 003B8CC8  2C 03 00 00 */	cmpwi r3, 0
/* 803BD06C 003B8CCC  40 82 00 48 */	bne lbl_803BD0B4
/* 803BD070 003B8CD0  80 7B 01 80 */	lwz r3, 0x180(r27)
/* 803BD074 003B8CD4  70 60 80 FF */	andi. r0, r3, 0x80ff
/* 803BD078 003B8CD8  41 82 00 3C */	beq lbl_803BD0B4
/* 803BD07C 003B8CDC  54 60 07 BF */	clrlwi. r0, r3, 0x1e
/* 803BD080 003B8CE0  41 82 00 08 */	beq lbl_803BD088
/* 803BD084 003B8CE4  3B A0 00 0B */	li r29, 0xb
lbl_803BD088:
/* 803BD088 003B8CE8  54 60 07 3B */	rlwinm. r0, r3, 0, 0x1c, 0x1d
/* 803BD08C 003B8CEC  41 82 00 08 */	beq lbl_803BD094
/* 803BD090 003B8CF0  3B A0 00 05 */	li r29, 5
lbl_803BD094:
/* 803BD094 003B8CF4  54 60 06 B7 */	rlwinm. r0, r3, 0, 0x1a, 0x1b
/* 803BD098 003B8CF8  41 82 00 08 */	beq lbl_803BD0A0
/* 803BD09C 003B8CFC  3B A0 00 0A */	li r29, 0xa
lbl_803BD0A0:
/* 803BD0A0 003B8D00  54 60 06 33 */	rlwinm. r0, r3, 0, 0x18, 0x19
/* 803BD0A4 003B8D04  41 82 00 10 */	beq lbl_803BD0B4
/* 803BD0A8 003B8D08  3B A0 00 0F */	li r29, 0xf
/* 803BD0AC 003B8D0C  48 00 00 08 */	b lbl_803BD0B4
lbl_803BD0B0:
/* 803BD0B0 003B8D10  3B A0 00 00 */	li r29, 0
lbl_803BD0B4:
/* 803BD0B4 003B8D14  2C 1D 00 00 */	cmpwi r29, 0
/* 803BD0B8 003B8D18  40 82 00 10 */	bne lbl_803BD0C8
/* 803BD0BC 003B8D1C  57 C0 23 36 */	rlwinm r0, r30, 4, 0xc, 0x1b
/* 803BD0C0 003B8D20  7C 7B 02 14 */	add r3, r27, r0
/* 803BD0C4 003B8D24  8B A3 03 E2 */	lbz r29, 0x3e2(r3)
lbl_803BD0C8:
/* 803BD0C8 003B8D28  7F 43 D3 78 */	mr r3, r26
/* 803BD0CC 003B8D2C  4B FE F7 95 */	bl func_803AC860
/* 803BD0D0 003B8D30  2C 1D 00 0D */	cmpwi r29, 0xd
/* 803BD0D4 003B8D34  7C 7F 1B 78 */	mr r31, r3
/* 803BD0D8 003B8D38  40 82 00 C4 */	bne lbl_803BD19C
/* 803BD0DC 003B8D3C  57 C0 23 36 */	rlwinm r0, r30, 4, 0xc, 0x1b
/* 803BD0E0 003B8D40  7C 7B 02 14 */	add r3, r27, r0
/* 803BD0E4 003B8D44  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803BD0E8 003B8D48  2C 00 00 00 */	cmpwi r0, 0
/* 803BD0EC 003B8D4C  41 82 00 0C */	beq lbl_803BD0F8
/* 803BD0F0 003B8D50  28 00 00 02 */	cmplwi r0, 2
/* 803BD0F4 003B8D54  40 82 00 A8 */	bne lbl_803BD19C
lbl_803BD0F8:
/* 803BD0F8 003B8D58  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803BD0FC 003B8D5C  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803BD100 003B8D60  40 82 00 9C */	bne lbl_803BD19C
/* 803BD104 003B8D64  7F 43 D3 78 */	mr r3, r26
/* 803BD108 003B8D68  7F 64 DB 78 */	mr r4, r27
/* 803BD10C 003B8D6C  7F 86 E3 78 */	mr r6, r28
/* 803BD110 003B8D70  38 A0 00 09 */	li r5, 9
/* 803BD114 003B8D74  38 E0 00 1F */	li r7, 0x1f
/* 803BD118 003B8D78  48 00 22 69 */	bl func_803BF380
/* 803BD11C 003B8D7C  2C 03 00 00 */	cmpwi r3, 0
/* 803BD120 003B8D80  41 82 00 7C */	beq lbl_803BD19C
/* 803BD124 003B8D84  3B 40 00 00 */	li r26, 0
/* 803BD128 003B8D88  48 00 00 44 */	b lbl_803BD16C
lbl_803BD12C:
/* 803BD12C 003B8D8C  7C 9B D2 14 */	add r4, r27, r26
/* 803BD130 003B8D90  7F 63 DB 78 */	mr r3, r27
/* 803BD134 003B8D94  8B C4 21 EC */	lbz r30, 0x21ec(r4)
/* 803BD138 003B8D98  7F C4 F3 78 */	mr r4, r30
/* 803BD13C 003B8D9C  48 00 29 DD */	bl func_803BFB18
/* 803BD140 003B8DA0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BD144 003B8DA4  28 00 00 1F */	cmplwi r0, 0x1f
/* 803BD148 003B8DA8  40 82 00 20 */	bne lbl_803BD168
/* 803BD14C 003B8DAC  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803BD150 003B8DB0  7C 7B 02 14 */	add r3, r27, r0
/* 803BD154 003B8DB4  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BD158 003B8DB8  2C 00 00 00 */	cmpwi r0, 0
/* 803BD15C 003B8DBC  41 82 00 0C */	beq lbl_803BD168
/* 803BD160 003B8DC0  7C 1C F0 00 */	cmpw r28, r30
/* 803BD164 003B8DC4  40 82 00 10 */	bne lbl_803BD174
lbl_803BD168:
/* 803BD168 003B8DC8  3B 5A 00 01 */	addi r26, r26, 1
lbl_803BD16C:
/* 803BD16C 003B8DCC  7C 1A F8 00 */	cmpw r26, r31
/* 803BD170 003B8DD0  41 80 FF BC */	blt lbl_803BD12C
lbl_803BD174:
/* 803BD174 003B8DD4  80 1B 00 6C */	lwz r0, 0x6c(r27)
/* 803BD178 003B8DD8  7C 1E 00 00 */	cmpw r30, r0
/* 803BD17C 003B8DDC  41 82 00 E4 */	beq lbl_803BD260
/* 803BD180 003B8DE0  1C 1E 00 1C */	mulli r0, r30, 0x1c
/* 803BD184 003B8DE4  7C 7B 02 14 */	add r3, r27, r0
/* 803BD188 003B8DE8  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803BD18C 003B8DEC  64 00 40 00 */	oris r0, r0, 0x4000
/* 803BD190 003B8DF0  90 03 02 D4 */	stw r0, 0x2d4(r3)
/* 803BD194 003B8DF4  93 DB 00 6C */	stw r30, 0x6c(r27)
/* 803BD198 003B8DF8  48 00 00 C8 */	b lbl_803BD260
lbl_803BD19C:
/* 803BD19C 003B8DFC  2C 1D 00 0B */	cmpwi r29, 0xb
/* 803BD1A0 003B8E00  40 82 00 C0 */	bne lbl_803BD260
/* 803BD1A4 003B8E04  57 C0 23 36 */	rlwinm r0, r30, 4, 0xc, 0x1b
/* 803BD1A8 003B8E08  7C 7B 02 14 */	add r3, r27, r0
/* 803BD1AC 003B8E0C  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803BD1B0 003B8E10  2C 00 00 00 */	cmpwi r0, 0
/* 803BD1B4 003B8E14  41 82 00 0C */	beq lbl_803BD1C0
/* 803BD1B8 003B8E18  28 00 00 02 */	cmplwi r0, 2
/* 803BD1BC 003B8E1C  40 82 00 A4 */	bne lbl_803BD260
lbl_803BD1C0:
/* 803BD1C0 003B8E20  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803BD1C4 003B8E24  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803BD1C8 003B8E28  40 82 00 98 */	bne lbl_803BD260
/* 803BD1CC 003B8E2C  7F 43 D3 78 */	mr r3, r26
/* 803BD1D0 003B8E30  7F 64 DB 78 */	mr r4, r27
/* 803BD1D4 003B8E34  7F 86 E3 78 */	mr r6, r28
/* 803BD1D8 003B8E38  38 A0 00 09 */	li r5, 9
/* 803BD1DC 003B8E3C  38 E0 00 72 */	li r7, 0x72
/* 803BD1E0 003B8E40  48 00 21 A1 */	bl func_803BF380
/* 803BD1E4 003B8E44  2C 03 00 00 */	cmpwi r3, 0
/* 803BD1E8 003B8E48  41 82 00 78 */	beq lbl_803BD260
/* 803BD1EC 003B8E4C  3B 40 00 00 */	li r26, 0
/* 803BD1F0 003B8E50  48 00 00 44 */	b lbl_803BD234
lbl_803BD1F4:
/* 803BD1F4 003B8E54  7C 9B D2 14 */	add r4, r27, r26
/* 803BD1F8 003B8E58  7F 63 DB 78 */	mr r3, r27
/* 803BD1FC 003B8E5C  8B C4 21 EC */	lbz r30, 0x21ec(r4)
/* 803BD200 003B8E60  7F C4 F3 78 */	mr r4, r30
/* 803BD204 003B8E64  48 00 29 15 */	bl func_803BFB18
/* 803BD208 003B8E68  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BD20C 003B8E6C  28 00 00 72 */	cmplwi r0, 0x72
/* 803BD210 003B8E70  40 82 00 20 */	bne lbl_803BD230
/* 803BD214 003B8E74  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803BD218 003B8E78  7C 7B 02 14 */	add r3, r27, r0
/* 803BD21C 003B8E7C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BD220 003B8E80  2C 00 00 00 */	cmpwi r0, 0
/* 803BD224 003B8E84  41 82 00 0C */	beq lbl_803BD230
/* 803BD228 003B8E88  7C 1C F0 00 */	cmpw r28, r30
/* 803BD22C 003B8E8C  40 82 00 10 */	bne lbl_803BD23C
lbl_803BD230:
/* 803BD230 003B8E90  3B 5A 00 01 */	addi r26, r26, 1
lbl_803BD234:
/* 803BD234 003B8E94  7C 1A F8 00 */	cmpw r26, r31
/* 803BD238 003B8E98  41 80 FF BC */	blt lbl_803BD1F4
lbl_803BD23C:
/* 803BD23C 003B8E9C  80 1B 00 6C */	lwz r0, 0x6c(r27)
/* 803BD240 003B8EA0  7C 1E 00 00 */	cmpw r30, r0
/* 803BD244 003B8EA4  41 82 00 1C */	beq lbl_803BD260
/* 803BD248 003B8EA8  1C 1E 00 1C */	mulli r0, r30, 0x1c
/* 803BD24C 003B8EAC  7C 7B 02 14 */	add r3, r27, r0
/* 803BD250 003B8EB0  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803BD254 003B8EB4  64 00 20 00 */	oris r0, r0, 0x2000
/* 803BD258 003B8EB8  90 03 02 D4 */	stw r0, 0x2d4(r3)
/* 803BD25C 003B8EBC  93 DB 00 6C */	stw r30, 0x6c(r27)
lbl_803BD260:
/* 803BD260 003B8EC0  39 61 00 20 */	addi r11, r1, 0x20
/* 803BD264 003B8EC4  4B E0 9F 0D */	bl _restgpr_26
/* 803BD268 003B8EC8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BD26C 003B8ECC  7C 08 03 A6 */	mtlr r0
/* 803BD270 003B8ED0  38 21 00 20 */	addi r1, r1, 0x20
/* 803BD274 003B8ED4  4E 80 00 20 */	blr 

.global func_803BD278
func_803BD278:
/* 803BD278 003B8ED8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BD27C 003B8EDC  7C 08 02 A6 */	mflr r0
/* 803BD280 003B8EE0  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803BD284 003B8EE4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BD288 003B8EE8  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803BD28C 003B8EEC  38 60 00 00 */	li r3, 0
/* 803BD290 003B8EF0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803BD294 003B8EF4  7C 9F 23 78 */	mr r31, r4
/* 803BD298 003B8EF8  80 A4 21 6C */	lwz r5, 0x216c(r4)
/* 803BD29C 003B8EFC  7C A0 00 39 */	and. r0, r5, r0
/* 803BD2A0 003B8F00  40 82 00 58 */	bne lbl_803BD2F8
/* 803BD2A4 003B8F04  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803BD2A8 003B8F08  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803BD2AC 003B8F0C  7C A4 02 14 */	add r5, r4, r0
/* 803BD2B0 003B8F10  80 85 02 D4 */	lwz r4, 0x2d4(r5)
/* 803BD2B4 003B8F14  54 80 17 FF */	rlwinm. r0, r4, 2, 0x1f, 0x1f
/* 803BD2B8 003B8F18  41 82 00 40 */	beq lbl_803BD2F8
/* 803BD2BC 003B8F1C  54 80 00 80 */	rlwinm r0, r4, 0, 2, 0
/* 803BD2C0 003B8F20  7F E3 FB 78 */	mr r3, r31
/* 803BD2C4 003B8F24  90 05 02 D4 */	stw r0, 0x2d4(r5)
/* 803BD2C8 003B8F28  38 80 00 02 */	li r4, 2
/* 803BD2CC 003B8F2C  38 A0 00 B4 */	li r5, 0xb4
/* 803BD2D0 003B8F30  4B FF D7 05 */	bl func_803BA9D4
/* 803BD2D4 003B8F34  80 7F 00 08 */	lwz r3, 8(r31)
/* 803BD2D8 003B8F38  38 A0 00 15 */	li r5, 0x15
/* 803BD2DC 003B8F3C  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803BD2E0 003B8F40  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803BD2E4 003B8F44  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803BD2E8 003B8F48  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803BD2EC 003B8F4C  38 60 00 01 */	li r3, 1
/* 803BD2F0 003B8F50  90 BF 00 08 */	stw r5, 8(r31)
/* 803BD2F4 003B8F54  90 04 00 18 */	stw r0, 0x18(r4)
lbl_803BD2F8:
/* 803BD2F8 003B8F58  3C 80 80 20 */	lis r4, 0x801FDA49@ha
/* 803BD2FC 003B8F5C  80 BF 21 6C */	lwz r5, 0x216c(r31)
/* 803BD300 003B8F60  38 04 DA 49 */	addi r0, r4, 0x801FDA49@l
/* 803BD304 003B8F64  7C A0 00 39 */	and. r0, r5, r0
/* 803BD308 003B8F68  40 82 00 58 */	bne lbl_803BD360
/* 803BD30C 003B8F6C  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803BD310 003B8F70  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803BD314 003B8F74  7C BF 02 14 */	add r5, r31, r0
/* 803BD318 003B8F78  80 85 02 D4 */	lwz r4, 0x2d4(r5)
/* 803BD31C 003B8F7C  54 80 1F FF */	rlwinm. r0, r4, 3, 0x1f, 0x1f
/* 803BD320 003B8F80  41 82 00 40 */	beq lbl_803BD360
/* 803BD324 003B8F84  54 80 00 C2 */	rlwinm r0, r4, 0, 3, 1
/* 803BD328 003B8F88  7F E3 FB 78 */	mr r3, r31
/* 803BD32C 003B8F8C  90 05 02 D4 */	stw r0, 0x2d4(r5)
/* 803BD330 003B8F90  38 80 00 02 */	li r4, 2
/* 803BD334 003B8F94  38 A0 00 B4 */	li r5, 0xb4
/* 803BD338 003B8F98  4B FF D6 9D */	bl func_803BA9D4
/* 803BD33C 003B8F9C  80 7F 00 08 */	lwz r3, 8(r31)
/* 803BD340 003B8FA0  38 A0 00 15 */	li r5, 0x15
/* 803BD344 003B8FA4  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803BD348 003B8FA8  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803BD34C 003B8FAC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803BD350 003B8FB0  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803BD354 003B8FB4  38 60 00 01 */	li r3, 1
/* 803BD358 003B8FB8  90 BF 00 08 */	stw r5, 8(r31)
/* 803BD35C 003B8FBC  90 04 00 18 */	stw r0, 0x18(r4)
lbl_803BD360:
/* 803BD360 003B8FC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BD364 003B8FC4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803BD368 003B8FC8  7C 08 03 A6 */	mtlr r0
/* 803BD36C 003B8FCC  38 21 00 10 */	addi r1, r1, 0x10
/* 803BD370 003B8FD0  4E 80 00 20 */	blr 

.global func_803BD374
func_803BD374:
/* 803BD374 003B8FD4  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803BD378 003B8FD8  7C C4 02 14 */	add r6, r4, r0
/* 803BD37C 003B8FDC  A0 06 2D B8 */	lhz r0, 0x2db8(r6)
/* 803BD380 003B8FE0  2C 00 00 00 */	cmpwi r0, 0
/* 803BD384 003B8FE4  40 82 00 14 */	bne lbl_803BD398
/* 803BD388 003B8FE8  54 A0 0D FC */	rlwinm r0, r5, 1, 0x17, 0x1e
/* 803BD38C 003B8FEC  38 E0 00 00 */	li r7, 0
/* 803BD390 003B8FF0  7C C4 02 14 */	add r6, r4, r0
/* 803BD394 003B8FF4  B0 E6 03 94 */	sth r7, 0x394(r6)
lbl_803BD398:
/* 803BD398 003B8FF8  4B FF 47 2C */	b func_803B1AC4

.global func_803BD39C
func_803BD39C:
/* 803BD39C 003B8FFC  1C C5 00 C0 */	mulli r6, r5, 0xc0
/* 803BD3A0 003B9000  54 A0 10 3A */	slwi r0, r5, 2
/* 803BD3A4 003B9004  7C 64 02 14 */	add r3, r4, r0
/* 803BD3A8 003B9008  7C A4 32 14 */	add r5, r4, r6
/* 803BD3AC 003B900C  80 05 2D B0 */	lwz r0, 0x2db0(r5)
/* 803BD3B0 003B9010  60 00 10 00 */	ori r0, r0, 0x1000
/* 803BD3B4 003B9014  90 05 2D B0 */	stw r0, 0x2db0(r5)
/* 803BD3B8 003B9018  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803BD3BC 003B901C  90 03 30 4C */	stw r0, 0x304c(r3)
/* 803BD3C0 003B9020  4E 80 00 20 */	blr 

.global func_803BD3C4
func_803BD3C4:
/* 803BD3C4 003B9024  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803BD3C8 003B9028  3C 60 DF FC */	lis r3, 0xDFFBFF3F@ha
/* 803BD3CC 003B902C  38 03 FF 3F */	addi r0, r3, 0xDFFBFF3F@l
/* 803BD3D0 003B9030  7C 84 2A 14 */	add r4, r4, r5
/* 803BD3D4 003B9034  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803BD3D8 003B9038  54 63 05 24 */	rlwinm r3, r3, 0, 0x14, 0x12
/* 803BD3DC 003B903C  54 63 06 2A */	rlwinm r3, r3, 0, 0x18, 0x15
/* 803BD3E0 003B9040  90 64 2D B0 */	stw r3, 0x2db0(r4)
/* 803BD3E4 003B9044  80 64 2D C0 */	lwz r3, 0x2dc0(r4)
/* 803BD3E8 003B9048  7C 60 00 38 */	and r0, r3, r0
/* 803BD3EC 003B904C  90 04 2D C0 */	stw r0, 0x2dc0(r4)
/* 803BD3F0 003B9050  80 04 2D C8 */	lwz r0, 0x2dc8(r4)
/* 803BD3F4 003B9054  54 00 05 5C */	rlwinm r0, r0, 0, 0x15, 0xe
/* 803BD3F8 003B9058  90 04 2D C8 */	stw r0, 0x2dc8(r4)
/* 803BD3FC 003B905C  4E 80 00 20 */	blr 

.global func_803BD400
func_803BD400:
/* 803BD400 003B9060  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BD404 003B9064  7C 63 02 14 */	add r3, r3, r0
/* 803BD408 003B9068  80 63 2D AC */	lwz r3, 0x2dac(r3)
/* 803BD40C 003B906C  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803BD410 003B9070  41 82 00 0C */	beq lbl_803BD41C
/* 803BD414 003B9074  38 60 00 01 */	li r3, 1
/* 803BD418 003B9078  4E 80 00 20 */	blr 
lbl_803BD41C:
/* 803BD41C 003B907C  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803BD420 003B9080  41 82 00 0C */	beq lbl_803BD42C
/* 803BD424 003B9084  38 60 00 02 */	li r3, 2
/* 803BD428 003B9088  4E 80 00 20 */	blr 
lbl_803BD42C:
/* 803BD42C 003B908C  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803BD430 003B9090  41 82 00 0C */	beq lbl_803BD43C
/* 803BD434 003B9094  38 60 00 03 */	li r3, 3
/* 803BD438 003B9098  4E 80 00 20 */	blr 
lbl_803BD43C:
/* 803BD43C 003B909C  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803BD440 003B90A0  41 82 00 0C */	beq lbl_803BD44C
/* 803BD444 003B90A4  38 60 00 04 */	li r3, 4
/* 803BD448 003B90A8  4E 80 00 20 */	blr 
lbl_803BD44C:
/* 803BD44C 003B90AC  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803BD450 003B90B0  41 82 00 0C */	beq lbl_803BD45C
/* 803BD454 003B90B4  38 60 00 05 */	li r3, 5
/* 803BD458 003B90B8  4E 80 00 20 */	blr 
lbl_803BD45C:
/* 803BD45C 003B90BC  54 60 CF FE */	rlwinm r0, r3, 0x19, 0x1f, 0x1f
/* 803BD460 003B90C0  7C 00 00 D0 */	neg r0, r0
/* 803BD464 003B90C4  54 03 07 BC */	rlwinm r3, r0, 0, 0x1e, 0x1e
/* 803BD468 003B90C8  4E 80 00 20 */	blr 

.global func_803BD46C
func_803BD46C:
/* 803BD46C 003B90CC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BD470 003B90D0  7C 08 02 A6 */	mflr r0
/* 803BD474 003B90D4  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BD478 003B90D8  39 61 00 30 */	addi r11, r1, 0x30
/* 803BD47C 003B90DC  4B E0 9C A5 */	bl _savegpr_25
/* 803BD480 003B90E0  7C 7C 1B 78 */	mr r28, r3
/* 803BD484 003B90E4  7C 9D 23 78 */	mr r29, r4
/* 803BD488 003B90E8  4B FE F3 B9 */	bl func_803AC840
/* 803BD48C 003B90EC  70 60 00 84 */	andi. r0, r3, 0x84
/* 803BD490 003B90F0  41 82 00 0C */	beq lbl_803BD49C
/* 803BD494 003B90F4  38 60 00 00 */	li r3, 0
/* 803BD498 003B90F8  48 00 02 78 */	b lbl_803BD710
lbl_803BD49C:
/* 803BD49C 003B90FC  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BD4A0 003B9100  40 82 00 0C */	bne lbl_803BD4AC
/* 803BD4A4 003B9104  38 60 00 00 */	li r3, 0
/* 803BD4A8 003B9108  48 00 02 68 */	b lbl_803BD710
lbl_803BD4AC:
/* 803BD4AC 003B910C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BD4B0 003B9110  41 82 00 0C */	beq lbl_803BD4BC
/* 803BD4B4 003B9114  38 60 00 00 */	li r3, 0
/* 803BD4B8 003B9118  48 00 02 58 */	b lbl_803BD710
lbl_803BD4BC:
/* 803BD4BC 003B911C  7F 83 E3 78 */	mr r3, r28
/* 803BD4C0 003B9120  38 80 00 01 */	li r4, 1
/* 803BD4C4 003B9124  4B FE F5 D5 */	bl func_803ACA98
/* 803BD4C8 003B9128  54 7F 04 3E */	clrlwi r31, r3, 0x10
/* 803BD4CC 003B912C  3B C0 00 00 */	li r30, 0
lbl_803BD4D0:
/* 803BD4D0 003B9130  2C 1E 00 02 */	cmpwi r30, 2
/* 803BD4D4 003B9134  41 82 00 D8 */	beq lbl_803BD5AC
/* 803BD4D8 003B9138  40 80 00 14 */	bge lbl_803BD4EC
/* 803BD4DC 003B913C  2C 1E 00 00 */	cmpwi r30, 0
/* 803BD4E0 003B9140  41 82 00 1C */	beq lbl_803BD4FC
/* 803BD4E4 003B9144  40 80 00 6C */	bge lbl_803BD550
/* 803BD4E8 003B9148  48 00 02 1C */	b lbl_803BD704
lbl_803BD4EC:
/* 803BD4EC 003B914C  2C 1E 00 04 */	cmpwi r30, 4
/* 803BD4F0 003B9150  41 82 02 14 */	beq lbl_803BD704
/* 803BD4F4 003B9154  40 80 02 10 */	bge lbl_803BD704
/* 803BD4F8 003B9158  48 00 01 58 */	b lbl_803BD650
lbl_803BD4FC:
/* 803BD4FC 003B915C  88 1D 2E 7C */	lbz r0, 0x2e7c(r29)
/* 803BD500 003B9160  28 00 00 01 */	cmplwi r0, 1
/* 803BD504 003B9164  40 82 00 44 */	bne lbl_803BD548
/* 803BD508 003B9168  80 1D 21 40 */	lwz r0, 0x2140(r29)
/* 803BD50C 003B916C  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803BD510 003B9170  40 82 00 38 */	bne lbl_803BD548
/* 803BD514 003B9174  7F E3 FB 78 */	mr r3, r31
/* 803BD518 003B9178  38 80 00 0D */	li r4, 0xd
/* 803BD51C 003B917C  38 A0 00 05 */	li r5, 5
/* 803BD520 003B9180  48 02 14 75 */	bl func_803DE994
/* 803BD524 003B9184  2C 03 00 00 */	cmpwi r3, 0
/* 803BD528 003B9188  41 82 00 20 */	beq lbl_803BD548
/* 803BD52C 003B918C  80 9D 21 40 */	lwz r4, 0x2140(r29)
/* 803BD530 003B9190  38 00 00 0D */	li r0, 0xd
/* 803BD534 003B9194  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803BD538 003B9198  38 60 00 01 */	li r3, 1
/* 803BD53C 003B919C  60 80 00 20 */	ori r0, r4, 0x20
/* 803BD540 003B91A0  90 1D 21 40 */	stw r0, 0x2140(r29)
/* 803BD544 003B91A4  48 00 01 CC */	b lbl_803BD710
lbl_803BD548:
/* 803BD548 003B91A8  3B DE 00 01 */	addi r30, r30, 1
/* 803BD54C 003B91AC  48 00 01 B8 */	b lbl_803BD704
lbl_803BD550:
/* 803BD550 003B91B0  88 1D 2E 7D */	lbz r0, 0x2e7d(r29)
/* 803BD554 003B91B4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803BD558 003B91B8  40 82 00 4C */	bne lbl_803BD5A4
/* 803BD55C 003B91BC  80 1D 2E 50 */	lwz r0, 0x2e50(r29)
/* 803BD560 003B91C0  80 7D 2E 4C */	lwz r3, 0x2e4c(r29)
/* 803BD564 003B91C4  54 00 F8 7E */	srwi r0, r0, 1
/* 803BD568 003B91C8  7C 03 00 40 */	cmplw r3, r0
/* 803BD56C 003B91CC  41 81 00 38 */	bgt lbl_803BD5A4
/* 803BD570 003B91D0  7F E3 FB 78 */	mr r3, r31
/* 803BD574 003B91D4  38 80 00 0E */	li r4, 0xe
/* 803BD578 003B91D8  38 A0 00 05 */	li r5, 5
/* 803BD57C 003B91DC  48 02 14 19 */	bl func_803DE994
/* 803BD580 003B91E0  2C 03 00 00 */	cmpwi r3, 0
/* 803BD584 003B91E4  41 82 00 20 */	beq lbl_803BD5A4
/* 803BD588 003B91E8  88 9D 2E 7D */	lbz r4, 0x2e7d(r29)
/* 803BD58C 003B91EC  38 00 00 0E */	li r0, 0xe
/* 803BD590 003B91F0  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803BD594 003B91F4  38 60 00 01 */	li r3, 1
/* 803BD598 003B91F8  60 80 00 02 */	ori r0, r4, 2
/* 803BD59C 003B91FC  98 1D 2E 7D */	stb r0, 0x2e7d(r29)
/* 803BD5A0 003B9200  48 00 01 70 */	b lbl_803BD710
lbl_803BD5A4:
/* 803BD5A4 003B9204  3B DE 00 01 */	addi r30, r30, 1
/* 803BD5A8 003B9208  48 00 01 5C */	b lbl_803BD704
lbl_803BD5AC:
/* 803BD5AC 003B920C  88 1D 2E 7D */	lbz r0, 0x2e7d(r29)
/* 803BD5B0 003B9210  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803BD5B4 003B9214  40 82 00 94 */	bne lbl_803BD648
/* 803BD5B8 003B9218  7F 83 E3 78 */	mr r3, r28
/* 803BD5BC 003B921C  38 80 00 01 */	li r4, 1
/* 803BD5C0 003B9220  4B FE F2 A9 */	bl func_803AC868
/* 803BD5C4 003B9224  7C 79 1B 78 */	mr r25, r3
/* 803BD5C8 003B9228  3B 40 00 00 */	li r26, 0
/* 803BD5CC 003B922C  3B 60 00 00 */	li r27, 0
/* 803BD5D0 003B9230  48 00 00 2C */	b lbl_803BD5FC
lbl_803BD5D4:
/* 803BD5D4 003B9234  7F 23 CB 78 */	mr r3, r25
/* 803BD5D8 003B9238  7F 64 DB 78 */	mr r4, r27
/* 803BD5DC 003B923C  48 02 13 71 */	bl func_803DE94C
/* 803BD5E0 003B9240  38 80 00 A2 */	li r4, 0xa2
/* 803BD5E4 003B9244  38 A0 00 00 */	li r5, 0
/* 803BD5E8 003B9248  48 02 03 F5 */	bl func_803DD9DC
/* 803BD5EC 003B924C  2C 03 00 00 */	cmpwi r3, 0
/* 803BD5F0 003B9250  41 82 00 08 */	beq lbl_803BD5F8
/* 803BD5F4 003B9254  3B 5A 00 01 */	addi r26, r26, 1
lbl_803BD5F8:
/* 803BD5F8 003B9258  3B 7B 00 01 */	addi r27, r27, 1
lbl_803BD5FC:
/* 803BD5FC 003B925C  7F 23 CB 78 */	mr r3, r25
/* 803BD600 003B9260  48 02 13 45 */	bl func_803DE944
/* 803BD604 003B9264  7C 1B 18 00 */	cmpw r27, r3
/* 803BD608 003B9268  41 80 FF CC */	blt lbl_803BD5D4
/* 803BD60C 003B926C  2C 1A 00 01 */	cmpwi r26, 1
/* 803BD610 003B9270  40 82 00 38 */	bne lbl_803BD648
/* 803BD614 003B9274  7F E3 FB 78 */	mr r3, r31
/* 803BD618 003B9278  38 80 00 0F */	li r4, 0xf
/* 803BD61C 003B927C  38 A0 00 05 */	li r5, 5
/* 803BD620 003B9280  48 02 13 75 */	bl func_803DE994
/* 803BD624 003B9284  2C 03 00 00 */	cmpwi r3, 0
/* 803BD628 003B9288  41 82 00 20 */	beq lbl_803BD648
/* 803BD62C 003B928C  88 9D 2E 7D */	lbz r4, 0x2e7d(r29)
/* 803BD630 003B9290  38 00 00 0F */	li r0, 0xf
/* 803BD634 003B9294  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803BD638 003B9298  38 60 00 01 */	li r3, 1
/* 803BD63C 003B929C  60 80 00 03 */	ori r0, r4, 3
/* 803BD640 003B92A0  98 1D 2E 7D */	stb r0, 0x2e7d(r29)
/* 803BD644 003B92A4  48 00 00 CC */	b lbl_803BD710
lbl_803BD648:
/* 803BD648 003B92A8  3B DE 00 01 */	addi r30, r30, 1
/* 803BD64C 003B92AC  48 00 00 B8 */	b lbl_803BD704
lbl_803BD650:
/* 803BD650 003B92B0  88 1D 2E 7D */	lbz r0, 0x2e7d(r29)
/* 803BD654 003B92B4  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803BD658 003B92B8  40 82 00 A8 */	bne lbl_803BD700
/* 803BD65C 003B92BC  7F 83 E3 78 */	mr r3, r28
/* 803BD660 003B92C0  38 80 00 01 */	li r4, 1
/* 803BD664 003B92C4  4B FE F2 05 */	bl func_803AC868
/* 803BD668 003B92C8  7C 7B 1B 78 */	mr r27, r3
/* 803BD66C 003B92CC  3B 40 00 00 */	li r26, 0
/* 803BD670 003B92D0  3B 20 00 00 */	li r25, 0
/* 803BD674 003B92D4  48 00 00 2C */	b lbl_803BD6A0
lbl_803BD678:
/* 803BD678 003B92D8  7F 63 DB 78 */	mr r3, r27
/* 803BD67C 003B92DC  7F 24 CB 78 */	mr r4, r25
/* 803BD680 003B92E0  48 02 12 CD */	bl func_803DE94C
/* 803BD684 003B92E4  38 80 00 A2 */	li r4, 0xa2
/* 803BD688 003B92E8  38 A0 00 00 */	li r5, 0
/* 803BD68C 003B92EC  48 02 03 51 */	bl func_803DD9DC
/* 803BD690 003B92F0  2C 03 00 00 */	cmpwi r3, 0
/* 803BD694 003B92F4  41 82 00 08 */	beq lbl_803BD69C
/* 803BD698 003B92F8  3B 5A 00 01 */	addi r26, r26, 1
lbl_803BD69C:
/* 803BD69C 003B92FC  3B 39 00 01 */	addi r25, r25, 1
lbl_803BD6A0:
/* 803BD6A0 003B9300  7F 63 DB 78 */	mr r3, r27
/* 803BD6A4 003B9304  48 02 12 A1 */	bl func_803DE944
/* 803BD6A8 003B9308  7C 19 18 00 */	cmpw r25, r3
/* 803BD6AC 003B930C  41 80 FF CC */	blt lbl_803BD678
/* 803BD6B0 003B9310  2C 1A 00 01 */	cmpwi r26, 1
/* 803BD6B4 003B9314  40 82 00 4C */	bne lbl_803BD700
/* 803BD6B8 003B9318  80 1D 2E 50 */	lwz r0, 0x2e50(r29)
/* 803BD6BC 003B931C  80 7D 2E 4C */	lwz r3, 0x2e4c(r29)
/* 803BD6C0 003B9320  54 00 F8 7E */	srwi r0, r0, 1
/* 803BD6C4 003B9324  7C 03 00 40 */	cmplw r3, r0
/* 803BD6C8 003B9328  41 81 00 38 */	bgt lbl_803BD700
/* 803BD6CC 003B932C  7F E3 FB 78 */	mr r3, r31
/* 803BD6D0 003B9330  38 80 00 10 */	li r4, 0x10
/* 803BD6D4 003B9334  38 A0 00 05 */	li r5, 5
/* 803BD6D8 003B9338  48 02 12 BD */	bl func_803DE994
/* 803BD6DC 003B933C  2C 03 00 00 */	cmpwi r3, 0
/* 803BD6E0 003B9340  41 82 00 20 */	beq lbl_803BD700
/* 803BD6E4 003B9344  88 9D 2E 7D */	lbz r4, 0x2e7d(r29)
/* 803BD6E8 003B9348  38 00 00 10 */	li r0, 0x10
/* 803BD6EC 003B934C  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803BD6F0 003B9350  38 60 00 01 */	li r3, 1
/* 803BD6F4 003B9354  60 80 00 04 */	ori r0, r4, 4
/* 803BD6F8 003B9358  98 1D 2E 7D */	stb r0, 0x2e7d(r29)
/* 803BD6FC 003B935C  48 00 00 14 */	b lbl_803BD710
lbl_803BD700:
/* 803BD700 003B9360  3B DE 00 01 */	addi r30, r30, 1
lbl_803BD704:
/* 803BD704 003B9364  2C 1E 00 04 */	cmpwi r30, 4
/* 803BD708 003B9368  40 82 FD C8 */	bne lbl_803BD4D0
/* 803BD70C 003B936C  38 60 00 00 */	li r3, 0
lbl_803BD710:
/* 803BD710 003B9370  39 61 00 30 */	addi r11, r1, 0x30
/* 803BD714 003B9374  4B E0 9A 59 */	bl _restgpr_25
/* 803BD718 003B9378  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BD71C 003B937C  7C 08 03 A6 */	mtlr r0
/* 803BD720 003B9380  38 21 00 30 */	addi r1, r1, 0x30
/* 803BD724 003B9384  4E 80 00 20 */	blr 

.global func_803BD728
func_803BD728:
/* 803BD728 003B9388  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BD72C 003B938C  7C 08 02 A6 */	mflr r0
/* 803BD730 003B9390  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BD734 003B9394  39 61 00 20 */	addi r11, r1, 0x20
/* 803BD738 003B9398  4B E0 99 F5 */	bl _savegpr_28
/* 803BD73C 003B939C  80 A3 21 3C */	lwz r5, 0x213c(r3)
/* 803BD740 003B93A0  3B C0 00 00 */	li r30, 0
/* 803BD744 003B93A4  80 83 21 40 */	lwz r4, 0x2140(r3)
/* 803BD748 003B93A8  38 00 FE A1 */	li r0, -351
/* 803BD74C 003B93AC  38 C0 00 FF */	li r6, 0xff
/* 803BD750 003B93B0  54 A5 00 10 */	rlwinm r5, r5, 0, 0, 8
/* 803BD754 003B93B4  7C 80 00 38 */	and r0, r4, r0
/* 803BD758 003B93B8  38 E0 00 01 */	li r7, 1
/* 803BD75C 003B93BC  38 80 00 0A */	li r4, 0xa
/* 803BD760 003B93C0  93 C3 21 44 */	stw r30, 0x2144(r3)
/* 803BD764 003B93C4  7C 7C 1B 78 */	mr r28, r3
/* 803BD768 003B93C8  3B A0 00 00 */	li r29, 0
/* 803BD76C 003B93CC  90 E3 21 50 */	stw r7, 0x2150(r3)
/* 803BD770 003B93D0  3B E0 00 06 */	li r31, 6
/* 803BD774 003B93D4  93 C3 21 4C */	stw r30, 0x214c(r3)
/* 803BD778 003B93D8  93 C3 21 54 */	stw r30, 0x2154(r3)
/* 803BD77C 003B93DC  90 83 21 58 */	stw r4, 0x2158(r3)
/* 803BD780 003B93E0  93 C3 21 60 */	stw r30, 0x2160(r3)
/* 803BD784 003B93E4  93 C3 21 64 */	stw r30, 0x2164(r3)
/* 803BD788 003B93E8  93 C3 21 6C */	stw r30, 0x216c(r3)
/* 803BD78C 003B93EC  90 C3 00 74 */	stw r6, 0x74(r3)
/* 803BD790 003B93F0  93 C3 21 70 */	stw r30, 0x2170(r3)
/* 803BD794 003B93F4  93 C3 21 74 */	stw r30, 0x2174(r3)
/* 803BD798 003B93F8  93 C3 21 78 */	stw r30, 0x2178(r3)
/* 803BD79C 003B93FC  93 C3 00 88 */	stw r30, 0x88(r3)
/* 803BD7A0 003B9400  93 C3 00 8C */	stw r30, 0x8c(r3)
/* 803BD7A4 003B9404  90 C3 00 94 */	stw r6, 0x94(r3)
/* 803BD7A8 003B9408  9B C3 21 7C */	stb r30, 0x217c(r3)
/* 803BD7AC 003B940C  9B C3 21 7D */	stb r30, 0x217d(r3)
/* 803BD7B0 003B9410  9B C3 21 7E */	stb r30, 0x217e(r3)
/* 803BD7B4 003B9414  93 C3 21 80 */	stw r30, 0x2180(r3)
/* 803BD7B8 003B9418  93 C3 00 38 */	stw r30, 0x38(r3)
/* 803BD7BC 003B941C  93 C3 21 84 */	stw r30, 0x2184(r3)
/* 803BD7C0 003B9420  93 C3 21 88 */	stw r30, 0x2188(r3)
/* 803BD7C4 003B9424  93 C3 00 10 */	stw r30, 0x10(r3)
/* 803BD7C8 003B9428  93 C3 00 18 */	stw r30, 0x18(r3)
/* 803BD7CC 003B942C  93 C3 00 20 */	stw r30, 0x20(r3)
/* 803BD7D0 003B9430  93 C3 00 28 */	stw r30, 0x28(r3)
/* 803BD7D4 003B9434  93 C3 00 30 */	stw r30, 0x30(r3)
/* 803BD7D8 003B9438  93 C3 00 3C */	stw r30, 0x3c(r3)
/* 803BD7DC 003B943C  93 C3 00 40 */	stw r30, 0x40(r3)
/* 803BD7E0 003B9440  93 C3 00 48 */	stw r30, 0x48(r3)
/* 803BD7E4 003B9444  93 C3 00 4C */	stw r30, 0x4c(r3)
/* 803BD7E8 003B9448  93 C3 00 50 */	stw r30, 0x50(r3)
/* 803BD7EC 003B944C  93 C3 00 54 */	stw r30, 0x54(r3)
/* 803BD7F0 003B9450  90 A3 21 3C */	stw r5, 0x213c(r3)
/* 803BD7F4 003B9454  90 03 21 40 */	stw r0, 0x2140(r3)
/* 803BD7F8 003B9458  9B C3 31 20 */	stb r30, 0x3120(r3)
lbl_803BD7FC:
/* 803BD7FC 003B945C  7C 7C F2 14 */	add r3, r28, r30
/* 803BD800 003B9460  38 80 00 00 */	li r4, 0
/* 803BD804 003B9464  38 63 02 D4 */	addi r3, r3, 0x2d4
/* 803BD808 003B9468  38 A0 00 1C */	li r5, 0x1c
/* 803BD80C 003B946C  4B C4 68 F9 */	bl memset
/* 803BD810 003B9470  7C 7C EA 14 */	add r3, r28, r29
/* 803BD814 003B9474  3B BD 00 01 */	addi r29, r29, 1
/* 803BD818 003B9478  2C 1D 00 04 */	cmpwi r29, 4
/* 803BD81C 003B947C  9B E3 21 A4 */	stb r31, 0x21a4(r3)
/* 803BD820 003B9480  3B DE 00 1C */	addi r30, r30, 0x1c
/* 803BD824 003B9484  41 80 FF D8 */	blt lbl_803BD7FC
/* 803BD828 003B9488  39 61 00 20 */	addi r11, r1, 0x20
/* 803BD82C 003B948C  4B E0 99 4D */	bl _restgpr_28
/* 803BD830 003B9490  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BD834 003B9494  7C 08 03 A6 */	mtlr r0
/* 803BD838 003B9498  38 21 00 20 */	addi r1, r1, 0x20
/* 803BD83C 003B949C  4E 80 00 20 */	blr 

.global func_803BD840
func_803BD840:
/* 803BD840 003B94A0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BD844 003B94A4  7C 08 02 A6 */	mflr r0
/* 803BD848 003B94A8  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BD84C 003B94AC  39 61 00 30 */	addi r11, r1, 0x30
/* 803BD850 003B94B0  4B E0 98 D1 */	bl _savegpr_25
/* 803BD854 003B94B4  7C 79 1B 78 */	mr r25, r3
/* 803BD858 003B94B8  7C 9A 23 78 */	mr r26, r4
/* 803BD85C 003B94BC  3B 60 00 00 */	li r27, 0
/* 803BD860 003B94C0  3B E0 00 00 */	li r31, 0
/* 803BD864 003B94C4  3B A0 00 FF */	li r29, 0xff
/* 803BD868 003B94C8  3B C0 00 06 */	li r30, 6
lbl_803BD86C:
/* 803BD86C 003B94CC  7F 9A FA 14 */	add r28, r26, r31
/* 803BD870 003B94D0  7C 7A DA 14 */	add r3, r26, r27
/* 803BD874 003B94D4  B3 BC 30 6C */	sth r29, 0x306c(r28)
/* 803BD878 003B94D8  9B C3 21 A0 */	stb r30, 0x21a0(r3)
/* 803BD87C 003B94DC  48 01 BF 3D */	bl func_803D97B8
/* 803BD880 003B94E0  3B 7B 00 01 */	addi r27, r27, 1
/* 803BD884 003B94E4  B0 7C 31 0C */	sth r3, 0x310c(r28)
/* 803BD888 003B94E8  2C 1B 00 04 */	cmpwi r27, 4
/* 803BD88C 003B94EC  3B FF 00 02 */	addi r31, r31, 2
/* 803BD890 003B94F0  41 80 FF DC */	blt lbl_803BD86C
/* 803BD894 003B94F4  38 00 00 01 */	li r0, 1
/* 803BD898 003B94F8  7F 23 CB 78 */	mr r3, r25
/* 803BD89C 003B94FC  90 1A 21 68 */	stw r0, 0x2168(r26)
/* 803BD8A0 003B9500  90 1A 01 74 */	stw r0, 0x174(r26)
/* 803BD8A4 003B9504  4B FE EF 9D */	bl func_803AC840
/* 803BD8A8 003B9508  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BD8AC 003B950C  40 82 00 2C */	bne lbl_803BD8D8
/* 803BD8B0 003B9510  38 60 00 02 */	li r3, 2
/* 803BD8B4 003B9514  48 02 00 6D */	bl func_803DD920
/* 803BD8B8 003B9518  88 1A 31 08 */	lbz r0, 0x3108(r26)
/* 803BD8BC 003B951C  7C 00 1B 78 */	or r0, r0, r3
/* 803BD8C0 003B9520  38 60 00 03 */	li r3, 3
/* 803BD8C4 003B9524  98 1A 31 08 */	stb r0, 0x3108(r26)
/* 803BD8C8 003B9528  48 02 00 59 */	bl func_803DD920
/* 803BD8CC 003B952C  88 1A 31 08 */	lbz r0, 0x3108(r26)
/* 803BD8D0 003B9530  7C 00 1B 78 */	or r0, r0, r3
/* 803BD8D4 003B9534  98 1A 31 08 */	stb r0, 0x3108(r26)
lbl_803BD8D8:
/* 803BD8D8 003B9538  38 00 00 06 */	li r0, 6
/* 803BD8DC 003B953C  39 61 00 30 */	addi r11, r1, 0x30
/* 803BD8E0 003B9540  98 1A 31 1C */	stb r0, 0x311c(r26)
/* 803BD8E4 003B9544  98 1A 31 1D */	stb r0, 0x311d(r26)
/* 803BD8E8 003B9548  4B E0 98 85 */	bl _restgpr_25
/* 803BD8EC 003B954C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BD8F0 003B9550  7C 08 03 A6 */	mtlr r0
/* 803BD8F4 003B9554  38 21 00 30 */	addi r1, r1, 0x30
/* 803BD8F8 003B9558  4E 80 00 20 */	blr 

.global func_803BD8FC
func_803BD8FC:
/* 803BD8FC 003B955C  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 803BD900 003B9560  7C 08 02 A6 */	mflr r0
/* 803BD904 003B9564  90 01 00 84 */	stw r0, 0x84(r1)
/* 803BD908 003B9568  39 61 00 80 */	addi r11, r1, 0x80
/* 803BD90C 003B956C  4B E0 97 F9 */	bl _savegpr_18
/* 803BD910 003B9570  1F 45 00 C0 */	mulli r26, r5, 0xc0
/* 803BD914 003B9574  7C 97 23 78 */	mr r23, r4
/* 803BD918 003B9578  7C B8 2B 78 */	mr r24, r5
/* 803BD91C 003B957C  7C 76 1B 78 */	mr r22, r3
/* 803BD920 003B9580  7F A4 D2 14 */	add r29, r4, r26
/* 803BD924 003B9584  82 5D 2D C8 */	lwz r18, 0x2dc8(r29)
/* 803BD928 003B9588  82 7D 2D CC */	lwz r19, 0x2dcc(r29)
/* 803BD92C 003B958C  82 9D 2D D0 */	lwz r20, 0x2dd0(r29)
/* 803BD930 003B9590  83 FD 2D D4 */	lwz r31, 0x2dd4(r29)
/* 803BD934 003B9594  83 DD 2D D8 */	lwz r30, 0x2dd8(r29)
/* 803BD938 003B9598  83 9D 2D DC */	lwz r28, 0x2ddc(r29)
/* 803BD93C 003B959C  83 7D 2D E0 */	lwz r27, 0x2de0(r29)
/* 803BD940 003B95A0  83 3D 2D E4 */	lwz r25, 0x2de4(r29)
/* 803BD944 003B95A4  A2 BD 2D E8 */	lhz r21, 0x2de8(r29)
/* 803BD948 003B95A8  A1 9D 2D EA */	lhz r12, 0x2dea(r29)
/* 803BD94C 003B95AC  A1 7D 2D EC */	lhz r11, 0x2dec(r29)
/* 803BD950 003B95B0  A1 5D 2D EE */	lhz r10, 0x2dee(r29)
/* 803BD954 003B95B4  A1 3D 2D F0 */	lhz r9, 0x2df0(r29)
/* 803BD958 003B95B8  A1 1D 2D F2 */	lhz r8, 0x2df2(r29)
/* 803BD95C 003B95BC  A0 FD 2D F4 */	lhz r7, 0x2df4(r29)
/* 803BD960 003B95C0  A0 DD 2D F6 */	lhz r6, 0x2df6(r29)
/* 803BD964 003B95C4  A0 BD 2D F8 */	lhz r5, 0x2df8(r29)
/* 803BD968 003B95C8  A0 9D 2D FA */	lhz r4, 0x2dfa(r29)
/* 803BD96C 003B95CC  80 1D 2D FC */	lwz r0, 0x2dfc(r29)
/* 803BD970 003B95D0  92 41 00 08 */	stw r18, 8(r1)
/* 803BD974 003B95D4  92 61 00 0C */	stw r19, 0xc(r1)
/* 803BD978 003B95D8  92 81 00 10 */	stw r20, 0x10(r1)
/* 803BD97C 003B95DC  93 E1 00 14 */	stw r31, 0x14(r1)
/* 803BD980 003B95E0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803BD984 003B95E4  93 81 00 1C */	stw r28, 0x1c(r1)
/* 803BD988 003B95E8  93 61 00 20 */	stw r27, 0x20(r1)
/* 803BD98C 003B95EC  93 21 00 24 */	stw r25, 0x24(r1)
/* 803BD990 003B95F0  B2 A1 00 28 */	sth r21, 0x28(r1)
/* 803BD994 003B95F4  B1 81 00 2A */	sth r12, 0x2a(r1)
/* 803BD998 003B95F8  B1 61 00 2C */	sth r11, 0x2c(r1)
/* 803BD99C 003B95FC  B1 41 00 2E */	sth r10, 0x2e(r1)
/* 803BD9A0 003B9600  B1 21 00 30 */	sth r9, 0x30(r1)
/* 803BD9A4 003B9604  B1 01 00 32 */	sth r8, 0x32(r1)
/* 803BD9A8 003B9608  B0 E1 00 34 */	sth r7, 0x34(r1)
/* 803BD9AC 003B960C  B0 C1 00 36 */	sth r6, 0x36(r1)
/* 803BD9B0 003B9610  B0 A1 00 38 */	sth r5, 0x38(r1)
/* 803BD9B4 003B9614  B0 81 00 3A */	sth r4, 0x3a(r1)
/* 803BD9B8 003B9618  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803BD9BC 003B961C  4B FE EE A5 */	bl func_803AC860
/* 803BD9C0 003B9620  7C 7E 1B 78 */	mr r30, r3
/* 803BD9C4 003B9624  7E C3 B3 78 */	mr r3, r22
/* 803BD9C8 003B9628  4B FE EE 79 */	bl func_803AC840
/* 803BD9CC 003B962C  57 00 20 36 */	slwi r0, r24, 4
/* 803BD9D0 003B9630  38 80 00 27 */	li r4, 0x27
/* 803BD9D4 003B9634  7C 77 02 14 */	add r3, r23, r0
/* 803BD9D8 003B9638  90 83 21 A8 */	stw r4, 0x21a8(r3)
/* 803BD9DC 003B963C  80 17 21 3C */	lwz r0, 0x213c(r23)
/* 803BD9E0 003B9640  54 00 05 EF */	rlwinm. r0, r0, 0, 0x17, 0x17
/* 803BD9E4 003B9644  40 82 00 90 */	bne lbl_803BDA74
/* 803BD9E8 003B9648  38 60 00 00 */	li r3, 0
/* 803BD9EC 003B964C  7F C9 03 A6 */	mtctr r30
/* 803BD9F0 003B9650  2C 1E 00 00 */	cmpwi r30, 0
/* 803BD9F4 003B9654  40 81 00 68 */	ble lbl_803BDA5C
lbl_803BD9F8:
/* 803BD9F8 003B9658  7C D7 1A 14 */	add r6, r23, r3
/* 803BD9FC 003B965C  80 86 2D B0 */	lwz r4, 0x2db0(r6)
/* 803BDA00 003B9660  54 80 01 4B */	rlwinm. r0, r4, 0, 5, 5
/* 803BDA04 003B9664  41 82 00 1C */	beq lbl_803BDA20
/* 803BDA08 003B9668  80 06 2D CC */	lwz r0, 0x2dcc(r6)
/* 803BDA0C 003B966C  54 00 57 BE */	rlwinm r0, r0, 0xa, 0x1e, 0x1f
/* 803BDA10 003B9670  7C 18 00 40 */	cmplw r24, r0
/* 803BDA14 003B9674  40 82 00 0C */	bne lbl_803BDA20
/* 803BDA18 003B9678  54 80 01 88 */	rlwinm r0, r4, 0, 6, 4
/* 803BDA1C 003B967C  90 06 2D B0 */	stw r0, 0x2db0(r6)
lbl_803BDA20:
/* 803BDA20 003B9680  80 A6 2D C0 */	lwz r5, 0x2dc0(r6)
/* 803BDA24 003B9684  54 A0 06 F9 */	rlwinm. r0, r5, 0, 0x1b, 0x1c
/* 803BDA28 003B9688  41 82 00 2C */	beq lbl_803BDA54
/* 803BDA2C 003B968C  7C 97 1A 14 */	add r4, r23, r3
/* 803BDA30 003B9690  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803BDA34 003B9694  54 00 17 BE */	srwi r0, r0, 0x1e
/* 803BDA38 003B9698  7C 18 00 40 */	cmplw r24, r0
/* 803BDA3C 003B969C  40 82 00 18 */	bne lbl_803BDA54
/* 803BDA40 003B96A0  54 A0 07 74 */	rlwinm r0, r5, 0, 0x1d, 0x1a
/* 803BDA44 003B96A4  90 06 2D C0 */	stw r0, 0x2dc0(r6)
/* 803BDA48 003B96A8  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803BDA4C 003B96AC  54 00 00 BE */	clrlwi r0, r0, 2
/* 803BDA50 003B96B0  90 04 2D CC */	stw r0, 0x2dcc(r4)
lbl_803BDA54:
/* 803BDA54 003B96B4  38 63 00 C0 */	addi r3, r3, 0xc0
/* 803BDA58 003B96B8  42 00 FF A0 */	bdnz lbl_803BD9F8
lbl_803BDA5C:
/* 803BDA5C 003B96BC  7C 77 D2 14 */	add r3, r23, r26
/* 803BDA60 003B96C0  38 00 00 00 */	li r0, 0
/* 803BDA64 003B96C4  90 03 2D B0 */	stw r0, 0x2db0(r3)
/* 803BDA68 003B96C8  3B 63 2D C0 */	addi r27, r3, 0x2dc0
/* 803BDA6C 003B96CC  90 03 2D C0 */	stw r0, 0x2dc0(r3)
/* 803BDA70 003B96D0  48 00 00 78 */	b lbl_803BDAE8
lbl_803BDA74:
/* 803BDA74 003B96D4  3C 60 15 10 */	lis r3, 0x15100007@ha
/* 803BDA78 003B96D8  80 BD 2D B0 */	lwz r5, 0x2db0(r29)
/* 803BDA7C 003B96DC  38 03 00 07 */	addi r0, r3, 0x15100007@l
/* 803BDA80 003B96E0  7F A6 EB 78 */	mr r6, r29
/* 803BDA84 003B96E4  7C A0 00 38 */	and r0, r5, r0
/* 803BDA88 003B96E8  3C 80 0F A4 */	lis r4, 0x0FA3843F@ha
/* 803BDA8C 003B96EC  90 1D 2D B0 */	stw r0, 0x2db0(r29)
/* 803BDA90 003B96F0  38 04 84 3F */	addi r0, r4, 0x0FA3843F@l
/* 803BDA94 003B96F4  3B 66 2D C0 */	addi r27, r6, 0x2dc0
/* 803BDA98 003B96F8  38 60 00 00 */	li r3, 0
/* 803BDA9C 003B96FC  80 9D 2D C0 */	lwz r4, 0x2dc0(r29)
/* 803BDAA0 003B9700  7C 80 00 38 */	and r0, r4, r0
/* 803BDAA4 003B9704  90 1D 2D C0 */	stw r0, 0x2dc0(r29)
/* 803BDAA8 003B9708  7F C9 03 A6 */	mtctr r30
/* 803BDAAC 003B970C  2C 1E 00 00 */	cmpwi r30, 0
/* 803BDAB0 003B9710  40 81 00 38 */	ble lbl_803BDAE8
lbl_803BDAB4:
/* 803BDAB4 003B9714  7C B7 1A 14 */	add r5, r23, r3
/* 803BDAB8 003B9718  80 85 2D C0 */	lwz r4, 0x2dc0(r5)
/* 803BDABC 003B971C  54 80 06 F9 */	rlwinm. r0, r4, 0, 0x1b, 0x1c
/* 803BDAC0 003B9720  41 82 00 20 */	beq lbl_803BDAE0
/* 803BDAC4 003B9724  80 05 2D CC */	lwz r0, 0x2dcc(r5)
/* 803BDAC8 003B9728  54 00 17 BE */	srwi r0, r0, 0x1e
/* 803BDACC 003B972C  7C 18 00 40 */	cmplw r24, r0
/* 803BDAD0 003B9730  40 82 00 10 */	bne lbl_803BDAE0
/* 803BDAD4 003B9734  54 80 07 74 */	rlwinm r0, r4, 0, 0x1d, 0x1a
/* 803BDAD8 003B9738  60 00 00 10 */	ori r0, r0, 0x10
/* 803BDADC 003B973C  90 05 2D C0 */	stw r0, 0x2dc0(r5)
lbl_803BDAE0:
/* 803BDAE0 003B9740  38 63 00 C0 */	addi r3, r3, 0xc0
/* 803BDAE4 003B9744  42 00 FF D0 */	bdnz lbl_803BDAB4
lbl_803BDAE8:
/* 803BDAE8 003B9748  3B 20 00 00 */	li r25, 0
/* 803BDAEC 003B974C  3A A0 00 00 */	li r21, 0
/* 803BDAF0 003B9750  3B E0 FF FF */	li r31, -1
/* 803BDAF4 003B9754  48 00 00 6C */	b lbl_803BDB60
lbl_803BDAF8:
/* 803BDAF8 003B9758  7F 03 C3 78 */	mr r3, r24
/* 803BDAFC 003B975C  7F 97 AA 14 */	add r28, r23, r21
/* 803BDB00 003B9760  48 01 FE 21 */	bl func_803DD920
/* 803BDB04 003B9764  80 1C 2D B0 */	lwz r0, 0x2db0(r28)
/* 803BDB08 003B9768  54 63 80 1E */	slwi r3, r3, 0x10
/* 803BDB0C 003B976C  7C 00 18 39 */	and. r0, r0, r3
/* 803BDB10 003B9770  41 82 00 20 */	beq lbl_803BDB30
/* 803BDB14 003B9774  7F 03 C3 78 */	mr r3, r24
/* 803BDB18 003B9778  48 01 FE 09 */	bl func_803DD920
/* 803BDB1C 003B977C  54 63 80 1E */	slwi r3, r3, 0x10
/* 803BDB20 003B9780  80 1C 2D B0 */	lwz r0, 0x2db0(r28)
/* 803BDB24 003B9784  7C 63 FA 78 */	xor r3, r3, r31
/* 803BDB28 003B9788  7C 00 18 38 */	and r0, r0, r3
/* 803BDB2C 003B978C  90 1C 2D B0 */	stw r0, 0x2db0(r28)
lbl_803BDB30:
/* 803BDB30 003B9790  80 9C 2D B0 */	lwz r4, 0x2db0(r28)
/* 803BDB34 003B9794  54 80 04 25 */	rlwinm. r0, r4, 0, 0x10, 0x12
/* 803BDB38 003B9798  41 82 00 20 */	beq lbl_803BDB58
/* 803BDB3C 003B979C  7C 77 AA 14 */	add r3, r23, r21
/* 803BDB40 003B97A0  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BDB44 003B97A4  54 00 47 BE */	rlwinm r0, r0, 8, 0x1e, 0x1f
/* 803BDB48 003B97A8  7C 18 00 40 */	cmplw r24, r0
/* 803BDB4C 003B97AC  40 82 00 0C */	bne lbl_803BDB58
/* 803BDB50 003B97B0  54 80 04 DE */	rlwinm r0, r4, 0, 0x13, 0xf
/* 803BDB54 003B97B4  90 1C 2D B0 */	stw r0, 0x2db0(r28)
lbl_803BDB58:
/* 803BDB58 003B97B8  3B 39 00 01 */	addi r25, r25, 1
/* 803BDB5C 003B97BC  3A B5 00 C0 */	addi r21, r21, 0xc0
lbl_803BDB60:
/* 803BDB60 003B97C0  7C 19 F0 00 */	cmpw r25, r30
/* 803BDB64 003B97C4  41 80 FF 94 */	blt lbl_803BDAF8
/* 803BDB68 003B97C8  38 00 00 38 */	li r0, 0x38
/* 803BDB6C 003B97CC  38 7D 2D C8 */	addi r3, r29, 0x2dc8
/* 803BDB70 003B97D0  38 80 00 00 */	li r4, 0
/* 803BDB74 003B97D4  7C 09 03 A6 */	mtctr r0
lbl_803BDB78:
/* 803BDB78 003B97D8  98 83 00 00 */	stb r4, 0(r3)
/* 803BDB7C 003B97DC  38 63 00 01 */	addi r3, r3, 1
/* 803BDB80 003B97E0  42 00 FF F8 */	bdnz lbl_803BDB78
/* 803BDB84 003B97E4  80 17 21 3C */	lwz r0, 0x213c(r23)
/* 803BDB88 003B97E8  54 00 05 EF */	rlwinm. r0, r0, 0, 0x17, 0x17
/* 803BDB8C 003B97EC  41 82 00 48 */	beq lbl_803BDBD4
/* 803BDB90 003B97F0  80 01 00 20 */	lwz r0, 0x20(r1)
/* 803BDB94 003B97F4  7C B7 D2 14 */	add r5, r23, r26
/* 803BDB98 003B97F8  80 81 00 0C */	lwz r4, 0xc(r1)
/* 803BDB9C 003B97FC  90 05 2D E0 */	stw r0, 0x2de0(r5)
/* 803BDBA0 003B9800  80 61 00 08 */	lwz r3, 8(r1)
/* 803BDBA4 003B9804  80 05 2D CC */	lwz r0, 0x2dcc(r5)
/* 803BDBA8 003B9808  50 80 00 02 */	rlwimi r0, r4, 0, 0, 1
/* 803BDBAC 003B980C  90 05 2D CC */	stw r0, 0x2dcc(r5)
/* 803BDBB0 003B9810  80 1D 2D C8 */	lwz r0, 0x2dc8(r29)
/* 803BDBB4 003B9814  50 60 03 5C */	rlwimi r0, r3, 0, 0xd, 0xe
/* 803BDBB8 003B9818  90 1D 2D C8 */	stw r0, 0x2dc8(r29)
/* 803BDBBC 003B981C  80 05 2D CC */	lwz r0, 0x2dcc(r5)
/* 803BDBC0 003B9820  50 80 02 12 */	rlwimi r0, r4, 0, 8, 9
/* 803BDBC4 003B9824  50 80 03 5E */	rlwimi r0, r4, 0, 0xd, 0xf
/* 803BDBC8 003B9828  50 80 04 EA */	rlwimi r0, r4, 0, 0x13, 0x15
/* 803BDBCC 003B982C  50 80 04 24 */	rlwimi r0, r4, 0, 0x10, 0x12
/* 803BDBD0 003B9830  90 05 2D CC */	stw r0, 0x2dcc(r5)
lbl_803BDBD4:
/* 803BDBD4 003B9834  80 77 01 50 */	lwz r3, 0x150(r23)
/* 803BDBD8 003B9838  57 1C 08 3C */	slwi r28, r24, 1
/* 803BDBDC 003B983C  57 04 18 38 */	slwi r4, r24, 3
/* 803BDBE0 003B9840  7D 17 D2 14 */	add r8, r23, r26
/* 803BDBE4 003B9844  38 03 00 01 */	addi r0, r3, 1
/* 803BDBE8 003B9848  7C B7 E2 14 */	add r5, r23, r28
/* 803BDBEC 003B984C  90 08 2D D4 */	stw r0, 0x2dd4(r8)
/* 803BDBF0 003B9850  38 C0 00 00 */	li r6, 0
/* 803BDBF4 003B9854  38 00 00 FF */	li r0, 0xff
/* 803BDBF8 003B9858  7C 97 22 14 */	add r4, r23, r4
/* 803BDBFC 003B985C  80 F7 01 50 */	lwz r7, 0x150(r23)
/* 803BDC00 003B9860  7F 03 C3 78 */	mr r3, r24
/* 803BDC04 003B9864  38 E7 00 01 */	addi r7, r7, 1
/* 803BDC08 003B9868  90 E8 2D D8 */	stw r7, 0x2dd8(r8)
/* 803BDC0C 003B986C  81 17 01 50 */	lwz r8, 0x150(r23)
/* 803BDC10 003B9870  80 FD 2D C8 */	lwz r7, 0x2dc8(r29)
/* 803BDC14 003B9874  39 08 00 01 */	addi r8, r8, 1
/* 803BDC18 003B9878  51 07 0F BC */	rlwimi r7, r8, 1, 0x1e, 0x1e
/* 803BDC1C 003B987C  90 FD 2D C8 */	stw r7, 0x2dc8(r29)
/* 803BDC20 003B9880  B0 C5 30 5C */	sth r6, 0x305c(r5)
/* 803BDC24 003B9884  B0 C5 30 64 */	sth r6, 0x3064(r5)
/* 803BDC28 003B9888  B0 05 30 6C */	sth r0, 0x306c(r5)
/* 803BDC2C 003B988C  B0 C5 30 74 */	sth r6, 0x3074(r5)
/* 803BDC30 003B9890  B0 C5 30 7C */	sth r6, 0x307c(r5)
/* 803BDC34 003B9894  B0 C5 30 84 */	sth r6, 0x3084(r5)
/* 803BDC38 003B9898  B0 C4 30 8C */	sth r6, 0x308c(r4)
/* 803BDC3C 003B989C  B0 C4 30 8E */	sth r6, 0x308e(r4)
/* 803BDC40 003B98A0  B0 C4 30 90 */	sth r6, 0x3090(r4)
/* 803BDC44 003B98A4  B0 C4 30 92 */	sth r6, 0x3092(r4)
/* 803BDC48 003B98A8  B0 C5 30 AC */	sth r6, 0x30ac(r5)
/* 803BDC4C 003B98AC  B0 C5 30 C4 */	sth r6, 0x30c4(r5)
/* 803BDC50 003B98B0  B0 C5 30 CC */	sth r6, 0x30cc(r5)
/* 803BDC54 003B98B4  B0 C5 30 D4 */	sth r6, 0x30d4(r5)
/* 803BDC58 003B98B8  B0 C5 30 DC */	sth r6, 0x30dc(r5)
/* 803BDC5C 003B98BC  48 01 FC C5 */	bl func_803DD920
/* 803BDC60 003B98C0  54 64 40 2E */	slwi r4, r3, 8
/* 803BDC64 003B98C4  38 60 FF FF */	li r3, -1
/* 803BDC68 003B98C8  80 17 01 80 */	lwz r0, 0x180(r23)
/* 803BDC6C 003B98CC  7C 83 1A 78 */	xor r3, r4, r3
/* 803BDC70 003B98D0  7C 00 18 38 */	and r0, r0, r3
/* 803BDC74 003B98D4  90 17 01 80 */	stw r0, 0x180(r23)
/* 803BDC78 003B98D8  80 1B 00 00 */	lwz r0, 0(r27)
/* 803BDC7C 003B98DC  54 00 02 11 */	rlwinm. r0, r0, 0, 8, 8
/* 803BDC80 003B98E0  41 82 00 18 */	beq lbl_803BDC98
/* 803BDC84 003B98E4  7C 77 D2 14 */	add r3, r23, r26
/* 803BDC88 003B98E8  A0 83 2D 42 */	lhz r4, 0x2d42(r3)
/* 803BDC8C 003B98EC  A0 03 2D 44 */	lhz r0, 0x2d44(r3)
/* 803BDC90 003B98F0  B0 03 2D 42 */	sth r0, 0x2d42(r3)
/* 803BDC94 003B98F4  B0 83 2D 44 */	sth r4, 0x2d44(r3)
lbl_803BDC98:
/* 803BDC98 003B98F8  7E 57 E2 14 */	add r18, r23, r28
/* 803BDC9C 003B98FC  3A 60 00 00 */	li r19, 0
/* 803BDCA0 003B9900  3B 20 00 00 */	li r25, 0
/* 803BDCA4 003B9904  3B 40 00 00 */	li r26, 0
/* 803BDCA8 003B9908  3A A0 00 00 */	li r21, 0
/* 803BDCAC 003B990C  48 00 00 50 */	b lbl_803BDCFC
lbl_803BDCB0:
/* 803BDCB0 003B9910  7C 13 C0 00 */	cmpw r19, r24
/* 803BDCB4 003B9914  41 82 00 34 */	beq lbl_803BDCE8
/* 803BDCB8 003B9918  7E C3 B3 78 */	mr r3, r22
/* 803BDCBC 003B991C  7F 04 C3 78 */	mr r4, r24
/* 803BDCC0 003B9920  4B FE F0 25 */	bl func_803ACCE4
/* 803BDCC4 003B9924  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803BDCC8 003B9928  7E C3 B3 78 */	mr r3, r22
/* 803BDCCC 003B992C  7E 64 9B 78 */	mr r4, r19
/* 803BDCD0 003B9930  4B FE F0 15 */	bl func_803ACCE4
/* 803BDCD4 003B9934  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BDCD8 003B9938  7C 00 D8 40 */	cmplw r0, r27
/* 803BDCDC 003B993C  41 82 00 0C */	beq lbl_803BDCE8
/* 803BDCE0 003B9940  7C 77 D2 14 */	add r3, r23, r26
/* 803BDCE4 003B9944  B2 A3 30 84 */	sth r21, 0x3084(r3)
lbl_803BDCE8:
/* 803BDCE8 003B9948  7C 72 CA 14 */	add r3, r18, r25
/* 803BDCEC 003B994C  3B 39 00 08 */	addi r25, r25, 8
/* 803BDCF0 003B9950  B2 A3 30 8C */	sth r21, 0x308c(r3)
/* 803BDCF4 003B9954  3B 5A 00 02 */	addi r26, r26, 2
/* 803BDCF8 003B9958  3A 73 00 01 */	addi r19, r19, 1
lbl_803BDCFC:
/* 803BDCFC 003B995C  7C 13 F0 00 */	cmpw r19, r30
/* 803BDD00 003B9960  41 80 FF B0 */	blt lbl_803BDCB0
/* 803BDD04 003B9964  7E E3 BB 78 */	mr r3, r23
/* 803BDD08 003B9968  57 04 06 3E */	clrlwi r4, r24, 0x18
/* 803BDD0C 003B996C  48 00 B3 99 */	bl func_803C90A4
/* 803BDD10 003B9970  57 03 06 3E */	clrlwi r3, r24, 0x18
/* 803BDD14 003B9974  38 80 00 00 */	li r4, 0
/* 803BDD18 003B9978  7C 77 1A 14 */	add r3, r23, r3
/* 803BDD1C 003B997C  57 00 0D FC */	rlwinm r0, r24, 1, 0x17, 0x1e
/* 803BDD20 003B9980  98 83 03 90 */	stb r4, 0x390(r3)
/* 803BDD24 003B9984  7C 77 02 14 */	add r3, r23, r0
/* 803BDD28 003B9988  39 61 00 80 */	addi r11, r1, 0x80
/* 803BDD2C 003B998C  B0 83 03 94 */	sth r4, 0x394(r3)
/* 803BDD30 003B9990  4B E0 94 21 */	bl _restgpr_18
/* 803BDD34 003B9994  80 01 00 84 */	lwz r0, 0x84(r1)
/* 803BDD38 003B9998  7C 08 03 A6 */	mtlr r0
/* 803BDD3C 003B999C  38 21 00 80 */	addi r1, r1, 0x80
/* 803BDD40 003B99A0  4E 80 00 20 */	blr 

.global func_803BDD44
func_803BDD44:
/* 803BDD44 003B99A4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BDD48 003B99A8  7C 08 02 A6 */	mflr r0
/* 803BDD4C 003B99AC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BDD50 003B99B0  39 61 00 30 */	addi r11, r1, 0x30
/* 803BDD54 003B99B4  4B E0 93 C1 */	bl _savegpr_22
/* 803BDD58 003B99B8  7C 78 1B 78 */	mr r24, r3
/* 803BDD5C 003B99BC  7C 99 23 78 */	mr r25, r4
/* 803BDD60 003B99C0  7C BA 2B 78 */	mr r26, r5
/* 803BDD64 003B99C4  4B FE EA FD */	bl func_803AC860
/* 803BDD68 003B99C8  1F 9A 00 C0 */	mulli r28, r26, 0xc0
/* 803BDD6C 003B99CC  38 00 00 08 */	li r0, 8
/* 803BDD70 003B99D0  7C 7E 1B 78 */	mr r30, r3
/* 803BDD74 003B99D4  38 C0 00 00 */	li r6, 0
/* 803BDD78 003B99D8  7C B9 E2 14 */	add r5, r25, r28
/* 803BDD7C 003B99DC  38 80 00 06 */	li r4, 6
/* 803BDD80 003B99E0  7C 09 03 A6 */	mtctr r0
lbl_803BDD84:
/* 803BDD84 003B99E4  7C 65 32 14 */	add r3, r5, r6
/* 803BDD88 003B99E8  38 C6 00 01 */	addi r6, r6, 1
/* 803BDD8C 003B99EC  98 83 2D 58 */	stb r4, 0x2d58(r3)
/* 803BDD90 003B99F0  42 00 FF F4 */	bdnz lbl_803BDD84
/* 803BDD94 003B99F4  3B E0 00 00 */	li r31, 0
/* 803BDD98 003B99F8  7C 79 E2 14 */	add r3, r25, r28
/* 803BDD9C 003B99FC  93 E3 2D B0 */	stw r31, 0x2db0(r3)
/* 803BDDA0 003B9A00  3B 60 00 00 */	li r27, 0
/* 803BDDA4 003B9A04  3A E0 FF FF */	li r23, -1
/* 803BDDA8 003B9A08  93 E3 2D C0 */	stw r31, 0x2dc0(r3)
/* 803BDDAC 003B9A0C  48 00 00 90 */	b lbl_803BDE3C
lbl_803BDDB0:
/* 803BDDB0 003B9A10  7F B9 FA 14 */	add r29, r25, r31
/* 803BDDB4 003B9A14  80 7D 2D B0 */	lwz r3, 0x2db0(r29)
/* 803BDDB8 003B9A18  54 60 01 4B */	rlwinm. r0, r3, 0, 5, 5
/* 803BDDBC 003B9A1C  41 82 00 1C */	beq lbl_803BDDD8
/* 803BDDC0 003B9A20  80 1D 2D CC */	lwz r0, 0x2dcc(r29)
/* 803BDDC4 003B9A24  54 00 57 BE */	rlwinm r0, r0, 0xa, 0x1e, 0x1f
/* 803BDDC8 003B9A28  7C 1A 00 40 */	cmplw r26, r0
/* 803BDDCC 003B9A2C  40 82 00 0C */	bne lbl_803BDDD8
/* 803BDDD0 003B9A30  54 60 01 88 */	rlwinm r0, r3, 0, 6, 4
/* 803BDDD4 003B9A34  90 1D 2D B0 */	stw r0, 0x2db0(r29)
lbl_803BDDD8:
/* 803BDDD8 003B9A38  7F 43 D3 78 */	mr r3, r26
/* 803BDDDC 003B9A3C  48 01 FB 45 */	bl func_803DD920
/* 803BDDE0 003B9A40  80 1D 2D B0 */	lwz r0, 0x2db0(r29)
/* 803BDDE4 003B9A44  54 63 80 1E */	slwi r3, r3, 0x10
/* 803BDDE8 003B9A48  7C 00 18 39 */	and. r0, r0, r3
/* 803BDDEC 003B9A4C  41 82 00 20 */	beq lbl_803BDE0C
/* 803BDDF0 003B9A50  7F 43 D3 78 */	mr r3, r26
/* 803BDDF4 003B9A54  48 01 FB 2D */	bl func_803DD920
/* 803BDDF8 003B9A58  54 63 80 1E */	slwi r3, r3, 0x10
/* 803BDDFC 003B9A5C  80 1D 2D B0 */	lwz r0, 0x2db0(r29)
/* 803BDE00 003B9A60  7C 63 BA 78 */	xor r3, r3, r23
/* 803BDE04 003B9A64  7C 00 18 38 */	and r0, r0, r3
/* 803BDE08 003B9A68  90 1D 2D B0 */	stw r0, 0x2db0(r29)
lbl_803BDE0C:
/* 803BDE0C 003B9A6C  80 9D 2D B0 */	lwz r4, 0x2db0(r29)
/* 803BDE10 003B9A70  54 80 04 25 */	rlwinm. r0, r4, 0, 0x10, 0x12
/* 803BDE14 003B9A74  41 82 00 20 */	beq lbl_803BDE34
/* 803BDE18 003B9A78  7C 79 FA 14 */	add r3, r25, r31
/* 803BDE1C 003B9A7C  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BDE20 003B9A80  54 00 47 BE */	rlwinm r0, r0, 8, 0x1e, 0x1f
/* 803BDE24 003B9A84  7C 1A 00 40 */	cmplw r26, r0
/* 803BDE28 003B9A88  40 82 00 0C */	bne lbl_803BDE34
/* 803BDE2C 003B9A8C  54 80 04 DE */	rlwinm r0, r4, 0, 0x13, 0xf
/* 803BDE30 003B9A90  90 1D 2D B0 */	stw r0, 0x2db0(r29)
lbl_803BDE34:
/* 803BDE34 003B9A94  3B 7B 00 01 */	addi r27, r27, 1
/* 803BDE38 003B9A98  3B FF 00 C0 */	addi r31, r31, 0xc0
lbl_803BDE3C:
/* 803BDE3C 003B9A9C  7C 1B F0 00 */	cmpw r27, r30
/* 803BDE40 003B9AA0  41 80 FF 70 */	blt lbl_803BDDB0
/* 803BDE44 003B9AA4  7C 99 E2 14 */	add r4, r25, r28
/* 803BDE48 003B9AA8  38 00 00 38 */	li r0, 0x38
/* 803BDE4C 003B9AAC  38 64 2D C8 */	addi r3, r4, 0x2dc8
/* 803BDE50 003B9AB0  38 A0 00 00 */	li r5, 0
/* 803BDE54 003B9AB4  7C 09 03 A6 */	mtctr r0
lbl_803BDE58:
/* 803BDE58 003B9AB8  98 A3 00 00 */	stb r5, 0(r3)
/* 803BDE5C 003B9ABC  38 63 00 01 */	addi r3, r3, 1
/* 803BDE60 003B9AC0  42 00 FF F8 */	bdnz lbl_803BDE58
/* 803BDE64 003B9AC4  57 43 30 32 */	slwi r3, r26, 6
/* 803BDE68 003B9AC8  38 00 00 40 */	li r0, 0x40
/* 803BDE6C 003B9ACC  7C 79 1A 14 */	add r3, r25, r3
/* 803BDE70 003B9AD0  38 A0 00 00 */	li r5, 0
/* 803BDE74 003B9AD4  38 63 01 D4 */	addi r3, r3, 0x1d4
/* 803BDE78 003B9AD8  7C 09 03 A6 */	mtctr r0
lbl_803BDE7C:
/* 803BDE7C 003B9ADC  98 A3 00 00 */	stb r5, 0(r3)
/* 803BDE80 003B9AE0  38 63 00 01 */	addi r3, r3, 1
/* 803BDE84 003B9AE4  42 00 FF F8 */	bdnz lbl_803BDE7C
/* 803BDE88 003B9AE8  80 79 01 50 */	lwz r3, 0x150(r25)
/* 803BDE8C 003B9AEC  57 5D 08 3C */	slwi r29, r26, 1
/* 803BDE90 003B9AF0  57 45 18 38 */	slwi r5, r26, 3
/* 803BDE94 003B9AF4  7D 19 E2 14 */	add r8, r25, r28
/* 803BDE98 003B9AF8  38 03 00 01 */	addi r0, r3, 1
/* 803BDE9C 003B9AFC  7C D9 EA 14 */	add r6, r25, r29
/* 803BDEA0 003B9B00  90 08 2D D4 */	stw r0, 0x2dd4(r8)
/* 803BDEA4 003B9B04  3B E0 00 00 */	li r31, 0
/* 803BDEA8 003B9B08  38 00 00 FF */	li r0, 0xff
/* 803BDEAC 003B9B0C  7C B9 2A 14 */	add r5, r25, r5
/* 803BDEB0 003B9B10  80 F9 01 50 */	lwz r7, 0x150(r25)
/* 803BDEB4 003B9B14  7F 43 D3 78 */	mr r3, r26
/* 803BDEB8 003B9B18  38 E7 00 01 */	addi r7, r7, 1
/* 803BDEBC 003B9B1C  90 E8 2D D8 */	stw r7, 0x2dd8(r8)
/* 803BDEC0 003B9B20  81 19 01 50 */	lwz r8, 0x150(r25)
/* 803BDEC4 003B9B24  80 E4 2D C8 */	lwz r7, 0x2dc8(r4)
/* 803BDEC8 003B9B28  39 08 00 01 */	addi r8, r8, 1
/* 803BDECC 003B9B2C  51 07 0F BC */	rlwimi r7, r8, 1, 0x1e, 0x1e
/* 803BDED0 003B9B30  90 E4 2D C8 */	stw r7, 0x2dc8(r4)
/* 803BDED4 003B9B34  B3 E6 30 5C */	sth r31, 0x305c(r6)
/* 803BDED8 003B9B38  B3 E6 30 64 */	sth r31, 0x3064(r6)
/* 803BDEDC 003B9B3C  B0 06 30 6C */	sth r0, 0x306c(r6)
/* 803BDEE0 003B9B40  B3 E6 30 74 */	sth r31, 0x3074(r6)
/* 803BDEE4 003B9B44  B3 E6 30 7C */	sth r31, 0x307c(r6)
/* 803BDEE8 003B9B48  B3 E6 30 84 */	sth r31, 0x3084(r6)
/* 803BDEEC 003B9B4C  B3 E5 30 8C */	sth r31, 0x308c(r5)
/* 803BDEF0 003B9B50  B3 E5 30 8E */	sth r31, 0x308e(r5)
/* 803BDEF4 003B9B54  B3 E5 30 90 */	sth r31, 0x3090(r5)
/* 803BDEF8 003B9B58  B3 E5 30 92 */	sth r31, 0x3092(r5)
/* 803BDEFC 003B9B5C  B3 E6 30 AC */	sth r31, 0x30ac(r6)
/* 803BDF00 003B9B60  B3 E6 30 C4 */	sth r31, 0x30c4(r6)
/* 803BDF04 003B9B64  B3 E6 30 CC */	sth r31, 0x30cc(r6)
/* 803BDF08 003B9B68  B3 E6 30 D4 */	sth r31, 0x30d4(r6)
/* 803BDF0C 003B9B6C  B3 E6 30 DC */	sth r31, 0x30dc(r6)
/* 803BDF10 003B9B70  48 01 FA 11 */	bl func_803DD920
/* 803BDF14 003B9B74  54 64 40 2E */	slwi r4, r3, 8
/* 803BDF18 003B9B78  38 60 FF FF */	li r3, -1
/* 803BDF1C 003B9B7C  80 19 01 80 */	lwz r0, 0x180(r25)
/* 803BDF20 003B9B80  7C 83 1A 78 */	xor r3, r4, r3
/* 803BDF24 003B9B84  7E F9 EA 14 */	add r23, r25, r29
/* 803BDF28 003B9B88  3A C0 00 00 */	li r22, 0
/* 803BDF2C 003B9B8C  7C 00 18 38 */	and r0, r0, r3
/* 803BDF30 003B9B90  3B 60 00 00 */	li r27, 0
/* 803BDF34 003B9B94  90 19 01 80 */	stw r0, 0x180(r25)
/* 803BDF38 003B9B98  3B 80 00 00 */	li r28, 0
/* 803BDF3C 003B9B9C  48 00 00 50 */	b lbl_803BDF8C
lbl_803BDF40:
/* 803BDF40 003B9BA0  7C 16 D0 00 */	cmpw r22, r26
/* 803BDF44 003B9BA4  41 82 00 34 */	beq lbl_803BDF78
/* 803BDF48 003B9BA8  7F 03 C3 78 */	mr r3, r24
/* 803BDF4C 003B9BAC  7F 44 D3 78 */	mr r4, r26
/* 803BDF50 003B9BB0  4B FE ED 95 */	bl func_803ACCE4
/* 803BDF54 003B9BB4  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803BDF58 003B9BB8  7F 03 C3 78 */	mr r3, r24
/* 803BDF5C 003B9BBC  7E C4 B3 78 */	mr r4, r22
/* 803BDF60 003B9BC0  4B FE ED 85 */	bl func_803ACCE4
/* 803BDF64 003B9BC4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BDF68 003B9BC8  7C 00 E8 40 */	cmplw r0, r29
/* 803BDF6C 003B9BCC  41 82 00 0C */	beq lbl_803BDF78
/* 803BDF70 003B9BD0  7C 79 E2 14 */	add r3, r25, r28
/* 803BDF74 003B9BD4  B3 E3 30 84 */	sth r31, 0x3084(r3)
lbl_803BDF78:
/* 803BDF78 003B9BD8  7C 77 DA 14 */	add r3, r23, r27
/* 803BDF7C 003B9BDC  3B 7B 00 08 */	addi r27, r27, 8
/* 803BDF80 003B9BE0  B3 E3 30 8C */	sth r31, 0x308c(r3)
/* 803BDF84 003B9BE4  3B 9C 00 02 */	addi r28, r28, 2
/* 803BDF88 003B9BE8  3A D6 00 01 */	addi r22, r22, 1
lbl_803BDF8C:
/* 803BDF8C 003B9BEC  7C 16 F0 00 */	cmpw r22, r30
/* 803BDF90 003B9BF0  41 80 FF B0 */	blt lbl_803BDF40
/* 803BDF94 003B9BF4  57 40 10 3A */	slwi r0, r26, 2
/* 803BDF98 003B9BF8  7F 23 CB 78 */	mr r3, r25
/* 803BDF9C 003B9BFC  7C B9 02 14 */	add r5, r25, r0
/* 803BDFA0 003B9C00  57 44 06 3E */	clrlwi r4, r26, 0x18
/* 803BDFA4 003B9C04  80 05 01 3C */	lwz r0, 0x13c(r5)
/* 803BDFA8 003B9C08  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803BDFAC 003B9C0C  90 05 01 3C */	stw r0, 0x13c(r5)
/* 803BDFB0 003B9C10  48 00 B0 F5 */	bl func_803C90A4
/* 803BDFB4 003B9C14  57 43 06 3E */	clrlwi r3, r26, 0x18
/* 803BDFB8 003B9C18  38 80 00 00 */	li r4, 0
/* 803BDFBC 003B9C1C  7C 79 1A 14 */	add r3, r25, r3
/* 803BDFC0 003B9C20  57 40 0D FC */	rlwinm r0, r26, 1, 0x17, 0x1e
/* 803BDFC4 003B9C24  98 83 03 90 */	stb r4, 0x390(r3)
/* 803BDFC8 003B9C28  7C 79 02 14 */	add r3, r25, r0
/* 803BDFCC 003B9C2C  39 61 00 30 */	addi r11, r1, 0x30
/* 803BDFD0 003B9C30  B0 83 03 94 */	sth r4, 0x394(r3)
/* 803BDFD4 003B9C34  4B E0 91 8D */	bl _restgpr_22
/* 803BDFD8 003B9C38  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BDFDC 003B9C3C  7C 08 03 A6 */	mtlr r0
/* 803BDFE0 003B9C40  38 21 00 30 */	addi r1, r1, 0x30
/* 803BDFE4 003B9C44  4E 80 00 20 */	blr 

.global func_803BDFE8
func_803BDFE8:
/* 803BDFE8 003B9C48  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BDFEC 003B9C4C  7C 08 02 A6 */	mflr r0
/* 803BDFF0 003B9C50  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BDFF4 003B9C54  39 61 00 30 */	addi r11, r1, 0x30
/* 803BDFF8 003B9C58  4B E0 91 29 */	bl _savegpr_25
/* 803BDFFC 003B9C5C  7C 7C 1B 78 */	mr r28, r3
/* 803BE000 003B9C60  7C 9D 23 78 */	mr r29, r4
/* 803BE004 003B9C64  3B C0 00 00 */	li r30, 0
/* 803BE008 003B9C68  3B 60 00 00 */	li r27, 0
/* 803BE00C 003B9C6C  3B 40 00 00 */	li r26, 0
/* 803BE010 003B9C70  3B 20 00 00 */	li r25, 0
lbl_803BE014:
/* 803BE014 003B9C74  7C 7D D2 14 */	add r3, r29, r26
/* 803BE018 003B9C78  38 80 00 00 */	li r4, 0
/* 803BE01C 003B9C7C  38 63 01 D4 */	addi r3, r3, 0x1d4
/* 803BE020 003B9C80  38 A0 00 40 */	li r5, 0x40
/* 803BE024 003B9C84  4B C4 60 E1 */	bl memset
/* 803BE028 003B9C88  7C 7D CA 14 */	add r3, r29, r25
/* 803BE02C 003B9C8C  38 80 00 00 */	li r4, 0
/* 803BE030 003B9C90  38 63 03 44 */	addi r3, r3, 0x344
/* 803BE034 003B9C94  38 A0 00 04 */	li r5, 4
/* 803BE038 003B9C98  4B C4 60 CD */	bl memset
/* 803BE03C 003B9C9C  7F FD DA 14 */	add r31, r29, r27
/* 803BE040 003B9CA0  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803BE044 003B9CA4  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 803BE048 003B9CA8  90 1F 2D B0 */	stw r0, 0x2db0(r31)
/* 803BE04C 003B9CAC  80 7F 2D D0 */	lwz r3, 0x2dd0(r31)
/* 803BE050 003B9CB0  80 1D 01 50 */	lwz r0, 0x150(r29)
/* 803BE054 003B9CB4  38 63 00 01 */	addi r3, r3, 1
/* 803BE058 003B9CB8  7C 03 00 00 */	cmpw r3, r0
/* 803BE05C 003B9CBC  40 80 00 10 */	bge lbl_803BE06C
/* 803BE060 003B9CC0  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803BE064 003B9CC4  54 00 02 90 */	rlwinm r0, r0, 0, 0xa, 8
/* 803BE068 003B9CC8  90 1F 2D B0 */	stw r0, 0x2db0(r31)
lbl_803BE06C:
/* 803BE06C 003B9CCC  80 1F 2D AC */	lwz r0, 0x2dac(r31)
/* 803BE070 003B9CD0  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803BE074 003B9CD4  41 82 00 20 */	beq lbl_803BE094
/* 803BE078 003B9CD8  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803BE07C 003B9CDC  54 00 04 E7 */	rlwinm. r0, r0, 0, 0x13, 0x13
/* 803BE080 003B9CE0  41 82 00 14 */	beq lbl_803BE094
/* 803BE084 003B9CE4  7F 83 E3 78 */	mr r3, r28
/* 803BE088 003B9CE8  7F A4 EB 78 */	mr r4, r29
/* 803BE08C 003B9CEC  7F C5 F3 78 */	mr r5, r30
/* 803BE090 003B9CF0  4B FF F3 35 */	bl func_803BD3C4
lbl_803BE094:
/* 803BE094 003B9CF4  80 1F 2D AC */	lwz r0, 0x2dac(r31)
/* 803BE098 003B9CF8  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803BE09C 003B9CFC  41 82 00 18 */	beq lbl_803BE0B4
/* 803BE0A0 003B9D00  80 7F 2D B0 */	lwz r3, 0x2db0(r31)
/* 803BE0A4 003B9D04  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803BE0A8 003B9D08  41 82 00 0C */	beq lbl_803BE0B4
/* 803BE0AC 003B9D0C  54 60 05 A6 */	rlwinm r0, r3, 0, 0x16, 0x13
/* 803BE0B0 003B9D10  90 1F 2D B0 */	stw r0, 0x2db0(r31)
lbl_803BE0B4:
/* 803BE0B4 003B9D14  3B DE 00 01 */	addi r30, r30, 1
/* 803BE0B8 003B9D18  3B 5A 00 40 */	addi r26, r26, 0x40
/* 803BE0BC 003B9D1C  2C 1E 00 04 */	cmpwi r30, 4
/* 803BE0C0 003B9D20  3B 39 00 04 */	addi r25, r25, 4
/* 803BE0C4 003B9D24  3B 7B 00 C0 */	addi r27, r27, 0xc0
/* 803BE0C8 003B9D28  41 80 FF 4C */	blt lbl_803BE014
/* 803BE0CC 003B9D2C  80 7D 01 C4 */	lwz r3, 0x1c4(r29)
/* 803BE0D0 003B9D30  39 61 00 30 */	addi r11, r1, 0x30
/* 803BE0D4 003B9D34  80 1D 01 CC */	lwz r0, 0x1cc(r29)
/* 803BE0D8 003B9D38  54 63 05 66 */	rlwinm r3, r3, 0, 0x15, 0x13
/* 803BE0DC 003B9D3C  54 00 05 66 */	rlwinm r0, r0, 0, 0x15, 0x13
/* 803BE0E0 003B9D40  90 7D 01 C4 */	stw r3, 0x1c4(r29)
/* 803BE0E4 003B9D44  90 1D 01 CC */	stw r0, 0x1cc(r29)
/* 803BE0E8 003B9D48  4B E0 90 85 */	bl _restgpr_25
/* 803BE0EC 003B9D4C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BE0F0 003B9D50  7C 08 03 A6 */	mtlr r0
/* 803BE0F4 003B9D54  38 21 00 30 */	addi r1, r1, 0x30
/* 803BE0F8 003B9D58  4E 80 00 20 */	blr 

.global func_803BE0FC
func_803BE0FC:
/* 803BE0FC 003B9D5C  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803BE100 003B9D60  7C 08 02 A6 */	mflr r0
/* 803BE104 003B9D64  90 01 00 64 */	stw r0, 0x64(r1)
/* 803BE108 003B9D68  39 61 00 60 */	addi r11, r1, 0x60
/* 803BE10C 003B9D6C  4B E0 8F E9 */	bl __save_gpr
/* 803BE110 003B9D70  7C 90 23 78 */	mr r16, r4
/* 803BE114 003B9D74  7C B1 2B 78 */	mr r17, r5
/* 803BE118 003B9D78  7C 6F 1B 78 */	mr r15, r3
/* 803BE11C 003B9D7C  7C D2 33 78 */	mr r18, r6
/* 803BE120 003B9D80  7C F4 3B 78 */	mr r20, r7
/* 803BE124 003B9D84  7E 03 83 78 */	mr r3, r16
/* 803BE128 003B9D88  7E 24 8B 78 */	mr r4, r17
/* 803BE12C 003B9D8C  48 00 5C 41 */	bl func_803C3D6C
/* 803BE130 003B9D90  7C 60 1B 78 */	mr r0, r3
/* 803BE134 003B9D94  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803BE138 003B9D98  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BE13C 003B9D9C  48 01 B6 31 */	bl func_803D976C
/* 803BE140 003B9DA0  38 80 00 01 */	li r4, 1
/* 803BE144 003B9DA4  48 01 B0 E9 */	bl func_803D922C
/* 803BE148 003B9DA8  1C 11 00 C0 */	mulli r0, r17, 0xc0
/* 803BE14C 003B9DAC  3A 60 00 00 */	li r19, 0
/* 803BE150 003B9DB0  56 24 08 3C */	slwi r4, r17, 1
/* 803BE154 003B9DB4  92 61 00 10 */	stw r19, 0x10(r1)
/* 803BE158 003B9DB8  7C 7E 1B 78 */	mr r30, r3
/* 803BE15C 003B9DBC  7F B0 02 14 */	add r29, r16, r0
/* 803BE160 003B9DC0  56 80 07 FE */	clrlwi r0, r20, 0x1f
/* 803BE164 003B9DC4  56 8E 07 7A */	rlwinm r14, r20, 0, 0x1d, 0x1d
/* 803BE168 003B9DC8  90 01 00 0C */	stw r0, 0xc(r1)
/* 803BE16C 003B9DCC  56 80 07 BC */	rlwinm r0, r20, 0, 0x1e, 0x1e
/* 803BE170 003B9DD0  7F 90 22 14 */	add r28, r16, r4
/* 803BE174 003B9DD4  56 9B 07 38 */	rlwinm r27, r20, 0, 0x1c, 0x1c
/* 803BE178 003B9DD8  90 01 00 08 */	stw r0, 8(r1)
/* 803BE17C 003B9DDC  56 9A 06 F6 */	rlwinm r26, r20, 0, 0x1b, 0x1b
/* 803BE180 003B9DE0  56 99 06 B4 */	rlwinm r25, r20, 0, 0x1a, 0x1a
/* 803BE184 003B9DE4  56 98 06 72 */	rlwinm r24, r20, 0, 0x19, 0x19
/* 803BE188 003B9DE8  56 97 06 30 */	rlwinm r23, r20, 0, 0x18, 0x18
/* 803BE18C 003B9DEC  56 96 05 AC */	rlwinm r22, r20, 0, 0x16, 0x16
/* 803BE190 003B9DF0  3A BD 2D 40 */	addi r21, r29, 0x2d40
/* 803BE194 003B9DF4  3B E0 00 00 */	li r31, 0
lbl_803BE198:
/* 803BE198 003B9DF8  7E 9D FA 14 */	add r20, r29, r31
/* 803BE19C 003B9DFC  A0 14 2D 4C */	lhz r0, 0x2d4c(r20)
/* 803BE1A0 003B9E00  2C 00 00 00 */	cmpwi r0, 0
/* 803BE1A4 003B9E04  40 82 00 1C */	bne lbl_803BE1C0
/* 803BE1A8 003B9E08  80 01 00 0C */	lwz r0, 0xc(r1)
/* 803BE1AC 003B9E0C  2C 00 00 00 */	cmpwi r0, 0
/* 803BE1B0 003B9E10  41 82 00 10 */	beq lbl_803BE1C0
/* 803BE1B4 003B9E14  7E 63 9B 78 */	mr r3, r19
/* 803BE1B8 003B9E18  48 01 F7 69 */	bl func_803DD920
/* 803BE1BC 003B9E1C  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE1C0:
/* 803BE1C0 003B9E20  7C 7D 9A 14 */	add r3, r29, r19
/* 803BE1C4 003B9E24  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803BE1C8 003B9E28  2C 00 00 00 */	cmpwi r0, 0
/* 803BE1CC 003B9E2C  40 82 00 1C */	bne lbl_803BE1E8
/* 803BE1D0 003B9E30  80 01 00 08 */	lwz r0, 8(r1)
/* 803BE1D4 003B9E34  2C 00 00 00 */	cmpwi r0, 0
/* 803BE1D8 003B9E38  41 82 00 10 */	beq lbl_803BE1E8
/* 803BE1DC 003B9E3C  7E 63 9B 78 */	mr r3, r19
/* 803BE1E0 003B9E40  48 01 F7 41 */	bl func_803DD920
/* 803BE1E4 003B9E44  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE1E8:
/* 803BE1E8 003B9E48  A0 7D 2D E8 */	lhz r3, 0x2de8(r29)
/* 803BE1EC 003B9E4C  A0 14 2D 4C */	lhz r0, 0x2d4c(r20)
/* 803BE1F0 003B9E50  7C 03 00 40 */	cmplw r3, r0
/* 803BE1F4 003B9E54  40 82 00 18 */	bne lbl_803BE20C
/* 803BE1F8 003B9E58  2C 0E 00 00 */	cmpwi r14, 0
/* 803BE1FC 003B9E5C  41 82 00 10 */	beq lbl_803BE20C
/* 803BE200 003B9E60  7E 63 9B 78 */	mr r3, r19
/* 803BE204 003B9E64  48 01 F7 1D */	bl func_803DD920
/* 803BE208 003B9E68  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE20C:
/* 803BE20C 003B9E6C  A0 7C 30 7C */	lhz r3, 0x307c(r28)
/* 803BE210 003B9E70  A0 14 2D 4C */	lhz r0, 0x2d4c(r20)
/* 803BE214 003B9E74  7C 03 00 40 */	cmplw r3, r0
/* 803BE218 003B9E78  40 82 00 24 */	bne lbl_803BE23C
/* 803BE21C 003B9E7C  2C 1B 00 00 */	cmpwi r27, 0
/* 803BE220 003B9E80  41 82 00 1C */	beq lbl_803BE23C
/* 803BE224 003B9E84  80 1D 2D B0 */	lwz r0, 0x2db0(r29)
/* 803BE228 003B9E88  54 00 00 01 */	rlwinm. r0, r0, 0, 0, 0
/* 803BE22C 003B9E8C  41 82 00 10 */	beq lbl_803BE23C
/* 803BE230 003B9E90  7E 63 9B 78 */	mr r3, r19
/* 803BE234 003B9E94  48 01 F6 ED */	bl func_803DD920
/* 803BE238 003B9E98  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE23C:
/* 803BE23C 003B9E9C  80 1D 2D C8 */	lwz r0, 0x2dc8(r29)
/* 803BE240 003B9EA0  54 00 5F 7F */	rlwinm. r0, r0, 0xb, 0x1d, 0x1f
/* 803BE244 003B9EA4  41 82 00 30 */	beq lbl_803BE274
/* 803BE248 003B9EA8  2C 1A 00 00 */	cmpwi r26, 0
/* 803BE24C 003B9EAC  41 82 00 28 */	beq lbl_803BE274
/* 803BE250 003B9EB0  A0 14 2D 4C */	lhz r0, 0x2d4c(r20)
/* 803BE254 003B9EB4  54 00 20 36 */	slwi r0, r0, 4
/* 803BE258 003B9EB8  7C 70 02 14 */	add r3, r16, r0
/* 803BE25C 003B9EBC  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803BE260 003B9EC0  2C 00 00 00 */	cmpwi r0, 0
/* 803BE264 003B9EC4  40 82 00 10 */	bne lbl_803BE274
/* 803BE268 003B9EC8  7E 63 9B 78 */	mr r3, r19
/* 803BE26C 003B9ECC  48 01 F6 B5 */	bl func_803DD920
/* 803BE270 003B9ED0  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE274:
/* 803BE274 003B9ED4  A0 D4 2D 4C */	lhz r6, 0x2d4c(r20)
/* 803BE278 003B9ED8  7D E3 7B 78 */	mr r3, r15
/* 803BE27C 003B9EDC  7E 04 83 78 */	mr r4, r16
/* 803BE280 003B9EE0  7E 25 8B 78 */	mr r5, r17
/* 803BE284 003B9EE4  48 00 20 D9 */	bl func_803C035C
/* 803BE288 003B9EE8  2C 03 00 00 */	cmpwi r3, 0
/* 803BE28C 003B9EEC  41 82 00 18 */	beq lbl_803BE2A4
/* 803BE290 003B9EF0  2C 19 00 00 */	cmpwi r25, 0
/* 803BE294 003B9EF4  41 82 00 10 */	beq lbl_803BE2A4
/* 803BE298 003B9EF8  7E 63 9B 78 */	mr r3, r19
/* 803BE29C 003B9EFC  48 01 F6 85 */	bl func_803DD920
/* 803BE2A0 003B9F00  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE2A4:
/* 803BE2A4 003B9F04  A0 D4 2D 4C */	lhz r6, 0x2d4c(r20)
/* 803BE2A8 003B9F08  7D E3 7B 78 */	mr r3, r15
/* 803BE2AC 003B9F0C  7E 04 83 78 */	mr r4, r16
/* 803BE2B0 003B9F10  7E 25 8B 78 */	mr r5, r17
/* 803BE2B4 003B9F14  48 00 22 D1 */	bl func_803C0584
/* 803BE2B8 003B9F18  2C 03 00 00 */	cmpwi r3, 0
/* 803BE2BC 003B9F1C  41 82 00 18 */	beq lbl_803BE2D4
/* 803BE2C0 003B9F20  2C 18 00 00 */	cmpwi r24, 0
/* 803BE2C4 003B9F24  41 82 00 10 */	beq lbl_803BE2D4
/* 803BE2C8 003B9F28  7E 63 9B 78 */	mr r3, r19
/* 803BE2CC 003B9F2C  48 01 F6 55 */	bl func_803DD920
/* 803BE2D0 003B9F30  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE2D4:
/* 803BE2D4 003B9F34  A0 D4 2D 4C */	lhz r6, 0x2d4c(r20)
/* 803BE2D8 003B9F38  7D E3 7B 78 */	mr r3, r15
/* 803BE2DC 003B9F3C  7E 04 83 78 */	mr r4, r16
/* 803BE2E0 003B9F40  7E 25 8B 78 */	mr r5, r17
/* 803BE2E4 003B9F44  48 00 22 E5 */	bl func_803C05C8
/* 803BE2E8 003B9F48  2C 03 00 00 */	cmpwi r3, 0
/* 803BE2EC 003B9F4C  41 82 00 18 */	beq lbl_803BE304
/* 803BE2F0 003B9F50  2C 17 00 00 */	cmpwi r23, 0
/* 803BE2F4 003B9F54  41 82 00 10 */	beq lbl_803BE304
/* 803BE2F8 003B9F58  7E 63 9B 78 */	mr r3, r19
/* 803BE2FC 003B9F5C  48 01 F6 25 */	bl func_803DD920
/* 803BE300 003B9F60  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE304:
/* 803BE304 003B9F64  A0 7D 2D EC */	lhz r3, 0x2dec(r29)
/* 803BE308 003B9F68  2C 03 00 00 */	cmpwi r3, 0
/* 803BE30C 003B9F6C  41 82 00 1C */	beq lbl_803BE328
/* 803BE310 003B9F70  A0 14 2D 4C */	lhz r0, 0x2d4c(r20)
/* 803BE314 003B9F74  7C 03 00 40 */	cmplw r3, r0
/* 803BE318 003B9F78  41 82 00 10 */	beq lbl_803BE328
/* 803BE31C 003B9F7C  7E 63 9B 78 */	mr r3, r19
/* 803BE320 003B9F80  48 01 F6 01 */	bl func_803DD920
/* 803BE324 003B9F84  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE328:
/* 803BE328 003B9F88  2C 1E 00 36 */	cmpwi r30, 0x36
/* 803BE32C 003B9F8C  41 82 00 14 */	beq lbl_803BE340
/* 803BE330 003B9F90  2C 1E 00 72 */	cmpwi r30, 0x72
/* 803BE334 003B9F94  41 82 00 0C */	beq lbl_803BE340
/* 803BE338 003B9F98  2C 1E 00 7C */	cmpwi r30, 0x7c
/* 803BE33C 003B9F9C  40 82 00 50 */	bne lbl_803BE38C
lbl_803BE340:
/* 803BE340 003B9FA0  2C 16 00 00 */	cmpwi r22, 0
/* 803BE344 003B9FA4  41 82 00 48 */	beq lbl_803BE38C
/* 803BE348 003B9FA8  A0 9D 2D F8 */	lhz r4, 0x2df8(r29)
/* 803BE34C 003B9FAC  7E A3 AB 78 */	mr r3, r21
/* 803BE350 003B9FB0  48 00 03 DD */	bl func_803BE72C
/* 803BE354 003B9FB4  2C 03 00 04 */	cmpwi r3, 4
/* 803BE358 003B9FB8  40 82 00 10 */	bne lbl_803BE368
/* 803BE35C 003B9FBC  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803BE360 003B9FC0  B0 1D 2D F8 */	sth r0, 0x2df8(r29)
/* 803BE364 003B9FC4  48 00 00 28 */	b lbl_803BE38C
lbl_803BE368:
/* 803BE368 003B9FC8  A0 7D 2D F8 */	lhz r3, 0x2df8(r29)
/* 803BE36C 003B9FCC  2C 03 00 00 */	cmpwi r3, 0
/* 803BE370 003B9FD0  41 82 00 1C */	beq lbl_803BE38C
/* 803BE374 003B9FD4  A0 14 2D 4C */	lhz r0, 0x2d4c(r20)
/* 803BE378 003B9FD8  7C 03 00 40 */	cmplw r3, r0
/* 803BE37C 003B9FDC  41 82 00 10 */	beq lbl_803BE38C
/* 803BE380 003B9FE0  7E 63 9B 78 */	mr r3, r19
/* 803BE384 003B9FE4  48 01 F5 9D */	bl func_803DD920
/* 803BE388 003B9FE8  7E 52 1B 78 */	or r18, r18, r3
lbl_803BE38C:
/* 803BE38C 003B9FEC  3A 73 00 01 */	addi r19, r19, 1
/* 803BE390 003B9FF0  3B FF 00 02 */	addi r31, r31, 2
/* 803BE394 003B9FF4  2C 13 00 04 */	cmpwi r19, 4
/* 803BE398 003B9FF8  41 80 FE 00 */	blt lbl_803BE198
/* 803BE39C 003B9FFC  39 61 00 60 */	addi r11, r1, 0x60
/* 803BE3A0 003BA000  7E 43 93 78 */	mr r3, r18
/* 803BE3A4 003BA004  4B E0 8D 9D */	bl __restore_gpr
/* 803BE3A8 003BA008  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803BE3AC 003BA00C  7C 08 03 A6 */	mtlr r0
/* 803BE3B0 003BA010  38 21 00 60 */	addi r1, r1, 0x60
/* 803BE3B4 003BA014  4E 80 00 20 */	blr 

.global func_803BE3B8
func_803BE3B8:
/* 803BE3B8 003BA018  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BE3BC 003BA01C  7C 08 02 A6 */	mflr r0
/* 803BE3C0 003BA020  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BE3C4 003BA024  39 61 00 30 */	addi r11, r1, 0x30
/* 803BE3C8 003BA028  4B E0 8D 59 */	bl _savegpr_25
/* 803BE3CC 003BA02C  7C DD 33 78 */	mr r29, r6
/* 803BE3D0 003BA030  7C 7A 1B 78 */	mr r26, r3
/* 803BE3D4 003BA034  7C 9B 23 78 */	mr r27, r4
/* 803BE3D8 003BA038  7C BC 2B 78 */	mr r28, r5
/* 803BE3DC 003BA03C  7C FE 3B 78 */	mr r30, r7
/* 803BE3E0 003BA040  7F A3 EB 78 */	mr r3, r29
/* 803BE3E4 003BA044  3B E0 00 01 */	li r31, 1
/* 803BE3E8 003BA048  48 01 F5 39 */	bl func_803DD920
/* 803BE3EC 003BA04C  7C 79 1B 78 */	mr r25, r3
/* 803BE3F0 003BA050  7F 43 D3 78 */	mr r3, r26
/* 803BE3F4 003BA054  7F 64 DB 78 */	mr r4, r27
/* 803BE3F8 003BA058  7F 85 E3 78 */	mr r5, r28
/* 803BE3FC 003BA05C  38 C0 00 00 */	li r6, 0
/* 803BE400 003BA060  38 E0 00 04 */	li r7, 4
/* 803BE404 003BA064  4B FF FC F9 */	bl func_803BE0FC
/* 803BE408 003BA068  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE40C 003BA06C  41 82 00 48 */	beq lbl_803BE454
/* 803BE410 003BA070  38 60 00 0A */	li r3, 0xa
/* 803BE414 003BA074  38 00 02 61 */	li r0, 0x261
/* 803BE418 003BA078  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE41C 003BA07C  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803BE420 003BA080  7C 9B E2 14 */	add r4, r27, r28
/* 803BE424 003BA084  B0 1E 00 02 */	sth r0, 2(r30)
/* 803BE428 003BA088  57 A0 08 3C */	slwi r0, r29, 1
/* 803BE42C 003BA08C  7C 7B 1A 14 */	add r3, r27, r3
/* 803BE430 003BA090  3B E0 00 00 */	li r31, 0
/* 803BE434 003BA094  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803BE438 003BA098  7C 63 02 14 */	add r3, r3, r0
/* 803BE43C 003BA09C  54 80 40 2E */	slwi r0, r4, 8
/* 803BE440 003BA0A0  7F 80 03 78 */	or r0, r28, r0
/* 803BE444 003BA0A4  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE448 003BA0A8  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803BE44C 003BA0AC  90 1E 00 08 */	stw r0, 8(r30)
/* 803BE450 003BA0B0  48 00 02 C0 */	b lbl_803BE710
lbl_803BE454:
/* 803BE454 003BA0B4  7F A3 EB 78 */	mr r3, r29
/* 803BE458 003BA0B8  48 01 F4 C9 */	bl func_803DD920
/* 803BE45C 003BA0BC  7C 79 1B 78 */	mr r25, r3
/* 803BE460 003BA0C0  7F 43 D3 78 */	mr r3, r26
/* 803BE464 003BA0C4  7F 64 DB 78 */	mr r4, r27
/* 803BE468 003BA0C8  7F 85 E3 78 */	mr r5, r28
/* 803BE46C 003BA0CC  38 C0 00 00 */	li r6, 0
/* 803BE470 003BA0D0  38 E0 00 08 */	li r7, 8
/* 803BE474 003BA0D4  4B FF FC 89 */	bl func_803BE0FC
/* 803BE478 003BA0D8  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE47C 003BA0DC  41 82 00 30 */	beq lbl_803BE4AC
/* 803BE480 003BA0E0  38 60 00 02 */	li r3, 2
/* 803BE484 003BA0E4  38 00 02 64 */	li r0, 0x264
/* 803BE488 003BA0E8  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE48C 003BA0EC  7C 7B E2 14 */	add r3, r27, r28
/* 803BE490 003BA0F0  3B E0 00 00 */	li r31, 0
/* 803BE494 003BA0F4  B0 1E 00 02 */	sth r0, 2(r30)
/* 803BE498 003BA0F8  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803BE49C 003BA0FC  54 00 40 2E */	slwi r0, r0, 8
/* 803BE4A0 003BA100  7F 80 03 78 */	or r0, r28, r0
/* 803BE4A4 003BA104  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE4A8 003BA108  48 00 02 68 */	b lbl_803BE710
lbl_803BE4AC:
/* 803BE4AC 003BA10C  7F A3 EB 78 */	mr r3, r29
/* 803BE4B0 003BA110  48 01 F4 71 */	bl func_803DD920
/* 803BE4B4 003BA114  7C 79 1B 78 */	mr r25, r3
/* 803BE4B8 003BA118  7F 43 D3 78 */	mr r3, r26
/* 803BE4BC 003BA11C  7F 64 DB 78 */	mr r4, r27
/* 803BE4C0 003BA120  7F 85 E3 78 */	mr r5, r28
/* 803BE4C4 003BA124  38 C0 00 00 */	li r6, 0
/* 803BE4C8 003BA128  38 E0 00 10 */	li r7, 0x10
/* 803BE4CC 003BA12C  4B FF FC 31 */	bl func_803BE0FC
/* 803BE4D0 003BA130  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE4D4 003BA134  41 82 00 48 */	beq lbl_803BE51C
/* 803BE4D8 003BA138  38 60 00 0A */	li r3, 0xa
/* 803BE4DC 003BA13C  38 00 02 65 */	li r0, 0x265
/* 803BE4E0 003BA140  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE4E4 003BA144  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803BE4E8 003BA148  7C 9B E2 14 */	add r4, r27, r28
/* 803BE4EC 003BA14C  B0 1E 00 02 */	sth r0, 2(r30)
/* 803BE4F0 003BA150  57 A0 08 3C */	slwi r0, r29, 1
/* 803BE4F4 003BA154  7C 7B 1A 14 */	add r3, r27, r3
/* 803BE4F8 003BA158  3B E0 00 00 */	li r31, 0
/* 803BE4FC 003BA15C  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803BE500 003BA160  7C 63 02 14 */	add r3, r3, r0
/* 803BE504 003BA164  54 80 40 2E */	slwi r0, r4, 8
/* 803BE508 003BA168  7F 80 03 78 */	or r0, r28, r0
/* 803BE50C 003BA16C  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE510 003BA170  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803BE514 003BA174  90 1E 00 08 */	stw r0, 8(r30)
/* 803BE518 003BA178  48 00 01 F8 */	b lbl_803BE710
lbl_803BE51C:
/* 803BE51C 003BA17C  7F A3 EB 78 */	mr r3, r29
/* 803BE520 003BA180  48 01 F4 01 */	bl func_803DD920
/* 803BE524 003BA184  7C 79 1B 78 */	mr r25, r3
/* 803BE528 003BA188  7F 43 D3 78 */	mr r3, r26
/* 803BE52C 003BA18C  7F 64 DB 78 */	mr r4, r27
/* 803BE530 003BA190  7F 85 E3 78 */	mr r5, r28
/* 803BE534 003BA194  38 C0 00 00 */	li r6, 0
/* 803BE538 003BA198  38 E0 00 20 */	li r7, 0x20
/* 803BE53C 003BA19C  4B FF FB C1 */	bl func_803BE0FC
/* 803BE540 003BA1A0  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE544 003BA1A4  41 82 00 48 */	beq lbl_803BE58C
/* 803BE548 003BA1A8  38 60 00 0A */	li r3, 0xa
/* 803BE54C 003BA1AC  38 00 02 68 */	li r0, 0x268
/* 803BE550 003BA1B0  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE554 003BA1B4  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803BE558 003BA1B8  7C 9B E2 14 */	add r4, r27, r28
/* 803BE55C 003BA1BC  B0 1E 00 02 */	sth r0, 2(r30)
/* 803BE560 003BA1C0  57 A0 08 3C */	slwi r0, r29, 1
/* 803BE564 003BA1C4  7C 7B 1A 14 */	add r3, r27, r3
/* 803BE568 003BA1C8  3B E0 00 00 */	li r31, 0
/* 803BE56C 003BA1CC  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803BE570 003BA1D0  7C 63 02 14 */	add r3, r3, r0
/* 803BE574 003BA1D4  54 80 40 2E */	slwi r0, r4, 8
/* 803BE578 003BA1D8  7F 80 03 78 */	or r0, r28, r0
/* 803BE57C 003BA1DC  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE580 003BA1E0  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803BE584 003BA1E4  90 1E 00 08 */	stw r0, 8(r30)
/* 803BE588 003BA1E8  48 00 01 88 */	b lbl_803BE710
lbl_803BE58C:
/* 803BE58C 003BA1EC  7F A3 EB 78 */	mr r3, r29
/* 803BE590 003BA1F0  48 01 F3 91 */	bl func_803DD920
/* 803BE594 003BA1F4  7C 79 1B 78 */	mr r25, r3
/* 803BE598 003BA1F8  7F 43 D3 78 */	mr r3, r26
/* 803BE59C 003BA1FC  7F 64 DB 78 */	mr r4, r27
/* 803BE5A0 003BA200  7F 85 E3 78 */	mr r5, r28
/* 803BE5A4 003BA204  38 C0 00 00 */	li r6, 0
/* 803BE5A8 003BA208  38 E0 00 40 */	li r7, 0x40
/* 803BE5AC 003BA20C  4B FF FB 51 */	bl func_803BE0FC
/* 803BE5B0 003BA210  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE5B4 003BA214  41 82 00 48 */	beq lbl_803BE5FC
/* 803BE5B8 003BA218  38 60 00 0A */	li r3, 0xa
/* 803BE5BC 003BA21C  38 00 03 E9 */	li r0, 0x3e9
/* 803BE5C0 003BA220  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE5C4 003BA224  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803BE5C8 003BA228  7C 9B E2 14 */	add r4, r27, r28
/* 803BE5CC 003BA22C  B0 1E 00 02 */	sth r0, 2(r30)
/* 803BE5D0 003BA230  57 A0 08 3C */	slwi r0, r29, 1
/* 803BE5D4 003BA234  7C 7B 1A 14 */	add r3, r27, r3
/* 803BE5D8 003BA238  3B E0 00 00 */	li r31, 0
/* 803BE5DC 003BA23C  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803BE5E0 003BA240  7C 63 02 14 */	add r3, r3, r0
/* 803BE5E4 003BA244  54 80 40 2E */	slwi r0, r4, 8
/* 803BE5E8 003BA248  7F 80 03 78 */	or r0, r28, r0
/* 803BE5EC 003BA24C  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE5F0 003BA250  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803BE5F4 003BA254  90 1E 00 08 */	stw r0, 8(r30)
/* 803BE5F8 003BA258  48 00 01 18 */	b lbl_803BE710
lbl_803BE5FC:
/* 803BE5FC 003BA25C  7F A3 EB 78 */	mr r3, r29
/* 803BE600 003BA260  48 01 F3 21 */	bl func_803DD920
/* 803BE604 003BA264  7C 79 1B 78 */	mr r25, r3
/* 803BE608 003BA268  7F 43 D3 78 */	mr r3, r26
/* 803BE60C 003BA26C  7F 64 DB 78 */	mr r4, r27
/* 803BE610 003BA270  7F 85 E3 78 */	mr r5, r28
/* 803BE614 003BA274  38 C0 00 00 */	li r6, 0
/* 803BE618 003BA278  38 E0 00 80 */	li r7, 0x80
/* 803BE61C 003BA27C  4B FF FA E1 */	bl func_803BE0FC
/* 803BE620 003BA280  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE624 003BA284  41 82 00 50 */	beq lbl_803BE674
/* 803BE628 003BA288  38 00 00 22 */	li r0, 0x22
/* 803BE62C 003BA28C  38 60 04 21 */	li r3, 0x421
/* 803BE630 003BA290  98 1E 00 01 */	stb r0, 1(r30)
/* 803BE634 003BA294  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803BE638 003BA298  7C BB E2 14 */	add r5, r27, r28
/* 803BE63C 003BA29C  B0 7E 00 02 */	sth r3, 2(r30)
/* 803BE640 003BA2A0  38 80 01 79 */	li r4, 0x179
/* 803BE644 003BA2A4  7C 7B 02 14 */	add r3, r27, r0
/* 803BE648 003BA2A8  3B E0 00 00 */	li r31, 0
/* 803BE64C 003BA2AC  88 A5 21 9C */	lbz r5, 0x219c(r5)
/* 803BE650 003BA2B0  57 A0 08 3C */	slwi r0, r29, 1
/* 803BE654 003BA2B4  7C 63 02 14 */	add r3, r3, r0
/* 803BE658 003BA2B8  54 A0 40 2E */	slwi r0, r5, 8
/* 803BE65C 003BA2BC  90 9E 00 08 */	stw r4, 8(r30)
/* 803BE660 003BA2C0  7F 80 03 78 */	or r0, r28, r0
/* 803BE664 003BA2C4  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE668 003BA2C8  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803BE66C 003BA2CC  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803BE670 003BA2D0  48 00 00 A0 */	b lbl_803BE710
lbl_803BE674:
/* 803BE674 003BA2D4  7F A3 EB 78 */	mr r3, r29
/* 803BE678 003BA2D8  48 01 F2 A9 */	bl func_803DD920
/* 803BE67C 003BA2DC  7C 79 1B 78 */	mr r25, r3
/* 803BE680 003BA2E0  7F 43 D3 78 */	mr r3, r26
/* 803BE684 003BA2E4  7F 64 DB 78 */	mr r4, r27
/* 803BE688 003BA2E8  7F 85 E3 78 */	mr r5, r28
/* 803BE68C 003BA2EC  38 C0 00 00 */	li r6, 0
/* 803BE690 003BA2F0  38 E0 02 00 */	li r7, 0x200
/* 803BE694 003BA2F4  4B FF FA 69 */	bl func_803BE0FC
/* 803BE698 003BA2F8  7C 60 C8 39 */	and. r0, r3, r25
/* 803BE69C 003BA2FC  41 82 00 34 */	beq lbl_803BE6D0
/* 803BE6A0 003BA300  1C 9C 00 C0 */	mulli r4, r28, 0xc0
/* 803BE6A4 003BA304  38 60 00 18 */	li r3, 0x18
/* 803BE6A8 003BA308  38 00 03 8F */	li r0, 0x38f
/* 803BE6AC 003BA30C  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE6B0 003BA310  3B E0 00 00 */	li r31, 0
/* 803BE6B4 003BA314  B0 1E 00 02 */	sth r0, 2(r30)
/* 803BE6B8 003BA318  7C 7B 22 14 */	add r3, r27, r4
/* 803BE6BC 003BA31C  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803BE6C0 003BA320  90 1E 00 04 */	stw r0, 4(r30)
/* 803BE6C4 003BA324  A0 03 2D F8 */	lhz r0, 0x2df8(r3)
/* 803BE6C8 003BA328  90 1E 00 08 */	stw r0, 8(r30)
/* 803BE6CC 003BA32C  48 00 00 44 */	b lbl_803BE710
lbl_803BE6D0:
/* 803BE6D0 003BA330  7F A3 EB 78 */	mr r3, r29
/* 803BE6D4 003BA334  48 01 F2 4D */	bl func_803DD920
/* 803BE6D8 003BA338  7C 7D 1B 78 */	mr r29, r3
/* 803BE6DC 003BA33C  7F 43 D3 78 */	mr r3, r26
/* 803BE6E0 003BA340  7F 64 DB 78 */	mr r4, r27
/* 803BE6E4 003BA344  7F 85 E3 78 */	mr r5, r28
/* 803BE6E8 003BA348  38 C0 00 00 */	li r6, 0
/* 803BE6EC 003BA34C  38 E0 00 02 */	li r7, 2
/* 803BE6F0 003BA350  4B FF FA 0D */	bl func_803BE0FC
/* 803BE6F4 003BA354  7C 60 E8 39 */	and. r0, r3, r29
/* 803BE6F8 003BA358  41 82 00 18 */	beq lbl_803BE710
/* 803BE6FC 003BA35C  38 60 00 00 */	li r3, 0
/* 803BE700 003BA360  38 00 03 37 */	li r0, 0x337
/* 803BE704 003BA364  98 7E 00 01 */	stb r3, 1(r30)
/* 803BE708 003BA368  3B E0 00 00 */	li r31, 0
/* 803BE70C 003BA36C  B0 1E 00 02 */	sth r0, 2(r30)
lbl_803BE710:
/* 803BE710 003BA370  39 61 00 30 */	addi r11, r1, 0x30
/* 803BE714 003BA374  7F E3 FB 78 */	mr r3, r31
/* 803BE718 003BA378  4B E0 8A 55 */	bl _restgpr_25
/* 803BE71C 003BA37C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BE720 003BA380  7C 08 03 A6 */	mtlr r0
/* 803BE724 003BA384  38 21 00 30 */	addi r1, r1, 0x30
/* 803BE728 003BA388  4E 80 00 20 */	blr 

.global func_803BE72C
func_803BE72C:
/* 803BE72C 003BA38C  38 00 00 04 */	li r0, 4
/* 803BE730 003BA390  38 E0 00 00 */	li r7, 0
/* 803BE734 003BA394  38 A0 00 00 */	li r5, 0
/* 803BE738 003BA398  7C 09 03 A6 */	mtctr r0
lbl_803BE73C:
/* 803BE73C 003BA39C  7C C3 2A 14 */	add r6, r3, r5
/* 803BE740 003BA3A0  A0 06 00 0C */	lhz r0, 0xc(r6)
/* 803BE744 003BA3A4  7C 04 00 40 */	cmplw r4, r0
/* 803BE748 003BA3A8  41 82 00 10 */	beq lbl_803BE758
/* 803BE74C 003BA3AC  38 E7 00 01 */	addi r7, r7, 1
/* 803BE750 003BA3B0  38 A5 00 02 */	addi r5, r5, 2
/* 803BE754 003BA3B4  42 00 FF E8 */	bdnz lbl_803BE73C
lbl_803BE758:
/* 803BE758 003BA3B8  7C E3 3B 78 */	mr r3, r7
/* 803BE75C 003BA3BC  4E 80 00 20 */	blr 

.global func_803BE760
func_803BE760:
/* 803BE760 003BA3C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BE764 003BA3C4  7C 08 02 A6 */	mflr r0
/* 803BE768 003BA3C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BE76C 003BA3CC  39 61 00 20 */	addi r11, r1, 0x20
/* 803BE770 003BA3D0  4B E0 89 C1 */	bl _savegpr_29
/* 803BE774 003BA3D4  7C BE 2B 78 */	mr r30, r5
/* 803BE778 003BA3D8  7C 7D 1B 78 */	mr r29, r3
/* 803BE77C 003BA3DC  7C DF 33 78 */	mr r31, r6
/* 803BE780 003BA3E0  7F C4 F3 78 */	mr r4, r30
/* 803BE784 003BA3E4  48 00 55 E9 */	bl func_803C3D6C
/* 803BE788 003BA3E8  7C 60 1B 78 */	mr r0, r3
/* 803BE78C 003BA3EC  80 7D 21 20 */	lwz r3, 0x2120(r29)
/* 803BE790 003BA3F0  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BE794 003BA3F4  48 01 AF D9 */	bl func_803D976C
/* 803BE798 003BA3F8  38 80 00 01 */	li r4, 1
/* 803BE79C 003BA3FC  48 01 AA 91 */	bl func_803D922C
/* 803BE7A0 003BA400  2C 03 00 69 */	cmpwi r3, 0x69
/* 803BE7A4 003BA404  38 60 00 01 */	li r3, 1
/* 803BE7A8 003BA408  41 82 00 18 */	beq lbl_803BE7C0
/* 803BE7AC 003BA40C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803BE7B0 003BA410  7C 9D 02 14 */	add r4, r29, r0
/* 803BE7B4 003BA414  80 04 2D C0 */	lwz r0, 0x2dc0(r4)
/* 803BE7B8 003BA418  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803BE7BC 003BA41C  41 82 00 30 */	beq lbl_803BE7EC
lbl_803BE7C0:
/* 803BE7C0 003BA420  1C 1F 00 03 */	mulli r0, r31, 3
/* 803BE7C4 003BA424  3C 80 80 40 */	lis r4, lbl_80405248@ha
/* 803BE7C8 003BA428  38 84 52 48 */	addi r4, r4, lbl_80405248@l
/* 803BE7CC 003BA42C  7C 84 02 14 */	add r4, r4, r0
/* 803BE7D0 003BA430  88 04 00 01 */	lbz r0, 1(r4)
/* 803BE7D4 003BA434  28 00 00 02 */	cmplwi r0, 2
/* 803BE7D8 003BA438  40 82 00 14 */	bne lbl_803BE7EC
/* 803BE7DC 003BA43C  88 04 00 02 */	lbz r0, 2(r4)
/* 803BE7E0 003BA440  2C 00 00 00 */	cmpwi r0, 0
/* 803BE7E4 003BA444  40 82 00 08 */	bne lbl_803BE7EC
/* 803BE7E8 003BA448  38 60 00 00 */	li r3, 0
lbl_803BE7EC:
/* 803BE7EC 003BA44C  57 C0 30 32 */	slwi r0, r30, 6
/* 803BE7F0 003BA450  7C 9D 02 14 */	add r4, r29, r0
/* 803BE7F4 003BA454  80 04 01 D4 */	lwz r0, 0x1d4(r4)
/* 803BE7F8 003BA458  54 00 3F FF */	rlwinm. r0, r0, 7, 0x1f, 0x1f
/* 803BE7FC 003BA45C  41 82 00 24 */	beq lbl_803BE820
/* 803BE800 003BA460  1C 1F 00 03 */	mulli r0, r31, 3
/* 803BE804 003BA464  3C 80 80 40 */	lis r4, lbl_80405248@ha
/* 803BE808 003BA468  38 84 52 48 */	addi r4, r4, lbl_80405248@l
/* 803BE80C 003BA46C  7C 84 02 14 */	add r4, r4, r0
/* 803BE810 003BA470  88 04 00 01 */	lbz r0, 1(r4)
/* 803BE814 003BA474  28 00 00 02 */	cmplwi r0, 2
/* 803BE818 003BA478  40 82 00 08 */	bne lbl_803BE820
/* 803BE81C 003BA47C  38 60 00 00 */	li r3, 0
lbl_803BE820:
/* 803BE820 003BA480  80 1D 01 80 */	lwz r0, 0x180(r29)
/* 803BE824 003BA484  54 00 04 67 */	rlwinm. r0, r0, 0, 0x11, 0x13
/* 803BE828 003BA488  41 82 00 30 */	beq lbl_803BE858
/* 803BE82C 003BA48C  1C 1F 00 03 */	mulli r0, r31, 3
/* 803BE830 003BA490  3C 80 80 40 */	lis r4, lbl_80405248@ha
/* 803BE834 003BA494  38 84 52 48 */	addi r4, r4, lbl_80405248@l
/* 803BE838 003BA498  7C 84 02 14 */	add r4, r4, r0
/* 803BE83C 003BA49C  88 04 00 01 */	lbz r0, 1(r4)
/* 803BE840 003BA4A0  28 00 00 02 */	cmplwi r0, 2
/* 803BE844 003BA4A4  40 82 00 14 */	bne lbl_803BE858
/* 803BE848 003BA4A8  88 04 00 02 */	lbz r0, 2(r4)
/* 803BE84C 003BA4AC  2C 00 00 00 */	cmpwi r0, 0
/* 803BE850 003BA4B0  40 82 00 08 */	bne lbl_803BE858
/* 803BE854 003BA4B4  38 60 00 00 */	li r3, 0
lbl_803BE858:
/* 803BE858 003BA4B8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803BE85C 003BA4BC  7C 9D 02 14 */	add r4, r29, r0
/* 803BE860 003BA4C0  80 04 2D C0 */	lwz r0, 0x2dc0(r4)
/* 803BE864 003BA4C4  54 00 02 53 */	rlwinm. r0, r0, 0, 9, 9
/* 803BE868 003BA4C8  41 82 00 30 */	beq lbl_803BE898
/* 803BE86C 003BA4CC  1C 1F 00 03 */	mulli r0, r31, 3
/* 803BE870 003BA4D0  3C 80 80 40 */	lis r4, lbl_80405248@ha
/* 803BE874 003BA4D4  38 84 52 48 */	addi r4, r4, lbl_80405248@l
/* 803BE878 003BA4D8  7C 84 02 14 */	add r4, r4, r0
/* 803BE87C 003BA4DC  88 04 00 01 */	lbz r0, 1(r4)
/* 803BE880 003BA4E0  28 00 00 11 */	cmplwi r0, 0x11
/* 803BE884 003BA4E4  40 82 00 14 */	bne lbl_803BE898
/* 803BE888 003BA4E8  88 04 00 02 */	lbz r0, 2(r4)
/* 803BE88C 003BA4EC  2C 00 00 00 */	cmpwi r0, 0
/* 803BE890 003BA4F0  40 82 00 08 */	bne lbl_803BE898
/* 803BE894 003BA4F4  38 60 00 00 */	li r3, 0
lbl_803BE898:
/* 803BE898 003BA4F8  39 61 00 20 */	addi r11, r1, 0x20
/* 803BE89C 003BA4FC  4B E0 88 E1 */	bl _restgpr_29
/* 803BE8A0 003BA500  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BE8A4 003BA504  7C 08 03 A6 */	mtlr r0
/* 803BE8A8 003BA508  38 21 00 20 */	addi r1, r1, 0x20
/* 803BE8AC 003BA50C  4E 80 00 20 */	blr 

.global func_803BE8B0
func_803BE8B0:
/* 803BE8B0 003BA510  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803BE8B4 003BA514  7C 08 02 A6 */	mflr r0
/* 803BE8B8 003BA518  90 01 00 54 */	stw r0, 0x54(r1)
/* 803BE8BC 003BA51C  39 61 00 50 */	addi r11, r1, 0x50
/* 803BE8C0 003BA520  4B E0 88 3D */	bl _savegpr_16
/* 803BE8C4 003BA524  2C 05 00 A5 */	cmpwi r5, 0xa5
/* 803BE8C8 003BA528  7C 93 23 78 */	mr r19, r4
/* 803BE8CC 003BA52C  7C B4 2B 78 */	mr r20, r5
/* 803BE8D0 003BA530  7C D0 33 78 */	mr r16, r6
/* 803BE8D4 003BA534  7C F5 3B 78 */	mr r21, r7
/* 803BE8D8 003BA538  7D 16 43 78 */	mr r22, r8
/* 803BE8DC 003BA53C  7D 37 4B 78 */	mr r23, r9
/* 803BE8E0 003BA540  7D 58 53 78 */	mr r24, r10
/* 803BE8E4 003BA544  40 82 00 0C */	bne lbl_803BE8F0
/* 803BE8E8 003BA548  7E E3 BB 78 */	mr r3, r23
/* 803BE8EC 003BA54C  48 00 04 3C */	b lbl_803BED28
lbl_803BE8F0:
/* 803BE8F0 003BA550  7E 63 9B 78 */	mr r3, r19
/* 803BE8F4 003BA554  7E A4 AB 78 */	mr r4, r21
/* 803BE8F8 003BA558  48 00 54 75 */	bl func_803C3D6C
/* 803BE8FC 003BA55C  7C 60 1B 78 */	mr r0, r3
/* 803BE900 003BA560  80 73 21 20 */	lwz r3, 0x2120(r19)
/* 803BE904 003BA564  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BE908 003BA568  48 01 AE 65 */	bl func_803D976C
/* 803BE90C 003BA56C  38 80 00 01 */	li r4, 1
/* 803BE910 003BA570  48 01 A9 1D */	bl func_803D922C
/* 803BE914 003BA574  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 803BE918 003BA578  7E 63 9B 78 */	mr r3, r19
/* 803BE91C 003BA57C  7E A4 AB 78 */	mr r4, r21
/* 803BE920 003BA580  38 A0 00 00 */	li r5, 0
/* 803BE924 003BA584  48 00 57 DD */	bl func_803C4100
/* 803BE928 003BA588  54 79 06 3E */	clrlwi r25, r3, 0x18
/* 803BE92C 003BA58C  7E 63 9B 78 */	mr r3, r19
/* 803BE930 003BA590  7E C4 B3 78 */	mr r4, r22
/* 803BE934 003BA594  48 00 54 39 */	bl func_803C3D6C
/* 803BE938 003BA598  7C 60 1B 78 */	mr r0, r3
/* 803BE93C 003BA59C  80 73 21 20 */	lwz r3, 0x2120(r19)
/* 803BE940 003BA5A0  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BE944 003BA5A4  48 01 AE 29 */	bl func_803D976C
/* 803BE948 003BA5A8  38 80 00 01 */	li r4, 1
/* 803BE94C 003BA5AC  48 01 A8 E1 */	bl func_803D922C
/* 803BE950 003BA5B0  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803BE954 003BA5B4  7E 63 9B 78 */	mr r3, r19
/* 803BE958 003BA5B8  7E C4 B3 78 */	mr r4, r22
/* 803BE95C 003BA5BC  38 A0 00 00 */	li r5, 0
/* 803BE960 003BA5C0  48 00 57 A1 */	bl func_803C4100
/* 803BE964 003BA5C4  7E 63 9B 78 */	mr r3, r19
/* 803BE968 003BA5C8  7E A4 AB 78 */	mr r4, r21
/* 803BE96C 003BA5CC  48 00 11 AD */	bl func_803BFB18
/* 803BE970 003BA5D0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BE974 003BA5D4  28 00 00 60 */	cmplwi r0, 0x60
/* 803BE978 003BA5D8  40 82 00 0C */	bne lbl_803BE984
/* 803BE97C 003BA5DC  3B 80 00 00 */	li r28, 0
/* 803BE980 003BA5E0  48 00 00 20 */	b lbl_803BE9A0
lbl_803BE984:
/* 803BE984 003BA5E4  2C 10 00 00 */	cmpwi r16, 0
/* 803BE988 003BA5E8  41 82 00 0C */	beq lbl_803BE994
/* 803BE98C 003BA5EC  56 1C 06 3E */	clrlwi r28, r16, 0x18
/* 803BE990 003BA5F0  48 00 00 10 */	b lbl_803BE9A0
lbl_803BE994:
/* 803BE994 003BA5F4  56 80 20 36 */	slwi r0, r20, 4
/* 803BE998 003BA5F8  7C 73 02 14 */	add r3, r19, r0
/* 803BE99C 003BA5FC  8B 83 03 E2 */	lbz r28, 0x3e2(r3)
lbl_803BE9A0:
/* 803BE9A0 003BA600  80 13 21 3C */	lwz r0, 0x213c(r19)
/* 803BE9A4 003BA604  56 83 20 36 */	slwi r3, r20, 4
/* 803BE9A8 003BA608  7C 73 1A 14 */	add r3, r19, r3
/* 803BE9AC 003BA60C  54 00 05 29 */	rlwinm. r0, r0, 0, 0x14, 0x14
/* 803BE9B0 003BA610  8B 63 03 E1 */	lbz r27, 0x3e1(r3)
/* 803BE9B4 003BA614  40 82 00 68 */	bne lbl_803BEA1C
/* 803BE9B8 003BA618  7E 63 9B 78 */	mr r3, r19
/* 803BE9BC 003BA61C  7E A4 AB 78 */	mr r4, r21
/* 803BE9C0 003BA620  38 A0 00 1B */	li r5, 0x1b
/* 803BE9C4 003BA624  38 C0 00 00 */	li r6, 0
/* 803BE9C8 003BA628  4B FF C2 DD */	bl func_803BACA4
/* 803BE9CC 003BA62C  7C 1C 18 00 */	cmpw r28, r3
/* 803BE9D0 003BA630  41 82 00 20 */	beq lbl_803BE9F0
/* 803BE9D4 003BA634  7E 63 9B 78 */	mr r3, r19
/* 803BE9D8 003BA638  7E A4 AB 78 */	mr r4, r21
/* 803BE9DC 003BA63C  38 A0 00 1C */	li r5, 0x1c
/* 803BE9E0 003BA640  38 C0 00 00 */	li r6, 0
/* 803BE9E4 003BA644  4B FF C2 C1 */	bl func_803BACA4
/* 803BE9E8 003BA648  7C 1C 18 00 */	cmpw r28, r3
/* 803BE9EC 003BA64C  40 82 00 30 */	bne lbl_803BEA1C
lbl_803BE9F0:
/* 803BE9F0 003BA650  7E 63 9B 78 */	mr r3, r19
/* 803BE9F4 003BA654  7E A4 AB 78 */	mr r4, r21
/* 803BE9F8 003BA658  48 00 11 21 */	bl func_803BFB18
/* 803BE9FC 003BA65C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BEA00 003BA660  28 00 00 5B */	cmplwi r0, 0x5b
/* 803BEA04 003BA664  40 82 00 0C */	bne lbl_803BEA10
/* 803BEA08 003BA668  56 F7 08 3C */	slwi r23, r23, 1
/* 803BEA0C 003BA66C  48 00 00 10 */	b lbl_803BEA1C
lbl_803BEA10:
/* 803BEA10 003BA670  1C 77 00 0F */	mulli r3, r23, 0xf
/* 803BEA14 003BA674  38 00 00 0A */	li r0, 0xa
/* 803BEA18 003BA678  7E E3 03 D6 */	divw r23, r3, r0
lbl_803BEA1C:
/* 803BEA1C 003BA67C  7E 63 9B 78 */	mr r3, r19
/* 803BEA20 003BA680  7E A4 AB 78 */	mr r4, r21
/* 803BEA24 003BA684  7E C5 B3 78 */	mr r5, r22
/* 803BEA28 003BA688  38 C0 00 1A */	li r6, 0x1a
/* 803BEA2C 003BA68C  48 00 11 65 */	bl func_803BFB90
/* 803BEA30 003BA690  2C 03 00 01 */	cmpwi r3, 1
/* 803BEA34 003BA694  40 82 00 30 */	bne lbl_803BEA64
/* 803BEA38 003BA698  28 1C 00 04 */	cmplwi r28, 4
/* 803BEA3C 003BA69C  40 82 00 28 */	bne lbl_803BEA64
/* 803BEA40 003BA6A0  28 1D 00 69 */	cmplwi r29, 0x69
/* 803BEA44 003BA6A4  41 82 00 20 */	beq lbl_803BEA64
/* 803BEA48 003BA6A8  80 18 00 00 */	lwz r0, 0(r24)
/* 803BEA4C 003BA6AC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803BEA50 003BA6B0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803BEA54 003BA6B4  60 00 08 00 */	ori r0, r0, 0x800
/* 803BEA58 003BA6B8  90 18 00 00 */	stw r0, 0(r24)
/* 803BEA5C 003BA6BC  92 C3 00 18 */	stw r22, 0x18(r3)
/* 803BEA60 003BA6C0  48 00 01 9C */	b lbl_803BEBFC
lbl_803BEA64:
/* 803BEA64 003BA6C4  1C 96 00 C0 */	mulli r4, r22, 0xc0
/* 803BEA68 003BA6C8  7C 73 22 14 */	add r3, r19, r4
/* 803BEA6C 003BA6CC  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BEA70 003BA6D0  54 00 87 7F */	rlwinm. r0, r0, 0x10, 0x1d, 0x1f
/* 803BEA74 003BA6D4  41 82 00 30 */	beq lbl_803BEAA4
/* 803BEA78 003BA6D8  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803BEA7C 003BA6DC  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803BEA80 003BA6E0  40 82 00 24 */	bne lbl_803BEAA4
/* 803BEA84 003BA6E4  28 1C 00 04 */	cmplwi r28, 4
/* 803BEA88 003BA6E8  40 82 00 1C */	bne lbl_803BEAA4
/* 803BEA8C 003BA6EC  28 1D 00 69 */	cmplwi r29, 0x69
/* 803BEA90 003BA6F0  41 82 00 14 */	beq lbl_803BEAA4
/* 803BEA94 003BA6F4  80 18 00 00 */	lwz r0, 0(r24)
/* 803BEA98 003BA6F8  64 00 00 10 */	oris r0, r0, 0x10
/* 803BEA9C 003BA6FC  90 18 00 00 */	stw r0, 0(r24)
/* 803BEAA0 003BA700  48 00 01 5C */	b lbl_803BEBFC
lbl_803BEAA4:
/* 803BEAA4 003BA704  3E 20 80 40 */	lis r17, lbl_80405248@ha
/* 803BEAA8 003BA708  7F F3 22 14 */	add r31, r19, r4
/* 803BEAAC 003BA70C  3A 31 52 48 */	addi r17, r17, lbl_80405248@l
/* 803BEAB0 003BA710  3B A0 00 00 */	li r29, 0
/* 803BEAB4 003BA714  3A 40 00 00 */	li r18, 0
/* 803BEAB8 003BA718  48 00 01 34 */	b lbl_803BEBEC
lbl_803BEABC:
/* 803BEABC 003BA71C  28 00 00 FE */	cmplwi r0, 0xfe
/* 803BEAC0 003BA720  40 82 00 34 */	bne lbl_803BEAF4
/* 803BEAC4 003BA724  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803BEAC8 003BA728  54 00 00 85 */	rlwinm. r0, r0, 0, 2, 2
/* 803BEACC 003BA72C  40 82 01 30 */	bne lbl_803BEBFC
/* 803BEAD0 003BA730  7E 63 9B 78 */	mr r3, r19
/* 803BEAD4 003BA734  7E A4 AB 78 */	mr r4, r21
/* 803BEAD8 003BA738  48 00 10 41 */	bl func_803BFB18
/* 803BEADC 003BA73C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BEAE0 003BA740  28 00 00 71 */	cmplwi r0, 0x71
/* 803BEAE4 003BA744  41 82 01 18 */	beq lbl_803BEBFC
/* 803BEAE8 003BA748  3B BD 00 01 */	addi r29, r29, 1
/* 803BEAEC 003BA74C  3A 52 00 03 */	addi r18, r18, 3
/* 803BEAF0 003BA750  48 00 00 FC */	b lbl_803BEBEC
lbl_803BEAF4:
/* 803BEAF4 003BA754  7C 1C 00 40 */	cmplw r28, r0
/* 803BEAF8 003BA758  40 82 00 EC */	bne lbl_803BEBE4
/* 803BEAFC 003BA75C  8A 1E 00 01 */	lbz r16, 1(r30)
/* 803BEB00 003BA760  7E 63 9B 78 */	mr r3, r19
/* 803BEB04 003BA764  7E C4 B3 78 */	mr r4, r22
/* 803BEB08 003BA768  38 A0 00 1B */	li r5, 0x1b
/* 803BEB0C 003BA76C  38 C0 00 00 */	li r6, 0
/* 803BEB10 003BA770  4B FF C1 95 */	bl func_803BACA4
/* 803BEB14 003BA774  7C 10 18 00 */	cmpw r16, r3
/* 803BEB18 003BA778  40 82 00 40 */	bne lbl_803BEB58
/* 803BEB1C 003BA77C  7E 63 9B 78 */	mr r3, r19
/* 803BEB20 003BA780  7E A4 AB 78 */	mr r4, r21
/* 803BEB24 003BA784  7E C5 B3 78 */	mr r5, r22
/* 803BEB28 003BA788  7F A6 EB 78 */	mr r6, r29
/* 803BEB2C 003BA78C  4B FF FC 35 */	bl func_803BE760
/* 803BEB30 003BA790  2C 03 00 01 */	cmpwi r3, 1
/* 803BEB34 003BA794  40 82 00 24 */	bne lbl_803BEB58
/* 803BEB38 003BA798  88 BE 00 02 */	lbz r5, 2(r30)
/* 803BEB3C 003BA79C  7E 63 9B 78 */	mr r3, r19
/* 803BEB40 003BA7A0  7E A4 AB 78 */	mr r4, r21
/* 803BEB44 003BA7A4  7E E6 BB 78 */	mr r6, r23
/* 803BEB48 003BA7A8  7F 67 DB 78 */	mr r7, r27
/* 803BEB4C 003BA7AC  7F 08 C3 78 */	mr r8, r24
/* 803BEB50 003BA7B0  48 00 A3 CD */	bl func_803C8F1C
/* 803BEB54 003BA7B4  7C 77 1B 78 */	mr r23, r3
lbl_803BEB58:
/* 803BEB58 003BA7B8  7E 63 9B 78 */	mr r3, r19
/* 803BEB5C 003BA7BC  7E C4 B3 78 */	mr r4, r22
/* 803BEB60 003BA7C0  38 A0 00 1C */	li r5, 0x1c
/* 803BEB64 003BA7C4  38 C0 00 00 */	li r6, 0
/* 803BEB68 003BA7C8  4B FF C1 3D */	bl func_803BACA4
/* 803BEB6C 003BA7CC  7C 10 18 00 */	cmpw r16, r3
/* 803BEB70 003BA7D0  40 82 00 74 */	bne lbl_803BEBE4
/* 803BEB74 003BA7D4  7E 63 9B 78 */	mr r3, r19
/* 803BEB78 003BA7D8  7E C4 B3 78 */	mr r4, r22
/* 803BEB7C 003BA7DC  38 A0 00 1C */	li r5, 0x1c
/* 803BEB80 003BA7E0  38 C0 00 00 */	li r6, 0
/* 803BEB84 003BA7E4  4B FF C1 21 */	bl func_803BACA4
/* 803BEB88 003BA7E8  7C 70 1B 78 */	mr r16, r3
/* 803BEB8C 003BA7EC  7E 63 9B 78 */	mr r3, r19
/* 803BEB90 003BA7F0  7E C4 B3 78 */	mr r4, r22
/* 803BEB94 003BA7F4  38 A0 00 1B */	li r5, 0x1b
/* 803BEB98 003BA7F8  38 C0 00 00 */	li r6, 0
/* 803BEB9C 003BA7FC  4B FF C1 09 */	bl func_803BACA4
/* 803BEBA0 003BA800  7C 03 80 00 */	cmpw r3, r16
/* 803BEBA4 003BA804  41 82 00 40 */	beq lbl_803BEBE4
/* 803BEBA8 003BA808  7E 63 9B 78 */	mr r3, r19
/* 803BEBAC 003BA80C  7E A4 AB 78 */	mr r4, r21
/* 803BEBB0 003BA810  7E C5 B3 78 */	mr r5, r22
/* 803BEBB4 003BA814  7F A6 EB 78 */	mr r6, r29
/* 803BEBB8 003BA818  4B FF FB A9 */	bl func_803BE760
/* 803BEBBC 003BA81C  2C 03 00 01 */	cmpwi r3, 1
/* 803BEBC0 003BA820  40 82 00 24 */	bne lbl_803BEBE4
/* 803BEBC4 003BA824  88 BE 00 02 */	lbz r5, 2(r30)
/* 803BEBC8 003BA828  7E 63 9B 78 */	mr r3, r19
/* 803BEBCC 003BA82C  7E A4 AB 78 */	mr r4, r21
/* 803BEBD0 003BA830  7E E6 BB 78 */	mr r6, r23
/* 803BEBD4 003BA834  7F 67 DB 78 */	mr r7, r27
/* 803BEBD8 003BA838  7F 08 C3 78 */	mr r8, r24
/* 803BEBDC 003BA83C  48 00 A3 41 */	bl func_803C8F1C
/* 803BEBE0 003BA840  7C 77 1B 78 */	mr r23, r3
lbl_803BEBE4:
/* 803BEBE4 003BA844  3B BD 00 01 */	addi r29, r29, 1
/* 803BEBE8 003BA848  3A 52 00 03 */	addi r18, r18, 3
lbl_803BEBEC:
/* 803BEBEC 003BA84C  7C 11 90 AE */	lbzx r0, r17, r18
/* 803BEBF0 003BA850  7F D1 92 14 */	add r30, r17, r18
/* 803BEBF4 003BA854  28 00 00 FF */	cmplwi r0, 0xff
/* 803BEBF8 003BA858  40 82 FE C4 */	bne lbl_803BEABC
lbl_803BEBFC:
/* 803BEBFC 003BA85C  7E 63 9B 78 */	mr r3, r19
/* 803BEC00 003BA860  7E A4 AB 78 */	mr r4, r21
/* 803BEC04 003BA864  7E C5 B3 78 */	mr r5, r22
/* 803BEC08 003BA868  38 C0 00 19 */	li r6, 0x19
/* 803BEC0C 003BA86C  48 00 0F 85 */	bl func_803BFB90
/* 803BEC10 003BA870  2C 03 00 01 */	cmpwi r3, 1
/* 803BEC14 003BA874  40 82 00 48 */	bne lbl_803BEC5C
/* 803BEC18 003BA878  7E 63 9B 78 */	mr r3, r19
/* 803BEC1C 003BA87C  7E 84 A3 78 */	mr r4, r20
/* 803BEC20 003BA880  48 00 A3 F1 */	bl func_803C9010
/* 803BEC24 003BA884  2C 03 00 00 */	cmpwi r3, 0
/* 803BEC28 003BA888  41 82 00 34 */	beq lbl_803BEC5C
/* 803BEC2C 003BA88C  80 78 00 00 */	lwz r3, 0(r24)
/* 803BEC30 003BA890  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BEC34 003BA894  41 82 00 10 */	beq lbl_803BEC44
/* 803BEC38 003BA898  54 60 07 7C */	rlwinm r0, r3, 0, 0x1d, 0x1e
/* 803BEC3C 003BA89C  28 00 00 06 */	cmplwi r0, 6
/* 803BEC40 003BA8A0  40 82 00 1C */	bne lbl_803BEC5C
lbl_803BEC44:
/* 803BEC44 003BA8A4  2C 1B 00 00 */	cmpwi r27, 0
/* 803BEC48 003BA8A8  41 82 00 14 */	beq lbl_803BEC5C
/* 803BEC4C 003BA8AC  80 18 00 00 */	lwz r0, 0(r24)
/* 803BEC50 003BA8B0  64 00 00 04 */	oris r0, r0, 4
/* 803BEC54 003BA8B4  90 18 00 00 */	stw r0, 0(r24)
/* 803BEC58 003BA8B8  48 00 00 CC */	b lbl_803BED24
lbl_803BEC5C:
/* 803BEC5C 003BA8BC  80 73 21 3C */	lwz r3, 0x213c(r19)
/* 803BEC60 003BA8C0  54 60 05 29 */	rlwinm. r0, r3, 0, 0x14, 0x14
/* 803BEC64 003BA8C4  40 82 00 B4 */	bne lbl_803BED18
/* 803BEC68 003BA8C8  54 60 04 21 */	rlwinm. r0, r3, 0, 0x10, 0x10
/* 803BEC6C 003BA8CC  40 82 00 AC */	bne lbl_803BED18
/* 803BEC70 003BA8D0  80 18 00 00 */	lwz r0, 0(r24)
/* 803BEC74 003BA8D4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803BEC78 003BA8D8  41 82 00 6C */	beq lbl_803BECE4
/* 803BEC7C 003BA8DC  2C 1B 00 00 */	cmpwi r27, 0
/* 803BEC80 003BA8E0  41 82 00 64 */	beq lbl_803BECE4
/* 803BEC84 003BA8E4  7E 63 9B 78 */	mr r3, r19
/* 803BEC88 003BA8E8  7E A4 AB 78 */	mr r4, r21
/* 803BEC8C 003BA8EC  7E C5 B3 78 */	mr r5, r22
/* 803BEC90 003BA8F0  38 C0 00 6F */	li r6, 0x6f
/* 803BEC94 003BA8F4  48 00 0E FD */	bl func_803BFB90
/* 803BEC98 003BA8F8  2C 03 00 01 */	cmpwi r3, 1
/* 803BEC9C 003BA8FC  41 82 00 20 */	beq lbl_803BECBC
/* 803BECA0 003BA900  7E 63 9B 78 */	mr r3, r19
/* 803BECA4 003BA904  7E A4 AB 78 */	mr r4, r21
/* 803BECA8 003BA908  7E C5 B3 78 */	mr r5, r22
/* 803BECAC 003BA90C  38 C0 00 74 */	li r6, 0x74
/* 803BECB0 003BA910  48 00 0E E1 */	bl func_803BFB90
/* 803BECB4 003BA914  2C 03 00 01 */	cmpwi r3, 1
/* 803BECB8 003BA918  40 82 00 14 */	bne lbl_803BECCC
lbl_803BECBC:
/* 803BECBC 003BA91C  1C 77 00 03 */	mulli r3, r23, 3
/* 803BECC0 003BA920  38 80 00 04 */	li r4, 4
/* 803BECC4 003BA924  48 00 1E A5 */	bl func_803C0B68
/* 803BECC8 003BA928  7C 77 1B 78 */	mr r23, r3
lbl_803BECCC:
/* 803BECCC 003BA92C  28 1A 00 5F */	cmplwi r26, 0x5f
/* 803BECD0 003BA930  40 82 00 14 */	bne lbl_803BECE4
/* 803BECD4 003BA934  38 79 00 64 */	addi r3, r25, 0x64
/* 803BECD8 003BA938  38 00 00 64 */	li r0, 0x64
/* 803BECDC 003BA93C  7C 77 19 D6 */	mullw r3, r23, r3
/* 803BECE0 003BA940  7E E3 03 D6 */	divw r23, r3, r0
lbl_803BECE4:
/* 803BECE4 003BA944  80 18 00 00 */	lwz r0, 0(r24)
/* 803BECE8 003BA948  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803BECEC 003BA94C  41 82 00 38 */	beq lbl_803BED24
/* 803BECF0 003BA950  2C 1B 00 00 */	cmpwi r27, 0
/* 803BECF4 003BA954  41 82 00 30 */	beq lbl_803BED24
/* 803BECF8 003BA958  7E 63 9B 78 */	mr r3, r19
/* 803BECFC 003BA95C  7E A4 AB 78 */	mr r4, r21
/* 803BED00 003BA960  48 00 0E 19 */	bl func_803BFB18
/* 803BED04 003BA964  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BED08 003BA968  28 00 00 6E */	cmplwi r0, 0x6e
/* 803BED0C 003BA96C  40 82 00 18 */	bne lbl_803BED24
/* 803BED10 003BA970  56 F7 08 3C */	slwi r23, r23, 1
/* 803BED14 003BA974  48 00 00 10 */	b lbl_803BED24
lbl_803BED18:
/* 803BED18 003BA978  80 18 00 00 */	lwz r0, 0(r24)
/* 803BED1C 003BA97C  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 803BED20 003BA980  90 18 00 00 */	stw r0, 0(r24)
lbl_803BED24:
/* 803BED24 003BA984  7E E3 BB 78 */	mr r3, r23
lbl_803BED28:
/* 803BED28 003BA988  39 61 00 50 */	addi r11, r1, 0x50
/* 803BED2C 003BA98C  4B E0 84 1D */	bl _restgpr_16
/* 803BED30 003BA990  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803BED34 003BA994  7C 08 03 A6 */	mtlr r0
/* 803BED38 003BA998  38 21 00 50 */	addi r1, r1, 0x50
/* 803BED3C 003BA99C  4E 80 00 20 */	blr 

.global func_803BED40
func_803BED40:
/* 803BED40 003BA9A0  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803BED44 003BA9A4  7C 08 02 A6 */	mflr r0
/* 803BED48 003BA9A8  90 01 00 54 */	stw r0, 0x54(r1)
/* 803BED4C 003BA9AC  39 61 00 50 */	addi r11, r1, 0x50
/* 803BED50 003BA9B0  4B E0 83 AD */	bl _savegpr_16
/* 803BED54 003BA9B4  2C 05 00 A5 */	cmpwi r5, 0xa5
/* 803BED58 003BA9B8  7C 93 23 78 */	mr r19, r4
/* 803BED5C 003BA9BC  7C B4 2B 78 */	mr r20, r5
/* 803BED60 003BA9C0  7C D0 33 78 */	mr r16, r6
/* 803BED64 003BA9C4  7C F5 3B 78 */	mr r21, r7
/* 803BED68 003BA9C8  7D 16 43 78 */	mr r22, r8
/* 803BED6C 003BA9CC  7D 37 4B 78 */	mr r23, r9
/* 803BED70 003BA9D0  7D 58 53 78 */	mr r24, r10
/* 803BED74 003BA9D4  40 82 00 0C */	bne lbl_803BED80
/* 803BED78 003BA9D8  7E E3 BB 78 */	mr r3, r23
/* 803BED7C 003BA9DC  48 00 04 30 */	b lbl_803BF1AC
lbl_803BED80:
/* 803BED80 003BA9E0  7E 63 9B 78 */	mr r3, r19
/* 803BED84 003BA9E4  7E A4 AB 78 */	mr r4, r21
/* 803BED88 003BA9E8  48 00 4F E5 */	bl func_803C3D6C
/* 803BED8C 003BA9EC  7C 60 1B 78 */	mr r0, r3
/* 803BED90 003BA9F0  80 73 21 20 */	lwz r3, 0x2120(r19)
/* 803BED94 003BA9F4  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BED98 003BA9F8  48 01 A9 D5 */	bl func_803D976C
/* 803BED9C 003BA9FC  38 80 00 01 */	li r4, 1
/* 803BEDA0 003BAA00  48 01 A4 8D */	bl func_803D922C
/* 803BEDA4 003BAA04  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 803BEDA8 003BAA08  7E 63 9B 78 */	mr r3, r19
/* 803BEDAC 003BAA0C  7E A4 AB 78 */	mr r4, r21
/* 803BEDB0 003BAA10  38 A0 00 00 */	li r5, 0
/* 803BEDB4 003BAA14  48 00 53 4D */	bl func_803C4100
/* 803BEDB8 003BAA18  54 79 06 3E */	clrlwi r25, r3, 0x18
/* 803BEDBC 003BAA1C  7E 63 9B 78 */	mr r3, r19
/* 803BEDC0 003BAA20  7E C4 B3 78 */	mr r4, r22
/* 803BEDC4 003BAA24  48 00 4F A9 */	bl func_803C3D6C
/* 803BEDC8 003BAA28  7C 60 1B 78 */	mr r0, r3
/* 803BEDCC 003BAA2C  80 73 21 20 */	lwz r3, 0x2120(r19)
/* 803BEDD0 003BAA30  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BEDD4 003BAA34  48 01 A9 99 */	bl func_803D976C
/* 803BEDD8 003BAA38  38 80 00 01 */	li r4, 1
/* 803BEDDC 003BAA3C  48 01 A4 51 */	bl func_803D922C
/* 803BEDE0 003BAA40  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803BEDE4 003BAA44  7E 63 9B 78 */	mr r3, r19
/* 803BEDE8 003BAA48  7E C4 B3 78 */	mr r4, r22
/* 803BEDEC 003BAA4C  38 A0 00 00 */	li r5, 0
/* 803BEDF0 003BAA50  48 00 53 11 */	bl func_803C4100
/* 803BEDF4 003BAA54  7E 63 9B 78 */	mr r3, r19
/* 803BEDF8 003BAA58  7E A4 AB 78 */	mr r4, r21
/* 803BEDFC 003BAA5C  48 00 0D 1D */	bl func_803BFB18
/* 803BEE00 003BAA60  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BEE04 003BAA64  28 00 00 60 */	cmplwi r0, 0x60
/* 803BEE08 003BAA68  40 82 00 0C */	bne lbl_803BEE14
/* 803BEE0C 003BAA6C  3B 80 00 00 */	li r28, 0
/* 803BEE10 003BAA70  48 00 00 20 */	b lbl_803BEE30
lbl_803BEE14:
/* 803BEE14 003BAA74  2C 10 00 00 */	cmpwi r16, 0
/* 803BEE18 003BAA78  41 82 00 0C */	beq lbl_803BEE24
/* 803BEE1C 003BAA7C  56 1C 06 3E */	clrlwi r28, r16, 0x18
/* 803BEE20 003BAA80  48 00 00 10 */	b lbl_803BEE30
lbl_803BEE24:
/* 803BEE24 003BAA84  56 80 20 36 */	slwi r0, r20, 4
/* 803BEE28 003BAA88  7C 73 02 14 */	add r3, r19, r0
/* 803BEE2C 003BAA8C  8B 83 03 E2 */	lbz r28, 0x3e2(r3)
lbl_803BEE30:
/* 803BEE30 003BAA90  80 13 21 3C */	lwz r0, 0x213c(r19)
/* 803BEE34 003BAA94  56 83 20 36 */	slwi r3, r20, 4
/* 803BEE38 003BAA98  7C 73 1A 14 */	add r3, r19, r3
/* 803BEE3C 003BAA9C  54 00 05 29 */	rlwinm. r0, r0, 0, 0x14, 0x14
/* 803BEE40 003BAAA0  8B 63 03 E1 */	lbz r27, 0x3e1(r3)
/* 803BEE44 003BAAA4  40 82 00 68 */	bne lbl_803BEEAC
/* 803BEE48 003BAAA8  7E 63 9B 78 */	mr r3, r19
/* 803BEE4C 003BAAAC  7E A4 AB 78 */	mr r4, r21
/* 803BEE50 003BAAB0  38 A0 00 1B */	li r5, 0x1b
/* 803BEE54 003BAAB4  38 C0 00 00 */	li r6, 0
/* 803BEE58 003BAAB8  4B FF BE 4D */	bl func_803BACA4
/* 803BEE5C 003BAABC  7C 1C 18 00 */	cmpw r28, r3
/* 803BEE60 003BAAC0  41 82 00 20 */	beq lbl_803BEE80
/* 803BEE64 003BAAC4  7E 63 9B 78 */	mr r3, r19
/* 803BEE68 003BAAC8  7E A4 AB 78 */	mr r4, r21
/* 803BEE6C 003BAACC  38 A0 00 1C */	li r5, 0x1c
/* 803BEE70 003BAAD0  38 C0 00 00 */	li r6, 0
/* 803BEE74 003BAAD4  4B FF BE 31 */	bl func_803BACA4
/* 803BEE78 003BAAD8  7C 1C 18 00 */	cmpw r28, r3
/* 803BEE7C 003BAADC  40 82 00 30 */	bne lbl_803BEEAC
lbl_803BEE80:
/* 803BEE80 003BAAE0  7E 63 9B 78 */	mr r3, r19
/* 803BEE84 003BAAE4  7E A4 AB 78 */	mr r4, r21
/* 803BEE88 003BAAE8  48 00 0C 91 */	bl func_803BFB18
/* 803BEE8C 003BAAEC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BEE90 003BAAF0  28 00 00 5B */	cmplwi r0, 0x5b
/* 803BEE94 003BAAF4  40 82 00 0C */	bne lbl_803BEEA0
/* 803BEE98 003BAAF8  56 F7 08 3C */	slwi r23, r23, 1
/* 803BEE9C 003BAAFC  48 00 00 10 */	b lbl_803BEEAC
lbl_803BEEA0:
/* 803BEEA0 003BAB00  1C 77 00 0F */	mulli r3, r23, 0xf
/* 803BEEA4 003BAB04  38 00 00 0A */	li r0, 0xa
/* 803BEEA8 003BAB08  7E E3 03 D6 */	divw r23, r3, r0
lbl_803BEEAC:
/* 803BEEAC 003BAB0C  7E 63 9B 78 */	mr r3, r19
/* 803BEEB0 003BAB10  7E A4 AB 78 */	mr r4, r21
/* 803BEEB4 003BAB14  7E C5 B3 78 */	mr r5, r22
/* 803BEEB8 003BAB18  38 C0 00 1A */	li r6, 0x1a
/* 803BEEBC 003BAB1C  48 00 0D 89 */	bl func_803BFC44
/* 803BEEC0 003BAB20  2C 03 00 01 */	cmpwi r3, 1
/* 803BEEC4 003BAB24  40 82 00 24 */	bne lbl_803BEEE8
/* 803BEEC8 003BAB28  28 1C 00 04 */	cmplwi r28, 4
/* 803BEECC 003BAB2C  40 82 00 1C */	bne lbl_803BEEE8
/* 803BEED0 003BAB30  28 1D 00 69 */	cmplwi r29, 0x69
/* 803BEED4 003BAB34  41 82 00 14 */	beq lbl_803BEEE8
/* 803BEED8 003BAB38  80 18 00 00 */	lwz r0, 0(r24)
/* 803BEEDC 003BAB3C  60 00 08 00 */	ori r0, r0, 0x800
/* 803BEEE0 003BAB40  90 18 00 00 */	stw r0, 0(r24)
/* 803BEEE4 003BAB44  48 00 01 9C */	b lbl_803BF080
lbl_803BEEE8:
/* 803BEEE8 003BAB48  1C 96 00 C0 */	mulli r4, r22, 0xc0
/* 803BEEEC 003BAB4C  7C 73 22 14 */	add r3, r19, r4
/* 803BEEF0 003BAB50  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BEEF4 003BAB54  54 00 87 7F */	rlwinm. r0, r0, 0x10, 0x1d, 0x1f
/* 803BEEF8 003BAB58  41 82 00 30 */	beq lbl_803BEF28
/* 803BEEFC 003BAB5C  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803BEF00 003BAB60  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803BEF04 003BAB64  40 82 00 24 */	bne lbl_803BEF28
/* 803BEF08 003BAB68  28 1C 00 04 */	cmplwi r28, 4
/* 803BEF0C 003BAB6C  40 82 00 1C */	bne lbl_803BEF28
/* 803BEF10 003BAB70  28 1D 00 69 */	cmplwi r29, 0x69
/* 803BEF14 003BAB74  41 82 00 14 */	beq lbl_803BEF28
/* 803BEF18 003BAB78  80 18 00 00 */	lwz r0, 0(r24)
/* 803BEF1C 003BAB7C  64 00 00 10 */	oris r0, r0, 0x10
/* 803BEF20 003BAB80  90 18 00 00 */	stw r0, 0(r24)
/* 803BEF24 003BAB84  48 00 01 5C */	b lbl_803BF080
lbl_803BEF28:
/* 803BEF28 003BAB88  3E 20 80 40 */	lis r17, lbl_80405248@ha
/* 803BEF2C 003BAB8C  7F F3 22 14 */	add r31, r19, r4
/* 803BEF30 003BAB90  3A 31 52 48 */	addi r17, r17, lbl_80405248@l
/* 803BEF34 003BAB94  3B A0 00 00 */	li r29, 0
/* 803BEF38 003BAB98  3A 40 00 00 */	li r18, 0
/* 803BEF3C 003BAB9C  48 00 01 34 */	b lbl_803BF070
lbl_803BEF40:
/* 803BEF40 003BABA0  28 00 00 FE */	cmplwi r0, 0xfe
/* 803BEF44 003BABA4  40 82 00 34 */	bne lbl_803BEF78
/* 803BEF48 003BABA8  80 1F 2D B0 */	lwz r0, 0x2db0(r31)
/* 803BEF4C 003BABAC  54 00 00 85 */	rlwinm. r0, r0, 0, 2, 2
/* 803BEF50 003BABB0  40 82 01 30 */	bne lbl_803BF080
/* 803BEF54 003BABB4  7E 63 9B 78 */	mr r3, r19
/* 803BEF58 003BABB8  7E A4 AB 78 */	mr r4, r21
/* 803BEF5C 003BABBC  48 00 0B BD */	bl func_803BFB18
/* 803BEF60 003BABC0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BEF64 003BABC4  28 00 00 71 */	cmplwi r0, 0x71
/* 803BEF68 003BABC8  41 82 01 18 */	beq lbl_803BF080
/* 803BEF6C 003BABCC  3B BD 00 01 */	addi r29, r29, 1
/* 803BEF70 003BABD0  3A 52 00 03 */	addi r18, r18, 3
/* 803BEF74 003BABD4  48 00 00 FC */	b lbl_803BF070
lbl_803BEF78:
/* 803BEF78 003BABD8  7C 1C 00 40 */	cmplw r28, r0
/* 803BEF7C 003BABDC  40 82 00 EC */	bne lbl_803BF068
/* 803BEF80 003BABE0  8A 1E 00 01 */	lbz r16, 1(r30)
/* 803BEF84 003BABE4  7E 63 9B 78 */	mr r3, r19
/* 803BEF88 003BABE8  7E C4 B3 78 */	mr r4, r22
/* 803BEF8C 003BABEC  38 A0 00 1B */	li r5, 0x1b
/* 803BEF90 003BABF0  38 C0 00 00 */	li r6, 0
/* 803BEF94 003BABF4  4B FF BD 11 */	bl func_803BACA4
/* 803BEF98 003BABF8  7C 10 18 00 */	cmpw r16, r3
/* 803BEF9C 003BABFC  40 82 00 40 */	bne lbl_803BEFDC
/* 803BEFA0 003BAC00  7E 63 9B 78 */	mr r3, r19
/* 803BEFA4 003BAC04  7E A4 AB 78 */	mr r4, r21
/* 803BEFA8 003BAC08  7E C5 B3 78 */	mr r5, r22
/* 803BEFAC 003BAC0C  7F A6 EB 78 */	mr r6, r29
/* 803BEFB0 003BAC10  4B FF F7 B1 */	bl func_803BE760
/* 803BEFB4 003BAC14  2C 03 00 01 */	cmpwi r3, 1
/* 803BEFB8 003BAC18  40 82 00 24 */	bne lbl_803BEFDC
/* 803BEFBC 003BAC1C  88 BE 00 02 */	lbz r5, 2(r30)
/* 803BEFC0 003BAC20  7E 63 9B 78 */	mr r3, r19
/* 803BEFC4 003BAC24  7E A4 AB 78 */	mr r4, r21
/* 803BEFC8 003BAC28  7E E6 BB 78 */	mr r6, r23
/* 803BEFCC 003BAC2C  7F 67 DB 78 */	mr r7, r27
/* 803BEFD0 003BAC30  7F 08 C3 78 */	mr r8, r24
/* 803BEFD4 003BAC34  48 00 9F 49 */	bl func_803C8F1C
/* 803BEFD8 003BAC38  7C 77 1B 78 */	mr r23, r3
lbl_803BEFDC:
/* 803BEFDC 003BAC3C  7E 63 9B 78 */	mr r3, r19
/* 803BEFE0 003BAC40  7E C4 B3 78 */	mr r4, r22
/* 803BEFE4 003BAC44  38 A0 00 1C */	li r5, 0x1c
/* 803BEFE8 003BAC48  38 C0 00 00 */	li r6, 0
/* 803BEFEC 003BAC4C  4B FF BC B9 */	bl func_803BACA4
/* 803BEFF0 003BAC50  7C 10 18 00 */	cmpw r16, r3
/* 803BEFF4 003BAC54  40 82 00 74 */	bne lbl_803BF068
/* 803BEFF8 003BAC58  7E 63 9B 78 */	mr r3, r19
/* 803BEFFC 003BAC5C  7E C4 B3 78 */	mr r4, r22
/* 803BF000 003BAC60  38 A0 00 1C */	li r5, 0x1c
/* 803BF004 003BAC64  38 C0 00 00 */	li r6, 0
/* 803BF008 003BAC68  4B FF BC 9D */	bl func_803BACA4
/* 803BF00C 003BAC6C  7C 70 1B 78 */	mr r16, r3
/* 803BF010 003BAC70  7E 63 9B 78 */	mr r3, r19
/* 803BF014 003BAC74  7E C4 B3 78 */	mr r4, r22
/* 803BF018 003BAC78  38 A0 00 1B */	li r5, 0x1b
/* 803BF01C 003BAC7C  38 C0 00 00 */	li r6, 0
/* 803BF020 003BAC80  4B FF BC 85 */	bl func_803BACA4
/* 803BF024 003BAC84  7C 03 80 00 */	cmpw r3, r16
/* 803BF028 003BAC88  41 82 00 40 */	beq lbl_803BF068
/* 803BF02C 003BAC8C  7E 63 9B 78 */	mr r3, r19
/* 803BF030 003BAC90  7E A4 AB 78 */	mr r4, r21
/* 803BF034 003BAC94  7E C5 B3 78 */	mr r5, r22
/* 803BF038 003BAC98  7F A6 EB 78 */	mr r6, r29
/* 803BF03C 003BAC9C  4B FF F7 25 */	bl func_803BE760
/* 803BF040 003BACA0  2C 03 00 01 */	cmpwi r3, 1
/* 803BF044 003BACA4  40 82 00 24 */	bne lbl_803BF068
/* 803BF048 003BACA8  88 BE 00 02 */	lbz r5, 2(r30)
/* 803BF04C 003BACAC  7E 63 9B 78 */	mr r3, r19
/* 803BF050 003BACB0  7E A4 AB 78 */	mr r4, r21
/* 803BF054 003BACB4  7E E6 BB 78 */	mr r6, r23
/* 803BF058 003BACB8  7F 67 DB 78 */	mr r7, r27
/* 803BF05C 003BACBC  7F 08 C3 78 */	mr r8, r24
/* 803BF060 003BACC0  48 00 9E BD */	bl func_803C8F1C
/* 803BF064 003BACC4  7C 77 1B 78 */	mr r23, r3
lbl_803BF068:
/* 803BF068 003BACC8  3B BD 00 01 */	addi r29, r29, 1
/* 803BF06C 003BACCC  3A 52 00 03 */	addi r18, r18, 3
lbl_803BF070:
/* 803BF070 003BACD0  7C 11 90 AE */	lbzx r0, r17, r18
/* 803BF074 003BACD4  7F D1 92 14 */	add r30, r17, r18
/* 803BF078 003BACD8  28 00 00 FF */	cmplwi r0, 0xff
/* 803BF07C 003BACDC  40 82 FE C4 */	bne lbl_803BEF40
lbl_803BF080:
/* 803BF080 003BACE0  7E 63 9B 78 */	mr r3, r19
/* 803BF084 003BACE4  7E A4 AB 78 */	mr r4, r21
/* 803BF088 003BACE8  7E C5 B3 78 */	mr r5, r22
/* 803BF08C 003BACEC  38 C0 00 19 */	li r6, 0x19
/* 803BF090 003BACF0  48 00 0B B5 */	bl func_803BFC44
/* 803BF094 003BACF4  2C 03 00 01 */	cmpwi r3, 1
/* 803BF098 003BACF8  40 82 00 48 */	bne lbl_803BF0E0
/* 803BF09C 003BACFC  7E 63 9B 78 */	mr r3, r19
/* 803BF0A0 003BAD00  7E 84 A3 78 */	mr r4, r20
/* 803BF0A4 003BAD04  48 00 9F 6D */	bl func_803C9010
/* 803BF0A8 003BAD08  2C 03 00 00 */	cmpwi r3, 0
/* 803BF0AC 003BAD0C  41 82 00 34 */	beq lbl_803BF0E0
/* 803BF0B0 003BAD10  80 78 00 00 */	lwz r3, 0(r24)
/* 803BF0B4 003BAD14  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803BF0B8 003BAD18  41 82 00 10 */	beq lbl_803BF0C8
/* 803BF0BC 003BAD1C  54 60 07 7C */	rlwinm r0, r3, 0, 0x1d, 0x1e
/* 803BF0C0 003BAD20  28 00 00 06 */	cmplwi r0, 6
/* 803BF0C4 003BAD24  40 82 00 1C */	bne lbl_803BF0E0
lbl_803BF0C8:
/* 803BF0C8 003BAD28  2C 1B 00 00 */	cmpwi r27, 0
/* 803BF0CC 003BAD2C  41 82 00 14 */	beq lbl_803BF0E0
/* 803BF0D0 003BAD30  80 18 00 00 */	lwz r0, 0(r24)
/* 803BF0D4 003BAD34  64 00 00 04 */	oris r0, r0, 4
/* 803BF0D8 003BAD38  90 18 00 00 */	stw r0, 0(r24)
/* 803BF0DC 003BAD3C  48 00 00 CC */	b lbl_803BF1A8
lbl_803BF0E0:
/* 803BF0E0 003BAD40  80 73 21 3C */	lwz r3, 0x213c(r19)
/* 803BF0E4 003BAD44  54 60 05 29 */	rlwinm. r0, r3, 0, 0x14, 0x14
/* 803BF0E8 003BAD48  40 82 00 B4 */	bne lbl_803BF19C
/* 803BF0EC 003BAD4C  54 60 04 21 */	rlwinm. r0, r3, 0, 0x10, 0x10
/* 803BF0F0 003BAD50  40 82 00 AC */	bne lbl_803BF19C
/* 803BF0F4 003BAD54  80 18 00 00 */	lwz r0, 0(r24)
/* 803BF0F8 003BAD58  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803BF0FC 003BAD5C  41 82 00 6C */	beq lbl_803BF168
/* 803BF100 003BAD60  2C 1B 00 00 */	cmpwi r27, 0
/* 803BF104 003BAD64  41 82 00 64 */	beq lbl_803BF168
/* 803BF108 003BAD68  7E 63 9B 78 */	mr r3, r19
/* 803BF10C 003BAD6C  7E A4 AB 78 */	mr r4, r21
/* 803BF110 003BAD70  7E C5 B3 78 */	mr r5, r22
/* 803BF114 003BAD74  38 C0 00 6F */	li r6, 0x6f
/* 803BF118 003BAD78  48 00 0B 2D */	bl func_803BFC44
/* 803BF11C 003BAD7C  2C 03 00 01 */	cmpwi r3, 1
/* 803BF120 003BAD80  41 82 00 20 */	beq lbl_803BF140
/* 803BF124 003BAD84  7E 63 9B 78 */	mr r3, r19
/* 803BF128 003BAD88  7E A4 AB 78 */	mr r4, r21
/* 803BF12C 003BAD8C  7E C5 B3 78 */	mr r5, r22
/* 803BF130 003BAD90  38 C0 00 74 */	li r6, 0x74
/* 803BF134 003BAD94  48 00 0B 11 */	bl func_803BFC44
/* 803BF138 003BAD98  2C 03 00 01 */	cmpwi r3, 1
/* 803BF13C 003BAD9C  40 82 00 14 */	bne lbl_803BF150
lbl_803BF140:
/* 803BF140 003BADA0  1C 77 00 03 */	mulli r3, r23, 3
/* 803BF144 003BADA4  38 80 00 04 */	li r4, 4
/* 803BF148 003BADA8  48 00 1A 21 */	bl func_803C0B68
/* 803BF14C 003BADAC  7C 77 1B 78 */	mr r23, r3
lbl_803BF150:
/* 803BF150 003BADB0  28 1A 00 5F */	cmplwi r26, 0x5f
/* 803BF154 003BADB4  40 82 00 14 */	bne lbl_803BF168
/* 803BF158 003BADB8  38 79 00 64 */	addi r3, r25, 0x64
/* 803BF15C 003BADBC  38 00 00 64 */	li r0, 0x64
/* 803BF160 003BADC0  7C 77 19 D6 */	mullw r3, r23, r3
/* 803BF164 003BADC4  7E E3 03 D6 */	divw r23, r3, r0
lbl_803BF168:
/* 803BF168 003BADC8  80 18 00 00 */	lwz r0, 0(r24)
/* 803BF16C 003BADCC  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803BF170 003BADD0  41 82 00 38 */	beq lbl_803BF1A8
/* 803BF174 003BADD4  2C 1B 00 00 */	cmpwi r27, 0
/* 803BF178 003BADD8  41 82 00 30 */	beq lbl_803BF1A8
/* 803BF17C 003BADDC  7E 63 9B 78 */	mr r3, r19
/* 803BF180 003BADE0  7E A4 AB 78 */	mr r4, r21
/* 803BF184 003BADE4  48 00 09 95 */	bl func_803BFB18
/* 803BF188 003BADE8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF18C 003BADEC  28 00 00 6E */	cmplwi r0, 0x6e
/* 803BF190 003BADF0  40 82 00 18 */	bne lbl_803BF1A8
/* 803BF194 003BADF4  56 F7 08 3C */	slwi r23, r23, 1
/* 803BF198 003BADF8  48 00 00 10 */	b lbl_803BF1A8
lbl_803BF19C:
/* 803BF19C 003BADFC  80 18 00 00 */	lwz r0, 0(r24)
/* 803BF1A0 003BAE00  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 803BF1A4 003BAE04  90 18 00 00 */	stw r0, 0(r24)
lbl_803BF1A8:
/* 803BF1A8 003BAE08  7E E3 BB 78 */	mr r3, r23
lbl_803BF1AC:
/* 803BF1AC 003BAE0C  39 61 00 50 */	addi r11, r1, 0x50
/* 803BF1B0 003BAE10  4B E0 7F 99 */	bl _restgpr_16
/* 803BF1B4 003BAE14  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803BF1B8 003BAE18  7C 08 03 A6 */	mtlr r0
/* 803BF1BC 003BAE1C  38 21 00 50 */	addi r1, r1, 0x50
/* 803BF1C0 003BAE20  4E 80 00 20 */	blr 

.global func_803BF1C4
func_803BF1C4:
/* 803BF1C4 003BAE24  54 80 10 3A */	slwi r0, r4, 2
/* 803BF1C8 003BAE28  7C 63 02 14 */	add r3, r3, r0
/* 803BF1CC 003BAE2C  80 63 03 44 */	lwz r3, 0x344(r3)
/* 803BF1D0 003BAE30  54 60 0F FF */	rlwinm. r0, r3, 1, 0x1f, 0x1f
/* 803BF1D4 003BAE34  40 82 00 44 */	bne lbl_803BF218
/* 803BF1D8 003BAE38  54 60 17 FF */	rlwinm. r0, r3, 2, 0x1f, 0x1f
/* 803BF1DC 003BAE3C  40 82 00 3C */	bne lbl_803BF218
/* 803BF1E0 003BAE40  54 60 1F FF */	rlwinm. r0, r3, 3, 0x1f, 0x1f
/* 803BF1E4 003BAE44  40 82 00 34 */	bne lbl_803BF218
/* 803BF1E8 003BAE48  54 60 27 FF */	rlwinm. r0, r3, 4, 0x1f, 0x1f
/* 803BF1EC 003BAE4C  40 82 00 2C */	bne lbl_803BF218
/* 803BF1F0 003BAE50  54 60 2F FF */	rlwinm. r0, r3, 5, 0x1f, 0x1f
/* 803BF1F4 003BAE54  40 82 00 24 */	bne lbl_803BF218
/* 803BF1F8 003BAE58  54 60 37 FF */	rlwinm. r0, r3, 6, 0x1f, 0x1f
/* 803BF1FC 003BAE5C  40 82 00 1C */	bne lbl_803BF218
/* 803BF200 003BAE60  54 60 3F FF */	rlwinm. r0, r3, 7, 0x1f, 0x1f
/* 803BF204 003BAE64  40 82 00 14 */	bne lbl_803BF218
/* 803BF208 003BAE68  54 60 4F FF */	rlwinm. r0, r3, 9, 0x1f, 0x1f
/* 803BF20C 003BAE6C  40 82 00 0C */	bne lbl_803BF218
/* 803BF210 003BAE70  54 60 47 FF */	rlwinm. r0, r3, 8, 0x1f, 0x1f
/* 803BF214 003BAE74  41 82 00 0C */	beq lbl_803BF220
lbl_803BF218:
/* 803BF218 003BAE78  38 60 00 01 */	li r3, 1
/* 803BF21C 003BAE7C  4E 80 00 20 */	blr 
lbl_803BF220:
/* 803BF220 003BAE80  38 60 00 00 */	li r3, 0
/* 803BF224 003BAE84  4E 80 00 20 */	blr 

.global func_803BF228
func_803BF228:
/* 803BF228 003BAE88  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BF22C 003BAE8C  7C 08 02 A6 */	mflr r0
/* 803BF230 003BAE90  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BF234 003BAE94  39 61 00 30 */	addi r11, r1, 0x30
/* 803BF238 003BAE98  4B E0 7E E5 */	bl _savegpr_24
/* 803BF23C 003BAE9C  7C 78 1B 78 */	mr r24, r3
/* 803BF240 003BAEA0  7C 99 23 78 */	mr r25, r4
/* 803BF244 003BAEA4  7C BC 2B 78 */	mr r28, r5
/* 803BF248 003BAEA8  7C DA 33 78 */	mr r26, r6
/* 803BF24C 003BAEAC  3B 60 00 00 */	li r27, 0
/* 803BF250 003BAEB0  4B FE D6 11 */	bl func_803AC860
/* 803BF254 003BAEB4  2C 1C 00 01 */	cmpwi r28, 1
/* 803BF258 003BAEB8  7C 7D 1B 78 */	mr r29, r3
/* 803BF25C 003BAEBC  41 82 00 58 */	beq lbl_803BF2B4
/* 803BF260 003BAEC0  40 80 00 B0 */	bge lbl_803BF310
/* 803BF264 003BAEC4  2C 1C 00 00 */	cmpwi r28, 0
/* 803BF268 003BAEC8  40 80 00 08 */	bge lbl_803BF270
/* 803BF26C 003BAECC  48 00 00 A4 */	b lbl_803BF310
lbl_803BF270:
/* 803BF270 003BAED0  38 A0 00 00 */	li r5, 0
/* 803BF274 003BAED4  38 80 00 00 */	li r4, 0
/* 803BF278 003BAED8  7C 69 03 A6 */	mtctr r3
/* 803BF27C 003BAEDC  2C 03 00 00 */	cmpwi r3, 0
/* 803BF280 003BAEE0  40 81 00 90 */	ble lbl_803BF310
lbl_803BF284:
/* 803BF284 003BAEE4  7C 05 D0 00 */	cmpw r5, r26
/* 803BF288 003BAEE8  41 82 00 1C */	beq lbl_803BF2A4
/* 803BF28C 003BAEEC  7C 79 22 14 */	add r3, r25, r4
/* 803BF290 003BAEF0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF294 003BAEF4  2C 00 00 00 */	cmpwi r0, 0
/* 803BF298 003BAEF8  41 82 00 0C */	beq lbl_803BF2A4
/* 803BF29C 003BAEFC  38 1B 00 01 */	addi r0, r27, 1
/* 803BF2A0 003BAF00  54 1B 06 3E */	clrlwi r27, r0, 0x18
lbl_803BF2A4:
/* 803BF2A4 003BAF04  38 A5 00 01 */	addi r5, r5, 1
/* 803BF2A8 003BAF08  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803BF2AC 003BAF0C  42 00 FF D8 */	bdnz lbl_803BF284
/* 803BF2B0 003BAF10  48 00 00 60 */	b lbl_803BF310
lbl_803BF2B4:
/* 803BF2B4 003BAF14  3B 80 00 00 */	li r28, 0
/* 803BF2B8 003BAF18  3B E0 00 00 */	li r31, 0
/* 803BF2BC 003BAF1C  48 00 00 4C */	b lbl_803BF308
lbl_803BF2C0:
/* 803BF2C0 003BAF20  7F 03 C3 78 */	mr r3, r24
/* 803BF2C4 003BAF24  7F 44 D3 78 */	mr r4, r26
/* 803BF2C8 003BAF28  4B FE DA 1D */	bl func_803ACCE4
/* 803BF2CC 003BAF2C  54 7E 06 3E */	clrlwi r30, r3, 0x18
/* 803BF2D0 003BAF30  7F 03 C3 78 */	mr r3, r24
/* 803BF2D4 003BAF34  7F 84 E3 78 */	mr r4, r28
/* 803BF2D8 003BAF38  4B FE DA 0D */	bl func_803ACCE4
/* 803BF2DC 003BAF3C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF2E0 003BAF40  7C 00 F0 40 */	cmplw r0, r30
/* 803BF2E4 003BAF44  40 82 00 1C */	bne lbl_803BF300
/* 803BF2E8 003BAF48  7C 79 FA 14 */	add r3, r25, r31
/* 803BF2EC 003BAF4C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF2F0 003BAF50  2C 00 00 00 */	cmpwi r0, 0
/* 803BF2F4 003BAF54  41 82 00 0C */	beq lbl_803BF300
/* 803BF2F8 003BAF58  38 1B 00 01 */	addi r0, r27, 1
/* 803BF2FC 003BAF5C  54 1B 06 3E */	clrlwi r27, r0, 0x18
lbl_803BF300:
/* 803BF300 003BAF60  3B 9C 00 01 */	addi r28, r28, 1
/* 803BF304 003BAF64  3B FF 00 C0 */	addi r31, r31, 0xc0
lbl_803BF308:
/* 803BF308 003BAF68  7C 1C E8 00 */	cmpw r28, r29
/* 803BF30C 003BAF6C  41 80 FF B4 */	blt lbl_803BF2C0
lbl_803BF310:
/* 803BF310 003BAF70  39 61 00 30 */	addi r11, r1, 0x30
/* 803BF314 003BAF74  7F 63 DB 78 */	mr r3, r27
/* 803BF318 003BAF78  4B E0 7E 51 */	bl _restgpr_24
/* 803BF31C 003BAF7C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BF320 003BAF80  7C 08 03 A6 */	mtlr r0
/* 803BF324 003BAF84  38 21 00 30 */	addi r1, r1, 0x30
/* 803BF328 003BAF88  4E 80 00 20 */	blr 

.global func_803BF32C
func_803BF32C:
/* 803BF32C 003BAF8C  7C 63 22 14 */	add r3, r3, r4
/* 803BF330 003BAF90  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803BF334 003BAF94  54 00 40 2E */	slwi r0, r0, 8
/* 803BF338 003BAF98  7C 83 03 78 */	or r3, r4, r0
/* 803BF33C 003BAF9C  4E 80 00 20 */	blr 

.global func_803BF340
func_803BF340:
/* 803BF340 003BAFA0  54 80 20 36 */	slwi r0, r4, 4
/* 803BF344 003BAFA4  38 C0 00 00 */	li r6, 0
/* 803BF348 003BAFA8  7C A3 02 14 */	add r5, r3, r0
/* 803BF34C 003BAFAC  80 05 21 B4 */	lwz r0, 0x21b4(r5)
/* 803BF350 003BAFB0  28 00 00 01 */	cmplwi r0, 1
/* 803BF354 003BAFB4  40 82 00 24 */	bne lbl_803BF378
/* 803BF358 003BAFB8  80 05 21 B0 */	lwz r0, 0x21b0(r5)
/* 803BF35C 003BAFBC  2C 00 00 00 */	cmpwi r0, 0
/* 803BF360 003BAFC0  41 82 00 18 */	beq lbl_803BF378
/* 803BF364 003BAFC4  1C 84 00 C0 */	mulli r4, r4, 0xc0
/* 803BF368 003BAFC8  54 00 08 3C */	slwi r0, r0, 1
/* 803BF36C 003BAFCC  7C 63 22 14 */	add r3, r3, r4
/* 803BF370 003BAFD0  7C 63 02 14 */	add r3, r3, r0
/* 803BF374 003BAFD4  A0 C3 2D 4A */	lhz r6, 0x2d4a(r3)
lbl_803BF378:
/* 803BF378 003BAFD8  7C C3 33 78 */	mr r3, r6
/* 803BF37C 003BAFDC  4E 80 00 20 */	blr 

.global func_803BF380
func_803BF380:
/* 803BF380 003BAFE0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BF384 003BAFE4  7C 08 02 A6 */	mflr r0
/* 803BF388 003BAFE8  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BF38C 003BAFEC  39 61 00 30 */	addi r11, r1, 0x30
/* 803BF390 003BAFF0  4B E0 7D 89 */	bl _savegpr_23
/* 803BF394 003BAFF4  7C 7A 1B 78 */	mr r26, r3
/* 803BF398 003BAFF8  7C 9B 23 78 */	mr r27, r4
/* 803BF39C 003BAFFC  7C B7 2B 78 */	mr r23, r5
/* 803BF3A0 003BB000  7C DC 33 78 */	mr r28, r6
/* 803BF3A4 003BB004  7C FD 3B 78 */	mr r29, r7
/* 803BF3A8 003BB008  3B C0 00 00 */	li r30, 0
/* 803BF3AC 003BB00C  4B FE D4 B5 */	bl func_803AC860
/* 803BF3B0 003BB010  28 17 00 09 */	cmplwi r23, 9
/* 803BF3B4 003BB014  7C 7F 1B 78 */	mr r31, r3
/* 803BF3B8 003BB018  41 81 03 84 */	bgt lbl_803BF73C
/* 803BF3BC 003BB01C  3C 60 80 47 */	lis r3, lbl_80473A8C@ha
/* 803BF3C0 003BB020  56 E0 10 3A */	slwi r0, r23, 2
/* 803BF3C4 003BB024  38 63 3A 8C */	addi r3, r3, lbl_80473A8C@l
/* 803BF3C8 003BB028  7C 63 00 2E */	lwzx r3, r3, r0
/* 803BF3CC 003BB02C  7C 69 03 A6 */	mtctr r3
/* 803BF3D0 003BB030  4E 80 04 20 */	bctr 
/* 803BF3D4 003BB034  3A E0 00 00 */	li r23, 0
/* 803BF3D8 003BB038  48 00 00 4C */	b lbl_803BF424
lbl_803BF3DC:
/* 803BF3DC 003BB03C  7F 43 D3 78 */	mr r3, r26
/* 803BF3E0 003BB040  7F 84 E3 78 */	mr r4, r28
/* 803BF3E4 003BB044  4B FE D9 01 */	bl func_803ACCE4
/* 803BF3E8 003BB048  54 78 06 3E */	clrlwi r24, r3, 0x18
/* 803BF3EC 003BB04C  7F 43 D3 78 */	mr r3, r26
/* 803BF3F0 003BB050  7E E4 BB 78 */	mr r4, r23
/* 803BF3F4 003BB054  4B FE D8 F1 */	bl func_803ACCE4
/* 803BF3F8 003BB058  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF3FC 003BB05C  7C 00 C0 40 */	cmplw r0, r24
/* 803BF400 003BB060  40 82 00 20 */	bne lbl_803BF420
/* 803BF404 003BB064  7F 63 DB 78 */	mr r3, r27
/* 803BF408 003BB068  7E E4 BB 78 */	mr r4, r23
/* 803BF40C 003BB06C  48 00 07 0D */	bl func_803BFB18
/* 803BF410 003BB070  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF414 003BB074  7C 1D 00 00 */	cmpw r29, r0
/* 803BF418 003BB078  40 82 00 08 */	bne lbl_803BF420
/* 803BF41C 003BB07C  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF420:
/* 803BF420 003BB080  3A F7 00 01 */	addi r23, r23, 1
lbl_803BF424:
/* 803BF424 003BB084  7C 17 F8 00 */	cmpw r23, r31
/* 803BF428 003BB088  41 80 FF B4 */	blt lbl_803BF3DC
/* 803BF42C 003BB08C  48 00 03 10 */	b lbl_803BF73C
/* 803BF430 003BB090  3A E0 00 00 */	li r23, 0
/* 803BF434 003BB094  3B 20 00 00 */	li r25, 0
/* 803BF438 003BB098  48 00 00 60 */	b lbl_803BF498
lbl_803BF43C:
/* 803BF43C 003BB09C  7F 43 D3 78 */	mr r3, r26
/* 803BF440 003BB0A0  7F 84 E3 78 */	mr r4, r28
/* 803BF444 003BB0A4  4B FE D8 A1 */	bl func_803ACCE4
/* 803BF448 003BB0A8  54 78 06 3E */	clrlwi r24, r3, 0x18
/* 803BF44C 003BB0AC  7F 43 D3 78 */	mr r3, r26
/* 803BF450 003BB0B0  7E E4 BB 78 */	mr r4, r23
/* 803BF454 003BB0B4  4B FE D8 91 */	bl func_803ACCE4
/* 803BF458 003BB0B8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF45C 003BB0BC  7C 00 C0 40 */	cmplw r0, r24
/* 803BF460 003BB0C0  40 82 00 30 */	bne lbl_803BF490
/* 803BF464 003BB0C4  7C 7B CA 14 */	add r3, r27, r25
/* 803BF468 003BB0C8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF46C 003BB0CC  2C 00 00 00 */	cmpwi r0, 0
/* 803BF470 003BB0D0  41 82 00 20 */	beq lbl_803BF490
/* 803BF474 003BB0D4  7F 63 DB 78 */	mr r3, r27
/* 803BF478 003BB0D8  7E E4 BB 78 */	mr r4, r23
/* 803BF47C 003BB0DC  48 00 06 9D */	bl func_803BFB18
/* 803BF480 003BB0E0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF484 003BB0E4  7C 1D 00 00 */	cmpw r29, r0
/* 803BF488 003BB0E8  40 82 00 08 */	bne lbl_803BF490
/* 803BF48C 003BB0EC  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF490:
/* 803BF490 003BB0F0  3A F7 00 01 */	addi r23, r23, 1
/* 803BF494 003BB0F4  3B 39 00 C0 */	addi r25, r25, 0xc0
lbl_803BF498:
/* 803BF498 003BB0F8  7C 17 F8 00 */	cmpw r23, r31
/* 803BF49C 003BB0FC  41 80 FF A0 */	blt lbl_803BF43C
/* 803BF4A0 003BB100  48 00 02 9C */	b lbl_803BF73C
/* 803BF4A4 003BB104  3A E0 00 00 */	li r23, 0
/* 803BF4A8 003BB108  48 00 00 4C */	b lbl_803BF4F4
lbl_803BF4AC:
/* 803BF4AC 003BB10C  7F 43 D3 78 */	mr r3, r26
/* 803BF4B0 003BB110  7F 84 E3 78 */	mr r4, r28
/* 803BF4B4 003BB114  4B FE D8 31 */	bl func_803ACCE4
/* 803BF4B8 003BB118  54 78 06 3E */	clrlwi r24, r3, 0x18
/* 803BF4BC 003BB11C  7F 43 D3 78 */	mr r3, r26
/* 803BF4C0 003BB120  7E E4 BB 78 */	mr r4, r23
/* 803BF4C4 003BB124  4B FE D8 21 */	bl func_803ACCE4
/* 803BF4C8 003BB128  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF4CC 003BB12C  7C 00 C0 40 */	cmplw r0, r24
/* 803BF4D0 003BB130  41 82 00 20 */	beq lbl_803BF4F0
/* 803BF4D4 003BB134  7F 63 DB 78 */	mr r3, r27
/* 803BF4D8 003BB138  7E E4 BB 78 */	mr r4, r23
/* 803BF4DC 003BB13C  48 00 06 3D */	bl func_803BFB18
/* 803BF4E0 003BB140  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF4E4 003BB144  7C 1D 00 00 */	cmpw r29, r0
/* 803BF4E8 003BB148  40 82 00 08 */	bne lbl_803BF4F0
/* 803BF4EC 003BB14C  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF4F0:
/* 803BF4F0 003BB150  3A F7 00 01 */	addi r23, r23, 1
lbl_803BF4F4:
/* 803BF4F4 003BB154  7C 17 F8 00 */	cmpw r23, r31
/* 803BF4F8 003BB158  41 80 FF B4 */	blt lbl_803BF4AC
/* 803BF4FC 003BB15C  48 00 02 40 */	b lbl_803BF73C
/* 803BF500 003BB160  3A E0 00 00 */	li r23, 0
/* 803BF504 003BB164  3B 20 00 00 */	li r25, 0
/* 803BF508 003BB168  48 00 00 60 */	b lbl_803BF568
lbl_803BF50C:
/* 803BF50C 003BB16C  7F 43 D3 78 */	mr r3, r26
/* 803BF510 003BB170  7F 84 E3 78 */	mr r4, r28
/* 803BF514 003BB174  4B FE D7 D1 */	bl func_803ACCE4
/* 803BF518 003BB178  54 78 06 3E */	clrlwi r24, r3, 0x18
/* 803BF51C 003BB17C  7F 43 D3 78 */	mr r3, r26
/* 803BF520 003BB180  7E E4 BB 78 */	mr r4, r23
/* 803BF524 003BB184  4B FE D7 C1 */	bl func_803ACCE4
/* 803BF528 003BB188  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF52C 003BB18C  7C 00 C0 40 */	cmplw r0, r24
/* 803BF530 003BB190  41 82 00 30 */	beq lbl_803BF560
/* 803BF534 003BB194  7C 7B CA 14 */	add r3, r27, r25
/* 803BF538 003BB198  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF53C 003BB19C  2C 00 00 00 */	cmpwi r0, 0
/* 803BF540 003BB1A0  41 82 00 20 */	beq lbl_803BF560
/* 803BF544 003BB1A4  7F 63 DB 78 */	mr r3, r27
/* 803BF548 003BB1A8  7E E4 BB 78 */	mr r4, r23
/* 803BF54C 003BB1AC  48 00 05 CD */	bl func_803BFB18
/* 803BF550 003BB1B0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF554 003BB1B4  7C 1D 00 00 */	cmpw r29, r0
/* 803BF558 003BB1B8  40 82 00 08 */	bne lbl_803BF560
/* 803BF55C 003BB1BC  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF560:
/* 803BF560 003BB1C0  3A F7 00 01 */	addi r23, r23, 1
/* 803BF564 003BB1C4  3B 39 00 C0 */	addi r25, r25, 0xc0
lbl_803BF568:
/* 803BF568 003BB1C8  7C 17 F8 00 */	cmpw r23, r31
/* 803BF56C 003BB1CC  41 80 FF A0 */	blt lbl_803BF50C
/* 803BF570 003BB1D0  48 00 01 CC */	b lbl_803BF73C
/* 803BF574 003BB1D4  3A E0 00 00 */	li r23, 0
/* 803BF578 003BB1D8  3B 20 00 00 */	li r25, 0
/* 803BF57C 003BB1DC  48 00 00 68 */	b lbl_803BF5E4
lbl_803BF580:
/* 803BF580 003BB1E0  7F 43 D3 78 */	mr r3, r26
/* 803BF584 003BB1E4  7F 84 E3 78 */	mr r4, r28
/* 803BF588 003BB1E8  4B FE D7 5D */	bl func_803ACCE4
/* 803BF58C 003BB1EC  54 78 06 3E */	clrlwi r24, r3, 0x18
/* 803BF590 003BB1F0  7F 43 D3 78 */	mr r3, r26
/* 803BF594 003BB1F4  7E E4 BB 78 */	mr r4, r23
/* 803BF598 003BB1F8  4B FE D7 4D */	bl func_803ACCE4
/* 803BF59C 003BB1FC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF5A0 003BB200  7C 00 C0 40 */	cmplw r0, r24
/* 803BF5A4 003BB204  41 82 00 38 */	beq lbl_803BF5DC
/* 803BF5A8 003BB208  7C 7B CA 14 */	add r3, r27, r25
/* 803BF5AC 003BB20C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF5B0 003BB210  2C 00 00 00 */	cmpwi r0, 0
/* 803BF5B4 003BB214  41 82 00 28 */	beq lbl_803BF5DC
/* 803BF5B8 003BB218  7F 63 DB 78 */	mr r3, r27
/* 803BF5BC 003BB21C  7E E4 BB 78 */	mr r4, r23
/* 803BF5C0 003BB220  48 00 05 59 */	bl func_803BFB18
/* 803BF5C4 003BB224  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF5C8 003BB228  7C 1D 00 00 */	cmpw r29, r0
/* 803BF5CC 003BB22C  40 82 00 10 */	bne lbl_803BF5DC
/* 803BF5D0 003BB230  7E E3 BB 78 */	mr r3, r23
/* 803BF5D4 003BB234  48 01 E3 4D */	bl func_803DD920
/* 803BF5D8 003BB238  7F DE 1B 78 */	or r30, r30, r3
lbl_803BF5DC:
/* 803BF5DC 003BB23C  3A F7 00 01 */	addi r23, r23, 1
/* 803BF5E0 003BB240  3B 39 00 C0 */	addi r25, r25, 0xc0
lbl_803BF5E4:
/* 803BF5E4 003BB244  7C 17 F8 00 */	cmpw r23, r31
/* 803BF5E8 003BB248  41 80 FF 98 */	blt lbl_803BF580
/* 803BF5EC 003BB24C  48 00 01 50 */	b lbl_803BF73C
/* 803BF5F0 003BB250  3B 00 00 00 */	li r24, 0
/* 803BF5F4 003BB254  48 00 00 24 */	b lbl_803BF618
lbl_803BF5F8:
/* 803BF5F8 003BB258  7F 63 DB 78 */	mr r3, r27
/* 803BF5FC 003BB25C  7F 04 C3 78 */	mr r4, r24
/* 803BF600 003BB260  48 00 05 19 */	bl func_803BFB18
/* 803BF604 003BB264  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF608 003BB268  7C 1D 00 00 */	cmpw r29, r0
/* 803BF60C 003BB26C  40 82 00 08 */	bne lbl_803BF614
/* 803BF610 003BB270  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF614:
/* 803BF614 003BB274  3B 18 00 01 */	addi r24, r24, 1
lbl_803BF618:
/* 803BF618 003BB278  7C 18 F8 00 */	cmpw r24, r31
/* 803BF61C 003BB27C  41 80 FF DC */	blt lbl_803BF5F8
/* 803BF620 003BB280  48 00 01 1C */	b lbl_803BF73C
/* 803BF624 003BB284  3B 00 00 00 */	li r24, 0
/* 803BF628 003BB288  48 00 00 2C */	b lbl_803BF654
lbl_803BF62C:
/* 803BF62C 003BB28C  7C 18 E0 00 */	cmpw r24, r28
/* 803BF630 003BB290  41 82 00 20 */	beq lbl_803BF650
/* 803BF634 003BB294  7F 63 DB 78 */	mr r3, r27
/* 803BF638 003BB298  7F 04 C3 78 */	mr r4, r24
/* 803BF63C 003BB29C  48 00 04 DD */	bl func_803BFB18
/* 803BF640 003BB2A0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF644 003BB2A4  7C 1D 00 00 */	cmpw r29, r0
/* 803BF648 003BB2A8  40 82 00 08 */	bne lbl_803BF650
/* 803BF64C 003BB2AC  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF650:
/* 803BF650 003BB2B0  3B 18 00 01 */	addi r24, r24, 1
lbl_803BF654:
/* 803BF654 003BB2B4  7C 18 F8 00 */	cmpw r24, r31
/* 803BF658 003BB2B8  41 80 FF D4 */	blt lbl_803BF62C
/* 803BF65C 003BB2BC  48 00 00 E0 */	b lbl_803BF73C
/* 803BF660 003BB2C0  3B 00 00 00 */	li r24, 0
/* 803BF664 003BB2C4  48 00 00 30 */	b lbl_803BF694
lbl_803BF668:
/* 803BF668 003BB2C8  7C 18 E0 00 */	cmpw r24, r28
/* 803BF66C 003BB2CC  41 82 00 24 */	beq lbl_803BF690
/* 803BF670 003BB2D0  7F 63 DB 78 */	mr r3, r27
/* 803BF674 003BB2D4  7F 04 C3 78 */	mr r4, r24
/* 803BF678 003BB2D8  48 00 04 A1 */	bl func_803BFB18
/* 803BF67C 003BB2DC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF680 003BB2E0  7C 1D 00 00 */	cmpw r29, r0
/* 803BF684 003BB2E4  40 82 00 0C */	bne lbl_803BF690
/* 803BF688 003BB2E8  3B D8 00 01 */	addi r30, r24, 1
/* 803BF68C 003BB2EC  48 00 00 B0 */	b lbl_803BF73C
lbl_803BF690:
/* 803BF690 003BB2F0  3B 18 00 01 */	addi r24, r24, 1
lbl_803BF694:
/* 803BF694 003BB2F4  7C 18 F8 00 */	cmpw r24, r31
/* 803BF698 003BB2F8  41 80 FF D0 */	blt lbl_803BF668
/* 803BF69C 003BB2FC  48 00 00 A0 */	b lbl_803BF73C
/* 803BF6A0 003BB300  3B 00 00 00 */	li r24, 0
/* 803BF6A4 003BB304  3B 40 00 00 */	li r26, 0
/* 803BF6A8 003BB308  48 00 00 38 */	b lbl_803BF6E0
lbl_803BF6AC:
/* 803BF6AC 003BB30C  7F 63 DB 78 */	mr r3, r27
/* 803BF6B0 003BB310  7F 04 C3 78 */	mr r4, r24
/* 803BF6B4 003BB314  48 00 04 65 */	bl func_803BFB18
/* 803BF6B8 003BB318  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF6BC 003BB31C  7C 1D 00 00 */	cmpw r29, r0
/* 803BF6C0 003BB320  40 82 00 18 */	bne lbl_803BF6D8
/* 803BF6C4 003BB324  7C 7B D2 14 */	add r3, r27, r26
/* 803BF6C8 003BB328  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF6CC 003BB32C  2C 00 00 00 */	cmpwi r0, 0
/* 803BF6D0 003BB330  41 82 00 08 */	beq lbl_803BF6D8
/* 803BF6D4 003BB334  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF6D8:
/* 803BF6D8 003BB338  3B 18 00 01 */	addi r24, r24, 1
/* 803BF6DC 003BB33C  3B 5A 00 C0 */	addi r26, r26, 0xc0
lbl_803BF6E0:
/* 803BF6E0 003BB340  7C 18 F8 00 */	cmpw r24, r31
/* 803BF6E4 003BB344  41 80 FF C8 */	blt lbl_803BF6AC
/* 803BF6E8 003BB348  48 00 00 54 */	b lbl_803BF73C
/* 803BF6EC 003BB34C  3B 00 00 00 */	li r24, 0
/* 803BF6F0 003BB350  3B 40 00 00 */	li r26, 0
/* 803BF6F4 003BB354  48 00 00 40 */	b lbl_803BF734
lbl_803BF6F8:
/* 803BF6F8 003BB358  7C 18 E0 00 */	cmpw r24, r28
/* 803BF6FC 003BB35C  41 82 00 30 */	beq lbl_803BF72C
/* 803BF700 003BB360  7F 63 DB 78 */	mr r3, r27
/* 803BF704 003BB364  7F 04 C3 78 */	mr r4, r24
/* 803BF708 003BB368  48 00 04 11 */	bl func_803BFB18
/* 803BF70C 003BB36C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BF710 003BB370  7C 1D 00 00 */	cmpw r29, r0
/* 803BF714 003BB374  40 82 00 18 */	bne lbl_803BF72C
/* 803BF718 003BB378  7C 7B D2 14 */	add r3, r27, r26
/* 803BF71C 003BB37C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803BF720 003BB380  2C 00 00 00 */	cmpwi r0, 0
/* 803BF724 003BB384  41 82 00 08 */	beq lbl_803BF72C
/* 803BF728 003BB388  3B DE 00 01 */	addi r30, r30, 1
lbl_803BF72C:
/* 803BF72C 003BB38C  3B 18 00 01 */	addi r24, r24, 1
/* 803BF730 003BB390  3B 5A 00 C0 */	addi r26, r26, 0xc0
lbl_803BF734:
/* 803BF734 003BB394  7C 18 F8 00 */	cmpw r24, r31
/* 803BF738 003BB398  41 80 FF C0 */	blt lbl_803BF6F8
lbl_803BF73C:
/* 803BF73C 003BB39C  39 61 00 30 */	addi r11, r1, 0x30
/* 803BF740 003BB3A0  7F C3 F3 78 */	mr r3, r30
/* 803BF744 003BB3A4  4B E0 7A 21 */	bl _restgpr_23
/* 803BF748 003BB3A8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BF74C 003BB3AC  7C 08 03 A6 */	mtlr r0
/* 803BF750 003BB3B0  38 21 00 30 */	addi r1, r1, 0x30
/* 803BF754 003BB3B4  4E 80 00 20 */	blr 

.global func_803BF758
func_803BF758:
/* 803BF758 003BB3B8  54 80 20 36 */	slwi r0, r4, 4
/* 803BF75C 003BB3BC  7C 63 02 14 */	add r3, r3, r0
/* 803BF760 003BB3C0  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803BF764 003BB3C4  2C 00 00 97 */	cmpwi r0, 0x97
/* 803BF768 003BB3C8  41 82 00 70 */	beq lbl_803BF7D8
/* 803BF76C 003BB3CC  40 80 00 34 */	bge lbl_803BF7A0
/* 803BF770 003BB3D0  2C 00 00 4B */	cmpwi r0, 0x4b
/* 803BF774 003BB3D4  41 82 00 64 */	beq lbl_803BF7D8
/* 803BF778 003BB3D8  40 80 00 1C */	bge lbl_803BF794
/* 803BF77C 003BB3DC  2C 00 00 27 */	cmpwi r0, 0x27
/* 803BF780 003BB3E0  41 82 00 58 */	beq lbl_803BF7D8
/* 803BF784 003BB3E4  40 80 00 5C */	bge lbl_803BF7E0
/* 803BF788 003BB3E8  2C 00 00 1A */	cmpwi r0, 0x1a
/* 803BF78C 003BB3EC  41 82 00 4C */	beq lbl_803BF7D8
/* 803BF790 003BB3F0  48 00 00 50 */	b lbl_803BF7E0
lbl_803BF794:
/* 803BF794 003BB3F4  2C 00 00 91 */	cmpwi r0, 0x91
/* 803BF798 003BB3F8  41 82 00 40 */	beq lbl_803BF7D8
/* 803BF79C 003BB3FC  48 00 00 44 */	b lbl_803BF7E0
lbl_803BF7A0:
/* 803BF7A0 003BB400  2C 00 01 07 */	cmpwi r0, 0x107
/* 803BF7A4 003BB404  41 82 00 34 */	beq lbl_803BF7D8
/* 803BF7A8 003BB408  40 80 00 24 */	bge lbl_803BF7CC
/* 803BF7AC 003BB40C  2C 00 00 FF */	cmpwi r0, 0xff
/* 803BF7B0 003BB410  40 80 00 10 */	bge lbl_803BF7C0
/* 803BF7B4 003BB414  2C 00 00 9B */	cmpwi r0, 0x9b
/* 803BF7B8 003BB418  41 82 00 20 */	beq lbl_803BF7D8
/* 803BF7BC 003BB41C  48 00 00 24 */	b lbl_803BF7E0
lbl_803BF7C0:
/* 803BF7C0 003BB420  2C 00 01 01 */	cmpwi r0, 0x101
/* 803BF7C4 003BB424  40 80 00 1C */	bge lbl_803BF7E0
/* 803BF7C8 003BB428  48 00 00 10 */	b lbl_803BF7D8
lbl_803BF7CC:
/* 803BF7CC 003BB42C  2C 00 01 10 */	cmpwi r0, 0x110
/* 803BF7D0 003BB430  41 82 00 08 */	beq lbl_803BF7D8
/* 803BF7D4 003BB434  48 00 00 0C */	b lbl_803BF7E0
lbl_803BF7D8:
/* 803BF7D8 003BB438  38 60 00 01 */	li r3, 1
/* 803BF7DC 003BB43C  4E 80 00 20 */	blr 
lbl_803BF7E0:
/* 803BF7E0 003BB440  38 60 00 00 */	li r3, 0
/* 803BF7E4 003BB444  4E 80 00 20 */	blr 

.global func_803BF7E8
func_803BF7E8:
/* 803BF7E8 003BB448  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BF7EC 003BB44C  7C 08 02 A6 */	mflr r0
/* 803BF7F0 003BB450  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BF7F4 003BB454  39 61 00 20 */	addi r11, r1, 0x20
/* 803BF7F8 003BB458  4B E0 79 39 */	bl _savegpr_29
/* 803BF7FC 003BB45C  28 03 00 70 */	cmplwi r3, 0x70
/* 803BF800 003BB460  7C DF 33 78 */	mr r31, r6
/* 803BF804 003BB464  7C 9D 23 78 */	mr r29, r4
/* 803BF808 003BB468  7C BE 2B 78 */	mr r30, r5
/* 803BF80C 003BB46C  38 C0 00 01 */	li r6, 1
/* 803BF810 003BB470  41 80 00 20 */	blt lbl_803BF830
/* 803BF814 003BB474  48 01 9F A5 */	bl func_803D97B8
/* 803BF818 003BB478  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803BF81C 003BB47C  38 60 00 70 */	li r3, 0x70
/* 803BF820 003BB480  7C 04 1B 96 */	divwu r0, r4, r3
/* 803BF824 003BB484  38 C0 00 00 */	li r6, 0
/* 803BF828 003BB488  7C 00 19 D6 */	mullw r0, r0, r3
/* 803BF82C 003BB48C  7C 60 20 50 */	subf r3, r0, r4
lbl_803BF830:
/* 803BF830 003BB490  1C A3 00 03 */	mulli r5, r3, 3
/* 803BF834 003BB494  3C 80 80 40 */	lis r4, lbl_80405248@ha
/* 803BF838 003BB498  39 61 00 20 */	addi r11, r1, 0x20
/* 803BF83C 003BB49C  38 84 52 48 */	addi r4, r4, lbl_80405248@l
/* 803BF840 003BB4A0  7C 04 28 AE */	lbzx r0, r4, r5
/* 803BF844 003BB4A4  7C A4 2A 14 */	add r5, r4, r5
/* 803BF848 003BB4A8  88 85 00 01 */	lbz r4, 1(r5)
/* 803BF84C 003BB4AC  7C C3 33 78 */	mr r3, r6
/* 803BF850 003BB4B0  98 1D 00 00 */	stb r0, 0(r29)
/* 803BF854 003BB4B4  88 05 00 02 */	lbz r0, 2(r5)
/* 803BF858 003BB4B8  98 9E 00 00 */	stb r4, 0(r30)
/* 803BF85C 003BB4BC  98 1F 00 00 */	stb r0, 0(r31)
/* 803BF860 003BB4C0  4B E0 79 1D */	bl _restgpr_29
/* 803BF864 003BB4C4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BF868 003BB4C8  7C 08 03 A6 */	mtlr r0
/* 803BF86C 003BB4CC  38 21 00 20 */	addi r1, r1, 0x20
/* 803BF870 003BB4D0  4E 80 00 20 */	blr 

.global func_803BF874
func_803BF874:
/* 803BF874 003BB4D4  3C E0 80 40 */	lis r7, lbl_80405248@ha
/* 803BF878 003BB4D8  38 C0 00 00 */	li r6, 0
/* 803BF87C 003BB4DC  38 E7 52 48 */	addi r7, r7, lbl_80405248@l
/* 803BF880 003BB4E0  39 60 00 28 */	li r11, 0x28
/* 803BF884 003BB4E4  39 00 00 0A */	li r8, 0xa
/* 803BF888 003BB4E8  48 00 00 44 */	b lbl_803BF8CC
lbl_803BF88C:
/* 803BF88C 003BB4EC  7C 03 00 40 */	cmplw r3, r0
/* 803BF890 003BB4F0  40 82 00 38 */	bne lbl_803BF8C8
/* 803BF894 003BB4F4  89 49 00 01 */	lbz r10, 1(r9)
/* 803BF898 003BB4F8  7C 04 50 40 */	cmplw r4, r10
/* 803BF89C 003BB4FC  40 82 00 10 */	bne lbl_803BF8AC
/* 803BF8A0 003BB500  88 09 00 02 */	lbz r0, 2(r9)
/* 803BF8A4 003BB504  7C 0B 01 D6 */	mullw r0, r11, r0
/* 803BF8A8 003BB508  7D 60 43 D6 */	divw r11, r0, r8
lbl_803BF8AC:
/* 803BF8AC 003BB50C  7C 05 50 40 */	cmplw r5, r10
/* 803BF8B0 003BB510  40 82 00 18 */	bne lbl_803BF8C8
/* 803BF8B4 003BB514  7C 04 28 40 */	cmplw r4, r5
/* 803BF8B8 003BB518  41 82 00 10 */	beq lbl_803BF8C8
/* 803BF8BC 003BB51C  88 09 00 02 */	lbz r0, 2(r9)
/* 803BF8C0 003BB520  7C 0B 01 D6 */	mullw r0, r11, r0
/* 803BF8C4 003BB524  7D 60 43 D6 */	divw r11, r0, r8
lbl_803BF8C8:
/* 803BF8C8 003BB528  38 C6 00 03 */	addi r6, r6, 3
lbl_803BF8CC:
/* 803BF8CC 003BB52C  7C 07 30 AE */	lbzx r0, r7, r6
/* 803BF8D0 003BB530  7D 27 32 14 */	add r9, r7, r6
/* 803BF8D4 003BB534  28 00 00 FF */	cmplwi r0, 0xff
/* 803BF8D8 003BB538  40 82 FF B4 */	bne lbl_803BF88C
/* 803BF8DC 003BB53C  7D 63 5B 78 */	mr r3, r11
/* 803BF8E0 003BB540  4E 80 00 20 */	blr 

.global func_803BF8E4
func_803BF8E4:
/* 803BF8E4 003BB544  2C 03 00 00 */	cmpwi r3, 0
/* 803BF8E8 003BB548  41 82 00 38 */	beq lbl_803BF920
/* 803BF8EC 003BB54C  28 03 00 D6 */	cmplwi r3, 0xd6
/* 803BF8F0 003BB550  41 82 00 30 */	beq lbl_803BF920
/* 803BF8F4 003BB554  28 03 01 7F */	cmplwi r3, 0x17f
/* 803BF8F8 003BB558  41 82 00 28 */	beq lbl_803BF920
/* 803BF8FC 003BB55C  28 03 01 12 */	cmplwi r3, 0x112
/* 803BF900 003BB560  41 82 00 20 */	beq lbl_803BF920
/* 803BF904 003BB564  28 03 01 7E */	cmplwi r3, 0x17e
/* 803BF908 003BB568  41 82 00 18 */	beq lbl_803BF920
/* 803BF90C 003BB56C  3C 63 00 01 */	addis r3, r3, 1
/* 803BF910 003BB570  38 03 FF 8A */	addi r0, r3, -118
/* 803BF914 003BB574  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803BF918 003BB578  28 00 00 01 */	cmplwi r0, 1
/* 803BF91C 003BB57C  41 81 00 0C */	bgt lbl_803BF928
lbl_803BF920:
/* 803BF920 003BB580  38 60 00 01 */	li r3, 1
/* 803BF924 003BB584  4E 80 00 20 */	blr 
lbl_803BF928:
/* 803BF928 003BB588  38 60 00 00 */	li r3, 0
/* 803BF92C 003BB58C  4E 80 00 20 */	blr 

.global func_803BF930
func_803BF930:
/* 803BF930 003BB590  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BF934 003BB594  7C 08 02 A6 */	mflr r0
/* 803BF938 003BB598  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BF93C 003BB59C  39 61 00 20 */	addi r11, r1, 0x20
/* 803BF940 003BB5A0  4B E0 77 F1 */	bl _savegpr_29
/* 803BF944 003BB5A4  28 04 00 AE */	cmplwi r4, 0xae
/* 803BF948 003BB5A8  7C 7D 1B 78 */	mr r29, r3
/* 803BF94C 003BB5AC  7C BE 2B 78 */	mr r30, r5
/* 803BF950 003BB5B0  3B E0 00 00 */	li r31, 0
/* 803BF954 003BB5B4  40 82 00 3C */	bne lbl_803BF990
/* 803BF958 003BB5B8  7F C4 F3 78 */	mr r4, r30
/* 803BF95C 003BB5BC  38 A0 00 1B */	li r5, 0x1b
/* 803BF960 003BB5C0  38 C0 00 00 */	li r6, 0
/* 803BF964 003BB5C4  4B FF B3 41 */	bl func_803BACA4
/* 803BF968 003BB5C8  2C 03 00 07 */	cmpwi r3, 7
/* 803BF96C 003BB5CC  41 82 00 20 */	beq lbl_803BF98C
/* 803BF970 003BB5D0  7F A3 EB 78 */	mr r3, r29
/* 803BF974 003BB5D4  7F C4 F3 78 */	mr r4, r30
/* 803BF978 003BB5D8  38 A0 00 1C */	li r5, 0x1c
/* 803BF97C 003BB5DC  38 C0 00 00 */	li r6, 0
/* 803BF980 003BB5E0  4B FF B3 25 */	bl func_803BACA4
/* 803BF984 003BB5E4  2C 03 00 07 */	cmpwi r3, 7
/* 803BF988 003BB5E8  40 82 00 08 */	bne lbl_803BF990
lbl_803BF98C:
/* 803BF98C 003BB5EC  3B E0 00 01 */	li r31, 1
lbl_803BF990:
/* 803BF990 003BB5F0  39 61 00 20 */	addi r11, r1, 0x20
/* 803BF994 003BB5F4  7F E3 FB 78 */	mr r3, r31
/* 803BF998 003BB5F8  4B E0 77 E5 */	bl _restgpr_29
/* 803BF99C 003BB5FC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BF9A0 003BB600  7C 08 03 A6 */	mtlr r0
/* 803BF9A4 003BB604  38 21 00 20 */	addi r1, r1, 0x20
/* 803BF9A8 003BB608  4E 80 00 20 */	blr 

.global func_803BF9AC
func_803BF9AC:
/* 803BF9AC 003BB60C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BF9B0 003BB610  7C 08 02 A6 */	mflr r0
/* 803BF9B4 003BB614  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BF9B8 003BB618  39 61 00 20 */	addi r11, r1, 0x20
/* 803BF9BC 003BB61C  4B E0 77 6D */	bl _savegpr_27
/* 803BF9C0 003BB620  7C BC 2B 78 */	mr r28, r5
/* 803BF9C4 003BB624  7C 9B 23 78 */	mr r27, r4
/* 803BF9C8 003BB628  7F 84 E3 78 */	mr r4, r28
/* 803BF9CC 003BB62C  3B C0 00 00 */	li r30, 0
/* 803BF9D0 003BB630  4B FE D3 15 */	bl func_803ACCE4
/* 803BF9D4 003BB634  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803BF9D8 003BB638  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803BF9DC 003BB63C  7F FB 02 14 */	add r31, r27, r0
/* 803BF9E0 003BB640  A0 1F 2D B8 */	lhz r0, 0x2db8(r31)
/* 803BF9E4 003BB644  2C 00 00 00 */	cmpwi r0, 0
/* 803BF9E8 003BB648  41 82 00 3C */	beq lbl_803BFA24
/* 803BF9EC 003BB64C  7C 7B E2 14 */	add r3, r27, r28
/* 803BF9F0 003BB650  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803BF9F4 003BB654  48 01 DF 2D */	bl func_803DD920
/* 803BF9F8 003BB658  57 A0 18 38 */	slwi r0, r29, 3
/* 803BF9FC 003BB65C  7C 9B 02 14 */	add r4, r27, r0
/* 803BFA00 003BB660  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803BFA04 003BB664  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803BFA08 003BB668  7C 00 18 39 */	and. r0, r0, r3
/* 803BFA0C 003BB66C  40 82 00 18 */	bne lbl_803BFA24
/* 803BFA10 003BB670  A0 7F 2D B8 */	lhz r3, 0x2db8(r31)
/* 803BFA14 003BB674  48 01 9B 25 */	bl func_803D9538
/* 803BFA18 003BB678  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803BFA1C 003BB67C  40 82 00 08 */	bne lbl_803BFA24
/* 803BFA20 003BB680  3B C0 00 01 */	li r30, 1
lbl_803BFA24:
/* 803BFA24 003BB684  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFA28 003BB688  7F C3 F3 78 */	mr r3, r30
/* 803BFA2C 003BB68C  4B E0 77 49 */	bl _restgpr_27
/* 803BFA30 003BB690  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BFA34 003BB694  7C 08 03 A6 */	mtlr r0
/* 803BFA38 003BB698  38 21 00 20 */	addi r1, r1, 0x20
/* 803BFA3C 003BB69C  4E 80 00 20 */	blr 

.global func_803BFA40
func_803BFA40:
/* 803BFA40 003BB6A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803BFA44 003BB6A4  7C 08 02 A6 */	mflr r0
/* 803BFA48 003BB6A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803BFA4C 003BB6AC  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803BFA50 003BB6B0  7C 63 02 14 */	add r3, r3, r0
/* 803BFA54 003BB6B4  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803BFA58 003BB6B8  48 01 9A E1 */	bl func_803D9538
/* 803BFA5C 003BB6BC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFA60 003BB6C0  7C 00 00 34 */	cntlzw r0, r0
/* 803BFA64 003BB6C4  54 03 D9 7E */	srwi r3, r0, 5
/* 803BFA68 003BB6C8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803BFA6C 003BB6CC  7C 08 03 A6 */	mtlr r0
/* 803BFA70 003BB6D0  38 21 00 10 */	addi r1, r1, 0x10
/* 803BFA74 003BB6D4  4E 80 00 20 */	blr 

.global func_803BFA78
func_803BFA78:
/* 803BFA78 003BB6D8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BFA7C 003BB6DC  7C 08 02 A6 */	mflr r0
/* 803BFA80 003BB6E0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BFA84 003BB6E4  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFA88 003BB6E8  4B E0 76 A9 */	bl _savegpr_29
/* 803BFA8C 003BB6EC  80 83 00 6C */	lwz r4, 0x6c(r3)
/* 803BFA90 003BB6F0  7C 7D 1B 78 */	mr r29, r3
/* 803BFA94 003BB6F4  80 03 00 64 */	lwz r0, 0x64(r3)
/* 803BFA98 003BB6F8  3B E0 00 00 */	li r31, 0
/* 803BFA9C 003BB6FC  1C 84 00 C0 */	mulli r4, r4, 0xc0
/* 803BFAA0 003BB700  7C 83 22 14 */	add r4, r3, r4
/* 803BFAA4 003BB704  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803BFAA8 003BB708  8B C4 2D 74 */	lbz r30, 0x2d74(r4)
/* 803BFAAC 003BB70C  7C 63 02 14 */	add r3, r3, r0
/* 803BFAB0 003BB710  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803BFAB4 003BB714  7C 00 F0 40 */	cmplw r0, r30
/* 803BFAB8 003BB718  41 80 00 0C */	blt lbl_803BFAC4
/* 803BFABC 003BB71C  3B E0 00 01 */	li r31, 1
/* 803BFAC0 003BB720  48 00 00 3C */	b lbl_803BFAFC
lbl_803BFAC4:
/* 803BFAC4 003BB724  48 01 9C F5 */	bl func_803D97B8
/* 803BFAC8 003BB728  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803BFACC 003BB72C  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803BFAD0 003BB730  57 C0 F6 BE */	rlwinm r0, r30, 0x1e, 0x1a, 0x1f
/* 803BFAD4 003BB734  1C 64 00 C0 */	mulli r3, r4, 0xc0
/* 803BFAD8 003BB738  7C 7D 1A 14 */	add r3, r29, r3
/* 803BFADC 003BB73C  88 63 2D 74 */	lbz r3, 0x2d74(r3)
/* 803BFAE0 003BB740  7C 63 F2 14 */	add r3, r3, r30
/* 803BFAE4 003BB744  7C 63 29 D6 */	mullw r3, r3, r5
/* 803BFAE8 003BB748  7C 63 46 70 */	srawi r3, r3, 8
/* 803BFAEC 003BB74C  38 63 00 01 */	addi r3, r3, 1
/* 803BFAF0 003BB750  7C 03 00 00 */	cmpw r3, r0
/* 803BFAF4 003BB754  40 81 00 08 */	ble lbl_803BFAFC
/* 803BFAF8 003BB758  3B E0 00 01 */	li r31, 1
lbl_803BFAFC:
/* 803BFAFC 003BB75C  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFB00 003BB760  7F E3 FB 78 */	mr r3, r31
/* 803BFB04 003BB764  4B E0 76 79 */	bl _restgpr_29
/* 803BFB08 003BB768  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BFB0C 003BB76C  7C 08 03 A6 */	mtlr r0
/* 803BFB10 003BB770  38 21 00 20 */	addi r1, r1, 0x20
/* 803BFB14 003BB774  4E 80 00 20 */	blr 

.global func_803BFB18
func_803BFB18:
/* 803BFB18 003BB778  1C A4 00 C0 */	mulli r5, r4, 0xc0
/* 803BFB1C 003BB77C  7C 83 2A 14 */	add r4, r3, r5
/* 803BFB20 003BB780  80 C4 2D C0 */	lwz r6, 0x2dc0(r4)
/* 803BFB24 003BB784  54 C0 02 95 */	rlwinm. r0, r6, 0, 0xa, 0xa
/* 803BFB28 003BB788  41 82 00 18 */	beq lbl_803BFB40
/* 803BFB2C 003BB78C  88 04 2D 67 */	lbz r0, 0x2d67(r4)
/* 803BFB30 003BB790  28 00 00 79 */	cmplwi r0, 0x79
/* 803BFB34 003BB794  41 82 00 0C */	beq lbl_803BFB40
/* 803BFB38 003BB798  38 60 00 00 */	li r3, 0
/* 803BFB3C 003BB79C  4E 80 00 20 */	blr 
lbl_803BFB40:
/* 803BFB40 003BB7A0  80 03 01 80 */	lwz r0, 0x180(r3)
/* 803BFB44 003BB7A4  54 00 04 67 */	rlwinm. r0, r0, 0, 0x11, 0x13
/* 803BFB48 003BB7A8  41 82 00 1C */	beq lbl_803BFB64
/* 803BFB4C 003BB7AC  7C 83 2A 14 */	add r4, r3, r5
/* 803BFB50 003BB7B0  88 04 2D 67 */	lbz r0, 0x2d67(r4)
/* 803BFB54 003BB7B4  28 00 00 1A */	cmplwi r0, 0x1a
/* 803BFB58 003BB7B8  40 82 00 0C */	bne lbl_803BFB64
/* 803BFB5C 003BB7BC  38 60 00 00 */	li r3, 0
/* 803BFB60 003BB7C0  4E 80 00 20 */	blr 
lbl_803BFB64:
/* 803BFB64 003BB7C4  54 C0 05 6B */	rlwinm. r0, r6, 0, 0x15, 0x15
/* 803BFB68 003BB7C8  41 82 00 1C */	beq lbl_803BFB84
/* 803BFB6C 003BB7CC  7C 83 2A 14 */	add r4, r3, r5
/* 803BFB70 003BB7D0  88 04 2D 67 */	lbz r0, 0x2d67(r4)
/* 803BFB74 003BB7D4  28 00 00 1A */	cmplwi r0, 0x1a
/* 803BFB78 003BB7D8  40 82 00 0C */	bne lbl_803BFB84
/* 803BFB7C 003BB7DC  38 60 00 00 */	li r3, 0
/* 803BFB80 003BB7E0  4E 80 00 20 */	blr 
lbl_803BFB84:
/* 803BFB84 003BB7E4  7C 63 2A 14 */	add r3, r3, r5
/* 803BFB88 003BB7E8  88 63 2D 67 */	lbz r3, 0x2d67(r3)
/* 803BFB8C 003BB7EC  4E 80 00 20 */	blr 

.global func_803BFB90
func_803BFB90:
/* 803BFB90 003BB7F0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BFB94 003BB7F4  7C 08 02 A6 */	mflr r0
/* 803BFB98 003BB7F8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BFB9C 003BB7FC  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFBA0 003BB800  4B E0 75 89 */	bl _savegpr_27
/* 803BFBA4 003BB804  7C 7B 1B 78 */	mr r27, r3
/* 803BFBA8 003BB808  7C 9C 23 78 */	mr r28, r4
/* 803BFBAC 003BB80C  7C BD 2B 78 */	mr r29, r5
/* 803BFBB0 003BB810  7C DE 33 78 */	mr r30, r6
/* 803BFBB4 003BB814  3B E0 00 00 */	li r31, 0
/* 803BFBB8 003BB818  4B FF FF 61 */	bl func_803BFB18
/* 803BFBBC 003BB81C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFBC0 003BB820  28 00 00 68 */	cmplwi r0, 0x68
/* 803BFBC4 003BB824  41 82 00 24 */	beq lbl_803BFBE8
/* 803BFBC8 003BB828  7F 63 DB 78 */	mr r3, r27
/* 803BFBCC 003BB82C  7F A4 EB 78 */	mr r4, r29
/* 803BFBD0 003BB830  4B FF FF 49 */	bl func_803BFB18
/* 803BFBD4 003BB834  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFBD8 003BB838  7C 1E 00 00 */	cmpw r30, r0
/* 803BFBDC 003BB83C  40 82 00 4C */	bne lbl_803BFC28
/* 803BFBE0 003BB840  3B E0 00 01 */	li r31, 1
/* 803BFBE4 003BB844  48 00 00 44 */	b lbl_803BFC28
lbl_803BFBE8:
/* 803BFBE8 003BB848  7F 63 DB 78 */	mr r3, r27
/* 803BFBEC 003BB84C  7F A4 EB 78 */	mr r4, r29
/* 803BFBF0 003BB850  4B FF FF 29 */	bl func_803BFB18
/* 803BFBF4 003BB854  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFBF8 003BB858  7C 1E 00 00 */	cmpw r30, r0
/* 803BFBFC 003BB85C  40 82 00 2C */	bne lbl_803BFC28
/* 803BFC00 003BB860  1C 1C 00 1C */	mulli r0, r28, 0x1c
/* 803BFC04 003BB864  7C 9B 02 14 */	add r4, r27, r0
/* 803BFC08 003BB868  80 64 02 D4 */	lwz r3, 0x2d4(r4)
/* 803BFC0C 003BB86C  54 60 27 FF */	rlwinm. r0, r3, 4, 0x1f, 0x1f
/* 803BFC10 003BB870  40 82 00 18 */	bne lbl_803BFC28
/* 803BFC14 003BB874  64 60 10 00 */	oris r0, r3, 0x1000
/* 803BFC18 003BB878  90 04 02 D4 */	stw r0, 0x2d4(r4)
/* 803BFC1C 003BB87C  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803BFC20 003BB880  64 00 00 80 */	oris r0, r0, 0x80
/* 803BFC24 003BB884  90 1B 21 3C */	stw r0, 0x213c(r27)
lbl_803BFC28:
/* 803BFC28 003BB888  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFC2C 003BB88C  7F E3 FB 78 */	mr r3, r31
/* 803BFC30 003BB890  4B E0 75 45 */	bl _restgpr_27
/* 803BFC34 003BB894  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BFC38 003BB898  7C 08 03 A6 */	mtlr r0
/* 803BFC3C 003BB89C  38 21 00 20 */	addi r1, r1, 0x20
/* 803BFC40 003BB8A0  4E 80 00 20 */	blr 

.global func_803BFC44
func_803BFC44:
/* 803BFC44 003BB8A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BFC48 003BB8A8  7C 08 02 A6 */	mflr r0
/* 803BFC4C 003BB8AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BFC50 003BB8B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFC54 003BB8B4  4B E0 74 D9 */	bl _savegpr_28
/* 803BFC58 003BB8B8  7C 9E 23 78 */	mr r30, r4
/* 803BFC5C 003BB8BC  7C BD 2B 78 */	mr r29, r5
/* 803BFC60 003BB8C0  7C DC 33 78 */	mr r28, r6
/* 803BFC64 003BB8C4  3B E0 00 00 */	li r31, 0
/* 803BFC68 003BB8C8  4B FE CB C1 */	bl func_803AC828
/* 803BFC6C 003BB8CC  4B FE CB D5 */	bl func_803AC840
/* 803BFC70 003BB8D0  57 C4 06 3E */	clrlwi r4, r30, 0x18
/* 803BFC74 003BB8D4  48 00 96 55 */	bl func_803C92C8
/* 803BFC78 003BB8D8  3C A0 80 49 */	lis r5, lbl_8048DFA8@ha
/* 803BFC7C 003BB8DC  3C 80 80 49 */	lis r4, lbl_8048DFB8@ha
/* 803BFC80 003BB8E0  54 66 15 BA */	rlwinm r6, r3, 2, 0x16, 0x1d
/* 803BFC84 003BB8E4  57 A3 10 3A */	slwi r3, r29, 2
/* 803BFC88 003BB8E8  38 84 DF B8 */	addi r4, r4, lbl_8048DFB8@l
/* 803BFC8C 003BB8EC  38 A5 DF A8 */	addi r5, r5, lbl_8048DFA8@l
/* 803BFC90 003BB8F0  57 C0 10 3A */	slwi r0, r30, 2
/* 803BFC94 003BB8F4  7F C5 30 2E */	lwzx r30, r5, r6
/* 803BFC98 003BB8F8  7F A4 18 2E */	lwzx r29, r4, r3
/* 803BFC9C 003BB8FC  38 A0 00 68 */	li r5, 0x68
/* 803BFCA0 003BB900  7C 84 00 2E */	lwzx r4, r4, r0
/* 803BFCA4 003BB904  7F C3 F3 78 */	mr r3, r30
/* 803BFCA8 003BB908  4B DC 09 71 */	bl func_80180618
/* 803BFCAC 003BB90C  2C 03 00 00 */	cmpwi r3, 0
/* 803BFCB0 003BB910  40 82 00 20 */	bne lbl_803BFCD0
/* 803BFCB4 003BB914  7F C3 F3 78 */	mr r3, r30
/* 803BFCB8 003BB918  7F A4 EB 78 */	mr r4, r29
/* 803BFCBC 003BB91C  57 85 04 3E */	clrlwi r5, r28, 0x10
/* 803BFCC0 003BB920  4B DC 09 59 */	bl func_80180618
/* 803BFCC4 003BB924  2C 03 00 00 */	cmpwi r3, 0
/* 803BFCC8 003BB928  41 82 00 08 */	beq lbl_803BFCD0
/* 803BFCCC 003BB92C  3B E0 00 01 */	li r31, 1
lbl_803BFCD0:
/* 803BFCD0 003BB930  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFCD4 003BB934  7F E3 FB 78 */	mr r3, r31
/* 803BFCD8 003BB938  4B E0 74 A1 */	bl _restgpr_28
/* 803BFCDC 003BB93C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803BFCE0 003BB940  7C 08 03 A6 */	mtlr r0
/* 803BFCE4 003BB944  38 21 00 20 */	addi r1, r1, 0x20
/* 803BFCE8 003BB948  4E 80 00 20 */	blr 

.global func_803BFCEC
func_803BFCEC:
/* 803BFCEC 003BB94C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803BFCF0 003BB950  7C 08 02 A6 */	mflr r0
/* 803BFCF4 003BB954  90 01 00 34 */	stw r0, 0x34(r1)
/* 803BFCF8 003BB958  39 61 00 30 */	addi r11, r1, 0x30
/* 803BFCFC 003BB95C  4B E0 74 19 */	bl _savegpr_22
/* 803BFD00 003BB960  7C 7A 1B 78 */	mr r26, r3
/* 803BFD04 003BB964  7C 96 23 78 */	mr r22, r4
/* 803BFD08 003BB968  7C B7 2B 78 */	mr r23, r5
/* 803BFD0C 003BB96C  3B 80 00 00 */	li r28, 0
/* 803BFD10 003BB970  3B C0 00 00 */	li r30, 0
/* 803BFD14 003BB974  4B FE CB 2D */	bl func_803AC840
/* 803BFD18 003BB978  7C 7F 1B 78 */	mr r31, r3
/* 803BFD1C 003BB97C  7F 43 D3 78 */	mr r3, r26
/* 803BFD20 003BB980  7E E4 BB 78 */	mr r4, r23
/* 803BFD24 003BB984  4B FE CB 45 */	bl func_803AC868
/* 803BFD28 003BB988  7C 7D 1B 78 */	mr r29, r3
/* 803BFD2C 003BB98C  7F 43 D3 78 */	mr r3, r26
/* 803BFD30 003BB990  7E E4 BB 78 */	mr r4, r23
/* 803BFD34 003BB994  4B FE CB CD */	bl func_803AC900
/* 803BFD38 003BB998  57 E0 07 39 */	rlwinm. r0, r31, 0, 0x1c, 0x1c
/* 803BFD3C 003BB99C  7C 79 1B 78 */	mr r25, r3
/* 803BFD40 003BB9A0  40 82 00 20 */	bne lbl_803BFD60
/* 803BFD44 003BB9A4  57 E0 06 F7 */	rlwinm. r0, r31, 0, 0x1b, 0x1b
/* 803BFD48 003BB9A8  41 82 00 30 */	beq lbl_803BFD78
/* 803BFD4C 003BB9AC  7F 43 D3 78 */	mr r3, r26
/* 803BFD50 003BB9B0  7E E4 BB 78 */	mr r4, r23
/* 803BFD54 003BB9B4  4B FE CF 81 */	bl func_803ACCD4
/* 803BFD58 003BB9B8  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803BFD5C 003BB9BC  41 82 00 1C */	beq lbl_803BFD78
lbl_803BFD60:
/* 803BFD60 003BB9C0  7C 76 BA 14 */	add r3, r22, r23
/* 803BFD64 003BB9C4  3B 40 00 00 */	li r26, 0
/* 803BFD68 003BB9C8  8B 03 21 9C */	lbz r24, 0x219c(r3)
/* 803BFD6C 003BB9CC  3B 60 00 01 */	li r27, 1
/* 803BFD70 003BB9D0  7F 17 C3 78 */	mr r23, r24
/* 803BFD74 003BB9D4  48 00 00 B8 */	b lbl_803BFE2C
lbl_803BFD78:
/* 803BFD78 003BB9D8  57 E0 07 BD */	rlwinm. r0, r31, 0, 0x1e, 0x1e
/* 803BFD7C 003BB9DC  41 82 00 2C */	beq lbl_803BFDA8
/* 803BFD80 003BB9E0  7C 76 BA 14 */	add r3, r22, r23
/* 803BFD84 003BB9E4  7E E4 BB 78 */	mr r4, r23
/* 803BFD88 003BB9E8  8B 03 21 9C */	lbz r24, 0x219c(r3)
/* 803BFD8C 003BB9EC  7F 43 D3 78 */	mr r3, r26
/* 803BFD90 003BB9F0  3B 40 00 00 */	li r26, 0
/* 803BFD94 003BB9F4  3B 60 00 01 */	li r27, 1
/* 803BFD98 003BB9F8  4B FE CF A1 */	bl func_803ACD38
/* 803BFD9C 003BB9FC  7C 76 1A 14 */	add r3, r22, r3
/* 803BFDA0 003BBA00  8A E3 21 9C */	lbz r23, 0x219c(r3)
/* 803BFDA4 003BBA04  48 00 00 88 */	b lbl_803BFE2C
lbl_803BFDA8:
/* 803BFDA8 003BBA08  7C 76 BA 14 */	add r3, r22, r23
/* 803BFDAC 003BBA0C  3B 40 00 00 */	li r26, 0
/* 803BFDB0 003BBA10  8B 03 21 9C */	lbz r24, 0x219c(r3)
/* 803BFDB4 003BBA14  3B 60 00 01 */	li r27, 1
/* 803BFDB8 003BBA18  7F 17 C3 78 */	mr r23, r24
/* 803BFDBC 003BBA1C  48 00 00 70 */	b lbl_803BFE2C
lbl_803BFDC0:
/* 803BFDC0 003BBA20  7F A3 EB 78 */	mr r3, r29
/* 803BFDC4 003BBA24  7F 44 D3 78 */	mr r4, r26
/* 803BFDC8 003BBA28  48 01 EB 85 */	bl func_803DE94C
/* 803BFDCC 003BBA2C  7C 7F 1B 78 */	mr r31, r3
/* 803BFDD0 003BBA30  38 80 00 05 */	li r4, 5
/* 803BFDD4 003BBA34  38 A0 00 00 */	li r5, 0
/* 803BFDD8 003BBA38  48 01 DC 05 */	bl func_803DD9DC
/* 803BFDDC 003BBA3C  2C 03 00 00 */	cmpwi r3, 0
/* 803BFDE0 003BBA40  41 82 00 48 */	beq lbl_803BFE28
/* 803BFDE4 003BBA44  7F E3 FB 78 */	mr r3, r31
/* 803BFDE8 003BBA48  38 80 00 4C */	li r4, 0x4c
/* 803BFDEC 003BBA4C  38 A0 00 00 */	li r5, 0
/* 803BFDF0 003BBA50  48 01 DB ED */	bl func_803DD9DC
/* 803BFDF4 003BBA54  2C 03 00 00 */	cmpwi r3, 0
/* 803BFDF8 003BBA58  40 82 00 30 */	bne lbl_803BFE28
/* 803BFDFC 003BBA5C  7F E3 FB 78 */	mr r3, r31
/* 803BFE00 003BBA60  38 80 00 A2 */	li r4, 0xa2
/* 803BFE04 003BBA64  38 A0 00 00 */	li r5, 0
/* 803BFE08 003BBA68  48 01 DB D5 */	bl func_803DD9DC
/* 803BFE0C 003BBA6C  2C 03 00 00 */	cmpwi r3, 0
/* 803BFE10 003BBA70  41 82 00 18 */	beq lbl_803BFE28
/* 803BFE14 003BBA74  7C 18 D0 00 */	cmpw r24, r26
/* 803BFE18 003BBA78  41 82 00 10 */	beq lbl_803BFE28
/* 803BFE1C 003BBA7C  7C 17 D0 00 */	cmpw r23, r26
/* 803BFE20 003BBA80  41 82 00 08 */	beq lbl_803BFE28
/* 803BFE24 003BBA84  3B 9C 00 01 */	addi r28, r28, 1
lbl_803BFE28:
/* 803BFE28 003BBA88  3B 5A 00 01 */	addi r26, r26, 1
lbl_803BFE2C:
/* 803BFE2C 003BBA8C  7C 1A C8 00 */	cmpw r26, r25
/* 803BFE30 003BBA90  41 80 FF 90 */	blt lbl_803BFDC0
/* 803BFE34 003BBA94  7C 1C D8 00 */	cmpw r28, r27
/* 803BFE38 003BBA98  41 80 00 08 */	blt lbl_803BFE40
/* 803BFE3C 003BBA9C  3B C0 00 01 */	li r30, 1
lbl_803BFE40:
/* 803BFE40 003BBAA0  39 61 00 30 */	addi r11, r1, 0x30
/* 803BFE44 003BBAA4  7F C3 F3 78 */	mr r3, r30
/* 803BFE48 003BBAA8  4B E0 73 19 */	bl _restgpr_22
/* 803BFE4C 003BBAAC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803BFE50 003BBAB0  7C 08 03 A6 */	mtlr r0
/* 803BFE54 003BBAB4  38 21 00 30 */	addi r1, r1, 0x30
/* 803BFE58 003BBAB8  4E 80 00 20 */	blr 

.global func_803BFE5C
func_803BFE5C:
/* 803BFE5C 003BBABC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803BFE60 003BBAC0  7C 08 02 A6 */	mflr r0
/* 803BFE64 003BBAC4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803BFE68 003BBAC8  39 61 00 20 */	addi r11, r1, 0x20
/* 803BFE6C 003BBACC  4B E0 72 B9 */	bl _savegpr_26
/* 803BFE70 003BBAD0  7C 7B 1B 78 */	mr r27, r3
/* 803BFE74 003BBAD4  7C 9C 23 78 */	mr r28, r4
/* 803BFE78 003BBAD8  7C BD 2B 78 */	mr r29, r5
/* 803BFE7C 003BBADC  7C DE 33 78 */	mr r30, r6
/* 803BFE80 003BBAE0  4B FE C9 C1 */	bl func_803AC840
/* 803BFE84 003BBAE4  7C 7F 1B 78 */	mr r31, r3
/* 803BFE88 003BBAE8  7F 83 E3 78 */	mr r3, r28
/* 803BFE8C 003BBAEC  7F A4 EB 78 */	mr r4, r29
/* 803BFE90 003BBAF0  48 00 3E DD */	bl func_803C3D6C
/* 803BFE94 003BBAF4  7C 60 1B 78 */	mr r0, r3
/* 803BFE98 003BBAF8  80 7C 21 20 */	lwz r3, 0x2120(r28)
/* 803BFE9C 003BBAFC  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803BFEA0 003BBB00  48 01 98 CD */	bl func_803D976C
/* 803BFEA4 003BBB04  38 80 00 01 */	li r4, 1
/* 803BFEA8 003BBB08  48 01 93 85 */	bl func_803D922C
/* 803BFEAC 003BBB0C  2C 03 00 3E */	cmpwi r3, 0x3e
/* 803BFEB0 003BBB10  7C 7A 1B 78 */	mr r26, r3
/* 803BFEB4 003BBB14  41 82 00 24 */	beq lbl_803BFED8
/* 803BFEB8 003BBB18  73 E0 02 A4 */	andi. r0, r31, 0x2a4
/* 803BFEBC 003BBB1C  40 82 00 1C */	bne lbl_803BFED8
/* 803BFEC0 003BBB20  7F 83 E3 78 */	mr r3, r28
/* 803BFEC4 003BBB24  7F A4 EB 78 */	mr r4, r29
/* 803BFEC8 003BBB28  4B FF FC 51 */	bl func_803BFB18
/* 803BFECC 003BBB2C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFED0 003BBB30  28 00 00 32 */	cmplwi r0, 0x32
/* 803BFED4 003BBB34  40 82 00 0C */	bne lbl_803BFEE0
lbl_803BFED8:
/* 803BFED8 003BBB38  38 60 00 00 */	li r3, 0
/* 803BFEDC 003BBB3C  48 00 02 AC */	b lbl_803C0188
lbl_803BFEE0:
/* 803BFEE0 003BBB40  7F 63 DB 78 */	mr r3, r27
/* 803BFEE4 003BBB44  7F A4 EB 78 */	mr r4, r29
/* 803BFEE8 003BBB48  4B FE CD FD */	bl func_803ACCE4
/* 803BFEEC 003BBB4C  7F 63 DB 78 */	mr r3, r27
/* 803BFEF0 003BBB50  4B FE C9 71 */	bl func_803AC860
/* 803BFEF4 003BBB54  7F 63 DB 78 */	mr r3, r27
/* 803BFEF8 003BBB58  7F 84 E3 78 */	mr r4, r28
/* 803BFEFC 003BBB5C  7F A6 EB 78 */	mr r6, r29
/* 803BFF00 003BBB60  38 A0 00 09 */	li r5, 9
/* 803BFF04 003BBB64  38 E0 00 17 */	li r7, 0x17
/* 803BFF08 003BBB68  4B FF F4 79 */	bl func_803BF380
/* 803BFF0C 003BBB6C  2C 03 00 00 */	cmpwi r3, 0
/* 803BFF10 003BBB70  7C 7F 1B 78 */	mr r31, r3
/* 803BFF14 003BBB74  41 82 00 60 */	beq lbl_803BFF74
/* 803BFF18 003BBB78  7F 83 E3 78 */	mr r3, r28
/* 803BFF1C 003BBB7C  7F A4 EB 78 */	mr r4, r29
/* 803BFF20 003BBB80  4B FF FB F9 */	bl func_803BFB18
/* 803BFF24 003BBB84  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFF28 003BBB88  28 00 00 17 */	cmplwi r0, 0x17
/* 803BFF2C 003BBB8C  41 82 00 48 */	beq lbl_803BFF74
/* 803BFF30 003BBB90  2C 1E 00 00 */	cmpwi r30, 0
/* 803BFF34 003BBB94  40 82 00 0C */	bne lbl_803BFF40
/* 803BFF38 003BBB98  38 60 00 01 */	li r3, 1
/* 803BFF3C 003BBB9C  48 00 02 4C */	b lbl_803C0188
lbl_803BFF40:
/* 803BFF40 003BBBA0  38 00 00 0B */	li r0, 0xb
/* 803BFF44 003BBBA4  38 A0 00 27 */	li r5, 0x27
/* 803BFF48 003BBBA8  98 1E 00 01 */	stb r0, 1(r30)
/* 803BFF4C 003BBBAC  7C 9C FA 14 */	add r4, r28, r31
/* 803BFF50 003BBBB0  38 00 00 17 */	li r0, 0x17
/* 803BFF54 003BBBB4  38 60 00 01 */	li r3, 1
/* 803BFF58 003BBBB8  B0 BE 00 02 */	sth r5, 2(r30)
/* 803BFF5C 003BBBBC  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803BFF60 003BBBC0  54 84 40 2E */	slwi r4, r4, 8
/* 803BFF64 003BBBC4  90 1E 00 08 */	stw r0, 8(r30)
/* 803BFF68 003BBBC8  7F E0 23 78 */	or r0, r31, r4
/* 803BFF6C 003BBBCC  90 1E 00 04 */	stw r0, 4(r30)
/* 803BFF70 003BBBD0  48 00 02 18 */	b lbl_803C0188
lbl_803BFF74:
/* 803BFF74 003BBBD4  7F 63 DB 78 */	mr r3, r27
/* 803BFF78 003BBBD8  7F 84 E3 78 */	mr r4, r28
/* 803BFF7C 003BBBDC  7F A6 EB 78 */	mr r6, r29
/* 803BFF80 003BBBE0  38 A0 00 03 */	li r5, 3
/* 803BFF84 003BBBE4  38 E0 00 47 */	li r7, 0x47
/* 803BFF88 003BBBE8  4B FF F3 F9 */	bl func_803BF380
/* 803BFF8C 003BBBEC  2C 03 00 00 */	cmpwi r3, 0
/* 803BFF90 003BBBF0  7C 7F 1B 78 */	mr r31, r3
/* 803BFF94 003BBBF4  41 82 01 04 */	beq lbl_803C0098
/* 803BFF98 003BBBF8  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803BFF9C 003BBBFC  54 00 04 67 */	rlwinm. r0, r0, 0, 0x11, 0x13
/* 803BFFA0 003BBC00  40 82 00 B4 */	bne lbl_803C0054
/* 803BFFA4 003BBC04  2C 1A 00 69 */	cmpwi r26, 0x69
/* 803BFFA8 003BBC08  41 82 00 AC */	beq lbl_803C0054
/* 803BFFAC 003BBC0C  7F 83 E3 78 */	mr r3, r28
/* 803BFFB0 003BBC10  7F A4 EB 78 */	mr r4, r29
/* 803BFFB4 003BBC14  4B FF FB 65 */	bl func_803BFB18
/* 803BFFB8 003BBC18  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803BFFBC 003BBC1C  28 00 00 1A */	cmplwi r0, 0x1a
/* 803BFFC0 003BBC20  41 82 00 D8 */	beq lbl_803C0098
/* 803BFFC4 003BBC24  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803BFFC8 003BBC28  7C 7C 02 14 */	add r3, r28, r0
/* 803BFFCC 003BBC2C  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803BFFD0 003BBC30  54 00 87 7F */	rlwinm. r0, r0, 0x10, 0x1d, 0x1f
/* 803BFFD4 003BBC34  40 82 00 C4 */	bne lbl_803C0098
/* 803BFFD8 003BBC38  7F 83 E3 78 */	mr r3, r28
/* 803BFFDC 003BBC3C  7F A4 EB 78 */	mr r4, r29
/* 803BFFE0 003BBC40  38 A0 00 1B */	li r5, 0x1b
/* 803BFFE4 003BBC44  38 C0 00 00 */	li r6, 0
/* 803BFFE8 003BBC48  4B FF AC BD */	bl func_803BACA4
/* 803BFFEC 003BBC4C  2C 03 00 02 */	cmpwi r3, 2
/* 803BFFF0 003BBC50  41 82 00 A8 */	beq lbl_803C0098
/* 803BFFF4 003BBC54  7F 83 E3 78 */	mr r3, r28
/* 803BFFF8 003BBC58  7F A4 EB 78 */	mr r4, r29
/* 803BFFFC 003BBC5C  38 A0 00 1C */	li r5, 0x1c
/* 803C0000 003BBC60  38 C0 00 00 */	li r6, 0
/* 803C0004 003BBC64  4B FF AC A1 */	bl func_803BACA4
/* 803C0008 003BBC68  2C 03 00 02 */	cmpwi r3, 2
/* 803C000C 003BBC6C  41 82 00 8C */	beq lbl_803C0098
/* 803C0010 003BBC70  2C 1E 00 00 */	cmpwi r30, 0
/* 803C0014 003BBC74  40 82 00 0C */	bne lbl_803C0020
/* 803C0018 003BBC78  38 60 00 01 */	li r3, 1
/* 803C001C 003BBC7C  48 00 01 6C */	b lbl_803C0188
lbl_803C0020:
/* 803C0020 003BBC80  38 00 00 0B */	li r0, 0xb
/* 803C0024 003BBC84  38 A0 00 27 */	li r5, 0x27
/* 803C0028 003BBC88  98 1E 00 01 */	stb r0, 1(r30)
/* 803C002C 003BBC8C  7C 9C FA 14 */	add r4, r28, r31
/* 803C0030 003BBC90  38 00 00 47 */	li r0, 0x47
/* 803C0034 003BBC94  38 60 00 01 */	li r3, 1
/* 803C0038 003BBC98  B0 BE 00 02 */	sth r5, 2(r30)
/* 803C003C 003BBC9C  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803C0040 003BBCA0  54 84 40 2E */	slwi r4, r4, 8
/* 803C0044 003BBCA4  90 1E 00 08 */	stw r0, 8(r30)
/* 803C0048 003BBCA8  7F E0 23 78 */	or r0, r31, r4
/* 803C004C 003BBCAC  90 1E 00 04 */	stw r0, 4(r30)
/* 803C0050 003BBCB0  48 00 01 38 */	b lbl_803C0188
lbl_803C0054:
/* 803C0054 003BBCB4  2C 1E 00 00 */	cmpwi r30, 0
/* 803C0058 003BBCB8  40 82 00 0C */	bne lbl_803C0064
/* 803C005C 003BBCBC  38 60 00 01 */	li r3, 1
/* 803C0060 003BBCC0  48 00 01 28 */	b lbl_803C0188
lbl_803C0064:
/* 803C0064 003BBCC4  38 00 00 0B */	li r0, 0xb
/* 803C0068 003BBCC8  38 A0 00 27 */	li r5, 0x27
/* 803C006C 003BBCCC  98 1E 00 01 */	stb r0, 1(r30)
/* 803C0070 003BBCD0  7C 9C 1A 14 */	add r4, r28, r3
/* 803C0074 003BBCD4  38 00 00 47 */	li r0, 0x47
/* 803C0078 003BBCD8  B0 BE 00 02 */	sth r5, 2(r30)
/* 803C007C 003BBCDC  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803C0080 003BBCE0  54 84 40 2E */	slwi r4, r4, 8
/* 803C0084 003BBCE4  90 1E 00 08 */	stw r0, 8(r30)
/* 803C0088 003BBCE8  7C 60 23 78 */	or r0, r3, r4
/* 803C008C 003BBCEC  38 60 00 01 */	li r3, 1
/* 803C0090 003BBCF0  90 1E 00 04 */	stw r0, 4(r30)
/* 803C0094 003BBCF4  48 00 00 F4 */	b lbl_803C0188
lbl_803C0098:
/* 803C0098 003BBCF8  7F 63 DB 78 */	mr r3, r27
/* 803C009C 003BBCFC  7F 84 E3 78 */	mr r4, r28
/* 803C00A0 003BBD00  7F A6 EB 78 */	mr r6, r29
/* 803C00A4 003BBD04  38 A0 00 03 */	li r5, 3
/* 803C00A8 003BBD08  38 E0 00 2A */	li r7, 0x2a
/* 803C00AC 003BBD0C  4B FF F2 D5 */	bl func_803BF380
/* 803C00B0 003BBD10  2C 03 00 00 */	cmpwi r3, 0
/* 803C00B4 003BBD14  7C 7B 1B 78 */	mr r27, r3
/* 803C00B8 003BBD18  41 82 00 80 */	beq lbl_803C0138
/* 803C00BC 003BBD1C  7F 83 E3 78 */	mr r3, r28
/* 803C00C0 003BBD20  7F A4 EB 78 */	mr r4, r29
/* 803C00C4 003BBD24  38 A0 00 1B */	li r5, 0x1b
/* 803C00C8 003BBD28  38 C0 00 00 */	li r6, 0
/* 803C00CC 003BBD2C  4B FF AB D9 */	bl func_803BACA4
/* 803C00D0 003BBD30  2C 03 00 08 */	cmpwi r3, 8
/* 803C00D4 003BBD34  41 82 00 20 */	beq lbl_803C00F4
/* 803C00D8 003BBD38  7F 83 E3 78 */	mr r3, r28
/* 803C00DC 003BBD3C  7F A4 EB 78 */	mr r4, r29
/* 803C00E0 003BBD40  38 A0 00 1C */	li r5, 0x1c
/* 803C00E4 003BBD44  38 C0 00 00 */	li r6, 0
/* 803C00E8 003BBD48  4B FF AB BD */	bl func_803BACA4
/* 803C00EC 003BBD4C  2C 03 00 08 */	cmpwi r3, 8
/* 803C00F0 003BBD50  40 82 00 48 */	bne lbl_803C0138
lbl_803C00F4:
/* 803C00F4 003BBD54  2C 1E 00 00 */	cmpwi r30, 0
/* 803C00F8 003BBD58  40 82 00 0C */	bne lbl_803C0104
/* 803C00FC 003BBD5C  38 60 00 01 */	li r3, 1
/* 803C0100 003BBD60  48 00 00 88 */	b lbl_803C0188
lbl_803C0104:
/* 803C0104 003BBD64  38 00 00 0B */	li r0, 0xb
/* 803C0108 003BBD68  38 A0 00 27 */	li r5, 0x27
/* 803C010C 003BBD6C  98 1E 00 01 */	stb r0, 1(r30)
/* 803C0110 003BBD70  7C 9C DA 14 */	add r4, r28, r27
/* 803C0114 003BBD74  38 00 00 2A */	li r0, 0x2a
/* 803C0118 003BBD78  38 60 00 01 */	li r3, 1
/* 803C011C 003BBD7C  B0 BE 00 02 */	sth r5, 2(r30)
/* 803C0120 003BBD80  88 84 21 9C */	lbz r4, 0x219c(r4)
/* 803C0124 003BBD84  54 84 40 2E */	slwi r4, r4, 8
/* 803C0128 003BBD88  90 1E 00 08 */	stw r0, 8(r30)
/* 803C012C 003BBD8C  7F 60 23 78 */	or r0, r27, r4
/* 803C0130 003BBD90  90 1E 00 04 */	stw r0, 4(r30)
/* 803C0134 003BBD94  48 00 00 54 */	b lbl_803C0188
lbl_803C0138:
/* 803C0138 003BBD98  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C013C 003BBD9C  7C 9C 02 14 */	add r4, r28, r0
/* 803C0140 003BBDA0  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803C0144 003BBDA4  54 60 01 4A */	rlwinm r0, r3, 0, 5, 5
/* 803C0148 003BBDA8  50 60 04 25 */	rlwimi. r0, r3, 0, 0x10, 0x12
/* 803C014C 003BBDAC  40 82 00 10 */	bne lbl_803C015C
/* 803C0150 003BBDB0  80 04 2D C0 */	lwz r0, 0x2dc0(r4)
/* 803C0154 003BBDB4  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803C0158 003BBDB8  41 82 00 2C */	beq lbl_803C0184
lbl_803C015C:
/* 803C015C 003BBDBC  2C 1E 00 00 */	cmpwi r30, 0
/* 803C0160 003BBDC0  40 82 00 0C */	bne lbl_803C016C
/* 803C0164 003BBDC4  38 60 00 01 */	li r3, 1
/* 803C0168 003BBDC8  48 00 00 20 */	b lbl_803C0188
lbl_803C016C:
/* 803C016C 003BBDCC  38 60 00 00 */	li r3, 0
/* 803C0170 003BBDD0  38 00 03 1A */	li r0, 0x31a
/* 803C0174 003BBDD4  98 7E 00 01 */	stb r3, 1(r30)
/* 803C0178 003BBDD8  38 60 00 01 */	li r3, 1
/* 803C017C 003BBDDC  B0 1E 00 02 */	sth r0, 2(r30)
/* 803C0180 003BBDE0  48 00 00 08 */	b lbl_803C0188
lbl_803C0184:
/* 803C0184 003BBDE4  38 60 00 00 */	li r3, 0
lbl_803C0188:
/* 803C0188 003BBDE8  39 61 00 20 */	addi r11, r1, 0x20
/* 803C018C 003BBDEC  4B E0 6F E5 */	bl _restgpr_26
/* 803C0190 003BBDF0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C0194 003BBDF4  7C 08 03 A6 */	mtlr r0
/* 803C0198 003BBDF8  38 21 00 20 */	addi r1, r1, 0x20
/* 803C019C 003BBDFC  4E 80 00 20 */	blr 

.global func_803C01A0
func_803C01A0:
/* 803C01A0 003BBE00  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C01A4 003BBE04  7C 08 02 A6 */	mflr r0
/* 803C01A8 003BBE08  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C01AC 003BBE0C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C01B0 003BBE10  4B E0 6F 7D */	bl _savegpr_28
/* 803C01B4 003BBE14  7C 9E 23 78 */	mr r30, r4
/* 803C01B8 003BBE18  7C BC 2B 78 */	mr r28, r5
/* 803C01BC 003BBE1C  4B FE C6 85 */	bl func_803AC840
/* 803C01C0 003BBE20  7C 7D 1B 78 */	mr r29, r3
/* 803C01C4 003BBE24  7F C3 F3 78 */	mr r3, r30
/* 803C01C8 003BBE28  7F 84 E3 78 */	mr r4, r28
/* 803C01CC 003BBE2C  48 00 3B A1 */	bl func_803C3D6C
/* 803C01D0 003BBE30  7C 60 1B 78 */	mr r0, r3
/* 803C01D4 003BBE34  80 7E 21 20 */	lwz r3, 0x2120(r30)
/* 803C01D8 003BBE38  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C01DC 003BBE3C  48 01 95 91 */	bl func_803D976C
/* 803C01E0 003BBE40  38 80 00 01 */	li r4, 1
/* 803C01E4 003BBE44  48 01 90 49 */	bl func_803D922C
/* 803C01E8 003BBE48  2C 03 00 3E */	cmpwi r3, 0x3e
/* 803C01EC 003BBE4C  3B E0 00 00 */	li r31, 0
/* 803C01F0 003BBE50  40 82 00 24 */	bne lbl_803C0214
/* 803C01F4 003BBE54  57 80 30 32 */	slwi r0, r28, 6
/* 803C01F8 003BBE58  38 80 00 01 */	li r4, 1
/* 803C01FC 003BBE5C  7C 7E 02 14 */	add r3, r30, r0
/* 803C0200 003BBE60  3B E0 00 01 */	li r31, 1
/* 803C0204 003BBE64  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803C0208 003BBE68  50 80 B9 D0 */	rlwimi r0, r4, 0x17, 7, 8
/* 803C020C 003BBE6C  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803C0210 003BBE70  48 00 00 C0 */	b lbl_803C02D0
lbl_803C0214:
/* 803C0214 003BBE74  73 A0 02 A4 */	andi. r0, r29, 0x2a4
/* 803C0218 003BBE78  41 82 00 0C */	beq lbl_803C0224
/* 803C021C 003BBE7C  3B E0 00 01 */	li r31, 1
/* 803C0220 003BBE80  48 00 00 B0 */	b lbl_803C02D0
lbl_803C0224:
/* 803C0224 003BBE84  7F C3 F3 78 */	mr r3, r30
/* 803C0228 003BBE88  7F 84 E3 78 */	mr r4, r28
/* 803C022C 003BBE8C  4B FF F8 ED */	bl func_803BFB18
/* 803C0230 003BBE90  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C0234 003BBE94  28 00 00 32 */	cmplwi r0, 0x32
/* 803C0238 003BBE98  40 82 00 24 */	bne lbl_803C025C
/* 803C023C 003BBE9C  57 80 30 32 */	slwi r0, r28, 6
/* 803C0240 003BBEA0  38 80 00 02 */	li r4, 2
/* 803C0244 003BBEA4  7C 7E 02 14 */	add r3, r30, r0
/* 803C0248 003BBEA8  3B E0 00 01 */	li r31, 1
/* 803C024C 003BBEAC  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803C0250 003BBEB0  50 80 B9 D0 */	rlwimi r0, r4, 0x17, 7, 8
/* 803C0254 003BBEB4  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803C0258 003BBEB8  48 00 00 78 */	b lbl_803C02D0
lbl_803C025C:
/* 803C025C 003BBEBC  6B 80 00 01 */	xori r0, r28, 1
/* 803C0260 003BBEC0  1C 60 00 C0 */	mulli r3, r0, 0xc0
/* 803C0264 003BBEC4  7C 7E 1A 14 */	add r3, r30, r3
/* 803C0268 003BBEC8  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803C026C 003BBECC  A0 83 2D 46 */	lhz r4, 0x2d46(r3)
/* 803C0270 003BBED0  7C 7E 02 14 */	add r3, r30, r0
/* 803C0274 003BBED4  A0 03 2D 46 */	lhz r0, 0x2d46(r3)
/* 803C0278 003BBED8  7C 00 20 40 */	cmplw r0, r4
/* 803C027C 003BBEDC  40 80 00 44 */	bge lbl_803C02C0
/* 803C0280 003BBEE0  54 00 3A 70 */	rlwinm r0, r0, 7, 9, 0x18
/* 803C0284 003BBEE4  88 7E 31 1E */	lbz r3, 0x311e(r30)
/* 803C0288 003BBEE8  7C 00 23 D6 */	divw r0, r0, r4
/* 803C028C 003BBEEC  1C 63 00 1E */	mulli r3, r3, 0x1e
/* 803C0290 003BBEF0  7C 03 02 14 */	add r0, r3, r0
/* 803C0294 003BBEF4  54 1D 06 3E */	clrlwi r29, r0, 0x18
/* 803C0298 003BBEF8  48 01 95 21 */	bl func_803D97B8
/* 803C029C 003BBEFC  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803C02A0 003BBF00  7C 60 46 70 */	srawi r0, r3, 8
/* 803C02A4 003BBF04  7C 00 01 94 */	addze r0, r0
/* 803C02A8 003BBF08  54 00 40 2E */	slwi r0, r0, 8
/* 803C02AC 003BBF0C  7C 00 18 50 */	subf r0, r0, r3
/* 803C02B0 003BBF10  7C 1D 00 00 */	cmpw r29, r0
/* 803C02B4 003BBF14  40 81 00 10 */	ble lbl_803C02C4
/* 803C02B8 003BBF18  3B E0 00 01 */	li r31, 1
/* 803C02BC 003BBF1C  48 00 00 08 */	b lbl_803C02C4
lbl_803C02C0:
/* 803C02C0 003BBF20  3B E0 00 01 */	li r31, 1
lbl_803C02C4:
/* 803C02C4 003BBF24  88 7E 31 1E */	lbz r3, 0x311e(r30)
/* 803C02C8 003BBF28  38 03 00 01 */	addi r0, r3, 1
/* 803C02CC 003BBF2C  98 1E 31 1E */	stb r0, 0x311e(r30)
lbl_803C02D0:
/* 803C02D0 003BBF30  39 61 00 20 */	addi r11, r1, 0x20
/* 803C02D4 003BBF34  7F E3 FB 78 */	mr r3, r31
/* 803C02D8 003BBF38  4B E0 6E A1 */	bl _restgpr_28
/* 803C02DC 003BBF3C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C02E0 003BBF40  7C 08 03 A6 */	mtlr r0
/* 803C02E4 003BBF44  38 21 00 20 */	addi r1, r1, 0x20
/* 803C02E8 003BBF48  4E 80 00 20 */	blr 

.global func_803C02EC
func_803C02EC:
/* 803C02EC 003BBF4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C02F0 003BBF50  7C 08 02 A6 */	mflr r0
/* 803C02F4 003BBF54  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C02F8 003BBF58  39 61 00 20 */	addi r11, r1, 0x20
/* 803C02FC 003BBF5C  4B E0 6E 35 */	bl _savegpr_29
/* 803C0300 003BBF60  7C 7D 1B 78 */	mr r29, r3
/* 803C0304 003BBF64  7C 9E 23 78 */	mr r30, r4
/* 803C0308 003BBF68  3B E0 00 00 */	li r31, 0
/* 803C030C 003BBF6C  4B FF F8 0D */	bl func_803BFB18
/* 803C0310 003BBF70  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C0314 003BBF74  28 00 00 36 */	cmplwi r0, 0x36
/* 803C0318 003BBF78  40 82 00 28 */	bne lbl_803C0340
/* 803C031C 003BBF7C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803C0320 003BBF80  80 7D 01 50 */	lwz r3, 0x150(r29)
/* 803C0324 003BBF84  54 64 07 FE */	clrlwi r4, r3, 0x1f
/* 803C0328 003BBF88  7C 7D 02 14 */	add r3, r29, r0
/* 803C032C 003BBF8C  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803C0330 003BBF90  54 00 FF FE */	rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 803C0334 003BBF94  7C 04 00 40 */	cmplw r4, r0
/* 803C0338 003BBF98  41 82 00 08 */	beq lbl_803C0340
/* 803C033C 003BBF9C  3B E0 00 01 */	li r31, 1
lbl_803C0340:
/* 803C0340 003BBFA0  39 61 00 20 */	addi r11, r1, 0x20
/* 803C0344 003BBFA4  7F E3 FB 78 */	mr r3, r31
/* 803C0348 003BBFA8  4B E0 6E 35 */	bl _restgpr_29
/* 803C034C 003BBFAC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C0350 003BBFB0  7C 08 03 A6 */	mtlr r0
/* 803C0354 003BBFB4  38 21 00 20 */	addi r1, r1, 0x20
/* 803C0358 003BBFB8  4E 80 00 20 */	blr 

.global func_803C035C
func_803C035C:
/* 803C035C 003BBFBC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C0360 003BBFC0  7C 08 02 A6 */	mflr r0
/* 803C0364 003BBFC4  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C0368 003BBFC8  39 61 00 30 */	addi r11, r1, 0x30
/* 803C036C 003BBFCC  4B E0 6D AD */	bl _savegpr_23
/* 803C0370 003BBFD0  7C 7E 1B 78 */	mr r30, r3
/* 803C0374 003BBFD4  7C 9F 23 78 */	mr r31, r4
/* 803C0378 003BBFD8  7C B9 2B 78 */	mr r25, r5
/* 803C037C 003BBFDC  7C D7 33 78 */	mr r23, r6
/* 803C0380 003BBFE0  3B 00 00 00 */	li r24, 0
/* 803C0384 003BBFE4  4B FE C4 DD */	bl func_803AC860
/* 803C0388 003BBFE8  7C 7B 1B 78 */	mr r27, r3
/* 803C038C 003BBFEC  7F C3 F3 78 */	mr r3, r30
/* 803C0390 003BBFF0  7F 24 CB 78 */	mr r4, r25
/* 803C0394 003BBFF4  4B FE C9 51 */	bl func_803ACCE4
/* 803C0398 003BBFF8  54 79 06 3E */	clrlwi r25, r3, 0x18
/* 803C039C 003BBFFC  3B 40 00 00 */	li r26, 0
/* 803C03A0 003BC000  3B 80 00 00 */	li r28, 0
/* 803C03A4 003BC004  3B A0 00 04 */	li r29, 4
/* 803C03A8 003BC008  48 00 00 68 */	b lbl_803C0410
lbl_803C03AC:
/* 803C03AC 003BC00C  7F C3 F3 78 */	mr r3, r30
/* 803C03B0 003BC010  7F 44 D3 78 */	mr r4, r26
/* 803C03B4 003BC014  4B FE C9 31 */	bl func_803ACCE4
/* 803C03B8 003BC018  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C03BC 003BC01C  7C 19 00 00 */	cmpw r25, r0
/* 803C03C0 003BC020  41 82 00 48 */	beq lbl_803C0408
/* 803C03C4 003BC024  7C BF E2 14 */	add r5, r31, r28
/* 803C03C8 003BC028  80 05 2D C0 */	lwz r0, 0x2dc0(r5)
/* 803C03CC 003BC02C  54 00 04 A5 */	rlwinm. r0, r0, 0, 0x12, 0x12
/* 803C03D0 003BC030  41 82 00 38 */	beq lbl_803C0408
/* 803C03D4 003BC034  38 C0 00 00 */	li r6, 0
/* 803C03D8 003BC038  38 60 00 00 */	li r3, 0
/* 803C03DC 003BC03C  7F A9 03 A6 */	mtctr r29
lbl_803C03E0:
/* 803C03E0 003BC040  7C 85 1A 14 */	add r4, r5, r3
/* 803C03E4 003BC044  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803C03E8 003BC048  7C 17 00 00 */	cmpw r23, r0
/* 803C03EC 003BC04C  41 82 00 10 */	beq lbl_803C03FC
/* 803C03F0 003BC050  38 C6 00 01 */	addi r6, r6, 1
/* 803C03F4 003BC054  38 63 00 02 */	addi r3, r3, 2
/* 803C03F8 003BC058  42 00 FF E8 */	bdnz lbl_803C03E0
lbl_803C03FC:
/* 803C03FC 003BC05C  2C 06 00 04 */	cmpwi r6, 4
/* 803C0400 003BC060  41 82 00 08 */	beq lbl_803C0408
/* 803C0404 003BC064  3B 00 00 01 */	li r24, 1
lbl_803C0408:
/* 803C0408 003BC068  3B 5A 00 01 */	addi r26, r26, 1
/* 803C040C 003BC06C  3B 9C 00 C0 */	addi r28, r28, 0xc0
lbl_803C0410:
/* 803C0410 003BC070  7C 1A D8 00 */	cmpw r26, r27
/* 803C0414 003BC074  41 80 FF 98 */	blt lbl_803C03AC
/* 803C0418 003BC078  39 61 00 30 */	addi r11, r1, 0x30
/* 803C041C 003BC07C  7F 03 C3 78 */	mr r3, r24
/* 803C0420 003BC080  4B E0 6D 45 */	bl _restgpr_23
/* 803C0424 003BC084  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C0428 003BC088  7C 08 03 A6 */	mtlr r0
/* 803C042C 003BC08C  38 21 00 30 */	addi r1, r1, 0x30
/* 803C0430 003BC090  4E 80 00 20 */	blr 

.global func_803C0434
func_803C0434:
/* 803C0434 003BC094  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C0438 003BC098  7C 08 02 A6 */	mflr r0
/* 803C043C 003BC09C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C0440 003BC0A0  39 61 00 20 */	addi r11, r1, 0x20
/* 803C0444 003BC0A4  4B E0 6C ED */	bl _savegpr_29
/* 803C0448 003BC0A8  7C 9D 23 78 */	mr r29, r4
/* 803C044C 003BC0AC  7C BE 2B 78 */	mr r30, r5
/* 803C0450 003BC0B0  3B E0 00 00 */	li r31, 0
/* 803C0454 003BC0B4  4B FE C4 0D */	bl func_803AC860
/* 803C0458 003BC0B8  38 80 00 00 */	li r4, 0
/* 803C045C 003BC0BC  7C 69 03 A6 */	mtctr r3
/* 803C0460 003BC0C0  2C 03 00 00 */	cmpwi r3, 0
/* 803C0464 003BC0C4  40 81 00 24 */	ble lbl_803C0488
lbl_803C0468:
/* 803C0468 003BC0C8  7C 7D 22 14 */	add r3, r29, r4
/* 803C046C 003BC0CC  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803C0470 003BC0D0  7F C0 00 39 */	and. r0, r30, r0
/* 803C0474 003BC0D4  41 82 00 0C */	beq lbl_803C0480
/* 803C0478 003BC0D8  3B E0 00 01 */	li r31, 1
/* 803C047C 003BC0DC  48 00 00 0C */	b lbl_803C0488
lbl_803C0480:
/* 803C0480 003BC0E0  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803C0484 003BC0E4  42 00 FF E4 */	bdnz lbl_803C0468
lbl_803C0488:
/* 803C0488 003BC0E8  39 61 00 20 */	addi r11, r1, 0x20
/* 803C048C 003BC0EC  7F E3 FB 78 */	mr r3, r31
/* 803C0490 003BC0F0  4B E0 6C ED */	bl _restgpr_29
/* 803C0494 003BC0F4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C0498 003BC0F8  7C 08 03 A6 */	mtlr r0
/* 803C049C 003BC0FC  38 21 00 20 */	addi r1, r1, 0x20
/* 803C04A0 003BC100  4E 80 00 20 */	blr 

.global func_803C04A4
func_803C04A4:
/* 803C04A4 003BC104  80 04 21 3C */	lwz r0, 0x213c(r4)
/* 803C04A8 003BC108  38 A0 00 00 */	li r5, 0
/* 803C04AC 003BC10C  38 60 00 01 */	li r3, 1
/* 803C04B0 003BC110  90 A4 21 6C */	stw r5, 0x216c(r4)
/* 803C04B4 003BC114  54 00 03 14 */	rlwinm r0, r0, 0, 0xc, 0xa
/* 803C04B8 003BC118  90 64 21 50 */	stw r3, 0x2150(r4)
/* 803C04BC 003BC11C  90 04 21 3C */	stw r0, 0x213c(r4)
/* 803C04C0 003BC120  4E 80 00 20 */	blr 

.global func_803C04C4
func_803C04C4:
/* 803C04C4 003BC124  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C04C8 003BC128  7C 08 02 A6 */	mflr r0
/* 803C04CC 003BC12C  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C04D0 003BC130  39 61 00 30 */	addi r11, r1, 0x30
/* 803C04D4 003BC134  4B E0 6C 41 */	bl _savegpr_22
/* 803C04D8 003BC138  7C 76 1B 78 */	mr r22, r3
/* 803C04DC 003BC13C  7C 97 23 78 */	mr r23, r4
/* 803C04E0 003BC140  4B FE C3 81 */	bl func_803AC860
/* 803C04E4 003BC144  7C 7E 1B 78 */	mr r30, r3
/* 803C04E8 003BC148  38 A0 00 00 */	li r5, 0
/* 803C04EC 003BC14C  7C 69 03 A6 */	mtctr r3
/* 803C04F0 003BC150  2C 03 00 00 */	cmpwi r3, 0
/* 803C04F4 003BC154  40 81 00 14 */	ble lbl_803C0508
lbl_803C04F8:
/* 803C04F8 003BC158  7C 97 2A 14 */	add r4, r23, r5
/* 803C04FC 003BC15C  98 A4 21 EC */	stb r5, 0x21ec(r4)
/* 803C0500 003BC160  38 A5 00 01 */	addi r5, r5, 1
/* 803C0504 003BC164  42 00 FF F4 */	bdnz lbl_803C04F8
lbl_803C0508:
/* 803C0508 003BC168  3B E3 FF FF */	addi r31, r3, -1
/* 803C050C 003BC16C  3B 60 00 00 */	li r27, 0
/* 803C0510 003BC170  48 00 00 54 */	b lbl_803C0564
lbl_803C0514:
/* 803C0514 003BC174  3B 5B 00 01 */	addi r26, r27, 1
/* 803C0518 003BC178  7F B7 DA 14 */	add r29, r23, r27
/* 803C051C 003BC17C  48 00 00 3C */	b lbl_803C0558
lbl_803C0520:
/* 803C0520 003BC180  7F 97 D2 14 */	add r28, r23, r26
/* 803C0524 003BC184  8B 3D 21 EC */	lbz r25, 0x21ec(r29)
/* 803C0528 003BC188  8B 1C 21 EC */	lbz r24, 0x21ec(r28)
/* 803C052C 003BC18C  7E C3 B3 78 */	mr r3, r22
/* 803C0530 003BC190  7E E4 BB 78 */	mr r4, r23
/* 803C0534 003BC194  7F 25 CB 78 */	mr r5, r25
/* 803C0538 003BC198  7F 06 C3 78 */	mr r6, r24
/* 803C053C 003BC19C  38 E0 00 01 */	li r7, 1
/* 803C0540 003BC1A0  4B FF B6 41 */	bl func_803BBB80
/* 803C0544 003BC1A4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803C0548 003BC1A8  41 82 00 0C */	beq lbl_803C0554
/* 803C054C 003BC1AC  9B 1D 21 EC */	stb r24, 0x21ec(r29)
/* 803C0550 003BC1B0  9B 3C 21 EC */	stb r25, 0x21ec(r28)
lbl_803C0554:
/* 803C0554 003BC1B4  3B 5A 00 01 */	addi r26, r26, 1
lbl_803C0558:
/* 803C0558 003BC1B8  7C 1A F0 00 */	cmpw r26, r30
/* 803C055C 003BC1BC  41 80 FF C4 */	blt lbl_803C0520
/* 803C0560 003BC1C0  3B 7B 00 01 */	addi r27, r27, 1
lbl_803C0564:
/* 803C0564 003BC1C4  7C 1B F8 00 */	cmpw r27, r31
/* 803C0568 003BC1C8  41 80 FF AC */	blt lbl_803C0514
/* 803C056C 003BC1CC  39 61 00 30 */	addi r11, r1, 0x30
/* 803C0570 003BC1D0  4B E0 6B F1 */	bl _restgpr_22
/* 803C0574 003BC1D4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C0578 003BC1D8  7C 08 03 A6 */	mtlr r0
/* 803C057C 003BC1DC  38 21 00 30 */	addi r1, r1, 0x30
/* 803C0580 003BC1E0  4E 80 00 20 */	blr 

.global func_803C0584
func_803C0584:
/* 803C0584 003BC1E4  80 04 01 80 */	lwz r0, 0x180(r4)
/* 803C0588 003BC1E8  38 60 00 00 */	li r3, 0
/* 803C058C 003BC1EC  54 00 04 67 */	rlwinm. r0, r0, 0, 0x11, 0x13
/* 803C0590 003BC1F0  4D 82 00 20 */	beqlr 
/* 803C0594 003BC1F4  3C A0 80 40 */	lis r5, lbl_80405398@ha
/* 803C0598 003BC1F8  38 00 00 06 */	li r0, 6
/* 803C059C 003BC1FC  38 A5 53 98 */	addi r5, r5, lbl_80405398@l
/* 803C05A0 003BC200  38 80 00 00 */	li r4, 0
/* 803C05A4 003BC204  7C 09 03 A6 */	mtctr r0
lbl_803C05A8:
/* 803C05A8 003BC208  7C 05 22 2E */	lhzx r0, r5, r4
/* 803C05AC 003BC20C  7C 06 00 00 */	cmpw r6, r0
/* 803C05B0 003BC210  40 82 00 0C */	bne lbl_803C05BC
/* 803C05B4 003BC214  38 60 00 01 */	li r3, 1
/* 803C05B8 003BC218  4E 80 00 20 */	blr 
lbl_803C05BC:
/* 803C05BC 003BC21C  38 84 00 02 */	addi r4, r4, 2
/* 803C05C0 003BC220  42 00 FF E8 */	bdnz lbl_803C05A8
/* 803C05C4 003BC224  4E 80 00 20 */	blr 

.global func_803C05C8
func_803C05C8:
/* 803C05C8 003BC228  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803C05CC 003BC22C  38 60 00 00 */	li r3, 0
/* 803C05D0 003BC230  7C 84 02 14 */	add r4, r4, r0
/* 803C05D4 003BC234  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803C05D8 003BC238  54 00 9F 7F */	rlwinm. r0, r0, 0x13, 0x1d, 0x1f
/* 803C05DC 003BC23C  4D 82 00 20 */	beqlr 
/* 803C05E0 003BC240  3C A0 80 40 */	lis r5, lbl_804053A4@ha
/* 803C05E4 003BC244  38 00 00 0E */	li r0, 0xe
/* 803C05E8 003BC248  38 A5 53 A4 */	addi r5, r5, lbl_804053A4@l
/* 803C05EC 003BC24C  38 80 00 00 */	li r4, 0
/* 803C05F0 003BC250  7C 09 03 A6 */	mtctr r0
lbl_803C05F4:
/* 803C05F4 003BC254  7C 05 22 2E */	lhzx r0, r5, r4
/* 803C05F8 003BC258  7C 06 00 00 */	cmpw r6, r0
/* 803C05FC 003BC25C  40 82 00 0C */	bne lbl_803C0608
/* 803C0600 003BC260  38 60 00 01 */	li r3, 1
/* 803C0604 003BC264  4E 80 00 20 */	blr 
lbl_803C0608:
/* 803C0608 003BC268  38 84 00 02 */	addi r4, r4, 2
/* 803C060C 003BC26C  42 00 FF E8 */	bdnz lbl_803C05F4
/* 803C0610 003BC270  4E 80 00 20 */	blr 

.global func_803C0614
func_803C0614:
/* 803C0614 003BC274  81 04 30 40 */	lwz r8, 0x3040(r4)
/* 803C0618 003BC278  28 08 01 83 */	cmplwi r8, 0x183
/* 803C061C 003BC27C  4D 82 00 20 */	beqlr 
/* 803C0620 003BC280  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803C0624 003BC284  1C E0 00 C0 */	mulli r7, r0, 0xc0
/* 803C0628 003BC288  7C C4 3A 14 */	add r6, r4, r7
/* 803C062C 003BC28C  80 06 2D CC */	lwz r0, 0x2dcc(r6)
/* 803C0630 003BC290  54 00 6F 7E */	rlwinm r0, r0, 0xd, 0x1d, 0x1f
/* 803C0634 003BC294  28 00 00 04 */	cmplwi r0, 4
/* 803C0638 003BC298  40 82 00 08 */	bne lbl_803C0640
/* 803C063C 003BC29C  4E 80 00 20 */	blr 
lbl_803C0640:
/* 803C0640 003BC2A0  39 20 00 00 */	li r9, 0
/* 803C0644 003BC2A4  38 60 00 00 */	li r3, 0
/* 803C0648 003BC2A8  7C 09 03 A6 */	mtctr r0
/* 803C064C 003BC2AC  28 00 00 00 */	cmplwi r0, 0
/* 803C0650 003BC2B0  40 81 00 20 */	ble lbl_803C0670
lbl_803C0654:
/* 803C0654 003BC2B4  7C A3 32 14 */	add r5, r3, r6
/* 803C0658 003BC2B8  A0 05 2D F0 */	lhz r0, 0x2df0(r5)
/* 803C065C 003BC2BC  7C 08 00 40 */	cmplw r8, r0
/* 803C0660 003BC2C0  4D 82 00 20 */	beqlr 
/* 803C0664 003BC2C4  39 29 00 01 */	addi r9, r9, 1
/* 803C0668 003BC2C8  38 63 00 02 */	addi r3, r3, 2
/* 803C066C 003BC2CC  42 00 FF E8 */	bdnz lbl_803C0654
lbl_803C0670:
/* 803C0670 003BC2D0  7C 64 3A 14 */	add r3, r4, r7
/* 803C0674 003BC2D4  55 20 08 3C */	slwi r0, r9, 1
/* 803C0678 003BC2D8  7C 63 02 14 */	add r3, r3, r0
/* 803C067C 003BC2DC  B1 03 2D F0 */	sth r8, 0x2df0(r3)
/* 803C0680 003BC2E0  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803C0684 003BC2E4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C0688 003BC2E8  7C A4 02 14 */	add r5, r4, r0
/* 803C068C 003BC2EC  80 85 2D CC */	lwz r4, 0x2dcc(r5)
/* 803C0690 003BC2F0  54 83 6F 7E */	rlwinm r3, r4, 0xd, 0x1d, 0x1f
/* 803C0694 003BC2F4  38 03 00 01 */	addi r0, r3, 1
/* 803C0698 003BC2F8  50 04 9A 98 */	rlwimi r4, r0, 0x13, 0xa, 0xc
/* 803C069C 003BC2FC  90 85 2D CC */	stw r4, 0x2dcc(r5)
/* 803C06A0 003BC300  4E 80 00 20 */	blr 

.global func_803C06A4
func_803C06A4:
/* 803C06A4 003BC304  1C C5 00 C0 */	mulli r6, r5, 0xc0
/* 803C06A8 003BC308  38 00 00 04 */	li r0, 4
/* 803C06AC 003BC30C  38 60 00 00 */	li r3, 0
/* 803C06B0 003BC310  38 A0 00 00 */	li r5, 0
/* 803C06B4 003BC314  7C C4 32 14 */	add r6, r4, r6
/* 803C06B8 003BC318  7C 09 03 A6 */	mtctr r0
lbl_803C06BC:
/* 803C06BC 003BC31C  7C 86 2A 14 */	add r4, r6, r5
/* 803C06C0 003BC320  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803C06C4 003BC324  2C 00 00 00 */	cmpwi r0, 0
/* 803C06C8 003BC328  4D 82 00 20 */	beqlr 
/* 803C06CC 003BC32C  38 63 00 01 */	addi r3, r3, 1
/* 803C06D0 003BC330  38 A5 00 02 */	addi r5, r5, 2
/* 803C06D4 003BC334  42 00 FF E8 */	bdnz lbl_803C06BC
/* 803C06D8 003BC338  4E 80 00 20 */	blr 

.global func_803C06DC
func_803C06DC:
/* 803C06DC 003BC33C  3C 80 80 47 */	lis r4, lbl_80473AB4@ha
/* 803C06E0 003BC340  38 00 00 0C */	li r0, 0xc
/* 803C06E4 003BC344  38 84 3A B4 */	addi r4, r4, lbl_80473AB4@l
/* 803C06E8 003BC348  38 A0 00 00 */	li r5, 0
/* 803C06EC 003BC34C  7C 09 03 A6 */	mtctr r0
lbl_803C06F0:
/* 803C06F0 003BC350  54 A0 0D FC */	rlwinm r0, r5, 1, 0x17, 0x1e
/* 803C06F4 003BC354  7C 04 02 2E */	lhzx r0, r4, r0
/* 803C06F8 003BC358  7C 03 00 40 */	cmplw r3, r0
/* 803C06FC 003BC35C  40 82 00 0C */	bne lbl_803C0708
/* 803C0700 003BC360  38 60 00 01 */	li r3, 1
/* 803C0704 003BC364  4E 80 00 20 */	blr 
lbl_803C0708:
/* 803C0708 003BC368  38 A5 00 01 */	addi r5, r5, 1
/* 803C070C 003BC36C  42 00 FF E4 */	bdnz lbl_803C06F0
/* 803C0710 003BC370  38 60 00 00 */	li r3, 0
/* 803C0714 003BC374  4E 80 00 20 */	blr 

.global func_803C0718
func_803C0718:
/* 803C0718 003BC378  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C071C 003BC37C  7C 08 02 A6 */	mflr r0
/* 803C0720 003BC380  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C0724 003BC384  39 61 00 20 */	addi r11, r1, 0x20
/* 803C0728 003BC388  4B E0 6A 01 */	bl _savegpr_27
/* 803C072C 003BC38C  7C 7B 1B 78 */	mr r27, r3
/* 803C0730 003BC390  7C 9C 23 78 */	mr r28, r4
/* 803C0734 003BC394  7C BD 2B 78 */	mr r29, r5
/* 803C0738 003BC398  3B E0 00 00 */	li r31, 0
/* 803C073C 003BC39C  4B FF F3 DD */	bl func_803BFB18
/* 803C0740 003BC3A0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C0744 003BC3A4  28 00 00 60 */	cmplwi r0, 0x60
/* 803C0748 003BC3A8  40 82 00 0C */	bne lbl_803C0754
/* 803C074C 003BC3AC  3B C0 00 00 */	li r30, 0
/* 803C0750 003BC3B0  48 00 00 24 */	b lbl_803C0774
lbl_803C0754:
/* 803C0754 003BC3B4  83 DB 21 60 */	lwz r30, 0x2160(r27)
/* 803C0758 003BC3B8  2C 1E 00 00 */	cmpwi r30, 0
/* 803C075C 003BC3BC  41 82 00 08 */	beq lbl_803C0764
/* 803C0760 003BC3C0  48 00 00 14 */	b lbl_803C0774
lbl_803C0764:
/* 803C0764 003BC3C4  80 1B 30 44 */	lwz r0, 0x3044(r27)
/* 803C0768 003BC3C8  54 00 20 36 */	slwi r0, r0, 4
/* 803C076C 003BC3CC  7C 7B 02 14 */	add r3, r27, r0
/* 803C0770 003BC3D0  8B C3 03 E2 */	lbz r30, 0x3e2(r3)
lbl_803C0774:
/* 803C0774 003BC3D4  7F 63 DB 78 */	mr r3, r27
/* 803C0778 003BC3D8  7F 84 E3 78 */	mr r4, r28
/* 803C077C 003BC3DC  7F A5 EB 78 */	mr r5, r29
/* 803C0780 003BC3E0  38 C0 00 0A */	li r6, 0xa
/* 803C0784 003BC3E4  4B FF F4 0D */	bl func_803BFB90
/* 803C0788 003BC3E8  2C 03 00 01 */	cmpwi r3, 1
/* 803C078C 003BC3EC  40 82 00 3C */	bne lbl_803C07C8
/* 803C0790 003BC3F0  2C 1E 00 0D */	cmpwi r30, 0xd
/* 803C0794 003BC3F4  40 82 00 34 */	bne lbl_803C07C8
/* 803C0798 003BC3F8  7C 1C E8 00 */	cmpw r28, r29
/* 803C079C 003BC3FC  41 82 00 2C */	beq lbl_803C07C8
/* 803C07A0 003BC400  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C07A4 003BC404  38 80 00 04 */	li r4, 4
/* 803C07A8 003BC408  7C 7B 02 14 */	add r3, r27, r0
/* 803C07AC 003BC40C  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C07B0 003BC410  48 00 03 B9 */	bl func_803C0B68
/* 803C07B4 003BC414  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803C07B8 003BC418  90 7B 21 5C */	stw r3, 0x215c(r27)
/* 803C07BC 003BC41C  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803C07C0 003BC420  3B E0 00 B2 */	li r31, 0xb2
/* 803C07C4 003BC424  93 A4 00 18 */	stw r29, 0x18(r4)
lbl_803C07C8:
/* 803C07C8 003BC428  7F 63 DB 78 */	mr r3, r27
/* 803C07CC 003BC42C  7F 84 E3 78 */	mr r4, r28
/* 803C07D0 003BC430  7F A5 EB 78 */	mr r5, r29
/* 803C07D4 003BC434  38 C0 00 0B */	li r6, 0xb
/* 803C07D8 003BC438  4B FF F3 B9 */	bl func_803BFB90
/* 803C07DC 003BC43C  2C 03 00 01 */	cmpwi r3, 1
/* 803C07E0 003BC440  40 82 00 58 */	bne lbl_803C0838
/* 803C07E4 003BC444  2C 1E 00 0B */	cmpwi r30, 0xb
/* 803C07E8 003BC448  40 82 00 50 */	bne lbl_803C0838
/* 803C07EC 003BC44C  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803C07F0 003BC450  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C07F4 003BC454  40 82 00 44 */	bne lbl_803C0838
/* 803C07F8 003BC458  80 1B 30 44 */	lwz r0, 0x3044(r27)
/* 803C07FC 003BC45C  54 00 20 36 */	slwi r0, r0, 4
/* 803C0800 003BC460  7C 7B 02 14 */	add r3, r27, r0
/* 803C0804 003BC464  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803C0808 003BC468  2C 00 00 00 */	cmpwi r0, 0
/* 803C080C 003BC46C  41 82 00 2C */	beq lbl_803C0838
/* 803C0810 003BC470  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C0814 003BC474  38 80 00 04 */	li r4, 4
/* 803C0818 003BC478  7C 7B 02 14 */	add r3, r27, r0
/* 803C081C 003BC47C  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C0820 003BC480  48 00 03 49 */	bl func_803C0B68
/* 803C0824 003BC484  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803C0828 003BC488  90 7B 21 5C */	stw r3, 0x215c(r27)
/* 803C082C 003BC48C  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803C0830 003BC490  3B E0 00 B2 */	li r31, 0xb2
/* 803C0834 003BC494  93 A4 00 18 */	stw r29, 0x18(r4)
lbl_803C0838:
/* 803C0838 003BC498  7F 63 DB 78 */	mr r3, r27
/* 803C083C 003BC49C  7F 84 E3 78 */	mr r4, r28
/* 803C0840 003BC4A0  7F A5 EB 78 */	mr r5, r29
/* 803C0844 003BC4A4  38 C0 00 12 */	li r6, 0x12
/* 803C0848 003BC4A8  4B FF F3 49 */	bl func_803BFB90
/* 803C084C 003BC4AC  2C 03 00 01 */	cmpwi r3, 1
/* 803C0850 003BC4B0  40 82 00 5C */	bne lbl_803C08AC
/* 803C0854 003BC4B4  2C 1E 00 0A */	cmpwi r30, 0xa
/* 803C0858 003BC4B8  40 82 00 54 */	bne lbl_803C08AC
/* 803C085C 003BC4BC  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C0860 003BC4C0  7C 7B 02 14 */	add r3, r27, r0
/* 803C0864 003BC4C4  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C0868 003BC4C8  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C086C 003BC4CC  40 82 00 40 */	bne lbl_803C08AC
/* 803C0870 003BC4D0  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803C0874 003BC4D4  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C0878 003BC4D8  40 82 00 34 */	bne lbl_803C08AC
/* 803C087C 003BC4DC  80 9B 30 44 */	lwz r4, 0x3044(r27)
/* 803C0880 003BC4E0  54 80 20 36 */	slwi r0, r4, 4
/* 803C0884 003BC4E4  7C 7B 02 14 */	add r3, r27, r0
/* 803C0888 003BC4E8  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803C088C 003BC4EC  2C 00 00 00 */	cmpwi r0, 0
/* 803C0890 003BC4F0  40 82 00 0C */	bne lbl_803C089C
/* 803C0894 003BC4F4  28 04 01 05 */	cmplwi r4, 0x105
/* 803C0898 003BC4F8  40 82 00 14 */	bne lbl_803C08AC
lbl_803C089C:
/* 803C089C 003BC4FC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C08A0 003BC500  3B E0 00 B3 */	li r31, 0xb3
/* 803C08A4 003BC504  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C08A8 003BC508  93 A3 00 18 */	stw r29, 0x18(r3)
lbl_803C08AC:
/* 803C08AC 003BC50C  7F 63 DB 78 */	mr r3, r27
/* 803C08B0 003BC510  7F 84 E3 78 */	mr r4, r28
/* 803C08B4 003BC514  7F A5 EB 78 */	mr r5, r29
/* 803C08B8 003BC518  38 C0 00 2B */	li r6, 0x2b
/* 803C08BC 003BC51C  4B FF F2 D5 */	bl func_803BFB90
/* 803C08C0 003BC520  2C 03 00 01 */	cmpwi r3, 1
/* 803C08C4 003BC524  40 82 00 44 */	bne lbl_803C0908
/* 803C08C8 003BC528  3C 80 80 47 */	lis r4, lbl_80473AB4@ha
/* 803C08CC 003BC52C  38 00 00 0C */	li r0, 0xc
/* 803C08D0 003BC530  38 84 3A B4 */	addi r4, r4, lbl_80473AB4@l
/* 803C08D4 003BC534  38 60 00 00 */	li r3, 0
/* 803C08D8 003BC538  7C 09 03 A6 */	mtctr r0
lbl_803C08DC:
/* 803C08DC 003BC53C  80 BB 30 44 */	lwz r5, 0x3044(r27)
/* 803C08E0 003BC540  7C 04 1A 2E */	lhzx r0, r4, r3
/* 803C08E4 003BC544  7C 05 00 40 */	cmplw r5, r0
/* 803C08E8 003BC548  40 82 00 18 */	bne lbl_803C0900
/* 803C08EC 003BC54C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C08F0 003BC550  3B E0 00 B5 */	li r31, 0xb5
/* 803C08F4 003BC554  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C08F8 003BC558  93 A3 00 18 */	stw r29, 0x18(r3)
/* 803C08FC 003BC55C  48 00 00 0C */	b lbl_803C0908
lbl_803C0900:
/* 803C0900 003BC560  38 63 00 02 */	addi r3, r3, 2
/* 803C0904 003BC564  42 00 FF D8 */	bdnz lbl_803C08DC
lbl_803C0908:
/* 803C0908 003BC568  7F 63 DB 78 */	mr r3, r27
/* 803C090C 003BC56C  7F 84 E3 78 */	mr r4, r28
/* 803C0910 003BC570  7F A5 EB 78 */	mr r5, r29
/* 803C0914 003BC574  38 C0 00 4E */	li r6, 0x4e
/* 803C0918 003BC578  4B FF F2 79 */	bl func_803BFB90
/* 803C091C 003BC57C  2C 03 00 01 */	cmpwi r3, 1
/* 803C0920 003BC580  40 82 00 24 */	bne lbl_803C0944
/* 803C0924 003BC584  2C 1E 00 0D */	cmpwi r30, 0xd
/* 803C0928 003BC588  40 82 00 1C */	bne lbl_803C0944
/* 803C092C 003BC58C  7C 1C E8 00 */	cmpw r28, r29
/* 803C0930 003BC590  41 82 00 14 */	beq lbl_803C0944
/* 803C0934 003BC594  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C0938 003BC598  3B E0 00 B6 */	li r31, 0xb6
/* 803C093C 003BC59C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C0940 003BC5A0  93 A3 00 18 */	stw r29, 0x18(r3)
lbl_803C0944:
/* 803C0944 003BC5A4  7F 63 DB 78 */	mr r3, r27
/* 803C0948 003BC5A8  7F 84 E3 78 */	mr r4, r28
/* 803C094C 003BC5AC  7F A5 EB 78 */	mr r5, r29
/* 803C0950 003BC5B0  38 C0 00 57 */	li r6, 0x57
/* 803C0954 003BC5B4  4B FF F2 3D */	bl func_803BFB90
/* 803C0958 003BC5B8  2C 03 00 01 */	cmpwi r3, 1
/* 803C095C 003BC5BC  40 82 00 58 */	bne lbl_803C09B4
/* 803C0960 003BC5C0  2C 1E 00 0B */	cmpwi r30, 0xb
/* 803C0964 003BC5C4  40 82 00 50 */	bne lbl_803C09B4
/* 803C0968 003BC5C8  80 1B 21 3C */	lwz r0, 0x213c(r27)
/* 803C096C 003BC5CC  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C0970 003BC5D0  40 82 00 44 */	bne lbl_803C09B4
/* 803C0974 003BC5D4  80 1B 30 44 */	lwz r0, 0x3044(r27)
/* 803C0978 003BC5D8  54 00 20 36 */	slwi r0, r0, 4
/* 803C097C 003BC5DC  7C 7B 02 14 */	add r3, r27, r0
/* 803C0980 003BC5E0  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803C0984 003BC5E4  2C 00 00 00 */	cmpwi r0, 0
/* 803C0988 003BC5E8  41 82 00 2C */	beq lbl_803C09B4
/* 803C098C 003BC5EC  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C0990 003BC5F0  38 80 00 04 */	li r4, 4
/* 803C0994 003BC5F4  7C 7B 02 14 */	add r3, r27, r0
/* 803C0998 003BC5F8  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C099C 003BC5FC  48 00 01 CD */	bl func_803C0B68
/* 803C09A0 003BC600  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803C09A4 003BC604  90 7B 21 5C */	stw r3, 0x215c(r27)
/* 803C09A8 003BC608  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803C09AC 003BC60C  3B E0 00 B2 */	li r31, 0xb2
/* 803C09B0 003BC610  93 A4 00 18 */	stw r29, 0x18(r4)
lbl_803C09B4:
/* 803C09B4 003BC614  39 61 00 20 */	addi r11, r1, 0x20
/* 803C09B8 003BC618  7F E3 FB 78 */	mr r3, r31
/* 803C09BC 003BC61C  4B E0 67 B9 */	bl _restgpr_27
/* 803C09C0 003BC620  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C09C4 003BC624  7C 08 03 A6 */	mtlr r0
/* 803C09C8 003BC628  38 21 00 20 */	addi r1, r1, 0x20
/* 803C09CC 003BC62C  4E 80 00 20 */	blr 

.global func_803C09D0
func_803C09D0:
/* 803C09D0 003BC630  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C09D4 003BC634  7C 08 02 A6 */	mflr r0
/* 803C09D8 003BC638  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C09DC 003BC63C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C09E0 003BC640  4B E0 67 4D */	bl _savegpr_28
/* 803C09E4 003BC644  7C 7D 1B 78 */	mr r29, r3
/* 803C09E8 003BC648  7C 9E 23 78 */	mr r30, r4
/* 803C09EC 003BC64C  3B E0 00 00 */	li r31, 0
/* 803C09F0 003BC650  4B FF F1 29 */	bl func_803BFB18
/* 803C09F4 003BC654  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C09F8 003BC658  2C 00 00 3D */	cmpwi r0, 0x3d
/* 803C09FC 003BC65C  41 82 00 6C */	beq lbl_803C0A68
/* 803C0A00 003BC660  40 80 01 1C */	bge lbl_803C0B1C
/* 803C0A04 003BC664  2C 00 00 03 */	cmpwi r0, 3
/* 803C0A08 003BC668  41 82 00 08 */	beq lbl_803C0A10
/* 803C0A0C 003BC66C  48 00 01 10 */	b lbl_803C0B1C
lbl_803C0A10:
/* 803C0A10 003BC670  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803C0A14 003BC674  7C 9D 02 14 */	add r4, r29, r0
/* 803C0A18 003BC678  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C0A1C 003BC67C  2C 00 00 00 */	cmpwi r0, 0
/* 803C0A20 003BC680  41 82 00 FC */	beq lbl_803C0B1C
/* 803C0A24 003BC684  88 04 2D 5B */	lbz r0, 0x2d5b(r4)
/* 803C0A28 003BC688  7C 00 07 74 */	extsb r0, r0
/* 803C0A2C 003BC68C  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C0A30 003BC690  40 80 00 EC */	bge lbl_803C0B1C
/* 803C0A34 003BC694  80 7D 01 50 */	lwz r3, 0x150(r29)
/* 803C0A38 003BC698  80 04 2D D4 */	lwz r0, 0x2dd4(r4)
/* 803C0A3C 003BC69C  38 63 00 01 */	addi r3, r3, 1
/* 803C0A40 003BC6A0  7C 03 00 00 */	cmpw r3, r0
/* 803C0A44 003BC6A4  41 82 00 D8 */	beq lbl_803C0B1C
/* 803C0A48 003BC6A8  38 60 00 11 */	li r3, 0x11
/* 803C0A4C 003BC6AC  38 00 00 03 */	li r0, 3
/* 803C0A50 003BC6B0  90 7D 00 8C */	stw r3, 0x8c(r29)
/* 803C0A54 003BC6B4  38 A0 00 0C */	li r5, 0xc
/* 803C0A58 003BC6B8  3B E0 00 01 */	li r31, 1
/* 803C0A5C 003BC6BC  90 1D 00 88 */	stw r0, 0x88(r29)
/* 803C0A60 003BC6C0  93 DD 00 94 */	stw r30, 0x94(r29)
/* 803C0A64 003BC6C4  48 00 00 B8 */	b lbl_803C0B1C
lbl_803C0A68:
/* 803C0A68 003BC6C8  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803C0A6C 003BC6CC  7F 9D 02 14 */	add r28, r29, r0
/* 803C0A70 003BC6D0  80 1C 2D AC */	lwz r0, 0x2dac(r28)
/* 803C0A74 003BC6D4  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803C0A78 003BC6D8  41 82 00 A4 */	beq lbl_803C0B1C
/* 803C0A7C 003BC6DC  80 1C 2D 8C */	lwz r0, 0x2d8c(r28)
/* 803C0A80 003BC6E0  2C 00 00 00 */	cmpwi r0, 0
/* 803C0A84 003BC6E4  41 82 00 98 */	beq lbl_803C0B1C
/* 803C0A88 003BC6E8  48 01 8D 31 */	bl func_803D97B8
/* 803C0A8C 003BC6EC  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C0A90 003BC6F0  38 60 00 0A */	li r3, 0xa
/* 803C0A94 003BC6F4  7C 04 1B D6 */	divw r0, r4, r3
/* 803C0A98 003BC6F8  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C0A9C 003BC6FC  7C 00 20 50 */	subf r0, r0, r4
/* 803C0AA0 003BC700  2C 00 00 03 */	cmpwi r0, 3
/* 803C0AA4 003BC704  40 80 00 78 */	bge lbl_803C0B1C
/* 803C0AA8 003BC708  80 7C 2D AC */	lwz r3, 0x2dac(r28)
/* 803C0AAC 003BC70C  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803C0AB0 003BC710  41 82 00 10 */	beq lbl_803C0AC0
/* 803C0AB4 003BC714  38 00 00 00 */	li r0, 0
/* 803C0AB8 003BC718  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803C0ABC 003BC71C  48 00 00 48 */	b lbl_803C0B04
lbl_803C0AC0:
/* 803C0AC0 003BC720  70 60 0F 88 */	andi. r0, r3, 0xf88
/* 803C0AC4 003BC724  41 82 00 10 */	beq lbl_803C0AD4
/* 803C0AC8 003BC728  38 00 00 01 */	li r0, 1
/* 803C0ACC 003BC72C  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803C0AD0 003BC730  48 00 00 34 */	b lbl_803C0B04
lbl_803C0AD4:
/* 803C0AD4 003BC734  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803C0AD8 003BC738  41 82 00 10 */	beq lbl_803C0AE8
/* 803C0ADC 003BC73C  38 00 00 02 */	li r0, 2
/* 803C0AE0 003BC740  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803C0AE4 003BC744  48 00 00 20 */	b lbl_803C0B04
lbl_803C0AE8:
/* 803C0AE8 003BC748  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803C0AEC 003BC74C  41 82 00 10 */	beq lbl_803C0AFC
/* 803C0AF0 003BC750  38 00 00 03 */	li r0, 3
/* 803C0AF4 003BC754  90 1D 01 30 */	stw r0, 0x130(r29)
/* 803C0AF8 003BC758  48 00 00 0C */	b lbl_803C0B04
lbl_803C0AFC:
/* 803C0AFC 003BC75C  38 00 00 04 */	li r0, 4
/* 803C0B00 003BC760  90 1D 01 30 */	stw r0, 0x130(r29)
lbl_803C0B04:
/* 803C0B04 003BC764  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C0B08 003BC768  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803C0B0C 003BC76C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C0B10 003BC770  38 A0 00 BE */	li r5, 0xbe
/* 803C0B14 003BC774  93 C3 00 0C */	stw r30, 0xc(r3)
/* 803C0B18 003BC778  3B E0 00 01 */	li r31, 1
lbl_803C0B1C:
/* 803C0B1C 003BC77C  2C 1F 00 01 */	cmpwi r31, 1
/* 803C0B20 003BC780  40 82 00 2C */	bne lbl_803C0B4C
/* 803C0B24 003BC784  7F A3 EB 78 */	mr r3, r29
/* 803C0B28 003BC788  38 80 00 02 */	li r4, 2
/* 803C0B2C 003BC78C  4B FF 9E A9 */	bl func_803BA9D4
/* 803C0B30 003BC790  80 9D 00 08 */	lwz r4, 8(r29)
/* 803C0B34 003BC794  38 00 00 15 */	li r0, 0x15
/* 803C0B38 003BC798  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C0B3C 003BC79C  90 9D 00 0C */	stw r4, 0xc(r29)
/* 803C0B40 003BC7A0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C0B44 003BC7A4  90 1D 00 08 */	stw r0, 8(r29)
/* 803C0B48 003BC7A8  93 C3 00 18 */	stw r30, 0x18(r3)
lbl_803C0B4C:
/* 803C0B4C 003BC7AC  39 61 00 20 */	addi r11, r1, 0x20
/* 803C0B50 003BC7B0  7F E3 FB 78 */	mr r3, r31
/* 803C0B54 003BC7B4  4B E0 66 25 */	bl _restgpr_28
/* 803C0B58 003BC7B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C0B5C 003BC7BC  7C 08 03 A6 */	mtlr r0
/* 803C0B60 003BC7C0  38 21 00 20 */	addi r1, r1, 0x20
/* 803C0B64 003BC7C4  4E 80 00 20 */	blr 

.global func_803C0B68
func_803C0B68:
/* 803C0B68 003BC7C8  2C 03 00 00 */	cmpwi r3, 0
/* 803C0B6C 003BC7CC  4D 82 00 20 */	beqlr 
/* 803C0B70 003BC7D0  38 00 00 01 */	li r0, 1
/* 803C0B74 003BC7D4  40 80 00 08 */	bge lbl_803C0B7C
/* 803C0B78 003BC7D8  38 00 FF FF */	li r0, -1
lbl_803C0B7C:
/* 803C0B7C 003BC7DC  7C 63 23 D7 */	divw. r3, r3, r4
/* 803C0B80 003BC7E0  4C 82 00 20 */	bnelr 
/* 803C0B84 003BC7E4  7C 03 03 78 */	mr r3, r0
/* 803C0B88 003BC7E8  4E 80 00 20 */	blr 

.global func_803C0B8C
func_803C0B8C:
/* 803C0B8C 003BC7EC  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803C0B90 003BC7F0  7C 08 02 A6 */	mflr r0
/* 803C0B94 003BC7F4  90 01 00 64 */	stw r0, 0x64(r1)
/* 803C0B98 003BC7F8  39 61 00 60 */	addi r11, r1, 0x60
/* 803C0B9C 003BC7FC  4B E0 65 59 */	bl __save_gpr
/* 803C0BA0 003BC800  7C 6F 1B 78 */	mr r15, r3
/* 803C0BA4 003BC804  7C 90 23 78 */	mr r16, r4
/* 803C0BA8 003BC808  4B FE BC B9 */	bl func_803AC860
/* 803C0BAC 003BC80C  38 00 00 00 */	li r0, 0
/* 803C0BB0 003BC810  3F 60 80 49 */	lis r27, lbl_8048CE28@ha
/* 803C0BB4 003BC814  3F 80 80 40 */	lis r28, lbl_80405402@ha
/* 803C0BB8 003BC818  3F A0 80 40 */	lis r29, lbl_804056CC@ha
/* 803C0BBC 003BC81C  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0BC0 003BC820  7C 7A 1B 78 */	mr r26, r3
/* 803C0BC4 003BC824  3B 9C 54 02 */	addi r28, r28, lbl_80405402@l
/* 803C0BC8 003BC828  3B BD 56 CC */	addi r29, r29, lbl_804056CC@l
/* 803C0BCC 003BC82C  3B 7B CE 28 */	addi r27, r27, lbl_8048CE28@l
/* 803C0BD0 003BC830  3B 00 00 00 */	li r24, 0
lbl_803C0BD4:
/* 803C0BD4 003BC834  80 10 00 58 */	lwz r0, 0x58(r16)
/* 803C0BD8 003BC838  28 00 00 0F */	cmplwi r0, 0xf
/* 803C0BDC 003BC83C  41 81 0F 4C */	bgt lbl_803C1B28
/* 803C0BE0 003BC840  3C 60 80 47 */	lis r3, lbl_80473ACC@ha
/* 803C0BE4 003BC844  54 00 10 3A */	slwi r0, r0, 2
/* 803C0BE8 003BC848  38 63 3A CC */	addi r3, r3, lbl_80473ACC@l
/* 803C0BEC 003BC84C  7C 63 00 2E */	lwzx r3, r3, r0
/* 803C0BF0 003BC850  7C 69 03 A6 */	mtctr r3
/* 803C0BF4 003BC854  4E 80 04 20 */	bctr 
/* 803C0BF8 003BC858  88 10 31 21 */	lbz r0, 0x3121(r16)
/* 803C0BFC 003BC85C  2C 00 00 00 */	cmpwi r0, 0
/* 803C0C00 003BC860  40 82 00 98 */	bne lbl_803C0C98
/* 803C0C04 003BC864  7D E3 7B 78 */	mr r3, r15
/* 803C0C08 003BC868  4B FE D0 A9 */	bl func_803ADCB0
/* 803C0C0C 003BC86C  2C 03 00 0A */	cmpwi r3, 0xa
/* 803C0C10 003BC870  41 82 00 5C */	beq lbl_803C0C6C
/* 803C0C14 003BC874  40 80 00 24 */	bge lbl_803C0C38
/* 803C0C18 003BC878  2C 03 00 05 */	cmpwi r3, 5
/* 803C0C1C 003BC87C  40 80 00 10 */	bge lbl_803C0C2C
/* 803C0C20 003BC880  2C 03 00 02 */	cmpwi r3, 2
/* 803C0C24 003BC884  40 80 00 28 */	bge lbl_803C0C4C
/* 803C0C28 003BC888  48 00 00 60 */	b lbl_803C0C88
lbl_803C0C2C:
/* 803C0C2C 003BC88C  2C 03 00 08 */	cmpwi r3, 8
/* 803C0C30 003BC890  40 80 00 58 */	bge lbl_803C0C88
/* 803C0C34 003BC894  48 00 00 28 */	b lbl_803C0C5C
lbl_803C0C38:
/* 803C0C38 003BC898  2C 03 00 10 */	cmpwi r3, 0x10
/* 803C0C3C 003BC89C  40 80 00 4C */	bge lbl_803C0C88
/* 803C0C40 003BC8A0  2C 03 00 0E */	cmpwi r3, 0xe
/* 803C0C44 003BC8A4  40 80 00 38 */	bge lbl_803C0C7C
/* 803C0C48 003BC8A8  48 00 00 40 */	b lbl_803C0C88
lbl_803C0C4C:
/* 803C0C4C 003BC8AC  38 00 01 0F */	li r0, 0x10f
/* 803C0C50 003BC8B0  3B 00 00 01 */	li r24, 1
/* 803C0C54 003BC8B4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0C58 003BC8B8  48 00 00 30 */	b lbl_803C0C88
lbl_803C0C5C:
/* 803C0C5C 003BC8BC  38 00 01 10 */	li r0, 0x110
/* 803C0C60 003BC8C0  3B 00 00 01 */	li r24, 1
/* 803C0C64 003BC8C4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0C68 003BC8C8  48 00 00 20 */	b lbl_803C0C88
lbl_803C0C6C:
/* 803C0C6C 003BC8CC  38 00 01 11 */	li r0, 0x111
/* 803C0C70 003BC8D0  3B 00 00 01 */	li r24, 1
/* 803C0C74 003BC8D4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0C78 003BC8D8  48 00 00 10 */	b lbl_803C0C88
lbl_803C0C7C:
/* 803C0C7C 003BC8DC  38 00 01 12 */	li r0, 0x112
/* 803C0C80 003BC8E0  3B 00 00 01 */	li r24, 1
/* 803C0C84 003BC8E4  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803C0C88:
/* 803C0C88 003BC8E8  2C 18 00 01 */	cmpwi r24, 1
/* 803C0C8C 003BC8EC  40 82 00 0C */	bne lbl_803C0C98
/* 803C0C90 003BC8F0  38 00 00 01 */	li r0, 1
/* 803C0C94 003BC8F4  98 10 31 21 */	stb r0, 0x3121(r16)
lbl_803C0C98:
/* 803C0C98 003BC8F8  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C0C9C 003BC8FC  38 03 00 01 */	addi r0, r3, 1
/* 803C0CA0 003BC900  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C0CA4 003BC904  48 00 0E 84 */	b lbl_803C1B28
/* 803C0CA8 003BC908  3A 20 00 00 */	li r17, 0
/* 803C0CAC 003BC90C  48 00 01 94 */	b lbl_803C0E40
lbl_803C0CB0:
/* 803C0CB0 003BC910  7C 90 8A 14 */	add r4, r16, r17
/* 803C0CB4 003BC914  7D E3 7B 78 */	mr r3, r15
/* 803C0CB8 003BC918  8A E4 21 EC */	lbz r23, 0x21ec(r4)
/* 803C0CBC 003BC91C  38 A0 00 00 */	li r5, 0
/* 803C0CC0 003BC920  7E E4 BB 78 */	mr r4, r23
/* 803C0CC4 003BC924  4B FE C1 15 */	bl func_803ACDD8
/* 803C0CC8 003BC928  7C 6E 1B 78 */	mr r14, r3
/* 803C0CCC 003BC92C  7D E3 7B 78 */	mr r3, r15
/* 803C0CD0 003BC930  7E E4 BB 78 */	mr r4, r23
/* 803C0CD4 003BC934  38 A0 00 02 */	li r5, 2
/* 803C0CD8 003BC938  4B FE C1 01 */	bl func_803ACDD8
/* 803C0CDC 003BC93C  1C 0E 00 C0 */	mulli r0, r14, 0xc0
/* 803C0CE0 003BC940  7C 72 1B 78 */	mr r18, r3
/* 803C0CE4 003BC944  38 80 00 FF */	li r4, 0xff
/* 803C0CE8 003BC948  7C B0 02 14 */	add r5, r16, r0
/* 803C0CEC 003BC94C  88 C5 2D 67 */	lbz r6, 0x2d67(r5)
/* 803C0CF0 003BC950  28 06 00 3B */	cmplwi r6, 0x3b
/* 803C0CF4 003BC954  41 82 00 6C */	beq lbl_803C0D60
/* 803C0CF8 003BC958  28 06 00 24 */	cmplwi r6, 0x24
/* 803C0CFC 003BC95C  41 82 00 64 */	beq lbl_803C0D60
/* 803C0D00 003BC960  28 06 00 79 */	cmplwi r6, 0x79
/* 803C0D04 003BC964  41 82 00 5C */	beq lbl_803C0D60
/* 803C0D08 003BC968  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803C0D0C 003BC96C  2C 00 00 00 */	cmpwi r0, 0
/* 803C0D10 003BC970  41 82 00 50 */	beq lbl_803C0D60
/* 803C0D14 003BC974  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803C0D18 003BC978  7C F0 02 14 */	add r7, r16, r0
/* 803C0D1C 003BC97C  80 07 2D 8C */	lwz r0, 0x2d8c(r7)
/* 803C0D20 003BC980  2C 00 00 00 */	cmpwi r0, 0
/* 803C0D24 003BC984  41 82 00 3C */	beq lbl_803C0D60
/* 803C0D28 003BC988  88 07 2D 67 */	lbz r0, 0x2d67(r7)
/* 803C0D2C 003BC98C  28 00 00 3B */	cmplwi r0, 0x3b
/* 803C0D30 003BC990  41 82 00 30 */	beq lbl_803C0D60
/* 803C0D34 003BC994  28 00 00 24 */	cmplwi r0, 0x24
/* 803C0D38 003BC998  41 82 00 28 */	beq lbl_803C0D60
/* 803C0D3C 003BC99C  28 00 00 79 */	cmplwi r0, 0x79
/* 803C0D40 003BC9A0  41 82 00 20 */	beq lbl_803C0D60
/* 803C0D44 003BC9A4  48 01 8A 75 */	bl func_803D97B8
/* 803C0D48 003BC9A8  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803C0D4C 003BC9AC  41 82 00 0C */	beq lbl_803C0D58
/* 803C0D50 003BC9B0  7E 44 93 78 */	mr r4, r18
/* 803C0D54 003BC9B4  48 00 00 6C */	b lbl_803C0DC0
lbl_803C0D58:
/* 803C0D58 003BC9B8  7D C4 73 78 */	mr r4, r14
/* 803C0D5C 003BC9BC  48 00 00 64 */	b lbl_803C0DC0
lbl_803C0D60:
/* 803C0D60 003BC9C0  28 06 00 3B */	cmplwi r6, 0x3b
/* 803C0D64 003BC9C4  41 82 00 28 */	beq lbl_803C0D8C
/* 803C0D68 003BC9C8  28 06 00 24 */	cmplwi r6, 0x24
/* 803C0D6C 003BC9CC  41 82 00 20 */	beq lbl_803C0D8C
/* 803C0D70 003BC9D0  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803C0D74 003BC9D4  2C 00 00 00 */	cmpwi r0, 0
/* 803C0D78 003BC9D8  41 82 00 14 */	beq lbl_803C0D8C
/* 803C0D7C 003BC9DC  28 06 00 79 */	cmplwi r6, 0x79
/* 803C0D80 003BC9E0  41 82 00 0C */	beq lbl_803C0D8C
/* 803C0D84 003BC9E4  7D C4 73 78 */	mr r4, r14
/* 803C0D88 003BC9E8  48 00 00 38 */	b lbl_803C0DC0
lbl_803C0D8C:
/* 803C0D8C 003BC9EC  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803C0D90 003BC9F0  7C 70 02 14 */	add r3, r16, r0
/* 803C0D94 003BC9F4  88 A3 2D 67 */	lbz r5, 0x2d67(r3)
/* 803C0D98 003BC9F8  28 05 00 3B */	cmplwi r5, 0x3b
/* 803C0D9C 003BC9FC  41 82 00 24 */	beq lbl_803C0DC0
/* 803C0DA0 003BCA00  28 05 00 24 */	cmplwi r5, 0x24
/* 803C0DA4 003BCA04  41 82 00 1C */	beq lbl_803C0DC0
/* 803C0DA8 003BCA08  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C0DAC 003BCA0C  2C 00 00 00 */	cmpwi r0, 0
/* 803C0DB0 003BCA10  41 82 00 10 */	beq lbl_803C0DC0
/* 803C0DB4 003BCA14  28 05 00 79 */	cmplwi r5, 0x79
/* 803C0DB8 003BCA18  41 82 00 08 */	beq lbl_803C0DC0
/* 803C0DBC 003BCA1C  7E 44 93 78 */	mr r4, r18
lbl_803C0DC0:
/* 803C0DC0 003BCA20  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C0DC4 003BCA24  90 90 01 20 */	stw r4, 0x120(r16)
/* 803C0DC8 003BCA28  7D D0 02 14 */	add r14, r16, r0
/* 803C0DCC 003BCA2C  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0DD0 003BCA30  54 00 1F FF */	rlwinm. r0, r0, 3, 0x1f, 0x1f
/* 803C0DD4 003BCA34  40 82 00 68 */	bne lbl_803C0E3C
/* 803C0DD8 003BCA38  2C 04 00 FF */	cmpwi r4, 0xff
/* 803C0DDC 003BCA3C  41 82 00 60 */	beq lbl_803C0E3C
/* 803C0DE0 003BCA40  80 0E 2D 8C */	lwz r0, 0x2d8c(r14)
/* 803C0DE4 003BCA44  2C 00 00 00 */	cmpwi r0, 0
/* 803C0DE8 003BCA48  41 82 00 54 */	beq lbl_803C0E3C
/* 803C0DEC 003BCA4C  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C0DF0 003BCA50  7C 70 02 14 */	add r3, r16, r0
/* 803C0DF4 003BCA54  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C0DF8 003BCA58  2C 00 00 00 */	cmpwi r0, 0
/* 803C0DFC 003BCA5C  41 82 00 40 */	beq lbl_803C0E3C
/* 803C0E00 003BCA60  7E 03 83 78 */	mr r3, r16
/* 803C0E04 003BCA64  7E E4 BB 78 */	mr r4, r23
/* 803C0E08 003BCA68  4B FF ED 11 */	bl func_803BFB18
/* 803C0E0C 003BCA6C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C0E10 003BCA70  28 00 00 24 */	cmplwi r0, 0x24
/* 803C0E14 003BCA74  40 82 00 28 */	bne lbl_803C0E3C
/* 803C0E18 003BCA78  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0E1C 003BCA7C  3B 00 00 01 */	li r24, 1
/* 803C0E20 003BCA80  64 00 20 00 */	oris r0, r0, 0x2000
/* 803C0E24 003BCA84  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C0E28 003BCA88  38 00 00 BB */	li r0, 0xbb
/* 803C0E2C 003BCA8C  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C0E30 003BCA90  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0E34 003BCA94  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C0E38 003BCA98  48 00 00 10 */	b lbl_803C0E48
lbl_803C0E3C:
/* 803C0E3C 003BCA9C  3A 31 00 01 */	addi r17, r17, 1
lbl_803C0E40:
/* 803C0E40 003BCAA0  7C 11 D0 00 */	cmpw r17, r26
/* 803C0E44 003BCAA4  41 80 FE 6C */	blt lbl_803C0CB0
lbl_803C0E48:
/* 803C0E48 003BCAA8  7C 11 D0 00 */	cmpw r17, r26
/* 803C0E4C 003BCAAC  40 82 0C DC */	bne lbl_803C1B28
/* 803C0E50 003BCAB0  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C0E54 003BCAB4  38 03 00 01 */	addi r0, r3, 1
/* 803C0E58 003BCAB8  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C0E5C 003BCABC  48 00 0C CC */	b lbl_803C1B28
/* 803C0E60 003BCAC0  3A 20 00 00 */	li r17, 0
/* 803C0E64 003BCAC4  48 00 01 20 */	b lbl_803C0F84
lbl_803C0E68:
/* 803C0E68 003BCAC8  7C 70 8A 14 */	add r3, r16, r17
/* 803C0E6C 003BCACC  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C0E70 003BCAD0  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C0E74 003BCAD4  7D D0 02 14 */	add r14, r16, r0
/* 803C0E78 003BCAD8  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0E7C 003BCADC  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803C0E80 003BCAE0  40 82 00 EC */	bne lbl_803C0F6C
/* 803C0E84 003BCAE4  80 0E 2D 8C */	lwz r0, 0x2d8c(r14)
/* 803C0E88 003BCAE8  2C 00 00 00 */	cmpwi r0, 0
/* 803C0E8C 003BCAEC  41 82 00 E0 */	beq lbl_803C0F6C
/* 803C0E90 003BCAF0  7E 03 83 78 */	mr r3, r16
/* 803C0E94 003BCAF4  7E E4 BB 78 */	mr r4, r23
/* 803C0E98 003BCAF8  4B FF EC 81 */	bl func_803BFB18
/* 803C0E9C 003BCAFC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C0EA0 003BCB00  2C 00 00 46 */	cmpwi r0, 0x46
/* 803C0EA4 003BCB04  41 82 00 7C */	beq lbl_803C0F20
/* 803C0EA8 003BCB08  40 80 00 1C */	bge lbl_803C0EC4
/* 803C0EAC 003BCB0C  2C 00 00 2D */	cmpwi r0, 0x2d
/* 803C0EB0 003BCB10  41 82 00 48 */	beq lbl_803C0EF8
/* 803C0EB4 003BCB14  40 80 00 B8 */	bge lbl_803C0F6C
/* 803C0EB8 003BCB18  2C 00 00 02 */	cmpwi r0, 2
/* 803C0EBC 003BCB1C  41 82 00 14 */	beq lbl_803C0ED0
/* 803C0EC0 003BCB20  48 00 00 AC */	b lbl_803C0F6C
lbl_803C0EC4:
/* 803C0EC4 003BCB24  2C 00 00 75 */	cmpwi r0, 0x75
/* 803C0EC8 003BCB28  41 82 00 80 */	beq lbl_803C0F48
/* 803C0ECC 003BCB2C  48 00 00 A0 */	b lbl_803C0F6C
lbl_803C0ED0:
/* 803C0ED0 003BCB30  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0ED4 003BCB34  64 00 80 00 */	oris r0, r0, 0x8000
/* 803C0ED8 003BCB38  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C0EDC 003BCB3C  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803C0EE0 003BCB40  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803C0EE4 003BCB44  40 82 00 88 */	bne lbl_803C0F6C
/* 803C0EE8 003BCB48  38 00 00 B7 */	li r0, 0xb7
/* 803C0EEC 003BCB4C  3B 00 00 01 */	li r24, 1
/* 803C0EF0 003BCB50  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0EF4 003BCB54  48 00 00 78 */	b lbl_803C0F6C
lbl_803C0EF8:
/* 803C0EF8 003BCB58  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0EFC 003BCB5C  64 00 80 00 */	oris r0, r0, 0x8000
/* 803C0F00 003BCB60  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C0F04 003BCB64  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803C0F08 003BCB68  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803C0F0C 003BCB6C  40 82 00 60 */	bne lbl_803C0F6C
/* 803C0F10 003BCB70  38 00 00 B8 */	li r0, 0xb8
/* 803C0F14 003BCB74  3B 00 00 01 */	li r24, 1
/* 803C0F18 003BCB78  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0F1C 003BCB7C  48 00 00 50 */	b lbl_803C0F6C
lbl_803C0F20:
/* 803C0F20 003BCB80  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0F24 003BCB84  64 00 80 00 */	oris r0, r0, 0x8000
/* 803C0F28 003BCB88  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C0F2C 003BCB8C  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803C0F30 003BCB90  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C0F34 003BCB94  40 82 00 38 */	bne lbl_803C0F6C
/* 803C0F38 003BCB98  38 00 00 B9 */	li r0, 0xb9
/* 803C0F3C 003BCB9C  3B 00 00 01 */	li r24, 1
/* 803C0F40 003BCBA0  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C0F44 003BCBA4  48 00 00 28 */	b lbl_803C0F6C
lbl_803C0F48:
/* 803C0F48 003BCBA8  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C0F4C 003BCBAC  64 00 80 00 */	oris r0, r0, 0x8000
/* 803C0F50 003BCBB0  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C0F54 003BCBB4  80 10 01 80 */	lwz r0, 0x180(r16)
/* 803C0F58 003BCBB8  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C0F5C 003BCBBC  40 82 00 10 */	bne lbl_803C0F6C
/* 803C0F60 003BCBC0  38 00 00 FC */	li r0, 0xfc
/* 803C0F64 003BCBC4  3B 00 00 01 */	li r24, 1
/* 803C0F68 003BCBC8  90 01 00 0C */	stw r0, 0xc(r1)
lbl_803C0F6C:
/* 803C0F6C 003BCBCC  2C 18 00 01 */	cmpwi r24, 1
/* 803C0F70 003BCBD0  40 82 00 10 */	bne lbl_803C0F80
/* 803C0F74 003BCBD4  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C0F78 003BCBD8  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C0F7C 003BCBDC  48 00 00 10 */	b lbl_803C0F8C
lbl_803C0F80:
/* 803C0F80 003BCBE0  3A 31 00 01 */	addi r17, r17, 1
lbl_803C0F84:
/* 803C0F84 003BCBE4  7C 11 D0 00 */	cmpw r17, r26
/* 803C0F88 003BCBE8  41 80 FE E0 */	blt lbl_803C0E68
lbl_803C0F8C:
/* 803C0F8C 003BCBEC  7C 11 D0 00 */	cmpw r17, r26
/* 803C0F90 003BCBF0  40 82 0B 98 */	bne lbl_803C1B28
/* 803C0F94 003BCBF4  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C0F98 003BCBF8  38 03 00 01 */	addi r0, r3, 1
/* 803C0F9C 003BCBFC  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C0FA0 003BCC00  48 00 0B 88 */	b lbl_803C1B28
/* 803C0FA4 003BCC04  39 C0 00 00 */	li r14, 0
/* 803C0FA8 003BCC08  48 00 00 6C */	b lbl_803C1014
lbl_803C0FAC:
/* 803C0FAC 003BCC0C  7C 70 72 14 */	add r3, r16, r14
/* 803C0FB0 003BCC10  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C0FB4 003BCC14  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C0FB8 003BCC18  7E 30 02 14 */	add r17, r16, r0
/* 803C0FBC 003BCC1C  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C0FC0 003BCC20  54 00 17 FF */	rlwinm. r0, r0, 2, 0x1f, 0x1f
/* 803C0FC4 003BCC24  40 82 00 4C */	bne lbl_803C1010
/* 803C0FC8 003BCC28  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803C0FCC 003BCC2C  2C 00 00 00 */	cmpwi r0, 0
/* 803C0FD0 003BCC30  41 82 00 40 */	beq lbl_803C1010
/* 803C0FD4 003BCC34  7E 03 83 78 */	mr r3, r16
/* 803C0FD8 003BCC38  7E E4 BB 78 */	mr r4, r23
/* 803C0FDC 003BCC3C  4B FF EB 3D */	bl func_803BFB18
/* 803C0FE0 003BCC40  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C0FE4 003BCC44  28 00 00 16 */	cmplwi r0, 0x16
/* 803C0FE8 003BCC48  40 82 00 28 */	bne lbl_803C1010
/* 803C0FEC 003BCC4C  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C0FF0 003BCC50  3B 00 00 01 */	li r24, 1
/* 803C0FF4 003BCC54  64 00 40 00 */	oris r0, r0, 0x4000
/* 803C0FF8 003BCC58  90 11 2D 68 */	stw r0, 0x2d68(r17)
/* 803C0FFC 003BCC5C  38 00 00 BA */	li r0, 0xba
/* 803C1000 003BCC60  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C1004 003BCC64  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C1008 003BCC68  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C100C 003BCC6C  48 00 00 10 */	b lbl_803C101C
lbl_803C1010:
/* 803C1010 003BCC70  39 CE 00 01 */	addi r14, r14, 1
lbl_803C1014:
/* 803C1014 003BCC74  7C 0E D0 00 */	cmpw r14, r26
/* 803C1018 003BCC78  41 80 FF 94 */	blt lbl_803C0FAC
lbl_803C101C:
/* 803C101C 003BCC7C  7C 0E D0 00 */	cmpw r14, r26
/* 803C1020 003BCC80  40 82 0B 08 */	bne lbl_803C1B28
/* 803C1024 003BCC84  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C1028 003BCC88  38 03 00 01 */	addi r0, r3, 1
/* 803C102C 003BCC8C  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1030 003BCC90  48 00 0A F8 */	b lbl_803C1B28
/* 803C1034 003BCC94  3A 20 00 00 */	li r17, 0
/* 803C1038 003BCC98  48 00 01 50 */	b lbl_803C1188
lbl_803C103C:
/* 803C103C 003BCC9C  7C 70 8A 14 */	add r3, r16, r17
/* 803C1040 003BCCA0  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C1044 003BCCA4  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C1048 003BCCA8  7D D0 02 14 */	add r14, r16, r0
/* 803C104C 003BCCAC  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C1050 003BCCB0  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803C1054 003BCCB4  40 82 01 30 */	bne lbl_803C1184
/* 803C1058 003BCCB8  80 0E 2D 8C */	lwz r0, 0x2d8c(r14)
/* 803C105C 003BCCBC  2C 00 00 00 */	cmpwi r0, 0
/* 803C1060 003BCCC0  41 82 01 24 */	beq lbl_803C1184
/* 803C1064 003BCCC4  7E 03 83 78 */	mr r3, r16
/* 803C1068 003BCCC8  7E E4 BB 78 */	mr r4, r23
/* 803C106C 003BCCCC  4B FF EA AD */	bl func_803BFB18
/* 803C1070 003BCCD0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1074 003BCCD4  28 00 00 58 */	cmplwi r0, 0x58
/* 803C1078 003BCCD8  40 82 01 0C */	bne lbl_803C1184
/* 803C107C 003BCCDC  3A 60 00 00 */	li r19, 0
/* 803C1080 003BCCE0  3A 80 00 00 */	li r20, 0
/* 803C1084 003BCCE4  3A 40 00 00 */	li r18, 0
/* 803C1088 003BCCE8  3A A0 00 00 */	li r21, 0
/* 803C108C 003BCCEC  48 00 00 A0 */	b lbl_803C112C
lbl_803C1090:
/* 803C1090 003BCCF0  7D E3 7B 78 */	mr r3, r15
/* 803C1094 003BCCF4  7E 44 93 78 */	mr r4, r18
/* 803C1098 003BCCF8  4B FE BC 4D */	bl func_803ACCE4
/* 803C109C 003BCCFC  54 76 06 3E */	clrlwi r22, r3, 0x18
/* 803C10A0 003BCD00  7D E3 7B 78 */	mr r3, r15
/* 803C10A4 003BCD04  7E E4 BB 78 */	mr r4, r23
/* 803C10A8 003BCD08  4B FE BC 3D */	bl func_803ACCE4
/* 803C10AC 003BCD0C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C10B0 003BCD10  7C 00 B0 40 */	cmplw r0, r22
/* 803C10B4 003BCD14  41 82 00 70 */	beq lbl_803C1124
/* 803C10B8 003BCD18  7C 90 AA 14 */	add r4, r16, r21
/* 803C10BC 003BCD1C  80 04 2D B0 */	lwz r0, 0x2db0(r4)
/* 803C10C0 003BCD20  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803C10C4 003BCD24  40 82 00 60 */	bne lbl_803C1124
/* 803C10C8 003BCD28  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C10CC 003BCD2C  2C 00 00 00 */	cmpwi r0, 0
/* 803C10D0 003BCD30  41 82 00 54 */	beq lbl_803C1124
/* 803C10D4 003BCD34  88 04 2D 5D */	lbz r0, 0x2d5d(r4)
/* 803C10D8 003BCD38  88 64 2D 5A */	lbz r3, 0x2d5a(r4)
/* 803C10DC 003BCD3C  7C 00 07 74 */	extsb r0, r0
/* 803C10E0 003BCD40  A0 A4 2D 44 */	lhz r5, 0x2d44(r4)
/* 803C10E4 003BCD44  7C 63 07 74 */	extsb r3, r3
/* 803C10E8 003BCD48  A0 84 2D 4A */	lhz r4, 0x2d4a(r4)
/* 803C10EC 003BCD4C  54 00 08 3C */	slwi r0, r0, 1
/* 803C10F0 003BCD50  54 63 08 3C */	slwi r3, r3, 1
/* 803C10F4 003BCD54  7D 1C 02 14 */	add r8, r28, r0
/* 803C10F8 003BCD58  7C 1C 18 AE */	lbzx r0, r28, r3
/* 803C10FC 003BCD5C  7C FC 1A 14 */	add r7, r28, r3
/* 803C1100 003BCD60  88 68 00 00 */	lbz r3, 0(r8)
/* 803C1104 003BCD64  7C C5 01 D6 */	mullw r6, r5, r0
/* 803C1108 003BCD68  88 A7 00 01 */	lbz r5, 1(r7)
/* 803C110C 003BCD6C  88 08 00 01 */	lbz r0, 1(r8)
/* 803C1110 003BCD70  7C 64 19 D6 */	mullw r3, r4, r3
/* 803C1114 003BCD74  7C 86 2B D6 */	divw r4, r6, r5
/* 803C1118 003BCD78  7C 03 03 D6 */	divw r0, r3, r0
/* 803C111C 003BCD7C  7E 73 22 14 */	add r19, r19, r4
/* 803C1120 003BCD80  7E 94 02 14 */	add r20, r20, r0
lbl_803C1124:
/* 803C1124 003BCD84  3A 52 00 01 */	addi r18, r18, 1
/* 803C1128 003BCD88  3A B5 00 C0 */	addi r21, r21, 0xc0
lbl_803C112C:
/* 803C112C 003BCD8C  7C 12 D0 00 */	cmpw r18, r26
/* 803C1130 003BCD90  41 80 FF 60 */	blt lbl_803C1090
/* 803C1134 003BCD94  80 6E 2D 68 */	lwz r3, 0x2d68(r14)
/* 803C1138 003BCD98  7C 13 A2 15 */	add. r0, r19, r20
/* 803C113C 003BCD9C  64 63 10 00 */	oris r3, r3, 0x1000
/* 803C1140 003BCDA0  90 6E 2D 68 */	stw r3, 0x2d68(r14)
/* 803C1144 003BCDA4  41 82 00 40 */	beq lbl_803C1184
/* 803C1148 003BCDA8  7C 13 A0 00 */	cmpw r19, r20
/* 803C114C 003BCDAC  41 80 00 10 */	blt lbl_803C115C
/* 803C1150 003BCDB0  38 00 00 12 */	li r0, 0x12
/* 803C1154 003BCDB4  90 10 00 8C */	stw r0, 0x8c(r16)
/* 803C1158 003BCDB8  48 00 00 0C */	b lbl_803C1164
lbl_803C115C:
/* 803C115C 003BCDBC  38 00 00 0F */	li r0, 0xf
/* 803C1160 003BCDC0  90 10 00 8C */	stw r0, 0x8c(r16)
lbl_803C1164:
/* 803C1164 003BCDC4  38 00 00 03 */	li r0, 3
/* 803C1168 003BCDC8  92 F0 00 94 */	stw r23, 0x94(r16)
/* 803C116C 003BCDCC  3B 00 00 01 */	li r24, 1
/* 803C1170 003BCDD0  90 10 00 88 */	stw r0, 0x88(r16)
/* 803C1174 003BCDD4  38 00 00 0C */	li r0, 0xc
/* 803C1178 003BCDD8  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C117C 003BCDDC  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C1180 003BCDE0  48 00 00 10 */	b lbl_803C1190
lbl_803C1184:
/* 803C1184 003BCDE4  3A 31 00 01 */	addi r17, r17, 1
lbl_803C1188:
/* 803C1188 003BCDE8  7C 11 D0 00 */	cmpw r17, r26
/* 803C118C 003BCDEC  41 80 FE B0 */	blt lbl_803C103C
lbl_803C1190:
/* 803C1190 003BCDF0  7C 11 D0 00 */	cmpw r17, r26
/* 803C1194 003BCDF4  40 82 09 94 */	bne lbl_803C1B28
/* 803C1198 003BCDF8  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C119C 003BCDFC  38 03 00 01 */	addi r0, r3, 1
/* 803C11A0 003BCE00  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C11A4 003BCE04  48 00 09 84 */	b lbl_803C1B28
/* 803C11A8 003BCE08  3A 80 00 00 */	li r20, 0
/* 803C11AC 003BCE0C  48 00 01 A8 */	b lbl_803C1354
lbl_803C11B0:
/* 803C11B0 003BCE10  7C 70 A2 14 */	add r3, r16, r20
/* 803C11B4 003BCE14  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C11B8 003BCE18  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C11BC 003BCE1C  7E 50 02 14 */	add r18, r16, r0
/* 803C11C0 003BCE20  80 12 2D 68 */	lwz r0, 0x2d68(r18)
/* 803C11C4 003BCE24  54 00 2F FF */	rlwinm. r0, r0, 5, 0x1f, 0x1f
/* 803C11C8 003BCE28  40 82 01 88 */	bne lbl_803C1350
/* 803C11CC 003BCE2C  80 12 2D 8C */	lwz r0, 0x2d8c(r18)
/* 803C11D0 003BCE30  2C 00 00 00 */	cmpwi r0, 0
/* 803C11D4 003BCE34  41 82 01 7C */	beq lbl_803C1350
/* 803C11D8 003BCE38  7E 03 83 78 */	mr r3, r16
/* 803C11DC 003BCE3C  7E E4 BB 78 */	mr r4, r23
/* 803C11E0 003BCE40  4B FF E9 39 */	bl func_803BFB18
/* 803C11E4 003BCE44  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C11E8 003BCE48  28 00 00 6B */	cmplwi r0, 0x6b
/* 803C11EC 003BCE4C  40 82 01 64 */	bne lbl_803C1350
/* 803C11F0 003BCE50  80 12 2D 68 */	lwz r0, 0x2d68(r18)
/* 803C11F4 003BCE54  3A A0 00 00 */	li r21, 0
/* 803C11F8 003BCE58  39 C0 00 00 */	li r14, 0
/* 803C11FC 003BCE5C  64 00 08 00 */	oris r0, r0, 0x800
/* 803C1200 003BCE60  90 12 2D 68 */	stw r0, 0x2d68(r18)
/* 803C1204 003BCE64  48 00 01 24 */	b lbl_803C1328
lbl_803C1208:
/* 803C1208 003BCE68  7D E3 7B 78 */	mr r3, r15
/* 803C120C 003BCE6C  7E A4 AB 78 */	mr r4, r21
/* 803C1210 003BCE70  4B FE BA D5 */	bl func_803ACCE4
/* 803C1214 003BCE74  54 71 06 3E */	clrlwi r17, r3, 0x18
/* 803C1218 003BCE78  7D E3 7B 78 */	mr r3, r15
/* 803C121C 003BCE7C  7E E4 BB 78 */	mr r4, r23
/* 803C1220 003BCE80  4B FE BA C5 */	bl func_803ACCE4
/* 803C1224 003BCE84  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1228 003BCE88  7C 00 88 40 */	cmplw r0, r17
/* 803C122C 003BCE8C  41 82 00 F4 */	beq lbl_803C1320
/* 803C1230 003BCE90  7E 70 72 14 */	add r19, r16, r14
/* 803C1234 003BCE94  80 13 2D 8C */	lwz r0, 0x2d8c(r19)
/* 803C1238 003BCE98  2C 00 00 00 */	cmpwi r0, 0
/* 803C123C 003BCE9C  41 82 00 E4 */	beq lbl_803C1320
/* 803C1240 003BCEA0  3A C0 00 00 */	li r22, 0
/* 803C1244 003BCEA4  3A 20 00 00 */	li r17, 0
lbl_803C1248:
/* 803C1248 003BCEA8  7C 73 8A 14 */	add r3, r19, r17
/* 803C124C 003BCEAC  A3 23 2D 4C */	lhz r25, 0x2d4c(r3)
/* 803C1250 003BCEB0  2C 19 00 00 */	cmpwi r25, 0
/* 803C1254 003BCEB4  41 82 00 B4 */	beq lbl_803C1308
/* 803C1258 003BCEB8  38 00 00 00 */	li r0, 0
/* 803C125C 003BCEBC  7D E3 7B 78 */	mr r3, r15
/* 803C1260 003BCEC0  90 01 00 08 */	stw r0, 8(r1)
/* 803C1264 003BCEC4  7E 04 83 78 */	mr r4, r16
/* 803C1268 003BCEC8  7F 25 CB 78 */	mr r5, r25
/* 803C126C 003BCECC  7E A7 AB 78 */	mr r7, r21
/* 803C1270 003BCED0  81 30 21 44 */	lwz r9, 0x2144(r16)
/* 803C1274 003BCED4  7E E8 BB 78 */	mr r8, r23
/* 803C1278 003BCED8  39 41 00 08 */	addi r10, r1, 8
/* 803C127C 003BCEDC  38 C0 00 00 */	li r6, 0
/* 803C1280 003BCEE0  4B FF D6 31 */	bl func_803BE8B0
/* 803C1284 003BCEE4  90 70 21 44 */	stw r3, 0x2144(r16)
/* 803C1288 003BCEE8  80 C1 00 08 */	lwz r6, 8(r1)
/* 803C128C 003BCEEC  54 C0 07 39 */	rlwinm. r0, r6, 0, 0x1c, 0x1c
/* 803C1290 003BCEF0  40 82 00 78 */	bne lbl_803C1308
/* 803C1294 003BCEF4  57 20 23 36 */	rlwinm r0, r25, 4, 0xc, 0x1b
/* 803C1298 003BCEF8  38 60 00 00 */	li r3, 0
/* 803C129C 003BCEFC  7C B0 02 14 */	add r5, r16, r0
/* 803C12A0 003BCF00  38 00 00 06 */	li r0, 6
/* 803C12A4 003BCF04  7C 09 03 A6 */	mtctr r0
lbl_803C12A8:
/* 803C12A8 003BCF08  7C 9D 1A 2E */	lhzx r4, r29, r3
/* 803C12AC 003BCF0C  A0 05 03 DE */	lhz r0, 0x3de(r5)
/* 803C12B0 003BCF10  7C 04 00 40 */	cmplw r4, r0
/* 803C12B4 003BCF14  40 82 00 0C */	bne lbl_803C12C0
/* 803C12B8 003BCF18  38 00 00 01 */	li r0, 1
/* 803C12BC 003BCF1C  48 00 00 10 */	b lbl_803C12CC
lbl_803C12C0:
/* 803C12C0 003BCF20  38 63 00 02 */	addi r3, r3, 2
/* 803C12C4 003BCF24  42 00 FF E4 */	bdnz lbl_803C12A8
/* 803C12C8 003BCF28  38 00 00 00 */	li r0, 0
lbl_803C12CC:
/* 803C12CC 003BCF2C  2C 00 00 00 */	cmpwi r0, 0
/* 803C12D0 003BCF30  40 82 00 38 */	bne lbl_803C1308
/* 803C12D4 003BCF34  54 C0 07 BD */	rlwinm. r0, r6, 0, 0x1e, 0x1e
/* 803C12D8 003BCF38  40 82 00 28 */	bne lbl_803C1300
/* 803C12DC 003BCF3C  57 20 23 36 */	rlwinm r0, r25, 4, 0xc, 0x1b
/* 803C12E0 003BCF40  7C 70 02 14 */	add r3, r16, r0
/* 803C12E4 003BCF44  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803C12E8 003BCF48  28 00 00 26 */	cmplwi r0, 0x26
/* 803C12EC 003BCF4C  40 82 00 1C */	bne lbl_803C1308
/* 803C12F0 003BCF50  88 72 2D 74 */	lbz r3, 0x2d74(r18)
/* 803C12F4 003BCF54  88 13 2D 74 */	lbz r0, 0x2d74(r19)
/* 803C12F8 003BCF58  7C 03 00 40 */	cmplw r3, r0
/* 803C12FC 003BCF5C  41 81 00 0C */	bgt lbl_803C1308
lbl_803C1300:
/* 803C1300 003BCF60  3B 00 00 01 */	li r24, 1
/* 803C1304 003BCF64  48 00 00 14 */	b lbl_803C1318
lbl_803C1308:
/* 803C1308 003BCF68  3A D6 00 01 */	addi r22, r22, 1
/* 803C130C 003BCF6C  3A 31 00 02 */	addi r17, r17, 2
/* 803C1310 003BCF70  2C 16 00 04 */	cmpwi r22, 4
/* 803C1314 003BCF74  41 80 FF 34 */	blt lbl_803C1248
lbl_803C1318:
/* 803C1318 003BCF78  2C 18 00 01 */	cmpwi r24, 1
/* 803C131C 003BCF7C  41 82 00 14 */	beq lbl_803C1330
lbl_803C1320:
/* 803C1320 003BCF80  3A B5 00 01 */	addi r21, r21, 1
/* 803C1324 003BCF84  39 CE 00 C0 */	addi r14, r14, 0xc0
lbl_803C1328:
/* 803C1328 003BCF88  7C 15 D0 00 */	cmpw r21, r26
/* 803C132C 003BCF8C  41 80 FE DC */	blt lbl_803C1208
lbl_803C1330:
/* 803C1330 003BCF90  2C 18 00 01 */	cmpwi r24, 1
/* 803C1334 003BCF94  40 82 00 28 */	bne lbl_803C135C
/* 803C1338 003BCF98  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C133C 003BCF9C  38 00 00 C2 */	li r0, 0xc2
/* 803C1340 003BCFA0  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C1344 003BCFA4  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C1348 003BCFA8  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C134C 003BCFAC  48 00 00 10 */	b lbl_803C135C
lbl_803C1350:
/* 803C1350 003BCFB0  3A 94 00 01 */	addi r20, r20, 1
lbl_803C1354:
/* 803C1354 003BCFB4  7C 14 D0 00 */	cmpw r20, r26
/* 803C1358 003BCFB8  41 80 FE 58 */	blt lbl_803C11B0
lbl_803C135C:
/* 803C135C 003BCFBC  7C 14 D0 00 */	cmpw r20, r26
/* 803C1360 003BCFC0  40 82 07 C8 */	bne lbl_803C1B28
/* 803C1364 003BCFC4  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C1368 003BCFC8  38 03 00 01 */	addi r0, r3, 1
/* 803C136C 003BCFCC  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1370 003BCFD0  48 00 07 B8 */	b lbl_803C1B28
/* 803C1374 003BCFD4  3B 20 00 00 */	li r25, 0
/* 803C1378 003BCFD8  48 00 02 48 */	b lbl_803C15C0
lbl_803C137C:
/* 803C137C 003BCFDC  7C 70 CA 14 */	add r3, r16, r25
/* 803C1380 003BCFE0  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C1384 003BCFE4  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C1388 003BCFE8  7D D0 02 14 */	add r14, r16, r0
/* 803C138C 003BCFEC  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C1390 003BCFF0  54 00 37 FF */	rlwinm. r0, r0, 6, 0x1f, 0x1f
/* 803C1394 003BCFF4  40 82 02 28 */	bne lbl_803C15BC
/* 803C1398 003BCFF8  80 0E 2D 8C */	lwz r0, 0x2d8c(r14)
/* 803C139C 003BCFFC  2C 00 00 00 */	cmpwi r0, 0
/* 803C13A0 003BD000  41 82 02 1C */	beq lbl_803C15BC
/* 803C13A4 003BD004  7E 03 83 78 */	mr r3, r16
/* 803C13A8 003BD008  7E E4 BB 78 */	mr r4, r23
/* 803C13AC 003BD00C  4B FF E7 6D */	bl func_803BFB18
/* 803C13B0 003BD010  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C13B4 003BD014  28 00 00 6C */	cmplwi r0, 0x6c
/* 803C13B8 003BD018  40 82 02 04 */	bne lbl_803C15BC
/* 803C13BC 003BD01C  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C13C0 003BD020  3A 40 00 00 */	li r18, 0
/* 803C13C4 003BD024  3A 20 00 00 */	li r17, 0
/* 803C13C8 003BD028  3A C0 00 00 */	li r22, 0
/* 803C13CC 003BD02C  64 00 04 00 */	oris r0, r0, 0x400
/* 803C13D0 003BD030  3B E0 00 00 */	li r31, 0
/* 803C13D4 003BD034  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C13D8 003BD038  48 00 01 40 */	b lbl_803C1518
lbl_803C13DC:
/* 803C13DC 003BD03C  7D E3 7B 78 */	mr r3, r15
/* 803C13E0 003BD040  7E C4 B3 78 */	mr r4, r22
/* 803C13E4 003BD044  4B FE B9 01 */	bl func_803ACCE4
/* 803C13E8 003BD048  54 6E 06 3E */	clrlwi r14, r3, 0x18
/* 803C13EC 003BD04C  7D E3 7B 78 */	mr r3, r15
/* 803C13F0 003BD050  7E E4 BB 78 */	mr r4, r23
/* 803C13F4 003BD054  4B FE B8 F1 */	bl func_803ACCE4
/* 803C13F8 003BD058  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C13FC 003BD05C  7C 00 70 40 */	cmplw r0, r14
/* 803C1400 003BD060  41 82 01 10 */	beq lbl_803C1510
/* 803C1404 003BD064  7D D0 FA 14 */	add r14, r16, r31
/* 803C1408 003BD068  80 0E 2D 8C */	lwz r0, 0x2d8c(r14)
/* 803C140C 003BD06C  2C 00 00 00 */	cmpwi r0, 0
/* 803C1410 003BD070  41 82 01 00 */	beq lbl_803C1510
/* 803C1414 003BD074  7E 31 02 14 */	add r17, r17, r0
/* 803C1418 003BD078  3A A0 00 00 */	li r21, 0
/* 803C141C 003BD07C  3B C0 00 00 */	li r30, 0
lbl_803C1420:
/* 803C1420 003BD080  7C 6E F2 14 */	add r3, r14, r30
/* 803C1424 003BD084  A2 83 2D 4C */	lhz r20, 0x2d4c(r3)
/* 803C1428 003BD088  56 80 20 36 */	slwi r0, r20, 4
/* 803C142C 003BD08C  7C 70 02 14 */	add r3, r16, r0
/* 803C1430 003BD090  8A 63 03 E1 */	lbz r19, 0x3e1(r3)
/* 803C1434 003BD094  2C 13 00 01 */	cmpwi r19, 1
/* 803C1438 003BD098  41 82 00 08 */	beq lbl_803C1440
/* 803C143C 003BD09C  48 00 00 A4 */	b lbl_803C14E0
lbl_803C1440:
/* 803C1440 003BD0A0  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803C1444 003BD0A4  2C 00 00 90 */	cmpwi r0, 0x90
/* 803C1448 003BD0A8  41 82 00 50 */	beq lbl_803C1498
/* 803C144C 003BD0AC  40 80 00 1C */	bge lbl_803C1468
/* 803C1450 003BD0B0  2C 00 00 59 */	cmpwi r0, 0x59
/* 803C1454 003BD0B4  41 82 00 44 */	beq lbl_803C1498
/* 803C1458 003BD0B8  40 80 00 64 */	bge lbl_803C14BC
/* 803C145C 003BD0BC  2C 00 00 26 */	cmpwi r0, 0x26
/* 803C1460 003BD0C0  41 82 00 14 */	beq lbl_803C1474
/* 803C1464 003BD0C4  48 00 00 58 */	b lbl_803C14BC
lbl_803C1468:
/* 803C1468 003BD0C8  2C 00 00 E3 */	cmpwi r0, 0xe3
/* 803C146C 003BD0CC  41 82 00 2C */	beq lbl_803C1498
/* 803C1470 003BD0D0  48 00 00 4C */	b lbl_803C14BC
lbl_803C1474:
/* 803C1474 003BD0D4  28 12 00 96 */	cmplwi r18, 0x96
/* 803C1478 003BD0D8  41 80 00 14 */	blt lbl_803C148C
/* 803C147C 003BD0DC  40 82 00 84 */	bne lbl_803C1500
/* 803C1480 003BD0E0  48 01 83 39 */	bl func_803D97B8
/* 803C1484 003BD0E4  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803C1488 003BD0E8  41 82 00 78 */	beq lbl_803C1500
lbl_803C148C:
/* 803C148C 003BD0EC  92 90 01 24 */	stw r20, 0x124(r16)
/* 803C1490 003BD0F0  3A 40 00 96 */	li r18, 0x96
/* 803C1494 003BD0F4  48 00 00 6C */	b lbl_803C1500
lbl_803C1498:
/* 803C1498 003BD0F8  28 12 00 78 */	cmplwi r18, 0x78
/* 803C149C 003BD0FC  41 80 00 14 */	blt lbl_803C14B0
/* 803C14A0 003BD100  40 82 00 60 */	bne lbl_803C1500
/* 803C14A4 003BD104  48 01 83 15 */	bl func_803D97B8
/* 803C14A8 003BD108  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803C14AC 003BD10C  41 82 00 54 */	beq lbl_803C1500
lbl_803C14B0:
/* 803C14B0 003BD110  92 90 01 24 */	stw r20, 0x124(r16)
/* 803C14B4 003BD114  3A 40 00 78 */	li r18, 0x78
/* 803C14B8 003BD118  48 00 00 48 */	b lbl_803C1500
lbl_803C14BC:
/* 803C14BC 003BD11C  28 12 00 50 */	cmplwi r18, 0x50
/* 803C14C0 003BD120  41 80 00 14 */	blt lbl_803C14D4
/* 803C14C4 003BD124  40 82 00 3C */	bne lbl_803C1500
/* 803C14C8 003BD128  48 01 82 F1 */	bl func_803D97B8
/* 803C14CC 003BD12C  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803C14D0 003BD130  41 82 00 30 */	beq lbl_803C1500
lbl_803C14D4:
/* 803C14D4 003BD134  92 90 01 24 */	stw r20, 0x124(r16)
/* 803C14D8 003BD138  3A 40 00 50 */	li r18, 0x50
/* 803C14DC 003BD13C  48 00 00 24 */	b lbl_803C1500
lbl_803C14E0:
/* 803C14E0 003BD140  7C 12 98 40 */	cmplw r18, r19
/* 803C14E4 003BD144  41 80 00 14 */	blt lbl_803C14F8
/* 803C14E8 003BD148  40 82 00 18 */	bne lbl_803C1500
/* 803C14EC 003BD14C  48 01 82 CD */	bl func_803D97B8
/* 803C14F0 003BD150  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803C14F4 003BD154  41 82 00 0C */	beq lbl_803C1500
lbl_803C14F8:
/* 803C14F8 003BD158  7E 72 9B 78 */	mr r18, r19
/* 803C14FC 003BD15C  92 90 01 24 */	stw r20, 0x124(r16)
lbl_803C1500:
/* 803C1500 003BD160  3A B5 00 01 */	addi r21, r21, 1
/* 803C1504 003BD164  3B DE 00 02 */	addi r30, r30, 2
/* 803C1508 003BD168  2C 15 00 04 */	cmpwi r21, 4
/* 803C150C 003BD16C  41 80 FF 14 */	blt lbl_803C1420
lbl_803C1510:
/* 803C1510 003BD170  3A D6 00 01 */	addi r22, r22, 1
/* 803C1514 003BD174  3B FF 00 C0 */	addi r31, r31, 0xc0
lbl_803C1518:
/* 803C1518 003BD178  7C 16 D0 00 */	cmpw r22, r26
/* 803C151C 003BD17C  41 80 FE C0 */	blt lbl_803C13DC
/* 803C1520 003BD180  2C 12 00 00 */	cmpwi r18, 0
/* 803C1524 003BD184  41 82 00 20 */	beq lbl_803C1544
/* 803C1528 003BD188  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C152C 003BD18C  38 00 00 C3 */	li r0, 0xc3
/* 803C1530 003BD190  3B 00 00 01 */	li r24, 1
/* 803C1534 003BD194  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C1538 003BD198  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C153C 003BD19C  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C1540 003BD1A0  48 00 00 88 */	b lbl_803C15C8
lbl_803C1544:
/* 803C1544 003BD1A4  2C 11 00 00 */	cmpwi r17, 0
/* 803C1548 003BD1A8  41 82 00 80 */	beq lbl_803C15C8
/* 803C154C 003BD1AC  7D E3 7B 78 */	mr r3, r15
/* 803C1550 003BD1B0  7E 04 83 78 */	mr r4, r16
/* 803C1554 003BD1B4  7E E5 BB 78 */	mr r5, r23
/* 803C1558 003BD1B8  48 00 05 F5 */	bl func_803C1B4C
/* 803C155C 003BD1BC  7C 71 1B 78 */	mr r17, r3
/* 803C1560 003BD1C0  7D E3 7B 78 */	mr r3, r15
/* 803C1564 003BD1C4  7E 04 83 78 */	mr r4, r16
/* 803C1568 003BD1C8  7E 25 8B 78 */	mr r5, r17
/* 803C156C 003BD1CC  4B FF F1 39 */	bl func_803C06A4
/* 803C1570 003BD1D0  7C 6E 1B 78 */	mr r14, r3
/* 803C1574 003BD1D4  48 01 82 45 */	bl func_803D97B8
/* 803C1578 003BD1D8  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803C157C 003BD1DC  3B 00 00 01 */	li r24, 1
/* 803C1580 003BD1E0  7C 03 73 D6 */	divw r0, r3, r14
/* 803C1584 003BD1E4  7C 00 71 D6 */	mullw r0, r0, r14
/* 803C1588 003BD1E8  7C 00 18 50 */	subf r0, r0, r3
/* 803C158C 003BD1EC  54 00 08 3C */	slwi r0, r0, 1
/* 803C1590 003BD1F0  1C 71 00 C0 */	mulli r3, r17, 0xc0
/* 803C1594 003BD1F4  7C 00 82 14 */	add r0, r0, r16
/* 803C1598 003BD1F8  7C 63 02 14 */	add r3, r3, r0
/* 803C159C 003BD1FC  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803C15A0 003BD200  90 10 01 24 */	stw r0, 0x124(r16)
/* 803C15A4 003BD204  38 00 00 C3 */	li r0, 0xc3
/* 803C15A8 003BD208  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C15AC 003BD20C  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C15B0 003BD210  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C15B4 003BD214  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C15B8 003BD218  48 00 00 10 */	b lbl_803C15C8
lbl_803C15BC:
/* 803C15BC 003BD21C  3B 39 00 01 */	addi r25, r25, 1
lbl_803C15C0:
/* 803C15C0 003BD220  7C 19 D0 00 */	cmpw r25, r26
/* 803C15C4 003BD224  41 80 FD B8 */	blt lbl_803C137C
lbl_803C15C8:
/* 803C15C8 003BD228  7C 19 D0 00 */	cmpw r25, r26
/* 803C15CC 003BD22C  40 82 05 5C */	bne lbl_803C1B28
/* 803C15D0 003BD230  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C15D4 003BD234  38 03 00 01 */	addi r0, r3, 1
/* 803C15D8 003BD238  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C15DC 003BD23C  48 00 05 4C */	b lbl_803C1B28
/* 803C15E0 003BD240  39 C0 00 00 */	li r14, 0
/* 803C15E4 003BD244  48 00 01 94 */	b lbl_803C1778
lbl_803C15E8:
/* 803C15E8 003BD248  7C 70 72 14 */	add r3, r16, r14
/* 803C15EC 003BD24C  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C15F0 003BD250  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C15F4 003BD254  7E 30 02 14 */	add r17, r16, r0
/* 803C15F8 003BD258  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C15FC 003BD25C  54 00 4F FF */	rlwinm. r0, r0, 9, 0x1f, 0x1f
/* 803C1600 003BD260  40 82 01 54 */	bne lbl_803C1754
/* 803C1604 003BD264  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803C1608 003BD268  2C 00 00 00 */	cmpwi r0, 0
/* 803C160C 003BD26C  41 82 01 48 */	beq lbl_803C1754
/* 803C1610 003BD270  7E 03 83 78 */	mr r3, r16
/* 803C1614 003BD274  7E E4 BB 78 */	mr r4, r23
/* 803C1618 003BD278  4B FF E5 01 */	bl func_803BFB18
/* 803C161C 003BD27C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1620 003BD280  28 00 00 77 */	cmplwi r0, 0x77
/* 803C1624 003BD284  40 82 01 30 */	bne lbl_803C1754
/* 803C1628 003BD288  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C162C 003BD28C  7D E3 7B 78 */	mr r3, r15
/* 803C1630 003BD290  64 00 00 80 */	oris r0, r0, 0x80
/* 803C1634 003BD294  90 11 2D 68 */	stw r0, 0x2d68(r17)
/* 803C1638 003BD298  4B FE B2 09 */	bl func_803AC840
/* 803C163C 003BD29C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C1640 003BD2A0  41 82 00 E8 */	beq lbl_803C1728
/* 803C1644 003BD2A4  7D E3 7B 78 */	mr r3, r15
/* 803C1648 003BD2A8  7E E4 BB 78 */	mr r4, r23
/* 803C164C 003BD2AC  38 A0 00 00 */	li r5, 0
/* 803C1650 003BD2B0  4B FE B7 89 */	bl func_803ACDD8
/* 803C1654 003BD2B4  90 61 00 10 */	stw r3, 0x10(r1)
/* 803C1658 003BD2B8  7D E3 7B 78 */	mr r3, r15
/* 803C165C 003BD2BC  7E E4 BB 78 */	mr r4, r23
/* 803C1660 003BD2C0  38 A0 00 02 */	li r5, 2
/* 803C1664 003BD2C4  4B FE B7 75 */	bl func_803ACDD8
/* 803C1668 003BD2C8  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C166C 003BD2CC  90 61 00 14 */	stw r3, 0x14(r1)
/* 803C1670 003BD2D0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C1674 003BD2D4  7C 90 02 14 */	add r4, r16, r0
/* 803C1678 003BD2D8  80 A4 2D 8C */	lwz r5, 0x2d8c(r4)
/* 803C167C 003BD2DC  2C 05 00 00 */	cmpwi r5, 0
/* 803C1680 003BD2E0  41 82 00 58 */	beq lbl_803C16D8
/* 803C1684 003BD2E4  A0 04 2D B8 */	lhz r0, 0x2db8(r4)
/* 803C1688 003BD2E8  2C 00 00 00 */	cmpwi r0, 0
/* 803C168C 003BD2EC  41 82 00 4C */	beq lbl_803C16D8
/* 803C1690 003BD2F0  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803C1694 003BD2F4  7C 70 02 14 */	add r3, r16, r0
/* 803C1698 003BD2F8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C169C 003BD2FC  2C 00 00 00 */	cmpwi r0, 0
/* 803C16A0 003BD300  41 82 00 38 */	beq lbl_803C16D8
/* 803C16A4 003BD304  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C16A8 003BD308  2C 00 00 00 */	cmpwi r0, 0
/* 803C16AC 003BD30C  41 82 00 2C */	beq lbl_803C16D8
/* 803C16B0 003BD310  48 01 81 09 */	bl func_803D97B8
/* 803C16B4 003BD314  54 60 17 7A */	rlwinm r0, r3, 2, 0x1d, 0x1d
/* 803C16B8 003BD318  38 61 00 10 */	addi r3, r1, 0x10
/* 803C16BC 003BD31C  7C 03 00 2E */	lwzx r0, r3, r0
/* 803C16C0 003BD320  3B 00 00 01 */	li r24, 1
/* 803C16C4 003BD324  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C16C8 003BD328  7C 70 02 14 */	add r3, r16, r0
/* 803C16CC 003BD32C  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C16D0 003BD330  90 10 01 28 */	stw r0, 0x128(r16)
/* 803C16D4 003BD334  48 00 00 80 */	b lbl_803C1754
lbl_803C16D8:
/* 803C16D8 003BD338  2C 05 00 00 */	cmpwi r5, 0
/* 803C16DC 003BD33C  41 82 00 1C */	beq lbl_803C16F8
/* 803C16E0 003BD340  A0 04 2D B8 */	lhz r0, 0x2db8(r4)
/* 803C16E4 003BD344  2C 00 00 00 */	cmpwi r0, 0
/* 803C16E8 003BD348  41 82 00 10 */	beq lbl_803C16F8
/* 803C16EC 003BD34C  90 10 01 28 */	stw r0, 0x128(r16)
/* 803C16F0 003BD350  3B 00 00 01 */	li r24, 1
/* 803C16F4 003BD354  48 00 00 60 */	b lbl_803C1754
lbl_803C16F8:
/* 803C16F8 003BD358  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C16FC 003BD35C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C1700 003BD360  7C 70 02 14 */	add r3, r16, r0
/* 803C1704 003BD364  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1708 003BD368  2C 00 00 00 */	cmpwi r0, 0
/* 803C170C 003BD36C  41 82 00 48 */	beq lbl_803C1754
/* 803C1710 003BD370  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C1714 003BD374  2C 00 00 00 */	cmpwi r0, 0
/* 803C1718 003BD378  41 82 00 3C */	beq lbl_803C1754
/* 803C171C 003BD37C  90 10 01 28 */	stw r0, 0x128(r16)
/* 803C1720 003BD380  3B 00 00 01 */	li r24, 1
/* 803C1724 003BD384  48 00 00 30 */	b lbl_803C1754
lbl_803C1728:
/* 803C1728 003BD388  6A E0 00 01 */	xori r0, r23, 1
/* 803C172C 003BD38C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C1730 003BD390  7C 70 02 14 */	add r3, r16, r0
/* 803C1734 003BD394  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1738 003BD398  2C 00 00 00 */	cmpwi r0, 0
/* 803C173C 003BD39C  41 82 00 18 */	beq lbl_803C1754
/* 803C1740 003BD3A0  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C1744 003BD3A4  2C 00 00 00 */	cmpwi r0, 0
/* 803C1748 003BD3A8  41 82 00 0C */	beq lbl_803C1754
/* 803C174C 003BD3AC  90 10 01 28 */	stw r0, 0x128(r16)
/* 803C1750 003BD3B0  3B 00 00 01 */	li r24, 1
lbl_803C1754:
/* 803C1754 003BD3B4  2C 18 00 01 */	cmpwi r24, 1
/* 803C1758 003BD3B8  40 82 00 1C */	bne lbl_803C1774
/* 803C175C 003BD3BC  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C1760 003BD3C0  38 00 00 FD */	li r0, 0xfd
/* 803C1764 003BD3C4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C1768 003BD3C8  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C176C 003BD3CC  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C1770 003BD3D0  48 00 00 10 */	b lbl_803C1780
lbl_803C1774:
/* 803C1774 003BD3D4  39 CE 00 01 */	addi r14, r14, 1
lbl_803C1778:
/* 803C1778 003BD3D8  7C 0E D0 00 */	cmpw r14, r26
/* 803C177C 003BD3DC  41 80 FE 6C */	blt lbl_803C15E8
lbl_803C1780:
/* 803C1780 003BD3E0  7C 0E D0 00 */	cmpw r14, r26
/* 803C1784 003BD3E4  40 82 03 A4 */	bne lbl_803C1B28
/* 803C1788 003BD3E8  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C178C 003BD3EC  38 03 00 01 */	addi r0, r3, 1
/* 803C1790 003BD3F0  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1794 003BD3F4  48 00 03 94 */	b lbl_803C1B28
/* 803C1798 003BD3F8  3A 40 00 00 */	li r18, 0
/* 803C179C 003BD3FC  48 00 00 EC */	b lbl_803C1888
lbl_803C17A0:
/* 803C17A0 003BD400  7C 70 92 14 */	add r3, r16, r18
/* 803C17A4 003BD404  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C17A8 003BD408  1E 37 00 C0 */	mulli r17, r23, 0xc0
/* 803C17AC 003BD40C  7D D0 8A 14 */	add r14, r16, r17
/* 803C17B0 003BD410  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C17B4 003BD414  54 00 3F FF */	rlwinm. r0, r0, 7, 0x1f, 0x1f
/* 803C17B8 003BD418  40 82 00 60 */	bne lbl_803C1818
/* 803C17BC 003BD41C  80 0E 2D 8C */	lwz r0, 0x2d8c(r14)
/* 803C17C0 003BD420  2C 00 00 00 */	cmpwi r0, 0
/* 803C17C4 003BD424  41 82 00 54 */	beq lbl_803C1818
/* 803C17C8 003BD428  7E 03 83 78 */	mr r3, r16
/* 803C17CC 003BD42C  7E E4 BB 78 */	mr r4, r23
/* 803C17D0 003BD430  4B FF E3 49 */	bl func_803BFB18
/* 803C17D4 003BD434  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C17D8 003BD438  28 00 00 70 */	cmplwi r0, 0x70
/* 803C17DC 003BD43C  40 82 00 3C */	bne lbl_803C1818
/* 803C17E0 003BD440  80 70 01 50 */	lwz r3, 0x150(r16)
/* 803C17E4 003BD444  80 0E 2D D8 */	lwz r0, 0x2dd8(r14)
/* 803C17E8 003BD448  7C 03 00 00 */	cmpw r3, r0
/* 803C17EC 003BD44C  41 81 00 2C */	bgt lbl_803C1818
/* 803C17F0 003BD450  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C17F4 003BD454  3B 00 00 01 */	li r24, 1
/* 803C17F8 003BD458  64 00 02 00 */	oris r0, r0, 0x200
/* 803C17FC 003BD45C  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C1800 003BD460  38 00 00 C4 */	li r0, 0xc4
/* 803C1804 003BD464  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C1808 003BD468  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C180C 003BD46C  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C1810 003BD470  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C1814 003BD474  48 00 00 7C */	b lbl_803C1890
lbl_803C1818:
/* 803C1818 003BD478  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C181C 003BD47C  54 00 47 FF */	rlwinm. r0, r0, 8, 0x1f, 0x1f
/* 803C1820 003BD480  40 82 00 64 */	bne lbl_803C1884
/* 803C1824 003BD484  7E 30 8A 14 */	add r17, r16, r17
/* 803C1828 003BD488  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803C182C 003BD48C  2C 00 00 00 */	cmpwi r0, 0
/* 803C1830 003BD490  41 82 00 54 */	beq lbl_803C1884
/* 803C1834 003BD494  7E 03 83 78 */	mr r3, r16
/* 803C1838 003BD498  7E E4 BB 78 */	mr r4, r23
/* 803C183C 003BD49C  4B FF E2 DD */	bl func_803BFB18
/* 803C1840 003BD4A0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1844 003BD4A4  28 00 00 70 */	cmplwi r0, 0x70
/* 803C1848 003BD4A8  40 82 00 3C */	bne lbl_803C1884
/* 803C184C 003BD4AC  80 71 2D D8 */	lwz r3, 0x2dd8(r17)
/* 803C1850 003BD4B0  80 10 01 50 */	lwz r0, 0x150(r16)
/* 803C1854 003BD4B4  7C 03 00 50 */	subf r0, r3, r0
/* 803C1858 003BD4B8  2C 00 00 05 */	cmpwi r0, 5
/* 803C185C 003BD4BC  40 82 00 28 */	bne lbl_803C1884
/* 803C1860 003BD4C0  80 0E 2D 68 */	lwz r0, 0x2d68(r14)
/* 803C1864 003BD4C4  3B 00 00 01 */	li r24, 1
/* 803C1868 003BD4C8  64 00 01 00 */	oris r0, r0, 0x100
/* 803C186C 003BD4CC  90 0E 2D 68 */	stw r0, 0x2d68(r14)
/* 803C1870 003BD4D0  38 00 00 C5 */	li r0, 0xc5
/* 803C1874 003BD4D4  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C1878 003BD4D8  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C187C 003BD4DC  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C1880 003BD4E0  48 00 00 10 */	b lbl_803C1890
lbl_803C1884:
/* 803C1884 003BD4E4  3A 52 00 01 */	addi r18, r18, 1
lbl_803C1888:
/* 803C1888 003BD4E8  7C 12 D0 00 */	cmpw r18, r26
/* 803C188C 003BD4EC  41 80 FF 14 */	blt lbl_803C17A0
lbl_803C1890:
/* 803C1890 003BD4F0  7C 12 D0 00 */	cmpw r18, r26
/* 803C1894 003BD4F4  40 82 02 94 */	bne lbl_803C1B28
/* 803C1898 003BD4F8  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C189C 003BD4FC  38 03 00 01 */	addi r0, r3, 1
/* 803C18A0 003BD500  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C18A4 003BD504  48 00 02 84 */	b lbl_803C1B28
/* 803C18A8 003BD508  39 C0 00 00 */	li r14, 0
/* 803C18AC 003BD50C  48 00 00 70 */	b lbl_803C191C
lbl_803C18B0:
/* 803C18B0 003BD510  7C 70 72 14 */	add r3, r16, r14
/* 803C18B4 003BD514  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C18B8 003BD518  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C18BC 003BD51C  7E 30 02 14 */	add r17, r16, r0
/* 803C18C0 003BD520  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C18C4 003BD524  54 00 57 FF */	rlwinm. r0, r0, 0xa, 0x1f, 0x1f
/* 803C18C8 003BD528  40 82 00 50 */	bne lbl_803C1918
/* 803C18CC 003BD52C  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803C18D0 003BD530  2C 00 00 00 */	cmpwi r0, 0
/* 803C18D4 003BD534  41 82 00 44 */	beq lbl_803C1918
/* 803C18D8 003BD538  7E 03 83 78 */	mr r3, r16
/* 803C18DC 003BD53C  7E E4 BB 78 */	mr r4, r23
/* 803C18E0 003BD540  4B FF E2 39 */	bl func_803BFB18
/* 803C18E4 003BD544  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C18E8 003BD548  28 00 00 68 */	cmplwi r0, 0x68
/* 803C18EC 003BD54C  40 82 00 2C */	bne lbl_803C1918
/* 803C18F0 003BD550  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C18F4 003BD554  3B 00 00 01 */	li r24, 1
/* 803C18F8 003BD558  64 00 00 40 */	oris r0, r0, 0x40
/* 803C18FC 003BD55C  90 11 2D 68 */	stw r0, 0x2d68(r17)
/* 803C1900 003BD560  38 00 00 B1 */	li r0, 0xb1
/* 803C1904 003BD564  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C1908 003BD568  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C190C 003BD56C  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C1910 003BD570  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C1914 003BD574  48 00 00 10 */	b lbl_803C1924
lbl_803C1918:
/* 803C1918 003BD578  39 CE 00 01 */	addi r14, r14, 1
lbl_803C191C:
/* 803C191C 003BD57C  7C 0E D0 00 */	cmpw r14, r26
/* 803C1920 003BD580  41 80 FF 90 */	blt lbl_803C18B0
lbl_803C1924:
/* 803C1924 003BD584  7C 0E D0 00 */	cmpw r14, r26
/* 803C1928 003BD588  40 82 02 00 */	bne lbl_803C1B28
/* 803C192C 003BD58C  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C1930 003BD590  38 03 00 01 */	addi r0, r3, 1
/* 803C1934 003BD594  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1938 003BD598  48 00 01 F0 */	b lbl_803C1B28
/* 803C193C 003BD59C  39 C0 00 00 */	li r14, 0
/* 803C1940 003BD5A0  48 00 00 70 */	b lbl_803C19B0
lbl_803C1944:
/* 803C1944 003BD5A4  7C 70 72 14 */	add r3, r16, r14
/* 803C1948 003BD5A8  8A E3 21 EC */	lbz r23, 0x21ec(r3)
/* 803C194C 003BD5AC  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C1950 003BD5B0  7E 30 02 14 */	add r17, r16, r0
/* 803C1954 003BD5B4  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C1958 003BD5B8  54 00 5F FF */	rlwinm. r0, r0, 0xb, 0x1f, 0x1f
/* 803C195C 003BD5BC  40 82 00 50 */	bne lbl_803C19AC
/* 803C1960 003BD5C0  80 11 2D 8C */	lwz r0, 0x2d8c(r17)
/* 803C1964 003BD5C4  2C 00 00 00 */	cmpwi r0, 0
/* 803C1968 003BD5C8  41 82 00 44 */	beq lbl_803C19AC
/* 803C196C 003BD5CC  7E 03 83 78 */	mr r3, r16
/* 803C1970 003BD5D0  7E E4 BB 78 */	mr r4, r23
/* 803C1974 003BD5D4  4B FF E1 A5 */	bl func_803BFB18
/* 803C1978 003BD5D8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C197C 003BD5DC  28 00 00 2E */	cmplwi r0, 0x2e
/* 803C1980 003BD5E0  40 82 00 2C */	bne lbl_803C19AC
/* 803C1984 003BD5E4  80 11 2D 68 */	lwz r0, 0x2d68(r17)
/* 803C1988 003BD5E8  3B 00 00 01 */	li r24, 1
/* 803C198C 003BD5EC  64 00 00 20 */	oris r0, r0, 0x20
/* 803C1990 003BD5F0  90 11 2D 68 */	stw r0, 0x2d68(r17)
/* 803C1994 003BD5F4  38 00 01 1D */	li r0, 0x11d
/* 803C1998 003BD5F8  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C199C 003BD5FC  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C19A0 003BD600  92 FB 00 0C */	stw r23, 0xc(r27)
/* 803C19A4 003BD604  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C19A8 003BD608  48 00 00 10 */	b lbl_803C19B8
lbl_803C19AC:
/* 803C19AC 003BD60C  39 CE 00 01 */	addi r14, r14, 1
lbl_803C19B0:
/* 803C19B0 003BD610  7C 0E D0 00 */	cmpw r14, r26
/* 803C19B4 003BD614  41 80 FF 90 */	blt lbl_803C1944
lbl_803C19B8:
/* 803C19B8 003BD618  7C 0E D0 00 */	cmpw r14, r26
/* 803C19BC 003BD61C  40 82 01 6C */	bne lbl_803C1B28
/* 803C19C0 003BD620  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C19C4 003BD624  38 03 00 01 */	addi r0, r3, 1
/* 803C19C8 003BD628  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C19CC 003BD62C  48 00 01 5C */	b lbl_803C1B28
/* 803C19D0 003BD630  7D E3 7B 78 */	mr r3, r15
/* 803C19D4 003BD634  7E 04 83 78 */	mr r4, r16
/* 803C19D8 003BD638  48 00 41 51 */	bl func_803C5B28
/* 803C19DC 003BD63C  2C 03 00 01 */	cmpwi r3, 1
/* 803C19E0 003BD640  40 82 00 18 */	bne lbl_803C19F8
/* 803C19E4 003BD644  38 00 01 06 */	li r0, 0x106
/* 803C19E8 003BD648  92 FB 00 18 */	stw r23, 0x18(r27)
/* 803C19EC 003BD64C  3B 00 00 01 */	li r24, 1
/* 803C19F0 003BD650  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C19F4 003BD654  48 00 01 34 */	b lbl_803C1B28
lbl_803C19F8:
/* 803C19F8 003BD658  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C19FC 003BD65C  38 03 00 01 */	addi r0, r3, 1
/* 803C1A00 003BD660  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1A04 003BD664  48 00 01 24 */	b lbl_803C1B28
/* 803C1A08 003BD668  39 C0 00 00 */	li r14, 0
/* 803C1A0C 003BD66C  48 00 00 3C */	b lbl_803C1A48
lbl_803C1A10:
/* 803C1A10 003BD670  7C 90 72 14 */	add r4, r16, r14
/* 803C1A14 003BD674  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C1A18 003BD678  8A E4 21 EC */	lbz r23, 0x21ec(r4)
/* 803C1A1C 003BD67C  1C 17 00 C0 */	mulli r0, r23, 0xc0
/* 803C1A20 003BD680  7C 90 02 14 */	add r4, r16, r0
/* 803C1A24 003BD684  A0 84 2D B8 */	lhz r4, 0x2db8(r4)
/* 803C1A28 003BD688  48 01 7D 45 */	bl func_803D976C
/* 803C1A2C 003BD68C  38 80 00 01 */	li r4, 1
/* 803C1A30 003BD690  48 01 77 FD */	bl func_803D922C
/* 803C1A34 003BD694  2C 03 00 39 */	cmpwi r3, 0x39
/* 803C1A38 003BD698  40 82 00 0C */	bne lbl_803C1A44
/* 803C1A3C 003BD69C  38 00 00 02 */	li r0, 2
/* 803C1A40 003BD6A0  90 10 21 68 */	stw r0, 0x2168(r16)
lbl_803C1A44:
/* 803C1A44 003BD6A4  39 CE 00 01 */	addi r14, r14, 1
lbl_803C1A48:
/* 803C1A48 003BD6A8  7C 0E D0 00 */	cmpw r14, r26
/* 803C1A4C 003BD6AC  41 80 FF C4 */	blt lbl_803C1A10
/* 803C1A50 003BD6B0  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C1A54 003BD6B4  38 03 00 01 */	addi r0, r3, 1
/* 803C1A58 003BD6B8  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1A5C 003BD6BC  48 00 00 CC */	b lbl_803C1B28
/* 803C1A60 003BD6C0  39 C0 00 00 */	li r14, 0
/* 803C1A64 003BD6C4  48 00 00 3C */	b lbl_803C1AA0
lbl_803C1A68:
/* 803C1A68 003BD6C8  7C 90 72 14 */	add r4, r16, r14
/* 803C1A6C 003BD6CC  7D E3 7B 78 */	mr r3, r15
/* 803C1A70 003BD6D0  8A E4 21 EC */	lbz r23, 0x21ec(r4)
/* 803C1A74 003BD6D4  7E 04 83 78 */	mr r4, r16
/* 803C1A78 003BD6D8  38 C0 00 01 */	li r6, 1
/* 803C1A7C 003BD6DC  7E E5 BB 78 */	mr r5, r23
/* 803C1A80 003BD6E0  48 00 09 85 */	bl func_803C2404
/* 803C1A84 003BD6E4  2C 03 00 01 */	cmpwi r3, 1
/* 803C1A88 003BD6E8  40 82 00 14 */	bne lbl_803C1A9C
/* 803C1A8C 003BD6EC  38 00 00 DD */	li r0, 0xdd
/* 803C1A90 003BD6F0  3B 00 00 01 */	li r24, 1
/* 803C1A94 003BD6F4  90 01 00 0C */	stw r0, 0xc(r1)
/* 803C1A98 003BD6F8  48 00 00 10 */	b lbl_803C1AA8
lbl_803C1A9C:
/* 803C1A9C 003BD6FC  39 CE 00 01 */	addi r14, r14, 1
lbl_803C1AA0:
/* 803C1AA0 003BD700  7C 0E D0 00 */	cmpw r14, r26
/* 803C1AA4 003BD704  41 80 FF C4 */	blt lbl_803C1A68
lbl_803C1AA8:
/* 803C1AA8 003BD708  7C 0E D0 00 */	cmpw r14, r26
/* 803C1AAC 003BD70C  40 82 00 7C */	bne lbl_803C1B28
/* 803C1AB0 003BD710  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C1AB4 003BD714  38 03 00 01 */	addi r0, r3, 1
/* 803C1AB8 003BD718  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1ABC 003BD71C  48 00 00 6C */	b lbl_803C1B28
/* 803C1AC0 003BD720  39 C0 00 00 */	li r14, 0
/* 803C1AC4 003BD724  48 00 00 38 */	b lbl_803C1AFC
lbl_803C1AC8:
/* 803C1AC8 003BD728  7C 90 72 14 */	add r4, r16, r14
/* 803C1ACC 003BD72C  7D E3 7B 78 */	mr r3, r15
/* 803C1AD0 003BD730  8A E4 21 EC */	lbz r23, 0x21ec(r4)
/* 803C1AD4 003BD734  7E 04 83 78 */	mr r4, r16
/* 803C1AD8 003BD738  38 C1 00 0C */	addi r6, r1, 0xc
/* 803C1ADC 003BD73C  7E E5 BB 78 */	mr r5, r23
/* 803C1AE0 003BD740  48 00 18 79 */	bl func_803C3358
/* 803C1AE4 003BD744  2C 03 00 01 */	cmpwi r3, 1
/* 803C1AE8 003BD748  40 82 00 10 */	bne lbl_803C1AF8
/* 803C1AEC 003BD74C  92 F0 01 18 */	stw r23, 0x118(r16)
/* 803C1AF0 003BD750  3B 00 00 01 */	li r24, 1
/* 803C1AF4 003BD754  48 00 00 10 */	b lbl_803C1B04
lbl_803C1AF8:
/* 803C1AF8 003BD758  39 CE 00 01 */	addi r14, r14, 1
lbl_803C1AFC:
/* 803C1AFC 003BD75C  7C 0E D0 00 */	cmpw r14, r26
/* 803C1B00 003BD760  41 80 FF C8 */	blt lbl_803C1AC8
lbl_803C1B04:
/* 803C1B04 003BD764  7C 0E D0 00 */	cmpw r14, r26
/* 803C1B08 003BD768  40 82 00 20 */	bne lbl_803C1B28
/* 803C1B0C 003BD76C  80 70 00 58 */	lwz r3, 0x58(r16)
/* 803C1B10 003BD770  38 03 00 01 */	addi r0, r3, 1
/* 803C1B14 003BD774  90 10 00 58 */	stw r0, 0x58(r16)
/* 803C1B18 003BD778  48 00 00 10 */	b lbl_803C1B28
/* 803C1B1C 003BD77C  38 00 00 00 */	li r0, 0
/* 803C1B20 003BD780  3B 00 00 02 */	li r24, 2
/* 803C1B24 003BD784  90 10 00 58 */	stw r0, 0x58(r16)
lbl_803C1B28:
/* 803C1B28 003BD788  2C 18 00 00 */	cmpwi r24, 0
/* 803C1B2C 003BD78C  41 82 F0 A8 */	beq lbl_803C0BD4
/* 803C1B30 003BD790  39 61 00 60 */	addi r11, r1, 0x60
/* 803C1B34 003BD794  80 61 00 0C */	lwz r3, 0xc(r1)
/* 803C1B38 003BD798  4B E0 56 09 */	bl __restore_gpr
/* 803C1B3C 003BD79C  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803C1B40 003BD7A0  7C 08 03 A6 */	mtlr r0
/* 803C1B44 003BD7A4  38 21 00 60 */	addi r1, r1, 0x60
/* 803C1B48 003BD7A8  4E 80 00 20 */	blr 

.global func_803C1B4C
func_803C1B4C:
/* 803C1B4C 003BD7AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C1B50 003BD7B0  7C 08 02 A6 */	mflr r0
/* 803C1B54 003BD7B4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C1B58 003BD7B8  39 61 00 20 */	addi r11, r1, 0x20
/* 803C1B5C 003BD7BC  4B E0 55 D5 */	bl _savegpr_29
/* 803C1B60 003BD7C0  7C 7D 1B 78 */	mr r29, r3
/* 803C1B64 003BD7C4  7C 9E 23 78 */	mr r30, r4
/* 803C1B68 003BD7C8  7C BF 2B 78 */	mr r31, r5
/* 803C1B6C 003BD7CC  4B FE AC D5 */	bl func_803AC840
/* 803C1B70 003BD7D0  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C1B74 003BD7D4  41 82 00 64 */	beq lbl_803C1BD8
/* 803C1B78 003BD7D8  7F A3 EB 78 */	mr r3, r29
/* 803C1B7C 003BD7DC  7F E4 FB 78 */	mr r4, r31
/* 803C1B80 003BD7E0  38 A0 00 00 */	li r5, 0
/* 803C1B84 003BD7E4  4B FE B2 55 */	bl func_803ACDD8
/* 803C1B88 003BD7E8  90 61 00 08 */	stw r3, 8(r1)
/* 803C1B8C 003BD7EC  7F A3 EB 78 */	mr r3, r29
/* 803C1B90 003BD7F0  7F E4 FB 78 */	mr r4, r31
/* 803C1B94 003BD7F4  38 A0 00 02 */	li r5, 2
/* 803C1B98 003BD7F8  4B FE B2 41 */	bl func_803ACDD8
/* 803C1B9C 003BD7FC  90 61 00 0C */	stw r3, 0xc(r1)
/* 803C1BA0 003BD800  48 01 7C 19 */	bl func_803D97B8
/* 803C1BA4 003BD804  54 60 17 7A */	rlwinm r0, r3, 2, 0x1d, 0x1d
/* 803C1BA8 003BD808  38 81 00 08 */	addi r4, r1, 8
/* 803C1BAC 003BD80C  7C A4 00 2E */	lwzx r5, r4, r0
/* 803C1BB0 003BD810  54 66 07 FE */	clrlwi r6, r3, 0x1f
/* 803C1BB4 003BD814  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803C1BB8 003BD818  7C 7E 02 14 */	add r3, r30, r0
/* 803C1BBC 003BD81C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1BC0 003BD820  2C 00 00 00 */	cmpwi r0, 0
/* 803C1BC4 003BD824  40 82 00 18 */	bne lbl_803C1BDC
/* 803C1BC8 003BD828  68 C0 00 01 */	xori r0, r6, 1
/* 803C1BCC 003BD82C  54 00 10 3A */	slwi r0, r0, 2
/* 803C1BD0 003BD830  7C A4 00 2E */	lwzx r5, r4, r0
/* 803C1BD4 003BD834  48 00 00 08 */	b lbl_803C1BDC
lbl_803C1BD8:
/* 803C1BD8 003BD838  6B E5 00 01 */	xori r5, r31, 1
lbl_803C1BDC:
/* 803C1BDC 003BD83C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C1BE0 003BD840  7C A3 2B 78 */	mr r3, r5
/* 803C1BE4 003BD844  4B E0 55 99 */	bl _restgpr_29
/* 803C1BE8 003BD848  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C1BEC 003BD84C  7C 08 03 A6 */	mtlr r0
/* 803C1BF0 003BD850  38 21 00 20 */	addi r1, r1, 0x20
/* 803C1BF4 003BD854  4E 80 00 20 */	blr 

.global func_803C1BF8
func_803C1BF8:
/* 803C1BF8 003BD858  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C1BFC 003BD85C  7C 08 02 A6 */	mflr r0
/* 803C1C00 003BD860  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C1C04 003BD864  39 61 00 20 */	addi r11, r1, 0x20
/* 803C1C08 003BD868  4B E0 55 25 */	bl _savegpr_28
/* 803C1C0C 003BD86C  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803C1C10 003BD870  7C 7E 1B 78 */	mr r30, r3
/* 803C1C14 003BD874  7C 9C 23 78 */	mr r28, r4
/* 803C1C18 003BD878  7C BD 2B 78 */	mr r29, r5
/* 803C1C1C 003BD87C  2C 00 00 FF */	cmpwi r0, 0xff
/* 803C1C20 003BD880  3B E0 00 00 */	li r31, 0
/* 803C1C24 003BD884  40 82 00 0C */	bne lbl_803C1C30
/* 803C1C28 003BD888  38 60 00 00 */	li r3, 0
/* 803C1C2C 003BD88C  48 00 07 C0 */	b lbl_803C23EC
lbl_803C1C30:
/* 803C1C30 003BD890  7F 83 E3 78 */	mr r3, r28
/* 803C1C34 003BD894  7C 04 03 78 */	mr r4, r0
/* 803C1C38 003BD898  48 00 3E 0D */	bl func_803C5A44
/* 803C1C3C 003BD89C  2C 03 00 01 */	cmpwi r3, 1
/* 803C1C40 003BD8A0  40 82 00 0C */	bne lbl_803C1C4C
/* 803C1C44 003BD8A4  38 60 00 00 */	li r3, 0
/* 803C1C48 003BD8A8  48 00 07 A4 */	b lbl_803C23EC
lbl_803C1C4C:
/* 803C1C4C 003BD8AC  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C1C50 003BD8B0  7F 83 E3 78 */	mr r3, r28
/* 803C1C54 003BD8B4  4B FF DE C5 */	bl func_803BFB18
/* 803C1C58 003BD8B8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1C5C 003BD8BC  2C 00 00 26 */	cmpwi r0, 0x26
/* 803C1C60 003BD8C0  41 82 04 20 */	beq lbl_803C2080
/* 803C1C64 003BD8C4  40 80 00 34 */	bge lbl_803C1C98
/* 803C1C68 003BD8C8  2C 00 00 18 */	cmpwi r0, 0x18
/* 803C1C6C 003BD8CC  41 82 02 28 */	beq lbl_803C1E94
/* 803C1C70 003BD8D0  40 80 00 1C */	bge lbl_803C1C8C
/* 803C1C74 003BD8D4  2C 00 00 10 */	cmpwi r0, 0x10
/* 803C1C78 003BD8D8  41 82 01 18 */	beq lbl_803C1D90
/* 803C1C7C 003BD8DC  40 80 07 54 */	bge lbl_803C23D0
/* 803C1C80 003BD8E0  2C 00 00 09 */	cmpwi r0, 9
/* 803C1C84 003BD8E4  41 82 00 38 */	beq lbl_803C1CBC
/* 803C1C88 003BD8E8  48 00 07 48 */	b lbl_803C23D0
lbl_803C1C8C:
/* 803C1C8C 003BD8EC  2C 00 00 1B */	cmpwi r0, 0x1b
/* 803C1C90 003BD8F0  41 82 02 D0 */	beq lbl_803C1F60
/* 803C1C94 003BD8F4  48 00 07 3C */	b lbl_803C23D0
lbl_803C1C98:
/* 803C1C98 003BD8F8  2C 00 00 38 */	cmpwi r0, 0x38
/* 803C1C9C 003BD8FC  41 82 05 8C */	beq lbl_803C2228
/* 803C1CA0 003BD900  40 80 00 10 */	bge lbl_803C1CB0
/* 803C1CA4 003BD904  2C 00 00 31 */	cmpwi r0, 0x31
/* 803C1CA8 003BD908  41 82 04 AC */	beq lbl_803C2154
/* 803C1CAC 003BD90C  48 00 07 24 */	b lbl_803C23D0
lbl_803C1CB0:
/* 803C1CB0 003BD910  2C 00 00 6A */	cmpwi r0, 0x6a
/* 803C1CB4 003BD914  41 82 06 5C */	beq lbl_803C2310
/* 803C1CB8 003BD918  48 00 07 18 */	b lbl_803C23D0
lbl_803C1CBC:
/* 803C1CBC 003BD91C  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C1CC0 003BD920  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C1CC4 003BD924  7C 7C 02 14 */	add r3, r28, r0
/* 803C1CC8 003BD928  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1CCC 003BD92C  2C 00 00 00 */	cmpwi r0, 0
/* 803C1CD0 003BD930  41 82 07 00 */	beq lbl_803C23D0
/* 803C1CD4 003BD934  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C1CD8 003BD938  2C 00 00 00 */	cmpwi r0, 0
/* 803C1CDC 003BD93C  40 82 06 F4 */	bne lbl_803C23D0
/* 803C1CE0 003BD940  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C1CE4 003BD944  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C1CE8 003BD948  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C1CEC 003BD94C  7C 80 00 39 */	and. r0, r4, r0
/* 803C1CF0 003BD950  40 82 06 E0 */	bne lbl_803C23D0
/* 803C1CF4 003BD954  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C1CF8 003BD958  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C1CFC 003BD95C  40 82 06 D4 */	bne lbl_803C23D0
/* 803C1D00 003BD960  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C1D04 003BD964  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C1D08 003BD968  40 82 06 C8 */	bne lbl_803C23D0
/* 803C1D0C 003BD96C  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C1D10 003BD970  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C1D14 003BD974  7C 7C 02 14 */	add r3, r28, r0
/* 803C1D18 003BD978  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C1D1C 003BD97C  2C 00 00 00 */	cmpwi r0, 0
/* 803C1D20 003BD980  40 82 00 10 */	bne lbl_803C1D30
/* 803C1D24 003BD984  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C1D28 003BD988  2C 00 00 00 */	cmpwi r0, 0
/* 803C1D2C 003BD98C  41 82 06 A4 */	beq lbl_803C23D0
lbl_803C1D30:
/* 803C1D30 003BD990  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C1D34 003BD994  54 00 20 36 */	slwi r0, r0, 4
/* 803C1D38 003BD998  7C 7C 02 14 */	add r3, r28, r0
/* 803C1D3C 003BD99C  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C1D40 003BD9A0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C1D44 003BD9A4  41 82 06 8C */	beq lbl_803C23D0
/* 803C1D48 003BD9A8  48 01 7A 71 */	bl func_803D97B8
/* 803C1D4C 003BD9AC  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C1D50 003BD9B0  38 60 00 0A */	li r3, 0xa
/* 803C1D54 003BD9B4  7C 04 1B D6 */	divw r0, r4, r3
/* 803C1D58 003BD9B8  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C1D5C 003BD9BC  7C 00 20 50 */	subf r0, r0, r4
/* 803C1D60 003BD9C0  2C 00 00 03 */	cmpwi r0, 3
/* 803C1D64 003BD9C4  40 80 06 6C */	bge lbl_803C23D0
/* 803C1D68 003BD9C8  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C1D6C 003BD9CC  38 A0 00 03 */	li r5, 3
/* 803C1D70 003BD9D0  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C1D74 003BD9D4  38 00 00 1F */	li r0, 0x1f
/* 803C1D78 003BD9D8  90 BC 00 88 */	stw r5, 0x88(r28)
/* 803C1D7C 003BD9DC  3B E0 00 01 */	li r31, 1
/* 803C1D80 003BD9E0  90 9C 00 94 */	stw r4, 0x94(r28)
/* 803C1D84 003BD9E4  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C1D88 003BD9E8  90 1D 00 00 */	stw r0, 0(r29)
/* 803C1D8C 003BD9EC  48 00 06 44 */	b lbl_803C23D0
lbl_803C1D90:
/* 803C1D90 003BD9F0  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C1D94 003BD9F4  7F 83 E3 78 */	mr r3, r28
/* 803C1D98 003BD9F8  4B FF DD 81 */	bl func_803BFB18
/* 803C1D9C 003BD9FC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1DA0 003BDA00  28 00 00 60 */	cmplwi r0, 0x60
/* 803C1DA4 003BDA04  40 82 00 0C */	bne lbl_803C1DB0
/* 803C1DA8 003BDA08  3B C0 00 00 */	li r30, 0
/* 803C1DAC 003BDA0C  48 00 00 28 */	b lbl_803C1DD4
lbl_803C1DB0:
/* 803C1DB0 003BDA10  80 1C 21 60 */	lwz r0, 0x2160(r28)
/* 803C1DB4 003BDA14  2C 00 00 00 */	cmpwi r0, 0
/* 803C1DB8 003BDA18  41 82 00 0C */	beq lbl_803C1DC4
/* 803C1DBC 003BDA1C  54 1E 06 3E */	clrlwi r30, r0, 0x18
/* 803C1DC0 003BDA20  48 00 00 14 */	b lbl_803C1DD4
lbl_803C1DC4:
/* 803C1DC4 003BDA24  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C1DC8 003BDA28  54 00 20 36 */	slwi r0, r0, 4
/* 803C1DCC 003BDA2C  7C 7C 02 14 */	add r3, r28, r0
/* 803C1DD0 003BDA30  8B C3 03 E2 */	lbz r30, 0x3e2(r3)
lbl_803C1DD4:
/* 803C1DD4 003BDA34  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C1DD8 003BDA38  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C1DDC 003BDA3C  7C 7C 02 14 */	add r3, r28, r0
/* 803C1DE0 003BDA40  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1DE4 003BDA44  2C 00 00 00 */	cmpwi r0, 0
/* 803C1DE8 003BDA48  41 82 05 E8 */	beq lbl_803C23D0
/* 803C1DEC 003BDA4C  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C1DF0 003BDA50  80 BC 21 6C */	lwz r5, 0x216c(r28)
/* 803C1DF4 003BDA54  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C1DF8 003BDA58  7C A0 00 39 */	and. r0, r5, r0
/* 803C1DFC 003BDA5C  40 82 05 D4 */	bne lbl_803C23D0
/* 803C1E00 003BDA60  80 BC 30 44 */	lwz r5, 0x3044(r28)
/* 803C1E04 003BDA64  28 05 00 A5 */	cmplwi r5, 0xa5
/* 803C1E08 003BDA68  41 82 05 C8 */	beq lbl_803C23D0
/* 803C1E0C 003BDA6C  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803C1E10 003BDA70  7C 7C 02 14 */	add r3, r28, r0
/* 803C1E14 003BDA74  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C1E18 003BDA78  2C 00 00 00 */	cmpwi r0, 0
/* 803C1E1C 003BDA7C  40 82 00 10 */	bne lbl_803C1E2C
/* 803C1E20 003BDA80  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C1E24 003BDA84  2C 00 00 00 */	cmpwi r0, 0
/* 803C1E28 003BDA88  41 82 05 A8 */	beq lbl_803C23D0
lbl_803C1E2C:
/* 803C1E2C 003BDA8C  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C1E30 003BDA90  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C1E34 003BDA94  40 82 05 9C */	bne lbl_803C23D0
/* 803C1E38 003BDA98  54 A0 20 36 */	slwi r0, r5, 4
/* 803C1E3C 003BDA9C  7C 7C 02 14 */	add r3, r28, r0
/* 803C1E40 003BDAA0  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803C1E44 003BDAA4  2C 00 00 00 */	cmpwi r0, 0
/* 803C1E48 003BDAA8  41 82 05 88 */	beq lbl_803C23D0
/* 803C1E4C 003BDAAC  7F 83 E3 78 */	mr r3, r28
/* 803C1E50 003BDAB0  38 A0 00 1B */	li r5, 0x1b
/* 803C1E54 003BDAB4  38 C0 00 00 */	li r6, 0
/* 803C1E58 003BDAB8  4B FF 8E 4D */	bl func_803BACA4
/* 803C1E5C 003BDABC  7C 1E 18 00 */	cmpw r30, r3
/* 803C1E60 003BDAC0  41 82 05 70 */	beq lbl_803C23D0
/* 803C1E64 003BDAC4  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C1E68 003BDAC8  7F 83 E3 78 */	mr r3, r28
/* 803C1E6C 003BDACC  38 A0 00 1C */	li r5, 0x1c
/* 803C1E70 003BDAD0  38 C0 00 00 */	li r6, 0
/* 803C1E74 003BDAD4  4B FF 8E 31 */	bl func_803BACA4
/* 803C1E78 003BDAD8  7C 1E 18 00 */	cmpw r30, r3
/* 803C1E7C 003BDADC  41 82 05 54 */	beq lbl_803C23D0
/* 803C1E80 003BDAE0  38 00 00 BC */	li r0, 0xbc
/* 803C1E84 003BDAE4  3B E0 00 01 */	li r31, 1
/* 803C1E88 003BDAE8  90 1D 00 00 */	stw r0, 0(r29)
/* 803C1E8C 003BDAEC  93 DC 01 30 */	stw r30, 0x130(r28)
/* 803C1E90 003BDAF0  48 00 05 40 */	b lbl_803C23D0
lbl_803C1E94:
/* 803C1E94 003BDAF4  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C1E98 003BDAF8  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C1E9C 003BDAFC  7C 7C 02 14 */	add r3, r28, r0
/* 803C1EA0 003BDB00  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1EA4 003BDB04  2C 00 00 00 */	cmpwi r0, 0
/* 803C1EA8 003BDB08  41 82 05 28 */	beq lbl_803C23D0
/* 803C1EAC 003BDB0C  7F 83 E3 78 */	mr r3, r28
/* 803C1EB0 003BDB10  4B FF DC 69 */	bl func_803BFB18
/* 803C1EB4 003BDB14  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C1EB8 003BDB18  28 00 00 62 */	cmplwi r0, 0x62
/* 803C1EBC 003BDB1C  41 82 05 14 */	beq lbl_803C23D0
/* 803C1EC0 003BDB20  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C1EC4 003BDB24  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C1EC8 003BDB28  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C1ECC 003BDB2C  7C 80 00 39 */	and. r0, r4, r0
/* 803C1ED0 003BDB30  40 82 05 00 */	bne lbl_803C23D0
/* 803C1ED4 003BDB34  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C1ED8 003BDB38  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C1EDC 003BDB3C  40 82 04 F4 */	bne lbl_803C23D0
/* 803C1EE0 003BDB40  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C1EE4 003BDB44  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C1EE8 003BDB48  40 82 04 E8 */	bne lbl_803C23D0
/* 803C1EEC 003BDB4C  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C1EF0 003BDB50  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C1EF4 003BDB54  7C 7C 02 14 */	add r3, r28, r0
/* 803C1EF8 003BDB58  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C1EFC 003BDB5C  2C 00 00 00 */	cmpwi r0, 0
/* 803C1F00 003BDB60  40 82 00 10 */	bne lbl_803C1F10
/* 803C1F04 003BDB64  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C1F08 003BDB68  2C 00 00 00 */	cmpwi r0, 0
/* 803C1F0C 003BDB6C  41 82 04 C4 */	beq lbl_803C23D0
lbl_803C1F10:
/* 803C1F10 003BDB70  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C1F14 003BDB74  54 00 20 36 */	slwi r0, r0, 4
/* 803C1F18 003BDB78  7C 7C 02 14 */	add r3, r28, r0
/* 803C1F1C 003BDB7C  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C1F20 003BDB80  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C1F24 003BDB84  41 82 04 AC */	beq lbl_803C23D0
/* 803C1F28 003BDB88  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C1F2C 003BDB8C  38 80 00 08 */	li r4, 8
/* 803C1F30 003BDB90  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C1F34 003BDB94  7C 7C 02 14 */	add r3, r28, r0
/* 803C1F38 003BDB98  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C1F3C 003BDB9C  1C 60 FF FF */	mulli r3, r0, -1
/* 803C1F40 003BDBA0  4B FF EC 29 */	bl func_803C0B68
/* 803C1F44 003BDBA4  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C1F48 003BDBA8  38 00 00 BD */	li r0, 0xbd
/* 803C1F4C 003BDBAC  90 7C 21 5C */	stw r3, 0x215c(r28)
/* 803C1F50 003BDBB0  3B E0 00 01 */	li r31, 1
/* 803C1F54 003BDBB4  90 9C 01 18 */	stw r4, 0x118(r28)
/* 803C1F58 003BDBB8  90 1D 00 00 */	stw r0, 0(r29)
/* 803C1F5C 003BDBBC  48 00 04 74 */	b lbl_803C23D0
lbl_803C1F60:
/* 803C1F60 003BDBC0  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C1F64 003BDBC4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C1F68 003BDBC8  7C 7C 02 14 */	add r3, r28, r0
/* 803C1F6C 003BDBCC  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C1F70 003BDBD0  2C 00 00 00 */	cmpwi r0, 0
/* 803C1F74 003BDBD4  41 82 04 5C */	beq lbl_803C23D0
/* 803C1F78 003BDBD8  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C1F7C 003BDBDC  2C 00 00 00 */	cmpwi r0, 0
/* 803C1F80 003BDBE0  40 82 04 50 */	bne lbl_803C23D0
/* 803C1F84 003BDBE4  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C1F88 003BDBE8  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C1F8C 003BDBEC  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C1F90 003BDBF0  7C 80 00 39 */	and. r0, r4, r0
/* 803C1F94 003BDBF4  40 82 04 3C */	bne lbl_803C23D0
/* 803C1F98 003BDBF8  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C1F9C 003BDBFC  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C1FA0 003BDC00  40 82 04 30 */	bne lbl_803C23D0
/* 803C1FA4 003BDC04  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C1FA8 003BDC08  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C1FAC 003BDC0C  40 82 04 24 */	bne lbl_803C23D0
/* 803C1FB0 003BDC10  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C1FB4 003BDC14  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C1FB8 003BDC18  7C 7C 02 14 */	add r3, r28, r0
/* 803C1FBC 003BDC1C  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C1FC0 003BDC20  2C 00 00 00 */	cmpwi r0, 0
/* 803C1FC4 003BDC24  40 82 00 10 */	bne lbl_803C1FD4
/* 803C1FC8 003BDC28  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C1FCC 003BDC2C  2C 00 00 00 */	cmpwi r0, 0
/* 803C1FD0 003BDC30  41 82 04 00 */	beq lbl_803C23D0
lbl_803C1FD4:
/* 803C1FD4 003BDC34  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C1FD8 003BDC38  54 00 20 36 */	slwi r0, r0, 4
/* 803C1FDC 003BDC3C  7C 7C 02 14 */	add r3, r28, r0
/* 803C1FE0 003BDC40  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C1FE4 003BDC44  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C1FE8 003BDC48  41 82 03 E8 */	beq lbl_803C23D0
/* 803C1FEC 003BDC4C  48 01 77 CD */	bl func_803D97B8
/* 803C1FF0 003BDC50  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C1FF4 003BDC54  38 60 00 0A */	li r3, 0xa
/* 803C1FF8 003BDC58  7C 04 1B D6 */	divw r0, r4, r3
/* 803C1FFC 003BDC5C  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C2000 003BDC60  7C 00 20 50 */	subf r0, r0, r4
/* 803C2004 003BDC64  2C 00 00 03 */	cmpwi r0, 3
/* 803C2008 003BDC68  40 80 03 C8 */	bge lbl_803C23D0
/* 803C200C 003BDC6C  48 01 77 AD */	bl func_803D97B8
/* 803C2010 003BDC70  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C2014 003BDC74  38 60 00 03 */	li r3, 3
/* 803C2018 003BDC78  7C 04 1B D6 */	divw r0, r4, r3
/* 803C201C 003BDC7C  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C2020 003BDC80  7C 00 20 50 */	subf r0, r0, r4
/* 803C2024 003BDC84  2C 00 00 01 */	cmpwi r0, 1
/* 803C2028 003BDC88  41 82 00 24 */	beq lbl_803C204C
/* 803C202C 003BDC8C  40 80 00 08 */	bge lbl_803C2034
/* 803C2030 003BDC90  48 00 00 10 */	b lbl_803C2040
lbl_803C2034:
/* 803C2034 003BDC94  2C 00 00 03 */	cmpwi r0, 3
/* 803C2038 003BDC98  40 80 00 08 */	bge lbl_803C2040
/* 803C203C 003BDC9C  48 00 00 1C */	b lbl_803C2058
lbl_803C2040:
/* 803C2040 003BDCA0  38 00 00 16 */	li r0, 0x16
/* 803C2044 003BDCA4  90 1D 00 00 */	stw r0, 0(r29)
/* 803C2048 003BDCA8  48 00 00 18 */	b lbl_803C2060
lbl_803C204C:
/* 803C204C 003BDCAC  38 00 00 1F */	li r0, 0x1f
/* 803C2050 003BDCB0  90 1D 00 00 */	stw r0, 0(r29)
/* 803C2054 003BDCB4  48 00 00 0C */	b lbl_803C2060
lbl_803C2058:
/* 803C2058 003BDCB8  38 00 00 12 */	li r0, 0x12
/* 803C205C 003BDCBC  90 1D 00 00 */	stw r0, 0(r29)
lbl_803C2060:
/* 803C2060 003BDCC0  80 7C 00 64 */	lwz r3, 0x64(r28)
/* 803C2064 003BDCC4  38 80 00 03 */	li r4, 3
/* 803C2068 003BDCC8  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C206C 003BDCCC  3B E0 00 01 */	li r31, 1
/* 803C2070 003BDCD0  90 9C 00 88 */	stw r4, 0x88(r28)
/* 803C2074 003BDCD4  90 7C 00 94 */	stw r3, 0x94(r28)
/* 803C2078 003BDCD8  90 1C 01 18 */	stw r0, 0x118(r28)
/* 803C207C 003BDCDC  48 00 03 54 */	b lbl_803C23D0
lbl_803C2080:
/* 803C2080 003BDCE0  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C2084 003BDCE4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C2088 003BDCE8  7C 7C 02 14 */	add r3, r28, r0
/* 803C208C 003BDCEC  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C2090 003BDCF0  2C 00 00 00 */	cmpwi r0, 0
/* 803C2094 003BDCF4  41 82 03 3C */	beq lbl_803C23D0
/* 803C2098 003BDCF8  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C209C 003BDCFC  2C 00 00 00 */	cmpwi r0, 0
/* 803C20A0 003BDD00  40 82 03 30 */	bne lbl_803C23D0
/* 803C20A4 003BDD04  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C20A8 003BDD08  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C20AC 003BDD0C  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C20B0 003BDD10  7C 80 00 39 */	and. r0, r4, r0
/* 803C20B4 003BDD14  40 82 03 1C */	bne lbl_803C23D0
/* 803C20B8 003BDD18  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C20BC 003BDD1C  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C20C0 003BDD20  40 82 03 10 */	bne lbl_803C23D0
/* 803C20C4 003BDD24  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C20C8 003BDD28  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C20CC 003BDD2C  40 82 03 04 */	bne lbl_803C23D0
/* 803C20D0 003BDD30  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C20D4 003BDD34  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C20D8 003BDD38  7C 7C 02 14 */	add r3, r28, r0
/* 803C20DC 003BDD3C  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C20E0 003BDD40  2C 00 00 00 */	cmpwi r0, 0
/* 803C20E4 003BDD44  40 82 00 10 */	bne lbl_803C20F4
/* 803C20E8 003BDD48  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C20EC 003BDD4C  2C 00 00 00 */	cmpwi r0, 0
/* 803C20F0 003BDD50  41 82 02 E0 */	beq lbl_803C23D0
lbl_803C20F4:
/* 803C20F4 003BDD54  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C20F8 003BDD58  54 00 20 36 */	slwi r0, r0, 4
/* 803C20FC 003BDD5C  7C 7C 02 14 */	add r3, r28, r0
/* 803C2100 003BDD60  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C2104 003BDD64  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C2108 003BDD68  41 82 02 C8 */	beq lbl_803C23D0
/* 803C210C 003BDD6C  48 01 76 AD */	bl func_803D97B8
/* 803C2110 003BDD70  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C2114 003BDD74  38 60 00 0A */	li r3, 0xa
/* 803C2118 003BDD78  7C 04 1B D6 */	divw r0, r4, r3
/* 803C211C 003BDD7C  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C2120 003BDD80  7C 00 20 50 */	subf r0, r0, r4
/* 803C2124 003BDD84  2C 00 00 03 */	cmpwi r0, 3
/* 803C2128 003BDD88  40 80 02 A8 */	bge lbl_803C23D0
/* 803C212C 003BDD8C  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C2130 003BDD90  38 A0 00 03 */	li r5, 3
/* 803C2134 003BDD94  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C2138 003BDD98  38 00 00 16 */	li r0, 0x16
/* 803C213C 003BDD9C  90 BC 00 88 */	stw r5, 0x88(r28)
/* 803C2140 003BDDA0  3B E0 00 01 */	li r31, 1
/* 803C2144 003BDDA4  90 9C 00 94 */	stw r4, 0x94(r28)
/* 803C2148 003BDDA8  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C214C 003BDDAC  90 1D 00 00 */	stw r0, 0(r29)
/* 803C2150 003BDDB0  48 00 02 80 */	b lbl_803C23D0
lbl_803C2154:
/* 803C2154 003BDDB4  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C2158 003BDDB8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C215C 003BDDBC  7C 7C 02 14 */	add r3, r28, r0
/* 803C2160 003BDDC0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C2164 003BDDC4  2C 00 00 00 */	cmpwi r0, 0
/* 803C2168 003BDDC8  41 82 02 68 */	beq lbl_803C23D0
/* 803C216C 003BDDCC  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C2170 003BDDD0  2C 00 00 00 */	cmpwi r0, 0
/* 803C2174 003BDDD4  40 82 02 5C */	bne lbl_803C23D0
/* 803C2178 003BDDD8  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C217C 003BDDDC  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C2180 003BDDE0  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C2184 003BDDE4  7C 80 00 39 */	and. r0, r4, r0
/* 803C2188 003BDDE8  40 82 02 48 */	bne lbl_803C23D0
/* 803C218C 003BDDEC  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C2190 003BDDF0  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C2194 003BDDF4  40 82 02 3C */	bne lbl_803C23D0
/* 803C2198 003BDDF8  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C219C 003BDDFC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C21A0 003BDE00  40 82 02 30 */	bne lbl_803C23D0
/* 803C21A4 003BDE04  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C21A8 003BDE08  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C21AC 003BDE0C  7C 7C 02 14 */	add r3, r28, r0
/* 803C21B0 003BDE10  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C21B4 003BDE14  2C 00 00 00 */	cmpwi r0, 0
/* 803C21B8 003BDE18  40 82 00 10 */	bne lbl_803C21C8
/* 803C21BC 003BDE1C  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C21C0 003BDE20  2C 00 00 00 */	cmpwi r0, 0
/* 803C21C4 003BDE24  41 82 02 0C */	beq lbl_803C23D0
lbl_803C21C8:
/* 803C21C8 003BDE28  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C21CC 003BDE2C  54 00 20 36 */	slwi r0, r0, 4
/* 803C21D0 003BDE30  7C 7C 02 14 */	add r3, r28, r0
/* 803C21D4 003BDE34  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C21D8 003BDE38  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C21DC 003BDE3C  41 82 01 F4 */	beq lbl_803C23D0
/* 803C21E0 003BDE40  48 01 75 D9 */	bl func_803D97B8
/* 803C21E4 003BDE44  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C21E8 003BDE48  38 60 00 0A */	li r3, 0xa
/* 803C21EC 003BDE4C  7C 04 1B D6 */	divw r0, r4, r3
/* 803C21F0 003BDE50  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C21F4 003BDE54  7C 00 20 50 */	subf r0, r0, r4
/* 803C21F8 003BDE58  2C 00 00 03 */	cmpwi r0, 3
/* 803C21FC 003BDE5C  40 80 01 D4 */	bge lbl_803C23D0
/* 803C2200 003BDE60  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C2204 003BDE64  38 A0 00 03 */	li r5, 3
/* 803C2208 003BDE68  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C220C 003BDE6C  38 00 00 19 */	li r0, 0x19
/* 803C2210 003BDE70  90 BC 00 88 */	stw r5, 0x88(r28)
/* 803C2214 003BDE74  3B E0 00 01 */	li r31, 1
/* 803C2218 003BDE78  90 9C 00 94 */	stw r4, 0x94(r28)
/* 803C221C 003BDE7C  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C2220 003BDE80  90 1D 00 00 */	stw r0, 0(r29)
/* 803C2224 003BDE84  48 00 01 AC */	b lbl_803C23D0
lbl_803C2228:
/* 803C2228 003BDE88  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C222C 003BDE8C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C2230 003BDE90  7C 7C 02 14 */	add r3, r28, r0
/* 803C2234 003BDE94  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C2238 003BDE98  2C 00 00 00 */	cmpwi r0, 0
/* 803C223C 003BDE9C  41 82 01 94 */	beq lbl_803C23D0
/* 803C2240 003BDEA0  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C2244 003BDEA4  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803C2248 003BDEA8  40 82 01 88 */	bne lbl_803C23D0
/* 803C224C 003BDEAC  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C2250 003BDEB0  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C2254 003BDEB4  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C2258 003BDEB8  7C 80 00 39 */	and. r0, r4, r0
/* 803C225C 003BDEBC  40 82 01 74 */	bne lbl_803C23D0
/* 803C2260 003BDEC0  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C2264 003BDEC4  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C2268 003BDEC8  40 82 01 68 */	bne lbl_803C23D0
/* 803C226C 003BDECC  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C2270 003BDED0  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C2274 003BDED4  40 82 01 5C */	bne lbl_803C23D0
/* 803C2278 003BDED8  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C227C 003BDEDC  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803C2280 003BDEE0  7C 7C 02 14 */	add r3, r28, r0
/* 803C2284 003BDEE4  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C2288 003BDEE8  2C 00 00 00 */	cmpwi r0, 0
/* 803C228C 003BDEEC  40 82 00 10 */	bne lbl_803C229C
/* 803C2290 003BDEF0  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C2294 003BDEF4  2C 00 00 00 */	cmpwi r0, 0
/* 803C2298 003BDEF8  41 82 01 38 */	beq lbl_803C23D0
lbl_803C229C:
/* 803C229C 003BDEFC  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C22A0 003BDF00  54 00 20 36 */	slwi r0, r0, 4
/* 803C22A4 003BDF04  7C 7C 02 14 */	add r3, r28, r0
/* 803C22A8 003BDF08  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C22AC 003BDF0C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C22B0 003BDF10  41 82 01 20 */	beq lbl_803C23D0
/* 803C22B4 003BDF14  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C22B8 003BDF18  7C 7C 02 14 */	add r3, r28, r0
/* 803C22BC 003BDF1C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C22C0 003BDF20  2C 00 00 00 */	cmpwi r0, 0
/* 803C22C4 003BDF24  41 82 01 0C */	beq lbl_803C23D0
/* 803C22C8 003BDF28  48 01 74 F1 */	bl func_803D97B8
/* 803C22CC 003BDF2C  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C22D0 003BDF30  38 60 00 0A */	li r3, 0xa
/* 803C22D4 003BDF34  7C 04 1B D6 */	divw r0, r4, r3
/* 803C22D8 003BDF38  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C22DC 003BDF3C  7C 00 20 50 */	subf r0, r0, r4
/* 803C22E0 003BDF40  2C 00 00 03 */	cmpwi r0, 3
/* 803C22E4 003BDF44  40 80 00 EC */	bge lbl_803C23D0
/* 803C22E8 003BDF48  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C22EC 003BDF4C  38 A0 00 03 */	li r5, 3
/* 803C22F0 003BDF50  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C22F4 003BDF54  38 00 00 6A */	li r0, 0x6a
/* 803C22F8 003BDF58  90 BC 00 88 */	stw r5, 0x88(r28)
/* 803C22FC 003BDF5C  3B E0 00 01 */	li r31, 1
/* 803C2300 003BDF60  90 9C 00 94 */	stw r4, 0x94(r28)
/* 803C2304 003BDF64  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C2308 003BDF68  90 1D 00 00 */	stw r0, 0(r29)
/* 803C230C 003BDF6C  48 00 00 C4 */	b lbl_803C23D0
lbl_803C2310:
/* 803C2310 003BDF70  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C2314 003BDF74  80 1C 00 74 */	lwz r0, 0x74(r28)
/* 803C2318 003BDF78  7C 03 00 00 */	cmpw r3, r0
/* 803C231C 003BDF7C  40 82 00 B4 */	bne lbl_803C23D0
/* 803C2320 003BDF80  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C2324 003BDF84  7F 83 E3 78 */	mr r3, r28
/* 803C2328 003BDF88  4B FF D7 F1 */	bl func_803BFB18
/* 803C232C 003BDF8C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2330 003BDF90  28 00 00 62 */	cmplwi r0, 0x62
/* 803C2334 003BDF94  41 82 00 9C */	beq lbl_803C23D0
/* 803C2338 003BDF98  7F C3 F3 78 */	mr r3, r30
/* 803C233C 003BDF9C  7F 84 E3 78 */	mr r4, r28
/* 803C2340 003BDFA0  38 A0 00 08 */	li r5, 8
/* 803C2344 003BDFA4  38 C0 00 00 */	li r6, 0
/* 803C2348 003BDFA8  38 E0 00 06 */	li r7, 6
/* 803C234C 003BDFAC  4B FF D0 35 */	bl func_803BF380
/* 803C2350 003BDFB0  2C 03 00 00 */	cmpwi r3, 0
/* 803C2354 003BDFB4  40 82 00 7C */	bne lbl_803C23D0
/* 803C2358 003BDFB8  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C235C 003BDFBC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C2360 003BDFC0  40 82 00 70 */	bne lbl_803C23D0
/* 803C2364 003BDFC4  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C2368 003BDFC8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C236C 003BDFCC  7C BC 02 14 */	add r5, r28, r0
/* 803C2370 003BDFD0  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803C2374 003BDFD4  2C 00 00 00 */	cmpwi r0, 0
/* 803C2378 003BDFD8  41 82 00 58 */	beq lbl_803C23D0
/* 803C237C 003BDFDC  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C2380 003BDFE0  80 9C 21 6C */	lwz r4, 0x216c(r28)
/* 803C2384 003BDFE4  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C2388 003BDFE8  7C 80 00 39 */	and. r0, r4, r0
/* 803C238C 003BDFEC  40 82 00 44 */	bne lbl_803C23D0
/* 803C2390 003BDFF0  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803C2394 003BDFF4  54 00 20 36 */	slwi r0, r0, 4
/* 803C2398 003BDFF8  7C 7C 02 14 */	add r3, r28, r0
/* 803C239C 003BDFFC  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C23A0 003BE000  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C23A4 003BE004  41 82 00 2C */	beq lbl_803C23D0
/* 803C23A8 003BE008  80 05 2D 90 */	lwz r0, 0x2d90(r5)
/* 803C23AC 003BE00C  38 80 00 04 */	li r4, 4
/* 803C23B0 003BE010  1C 60 FF FF */	mulli r3, r0, -1
/* 803C23B4 003BE014  4B FF E7 B5 */	bl func_803C0B68
/* 803C23B8 003BE018  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C23BC 003BE01C  38 00 00 C1 */	li r0, 0xc1
/* 803C23C0 003BE020  90 7C 21 5C */	stw r3, 0x215c(r28)
/* 803C23C4 003BE024  3B E0 00 01 */	li r31, 1
/* 803C23C8 003BE028  90 9C 01 18 */	stw r4, 0x118(r28)
/* 803C23CC 003BE02C  90 1D 00 00 */	stw r0, 0(r29)
lbl_803C23D0:
/* 803C23D0 003BE030  2C 1F 00 01 */	cmpwi r31, 1
/* 803C23D4 003BE034  40 82 00 14 */	bne lbl_803C23E8
/* 803C23D8 003BE038  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C23DC 003BE03C  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C23E0 003BE040  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C23E4 003BE044  90 03 00 18 */	stw r0, 0x18(r3)
lbl_803C23E8:
/* 803C23E8 003BE048  7F E3 FB 78 */	mr r3, r31
lbl_803C23EC:
/* 803C23EC 003BE04C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C23F0 003BE050  4B E0 4D 89 */	bl _restgpr_28
/* 803C23F4 003BE054  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C23F8 003BE058  7C 08 03 A6 */	mtlr r0
/* 803C23FC 003BE05C  38 21 00 20 */	addi r1, r1, 0x20
/* 803C2400 003BE060  4E 80 00 20 */	blr 

.global func_803C2404
func_803C2404:
/* 803C2404 003BE064  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C2408 003BE068  7C 08 02 A6 */	mflr r0
/* 803C240C 003BE06C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C2410 003BE070  39 61 00 20 */	addi r11, r1, 0x20
/* 803C2414 003BE074  4B E0 4D 19 */	bl _savegpr_28
/* 803C2418 003BE078  7C 9C 23 78 */	mr r28, r4
/* 803C241C 003BE07C  7C BD 2B 78 */	mr r29, r5
/* 803C2420 003BE080  7C DE 33 78 */	mr r30, r6
/* 803C2424 003BE084  3B E0 00 00 */	li r31, 0
/* 803C2428 003BE088  7F 83 E3 78 */	mr r3, r28
/* 803C242C 003BE08C  7F A4 EB 78 */	mr r4, r29
/* 803C2430 003BE090  4B FF D6 E9 */	bl func_803BFB18
/* 803C2434 003BE094  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2438 003BE098  2C 00 00 14 */	cmpwi r0, 0x14
/* 803C243C 003BE09C  41 82 00 8C */	beq lbl_803C24C8
/* 803C2440 003BE0A0  40 80 00 34 */	bge lbl_803C2474
/* 803C2444 003BE0A4  2C 00 00 0F */	cmpwi r0, 0xf
/* 803C2448 003BE0A8  41 82 00 C8 */	beq lbl_803C2510
/* 803C244C 003BE0AC  40 80 00 1C */	bge lbl_803C2468
/* 803C2450 003BE0B0  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C2454 003BE0B4  41 82 01 28 */	beq lbl_803C257C
/* 803C2458 003BE0B8  40 80 01 68 */	bge lbl_803C25C0
/* 803C245C 003BE0BC  2C 00 00 07 */	cmpwi r0, 7
/* 803C2460 003BE0C0  41 82 00 8C */	beq lbl_803C24EC
/* 803C2464 003BE0C4  48 00 01 5C */	b lbl_803C25C0
lbl_803C2468:
/* 803C2468 003BE0C8  2C 00 00 11 */	cmpwi r0, 0x11
/* 803C246C 003BE0CC  41 82 00 38 */	beq lbl_803C24A4
/* 803C2470 003BE0D0  48 00 01 50 */	b lbl_803C25C0
lbl_803C2474:
/* 803C2474 003BE0D4  2C 00 00 48 */	cmpwi r0, 0x48
/* 803C2478 003BE0D8  41 82 00 98 */	beq lbl_803C2510
/* 803C247C 003BE0DC  40 80 00 1C */	bge lbl_803C2498
/* 803C2480 003BE0E0  2C 00 00 29 */	cmpwi r0, 0x29
/* 803C2484 003BE0E4  41 82 00 B0 */	beq lbl_803C2534
/* 803C2488 003BE0E8  40 80 01 38 */	bge lbl_803C25C0
/* 803C248C 003BE0EC  2C 00 00 28 */	cmpwi r0, 0x28
/* 803C2490 003BE0F0  40 80 00 C8 */	bge lbl_803C2558
/* 803C2494 003BE0F4  48 00 01 2C */	b lbl_803C25C0
lbl_803C2498:
/* 803C2498 003BE0F8  2C 00 00 54 */	cmpwi r0, 0x54
/* 803C249C 003BE0FC  41 82 01 04 */	beq lbl_803C25A0
/* 803C24A0 003BE100  48 00 01 20 */	b lbl_803C25C0
lbl_803C24A4:
/* 803C24A4 003BE104  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C24A8 003BE108  7C 7C 02 14 */	add r3, r28, r0
/* 803C24AC 003BE10C  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C24B0 003BE110  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C24B4 003BE114  41 82 01 0C */	beq lbl_803C25C0
/* 803C24B8 003BE118  38 00 00 01 */	li r0, 1
/* 803C24BC 003BE11C  3B E0 00 01 */	li r31, 1
/* 803C24C0 003BE120  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C24C4 003BE124  48 00 00 FC */	b lbl_803C25C0
lbl_803C24C8:
/* 803C24C8 003BE128  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C24CC 003BE12C  7C 7C 02 14 */	add r3, r28, r0
/* 803C24D0 003BE130  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C24D4 003BE134  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C24D8 003BE138  41 82 00 E8 */	beq lbl_803C25C0
/* 803C24DC 003BE13C  38 00 00 05 */	li r0, 5
/* 803C24E0 003BE140  3B E0 00 01 */	li r31, 1
/* 803C24E4 003BE144  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C24E8 003BE148  48 00 00 D8 */	b lbl_803C25C0
lbl_803C24EC:
/* 803C24EC 003BE14C  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C24F0 003BE150  7C 7C 02 14 */	add r3, r28, r0
/* 803C24F4 003BE154  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C24F8 003BE158  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803C24FC 003BE15C  41 82 00 C4 */	beq lbl_803C25C0
/* 803C2500 003BE160  38 00 00 03 */	li r0, 3
/* 803C2504 003BE164  3B E0 00 01 */	li r31, 1
/* 803C2508 003BE168  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C250C 003BE16C  48 00 00 B4 */	b lbl_803C25C0
lbl_803C2510:
/* 803C2510 003BE170  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C2514 003BE174  7C 7C 02 14 */	add r3, r28, r0
/* 803C2518 003BE178  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C251C 003BE17C  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C2520 003BE180  41 82 00 A0 */	beq lbl_803C25C0
/* 803C2524 003BE184  38 00 00 00 */	li r0, 0
/* 803C2528 003BE188  3B E0 00 01 */	li r31, 1
/* 803C252C 003BE18C  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C2530 003BE190  48 00 00 90 */	b lbl_803C25C0
lbl_803C2534:
/* 803C2534 003BE194  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C2538 003BE198  7C 7C 02 14 */	add r3, r28, r0
/* 803C253C 003BE19C  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C2540 003BE1A0  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C2544 003BE1A4  41 82 00 7C */	beq lbl_803C25C0
/* 803C2548 003BE1A8  38 00 00 02 */	li r0, 2
/* 803C254C 003BE1AC  3B E0 00 01 */	li r31, 1
/* 803C2550 003BE1B0  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C2554 003BE1B4  48 00 00 6C */	b lbl_803C25C0
lbl_803C2558:
/* 803C2558 003BE1B8  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C255C 003BE1BC  7C 7C 02 14 */	add r3, r28, r0
/* 803C2560 003BE1C0  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C2564 003BE1C4  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C2568 003BE1C8  41 82 00 58 */	beq lbl_803C25C0
/* 803C256C 003BE1CC  38 00 00 04 */	li r0, 4
/* 803C2570 003BE1D0  3B E0 00 01 */	li r31, 1
/* 803C2574 003BE1D4  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C2578 003BE1D8  48 00 00 48 */	b lbl_803C25C0
lbl_803C257C:
/* 803C257C 003BE1DC  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C2580 003BE1E0  7C 7C 02 14 */	add r3, r28, r0
/* 803C2584 003BE1E4  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C2588 003BE1E8  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803C258C 003BE1EC  41 82 00 34 */	beq lbl_803C25C0
/* 803C2590 003BE1F0  38 00 00 06 */	li r0, 6
/* 803C2594 003BE1F4  3B E0 00 01 */	li r31, 1
/* 803C2598 003BE1F8  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803C259C 003BE1FC  48 00 00 24 */	b lbl_803C25C0
lbl_803C25A0:
/* 803C25A0 003BE200  1C 1D 00 C0 */	mulli r0, r29, 0xc0
/* 803C25A4 003BE204  7C 7C 02 14 */	add r3, r28, r0
/* 803C25A8 003BE208  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C25AC 003BE20C  2C 00 00 00 */	cmpwi r0, 0
/* 803C25B0 003BE210  41 82 00 10 */	beq lbl_803C25C0
/* 803C25B4 003BE214  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C25B8 003BE218  60 00 02 00 */	ori r0, r0, 0x200
/* 803C25BC 003BE21C  90 03 2D CC */	stw r0, 0x2dcc(r3)
lbl_803C25C0:
/* 803C25C0 003BE220  2C 1F 00 01 */	cmpwi r31, 1
/* 803C25C4 003BE224  40 82 00 AC */	bne lbl_803C2670
/* 803C25C8 003BE228  93 BC 01 18 */	stw r29, 0x118(r28)
/* 803C25CC 003BE22C  7F 83 E3 78 */	mr r3, r28
/* 803C25D0 003BE230  7F A4 EB 78 */	mr r4, r29
/* 803C25D4 003BE234  4B FF D5 45 */	bl func_803BFB18
/* 803C25D8 003BE238  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C25DC 003BE23C  2C 1E 00 00 */	cmpwi r30, 0
/* 803C25E0 003BE240  90 1C 01 2C */	stw r0, 0x12c(r28)
/* 803C25E4 003BE244  40 82 00 24 */	bne lbl_803C2608
/* 803C25E8 003BE248  7F 83 E3 78 */	mr r3, r28
/* 803C25EC 003BE24C  38 80 00 02 */	li r4, 2
/* 803C25F0 003BE250  38 A0 00 DD */	li r5, 0xdd
/* 803C25F4 003BE254  4B FF 83 E1 */	bl func_803BA9D4
/* 803C25F8 003BE258  80 7C 00 08 */	lwz r3, 8(r28)
/* 803C25FC 003BE25C  38 00 00 15 */	li r0, 0x15
/* 803C2600 003BE260  90 7C 00 0C */	stw r3, 0xc(r28)
/* 803C2604 003BE264  90 1C 00 08 */	stw r0, 8(r28)
lbl_803C2608:
/* 803C2608 003BE268  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803C260C 003BE26C  38 80 00 1D */	li r4, 0x1d
/* 803C2610 003BE270  38 65 CD E8 */	addi r3, r5, lbl_8048CDE8@l
/* 803C2614 003BE274  38 00 00 00 */	li r0, 0
/* 803C2618 003BE278  93 A5 CD E8 */	stw r29, -0x3218(r5)
/* 803C261C 003BE27C  90 83 00 04 */	stw r4, 4(r3)
/* 803C2620 003BE280  90 03 00 08 */	stw r0, 8(r3)
/* 803C2624 003BE284  80 9C 01 30 */	lwz r4, 0x130(r28)
/* 803C2628 003BE288  2C 04 00 00 */	cmpwi r4, 0
/* 803C262C 003BE28C  40 82 00 10 */	bne lbl_803C263C
/* 803C2630 003BE290  38 00 00 05 */	li r0, 5
/* 803C2634 003BE294  90 03 00 0C */	stw r0, 0xc(r3)
/* 803C2638 003BE298  48 00 00 1C */	b lbl_803C2654
lbl_803C263C:
/* 803C263C 003BE29C  2C 04 00 04 */	cmpwi r4, 4
/* 803C2640 003BE2A0  40 82 00 10 */	bne lbl_803C2650
/* 803C2644 003BE2A4  38 00 00 08 */	li r0, 8
/* 803C2648 003BE2A8  90 03 00 0C */	stw r0, 0xc(r3)
/* 803C264C 003BE2AC  48 00 00 08 */	b lbl_803C2654
lbl_803C2650:
/* 803C2650 003BE2B0  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803C2654:
/* 803C2654 003BE2B4  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803C2658 003BE2B8  38 60 00 0E */	li r3, 0xe
/* 803C265C 003BE2BC  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803C2660 003BE2C0  4B DA D3 ED */	bl func_8016FA4C
/* 803C2664 003BE2C4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C2668 003BE2C8  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C266C 003BE2CC  93 A3 00 18 */	stw r29, 0x18(r3)
lbl_803C2670:
/* 803C2670 003BE2D0  39 61 00 20 */	addi r11, r1, 0x20
/* 803C2674 003BE2D4  7F E3 FB 78 */	mr r3, r31
/* 803C2678 003BE2D8  4B E0 4B 01 */	bl _restgpr_28
/* 803C267C 003BE2DC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C2680 003BE2E0  7C 08 03 A6 */	mtlr r0
/* 803C2684 003BE2E4  38 21 00 20 */	addi r1, r1, 0x20
/* 803C2688 003BE2E8  4E 80 00 20 */	blr 

.global func_803C268C
func_803C268C:
/* 803C268C 003BE2EC  2C 04 00 11 */	cmpwi r4, 0x11
/* 803C2690 003BE2F0  38 60 00 00 */	li r3, 0
/* 803C2694 003BE2F4  41 82 00 44 */	beq lbl_803C26D8
/* 803C2698 003BE2F8  40 80 00 1C */	bge lbl_803C26B4
/* 803C269C 003BE2FC  2C 04 00 0F */	cmpwi r4, 0xf
/* 803C26A0 003BE300  41 82 00 58 */	beq lbl_803C26F8
/* 803C26A4 003BE304  4C 80 00 20 */	bgelr 
/* 803C26A8 003BE308  2C 04 00 07 */	cmpwi r4, 7
/* 803C26AC 003BE30C  41 82 00 3C */	beq lbl_803C26E8
/* 803C26B0 003BE310  4E 80 00 20 */	blr 
lbl_803C26B4:
/* 803C26B4 003BE314  2C 04 00 29 */	cmpwi r4, 0x29
/* 803C26B8 003BE318  41 82 00 50 */	beq lbl_803C2708
/* 803C26BC 003BE31C  40 80 00 10 */	bge lbl_803C26CC
/* 803C26C0 003BE320  2C 04 00 28 */	cmpwi r4, 0x28
/* 803C26C4 003BE324  40 80 00 54 */	bge lbl_803C2718
/* 803C26C8 003BE328  4E 80 00 20 */	blr 
lbl_803C26CC:
/* 803C26CC 003BE32C  2C 04 00 48 */	cmpwi r4, 0x48
/* 803C26D0 003BE330  41 82 00 28 */	beq lbl_803C26F8
/* 803C26D4 003BE334  4E 80 00 20 */	blr 
lbl_803C26D8:
/* 803C26D8 003BE338  70 A0 0F 88 */	andi. r0, r5, 0xf88
/* 803C26DC 003BE33C  4D 82 00 20 */	beqlr 
/* 803C26E0 003BE340  38 60 00 01 */	li r3, 1
/* 803C26E4 003BE344  4E 80 00 20 */	blr 
lbl_803C26E8:
/* 803C26E8 003BE348  54 A0 06 73 */	rlwinm. r0, r5, 0, 0x19, 0x19
/* 803C26EC 003BE34C  4D 82 00 20 */	beqlr 
/* 803C26F0 003BE350  38 60 00 01 */	li r3, 1
/* 803C26F4 003BE354  4E 80 00 20 */	blr 
lbl_803C26F8:
/* 803C26F8 003BE358  54 A0 07 7F */	clrlwi. r0, r5, 0x1d
/* 803C26FC 003BE35C  4D 82 00 20 */	beqlr 
/* 803C2700 003BE360  38 60 00 01 */	li r3, 1
/* 803C2704 003BE364  4E 80 00 20 */	blr 
lbl_803C2708:
/* 803C2708 003BE368  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803C270C 003BE36C  4D 82 00 20 */	beqlr 
/* 803C2710 003BE370  38 60 00 01 */	li r3, 1
/* 803C2714 003BE374  4E 80 00 20 */	blr 
lbl_803C2718:
/* 803C2718 003BE378  54 A0 06 B5 */	rlwinm. r0, r5, 0, 0x1a, 0x1a
/* 803C271C 003BE37C  4D 82 00 20 */	beqlr 
/* 803C2720 003BE380  38 60 00 01 */	li r3, 1
/* 803C2724 003BE384  4E 80 00 20 */	blr 

.global func_803C2728
func_803C2728:
/* 803C2728 003BE388  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C272C 003BE38C  7C 08 02 A6 */	mflr r0
/* 803C2730 003BE390  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C2734 003BE394  39 61 00 20 */	addi r11, r1, 0x20
/* 803C2738 003BE398  4B E0 49 F1 */	bl _savegpr_27
/* 803C273C 003BE39C  7C 9C 23 78 */	mr r28, r4
/* 803C2740 003BE3A0  80 84 00 6C */	lwz r4, 0x6c(r4)
/* 803C2744 003BE3A4  7C 7B 1B 78 */	mr r27, r3
/* 803C2748 003BE3A8  7C BD 2B 78 */	mr r29, r5
/* 803C274C 003BE3AC  7F 83 E3 78 */	mr r3, r28
/* 803C2750 003BE3B0  3B E0 00 00 */	li r31, 0
/* 803C2754 003BE3B4  3B C0 00 00 */	li r30, 0
/* 803C2758 003BE3B8  4B FF D3 C1 */	bl func_803BFB18
/* 803C275C 003BE3BC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2760 003BE3C0  28 00 00 1C */	cmplwi r0, 0x1c
/* 803C2764 003BE3C4  40 82 00 3C */	bne lbl_803C27A0
/* 803C2768 003BE3C8  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C276C 003BE3CC  2C 03 00 FF */	cmpwi r3, 0xff
/* 803C2770 003BE3D0  41 82 00 30 */	beq lbl_803C27A0
/* 803C2774 003BE3D4  80 1C 00 94 */	lwz r0, 0x94(r28)
/* 803C2778 003BE3D8  7C 03 00 00 */	cmpw r3, r0
/* 803C277C 003BE3DC  40 82 00 24 */	bne lbl_803C27A0
/* 803C2780 003BE3E0  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C2784 003BE3E4  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C2788 003BE3E8  41 82 00 18 */	beq lbl_803C27A0
/* 803C278C 003BE3EC  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C2790 003BE3F0  3B E0 00 01 */	li r31, 1
/* 803C2794 003BE3F4  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C2798 003BE3F8  90 1C 00 94 */	stw r0, 0x94(r28)
/* 803C279C 003BE3FC  48 00 00 48 */	b lbl_803C27E4
lbl_803C27A0:
/* 803C27A0 003BE400  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C27A4 003BE404  7F 83 E3 78 */	mr r3, r28
/* 803C27A8 003BE408  4B FF D3 71 */	bl func_803BFB18
/* 803C27AC 003BE40C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C27B0 003BE410  28 00 00 1C */	cmplwi r0, 0x1c
/* 803C27B4 003BE414  40 82 00 30 */	bne lbl_803C27E4
/* 803C27B8 003BE418  80 7C 00 64 */	lwz r3, 0x64(r28)
/* 803C27BC 003BE41C  80 1C 00 94 */	lwz r0, 0x94(r28)
/* 803C27C0 003BE420  7C 03 00 00 */	cmpw r3, r0
/* 803C27C4 003BE424  40 82 00 20 */	bne lbl_803C27E4
/* 803C27C8 003BE428  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C27CC 003BE42C  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C27D0 003BE430  41 82 00 14 */	beq lbl_803C27E4
/* 803C27D4 003BE434  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C27D8 003BE438  3B E0 00 01 */	li r31, 1
/* 803C27DC 003BE43C  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C27E0 003BE440  90 1C 00 94 */	stw r0, 0x94(r28)
lbl_803C27E4:
/* 803C27E4 003BE444  2C 1F 00 01 */	cmpwi r31, 1
/* 803C27E8 003BE448  40 82 00 84 */	bne lbl_803C286C
/* 803C27EC 003BE44C  80 1C 01 18 */	lwz r0, 0x118(r28)
/* 803C27F0 003BE450  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C27F4 003BE454  7C 7C 02 14 */	add r3, r28, r0
/* 803C27F8 003BE458  80 63 2D AC */	lwz r3, 0x2dac(r3)
/* 803C27FC 003BE45C  70 60 0F 88 */	andi. r0, r3, 0xf88
/* 803C2800 003BE460  41 82 00 0C */	beq lbl_803C280C
/* 803C2804 003BE464  3B C0 00 16 */	li r30, 0x16
/* 803C2808 003BE468  48 00 00 20 */	b lbl_803C2828
lbl_803C280C:
/* 803C280C 003BE46C  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803C2810 003BE470  41 82 00 0C */	beq lbl_803C281C
/* 803C2814 003BE474  3B C0 00 19 */	li r30, 0x19
/* 803C2818 003BE478  48 00 00 10 */	b lbl_803C2828
lbl_803C281C:
/* 803C281C 003BE47C  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803C2820 003BE480  41 82 00 08 */	beq lbl_803C2828
/* 803C2824 003BE484  3B C0 00 1F */	li r30, 0x1f
lbl_803C2828:
/* 803C2828 003BE488  2C 1E 00 00 */	cmpwi r30, 0
/* 803C282C 003BE48C  41 82 00 40 */	beq lbl_803C286C
/* 803C2830 003BE490  38 00 00 03 */	li r0, 3
/* 803C2834 003BE494  7F 83 E3 78 */	mr r3, r28
/* 803C2838 003BE498  90 1C 00 88 */	stw r0, 0x88(r28)
/* 803C283C 003BE49C  7F C5 F3 78 */	mr r5, r30
/* 803C2840 003BE4A0  38 80 00 02 */	li r4, 2
/* 803C2844 003BE4A4  4B FF 81 91 */	bl func_803BA9D4
/* 803C2848 003BE4A8  38 A0 00 15 */	li r5, 0x15
/* 803C284C 003BE4AC  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803C2850 003BE4B0  93 BC 00 0C */	stw r29, 0xc(r28)
/* 803C2854 003BE4B4  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803C2858 003BE4B8  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C285C 003BE4BC  7F E3 FB 78 */	mr r3, r31
/* 803C2860 003BE4C0  90 BC 00 08 */	stw r5, 8(r28)
/* 803C2864 003BE4C4  90 04 00 18 */	stw r0, 0x18(r4)
/* 803C2868 003BE4C8  48 00 01 14 */	b lbl_803C297C
lbl_803C286C:
/* 803C286C 003BE4CC  7F 63 DB 78 */	mr r3, r27
/* 803C2870 003BE4D0  7F 84 E3 78 */	mr r4, r28
/* 803C2874 003BE4D4  48 00 32 B5 */	bl func_803C5B28
/* 803C2878 003BE4D8  2C 03 00 01 */	cmpwi r3, 1
/* 803C287C 003BE4DC  7C 7F 1B 78 */	mr r31, r3
/* 803C2880 003BE4E0  40 82 00 28 */	bne lbl_803C28A8
/* 803C2884 003BE4E4  7F 83 E3 78 */	mr r3, r28
/* 803C2888 003BE4E8  38 80 00 02 */	li r4, 2
/* 803C288C 003BE4EC  38 A0 01 06 */	li r5, 0x106
/* 803C2890 003BE4F0  4B FF 81 45 */	bl func_803BA9D4
/* 803C2894 003BE4F4  38 00 00 15 */	li r0, 0x15
/* 803C2898 003BE4F8  93 BC 00 0C */	stw r29, 0xc(r28)
/* 803C289C 003BE4FC  7F E3 FB 78 */	mr r3, r31
/* 803C28A0 003BE500  90 1C 00 08 */	stw r0, 8(r28)
/* 803C28A4 003BE504  48 00 00 D8 */	b lbl_803C297C
lbl_803C28A8:
/* 803C28A8 003BE508  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C28AC 003BE50C  7F 83 E3 78 */	mr r3, r28
/* 803C28B0 003BE510  48 00 18 0D */	bl func_803C40BC
/* 803C28B4 003BE514  2C 03 00 6B */	cmpwi r3, 0x6b
/* 803C28B8 003BE518  40 82 00 44 */	bne lbl_803C28FC
/* 803C28BC 003BE51C  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C28C0 003BE520  2C 04 00 FF */	cmpwi r4, 0xff
/* 803C28C4 003BE524  41 82 00 38 */	beq lbl_803C28FC
/* 803C28C8 003BE528  80 1C 00 94 */	lwz r0, 0x94(r28)
/* 803C28CC 003BE52C  7C 04 00 00 */	cmpw r4, r0
/* 803C28D0 003BE530  40 82 00 2C */	bne lbl_803C28FC
/* 803C28D4 003BE534  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803C28D8 003BE538  7C 7C 02 14 */	add r3, r28, r0
/* 803C28DC 003BE53C  80 03 02 E8 */	lwz r0, 0x2e8(r3)
/* 803C28E0 003BE540  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803C28E4 003BE544  41 82 00 18 */	beq lbl_803C28FC
/* 803C28E8 003BE548  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C28EC 003BE54C  3B E0 00 01 */	li r31, 1
/* 803C28F0 003BE550  90 9C 01 18 */	stw r4, 0x118(r28)
/* 803C28F4 003BE554  90 1C 00 94 */	stw r0, 0x94(r28)
/* 803C28F8 003BE558  48 00 00 4C */	b lbl_803C2944
lbl_803C28FC:
/* 803C28FC 003BE55C  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C2900 003BE560  7F 83 E3 78 */	mr r3, r28
/* 803C2904 003BE564  48 00 17 B9 */	bl func_803C40BC
/* 803C2908 003BE568  2C 03 00 6B */	cmpwi r3, 0x6b
/* 803C290C 003BE56C  40 82 00 38 */	bne lbl_803C2944
/* 803C2910 003BE570  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C2914 003BE574  80 1C 00 94 */	lwz r0, 0x94(r28)
/* 803C2918 003BE578  7C 04 00 00 */	cmpw r4, r0
/* 803C291C 003BE57C  40 82 00 28 */	bne lbl_803C2944
/* 803C2920 003BE580  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803C2924 003BE584  7C 7C 02 14 */	add r3, r28, r0
/* 803C2928 003BE588  80 03 02 E8 */	lwz r0, 0x2e8(r3)
/* 803C292C 003BE58C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803C2930 003BE590  41 82 00 14 */	beq lbl_803C2944
/* 803C2934 003BE594  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C2938 003BE598  3B E0 00 01 */	li r31, 1
/* 803C293C 003BE59C  90 9C 01 18 */	stw r4, 0x118(r28)
/* 803C2940 003BE5A0  90 1C 00 94 */	stw r0, 0x94(r28)
lbl_803C2944:
/* 803C2944 003BE5A4  2C 1F 00 01 */	cmpwi r31, 1
/* 803C2948 003BE5A8  40 82 00 30 */	bne lbl_803C2978
/* 803C294C 003BE5AC  38 00 00 05 */	li r0, 5
/* 803C2950 003BE5B0  7F 83 E3 78 */	mr r3, r28
/* 803C2954 003BE5B4  90 1C 00 88 */	stw r0, 0x88(r28)
/* 803C2958 003BE5B8  38 80 00 02 */	li r4, 2
/* 803C295C 003BE5BC  38 A0 00 6A */	li r5, 0x6a
/* 803C2960 003BE5C0  4B FF 80 75 */	bl func_803BA9D4
/* 803C2964 003BE5C4  38 00 00 15 */	li r0, 0x15
/* 803C2968 003BE5C8  93 BC 00 0C */	stw r29, 0xc(r28)
/* 803C296C 003BE5CC  7F E3 FB 78 */	mr r3, r31
/* 803C2970 003BE5D0  90 1C 00 08 */	stw r0, 8(r28)
/* 803C2974 003BE5D4  48 00 00 08 */	b lbl_803C297C
lbl_803C2978:
/* 803C2978 003BE5D8  38 60 00 00 */	li r3, 0
lbl_803C297C:
/* 803C297C 003BE5DC  39 61 00 20 */	addi r11, r1, 0x20
/* 803C2980 003BE5E0  4B E0 47 F5 */	bl _restgpr_27
/* 803C2984 003BE5E4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C2988 003BE5E8  7C 08 03 A6 */	mtlr r0
/* 803C298C 003BE5EC  38 21 00 20 */	addi r1, r1, 0x20
/* 803C2990 003BE5F0  4E 80 00 20 */	blr 

.global func_803C2994
func_803C2994:
/* 803C2994 003BE5F4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C2998 003BE5F8  7C 08 02 A6 */	mflr r0
/* 803C299C 003BE5FC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C29A0 003BE600  39 61 00 30 */	addi r11, r1, 0x30
/* 803C29A4 003BE604  4B E0 47 79 */	bl _savegpr_24
/* 803C29A8 003BE608  7C 9A 23 78 */	mr r26, r4
/* 803C29AC 003BE60C  7C BB 2B 78 */	mr r27, r5
/* 803C29B0 003BE610  7C 79 1B 78 */	mr r25, r3
/* 803C29B4 003BE614  3B A0 00 00 */	li r29, 0
/* 803C29B8 003BE618  7F 43 D3 78 */	mr r3, r26
/* 803C29BC 003BE61C  7F 64 DB 78 */	mr r4, r27
/* 803C29C0 003BE620  48 00 13 AD */	bl func_803C3D6C
/* 803C29C4 003BE624  7C 60 1B 78 */	mr r0, r3
/* 803C29C8 003BE628  80 7A 21 20 */	lwz r3, 0x2120(r26)
/* 803C29CC 003BE62C  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C29D0 003BE630  48 01 6D 9D */	bl func_803D976C
/* 803C29D4 003BE634  38 80 00 01 */	li r4, 1
/* 803C29D8 003BE638  48 01 68 55 */	bl func_803D922C
/* 803C29DC 003BE63C  7C 78 1B 78 */	mr r24, r3
/* 803C29E0 003BE640  7F 43 D3 78 */	mr r3, r26
/* 803C29E4 003BE644  7F 64 DB 78 */	mr r4, r27
/* 803C29E8 003BE648  38 A0 00 00 */	li r5, 0
/* 803C29EC 003BE64C  48 00 17 15 */	bl func_803C4100
/* 803C29F0 003BE650  1F FB 00 C0 */	mulli r31, r27, 0xc0
/* 803C29F4 003BE654  7C 7C 1B 78 */	mr r28, r3
/* 803C29F8 003BE658  7F DA FA 14 */	add r30, r26, r31
/* 803C29FC 003BE65C  80 BE 2D 8C */	lwz r5, 0x2d8c(r30)
/* 803C2A00 003BE660  2C 05 00 00 */	cmpwi r5, 0
/* 803C2A04 003BE664  41 82 07 9C */	beq lbl_803C31A0
/* 803C2A08 003BE668  28 18 00 35 */	cmplwi r24, 0x35
/* 803C2A0C 003BE66C  41 81 07 54 */	bgt lbl_803C3160
/* 803C2A10 003BE670  3C 80 80 47 */	lis r4, lbl_80473B0C@ha
/* 803C2A14 003BE674  57 00 10 3A */	slwi r0, r24, 2
/* 803C2A18 003BE678  38 84 3B 0C */	addi r4, r4, lbl_80473B0C@l
/* 803C2A1C 003BE67C  7C 84 00 2E */	lwzx r4, r4, r0
/* 803C2A20 003BE680  7C 89 03 A6 */	mtctr r4
/* 803C2A24 003BE684  4E 80 04 20 */	bctr 
/* 803C2A28 003BE688  80 1E 2D 90 */	lwz r0, 0x2d90(r30)
/* 803C2A2C 003BE68C  54 00 F8 7E */	srwi r0, r0, 1
/* 803C2A30 003BE690  7C 05 00 40 */	cmplw r5, r0
/* 803C2A34 003BE694  41 81 07 2C */	bgt lbl_803C3160
/* 803C2A38 003BE698  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2A3C 003BE69C  3B 80 00 C6 */	li r28, 0xc6
/* 803C2A40 003BE6A0  3B A0 00 01 */	li r29, 1
/* 803C2A44 003BE6A4  48 00 07 1C */	b lbl_803C3160
/* 803C2A48 003BE6A8  80 9E 2D 90 */	lwz r4, 0x2d90(r30)
/* 803C2A4C 003BE6AC  54 80 F8 7E */	srwi r0, r4, 1
/* 803C2A50 003BE6B0  7C 05 00 40 */	cmplw r5, r0
/* 803C2A54 003BE6B4  41 81 07 0C */	bgt lbl_803C3160
/* 803C2A58 003BE6B8  7C 63 21 D6 */	mullw r3, r3, r4
/* 803C2A5C 003BE6BC  38 80 00 64 */	li r4, 0x64
/* 803C2A60 003BE6C0  4B FF E1 09 */	bl func_803C0B68
/* 803C2A64 003BE6C4  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2A68 003BE6C8  3B 80 00 C6 */	li r28, 0xc6
/* 803C2A6C 003BE6CC  3B A0 00 01 */	li r29, 1
/* 803C2A70 003BE6D0  48 00 06 F0 */	b lbl_803C3160
/* 803C2A74 003BE6D4  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C2A78 003BE6D8  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803C2A7C 003BE6DC  41 82 06 E4 */	beq lbl_803C3160
/* 803C2A80 003BE6E0  3B 80 00 C7 */	li r28, 0xc7
/* 803C2A84 003BE6E4  3B A0 00 01 */	li r29, 1
/* 803C2A88 003BE6E8  48 00 06 D8 */	b lbl_803C3160
/* 803C2A8C 003BE6EC  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C2A90 003BE6F0  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C2A94 003BE6F4  41 82 06 CC */	beq lbl_803C3160
/* 803C2A98 003BE6F8  3B 80 00 C8 */	li r28, 0xc8
/* 803C2A9C 003BE6FC  3B A0 00 01 */	li r29, 1
/* 803C2AA0 003BE700  48 00 06 C0 */	b lbl_803C3160
/* 803C2AA4 003BE704  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C2AA8 003BE708  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C2AAC 003BE70C  41 82 06 B4 */	beq lbl_803C3160
/* 803C2AB0 003BE710  3B 80 00 C9 */	li r28, 0xc9
/* 803C2AB4 003BE714  3B A0 00 01 */	li r29, 1
/* 803C2AB8 003BE718  48 00 06 A8 */	b lbl_803C3160
/* 803C2ABC 003BE71C  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C2AC0 003BE720  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C2AC4 003BE724  41 82 06 9C */	beq lbl_803C3160
/* 803C2AC8 003BE728  3B 80 00 CA */	li r28, 0xca
/* 803C2ACC 003BE72C  3B A0 00 01 */	li r29, 1
/* 803C2AD0 003BE730  48 00 06 90 */	b lbl_803C3160
/* 803C2AD4 003BE734  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C2AD8 003BE738  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C2ADC 003BE73C  41 82 06 84 */	beq lbl_803C3160
/* 803C2AE0 003BE740  3B 80 00 CB */	li r28, 0xcb
/* 803C2AE4 003BE744  3B A0 00 01 */	li r29, 1
/* 803C2AE8 003BE748  48 00 06 78 */	b lbl_803C3160
/* 803C2AEC 003BE74C  38 00 00 04 */	li r0, 4
/* 803C2AF0 003BE750  3B 00 00 00 */	li r24, 0
/* 803C2AF4 003BE754  38 60 00 00 */	li r3, 0
/* 803C2AF8 003BE758  7C 09 03 A6 */	mtctr r0
lbl_803C2AFC:
/* 803C2AFC 003BE75C  7C 9E 1A 14 */	add r4, r30, r3
/* 803C2B00 003BE760  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803C2B04 003BE764  2C 00 00 00 */	cmpwi r0, 0
/* 803C2B08 003BE768  41 82 00 14 */	beq lbl_803C2B1C
/* 803C2B0C 003BE76C  7C 9E C2 14 */	add r4, r30, r24
/* 803C2B10 003BE770  88 04 2D 6C */	lbz r0, 0x2d6c(r4)
/* 803C2B14 003BE774  2C 00 00 00 */	cmpwi r0, 0
/* 803C2B18 003BE778  41 82 00 10 */	beq lbl_803C2B28
lbl_803C2B1C:
/* 803C2B1C 003BE77C  3B 18 00 01 */	addi r24, r24, 1
/* 803C2B20 003BE780  38 63 00 02 */	addi r3, r3, 2
/* 803C2B24 003BE784  42 00 FF D8 */	bdnz lbl_803C2AFC
lbl_803C2B28:
/* 803C2B28 003BE788  2C 18 00 04 */	cmpwi r24, 4
/* 803C2B2C 003BE78C  41 82 06 34 */	beq lbl_803C3160
/* 803C2B30 003BE790  7C 7A FA 14 */	add r3, r26, r31
/* 803C2B34 003BE794  7F 85 E3 78 */	mr r5, r28
/* 803C2B38 003BE798  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803C2B3C 003BE79C  38 98 00 1F */	addi r4, r24, 0x1f
/* 803C2B40 003BE7A0  4B FF 8C 05 */	bl func_803BB744
/* 803C2B44 003BE7A4  7F 23 CB 78 */	mr r3, r25
/* 803C2B48 003BE7A8  7F 44 D3 78 */	mr r4, r26
/* 803C2B4C 003BE7AC  7F 65 DB 78 */	mr r5, r27
/* 803C2B50 003BE7B0  4B FF A8 25 */	bl func_803BD374
/* 803C2B54 003BE7B4  7C 7A FA 14 */	add r3, r26, r31
/* 803C2B58 003BE7B8  57 00 08 3C */	slwi r0, r24, 1
/* 803C2B5C 003BE7BC  7C 63 02 14 */	add r3, r3, r0
/* 803C2B60 003BE7C0  3B 80 00 CC */	li r28, 0xcc
/* 803C2B64 003BE7C4  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803C2B68 003BE7C8  3B A0 00 01 */	li r29, 1
/* 803C2B6C 003BE7CC  90 1A 01 24 */	stw r0, 0x124(r26)
/* 803C2B70 003BE7D0  48 00 05 F0 */	b lbl_803C3160
/* 803C2B74 003BE7D4  80 1E 2D B0 */	lwz r0, 0x2db0(r30)
/* 803C2B78 003BE7D8  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C2B7C 003BE7DC  41 82 05 E4 */	beq lbl_803C3160
/* 803C2B80 003BE7E0  3B 80 00 CD */	li r28, 0xcd
/* 803C2B84 003BE7E4  3B A0 00 01 */	li r29, 1
/* 803C2B88 003BE7E8  48 00 05 D8 */	b lbl_803C3160
/* 803C2B8C 003BE7EC  80 7E 2D AC */	lwz r3, 0x2dac(r30)
/* 803C2B90 003BE7F0  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803C2B94 003BE7F4  40 82 00 10 */	bne lbl_803C2BA4
/* 803C2B98 003BE7F8  80 1E 2D B0 */	lwz r0, 0x2db0(r30)
/* 803C2B9C 003BE7FC  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C2BA0 003BE800  41 82 05 C0 */	beq lbl_803C3160
lbl_803C2BA4:
/* 803C2BA4 003BE804  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803C2BA8 003BE808  41 82 00 08 */	beq lbl_803C2BB0
/* 803C2BAC 003BE80C  3B 80 00 C7 */	li r28, 0xc7
lbl_803C2BB0:
/* 803C2BB0 003BE810  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803C2BB4 003BE814  41 82 00 18 */	beq lbl_803C2BCC
/* 803C2BB8 003BE818  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803C2BBC 003BE81C  38 00 00 05 */	li r0, 5
/* 803C2BC0 003BE820  38 63 CD E8 */	addi r3, r3, lbl_8048CDE8@l
/* 803C2BC4 003BE824  3B 80 00 C8 */	li r28, 0xc8
/* 803C2BC8 003BE828  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803C2BCC:
/* 803C2BCC 003BE82C  80 7E 2D AC */	lwz r3, 0x2dac(r30)
/* 803C2BD0 003BE830  70 60 0F 88 */	andi. r0, r3, 0xf88
/* 803C2BD4 003BE834  41 82 00 08 */	beq lbl_803C2BDC
/* 803C2BD8 003BE838  3B 80 00 C9 */	li r28, 0xc9
lbl_803C2BDC:
/* 803C2BDC 003BE83C  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803C2BE0 003BE840  41 82 00 08 */	beq lbl_803C2BE8
/* 803C2BE4 003BE844  3B 80 00 CA */	li r28, 0xca
lbl_803C2BE8:
/* 803C2BE8 003BE848  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803C2BEC 003BE84C  41 82 00 18 */	beq lbl_803C2C04
/* 803C2BF0 003BE850  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803C2BF4 003BE854  38 00 00 08 */	li r0, 8
/* 803C2BF8 003BE858  38 63 CD E8 */	addi r3, r3, lbl_8048CDE8@l
/* 803C2BFC 003BE85C  3B 80 00 CB */	li r28, 0xcb
/* 803C2C00 003BE860  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803C2C04:
/* 803C2C04 003BE864  7C 7A FA 14 */	add r3, r26, r31
/* 803C2C08 003BE868  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C2C0C 003BE86C  54 03 07 7F */	clrlwi. r3, r0, 0x1d
/* 803C2C10 003BE870  41 82 00 08 */	beq lbl_803C2C18
/* 803C2C14 003BE874  3B 80 00 CD */	li r28, 0xcd
lbl_803C2C18:
/* 803C2C18 003BE878  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C2C1C 003BE87C  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803C2C20 003BE880  41 82 00 10 */	beq lbl_803C2C30
/* 803C2C24 003BE884  2C 03 00 00 */	cmpwi r3, 0
/* 803C2C28 003BE888  41 82 00 08 */	beq lbl_803C2C30
/* 803C2C2C 003BE88C  3B 80 00 CE */	li r28, 0xce
lbl_803C2C30:
/* 803C2C30 003BE890  3B A0 00 01 */	li r29, 1
/* 803C2C34 003BE894  48 00 05 2C */	b lbl_803C3160
/* 803C2C38 003BE898  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C2C3C 003BE89C  54 60 F8 7E */	srwi r0, r3, 1
/* 803C2C40 003BE8A0  7C 05 00 40 */	cmplw r5, r0
/* 803C2C44 003BE8A4  41 81 05 1C */	bgt lbl_803C3160
/* 803C2C48 003BE8A8  7F 84 E3 78 */	mr r4, r28
/* 803C2C4C 003BE8AC  4B FF DF 1D */	bl func_803C0B68
/* 803C2C50 003BE8B0  38 00 00 00 */	li r0, 0
/* 803C2C54 003BE8B4  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2C58 003BE8B8  38 80 00 00 */	li r4, 0
/* 803C2C5C 003BE8BC  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2C60 003BE8C0  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C2C64 003BE8C4  48 01 9C F5 */	bl func_803DC958
/* 803C2C68 003BE8C8  7C 60 07 74 */	extsb r0, r3
/* 803C2C6C 003BE8CC  3B 80 00 C6 */	li r28, 0xc6
/* 803C2C70 003BE8D0  2C 00 FF FF */	cmpwi r0, -1
/* 803C2C74 003BE8D4  40 82 00 08 */	bne lbl_803C2C7C
/* 803C2C78 003BE8D8  3B 80 00 CF */	li r28, 0xcf
lbl_803C2C7C:
/* 803C2C7C 003BE8DC  3B A0 00 01 */	li r29, 1
/* 803C2C80 003BE8E0  48 00 04 E0 */	b lbl_803C3160
/* 803C2C84 003BE8E4  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C2C88 003BE8E8  54 60 F8 7E */	srwi r0, r3, 1
/* 803C2C8C 003BE8EC  7C 05 00 40 */	cmplw r5, r0
/* 803C2C90 003BE8F0  41 81 04 D0 */	bgt lbl_803C3160
/* 803C2C94 003BE8F4  7F 84 E3 78 */	mr r4, r28
/* 803C2C98 003BE8F8  4B FF DE D1 */	bl func_803C0B68
/* 803C2C9C 003BE8FC  38 00 00 01 */	li r0, 1
/* 803C2CA0 003BE900  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2CA4 003BE904  38 80 00 01 */	li r4, 1
/* 803C2CA8 003BE908  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2CAC 003BE90C  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C2CB0 003BE910  48 01 9C A9 */	bl func_803DC958
/* 803C2CB4 003BE914  7C 60 07 74 */	extsb r0, r3
/* 803C2CB8 003BE918  3B 80 00 C6 */	li r28, 0xc6
/* 803C2CBC 003BE91C  2C 00 FF FF */	cmpwi r0, -1
/* 803C2CC0 003BE920  40 82 00 08 */	bne lbl_803C2CC8
/* 803C2CC4 003BE924  3B 80 00 CF */	li r28, 0xcf
lbl_803C2CC8:
/* 803C2CC8 003BE928  3B A0 00 01 */	li r29, 1
/* 803C2CCC 003BE92C  48 00 04 94 */	b lbl_803C3160
/* 803C2CD0 003BE930  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C2CD4 003BE934  54 60 F8 7E */	srwi r0, r3, 1
/* 803C2CD8 003BE938  7C 05 00 40 */	cmplw r5, r0
/* 803C2CDC 003BE93C  41 81 04 84 */	bgt lbl_803C3160
/* 803C2CE0 003BE940  7F 84 E3 78 */	mr r4, r28
/* 803C2CE4 003BE944  4B FF DE 85 */	bl func_803C0B68
/* 803C2CE8 003BE948  38 00 00 02 */	li r0, 2
/* 803C2CEC 003BE94C  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2CF0 003BE950  38 80 00 02 */	li r4, 2
/* 803C2CF4 003BE954  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2CF8 003BE958  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C2CFC 003BE95C  48 01 9C 5D */	bl func_803DC958
/* 803C2D00 003BE960  7C 60 07 74 */	extsb r0, r3
/* 803C2D04 003BE964  3B 80 00 C6 */	li r28, 0xc6
/* 803C2D08 003BE968  2C 00 FF FF */	cmpwi r0, -1
/* 803C2D0C 003BE96C  40 82 00 08 */	bne lbl_803C2D14
/* 803C2D10 003BE970  3B 80 00 CF */	li r28, 0xcf
lbl_803C2D14:
/* 803C2D14 003BE974  3B A0 00 01 */	li r29, 1
/* 803C2D18 003BE978  48 00 04 48 */	b lbl_803C3160
/* 803C2D1C 003BE97C  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C2D20 003BE980  54 60 F8 7E */	srwi r0, r3, 1
/* 803C2D24 003BE984  7C 05 00 40 */	cmplw r5, r0
/* 803C2D28 003BE988  41 81 04 38 */	bgt lbl_803C3160
/* 803C2D2C 003BE98C  7F 84 E3 78 */	mr r4, r28
/* 803C2D30 003BE990  4B FF DE 39 */	bl func_803C0B68
/* 803C2D34 003BE994  38 00 00 03 */	li r0, 3
/* 803C2D38 003BE998  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2D3C 003BE99C  38 80 00 03 */	li r4, 3
/* 803C2D40 003BE9A0  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2D44 003BE9A4  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C2D48 003BE9A8  48 01 9C 11 */	bl func_803DC958
/* 803C2D4C 003BE9AC  7C 60 07 74 */	extsb r0, r3
/* 803C2D50 003BE9B0  3B 80 00 C6 */	li r28, 0xc6
/* 803C2D54 003BE9B4  2C 00 FF FF */	cmpwi r0, -1
/* 803C2D58 003BE9B8  40 82 00 08 */	bne lbl_803C2D60
/* 803C2D5C 003BE9BC  3B 80 00 CF */	li r28, 0xcf
lbl_803C2D60:
/* 803C2D60 003BE9C0  3B A0 00 01 */	li r29, 1
/* 803C2D64 003BE9C4  48 00 03 FC */	b lbl_803C3160
/* 803C2D68 003BE9C8  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C2D6C 003BE9CC  54 60 F8 7E */	srwi r0, r3, 1
/* 803C2D70 003BE9D0  7C 05 00 40 */	cmplw r5, r0
/* 803C2D74 003BE9D4  41 81 03 EC */	bgt lbl_803C3160
/* 803C2D78 003BE9D8  7F 84 E3 78 */	mr r4, r28
/* 803C2D7C 003BE9DC  4B FF DD ED */	bl func_803C0B68
/* 803C2D80 003BE9E0  38 00 00 04 */	li r0, 4
/* 803C2D84 003BE9E4  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C2D88 003BE9E8  38 80 00 04 */	li r4, 4
/* 803C2D8C 003BE9EC  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2D90 003BE9F0  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C2D94 003BE9F4  48 01 9B C5 */	bl func_803DC958
/* 803C2D98 003BE9F8  7C 60 07 74 */	extsb r0, r3
/* 803C2D9C 003BE9FC  3B 80 00 C6 */	li r28, 0xc6
/* 803C2DA0 003BEA00  2C 00 FF FF */	cmpwi r0, -1
/* 803C2DA4 003BEA04  40 82 00 08 */	bne lbl_803C2DAC
/* 803C2DA8 003BEA08  3B 80 00 CF */	li r28, 0xcf
lbl_803C2DAC:
/* 803C2DAC 003BEA0C  3B A0 00 01 */	li r29, 1
/* 803C2DB0 003BEA10  48 00 03 B0 */	b lbl_803C3160
/* 803C2DB4 003BEA14  7F 43 D3 78 */	mr r3, r26
/* 803C2DB8 003BEA18  7F 64 DB 78 */	mr r4, r27
/* 803C2DBC 003BEA1C  4B FF CD 5D */	bl func_803BFB18
/* 803C2DC0 003BEA20  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2DC4 003BEA24  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2DC8 003BEA28  40 82 00 0C */	bne lbl_803C2DD4
/* 803C2DCC 003BEA2C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2DD0 003BEA30  7F 80 01 94 */	addze r28, r0
lbl_803C2DD4:
/* 803C2DD4 003BEA34  7C 7A FA 14 */	add r3, r26, r31
/* 803C2DD8 003BEA38  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C2DDC 003BEA3C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C2DE0 003BEA40  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C2DE4 003BEA44  7C 04 00 40 */	cmplw r4, r0
/* 803C2DE8 003BEA48  41 81 03 78 */	bgt lbl_803C3160
/* 803C2DEC 003BEA4C  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C2DF0 003BEA50  7C 00 07 74 */	extsb r0, r0
/* 803C2DF4 003BEA54  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C2DF8 003BEA58  40 80 03 68 */	bge lbl_803C3160
/* 803C2DFC 003BEA5C  38 00 00 01 */	li r0, 1
/* 803C2E00 003BEA60  3B 80 00 D0 */	li r28, 0xd0
/* 803C2E04 003BEA64  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2E08 003BEA68  3B A0 00 01 */	li r29, 1
/* 803C2E0C 003BEA6C  48 00 03 54 */	b lbl_803C3160
/* 803C2E10 003BEA70  7F 43 D3 78 */	mr r3, r26
/* 803C2E14 003BEA74  7F 64 DB 78 */	mr r4, r27
/* 803C2E18 003BEA78  4B FF CD 01 */	bl func_803BFB18
/* 803C2E1C 003BEA7C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2E20 003BEA80  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2E24 003BEA84  40 82 00 0C */	bne lbl_803C2E30
/* 803C2E28 003BEA88  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2E2C 003BEA8C  7F 80 01 94 */	addze r28, r0
lbl_803C2E30:
/* 803C2E30 003BEA90  7C 7A FA 14 */	add r3, r26, r31
/* 803C2E34 003BEA94  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C2E38 003BEA98  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C2E3C 003BEA9C  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C2E40 003BEAA0  7C 04 00 40 */	cmplw r4, r0
/* 803C2E44 003BEAA4  41 81 03 1C */	bgt lbl_803C3160
/* 803C2E48 003BEAA8  88 03 2D 5A */	lbz r0, 0x2d5a(r3)
/* 803C2E4C 003BEAAC  7C 00 07 74 */	extsb r0, r0
/* 803C2E50 003BEAB0  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C2E54 003BEAB4  40 80 03 0C */	bge lbl_803C3160
/* 803C2E58 003BEAB8  38 00 00 02 */	li r0, 2
/* 803C2E5C 003BEABC  3B 80 00 D0 */	li r28, 0xd0
/* 803C2E60 003BEAC0  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2E64 003BEAC4  3B A0 00 01 */	li r29, 1
/* 803C2E68 003BEAC8  48 00 02 F8 */	b lbl_803C3160
/* 803C2E6C 003BEACC  7F 43 D3 78 */	mr r3, r26
/* 803C2E70 003BEAD0  7F 64 DB 78 */	mr r4, r27
/* 803C2E74 003BEAD4  4B FF CC A5 */	bl func_803BFB18
/* 803C2E78 003BEAD8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2E7C 003BEADC  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2E80 003BEAE0  40 82 00 0C */	bne lbl_803C2E8C
/* 803C2E84 003BEAE4  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2E88 003BEAE8  7F 80 01 94 */	addze r28, r0
lbl_803C2E8C:
/* 803C2E8C 003BEAEC  7C 7A FA 14 */	add r3, r26, r31
/* 803C2E90 003BEAF0  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C2E94 003BEAF4  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C2E98 003BEAF8  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C2E9C 003BEAFC  7C 04 00 40 */	cmplw r4, r0
/* 803C2EA0 003BEB00  41 81 02 C0 */	bgt lbl_803C3160
/* 803C2EA4 003BEB04  88 03 2D 5B */	lbz r0, 0x2d5b(r3)
/* 803C2EA8 003BEB08  7C 00 07 74 */	extsb r0, r0
/* 803C2EAC 003BEB0C  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C2EB0 003BEB10  40 80 02 B0 */	bge lbl_803C3160
/* 803C2EB4 003BEB14  38 00 00 03 */	li r0, 3
/* 803C2EB8 003BEB18  3B 80 00 D0 */	li r28, 0xd0
/* 803C2EBC 003BEB1C  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2EC0 003BEB20  3B A0 00 01 */	li r29, 1
/* 803C2EC4 003BEB24  48 00 02 9C */	b lbl_803C3160
/* 803C2EC8 003BEB28  7F 43 D3 78 */	mr r3, r26
/* 803C2ECC 003BEB2C  7F 64 DB 78 */	mr r4, r27
/* 803C2ED0 003BEB30  4B FF CC 49 */	bl func_803BFB18
/* 803C2ED4 003BEB34  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2ED8 003BEB38  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2EDC 003BEB3C  40 82 00 0C */	bne lbl_803C2EE8
/* 803C2EE0 003BEB40  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2EE4 003BEB44  7F 80 01 94 */	addze r28, r0
lbl_803C2EE8:
/* 803C2EE8 003BEB48  7C 7A FA 14 */	add r3, r26, r31
/* 803C2EEC 003BEB4C  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C2EF0 003BEB50  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C2EF4 003BEB54  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C2EF8 003BEB58  7C 04 00 40 */	cmplw r4, r0
/* 803C2EFC 003BEB5C  41 81 02 64 */	bgt lbl_803C3160
/* 803C2F00 003BEB60  88 03 2D 5C */	lbz r0, 0x2d5c(r3)
/* 803C2F04 003BEB64  7C 00 07 74 */	extsb r0, r0
/* 803C2F08 003BEB68  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C2F0C 003BEB6C  40 80 02 54 */	bge lbl_803C3160
/* 803C2F10 003BEB70  38 00 00 04 */	li r0, 4
/* 803C2F14 003BEB74  3B 80 00 D0 */	li r28, 0xd0
/* 803C2F18 003BEB78  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2F1C 003BEB7C  3B A0 00 01 */	li r29, 1
/* 803C2F20 003BEB80  48 00 02 40 */	b lbl_803C3160
/* 803C2F24 003BEB84  7F 43 D3 78 */	mr r3, r26
/* 803C2F28 003BEB88  7F 64 DB 78 */	mr r4, r27
/* 803C2F2C 003BEB8C  4B FF CB ED */	bl func_803BFB18
/* 803C2F30 003BEB90  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2F34 003BEB94  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2F38 003BEB98  40 82 00 0C */	bne lbl_803C2F44
/* 803C2F3C 003BEB9C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2F40 003BEBA0  7F 80 01 94 */	addze r28, r0
lbl_803C2F44:
/* 803C2F44 003BEBA4  7C 7A FA 14 */	add r3, r26, r31
/* 803C2F48 003BEBA8  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C2F4C 003BEBAC  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C2F50 003BEBB0  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C2F54 003BEBB4  7C 04 00 40 */	cmplw r4, r0
/* 803C2F58 003BEBB8  41 81 02 08 */	bgt lbl_803C3160
/* 803C2F5C 003BEBBC  88 03 2D 5D */	lbz r0, 0x2d5d(r3)
/* 803C2F60 003BEBC0  7C 00 07 74 */	extsb r0, r0
/* 803C2F64 003BEBC4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C2F68 003BEBC8  40 80 01 F8 */	bge lbl_803C3160
/* 803C2F6C 003BEBCC  38 00 00 05 */	li r0, 5
/* 803C2F70 003BEBD0  3B 80 00 D0 */	li r28, 0xd0
/* 803C2F74 003BEBD4  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C2F78 003BEBD8  3B A0 00 01 */	li r29, 1
/* 803C2F7C 003BEBDC  48 00 01 E4 */	b lbl_803C3160
/* 803C2F80 003BEBE0  7F 43 D3 78 */	mr r3, r26
/* 803C2F84 003BEBE4  7F 64 DB 78 */	mr r4, r27
/* 803C2F88 003BEBE8  4B FF CB 91 */	bl func_803BFB18
/* 803C2F8C 003BEBEC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2F90 003BEBF0  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2F94 003BEBF4  40 82 00 0C */	bne lbl_803C2FA0
/* 803C2F98 003BEBF8  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2F9C 003BEBFC  7F 80 01 94 */	addze r28, r0
lbl_803C2FA0:
/* 803C2FA0 003BEC00  7C 7A FA 14 */	add r3, r26, r31
/* 803C2FA4 003BEC04  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C2FA8 003BEC08  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C2FAC 003BEC0C  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C2FB0 003BEC10  7C 04 00 40 */	cmplw r4, r0
/* 803C2FB4 003BEC14  41 81 01 AC */	bgt lbl_803C3160
/* 803C2FB8 003BEC18  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C2FBC 003BEC1C  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803C2FC0 003BEC20  40 82 01 A0 */	bne lbl_803C3160
/* 803C2FC4 003BEC24  3B 80 00 D1 */	li r28, 0xd1
/* 803C2FC8 003BEC28  3B A0 00 01 */	li r29, 1
/* 803C2FCC 003BEC2C  48 00 01 94 */	b lbl_803C3160
/* 803C2FD0 003BEC30  7F 43 D3 78 */	mr r3, r26
/* 803C2FD4 003BEC34  7F 64 DB 78 */	mr r4, r27
/* 803C2FD8 003BEC38  4B FF CB 41 */	bl func_803BFB18
/* 803C2FDC 003BEC3C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C2FE0 003BEC40  28 00 00 52 */	cmplwi r0, 0x52
/* 803C2FE4 003BEC44  40 82 00 0C */	bne lbl_803C2FF0
/* 803C2FE8 003BEC48  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C2FEC 003BEC4C  7F 80 01 94 */	addze r28, r0
lbl_803C2FF0:
/* 803C2FF0 003BEC50  7F FA FA 14 */	add r31, r26, r31
/* 803C2FF4 003BEC54  80 7E 2D 8C */	lwz r3, 0x2d8c(r30)
/* 803C2FF8 003BEC58  80 1F 2D 90 */	lwz r0, 0x2d90(r31)
/* 803C2FFC 003BEC5C  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3000 003BEC60  7C 03 00 40 */	cmplw r3, r0
/* 803C3004 003BEC64  41 81 01 5C */	bgt lbl_803C3160
/* 803C3008 003BEC68  38 00 00 05 */	li r0, 5
/* 803C300C 003BEC6C  38 80 00 00 */	li r4, 0
/* 803C3010 003BEC70  7C 09 03 A6 */	mtctr r0
lbl_803C3014:
/* 803C3014 003BEC74  7C 7F 22 14 */	add r3, r31, r4
/* 803C3018 003BEC78  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C301C 003BEC7C  7C 00 07 74 */	extsb r0, r0
/* 803C3020 003BEC80  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3024 003BEC84  41 80 00 0C */	blt lbl_803C3030
/* 803C3028 003BEC88  38 84 00 01 */	addi r4, r4, 1
/* 803C302C 003BEC8C  42 00 FF E8 */	bdnz lbl_803C3014
lbl_803C3030:
/* 803C3030 003BEC90  2C 04 00 05 */	cmpwi r4, 5
/* 803C3034 003BEC94  41 82 01 2C */	beq lbl_803C3160
/* 803C3038 003BEC98  3B 20 00 05 */	li r25, 5
lbl_803C303C:
/* 803C303C 003BEC9C  48 01 67 7D */	bl func_803D97B8
/* 803C3040 003BECA0  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803C3044 003BECA4  7C 03 CB D6 */	divw r0, r3, r25
/* 803C3048 003BECA8  7C 00 C9 D6 */	mullw r0, r0, r25
/* 803C304C 003BECAC  7C 80 18 50 */	subf r4, r0, r3
/* 803C3050 003BECB0  7C 7F 22 14 */	add r3, r31, r4
/* 803C3054 003BECB4  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C3058 003BECB8  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C305C 003BECBC  41 82 FF E0 */	beq lbl_803C303C
/* 803C3060 003BECC0  38 04 00 01 */	addi r0, r4, 1
/* 803C3064 003BECC4  3B 80 00 D2 */	li r28, 0xd2
/* 803C3068 003BECC8  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C306C 003BECCC  3B A0 00 01 */	li r29, 1
/* 803C3070 003BECD0  48 00 00 F0 */	b lbl_803C3160
/* 803C3074 003BECD4  38 00 00 08 */	li r0, 8
/* 803C3078 003BECD8  38 A0 00 00 */	li r5, 0
/* 803C307C 003BECDC  38 60 00 06 */	li r3, 6
/* 803C3080 003BECE0  7C 09 03 A6 */	mtctr r0
lbl_803C3084:
/* 803C3084 003BECE4  7C 9E 2A 14 */	add r4, r30, r5
/* 803C3088 003BECE8  88 04 2D 58 */	lbz r0, 0x2d58(r4)
/* 803C308C 003BECEC  7C 00 07 74 */	extsb r0, r0
/* 803C3090 003BECF0  2C 00 00 06 */	cmpwi r0, 6
/* 803C3094 003BECF4  40 80 00 0C */	bge lbl_803C30A0
/* 803C3098 003BECF8  98 64 2D 58 */	stb r3, 0x2d58(r4)
/* 803C309C 003BECFC  3B A0 00 01 */	li r29, 1
lbl_803C30A0:
/* 803C30A0 003BED00  38 A5 00 01 */	addi r5, r5, 1
/* 803C30A4 003BED04  42 00 FF E0 */	bdnz lbl_803C3084
/* 803C30A8 003BED08  2C 1D 00 01 */	cmpwi r29, 1
/* 803C30AC 003BED0C  40 82 00 B4 */	bne lbl_803C3160
/* 803C30B0 003BED10  3B 80 00 D3 */	li r28, 0xd3
/* 803C30B4 003BED14  48 00 00 AC */	b lbl_803C3160
/* 803C30B8 003BED18  80 1E 2D B0 */	lwz r0, 0x2db0(r30)
/* 803C30BC 003BED1C  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803C30C0 003BED20  41 82 00 A0 */	beq lbl_803C3160
/* 803C30C4 003BED24  38 00 00 06 */	li r0, 6
/* 803C30C8 003BED28  3B 80 00 D4 */	li r28, 0xd4
/* 803C30CC 003BED2C  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C30D0 003BED30  3B A0 00 01 */	li r29, 1
/* 803C30D4 003BED34  48 00 00 8C */	b lbl_803C3160
/* 803C30D8 003BED38  7F 43 D3 78 */	mr r3, r26
/* 803C30DC 003BED3C  7F 64 DB 78 */	mr r4, r27
/* 803C30E0 003BED40  4B FF CA 39 */	bl func_803BFB18
/* 803C30E4 003BED44  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C30E8 003BED48  28 00 00 52 */	cmplwi r0, 0x52
/* 803C30EC 003BED4C  40 82 00 0C */	bne lbl_803C30F8
/* 803C30F0 003BED50  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C30F4 003BED54  7F 80 01 94 */	addze r28, r0
lbl_803C30F8:
/* 803C30F8 003BED58  7C 7A FA 14 */	add r3, r26, r31
/* 803C30FC 003BED5C  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C3100 003BED60  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3104 003BED64  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3108 003BED68  7C 04 00 40 */	cmplw r4, r0
/* 803C310C 003BED6C  41 81 00 54 */	bgt lbl_803C3160
/* 803C3110 003BED70  3B 80 01 09 */	li r28, 0x109
/* 803C3114 003BED74  3B A0 00 01 */	li r29, 1
/* 803C3118 003BED78  48 00 00 48 */	b lbl_803C3160
/* 803C311C 003BED7C  7F 43 D3 78 */	mr r3, r26
/* 803C3120 003BED80  7F 64 DB 78 */	mr r4, r27
/* 803C3124 003BED84  4B FF C9 F5 */	bl func_803BFB18
/* 803C3128 003BED88  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C312C 003BED8C  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3130 003BED90  40 82 00 0C */	bne lbl_803C313C
/* 803C3134 003BED94  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3138 003BED98  7F 80 01 94 */	addze r28, r0
lbl_803C313C:
/* 803C313C 003BED9C  7C 7A FA 14 */	add r3, r26, r31
/* 803C3140 003BEDA0  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C3144 003BEDA4  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3148 003BEDA8  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C314C 003BEDAC  7C 04 00 40 */	cmplw r4, r0
/* 803C3150 003BEDB0  41 81 00 10 */	bgt lbl_803C3160
/* 803C3154 003BEDB4  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C3158 003BEDB8  60 00 00 08 */	ori r0, r0, 8
/* 803C315C 003BEDBC  90 03 2D CC */	stw r0, 0x2dcc(r3)
lbl_803C3160:
/* 803C3160 003BEDC0  2C 1D 00 01 */	cmpwi r29, 1
/* 803C3164 003BEDC4  40 82 00 3C */	bne lbl_803C31A0
/* 803C3168 003BEDC8  93 7A 01 18 */	stw r27, 0x118(r26)
/* 803C316C 003BEDCC  7F 43 D3 78 */	mr r3, r26
/* 803C3170 003BEDD0  7F 64 DB 78 */	mr r4, r27
/* 803C3174 003BEDD4  48 00 0B F9 */	bl func_803C3D6C
/* 803C3178 003BEDD8  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C317C 003BEDDC  7F 43 D3 78 */	mr r3, r26
/* 803C3180 003BEDE0  90 1A 01 28 */	stw r0, 0x128(r26)
/* 803C3184 003BEDE4  7F 85 E3 78 */	mr r5, r28
/* 803C3188 003BEDE8  38 80 00 02 */	li r4, 2
/* 803C318C 003BEDEC  4B FF 78 49 */	bl func_803BA9D4
/* 803C3190 003BEDF0  80 7A 00 08 */	lwz r3, 8(r26)
/* 803C3194 003BEDF4  38 00 00 15 */	li r0, 0x15
/* 803C3198 003BEDF8  90 7A 00 0C */	stw r3, 0xc(r26)
/* 803C319C 003BEDFC  90 1A 00 08 */	stw r0, 8(r26)
lbl_803C31A0:
/* 803C31A0 003BEE00  39 61 00 30 */	addi r11, r1, 0x30
/* 803C31A4 003BEE04  7F A3 EB 78 */	mr r3, r29
/* 803C31A8 003BEE08  4B E0 3F C1 */	bl _restgpr_24
/* 803C31AC 003BEE0C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C31B0 003BEE10  7C 08 03 A6 */	mtlr r0
/* 803C31B4 003BEE14  38 21 00 30 */	addi r1, r1, 0x30
/* 803C31B8 003BEE18  4E 80 00 20 */	blr 

.global func_803C31BC
func_803C31BC:
/* 803C31BC 003BEE1C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C31C0 003BEE20  7C 08 02 A6 */	mflr r0
/* 803C31C4 003BEE24  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C31C8 003BEE28  39 61 00 20 */	addi r11, r1, 0x20
/* 803C31CC 003BEE2C  4B E0 3F 59 */	bl _savegpr_26
/* 803C31D0 003BEE30  7C 9A 23 78 */	mr r26, r4
/* 803C31D4 003BEE34  7C BB 2B 78 */	mr r27, r5
/* 803C31D8 003BEE38  7F 43 D3 78 */	mr r3, r26
/* 803C31DC 003BEE3C  3B 80 00 00 */	li r28, 0
/* 803C31E0 003BEE40  7F 64 DB 78 */	mr r4, r27
/* 803C31E4 003BEE44  48 00 0B 89 */	bl func_803C3D6C
/* 803C31E8 003BEE48  7C 60 1B 78 */	mr r0, r3
/* 803C31EC 003BEE4C  80 7A 21 20 */	lwz r3, 0x2120(r26)
/* 803C31F0 003BEE50  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C31F4 003BEE54  48 01 65 79 */	bl func_803D976C
/* 803C31F8 003BEE58  38 80 00 01 */	li r4, 1
/* 803C31FC 003BEE5C  48 01 60 31 */	bl func_803D922C
/* 803C3200 003BEE60  7C 7E 1B 78 */	mr r30, r3
/* 803C3204 003BEE64  7F 43 D3 78 */	mr r3, r26
/* 803C3208 003BEE68  7F 64 DB 78 */	mr r4, r27
/* 803C320C 003BEE6C  38 A0 00 00 */	li r5, 0
/* 803C3210 003BEE70  48 00 0E F1 */	bl func_803C4100
/* 803C3214 003BEE74  1F BB 00 C0 */	mulli r29, r27, 0xc0
/* 803C3218 003BEE78  7F FA EA 14 */	add r31, r26, r29
/* 803C321C 003BEE7C  80 1F 2D 8C */	lwz r0, 0x2d8c(r31)
/* 803C3220 003BEE80  2C 00 00 00 */	cmpwi r0, 0
/* 803C3224 003BEE84  41 82 01 18 */	beq lbl_803C333C
/* 803C3228 003BEE88  2C 1E 00 6C */	cmpwi r30, 0x6c
/* 803C322C 003BEE8C  41 82 00 38 */	beq lbl_803C3264
/* 803C3230 003BEE90  40 80 00 CC */	bge lbl_803C32FC
/* 803C3234 003BEE94  2C 1E 00 44 */	cmpwi r30, 0x44
/* 803C3238 003BEE98  41 82 00 08 */	beq lbl_803C3240
/* 803C323C 003BEE9C  48 00 00 C0 */	b lbl_803C32FC
lbl_803C3240:
/* 803C3240 003BEEA0  80 7F 2D 90 */	lwz r3, 0x2d90(r31)
/* 803C3244 003BEEA4  7C 00 18 40 */	cmplw r0, r3
/* 803C3248 003BEEA8  40 80 00 B4 */	bge lbl_803C32FC
/* 803C324C 003BEEAC  38 80 00 10 */	li r4, 0x10
/* 803C3250 003BEEB0  4B FF D9 19 */	bl func_803C0B68
/* 803C3254 003BEEB4  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C3258 003BEEB8  3B A0 00 D5 */	li r29, 0xd5
/* 803C325C 003BEEBC  3B 80 00 01 */	li r28, 1
/* 803C3260 003BEEC0  48 00 00 9C */	b lbl_803C32FC
lbl_803C3264:
/* 803C3264 003BEEC4  7F 43 D3 78 */	mr r3, r26
/* 803C3268 003BEEC8  7F 64 DB 78 */	mr r4, r27
/* 803C326C 003BEECC  38 A0 00 1B */	li r5, 0x1b
/* 803C3270 003BEED0  38 C0 00 00 */	li r6, 0
/* 803C3274 003BEED4  4B FF 7A 31 */	bl func_803BACA4
/* 803C3278 003BEED8  2C 03 00 03 */	cmpwi r3, 3
/* 803C327C 003BEEDC  41 82 00 20 */	beq lbl_803C329C
/* 803C3280 003BEEE0  7F 43 D3 78 */	mr r3, r26
/* 803C3284 003BEEE4  7F 64 DB 78 */	mr r4, r27
/* 803C3288 003BEEE8  38 A0 00 1C */	li r5, 0x1c
/* 803C328C 003BEEEC  38 C0 00 00 */	li r6, 0
/* 803C3290 003BEEF0  4B FF 7A 15 */	bl func_803BACA4
/* 803C3294 003BEEF4  2C 03 00 03 */	cmpwi r3, 3
/* 803C3298 003BEEF8  40 82 00 30 */	bne lbl_803C32C8
lbl_803C329C:
/* 803C329C 003BEEFC  7C 7A EA 14 */	add r3, r26, r29
/* 803C32A0 003BEF00  80 1F 2D 8C */	lwz r0, 0x2d8c(r31)
/* 803C32A4 003BEF04  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C32A8 003BEF08  7C 00 18 40 */	cmplw r0, r3
/* 803C32AC 003BEF0C  40 80 00 50 */	bge lbl_803C32FC
/* 803C32B0 003BEF10  38 80 00 10 */	li r4, 0x10
/* 803C32B4 003BEF14  4B FF D8 B5 */	bl func_803C0B68
/* 803C32B8 003BEF18  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C32BC 003BEF1C  3B A0 00 D5 */	li r29, 0xd5
/* 803C32C0 003BEF20  3B 80 00 01 */	li r28, 1
/* 803C32C4 003BEF24  48 00 00 38 */	b lbl_803C32FC
lbl_803C32C8:
/* 803C32C8 003BEF28  7F 43 D3 78 */	mr r3, r26
/* 803C32CC 003BEF2C  7F 64 DB 78 */	mr r4, r27
/* 803C32D0 003BEF30  4B FF C8 49 */	bl func_803BFB18
/* 803C32D4 003BEF34  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C32D8 003BEF38  28 00 00 62 */	cmplwi r0, 0x62
/* 803C32DC 003BEF3C  41 82 00 20 */	beq lbl_803C32FC
/* 803C32E0 003BEF40  80 1F 2D 90 */	lwz r0, 0x2d90(r31)
/* 803C32E4 003BEF44  38 80 00 08 */	li r4, 8
/* 803C32E8 003BEF48  1C 60 FF FF */	mulli r3, r0, -1
/* 803C32EC 003BEF4C  4B FF D8 7D */	bl func_803C0B68
/* 803C32F0 003BEF50  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C32F4 003BEF54  3B A0 00 D7 */	li r29, 0xd7
/* 803C32F8 003BEF58  3B 80 00 01 */	li r28, 1
lbl_803C32FC:
/* 803C32FC 003BEF5C  2C 1C 00 01 */	cmpwi r28, 1
/* 803C3300 003BEF60  40 82 00 3C */	bne lbl_803C333C
/* 803C3304 003BEF64  93 7A 01 18 */	stw r27, 0x118(r26)
/* 803C3308 003BEF68  7F 43 D3 78 */	mr r3, r26
/* 803C330C 003BEF6C  7F 64 DB 78 */	mr r4, r27
/* 803C3310 003BEF70  48 00 0A 5D */	bl func_803C3D6C
/* 803C3314 003BEF74  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C3318 003BEF78  7F 43 D3 78 */	mr r3, r26
/* 803C331C 003BEF7C  90 1A 01 28 */	stw r0, 0x128(r26)
/* 803C3320 003BEF80  7F A5 EB 78 */	mr r5, r29
/* 803C3324 003BEF84  38 80 00 02 */	li r4, 2
/* 803C3328 003BEF88  4B FF 76 AD */	bl func_803BA9D4
/* 803C332C 003BEF8C  80 7A 00 08 */	lwz r3, 8(r26)
/* 803C3330 003BEF90  38 00 00 15 */	li r0, 0x15
/* 803C3334 003BEF94  90 7A 00 0C */	stw r3, 0xc(r26)
/* 803C3338 003BEF98  90 1A 00 08 */	stw r0, 8(r26)
lbl_803C333C:
/* 803C333C 003BEF9C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C3340 003BEFA0  7F 83 E3 78 */	mr r3, r28
/* 803C3344 003BEFA4  4B E0 3E 2D */	bl _restgpr_26
/* 803C3348 003BEFA8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C334C 003BEFAC  7C 08 03 A6 */	mtlr r0
/* 803C3350 003BEFB0  38 21 00 20 */	addi r1, r1, 0x20
/* 803C3354 003BEFB4  4E 80 00 20 */	blr 

.global func_803C3358
func_803C3358:
/* 803C3358 003BEFB8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C335C 003BEFBC  7C 08 02 A6 */	mflr r0
/* 803C3360 003BEFC0  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C3364 003BEFC4  39 61 00 30 */	addi r11, r1, 0x30
/* 803C3368 003BEFC8  4B E0 3D B1 */	bl _savegpr_23
/* 803C336C 003BEFCC  7C 99 23 78 */	mr r25, r4
/* 803C3370 003BEFD0  7C BA 2B 78 */	mr r26, r5
/* 803C3374 003BEFD4  7C 78 1B 78 */	mr r24, r3
/* 803C3378 003BEFD8  7C DB 33 78 */	mr r27, r6
/* 803C337C 003BEFDC  7F 23 CB 78 */	mr r3, r25
/* 803C3380 003BEFE0  7F 44 D3 78 */	mr r4, r26
/* 803C3384 003BEFE4  3B A0 00 00 */	li r29, 0
/* 803C3388 003BEFE8  48 00 09 E5 */	bl func_803C3D6C
/* 803C338C 003BEFEC  7C 60 1B 78 */	mr r0, r3
/* 803C3390 003BEFF0  80 79 21 20 */	lwz r3, 0x2120(r25)
/* 803C3394 003BEFF4  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C3398 003BEFF8  48 01 63 D5 */	bl func_803D976C
/* 803C339C 003BEFFC  38 80 00 01 */	li r4, 1
/* 803C33A0 003BF000  48 01 5E 8D */	bl func_803D922C
/* 803C33A4 003BF004  7C 77 1B 78 */	mr r23, r3
/* 803C33A8 003BF008  7F 23 CB 78 */	mr r3, r25
/* 803C33AC 003BF00C  7F 44 D3 78 */	mr r4, r26
/* 803C33B0 003BF010  38 A0 00 00 */	li r5, 0
/* 803C33B4 003BF014  48 00 0D 4D */	bl func_803C4100
/* 803C33B8 003BF018  1F FA 00 C0 */	mulli r31, r26, 0xc0
/* 803C33BC 003BF01C  7C 7C 1B 78 */	mr r28, r3
/* 803C33C0 003BF020  7F D9 FA 14 */	add r30, r25, r31
/* 803C33C4 003BF024  80 BE 2D 8C */	lwz r5, 0x2d8c(r30)
/* 803C33C8 003BF028  2C 05 00 00 */	cmpwi r5, 0
/* 803C33CC 003BF02C  41 82 08 2C */	beq lbl_803C3BF8
/* 803C33D0 003BF030  28 17 00 35 */	cmplwi r23, 0x35
/* 803C33D4 003BF034  41 81 08 08 */	bgt lbl_803C3BDC
/* 803C33D8 003BF038  3C 80 80 47 */	lis r4, lbl_80473BE4@ha
/* 803C33DC 003BF03C  56 E0 10 3A */	slwi r0, r23, 2
/* 803C33E0 003BF040  38 84 3B E4 */	addi r4, r4, lbl_80473BE4@l
/* 803C33E4 003BF044  7C 84 00 2E */	lwzx r4, r4, r0
/* 803C33E8 003BF048  7C 89 03 A6 */	mtctr r4
/* 803C33EC 003BF04C  4E 80 04 20 */	bctr 
/* 803C33F0 003BF050  80 1E 2D 90 */	lwz r0, 0x2d90(r30)
/* 803C33F4 003BF054  54 00 F8 7E */	srwi r0, r0, 1
/* 803C33F8 003BF058  7C 05 00 40 */	cmplw r5, r0
/* 803C33FC 003BF05C  41 81 07 E0 */	bgt lbl_803C3BDC
/* 803C3400 003BF060  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C3404 003BF064  38 00 00 C6 */	li r0, 0xc6
/* 803C3408 003BF068  3B A0 00 01 */	li r29, 1
/* 803C340C 003BF06C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3410 003BF070  48 00 07 CC */	b lbl_803C3BDC
/* 803C3414 003BF074  80 9E 2D 90 */	lwz r4, 0x2d90(r30)
/* 803C3418 003BF078  54 80 F8 7E */	srwi r0, r4, 1
/* 803C341C 003BF07C  7C 05 00 40 */	cmplw r5, r0
/* 803C3420 003BF080  41 81 07 BC */	bgt lbl_803C3BDC
/* 803C3424 003BF084  7C 63 21 D6 */	mullw r3, r3, r4
/* 803C3428 003BF088  38 80 00 64 */	li r4, 0x64
/* 803C342C 003BF08C  4B FF D7 3D */	bl func_803C0B68
/* 803C3430 003BF090  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C3434 003BF094  38 00 00 C6 */	li r0, 0xc6
/* 803C3438 003BF098  3B A0 00 01 */	li r29, 1
/* 803C343C 003BF09C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3440 003BF0A0  48 00 07 9C */	b lbl_803C3BDC
/* 803C3444 003BF0A4  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C3448 003BF0A8  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803C344C 003BF0AC  41 82 07 90 */	beq lbl_803C3BDC
/* 803C3450 003BF0B0  38 00 00 C7 */	li r0, 0xc7
/* 803C3454 003BF0B4  3B A0 00 01 */	li r29, 1
/* 803C3458 003BF0B8  90 1B 00 00 */	stw r0, 0(r27)
/* 803C345C 003BF0BC  48 00 07 80 */	b lbl_803C3BDC
/* 803C3460 003BF0C0  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C3464 003BF0C4  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C3468 003BF0C8  41 82 07 74 */	beq lbl_803C3BDC
/* 803C346C 003BF0CC  38 00 00 C8 */	li r0, 0xc8
/* 803C3470 003BF0D0  3B A0 00 01 */	li r29, 1
/* 803C3474 003BF0D4  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3478 003BF0D8  48 00 07 64 */	b lbl_803C3BDC
/* 803C347C 003BF0DC  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C3480 003BF0E0  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C3484 003BF0E4  41 82 07 58 */	beq lbl_803C3BDC
/* 803C3488 003BF0E8  38 00 00 C9 */	li r0, 0xc9
/* 803C348C 003BF0EC  3B A0 00 01 */	li r29, 1
/* 803C3490 003BF0F0  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3494 003BF0F4  48 00 07 48 */	b lbl_803C3BDC
/* 803C3498 003BF0F8  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C349C 003BF0FC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C34A0 003BF100  41 82 07 3C */	beq lbl_803C3BDC
/* 803C34A4 003BF104  38 00 00 CA */	li r0, 0xca
/* 803C34A8 003BF108  3B A0 00 01 */	li r29, 1
/* 803C34AC 003BF10C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C34B0 003BF110  48 00 07 2C */	b lbl_803C3BDC
/* 803C34B4 003BF114  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C34B8 003BF118  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C34BC 003BF11C  41 82 07 20 */	beq lbl_803C3BDC
/* 803C34C0 003BF120  38 00 00 CB */	li r0, 0xcb
/* 803C34C4 003BF124  3B A0 00 01 */	li r29, 1
/* 803C34C8 003BF128  90 1B 00 00 */	stw r0, 0(r27)
/* 803C34CC 003BF12C  48 00 07 10 */	b lbl_803C3BDC
/* 803C34D0 003BF130  38 00 00 04 */	li r0, 4
/* 803C34D4 003BF134  3A E0 00 00 */	li r23, 0
/* 803C34D8 003BF138  38 60 00 00 */	li r3, 0
/* 803C34DC 003BF13C  7C 09 03 A6 */	mtctr r0
lbl_803C34E0:
/* 803C34E0 003BF140  7C 9E 1A 14 */	add r4, r30, r3
/* 803C34E4 003BF144  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803C34E8 003BF148  2C 00 00 00 */	cmpwi r0, 0
/* 803C34EC 003BF14C  41 82 00 14 */	beq lbl_803C3500
/* 803C34F0 003BF150  7C 9E BA 14 */	add r4, r30, r23
/* 803C34F4 003BF154  88 04 2D 6C */	lbz r0, 0x2d6c(r4)
/* 803C34F8 003BF158  2C 00 00 00 */	cmpwi r0, 0
/* 803C34FC 003BF15C  41 82 00 10 */	beq lbl_803C350C
lbl_803C3500:
/* 803C3500 003BF160  3A F7 00 01 */	addi r23, r23, 1
/* 803C3504 003BF164  38 63 00 02 */	addi r3, r3, 2
/* 803C3508 003BF168  42 00 FF D8 */	bdnz lbl_803C34E0
lbl_803C350C:
/* 803C350C 003BF16C  2C 17 00 04 */	cmpwi r23, 4
/* 803C3510 003BF170  41 82 06 CC */	beq lbl_803C3BDC
/* 803C3514 003BF174  7C 79 FA 14 */	add r3, r25, r31
/* 803C3518 003BF178  7F 85 E3 78 */	mr r5, r28
/* 803C351C 003BF17C  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803C3520 003BF180  38 97 00 1F */	addi r4, r23, 0x1f
/* 803C3524 003BF184  4B FF 82 21 */	bl func_803BB744
/* 803C3528 003BF188  7F 03 C3 78 */	mr r3, r24
/* 803C352C 003BF18C  7F 24 CB 78 */	mr r4, r25
/* 803C3530 003BF190  7F 45 D3 78 */	mr r5, r26
/* 803C3534 003BF194  4B FF 9E 41 */	bl func_803BD374
/* 803C3538 003BF198  7C 79 FA 14 */	add r3, r25, r31
/* 803C353C 003BF19C  56 E0 08 3C */	slwi r0, r23, 1
/* 803C3540 003BF1A0  7C 63 02 14 */	add r3, r3, r0
/* 803C3544 003BF1A4  3B A0 00 01 */	li r29, 1
/* 803C3548 003BF1A8  A0 63 2D 4C */	lhz r3, 0x2d4c(r3)
/* 803C354C 003BF1AC  38 00 00 CC */	li r0, 0xcc
/* 803C3550 003BF1B0  90 79 01 24 */	stw r3, 0x124(r25)
/* 803C3554 003BF1B4  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3558 003BF1B8  48 00 06 84 */	b lbl_803C3BDC
/* 803C355C 003BF1BC  80 1E 2D B0 */	lwz r0, 0x2db0(r30)
/* 803C3560 003BF1C0  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C3564 003BF1C4  41 82 06 78 */	beq lbl_803C3BDC
/* 803C3568 003BF1C8  38 00 00 CD */	li r0, 0xcd
/* 803C356C 003BF1CC  3B A0 00 01 */	li r29, 1
/* 803C3570 003BF1D0  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3574 003BF1D4  48 00 06 68 */	b lbl_803C3BDC
/* 803C3578 003BF1D8  80 7E 2D AC */	lwz r3, 0x2dac(r30)
/* 803C357C 003BF1DC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803C3580 003BF1E0  40 82 00 10 */	bne lbl_803C3590
/* 803C3584 003BF1E4  80 1E 2D B0 */	lwz r0, 0x2db0(r30)
/* 803C3588 003BF1E8  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C358C 003BF1EC  41 82 06 50 */	beq lbl_803C3BDC
lbl_803C3590:
/* 803C3590 003BF1F0  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803C3594 003BF1F4  41 82 00 0C */	beq lbl_803C35A0
/* 803C3598 003BF1F8  38 00 00 C7 */	li r0, 0xc7
/* 803C359C 003BF1FC  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C35A0:
/* 803C35A0 003BF200  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C35A4 003BF204  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C35A8 003BF208  41 82 00 1C */	beq lbl_803C35C4
/* 803C35AC 003BF20C  38 00 00 C8 */	li r0, 0xc8
/* 803C35B0 003BF210  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803C35B4 003BF214  90 1B 00 00 */	stw r0, 0(r27)
/* 803C35B8 003BF218  38 63 CD E8 */	addi r3, r3, lbl_8048CDE8@l
/* 803C35BC 003BF21C  38 00 00 05 */	li r0, 5
/* 803C35C0 003BF220  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803C35C4:
/* 803C35C4 003BF224  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C35C8 003BF228  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C35CC 003BF22C  41 82 00 0C */	beq lbl_803C35D8
/* 803C35D0 003BF230  38 00 00 C9 */	li r0, 0xc9
/* 803C35D4 003BF234  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C35D8:
/* 803C35D8 003BF238  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C35DC 003BF23C  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C35E0 003BF240  41 82 00 0C */	beq lbl_803C35EC
/* 803C35E4 003BF244  38 00 00 CA */	li r0, 0xca
/* 803C35E8 003BF248  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C35EC:
/* 803C35EC 003BF24C  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C35F0 003BF250  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C35F4 003BF254  41 82 00 1C */	beq lbl_803C3610
/* 803C35F8 003BF258  38 00 00 CB */	li r0, 0xcb
/* 803C35FC 003BF25C  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803C3600 003BF260  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3604 003BF264  38 63 CD E8 */	addi r3, r3, lbl_8048CDE8@l
/* 803C3608 003BF268  38 00 00 08 */	li r0, 8
/* 803C360C 003BF26C  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803C3610:
/* 803C3610 003BF270  7C 79 FA 14 */	add r3, r25, r31
/* 803C3614 003BF274  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C3618 003BF278  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C361C 003BF27C  41 82 00 0C */	beq lbl_803C3628
/* 803C3620 003BF280  38 00 00 CD */	li r0, 0xcd
/* 803C3624 003BF284  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C3628:
/* 803C3628 003BF288  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803C362C 003BF28C  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803C3630 003BF290  41 82 00 18 */	beq lbl_803C3648
/* 803C3634 003BF294  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C3638 003BF298  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C363C 003BF29C  41 82 00 0C */	beq lbl_803C3648
/* 803C3640 003BF2A0  38 00 00 CE */	li r0, 0xce
/* 803C3644 003BF2A4  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C3648:
/* 803C3648 003BF2A8  3B A0 00 01 */	li r29, 1
/* 803C364C 003BF2AC  48 00 05 90 */	b lbl_803C3BDC
/* 803C3650 003BF2B0  38 00 00 08 */	li r0, 8
/* 803C3654 003BF2B4  38 A0 00 00 */	li r5, 0
/* 803C3658 003BF2B8  38 60 00 06 */	li r3, 6
/* 803C365C 003BF2BC  7C 09 03 A6 */	mtctr r0
lbl_803C3660:
/* 803C3660 003BF2C0  7C 9E 2A 14 */	add r4, r30, r5
/* 803C3664 003BF2C4  88 04 2D 58 */	lbz r0, 0x2d58(r4)
/* 803C3668 003BF2C8  7C 00 07 74 */	extsb r0, r0
/* 803C366C 003BF2CC  2C 00 00 06 */	cmpwi r0, 6
/* 803C3670 003BF2D0  40 80 00 0C */	bge lbl_803C367C
/* 803C3674 003BF2D4  98 64 2D 58 */	stb r3, 0x2d58(r4)
/* 803C3678 003BF2D8  3B A0 00 01 */	li r29, 1
lbl_803C367C:
/* 803C367C 003BF2DC  38 A5 00 01 */	addi r5, r5, 1
/* 803C3680 003BF2E0  42 00 FF E0 */	bdnz lbl_803C3660
/* 803C3684 003BF2E4  2C 1D 00 01 */	cmpwi r29, 1
/* 803C3688 003BF2E8  40 82 05 54 */	bne lbl_803C3BDC
/* 803C368C 003BF2EC  38 00 00 D3 */	li r0, 0xd3
/* 803C3690 003BF2F0  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3694 003BF2F4  48 00 05 48 */	b lbl_803C3BDC
/* 803C3698 003BF2F8  80 1E 2D B0 */	lwz r0, 0x2db0(r30)
/* 803C369C 003BF2FC  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803C36A0 003BF300  41 82 05 3C */	beq lbl_803C3BDC
/* 803C36A4 003BF304  38 60 00 06 */	li r3, 6
/* 803C36A8 003BF308  38 00 00 D4 */	li r0, 0xd4
/* 803C36AC 003BF30C  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C36B0 003BF310  3B A0 00 01 */	li r29, 1
/* 803C36B4 003BF314  90 1B 00 00 */	stw r0, 0(r27)
/* 803C36B8 003BF318  48 00 05 24 */	b lbl_803C3BDC
/* 803C36BC 003BF31C  7F 23 CB 78 */	mr r3, r25
/* 803C36C0 003BF320  7F 44 D3 78 */	mr r4, r26
/* 803C36C4 003BF324  4B FF C4 55 */	bl func_803BFB18
/* 803C36C8 003BF328  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C36CC 003BF32C  28 00 00 52 */	cmplwi r0, 0x52
/* 803C36D0 003BF330  40 82 00 0C */	bne lbl_803C36DC
/* 803C36D4 003BF334  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C36D8 003BF338  7F 80 01 94 */	addze r28, r0
lbl_803C36DC:
/* 803C36DC 003BF33C  7C 79 FA 14 */	add r3, r25, r31
/* 803C36E0 003BF340  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C36E4 003BF344  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C36E8 003BF348  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C36EC 003BF34C  7C 04 00 40 */	cmplw r4, r0
/* 803C36F0 003BF350  41 81 04 EC */	bgt lbl_803C3BDC
/* 803C36F4 003BF354  38 00 01 09 */	li r0, 0x109
/* 803C36F8 003BF358  3B A0 00 01 */	li r29, 1
/* 803C36FC 003BF35C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3700 003BF360  48 00 04 DC */	b lbl_803C3BDC
/* 803C3704 003BF364  7F 23 CB 78 */	mr r3, r25
/* 803C3708 003BF368  7F 44 D3 78 */	mr r4, r26
/* 803C370C 003BF36C  4B FF C4 0D */	bl func_803BFB18
/* 803C3710 003BF370  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3714 003BF374  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3718 003BF378  40 82 00 0C */	bne lbl_803C3724
/* 803C371C 003BF37C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3720 003BF380  7F 80 01 94 */	addze r28, r0
lbl_803C3724:
/* 803C3724 003BF384  7C 79 FA 14 */	add r3, r25, r31
/* 803C3728 003BF388  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C372C 003BF38C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3730 003BF390  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3734 003BF394  7C 04 00 40 */	cmplw r4, r0
/* 803C3738 003BF398  41 81 04 A4 */	bgt lbl_803C3BDC
/* 803C373C 003BF39C  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C3740 003BF3A0  60 00 00 08 */	ori r0, r0, 8
/* 803C3744 003BF3A4  90 03 2D CC */	stw r0, 0x2dcc(r3)
/* 803C3748 003BF3A8  48 00 04 94 */	b lbl_803C3BDC
/* 803C374C 003BF3AC  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C3750 003BF3B0  54 60 F8 7E */	srwi r0, r3, 1
/* 803C3754 003BF3B4  7C 05 00 40 */	cmplw r5, r0
/* 803C3758 003BF3B8  41 81 04 84 */	bgt lbl_803C3BDC
/* 803C375C 003BF3BC  7F 84 E3 78 */	mr r4, r28
/* 803C3760 003BF3C0  4B FF D4 09 */	bl func_803C0B68
/* 803C3764 003BF3C4  38 00 00 00 */	li r0, 0
/* 803C3768 003BF3C8  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C376C 003BF3CC  38 80 00 00 */	li r4, 0
/* 803C3770 003BF3D0  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C3774 003BF3D4  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C3778 003BF3D8  48 01 91 E1 */	bl func_803DC958
/* 803C377C 003BF3DC  7C 60 07 74 */	extsb r0, r3
/* 803C3780 003BF3E0  2C 00 FF FF */	cmpwi r0, -1
/* 803C3784 003BF3E4  40 82 00 10 */	bne lbl_803C3794
/* 803C3788 003BF3E8  38 00 00 CF */	li r0, 0xcf
/* 803C378C 003BF3EC  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3790 003BF3F0  48 00 00 0C */	b lbl_803C379C
lbl_803C3794:
/* 803C3794 003BF3F4  38 00 00 C6 */	li r0, 0xc6
/* 803C3798 003BF3F8  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C379C:
/* 803C379C 003BF3FC  3B A0 00 01 */	li r29, 1
/* 803C37A0 003BF400  48 00 04 3C */	b lbl_803C3BDC
/* 803C37A4 003BF404  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C37A8 003BF408  54 60 F8 7E */	srwi r0, r3, 1
/* 803C37AC 003BF40C  7C 05 00 40 */	cmplw r5, r0
/* 803C37B0 003BF410  41 81 04 2C */	bgt lbl_803C3BDC
/* 803C37B4 003BF414  7F 84 E3 78 */	mr r4, r28
/* 803C37B8 003BF418  4B FF D3 B1 */	bl func_803C0B68
/* 803C37BC 003BF41C  38 00 00 01 */	li r0, 1
/* 803C37C0 003BF420  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C37C4 003BF424  38 80 00 01 */	li r4, 1
/* 803C37C8 003BF428  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C37CC 003BF42C  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C37D0 003BF430  48 01 91 89 */	bl func_803DC958
/* 803C37D4 003BF434  7C 60 07 74 */	extsb r0, r3
/* 803C37D8 003BF438  2C 00 FF FF */	cmpwi r0, -1
/* 803C37DC 003BF43C  40 82 00 10 */	bne lbl_803C37EC
/* 803C37E0 003BF440  38 00 00 CF */	li r0, 0xcf
/* 803C37E4 003BF444  90 1B 00 00 */	stw r0, 0(r27)
/* 803C37E8 003BF448  48 00 00 0C */	b lbl_803C37F4
lbl_803C37EC:
/* 803C37EC 003BF44C  38 00 00 C6 */	li r0, 0xc6
/* 803C37F0 003BF450  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C37F4:
/* 803C37F4 003BF454  3B A0 00 01 */	li r29, 1
/* 803C37F8 003BF458  48 00 03 E4 */	b lbl_803C3BDC
/* 803C37FC 003BF45C  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C3800 003BF460  54 60 F8 7E */	srwi r0, r3, 1
/* 803C3804 003BF464  7C 05 00 40 */	cmplw r5, r0
/* 803C3808 003BF468  41 81 03 D4 */	bgt lbl_803C3BDC
/* 803C380C 003BF46C  7F 84 E3 78 */	mr r4, r28
/* 803C3810 003BF470  4B FF D3 59 */	bl func_803C0B68
/* 803C3814 003BF474  38 00 00 02 */	li r0, 2
/* 803C3818 003BF478  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C381C 003BF47C  38 80 00 02 */	li r4, 2
/* 803C3820 003BF480  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C3824 003BF484  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C3828 003BF488  48 01 91 31 */	bl func_803DC958
/* 803C382C 003BF48C  7C 60 07 74 */	extsb r0, r3
/* 803C3830 003BF490  2C 00 FF FF */	cmpwi r0, -1
/* 803C3834 003BF494  40 82 00 10 */	bne lbl_803C3844
/* 803C3838 003BF498  38 00 00 CF */	li r0, 0xcf
/* 803C383C 003BF49C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3840 003BF4A0  48 00 00 0C */	b lbl_803C384C
lbl_803C3844:
/* 803C3844 003BF4A4  38 00 00 C6 */	li r0, 0xc6
/* 803C3848 003BF4A8  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C384C:
/* 803C384C 003BF4AC  3B A0 00 01 */	li r29, 1
/* 803C3850 003BF4B0  48 00 03 8C */	b lbl_803C3BDC
/* 803C3854 003BF4B4  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C3858 003BF4B8  54 60 F8 7E */	srwi r0, r3, 1
/* 803C385C 003BF4BC  7C 05 00 40 */	cmplw r5, r0
/* 803C3860 003BF4C0  41 81 03 7C */	bgt lbl_803C3BDC
/* 803C3864 003BF4C4  7F 84 E3 78 */	mr r4, r28
/* 803C3868 003BF4C8  4B FF D3 01 */	bl func_803C0B68
/* 803C386C 003BF4CC  38 00 00 03 */	li r0, 3
/* 803C3870 003BF4D0  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C3874 003BF4D4  38 80 00 03 */	li r4, 3
/* 803C3878 003BF4D8  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C387C 003BF4DC  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C3880 003BF4E0  48 01 90 D9 */	bl func_803DC958
/* 803C3884 003BF4E4  7C 60 07 74 */	extsb r0, r3
/* 803C3888 003BF4E8  2C 00 FF FF */	cmpwi r0, -1
/* 803C388C 003BF4EC  40 82 00 10 */	bne lbl_803C389C
/* 803C3890 003BF4F0  38 00 00 CF */	li r0, 0xcf
/* 803C3894 003BF4F4  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3898 003BF4F8  48 00 00 0C */	b lbl_803C38A4
lbl_803C389C:
/* 803C389C 003BF4FC  38 00 00 C6 */	li r0, 0xc6
/* 803C38A0 003BF500  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C38A4:
/* 803C38A4 003BF504  3B A0 00 01 */	li r29, 1
/* 803C38A8 003BF508  48 00 03 34 */	b lbl_803C3BDC
/* 803C38AC 003BF50C  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803C38B0 003BF510  54 60 F8 7E */	srwi r0, r3, 1
/* 803C38B4 003BF514  7C 05 00 40 */	cmplw r5, r0
/* 803C38B8 003BF518  41 81 03 24 */	bgt lbl_803C3BDC
/* 803C38BC 003BF51C  7F 84 E3 78 */	mr r4, r28
/* 803C38C0 003BF520  4B FF D2 A9 */	bl func_803C0B68
/* 803C38C4 003BF524  38 00 00 04 */	li r0, 4
/* 803C38C8 003BF528  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C38CC 003BF52C  38 80 00 04 */	li r4, 4
/* 803C38D0 003BF530  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C38D4 003BF534  80 7E 2D A8 */	lwz r3, 0x2da8(r30)
/* 803C38D8 003BF538  48 01 90 81 */	bl func_803DC958
/* 803C38DC 003BF53C  7C 60 07 74 */	extsb r0, r3
/* 803C38E0 003BF540  2C 00 FF FF */	cmpwi r0, -1
/* 803C38E4 003BF544  40 82 00 10 */	bne lbl_803C38F4
/* 803C38E8 003BF548  38 00 00 CF */	li r0, 0xcf
/* 803C38EC 003BF54C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C38F0 003BF550  48 00 00 0C */	b lbl_803C38FC
lbl_803C38F4:
/* 803C38F4 003BF554  38 00 00 C6 */	li r0, 0xc6
/* 803C38F8 003BF558  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C38FC:
/* 803C38FC 003BF55C  3B A0 00 01 */	li r29, 1
/* 803C3900 003BF560  48 00 02 DC */	b lbl_803C3BDC
/* 803C3904 003BF564  7F 23 CB 78 */	mr r3, r25
/* 803C3908 003BF568  7F 44 D3 78 */	mr r4, r26
/* 803C390C 003BF56C  4B FF C2 0D */	bl func_803BFB18
/* 803C3910 003BF570  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3914 003BF574  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3918 003BF578  40 82 00 0C */	bne lbl_803C3924
/* 803C391C 003BF57C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3920 003BF580  7F 80 01 94 */	addze r28, r0
lbl_803C3924:
/* 803C3924 003BF584  7C 79 FA 14 */	add r3, r25, r31
/* 803C3928 003BF588  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C392C 003BF58C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3930 003BF590  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3934 003BF594  7C 04 00 40 */	cmplw r4, r0
/* 803C3938 003BF598  41 81 02 A4 */	bgt lbl_803C3BDC
/* 803C393C 003BF59C  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C3940 003BF5A0  7C 00 07 74 */	extsb r0, r0
/* 803C3944 003BF5A4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3948 003BF5A8  40 80 02 94 */	bge lbl_803C3BDC
/* 803C394C 003BF5AC  38 60 00 01 */	li r3, 1
/* 803C3950 003BF5B0  38 00 00 D0 */	li r0, 0xd0
/* 803C3954 003BF5B4  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C3958 003BF5B8  3B A0 00 01 */	li r29, 1
/* 803C395C 003BF5BC  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3960 003BF5C0  48 00 02 7C */	b lbl_803C3BDC
/* 803C3964 003BF5C4  7F 23 CB 78 */	mr r3, r25
/* 803C3968 003BF5C8  7F 44 D3 78 */	mr r4, r26
/* 803C396C 003BF5CC  4B FF C1 AD */	bl func_803BFB18
/* 803C3970 003BF5D0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3974 003BF5D4  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3978 003BF5D8  40 82 00 0C */	bne lbl_803C3984
/* 803C397C 003BF5DC  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3980 003BF5E0  7F 80 01 94 */	addze r28, r0
lbl_803C3984:
/* 803C3984 003BF5E4  7C 79 FA 14 */	add r3, r25, r31
/* 803C3988 003BF5E8  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C398C 003BF5EC  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3990 003BF5F0  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3994 003BF5F4  7C 04 00 40 */	cmplw r4, r0
/* 803C3998 003BF5F8  41 81 02 44 */	bgt lbl_803C3BDC
/* 803C399C 003BF5FC  88 03 2D 5A */	lbz r0, 0x2d5a(r3)
/* 803C39A0 003BF600  7C 00 07 74 */	extsb r0, r0
/* 803C39A4 003BF604  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C39A8 003BF608  40 80 02 34 */	bge lbl_803C3BDC
/* 803C39AC 003BF60C  38 60 00 02 */	li r3, 2
/* 803C39B0 003BF610  38 00 00 D0 */	li r0, 0xd0
/* 803C39B4 003BF614  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C39B8 003BF618  3B A0 00 01 */	li r29, 1
/* 803C39BC 003BF61C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C39C0 003BF620  48 00 02 1C */	b lbl_803C3BDC
/* 803C39C4 003BF624  7F 23 CB 78 */	mr r3, r25
/* 803C39C8 003BF628  7F 44 D3 78 */	mr r4, r26
/* 803C39CC 003BF62C  4B FF C1 4D */	bl func_803BFB18
/* 803C39D0 003BF630  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C39D4 003BF634  28 00 00 52 */	cmplwi r0, 0x52
/* 803C39D8 003BF638  40 82 00 0C */	bne lbl_803C39E4
/* 803C39DC 003BF63C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C39E0 003BF640  7F 80 01 94 */	addze r28, r0
lbl_803C39E4:
/* 803C39E4 003BF644  7C 79 FA 14 */	add r3, r25, r31
/* 803C39E8 003BF648  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C39EC 003BF64C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C39F0 003BF650  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C39F4 003BF654  7C 04 00 40 */	cmplw r4, r0
/* 803C39F8 003BF658  41 81 01 E4 */	bgt lbl_803C3BDC
/* 803C39FC 003BF65C  88 03 2D 5B */	lbz r0, 0x2d5b(r3)
/* 803C3A00 003BF660  7C 00 07 74 */	extsb r0, r0
/* 803C3A04 003BF664  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3A08 003BF668  40 80 01 D4 */	bge lbl_803C3BDC
/* 803C3A0C 003BF66C  38 60 00 03 */	li r3, 3
/* 803C3A10 003BF670  38 00 00 D0 */	li r0, 0xd0
/* 803C3A14 003BF674  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C3A18 003BF678  3B A0 00 01 */	li r29, 1
/* 803C3A1C 003BF67C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3A20 003BF680  48 00 01 BC */	b lbl_803C3BDC
/* 803C3A24 003BF684  7F 23 CB 78 */	mr r3, r25
/* 803C3A28 003BF688  7F 44 D3 78 */	mr r4, r26
/* 803C3A2C 003BF68C  4B FF C0 ED */	bl func_803BFB18
/* 803C3A30 003BF690  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3A34 003BF694  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3A38 003BF698  40 82 00 0C */	bne lbl_803C3A44
/* 803C3A3C 003BF69C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3A40 003BF6A0  7F 80 01 94 */	addze r28, r0
lbl_803C3A44:
/* 803C3A44 003BF6A4  7C 79 FA 14 */	add r3, r25, r31
/* 803C3A48 003BF6A8  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C3A4C 003BF6AC  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3A50 003BF6B0  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3A54 003BF6B4  7C 04 00 40 */	cmplw r4, r0
/* 803C3A58 003BF6B8  41 81 01 84 */	bgt lbl_803C3BDC
/* 803C3A5C 003BF6BC  88 03 2D 5C */	lbz r0, 0x2d5c(r3)
/* 803C3A60 003BF6C0  7C 00 07 74 */	extsb r0, r0
/* 803C3A64 003BF6C4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3A68 003BF6C8  40 80 01 74 */	bge lbl_803C3BDC
/* 803C3A6C 003BF6CC  38 60 00 04 */	li r3, 4
/* 803C3A70 003BF6D0  38 00 00 D0 */	li r0, 0xd0
/* 803C3A74 003BF6D4  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C3A78 003BF6D8  3B A0 00 01 */	li r29, 1
/* 803C3A7C 003BF6DC  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3A80 003BF6E0  48 00 01 5C */	b lbl_803C3BDC
/* 803C3A84 003BF6E4  7F 23 CB 78 */	mr r3, r25
/* 803C3A88 003BF6E8  7F 44 D3 78 */	mr r4, r26
/* 803C3A8C 003BF6EC  4B FF C0 8D */	bl func_803BFB18
/* 803C3A90 003BF6F0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3A94 003BF6F4  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3A98 003BF6F8  40 82 00 0C */	bne lbl_803C3AA4
/* 803C3A9C 003BF6FC  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3AA0 003BF700  7F 80 01 94 */	addze r28, r0
lbl_803C3AA4:
/* 803C3AA4 003BF704  7C 79 FA 14 */	add r3, r25, r31
/* 803C3AA8 003BF708  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C3AAC 003BF70C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3AB0 003BF710  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3AB4 003BF714  7C 04 00 40 */	cmplw r4, r0
/* 803C3AB8 003BF718  41 81 01 24 */	bgt lbl_803C3BDC
/* 803C3ABC 003BF71C  88 03 2D 5D */	lbz r0, 0x2d5d(r3)
/* 803C3AC0 003BF720  7C 00 07 74 */	extsb r0, r0
/* 803C3AC4 003BF724  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3AC8 003BF728  40 80 01 14 */	bge lbl_803C3BDC
/* 803C3ACC 003BF72C  38 60 00 05 */	li r3, 5
/* 803C3AD0 003BF730  38 00 00 D0 */	li r0, 0xd0
/* 803C3AD4 003BF734  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C3AD8 003BF738  3B A0 00 01 */	li r29, 1
/* 803C3ADC 003BF73C  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3AE0 003BF740  48 00 00 FC */	b lbl_803C3BDC
/* 803C3AE4 003BF744  7F 23 CB 78 */	mr r3, r25
/* 803C3AE8 003BF748  7F 44 D3 78 */	mr r4, r26
/* 803C3AEC 003BF74C  4B FF C0 2D */	bl func_803BFB18
/* 803C3AF0 003BF750  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3AF4 003BF754  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3AF8 003BF758  40 82 00 0C */	bne lbl_803C3B04
/* 803C3AFC 003BF75C  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3B00 003BF760  7F 80 01 94 */	addze r28, r0
lbl_803C3B04:
/* 803C3B04 003BF764  7C 79 FA 14 */	add r3, r25, r31
/* 803C3B08 003BF768  80 9E 2D 8C */	lwz r4, 0x2d8c(r30)
/* 803C3B0C 003BF76C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3B10 003BF770  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3B14 003BF774  7C 04 00 40 */	cmplw r4, r0
/* 803C3B18 003BF778  41 81 00 C4 */	bgt lbl_803C3BDC
/* 803C3B1C 003BF77C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C3B20 003BF780  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803C3B24 003BF784  40 82 00 B8 */	bne lbl_803C3BDC
/* 803C3B28 003BF788  38 00 00 D1 */	li r0, 0xd1
/* 803C3B2C 003BF78C  3B A0 00 01 */	li r29, 1
/* 803C3B30 003BF790  90 1B 00 00 */	stw r0, 0(r27)
/* 803C3B34 003BF794  48 00 00 A8 */	b lbl_803C3BDC
/* 803C3B38 003BF798  7F 23 CB 78 */	mr r3, r25
/* 803C3B3C 003BF79C  7F 44 D3 78 */	mr r4, r26
/* 803C3B40 003BF7A0  4B FF BF D9 */	bl func_803BFB18
/* 803C3B44 003BF7A4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3B48 003BF7A8  28 00 00 52 */	cmplwi r0, 0x52
/* 803C3B4C 003BF7AC  40 82 00 0C */	bne lbl_803C3B58
/* 803C3B50 003BF7B0  7F 80 0E 70 */	srawi r0, r28, 1
/* 803C3B54 003BF7B4  7F 80 01 94 */	addze r28, r0
lbl_803C3B58:
/* 803C3B58 003BF7B8  7F F9 FA 14 */	add r31, r25, r31
/* 803C3B5C 003BF7BC  80 7E 2D 8C */	lwz r3, 0x2d8c(r30)
/* 803C3B60 003BF7C0  80 1F 2D 90 */	lwz r0, 0x2d90(r31)
/* 803C3B64 003BF7C4  7C 00 E3 96 */	divwu r0, r0, r28
/* 803C3B68 003BF7C8  7C 03 00 40 */	cmplw r3, r0
/* 803C3B6C 003BF7CC  41 81 00 70 */	bgt lbl_803C3BDC
/* 803C3B70 003BF7D0  38 00 00 05 */	li r0, 5
/* 803C3B74 003BF7D4  38 80 00 00 */	li r4, 0
/* 803C3B78 003BF7D8  7C 09 03 A6 */	mtctr r0
lbl_803C3B7C:
/* 803C3B7C 003BF7DC  7C 7F 22 14 */	add r3, r31, r4
/* 803C3B80 003BF7E0  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C3B84 003BF7E4  7C 00 07 74 */	extsb r0, r0
/* 803C3B88 003BF7E8  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3B8C 003BF7EC  41 80 00 0C */	blt lbl_803C3B98
/* 803C3B90 003BF7F0  38 84 00 01 */	addi r4, r4, 1
/* 803C3B94 003BF7F4  42 00 FF E8 */	bdnz lbl_803C3B7C
lbl_803C3B98:
/* 803C3B98 003BF7F8  2C 04 00 05 */	cmpwi r4, 5
/* 803C3B9C 003BF7FC  41 82 00 40 */	beq lbl_803C3BDC
/* 803C3BA0 003BF800  3B 00 00 05 */	li r24, 5
lbl_803C3BA4:
/* 803C3BA4 003BF804  48 01 5C 15 */	bl func_803D97B8
/* 803C3BA8 003BF808  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803C3BAC 003BF80C  7C 03 C3 D6 */	divw r0, r3, r24
/* 803C3BB0 003BF810  7C 00 C1 D6 */	mullw r0, r0, r24
/* 803C3BB4 003BF814  7C 80 18 50 */	subf r4, r0, r3
/* 803C3BB8 003BF818  7C 7F 22 14 */	add r3, r31, r4
/* 803C3BBC 003BF81C  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C3BC0 003BF820  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C3BC4 003BF824  41 82 FF E0 */	beq lbl_803C3BA4
/* 803C3BC8 003BF828  38 64 00 01 */	addi r3, r4, 1
/* 803C3BCC 003BF82C  38 00 00 D2 */	li r0, 0xd2
/* 803C3BD0 003BF830  90 79 01 30 */	stw r3, 0x130(r25)
/* 803C3BD4 003BF834  3B A0 00 01 */	li r29, 1
/* 803C3BD8 003BF838  90 1B 00 00 */	stw r0, 0(r27)
lbl_803C3BDC:
/* 803C3BDC 003BF83C  2C 1D 00 01 */	cmpwi r29, 1
/* 803C3BE0 003BF840  40 82 00 18 */	bne lbl_803C3BF8
/* 803C3BE4 003BF844  7F 23 CB 78 */	mr r3, r25
/* 803C3BE8 003BF848  7F 44 D3 78 */	mr r4, r26
/* 803C3BEC 003BF84C  48 00 01 81 */	bl func_803C3D6C
/* 803C3BF0 003BF850  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C3BF4 003BF854  90 19 01 28 */	stw r0, 0x128(r25)
lbl_803C3BF8:
/* 803C3BF8 003BF858  39 61 00 30 */	addi r11, r1, 0x30
/* 803C3BFC 003BF85C  7F A3 EB 78 */	mr r3, r29
/* 803C3C00 003BF860  4B E0 35 65 */	bl _restgpr_23
/* 803C3C04 003BF864  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C3C08 003BF868  7C 08 03 A6 */	mtlr r0
/* 803C3C0C 003BF86C  38 21 00 30 */	addi r1, r1, 0x30
/* 803C3C10 003BF870  4E 80 00 20 */	blr 

.global func_803C3C14
func_803C3C14:
/* 803C3C14 003BF874  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C3C18 003BF878  7C 08 02 A6 */	mflr r0
/* 803C3C1C 003BF87C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C3C20 003BF880  39 61 00 20 */	addi r11, r1, 0x20
/* 803C3C24 003BF884  4B E0 35 01 */	bl _savegpr_26
/* 803C3C28 003BF888  7C 9F 23 78 */	mr r31, r4
/* 803C3C2C 003BF88C  7C BA 2B 78 */	mr r26, r5
/* 803C3C30 003BF890  7F E3 FB 78 */	mr r3, r31
/* 803C3C34 003BF894  3B 80 00 00 */	li r28, 0
/* 803C3C38 003BF898  7F 44 D3 78 */	mr r4, r26
/* 803C3C3C 003BF89C  48 00 01 31 */	bl func_803C3D6C
/* 803C3C40 003BF8A0  7C 60 1B 78 */	mr r0, r3
/* 803C3C44 003BF8A4  80 7F 21 20 */	lwz r3, 0x2120(r31)
/* 803C3C48 003BF8A8  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C3C4C 003BF8AC  48 01 5B 21 */	bl func_803D976C
/* 803C3C50 003BF8B0  38 80 00 01 */	li r4, 1
/* 803C3C54 003BF8B4  48 01 55 D9 */	bl func_803D922C
/* 803C3C58 003BF8B8  7C 7E 1B 78 */	mr r30, r3
/* 803C3C5C 003BF8BC  7F E3 FB 78 */	mr r3, r31
/* 803C3C60 003BF8C0  7F 44 D3 78 */	mr r4, r26
/* 803C3C64 003BF8C4  38 A0 00 00 */	li r5, 0
/* 803C3C68 003BF8C8  48 00 04 99 */	bl func_803C4100
/* 803C3C6C 003BF8CC  1F BA 00 C0 */	mulli r29, r26, 0xc0
/* 803C3C70 003BF8D0  7C 7B 1B 78 */	mr r27, r3
/* 803C3C74 003BF8D4  7C 7F EA 14 */	add r3, r31, r29
/* 803C3C78 003BF8D8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C3C7C 003BF8DC  2C 00 00 00 */	cmpwi r0, 0
/* 803C3C80 003BF8E0  41 82 00 D0 */	beq lbl_803C3D50
/* 803C3C84 003BF8E4  2C 1E 00 64 */	cmpwi r30, 0x64
/* 803C3C88 003BF8E8  41 82 00 38 */	beq lbl_803C3CC0
/* 803C3C8C 003BF8EC  40 80 00 10 */	bge lbl_803C3C9C
/* 803C3C90 003BF8F0  2C 1E 00 63 */	cmpwi r30, 0x63
/* 803C3C94 003BF8F4  40 80 00 14 */	bge lbl_803C3CA8
/* 803C3C98 003BF8F8  48 00 00 78 */	b lbl_803C3D10
lbl_803C3C9C:
/* 803C3C9C 003BF8FC  2C 1E 00 73 */	cmpwi r30, 0x73
/* 803C3CA0 003BF900  41 82 00 38 */	beq lbl_803C3CD8
/* 803C3CA4 003BF904  48 00 00 6C */	b lbl_803C3D10
lbl_803C3CA8:
/* 803C3CA8 003BF908  38 00 00 05 */	li r0, 5
/* 803C3CAC 003BF90C  93 5F 00 94 */	stw r26, 0x94(r31)
/* 803C3CB0 003BF910  3B A0 00 2F */	li r29, 0x2f
/* 803C3CB4 003BF914  3B 80 00 01 */	li r28, 1
/* 803C3CB8 003BF918  90 1F 00 88 */	stw r0, 0x88(r31)
/* 803C3CBC 003BF91C  48 00 00 54 */	b lbl_803C3D10
lbl_803C3CC0:
/* 803C3CC0 003BF920  38 00 00 05 */	li r0, 5
/* 803C3CC4 003BF924  93 5F 00 94 */	stw r26, 0x94(r31)
/* 803C3CC8 003BF928  3B A0 00 19 */	li r29, 0x19
/* 803C3CCC 003BF92C  3B 80 00 01 */	li r28, 1
/* 803C3CD0 003BF930  90 1F 00 88 */	stw r0, 0x88(r31)
/* 803C3CD4 003BF934  48 00 00 3C */	b lbl_803C3D10
lbl_803C3CD8:
/* 803C3CD8 003BF938  7F E3 FB 78 */	mr r3, r31
/* 803C3CDC 003BF93C  7F 44 D3 78 */	mr r4, r26
/* 803C3CE0 003BF940  4B FF BE 39 */	bl func_803BFB18
/* 803C3CE4 003BF944  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3CE8 003BF948  28 00 00 62 */	cmplwi r0, 0x62
/* 803C3CEC 003BF94C  41 82 00 24 */	beq lbl_803C3D10
/* 803C3CF0 003BF950  7C 7F EA 14 */	add r3, r31, r29
/* 803C3CF4 003BF954  7F 64 DB 78 */	mr r4, r27
/* 803C3CF8 003BF958  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3CFC 003BF95C  1C 60 FF FF */	mulli r3, r0, -1
/* 803C3D00 003BF960  4B FF CE 69 */	bl func_803C0B68
/* 803C3D04 003BF964  90 7F 21 5C */	stw r3, 0x215c(r31)
/* 803C3D08 003BF968  3B A0 00 D7 */	li r29, 0xd7
/* 803C3D0C 003BF96C  3B 80 00 01 */	li r28, 1
lbl_803C3D10:
/* 803C3D10 003BF970  2C 1C 00 01 */	cmpwi r28, 1
/* 803C3D14 003BF974  40 82 00 3C */	bne lbl_803C3D50
/* 803C3D18 003BF978  93 5F 01 18 */	stw r26, 0x118(r31)
/* 803C3D1C 003BF97C  7F E3 FB 78 */	mr r3, r31
/* 803C3D20 003BF980  7F 44 D3 78 */	mr r4, r26
/* 803C3D24 003BF984  48 00 00 49 */	bl func_803C3D6C
/* 803C3D28 003BF988  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C3D2C 003BF98C  7F E3 FB 78 */	mr r3, r31
/* 803C3D30 003BF990  90 1F 01 28 */	stw r0, 0x128(r31)
/* 803C3D34 003BF994  7F A5 EB 78 */	mr r5, r29
/* 803C3D38 003BF998  38 80 00 02 */	li r4, 2
/* 803C3D3C 003BF99C  4B FF 6C 99 */	bl func_803BA9D4
/* 803C3D40 003BF9A0  80 7F 00 08 */	lwz r3, 8(r31)
/* 803C3D44 003BF9A4  38 00 00 15 */	li r0, 0x15
/* 803C3D48 003BF9A8  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803C3D4C 003BF9AC  90 1F 00 08 */	stw r0, 8(r31)
lbl_803C3D50:
/* 803C3D50 003BF9B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803C3D54 003BF9B4  7F 83 E3 78 */	mr r3, r28
/* 803C3D58 003BF9B8  4B E0 34 19 */	bl _restgpr_26
/* 803C3D5C 003BF9BC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C3D60 003BF9C0  7C 08 03 A6 */	mtlr r0
/* 803C3D64 003BF9C4  38 21 00 20 */	addi r1, r1, 0x20
/* 803C3D68 003BF9C8  4E 80 00 20 */	blr 

.global func_803C3D6C
func_803C3D6C:
/* 803C3D6C 003BF9CC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C3D70 003BF9D0  7C 08 02 A6 */	mflr r0
/* 803C3D74 003BF9D4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C3D78 003BF9D8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C3D7C 003BF9DC  7C 9F 23 78 */	mr r31, r4
/* 803C3D80 003BF9E0  93 C1 00 08 */	stw r30, 8(r1)
/* 803C3D84 003BF9E4  7C 7E 1B 78 */	mr r30, r3
/* 803C3D88 003BF9E8  4B FF BD 91 */	bl func_803BFB18
/* 803C3D8C 003BF9EC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3D90 003BF9F0  28 00 00 67 */	cmplwi r0, 0x67
/* 803C3D94 003BF9F4  40 82 00 0C */	bne lbl_803C3DA0
/* 803C3D98 003BF9F8  38 60 00 00 */	li r3, 0
/* 803C3D9C 003BF9FC  48 00 00 24 */	b lbl_803C3DC0
lbl_803C3DA0:
/* 803C3DA0 003BFA00  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803C3DA4 003BFA04  7C 7E 02 14 */	add r3, r30, r0
/* 803C3DA8 003BFA08  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C3DAC 003BFA0C  54 00 B7 7F */	rlwinm. r0, r0, 0x16, 0x1d, 0x1f
/* 803C3DB0 003BFA10  41 82 00 0C */	beq lbl_803C3DBC
/* 803C3DB4 003BFA14  38 60 00 00 */	li r3, 0
/* 803C3DB8 003BFA18  48 00 00 08 */	b lbl_803C3DC0
lbl_803C3DBC:
/* 803C3DBC 003BFA1C  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
lbl_803C3DC0:
/* 803C3DC0 003BFA20  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C3DC4 003BFA24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C3DC8 003BFA28  83 C1 00 08 */	lwz r30, 8(r1)
/* 803C3DCC 003BFA2C  7C 08 03 A6 */	mtlr r0
/* 803C3DD0 003BFA30  38 21 00 10 */	addi r1, r1, 0x10
/* 803C3DD4 003BFA34  4E 80 00 20 */	blr 

.global func_803C3DD8
func_803C3DD8:
/* 803C3DD8 003BFA38  54 80 20 36 */	slwi r0, r4, 4
/* 803C3DDC 003BFA3C  7C 63 02 14 */	add r3, r3, r0
/* 803C3DE0 003BFA40  80 63 21 A8 */	lwz r3, 0x21a8(r3)
/* 803C3DE4 003BFA44  38 03 FF D9 */	addi r0, r3, -39
/* 803C3DE8 003BFA48  7C 00 00 34 */	cntlzw r0, r0
/* 803C3DEC 003BFA4C  54 03 D9 7E */	srwi r3, r0, 5
/* 803C3DF0 003BFA50  4E 80 00 20 */	blr 

.global func_803C3DF4
func_803C3DF4:
/* 803C3DF4 003BFA54  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C3DF8 003BFA58  7C 08 02 A6 */	mflr r0
/* 803C3DFC 003BFA5C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C3E00 003BFA60  39 61 00 20 */	addi r11, r1, 0x20
/* 803C3E04 003BFA64  4B E0 33 21 */	bl _savegpr_26
/* 803C3E08 003BFA68  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803C3E0C 003BFA6C  7C 7A 1B 78 */	mr r26, r3
/* 803C3E10 003BFA70  7C 9C 23 78 */	mr r28, r4
/* 803C3E14 003BFA74  7C BD 2B 78 */	mr r29, r5
/* 803C3E18 003BFA78  2C 00 00 FF */	cmpwi r0, 0xff
/* 803C3E1C 003BFA7C  3B E0 00 00 */	li r31, 0
/* 803C3E20 003BFA80  40 82 00 0C */	bne lbl_803C3E2C
/* 803C3E24 003BFA84  38 60 00 00 */	li r3, 0
/* 803C3E28 003BFA88  48 00 02 7C */	b lbl_803C40A4
lbl_803C3E2C:
/* 803C3E2C 003BFA8C  7F 83 E3 78 */	mr r3, r28
/* 803C3E30 003BFA90  7C 04 03 78 */	mr r4, r0
/* 803C3E34 003BFA94  48 00 1C 11 */	bl func_803C5A44
/* 803C3E38 003BFA98  2C 03 00 01 */	cmpwi r3, 1
/* 803C3E3C 003BFA9C  40 82 00 0C */	bne lbl_803C3E48
/* 803C3E40 003BFAA0  38 60 00 00 */	li r3, 0
/* 803C3E44 003BFAA4  48 00 02 60 */	b lbl_803C40A4
lbl_803C3E48:
/* 803C3E48 003BFAA8  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C3E4C 003BFAAC  7F 83 E3 78 */	mr r3, r28
/* 803C3E50 003BFAB0  48 00 02 6D */	bl func_803C40BC
/* 803C3E54 003BFAB4  80 9C 00 6C */	lwz r4, 0x6c(r28)
/* 803C3E58 003BFAB8  7C 7B 1B 78 */	mr r27, r3
/* 803C3E5C 003BFABC  7F 83 E3 78 */	mr r3, r28
/* 803C3E60 003BFAC0  38 A0 00 00 */	li r5, 0
/* 803C3E64 003BFAC4  48 00 02 9D */	bl func_803C4100
/* 803C3E68 003BFAC8  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C3E6C 003BFACC  7C 7E 1B 78 */	mr r30, r3
/* 803C3E70 003BFAD0  7F 43 D3 78 */	mr r3, r26
/* 803C3E74 003BFAD4  4B FE 8E 71 */	bl func_803ACCE4
/* 803C3E78 003BFAD8  2C 1B 00 2E */	cmpwi r27, 0x2e
/* 803C3E7C 003BFADC  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 803C3E80 003BFAE0  41 82 01 54 */	beq lbl_803C3FD4
/* 803C3E84 003BFAE4  40 80 00 1C */	bge lbl_803C3EA0
/* 803C3E88 003BFAE8  2C 1B 00 2A */	cmpwi r27, 0x2a
/* 803C3E8C 003BFAEC  41 82 01 BC */	beq lbl_803C4048
/* 803C3E90 003BFAF0  41 80 02 10 */	blt lbl_803C40A0
/* 803C3E94 003BFAF4  2C 1B 00 2D */	cmpwi r27, 0x2d
/* 803C3E98 003BFAF8  40 80 00 BC */	bge lbl_803C3F54
/* 803C3E9C 003BFAFC  48 00 02 04 */	b lbl_803C40A0
lbl_803C3EA0:
/* 803C3EA0 003BFB00  2C 1B 00 73 */	cmpwi r27, 0x73
/* 803C3EA4 003BFB04  41 82 00 08 */	beq lbl_803C3EAC
/* 803C3EA8 003BFB08  48 00 01 F8 */	b lbl_803C40A0
lbl_803C3EAC:
/* 803C3EAC 003BFB0C  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C3EB0 003BFB10  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C3EB4 003BFB14  7C 7C 02 14 */	add r3, r28, r0
/* 803C3EB8 003BFB18  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C3EBC 003BFB1C  2C 00 00 00 */	cmpwi r0, 0
/* 803C3EC0 003BFB20  41 82 01 E0 */	beq lbl_803C40A0
/* 803C3EC4 003BFB24  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C3EC8 003BFB28  2C 00 00 00 */	cmpwi r0, 0
/* 803C3ECC 003BFB2C  40 82 01 D4 */	bne lbl_803C40A0
/* 803C3ED0 003BFB30  7C 7C 22 14 */	add r3, r28, r4
/* 803C3ED4 003BFB34  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803C3ED8 003BFB38  48 01 9A 49 */	bl func_803DD920
/* 803C3EDC 003BFB3C  57 40 18 38 */	slwi r0, r26, 3
/* 803C3EE0 003BFB40  7C 9C 02 14 */	add r4, r28, r0
/* 803C3EE4 003BFB44  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803C3EE8 003BFB48  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803C3EEC 003BFB4C  7C 00 18 39 */	and. r0, r0, r3
/* 803C3EF0 003BFB50  40 82 01 B0 */	bne lbl_803C40A0
/* 803C3EF4 003BFB54  80 9C 30 44 */	lwz r4, 0x3044(r28)
/* 803C3EF8 003BFB58  28 04 01 1A */	cmplwi r4, 0x11a
/* 803C3EFC 003BFB5C  41 82 01 A4 */	beq lbl_803C40A0
/* 803C3F00 003BFB60  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C3F04 003BFB64  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C3F08 003BFB68  7C 7C 02 14 */	add r3, r28, r0
/* 803C3F0C 003BFB6C  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C3F10 003BFB70  2C 00 00 00 */	cmpwi r0, 0
/* 803C3F14 003BFB74  40 82 00 10 */	bne lbl_803C3F24
/* 803C3F18 003BFB78  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C3F1C 003BFB7C  2C 00 00 00 */	cmpwi r0, 0
/* 803C3F20 003BFB80  41 82 01 80 */	beq lbl_803C40A0
lbl_803C3F24:
/* 803C3F24 003BFB84  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C3F28 003BFB88  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C3F2C 003BFB8C  40 82 01 74 */	bne lbl_803C40A0
/* 803C3F30 003BFB90  54 80 20 36 */	slwi r0, r4, 4
/* 803C3F34 003BFB94  7C 7C 02 14 */	add r3, r28, r0
/* 803C3F38 003BFB98  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C3F3C 003BFB9C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C3F40 003BFBA0  41 82 01 60 */	beq lbl_803C40A0
/* 803C3F44 003BFBA4  38 00 00 D8 */	li r0, 0xd8
/* 803C3F48 003BFBA8  3B E0 00 01 */	li r31, 1
/* 803C3F4C 003BFBAC  90 1D 00 00 */	stw r0, 0(r29)
/* 803C3F50 003BFBB0  48 00 01 50 */	b lbl_803C40A0
lbl_803C3F54:
/* 803C3F54 003BFBB4  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C3F58 003BFBB8  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C3F5C 003BFBBC  7C 7C 02 14 */	add r3, r28, r0
/* 803C3F60 003BFBC0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C3F64 003BFBC4  2C 00 00 00 */	cmpwi r0, 0
/* 803C3F68 003BFBC8  41 82 01 38 */	beq lbl_803C40A0
/* 803C3F6C 003BFBCC  7F 83 E3 78 */	mr r3, r28
/* 803C3F70 003BFBD0  4B FF BB A9 */	bl func_803BFB18
/* 803C3F74 003BFBD4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3F78 003BFBD8  28 00 00 62 */	cmplwi r0, 0x62
/* 803C3F7C 003BFBDC  41 82 01 24 */	beq lbl_803C40A0
/* 803C3F80 003BFBE0  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803C3F84 003BFBE4  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C3F88 003BFBE8  40 82 01 18 */	bne lbl_803C40A0
/* 803C3F8C 003BFBEC  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C3F90 003BFBF0  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C3F94 003BFBF4  7C 7C 02 14 */	add r3, r28, r0
/* 803C3F98 003BFBF8  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C3F9C 003BFBFC  2C 00 00 00 */	cmpwi r0, 0
/* 803C3FA0 003BFC00  41 82 01 00 */	beq lbl_803C40A0
/* 803C3FA4 003BFC04  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C3FA8 003BFC08  7F C4 F3 78 */	mr r4, r30
/* 803C3FAC 003BFC0C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C3FB0 003BFC10  7C 7C 02 14 */	add r3, r28, r0
/* 803C3FB4 003BFC14  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C3FB8 003BFC18  1C 60 FF FF */	mulli r3, r0, -1
/* 803C3FBC 003BFC1C  4B FF CB AD */	bl func_803C0B68
/* 803C3FC0 003BFC20  90 7C 21 5C */	stw r3, 0x215c(r28)
/* 803C3FC4 003BFC24  38 00 01 0A */	li r0, 0x10a
/* 803C3FC8 003BFC28  3B E0 00 01 */	li r31, 1
/* 803C3FCC 003BFC2C  90 1D 00 00 */	stw r0, 0(r29)
/* 803C3FD0 003BFC30  48 00 00 D0 */	b lbl_803C40A0
lbl_803C3FD4:
/* 803C3FD4 003BFC34  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803C3FD8 003BFC38  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C3FDC 003BFC3C  7C 7C 02 14 */	add r3, r28, r0
/* 803C3FE0 003BFC40  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C3FE4 003BFC44  2C 00 00 00 */	cmpwi r0, 0
/* 803C3FE8 003BFC48  41 82 00 B8 */	beq lbl_803C40A0
/* 803C3FEC 003BFC4C  7F 83 E3 78 */	mr r3, r28
/* 803C3FF0 003BFC50  4B FF BB 29 */	bl func_803BFB18
/* 803C3FF4 003BFC54  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C3FF8 003BFC58  28 00 00 62 */	cmplwi r0, 0x62
/* 803C3FFC 003BFC5C  41 82 00 A4 */	beq lbl_803C40A0
/* 803C4000 003BFC60  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C4004 003BFC64  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C4008 003BFC68  7C 7C 02 14 */	add r3, r28, r0
/* 803C400C 003BFC6C  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C4010 003BFC70  2C 00 00 00 */	cmpwi r0, 0
/* 803C4014 003BFC74  41 82 00 8C */	beq lbl_803C40A0
/* 803C4018 003BFC78  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803C401C 003BFC7C  7F C4 F3 78 */	mr r4, r30
/* 803C4020 003BFC80  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4024 003BFC84  7C 7C 02 14 */	add r3, r28, r0
/* 803C4028 003BFC88  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C402C 003BFC8C  1C 60 FF FF */	mulli r3, r0, -1
/* 803C4030 003BFC90  4B FF CB 39 */	bl func_803C0B68
/* 803C4034 003BFC94  90 7C 21 5C */	stw r3, 0x215c(r28)
/* 803C4038 003BFC98  38 00 01 0A */	li r0, 0x10a
/* 803C403C 003BFC9C  3B E0 00 01 */	li r31, 1
/* 803C4040 003BFCA0  90 1D 00 00 */	stw r0, 0(r29)
/* 803C4044 003BFCA4  48 00 00 5C */	b lbl_803C40A0
lbl_803C4048:
/* 803C4048 003BFCA8  80 1C 00 6C */	lwz r0, 0x6c(r28)
/* 803C404C 003BFCAC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4050 003BFCB0  7C 7C 02 14 */	add r3, r28, r0
/* 803C4054 003BFCB4  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C4058 003BFCB8  2C 00 00 00 */	cmpwi r0, 0
/* 803C405C 003BFCBC  41 82 00 44 */	beq lbl_803C40A0
/* 803C4060 003BFCC0  80 1C 21 6C */	lwz r0, 0x216c(r28)
/* 803C4064 003BFCC4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803C4068 003BFCC8  41 82 00 38 */	beq lbl_803C40A0
/* 803C406C 003BFCCC  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C4070 003BFCD0  7F C4 F3 78 */	mr r4, r30
/* 803C4074 003BFCD4  4B FF CA F5 */	bl func_803C0B68
/* 803C4078 003BFCD8  90 7C 21 5C */	stw r3, 0x215c(r28)
/* 803C407C 003BFCDC  38 00 00 C6 */	li r0, 0xc6
/* 803C4080 003BFCE0  3B E0 00 01 */	li r31, 1
/* 803C4084 003BFCE4  90 1D 00 00 */	stw r0, 0(r29)
/* 803C4088 003BFCE8  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 803C408C 003BFCEC  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803C4090 003BFCF0  90 7C 01 18 */	stw r3, 0x118(r28)
/* 803C4094 003BFCF4  7C 7C 02 14 */	add r3, r28, r0
/* 803C4098 003BFCF8  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C409C 003BFCFC  90 1C 01 28 */	stw r0, 0x128(r28)
lbl_803C40A0:
/* 803C40A0 003BFD00  7F E3 FB 78 */	mr r3, r31
lbl_803C40A4:
/* 803C40A4 003BFD04  39 61 00 20 */	addi r11, r1, 0x20
/* 803C40A8 003BFD08  4B E0 30 C9 */	bl _restgpr_26
/* 803C40AC 003BFD0C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C40B0 003BFD10  7C 08 03 A6 */	mtlr r0
/* 803C40B4 003BFD14  38 21 00 20 */	addi r1, r1, 0x20
/* 803C40B8 003BFD18  4E 80 00 20 */	blr 

.global func_803C40BC
func_803C40BC:
/* 803C40BC 003BFD1C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C40C0 003BFD20  7C 08 02 A6 */	mflr r0
/* 803C40C4 003BFD24  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C40C8 003BFD28  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C40CC 003BFD2C  7C 7F 1B 78 */	mr r31, r3
/* 803C40D0 003BFD30  4B FF FC 9D */	bl func_803C3D6C
/* 803C40D4 003BFD34  7C 60 1B 78 */	mr r0, r3
/* 803C40D8 003BFD38  80 7F 21 20 */	lwz r3, 0x2120(r31)
/* 803C40DC 003BFD3C  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C40E0 003BFD40  48 01 56 8D */	bl func_803D976C
/* 803C40E4 003BFD44  38 80 00 01 */	li r4, 1
/* 803C40E8 003BFD48  48 01 51 45 */	bl func_803D922C
/* 803C40EC 003BFD4C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C40F0 003BFD50  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C40F4 003BFD54  7C 08 03 A6 */	mtlr r0
/* 803C40F8 003BFD58  38 21 00 10 */	addi r1, r1, 0x10
/* 803C40FC 003BFD5C  4E 80 00 20 */	blr 

.global func_803C4100
func_803C4100:
/* 803C4100 003BFD60  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C4104 003BFD64  7C 08 02 A6 */	mflr r0
/* 803C4108 003BFD68  2C 05 00 01 */	cmpwi r5, 1
/* 803C410C 003BFD6C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C4110 003BFD70  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C4114 003BFD74  7C 7F 1B 78 */	mr r31, r3
/* 803C4118 003BFD78  41 82 00 48 */	beq lbl_803C4160
/* 803C411C 003BFD7C  40 80 00 10 */	bge lbl_803C412C
/* 803C4120 003BFD80  2C 05 00 00 */	cmpwi r5, 0
/* 803C4124 003BFD84  40 80 00 14 */	bge lbl_803C4138
/* 803C4128 003BFD88  48 00 00 44 */	b lbl_803C416C
lbl_803C412C:
/* 803C412C 003BFD8C  2C 05 00 03 */	cmpwi r5, 3
/* 803C4130 003BFD90  40 80 00 3C */	bge lbl_803C416C
/* 803C4134 003BFD94  48 00 00 10 */	b lbl_803C4144
lbl_803C4138:
/* 803C4138 003BFD98  4B FF FC 35 */	bl func_803C3D6C
/* 803C413C 003BFD9C  7C 60 1B 78 */	mr r0, r3
/* 803C4140 003BFDA0  48 00 00 2C */	b lbl_803C416C
lbl_803C4144:
/* 803C4144 003BFDA4  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C4148 003BFDA8  7C A3 02 14 */	add r5, r3, r0
/* 803C414C 003BFDAC  80 05 2D CC */	lwz r0, 0x2dcc(r5)
/* 803C4150 003BFDB0  54 00 B7 7F */	rlwinm. r0, r0, 0x16, 0x1d, 0x1f
/* 803C4154 003BFDB4  41 82 00 0C */	beq lbl_803C4160
/* 803C4158 003BFDB8  38 60 00 00 */	li r3, 0
/* 803C415C 003BFDBC  48 00 00 24 */	b lbl_803C4180
lbl_803C4160:
/* 803C4160 003BFDC0  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C4164 003BFDC4  7C 63 02 14 */	add r3, r3, r0
/* 803C4168 003BFDC8  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
lbl_803C416C:
/* 803C416C 003BFDCC  80 7F 21 20 */	lwz r3, 0x2120(r31)
/* 803C4170 003BFDD0  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C4174 003BFDD4  48 01 55 F9 */	bl func_803D976C
/* 803C4178 003BFDD8  38 80 00 02 */	li r4, 2
/* 803C417C 003BFDDC  48 01 50 B1 */	bl func_803D922C
lbl_803C4180:
/* 803C4180 003BFDE0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C4184 003BFDE4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C4188 003BFDE8  7C 08 03 A6 */	mtlr r0
/* 803C418C 003BFDEC  38 21 00 10 */	addi r1, r1, 0x10
/* 803C4190 003BFDF0  4E 80 00 20 */	blr 

.global func_803C4194
func_803C4194:
/* 803C4194 003BFDF4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C4198 003BFDF8  7C 08 02 A6 */	mflr r0
/* 803C419C 003BFDFC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C41A0 003BFE00  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C41A4 003BFE04  7C 7F 1B 78 */	mr r31, r3
/* 803C41A8 003BFE08  4B FF FB C5 */	bl func_803C3D6C
/* 803C41AC 003BFE0C  7C 60 1B 78 */	mr r0, r3
/* 803C41B0 003BFE10  80 7F 21 20 */	lwz r3, 0x2120(r31)
/* 803C41B4 003BFE14  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C41B8 003BFE18  48 01 55 B5 */	bl func_803D976C
/* 803C41BC 003BFE1C  38 80 00 0B */	li r4, 0xb
/* 803C41C0 003BFE20  48 01 50 6D */	bl func_803D922C
/* 803C41C4 003BFE24  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C41C8 003BFE28  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C41CC 003BFE2C  7C 08 03 A6 */	mtlr r0
/* 803C41D0 003BFE30  38 21 00 10 */	addi r1, r1, 0x10
/* 803C41D4 003BFE34  4E 80 00 20 */	blr 

.global func_803C41D8
func_803C41D8:
/* 803C41D8 003BFE38  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C41DC 003BFE3C  7C 08 02 A6 */	mflr r0
/* 803C41E0 003BFE40  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C41E4 003BFE44  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C41E8 003BFE48  7C 7F 1B 78 */	mr r31, r3
/* 803C41EC 003BFE4C  4B FF FB 81 */	bl func_803C3D6C
/* 803C41F0 003BFE50  7C 60 1B 78 */	mr r0, r3
/* 803C41F4 003BFE54  80 7F 21 20 */	lwz r3, 0x2120(r31)
/* 803C41F8 003BFE58  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C41FC 003BFE5C  48 01 55 71 */	bl func_803D976C
/* 803C4200 003BFE60  38 80 00 0C */	li r4, 0xc
/* 803C4204 003BFE64  48 01 50 29 */	bl func_803D922C
/* 803C4208 003BFE68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C420C 003BFE6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C4210 003BFE70  7C 08 03 A6 */	mtlr r0
/* 803C4214 003BFE74  38 21 00 10 */	addi r1, r1, 0x10
/* 803C4218 003BFE78  4E 80 00 20 */	blr 

.global func_803C421C
func_803C421C:
/* 803C421C 003BFE7C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C4220 003BFE80  7C 08 02 A6 */	mflr r0
/* 803C4224 003BFE84  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C4228 003BFE88  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C422C 003BFE8C  7C 64 1B 78 */	mr r4, r3
/* 803C4230 003BFE90  80 63 21 20 */	lwz r3, 0x2120(r3)
/* 803C4234 003BFE94  7C 84 02 14 */	add r4, r4, r0
/* 803C4238 003BFE98  A0 84 2D B8 */	lhz r4, 0x2db8(r4)
/* 803C423C 003BFE9C  48 01 55 31 */	bl func_803D976C
/* 803C4240 003BFEA0  38 80 00 08 */	li r4, 8
/* 803C4244 003BFEA4  48 01 4F E9 */	bl func_803D922C
/* 803C4248 003BFEA8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C424C 003BFEAC  7C 08 03 A6 */	mtlr r0
/* 803C4250 003BFEB0  38 21 00 10 */	addi r1, r1, 0x10
/* 803C4254 003BFEB4  4E 80 00 20 */	blr 

.global func_803C4258
func_803C4258:
/* 803C4258 003BFEB8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C425C 003BFEBC  7C 08 02 A6 */	mflr r0
/* 803C4260 003BFEC0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C4264 003BFEC4  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C4268 003BFEC8  7C 83 02 14 */	add r4, r3, r0
/* 803C426C 003BFECC  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803C4270 003BFED0  54 00 B7 7F */	rlwinm. r0, r0, 0x16, 0x1d, 0x1f
/* 803C4274 003BFED4  41 82 00 0C */	beq lbl_803C4280
/* 803C4278 003BFED8  38 60 00 00 */	li r3, 0
/* 803C427C 003BFEDC  48 00 00 18 */	b lbl_803C4294
lbl_803C4280:
/* 803C4280 003BFEE0  80 63 21 20 */	lwz r3, 0x2120(r3)
/* 803C4284 003BFEE4  A0 84 2D B8 */	lhz r4, 0x2db8(r4)
/* 803C4288 003BFEE8  48 01 54 E5 */	bl func_803D976C
/* 803C428C 003BFEEC  38 80 00 09 */	li r4, 9
/* 803C4290 003BFEF0  48 01 4F 9D */	bl func_803D922C
lbl_803C4294:
/* 803C4294 003BFEF4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C4298 003BFEF8  7C 08 03 A6 */	mtlr r0
/* 803C429C 003BFEFC  38 21 00 10 */	addi r1, r1, 0x10
/* 803C42A0 003BFF00  4E 80 00 20 */	blr 

.global func_803C42A4
func_803C42A4:
/* 803C42A4 003BFF04  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C42A8 003BFF08  7C 08 02 A6 */	mflr r0
/* 803C42AC 003BFF0C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C42B0 003BFF10  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C42B4 003BFF14  7C 83 02 14 */	add r4, r3, r0
/* 803C42B8 003BFF18  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803C42BC 003BFF1C  54 00 B7 7F */	rlwinm. r0, r0, 0x16, 0x1d, 0x1f
/* 803C42C0 003BFF20  41 82 00 0C */	beq lbl_803C42CC
/* 803C42C4 003BFF24  38 60 00 00 */	li r3, 0
/* 803C42C8 003BFF28  48 00 00 18 */	b lbl_803C42E0
lbl_803C42CC:
/* 803C42CC 003BFF2C  80 63 21 20 */	lwz r3, 0x2120(r3)
/* 803C42D0 003BFF30  A0 84 2D B8 */	lhz r4, 0x2db8(r4)
/* 803C42D4 003BFF34  48 01 54 99 */	bl func_803D976C
/* 803C42D8 003BFF38  38 80 00 0A */	li r4, 0xa
/* 803C42DC 003BFF3C  48 01 4F 51 */	bl func_803D922C
lbl_803C42E0:
/* 803C42E0 003BFF40  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C42E4 003BFF44  7C 08 03 A6 */	mtlr r0
/* 803C42E8 003BFF48  38 21 00 10 */	addi r1, r1, 0x10
/* 803C42EC 003BFF4C  4E 80 00 20 */	blr 

.global func_803C42F0
func_803C42F0:
/* 803C42F0 003BFF50  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C42F4 003BFF54  7C 08 02 A6 */	mflr r0
/* 803C42F8 003BFF58  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C42FC 003BFF5C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C4300 003BFF60  4B E0 2E 29 */	bl _savegpr_27
/* 803C4304 003BFF64  7C 9D 23 78 */	mr r29, r4
/* 803C4308 003BFF68  7C BE 2B 78 */	mr r30, r5
/* 803C430C 003BFF6C  7C 7C 1B 78 */	mr r28, r3
/* 803C4310 003BFF70  3B E0 00 00 */	li r31, 0
/* 803C4314 003BFF74  7F A3 EB 78 */	mr r3, r29
/* 803C4318 003BFF78  7F C4 F3 78 */	mr r4, r30
/* 803C431C 003BFF7C  4B FF FA 51 */	bl func_803C3D6C
/* 803C4320 003BFF80  7C 60 1B 78 */	mr r0, r3
/* 803C4324 003BFF84  80 7D 21 20 */	lwz r3, 0x2120(r29)
/* 803C4328 003BFF88  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C432C 003BFF8C  48 01 54 41 */	bl func_803D976C
/* 803C4330 003BFF90  38 80 00 01 */	li r4, 1
/* 803C4334 003BFF94  48 01 4E F9 */	bl func_803D922C
/* 803C4338 003BFF98  2C 03 00 7A */	cmpwi r3, 0x7a
/* 803C433C 003BFF9C  40 82 00 0C */	bne lbl_803C4348
/* 803C4340 003BFFA0  38 60 00 00 */	li r3, 0
/* 803C4344 003BFFA4  48 00 01 80 */	b lbl_803C44C4
lbl_803C4348:
/* 803C4348 003BFFA8  1F 7E 00 C0 */	mulli r27, r30, 0xc0
/* 803C434C 003BFFAC  7C 9D DA 14 */	add r4, r29, r27
/* 803C4350 003BFFB0  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803C4354 003BFFB4  54 60 01 4A */	rlwinm r0, r3, 0, 5, 5
/* 803C4358 003BFFB8  50 60 04 25 */	rlwimi. r0, r3, 0, 0x10, 0x12
/* 803C435C 003BFFBC  40 82 00 10 */	bne lbl_803C436C
/* 803C4360 003BFFC0  80 04 2D C0 */	lwz r0, 0x2dc0(r4)
/* 803C4364 003BFFC4  54 00 05 6B */	rlwinm. r0, r0, 0, 0x15, 0x15
/* 803C4368 003BFFC8  41 82 00 08 */	beq lbl_803C4370
lbl_803C436C:
/* 803C436C 003BFFCC  3B E0 00 01 */	li r31, 1
lbl_803C4370:
/* 803C4370 003BFFD0  7F A3 EB 78 */	mr r3, r29
/* 803C4374 003BFFD4  7F C4 F3 78 */	mr r4, r30
/* 803C4378 003BFFD8  4B FF B7 A1 */	bl func_803BFB18
/* 803C437C 003BFFDC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C4380 003BFFE0  28 00 00 17 */	cmplwi r0, 0x17
/* 803C4384 003BFFE4  41 82 00 24 */	beq lbl_803C43A8
/* 803C4388 003BFFE8  7F 83 E3 78 */	mr r3, r28
/* 803C438C 003BFFEC  7F A4 EB 78 */	mr r4, r29
/* 803C4390 003BFFF0  7F C6 F3 78 */	mr r6, r30
/* 803C4394 003BFFF4  38 A0 00 03 */	li r5, 3
/* 803C4398 003BFFF8  38 E0 00 17 */	li r7, 0x17
/* 803C439C 003BFFFC  4B FF AF E5 */	bl func_803BF380
/* 803C43A0 003C0000  2C 03 00 00 */	cmpwi r3, 0
/* 803C43A4 003C0004  40 82 00 5C */	bne lbl_803C4400
lbl_803C43A8:
/* 803C43A8 003C0008  7F A3 EB 78 */	mr r3, r29
/* 803C43AC 003C000C  7F C4 F3 78 */	mr r4, r30
/* 803C43B0 003C0010  38 A0 00 1B */	li r5, 0x1b
/* 803C43B4 003C0014  38 C0 00 00 */	li r6, 0
/* 803C43B8 003C0018  4B FF 68 ED */	bl func_803BACA4
/* 803C43BC 003C001C  2C 03 00 08 */	cmpwi r3, 8
/* 803C43C0 003C0020  41 82 00 20 */	beq lbl_803C43E0
/* 803C43C4 003C0024  7F A3 EB 78 */	mr r3, r29
/* 803C43C8 003C0028  7F C4 F3 78 */	mr r4, r30
/* 803C43CC 003C002C  38 A0 00 1C */	li r5, 0x1c
/* 803C43D0 003C0030  38 C0 00 00 */	li r6, 0
/* 803C43D4 003C0034  4B FF 68 D1 */	bl func_803BACA4
/* 803C43D8 003C0038  2C 03 00 08 */	cmpwi r3, 8
/* 803C43DC 003C003C  40 82 00 28 */	bne lbl_803C4404
lbl_803C43E0:
/* 803C43E0 003C0040  7F 83 E3 78 */	mr r3, r28
/* 803C43E4 003C0044  7F A4 EB 78 */	mr r4, r29
/* 803C43E8 003C0048  7F C6 F3 78 */	mr r6, r30
/* 803C43EC 003C004C  38 A0 00 03 */	li r5, 3
/* 803C43F0 003C0050  38 E0 00 2A */	li r7, 0x2a
/* 803C43F4 003C0054  4B FF AF 8D */	bl func_803BF380
/* 803C43F8 003C0058  2C 03 00 00 */	cmpwi r3, 0
/* 803C43FC 003C005C  41 82 00 08 */	beq lbl_803C4404
lbl_803C4400:
/* 803C4400 003C0060  3B E0 00 01 */	li r31, 1
lbl_803C4404:
/* 803C4404 003C0064  7F A3 EB 78 */	mr r3, r29
/* 803C4408 003C0068  7F C4 F3 78 */	mr r4, r30
/* 803C440C 003C006C  4B FF B7 0D */	bl func_803BFB18
/* 803C4410 003C0070  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C4414 003C0074  28 00 00 1A */	cmplwi r0, 0x1a
/* 803C4418 003C0078  41 82 00 4C */	beq lbl_803C4464
/* 803C441C 003C007C  7C 7D DA 14 */	add r3, r29, r27
/* 803C4420 003C0080  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C4424 003C0084  54 00 87 7F */	rlwinm. r0, r0, 0x10, 0x1d, 0x1f
/* 803C4428 003C0088  40 82 00 3C */	bne lbl_803C4464
/* 803C442C 003C008C  7F A3 EB 78 */	mr r3, r29
/* 803C4430 003C0090  7F C4 F3 78 */	mr r4, r30
/* 803C4434 003C0094  38 A0 00 1B */	li r5, 0x1b
/* 803C4438 003C0098  38 C0 00 00 */	li r6, 0
/* 803C443C 003C009C  4B FF 68 69 */	bl func_803BACA4
/* 803C4440 003C00A0  2C 03 00 02 */	cmpwi r3, 2
/* 803C4444 003C00A4  41 82 00 20 */	beq lbl_803C4464
/* 803C4448 003C00A8  7F A3 EB 78 */	mr r3, r29
/* 803C444C 003C00AC  7F C4 F3 78 */	mr r4, r30
/* 803C4450 003C00B0  38 A0 00 1C */	li r5, 0x1c
/* 803C4454 003C00B4  38 C0 00 00 */	li r6, 0
/* 803C4458 003C00B8  4B FF 68 4D */	bl func_803BACA4
/* 803C445C 003C00BC  2C 03 00 02 */	cmpwi r3, 2
/* 803C4460 003C00C0  40 82 00 3C */	bne lbl_803C449C
lbl_803C4464:
/* 803C4464 003C00C4  7F A3 EB 78 */	mr r3, r29
/* 803C4468 003C00C8  7F C4 F3 78 */	mr r4, r30
/* 803C446C 003C00CC  4B FF F9 01 */	bl func_803C3D6C
/* 803C4470 003C00D0  7C 60 1B 78 */	mr r0, r3
/* 803C4474 003C00D4  80 7D 21 20 */	lwz r3, 0x2120(r29)
/* 803C4478 003C00D8  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C447C 003C00DC  48 01 52 F1 */	bl func_803D976C
/* 803C4480 003C00E0  38 80 00 01 */	li r4, 1
/* 803C4484 003C00E4  48 01 4D A9 */	bl func_803D922C
/* 803C4488 003C00E8  2C 03 00 69 */	cmpwi r3, 0x69
/* 803C448C 003C00EC  41 82 00 10 */	beq lbl_803C449C
/* 803C4490 003C00F0  80 1D 01 80 */	lwz r0, 0x180(r29)
/* 803C4494 003C00F4  54 00 04 67 */	rlwinm. r0, r0, 0, 0x11, 0x13
/* 803C4498 003C00F8  41 82 00 28 */	beq lbl_803C44C0
lbl_803C449C:
/* 803C449C 003C00FC  7F 83 E3 78 */	mr r3, r28
/* 803C44A0 003C0100  7F A4 EB 78 */	mr r4, r29
/* 803C44A4 003C0104  7F C6 F3 78 */	mr r6, r30
/* 803C44A8 003C0108  38 A0 00 03 */	li r5, 3
/* 803C44AC 003C010C  38 E0 00 47 */	li r7, 0x47
/* 803C44B0 003C0110  4B FF AE D1 */	bl func_803BF380
/* 803C44B4 003C0114  2C 03 00 00 */	cmpwi r3, 0
/* 803C44B8 003C0118  41 82 00 08 */	beq lbl_803C44C0
/* 803C44BC 003C011C  3B E0 00 01 */	li r31, 1
lbl_803C44C0:
/* 803C44C0 003C0120  7F E3 FB 78 */	mr r3, r31
lbl_803C44C4:
/* 803C44C4 003C0124  39 61 00 20 */	addi r11, r1, 0x20
/* 803C44C8 003C0128  4B E0 2C AD */	bl _restgpr_27
/* 803C44CC 003C012C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C44D0 003C0130  7C 08 03 A6 */	mtlr r0
/* 803C44D4 003C0134  38 21 00 20 */	addi r1, r1, 0x20
/* 803C44D8 003C0138  4E 80 00 20 */	blr 

.global func_803C44DC
func_803C44DC:
/* 803C44DC 003C013C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C44E0 003C0140  7C 08 02 A6 */	mflr r0
/* 803C44E4 003C0144  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C44E8 003C0148  39 61 00 30 */	addi r11, r1, 0x30
/* 803C44EC 003C014C  4B E0 2C 31 */	bl _savegpr_24
/* 803C44F0 003C0150  7C 9A 23 78 */	mr r26, r4
/* 803C44F4 003C0154  7C BB 2B 78 */	mr r27, r5
/* 803C44F8 003C0158  7C 79 1B 78 */	mr r25, r3
/* 803C44FC 003C015C  3B E0 00 00 */	li r31, 0
/* 803C4500 003C0160  7F 43 D3 78 */	mr r3, r26
/* 803C4504 003C0164  7F 64 DB 78 */	mr r4, r27
/* 803C4508 003C0168  3B C0 00 00 */	li r30, 0
/* 803C450C 003C016C  4B FF FD 11 */	bl func_803C421C
/* 803C4510 003C0170  7C 78 1B 78 */	mr r24, r3
/* 803C4514 003C0174  7F 43 D3 78 */	mr r3, r26
/* 803C4518 003C0178  7F 64 DB 78 */	mr r4, r27
/* 803C451C 003C017C  38 A0 00 01 */	li r5, 1
/* 803C4520 003C0180  4B FF FB E1 */	bl func_803C4100
/* 803C4524 003C0184  80 9A 00 6C */	lwz r4, 0x6c(r26)
/* 803C4528 003C0188  7C 7D 1B 78 */	mr r29, r3
/* 803C452C 003C018C  7F 43 D3 78 */	mr r3, r26
/* 803C4530 003C0190  48 00 15 15 */	bl func_803C5A44
/* 803C4534 003C0194  2C 03 00 01 */	cmpwi r3, 1
/* 803C4538 003C0198  40 82 00 0C */	bne lbl_803C4544
/* 803C453C 003C019C  38 60 00 00 */	li r3, 0
/* 803C4540 003C01A0  48 00 08 90 */	b lbl_803C4DD0
lbl_803C4544:
/* 803C4544 003C01A4  28 18 00 17 */	cmplwi r24, 0x17
/* 803C4548 003C01A8  41 81 07 F4 */	bgt lbl_803C4D3C
/* 803C454C 003C01AC  3C 60 80 47 */	lis r3, lbl_80473CBC@ha
/* 803C4550 003C01B0  57 00 10 3A */	slwi r0, r24, 2
/* 803C4554 003C01B4  38 63 3C BC */	addi r3, r3, lbl_80473CBC@l
/* 803C4558 003C01B8  7C 63 00 2E */	lwzx r3, r3, r0
/* 803C455C 003C01BC  7C 69 03 A6 */	mtctr r3
/* 803C4560 003C01C0  4E 80 04 20 */	bctr 
/* 803C4564 003C01C4  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4568 003C01C8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C456C 003C01CC  7C 9A 02 14 */	add r4, r26, r0
/* 803C4570 003C01D0  80 64 2D 8C */	lwz r3, 0x2d8c(r4)
/* 803C4574 003C01D4  80 04 2D 90 */	lwz r0, 0x2d90(r4)
/* 803C4578 003C01D8  7C 03 00 40 */	cmplw r3, r0
/* 803C457C 003C01DC  41 82 00 1C */	beq lbl_803C4598
/* 803C4580 003C01E0  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4584 003C01E4  93 BA 21 5C */	stw r29, 0x215c(r26)
/* 803C4588 003C01E8  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C458C 003C01EC  38 00 00 01 */	li r0, 1
/* 803C4590 003C01F0  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4594 003C01F4  3B C0 00 C6 */	li r30, 0xc6
lbl_803C4598:
/* 803C4598 003C01F8  3B E0 00 01 */	li r31, 1
/* 803C459C 003C01FC  48 00 07 C0 */	b lbl_803C4D5C
/* 803C45A0 003C0200  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C45A4 003C0204  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C45A8 003C0208  7C 7A 02 14 */	add r3, r26, r0
/* 803C45AC 003C020C  80 83 2D 90 */	lwz r4, 0x2d90(r3)
/* 803C45B0 003C0210  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C45B4 003C0214  7C 00 20 40 */	cmplw r0, r4
/* 803C45B8 003C0218  41 82 00 28 */	beq lbl_803C45E0
/* 803C45BC 003C021C  7C 7D 21 D6 */	mullw r3, r29, r4
/* 803C45C0 003C0220  38 80 00 64 */	li r4, 0x64
/* 803C45C4 003C0224  4B FF C5 A5 */	bl func_803C0B68
/* 803C45C8 003C0228  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803C45CC 003C022C  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C45D0 003C0230  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803C45D4 003C0234  38 00 00 0C */	li r0, 0xc
/* 803C45D8 003C0238  90 04 00 14 */	stw r0, 0x14(r4)
/* 803C45DC 003C023C  3B C0 00 C6 */	li r30, 0xc6
lbl_803C45E0:
/* 803C45E0 003C0240  3B E0 00 01 */	li r31, 1
/* 803C45E4 003C0244  48 00 07 78 */	b lbl_803C4D5C
/* 803C45E8 003C0248  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C45EC 003C024C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C45F0 003C0250  7C 7A 02 14 */	add r3, r26, r0
/* 803C45F4 003C0254  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C45F8 003C0258  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803C45FC 003C025C  41 82 00 18 */	beq lbl_803C4614
/* 803C4600 003C0260  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4604 003C0264  38 00 00 04 */	li r0, 4
/* 803C4608 003C0268  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C460C 003C026C  3B C0 00 C7 */	li r30, 0xc7
/* 803C4610 003C0270  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4614:
/* 803C4614 003C0274  3B E0 00 01 */	li r31, 1
/* 803C4618 003C0278  48 00 07 44 */	b lbl_803C4D5C
/* 803C461C 003C027C  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4620 003C0280  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4624 003C0284  7C 7A 02 14 */	add r3, r26, r0
/* 803C4628 003C0288  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C462C 003C028C  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C4630 003C0290  41 82 00 18 */	beq lbl_803C4648
/* 803C4634 003C0294  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4638 003C0298  38 00 00 05 */	li r0, 5
/* 803C463C 003C029C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4640 003C02A0  3B C0 00 C8 */	li r30, 0xc8
/* 803C4644 003C02A4  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4648:
/* 803C4648 003C02A8  3B E0 00 01 */	li r31, 1
/* 803C464C 003C02AC  48 00 07 10 */	b lbl_803C4D5C
/* 803C4650 003C02B0  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4654 003C02B4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4658 003C02B8  7C 7A 02 14 */	add r3, r26, r0
/* 803C465C 003C02BC  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4660 003C02C0  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C4664 003C02C4  41 82 00 18 */	beq lbl_803C467C
/* 803C4668 003C02C8  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C466C 003C02CC  38 00 00 06 */	li r0, 6
/* 803C4670 003C02D0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4674 003C02D4  3B C0 00 C9 */	li r30, 0xc9
/* 803C4678 003C02D8  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C467C:
/* 803C467C 003C02DC  3B E0 00 01 */	li r31, 1
/* 803C4680 003C02E0  48 00 06 DC */	b lbl_803C4D5C
/* 803C4684 003C02E4  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4688 003C02E8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C468C 003C02EC  7C 7A 02 14 */	add r3, r26, r0
/* 803C4690 003C02F0  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4694 003C02F4  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C4698 003C02F8  41 82 00 18 */	beq lbl_803C46B0
/* 803C469C 003C02FC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C46A0 003C0300  38 00 00 07 */	li r0, 7
/* 803C46A4 003C0304  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C46A8 003C0308  3B C0 00 CA */	li r30, 0xca
/* 803C46AC 003C030C  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C46B0:
/* 803C46B0 003C0310  3B E0 00 01 */	li r31, 1
/* 803C46B4 003C0314  48 00 06 A8 */	b lbl_803C4D5C
/* 803C46B8 003C0318  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C46BC 003C031C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C46C0 003C0320  7C 7A 02 14 */	add r3, r26, r0
/* 803C46C4 003C0324  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C46C8 003C0328  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C46CC 003C032C  41 82 00 18 */	beq lbl_803C46E4
/* 803C46D0 003C0330  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C46D4 003C0334  38 00 00 08 */	li r0, 8
/* 803C46D8 003C0338  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C46DC 003C033C  3B C0 00 CB */	li r30, 0xcb
/* 803C46E0 003C0340  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C46E4:
/* 803C46E4 003C0344  3B E0 00 01 */	li r31, 1
/* 803C46E8 003C0348  48 00 06 74 */	b lbl_803C4D5C
/* 803C46EC 003C034C  3B E0 00 00 */	li r31, 0
/* 803C46F0 003C0350  3B C0 00 00 */	li r30, 0
/* 803C46F4 003C0354  3B 00 00 00 */	li r24, 0
lbl_803C46F8:
/* 803C46F8 003C0358  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C46FC 003C035C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4700 003C0360  7C 1A 02 14 */	add r0, r26, r0
/* 803C4704 003C0364  7C 60 C2 14 */	add r3, r0, r24
/* 803C4708 003C0368  A0 63 2D 4C */	lhz r3, 0x2d4c(r3)
/* 803C470C 003C036C  2C 03 00 00 */	cmpwi r3, 0
/* 803C4710 003C0370  41 82 00 3C */	beq lbl_803C474C
/* 803C4714 003C0374  7C 80 F2 14 */	add r4, r0, r30
/* 803C4718 003C0378  88 84 2D 70 */	lbz r4, 0x2d70(r4)
/* 803C471C 003C037C  48 01 A3 45 */	bl func_803DEA60
/* 803C4720 003C0380  80 9A 00 64 */	lwz r4, 0x64(r26)
/* 803C4724 003C0384  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803C4728 003C0388  7C 1E D2 14 */	add r0, r30, r26
/* 803C472C 003C038C  1C 64 00 C0 */	mulli r3, r4, 0xc0
/* 803C4730 003C0390  7C 63 02 14 */	add r3, r3, r0
/* 803C4734 003C0394  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803C4738 003C0398  7C 00 28 50 */	subf r0, r0, r5
/* 803C473C 003C039C  7C 00 F8 00 */	cmpw r0, r31
/* 803C4740 003C03A0  40 81 00 0C */	ble lbl_803C474C
/* 803C4744 003C03A4  7C 1F 03 78 */	mr r31, r0
/* 803C4748 003C03A8  7F DC F3 78 */	mr r28, r30
lbl_803C474C:
/* 803C474C 003C03AC  3B DE 00 01 */	addi r30, r30, 1
/* 803C4750 003C03B0  3B 18 00 02 */	addi r24, r24, 2
/* 803C4754 003C03B4  2C 1E 00 04 */	cmpwi r30, 4
/* 803C4758 003C03B8  41 80 FF A0 */	blt lbl_803C46F8
/* 803C475C 003C03BC  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4760 003C03C0  7F A5 EB 78 */	mr r5, r29
/* 803C4764 003C03C4  38 9C 00 1F */	addi r4, r28, 0x1f
/* 803C4768 003C03C8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C476C 003C03CC  7C 7A 02 14 */	add r3, r26, r0
/* 803C4770 003C03D0  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803C4774 003C03D4  4B FF 6F D1 */	bl func_803BB744
/* 803C4778 003C03D8  80 BA 00 64 */	lwz r5, 0x64(r26)
/* 803C477C 003C03DC  7F 23 CB 78 */	mr r3, r25
/* 803C4780 003C03E0  7F 44 D3 78 */	mr r4, r26
/* 803C4784 003C03E4  4B FF 8B F1 */	bl func_803BD374
/* 803C4788 003C03E8  80 BA 00 64 */	lwz r5, 0x64(r26)
/* 803C478C 003C03EC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4790 003C03F0  57 84 08 3C */	slwi r4, r28, 1
/* 803C4794 003C03F4  38 00 00 09 */	li r0, 9
/* 803C4798 003C03F8  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803C479C 003C03FC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C47A0 003C0400  3B C0 00 CC */	li r30, 0xcc
/* 803C47A4 003C0404  3B E0 00 01 */	li r31, 1
/* 803C47A8 003C0408  7C BA 2A 14 */	add r5, r26, r5
/* 803C47AC 003C040C  7C 85 22 14 */	add r4, r5, r4
/* 803C47B0 003C0410  A0 84 2D 4C */	lhz r4, 0x2d4c(r4)
/* 803C47B4 003C0414  90 9A 01 24 */	stw r4, 0x124(r26)
/* 803C47B8 003C0418  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C47BC 003C041C  48 00 05 A0 */	b lbl_803C4D5C
/* 803C47C0 003C0420  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C47C4 003C0424  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C47C8 003C0428  7C 7A 02 14 */	add r3, r26, r0
/* 803C47CC 003C042C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C47D0 003C0430  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C47D4 003C0434  41 82 00 18 */	beq lbl_803C47EC
/* 803C47D8 003C0438  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C47DC 003C043C  38 00 00 0A */	li r0, 0xa
/* 803C47E0 003C0440  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C47E4 003C0444  3B C0 00 CD */	li r30, 0xcd
/* 803C47E8 003C0448  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C47EC:
/* 803C47EC 003C044C  3B E0 00 01 */	li r31, 1
/* 803C47F0 003C0450  48 00 05 6C */	b lbl_803C4D5C
/* 803C47F4 003C0454  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C47F8 003C0458  1C 80 00 C0 */	mulli r4, r0, 0xc0
/* 803C47FC 003C045C  7C 7A 22 14 */	add r3, r26, r4
/* 803C4800 003C0460  80 A3 2D AC */	lwz r5, 0x2dac(r3)
/* 803C4804 003C0464  54 A6 06 3F */	clrlwi. r6, r5, 0x18
/* 803C4808 003C0468  40 82 00 10 */	bne lbl_803C4818
/* 803C480C 003C046C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C4810 003C0470  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C4814 003C0474  41 82 00 B8 */	beq lbl_803C48CC
lbl_803C4818:
/* 803C4818 003C0478  54 A0 06 73 */	rlwinm. r0, r5, 0, 0x19, 0x19
/* 803C481C 003C047C  41 82 00 08 */	beq lbl_803C4824
/* 803C4820 003C0480  3B C0 00 C7 */	li r30, 0xc7
lbl_803C4824:
/* 803C4824 003C0484  54 A0 07 7F */	clrlwi. r0, r5, 0x1d
/* 803C4828 003C0488  41 82 00 08 */	beq lbl_803C4830
/* 803C482C 003C048C  3B C0 00 C8 */	li r30, 0xc8
lbl_803C4830:
/* 803C4830 003C0490  70 A0 0F 88 */	andi. r0, r5, 0xf88
/* 803C4834 003C0494  41 82 00 08 */	beq lbl_803C483C
/* 803C4838 003C0498  3B C0 00 C9 */	li r30, 0xc9
lbl_803C483C:
/* 803C483C 003C049C  54 A0 06 F7 */	rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 803C4840 003C04A0  41 82 00 08 */	beq lbl_803C4848
/* 803C4844 003C04A4  3B C0 00 CA */	li r30, 0xca
lbl_803C4848:
/* 803C4848 003C04A8  54 A0 06 B5 */	rlwinm. r0, r5, 0, 0x1a, 0x1a
/* 803C484C 003C04AC  41 82 00 08 */	beq lbl_803C4854
/* 803C4850 003C04B0  3B C0 00 CB */	li r30, 0xcb
lbl_803C4854:
/* 803C4854 003C04B4  7C 7A 22 14 */	add r3, r26, r4
/* 803C4858 003C04B8  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C485C 003C04BC  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C4860 003C04C0  41 82 00 08 */	beq lbl_803C4868
/* 803C4864 003C04C4  3B C0 00 CD */	li r30, 0xcd
lbl_803C4868:
/* 803C4868 003C04C8  2C 06 00 00 */	cmpwi r6, 0
/* 803C486C 003C04CC  41 82 00 10 */	beq lbl_803C487C
/* 803C4870 003C04D0  2C 00 00 00 */	cmpwi r0, 0
/* 803C4874 003C04D4  41 82 00 08 */	beq lbl_803C487C
/* 803C4878 003C04D8  3B C0 00 CE */	li r30, 0xce
lbl_803C487C:
/* 803C487C 003C04DC  2C 1E 00 00 */	cmpwi r30, 0
/* 803C4880 003C04E0  41 82 00 4C */	beq lbl_803C48CC
/* 803C4884 003C04E4  2C 1E 00 C8 */	cmpwi r30, 0xc8
/* 803C4888 003C04E8  40 82 00 18 */	bne lbl_803C48A0
/* 803C488C 003C04EC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4890 003C04F0  38 00 00 05 */	li r0, 5
/* 803C4894 003C04F4  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4898 003C04F8  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C489C 003C04FC  48 00 00 30 */	b lbl_803C48CC
lbl_803C48A0:
/* 803C48A0 003C0500  2C 1E 00 CB */	cmpwi r30, 0xcb
/* 803C48A4 003C0504  40 82 00 18 */	bne lbl_803C48BC
/* 803C48A8 003C0508  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C48AC 003C050C  38 00 00 08 */	li r0, 8
/* 803C48B0 003C0510  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C48B4 003C0514  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C48B8 003C0518  48 00 00 14 */	b lbl_803C48CC
lbl_803C48BC:
/* 803C48BC 003C051C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C48C0 003C0520  38 00 00 0B */	li r0, 0xb
/* 803C48C4 003C0524  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C48C8 003C0528  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C48CC:
/* 803C48CC 003C052C  3B E0 00 01 */	li r31, 1
/* 803C48D0 003C0530  48 00 04 8C */	b lbl_803C4D5C
/* 803C48D4 003C0534  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C48D8 003C0538  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C48DC 003C053C  7C 9A 02 14 */	add r4, r26, r0
/* 803C48E0 003C0540  80 64 2D 90 */	lwz r3, 0x2d90(r4)
/* 803C48E4 003C0544  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C48E8 003C0548  7C 00 18 40 */	cmplw r0, r3
/* 803C48EC 003C054C  41 82 00 54 */	beq lbl_803C4940
/* 803C48F0 003C0550  7F A4 EB 78 */	mr r4, r29
/* 803C48F4 003C0554  4B FF C2 75 */	bl func_803C0B68
/* 803C48F8 003C0558  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C48FC 003C055C  38 A0 00 00 */	li r5, 0
/* 803C4900 003C0560  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C4904 003C0564  38 80 00 00 */	li r4, 0
/* 803C4908 003C0568  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C490C 003C056C  90 BA 01 30 */	stw r5, 0x130(r26)
/* 803C4910 003C0570  7C 7A 02 14 */	add r3, r26, r0
/* 803C4914 003C0574  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C4918 003C0578  48 01 80 41 */	bl func_803DC958
/* 803C491C 003C057C  7C 60 07 74 */	extsb r0, r3
/* 803C4920 003C0580  3B C0 00 C6 */	li r30, 0xc6
/* 803C4924 003C0584  2C 00 FF FF */	cmpwi r0, -1
/* 803C4928 003C0588  40 82 00 08 */	bne lbl_803C4930
/* 803C492C 003C058C  3B C0 00 CF */	li r30, 0xcf
lbl_803C4930:
/* 803C4930 003C0590  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4934 003C0594  38 00 00 0D */	li r0, 0xd
/* 803C4938 003C0598  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C493C 003C059C  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4940:
/* 803C4940 003C05A0  3B E0 00 01 */	li r31, 1
/* 803C4944 003C05A4  48 00 04 18 */	b lbl_803C4D5C
/* 803C4948 003C05A8  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C494C 003C05AC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4950 003C05B0  7C 9A 02 14 */	add r4, r26, r0
/* 803C4954 003C05B4  80 64 2D 90 */	lwz r3, 0x2d90(r4)
/* 803C4958 003C05B8  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C495C 003C05BC  7C 00 18 40 */	cmplw r0, r3
/* 803C4960 003C05C0  41 82 00 54 */	beq lbl_803C49B4
/* 803C4964 003C05C4  7F A4 EB 78 */	mr r4, r29
/* 803C4968 003C05C8  4B FF C2 01 */	bl func_803C0B68
/* 803C496C 003C05CC  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4970 003C05D0  38 A0 00 01 */	li r5, 1
/* 803C4974 003C05D4  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C4978 003C05D8  38 80 00 01 */	li r4, 1
/* 803C497C 003C05DC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4980 003C05E0  90 BA 01 30 */	stw r5, 0x130(r26)
/* 803C4984 003C05E4  7C 7A 02 14 */	add r3, r26, r0
/* 803C4988 003C05E8  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C498C 003C05EC  48 01 7F CD */	bl func_803DC958
/* 803C4990 003C05F0  7C 60 07 74 */	extsb r0, r3
/* 803C4994 003C05F4  3B C0 00 C6 */	li r30, 0xc6
/* 803C4998 003C05F8  2C 00 FF FF */	cmpwi r0, -1
/* 803C499C 003C05FC  40 82 00 08 */	bne lbl_803C49A4
/* 803C49A0 003C0600  3B C0 00 CF */	li r30, 0xcf
lbl_803C49A4:
/* 803C49A4 003C0604  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C49A8 003C0608  38 00 00 0E */	li r0, 0xe
/* 803C49AC 003C060C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C49B0 003C0610  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C49B4:
/* 803C49B4 003C0614  3B E0 00 01 */	li r31, 1
/* 803C49B8 003C0618  48 00 03 A4 */	b lbl_803C4D5C
/* 803C49BC 003C061C  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C49C0 003C0620  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C49C4 003C0624  7C 9A 02 14 */	add r4, r26, r0
/* 803C49C8 003C0628  80 64 2D 90 */	lwz r3, 0x2d90(r4)
/* 803C49CC 003C062C  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C49D0 003C0630  7C 00 18 40 */	cmplw r0, r3
/* 803C49D4 003C0634  41 82 00 54 */	beq lbl_803C4A28
/* 803C49D8 003C0638  7F A4 EB 78 */	mr r4, r29
/* 803C49DC 003C063C  4B FF C1 8D */	bl func_803C0B68
/* 803C49E0 003C0640  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C49E4 003C0644  38 A0 00 02 */	li r5, 2
/* 803C49E8 003C0648  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C49EC 003C064C  38 80 00 02 */	li r4, 2
/* 803C49F0 003C0650  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C49F4 003C0654  90 BA 01 30 */	stw r5, 0x130(r26)
/* 803C49F8 003C0658  7C 7A 02 14 */	add r3, r26, r0
/* 803C49FC 003C065C  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C4A00 003C0660  48 01 7F 59 */	bl func_803DC958
/* 803C4A04 003C0664  7C 60 07 74 */	extsb r0, r3
/* 803C4A08 003C0668  3B C0 00 C6 */	li r30, 0xc6
/* 803C4A0C 003C066C  2C 00 FF FF */	cmpwi r0, -1
/* 803C4A10 003C0670  40 82 00 08 */	bne lbl_803C4A18
/* 803C4A14 003C0674  3B C0 00 CF */	li r30, 0xcf
lbl_803C4A18:
/* 803C4A18 003C0678  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4A1C 003C067C  38 00 00 0F */	li r0, 0xf
/* 803C4A20 003C0680  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4A24 003C0684  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4A28:
/* 803C4A28 003C0688  3B E0 00 01 */	li r31, 1
/* 803C4A2C 003C068C  48 00 03 30 */	b lbl_803C4D5C
/* 803C4A30 003C0690  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4A34 003C0694  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4A38 003C0698  7C 9A 02 14 */	add r4, r26, r0
/* 803C4A3C 003C069C  80 64 2D 90 */	lwz r3, 0x2d90(r4)
/* 803C4A40 003C06A0  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C4A44 003C06A4  7C 00 18 40 */	cmplw r0, r3
/* 803C4A48 003C06A8  41 82 00 54 */	beq lbl_803C4A9C
/* 803C4A4C 003C06AC  7F A4 EB 78 */	mr r4, r29
/* 803C4A50 003C06B0  4B FF C1 19 */	bl func_803C0B68
/* 803C4A54 003C06B4  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4A58 003C06B8  38 A0 00 03 */	li r5, 3
/* 803C4A5C 003C06BC  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C4A60 003C06C0  38 80 00 03 */	li r4, 3
/* 803C4A64 003C06C4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4A68 003C06C8  90 BA 01 30 */	stw r5, 0x130(r26)
/* 803C4A6C 003C06CC  7C 7A 02 14 */	add r3, r26, r0
/* 803C4A70 003C06D0  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C4A74 003C06D4  48 01 7E E5 */	bl func_803DC958
/* 803C4A78 003C06D8  7C 60 07 74 */	extsb r0, r3
/* 803C4A7C 003C06DC  3B C0 00 C6 */	li r30, 0xc6
/* 803C4A80 003C06E0  2C 00 FF FF */	cmpwi r0, -1
/* 803C4A84 003C06E4  40 82 00 08 */	bne lbl_803C4A8C
/* 803C4A88 003C06E8  3B C0 00 CF */	li r30, 0xcf
lbl_803C4A8C:
/* 803C4A8C 003C06EC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4A90 003C06F0  38 00 00 10 */	li r0, 0x10
/* 803C4A94 003C06F4  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4A98 003C06F8  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4A9C:
/* 803C4A9C 003C06FC  3B E0 00 01 */	li r31, 1
/* 803C4AA0 003C0700  48 00 02 BC */	b lbl_803C4D5C
/* 803C4AA4 003C0704  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4AA8 003C0708  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4AAC 003C070C  7C 9A 02 14 */	add r4, r26, r0
/* 803C4AB0 003C0710  80 64 2D 90 */	lwz r3, 0x2d90(r4)
/* 803C4AB4 003C0714  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803C4AB8 003C0718  7C 00 18 40 */	cmplw r0, r3
/* 803C4ABC 003C071C  41 82 00 54 */	beq lbl_803C4B10
/* 803C4AC0 003C0720  7F A4 EB 78 */	mr r4, r29
/* 803C4AC4 003C0724  4B FF C0 A5 */	bl func_803C0B68
/* 803C4AC8 003C0728  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4ACC 003C072C  38 A0 00 04 */	li r5, 4
/* 803C4AD0 003C0730  90 7A 21 5C */	stw r3, 0x215c(r26)
/* 803C4AD4 003C0734  38 80 00 04 */	li r4, 4
/* 803C4AD8 003C0738  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4ADC 003C073C  90 BA 01 30 */	stw r5, 0x130(r26)
/* 803C4AE0 003C0740  7C 7A 02 14 */	add r3, r26, r0
/* 803C4AE4 003C0744  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C4AE8 003C0748  48 01 7E 71 */	bl func_803DC958
/* 803C4AEC 003C074C  7C 60 07 74 */	extsb r0, r3
/* 803C4AF0 003C0750  3B C0 00 C6 */	li r30, 0xc6
/* 803C4AF4 003C0754  2C 00 FF FF */	cmpwi r0, -1
/* 803C4AF8 003C0758  40 82 00 08 */	bne lbl_803C4B00
/* 803C4AFC 003C075C  3B C0 00 CF */	li r30, 0xcf
lbl_803C4B00:
/* 803C4B00 003C0760  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4B04 003C0764  38 00 00 11 */	li r0, 0x11
/* 803C4B08 003C0768  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4B0C 003C076C  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4B10:
/* 803C4B10 003C0770  3B E0 00 01 */	li r31, 1
/* 803C4B14 003C0774  48 00 02 48 */	b lbl_803C4D5C
/* 803C4B18 003C0778  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4B1C 003C077C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4B20 003C0780  7C 7A 02 14 */	add r3, r26, r0
/* 803C4B24 003C0784  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C4B28 003C0788  7C 00 07 74 */	extsb r0, r0
/* 803C4B2C 003C078C  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4B30 003C0790  40 80 00 20 */	bge lbl_803C4B50
/* 803C4B34 003C0794  38 00 00 01 */	li r0, 1
/* 803C4B38 003C0798  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4B3C 003C079C  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C4B40 003C07A0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4B44 003C07A4  38 00 00 23 */	li r0, 0x23
/* 803C4B48 003C07A8  3B C0 00 D0 */	li r30, 0xd0
/* 803C4B4C 003C07AC  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4B50:
/* 803C4B50 003C07B0  3B E0 00 01 */	li r31, 1
/* 803C4B54 003C07B4  48 00 02 08 */	b lbl_803C4D5C
/* 803C4B58 003C07B8  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4B5C 003C07BC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4B60 003C07C0  7C 7A 02 14 */	add r3, r26, r0
/* 803C4B64 003C07C4  88 03 2D 5A */	lbz r0, 0x2d5a(r3)
/* 803C4B68 003C07C8  7C 00 07 74 */	extsb r0, r0
/* 803C4B6C 003C07CC  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4B70 003C07D0  40 80 00 20 */	bge lbl_803C4B90
/* 803C4B74 003C07D4  38 00 00 02 */	li r0, 2
/* 803C4B78 003C07D8  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4B7C 003C07DC  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C4B80 003C07E0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4B84 003C07E4  38 00 00 24 */	li r0, 0x24
/* 803C4B88 003C07E8  3B C0 00 D0 */	li r30, 0xd0
/* 803C4B8C 003C07EC  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4B90:
/* 803C4B90 003C07F0  3B E0 00 01 */	li r31, 1
/* 803C4B94 003C07F4  48 00 01 C8 */	b lbl_803C4D5C
/* 803C4B98 003C07F8  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4B9C 003C07FC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4BA0 003C0800  7C 7A 02 14 */	add r3, r26, r0
/* 803C4BA4 003C0804  88 03 2D 5B */	lbz r0, 0x2d5b(r3)
/* 803C4BA8 003C0808  7C 00 07 74 */	extsb r0, r0
/* 803C4BAC 003C080C  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4BB0 003C0810  40 80 00 20 */	bge lbl_803C4BD0
/* 803C4BB4 003C0814  38 00 00 03 */	li r0, 3
/* 803C4BB8 003C0818  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4BBC 003C081C  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C4BC0 003C0820  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4BC4 003C0824  38 00 00 25 */	li r0, 0x25
/* 803C4BC8 003C0828  3B C0 00 D0 */	li r30, 0xd0
/* 803C4BCC 003C082C  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4BD0:
/* 803C4BD0 003C0830  3B E0 00 01 */	li r31, 1
/* 803C4BD4 003C0834  48 00 01 88 */	b lbl_803C4D5C
/* 803C4BD8 003C0838  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4BDC 003C083C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4BE0 003C0840  7C 7A 02 14 */	add r3, r26, r0
/* 803C4BE4 003C0844  88 03 2D 5C */	lbz r0, 0x2d5c(r3)
/* 803C4BE8 003C0848  7C 00 07 74 */	extsb r0, r0
/* 803C4BEC 003C084C  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4BF0 003C0850  40 80 00 20 */	bge lbl_803C4C10
/* 803C4BF4 003C0854  38 00 00 04 */	li r0, 4
/* 803C4BF8 003C0858  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4BFC 003C085C  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C4C00 003C0860  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4C04 003C0864  38 00 00 26 */	li r0, 0x26
/* 803C4C08 003C0868  3B C0 00 D0 */	li r30, 0xd0
/* 803C4C0C 003C086C  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4C10:
/* 803C4C10 003C0870  3B E0 00 01 */	li r31, 1
/* 803C4C14 003C0874  48 00 01 48 */	b lbl_803C4D5C
/* 803C4C18 003C0878  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4C1C 003C087C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4C20 003C0880  7C 7A 02 14 */	add r3, r26, r0
/* 803C4C24 003C0884  88 03 2D 5D */	lbz r0, 0x2d5d(r3)
/* 803C4C28 003C0888  7C 00 07 74 */	extsb r0, r0
/* 803C4C2C 003C088C  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4C30 003C0890  40 80 00 20 */	bge lbl_803C4C50
/* 803C4C34 003C0894  38 00 00 05 */	li r0, 5
/* 803C4C38 003C0898  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4C3C 003C089C  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C4C40 003C08A0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4C44 003C08A4  38 00 00 27 */	li r0, 0x27
/* 803C4C48 003C08A8  3B C0 00 D0 */	li r30, 0xd0
/* 803C4C4C 003C08AC  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4C50:
/* 803C4C50 003C08B0  3B E0 00 01 */	li r31, 1
/* 803C4C54 003C08B4  48 00 01 08 */	b lbl_803C4D5C
/* 803C4C58 003C08B8  38 00 00 05 */	li r0, 5
/* 803C4C5C 003C08BC  38 80 00 00 */	li r4, 0
/* 803C4C60 003C08C0  7C 09 03 A6 */	mtctr r0
lbl_803C4C64:
/* 803C4C64 003C08C4  80 7A 00 64 */	lwz r3, 0x64(r26)
/* 803C4C68 003C08C8  7C 04 D2 14 */	add r0, r4, r26
/* 803C4C6C 003C08CC  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803C4C70 003C08D0  7C 63 02 14 */	add r3, r3, r0
/* 803C4C74 003C08D4  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C4C78 003C08D8  7C 00 07 74 */	extsb r0, r0
/* 803C4C7C 003C08DC  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4C80 003C08E0  41 80 00 0C */	blt lbl_803C4C8C
/* 803C4C84 003C08E4  38 84 00 01 */	addi r4, r4, 1
/* 803C4C88 003C08E8  42 00 FF DC */	bdnz lbl_803C4C64
lbl_803C4C8C:
/* 803C4C8C 003C08EC  2C 04 00 05 */	cmpwi r4, 5
/* 803C4C90 003C08F0  41 82 00 54 */	beq lbl_803C4CE4
/* 803C4C94 003C08F4  3B 00 00 05 */	li r24, 5
lbl_803C4C98:
/* 803C4C98 003C08F8  48 01 4B 21 */	bl func_803D97B8
/* 803C4C9C 003C08FC  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C4CA0 003C0900  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4CA4 003C0904  7C 64 C3 D6 */	divw r3, r4, r24
/* 803C4CA8 003C0908  7C 63 C1 D6 */	mullw r3, r3, r24
/* 803C4CAC 003C090C  7C 83 20 50 */	subf r4, r3, r4
/* 803C4CB0 003C0910  1C 60 00 C0 */	mulli r3, r0, 0xc0
/* 803C4CB4 003C0914  7C 04 D2 14 */	add r0, r4, r26
/* 803C4CB8 003C0918  7C 63 02 14 */	add r3, r3, r0
/* 803C4CBC 003C091C  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C4CC0 003C0920  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C4CC4 003C0924  41 82 FF D4 */	beq lbl_803C4C98
/* 803C4CC8 003C0928  38 04 00 01 */	addi r0, r4, 1
/* 803C4CCC 003C092C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4CD0 003C0930  90 1A 01 30 */	stw r0, 0x130(r26)
/* 803C4CD4 003C0934  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4CD8 003C0938  38 00 00 29 */	li r0, 0x29
/* 803C4CDC 003C093C  3B C0 00 D2 */	li r30, 0xd2
/* 803C4CE0 003C0940  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4CE4:
/* 803C4CE4 003C0944  3B E0 00 01 */	li r31, 1
/* 803C4CE8 003C0948  48 00 00 74 */	b lbl_803C4D5C
/* 803C4CEC 003C094C  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4CF0 003C0950  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4CF4 003C0954  7C 7A 02 14 */	add r3, r26, r0
/* 803C4CF8 003C0958  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C4CFC 003C095C  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803C4D00 003C0960  40 82 00 18 */	bne lbl_803C4D18
/* 803C4D04 003C0964  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4D08 003C0968  38 00 00 28 */	li r0, 0x28
/* 803C4D0C 003C096C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4D10 003C0970  3B C0 00 D1 */	li r30, 0xd1
/* 803C4D14 003C0974  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C4D18:
/* 803C4D18 003C0978  3B E0 00 01 */	li r31, 1
/* 803C4D1C 003C097C  48 00 00 40 */	b lbl_803C4D5C
/* 803C4D20 003C0980  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4D24 003C0984  38 00 00 2B */	li r0, 0x2b
/* 803C4D28 003C0988  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4D2C 003C098C  3B C0 01 09 */	li r30, 0x109
/* 803C4D30 003C0990  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4D34 003C0994  3B E0 00 01 */	li r31, 1
/* 803C4D38 003C0998  48 00 00 24 */	b lbl_803C4D5C
lbl_803C4D3C:
/* 803C4D3C 003C099C  1C 1B 00 C0 */	mulli r0, r27, 0xc0
/* 803C4D40 003C09A0  7C 7A 02 14 */	add r3, r26, r0
/* 803C4D44 003C09A4  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803C4D48 003C09A8  48 01 48 29 */	bl func_803D9570
/* 803C4D4C 003C09AC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C4D50 003C09B0  28 00 00 01 */	cmplwi r0, 1
/* 803C4D54 003C09B4  40 82 00 08 */	bne lbl_803C4D5C
/* 803C4D58 003C09B8  3B E0 00 01 */	li r31, 1
lbl_803C4D5C:
/* 803C4D5C 003C09BC  2C 1F 00 01 */	cmpwi r31, 1
/* 803C4D60 003C09C0  40 82 00 6C */	bne lbl_803C4DCC
/* 803C4D64 003C09C4  80 9A 00 64 */	lwz r4, 0x64(r26)
/* 803C4D68 003C09C8  7F 43 D3 78 */	mr r3, r26
/* 803C4D6C 003C09CC  4B FF AD AD */	bl func_803BFB18
/* 803C4D70 003C09D0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C4D74 003C09D4  28 00 00 67 */	cmplwi r0, 0x67
/* 803C4D78 003C09D8  41 82 00 1C */	beq lbl_803C4D94
/* 803C4D7C 003C09DC  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4D80 003C09E0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4D84 003C09E4  7C 7A 02 14 */	add r3, r26, r0
/* 803C4D88 003C09E8  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803C4D8C 003C09EC  54 00 01 4B */	rlwinm. r0, r0, 0, 5, 5
/* 803C4D90 003C09F0  41 82 00 10 */	beq lbl_803C4DA0
lbl_803C4D94:
/* 803C4D94 003C09F4  38 00 00 00 */	li r0, 0
/* 803C4D98 003C09F8  90 1A 01 38 */	stw r0, 0x138(r26)
/* 803C4D9C 003C09FC  48 00 00 08 */	b lbl_803C4DA4
lbl_803C4DA0:
/* 803C4DA0 003C0A00  93 DA 01 38 */	stw r30, 0x138(r26)
lbl_803C4DA4:
/* 803C4DA4 003C0A04  1C 7B 00 C0 */	mulli r3, r27, 0xc0
/* 803C4DA8 003C0A08  80 1A 00 64 */	lwz r0, 0x64(r26)
/* 803C4DAC 003C0A0C  7C 7A 1A 14 */	add r3, r26, r3
/* 803C4DB0 003C0A10  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803C4DB4 003C0A14  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C4DB8 003C0A18  90 7A 01 28 */	stw r3, 0x128(r26)
/* 803C4DBC 003C0A1C  7C 7A 02 14 */	add r3, r26, r0
/* 803C4DC0 003C0A20  80 03 02 E8 */	lwz r0, 0x2e8(r3)
/* 803C4DC4 003C0A24  60 00 00 02 */	ori r0, r0, 2
/* 803C4DC8 003C0A28  90 03 02 E8 */	stw r0, 0x2e8(r3)
lbl_803C4DCC:
/* 803C4DCC 003C0A2C  7F E3 FB 78 */	mr r3, r31
lbl_803C4DD0:
/* 803C4DD0 003C0A30  39 61 00 30 */	addi r11, r1, 0x30
/* 803C4DD4 003C0A34  4B E0 23 95 */	bl _restgpr_24
/* 803C4DD8 003C0A38  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C4DDC 003C0A3C  7C 08 03 A6 */	mtlr r0
/* 803C4DE0 003C0A40  38 21 00 30 */	addi r1, r1, 0x30
/* 803C4DE4 003C0A44  4E 80 00 20 */	blr 

.global func_803C4DE8
func_803C4DE8:
/* 803C4DE8 003C0A48  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C4DEC 003C0A4C  7C 08 02 A6 */	mflr r0
/* 803C4DF0 003C0A50  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C4DF4 003C0A54  39 61 00 30 */	addi r11, r1, 0x30
/* 803C4DF8 003C0A58  4B E0 23 25 */	bl _savegpr_24
/* 803C4DFC 003C0A5C  7C 99 23 78 */	mr r25, r4
/* 803C4E00 003C0A60  7C BA 2B 78 */	mr r26, r5
/* 803C4E04 003C0A64  7C 78 1B 78 */	mr r24, r3
/* 803C4E08 003C0A68  7F 23 CB 78 */	mr r3, r25
/* 803C4E0C 003C0A6C  7F 44 D3 78 */	mr r4, r26
/* 803C4E10 003C0A70  4B FF F4 49 */	bl func_803C4258
/* 803C4E14 003C0A74  7C 7B 1B 78 */	mr r27, r3
/* 803C4E18 003C0A78  7F 23 CB 78 */	mr r3, r25
/* 803C4E1C 003C0A7C  7F 44 D3 78 */	mr r4, r26
/* 803C4E20 003C0A80  38 A0 00 02 */	li r5, 2
/* 803C4E24 003C0A84  4B FF F2 DD */	bl func_803C4100
/* 803C4E28 003C0A88  7C 7E 1B 78 */	mr r30, r3
/* 803C4E2C 003C0A8C  7F 23 CB 78 */	mr r3, r25
/* 803C4E30 003C0A90  7F 44 D3 78 */	mr r4, r26
/* 803C4E34 003C0A94  4B FF F4 71 */	bl func_803C42A4
/* 803C4E38 003C0A98  3B E0 00 00 */	li r31, 0
/* 803C4E3C 003C0A9C  2C 03 00 00 */	cmpwi r3, 0
/* 803C4E40 003C0AA0  90 79 21 54 */	stw r3, 0x2154(r25)
/* 803C4E44 003C0AA4  93 F9 31 18 */	stw r31, 0x3118(r25)
/* 803C4E48 003C0AA8  93 F9 00 88 */	stw r31, 0x88(r25)
/* 803C4E4C 003C0AAC  40 82 00 0C */	bne lbl_803C4E58
/* 803C4E50 003C0AB0  38 60 00 00 */	li r3, 0
/* 803C4E54 003C0AB4  48 00 09 BC */	b lbl_803C5810
lbl_803C4E58:
/* 803C4E58 003C0AB8  28 1B 00 1E */	cmplwi r27, 0x1e
/* 803C4E5C 003C0ABC  41 81 09 44 */	bgt lbl_803C57A0
/* 803C4E60 003C0AC0  3C 60 80 47 */	lis r3, lbl_80473D1C@ha
/* 803C4E64 003C0AC4  57 60 10 3A */	slwi r0, r27, 2
/* 803C4E68 003C0AC8  38 63 3D 1C */	addi r3, r3, lbl_80473D1C@l
/* 803C4E6C 003C0ACC  7C 63 00 2E */	lwzx r3, r3, r0
/* 803C4E70 003C0AD0  7C 69 03 A6 */	mtctr r3
/* 803C4E74 003C0AD4  4E 80 04 20 */	bctr 
/* 803C4E78 003C0AD8  38 80 00 C6 */	li r4, 0xc6
/* 803C4E7C 003C0ADC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4E80 003C0AE0  93 D9 31 14 */	stw r30, 0x3114(r25)
/* 803C4E84 003C0AE4  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4E88 003C0AE8  38 00 00 01 */	li r0, 1
/* 803C4E8C 003C0AEC  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C4E90 003C0AF0  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4E94 003C0AF4  48 00 09 0C */	b lbl_803C57A0
/* 803C4E98 003C0AF8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4E9C 003C0AFC  38 80 00 64 */	li r4, 0x64
/* 803C4EA0 003C0B00  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4EA4 003C0B04  7C 79 02 14 */	add r3, r25, r0
/* 803C4EA8 003C0B08  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C4EAC 003C0B0C  7C 7E 01 D6 */	mullw r3, r30, r0
/* 803C4EB0 003C0B10  4B FF BC B9 */	bl func_803C0B68
/* 803C4EB4 003C0B14  38 A0 00 C6 */	li r5, 0xc6
/* 803C4EB8 003C0B18  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803C4EBC 003C0B1C  90 79 31 14 */	stw r3, 0x3114(r25)
/* 803C4EC0 003C0B20  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803C4EC4 003C0B24  38 00 00 0C */	li r0, 0xc
/* 803C4EC8 003C0B28  90 B9 31 18 */	stw r5, 0x3118(r25)
/* 803C4ECC 003C0B2C  90 04 00 14 */	stw r0, 0x14(r4)
/* 803C4ED0 003C0B30  48 00 08 D0 */	b lbl_803C57A0
/* 803C4ED4 003C0B34  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4ED8 003C0B38  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4EDC 003C0B3C  7C 79 02 14 */	add r3, r25, r0
/* 803C4EE0 003C0B40  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4EE4 003C0B44  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 803C4EE8 003C0B48  41 82 08 B8 */	beq lbl_803C57A0
/* 803C4EEC 003C0B4C  38 00 00 C7 */	li r0, 0xc7
/* 803C4EF0 003C0B50  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4EF4 003C0B54  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C4EF8 003C0B58  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4EFC 003C0B5C  38 00 00 04 */	li r0, 4
/* 803C4F00 003C0B60  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4F04 003C0B64  48 00 08 9C */	b lbl_803C57A0
/* 803C4F08 003C0B68  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4F0C 003C0B6C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4F10 003C0B70  7C 79 02 14 */	add r3, r25, r0
/* 803C4F14 003C0B74  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4F18 003C0B78  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C4F1C 003C0B7C  41 82 08 84 */	beq lbl_803C57A0
/* 803C4F20 003C0B80  38 00 00 C8 */	li r0, 0xc8
/* 803C4F24 003C0B84  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4F28 003C0B88  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C4F2C 003C0B8C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4F30 003C0B90  38 00 00 05 */	li r0, 5
/* 803C4F34 003C0B94  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4F38 003C0B98  48 00 08 68 */	b lbl_803C57A0
/* 803C4F3C 003C0B9C  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4F40 003C0BA0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4F44 003C0BA4  7C 79 02 14 */	add r3, r25, r0
/* 803C4F48 003C0BA8  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4F4C 003C0BAC  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C4F50 003C0BB0  41 82 08 50 */	beq lbl_803C57A0
/* 803C4F54 003C0BB4  38 00 00 C9 */	li r0, 0xc9
/* 803C4F58 003C0BB8  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4F5C 003C0BBC  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C4F60 003C0BC0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4F64 003C0BC4  38 00 00 06 */	li r0, 6
/* 803C4F68 003C0BC8  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4F6C 003C0BCC  48 00 08 34 */	b lbl_803C57A0
/* 803C4F70 003C0BD0  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4F74 003C0BD4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4F78 003C0BD8  7C 79 02 14 */	add r3, r25, r0
/* 803C4F7C 003C0BDC  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4F80 003C0BE0  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C4F84 003C0BE4  41 82 08 1C */	beq lbl_803C57A0
/* 803C4F88 003C0BE8  38 00 00 CA */	li r0, 0xca
/* 803C4F8C 003C0BEC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4F90 003C0BF0  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C4F94 003C0BF4  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4F98 003C0BF8  38 00 00 07 */	li r0, 7
/* 803C4F9C 003C0BFC  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4FA0 003C0C00  48 00 08 00 */	b lbl_803C57A0
/* 803C4FA4 003C0C04  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4FA8 003C0C08  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4FAC 003C0C0C  7C 79 02 14 */	add r3, r25, r0
/* 803C4FB0 003C0C10  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C4FB4 003C0C14  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C4FB8 003C0C18  41 82 07 E8 */	beq lbl_803C57A0
/* 803C4FBC 003C0C1C  38 00 00 CB */	li r0, 0xcb
/* 803C4FC0 003C0C20  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C4FC4 003C0C24  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C4FC8 003C0C28  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C4FCC 003C0C2C  38 00 00 08 */	li r0, 8
/* 803C4FD0 003C0C30  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C4FD4 003C0C34  48 00 07 CC */	b lbl_803C57A0
/* 803C4FD8 003C0C38  3B 80 00 00 */	li r28, 0
/* 803C4FDC 003C0C3C  3B A0 00 00 */	li r29, 0
lbl_803C4FE0:
/* 803C4FE0 003C0C40  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C4FE4 003C0C44  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C4FE8 003C0C48  7C 19 02 14 */	add r0, r25, r0
/* 803C4FEC 003C0C4C  7C 60 FA 14 */	add r3, r0, r31
/* 803C4FF0 003C0C50  A0 63 2D 4C */	lhz r3, 0x2d4c(r3)
/* 803C4FF4 003C0C54  2C 03 00 00 */	cmpwi r3, 0
/* 803C4FF8 003C0C58  41 82 00 3C */	beq lbl_803C5034
/* 803C4FFC 003C0C5C  7C 80 EA 14 */	add r4, r0, r29
/* 803C5000 003C0C60  88 84 2D 70 */	lbz r4, 0x2d70(r4)
/* 803C5004 003C0C64  48 01 9A 5D */	bl func_803DEA60
/* 803C5008 003C0C68  80 99 00 6C */	lwz r4, 0x6c(r25)
/* 803C500C 003C0C6C  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803C5010 003C0C70  7C 1D CA 14 */	add r0, r29, r25
/* 803C5014 003C0C74  1C 64 00 C0 */	mulli r3, r4, 0xc0
/* 803C5018 003C0C78  7C 63 02 14 */	add r3, r3, r0
/* 803C501C 003C0C7C  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803C5020 003C0C80  7C 00 28 50 */	subf r0, r0, r5
/* 803C5024 003C0C84  7C 00 E0 00 */	cmpw r0, r28
/* 803C5028 003C0C88  40 81 00 0C */	ble lbl_803C5034
/* 803C502C 003C0C8C  7C 1C 03 78 */	mr r28, r0
/* 803C5030 003C0C90  7F BB EB 78 */	mr r27, r29
lbl_803C5034:
/* 803C5034 003C0C94  3B BD 00 01 */	addi r29, r29, 1
/* 803C5038 003C0C98  3B FF 00 02 */	addi r31, r31, 2
/* 803C503C 003C0C9C  2C 1D 00 04 */	cmpwi r29, 4
/* 803C5040 003C0CA0  41 80 FF A0 */	blt lbl_803C4FE0
/* 803C5044 003C0CA4  2C 1C 00 00 */	cmpwi r28, 0
/* 803C5048 003C0CA8  41 82 07 58 */	beq lbl_803C57A0
/* 803C504C 003C0CAC  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5050 003C0CB0  7F C5 F3 78 */	mr r5, r30
/* 803C5054 003C0CB4  38 9B 00 1F */	addi r4, r27, 0x1f
/* 803C5058 003C0CB8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C505C 003C0CBC  7C 79 02 14 */	add r3, r25, r0
/* 803C5060 003C0CC0  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803C5064 003C0CC4  4B FF 66 E1 */	bl func_803BB744
/* 803C5068 003C0CC8  80 B9 00 6C */	lwz r5, 0x6c(r25)
/* 803C506C 003C0CCC  7F 03 C3 78 */	mr r3, r24
/* 803C5070 003C0CD0  7F 24 CB 78 */	mr r4, r25
/* 803C5074 003C0CD4  4B FF 83 01 */	bl func_803BD374
/* 803C5078 003C0CD8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C507C 003C0CDC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5080 003C0CE0  57 65 08 3C */	slwi r5, r27, 1
/* 803C5084 003C0CE4  38 80 00 CC */	li r4, 0xcc
/* 803C5088 003C0CE8  1C C0 00 C0 */	mulli r6, r0, 0xc0
/* 803C508C 003C0CEC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5090 003C0CF0  38 00 00 09 */	li r0, 9
/* 803C5094 003C0CF4  7C D9 32 14 */	add r6, r25, r6
/* 803C5098 003C0CF8  7C A6 2A 14 */	add r5, r6, r5
/* 803C509C 003C0CFC  A0 A5 2D 4C */	lhz r5, 0x2d4c(r5)
/* 803C50A0 003C0D00  90 B9 01 24 */	stw r5, 0x124(r25)
/* 803C50A4 003C0D04  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C50A8 003C0D08  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C50AC 003C0D0C  48 00 06 F4 */	b lbl_803C57A0
/* 803C50B0 003C0D10  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C50B4 003C0D14  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C50B8 003C0D18  7C 79 02 14 */	add r3, r25, r0
/* 803C50BC 003C0D1C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C50C0 003C0D20  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C50C4 003C0D24  41 82 06 DC */	beq lbl_803C57A0
/* 803C50C8 003C0D28  38 00 00 CD */	li r0, 0xcd
/* 803C50CC 003C0D2C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C50D0 003C0D30  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C50D4 003C0D34  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C50D8 003C0D38  38 00 00 0A */	li r0, 0xa
/* 803C50DC 003C0D3C  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C50E0 003C0D40  48 00 06 C0 */	b lbl_803C57A0
/* 803C50E4 003C0D44  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C50E8 003C0D48  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C50EC 003C0D4C  7C 79 02 14 */	add r3, r25, r0
/* 803C50F0 003C0D50  80 83 2D AC */	lwz r4, 0x2dac(r3)
/* 803C50F4 003C0D54  54 80 06 3F */	clrlwi. r0, r4, 0x18
/* 803C50F8 003C0D58  40 82 00 10 */	bne lbl_803C5108
/* 803C50FC 003C0D5C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C5100 003C0D60  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C5104 003C0D64  41 82 06 9C */	beq lbl_803C57A0
lbl_803C5108:
/* 803C5108 003C0D68  54 80 06 73 */	rlwinm. r0, r4, 0, 0x19, 0x19
/* 803C510C 003C0D6C  41 82 00 0C */	beq lbl_803C5118
/* 803C5110 003C0D70  38 00 00 C7 */	li r0, 0xc7
/* 803C5114 003C0D74  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5118:
/* 803C5118 003C0D78  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C511C 003C0D7C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5120 003C0D80  7C 79 02 14 */	add r3, r25, r0
/* 803C5124 003C0D84  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C5128 003C0D88  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C512C 003C0D8C  41 82 00 0C */	beq lbl_803C5138
/* 803C5130 003C0D90  38 00 00 C8 */	li r0, 0xc8
/* 803C5134 003C0D94  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5138:
/* 803C5138 003C0D98  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C513C 003C0D9C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5140 003C0DA0  7C 79 02 14 */	add r3, r25, r0
/* 803C5144 003C0DA4  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C5148 003C0DA8  70 00 0F 88 */	andi. r0, r0, 0xf88
/* 803C514C 003C0DAC  41 82 00 0C */	beq lbl_803C5158
/* 803C5150 003C0DB0  38 00 00 C9 */	li r0, 0xc9
/* 803C5154 003C0DB4  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5158:
/* 803C5158 003C0DB8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C515C 003C0DBC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5160 003C0DC0  7C 79 02 14 */	add r3, r25, r0
/* 803C5164 003C0DC4  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C5168 003C0DC8  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803C516C 003C0DCC  41 82 00 0C */	beq lbl_803C5178
/* 803C5170 003C0DD0  38 00 00 CA */	li r0, 0xca
/* 803C5174 003C0DD4  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5178:
/* 803C5178 003C0DD8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C517C 003C0DDC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5180 003C0DE0  7C 79 02 14 */	add r3, r25, r0
/* 803C5184 003C0DE4  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C5188 003C0DE8  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803C518C 003C0DEC  41 82 00 0C */	beq lbl_803C5198
/* 803C5190 003C0DF0  38 00 00 CB */	li r0, 0xcb
/* 803C5194 003C0DF4  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5198:
/* 803C5198 003C0DF8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C519C 003C0DFC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C51A0 003C0E00  7C 79 02 14 */	add r3, r25, r0
/* 803C51A4 003C0E04  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C51A8 003C0E08  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C51AC 003C0E0C  41 82 00 0C */	beq lbl_803C51B8
/* 803C51B0 003C0E10  38 00 00 CD */	li r0, 0xcd
/* 803C51B4 003C0E14  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C51B8:
/* 803C51B8 003C0E18  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C51BC 003C0E1C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C51C0 003C0E20  7C 79 02 14 */	add r3, r25, r0
/* 803C51C4 003C0E24  80 03 2D AC */	lwz r0, 0x2dac(r3)
/* 803C51C8 003C0E28  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803C51CC 003C0E2C  41 82 00 18 */	beq lbl_803C51E4
/* 803C51D0 003C0E30  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C51D4 003C0E34  54 00 07 7F */	clrlwi. r0, r0, 0x1d
/* 803C51D8 003C0E38  41 82 00 0C */	beq lbl_803C51E4
/* 803C51DC 003C0E3C  38 00 00 CE */	li r0, 0xce
/* 803C51E0 003C0E40  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C51E4:
/* 803C51E4 003C0E44  80 19 31 18 */	lwz r0, 0x3118(r25)
/* 803C51E8 003C0E48  2C 00 00 00 */	cmpwi r0, 0
/* 803C51EC 003C0E4C  41 82 05 B4 */	beq lbl_803C57A0
/* 803C51F0 003C0E50  2C 00 00 C8 */	cmpwi r0, 0xc8
/* 803C51F4 003C0E54  40 82 00 18 */	bne lbl_803C520C
/* 803C51F8 003C0E58  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C51FC 003C0E5C  38 00 00 05 */	li r0, 5
/* 803C5200 003C0E60  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5204 003C0E64  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5208 003C0E68  48 00 05 98 */	b lbl_803C57A0
lbl_803C520C:
/* 803C520C 003C0E6C  2C 00 00 CB */	cmpwi r0, 0xcb
/* 803C5210 003C0E70  40 82 00 18 */	bne lbl_803C5228
/* 803C5214 003C0E74  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5218 003C0E78  38 00 00 08 */	li r0, 8
/* 803C521C 003C0E7C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5220 003C0E80  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5224 003C0E84  48 00 05 7C */	b lbl_803C57A0
lbl_803C5228:
/* 803C5228 003C0E88  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C522C 003C0E8C  38 00 00 0B */	li r0, 0xb
/* 803C5230 003C0E90  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5234 003C0E94  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5238 003C0E98  48 00 05 68 */	b lbl_803C57A0
/* 803C523C 003C0E9C  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5240 003C0EA0  7F C4 F3 78 */	mr r4, r30
/* 803C5244 003C0EA4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5248 003C0EA8  7C 79 02 14 */	add r3, r25, r0
/* 803C524C 003C0EAC  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C5250 003C0EB0  4B FF B9 19 */	bl func_803C0B68
/* 803C5254 003C0EB4  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5258 003C0EB8  38 80 00 00 */	li r4, 0
/* 803C525C 003C0EBC  90 79 31 14 */	stw r3, 0x3114(r25)
/* 803C5260 003C0EC0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5264 003C0EC4  93 F9 01 30 */	stw r31, 0x130(r25)
/* 803C5268 003C0EC8  7C 79 02 14 */	add r3, r25, r0
/* 803C526C 003C0ECC  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C5270 003C0ED0  48 01 76 E9 */	bl func_803DC958
/* 803C5274 003C0ED4  7C 60 07 74 */	extsb r0, r3
/* 803C5278 003C0ED8  2C 00 FF FF */	cmpwi r0, -1
/* 803C527C 003C0EDC  40 82 00 10 */	bne lbl_803C528C
/* 803C5280 003C0EE0  38 00 00 CF */	li r0, 0xcf
/* 803C5284 003C0EE4  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5288 003C0EE8  48 00 00 0C */	b lbl_803C5294
lbl_803C528C:
/* 803C528C 003C0EEC  38 00 00 C6 */	li r0, 0xc6
/* 803C5290 003C0EF0  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5294:
/* 803C5294 003C0EF4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5298 003C0EF8  38 00 00 0D */	li r0, 0xd
/* 803C529C 003C0EFC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C52A0 003C0F00  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C52A4 003C0F04  48 00 04 FC */	b lbl_803C57A0
/* 803C52A8 003C0F08  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C52AC 003C0F0C  7F C4 F3 78 */	mr r4, r30
/* 803C52B0 003C0F10  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C52B4 003C0F14  7C 79 02 14 */	add r3, r25, r0
/* 803C52B8 003C0F18  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C52BC 003C0F1C  4B FF B8 AD */	bl func_803C0B68
/* 803C52C0 003C0F20  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C52C4 003C0F24  38 A0 00 01 */	li r5, 1
/* 803C52C8 003C0F28  90 79 31 14 */	stw r3, 0x3114(r25)
/* 803C52CC 003C0F2C  38 80 00 01 */	li r4, 1
/* 803C52D0 003C0F30  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C52D4 003C0F34  90 B9 01 30 */	stw r5, 0x130(r25)
/* 803C52D8 003C0F38  7C 79 02 14 */	add r3, r25, r0
/* 803C52DC 003C0F3C  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C52E0 003C0F40  48 01 76 79 */	bl func_803DC958
/* 803C52E4 003C0F44  7C 60 07 74 */	extsb r0, r3
/* 803C52E8 003C0F48  2C 00 FF FF */	cmpwi r0, -1
/* 803C52EC 003C0F4C  40 82 00 10 */	bne lbl_803C52FC
/* 803C52F0 003C0F50  38 00 00 CF */	li r0, 0xcf
/* 803C52F4 003C0F54  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C52F8 003C0F58  48 00 00 0C */	b lbl_803C5304
lbl_803C52FC:
/* 803C52FC 003C0F5C  38 00 00 C6 */	li r0, 0xc6
/* 803C5300 003C0F60  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5304:
/* 803C5304 003C0F64  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5308 003C0F68  38 00 00 0E */	li r0, 0xe
/* 803C530C 003C0F6C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5310 003C0F70  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5314 003C0F74  48 00 04 8C */	b lbl_803C57A0
/* 803C5318 003C0F78  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C531C 003C0F7C  7F C4 F3 78 */	mr r4, r30
/* 803C5320 003C0F80  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5324 003C0F84  7C 79 02 14 */	add r3, r25, r0
/* 803C5328 003C0F88  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C532C 003C0F8C  4B FF B8 3D */	bl func_803C0B68
/* 803C5330 003C0F90  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5334 003C0F94  38 A0 00 02 */	li r5, 2
/* 803C5338 003C0F98  90 79 31 14 */	stw r3, 0x3114(r25)
/* 803C533C 003C0F9C  38 80 00 02 */	li r4, 2
/* 803C5340 003C0FA0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5344 003C0FA4  90 B9 01 30 */	stw r5, 0x130(r25)
/* 803C5348 003C0FA8  7C 79 02 14 */	add r3, r25, r0
/* 803C534C 003C0FAC  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C5350 003C0FB0  48 01 76 09 */	bl func_803DC958
/* 803C5354 003C0FB4  7C 60 07 74 */	extsb r0, r3
/* 803C5358 003C0FB8  2C 00 FF FF */	cmpwi r0, -1
/* 803C535C 003C0FBC  40 82 00 10 */	bne lbl_803C536C
/* 803C5360 003C0FC0  38 00 00 CF */	li r0, 0xcf
/* 803C5364 003C0FC4  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5368 003C0FC8  48 00 00 0C */	b lbl_803C5374
lbl_803C536C:
/* 803C536C 003C0FCC  38 00 00 C6 */	li r0, 0xc6
/* 803C5370 003C0FD0  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5374:
/* 803C5374 003C0FD4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5378 003C0FD8  38 00 00 0F */	li r0, 0xf
/* 803C537C 003C0FDC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5380 003C0FE0  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5384 003C0FE4  48 00 04 1C */	b lbl_803C57A0
/* 803C5388 003C0FE8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C538C 003C0FEC  7F C4 F3 78 */	mr r4, r30
/* 803C5390 003C0FF0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5394 003C0FF4  7C 79 02 14 */	add r3, r25, r0
/* 803C5398 003C0FF8  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C539C 003C0FFC  4B FF B7 CD */	bl func_803C0B68
/* 803C53A0 003C1000  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C53A4 003C1004  38 A0 00 03 */	li r5, 3
/* 803C53A8 003C1008  90 79 31 14 */	stw r3, 0x3114(r25)
/* 803C53AC 003C100C  38 80 00 03 */	li r4, 3
/* 803C53B0 003C1010  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C53B4 003C1014  90 B9 01 30 */	stw r5, 0x130(r25)
/* 803C53B8 003C1018  7C 79 02 14 */	add r3, r25, r0
/* 803C53BC 003C101C  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C53C0 003C1020  48 01 75 99 */	bl func_803DC958
/* 803C53C4 003C1024  7C 60 07 74 */	extsb r0, r3
/* 803C53C8 003C1028  2C 00 FF FF */	cmpwi r0, -1
/* 803C53CC 003C102C  40 82 00 10 */	bne lbl_803C53DC
/* 803C53D0 003C1030  38 00 00 CF */	li r0, 0xcf
/* 803C53D4 003C1034  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C53D8 003C1038  48 00 00 0C */	b lbl_803C53E4
lbl_803C53DC:
/* 803C53DC 003C103C  38 00 00 C6 */	li r0, 0xc6
/* 803C53E0 003C1040  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C53E4:
/* 803C53E4 003C1044  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C53E8 003C1048  38 00 00 10 */	li r0, 0x10
/* 803C53EC 003C104C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C53F0 003C1050  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C53F4 003C1054  48 00 03 AC */	b lbl_803C57A0
/* 803C53F8 003C1058  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C53FC 003C105C  7F C4 F3 78 */	mr r4, r30
/* 803C5400 003C1060  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5404 003C1064  7C 79 02 14 */	add r3, r25, r0
/* 803C5408 003C1068  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803C540C 003C106C  4B FF B7 5D */	bl func_803C0B68
/* 803C5410 003C1070  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5414 003C1074  38 A0 00 04 */	li r5, 4
/* 803C5418 003C1078  90 79 31 14 */	stw r3, 0x3114(r25)
/* 803C541C 003C107C  38 80 00 04 */	li r4, 4
/* 803C5420 003C1080  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5424 003C1084  90 B9 01 30 */	stw r5, 0x130(r25)
/* 803C5428 003C1088  7C 79 02 14 */	add r3, r25, r0
/* 803C542C 003C108C  80 63 2D A8 */	lwz r3, 0x2da8(r3)
/* 803C5430 003C1090  48 01 75 29 */	bl func_803DC958
/* 803C5434 003C1094  7C 60 07 74 */	extsb r0, r3
/* 803C5438 003C1098  2C 00 FF FF */	cmpwi r0, -1
/* 803C543C 003C109C  40 82 00 10 */	bne lbl_803C544C
/* 803C5440 003C10A0  38 00 00 CF */	li r0, 0xcf
/* 803C5444 003C10A4  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5448 003C10A8  48 00 00 0C */	b lbl_803C5454
lbl_803C544C:
/* 803C544C 003C10AC  38 00 00 C6 */	li r0, 0xc6
/* 803C5450 003C10B0  90 19 31 18 */	stw r0, 0x3118(r25)
lbl_803C5454:
/* 803C5454 003C10B4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5458 003C10B8  38 00 00 11 */	li r0, 0x11
/* 803C545C 003C10BC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5460 003C10C0  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5464 003C10C4  48 00 03 3C */	b lbl_803C57A0
/* 803C5468 003C10C8  38 00 00 08 */	li r0, 8
/* 803C546C 003C10CC  38 C0 00 00 */	li r6, 0
/* 803C5470 003C10D0  38 80 00 06 */	li r4, 6
/* 803C5474 003C10D4  38 60 00 D3 */	li r3, 0xd3
/* 803C5478 003C10D8  7C 09 03 A6 */	mtctr r0
lbl_803C547C:
/* 803C547C 003C10DC  80 B9 00 6C */	lwz r5, 0x6c(r25)
/* 803C5480 003C10E0  7C 06 CA 14 */	add r0, r6, r25
/* 803C5484 003C10E4  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803C5488 003C10E8  7C A5 02 14 */	add r5, r5, r0
/* 803C548C 003C10EC  88 05 2D 58 */	lbz r0, 0x2d58(r5)
/* 803C5490 003C10F0  7C 00 07 74 */	extsb r0, r0
/* 803C5494 003C10F4  2C 00 00 06 */	cmpwi r0, 6
/* 803C5498 003C10F8  40 80 00 0C */	bge lbl_803C54A4
/* 803C549C 003C10FC  98 85 2D 58 */	stb r4, 0x2d58(r5)
/* 803C54A0 003C1100  90 79 31 18 */	stw r3, 0x3118(r25)
lbl_803C54A4:
/* 803C54A4 003C1104  38 C6 00 01 */	addi r6, r6, 1
/* 803C54A8 003C1108  42 00 FF D4 */	bdnz lbl_803C547C
/* 803C54AC 003C110C  80 19 31 18 */	lwz r0, 0x3118(r25)
/* 803C54B0 003C1110  2C 00 00 00 */	cmpwi r0, 0
/* 803C54B4 003C1114  41 82 02 EC */	beq lbl_803C57A0
/* 803C54B8 003C1118  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C54BC 003C111C  38 00 00 30 */	li r0, 0x30
/* 803C54C0 003C1120  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C54C4 003C1124  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C54C8 003C1128  48 00 02 D8 */	b lbl_803C57A0
/* 803C54CC 003C112C  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C54D0 003C1130  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C54D4 003C1134  7C 79 02 14 */	add r3, r25, r0
/* 803C54D8 003C1138  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C54DC 003C113C  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803C54E0 003C1140  41 82 02 C0 */	beq lbl_803C57A0
/* 803C54E4 003C1144  38 00 00 06 */	li r0, 6
/* 803C54E8 003C1148  38 80 00 D4 */	li r4, 0xd4
/* 803C54EC 003C114C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C54F0 003C1150  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C54F4 003C1154  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C54F8 003C1158  38 00 00 35 */	li r0, 0x35
/* 803C54FC 003C115C  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C5500 003C1160  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5504 003C1164  48 00 02 9C */	b lbl_803C57A0
/* 803C5508 003C1168  38 60 00 02 */	li r3, 2
/* 803C550C 003C116C  38 00 00 0E */	li r0, 0xe
/* 803C5510 003C1170  93 59 00 94 */	stw r26, 0x94(r25)
/* 803C5514 003C1174  90 79 00 88 */	stw r3, 0x88(r25)
/* 803C5518 003C1178  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C551C 003C117C  48 00 02 84 */	b lbl_803C57A0
/* 803C5520 003C1180  38 60 00 02 */	li r3, 2
/* 803C5524 003C1184  38 00 00 1F */	li r0, 0x1f
/* 803C5528 003C1188  93 59 00 94 */	stw r26, 0x94(r25)
/* 803C552C 003C118C  90 79 00 88 */	stw r3, 0x88(r25)
/* 803C5530 003C1190  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5534 003C1194  48 00 02 6C */	b lbl_803C57A0
/* 803C5538 003C1198  38 60 00 02 */	li r3, 2
/* 803C553C 003C119C  38 00 00 16 */	li r0, 0x16
/* 803C5540 003C11A0  93 59 00 94 */	stw r26, 0x94(r25)
/* 803C5544 003C11A4  90 79 00 88 */	stw r3, 0x88(r25)
/* 803C5548 003C11A8  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C554C 003C11AC  48 00 02 54 */	b lbl_803C57A0
/* 803C5550 003C11B0  38 60 00 02 */	li r3, 2
/* 803C5554 003C11B4  38 00 00 2F */	li r0, 0x2f
/* 803C5558 003C11B8  93 59 00 94 */	stw r26, 0x94(r25)
/* 803C555C 003C11BC  90 79 00 88 */	stw r3, 0x88(r25)
/* 803C5560 003C11C0  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5564 003C11C4  48 00 02 3C */	b lbl_803C57A0
/* 803C5568 003C11C8  38 60 00 02 */	li r3, 2
/* 803C556C 003C11CC  38 00 00 19 */	li r0, 0x19
/* 803C5570 003C11D0  93 59 00 94 */	stw r26, 0x94(r25)
/* 803C5574 003C11D4  90 79 00 88 */	stw r3, 0x88(r25)
/* 803C5578 003C11D8  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C557C 003C11DC  48 00 02 24 */	b lbl_803C57A0
/* 803C5580 003C11E0  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5584 003C11E4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5588 003C11E8  7C 79 02 14 */	add r3, r25, r0
/* 803C558C 003C11EC  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C5590 003C11F0  7C 00 07 74 */	extsb r0, r0
/* 803C5594 003C11F4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C5598 003C11F8  40 80 02 08 */	bge lbl_803C57A0
/* 803C559C 003C11FC  38 00 00 01 */	li r0, 1
/* 803C55A0 003C1200  38 80 00 D0 */	li r4, 0xd0
/* 803C55A4 003C1204  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C55A8 003C1208  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C55AC 003C120C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C55B0 003C1210  38 00 00 23 */	li r0, 0x23
/* 803C55B4 003C1214  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C55B8 003C1218  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C55BC 003C121C  48 00 01 E4 */	b lbl_803C57A0
/* 803C55C0 003C1220  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C55C4 003C1224  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C55C8 003C1228  7C 79 02 14 */	add r3, r25, r0
/* 803C55CC 003C122C  88 03 2D 5A */	lbz r0, 0x2d5a(r3)
/* 803C55D0 003C1230  7C 00 07 74 */	extsb r0, r0
/* 803C55D4 003C1234  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C55D8 003C1238  40 80 01 C8 */	bge lbl_803C57A0
/* 803C55DC 003C123C  38 00 00 02 */	li r0, 2
/* 803C55E0 003C1240  38 80 00 D0 */	li r4, 0xd0
/* 803C55E4 003C1244  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C55E8 003C1248  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C55EC 003C124C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C55F0 003C1250  38 00 00 24 */	li r0, 0x24
/* 803C55F4 003C1254  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C55F8 003C1258  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C55FC 003C125C  48 00 01 A4 */	b lbl_803C57A0
/* 803C5600 003C1260  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5604 003C1264  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5608 003C1268  7C 79 02 14 */	add r3, r25, r0
/* 803C560C 003C126C  88 03 2D 5B */	lbz r0, 0x2d5b(r3)
/* 803C5610 003C1270  7C 00 07 74 */	extsb r0, r0
/* 803C5614 003C1274  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C5618 003C1278  40 80 01 88 */	bge lbl_803C57A0
/* 803C561C 003C127C  38 00 00 03 */	li r0, 3
/* 803C5620 003C1280  38 80 00 D0 */	li r4, 0xd0
/* 803C5624 003C1284  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5628 003C1288  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C562C 003C128C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5630 003C1290  38 00 00 25 */	li r0, 0x25
/* 803C5634 003C1294  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C5638 003C1298  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C563C 003C129C  48 00 01 64 */	b lbl_803C57A0
/* 803C5640 003C12A0  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5644 003C12A4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5648 003C12A8  7C 79 02 14 */	add r3, r25, r0
/* 803C564C 003C12AC  88 03 2D 5C */	lbz r0, 0x2d5c(r3)
/* 803C5650 003C12B0  7C 00 07 74 */	extsb r0, r0
/* 803C5654 003C12B4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C5658 003C12B8  40 80 01 48 */	bge lbl_803C57A0
/* 803C565C 003C12BC  38 00 00 04 */	li r0, 4
/* 803C5660 003C12C0  38 80 00 D0 */	li r4, 0xd0
/* 803C5664 003C12C4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5668 003C12C8  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C566C 003C12CC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5670 003C12D0  38 00 00 26 */	li r0, 0x26
/* 803C5674 003C12D4  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C5678 003C12D8  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C567C 003C12DC  48 00 01 24 */	b lbl_803C57A0
/* 803C5680 003C12E0  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5684 003C12E4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5688 003C12E8  7C 79 02 14 */	add r3, r25, r0
/* 803C568C 003C12EC  88 03 2D 5D */	lbz r0, 0x2d5d(r3)
/* 803C5690 003C12F0  7C 00 07 74 */	extsb r0, r0
/* 803C5694 003C12F4  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C5698 003C12F8  40 80 01 08 */	bge lbl_803C57A0
/* 803C569C 003C12FC  38 00 00 05 */	li r0, 5
/* 803C56A0 003C1300  38 80 00 D0 */	li r4, 0xd0
/* 803C56A4 003C1304  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C56A8 003C1308  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C56AC 003C130C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C56B0 003C1310  38 00 00 27 */	li r0, 0x27
/* 803C56B4 003C1314  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C56B8 003C1318  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C56BC 003C131C  48 00 00 E4 */	b lbl_803C57A0
/* 803C56C0 003C1320  38 00 00 05 */	li r0, 5
/* 803C56C4 003C1324  38 80 00 00 */	li r4, 0
/* 803C56C8 003C1328  7C 09 03 A6 */	mtctr r0
lbl_803C56CC:
/* 803C56CC 003C132C  80 79 00 6C */	lwz r3, 0x6c(r25)
/* 803C56D0 003C1330  7C 04 CA 14 */	add r0, r4, r25
/* 803C56D4 003C1334  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803C56D8 003C1338  7C 63 02 14 */	add r3, r3, r0
/* 803C56DC 003C133C  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C56E0 003C1340  7C 00 07 74 */	extsb r0, r0
/* 803C56E4 003C1344  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C56E8 003C1348  41 80 00 0C */	blt lbl_803C56F4
/* 803C56EC 003C134C  38 84 00 01 */	addi r4, r4, 1
/* 803C56F0 003C1350  42 00 FF DC */	bdnz lbl_803C56CC
lbl_803C56F4:
/* 803C56F4 003C1354  2C 04 00 05 */	cmpwi r4, 5
/* 803C56F8 003C1358  41 82 00 A8 */	beq lbl_803C57A0
/* 803C56FC 003C135C  3B 00 00 05 */	li r24, 5
lbl_803C5700:
/* 803C5700 003C1360  48 01 40 B9 */	bl func_803D97B8
/* 803C5704 003C1364  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C5708 003C1368  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C570C 003C136C  7C 64 C3 D6 */	divw r3, r4, r24
/* 803C5710 003C1370  7C 63 C1 D6 */	mullw r3, r3, r24
/* 803C5714 003C1374  7C 83 20 50 */	subf r4, r3, r4
/* 803C5718 003C1378  1C 60 00 C0 */	mulli r3, r0, 0xc0
/* 803C571C 003C137C  7C 04 CA 14 */	add r0, r4, r25
/* 803C5720 003C1380  7C 63 02 14 */	add r3, r3, r0
/* 803C5724 003C1384  88 03 2D 59 */	lbz r0, 0x2d59(r3)
/* 803C5728 003C1388  2C 00 00 0C */	cmpwi r0, 0xc
/* 803C572C 003C138C  41 82 FF D4 */	beq lbl_803C5700
/* 803C5730 003C1390  38 04 00 01 */	addi r0, r4, 1
/* 803C5734 003C1394  38 80 00 D2 */	li r4, 0xd2
/* 803C5738 003C1398  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C573C 003C139C  90 19 01 30 */	stw r0, 0x130(r25)
/* 803C5740 003C13A0  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5744 003C13A4  38 00 00 29 */	li r0, 0x29
/* 803C5748 003C13A8  90 99 31 18 */	stw r4, 0x3118(r25)
/* 803C574C 003C13AC  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5750 003C13B0  48 00 00 50 */	b lbl_803C57A0
/* 803C5754 003C13B4  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5758 003C13B8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C575C 003C13BC  7C 79 02 14 */	add r3, r25, r0
/* 803C5760 003C13C0  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803C5764 003C13C4  54 00 02 D7 */	rlwinm. r0, r0, 0, 0xb, 0xb
/* 803C5768 003C13C8  40 82 00 38 */	bne lbl_803C57A0
/* 803C576C 003C13CC  38 00 00 D1 */	li r0, 0xd1
/* 803C5770 003C13D0  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5774 003C13D4  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5778 003C13D8  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C577C 003C13DC  38 00 00 28 */	li r0, 0x28
/* 803C5780 003C13E0  90 03 00 14 */	stw r0, 0x14(r3)
/* 803C5784 003C13E4  48 00 00 1C */	b lbl_803C57A0
/* 803C5788 003C13E8  38 00 01 09 */	li r0, 0x109
/* 803C578C 003C13EC  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803C5790 003C13F0  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C5794 003C13F4  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803C5798 003C13F8  38 00 00 2B */	li r0, 0x2b
/* 803C579C 003C13FC  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803C57A0:
/* 803C57A0 003C1400  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C57A4 003C1404  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C57A8 003C1408  7C 79 02 14 */	add r3, r25, r0
/* 803C57AC 003C140C  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803C57B0 003C1410  54 00 01 4B */	rlwinm. r0, r0, 0, 5, 5
/* 803C57B4 003C1414  41 82 00 10 */	beq lbl_803C57C4
/* 803C57B8 003C1418  38 00 00 00 */	li r0, 0
/* 803C57BC 003C141C  90 19 31 18 */	stw r0, 0x3118(r25)
/* 803C57C0 003C1420  48 00 00 4C */	b lbl_803C580C
lbl_803C57C4:
/* 803C57C4 003C1424  1C 7A 00 C0 */	mulli r3, r26, 0xc0
/* 803C57C8 003C1428  80 19 00 88 */	lwz r0, 0x88(r25)
/* 803C57CC 003C142C  2C 00 00 00 */	cmpwi r0, 0
/* 803C57D0 003C1430  7C 79 1A 14 */	add r3, r25, r3
/* 803C57D4 003C1434  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C57D8 003C1438  90 19 01 28 */	stw r0, 0x128(r25)
/* 803C57DC 003C143C  40 82 00 28 */	bne lbl_803C5804
/* 803C57E0 003C1440  80 19 31 18 */	lwz r0, 0x3118(r25)
/* 803C57E4 003C1444  2C 00 00 00 */	cmpwi r0, 0
/* 803C57E8 003C1448  41 82 00 1C */	beq lbl_803C5804
/* 803C57EC 003C144C  80 19 00 64 */	lwz r0, 0x64(r25)
/* 803C57F0 003C1450  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C57F4 003C1454  7C 79 02 14 */	add r3, r25, r0
/* 803C57F8 003C1458  80 03 02 E8 */	lwz r0, 0x2e8(r3)
/* 803C57FC 003C145C  60 00 00 02 */	ori r0, r0, 2
/* 803C5800 003C1460  90 03 02 E8 */	stw r0, 0x2e8(r3)
lbl_803C5804:
/* 803C5804 003C1464  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C5808 003C1468  90 19 01 18 */	stw r0, 0x118(r25)
lbl_803C580C:
/* 803C580C 003C146C  38 60 00 01 */	li r3, 1
lbl_803C5810:
/* 803C5810 003C1470  39 61 00 30 */	addi r11, r1, 0x30
/* 803C5814 003C1474  4B E0 19 55 */	bl _restgpr_24
/* 803C5818 003C1478  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C581C 003C147C  7C 08 03 A6 */	mtlr r0
/* 803C5820 003C1480  38 21 00 30 */	addi r1, r1, 0x30
/* 803C5824 003C1484  4E 80 00 20 */	blr 

.global func_803C5828
func_803C5828:
/* 803C5828 003C1488  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C582C 003C148C  7C 08 02 A6 */	mflr r0
/* 803C5830 003C1490  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C5834 003C1494  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C5838 003C1498  7C 9F 23 78 */	mr r31, r4
/* 803C583C 003C149C  7F E3 FB 78 */	mr r3, r31
/* 803C5840 003C14A0  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803C5844 003C14A4  4B FF E8 79 */	bl func_803C40BC
/* 803C5848 003C14A8  2C 03 00 68 */	cmpwi r3, 0x68
/* 803C584C 003C14AC  40 82 00 94 */	bne lbl_803C58E0
/* 803C5850 003C14B0  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C5854 003C14B4  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C5858 003C14B8  7C BF 02 14 */	add r5, r31, r0
/* 803C585C 003C14BC  80 65 2D B0 */	lwz r3, 0x2db0(r5)
/* 803C5860 003C14C0  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803C5864 003C14C4  40 82 00 94 */	bne lbl_803C58F8
/* 803C5868 003C14C8  54 60 06 77 */	rlwinm. r0, r3, 0, 0x19, 0x1b
/* 803C586C 003C14CC  40 82 00 8C */	bne lbl_803C58F8
/* 803C5870 003C14D0  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803C5874 003C14D4  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803C5878 003C14D8  40 82 00 80 */	bne lbl_803C58F8
/* 803C587C 003C14DC  54 60 04 E7 */	rlwinm. r0, r3, 0, 0x13, 0x13
/* 803C5880 003C14E0  40 82 00 78 */	bne lbl_803C58F8
/* 803C5884 003C14E4  54 80 08 3C */	slwi r0, r4, 1
/* 803C5888 003C14E8  80 9F 30 40 */	lwz r4, 0x3040(r31)
/* 803C588C 003C14EC  7C 7F 02 14 */	add r3, r31, r0
/* 803C5890 003C14F0  A0 03 30 DC */	lhz r0, 0x30dc(r3)
/* 803C5894 003C14F4  7C 04 00 40 */	cmplw r4, r0
/* 803C5898 003C14F8  40 82 00 24 */	bne lbl_803C58BC
/* 803C589C 003C14FC  80 65 2D CC */	lwz r3, 0x2dcc(r5)
/* 803C58A0 003C1500  54 64 DF 3E */	rlwinm r4, r3, 0x1b, 0x1c, 0x1f
/* 803C58A4 003C1504  28 04 00 0A */	cmplwi r4, 0xa
/* 803C58A8 003C1508  40 80 00 50 */	bge lbl_803C58F8
/* 803C58AC 003C150C  38 04 00 01 */	addi r0, r4, 1
/* 803C58B0 003C1510  50 03 2D F4 */	rlwimi r3, r0, 5, 0x17, 0x1a
/* 803C58B4 003C1514  90 65 2D CC */	stw r3, 0x2dcc(r5)
/* 803C58B8 003C1518  48 00 00 40 */	b lbl_803C58F8
lbl_803C58BC:
/* 803C58BC 003C151C  80 05 2D CC */	lwz r0, 0x2dcc(r5)
/* 803C58C0 003C1520  54 00 06 EC */	rlwinm r0, r0, 0, 0x1b, 0x16
/* 803C58C4 003C1524  90 05 2D CC */	stw r0, 0x2dcc(r5)
/* 803C58C8 003C1528  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803C58CC 003C152C  80 9F 30 40 */	lwz r4, 0x3040(r31)
/* 803C58D0 003C1530  54 00 08 3C */	slwi r0, r0, 1
/* 803C58D4 003C1534  7C 7F 02 14 */	add r3, r31, r0
/* 803C58D8 003C1538  B0 83 30 DC */	sth r4, 0x30dc(r3)
/* 803C58DC 003C153C  48 00 00 1C */	b lbl_803C58F8
lbl_803C58E0:
/* 803C58E0 003C1540  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803C58E4 003C1544  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C58E8 003C1548  7C 7F 02 14 */	add r3, r31, r0
/* 803C58EC 003C154C  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C58F0 003C1550  54 00 06 EC */	rlwinm r0, r0, 0, 0x1b, 0x16
/* 803C58F4 003C1554  90 03 2D CC */	stw r0, 0x2dcc(r3)
lbl_803C58F8:
/* 803C58F8 003C1558  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C58FC 003C155C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C5900 003C1560  7C 08 03 A6 */	mtlr r0
/* 803C5904 003C1564  38 21 00 10 */	addi r1, r1, 0x10
/* 803C5908 003C1568  4E 80 00 20 */	blr 

.global func_803C590C
func_803C590C:
/* 803C590C 003C156C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C5910 003C1570  7C 08 02 A6 */	mflr r0
/* 803C5914 003C1574  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C5918 003C1578  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C591C 003C157C  7C 9F 23 78 */	mr r31, r4
/* 803C5920 003C1580  7F E3 FB 78 */	mr r3, r31
/* 803C5924 003C1584  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803C5928 003C1588  4B FF E7 95 */	bl func_803C40BC
/* 803C592C 003C158C  2C 03 00 68 */	cmpwi r3, 0x68
/* 803C5930 003C1590  40 82 00 94 */	bne lbl_803C59C4
/* 803C5934 003C1594  3C 60 80 20 */	lis r3, 0x801FDA49@ha
/* 803C5938 003C1598  80 9F 21 6C */	lwz r4, 0x216c(r31)
/* 803C593C 003C159C  38 03 DA 49 */	addi r0, r3, 0x801FDA49@l
/* 803C5940 003C15A0  7C 80 00 39 */	and. r0, r4, r0
/* 803C5944 003C15A4  41 82 00 98 */	beq lbl_803C59DC
/* 803C5948 003C15A8  80 FF 00 64 */	lwz r7, 0x64(r31)
/* 803C594C 003C15AC  80 9F 30 40 */	lwz r4, 0x3040(r31)
/* 803C5950 003C15B0  54 E0 08 3C */	slwi r0, r7, 1
/* 803C5954 003C15B4  7C 7F 02 14 */	add r3, r31, r0
/* 803C5958 003C15B8  A0 03 30 DC */	lhz r0, 0x30dc(r3)
/* 803C595C 003C15BC  7C 04 00 40 */	cmplw r4, r0
/* 803C5960 003C15C0  40 82 00 7C */	bne lbl_803C59DC
/* 803C5964 003C15C4  1C 07 00 C0 */	mulli r0, r7, 0xc0
/* 803C5968 003C15C8  7C BF 02 14 */	add r5, r31, r0
/* 803C596C 003C15CC  80 85 2D CC */	lwz r4, 0x2dcc(r5)
/* 803C5970 003C15D0  54 86 DF 3F */	rlwinm. r6, r4, 0x1b, 0x1c, 0x1f
/* 803C5974 003C15D4  41 82 00 68 */	beq lbl_803C59DC
/* 803C5978 003C15D8  1C 07 00 1C */	mulli r0, r7, 0x1c
/* 803C597C 003C15DC  7C 7F 02 14 */	add r3, r31, r0
/* 803C5980 003C15E0  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803C5984 003C15E4  54 00 4F 7F */	rlwinm. r0, r0, 9, 0x1d, 0x1f
/* 803C5988 003C15E8  40 82 00 54 */	bne lbl_803C59DC
/* 803C598C 003C15EC  80 65 2D B0 */	lwz r3, 0x2db0(r5)
/* 803C5990 003C15F0  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803C5994 003C15F4  40 82 00 48 */	bne lbl_803C59DC
/* 803C5998 003C15F8  54 60 06 77 */	rlwinm. r0, r3, 0, 0x19, 0x1b
/* 803C599C 003C15FC  40 82 00 40 */	bne lbl_803C59DC
/* 803C59A0 003C1600  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803C59A4 003C1604  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803C59A8 003C1608  40 82 00 34 */	bne lbl_803C59DC
/* 803C59AC 003C160C  54 60 04 E7 */	rlwinm. r0, r3, 0, 0x13, 0x13
/* 803C59B0 003C1610  40 82 00 2C */	bne lbl_803C59DC
/* 803C59B4 003C1614  38 06 FF FF */	addi r0, r6, -1
/* 803C59B8 003C1618  50 04 2D F4 */	rlwimi r4, r0, 5, 0x17, 0x1a
/* 803C59BC 003C161C  90 85 2D CC */	stw r4, 0x2dcc(r5)
/* 803C59C0 003C1620  48 00 00 1C */	b lbl_803C59DC
lbl_803C59C4:
/* 803C59C4 003C1624  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803C59C8 003C1628  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C59CC 003C162C  7C 7F 02 14 */	add r3, r31, r0
/* 803C59D0 003C1630  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803C59D4 003C1634  54 00 06 EC */	rlwinm r0, r0, 0, 0x1b, 0x16
/* 803C59D8 003C1638  90 03 2D CC */	stw r0, 0x2dcc(r3)
lbl_803C59DC:
/* 803C59DC 003C163C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C59E0 003C1640  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C59E4 003C1644  7C 08 03 A6 */	mtlr r0
/* 803C59E8 003C1648  38 21 00 10 */	addi r1, r1, 0x10
/* 803C59EC 003C164C  4E 80 00 20 */	blr 

.global func_803C59F0
func_803C59F0:
/* 803C59F0 003C1650  38 60 00 00 */	li r3, 0
/* 803C59F4 003C1654  4E 80 00 20 */	blr 

.global func_803C59F8
func_803C59F8:
/* 803C59F8 003C1658  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C59FC 003C165C  38 80 00 01 */	li r4, 1
/* 803C5A00 003C1660  7C 63 02 14 */	add r3, r3, r0
/* 803C5A04 003C1664  80 63 2D B0 */	lwz r3, 0x2db0(r3)
/* 803C5A08 003C1668  54 60 02 53 */	rlwinm. r0, r3, 0, 9, 9
/* 803C5A0C 003C166C  40 82 00 1C */	bne lbl_803C5A28
/* 803C5A10 003C1670  54 60 05 2B */	rlwinm. r0, r3, 0, 0x14, 0x15
/* 803C5A14 003C1674  40 82 00 14 */	bne lbl_803C5A28
/* 803C5A18 003C1678  54 60 06 77 */	rlwinm. r0, r3, 0, 0x19, 0x1b
/* 803C5A1C 003C167C  40 82 00 0C */	bne lbl_803C5A28
/* 803C5A20 003C1680  54 60 04 E7 */	rlwinm. r0, r3, 0, 0x13, 0x13
/* 803C5A24 003C1684  41 82 00 08 */	beq lbl_803C5A2C
lbl_803C5A28:
/* 803C5A28 003C1688  38 80 00 00 */	li r4, 0
lbl_803C5A2C:
/* 803C5A2C 003C168C  7C 83 23 78 */	mr r3, r4
/* 803C5A30 003C1690  4E 80 00 20 */	blr 

.global func_803C5A34
func_803C5A34:
/* 803C5A34 003C1694  54 80 40 2E */	slwi r0, r4, 8
/* 803C5A38 003C1698  7C 63 02 14 */	add r3, r3, r0
/* 803C5A3C 003C169C  88 63 23 00 */	lbz r3, 0x2300(r3)
/* 803C5A40 003C16A0  4E 80 00 20 */	blr 

.global func_803C5A44
func_803C5A44:
/* 803C5A44 003C16A4  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803C5A48 003C16A8  38 80 00 00 */	li r4, 0
/* 803C5A4C 003C16AC  7C 63 02 14 */	add r3, r3, r0
/* 803C5A50 003C16B0  80 03 02 E8 */	lwz r0, 0x2e8(r3)
/* 803C5A54 003C16B4  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803C5A58 003C16B8  41 82 00 08 */	beq lbl_803C5A60
/* 803C5A5C 003C16BC  38 80 00 01 */	li r4, 1
lbl_803C5A60:
/* 803C5A60 003C16C0  7C 83 23 78 */	mr r3, r4
/* 803C5A64 003C16C4  4E 80 00 20 */	blr 

.global func_803C5A68
func_803C5A68:
/* 803C5A68 003C16C8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C5A6C 003C16CC  7C 08 02 A6 */	mflr r0
/* 803C5A70 003C16D0  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C5A74 003C16D4  39 61 00 30 */	addi r11, r1, 0x30
/* 803C5A78 003C16D8  4B E0 16 B5 */	bl _savegpr_28
/* 803C5A7C 003C16DC  7C 9C 23 78 */	mr r28, r4
/* 803C5A80 003C16E0  38 80 00 00 */	li r4, 0
/* 803C5A84 003C16E4  4B FE 71 49 */	bl func_803ACBCC
/* 803C5A88 003C16E8  7C 7D 1B 78 */	mr r29, r3
/* 803C5A8C 003C16EC  48 01 46 35 */	bl func_803DA0C0
/* 803C5A90 003C16F0  7C 7E 1B 78 */	mr r30, r3
/* 803C5A94 003C16F4  7F A3 EB 78 */	mr r3, r29
/* 803C5A98 003C16F8  48 01 46 31 */	bl func_803DA0C8
/* 803C5A9C 003C16FC  7C 7F 1B 78 */	mr r31, r3
/* 803C5AA0 003C1700  7F A3 EB 78 */	mr r3, r29
/* 803C5AA4 003C1704  48 01 46 19 */	bl func_803DA0BC
/* 803C5AA8 003C1708  7C 7D 1B 78 */	mr r29, r3
/* 803C5AAC 003C170C  7F 83 E3 78 */	mr r3, r28
/* 803C5AB0 003C1710  38 A1 00 08 */	addi r5, r1, 8
/* 803C5AB4 003C1714  38 80 00 8F */	li r4, 0x8f
/* 803C5AB8 003C1718  48 01 7F 25 */	bl func_803DD9DC
/* 803C5ABC 003C171C  7F 83 E3 78 */	mr r3, r28
/* 803C5AC0 003C1720  38 80 00 07 */	li r4, 7
/* 803C5AC4 003C1724  38 A0 00 00 */	li r5, 0
/* 803C5AC8 003C1728  48 01 7F 15 */	bl func_803DD9DC
/* 803C5ACC 003C172C  7C 1E 18 40 */	cmplw r30, r3
/* 803C5AD0 003C1730  40 82 00 3C */	bne lbl_803C5B0C
/* 803C5AD4 003C1734  7F 83 E3 78 */	mr r3, r28
/* 803C5AD8 003C1738  38 80 00 9C */	li r4, 0x9c
/* 803C5ADC 003C173C  38 A0 00 00 */	li r5, 0
/* 803C5AE0 003C1740  48 01 7E FD */	bl func_803DD9DC
/* 803C5AE4 003C1744  7C 1F 18 40 */	cmplw r31, r3
/* 803C5AE8 003C1748  40 82 00 24 */	bne lbl_803C5B0C
/* 803C5AEC 003C174C  7F A3 EB 78 */	mr r3, r29
/* 803C5AF0 003C1750  38 81 00 08 */	addi r4, r1, 8
/* 803C5AF4 003C1754  38 A0 00 07 */	li r5, 7
/* 803C5AF8 003C1758  48 01 91 B5 */	bl func_803DECAC
/* 803C5AFC 003C175C  2C 03 00 00 */	cmpwi r3, 0
/* 803C5B00 003C1760  40 82 00 0C */	bne lbl_803C5B0C
/* 803C5B04 003C1764  38 60 00 01 */	li r3, 1
/* 803C5B08 003C1768  48 00 00 08 */	b lbl_803C5B10
lbl_803C5B0C:
/* 803C5B0C 003C176C  38 60 00 00 */	li r3, 0
lbl_803C5B10:
/* 803C5B10 003C1770  39 61 00 30 */	addi r11, r1, 0x30
/* 803C5B14 003C1774  4B E0 16 65 */	bl _restgpr_28
/* 803C5B18 003C1778  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C5B1C 003C177C  7C 08 03 A6 */	mtlr r0
/* 803C5B20 003C1780  38 21 00 30 */	addi r1, r1, 0x30
/* 803C5B24 003C1784  4E 80 00 20 */	blr 

.global func_803C5B28
func_803C5B28:
/* 803C5B28 003C1788  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C5B2C 003C178C  7C 08 02 A6 */	mflr r0
/* 803C5B30 003C1790  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C5B34 003C1794  39 61 00 20 */	addi r11, r1, 0x20
/* 803C5B38 003C1798  4B E0 15 F5 */	bl _savegpr_28
/* 803C5B3C 003C179C  7C 7C 1B 78 */	mr r28, r3
/* 803C5B40 003C17A0  7C 9D 23 78 */	mr r29, r4
/* 803C5B44 003C17A4  3B C0 00 00 */	li r30, 0
/* 803C5B48 003C17A8  3B E0 00 00 */	li r31, 0
/* 803C5B4C 003C17AC  48 00 04 54 */	b lbl_803C5FA0
lbl_803C5B50:
/* 803C5B50 003C17B0  7C 7D FA 14 */	add r3, r29, r31
/* 803C5B54 003C17B4  88 83 21 EC */	lbz r4, 0x21ec(r3)
/* 803C5B58 003C17B8  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C5B5C 003C17BC  90 9D 01 18 */	stw r4, 0x118(r29)
/* 803C5B60 003C17C0  7C 7D 02 14 */	add r3, r29, r0
/* 803C5B64 003C17C4  A0 03 2D 40 */	lhz r0, 0x2d40(r3)
/* 803C5B68 003C17C8  28 00 01 5F */	cmplwi r0, 0x15f
/* 803C5B6C 003C17CC  40 82 02 60 */	bne lbl_803C5DCC
/* 803C5B70 003C17D0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C5B74 003C17D4  2C 00 00 00 */	cmpwi r0, 0
/* 803C5B78 003C17D8  41 82 02 54 */	beq lbl_803C5DCC
/* 803C5B7C 003C17DC  7F A3 EB 78 */	mr r3, r29
/* 803C5B80 003C17E0  4B FF 9F 99 */	bl func_803BFB18
/* 803C5B84 003C17E4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C5B88 003C17E8  28 00 00 3B */	cmplwi r0, 0x3b
/* 803C5B8C 003C17EC  40 82 02 40 */	bne lbl_803C5DCC
/* 803C5B90 003C17F0  7F 83 E3 78 */	mr r3, r28
/* 803C5B94 003C17F4  7F A4 EB 78 */	mr r4, r29
/* 803C5B98 003C17F8  38 A0 00 08 */	li r5, 8
/* 803C5B9C 003C17FC  38 C0 00 00 */	li r6, 0
/* 803C5BA0 003C1800  38 E0 00 0D */	li r7, 0xd
/* 803C5BA4 003C1804  4B FF 97 DD */	bl func_803BF380
/* 803C5BA8 003C1808  2C 03 00 00 */	cmpwi r3, 0
/* 803C5BAC 003C180C  40 82 01 C4 */	bne lbl_803C5D70
/* 803C5BB0 003C1810  7F 83 E3 78 */	mr r3, r28
/* 803C5BB4 003C1814  7F A4 EB 78 */	mr r4, r29
/* 803C5BB8 003C1818  38 A0 00 08 */	li r5, 8
/* 803C5BBC 003C181C  38 C0 00 00 */	li r6, 0
/* 803C5BC0 003C1820  38 E0 00 4C */	li r7, 0x4c
/* 803C5BC4 003C1824  4B FF 97 BD */	bl func_803BF380
/* 803C5BC8 003C1828  2C 03 00 00 */	cmpwi r3, 0
/* 803C5BCC 003C182C  40 82 01 A4 */	bne lbl_803C5D70
/* 803C5BD0 003C1830  80 9D 01 80 */	lwz r4, 0x180(r29)
/* 803C5BD4 003C1834  70 80 00 F3 */	andi. r0, r4, 0xf3
/* 803C5BD8 003C1838  40 82 00 60 */	bne lbl_803C5C38
/* 803C5BDC 003C183C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5BE0 003C1840  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5BE4 003C1844  7C 7D 02 14 */	add r3, r29, r0
/* 803C5BE8 003C1848  88 03 2D 64 */	lbz r0, 0x2d64(r3)
/* 803C5BEC 003C184C  2C 00 00 00 */	cmpwi r0, 0
/* 803C5BF0 003C1850  41 82 00 48 */	beq lbl_803C5C38
/* 803C5BF4 003C1854  88 03 2D 65 */	lbz r0, 0x2d65(r3)
/* 803C5BF8 003C1858  2C 00 00 00 */	cmpwi r0, 0
/* 803C5BFC 003C185C  41 82 00 3C */	beq lbl_803C5C38
/* 803C5C00 003C1860  38 80 00 00 */	li r4, 0
/* 803C5C04 003C1864  3B C0 00 01 */	li r30, 1
/* 803C5C08 003C1868  98 83 2D 64 */	stb r4, 0x2d64(r3)
/* 803C5C0C 003C186C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5C10 003C1870  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5C14 003C1874  7C 7D 02 14 */	add r3, r29, r0
/* 803C5C18 003C1878  98 83 2D 65 */	stb r4, 0x2d65(r3)
/* 803C5C1C 003C187C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5C20 003C1880  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5C24 003C1884  7C 7D 02 14 */	add r3, r29, r0
/* 803C5C28 003C1888  88 03 2D 66 */	lbz r0, 0x2d66(r3)
/* 803C5C2C 003C188C  54 00 07 6E */	rlwinm r0, r0, 0, 0x1d, 0x17
/* 803C5C30 003C1890  98 03 2D 66 */	stb r0, 0x2d66(r3)
/* 803C5C34 003C1894  48 00 03 7C */	b lbl_803C5FB0
lbl_803C5C38:
/* 803C5C38 003C1898  54 80 06 B7 */	rlwinm. r0, r4, 0, 0x1a, 0x1b
/* 803C5C3C 003C189C  41 82 00 64 */	beq lbl_803C5CA0
/* 803C5C40 003C18A0  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5C44 003C18A4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5C48 003C18A8  7C 7D 02 14 */	add r3, r29, r0
/* 803C5C4C 003C18AC  88 03 2D 64 */	lbz r0, 0x2d64(r3)
/* 803C5C50 003C18B0  28 00 00 0A */	cmplwi r0, 0xa
/* 803C5C54 003C18B4  41 82 00 4C */	beq lbl_803C5CA0
/* 803C5C58 003C18B8  88 03 2D 65 */	lbz r0, 0x2d65(r3)
/* 803C5C5C 003C18BC  28 00 00 0A */	cmplwi r0, 0xa
/* 803C5C60 003C18C0  41 82 00 40 */	beq lbl_803C5CA0
/* 803C5C64 003C18C4  38 A0 00 0A */	li r5, 0xa
/* 803C5C68 003C18C8  38 80 00 01 */	li r4, 1
/* 803C5C6C 003C18CC  98 A3 2D 64 */	stb r5, 0x2d64(r3)
/* 803C5C70 003C18D0  3B C0 00 01 */	li r30, 1
/* 803C5C74 003C18D4  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5C78 003C18D8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5C7C 003C18DC  7C 7D 02 14 */	add r3, r29, r0
/* 803C5C80 003C18E0  98 A3 2D 65 */	stb r5, 0x2d65(r3)
/* 803C5C84 003C18E4  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5C88 003C18E8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5C8C 003C18EC  7C 7D 02 14 */	add r3, r29, r0
/* 803C5C90 003C18F0  88 03 2D 66 */	lbz r0, 0x2d66(r3)
/* 803C5C94 003C18F4  50 80 1E 38 */	rlwimi r0, r4, 3, 0x18, 0x1c
/* 803C5C98 003C18F8  98 03 2D 66 */	stb r0, 0x2d66(r3)
/* 803C5C9C 003C18FC  48 00 03 14 */	b lbl_803C5FB0
lbl_803C5CA0:
/* 803C5CA0 003C1900  54 80 07 BF */	clrlwi. r0, r4, 0x1e
/* 803C5CA4 003C1904  41 82 00 64 */	beq lbl_803C5D08
/* 803C5CA8 003C1908  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5CAC 003C190C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5CB0 003C1910  7C 7D 02 14 */	add r3, r29, r0
/* 803C5CB4 003C1914  88 03 2D 64 */	lbz r0, 0x2d64(r3)
/* 803C5CB8 003C1918  28 00 00 0B */	cmplwi r0, 0xb
/* 803C5CBC 003C191C  41 82 00 4C */	beq lbl_803C5D08
/* 803C5CC0 003C1920  88 03 2D 65 */	lbz r0, 0x2d65(r3)
/* 803C5CC4 003C1924  28 00 00 0B */	cmplwi r0, 0xb
/* 803C5CC8 003C1928  41 82 00 40 */	beq lbl_803C5D08
/* 803C5CCC 003C192C  38 A0 00 0B */	li r5, 0xb
/* 803C5CD0 003C1930  38 80 00 02 */	li r4, 2
/* 803C5CD4 003C1934  98 A3 2D 64 */	stb r5, 0x2d64(r3)
/* 803C5CD8 003C1938  3B C0 00 01 */	li r30, 1
/* 803C5CDC 003C193C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5CE0 003C1940  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5CE4 003C1944  7C 7D 02 14 */	add r3, r29, r0
/* 803C5CE8 003C1948  98 A3 2D 65 */	stb r5, 0x2d65(r3)
/* 803C5CEC 003C194C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5CF0 003C1950  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5CF4 003C1954  7C 7D 02 14 */	add r3, r29, r0
/* 803C5CF8 003C1958  88 03 2D 66 */	lbz r0, 0x2d66(r3)
/* 803C5CFC 003C195C  50 80 1E 38 */	rlwimi r0, r4, 3, 0x18, 0x1c
/* 803C5D00 003C1960  98 03 2D 66 */	stb r0, 0x2d66(r3)
/* 803C5D04 003C1964  48 00 02 AC */	b lbl_803C5FB0
lbl_803C5D08:
/* 803C5D08 003C1968  54 80 06 33 */	rlwinm. r0, r4, 0, 0x18, 0x19
/* 803C5D0C 003C196C  41 82 00 C0 */	beq lbl_803C5DCC
/* 803C5D10 003C1970  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5D14 003C1974  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5D18 003C1978  7C 7D 02 14 */	add r3, r29, r0
/* 803C5D1C 003C197C  88 03 2D 64 */	lbz r0, 0x2d64(r3)
/* 803C5D20 003C1980  28 00 00 0F */	cmplwi r0, 0xf
/* 803C5D24 003C1984  41 82 00 A8 */	beq lbl_803C5DCC
/* 803C5D28 003C1988  88 03 2D 65 */	lbz r0, 0x2d65(r3)
/* 803C5D2C 003C198C  28 00 00 0F */	cmplwi r0, 0xf
/* 803C5D30 003C1990  41 82 00 9C */	beq lbl_803C5DCC
/* 803C5D34 003C1994  38 A0 00 0F */	li r5, 0xf
/* 803C5D38 003C1998  38 80 00 03 */	li r4, 3
/* 803C5D3C 003C199C  98 A3 2D 64 */	stb r5, 0x2d64(r3)
/* 803C5D40 003C19A0  3B C0 00 01 */	li r30, 1
/* 803C5D44 003C19A4  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5D48 003C19A8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5D4C 003C19AC  7C 7D 02 14 */	add r3, r29, r0
/* 803C5D50 003C19B0  98 A3 2D 65 */	stb r5, 0x2d65(r3)
/* 803C5D54 003C19B4  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5D58 003C19B8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5D5C 003C19BC  7C 7D 02 14 */	add r3, r29, r0
/* 803C5D60 003C19C0  88 03 2D 66 */	lbz r0, 0x2d66(r3)
/* 803C5D64 003C19C4  50 80 1E 38 */	rlwimi r0, r4, 3, 0x18, 0x1c
/* 803C5D68 003C19C8  98 03 2D 66 */	stb r0, 0x2d66(r3)
/* 803C5D6C 003C19CC  48 00 02 44 */	b lbl_803C5FB0
lbl_803C5D70:
/* 803C5D70 003C19D0  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5D74 003C19D4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5D78 003C19D8  7C 7D 02 14 */	add r3, r29, r0
/* 803C5D7C 003C19DC  88 03 2D 64 */	lbz r0, 0x2d64(r3)
/* 803C5D80 003C19E0  2C 00 00 00 */	cmpwi r0, 0
/* 803C5D84 003C19E4  41 82 00 48 */	beq lbl_803C5DCC
/* 803C5D88 003C19E8  88 03 2D 65 */	lbz r0, 0x2d65(r3)
/* 803C5D8C 003C19EC  2C 00 00 00 */	cmpwi r0, 0
/* 803C5D90 003C19F0  41 82 00 3C */	beq lbl_803C5DCC
/* 803C5D94 003C19F4  38 80 00 00 */	li r4, 0
/* 803C5D98 003C19F8  3B C0 00 01 */	li r30, 1
/* 803C5D9C 003C19FC  98 83 2D 64 */	stb r4, 0x2d64(r3)
/* 803C5DA0 003C1A00  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5DA4 003C1A04  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5DA8 003C1A08  7C 7D 02 14 */	add r3, r29, r0
/* 803C5DAC 003C1A0C  98 83 2D 65 */	stb r4, 0x2d65(r3)
/* 803C5DB0 003C1A10  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5DB4 003C1A14  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5DB8 003C1A18  7C 7D 02 14 */	add r3, r29, r0
/* 803C5DBC 003C1A1C  88 03 2D 66 */	lbz r0, 0x2d66(r3)
/* 803C5DC0 003C1A20  54 00 07 6E */	rlwinm r0, r0, 0, 0x1d, 0x17
/* 803C5DC4 003C1A24  98 03 2D 66 */	stb r0, 0x2d66(r3)
/* 803C5DC8 003C1A28  48 00 01 E8 */	b lbl_803C5FB0
lbl_803C5DCC:
/* 803C5DCC 003C1A2C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5DD0 003C1A30  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5DD4 003C1A34  7C 7D 02 14 */	add r3, r29, r0
/* 803C5DD8 003C1A38  A0 03 2D 40 */	lhz r0, 0x2d40(r3)
/* 803C5DDC 003C1A3C  28 00 01 A5 */	cmplwi r0, 0x1a5
/* 803C5DE0 003C1A40  40 82 01 50 */	bne lbl_803C5F30
/* 803C5DE4 003C1A44  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C5DE8 003C1A48  2C 00 00 00 */	cmpwi r0, 0
/* 803C5DEC 003C1A4C  41 82 01 44 */	beq lbl_803C5F30
/* 803C5DF0 003C1A50  7F 83 E3 78 */	mr r3, r28
/* 803C5DF4 003C1A54  7F A4 EB 78 */	mr r4, r29
/* 803C5DF8 003C1A58  38 A0 00 08 */	li r5, 8
/* 803C5DFC 003C1A5C  38 C0 00 00 */	li r6, 0
/* 803C5E00 003C1A60  38 E0 00 0D */	li r7, 0xd
/* 803C5E04 003C1A64  4B FF 95 7D */	bl func_803BF380
/* 803C5E08 003C1A68  2C 03 00 00 */	cmpwi r3, 0
/* 803C5E0C 003C1A6C  40 82 00 F8 */	bne lbl_803C5F04
/* 803C5E10 003C1A70  7F 83 E3 78 */	mr r3, r28
/* 803C5E14 003C1A74  7F A4 EB 78 */	mr r4, r29
/* 803C5E18 003C1A78  38 A0 00 08 */	li r5, 8
/* 803C5E1C 003C1A7C  38 C0 00 00 */	li r6, 0
/* 803C5E20 003C1A80  38 E0 00 4C */	li r7, 0x4c
/* 803C5E24 003C1A84  4B FF 95 5D */	bl func_803BF380
/* 803C5E28 003C1A88  2C 03 00 00 */	cmpwi r3, 0
/* 803C5E2C 003C1A8C  40 82 00 D8 */	bne lbl_803C5F04
/* 803C5E30 003C1A90  80 BD 01 80 */	lwz r5, 0x180(r29)
/* 803C5E34 003C1A94  70 A0 00 F3 */	andi. r0, r5, 0xf3
/* 803C5E38 003C1A98  40 82 00 30 */	bne lbl_803C5E68
/* 803C5E3C 003C1A9C  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5E40 003C1AA0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5E44 003C1AA4  7C 9D 02 14 */	add r4, r29, r0
/* 803C5E48 003C1AA8  88 64 2D 66 */	lbz r3, 0x2d66(r4)
/* 803C5E4C 003C1AAC  54 60 EE FE */	rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 803C5E50 003C1AB0  28 00 00 01 */	cmplwi r0, 1
/* 803C5E54 003C1AB4  40 82 00 14 */	bne lbl_803C5E68
/* 803C5E58 003C1AB8  54 60 07 6E */	rlwinm r0, r3, 0, 0x1d, 0x17
/* 803C5E5C 003C1ABC  3B C0 00 01 */	li r30, 1
/* 803C5E60 003C1AC0  98 04 2D 66 */	stb r0, 0x2d66(r4)
/* 803C5E64 003C1AC4  48 00 01 4C */	b lbl_803C5FB0
lbl_803C5E68:
/* 803C5E68 003C1AC8  54 A0 06 B7 */	rlwinm. r0, r5, 0, 0x1a, 0x1b
/* 803C5E6C 003C1ACC  41 82 00 30 */	beq lbl_803C5E9C
/* 803C5E70 003C1AD0  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5E74 003C1AD4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5E78 003C1AD8  7C 9D 02 14 */	add r4, r29, r0
/* 803C5E7C 003C1ADC  88 64 2D 66 */	lbz r3, 0x2d66(r4)
/* 803C5E80 003C1AE0  54 60 EE FF */	rlwinm. r0, r3, 0x1d, 0x1b, 0x1f
/* 803C5E84 003C1AE4  40 82 00 18 */	bne lbl_803C5E9C
/* 803C5E88 003C1AE8  38 00 00 01 */	li r0, 1
/* 803C5E8C 003C1AEC  3B C0 00 01 */	li r30, 1
/* 803C5E90 003C1AF0  50 03 1E 38 */	rlwimi r3, r0, 3, 0x18, 0x1c
/* 803C5E94 003C1AF4  98 64 2D 66 */	stb r3, 0x2d66(r4)
/* 803C5E98 003C1AF8  48 00 01 18 */	b lbl_803C5FB0
lbl_803C5E9C:
/* 803C5E9C 003C1AFC  54 A0 07 BF */	clrlwi. r0, r5, 0x1e
/* 803C5EA0 003C1B00  41 82 00 30 */	beq lbl_803C5ED0
/* 803C5EA4 003C1B04  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5EA8 003C1B08  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5EAC 003C1B0C  7C 9D 02 14 */	add r4, r29, r0
/* 803C5EB0 003C1B10  88 64 2D 66 */	lbz r3, 0x2d66(r4)
/* 803C5EB4 003C1B14  54 60 EE FE */	rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 803C5EB8 003C1B18  28 00 00 01 */	cmplwi r0, 1
/* 803C5EBC 003C1B1C  40 82 00 14 */	bne lbl_803C5ED0
/* 803C5EC0 003C1B20  54 60 07 6E */	rlwinm r0, r3, 0, 0x1d, 0x17
/* 803C5EC4 003C1B24  3B C0 00 01 */	li r30, 1
/* 803C5EC8 003C1B28  98 04 2D 66 */	stb r0, 0x2d66(r4)
/* 803C5ECC 003C1B2C  48 00 00 E4 */	b lbl_803C5FB0
lbl_803C5ED0:
/* 803C5ED0 003C1B30  54 A0 06 33 */	rlwinm. r0, r5, 0, 0x18, 0x19
/* 803C5ED4 003C1B34  41 82 00 5C */	beq lbl_803C5F30
/* 803C5ED8 003C1B38  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5EDC 003C1B3C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5EE0 003C1B40  7C 9D 02 14 */	add r4, r29, r0
/* 803C5EE4 003C1B44  88 64 2D 66 */	lbz r3, 0x2d66(r4)
/* 803C5EE8 003C1B48  54 60 EE FE */	rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 803C5EEC 003C1B4C  28 00 00 01 */	cmplwi r0, 1
/* 803C5EF0 003C1B50  40 82 00 40 */	bne lbl_803C5F30
/* 803C5EF4 003C1B54  54 60 07 6E */	rlwinm r0, r3, 0, 0x1d, 0x17
/* 803C5EF8 003C1B58  3B C0 00 01 */	li r30, 1
/* 803C5EFC 003C1B5C  98 04 2D 66 */	stb r0, 0x2d66(r4)
/* 803C5F00 003C1B60  48 00 00 B0 */	b lbl_803C5FB0
lbl_803C5F04:
/* 803C5F04 003C1B64  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5F08 003C1B68  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5F0C 003C1B6C  7C 9D 02 14 */	add r4, r29, r0
/* 803C5F10 003C1B70  88 64 2D 66 */	lbz r3, 0x2d66(r4)
/* 803C5F14 003C1B74  54 60 EE FE */	rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 803C5F18 003C1B78  28 00 00 01 */	cmplwi r0, 1
/* 803C5F1C 003C1B7C  40 82 00 14 */	bne lbl_803C5F30
/* 803C5F20 003C1B80  54 60 07 6E */	rlwinm r0, r3, 0, 0x1d, 0x17
/* 803C5F24 003C1B84  3B C0 00 01 */	li r30, 1
/* 803C5F28 003C1B88  98 04 2D 66 */	stb r0, 0x2d66(r4)
/* 803C5F2C 003C1B8C  48 00 00 84 */	b lbl_803C5FB0
lbl_803C5F30:
/* 803C5F30 003C1B90  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5F34 003C1B94  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5F38 003C1B98  7C 7D 02 14 */	add r3, r29, r0
/* 803C5F3C 003C1B9C  A0 03 2D 40 */	lhz r0, 0x2d40(r3)
/* 803C5F40 003C1BA0  28 00 01 ED */	cmplwi r0, 0x1ed
/* 803C5F44 003C1BA4  40 82 00 58 */	bne lbl_803C5F9C
/* 803C5F48 003C1BA8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C5F4C 003C1BAC  2C 00 00 00 */	cmpwi r0, 0
/* 803C5F50 003C1BB0  41 82 00 4C */	beq lbl_803C5F9C
/* 803C5F54 003C1BB4  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803C5F58 003C1BB8  38 80 00 01 */	li r4, 1
/* 803C5F5C 003C1BBC  38 A0 00 05 */	li r5, 5
/* 803C5F60 003C1BC0  48 01 32 A9 */	bl func_803D9208
/* 803C5F64 003C1BC4  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803C5F68 003C1BC8  48 01 6D 0D */	bl func_803DCC74
/* 803C5F6C 003C1BCC  80 1D 01 18 */	lwz r0, 0x118(r29)
/* 803C5F70 003C1BD0  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803C5F74 003C1BD4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C5F78 003C1BD8  7C 9D 02 14 */	add r4, r29, r0
/* 803C5F7C 003C1BDC  88 64 2D 66 */	lbz r3, 0x2d66(r4)
/* 803C5F80 003C1BE0  54 60 EE FE */	rlwinm r0, r3, 0x1d, 0x1b, 0x1f
/* 803C5F84 003C1BE4  7C 05 00 00 */	cmpw r5, r0
/* 803C5F88 003C1BE8  41 82 00 14 */	beq lbl_803C5F9C
/* 803C5F8C 003C1BEC  50 A3 1E 38 */	rlwimi r3, r5, 3, 0x18, 0x1c
/* 803C5F90 003C1BF0  3B C0 00 01 */	li r30, 1
/* 803C5F94 003C1BF4  98 64 2D 66 */	stb r3, 0x2d66(r4)
/* 803C5F98 003C1BF8  48 00 00 18 */	b lbl_803C5FB0
lbl_803C5F9C:
/* 803C5F9C 003C1BFC  3B FF 00 01 */	addi r31, r31, 1
lbl_803C5FA0:
/* 803C5FA0 003C1C00  7F 83 E3 78 */	mr r3, r28
/* 803C5FA4 003C1C04  4B FE 68 BD */	bl func_803AC860
/* 803C5FA8 003C1C08  7C 1F 18 00 */	cmpw r31, r3
/* 803C5FAC 003C1C0C  41 80 FB A4 */	blt lbl_803C5B50
lbl_803C5FB0:
/* 803C5FB0 003C1C10  39 61 00 20 */	addi r11, r1, 0x20
/* 803C5FB4 003C1C14  7F C3 F3 78 */	mr r3, r30
/* 803C5FB8 003C1C18  4B E0 11 C1 */	bl _restgpr_28
/* 803C5FBC 003C1C1C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C5FC0 003C1C20  7C 08 03 A6 */	mtlr r0
/* 803C5FC4 003C1C24  38 21 00 20 */	addi r1, r1, 0x20
/* 803C5FC8 003C1C28  4E 80 00 20 */	blr 

.global func_803C5FCC
func_803C5FCC:
/* 803C5FCC 003C1C2C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C5FD0 003C1C30  7C 08 02 A6 */	mflr r0
/* 803C5FD4 003C1C34  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C5FD8 003C1C38  39 61 00 20 */	addi r11, r1, 0x20
/* 803C5FDC 003C1C3C  4B E0 11 4D */	bl _savegpr_27
/* 803C5FE0 003C1C40  7C 7B 1B 78 */	mr r27, r3
/* 803C5FE4 003C1C44  7C 9C 23 78 */	mr r28, r4
/* 803C5FE8 003C1C48  3B A0 00 00 */	li r29, 0
/* 803C5FEC 003C1C4C  3B C0 00 00 */	li r30, 0
/* 803C5FF0 003C1C50  3B E0 00 06 */	li r31, 6
/* 803C5FF4 003C1C54  48 00 00 40 */	b lbl_803C6034
lbl_803C5FF8:
/* 803C5FF8 003C1C58  7C 1C F2 14 */	add r0, r28, r30
/* 803C5FFC 003C1C5C  38 80 00 00 */	li r4, 0
/* 803C6000 003C1C60  7F E9 03 A6 */	mtctr r31
lbl_803C6004:
/* 803C6004 003C1C64  7C 60 22 14 */	add r3, r0, r4
/* 803C6008 003C1C68  98 83 31 2C */	stb r4, 0x312c(r3)
/* 803C600C 003C1C6C  38 84 00 01 */	addi r4, r4, 1
/* 803C6010 003C1C70  42 00 FF F4 */	bdnz lbl_803C6004
/* 803C6014 003C1C74  7C 9C EA 14 */	add r4, r28, r29
/* 803C6018 003C1C78  7F 63 DB 78 */	mr r3, r27
/* 803C601C 003C1C7C  88 C4 21 9C */	lbz r6, 0x219c(r4)
/* 803C6020 003C1C80  7F 84 E3 78 */	mr r4, r28
/* 803C6024 003C1C84  7F A5 EB 78 */	mr r5, r29
/* 803C6028 003C1C88  48 00 00 35 */	bl func_803C605C
/* 803C602C 003C1C8C  3B BD 00 01 */	addi r29, r29, 1
/* 803C6030 003C1C90  3B DE 00 06 */	addi r30, r30, 6
lbl_803C6034:
/* 803C6034 003C1C94  7F 63 DB 78 */	mr r3, r27
/* 803C6038 003C1C98  4B FE 68 29 */	bl func_803AC860
/* 803C603C 003C1C9C  7C 1D 18 00 */	cmpw r29, r3
/* 803C6040 003C1CA0  41 80 FF B8 */	blt lbl_803C5FF8
/* 803C6044 003C1CA4  39 61 00 20 */	addi r11, r1, 0x20
/* 803C6048 003C1CA8  4B E0 11 2D */	bl _restgpr_27
/* 803C604C 003C1CAC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C6050 003C1CB0  7C 08 03 A6 */	mtlr r0
/* 803C6054 003C1CB4  38 21 00 20 */	addi r1, r1, 0x20
/* 803C6058 003C1CB8  4E 80 00 20 */	blr 

.global func_803C605C
func_803C605C:
/* 803C605C 003C1CBC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C6060 003C1CC0  7C 08 02 A6 */	mflr r0
/* 803C6064 003C1CC4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C6068 003C1CC8  39 61 00 20 */	addi r11, r1, 0x20
/* 803C606C 003C1CCC  4B E0 10 C1 */	bl _savegpr_28
/* 803C6070 003C1CD0  7C 7C 1B 78 */	mr r28, r3
/* 803C6074 003C1CD4  7C 9D 23 78 */	mr r29, r4
/* 803C6078 003C1CD8  7C BE 2B 78 */	mr r30, r5
/* 803C607C 003C1CDC  7C DF 33 78 */	mr r31, r6
/* 803C6080 003C1CE0  4B FE 67 C1 */	bl func_803AC840
/* 803C6084 003C1CE4  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C6088 003C1CE8  41 82 00 0C */	beq lbl_803C6094
/* 803C608C 003C1CEC  54 60 06 F9 */	rlwinm. r0, r3, 0, 0x1b, 0x1c
/* 803C6090 003C1CF0  41 82 00 20 */	beq lbl_803C60B0
lbl_803C6094:
/* 803C6094 003C1CF4  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803C6098 003C1CF8  41 82 00 5C */	beq lbl_803C60F4
/* 803C609C 003C1CFC  7F 83 E3 78 */	mr r3, r28
/* 803C60A0 003C1D00  7F C4 F3 78 */	mr r4, r30
/* 803C60A4 003C1D04  4B FE 6C 31 */	bl func_803ACCD4
/* 803C60A8 003C1D08  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803C60AC 003C1D0C  40 82 00 48 */	bne lbl_803C60F4
lbl_803C60B0:
/* 803C60B0 003C1D10  7F 83 E3 78 */	mr r3, r28
/* 803C60B4 003C1D14  7F C4 F3 78 */	mr r4, r30
/* 803C60B8 003C1D18  4B FE 6C 1D */	bl func_803ACCD4
/* 803C60BC 003C1D1C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C60C0 003C1D20  28 00 00 04 */	cmplwi r0, 4
/* 803C60C4 003C1D24  41 82 00 1C */	beq lbl_803C60E0
/* 803C60C8 003C1D28  7F 83 E3 78 */	mr r3, r28
/* 803C60CC 003C1D2C  7F C4 F3 78 */	mr r4, r30
/* 803C60D0 003C1D30  4B FE 6C 05 */	bl func_803ACCD4
/* 803C60D4 003C1D34  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C60D8 003C1D38  28 00 00 05 */	cmplwi r0, 5
/* 803C60DC 003C1D3C  40 82 00 0C */	bne lbl_803C60E8
lbl_803C60E0:
/* 803C60E0 003C1D40  38 E0 00 01 */	li r7, 1
/* 803C60E4 003C1D44  48 00 00 08 */	b lbl_803C60EC
lbl_803C60E8:
/* 803C60E8 003C1D48  38 E0 00 00 */	li r7, 0
lbl_803C60EC:
/* 803C60EC 003C1D4C  57 DE 07 FE */	clrlwi r30, r30, 0x1f
/* 803C60F0 003C1D50  48 00 00 08 */	b lbl_803C60F8
lbl_803C60F4:
/* 803C60F4 003C1D54  38 E0 00 00 */	li r7, 0
lbl_803C60F8:
/* 803C60F8 003C1D58  1C BE 00 06 */	mulli r5, r30, 6
/* 803C60FC 003C1D5C  38 00 00 06 */	li r0, 6
/* 803C6100 003C1D60  38 C0 00 00 */	li r6, 0
/* 803C6104 003C1D64  7C 9D 2A 14 */	add r4, r29, r5
/* 803C6108 003C1D68  7C 09 03 A6 */	mtctr r0
lbl_803C610C:
/* 803C610C 003C1D6C  7C 64 32 14 */	add r3, r4, r6
/* 803C6110 003C1D70  88 03 31 2C */	lbz r0, 0x312c(r3)
/* 803C6114 003C1D74  7C 1F 00 00 */	cmpw r31, r0
/* 803C6118 003C1D78  41 82 00 0C */	beq lbl_803C6124
/* 803C611C 003C1D7C  38 C6 00 01 */	addi r6, r6, 1
/* 803C6120 003C1D80  42 00 FF EC */	bdnz lbl_803C610C
lbl_803C6124:
/* 803C6124 003C1D84  7C 7D 2A 14 */	add r3, r29, r5
/* 803C6128 003C1D88  39 61 00 20 */	addi r11, r1, 0x20
/* 803C612C 003C1D8C  38 63 31 2C */	addi r3, r3, 0x312c
/* 803C6130 003C1D90  7C 83 38 AE */	lbzx r4, r3, r7
/* 803C6134 003C1D94  7C 03 30 AE */	lbzx r0, r3, r6
/* 803C6138 003C1D98  7C 03 39 AE */	stbx r0, r3, r7
/* 803C613C 003C1D9C  7C 83 31 AE */	stbx r4, r3, r6
/* 803C6140 003C1DA0  4B E0 10 39 */	bl _restgpr_28
/* 803C6144 003C1DA4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C6148 003C1DA8  7C 08 03 A6 */	mtlr r0
/* 803C614C 003C1DAC  38 21 00 20 */	addi r1, r1, 0x20
/* 803C6150 003C1DB0  4E 80 00 20 */	blr 

.global func_803C6154
func_803C6154:
/* 803C6154 003C1DB4  3C C0 80 40 */	lis r6, lbl_80405402@ha
/* 803C6158 003C1DB8  54 60 0D FC */	rlwinm r0, r3, 1, 0x17, 0x1e
/* 803C615C 003C1DBC  38 C6 54 02 */	addi r6, r6, lbl_80405402@l
/* 803C6160 003C1DC0  7C A6 00 AE */	lbzx r5, r6, r0
/* 803C6164 003C1DC4  7C 66 02 14 */	add r3, r6, r0
/* 803C6168 003C1DC8  88 03 00 01 */	lbz r0, 1(r3)
/* 803C616C 003C1DCC  7C 64 29 D6 */	mullw r3, r4, r5
/* 803C6170 003C1DD0  7C 63 03 96 */	divwu r3, r3, r0
/* 803C6174 003C1DD4  4E 80 00 20 */	blr 

.global func_803C6178
func_803C6178:
/* 803C6178 003C1DD8  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 803C617C 003C1DDC  7C 08 02 A6 */	mflr r0
/* 803C6180 003C1DE0  90 01 00 94 */	stw r0, 0x94(r1)
/* 803C6184 003C1DE4  39 61 00 90 */	addi r11, r1, 0x90
/* 803C6188 003C1DE8  4B E0 0F 6D */	bl __save_gpr
/* 803C618C 003C1DEC  3F C0 80 40 */	lis r30, lbl_80405248@ha
/* 803C6190 003C1DF0  90 A1 00 08 */	stw r5, 8(r1)
/* 803C6194 003C1DF4  7C 90 23 78 */	mr r16, r4
/* 803C6198 003C1DF8  7D 51 53 78 */	mr r17, r10
/* 803C619C 003C1DFC  90 C1 00 0C */	stw r6, 0xc(r1)
/* 803C61A0 003C1E00  7C 6F 1B 78 */	mr r15, r3
/* 803C61A4 003C1E04  8A 41 00 9B */	lbz r18, 0x9b(r1)
/* 803C61A8 003C1E08  7D 1C 43 78 */	mr r28, r8
/* 803C61AC 003C1E0C  90 E1 00 10 */	stw r7, 0x10(r1)
/* 803C61B0 003C1E10  7E 03 83 78 */	mr r3, r16
/* 803C61B4 003C1E14  7E 24 8B 78 */	mr r4, r17
/* 803C61B8 003C1E18  3B DE 52 48 */	addi r30, r30, lbl_80405248@l
/* 803C61BC 003C1E1C  99 21 00 14 */	stb r9, 0x14(r1)
/* 803C61C0 003C1E20  3B 60 00 00 */	li r27, 0
/* 803C61C4 003C1E24  38 A0 00 01 */	li r5, 1
/* 803C61C8 003C1E28  38 C0 00 00 */	li r6, 0
/* 803C61CC 003C1E2C  4B FF 4A D9 */	bl func_803BACA4
/* 803C61D0 003C1E30  54 79 04 3E */	clrlwi r25, r3, 0x10
/* 803C61D4 003C1E34  7E 03 83 78 */	mr r3, r16
/* 803C61D8 003C1E38  7E 44 93 78 */	mr r4, r18
/* 803C61DC 003C1E3C  38 A0 00 02 */	li r5, 2
/* 803C61E0 003C1E40  38 C0 00 00 */	li r6, 0
/* 803C61E4 003C1E44  4B FF 4A C1 */	bl func_803BACA4
/* 803C61E8 003C1E48  54 6E 04 3E */	clrlwi r14, r3, 0x10
/* 803C61EC 003C1E4C  7E 03 83 78 */	mr r3, r16
/* 803C61F0 003C1E50  7E 24 8B 78 */	mr r4, r17
/* 803C61F4 003C1E54  38 A0 00 04 */	li r5, 4
/* 803C61F8 003C1E58  38 C0 00 00 */	li r6, 0
/* 803C61FC 003C1E5C  4B FF 4A A9 */	bl func_803BACA4
/* 803C6200 003C1E60  54 78 04 3E */	clrlwi r24, r3, 0x10
/* 803C6204 003C1E64  7E 03 83 78 */	mr r3, r16
/* 803C6208 003C1E68  7E 44 93 78 */	mr r4, r18
/* 803C620C 003C1E6C  38 A0 00 05 */	li r5, 5
/* 803C6210 003C1E70  38 C0 00 00 */	li r6, 0
/* 803C6214 003C1E74  4B FF 4A 91 */	bl func_803BACA4
/* 803C6218 003C1E78  54 77 04 3E */	clrlwi r23, r3, 0x10
/* 803C621C 003C1E7C  7E 03 83 78 */	mr r3, r16
/* 803C6220 003C1E80  7E 24 8B 78 */	mr r4, r17
/* 803C6224 003C1E84  38 A0 00 13 */	li r5, 0x13
/* 803C6228 003C1E88  38 C0 00 00 */	li r6, 0
/* 803C622C 003C1E8C  4B FF 4A 79 */	bl func_803BACA4
/* 803C6230 003C1E90  38 03 FF FA */	addi r0, r3, -6
/* 803C6234 003C1E94  7E 03 83 78 */	mr r3, r16
/* 803C6238 003C1E98  7E 44 93 78 */	mr r4, r18
/* 803C623C 003C1E9C  38 A0 00 14 */	li r5, 0x14
/* 803C6240 003C1EA0  7C 16 07 74 */	extsb r22, r0
/* 803C6244 003C1EA4  38 C0 00 00 */	li r6, 0
/* 803C6248 003C1EA8  4B FF 4A 5D */	bl func_803BACA4
/* 803C624C 003C1EAC  38 03 FF FA */	addi r0, r3, -6
/* 803C6250 003C1EB0  7E 03 83 78 */	mr r3, r16
/* 803C6254 003C1EB4  7E 24 8B 78 */	mr r4, r17
/* 803C6258 003C1EB8  38 A0 00 16 */	li r5, 0x16
/* 803C625C 003C1EBC  7C 15 07 74 */	extsb r21, r0
/* 803C6260 003C1EC0  38 C0 00 00 */	li r6, 0
/* 803C6264 003C1EC4  4B FF 4A 41 */	bl func_803BACA4
/* 803C6268 003C1EC8  38 03 FF FA */	addi r0, r3, -6
/* 803C626C 003C1ECC  7E 03 83 78 */	mr r3, r16
/* 803C6270 003C1ED0  7E 44 93 78 */	mr r4, r18
/* 803C6274 003C1ED4  38 A0 00 17 */	li r5, 0x17
/* 803C6278 003C1ED8  7C 14 07 74 */	extsb r20, r0
/* 803C627C 003C1EDC  38 C0 00 00 */	li r6, 0
/* 803C6280 003C1EE0  4B FF 4A 25 */	bl func_803BACA4
/* 803C6284 003C1EE4  1C 11 00 C0 */	mulli r0, r17, 0xc0
/* 803C6288 003C1EE8  38 A3 FF FA */	addi r5, r3, -6
/* 803C628C 003C1EEC  7E 03 83 78 */	mr r3, r16
/* 803C6290 003C1EF0  7C B3 07 74 */	extsb r19, r5
/* 803C6294 003C1EF4  7F 50 02 14 */	add r26, r16, r0
/* 803C6298 003C1EF8  7E 24 8B 78 */	mr r4, r17
/* 803C629C 003C1EFC  88 1A 2D 74 */	lbz r0, 0x2d74(r26)
/* 803C62A0 003C1F00  38 A0 00 00 */	li r5, 0
/* 803C62A4 003C1F04  38 C0 00 00 */	li r6, 0
/* 803C62A8 003C1F08  90 01 00 30 */	stw r0, 0x30(r1)
/* 803C62AC 003C1F0C  4B FF 49 F9 */	bl func_803BACA4
/* 803C62B0 003C1F10  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C62B4 003C1F14  7E 03 83 78 */	mr r3, r16
/* 803C62B8 003C1F18  B0 01 00 26 */	sth r0, 0x26(r1)
/* 803C62BC 003C1F1C  7E 44 93 78 */	mr r4, r18
/* 803C62C0 003C1F20  38 A0 00 00 */	li r5, 0
/* 803C62C4 003C1F24  38 C0 00 00 */	li r6, 0
/* 803C62C8 003C1F28  4B FF 49 DD */	bl func_803BACA4
/* 803C62CC 003C1F2C  80 DA 2D 8C */	lwz r6, 0x2d8c(r26)
/* 803C62D0 003C1F30  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C62D4 003C1F34  80 BA 2D 90 */	lwz r5, 0x2d90(r26)
/* 803C62D8 003C1F38  7E 03 83 78 */	mr r3, r16
/* 803C62DC 003C1F3C  B0 01 00 24 */	sth r0, 0x24(r1)
/* 803C62E0 003C1F40  7C C0 07 34 */	extsh r0, r6
/* 803C62E4 003C1F44  7E 24 8B 78 */	mr r4, r17
/* 803C62E8 003C1F48  38 C0 00 00 */	li r6, 0
/* 803C62EC 003C1F4C  B0 01 00 22 */	sth r0, 0x22(r1)
/* 803C62F0 003C1F50  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 803C62F4 003C1F54  38 A0 00 34 */	li r5, 0x34
/* 803C62F8 003C1F58  B0 01 00 20 */	sth r0, 0x20(r1)
/* 803C62FC 003C1F5C  4B FF 49 A9 */	bl func_803BACA4
/* 803C6300 003C1F60  90 61 00 34 */	stw r3, 0x34(r1)
/* 803C6304 003C1F64  7E 03 83 78 */	mr r3, r16
/* 803C6308 003C1F68  7E 44 93 78 */	mr r4, r18
/* 803C630C 003C1F6C  38 A0 00 34 */	li r5, 0x34
/* 803C6310 003C1F70  38 C0 00 00 */	li r6, 0
/* 803C6314 003C1F74  4B FF 49 91 */	bl func_803BACA4
/* 803C6318 003C1F78  90 61 00 38 */	stw r3, 0x38(r1)
/* 803C631C 003C1F7C  7E 03 83 78 */	mr r3, r16
/* 803C6320 003C1F80  7E 24 8B 78 */	mr r4, r17
/* 803C6324 003C1F84  4B FF 97 F5 */	bl func_803BFB18
/* 803C6328 003C1F88  7C 7F 1B 78 */	mr r31, r3
/* 803C632C 003C1F8C  7E 03 83 78 */	mr r3, r16
/* 803C6330 003C1F90  7E 44 93 78 */	mr r4, r18
/* 803C6334 003C1F94  4B FF 97 E5 */	bl func_803BFB18
/* 803C6338 003C1F98  7E 03 83 78 */	mr r3, r16
/* 803C633C 003C1F9C  7E 24 8B 78 */	mr r4, r17
/* 803C6340 003C1FA0  38 A0 00 1D */	li r5, 0x1d
/* 803C6344 003C1FA4  38 C0 00 00 */	li r6, 0
/* 803C6348 003C1FA8  4B FF 49 5D */	bl func_803BACA4
/* 803C634C 003C1FAC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C6350 003C1FB0  7E 03 83 78 */	mr r3, r16
/* 803C6354 003C1FB4  98 01 00 1F */	stb r0, 0x1f(r1)
/* 803C6358 003C1FB8  7E 44 93 78 */	mr r4, r18
/* 803C635C 003C1FBC  38 A0 00 1D */	li r5, 0x1d
/* 803C6360 003C1FC0  38 C0 00 00 */	li r6, 0
/* 803C6364 003C1FC4  4B FF 49 41 */	bl func_803BACA4
/* 803C6368 003C1FC8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C636C 003C1FCC  7E 03 83 78 */	mr r3, r16
/* 803C6370 003C1FD0  98 01 00 1E */	stb r0, 0x1e(r1)
/* 803C6374 003C1FD4  7E 24 8B 78 */	mr r4, r17
/* 803C6378 003C1FD8  38 A0 00 1B */	li r5, 0x1b
/* 803C637C 003C1FDC  38 C0 00 00 */	li r6, 0
/* 803C6380 003C1FE0  4B FF 49 25 */	bl func_803BACA4
/* 803C6384 003C1FE4  7E 03 83 78 */	mr r3, r16
/* 803C6388 003C1FE8  7E 44 93 78 */	mr r4, r18
/* 803C638C 003C1FEC  38 A0 00 1B */	li r5, 0x1b
/* 803C6390 003C1FF0  38 C0 00 00 */	li r6, 0
/* 803C6394 003C1FF4  4B FF 49 11 */	bl func_803BACA4
/* 803C6398 003C1FF8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C639C 003C1FFC  7E 03 83 78 */	mr r3, r16
/* 803C63A0 003C2000  98 01 00 1D */	stb r0, 0x1d(r1)
/* 803C63A4 003C2004  7E 24 8B 78 */	mr r4, r17
/* 803C63A8 003C2008  38 A0 00 1C */	li r5, 0x1c
/* 803C63AC 003C200C  38 C0 00 00 */	li r6, 0
/* 803C63B0 003C2010  4B FF 48 F5 */	bl func_803BACA4
/* 803C63B4 003C2014  7E 03 83 78 */	mr r3, r16
/* 803C63B8 003C2018  7E 44 93 78 */	mr r4, r18
/* 803C63BC 003C201C  38 A0 00 1C */	li r5, 0x1c
/* 803C63C0 003C2020  38 C0 00 00 */	li r6, 0
/* 803C63C4 003C2024  4B FF 48 E1 */	bl func_803BACA4
/* 803C63C8 003C2028  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C63CC 003C202C  7E 03 83 78 */	mr r3, r16
/* 803C63D0 003C2030  98 01 00 1C */	stb r0, 0x1c(r1)
/* 803C63D4 003C2034  7E 24 8B 78 */	mr r4, r17
/* 803C63D8 003C2038  4B FF D9 95 */	bl func_803C3D6C
/* 803C63DC 003C203C  7C 7A 1B 78 */	mr r26, r3
/* 803C63E0 003C2040  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C63E4 003C2044  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C63E8 003C2048  48 01 33 85 */	bl func_803D976C
/* 803C63EC 003C204C  38 80 00 01 */	li r4, 1
/* 803C63F0 003C2050  48 01 2E 3D */	bl func_803D922C
/* 803C63F4 003C2054  7C 7D 1B 78 */	mr r29, r3
/* 803C63F8 003C2058  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C63FC 003C205C  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C6400 003C2060  48 01 33 6D */	bl func_803D976C
/* 803C6404 003C2064  38 80 00 02 */	li r4, 2
/* 803C6408 003C2068  48 01 2E 25 */	bl func_803D922C
/* 803C640C 003C206C  90 61 00 2C */	stw r3, 0x2c(r1)
/* 803C6410 003C2070  7E 03 83 78 */	mr r3, r16
/* 803C6414 003C2074  7E 44 93 78 */	mr r4, r18
/* 803C6418 003C2078  4B FF D9 55 */	bl func_803C3D6C
/* 803C641C 003C207C  7C 7A 1B 78 */	mr r26, r3
/* 803C6420 003C2080  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C6424 003C2084  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C6428 003C2088  48 01 33 45 */	bl func_803D976C
/* 803C642C 003C208C  38 80 00 01 */	li r4, 1
/* 803C6430 003C2090  48 01 2D FD */	bl func_803D922C
/* 803C6434 003C2094  90 61 00 28 */	stw r3, 0x28(r1)
/* 803C6438 003C2098  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C643C 003C209C  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C6440 003C20A0  48 01 33 2D */	bl func_803D976C
/* 803C6444 003C20A4  38 80 00 02 */	li r4, 2
/* 803C6448 003C20A8  48 01 2D E5 */	bl func_803D922C
/* 803C644C 003C20AC  7D E3 7B 78 */	mr r3, r15
/* 803C6450 003C20B0  4B FE 63 F1 */	bl func_803AC840
/* 803C6454 003C20B4  2C 1C 00 00 */	cmpwi r28, 0
/* 803C6458 003C20B8  90 61 00 3C */	stw r3, 0x3c(r1)
/* 803C645C 003C20BC  40 82 00 14 */	bne lbl_803C6470
/* 803C6460 003C20C0  80 01 00 08 */	lwz r0, 8(r1)
/* 803C6464 003C20C4  54 00 20 36 */	slwi r0, r0, 4
/* 803C6468 003C20C8  7C 70 02 14 */	add r3, r16, r0
/* 803C646C 003C20CC  8B 83 03 E1 */	lbz r28, 0x3e1(r3)
lbl_803C6470:
/* 803C6470 003C20D0  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6474 003C20D4  28 00 00 60 */	cmplwi r0, 0x60
/* 803C6478 003C20D8  40 82 00 0C */	bne lbl_803C6484
/* 803C647C 003C20DC  3B 40 00 00 */	li r26, 0
/* 803C6480 003C20E0  48 00 00 28 */	b lbl_803C64A8
lbl_803C6484:
/* 803C6484 003C20E4  88 01 00 14 */	lbz r0, 0x14(r1)
/* 803C6488 003C20E8  2C 00 00 00 */	cmpwi r0, 0
/* 803C648C 003C20EC  40 82 00 18 */	bne lbl_803C64A4
/* 803C6490 003C20F0  80 01 00 08 */	lwz r0, 8(r1)
/* 803C6494 003C20F4  54 00 20 36 */	slwi r0, r0, 4
/* 803C6498 003C20F8  7C 70 02 14 */	add r3, r16, r0
/* 803C649C 003C20FC  8B 43 03 E2 */	lbz r26, 0x3e2(r3)
/* 803C64A0 003C2100  48 00 00 08 */	b lbl_803C64A8
lbl_803C64A4:
/* 803C64A4 003C2104  54 1A 06 BE */	clrlwi r26, r0, 0x1a
lbl_803C64A8:
/* 803C64A8 003C2108  80 D0 21 58 */	lwz r6, 0x2158(r16)
/* 803C64AC 003C210C  3C 80 80 47 */	lis r4, lbl_80473D98@ha
/* 803C64B0 003C2110  38 00 00 0A */	li r0, 0xa
/* 803C64B4 003C2114  38 60 00 00 */	li r3, 0
/* 803C64B8 003C2118  7C C5 FE 70 */	srawi r5, r6, 0x1f
/* 803C64BC 003C211C  38 84 3D 98 */	addi r4, r4, lbl_80473D98@l
/* 803C64C0 003C2120  7C 00 30 10 */	subfc r0, r0, r6
/* 803C64C4 003C2124  7C 65 19 14 */	adde r3, r5, r3
/* 803C64C8 003C2128  4C C6 31 82 */	crclr 6
/* 803C64CC 003C212C  48 01 33 D1 */	bl func_803D989C
/* 803C64D0 003C2130  1C 11 00 C0 */	mulli r0, r17, 0xc0
/* 803C64D4 003C2134  80 70 21 58 */	lwz r3, 0x2158(r16)
/* 803C64D8 003C2138  57 84 04 3E */	clrlwi r4, r28, 0x10
/* 803C64DC 003C213C  7C 84 19 D6 */	mullw r4, r4, r3
/* 803C64E0 003C2140  7C 70 02 14 */	add r3, r16, r0
/* 803C64E4 003C2144  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803C64E8 003C2148  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803C64EC 003C214C  38 00 00 0A */	li r0, 0xa
/* 803C64F0 003C2150  7C 04 03 D6 */	divw r0, r4, r0
/* 803C64F4 003C2154  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C64F8 003C2158  41 82 00 14 */	beq lbl_803C650C
/* 803C64FC 003C215C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6500 003C2160  28 00 00 0D */	cmplwi r0, 0xd
/* 803C6504 003C2164  40 82 00 08 */	bne lbl_803C650C
/* 803C6508 003C2168  57 9C 0C 3C */	rlwinm r28, r28, 1, 0x10, 0x1e
lbl_803C650C:
/* 803C650C 003C216C  56 20 34 B2 */	rlwinm r0, r17, 6, 0x12, 0x19
/* 803C6510 003C2170  7C 70 02 14 */	add r3, r16, r0
/* 803C6514 003C2174  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803C6518 003C2178  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803C651C 003C217C  41 82 00 14 */	beq lbl_803C6530
/* 803C6520 003C2180  1C 7C 00 0F */	mulli r3, r28, 0xf
/* 803C6524 003C2184  38 00 00 0A */	li r0, 0xa
/* 803C6528 003C2188  7C 03 03 D6 */	divw r0, r3, r0
/* 803C652C 003C218C  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6530:
/* 803C6530 003C2190  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6534 003C2194  28 00 00 65 */	cmplwi r0, 0x65
/* 803C6538 003C2198  40 82 00 28 */	bne lbl_803C6560
/* 803C653C 003C219C  80 01 00 08 */	lwz r0, 8(r1)
/* 803C6540 003C21A0  2C 00 00 A5 */	cmpwi r0, 0xa5
/* 803C6544 003C21A4  41 82 00 1C */	beq lbl_803C6560
/* 803C6548 003C21A8  28 1C 00 3C */	cmplwi r28, 0x3c
/* 803C654C 003C21AC  41 81 00 14 */	bgt lbl_803C6560
/* 803C6550 003C21B0  1C 7C 00 0F */	mulli r3, r28, 0xf
/* 803C6554 003C21B4  38 00 00 0A */	li r0, 0xa
/* 803C6558 003C21B8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C655C 003C21BC  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6560:
/* 803C6560 003C21C0  80 01 00 08 */	lwz r0, 8(r1)
/* 803C6564 003C21C4  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 803C6568 003C21C8  28 03 00 25 */	cmplwi r3, 0x25
/* 803C656C 003C21CC  54 00 20 36 */	slwi r0, r0, 4
/* 803C6570 003C21D0  7C 90 02 14 */	add r4, r16, r0
/* 803C6574 003C21D4  90 01 00 18 */	stw r0, 0x18(r1)
/* 803C6578 003C21D8  88 04 03 E0 */	lbz r0, 0x3e0(r4)
/* 803C657C 003C21DC  98 01 00 15 */	stb r0, 0x15(r1)
/* 803C6580 003C21E0  41 82 00 0C */	beq lbl_803C658C
/* 803C6584 003C21E4  28 03 00 4A */	cmplwi r3, 0x4a
/* 803C6588 003C21E8  40 82 00 08 */	bne lbl_803C6590
lbl_803C658C:
/* 803C658C 003C21EC  57 39 0C 3C */	rlwinm r25, r25, 1, 0x10, 0x1e
lbl_803C6590:
/* 803C6590 003C21F0  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6594 003C21F4  28 00 00 70 */	cmplwi r0, 0x70
/* 803C6598 003C21F8  40 82 00 44 */	bne lbl_803C65DC
/* 803C659C 003C21FC  7D E3 7B 78 */	mr r3, r15
/* 803C65A0 003C2200  7E 04 83 78 */	mr r4, r16
/* 803C65A4 003C2204  38 A0 00 03 */	li r5, 3
/* 803C65A8 003C2208  38 C0 00 00 */	li r6, 0
/* 803C65AC 003C220C  48 00 26 9D */	bl func_803C8C48
/* 803C65B0 003C2210  90 61 00 40 */	stw r3, 0x40(r1)
/* 803C65B4 003C2214  7E 03 83 78 */	mr r3, r16
/* 803C65B8 003C2218  7E 24 8B 78 */	mr r4, r17
/* 803C65BC 003C221C  38 A0 00 59 */	li r5, 0x59
/* 803C65C0 003C2220  38 C0 00 00 */	li r6, 0
/* 803C65C4 003C2224  4B FF 46 E1 */	bl func_803BACA4
/* 803C65C8 003C2228  80 01 00 40 */	lwz r0, 0x40(r1)
/* 803C65CC 003C222C  7C 03 00 50 */	subf r0, r3, r0
/* 803C65D0 003C2230  2C 00 00 05 */	cmpwi r0, 5
/* 803C65D4 003C2234  40 80 00 08 */	bge lbl_803C65DC
/* 803C65D8 003C2238  57 39 FC 7E */	rlwinm r25, r25, 0x1f, 0x11, 0x1f
lbl_803C65DC:
/* 803C65DC 003C223C  38 00 00 21 */	li r0, 0x21
/* 803C65E0 003C2240  57 44 06 3E */	clrlwi r4, r26, 0x18
/* 803C65E4 003C2244  38 BE 01 78 */	addi r5, r30, 0x178
/* 803C65E8 003C2248  38 60 00 00 */	li r3, 0
/* 803C65EC 003C224C  7C 09 03 A6 */	mtctr r0
lbl_803C65F0:
/* 803C65F0 003C2250  7C 05 18 AE */	lbzx r0, r5, r3
/* 803C65F4 003C2254  7C C5 1A 14 */	add r6, r5, r3
/* 803C65F8 003C2258  7C 1D 00 00 */	cmpw r29, r0
/* 803C65FC 003C225C  40 82 00 2C */	bne lbl_803C6628
/* 803C6600 003C2260  88 06 00 01 */	lbz r0, 1(r6)
/* 803C6604 003C2264  7C 04 00 40 */	cmplw r4, r0
/* 803C6608 003C2268  40 82 00 20 */	bne lbl_803C6628
/* 803C660C 003C226C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C6610 003C2270  38 00 00 64 */	li r0, 0x64
/* 803C6614 003C2274  38 63 00 64 */	addi r3, r3, 0x64
/* 803C6618 003C2278  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C661C 003C227C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6620 003C2280  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C6624 003C2284  48 00 00 0C */	b lbl_803C6630
lbl_803C6628:
/* 803C6628 003C2288  38 63 00 02 */	addi r3, r3, 2
/* 803C662C 003C228C  42 00 FF C4 */	bdnz lbl_803C65F0
lbl_803C6630:
/* 803C6630 003C2290  2C 1D 00 36 */	cmpwi r29, 0x36
/* 803C6634 003C2294  40 82 00 18 */	bne lbl_803C664C
/* 803C6638 003C2298  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C663C 003C229C  38 00 00 64 */	li r0, 0x64
/* 803C6640 003C22A0  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C6644 003C22A4  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6648 003C22A8  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C664C:
/* 803C664C 003C22AC  2C 1D 00 7C */	cmpwi r29, 0x7c
/* 803C6650 003C22B0  40 82 00 14 */	bne lbl_803C6664
/* 803C6654 003C22B4  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C6658 003C22B8  38 00 00 64 */	li r0, 0x64
/* 803C665C 003C22BC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6660 003C22C0  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C6664:
/* 803C6664 003C22C4  2C 1D 00 3B */	cmpwi r29, 0x3b
/* 803C6668 003C22C8  40 82 00 38 */	bne lbl_803C66A0
/* 803C666C 003C22CC  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C6670 003C22D0  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C6674 003C22D4  40 82 00 2C */	bne lbl_803C66A0
/* 803C6678 003C22D8  A0 61 00 26 */	lhz r3, 0x26(r1)
/* 803C667C 003C22DC  3C 63 00 01 */	addis r3, r3, 1
/* 803C6680 003C22E0  38 03 FE 84 */	addi r0, r3, -380
/* 803C6684 003C22E4  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C6688 003C22E8  28 00 00 01 */	cmplwi r0, 1
/* 803C668C 003C22EC  41 81 00 14 */	bgt lbl_803C66A0
/* 803C6690 003C22F0  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C6694 003C22F4  38 00 00 64 */	li r0, 0x64
/* 803C6698 003C22F8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C669C 003C22FC  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C66A0:
/* 803C66A0 003C2300  80 01 00 28 */	lwz r0, 0x28(r1)
/* 803C66A4 003C2304  2C 00 00 3B */	cmpwi r0, 0x3b
/* 803C66A8 003C2308  40 82 00 38 */	bne lbl_803C66E0
/* 803C66AC 003C230C  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C66B0 003C2310  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C66B4 003C2314  40 82 00 2C */	bne lbl_803C66E0
/* 803C66B8 003C2318  A0 61 00 24 */	lhz r3, 0x24(r1)
/* 803C66BC 003C231C  3C 63 00 01 */	addis r3, r3, 1
/* 803C66C0 003C2320  38 03 FE 84 */	addi r0, r3, -380
/* 803C66C4 003C2324  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C66C8 003C2328  28 00 00 01 */	cmplwi r0, 1
/* 803C66CC 003C232C  41 81 00 14 */	bgt lbl_803C66E0
/* 803C66D0 003C2330  1C 77 00 96 */	mulli r3, r23, 0x96
/* 803C66D4 003C2334  38 00 00 64 */	li r0, 0x64
/* 803C66D8 003C2338  7C 03 03 D6 */	divw r0, r3, r0
/* 803C66DC 003C233C  54 17 04 3E */	clrlwi r23, r0, 0x10
lbl_803C66E0:
/* 803C66E0 003C2340  2C 1D 00 3C */	cmpwi r29, 0x3c
/* 803C66E4 003C2344  40 82 00 14 */	bne lbl_803C66F8
/* 803C66E8 003C2348  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C66EC 003C234C  28 00 01 6E */	cmplwi r0, 0x16e
/* 803C66F0 003C2350  40 82 00 08 */	bne lbl_803C66F8
/* 803C66F4 003C2354  57 18 0C 3C */	rlwinm r24, r24, 1, 0x10, 0x1e
lbl_803C66F8:
/* 803C66F8 003C2358  80 01 00 28 */	lwz r0, 0x28(r1)
/* 803C66FC 003C235C  2C 00 00 3D */	cmpwi r0, 0x3d
/* 803C6700 003C2360  40 82 00 14 */	bne lbl_803C6714
/* 803C6704 003C2364  A0 01 00 24 */	lhz r0, 0x24(r1)
/* 803C6708 003C2368  28 00 01 6E */	cmplwi r0, 0x16e
/* 803C670C 003C236C  40 82 00 08 */	bne lbl_803C6714
/* 803C6710 003C2370  56 F7 0C 3C */	rlwinm r23, r23, 1, 0x10, 0x1e
lbl_803C6714:
/* 803C6714 003C2374  2C 1D 00 46 */	cmpwi r29, 0x46
/* 803C6718 003C2378  40 82 00 14 */	bne lbl_803C672C
/* 803C671C 003C237C  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C6720 003C2380  28 00 00 19 */	cmplwi r0, 0x19
/* 803C6724 003C2384  40 82 00 08 */	bne lbl_803C672C
/* 803C6728 003C2388  57 9C 0C 3C */	rlwinm r28, r28, 1, 0x10, 0x1e
lbl_803C672C:
/* 803C672C 003C238C  80 01 00 28 */	lwz r0, 0x28(r1)
/* 803C6730 003C2390  2C 00 00 59 */	cmpwi r0, 0x59
/* 803C6734 003C2394  40 82 00 14 */	bne lbl_803C6748
/* 803C6738 003C2398  A0 01 00 24 */	lhz r0, 0x24(r1)
/* 803C673C 003C239C  28 00 00 84 */	cmplwi r0, 0x84
/* 803C6740 003C23A0  40 82 00 08 */	bne lbl_803C6748
/* 803C6744 003C23A4  55 CE 0C 3C */	rlwinm r14, r14, 1, 0x10, 0x1e
lbl_803C6748:
/* 803C6748 003C23A8  2C 1D 00 5A */	cmpwi r29, 0x5a
/* 803C674C 003C23AC  40 82 00 20 */	bne lbl_803C676C
/* 803C6750 003C23B0  A0 61 00 26 */	lhz r3, 0x26(r1)
/* 803C6754 003C23B4  3C 63 00 01 */	addis r3, r3, 1
/* 803C6758 003C23B8  38 03 FF 98 */	addi r0, r3, -104
/* 803C675C 003C23BC  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C6760 003C23C0  28 00 00 01 */	cmplwi r0, 1
/* 803C6764 003C23C4  41 81 00 08 */	bgt lbl_803C676C
/* 803C6768 003C23C8  57 39 0C 3C */	rlwinm r25, r25, 1, 0x10, 0x1e
lbl_803C676C:
/* 803C676C 003C23CC  2C 1D 00 02 */	cmpwi r29, 2
/* 803C6770 003C23D0  40 82 00 3C */	bne lbl_803C67AC
/* 803C6774 003C23D4  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6778 003C23D8  28 00 00 10 */	cmplwi r0, 0x10
/* 803C677C 003C23DC  41 82 00 0C */	beq lbl_803C6788
/* 803C6780 003C23E0  28 00 00 08 */	cmplwi r0, 8
/* 803C6784 003C23E4  40 82 00 28 */	bne lbl_803C67AC
lbl_803C6788:
/* 803C6788 003C23E8  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C678C 003C23EC  28 00 01 E3 */	cmplwi r0, 0x1e3
/* 803C6790 003C23F0  40 82 00 1C */	bne lbl_803C67AC
/* 803C6794 003C23F4  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C6798 003C23F8  38 00 00 64 */	li r0, 0x64
/* 803C679C 003C23FC  38 63 00 64 */	addi r3, r3, 0x64
/* 803C67A0 003C2400  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C67A4 003C2404  7C 03 03 D6 */	divw r0, r3, r0
/* 803C67A8 003C2408  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C67AC:
/* 803C67AC 003C240C  2C 1D 00 03 */	cmpwi r29, 3
/* 803C67B0 003C2410  40 82 00 3C */	bne lbl_803C67EC
/* 803C67B4 003C2414  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C67B8 003C2418  28 00 00 10 */	cmplwi r0, 0x10
/* 803C67BC 003C241C  41 82 00 0C */	beq lbl_803C67C8
/* 803C67C0 003C2420  28 00 00 0B */	cmplwi r0, 0xb
/* 803C67C4 003C2424  40 82 00 28 */	bne lbl_803C67EC
lbl_803C67C8:
/* 803C67C8 003C2428  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C67CC 003C242C  28 00 01 E4 */	cmplwi r0, 0x1e4
/* 803C67D0 003C2430  40 82 00 1C */	bne lbl_803C67EC
/* 803C67D4 003C2434  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C67D8 003C2438  38 00 00 64 */	li r0, 0x64
/* 803C67DC 003C243C  38 63 00 64 */	addi r3, r3, 0x64
/* 803C67E0 003C2440  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C67E4 003C2444  7C 03 03 D6 */	divw r0, r3, r0
/* 803C67E8 003C2448  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C67EC:
/* 803C67EC 003C244C  2C 1D 00 5D */	cmpwi r29, 0x5d
/* 803C67F0 003C2450  40 82 00 28 */	bne lbl_803C6818
/* 803C67F4 003C2454  88 01 00 15 */	lbz r0, 0x15(r1)
/* 803C67F8 003C2458  2C 00 00 00 */	cmpwi r0, 0
/* 803C67FC 003C245C  40 82 00 1C */	bne lbl_803C6818
/* 803C6800 003C2460  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C6804 003C2464  38 00 00 64 */	li r0, 0x64
/* 803C6808 003C2468  38 63 00 64 */	addi r3, r3, 0x64
/* 803C680C 003C246C  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C6810 003C2470  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6814 003C2474  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6818:
/* 803C6818 003C2478  2C 1D 00 5E */	cmpwi r29, 0x5e
/* 803C681C 003C247C  40 82 00 28 */	bne lbl_803C6844
/* 803C6820 003C2480  88 01 00 15 */	lbz r0, 0x15(r1)
/* 803C6824 003C2484  28 00 00 01 */	cmplwi r0, 1
/* 803C6828 003C2488  40 82 00 1C */	bne lbl_803C6844
/* 803C682C 003C248C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C6830 003C2490  38 00 00 64 */	li r0, 0x64
/* 803C6834 003C2494  38 63 00 64 */	addi r3, r3, 0x64
/* 803C6838 003C2498  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C683C 003C249C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6840 003C24A0  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6844:
/* 803C6844 003C24A4  7E 03 83 78 */	mr r3, r16
/* 803C6848 003C24A8  7E 24 8B 78 */	mr r4, r17
/* 803C684C 003C24AC  7E 45 93 78 */	mr r5, r18
/* 803C6850 003C24B0  38 C0 00 2F */	li r6, 0x2f
/* 803C6854 003C24B4  4B FF 93 3D */	bl func_803BFB90
/* 803C6858 003C24B8  2C 03 00 01 */	cmpwi r3, 1
/* 803C685C 003C24BC  40 82 00 1C */	bne lbl_803C6878
/* 803C6860 003C24C0  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6864 003C24C4  28 00 00 0A */	cmplwi r0, 0xa
/* 803C6868 003C24C8  41 82 00 0C */	beq lbl_803C6874
/* 803C686C 003C24CC  28 00 00 0F */	cmplwi r0, 0xf
/* 803C6870 003C24D0  40 82 00 08 */	bne lbl_803C6878
lbl_803C6874:
/* 803C6874 003C24D4  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C6878:
/* 803C6878 003C24D8  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C687C 003C24DC  28 00 00 37 */	cmplwi r0, 0x37
/* 803C6880 003C24E0  40 82 00 18 */	bne lbl_803C6898
/* 803C6884 003C24E4  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C6888 003C24E8  38 00 00 64 */	li r0, 0x64
/* 803C688C 003C24EC  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C6890 003C24F0  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6894 003C24F4  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C6898:
/* 803C6898 003C24F8  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C689C 003C24FC  28 00 00 3E */	cmplwi r0, 0x3e
/* 803C68A0 003C2500  40 82 00 24 */	bne lbl_803C68C4
/* 803C68A4 003C2504  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C68A8 003C2508  2C 00 00 00 */	cmpwi r0, 0
/* 803C68AC 003C250C  41 82 00 18 */	beq lbl_803C68C4
/* 803C68B0 003C2510  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C68B4 003C2514  38 00 00 64 */	li r0, 0x64
/* 803C68B8 003C2518  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C68BC 003C251C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C68C0 003C2520  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C68C4:
/* 803C68C4 003C2524  7E 03 83 78 */	mr r3, r16
/* 803C68C8 003C2528  7E 24 8B 78 */	mr r4, r17
/* 803C68CC 003C252C  7E 45 93 78 */	mr r5, r18
/* 803C68D0 003C2530  38 C0 00 3F */	li r6, 0x3f
/* 803C68D4 003C2534  4B FF 92 BD */	bl func_803BFB90
/* 803C68D8 003C2538  2C 03 00 01 */	cmpwi r3, 1
/* 803C68DC 003C253C  40 82 00 20 */	bne lbl_803C68FC
/* 803C68E0 003C2540  80 01 00 38 */	lwz r0, 0x38(r1)
/* 803C68E4 003C2544  2C 00 00 00 */	cmpwi r0, 0
/* 803C68E8 003C2548  41 82 00 14 */	beq lbl_803C68FC
/* 803C68EC 003C254C  1C 6E 00 96 */	mulli r3, r14, 0x96
/* 803C68F0 003C2550  38 00 00 64 */	li r0, 0x64
/* 803C68F4 003C2554  7C 03 03 D6 */	divw r0, r3, r0
/* 803C68F8 003C2558  54 0E 04 3E */	clrlwi r14, r0, 0x10
lbl_803C68FC:
/* 803C68FC 003C255C  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6900 003C2560  28 00 00 39 */	cmplwi r0, 0x39
/* 803C6904 003C2564  40 82 00 34 */	bne lbl_803C6938
/* 803C6908 003C2568  7D E3 7B 78 */	mr r3, r15
/* 803C690C 003C256C  7E 04 83 78 */	mr r4, r16
/* 803C6910 003C2570  7E 26 8B 78 */	mr r6, r17
/* 803C6914 003C2574  38 A0 00 01 */	li r5, 1
/* 803C6918 003C2578  38 E0 00 3A */	li r7, 0x3a
/* 803C691C 003C257C  4B FF 8A 65 */	bl func_803BF380
/* 803C6920 003C2580  2C 03 00 00 */	cmpwi r3, 0
/* 803C6924 003C2584  41 82 00 14 */	beq lbl_803C6938
/* 803C6928 003C2588  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C692C 003C258C  38 00 00 64 */	li r0, 0x64
/* 803C6930 003C2590  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6934 003C2594  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C6938:
/* 803C6938 003C2598  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C693C 003C259C  28 00 00 3A */	cmplwi r0, 0x3a
/* 803C6940 003C25A0  40 82 00 34 */	bne lbl_803C6974
/* 803C6944 003C25A4  7D E3 7B 78 */	mr r3, r15
/* 803C6948 003C25A8  7E 04 83 78 */	mr r4, r16
/* 803C694C 003C25AC  7E 26 8B 78 */	mr r6, r17
/* 803C6950 003C25B0  38 A0 00 01 */	li r5, 1
/* 803C6954 003C25B4  38 E0 00 39 */	li r7, 0x39
/* 803C6958 003C25B8  4B FF 8A 29 */	bl func_803BF380
/* 803C695C 003C25BC  2C 03 00 00 */	cmpwi r3, 0
/* 803C6960 003C25C0  41 82 00 14 */	beq lbl_803C6974
/* 803C6964 003C25C4  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C6968 003C25C8  38 00 00 64 */	li r0, 0x64
/* 803C696C 003C25CC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6970 003C25D0  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C6974:
/* 803C6974 003C25D4  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6978 003C25D8  28 00 00 0D */	cmplwi r0, 0xd
/* 803C697C 003C25DC  40 82 00 20 */	bne lbl_803C699C
/* 803C6980 003C25E0  7D E3 7B 78 */	mr r3, r15
/* 803C6984 003C25E4  7E 04 83 78 */	mr r4, r16
/* 803C6988 003C25E8  3C A0 00 01 */	lis r5, 1
/* 803C698C 003C25EC  4B FF 9A A9 */	bl func_803C0434
/* 803C6990 003C25F0  2C 03 00 00 */	cmpwi r3, 0
/* 803C6994 003C25F4  41 82 00 08 */	beq lbl_803C699C
/* 803C6998 003C25F8  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C699C:
/* 803C699C 003C25FC  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C69A0 003C2600  28 00 00 0A */	cmplwi r0, 0xa
/* 803C69A4 003C2604  40 82 00 20 */	bne lbl_803C69C4
/* 803C69A8 003C2608  7D E3 7B 78 */	mr r3, r15
/* 803C69AC 003C260C  7E 04 83 78 */	mr r4, r16
/* 803C69B0 003C2610  3C A0 00 02 */	lis r5, 2
/* 803C69B4 003C2614  4B FF 9A 81 */	bl func_803C0434
/* 803C69B8 003C2618  2C 03 00 00 */	cmpwi r3, 0
/* 803C69BC 003C261C  41 82 00 08 */	beq lbl_803C69C4
/* 803C69C0 003C2620  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C69C4:
/* 803C69C4 003C2624  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C69C8 003C2628  28 00 00 0C */	cmplwi r0, 0xc
/* 803C69CC 003C262C  40 82 00 3C */	bne lbl_803C6A08
/* 803C69D0 003C2630  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C69D4 003C2634  28 00 00 41 */	cmplwi r0, 0x41
/* 803C69D8 003C2638  40 82 00 30 */	bne lbl_803C6A08
/* 803C69DC 003C263C  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C69E0 003C2640  38 60 00 03 */	li r3, 3
/* 803C69E4 003C2644  7C 60 1B D6 */	divw r3, r0, r3
/* 803C69E8 003C2648  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C69EC 003C264C  7C 00 18 00 */	cmpw r0, r3
/* 803C69F0 003C2650  41 81 00 18 */	bgt lbl_803C6A08
/* 803C69F4 003C2654  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C69F8 003C2658  38 00 00 64 */	li r0, 0x64
/* 803C69FC 003C265C  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C6A00 003C2660  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6A04 003C2664  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6A08:
/* 803C6A08 003C2668  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6A0C 003C266C  28 00 00 0A */	cmplwi r0, 0xa
/* 803C6A10 003C2670  40 82 00 3C */	bne lbl_803C6A4C
/* 803C6A14 003C2674  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6A18 003C2678  28 00 00 42 */	cmplwi r0, 0x42
/* 803C6A1C 003C267C  40 82 00 30 */	bne lbl_803C6A4C
/* 803C6A20 003C2680  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C6A24 003C2684  38 60 00 03 */	li r3, 3
/* 803C6A28 003C2688  7C 60 1B D6 */	divw r3, r0, r3
/* 803C6A2C 003C268C  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C6A30 003C2690  7C 00 18 00 */	cmpw r0, r3
/* 803C6A34 003C2694  41 81 00 18 */	bgt lbl_803C6A4C
/* 803C6A38 003C2698  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6A3C 003C269C  38 00 00 64 */	li r0, 0x64
/* 803C6A40 003C26A0  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C6A44 003C26A4  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6A48 003C26A8  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6A4C:
/* 803C6A4C 003C26AC  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6A50 003C26B0  28 00 00 0B */	cmplwi r0, 0xb
/* 803C6A54 003C26B4  40 82 00 3C */	bne lbl_803C6A90
/* 803C6A58 003C26B8  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6A5C 003C26BC  28 00 00 43 */	cmplwi r0, 0x43
/* 803C6A60 003C26C0  40 82 00 30 */	bne lbl_803C6A90
/* 803C6A64 003C26C4  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C6A68 003C26C8  38 60 00 03 */	li r3, 3
/* 803C6A6C 003C26CC  7C 60 1B D6 */	divw r3, r0, r3
/* 803C6A70 003C26D0  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C6A74 003C26D4  7C 00 18 00 */	cmpw r0, r3
/* 803C6A78 003C26D8  41 81 00 18 */	bgt lbl_803C6A90
/* 803C6A7C 003C26DC  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6A80 003C26E0  38 00 00 64 */	li r0, 0x64
/* 803C6A84 003C26E4  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C6A88 003C26E8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6A8C 003C26EC  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6A90:
/* 803C6A90 003C26F0  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6A94 003C26F4  28 00 00 06 */	cmplwi r0, 6
/* 803C6A98 003C26F8  40 82 00 3C */	bne lbl_803C6AD4
/* 803C6A9C 003C26FC  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6AA0 003C2700  28 00 00 44 */	cmplwi r0, 0x44
/* 803C6AA4 003C2704  40 82 00 30 */	bne lbl_803C6AD4
/* 803C6AA8 003C2708  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C6AAC 003C270C  38 60 00 03 */	li r3, 3
/* 803C6AB0 003C2710  7C 60 1B D6 */	divw r3, r0, r3
/* 803C6AB4 003C2714  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C6AB8 003C2718  7C 00 18 00 */	cmpw r0, r3
/* 803C6ABC 003C271C  41 81 00 18 */	bgt lbl_803C6AD4
/* 803C6AC0 003C2720  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6AC4 003C2724  38 00 00 64 */	li r0, 0x64
/* 803C6AC8 003C2728  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C6ACC 003C272C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6AD0 003C2730  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6AD4:
/* 803C6AD4 003C2734  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6AD8 003C2738  28 00 00 0A */	cmplwi r0, 0xa
/* 803C6ADC 003C273C  40 82 00 24 */	bne lbl_803C6B00
/* 803C6AE0 003C2740  7E 03 83 78 */	mr r3, r16
/* 803C6AE4 003C2744  7E 24 8B 78 */	mr r4, r17
/* 803C6AE8 003C2748  7E 45 93 78 */	mr r5, r18
/* 803C6AEC 003C274C  38 C0 00 55 */	li r6, 0x55
/* 803C6AF0 003C2750  4B FF 90 A1 */	bl func_803BFB90
/* 803C6AF4 003C2754  2C 03 00 01 */	cmpwi r3, 1
/* 803C6AF8 003C2758  40 82 00 08 */	bne lbl_803C6B00
/* 803C6AFC 003C275C  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C6B00:
/* 803C6B00 003C2760  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C6B04 003C2764  28 00 00 0A */	cmplwi r0, 0xa
/* 803C6B08 003C2768  40 82 00 34 */	bne lbl_803C6B3C
/* 803C6B0C 003C276C  7E 03 83 78 */	mr r3, r16
/* 803C6B10 003C2770  7E 24 8B 78 */	mr r4, r17
/* 803C6B14 003C2774  7E 45 93 78 */	mr r5, r18
/* 803C6B18 003C2778  38 C0 00 57 */	li r6, 0x57
/* 803C6B1C 003C277C  4B FF 90 75 */	bl func_803BFB90
/* 803C6B20 003C2780  2C 03 00 01 */	cmpwi r3, 1
/* 803C6B24 003C2784  40 82 00 18 */	bne lbl_803C6B3C
/* 803C6B28 003C2788  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6B2C 003C278C  38 00 00 64 */	li r0, 0x64
/* 803C6B30 003C2790  1C 63 00 7D */	mulli r3, r3, 0x7d
/* 803C6B34 003C2794  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6B38 003C2798  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6B3C:
/* 803C6B3C 003C279C  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6B40 003C27A0  28 00 00 56 */	cmplwi r0, 0x56
/* 803C6B44 003C27A4  40 82 00 44 */	bne lbl_803C6B88
/* 803C6B48 003C27A8  56 C0 08 3C */	slwi r0, r22, 1
/* 803C6B4C 003C27AC  7C 16 07 74 */	extsb r22, r0
/* 803C6B50 003C27B0  2C 16 FF FA */	cmpwi r22, -6
/* 803C6B54 003C27B4  40 80 00 08 */	bge lbl_803C6B5C
/* 803C6B58 003C27B8  3A C0 FF FA */	li r22, -6
lbl_803C6B5C:
/* 803C6B5C 003C27BC  2C 16 00 06 */	cmpwi r22, 6
/* 803C6B60 003C27C0  40 81 00 08 */	ble lbl_803C6B68
/* 803C6B64 003C27C4  3A C0 00 06 */	li r22, 6
lbl_803C6B68:
/* 803C6B68 003C27C8  56 80 08 3C */	slwi r0, r20, 1
/* 803C6B6C 003C27CC  7C 14 07 74 */	extsb r20, r0
/* 803C6B70 003C27D0  2C 14 FF FA */	cmpwi r20, -6
/* 803C6B74 003C27D4  40 80 00 08 */	bge lbl_803C6B7C
/* 803C6B78 003C27D8  3A 80 FF FA */	li r20, -6
lbl_803C6B7C:
/* 803C6B7C 003C27DC  2C 14 00 06 */	cmpwi r20, 6
/* 803C6B80 003C27E0  40 81 00 08 */	ble lbl_803C6B88
/* 803C6B84 003C27E4  3A 80 00 06 */	li r20, 6
lbl_803C6B88:
/* 803C6B88 003C27E8  7E 03 83 78 */	mr r3, r16
/* 803C6B8C 003C27EC  7E 24 8B 78 */	mr r4, r17
/* 803C6B90 003C27F0  7E 45 93 78 */	mr r5, r18
/* 803C6B94 003C27F4  38 C0 00 56 */	li r6, 0x56
/* 803C6B98 003C27F8  4B FF 8F F9 */	bl func_803BFB90
/* 803C6B9C 003C27FC  2C 03 00 01 */	cmpwi r3, 1
/* 803C6BA0 003C2800  40 82 00 44 */	bne lbl_803C6BE4
/* 803C6BA4 003C2804  56 A0 08 3C */	slwi r0, r21, 1
/* 803C6BA8 003C2808  7C 15 07 74 */	extsb r21, r0
/* 803C6BAC 003C280C  2C 15 FF FA */	cmpwi r21, -6
/* 803C6BB0 003C2810  40 80 00 08 */	bge lbl_803C6BB8
/* 803C6BB4 003C2814  3A A0 FF FA */	li r21, -6
lbl_803C6BB8:
/* 803C6BB8 003C2818  2C 15 00 06 */	cmpwi r21, 6
/* 803C6BBC 003C281C  40 81 00 08 */	ble lbl_803C6BC4
/* 803C6BC0 003C2820  3A A0 00 06 */	li r21, 6
lbl_803C6BC4:
/* 803C6BC4 003C2824  56 60 08 3C */	slwi r0, r19, 1
/* 803C6BC8 003C2828  7C 13 07 74 */	extsb r19, r0
/* 803C6BCC 003C282C  2C 13 FF FA */	cmpwi r19, -6
/* 803C6BD0 003C2830  40 80 00 08 */	bge lbl_803C6BD8
/* 803C6BD4 003C2834  3A 60 FF FA */	li r19, -6
lbl_803C6BD8:
/* 803C6BD8 003C2838  2C 13 00 06 */	cmpwi r19, 6
/* 803C6BDC 003C283C  40 81 00 08 */	ble lbl_803C6BE4
/* 803C6BE0 003C2840  3A 60 00 06 */	li r19, 6
lbl_803C6BE4:
/* 803C6BE4 003C2844  7E 03 83 78 */	mr r3, r16
/* 803C6BE8 003C2848  7E 24 8B 78 */	mr r4, r17
/* 803C6BEC 003C284C  7E 45 93 78 */	mr r5, r18
/* 803C6BF0 003C2850  38 C0 00 6D */	li r6, 0x6d
/* 803C6BF4 003C2854  4B FF 8F 9D */	bl func_803BFB90
/* 803C6BF8 003C2858  2C 03 00 01 */	cmpwi r3, 1
/* 803C6BFC 003C285C  40 82 00 0C */	bne lbl_803C6C08
/* 803C6C00 003C2860  3A C0 00 00 */	li r22, 0
/* 803C6C04 003C2864  3A 80 00 00 */	li r20, 0
lbl_803C6C08:
/* 803C6C08 003C2868  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6C0C 003C286C  28 00 00 6D */	cmplwi r0, 0x6d
/* 803C6C10 003C2870  40 82 00 0C */	bne lbl_803C6C1C
/* 803C6C14 003C2874  3A A0 00 00 */	li r21, 0
/* 803C6C18 003C2878  3A 60 00 00 */	li r19, 0
lbl_803C6C1C:
/* 803C6C1C 003C287C  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6C20 003C2880  38 B6 00 06 */	addi r5, r22, 6
/* 803C6C24 003C2884  28 00 00 4F */	cmplwi r0, 0x4f
/* 803C6C28 003C2888  38 95 00 06 */	addi r4, r21, 6
/* 803C6C2C 003C288C  38 74 00 06 */	addi r3, r20, 6
/* 803C6C30 003C2890  38 13 00 06 */	addi r0, r19, 6
/* 803C6C34 003C2894  7C B6 07 74 */	extsb r22, r5
/* 803C6C38 003C2898  7C 95 07 74 */	extsb r21, r4
/* 803C6C3C 003C289C  7C 74 07 74 */	extsb r20, r3
/* 803C6C40 003C28A0  7C 13 07 74 */	extsb r19, r0
/* 803C6C44 003C28A4  40 82 00 40 */	bne lbl_803C6C84
/* 803C6C48 003C28A8  88 61 00 1F */	lbz r3, 0x1f(r1)
/* 803C6C4C 003C28AC  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C6C50 003C28B0  7C 03 00 40 */	cmplw r3, r0
/* 803C6C54 003C28B4  40 82 00 30 */	bne lbl_803C6C84
/* 803C6C58 003C28B8  7C 60 1B 78 */	mr r0, r3
/* 803C6C5C 003C28BC  28 00 00 02 */	cmplwi r0, 2
/* 803C6C60 003C28C0  41 82 00 24 */	beq lbl_803C6C84
/* 803C6C64 003C28C4  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C6C68 003C28C8  28 00 00 02 */	cmplwi r0, 2
/* 803C6C6C 003C28CC  41 82 00 18 */	beq lbl_803C6C84
/* 803C6C70 003C28D0  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6C74 003C28D4  38 00 00 64 */	li r0, 0x64
/* 803C6C78 003C28D8  1C 63 00 7D */	mulli r3, r3, 0x7d
/* 803C6C7C 003C28DC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6C80 003C28E0  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6C84:
/* 803C6C84 003C28E4  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6C88 003C28E8  28 00 00 4F */	cmplwi r0, 0x4f
/* 803C6C8C 003C28EC  40 82 00 40 */	bne lbl_803C6CCC
/* 803C6C90 003C28F0  88 61 00 1F */	lbz r3, 0x1f(r1)
/* 803C6C94 003C28F4  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C6C98 003C28F8  7C 03 00 40 */	cmplw r3, r0
/* 803C6C9C 003C28FC  41 82 00 30 */	beq lbl_803C6CCC
/* 803C6CA0 003C2900  7C 60 1B 78 */	mr r0, r3
/* 803C6CA4 003C2904  28 00 00 02 */	cmplwi r0, 2
/* 803C6CA8 003C2908  41 82 00 24 */	beq lbl_803C6CCC
/* 803C6CAC 003C290C  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C6CB0 003C2910  28 00 00 02 */	cmplwi r0, 2
/* 803C6CB4 003C2914  41 82 00 18 */	beq lbl_803C6CCC
/* 803C6CB8 003C2918  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6CBC 003C291C  38 00 00 64 */	li r0, 0x64
/* 803C6CC0 003C2920  1C 63 00 4B */	mulli r3, r3, 0x4b
/* 803C6CC4 003C2924  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6CC8 003C2928  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C6CCC:
/* 803C6CCC 003C292C  38 00 00 0F */	li r0, 0xf
/* 803C6CD0 003C2930  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 803C6CD4 003C2934  38 DE 01 D4 */	addi r6, r30, 0x1d4
/* 803C6CD8 003C2938  38 60 00 00 */	li r3, 0
/* 803C6CDC 003C293C  7C 09 03 A6 */	mtctr r0
lbl_803C6CE0:
/* 803C6CE0 003C2940  7C A6 1A 2E */	lhzx r5, r6, r3
/* 803C6CE4 003C2944  80 01 00 08 */	lwz r0, 8(r1)
/* 803C6CE8 003C2948  7C 00 28 00 */	cmpw r0, r5
/* 803C6CEC 003C294C  40 82 00 24 */	bne lbl_803C6D10
/* 803C6CF0 003C2950  28 04 00 59 */	cmplwi r4, 0x59
/* 803C6CF4 003C2954  40 82 00 1C */	bne lbl_803C6D10
/* 803C6CF8 003C2958  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C6CFC 003C295C  38 00 00 0A */	li r0, 0xa
/* 803C6D00 003C2960  1C 63 00 0C */	mulli r3, r3, 0xc
/* 803C6D04 003C2964  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6D08 003C2968  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C6D0C 003C296C  48 00 00 0C */	b lbl_803C6D18
lbl_803C6D10:
/* 803C6D10 003C2970  38 63 00 02 */	addi r3, r3, 2
/* 803C6D14 003C2974  42 00 FF CC */	bdnz lbl_803C6CE0
lbl_803C6D18:
/* 803C6D18 003C2978  7D E3 7B 78 */	mr r3, r15
/* 803C6D1C 003C297C  7E 04 83 78 */	mr r4, r16
/* 803C6D20 003C2980  38 A0 00 08 */	li r5, 8
/* 803C6D24 003C2984  38 C0 00 00 */	li r6, 0
/* 803C6D28 003C2988  38 E0 00 0D */	li r7, 0xd
/* 803C6D2C 003C298C  4B FF 86 55 */	bl func_803BF380
/* 803C6D30 003C2990  2C 03 00 00 */	cmpwi r3, 0
/* 803C6D34 003C2994  40 82 01 0C */	bne lbl_803C6E40
/* 803C6D38 003C2998  7D E3 7B 78 */	mr r3, r15
/* 803C6D3C 003C299C  7E 04 83 78 */	mr r4, r16
/* 803C6D40 003C29A0  38 A0 00 08 */	li r5, 8
/* 803C6D44 003C29A4  38 C0 00 00 */	li r6, 0
/* 803C6D48 003C29A8  38 E0 00 4C */	li r7, 0x4c
/* 803C6D4C 003C29AC  4B FF 86 35 */	bl func_803BF380
/* 803C6D50 003C29B0  2C 03 00 00 */	cmpwi r3, 0
/* 803C6D54 003C29B4  40 82 00 EC */	bne lbl_803C6E40
/* 803C6D58 003C29B8  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C6D5C 003C29BC  54 1D 06 B7 */	rlwinm. r29, r0, 0, 0x1a, 0x1b
/* 803C6D60 003C29C0  41 82 00 20 */	beq lbl_803C6D80
/* 803C6D64 003C29C4  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C6D68 003C29C8  28 00 00 5E */	cmplwi r0, 0x5e
/* 803C6D6C 003C29CC  40 82 00 14 */	bne lbl_803C6D80
/* 803C6D70 003C29D0  1C 78 00 0F */	mulli r3, r24, 0xf
/* 803C6D74 003C29D4  38 00 00 0A */	li r0, 0xa
/* 803C6D78 003C29D8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6D7C 003C29DC  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C6D80:
/* 803C6D80 003C29E0  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C6D84 003C29E4  54 00 07 3B */	rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 803C6D88 003C29E8  41 82 00 2C */	beq lbl_803C6DB4
/* 803C6D8C 003C29EC  88 01 00 1D */	lbz r0, 0x1d(r1)
/* 803C6D90 003C29F0  28 00 00 05 */	cmplwi r0, 5
/* 803C6D94 003C29F4  41 82 00 10 */	beq lbl_803C6DA4
/* 803C6D98 003C29F8  88 01 00 1C */	lbz r0, 0x1c(r1)
/* 803C6D9C 003C29FC  28 00 00 05 */	cmplwi r0, 5
/* 803C6DA0 003C2A00  40 82 00 14 */	bne lbl_803C6DB4
lbl_803C6DA4:
/* 803C6DA4 003C2A04  1C 77 00 0F */	mulli r3, r23, 0xf
/* 803C6DA8 003C2A08  38 00 00 0A */	li r0, 0xa
/* 803C6DAC 003C2A0C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6DB0 003C2A10  54 17 04 3E */	clrlwi r23, r0, 0x10
lbl_803C6DB4:
/* 803C6DB4 003C2A14  2C 1D 00 00 */	cmpwi r29, 0
/* 803C6DB8 003C2A18  41 82 00 38 */	beq lbl_803C6DF0
/* 803C6DBC 003C2A1C  7D E3 7B 78 */	mr r3, r15
/* 803C6DC0 003C2A20  7E 04 83 78 */	mr r4, r16
/* 803C6DC4 003C2A24  7E 26 8B 78 */	mr r6, r17
/* 803C6DC8 003C2A28  38 A0 00 01 */	li r5, 1
/* 803C6DCC 003C2A2C  38 E0 00 7A */	li r7, 0x7a
/* 803C6DD0 003C2A30  4B FF 85 B1 */	bl func_803BF380
/* 803C6DD4 003C2A34  2C 03 00 00 */	cmpwi r3, 0
/* 803C6DD8 003C2A38  41 82 00 18 */	beq lbl_803C6DF0
/* 803C6DDC 003C2A3C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C6DE0 003C2A40  38 00 00 0A */	li r0, 0xa
/* 803C6DE4 003C2A44  1C 63 00 0F */	mulli r3, r3, 0xf
/* 803C6DE8 003C2A48  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6DEC 003C2A4C  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C6DF0:
/* 803C6DF0 003C2A50  2C 1D 00 00 */	cmpwi r29, 0
/* 803C6DF4 003C2A54  41 82 00 4C */	beq lbl_803C6E40
/* 803C6DF8 003C2A58  7E 03 83 78 */	mr r3, r16
/* 803C6DFC 003C2A5C  7E 24 8B 78 */	mr r4, r17
/* 803C6E00 003C2A60  4B FF 8D 19 */	bl func_803BFB18
/* 803C6E04 003C2A64  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C6E08 003C2A68  28 00 00 68 */	cmplwi r0, 0x68
/* 803C6E0C 003C2A6C  41 82 00 34 */	beq lbl_803C6E40
/* 803C6E10 003C2A70  7D E3 7B 78 */	mr r3, r15
/* 803C6E14 003C2A74  7E 04 83 78 */	mr r4, r16
/* 803C6E18 003C2A78  7E 46 93 78 */	mr r6, r18
/* 803C6E1C 003C2A7C  38 A0 00 01 */	li r5, 1
/* 803C6E20 003C2A80  38 E0 00 7A */	li r7, 0x7a
/* 803C6E24 003C2A84  4B FF 85 5D */	bl func_803BF380
/* 803C6E28 003C2A88  2C 03 00 00 */	cmpwi r3, 0
/* 803C6E2C 003C2A8C  41 82 00 14 */	beq lbl_803C6E40
/* 803C6E30 003C2A90  1C 77 00 0F */	mulli r3, r23, 0xf
/* 803C6E34 003C2A94  38 00 00 0A */	li r0, 0xa
/* 803C6E38 003C2A98  7C 03 03 D6 */	divw r0, r3, r0
/* 803C6E3C 003C2A9C  54 17 04 3E */	clrlwi r23, r0, 0x10
lbl_803C6E40:
/* 803C6E40 003C2AA0  80 01 00 18 */	lwz r0, 0x18(r1)
/* 803C6E44 003C2AA4  7C 70 02 14 */	add r3, r16, r0
/* 803C6E48 003C2AA8  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803C6E4C 003C2AAC  28 00 00 07 */	cmplwi r0, 7
/* 803C6E50 003C2AB0  40 82 00 08 */	bne lbl_803C6E58
/* 803C6E54 003C2AB4  55 CE FC 7E */	rlwinm r14, r14, 0x1f, 0x11, 0x1f
lbl_803C6E58:
/* 803C6E58 003C2AB8  88 61 00 15 */	lbz r3, 0x15(r1)
/* 803C6E5C 003C2ABC  2C 03 00 00 */	cmpwi r3, 0
/* 803C6E60 003C2AC0  40 82 01 78 */	bne lbl_803C6FD8
/* 803C6E64 003C2AC4  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C6E68 003C2AC8  28 03 00 01 */	cmplwi r3, 1
/* 803C6E6C 003C2ACC  40 81 00 38 */	ble lbl_803C6EA4
/* 803C6E70 003C2AD0  2C 16 00 06 */	cmpwi r22, 6
/* 803C6E74 003C2AD4  40 81 00 28 */	ble lbl_803C6E9C
/* 803C6E78 003C2AD8  56 C6 08 3C */	slwi r6, r22, 1
/* 803C6E7C 003C2ADC  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C6E80 003C2AE0  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C6E84 003C2AE4  57 25 04 3E */	clrlwi r5, r25, 0x10
/* 803C6E88 003C2AE8  7C 63 32 14 */	add r3, r3, r6
/* 803C6E8C 003C2AEC  7F 65 21 D6 */	mullw r27, r5, r4
/* 803C6E90 003C2AF0  88 63 00 01 */	lbz r3, 1(r3)
/* 803C6E94 003C2AF4  7F 7B 1B D6 */	divw r27, r27, r3
/* 803C6E98 003C2AF8  48 00 00 2C */	b lbl_803C6EC4
lbl_803C6E9C:
/* 803C6E9C 003C2AFC  57 3B 04 3E */	clrlwi r27, r25, 0x10
/* 803C6EA0 003C2B00  48 00 00 24 */	b lbl_803C6EC4
lbl_803C6EA4:
/* 803C6EA4 003C2B04  56 C6 08 3C */	slwi r6, r22, 1
/* 803C6EA8 003C2B08  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C6EAC 003C2B0C  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C6EB0 003C2B10  57 25 04 3E */	clrlwi r5, r25, 0x10
/* 803C6EB4 003C2B14  7C 63 32 14 */	add r3, r3, r6
/* 803C6EB8 003C2B18  7F 65 21 D6 */	mullw r27, r5, r4
/* 803C6EBC 003C2B1C  88 63 00 01 */	lbz r3, 1(r3)
/* 803C6EC0 003C2B20  7F 7B 1B D6 */	divw r27, r27, r3
lbl_803C6EC4:
/* 803C6EC4 003C2B24  80 61 00 30 */	lwz r3, 0x30(r1)
/* 803C6EC8 003C2B28  57 85 04 3E */	clrlwi r5, r28, 0x10
/* 803C6ECC 003C2B2C  7F 7B 29 D6 */	mullw r27, r27, r5
/* 803C6ED0 003C2B30  54 64 0D FC */	rlwinm r4, r3, 1, 0x17, 0x1e
/* 803C6ED4 003C2B34  38 60 00 05 */	li r3, 5
/* 803C6ED8 003C2B38  7C 84 1B D6 */	divw r4, r4, r3
/* 803C6EDC 003C2B3C  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C6EE0 003C2B40  28 03 00 01 */	cmplwi r3, 1
/* 803C6EE4 003C2B44  38 64 00 02 */	addi r3, r4, 2
/* 803C6EE8 003C2B48  7F 7B 19 D6 */	mullw r27, r27, r3
/* 803C6EEC 003C2B4C  40 81 00 38 */	ble lbl_803C6F24
/* 803C6EF0 003C2B50  2C 15 00 06 */	cmpwi r21, 6
/* 803C6EF4 003C2B54  40 80 00 28 */	bge lbl_803C6F1C
/* 803C6EF8 003C2B58  56 A6 08 3C */	slwi r6, r21, 1
/* 803C6EFC 003C2B5C  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C6F00 003C2B60  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C6F04 003C2B64  55 C5 04 3E */	clrlwi r5, r14, 0x10
/* 803C6F08 003C2B68  7C 63 32 14 */	add r3, r3, r6
/* 803C6F0C 003C2B6C  7C 85 21 D6 */	mullw r4, r5, r4
/* 803C6F10 003C2B70  88 63 00 01 */	lbz r3, 1(r3)
/* 803C6F14 003C2B74  7C 84 1B D6 */	divw r4, r4, r3
/* 803C6F18 003C2B78  48 00 00 2C */	b lbl_803C6F44
lbl_803C6F1C:
/* 803C6F1C 003C2B7C  55 C4 04 3E */	clrlwi r4, r14, 0x10
/* 803C6F20 003C2B80  48 00 00 24 */	b lbl_803C6F44
lbl_803C6F24:
/* 803C6F24 003C2B84  56 A6 08 3C */	slwi r6, r21, 1
/* 803C6F28 003C2B88  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C6F2C 003C2B8C  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C6F30 003C2B90  55 C5 04 3E */	clrlwi r5, r14, 0x10
/* 803C6F34 003C2B94  7C 63 32 14 */	add r3, r3, r6
/* 803C6F38 003C2B98  7C 85 21 D6 */	mullw r4, r5, r4
/* 803C6F3C 003C2B9C  88 63 00 01 */	lbz r3, 1(r3)
/* 803C6F40 003C2BA0  7C 84 1B D6 */	divw r4, r4, r3
lbl_803C6F44:
/* 803C6F44 003C2BA4  7F 7B 23 D6 */	divw r27, r27, r4
/* 803C6F48 003C2BA8  38 80 00 32 */	li r4, 0x32
/* 803C6F4C 003C2BAC  80 61 00 34 */	lwz r3, 0x34(r1)
/* 803C6F50 003C2BB0  54 63 06 F7 */	rlwinm. r3, r3, 0, 0x1b, 0x1b
/* 803C6F54 003C2BB4  7F 7B 23 D6 */	divw r27, r27, r4
/* 803C6F58 003C2BB8  41 82 00 18 */	beq lbl_803C6F70
/* 803C6F5C 003C2BBC  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 803C6F60 003C2BC0  28 03 00 3E */	cmplwi r3, 0x3e
/* 803C6F64 003C2BC4  41 82 00 0C */	beq lbl_803C6F70
/* 803C6F68 003C2BC8  7F 63 0E 70 */	srawi r3, r27, 1
/* 803C6F6C 003C2BCC  7F 63 01 94 */	addze r27, r3
lbl_803C6F70:
/* 803C6F70 003C2BD0  80 61 00 0C */	lwz r3, 0xc(r1)
/* 803C6F74 003C2BD4  54 63 07 FF */	clrlwi. r3, r3, 0x1f
/* 803C6F78 003C2BD8  41 82 01 A4 */	beq lbl_803C711C
/* 803C6F7C 003C2BDC  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C6F80 003C2BE0  28 03 00 01 */	cmplwi r3, 1
/* 803C6F84 003C2BE4  40 82 01 98 */	bne lbl_803C711C
/* 803C6F88 003C2BE8  28 00 00 BA */	cmplwi r0, 0xba
/* 803C6F8C 003C2BEC  41 82 01 90 */	beq lbl_803C711C
/* 803C6F90 003C2BF0  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C6F94 003C2BF4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803C6F98 003C2BF8  41 82 00 34 */	beq lbl_803C6FCC
/* 803C6F9C 003C2BFC  7D E3 7B 78 */	mr r3, r15
/* 803C6FA0 003C2C00  7E 04 83 78 */	mr r4, r16
/* 803C6FA4 003C2C04  7E 46 93 78 */	mr r6, r18
/* 803C6FA8 003C2C08  38 A0 00 01 */	li r5, 1
/* 803C6FAC 003C2C0C  4B FF 82 7D */	bl func_803BF228
/* 803C6FB0 003C2C10  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C6FB4 003C2C14  28 00 00 02 */	cmplwi r0, 2
/* 803C6FB8 003C2C18  40 82 00 14 */	bne lbl_803C6FCC
/* 803C6FBC 003C2C1C  57 63 08 3C */	slwi r3, r27, 1
/* 803C6FC0 003C2C20  38 00 00 03 */	li r0, 3
/* 803C6FC4 003C2C24  7F 63 03 D6 */	divw r27, r3, r0
/* 803C6FC8 003C2C28  48 00 01 54 */	b lbl_803C711C
lbl_803C6FCC:
/* 803C6FCC 003C2C2C  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C6FD0 003C2C30  7F 60 01 94 */	addze r27, r0
/* 803C6FD4 003C2C34  48 00 01 48 */	b lbl_803C711C
lbl_803C6FD8:
/* 803C6FD8 003C2C38  28 03 00 01 */	cmplwi r3, 1
/* 803C6FDC 003C2C3C  40 82 01 40 */	bne lbl_803C711C
/* 803C6FE0 003C2C40  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C6FE4 003C2C44  28 03 00 01 */	cmplwi r3, 1
/* 803C6FE8 003C2C48  40 81 00 34 */	ble lbl_803C701C
/* 803C6FEC 003C2C4C  2C 14 00 06 */	cmpwi r20, 6
/* 803C6FF0 003C2C50  40 81 00 24 */	ble lbl_803C7014
/* 803C6FF4 003C2C54  56 85 08 3C */	slwi r5, r20, 1
/* 803C6FF8 003C2C58  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C6FFC 003C2C5C  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C7000 003C2C60  7C 63 2A 14 */	add r3, r3, r5
/* 803C7004 003C2C64  88 63 00 01 */	lbz r3, 1(r3)
/* 803C7008 003C2C68  7F 78 21 D6 */	mullw r27, r24, r4
/* 803C700C 003C2C6C  7F 7B 1B D6 */	divw r27, r27, r3
/* 803C7010 003C2C70  48 00 00 28 */	b lbl_803C7038
lbl_803C7014:
/* 803C7014 003C2C74  7F 1B C3 78 */	mr r27, r24
/* 803C7018 003C2C78  48 00 00 20 */	b lbl_803C7038
lbl_803C701C:
/* 803C701C 003C2C7C  56 85 08 3C */	slwi r5, r20, 1
/* 803C7020 003C2C80  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C7024 003C2C84  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C7028 003C2C88  7C 63 2A 14 */	add r3, r3, r5
/* 803C702C 003C2C8C  88 63 00 01 */	lbz r3, 1(r3)
/* 803C7030 003C2C90  7F 78 21 D6 */	mullw r27, r24, r4
/* 803C7034 003C2C94  7F 7B 1B D6 */	divw r27, r27, r3
lbl_803C7038:
/* 803C7038 003C2C98  80 61 00 30 */	lwz r3, 0x30(r1)
/* 803C703C 003C2C9C  57 85 04 3E */	clrlwi r5, r28, 0x10
/* 803C7040 003C2CA0  7F 7B 29 D6 */	mullw r27, r27, r5
/* 803C7044 003C2CA4  54 64 0D FC */	rlwinm r4, r3, 1, 0x17, 0x1e
/* 803C7048 003C2CA8  38 60 00 05 */	li r3, 5
/* 803C704C 003C2CAC  7C 84 1B D6 */	divw r4, r4, r3
/* 803C7050 003C2CB0  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C7054 003C2CB4  28 03 00 01 */	cmplwi r3, 1
/* 803C7058 003C2CB8  38 64 00 02 */	addi r3, r4, 2
/* 803C705C 003C2CBC  7F 7B 19 D6 */	mullw r27, r27, r3
/* 803C7060 003C2CC0  40 81 00 30 */	ble lbl_803C7090
/* 803C7064 003C2CC4  2C 13 00 06 */	cmpwi r19, 6
/* 803C7068 003C2CC8  40 80 00 44 */	bge lbl_803C70AC
/* 803C706C 003C2CCC  56 65 08 3C */	slwi r5, r19, 1
/* 803C7070 003C2CD0  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C7074 003C2CD4  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C7078 003C2CD8  7C 63 2A 14 */	add r3, r3, r5
/* 803C707C 003C2CDC  88 63 00 01 */	lbz r3, 1(r3)
/* 803C7080 003C2CE0  7E F7 21 D6 */	mullw r23, r23, r4
/* 803C7084 003C2CE4  7E F7 1B D6 */	divw r23, r23, r3
/* 803C7088 003C2CE8  48 00 00 24 */	b lbl_803C70AC
/* 803C708C 003C2CEC  48 00 00 20 */	b lbl_803C70AC
lbl_803C7090:
/* 803C7090 003C2CF0  56 65 08 3C */	slwi r5, r19, 1
/* 803C7094 003C2CF4  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C7098 003C2CF8  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C709C 003C2CFC  7C 63 2A 14 */	add r3, r3, r5
/* 803C70A0 003C2D00  88 63 00 01 */	lbz r3, 1(r3)
/* 803C70A4 003C2D04  7E F7 21 D6 */	mullw r23, r23, r4
/* 803C70A8 003C2D08  7E F7 1B D6 */	divw r23, r23, r3
lbl_803C70AC:
/* 803C70AC 003C2D0C  7F 7B BB D6 */	divw r27, r27, r23
/* 803C70B0 003C2D10  38 80 00 32 */	li r4, 0x32
/* 803C70B4 003C2D14  80 61 00 0C */	lwz r3, 0xc(r1)
/* 803C70B8 003C2D18  54 63 07 BD */	rlwinm. r3, r3, 0, 0x1e, 0x1e
/* 803C70BC 003C2D1C  7F 7B 23 D6 */	divw r27, r27, r4
/* 803C70C0 003C2D20  41 82 00 5C */	beq lbl_803C711C
/* 803C70C4 003C2D24  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C70C8 003C2D28  28 03 00 01 */	cmplwi r3, 1
/* 803C70CC 003C2D2C  40 82 00 50 */	bne lbl_803C711C
/* 803C70D0 003C2D30  28 00 00 BA */	cmplwi r0, 0xba
/* 803C70D4 003C2D34  41 82 00 48 */	beq lbl_803C711C
/* 803C70D8 003C2D38  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C70DC 003C2D3C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803C70E0 003C2D40  41 82 00 34 */	beq lbl_803C7114
/* 803C70E4 003C2D44  7D E3 7B 78 */	mr r3, r15
/* 803C70E8 003C2D48  7E 04 83 78 */	mr r4, r16
/* 803C70EC 003C2D4C  7E 46 93 78 */	mr r6, r18
/* 803C70F0 003C2D50  38 A0 00 01 */	li r5, 1
/* 803C70F4 003C2D54  4B FF 81 35 */	bl func_803BF228
/* 803C70F8 003C2D58  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C70FC 003C2D5C  28 00 00 02 */	cmplwi r0, 2
/* 803C7100 003C2D60  40 82 00 14 */	bne lbl_803C7114
/* 803C7104 003C2D64  57 63 08 3C */	slwi r3, r27, 1
/* 803C7108 003C2D68  38 00 00 03 */	li r0, 3
/* 803C710C 003C2D6C  7F 63 03 D6 */	divw r27, r3, r0
/* 803C7110 003C2D70  48 00 00 0C */	b lbl_803C711C
lbl_803C7114:
/* 803C7114 003C2D74  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C7118 003C2D78  7F 60 01 94 */	addze r27, r0
lbl_803C711C:
/* 803C711C 003C2D7C  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C7120 003C2D80  54 0E 07 BD */	rlwinm. r14, r0, 0, 0x1e, 0x1e
/* 803C7124 003C2D84  41 82 00 44 */	beq lbl_803C7168
/* 803C7128 003C2D88  80 01 00 18 */	lwz r0, 0x18(r1)
/* 803C712C 003C2D8C  7C 70 02 14 */	add r3, r16, r0
/* 803C7130 003C2D90  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803C7134 003C2D94  28 00 00 04 */	cmplwi r0, 4
/* 803C7138 003C2D98  40 82 00 30 */	bne lbl_803C7168
/* 803C713C 003C2D9C  7D E3 7B 78 */	mr r3, r15
/* 803C7140 003C2DA0  7E 04 83 78 */	mr r4, r16
/* 803C7144 003C2DA4  7E 46 93 78 */	mr r6, r18
/* 803C7148 003C2DA8  38 A0 00 01 */	li r5, 1
/* 803C714C 003C2DAC  4B FF 80 DD */	bl func_803BF228
/* 803C7150 003C2DB0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C7154 003C2DB4  28 00 00 02 */	cmplwi r0, 2
/* 803C7158 003C2DB8  40 82 00 10 */	bne lbl_803C7168
/* 803C715C 003C2DBC  1C 1B 00 03 */	mulli r0, r27, 3
/* 803C7160 003C2DC0  7C 00 16 70 */	srawi r0, r0, 2
/* 803C7164 003C2DC4  7F 60 01 94 */	addze r27, r0
lbl_803C7168:
/* 803C7168 003C2DC8  2C 0E 00 00 */	cmpwi r14, 0
/* 803C716C 003C2DCC  41 82 00 44 */	beq lbl_803C71B0
/* 803C7170 003C2DD0  80 01 00 18 */	lwz r0, 0x18(r1)
/* 803C7174 003C2DD4  7C 70 02 14 */	add r3, r16, r0
/* 803C7178 003C2DD8  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803C717C 003C2DDC  28 00 00 08 */	cmplwi r0, 8
/* 803C7180 003C2DE0  40 82 00 30 */	bne lbl_803C71B0
/* 803C7184 003C2DE4  7D E3 7B 78 */	mr r3, r15
/* 803C7188 003C2DE8  7E 04 83 78 */	mr r4, r16
/* 803C718C 003C2DEC  7E 46 93 78 */	mr r6, r18
/* 803C7190 003C2DF0  38 A0 00 00 */	li r5, 0
/* 803C7194 003C2DF4  4B FF 80 95 */	bl func_803BF228
/* 803C7198 003C2DF8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C719C 003C2DFC  28 00 00 02 */	cmplwi r0, 2
/* 803C71A0 003C2E00  41 80 00 10 */	blt lbl_803C71B0
/* 803C71A4 003C2E04  1C 1B 00 03 */	mulli r0, r27, 3
/* 803C71A8 003C2E08  7C 00 16 70 */	srawi r0, r0, 2
/* 803C71AC 003C2E0C  7F 60 01 94 */	addze r27, r0
lbl_803C71B0:
/* 803C71B0 003C2E10  7D E3 7B 78 */	mr r3, r15
/* 803C71B4 003C2E14  7E 04 83 78 */	mr r4, r16
/* 803C71B8 003C2E18  38 A0 00 08 */	li r5, 8
/* 803C71BC 003C2E1C  38 C0 00 00 */	li r6, 0
/* 803C71C0 003C2E20  38 E0 00 0D */	li r7, 0xd
/* 803C71C4 003C2E24  4B FF 81 BD */	bl func_803BF380
/* 803C71C8 003C2E28  2C 03 00 00 */	cmpwi r3, 0
/* 803C71CC 003C2E2C  40 82 00 C4 */	bne lbl_803C7290
/* 803C71D0 003C2E30  7D E3 7B 78 */	mr r3, r15
/* 803C71D4 003C2E34  7E 04 83 78 */	mr r4, r16
/* 803C71D8 003C2E38  38 A0 00 08 */	li r5, 8
/* 803C71DC 003C2E3C  38 C0 00 00 */	li r6, 0
/* 803C71E0 003C2E40  38 E0 00 4C */	li r7, 0x4c
/* 803C71E4 003C2E44  4B FF 81 9D */	bl func_803BF380
/* 803C71E8 003C2E48  2C 03 00 00 */	cmpwi r3, 0
/* 803C71EC 003C2E4C  40 82 00 A4 */	bne lbl_803C7290
/* 803C71F0 003C2E50  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C71F4 003C2E54  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803C71F8 003C2E58  41 82 00 38 */	beq lbl_803C7230
/* 803C71FC 003C2E5C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7200 003C2E60  2C 00 00 0B */	cmpwi r0, 0xb
/* 803C7204 003C2E64  41 82 00 20 */	beq lbl_803C7224
/* 803C7208 003C2E68  40 80 00 28 */	bge lbl_803C7230
/* 803C720C 003C2E6C  2C 00 00 0A */	cmpwi r0, 0xa
/* 803C7210 003C2E70  40 80 00 08 */	bge lbl_803C7218
/* 803C7214 003C2E74  48 00 00 1C */	b lbl_803C7230
lbl_803C7218:
/* 803C7218 003C2E78  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C721C 003C2E7C  7F 60 01 94 */	addze r27, r0
/* 803C7220 003C2E80  48 00 00 10 */	b lbl_803C7230
lbl_803C7224:
/* 803C7224 003C2E84  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803C7228 003C2E88  38 00 00 0A */	li r0, 0xa
/* 803C722C 003C2E8C  7F 63 03 D6 */	divw r27, r3, r0
lbl_803C7230:
/* 803C7230 003C2E90  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C7234 003C2E94  70 00 80 CF */	andi. r0, r0, 0x80cf
/* 803C7238 003C2E98  41 82 00 18 */	beq lbl_803C7250
/* 803C723C 003C2E9C  80 01 00 08 */	lwz r0, 8(r1)
/* 803C7240 003C2EA0  2C 00 00 4C */	cmpwi r0, 0x4c
/* 803C7244 003C2EA4  40 82 00 0C */	bne lbl_803C7250
/* 803C7248 003C2EA8  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C724C 003C2EAC  7F 60 01 94 */	addze r27, r0
lbl_803C7250:
/* 803C7250 003C2EB0  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C7254 003C2EB4  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803C7258 003C2EB8  41 82 00 38 */	beq lbl_803C7290
/* 803C725C 003C2EBC  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7260 003C2EC0  2C 00 00 0B */	cmpwi r0, 0xb
/* 803C7264 003C2EC4  41 82 00 24 */	beq lbl_803C7288
/* 803C7268 003C2EC8  40 80 00 28 */	bge lbl_803C7290
/* 803C726C 003C2ECC  2C 00 00 0A */	cmpwi r0, 0xa
/* 803C7270 003C2ED0  40 80 00 08 */	bge lbl_803C7278
/* 803C7274 003C2ED4  48 00 00 1C */	b lbl_803C7290
lbl_803C7278:
/* 803C7278 003C2ED8  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803C727C 003C2EDC  38 00 00 0A */	li r0, 0xa
/* 803C7280 003C2EE0  7F 63 03 D6 */	divw r27, r3, r0
/* 803C7284 003C2EE4  48 00 00 0C */	b lbl_803C7290
lbl_803C7288:
/* 803C7288 003C2EE8  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C728C 003C2EEC  7F 60 01 94 */	addze r27, r0
lbl_803C7290:
/* 803C7290 003C2EF0  7E 03 83 78 */	mr r3, r16
/* 803C7294 003C2EF4  7E 24 8B 78 */	mr r4, r17
/* 803C7298 003C2EF8  38 A0 00 49 */	li r5, 0x49
/* 803C729C 003C2EFC  38 C0 00 00 */	li r6, 0
/* 803C72A0 003C2F00  4B FF 3A 05 */	bl func_803BACA4
/* 803C72A4 003C2F04  2C 03 00 00 */	cmpwi r3, 0
/* 803C72A8 003C2F08  41 82 00 1C */	beq lbl_803C72C4
/* 803C72AC 003C2F0C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C72B0 003C2F10  28 00 00 0A */	cmplwi r0, 0xa
/* 803C72B4 003C2F14  40 82 00 10 */	bne lbl_803C72C4
/* 803C72B8 003C2F18  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803C72BC 003C2F1C  38 00 00 0A */	li r0, 0xa
/* 803C72C0 003C2F20  7F 63 03 D6 */	divw r27, r3, r0
lbl_803C72C4:
/* 803C72C4 003C2F24  39 61 00 90 */	addi r11, r1, 0x90
/* 803C72C8 003C2F28  38 7B 00 02 */	addi r3, r27, 2
/* 803C72CC 003C2F2C  4B DF FE 75 */	bl __restore_gpr
/* 803C72D0 003C2F30  80 01 00 94 */	lwz r0, 0x94(r1)
/* 803C72D4 003C2F34  7C 08 03 A6 */	mtlr r0
/* 803C72D8 003C2F38  38 21 00 90 */	addi r1, r1, 0x90
/* 803C72DC 003C2F3C  4E 80 00 20 */	blr 

.global func_803C72E0
func_803C72E0:
/* 803C72E0 003C2F40  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 803C72E4 003C2F44  7C 08 02 A6 */	mflr r0
/* 803C72E8 003C2F48  90 01 00 94 */	stw r0, 0x94(r1)
/* 803C72EC 003C2F4C  39 61 00 90 */	addi r11, r1, 0x90
/* 803C72F0 003C2F50  4B DF FE 05 */	bl __save_gpr
/* 803C72F4 003C2F54  3F C0 80 40 */	lis r30, lbl_80405248@ha
/* 803C72F8 003C2F58  90 A1 00 08 */	stw r5, 8(r1)
/* 803C72FC 003C2F5C  7C 90 23 78 */	mr r16, r4
/* 803C7300 003C2F60  7D 51 53 78 */	mr r17, r10
/* 803C7304 003C2F64  90 C1 00 0C */	stw r6, 0xc(r1)
/* 803C7308 003C2F68  7C 6F 1B 78 */	mr r15, r3
/* 803C730C 003C2F6C  8A 41 00 9B */	lbz r18, 0x9b(r1)
/* 803C7310 003C2F70  7D 1C 43 78 */	mr r28, r8
/* 803C7314 003C2F74  90 E1 00 10 */	stw r7, 0x10(r1)
/* 803C7318 003C2F78  7E 03 83 78 */	mr r3, r16
/* 803C731C 003C2F7C  7E 24 8B 78 */	mr r4, r17
/* 803C7320 003C2F80  3B DE 52 48 */	addi r30, r30, lbl_80405248@l
/* 803C7324 003C2F84  99 21 00 14 */	stb r9, 0x14(r1)
/* 803C7328 003C2F88  3B 60 00 00 */	li r27, 0
/* 803C732C 003C2F8C  38 A0 00 01 */	li r5, 1
/* 803C7330 003C2F90  38 C0 00 00 */	li r6, 0
/* 803C7334 003C2F94  4B FF 39 71 */	bl func_803BACA4
/* 803C7338 003C2F98  54 79 04 3E */	clrlwi r25, r3, 0x10
/* 803C733C 003C2F9C  7E 03 83 78 */	mr r3, r16
/* 803C7340 003C2FA0  7E 44 93 78 */	mr r4, r18
/* 803C7344 003C2FA4  38 A0 00 02 */	li r5, 2
/* 803C7348 003C2FA8  38 C0 00 00 */	li r6, 0
/* 803C734C 003C2FAC  4B FF 39 59 */	bl func_803BACA4
/* 803C7350 003C2FB0  54 6E 04 3E */	clrlwi r14, r3, 0x10
/* 803C7354 003C2FB4  7E 03 83 78 */	mr r3, r16
/* 803C7358 003C2FB8  7E 24 8B 78 */	mr r4, r17
/* 803C735C 003C2FBC  38 A0 00 04 */	li r5, 4
/* 803C7360 003C2FC0  38 C0 00 00 */	li r6, 0
/* 803C7364 003C2FC4  4B FF 39 41 */	bl func_803BACA4
/* 803C7368 003C2FC8  54 78 04 3E */	clrlwi r24, r3, 0x10
/* 803C736C 003C2FCC  7E 03 83 78 */	mr r3, r16
/* 803C7370 003C2FD0  7E 44 93 78 */	mr r4, r18
/* 803C7374 003C2FD4  38 A0 00 05 */	li r5, 5
/* 803C7378 003C2FD8  38 C0 00 00 */	li r6, 0
/* 803C737C 003C2FDC  4B FF 39 29 */	bl func_803BACA4
/* 803C7380 003C2FE0  54 77 04 3E */	clrlwi r23, r3, 0x10
/* 803C7384 003C2FE4  7E 03 83 78 */	mr r3, r16
/* 803C7388 003C2FE8  7E 24 8B 78 */	mr r4, r17
/* 803C738C 003C2FEC  38 A0 00 13 */	li r5, 0x13
/* 803C7390 003C2FF0  38 C0 00 00 */	li r6, 0
/* 803C7394 003C2FF4  4B FF 39 11 */	bl func_803BACA4
/* 803C7398 003C2FF8  38 03 FF FA */	addi r0, r3, -6
/* 803C739C 003C2FFC  7E 03 83 78 */	mr r3, r16
/* 803C73A0 003C3000  7E 44 93 78 */	mr r4, r18
/* 803C73A4 003C3004  38 A0 00 14 */	li r5, 0x14
/* 803C73A8 003C3008  7C 16 07 74 */	extsb r22, r0
/* 803C73AC 003C300C  38 C0 00 00 */	li r6, 0
/* 803C73B0 003C3010  4B FF 38 F5 */	bl func_803BACA4
/* 803C73B4 003C3014  38 03 FF FA */	addi r0, r3, -6
/* 803C73B8 003C3018  7E 03 83 78 */	mr r3, r16
/* 803C73BC 003C301C  7E 24 8B 78 */	mr r4, r17
/* 803C73C0 003C3020  38 A0 00 16 */	li r5, 0x16
/* 803C73C4 003C3024  7C 15 07 74 */	extsb r21, r0
/* 803C73C8 003C3028  38 C0 00 00 */	li r6, 0
/* 803C73CC 003C302C  4B FF 38 D9 */	bl func_803BACA4
/* 803C73D0 003C3030  38 03 FF FA */	addi r0, r3, -6
/* 803C73D4 003C3034  7E 03 83 78 */	mr r3, r16
/* 803C73D8 003C3038  7E 44 93 78 */	mr r4, r18
/* 803C73DC 003C303C  38 A0 00 17 */	li r5, 0x17
/* 803C73E0 003C3040  7C 14 07 74 */	extsb r20, r0
/* 803C73E4 003C3044  38 C0 00 00 */	li r6, 0
/* 803C73E8 003C3048  4B FF 38 BD */	bl func_803BACA4
/* 803C73EC 003C304C  1C 11 00 C0 */	mulli r0, r17, 0xc0
/* 803C73F0 003C3050  38 A3 FF FA */	addi r5, r3, -6
/* 803C73F4 003C3054  7E 03 83 78 */	mr r3, r16
/* 803C73F8 003C3058  7C B3 07 74 */	extsb r19, r5
/* 803C73FC 003C305C  7F 50 02 14 */	add r26, r16, r0
/* 803C7400 003C3060  7E 24 8B 78 */	mr r4, r17
/* 803C7404 003C3064  88 1A 2D 74 */	lbz r0, 0x2d74(r26)
/* 803C7408 003C3068  38 A0 00 00 */	li r5, 0
/* 803C740C 003C306C  38 C0 00 00 */	li r6, 0
/* 803C7410 003C3070  90 01 00 30 */	stw r0, 0x30(r1)
/* 803C7414 003C3074  4B FF 38 91 */	bl func_803BACA4
/* 803C7418 003C3078  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C741C 003C307C  7E 03 83 78 */	mr r3, r16
/* 803C7420 003C3080  B0 01 00 26 */	sth r0, 0x26(r1)
/* 803C7424 003C3084  7E 44 93 78 */	mr r4, r18
/* 803C7428 003C3088  38 A0 00 00 */	li r5, 0
/* 803C742C 003C308C  38 C0 00 00 */	li r6, 0
/* 803C7430 003C3090  4B FF 38 75 */	bl func_803BACA4
/* 803C7434 003C3094  80 DA 2D 8C */	lwz r6, 0x2d8c(r26)
/* 803C7438 003C3098  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 803C743C 003C309C  80 BA 2D 90 */	lwz r5, 0x2d90(r26)
/* 803C7440 003C30A0  7E 03 83 78 */	mr r3, r16
/* 803C7444 003C30A4  B0 01 00 24 */	sth r0, 0x24(r1)
/* 803C7448 003C30A8  7C C0 07 34 */	extsh r0, r6
/* 803C744C 003C30AC  7E 24 8B 78 */	mr r4, r17
/* 803C7450 003C30B0  38 C0 00 00 */	li r6, 0
/* 803C7454 003C30B4  B0 01 00 22 */	sth r0, 0x22(r1)
/* 803C7458 003C30B8  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 803C745C 003C30BC  38 A0 00 34 */	li r5, 0x34
/* 803C7460 003C30C0  B0 01 00 20 */	sth r0, 0x20(r1)
/* 803C7464 003C30C4  4B FF 38 41 */	bl func_803BACA4
/* 803C7468 003C30C8  90 61 00 34 */	stw r3, 0x34(r1)
/* 803C746C 003C30CC  7E 03 83 78 */	mr r3, r16
/* 803C7470 003C30D0  7E 44 93 78 */	mr r4, r18
/* 803C7474 003C30D4  38 A0 00 34 */	li r5, 0x34
/* 803C7478 003C30D8  38 C0 00 00 */	li r6, 0
/* 803C747C 003C30DC  4B FF 38 29 */	bl func_803BACA4
/* 803C7480 003C30E0  90 61 00 38 */	stw r3, 0x38(r1)
/* 803C7484 003C30E4  7E 03 83 78 */	mr r3, r16
/* 803C7488 003C30E8  7E 24 8B 78 */	mr r4, r17
/* 803C748C 003C30EC  4B FF 86 8D */	bl func_803BFB18
/* 803C7490 003C30F0  7C 7F 1B 78 */	mr r31, r3
/* 803C7494 003C30F4  7E 03 83 78 */	mr r3, r16
/* 803C7498 003C30F8  7E 44 93 78 */	mr r4, r18
/* 803C749C 003C30FC  4B FF 86 7D */	bl func_803BFB18
/* 803C74A0 003C3100  7E 03 83 78 */	mr r3, r16
/* 803C74A4 003C3104  7E 24 8B 78 */	mr r4, r17
/* 803C74A8 003C3108  38 A0 00 1D */	li r5, 0x1d
/* 803C74AC 003C310C  38 C0 00 00 */	li r6, 0
/* 803C74B0 003C3110  4B FF 37 F5 */	bl func_803BACA4
/* 803C74B4 003C3114  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C74B8 003C3118  7E 03 83 78 */	mr r3, r16
/* 803C74BC 003C311C  98 01 00 1F */	stb r0, 0x1f(r1)
/* 803C74C0 003C3120  7E 44 93 78 */	mr r4, r18
/* 803C74C4 003C3124  38 A0 00 1D */	li r5, 0x1d
/* 803C74C8 003C3128  38 C0 00 00 */	li r6, 0
/* 803C74CC 003C312C  4B FF 37 D9 */	bl func_803BACA4
/* 803C74D0 003C3130  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C74D4 003C3134  7E 03 83 78 */	mr r3, r16
/* 803C74D8 003C3138  98 01 00 1E */	stb r0, 0x1e(r1)
/* 803C74DC 003C313C  7E 24 8B 78 */	mr r4, r17
/* 803C74E0 003C3140  38 A0 00 1B */	li r5, 0x1b
/* 803C74E4 003C3144  38 C0 00 00 */	li r6, 0
/* 803C74E8 003C3148  4B FF 37 BD */	bl func_803BACA4
/* 803C74EC 003C314C  7E 03 83 78 */	mr r3, r16
/* 803C74F0 003C3150  7E 44 93 78 */	mr r4, r18
/* 803C74F4 003C3154  38 A0 00 1B */	li r5, 0x1b
/* 803C74F8 003C3158  38 C0 00 00 */	li r6, 0
/* 803C74FC 003C315C  4B FF 37 A9 */	bl func_803BACA4
/* 803C7500 003C3160  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C7504 003C3164  7E 03 83 78 */	mr r3, r16
/* 803C7508 003C3168  98 01 00 1D */	stb r0, 0x1d(r1)
/* 803C750C 003C316C  7E 24 8B 78 */	mr r4, r17
/* 803C7510 003C3170  38 A0 00 1C */	li r5, 0x1c
/* 803C7514 003C3174  38 C0 00 00 */	li r6, 0
/* 803C7518 003C3178  4B FF 37 8D */	bl func_803BACA4
/* 803C751C 003C317C  7E 03 83 78 */	mr r3, r16
/* 803C7520 003C3180  7E 44 93 78 */	mr r4, r18
/* 803C7524 003C3184  38 A0 00 1C */	li r5, 0x1c
/* 803C7528 003C3188  38 C0 00 00 */	li r6, 0
/* 803C752C 003C318C  4B FF 37 79 */	bl func_803BACA4
/* 803C7530 003C3190  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C7534 003C3194  7E 03 83 78 */	mr r3, r16
/* 803C7538 003C3198  98 01 00 1C */	stb r0, 0x1c(r1)
/* 803C753C 003C319C  7E 24 8B 78 */	mr r4, r17
/* 803C7540 003C31A0  4B FF C8 2D */	bl func_803C3D6C
/* 803C7544 003C31A4  7C 7A 1B 78 */	mr r26, r3
/* 803C7548 003C31A8  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C754C 003C31AC  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C7550 003C31B0  48 01 22 1D */	bl func_803D976C
/* 803C7554 003C31B4  38 80 00 01 */	li r4, 1
/* 803C7558 003C31B8  48 01 1C D5 */	bl func_803D922C
/* 803C755C 003C31BC  7C 7D 1B 78 */	mr r29, r3
/* 803C7560 003C31C0  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C7564 003C31C4  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C7568 003C31C8  48 01 22 05 */	bl func_803D976C
/* 803C756C 003C31CC  38 80 00 02 */	li r4, 2
/* 803C7570 003C31D0  48 01 1C BD */	bl func_803D922C
/* 803C7574 003C31D4  90 61 00 2C */	stw r3, 0x2c(r1)
/* 803C7578 003C31D8  7E 03 83 78 */	mr r3, r16
/* 803C757C 003C31DC  7E 44 93 78 */	mr r4, r18
/* 803C7580 003C31E0  4B FF C7 ED */	bl func_803C3D6C
/* 803C7584 003C31E4  7C 7A 1B 78 */	mr r26, r3
/* 803C7588 003C31E8  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C758C 003C31EC  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C7590 003C31F0  48 01 21 DD */	bl func_803D976C
/* 803C7594 003C31F4  38 80 00 01 */	li r4, 1
/* 803C7598 003C31F8  48 01 1C 95 */	bl func_803D922C
/* 803C759C 003C31FC  90 61 00 28 */	stw r3, 0x28(r1)
/* 803C75A0 003C3200  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803C75A4 003C3204  80 70 21 20 */	lwz r3, 0x2120(r16)
/* 803C75A8 003C3208  48 01 21 C5 */	bl func_803D976C
/* 803C75AC 003C320C  38 80 00 02 */	li r4, 2
/* 803C75B0 003C3210  48 01 1C 7D */	bl func_803D922C
/* 803C75B4 003C3214  7D E3 7B 78 */	mr r3, r15
/* 803C75B8 003C3218  4B FE 52 89 */	bl func_803AC840
/* 803C75BC 003C321C  2C 1C 00 00 */	cmpwi r28, 0
/* 803C75C0 003C3220  90 61 00 3C */	stw r3, 0x3c(r1)
/* 803C75C4 003C3224  40 82 00 14 */	bne lbl_803C75D8
/* 803C75C8 003C3228  80 01 00 08 */	lwz r0, 8(r1)
/* 803C75CC 003C322C  54 00 20 36 */	slwi r0, r0, 4
/* 803C75D0 003C3230  7C 70 02 14 */	add r3, r16, r0
/* 803C75D4 003C3234  8B 83 03 E1 */	lbz r28, 0x3e1(r3)
lbl_803C75D8:
/* 803C75D8 003C3238  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C75DC 003C323C  28 00 00 60 */	cmplwi r0, 0x60
/* 803C75E0 003C3240  40 82 00 0C */	bne lbl_803C75EC
/* 803C75E4 003C3244  3B 40 00 00 */	li r26, 0
/* 803C75E8 003C3248  48 00 00 28 */	b lbl_803C7610
lbl_803C75EC:
/* 803C75EC 003C324C  88 01 00 14 */	lbz r0, 0x14(r1)
/* 803C75F0 003C3250  2C 00 00 00 */	cmpwi r0, 0
/* 803C75F4 003C3254  40 82 00 18 */	bne lbl_803C760C
/* 803C75F8 003C3258  80 01 00 08 */	lwz r0, 8(r1)
/* 803C75FC 003C325C  54 00 20 36 */	slwi r0, r0, 4
/* 803C7600 003C3260  7C 70 02 14 */	add r3, r16, r0
/* 803C7604 003C3264  8B 43 03 E2 */	lbz r26, 0x3e2(r3)
/* 803C7608 003C3268  48 00 00 08 */	b lbl_803C7610
lbl_803C760C:
/* 803C760C 003C326C  54 1A 06 BE */	clrlwi r26, r0, 0x1a
lbl_803C7610:
/* 803C7610 003C3270  80 D0 21 58 */	lwz r6, 0x2158(r16)
/* 803C7614 003C3274  3C 80 80 47 */	lis r4, lbl_80473D98@ha
/* 803C7618 003C3278  38 00 00 0A */	li r0, 0xa
/* 803C761C 003C327C  38 60 00 00 */	li r3, 0
/* 803C7620 003C3280  7C C5 FE 70 */	srawi r5, r6, 0x1f
/* 803C7624 003C3284  38 84 3D 98 */	addi r4, r4, lbl_80473D98@l
/* 803C7628 003C3288  7C 00 30 10 */	subfc r0, r0, r6
/* 803C762C 003C328C  7C 65 19 14 */	adde r3, r5, r3
/* 803C7630 003C3290  4C C6 31 82 */	crclr 6
/* 803C7634 003C3294  48 01 22 69 */	bl func_803D989C
/* 803C7638 003C3298  1C 11 00 C0 */	mulli r0, r17, 0xc0
/* 803C763C 003C329C  80 70 21 58 */	lwz r3, 0x2158(r16)
/* 803C7640 003C32A0  57 84 04 3E */	clrlwi r4, r28, 0x10
/* 803C7644 003C32A4  7C 84 19 D6 */	mullw r4, r4, r3
/* 803C7648 003C32A8  7C 70 02 14 */	add r3, r16, r0
/* 803C764C 003C32AC  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803C7650 003C32B0  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803C7654 003C32B4  38 00 00 0A */	li r0, 0xa
/* 803C7658 003C32B8  7C 04 03 D6 */	divw r0, r4, r0
/* 803C765C 003C32BC  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C7660 003C32C0  41 82 00 14 */	beq lbl_803C7674
/* 803C7664 003C32C4  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7668 003C32C8  28 00 00 0D */	cmplwi r0, 0xd
/* 803C766C 003C32CC  40 82 00 08 */	bne lbl_803C7674
/* 803C7670 003C32D0  57 9C 0C 3C */	rlwinm r28, r28, 1, 0x10, 0x1e
lbl_803C7674:
/* 803C7674 003C32D4  56 20 34 B2 */	rlwinm r0, r17, 6, 0x12, 0x19
/* 803C7678 003C32D8  7C 70 02 14 */	add r3, r16, r0
/* 803C767C 003C32DC  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803C7680 003C32E0  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803C7684 003C32E4  41 82 00 14 */	beq lbl_803C7698
/* 803C7688 003C32E8  1C 7C 00 0F */	mulli r3, r28, 0xf
/* 803C768C 003C32EC  38 00 00 0A */	li r0, 0xa
/* 803C7690 003C32F0  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7694 003C32F4  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7698:
/* 803C7698 003C32F8  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C769C 003C32FC  28 00 00 65 */	cmplwi r0, 0x65
/* 803C76A0 003C3300  40 82 00 28 */	bne lbl_803C76C8
/* 803C76A4 003C3304  80 01 00 08 */	lwz r0, 8(r1)
/* 803C76A8 003C3308  2C 00 00 A5 */	cmpwi r0, 0xa5
/* 803C76AC 003C330C  41 82 00 1C */	beq lbl_803C76C8
/* 803C76B0 003C3310  28 1C 00 3C */	cmplwi r28, 0x3c
/* 803C76B4 003C3314  41 81 00 14 */	bgt lbl_803C76C8
/* 803C76B8 003C3318  1C 7C 00 0F */	mulli r3, r28, 0xf
/* 803C76BC 003C331C  38 00 00 0A */	li r0, 0xa
/* 803C76C0 003C3320  7C 03 03 D6 */	divw r0, r3, r0
/* 803C76C4 003C3324  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C76C8:
/* 803C76C8 003C3328  80 01 00 08 */	lwz r0, 8(r1)
/* 803C76CC 003C332C  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 803C76D0 003C3330  28 03 00 25 */	cmplwi r3, 0x25
/* 803C76D4 003C3334  54 00 20 36 */	slwi r0, r0, 4
/* 803C76D8 003C3338  7C 90 02 14 */	add r4, r16, r0
/* 803C76DC 003C333C  90 01 00 18 */	stw r0, 0x18(r1)
/* 803C76E0 003C3340  88 04 03 E0 */	lbz r0, 0x3e0(r4)
/* 803C76E4 003C3344  98 01 00 15 */	stb r0, 0x15(r1)
/* 803C76E8 003C3348  41 82 00 0C */	beq lbl_803C76F4
/* 803C76EC 003C334C  28 03 00 4A */	cmplwi r3, 0x4a
/* 803C76F0 003C3350  40 82 00 08 */	bne lbl_803C76F8
lbl_803C76F4:
/* 803C76F4 003C3354  57 39 0C 3C */	rlwinm r25, r25, 1, 0x10, 0x1e
lbl_803C76F8:
/* 803C76F8 003C3358  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C76FC 003C335C  28 00 00 70 */	cmplwi r0, 0x70
/* 803C7700 003C3360  40 82 00 44 */	bne lbl_803C7744
/* 803C7704 003C3364  7D E3 7B 78 */	mr r3, r15
/* 803C7708 003C3368  7E 04 83 78 */	mr r4, r16
/* 803C770C 003C336C  38 A0 00 03 */	li r5, 3
/* 803C7710 003C3370  38 C0 00 00 */	li r6, 0
/* 803C7714 003C3374  48 00 15 35 */	bl func_803C8C48
/* 803C7718 003C3378  90 61 00 40 */	stw r3, 0x40(r1)
/* 803C771C 003C337C  7E 03 83 78 */	mr r3, r16
/* 803C7720 003C3380  7E 24 8B 78 */	mr r4, r17
/* 803C7724 003C3384  38 A0 00 59 */	li r5, 0x59
/* 803C7728 003C3388  38 C0 00 00 */	li r6, 0
/* 803C772C 003C338C  4B FF 35 79 */	bl func_803BACA4
/* 803C7730 003C3390  80 01 00 40 */	lwz r0, 0x40(r1)
/* 803C7734 003C3394  7C 03 00 50 */	subf r0, r3, r0
/* 803C7738 003C3398  2C 00 00 05 */	cmpwi r0, 5
/* 803C773C 003C339C  40 80 00 08 */	bge lbl_803C7744
/* 803C7740 003C33A0  57 39 FC 7E */	rlwinm r25, r25, 0x1f, 0x11, 0x1f
lbl_803C7744:
/* 803C7744 003C33A4  38 00 00 21 */	li r0, 0x21
/* 803C7748 003C33A8  57 44 06 3E */	clrlwi r4, r26, 0x18
/* 803C774C 003C33AC  38 BE 01 78 */	addi r5, r30, 0x178
/* 803C7750 003C33B0  38 60 00 00 */	li r3, 0
/* 803C7754 003C33B4  7C 09 03 A6 */	mtctr r0
lbl_803C7758:
/* 803C7758 003C33B8  7C 05 18 AE */	lbzx r0, r5, r3
/* 803C775C 003C33BC  7C C5 1A 14 */	add r6, r5, r3
/* 803C7760 003C33C0  7C 1D 00 00 */	cmpw r29, r0
/* 803C7764 003C33C4  40 82 00 2C */	bne lbl_803C7790
/* 803C7768 003C33C8  88 06 00 01 */	lbz r0, 1(r6)
/* 803C776C 003C33CC  7C 04 00 40 */	cmplw r4, r0
/* 803C7770 003C33D0  40 82 00 20 */	bne lbl_803C7790
/* 803C7774 003C33D4  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C7778 003C33D8  38 00 00 64 */	li r0, 0x64
/* 803C777C 003C33DC  38 63 00 64 */	addi r3, r3, 0x64
/* 803C7780 003C33E0  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C7784 003C33E4  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7788 003C33E8  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C778C 003C33EC  48 00 00 0C */	b lbl_803C7798
lbl_803C7790:
/* 803C7790 003C33F0  38 63 00 02 */	addi r3, r3, 2
/* 803C7794 003C33F4  42 00 FF C4 */	bdnz lbl_803C7758
lbl_803C7798:
/* 803C7798 003C33F8  2C 1D 00 36 */	cmpwi r29, 0x36
/* 803C779C 003C33FC  40 82 00 18 */	bne lbl_803C77B4
/* 803C77A0 003C3400  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C77A4 003C3404  38 00 00 64 */	li r0, 0x64
/* 803C77A8 003C3408  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C77AC 003C340C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C77B0 003C3410  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C77B4:
/* 803C77B4 003C3414  2C 1D 00 7C */	cmpwi r29, 0x7c
/* 803C77B8 003C3418  40 82 00 14 */	bne lbl_803C77CC
/* 803C77BC 003C341C  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C77C0 003C3420  38 00 00 64 */	li r0, 0x64
/* 803C77C4 003C3424  7C 03 03 D6 */	divw r0, r3, r0
/* 803C77C8 003C3428  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C77CC:
/* 803C77CC 003C342C  2C 1D 00 3B */	cmpwi r29, 0x3b
/* 803C77D0 003C3430  40 82 00 38 */	bne lbl_803C7808
/* 803C77D4 003C3434  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C77D8 003C3438  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C77DC 003C343C  40 82 00 2C */	bne lbl_803C7808
/* 803C77E0 003C3440  A0 61 00 26 */	lhz r3, 0x26(r1)
/* 803C77E4 003C3444  3C 63 00 01 */	addis r3, r3, 1
/* 803C77E8 003C3448  38 03 FE 84 */	addi r0, r3, -380
/* 803C77EC 003C344C  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C77F0 003C3450  28 00 00 01 */	cmplwi r0, 1
/* 803C77F4 003C3454  41 81 00 14 */	bgt lbl_803C7808
/* 803C77F8 003C3458  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C77FC 003C345C  38 00 00 64 */	li r0, 0x64
/* 803C7800 003C3460  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7804 003C3464  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C7808:
/* 803C7808 003C3468  80 01 00 28 */	lwz r0, 0x28(r1)
/* 803C780C 003C346C  2C 00 00 3B */	cmpwi r0, 0x3b
/* 803C7810 003C3470  40 82 00 38 */	bne lbl_803C7848
/* 803C7814 003C3474  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C7818 003C3478  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803C781C 003C347C  40 82 00 2C */	bne lbl_803C7848
/* 803C7820 003C3480  A0 61 00 24 */	lhz r3, 0x24(r1)
/* 803C7824 003C3484  3C 63 00 01 */	addis r3, r3, 1
/* 803C7828 003C3488  38 03 FE 84 */	addi r0, r3, -380
/* 803C782C 003C348C  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C7830 003C3490  28 00 00 01 */	cmplwi r0, 1
/* 803C7834 003C3494  41 81 00 14 */	bgt lbl_803C7848
/* 803C7838 003C3498  1C 77 00 96 */	mulli r3, r23, 0x96
/* 803C783C 003C349C  38 00 00 64 */	li r0, 0x64
/* 803C7840 003C34A0  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7844 003C34A4  54 17 04 3E */	clrlwi r23, r0, 0x10
lbl_803C7848:
/* 803C7848 003C34A8  2C 1D 00 3C */	cmpwi r29, 0x3c
/* 803C784C 003C34AC  40 82 00 14 */	bne lbl_803C7860
/* 803C7850 003C34B0  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C7854 003C34B4  28 00 01 6E */	cmplwi r0, 0x16e
/* 803C7858 003C34B8  40 82 00 08 */	bne lbl_803C7860
/* 803C785C 003C34BC  57 18 0C 3C */	rlwinm r24, r24, 1, 0x10, 0x1e
lbl_803C7860:
/* 803C7860 003C34C0  80 01 00 28 */	lwz r0, 0x28(r1)
/* 803C7864 003C34C4  2C 00 00 3D */	cmpwi r0, 0x3d
/* 803C7868 003C34C8  40 82 00 14 */	bne lbl_803C787C
/* 803C786C 003C34CC  A0 01 00 24 */	lhz r0, 0x24(r1)
/* 803C7870 003C34D0  28 00 01 6E */	cmplwi r0, 0x16e
/* 803C7874 003C34D4  40 82 00 08 */	bne lbl_803C787C
/* 803C7878 003C34D8  56 F7 0C 3C */	rlwinm r23, r23, 1, 0x10, 0x1e
lbl_803C787C:
/* 803C787C 003C34DC  2C 1D 00 46 */	cmpwi r29, 0x46
/* 803C7880 003C34E0  40 82 00 14 */	bne lbl_803C7894
/* 803C7884 003C34E4  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C7888 003C34E8  28 00 00 19 */	cmplwi r0, 0x19
/* 803C788C 003C34EC  40 82 00 08 */	bne lbl_803C7894
/* 803C7890 003C34F0  57 9C 0C 3C */	rlwinm r28, r28, 1, 0x10, 0x1e
lbl_803C7894:
/* 803C7894 003C34F4  80 01 00 28 */	lwz r0, 0x28(r1)
/* 803C7898 003C34F8  2C 00 00 59 */	cmpwi r0, 0x59
/* 803C789C 003C34FC  40 82 00 14 */	bne lbl_803C78B0
/* 803C78A0 003C3500  A0 01 00 24 */	lhz r0, 0x24(r1)
/* 803C78A4 003C3504  28 00 00 84 */	cmplwi r0, 0x84
/* 803C78A8 003C3508  40 82 00 08 */	bne lbl_803C78B0
/* 803C78AC 003C350C  55 CE 0C 3C */	rlwinm r14, r14, 1, 0x10, 0x1e
lbl_803C78B0:
/* 803C78B0 003C3510  2C 1D 00 5A */	cmpwi r29, 0x5a
/* 803C78B4 003C3514  40 82 00 20 */	bne lbl_803C78D4
/* 803C78B8 003C3518  A0 61 00 26 */	lhz r3, 0x26(r1)
/* 803C78BC 003C351C  3C 63 00 01 */	addis r3, r3, 1
/* 803C78C0 003C3520  38 03 FF 98 */	addi r0, r3, -104
/* 803C78C4 003C3524  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C78C8 003C3528  28 00 00 01 */	cmplwi r0, 1
/* 803C78CC 003C352C  41 81 00 08 */	bgt lbl_803C78D4
/* 803C78D0 003C3530  57 39 0C 3C */	rlwinm r25, r25, 1, 0x10, 0x1e
lbl_803C78D4:
/* 803C78D4 003C3534  2C 1D 00 02 */	cmpwi r29, 2
/* 803C78D8 003C3538  40 82 00 3C */	bne lbl_803C7914
/* 803C78DC 003C353C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C78E0 003C3540  28 00 00 10 */	cmplwi r0, 0x10
/* 803C78E4 003C3544  41 82 00 0C */	beq lbl_803C78F0
/* 803C78E8 003C3548  28 00 00 08 */	cmplwi r0, 8
/* 803C78EC 003C354C  40 82 00 28 */	bne lbl_803C7914
lbl_803C78F0:
/* 803C78F0 003C3550  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C78F4 003C3554  28 00 01 E3 */	cmplwi r0, 0x1e3
/* 803C78F8 003C3558  40 82 00 1C */	bne lbl_803C7914
/* 803C78FC 003C355C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C7900 003C3560  38 00 00 64 */	li r0, 0x64
/* 803C7904 003C3564  38 63 00 64 */	addi r3, r3, 0x64
/* 803C7908 003C3568  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C790C 003C356C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7910 003C3570  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7914:
/* 803C7914 003C3574  2C 1D 00 03 */	cmpwi r29, 3
/* 803C7918 003C3578  40 82 00 3C */	bne lbl_803C7954
/* 803C791C 003C357C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7920 003C3580  28 00 00 10 */	cmplwi r0, 0x10
/* 803C7924 003C3584  41 82 00 0C */	beq lbl_803C7930
/* 803C7928 003C3588  28 00 00 0B */	cmplwi r0, 0xb
/* 803C792C 003C358C  40 82 00 28 */	bne lbl_803C7954
lbl_803C7930:
/* 803C7930 003C3590  A0 01 00 26 */	lhz r0, 0x26(r1)
/* 803C7934 003C3594  28 00 01 E4 */	cmplwi r0, 0x1e4
/* 803C7938 003C3598  40 82 00 1C */	bne lbl_803C7954
/* 803C793C 003C359C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C7940 003C35A0  38 00 00 64 */	li r0, 0x64
/* 803C7944 003C35A4  38 63 00 64 */	addi r3, r3, 0x64
/* 803C7948 003C35A8  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C794C 003C35AC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7950 003C35B0  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7954:
/* 803C7954 003C35B4  2C 1D 00 5D */	cmpwi r29, 0x5d
/* 803C7958 003C35B8  40 82 00 28 */	bne lbl_803C7980
/* 803C795C 003C35BC  88 01 00 15 */	lbz r0, 0x15(r1)
/* 803C7960 003C35C0  2C 00 00 00 */	cmpwi r0, 0
/* 803C7964 003C35C4  40 82 00 1C */	bne lbl_803C7980
/* 803C7968 003C35C8  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C796C 003C35CC  38 00 00 64 */	li r0, 0x64
/* 803C7970 003C35D0  38 63 00 64 */	addi r3, r3, 0x64
/* 803C7974 003C35D4  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C7978 003C35D8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C797C 003C35DC  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7980:
/* 803C7980 003C35E0  2C 1D 00 5E */	cmpwi r29, 0x5e
/* 803C7984 003C35E4  40 82 00 28 */	bne lbl_803C79AC
/* 803C7988 003C35E8  88 01 00 15 */	lbz r0, 0x15(r1)
/* 803C798C 003C35EC  28 00 00 01 */	cmplwi r0, 1
/* 803C7990 003C35F0  40 82 00 1C */	bne lbl_803C79AC
/* 803C7994 003C35F4  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803C7998 003C35F8  38 00 00 64 */	li r0, 0x64
/* 803C799C 003C35FC  38 63 00 64 */	addi r3, r3, 0x64
/* 803C79A0 003C3600  7C 7C 19 D6 */	mullw r3, r28, r3
/* 803C79A4 003C3604  7C 03 03 D6 */	divw r0, r3, r0
/* 803C79A8 003C3608  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C79AC:
/* 803C79AC 003C360C  7E 03 83 78 */	mr r3, r16
/* 803C79B0 003C3610  7E 24 8B 78 */	mr r4, r17
/* 803C79B4 003C3614  7E 45 93 78 */	mr r5, r18
/* 803C79B8 003C3618  38 C0 00 2F */	li r6, 0x2f
/* 803C79BC 003C361C  4B FF 81 D5 */	bl func_803BFB90
/* 803C79C0 003C3620  2C 03 00 01 */	cmpwi r3, 1
/* 803C79C4 003C3624  40 82 00 1C */	bne lbl_803C79E0
/* 803C79C8 003C3628  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C79CC 003C362C  28 00 00 0A */	cmplwi r0, 0xa
/* 803C79D0 003C3630  41 82 00 0C */	beq lbl_803C79DC
/* 803C79D4 003C3634  28 00 00 0F */	cmplwi r0, 0xf
/* 803C79D8 003C3638  40 82 00 08 */	bne lbl_803C79E0
lbl_803C79DC:
/* 803C79DC 003C363C  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C79E0:
/* 803C79E0 003C3640  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C79E4 003C3644  28 00 00 37 */	cmplwi r0, 0x37
/* 803C79E8 003C3648  40 82 00 18 */	bne lbl_803C7A00
/* 803C79EC 003C364C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C79F0 003C3650  38 00 00 64 */	li r0, 0x64
/* 803C79F4 003C3654  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C79F8 003C3658  7C 03 03 D6 */	divw r0, r3, r0
/* 803C79FC 003C365C  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C7A00:
/* 803C7A00 003C3660  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7A04 003C3664  28 00 00 3E */	cmplwi r0, 0x3e
/* 803C7A08 003C3668  40 82 00 24 */	bne lbl_803C7A2C
/* 803C7A0C 003C366C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C7A10 003C3670  2C 00 00 00 */	cmpwi r0, 0
/* 803C7A14 003C3674  41 82 00 18 */	beq lbl_803C7A2C
/* 803C7A18 003C3678  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C7A1C 003C367C  38 00 00 64 */	li r0, 0x64
/* 803C7A20 003C3680  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C7A24 003C3684  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7A28 003C3688  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C7A2C:
/* 803C7A2C 003C368C  7E 03 83 78 */	mr r3, r16
/* 803C7A30 003C3690  7E 24 8B 78 */	mr r4, r17
/* 803C7A34 003C3694  7E 45 93 78 */	mr r5, r18
/* 803C7A38 003C3698  38 C0 00 3F */	li r6, 0x3f
/* 803C7A3C 003C369C  4B FF 81 55 */	bl func_803BFB90
/* 803C7A40 003C36A0  2C 03 00 01 */	cmpwi r3, 1
/* 803C7A44 003C36A4  40 82 00 20 */	bne lbl_803C7A64
/* 803C7A48 003C36A8  80 01 00 38 */	lwz r0, 0x38(r1)
/* 803C7A4C 003C36AC  2C 00 00 00 */	cmpwi r0, 0
/* 803C7A50 003C36B0  41 82 00 14 */	beq lbl_803C7A64
/* 803C7A54 003C36B4  1C 6E 00 96 */	mulli r3, r14, 0x96
/* 803C7A58 003C36B8  38 00 00 64 */	li r0, 0x64
/* 803C7A5C 003C36BC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7A60 003C36C0  54 0E 04 3E */	clrlwi r14, r0, 0x10
lbl_803C7A64:
/* 803C7A64 003C36C4  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7A68 003C36C8  28 00 00 39 */	cmplwi r0, 0x39
/* 803C7A6C 003C36CC  40 82 00 34 */	bne lbl_803C7AA0
/* 803C7A70 003C36D0  7D E3 7B 78 */	mr r3, r15
/* 803C7A74 003C36D4  7E 04 83 78 */	mr r4, r16
/* 803C7A78 003C36D8  7E 26 8B 78 */	mr r6, r17
/* 803C7A7C 003C36DC  38 A0 00 01 */	li r5, 1
/* 803C7A80 003C36E0  38 E0 00 3A */	li r7, 0x3a
/* 803C7A84 003C36E4  4B FF 78 FD */	bl func_803BF380
/* 803C7A88 003C36E8  2C 03 00 00 */	cmpwi r3, 0
/* 803C7A8C 003C36EC  41 82 00 14 */	beq lbl_803C7AA0
/* 803C7A90 003C36F0  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C7A94 003C36F4  38 00 00 64 */	li r0, 0x64
/* 803C7A98 003C36F8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7A9C 003C36FC  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C7AA0:
/* 803C7AA0 003C3700  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7AA4 003C3704  28 00 00 3A */	cmplwi r0, 0x3a
/* 803C7AA8 003C3708  40 82 00 34 */	bne lbl_803C7ADC
/* 803C7AAC 003C370C  7D E3 7B 78 */	mr r3, r15
/* 803C7AB0 003C3710  7E 04 83 78 */	mr r4, r16
/* 803C7AB4 003C3714  7E 26 8B 78 */	mr r6, r17
/* 803C7AB8 003C3718  38 A0 00 01 */	li r5, 1
/* 803C7ABC 003C371C  38 E0 00 39 */	li r7, 0x39
/* 803C7AC0 003C3720  4B FF 78 C1 */	bl func_803BF380
/* 803C7AC4 003C3724  2C 03 00 00 */	cmpwi r3, 0
/* 803C7AC8 003C3728  41 82 00 14 */	beq lbl_803C7ADC
/* 803C7ACC 003C372C  1C 78 00 96 */	mulli r3, r24, 0x96
/* 803C7AD0 003C3730  38 00 00 64 */	li r0, 0x64
/* 803C7AD4 003C3734  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7AD8 003C3738  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C7ADC:
/* 803C7ADC 003C373C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7AE0 003C3740  28 00 00 0D */	cmplwi r0, 0xd
/* 803C7AE4 003C3744  40 82 00 20 */	bne lbl_803C7B04
/* 803C7AE8 003C3748  7D E3 7B 78 */	mr r3, r15
/* 803C7AEC 003C374C  7E 04 83 78 */	mr r4, r16
/* 803C7AF0 003C3750  3C A0 00 01 */	lis r5, 1
/* 803C7AF4 003C3754  4B FF 89 41 */	bl func_803C0434
/* 803C7AF8 003C3758  2C 03 00 00 */	cmpwi r3, 0
/* 803C7AFC 003C375C  41 82 00 08 */	beq lbl_803C7B04
/* 803C7B00 003C3760  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C7B04:
/* 803C7B04 003C3764  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7B08 003C3768  28 00 00 0A */	cmplwi r0, 0xa
/* 803C7B0C 003C376C  40 82 00 20 */	bne lbl_803C7B2C
/* 803C7B10 003C3770  7D E3 7B 78 */	mr r3, r15
/* 803C7B14 003C3774  7E 04 83 78 */	mr r4, r16
/* 803C7B18 003C3778  3C A0 00 02 */	lis r5, 2
/* 803C7B1C 003C377C  4B FF 89 19 */	bl func_803C0434
/* 803C7B20 003C3780  2C 03 00 00 */	cmpwi r3, 0
/* 803C7B24 003C3784  41 82 00 08 */	beq lbl_803C7B2C
/* 803C7B28 003C3788  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C7B2C:
/* 803C7B2C 003C378C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7B30 003C3790  28 00 00 0C */	cmplwi r0, 0xc
/* 803C7B34 003C3794  40 82 00 3C */	bne lbl_803C7B70
/* 803C7B38 003C3798  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7B3C 003C379C  28 00 00 41 */	cmplwi r0, 0x41
/* 803C7B40 003C37A0  40 82 00 30 */	bne lbl_803C7B70
/* 803C7B44 003C37A4  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C7B48 003C37A8  38 60 00 03 */	li r3, 3
/* 803C7B4C 003C37AC  7C 60 1B D6 */	divw r3, r0, r3
/* 803C7B50 003C37B0  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C7B54 003C37B4  7C 00 18 00 */	cmpw r0, r3
/* 803C7B58 003C37B8  41 81 00 18 */	bgt lbl_803C7B70
/* 803C7B5C 003C37BC  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7B60 003C37C0  38 00 00 64 */	li r0, 0x64
/* 803C7B64 003C37C4  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C7B68 003C37C8  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7B6C 003C37CC  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7B70:
/* 803C7B70 003C37D0  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7B74 003C37D4  28 00 00 0A */	cmplwi r0, 0xa
/* 803C7B78 003C37D8  40 82 00 3C */	bne lbl_803C7BB4
/* 803C7B7C 003C37DC  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7B80 003C37E0  28 00 00 42 */	cmplwi r0, 0x42
/* 803C7B84 003C37E4  40 82 00 30 */	bne lbl_803C7BB4
/* 803C7B88 003C37E8  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C7B8C 003C37EC  38 60 00 03 */	li r3, 3
/* 803C7B90 003C37F0  7C 60 1B D6 */	divw r3, r0, r3
/* 803C7B94 003C37F4  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C7B98 003C37F8  7C 00 18 00 */	cmpw r0, r3
/* 803C7B9C 003C37FC  41 81 00 18 */	bgt lbl_803C7BB4
/* 803C7BA0 003C3800  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7BA4 003C3804  38 00 00 64 */	li r0, 0x64
/* 803C7BA8 003C3808  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C7BAC 003C380C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7BB0 003C3810  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7BB4:
/* 803C7BB4 003C3814  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7BB8 003C3818  28 00 00 0B */	cmplwi r0, 0xb
/* 803C7BBC 003C381C  40 82 00 3C */	bne lbl_803C7BF8
/* 803C7BC0 003C3820  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7BC4 003C3824  28 00 00 43 */	cmplwi r0, 0x43
/* 803C7BC8 003C3828  40 82 00 30 */	bne lbl_803C7BF8
/* 803C7BCC 003C382C  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C7BD0 003C3830  38 60 00 03 */	li r3, 3
/* 803C7BD4 003C3834  7C 60 1B D6 */	divw r3, r0, r3
/* 803C7BD8 003C3838  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C7BDC 003C383C  7C 00 18 00 */	cmpw r0, r3
/* 803C7BE0 003C3840  41 81 00 18 */	bgt lbl_803C7BF8
/* 803C7BE4 003C3844  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7BE8 003C3848  38 00 00 64 */	li r0, 0x64
/* 803C7BEC 003C384C  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C7BF0 003C3850  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7BF4 003C3854  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7BF8:
/* 803C7BF8 003C3858  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7BFC 003C385C  28 00 00 06 */	cmplwi r0, 6
/* 803C7C00 003C3860  40 82 00 3C */	bne lbl_803C7C3C
/* 803C7C04 003C3864  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7C08 003C3868  28 00 00 44 */	cmplwi r0, 0x44
/* 803C7C0C 003C386C  40 82 00 30 */	bne lbl_803C7C3C
/* 803C7C10 003C3870  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 803C7C14 003C3874  38 60 00 03 */	li r3, 3
/* 803C7C18 003C3878  7C 60 1B D6 */	divw r3, r0, r3
/* 803C7C1C 003C387C  A8 01 00 22 */	lha r0, 0x22(r1)
/* 803C7C20 003C3880  7C 00 18 00 */	cmpw r0, r3
/* 803C7C24 003C3884  41 81 00 18 */	bgt lbl_803C7C3C
/* 803C7C28 003C3888  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7C2C 003C388C  38 00 00 64 */	li r0, 0x64
/* 803C7C30 003C3890  1C 63 00 96 */	mulli r3, r3, 0x96
/* 803C7C34 003C3894  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7C38 003C3898  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7C3C:
/* 803C7C3C 003C389C  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7C40 003C38A0  28 00 00 0A */	cmplwi r0, 0xa
/* 803C7C44 003C38A4  40 82 00 24 */	bne lbl_803C7C68
/* 803C7C48 003C38A8  7E 03 83 78 */	mr r3, r16
/* 803C7C4C 003C38AC  7E 24 8B 78 */	mr r4, r17
/* 803C7C50 003C38B0  7E 45 93 78 */	mr r5, r18
/* 803C7C54 003C38B4  38 C0 00 55 */	li r6, 0x55
/* 803C7C58 003C38B8  4B FF 7F 39 */	bl func_803BFB90
/* 803C7C5C 003C38BC  2C 03 00 01 */	cmpwi r3, 1
/* 803C7C60 003C38C0  40 82 00 08 */	bne lbl_803C7C68
/* 803C7C64 003C38C4  57 9C FC 7E */	rlwinm r28, r28, 0x1f, 0x11, 0x1f
lbl_803C7C68:
/* 803C7C68 003C38C8  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C7C6C 003C38CC  28 00 00 0A */	cmplwi r0, 0xa
/* 803C7C70 003C38D0  40 82 00 34 */	bne lbl_803C7CA4
/* 803C7C74 003C38D4  7E 03 83 78 */	mr r3, r16
/* 803C7C78 003C38D8  7E 24 8B 78 */	mr r4, r17
/* 803C7C7C 003C38DC  7E 45 93 78 */	mr r5, r18
/* 803C7C80 003C38E0  38 C0 00 57 */	li r6, 0x57
/* 803C7C84 003C38E4  4B FF 7F 0D */	bl func_803BFB90
/* 803C7C88 003C38E8  2C 03 00 01 */	cmpwi r3, 1
/* 803C7C8C 003C38EC  40 82 00 18 */	bne lbl_803C7CA4
/* 803C7C90 003C38F0  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7C94 003C38F4  38 00 00 64 */	li r0, 0x64
/* 803C7C98 003C38F8  1C 63 00 7D */	mulli r3, r3, 0x7d
/* 803C7C9C 003C38FC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7CA0 003C3900  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7CA4:
/* 803C7CA4 003C3904  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7CA8 003C3908  28 00 00 56 */	cmplwi r0, 0x56
/* 803C7CAC 003C390C  40 82 00 44 */	bne lbl_803C7CF0
/* 803C7CB0 003C3910  56 C0 08 3C */	slwi r0, r22, 1
/* 803C7CB4 003C3914  7C 16 07 74 */	extsb r22, r0
/* 803C7CB8 003C3918  2C 16 FF FA */	cmpwi r22, -6
/* 803C7CBC 003C391C  40 80 00 08 */	bge lbl_803C7CC4
/* 803C7CC0 003C3920  3A C0 FF FA */	li r22, -6
lbl_803C7CC4:
/* 803C7CC4 003C3924  2C 16 00 06 */	cmpwi r22, 6
/* 803C7CC8 003C3928  40 81 00 08 */	ble lbl_803C7CD0
/* 803C7CCC 003C392C  3A C0 00 06 */	li r22, 6
lbl_803C7CD0:
/* 803C7CD0 003C3930  56 80 08 3C */	slwi r0, r20, 1
/* 803C7CD4 003C3934  7C 14 07 74 */	extsb r20, r0
/* 803C7CD8 003C3938  2C 14 FF FA */	cmpwi r20, -6
/* 803C7CDC 003C393C  40 80 00 08 */	bge lbl_803C7CE4
/* 803C7CE0 003C3940  3A 80 FF FA */	li r20, -6
lbl_803C7CE4:
/* 803C7CE4 003C3944  2C 14 00 06 */	cmpwi r20, 6
/* 803C7CE8 003C3948  40 81 00 08 */	ble lbl_803C7CF0
/* 803C7CEC 003C394C  3A 80 00 06 */	li r20, 6
lbl_803C7CF0:
/* 803C7CF0 003C3950  7E 03 83 78 */	mr r3, r16
/* 803C7CF4 003C3954  7E 24 8B 78 */	mr r4, r17
/* 803C7CF8 003C3958  7E 45 93 78 */	mr r5, r18
/* 803C7CFC 003C395C  38 C0 00 56 */	li r6, 0x56
/* 803C7D00 003C3960  4B FF 7E 91 */	bl func_803BFB90
/* 803C7D04 003C3964  2C 03 00 01 */	cmpwi r3, 1
/* 803C7D08 003C3968  40 82 00 44 */	bne lbl_803C7D4C
/* 803C7D0C 003C396C  56 A0 08 3C */	slwi r0, r21, 1
/* 803C7D10 003C3970  7C 15 07 74 */	extsb r21, r0
/* 803C7D14 003C3974  2C 15 FF FA */	cmpwi r21, -6
/* 803C7D18 003C3978  40 80 00 08 */	bge lbl_803C7D20
/* 803C7D1C 003C397C  3A A0 FF FA */	li r21, -6
lbl_803C7D20:
/* 803C7D20 003C3980  2C 15 00 06 */	cmpwi r21, 6
/* 803C7D24 003C3984  40 81 00 08 */	ble lbl_803C7D2C
/* 803C7D28 003C3988  3A A0 00 06 */	li r21, 6
lbl_803C7D2C:
/* 803C7D2C 003C398C  56 60 08 3C */	slwi r0, r19, 1
/* 803C7D30 003C3990  7C 13 07 74 */	extsb r19, r0
/* 803C7D34 003C3994  2C 13 FF FA */	cmpwi r19, -6
/* 803C7D38 003C3998  40 80 00 08 */	bge lbl_803C7D40
/* 803C7D3C 003C399C  3A 60 FF FA */	li r19, -6
lbl_803C7D40:
/* 803C7D40 003C39A0  2C 13 00 06 */	cmpwi r19, 6
/* 803C7D44 003C39A4  40 81 00 08 */	ble lbl_803C7D4C
/* 803C7D48 003C39A8  3A 60 00 06 */	li r19, 6
lbl_803C7D4C:
/* 803C7D4C 003C39AC  7E 03 83 78 */	mr r3, r16
/* 803C7D50 003C39B0  7E 24 8B 78 */	mr r4, r17
/* 803C7D54 003C39B4  7E 45 93 78 */	mr r5, r18
/* 803C7D58 003C39B8  38 C0 00 6D */	li r6, 0x6d
/* 803C7D5C 003C39BC  4B FF 7E 35 */	bl func_803BFB90
/* 803C7D60 003C39C0  2C 03 00 01 */	cmpwi r3, 1
/* 803C7D64 003C39C4  40 82 00 0C */	bne lbl_803C7D70
/* 803C7D68 003C39C8  3A C0 00 00 */	li r22, 0
/* 803C7D6C 003C39CC  3A 80 00 00 */	li r20, 0
lbl_803C7D70:
/* 803C7D70 003C39D0  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7D74 003C39D4  28 00 00 6D */	cmplwi r0, 0x6d
/* 803C7D78 003C39D8  40 82 00 0C */	bne lbl_803C7D84
/* 803C7D7C 003C39DC  3A A0 00 00 */	li r21, 0
/* 803C7D80 003C39E0  3A 60 00 00 */	li r19, 0
lbl_803C7D84:
/* 803C7D84 003C39E4  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7D88 003C39E8  38 B6 00 06 */	addi r5, r22, 6
/* 803C7D8C 003C39EC  28 00 00 4F */	cmplwi r0, 0x4f
/* 803C7D90 003C39F0  38 95 00 06 */	addi r4, r21, 6
/* 803C7D94 003C39F4  38 74 00 06 */	addi r3, r20, 6
/* 803C7D98 003C39F8  38 13 00 06 */	addi r0, r19, 6
/* 803C7D9C 003C39FC  7C B6 07 74 */	extsb r22, r5
/* 803C7DA0 003C3A00  7C 95 07 74 */	extsb r21, r4
/* 803C7DA4 003C3A04  7C 74 07 74 */	extsb r20, r3
/* 803C7DA8 003C3A08  7C 13 07 74 */	extsb r19, r0
/* 803C7DAC 003C3A0C  40 82 00 40 */	bne lbl_803C7DEC
/* 803C7DB0 003C3A10  88 61 00 1F */	lbz r3, 0x1f(r1)
/* 803C7DB4 003C3A14  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C7DB8 003C3A18  7C 03 00 40 */	cmplw r3, r0
/* 803C7DBC 003C3A1C  40 82 00 30 */	bne lbl_803C7DEC
/* 803C7DC0 003C3A20  7C 60 1B 78 */	mr r0, r3
/* 803C7DC4 003C3A24  28 00 00 02 */	cmplwi r0, 2
/* 803C7DC8 003C3A28  41 82 00 24 */	beq lbl_803C7DEC
/* 803C7DCC 003C3A2C  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C7DD0 003C3A30  28 00 00 02 */	cmplwi r0, 2
/* 803C7DD4 003C3A34  41 82 00 18 */	beq lbl_803C7DEC
/* 803C7DD8 003C3A38  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7DDC 003C3A3C  38 00 00 64 */	li r0, 0x64
/* 803C7DE0 003C3A40  1C 63 00 7D */	mulli r3, r3, 0x7d
/* 803C7DE4 003C3A44  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7DE8 003C3A48  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7DEC:
/* 803C7DEC 003C3A4C  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7DF0 003C3A50  28 00 00 4F */	cmplwi r0, 0x4f
/* 803C7DF4 003C3A54  40 82 00 40 */	bne lbl_803C7E34
/* 803C7DF8 003C3A58  88 61 00 1F */	lbz r3, 0x1f(r1)
/* 803C7DFC 003C3A5C  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C7E00 003C3A60  7C 03 00 40 */	cmplw r3, r0
/* 803C7E04 003C3A64  41 82 00 30 */	beq lbl_803C7E34
/* 803C7E08 003C3A68  7C 60 1B 78 */	mr r0, r3
/* 803C7E0C 003C3A6C  28 00 00 02 */	cmplwi r0, 2
/* 803C7E10 003C3A70  41 82 00 24 */	beq lbl_803C7E34
/* 803C7E14 003C3A74  88 01 00 1E */	lbz r0, 0x1e(r1)
/* 803C7E18 003C3A78  28 00 00 02 */	cmplwi r0, 2
/* 803C7E1C 003C3A7C  41 82 00 18 */	beq lbl_803C7E34
/* 803C7E20 003C3A80  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7E24 003C3A84  38 00 00 64 */	li r0, 0x64
/* 803C7E28 003C3A88  1C 63 00 4B */	mulli r3, r3, 0x4b
/* 803C7E2C 003C3A8C  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7E30 003C3A90  54 1C 04 3E */	clrlwi r28, r0, 0x10
lbl_803C7E34:
/* 803C7E34 003C3A94  38 00 00 0F */	li r0, 0xf
/* 803C7E38 003C3A98  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 803C7E3C 003C3A9C  38 DE 01 D4 */	addi r6, r30, 0x1d4
/* 803C7E40 003C3AA0  38 60 00 00 */	li r3, 0
/* 803C7E44 003C3AA4  7C 09 03 A6 */	mtctr r0
lbl_803C7E48:
/* 803C7E48 003C3AA8  7C A6 1A 2E */	lhzx r5, r6, r3
/* 803C7E4C 003C3AAC  80 01 00 08 */	lwz r0, 8(r1)
/* 803C7E50 003C3AB0  7C 00 28 00 */	cmpw r0, r5
/* 803C7E54 003C3AB4  40 82 00 24 */	bne lbl_803C7E78
/* 803C7E58 003C3AB8  28 04 00 59 */	cmplwi r4, 0x59
/* 803C7E5C 003C3ABC  40 82 00 1C */	bne lbl_803C7E78
/* 803C7E60 003C3AC0  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 803C7E64 003C3AC4  38 00 00 0A */	li r0, 0xa
/* 803C7E68 003C3AC8  1C 63 00 0C */	mulli r3, r3, 0xc
/* 803C7E6C 003C3ACC  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7E70 003C3AD0  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C7E74 003C3AD4  48 00 00 0C */	b lbl_803C7E80
lbl_803C7E78:
/* 803C7E78 003C3AD8  38 63 00 02 */	addi r3, r3, 2
/* 803C7E7C 003C3ADC  42 00 FF CC */	bdnz lbl_803C7E48
lbl_803C7E80:
/* 803C7E80 003C3AE0  7D E3 7B 78 */	mr r3, r15
/* 803C7E84 003C3AE4  7E 04 83 78 */	mr r4, r16
/* 803C7E88 003C3AE8  38 A0 00 08 */	li r5, 8
/* 803C7E8C 003C3AEC  38 C0 00 00 */	li r6, 0
/* 803C7E90 003C3AF0  38 E0 00 0D */	li r7, 0xd
/* 803C7E94 003C3AF4  4B FF 74 ED */	bl func_803BF380
/* 803C7E98 003C3AF8  2C 03 00 00 */	cmpwi r3, 0
/* 803C7E9C 003C3AFC  40 82 01 0C */	bne lbl_803C7FA8
/* 803C7EA0 003C3B00  7D E3 7B 78 */	mr r3, r15
/* 803C7EA4 003C3B04  7E 04 83 78 */	mr r4, r16
/* 803C7EA8 003C3B08  38 A0 00 08 */	li r5, 8
/* 803C7EAC 003C3B0C  38 C0 00 00 */	li r6, 0
/* 803C7EB0 003C3B10  38 E0 00 4C */	li r7, 0x4c
/* 803C7EB4 003C3B14  4B FF 74 CD */	bl func_803BF380
/* 803C7EB8 003C3B18  2C 03 00 00 */	cmpwi r3, 0
/* 803C7EBC 003C3B1C  40 82 00 EC */	bne lbl_803C7FA8
/* 803C7EC0 003C3B20  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C7EC4 003C3B24  54 1D 06 B7 */	rlwinm. r29, r0, 0, 0x1a, 0x1b
/* 803C7EC8 003C3B28  41 82 00 20 */	beq lbl_803C7EE8
/* 803C7ECC 003C3B2C  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803C7ED0 003C3B30  28 00 00 5E */	cmplwi r0, 0x5e
/* 803C7ED4 003C3B34  40 82 00 14 */	bne lbl_803C7EE8
/* 803C7ED8 003C3B38  1C 78 00 0F */	mulli r3, r24, 0xf
/* 803C7EDC 003C3B3C  38 00 00 0A */	li r0, 0xa
/* 803C7EE0 003C3B40  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7EE4 003C3B44  54 18 04 3E */	clrlwi r24, r0, 0x10
lbl_803C7EE8:
/* 803C7EE8 003C3B48  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C7EEC 003C3B4C  54 00 07 3B */	rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 803C7EF0 003C3B50  41 82 00 2C */	beq lbl_803C7F1C
/* 803C7EF4 003C3B54  88 01 00 1D */	lbz r0, 0x1d(r1)
/* 803C7EF8 003C3B58  28 00 00 05 */	cmplwi r0, 5
/* 803C7EFC 003C3B5C  41 82 00 10 */	beq lbl_803C7F0C
/* 803C7F00 003C3B60  88 01 00 1C */	lbz r0, 0x1c(r1)
/* 803C7F04 003C3B64  28 00 00 05 */	cmplwi r0, 5
/* 803C7F08 003C3B68  40 82 00 14 */	bne lbl_803C7F1C
lbl_803C7F0C:
/* 803C7F0C 003C3B6C  1C 77 00 0F */	mulli r3, r23, 0xf
/* 803C7F10 003C3B70  38 00 00 0A */	li r0, 0xa
/* 803C7F14 003C3B74  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7F18 003C3B78  54 17 04 3E */	clrlwi r23, r0, 0x10
lbl_803C7F1C:
/* 803C7F1C 003C3B7C  2C 1D 00 00 */	cmpwi r29, 0
/* 803C7F20 003C3B80  41 82 00 38 */	beq lbl_803C7F58
/* 803C7F24 003C3B84  7D E3 7B 78 */	mr r3, r15
/* 803C7F28 003C3B88  7E 04 83 78 */	mr r4, r16
/* 803C7F2C 003C3B8C  7E 26 8B 78 */	mr r6, r17
/* 803C7F30 003C3B90  38 A0 00 01 */	li r5, 1
/* 803C7F34 003C3B94  38 E0 00 7A */	li r7, 0x7a
/* 803C7F38 003C3B98  4B FF 74 49 */	bl func_803BF380
/* 803C7F3C 003C3B9C  2C 03 00 00 */	cmpwi r3, 0
/* 803C7F40 003C3BA0  41 82 00 18 */	beq lbl_803C7F58
/* 803C7F44 003C3BA4  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 803C7F48 003C3BA8  38 00 00 0A */	li r0, 0xa
/* 803C7F4C 003C3BAC  1C 63 00 0F */	mulli r3, r3, 0xf
/* 803C7F50 003C3BB0  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7F54 003C3BB4  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_803C7F58:
/* 803C7F58 003C3BB8  2C 1D 00 00 */	cmpwi r29, 0
/* 803C7F5C 003C3BBC  41 82 00 4C */	beq lbl_803C7FA8
/* 803C7F60 003C3BC0  7E 03 83 78 */	mr r3, r16
/* 803C7F64 003C3BC4  7E 24 8B 78 */	mr r4, r17
/* 803C7F68 003C3BC8  4B FF 7B B1 */	bl func_803BFB18
/* 803C7F6C 003C3BCC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C7F70 003C3BD0  28 00 00 68 */	cmplwi r0, 0x68
/* 803C7F74 003C3BD4  41 82 00 34 */	beq lbl_803C7FA8
/* 803C7F78 003C3BD8  7D E3 7B 78 */	mr r3, r15
/* 803C7F7C 003C3BDC  7E 04 83 78 */	mr r4, r16
/* 803C7F80 003C3BE0  7E 46 93 78 */	mr r6, r18
/* 803C7F84 003C3BE4  38 A0 00 01 */	li r5, 1
/* 803C7F88 003C3BE8  38 E0 00 7A */	li r7, 0x7a
/* 803C7F8C 003C3BEC  4B FF 73 F5 */	bl func_803BF380
/* 803C7F90 003C3BF0  2C 03 00 00 */	cmpwi r3, 0
/* 803C7F94 003C3BF4  41 82 00 14 */	beq lbl_803C7FA8
/* 803C7F98 003C3BF8  1C 77 00 0F */	mulli r3, r23, 0xf
/* 803C7F9C 003C3BFC  38 00 00 0A */	li r0, 0xa
/* 803C7FA0 003C3C00  7C 03 03 D6 */	divw r0, r3, r0
/* 803C7FA4 003C3C04  54 17 04 3E */	clrlwi r23, r0, 0x10
lbl_803C7FA8:
/* 803C7FA8 003C3C08  80 01 00 18 */	lwz r0, 0x18(r1)
/* 803C7FAC 003C3C0C  7C 70 02 14 */	add r3, r16, r0
/* 803C7FB0 003C3C10  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803C7FB4 003C3C14  28 00 00 07 */	cmplwi r0, 7
/* 803C7FB8 003C3C18  40 82 00 08 */	bne lbl_803C7FC0
/* 803C7FBC 003C3C1C  55 CE FC 7E */	rlwinm r14, r14, 0x1f, 0x11, 0x1f
lbl_803C7FC0:
/* 803C7FC0 003C3C20  88 61 00 15 */	lbz r3, 0x15(r1)
/* 803C7FC4 003C3C24  2C 03 00 00 */	cmpwi r3, 0
/* 803C7FC8 003C3C28  40 82 01 78 */	bne lbl_803C8140
/* 803C7FCC 003C3C2C  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C7FD0 003C3C30  28 03 00 01 */	cmplwi r3, 1
/* 803C7FD4 003C3C34  40 81 00 38 */	ble lbl_803C800C
/* 803C7FD8 003C3C38  2C 16 00 06 */	cmpwi r22, 6
/* 803C7FDC 003C3C3C  40 81 00 28 */	ble lbl_803C8004
/* 803C7FE0 003C3C40  56 C6 08 3C */	slwi r6, r22, 1
/* 803C7FE4 003C3C44  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C7FE8 003C3C48  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C7FEC 003C3C4C  57 25 04 3E */	clrlwi r5, r25, 0x10
/* 803C7FF0 003C3C50  7C 63 32 14 */	add r3, r3, r6
/* 803C7FF4 003C3C54  7F 65 21 D6 */	mullw r27, r5, r4
/* 803C7FF8 003C3C58  88 63 00 01 */	lbz r3, 1(r3)
/* 803C7FFC 003C3C5C  7F 7B 1B D6 */	divw r27, r27, r3
/* 803C8000 003C3C60  48 00 00 2C */	b lbl_803C802C
lbl_803C8004:
/* 803C8004 003C3C64  57 3B 04 3E */	clrlwi r27, r25, 0x10
/* 803C8008 003C3C68  48 00 00 24 */	b lbl_803C802C
lbl_803C800C:
/* 803C800C 003C3C6C  56 C6 08 3C */	slwi r6, r22, 1
/* 803C8010 003C3C70  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C8014 003C3C74  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C8018 003C3C78  57 25 04 3E */	clrlwi r5, r25, 0x10
/* 803C801C 003C3C7C  7C 63 32 14 */	add r3, r3, r6
/* 803C8020 003C3C80  7F 65 21 D6 */	mullw r27, r5, r4
/* 803C8024 003C3C84  88 63 00 01 */	lbz r3, 1(r3)
/* 803C8028 003C3C88  7F 7B 1B D6 */	divw r27, r27, r3
lbl_803C802C:
/* 803C802C 003C3C8C  80 61 00 30 */	lwz r3, 0x30(r1)
/* 803C8030 003C3C90  57 85 04 3E */	clrlwi r5, r28, 0x10
/* 803C8034 003C3C94  7F 7B 29 D6 */	mullw r27, r27, r5
/* 803C8038 003C3C98  54 64 0D FC */	rlwinm r4, r3, 1, 0x17, 0x1e
/* 803C803C 003C3C9C  38 60 00 05 */	li r3, 5
/* 803C8040 003C3CA0  7C 84 1B D6 */	divw r4, r4, r3
/* 803C8044 003C3CA4  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C8048 003C3CA8  28 03 00 01 */	cmplwi r3, 1
/* 803C804C 003C3CAC  38 64 00 02 */	addi r3, r4, 2
/* 803C8050 003C3CB0  7F 7B 19 D6 */	mullw r27, r27, r3
/* 803C8054 003C3CB4  40 81 00 38 */	ble lbl_803C808C
/* 803C8058 003C3CB8  2C 15 00 06 */	cmpwi r21, 6
/* 803C805C 003C3CBC  40 80 00 28 */	bge lbl_803C8084
/* 803C8060 003C3CC0  56 A6 08 3C */	slwi r6, r21, 1
/* 803C8064 003C3CC4  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C8068 003C3CC8  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C806C 003C3CCC  55 C5 04 3E */	clrlwi r5, r14, 0x10
/* 803C8070 003C3CD0  7C 63 32 14 */	add r3, r3, r6
/* 803C8074 003C3CD4  7C 85 21 D6 */	mullw r4, r5, r4
/* 803C8078 003C3CD8  88 63 00 01 */	lbz r3, 1(r3)
/* 803C807C 003C3CDC  7C 84 1B D6 */	divw r4, r4, r3
/* 803C8080 003C3CE0  48 00 00 2C */	b lbl_803C80AC
lbl_803C8084:
/* 803C8084 003C3CE4  55 C4 04 3E */	clrlwi r4, r14, 0x10
/* 803C8088 003C3CE8  48 00 00 24 */	b lbl_803C80AC
lbl_803C808C:
/* 803C808C 003C3CEC  56 A6 08 3C */	slwi r6, r21, 1
/* 803C8090 003C3CF0  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C8094 003C3CF4  7C 83 30 AE */	lbzx r4, r3, r6
/* 803C8098 003C3CF8  55 C5 04 3E */	clrlwi r5, r14, 0x10
/* 803C809C 003C3CFC  7C 63 32 14 */	add r3, r3, r6
/* 803C80A0 003C3D00  7C 85 21 D6 */	mullw r4, r5, r4
/* 803C80A4 003C3D04  88 63 00 01 */	lbz r3, 1(r3)
/* 803C80A8 003C3D08  7C 84 1B D6 */	divw r4, r4, r3
lbl_803C80AC:
/* 803C80AC 003C3D0C  7F 7B 23 D6 */	divw r27, r27, r4
/* 803C80B0 003C3D10  38 80 00 32 */	li r4, 0x32
/* 803C80B4 003C3D14  80 61 00 34 */	lwz r3, 0x34(r1)
/* 803C80B8 003C3D18  54 63 06 F7 */	rlwinm. r3, r3, 0, 0x1b, 0x1b
/* 803C80BC 003C3D1C  7F 7B 23 D6 */	divw r27, r27, r4
/* 803C80C0 003C3D20  41 82 00 18 */	beq lbl_803C80D8
/* 803C80C4 003C3D24  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 803C80C8 003C3D28  28 03 00 3E */	cmplwi r3, 0x3e
/* 803C80CC 003C3D2C  41 82 00 0C */	beq lbl_803C80D8
/* 803C80D0 003C3D30  7F 63 0E 70 */	srawi r3, r27, 1
/* 803C80D4 003C3D34  7F 63 01 94 */	addze r27, r3
lbl_803C80D8:
/* 803C80D8 003C3D38  80 61 00 0C */	lwz r3, 0xc(r1)
/* 803C80DC 003C3D3C  54 63 07 FF */	clrlwi. r3, r3, 0x1f
/* 803C80E0 003C3D40  41 82 01 A4 */	beq lbl_803C8284
/* 803C80E4 003C3D44  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C80E8 003C3D48  28 03 00 01 */	cmplwi r3, 1
/* 803C80EC 003C3D4C  40 82 01 98 */	bne lbl_803C8284
/* 803C80F0 003C3D50  28 00 00 BA */	cmplwi r0, 0xba
/* 803C80F4 003C3D54  41 82 01 90 */	beq lbl_803C8284
/* 803C80F8 003C3D58  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C80FC 003C3D5C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803C8100 003C3D60  41 82 00 34 */	beq lbl_803C8134
/* 803C8104 003C3D64  7D E3 7B 78 */	mr r3, r15
/* 803C8108 003C3D68  7E 04 83 78 */	mr r4, r16
/* 803C810C 003C3D6C  7E 46 93 78 */	mr r6, r18
/* 803C8110 003C3D70  38 A0 00 01 */	li r5, 1
/* 803C8114 003C3D74  4B FF 71 15 */	bl func_803BF228
/* 803C8118 003C3D78  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C811C 003C3D7C  28 00 00 02 */	cmplwi r0, 2
/* 803C8120 003C3D80  40 82 00 14 */	bne lbl_803C8134
/* 803C8124 003C3D84  57 63 08 3C */	slwi r3, r27, 1
/* 803C8128 003C3D88  38 00 00 03 */	li r0, 3
/* 803C812C 003C3D8C  7F 63 03 D6 */	divw r27, r3, r0
/* 803C8130 003C3D90  48 00 01 54 */	b lbl_803C8284
lbl_803C8134:
/* 803C8134 003C3D94  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C8138 003C3D98  7F 60 01 94 */	addze r27, r0
/* 803C813C 003C3D9C  48 00 01 48 */	b lbl_803C8284
lbl_803C8140:
/* 803C8140 003C3DA0  28 03 00 01 */	cmplwi r3, 1
/* 803C8144 003C3DA4  40 82 01 40 */	bne lbl_803C8284
/* 803C8148 003C3DA8  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C814C 003C3DAC  28 03 00 01 */	cmplwi r3, 1
/* 803C8150 003C3DB0  40 81 00 34 */	ble lbl_803C8184
/* 803C8154 003C3DB4  2C 14 00 06 */	cmpwi r20, 6
/* 803C8158 003C3DB8  40 81 00 24 */	ble lbl_803C817C
/* 803C815C 003C3DBC  56 85 08 3C */	slwi r5, r20, 1
/* 803C8160 003C3DC0  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C8164 003C3DC4  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C8168 003C3DC8  7C 63 2A 14 */	add r3, r3, r5
/* 803C816C 003C3DCC  88 63 00 01 */	lbz r3, 1(r3)
/* 803C8170 003C3DD0  7F 78 21 D6 */	mullw r27, r24, r4
/* 803C8174 003C3DD4  7F 7B 1B D6 */	divw r27, r27, r3
/* 803C8178 003C3DD8  48 00 00 28 */	b lbl_803C81A0
lbl_803C817C:
/* 803C817C 003C3DDC  7F 1B C3 78 */	mr r27, r24
/* 803C8180 003C3DE0  48 00 00 20 */	b lbl_803C81A0
lbl_803C8184:
/* 803C8184 003C3DE4  56 85 08 3C */	slwi r5, r20, 1
/* 803C8188 003C3DE8  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C818C 003C3DEC  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C8190 003C3DF0  7C 63 2A 14 */	add r3, r3, r5
/* 803C8194 003C3DF4  88 63 00 01 */	lbz r3, 1(r3)
/* 803C8198 003C3DF8  7F 78 21 D6 */	mullw r27, r24, r4
/* 803C819C 003C3DFC  7F 7B 1B D6 */	divw r27, r27, r3
lbl_803C81A0:
/* 803C81A0 003C3E00  80 61 00 30 */	lwz r3, 0x30(r1)
/* 803C81A4 003C3E04  57 85 04 3E */	clrlwi r5, r28, 0x10
/* 803C81A8 003C3E08  7F 7B 29 D6 */	mullw r27, r27, r5
/* 803C81AC 003C3E0C  54 64 0D FC */	rlwinm r4, r3, 1, 0x17, 0x1e
/* 803C81B0 003C3E10  38 60 00 05 */	li r3, 5
/* 803C81B4 003C3E14  7C 84 1B D6 */	divw r4, r4, r3
/* 803C81B8 003C3E18  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C81BC 003C3E1C  28 03 00 01 */	cmplwi r3, 1
/* 803C81C0 003C3E20  38 64 00 02 */	addi r3, r4, 2
/* 803C81C4 003C3E24  7F 7B 19 D6 */	mullw r27, r27, r3
/* 803C81C8 003C3E28  40 81 00 30 */	ble lbl_803C81F8
/* 803C81CC 003C3E2C  2C 13 00 06 */	cmpwi r19, 6
/* 803C81D0 003C3E30  40 80 00 44 */	bge lbl_803C8214
/* 803C81D4 003C3E34  56 65 08 3C */	slwi r5, r19, 1
/* 803C81D8 003C3E38  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C81DC 003C3E3C  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C81E0 003C3E40  7C 63 2A 14 */	add r3, r3, r5
/* 803C81E4 003C3E44  88 63 00 01 */	lbz r3, 1(r3)
/* 803C81E8 003C3E48  7E F7 21 D6 */	mullw r23, r23, r4
/* 803C81EC 003C3E4C  7E F7 1B D6 */	divw r23, r23, r3
/* 803C81F0 003C3E50  48 00 00 24 */	b lbl_803C8214
/* 803C81F4 003C3E54  48 00 00 20 */	b lbl_803C8214
lbl_803C81F8:
/* 803C81F8 003C3E58  56 65 08 3C */	slwi r5, r19, 1
/* 803C81FC 003C3E5C  38 7E 01 BA */	addi r3, r30, 0x1ba
/* 803C8200 003C3E60  7C 83 28 AE */	lbzx r4, r3, r5
/* 803C8204 003C3E64  7C 63 2A 14 */	add r3, r3, r5
/* 803C8208 003C3E68  88 63 00 01 */	lbz r3, 1(r3)
/* 803C820C 003C3E6C  7E F7 21 D6 */	mullw r23, r23, r4
/* 803C8210 003C3E70  7E F7 1B D6 */	divw r23, r23, r3
lbl_803C8214:
/* 803C8214 003C3E74  7F 7B BB D6 */	divw r27, r27, r23
/* 803C8218 003C3E78  38 80 00 32 */	li r4, 0x32
/* 803C821C 003C3E7C  80 61 00 0C */	lwz r3, 0xc(r1)
/* 803C8220 003C3E80  54 63 07 BD */	rlwinm. r3, r3, 0, 0x1e, 0x1e
/* 803C8224 003C3E84  7F 7B 23 D6 */	divw r27, r27, r4
/* 803C8228 003C3E88  41 82 00 5C */	beq lbl_803C8284
/* 803C822C 003C3E8C  88 61 00 9F */	lbz r3, 0x9f(r1)
/* 803C8230 003C3E90  28 03 00 01 */	cmplwi r3, 1
/* 803C8234 003C3E94  40 82 00 50 */	bne lbl_803C8284
/* 803C8238 003C3E98  28 00 00 BA */	cmplwi r0, 0xba
/* 803C823C 003C3E9C  41 82 00 48 */	beq lbl_803C8284
/* 803C8240 003C3EA0  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C8244 003C3EA4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803C8248 003C3EA8  41 82 00 34 */	beq lbl_803C827C
/* 803C824C 003C3EAC  7D E3 7B 78 */	mr r3, r15
/* 803C8250 003C3EB0  7E 04 83 78 */	mr r4, r16
/* 803C8254 003C3EB4  7E 46 93 78 */	mr r6, r18
/* 803C8258 003C3EB8  38 A0 00 01 */	li r5, 1
/* 803C825C 003C3EBC  4B FF 6F CD */	bl func_803BF228
/* 803C8260 003C3EC0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C8264 003C3EC4  28 00 00 02 */	cmplwi r0, 2
/* 803C8268 003C3EC8  40 82 00 14 */	bne lbl_803C827C
/* 803C826C 003C3ECC  57 63 08 3C */	slwi r3, r27, 1
/* 803C8270 003C3ED0  38 00 00 03 */	li r0, 3
/* 803C8274 003C3ED4  7F 63 03 D6 */	divw r27, r3, r0
/* 803C8278 003C3ED8  48 00 00 0C */	b lbl_803C8284
lbl_803C827C:
/* 803C827C 003C3EDC  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C8280 003C3EE0  7F 60 01 94 */	addze r27, r0
lbl_803C8284:
/* 803C8284 003C3EE4  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 803C8288 003C3EE8  54 0E 07 BD */	rlwinm. r14, r0, 0, 0x1e, 0x1e
/* 803C828C 003C3EEC  41 82 00 44 */	beq lbl_803C82D0
/* 803C8290 003C3EF0  80 01 00 18 */	lwz r0, 0x18(r1)
/* 803C8294 003C3EF4  7C 70 02 14 */	add r3, r16, r0
/* 803C8298 003C3EF8  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803C829C 003C3EFC  28 00 00 04 */	cmplwi r0, 4
/* 803C82A0 003C3F00  40 82 00 30 */	bne lbl_803C82D0
/* 803C82A4 003C3F04  7D E3 7B 78 */	mr r3, r15
/* 803C82A8 003C3F08  7E 04 83 78 */	mr r4, r16
/* 803C82AC 003C3F0C  7E 46 93 78 */	mr r6, r18
/* 803C82B0 003C3F10  38 A0 00 01 */	li r5, 1
/* 803C82B4 003C3F14  4B FF 6F 75 */	bl func_803BF228
/* 803C82B8 003C3F18  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C82BC 003C3F1C  28 00 00 02 */	cmplwi r0, 2
/* 803C82C0 003C3F20  40 82 00 10 */	bne lbl_803C82D0
/* 803C82C4 003C3F24  1C 1B 00 03 */	mulli r0, r27, 3
/* 803C82C8 003C3F28  7C 00 16 70 */	srawi r0, r0, 2
/* 803C82CC 003C3F2C  7F 60 01 94 */	addze r27, r0
lbl_803C82D0:
/* 803C82D0 003C3F30  2C 0E 00 00 */	cmpwi r14, 0
/* 803C82D4 003C3F34  41 82 00 44 */	beq lbl_803C8318
/* 803C82D8 003C3F38  80 01 00 18 */	lwz r0, 0x18(r1)
/* 803C82DC 003C3F3C  7C 70 02 14 */	add r3, r16, r0
/* 803C82E0 003C3F40  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803C82E4 003C3F44  28 00 00 08 */	cmplwi r0, 8
/* 803C82E8 003C3F48  40 82 00 30 */	bne lbl_803C8318
/* 803C82EC 003C3F4C  7D E3 7B 78 */	mr r3, r15
/* 803C82F0 003C3F50  7E 04 83 78 */	mr r4, r16
/* 803C82F4 003C3F54  7E 46 93 78 */	mr r6, r18
/* 803C82F8 003C3F58  38 A0 00 00 */	li r5, 0
/* 803C82FC 003C3F5C  4B FF 6F 2D */	bl func_803BF228
/* 803C8300 003C3F60  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C8304 003C3F64  28 00 00 02 */	cmplwi r0, 2
/* 803C8308 003C3F68  41 80 00 10 */	blt lbl_803C8318
/* 803C830C 003C3F6C  1C 1B 00 03 */	mulli r0, r27, 3
/* 803C8310 003C3F70  7C 00 16 70 */	srawi r0, r0, 2
/* 803C8314 003C3F74  7F 60 01 94 */	addze r27, r0
lbl_803C8318:
/* 803C8318 003C3F78  7D E3 7B 78 */	mr r3, r15
/* 803C831C 003C3F7C  7E 04 83 78 */	mr r4, r16
/* 803C8320 003C3F80  38 A0 00 08 */	li r5, 8
/* 803C8324 003C3F84  38 C0 00 00 */	li r6, 0
/* 803C8328 003C3F88  38 E0 00 0D */	li r7, 0xd
/* 803C832C 003C3F8C  4B FF 70 55 */	bl func_803BF380
/* 803C8330 003C3F90  2C 03 00 00 */	cmpwi r3, 0
/* 803C8334 003C3F94  40 82 00 C4 */	bne lbl_803C83F8
/* 803C8338 003C3F98  7D E3 7B 78 */	mr r3, r15
/* 803C833C 003C3F9C  7E 04 83 78 */	mr r4, r16
/* 803C8340 003C3FA0  38 A0 00 08 */	li r5, 8
/* 803C8344 003C3FA4  38 C0 00 00 */	li r6, 0
/* 803C8348 003C3FA8  38 E0 00 4C */	li r7, 0x4c
/* 803C834C 003C3FAC  4B FF 70 35 */	bl func_803BF380
/* 803C8350 003C3FB0  2C 03 00 00 */	cmpwi r3, 0
/* 803C8354 003C3FB4  40 82 00 A4 */	bne lbl_803C83F8
/* 803C8358 003C3FB8  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C835C 003C3FBC  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803C8360 003C3FC0  41 82 00 38 */	beq lbl_803C8398
/* 803C8364 003C3FC4  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C8368 003C3FC8  2C 00 00 0B */	cmpwi r0, 0xb
/* 803C836C 003C3FCC  41 82 00 20 */	beq lbl_803C838C
/* 803C8370 003C3FD0  40 80 00 28 */	bge lbl_803C8398
/* 803C8374 003C3FD4  2C 00 00 0A */	cmpwi r0, 0xa
/* 803C8378 003C3FD8  40 80 00 08 */	bge lbl_803C8380
/* 803C837C 003C3FDC  48 00 00 1C */	b lbl_803C8398
lbl_803C8380:
/* 803C8380 003C3FE0  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C8384 003C3FE4  7F 60 01 94 */	addze r27, r0
/* 803C8388 003C3FE8  48 00 00 10 */	b lbl_803C8398
lbl_803C838C:
/* 803C838C 003C3FEC  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803C8390 003C3FF0  38 00 00 0A */	li r0, 0xa
/* 803C8394 003C3FF4  7F 63 03 D6 */	divw r27, r3, r0
lbl_803C8398:
/* 803C8398 003C3FF8  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C839C 003C3FFC  70 00 80 CF */	andi. r0, r0, 0x80cf
/* 803C83A0 003C4000  41 82 00 18 */	beq lbl_803C83B8
/* 803C83A4 003C4004  80 01 00 08 */	lwz r0, 8(r1)
/* 803C83A8 003C4008  2C 00 00 4C */	cmpwi r0, 0x4c
/* 803C83AC 003C400C  40 82 00 0C */	bne lbl_803C83B8
/* 803C83B0 003C4010  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C83B4 003C4014  7F 60 01 94 */	addze r27, r0
lbl_803C83B8:
/* 803C83B8 003C4018  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803C83BC 003C401C  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803C83C0 003C4020  41 82 00 38 */	beq lbl_803C83F8
/* 803C83C4 003C4024  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C83C8 003C4028  2C 00 00 0B */	cmpwi r0, 0xb
/* 803C83CC 003C402C  41 82 00 24 */	beq lbl_803C83F0
/* 803C83D0 003C4030  40 80 00 28 */	bge lbl_803C83F8
/* 803C83D4 003C4034  2C 00 00 0A */	cmpwi r0, 0xa
/* 803C83D8 003C4038  40 80 00 08 */	bge lbl_803C83E0
/* 803C83DC 003C403C  48 00 00 1C */	b lbl_803C83F8
lbl_803C83E0:
/* 803C83E0 003C4040  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803C83E4 003C4044  38 00 00 0A */	li r0, 0xa
/* 803C83E8 003C4048  7F 63 03 D6 */	divw r27, r3, r0
/* 803C83EC 003C404C  48 00 00 0C */	b lbl_803C83F8
lbl_803C83F0:
/* 803C83F0 003C4050  7F 60 0E 70 */	srawi r0, r27, 1
/* 803C83F4 003C4054  7F 60 01 94 */	addze r27, r0
lbl_803C83F8:
/* 803C83F8 003C4058  7E 03 83 78 */	mr r3, r16
/* 803C83FC 003C405C  7E 24 8B 78 */	mr r4, r17
/* 803C8400 003C4060  38 A0 00 49 */	li r5, 0x49
/* 803C8404 003C4064  38 C0 00 00 */	li r6, 0
/* 803C8408 003C4068  4B FF 28 9D */	bl func_803BACA4
/* 803C840C 003C406C  2C 03 00 00 */	cmpwi r3, 0
/* 803C8410 003C4070  41 82 00 1C */	beq lbl_803C842C
/* 803C8414 003C4074  57 40 06 3E */	clrlwi r0, r26, 0x18
/* 803C8418 003C4078  28 00 00 0A */	cmplwi r0, 0xa
/* 803C841C 003C407C  40 82 00 10 */	bne lbl_803C842C
/* 803C8420 003C4080  1C 7B 00 0F */	mulli r3, r27, 0xf
/* 803C8424 003C4084  38 00 00 0A */	li r0, 0xa
/* 803C8428 003C4088  7F 63 03 D6 */	divw r27, r3, r0
lbl_803C842C:
/* 803C842C 003C408C  39 61 00 90 */	addi r11, r1, 0x90
/* 803C8430 003C4090  38 7B 00 02 */	addi r3, r27, 2
/* 803C8434 003C4094  4B DF ED 0D */	bl __restore_gpr
/* 803C8438 003C4098  80 01 00 94 */	lwz r0, 0x94(r1)
/* 803C843C 003C409C  7C 08 03 A6 */	mtlr r0
/* 803C8440 003C40A0  38 21 00 90 */	addi r1, r1, 0x90
/* 803C8444 003C40A4  4E 80 00 20 */	blr 

.global func_803C8448
func_803C8448:
/* 803C8448 003C40A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C844C 003C40AC  7C 08 02 A6 */	mflr r0
/* 803C8450 003C40B0  2C 04 00 00 */	cmpwi r4, 0
/* 803C8454 003C40B4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C8458 003C40B8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C845C 003C40BC  7C 9F 23 78 */	mr r31, r4
/* 803C8460 003C40C0  41 82 00 34 */	beq lbl_803C8494
/* 803C8464 003C40C4  48 01 13 55 */	bl func_803D97B8
/* 803C8468 003C40C8  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803C846C 003C40CC  38 00 00 64 */	li r0, 0x64
/* 803C8470 003C40D0  7C 83 26 70 */	srawi r3, r4, 4
/* 803C8474 003C40D4  7C 63 01 94 */	addze r3, r3
/* 803C8478 003C40D8  54 63 20 36 */	slwi r3, r3, 4
/* 803C847C 003C40DC  7C 63 20 50 */	subf r3, r3, r4
/* 803C8480 003C40E0  20 63 00 64 */	subfic r3, r3, 0x64
/* 803C8484 003C40E4  7F FF 19 D6 */	mullw r31, r31, r3
/* 803C8488 003C40E8  7F FF 03 D7 */	divw. r31, r31, r0
/* 803C848C 003C40EC  40 82 00 08 */	bne lbl_803C8494
/* 803C8490 003C40F0  3B E0 00 01 */	li r31, 1
lbl_803C8494:
/* 803C8494 003C40F4  7F E3 FB 78 */	mr r3, r31
/* 803C8498 003C40F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C849C 003C40FC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C84A0 003C4100  7C 08 03 A6 */	mtlr r0
/* 803C84A4 003C4104  38 21 00 10 */	addi r1, r1, 0x10
/* 803C84A8 003C4108  4E 80 00 20 */	blr 

.global func_803C84AC
func_803C84AC:
/* 803C84AC 003C410C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C84B0 003C4110  7C 08 02 A6 */	mflr r0
/* 803C84B4 003C4114  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C84B8 003C4118  39 61 00 30 */	addi r11, r1, 0x30
/* 803C84BC 003C411C  4B DF EC 65 */	bl _savegpr_25
/* 803C84C0 003C4120  7C 79 1B 78 */	mr r25, r3
/* 803C84C4 003C4124  7C 9A 23 78 */	mr r26, r4
/* 803C84C8 003C4128  7C BB 2B 78 */	mr r27, r5
/* 803C84CC 003C412C  7C DC 33 78 */	mr r28, r6
/* 803C84D0 003C4130  7C FD 3B 78 */	mr r29, r7
/* 803C84D4 003C4134  3B C0 00 01 */	li r30, 1
/* 803C84D8 003C4138  4B FF B8 95 */	bl func_803C3D6C
/* 803C84DC 003C413C  7C 60 1B 78 */	mr r0, r3
/* 803C84E0 003C4140  80 79 21 20 */	lwz r3, 0x2120(r25)
/* 803C84E4 003C4144  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803C84E8 003C4148  48 01 12 85 */	bl func_803D976C
/* 803C84EC 003C414C  38 80 00 01 */	li r4, 1
/* 803C84F0 003C4150  48 01 0D 3D */	bl func_803D922C
/* 803C84F4 003C4154  1C BA 00 C0 */	mulli r5, r26, 0xc0
/* 803C84F8 003C4158  38 03 FF BE */	addi r0, r3, -66
/* 803C84FC 003C415C  2C 03 00 58 */	cmpwi r3, 0x58
/* 803C8500 003C4160  7C 04 00 34 */	cntlzw r4, r0
/* 803C8504 003C4164  7C F9 2A 14 */	add r7, r25, r5
/* 803C8508 003C4168  38 00 00 00 */	li r0, 0
/* 803C850C 003C416C  1C DB 00 C0 */	mulli r6, r27, 0xc0
/* 803C8510 003C4170  89 07 2D 67 */	lbz r8, 0x2d67(r7)
/* 803C8514 003C4174  54 85 D9 7E */	srwi r5, r4, 5
/* 803C8518 003C4178  81 27 2D B0 */	lwz r9, 0x2db0(r7)
/* 803C851C 003C417C  38 88 FF 97 */	addi r4, r8, -105
/* 803C8520 003C4180  A1 07 2D 40 */	lhz r8, 0x2d40(r7)
/* 803C8524 003C4184  7C D9 32 14 */	add r6, r25, r6
/* 803C8528 003C4188  7C 84 00 34 */	cntlzw r4, r4
/* 803C852C 003C418C  54 87 D9 7E */	srwi r7, r4, 5
/* 803C8530 003C4190  83 E6 2D C0 */	lwz r31, 0x2dc0(r6)
/* 803C8534 003C4194  55 24 6F BC */	rlwinm r4, r9, 0xd, 0x1e, 0x1e
/* 803C8538 003C4198  7C DC 2A 14 */	add r6, r28, r5
/* 803C853C 003C419C  7C 87 22 14 */	add r4, r7, r4
/* 803C8540 003C41A0  40 82 00 10 */	bne lbl_803C8550
/* 803C8544 003C41A4  28 08 00 71 */	cmplwi r8, 0x71
/* 803C8548 003C41A8  40 82 00 08 */	bne lbl_803C8550
/* 803C854C 003C41AC  38 00 00 01 */	li r0, 1
lbl_803C8550:
/* 803C8550 003C41B0  2C 03 00 5B */	cmpwi r3, 0x5b
/* 803C8554 003C41B4  54 05 08 3C */	slwi r5, r0, 1
/* 803C8558 003C41B8  7C 86 22 14 */	add r4, r6, r4
/* 803C855C 003C41BC  38 00 00 00 */	li r0, 0
/* 803C8560 003C41C0  40 82 00 10 */	bne lbl_803C8570
/* 803C8564 003C41C4  28 08 00 53 */	cmplwi r8, 0x53
/* 803C8568 003C41C8  40 82 00 08 */	bne lbl_803C8570
/* 803C856C 003C41CC  38 00 00 01 */	li r0, 1
lbl_803C8570:
/* 803C8570 003C41D0  54 03 08 3C */	slwi r3, r0, 1
/* 803C8574 003C41D4  7C 05 22 14 */	add r0, r5, r4
/* 803C8578 003C41D8  7C 03 02 14 */	add r0, r3, r0
/* 803C857C 003C41DC  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803C8580 003C41E0  28 1C 00 04 */	cmplwi r28, 4
/* 803C8584 003C41E4  40 81 00 08 */	ble lbl_803C858C
/* 803C8588 003C41E8  3B 80 00 04 */	li r28, 4
lbl_803C858C:
/* 803C858C 003C41EC  48 01 12 2D */	bl func_803D97B8
/* 803C8590 003C41F0  38 82 A9 F0 */	addi r4, r2, lbl_80642FF0-_SDA2_BASE_
/* 803C8594 003C41F4  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803C8598 003C41F8  7C 64 E0 AE */	lbzx r3, r4, r28
/* 803C859C 003C41FC  7C 05 1B D6 */	divw r0, r5, r3
/* 803C85A0 003C4200  7C 00 19 D6 */	mullw r0, r0, r3
/* 803C85A4 003C4204  7C 00 28 51 */	subf. r0, r0, r5
/* 803C85A8 003C4208  40 82 00 50 */	bne lbl_803C85F8
/* 803C85AC 003C420C  7F 23 CB 78 */	mr r3, r25
/* 803C85B0 003C4210  7F 44 D3 78 */	mr r4, r26
/* 803C85B4 003C4214  7F 65 DB 78 */	mr r5, r27
/* 803C85B8 003C4218  38 C0 00 04 */	li r6, 4
/* 803C85BC 003C421C  4B FF 75 D5 */	bl func_803BFB90
/* 803C85C0 003C4220  2C 03 00 00 */	cmpwi r3, 0
/* 803C85C4 003C4224  40 82 00 34 */	bne lbl_803C85F8
/* 803C85C8 003C4228  7F 23 CB 78 */	mr r3, r25
/* 803C85CC 003C422C  7F 44 D3 78 */	mr r4, r26
/* 803C85D0 003C4230  7F 65 DB 78 */	mr r5, r27
/* 803C85D4 003C4234  38 C0 00 4B */	li r6, 0x4b
/* 803C85D8 003C4238  4B FF 75 B9 */	bl func_803BFB90
/* 803C85DC 003C423C  2C 03 00 00 */	cmpwi r3, 0
/* 803C85E0 003C4240  40 82 00 18 */	bne lbl_803C85F8
/* 803C85E4 003C4244  57 A0 04 67 */	rlwinm. r0, r29, 0, 0x11, 0x13
/* 803C85E8 003C4248  40 82 00 10 */	bne lbl_803C85F8
/* 803C85EC 003C424C  57 E0 04 21 */	rlwinm. r0, r31, 0, 0x10, 0x10
/* 803C85F0 003C4250  40 82 00 08 */	bne lbl_803C85F8
/* 803C85F4 003C4254  3B C0 00 02 */	li r30, 2
lbl_803C85F8:
/* 803C85F8 003C4258  2C 1E 00 02 */	cmpwi r30, 2
/* 803C85FC 003C425C  40 82 00 20 */	bne lbl_803C861C
/* 803C8600 003C4260  7F 23 CB 78 */	mr r3, r25
/* 803C8604 003C4264  7F 44 D3 78 */	mr r4, r26
/* 803C8608 003C4268  4B FF 75 11 */	bl func_803BFB18
/* 803C860C 003C426C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C8610 003C4270  28 00 00 61 */	cmplwi r0, 0x61
/* 803C8614 003C4274  40 82 00 08 */	bne lbl_803C861C
/* 803C8618 003C4278  3B C0 00 03 */	li r30, 3
lbl_803C861C:
/* 803C861C 003C427C  39 61 00 30 */	addi r11, r1, 0x30
/* 803C8620 003C4280  7F C3 F3 78 */	mr r3, r30
/* 803C8624 003C4284  4B DF EB 49 */	bl _restgpr_25
/* 803C8628 003C4288  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C862C 003C428C  7C 08 03 A6 */	mtlr r0
/* 803C8630 003C4290  38 21 00 30 */	addi r1, r1, 0x30
/* 803C8634 003C4294  4E 80 00 20 */	blr 

.global func_803C8638
func_803C8638:
/* 803C8638 003C4298  3C A0 80 40 */	lis r5, lbl_8040543A@ha
/* 803C863C 003C429C  38 80 00 00 */	li r4, 0
/* 803C8640 003C42A0  38 A5 54 3A */	addi r5, r5, lbl_8040543A@l
/* 803C8644 003C42A4  48 00 00 10 */	b lbl_803C8654
lbl_803C8648:
/* 803C8648 003C42A8  7C 03 00 40 */	cmplw r3, r0
/* 803C864C 003C42AC  41 82 00 14 */	beq lbl_803C8660
/* 803C8650 003C42B0  38 84 00 02 */	addi r4, r4, 2
lbl_803C8654:
/* 803C8654 003C42B4  7C 05 22 2E */	lhzx r0, r5, r4
/* 803C8658 003C42B8  28 00 FF FE */	cmplwi r0, 0xfffe
/* 803C865C 003C42BC  40 82 FF EC */	bne lbl_803C8648
lbl_803C8660:
/* 803C8660 003C42C0  3C A0 80 40 */	lis r5, lbl_8040543A@ha
/* 803C8664 003C42C4  3C 60 00 01 */	lis r3, 0x0000FFFE@ha
/* 803C8668 003C42C8  38 A5 54 3A */	addi r5, r5, lbl_8040543A@l
/* 803C866C 003C42CC  38 03 FF FE */	addi r0, r3, 0x0000FFFE@l
/* 803C8670 003C42D0  7C 65 22 2E */	lhzx r3, r5, r4
/* 803C8674 003C42D4  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 803C8678 003C42D8  7C 00 18 50 */	subf r0, r0, r3
/* 803C867C 003C42DC  7C 00 00 34 */	cntlzw r0, r0
/* 803C8680 003C42E0  54 03 D9 7E */	srwi r3, r0, 5
/* 803C8684 003C42E4  4E 80 00 20 */	blr 

.global func_803C8688
func_803C8688:
/* 803C8688 003C42E8  3C A0 80 40 */	lis r5, lbl_8040543A@ha
/* 803C868C 003C42EC  38 80 00 00 */	li r4, 0
/* 803C8690 003C42F0  38 A5 54 3A */	addi r5, r5, lbl_8040543A@l
/* 803C8694 003C42F4  48 00 00 10 */	b lbl_803C86A4
lbl_803C8698:
/* 803C8698 003C42F8  7C 03 00 40 */	cmplw r3, r0
/* 803C869C 003C42FC  41 82 00 14 */	beq lbl_803C86B0
/* 803C86A0 003C4300  38 84 00 02 */	addi r4, r4, 2
lbl_803C86A4:
/* 803C86A4 003C4304  7C 05 22 2E */	lhzx r0, r5, r4
/* 803C86A8 003C4308  28 00 FF FF */	cmplwi r0, 0xffff
/* 803C86AC 003C430C  40 82 FF EC */	bne lbl_803C8698
lbl_803C86B0:
/* 803C86B0 003C4310  3C 60 80 40 */	lis r3, lbl_8040543A@ha
/* 803C86B4 003C4314  38 63 54 3A */	addi r3, r3, lbl_8040543A@l
/* 803C86B8 003C4318  7C 03 22 2E */	lhzx r0, r3, r4
/* 803C86BC 003C431C  68 00 FF FF */	xori r0, r0, 0xffff
/* 803C86C0 003C4320  7C 00 00 34 */	cntlzw r0, r0
/* 803C86C4 003C4324  54 03 D9 7E */	srwi r3, r0, 5
/* 803C86C8 003C4328  4E 80 00 20 */	blr 

.global func_803C86CC
func_803C86CC:
/* 803C86CC 003C432C  54 84 23 36 */	rlwinm r4, r4, 4, 0xc, 0x1b
/* 803C86D0 003C4330  3C C0 80 40 */	lis r6, lbl_80405470@ha
/* 803C86D4 003C4334  7D 03 22 14 */	add r8, r3, r4
/* 803C86D8 003C4338  38 00 00 06 */	li r0, 6
/* 803C86DC 003C433C  39 20 00 00 */	li r9, 0
/* 803C86E0 003C4340  38 C6 54 70 */	addi r6, r6, lbl_80405470@l
/* 803C86E4 003C4344  38 80 00 00 */	li r4, 0
/* 803C86E8 003C4348  7C 09 03 A6 */	mtctr r0
lbl_803C86EC:
/* 803C86EC 003C434C  7C 06 22 2E */	lhzx r0, r6, r4
/* 803C86F0 003C4350  A0 E8 03 DE */	lhz r7, 0x3de(r8)
/* 803C86F4 003C4354  54 00 20 36 */	slwi r0, r0, 4
/* 803C86F8 003C4358  7C A3 02 14 */	add r5, r3, r0
/* 803C86FC 003C435C  A0 05 03 DE */	lhz r0, 0x3de(r5)
/* 803C8700 003C4360  7C 07 00 40 */	cmplw r7, r0
/* 803C8704 003C4364  41 82 00 10 */	beq lbl_803C8714
/* 803C8708 003C4368  39 29 00 01 */	addi r9, r9, 1
/* 803C870C 003C436C  38 84 00 02 */	addi r4, r4, 2
/* 803C8710 003C4370  42 00 FF DC */	bdnz lbl_803C86EC
lbl_803C8714:
/* 803C8714 003C4374  38 09 FF FA */	addi r0, r9, -6
/* 803C8718 003C4378  7C 00 00 34 */	cntlzw r0, r0
/* 803C871C 003C437C  54 03 D9 7E */	srwi r3, r0, 5
/* 803C8720 003C4380  4E 80 00 20 */	blr 

.global func_803C8724
func_803C8724:
/* 803C8724 003C4384  54 84 23 36 */	rlwinm r4, r4, 4, 0xc, 0x1b
/* 803C8728 003C4388  3C C0 80 40 */	lis r6, lbl_8040547C@ha
/* 803C872C 003C438C  7D 03 22 14 */	add r8, r3, r4
/* 803C8730 003C4390  38 00 00 06 */	li r0, 6
/* 803C8734 003C4394  39 20 00 00 */	li r9, 0
/* 803C8738 003C4398  38 C6 54 7C */	addi r6, r6, lbl_8040547C@l
/* 803C873C 003C439C  38 80 00 00 */	li r4, 0
/* 803C8740 003C43A0  7C 09 03 A6 */	mtctr r0
lbl_803C8744:
/* 803C8744 003C43A4  7C 06 22 2E */	lhzx r0, r6, r4
/* 803C8748 003C43A8  A0 E8 03 DE */	lhz r7, 0x3de(r8)
/* 803C874C 003C43AC  54 00 20 36 */	slwi r0, r0, 4
/* 803C8750 003C43B0  7C A3 02 14 */	add r5, r3, r0
/* 803C8754 003C43B4  A0 05 03 DE */	lhz r0, 0x3de(r5)
/* 803C8758 003C43B8  7C 07 00 40 */	cmplw r7, r0
/* 803C875C 003C43BC  41 82 00 10 */	beq lbl_803C876C
/* 803C8760 003C43C0  39 29 00 01 */	addi r9, r9, 1
/* 803C8764 003C43C4  38 84 00 02 */	addi r4, r4, 2
/* 803C8768 003C43C8  42 00 FF DC */	bdnz lbl_803C8744
lbl_803C876C:
/* 803C876C 003C43CC  38 09 FF FA */	addi r0, r9, -6
/* 803C8770 003C43D0  7C 00 00 34 */	cntlzw r0, r0
/* 803C8774 003C43D4  54 03 D9 7E */	srwi r3, r0, 5
/* 803C8778 003C43D8  4E 80 00 20 */	blr 

.global func_803C877C
func_803C877C:
/* 803C877C 003C43DC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C8780 003C43E0  7C 08 02 A6 */	mflr r0
/* 803C8784 003C43E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C8788 003C43E8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C878C 003C43EC  7C BF 2B 78 */	mr r31, r5
/* 803C8790 003C43F0  80 63 21 20 */	lwz r3, 0x2120(r3)
/* 803C8794 003C43F4  48 01 0F D9 */	bl func_803D976C
/* 803C8798 003C43F8  7F E4 FB 78 */	mr r4, r31
/* 803C879C 003C43FC  48 01 0A 91 */	bl func_803D922C
/* 803C87A0 003C4400  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C87A4 003C4404  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C87A8 003C4408  7C 08 03 A6 */	mtlr r0
/* 803C87AC 003C440C  38 21 00 10 */	addi r1, r1, 0x10
/* 803C87B0 003C4410  4E 80 00 20 */	blr 

.global func_803C87B4
func_803C87B4:
/* 803C87B4 003C4414  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C87B8 003C4418  7C 08 02 A6 */	mflr r0
/* 803C87BC 003C441C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C87C0 003C4420  39 61 00 20 */	addi r11, r1, 0x20
/* 803C87C4 003C4424  4B DF E9 69 */	bl _savegpr_28
/* 803C87C8 003C4428  7C 7C 1B 78 */	mr r28, r3
/* 803C87CC 003C442C  7C BD 2B 78 */	mr r29, r5
/* 803C87D0 003C4430  4B FE 40 91 */	bl func_803AC860
/* 803C87D4 003C4434  7C 7F 1B 78 */	mr r31, r3
/* 803C87D8 003C4438  3B C0 00 00 */	li r30, 0
/* 803C87DC 003C443C  48 00 00 20 */	b lbl_803C87FC
lbl_803C87E0:
/* 803C87E0 003C4440  7F 83 E3 78 */	mr r3, r28
/* 803C87E4 003C4444  7F C4 F3 78 */	mr r4, r30
/* 803C87E8 003C4448  4B FE 44 FD */	bl func_803ACCE4
/* 803C87EC 003C444C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C87F0 003C4450  7C 1D 00 00 */	cmpw r29, r0
/* 803C87F4 003C4454  41 82 00 10 */	beq lbl_803C8804
/* 803C87F8 003C4458  3B DE 00 01 */	addi r30, r30, 1
lbl_803C87FC:
/* 803C87FC 003C445C  7C 1E F8 00 */	cmpw r30, r31
/* 803C8800 003C4460  41 80 FF E0 */	blt lbl_803C87E0
lbl_803C8804:
/* 803C8804 003C4464  39 61 00 20 */	addi r11, r1, 0x20
/* 803C8808 003C4468  7F C3 F3 78 */	mr r3, r30
/* 803C880C 003C446C  4B DF E9 6D */	bl _restgpr_28
/* 803C8810 003C4470  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C8814 003C4474  7C 08 03 A6 */	mtlr r0
/* 803C8818 003C4478  38 21 00 20 */	addi r1, r1, 0x20
/* 803C881C 003C447C  4E 80 00 20 */	blr 

.global func_803C8820
func_803C8820:
/* 803C8820 003C4480  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C8824 003C4484  7C 08 02 A6 */	mflr r0
/* 803C8828 003C4488  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C882C 003C448C  39 61 00 30 */	addi r11, r1, 0x30
/* 803C8830 003C4490  4B DF E8 E5 */	bl _savegpr_22
/* 803C8834 003C4494  7C 77 1B 78 */	mr r23, r3
/* 803C8838 003C4498  7C 98 23 78 */	mr r24, r4
/* 803C883C 003C449C  4B FE 40 25 */	bl func_803AC860
/* 803C8840 003C44A0  7C 7F 1B 78 */	mr r31, r3
/* 803C8844 003C44A4  3A C3 FF FF */	addi r22, r3, -1
/* 803C8848 003C44A8  3B 80 00 00 */	li r28, 0
/* 803C884C 003C44AC  48 00 00 7C */	b lbl_803C88C8
lbl_803C8850:
/* 803C8850 003C44B0  3B 7C 00 01 */	addi r27, r28, 1
/* 803C8854 003C44B4  7F D8 E2 14 */	add r30, r24, r28
/* 803C8858 003C44B8  48 00 00 64 */	b lbl_803C88BC
lbl_803C885C:
/* 803C885C 003C44BC  7F B8 DA 14 */	add r29, r24, r27
/* 803C8860 003C44C0  8B 5E 21 E8 */	lbz r26, 0x21e8(r30)
/* 803C8864 003C44C4  8B 3D 21 E8 */	lbz r25, 0x21e8(r29)
/* 803C8868 003C44C8  57 43 20 36 */	slwi r3, r26, 4
/* 803C886C 003C44CC  57 20 20 36 */	slwi r0, r25, 4
/* 803C8870 003C44D0  7C 98 1A 14 */	add r4, r24, r3
/* 803C8874 003C44D4  7C 78 02 14 */	add r3, r24, r0
/* 803C8878 003C44D8  80 84 21 B4 */	lwz r4, 0x21b4(r4)
/* 803C887C 003C44DC  80 03 21 B4 */	lwz r0, 0x21b4(r3)
/* 803C8880 003C44E0  7C 04 00 40 */	cmplw r4, r0
/* 803C8884 003C44E4  40 82 00 34 */	bne lbl_803C88B8
/* 803C8888 003C44E8  38 E4 FF FF */	addi r7, r4, -1
/* 803C888C 003C44EC  7E E3 BB 78 */	mr r3, r23
/* 803C8890 003C44F0  30 07 FF FF */	addic r0, r7, -1
/* 803C8894 003C44F4  7F 04 C3 78 */	mr r4, r24
/* 803C8898 003C44F8  7F 45 D3 78 */	mr r5, r26
/* 803C889C 003C44FC  7F 26 CB 78 */	mr r6, r25
/* 803C88A0 003C4500  7C E0 39 10 */	subfe r7, r0, r7
/* 803C88A4 003C4504  4B FF 32 DD */	bl func_803BBB80
/* 803C88A8 003C4508  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803C88AC 003C450C  41 82 00 0C */	beq lbl_803C88B8
/* 803C88B0 003C4510  9B 3E 21 E8 */	stb r25, 0x21e8(r30)
/* 803C88B4 003C4514  9B 5D 21 E8 */	stb r26, 0x21e8(r29)
lbl_803C88B8:
/* 803C88B8 003C4518  3B 7B 00 01 */	addi r27, r27, 1
lbl_803C88BC:
/* 803C88BC 003C451C  7C 1B F8 00 */	cmpw r27, r31
/* 803C88C0 003C4520  41 80 FF 9C */	blt lbl_803C885C
/* 803C88C4 003C4524  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C88C8:
/* 803C88C8 003C4528  7C 1C B0 00 */	cmpw r28, r22
/* 803C88CC 003C452C  41 80 FF 84 */	blt lbl_803C8850
/* 803C88D0 003C4530  39 61 00 30 */	addi r11, r1, 0x30
/* 803C88D4 003C4534  4B DF E8 8D */	bl _restgpr_22
/* 803C88D8 003C4538  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C88DC 003C453C  7C 08 03 A6 */	mtlr r0
/* 803C88E0 003C4540  38 21 00 30 */	addi r1, r1, 0x30
/* 803C88E4 003C4544  4E 80 00 20 */	blr 

.global func_803C88E8
func_803C88E8:
/* 803C88E8 003C4548  38 60 00 01 */	li r3, 1
/* 803C88EC 003C454C  4E 80 00 20 */	blr 

.global func_803C88F0
func_803C88F0:
/* 803C88F0 003C4550  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803C88F4 003C4554  7C 08 02 A6 */	mflr r0
/* 803C88F8 003C4558  90 01 00 34 */	stw r0, 0x34(r1)
/* 803C88FC 003C455C  39 61 00 30 */	addi r11, r1, 0x30
/* 803C8900 003C4560  4B DF E8 1D */	bl _savegpr_24
/* 803C8904 003C4564  7C 99 23 78 */	mr r25, r4
/* 803C8908 003C4568  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803C890C 003C456C  7C 7B 1B 78 */	mr r27, r3
/* 803C8910 003C4570  7C BA 2B 78 */	mr r26, r5
/* 803C8914 003C4574  7F 23 CB 78 */	mr r3, r25
/* 803C8918 003C4578  3B C0 00 00 */	li r30, 0
/* 803C891C 003C457C  4B FF B7 A1 */	bl func_803C40BC
/* 803C8920 003C4580  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C8924 003C4584  7C 78 1B 78 */	mr r24, r3
/* 803C8928 003C4588  7F 23 CB 78 */	mr r3, r25
/* 803C892C 003C458C  38 A0 00 00 */	li r5, 0
/* 803C8930 003C4590  4B FF B7 D1 */	bl func_803C4100
/* 803C8934 003C4594  80 99 00 6C */	lwz r4, 0x6c(r25)
/* 803C8938 003C4598  7C 7D 1B 78 */	mr r29, r3
/* 803C893C 003C459C  7F 23 CB 78 */	mr r3, r25
/* 803C8940 003C45A0  4B FF B7 7D */	bl func_803C40BC
/* 803C8944 003C45A4  80 99 00 6C */	lwz r4, 0x6c(r25)
/* 803C8948 003C45A8  7C 7F 1B 78 */	mr r31, r3
/* 803C894C 003C45AC  7F 23 CB 78 */	mr r3, r25
/* 803C8950 003C45B0  38 A0 00 00 */	li r5, 0
/* 803C8954 003C45B4  4B FF B7 AD */	bl func_803C4100
/* 803C8958 003C45B8  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C895C 003C45BC  7C 7C 1B 78 */	mr r28, r3
/* 803C8960 003C45C0  7F 63 DB 78 */	mr r3, r27
/* 803C8964 003C45C4  4B FE 43 81 */	bl func_803ACCE4
/* 803C8968 003C45C8  2C 18 00 57 */	cmpwi r24, 0x57
/* 803C896C 003C45CC  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803C8970 003C45D0  40 82 00 78 */	bne lbl_803C89E8
/* 803C8974 003C45D4  80 19 21 3C */	lwz r0, 0x213c(r25)
/* 803C8978 003C45D8  54 00 04 A5 */	rlwinm. r0, r0, 0, 0x12, 0x12
/* 803C897C 003C45DC  41 82 00 6C */	beq lbl_803C89E8
/* 803C8980 003C45E0  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C8984 003C45E4  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803C8988 003C45E8  7C 79 02 14 */	add r3, r25, r0
/* 803C898C 003C45EC  80 A3 02 EC */	lwz r5, 0x2ec(r3)
/* 803C8990 003C45F0  2C 05 00 00 */	cmpwi r5, 0
/* 803C8994 003C45F4  41 82 00 54 */	beq lbl_803C89E8
/* 803C8998 003C45F8  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C899C 003C45FC  7C 04 00 00 */	cmpw r4, r0
/* 803C89A0 003C4600  41 82 00 48 */	beq lbl_803C89E8
/* 803C89A4 003C4604  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C89A8 003C4608  7C 79 02 14 */	add r3, r25, r0
/* 803C89AC 003C460C  80 83 2D 8C */	lwz r4, 0x2d8c(r3)
/* 803C89B0 003C4610  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C89B4 003C4614  7C 04 00 40 */	cmplw r4, r0
/* 803C89B8 003C4618  40 80 00 30 */	bge lbl_803C89E8
/* 803C89BC 003C461C  2C 04 00 00 */	cmpwi r4, 0
/* 803C89C0 003C4620  41 82 00 28 */	beq lbl_803C89E8
/* 803C89C4 003C4624  7F A4 EB 78 */	mr r4, r29
/* 803C89C8 003C4628  7C 65 00 D0 */	neg r3, r5
/* 803C89CC 003C462C  4B FF 81 9D */	bl func_803C0B68
/* 803C89D0 003C4630  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C89D4 003C4634  38 00 00 D5 */	li r0, 0xd5
/* 803C89D8 003C4638  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C89DC 003C463C  3B C0 00 01 */	li r30, 1
/* 803C89E0 003C4640  90 99 01 18 */	stw r4, 0x118(r25)
/* 803C89E4 003C4644  90 1A 00 00 */	stw r0, 0(r26)
lbl_803C89E8:
/* 803C89E8 003C4648  2C 18 00 61 */	cmpwi r24, 0x61
/* 803C89EC 003C464C  40 82 00 B0 */	bne lbl_803C8A9C
/* 803C89F0 003C4650  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C89F4 003C4654  7F 23 CB 78 */	mr r3, r25
/* 803C89F8 003C4658  4B FF 71 21 */	bl func_803BFB18
/* 803C89FC 003C465C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C8A00 003C4660  28 00 00 62 */	cmplwi r0, 0x62
/* 803C8A04 003C4664  41 82 00 98 */	beq lbl_803C8A9C
/* 803C8A08 003C4668  80 19 21 3C */	lwz r0, 0x213c(r25)
/* 803C8A0C 003C466C  54 00 04 A5 */	rlwinm. r0, r0, 0, 0x12, 0x12
/* 803C8A10 003C4670  41 82 00 8C */	beq lbl_803C8A9C
/* 803C8A14 003C4674  80 19 30 44 */	lwz r0, 0x3044(r25)
/* 803C8A18 003C4678  54 00 20 36 */	slwi r0, r0, 4
/* 803C8A1C 003C467C  7C 79 02 14 */	add r3, r25, r0
/* 803C8A20 003C4680  88 03 03 E0 */	lbz r0, 0x3e0(r3)
/* 803C8A24 003C4684  28 00 00 02 */	cmplwi r0, 2
/* 803C8A28 003C4688  41 82 00 74 */	beq lbl_803C8A9C
/* 803C8A2C 003C468C  80 19 00 64 */	lwz r0, 0x64(r25)
/* 803C8A30 003C4690  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C8A34 003C4694  7C 79 02 14 */	add r3, r25, r0
/* 803C8A38 003C4698  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C8A3C 003C469C  2C 00 00 00 */	cmpwi r0, 0
/* 803C8A40 003C46A0  41 82 00 5C */	beq lbl_803C8A9C
/* 803C8A44 003C46A4  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C8A48 003C46A8  38 80 00 0A */	li r4, 0xa
/* 803C8A4C 003C46AC  1C 60 FF FF */	mulli r3, r0, -1
/* 803C8A50 003C46B0  4B FF 81 19 */	bl func_803C0B68
/* 803C8A54 003C46B4  80 19 00 64 */	lwz r0, 0x64(r25)
/* 803C8A58 003C46B8  3C E0 80 49 */	lis r7, lbl_8048CDE8@ha
/* 803C8A5C 003C46BC  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C8A60 003C46C0  38 60 00 D6 */	li r3, 0xd6
/* 803C8A64 003C46C4  38 87 CD E8 */	addi r4, r7, lbl_8048CDE8@l
/* 803C8A68 003C46C8  38 C0 00 0A */	li r6, 0xa
/* 803C8A6C 003C46CC  90 19 01 18 */	stw r0, 0x118(r25)
/* 803C8A70 003C46D0  38 A0 00 00 */	li r5, 0
/* 803C8A74 003C46D4  38 00 00 61 */	li r0, 0x61
/* 803C8A78 003C46D8  3B C0 00 01 */	li r30, 1
/* 803C8A7C 003C46DC  90 7A 00 00 */	stw r3, 0(r26)
/* 803C8A80 003C46E0  38 60 00 0E */	li r3, 0xe
/* 803C8A84 003C46E4  81 19 00 64 */	lwz r8, 0x64(r25)
/* 803C8A88 003C46E8  91 07 CD E8 */	stw r8, -0x3218(r7)
/* 803C8A8C 003C46EC  90 C4 00 04 */	stw r6, 4(r4)
/* 803C8A90 003C46F0  90 A4 00 08 */	stw r5, 8(r4)
/* 803C8A94 003C46F4  90 04 00 0C */	stw r0, 0xc(r4)
/* 803C8A98 003C46F8  4B DA 6F B5 */	bl func_8016FA4C
lbl_803C8A9C:
/* 803C8A9C 003C46FC  2C 1F 00 2D */	cmpwi r31, 0x2d
/* 803C8AA0 003C4700  40 82 00 74 */	bne lbl_803C8B14
/* 803C8AA4 003C4704  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C8AA8 003C4708  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C8AAC 003C470C  7C 79 02 14 */	add r3, r25, r0
/* 803C8AB0 003C4710  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C8AB4 003C4714  2C 00 00 00 */	cmpwi r0, 0
/* 803C8AB8 003C4718  41 82 00 5C */	beq lbl_803C8B14
/* 803C8ABC 003C471C  7F 23 CB 78 */	mr r3, r25
/* 803C8AC0 003C4720  4B FF 70 59 */	bl func_803BFB18
/* 803C8AC4 003C4724  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C8AC8 003C4728  28 00 00 62 */	cmplwi r0, 0x62
/* 803C8ACC 003C472C  41 82 00 48 */	beq lbl_803C8B14
/* 803C8AD0 003C4730  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C8AD4 003C4734  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C8AD8 003C4738  7C 79 02 14 */	add r3, r25, r0
/* 803C8ADC 003C473C  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C8AE0 003C4740  2C 00 00 00 */	cmpwi r0, 0
/* 803C8AE4 003C4744  41 82 00 30 */	beq lbl_803C8B14
/* 803C8AE8 003C4748  80 19 00 64 */	lwz r0, 0x64(r25)
/* 803C8AEC 003C474C  7F 84 E3 78 */	mr r4, r28
/* 803C8AF0 003C4750  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803C8AF4 003C4754  7C 79 02 14 */	add r3, r25, r0
/* 803C8AF8 003C4758  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803C8AFC 003C475C  1C 60 FF FF */	mulli r3, r0, -1
/* 803C8B00 003C4760  4B FF 80 69 */	bl func_803C0B68
/* 803C8B04 003C4764  90 79 21 5C */	stw r3, 0x215c(r25)
/* 803C8B08 003C4768  38 00 01 0A */	li r0, 0x10a
/* 803C8B0C 003C476C  3B C0 00 01 */	li r30, 1
/* 803C8B10 003C4770  90 1A 00 00 */	stw r0, 0(r26)
lbl_803C8B14:
/* 803C8B14 003C4774  2C 1F 00 73 */	cmpwi r31, 0x73
/* 803C8B18 003C4778  40 82 00 94 */	bne lbl_803C8BAC
/* 803C8B1C 003C477C  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803C8B20 003C4780  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C8B24 003C4784  7C 79 02 14 */	add r3, r25, r0
/* 803C8B28 003C4788  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803C8B2C 003C478C  2C 00 00 00 */	cmpwi r0, 0
/* 803C8B30 003C4790  41 82 00 7C */	beq lbl_803C8BAC
/* 803C8B34 003C4794  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803C8B38 003C4798  2C 00 00 00 */	cmpwi r0, 0
/* 803C8B3C 003C479C  40 82 00 70 */	bne lbl_803C8BAC
/* 803C8B40 003C47A0  7C 79 22 14 */	add r3, r25, r4
/* 803C8B44 003C47A4  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803C8B48 003C47A8  48 01 4D D9 */	bl func_803DD920
/* 803C8B4C 003C47AC  57 60 18 38 */	slwi r0, r27, 3
/* 803C8B50 003C47B0  7C 99 02 14 */	add r4, r25, r0
/* 803C8B54 003C47B4  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803C8B58 003C47B8  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803C8B5C 003C47BC  7C 00 18 39 */	and. r0, r0, r3
/* 803C8B60 003C47C0  40 82 00 4C */	bne lbl_803C8BAC
/* 803C8B64 003C47C4  80 19 00 6C */	lwz r0, 0x6c(r25)
/* 803C8B68 003C47C8  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803C8B6C 003C47CC  7C 79 02 14 */	add r3, r25, r0
/* 803C8B70 003C47D0  80 03 02 D8 */	lwz r0, 0x2d8(r3)
/* 803C8B74 003C47D4  2C 00 00 00 */	cmpwi r0, 0
/* 803C8B78 003C47D8  40 82 00 10 */	bne lbl_803C8B88
/* 803C8B7C 003C47DC  80 03 02 E0 */	lwz r0, 0x2e0(r3)
/* 803C8B80 003C47E0  2C 00 00 00 */	cmpwi r0, 0
/* 803C8B84 003C47E4  41 82 00 28 */	beq lbl_803C8BAC
lbl_803C8B88:
/* 803C8B88 003C47E8  80 19 30 44 */	lwz r0, 0x3044(r25)
/* 803C8B8C 003C47EC  54 00 20 36 */	slwi r0, r0, 4
/* 803C8B90 003C47F0  7C 79 02 14 */	add r3, r25, r0
/* 803C8B94 003C47F4  88 03 03 E9 */	lbz r0, 0x3e9(r3)
/* 803C8B98 003C47F8  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C8B9C 003C47FC  41 82 00 10 */	beq lbl_803C8BAC
/* 803C8BA0 003C4800  38 00 00 D8 */	li r0, 0xd8
/* 803C8BA4 003C4804  3B C0 00 01 */	li r30, 1
/* 803C8BA8 003C4808  90 1A 00 00 */	stw r0, 0(r26)
lbl_803C8BAC:
/* 803C8BAC 003C480C  39 61 00 30 */	addi r11, r1, 0x30
/* 803C8BB0 003C4810  7F C3 F3 78 */	mr r3, r30
/* 803C8BB4 003C4814  4B DF E5 B5 */	bl _restgpr_24
/* 803C8BB8 003C4818  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803C8BBC 003C481C  7C 08 03 A6 */	mtlr r0
/* 803C8BC0 003C4820  38 21 00 30 */	addi r1, r1, 0x30
/* 803C8BC4 003C4824  4E 80 00 20 */	blr 

.global func_803C8BC8
func_803C8BC8:
/* 803C8BC8 003C4828  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C8BCC 003C482C  7C 08 02 A6 */	mflr r0
/* 803C8BD0 003C4830  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C8BD4 003C4834  39 61 00 20 */	addi r11, r1, 0x20
/* 803C8BD8 003C4838  4B DF E5 59 */	bl _savegpr_29
/* 803C8BDC 003C483C  7C BF 2B 78 */	mr r31, r5
/* 803C8BE0 003C4840  7C 9E 23 78 */	mr r30, r4
/* 803C8BE4 003C4844  7C 7D 1B 78 */	mr r29, r3
/* 803C8BE8 003C4848  7F E4 FB 78 */	mr r4, r31
/* 803C8BEC 003C484C  4B FF 6F 2D */	bl func_803BFB18
/* 803C8BF0 003C4850  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803C8BF4 003C4854  28 00 00 2E */	cmplwi r0, 0x2e
/* 803C8BF8 003C4858  40 82 00 38 */	bne lbl_803C8C30
/* 803C8BFC 003C485C  2C 1F 00 FF */	cmpwi r31, 0xff
/* 803C8C00 003C4860  41 82 00 30 */	beq lbl_803C8C30
/* 803C8C04 003C4864  57 C0 08 3C */	slwi r0, r30, 1
/* 803C8C08 003C4868  7C 7D 02 14 */	add r3, r29, r0
/* 803C8C0C 003C486C  1C 9E 00 C0 */	mulli r4, r30, 0xc0
/* 803C8C10 003C4870  A0 03 30 BC */	lhz r0, 0x30bc(r3)
/* 803C8C14 003C4874  7C 7D 22 14 */	add r3, r29, r4
/* 803C8C18 003C4878  7C 83 02 14 */	add r4, r3, r0
/* 803C8C1C 003C487C  88 64 2D 6C */	lbz r3, 0x2d6c(r4)
/* 803C8C20 003C4880  2C 03 00 00 */	cmpwi r3, 0
/* 803C8C24 003C4884  41 82 00 0C */	beq lbl_803C8C30
/* 803C8C28 003C4888  38 03 FF FF */	addi r0, r3, -1
/* 803C8C2C 003C488C  98 04 2D 6C */	stb r0, 0x2d6c(r4)
lbl_803C8C30:
/* 803C8C30 003C4890  39 61 00 20 */	addi r11, r1, 0x20
/* 803C8C34 003C4894  4B DF E5 49 */	bl _restgpr_29
/* 803C8C38 003C4898  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C8C3C 003C489C  7C 08 03 A6 */	mtlr r0
/* 803C8C40 003C48A0  38 21 00 20 */	addi r1, r1, 0x20
/* 803C8C44 003C48A4  4E 80 00 20 */	blr 

.global func_803C8C48
func_803C8C48:
/* 803C8C48 003C48A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C8C4C 003C48AC  7C 08 02 A6 */	mflr r0
/* 803C8C50 003C48B0  28 05 00 11 */	cmplwi r5, 0x11
/* 803C8C54 003C48B4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C8C58 003C48B8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C8C5C 003C48BC  7C 9F 23 78 */	mr r31, r4
/* 803C8C60 003C48C0  41 81 01 20 */	bgt lbl_803C8D80
/* 803C8C64 003C48C4  3C E0 80 47 */	lis r7, lbl_80473DC8@ha
/* 803C8C68 003C48C8  54 A0 10 3A */	slwi r0, r5, 2
/* 803C8C6C 003C48CC  38 E7 3D C8 */	addi r7, r7, lbl_80473DC8@l
/* 803C8C70 003C48D0  7C E7 00 2E */	lwzx r7, r7, r0
/* 803C8C74 003C48D4  7C E9 03 A6 */	mtctr r7
/* 803C8C78 003C48D8  4E 80 04 20 */	bctr 
/* 803C8C7C 003C48DC  7C C4 33 78 */	mr r4, r6
/* 803C8C80 003C48E0  4B FE 40 65 */	bl func_803ACCE4
/* 803C8C84 003C48E4  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803C8C88 003C48E8  7C 7F 02 14 */	add r3, r31, r0
/* 803C8C8C 003C48EC  80 63 01 BC */	lwz r3, 0x1bc(r3)
/* 803C8C90 003C48F0  48 00 01 08 */	b lbl_803C8D98
/* 803C8C94 003C48F4  7C C4 33 78 */	mr r4, r6
/* 803C8C98 003C48F8  4B FE 40 4D */	bl func_803ACCE4
/* 803C8C9C 003C48FC  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803C8CA0 003C4900  7C 7F 02 14 */	add r3, r31, r0
/* 803C8CA4 003C4904  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803C8CA8 003C4908  54 03 7F 7E */	rlwinm r3, r0, 0xf, 0x1d, 0x1f
/* 803C8CAC 003C490C  48 00 00 EC */	b lbl_803C8D98
/* 803C8CB0 003C4910  7C 64 32 14 */	add r3, r4, r6
/* 803C8CB4 003C4914  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803C8CB8 003C4918  48 00 00 E0 */	b lbl_803C8D98
/* 803C8CBC 003C491C  80 64 01 50 */	lwz r3, 0x150(r4)
/* 803C8CC0 003C4920  48 00 00 D8 */	b lbl_803C8D98
/* 803C8CC4 003C4924  88 64 31 09 */	lbz r3, 0x3109(r4)
/* 803C8CC8 003C4928  48 00 00 D0 */	b lbl_803C8D98
/* 803C8CCC 003C492C  88 64 31 1D */	lbz r3, 0x311d(r4)
/* 803C8CD0 003C4930  48 00 00 C8 */	b lbl_803C8D98
/* 803C8CD4 003C4934  54 C0 10 3A */	slwi r0, r6, 2
/* 803C8CD8 003C4938  7C 64 02 14 */	add r3, r4, r0
/* 803C8CDC 003C493C  80 63 01 54 */	lwz r3, 0x154(r3)
/* 803C8CE0 003C4940  48 00 00 B8 */	b lbl_803C8D98
/* 803C8CE4 003C4944  54 C0 10 3A */	slwi r0, r6, 2
/* 803C8CE8 003C4948  7C 64 02 14 */	add r3, r4, r0
/* 803C8CEC 003C494C  80 63 01 64 */	lwz r3, 0x164(r3)
/* 803C8CF0 003C4950  48 00 00 A8 */	b lbl_803C8D98
/* 803C8CF4 003C4954  54 C0 20 36 */	slwi r0, r6, 4
/* 803C8CF8 003C4958  7C 64 02 14 */	add r3, r4, r0
/* 803C8CFC 003C495C  80 63 21 A8 */	lwz r3, 0x21a8(r3)
/* 803C8D00 003C4960  48 00 00 98 */	b lbl_803C8D98
/* 803C8D04 003C4964  88 64 03 D0 */	lbz r3, 0x3d0(r4)
/* 803C8D08 003C4968  48 00 00 90 */	b lbl_803C8D98
/* 803C8D0C 003C496C  88 64 31 08 */	lbz r3, 0x3108(r4)
/* 803C8D10 003C4970  48 00 00 88 */	b lbl_803C8D98
/* 803C8D14 003C4974  7C 64 32 14 */	add r3, r4, r6
/* 803C8D18 003C4978  88 63 03 DA */	lbz r3, 0x3da(r3)
/* 803C8D1C 003C497C  48 00 00 7C */	b lbl_803C8D98
/* 803C8D20 003C4980  54 C0 20 36 */	slwi r0, r6, 4
/* 803C8D24 003C4984  7C 64 02 14 */	add r3, r4, r0
/* 803C8D28 003C4988  80 63 21 B0 */	lwz r3, 0x21b0(r3)
/* 803C8D2C 003C498C  48 00 00 6C */	b lbl_803C8D98
/* 803C8D30 003C4990  54 C0 08 3C */	slwi r0, r6, 1
/* 803C8D34 003C4994  7C 64 02 14 */	add r3, r4, r0
/* 803C8D38 003C4998  A0 63 30 5C */	lhz r3, 0x305c(r3)
/* 803C8D3C 003C499C  48 00 00 5C */	b lbl_803C8D98
/* 803C8D40 003C49A0  54 C0 08 3C */	slwi r0, r6, 1
/* 803C8D44 003C49A4  7C 64 02 14 */	add r3, r4, r0
/* 803C8D48 003C49A8  A0 63 30 7C */	lhz r3, 0x307c(r3)
/* 803C8D4C 003C49AC  48 00 00 4C */	b lbl_803C8D98
/* 803C8D50 003C49B0  54 C0 08 3C */	slwi r0, r6, 1
/* 803C8D54 003C49B4  7C 64 02 14 */	add r3, r4, r0
/* 803C8D58 003C49B8  A0 63 30 84 */	lhz r3, 0x3084(r3)
/* 803C8D5C 003C49BC  48 00 00 3C */	b lbl_803C8D98
/* 803C8D60 003C49C0  54 C0 08 3C */	slwi r0, r6, 1
/* 803C8D64 003C49C4  7C 64 02 14 */	add r3, r4, r0
/* 803C8D68 003C49C8  A0 63 31 24 */	lhz r3, 0x3124(r3)
/* 803C8D6C 003C49CC  48 00 00 2C */	b lbl_803C8D98
/* 803C8D70 003C49D0  54 C0 08 3C */	slwi r0, r6, 1
/* 803C8D74 003C49D4  7C 64 02 14 */	add r3, r4, r0
/* 803C8D78 003C49D8  A0 63 30 AC */	lhz r3, 0x30ac(r3)
/* 803C8D7C 003C49DC  48 00 00 1C */	b lbl_803C8D98
lbl_803C8D80:
/* 803C8D80 003C49E0  3C 80 80 47 */	lis r4, lbl_80473DB0@ha
/* 803C8D84 003C49E4  38 60 00 00 */	li r3, 0
/* 803C8D88 003C49E8  38 84 3D B0 */	addi r4, r4, lbl_80473DB0@l
/* 803C8D8C 003C49EC  4C C6 31 82 */	crclr 6
/* 803C8D90 003C49F0  48 01 0B 0D */	bl func_803D989C
/* 803C8D94 003C49F4  38 60 00 00 */	li r3, 0
lbl_803C8D98:
/* 803C8D98 003C49F8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C8D9C 003C49FC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C8DA0 003C4A00  7C 08 03 A6 */	mtlr r0
/* 803C8DA4 003C4A04  38 21 00 10 */	addi r1, r1, 0x10
/* 803C8DA8 003C4A08  4E 80 00 20 */	blr 

.global func_803C8DAC
func_803C8DAC:
/* 803C8DAC 003C4A0C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C8DB0 003C4A10  7C 08 02 A6 */	mflr r0
/* 803C8DB4 003C4A14  28 05 00 0B */	cmplwi r5, 0xb
/* 803C8DB8 003C4A18  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C8DBC 003C4A1C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C8DC0 003C4A20  7C FF 3B 78 */	mr r31, r7
/* 803C8DC4 003C4A24  93 C1 00 08 */	stw r30, 8(r1)
/* 803C8DC8 003C4A28  7C 9E 23 78 */	mr r30, r4
/* 803C8DCC 003C4A2C  41 81 00 7C */	bgt lbl_803C8E48
/* 803C8DD0 003C4A30  3D 00 80 47 */	lis r8, lbl_80473E10@ha
/* 803C8DD4 003C4A34  54 A0 10 3A */	slwi r0, r5, 2
/* 803C8DD8 003C4A38  39 08 3E 10 */	addi r8, r8, lbl_80473E10@l
/* 803C8DDC 003C4A3C  7D 08 00 2E */	lwzx r8, r8, r0
/* 803C8DE0 003C4A40  7D 09 03 A6 */	mtctr r8
/* 803C8DE4 003C4A44  4E 80 04 20 */	bctr 
/* 803C8DE8 003C4A48  7C C4 33 78 */	mr r4, r6
/* 803C8DEC 003C4A4C  4B FE 3E F9 */	bl func_803ACCE4
/* 803C8DF0 003C4A50  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803C8DF4 003C4A54  7C 7E 02 14 */	add r3, r30, r0
/* 803C8DF8 003C4A58  93 E3 01 BC */	stw r31, 0x1bc(r3)
/* 803C8DFC 003C4A5C  48 00 00 60 */	b lbl_803C8E5C
/* 803C8E00 003C4A60  7C C4 33 78 */	mr r4, r6
/* 803C8E04 003C4A64  4B FE 3E E1 */	bl func_803ACCE4
/* 803C8E08 003C4A68  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803C8E0C 003C4A6C  7C 7E 02 14 */	add r3, r30, r0
/* 803C8E10 003C4A70  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803C8E14 003C4A74  53 E0 8B 1C */	rlwimi r0, r31, 0x11, 0xc, 0xe
/* 803C8E18 003C4A78  90 03 01 C4 */	stw r0, 0x1c4(r3)
/* 803C8E1C 003C4A7C  48 00 00 40 */	b lbl_803C8E5C
/* 803C8E20 003C4A80  7C 64 32 14 */	add r3, r4, r6
/* 803C8E24 003C4A84  98 E3 21 9C */	stb r7, 0x219c(r3)
/* 803C8E28 003C4A88  48 00 00 34 */	b lbl_803C8E5C
/* 803C8E2C 003C4A8C  90 E4 01 50 */	stw r7, 0x150(r4)
/* 803C8E30 003C4A90  48 00 00 2C */	b lbl_803C8E5C
/* 803C8E34 003C4A94  98 E4 03 D0 */	stb r7, 0x3d0(r4)
/* 803C8E38 003C4A98  48 00 00 24 */	b lbl_803C8E5C
/* 803C8E3C 003C4A9C  7C 64 32 14 */	add r3, r4, r6
/* 803C8E40 003C4AA0  98 E3 03 DA */	stb r7, 0x3da(r3)
/* 803C8E44 003C4AA4  48 00 00 18 */	b lbl_803C8E5C
lbl_803C8E48:
/* 803C8E48 003C4AA8  3C 80 80 47 */	lis r4, lbl_80473DB0@ha
/* 803C8E4C 003C4AAC  38 60 00 00 */	li r3, 0
/* 803C8E50 003C4AB0  38 84 3D B0 */	addi r4, r4, lbl_80473DB0@l
/* 803C8E54 003C4AB4  4C C6 31 82 */	crclr 6
/* 803C8E58 003C4AB8  48 01 0A 45 */	bl func_803D989C
lbl_803C8E5C:
/* 803C8E5C 003C4ABC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C8E60 003C4AC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C8E64 003C4AC4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803C8E68 003C4AC8  7C 08 03 A6 */	mtlr r0
/* 803C8E6C 003C4ACC  38 21 00 10 */	addi r1, r1, 0x10
/* 803C8E70 003C4AD0  4E 80 00 20 */	blr 

.global func_803C8E74
func_803C8E74:
/* 803C8E74 003C4AD4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C8E78 003C4AD8  7C 08 02 A6 */	mflr r0
/* 803C8E7C 003C4ADC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C8E80 003C4AE0  54 A0 00 43 */	rlwinm. r0, r5, 0, 1, 1
/* 803C8E84 003C4AE4  54 A0 00 10 */	rlwinm r0, r5, 0, 0, 8
/* 803C8E88 003C4AE8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C8E8C 003C4AEC  54 BF 02 7E */	clrlwi r31, r5, 9
/* 803C8E90 003C4AF0  90 83 00 88 */	stw r4, 0x88(r3)
/* 803C8E94 003C4AF4  93 E3 00 8C */	stw r31, 0x8c(r3)
/* 803C8E98 003C4AF8  90 03 00 90 */	stw r0, 0x90(r3)
/* 803C8E9C 003C4AFC  41 82 00 10 */	beq lbl_803C8EAC
/* 803C8EA0 003C4B00  80 03 00 64 */	lwz r0, 0x64(r3)
/* 803C8EA4 003C4B04  90 03 00 94 */	stw r0, 0x94(r3)
/* 803C8EA8 003C4B08  48 00 00 30 */	b lbl_803C8ED8
lbl_803C8EAC:
/* 803C8EAC 003C4B0C  54 A0 00 01 */	rlwinm. r0, r5, 0, 0, 0
/* 803C8EB0 003C4B10  41 82 00 10 */	beq lbl_803C8EC0
/* 803C8EB4 003C4B14  80 03 00 6C */	lwz r0, 0x6c(r3)
/* 803C8EB8 003C4B18  90 03 00 94 */	stw r0, 0x94(r3)
/* 803C8EBC 003C4B1C  48 00 00 1C */	b lbl_803C8ED8
lbl_803C8EC0:
/* 803C8EC0 003C4B20  54 A0 00 85 */	rlwinm. r0, r5, 0, 2, 2
/* 803C8EC4 003C4B24  40 82 00 0C */	bne lbl_803C8ED0
/* 803C8EC8 003C4B28  54 A0 00 C7 */	rlwinm. r0, r5, 0, 3, 3
/* 803C8ECC 003C4B2C  41 82 00 0C */	beq lbl_803C8ED8
lbl_803C8ED0:
/* 803C8ED0 003C4B30  38 00 00 00 */	li r0, 0
/* 803C8ED4 003C4B34  90 03 00 94 */	stw r0, 0x94(r3)
lbl_803C8ED8:
/* 803C8ED8 003C4B38  38 00 00 91 */	li r0, 0x91
/* 803C8EDC 003C4B3C  3C 80 80 47 */	lis r4, lbl_80473E40@ha
/* 803C8EE0 003C4B40  7C 00 F8 10 */	subfc r0, r0, r31
/* 803C8EE4 003C4B44  7C 00 01 10 */	subfe r0, r0, r0
/* 803C8EE8 003C4B48  38 84 3E 40 */	addi r4, r4, lbl_80473E40@l
/* 803C8EEC 003C4B4C  7C 60 00 D0 */	neg r3, r0
/* 803C8EF0 003C4B50  4C C6 31 82 */	crclr 6
/* 803C8EF4 003C4B54  48 01 09 A9 */	bl func_803D989C
/* 803C8EF8 003C4B58  3C 60 80 40 */	lis r3, lbl_80405488@ha
/* 803C8EFC 003C4B5C  57 E0 10 3A */	slwi r0, r31, 2
/* 803C8F00 003C4B60  38 63 54 88 */	addi r3, r3, lbl_80405488@l
/* 803C8F04 003C4B64  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C8F08 003C4B68  7C 63 00 2E */	lwzx r3, r3, r0
/* 803C8F0C 003C4B6C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C8F10 003C4B70  7C 08 03 A6 */	mtlr r0
/* 803C8F14 003C4B74  38 21 00 10 */	addi r1, r1, 0x10
/* 803C8F18 003C4B78  4E 80 00 20 */	blr 

.global func_803C8F1C
func_803C8F1C:
/* 803C8F1C 003C4B7C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C8F20 003C4B80  7C 08 02 A6 */	mflr r0
/* 803C8F24 003C4B84  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C8F28 003C4B88  39 61 00 20 */	addi r11, r1, 0x20
/* 803C8F2C 003C4B8C  4B DF E2 05 */	bl _savegpr_29
/* 803C8F30 003C4B90  80 63 21 3C */	lwz r3, 0x213c(r3)
/* 803C8F34 003C4B94  7C BD 2B 78 */	mr r29, r5
/* 803C8F38 003C4B98  7C FE 3B 78 */	mr r30, r7
/* 803C8F3C 003C4B9C  7D 1F 43 78 */	mr r31, r8
/* 803C8F40 003C4BA0  54 60 05 29 */	rlwinm. r0, r3, 0, 0x14, 0x14
/* 803C8F44 003C4BA4  40 82 00 24 */	bne lbl_803C8F68
/* 803C8F48 003C4BA8  54 60 04 21 */	rlwinm. r0, r3, 0, 0x10, 0x10
/* 803C8F4C 003C4BAC  40 82 00 1C */	bne lbl_803C8F68
/* 803C8F50 003C4BB0  2C 06 00 00 */	cmpwi r6, 0
/* 803C8F54 003C4BB4  41 82 00 14 */	beq lbl_803C8F68
/* 803C8F58 003C4BB8  7C 66 29 D6 */	mullw r3, r6, r5
/* 803C8F5C 003C4BBC  38 80 00 0A */	li r4, 0xa
/* 803C8F60 003C4BC0  4B FF 7C 09 */	bl func_803C0B68
/* 803C8F64 003C4BC4  7C 66 1B 78 */	mr r6, r3
lbl_803C8F68:
/* 803C8F68 003C4BC8  2C 1D 00 05 */	cmpwi r29, 5
/* 803C8F6C 003C4BCC  41 82 00 34 */	beq lbl_803C8FA0
/* 803C8F70 003C4BD0  40 80 00 10 */	bge lbl_803C8F80
/* 803C8F74 003C4BD4  2C 1D 00 00 */	cmpwi r29, 0
/* 803C8F78 003C4BD8  41 82 00 14 */	beq lbl_803C8F8C
/* 803C8F7C 003C4BDC  48 00 00 78 */	b lbl_803C8FF4
lbl_803C8F80:
/* 803C8F80 003C4BE0  2C 1D 00 14 */	cmpwi r29, 0x14
/* 803C8F84 003C4BE4  41 82 00 48 */	beq lbl_803C8FCC
/* 803C8F88 003C4BE8  48 00 00 6C */	b lbl_803C8FF4
lbl_803C8F8C:
/* 803C8F8C 003C4BEC  80 1F 00 00 */	lwz r0, 0(r31)
/* 803C8F90 003C4BF0  60 00 00 08 */	ori r0, r0, 8
/* 803C8F94 003C4BF4  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 803C8F98 003C4BF8  90 1F 00 00 */	stw r0, 0(r31)
/* 803C8F9C 003C4BFC  48 00 00 58 */	b lbl_803C8FF4
lbl_803C8FA0:
/* 803C8FA0 003C4C00  2C 1E 00 00 */	cmpwi r30, 0
/* 803C8FA4 003C4C04  41 82 00 50 */	beq lbl_803C8FF4
/* 803C8FA8 003C4C08  80 7F 00 00 */	lwz r3, 0(r31)
/* 803C8FAC 003C4C0C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C8FB0 003C4C10  41 82 00 10 */	beq lbl_803C8FC0
/* 803C8FB4 003C4C14  54 60 07 FA */	rlwinm r0, r3, 0, 0x1f, 0x1d
/* 803C8FB8 003C4C18  90 1F 00 00 */	stw r0, 0(r31)
/* 803C8FBC 003C4C1C  48 00 00 38 */	b lbl_803C8FF4
lbl_803C8FC0:
/* 803C8FC0 003C4C20  60 60 00 04 */	ori r0, r3, 4
/* 803C8FC4 003C4C24  90 1F 00 00 */	stw r0, 0(r31)
/* 803C8FC8 003C4C28  48 00 00 2C */	b lbl_803C8FF4
lbl_803C8FCC:
/* 803C8FCC 003C4C2C  2C 1E 00 00 */	cmpwi r30, 0
/* 803C8FD0 003C4C30  41 82 00 24 */	beq lbl_803C8FF4
/* 803C8FD4 003C4C34  80 7F 00 00 */	lwz r3, 0(r31)
/* 803C8FD8 003C4C38  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803C8FDC 003C4C3C  41 82 00 10 */	beq lbl_803C8FEC
/* 803C8FE0 003C4C40  54 60 07 B8 */	rlwinm r0, r3, 0, 0x1e, 0x1c
/* 803C8FE4 003C4C44  90 1F 00 00 */	stw r0, 0(r31)
/* 803C8FE8 003C4C48  48 00 00 0C */	b lbl_803C8FF4
lbl_803C8FEC:
/* 803C8FEC 003C4C4C  60 60 00 02 */	ori r0, r3, 2
/* 803C8FF0 003C4C50  90 1F 00 00 */	stw r0, 0(r31)
lbl_803C8FF4:
/* 803C8FF4 003C4C54  39 61 00 20 */	addi r11, r1, 0x20
/* 803C8FF8 003C4C58  7C C3 33 78 */	mr r3, r6
/* 803C8FFC 003C4C5C  4B DF E1 81 */	bl _restgpr_29
/* 803C9000 003C4C60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C9004 003C4C64  7C 08 03 A6 */	mtlr r0
/* 803C9008 003C4C68  38 21 00 20 */	addi r1, r1, 0x20
/* 803C900C 003C4C6C  4E 80 00 20 */	blr 

.global func_803C9010
func_803C9010:
/* 803C9010 003C4C70  54 80 20 36 */	slwi r0, r4, 4
/* 803C9014 003C4C74  7C 83 02 14 */	add r4, r3, r0
/* 803C9018 003C4C78  A0 04 03 DE */	lhz r0, 0x3de(r4)
/* 803C901C 003C4C7C  2C 00 00 97 */	cmpwi r0, 0x97
/* 803C9020 003C4C80  41 82 00 70 */	beq lbl_803C9090
/* 803C9024 003C4C84  40 80 00 34 */	bge lbl_803C9058
/* 803C9028 003C4C88  2C 00 00 4B */	cmpwi r0, 0x4b
/* 803C902C 003C4C8C  41 82 00 64 */	beq lbl_803C9090
/* 803C9030 003C4C90  40 80 00 1C */	bge lbl_803C904C
/* 803C9034 003C4C94  2C 00 00 27 */	cmpwi r0, 0x27
/* 803C9038 003C4C98  41 82 00 58 */	beq lbl_803C9090
/* 803C903C 003C4C9C  40 80 00 60 */	bge lbl_803C909C
/* 803C9040 003C4CA0  2C 00 00 1A */	cmpwi r0, 0x1a
/* 803C9044 003C4CA4  41 82 00 4C */	beq lbl_803C9090
/* 803C9048 003C4CA8  48 00 00 54 */	b lbl_803C909C
lbl_803C904C:
/* 803C904C 003C4CAC  2C 00 00 91 */	cmpwi r0, 0x91
/* 803C9050 003C4CB0  41 82 00 40 */	beq lbl_803C9090
/* 803C9054 003C4CB4  48 00 00 48 */	b lbl_803C909C
lbl_803C9058:
/* 803C9058 003C4CB8  2C 00 01 07 */	cmpwi r0, 0x107
/* 803C905C 003C4CBC  41 82 00 34 */	beq lbl_803C9090
/* 803C9060 003C4CC0  40 80 00 24 */	bge lbl_803C9084
/* 803C9064 003C4CC4  2C 00 00 FF */	cmpwi r0, 0xff
/* 803C9068 003C4CC8  40 80 00 10 */	bge lbl_803C9078
/* 803C906C 003C4CCC  2C 00 00 9B */	cmpwi r0, 0x9b
/* 803C9070 003C4CD0  41 82 00 20 */	beq lbl_803C9090
/* 803C9074 003C4CD4  48 00 00 28 */	b lbl_803C909C
lbl_803C9078:
/* 803C9078 003C4CD8  2C 00 01 01 */	cmpwi r0, 0x101
/* 803C907C 003C4CDC  40 80 00 20 */	bge lbl_803C909C
/* 803C9080 003C4CE0  48 00 00 10 */	b lbl_803C9090
lbl_803C9084:
/* 803C9084 003C4CE4  2C 00 01 11 */	cmpwi r0, 0x111
/* 803C9088 003C4CE8  41 82 00 08 */	beq lbl_803C9090
/* 803C908C 003C4CEC  48 00 00 10 */	b lbl_803C909C
lbl_803C9090:
/* 803C9090 003C4CF0  80 03 21 3C */	lwz r0, 0x213c(r3)
/* 803C9094 003C4CF4  54 03 05 AC */	rlwinm r3, r0, 0, 0x16, 0x16
/* 803C9098 003C4CF8  4E 80 00 20 */	blr 
lbl_803C909C:
/* 803C909C 003C4CFC  38 60 00 01 */	li r3, 1
/* 803C90A0 003C4D00  4E 80 00 20 */	blr 

.global func_803C90A4
func_803C90A4:
/* 803C90A4 003C4D04  54 84 1D 78 */	rlwinm r4, r4, 3, 0x15, 0x1c
/* 803C90A8 003C4D08  38 00 00 04 */	li r0, 4
/* 803C90AC 003C4D0C  7C A3 22 14 */	add r5, r3, r4
/* 803C90B0 003C4D10  38 C0 00 00 */	li r6, 0
/* 803C90B4 003C4D14  38 60 00 00 */	li r3, 0
/* 803C90B8 003C4D18  7C 09 03 A6 */	mtctr r0
lbl_803C90BC:
/* 803C90BC 003C4D1C  7C 85 1A 14 */	add r4, r5, r3
/* 803C90C0 003C4D20  38 63 00 02 */	addi r3, r3, 2
/* 803C90C4 003C4D24  B0 C4 03 70 */	sth r6, 0x370(r4)
/* 803C90C8 003C4D28  42 00 FF F4 */	bdnz lbl_803C90BC
/* 803C90CC 003C4D2C  4E 80 00 20 */	blr 

.global func_803C90D0
func_803C90D0:
/* 803C90D0 003C4D30  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C90D4 003C4D34  7C 63 02 14 */	add r3, r3, r0
/* 803C90D8 003C4D38  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803C90DC 003C4D3C  4E 80 00 20 */	blr 

.global func_803C90E0
func_803C90E0:
/* 803C90E0 003C4D40  38 60 00 C0 */	li r3, 0xc0
/* 803C90E4 003C4D44  4E 80 00 20 */	blr 

.global func_803C90E8
func_803C90E8:
/* 803C90E8 003C4D48  54 80 1D 78 */	rlwinm r0, r4, 3, 0x15, 0x1c
/* 803C90EC 003C4D4C  7C 63 02 14 */	add r3, r3, r0
/* 803C90F0 003C4D50  38 63 01 C4 */	addi r3, r3, 0x1c4
/* 803C90F4 003C4D54  4E 80 00 20 */	blr 

.global func_803C90F8
func_803C90F8:
/* 803C90F8 003C4D58  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803C90FC 003C4D5C  7C 63 02 14 */	add r3, r3, r0
/* 803C9100 003C4D60  38 63 2D C8 */	addi r3, r3, 0x2dc8
/* 803C9104 003C4D64  4E 80 00 20 */	blr 

.global func_803C9108
func_803C9108:
/* 803C9108 003C4D68  38 63 01 84 */	addi r3, r3, 0x184
/* 803C910C 003C4D6C  4E 80 00 20 */	blr 

.global func_803C9110
func_803C9110:
/* 803C9110 003C4D70  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C9114 003C4D74  7C 08 02 A6 */	mflr r0
/* 803C9118 003C4D78  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C911C 003C4D7C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C9120 003C4D80  4B FE 37 09 */	bl func_803AC828
/* 803C9124 003C4D84  7C 7F 1B 78 */	mr r31, r3
/* 803C9128 003C4D88  4B FE 37 21 */	bl func_803AC848
/* 803C912C 003C4D8C  7C 64 1B 78 */	mr r4, r3
/* 803C9130 003C4D90  7F E3 FB 78 */	mr r3, r31
/* 803C9134 003C4D94  38 A0 00 03 */	li r5, 3
/* 803C9138 003C4D98  38 C0 00 00 */	li r6, 0
/* 803C913C 003C4D9C  4B FF FB 0D */	bl func_803C8C48
/* 803C9140 003C4DA0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C9144 003C4DA4  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803C9148 003C4DA8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C914C 003C4DAC  7C 08 03 A6 */	mtlr r0
/* 803C9150 003C4DB0  38 21 00 10 */	addi r1, r1, 0x10
/* 803C9154 003C4DB4  4E 80 00 20 */	blr 

.global func_803C9158
func_803C9158:
/* 803C9158 003C4DB8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C915C 003C4DBC  7C 08 02 A6 */	mflr r0
/* 803C9160 003C4DC0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C9164 003C4DC4  4B FE 36 C5 */	bl func_803AC828
/* 803C9168 003C4DC8  4B FE 36 E1 */	bl func_803AC848
/* 803C916C 003C4DCC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C9170 003C4DD0  80 63 01 80 */	lwz r3, 0x180(r3)
/* 803C9174 003C4DD4  7C 08 03 A6 */	mtlr r0
/* 803C9178 003C4DD8  38 21 00 10 */	addi r1, r1, 0x10
/* 803C917C 003C4DDC  4E 80 00 20 */	blr 

.global func_803C9180
func_803C9180:
/* 803C9180 003C4DE0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C9184 003C4DE4  7C 08 02 A6 */	mflr r0
/* 803C9188 003C4DE8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C918C 003C4DEC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C9190 003C4DF0  7C 7F 1B 78 */	mr r31, r3
/* 803C9194 003C4DF4  4B FE 36 95 */	bl func_803AC828
/* 803C9198 003C4DF8  4B FE 36 B1 */	bl func_803AC848
/* 803C919C 003C4DFC  80 03 01 80 */	lwz r0, 0x180(r3)
/* 803C91A0 003C4E00  7C 03 F8 38 */	and r3, r0, r31
/* 803C91A4 003C4E04  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C91A8 003C4E08  30 03 FF FF */	addic r0, r3, -1
/* 803C91AC 003C4E0C  7C 60 19 10 */	subfe r3, r0, r3
/* 803C91B0 003C4E10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C91B4 003C4E14  7C 08 03 A6 */	mtlr r0
/* 803C91B8 003C4E18  38 21 00 10 */	addi r1, r1, 0x10
/* 803C91BC 003C4E1C  4E 80 00 20 */	blr 

.global func_803C91C0
func_803C91C0:
/* 803C91C0 003C4E20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C91C4 003C4E24  7C 08 02 A6 */	mflr r0
/* 803C91C8 003C4E28  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C91CC 003C4E2C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C91D0 003C4E30  4B DF DF 5D */	bl _savegpr_28
/* 803C91D4 003C4E34  7C 7C 1B 78 */	mr r28, r3
/* 803C91D8 003C4E38  7C 9D 23 78 */	mr r29, r4
/* 803C91DC 003C4E3C  4B FE 36 4D */	bl func_803AC828
/* 803C91E0 003C4E40  7C 7E 1B 78 */	mr r30, r3
/* 803C91E4 003C4E44  4B FE 36 65 */	bl func_803AC848
/* 803C91E8 003C4E48  7C 7F 1B 78 */	mr r31, r3
/* 803C91EC 003C4E4C  7F C3 F3 78 */	mr r3, r30
/* 803C91F0 003C4E50  4B FE 36 51 */	bl func_803AC840
/* 803C91F4 003C4E54  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C91F8 003C4E58  41 82 00 08 */	beq lbl_803C9200
/* 803C91FC 003C4E5C  57 9C 07 FE */	clrlwi r28, r28, 0x1f
lbl_803C9200:
/* 803C9200 003C4E60  57 80 06 3E */	clrlwi r0, r28, 0x18
/* 803C9204 003C4E64  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9208 003C4E68  1C 00 00 06 */	mulli r0, r0, 6
/* 803C920C 003C4E6C  7C 1F 02 14 */	add r0, r31, r0
/* 803C9210 003C4E70  7C 60 EA 14 */	add r3, r0, r29
/* 803C9214 003C4E74  88 63 31 2C */	lbz r3, 0x312c(r3)
/* 803C9218 003C4E78  4B DF DF 61 */	bl _restgpr_28
/* 803C921C 003C4E7C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C9220 003C4E80  7C 08 03 A6 */	mtlr r0
/* 803C9224 003C4E84  38 21 00 20 */	addi r1, r1, 0x20
/* 803C9228 003C4E88  4E 80 00 20 */	blr 

.global func_803C922C
func_803C922C:
/* 803C922C 003C4E8C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C9230 003C4E90  7C 08 02 A6 */	mflr r0
/* 803C9234 003C4E94  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C9238 003C4E98  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C923C 003C4E9C  7C 9F 23 78 */	mr r31, r4
/* 803C9240 003C4EA0  93 C1 00 08 */	stw r30, 8(r1)
/* 803C9244 003C4EA4  7C 7E 1B 78 */	mr r30, r3
/* 803C9248 003C4EA8  4B FE 35 E1 */	bl func_803AC828
/* 803C924C 003C4EAC  4B FE 35 F5 */	bl func_803AC840
/* 803C9250 003C4EB0  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803C9254 003C4EB4  41 82 00 18 */	beq lbl_803C926C
/* 803C9258 003C4EB8  2C 1F 00 00 */	cmpwi r31, 0
/* 803C925C 003C4EBC  38 60 00 FF */	li r3, 0xff
/* 803C9260 003C4EC0  41 81 00 50 */	bgt lbl_803C92B0
/* 803C9264 003C4EC4  57 C3 06 3E */	clrlwi r3, r30, 0x18
/* 803C9268 003C4EC8  48 00 00 48 */	b lbl_803C92B0
lbl_803C926C:
/* 803C926C 003C4ECC  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C9270 003C4ED0  41 82 00 30 */	beq lbl_803C92A0
/* 803C9274 003C4ED4  2C 1F 00 01 */	cmpwi r31, 1
/* 803C9278 003C4ED8  40 81 00 0C */	ble lbl_803C9284
/* 803C927C 003C4EDC  38 60 00 FF */	li r3, 0xff
/* 803C9280 003C4EE0  48 00 00 30 */	b lbl_803C92B0
lbl_803C9284:
/* 803C9284 003C4EE4  2C 1E 00 01 */	cmpwi r30, 1
/* 803C9288 003C4EE8  38 60 00 FF */	li r3, 0xff
/* 803C928C 003C4EEC  41 81 00 24 */	bgt lbl_803C92B0
/* 803C9290 003C4EF0  57 E0 08 3C */	slwi r0, r31, 1
/* 803C9294 003C4EF4  7C 1E 02 14 */	add r0, r30, r0
/* 803C9298 003C4EF8  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 803C929C 003C4EFC  48 00 00 14 */	b lbl_803C92B0
lbl_803C92A0:
/* 803C92A0 003C4F00  2C 1F 00 00 */	cmpwi r31, 0
/* 803C92A4 003C4F04  38 60 00 FF */	li r3, 0xff
/* 803C92A8 003C4F08  41 81 00 08 */	bgt lbl_803C92B0
/* 803C92AC 003C4F0C  57 C3 06 3E */	clrlwi r3, r30, 0x18
lbl_803C92B0:
/* 803C92B0 003C4F10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C92B4 003C4F14  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C92B8 003C4F18  83 C1 00 08 */	lwz r30, 8(r1)
/* 803C92BC 003C4F1C  7C 08 03 A6 */	mtlr r0
/* 803C92C0 003C4F20  38 21 00 10 */	addi r1, r1, 0x10
/* 803C92C4 003C4F24  4E 80 00 20 */	blr 

.global func_803C92C8
func_803C92C8:
/* 803C92C8 003C4F28  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803C92CC 003C4F2C  41 82 00 4C */	beq lbl_803C9318
/* 803C92D0 003C4F30  2C 04 00 02 */	cmpwi r4, 2
/* 803C92D4 003C4F34  41 82 00 34 */	beq lbl_803C9308
/* 803C92D8 003C4F38  40 80 00 14 */	bge lbl_803C92EC
/* 803C92DC 003C4F3C  2C 04 00 00 */	cmpwi r4, 0
/* 803C92E0 003C4F40  41 82 00 18 */	beq lbl_803C92F8
/* 803C92E4 003C4F44  40 80 00 1C */	bge lbl_803C9300
/* 803C92E8 003C4F48  48 00 00 88 */	b lbl_803C9370
lbl_803C92EC:
/* 803C92EC 003C4F4C  2C 04 00 04 */	cmpwi r4, 4
/* 803C92F0 003C4F50  40 80 00 80 */	bge lbl_803C9370
/* 803C92F4 003C4F54  48 00 00 1C */	b lbl_803C9310
lbl_803C92F8:
/* 803C92F8 003C4F58  38 60 00 00 */	li r3, 0
/* 803C92FC 003C4F5C  4E 80 00 20 */	blr 
lbl_803C9300:
/* 803C9300 003C4F60  38 60 00 01 */	li r3, 1
/* 803C9304 003C4F64  4E 80 00 20 */	blr 
lbl_803C9308:
/* 803C9308 003C4F68  38 60 00 02 */	li r3, 2
/* 803C930C 003C4F6C  4E 80 00 20 */	blr 
lbl_803C9310:
/* 803C9310 003C4F70  38 60 00 03 */	li r3, 3
/* 803C9314 003C4F74  4E 80 00 20 */	blr 
lbl_803C9318:
/* 803C9318 003C4F78  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803C931C 003C4F7C  41 82 00 34 */	beq lbl_803C9350
/* 803C9320 003C4F80  2C 04 00 00 */	cmpwi r4, 0
/* 803C9324 003C4F84  41 82 00 0C */	beq lbl_803C9330
/* 803C9328 003C4F88  28 04 00 02 */	cmplwi r4, 2
/* 803C932C 003C4F8C  40 82 00 0C */	bne lbl_803C9338
lbl_803C9330:
/* 803C9330 003C4F90  38 60 00 00 */	li r3, 0
/* 803C9334 003C4F94  4E 80 00 20 */	blr 
lbl_803C9338:
/* 803C9338 003C4F98  28 04 00 01 */	cmplwi r4, 1
/* 803C933C 003C4F9C  41 82 00 0C */	beq lbl_803C9348
/* 803C9340 003C4FA0  28 04 00 03 */	cmplwi r4, 3
/* 803C9344 003C4FA4  40 82 00 2C */	bne lbl_803C9370
lbl_803C9348:
/* 803C9348 003C4FA8  38 60 00 01 */	li r3, 1
/* 803C934C 003C4FAC  4E 80 00 20 */	blr 
lbl_803C9350:
/* 803C9350 003C4FB0  2C 04 00 00 */	cmpwi r4, 0
/* 803C9354 003C4FB4  40 82 00 0C */	bne lbl_803C9360
/* 803C9358 003C4FB8  38 60 00 00 */	li r3, 0
/* 803C935C 003C4FBC  4E 80 00 20 */	blr 
lbl_803C9360:
/* 803C9360 003C4FC0  28 04 00 01 */	cmplwi r4, 1
/* 803C9364 003C4FC4  40 82 00 0C */	bne lbl_803C9370
/* 803C9368 003C4FC8  38 60 00 01 */	li r3, 1
/* 803C936C 003C4FCC  4E 80 00 20 */	blr 
lbl_803C9370:
/* 803C9370 003C4FD0  38 60 00 FF */	li r3, 0xff
/* 803C9374 003C4FD4  4E 80 00 20 */	blr 

.global func_803C9378
func_803C9378:
/* 803C9378 003C4FD8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C937C 003C4FDC  7C 08 02 A6 */	mflr r0
/* 803C9380 003C4FE0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C9384 003C4FE4  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9388 003C4FE8  4B DF DD A9 */	bl _savegpr_29
/* 803C938C 003C4FEC  7C 9D 23 78 */	mr r29, r4
/* 803C9390 003C4FF0  7C BE 2B 78 */	mr r30, r5
/* 803C9394 003C4FF4  7C DF 33 78 */	mr r31, r6
/* 803C9398 003C4FF8  4B FE 34 B1 */	bl func_803AC848
/* 803C939C 003C4FFC  57 A0 15 BA */	rlwinm r0, r29, 2, 0x16, 0x1d
/* 803C93A0 003C5000  39 61 00 20 */	addi r11, r1, 0x20
/* 803C93A4 003C5004  7C 03 02 14 */	add r0, r3, r0
/* 803C93A8 003C5008  7C 60 F2 14 */	add r3, r0, r30
/* 803C93AC 003C500C  9B E3 31 4C */	stb r31, 0x314c(r3)
/* 803C93B0 003C5010  4B DF DD CD */	bl _restgpr_29
/* 803C93B4 003C5014  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C93B8 003C5018  7C 08 03 A6 */	mtlr r0
/* 803C93BC 003C501C  38 21 00 20 */	addi r1, r1, 0x20
/* 803C93C0 003C5020  4E 80 00 20 */	blr 

.global func_803C93C4
func_803C93C4:
/* 803C93C4 003C5024  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C93C8 003C5028  7C 08 02 A6 */	mflr r0
/* 803C93CC 003C502C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C93D0 003C5030  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C93D4 003C5034  7C BF 2B 78 */	mr r31, r5
/* 803C93D8 003C5038  93 C1 00 08 */	stw r30, 8(r1)
/* 803C93DC 003C503C  7C 9E 23 78 */	mr r30, r4
/* 803C93E0 003C5040  4B FE 34 69 */	bl func_803AC848
/* 803C93E4 003C5044  57 C0 15 BA */	rlwinm r0, r30, 2, 0x16, 0x1d
/* 803C93E8 003C5048  7C 03 02 14 */	add r0, r3, r0
/* 803C93EC 003C504C  7C 60 FA 14 */	add r3, r0, r31
/* 803C93F0 003C5050  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C93F4 003C5054  83 C1 00 08 */	lwz r30, 8(r1)
/* 803C93F8 003C5058  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C93FC 003C505C  88 63 31 4C */	lbz r3, 0x314c(r3)
/* 803C9400 003C5060  7C 08 03 A6 */	mtlr r0
/* 803C9404 003C5064  38 21 00 10 */	addi r1, r1, 0x10
/* 803C9408 003C5068  4E 80 00 20 */	blr 

.global func_803C940C
func_803C940C:
/* 803C940C 003C506C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C9410 003C5070  7C 08 02 A6 */	mflr r0
/* 803C9414 003C5074  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C9418 003C5078  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C941C 003C507C  7C DF 33 78 */	mr r31, r6
/* 803C9420 003C5080  93 C1 00 08 */	stw r30, 8(r1)
/* 803C9424 003C5084  7C BE 2B 78 */	mr r30, r5
/* 803C9428 003C5088  4B FE 34 21 */	bl func_803AC848
/* 803C942C 003C508C  1C 9E 01 B0 */	mulli r4, r30, 0x1b0
/* 803C9430 003C5090  1C 1F 00 48 */	mulli r0, r31, 0x48
/* 803C9434 003C5094  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C9438 003C5098  7C 63 22 14 */	add r3, r3, r4
/* 803C943C 003C509C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803C9440 003C50A0  7C 63 02 14 */	add r3, r3, r0
/* 803C9444 003C50A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C9448 003C50A8  38 63 31 5C */	addi r3, r3, 0x315c
/* 803C944C 003C50AC  7C 08 03 A6 */	mtlr r0
/* 803C9450 003C50B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803C9454 003C50B4  4E 80 00 20 */	blr 

.global func_803C9458
func_803C9458:
/* 803C9458 003C50B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C945C 003C50BC  7C 08 02 A6 */	mflr r0
/* 803C9460 003C50C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C9464 003C50C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C9468 003C50C8  7C 9F 23 78 */	mr r31, r4
/* 803C946C 003C50CC  4B FE 33 DD */	bl func_803AC848
/* 803C9470 003C50D0  1C 1F 00 06 */	mulli r0, r31, 6
/* 803C9474 003C50D4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C9478 003C50D8  7C 63 02 14 */	add r3, r3, r0
/* 803C947C 003C50DC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C9480 003C50E0  38 63 31 2C */	addi r3, r3, 0x312c
/* 803C9484 003C50E4  7C 08 03 A6 */	mtlr r0
/* 803C9488 003C50E8  38 21 00 10 */	addi r1, r1, 0x10
/* 803C948C 003C50EC  4E 80 00 20 */	blr 

.global func_803C9490
func_803C9490:
/* 803C9490 003C50F0  2C 03 00 00 */	cmpwi r3, 0
/* 803C9494 003C50F4  4D 82 00 20 */	beqlr 
/* 803C9498 003C50F8  2C 04 00 00 */	cmpwi r4, 0
/* 803C949C 003C50FC  40 82 00 08 */	bne lbl_803C94A4
/* 803C94A0 003C5100  4E 80 00 20 */	blr 
lbl_803C94A4:
/* 803C94A4 003C5104  38 00 00 0B */	li r0, 0xb
/* 803C94A8 003C5108  38 A0 00 00 */	li r5, 0
/* 803C94AC 003C510C  7C 09 03 A6 */	mtctr r0
lbl_803C94B0:
/* 803C94B0 003C5110  A0 04 00 00 */	lhz r0, 0(r4)
/* 803C94B4 003C5114  7C C3 2A 14 */	add r6, r3, r5
/* 803C94B8 003C5118  38 A5 00 02 */	addi r5, r5, 2
/* 803C94BC 003C511C  38 84 00 02 */	addi r4, r4, 2
/* 803C94C0 003C5120  B0 06 00 36 */	sth r0, 0x36(r6)
/* 803C94C4 003C5124  42 00 FF EC */	bdnz lbl_803C94B0
/* 803C94C8 003C5128  4E 80 00 20 */	blr 

.global func_803C94CC
func_803C94CC:
/* 803C94CC 003C512C  80 04 00 B4 */	lwz r0, 0xb4(r4)
/* 803C94D0 003C5130  3C A0 80 40 */	lis r5, lbl_804056D8@ha
/* 803C94D4 003C5134  38 A5 56 D8 */	addi r5, r5, lbl_804056D8@l
/* 803C94D8 003C5138  54 00 10 3A */	slwi r0, r0, 2
/* 803C94DC 003C513C  7C C4 02 14 */	add r6, r4, r0
/* 803C94E0 003C5140  80 06 27 00 */	lwz r0, 0x2700(r6)
/* 803C94E4 003C5144  54 00 10 3A */	slwi r0, r0, 2
/* 803C94E8 003C5148  7D 85 00 2E */	lwzx r12, r5, r0
/* 803C94EC 003C514C  7D 89 03 A6 */	mtctr r12
/* 803C94F0 003C5150  4E 80 04 20 */	bctr 
/* 803C94F4 003C5154  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C94F8 003C5158  7C 08 02 A6 */	mflr r0
/* 803C94FC 003C515C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C9500 003C5160  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803C9504 003C5164  38 05 00 01 */	addi r0, r5, 1
/* 803C9508 003C5168  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803C950C 003C516C  38 80 00 00 */	li r4, 0
/* 803C9510 003C5170  4B FE 62 39 */	bl func_803AF748
/* 803C9514 003C5174  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C9518 003C5178  38 60 00 00 */	li r3, 0
/* 803C951C 003C517C  7C 08 03 A6 */	mtlr r0
/* 803C9520 003C5180  38 21 00 10 */	addi r1, r1, 0x10
/* 803C9524 003C5184  4E 80 00 20 */	blr 
/* 803C9528 003C5188  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C952C 003C518C  7C 08 02 A6 */	mflr r0
/* 803C9530 003C5190  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C9534 003C5194  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9538 003C5198  4B DF DB F9 */	bl _savegpr_29
/* 803C953C 003C519C  7C 7D 1B 78 */	mr r29, r3
/* 803C9540 003C51A0  7C 9E 23 78 */	mr r30, r4
/* 803C9544 003C51A4  4B FE 33 1D */	bl func_803AC860
/* 803C9548 003C51A8  80 9E 00 B4 */	lwz r4, 0xb4(r30)
/* 803C954C 003C51AC  7C 7F 1B 78 */	mr r31, r3
/* 803C9550 003C51B0  7F C3 F3 78 */	mr r3, r30
/* 803C9554 003C51B4  38 04 00 01 */	addi r0, r4, 1
/* 803C9558 003C51B8  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803C955C 003C51BC  48 00 D9 11 */	bl func_803D6E6C
/* 803C9560 003C51C0  2C 03 00 03 */	cmpwi r3, 3
/* 803C9564 003C51C4  41 82 00 94 */	beq lbl_803C95F8
/* 803C9568 003C51C8  40 80 00 10 */	bge lbl_803C9578
/* 803C956C 003C51CC  2C 03 00 00 */	cmpwi r3, 0
/* 803C9570 003C51D0  41 82 00 14 */	beq lbl_803C9584
/* 803C9574 003C51D4  48 00 00 10 */	b lbl_803C9584
lbl_803C9578:
/* 803C9578 003C51D8  2C 03 00 05 */	cmpwi r3, 5
/* 803C957C 003C51DC  40 80 00 08 */	bge lbl_803C9584
/* 803C9580 003C51E0  48 00 00 34 */	b lbl_803C95B4
lbl_803C9584:
/* 803C9584 003C51E4  3B C0 00 00 */	li r30, 0
/* 803C9588 003C51E8  48 00 00 20 */	b lbl_803C95A8
lbl_803C958C:
/* 803C958C 003C51EC  7F A3 EB 78 */	mr r3, r29
/* 803C9590 003C51F0  7F C4 F3 78 */	mr r4, r30
/* 803C9594 003C51F4  4B FE 61 ED */	bl func_803AF780
/* 803C9598 003C51F8  7F A3 EB 78 */	mr r3, r29
/* 803C959C 003C51FC  7F C4 F3 78 */	mr r4, r30
/* 803C95A0 003C5200  4B FE 48 BD */	bl func_803ADE5C
/* 803C95A4 003C5204  3B DE 00 01 */	addi r30, r30, 1
lbl_803C95A8:
/* 803C95A8 003C5208  7C 1E F8 00 */	cmpw r30, r31
/* 803C95AC 003C520C  41 80 FF E0 */	blt lbl_803C958C
/* 803C95B0 003C5210  48 00 00 48 */	b lbl_803C95F8
lbl_803C95B4:
/* 803C95B4 003C5214  3B C0 00 00 */	li r30, 0
/* 803C95B8 003C5218  48 00 00 38 */	b lbl_803C95F0
lbl_803C95BC:
/* 803C95BC 003C521C  7F A3 EB 78 */	mr r3, r29
/* 803C95C0 003C5220  7F C4 F3 78 */	mr r4, r30
/* 803C95C4 003C5224  4B FE 32 8D */	bl cTeam_GetPlayer
/* 803C95C8 003C5228  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C95CC 003C522C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C95D0 003C5230  41 82 00 1C */	beq lbl_803C95EC
/* 803C95D4 003C5234  7F A3 EB 78 */	mr r3, r29
/* 803C95D8 003C5238  7F C4 F3 78 */	mr r4, r30
/* 803C95DC 003C523C  4B FE 61 A5 */	bl func_803AF780
/* 803C95E0 003C5240  7F A3 EB 78 */	mr r3, r29
/* 803C95E4 003C5244  7F C4 F3 78 */	mr r4, r30
/* 803C95E8 003C5248  4B FE 48 75 */	bl func_803ADE5C
lbl_803C95EC:
/* 803C95EC 003C524C  3B DE 00 01 */	addi r30, r30, 1
lbl_803C95F0:
/* 803C95F0 003C5250  7C 1E F8 00 */	cmpw r30, r31
/* 803C95F4 003C5254  41 80 FF C8 */	blt lbl_803C95BC
lbl_803C95F8:
/* 803C95F8 003C5258  39 61 00 20 */	addi r11, r1, 0x20
/* 803C95FC 003C525C  38 60 00 00 */	li r3, 0
/* 803C9600 003C5260  4B DF DB 7D */	bl _restgpr_29
/* 803C9604 003C5264  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C9608 003C5268  7C 08 03 A6 */	mtlr r0
/* 803C960C 003C526C  38 21 00 20 */	addi r1, r1, 0x20
/* 803C9610 003C5270  4E 80 00 20 */	blr 
/* 803C9614 003C5274  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C9618 003C5278  7C 08 02 A6 */	mflr r0
/* 803C961C 003C527C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C9620 003C5280  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9624 003C5284  4B DF DB 09 */	bl _savegpr_28
/* 803C9628 003C5288  7C 7E 1B 78 */	mr r30, r3
/* 803C962C 003C528C  7C 9F 23 78 */	mr r31, r4
/* 803C9630 003C5290  4B FE 32 31 */	bl func_803AC860
/* 803C9634 003C5294  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803C9638 003C5298  7C 7D 1B 78 */	mr r29, r3
/* 803C963C 003C529C  7F E3 FB 78 */	mr r3, r31
/* 803C9640 003C52A0  38 04 00 01 */	addi r0, r4, 1
/* 803C9644 003C52A4  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803C9648 003C52A8  48 00 D8 25 */	bl func_803D6E6C
/* 803C964C 003C52AC  28 03 00 06 */	cmplwi r3, 6
/* 803C9650 003C52B0  41 81 00 1C */	bgt lbl_803C966C
/* 803C9654 003C52B4  3C 80 80 47 */	lis r4, lbl_80473E60@ha
/* 803C9658 003C52B8  54 60 10 3A */	slwi r0, r3, 2
/* 803C965C 003C52BC  38 84 3E 60 */	addi r4, r4, lbl_80473E60@l
/* 803C9660 003C52C0  7C 84 00 2E */	lwzx r4, r4, r0
/* 803C9664 003C52C4  7C 89 03 A6 */	mtctr r4
/* 803C9668 003C52C8  4E 80 04 20 */	bctr 
lbl_803C966C:
/* 803C966C 003C52CC  3B 80 00 00 */	li r28, 0
/* 803C9670 003C52D0  48 00 00 20 */	b lbl_803C9690
lbl_803C9674:
/* 803C9674 003C52D4  7F C3 F3 78 */	mr r3, r30
/* 803C9678 003C52D8  7F 84 E3 78 */	mr r4, r28
/* 803C967C 003C52DC  4B FE 62 59 */	bl func_803AF8D4
/* 803C9680 003C52E0  7F C3 F3 78 */	mr r3, r30
/* 803C9684 003C52E4  7F 84 E3 78 */	mr r4, r28
/* 803C9688 003C52E8  4B FE 47 D5 */	bl func_803ADE5C
/* 803C968C 003C52EC  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C9690:
/* 803C9690 003C52F0  7C 1C E8 00 */	cmpw r28, r29
/* 803C9694 003C52F4  41 80 FF E0 */	blt lbl_803C9674
/* 803C9698 003C52F8  48 00 02 28 */	b lbl_803C98C0
/* 803C969C 003C52FC  3B 80 00 00 */	li r28, 0
/* 803C96A0 003C5300  48 00 00 38 */	b lbl_803C96D8
lbl_803C96A4:
/* 803C96A4 003C5304  7F C3 F3 78 */	mr r3, r30
/* 803C96A8 003C5308  7F 84 E3 78 */	mr r4, r28
/* 803C96AC 003C530C  4B FE 31 A5 */	bl cTeam_GetPlayer
/* 803C96B0 003C5310  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C96B4 003C5314  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C96B8 003C5318  40 82 00 1C */	bne lbl_803C96D4
/* 803C96BC 003C531C  7F C3 F3 78 */	mr r3, r30
/* 803C96C0 003C5320  7F 84 E3 78 */	mr r4, r28
/* 803C96C4 003C5324  4B FE 62 11 */	bl func_803AF8D4
/* 803C96C8 003C5328  7F C3 F3 78 */	mr r3, r30
/* 803C96CC 003C532C  7F 84 E3 78 */	mr r4, r28
/* 803C96D0 003C5330  4B FE 47 8D */	bl func_803ADE5C
lbl_803C96D4:
/* 803C96D4 003C5334  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C96D8:
/* 803C96D8 003C5338  7C 1C E8 00 */	cmpw r28, r29
/* 803C96DC 003C533C  41 80 FF C8 */	blt lbl_803C96A4
/* 803C96E0 003C5340  7F C3 F3 78 */	mr r3, r30
/* 803C96E4 003C5344  7F E4 FB 78 */	mr r4, r31
/* 803C96E8 003C5348  38 A0 00 01 */	li r5, 1
/* 803C96EC 003C534C  4B FF 2D 79 */	bl func_803BC464
/* 803C96F0 003C5350  7F C3 F3 78 */	mr r3, r30
/* 803C96F4 003C5354  7F E4 FB 78 */	mr r4, r31
/* 803C96F8 003C5358  38 A0 00 03 */	li r5, 3
/* 803C96FC 003C535C  4B FF 2D 69 */	bl func_803BC464
/* 803C9700 003C5360  48 00 01 C0 */	b lbl_803C98C0
/* 803C9704 003C5364  3B 80 00 00 */	li r28, 0
/* 803C9708 003C5368  48 00 00 54 */	b lbl_803C975C
lbl_803C970C:
/* 803C970C 003C536C  7F C3 F3 78 */	mr r3, r30
/* 803C9710 003C5370  7F 84 E3 78 */	mr r4, r28
/* 803C9714 003C5374  4B FE 31 3D */	bl cTeam_GetPlayer
/* 803C9718 003C5378  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C971C 003C537C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9720 003C5380  41 82 00 38 */	beq lbl_803C9758
/* 803C9724 003C5384  7F E3 FB 78 */	mr r3, r31
/* 803C9728 003C5388  7F 84 E3 78 */	mr r4, r28
/* 803C972C 003C538C  4B FF 2D 25 */	bl func_803BC450
/* 803C9730 003C5390  7F C3 F3 78 */	mr r3, r30
/* 803C9734 003C5394  7F E4 FB 78 */	mr r4, r31
/* 803C9738 003C5398  7F 85 E3 78 */	mr r5, r28
/* 803C973C 003C539C  4B FF 2D 29 */	bl func_803BC464
/* 803C9740 003C53A0  7F C3 F3 78 */	mr r3, r30
/* 803C9744 003C53A4  7F 84 E3 78 */	mr r4, r28
/* 803C9748 003C53A8  4B FE 61 8D */	bl func_803AF8D4
/* 803C974C 003C53AC  7F C3 F3 78 */	mr r3, r30
/* 803C9750 003C53B0  7F 84 E3 78 */	mr r4, r28
/* 803C9754 003C53B4  4B FE 47 09 */	bl func_803ADE5C
lbl_803C9758:
/* 803C9758 003C53B8  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C975C:
/* 803C975C 003C53BC  7C 1C E8 00 */	cmpw r28, r29
/* 803C9760 003C53C0  41 80 FF AC */	blt lbl_803C970C
/* 803C9764 003C53C4  48 00 01 5C */	b lbl_803C98C0
/* 803C9768 003C53C8  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C976C 003C53CC  7F C3 F3 78 */	mr r3, r30
/* 803C9770 003C53D0  4B FE 30 E1 */	bl cTeam_GetPlayer
/* 803C9774 003C53D4  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9778 003C53D8  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C977C 003C53DC  40 82 00 28 */	bne lbl_803C97A4
/* 803C9780 003C53E0  7F C3 F3 78 */	mr r3, r30
/* 803C9784 003C53E4  7F E4 FB 78 */	mr r4, r31
/* 803C9788 003C53E8  38 A0 00 01 */	li r5, 1
/* 803C978C 003C53EC  4B FF 2C D9 */	bl func_803BC464
/* 803C9790 003C53F0  7F C3 F3 78 */	mr r3, r30
/* 803C9794 003C53F4  7F E4 FB 78 */	mr r4, r31
/* 803C9798 003C53F8  38 A0 00 03 */	li r5, 3
/* 803C979C 003C53FC  4B FF 2C C9 */	bl func_803BC464
/* 803C97A0 003C5400  48 00 00 20 */	b lbl_803C97C0
lbl_803C97A4:
/* 803C97A4 003C5404  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C97A8 003C5408  7F E3 FB 78 */	mr r3, r31
/* 803C97AC 003C540C  4B FF 2C A5 */	bl func_803BC450
/* 803C97B0 003C5410  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803C97B4 003C5414  7F C3 F3 78 */	mr r3, r30
/* 803C97B8 003C5418  7F E4 FB 78 */	mr r4, r31
/* 803C97BC 003C541C  4B FF 2C A9 */	bl func_803BC464
lbl_803C97C0:
/* 803C97C0 003C5420  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C97C4 003C5424  7F C3 F3 78 */	mr r3, r30
/* 803C97C8 003C5428  4B FE 46 95 */	bl func_803ADE5C
/* 803C97CC 003C542C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C97D0 003C5430  7F C3 F3 78 */	mr r3, r30
/* 803C97D4 003C5434  4B FE 61 01 */	bl func_803AF8D4
/* 803C97D8 003C5438  48 00 00 E8 */	b lbl_803C98C0
/* 803C97DC 003C543C  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C97E0 003C5440  7F C3 F3 78 */	mr r3, r30
/* 803C97E4 003C5444  4B FE 30 6D */	bl cTeam_GetPlayer
/* 803C97E8 003C5448  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C97EC 003C544C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C97F0 003C5450  40 82 00 28 */	bne lbl_803C9818
/* 803C97F4 003C5454  7F C3 F3 78 */	mr r3, r30
/* 803C97F8 003C5458  7F E4 FB 78 */	mr r4, r31
/* 803C97FC 003C545C  38 A0 00 01 */	li r5, 1
/* 803C9800 003C5460  4B FF 2C 65 */	bl func_803BC464
/* 803C9804 003C5464  7F C3 F3 78 */	mr r3, r30
/* 803C9808 003C5468  7F E4 FB 78 */	mr r4, r31
/* 803C980C 003C546C  38 A0 00 03 */	li r5, 3
/* 803C9810 003C5470  4B FF 2C 55 */	bl func_803BC464
/* 803C9814 003C5474  48 00 00 20 */	b lbl_803C9834
lbl_803C9818:
/* 803C9818 003C5478  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C981C 003C547C  7F E3 FB 78 */	mr r3, r31
/* 803C9820 003C5480  4B FF 2C 31 */	bl func_803BC450
/* 803C9824 003C5484  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803C9828 003C5488  7F C3 F3 78 */	mr r3, r30
/* 803C982C 003C548C  7F E4 FB 78 */	mr r4, r31
/* 803C9830 003C5490  4B FF 2C 35 */	bl func_803BC464
lbl_803C9834:
/* 803C9834 003C5494  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C9838 003C5498  7F C3 F3 78 */	mr r3, r30
/* 803C983C 003C549C  4B FE 46 21 */	bl func_803ADE5C
/* 803C9840 003C54A0  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C9844 003C54A4  7F C3 F3 78 */	mr r3, r30
/* 803C9848 003C54A8  4B FE 60 8D */	bl func_803AF8D4
/* 803C984C 003C54AC  48 00 00 74 */	b lbl_803C98C0
/* 803C9850 003C54B0  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C9854 003C54B4  7F C3 F3 78 */	mr r3, r30
/* 803C9858 003C54B8  4B FE 2F F9 */	bl cTeam_GetPlayer
/* 803C985C 003C54BC  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9860 003C54C0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9864 003C54C4  40 82 00 28 */	bne lbl_803C988C
/* 803C9868 003C54C8  7F C3 F3 78 */	mr r3, r30
/* 803C986C 003C54CC  7F E4 FB 78 */	mr r4, r31
/* 803C9870 003C54D0  38 A0 00 01 */	li r5, 1
/* 803C9874 003C54D4  4B FF 2B F1 */	bl func_803BC464
/* 803C9878 003C54D8  7F C3 F3 78 */	mr r3, r30
/* 803C987C 003C54DC  7F E4 FB 78 */	mr r4, r31
/* 803C9880 003C54E0  38 A0 00 03 */	li r5, 3
/* 803C9884 003C54E4  4B FF 2B E1 */	bl func_803BC464
/* 803C9888 003C54E8  48 00 00 20 */	b lbl_803C98A8
lbl_803C988C:
/* 803C988C 003C54EC  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C9890 003C54F0  7F E3 FB 78 */	mr r3, r31
/* 803C9894 003C54F4  4B FF 2B BD */	bl func_803BC450
/* 803C9898 003C54F8  80 BF 00 78 */	lwz r5, 0x78(r31)
/* 803C989C 003C54FC  7F C3 F3 78 */	mr r3, r30
/* 803C98A0 003C5500  7F E4 FB 78 */	mr r4, r31
/* 803C98A4 003C5504  4B FF 2B C1 */	bl func_803BC464
lbl_803C98A8:
/* 803C98A8 003C5508  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C98AC 003C550C  7F C3 F3 78 */	mr r3, r30
/* 803C98B0 003C5510  4B FE 45 AD */	bl func_803ADE5C
/* 803C98B4 003C5514  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C98B8 003C5518  7F C3 F3 78 */	mr r3, r30
/* 803C98BC 003C551C  4B FE 60 19 */	bl func_803AF8D4
lbl_803C98C0:
/* 803C98C0 003C5520  39 61 00 20 */	addi r11, r1, 0x20
/* 803C98C4 003C5524  38 60 00 00 */	li r3, 0
/* 803C98C8 003C5528  4B DF D8 B1 */	bl _restgpr_28
/* 803C98CC 003C552C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C98D0 003C5530  7C 08 03 A6 */	mtlr r0
/* 803C98D4 003C5534  38 21 00 20 */	addi r1, r1, 0x20
/* 803C98D8 003C5538  4E 80 00 20 */	blr 

.global func_803C98DC
func_803C98DC:
/* 803C98DC 003C553C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803C98E0 003C5540  7C 08 02 A6 */	mflr r0
/* 803C98E4 003C5544  90 01 00 44 */	stw r0, 0x44(r1)
/* 803C98E8 003C5548  39 61 00 40 */	addi r11, r1, 0x40
/* 803C98EC 003C554C  4B DF D8 3D */	bl _savegpr_27
/* 803C98F0 003C5550  7C 7B 1B 78 */	mr r27, r3
/* 803C98F4 003C5554  7C 9D 23 78 */	mr r29, r4
/* 803C98F8 003C5558  7C BC 2B 78 */	mr r28, r5
/* 803C98FC 003C555C  38 A0 00 02 */	li r5, 2
/* 803C9900 003C5560  7F A3 EB 78 */	mr r3, r29
/* 803C9904 003C5564  7F 66 DB 78 */	mr r6, r27
/* 803C9908 003C5568  7F 84 E3 78 */	mr r4, r28
/* 803C990C 003C556C  4B FF F3 3D */	bl func_803C8C48
/* 803C9910 003C5570  7C 7E 1B 78 */	mr r30, r3
/* 803C9914 003C5574  7F A3 EB 78 */	mr r3, r29
/* 803C9918 003C5578  7F 64 DB 78 */	mr r4, r27
/* 803C991C 003C557C  7F C5 F3 78 */	mr r5, r30
/* 803C9920 003C5580  4B FE 30 85 */	bl func_803AC9A4
/* 803C9924 003C5584  3F E0 80 49 */	lis r31, lbl_8048CDE8@ha
/* 803C9928 003C5588  7C 7D 1B 78 */	mr r29, r3
/* 803C992C 003C558C  93 7F CD E8 */	stw r27, lbl_8048CDE8@l(r31)
/* 803C9930 003C5590  38 80 00 05 */	li r4, 5
/* 803C9934 003C5594  38 A0 00 00 */	li r5, 0
/* 803C9938 003C5598  48 01 40 A5 */	bl func_803DD9DC
/* 803C993C 003C559C  3B FF CD E8 */	addi r31, r31, -12824
/* 803C9940 003C55A0  38 A1 00 08 */	addi r5, r1, 8
/* 803C9944 003C55A4  90 7F 00 04 */	stw r3, 4(r31)
/* 803C9948 003C55A8  7F A3 EB 78 */	mr r3, r29
/* 803C994C 003C55AC  38 80 00 74 */	li r4, 0x74
/* 803C9950 003C55B0  48 01 40 8D */	bl func_803DD9DC
/* 803C9954 003C55B4  38 01 00 08 */	addi r0, r1, 8
/* 803C9958 003C55B8  7F A3 EB 78 */	mr r3, r29
/* 803C995C 003C55BC  90 1F 00 08 */	stw r0, 8(r31)
/* 803C9960 003C55C0  38 80 00 70 */	li r4, 0x70
/* 803C9964 003C55C4  38 A0 00 00 */	li r5, 0
/* 803C9968 003C55C8  48 01 40 75 */	bl func_803DD9DC
/* 803C996C 003C55CC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803C9970 003C55D0  7F A3 EB 78 */	mr r3, r29
/* 803C9974 003C55D4  48 01 27 5D */	bl func_803DC0D0
/* 803C9978 003C55D8  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803C997C 003C55DC  7F A3 EB 78 */	mr r3, r29
/* 803C9980 003C55E0  30 05 FF FF */	addic r0, r5, -1
/* 803C9984 003C55E4  38 80 00 6F */	li r4, 0x6f
/* 803C9988 003C55E8  7C 00 29 10 */	subfe r0, r0, r5
/* 803C998C 003C55EC  38 A0 00 00 */	li r5, 0
/* 803C9990 003C55F0  90 1F 00 10 */	stw r0, 0x10(r31)
/* 803C9994 003C55F4  48 01 40 49 */	bl func_803DD9DC
/* 803C9998 003C55F8  30 03 FF FF */	addic r0, r3, -1
/* 803C999C 003C55FC  38 80 00 00 */	li r4, 0
/* 803C99A0 003C5600  7C 00 19 10 */	subfe r0, r0, r3
/* 803C99A4 003C5604  7F A3 EB 78 */	mr r3, r29
/* 803C99A8 003C5608  90 1F 00 14 */	stw r0, 0x14(r31)
/* 803C99AC 003C560C  38 A0 00 00 */	li r5, 0
/* 803C99B0 003C5610  48 01 40 2D */	bl func_803DD9DC
/* 803C99B4 003C5614  90 7F 00 18 */	stw r3, 0x18(r31)
/* 803C99B8 003C5618  7F A3 EB 78 */	mr r3, r29
/* 803C99BC 003C561C  38 80 00 09 */	li r4, 9
/* 803C99C0 003C5620  38 A0 00 00 */	li r5, 0
/* 803C99C4 003C5624  48 01 40 19 */	bl func_803DD9DC
/* 803C99C8 003C5628  90 7F 00 1C */	stw r3, 0x1c(r31)
/* 803C99CC 003C562C  7F A3 EB 78 */	mr r3, r29
/* 803C99D0 003C5630  38 80 00 A2 */	li r4, 0xa2
/* 803C99D4 003C5634  38 A0 00 00 */	li r5, 0
/* 803C99D8 003C5638  48 01 40 05 */	bl func_803DD9DC
/* 803C99DC 003C563C  90 7F 00 20 */	stw r3, 0x20(r31)
/* 803C99E0 003C5640  7F A3 EB 78 */	mr r3, r29
/* 803C99E4 003C5644  38 80 00 9A */	li r4, 0x9a
/* 803C99E8 003C5648  38 A0 00 00 */	li r5, 0
/* 803C99EC 003C564C  48 01 3F F1 */	bl func_803DD9DC
/* 803C99F0 003C5650  90 7F 00 24 */	stw r3, 0x24(r31)
/* 803C99F4 003C5654  7F A3 EB 78 */	mr r3, r29
/* 803C99F8 003C5658  38 80 00 9F */	li r4, 0x9f
/* 803C99FC 003C565C  38 A0 00 00 */	li r5, 0
/* 803C9A00 003C5660  48 01 3F DD */	bl func_803DD9DC
/* 803C9A04 003C5664  90 7F 00 28 */	stw r3, 0x28(r31)
/* 803C9A08 003C5668  7F A3 EB 78 */	mr r3, r29
/* 803C9A0C 003C566C  38 80 00 0A */	li r4, 0xa
/* 803C9A10 003C5670  38 A0 00 00 */	li r5, 0
/* 803C9A14 003C5674  93 DF 00 2C */	stw r30, 0x2c(r31)
/* 803C9A18 003C5678  48 01 3F C5 */	bl func_803DD9DC
/* 803C9A1C 003C567C  90 7F 00 30 */	stw r3, 0x30(r31)
/* 803C9A20 003C5680  80 1C 00 B0 */	lwz r0, 0xb0(r28)
/* 803C9A24 003C5684  2C 00 00 09 */	cmpwi r0, 9
/* 803C9A28 003C5688  41 82 00 18 */	beq lbl_803C9A40
/* 803C9A2C 003C568C  2C 00 00 5B */	cmpwi r0, 0x5b
/* 803C9A30 003C5690  41 82 00 10 */	beq lbl_803C9A40
/* 803C9A34 003C5694  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803C9A38 003C5698  54 00 05 EF */	rlwinm. r0, r0, 0, 0x17, 0x17
/* 803C9A3C 003C569C  41 82 00 18 */	beq lbl_803C9A54
lbl_803C9A40:
/* 803C9A40 003C56A0  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803C9A44 003C56A4  38 00 00 01 */	li r0, 1
/* 803C9A48 003C56A8  38 63 CD E8 */	addi r3, r3, lbl_8048CDE8@l
/* 803C9A4C 003C56AC  90 03 00 34 */	stw r0, 0x34(r3)
/* 803C9A50 003C56B0  48 00 00 0C */	b lbl_803C9A5C
lbl_803C9A54:
/* 803C9A54 003C56B4  38 00 00 00 */	li r0, 0
/* 803C9A58 003C56B8  90 1F 00 34 */	stw r0, 0x34(r31)
lbl_803C9A5C:
/* 803C9A5C 003C56BC  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803C9A60 003C56C0  38 60 00 18 */	li r3, 0x18
/* 803C9A64 003C56C4  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803C9A68 003C56C8  4B DA 5F E5 */	bl func_8016FA4C
/* 803C9A6C 003C56CC  39 61 00 40 */	addi r11, r1, 0x40
/* 803C9A70 003C56D0  4B DF D7 05 */	bl _restgpr_27
/* 803C9A74 003C56D4  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803C9A78 003C56D8  7C 08 03 A6 */	mtlr r0
/* 803C9A7C 003C56DC  38 21 00 40 */	addi r1, r1, 0x40
/* 803C9A80 003C56E0  4E 80 00 20 */	blr 
/* 803C9A84 003C56E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C9A88 003C56E8  7C 08 02 A6 */	mflr r0
/* 803C9A8C 003C56EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C9A90 003C56F0  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9A94 003C56F4  4B DF D6 99 */	bl _savegpr_28
/* 803C9A98 003C56F8  7C 7E 1B 78 */	mr r30, r3
/* 803C9A9C 003C56FC  7C 9F 23 78 */	mr r31, r4
/* 803C9AA0 003C5700  4B FE 2D C1 */	bl func_803AC860
/* 803C9AA4 003C5704  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803C9AA8 003C5708  7C 7D 1B 78 */	mr r29, r3
/* 803C9AAC 003C570C  7F E3 FB 78 */	mr r3, r31
/* 803C9AB0 003C5710  38 04 00 01 */	addi r0, r4, 1
/* 803C9AB4 003C5714  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803C9AB8 003C5718  48 00 D3 B5 */	bl func_803D6E6C
/* 803C9ABC 003C571C  28 03 00 06 */	cmplwi r3, 6
/* 803C9AC0 003C5720  41 81 00 1C */	bgt lbl_803C9ADC
/* 803C9AC4 003C5724  3C 80 80 47 */	lis r4, lbl_80473E7C@ha
/* 803C9AC8 003C5728  54 60 10 3A */	slwi r0, r3, 2
/* 803C9ACC 003C572C  38 84 3E 7C */	addi r4, r4, lbl_80473E7C@l
/* 803C9AD0 003C5730  7C 84 00 2E */	lwzx r4, r4, r0
/* 803C9AD4 003C5734  7C 89 03 A6 */	mtctr r4
/* 803C9AD8 003C5738  4E 80 04 20 */	bctr 
lbl_803C9ADC:
/* 803C9ADC 003C573C  3B 80 00 00 */	li r28, 0
/* 803C9AE0 003C5740  48 00 00 38 */	b lbl_803C9B18
lbl_803C9AE4:
/* 803C9AE4 003C5744  7F C3 F3 78 */	mr r3, r30
/* 803C9AE8 003C5748  7F 84 E3 78 */	mr r4, r28
/* 803C9AEC 003C574C  38 A0 00 00 */	li r5, 0
/* 803C9AF0 003C5750  38 C0 00 00 */	li r6, 0
/* 803C9AF4 003C5754  4B FE 5F 81 */	bl func_803AFA74
/* 803C9AF8 003C5758  7F C3 F3 78 */	mr r3, r30
/* 803C9AFC 003C575C  7F 84 E3 78 */	mr r4, r28
/* 803C9B00 003C5760  4B FE 43 5D */	bl func_803ADE5C
/* 803C9B04 003C5764  7F C4 F3 78 */	mr r4, r30
/* 803C9B08 003C5768  7F E5 FB 78 */	mr r5, r31
/* 803C9B0C 003C576C  57 83 06 3E */	clrlwi r3, r28, 0x18
/* 803C9B10 003C5770  4B FF FD CD */	bl func_803C98DC
/* 803C9B14 003C5774  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C9B18:
/* 803C9B18 003C5778  7C 1C E8 00 */	cmpw r28, r29
/* 803C9B1C 003C577C  41 80 FF C8 */	blt lbl_803C9AE4
/* 803C9B20 003C5780  48 00 02 AC */	b lbl_803C9DCC
/* 803C9B24 003C5784  3B 80 00 00 */	li r28, 0
/* 803C9B28 003C5788  48 00 00 50 */	b lbl_803C9B78
lbl_803C9B2C:
/* 803C9B2C 003C578C  7F C3 F3 78 */	mr r3, r30
/* 803C9B30 003C5790  7F 84 E3 78 */	mr r4, r28
/* 803C9B34 003C5794  4B FE 2D 1D */	bl cTeam_GetPlayer
/* 803C9B38 003C5798  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9B3C 003C579C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9B40 003C57A0  40 82 00 34 */	bne lbl_803C9B74
/* 803C9B44 003C57A4  7F C3 F3 78 */	mr r3, r30
/* 803C9B48 003C57A8  7F 84 E3 78 */	mr r4, r28
/* 803C9B4C 003C57AC  38 A0 00 00 */	li r5, 0
/* 803C9B50 003C57B0  38 C0 00 00 */	li r6, 0
/* 803C9B54 003C57B4  4B FE 5F 21 */	bl func_803AFA74
/* 803C9B58 003C57B8  7F C3 F3 78 */	mr r3, r30
/* 803C9B5C 003C57BC  7F 84 E3 78 */	mr r4, r28
/* 803C9B60 003C57C0  4B FE 42 FD */	bl func_803ADE5C
/* 803C9B64 003C57C4  7F C4 F3 78 */	mr r4, r30
/* 803C9B68 003C57C8  7F E5 FB 78 */	mr r5, r31
/* 803C9B6C 003C57CC  57 83 06 3E */	clrlwi r3, r28, 0x18
/* 803C9B70 003C57D0  4B FF FD 6D */	bl func_803C98DC
lbl_803C9B74:
/* 803C9B74 003C57D4  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C9B78:
/* 803C9B78 003C57D8  7C 1C E8 00 */	cmpw r28, r29
/* 803C9B7C 003C57DC  41 80 FF B0 */	blt lbl_803C9B2C
/* 803C9B80 003C57E0  7F C3 F3 78 */	mr r3, r30
/* 803C9B84 003C57E4  7F E4 FB 78 */	mr r4, r31
/* 803C9B88 003C57E8  38 A0 00 01 */	li r5, 1
/* 803C9B8C 003C57EC  4B FF 28 D9 */	bl func_803BC464
/* 803C9B90 003C57F0  7F C3 F3 78 */	mr r3, r30
/* 803C9B94 003C57F4  7F E4 FB 78 */	mr r4, r31
/* 803C9B98 003C57F8  38 A0 00 03 */	li r5, 3
/* 803C9B9C 003C57FC  4B FF 28 C9 */	bl func_803BC464
/* 803C9BA0 003C5800  48 00 02 2C */	b lbl_803C9DCC
/* 803C9BA4 003C5804  3B 80 00 00 */	li r28, 0
/* 803C9BA8 003C5808  48 00 00 6C */	b lbl_803C9C14
lbl_803C9BAC:
/* 803C9BAC 003C580C  7F C3 F3 78 */	mr r3, r30
/* 803C9BB0 003C5810  7F 84 E3 78 */	mr r4, r28
/* 803C9BB4 003C5814  4B FE 2C 9D */	bl cTeam_GetPlayer
/* 803C9BB8 003C5818  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9BBC 003C581C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9BC0 003C5820  41 82 00 50 */	beq lbl_803C9C10
/* 803C9BC4 003C5824  7F E3 FB 78 */	mr r3, r31
/* 803C9BC8 003C5828  7F 84 E3 78 */	mr r4, r28
/* 803C9BCC 003C582C  4B FF 28 85 */	bl func_803BC450
/* 803C9BD0 003C5830  7F C3 F3 78 */	mr r3, r30
/* 803C9BD4 003C5834  7F E4 FB 78 */	mr r4, r31
/* 803C9BD8 003C5838  7F 85 E3 78 */	mr r5, r28
/* 803C9BDC 003C583C  4B FF 28 89 */	bl func_803BC464
/* 803C9BE0 003C5840  7F C3 F3 78 */	mr r3, r30
/* 803C9BE4 003C5844  7F 84 E3 78 */	mr r4, r28
/* 803C9BE8 003C5848  38 A0 00 00 */	li r5, 0
/* 803C9BEC 003C584C  38 C0 00 00 */	li r6, 0
/* 803C9BF0 003C5850  4B FE 5E 85 */	bl func_803AFA74
/* 803C9BF4 003C5854  7F C3 F3 78 */	mr r3, r30
/* 803C9BF8 003C5858  7F 84 E3 78 */	mr r4, r28
/* 803C9BFC 003C585C  4B FE 42 61 */	bl func_803ADE5C
/* 803C9C00 003C5860  7F C4 F3 78 */	mr r4, r30
/* 803C9C04 003C5864  7F E5 FB 78 */	mr r5, r31
/* 803C9C08 003C5868  57 83 06 3E */	clrlwi r3, r28, 0x18
/* 803C9C0C 003C586C  4B FF FC D1 */	bl func_803C98DC
lbl_803C9C10:
/* 803C9C10 003C5870  3B 9C 00 01 */	addi r28, r28, 1
lbl_803C9C14:
/* 803C9C14 003C5874  7C 1C E8 00 */	cmpw r28, r29
/* 803C9C18 003C5878  41 80 FF 94 */	blt lbl_803C9BAC
/* 803C9C1C 003C587C  48 00 01 B0 */	b lbl_803C9DCC
/* 803C9C20 003C5880  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C9C24 003C5884  7F C3 F3 78 */	mr r3, r30
/* 803C9C28 003C5888  4B FE 2C 29 */	bl cTeam_GetPlayer
/* 803C9C2C 003C588C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9C30 003C5890  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9C34 003C5894  40 82 00 28 */	bne lbl_803C9C5C
/* 803C9C38 003C5898  7F C3 F3 78 */	mr r3, r30
/* 803C9C3C 003C589C  7F E4 FB 78 */	mr r4, r31
/* 803C9C40 003C58A0  38 A0 00 01 */	li r5, 1
/* 803C9C44 003C58A4  4B FF 28 21 */	bl func_803BC464
/* 803C9C48 003C58A8  7F C3 F3 78 */	mr r3, r30
/* 803C9C4C 003C58AC  7F E4 FB 78 */	mr r4, r31
/* 803C9C50 003C58B0  38 A0 00 03 */	li r5, 3
/* 803C9C54 003C58B4  4B FF 28 11 */	bl func_803BC464
/* 803C9C58 003C58B8  48 00 00 20 */	b lbl_803C9C78
lbl_803C9C5C:
/* 803C9C5C 003C58BC  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C9C60 003C58C0  7F E3 FB 78 */	mr r3, r31
/* 803C9C64 003C58C4  4B FF 27 ED */	bl func_803BC450
/* 803C9C68 003C58C8  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803C9C6C 003C58CC  7F C3 F3 78 */	mr r3, r30
/* 803C9C70 003C58D0  7F E4 FB 78 */	mr r4, r31
/* 803C9C74 003C58D4  4B FF 27 F1 */	bl func_803BC464
lbl_803C9C78:
/* 803C9C78 003C58D8  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C9C7C 003C58DC  7F C3 F3 78 */	mr r3, r30
/* 803C9C80 003C58E0  4B FE 41 DD */	bl func_803ADE5C
/* 803C9C84 003C58E4  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803C9C88 003C58E8  7F C3 F3 78 */	mr r3, r30
/* 803C9C8C 003C58EC  38 A0 00 00 */	li r5, 0
/* 803C9C90 003C58F0  38 C0 00 00 */	li r6, 0
/* 803C9C94 003C58F4  4B FE 5D E1 */	bl func_803AFA74
/* 803C9C98 003C58F8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803C9C9C 003C58FC  7F C4 F3 78 */	mr r4, r30
/* 803C9CA0 003C5900  7F E5 FB 78 */	mr r5, r31
/* 803C9CA4 003C5904  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 803C9CA8 003C5908  4B FF FC 35 */	bl func_803C98DC
/* 803C9CAC 003C590C  48 00 01 20 */	b lbl_803C9DCC
/* 803C9CB0 003C5910  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C9CB4 003C5914  7F C3 F3 78 */	mr r3, r30
/* 803C9CB8 003C5918  4B FE 2B 99 */	bl cTeam_GetPlayer
/* 803C9CBC 003C591C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9CC0 003C5920  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9CC4 003C5924  40 82 00 28 */	bne lbl_803C9CEC
/* 803C9CC8 003C5928  7F C3 F3 78 */	mr r3, r30
/* 803C9CCC 003C592C  7F E4 FB 78 */	mr r4, r31
/* 803C9CD0 003C5930  38 A0 00 01 */	li r5, 1
/* 803C9CD4 003C5934  4B FF 27 91 */	bl func_803BC464
/* 803C9CD8 003C5938  7F C3 F3 78 */	mr r3, r30
/* 803C9CDC 003C593C  7F E4 FB 78 */	mr r4, r31
/* 803C9CE0 003C5940  38 A0 00 03 */	li r5, 3
/* 803C9CE4 003C5944  4B FF 27 81 */	bl func_803BC464
/* 803C9CE8 003C5948  48 00 00 20 */	b lbl_803C9D08
lbl_803C9CEC:
/* 803C9CEC 003C594C  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C9CF0 003C5950  7F E3 FB 78 */	mr r3, r31
/* 803C9CF4 003C5954  4B FF 27 5D */	bl func_803BC450
/* 803C9CF8 003C5958  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803C9CFC 003C595C  7F C3 F3 78 */	mr r3, r30
/* 803C9D00 003C5960  7F E4 FB 78 */	mr r4, r31
/* 803C9D04 003C5964  4B FF 27 61 */	bl func_803BC464
lbl_803C9D08:
/* 803C9D08 003C5968  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C9D0C 003C596C  7F C3 F3 78 */	mr r3, r30
/* 803C9D10 003C5970  4B FE 41 4D */	bl func_803ADE5C
/* 803C9D14 003C5974  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803C9D18 003C5978  7F C3 F3 78 */	mr r3, r30
/* 803C9D1C 003C597C  38 A0 00 00 */	li r5, 0
/* 803C9D20 003C5980  38 C0 00 00 */	li r6, 0
/* 803C9D24 003C5984  4B FE 5D 51 */	bl func_803AFA74
/* 803C9D28 003C5988  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803C9D2C 003C598C  7F C4 F3 78 */	mr r4, r30
/* 803C9D30 003C5990  7F E5 FB 78 */	mr r5, r31
/* 803C9D34 003C5994  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 803C9D38 003C5998  4B FF FB A5 */	bl func_803C98DC
/* 803C9D3C 003C599C  48 00 00 90 */	b lbl_803C9DCC
/* 803C9D40 003C59A0  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C9D44 003C59A4  7F C3 F3 78 */	mr r3, r30
/* 803C9D48 003C59A8  4B FE 2B 09 */	bl cTeam_GetPlayer
/* 803C9D4C 003C59AC  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9D50 003C59B0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9D54 003C59B4  40 82 00 28 */	bne lbl_803C9D7C
/* 803C9D58 003C59B8  7F C3 F3 78 */	mr r3, r30
/* 803C9D5C 003C59BC  7F E4 FB 78 */	mr r4, r31
/* 803C9D60 003C59C0  38 A0 00 01 */	li r5, 1
/* 803C9D64 003C59C4  4B FF 27 01 */	bl func_803BC464
/* 803C9D68 003C59C8  7F C3 F3 78 */	mr r3, r30
/* 803C9D6C 003C59CC  7F E4 FB 78 */	mr r4, r31
/* 803C9D70 003C59D0  38 A0 00 03 */	li r5, 3
/* 803C9D74 003C59D4  4B FF 26 F1 */	bl func_803BC464
/* 803C9D78 003C59D8  48 00 00 20 */	b lbl_803C9D98
lbl_803C9D7C:
/* 803C9D7C 003C59DC  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C9D80 003C59E0  7F E3 FB 78 */	mr r3, r31
/* 803C9D84 003C59E4  4B FF 26 CD */	bl func_803BC450
/* 803C9D88 003C59E8  80 BF 00 78 */	lwz r5, 0x78(r31)
/* 803C9D8C 003C59EC  7F C3 F3 78 */	mr r3, r30
/* 803C9D90 003C59F0  7F E4 FB 78 */	mr r4, r31
/* 803C9D94 003C59F4  4B FF 26 D1 */	bl func_803BC464
lbl_803C9D98:
/* 803C9D98 003C59F8  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C9D9C 003C59FC  7F C3 F3 78 */	mr r3, r30
/* 803C9DA0 003C5A00  4B FE 40 BD */	bl func_803ADE5C
/* 803C9DA4 003C5A04  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803C9DA8 003C5A08  7F C3 F3 78 */	mr r3, r30
/* 803C9DAC 003C5A0C  38 A0 00 00 */	li r5, 0
/* 803C9DB0 003C5A10  38 C0 00 00 */	li r6, 0
/* 803C9DB4 003C5A14  4B FE 5C C1 */	bl func_803AFA74
/* 803C9DB8 003C5A18  80 1F 00 78 */	lwz r0, 0x78(r31)
/* 803C9DBC 003C5A1C  7F C4 F3 78 */	mr r4, r30
/* 803C9DC0 003C5A20  7F E5 FB 78 */	mr r5, r31
/* 803C9DC4 003C5A24  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 803C9DC8 003C5A28  4B FF FB 15 */	bl func_803C98DC
lbl_803C9DCC:
/* 803C9DCC 003C5A2C  38 60 00 02 */	li r3, 2
/* 803C9DD0 003C5A30  4B DA 45 15 */	bl func_8016E2E4
/* 803C9DD4 003C5A34  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9DD8 003C5A38  38 60 00 00 */	li r3, 0
/* 803C9DDC 003C5A3C  4B DF D3 9D */	bl _restgpr_28
/* 803C9DE0 003C5A40  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C9DE4 003C5A44  7C 08 03 A6 */	mtlr r0
/* 803C9DE8 003C5A48  38 21 00 20 */	addi r1, r1, 0x20
/* 803C9DEC 003C5A4C  4E 80 00 20 */	blr 
/* 803C9DF0 003C5A50  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C9DF4 003C5A54  7C 08 02 A6 */	mflr r0
/* 803C9DF8 003C5A58  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C9DFC 003C5A5C  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9E00 003C5A60  4B DF D3 2D */	bl _savegpr_28
/* 803C9E04 003C5A64  7C 7C 1B 78 */	mr r28, r3
/* 803C9E08 003C5A68  7C 9D 23 78 */	mr r29, r4
/* 803C9E0C 003C5A6C  4B FE 2A 55 */	bl func_803AC860
/* 803C9E10 003C5A70  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803C9E14 003C5A74  7C 7F 1B 78 */	mr r31, r3
/* 803C9E18 003C5A78  7F A3 EB 78 */	mr r3, r29
/* 803C9E1C 003C5A7C  38 04 00 01 */	addi r0, r4, 1
/* 803C9E20 003C5A80  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803C9E24 003C5A84  48 00 D0 49 */	bl func_803D6E6C
/* 803C9E28 003C5A88  2C 03 00 03 */	cmpwi r3, 3
/* 803C9E2C 003C5A8C  7C 65 1B 78 */	mr r5, r3
/* 803C9E30 003C5A90  41 82 00 48 */	beq lbl_803C9E78
/* 803C9E34 003C5A94  40 80 00 10 */	bge lbl_803C9E44
/* 803C9E38 003C5A98  2C 03 00 00 */	cmpwi r3, 0
/* 803C9E3C 003C5A9C  41 82 00 14 */	beq lbl_803C9E50
/* 803C9E40 003C5AA0  48 00 00 CC */	b lbl_803C9F0C
lbl_803C9E44:
/* 803C9E44 003C5AA4  2C 03 00 05 */	cmpwi r3, 5
/* 803C9E48 003C5AA8  40 80 00 C4 */	bge lbl_803C9F0C
/* 803C9E4C 003C5AAC  48 00 00 6C */	b lbl_803C9EB8
lbl_803C9E50:
/* 803C9E50 003C5AB0  3B C0 00 00 */	li r30, 0
/* 803C9E54 003C5AB4  48 00 00 18 */	b lbl_803C9E6C
lbl_803C9E58:
/* 803C9E58 003C5AB8  7F 83 E3 78 */	mr r3, r28
/* 803C9E5C 003C5ABC  7F A4 EB 78 */	mr r4, r29
/* 803C9E60 003C5AC0  7F C5 F3 78 */	mr r5, r30
/* 803C9E64 003C5AC4  4B FE 5E C5 */	bl func_803AFD28
/* 803C9E68 003C5AC8  3B DE 00 01 */	addi r30, r30, 1
lbl_803C9E6C:
/* 803C9E6C 003C5ACC  7C 1E F8 00 */	cmpw r30, r31
/* 803C9E70 003C5AD0  41 80 FF E8 */	blt lbl_803C9E58
/* 803C9E74 003C5AD4  48 00 00 B4 */	b lbl_803C9F28
lbl_803C9E78:
/* 803C9E78 003C5AD8  3B C0 00 00 */	li r30, 0
/* 803C9E7C 003C5ADC  48 00 00 30 */	b lbl_803C9EAC
lbl_803C9E80:
/* 803C9E80 003C5AE0  7F 83 E3 78 */	mr r3, r28
/* 803C9E84 003C5AE4  7F C4 F3 78 */	mr r4, r30
/* 803C9E88 003C5AE8  4B FE 29 C9 */	bl cTeam_GetPlayer
/* 803C9E8C 003C5AEC  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9E90 003C5AF0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9E94 003C5AF4  40 82 00 14 */	bne lbl_803C9EA8
/* 803C9E98 003C5AF8  7F 83 E3 78 */	mr r3, r28
/* 803C9E9C 003C5AFC  7F A4 EB 78 */	mr r4, r29
/* 803C9EA0 003C5B00  7F C5 F3 78 */	mr r5, r30
/* 803C9EA4 003C5B04  4B FE 5E 85 */	bl func_803AFD28
lbl_803C9EA8:
/* 803C9EA8 003C5B08  3B DE 00 01 */	addi r30, r30, 1
lbl_803C9EAC:
/* 803C9EAC 003C5B0C  7C 1E F8 00 */	cmpw r30, r31
/* 803C9EB0 003C5B10  41 80 FF D0 */	blt lbl_803C9E80
/* 803C9EB4 003C5B14  48 00 00 74 */	b lbl_803C9F28
lbl_803C9EB8:
/* 803C9EB8 003C5B18  3B C0 00 00 */	li r30, 0
/* 803C9EBC 003C5B1C  48 00 00 44 */	b lbl_803C9F00
lbl_803C9EC0:
/* 803C9EC0 003C5B20  7F 83 E3 78 */	mr r3, r28
/* 803C9EC4 003C5B24  7F C4 F3 78 */	mr r4, r30
/* 803C9EC8 003C5B28  4B FE 29 89 */	bl cTeam_GetPlayer
/* 803C9ECC 003C5B2C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803C9ED0 003C5B30  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803C9ED4 003C5B34  41 82 00 28 */	beq lbl_803C9EFC
/* 803C9ED8 003C5B38  7F C3 F3 78 */	mr r3, r30
/* 803C9EDC 003C5B3C  48 01 3A 45 */	bl func_803DD920
/* 803C9EE0 003C5B40  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803C9EE4 003C5B44  7C 00 18 39 */	and. r0, r0, r3
/* 803C9EE8 003C5B48  40 82 00 14 */	bne lbl_803C9EFC
/* 803C9EEC 003C5B4C  7F 83 E3 78 */	mr r3, r28
/* 803C9EF0 003C5B50  7F A4 EB 78 */	mr r4, r29
/* 803C9EF4 003C5B54  7F C5 F3 78 */	mr r5, r30
/* 803C9EF8 003C5B58  4B FE 5E 31 */	bl func_803AFD28
lbl_803C9EFC:
/* 803C9EFC 003C5B5C  3B DE 00 01 */	addi r30, r30, 1
lbl_803C9F00:
/* 803C9F00 003C5B60  7C 1E F8 00 */	cmpw r30, r31
/* 803C9F04 003C5B64  41 80 FF BC */	blt lbl_803C9EC0
/* 803C9F08 003C5B68  48 00 00 20 */	b lbl_803C9F28
lbl_803C9F0C:
/* 803C9F0C 003C5B6C  7F 83 E3 78 */	mr r3, r28
/* 803C9F10 003C5B70  7F A4 EB 78 */	mr r4, r29
/* 803C9F14 003C5B74  48 00 E1 29 */	bl func_803D803C
/* 803C9F18 003C5B78  7C 65 1B 78 */	mr r5, r3
/* 803C9F1C 003C5B7C  7F 83 E3 78 */	mr r3, r28
/* 803C9F20 003C5B80  7F A4 EB 78 */	mr r4, r29
/* 803C9F24 003C5B84  4B FE 5E 05 */	bl func_803AFD28
lbl_803C9F28:
/* 803C9F28 003C5B88  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9F2C 003C5B8C  38 60 00 00 */	li r3, 0
/* 803C9F30 003C5B90  4B DF D2 49 */	bl _restgpr_28
/* 803C9F34 003C5B94  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803C9F38 003C5B98  7C 08 03 A6 */	mtlr r0
/* 803C9F3C 003C5B9C  38 21 00 20 */	addi r1, r1, 0x20
/* 803C9F40 003C5BA0  4E 80 00 20 */	blr 
/* 803C9F44 003C5BA4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803C9F48 003C5BA8  7C 08 02 A6 */	mflr r0
/* 803C9F4C 003C5BAC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803C9F50 003C5BB0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803C9F54 003C5BB4  7C 9F 23 78 */	mr r31, r4
/* 803C9F58 003C5BB8  93 C1 00 08 */	stw r30, 8(r1)
/* 803C9F5C 003C5BBC  7C 7E 1B 78 */	mr r30, r3
/* 803C9F60 003C5BC0  7F E3 FB 78 */	mr r3, r31
/* 803C9F64 003C5BC4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803C9F68 003C5BC8  38 05 00 01 */	addi r0, r5, 1
/* 803C9F6C 003C5BCC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803C9F70 003C5BD0  48 00 CE FD */	bl func_803D6E6C
/* 803C9F74 003C5BD4  7C 65 1B 78 */	mr r5, r3
/* 803C9F78 003C5BD8  7F C3 F3 78 */	mr r3, r30
/* 803C9F7C 003C5BDC  7F E4 FB 78 */	mr r4, r31
/* 803C9F80 003C5BE0  48 00 E0 BD */	bl func_803D803C
/* 803C9F84 003C5BE4  7C 64 1B 78 */	mr r4, r3
/* 803C9F88 003C5BE8  7F C3 F3 78 */	mr r3, r30
/* 803C9F8C 003C5BEC  4B FE 5F 29 */	bl func_803AFEB4
/* 803C9F90 003C5BF0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803C9F94 003C5BF4  38 60 00 00 */	li r3, 0
/* 803C9F98 003C5BF8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803C9F9C 003C5BFC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803C9FA0 003C5C00  7C 08 03 A6 */	mtlr r0
/* 803C9FA4 003C5C04  38 21 00 10 */	addi r1, r1, 0x10
/* 803C9FA8 003C5C08  4E 80 00 20 */	blr 
/* 803C9FAC 003C5C0C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803C9FB0 003C5C10  7C 08 02 A6 */	mflr r0
/* 803C9FB4 003C5C14  90 01 00 24 */	stw r0, 0x24(r1)
/* 803C9FB8 003C5C18  39 61 00 20 */	addi r11, r1, 0x20
/* 803C9FBC 003C5C1C  4B DF D1 75 */	bl _savegpr_29
/* 803C9FC0 003C5C20  7C 7F 1B 78 */	mr r31, r3
/* 803C9FC4 003C5C24  7C 9D 23 78 */	mr r29, r4
/* 803C9FC8 003C5C28  4B FE 28 99 */	bl func_803AC860
/* 803C9FCC 003C5C2C  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803C9FD0 003C5C30  7C 7E 1B 78 */	mr r30, r3
/* 803C9FD4 003C5C34  7F A3 EB 78 */	mr r3, r29
/* 803C9FD8 003C5C38  38 04 00 01 */	addi r0, r4, 1
/* 803C9FDC 003C5C3C  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803C9FE0 003C5C40  48 00 CE 8D */	bl func_803D6E6C
/* 803C9FE4 003C5C44  2C 03 00 03 */	cmpwi r3, 3
/* 803C9FE8 003C5C48  41 82 00 B8 */	beq lbl_803CA0A0
/* 803C9FEC 003C5C4C  40 80 00 10 */	bge lbl_803C9FFC
/* 803C9FF0 003C5C50  2C 03 00 00 */	cmpwi r3, 0
/* 803C9FF4 003C5C54  41 82 00 14 */	beq lbl_803CA008
/* 803C9FF8 003C5C58  48 00 00 10 */	b lbl_803CA008
lbl_803C9FFC:
/* 803C9FFC 003C5C5C  2C 03 00 05 */	cmpwi r3, 5
/* 803CA000 003C5C60  40 80 00 08 */	bge lbl_803CA008
/* 803CA004 003C5C64  48 00 00 F8 */	b lbl_803CA0FC
lbl_803CA008:
/* 803CA008 003C5C68  7F E3 FB 78 */	mr r3, r31
/* 803CA00C 003C5C6C  4B FE 28 35 */	bl func_803AC840
/* 803CA010 003C5C70  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803CA014 003C5C74  41 82 00 40 */	beq lbl_803CA054
/* 803CA018 003C5C78  3B A0 00 00 */	li r29, 0
/* 803CA01C 003C5C7C  48 00 00 2C */	b lbl_803CA048
lbl_803CA020:
/* 803CA020 003C5C80  7F E3 FB 78 */	mr r3, r31
/* 803CA024 003C5C84  7F A4 EB 78 */	mr r4, r29
/* 803CA028 003C5C88  4B FE 28 29 */	bl cTeam_GetPlayer
/* 803CA02C 003C5C8C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA030 003C5C90  28 00 00 04 */	cmplwi r0, 4
/* 803CA034 003C5C94  41 82 00 10 */	beq lbl_803CA044
/* 803CA038 003C5C98  7F E3 FB 78 */	mr r3, r31
/* 803CA03C 003C5C9C  7F A4 EB 78 */	mr r4, r29
/* 803CA040 003C5CA0  4B FE 5E AD */	bl func_803AFEEC
lbl_803CA044:
/* 803CA044 003C5CA4  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA048:
/* 803CA048 003C5CA8  7C 1D F0 00 */	cmpw r29, r30
/* 803CA04C 003C5CAC  41 80 FF D4 */	blt lbl_803CA020
/* 803CA050 003C5CB0  48 00 01 14 */	b lbl_803CA164
lbl_803CA054:
/* 803CA054 003C5CB4  3B A0 00 00 */	li r29, 0
/* 803CA058 003C5CB8  48 00 00 3C */	b lbl_803CA094
lbl_803CA05C:
/* 803CA05C 003C5CBC  7F E3 FB 78 */	mr r3, r31
/* 803CA060 003C5CC0  4B FE 27 E1 */	bl func_803AC840
/* 803CA064 003C5CC4  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA068 003C5CC8  40 82 00 1C */	bne lbl_803CA084
/* 803CA06C 003C5CCC  7F E3 FB 78 */	mr r3, r31
/* 803CA070 003C5CD0  4B FE 27 D1 */	bl func_803AC840
/* 803CA074 003C5CD4  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA078 003C5CD8  41 82 00 0C */	beq lbl_803CA084
/* 803CA07C 003C5CDC  2C 1D 00 01 */	cmpwi r29, 1
/* 803CA080 003C5CE0  41 81 00 E4 */	bgt lbl_803CA164
lbl_803CA084:
/* 803CA084 003C5CE4  7F E3 FB 78 */	mr r3, r31
/* 803CA088 003C5CE8  7F A4 EB 78 */	mr r4, r29
/* 803CA08C 003C5CEC  4B FE 5E 61 */	bl func_803AFEEC
/* 803CA090 003C5CF0  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA094:
/* 803CA094 003C5CF4  7C 1D F0 00 */	cmpw r29, r30
/* 803CA098 003C5CF8  41 80 FF C4 */	blt lbl_803CA05C
/* 803CA09C 003C5CFC  48 00 00 C8 */	b lbl_803CA164
lbl_803CA0A0:
/* 803CA0A0 003C5D00  3B A0 00 00 */	li r29, 0
/* 803CA0A4 003C5D04  48 00 00 4C */	b lbl_803CA0F0
lbl_803CA0A8:
/* 803CA0A8 003C5D08  7F E3 FB 78 */	mr r3, r31
/* 803CA0AC 003C5D0C  7F A4 EB 78 */	mr r4, r29
/* 803CA0B0 003C5D10  4B FE 27 A1 */	bl cTeam_GetPlayer
/* 803CA0B4 003C5D14  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA0B8 003C5D18  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA0BC 003C5D1C  40 82 00 30 */	bne lbl_803CA0EC
/* 803CA0C0 003C5D20  7F E3 FB 78 */	mr r3, r31
/* 803CA0C4 003C5D24  7F A4 EB 78 */	mr r4, r29
/* 803CA0C8 003C5D28  4B FE 5E 25 */	bl func_803AFEEC
/* 803CA0CC 003C5D2C  7F E3 FB 78 */	mr r3, r31
/* 803CA0D0 003C5D30  4B FE 27 71 */	bl func_803AC840
/* 803CA0D4 003C5D34  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA0D8 003C5D38  40 82 00 14 */	bne lbl_803CA0EC
/* 803CA0DC 003C5D3C  7F E3 FB 78 */	mr r3, r31
/* 803CA0E0 003C5D40  4B FE 27 61 */	bl func_803AC840
/* 803CA0E4 003C5D44  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA0E8 003C5D48  40 82 00 7C */	bne lbl_803CA164
lbl_803CA0EC:
/* 803CA0EC 003C5D4C  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA0F0:
/* 803CA0F0 003C5D50  7C 1D F0 00 */	cmpw r29, r30
/* 803CA0F4 003C5D54  41 80 FF B4 */	blt lbl_803CA0A8
/* 803CA0F8 003C5D58  48 00 00 6C */	b lbl_803CA164
lbl_803CA0FC:
/* 803CA0FC 003C5D5C  3B A0 00 00 */	li r29, 0
/* 803CA100 003C5D60  48 00 00 5C */	b lbl_803CA15C
lbl_803CA104:
/* 803CA104 003C5D64  7F E3 FB 78 */	mr r3, r31
/* 803CA108 003C5D68  7F A4 EB 78 */	mr r4, r29
/* 803CA10C 003C5D6C  4B FE 27 45 */	bl cTeam_GetPlayer
/* 803CA110 003C5D70  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA114 003C5D74  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA118 003C5D78  41 82 00 40 */	beq lbl_803CA158
/* 803CA11C 003C5D7C  7F E3 FB 78 */	mr r3, r31
/* 803CA120 003C5D80  7F A4 EB 78 */	mr r4, r29
/* 803CA124 003C5D84  4B FE 5D C9 */	bl func_803AFEEC
/* 803CA128 003C5D88  7F E3 FB 78 */	mr r3, r31
/* 803CA12C 003C5D8C  4B FE 27 15 */	bl func_803AC840
/* 803CA130 003C5D90  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA134 003C5D94  40 82 00 24 */	bne lbl_803CA158
/* 803CA138 003C5D98  7F E3 FB 78 */	mr r3, r31
/* 803CA13C 003C5D9C  4B FE 27 05 */	bl func_803AC840
/* 803CA140 003C5DA0  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803CA144 003C5DA4  40 82 00 14 */	bne lbl_803CA158
/* 803CA148 003C5DA8  7F E3 FB 78 */	mr r3, r31
/* 803CA14C 003C5DAC  4B FE 26 F5 */	bl func_803AC840
/* 803CA150 003C5DB0  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA154 003C5DB4  40 82 00 10 */	bne lbl_803CA164
lbl_803CA158:
/* 803CA158 003C5DB8  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA15C:
/* 803CA15C 003C5DBC  7C 1D F0 00 */	cmpw r29, r30
/* 803CA160 003C5DC0  41 80 FF A4 */	blt lbl_803CA104
lbl_803CA164:
/* 803CA164 003C5DC4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA168 003C5DC8  38 60 00 00 */	li r3, 0
/* 803CA16C 003C5DCC  4B DF D0 11 */	bl _restgpr_29
/* 803CA170 003C5DD0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CA174 003C5DD4  7C 08 03 A6 */	mtlr r0
/* 803CA178 003C5DD8  38 21 00 20 */	addi r1, r1, 0x20
/* 803CA17C 003C5DDC  4E 80 00 20 */	blr 
/* 803CA180 003C5DE0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CA184 003C5DE4  7C 08 02 A6 */	mflr r0
/* 803CA188 003C5DE8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CA18C 003C5DEC  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA190 003C5DF0  4B DF CF 9D */	bl _savegpr_28
/* 803CA194 003C5DF4  7C 7E 1B 78 */	mr r30, r3
/* 803CA198 003C5DF8  7C 9F 23 78 */	mr r31, r4
/* 803CA19C 003C5DFC  4B FE 26 C5 */	bl func_803AC860
/* 803CA1A0 003C5E00  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803CA1A4 003C5E04  7C 7C 1B 78 */	mr r28, r3
/* 803CA1A8 003C5E08  7F E3 FB 78 */	mr r3, r31
/* 803CA1AC 003C5E0C  38 04 00 01 */	addi r0, r4, 1
/* 803CA1B0 003C5E10  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CA1B4 003C5E14  48 00 CC B9 */	bl func_803D6E6C
/* 803CA1B8 003C5E18  7C 7D 1B 78 */	mr r29, r3
/* 803CA1BC 003C5E1C  7F E3 FB 78 */	mr r3, r31
/* 803CA1C0 003C5E20  48 00 CC AD */	bl func_803D6E6C
/* 803CA1C4 003C5E24  2C 1D 00 03 */	cmpwi r29, 3
/* 803CA1C8 003C5E28  7C 7F 1B 78 */	mr r31, r3
/* 803CA1CC 003C5E2C  41 82 00 70 */	beq lbl_803CA23C
/* 803CA1D0 003C5E30  40 80 00 10 */	bge lbl_803CA1E0
/* 803CA1D4 003C5E34  2C 1D 00 00 */	cmpwi r29, 0
/* 803CA1D8 003C5E38  41 82 00 14 */	beq lbl_803CA1EC
/* 803CA1DC 003C5E3C  48 00 00 10 */	b lbl_803CA1EC
lbl_803CA1E0:
/* 803CA1E0 003C5E40  2C 1D 00 05 */	cmpwi r29, 5
/* 803CA1E4 003C5E44  40 80 00 08 */	bge lbl_803CA1EC
/* 803CA1E8 003C5E48  48 00 00 B4 */	b lbl_803CA29C
lbl_803CA1EC:
/* 803CA1EC 003C5E4C  3B A0 00 00 */	li r29, 0
/* 803CA1F0 003C5E50  48 00 00 40 */	b lbl_803CA230
lbl_803CA1F4:
/* 803CA1F4 003C5E54  7F C3 F3 78 */	mr r3, r30
/* 803CA1F8 003C5E58  4B FE 26 49 */	bl func_803AC840
/* 803CA1FC 003C5E5C  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA200 003C5E60  40 82 00 1C */	bne lbl_803CA21C
/* 803CA204 003C5E64  7F C3 F3 78 */	mr r3, r30
/* 803CA208 003C5E68  4B FE 26 39 */	bl func_803AC840
/* 803CA20C 003C5E6C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA210 003C5E70  41 82 00 0C */	beq lbl_803CA21C
/* 803CA214 003C5E74  2C 1D 00 01 */	cmpwi r29, 1
/* 803CA218 003C5E78  41 81 00 F0 */	bgt lbl_803CA308
lbl_803CA21C:
/* 803CA21C 003C5E7C  7F C3 F3 78 */	mr r3, r30
/* 803CA220 003C5E80  7F A4 EB 78 */	mr r4, r29
/* 803CA224 003C5E84  7F E5 FB 78 */	mr r5, r31
/* 803CA228 003C5E88  4B FE 5D 19 */	bl func_803AFF40
/* 803CA22C 003C5E8C  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA230:
/* 803CA230 003C5E90  7C 1D E0 00 */	cmpw r29, r28
/* 803CA234 003C5E94  41 80 FF C0 */	blt lbl_803CA1F4
/* 803CA238 003C5E98  48 00 00 D0 */	b lbl_803CA308
lbl_803CA23C:
/* 803CA23C 003C5E9C  3B A0 00 00 */	li r29, 0
/* 803CA240 003C5EA0  48 00 00 50 */	b lbl_803CA290
lbl_803CA244:
/* 803CA244 003C5EA4  7F C3 F3 78 */	mr r3, r30
/* 803CA248 003C5EA8  7F A4 EB 78 */	mr r4, r29
/* 803CA24C 003C5EAC  4B FE 26 05 */	bl cTeam_GetPlayer
/* 803CA250 003C5EB0  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA254 003C5EB4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA258 003C5EB8  40 82 00 34 */	bne lbl_803CA28C
/* 803CA25C 003C5EBC  7F C3 F3 78 */	mr r3, r30
/* 803CA260 003C5EC0  7F A4 EB 78 */	mr r4, r29
/* 803CA264 003C5EC4  7F E5 FB 78 */	mr r5, r31
/* 803CA268 003C5EC8  4B FE 5C D9 */	bl func_803AFF40
/* 803CA26C 003C5ECC  7F C3 F3 78 */	mr r3, r30
/* 803CA270 003C5ED0  4B FE 25 D1 */	bl func_803AC840
/* 803CA274 003C5ED4  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA278 003C5ED8  40 82 00 14 */	bne lbl_803CA28C
/* 803CA27C 003C5EDC  7F C3 F3 78 */	mr r3, r30
/* 803CA280 003C5EE0  4B FE 25 C1 */	bl func_803AC840
/* 803CA284 003C5EE4  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA288 003C5EE8  40 82 00 80 */	bne lbl_803CA308
lbl_803CA28C:
/* 803CA28C 003C5EEC  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA290:
/* 803CA290 003C5EF0  7C 1D E0 00 */	cmpw r29, r28
/* 803CA294 003C5EF4  41 80 FF B0 */	blt lbl_803CA244
/* 803CA298 003C5EF8  48 00 00 70 */	b lbl_803CA308
lbl_803CA29C:
/* 803CA29C 003C5EFC  3B A0 00 00 */	li r29, 0
/* 803CA2A0 003C5F00  48 00 00 60 */	b lbl_803CA300
lbl_803CA2A4:
/* 803CA2A4 003C5F04  7F C3 F3 78 */	mr r3, r30
/* 803CA2A8 003C5F08  7F A4 EB 78 */	mr r4, r29
/* 803CA2AC 003C5F0C  4B FE 25 A5 */	bl cTeam_GetPlayer
/* 803CA2B0 003C5F10  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA2B4 003C5F14  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA2B8 003C5F18  41 82 00 44 */	beq lbl_803CA2FC
/* 803CA2BC 003C5F1C  7F C3 F3 78 */	mr r3, r30
/* 803CA2C0 003C5F20  7F A4 EB 78 */	mr r4, r29
/* 803CA2C4 003C5F24  7F E5 FB 78 */	mr r5, r31
/* 803CA2C8 003C5F28  4B FE 5C 79 */	bl func_803AFF40
/* 803CA2CC 003C5F2C  7F C3 F3 78 */	mr r3, r30
/* 803CA2D0 003C5F30  4B FE 25 71 */	bl func_803AC840
/* 803CA2D4 003C5F34  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA2D8 003C5F38  40 82 00 24 */	bne lbl_803CA2FC
/* 803CA2DC 003C5F3C  7F C3 F3 78 */	mr r3, r30
/* 803CA2E0 003C5F40  4B FE 25 61 */	bl func_803AC840
/* 803CA2E4 003C5F44  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803CA2E8 003C5F48  40 82 00 14 */	bne lbl_803CA2FC
/* 803CA2EC 003C5F4C  7F C3 F3 78 */	mr r3, r30
/* 803CA2F0 003C5F50  4B FE 25 51 */	bl func_803AC840
/* 803CA2F4 003C5F54  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA2F8 003C5F58  40 82 00 10 */	bne lbl_803CA308
lbl_803CA2FC:
/* 803CA2FC 003C5F5C  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA300:
/* 803CA300 003C5F60  7C 1D E0 00 */	cmpw r29, r28
/* 803CA304 003C5F64  41 80 FF A0 */	blt lbl_803CA2A4
lbl_803CA308:
/* 803CA308 003C5F68  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA30C 003C5F6C  38 60 00 00 */	li r3, 0
/* 803CA310 003C5F70  4B DF CE 69 */	bl _restgpr_28
/* 803CA314 003C5F74  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CA318 003C5F78  7C 08 03 A6 */	mtlr r0
/* 803CA31C 003C5F7C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CA320 003C5F80  4E 80 00 20 */	blr 
/* 803CA324 003C5F84  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CA328 003C5F88  7C 08 02 A6 */	mflr r0
/* 803CA32C 003C5F8C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CA330 003C5F90  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA334 003C5F94  4B DF CD FD */	bl _savegpr_29
/* 803CA338 003C5F98  7C 7E 1B 78 */	mr r30, r3
/* 803CA33C 003C5F9C  7C 9D 23 78 */	mr r29, r4
/* 803CA340 003C5FA0  4B FE 25 21 */	bl func_803AC860
/* 803CA344 003C5FA4  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803CA348 003C5FA8  7C 7F 1B 78 */	mr r31, r3
/* 803CA34C 003C5FAC  7F A3 EB 78 */	mr r3, r29
/* 803CA350 003C5FB0  38 04 00 01 */	addi r0, r4, 1
/* 803CA354 003C5FB4  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803CA358 003C5FB8  48 00 CB 15 */	bl func_803D6E6C
/* 803CA35C 003C5FBC  28 03 00 0C */	cmplwi r3, 0xc
/* 803CA360 003C5FC0  41 81 00 1C */	bgt lbl_803CA37C
/* 803CA364 003C5FC4  3C 80 80 47 */	lis r4, lbl_80473E98@ha
/* 803CA368 003C5FC8  54 60 10 3A */	slwi r0, r3, 2
/* 803CA36C 003C5FCC  38 84 3E 98 */	addi r4, r4, lbl_80473E98@l
/* 803CA370 003C5FD0  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CA374 003C5FD4  7C 89 03 A6 */	mtctr r4
/* 803CA378 003C5FD8  4E 80 04 20 */	bctr 
lbl_803CA37C:
/* 803CA37C 003C5FDC  3B A0 00 00 */	li r29, 0
/* 803CA380 003C5FE0  48 00 00 3C */	b lbl_803CA3BC
lbl_803CA384:
/* 803CA384 003C5FE4  7F C3 F3 78 */	mr r3, r30
/* 803CA388 003C5FE8  4B FE 24 B9 */	bl func_803AC840
/* 803CA38C 003C5FEC  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA390 003C5FF0  40 82 00 1C */	bne lbl_803CA3AC
/* 803CA394 003C5FF4  7F C3 F3 78 */	mr r3, r30
/* 803CA398 003C5FF8  4B FE 24 A9 */	bl func_803AC840
/* 803CA39C 003C5FFC  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA3A0 003C6000  41 82 00 0C */	beq lbl_803CA3AC
/* 803CA3A4 003C6004  2C 1D 00 01 */	cmpwi r29, 1
/* 803CA3A8 003C6008  41 81 01 F4 */	bgt lbl_803CA59C
lbl_803CA3AC:
/* 803CA3AC 003C600C  7F C3 F3 78 */	mr r3, r30
/* 803CA3B0 003C6010  7F A4 EB 78 */	mr r4, r29
/* 803CA3B4 003C6014  4B FE 5B F9 */	bl func_803AFFAC
/* 803CA3B8 003C6018  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA3BC:
/* 803CA3BC 003C601C  7C 1D F8 00 */	cmpw r29, r31
/* 803CA3C0 003C6020  41 80 FF C4 */	blt lbl_803CA384
/* 803CA3C4 003C6024  48 00 01 D8 */	b lbl_803CA59C
/* 803CA3C8 003C6028  3B A0 00 00 */	li r29, 0
/* 803CA3CC 003C602C  48 00 00 4C */	b lbl_803CA418
lbl_803CA3D0:
/* 803CA3D0 003C6030  7F C3 F3 78 */	mr r3, r30
/* 803CA3D4 003C6034  7F A4 EB 78 */	mr r4, r29
/* 803CA3D8 003C6038  4B FE 24 79 */	bl cTeam_GetPlayer
/* 803CA3DC 003C603C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA3E0 003C6040  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA3E4 003C6044  40 82 00 30 */	bne lbl_803CA414
/* 803CA3E8 003C6048  7F C3 F3 78 */	mr r3, r30
/* 803CA3EC 003C604C  7F A4 EB 78 */	mr r4, r29
/* 803CA3F0 003C6050  4B FE 5B BD */	bl func_803AFFAC
/* 803CA3F4 003C6054  7F C3 F3 78 */	mr r3, r30
/* 803CA3F8 003C6058  4B FE 24 49 */	bl func_803AC840
/* 803CA3FC 003C605C  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA400 003C6060  40 82 00 14 */	bne lbl_803CA414
/* 803CA404 003C6064  7F C3 F3 78 */	mr r3, r30
/* 803CA408 003C6068  4B FE 24 39 */	bl func_803AC840
/* 803CA40C 003C606C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA410 003C6070  40 82 01 8C */	bne lbl_803CA59C
lbl_803CA414:
/* 803CA414 003C6074  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA418:
/* 803CA418 003C6078  7C 1D F8 00 */	cmpw r29, r31
/* 803CA41C 003C607C  41 80 FF B4 */	blt lbl_803CA3D0
/* 803CA420 003C6080  48 00 01 7C */	b lbl_803CA59C
/* 803CA424 003C6084  3B A0 00 00 */	li r29, 0
/* 803CA428 003C6088  48 00 00 5C */	b lbl_803CA484
lbl_803CA42C:
/* 803CA42C 003C608C  7F C3 F3 78 */	mr r3, r30
/* 803CA430 003C6090  7F A4 EB 78 */	mr r4, r29
/* 803CA434 003C6094  4B FE 24 1D */	bl cTeam_GetPlayer
/* 803CA438 003C6098  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA43C 003C609C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA440 003C60A0  41 82 00 40 */	beq lbl_803CA480
/* 803CA444 003C60A4  7F C3 F3 78 */	mr r3, r30
/* 803CA448 003C60A8  7F A4 EB 78 */	mr r4, r29
/* 803CA44C 003C60AC  4B FE 5B 61 */	bl func_803AFFAC
/* 803CA450 003C60B0  7F C3 F3 78 */	mr r3, r30
/* 803CA454 003C60B4  4B FE 23 ED */	bl func_803AC840
/* 803CA458 003C60B8  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803CA45C 003C60BC  40 82 00 24 */	bne lbl_803CA480
/* 803CA460 003C60C0  7F C3 F3 78 */	mr r3, r30
/* 803CA464 003C60C4  4B FE 23 DD */	bl func_803AC840
/* 803CA468 003C60C8  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803CA46C 003C60CC  40 82 00 14 */	bne lbl_803CA480
/* 803CA470 003C60D0  7F C3 F3 78 */	mr r3, r30
/* 803CA474 003C60D4  4B FE 23 CD */	bl func_803AC840
/* 803CA478 003C60D8  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA47C 003C60DC  40 82 01 20 */	bne lbl_803CA59C
lbl_803CA480:
/* 803CA480 003C60E0  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA484:
/* 803CA484 003C60E4  7C 1D F8 00 */	cmpw r29, r31
/* 803CA488 003C60E8  41 80 FF A4 */	blt lbl_803CA42C
/* 803CA48C 003C60EC  48 00 01 10 */	b lbl_803CA59C
/* 803CA490 003C60F0  3B A0 00 00 */	li r29, 0
/* 803CA494 003C60F4  48 00 00 38 */	b lbl_803CA4CC
lbl_803CA498:
/* 803CA498 003C60F8  7F C3 F3 78 */	mr r3, r30
/* 803CA49C 003C60FC  7F A4 EB 78 */	mr r4, r29
/* 803CA4A0 003C6100  4B FE 23 B1 */	bl cTeam_GetPlayer
/* 803CA4A4 003C6104  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA4A8 003C6108  2C 00 00 00 */	cmpwi r0, 0
/* 803CA4AC 003C610C  41 82 00 0C */	beq lbl_803CA4B8
/* 803CA4B0 003C6110  28 00 00 02 */	cmplwi r0, 2
/* 803CA4B4 003C6114  40 82 00 14 */	bne lbl_803CA4C8
lbl_803CA4B8:
/* 803CA4B8 003C6118  7F C3 F3 78 */	mr r3, r30
/* 803CA4BC 003C611C  7F A4 EB 78 */	mr r4, r29
/* 803CA4C0 003C6120  4B FE 5A ED */	bl func_803AFFAC
/* 803CA4C4 003C6124  48 00 00 D8 */	b lbl_803CA59C
lbl_803CA4C8:
/* 803CA4C8 003C6128  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA4CC:
/* 803CA4CC 003C612C  7C 1D F8 00 */	cmpw r29, r31
/* 803CA4D0 003C6130  41 80 FF C8 */	blt lbl_803CA498
/* 803CA4D4 003C6134  48 00 00 C8 */	b lbl_803CA59C
/* 803CA4D8 003C6138  3B A0 00 00 */	li r29, 0
/* 803CA4DC 003C613C  48 00 00 38 */	b lbl_803CA514
lbl_803CA4E0:
/* 803CA4E0 003C6140  7F C3 F3 78 */	mr r3, r30
/* 803CA4E4 003C6144  7F A4 EB 78 */	mr r4, r29
/* 803CA4E8 003C6148  4B FE 23 69 */	bl cTeam_GetPlayer
/* 803CA4EC 003C614C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA4F0 003C6150  28 00 00 01 */	cmplwi r0, 1
/* 803CA4F4 003C6154  41 82 00 0C */	beq lbl_803CA500
/* 803CA4F8 003C6158  28 00 00 03 */	cmplwi r0, 3
/* 803CA4FC 003C615C  40 82 00 14 */	bne lbl_803CA510
lbl_803CA500:
/* 803CA500 003C6160  7F C3 F3 78 */	mr r3, r30
/* 803CA504 003C6164  7F A4 EB 78 */	mr r4, r29
/* 803CA508 003C6168  4B FE 5A A5 */	bl func_803AFFAC
/* 803CA50C 003C616C  48 00 00 90 */	b lbl_803CA59C
lbl_803CA510:
/* 803CA510 003C6170  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA514:
/* 803CA514 003C6174  7C 1D F8 00 */	cmpw r29, r31
/* 803CA518 003C6178  41 80 FF C8 */	blt lbl_803CA4E0
/* 803CA51C 003C617C  48 00 00 80 */	b lbl_803CA59C
/* 803CA520 003C6180  3B A0 00 00 */	li r29, 0
/* 803CA524 003C6184  48 00 00 30 */	b lbl_803CA554
lbl_803CA528:
/* 803CA528 003C6188  7F C3 F3 78 */	mr r3, r30
/* 803CA52C 003C618C  7F A4 EB 78 */	mr r4, r29
/* 803CA530 003C6190  4B FE 23 21 */	bl cTeam_GetPlayer
/* 803CA534 003C6194  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA538 003C6198  28 00 00 04 */	cmplwi r0, 4
/* 803CA53C 003C619C  40 82 00 14 */	bne lbl_803CA550
/* 803CA540 003C61A0  7F C3 F3 78 */	mr r3, r30
/* 803CA544 003C61A4  7F A4 EB 78 */	mr r4, r29
/* 803CA548 003C61A8  4B FE 5A 65 */	bl func_803AFFAC
/* 803CA54C 003C61AC  48 00 00 50 */	b lbl_803CA59C
lbl_803CA550:
/* 803CA550 003C61B0  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA554:
/* 803CA554 003C61B4  7C 1D F8 00 */	cmpw r29, r31
/* 803CA558 003C61B8  41 80 FF D0 */	blt lbl_803CA528
/* 803CA55C 003C61BC  48 00 00 40 */	b lbl_803CA59C
/* 803CA560 003C61C0  3B A0 00 00 */	li r29, 0
/* 803CA564 003C61C4  48 00 00 30 */	b lbl_803CA594
lbl_803CA568:
/* 803CA568 003C61C8  7F C3 F3 78 */	mr r3, r30
/* 803CA56C 003C61CC  7F A4 EB 78 */	mr r4, r29
/* 803CA570 003C61D0  4B FE 22 E1 */	bl cTeam_GetPlayer
/* 803CA574 003C61D4  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA578 003C61D8  28 00 00 05 */	cmplwi r0, 5
/* 803CA57C 003C61DC  40 82 00 14 */	bne lbl_803CA590
/* 803CA580 003C61E0  7F C3 F3 78 */	mr r3, r30
/* 803CA584 003C61E4  7F A4 EB 78 */	mr r4, r29
/* 803CA588 003C61E8  4B FE 5A 25 */	bl func_803AFFAC
/* 803CA58C 003C61EC  48 00 00 10 */	b lbl_803CA59C
lbl_803CA590:
/* 803CA590 003C61F0  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA594:
/* 803CA594 003C61F4  7C 1D F8 00 */	cmpw r29, r31
/* 803CA598 003C61F8  41 80 FF D0 */	blt lbl_803CA568
lbl_803CA59C:
/* 803CA59C 003C61FC  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA5A0 003C6200  38 60 00 00 */	li r3, 0
/* 803CA5A4 003C6204  4B DF CB D9 */	bl _restgpr_29
/* 803CA5A8 003C6208  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CA5AC 003C620C  7C 08 03 A6 */	mtlr r0
/* 803CA5B0 003C6210  38 21 00 20 */	addi r1, r1, 0x20
/* 803CA5B4 003C6214  4E 80 00 20 */	blr 
/* 803CA5B8 003C6218  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CA5BC 003C621C  7C 08 02 A6 */	mflr r0
/* 803CA5C0 003C6220  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CA5C4 003C6224  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA5C8 003C6228  4B DF CB 65 */	bl _savegpr_28
/* 803CA5CC 003C622C  7C 7E 1B 78 */	mr r30, r3
/* 803CA5D0 003C6230  7C 9F 23 78 */	mr r31, r4
/* 803CA5D4 003C6234  4B FE 22 8D */	bl func_803AC860
/* 803CA5D8 003C6238  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803CA5DC 003C623C  7C 7C 1B 78 */	mr r28, r3
/* 803CA5E0 003C6240  7F E3 FB 78 */	mr r3, r31
/* 803CA5E4 003C6244  38 04 00 01 */	addi r0, r4, 1
/* 803CA5E8 003C6248  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CA5EC 003C624C  48 00 C8 81 */	bl func_803D6E6C
/* 803CA5F0 003C6250  7C 7D 1B 78 */	mr r29, r3
/* 803CA5F4 003C6254  7F E3 FB 78 */	mr r3, r31
/* 803CA5F8 003C6258  48 00 C8 75 */	bl func_803D6E6C
/* 803CA5FC 003C625C  28 1D 00 0C */	cmplwi r29, 0xc
/* 803CA600 003C6260  7C 7F 1B 78 */	mr r31, r3
/* 803CA604 003C6264  41 81 00 1C */	bgt lbl_803CA620
/* 803CA608 003C6268  3C 60 80 47 */	lis r3, lbl_80473ECC@ha
/* 803CA60C 003C626C  57 A0 10 3A */	slwi r0, r29, 2
/* 803CA610 003C6270  38 63 3E CC */	addi r3, r3, lbl_80473ECC@l
/* 803CA614 003C6274  7C 63 00 2E */	lwzx r3, r3, r0
/* 803CA618 003C6278  7C 69 03 A6 */	mtctr r3
/* 803CA61C 003C627C  4E 80 04 20 */	bctr 
lbl_803CA620:
/* 803CA620 003C6280  3B A0 00 00 */	li r29, 0
/* 803CA624 003C6284  48 00 00 30 */	b lbl_803CA654
lbl_803CA628:
/* 803CA628 003C6288  7F C3 F3 78 */	mr r3, r30
/* 803CA62C 003C628C  4B FE 22 15 */	bl func_803AC840
/* 803CA630 003C6290  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA634 003C6294  41 82 00 0C */	beq lbl_803CA640
/* 803CA638 003C6298  2C 1D 00 01 */	cmpwi r29, 1
/* 803CA63C 003C629C  41 81 01 E0 */	bgt lbl_803CA81C
lbl_803CA640:
/* 803CA640 003C62A0  7F C3 F3 78 */	mr r3, r30
/* 803CA644 003C62A4  7F A4 EB 78 */	mr r4, r29
/* 803CA648 003C62A8  7F E5 FB 78 */	mr r5, r31
/* 803CA64C 003C62AC  4B FE 59 99 */	bl func_803AFFE4
/* 803CA650 003C62B0  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA654:
/* 803CA654 003C62B4  7C 1D E0 00 */	cmpw r29, r28
/* 803CA658 003C62B8  41 80 FF D0 */	blt lbl_803CA628
/* 803CA65C 003C62BC  48 00 01 C0 */	b lbl_803CA81C
/* 803CA660 003C62C0  3B A0 00 00 */	li r29, 0
/* 803CA664 003C62C4  48 00 00 40 */	b lbl_803CA6A4
lbl_803CA668:
/* 803CA668 003C62C8  7F C3 F3 78 */	mr r3, r30
/* 803CA66C 003C62CC  7F A4 EB 78 */	mr r4, r29
/* 803CA670 003C62D0  4B FE 21 E1 */	bl cTeam_GetPlayer
/* 803CA674 003C62D4  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA678 003C62D8  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA67C 003C62DC  40 82 00 24 */	bne lbl_803CA6A0
/* 803CA680 003C62E0  7F C3 F3 78 */	mr r3, r30
/* 803CA684 003C62E4  7F A4 EB 78 */	mr r4, r29
/* 803CA688 003C62E8  7F E5 FB 78 */	mr r5, r31
/* 803CA68C 003C62EC  4B FE 59 59 */	bl func_803AFFE4
/* 803CA690 003C62F0  7F C3 F3 78 */	mr r3, r30
/* 803CA694 003C62F4  4B FE 21 AD */	bl func_803AC840
/* 803CA698 003C62F8  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA69C 003C62FC  40 82 01 80 */	bne lbl_803CA81C
lbl_803CA6A0:
/* 803CA6A0 003C6300  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA6A4:
/* 803CA6A4 003C6304  7C 1D E0 00 */	cmpw r29, r28
/* 803CA6A8 003C6308  41 80 FF C0 */	blt lbl_803CA668
/* 803CA6AC 003C630C  48 00 01 70 */	b lbl_803CA81C
/* 803CA6B0 003C6310  3B A0 00 00 */	li r29, 0
/* 803CA6B4 003C6314  48 00 00 40 */	b lbl_803CA6F4
lbl_803CA6B8:
/* 803CA6B8 003C6318  7F C3 F3 78 */	mr r3, r30
/* 803CA6BC 003C631C  7F A4 EB 78 */	mr r4, r29
/* 803CA6C0 003C6320  4B FE 21 91 */	bl cTeam_GetPlayer
/* 803CA6C4 003C6324  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA6C8 003C6328  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA6CC 003C632C  41 82 00 24 */	beq lbl_803CA6F0
/* 803CA6D0 003C6330  7F C3 F3 78 */	mr r3, r30
/* 803CA6D4 003C6334  7F A4 EB 78 */	mr r4, r29
/* 803CA6D8 003C6338  7F E5 FB 78 */	mr r5, r31
/* 803CA6DC 003C633C  4B FE 59 09 */	bl func_803AFFE4
/* 803CA6E0 003C6340  7F C3 F3 78 */	mr r3, r30
/* 803CA6E4 003C6344  4B FE 21 5D */	bl func_803AC840
/* 803CA6E8 003C6348  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CA6EC 003C634C  40 82 01 30 */	bne lbl_803CA81C
lbl_803CA6F0:
/* 803CA6F0 003C6350  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA6F4:
/* 803CA6F4 003C6354  7C 1D E0 00 */	cmpw r29, r28
/* 803CA6F8 003C6358  41 80 FF C0 */	blt lbl_803CA6B8
/* 803CA6FC 003C635C  48 00 01 20 */	b lbl_803CA81C
/* 803CA700 003C6360  3B A0 00 00 */	li r29, 0
/* 803CA704 003C6364  48 00 00 3C */	b lbl_803CA740
lbl_803CA708:
/* 803CA708 003C6368  7F C3 F3 78 */	mr r3, r30
/* 803CA70C 003C636C  7F A4 EB 78 */	mr r4, r29
/* 803CA710 003C6370  4B FE 21 41 */	bl cTeam_GetPlayer
/* 803CA714 003C6374  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA718 003C6378  2C 00 00 00 */	cmpwi r0, 0
/* 803CA71C 003C637C  41 82 00 0C */	beq lbl_803CA728
/* 803CA720 003C6380  28 00 00 02 */	cmplwi r0, 2
/* 803CA724 003C6384  40 82 00 18 */	bne lbl_803CA73C
lbl_803CA728:
/* 803CA728 003C6388  7F C3 F3 78 */	mr r3, r30
/* 803CA72C 003C638C  7F A4 EB 78 */	mr r4, r29
/* 803CA730 003C6390  7F E5 FB 78 */	mr r5, r31
/* 803CA734 003C6394  4B FE 58 B1 */	bl func_803AFFE4
/* 803CA738 003C6398  48 00 00 E4 */	b lbl_803CA81C
lbl_803CA73C:
/* 803CA73C 003C639C  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA740:
/* 803CA740 003C63A0  7C 1D E0 00 */	cmpw r29, r28
/* 803CA744 003C63A4  41 80 FF C4 */	blt lbl_803CA708
/* 803CA748 003C63A8  48 00 00 D4 */	b lbl_803CA81C
/* 803CA74C 003C63AC  3B A0 00 00 */	li r29, 0
/* 803CA750 003C63B0  48 00 00 3C */	b lbl_803CA78C
lbl_803CA754:
/* 803CA754 003C63B4  7F C3 F3 78 */	mr r3, r30
/* 803CA758 003C63B8  7F A4 EB 78 */	mr r4, r29
/* 803CA75C 003C63BC  4B FE 20 F5 */	bl cTeam_GetPlayer
/* 803CA760 003C63C0  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA764 003C63C4  28 00 00 01 */	cmplwi r0, 1
/* 803CA768 003C63C8  41 82 00 0C */	beq lbl_803CA774
/* 803CA76C 003C63CC  28 00 00 03 */	cmplwi r0, 3
/* 803CA770 003C63D0  40 82 00 18 */	bne lbl_803CA788
lbl_803CA774:
/* 803CA774 003C63D4  7F C3 F3 78 */	mr r3, r30
/* 803CA778 003C63D8  7F A4 EB 78 */	mr r4, r29
/* 803CA77C 003C63DC  7F E5 FB 78 */	mr r5, r31
/* 803CA780 003C63E0  4B FE 58 65 */	bl func_803AFFE4
/* 803CA784 003C63E4  48 00 00 98 */	b lbl_803CA81C
lbl_803CA788:
/* 803CA788 003C63E8  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA78C:
/* 803CA78C 003C63EC  7C 1D E0 00 */	cmpw r29, r28
/* 803CA790 003C63F0  41 80 FF C4 */	blt lbl_803CA754
/* 803CA794 003C63F4  48 00 00 88 */	b lbl_803CA81C
/* 803CA798 003C63F8  3B A0 00 00 */	li r29, 0
/* 803CA79C 003C63FC  48 00 00 34 */	b lbl_803CA7D0
lbl_803CA7A0:
/* 803CA7A0 003C6400  7F C3 F3 78 */	mr r3, r30
/* 803CA7A4 003C6404  7F A4 EB 78 */	mr r4, r29
/* 803CA7A8 003C6408  4B FE 20 A9 */	bl cTeam_GetPlayer
/* 803CA7AC 003C640C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA7B0 003C6410  28 00 00 04 */	cmplwi r0, 4
/* 803CA7B4 003C6414  40 82 00 18 */	bne lbl_803CA7CC
/* 803CA7B8 003C6418  7F C3 F3 78 */	mr r3, r30
/* 803CA7BC 003C641C  7F A4 EB 78 */	mr r4, r29
/* 803CA7C0 003C6420  7F E5 FB 78 */	mr r5, r31
/* 803CA7C4 003C6424  4B FE 58 21 */	bl func_803AFFE4
/* 803CA7C8 003C6428  48 00 00 54 */	b lbl_803CA81C
lbl_803CA7CC:
/* 803CA7CC 003C642C  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA7D0:
/* 803CA7D0 003C6430  7C 1D E0 00 */	cmpw r29, r28
/* 803CA7D4 003C6434  41 80 FF CC */	blt lbl_803CA7A0
/* 803CA7D8 003C6438  48 00 00 44 */	b lbl_803CA81C
/* 803CA7DC 003C643C  3B A0 00 00 */	li r29, 0
/* 803CA7E0 003C6440  48 00 00 34 */	b lbl_803CA814
lbl_803CA7E4:
/* 803CA7E4 003C6444  7F C3 F3 78 */	mr r3, r30
/* 803CA7E8 003C6448  7F A4 EB 78 */	mr r4, r29
/* 803CA7EC 003C644C  4B FE 20 65 */	bl cTeam_GetPlayer
/* 803CA7F0 003C6450  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA7F4 003C6454  28 00 00 05 */	cmplwi r0, 5
/* 803CA7F8 003C6458  40 82 00 18 */	bne lbl_803CA810
/* 803CA7FC 003C645C  7F C3 F3 78 */	mr r3, r30
/* 803CA800 003C6460  7F A4 EB 78 */	mr r4, r29
/* 803CA804 003C6464  7F E5 FB 78 */	mr r5, r31
/* 803CA808 003C6468  4B FE 57 DD */	bl func_803AFFE4
/* 803CA80C 003C646C  48 00 00 10 */	b lbl_803CA81C
lbl_803CA810:
/* 803CA810 003C6470  3B BD 00 01 */	addi r29, r29, 1
lbl_803CA814:
/* 803CA814 003C6474  7C 1D E0 00 */	cmpw r29, r28
/* 803CA818 003C6478  41 80 FF CC */	blt lbl_803CA7E4
lbl_803CA81C:
/* 803CA81C 003C647C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA820 003C6480  38 60 00 00 */	li r3, 0
/* 803CA824 003C6484  4B DF C9 55 */	bl _restgpr_28
/* 803CA828 003C6488  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CA82C 003C648C  7C 08 03 A6 */	mtlr r0
/* 803CA830 003C6490  38 21 00 20 */	addi r1, r1, 0x20
/* 803CA834 003C6494  4E 80 00 20 */	blr 
/* 803CA838 003C6498  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CA83C 003C649C  7C 08 02 A6 */	mflr r0
/* 803CA840 003C64A0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CA844 003C64A4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA848 003C64A8  4B DF C8 E5 */	bl _savegpr_28
/* 803CA84C 003C64AC  7C 7C 1B 78 */	mr r28, r3
/* 803CA850 003C64B0  7C 9D 23 78 */	mr r29, r4
/* 803CA854 003C64B4  4B FE 20 0D */	bl func_803AC860
/* 803CA858 003C64B8  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803CA85C 003C64BC  7C 7F 1B 78 */	mr r31, r3
/* 803CA860 003C64C0  3B C0 00 00 */	li r30, 0
/* 803CA864 003C64C4  38 04 00 01 */	addi r0, r4, 1
/* 803CA868 003C64C8  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803CA86C 003C64CC  48 00 00 14 */	b lbl_803CA880
lbl_803CA870:
/* 803CA870 003C64D0  7F 83 E3 78 */	mr r3, r28
/* 803CA874 003C64D4  7F C4 F3 78 */	mr r4, r30
/* 803CA878 003C64D8  4B FE 73 79 */	bl func_803B1BF0
/* 803CA87C 003C64DC  3B DE 00 01 */	addi r30, r30, 1
lbl_803CA880:
/* 803CA880 003C64E0  7C 1E F8 00 */	cmpw r30, r31
/* 803CA884 003C64E4  41 80 FF EC */	blt lbl_803CA870
/* 803CA888 003C64E8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA88C 003C64EC  38 60 00 00 */	li r3, 0
/* 803CA890 003C64F0  4B DF C8 E9 */	bl _restgpr_28
/* 803CA894 003C64F4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CA898 003C64F8  7C 08 03 A6 */	mtlr r0
/* 803CA89C 003C64FC  38 21 00 20 */	addi r1, r1, 0x20
/* 803CA8A0 003C6500  4E 80 00 20 */	blr 
/* 803CA8A4 003C6504  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CA8A8 003C6508  7C 08 02 A6 */	mflr r0
/* 803CA8AC 003C650C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CA8B0 003C6510  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA8B4 003C6514  4B DF C8 79 */	bl _savegpr_28
/* 803CA8B8 003C6518  7C 7C 1B 78 */	mr r28, r3
/* 803CA8BC 003C651C  7C 9D 23 78 */	mr r29, r4
/* 803CA8C0 003C6520  4B FE 1F A1 */	bl func_803AC860
/* 803CA8C4 003C6524  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803CA8C8 003C6528  7C 7F 1B 78 */	mr r31, r3
/* 803CA8CC 003C652C  7F A3 EB 78 */	mr r3, r29
/* 803CA8D0 003C6530  38 04 00 01 */	addi r0, r4, 1
/* 803CA8D4 003C6534  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803CA8D8 003C6538  48 00 C5 95 */	bl func_803D6E6C
/* 803CA8DC 003C653C  2C 03 00 03 */	cmpwi r3, 3
/* 803CA8E0 003C6540  7C 65 1B 78 */	mr r5, r3
/* 803CA8E4 003C6544  41 82 00 4C */	beq lbl_803CA930
/* 803CA8E8 003C6548  40 80 00 10 */	bge lbl_803CA8F8
/* 803CA8EC 003C654C  2C 03 00 00 */	cmpwi r3, 0
/* 803CA8F0 003C6550  41 82 00 14 */	beq lbl_803CA904
/* 803CA8F4 003C6554  48 00 00 C4 */	b lbl_803CA9B8
lbl_803CA8F8:
/* 803CA8F8 003C6558  2C 03 00 05 */	cmpwi r3, 5
/* 803CA8FC 003C655C  40 80 00 BC */	bge lbl_803CA9B8
/* 803CA900 003C6560  48 00 00 74 */	b lbl_803CA974
lbl_803CA904:
/* 803CA904 003C6564  3B C0 00 00 */	li r30, 0
/* 803CA908 003C6568  48 00 00 1C */	b lbl_803CA924
lbl_803CA90C:
/* 803CA90C 003C656C  7F 83 E3 78 */	mr r3, r28
/* 803CA910 003C6570  7F A4 EB 78 */	mr r4, r29
/* 803CA914 003C6574  7F C5 F3 78 */	mr r5, r30
/* 803CA918 003C6578  38 C0 00 00 */	li r6, 0
/* 803CA91C 003C657C  4B FE 57 25 */	bl func_803B0040
/* 803CA920 003C6580  3B DE 00 01 */	addi r30, r30, 1
lbl_803CA924:
/* 803CA924 003C6584  7C 1E F8 00 */	cmpw r30, r31
/* 803CA928 003C6588  41 80 FF E4 */	blt lbl_803CA90C
/* 803CA92C 003C658C  48 00 00 AC */	b lbl_803CA9D8
lbl_803CA930:
/* 803CA930 003C6590  3B C0 00 00 */	li r30, 0
/* 803CA934 003C6594  48 00 00 34 */	b lbl_803CA968
lbl_803CA938:
/* 803CA938 003C6598  7F 83 E3 78 */	mr r3, r28
/* 803CA93C 003C659C  7F C4 F3 78 */	mr r4, r30
/* 803CA940 003C65A0  4B FE 1F 11 */	bl cTeam_GetPlayer
/* 803CA944 003C65A4  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA948 003C65A8  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA94C 003C65AC  40 82 00 18 */	bne lbl_803CA964
/* 803CA950 003C65B0  7F 83 E3 78 */	mr r3, r28
/* 803CA954 003C65B4  7F A4 EB 78 */	mr r4, r29
/* 803CA958 003C65B8  7F C5 F3 78 */	mr r5, r30
/* 803CA95C 003C65BC  38 C0 00 00 */	li r6, 0
/* 803CA960 003C65C0  4B FE 56 E1 */	bl func_803B0040
lbl_803CA964:
/* 803CA964 003C65C4  3B DE 00 01 */	addi r30, r30, 1
lbl_803CA968:
/* 803CA968 003C65C8  7C 1E F8 00 */	cmpw r30, r31
/* 803CA96C 003C65CC  41 80 FF CC */	blt lbl_803CA938
/* 803CA970 003C65D0  48 00 00 68 */	b lbl_803CA9D8
lbl_803CA974:
/* 803CA974 003C65D4  3B C0 00 00 */	li r30, 0
/* 803CA978 003C65D8  48 00 00 34 */	b lbl_803CA9AC
lbl_803CA97C:
/* 803CA97C 003C65DC  7F 83 E3 78 */	mr r3, r28
/* 803CA980 003C65E0  7F C4 F3 78 */	mr r4, r30
/* 803CA984 003C65E4  4B FE 1E CD */	bl cTeam_GetPlayer
/* 803CA988 003C65E8  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CA98C 003C65EC  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CA990 003C65F0  41 82 00 18 */	beq lbl_803CA9A8
/* 803CA994 003C65F4  7F 83 E3 78 */	mr r3, r28
/* 803CA998 003C65F8  7F A4 EB 78 */	mr r4, r29
/* 803CA99C 003C65FC  7F C5 F3 78 */	mr r5, r30
/* 803CA9A0 003C6600  38 C0 00 00 */	li r6, 0
/* 803CA9A4 003C6604  4B FE 56 9D */	bl func_803B0040
lbl_803CA9A8:
/* 803CA9A8 003C6608  3B DE 00 01 */	addi r30, r30, 1
lbl_803CA9AC:
/* 803CA9AC 003C660C  7C 1E F8 00 */	cmpw r30, r31
/* 803CA9B0 003C6610  41 80 FF CC */	blt lbl_803CA97C
/* 803CA9B4 003C6614  48 00 00 24 */	b lbl_803CA9D8
lbl_803CA9B8:
/* 803CA9B8 003C6618  7F 83 E3 78 */	mr r3, r28
/* 803CA9BC 003C661C  7F A4 EB 78 */	mr r4, r29
/* 803CA9C0 003C6620  48 00 D6 7D */	bl func_803D803C
/* 803CA9C4 003C6624  7C 65 1B 78 */	mr r5, r3
/* 803CA9C8 003C6628  7F 83 E3 78 */	mr r3, r28
/* 803CA9CC 003C662C  7F A4 EB 78 */	mr r4, r29
/* 803CA9D0 003C6630  38 C0 00 00 */	li r6, 0
/* 803CA9D4 003C6634  4B FE 56 6D */	bl func_803B0040
lbl_803CA9D8:
/* 803CA9D8 003C6638  39 61 00 20 */	addi r11, r1, 0x20
/* 803CA9DC 003C663C  38 60 00 00 */	li r3, 0
/* 803CA9E0 003C6640  4B DF C7 99 */	bl _restgpr_28
/* 803CA9E4 003C6644  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CA9E8 003C6648  7C 08 03 A6 */	mtlr r0
/* 803CA9EC 003C664C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CA9F0 003C6650  4E 80 00 20 */	blr 
/* 803CA9F4 003C6654  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CA9F8 003C6658  7C 08 02 A6 */	mflr r0
/* 803CA9FC 003C665C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CAA00 003C6660  39 61 00 20 */	addi r11, r1, 0x20
/* 803CAA04 003C6664  4B DF C7 25 */	bl _savegpr_27
/* 803CAA08 003C6668  7C 7B 1B 78 */	mr r27, r3
/* 803CAA0C 003C666C  7C 9C 23 78 */	mr r28, r4
/* 803CAA10 003C6670  4B FE 1E 51 */	bl func_803AC860
/* 803CAA14 003C6674  80 9C 00 B4 */	lwz r4, 0xb4(r28)
/* 803CAA18 003C6678  7C 7F 1B 78 */	mr r31, r3
/* 803CAA1C 003C667C  7F 83 E3 78 */	mr r3, r28
/* 803CAA20 003C6680  38 04 00 01 */	addi r0, r4, 1
/* 803CAA24 003C6684  90 1C 00 B4 */	stw r0, 0xb4(r28)
/* 803CAA28 003C6688  48 00 C4 45 */	bl func_803D6E6C
/* 803CAA2C 003C668C  2C 03 00 03 */	cmpwi r3, 3
/* 803CAA30 003C6690  7C 65 1B 78 */	mr r5, r3
/* 803CAA34 003C6694  3B A0 00 00 */	li r29, 0
/* 803CAA38 003C6698  41 82 00 4C */	beq lbl_803CAA84
/* 803CAA3C 003C669C  40 80 00 10 */	bge lbl_803CAA4C
/* 803CAA40 003C66A0  2C 03 00 00 */	cmpwi r3, 0
/* 803CAA44 003C66A4  41 82 00 14 */	beq lbl_803CAA58
/* 803CAA48 003C66A8  48 00 00 D4 */	b lbl_803CAB1C
lbl_803CAA4C:
/* 803CAA4C 003C66AC  2C 03 00 05 */	cmpwi r3, 5
/* 803CAA50 003C66B0  40 80 00 CC */	bge lbl_803CAB1C
/* 803CAA54 003C66B4  48 00 00 7C */	b lbl_803CAAD0
lbl_803CAA58:
/* 803CAA58 003C66B8  3B C0 00 00 */	li r30, 0
/* 803CAA5C 003C66BC  48 00 00 1C */	b lbl_803CAA78
lbl_803CAA60:
/* 803CAA60 003C66C0  7F 63 DB 78 */	mr r3, r27
/* 803CAA64 003C66C4  7F 84 E3 78 */	mr r4, r28
/* 803CAA68 003C66C8  7F C5 F3 78 */	mr r5, r30
/* 803CAA6C 003C66CC  38 C0 00 00 */	li r6, 0
/* 803CAA70 003C66D0  4B FE 55 D1 */	bl func_803B0040
/* 803CAA74 003C66D4  3B DE 00 01 */	addi r30, r30, 1
lbl_803CAA78:
/* 803CAA78 003C66D8  7C 1E F8 00 */	cmpw r30, r31
/* 803CAA7C 003C66DC  41 80 FF E4 */	blt lbl_803CAA60
/* 803CAA80 003C66E0  48 00 00 BC */	b lbl_803CAB3C
lbl_803CAA84:
/* 803CAA84 003C66E4  3B C0 00 00 */	li r30, 0
/* 803CAA88 003C66E8  48 00 00 3C */	b lbl_803CAAC4
lbl_803CAA8C:
/* 803CAA8C 003C66EC  7F 63 DB 78 */	mr r3, r27
/* 803CAA90 003C66F0  7F C4 F3 78 */	mr r4, r30
/* 803CAA94 003C66F4  4B FE 1D BD */	bl cTeam_GetPlayer
/* 803CAA98 003C66F8  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CAA9C 003C66FC  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CAAA0 003C6700  40 82 00 20 */	bne lbl_803CAAC0
/* 803CAAA4 003C6704  7F 63 DB 78 */	mr r3, r27
/* 803CAAA8 003C6708  7F 84 E3 78 */	mr r4, r28
/* 803CAAAC 003C670C  7F C5 F3 78 */	mr r5, r30
/* 803CAAB0 003C6710  7F A6 EB 78 */	mr r6, r29
/* 803CAAB4 003C6714  4B FE 55 8D */	bl func_803B0040
/* 803CAAB8 003C6718  38 1D 00 04 */	addi r0, r29, 4
/* 803CAABC 003C671C  54 1D 06 3E */	clrlwi r29, r0, 0x18
lbl_803CAAC0:
/* 803CAAC0 003C6720  3B DE 00 01 */	addi r30, r30, 1
lbl_803CAAC4:
/* 803CAAC4 003C6724  7C 1E F8 00 */	cmpw r30, r31
/* 803CAAC8 003C6728  41 80 FF C4 */	blt lbl_803CAA8C
/* 803CAACC 003C672C  48 00 00 70 */	b lbl_803CAB3C
lbl_803CAAD0:
/* 803CAAD0 003C6730  3B C0 00 00 */	li r30, 0
/* 803CAAD4 003C6734  48 00 00 3C */	b lbl_803CAB10
lbl_803CAAD8:
/* 803CAAD8 003C6738  7F 63 DB 78 */	mr r3, r27
/* 803CAADC 003C673C  7F C4 F3 78 */	mr r4, r30
/* 803CAAE0 003C6740  4B FE 1D 71 */	bl cTeam_GetPlayer
/* 803CAAE4 003C6744  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CAAE8 003C6748  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CAAEC 003C674C  41 82 00 20 */	beq lbl_803CAB0C
/* 803CAAF0 003C6750  7F 63 DB 78 */	mr r3, r27
/* 803CAAF4 003C6754  7F 84 E3 78 */	mr r4, r28
/* 803CAAF8 003C6758  7F C5 F3 78 */	mr r5, r30
/* 803CAAFC 003C675C  7F A6 EB 78 */	mr r6, r29
/* 803CAB00 003C6760  4B FE 55 41 */	bl func_803B0040
/* 803CAB04 003C6764  38 1D 00 04 */	addi r0, r29, 4
/* 803CAB08 003C6768  54 1D 06 3E */	clrlwi r29, r0, 0x18
lbl_803CAB0C:
/* 803CAB0C 003C676C  3B DE 00 01 */	addi r30, r30, 1
lbl_803CAB10:
/* 803CAB10 003C6770  7C 1E F8 00 */	cmpw r30, r31
/* 803CAB14 003C6774  41 80 FF C4 */	blt lbl_803CAAD8
/* 803CAB18 003C6778  48 00 00 24 */	b lbl_803CAB3C
lbl_803CAB1C:
/* 803CAB1C 003C677C  7F 63 DB 78 */	mr r3, r27
/* 803CAB20 003C6780  7F 84 E3 78 */	mr r4, r28
/* 803CAB24 003C6784  48 00 D5 19 */	bl func_803D803C
/* 803CAB28 003C6788  7C 65 1B 78 */	mr r5, r3
/* 803CAB2C 003C678C  7F 63 DB 78 */	mr r3, r27
/* 803CAB30 003C6790  7F 84 E3 78 */	mr r4, r28
/* 803CAB34 003C6794  38 C0 00 00 */	li r6, 0
/* 803CAB38 003C6798  4B FE 55 09 */	bl func_803B0040
lbl_803CAB3C:
/* 803CAB3C 003C679C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CAB40 003C67A0  38 60 00 00 */	li r3, 0
/* 803CAB44 003C67A4  4B DF C6 31 */	bl _restgpr_27
/* 803CAB48 003C67A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CAB4C 003C67AC  7C 08 03 A6 */	mtlr r0
/* 803CAB50 003C67B0  38 21 00 20 */	addi r1, r1, 0x20
/* 803CAB54 003C67B4  4E 80 00 20 */	blr 
/* 803CAB58 003C67B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CAB5C 003C67BC  7C 08 02 A6 */	mflr r0
/* 803CAB60 003C67C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CAB64 003C67C4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CAB68 003C67C8  4B DF C5 C5 */	bl _savegpr_28
/* 803CAB6C 003C67CC  7C 7C 1B 78 */	mr r28, r3
/* 803CAB70 003C67D0  7C 9D 23 78 */	mr r29, r4
/* 803CAB74 003C67D4  4B FE 1C ED */	bl func_803AC860
/* 803CAB78 003C67D8  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803CAB7C 003C67DC  7C 7F 1B 78 */	mr r31, r3
/* 803CAB80 003C67E0  7F A3 EB 78 */	mr r3, r29
/* 803CAB84 003C67E4  38 04 00 01 */	addi r0, r4, 1
/* 803CAB88 003C67E8  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803CAB8C 003C67EC  48 00 C2 E1 */	bl func_803D6E6C
/* 803CAB90 003C67F0  2C 03 00 03 */	cmpwi r3, 3
/* 803CAB94 003C67F4  7C 65 1B 78 */	mr r5, r3
/* 803CAB98 003C67F8  41 82 00 44 */	beq lbl_803CABDC
/* 803CAB9C 003C67FC  40 80 00 10 */	bge lbl_803CABAC
/* 803CABA0 003C6800  2C 03 00 00 */	cmpwi r3, 0
/* 803CABA4 003C6804  41 82 00 14 */	beq lbl_803CABB8
/* 803CABA8 003C6808  48 00 00 C0 */	b lbl_803CAC68
lbl_803CABAC:
/* 803CABAC 003C680C  2C 03 00 05 */	cmpwi r3, 5
/* 803CABB0 003C6810  40 80 00 B8 */	bge lbl_803CAC68
/* 803CABB4 003C6814  48 00 00 78 */	b lbl_803CAC2C
lbl_803CABB8:
/* 803CABB8 003C6818  3B C0 00 00 */	li r30, 0
/* 803CABBC 003C681C  48 00 00 14 */	b lbl_803CABD0
lbl_803CABC0:
/* 803CABC0 003C6820  7F 83 E3 78 */	mr r3, r28
/* 803CABC4 003C6824  7F C4 F3 78 */	mr r4, r30
/* 803CABC8 003C6828  4B FE 56 05 */	bl func_803B01CC
/* 803CABCC 003C682C  3B DE 00 01 */	addi r30, r30, 1
lbl_803CABD0:
/* 803CABD0 003C6830  7C 1E F8 00 */	cmpw r30, r31
/* 803CABD4 003C6834  41 80 FF EC */	blt lbl_803CABC0
/* 803CABD8 003C6838  48 00 00 A8 */	b lbl_803CAC80
lbl_803CABDC:
/* 803CABDC 003C683C  3B C0 00 00 */	li r30, 0
/* 803CABE0 003C6840  48 00 00 40 */	b lbl_803CAC20
lbl_803CABE4:
/* 803CABE4 003C6844  7F 83 E3 78 */	mr r3, r28
/* 803CABE8 003C6848  7F C4 F3 78 */	mr r4, r30
/* 803CABEC 003C684C  4B FE 1C 65 */	bl cTeam_GetPlayer
/* 803CABF0 003C6850  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CABF4 003C6854  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CABF8 003C6858  40 82 00 24 */	bne lbl_803CAC1C
/* 803CABFC 003C685C  7F C3 F3 78 */	mr r3, r30
/* 803CAC00 003C6860  48 01 2D 21 */	bl func_803DD920
/* 803CAC04 003C6864  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803CAC08 003C6868  7C 00 18 39 */	and. r0, r0, r3
/* 803CAC0C 003C686C  40 82 00 10 */	bne lbl_803CAC1C
/* 803CAC10 003C6870  7F 83 E3 78 */	mr r3, r28
/* 803CAC14 003C6874  7F C4 F3 78 */	mr r4, r30
/* 803CAC18 003C6878  4B FE 55 B5 */	bl func_803B01CC
lbl_803CAC1C:
/* 803CAC1C 003C687C  3B DE 00 01 */	addi r30, r30, 1
lbl_803CAC20:
/* 803CAC20 003C6880  7C 1E F8 00 */	cmpw r30, r31
/* 803CAC24 003C6884  41 80 FF C0 */	blt lbl_803CABE4
/* 803CAC28 003C6888  48 00 00 58 */	b lbl_803CAC80
lbl_803CAC2C:
/* 803CAC2C 003C688C  3B C0 00 00 */	li r30, 0
/* 803CAC30 003C6890  48 00 00 2C */	b lbl_803CAC5C
lbl_803CAC34:
/* 803CAC34 003C6894  7F 83 E3 78 */	mr r3, r28
/* 803CAC38 003C6898  7F C4 F3 78 */	mr r4, r30
/* 803CAC3C 003C689C  4B FE 1C 15 */	bl cTeam_GetPlayer
/* 803CAC40 003C68A0  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803CAC44 003C68A4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CAC48 003C68A8  41 82 00 10 */	beq lbl_803CAC58
/* 803CAC4C 003C68AC  7F 83 E3 78 */	mr r3, r28
/* 803CAC50 003C68B0  7F C4 F3 78 */	mr r4, r30
/* 803CAC54 003C68B4  4B FE 55 79 */	bl func_803B01CC
lbl_803CAC58:
/* 803CAC58 003C68B8  3B DE 00 01 */	addi r30, r30, 1
lbl_803CAC5C:
/* 803CAC5C 003C68BC  7C 1E F8 00 */	cmpw r30, r31
/* 803CAC60 003C68C0  41 80 FF D4 */	blt lbl_803CAC34
/* 803CAC64 003C68C4  48 00 00 1C */	b lbl_803CAC80
lbl_803CAC68:
/* 803CAC68 003C68C8  7F 83 E3 78 */	mr r3, r28
/* 803CAC6C 003C68CC  7F A4 EB 78 */	mr r4, r29
/* 803CAC70 003C68D0  48 00 D3 CD */	bl func_803D803C
/* 803CAC74 003C68D4  7C 64 1B 78 */	mr r4, r3
/* 803CAC78 003C68D8  7F 83 E3 78 */	mr r3, r28
/* 803CAC7C 003C68DC  4B FE 55 51 */	bl func_803B01CC
lbl_803CAC80:
/* 803CAC80 003C68E0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CAC84 003C68E4  38 60 00 00 */	li r3, 0
/* 803CAC88 003C68E8  4B DF C4 F1 */	bl _restgpr_28
/* 803CAC8C 003C68EC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CAC90 003C68F0  7C 08 03 A6 */	mtlr r0
/* 803CAC94 003C68F4  38 21 00 20 */	addi r1, r1, 0x20
/* 803CAC98 003C68F8  4E 80 00 20 */	blr 
/* 803CAC9C 003C68FC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CACA0 003C6900  7C 08 02 A6 */	mflr r0
/* 803CACA4 003C6904  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CACA8 003C6908  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CACAC 003C690C  7C 9F 23 78 */	mr r31, r4
/* 803CACB0 003C6910  7F E3 FB 78 */	mr r3, r31
/* 803CACB4 003C6914  4B FE FF 3D */	bl func_803BABF0
/* 803CACB8 003C6918  2C 03 00 00 */	cmpwi r3, 0
/* 803CACBC 003C691C  41 82 00 14 */	beq lbl_803CACD0
/* 803CACC0 003C6920  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 803CACC4 003C6924  38 03 00 01 */	addi r0, r3, 1
/* 803CACC8 003C6928  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CACCC 003C692C  48 00 00 0C */	b lbl_803CACD8
lbl_803CACD0:
/* 803CACD0 003C6930  7F E3 FB 78 */	mr r3, r31
/* 803CACD4 003C6934  4B FE FF 95 */	bl Increment_Q29CrowdMood10CROWD_MOOD_
lbl_803CACD8:
/* 803CACD8 003C6938  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CACDC 003C693C  38 60 00 00 */	li r3, 0
/* 803CACE0 003C6940  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CACE4 003C6944  7C 08 03 A6 */	mtlr r0
/* 803CACE8 003C6948  38 21 00 10 */	addi r1, r1, 0x10
/* 803CACEC 003C694C  4E 80 00 20 */	blr 

.global func_803CACF0
func_803CACF0:
/* 803CACF0 003C6950  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CACF4 003C6954  7C 08 02 A6 */	mflr r0
/* 803CACF8 003C6958  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CACFC 003C695C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CAD00 003C6960  4B DF C4 2D */	bl _savegpr_28
/* 803CAD04 003C6964  7C 9F 23 78 */	mr r31, r4
/* 803CAD08 003C6968  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803CAD0C 003C696C  7C 7C 1B 78 */	mr r28, r3
/* 803CAD10 003C6970  7F E3 FB 78 */	mr r3, r31
/* 803CAD14 003C6974  4B FF 4E 05 */	bl func_803BFB18
/* 803CAD18 003C6978  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CAD1C 003C697C  28 00 00 60 */	cmplwi r0, 0x60
/* 803CAD20 003C6980  40 82 00 0C */	bne lbl_803CAD2C
/* 803CAD24 003C6984  3B A0 00 00 */	li r29, 0
/* 803CAD28 003C6988  48 00 00 24 */	b lbl_803CAD4C
lbl_803CAD2C:
/* 803CAD2C 003C698C  83 BF 21 60 */	lwz r29, 0x2160(r31)
/* 803CAD30 003C6990  2C 1D 00 00 */	cmpwi r29, 0
/* 803CAD34 003C6994  41 82 00 08 */	beq lbl_803CAD3C
/* 803CAD38 003C6998  48 00 00 14 */	b lbl_803CAD4C
lbl_803CAD3C:
/* 803CAD3C 003C699C  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803CAD40 003C69A0  54 00 20 36 */	slwi r0, r0, 4
/* 803CAD44 003C69A4  7C 7F 02 14 */	add r3, r31, r0
/* 803CAD48 003C69A8  8B A3 03 E2 */	lbz r29, 0x3e2(r3)
lbl_803CAD4C:
/* 803CAD4C 003C69AC  83 DF 00 6C */	lwz r30, 0x6c(r31)
/* 803CAD50 003C69B0  7F 83 E3 78 */	mr r3, r28
/* 803CAD54 003C69B4  7F C4 F3 78 */	mr r4, r30
/* 803CAD58 003C69B8  4B FE 1F 8D */	bl func_803ACCE4
/* 803CAD5C 003C69BC  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 803CAD60 003C69C0  54 63 15 BA */	rlwinm r3, r3, 2, 0x16, 0x1d
/* 803CAD64 003C69C4  90 01 00 08 */	stw r0, 8(r1)
/* 803CAD68 003C69C8  7C FF 1A 14 */	add r7, r31, r3
/* 803CAD6C 003C69CC  7F 83 E3 78 */	mr r3, r28
/* 803CAD70 003C69D0  7F E4 FB 78 */	mr r4, r31
/* 803CAD74 003C69D4  80 1F 21 50 */	lwz r0, 0x2150(r31)
/* 803CAD78 003C69D8  57 A9 06 3E */	clrlwi r9, r29, 0x18
/* 803CAD7C 003C69DC  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803CAD80 003C69E0  90 01 00 0C */	stw r0, 0xc(r1)
/* 803CAD84 003C69E4  80 DF 21 54 */	lwz r6, 0x2154(r31)
/* 803CAD88 003C69E8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CAD8C 003C69EC  54 C8 04 3E */	clrlwi r8, r6, 0x10
/* 803CAD90 003C69F0  80 C7 01 BC */	lwz r6, 0x1bc(r7)
/* 803CAD94 003C69F4  80 BF 30 44 */	lwz r5, 0x3044(r31)
/* 803CAD98 003C69F8  54 0A 06 3E */	clrlwi r10, r0, 0x18
/* 803CAD9C 003C69FC  80 FF 01 80 */	lwz r7, 0x180(r31)
/* 803CADA0 003C6A00  4B FF B3 D9 */	bl func_803C6178
/* 803CADA4 003C6A04  80 1F 21 50 */	lwz r0, 0x2150(r31)
/* 803CADA8 003C6A08  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CADAC 003C6A0C  7C 03 01 D6 */	mullw r0, r3, r0
/* 803CADB0 003C6A10  7F E3 FB 78 */	mr r3, r31
/* 803CADB4 003C6A14  90 1F 21 44 */	stw r0, 0x2144(r31)
/* 803CADB8 003C6A18  4B FF 93 05 */	bl func_803C40BC
/* 803CADBC 003C6A1C  2C 03 00 61 */	cmpwi r3, 0x61
/* 803CADC0 003C6A20  40 82 00 2C */	bne lbl_803CADEC
/* 803CADC4 003C6A24  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CADC8 003C6A28  7F E3 FB 78 */	mr r3, r31
/* 803CADCC 003C6A2C  38 A0 00 00 */	li r5, 0
/* 803CADD0 003C6A30  4B FF 93 31 */	bl func_803C4100
/* 803CADD4 003C6A34  80 9F 21 44 */	lwz r4, 0x2144(r31)
/* 803CADD8 003C6A38  38 63 00 64 */	addi r3, r3, 0x64
/* 803CADDC 003C6A3C  38 00 00 64 */	li r0, 0x64
/* 803CADE0 003C6A40  7C 64 19 D6 */	mullw r3, r4, r3
/* 803CADE4 003C6A44  7C 03 03 D6 */	divw r0, r3, r0
/* 803CADE8 003C6A48  90 1F 21 44 */	stw r0, 0x2144(r31)
lbl_803CADEC:
/* 803CADEC 003C6A4C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CADF0 003C6A50  7F E3 FB 78 */	mr r3, r31
/* 803CADF4 003C6A54  4B FF 92 C9 */	bl func_803C40BC
/* 803CADF8 003C6A58  2C 03 00 68 */	cmpwi r3, 0x68
/* 803CADFC 003C6A5C  40 82 00 30 */	bne lbl_803CAE2C
/* 803CAE00 003C6A60  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803CAE04 003C6A64  38 00 00 0A */	li r0, 0xa
/* 803CAE08 003C6A68  80 9F 21 44 */	lwz r4, 0x2144(r31)
/* 803CAE0C 003C6A6C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CAE10 003C6A70  7C 7F 1A 14 */	add r3, r31, r3
/* 803CAE14 003C6A74  80 63 2D CC */	lwz r3, 0x2dcc(r3)
/* 803CAE18 003C6A78  54 63 DF 3E */	rlwinm r3, r3, 0x1b, 0x1c, 0x1f
/* 803CAE1C 003C6A7C  38 63 00 0A */	addi r3, r3, 0xa
/* 803CAE20 003C6A80  7C 64 19 D6 */	mullw r3, r4, r3
/* 803CAE24 003C6A84  7C 03 03 96 */	divwu r0, r3, r0
/* 803CAE28 003C6A88  90 1F 21 44 */	stw r0, 0x2144(r31)
lbl_803CAE2C:
/* 803CAE2C 003C6A8C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CAE30 003C6A90  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CAE34 003C6A94  7C 9F 02 14 */	add r4, r31, r0
/* 803CAE38 003C6A98  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803CAE3C 003C6A9C  54 00 FF FF */	rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 803CAE40 003C6AA0  41 82 00 60 */	beq lbl_803CAEA0
/* 803CAE44 003C6AA4  80 1F 01 74 */	lwz r0, 0x174(r31)
/* 803CAE48 003C6AA8  80 64 2D DC */	lwz r3, 0x2ddc(r4)
/* 803CAE4C 003C6AAC  7C 00 18 00 */	cmpw r0, r3
/* 803CAE50 003C6AB0  40 82 00 0C */	bne lbl_803CAE5C
/* 803CAE54 003C6AB4  38 03 FF FF */	addi r0, r3, -1
/* 803CAE58 003C6AB8  90 04 2D DC */	stw r0, 0x2ddc(r4)
lbl_803CAE5C:
/* 803CAE5C 003C6ABC  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803CAE60 003C6AC0  80 1F 01 74 */	lwz r0, 0x174(r31)
/* 803CAE64 003C6AC4  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CAE68 003C6AC8  7C 9F 1A 14 */	add r4, r31, r3
/* 803CAE6C 003C6ACC  80 64 2D DC */	lwz r3, 0x2ddc(r4)
/* 803CAE70 003C6AD0  7C 03 00 50 */	subf r0, r3, r0
/* 803CAE74 003C6AD4  2C 00 00 02 */	cmpwi r0, 2
/* 803CAE78 003C6AD8  40 80 00 1C */	bge lbl_803CAE94
/* 803CAE7C 003C6ADC  80 7F 21 44 */	lwz r3, 0x2144(r31)
/* 803CAE80 003C6AE0  38 00 00 0A */	li r0, 0xa
/* 803CAE84 003C6AE4  1C 63 00 0F */	mulli r3, r3, 0xf
/* 803CAE88 003C6AE8  7C 03 03 D6 */	divw r0, r3, r0
/* 803CAE8C 003C6AEC  90 1F 21 44 */	stw r0, 0x2144(r31)
/* 803CAE90 003C6AF0  48 00 00 10 */	b lbl_803CAEA0
lbl_803CAE94:
/* 803CAE94 003C6AF4  80 04 2D CC */	lwz r0, 0x2dcc(r4)
/* 803CAE98 003C6AF8  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 803CAE9C 003C6AFC  90 04 2D CC */	stw r0, 0x2dcc(r4)
lbl_803CAEA0:
/* 803CAEA0 003C6B00  39 61 00 20 */	addi r11, r1, 0x20
/* 803CAEA4 003C6B04  4B DF C2 D5 */	bl _restgpr_28
/* 803CAEA8 003C6B08  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CAEAC 003C6B0C  7C 08 03 A6 */	mtlr r0
/* 803CAEB0 003C6B10  38 21 00 20 */	addi r1, r1, 0x20
/* 803CAEB4 003C6B14  4E 80 00 20 */	blr 
/* 803CAEB8 003C6B18  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CAEBC 003C6B1C  7C 08 02 A6 */	mflr r0
/* 803CAEC0 003C6B20  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CAEC4 003C6B24  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CAEC8 003C6B28  7C 9F 23 78 */	mr r31, r4
/* 803CAECC 003C6B2C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CAED0 003C6B30  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803CAED4 003C6B34  38 A5 00 01 */	addi r5, r5, 1
/* 803CAED8 003C6B38  2C 00 00 FF */	cmpwi r0, 0xff
/* 803CAEDC 003C6B3C  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803CAEE0 003C6B40  40 82 00 10 */	bne lbl_803CAEF0
/* 803CAEE4 003C6B44  38 00 00 01 */	li r0, 1
/* 803CAEE8 003C6B48  90 04 21 44 */	stw r0, 0x2144(r4)
/* 803CAEEC 003C6B4C  48 00 00 1C */	b lbl_803CAF08
lbl_803CAEF0:
/* 803CAEF0 003C6B50  4B FF FE 01 */	bl func_803CACF0
/* 803CAEF4 003C6B54  80 9F 21 44 */	lwz r4, 0x2144(r31)
/* 803CAEF8 003C6B58  7F E3 FB 78 */	mr r3, r31
/* 803CAEFC 003C6B5C  4B FF D5 4D */	bl func_803C8448
/* 803CAF00 003C6B60  1C 03 FF FF */	mulli r0, r3, -1
/* 803CAF04 003C6B64  90 1F 21 44 */	stw r0, 0x2144(r31)
lbl_803CAF08:
/* 803CAF08 003C6B68  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CAF0C 003C6B6C  38 60 00 00 */	li r3, 0
/* 803CAF10 003C6B70  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CAF14 003C6B74  7C 08 03 A6 */	mtlr r0
/* 803CAF18 003C6B78  38 21 00 10 */	addi r1, r1, 0x10
/* 803CAF1C 003C6B7C  4E 80 00 20 */	blr 
/* 803CAF20 003C6B80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CAF24 003C6B84  7C 08 02 A6 */	mflr r0
/* 803CAF28 003C6B88  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CAF2C 003C6B8C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CAF30 003C6B90  7C 9F 23 78 */	mr r31, r4
/* 803CAF34 003C6B94  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CAF38 003C6B98  38 05 00 01 */	addi r0, r5, 1
/* 803CAF3C 003C6B9C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CAF40 003C6BA0  4B FF FD B1 */	bl func_803CACF0
/* 803CAF44 003C6BA4  80 1F 21 44 */	lwz r0, 0x2144(r31)
/* 803CAF48 003C6BA8  38 60 00 00 */	li r3, 0
/* 803CAF4C 003C6BAC  1C 00 FF FF */	mulli r0, r0, -1
/* 803CAF50 003C6BB0  90 1F 21 44 */	stw r0, 0x2144(r31)
/* 803CAF54 003C6BB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CAF58 003C6BB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CAF5C 003C6BBC  7C 08 03 A6 */	mtlr r0
/* 803CAF60 003C6BC0  38 21 00 10 */	addi r1, r1, 0x10
/* 803CAF64 003C6BC4  4E 80 00 20 */	blr 
/* 803CAF68 003C6BC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CAF6C 003C6BCC  7C 08 02 A6 */	mflr r0
/* 803CAF70 003C6BD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CAF74 003C6BD4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CAF78 003C6BD8  7C 9F 23 78 */	mr r31, r4
/* 803CAF7C 003C6BDC  80 04 21 3C */	lwz r0, 0x213c(r4)
/* 803CAF80 003C6BE0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CAF84 003C6BE4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CAF88 003C6BE8  38 05 00 01 */	addi r0, r5, 1
/* 803CAF8C 003C6BEC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CAF90 003C6BF0  40 82 00 20 */	bne lbl_803CAFB0
/* 803CAF94 003C6BF4  4B FE 5F 81 */	bl func_803B0F14
/* 803CAF98 003C6BF8  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CAF9C 003C6BFC  38 00 00 07 */	li r0, 7
/* 803CAFA0 003C6C00  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CAFA4 003C6C04  90 03 00 04 */	stw r0, 4(r3)
/* 803CAFA8 003C6C08  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CAFAC 003C6C0C  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803CAFB0:
/* 803CAFB0 003C6C10  80 9F 21 3C */	lwz r4, 0x213c(r31)
/* 803CAFB4 003C6C14  38 60 00 00 */	li r3, 0
/* 803CAFB8 003C6C18  80 1F 21 40 */	lwz r0, 0x2140(r31)
/* 803CAFBC 003C6C1C  60 84 00 01 */	ori r4, r4, 1
/* 803CAFC0 003C6C20  60 00 00 04 */	ori r0, r0, 4
/* 803CAFC4 003C6C24  90 9F 21 3C */	stw r4, 0x213c(r31)
/* 803CAFC8 003C6C28  90 1F 21 40 */	stw r0, 0x2140(r31)
/* 803CAFCC 003C6C2C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CAFD0 003C6C30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CAFD4 003C6C34  7C 08 03 A6 */	mtlr r0
/* 803CAFD8 003C6C38  38 21 00 10 */	addi r1, r1, 0x10
/* 803CAFDC 003C6C3C  4E 80 00 20 */	blr 
/* 803CAFE0 003C6C40  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803CAFE4 003C6C44  7C 08 02 A6 */	mflr r0
/* 803CAFE8 003C6C48  90 01 00 64 */	stw r0, 0x64(r1)
/* 803CAFEC 003C6C4C  93 E1 00 5C */	stw r31, 0x5c(r1)
/* 803CAFF0 003C6C50  7C 9F 23 78 */	mr r31, r4
/* 803CAFF4 003C6C54  93 C1 00 58 */	stw r30, 0x58(r1)
/* 803CAFF8 003C6C58  7C 7E 1B 78 */	mr r30, r3
/* 803CAFFC 003C6C5C  7F E3 FB 78 */	mr r3, r31
/* 803CB000 003C6C60  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB004 003C6C64  38 05 00 01 */	addi r0, r5, 1
/* 803CB008 003C6C68  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB00C 003C6C6C  38 81 00 08 */	addi r4, r1, 8
/* 803CB010 003C6C70  48 00 D4 35 */	bl func_803D8444
/* 803CB014 003C6C74  7F C3 F3 78 */	mr r3, r30
/* 803CB018 003C6C78  7F E4 FB 78 */	mr r4, r31
/* 803CB01C 003C6C7C  38 A1 00 08 */	addi r5, r1, 8
/* 803CB020 003C6C80  38 C1 00 28 */	addi r6, r1, 0x28
/* 803CB024 003C6C84  48 00 D4 FD */	bl func_803D8520
/* 803CB028 003C6C88  7F C3 F3 78 */	mr r3, r30
/* 803CB02C 003C6C8C  7F E4 FB 78 */	mr r4, r31
/* 803CB030 003C6C90  38 A1 00 28 */	addi r5, r1, 0x28
/* 803CB034 003C6C94  4B FE 5F 35 */	bl func_803B0F68
/* 803CB038 003C6C98  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CB03C 003C6C9C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CB040 003C6CA0  80 03 00 04 */	lwz r0, 4(r3)
/* 803CB044 003C6CA4  2C 00 00 00 */	cmpwi r0, 0
/* 803CB048 003C6CA8  40 82 00 0C */	bne lbl_803CB054
/* 803CB04C 003C6CAC  38 00 00 0A */	li r0, 0xa
/* 803CB050 003C6CB0  90 03 00 04 */	stw r0, 4(r3)
lbl_803CB054:
/* 803CB054 003C6CB4  83 E1 00 5C */	lwz r31, 0x5c(r1)
/* 803CB058 003C6CB8  38 60 00 00 */	li r3, 0
/* 803CB05C 003C6CBC  83 C1 00 58 */	lwz r30, 0x58(r1)
/* 803CB060 003C6CC0  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803CB064 003C6CC4  7C 08 03 A6 */	mtlr r0
/* 803CB068 003C6CC8  38 21 00 60 */	addi r1, r1, 0x60
/* 803CB06C 003C6CCC  4E 80 00 20 */	blr 
/* 803CB070 003C6CD0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803CB074 003C6CD4  7C 08 02 A6 */	mflr r0
/* 803CB078 003C6CD8  90 01 00 64 */	stw r0, 0x64(r1)
/* 803CB07C 003C6CDC  93 E1 00 5C */	stw r31, 0x5c(r1)
/* 803CB080 003C6CE0  7C 9F 23 78 */	mr r31, r4
/* 803CB084 003C6CE4  93 C1 00 58 */	stw r30, 0x58(r1)
/* 803CB088 003C6CE8  7C 7E 1B 78 */	mr r30, r3
/* 803CB08C 003C6CEC  7F E3 FB 78 */	mr r3, r31
/* 803CB090 003C6CF0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB094 003C6CF4  38 05 00 01 */	addi r0, r5, 1
/* 803CB098 003C6CF8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB09C 003C6CFC  38 81 00 08 */	addi r4, r1, 8
/* 803CB0A0 003C6D00  48 00 D3 A5 */	bl func_803D8444
/* 803CB0A4 003C6D04  7F C3 F3 78 */	mr r3, r30
/* 803CB0A8 003C6D08  7F E4 FB 78 */	mr r4, r31
/* 803CB0AC 003C6D0C  38 A1 00 08 */	addi r5, r1, 8
/* 803CB0B0 003C6D10  38 C1 00 28 */	addi r6, r1, 0x28
/* 803CB0B4 003C6D14  48 00 D4 6D */	bl func_803D8520
/* 803CB0B8 003C6D18  88 01 00 29 */	lbz r0, 0x29(r1)
/* 803CB0BC 003C6D1C  7F C3 F3 78 */	mr r3, r30
/* 803CB0C0 003C6D20  7F E4 FB 78 */	mr r4, r31
/* 803CB0C4 003C6D24  38 A1 00 28 */	addi r5, r1, 0x28
/* 803CB0C8 003C6D28  60 00 00 80 */	ori r0, r0, 0x80
/* 803CB0CC 003C6D2C  98 01 00 29 */	stb r0, 0x29(r1)
/* 803CB0D0 003C6D30  4B FE 5E 99 */	bl func_803B0F68
/* 803CB0D4 003C6D34  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803CB0D8 003C6D38  38 00 00 0A */	li r0, 0xa
/* 803CB0DC 003C6D3C  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803CB0E0 003C6D40  38 60 00 00 */	li r3, 0
/* 803CB0E4 003C6D44  90 04 00 04 */	stw r0, 4(r4)
/* 803CB0E8 003C6D48  83 E1 00 5C */	lwz r31, 0x5c(r1)
/* 803CB0EC 003C6D4C  83 C1 00 58 */	lwz r30, 0x58(r1)
/* 803CB0F0 003C6D50  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803CB0F4 003C6D54  7C 08 03 A6 */	mtlr r0
/* 803CB0F8 003C6D58  38 21 00 60 */	addi r1, r1, 0x60
/* 803CB0FC 003C6D5C  4E 80 00 20 */	blr 
/* 803CB100 003C6D60  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CB104 003C6D64  7C 08 02 A6 */	mflr r0
/* 803CB108 003C6D68  38 A4 00 F4 */	addi r5, r4, 0xf4
/* 803CB10C 003C6D6C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CB110 003C6D70  80 C4 00 B4 */	lwz r6, 0xb4(r4)
/* 803CB114 003C6D74  38 06 00 01 */	addi r0, r6, 1
/* 803CB118 003C6D78  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB11C 003C6D7C  4B FE 5E 4D */	bl func_803B0F68
/* 803CB120 003C6D80  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803CB124 003C6D84  38 00 00 0A */	li r0, 0xa
/* 803CB128 003C6D88  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803CB12C 003C6D8C  38 60 00 00 */	li r3, 0
/* 803CB130 003C6D90  90 04 00 04 */	stw r0, 4(r4)
/* 803CB134 003C6D94  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CB138 003C6D98  7C 08 03 A6 */	mtlr r0
/* 803CB13C 003C6D9C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CB140 003C6DA0  4E 80 00 20 */	blr 
/* 803CB144 003C6DA4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CB148 003C6DA8  7C 08 02 A6 */	mflr r0
/* 803CB14C 003C6DAC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CB150 003C6DB0  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 803CB154 003C6DB4  7C 9F 23 78 */	mr r31, r4
/* 803CB158 003C6DB8  93 C1 00 28 */	stw r30, 0x28(r1)
/* 803CB15C 003C6DBC  7C 7E 1B 78 */	mr r30, r3
/* 803CB160 003C6DC0  7F E3 FB 78 */	mr r3, r31
/* 803CB164 003C6DC4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB168 003C6DC8  38 05 00 01 */	addi r0, r5, 1
/* 803CB16C 003C6DCC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB170 003C6DD0  38 81 00 08 */	addi r4, r1, 8
/* 803CB174 003C6DD4  48 00 D2 D1 */	bl func_803D8444
/* 803CB178 003C6DD8  7F C3 F3 78 */	mr r3, r30
/* 803CB17C 003C6DDC  7F E4 FB 78 */	mr r4, r31
/* 803CB180 003C6DE0  38 A1 00 08 */	addi r5, r1, 8
/* 803CB184 003C6DE4  38 DF 00 F4 */	addi r6, r31, 0xf4
/* 803CB188 003C6DE8  48 00 D3 99 */	bl func_803D8520
/* 803CB18C 003C6DEC  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 803CB190 003C6DF0  38 60 00 00 */	li r3, 0
/* 803CB194 003C6DF4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 803CB198 003C6DF8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CB19C 003C6DFC  7C 08 03 A6 */	mtlr r0
/* 803CB1A0 003C6E00  38 21 00 30 */	addi r1, r1, 0x30
/* 803CB1A4 003C6E04  4E 80 00 20 */	blr 
/* 803CB1A8 003C6E08  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803CB1AC 003C6E0C  7C 08 02 A6 */	mflr r0
/* 803CB1B0 003C6E10  90 01 00 64 */	stw r0, 0x64(r1)
/* 803CB1B4 003C6E14  39 61 00 60 */	addi r11, r1, 0x60
/* 803CB1B8 003C6E18  4B DF BF 79 */	bl _savegpr_29
/* 803CB1BC 003C6E1C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB1C0 003C6E20  7C 9E 23 78 */	mr r30, r4
/* 803CB1C4 003C6E24  7C 7D 1B 78 */	mr r29, r3
/* 803CB1C8 003C6E28  38 05 00 01 */	addi r0, r5, 1
/* 803CB1CC 003C6E2C  7F C3 F3 78 */	mr r3, r30
/* 803CB1D0 003C6E30  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB1D4 003C6E34  48 00 BC 99 */	bl func_803D6E6C
/* 803CB1D8 003C6E38  7C 7F 1B 78 */	mr r31, r3
/* 803CB1DC 003C6E3C  7F C3 F3 78 */	mr r3, r30
/* 803CB1E0 003C6E40  38 81 00 08 */	addi r4, r1, 8
/* 803CB1E4 003C6E44  48 00 D2 61 */	bl func_803D8444
/* 803CB1E8 003C6E48  7F A3 EB 78 */	mr r3, r29
/* 803CB1EC 003C6E4C  7F C4 F3 78 */	mr r4, r30
/* 803CB1F0 003C6E50  38 A1 00 08 */	addi r5, r1, 8
/* 803CB1F4 003C6E54  38 C1 00 28 */	addi r6, r1, 0x28
/* 803CB1F8 003C6E58  48 00 D3 29 */	bl func_803D8520
/* 803CB1FC 003C6E5C  88 01 00 29 */	lbz r0, 0x29(r1)
/* 803CB200 003C6E60  7F A3 EB 78 */	mr r3, r29
/* 803CB204 003C6E64  7F C4 F3 78 */	mr r4, r30
/* 803CB208 003C6E68  7F E5 FB 78 */	mr r5, r31
/* 803CB20C 003C6E6C  60 00 00 40 */	ori r0, r0, 0x40
/* 803CB210 003C6E70  98 01 00 29 */	stb r0, 0x29(r1)
/* 803CB214 003C6E74  48 00 CE 29 */	bl func_803D803C
/* 803CB218 003C6E78  90 61 00 48 */	stw r3, 0x48(r1)
/* 803CB21C 003C6E7C  7F A3 EB 78 */	mr r3, r29
/* 803CB220 003C6E80  7F C4 F3 78 */	mr r4, r30
/* 803CB224 003C6E84  38 A1 00 28 */	addi r5, r1, 0x28
/* 803CB228 003C6E88  4B FE 5D 41 */	bl func_803B0F68
/* 803CB22C 003C6E8C  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803CB230 003C6E90  38 00 00 0A */	li r0, 0xa
/* 803CB234 003C6E94  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803CB238 003C6E98  39 61 00 60 */	addi r11, r1, 0x60
/* 803CB23C 003C6E9C  90 04 00 04 */	stw r0, 4(r4)
/* 803CB240 003C6EA0  38 60 00 00 */	li r3, 0
/* 803CB244 003C6EA4  4B DF BF 39 */	bl _restgpr_29
/* 803CB248 003C6EA8  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803CB24C 003C6EAC  7C 08 03 A6 */	mtlr r0
/* 803CB250 003C6EB0  38 21 00 60 */	addi r1, r1, 0x60
/* 803CB254 003C6EB4  4E 80 00 20 */	blr 
/* 803CB258 003C6EB8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CB25C 003C6EBC  7C 08 02 A6 */	mflr r0
/* 803CB260 003C6EC0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CB264 003C6EC4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB268 003C6EC8  4B DF BE C9 */	bl _savegpr_29
/* 803CB26C 003C6ECC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB270 003C6ED0  7C 9E 23 78 */	mr r30, r4
/* 803CB274 003C6ED4  7C 7D 1B 78 */	mr r29, r3
/* 803CB278 003C6ED8  38 05 00 01 */	addi r0, r5, 1
/* 803CB27C 003C6EDC  7F C3 F3 78 */	mr r3, r30
/* 803CB280 003C6EE0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB284 003C6EE4  48 00 BB E9 */	bl func_803D6E6C
/* 803CB288 003C6EE8  2C 03 00 FF */	cmpwi r3, 0xff
/* 803CB28C 003C6EEC  40 82 00 10 */	bne lbl_803CB29C
/* 803CB290 003C6EF0  80 1E 01 24 */	lwz r0, 0x124(r30)
/* 803CB294 003C6EF4  54 1F 04 3E */	clrlwi r31, r0, 0x10
/* 803CB298 003C6EF8  48 00 00 0C */	b lbl_803CB2A4
lbl_803CB29C:
/* 803CB29C 003C6EFC  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803CB2A0 003C6F00  54 1F 04 3E */	clrlwi r31, r0, 0x10
lbl_803CB2A4:
/* 803CB2A4 003C6F04  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803CB2A8 003C6F08  54 00 04 63 */	rlwinm. r0, r0, 0, 0x11, 0x11
/* 803CB2AC 003C6F0C  40 82 00 14 */	bne lbl_803CB2C0
/* 803CB2B0 003C6F10  7F A3 EB 78 */	mr r3, r29
/* 803CB2B4 003C6F14  4B FE 29 01 */	bl func_803ADBB4
/* 803CB2B8 003C6F18  2C 03 00 01 */	cmpwi r3, 1
/* 803CB2BC 003C6F1C  41 82 00 0C */	beq lbl_803CB2C8
lbl_803CB2C0:
/* 803CB2C0 003C6F20  28 1F 00 90 */	cmplwi r31, 0x90
/* 803CB2C4 003C6F24  40 82 01 58 */	bne lbl_803CB41C
lbl_803CB2C8:
/* 803CB2C8 003C6F28  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803CB2CC 003C6F2C  7F A3 EB 78 */	mr r3, r29
/* 803CB2D0 003C6F30  7F C4 F3 78 */	mr r4, r30
/* 803CB2D4 003C6F34  7F E5 FB 78 */	mr r5, r31
/* 803CB2D8 003C6F38  60 00 40 00 */	ori r0, r0, 0x4000
/* 803CB2DC 003C6F3C  90 1E 21 3C */	stw r0, 0x213c(r30)
/* 803CB2E0 003C6F40  4B FE 5C A9 */	bl func_803B0F88
/* 803CB2E4 003C6F44  7F E3 FB 78 */	mr r3, r31
/* 803CB2E8 003C6F48  38 80 00 07 */	li r4, 7
/* 803CB2EC 003C6F4C  48 01 37 39 */	bl func_803DEA24
/* 803CB2F0 003C6F50  2C 03 00 04 */	cmpwi r3, 4
/* 803CB2F4 003C6F54  41 82 00 30 */	beq lbl_803CB324
/* 803CB2F8 003C6F58  40 80 00 10 */	bge lbl_803CB308
/* 803CB2FC 003C6F5C  2C 03 00 01 */	cmpwi r3, 1
/* 803CB300 003C6F60  41 82 00 34 */	beq lbl_803CB334
/* 803CB304 003C6F64  48 00 00 40 */	b lbl_803CB344
lbl_803CB308:
/* 803CB308 003C6F68  2C 03 00 08 */	cmpwi r3, 8
/* 803CB30C 003C6F6C  41 82 00 08 */	beq lbl_803CB314
/* 803CB310 003C6F70  48 00 00 34 */	b lbl_803CB344
lbl_803CB314:
/* 803CB314 003C6F74  38 00 02 00 */	li r0, 0x200
/* 803CB318 003C6F78  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB31C 003C6F7C  90 03 CD E8 */	stw r0, lbl_8048CDE8@l(r3)
/* 803CB320 003C6F80  48 00 00 74 */	b lbl_803CB394
lbl_803CB324:
/* 803CB324 003C6F84  38 00 01 00 */	li r0, 0x100
/* 803CB328 003C6F88  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB32C 003C6F8C  90 03 CD E8 */	stw r0, lbl_8048CDE8@l(r3)
/* 803CB330 003C6F90  48 00 00 64 */	b lbl_803CB394
lbl_803CB334:
/* 803CB334 003C6F94  38 00 03 00 */	li r0, 0x300
/* 803CB338 003C6F98  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB33C 003C6F9C  90 03 CD E8 */	stw r0, lbl_8048CDE8@l(r3)
/* 803CB340 003C6FA0  48 00 00 54 */	b lbl_803CB394
lbl_803CB344:
/* 803CB344 003C6FA4  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803CB348 003C6FA8  28 00 00 AE */	cmplwi r0, 0xae
/* 803CB34C 003C6FAC  40 82 00 3C */	bne lbl_803CB388
/* 803CB350 003C6FB0  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803CB354 003C6FB4  7F C3 F3 78 */	mr r3, r30
/* 803CB358 003C6FB8  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803CB35C 003C6FBC  4B FF 45 D5 */	bl func_803BF930
/* 803CB360 003C6FC0  2C 03 00 00 */	cmpwi r3, 0
/* 803CB364 003C6FC4  41 82 00 14 */	beq lbl_803CB378
/* 803CB368 003C6FC8  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803CB36C 003C6FCC  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB370 003C6FD0  90 03 CD E8 */	stw r0, lbl_8048CDE8@l(r3)
/* 803CB374 003C6FD4  48 00 00 20 */	b lbl_803CB394
lbl_803CB378:
/* 803CB378 003C6FD8  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CB37C 003C6FDC  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB380 003C6FE0  90 03 CD E8 */	stw r0, lbl_8048CDE8@l(r3)
/* 803CB384 003C6FE4  48 00 00 10 */	b lbl_803CB394
lbl_803CB388:
/* 803CB388 003C6FE8  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803CB38C 003C6FEC  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB390 003C6FF0  90 03 CD E8 */	stw r0, lbl_8048CDE8@l(r3)
lbl_803CB394:
/* 803CB394 003C6FF4  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CB398 003C6FF8  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CB39C 003C6FFC  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CB3A0 003C7000  88 BE 21 7C */	lbz r5, 0x217c(r30)
/* 803CB3A4 003C7004  80 03 00 20 */	lwz r0, 0x20(r3)
/* 803CB3A8 003C7008  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CB3AC 003C700C  90 A4 00 04 */	stw r5, 4(r4)
/* 803CB3B0 003C7010  90 04 00 0C */	stw r0, 0xc(r4)
/* 803CB3B4 003C7014  80 1E 21 3C */	lwz r0, 0x213c(r30)
/* 803CB3B8 003C7018  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 803CB3BC 003C701C  41 82 00 10 */	beq lbl_803CB3CC
/* 803CB3C0 003C7020  38 00 00 01 */	li r0, 1
/* 803CB3C4 003C7024  90 04 00 08 */	stw r0, 8(r4)
/* 803CB3C8 003C7028  48 00 00 0C */	b lbl_803CB3D4
lbl_803CB3CC:
/* 803CB3CC 003C702C  38 00 00 00 */	li r0, 0
/* 803CB3D0 003C7030  90 04 00 08 */	stw r0, 8(r4)
lbl_803CB3D4:
/* 803CB3D4 003C7034  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CB3D8 003C7038  38 60 00 0C */	li r3, 0xc
/* 803CB3DC 003C703C  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CB3E0 003C7040  4B DA 46 6D */	bl func_8016FA4C
/* 803CB3E4 003C7044  7F A3 EB 78 */	mr r3, r29
/* 803CB3E8 003C7048  4B FE 14 59 */	bl func_803AC840
/* 803CB3EC 003C704C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CB3F0 003C7050  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 803CB3F4 003C7054  4B FF DE D5 */	bl func_803C92C8
/* 803CB3F8 003C7058  3B A0 00 00 */	li r29, 0
lbl_803CB3FC:
/* 803CB3FC 003C705C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CB400 003C7060  7F E5 FB 78 */	mr r5, r31
/* 803CB404 003C7064  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 803CB408 003C7068  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 803CB40C 003C706C  4B DB 73 31 */	bl func_8018273C
/* 803CB410 003C7070  3B BD 00 01 */	addi r29, r29, 1
/* 803CB414 003C7074  28 1D 00 04 */	cmplwi r29, 4
/* 803CB418 003C7078  41 80 FF E4 */	blt lbl_803CB3FC
lbl_803CB41C:
/* 803CB41C 003C707C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB420 003C7080  38 60 00 00 */	li r3, 0
/* 803CB424 003C7084  4B DF BD 59 */	bl _restgpr_29
/* 803CB428 003C7088  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CB42C 003C708C  7C 08 03 A6 */	mtlr r0
/* 803CB430 003C7090  38 21 00 20 */	addi r1, r1, 0x20
/* 803CB434 003C7094  4E 80 00 20 */	blr 
/* 803CB438 003C7098  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CB43C 003C709C  7C 08 02 A6 */	mflr r0
/* 803CB440 003C70A0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CB444 003C70A4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB448 003C70A8  4B DF BC E1 */	bl _savegpr_27
/* 803CB44C 003C70AC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB450 003C70B0  7C 9C 23 78 */	mr r28, r4
/* 803CB454 003C70B4  7C 7B 1B 78 */	mr r27, r3
/* 803CB458 003C70B8  38 05 00 01 */	addi r0, r5, 1
/* 803CB45C 003C70BC  7F 83 E3 78 */	mr r3, r28
/* 803CB460 003C70C0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB464 003C70C4  48 00 BA 09 */	bl func_803D6E6C
/* 803CB468 003C70C8  7C 7F 1B 78 */	mr r31, r3
/* 803CB46C 003C70CC  7F 83 E3 78 */	mr r3, r28
/* 803CB470 003C70D0  48 00 B9 FD */	bl func_803D6E6C
/* 803CB474 003C70D4  7C 7E 1B 78 */	mr r30, r3
/* 803CB478 003C70D8  7F 83 E3 78 */	mr r3, r28
/* 803CB47C 003C70DC  48 00 B9 F1 */	bl func_803D6E6C
/* 803CB480 003C70E0  2C 1F 00 FF */	cmpwi r31, 0xff
/* 803CB484 003C70E4  7C 7F 1B 78 */	mr r31, r3
/* 803CB488 003C70E8  40 82 00 10 */	bne lbl_803CB498
/* 803CB48C 003C70EC  80 1C 01 24 */	lwz r0, 0x124(r28)
/* 803CB490 003C70F0  54 1D 04 3E */	clrlwi r29, r0, 0x10
/* 803CB494 003C70F4  48 00 00 0C */	b lbl_803CB4A0
lbl_803CB498:
/* 803CB498 003C70F8  80 1C 30 44 */	lwz r0, 0x3044(r28)
/* 803CB49C 003C70FC  54 1D 04 3E */	clrlwi r29, r0, 0x10
lbl_803CB4A0:
/* 803CB4A0 003C7100  7F 63 DB 78 */	mr r3, r27
/* 803CB4A4 003C7104  7F 84 E3 78 */	mr r4, r28
/* 803CB4A8 003C7108  7F C5 F3 78 */	mr r5, r30
/* 803CB4AC 003C710C  48 00 CB 91 */	bl func_803D803C
/* 803CB4B0 003C7110  7C 7E 1B 78 */	mr r30, r3
/* 803CB4B4 003C7114  7F 63 DB 78 */	mr r3, r27
/* 803CB4B8 003C7118  7F 84 E3 78 */	mr r4, r28
/* 803CB4BC 003C711C  7F E5 FB 78 */	mr r5, r31
/* 803CB4C0 003C7120  48 00 CB 7D */	bl func_803D803C
/* 803CB4C4 003C7124  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803CB4C8 003C7128  7C 7F 1B 78 */	mr r31, r3
/* 803CB4CC 003C712C  54 00 04 63 */	rlwinm. r0, r0, 0, 0x11, 0x11
/* 803CB4D0 003C7130  40 82 00 14 */	bne lbl_803CB4E4
/* 803CB4D4 003C7134  7F 63 DB 78 */	mr r3, r27
/* 803CB4D8 003C7138  4B FE 26 DD */	bl func_803ADBB4
/* 803CB4DC 003C713C  2C 03 00 01 */	cmpwi r3, 1
/* 803CB4E0 003C7140  41 82 00 0C */	beq lbl_803CB4EC
lbl_803CB4E4:
/* 803CB4E4 003C7144  28 1D 00 90 */	cmplwi r29, 0x90
/* 803CB4E8 003C7148  40 82 00 44 */	bne lbl_803CB52C
lbl_803CB4EC:
/* 803CB4EC 003C714C  80 1C 21 3C */	lwz r0, 0x213c(r28)
/* 803CB4F0 003C7150  7F 63 DB 78 */	mr r3, r27
/* 803CB4F4 003C7154  7F 84 E3 78 */	mr r4, r28
/* 803CB4F8 003C7158  7F A5 EB 78 */	mr r5, r29
/* 803CB4FC 003C715C  60 00 40 00 */	ori r0, r0, 0x4000
/* 803CB500 003C7160  7F C6 F3 78 */	mr r6, r30
/* 803CB504 003C7164  90 1C 21 3C */	stw r0, 0x213c(r28)
/* 803CB508 003C7168  7F E7 FB 78 */	mr r7, r31
/* 803CB50C 003C716C  4B FE 5A E5 */	bl func_803B0FF0
/* 803CB510 003C7170  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803CB514 003C7174  38 60 00 10 */	li r3, 0x10
/* 803CB518 003C7178  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803CB51C 003C717C  93 E5 CD E8 */	stw r31, -0x3218(r5)
/* 803CB520 003C7180  93 C4 00 04 */	stw r30, 4(r4)
/* 803CB524 003C7184  93 A4 00 08 */	stw r29, 8(r4)
/* 803CB528 003C7188  4B DA 45 25 */	bl func_8016FA4C
lbl_803CB52C:
/* 803CB52C 003C718C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB530 003C7190  38 60 00 00 */	li r3, 0
/* 803CB534 003C7194  4B DF BC 41 */	bl _restgpr_27
/* 803CB538 003C7198  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CB53C 003C719C  7C 08 03 A6 */	mtlr r0
/* 803CB540 003C71A0  38 21 00 20 */	addi r1, r1, 0x20
/* 803CB544 003C71A4  4E 80 00 20 */	blr 
/* 803CB548 003C71A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CB54C 003C71AC  7C 08 02 A6 */	mflr r0
/* 803CB550 003C71B0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CB554 003C71B4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CB558 003C71B8  7C 9F 23 78 */	mr r31, r4
/* 803CB55C 003C71BC  93 C1 00 08 */	stw r30, 8(r1)
/* 803CB560 003C71C0  7C 7E 1B 78 */	mr r30, r3
/* 803CB564 003C71C4  7F E3 FB 78 */	mr r3, r31
/* 803CB568 003C71C8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB56C 003C71CC  38 05 00 01 */	addi r0, r5, 1
/* 803CB570 003C71D0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB574 003C71D4  48 00 B8 F9 */	bl func_803D6E6C
/* 803CB578 003C71D8  7C 65 1B 78 */	mr r5, r3
/* 803CB57C 003C71DC  7F C3 F3 78 */	mr r3, r30
/* 803CB580 003C71E0  7F E4 FB 78 */	mr r4, r31
/* 803CB584 003C71E4  48 00 CA B9 */	bl func_803D803C
/* 803CB588 003C71E8  80 BF 21 6C */	lwz r5, 0x216c(r31)
/* 803CB58C 003C71EC  7C 64 1B 78 */	mr r4, r3
/* 803CB590 003C71F0  7F C3 F3 78 */	mr r3, r30
/* 803CB594 003C71F4  4B FE 5A C5 */	bl func_803B1058
/* 803CB598 003C71F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CB59C 003C71FC  38 60 00 00 */	li r3, 0
/* 803CB5A0 003C7200  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CB5A4 003C7204  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CB5A8 003C7208  7C 08 03 A6 */	mtlr r0
/* 803CB5AC 003C720C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CB5B0 003C7210  4E 80 00 20 */	blr 
/* 803CB5B4 003C7214  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CB5B8 003C7218  7C 08 02 A6 */	mflr r0
/* 803CB5BC 003C721C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CB5C0 003C7220  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CB5C4 003C7224  7C 9F 23 78 */	mr r31, r4
/* 803CB5C8 003C7228  93 C1 00 08 */	stw r30, 8(r1)
/* 803CB5CC 003C722C  7C 7E 1B 78 */	mr r30, r3
/* 803CB5D0 003C7230  7F E3 FB 78 */	mr r3, r31
/* 803CB5D4 003C7234  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB5D8 003C7238  38 05 00 01 */	addi r0, r5, 1
/* 803CB5DC 003C723C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB5E0 003C7240  48 00 B8 8D */	bl func_803D6E6C
/* 803CB5E4 003C7244  7C 65 1B 78 */	mr r5, r3
/* 803CB5E8 003C7248  7F C3 F3 78 */	mr r3, r30
/* 803CB5EC 003C724C  7F E4 FB 78 */	mr r4, r31
/* 803CB5F0 003C7250  48 00 CA 4D */	bl func_803D803C
/* 803CB5F4 003C7254  1D 03 00 C0 */	mulli r8, r3, 0xc0
/* 803CB5F8 003C7258  80 FF 21 5C */	lwz r7, 0x215c(r31)
/* 803CB5FC 003C725C  7C 65 1B 78 */	mr r5, r3
/* 803CB600 003C7260  7C 9F 42 14 */	add r4, r31, r8
/* 803CB604 003C7264  80 C4 2D 8C */	lwz r6, 0x2d8c(r4)
/* 803CB608 003C7268  7C 07 32 15 */	add. r0, r7, r6
/* 803CB60C 003C726C  41 81 00 10 */	bgt lbl_803CB61C
/* 803CB610 003C7270  7C 06 00 D0 */	neg r0, r6
/* 803CB614 003C7274  90 1F 21 48 */	stw r0, 0x2148(r31)
/* 803CB618 003C7278  48 00 00 08 */	b lbl_803CB620
lbl_803CB61C:
/* 803CB61C 003C727C  90 FF 21 48 */	stw r7, 0x2148(r31)
lbl_803CB620:
/* 803CB620 003C7280  80 DF 21 48 */	lwz r6, 0x2148(r31)
/* 803CB624 003C7284  2C 06 00 00 */	cmpwi r6, 0
/* 803CB628 003C7288  40 80 00 18 */	bge lbl_803CB640
/* 803CB62C 003C728C  54 60 10 3A */	slwi r0, r3, 2
/* 803CB630 003C7290  7C 7F 02 14 */	add r3, r31, r0
/* 803CB634 003C7294  80 03 01 64 */	lwz r0, 0x164(r3)
/* 803CB638 003C7298  7C 06 00 50 */	subf r0, r6, r0
/* 803CB63C 003C729C  90 03 01 64 */	stw r0, 0x164(r3)
lbl_803CB640:
/* 803CB640 003C72A0  80 64 2D 8C */	lwz r3, 0x2d8c(r4)
/* 803CB644 003C72A4  80 1F 21 5C */	lwz r0, 0x215c(r31)
/* 803CB648 003C72A8  7C 03 02 15 */	add. r0, r3, r0
/* 803CB64C 003C72AC  90 04 2D 8C */	stw r0, 0x2d8c(r4)
/* 803CB650 003C72B0  40 80 00 10 */	bge lbl_803CB660
/* 803CB654 003C72B4  38 00 00 00 */	li r0, 0
/* 803CB658 003C72B8  90 04 2D 8C */	stw r0, 0x2d8c(r4)
/* 803CB65C 003C72BC  48 00 00 18 */	b lbl_803CB674
lbl_803CB660:
/* 803CB660 003C72C0  7C 7F 42 14 */	add r3, r31, r8
/* 803CB664 003C72C4  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803CB668 003C72C8  7C 00 18 40 */	cmplw r0, r3
/* 803CB66C 003C72CC  40 81 00 08 */	ble lbl_803CB674
/* 803CB670 003C72D0  90 64 2D 8C */	stw r3, 0x2d8c(r4)
lbl_803CB674:
/* 803CB674 003C72D4  7F C3 F3 78 */	mr r3, r30
/* 803CB678 003C72D8  7F E4 FB 78 */	mr r4, r31
/* 803CB67C 003C72DC  4B FF 1C F9 */	bl func_803BD374
/* 803CB680 003C72E0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CB684 003C72E4  38 60 00 00 */	li r3, 0
/* 803CB688 003C72E8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CB68C 003C72EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CB690 003C72F0  7C 08 03 A6 */	mtlr r0
/* 803CB694 003C72F4  38 21 00 10 */	addi r1, r1, 0x10
/* 803CB698 003C72F8  4E 80 00 20 */	blr 
/* 803CB69C 003C72FC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CB6A0 003C7300  7C 08 02 A6 */	mflr r0
/* 803CB6A4 003C7304  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CB6A8 003C7308  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB6AC 003C730C  4B DF BA 85 */	bl _savegpr_29
/* 803CB6B0 003C7310  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB6B4 003C7314  7C 9F 23 78 */	mr r31, r4
/* 803CB6B8 003C7318  7C 7D 1B 78 */	mr r29, r3
/* 803CB6BC 003C731C  38 05 00 01 */	addi r0, r5, 1
/* 803CB6C0 003C7320  7F E3 FB 78 */	mr r3, r31
/* 803CB6C4 003C7324  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB6C8 003C7328  48 00 B7 A5 */	bl func_803D6E6C
/* 803CB6CC 003C732C  7C 65 1B 78 */	mr r5, r3
/* 803CB6D0 003C7330  7F A3 EB 78 */	mr r3, r29
/* 803CB6D4 003C7334  7F E4 FB 78 */	mr r4, r31
/* 803CB6D8 003C7338  48 00 C9 65 */	bl func_803D803C
/* 803CB6DC 003C733C  7C 7E 1B 78 */	mr r30, r3
/* 803CB6E0 003C7340  7F A3 EB 78 */	mr r3, r29
/* 803CB6E4 003C7344  7F E4 FB 78 */	mr r4, r31
/* 803CB6E8 003C7348  7F C5 F3 78 */	mr r5, r30
/* 803CB6EC 003C734C  4B FE 59 A5 */	bl func_803B1090
/* 803CB6F0 003C7350  80 1F 21 5C */	lwz r0, 0x215c(r31)
/* 803CB6F4 003C7354  2C 00 7F FF */	cmpwi r0, 0x7fff
/* 803CB6F8 003C7358  41 82 01 30 */	beq lbl_803CB828
/* 803CB6FC 003C735C  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803CB700 003C7360  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CB704 003C7364  93 C3 CD E8 */	stw r30, lbl_8048CDE8@l(r3)
/* 803CB708 003C7368  38 63 CD E8 */	addi r3, r3, -12824
/* 803CB70C 003C736C  7C 9F 02 14 */	add r4, r31, r0
/* 803CB710 003C7370  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803CB714 003C7374  90 03 00 04 */	stw r0, 4(r3)
/* 803CB718 003C7378  80 04 2D 90 */	lwz r0, 0x2d90(r4)
/* 803CB71C 003C737C  90 03 00 08 */	stw r0, 8(r3)
/* 803CB720 003C7380  80 BF 21 5C */	lwz r5, 0x215c(r31)
/* 803CB724 003C7384  2C 05 00 00 */	cmpwi r5, 0
/* 803CB728 003C7388  40 82 00 C8 */	bne lbl_803CB7F0
/* 803CB72C 003C738C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CB730 003C7390  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CB734 003C7394  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 803CB738 003C7398  28 00 00 01 */	cmplwi r0, 1
/* 803CB73C 003C739C  41 82 00 98 */	beq lbl_803CB7D4
/* 803CB740 003C73A0  80 1F 00 AC */	lwz r0, 0xac(r31)
/* 803CB744 003C73A4  2C 00 00 02 */	cmpwi r0, 2
/* 803CB748 003C73A8  41 82 00 0C */	beq lbl_803CB754
/* 803CB74C 003C73AC  38 00 00 00 */	li r0, 0
/* 803CB750 003C73B0  48 00 00 7C */	b lbl_803CB7CC
lbl_803CB754:
/* 803CB754 003C73B4  80 1F 00 B0 */	lwz r0, 0xb0(r31)
/* 803CB758 003C73B8  2C 00 00 02 */	cmpwi r0, 2
/* 803CB75C 003C73BC  41 82 00 0C */	beq lbl_803CB768
/* 803CB760 003C73C0  38 00 00 00 */	li r0, 0
/* 803CB764 003C73C4  48 00 00 68 */	b lbl_803CB7CC
lbl_803CB768:
/* 803CB768 003C73C8  80 7F 00 B8 */	lwz r3, 0xb8(r31)
/* 803CB76C 003C73CC  2C 03 00 00 */	cmpwi r3, 0
/* 803CB770 003C73D0  40 82 00 0C */	bne lbl_803CB77C
/* 803CB774 003C73D4  38 00 00 00 */	li r0, 0
/* 803CB778 003C73D8  48 00 00 54 */	b lbl_803CB7CC
lbl_803CB77C:
/* 803CB77C 003C73DC  38 03 FF FF */	addi r0, r3, -1
/* 803CB780 003C73E0  54 00 10 3A */	slwi r0, r0, 2
/* 803CB784 003C73E4  7C 7F 02 14 */	add r3, r31, r0
/* 803CB788 003C73E8  80 03 00 BC */	lwz r0, 0xbc(r3)
/* 803CB78C 003C73EC  80 63 00 CC */	lwz r3, 0xcc(r3)
/* 803CB790 003C73F0  2C 00 00 02 */	cmpwi r0, 2
/* 803CB794 003C73F4  41 82 00 0C */	beq lbl_803CB7A0
/* 803CB798 003C73F8  38 00 00 00 */	li r0, 0
/* 803CB79C 003C73FC  48 00 00 30 */	b lbl_803CB7CC
lbl_803CB7A0:
/* 803CB7A0 003C7400  2C 03 00 2B */	cmpwi r3, 0x2b
/* 803CB7A4 003C7404  41 82 00 1C */	beq lbl_803CB7C0
/* 803CB7A8 003C7408  2C 03 00 3F */	cmpwi r3, 0x3f
/* 803CB7AC 003C740C  41 82 00 14 */	beq lbl_803CB7C0
/* 803CB7B0 003C7410  2C 03 00 93 */	cmpwi r3, 0x93
/* 803CB7B4 003C7414  41 82 00 0C */	beq lbl_803CB7C0
/* 803CB7B8 003C7418  2C 03 00 F6 */	cmpwi r3, 0xf6
/* 803CB7BC 003C741C  40 82 00 0C */	bne lbl_803CB7C8
lbl_803CB7C0:
/* 803CB7C0 003C7420  38 00 00 01 */	li r0, 1
/* 803CB7C4 003C7424  48 00 00 08 */	b lbl_803CB7CC
lbl_803CB7C8:
/* 803CB7C8 003C7428  38 00 00 00 */	li r0, 0
lbl_803CB7CC:
/* 803CB7CC 003C742C  2C 00 00 00 */	cmpwi r0, 0
/* 803CB7D0 003C7430  41 82 00 20 */	beq lbl_803CB7F0
lbl_803CB7D4:
/* 803CB7D4 003C7434  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CB7D8 003C7438  7C 05 00 D0 */	neg r0, r5
/* 803CB7DC 003C743C  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CB7E0 003C7440  38 60 00 11 */	li r3, 0x11
/* 803CB7E4 003C7444  90 04 00 0C */	stw r0, 0xc(r4)
/* 803CB7E8 003C7448  4B DA 42 65 */	bl func_8016FA4C
/* 803CB7EC 003C744C  48 00 00 3C */	b lbl_803CB828
lbl_803CB7F0:
/* 803CB7F0 003C7450  2C 05 00 00 */	cmpwi r5, 0
/* 803CB7F4 003C7454  41 80 00 1C */	blt lbl_803CB810
/* 803CB7F8 003C7458  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CB7FC 003C745C  38 60 00 12 */	li r3, 0x12
/* 803CB800 003C7460  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CB804 003C7464  90 A4 00 0C */	stw r5, 0xc(r4)
/* 803CB808 003C7468  4B DA 42 45 */	bl func_8016FA4C
/* 803CB80C 003C746C  48 00 00 1C */	b lbl_803CB828
lbl_803CB810:
/* 803CB810 003C7470  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CB814 003C7474  7C 05 00 D0 */	neg r0, r5
/* 803CB818 003C7478  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CB81C 003C747C  38 60 00 11 */	li r3, 0x11
/* 803CB820 003C7480  90 04 00 0C */	stw r0, 0xc(r4)
/* 803CB824 003C7484  4B DA 42 29 */	bl func_8016FA4C
lbl_803CB828:
/* 803CB828 003C7488  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803CB82C 003C748C  38 00 00 00 */	li r0, 0
/* 803CB830 003C7490  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803CB834 003C7494  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB838 003C7498  90 04 00 1C */	stw r0, 0x1c(r4)
/* 803CB83C 003C749C  38 60 00 00 */	li r3, 0
/* 803CB840 003C74A0  4B DF B9 3D */	bl _restgpr_29
/* 803CB844 003C74A4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CB848 003C74A8  7C 08 03 A6 */	mtlr r0
/* 803CB84C 003C74AC  38 21 00 20 */	addi r1, r1, 0x20
/* 803CB850 003C74B0  4E 80 00 20 */	blr 
/* 803CB854 003C74B4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CB858 003C74B8  7C 08 02 A6 */	mflr r0
/* 803CB85C 003C74BC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CB860 003C74C0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB864 003C74C4  4B DF B8 C5 */	bl _savegpr_27
/* 803CB868 003C74C8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CB86C 003C74CC  7C 9D 23 78 */	mr r29, r4
/* 803CB870 003C74D0  7C 7C 1B 78 */	mr r28, r3
/* 803CB874 003C74D4  38 05 00 01 */	addi r0, r5, 1
/* 803CB878 003C74D8  7F A3 EB 78 */	mr r3, r29
/* 803CB87C 003C74DC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CB880 003C74E0  48 00 B5 ED */	bl func_803D6E6C
/* 803CB884 003C74E4  7C 65 1B 78 */	mr r5, r3
/* 803CB888 003C74E8  7F 83 E3 78 */	mr r3, r28
/* 803CB88C 003C74EC  7F A4 EB 78 */	mr r4, r29
/* 803CB890 003C74F0  48 00 C7 AD */	bl func_803D803C
/* 803CB894 003C74F4  1F E3 00 C0 */	mulli r31, r3, 0xc0
/* 803CB898 003C74F8  7C 7E 1B 78 */	mr r30, r3
/* 803CB89C 003C74FC  7C 9D FA 14 */	add r4, r29, r31
/* 803CB8A0 003C7500  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803CB8A4 003C7504  2C 00 00 00 */	cmpwi r0, 0
/* 803CB8A8 003C7508  40 82 01 40 */	bne lbl_803CB9E8
/* 803CB8AC 003C750C  90 7D 00 74 */	stw r3, 0x74(r29)
/* 803CB8B0 003C7510  48 01 20 71 */	bl func_803DD920
/* 803CB8B4 003C7514  80 9D 21 3C */	lwz r4, 0x213c(r29)
/* 803CB8B8 003C7518  54 65 C0 0E */	slwi r5, r3, 0x18
/* 803CB8BC 003C751C  57 C0 10 3A */	slwi r0, r30, 2
/* 803CB8C0 003C7520  7F 83 E3 78 */	mr r3, r28
/* 803CB8C4 003C7524  7C 85 2B 78 */	or r5, r4, r5
/* 803CB8C8 003C7528  7F C4 F3 78 */	mr r4, r30
/* 803CB8CC 003C752C  90 BD 21 3C */	stw r5, 0x213c(r29)
/* 803CB8D0 003C7530  7C DD 02 14 */	add r6, r29, r0
/* 803CB8D4 003C7534  80 A6 01 54 */	lwz r5, 0x154(r6)
/* 803CB8D8 003C7538  38 05 00 01 */	addi r0, r5, 1
/* 803CB8DC 003C753C  90 06 01 54 */	stw r0, 0x154(r6)
/* 803CB8E0 003C7540  4B FE 14 05 */	bl func_803ACCE4
/* 803CB8E4 003C7544  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803CB8E8 003C7548  40 82 01 00 */	bne lbl_803CB9E8
/* 803CB8EC 003C754C  7F 83 E3 78 */	mr r3, r28
/* 803CB8F0 003C7550  4B FE 0F 51 */	bl func_803AC840
/* 803CB8F4 003C7554  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CB8F8 003C7558  41 82 00 4C */	beq lbl_803CB944
/* 803CB8FC 003C755C  7F 83 E3 78 */	mr r3, r28
/* 803CB900 003C7560  38 80 00 03 */	li r4, 3
/* 803CB904 003C7564  4B FE 13 61 */	bl func_803ACC64
/* 803CB908 003C7568  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803CB90C 003C756C  7F 83 E3 78 */	mr r3, r28
/* 803CB910 003C7570  38 80 00 05 */	li r4, 5
/* 803CB914 003C7574  4B FE 13 51 */	bl func_803ACC64
/* 803CB918 003C7578  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803CB91C 003C757C  1C 65 00 C0 */	mulli r3, r5, 0xc0
/* 803CB920 003C7580  7C 7D 1A 14 */	add r3, r29, r3
/* 803CB924 003C7584  1C 1B 00 C0 */	mulli r0, r27, 0xc0
/* 803CB928 003C7588  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CB92C 003C758C  7C 7D 02 14 */	add r3, r29, r0
/* 803CB930 003C7590  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CB934 003C7594  7C 04 00 40 */	cmplw r4, r0
/* 803CB938 003C7598  40 81 00 1C */	ble lbl_803CB954
/* 803CB93C 003C759C  7C BB 2B 78 */	mr r27, r5
/* 803CB940 003C75A0  48 00 00 14 */	b lbl_803CB954
lbl_803CB944:
/* 803CB944 003C75A4  7F 83 E3 78 */	mr r3, r28
/* 803CB948 003C75A8  38 80 00 01 */	li r4, 1
/* 803CB94C 003C75AC  4B FE 13 19 */	bl func_803ACC64
/* 803CB950 003C75B0  54 7B 06 3E */	clrlwi r27, r3, 0x18
lbl_803CB954:
/* 803CB954 003C75B4  7C 9D F2 14 */	add r4, r29, r30
/* 803CB958 003C75B8  7F 83 E3 78 */	mr r3, r28
/* 803CB95C 003C75BC  88 A4 21 9C */	lbz r5, 0x219c(r4)
/* 803CB960 003C75C0  7F C4 F3 78 */	mr r4, r30
/* 803CB964 003C75C4  4B FE 10 41 */	bl func_803AC9A4
/* 803CB968 003C75C8  57 60 06 3E */	clrlwi r0, r27, 0x18
/* 803CB96C 003C75CC  7C 9D FA 14 */	add r4, r29, r31
/* 803CB970 003C75D0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CB974 003C75D4  7C 7B 1B 78 */	mr r27, r3
/* 803CB978 003C75D8  88 84 2D 74 */	lbz r4, 0x2d74(r4)
/* 803CB97C 003C75DC  7C 7D 02 14 */	add r3, r29, r0
/* 803CB980 003C75E0  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CB984 003C75E4  7C 00 20 40 */	cmplw r0, r4
/* 803CB988 003C75E8  40 81 00 48 */	ble lbl_803CB9D0
/* 803CB98C 003C75EC  7C 04 00 50 */	subf r0, r4, r0
/* 803CB990 003C75F0  2C 00 00 1E */	cmpwi r0, 0x1e
/* 803CB994 003C75F4  41 80 00 20 */	blt lbl_803CB9B4
/* 803CB998 003C75F8  7F 83 E3 78 */	mr r3, r28
/* 803CB99C 003C75FC  4B FE 13 95 */	bl func_803ACD30
/* 803CB9A0 003C7600  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CB9A4 003C7604  7F 63 DB 78 */	mr r3, r27
/* 803CB9A8 003C7608  38 80 00 08 */	li r4, 8
/* 803CB9AC 003C760C  48 01 04 31 */	bl func_803DBDDC
/* 803CB9B0 003C7610  48 00 00 38 */	b lbl_803CB9E8
lbl_803CB9B4:
/* 803CB9B4 003C7614  7F 83 E3 78 */	mr r3, r28
/* 803CB9B8 003C7618  4B FE 13 79 */	bl func_803ACD30
/* 803CB9BC 003C761C  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CB9C0 003C7620  7F 63 DB 78 */	mr r3, r27
/* 803CB9C4 003C7624  38 80 00 06 */	li r4, 6
/* 803CB9C8 003C7628  48 01 04 15 */	bl func_803DBDDC
/* 803CB9CC 003C762C  48 00 00 1C */	b lbl_803CB9E8
lbl_803CB9D0:
/* 803CB9D0 003C7630  7F 83 E3 78 */	mr r3, r28
/* 803CB9D4 003C7634  4B FE 13 5D */	bl func_803ACD30
/* 803CB9D8 003C7638  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CB9DC 003C763C  7F 63 DB 78 */	mr r3, r27
/* 803CB9E0 003C7640  38 80 00 06 */	li r4, 6
/* 803CB9E4 003C7644  48 01 03 F9 */	bl func_803DBDDC
lbl_803CB9E8:
/* 803CB9E8 003C7648  39 61 00 20 */	addi r11, r1, 0x20
/* 803CB9EC 003C764C  38 60 00 00 */	li r3, 0
/* 803CB9F0 003C7650  4B DF B7 85 */	bl _restgpr_27
/* 803CB9F4 003C7654  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CB9F8 003C7658  7C 08 03 A6 */	mtlr r0
/* 803CB9FC 003C765C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CBA00 003C7660  4E 80 00 20 */	blr 
/* 803CBA04 003C7664  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CBA08 003C7668  7C 08 02 A6 */	mflr r0
/* 803CBA0C 003C766C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CBA10 003C7670  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CBA14 003C7674  7C 9F 23 78 */	mr r31, r4
/* 803CBA18 003C7678  93 C1 00 08 */	stw r30, 8(r1)
/* 803CBA1C 003C767C  7C 7E 1B 78 */	mr r30, r3
/* 803CBA20 003C7680  80 C4 00 B4 */	lwz r6, 0xb4(r4)
/* 803CBA24 003C7684  80 A4 00 74 */	lwz r5, 0x74(r4)
/* 803CBA28 003C7688  38 06 00 01 */	addi r0, r6, 1
/* 803CBA2C 003C768C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBA30 003C7690  4B FE 58 75 */	bl func_803B12A4
/* 803CBA34 003C7694  80 7F 00 74 */	lwz r3, 0x74(r31)
/* 803CBA38 003C7698  48 01 1E E9 */	bl func_803DD920
/* 803CBA3C 003C769C  54 64 C0 0E */	slwi r4, r3, 0x18
/* 803CBA40 003C76A0  38 60 FF FF */	li r3, -1
/* 803CBA44 003C76A4  7C 84 1A 78 */	xor r4, r4, r3
/* 803CBA48 003C76A8  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803CBA4C 003C76AC  80 7F 00 74 */	lwz r3, 0x74(r31)
/* 803CBA50 003C76B0  7C 00 20 38 */	and r0, r0, r4
/* 803CBA54 003C76B4  90 1F 21 3C */	stw r0, 0x213c(r31)
/* 803CBA58 003C76B8  48 01 1E C9 */	bl func_803DD920
/* 803CBA5C 003C76BC  80 9F 21 40 */	lwz r4, 0x2140(r31)
/* 803CBA60 003C76C0  54 63 E0 06 */	slwi r3, r3, 0x1c
/* 803CBA64 003C76C4  80 1F 00 74 */	lwz r0, 0x74(r31)
/* 803CBA68 003C76C8  38 C0 00 27 */	li r6, 0x27
/* 803CBA6C 003C76CC  7C 84 1B 78 */	or r4, r4, r3
/* 803CBA70 003C76D0  7F C3 F3 78 */	mr r3, r30
/* 803CBA74 003C76D4  54 00 20 36 */	slwi r0, r0, 4
/* 803CBA78 003C76D8  90 9F 21 40 */	stw r4, 0x2140(r31)
/* 803CBA7C 003C76DC  7C BF 02 14 */	add r5, r31, r0
/* 803CBA80 003C76E0  7F E4 FB 78 */	mr r4, r31
/* 803CBA84 003C76E4  90 C5 21 A8 */	stw r6, 0x21a8(r5)
/* 803CBA88 003C76E8  80 BF 00 74 */	lwz r5, 0x74(r31)
/* 803CBA8C 003C76EC  4B FF 22 B9 */	bl func_803BDD44
/* 803CBA90 003C76F0  38 60 00 02 */	li r3, 2
/* 803CBA94 003C76F4  4B DA 28 51 */	bl func_8016E2E4
/* 803CBA98 003C76F8  80 1F 00 74 */	lwz r0, 0x74(r31)
/* 803CBA9C 003C76FC  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803CBAA0 003C7700  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803CBAA4 003C7704  38 60 00 0F */	li r3, 0xf
/* 803CBAA8 003C7708  90 05 CD E8 */	stw r0, -0x3218(r5)
/* 803CBAAC 003C770C  4B DA 3F A1 */	bl func_8016FA4C
/* 803CBAB0 003C7710  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CBAB4 003C7714  38 60 00 00 */	li r3, 0
/* 803CBAB8 003C7718  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CBABC 003C771C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CBAC0 003C7720  7C 08 03 A6 */	mtlr r0
/* 803CBAC4 003C7724  38 21 00 10 */	addi r1, r1, 0x10
/* 803CBAC8 003C7728  4E 80 00 20 */	blr 
/* 803CBACC 003C772C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CBAD0 003C7730  7C 08 02 A6 */	mflr r0
/* 803CBAD4 003C7734  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CBAD8 003C7738  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CBADC 003C773C  7C 9F 23 78 */	mr r31, r4
/* 803CBAE0 003C7740  7F E3 FB 78 */	mr r3, r31
/* 803CBAE4 003C7744  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBAE8 003C7748  38 05 00 01 */	addi r0, r5, 1
/* 803CBAEC 003C774C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBAF0 003C7750  48 00 B3 7D */	bl func_803D6E6C
/* 803CBAF4 003C7754  38 00 00 00 */	li r0, 0
/* 803CBAF8 003C7758  38 60 00 00 */	li r3, 0
/* 803CBAFC 003C775C  90 1F 00 F0 */	stw r0, 0xf0(r31)
/* 803CBB00 003C7760  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CBB04 003C7764  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CBB08 003C7768  7C 08 03 A6 */	mtlr r0
/* 803CBB0C 003C776C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CBB10 003C7770  4E 80 00 20 */	blr 
/* 803CBB14 003C7774  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CBB18 003C7778  7C 08 02 A6 */	mflr r0
/* 803CBB1C 003C777C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CBB20 003C7780  39 61 00 20 */	addi r11, r1, 0x20
/* 803CBB24 003C7784  4B DF B6 09 */	bl _savegpr_28
/* 803CBB28 003C7788  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBB2C 003C778C  7C 9D 23 78 */	mr r29, r4
/* 803CBB30 003C7790  7C 7C 1B 78 */	mr r28, r3
/* 803CBB34 003C7794  38 05 00 01 */	addi r0, r5, 1
/* 803CBB38 003C7798  7F A3 EB 78 */	mr r3, r29
/* 803CBB3C 003C779C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBB40 003C77A0  48 00 B3 2D */	bl func_803D6E6C
/* 803CBB44 003C77A4  7C 7F 1B 78 */	mr r31, r3
/* 803CBB48 003C77A8  7F A3 EB 78 */	mr r3, r29
/* 803CBB4C 003C77AC  48 00 B3 21 */	bl func_803D6E6C
/* 803CBB50 003C77B0  7C 7E 1B 78 */	mr r30, r3
/* 803CBB54 003C77B4  7F 83 E3 78 */	mr r3, r28
/* 803CBB58 003C77B8  7F A4 EB 78 */	mr r4, r29
/* 803CBB5C 003C77BC  7F E5 FB 78 */	mr r5, r31
/* 803CBB60 003C77C0  48 00 C4 DD */	bl func_803D803C
/* 803CBB64 003C77C4  7C 66 1B 78 */	mr r6, r3
/* 803CBB68 003C77C8  7F 83 E3 78 */	mr r3, r28
/* 803CBB6C 003C77CC  7F A4 EB 78 */	mr r4, r29
/* 803CBB70 003C77D0  7F C5 F3 78 */	mr r5, r30
/* 803CBB74 003C77D4  4B FE 58 6D */	bl func_803B13E0
/* 803CBB78 003C77D8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CBB7C 003C77DC  38 60 00 00 */	li r3, 0
/* 803CBB80 003C77E0  4B DF B5 F9 */	bl _restgpr_28
/* 803CBB84 003C77E4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CBB88 003C77E8  7C 08 03 A6 */	mtlr r0
/* 803CBB8C 003C77EC  38 21 00 20 */	addi r1, r1, 0x20
/* 803CBB90 003C77F0  4E 80 00 20 */	blr 
/* 803CBB94 003C77F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CBB98 003C77F8  7C 08 02 A6 */	mflr r0
/* 803CBB9C 003C77FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CBBA0 003C7800  39 61 00 20 */	addi r11, r1, 0x20
/* 803CBBA4 003C7804  4B DF B5 81 */	bl _savegpr_26
/* 803CBBA8 003C7808  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBBAC 003C780C  7C 9E 23 78 */	mr r30, r4
/* 803CBBB0 003C7810  7C 7A 1B 78 */	mr r26, r3
/* 803CBBB4 003C7814  38 05 00 01 */	addi r0, r5, 1
/* 803CBBB8 003C7818  7F C3 F3 78 */	mr r3, r30
/* 803CBBBC 003C781C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBBC0 003C7820  48 00 B2 AD */	bl func_803D6E6C
/* 803CBBC4 003C7824  7C 7C 1B 78 */	mr r28, r3
/* 803CBBC8 003C7828  7F C3 F3 78 */	mr r3, r30
/* 803CBBCC 003C782C  48 00 B2 A1 */	bl func_803D6E6C
/* 803CBBD0 003C7830  7C 7B 1B 78 */	mr r27, r3
/* 803CBBD4 003C7834  7F C3 F3 78 */	mr r3, r30
/* 803CBBD8 003C7838  48 00 B2 95 */	bl func_803D6E6C
/* 803CBBDC 003C783C  7C 7D 1B 78 */	mr r29, r3
/* 803CBBE0 003C7840  7F C3 F3 78 */	mr r3, r30
/* 803CBBE4 003C7844  48 00 B2 89 */	bl func_803D6E6C
/* 803CBBE8 003C7848  7C 7F 1B 78 */	mr r31, r3
/* 803CBBEC 003C784C  7F 43 D3 78 */	mr r3, r26
/* 803CBBF0 003C7850  7F C4 F3 78 */	mr r4, r30
/* 803CBBF4 003C7854  7F 65 DB 78 */	mr r5, r27
/* 803CBBF8 003C7858  48 00 B2 95 */	bl func_803D6E8C
/* 803CBBFC 003C785C  28 1C 00 06 */	cmplwi r28, 6
/* 803CBC00 003C7860  41 81 00 AC */	bgt lbl_803CBCAC
/* 803CBC04 003C7864  3C 80 80 47 */	lis r4, lbl_80473F10@ha
/* 803CBC08 003C7868  57 80 10 3A */	slwi r0, r28, 2
/* 803CBC0C 003C786C  38 84 3F 10 */	addi r4, r4, lbl_80473F10@l
/* 803CBC10 003C7870  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CBC14 003C7874  7C 89 03 A6 */	mtctr r4
/* 803CBC18 003C7878  4E 80 04 20 */	bctr 
/* 803CBC1C 003C787C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC20 003C7880  7C 00 E8 00 */	cmpw r0, r29
/* 803CBC24 003C7884  41 82 00 9C */	beq lbl_803CBCC0
/* 803CBC28 003C7888  3B E0 00 00 */	li r31, 0
/* 803CBC2C 003C788C  48 00 00 94 */	b lbl_803CBCC0
/* 803CBC30 003C7890  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC34 003C7894  7C 00 E8 00 */	cmpw r0, r29
/* 803CBC38 003C7898  40 82 00 88 */	bne lbl_803CBCC0
/* 803CBC3C 003C789C  3B E0 00 00 */	li r31, 0
/* 803CBC40 003C78A0  48 00 00 80 */	b lbl_803CBCC0
/* 803CBC44 003C78A4  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC48 003C78A8  7C 00 E8 00 */	cmpw r0, r29
/* 803CBC4C 003C78AC  41 81 00 74 */	bgt lbl_803CBCC0
/* 803CBC50 003C78B0  3B E0 00 00 */	li r31, 0
/* 803CBC54 003C78B4  48 00 00 6C */	b lbl_803CBCC0
/* 803CBC58 003C78B8  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC5C 003C78BC  7C 00 E8 00 */	cmpw r0, r29
/* 803CBC60 003C78C0  40 81 00 60 */	ble lbl_803CBCC0
/* 803CBC64 003C78C4  3B E0 00 00 */	li r31, 0
/* 803CBC68 003C78C8  48 00 00 58 */	b lbl_803CBCC0
/* 803CBC6C 003C78CC  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC70 003C78D0  7C 00 E8 39 */	and. r0, r0, r29
/* 803CBC74 003C78D4  40 82 00 4C */	bne lbl_803CBCC0
/* 803CBC78 003C78D8  3B E0 00 00 */	li r31, 0
/* 803CBC7C 003C78DC  48 00 00 44 */	b lbl_803CBCC0
/* 803CBC80 003C78E0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC84 003C78E4  7C 00 E8 39 */	and. r0, r0, r29
/* 803CBC88 003C78E8  41 82 00 38 */	beq lbl_803CBCC0
/* 803CBC8C 003C78EC  3B E0 00 00 */	li r31, 0
/* 803CBC90 003C78F0  48 00 00 30 */	b lbl_803CBCC0
/* 803CBC94 003C78F4  80 03 00 00 */	lwz r0, 0(r3)
/* 803CBC98 003C78F8  7F A0 00 38 */	and r0, r29, r0
/* 803CBC9C 003C78FC  7C 1D 00 00 */	cmpw r29, r0
/* 803CBCA0 003C7900  41 82 00 20 */	beq lbl_803CBCC0
/* 803CBCA4 003C7904  3B E0 00 00 */	li r31, 0
/* 803CBCA8 003C7908  48 00 00 18 */	b lbl_803CBCC0
lbl_803CBCAC:
/* 803CBCAC 003C790C  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CBCB0 003C7910  38 60 00 01 */	li r3, 1
/* 803CBCB4 003C7914  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CBCB8 003C7918  4C C6 31 82 */	crclr 6
/* 803CBCBC 003C791C  48 00 DB E1 */	bl func_803D989C
lbl_803CBCC0:
/* 803CBCC0 003C7920  2C 1F 00 00 */	cmpwi r31, 0
/* 803CBCC4 003C7924  41 82 00 10 */	beq lbl_803CBCD4
/* 803CBCC8 003C7928  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CBCCC 003C792C  7C 00 FA 14 */	add r0, r0, r31
/* 803CBCD0 003C7930  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803CBCD4:
/* 803CBCD4 003C7934  39 61 00 20 */	addi r11, r1, 0x20
/* 803CBCD8 003C7938  38 60 00 00 */	li r3, 0
/* 803CBCDC 003C793C  4B DF B4 95 */	bl _restgpr_26
/* 803CBCE0 003C7940  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CBCE4 003C7944  7C 08 03 A6 */	mtlr r0
/* 803CBCE8 003C7948  38 21 00 20 */	addi r1, r1, 0x20
/* 803CBCEC 003C794C  4E 80 00 20 */	blr 
/* 803CBCF0 003C7950  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CBCF4 003C7954  7C 08 02 A6 */	mflr r0
/* 803CBCF8 003C7958  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CBCFC 003C795C  39 61 00 30 */	addi r11, r1, 0x30
/* 803CBD00 003C7960  4B DF B4 21 */	bl _savegpr_25
/* 803CBD04 003C7964  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBD08 003C7968  7C 9A 23 78 */	mr r26, r4
/* 803CBD0C 003C796C  7C 79 1B 78 */	mr r25, r3
/* 803CBD10 003C7970  38 05 00 01 */	addi r0, r5, 1
/* 803CBD14 003C7974  7F 43 D3 78 */	mr r3, r26
/* 803CBD18 003C7978  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBD1C 003C797C  48 00 B1 51 */	bl func_803D6E6C
/* 803CBD20 003C7980  7C 7E 1B 78 */	mr r30, r3
/* 803CBD24 003C7984  7F 43 D3 78 */	mr r3, r26
/* 803CBD28 003C7988  48 00 B1 45 */	bl func_803D6E6C
/* 803CBD2C 003C798C  7C 7D 1B 78 */	mr r29, r3
/* 803CBD30 003C7990  7F 43 D3 78 */	mr r3, r26
/* 803CBD34 003C7994  48 00 B1 39 */	bl func_803D6E6C
/* 803CBD38 003C7998  7C 7C 1B 78 */	mr r28, r3
/* 803CBD3C 003C799C  7F 43 D3 78 */	mr r3, r26
/* 803CBD40 003C79A0  48 00 B1 2D */	bl func_803D6E6C
/* 803CBD44 003C79A4  7C 7F 1B 78 */	mr r31, r3
/* 803CBD48 003C79A8  7F 43 D3 78 */	mr r3, r26
/* 803CBD4C 003C79AC  48 00 B1 21 */	bl func_803D6E6C
/* 803CBD50 003C79B0  7C 7B 1B 78 */	mr r27, r3
/* 803CBD54 003C79B4  7F 23 CB 78 */	mr r3, r25
/* 803CBD58 003C79B8  7F 44 D3 78 */	mr r4, r26
/* 803CBD5C 003C79BC  7F A5 EB 78 */	mr r5, r29
/* 803CBD60 003C79C0  48 00 C2 DD */	bl func_803D803C
/* 803CBD64 003C79C4  7C 64 1B 78 */	mr r4, r3
/* 803CBD68 003C79C8  7F 43 D3 78 */	mr r3, r26
/* 803CBD6C 003C79CC  7F 85 E3 78 */	mr r5, r28
/* 803CBD70 003C79D0  38 C0 00 00 */	li r6, 0
/* 803CBD74 003C79D4  4B FE EF 31 */	bl func_803BACA4
/* 803CBD78 003C79D8  28 1E 00 06 */	cmplwi r30, 6
/* 803CBD7C 003C79DC  41 81 00 90 */	bgt lbl_803CBE0C
/* 803CBD80 003C79E0  3C 80 80 47 */	lis r4, lbl_80473F2C@ha
/* 803CBD84 003C79E4  57 C0 10 3A */	slwi r0, r30, 2
/* 803CBD88 003C79E8  38 84 3F 2C */	addi r4, r4, lbl_80473F2C@l
/* 803CBD8C 003C79EC  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CBD90 003C79F0  7C 89 03 A6 */	mtctr r4
/* 803CBD94 003C79F4  4E 80 04 20 */	bctr 
/* 803CBD98 003C79F8  7C 03 F8 00 */	cmpw r3, r31
/* 803CBD9C 003C79FC  41 82 00 84 */	beq lbl_803CBE20
/* 803CBDA0 003C7A00  3B 60 00 00 */	li r27, 0
/* 803CBDA4 003C7A04  48 00 00 7C */	b lbl_803CBE20
/* 803CBDA8 003C7A08  7C 03 F8 00 */	cmpw r3, r31
/* 803CBDAC 003C7A0C  40 82 00 74 */	bne lbl_803CBE20
/* 803CBDB0 003C7A10  3B 60 00 00 */	li r27, 0
/* 803CBDB4 003C7A14  48 00 00 6C */	b lbl_803CBE20
/* 803CBDB8 003C7A18  7C 03 F8 00 */	cmpw r3, r31
/* 803CBDBC 003C7A1C  41 81 00 64 */	bgt lbl_803CBE20
/* 803CBDC0 003C7A20  3B 60 00 00 */	li r27, 0
/* 803CBDC4 003C7A24  48 00 00 5C */	b lbl_803CBE20
/* 803CBDC8 003C7A28  7C 03 F8 00 */	cmpw r3, r31
/* 803CBDCC 003C7A2C  40 81 00 54 */	ble lbl_803CBE20
/* 803CBDD0 003C7A30  3B 60 00 00 */	li r27, 0
/* 803CBDD4 003C7A34  48 00 00 4C */	b lbl_803CBE20
/* 803CBDD8 003C7A38  7C 60 F8 39 */	and. r0, r3, r31
/* 803CBDDC 003C7A3C  40 82 00 44 */	bne lbl_803CBE20
/* 803CBDE0 003C7A40  3B 60 00 00 */	li r27, 0
/* 803CBDE4 003C7A44  48 00 00 3C */	b lbl_803CBE20
/* 803CBDE8 003C7A48  7C 60 F8 39 */	and. r0, r3, r31
/* 803CBDEC 003C7A4C  41 82 00 34 */	beq lbl_803CBE20
/* 803CBDF0 003C7A50  3B 60 00 00 */	li r27, 0
/* 803CBDF4 003C7A54  48 00 00 2C */	b lbl_803CBE20
/* 803CBDF8 003C7A58  7F E0 18 38 */	and r0, r31, r3
/* 803CBDFC 003C7A5C  7C 1F 00 00 */	cmpw r31, r0
/* 803CBE00 003C7A60  41 82 00 20 */	beq lbl_803CBE20
/* 803CBE04 003C7A64  3B 60 00 00 */	li r27, 0
/* 803CBE08 003C7A68  48 00 00 18 */	b lbl_803CBE20
lbl_803CBE0C:
/* 803CBE0C 003C7A6C  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CBE10 003C7A70  38 60 00 01 */	li r3, 1
/* 803CBE14 003C7A74  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CBE18 003C7A78  4C C6 31 82 */	crclr 6
/* 803CBE1C 003C7A7C  48 00 DA 81 */	bl func_803D989C
lbl_803CBE20:
/* 803CBE20 003C7A80  2C 1B 00 00 */	cmpwi r27, 0
/* 803CBE24 003C7A84  41 82 00 10 */	beq lbl_803CBE34
/* 803CBE28 003C7A88  80 1A 00 B4 */	lwz r0, 0xb4(r26)
/* 803CBE2C 003C7A8C  7C 00 DA 14 */	add r0, r0, r27
/* 803CBE30 003C7A90  90 1A 00 B4 */	stw r0, 0xb4(r26)
lbl_803CBE34:
/* 803CBE34 003C7A94  39 61 00 30 */	addi r11, r1, 0x30
/* 803CBE38 003C7A98  38 60 00 00 */	li r3, 0
/* 803CBE3C 003C7A9C  4B DF B3 31 */	bl _restgpr_25
/* 803CBE40 003C7AA0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CBE44 003C7AA4  7C 08 03 A6 */	mtlr r0
/* 803CBE48 003C7AA8  38 21 00 30 */	addi r1, r1, 0x30
/* 803CBE4C 003C7AAC  4E 80 00 20 */	blr 
/* 803CBE50 003C7AB0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CBE54 003C7AB4  7C 08 02 A6 */	mflr r0
/* 803CBE58 003C7AB8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CBE5C 003C7ABC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBE60 003C7AC0  38 05 00 01 */	addi r0, r5, 1
/* 803CBE64 003C7AC4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBE68 003C7AC8  4B FE 55 B9 */	bl func_803B1420
/* 803CBE6C 003C7ACC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CBE70 003C7AD0  38 60 00 00 */	li r3, 0
/* 803CBE74 003C7AD4  7C 08 03 A6 */	mtlr r0
/* 803CBE78 003C7AD8  38 21 00 10 */	addi r1, r1, 0x10
/* 803CBE7C 003C7ADC  4E 80 00 20 */	blr 
/* 803CBE80 003C7AE0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CBE84 003C7AE4  7C 08 02 A6 */	mflr r0
/* 803CBE88 003C7AE8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CBE8C 003C7AEC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CBE90 003C7AF0  7C 9F 23 78 */	mr r31, r4
/* 803CBE94 003C7AF4  7F E3 FB 78 */	mr r3, r31
/* 803CBE98 003C7AF8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBE9C 003C7AFC  38 05 00 01 */	addi r0, r5, 1
/* 803CBEA0 003C7B00  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBEA4 003C7B04  48 00 AF C9 */	bl func_803D6E6C
/* 803CBEA8 003C7B08  7C 65 1B 78 */	mr r5, r3
/* 803CBEAC 003C7B0C  7F E3 FB 78 */	mr r3, r31
/* 803CBEB0 003C7B10  38 80 00 02 */	li r4, 2
/* 803CBEB4 003C7B14  4B FE EB 21 */	bl func_803BA9D4
/* 803CBEB8 003C7B18  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CBEBC 003C7B1C  38 60 00 00 */	li r3, 0
/* 803CBEC0 003C7B20  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CBEC4 003C7B24  7C 08 03 A6 */	mtlr r0
/* 803CBEC8 003C7B28  38 21 00 10 */	addi r1, r1, 0x10
/* 803CBECC 003C7B2C  4E 80 00 20 */	blr 
/* 803CBED0 003C7B30  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CBED4 003C7B34  7C 08 02 A6 */	mflr r0
/* 803CBED8 003C7B38  7C 83 23 78 */	mr r3, r4
/* 803CBEDC 003C7B3C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CBEE0 003C7B40  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBEE4 003C7B44  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803CBEE8 003C7B48  38 A5 00 01 */	addi r5, r5, 1
/* 803CBEEC 003C7B4C  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803CBEF0 003C7B50  54 00 20 36 */	slwi r0, r0, 4
/* 803CBEF4 003C7B54  7C A4 02 14 */	add r5, r4, r0
/* 803CBEF8 003C7B58  38 80 00 1F */	li r4, 0x1f
/* 803CBEFC 003C7B5C  A0 A5 03 DE */	lhz r5, 0x3de(r5)
/* 803CBF00 003C7B60  4B FE EA D5 */	bl func_803BA9D4
/* 803CBF04 003C7B64  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CBF08 003C7B68  38 60 00 00 */	li r3, 0
/* 803CBF0C 003C7B6C  7C 08 03 A6 */	mtlr r0
/* 803CBF10 003C7B70  38 21 00 10 */	addi r1, r1, 0x10
/* 803CBF14 003C7B74  4E 80 00 20 */	blr 
/* 803CBF18 003C7B78  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CBF1C 003C7B7C  7C 08 02 A6 */	mflr r0
/* 803CBF20 003C7B80  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CBF24 003C7B84  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CBF28 003C7B88  7C 9F 23 78 */	mr r31, r4
/* 803CBF2C 003C7B8C  93 C1 00 08 */	stw r30, 8(r1)
/* 803CBF30 003C7B90  7C 7E 1B 78 */	mr r30, r3
/* 803CBF34 003C7B94  7F E3 FB 78 */	mr r3, r31
/* 803CBF38 003C7B98  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CBF3C 003C7B9C  38 05 00 01 */	addi r0, r5, 1
/* 803CBF40 003C7BA0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CBF44 003C7BA4  48 00 AF 29 */	bl func_803D6E6C
/* 803CBF48 003C7BA8  80 9F 21 3C */	lwz r4, 0x213c(r31)
/* 803CBF4C 003C7BAC  2C 03 00 00 */	cmpwi r3, 0
/* 803CBF50 003C7BB0  80 1F 01 24 */	lwz r0, 0x124(r31)
/* 803CBF54 003C7BB4  54 83 00 3C */	rlwinm r3, r4, 0, 0, 0x1e
/* 803CBF58 003C7BB8  54 63 04 A0 */	rlwinm r3, r3, 0, 0x12, 0x10
/* 803CBF5C 003C7BBC  90 1F 30 44 */	stw r0, 0x3044(r31)
/* 803CBF60 003C7BC0  90 7F 21 3C */	stw r3, 0x213c(r31)
/* 803CBF64 003C7BC4  40 82 00 50 */	bne lbl_803CBFB4
/* 803CBF68 003C7BC8  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803CBF6C 003C7BCC  7F C3 F3 78 */	mr r3, r30
/* 803CBF70 003C7BD0  7F E4 FB 78 */	mr r4, r31
/* 803CBF74 003C7BD4  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 803CBF78 003C7BD8  38 E0 00 01 */	li r7, 1
/* 803CBF7C 003C7BDC  39 00 00 00 */	li r8, 0
/* 803CBF80 003C7BE0  4B FF 09 E5 */	bl func_803BC964
/* 803CBF84 003C7BE4  80 1F 01 24 */	lwz r0, 0x124(r31)
/* 803CBF88 003C7BE8  7F E4 FB 78 */	mr r4, r31
/* 803CBF8C 003C7BEC  90 7F 00 6C */	stw r3, 0x6c(r31)
/* 803CBF90 003C7BF0  7F C3 F3 78 */	mr r3, r30
/* 803CBF94 003C7BF4  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803CBF98 003C7BF8  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 803CBF9C 003C7BFC  4B FF 0E 7D */	bl func_803BCE18
/* 803CBFA0 003C7C00  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CBFA4 003C7C04  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803CBFA8 003C7C08  54 00 20 36 */	slwi r0, r0, 4
/* 803CBFAC 003C7C0C  7C 7F 02 14 */	add r3, r31, r0
/* 803CBFB0 003C7C10  90 83 21 AC */	stw r4, 0x21ac(r3)
lbl_803CBFB4:
/* 803CBFB4 003C7C14  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CBFB8 003C7C18  2C 00 00 FF */	cmpwi r0, 0xff
/* 803CBFBC 003C7C1C  40 82 00 20 */	bne lbl_803CBFDC
/* 803CBFC0 003C7C20  38 00 00 26 */	li r0, 0x26
/* 803CBFC4 003C7C24  7F E3 FB 78 */	mr r3, r31
/* 803CBFC8 003C7C28  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803CBFCC 003C7C2C  38 80 00 02 */	li r4, 2
/* 803CBFD0 003C7C30  38 A0 01 19 */	li r5, 0x119
/* 803CBFD4 003C7C34  4B FE EA 01 */	bl func_803BA9D4
/* 803CBFD8 003C7C38  48 00 00 14 */	b lbl_803CBFEC
lbl_803CBFDC:
/* 803CBFDC 003C7C3C  80 BF 30 44 */	lwz r5, 0x3044(r31)
/* 803CBFE0 003C7C40  7F E3 FB 78 */	mr r3, r31
/* 803CBFE4 003C7C44  38 80 00 01 */	li r4, 1
/* 803CBFE8 003C7C48  4B FE E9 ED */	bl func_803BA9D4
lbl_803CBFEC:
/* 803CBFEC 003C7C4C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CBFF0 003C7C50  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803CBFF4 003C7C54  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803CBFF8 003C7C58  38 60 00 19 */	li r3, 0x19
/* 803CBFFC 003C7C5C  90 05 CD E8 */	stw r0, -0x3218(r5)
/* 803CC000 003C7C60  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803CC004 003C7C64  90 04 00 04 */	stw r0, 4(r4)
/* 803CC008 003C7C68  4B DA 3A 45 */	bl func_8016FA4C
/* 803CC00C 003C7C6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CC010 003C7C70  38 60 00 00 */	li r3, 0
/* 803CC014 003C7C74  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CC018 003C7C78  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CC01C 003C7C7C  7C 08 03 A6 */	mtlr r0
/* 803CC020 003C7C80  38 21 00 10 */	addi r1, r1, 0x10
/* 803CC024 003C7C84  4E 80 00 20 */	blr 
/* 803CC028 003C7C88  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CC02C 003C7C8C  7C 08 02 A6 */	mflr r0
/* 803CC030 003C7C90  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CC034 003C7C94  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CC038 003C7C98  7C 9F 23 78 */	mr r31, r4
/* 803CC03C 003C7C9C  93 C1 00 08 */	stw r30, 8(r1)
/* 803CC040 003C7CA0  7C 7E 1B 78 */	mr r30, r3
/* 803CC044 003C7CA4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC048 003C7CA8  38 05 00 01 */	addi r0, r5, 1
/* 803CC04C 003C7CAC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC050 003C7CB0  4B FE 07 F1 */	bl func_803AC840
/* 803CC054 003C7CB4  54 60 05 6B */	rlwinm. r0, r3, 0, 0x15, 0x15
/* 803CC058 003C7CB8  40 82 00 14 */	bne lbl_803CC06C
/* 803CC05C 003C7CBC  7F C3 F3 78 */	mr r3, r30
/* 803CC060 003C7CC0  4B FE 1B 3D */	bl func_803ADB9C
/* 803CC064 003C7CC4  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803CC068 003C7CC8  41 82 00 10 */	beq lbl_803CC078
lbl_803CC06C:
/* 803CC06C 003C7CCC  38 00 00 01 */	li r0, 1
/* 803CC070 003C7CD0  90 1F 21 50 */	stw r0, 0x2150(r31)
/* 803CC074 003C7CD4  48 00 00 48 */	b lbl_803CC0BC
lbl_803CC078:
/* 803CC078 003C7CD8  80 DF 00 6C */	lwz r6, 0x6c(r31)
/* 803CC07C 003C7CDC  2C 06 00 FF */	cmpwi r6, 0xff
/* 803CC080 003C7CE0  40 82 00 10 */	bne lbl_803CC090
/* 803CC084 003C7CE4  38 00 00 01 */	li r0, 1
/* 803CC088 003C7CE8  90 1F 21 50 */	stw r0, 0x2150(r31)
/* 803CC08C 003C7CEC  48 00 00 30 */	b lbl_803CC0BC
lbl_803CC090:
/* 803CC090 003C7CF0  7F C3 F3 78 */	mr r3, r30
/* 803CC094 003C7CF4  7F E4 FB 78 */	mr r4, r31
/* 803CC098 003C7CF8  38 A0 00 00 */	li r5, 0
/* 803CC09C 003C7CFC  4B FF CB AD */	bl func_803C8C48
/* 803CC0A0 003C7D00  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CC0A4 003C7D04  7C 67 1B 78 */	mr r7, r3
/* 803CC0A8 003C7D08  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803CC0AC 003C7D0C  7F E3 FB 78 */	mr r3, r31
/* 803CC0B0 003C7D10  80 DF 21 4C */	lwz r6, 0x214c(r31)
/* 803CC0B4 003C7D14  4B FF C3 F9 */	bl func_803C84AC
/* 803CC0B8 003C7D18  90 7F 21 50 */	stw r3, 0x2150(r31)
lbl_803CC0BC:
/* 803CC0BC 003C7D1C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CC0C0 003C7D20  38 60 00 00 */	li r3, 0
/* 803CC0C4 003C7D24  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CC0C8 003C7D28  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CC0CC 003C7D2C  7C 08 03 A6 */	mtlr r0
/* 803CC0D0 003C7D30  38 21 00 10 */	addi r1, r1, 0x10
/* 803CC0D4 003C7D34  4E 80 00 20 */	blr 
/* 803CC0D8 003C7D38  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CC0DC 003C7D3C  7C 08 02 A6 */	mflr r0
/* 803CC0E0 003C7D40  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CC0E4 003C7D44  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CC0E8 003C7D48  7C 9F 23 78 */	mr r31, r4
/* 803CC0EC 003C7D4C  93 C1 00 08 */	stw r30, 8(r1)
/* 803CC0F0 003C7D50  7C 7E 1B 78 */	mr r30, r3
/* 803CC0F4 003C7D54  4B FE 07 4D */	bl func_803AC840
/* 803CC0F8 003C7D58  80 9F 00 74 */	lwz r4, 0x74(r31)
/* 803CC0FC 003C7D5C  7F C3 F3 78 */	mr r3, r30
/* 803CC100 003C7D60  4B FE 07 51 */	bl cTeam_GetPlayer
/* 803CC104 003C7D64  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803CC108 003C7D68  7F E3 FB 78 */	mr r3, r31
/* 803CC10C 003C7D6C  38 04 00 01 */	addi r0, r4, 1
/* 803CC110 003C7D70  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CC114 003C7D74  48 00 AD 59 */	bl func_803D6E6C
/* 803CC118 003C7D78  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803CC11C 003C7D7C  7C 00 1A 14 */	add r0, r0, r3
/* 803CC120 003C7D80  38 60 00 00 */	li r3, 0
/* 803CC124 003C7D84  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CC128 003C7D88  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CC12C 003C7D8C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CC130 003C7D90  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CC134 003C7D94  7C 08 03 A6 */	mtlr r0
/* 803CC138 003C7D98  38 21 00 10 */	addi r1, r1, 0x10
/* 803CC13C 003C7D9C  4E 80 00 20 */	blr 
/* 803CC140 003C7DA0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CC144 003C7DA4  7C 08 02 A6 */	mflr r0
/* 803CC148 003C7DA8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CC14C 003C7DAC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CC150 003C7DB0  7C 9F 23 78 */	mr r31, r4
/* 803CC154 003C7DB4  93 C1 00 08 */	stw r30, 8(r1)
/* 803CC158 003C7DB8  7C 7E 1B 78 */	mr r30, r3
/* 803CC15C 003C7DBC  38 60 00 05 */	li r3, 5
/* 803CC160 003C7DC0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC164 003C7DC4  38 05 00 01 */	addi r0, r5, 1
/* 803CC168 003C7DC8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC16C 003C7DCC  38 80 00 50 */	li r4, 0x50
/* 803CC170 003C7DD0  4B DA 1E 01 */	bl func_8016DF70
/* 803CC174 003C7DD4  90 7F 01 78 */	stw r3, 0x178(r31)
/* 803CC178 003C7DD8  3C 80 80 3D */	lis r4, lbl_803D71CC@ha
/* 803CC17C 003C7DDC  38 00 00 00 */	li r0, 0
/* 803CC180 003C7DE0  38 A0 00 00 */	li r5, 0
/* 803CC184 003C7DE4  93 C3 00 00 */	stw r30, 0(r3)
/* 803CC188 003C7DE8  38 64 71 CC */	addi r3, r4, lbl_803D71CC@l
/* 803CC18C 003C7DEC  80 9F 01 78 */	lwz r4, 0x178(r31)
/* 803CC190 003C7DF0  93 E4 00 04 */	stw r31, 4(r4)
/* 803CC194 003C7DF4  80 9F 01 78 */	lwz r4, 0x178(r31)
/* 803CC198 003C7DF8  90 04 00 20 */	stw r0, 0x20(r4)
/* 803CC19C 003C7DFC  80 9F 01 78 */	lwz r4, 0x178(r31)
/* 803CC1A0 003C7E00  90 04 00 40 */	stw r0, 0x40(r4)
/* 803CC1A4 003C7E04  80 9F 01 78 */	lwz r4, 0x178(r31)
/* 803CC1A8 003C7E08  48 01 2D 59 */	bl func_803DEF00
/* 803CC1AC 003C7E0C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CC1B0 003C7E10  38 60 00 00 */	li r3, 0
/* 803CC1B4 003C7E14  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CC1B8 003C7E18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CC1BC 003C7E1C  7C 08 03 A6 */	mtlr r0
/* 803CC1C0 003C7E20  38 21 00 10 */	addi r1, r1, 0x10
/* 803CC1C4 003C7E24  4E 80 00 20 */	blr 
/* 803CC1C8 003C7E28  80 04 01 78 */	lwz r0, 0x178(r4)
/* 803CC1CC 003C7E2C  2C 00 00 00 */	cmpwi r0, 0
/* 803CC1D0 003C7E30  40 82 00 10 */	bne lbl_803CC1E0
/* 803CC1D4 003C7E34  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803CC1D8 003C7E38  38 03 00 01 */	addi r0, r3, 1
/* 803CC1DC 003C7E3C  90 04 00 B4 */	stw r0, 0xb4(r4)
lbl_803CC1E0:
/* 803CC1E0 003C7E40  38 60 00 00 */	li r3, 0
/* 803CC1E4 003C7E44  4E 80 00 20 */	blr 
/* 803CC1E8 003C7E48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CC1EC 003C7E4C  7C 08 02 A6 */	mflr r0
/* 803CC1F0 003C7E50  7C 83 23 78 */	mr r3, r4
/* 803CC1F4 003C7E54  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CC1F8 003C7E58  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC1FC 003C7E5C  38 05 00 01 */	addi r0, r5, 1
/* 803CC200 003C7E60  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC204 003C7E64  48 00 AC 69 */	bl func_803D6E6C
/* 803CC208 003C7E68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CC20C 003C7E6C  38 60 00 00 */	li r3, 0
/* 803CC210 003C7E70  7C 08 03 A6 */	mtlr r0
/* 803CC214 003C7E74  38 21 00 10 */	addi r1, r1, 0x10
/* 803CC218 003C7E78  4E 80 00 20 */	blr 
/* 803CC21C 003C7E7C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CC220 003C7E80  7C 08 02 A6 */	mflr r0
/* 803CC224 003C7E84  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CC228 003C7E88  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC22C 003C7E8C  4B DF AE F9 */	bl _savegpr_26
/* 803CC230 003C7E90  7C 7A 1B 78 */	mr r26, r3
/* 803CC234 003C7E94  7C 9F 23 78 */	mr r31, r4
/* 803CC238 003C7E98  4B FE 06 29 */	bl func_803AC860
/* 803CC23C 003C7E9C  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803CC240 003C7EA0  7C 7D 1B 78 */	mr r29, r3
/* 803CC244 003C7EA4  3B 60 00 00 */	li r27, 0
/* 803CC248 003C7EA8  3B 80 00 00 */	li r28, 0
/* 803CC24C 003C7EAC  38 04 00 01 */	addi r0, r4, 1
/* 803CC250 003C7EB0  3B C0 00 00 */	li r30, 0
/* 803CC254 003C7EB4  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CC258 003C7EB8  48 00 00 44 */	b lbl_803CC29C
lbl_803CC25C:
/* 803CC25C 003C7EBC  7C 7F F2 14 */	add r3, r31, r30
/* 803CC260 003C7EC0  80 03 01 3C */	lwz r0, 0x13c(r3)
/* 803CC264 003C7EC4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CC268 003C7EC8  41 82 00 2C */	beq lbl_803CC294
/* 803CC26C 003C7ECC  7F 83 E3 78 */	mr r3, r28
/* 803CC270 003C7ED0  48 01 16 B1 */	bl func_803DD920
/* 803CC274 003C7ED4  7F 7B 1B 78 */	or r27, r27, r3
/* 803CC278 003C7ED8  7F 43 D3 78 */	mr r3, r26
/* 803CC27C 003C7EDC  7F E4 FB 78 */	mr r4, r31
/* 803CC280 003C7EE0  7F 85 E3 78 */	mr r5, r28
/* 803CC284 003C7EE4  38 C0 00 01 */	li r6, 1
/* 803CC288 003C7EE8  38 E0 00 00 */	li r7, 0
/* 803CC28C 003C7EEC  39 00 00 06 */	li r8, 6
/* 803CC290 003C7EF0  4B FE 4A DD */	bl func_803B0D6C
lbl_803CC294:
/* 803CC294 003C7EF4  3B 9C 00 01 */	addi r28, r28, 1
/* 803CC298 003C7EF8  3B DE 00 04 */	addi r30, r30, 4
lbl_803CC29C:
/* 803CC29C 003C7EFC  7C 1C E8 00 */	cmpw r28, r29
/* 803CC2A0 003C7F00  41 80 FF BC */	blt lbl_803CC25C
/* 803CC2A4 003C7F04  3B C0 00 00 */	li r30, 0
/* 803CC2A8 003C7F08  48 00 00 80 */	b lbl_803CC328
lbl_803CC2AC:
/* 803CC2AC 003C7F0C  7F 43 D3 78 */	mr r3, r26
/* 803CC2B0 003C7F10  4B FE 05 91 */	bl func_803AC840
/* 803CC2B4 003C7F14  28 03 00 07 */	cmplwi r3, 7
/* 803CC2B8 003C7F18  40 82 00 50 */	bne lbl_803CC308
/* 803CC2BC 003C7F1C  7F 43 D3 78 */	mr r3, r26
/* 803CC2C0 003C7F20  7F C4 F3 78 */	mr r4, r30
/* 803CC2C4 003C7F24  4B FE 0A 75 */	bl func_803ACD38
/* 803CC2C8 003C7F28  7C 7C 1B 78 */	mr r28, r3
/* 803CC2CC 003C7F2C  7F C3 F3 78 */	mr r3, r30
/* 803CC2D0 003C7F30  48 01 16 51 */	bl func_803DD920
/* 803CC2D4 003C7F34  7F 60 18 39 */	and. r0, r27, r3
/* 803CC2D8 003C7F38  40 82 00 4C */	bne lbl_803CC324
/* 803CC2DC 003C7F3C  7F 83 E3 78 */	mr r3, r28
/* 803CC2E0 003C7F40  48 01 16 41 */	bl func_803DD920
/* 803CC2E4 003C7F44  7F 60 18 39 */	and. r0, r27, r3
/* 803CC2E8 003C7F48  40 82 00 3C */	bne lbl_803CC324
/* 803CC2EC 003C7F4C  7F C3 F3 78 */	mr r3, r30
/* 803CC2F0 003C7F50  48 01 16 31 */	bl func_803DD920
/* 803CC2F4 003C7F54  7F 7B 1B 78 */	or r27, r27, r3
/* 803CC2F8 003C7F58  7F 43 D3 78 */	mr r3, r26
/* 803CC2FC 003C7F5C  7F C4 F3 78 */	mr r4, r30
/* 803CC300 003C7F60  4B FE 5D B9 */	bl func_803B20B8
/* 803CC304 003C7F64  48 00 00 20 */	b lbl_803CC324
lbl_803CC308:
/* 803CC308 003C7F68  7F C3 F3 78 */	mr r3, r30
/* 803CC30C 003C7F6C  48 01 16 15 */	bl func_803DD920
/* 803CC310 003C7F70  7F 60 18 39 */	and. r0, r27, r3
/* 803CC314 003C7F74  40 82 00 10 */	bne lbl_803CC324
/* 803CC318 003C7F78  7F 43 D3 78 */	mr r3, r26
/* 803CC31C 003C7F7C  7F C4 F3 78 */	mr r4, r30
/* 803CC320 003C7F80  4B FE 5D 99 */	bl func_803B20B8
lbl_803CC324:
/* 803CC324 003C7F84  3B DE 00 01 */	addi r30, r30, 1
lbl_803CC328:
/* 803CC328 003C7F88  7C 1E E8 00 */	cmpw r30, r29
/* 803CC32C 003C7F8C  41 80 FF 80 */	blt lbl_803CC2AC
/* 803CC330 003C7F90  38 A0 00 00 */	li r5, 0
/* 803CC334 003C7F94  38 60 00 00 */	li r3, 0
/* 803CC338 003C7F98  7F A9 03 A6 */	mtctr r29
/* 803CC33C 003C7F9C  2C 1D 00 00 */	cmpwi r29, 0
/* 803CC340 003C7FA0  40 81 00 28 */	ble lbl_803CC368
lbl_803CC344:
/* 803CC344 003C7FA4  7C 9F 1A 14 */	add r4, r31, r3
/* 803CC348 003C7FA8  80 04 01 3C */	lwz r0, 0x13c(r4)
/* 803CC34C 003C7FAC  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CC350 003C7FB0  41 82 00 0C */	beq lbl_803CC35C
/* 803CC354 003C7FB4  90 BF 00 78 */	stw r5, 0x78(r31)
/* 803CC358 003C7FB8  48 00 00 10 */	b lbl_803CC368
lbl_803CC35C:
/* 803CC35C 003C7FBC  38 A5 00 01 */	addi r5, r5, 1
/* 803CC360 003C7FC0  38 63 00 04 */	addi r3, r3, 4
/* 803CC364 003C7FC4  42 00 FF E0 */	bdnz lbl_803CC344
lbl_803CC368:
/* 803CC368 003C7FC8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC36C 003C7FCC  38 60 00 00 */	li r3, 0
/* 803CC370 003C7FD0  4B DF AE 01 */	bl _restgpr_26
/* 803CC374 003C7FD4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CC378 003C7FD8  7C 08 03 A6 */	mtlr r0
/* 803CC37C 003C7FDC  38 21 00 20 */	addi r1, r1, 0x20
/* 803CC380 003C7FE0  4E 80 00 20 */	blr 
/* 803CC384 003C7FE4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CC388 003C7FE8  7C 08 02 A6 */	mflr r0
/* 803CC38C 003C7FEC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CC390 003C7FF0  39 61 00 30 */	addi r11, r1, 0x30
/* 803CC394 003C7FF4  4B DF AD 8D */	bl _savegpr_25
/* 803CC398 003C7FF8  7C 7B 1B 78 */	mr r27, r3
/* 803CC39C 003C7FFC  7C 9C 23 78 */	mr r28, r4
/* 803CC3A0 003C8000  4B FE 04 C1 */	bl func_803AC860
/* 803CC3A4 003C8004  7C 7F 1B 78 */	mr r31, r3
/* 803CC3A8 003C8008  3B A0 00 00 */	li r29, 0
/* 803CC3AC 003C800C  38 80 00 00 */	li r4, 0
/* 803CC3B0 003C8010  7C 69 03 A6 */	mtctr r3
/* 803CC3B4 003C8014  2C 03 00 00 */	cmpwi r3, 0
/* 803CC3B8 003C8018  40 81 00 20 */	ble lbl_803CC3D8
lbl_803CC3BC:
/* 803CC3BC 003C801C  7C 7C 22 14 */	add r3, r28, r4
/* 803CC3C0 003C8020  80 03 01 3C */	lwz r0, 0x13c(r3)
/* 803CC3C4 003C8024  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CC3C8 003C8028  41 82 00 08 */	beq lbl_803CC3D0
/* 803CC3CC 003C802C  3B BD 00 01 */	addi r29, r29, 1
lbl_803CC3D0:
/* 803CC3D0 003C8030  38 84 00 04 */	addi r4, r4, 4
/* 803CC3D4 003C8034  42 00 FF E8 */	bdnz lbl_803CC3BC
lbl_803CC3D8:
/* 803CC3D8 003C8038  3B C0 00 00 */	li r30, 0
/* 803CC3DC 003C803C  3B 40 00 00 */	li r26, 0
/* 803CC3E0 003C8040  3B 20 00 00 */	li r25, 0
/* 803CC3E4 003C8044  48 00 00 88 */	b lbl_803CC46C
lbl_803CC3E8:
/* 803CC3E8 003C8048  7C 7C CA 14 */	add r3, r28, r25
/* 803CC3EC 003C804C  80 03 01 3C */	lwz r0, 0x13c(r3)
/* 803CC3F0 003C8050  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CC3F4 003C8054  41 82 00 6C */	beq lbl_803CC460
/* 803CC3F8 003C8058  7F 83 E3 78 */	mr r3, r28
/* 803CC3FC 003C805C  7F C4 F3 78 */	mr r4, r30
/* 803CC400 003C8060  4B FF 96 35 */	bl func_803C5A34
/* 803CC404 003C8064  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803CC408 003C8068  41 82 00 58 */	beq lbl_803CC460
/* 803CC40C 003C806C  7C 7C D2 14 */	add r3, r28, r26
/* 803CC410 003C8070  7C 9C F2 14 */	add r4, r28, r30
/* 803CC414 003C8074  88 A3 23 00 */	lbz r5, 0x2300(r3)
/* 803CC418 003C8078  7F C3 F3 78 */	mr r3, r30
/* 803CC41C 003C807C  3B BD FF FF */	addi r29, r29, -1
/* 803CC420 003C8080  38 05 FF FF */	addi r0, r5, -1
/* 803CC424 003C8084  98 04 21 A0 */	stb r0, 0x21a0(r4)
/* 803CC428 003C8088  48 01 14 F9 */	bl func_803DD920
/* 803CC42C 003C808C  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803CC430 003C8090  54 63 C0 0E */	slwi r3, r3, 0x18
/* 803CC434 003C8094  7C 00 18 39 */	and. r0, r0, r3
/* 803CC438 003C8098  40 82 00 28 */	bne lbl_803CC460
/* 803CC43C 003C809C  7F C3 F3 78 */	mr r3, r30
/* 803CC440 003C80A0  48 01 14 E1 */	bl func_803DD920
/* 803CC444 003C80A4  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803CC448 003C80A8  54 65 C0 0E */	slwi r5, r3, 0x18
/* 803CC44C 003C80AC  7F 63 DB 78 */	mr r3, r27
/* 803CC450 003C80B0  7F C4 F3 78 */	mr r4, r30
/* 803CC454 003C80B4  7C 00 2B 78 */	or r0, r0, r5
/* 803CC458 003C80B8  90 1C 21 40 */	stw r0, 0x2140(r28)
/* 803CC45C 003C80BC  4B FE 5C 5D */	bl func_803B20B8
lbl_803CC460:
/* 803CC460 003C80C0  3B DE 00 01 */	addi r30, r30, 1
/* 803CC464 003C80C4  3B 5A 01 00 */	addi r26, r26, 0x100
/* 803CC468 003C80C8  3B 39 00 04 */	addi r25, r25, 4
lbl_803CC46C:
/* 803CC46C 003C80CC  7C 1E F8 00 */	cmpw r30, r31
/* 803CC470 003C80D0  41 80 FF 78 */	blt lbl_803CC3E8
/* 803CC474 003C80D4  2C 1D 00 00 */	cmpwi r29, 0
/* 803CC478 003C80D8  40 82 00 1C */	bne lbl_803CC494
/* 803CC47C 003C80DC  80 1C 21 40 */	lwz r0, 0x2140(r28)
/* 803CC480 003C80E0  80 7C 00 B4 */	lwz r3, 0xb4(r28)
/* 803CC484 003C80E4  54 04 02 06 */	rlwinm r4, r0, 0, 8, 3
/* 803CC488 003C80E8  38 03 00 01 */	addi r0, r3, 1
/* 803CC48C 003C80EC  90 9C 21 40 */	stw r4, 0x2140(r28)
/* 803CC490 003C80F0  90 1C 00 B4 */	stw r0, 0xb4(r28)
lbl_803CC494:
/* 803CC494 003C80F4  39 61 00 30 */	addi r11, r1, 0x30
/* 803CC498 003C80F8  38 60 00 00 */	li r3, 0
/* 803CC49C 003C80FC  4B DF AC D1 */	bl _restgpr_25
/* 803CC4A0 003C8100  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CC4A4 003C8104  7C 08 03 A6 */	mtlr r0
/* 803CC4A8 003C8108  38 21 00 30 */	addi r1, r1, 0x30
/* 803CC4AC 003C810C  4E 80 00 20 */	blr 
/* 803CC4B0 003C8110  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CC4B4 003C8114  7C 08 02 A6 */	mflr r0
/* 803CC4B8 003C8118  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CC4BC 003C811C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC4C0 003C8120  4B DF AC 6D */	bl _savegpr_28
/* 803CC4C4 003C8124  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC4C8 003C8128  7C 9D 23 78 */	mr r29, r4
/* 803CC4CC 003C812C  7C 7C 1B 78 */	mr r28, r3
/* 803CC4D0 003C8130  38 05 00 01 */	addi r0, r5, 1
/* 803CC4D4 003C8134  7F A3 EB 78 */	mr r3, r29
/* 803CC4D8 003C8138  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC4DC 003C813C  48 00 A9 91 */	bl func_803D6E6C
/* 803CC4E0 003C8140  2C 03 00 06 */	cmpwi r3, 6
/* 803CC4E4 003C8144  41 82 00 28 */	beq lbl_803CC50C
/* 803CC4E8 003C8148  40 80 00 10 */	bge lbl_803CC4F8
/* 803CC4EC 003C814C  2C 03 00 01 */	cmpwi r3, 1
/* 803CC4F0 003C8150  41 82 00 14 */	beq lbl_803CC504
/* 803CC4F4 003C8154  48 00 00 24 */	b lbl_803CC518
lbl_803CC4F8:
/* 803CC4F8 003C8158  2C 03 00 12 */	cmpwi r3, 0x12
/* 803CC4FC 003C815C  41 82 00 18 */	beq lbl_803CC514
/* 803CC500 003C8160  48 00 00 18 */	b lbl_803CC518
lbl_803CC504:
/* 803CC504 003C8164  83 DD 00 64 */	lwz r30, 0x64(r29)
/* 803CC508 003C8168  48 00 00 10 */	b lbl_803CC518
lbl_803CC50C:
/* 803CC50C 003C816C  83 DD 00 78 */	lwz r30, 0x78(r29)
/* 803CC510 003C8170  48 00 00 08 */	b lbl_803CC518
lbl_803CC514:
/* 803CC514 003C8174  83 DD 00 6C */	lwz r30, 0x6c(r29)
lbl_803CC518:
/* 803CC518 003C8178  57 C0 10 3A */	slwi r0, r30, 2
/* 803CC51C 003C817C  7F C3 F3 78 */	mr r3, r30
/* 803CC520 003C8180  7C 9D 02 14 */	add r4, r29, r0
/* 803CC524 003C8184  80 04 01 3C */	lwz r0, 0x13c(r4)
/* 803CC528 003C8188  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803CC52C 003C818C  90 04 01 3C */	stw r0, 0x13c(r4)
/* 803CC530 003C8190  48 01 13 F1 */	bl func_803DD920
/* 803CC534 003C8194  38 80 FF FF */	li r4, -1
/* 803CC538 003C8198  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803CC53C 003C819C  7C 63 22 78 */	xor r3, r3, r4
/* 803CC540 003C81A0  7F FD F2 14 */	add r31, r29, r30
/* 803CC544 003C81A4  7C 03 18 38 */	and r3, r0, r3
/* 803CC548 003C81A8  38 00 00 06 */	li r0, 6
/* 803CC54C 003C81AC  98 7D 31 08 */	stb r3, 0x3108(r29)
/* 803CC550 003C81B0  7F 83 E3 78 */	mr r3, r28
/* 803CC554 003C81B4  7F A4 EB 78 */	mr r4, r29
/* 803CC558 003C81B8  7F C5 F3 78 */	mr r5, r30
/* 803CC55C 003C81BC  88 DF 21 A0 */	lbz r6, 0x21a0(r31)
/* 803CC560 003C81C0  98 DF 21 9C */	stb r6, 0x219c(r31)
/* 803CC564 003C81C4  98 1F 21 A0 */	stb r0, 0x21a0(r31)
/* 803CC568 003C81C8  4B FE DD F9 */	bl func_803BA360
/* 803CC56C 003C81CC  88 DF 21 9C */	lbz r6, 0x219c(r31)
/* 803CC570 003C81D0  7F 83 E3 78 */	mr r3, r28
/* 803CC574 003C81D4  7F A4 EB 78 */	mr r4, r29
/* 803CC578 003C81D8  7F C5 F3 78 */	mr r5, r30
/* 803CC57C 003C81DC  4B FF 9A E1 */	bl func_803C605C
/* 803CC580 003C81E0  80 1D 2E 4C */	lwz r0, 0x2e4c(r29)
/* 803CC584 003C81E4  7F 83 E3 78 */	mr r3, r28
/* 803CC588 003C81E8  7F A4 EB 78 */	mr r4, r29
/* 803CC58C 003C81EC  7F C5 F3 78 */	mr r5, r30
/* 803CC590 003C81F0  B0 1D 31 22 */	sth r0, 0x3122(r29)
/* 803CC594 003C81F4  4B FF 13 69 */	bl func_803BD8FC
/* 803CC598 003C81F8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC59C 003C81FC  38 60 00 00 */	li r3, 0
/* 803CC5A0 003C8200  4B DF AB D9 */	bl _restgpr_28
/* 803CC5A4 003C8204  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CC5A8 003C8208  7C 08 03 A6 */	mtlr r0
/* 803CC5AC 003C820C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CC5B0 003C8210  4E 80 00 20 */	blr 
/* 803CC5B4 003C8214  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CC5B8 003C8218  7C 08 02 A6 */	mflr r0
/* 803CC5BC 003C821C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CC5C0 003C8220  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CC5C4 003C8224  93 C1 00 08 */	stw r30, 8(r1)
/* 803CC5C8 003C8228  7C 9E 23 78 */	mr r30, r4
/* 803CC5CC 003C822C  4B FE 02 95 */	bl func_803AC860
/* 803CC5D0 003C8230  80 9E 00 B4 */	lwz r4, 0xb4(r30)
/* 803CC5D4 003C8234  7C 7F 1B 78 */	mr r31, r3
/* 803CC5D8 003C8238  7F C3 F3 78 */	mr r3, r30
/* 803CC5DC 003C823C  38 04 00 01 */	addi r0, r4, 1
/* 803CC5E0 003C8240  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803CC5E4 003C8244  48 00 A8 89 */	bl func_803D6E6C
/* 803CC5E8 003C8248  38 C0 00 00 */	li r6, 0
/* 803CC5EC 003C824C  38 80 00 00 */	li r4, 0
/* 803CC5F0 003C8250  7F E9 03 A6 */	mtctr r31
/* 803CC5F4 003C8254  2C 1F 00 00 */	cmpwi r31, 0
/* 803CC5F8 003C8258  40 81 00 34 */	ble lbl_803CC62C
lbl_803CC5FC:
/* 803CC5FC 003C825C  7C BE 22 14 */	add r5, r30, r4
/* 803CC600 003C8260  80 05 01 3C */	lwz r0, 0x13c(r5)
/* 803CC604 003C8264  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803CC608 003C8268  41 82 00 18 */	beq lbl_803CC620
/* 803CC60C 003C826C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CC610 003C8270  90 DE 00 78 */	stw r6, 0x78(r30)
/* 803CC614 003C8274  7C 00 1A 14 */	add r0, r0, r3
/* 803CC618 003C8278  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803CC61C 003C827C  48 00 00 10 */	b lbl_803CC62C
lbl_803CC620:
/* 803CC620 003C8280  38 C6 00 01 */	addi r6, r6, 1
/* 803CC624 003C8284  38 84 00 04 */	addi r4, r4, 4
/* 803CC628 003C8288  42 00 FF D4 */	bdnz lbl_803CC5FC
lbl_803CC62C:
/* 803CC62C 003C828C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CC630 003C8290  38 60 00 00 */	li r3, 0
/* 803CC634 003C8294  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CC638 003C8298  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CC63C 003C829C  7C 08 03 A6 */	mtlr r0
/* 803CC640 003C82A0  38 21 00 10 */	addi r1, r1, 0x10
/* 803CC644 003C82A4  4E 80 00 20 */	blr 
/* 803CC648 003C82A8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CC64C 003C82AC  7C 08 02 A6 */	mflr r0
/* 803CC650 003C82B0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CC654 003C82B4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC658 003C82B8  4B DF AA D9 */	bl _savegpr_29
/* 803CC65C 003C82BC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC660 003C82C0  7C 9E 23 78 */	mr r30, r4
/* 803CC664 003C82C4  7C 7D 1B 78 */	mr r29, r3
/* 803CC668 003C82C8  38 05 00 01 */	addi r0, r5, 1
/* 803CC66C 003C82CC  7F C3 F3 78 */	mr r3, r30
/* 803CC670 003C82D0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC674 003C82D4  48 00 A7 F9 */	bl func_803D6E6C
/* 803CC678 003C82D8  7C 7F 1B 78 */	mr r31, r3
/* 803CC67C 003C82DC  38 60 00 05 */	li r3, 5
/* 803CC680 003C82E0  38 80 00 50 */	li r4, 0x50
/* 803CC684 003C82E4  4B DA 18 ED */	bl func_8016DF70
/* 803CC688 003C82E8  90 7E 01 78 */	stw r3, 0x178(r30)
/* 803CC68C 003C82EC  3C 80 80 3E */	lis r4, lbl_803D8004@ha
/* 803CC690 003C82F0  38 00 00 00 */	li r0, 0
/* 803CC694 003C82F4  38 A0 00 00 */	li r5, 0
/* 803CC698 003C82F8  93 A3 00 00 */	stw r29, 0(r3)
/* 803CC69C 003C82FC  38 64 80 04 */	addi r3, r4, lbl_803D8004@l
/* 803CC6A0 003C8300  80 9E 01 78 */	lwz r4, 0x178(r30)
/* 803CC6A4 003C8304  93 C4 00 04 */	stw r30, 4(r4)
/* 803CC6A8 003C8308  80 9E 01 78 */	lwz r4, 0x178(r30)
/* 803CC6AC 003C830C  90 04 00 20 */	stw r0, 0x20(r4)
/* 803CC6B0 003C8310  80 9E 01 78 */	lwz r4, 0x178(r30)
/* 803CC6B4 003C8314  93 E4 00 1C */	stw r31, 0x1c(r4)
/* 803CC6B8 003C8318  80 1E 01 28 */	lwz r0, 0x128(r30)
/* 803CC6BC 003C831C  80 9E 01 78 */	lwz r4, 0x178(r30)
/* 803CC6C0 003C8320  90 04 00 24 */	stw r0, 0x24(r4)
/* 803CC6C4 003C8324  80 9E 01 78 */	lwz r4, 0x178(r30)
/* 803CC6C8 003C8328  48 01 28 39 */	bl func_803DEF00
/* 803CC6CC 003C832C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC6D0 003C8330  38 60 00 00 */	li r3, 0
/* 803CC6D4 003C8334  4B DF AA A9 */	bl _restgpr_29
/* 803CC6D8 003C8338  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CC6DC 003C833C  7C 08 03 A6 */	mtlr r0
/* 803CC6E0 003C8340  38 21 00 20 */	addi r1, r1, 0x20
/* 803CC6E4 003C8344  4E 80 00 20 */	blr 
/* 803CC6E8 003C8348  80 04 01 78 */	lwz r0, 0x178(r4)
/* 803CC6EC 003C834C  2C 00 00 00 */	cmpwi r0, 0
/* 803CC6F0 003C8350  40 82 00 10 */	bne lbl_803CC700
/* 803CC6F4 003C8354  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803CC6F8 003C8358  38 03 00 01 */	addi r0, r3, 1
/* 803CC6FC 003C835C  90 04 00 B4 */	stw r0, 0xb4(r4)
lbl_803CC700:
/* 803CC700 003C8360  38 60 00 00 */	li r3, 0
/* 803CC704 003C8364  4E 80 00 20 */	blr 
/* 803CC708 003C8368  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CC70C 003C836C  7C 08 02 A6 */	mflr r0
/* 803CC710 003C8370  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CC714 003C8374  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC718 003C8378  4B DF AA 19 */	bl _savegpr_29
/* 803CC71C 003C837C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC720 003C8380  7C 9D 23 78 */	mr r29, r4
/* 803CC724 003C8384  7F A3 EB 78 */	mr r3, r29
/* 803CC728 003C8388  38 05 00 01 */	addi r0, r5, 1
/* 803CC72C 003C838C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC730 003C8390  48 00 A7 3D */	bl func_803D6E6C
/* 803CC734 003C8394  7C 7E 1B 78 */	mr r30, r3
/* 803CC738 003C8398  7F A3 EB 78 */	mr r3, r29
/* 803CC73C 003C839C  48 00 A7 31 */	bl func_803D6E6C
/* 803CC740 003C83A0  88 1D 21 7D */	lbz r0, 0x217d(r29)
/* 803CC744 003C83A4  7C 7F 1B 78 */	mr r31, r3
/* 803CC748 003C83A8  2C 00 00 00 */	cmpwi r0, 0
/* 803CC74C 003C83AC  40 82 00 5C */	bne lbl_803CC7A8
/* 803CC750 003C83B0  2C 1E 00 00 */	cmpwi r30, 0
/* 803CC754 003C83B4  40 82 00 48 */	bne lbl_803CC79C
/* 803CC758 003C83B8  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CC75C 003C83BC  7F A3 EB 78 */	mr r3, r29
/* 803CC760 003C83C0  4B FF 33 B9 */	bl func_803BFB18
/* 803CC764 003C83C4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CC768 003C83C8  28 00 00 5C */	cmplwi r0, 0x5c
/* 803CC76C 003C83CC  40 82 00 0C */	bne lbl_803CC778
/* 803CC770 003C83D0  3B C0 00 05 */	li r30, 5
/* 803CC774 003C83D4  48 00 00 28 */	b lbl_803CC79C
lbl_803CC778:
/* 803CC778 003C83D8  48 00 D0 41 */	bl func_803D97B8
/* 803CC77C 003C83DC  54 7E 07 BE */	clrlwi r30, r3, 0x1e
/* 803CC780 003C83E0  2C 1E 00 02 */	cmpwi r30, 2
/* 803CC784 003C83E4  40 80 00 0C */	bge lbl_803CC790
/* 803CC788 003C83E8  3B DE 00 02 */	addi r30, r30, 2
/* 803CC78C 003C83EC  48 00 00 10 */	b lbl_803CC79C
lbl_803CC790:
/* 803CC790 003C83F0  48 00 D0 29 */	bl func_803D97B8
/* 803CC794 003C83F4  54 63 07 BE */	clrlwi r3, r3, 0x1e
/* 803CC798 003C83F8  3B C3 00 02 */	addi r30, r3, 2
lbl_803CC79C:
/* 803CC79C 003C83FC  9B DD 21 7C */	stb r30, 0x217c(r29)
/* 803CC7A0 003C8400  9B DD 21 7D */	stb r30, 0x217d(r29)
/* 803CC7A4 003C8404  93 FD 21 88 */	stw r31, 0x2188(r29)
lbl_803CC7A8:
/* 803CC7A8 003C8408  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC7AC 003C840C  38 60 00 00 */	li r3, 0
/* 803CC7B0 003C8410  4B DF A9 CD */	bl _restgpr_29
/* 803CC7B4 003C8414  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CC7B8 003C8418  7C 08 03 A6 */	mtlr r0
/* 803CC7BC 003C841C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CC7C0 003C8420  4E 80 00 20 */	blr 
/* 803CC7C4 003C8424  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CC7C8 003C8428  7C 08 02 A6 */	mflr r0
/* 803CC7CC 003C842C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CC7D0 003C8430  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC7D4 003C8434  4B DF A9 55 */	bl _savegpr_27
/* 803CC7D8 003C8438  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC7DC 003C843C  7C 9C 23 78 */	mr r28, r4
/* 803CC7E0 003C8440  7C 7B 1B 78 */	mr r27, r3
/* 803CC7E4 003C8444  38 05 00 01 */	addi r0, r5, 1
/* 803CC7E8 003C8448  7F 83 E3 78 */	mr r3, r28
/* 803CC7EC 003C844C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC7F0 003C8450  48 00 A6 7D */	bl func_803D6E6C
/* 803CC7F4 003C8454  7C 7E 1B 78 */	mr r30, r3
/* 803CC7F8 003C8458  7F 83 E3 78 */	mr r3, r28
/* 803CC7FC 003C845C  48 00 A6 71 */	bl func_803D6E6C
/* 803CC800 003C8460  7C 7D 1B 78 */	mr r29, r3
/* 803CC804 003C8464  7F 83 E3 78 */	mr r3, r28
/* 803CC808 003C8468  48 00 A6 65 */	bl func_803D6E6C
/* 803CC80C 003C846C  7C 7F 1B 78 */	mr r31, r3
/* 803CC810 003C8470  7F 63 DB 78 */	mr r3, r27
/* 803CC814 003C8474  7F 84 E3 78 */	mr r4, r28
/* 803CC818 003C8478  7F A5 EB 78 */	mr r5, r29
/* 803CC81C 003C847C  48 00 A6 71 */	bl func_803D6E8C
/* 803CC820 003C8480  38 1E FF F9 */	addi r0, r30, -7
/* 803CC824 003C8484  7C 7E 1B 78 */	mr r30, r3
/* 803CC828 003C8488  28 00 00 0D */	cmplwi r0, 0xd
/* 803CC82C 003C848C  41 81 01 10 */	bgt lbl_803CC93C
/* 803CC830 003C8490  3C 80 80 47 */	lis r4, lbl_80473F60@ha
/* 803CC834 003C8494  54 00 10 3A */	slwi r0, r0, 2
/* 803CC838 003C8498  38 84 3F 60 */	addi r4, r4, lbl_80473F60@l
/* 803CC83C 003C849C  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CC840 003C84A0  7C 89 03 A6 */	mtctr r4
/* 803CC844 003C84A4  4E 80 04 20 */	bctr 
/* 803CC848 003C84A8  93 E3 00 00 */	stw r31, 0(r3)
/* 803CC84C 003C84AC  48 00 01 04 */	b lbl_803CC950
/* 803CC850 003C84B0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC854 003C84B4  7C 00 FA 14 */	add r0, r0, r31
/* 803CC858 003C84B8  90 03 00 00 */	stw r0, 0(r3)
/* 803CC85C 003C84BC  48 00 00 F4 */	b lbl_803CC950
/* 803CC860 003C84C0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC864 003C84C4  7C 1F 00 50 */	subf r0, r31, r0
/* 803CC868 003C84C8  90 03 00 00 */	stw r0, 0(r3)
/* 803CC86C 003C84CC  48 00 00 E4 */	b lbl_803CC950
/* 803CC870 003C84D0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC874 003C84D4  7C 00 FB 78 */	or r0, r0, r31
/* 803CC878 003C84D8  90 03 00 00 */	stw r0, 0(r3)
/* 803CC87C 003C84DC  48 00 00 D4 */	b lbl_803CC950
/* 803CC880 003C84E0  38 00 FF FF */	li r0, -1
/* 803CC884 003C84E4  80 83 00 00 */	lwz r4, 0(r3)
/* 803CC888 003C84E8  7F E0 02 78 */	xor r0, r31, r0
/* 803CC88C 003C84EC  7C 80 00 38 */	and r0, r4, r0
/* 803CC890 003C84F0  90 03 00 00 */	stw r0, 0(r3)
/* 803CC894 003C84F4  48 00 00 BC */	b lbl_803CC950
/* 803CC898 003C84F8  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC89C 003C84FC  7C 00 F9 D6 */	mullw r0, r0, r31
/* 803CC8A0 003C8500  90 03 00 00 */	stw r0, 0(r3)
/* 803CC8A4 003C8504  48 00 00 AC */	b lbl_803CC950
/* 803CC8A8 003C8508  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC8AC 003C850C  7C 00 FB D6 */	divw r0, r0, r31
/* 803CC8B0 003C8510  90 03 00 00 */	stw r0, 0(r3)
/* 803CC8B4 003C8514  48 00 00 9C */	b lbl_803CC950
/* 803CC8B8 003C8518  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC8BC 003C851C  7C 00 F8 30 */	slw r0, r0, r31
/* 803CC8C0 003C8520  90 03 00 00 */	stw r0, 0(r3)
/* 803CC8C4 003C8524  48 00 00 8C */	b lbl_803CC950
/* 803CC8C8 003C8528  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC8CC 003C852C  7C 00 FE 30 */	sraw r0, r0, r31
/* 803CC8D0 003C8530  90 03 00 00 */	stw r0, 0(r3)
/* 803CC8D4 003C8534  48 00 00 7C */	b lbl_803CC950
/* 803CC8D8 003C8538  7F E3 FB 78 */	mr r3, r31
/* 803CC8DC 003C853C  48 01 10 45 */	bl func_803DD920
/* 803CC8E0 003C8540  90 7E 00 00 */	stw r3, 0(r30)
/* 803CC8E4 003C8544  48 00 00 6C */	b lbl_803CC950
/* 803CC8E8 003C8548  3C 80 80 47 */	lis r4, lbl_80473F48@ha
/* 803CC8EC 003C854C  38 60 00 00 */	li r3, 0
/* 803CC8F0 003C8550  38 84 3F 48 */	addi r4, r4, lbl_80473F48@l
/* 803CC8F4 003C8554  4C C6 31 82 */	crclr 6
/* 803CC8F8 003C8558  48 00 CF A5 */	bl func_803D989C
/* 803CC8FC 003C855C  48 00 00 54 */	b lbl_803CC950
/* 803CC900 003C8560  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC904 003C8564  7C 1F 00 51 */	subf. r0, r31, r0
/* 803CC908 003C8568  90 03 00 00 */	stw r0, 0(r3)
/* 803CC90C 003C856C  40 80 00 44 */	bge lbl_803CC950
/* 803CC910 003C8570  38 00 00 00 */	li r0, 0
/* 803CC914 003C8574  90 03 00 00 */	stw r0, 0(r3)
/* 803CC918 003C8578  48 00 00 38 */	b lbl_803CC950
/* 803CC91C 003C857C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC920 003C8580  7C 00 FA 78 */	xor r0, r0, r31
/* 803CC924 003C8584  90 03 00 00 */	stw r0, 0(r3)
/* 803CC928 003C8588  48 00 00 28 */	b lbl_803CC950
/* 803CC92C 003C858C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CC930 003C8590  7C 00 F8 38 */	and r0, r0, r31
/* 803CC934 003C8594  90 03 00 00 */	stw r0, 0(r3)
/* 803CC938 003C8598  48 00 00 18 */	b lbl_803CC950
lbl_803CC93C:
/* 803CC93C 003C859C  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CC940 003C85A0  38 60 00 00 */	li r3, 0
/* 803CC944 003C85A4  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CC948 003C85A8  4C C6 31 82 */	crclr 6
/* 803CC94C 003C85AC  48 00 CF 51 */	bl func_803D989C
lbl_803CC950:
/* 803CC950 003C85B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CC954 003C85B4  38 60 00 00 */	li r3, 0
/* 803CC958 003C85B8  4B DF A8 1D */	bl _restgpr_27
/* 803CC95C 003C85BC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CC960 003C85C0  7C 08 03 A6 */	mtlr r0
/* 803CC964 003C85C4  38 21 00 20 */	addi r1, r1, 0x20
/* 803CC968 003C85C8  4E 80 00 20 */	blr 
/* 803CC96C 003C85CC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CC970 003C85D0  7C 08 02 A6 */	mflr r0
/* 803CC974 003C85D4  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CC978 003C85D8  39 61 00 30 */	addi r11, r1, 0x30
/* 803CC97C 003C85DC  4B DF A7 99 */	bl _savegpr_22
/* 803CC980 003C85E0  80 04 00 94 */	lwz r0, 0x94(r4)
/* 803CC984 003C85E4  7C 97 23 78 */	mr r23, r4
/* 803CC988 003C85E8  7C 76 1B 78 */	mr r22, r3
/* 803CC98C 003C85EC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CC990 003C85F0  1C C0 00 C0 */	mulli r6, r0, 0xc0
/* 803CC994 003C85F4  7E E3 BB 78 */	mr r3, r23
/* 803CC998 003C85F8  38 05 00 01 */	addi r0, r5, 1
/* 803CC99C 003C85FC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CC9A0 003C8600  7C 84 32 14 */	add r4, r4, r6
/* 803CC9A4 003C8604  3B 04 2D 40 */	addi r24, r4, 0x2d40
/* 803CC9A8 003C8608  48 00 A4 C5 */	bl func_803D6E6C
/* 803CC9AC 003C860C  7C 7C 1B 78 */	mr r28, r3
/* 803CC9B0 003C8610  7E E3 BB 78 */	mr r3, r23
/* 803CC9B4 003C8614  48 00 A4 B9 */	bl func_803D6E6C
/* 803CC9B8 003C8618  7C 7D 1B 78 */	mr r29, r3
/* 803CC9BC 003C861C  7E E3 BB 78 */	mr r3, r23
/* 803CC9C0 003C8620  48 00 A4 AD */	bl func_803D6E6C
/* 803CC9C4 003C8624  80 17 21 3C */	lwz r0, 0x213c(r23)
/* 803CC9C8 003C8628  7C 7F 1B 78 */	mr r31, r3
/* 803CC9CC 003C862C  80 77 00 8C */	lwz r3, 0x8c(r23)
/* 803CC9D0 003C8630  3B 20 00 00 */	li r25, 0
/* 803CC9D4 003C8634  54 00 03 DA */	rlwinm r0, r0, 0, 0xf, 0xd
/* 803CC9D8 003C8638  2C 03 00 2E */	cmpwi r3, 0x2e
/* 803CC9DC 003C863C  90 17 21 3C */	stw r0, 0x213c(r23)
/* 803CC9E0 003C8640  41 80 00 18 */	blt lbl_803CC9F8
/* 803CC9E4 003C8644  38 00 00 0D */	li r0, 0xd
/* 803CC9E8 003C8648  3B 63 FF D2 */	addi r27, r3, -46
/* 803CC9EC 003C864C  90 17 01 38 */	stw r0, 0x138(r23)
/* 803CC9F0 003C8650  3B 40 FF FE */	li r26, -2
/* 803CC9F4 003C8654  48 00 00 4C */	b lbl_803CCA40
lbl_803CC9F8:
/* 803CC9F8 003C8658  2C 03 00 27 */	cmpwi r3, 0x27
/* 803CC9FC 003C865C  41 80 00 18 */	blt lbl_803CCA14
/* 803CCA00 003C8660  38 00 00 0C */	li r0, 0xc
/* 803CCA04 003C8664  3B 63 FF D9 */	addi r27, r3, -39
/* 803CCA08 003C8668  90 17 01 38 */	stw r0, 0x138(r23)
/* 803CCA0C 003C866C  3B 40 00 02 */	li r26, 2
/* 803CCA10 003C8670  48 00 00 30 */	b lbl_803CCA40
lbl_803CCA14:
/* 803CCA14 003C8674  2C 03 00 16 */	cmpwi r3, 0x16
/* 803CCA18 003C8678  41 80 00 18 */	blt lbl_803CCA30
/* 803CCA1C 003C867C  38 00 00 0D */	li r0, 0xd
/* 803CCA20 003C8680  3B 63 FF EA */	addi r27, r3, -22
/* 803CCA24 003C8684  90 17 01 38 */	stw r0, 0x138(r23)
/* 803CCA28 003C8688  3B 40 FF FF */	li r26, -1
/* 803CCA2C 003C868C  48 00 00 14 */	b lbl_803CCA40
lbl_803CCA30:
/* 803CCA30 003C8690  38 00 00 0C */	li r0, 0xc
/* 803CCA34 003C8694  3B 63 FF F1 */	addi r27, r3, -15
/* 803CCA38 003C8698  90 17 01 38 */	stw r0, 0x138(r23)
/* 803CCA3C 003C869C  3B 40 00 01 */	li r26, 1
lbl_803CCA40:
/* 803CCA40 003C86A0  3F C0 80 49 */	lis r30, lbl_8048CE28@ha
/* 803CCA44 003C86A4  2C 1A 00 00 */	cmpwi r26, 0
/* 803CCA48 003C86A8  38 1B 00 01 */	addi r0, r27, 1
/* 803CCA4C 003C86AC  3B DE CE 28 */	addi r30, r30, lbl_8048CE28@l
/* 803CCA50 003C86B0  90 1E 00 10 */	stw r0, 0x10(r30)
/* 803CCA54 003C86B4  40 81 01 68 */	ble lbl_803CCBBC
/* 803CCA58 003C86B8  7F FB C2 14 */	add r31, r27, r24
/* 803CCA5C 003C86BC  88 1F 00 19 */	lbz r0, 0x19(r31)
/* 803CCA60 003C86C0  2C 00 00 0C */	cmpwi r0, 0xc
/* 803CCA64 003C86C4  40 82 00 70 */	bne lbl_803CCAD4
/* 803CCA68 003C86C8  80 77 21 3C */	lwz r3, 0x213c(r23)
/* 803CCA6C 003C86CC  80 17 00 94 */	lwz r0, 0x94(r23)
/* 803CCA70 003C86D0  64 63 00 02 */	oris r3, r3, 2
/* 803CCA74 003C86D4  90 77 21 3C */	stw r3, 0x213c(r23)
/* 803CCA78 003C86D8  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803CCA7C 003C86DC  80 77 00 88 */	lwz r3, 0x88(r23)
/* 803CCA80 003C86E0  38 03 FF FE */	addi r0, r3, -2
/* 803CCA84 003C86E4  28 00 00 01 */	cmplwi r0, 1
/* 803CCA88 003C86E8  41 81 00 14 */	bgt lbl_803CCA9C
/* 803CCA8C 003C86EC  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCA90 003C86F0  7C 00 EA 14 */	add r0, r0, r29
/* 803CCA94 003C86F4  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCA98 003C86F8  48 00 05 E0 */	b lbl_803CD078
lbl_803CCA9C:
/* 803CCA9C 003C86FC  38 60 00 8E */	li r3, 0x8e
/* 803CCAA0 003C8700  38 00 00 0C */	li r0, 0xc
/* 803CCAA4 003C8704  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCAA8 003C8708  7E E3 BB 78 */	mr r3, r23
/* 803CCAAC 003C870C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCAB0 003C8710  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCAB4 003C8714  4B FF 28 79 */	bl func_803BF32C
/* 803CCAB8 003C8718  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCABC 003C871C  38 9B 00 01 */	addi r4, r27, 1
/* 803CCAC0 003C8720  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCAC4 003C8724  7C 00 E2 14 */	add r0, r0, r28
/* 803CCAC8 003C8728  90 97 00 FC */	stw r4, 0xfc(r23)
/* 803CCACC 003C872C  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCAD0 003C8730  48 00 05 A8 */	b lbl_803CD078
lbl_803CCAD4:
/* 803CCAD4 003C8734  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCAD8 003C8738  2C 00 00 03 */	cmpwi r0, 3
/* 803CCADC 003C873C  40 82 00 48 */	bne lbl_803CCB24
/* 803CCAE0 003C8740  38 60 02 6E */	li r3, 0x26e
/* 803CCAE4 003C8744  38 00 00 27 */	li r0, 0x27
/* 803CCAE8 003C8748  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCAEC 003C874C  7E E3 BB 78 */	mr r3, r23
/* 803CCAF0 003C8750  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCAF4 003C8754  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCAF8 003C8758  4B FF 28 35 */	bl func_803BF32C
/* 803CCAFC 003C875C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCB00 003C8760  38 1B 00 01 */	addi r0, r27, 1
/* 803CCB04 003C8764  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCB08 003C8768  1C 64 00 C0 */	mulli r3, r4, 0xc0
/* 803CCB0C 003C876C  7C 77 1A 14 */	add r3, r23, r3
/* 803CCB10 003C8770  88 63 2D 67 */	lbz r3, 0x2d67(r3)
/* 803CCB14 003C8774  90 77 00 FC */	stw r3, 0xfc(r23)
/* 803CCB18 003C8778  90 17 01 00 */	stw r0, 0x100(r23)
/* 803CCB1C 003C877C  90 9E 00 18 */	stw r4, 0x18(r30)
/* 803CCB20 003C8780  48 00 00 74 */	b lbl_803CCB94
lbl_803CCB24:
/* 803CCB24 003C8784  2C 00 00 05 */	cmpwi r0, 5
/* 803CCB28 003C8788  40 82 00 38 */	bne lbl_803CCB60
/* 803CCB2C 003C878C  38 60 02 F4 */	li r3, 0x2f4
/* 803CCB30 003C8790  38 00 00 2D */	li r0, 0x2d
/* 803CCB34 003C8794  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCB38 003C8798  7E E3 BB 78 */	mr r3, r23
/* 803CCB3C 003C879C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCB40 003C87A0  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCB44 003C87A4  4B FF 27 E9 */	bl func_803BF32C
/* 803CCB48 003C87A8  80 97 01 28 */	lwz r4, 0x128(r23)
/* 803CCB4C 003C87AC  38 1B 00 01 */	addi r0, r27, 1
/* 803CCB50 003C87B0  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCB54 003C87B4  90 97 00 FC */	stw r4, 0xfc(r23)
/* 803CCB58 003C87B8  90 17 01 00 */	stw r0, 0x100(r23)
/* 803CCB5C 003C87BC  48 00 00 38 */	b lbl_803CCB94
lbl_803CCB60:
/* 803CCB60 003C87C0  2C 1A 00 01 */	cmpwi r26, 1
/* 803CCB64 003C87C4  38 60 02 F1 */	li r3, 0x2f1
/* 803CCB68 003C87C8  40 82 00 08 */	bne lbl_803CCB70
/* 803CCB6C 003C87CC  38 60 02 EE */	li r3, 0x2ee
lbl_803CCB70:
/* 803CCB70 003C87D0  38 00 00 0C */	li r0, 0xc
/* 803CCB74 003C87D4  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCB78 003C87D8  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCB7C 003C87DC  7E E3 BB 78 */	mr r3, r23
/* 803CCB80 003C87E0  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCB84 003C87E4  4B FF 27 A9 */	bl func_803BF32C
/* 803CCB88 003C87E8  38 1B 00 01 */	addi r0, r27, 1
/* 803CCB8C 003C87EC  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCB90 003C87F0  90 17 00 FC */	stw r0, 0xfc(r23)
lbl_803CCB94:
/* 803CCB94 003C87F4  88 1F 00 19 */	lbz r0, 0x19(r31)
/* 803CCB98 003C87F8  7C 60 D2 14 */	add r3, r0, r26
/* 803CCB9C 003C87FC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CCBA0 003C8800  98 7F 00 19 */	stb r3, 0x19(r31)
/* 803CCBA4 003C8804  7C 00 07 74 */	extsb r0, r0
/* 803CCBA8 003C8808  2C 00 00 0C */	cmpwi r0, 0xc
/* 803CCBAC 003C880C  40 81 04 CC */	ble lbl_803CD078
/* 803CCBB0 003C8810  38 00 00 0C */	li r0, 0xc
/* 803CCBB4 003C8814  98 1F 00 19 */	stb r0, 0x19(r31)
/* 803CCBB8 003C8818  48 00 04 C0 */	b lbl_803CD078
lbl_803CCBBC:
/* 803CCBBC 003C881C  80 17 00 90 */	lwz r0, 0x90(r23)
/* 803CCBC0 003C8820  54 00 01 09 */	rlwinm. r0, r0, 0, 4, 4
/* 803CCBC4 003C8824  40 82 04 00 */	bne lbl_803CCFC4
/* 803CCBC8 003C8828  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCBCC 003C882C  80 17 00 64 */	lwz r0, 0x64(r23)
/* 803CCBD0 003C8830  7C 00 20 00 */	cmpw r0, r4
/* 803CCBD4 003C8834  41 82 03 04 */	beq lbl_803CCED8
/* 803CCBD8 003C8838  7E C3 B3 78 */	mr r3, r22
/* 803CCBDC 003C883C  4B FE 01 09 */	bl func_803ACCE4
/* 803CCBE0 003C8840  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803CCBE4 003C8844  7C 77 02 14 */	add r3, r23, r0
/* 803CCBE8 003C8848  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803CCBEC 003C884C  54 00 7F 7F */	rlwinm. r0, r0, 0xf, 0x1d, 0x1f
/* 803CCBF0 003C8850  41 82 00 2C */	beq lbl_803CCC1C
/* 803CCBF4 003C8854  38 60 01 11 */	li r3, 0x111
/* 803CCBF8 003C8858  38 00 00 02 */	li r0, 2
/* 803CCBFC 003C885C  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCC00 003C8860  7E E3 BB 78 */	mr r3, r23
/* 803CCC04 003C8864  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCC08 003C8868  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCC0C 003C886C  4B FF 27 21 */	bl func_803BF32C
/* 803CCC10 003C8870  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCC14 003C8874  3B 20 00 01 */	li r25, 1
/* 803CCC18 003C8878  48 00 03 40 */	b lbl_803CCF58
lbl_803CCC1C:
/* 803CCC1C 003C887C  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCC20 003C8880  7E E3 BB 78 */	mr r3, r23
/* 803CCC24 003C8884  80 B7 00 94 */	lwz r5, 0x94(r23)
/* 803CCC28 003C8888  38 C0 00 1D */	li r6, 0x1d
/* 803CCC2C 003C888C  4B FF 2F 65 */	bl func_803BFB90
/* 803CCC30 003C8890  2C 03 00 01 */	cmpwi r3, 1
/* 803CCC34 003C8894  41 82 00 20 */	beq lbl_803CCC54
/* 803CCC38 003C8898  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCC3C 003C889C  7E E3 BB 78 */	mr r3, r23
/* 803CCC40 003C88A0  80 B7 00 94 */	lwz r5, 0x94(r23)
/* 803CCC44 003C88A4  38 C0 00 49 */	li r6, 0x49
/* 803CCC48 003C88A8  4B FF 2F 49 */	bl func_803BFB90
/* 803CCC4C 003C88AC  2C 03 00 01 */	cmpwi r3, 1
/* 803CCC50 003C88B0  40 82 00 A8 */	bne lbl_803CCCF8
lbl_803CCC54:
/* 803CCC54 003C88B4  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCC58 003C88B8  2C 00 00 03 */	cmpwi r0, 3
/* 803CCC5C 003C88BC  40 82 00 60 */	bne lbl_803CCCBC
/* 803CCC60 003C88C0  38 60 02 D7 */	li r3, 0x2d7
/* 803CCC64 003C88C4  38 00 00 35 */	li r0, 0x35
/* 803CCC68 003C88C8  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCC6C 003C88CC  7E E3 BB 78 */	mr r3, r23
/* 803CCC70 003C88D0  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCC74 003C88D4  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCC78 003C88D8  4B FF 26 B5 */	bl func_803BF32C
/* 803CCC7C 003C88DC  80 17 00 94 */	lwz r0, 0x94(r23)
/* 803CCC80 003C88E0  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCC84 003C88E4  7E E3 BB 78 */	mr r3, r23
/* 803CCC88 003C88E8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCC8C 003C88EC  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCC90 003C88F0  7C B7 02 14 */	add r5, r23, r0
/* 803CCC94 003C88F4  88 05 2D 67 */	lbz r0, 0x2d67(r5)
/* 803CCC98 003C88F8  90 17 00 FC */	stw r0, 0xfc(r23)
/* 803CCC9C 003C88FC  4B FF 26 91 */	bl func_803BF32C
/* 803CCCA0 003C8900  80 17 00 64 */	lwz r0, 0x64(r23)
/* 803CCCA4 003C8904  90 77 01 00 */	stw r3, 0x100(r23)
/* 803CCCA8 003C8908  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCCAC 003C890C  7C 77 02 14 */	add r3, r23, r0
/* 803CCCB0 003C8910  88 03 2D 67 */	lbz r0, 0x2d67(r3)
/* 803CCCB4 003C8914  90 17 01 04 */	stw r0, 0x104(r23)
/* 803CCCB8 003C8918  48 00 00 38 */	b lbl_803CCCF0
lbl_803CCCBC:
/* 803CCCBC 003C891C  38 60 02 9D */	li r3, 0x29d
/* 803CCCC0 003C8920  38 00 00 0B */	li r0, 0xb
/* 803CCCC4 003C8924  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCCC8 003C8928  7E E3 BB 78 */	mr r3, r23
/* 803CCCCC 003C892C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCCD0 003C8930  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCCD4 003C8934  4B FF 26 59 */	bl func_803BF32C
/* 803CCCD8 003C8938  80 17 00 94 */	lwz r0, 0x94(r23)
/* 803CCCDC 003C893C  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCCE0 003C8940  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCCE4 003C8944  7C 77 02 14 */	add r3, r23, r0
/* 803CCCE8 003C8948  88 03 2D 67 */	lbz r0, 0x2d67(r3)
/* 803CCCEC 003C894C  90 17 00 FC */	stw r0, 0xfc(r23)
lbl_803CCCF0:
/* 803CCCF0 003C8950  3B 20 00 01 */	li r25, 1
/* 803CCCF4 003C8954  48 00 02 64 */	b lbl_803CCF58
lbl_803CCCF8:
/* 803CCCF8 003C8958  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCCFC 003C895C  7E E3 BB 78 */	mr r3, r23
/* 803CCD00 003C8960  80 B7 00 94 */	lwz r5, 0x94(r23)
/* 803CCD04 003C8964  38 C0 00 33 */	li r6, 0x33
/* 803CCD08 003C8968  4B FF 2E 89 */	bl func_803BFB90
/* 803CCD0C 003C896C  2C 03 00 01 */	cmpwi r3, 1
/* 803CCD10 003C8970  40 82 00 10 */	bne lbl_803CCD20
/* 803CCD14 003C8974  38 1B 00 01 */	addi r0, r27, 1
/* 803CCD18 003C8978  2C 00 00 06 */	cmpwi r0, 6
/* 803CCD1C 003C897C  41 82 00 28 */	beq lbl_803CCD44
lbl_803CCD20:
/* 803CCD20 003C8980  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCD24 003C8984  7E E3 BB 78 */	mr r3, r23
/* 803CCD28 003C8988  80 B7 00 94 */	lwz r5, 0x94(r23)
/* 803CCD2C 003C898C  38 C0 00 34 */	li r6, 0x34
/* 803CCD30 003C8990  4B FF 2E 61 */	bl func_803BFB90
/* 803CCD34 003C8994  2C 03 00 01 */	cmpwi r3, 1
/* 803CCD38 003C8998  40 82 00 C4 */	bne lbl_803CCDFC
/* 803CCD3C 003C899C  2C 1B 00 00 */	cmpwi r27, 0
/* 803CCD40 003C89A0  40 82 00 BC */	bne lbl_803CCDFC
lbl_803CCD44:
/* 803CCD44 003C89A4  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCD48 003C89A8  2C 00 00 03 */	cmpwi r0, 3
/* 803CCD4C 003C89AC  40 82 00 60 */	bne lbl_803CCDAC
/* 803CCD50 003C89B0  38 60 02 D7 */	li r3, 0x2d7
/* 803CCD54 003C89B4  38 00 00 35 */	li r0, 0x35
/* 803CCD58 003C89B8  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCD5C 003C89BC  7E E3 BB 78 */	mr r3, r23
/* 803CCD60 003C89C0  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCD64 003C89C4  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCD68 003C89C8  4B FF 25 C5 */	bl func_803BF32C
/* 803CCD6C 003C89CC  80 17 00 94 */	lwz r0, 0x94(r23)
/* 803CCD70 003C89D0  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCD74 003C89D4  7E E3 BB 78 */	mr r3, r23
/* 803CCD78 003C89D8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCD7C 003C89DC  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCD80 003C89E0  7C B7 02 14 */	add r5, r23, r0
/* 803CCD84 003C89E4  88 05 2D 67 */	lbz r0, 0x2d67(r5)
/* 803CCD88 003C89E8  90 17 00 FC */	stw r0, 0xfc(r23)
/* 803CCD8C 003C89EC  4B FF 25 A1 */	bl func_803BF32C
/* 803CCD90 003C89F0  80 17 00 64 */	lwz r0, 0x64(r23)
/* 803CCD94 003C89F4  90 77 01 00 */	stw r3, 0x100(r23)
/* 803CCD98 003C89F8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCD9C 003C89FC  7C 77 02 14 */	add r3, r23, r0
/* 803CCDA0 003C8A00  88 03 2D 67 */	lbz r0, 0x2d67(r3)
/* 803CCDA4 003C8A04  90 17 01 04 */	stw r0, 0x104(r23)
/* 803CCDA8 003C8A08  48 00 00 4C */	b lbl_803CCDF4
lbl_803CCDAC:
/* 803CCDAC 003C8A0C  38 60 02 C0 */	li r3, 0x2c0
/* 803CCDB0 003C8A10  38 00 00 27 */	li r0, 0x27
/* 803CCDB4 003C8A14  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCDB8 003C8A18  7E E3 BB 78 */	mr r3, r23
/* 803CCDBC 003C8A1C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCDC0 003C8A20  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCDC4 003C8A24  4B FF 25 69 */	bl func_803BF32C
/* 803CCDC8 003C8A28  80 B7 00 94 */	lwz r5, 0x94(r23)
/* 803CCDCC 003C8A2C  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803CCDD0 003C8A30  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCDD4 003C8A34  38 1B 00 01 */	addi r0, r27, 1
/* 803CCDD8 003C8A38  1C 65 00 C0 */	mulli r3, r5, 0xc0
/* 803CCDDC 003C8A3C  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803CCDE0 003C8A40  7C 77 1A 14 */	add r3, r23, r3
/* 803CCDE4 003C8A44  88 63 2D 67 */	lbz r3, 0x2d67(r3)
/* 803CCDE8 003C8A48  90 77 00 FC */	stw r3, 0xfc(r23)
/* 803CCDEC 003C8A4C  90 17 01 00 */	stw r0, 0x100(r23)
/* 803CCDF0 003C8A50  90 A4 00 18 */	stw r5, 0x18(r4)
lbl_803CCDF4:
/* 803CCDF4 003C8A54  3B 20 00 01 */	li r25, 1
/* 803CCDF8 003C8A58  48 00 01 60 */	b lbl_803CCF58
lbl_803CCDFC:
/* 803CCDFC 003C8A5C  7C 7B C2 14 */	add r3, r27, r24
/* 803CCE00 003C8A60  88 03 00 19 */	lbz r0, 0x19(r3)
/* 803CCE04 003C8A64  7C 00 07 75 */	extsb. r0, r0
/* 803CCE08 003C8A68  40 82 00 80 */	bne lbl_803CCE88
/* 803CCE0C 003C8A6C  80 97 21 3C */	lwz r4, 0x213c(r23)
/* 803CCE10 003C8A70  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CCE14 003C8A74  80 17 00 94 */	lwz r0, 0x94(r23)
/* 803CCE18 003C8A78  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CCE1C 003C8A7C  64 84 00 02 */	oris r4, r4, 2
/* 803CCE20 003C8A80  90 97 21 3C */	stw r4, 0x213c(r23)
/* 803CCE24 003C8A84  90 03 00 0C */	stw r0, 0xc(r3)
/* 803CCE28 003C8A88  80 77 00 88 */	lwz r3, 0x88(r23)
/* 803CCE2C 003C8A8C  38 03 FF FE */	addi r0, r3, -2
/* 803CCE30 003C8A90  28 00 00 01 */	cmplwi r0, 1
/* 803CCE34 003C8A94  41 81 00 18 */	bgt lbl_803CCE4C
/* 803CCE38 003C8A98  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCE3C 003C8A9C  38 60 00 00 */	li r3, 0
/* 803CCE40 003C8AA0  7C 00 EA 14 */	add r0, r0, r29
/* 803CCE44 003C8AA4  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCE48 003C8AA8  48 00 02 34 */	b lbl_803CD07C
lbl_803CCE4C:
/* 803CCE4C 003C8AAC  38 60 00 91 */	li r3, 0x91
/* 803CCE50 003C8AB0  38 00 00 0C */	li r0, 0xc
/* 803CCE54 003C8AB4  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCE58 003C8AB8  7E E3 BB 78 */	mr r3, r23
/* 803CCE5C 003C8ABC  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCE60 003C8AC0  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCE64 003C8AC4  4B FF 24 C9 */	bl func_803BF32C
/* 803CCE68 003C8AC8  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCE6C 003C8ACC  38 9B 00 01 */	addi r4, r27, 1
/* 803CCE70 003C8AD0  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCE74 003C8AD4  38 60 00 00 */	li r3, 0
/* 803CCE78 003C8AD8  7C 00 E2 14 */	add r0, r0, r28
/* 803CCE7C 003C8ADC  90 97 00 FC */	stw r4, 0xfc(r23)
/* 803CCE80 003C8AE0  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCE84 003C8AE4  48 00 01 F8 */	b lbl_803CD07C
lbl_803CCE88:
/* 803CCE88 003C8AE8  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCE8C 003C8AEC  7E E3 BB 78 */	mr r3, r23
/* 803CCE90 003C8AF0  80 B7 00 94 */	lwz r5, 0x94(r23)
/* 803CCE94 003C8AF4  38 C0 00 13 */	li r6, 0x13
/* 803CCE98 003C8AF8  4B FF 2C F9 */	bl func_803BFB90
/* 803CCE9C 003C8AFC  2C 03 00 01 */	cmpwi r3, 1
/* 803CCEA0 003C8B00  40 82 00 18 */	bne lbl_803CCEB8
/* 803CCEA4 003C8B04  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCEA8 003C8B08  2C 00 00 02 */	cmpwi r0, 2
/* 803CCEAC 003C8B0C  40 82 00 0C */	bne lbl_803CCEB8
/* 803CCEB0 003C8B10  3B 20 00 01 */	li r25, 1
/* 803CCEB4 003C8B14  48 00 00 A4 */	b lbl_803CCF58
lbl_803CCEB8:
/* 803CCEB8 003C8B18  80 17 00 94 */	lwz r0, 0x94(r23)
/* 803CCEBC 003C8B1C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCEC0 003C8B20  7C 77 02 14 */	add r3, r23, r0
/* 803CCEC4 003C8B24  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803CCEC8 003C8B28  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803CCECC 003C8B2C  41 82 00 8C */	beq lbl_803CCF58
/* 803CCED0 003C8B30  3B 20 00 02 */	li r25, 2
/* 803CCED4 003C8B34  48 00 00 84 */	b lbl_803CCF58
lbl_803CCED8:
/* 803CCED8 003C8B38  7C 7B C2 14 */	add r3, r27, r24
/* 803CCEDC 003C8B3C  88 03 00 19 */	lbz r0, 0x19(r3)
/* 803CCEE0 003C8B40  7C 00 07 75 */	extsb. r0, r0
/* 803CCEE4 003C8B44  40 82 00 74 */	bne lbl_803CCF58
/* 803CCEE8 003C8B48  80 17 21 3C */	lwz r0, 0x213c(r23)
/* 803CCEEC 003C8B4C  64 00 00 02 */	oris r0, r0, 2
/* 803CCEF0 003C8B50  90 17 21 3C */	stw r0, 0x213c(r23)
/* 803CCEF4 003C8B54  90 9E 00 0C */	stw r4, 0xc(r30)
/* 803CCEF8 003C8B58  80 77 00 88 */	lwz r3, 0x88(r23)
/* 803CCEFC 003C8B5C  38 03 FF FE */	addi r0, r3, -2
/* 803CCF00 003C8B60  28 00 00 01 */	cmplwi r0, 1
/* 803CCF04 003C8B64  41 81 00 18 */	bgt lbl_803CCF1C
/* 803CCF08 003C8B68  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCF0C 003C8B6C  38 60 00 00 */	li r3, 0
/* 803CCF10 003C8B70  7C 00 EA 14 */	add r0, r0, r29
/* 803CCF14 003C8B74  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCF18 003C8B78  48 00 01 64 */	b lbl_803CD07C
lbl_803CCF1C:
/* 803CCF1C 003C8B7C  38 60 00 91 */	li r3, 0x91
/* 803CCF20 003C8B80  38 00 00 0C */	li r0, 0xc
/* 803CCF24 003C8B84  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCF28 003C8B88  7E E3 BB 78 */	mr r3, r23
/* 803CCF2C 003C8B8C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CCF30 003C8B90  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCF34 003C8B94  4B FF 23 F9 */	bl func_803BF32C
/* 803CCF38 003C8B98  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCF3C 003C8B9C  38 9B 00 01 */	addi r4, r27, 1
/* 803CCF40 003C8BA0  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCF44 003C8BA4  38 60 00 00 */	li r3, 0
/* 803CCF48 003C8BA8  7C 00 E2 14 */	add r0, r0, r28
/* 803CCF4C 003C8BAC  90 97 00 FC */	stw r4, 0xfc(r23)
/* 803CCF50 003C8BB0  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCF54 003C8BB4  48 00 01 28 */	b lbl_803CD07C
lbl_803CCF58:
/* 803CCF58 003C8BB8  2C 19 00 02 */	cmpwi r25, 2
/* 803CCF5C 003C8BBC  40 82 00 24 */	bne lbl_803CCF80
/* 803CCF60 003C8BC0  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCF64 003C8BC4  2C 00 00 01 */	cmpwi r0, 1
/* 803CCF68 003C8BC8  40 82 00 18 */	bne lbl_803CCF80
/* 803CCF6C 003C8BCC  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCF70 003C8BD0  38 60 00 00 */	li r3, 0
/* 803CCF74 003C8BD4  7C 00 FA 14 */	add r0, r0, r31
/* 803CCF78 003C8BD8  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCF7C 003C8BDC  48 00 01 00 */	b lbl_803CD07C
lbl_803CCF80:
/* 803CCF80 003C8BE0  2C 19 00 00 */	cmpwi r25, 0
/* 803CCF84 003C8BE4  41 82 00 24 */	beq lbl_803CCFA8
/* 803CCF88 003C8BE8  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCF8C 003C8BEC  2C 00 00 02 */	cmpwi r0, 2
/* 803CCF90 003C8BF0  40 82 00 18 */	bne lbl_803CCFA8
/* 803CCF94 003C8BF4  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCF98 003C8BF8  38 60 00 00 */	li r3, 0
/* 803CCF9C 003C8BFC  7C 00 EA 14 */	add r0, r0, r29
/* 803CCFA0 003C8C00  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCFA4 003C8C04  48 00 00 D8 */	b lbl_803CD07C
lbl_803CCFA8:
/* 803CCFA8 003C8C08  2C 19 00 00 */	cmpwi r25, 0
/* 803CCFAC 003C8C0C  41 82 00 18 */	beq lbl_803CCFC4
/* 803CCFB0 003C8C10  80 17 00 B4 */	lwz r0, 0xb4(r23)
/* 803CCFB4 003C8C14  38 60 00 00 */	li r3, 0
/* 803CCFB8 003C8C18  7C 00 E2 14 */	add r0, r0, r28
/* 803CCFBC 003C8C1C  90 17 00 B4 */	stw r0, 0xb4(r23)
/* 803CCFC0 003C8C20  48 00 00 BC */	b lbl_803CD07C
lbl_803CCFC4:
/* 803CCFC4 003C8C24  80 17 00 88 */	lwz r0, 0x88(r23)
/* 803CCFC8 003C8C28  2C 00 00 03 */	cmpwi r0, 3
/* 803CCFCC 003C8C2C  40 82 00 54 */	bne lbl_803CD020
/* 803CCFD0 003C8C30  38 60 02 96 */	li r3, 0x296
/* 803CCFD4 003C8C34  38 00 00 36 */	li r0, 0x36
/* 803CCFD8 003C8C38  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CCFDC 003C8C3C  7E E3 BB 78 */	mr r3, r23
/* 803CCFE0 003C8C40  80 97 00 64 */	lwz r4, 0x64(r23)
/* 803CCFE4 003C8C44  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CCFE8 003C8C48  4B FF 23 45 */	bl func_803BF32C
/* 803CCFEC 003C8C4C  80 17 00 64 */	lwz r0, 0x64(r23)
/* 803CCFF0 003C8C50  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CCFF4 003C8C54  7E E3 BB 78 */	mr r3, r23
/* 803CCFF8 003C8C58  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CCFFC 003C8C5C  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CD000 003C8C60  7C B7 02 14 */	add r5, r23, r0
/* 803CD004 003C8C64  88 05 2D 67 */	lbz r0, 0x2d67(r5)
/* 803CD008 003C8C68  90 17 00 FC */	stw r0, 0xfc(r23)
/* 803CD00C 003C8C6C  4B FF 23 21 */	bl func_803BF32C
/* 803CD010 003C8C70  38 1B 00 01 */	addi r0, r27, 1
/* 803CD014 003C8C74  90 77 01 00 */	stw r3, 0x100(r23)
/* 803CD018 003C8C78  90 17 01 04 */	stw r0, 0x104(r23)
/* 803CD01C 003C8C7C  48 00 00 38 */	b lbl_803CD054
lbl_803CD020:
/* 803CD020 003C8C80  2C 1A FF FF */	cmpwi r26, -1
/* 803CD024 003C8C84  38 60 02 FD */	li r3, 0x2fd
/* 803CD028 003C8C88  40 82 00 08 */	bne lbl_803CD030
/* 803CD02C 003C8C8C  38 60 02 FA */	li r3, 0x2fa
lbl_803CD030:
/* 803CD030 003C8C90  38 00 00 0C */	li r0, 0xc
/* 803CD034 003C8C94  B0 77 00 F6 */	sth r3, 0xf6(r23)
/* 803CD038 003C8C98  80 97 00 94 */	lwz r4, 0x94(r23)
/* 803CD03C 003C8C9C  7E E3 BB 78 */	mr r3, r23
/* 803CD040 003C8CA0  98 17 00 F5 */	stb r0, 0xf5(r23)
/* 803CD044 003C8CA4  4B FF 22 E9 */	bl func_803BF32C
/* 803CD048 003C8CA8  38 1B 00 01 */	addi r0, r27, 1
/* 803CD04C 003C8CAC  90 77 00 F8 */	stw r3, 0xf8(r23)
/* 803CD050 003C8CB0  90 17 00 FC */	stw r0, 0xfc(r23)
lbl_803CD054:
/* 803CD054 003C8CB4  7C 9B C2 14 */	add r4, r27, r24
/* 803CD058 003C8CB8  88 04 00 19 */	lbz r0, 0x19(r4)
/* 803CD05C 003C8CBC  7C 60 D2 14 */	add r3, r0, r26
/* 803CD060 003C8CC0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CD064 003C8CC4  98 64 00 19 */	stb r3, 0x19(r4)
/* 803CD068 003C8CC8  7C 00 07 75 */	extsb. r0, r0
/* 803CD06C 003C8CCC  40 80 00 0C */	bge lbl_803CD078
/* 803CD070 003C8CD0  38 00 00 00 */	li r0, 0
/* 803CD074 003C8CD4  98 04 00 19 */	stb r0, 0x19(r4)
lbl_803CD078:
/* 803CD078 003C8CD8  38 60 00 00 */	li r3, 0
lbl_803CD07C:
/* 803CD07C 003C8CDC  39 61 00 30 */	addi r11, r1, 0x30
/* 803CD080 003C8CE0  4B DF A0 E1 */	bl _restgpr_22
/* 803CD084 003C8CE4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CD088 003C8CE8  7C 08 03 A6 */	mtlr r0
/* 803CD08C 003C8CEC  38 21 00 30 */	addi r1, r1, 0x30
/* 803CD090 003C8CF0  4E 80 00 20 */	blr 
/* 803CD094 003C8CF4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CD098 003C8CF8  7C 08 02 A6 */	mflr r0
/* 803CD09C 003C8CFC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CD0A0 003C8D00  39 61 00 30 */	addi r11, r1, 0x30
/* 803CD0A4 003C8D04  4B DF A0 81 */	bl _savegpr_26
/* 803CD0A8 003C8D08  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD0AC 003C8D0C  7C 9D 23 78 */	mr r29, r4
/* 803CD0B0 003C8D10  7C 7C 1B 78 */	mr r28, r3
/* 803CD0B4 003C8D14  38 05 00 01 */	addi r0, r5, 1
/* 803CD0B8 003C8D18  7F A3 EB 78 */	mr r3, r29
/* 803CD0BC 003C8D1C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD0C0 003C8D20  48 00 9D AD */	bl func_803D6E6C
/* 803CD0C4 003C8D24  7C 7B 1B 78 */	mr r27, r3
/* 803CD0C8 003C8D28  7F A3 EB 78 */	mr r3, r29
/* 803CD0CC 003C8D2C  48 00 9D A1 */	bl func_803D6E6C
/* 803CD0D0 003C8D30  7C 7E 1B 78 */	mr r30, r3
/* 803CD0D4 003C8D34  7F A3 EB 78 */	mr r3, r29
/* 803CD0D8 003C8D38  48 00 9D 95 */	bl func_803D6E6C
/* 803CD0DC 003C8D3C  7C 7F 1B 78 */	mr r31, r3
/* 803CD0E0 003C8D40  7F A3 EB 78 */	mr r3, r29
/* 803CD0E4 003C8D44  48 00 9D 89 */	bl func_803D6E6C
/* 803CD0E8 003C8D48  7C 7A 1B 78 */	mr r26, r3
/* 803CD0EC 003C8D4C  7F 83 E3 78 */	mr r3, r28
/* 803CD0F0 003C8D50  7F A4 EB 78 */	mr r4, r29
/* 803CD0F4 003C8D54  7F C5 F3 78 */	mr r5, r30
/* 803CD0F8 003C8D58  48 00 AF 45 */	bl func_803D803C
/* 803CD0FC 003C8D5C  7C 7E 1B 78 */	mr r30, r3
/* 803CD100 003C8D60  7F A3 EB 78 */	mr r3, r29
/* 803CD104 003C8D64  7F C4 F3 78 */	mr r4, r30
/* 803CD108 003C8D68  7F E5 FB 78 */	mr r5, r31
/* 803CD10C 003C8D6C  38 C0 00 00 */	li r6, 0
/* 803CD110 003C8D70  4B FE DB 95 */	bl func_803BACA4
/* 803CD114 003C8D74  38 1B FF F9 */	addi r0, r27, -7
/* 803CD118 003C8D78  90 61 00 08 */	stw r3, 8(r1)
/* 803CD11C 003C8D7C  28 00 00 0D */	cmplwi r0, 0xd
/* 803CD120 003C8D80  41 81 00 E4 */	bgt lbl_803CD204
/* 803CD124 003C8D84  3C 80 80 47 */	lis r4, lbl_80473F98@ha
/* 803CD128 003C8D88  54 00 10 3A */	slwi r0, r0, 2
/* 803CD12C 003C8D8C  38 84 3F 98 */	addi r4, r4, lbl_80473F98@l
/* 803CD130 003C8D90  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CD134 003C8D94  7C 89 03 A6 */	mtctr r4
/* 803CD138 003C8D98  4E 80 04 20 */	bctr 
/* 803CD13C 003C8D9C  93 41 00 08 */	stw r26, 8(r1)
/* 803CD140 003C8DA0  48 00 00 D8 */	b lbl_803CD218
/* 803CD144 003C8DA4  7C 03 D2 14 */	add r0, r3, r26
/* 803CD148 003C8DA8  90 01 00 08 */	stw r0, 8(r1)
/* 803CD14C 003C8DAC  48 00 00 CC */	b lbl_803CD218
/* 803CD150 003C8DB0  7C 1A 18 50 */	subf r0, r26, r3
/* 803CD154 003C8DB4  90 01 00 08 */	stw r0, 8(r1)
/* 803CD158 003C8DB8  48 00 00 C0 */	b lbl_803CD218
/* 803CD15C 003C8DBC  7C 60 D3 78 */	or r0, r3, r26
/* 803CD160 003C8DC0  90 01 00 08 */	stw r0, 8(r1)
/* 803CD164 003C8DC4  48 00 00 B4 */	b lbl_803CD218
/* 803CD168 003C8DC8  38 00 FF FF */	li r0, -1
/* 803CD16C 003C8DCC  7F 40 02 78 */	xor r0, r26, r0
/* 803CD170 003C8DD0  7C 60 00 38 */	and r0, r3, r0
/* 803CD174 003C8DD4  90 01 00 08 */	stw r0, 8(r1)
/* 803CD178 003C8DD8  48 00 00 A0 */	b lbl_803CD218
/* 803CD17C 003C8DDC  7C 03 D1 D6 */	mullw r0, r3, r26
/* 803CD180 003C8DE0  90 01 00 08 */	stw r0, 8(r1)
/* 803CD184 003C8DE4  48 00 00 94 */	b lbl_803CD218
/* 803CD188 003C8DE8  7C 03 D3 D6 */	divw r0, r3, r26
/* 803CD18C 003C8DEC  90 01 00 08 */	stw r0, 8(r1)
/* 803CD190 003C8DF0  48 00 00 88 */	b lbl_803CD218
/* 803CD194 003C8DF4  7C 60 D0 30 */	slw r0, r3, r26
/* 803CD198 003C8DF8  90 01 00 08 */	stw r0, 8(r1)
/* 803CD19C 003C8DFC  48 00 00 7C */	b lbl_803CD218
/* 803CD1A0 003C8E00  7C 60 D6 30 */	sraw r0, r3, r26
/* 803CD1A4 003C8E04  90 01 00 08 */	stw r0, 8(r1)
/* 803CD1A8 003C8E08  48 00 00 70 */	b lbl_803CD218
/* 803CD1AC 003C8E0C  7F 43 D3 78 */	mr r3, r26
/* 803CD1B0 003C8E10  48 01 07 71 */	bl func_803DD920
/* 803CD1B4 003C8E14  90 61 00 08 */	stw r3, 8(r1)
/* 803CD1B8 003C8E18  48 00 00 60 */	b lbl_803CD218
/* 803CD1BC 003C8E1C  3C 80 80 47 */	lis r4, lbl_80473F48@ha
/* 803CD1C0 003C8E20  38 60 00 00 */	li r3, 0
/* 803CD1C4 003C8E24  38 84 3F 48 */	addi r4, r4, lbl_80473F48@l
/* 803CD1C8 003C8E28  4C C6 31 82 */	crclr 6
/* 803CD1CC 003C8E2C  48 00 C6 D1 */	bl func_803D989C
/* 803CD1D0 003C8E30  48 00 00 48 */	b lbl_803CD218
/* 803CD1D4 003C8E34  7C 1A 18 51 */	subf. r0, r26, r3
/* 803CD1D8 003C8E38  90 01 00 08 */	stw r0, 8(r1)
/* 803CD1DC 003C8E3C  40 80 00 3C */	bge lbl_803CD218
/* 803CD1E0 003C8E40  38 00 00 00 */	li r0, 0
/* 803CD1E4 003C8E44  90 01 00 08 */	stw r0, 8(r1)
/* 803CD1E8 003C8E48  48 00 00 30 */	b lbl_803CD218
/* 803CD1EC 003C8E4C  7C 60 D2 78 */	xor r0, r3, r26
/* 803CD1F0 003C8E50  90 01 00 08 */	stw r0, 8(r1)
/* 803CD1F4 003C8E54  48 00 00 24 */	b lbl_803CD218
/* 803CD1F8 003C8E58  7C 60 D0 38 */	and r0, r3, r26
/* 803CD1FC 003C8E5C  90 01 00 08 */	stw r0, 8(r1)
/* 803CD200 003C8E60  48 00 00 18 */	b lbl_803CD218
lbl_803CD204:
/* 803CD204 003C8E64  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CD208 003C8E68  38 60 00 00 */	li r3, 0
/* 803CD20C 003C8E6C  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CD210 003C8E70  4C C6 31 82 */	crclr 6
/* 803CD214 003C8E74  48 00 C6 89 */	bl func_803D989C
lbl_803CD218:
/* 803CD218 003C8E78  2C 1F 00 1A */	cmpwi r31, 0x1a
/* 803CD21C 003C8E7C  40 82 00 14 */	bne lbl_803CD230
/* 803CD220 003C8E80  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 803CD224 003C8E84  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD228 003C8E88  7C 7D 02 14 */	add r3, r29, r0
/* 803CD22C 003C8E8C  98 83 03 90 */	stb r4, 0x390(r3)
lbl_803CD230:
/* 803CD230 003C8E90  7F A3 EB 78 */	mr r3, r29
/* 803CD234 003C8E94  7F C4 F3 78 */	mr r4, r30
/* 803CD238 003C8E98  7F E5 FB 78 */	mr r5, r31
/* 803CD23C 003C8E9C  38 C1 00 08 */	addi r6, r1, 8
/* 803CD240 003C8EA0  4B FE DF 55 */	bl func_803BB194
/* 803CD244 003C8EA4  7F 83 E3 78 */	mr r3, r28
/* 803CD248 003C8EA8  7F A4 EB 78 */	mr r4, r29
/* 803CD24C 003C8EAC  7F C5 F3 78 */	mr r5, r30
/* 803CD250 003C8EB0  4B FF 01 25 */	bl func_803BD374
/* 803CD254 003C8EB4  39 61 00 30 */	addi r11, r1, 0x30
/* 803CD258 003C8EB8  38 60 00 00 */	li r3, 0
/* 803CD25C 003C8EBC  4B DF 9F 15 */	bl _restgpr_26
/* 803CD260 003C8EC0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CD264 003C8EC4  7C 08 03 A6 */	mtlr r0
/* 803CD268 003C8EC8  38 21 00 30 */	addi r1, r1, 0x30
/* 803CD26C 003C8ECC  4E 80 00 20 */	blr 
/* 803CD270 003C8ED0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CD274 003C8ED4  7C 08 02 A6 */	mflr r0
/* 803CD278 003C8ED8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CD27C 003C8EDC  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD280 003C8EE0  4B DF 9E AD */	bl _savegpr_28
/* 803CD284 003C8EE4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD288 003C8EE8  7C 9D 23 78 */	mr r29, r4
/* 803CD28C 003C8EEC  7C 7C 1B 78 */	mr r28, r3
/* 803CD290 003C8EF0  38 05 00 01 */	addi r0, r5, 1
/* 803CD294 003C8EF4  7F A3 EB 78 */	mr r3, r29
/* 803CD298 003C8EF8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD29C 003C8EFC  48 00 9B D1 */	bl func_803D6E6C
/* 803CD2A0 003C8F00  7C 7E 1B 78 */	mr r30, r3
/* 803CD2A4 003C8F04  7F A3 EB 78 */	mr r3, r29
/* 803CD2A8 003C8F08  48 00 9B C5 */	bl func_803D6E6C
/* 803CD2AC 003C8F0C  7C 7F 1B 78 */	mr r31, r3
/* 803CD2B0 003C8F10  7F 83 E3 78 */	mr r3, r28
/* 803CD2B4 003C8F14  7F A4 EB 78 */	mr r4, r29
/* 803CD2B8 003C8F18  7F C5 F3 78 */	mr r5, r30
/* 803CD2BC 003C8F1C  48 00 AD 81 */	bl func_803D803C
/* 803CD2C0 003C8F20  54 60 10 3A */	slwi r0, r3, 2
/* 803CD2C4 003C8F24  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD2C8 003C8F28  7C 9D 02 14 */	add r4, r29, r0
/* 803CD2CC 003C8F2C  38 60 00 00 */	li r3, 0
/* 803CD2D0 003C8F30  80 04 21 8C */	lwz r0, 0x218c(r4)
/* 803CD2D4 003C8F34  7C 00 FB 78 */	or r0, r0, r31
/* 803CD2D8 003C8F38  90 04 21 8C */	stw r0, 0x218c(r4)
/* 803CD2DC 003C8F3C  4B DF 9E 9D */	bl _restgpr_28
/* 803CD2E0 003C8F40  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CD2E4 003C8F44  7C 08 03 A6 */	mtlr r0
/* 803CD2E8 003C8F48  38 21 00 20 */	addi r1, r1, 0x20
/* 803CD2EC 003C8F4C  4E 80 00 20 */	blr 
/* 803CD2F0 003C8F50  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CD2F4 003C8F54  7C 08 02 A6 */	mflr r0
/* 803CD2F8 003C8F58  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CD2FC 003C8F5C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD300 003C8F60  4B DF 9E 2D */	bl _savegpr_28
/* 803CD304 003C8F64  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD308 003C8F68  7C 9D 23 78 */	mr r29, r4
/* 803CD30C 003C8F6C  7C 7C 1B 78 */	mr r28, r3
/* 803CD310 003C8F70  38 05 00 01 */	addi r0, r5, 1
/* 803CD314 003C8F74  7F A3 EB 78 */	mr r3, r29
/* 803CD318 003C8F78  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD31C 003C8F7C  48 00 9B 51 */	bl func_803D6E6C
/* 803CD320 003C8F80  7C 7F 1B 78 */	mr r31, r3
/* 803CD324 003C8F84  7F A3 EB 78 */	mr r3, r29
/* 803CD328 003C8F88  48 00 9B 45 */	bl func_803D6E6C
/* 803CD32C 003C8F8C  7C 7E 1B 78 */	mr r30, r3
/* 803CD330 003C8F90  7F 83 E3 78 */	mr r3, r28
/* 803CD334 003C8F94  7F A4 EB 78 */	mr r4, r29
/* 803CD338 003C8F98  7F E5 FB 78 */	mr r5, r31
/* 803CD33C 003C8F9C  48 00 AD 01 */	bl func_803D803C
/* 803CD340 003C8FA0  7C 64 1B 78 */	mr r4, r3
/* 803CD344 003C8FA4  7F 83 E3 78 */	mr r3, r28
/* 803CD348 003C8FA8  7F C5 F3 78 */	mr r5, r30
/* 803CD34C 003C8FAC  4B FE 41 0D */	bl func_803B1458
/* 803CD350 003C8FB0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD354 003C8FB4  38 60 00 00 */	li r3, 0
/* 803CD358 003C8FB8  4B DF 9E 21 */	bl _restgpr_28
/* 803CD35C 003C8FBC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CD360 003C8FC0  7C 08 03 A6 */	mtlr r0
/* 803CD364 003C8FC4  38 21 00 20 */	addi r1, r1, 0x20
/* 803CD368 003C8FC8  4E 80 00 20 */	blr 
/* 803CD36C 003C8FCC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CD370 003C8FD0  7C 08 02 A6 */	mflr r0
/* 803CD374 003C8FD4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CD378 003C8FD8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD37C 003C8FDC  4B DF 9D A9 */	bl _savegpr_26
/* 803CD380 003C8FE0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD384 003C8FE4  7C 9F 23 78 */	mr r31, r4
/* 803CD388 003C8FE8  7C 7A 1B 78 */	mr r26, r3
/* 803CD38C 003C8FEC  38 05 00 01 */	addi r0, r5, 1
/* 803CD390 003C8FF0  7F E3 FB 78 */	mr r3, r31
/* 803CD394 003C8FF4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD398 003C8FF8  48 00 9A D5 */	bl func_803D6E6C
/* 803CD39C 003C8FFC  7C 7B 1B 78 */	mr r27, r3
/* 803CD3A0 003C9000  7F E3 FB 78 */	mr r3, r31
/* 803CD3A4 003C9004  48 00 9A C9 */	bl func_803D6E6C
/* 803CD3A8 003C9008  7C 7E 1B 78 */	mr r30, r3
/* 803CD3AC 003C900C  7F E3 FB 78 */	mr r3, r31
/* 803CD3B0 003C9010  48 00 9A BD */	bl func_803D6E6C
/* 803CD3B4 003C9014  7C 7C 1B 78 */	mr r28, r3
/* 803CD3B8 003C9018  7F E3 FB 78 */	mr r3, r31
/* 803CD3BC 003C901C  48 00 9A B1 */	bl func_803D6E6C
/* 803CD3C0 003C9020  2C 1E 00 00 */	cmpwi r30, 0
/* 803CD3C4 003C9024  7C 7D 1B 78 */	mr r29, r3
/* 803CD3C8 003C9028  40 82 00 80 */	bne lbl_803CD448
/* 803CD3CC 003C902C  7F 43 D3 78 */	mr r3, r26
/* 803CD3D0 003C9030  4B FD F4 91 */	bl func_803AC860
/* 803CD3D4 003C9034  7C 7E 1B 78 */	mr r30, r3
/* 803CD3D8 003C9038  3B 40 00 00 */	li r26, 0
/* 803CD3DC 003C903C  48 00 00 60 */	b lbl_803CD43C
lbl_803CD3E0:
/* 803CD3E0 003C9040  2C 1B 00 00 */	cmpwi r27, 0
/* 803CD3E4 003C9044  40 82 00 3C */	bne lbl_803CD420
/* 803CD3E8 003C9048  7F E3 FB 78 */	mr r3, r31
/* 803CD3EC 003C904C  7F 44 D3 78 */	mr r4, r26
/* 803CD3F0 003C9050  4B FF 27 29 */	bl func_803BFB18
/* 803CD3F4 003C9054  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CD3F8 003C9058  7C 1C 00 00 */	cmpw r28, r0
/* 803CD3FC 003C905C  40 82 00 3C */	bne lbl_803CD438
/* 803CD400 003C9060  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803CD404 003C9064  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CD408 003C9068  93 5F 00 80 */	stw r26, 0x80(r31)
/* 803CD40C 003C906C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CD410 003C9070  7C 00 EA 14 */	add r0, r0, r29
/* 803CD414 003C9074  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CD418 003C9078  93 43 00 18 */	stw r26, 0x18(r3)
/* 803CD41C 003C907C  48 00 00 A8 */	b lbl_803CD4C4
lbl_803CD420:
/* 803CD420 003C9080  7F E3 FB 78 */	mr r3, r31
/* 803CD424 003C9084  7F 44 D3 78 */	mr r4, r26
/* 803CD428 003C9088  4B FF 26 F1 */	bl func_803BFB18
/* 803CD42C 003C908C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CD430 003C9090  7C 1C 00 00 */	cmpw r28, r0
/* 803CD434 003C9094  41 82 00 90 */	beq lbl_803CD4C4
lbl_803CD438:
/* 803CD438 003C9098  3B 5A 00 01 */	addi r26, r26, 1
lbl_803CD43C:
/* 803CD43C 003C909C  7C 1A F0 00 */	cmpw r26, r30
/* 803CD440 003C90A0  41 80 FF A0 */	blt lbl_803CD3E0
/* 803CD444 003C90A4  48 00 00 80 */	b lbl_803CD4C4
lbl_803CD448:
/* 803CD448 003C90A8  7F 43 D3 78 */	mr r3, r26
/* 803CD44C 003C90AC  7F E4 FB 78 */	mr r4, r31
/* 803CD450 003C90B0  7F C5 F3 78 */	mr r5, r30
/* 803CD454 003C90B4  48 00 AB E9 */	bl func_803D803C
/* 803CD458 003C90B8  2C 1B 00 00 */	cmpwi r27, 0
/* 803CD45C 003C90BC  7C 7B 1B 78 */	mr r27, r3
/* 803CD460 003C90C0  40 82 00 3C */	bne lbl_803CD49C
/* 803CD464 003C90C4  7F E3 FB 78 */	mr r3, r31
/* 803CD468 003C90C8  7F 64 DB 78 */	mr r4, r27
/* 803CD46C 003C90CC  4B FF 26 AD */	bl func_803BFB18
/* 803CD470 003C90D0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CD474 003C90D4  7C 1C 00 00 */	cmpw r28, r0
/* 803CD478 003C90D8  40 82 00 4C */	bne lbl_803CD4C4
/* 803CD47C 003C90DC  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803CD480 003C90E0  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CD484 003C90E4  93 7F 00 80 */	stw r27, 0x80(r31)
/* 803CD488 003C90E8  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CD48C 003C90EC  7C 00 EA 14 */	add r0, r0, r29
/* 803CD490 003C90F0  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CD494 003C90F4  93 63 00 18 */	stw r27, 0x18(r3)
/* 803CD498 003C90F8  48 00 00 2C */	b lbl_803CD4C4
lbl_803CD49C:
/* 803CD49C 003C90FC  7F E3 FB 78 */	mr r3, r31
/* 803CD4A0 003C9100  7F 64 DB 78 */	mr r4, r27
/* 803CD4A4 003C9104  4B FF 26 75 */	bl func_803BFB18
/* 803CD4A8 003C9108  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CD4AC 003C910C  7C 1C 00 00 */	cmpw r28, r0
/* 803CD4B0 003C9110  41 82 00 14 */	beq lbl_803CD4C4
/* 803CD4B4 003C9114  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803CD4B8 003C9118  93 7F 00 80 */	stw r27, 0x80(r31)
/* 803CD4BC 003C911C  7C 00 EA 14 */	add r0, r0, r29
/* 803CD4C0 003C9120  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803CD4C4:
/* 803CD4C4 003C9124  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD4C8 003C9128  38 60 00 00 */	li r3, 0
/* 803CD4CC 003C912C  4B DF 9C A5 */	bl _restgpr_26
/* 803CD4D0 003C9130  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CD4D4 003C9134  7C 08 03 A6 */	mtlr r0
/* 803CD4D8 003C9138  38 21 00 20 */	addi r1, r1, 0x20
/* 803CD4DC 003C913C  4E 80 00 20 */	blr 
/* 803CD4E0 003C9140  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CD4E4 003C9144  7C 08 02 A6 */	mflr r0
/* 803CD4E8 003C9148  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CD4EC 003C914C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD4F0 003C9150  4B DF 9C 41 */	bl _savegpr_29
/* 803CD4F4 003C9154  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD4F8 003C9158  7C 9D 23 78 */	mr r29, r4
/* 803CD4FC 003C915C  7F A3 EB 78 */	mr r3, r29
/* 803CD500 003C9160  38 05 00 01 */	addi r0, r5, 1
/* 803CD504 003C9164  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD508 003C9168  48 00 99 65 */	bl func_803D6E6C
/* 803CD50C 003C916C  7C 7E 1B 78 */	mr r30, r3
/* 803CD510 003C9170  7F A3 EB 78 */	mr r3, r29
/* 803CD514 003C9174  48 00 99 59 */	bl func_803D6E6C
/* 803CD518 003C9178  7C 7F 1B 78 */	mr r31, r3
/* 803CD51C 003C917C  48 00 C2 9D */	bl func_803D97B8
/* 803CD520 003C9180  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CD524 003C9184  38 9E 00 01 */	addi r4, r30, 1
/* 803CD528 003C9188  7C 05 23 D6 */	divw r0, r5, r4
/* 803CD52C 003C918C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD530 003C9190  38 60 00 00 */	li r3, 0
/* 803CD534 003C9194  7C 00 21 D6 */	mullw r0, r0, r4
/* 803CD538 003C9198  7C 00 28 50 */	subf r0, r0, r5
/* 803CD53C 003C919C  7C 1F 02 14 */	add r0, r31, r0
/* 803CD540 003C91A0  90 1D 01 34 */	stw r0, 0x134(r29)
/* 803CD544 003C91A4  4B DF 9C 39 */	bl _restgpr_29
/* 803CD548 003C91A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CD54C 003C91AC  7C 08 03 A6 */	mtlr r0
/* 803CD550 003C91B0  38 21 00 20 */	addi r1, r1, 0x20
/* 803CD554 003C91B4  4E 80 00 20 */	blr 
/* 803CD558 003C91B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CD55C 003C91BC  7C 08 02 A6 */	mflr r0
/* 803CD560 003C91C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CD564 003C91C4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD568 003C91C8  4B DF 9B C1 */	bl _savegpr_27
/* 803CD56C 003C91CC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD570 003C91D0  7C 9C 23 78 */	mr r28, r4
/* 803CD574 003C91D4  7C 7B 1B 78 */	mr r27, r3
/* 803CD578 003C91D8  38 05 00 01 */	addi r0, r5, 1
/* 803CD57C 003C91DC  7F 83 E3 78 */	mr r3, r28
/* 803CD580 003C91E0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD584 003C91E4  48 00 98 E9 */	bl func_803D6E6C
/* 803CD588 003C91E8  7C 7E 1B 78 */	mr r30, r3
/* 803CD58C 003C91EC  7F 83 E3 78 */	mr r3, r28
/* 803CD590 003C91F0  48 00 98 DD */	bl func_803D6E6C
/* 803CD594 003C91F4  7C 7F 1B 78 */	mr r31, r3
/* 803CD598 003C91F8  7F 83 E3 78 */	mr r3, r28
/* 803CD59C 003C91FC  48 00 98 D1 */	bl func_803D6E6C
/* 803CD5A0 003C9200  7C 7D 1B 78 */	mr r29, r3
/* 803CD5A4 003C9204  7F 63 DB 78 */	mr r3, r27
/* 803CD5A8 003C9208  7F 84 E3 78 */	mr r4, r28
/* 803CD5AC 003C920C  7F E5 FB 78 */	mr r5, r31
/* 803CD5B0 003C9210  48 00 98 DD */	bl func_803D6E8C
/* 803CD5B4 003C9214  7C 7F 1B 78 */	mr r31, r3
/* 803CD5B8 003C9218  7F 63 DB 78 */	mr r3, r27
/* 803CD5BC 003C921C  7F 84 E3 78 */	mr r4, r28
/* 803CD5C0 003C9220  7F A5 EB 78 */	mr r5, r29
/* 803CD5C4 003C9224  48 00 98 C9 */	bl func_803D6E8C
/* 803CD5C8 003C9228  38 1E FF F9 */	addi r0, r30, -7
/* 803CD5CC 003C922C  28 00 00 0D */	cmplwi r0, 0xd
/* 803CD5D0 003C9230  41 81 01 34 */	bgt lbl_803CD704
/* 803CD5D4 003C9234  3C 80 80 47 */	lis r4, lbl_80473FD0@ha
/* 803CD5D8 003C9238  54 00 10 3A */	slwi r0, r0, 2
/* 803CD5DC 003C923C  38 84 3F D0 */	addi r4, r4, lbl_80473FD0@l
/* 803CD5E0 003C9240  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CD5E4 003C9244  7C 89 03 A6 */	mtctr r4
/* 803CD5E8 003C9248  4E 80 04 20 */	bctr 
/* 803CD5EC 003C924C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD5F0 003C9250  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD5F4 003C9254  48 00 01 24 */	b lbl_803CD718
/* 803CD5F8 003C9258  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD5FC 003C925C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD600 003C9260  7C 04 02 14 */	add r0, r4, r0
/* 803CD604 003C9264  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD608 003C9268  48 00 01 10 */	b lbl_803CD718
/* 803CD60C 003C926C  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD610 003C9270  80 1F 00 00 */	lwz r0, 0(r31)
/* 803CD614 003C9274  7C 03 00 50 */	subf r0, r3, r0
/* 803CD618 003C9278  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD61C 003C927C  48 00 00 FC */	b lbl_803CD718
/* 803CD620 003C9280  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD624 003C9284  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD628 003C9288  7C 80 03 78 */	or r0, r4, r0
/* 803CD62C 003C928C  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD630 003C9290  48 00 00 E8 */	b lbl_803CD718
/* 803CD634 003C9294  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD638 003C9298  38 00 FF FF */	li r0, -1
/* 803CD63C 003C929C  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD640 003C92A0  7C 60 02 78 */	xor r0, r3, r0
/* 803CD644 003C92A4  7C 80 00 38 */	and r0, r4, r0
/* 803CD648 003C92A8  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD64C 003C92AC  48 00 00 CC */	b lbl_803CD718
/* 803CD650 003C92B0  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD654 003C92B4  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD658 003C92B8  7C 04 01 D6 */	mullw r0, r4, r0
/* 803CD65C 003C92BC  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD660 003C92C0  48 00 00 B8 */	b lbl_803CD718
/* 803CD664 003C92C4  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD668 003C92C8  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD66C 003C92CC  7C 04 03 D6 */	divw r0, r4, r0
/* 803CD670 003C92D0  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD674 003C92D4  48 00 00 A4 */	b lbl_803CD718
/* 803CD678 003C92D8  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD67C 003C92DC  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD680 003C92E0  7C 80 00 30 */	slw r0, r4, r0
/* 803CD684 003C92E4  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD688 003C92E8  48 00 00 90 */	b lbl_803CD718
/* 803CD68C 003C92EC  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD690 003C92F0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD694 003C92F4  7C 80 06 30 */	sraw r0, r4, r0
/* 803CD698 003C92F8  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD69C 003C92FC  48 00 00 7C */	b lbl_803CD718
/* 803CD6A0 003C9300  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD6A4 003C9304  48 01 02 7D */	bl func_803DD920
/* 803CD6A8 003C9308  90 7F 00 00 */	stw r3, 0(r31)
/* 803CD6AC 003C930C  48 00 00 6C */	b lbl_803CD718
/* 803CD6B0 003C9310  80 1F 00 00 */	lwz r0, 0(r31)
/* 803CD6B4 003C9314  90 03 00 00 */	stw r0, 0(r3)
/* 803CD6B8 003C9318  48 00 00 60 */	b lbl_803CD718
/* 803CD6BC 003C931C  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD6C0 003C9320  80 1F 00 00 */	lwz r0, 0(r31)
/* 803CD6C4 003C9324  7C 03 00 51 */	subf. r0, r3, r0
/* 803CD6C8 003C9328  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD6CC 003C932C  40 80 00 4C */	bge lbl_803CD718
/* 803CD6D0 003C9330  38 00 00 00 */	li r0, 0
/* 803CD6D4 003C9334  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD6D8 003C9338  48 00 00 40 */	b lbl_803CD718
/* 803CD6DC 003C933C  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD6E0 003C9340  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD6E4 003C9344  7C 80 02 78 */	xor r0, r4, r0
/* 803CD6E8 003C9348  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD6EC 003C934C  48 00 00 2C */	b lbl_803CD718
/* 803CD6F0 003C9350  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CD6F4 003C9354  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD6F8 003C9358  7C 80 00 38 */	and r0, r4, r0
/* 803CD6FC 003C935C  90 1F 00 00 */	stw r0, 0(r31)
/* 803CD700 003C9360  48 00 00 18 */	b lbl_803CD718
lbl_803CD704:
/* 803CD704 003C9364  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CD708 003C9368  38 60 00 00 */	li r3, 0
/* 803CD70C 003C936C  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CD710 003C9370  4C C6 31 82 */	crclr 6
/* 803CD714 003C9374  48 00 C1 89 */	bl func_803D989C
lbl_803CD718:
/* 803CD718 003C9378  39 61 00 20 */	addi r11, r1, 0x20
/* 803CD71C 003C937C  38 60 00 00 */	li r3, 0
/* 803CD720 003C9380  4B DF 9A 55 */	bl _restgpr_27
/* 803CD724 003C9384  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CD728 003C9388  7C 08 03 A6 */	mtlr r0
/* 803CD72C 003C938C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CD730 003C9390  4E 80 00 20 */	blr 
/* 803CD734 003C9394  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CD738 003C9398  7C 08 02 A6 */	mflr r0
/* 803CD73C 003C939C  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CD740 003C93A0  39 61 00 30 */	addi r11, r1, 0x30
/* 803CD744 003C93A4  4B DF 99 E1 */	bl _savegpr_26
/* 803CD748 003C93A8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD74C 003C93AC  7C 9C 23 78 */	mr r28, r4
/* 803CD750 003C93B0  7C 7B 1B 78 */	mr r27, r3
/* 803CD754 003C93B4  38 05 00 01 */	addi r0, r5, 1
/* 803CD758 003C93B8  7F 83 E3 78 */	mr r3, r28
/* 803CD75C 003C93BC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD760 003C93C0  48 00 97 0D */	bl func_803D6E6C
/* 803CD764 003C93C4  7C 7F 1B 78 */	mr r31, r3
/* 803CD768 003C93C8  7F 83 E3 78 */	mr r3, r28
/* 803CD76C 003C93CC  48 00 97 01 */	bl func_803D6E6C
/* 803CD770 003C93D0  7C 7D 1B 78 */	mr r29, r3
/* 803CD774 003C93D4  7F 83 E3 78 */	mr r3, r28
/* 803CD778 003C93D8  48 00 96 F5 */	bl func_803D6E6C
/* 803CD77C 003C93DC  7C 7E 1B 78 */	mr r30, r3
/* 803CD780 003C93E0  7F 83 E3 78 */	mr r3, r28
/* 803CD784 003C93E4  48 00 96 E9 */	bl func_803D6E6C
/* 803CD788 003C93E8  7C 7A 1B 78 */	mr r26, r3
/* 803CD78C 003C93EC  7F 63 DB 78 */	mr r3, r27
/* 803CD790 003C93F0  7F 84 E3 78 */	mr r4, r28
/* 803CD794 003C93F4  7F A5 EB 78 */	mr r5, r29
/* 803CD798 003C93F8  48 00 A8 A5 */	bl func_803D803C
/* 803CD79C 003C93FC  7C 7D 1B 78 */	mr r29, r3
/* 803CD7A0 003C9400  7F 83 E3 78 */	mr r3, r28
/* 803CD7A4 003C9404  7F A4 EB 78 */	mr r4, r29
/* 803CD7A8 003C9408  7F C5 F3 78 */	mr r5, r30
/* 803CD7AC 003C940C  38 C0 00 00 */	li r6, 0
/* 803CD7B0 003C9410  4B FE D4 F5 */	bl func_803BACA4
/* 803CD7B4 003C9414  90 61 00 08 */	stw r3, 8(r1)
/* 803CD7B8 003C9418  7F 63 DB 78 */	mr r3, r27
/* 803CD7BC 003C941C  7F 84 E3 78 */	mr r4, r28
/* 803CD7C0 003C9420  7F 45 D3 78 */	mr r5, r26
/* 803CD7C4 003C9424  48 00 96 C9 */	bl func_803D6E8C
/* 803CD7C8 003C9428  38 1F FF F9 */	addi r0, r31, -7
/* 803CD7CC 003C942C  28 00 00 0D */	cmplwi r0, 0xd
/* 803CD7D0 003C9430  41 81 01 34 */	bgt lbl_803CD904
/* 803CD7D4 003C9434  3C 80 80 47 */	lis r4, lbl_80474008@ha
/* 803CD7D8 003C9438  54 00 10 3A */	slwi r0, r0, 2
/* 803CD7DC 003C943C  38 84 40 08 */	addi r4, r4, lbl_80474008@l
/* 803CD7E0 003C9440  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CD7E4 003C9444  7C 89 03 A6 */	mtctr r4
/* 803CD7E8 003C9448  4E 80 04 20 */	bctr 
/* 803CD7EC 003C944C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD7F0 003C9450  90 01 00 08 */	stw r0, 8(r1)
/* 803CD7F4 003C9454  48 00 01 24 */	b lbl_803CD918
/* 803CD7F8 003C9458  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD7FC 003C945C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD800 003C9460  7C 04 02 14 */	add r0, r4, r0
/* 803CD804 003C9464  90 01 00 08 */	stw r0, 8(r1)
/* 803CD808 003C9468  48 00 01 10 */	b lbl_803CD918
/* 803CD80C 003C946C  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD810 003C9470  80 01 00 08 */	lwz r0, 8(r1)
/* 803CD814 003C9474  7C 03 00 50 */	subf r0, r3, r0
/* 803CD818 003C9478  90 01 00 08 */	stw r0, 8(r1)
/* 803CD81C 003C947C  48 00 00 FC */	b lbl_803CD918
/* 803CD820 003C9480  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD824 003C9484  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD828 003C9488  7C 80 03 78 */	or r0, r4, r0
/* 803CD82C 003C948C  90 01 00 08 */	stw r0, 8(r1)
/* 803CD830 003C9490  48 00 00 E8 */	b lbl_803CD918
/* 803CD834 003C9494  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD838 003C9498  38 00 FF FF */	li r0, -1
/* 803CD83C 003C949C  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD840 003C94A0  7C 60 02 78 */	xor r0, r3, r0
/* 803CD844 003C94A4  7C 80 00 38 */	and r0, r4, r0
/* 803CD848 003C94A8  90 01 00 08 */	stw r0, 8(r1)
/* 803CD84C 003C94AC  48 00 00 CC */	b lbl_803CD918
/* 803CD850 003C94B0  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD854 003C94B4  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD858 003C94B8  7C 04 01 D6 */	mullw r0, r4, r0
/* 803CD85C 003C94BC  90 01 00 08 */	stw r0, 8(r1)
/* 803CD860 003C94C0  48 00 00 B8 */	b lbl_803CD918
/* 803CD864 003C94C4  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD868 003C94C8  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD86C 003C94CC  7C 04 03 D6 */	divw r0, r4, r0
/* 803CD870 003C94D0  90 01 00 08 */	stw r0, 8(r1)
/* 803CD874 003C94D4  48 00 00 A4 */	b lbl_803CD918
/* 803CD878 003C94D8  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD87C 003C94DC  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD880 003C94E0  7C 80 00 30 */	slw r0, r4, r0
/* 803CD884 003C94E4  90 01 00 08 */	stw r0, 8(r1)
/* 803CD888 003C94E8  48 00 00 90 */	b lbl_803CD918
/* 803CD88C 003C94EC  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD890 003C94F0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD894 003C94F4  7C 80 06 30 */	sraw r0, r4, r0
/* 803CD898 003C94F8  90 01 00 08 */	stw r0, 8(r1)
/* 803CD89C 003C94FC  48 00 00 7C */	b lbl_803CD918
/* 803CD8A0 003C9500  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD8A4 003C9504  48 01 00 7D */	bl func_803DD920
/* 803CD8A8 003C9508  90 61 00 08 */	stw r3, 8(r1)
/* 803CD8AC 003C950C  48 00 00 6C */	b lbl_803CD918
/* 803CD8B0 003C9510  80 01 00 08 */	lwz r0, 8(r1)
/* 803CD8B4 003C9514  90 03 00 00 */	stw r0, 0(r3)
/* 803CD8B8 003C9518  48 00 00 60 */	b lbl_803CD918
/* 803CD8BC 003C951C  80 63 00 00 */	lwz r3, 0(r3)
/* 803CD8C0 003C9520  80 01 00 08 */	lwz r0, 8(r1)
/* 803CD8C4 003C9524  7C 03 00 51 */	subf. r0, r3, r0
/* 803CD8C8 003C9528  90 01 00 08 */	stw r0, 8(r1)
/* 803CD8CC 003C952C  40 80 00 4C */	bge lbl_803CD918
/* 803CD8D0 003C9530  38 00 00 00 */	li r0, 0
/* 803CD8D4 003C9534  90 01 00 08 */	stw r0, 8(r1)
/* 803CD8D8 003C9538  48 00 00 40 */	b lbl_803CD918
/* 803CD8DC 003C953C  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD8E0 003C9540  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD8E4 003C9544  7C 80 02 78 */	xor r0, r4, r0
/* 803CD8E8 003C9548  90 01 00 08 */	stw r0, 8(r1)
/* 803CD8EC 003C954C  48 00 00 2C */	b lbl_803CD918
/* 803CD8F0 003C9550  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD8F4 003C9554  80 03 00 00 */	lwz r0, 0(r3)
/* 803CD8F8 003C9558  7C 80 00 38 */	and r0, r4, r0
/* 803CD8FC 003C955C  90 01 00 08 */	stw r0, 8(r1)
/* 803CD900 003C9560  48 00 00 18 */	b lbl_803CD918
lbl_803CD904:
/* 803CD904 003C9564  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CD908 003C9568  38 60 00 00 */	li r3, 0
/* 803CD90C 003C956C  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CD910 003C9570  4C C6 31 82 */	crclr 6
/* 803CD914 003C9574  48 00 BF 89 */	bl func_803D989C
lbl_803CD918:
/* 803CD918 003C9578  2C 1F 00 11 */	cmpwi r31, 0x11
/* 803CD91C 003C957C  41 82 00 40 */	beq lbl_803CD95C
/* 803CD920 003C9580  2C 1E 00 1A */	cmpwi r30, 0x1a
/* 803CD924 003C9584  40 82 00 14 */	bne lbl_803CD938
/* 803CD928 003C9588  57 A0 06 3E */	clrlwi r0, r29, 0x18
/* 803CD92C 003C958C  80 81 00 08 */	lwz r4, 8(r1)
/* 803CD930 003C9590  7C 7C 02 14 */	add r3, r28, r0
/* 803CD934 003C9594  98 83 03 90 */	stb r4, 0x390(r3)
lbl_803CD938:
/* 803CD938 003C9598  7F 83 E3 78 */	mr r3, r28
/* 803CD93C 003C959C  7F A4 EB 78 */	mr r4, r29
/* 803CD940 003C95A0  7F C5 F3 78 */	mr r5, r30
/* 803CD944 003C95A4  38 C1 00 08 */	addi r6, r1, 8
/* 803CD948 003C95A8  4B FE D8 4D */	bl func_803BB194
/* 803CD94C 003C95AC  7F 63 DB 78 */	mr r3, r27
/* 803CD950 003C95B0  7F 84 E3 78 */	mr r4, r28
/* 803CD954 003C95B4  7F A5 EB 78 */	mr r5, r29
/* 803CD958 003C95B8  4B FE FA 1D */	bl func_803BD374
lbl_803CD95C:
/* 803CD95C 003C95BC  39 61 00 30 */	addi r11, r1, 0x30
/* 803CD960 003C95C0  38 60 00 00 */	li r3, 0
/* 803CD964 003C95C4  4B DF 98 0D */	bl _restgpr_26
/* 803CD968 003C95C8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CD96C 003C95CC  7C 08 03 A6 */	mtlr r0
/* 803CD970 003C95D0  38 21 00 30 */	addi r1, r1, 0x30
/* 803CD974 003C95D4  4E 80 00 20 */	blr 
/* 803CD978 003C95D8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CD97C 003C95DC  7C 08 02 A6 */	mflr r0
/* 803CD980 003C95E0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CD984 003C95E4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CD988 003C95E8  7C 9F 23 78 */	mr r31, r4
/* 803CD98C 003C95EC  7F E3 FB 78 */	mr r3, r31
/* 803CD990 003C95F0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD994 003C95F4  38 05 00 01 */	addi r0, r5, 1
/* 803CD998 003C95F8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD99C 003C95FC  48 00 94 D1 */	bl func_803D6E6C
/* 803CD9A0 003C9600  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803CD9A4 003C9604  7C 00 1A 14 */	add r0, r0, r3
/* 803CD9A8 003C9608  38 60 00 00 */	li r3, 0
/* 803CD9AC 003C960C  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803CD9B0 003C9610  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CD9B4 003C9614  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CD9B8 003C9618  7C 08 03 A6 */	mtlr r0
/* 803CD9BC 003C961C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CD9C0 003C9620  4E 80 00 20 */	blr 
/* 803CD9C4 003C9624  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CD9C8 003C9628  7C 08 02 A6 */	mflr r0
/* 803CD9CC 003C962C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CD9D0 003C9630  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CD9D4 003C9634  7C 9F 23 78 */	mr r31, r4
/* 803CD9D8 003C9638  7F E3 FB 78 */	mr r3, r31
/* 803CD9DC 003C963C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CD9E0 003C9640  38 05 00 01 */	addi r0, r5, 1
/* 803CD9E4 003C9644  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CD9E8 003C9648  48 00 94 85 */	bl func_803D6E6C
/* 803CD9EC 003C964C  7C 65 1B 78 */	mr r5, r3
/* 803CD9F0 003C9650  7F E3 FB 78 */	mr r3, r31
/* 803CD9F4 003C9654  38 80 00 02 */	li r4, 2
/* 803CD9F8 003C9658  4B FE CF F5 */	bl func_803BA9EC
/* 803CD9FC 003C965C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CDA00 003C9660  38 60 00 00 */	li r3, 0
/* 803CDA04 003C9664  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CDA08 003C9668  7C 08 03 A6 */	mtlr r0
/* 803CDA0C 003C966C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CDA10 003C9670  4E 80 00 20 */	blr 
/* 803CDA14 003C9674  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CDA18 003C9678  7C 08 02 A6 */	mflr r0
/* 803CDA1C 003C967C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CDA20 003C9680  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CDA24 003C9684  7C 9F 23 78 */	mr r31, r4
/* 803CDA28 003C9688  93 C1 00 08 */	stw r30, 8(r1)
/* 803CDA2C 003C968C  7C 7E 1B 78 */	mr r30, r3
/* 803CDA30 003C9690  7F E3 FB 78 */	mr r3, r31
/* 803CDA34 003C9694  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CDA38 003C9698  38 05 00 01 */	addi r0, r5, 1
/* 803CDA3C 003C969C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CDA40 003C96A0  48 00 94 2D */	bl func_803D6E6C
/* 803CDA44 003C96A4  7C 65 1B 78 */	mr r5, r3
/* 803CDA48 003C96A8  7F C3 F3 78 */	mr r3, r30
/* 803CDA4C 003C96AC  7F E4 FB 78 */	mr r4, r31
/* 803CDA50 003C96B0  48 00 94 3D */	bl func_803D6E8C
/* 803CDA54 003C96B4  7C 64 1B 78 */	mr r4, r3
/* 803CDA58 003C96B8  7F E3 FB 78 */	mr r3, r31
/* 803CDA5C 003C96BC  80 A4 00 00 */	lwz r5, 0(r4)
/* 803CDA60 003C96C0  38 80 00 02 */	li r4, 2
/* 803CDA64 003C96C4  4B FE CF 89 */	bl func_803BA9EC
/* 803CDA68 003C96C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CDA6C 003C96CC  38 60 00 00 */	li r3, 0
/* 803CDA70 003C96D0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CDA74 003C96D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CDA78 003C96D8  7C 08 03 A6 */	mtlr r0
/* 803CDA7C 003C96DC  38 21 00 10 */	addi r1, r1, 0x10
/* 803CDA80 003C96E0  4E 80 00 20 */	blr 
/* 803CDA84 003C96E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CDA88 003C96E8  7C 08 02 A6 */	mflr r0
/* 803CDA8C 003C96EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CDA90 003C96F0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CDA94 003C96F4  4B DF 96 9D */	bl _savegpr_29
/* 803CDA98 003C96F8  7C 7E 1B 78 */	mr r30, r3
/* 803CDA9C 003C96FC  7C 9F 23 78 */	mr r31, r4
/* 803CDAA0 003C9700  3B A0 00 00 */	li r29, 0
/* 803CDAA4 003C9704  4B FD ED 9D */	bl func_803AC840
/* 803CDAA8 003C9708  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803CDAAC 003C970C  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803CDAB0 003C9710  38 84 00 01 */	addi r4, r4, 1
/* 803CDAB4 003C9714  54 A0 08 3C */	slwi r0, r5, 1
/* 803CDAB8 003C9718  90 9F 00 B4 */	stw r4, 0xb4(r31)
/* 803CDABC 003C971C  7C 9F 02 14 */	add r4, r31, r0
/* 803CDAC0 003C9720  A0 04 30 84 */	lhz r0, 0x3084(r4)
/* 803CDAC4 003C9724  2C 00 00 00 */	cmpwi r0, 0
/* 803CDAC8 003C9728  41 82 00 0C */	beq lbl_803CDAD4
/* 803CDACC 003C972C  7C 1D 03 78 */	mr r29, r0
/* 803CDAD0 003C9730  48 00 00 6C */	b lbl_803CDB3C
lbl_803CDAD4:
/* 803CDAD4 003C9734  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CDAD8 003C9738  41 82 00 64 */	beq lbl_803CDB3C
/* 803CDADC 003C973C  54 A0 18 38 */	slwi r0, r5, 3
/* 803CDAE0 003C9740  7C DF 02 14 */	add r6, r31, r0
/* 803CDAE4 003C9744  A0 A6 30 92 */	lhz r5, 0x3092(r6)
/* 803CDAE8 003C9748  A0 66 30 90 */	lhz r3, 0x3090(r6)
/* 803CDAEC 003C974C  A0 86 30 8C */	lhz r4, 0x308c(r6)
/* 803CDAF0 003C9750  A0 06 30 8E */	lhz r0, 0x308e(r6)
/* 803CDAF4 003C9754  7C 65 1A 14 */	add r3, r5, r3
/* 803CDAF8 003C9758  7C 04 02 14 */	add r0, r4, r0
/* 803CDAFC 003C975C  7F A3 02 15 */	add. r29, r3, r0
/* 803CDB00 003C9760  41 82 00 3C */	beq lbl_803CDB3C
lbl_803CDB04:
/* 803CDB04 003C9764  48 00 BC B5 */	bl func_803D97B8
/* 803CDB08 003C9768  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CDB0C 003C976C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CDB10 003C9770  7C A3 16 70 */	srawi r3, r5, 2
/* 803CDB14 003C9774  7C 83 01 94 */	addze r4, r3
/* 803CDB18 003C9778  54 03 18 38 */	slwi r3, r0, 3
/* 803CDB1C 003C977C  54 80 10 3A */	slwi r0, r4, 2
/* 803CDB20 003C9780  7C 00 28 50 */	subf r0, r0, r5
/* 803CDB24 003C9784  54 00 08 3C */	slwi r0, r0, 1
/* 803CDB28 003C9788  7C 00 FA 14 */	add r0, r0, r31
/* 803CDB2C 003C978C  7C 63 02 14 */	add r3, r3, r0
/* 803CDB30 003C9790  A3 A3 30 8C */	lhz r29, 0x308c(r3)
/* 803CDB34 003C9794  2C 1D 00 00 */	cmpwi r29, 0
/* 803CDB38 003C9798  41 82 FF CC */	beq lbl_803CDB04
lbl_803CDB3C:
/* 803CDB3C 003C979C  2C 1D 00 00 */	cmpwi r29, 0
/* 803CDB40 003C97A0  41 82 00 B4 */	beq lbl_803CDBF4
/* 803CDB44 003C97A4  7F E3 FB 78 */	mr r3, r31
/* 803CDB48 003C97A8  57 A4 04 3E */	clrlwi r4, r29, 0x10
/* 803CDB4C 003C97AC  4B FF AB 81 */	bl func_803C86CC
/* 803CDB50 003C97B0  2C 03 00 01 */	cmpwi r3, 1
/* 803CDB54 003C97B4  40 82 00 A0 */	bne lbl_803CDBF4
/* 803CDB58 003C97B8  80 1F 21 3C */	lwz r0, 0x213c(r31)
/* 803CDB5C 003C97BC  7F C3 F3 78 */	mr r3, r30
/* 803CDB60 003C97C0  93 BF 30 44 */	stw r29, 0x3044(r31)
/* 803CDB64 003C97C4  7F E4 FB 78 */	mr r4, r31
/* 803CDB68 003C97C8  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803CDB6C 003C97CC  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803CDB70 003C97D0  54 00 04 A0 */	rlwinm r0, r0, 0, 0x12, 0x10
/* 803CDB74 003C97D4  57 A6 04 3E */	clrlwi r6, r29, 0x10
/* 803CDB78 003C97D8  90 1F 21 3C */	stw r0, 0x213c(r31)
/* 803CDB7C 003C97DC  38 E0 00 01 */	li r7, 1
/* 803CDB80 003C97E0  39 00 00 00 */	li r8, 0
/* 803CDB84 003C97E4  4B FE ED E1 */	bl func_803BC964
/* 803CDB88 003C97E8  2C 03 00 FF */	cmpwi r3, 0xff
/* 803CDB8C 003C97EC  90 7F 00 6C */	stw r3, 0x6c(r31)
/* 803CDB90 003C97F0  40 82 00 20 */	bne lbl_803CDBB0
/* 803CDB94 003C97F4  38 00 00 26 */	li r0, 0x26
/* 803CDB98 003C97F8  7F E3 FB 78 */	mr r3, r31
/* 803CDB9C 003C97FC  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803CDBA0 003C9800  38 80 00 02 */	li r4, 2
/* 803CDBA4 003C9804  38 A0 01 19 */	li r5, 0x119
/* 803CDBA8 003C9808  4B FE CE 2D */	bl func_803BA9D4
/* 803CDBAC 003C980C  48 00 00 60 */	b lbl_803CDC0C
lbl_803CDBB0:
/* 803CDBB0 003C9810  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CDBB4 003C9814  7F A5 EB 78 */	mr r5, r29
/* 803CDBB8 003C9818  38 80 00 01 */	li r4, 1
/* 803CDBBC 003C981C  54 00 20 36 */	slwi r0, r0, 4
/* 803CDBC0 003C9820  7C DF 02 14 */	add r6, r31, r0
/* 803CDBC4 003C9824  90 66 21 AC */	stw r3, 0x21ac(r6)
/* 803CDBC8 003C9828  7F E3 FB 78 */	mr r3, r31
/* 803CDBCC 003C982C  4B FE CE 09 */	bl func_803BA9D4
/* 803CDBD0 003C9830  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CDBD4 003C9834  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803CDBD8 003C9838  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803CDBDC 003C983C  38 60 00 19 */	li r3, 0x19
/* 803CDBE0 003C9840  90 05 CD E8 */	stw r0, -0x3218(r5)
/* 803CDBE4 003C9844  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803CDBE8 003C9848  90 04 00 04 */	stw r0, 4(r4)
/* 803CDBEC 003C984C  4B DA 1E 61 */	bl func_8016FA4C
/* 803CDBF0 003C9850  48 00 00 1C */	b lbl_803CDC0C
lbl_803CDBF4:
/* 803CDBF4 003C9854  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CDBF8 003C9858  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803CDBFC 003C985C  7C 7F 02 14 */	add r3, r31, r0
/* 803CDC00 003C9860  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803CDC04 003C9864  64 00 80 00 */	oris r0, r0, 0x8000
/* 803CDC08 003C9868  90 03 02 D4 */	stw r0, 0x2d4(r3)
lbl_803CDC0C:
/* 803CDC0C 003C986C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CDC10 003C9870  38 60 00 00 */	li r3, 0
/* 803CDC14 003C9874  4B DF 95 69 */	bl _restgpr_29
/* 803CDC18 003C9878  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CDC1C 003C987C  7C 08 03 A6 */	mtlr r0
/* 803CDC20 003C9880  38 21 00 20 */	addi r1, r1, 0x20
/* 803CDC24 003C9884  4E 80 00 20 */	blr 
/* 803CDC28 003C9888  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CDC2C 003C988C  7C 08 02 A6 */	mflr r0
/* 803CDC30 003C9890  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CDC34 003C9894  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CDC38 003C9898  7C 9F 23 78 */	mr r31, r4
/* 803CDC3C 003C989C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CDC40 003C98A0  38 05 00 01 */	addi r0, r5, 1
/* 803CDC44 003C98A4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CDC48 003C98A8  4B FD EC 19 */	bl func_803AC860
/* 803CDC4C 003C98AC  39 20 00 00 */	li r9, 0
/* 803CDC50 003C98B0  38 80 00 00 */	li r4, 0
/* 803CDC54 003C98B4  38 C0 00 06 */	li r6, 6
/* 803CDC58 003C98B8  38 00 00 08 */	li r0, 8
/* 803CDC5C 003C98BC  48 00 00 34 */	b lbl_803CDC90
lbl_803CDC60:
/* 803CDC60 003C98C0  7C FF 22 14 */	add r7, r31, r4
/* 803CDC64 003C98C4  39 00 00 00 */	li r8, 0
/* 803CDC68 003C98C8  7C 09 03 A6 */	mtctr r0
lbl_803CDC6C:
/* 803CDC6C 003C98CC  7C A7 42 14 */	add r5, r7, r8
/* 803CDC70 003C98D0  39 08 00 01 */	addi r8, r8, 1
/* 803CDC74 003C98D4  98 C5 2D 58 */	stb r6, 0x2d58(r5)
/* 803CDC78 003C98D8  42 00 FF F4 */	bdnz lbl_803CDC6C
/* 803CDC7C 003C98DC  80 A7 2D B0 */	lwz r5, 0x2db0(r7)
/* 803CDC80 003C98E0  39 29 00 01 */	addi r9, r9, 1
/* 803CDC84 003C98E4  38 84 00 C0 */	addi r4, r4, 0xc0
/* 803CDC88 003C98E8  54 A5 03 14 */	rlwinm r5, r5, 0, 0xc, 0xa
/* 803CDC8C 003C98EC  90 A7 2D B0 */	stw r5, 0x2db0(r7)
lbl_803CDC90:
/* 803CDC90 003C98F0  7C 09 18 00 */	cmpw r9, r3
/* 803CDC94 003C98F4  41 80 FF CC */	blt lbl_803CDC60
/* 803CDC98 003C98F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CDC9C 003C98FC  38 60 00 00 */	li r3, 0
/* 803CDCA0 003C9900  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CDCA4 003C9904  7C 08 03 A6 */	mtlr r0
/* 803CDCA8 003C9908  38 21 00 10 */	addi r1, r1, 0x10
/* 803CDCAC 003C990C  4E 80 00 20 */	blr 
/* 803CDCB0 003C9910  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CDCB4 003C9914  7C 08 02 A6 */	mflr r0
/* 803CDCB8 003C9918  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CDCBC 003C991C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CDCC0 003C9920  7C 9F 23 78 */	mr r31, r4
/* 803CDCC4 003C9924  93 C1 00 08 */	stw r30, 8(r1)
/* 803CDCC8 003C9928  7C 7E 1B 78 */	mr r30, r3
/* 803CDCCC 003C992C  7F E3 FB 78 */	mr r3, r31
/* 803CDCD0 003C9930  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CDCD4 003C9934  38 05 00 01 */	addi r0, r5, 1
/* 803CDCD8 003C9938  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CDCDC 003C993C  48 00 91 91 */	bl func_803D6E6C
/* 803CDCE0 003C9940  7C 65 1B 78 */	mr r5, r3
/* 803CDCE4 003C9944  7F C3 F3 78 */	mr r3, r30
/* 803CDCE8 003C9948  7F E4 FB 78 */	mr r4, r31
/* 803CDCEC 003C994C  48 00 A3 51 */	bl func_803D803C
/* 803CDCF0 003C9950  7C 65 1B 78 */	mr r5, r3
/* 803CDCF4 003C9954  7F C3 F3 78 */	mr r3, r30
/* 803CDCF8 003C9958  7F E4 FB 78 */	mr r4, r31
/* 803CDCFC 003C995C  4B FE F6 A1 */	bl func_803BD39C
/* 803CDD00 003C9960  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CDD04 003C9964  38 60 00 00 */	li r3, 0
/* 803CDD08 003C9968  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CDD0C 003C996C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CDD10 003C9970  7C 08 03 A6 */	mtlr r0
/* 803CDD14 003C9974  38 21 00 10 */	addi r1, r1, 0x10
/* 803CDD18 003C9978  4E 80 00 20 */	blr 
/* 803CDD1C 003C997C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CDD20 003C9980  7C 08 02 A6 */	mflr r0
/* 803CDD24 003C9984  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CDD28 003C9988  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CDD2C 003C998C  7C 9F 23 78 */	mr r31, r4
/* 803CDD30 003C9990  93 C1 00 08 */	stw r30, 8(r1)
/* 803CDD34 003C9994  7C 7E 1B 78 */	mr r30, r3
/* 803CDD38 003C9998  7F E3 FB 78 */	mr r3, r31
/* 803CDD3C 003C999C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CDD40 003C99A0  38 05 00 01 */	addi r0, r5, 1
/* 803CDD44 003C99A4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CDD48 003C99A8  48 00 91 25 */	bl func_803D6E6C
/* 803CDD4C 003C99AC  7C 65 1B 78 */	mr r5, r3
/* 803CDD50 003C99B0  7F C3 F3 78 */	mr r3, r30
/* 803CDD54 003C99B4  7F E4 FB 78 */	mr r4, r31
/* 803CDD58 003C99B8  48 00 A2 E5 */	bl func_803D803C
/* 803CDD5C 003C99BC  7C 65 1B 78 */	mr r5, r3
/* 803CDD60 003C99C0  7F C3 F3 78 */	mr r3, r30
/* 803CDD64 003C99C4  7F E4 FB 78 */	mr r4, r31
/* 803CDD68 003C99C8  4B FE F6 5D */	bl func_803BD3C4
/* 803CDD6C 003C99CC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CDD70 003C99D0  38 60 00 00 */	li r3, 0
/* 803CDD74 003C99D4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CDD78 003C99D8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CDD7C 003C99DC  7C 08 03 A6 */	mtlr r0
/* 803CDD80 003C99E0  38 21 00 10 */	addi r1, r1, 0x10
/* 803CDD84 003C99E4  4E 80 00 20 */	blr 
/* 803CDD88 003C99E8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CDD8C 003C99EC  7C 08 02 A6 */	mflr r0
/* 803CDD90 003C99F0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CDD94 003C99F4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CDD98 003C99F8  4B DF 93 95 */	bl _savegpr_28
/* 803CDD9C 003C99FC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CDDA0 003C9A00  7C 9D 23 78 */	mr r29, r4
/* 803CDDA4 003C9A04  7C 7C 1B 78 */	mr r28, r3
/* 803CDDA8 003C9A08  38 05 00 01 */	addi r0, r5, 1
/* 803CDDAC 003C9A0C  7F A3 EB 78 */	mr r3, r29
/* 803CDDB0 003C9A10  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CDDB4 003C9A14  48 00 90 B9 */	bl func_803D6E6C
/* 803CDDB8 003C9A18  7C 7F 1B 78 */	mr r31, r3
/* 803CDDBC 003C9A1C  7F A3 EB 78 */	mr r3, r29
/* 803CDDC0 003C9A20  48 00 90 AD */	bl func_803D6E6C
/* 803CDDC4 003C9A24  7C 7E 1B 78 */	mr r30, r3
/* 803CDDC8 003C9A28  7F 83 E3 78 */	mr r3, r28
/* 803CDDCC 003C9A2C  7F A4 EB 78 */	mr r4, r29
/* 803CDDD0 003C9A30  7F E5 FB 78 */	mr r5, r31
/* 803CDDD4 003C9A34  48 00 A2 69 */	bl func_803D803C
/* 803CDDD8 003C9A38  7C 64 1B 78 */	mr r4, r3
/* 803CDDDC 003C9A3C  7F 83 E3 78 */	mr r3, r28
/* 803CDDE0 003C9A40  7F C5 F3 78 */	mr r5, r30
/* 803CDDE4 003C9A44  4B FE 37 8D */	bl func_803B1570
/* 803CDDE8 003C9A48  39 61 00 20 */	addi r11, r1, 0x20
/* 803CDDEC 003C9A4C  38 60 00 00 */	li r3, 0
/* 803CDDF0 003C9A50  4B DF 93 89 */	bl _restgpr_28
/* 803CDDF4 003C9A54  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CDDF8 003C9A58  7C 08 03 A6 */	mtlr r0
/* 803CDDFC 003C9A5C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CDE00 003C9A60  4E 80 00 20 */	blr 
/* 803CDE04 003C9A64  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CDE08 003C9A68  7C 08 02 A6 */	mflr r0
/* 803CDE0C 003C9A6C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CDE10 003C9A70  39 61 00 20 */	addi r11, r1, 0x20
/* 803CDE14 003C9A74  4B DF 93 19 */	bl _savegpr_28
/* 803CDE18 003C9A78  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CDE1C 003C9A7C  7C 9D 23 78 */	mr r29, r4
/* 803CDE20 003C9A80  7C 7C 1B 78 */	mr r28, r3
/* 803CDE24 003C9A84  38 05 00 01 */	addi r0, r5, 1
/* 803CDE28 003C9A88  7F A3 EB 78 */	mr r3, r29
/* 803CDE2C 003C9A8C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CDE30 003C9A90  48 00 90 3D */	bl func_803D6E6C
/* 803CDE34 003C9A94  7C 7F 1B 78 */	mr r31, r3
/* 803CDE38 003C9A98  7F A3 EB 78 */	mr r3, r29
/* 803CDE3C 003C9A9C  48 00 90 31 */	bl func_803D6E6C
/* 803CDE40 003C9AA0  7C 7E 1B 78 */	mr r30, r3
/* 803CDE44 003C9AA4  7F 83 E3 78 */	mr r3, r28
/* 803CDE48 003C9AA8  7F A4 EB 78 */	mr r4, r29
/* 803CDE4C 003C9AAC  7F E5 FB 78 */	mr r5, r31
/* 803CDE50 003C9AB0  48 00 A1 ED */	bl func_803D803C
/* 803CDE54 003C9AB4  7C 64 1B 78 */	mr r4, r3
/* 803CDE58 003C9AB8  7F 83 E3 78 */	mr r3, r28
/* 803CDE5C 003C9ABC  7F C5 F3 78 */	mr r5, r30
/* 803CDE60 003C9AC0  4B FE 37 4D */	bl func_803B15AC
/* 803CDE64 003C9AC4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CDE68 003C9AC8  38 60 00 00 */	li r3, 0
/* 803CDE6C 003C9ACC  4B DF 93 0D */	bl _restgpr_28
/* 803CDE70 003C9AD0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CDE74 003C9AD4  7C 08 03 A6 */	mtlr r0
/* 803CDE78 003C9AD8  38 21 00 20 */	addi r1, r1, 0x20
/* 803CDE7C 003C9ADC  4E 80 00 20 */	blr 

.global func_803CDE80
func_803CDE80:
/* 803CDE80 003C9AE0  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803CDE84 003C9AE4  7C 08 02 A6 */	mflr r0
/* 803CDE88 003C9AE8  90 01 00 54 */	stw r0, 0x54(r1)
/* 803CDE8C 003C9AEC  39 61 00 50 */	addi r11, r1, 0x50
/* 803CDE90 003C9AF0  4B DF 92 9D */	bl _savegpr_28
/* 803CDE94 003C9AF4  7C 7D 1B 78 */	mr r29, r3
/* 803CDE98 003C9AF8  7C 9E 23 78 */	mr r30, r4
/* 803CDE9C 003C9AFC  7C BC 2B 78 */	mr r28, r5
/* 803CDEA0 003C9B00  38 60 00 05 */	li r3, 5
/* 803CDEA4 003C9B04  38 80 00 60 */	li r4, 0x60
/* 803CDEA8 003C9B08  4B DA 00 C9 */	bl func_8016DF70
/* 803CDEAC 003C9B0C  57 80 08 3C */	slwi r0, r28, 1
/* 803CDEB0 003C9B10  7C 7F 1B 78 */	mr r31, r3
/* 803CDEB4 003C9B14  7F 9D 02 14 */	add r28, r29, r0
/* 803CDEB8 003C9B18  38 81 00 08 */	addi r4, r1, 8
/* 803CDEBC 003C9B1C  A0 7C 00 A0 */	lhz r3, 0xa0(r28)
/* 803CDEC0 003C9B20  48 01 0A DD */	bl func_803DE99C
/* 803CDEC4 003C9B24  A0 7C 00 A0 */	lhz r3, 0xa0(r28)
/* 803CDEC8 003C9B28  7F E4 FB 78 */	mr r4, r31
/* 803CDECC 003C9B2C  48 01 0A E1 */	bl func_803DE9AC
/* 803CDED0 003C9B30  88 01 00 08 */	lbz r0, 8(r1)
/* 803CDED4 003C9B34  2C 00 00 02 */	cmpwi r0, 2
/* 803CDED8 003C9B38  41 82 00 5C */	beq lbl_803CDF34
/* 803CDEDC 003C9B3C  40 80 00 14 */	bge lbl_803CDEF0
/* 803CDEE0 003C9B40  2C 00 00 00 */	cmpwi r0, 0
/* 803CDEE4 003C9B44  41 82 00 18 */	beq lbl_803CDEFC
/* 803CDEE8 003C9B48  40 80 00 30 */	bge lbl_803CDF18
/* 803CDEEC 003C9B4C  48 00 00 10 */	b lbl_803CDEFC
lbl_803CDEF0:
/* 803CDEF0 003C9B50  2C 00 00 04 */	cmpwi r0, 4
/* 803CDEF4 003C9B54  40 80 00 08 */	bge lbl_803CDEFC
/* 803CDEF8 003C9B58  48 00 00 58 */	b lbl_803CDF50
lbl_803CDEFC:
/* 803CDEFC 003C9B5C  88 61 00 0B */	lbz r3, 0xb(r1)
/* 803CDF00 003C9B60  38 03 FF FF */	addi r0, r3, -1
/* 803CDF04 003C9B64  1C 00 00 06 */	mulli r0, r0, 6
/* 803CDF08 003C9B68  7C 7F 02 14 */	add r3, r31, r0
/* 803CDF0C 003C9B6C  A0 03 00 02 */	lhz r0, 2(r3)
/* 803CDF10 003C9B70  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 803CDF14 003C9B74  48 00 00 54 */	b lbl_803CDF68
lbl_803CDF18:
/* 803CDF18 003C9B78  88 61 00 0B */	lbz r3, 0xb(r1)
/* 803CDF1C 003C9B7C  38 03 FF FF */	addi r0, r3, -1
/* 803CDF20 003C9B80  1C 00 00 0E */	mulli r0, r0, 0xe
/* 803CDF24 003C9B84  7C 7F 02 14 */	add r3, r31, r0
/* 803CDF28 003C9B88  A0 03 00 02 */	lhz r0, 2(r3)
/* 803CDF2C 003C9B8C  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 803CDF30 003C9B90  48 00 00 38 */	b lbl_803CDF68
lbl_803CDF34:
/* 803CDF34 003C9B94  88 61 00 0B */	lbz r3, 0xb(r1)
/* 803CDF38 003C9B98  38 03 FF FF */	addi r0, r3, -1
/* 803CDF3C 003C9B9C  54 00 18 38 */	slwi r0, r0, 3
/* 803CDF40 003C9BA0  7C 7F 02 14 */	add r3, r31, r0
/* 803CDF44 003C9BA4  A0 03 00 02 */	lhz r0, 2(r3)
/* 803CDF48 003C9BA8  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 803CDF4C 003C9BAC  48 00 00 1C */	b lbl_803CDF68
lbl_803CDF50:
/* 803CDF50 003C9BB0  88 61 00 0B */	lbz r3, 0xb(r1)
/* 803CDF54 003C9BB4  38 03 FF FF */	addi r0, r3, -1
/* 803CDF58 003C9BB8  54 00 20 36 */	slwi r0, r0, 4
/* 803CDF5C 003C9BBC  7C 7F 02 14 */	add r3, r31, r0
/* 803CDF60 003C9BC0  A0 03 00 02 */	lhz r0, 2(r3)
/* 803CDF64 003C9BC4  54 04 06 3E */	clrlwi r4, r0, 0x18
lbl_803CDF68:
/* 803CDF68 003C9BC8  80 7D 00 2C */	lwz r3, 0x2c(r29)
/* 803CDF6C 003C9BCC  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803CDF70 003C9BD0  40 82 00 0C */	bne lbl_803CDF7C
/* 803CDF74 003C9BD4  28 03 00 4B */	cmplwi r3, 0x4b
/* 803CDF78 003C9BD8  40 82 00 28 */	bne lbl_803CDFA0
lbl_803CDF7C:
/* 803CDF7C 003C9BDC  80 7E 21 68 */	lwz r3, 0x2168(r30)
/* 803CDF80 003C9BE0  54 80 15 BA */	rlwinm r0, r4, 2, 0x16, 0x1d
/* 803CDF84 003C9BE4  3C 80 80 47 */	lis r4, lbl_80474040@ha
/* 803CDF88 003C9BE8  88 A1 00 09 */	lbz r5, 9(r1)
/* 803CDF8C 003C9BEC  7C 03 01 D6 */	mullw r0, r3, r0
/* 803CDF90 003C9BF0  38 84 40 40 */	addi r4, r4, lbl_80474040@l
/* 803CDF94 003C9BF4  7C 64 28 AE */	lbzx r3, r4, r5
/* 803CDF98 003C9BF8  7F 83 01 D6 */	mullw r28, r3, r0
/* 803CDF9C 003C9BFC  48 00 00 54 */	b lbl_803CDFF0
lbl_803CDFA0:
/* 803CDFA0 003C9C00  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CDFA4 003C9C04  41 82 00 2C */	beq lbl_803CDFD0
/* 803CDFA8 003C9C08  80 7E 21 68 */	lwz r3, 0x2168(r30)
/* 803CDFAC 003C9C0C  54 80 15 BA */	rlwinm r0, r4, 2, 0x16, 0x1d
/* 803CDFB0 003C9C10  3C 80 80 47 */	lis r4, lbl_80474040@ha
/* 803CDFB4 003C9C14  88 A1 00 09 */	lbz r5, 9(r1)
/* 803CDFB8 003C9C18  7C 03 01 D6 */	mullw r0, r3, r0
/* 803CDFBC 003C9C1C  38 84 40 40 */	addi r4, r4, lbl_80474040@l
/* 803CDFC0 003C9C20  7C 64 28 AE */	lbzx r3, r4, r5
/* 803CDFC4 003C9C24  54 00 08 3C */	slwi r0, r0, 1
/* 803CDFC8 003C9C28  7F 83 01 D6 */	mullw r28, r3, r0
/* 803CDFCC 003C9C2C  48 00 00 24 */	b lbl_803CDFF0
lbl_803CDFD0:
/* 803CDFD0 003C9C30  80 7E 21 68 */	lwz r3, 0x2168(r30)
/* 803CDFD4 003C9C34  54 80 15 BA */	rlwinm r0, r4, 2, 0x16, 0x1d
/* 803CDFD8 003C9C38  3C 80 80 47 */	lis r4, lbl_80474040@ha
/* 803CDFDC 003C9C3C  88 A1 00 09 */	lbz r5, 9(r1)
/* 803CDFE0 003C9C40  7C 03 01 D6 */	mullw r0, r3, r0
/* 803CDFE4 003C9C44  38 84 40 40 */	addi r4, r4, lbl_80474040@l
/* 803CDFE8 003C9C48  7C 64 28 AE */	lbzx r3, r4, r5
/* 803CDFEC 003C9C4C  7F 83 01 D6 */	mullw r28, r3, r0
lbl_803CDFF0:
/* 803CDFF0 003C9C50  7F E3 FB 78 */	mr r3, r31
/* 803CDFF4 003C9C54  4B DA 00 AD */	bl func_8016E0A0
/* 803CDFF8 003C9C58  39 61 00 50 */	addi r11, r1, 0x50
/* 803CDFFC 003C9C5C  7F 83 E3 78 */	mr r3, r28
/* 803CE000 003C9C60  4B DF 91 79 */	bl _restgpr_28
/* 803CE004 003C9C64  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803CE008 003C9C68  7C 08 03 A6 */	mtlr r0
/* 803CE00C 003C9C6C  38 21 00 50 */	addi r1, r1, 0x50
/* 803CE010 003C9C70  4E 80 00 20 */	blr 
/* 803CE014 003C9C74  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CE018 003C9C78  7C 08 02 A6 */	mflr r0
/* 803CE01C 003C9C7C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CE020 003C9C80  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE024 003C9C84  4B DF 91 0D */	bl _savegpr_29
/* 803CE028 003C9C88  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE02C 003C9C8C  7C 7D 1B 78 */	mr r29, r3
/* 803CE030 003C9C90  7C 9E 23 78 */	mr r30, r4
/* 803CE034 003C9C94  38 05 00 01 */	addi r0, r5, 1
/* 803CE038 003C9C98  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE03C 003C9C9C  88 03 23 E4 */	lbz r0, 0x23e4(r3)
/* 803CE040 003C9CA0  28 00 00 01 */	cmplwi r0, 1
/* 803CE044 003C9CA4  40 82 00 50 */	bne lbl_803CE094
/* 803CE048 003C9CA8  38 A0 00 01 */	li r5, 1
/* 803CE04C 003C9CAC  4B FF FE 35 */	bl func_803CDE80
/* 803CE050 003C9CB0  80 9D 00 2C */	lwz r4, 0x2c(r29)
/* 803CE054 003C9CB4  7C 7F 1B 78 */	mr r31, r3
/* 803CE058 003C9CB8  54 80 06 F7 */	rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 803CE05C 003C9CBC  40 82 00 0C */	bne lbl_803CE068
/* 803CE060 003C9CC0  28 04 00 4B */	cmplwi r4, 0x4b
/* 803CE064 003C9CC4  40 82 00 18 */	bne lbl_803CE07C
lbl_803CE068:
/* 803CE068 003C9CC8  7F A3 EB 78 */	mr r3, r29
/* 803CE06C 003C9CCC  7F C4 F3 78 */	mr r4, r30
/* 803CE070 003C9CD0  38 A0 00 03 */	li r5, 3
/* 803CE074 003C9CD4  4B FF FE 0D */	bl func_803CDE80
/* 803CE078 003C9CD8  7F FF 1A 14 */	add r31, r31, r3
lbl_803CE07C:
/* 803CE07C 003C9CDC  7F A3 EB 78 */	mr r3, r29
/* 803CE080 003C9CE0  38 80 00 00 */	li r4, 0
/* 803CE084 003C9CE4  4B FD EB 49 */	bl func_803ACBCC
/* 803CE088 003C9CE8  7F E4 FB 78 */	mr r4, r31
/* 803CE08C 003C9CEC  48 00 C0 75 */	bl func_803DA100
/* 803CE090 003C9CF0  48 00 00 28 */	b lbl_803CE0B8
lbl_803CE094:
/* 803CE094 003C9CF4  80 63 00 68 */	lwz r3, 0x68(r3)
/* 803CE098 003C9CF8  80 9D 00 48 */	lwz r4, 0x48(r29)
/* 803CE09C 003C9CFC  4B FD FD 4D */	bl func_803ADDE8
/* 803CE0A0 003C9D00  7C 7F 1B 78 */	mr r31, r3
/* 803CE0A4 003C9D04  7F A3 EB 78 */	mr r3, r29
/* 803CE0A8 003C9D08  38 80 00 00 */	li r4, 0
/* 803CE0AC 003C9D0C  4B FD EB 21 */	bl func_803ACBCC
/* 803CE0B0 003C9D10  7F E4 FB 78 */	mr r4, r31
/* 803CE0B4 003C9D14  48 00 C0 91 */	bl func_803DA144
lbl_803CE0B8:
/* 803CE0B8 003C9D18  2C 1F 00 00 */	cmpwi r31, 0
/* 803CE0BC 003C9D1C  41 82 00 0C */	beq lbl_803CE0C8
/* 803CE0C0 003C9D20  93 FE 01 30 */	stw r31, 0x130(r30)
/* 803CE0C4 003C9D24  48 00 00 0C */	b lbl_803CE0D0
lbl_803CE0C8:
/* 803CE0C8 003C9D28  38 00 00 00 */	li r0, 0
/* 803CE0CC 003C9D2C  90 1E 01 30 */	stw r0, 0x130(r30)
lbl_803CE0D0:
/* 803CE0D0 003C9D30  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE0D4 003C9D34  38 60 00 00 */	li r3, 0
/* 803CE0D8 003C9D38  4B DF 90 A5 */	bl _restgpr_29
/* 803CE0DC 003C9D3C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CE0E0 003C9D40  7C 08 03 A6 */	mtlr r0
/* 803CE0E4 003C9D44  38 21 00 20 */	addi r1, r1, 0x20
/* 803CE0E8 003C9D48  4E 80 00 20 */	blr 
/* 803CE0EC 003C9D4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CE0F0 003C9D50  7C 08 02 A6 */	mflr r0
/* 803CE0F4 003C9D54  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CE0F8 003C9D58  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE0FC 003C9D5C  4B DF 90 2D */	bl _savegpr_27
/* 803CE100 003C9D60  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE104 003C9D64  7C 9E 23 78 */	mr r30, r4
/* 803CE108 003C9D68  7C 7B 1B 78 */	mr r27, r3
/* 803CE10C 003C9D6C  38 05 00 01 */	addi r0, r5, 1
/* 803CE110 003C9D70  7F C3 F3 78 */	mr r3, r30
/* 803CE114 003C9D74  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE118 003C9D78  48 00 8D 55 */	bl func_803D6E6C
/* 803CE11C 003C9D7C  7C 7D 1B 78 */	mr r29, r3
/* 803CE120 003C9D80  7F C3 F3 78 */	mr r3, r30
/* 803CE124 003C9D84  48 00 8D 49 */	bl func_803D6E6C
/* 803CE128 003C9D88  7C 7C 1B 78 */	mr r28, r3
/* 803CE12C 003C9D8C  7F 63 DB 78 */	mr r3, r27
/* 803CE130 003C9D90  4B FD FA 85 */	bl func_803ADBB4
/* 803CE134 003C9D94  2C 03 00 01 */	cmpwi r3, 1
/* 803CE138 003C9D98  41 82 00 20 */	beq lbl_803CE158
/* 803CE13C 003C9D9C  2C 1C 00 0F */	cmpwi r28, 0xf
/* 803CE140 003C9DA0  41 82 00 18 */	beq lbl_803CE158
/* 803CE144 003C9DA4  2C 1C 00 10 */	cmpwi r28, 0x10
/* 803CE148 003C9DA8  41 82 00 10 */	beq lbl_803CE158
/* 803CE14C 003C9DAC  38 1C FF E7 */	addi r0, r28, -25
/* 803CE150 003C9DB0  28 00 00 01 */	cmplwi r0, 1
/* 803CE154 003C9DB4  41 81 01 90 */	bgt lbl_803CE2E4
lbl_803CE158:
/* 803CE158 003C9DB8  7F 63 DB 78 */	mr r3, r27
/* 803CE15C 003C9DBC  7F C4 F3 78 */	mr r4, r30
/* 803CE160 003C9DC0  7F A5 EB 78 */	mr r5, r29
/* 803CE164 003C9DC4  48 00 9E D9 */	bl func_803D803C
/* 803CE168 003C9DC8  7C 7F 1B 78 */	mr r31, r3
/* 803CE16C 003C9DCC  7F C3 F3 78 */	mr r3, r30
/* 803CE170 003C9DD0  7F E4 FB 78 */	mr r4, r31
/* 803CE174 003C9DD4  7F 85 E3 78 */	mr r5, r28
/* 803CE178 003C9DD8  4B FF A7 71 */	bl func_803C88E8
/* 803CE17C 003C9DDC  2C 03 00 01 */	cmpwi r3, 1
/* 803CE180 003C9DE0  40 82 01 64 */	bne lbl_803CE2E4
/* 803CE184 003C9DE4  7F 63 DB 78 */	mr r3, r27
/* 803CE188 003C9DE8  7F C4 F3 78 */	mr r4, r30
/* 803CE18C 003C9DEC  7F E5 FB 78 */	mr r5, r31
/* 803CE190 003C9DF0  7F 86 E3 78 */	mr r6, r28
/* 803CE194 003C9DF4  4B FE 34 55 */	bl func_803B15E8
/* 803CE198 003C9DF8  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CE19C 003C9DFC  2C 1C 00 0A */	cmpwi r28, 0xa
/* 803CE1A0 003C9E00  38 64 CD E8 */	addi r3, r4, lbl_8048CDE8@l
/* 803CE1A4 003C9E04  38 00 00 00 */	li r0, 0
/* 803CE1A8 003C9E08  93 E4 CD E8 */	stw r31, -0x3218(r4)
/* 803CE1AC 003C9E0C  93 83 00 04 */	stw r28, 4(r3)
/* 803CE1B0 003C9E10  90 03 00 08 */	stw r0, 8(r3)
/* 803CE1B4 003C9E14  40 82 01 1C */	bne lbl_803CE2D0
/* 803CE1B8 003C9E18  81 1E 30 44 */	lwz r8, 0x3044(r30)
/* 803CE1BC 003C9E1C  28 08 01 76 */	cmplwi r8, 0x176
/* 803CE1C0 003C9E20  40 82 00 AC */	bne lbl_803CE26C
/* 803CE1C4 003C9E24  81 3E 00 B8 */	lwz r9, 0xb8(r30)
/* 803CE1C8 003C9E28  38 A0 FF FF */	li r5, -1
/* 803CE1CC 003C9E2C  38 80 FF FF */	li r4, -1
/* 803CE1D0 003C9E30  2C 09 00 00 */	cmpwi r9, 0
/* 803CE1D4 003C9E34  40 82 00 0C */	bne lbl_803CE1E0
/* 803CE1D8 003C9E38  38 00 00 00 */	li r0, 0
/* 803CE1DC 003C9E3C  48 00 00 88 */	b lbl_803CE264
lbl_803CE1E0:
/* 803CE1E0 003C9E40  38 09 FF FF */	addi r0, r9, -1
/* 803CE1E4 003C9E44  2C 09 00 01 */	cmpwi r9, 1
/* 803CE1E8 003C9E48  54 00 10 3A */	slwi r0, r0, 2
/* 803CE1EC 003C9E4C  7C 7E 02 14 */	add r3, r30, r0
/* 803CE1F0 003C9E50  80 E3 00 BC */	lwz r7, 0xbc(r3)
/* 803CE1F4 003C9E54  80 C3 00 CC */	lwz r6, 0xcc(r3)
/* 803CE1F8 003C9E58  40 81 00 18 */	ble lbl_803CE210
/* 803CE1FC 003C9E5C  38 09 FF FE */	addi r0, r9, -2
/* 803CE200 003C9E60  54 00 10 3A */	slwi r0, r0, 2
/* 803CE204 003C9E64  7C 7E 02 14 */	add r3, r30, r0
/* 803CE208 003C9E68  80 A3 00 BC */	lwz r5, 0xbc(r3)
/* 803CE20C 003C9E6C  80 83 00 CC */	lwz r4, 0xcc(r3)
lbl_803CE210:
/* 803CE210 003C9E70  2C 07 00 02 */	cmpwi r7, 2
/* 803CE214 003C9E74  40 82 00 0C */	bne lbl_803CE220
/* 803CE218 003C9E78  2C 06 00 DC */	cmpwi r6, 0xdc
/* 803CE21C 003C9E7C  41 82 00 14 */	beq lbl_803CE230
lbl_803CE220:
/* 803CE220 003C9E80  2C 05 00 02 */	cmpwi r5, 2
/* 803CE224 003C9E84  40 82 00 3C */	bne lbl_803CE260
/* 803CE228 003C9E88  2C 04 00 DC */	cmpwi r4, 0xdc
/* 803CE22C 003C9E8C  40 82 00 34 */	bne lbl_803CE260
lbl_803CE230:
/* 803CE230 003C9E90  80 7E 31 18 */	lwz r3, 0x3118(r30)
/* 803CE234 003C9E94  80 1E 00 B0 */	lwz r0, 0xb0(r30)
/* 803CE238 003C9E98  7C 03 00 00 */	cmpw r3, r0
/* 803CE23C 003C9E9C  40 82 00 0C */	bne lbl_803CE248
/* 803CE240 003C9EA0  38 00 00 01 */	li r0, 1
/* 803CE244 003C9EA4  48 00 00 20 */	b lbl_803CE264
lbl_803CE248:
/* 803CE248 003C9EA8  2C 07 00 02 */	cmpwi r7, 2
/* 803CE24C 003C9EAC  40 82 00 14 */	bne lbl_803CE260
/* 803CE250 003C9EB0  7C 06 18 00 */	cmpw r6, r3
/* 803CE254 003C9EB4  40 82 00 0C */	bne lbl_803CE260
/* 803CE258 003C9EB8  38 00 00 01 */	li r0, 1
/* 803CE25C 003C9EBC  48 00 00 08 */	b lbl_803CE264
lbl_803CE260:
/* 803CE260 003C9EC0  38 00 00 00 */	li r0, 0
lbl_803CE264:
/* 803CE264 003C9EC4  2C 00 00 00 */	cmpwi r0, 0
/* 803CE268 003C9EC8  40 82 00 14 */	bne lbl_803CE27C
lbl_803CE26C:
/* 803CE26C 003C9ECC  28 08 01 6D */	cmplwi r8, 0x16d
/* 803CE270 003C9ED0  41 82 00 0C */	beq lbl_803CE27C
/* 803CE274 003C9ED4  28 08 01 C2 */	cmplwi r8, 0x1c2
/* 803CE278 003C9ED8  40 82 00 30 */	bne lbl_803CE2A8
lbl_803CE27C:
/* 803CE27C 003C9EDC  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803CE280 003C9EE0  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803CE284 003C9EE4  80 A4 00 14 */	lwz r5, 0x14(r4)
/* 803CE288 003C9EE8  2C 05 00 00 */	cmpwi r5, 0
/* 803CE28C 003C9EEC  41 82 00 1C */	beq lbl_803CE2A8
/* 803CE290 003C9EF0  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CE294 003C9EF4  38 00 00 00 */	li r0, 0
/* 803CE298 003C9EF8  38 63 CD E8 */	addi r3, r3, lbl_8048CDE8@l
/* 803CE29C 003C9EFC  90 04 00 14 */	stw r0, 0x14(r4)
/* 803CE2A0 003C9F00  90 A3 00 0C */	stw r5, 0xc(r3)
/* 803CE2A4 003C9F04  48 00 00 30 */	b lbl_803CE2D4
lbl_803CE2A8:
/* 803CE2A8 003C9F08  3F A0 80 49 */	lis r29, lbl_8048CDE8@ha
/* 803CE2AC 003C9F0C  3B BD CD E8 */	addi r29, r29, lbl_8048CDE8@l
/* 803CE2B0 003C9F10  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 803CE2B4 003C9F14  2C 00 00 00 */	cmpwi r0, 0
/* 803CE2B8 003C9F18  40 82 00 1C */	bne lbl_803CE2D4
/* 803CE2BC 003C9F1C  7F C3 F3 78 */	mr r3, r30
/* 803CE2C0 003C9F20  7F E4 FB 78 */	mr r4, r31
/* 803CE2C4 003C9F24  4B FF 5D F9 */	bl func_803C40BC
/* 803CE2C8 003C9F28  90 7D 00 0C */	stw r3, 0xc(r29)
/* 803CE2CC 003C9F2C  48 00 00 08 */	b lbl_803CE2D4
lbl_803CE2D0:
/* 803CE2D0 003C9F30  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803CE2D4:
/* 803CE2D4 003C9F34  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CE2D8 003C9F38  38 60 00 0E */	li r3, 0xe
/* 803CE2DC 003C9F3C  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CE2E0 003C9F40  4B DA 17 6D */	bl func_8016FA4C
lbl_803CE2E4:
/* 803CE2E4 003C9F44  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE2E8 003C9F48  38 60 00 00 */	li r3, 0
/* 803CE2EC 003C9F4C  4B DF 8E 89 */	bl _restgpr_27
/* 803CE2F0 003C9F50  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CE2F4 003C9F54  7C 08 03 A6 */	mtlr r0
/* 803CE2F8 003C9F58  38 21 00 20 */	addi r1, r1, 0x20
/* 803CE2FC 003C9F5C  4E 80 00 20 */	blr 
/* 803CE300 003C9F60  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CE304 003C9F64  7C 08 02 A6 */	mflr r0
/* 803CE308 003C9F68  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CE30C 003C9F6C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE310 003C9F70  4B DF 8E 15 */	bl _savegpr_26
/* 803CE314 003C9F74  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE318 003C9F78  7C 9B 23 78 */	mr r27, r4
/* 803CE31C 003C9F7C  7C 7A 1B 78 */	mr r26, r3
/* 803CE320 003C9F80  38 05 00 01 */	addi r0, r5, 1
/* 803CE324 003C9F84  7F 63 DB 78 */	mr r3, r27
/* 803CE328 003C9F88  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE32C 003C9F8C  48 00 8B 41 */	bl func_803D6E6C
/* 803CE330 003C9F90  7C 7E 1B 78 */	mr r30, r3
/* 803CE334 003C9F94  7F 63 DB 78 */	mr r3, r27
/* 803CE338 003C9F98  48 00 8B 35 */	bl func_803D6E6C
/* 803CE33C 003C9F9C  7C 7D 1B 78 */	mr r29, r3
/* 803CE340 003C9FA0  7F 63 DB 78 */	mr r3, r27
/* 803CE344 003C9FA4  48 00 8B 29 */	bl func_803D6E6C
/* 803CE348 003C9FA8  7C 7C 1B 78 */	mr r28, r3
/* 803CE34C 003C9FAC  7F 43 D3 78 */	mr r3, r26
/* 803CE350 003C9FB0  4B FD F8 65 */	bl func_803ADBB4
/* 803CE354 003C9FB4  2C 03 00 01 */	cmpwi r3, 1
/* 803CE358 003C9FB8  41 82 00 20 */	beq lbl_803CE378
/* 803CE35C 003C9FBC  2C 1C 00 0F */	cmpwi r28, 0xf
/* 803CE360 003C9FC0  41 82 00 18 */	beq lbl_803CE378
/* 803CE364 003C9FC4  2C 1C 00 10 */	cmpwi r28, 0x10
/* 803CE368 003C9FC8  41 82 00 10 */	beq lbl_803CE378
/* 803CE36C 003C9FCC  38 1C FF E7 */	addi r0, r28, -25
/* 803CE370 003C9FD0  28 00 00 01 */	cmplwi r0, 1
/* 803CE374 003C9FD4  41 81 00 98 */	bgt lbl_803CE40C
lbl_803CE378:
/* 803CE378 003C9FD8  7F 43 D3 78 */	mr r3, r26
/* 803CE37C 003C9FDC  7F 64 DB 78 */	mr r4, r27
/* 803CE380 003C9FE0  7F C5 F3 78 */	mr r5, r30
/* 803CE384 003C9FE4  48 00 9C B9 */	bl func_803D803C
/* 803CE388 003C9FE8  7C 7F 1B 78 */	mr r31, r3
/* 803CE38C 003C9FEC  7F 43 D3 78 */	mr r3, r26
/* 803CE390 003C9FF0  7F 64 DB 78 */	mr r4, r27
/* 803CE394 003C9FF4  7F A5 EB 78 */	mr r5, r29
/* 803CE398 003C9FF8  48 00 9C A5 */	bl func_803D803C
/* 803CE39C 003C9FFC  7C 7E 1B 78 */	mr r30, r3
/* 803CE3A0 003CA000  7F 63 DB 78 */	mr r3, r27
/* 803CE3A4 003CA004  7F E4 FB 78 */	mr r4, r31
/* 803CE3A8 003CA008  7F 85 E3 78 */	mr r5, r28
/* 803CE3AC 003CA00C  4B FF A5 3D */	bl func_803C88E8
/* 803CE3B0 003CA010  2C 03 00 01 */	cmpwi r3, 1
/* 803CE3B4 003CA014  40 82 00 58 */	bne lbl_803CE40C
/* 803CE3B8 003CA018  7F 63 DB 78 */	mr r3, r27
/* 803CE3BC 003CA01C  7F C4 F3 78 */	mr r4, r30
/* 803CE3C0 003CA020  7F 85 E3 78 */	mr r5, r28
/* 803CE3C4 003CA024  4B FF A5 25 */	bl func_803C88E8
/* 803CE3C8 003CA028  2C 03 00 01 */	cmpwi r3, 1
/* 803CE3CC 003CA02C  40 82 00 40 */	bne lbl_803CE40C
/* 803CE3D0 003CA030  7F 43 D3 78 */	mr r3, r26
/* 803CE3D4 003CA034  7F 64 DB 78 */	mr r4, r27
/* 803CE3D8 003CA038  7F E5 FB 78 */	mr r5, r31
/* 803CE3DC 003CA03C  7F C6 F3 78 */	mr r6, r30
/* 803CE3E0 003CA040  7F 87 E3 78 */	mr r7, r28
/* 803CE3E4 003CA044  4B FE 32 6D */	bl func_803B1650
/* 803CE3E8 003CA048  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CE3EC 003CA04C  38 00 00 00 */	li r0, 0
/* 803CE3F0 003CA050  38 83 CD E8 */	addi r4, r3, lbl_8048CDE8@l
/* 803CE3F4 003CA054  93 C3 CD E8 */	stw r30, -0x3218(r3)
/* 803CE3F8 003CA058  38 60 00 0E */	li r3, 0xe
/* 803CE3FC 003CA05C  93 84 00 04 */	stw r28, 4(r4)
/* 803CE400 003CA060  93 E4 00 08 */	stw r31, 8(r4)
/* 803CE404 003CA064  90 04 00 0C */	stw r0, 0xc(r4)
/* 803CE408 003CA068  4B DA 16 45 */	bl func_8016FA4C
lbl_803CE40C:
/* 803CE40C 003CA06C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE410 003CA070  38 60 00 00 */	li r3, 0
/* 803CE414 003CA074  4B DF 8D 5D */	bl _restgpr_26
/* 803CE418 003CA078  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CE41C 003CA07C  7C 08 03 A6 */	mtlr r0
/* 803CE420 003CA080  38 21 00 20 */	addi r1, r1, 0x20
/* 803CE424 003CA084  4E 80 00 20 */	blr 
/* 803CE428 003CA088  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CE42C 003CA08C  7C 08 02 A6 */	mflr r0
/* 803CE430 003CA090  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CE434 003CA094  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE438 003CA098  4B DF 8C F1 */	bl _savegpr_27
/* 803CE43C 003CA09C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE440 003CA0A0  7C 9C 23 78 */	mr r28, r4
/* 803CE444 003CA0A4  7C 7B 1B 78 */	mr r27, r3
/* 803CE448 003CA0A8  38 05 00 01 */	addi r0, r5, 1
/* 803CE44C 003CA0AC  7F 83 E3 78 */	mr r3, r28
/* 803CE450 003CA0B0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE454 003CA0B4  48 00 8A 19 */	bl func_803D6E6C
/* 803CE458 003CA0B8  7C 7E 1B 78 */	mr r30, r3
/* 803CE45C 003CA0BC  7F 83 E3 78 */	mr r3, r28
/* 803CE460 003CA0C0  48 00 8A 0D */	bl func_803D6E6C
/* 803CE464 003CA0C4  7C 7D 1B 78 */	mr r29, r3
/* 803CE468 003CA0C8  7F 63 DB 78 */	mr r3, r27
/* 803CE46C 003CA0CC  7F 84 E3 78 */	mr r4, r28
/* 803CE470 003CA0D0  7F C5 F3 78 */	mr r5, r30
/* 803CE474 003CA0D4  48 00 9B C9 */	bl func_803D803C
/* 803CE478 003CA0D8  7C 7E 1B 78 */	mr r30, r3
/* 803CE47C 003CA0DC  7F 63 DB 78 */	mr r3, r27
/* 803CE480 003CA0E0  7F 84 E3 78 */	mr r4, r28
/* 803CE484 003CA0E4  7F A5 EB 78 */	mr r5, r29
/* 803CE488 003CA0E8  48 00 8A 05 */	bl func_803D6E8C
/* 803CE48C 003CA0EC  7C 7F 1B 78 */	mr r31, r3
/* 803CE490 003CA0F0  7F 63 DB 78 */	mr r3, r27
/* 803CE494 003CA0F4  4B FD F7 21 */	bl func_803ADBB4
/* 803CE498 003CA0F8  2C 03 00 01 */	cmpwi r3, 1
/* 803CE49C 003CA0FC  41 82 00 24 */	beq lbl_803CE4C0
/* 803CE4A0 003CA100  2C 1D 00 0F */	cmpwi r29, 0xf
/* 803CE4A4 003CA104  41 82 00 1C */	beq lbl_803CE4C0
/* 803CE4A8 003CA108  2C 1D 00 10 */	cmpwi r29, 0x10
/* 803CE4AC 003CA10C  41 82 00 14 */	beq lbl_803CE4C0
/* 803CE4B0 003CA110  80 7F 00 00 */	lwz r3, 0(r31)
/* 803CE4B4 003CA114  38 03 FF E7 */	addi r0, r3, -25
/* 803CE4B8 003CA118  28 00 00 01 */	cmplwi r0, 1
/* 803CE4BC 003CA11C  41 81 00 88 */	bgt lbl_803CE544
lbl_803CE4C0:
/* 803CE4C0 003CA120  80 BF 00 00 */	lwz r5, 0(r31)
/* 803CE4C4 003CA124  7F 83 E3 78 */	mr r3, r28
/* 803CE4C8 003CA128  7F C4 F3 78 */	mr r4, r30
/* 803CE4CC 003CA12C  4B FF A4 1D */	bl func_803C88E8
/* 803CE4D0 003CA130  2C 03 00 01 */	cmpwi r3, 1
/* 803CE4D4 003CA134  40 82 00 70 */	bne lbl_803CE544
/* 803CE4D8 003CA138  80 DF 00 00 */	lwz r6, 0(r31)
/* 803CE4DC 003CA13C  7F 63 DB 78 */	mr r3, r27
/* 803CE4E0 003CA140  7F 84 E3 78 */	mr r4, r28
/* 803CE4E4 003CA144  7F C5 F3 78 */	mr r5, r30
/* 803CE4E8 003CA148  4B FE 31 01 */	bl func_803B15E8
/* 803CE4EC 003CA14C  3C 60 80 49 */	lis r3, lbl_8048CDE8@ha
/* 803CE4F0 003CA150  38 80 00 00 */	li r4, 0
/* 803CE4F4 003CA154  93 C3 CD E8 */	stw r30, lbl_8048CDE8@l(r3)
/* 803CE4F8 003CA158  38 A3 CD E8 */	addi r5, r3, -12824
/* 803CE4FC 003CA15C  80 1F 00 00 */	lwz r0, 0(r31)
/* 803CE500 003CA160  90 05 00 04 */	stw r0, 4(r5)
/* 803CE504 003CA164  90 85 00 08 */	stw r4, 8(r5)
/* 803CE508 003CA168  80 7F 00 00 */	lwz r3, 0(r31)
/* 803CE50C 003CA16C  38 03 FF F4 */	addi r0, r3, -12
/* 803CE510 003CA170  28 00 00 01 */	cmplwi r0, 1
/* 803CE514 003CA174  41 81 00 1C */	bgt lbl_803CE530
/* 803CE518 003CA178  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CE51C 003CA17C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CE520 003CA180  80 03 00 10 */	lwz r0, 0x10(r3)
/* 803CE524 003CA184  90 05 00 0C */	stw r0, 0xc(r5)
/* 803CE528 003CA188  90 83 00 10 */	stw r4, 0x10(r3)
/* 803CE52C 003CA18C  48 00 00 08 */	b lbl_803CE534
lbl_803CE530:
/* 803CE530 003CA190  90 85 00 0C */	stw r4, 0xc(r5)
lbl_803CE534:
/* 803CE534 003CA194  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803CE538 003CA198  38 60 00 0E */	li r3, 0xe
/* 803CE53C 003CA19C  38 84 CD E8 */	addi r4, r4, lbl_8048CDE8@l
/* 803CE540 003CA1A0  4B DA 15 0D */	bl func_8016FA4C
lbl_803CE544:
/* 803CE544 003CA1A4  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE548 003CA1A8  38 60 00 00 */	li r3, 0
/* 803CE54C 003CA1AC  4B DF 8C 29 */	bl _restgpr_27
/* 803CE550 003CA1B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CE554 003CA1B4  7C 08 03 A6 */	mtlr r0
/* 803CE558 003CA1B8  38 21 00 20 */	addi r1, r1, 0x20
/* 803CE55C 003CA1BC  4E 80 00 20 */	blr 
/* 803CE560 003CA1C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CE564 003CA1C4  7C 08 02 A6 */	mflr r0
/* 803CE568 003CA1C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CE56C 003CA1CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CE570 003CA1D0  7C 9F 23 78 */	mr r31, r4
/* 803CE574 003CA1D4  93 C1 00 08 */	stw r30, 8(r1)
/* 803CE578 003CA1D8  7C 7E 1B 78 */	mr r30, r3
/* 803CE57C 003CA1DC  7F E3 FB 78 */	mr r3, r31
/* 803CE580 003CA1E0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE584 003CA1E4  38 05 00 01 */	addi r0, r5, 1
/* 803CE588 003CA1E8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE58C 003CA1EC  48 00 88 E1 */	bl func_803D6E6C
/* 803CE590 003CA1F0  7C 65 1B 78 */	mr r5, r3
/* 803CE594 003CA1F4  7F C3 F3 78 */	mr r3, r30
/* 803CE598 003CA1F8  7F E4 FB 78 */	mr r4, r31
/* 803CE59C 003CA1FC  48 00 9A A1 */	bl func_803D803C
/* 803CE5A0 003CA200  7C 65 1B 78 */	mr r5, r3
/* 803CE5A4 003CA204  7F C3 F3 78 */	mr r3, r30
/* 803CE5A8 003CA208  7C DF 2A 14 */	add r6, r31, r5
/* 803CE5AC 003CA20C  7F E4 FB 78 */	mr r4, r31
/* 803CE5B0 003CA210  88 C6 21 9C */	lbz r6, 0x219c(r6)
/* 803CE5B4 003CA214  4B FE 31 01 */	bl func_803B16B4
/* 803CE5B8 003CA218  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CE5BC 003CA21C  38 60 00 00 */	li r3, 0
/* 803CE5C0 003CA220  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CE5C4 003CA224  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CE5C8 003CA228  7C 08 03 A6 */	mtlr r0
/* 803CE5CC 003CA22C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CE5D0 003CA230  4E 80 00 20 */	blr 
/* 803CE5D4 003CA234  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CE5D8 003CA238  7C 08 02 A6 */	mflr r0
/* 803CE5DC 003CA23C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CE5E0 003CA240  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CE5E4 003CA244  7C 9F 23 78 */	mr r31, r4
/* 803CE5E8 003CA248  93 C1 00 08 */	stw r30, 8(r1)
/* 803CE5EC 003CA24C  7C 7E 1B 78 */	mr r30, r3
/* 803CE5F0 003CA250  7F E3 FB 78 */	mr r3, r31
/* 803CE5F4 003CA254  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE5F8 003CA258  38 05 00 01 */	addi r0, r5, 1
/* 803CE5FC 003CA25C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE600 003CA260  48 00 88 6D */	bl func_803D6E6C
/* 803CE604 003CA264  7C 65 1B 78 */	mr r5, r3
/* 803CE608 003CA268  7F C3 F3 78 */	mr r3, r30
/* 803CE60C 003CA26C  7F E4 FB 78 */	mr r4, r31
/* 803CE610 003CA270  48 00 9A 2D */	bl func_803D803C
/* 803CE614 003CA274  7C 65 1B 78 */	mr r5, r3
/* 803CE618 003CA278  7F C3 F3 78 */	mr r3, r30
/* 803CE61C 003CA27C  7C DF 2A 14 */	add r6, r31, r5
/* 803CE620 003CA280  7F E4 FB 78 */	mr r4, r31
/* 803CE624 003CA284  88 C6 21 9C */	lbz r6, 0x219c(r6)
/* 803CE628 003CA288  4B FE 30 DD */	bl func_803B1704
/* 803CE62C 003CA28C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CE630 003CA290  38 60 00 00 */	li r3, 0
/* 803CE634 003CA294  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CE638 003CA298  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CE63C 003CA29C  7C 08 03 A6 */	mtlr r0
/* 803CE640 003CA2A0  38 21 00 10 */	addi r1, r1, 0x10
/* 803CE644 003CA2A4  4E 80 00 20 */	blr 
/* 803CE648 003CA2A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CE64C 003CA2AC  7C 08 02 A6 */	mflr r0
/* 803CE650 003CA2B0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CE654 003CA2B4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CE658 003CA2B8  7C 9F 23 78 */	mr r31, r4
/* 803CE65C 003CA2BC  93 C1 00 08 */	stw r30, 8(r1)
/* 803CE660 003CA2C0  7C 7E 1B 78 */	mr r30, r3
/* 803CE664 003CA2C4  7F E3 FB 78 */	mr r3, r31
/* 803CE668 003CA2C8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE66C 003CA2CC  38 05 00 01 */	addi r0, r5, 1
/* 803CE670 003CA2D0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE674 003CA2D4  48 00 87 F9 */	bl func_803D6E6C
/* 803CE678 003CA2D8  7C 65 1B 78 */	mr r5, r3
/* 803CE67C 003CA2DC  7F C3 F3 78 */	mr r3, r30
/* 803CE680 003CA2E0  7F E4 FB 78 */	mr r4, r31
/* 803CE684 003CA2E4  48 00 99 B9 */	bl func_803D803C
/* 803CE688 003CA2E8  7C 65 1B 78 */	mr r5, r3
/* 803CE68C 003CA2EC  7F C3 F3 78 */	mr r3, r30
/* 803CE690 003CA2F0  7F E4 FB 78 */	mr r4, r31
/* 803CE694 003CA2F4  4B FE 30 D1 */	bl func_803B1764
/* 803CE698 003CA2F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CE69C 003CA2FC  38 60 00 00 */	li r3, 0
/* 803CE6A0 003CA300  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CE6A4 003CA304  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CE6A8 003CA308  7C 08 03 A6 */	mtlr r0
/* 803CE6AC 003CA30C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CE6B0 003CA310  4E 80 00 20 */	blr 
/* 803CE6B4 003CA314  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CE6B8 003CA318  7C 08 02 A6 */	mflr r0
/* 803CE6BC 003CA31C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CE6C0 003CA320  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CE6C4 003CA324  7C 9F 23 78 */	mr r31, r4
/* 803CE6C8 003CA328  93 C1 00 08 */	stw r30, 8(r1)
/* 803CE6CC 003CA32C  7C 7E 1B 78 */	mr r30, r3
/* 803CE6D0 003CA330  7F E3 FB 78 */	mr r3, r31
/* 803CE6D4 003CA334  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE6D8 003CA338  38 05 00 01 */	addi r0, r5, 1
/* 803CE6DC 003CA33C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE6E0 003CA340  48 00 87 8D */	bl func_803D6E6C
/* 803CE6E4 003CA344  7C 65 1B 78 */	mr r5, r3
/* 803CE6E8 003CA348  7F C3 F3 78 */	mr r3, r30
/* 803CE6EC 003CA34C  7F E4 FB 78 */	mr r4, r31
/* 803CE6F0 003CA350  48 00 99 4D */	bl func_803D803C
/* 803CE6F4 003CA354  7C 65 1B 78 */	mr r5, r3
/* 803CE6F8 003CA358  7F C3 F3 78 */	mr r3, r30
/* 803CE6FC 003CA35C  7F E4 FB 78 */	mr r4, r31
/* 803CE700 003CA360  4B FE 30 99 */	bl func_803B1798
/* 803CE704 003CA364  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CE708 003CA368  38 60 00 00 */	li r3, 0
/* 803CE70C 003CA36C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CE710 003CA370  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CE714 003CA374  7C 08 03 A6 */	mtlr r0
/* 803CE718 003CA378  38 21 00 10 */	addi r1, r1, 0x10
/* 803CE71C 003CA37C  4E 80 00 20 */	blr 
/* 803CE720 003CA380  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CE724 003CA384  7C 08 02 A6 */	mflr r0
/* 803CE728 003CA388  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CE72C 003CA38C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CE730 003CA390  7C 9F 23 78 */	mr r31, r4
/* 803CE734 003CA394  93 C1 00 08 */	stw r30, 8(r1)
/* 803CE738 003CA398  7C 7E 1B 78 */	mr r30, r3
/* 803CE73C 003CA39C  7F E3 FB 78 */	mr r3, r31
/* 803CE740 003CA3A0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE744 003CA3A4  38 05 00 01 */	addi r0, r5, 1
/* 803CE748 003CA3A8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE74C 003CA3AC  48 00 87 21 */	bl func_803D6E6C
/* 803CE750 003CA3B0  7C 65 1B 78 */	mr r5, r3
/* 803CE754 003CA3B4  7F C3 F3 78 */	mr r3, r30
/* 803CE758 003CA3B8  7F E4 FB 78 */	mr r4, r31
/* 803CE75C 003CA3BC  48 00 98 E1 */	bl func_803D803C
/* 803CE760 003CA3C0  80 BF 01 30 */	lwz r5, 0x130(r31)
/* 803CE764 003CA3C4  7C 64 1B 78 */	mr r4, r3
/* 803CE768 003CA3C8  7F C3 F3 78 */	mr r3, r30
/* 803CE76C 003CA3CC  4B FE 2E 41 */	bl func_803B15AC
/* 803CE770 003CA3D0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CE774 003CA3D4  38 60 00 00 */	li r3, 0
/* 803CE778 003CA3D8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CE77C 003CA3DC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CE780 003CA3E0  7C 08 03 A6 */	mtlr r0
/* 803CE784 003CA3E4  38 21 00 10 */	addi r1, r1, 0x10
/* 803CE788 003CA3E8  4E 80 00 20 */	blr 
/* 803CE78C 003CA3EC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CE790 003CA3F0  7C 08 02 A6 */	mflr r0
/* 803CE794 003CA3F4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CE798 003CA3F8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE79C 003CA3FC  4B DF 89 89 */	bl _savegpr_26
/* 803CE7A0 003CA400  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CE7A4 003CA404  7C 9D 23 78 */	mr r29, r4
/* 803CE7A8 003CA408  7F A3 EB 78 */	mr r3, r29
/* 803CE7AC 003CA40C  38 05 00 01 */	addi r0, r5, 1
/* 803CE7B0 003CA410  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CE7B4 003CA414  48 00 86 B9 */	bl func_803D6E6C
/* 803CE7B8 003CA418  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE7BC 003CA41C  7C 7F 1B 78 */	mr r31, r3
/* 803CE7C0 003CA420  7F A3 EB 78 */	mr r3, r29
/* 803CE7C4 003CA424  4B FF 13 55 */	bl func_803BFB18
/* 803CE7C8 003CA428  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CE7CC 003CA42C  28 00 00 79 */	cmplwi r0, 0x79
/* 803CE7D0 003CA430  40 82 00 18 */	bne lbl_803CE7E8
/* 803CE7D4 003CA434  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803CE7D8 003CA438  38 60 00 00 */	li r3, 0
/* 803CE7DC 003CA43C  7C 00 FA 14 */	add r0, r0, r31
/* 803CE7E0 003CA440  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803CE7E4 003CA444  48 00 02 00 */	b lbl_803CE9E4
lbl_803CE7E8:
/* 803CE7E8 003CA448  38 00 00 04 */	li r0, 4
/* 803CE7EC 003CA44C  3B C0 00 00 */	li r30, 0
/* 803CE7F0 003CA450  38 60 00 00 */	li r3, 0
/* 803CE7F4 003CA454  7C 09 03 A6 */	mtctr r0
lbl_803CE7F8:
/* 803CE7F8 003CA458  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803CE7FC 003CA45C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CE800 003CA460  7C 1D 02 14 */	add r0, r29, r0
/* 803CE804 003CA464  7C 83 02 14 */	add r4, r3, r0
/* 803CE808 003CA468  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803CE80C 003CA46C  2C 00 00 00 */	cmpwi r0, 0
/* 803CE810 003CA470  41 82 00 10 */	beq lbl_803CE820
/* 803CE814 003CA474  3B DE 00 01 */	addi r30, r30, 1
/* 803CE818 003CA478  38 63 00 02 */	addi r3, r3, 2
/* 803CE81C 003CA47C  42 00 FF DC */	bdnz lbl_803CE7F8
lbl_803CE820:
/* 803CE820 003CA480  3B 60 00 00 */	li r27, 0
/* 803CE824 003CA484  3B 80 00 00 */	li r28, 0
/* 803CE828 003CA488  48 00 00 B4 */	b lbl_803CE8DC
lbl_803CE82C:
/* 803CE82C 003CA48C  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE830 003CA490  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803CE834 003CA494  7C 1D 02 14 */	add r0, r29, r0
/* 803CE838 003CA498  7C 7C 02 14 */	add r3, r28, r0
/* 803CE83C 003CA49C  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803CE840 003CA4A0  28 00 00 A0 */	cmplwi r0, 0xa0
/* 803CE844 003CA4A4  41 82 00 90 */	beq lbl_803CE8D4
/* 803CE848 003CA4A8  54 00 23 36 */	rlwinm r0, r0, 4, 0xc, 0x1b
/* 803CE84C 003CA4AC  7C 7D 02 14 */	add r3, r29, r0
/* 803CE850 003CA4B0  8B 43 03 E2 */	lbz r26, 0x3e2(r3)
/* 803CE854 003CA4B4  2C 1A 00 09 */	cmpwi r26, 9
/* 803CE858 003CA4B8  40 82 00 44 */	bne lbl_803CE89C
/* 803CE85C 003CA4BC  7F A3 EB 78 */	mr r3, r29
/* 803CE860 003CA4C0  38 A0 00 1B */	li r5, 0x1b
/* 803CE864 003CA4C4  38 C0 00 00 */	li r6, 0
/* 803CE868 003CA4C8  4B FE C4 3D */	bl func_803BACA4
/* 803CE86C 003CA4CC  2C 03 00 07 */	cmpwi r3, 7
/* 803CE870 003CA4D0  41 82 00 20 */	beq lbl_803CE890
/* 803CE874 003CA4D4  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE878 003CA4D8  7F A3 EB 78 */	mr r3, r29
/* 803CE87C 003CA4DC  38 A0 00 1C */	li r5, 0x1c
/* 803CE880 003CA4E0  38 C0 00 00 */	li r6, 0
/* 803CE884 003CA4E4  4B FE C4 21 */	bl func_803BACA4
/* 803CE888 003CA4E8  2C 03 00 07 */	cmpwi r3, 7
/* 803CE88C 003CA4EC  40 82 00 0C */	bne lbl_803CE898
lbl_803CE890:
/* 803CE890 003CA4F0  3B 40 00 07 */	li r26, 7
/* 803CE894 003CA4F4  48 00 00 08 */	b lbl_803CE89C
lbl_803CE898:
/* 803CE898 003CA4F8  3B 40 00 00 */	li r26, 0
lbl_803CE89C:
/* 803CE89C 003CA4FC  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE8A0 003CA500  7F A3 EB 78 */	mr r3, r29
/* 803CE8A4 003CA504  38 A0 00 1B */	li r5, 0x1b
/* 803CE8A8 003CA508  38 C0 00 00 */	li r6, 0
/* 803CE8AC 003CA50C  4B FE C3 F9 */	bl func_803BACA4
/* 803CE8B0 003CA510  7C 1A 18 00 */	cmpw r26, r3
/* 803CE8B4 003CA514  41 82 00 20 */	beq lbl_803CE8D4
/* 803CE8B8 003CA518  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE8BC 003CA51C  7F A3 EB 78 */	mr r3, r29
/* 803CE8C0 003CA520  38 A0 00 1C */	li r5, 0x1c
/* 803CE8C4 003CA524  38 C0 00 00 */	li r6, 0
/* 803CE8C8 003CA528  4B FE C3 DD */	bl func_803BACA4
/* 803CE8CC 003CA52C  7C 1A 18 00 */	cmpw r26, r3
/* 803CE8D0 003CA530  40 82 00 14 */	bne lbl_803CE8E4
lbl_803CE8D4:
/* 803CE8D4 003CA534  3B 7B 00 01 */	addi r27, r27, 1
/* 803CE8D8 003CA538  3B 9C 00 02 */	addi r28, r28, 2
lbl_803CE8DC:
/* 803CE8DC 003CA53C  7C 1B F0 00 */	cmpw r27, r30
/* 803CE8E0 003CA540  41 80 FF 4C */	blt lbl_803CE82C
lbl_803CE8E4:
/* 803CE8E4 003CA544  7C 1B F0 00 */	cmpw r27, r30
/* 803CE8E8 003CA548  40 82 00 14 */	bne lbl_803CE8FC
/* 803CE8EC 003CA54C  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803CE8F0 003CA550  7C 00 FA 14 */	add r0, r0, r31
/* 803CE8F4 003CA554  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803CE8F8 003CA558  48 00 00 E8 */	b lbl_803CE9E0
lbl_803CE8FC:
/* 803CE8FC 003CA55C  48 00 AE BD */	bl func_803D97B8
/* 803CE900 003CA560  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CE904 003CA564  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE908 003CA568  7C 05 F3 D6 */	divw r0, r5, r30
/* 803CE90C 003CA56C  7C 60 F1 D6 */	mullw r3, r0, r30
/* 803CE910 003CA570  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803CE914 003CA574  7C 63 28 50 */	subf r3, r3, r5
/* 803CE918 003CA578  54 63 08 3C */	slwi r3, r3, 1
/* 803CE91C 003CA57C  7C 1D 02 14 */	add r0, r29, r0
/* 803CE920 003CA580  7C 63 02 14 */	add r3, r3, r0
/* 803CE924 003CA584  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803CE928 003CA588  28 00 00 A0 */	cmplwi r0, 0xa0
/* 803CE92C 003CA58C  41 82 FF D0 */	beq lbl_803CE8FC
/* 803CE930 003CA590  54 00 23 36 */	rlwinm r0, r0, 4, 0xc, 0x1b
/* 803CE934 003CA594  7C 7D 02 14 */	add r3, r29, r0
/* 803CE938 003CA598  8B 83 03 E2 */	lbz r28, 0x3e2(r3)
/* 803CE93C 003CA59C  2C 1C 00 09 */	cmpwi r28, 9
/* 803CE940 003CA5A0  40 82 00 44 */	bne lbl_803CE984
/* 803CE944 003CA5A4  7F A3 EB 78 */	mr r3, r29
/* 803CE948 003CA5A8  38 A0 00 1B */	li r5, 0x1b
/* 803CE94C 003CA5AC  38 C0 00 00 */	li r6, 0
/* 803CE950 003CA5B0  4B FE C3 55 */	bl func_803BACA4
/* 803CE954 003CA5B4  2C 03 00 07 */	cmpwi r3, 7
/* 803CE958 003CA5B8  41 82 00 20 */	beq lbl_803CE978
/* 803CE95C 003CA5BC  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE960 003CA5C0  7F A3 EB 78 */	mr r3, r29
/* 803CE964 003CA5C4  38 A0 00 1C */	li r5, 0x1c
/* 803CE968 003CA5C8  38 C0 00 00 */	li r6, 0
/* 803CE96C 003CA5CC  4B FE C3 39 */	bl func_803BACA4
/* 803CE970 003CA5D0  2C 03 00 07 */	cmpwi r3, 7
/* 803CE974 003CA5D4  40 82 00 0C */	bne lbl_803CE980
lbl_803CE978:
/* 803CE978 003CA5D8  3B 80 00 07 */	li r28, 7
/* 803CE97C 003CA5DC  48 00 00 08 */	b lbl_803CE984
lbl_803CE980:
/* 803CE980 003CA5E0  3B 80 00 00 */	li r28, 0
lbl_803CE984:
/* 803CE984 003CA5E4  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE988 003CA5E8  7F A3 EB 78 */	mr r3, r29
/* 803CE98C 003CA5EC  38 A0 00 1B */	li r5, 0x1b
/* 803CE990 003CA5F0  38 C0 00 00 */	li r6, 0
/* 803CE994 003CA5F4  4B FE C3 11 */	bl func_803BACA4
/* 803CE998 003CA5F8  7C 1C 18 00 */	cmpw r28, r3
/* 803CE99C 003CA5FC  41 82 FF 60 */	beq lbl_803CE8FC
/* 803CE9A0 003CA600  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803CE9A4 003CA604  7F A3 EB 78 */	mr r3, r29
/* 803CE9A8 003CA608  38 A0 00 1C */	li r5, 0x1c
/* 803CE9AC 003CA60C  38 C0 00 00 */	li r6, 0
/* 803CE9B0 003CA610  4B FE C2 F5 */	bl func_803BACA4
/* 803CE9B4 003CA614  7C 1C 18 00 */	cmpw r28, r3
/* 803CE9B8 003CA618  41 82 FF 44 */	beq lbl_803CE8FC
/* 803CE9BC 003CA61C  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803CE9C0 003CA620  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CE9C4 003CA624  7C 7D 02 14 */	add r3, r29, r0
/* 803CE9C8 003CA628  9B 83 2D 64 */	stb r28, 0x2d64(r3)
/* 803CE9CC 003CA62C  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803CE9D0 003CA630  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CE9D4 003CA634  7C 7D 02 14 */	add r3, r29, r0
/* 803CE9D8 003CA638  9B 83 2D 65 */	stb r28, 0x2d65(r3)
/* 803CE9DC 003CA63C  93 9D 01 30 */	stw r28, 0x130(r29)
lbl_803CE9E0:
/* 803CE9E0 003CA640  38 60 00 00 */	li r3, 0
lbl_803CE9E4:
/* 803CE9E4 003CA644  39 61 00 20 */	addi r11, r1, 0x20
/* 803CE9E8 003CA648  4B DF 87 89 */	bl _restgpr_26
/* 803CE9EC 003CA64C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CE9F0 003CA650  7C 08 03 A6 */	mtlr r0
/* 803CE9F4 003CA654  38 21 00 20 */	addi r1, r1, 0x20
/* 803CE9F8 003CA658  4E 80 00 20 */	blr 
/* 803CE9FC 003CA65C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CEA00 003CA660  7C 08 02 A6 */	mflr r0
/* 803CEA04 003CA664  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CEA08 003CA668  39 61 00 20 */	addi r11, r1, 0x20
/* 803CEA0C 003CA66C  4B DF 87 19 */	bl _savegpr_26
/* 803CEA10 003CA670  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CEA14 003CA674  7C 9E 23 78 */	mr r30, r4
/* 803CEA18 003CA678  7C 7A 1B 78 */	mr r26, r3
/* 803CEA1C 003CA67C  38 05 00 01 */	addi r0, r5, 1
/* 803CEA20 003CA680  7F C3 F3 78 */	mr r3, r30
/* 803CEA24 003CA684  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CEA28 003CA688  48 00 84 45 */	bl func_803D6E6C
/* 803CEA2C 003CA68C  7C 7C 1B 78 */	mr r28, r3
/* 803CEA30 003CA690  7F C3 F3 78 */	mr r3, r30
/* 803CEA34 003CA694  48 00 84 39 */	bl func_803D6E6C
/* 803CEA38 003CA698  7C 7D 1B 78 */	mr r29, r3
/* 803CEA3C 003CA69C  7F C3 F3 78 */	mr r3, r30
/* 803CEA40 003CA6A0  48 00 84 2D */	bl func_803D6E6C
/* 803CEA44 003CA6A4  7C 7B 1B 78 */	mr r27, r3
/* 803CEA48 003CA6A8  7F C3 F3 78 */	mr r3, r30
/* 803CEA4C 003CA6AC  48 00 84 21 */	bl func_803D6E6C
/* 803CEA50 003CA6B0  7C 7F 1B 78 */	mr r31, r3
/* 803CEA54 003CA6B4  7F 43 D3 78 */	mr r3, r26
/* 803CEA58 003CA6B8  7F C4 F3 78 */	mr r4, r30
/* 803CEA5C 003CA6BC  7F A5 EB 78 */	mr r5, r29
/* 803CEA60 003CA6C0  48 00 84 2D */	bl func_803D6E8C
/* 803CEA64 003CA6C4  7C 7D 1B 78 */	mr r29, r3
/* 803CEA68 003CA6C8  7F 43 D3 78 */	mr r3, r26
/* 803CEA6C 003CA6CC  7F C4 F3 78 */	mr r4, r30
/* 803CEA70 003CA6D0  7F 65 DB 78 */	mr r5, r27
/* 803CEA74 003CA6D4  48 00 84 19 */	bl func_803D6E8C
/* 803CEA78 003CA6D8  28 1C 00 06 */	cmplwi r28, 6
/* 803CEA7C 003CA6DC  41 81 00 C8 */	bgt lbl_803CEB44
/* 803CEA80 003CA6E0  3C 80 80 47 */	lis r4, lbl_804740A4@ha
/* 803CEA84 003CA6E4  57 80 10 3A */	slwi r0, r28, 2
/* 803CEA88 003CA6E8  38 84 40 A4 */	addi r4, r4, lbl_804740A4@l
/* 803CEA8C 003CA6EC  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CEA90 003CA6F0  7C 89 03 A6 */	mtctr r4
/* 803CEA94 003CA6F4  4E 80 04 20 */	bctr 
/* 803CEA98 003CA6F8  80 9D 00 00 */	lwz r4, 0(r29)
/* 803CEA9C 003CA6FC  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEAA0 003CA700  7C 04 00 40 */	cmplw r4, r0
/* 803CEAA4 003CA704  41 82 00 B4 */	beq lbl_803CEB58
/* 803CEAA8 003CA708  3B E0 00 00 */	li r31, 0
/* 803CEAAC 003CA70C  48 00 00 AC */	b lbl_803CEB58
/* 803CEAB0 003CA710  80 9D 00 00 */	lwz r4, 0(r29)
/* 803CEAB4 003CA714  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEAB8 003CA718  7C 04 00 40 */	cmplw r4, r0
/* 803CEABC 003CA71C  40 82 00 9C */	bne lbl_803CEB58
/* 803CEAC0 003CA720  3B E0 00 00 */	li r31, 0
/* 803CEAC4 003CA724  48 00 00 94 */	b lbl_803CEB58
/* 803CEAC8 003CA728  80 9D 00 00 */	lwz r4, 0(r29)
/* 803CEACC 003CA72C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEAD0 003CA730  7C 04 00 40 */	cmplw r4, r0
/* 803CEAD4 003CA734  41 81 00 84 */	bgt lbl_803CEB58
/* 803CEAD8 003CA738  3B E0 00 00 */	li r31, 0
/* 803CEADC 003CA73C  48 00 00 7C */	b lbl_803CEB58
/* 803CEAE0 003CA740  80 9D 00 00 */	lwz r4, 0(r29)
/* 803CEAE4 003CA744  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEAE8 003CA748  7C 04 00 40 */	cmplw r4, r0
/* 803CEAEC 003CA74C  40 81 00 6C */	ble lbl_803CEB58
/* 803CEAF0 003CA750  3B E0 00 00 */	li r31, 0
/* 803CEAF4 003CA754  48 00 00 64 */	b lbl_803CEB58
/* 803CEAF8 003CA758  80 9D 00 00 */	lwz r4, 0(r29)
/* 803CEAFC 003CA75C  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEB00 003CA760  7C 80 00 39 */	and. r0, r4, r0
/* 803CEB04 003CA764  40 82 00 54 */	bne lbl_803CEB58
/* 803CEB08 003CA768  3B E0 00 00 */	li r31, 0
/* 803CEB0C 003CA76C  48 00 00 4C */	b lbl_803CEB58
/* 803CEB10 003CA770  80 9D 00 00 */	lwz r4, 0(r29)
/* 803CEB14 003CA774  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEB18 003CA778  7C 80 00 39 */	and. r0, r4, r0
/* 803CEB1C 003CA77C  41 82 00 3C */	beq lbl_803CEB58
/* 803CEB20 003CA780  3B E0 00 00 */	li r31, 0
/* 803CEB24 003CA784  48 00 00 34 */	b lbl_803CEB58
/* 803CEB28 003CA788  80 63 00 00 */	lwz r3, 0(r3)
/* 803CEB2C 003CA78C  80 1D 00 00 */	lwz r0, 0(r29)
/* 803CEB30 003CA790  7C 60 00 38 */	and r0, r3, r0
/* 803CEB34 003CA794  7C 03 00 40 */	cmplw r3, r0
/* 803CEB38 003CA798  41 82 00 20 */	beq lbl_803CEB58
/* 803CEB3C 003CA79C  3B E0 00 00 */	li r31, 0
/* 803CEB40 003CA7A0  48 00 00 18 */	b lbl_803CEB58
lbl_803CEB44:
/* 803CEB44 003CA7A4  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CEB48 003CA7A8  38 60 00 01 */	li r3, 1
/* 803CEB4C 003CA7AC  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CEB50 003CA7B0  4C C6 31 82 */	crclr 6
/* 803CEB54 003CA7B4  48 00 AD 49 */	bl func_803D989C
lbl_803CEB58:
/* 803CEB58 003CA7B8  2C 1F 00 00 */	cmpwi r31, 0
/* 803CEB5C 003CA7BC  41 82 00 10 */	beq lbl_803CEB6C
/* 803CEB60 003CA7C0  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CEB64 003CA7C4  7C 00 FA 14 */	add r0, r0, r31
/* 803CEB68 003CA7C8  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803CEB6C:
/* 803CEB6C 003CA7CC  39 61 00 20 */	addi r11, r1, 0x20
/* 803CEB70 003CA7D0  38 60 00 00 */	li r3, 0
/* 803CEB74 003CA7D4  4B DF 85 FD */	bl _restgpr_26
/* 803CEB78 003CA7D8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CEB7C 003CA7DC  7C 08 03 A6 */	mtlr r0
/* 803CEB80 003CA7E0  38 21 00 20 */	addi r1, r1, 0x20
/* 803CEB84 003CA7E4  4E 80 00 20 */	blr 
/* 803CEB88 003CA7E8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CEB8C 003CA7EC  7C 08 02 A6 */	mflr r0
/* 803CEB90 003CA7F0  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CEB94 003CA7F4  39 61 00 30 */	addi r11, r1, 0x30
/* 803CEB98 003CA7F8  4B DF 85 89 */	bl _savegpr_25
/* 803CEB9C 003CA7FC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CEBA0 003CA800  7C 9E 23 78 */	mr r30, r4
/* 803CEBA4 003CA804  7C 79 1B 78 */	mr r25, r3
/* 803CEBA8 003CA808  38 05 00 01 */	addi r0, r5, 1
/* 803CEBAC 003CA80C  7F C3 F3 78 */	mr r3, r30
/* 803CEBB0 003CA810  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CEBB4 003CA814  48 00 82 B9 */	bl func_803D6E6C
/* 803CEBB8 003CA818  7C 7C 1B 78 */	mr r28, r3
/* 803CEBBC 003CA81C  7F C3 F3 78 */	mr r3, r30
/* 803CEBC0 003CA820  48 00 82 AD */	bl func_803D6E6C
/* 803CEBC4 003CA824  7C 7D 1B 78 */	mr r29, r3
/* 803CEBC8 003CA828  7F C3 F3 78 */	mr r3, r30
/* 803CEBCC 003CA82C  48 00 82 A1 */	bl func_803D6E6C
/* 803CEBD0 003CA830  7C 7B 1B 78 */	mr r27, r3
/* 803CEBD4 003CA834  7F C3 F3 78 */	mr r3, r30
/* 803CEBD8 003CA838  48 00 82 95 */	bl func_803D6E6C
/* 803CEBDC 003CA83C  7C 7A 1B 78 */	mr r26, r3
/* 803CEBE0 003CA840  7F C3 F3 78 */	mr r3, r30
/* 803CEBE4 003CA844  48 00 82 89 */	bl func_803D6E6C
/* 803CEBE8 003CA848  7C 7F 1B 78 */	mr r31, r3
/* 803CEBEC 003CA84C  7F 23 CB 78 */	mr r3, r25
/* 803CEBF0 003CA850  7F C4 F3 78 */	mr r4, r30
/* 803CEBF4 003CA854  7F A5 EB 78 */	mr r5, r29
/* 803CEBF8 003CA858  48 00 94 45 */	bl func_803D803C
/* 803CEBFC 003CA85C  7C 64 1B 78 */	mr r4, r3
/* 803CEC00 003CA860  7F C3 F3 78 */	mr r3, r30
/* 803CEC04 003CA864  7F 65 DB 78 */	mr r5, r27
/* 803CEC08 003CA868  38 C0 00 00 */	li r6, 0
/* 803CEC0C 003CA86C  4B FE C0 99 */	bl func_803BACA4
/* 803CEC10 003CA870  7C 7D 1B 78 */	mr r29, r3
/* 803CEC14 003CA874  7F 23 CB 78 */	mr r3, r25
/* 803CEC18 003CA878  7F C4 F3 78 */	mr r4, r30
/* 803CEC1C 003CA87C  7F 45 D3 78 */	mr r5, r26
/* 803CEC20 003CA880  48 00 82 6D */	bl func_803D6E8C
/* 803CEC24 003CA884  28 1C 00 06 */	cmplwi r28, 6
/* 803CEC28 003CA888  41 81 00 AC */	bgt lbl_803CECD4
/* 803CEC2C 003CA88C  3C 80 80 47 */	lis r4, lbl_804740C0@ha
/* 803CEC30 003CA890  57 80 10 3A */	slwi r0, r28, 2
/* 803CEC34 003CA894  38 84 40 C0 */	addi r4, r4, lbl_804740C0@l
/* 803CEC38 003CA898  7C 84 00 2E */	lwzx r4, r4, r0
/* 803CEC3C 003CA89C  7C 89 03 A6 */	mtctr r4
/* 803CEC40 003CA8A0  4E 80 04 20 */	bctr 
/* 803CEC44 003CA8A4  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEC48 003CA8A8  7C 1D 00 40 */	cmplw r29, r0
/* 803CEC4C 003CA8AC  41 82 00 9C */	beq lbl_803CECE8
/* 803CEC50 003CA8B0  3B E0 00 00 */	li r31, 0
/* 803CEC54 003CA8B4  48 00 00 94 */	b lbl_803CECE8
/* 803CEC58 003CA8B8  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEC5C 003CA8BC  7C 1D 00 40 */	cmplw r29, r0
/* 803CEC60 003CA8C0  40 82 00 88 */	bne lbl_803CECE8
/* 803CEC64 003CA8C4  3B E0 00 00 */	li r31, 0
/* 803CEC68 003CA8C8  48 00 00 80 */	b lbl_803CECE8
/* 803CEC6C 003CA8CC  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEC70 003CA8D0  7C 1D 00 40 */	cmplw r29, r0
/* 803CEC74 003CA8D4  41 81 00 74 */	bgt lbl_803CECE8
/* 803CEC78 003CA8D8  3B E0 00 00 */	li r31, 0
/* 803CEC7C 003CA8DC  48 00 00 6C */	b lbl_803CECE8
/* 803CEC80 003CA8E0  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEC84 003CA8E4  7C 1D 00 40 */	cmplw r29, r0
/* 803CEC88 003CA8E8  40 81 00 60 */	ble lbl_803CECE8
/* 803CEC8C 003CA8EC  3B E0 00 00 */	li r31, 0
/* 803CEC90 003CA8F0  48 00 00 58 */	b lbl_803CECE8
/* 803CEC94 003CA8F4  80 03 00 00 */	lwz r0, 0(r3)
/* 803CEC98 003CA8F8  7F A0 00 39 */	and. r0, r29, r0
/* 803CEC9C 003CA8FC  40 82 00 4C */	bne lbl_803CECE8
/* 803CECA0 003CA900  3B E0 00 00 */	li r31, 0
/* 803CECA4 003CA904  48 00 00 44 */	b lbl_803CECE8
/* 803CECA8 003CA908  80 03 00 00 */	lwz r0, 0(r3)
/* 803CECAC 003CA90C  7F A0 00 39 */	and. r0, r29, r0
/* 803CECB0 003CA910  41 82 00 38 */	beq lbl_803CECE8
/* 803CECB4 003CA914  3B E0 00 00 */	li r31, 0
/* 803CECB8 003CA918  48 00 00 30 */	b lbl_803CECE8
/* 803CECBC 003CA91C  80 63 00 00 */	lwz r3, 0(r3)
/* 803CECC0 003CA920  7C 60 E8 38 */	and r0, r3, r29
/* 803CECC4 003CA924  7C 03 00 40 */	cmplw r3, r0
/* 803CECC8 003CA928  41 82 00 20 */	beq lbl_803CECE8
/* 803CECCC 003CA92C  3B E0 00 00 */	li r31, 0
/* 803CECD0 003CA930  48 00 00 18 */	b lbl_803CECE8
lbl_803CECD4:
/* 803CECD4 003CA934  3C 80 80 47 */	lis r4, lbl_80473F00@ha
/* 803CECD8 003CA938  38 60 00 01 */	li r3, 1
/* 803CECDC 003CA93C  38 84 3F 00 */	addi r4, r4, lbl_80473F00@l
/* 803CECE0 003CA940  4C C6 31 82 */	crclr 6
/* 803CECE4 003CA944  48 00 AB B9 */	bl func_803D989C
lbl_803CECE8:
/* 803CECE8 003CA948  2C 1F 00 00 */	cmpwi r31, 0
/* 803CECEC 003CA94C  41 82 00 10 */	beq lbl_803CECFC
/* 803CECF0 003CA950  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CECF4 003CA954  7C 00 FA 14 */	add r0, r0, r31
/* 803CECF8 003CA958  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803CECFC:
/* 803CECFC 003CA95C  39 61 00 30 */	addi r11, r1, 0x30
/* 803CED00 003CA960  38 60 00 00 */	li r3, 0
/* 803CED04 003CA964  4B DF 84 69 */	bl _restgpr_25
/* 803CED08 003CA968  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CED0C 003CA96C  7C 08 03 A6 */	mtlr r0
/* 803CED10 003CA970  38 21 00 30 */	addi r1, r1, 0x30
/* 803CED14 003CA974  4E 80 00 20 */	blr 
/* 803CED18 003CA978  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CED1C 003CA97C  7C 08 02 A6 */	mflr r0
/* 803CED20 003CA980  3C A0 00 01 */	lis r5, 0x0000FFFF@ha
/* 803CED24 003CA984  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CED28 003CA988  38 05 FF FF */	addi r0, r5, 0x0000FFFF@l
/* 803CED2C 003CA98C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CED30 003CA990  7C 9F 23 78 */	mr r31, r4
/* 803CED34 003CA994  80 E4 01 4C */	lwz r7, 0x14c(r4)
/* 803CED38 003CA998  80 C4 21 68 */	lwz r6, 0x2168(r4)
/* 803CED3C 003CA99C  81 04 00 B4 */	lwz r8, 0xb4(r4)
/* 803CED40 003CA9A0  7C A7 31 D6 */	mullw r5, r7, r6
/* 803CED44 003CA9A4  38 C8 00 01 */	addi r6, r8, 1
/* 803CED48 003CA9A8  90 C4 00 B4 */	stw r6, 0xb4(r4)
/* 803CED4C 003CA9AC  7C 05 00 00 */	cmpw r5, r0
/* 803CED50 003CA9B0  90 A4 01 30 */	stw r5, 0x130(r4)
/* 803CED54 003CA9B4  40 81 00 08 */	ble lbl_803CED5C
/* 803CED58 003CA9B8  90 04 01 30 */	stw r0, 0x130(r4)
lbl_803CED5C:
/* 803CED5C 003CA9BC  38 80 00 00 */	li r4, 0
/* 803CED60 003CA9C0  4B FD DE 6D */	bl func_803ACBCC
/* 803CED64 003CA9C4  80 9F 01 30 */	lwz r4, 0x130(r31)
/* 803CED68 003CA9C8  48 00 B3 99 */	bl func_803DA100
/* 803CED6C 003CA9CC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CED70 003CA9D0  38 60 00 00 */	li r3, 0
/* 803CED74 003CA9D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CED78 003CA9D8  7C 08 03 A6 */	mtlr r0
/* 803CED7C 003CA9DC  38 21 00 10 */	addi r1, r1, 0x10
/* 803CED80 003CA9E0  4E 80 00 20 */	blr 
/* 803CED84 003CA9E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CED88 003CA9E8  7C 08 02 A6 */	mflr r0
/* 803CED8C 003CA9EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CED90 003CA9F0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CED94 003CA9F4  4B DF 83 9D */	bl _savegpr_29
/* 803CED98 003CA9F8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CED9C 003CA9FC  7C 9F 23 78 */	mr r31, r4
/* 803CEDA0 003CAA00  7C 7E 1B 78 */	mr r30, r3
/* 803CEDA4 003CAA04  38 05 00 01 */	addi r0, r5, 1
/* 803CEDA8 003CAA08  7F E3 FB 78 */	mr r3, r31
/* 803CEDAC 003CAA0C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CEDB0 003CAA10  48 00 80 BD */	bl func_803D6E6C
/* 803CEDB4 003CAA14  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CEDB8 003CAA18  7C 7D 1B 78 */	mr r29, r3
/* 803CEDBC 003CAA1C  7F C3 F3 78 */	mr r3, r30
/* 803CEDC0 003CAA20  4B FD DF 25 */	bl func_803ACCE4
/* 803CEDC4 003CAA24  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803CEDC8 003CAA28  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803CEDCC 003CAA2C  7C 9F 02 14 */	add r4, r31, r0
/* 803CEDD0 003CAA30  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803CEDD4 003CAA34  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803CEDD8 003CAA38  41 82 00 20 */	beq lbl_803CEDF8
/* 803CEDDC 003CAA3C  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 803CEDE0 003CAA40  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CEDE4 003CAA44  7C 63 EA 14 */	add r3, r3, r29
/* 803CEDE8 003CAA48  60 00 00 40 */	ori r0, r0, 0x40
/* 803CEDEC 003CAA4C  90 7F 00 B4 */	stw r3, 0xb4(r31)
/* 803CEDF0 003CAA50  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803CEDF4 003CAA54  48 00 00 B0 */	b lbl_803CEEA4
lbl_803CEDF8:
/* 803CEDF8 003CAA58  60 63 00 02 */	ori r3, r3, 2
/* 803CEDFC 003CAA5C  54 A0 18 38 */	slwi r0, r5, 3
/* 803CEE00 003CAA60  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803CEE04 003CAA64  7F BF 02 14 */	add r29, r31, r0
/* 803CEE08 003CAA68  38 00 00 05 */	li r0, 5
/* 803CEE0C 003CAA6C  7F E3 FB 78 */	mr r3, r31
/* 803CEE10 003CAA70  80 9D 01 C4 */	lwz r4, 0x1c4(r29)
/* 803CEE14 003CAA74  50 04 B1 D2 */	rlwimi r4, r0, 0x16, 7, 9
/* 803CEE18 003CAA78  90 9D 01 C4 */	stw r4, 0x1c4(r29)
/* 803CEE1C 003CAA7C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CEE20 003CAA80  50 04 C9 4C */	rlwimi r4, r0, 0x19, 5, 6
/* 803CEE24 003CAA84  90 9D 01 C4 */	stw r4, 0x1c4(r29)
/* 803CEE28 003CAA88  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CEE2C 003CAA8C  4B FF 52 91 */	bl func_803C40BC
/* 803CEE30 003CAA90  2C 03 00 60 */	cmpwi r3, 0x60
/* 803CEE34 003CAA94  40 82 00 28 */	bne lbl_803CEE5C
/* 803CEE38 003CAA98  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CEE3C 003CAA9C  7F E3 FB 78 */	mr r3, r31
/* 803CEE40 003CAAA0  38 A0 00 00 */	li r5, 0
/* 803CEE44 003CAAA4  4B FF 52 BD */	bl func_803C4100
/* 803CEE48 003CAAA8  80 9D 01 C4 */	lwz r4, 0x1c4(r29)
/* 803CEE4C 003CAAAC  54 80 57 7E */	rlwinm r0, r4, 0xa, 0x1d, 0x1f
/* 803CEE50 003CAAB0  7C 00 1A 14 */	add r0, r0, r3
/* 803CEE54 003CAAB4  50 04 B1 D2 */	rlwimi r4, r0, 0x16, 7, 9
/* 803CEE58 003CAAB8  90 9D 01 C4 */	stw r4, 0x1c4(r29)
lbl_803CEE5C:
/* 803CEE5C 003CAABC  80 DF 00 64 */	lwz r6, 0x64(r31)
/* 803CEE60 003CAAC0  38 80 00 14 */	li r4, 0x14
/* 803CEE64 003CAAC4  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803CEE68 003CAAC8  7F C3 F3 78 */	mr r3, r30
/* 803CEE6C 003CAACC  98 9F 00 F5 */	stb r4, 0xf5(r31)
/* 803CEE70 003CAAD0  7F E4 FB 78 */	mr r4, r31
/* 803CEE74 003CAAD4  38 A0 00 01 */	li r5, 1
/* 803CEE78 003CAAD8  90 1F 00 F8 */	stw r0, 0xf8(r31)
/* 803CEE7C 003CAADC  90 DF 00 FC */	stw r6, 0xfc(r31)
/* 803CEE80 003CAAE0  4B FF 03 A9 */	bl func_803BF228
/* 803CEE84 003CAAE4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CEE88 003CAAE8  28 00 00 02 */	cmplwi r0, 2
/* 803CEE8C 003CAAEC  40 82 00 10 */	bne lbl_803CEE9C
/* 803CEE90 003CAAF0  38 00 00 C0 */	li r0, 0xc0
/* 803CEE94 003CAAF4  B0 1F 00 F6 */	sth r0, 0xf6(r31)
/* 803CEE98 003CAAF8  48 00 00 0C */	b lbl_803CEEA4
lbl_803CEE9C:
/* 803CEE9C 003CAAFC  38 00 00 BE */	li r0, 0xbe
/* 803CEEA0 003CAB00  B0 1F 00 F6 */	sth r0, 0xf6(r31)
lbl_803CEEA4:
/* 803CEEA4 003CAB04  39 61 00 20 */	addi r11, r1, 0x20
/* 803CEEA8 003CAB08  38 60 00 00 */	li r3, 0
/* 803CEEAC 003CAB0C  4B DF 82 D1 */	bl _restgpr_29
/* 803CEEB0 003CAB10  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CEEB4 003CAB14  7C 08 03 A6 */	mtlr r0
/* 803CEEB8 003CAB18  38 21 00 20 */	addi r1, r1, 0x20
/* 803CEEBC 003CAB1C  4E 80 00 20 */	blr 
/* 803CEEC0 003CAB20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CEEC4 003CAB24  7C 08 02 A6 */	mflr r0
/* 803CEEC8 003CAB28  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CEECC 003CAB2C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CEED0 003CAB30  4B DF 82 61 */	bl _savegpr_29
/* 803CEED4 003CAB34  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CEED8 003CAB38  7C 9F 23 78 */	mr r31, r4
/* 803CEEDC 003CAB3C  7C 7E 1B 78 */	mr r30, r3
/* 803CEEE0 003CAB40  38 05 00 01 */	addi r0, r5, 1
/* 803CEEE4 003CAB44  7F E3 FB 78 */	mr r3, r31
/* 803CEEE8 003CAB48  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CEEEC 003CAB4C  48 00 7F 81 */	bl func_803D6E6C
/* 803CEEF0 003CAB50  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CEEF4 003CAB54  7C 7D 1B 78 */	mr r29, r3
/* 803CEEF8 003CAB58  7F C3 F3 78 */	mr r3, r30
/* 803CEEFC 003CAB5C  4B FD DD E9 */	bl func_803ACCE4
/* 803CEF00 003CAB60  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803CEF04 003CAB64  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803CEF08 003CAB68  7C 9F 02 14 */	add r4, r31, r0
/* 803CEF0C 003CAB6C  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803CEF10 003CAB70  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803CEF14 003CAB74  41 82 00 20 */	beq lbl_803CEF34
/* 803CEF18 003CAB78  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 803CEF1C 003CAB7C  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CEF20 003CAB80  7C 63 EA 14 */	add r3, r3, r29
/* 803CEF24 003CAB84  60 00 00 40 */	ori r0, r0, 0x40
/* 803CEF28 003CAB88  90 7F 00 B4 */	stw r3, 0xb4(r31)
/* 803CEF2C 003CAB8C  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803CEF30 003CAB90  48 00 00 B0 */	b lbl_803CEFE0
lbl_803CEF34:
/* 803CEF34 003CAB94  60 63 00 01 */	ori r3, r3, 1
/* 803CEF38 003CAB98  54 A0 18 38 */	slwi r0, r5, 3
/* 803CEF3C 003CAB9C  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803CEF40 003CABA0  7F BF 02 14 */	add r29, r31, r0
/* 803CEF44 003CABA4  38 00 00 05 */	li r0, 5
/* 803CEF48 003CABA8  7F E3 FB 78 */	mr r3, r31
/* 803CEF4C 003CABAC  80 9D 01 C4 */	lwz r4, 0x1c4(r29)
/* 803CEF50 003CABB0  50 04 D8 88 */	rlwimi r4, r0, 0x1b, 2, 4
/* 803CEF54 003CABB4  90 9D 01 C4 */	stw r4, 0x1c4(r29)
/* 803CEF58 003CABB8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CEF5C 003CABBC  50 04 F0 02 */	rlwimi r4, r0, 0x1e, 0, 1
/* 803CEF60 003CABC0  90 9D 01 C4 */	stw r4, 0x1c4(r29)
/* 803CEF64 003CABC4  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CEF68 003CABC8  4B FF 51 55 */	bl func_803C40BC
/* 803CEF6C 003CABCC  2C 03 00 60 */	cmpwi r3, 0x60
/* 803CEF70 003CABD0  40 82 00 28 */	bne lbl_803CEF98
/* 803CEF74 003CABD4  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CEF78 003CABD8  7F E3 FB 78 */	mr r3, r31
/* 803CEF7C 003CABDC  38 A0 00 00 */	li r5, 0
/* 803CEF80 003CABE0  4B FF 51 81 */	bl func_803C4100
/* 803CEF84 003CABE4  80 9D 01 C4 */	lwz r4, 0x1c4(r29)
/* 803CEF88 003CABE8  54 80 2F 7E */	rlwinm r0, r4, 5, 0x1d, 0x1f
/* 803CEF8C 003CABEC  7C 00 1A 14 */	add r0, r0, r3
/* 803CEF90 003CABF0  50 04 D8 88 */	rlwimi r4, r0, 0x1b, 2, 4
/* 803CEF94 003CABF4  90 9D 01 C4 */	stw r4, 0x1c4(r29)
lbl_803CEF98:
/* 803CEF98 003CABF8  80 DF 00 64 */	lwz r6, 0x64(r31)
/* 803CEF9C 003CABFC  38 80 00 14 */	li r4, 0x14
/* 803CEFA0 003CAC00  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803CEFA4 003CAC04  7F C3 F3 78 */	mr r3, r30
/* 803CEFA8 003CAC08  98 9F 00 F5 */	stb r4, 0xf5(r31)
/* 803CEFAC 003CAC0C  7F E4 FB 78 */	mr r4, r31
/* 803CEFB0 003CAC10  38 A0 00 01 */	li r5, 1
/* 803CEFB4 003CAC14  90 1F 00 F8 */	stw r0, 0xf8(r31)
/* 803CEFB8 003CAC18  90 DF 00 FC */	stw r6, 0xfc(r31)
/* 803CEFBC 003CAC1C  4B FF 02 6D */	bl func_803BF228
/* 803CEFC0 003CAC20  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CEFC4 003CAC24  28 00 00 02 */	cmplwi r0, 2
/* 803CEFC8 003CAC28  40 82 00 10 */	bne lbl_803CEFD8
/* 803CEFCC 003CAC2C  38 00 00 C4 */	li r0, 0xc4
/* 803CEFD0 003CAC30  B0 1F 00 F6 */	sth r0, 0xf6(r31)
/* 803CEFD4 003CAC34  48 00 00 0C */	b lbl_803CEFE0
lbl_803CEFD8:
/* 803CEFD8 003CAC38  38 00 00 C2 */	li r0, 0xc2
/* 803CEFDC 003CAC3C  B0 1F 00 F6 */	sth r0, 0xf6(r31)
lbl_803CEFE0:
/* 803CEFE0 003CAC40  39 61 00 20 */	addi r11, r1, 0x20
/* 803CEFE4 003CAC44  38 60 00 00 */	li r3, 0
/* 803CEFE8 003CAC48  4B DF 81 95 */	bl _restgpr_29
/* 803CEFEC 003CAC4C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CEFF0 003CAC50  7C 08 03 A6 */	mtlr r0
/* 803CEFF4 003CAC54  38 21 00 20 */	addi r1, r1, 0x20
/* 803CEFF8 003CAC58  4E 80 00 20 */	blr 
/* 803CEFFC 003CAC5C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CF000 003CAC60  7C 08 02 A6 */	mflr r0
/* 803CF004 003CAC64  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CF008 003CAC68  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF00C 003CAC6C  4B DF 81 25 */	bl _savegpr_29
/* 803CF010 003CAC70  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF014 003CAC74  7C 9F 23 78 */	mr r31, r4
/* 803CF018 003CAC78  7C 7D 1B 78 */	mr r29, r3
/* 803CF01C 003CAC7C  38 05 00 01 */	addi r0, r5, 1
/* 803CF020 003CAC80  7F E3 FB 78 */	mr r3, r31
/* 803CF024 003CAC84  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CF028 003CAC88  48 00 7E 45 */	bl func_803D6E6C
/* 803CF02C 003CAC8C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CF030 003CAC90  7C 7E 1B 78 */	mr r30, r3
/* 803CF034 003CAC94  7F A3 EB 78 */	mr r3, r29
/* 803CF038 003CAC98  4B FD DC AD */	bl func_803ACCE4
/* 803CF03C 003CAC9C  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803CF040 003CACA0  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803CF044 003CACA4  7C 9F 02 14 */	add r4, r31, r0
/* 803CF048 003CACA8  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803CF04C 003CACAC  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803CF050 003CACB0  41 82 00 20 */	beq lbl_803CF070
/* 803CF054 003CACB4  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 803CF058 003CACB8  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CF05C 003CACBC  7C 63 F2 14 */	add r3, r3, r30
/* 803CF060 003CACC0  60 00 00 40 */	ori r0, r0, 0x40
/* 803CF064 003CACC4  90 7F 00 B4 */	stw r3, 0xb4(r31)
/* 803CF068 003CACC8  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803CF06C 003CACCC  48 00 00 30 */	b lbl_803CF09C
lbl_803CF070:
/* 803CF070 003CACD0  60 63 00 40 */	ori r3, r3, 0x40
/* 803CF074 003CACD4  54 A0 18 38 */	slwi r0, r5, 3
/* 803CF078 003CACD8  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803CF07C 003CACDC  7C 9F 02 14 */	add r4, r31, r0
/* 803CF080 003CACE0  38 00 00 05 */	li r0, 5
/* 803CF084 003CACE4  80 64 01 C4 */	lwz r3, 0x1c4(r4)
/* 803CF088 003CACE8  50 03 8B 1C */	rlwimi r3, r0, 0x11, 0xc, 0xe
/* 803CF08C 003CACEC  90 64 01 C4 */	stw r3, 0x1c4(r4)
/* 803CF090 003CACF0  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CF094 003CACF4  50 03 A2 96 */	rlwimi r3, r0, 0x14, 0xa, 0xb
/* 803CF098 003CACF8  90 64 01 C4 */	stw r3, 0x1c4(r4)
lbl_803CF09C:
/* 803CF09C 003CACFC  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF0A0 003CAD00  38 60 00 00 */	li r3, 0
/* 803CF0A4 003CAD04  4B DF 80 D9 */	bl _restgpr_29
/* 803CF0A8 003CAD08  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CF0AC 003CAD0C  7C 08 03 A6 */	mtlr r0
/* 803CF0B0 003CAD10  38 21 00 20 */	addi r1, r1, 0x20
/* 803CF0B4 003CAD14  4E 80 00 20 */	blr 
/* 803CF0B8 003CAD18  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CF0BC 003CAD1C  7C 08 02 A6 */	mflr r0
/* 803CF0C0 003CAD20  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CF0C4 003CAD24  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CF0C8 003CAD28  7C 9F 23 78 */	mr r31, r4
/* 803CF0CC 003CAD2C  7F E3 FB 78 */	mr r3, r31
/* 803CF0D0 003CAD30  93 C1 00 08 */	stw r30, 8(r1)
/* 803CF0D4 003CAD34  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF0D8 003CAD38  80 04 21 3C */	lwz r0, 0x213c(r4)
/* 803CF0DC 003CAD3C  38 C5 00 01 */	addi r6, r5, 1
/* 803CF0E0 003CAD40  80 A4 00 6C */	lwz r5, 0x6c(r4)
/* 803CF0E4 003CAD44  60 00 04 00 */	ori r0, r0, 0x400
/* 803CF0E8 003CAD48  90 C4 00 B4 */	stw r6, 0xb4(r4)
/* 803CF0EC 003CAD4C  38 C0 00 05 */	li r6, 5
/* 803CF0F0 003CAD50  90 04 21 3C */	stw r0, 0x213c(r4)
/* 803CF0F4 003CAD54  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803CF0F8 003CAD58  4B FF 0A 99 */	bl func_803BFB90
/* 803CF0FC 003CAD5C  2C 03 00 01 */	cmpwi r3, 1
/* 803CF100 003CAD60  40 82 00 24 */	bne lbl_803CF124
/* 803CF104 003CAD64  80 9F 21 6C */	lwz r4, 0x216c(r31)
/* 803CF108 003CAD68  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803CF10C 003CAD6C  80 1F 00 94 */	lwz r0, 0x94(r31)
/* 803CF110 003CAD70  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803CF114 003CAD74  64 84 00 08 */	oris r4, r4, 8
/* 803CF118 003CAD78  90 9F 21 6C */	stw r4, 0x216c(r31)
/* 803CF11C 003CAD7C  90 03 00 18 */	stw r0, 0x18(r3)
/* 803CF120 003CAD80  48 00 02 78 */	b lbl_803CF398
lbl_803CF124:
/* 803CF124 003CAD84  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF128 003CAD88  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF12C 003CAD8C  7C 7F 02 14 */	add r3, r31, r0
/* 803CF130 003CAD90  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803CF134 003CAD94  54 00 06 F9 */	rlwinm. r0, r0, 0, 0x1b, 0x1c
/* 803CF138 003CAD98  40 82 00 C8 */	bne lbl_803CF200
/* 803CF13C 003CAD9C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CF140 003CADA0  7F E3 FB 78 */	mr r3, r31
/* 803CF144 003CADA4  4B FF 09 D5 */	bl func_803BFB18
/* 803CF148 003CADA8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CF14C 003CADAC  28 00 00 63 */	cmplwi r0, 0x63
/* 803CF150 003CADB0  41 82 00 B0 */	beq lbl_803CF200
/* 803CF154 003CADB4  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803CF158 003CADB8  7F E3 FB 78 */	mr r3, r31
/* 803CF15C 003CADBC  4B FF 09 BD */	bl func_803BFB18
/* 803CF160 003CADC0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CF164 003CADC4  28 00 00 63 */	cmplwi r0, 0x63
/* 803CF168 003CADC8  41 82 00 98 */	beq lbl_803CF200
/* 803CF16C 003CADCC  80 7F 00 6C */	lwz r3, 0x6c(r31)
/* 803CF170 003CADD0  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CF174 003CADD4  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF178 003CADD8  80 9F 30 44 */	lwz r4, 0x3044(r31)
/* 803CF17C 003CADDC  54 84 20 36 */	slwi r4, r4, 4
/* 803CF180 003CADE0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF184 003CADE4  7C BF 22 14 */	add r5, r31, r4
/* 803CF188 003CADE8  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF18C 003CADEC  88 A5 03 E3 */	lbz r5, 0x3e3(r5)
/* 803CF190 003CADF0  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CF194 003CADF4  7C 7F 02 14 */	add r3, r31, r0
/* 803CF198 003CADF8  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CF19C 003CADFC  7C 04 00 50 */	subf r0, r4, r0
/* 803CF1A0 003CAE00  7C 05 02 14 */	add r0, r5, r0
/* 803CF1A4 003CAE04  54 1E 04 3E */	clrlwi r30, r0, 0x10
/* 803CF1A8 003CAE08  48 00 A6 11 */	bl func_803D97B8
/* 803CF1AC 003CAE0C  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803CF1B0 003CAE10  38 60 00 64 */	li r3, 0x64
/* 803CF1B4 003CAE14  7C 04 1B D6 */	divw r0, r4, r3
/* 803CF1B8 003CAE18  7C 00 19 D6 */	mullw r0, r0, r3
/* 803CF1BC 003CAE1C  7C 00 20 50 */	subf r0, r0, r4
/* 803CF1C0 003CAE20  7C 00 F0 00 */	cmpw r0, r30
/* 803CF1C4 003CAE24  40 80 00 34 */	bge lbl_803CF1F8
/* 803CF1C8 003CAE28  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803CF1CC 003CAE2C  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF1D0 003CAE30  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF1D4 003CAE34  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF1D8 003CAE38  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF1DC 003CAE3C  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CF1E0 003CAE40  7C 7F 02 14 */	add r3, r31, r0
/* 803CF1E4 003CAE44  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CF1E8 003CAE48  7C 04 00 40 */	cmplw r4, r0
/* 803CF1EC 003CAE4C  41 80 00 0C */	blt lbl_803CF1F8
/* 803CF1F0 003CAE50  38 60 00 01 */	li r3, 1
/* 803CF1F4 003CAE54  48 00 01 30 */	b lbl_803CF324
lbl_803CF1F8:
/* 803CF1F8 003CAE58  38 60 00 00 */	li r3, 0
/* 803CF1FC 003CAE5C  48 00 01 28 */	b lbl_803CF324
lbl_803CF200:
/* 803CF200 003CAE60  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF204 003CAE64  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803CF208 003CAE68  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF20C 003CAE6C  7C 7F 02 14 */	add r3, r31, r0
/* 803CF210 003CAE70  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803CF214 003CAE74  54 00 17 BE */	srwi r0, r0, 0x1e
/* 803CF218 003CAE78  7C 04 00 40 */	cmplw r4, r0
/* 803CF21C 003CAE7C  40 82 00 10 */	bne lbl_803CF22C
/* 803CF220 003CAE80  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803CF224 003CAE84  54 00 06 F9 */	rlwinm. r0, r0, 0, 0x1b, 0x1c
/* 803CF228 003CAE88  40 82 00 30 */	bne lbl_803CF258
lbl_803CF22C:
/* 803CF22C 003CAE8C  7F E3 FB 78 */	mr r3, r31
/* 803CF230 003CAE90  4B FF 08 E9 */	bl func_803BFB18
/* 803CF234 003CAE94  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CF238 003CAE98  28 00 00 63 */	cmplwi r0, 0x63
/* 803CF23C 003CAE9C  41 82 00 1C */	beq lbl_803CF258
/* 803CF240 003CAEA0  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803CF244 003CAEA4  7F E3 FB 78 */	mr r3, r31
/* 803CF248 003CAEA8  4B FF 08 D1 */	bl func_803BFB18
/* 803CF24C 003CAEAC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CF250 003CAEB0  28 00 00 63 */	cmplwi r0, 0x63
/* 803CF254 003CAEB4  40 82 00 34 */	bne lbl_803CF288
lbl_803CF258:
/* 803CF258 003CAEB8  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803CF25C 003CAEBC  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF260 003CAEC0  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF264 003CAEC4  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF268 003CAEC8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF26C 003CAECC  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CF270 003CAED0  7C 7F 02 14 */	add r3, r31, r0
/* 803CF274 003CAED4  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CF278 003CAED8  7C 04 00 40 */	cmplw r4, r0
/* 803CF27C 003CAEDC  41 80 00 0C */	blt lbl_803CF288
/* 803CF280 003CAEE0  38 60 00 01 */	li r3, 1
/* 803CF284 003CAEE4  48 00 00 94 */	b lbl_803CF318
lbl_803CF288:
/* 803CF288 003CAEE8  80 7F 00 6C */	lwz r3, 0x6c(r31)
/* 803CF28C 003CAEEC  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CF290 003CAEF0  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF294 003CAEF4  80 9F 30 44 */	lwz r4, 0x3044(r31)
/* 803CF298 003CAEF8  54 84 20 36 */	slwi r4, r4, 4
/* 803CF29C 003CAEFC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF2A0 003CAF00  7C BF 22 14 */	add r5, r31, r4
/* 803CF2A4 003CAF04  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF2A8 003CAF08  88 A5 03 E3 */	lbz r5, 0x3e3(r5)
/* 803CF2AC 003CAF0C  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CF2B0 003CAF10  7C 7F 02 14 */	add r3, r31, r0
/* 803CF2B4 003CAF14  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CF2B8 003CAF18  7C 04 00 50 */	subf r0, r4, r0
/* 803CF2BC 003CAF1C  7C 05 02 14 */	add r0, r5, r0
/* 803CF2C0 003CAF20  54 1E 04 3E */	clrlwi r30, r0, 0x10
/* 803CF2C4 003CAF24  48 00 A4 F5 */	bl func_803D97B8
/* 803CF2C8 003CAF28  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803CF2CC 003CAF2C  38 60 00 64 */	li r3, 0x64
/* 803CF2D0 003CAF30  7C 04 1B D6 */	divw r0, r4, r3
/* 803CF2D4 003CAF34  7C 00 19 D6 */	mullw r0, r0, r3
/* 803CF2D8 003CAF38  7C 00 20 50 */	subf r0, r0, r4
/* 803CF2DC 003CAF3C  7C 00 F0 00 */	cmpw r0, r30
/* 803CF2E0 003CAF40  40 80 00 34 */	bge lbl_803CF314
/* 803CF2E4 003CAF44  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803CF2E8 003CAF48  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF2EC 003CAF4C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF2F0 003CAF50  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF2F4 003CAF54  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF2F8 003CAF58  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CF2FC 003CAF5C  7C 7F 02 14 */	add r3, r31, r0
/* 803CF300 003CAF60  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CF304 003CAF64  7C 04 00 40 */	cmplw r4, r0
/* 803CF308 003CAF68  41 80 00 0C */	blt lbl_803CF314
/* 803CF30C 003CAF6C  38 60 00 01 */	li r3, 1
/* 803CF310 003CAF70  48 00 00 08 */	b lbl_803CF318
lbl_803CF314:
/* 803CF314 003CAF74  38 60 00 00 */	li r3, 0
lbl_803CF318:
/* 803CF318 003CAF78  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CF31C 003CAF7C  60 00 04 00 */	ori r0, r0, 0x400
/* 803CF320 003CAF80  90 1F 21 6C */	stw r0, 0x216c(r31)
lbl_803CF324:
/* 803CF324 003CAF84  2C 03 00 00 */	cmpwi r3, 0
/* 803CF328 003CAF88  41 82 00 2C */	beq lbl_803CF354
/* 803CF32C 003CAF8C  80 7F 00 6C */	lwz r3, 0x6c(r31)
/* 803CF330 003CAF90  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CF334 003CAF94  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF338 003CAF98  60 00 00 20 */	ori r0, r0, 0x20
/* 803CF33C 003CAF9C  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF340 003CAFA0  80 63 2D 8C */	lwz r3, 0x2d8c(r3)
/* 803CF344 003CAFA4  7C 63 00 D0 */	neg r3, r3
/* 803CF348 003CAFA8  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803CF34C 003CAFAC  90 7F 21 44 */	stw r3, 0x2144(r31)
/* 803CF350 003CAFB0  48 00 00 48 */	b lbl_803CF398
lbl_803CF354:
/* 803CF354 003CAFB4  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803CF358 003CAFB8  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF35C 003CAFBC  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803CF360 003CAFC0  7C 7F 1A 14 */	add r3, r31, r3
/* 803CF364 003CAFC4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF368 003CAFC8  88 83 2D 74 */	lbz r4, 0x2d74(r3)
/* 803CF36C 003CAFCC  7C 7F 02 14 */	add r3, r31, r0
/* 803CF370 003CAFD0  88 03 2D 74 */	lbz r0, 0x2d74(r3)
/* 803CF374 003CAFD4  7C 04 00 40 */	cmplw r4, r0
/* 803CF378 003CAFD8  41 80 00 14 */	blt lbl_803CF38C
/* 803CF37C 003CAFDC  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CF380 003CAFE0  60 00 00 01 */	ori r0, r0, 1
/* 803CF384 003CAFE4  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803CF388 003CAFE8  48 00 00 10 */	b lbl_803CF398
lbl_803CF38C:
/* 803CF38C 003CAFEC  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803CF390 003CAFF0  60 00 10 00 */	ori r0, r0, 0x1000
/* 803CF394 003CAFF4  90 1F 21 6C */	stw r0, 0x216c(r31)
lbl_803CF398:
/* 803CF398 003CAFF8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CF39C 003CAFFC  38 60 00 00 */	li r3, 0
/* 803CF3A0 003CB000  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CF3A4 003CB004  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CF3A8 003CB008  7C 08 03 A6 */	mtlr r0
/* 803CF3AC 003CB00C  38 21 00 10 */	addi r1, r1, 0x10
/* 803CF3B0 003CB010  4E 80 00 20 */	blr 
/* 803CF3B4 003CB014  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CF3B8 003CB018  7C 08 02 A6 */	mflr r0
/* 803CF3BC 003CB01C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CF3C0 003CB020  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF3C4 003CB024  4B DF 7D 69 */	bl _savegpr_28
/* 803CF3C8 003CB028  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF3CC 003CB02C  7C 9D 23 78 */	mr r29, r4
/* 803CF3D0 003CB030  7C 7C 1B 78 */	mr r28, r3
/* 803CF3D4 003CB034  38 05 00 01 */	addi r0, r5, 1
/* 803CF3D8 003CB038  7F A3 EB 78 */	mr r3, r29
/* 803CF3DC 003CB03C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CF3E0 003CB040  48 00 7A 8D */	bl func_803D6E6C
/* 803CF3E4 003CB044  7C 7F 1B 78 */	mr r31, r3
/* 803CF3E8 003CB048  7F A3 EB 78 */	mr r3, r29
/* 803CF3EC 003CB04C  48 00 7A 81 */	bl func_803D6E6C
/* 803CF3F0 003CB050  7C 7E 1B 78 */	mr r30, r3
/* 803CF3F4 003CB054  7F 83 E3 78 */	mr r3, r28
/* 803CF3F8 003CB058  7F A4 EB 78 */	mr r4, r29
/* 803CF3FC 003CB05C  7F E5 FB 78 */	mr r5, r31
/* 803CF400 003CB060  48 00 7A 8D */	bl func_803D6E8C
/* 803CF404 003CB064  7C 7F 1B 78 */	mr r31, r3
/* 803CF408 003CB068  80 63 00 00 */	lwz r3, 0(r3)
/* 803CF40C 003CB06C  7F C4 F3 78 */	mr r4, r30
/* 803CF410 003CB070  4B FF 17 59 */	bl func_803C0B68
/* 803CF414 003CB074  90 7F 00 00 */	stw r3, 0(r31)
/* 803CF418 003CB078  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF41C 003CB07C  38 60 00 00 */	li r3, 0
/* 803CF420 003CB080  4B DF 7D 59 */	bl _restgpr_28
/* 803CF424 003CB084  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CF428 003CB088  7C 08 03 A6 */	mtlr r0
/* 803CF42C 003CB08C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CF430 003CB090  4E 80 00 20 */	blr 
/* 803CF434 003CB094  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CF438 003CB098  7C 08 02 A6 */	mflr r0
/* 803CF43C 003CB09C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CF440 003CB0A0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF444 003CB0A4  4B DF 7C E9 */	bl _savegpr_28
/* 803CF448 003CB0A8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF44C 003CB0AC  7C 9D 23 78 */	mr r29, r4
/* 803CF450 003CB0B0  7C 7C 1B 78 */	mr r28, r3
/* 803CF454 003CB0B4  38 05 00 01 */	addi r0, r5, 1
/* 803CF458 003CB0B8  7F A3 EB 78 */	mr r3, r29
/* 803CF45C 003CB0BC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CF460 003CB0C0  48 00 7A 0D */	bl func_803D6E6C
/* 803CF464 003CB0C4  7C 7F 1B 78 */	mr r31, r3
/* 803CF468 003CB0C8  7F A3 EB 78 */	mr r3, r29
/* 803CF46C 003CB0CC  48 00 7A 01 */	bl func_803D6E6C
/* 803CF470 003CB0D0  7C 7E 1B 78 */	mr r30, r3
/* 803CF474 003CB0D4  7F 83 E3 78 */	mr r3, r28
/* 803CF478 003CB0D8  7F A4 EB 78 */	mr r4, r29
/* 803CF47C 003CB0DC  7F E5 FB 78 */	mr r5, r31
/* 803CF480 003CB0E0  48 00 7A 0D */	bl func_803D6E8C
/* 803CF484 003CB0E4  7C 7F 1B 78 */	mr r31, r3
/* 803CF488 003CB0E8  7F 83 E3 78 */	mr r3, r28
/* 803CF48C 003CB0EC  7F A4 EB 78 */	mr r4, r29
/* 803CF490 003CB0F0  7F C5 F3 78 */	mr r5, r30
/* 803CF494 003CB0F4  48 00 79 F9 */	bl func_803D6E8C
/* 803CF498 003CB0F8  80 1F 00 00 */	lwz r0, 0(r31)
/* 803CF49C 003CB0FC  38 A0 00 01 */	li r5, 1
/* 803CF4A0 003CB100  2C 00 00 00 */	cmpwi r0, 0
/* 803CF4A4 003CB104  40 80 00 08 */	bge lbl_803CF4AC
/* 803CF4A8 003CB108  38 A0 FF FF */	li r5, -1
lbl_803CF4AC:
/* 803CF4AC 003CB10C  80 9F 00 00 */	lwz r4, 0(r31)
/* 803CF4B0 003CB110  80 03 00 00 */	lwz r0, 0(r3)
/* 803CF4B4 003CB114  7C 04 03 D7 */	divw. r0, r4, r0
/* 803CF4B8 003CB118  90 1F 00 00 */	stw r0, 0(r31)
/* 803CF4BC 003CB11C  40 82 00 08 */	bne lbl_803CF4C4
/* 803CF4C0 003CB120  90 BF 00 00 */	stw r5, 0(r31)
lbl_803CF4C4:
/* 803CF4C4 003CB124  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF4C8 003CB128  38 60 00 00 */	li r3, 0
/* 803CF4CC 003CB12C  4B DF 7C AD */	bl _restgpr_28
/* 803CF4D0 003CB130  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CF4D4 003CB134  7C 08 03 A6 */	mtlr r0
/* 803CF4D8 003CB138  38 21 00 20 */	addi r1, r1, 0x20
/* 803CF4DC 003CB13C  4E 80 00 20 */	blr 
/* 803CF4E0 003CB140  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CF4E4 003CB144  7C 08 02 A6 */	mflr r0
/* 803CF4E8 003CB148  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CF4EC 003CB14C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CF4F0 003CB150  93 C1 00 08 */	stw r30, 8(r1)
/* 803CF4F4 003CB154  7C 9E 23 78 */	mr r30, r4
/* 803CF4F8 003CB158  7F C3 F3 78 */	mr r3, r30
/* 803CF4FC 003CB15C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF500 003CB160  38 05 00 01 */	addi r0, r5, 1
/* 803CF504 003CB164  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CF508 003CB168  48 00 79 65 */	bl func_803D6E6C
/* 803CF50C 003CB16C  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803CF510 003CB170  7C 7F 1B 78 */	mr r31, r3
/* 803CF514 003CB174  54 00 08 3C */	slwi r0, r0, 1
/* 803CF518 003CB178  7C 7E 02 14 */	add r3, r30, r0
/* 803CF51C 003CB17C  A0 63 30 7C */	lhz r3, 0x307c(r3)
/* 803CF520 003CB180  4B FF 91 19 */	bl func_803C8638
/* 803CF524 003CB184  2C 03 00 00 */	cmpwi r3, 0
/* 803CF528 003CB188  41 82 00 48 */	beq lbl_803CF570
/* 803CF52C 003CB18C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CF530 003CB190  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF534 003CB194  7C DE 02 14 */	add r6, r30, r0
/* 803CF538 003CB198  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803CF53C 003CB19C  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803CF540 003CB1A0  40 82 00 30 */	bne lbl_803CF570
/* 803CF544 003CB1A4  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803CF548 003CB1A8  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803CF54C 003CB1AC  7C 7E 02 14 */	add r3, r30, r0
/* 803CF550 003CB1B0  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803CF554 003CB1B4  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803CF558 003CB1B8  40 82 00 18 */	bne lbl_803CF570
/* 803CF55C 003CB1BC  54 80 08 3C */	slwi r0, r4, 1
/* 803CF560 003CB1C0  7C 7E 02 14 */	add r3, r30, r0
/* 803CF564 003CB1C4  A0 E3 30 7C */	lhz r7, 0x307c(r3)
/* 803CF568 003CB1C8  2C 07 00 00 */	cmpwi r7, 0
/* 803CF56C 003CB1CC  40 82 00 14 */	bne lbl_803CF580
lbl_803CF570:
/* 803CF570 003CB1D0  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CF574 003CB1D4  7C 00 FA 14 */	add r0, r0, r31
/* 803CF578 003CB1D8  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803CF57C 003CB1DC  48 00 01 0C */	b lbl_803CF688
lbl_803CF580:
/* 803CF580 003CB1E0  38 00 00 04 */	li r0, 4
/* 803CF584 003CB1E4  38 60 FF FF */	li r3, -1
/* 803CF588 003CB1E8  39 00 00 00 */	li r8, 0
/* 803CF58C 003CB1EC  38 80 00 00 */	li r4, 0
/* 803CF590 003CB1F0  7C 09 03 A6 */	mtctr r0
lbl_803CF594:
/* 803CF594 003CB1F4  7C A4 32 14 */	add r5, r4, r6
/* 803CF598 003CB1F8  A0 05 2D 4C */	lhz r0, 0x2d4c(r5)
/* 803CF59C 003CB1FC  7C 07 00 40 */	cmplw r7, r0
/* 803CF5A0 003CB200  41 82 00 24 */	beq lbl_803CF5C4
/* 803CF5A4 003CB204  28 00 00 66 */	cmplwi r0, 0x66
/* 803CF5A8 003CB208  40 82 00 10 */	bne lbl_803CF5B8
/* 803CF5AC 003CB20C  2C 03 FF FF */	cmpwi r3, -1
/* 803CF5B0 003CB210  40 82 00 08 */	bne lbl_803CF5B8
/* 803CF5B4 003CB214  7D 03 43 78 */	mr r3, r8
lbl_803CF5B8:
/* 803CF5B8 003CB218  39 08 00 01 */	addi r8, r8, 1
/* 803CF5BC 003CB21C  38 84 00 02 */	addi r4, r4, 2
/* 803CF5C0 003CB220  42 00 FF D4 */	bdnz lbl_803CF594
lbl_803CF5C4:
/* 803CF5C4 003CB224  2C 08 00 04 */	cmpwi r8, 4
/* 803CF5C8 003CB228  40 82 00 B4 */	bne lbl_803CF67C
/* 803CF5CC 003CB22C  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CF5D0 003CB230  54 60 08 3C */	slwi r0, r3, 1
/* 803CF5D4 003CB234  90 FE 01 24 */	stw r7, 0x124(r30)
/* 803CF5D8 003CB238  1C 84 00 C0 */	mulli r4, r4, 0xc0
/* 803CF5DC 003CB23C  7C 9E 22 14 */	add r4, r30, r4
/* 803CF5E0 003CB240  7C 84 02 14 */	add r4, r4, r0
/* 803CF5E4 003CB244  B0 E4 2D 4C */	sth r7, 0x2d4c(r4)
/* 803CF5E8 003CB248  80 1E 01 24 */	lwz r0, 0x124(r30)
/* 803CF5EC 003CB24C  54 00 20 36 */	slwi r0, r0, 4
/* 803CF5F0 003CB250  7C 9E 02 14 */	add r4, r30, r0
/* 803CF5F4 003CB254  88 A4 03 E4 */	lbz r5, 0x3e4(r4)
/* 803CF5F8 003CB258  28 05 00 05 */	cmplwi r5, 5
/* 803CF5FC 003CB25C  40 80 00 1C */	bge lbl_803CF618
/* 803CF600 003CB260  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CF604 003CB264  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF608 003CB268  7C 1E 02 14 */	add r0, r30, r0
/* 803CF60C 003CB26C  7C 80 1A 14 */	add r4, r0, r3
/* 803CF610 003CB270  98 A4 2D 6C */	stb r5, 0x2d6c(r4)
/* 803CF614 003CB274  48 00 00 1C */	b lbl_803CF630
lbl_803CF618:
/* 803CF618 003CB278  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CF61C 003CB27C  38 A0 00 05 */	li r5, 5
/* 803CF620 003CB280  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF624 003CB284  7C 1E 02 14 */	add r0, r30, r0
/* 803CF628 003CB288  7C 80 1A 14 */	add r4, r0, r3
/* 803CF62C 003CB28C  98 A4 2D 6C */	stb r5, 0x2d6c(r4)
lbl_803CF630:
/* 803CF630 003CB290  48 00 E2 F1 */	bl func_803DD920
/* 803CF634 003CB294  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CF638 003CB298  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF63C 003CB29C  7C BE 02 14 */	add r5, r30, r0
/* 803CF640 003CB2A0  80 85 2D CC */	lwz r4, 0x2dcc(r5)
/* 803CF644 003CB2A4  54 80 37 3E */	rlwinm r0, r4, 6, 0x1c, 0x1f
/* 803CF648 003CB2A8  7C 00 1B 78 */	or r0, r0, r3
/* 803CF64C 003CB2AC  50 04 D0 8A */	rlwimi r4, r0, 0x1a, 2, 5
/* 803CF650 003CB2B0  90 85 2D CC */	stw r4, 0x2dcc(r5)
/* 803CF654 003CB2B4  80 1E 01 24 */	lwz r0, 0x124(r30)
/* 803CF658 003CB2B8  2C 00 01 83 */	cmpwi r0, 0x183
/* 803CF65C 003CB2BC  40 82 00 2C */	bne lbl_803CF688
/* 803CF660 003CB2C0  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CF664 003CB2C4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF668 003CB2C8  7C 7E 02 14 */	add r3, r30, r0
/* 803CF66C 003CB2CC  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803CF670 003CB2D0  54 00 03 52 */	rlwinm r0, r0, 0, 0xd, 9
/* 803CF674 003CB2D4  90 03 2D CC */	stw r0, 0x2dcc(r3)
/* 803CF678 003CB2D8  48 00 00 10 */	b lbl_803CF688
lbl_803CF67C:
/* 803CF67C 003CB2DC  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CF680 003CB2E0  7C 00 FA 14 */	add r0, r0, r31
/* 803CF684 003CB2E4  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803CF688:
/* 803CF688 003CB2E8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CF68C 003CB2EC  38 60 00 00 */	li r3, 0
/* 803CF690 003CB2F0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CF694 003CB2F4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CF698 003CB2F8  7C 08 03 A6 */	mtlr r0
/* 803CF69C 003CB2FC  38 21 00 10 */	addi r1, r1, 0x10
/* 803CF6A0 003CB300  4E 80 00 20 */	blr 
/* 803CF6A4 003CB304  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CF6A8 003CB308  7C 08 02 A6 */	mflr r0
/* 803CF6AC 003CB30C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CF6B0 003CB310  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF6B4 003CB314  4B DF 7A 79 */	bl _savegpr_28
/* 803CF6B8 003CB318  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803CF6BC 003CB31C  7C 9F 23 78 */	mr r31, r4
/* 803CF6C0 003CB320  3B A0 01 D3 */	li r29, 0x1d3
/* 803CF6C4 003CB324  3B C0 00 04 */	li r30, 4
/* 803CF6C8 003CB328  38 03 00 01 */	addi r0, r3, 1
/* 803CF6CC 003CB32C  90 04 00 B4 */	stw r0, 0xb4(r4)
lbl_803CF6D0:
/* 803CF6D0 003CB330  48 00 A0 E9 */	bl func_803D97B8
/* 803CF6D4 003CB334  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803CF6D8 003CB338  38 A0 00 00 */	li r5, 0
/* 803CF6DC 003CB33C  7C 04 EB D6 */	divw r0, r4, r29
/* 803CF6E0 003CB340  38 60 00 00 */	li r3, 0
/* 803CF6E4 003CB344  7C 00 E9 D6 */	mullw r0, r0, r29
/* 803CF6E8 003CB348  7C 80 20 50 */	subf r4, r0, r4
/* 803CF6EC 003CB34C  38 04 00 01 */	addi r0, r4, 1
/* 803CF6F0 003CB350  54 1C 04 3E */	clrlwi r28, r0, 0x10
/* 803CF6F4 003CB354  7F C9 03 A6 */	mtctr r30
lbl_803CF6F8:
/* 803CF6F8 003CB358  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803CF6FC 003CB35C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF700 003CB360  7C 1F 02 14 */	add r0, r31, r0
/* 803CF704 003CB364  7C 83 02 14 */	add r4, r3, r0
/* 803CF708 003CB368  A0 04 2D 4C */	lhz r0, 0x2d4c(r4)
/* 803CF70C 003CB36C  7C 1C 00 40 */	cmplw r28, r0
/* 803CF710 003CB370  41 82 00 10 */	beq lbl_803CF720
/* 803CF714 003CB374  38 A5 00 01 */	addi r5, r5, 1
/* 803CF718 003CB378  38 63 00 02 */	addi r3, r3, 2
/* 803CF71C 003CB37C  42 00 FF DC */	bdnz lbl_803CF6F8
lbl_803CF720:
/* 803CF720 003CB380  2C 05 00 04 */	cmpwi r5, 4
/* 803CF724 003CB384  40 82 FF AC */	bne lbl_803CF6D0
/* 803CF728 003CB388  7F 83 E3 78 */	mr r3, r28
/* 803CF72C 003CB38C  4B FF 8F 5D */	bl func_803C8688
/* 803CF730 003CB390  2C 03 00 00 */	cmpwi r3, 0
/* 803CF734 003CB394  41 82 FF 9C */	beq lbl_803CF6D0
/* 803CF738 003CB398  93 9F 01 24 */	stw r28, 0x124(r31)
/* 803CF73C 003CB39C  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF740 003CB3A0  38 60 00 00 */	li r3, 0
/* 803CF744 003CB3A4  4B DF 7A 35 */	bl _restgpr_28
/* 803CF748 003CB3A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CF74C 003CB3AC  7C 08 03 A6 */	mtlr r0
/* 803CF750 003CB3B0  38 21 00 20 */	addi r1, r1, 0x20
/* 803CF754 003CB3B4  4E 80 00 20 */	blr 
/* 803CF758 003CB3B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803CF75C 003CB3BC  7C 08 02 A6 */	mflr r0
/* 803CF760 003CB3C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803CF764 003CB3C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803CF768 003CB3C8  7C 9F 23 78 */	mr r31, r4
/* 803CF76C 003CB3CC  7F E3 FB 78 */	mr r3, r31
/* 803CF770 003CB3D0  93 C1 00 08 */	stw r30, 8(r1)
/* 803CF774 003CB3D4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF778 003CB3D8  38 05 00 01 */	addi r0, r5, 1
/* 803CF77C 003CB3DC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CF780 003CB3E0  48 00 76 ED */	bl func_803D6E6C
/* 803CF784 003CB3E4  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF788 003CB3E8  7C 7E 1B 78 */	mr r30, r3
/* 803CF78C 003CB3EC  1C 80 00 C0 */	mulli r4, r0, 0xc0
/* 803CF790 003CB3F0  54 00 08 3C */	slwi r0, r0, 1
/* 803CF794 003CB3F4  7C 7F 02 14 */	add r3, r31, r0
/* 803CF798 003CB3F8  7C BF 22 14 */	add r5, r31, r4
/* 803CF79C 003CB3FC  A0 83 30 7C */	lhz r4, 0x307c(r3)
/* 803CF7A0 003CB400  38 65 2D 40 */	addi r3, r5, 0x2d40
/* 803CF7A4 003CB404  4B FE EF 89 */	bl func_803BE72C
/* 803CF7A8 003CB408  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803CF7AC 003CB40C  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803CF7B0 003CB410  7C 9F 02 14 */	add r4, r31, r0
/* 803CF7B4 003CB414  A0 04 2D E8 */	lhz r0, 0x2de8(r4)
/* 803CF7B8 003CB418  2C 00 00 00 */	cmpwi r0, 0
/* 803CF7BC 003CB41C  40 82 00 70 */	bne lbl_803CF82C
/* 803CF7C0 003CB420  2C 03 00 04 */	cmpwi r3, 4
/* 803CF7C4 003CB424  41 82 00 68 */	beq lbl_803CF82C
/* 803CF7C8 003CB428  7C 64 1A 14 */	add r3, r4, r3
/* 803CF7CC 003CB42C  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803CF7D0 003CB430  2C 00 00 00 */	cmpwi r0, 0
/* 803CF7D4 003CB434  41 82 00 58 */	beq lbl_803CF82C
/* 803CF7D8 003CB438  54 A0 08 3C */	slwi r0, r5, 1
/* 803CF7DC 003CB43C  7C 7F 02 14 */	add r3, r31, r0
/* 803CF7E0 003CB440  A0 03 30 7C */	lhz r0, 0x307c(r3)
/* 803CF7E4 003CB444  2C 00 00 00 */	cmpwi r0, 0
/* 803CF7E8 003CB448  41 82 00 44 */	beq lbl_803CF82C
/* 803CF7EC 003CB44C  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803CF7F0 003CB450  B0 04 2D E8 */	sth r0, 0x2de8(r4)
/* 803CF7F4 003CB454  48 00 9F C5 */	bl func_803D97B8
/* 803CF7F8 003CB458  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803CF7FC 003CB45C  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803CF800 003CB460  7C 83 16 70 */	srawi r3, r4, 2
/* 803CF804 003CB464  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF808 003CB468  7C 63 01 94 */	addze r3, r3
/* 803CF80C 003CB46C  54 63 10 3A */	slwi r3, r3, 2
/* 803CF810 003CB470  7C 83 20 50 */	subf r4, r3, r4
/* 803CF814 003CB474  7C 7F 02 14 */	add r3, r31, r0
/* 803CF818 003CB478  38 84 00 03 */	addi r4, r4, 3
/* 803CF81C 003CB47C  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803CF820 003CB480  50 80 E8 04 */	rlwimi r0, r4, 0x1d, 0, 2
/* 803CF824 003CB484  90 03 2D C8 */	stw r0, 0x2dc8(r3)
/* 803CF828 003CB488  48 00 00 10 */	b lbl_803CF838
lbl_803CF82C:
/* 803CF82C 003CB48C  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803CF830 003CB490  7C 00 F2 14 */	add r0, r0, r30
/* 803CF834 003CB494  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803CF838:
/* 803CF838 003CB498  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803CF83C 003CB49C  38 60 00 00 */	li r3, 0
/* 803CF840 003CB4A0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803CF844 003CB4A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803CF848 003CB4A8  7C 08 03 A6 */	mtlr r0
/* 803CF84C 003CB4AC  38 21 00 10 */	addi r1, r1, 0x10
/* 803CF850 003CB4B0  4E 80 00 20 */	blr 
/* 803CF854 003CB4B4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CF858 003CB4B8  7C 08 02 A6 */	mflr r0
/* 803CF85C 003CB4BC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CF860 003CB4C0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF864 003CB4C4  4B DF 78 C9 */	bl _savegpr_28
/* 803CF868 003CB4C8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF86C 003CB4CC  7C 7D 1B 78 */	mr r29, r3
/* 803CF870 003CB4D0  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803CF874 003CB4D4  7C 9E 23 78 */	mr r30, r4
/* 803CF878 003CB4D8  38 A5 00 01 */	addi r5, r5, 1
/* 803CF87C 003CB4DC  54 C0 30 32 */	slwi r0, r6, 6
/* 803CF880 003CB4E0  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803CF884 003CB4E4  7C A4 02 14 */	add r5, r4, r0
/* 803CF888 003CB4E8  7C C4 33 78 */	mr r4, r6
/* 803CF88C 003CB4EC  83 E5 01 E8 */	lwz r31, 0x1e8(r5)
/* 803CF890 003CB4F0  4B FD D4 55 */	bl func_803ACCE4
/* 803CF894 003CB4F4  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803CF898 003CB4F8  7F A3 EB 78 */	mr r3, r29
/* 803CF89C 003CB4FC  7F E4 FB 78 */	mr r4, r31
/* 803CF8A0 003CB500  4B FD D4 45 */	bl func_803ACCE4
/* 803CF8A4 003CB504  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CF8A8 003CB508  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803CF8AC 003CB50C  57 E0 10 3A */	slwi r0, r31, 2
/* 803CF8B0 003CB510  54 83 30 32 */	slwi r3, r4, 6
/* 803CF8B4 003CB514  7C 7E 1A 14 */	add r3, r30, r3
/* 803CF8B8 003CB518  7C 63 02 14 */	add r3, r3, r0
/* 803CF8BC 003CB51C  80 A3 01 D8 */	lwz r5, 0x1d8(r3)
/* 803CF8C0 003CB520  2C 05 00 00 */	cmpwi r5, 0
/* 803CF8C4 003CB524  41 82 00 CC */	beq lbl_803CF990
/* 803CF8C8 003CB528  7C 1C 30 00 */	cmpw r28, r6
/* 803CF8CC 003CB52C  41 82 00 C4 */	beq lbl_803CF990
/* 803CF8D0 003CB530  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803CF8D4 003CB534  7C 7E 02 14 */	add r3, r30, r0
/* 803CF8D8 003CB538  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CF8DC 003CB53C  2C 00 00 00 */	cmpwi r0, 0
/* 803CF8E0 003CB540  41 82 00 B0 */	beq lbl_803CF990
/* 803CF8E4 003CB544  54 A3 08 3C */	slwi r3, r5, 1
/* 803CF8E8 003CB548  54 C0 18 38 */	slwi r0, r6, 3
/* 803CF8EC 003CB54C  90 7E 21 44 */	stw r3, 0x2144(r30)
/* 803CF8F0 003CB550  7C 7E 02 14 */	add r3, r30, r0
/* 803CF8F4 003CB554  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803CF8F8 003CB558  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803CF8FC 003CB55C  41 82 00 24 */	beq lbl_803CF920
/* 803CF900 003CB560  54 64 BF BE */	rlwinm r4, r3, 0x17, 0x1e, 0x1f
/* 803CF904 003CB564  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803CF908 003CB568  7C 7E 02 14 */	add r3, r30, r0
/* 803CF90C 003CB56C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CF910 003CB570  2C 00 00 00 */	cmpwi r0, 0
/* 803CF914 003CB574  41 82 00 0C */	beq lbl_803CF920
/* 803CF918 003CB578  90 9E 00 6C */	stw r4, 0x6c(r30)
/* 803CF91C 003CB57C  48 00 00 08 */	b lbl_803CF924
lbl_803CF920:
/* 803CF920 003CB580  93 FE 00 6C */	stw r31, 0x6c(r30)
lbl_803CF924:
/* 803CF924 003CB584  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803CF928 003CB588  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CF92C 003CB58C  7C 7E 02 14 */	add r3, r30, r0
/* 803CF930 003CB590  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CF934 003CB594  2C 00 00 00 */	cmpwi r0, 0
/* 803CF938 003CB598  40 82 00 44 */	bne lbl_803CF97C
/* 803CF93C 003CB59C  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803CF940 003CB5A0  7F A3 EB 78 */	mr r3, r29
/* 803CF944 003CB5A4  7F C4 F3 78 */	mr r4, r30
/* 803CF948 003CB5A8  4B FF 22 05 */	bl func_803C1B4C
/* 803CF94C 003CB5AC  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803CF950 003CB5B0  90 7E 00 6C */	stw r3, 0x6c(r30)
/* 803CF954 003CB5B4  7C 7E 02 14 */	add r3, r30, r0
/* 803CF958 003CB5B8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CF95C 003CB5BC  2C 00 00 00 */	cmpwi r0, 0
/* 803CF960 003CB5C0  40 82 00 1C */	bne lbl_803CF97C
/* 803CF964 003CB5C4  38 00 00 26 */	li r0, 0x26
/* 803CF968 003CB5C8  7F C3 F3 78 */	mr r3, r30
/* 803CF96C 003CB5CC  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803CF970 003CB5D0  38 80 00 02 */	li r4, 2
/* 803CF974 003CB5D4  38 A0 01 19 */	li r5, 0x119
/* 803CF978 003CB5D8  4B FE B0 5D */	bl func_803BA9D4
lbl_803CF97C:
/* 803CF97C 003CB5DC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CF980 003CB5E0  7F C3 F3 78 */	mr r3, r30
/* 803CF984 003CB5E4  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803CF988 003CB5E8  4B FF 92 41 */	bl func_803C8BC8
/* 803CF98C 003CB5EC  48 00 00 24 */	b lbl_803CF9B0
lbl_803CF990:
/* 803CF990 003CB5F0  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803CF994 003CB5F4  7C 7E 02 14 */	add r3, r30, r0
/* 803CF998 003CB5F8  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803CF99C 003CB5FC  64 00 80 00 */	oris r0, r0, 0x8000
/* 803CF9A0 003CB600  90 03 02 D4 */	stw r0, 0x2d4(r3)
/* 803CF9A4 003CB604  80 1E 21 6C */	lwz r0, 0x216c(r30)
/* 803CF9A8 003CB608  60 00 00 40 */	ori r0, r0, 0x40
/* 803CF9AC 003CB60C  90 1E 21 6C */	stw r0, 0x216c(r30)
lbl_803CF9B0:
/* 803CF9B0 003CB610  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF9B4 003CB614  38 60 00 00 */	li r3, 0
/* 803CF9B8 003CB618  4B DF 77 C1 */	bl _restgpr_28
/* 803CF9BC 003CB61C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CF9C0 003CB620  7C 08 03 A6 */	mtlr r0
/* 803CF9C4 003CB624  38 21 00 20 */	addi r1, r1, 0x20
/* 803CF9C8 003CB628  4E 80 00 20 */	blr 
/* 803CF9CC 003CB62C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CF9D0 003CB630  7C 08 02 A6 */	mflr r0
/* 803CF9D4 003CB634  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CF9D8 003CB638  39 61 00 20 */	addi r11, r1, 0x20
/* 803CF9DC 003CB63C  4B DF 77 51 */	bl _savegpr_28
/* 803CF9E0 003CB640  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CF9E4 003CB644  7C 7D 1B 78 */	mr r29, r3
/* 803CF9E8 003CB648  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803CF9EC 003CB64C  7C 9E 23 78 */	mr r30, r4
/* 803CF9F0 003CB650  38 A5 00 01 */	addi r5, r5, 1
/* 803CF9F4 003CB654  54 C0 30 32 */	slwi r0, r6, 6
/* 803CF9F8 003CB658  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803CF9FC 003CB65C  7C A4 02 14 */	add r5, r4, r0
/* 803CFA00 003CB660  7C C4 33 78 */	mr r4, r6
/* 803CFA04 003CB664  83 E5 02 00 */	lwz r31, 0x200(r5)
/* 803CFA08 003CB668  4B FD D2 DD */	bl func_803ACCE4
/* 803CFA0C 003CB66C  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803CFA10 003CB670  7F A3 EB 78 */	mr r3, r29
/* 803CFA14 003CB674  7F E4 FB 78 */	mr r4, r31
/* 803CFA18 003CB678  4B FD D2 CD */	bl func_803ACCE4
/* 803CFA1C 003CB67C  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFA20 003CB680  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803CFA24 003CB684  57 E0 10 3A */	slwi r0, r31, 2
/* 803CFA28 003CB688  54 83 30 32 */	slwi r3, r4, 6
/* 803CFA2C 003CB68C  7C 7E 1A 14 */	add r3, r30, r3
/* 803CFA30 003CB690  7C 63 02 14 */	add r3, r3, r0
/* 803CFA34 003CB694  80 A3 01 F0 */	lwz r5, 0x1f0(r3)
/* 803CFA38 003CB698  2C 05 00 00 */	cmpwi r5, 0
/* 803CFA3C 003CB69C  41 82 00 CC */	beq lbl_803CFB08
/* 803CFA40 003CB6A0  7C 1C 30 00 */	cmpw r28, r6
/* 803CFA44 003CB6A4  41 82 00 C4 */	beq lbl_803CFB08
/* 803CFA48 003CB6A8  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803CFA4C 003CB6AC  7C 7E 02 14 */	add r3, r30, r0
/* 803CFA50 003CB6B0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CFA54 003CB6B4  2C 00 00 00 */	cmpwi r0, 0
/* 803CFA58 003CB6B8  41 82 00 B0 */	beq lbl_803CFB08
/* 803CFA5C 003CB6BC  54 A3 08 3C */	slwi r3, r5, 1
/* 803CFA60 003CB6C0  54 C0 18 38 */	slwi r0, r6, 3
/* 803CFA64 003CB6C4  90 7E 21 44 */	stw r3, 0x2144(r30)
/* 803CFA68 003CB6C8  7C 7E 02 14 */	add r3, r30, r0
/* 803CFA6C 003CB6CC  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803CFA70 003CB6D0  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803CFA74 003CB6D4  41 82 00 24 */	beq lbl_803CFA98
/* 803CFA78 003CB6D8  54 64 BF BE */	rlwinm r4, r3, 0x17, 0x1e, 0x1f
/* 803CFA7C 003CB6DC  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803CFA80 003CB6E0  7C 7E 02 14 */	add r3, r30, r0
/* 803CFA84 003CB6E4  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CFA88 003CB6E8  2C 00 00 00 */	cmpwi r0, 0
/* 803CFA8C 003CB6EC  41 82 00 0C */	beq lbl_803CFA98
/* 803CFA90 003CB6F0  90 9E 00 6C */	stw r4, 0x6c(r30)
/* 803CFA94 003CB6F4  48 00 00 08 */	b lbl_803CFA9C
lbl_803CFA98:
/* 803CFA98 003CB6F8  93 FE 00 6C */	stw r31, 0x6c(r30)
lbl_803CFA9C:
/* 803CFA9C 003CB6FC  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803CFAA0 003CB700  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFAA4 003CB704  7C 7E 02 14 */	add r3, r30, r0
/* 803CFAA8 003CB708  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CFAAC 003CB70C  2C 00 00 00 */	cmpwi r0, 0
/* 803CFAB0 003CB710  40 82 00 44 */	bne lbl_803CFAF4
/* 803CFAB4 003CB714  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803CFAB8 003CB718  7F A3 EB 78 */	mr r3, r29
/* 803CFABC 003CB71C  7F C4 F3 78 */	mr r4, r30
/* 803CFAC0 003CB720  4B FF 20 8D */	bl func_803C1B4C
/* 803CFAC4 003CB724  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803CFAC8 003CB728  90 7E 00 6C */	stw r3, 0x6c(r30)
/* 803CFACC 003CB72C  7C 7E 02 14 */	add r3, r30, r0
/* 803CFAD0 003CB730  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803CFAD4 003CB734  2C 00 00 00 */	cmpwi r0, 0
/* 803CFAD8 003CB738  40 82 00 1C */	bne lbl_803CFAF4
/* 803CFADC 003CB73C  38 00 00 26 */	li r0, 0x26
/* 803CFAE0 003CB740  7F C3 F3 78 */	mr r3, r30
/* 803CFAE4 003CB744  90 1E 00 0C */	stw r0, 0xc(r30)
/* 803CFAE8 003CB748  38 80 00 02 */	li r4, 2
/* 803CFAEC 003CB74C  38 A0 01 19 */	li r5, 0x119
/* 803CFAF0 003CB750  4B FE AE E5 */	bl func_803BA9D4
lbl_803CFAF4:
/* 803CFAF4 003CB754  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFAF8 003CB758  7F C3 F3 78 */	mr r3, r30
/* 803CFAFC 003CB75C  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803CFB00 003CB760  4B FF 90 C9 */	bl func_803C8BC8
/* 803CFB04 003CB764  48 00 00 24 */	b lbl_803CFB28
lbl_803CFB08:
/* 803CFB08 003CB768  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 803CFB0C 003CB76C  7C 7E 02 14 */	add r3, r30, r0
/* 803CFB10 003CB770  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803CFB14 003CB774  64 00 80 00 */	oris r0, r0, 0x8000
/* 803CFB18 003CB778  90 03 02 D4 */	stw r0, 0x2d4(r3)
/* 803CFB1C 003CB77C  80 1E 21 6C */	lwz r0, 0x216c(r30)
/* 803CFB20 003CB780  60 00 00 40 */	ori r0, r0, 0x40
/* 803CFB24 003CB784  90 1E 21 6C */	stw r0, 0x216c(r30)
lbl_803CFB28:
/* 803CFB28 003CB788  39 61 00 20 */	addi r11, r1, 0x20
/* 803CFB2C 003CB78C  38 60 00 00 */	li r3, 0
/* 803CFB30 003CB790  4B DF 76 49 */	bl _restgpr_28
/* 803CFB34 003CB794  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CFB38 003CB798  7C 08 03 A6 */	mtlr r0
/* 803CFB3C 003CB79C  38 21 00 20 */	addi r1, r1, 0x20
/* 803CFB40 003CB7A0  4E 80 00 20 */	blr 
/* 803CFB44 003CB7A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CFB48 003CB7A8  7C 08 02 A6 */	mflr r0
/* 803CFB4C 003CB7AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CFB50 003CB7B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803CFB54 003CB7B4  4B DF 75 DD */	bl _savegpr_29
/* 803CFB58 003CB7B8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CFB5C 003CB7BC  7C 9D 23 78 */	mr r29, r4
/* 803CFB60 003CB7C0  7F A3 EB 78 */	mr r3, r29
/* 803CFB64 003CB7C4  38 05 00 01 */	addi r0, r5, 1
/* 803CFB68 003CB7C8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CFB6C 003CB7CC  48 00 73 01 */	bl func_803D6E6C
/* 803CFB70 003CB7D0  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803CFB74 003CB7D4  7C 7F 1B 78 */	mr r31, r3
/* 803CFB78 003CB7D8  1C 80 00 C0 */	mulli r4, r0, 0xc0
/* 803CFB7C 003CB7DC  54 00 08 3C */	slwi r0, r0, 1
/* 803CFB80 003CB7E0  7C 7D 02 14 */	add r3, r29, r0
/* 803CFB84 003CB7E4  7C BD 22 14 */	add r5, r29, r4
/* 803CFB88 003CB7E8  A0 83 30 7C */	lhz r4, 0x307c(r3)
/* 803CFB8C 003CB7EC  38 65 2D 40 */	addi r3, r5, 0x2d40
/* 803CFB90 003CB7F0  4B FE EB 9D */	bl func_803BE72C
/* 803CFB94 003CB7F4  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803CFB98 003CB7F8  7C 7E 1B 78 */	mr r30, r3
/* 803CFB9C 003CB7FC  7F A3 EB 78 */	mr r3, r29
/* 803CFBA0 003CB800  54 00 08 3C */	slwi r0, r0, 1
/* 803CFBA4 003CB804  7C 9D 02 14 */	add r4, r29, r0
/* 803CFBA8 003CB808  A0 84 30 7C */	lhz r4, 0x307c(r4)
/* 803CFBAC 003CB80C  4B FF 8B 21 */	bl func_803C86CC
/* 803CFBB0 003CB810  2C 03 00 00 */	cmpwi r3, 0
/* 803CFBB4 003CB814  40 82 00 08 */	bne lbl_803CFBBC
/* 803CFBB8 003CB818  3B C0 00 04 */	li r30, 4
lbl_803CFBBC:
/* 803CFBBC 003CB81C  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803CFBC0 003CB820  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803CFBC4 003CB824  7C 9D 02 14 */	add r4, r29, r0
/* 803CFBC8 003CB828  A0 04 2D EC */	lhz r0, 0x2dec(r4)
/* 803CFBCC 003CB82C  2C 00 00 00 */	cmpwi r0, 0
/* 803CFBD0 003CB830  40 82 00 80 */	bne lbl_803CFC50
/* 803CFBD4 003CB834  2C 1E 00 04 */	cmpwi r30, 4
/* 803CFBD8 003CB838  41 82 00 78 */	beq lbl_803CFC50
/* 803CFBDC 003CB83C  7C 64 F2 14 */	add r3, r4, r30
/* 803CFBE0 003CB840  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803CFBE4 003CB844  2C 00 00 00 */	cmpwi r0, 0
/* 803CFBE8 003CB848  41 82 00 68 */	beq lbl_803CFC50
/* 803CFBEC 003CB84C  54 A0 08 3C */	slwi r0, r5, 1
/* 803CFBF0 003CB850  7C 7D 02 14 */	add r3, r29, r0
/* 803CFBF4 003CB854  A0 03 30 7C */	lhz r0, 0x307c(r3)
/* 803CFBF8 003CB858  2C 00 00 00 */	cmpwi r0, 0
/* 803CFBFC 003CB85C  41 82 00 54 */	beq lbl_803CFC50
/* 803CFC00 003CB860  90 1D 01 24 */	stw r0, 0x124(r29)
/* 803CFC04 003CB864  B0 04 2D EC */	sth r0, 0x2dec(r4)
/* 803CFC08 003CB868  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803CFC0C 003CB86C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFC10 003CB870  7C 7D 02 14 */	add r3, r29, r0
/* 803CFC14 003CB874  B3 C3 2D EE */	sth r30, 0x2dee(r3)
/* 803CFC18 003CB878  48 00 9B A1 */	bl func_803D97B8
/* 803CFC1C 003CB87C  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803CFC20 003CB880  38 80 00 05 */	li r4, 5
/* 803CFC24 003CB884  7C 65 23 D6 */	divw r3, r5, r4
/* 803CFC28 003CB888  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803CFC2C 003CB88C  7C 63 21 D6 */	mullw r3, r3, r4
/* 803CFC30 003CB890  7C 83 28 50 */	subf r4, r3, r5
/* 803CFC34 003CB894  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFC38 003CB898  38 84 00 03 */	addi r4, r4, 3
/* 803CFC3C 003CB89C  7C 7D 02 14 */	add r3, r29, r0
/* 803CFC40 003CB8A0  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803CFC44 003CB8A4  50 80 D0 CA */	rlwimi r0, r4, 0x1a, 3, 5
/* 803CFC48 003CB8A8  90 03 2D C8 */	stw r0, 0x2dc8(r3)
/* 803CFC4C 003CB8AC  48 00 00 1C */	b lbl_803CFC68
lbl_803CFC50:
/* 803CFC50 003CB8B0  80 7D 21 6C */	lwz r3, 0x216c(r29)
/* 803CFC54 003CB8B4  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803CFC58 003CB8B8  60 63 00 40 */	ori r3, r3, 0x40
/* 803CFC5C 003CB8BC  7C 00 FA 14 */	add r0, r0, r31
/* 803CFC60 003CB8C0  90 7D 21 6C */	stw r3, 0x216c(r29)
/* 803CFC64 003CB8C4  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803CFC68:
/* 803CFC68 003CB8C8  39 61 00 20 */	addi r11, r1, 0x20
/* 803CFC6C 003CB8CC  38 60 00 00 */	li r3, 0
/* 803CFC70 003CB8D0  4B DF 75 0D */	bl _restgpr_29
/* 803CFC74 003CB8D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803CFC78 003CB8D8  7C 08 03 A6 */	mtlr r0
/* 803CFC7C 003CB8DC  38 21 00 20 */	addi r1, r1, 0x20
/* 803CFC80 003CB8E0  4E 80 00 20 */	blr 
/* 803CFC84 003CB8E4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803CFC88 003CB8E8  7C 08 02 A6 */	mflr r0
/* 803CFC8C 003CB8EC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803CFC90 003CB8F0  39 61 00 30 */	addi r11, r1, 0x30
/* 803CFC94 003CB8F4  4B DF 74 91 */	bl _savegpr_26
/* 803CFC98 003CB8F8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CFC9C 003CB8FC  7C 9E 23 78 */	mr r30, r4
/* 803CFCA0 003CB900  7F C3 F3 78 */	mr r3, r30
/* 803CFCA4 003CB904  38 05 00 01 */	addi r0, r5, 1
/* 803CFCA8 003CB908  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CFCAC 003CB90C  48 00 71 C1 */	bl func_803D6E6C
/* 803CFCB0 003CB910  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFCB4 003CB914  7C 7F 1B 78 */	mr r31, r3
/* 803CFCB8 003CB918  7F C3 F3 78 */	mr r3, r30
/* 803CFCBC 003CB91C  4B FE FE 5D */	bl func_803BFB18
/* 803CFCC0 003CB920  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803CFCC4 003CB924  28 00 00 79 */	cmplwi r0, 0x79
/* 803CFCC8 003CB928  40 82 00 18 */	bne lbl_803CFCE0
/* 803CFCCC 003CB92C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CFCD0 003CB930  38 60 00 00 */	li r3, 0
/* 803CFCD4 003CB934  7C 00 FA 14 */	add r0, r0, r31
/* 803CFCD8 003CB938  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803CFCDC 003CB93C  48 00 01 F0 */	b lbl_803CFECC
lbl_803CFCE0:
/* 803CFCE0 003CB940  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFCE4 003CB944  54 00 08 3C */	slwi r0, r0, 1
/* 803CFCE8 003CB948  7C 7E 02 14 */	add r3, r30, r0
/* 803CFCEC 003CB94C  A0 83 30 C4 */	lhz r4, 0x30c4(r3)
/* 803CFCF0 003CB950  2C 04 00 00 */	cmpwi r4, 0
/* 803CFCF4 003CB954  41 82 01 C8 */	beq lbl_803CFEBC
/* 803CFCF8 003CB958  A0 03 30 CC */	lhz r0, 0x30cc(r3)
/* 803CFCFC 003CB95C  28 00 00 FF */	cmplwi r0, 0xff
/* 803CFD00 003CB960  41 82 01 BC */	beq lbl_803CFEBC
/* 803CFD04 003CB964  7F C3 F3 78 */	mr r3, r30
/* 803CFD08 003CB968  4B FE FA 51 */	bl func_803BF758
/* 803CFD0C 003CB96C  2C 03 00 00 */	cmpwi r3, 0
/* 803CFD10 003CB970  41 82 00 3C */	beq lbl_803CFD4C
/* 803CFD14 003CB974  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFD18 003CB978  54 00 08 3C */	slwi r0, r0, 1
/* 803CFD1C 003CB97C  7C 7E 02 14 */	add r3, r30, r0
/* 803CFD20 003CB980  A0 03 30 CC */	lhz r0, 0x30cc(r3)
/* 803CFD24 003CB984  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFD28 003CB988  7C 7E 02 14 */	add r3, r30, r0
/* 803CFD2C 003CB98C  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803CFD30 003CB990  54 00 04 E7 */	rlwinm. r0, r0, 0, 0x13, 0x13
/* 803CFD34 003CB994  41 82 00 18 */	beq lbl_803CFD4C
/* 803CFD38 003CB998  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CFD3C 003CB99C  38 60 00 00 */	li r3, 0
/* 803CFD40 003CB9A0  7C 00 FA 14 */	add r0, r0, r31
/* 803CFD44 003CB9A4  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803CFD48 003CB9A8  48 00 01 84 */	b lbl_803CFECC
lbl_803CFD4C:
/* 803CFD4C 003CB9AC  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFD50 003CB9B0  3B 60 00 00 */	li r27, 0
/* 803CFD54 003CB9B4  3F A0 00 01 */	lis r29, 0x0000FFFF@ha
/* 803CFD58 003CB9B8  54 00 08 3C */	slwi r0, r0, 1
/* 803CFD5C 003CB9BC  7C 7E 02 14 */	add r3, r30, r0
/* 803CFD60 003CB9C0  A3 43 30 D4 */	lhz r26, 0x30d4(r3)
lbl_803CFD64:
/* 803CFD64 003CB9C4  38 7D FF FF */	addi r3, r29, 0x0000FFFF@l
/* 803CFD68 003CB9C8  38 81 00 0A */	addi r4, r1, 0xa
/* 803CFD6C 003CB9CC  38 A1 00 09 */	addi r5, r1, 9
/* 803CFD70 003CB9D0  38 C1 00 08 */	addi r6, r1, 8
/* 803CFD74 003CB9D4  4B FE FA 75 */	bl func_803BF7E8
/* 803CFD78 003CB9D8  88 01 00 0A */	lbz r0, 0xa(r1)
/* 803CFD7C 003CB9DC  7C 00 D0 00 */	cmpw r0, r26
/* 803CFD80 003CB9E0  40 82 00 80 */	bne lbl_803CFE00
/* 803CFD84 003CB9E4  88 01 00 08 */	lbz r0, 8(r1)
/* 803CFD88 003CB9E8  28 00 00 05 */	cmplwi r0, 5
/* 803CFD8C 003CB9EC  41 81 00 74 */	bgt lbl_803CFE00
/* 803CFD90 003CB9F0  8B 81 00 09 */	lbz r28, 9(r1)
/* 803CFD94 003CB9F4  7F C3 F3 78 */	mr r3, r30
/* 803CFD98 003CB9F8  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFD9C 003CB9FC  38 A0 00 1B */	li r5, 0x1b
/* 803CFDA0 003CBA00  38 C0 00 00 */	li r6, 0
/* 803CFDA4 003CBA04  4B FE AF 01 */	bl func_803BACA4
/* 803CFDA8 003CBA08  7C 1C 18 00 */	cmpw r28, r3
/* 803CFDAC 003CBA0C  41 82 00 54 */	beq lbl_803CFE00
/* 803CFDB0 003CBA10  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFDB4 003CBA14  7F C3 F3 78 */	mr r3, r30
/* 803CFDB8 003CBA18  38 A0 00 1C */	li r5, 0x1c
/* 803CFDBC 003CBA1C  38 C0 00 00 */	li r6, 0
/* 803CFDC0 003CBA20  4B FE AE E5 */	bl func_803BACA4
/* 803CFDC4 003CBA24  7C 1C 18 00 */	cmpw r28, r3
/* 803CFDC8 003CBA28  41 82 00 38 */	beq lbl_803CFE00
/* 803CFDCC 003CBA2C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFDD0 003CBA30  38 60 00 00 */	li r3, 0
/* 803CFDD4 003CBA34  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFDD8 003CBA38  7C 9E 02 14 */	add r4, r30, r0
/* 803CFDDC 003CBA3C  9B 84 2D 64 */	stb r28, 0x2d64(r4)
/* 803CFDE0 003CBA40  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFDE4 003CBA44  88 A1 00 09 */	lbz r5, 9(r1)
/* 803CFDE8 003CBA48  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFDEC 003CBA4C  7C 9E 02 14 */	add r4, r30, r0
/* 803CFDF0 003CBA50  98 A4 2D 65 */	stb r5, 0x2d65(r4)
/* 803CFDF4 003CBA54  88 01 00 09 */	lbz r0, 9(r1)
/* 803CFDF8 003CBA58  90 1E 01 30 */	stw r0, 0x130(r30)
/* 803CFDFC 003CBA5C  48 00 00 D0 */	b lbl_803CFECC
lbl_803CFE00:
/* 803CFE00 003CBA60  3B 7B 00 01 */	addi r27, r27, 1
/* 803CFE04 003CBA64  2C 1B 03 E8 */	cmpwi r27, 0x3e8
/* 803CFE08 003CBA68  41 80 FF 5C */	blt lbl_803CFD64
/* 803CFE0C 003CBA6C  3B A0 00 00 */	li r29, 0
/* 803CFE10 003CBA70  48 00 00 90 */	b lbl_803CFEA0
lbl_803CFE14:
/* 803CFE14 003CBA74  88 01 00 0A */	lbz r0, 0xa(r1)
/* 803CFE18 003CBA78  7C 00 D0 00 */	cmpw r0, r26
/* 803CFE1C 003CBA7C  40 82 00 80 */	bne lbl_803CFE9C
/* 803CFE20 003CBA80  88 01 00 08 */	lbz r0, 8(r1)
/* 803CFE24 003CBA84  28 00 00 05 */	cmplwi r0, 5
/* 803CFE28 003CBA88  41 81 00 74 */	bgt lbl_803CFE9C
/* 803CFE2C 003CBA8C  8B 81 00 09 */	lbz r28, 9(r1)
/* 803CFE30 003CBA90  7F C3 F3 78 */	mr r3, r30
/* 803CFE34 003CBA94  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFE38 003CBA98  38 A0 00 1B */	li r5, 0x1b
/* 803CFE3C 003CBA9C  38 C0 00 00 */	li r6, 0
/* 803CFE40 003CBAA0  4B FE AE 65 */	bl func_803BACA4
/* 803CFE44 003CBAA4  7C 1C 18 00 */	cmpw r28, r3
/* 803CFE48 003CBAA8  41 82 00 54 */	beq lbl_803CFE9C
/* 803CFE4C 003CBAAC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803CFE50 003CBAB0  7F C3 F3 78 */	mr r3, r30
/* 803CFE54 003CBAB4  38 A0 00 1C */	li r5, 0x1c
/* 803CFE58 003CBAB8  38 C0 00 00 */	li r6, 0
/* 803CFE5C 003CBABC  4B FE AE 49 */	bl func_803BACA4
/* 803CFE60 003CBAC0  7C 1C 18 00 */	cmpw r28, r3
/* 803CFE64 003CBAC4  41 82 00 38 */	beq lbl_803CFE9C
/* 803CFE68 003CBAC8  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFE6C 003CBACC  38 60 00 00 */	li r3, 0
/* 803CFE70 003CBAD0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFE74 003CBAD4  7C 9E 02 14 */	add r4, r30, r0
/* 803CFE78 003CBAD8  9B 84 2D 64 */	stb r28, 0x2d64(r4)
/* 803CFE7C 003CBADC  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFE80 003CBAE0  88 A1 00 09 */	lbz r5, 9(r1)
/* 803CFE84 003CBAE4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFE88 003CBAE8  7C 9E 02 14 */	add r4, r30, r0
/* 803CFE8C 003CBAEC  98 A4 2D 65 */	stb r5, 0x2d65(r4)
/* 803CFE90 003CBAF0  88 01 00 09 */	lbz r0, 9(r1)
/* 803CFE94 003CBAF4  90 1E 01 30 */	stw r0, 0x130(r30)
/* 803CFE98 003CBAF8  48 00 00 34 */	b lbl_803CFECC
lbl_803CFE9C:
/* 803CFE9C 003CBAFC  3B BD 00 01 */	addi r29, r29, 1
lbl_803CFEA0:
/* 803CFEA0 003CBB00  7F A3 EB 78 */	mr r3, r29
/* 803CFEA4 003CBB04  38 81 00 0A */	addi r4, r1, 0xa
/* 803CFEA8 003CBB08  38 A1 00 09 */	addi r5, r1, 9
/* 803CFEAC 003CBB0C  38 C1 00 08 */	addi r6, r1, 8
/* 803CFEB0 003CBB10  4B FE F9 39 */	bl func_803BF7E8
/* 803CFEB4 003CBB14  2C 03 00 01 */	cmpwi r3, 1
/* 803CFEB8 003CBB18  41 82 FF 5C */	beq lbl_803CFE14
lbl_803CFEBC:
/* 803CFEBC 003CBB1C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CFEC0 003CBB20  38 60 00 00 */	li r3, 0
/* 803CFEC4 003CBB24  7C 00 FA 14 */	add r0, r0, r31
/* 803CFEC8 003CBB28  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803CFECC:
/* 803CFECC 003CBB2C  39 61 00 30 */	addi r11, r1, 0x30
/* 803CFED0 003CBB30  4B DF 72 A1 */	bl _restgpr_26
/* 803CFED4 003CBB34  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803CFED8 003CBB38  7C 08 03 A6 */	mtlr r0
/* 803CFEDC 003CBB3C  38 21 00 30 */	addi r1, r1, 0x30
/* 803CFEE0 003CBB40  4E 80 00 20 */	blr 
/* 803CFEE4 003CBB44  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803CFEE8 003CBB48  7C 08 02 A6 */	mflr r0
/* 803CFEEC 003CBB4C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803CFEF0 003CBB50  39 61 00 20 */	addi r11, r1, 0x20
/* 803CFEF4 003CBB54  4B DF 72 3D */	bl _savegpr_29
/* 803CFEF8 003CBB58  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803CFEFC 003CBB5C  7C 9E 23 78 */	mr r30, r4
/* 803CFF00 003CBB60  7C 7D 1B 78 */	mr r29, r3
/* 803CFF04 003CBB64  3B E0 FF FF */	li r31, -1
/* 803CFF08 003CBB68  38 05 00 01 */	addi r0, r5, 1
/* 803CFF0C 003CBB6C  7F C3 F3 78 */	mr r3, r30
/* 803CFF10 003CBB70  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803CFF14 003CBB74  48 00 6F 59 */	bl func_803D6E6C
/* 803CFF18 003CBB78  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFF1C 003CBB7C  1D 00 00 C0 */	mulli r8, r0, 0xc0
/* 803CFF20 003CBB80  7C DE 42 14 */	add r6, r30, r8
/* 803CFF24 003CBB84  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803CFF28 003CBB88  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803CFF2C 003CBB8C  40 82 00 34 */	bne lbl_803CFF60
/* 803CFF30 003CBB90  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803CFF34 003CBB94  54 00 08 3C */	slwi r0, r0, 1
/* 803CFF38 003CBB98  7C 9E 02 14 */	add r4, r30, r0
/* 803CFF3C 003CBB9C  A0 E4 30 AC */	lhz r7, 0x30ac(r4)
/* 803CFF40 003CBBA0  28 07 00 A5 */	cmplwi r7, 0xa5
/* 803CFF44 003CBBA4  41 82 00 1C */	beq lbl_803CFF60
/* 803CFF48 003CBBA8  28 07 00 A6 */	cmplwi r7, 0xa6
/* 803CFF4C 003CBBAC  41 82 00 14 */	beq lbl_803CFF60
/* 803CFF50 003CBBB0  28 07 01 C0 */	cmplwi r7, 0x1c0
/* 803CFF54 003CBBB4  41 82 00 0C */	beq lbl_803CFF60
/* 803CFF58 003CBBB8  2C 07 00 00 */	cmpwi r7, 0
/* 803CFF5C 003CBBBC  40 82 00 14 */	bne lbl_803CFF70
lbl_803CFF60:
/* 803CFF60 003CBBC0  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803CFF64 003CBBC4  7C 00 1A 14 */	add r0, r0, r3
/* 803CFF68 003CBBC8  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803CFF6C 003CBBCC  48 00 00 E8 */	b lbl_803D0054
lbl_803CFF70:
/* 803CFF70 003CBBD0  38 00 00 04 */	li r0, 4
/* 803CFF74 003CBBD4  39 20 00 00 */	li r9, 0
/* 803CFF78 003CBBD8  38 80 00 00 */	li r4, 0
/* 803CFF7C 003CBBDC  7C 09 03 A6 */	mtctr r0
lbl_803CFF80:
/* 803CFF80 003CBBE0  7C A4 32 14 */	add r5, r4, r6
/* 803CFF84 003CBBE4  A0 05 2D 4C */	lhz r0, 0x2d4c(r5)
/* 803CFF88 003CBBE8  28 00 00 A6 */	cmplwi r0, 0xa6
/* 803CFF8C 003CBBEC  41 82 00 0C */	beq lbl_803CFF98
/* 803CFF90 003CBBF0  7C 07 00 40 */	cmplw r7, r0
/* 803CFF94 003CBBF4  41 82 00 24 */	beq lbl_803CFFB8
lbl_803CFF98:
/* 803CFF98 003CBBF8  28 00 00 A6 */	cmplwi r0, 0xa6
/* 803CFF9C 003CBBFC  40 82 00 10 */	bne lbl_803CFFAC
/* 803CFFA0 003CBC00  2C 1F FF FF */	cmpwi r31, -1
/* 803CFFA4 003CBC04  40 82 00 08 */	bne lbl_803CFFAC
/* 803CFFA8 003CBC08  7D 3F 4B 78 */	mr r31, r9
lbl_803CFFAC:
/* 803CFFAC 003CBC0C  39 29 00 01 */	addi r9, r9, 1
/* 803CFFB0 003CBC10  38 84 00 02 */	addi r4, r4, 2
/* 803CFFB4 003CBC14  42 00 FF CC */	bdnz lbl_803CFF80
lbl_803CFFB8:
/* 803CFFB8 003CBC18  2C 09 00 04 */	cmpwi r9, 4
/* 803CFFBC 003CBC1C  40 82 00 8C */	bne lbl_803D0048
/* 803CFFC0 003CBC20  7C 7E 42 14 */	add r3, r30, r8
/* 803CFFC4 003CBC24  57 E0 08 3C */	slwi r0, r31, 1
/* 803CFFC8 003CBC28  7C 83 02 14 */	add r4, r3, r0
/* 803CFFCC 003CBC2C  B0 E4 2D 4C */	sth r7, 0x2d4c(r4)
/* 803CFFD0 003CBC30  7F A3 EB 78 */	mr r3, r29
/* 803CFFD4 003CBC34  7F C4 F3 78 */	mr r4, r30
/* 803CFFD8 003CBC38  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803CFFDC 003CBC3C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803CFFE0 003CBC40  54 A5 08 3C */	slwi r5, r5, 1
/* 803CFFE4 003CBC44  7C BE 2A 14 */	add r5, r30, r5
/* 803CFFE8 003CBC48  A0 A5 30 AC */	lhz r5, 0x30ac(r5)
/* 803CFFEC 003CBC4C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803CFFF0 003CBC50  54 A5 20 36 */	slwi r5, r5, 4
/* 803CFFF4 003CBC54  7C BE 2A 14 */	add r5, r30, r5
/* 803CFFF8 003CBC58  7C 1E 02 14 */	add r0, r30, r0
/* 803CFFFC 003CBC5C  88 C5 03 E4 */	lbz r6, 0x3e4(r5)
/* 803D0000 003CBC60  7C A0 FA 14 */	add r5, r0, r31
/* 803D0004 003CBC64  98 C5 2D 6C */	stb r6, 0x2d6c(r5)
/* 803D0008 003CBC68  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803D000C 003CBC6C  4B FE 1A B9 */	bl func_803B1AC4
/* 803D0010 003CBC70  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803D0014 003CBC74  54 00 08 3C */	slwi r0, r0, 1
/* 803D0018 003CBC78  7C 7E 02 14 */	add r3, r30, r0
/* 803D001C 003CBC7C  A0 03 30 AC */	lhz r0, 0x30ac(r3)
/* 803D0020 003CBC80  2C 00 01 83 */	cmpwi r0, 0x183
/* 803D0024 003CBC84  90 1E 01 24 */	stw r0, 0x124(r30)
/* 803D0028 003CBC88  40 82 00 2C */	bne lbl_803D0054
/* 803D002C 003CBC8C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D0030 003CBC90  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D0034 003CBC94  7C 7E 02 14 */	add r3, r30, r0
/* 803D0038 003CBC98  80 03 2D CC */	lwz r0, 0x2dcc(r3)
/* 803D003C 003CBC9C  54 00 03 52 */	rlwinm r0, r0, 0, 0xd, 9
/* 803D0040 003CBCA0  90 03 2D CC */	stw r0, 0x2dcc(r3)
/* 803D0044 003CBCA4  48 00 00 10 */	b lbl_803D0054
lbl_803D0048:
/* 803D0048 003CBCA8  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D004C 003CBCAC  7C 00 1A 14 */	add r0, r0, r3
/* 803D0050 003CBCB0  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D0054:
/* 803D0054 003CBCB4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0058 003CBCB8  38 60 00 00 */	li r3, 0
/* 803D005C 003CBCBC  4B DF 71 21 */	bl _restgpr_29
/* 803D0060 003CBCC0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D0064 003CBCC4  7C 08 03 A6 */	mtlr r0
/* 803D0068 003CBCC8  38 21 00 20 */	addi r1, r1, 0x20
/* 803D006C 003CBCCC  4E 80 00 20 */	blr 
/* 803D0070 003CBCD0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D0074 003CBCD4  7C 08 02 A6 */	mflr r0
/* 803D0078 003CBCD8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D007C 003CBCDC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0080 003CBCE0  4B DF 70 A5 */	bl _savegpr_26
/* 803D0084 003CBCE4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D0088 003CBCE8  7C 9F 23 78 */	mr r31, r4
/* 803D008C 003CBCEC  7C 7A 1B 78 */	mr r26, r3
/* 803D0090 003CBCF0  38 05 00 01 */	addi r0, r5, 1
/* 803D0094 003CBCF4  7F E3 FB 78 */	mr r3, r31
/* 803D0098 003CBCF8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D009C 003CBCFC  48 00 6D D1 */	bl func_803D6E6C
/* 803D00A0 003CBD00  7C 7D 1B 78 */	mr r29, r3
/* 803D00A4 003CBD04  3B 60 00 00 */	li r27, 0
/* 803D00A8 003CBD08  3B 80 00 00 */	li r28, 0
/* 803D00AC 003CBD0C  3B C0 00 00 */	li r30, 0
lbl_803D00B0:
/* 803D00B0 003CBD10  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803D00B4 003CBD14  7C 1E FA 14 */	add r0, r30, r31
/* 803D00B8 003CBD18  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D00BC 003CBD1C  7C 63 02 14 */	add r3, r3, r0
/* 803D00C0 003CBD20  A0 63 2D 4C */	lhz r3, 0x2d4c(r3)
/* 803D00C4 003CBD24  4B FE F8 21 */	bl func_803BF8E4
/* 803D00C8 003CBD28  2C 03 00 00 */	cmpwi r3, 0
/* 803D00CC 003CBD2C  40 82 00 40 */	bne lbl_803D010C
/* 803D00D0 003CBD30  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803D00D4 003CBD34  7C 1E FA 14 */	add r0, r30, r31
/* 803D00D8 003CBD38  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D00DC 003CBD3C  7C 63 02 14 */	add r3, r3, r0
/* 803D00E0 003CBD40  A0 83 2D 4C */	lhz r4, 0x2d4c(r3)
/* 803D00E4 003CBD44  28 04 01 08 */	cmplwi r4, 0x108
/* 803D00E8 003CBD48  41 82 00 24 */	beq lbl_803D010C
/* 803D00EC 003CBD4C  28 04 00 FD */	cmplwi r4, 0xfd
/* 803D00F0 003CBD50  41 82 00 1C */	beq lbl_803D010C
/* 803D00F4 003CBD54  28 04 01 C0 */	cmplwi r4, 0x1c0
/* 803D00F8 003CBD58  41 82 00 14 */	beq lbl_803D010C
/* 803D00FC 003CBD5C  7F E3 FB 78 */	mr r3, r31
/* 803D0100 003CBD60  4B FE F6 59 */	bl func_803BF758
/* 803D0104 003CBD64  2C 03 00 00 */	cmpwi r3, 0
/* 803D0108 003CBD68  41 82 00 10 */	beq lbl_803D0118
lbl_803D010C:
/* 803D010C 003CBD6C  7F 83 E3 78 */	mr r3, r28
/* 803D0110 003CBD70  48 00 D8 11 */	bl func_803DD920
/* 803D0114 003CBD74  7F 7B 1B 78 */	or r27, r27, r3
lbl_803D0118:
/* 803D0118 003CBD78  3B 9C 00 01 */	addi r28, r28, 1
/* 803D011C 003CBD7C  3B DE 00 02 */	addi r30, r30, 2
/* 803D0120 003CBD80  2C 1C 00 04 */	cmpwi r28, 4
/* 803D0124 003CBD84  41 80 FF 8C */	blt lbl_803D00B0
/* 803D0128 003CBD88  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803D012C 003CBD8C  7F 43 D3 78 */	mr r3, r26
/* 803D0130 003CBD90  7F E4 FB 78 */	mr r4, r31
/* 803D0134 003CBD94  7F 66 DB 78 */	mr r6, r27
/* 803D0138 003CBD98  38 E0 FF FD */	li r7, -3
/* 803D013C 003CBD9C  4B FE DF C1 */	bl func_803BE0FC
/* 803D0140 003CBDA0  2C 03 00 0F */	cmpwi r3, 0xf
/* 803D0144 003CBDA4  7C 7E 1B 78 */	mr r30, r3
/* 803D0148 003CBDA8  40 82 00 14 */	bne lbl_803D015C
/* 803D014C 003CBDAC  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D0150 003CBDB0  7C 00 EA 14 */	add r0, r0, r29
/* 803D0154 003CBDB4  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D0158 003CBDB8  48 00 00 48 */	b lbl_803D01A0
lbl_803D015C:
/* 803D015C 003CBDBC  48 00 96 5D */	bl func_803D97B8
/* 803D0160 003CBDC0  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D0164 003CBDC4  7C 60 16 70 */	srawi r0, r3, 2
/* 803D0168 003CBDC8  7C 00 01 94 */	addze r0, r0
/* 803D016C 003CBDCC  54 00 10 3A */	slwi r0, r0, 2
/* 803D0170 003CBDD0  7F A0 18 50 */	subf r29, r0, r3
/* 803D0174 003CBDD4  7F A3 EB 78 */	mr r3, r29
/* 803D0178 003CBDD8  48 00 D7 A9 */	bl func_803DD920
/* 803D017C 003CBDDC  7F C0 18 39 */	and. r0, r30, r3
/* 803D0180 003CBDE0  40 82 FF DC */	bne lbl_803D015C
/* 803D0184 003CBDE4  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803D0188 003CBDE8  57 A0 08 3C */	slwi r0, r29, 1
/* 803D018C 003CBDEC  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0190 003CBDF0  7C 7F 1A 14 */	add r3, r31, r3
/* 803D0194 003CBDF4  7C 63 02 14 */	add r3, r3, r0
/* 803D0198 003CBDF8  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803D019C 003CBDFC  90 1F 01 24 */	stw r0, 0x124(r31)
lbl_803D01A0:
/* 803D01A0 003CBE00  39 61 00 20 */	addi r11, r1, 0x20
/* 803D01A4 003CBE04  38 60 00 00 */	li r3, 0
/* 803D01A8 003CBE08  4B DF 6F C9 */	bl _restgpr_26
/* 803D01AC 003CBE0C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D01B0 003CBE10  7C 08 03 A6 */	mtlr r0
/* 803D01B4 003CBE14  38 21 00 20 */	addi r1, r1, 0x20
/* 803D01B8 003CBE18  4E 80 00 20 */	blr 

.global func_803D01BC
func_803D01BC:
/* 803D01BC 003CBE1C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D01C0 003CBE20  7C 08 02 A6 */	mflr r0
/* 803D01C4 003CBE24  7C 63 07 34 */	extsh r3, r3
/* 803D01C8 003CBE28  7C 84 07 34 */	extsh r4, r4
/* 803D01CC 003CBE2C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D01D0 003CBE30  38 A0 00 40 */	li r5, 0x40
/* 803D01D4 003CBE34  48 00 96 A5 */	bl func_803D9878
/* 803D01D8 003CBE38  3C 80 80 40 */	lis r4, lbl_80405A50@ha
/* 803D01DC 003CBE3C  38 00 00 06 */	li r0, 6
/* 803D01E0 003CBE40  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D01E4 003CBE44  38 A0 00 00 */	li r5, 0
/* 803D01E8 003CBE48  38 84 5A 50 */	addi r4, r4, lbl_80405A50@l
/* 803D01EC 003CBE4C  38 60 00 00 */	li r3, 0
/* 803D01F0 003CBE50  7C 09 03 A6 */	mtctr r0
lbl_803D01F4:
/* 803D01F4 003CBE54  7C 04 18 AE */	lbzx r0, r4, r3
/* 803D01F8 003CBE58  7C 06 00 00 */	cmpw r6, r0
/* 803D01FC 003CBE5C  40 81 00 10 */	ble lbl_803D020C
/* 803D0200 003CBE60  38 A5 00 01 */	addi r5, r5, 1
/* 803D0204 003CBE64  38 63 00 02 */	addi r3, r3, 2
/* 803D0208 003CBE68  42 00 FF EC */	bdnz lbl_803D01F4
lbl_803D020C:
/* 803D020C 003CBE6C  3C 60 80 40 */	lis r3, lbl_80405A50@ha
/* 803D0210 003CBE70  54 A0 08 3C */	slwi r0, r5, 1
/* 803D0214 003CBE74  38 63 5A 50 */	addi r3, r3, lbl_80405A50@l
/* 803D0218 003CBE78  7C 63 02 14 */	add r3, r3, r0
/* 803D021C 003CBE7C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D0220 003CBE80  88 63 00 01 */	lbz r3, 1(r3)
/* 803D0224 003CBE84  7C 08 03 A6 */	mtlr r0
/* 803D0228 003CBE88  38 21 00 10 */	addi r1, r1, 0x10
/* 803D022C 003CBE8C  4E 80 00 20 */	blr 
/* 803D0230 003CBE90  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D0234 003CBE94  7C 08 02 A6 */	mflr r0
/* 803D0238 003CBE98  38 A0 00 40 */	li r5, 0x40
/* 803D023C 003CBE9C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D0240 003CBEA0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D0244 003CBEA4  7C 9F 23 78 */	mr r31, r4
/* 803D0248 003CBEA8  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D024C 003CBEAC  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D0250 003CBEB0  1C C0 00 C0 */	mulli r6, r0, 0xc0
/* 803D0254 003CBEB4  38 03 00 01 */	addi r0, r3, 1
/* 803D0258 003CBEB8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D025C 003CBEBC  7C 84 32 14 */	add r4, r4, r6
/* 803D0260 003CBEC0  80 64 2D 8C */	lwz r3, 0x2d8c(r4)
/* 803D0264 003CBEC4  80 04 2D 90 */	lwz r0, 0x2d90(r4)
/* 803D0268 003CBEC8  7C 63 07 34 */	extsh r3, r3
/* 803D026C 003CBECC  7C 04 07 34 */	extsh r4, r0
/* 803D0270 003CBED0  48 00 96 09 */	bl func_803D9878
/* 803D0274 003CBED4  3C 80 80 40 */	lis r4, lbl_80405A50@ha
/* 803D0278 003CBED8  38 00 00 06 */	li r0, 6
/* 803D027C 003CBEDC  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D0280 003CBEE0  38 A0 00 00 */	li r5, 0
/* 803D0284 003CBEE4  38 84 5A 50 */	addi r4, r4, lbl_80405A50@l
/* 803D0288 003CBEE8  38 60 00 00 */	li r3, 0
/* 803D028C 003CBEEC  7C 09 03 A6 */	mtctr r0
lbl_803D0290:
/* 803D0290 003CBEF0  7C 04 18 AE */	lbzx r0, r4, r3
/* 803D0294 003CBEF4  7C 06 00 00 */	cmpw r6, r0
/* 803D0298 003CBEF8  40 81 00 10 */	ble lbl_803D02A8
/* 803D029C 003CBEFC  38 A5 00 01 */	addi r5, r5, 1
/* 803D02A0 003CBF00  38 63 00 02 */	addi r3, r3, 2
/* 803D02A4 003CBF04  42 00 FF EC */	bdnz lbl_803D0290
lbl_803D02A8:
/* 803D02A8 003CBF08  3C 80 80 40 */	lis r4, lbl_80405A50@ha
/* 803D02AC 003CBF0C  54 A0 08 3C */	slwi r0, r5, 1
/* 803D02B0 003CBF10  38 84 5A 50 */	addi r4, r4, lbl_80405A50@l
/* 803D02B4 003CBF14  38 60 00 00 */	li r3, 0
/* 803D02B8 003CBF18  7C 84 02 14 */	add r4, r4, r0
/* 803D02BC 003CBF1C  88 04 00 01 */	lbz r0, 1(r4)
/* 803D02C0 003CBF20  90 1F 21 54 */	stw r0, 0x2154(r31)
/* 803D02C4 003CBF24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D02C8 003CBF28  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D02CC 003CBF2C  7C 08 03 A6 */	mtlr r0
/* 803D02D0 003CBF30  38 21 00 10 */	addi r1, r1, 0x10
/* 803D02D4 003CBF34  4E 80 00 20 */	blr 
/* 803D02D8 003CBF38  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D02DC 003CBF3C  7C 08 02 A6 */	mflr r0
/* 803D02E0 003CBF40  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D02E4 003CBF44  39 61 00 20 */	addi r11, r1, 0x20
/* 803D02E8 003CBF48  4B DF 6E 49 */	bl _savegpr_29
/* 803D02EC 003CBF4C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D02F0 003CBF50  7C 9F 23 78 */	mr r31, r4
/* 803D02F4 003CBF54  7C 7E 1B 78 */	mr r30, r3
/* 803D02F8 003CBF58  38 05 00 01 */	addi r0, r5, 1
/* 803D02FC 003CBF5C  7F E3 FB 78 */	mr r3, r31
/* 803D0300 003CBF60  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D0304 003CBF64  48 00 6B 69 */	bl func_803D6E6C
/* 803D0308 003CBF68  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D030C 003CBF6C  7C 7D 1B 78 */	mr r29, r3
/* 803D0310 003CBF70  54 A0 08 3C */	slwi r0, r5, 1
/* 803D0314 003CBF74  7C 9F 02 14 */	add r4, r31, r0
/* 803D0318 003CBF78  A0 84 30 7C */	lhz r4, 0x307c(r4)
/* 803D031C 003CBF7C  2C 04 00 00 */	cmpwi r4, 0
/* 803D0320 003CBF80  41 82 00 9C */	beq lbl_803D03BC
/* 803D0324 003CBF84  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803D0328 003CBF88  7C 7F 02 14 */	add r3, r31, r0
/* 803D032C 003CBF8C  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803D0330 003CBF90  4B FE E3 FD */	bl func_803BE72C
/* 803D0334 003CBF94  2C 03 00 04 */	cmpwi r3, 4
/* 803D0338 003CBF98  41 82 00 20 */	beq lbl_803D0358
/* 803D033C 003CBF9C  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D0340 003CBFA0  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803D0344 003CBFA4  7C 1F 02 14 */	add r0, r31, r0
/* 803D0348 003CBFA8  7C 80 1A 14 */	add r4, r0, r3
/* 803D034C 003CBFAC  88 04 2D 6C */	lbz r0, 0x2d6c(r4)
/* 803D0350 003CBFB0  2C 00 00 00 */	cmpwi r0, 0
/* 803D0354 003CBFB4  40 82 00 14 */	bne lbl_803D0368
lbl_803D0358:
/* 803D0358 003CBFB8  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D035C 003CBFBC  7C 00 EA 14 */	add r0, r0, r29
/* 803D0360 003CBFC0  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D0364 003CBFC4  48 00 00 64 */	b lbl_803D03C8
lbl_803D0368:
/* 803D0368 003CBFC8  2C 00 00 04 */	cmpwi r0, 4
/* 803D036C 003CBFCC  38 C0 00 04 */	li r6, 4
/* 803D0370 003CBFD0  40 80 00 08 */	bge lbl_803D0378
/* 803D0374 003CBFD4  7C 06 03 78 */	mr r6, r0
lbl_803D0378:
/* 803D0378 003CBFD8  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D037C 003CBFDC  54 A4 08 3C */	slwi r4, r5, 1
/* 803D0380 003CBFE0  7C BF 22 14 */	add r5, r31, r4
/* 803D0384 003CBFE4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D0388 003CBFE8  A0 A5 30 7C */	lhz r5, 0x307c(r5)
/* 803D038C 003CBFEC  7F E4 FB 78 */	mr r4, r31
/* 803D0390 003CBFF0  90 BF 01 24 */	stw r5, 0x124(r31)
/* 803D0394 003CBFF4  7C 1F 02 14 */	add r0, r31, r0
/* 803D0398 003CBFF8  7C A0 1A 14 */	add r5, r0, r3
/* 803D039C 003CBFFC  90 DF 01 30 */	stw r6, 0x130(r31)
/* 803D03A0 003CC000  7F C3 F3 78 */	mr r3, r30
/* 803D03A4 003CC004  88 05 2D 6C */	lbz r0, 0x2d6c(r5)
/* 803D03A8 003CC008  7C 06 00 50 */	subf r0, r6, r0
/* 803D03AC 003CC00C  98 05 2D 6C */	stb r0, 0x2d6c(r5)
/* 803D03B0 003CC010  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D03B4 003CC014  4B FE CF C1 */	bl func_803BD374
/* 803D03B8 003CC018  48 00 00 10 */	b lbl_803D03C8
lbl_803D03BC:
/* 803D03BC 003CC01C  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D03C0 003CC020  7C 00 1A 14 */	add r0, r0, r3
/* 803D03C4 003CC024  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D03C8:
/* 803D03C8 003CC028  39 61 00 20 */	addi r11, r1, 0x20
/* 803D03CC 003CC02C  38 60 00 00 */	li r3, 0
/* 803D03D0 003CC030  4B DF 6D AD */	bl _restgpr_29
/* 803D03D4 003CC034  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D03D8 003CC038  7C 08 03 A6 */	mtlr r0
/* 803D03DC 003CC03C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D03E0 003CC040  4E 80 00 20 */	blr 
/* 803D03E4 003CC044  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D03E8 003CC048  7C 08 02 A6 */	mflr r0
/* 803D03EC 003CC04C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D03F0 003CC050  39 61 00 20 */	addi r11, r1, 0x20
/* 803D03F4 003CC054  4B DF 6D 39 */	bl _savegpr_28
/* 803D03F8 003CC058  7C 7D 1B 78 */	mr r29, r3
/* 803D03FC 003CC05C  7C 9E 23 78 */	mr r30, r4
/* 803D0400 003CC060  4B FD C4 41 */	bl func_803AC840
/* 803D0404 003CC064  80 9E 00 B4 */	lwz r4, 0xb4(r30)
/* 803D0408 003CC068  3B E0 00 00 */	li r31, 0
/* 803D040C 003CC06C  80 BE 30 44 */	lwz r5, 0x3044(r30)
/* 803D0410 003CC070  7C 7C 1B 78 */	mr r28, r3
/* 803D0414 003CC074  38 04 00 01 */	addi r0, r4, 1
/* 803D0418 003CC078  93 FE 01 34 */	stw r31, 0x134(r30)
/* 803D041C 003CC07C  28 05 00 D7 */	cmplwi r5, 0xd7
/* 803D0420 003CC080  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D0424 003CC084  40 82 00 E4 */	bne lbl_803D0508
/* 803D0428 003CC088  90 BE 01 24 */	stw r5, 0x124(r30)
/* 803D042C 003CC08C  7F C3 F3 78 */	mr r3, r30
/* 803D0430 003CC090  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D0434 003CC094  4B FE F6 E5 */	bl func_803BFB18
/* 803D0438 003CC098  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D043C 003CC09C  28 00 00 2B */	cmplwi r0, 0x2b
/* 803D0440 003CC0A0  41 82 00 30 */	beq lbl_803D0470
/* 803D0444 003CC0A4  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D0448 003CC0A8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D044C 003CC0AC  7C 7E 02 14 */	add r3, r30, r0
/* 803D0450 003CC0B0  93 E3 2D AC */	stw r31, 0x2dac(r3)
/* 803D0454 003CC0B4  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D0458 003CC0B8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D045C 003CC0BC  7C 7E 02 14 */	add r3, r30, r0
/* 803D0460 003CC0C0  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D0464 003CC0C4  54 00 01 46 */	rlwinm r0, r0, 0, 5, 3
/* 803D0468 003CC0C8  90 03 2D B0 */	stw r0, 0x2db0(r3)
/* 803D046C 003CC0CC  48 00 00 10 */	b lbl_803D047C
lbl_803D0470:
/* 803D0470 003CC0D0  80 1E 01 34 */	lwz r0, 0x134(r30)
/* 803D0474 003CC0D4  60 00 00 05 */	ori r0, r0, 5
/* 803D0478 003CC0D8  90 1E 01 34 */	stw r0, 0x134(r30)
lbl_803D047C:
/* 803D047C 003CC0DC  57 80 07 BD */	rlwinm. r0, r28, 0, 0x1e, 0x1e
/* 803D0480 003CC0E0  41 82 00 78 */	beq lbl_803D04F8
/* 803D0484 003CC0E4  7F A3 EB 78 */	mr r3, r29
/* 803D0488 003CC0E8  7F C4 F3 78 */	mr r4, r30
/* 803D048C 003CC0EC  38 A0 00 10 */	li r5, 0x10
/* 803D0490 003CC0F0  48 00 7B AD */	bl func_803D803C
/* 803D0494 003CC0F4  7C 7C 1B 78 */	mr r28, r3
/* 803D0498 003CC0F8  48 00 D4 89 */	bl func_803DD920
/* 803D049C 003CC0FC  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803D04A0 003CC100  7C 00 18 39 */	and. r0, r0, r3
/* 803D04A4 003CC104  40 82 00 E0 */	bne lbl_803D0584
/* 803D04A8 003CC108  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D04AC 003CC10C  7F C3 F3 78 */	mr r3, r30
/* 803D04B0 003CC110  7F 85 E3 78 */	mr r5, r28
/* 803D04B4 003CC114  38 C0 00 2B */	li r6, 0x2b
/* 803D04B8 003CC118  4B FE F6 D9 */	bl func_803BFB90
/* 803D04BC 003CC11C  2C 03 00 00 */	cmpwi r3, 0
/* 803D04C0 003CC120  40 82 00 24 */	bne lbl_803D04E4
/* 803D04C4 003CC124  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803D04C8 003CC128  38 00 00 00 */	li r0, 0
/* 803D04CC 003CC12C  7C 7E 1A 14 */	add r3, r30, r3
/* 803D04D0 003CC130  90 03 2D AC */	stw r0, 0x2dac(r3)
/* 803D04D4 003CC134  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D04D8 003CC138  54 00 01 46 */	rlwinm r0, r0, 0, 5, 3
/* 803D04DC 003CC13C  90 03 2D B0 */	stw r0, 0x2db0(r3)
/* 803D04E0 003CC140  48 00 00 A4 */	b lbl_803D0584
lbl_803D04E4:
/* 803D04E4 003CC144  80 1E 01 34 */	lwz r0, 0x134(r30)
/* 803D04E8 003CC148  93 9E 01 18 */	stw r28, 0x118(r30)
/* 803D04EC 003CC14C  60 00 00 0A */	ori r0, r0, 0xa
/* 803D04F0 003CC150  90 1E 01 34 */	stw r0, 0x134(r30)
/* 803D04F4 003CC154  48 00 00 90 */	b lbl_803D0584
lbl_803D04F8:
/* 803D04F8 003CC158  80 1E 01 34 */	lwz r0, 0x134(r30)
/* 803D04FC 003CC15C  60 00 00 08 */	ori r0, r0, 8
/* 803D0500 003CC160  90 1E 01 34 */	stw r0, 0x134(r30)
/* 803D0504 003CC164  48 00 00 80 */	b lbl_803D0584
lbl_803D0508:
/* 803D0508 003CC168  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D050C 003CC16C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803D0510 003CC170  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D0514 003CC174  7C 7E 02 14 */	add r3, r30, r0
/* 803D0518 003CC178  93 E3 2D AC */	stw r31, 0x2dac(r3)
/* 803D051C 003CC17C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D0520 003CC180  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D0524 003CC184  7C 7E 02 14 */	add r3, r30, r0
/* 803D0528 003CC188  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D052C 003CC18C  54 00 01 46 */	rlwinm r0, r0, 0, 5, 3
/* 803D0530 003CC190  90 03 2D B0 */	stw r0, 0x2db0(r3)
/* 803D0534 003CC194  41 82 00 44 */	beq lbl_803D0578
/* 803D0538 003CC198  7F A3 EB 78 */	mr r3, r29
/* 803D053C 003CC19C  7F C4 F3 78 */	mr r4, r30
/* 803D0540 003CC1A0  38 A0 00 10 */	li r5, 0x10
/* 803D0544 003CC1A4  48 00 7A F9 */	bl func_803D803C
/* 803D0548 003CC1A8  7C 7C 1B 78 */	mr r28, r3
/* 803D054C 003CC1AC  48 00 D3 D5 */	bl func_803DD920
/* 803D0550 003CC1B0  88 1E 31 08 */	lbz r0, 0x3108(r30)
/* 803D0554 003CC1B4  7C 00 18 39 */	and. r0, r0, r3
/* 803D0558 003CC1B8  40 82 00 2C */	bne lbl_803D0584
/* 803D055C 003CC1BC  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803D0560 003CC1C0  7C 7E 02 14 */	add r3, r30, r0
/* 803D0564 003CC1C4  93 E3 2D AC */	stw r31, 0x2dac(r3)
/* 803D0568 003CC1C8  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D056C 003CC1CC  54 00 01 46 */	rlwinm r0, r0, 0, 5, 3
/* 803D0570 003CC1D0  90 03 2D B0 */	stw r0, 0x2db0(r3)
/* 803D0574 003CC1D4  48 00 00 10 */	b lbl_803D0584
lbl_803D0578:
/* 803D0578 003CC1D8  80 1E 01 34 */	lwz r0, 0x134(r30)
/* 803D057C 003CC1DC  60 00 00 08 */	ori r0, r0, 8
/* 803D0580 003CC1E0  90 1E 01 34 */	stw r0, 0x134(r30)
lbl_803D0584:
/* 803D0584 003CC1E4  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803D0588 003CC1E8  7F A3 EB 78 */	mr r3, r29
/* 803D058C 003CC1EC  80 DE 30 44 */	lwz r6, 0x3044(r30)
/* 803D0590 003CC1F0  7F C4 F3 78 */	mr r4, r30
/* 803D0594 003CC1F4  4B FE 16 CD */	bl func_803B1C60
/* 803D0598 003CC1F8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D059C 003CC1FC  38 60 00 00 */	li r3, 0
/* 803D05A0 003CC200  4B DF 6B D9 */	bl _restgpr_28
/* 803D05A4 003CC204  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D05A8 003CC208  7C 08 03 A6 */	mtlr r0
/* 803D05AC 003CC20C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D05B0 003CC210  4E 80 00 20 */	blr 
/* 803D05B4 003CC214  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D05B8 003CC218  7C 08 02 A6 */	mflr r0
/* 803D05BC 003CC21C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D05C0 003CC220  39 61 00 20 */	addi r11, r1, 0x20
/* 803D05C4 003CC224  4B DF 6B 61 */	bl _savegpr_26
/* 803D05C8 003CC228  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D05CC 003CC22C  7C 9D 23 78 */	mr r29, r4
/* 803D05D0 003CC230  7C 7C 1B 78 */	mr r28, r3
/* 803D05D4 003CC234  38 05 00 01 */	addi r0, r5, 1
/* 803D05D8 003CC238  7F A3 EB 78 */	mr r3, r29
/* 803D05DC 003CC23C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D05E0 003CC240  48 00 68 8D */	bl func_803D6E6C
/* 803D05E4 003CC244  7C 7E 1B 78 */	mr r30, r3
/* 803D05E8 003CC248  7F A3 EB 78 */	mr r3, r29
/* 803D05EC 003CC24C  48 00 68 81 */	bl func_803D6E6C
/* 803D05F0 003CC250  7C 7F 1B 78 */	mr r31, r3
/* 803D05F4 003CC254  7F 83 E3 78 */	mr r3, r28
/* 803D05F8 003CC258  4B FD C2 49 */	bl func_803AC840
/* 803D05FC 003CC25C  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D0600 003CC260  7C 7B 1B 78 */	mr r27, r3
/* 803D0604 003CC264  7F 83 E3 78 */	mr r3, r28
/* 803D0608 003CC268  4B FD C6 DD */	bl func_803ACCE4
/* 803D060C 003CC26C  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D0610 003CC270  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 803D0614 003CC274  7F 83 E3 78 */	mr r3, r28
/* 803D0618 003CC278  4B FD C6 CD */	bl func_803ACCE4
/* 803D061C 003CC27C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D0620 003CC280  41 82 00 1C */	beq lbl_803D063C
/* 803D0624 003CC284  2C 1B 00 00 */	cmpwi r27, 0
/* 803D0628 003CC288  40 82 00 14 */	bne lbl_803D063C
/* 803D062C 003CC28C  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D0630 003CC290  7C 00 F2 14 */	add r0, r0, r30
/* 803D0634 003CC294  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D0638 003CC298  48 00 00 F8 */	b lbl_803D0730
lbl_803D063C:
/* 803D063C 003CC29C  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803D0640 003CC2A0  7C 7D 02 14 */	add r3, r29, r0
/* 803D0644 003CC2A4  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803D0648 003CC2A8  48 00 D2 D9 */	bl func_803DD920
/* 803D064C 003CC2AC  57 40 18 38 */	slwi r0, r26, 3
/* 803D0650 003CC2B0  7C 9D 02 14 */	add r4, r29, r0
/* 803D0654 003CC2B4  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803D0658 003CC2B8  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803D065C 003CC2BC  7C 00 18 39 */	and. r0, r0, r3
/* 803D0660 003CC2C0  41 82 00 14 */	beq lbl_803D0674
/* 803D0664 003CC2C4  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D0668 003CC2C8  7C 00 F2 14 */	add r0, r0, r30
/* 803D066C 003CC2CC  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D0670 003CC2D0  48 00 00 C0 */	b lbl_803D0730
lbl_803D0674:
/* 803D0674 003CC2D4  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D0678 003CC2D8  7F A3 EB 78 */	mr r3, r29
/* 803D067C 003CC2DC  4B FE F4 9D */	bl func_803BFB18
/* 803D0680 003CC2E0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D0684 003CC2E4  28 00 00 79 */	cmplwi r0, 0x79
/* 803D0688 003CC2E8  41 82 00 1C */	beq lbl_803D06A4
/* 803D068C 003CC2EC  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803D0690 003CC2F0  7F A3 EB 78 */	mr r3, r29
/* 803D0694 003CC2F4  4B FE F4 85 */	bl func_803BFB18
/* 803D0698 003CC2F8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D069C 003CC2FC  28 00 00 79 */	cmplwi r0, 0x79
/* 803D06A0 003CC300  40 82 00 14 */	bne lbl_803D06B4
lbl_803D06A4:
/* 803D06A4 003CC304  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D06A8 003CC308  7C 00 F2 14 */	add r0, r0, r30
/* 803D06AC 003CC30C  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D06B0 003CC310  48 00 00 80 */	b lbl_803D0730
lbl_803D06B4:
/* 803D06B4 003CC314  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803D06B8 003CC318  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803D06BC 003CC31C  7C 7D 02 14 */	add r3, r29, r0
/* 803D06C0 003CC320  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D06C4 003CC324  2C 00 00 00 */	cmpwi r0, 0
/* 803D06C8 003CC328  41 82 00 2C */	beq lbl_803D06F4
/* 803D06CC 003CC32C  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D06D0 003CC330  7F A3 EB 78 */	mr r3, r29
/* 803D06D4 003CC334  38 C0 00 3C */	li r6, 0x3c
/* 803D06D8 003CC338  4B FE F4 B9 */	bl func_803BFB90
/* 803D06DC 003CC33C  2C 03 00 01 */	cmpwi r3, 1
/* 803D06E0 003CC340  40 82 00 14 */	bne lbl_803D06F4
/* 803D06E4 003CC344  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D06E8 003CC348  7C 00 FA 14 */	add r0, r0, r31
/* 803D06EC 003CC34C  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D06F0 003CC350  48 00 00 40 */	b lbl_803D0730
lbl_803D06F4:
/* 803D06F4 003CC354  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803D06F8 003CC358  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D06FC 003CC35C  7C 7D 02 14 */	add r3, r29, r0
/* 803D0700 003CC360  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D0704 003CC364  2C 00 00 00 */	cmpwi r0, 0
/* 803D0708 003CC368  40 82 00 1C */	bne lbl_803D0724
/* 803D070C 003CC36C  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803D0710 003CC370  7F 83 E3 78 */	mr r3, r28
/* 803D0714 003CC374  7F A4 EB 78 */	mr r4, r29
/* 803D0718 003CC378  4B FE F2 95 */	bl func_803BF9AC
/* 803D071C 003CC37C  2C 03 00 00 */	cmpwi r3, 0
/* 803D0720 003CC380  40 82 00 10 */	bne lbl_803D0730
lbl_803D0724:
/* 803D0724 003CC384  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D0728 003CC388  7C 00 F2 14 */	add r0, r0, r30
/* 803D072C 003CC38C  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D0730:
/* 803D0730 003CC390  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0734 003CC394  38 60 00 00 */	li r3, 0
/* 803D0738 003CC398  4B DF 6A 39 */	bl _restgpr_26
/* 803D073C 003CC39C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D0740 003CC3A0  7C 08 03 A6 */	mtlr r0
/* 803D0744 003CC3A4  38 21 00 20 */	addi r1, r1, 0x20
/* 803D0748 003CC3A8  4E 80 00 20 */	blr 
/* 803D074C 003CC3AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D0750 003CC3B0  7C 08 02 A6 */	mflr r0
/* 803D0754 003CC3B4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D0758 003CC3B8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D075C 003CC3BC  4B DF 69 C9 */	bl _savegpr_26
/* 803D0760 003CC3C0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D0764 003CC3C4  7C 9E 23 78 */	mr r30, r4
/* 803D0768 003CC3C8  7C 7A 1B 78 */	mr r26, r3
/* 803D076C 003CC3CC  38 05 00 01 */	addi r0, r5, 1
/* 803D0770 003CC3D0  7F C3 F3 78 */	mr r3, r30
/* 803D0774 003CC3D4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D0778 003CC3D8  48 00 66 F5 */	bl func_803D6E6C
/* 803D077C 003CC3DC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D0780 003CC3E0  7C 7F 1B 78 */	mr r31, r3
/* 803D0784 003CC3E4  54 80 08 3C */	slwi r0, r4, 1
/* 803D0788 003CC3E8  7C 7E 02 14 */	add r3, r30, r0
/* 803D078C 003CC3EC  A0 03 30 5C */	lhz r0, 0x305c(r3)
/* 803D0790 003CC3F0  28 00 00 B6 */	cmplwi r0, 0xb6
/* 803D0794 003CC3F4  41 82 00 28 */	beq lbl_803D07BC
/* 803D0798 003CC3F8  28 00 00 C5 */	cmplwi r0, 0xc5
/* 803D079C 003CC3FC  41 82 00 20 */	beq lbl_803D07BC
/* 803D07A0 003CC400  28 00 00 CB */	cmplwi r0, 0xcb
/* 803D07A4 003CC404  41 82 00 18 */	beq lbl_803D07BC
/* 803D07A8 003CC408  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D07AC 003CC40C  7C 7E 02 14 */	add r3, r30, r0
/* 803D07B0 003CC410  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803D07B4 003CC414  54 00 03 54 */	rlwinm r0, r0, 0, 0xd, 0xa
/* 803D07B8 003CC418  90 03 2D C8 */	stw r0, 0x2dc8(r3)
lbl_803D07BC:
/* 803D07BC 003CC41C  3B 80 00 00 */	li r28, 0
/* 803D07C0 003CC420  3B 60 00 00 */	li r27, 0
/* 803D07C4 003CC424  3B A0 00 00 */	li r29, 0
/* 803D07C8 003CC428  48 00 00 20 */	b lbl_803D07E8
lbl_803D07CC:
/* 803D07CC 003CC42C  7C 7E EA 14 */	add r3, r30, r29
/* 803D07D0 003CC430  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803D07D4 003CC434  28 00 00 27 */	cmplwi r0, 0x27
/* 803D07D8 003CC438  41 82 00 08 */	beq lbl_803D07E0
/* 803D07DC 003CC43C  3B 9C 00 01 */	addi r28, r28, 1
lbl_803D07E0:
/* 803D07E0 003CC440  3B 7B 00 01 */	addi r27, r27, 1
/* 803D07E4 003CC444  3B BD 00 10 */	addi r29, r29, 0x10
lbl_803D07E8:
/* 803D07E8 003CC448  7F 43 D3 78 */	mr r3, r26
/* 803D07EC 003CC44C  4B FD C0 75 */	bl func_803AC860
/* 803D07F0 003CC450  7C 1B 18 00 */	cmpw r27, r3
/* 803D07F4 003CC454  41 80 FF D8 */	blt lbl_803D07CC
/* 803D07F8 003CC458  83 7E 00 64 */	lwz r27, 0x64(r30)
/* 803D07FC 003CC45C  38 9C FF FF */	addi r4, r28, -1
/* 803D0800 003CC460  30 64 FF FF */	addic r3, r4, -1
/* 803D0804 003CC464  1C 1B 00 C0 */	mulli r0, r27, 0xc0
/* 803D0808 003CC468  7F 83 21 10 */	subfe r28, r3, r4
/* 803D080C 003CC46C  7F BE 02 14 */	add r29, r30, r0
/* 803D0810 003CC470  48 00 8F A9 */	bl func_803D97B8
/* 803D0814 003CC474  80 1D 2D C8 */	lwz r0, 0x2dc8(r29)
/* 803D0818 003CC478  38 82 A9 F8 */	addi r4, r2, lbl_80642FF8-_SDA2_BASE_
/* 803D081C 003CC47C  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D0820 003CC480  54 00 77 7C */	rlwinm r0, r0, 0xe, 0x1d, 0x1e
/* 803D0824 003CC484  7C 04 02 2E */	lhzx r0, r4, r0
/* 803D0828 003CC488  7C 00 18 40 */	cmplw r0, r3
/* 803D082C 003CC48C  41 80 00 BC */	blt lbl_803D08E8
/* 803D0830 003CC490  2C 1C 00 00 */	cmpwi r28, 0
/* 803D0834 003CC494  41 82 00 B4 */	beq lbl_803D08E8
/* 803D0838 003CC498  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803D083C 003CC49C  54 00 20 36 */	slwi r0, r0, 4
/* 803D0840 003CC4A0  7C 7E 02 14 */	add r3, r30, r0
/* 803D0844 003CC4A4  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803D0848 003CC4A8  28 00 00 6F */	cmplwi r0, 0x6f
/* 803D084C 003CC4AC  40 82 00 20 */	bne lbl_803D086C
/* 803D0850 003CC4B0  57 63 30 32 */	slwi r3, r27, 6
/* 803D0854 003CC4B4  38 00 01 1A */	li r0, 0x11a
/* 803D0858 003CC4B8  7C 9E 1A 14 */	add r4, r30, r3
/* 803D085C 003CC4BC  80 64 01 D4 */	lwz r3, 0x1d4(r4)
/* 803D0860 003CC4C0  64 63 20 00 */	oris r3, r3, 0x2000
/* 803D0864 003CC4C4  90 64 01 D4 */	stw r3, 0x1d4(r4)
/* 803D0868 003CC4C8  B0 1E 00 F6 */	sth r0, 0xf6(r30)
lbl_803D086C:
/* 803D086C 003CC4CC  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803D0870 003CC4D0  54 00 20 36 */	slwi r0, r0, 4
/* 803D0874 003CC4D4  7C 7E 02 14 */	add r3, r30, r0
/* 803D0878 003CC4D8  A0 03 03 DE */	lhz r0, 0x3de(r3)
/* 803D087C 003CC4DC  28 00 00 74 */	cmplwi r0, 0x74
/* 803D0880 003CC4E0  40 82 00 24 */	bne lbl_803D08A4
/* 803D0884 003CC4E4  80 7E 00 64 */	lwz r3, 0x64(r30)
/* 803D0888 003CC4E8  38 00 01 BA */	li r0, 0x1ba
/* 803D088C 003CC4EC  54 63 30 32 */	slwi r3, r3, 6
/* 803D0890 003CC4F0  7C 9E 1A 14 */	add r4, r30, r3
/* 803D0894 003CC4F4  80 64 01 D4 */	lwz r3, 0x1d4(r4)
/* 803D0898 003CC4F8  64 63 00 40 */	oris r3, r3, 0x40
/* 803D089C 003CC4FC  90 64 01 D4 */	stw r3, 0x1d4(r4)
/* 803D08A0 003CC500  B0 1E 00 F6 */	sth r0, 0xf6(r30)
lbl_803D08A4:
/* 803D08A4 003CC504  38 00 00 02 */	li r0, 2
/* 803D08A8 003CC508  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D08AC 003CC50C  98 1E 00 F5 */	stb r0, 0xf5(r30)
/* 803D08B0 003CC510  7F C3 F3 78 */	mr r3, r30
/* 803D08B4 003CC514  4B FE EA 79 */	bl func_803BF32C
/* 803D08B8 003CC518  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D08BC 003CC51C  90 7E 00 F8 */	stw r3, 0xf8(r30)
/* 803D08C0 003CC520  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D08C4 003CC524  7C 9E 02 14 */	add r4, r30, r0
/* 803D08C8 003CC528  80 64 2D C8 */	lwz r3, 0x2dc8(r4)
/* 803D08CC 003CC52C  54 65 6F BE */	rlwinm r5, r3, 0xd, 0x1e, 0x1f
/* 803D08D0 003CC530  28 05 00 03 */	cmplwi r5, 3
/* 803D08D4 003CC534  40 80 00 2C */	bge lbl_803D0900
/* 803D08D8 003CC538  38 05 00 01 */	addi r0, r5, 1
/* 803D08DC 003CC53C  50 03 9A D8 */	rlwimi r3, r0, 0x13, 0xb, 0xc
/* 803D08E0 003CC540  90 64 2D C8 */	stw r3, 0x2dc8(r4)
/* 803D08E4 003CC544  48 00 00 1C */	b lbl_803D0900
lbl_803D08E8:
/* 803D08E8 003CC548  80 1D 2D C8 */	lwz r0, 0x2dc8(r29)
/* 803D08EC 003CC54C  54 00 03 54 */	rlwinm r0, r0, 0, 0xd, 0xa
/* 803D08F0 003CC550  90 1D 2D C8 */	stw r0, 0x2dc8(r29)
/* 803D08F4 003CC554  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D08F8 003CC558  7C 00 FA 14 */	add r0, r0, r31
/* 803D08FC 003CC55C  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D0900:
/* 803D0900 003CC560  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0904 003CC564  38 60 00 00 */	li r3, 0
/* 803D0908 003CC568  4B DF 68 69 */	bl _restgpr_26
/* 803D090C 003CC56C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D0910 003CC570  7C 08 03 A6 */	mtlr r0
/* 803D0914 003CC574  38 21 00 20 */	addi r1, r1, 0x20
/* 803D0918 003CC578  4E 80 00 20 */	blr 
/* 803D091C 003CC57C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D0920 003CC580  7C 08 02 A6 */	mflr r0
/* 803D0924 003CC584  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D0928 003CC588  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D092C 003CC58C  93 C1 00 08 */	stw r30, 8(r1)
/* 803D0930 003CC590  7C 9E 23 78 */	mr r30, r4
/* 803D0934 003CC594  7F C3 F3 78 */	mr r3, r30
/* 803D0938 003CC598  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D093C 003CC59C  38 05 00 01 */	addi r0, r5, 1
/* 803D0940 003CC5A0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D0944 003CC5A4  48 00 65 29 */	bl func_803D6E6C
/* 803D0948 003CC5A8  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D094C 003CC5AC  7C 7F 1B 78 */	mr r31, r3
/* 803D0950 003CC5B0  38 80 00 04 */	li r4, 4
/* 803D0954 003CC5B4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D0958 003CC5B8  7C 7E 02 14 */	add r3, r30, r0
/* 803D095C 003CC5BC  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803D0960 003CC5C0  4B FF 02 09 */	bl func_803C0B68
/* 803D0964 003CC5C4  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D0968 003CC5C8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D096C 003CC5CC  7C 9E 02 14 */	add r4, r30, r0
/* 803D0970 003CC5D0  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803D0974 003CC5D4  7C 00 18 00 */	cmpw r0, r3
/* 803D0978 003CC5D8  41 81 00 14 */	bgt lbl_803D098C
/* 803D097C 003CC5DC  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D0980 003CC5E0  7C 00 FA 14 */	add r0, r0, r31
/* 803D0984 003CC5E4  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D0988 003CC5E8  48 00 00 28 */	b lbl_803D09B0
lbl_803D098C:
/* 803D098C 003CC5EC  7C 03 00 D0 */	neg r0, r3
/* 803D0990 003CC5F0  90 1E 21 5C */	stw r0, 0x215c(r30)
/* 803D0994 003CC5F4  90 64 2D E0 */	stw r3, 0x2de0(r4)
/* 803D0998 003CC5F8  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D099C 003CC5FC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D09A0 003CC600  7C 7E 02 14 */	add r3, r30, r0
/* 803D09A4 003CC604  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D09A8 003CC608  54 00 04 DE */	rlwinm r0, r0, 0, 0x13, 0xf
/* 803D09AC 003CC60C  90 03 2D B0 */	stw r0, 0x2db0(r3)
lbl_803D09B0:
/* 803D09B0 003CC610  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D09B4 003CC614  38 60 00 00 */	li r3, 0
/* 803D09B8 003CC618  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D09BC 003CC61C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D09C0 003CC620  7C 08 03 A6 */	mtlr r0
/* 803D09C4 003CC624  38 21 00 10 */	addi r1, r1, 0x10
/* 803D09C8 003CC628  4E 80 00 20 */	blr 
/* 803D09CC 003CC62C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803D09D0 003CC630  7C 08 02 A6 */	mflr r0
/* 803D09D4 003CC634  90 01 00 44 */	stw r0, 0x44(r1)
/* 803D09D8 003CC638  39 61 00 40 */	addi r11, r1, 0x40
/* 803D09DC 003CC63C  4B DF 67 35 */	bl _savegpr_21
/* 803D09E0 003CC640  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D09E4 003CC644  7C 9A 23 78 */	mr r26, r4
/* 803D09E8 003CC648  7C 75 1B 78 */	mr r21, r3
/* 803D09EC 003CC64C  38 05 00 01 */	addi r0, r5, 1
/* 803D09F0 003CC650  7F 43 D3 78 */	mr r3, r26
/* 803D09F4 003CC654  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D09F8 003CC658  48 00 64 75 */	bl func_803D6E6C
/* 803D09FC 003CC65C  7C 7F 1B 78 */	mr r31, r3
/* 803D0A00 003CC660  7E A3 AB 78 */	mr r3, r21
/* 803D0A04 003CC664  4B FD BE 3D */	bl func_803AC840
/* 803D0A08 003CC668  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803D0A0C 003CC66C  7C 7C 1B 78 */	mr r28, r3
/* 803D0A10 003CC670  41 82 01 E0 */	beq lbl_803D0BF0
/* 803D0A14 003CC674  80 9A 00 6C */	lwz r4, 0x6c(r26)
/* 803D0A18 003CC678  7E A3 AB 78 */	mr r3, r21
/* 803D0A1C 003CC67C  3B A0 00 00 */	li r29, 0
/* 803D0A20 003CC680  4B FD BE 49 */	bl func_803AC868
/* 803D0A24 003CC684  80 9A 00 6C */	lwz r4, 0x6c(r26)
/* 803D0A28 003CC688  7C 7E 1B 78 */	mr r30, r3
/* 803D0A2C 003CC68C  7E A3 AB 78 */	mr r3, r21
/* 803D0A30 003CC690  4B FD BE D1 */	bl func_803AC900
/* 803D0A34 003CC694  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803D0A38 003CC698  7C 7B 1B 78 */	mr r27, r3
/* 803D0A3C 003CC69C  40 82 00 20 */	bne lbl_803D0A5C
/* 803D0A40 003CC6A0  57 80 06 F7 */	rlwinm. r0, r28, 0, 0x1b, 0x1b
/* 803D0A44 003CC6A4  41 82 00 34 */	beq lbl_803D0A78
/* 803D0A48 003CC6A8  80 9A 00 6C */	lwz r4, 0x6c(r26)
/* 803D0A4C 003CC6AC  7E A3 AB 78 */	mr r3, r21
/* 803D0A50 003CC6B0  4B FD C2 95 */	bl func_803ACCE4
/* 803D0A54 003CC6B4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D0A58 003CC6B8  41 82 00 20 */	beq lbl_803D0A78
lbl_803D0A5C:
/* 803D0A5C 003CC6BC  80 1A 00 6C */	lwz r0, 0x6c(r26)
/* 803D0A60 003CC6C0  3B 80 00 00 */	li r28, 0
/* 803D0A64 003CC6C4  3B 00 00 01 */	li r24, 1
/* 803D0A68 003CC6C8  7C 7A 02 14 */	add r3, r26, r0
/* 803D0A6C 003CC6CC  8A C3 21 9C */	lbz r22, 0x219c(r3)
/* 803D0A70 003CC6D0  7E D5 B3 78 */	mr r21, r22
/* 803D0A74 003CC6D4  48 00 00 4C */	b lbl_803D0AC0
lbl_803D0A78:
/* 803D0A78 003CC6D8  57 80 07 BD */	rlwinm. r0, r28, 0, 0x1e, 0x1e
/* 803D0A7C 003CC6DC  41 82 00 2C */	beq lbl_803D0AA8
/* 803D0A80 003CC6E0  80 9A 00 6C */	lwz r4, 0x6c(r26)
/* 803D0A84 003CC6E4  7E A3 AB 78 */	mr r3, r21
/* 803D0A88 003CC6E8  3B 80 00 00 */	li r28, 0
/* 803D0A8C 003CC6EC  3B 00 00 02 */	li r24, 2
/* 803D0A90 003CC6F0  7C BA 22 14 */	add r5, r26, r4
/* 803D0A94 003CC6F4  8A C5 21 9C */	lbz r22, 0x219c(r5)
/* 803D0A98 003CC6F8  4B FD C2 A1 */	bl func_803ACD38
/* 803D0A9C 003CC6FC  7C 7A 1A 14 */	add r3, r26, r3
/* 803D0AA0 003CC700  8A A3 21 9C */	lbz r21, 0x219c(r3)
/* 803D0AA4 003CC704  48 00 00 1C */	b lbl_803D0AC0
lbl_803D0AA8:
/* 803D0AA8 003CC708  80 1A 00 6C */	lwz r0, 0x6c(r26)
/* 803D0AAC 003CC70C  3B 80 00 00 */	li r28, 0
/* 803D0AB0 003CC710  3B 00 00 01 */	li r24, 1
/* 803D0AB4 003CC714  7C 7A 02 14 */	add r3, r26, r0
/* 803D0AB8 003CC718  8A C3 21 9C */	lbz r22, 0x219c(r3)
/* 803D0ABC 003CC71C  7E D5 B3 78 */	mr r21, r22
lbl_803D0AC0:
/* 803D0AC0 003CC720  7F 97 E3 78 */	mr r23, r28
/* 803D0AC4 003CC724  48 00 00 60 */	b lbl_803D0B24
lbl_803D0AC8:
/* 803D0AC8 003CC728  7F C3 F3 78 */	mr r3, r30
/* 803D0ACC 003CC72C  7E E4 BB 78 */	mr r4, r23
/* 803D0AD0 003CC730  48 00 DE 7D */	bl func_803DE94C
/* 803D0AD4 003CC734  7C 79 1B 78 */	mr r25, r3
/* 803D0AD8 003CC738  38 80 00 05 */	li r4, 5
/* 803D0ADC 003CC73C  38 A0 00 00 */	li r5, 0
/* 803D0AE0 003CC740  48 00 CE FD */	bl func_803DD9DC
/* 803D0AE4 003CC744  2C 03 00 00 */	cmpwi r3, 0
/* 803D0AE8 003CC748  41 82 00 38 */	beq lbl_803D0B20
/* 803D0AEC 003CC74C  7F 23 CB 78 */	mr r3, r25
/* 803D0AF0 003CC750  38 80 00 4C */	li r4, 0x4c
/* 803D0AF4 003CC754  38 A0 00 00 */	li r5, 0
/* 803D0AF8 003CC758  48 00 CE E5 */	bl func_803DD9DC
/* 803D0AFC 003CC75C  2C 03 00 00 */	cmpwi r3, 0
/* 803D0B00 003CC760  40 82 00 20 */	bne lbl_803D0B20
/* 803D0B04 003CC764  7F 23 CB 78 */	mr r3, r25
/* 803D0B08 003CC768  38 80 00 A2 */	li r4, 0xa2
/* 803D0B0C 003CC76C  38 A0 00 00 */	li r5, 0
/* 803D0B10 003CC770  48 00 CE CD */	bl func_803DD9DC
/* 803D0B14 003CC774  2C 03 00 00 */	cmpwi r3, 0
/* 803D0B18 003CC778  41 82 00 08 */	beq lbl_803D0B20
/* 803D0B1C 003CC77C  3B BD 00 01 */	addi r29, r29, 1
lbl_803D0B20:
/* 803D0B20 003CC780  3A F7 00 01 */	addi r23, r23, 1
lbl_803D0B24:
/* 803D0B24 003CC784  7C 17 D8 00 */	cmpw r23, r27
/* 803D0B28 003CC788  41 80 FF A0 */	blt lbl_803D0AC8
/* 803D0B2C 003CC78C  7C 1D C0 00 */	cmpw r29, r24
/* 803D0B30 003CC790  41 81 00 14 */	bgt lbl_803D0B44
/* 803D0B34 003CC794  80 1A 00 B4 */	lwz r0, 0xb4(r26)
/* 803D0B38 003CC798  7C 00 FA 14 */	add r0, r0, r31
/* 803D0B3C 003CC79C  90 1A 00 B4 */	stw r0, 0xb4(r26)
/* 803D0B40 003CC7A0  48 00 00 CC */	b lbl_803D0C0C
lbl_803D0B44:
/* 803D0B44 003CC7A4  7F 43 D3 78 */	mr r3, r26
/* 803D0B48 003CC7A8  4B FE EF 31 */	bl func_803BFA78
/* 803D0B4C 003CC7AC  2C 03 00 00 */	cmpwi r3, 0
/* 803D0B50 003CC7B0  41 82 00 90 */	beq lbl_803D0BE0
lbl_803D0B54:
/* 803D0B54 003CC7B4  48 00 8C 65 */	bl func_803D97B8
/* 803D0B58 003CC7B8  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D0B5C 003CC7BC  7C 03 DB D6 */	divw r0, r3, r27
/* 803D0B60 003CC7C0  7C 00 D9 D6 */	mullw r0, r0, r27
/* 803D0B64 003CC7C4  7F A0 18 50 */	subf r29, r0, r3
/* 803D0B68 003CC7C8  7F BD E2 14 */	add r29, r29, r28
/* 803D0B6C 003CC7CC  7C 1D B0 00 */	cmpw r29, r22
/* 803D0B70 003CC7D0  41 82 FF E4 */	beq lbl_803D0B54
/* 803D0B74 003CC7D4  7C 1D A8 00 */	cmpw r29, r21
/* 803D0B78 003CC7D8  41 82 FF DC */	beq lbl_803D0B54
/* 803D0B7C 003CC7DC  7F C3 F3 78 */	mr r3, r30
/* 803D0B80 003CC7E0  7F A4 EB 78 */	mr r4, r29
/* 803D0B84 003CC7E4  48 00 DD C9 */	bl func_803DE94C
/* 803D0B88 003CC7E8  7C 7F 1B 78 */	mr r31, r3
/* 803D0B8C 003CC7EC  38 80 00 05 */	li r4, 5
/* 803D0B90 003CC7F0  38 A0 00 00 */	li r5, 0
/* 803D0B94 003CC7F4  48 00 CE 49 */	bl func_803DD9DC
/* 803D0B98 003CC7F8  2C 03 00 00 */	cmpwi r3, 0
/* 803D0B9C 003CC7FC  41 82 FF B8 */	beq lbl_803D0B54
/* 803D0BA0 003CC800  7F E3 FB 78 */	mr r3, r31
/* 803D0BA4 003CC804  38 80 00 4C */	li r4, 0x4c
/* 803D0BA8 003CC808  38 A0 00 00 */	li r5, 0
/* 803D0BAC 003CC80C  48 00 CE 31 */	bl func_803DD9DC
/* 803D0BB0 003CC810  28 03 00 01 */	cmplwi r3, 1
/* 803D0BB4 003CC814  41 82 FF A0 */	beq lbl_803D0B54
/* 803D0BB8 003CC818  7F E3 FB 78 */	mr r3, r31
/* 803D0BBC 003CC81C  38 80 00 A2 */	li r4, 0xa2
/* 803D0BC0 003CC820  38 A0 00 00 */	li r5, 0
/* 803D0BC4 003CC824  48 00 CE 19 */	bl func_803DD9DC
/* 803D0BC8 003CC828  2C 03 00 00 */	cmpwi r3, 0
/* 803D0BCC 003CC82C  41 82 FF 88 */	beq lbl_803D0B54
/* 803D0BD0 003CC830  80 1A 00 6C */	lwz r0, 0x6c(r26)
/* 803D0BD4 003CC834  7C 7A 02 14 */	add r3, r26, r0
/* 803D0BD8 003CC838  9B A3 21 A0 */	stb r29, 0x21a0(r3)
/* 803D0BDC 003CC83C  48 00 00 30 */	b lbl_803D0C0C
lbl_803D0BE0:
/* 803D0BE0 003CC840  80 1A 00 B4 */	lwz r0, 0xb4(r26)
/* 803D0BE4 003CC844  7C 00 FA 14 */	add r0, r0, r31
/* 803D0BE8 003CC848  90 1A 00 B4 */	stw r0, 0xb4(r26)
/* 803D0BEC 003CC84C  48 00 00 20 */	b lbl_803D0C0C
lbl_803D0BF0:
/* 803D0BF0 003CC850  7F 43 D3 78 */	mr r3, r26
/* 803D0BF4 003CC854  4B FE EE 85 */	bl func_803BFA78
/* 803D0BF8 003CC858  2C 03 00 00 */	cmpwi r3, 0
/* 803D0BFC 003CC85C  40 82 00 10 */	bne lbl_803D0C0C
/* 803D0C00 003CC860  80 1A 00 B4 */	lwz r0, 0xb4(r26)
/* 803D0C04 003CC864  7C 00 FA 14 */	add r0, r0, r31
/* 803D0C08 003CC868  90 1A 00 B4 */	stw r0, 0xb4(r26)
lbl_803D0C0C:
/* 803D0C0C 003CC86C  39 61 00 40 */	addi r11, r1, 0x40
/* 803D0C10 003CC870  38 60 00 00 */	li r3, 0
/* 803D0C14 003CC874  4B DF 65 49 */	bl _restgpr_21
/* 803D0C18 003CC878  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803D0C1C 003CC87C  7C 08 03 A6 */	mtlr r0
/* 803D0C20 003CC880  38 21 00 40 */	addi r1, r1, 0x40
/* 803D0C24 003CC884  4E 80 00 20 */	blr 
/* 803D0C28 003CC888  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0C2C 003CC88C  38 A0 00 00 */	li r5, 0
/* 803D0C30 003CC890  80 C4 00 B4 */	lwz r6, 0xb4(r4)
/* 803D0C34 003CC894  38 00 00 28 */	li r0, 0x28
/* 803D0C38 003CC898  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0C3C 003CC89C  38 C6 00 01 */	addi r6, r6, 1
/* 803D0C40 003CC8A0  90 C4 00 B4 */	stw r6, 0xb4(r4)
/* 803D0C44 003CC8A4  7C C4 1A 14 */	add r6, r4, r3
/* 803D0C48 003CC8A8  80 66 2D B0 */	lwz r3, 0x2db0(r6)
/* 803D0C4C 003CC8AC  64 63 00 20 */	oris r3, r3, 0x20
/* 803D0C50 003CC8B0  90 66 2D B0 */	stw r3, 0x2db0(r6)
/* 803D0C54 003CC8B4  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0C58 003CC8B8  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0C5C 003CC8BC  7C 64 1A 14 */	add r3, r4, r3
/* 803D0C60 003CC8C0  B0 A3 2D E8 */	sth r5, 0x2de8(r3)
/* 803D0C64 003CC8C4  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0C68 003CC8C8  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0C6C 003CC8CC  7C A4 1A 14 */	add r5, r4, r3
/* 803D0C70 003CC8D0  80 65 2D C8 */	lwz r3, 0x2dc8(r5)
/* 803D0C74 003CC8D4  54 63 00 FE */	clrlwi r3, r3, 3
/* 803D0C78 003CC8D8  90 65 2D C8 */	stw r3, 0x2dc8(r5)
/* 803D0C7C 003CC8DC  80 A4 00 6C */	lwz r5, 0x6c(r4)
/* 803D0C80 003CC8E0  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0C84 003CC8E4  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803D0C88 003CC8E8  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0C8C 003CC8EC  7C A4 2A 14 */	add r5, r4, r5
/* 803D0C90 003CC8F0  80 A5 2D A8 */	lwz r5, 0x2da8(r5)
/* 803D0C94 003CC8F4  7C 64 1A 14 */	add r3, r4, r3
/* 803D0C98 003CC8F8  90 A3 2D E4 */	stw r5, 0x2de4(r3)
/* 803D0C9C 003CC8FC  80 A4 00 6C */	lwz r5, 0x6c(r4)
/* 803D0CA0 003CC900  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0CA4 003CC904  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803D0CA8 003CC908  7C A4 2A 14 */	add r5, r4, r5
/* 803D0CAC 003CC90C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0CB0 003CC910  88 A5 2D BE */	lbz r5, 0x2dbe(r5)
/* 803D0CB4 003CC914  54 A5 E7 3E */	rlwinm r5, r5, 0x1c, 0x1c, 0x1f
/* 803D0CB8 003CC918  7C 64 1A 14 */	add r3, r4, r3
/* 803D0CBC 003CC91C  B0 A3 2D FA */	sth r5, 0x2dfa(r3)
/* 803D0CC0 003CC920  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0CC4 003CC924  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0CC8 003CC928  7C A4 1A 14 */	add r5, r4, r3
/* 803D0CCC 003CC92C  80 65 2D CC */	lwz r3, 0x2dcc(r5)
/* 803D0CD0 003CC930  54 63 01 82 */	rlwinm r3, r3, 0, 6, 1
/* 803D0CD4 003CC934  90 65 2D CC */	stw r3, 0x2dcc(r5)
/* 803D0CD8 003CC938  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D0CDC 003CC93C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0CE0 003CC940  7C A4 1A 14 */	add r5, r4, r3
/* 803D0CE4 003CC944  80 65 2D CC */	lwz r3, 0x2dcc(r5)
/* 803D0CE8 003CC948  54 63 03 52 */	rlwinm r3, r3, 0, 0xd, 9
/* 803D0CEC 003CC94C  90 65 2D CC */	stw r3, 0x2dcc(r5)
/* 803D0CF0 003CC950  80 A4 00 64 */	lwz r5, 0x64(r4)
/* 803D0CF4 003CC954  80 64 00 6C */	lwz r3, 0x6c(r4)
/* 803D0CF8 003CC958  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803D0CFC 003CC95C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D0D00 003CC960  7C C4 2A 14 */	add r6, r4, r5
/* 803D0D04 003CC964  7C A4 1A 14 */	add r5, r4, r3
/* 803D0D08 003CC968  38 66 2D 40 */	addi r3, r6, 0x2d40
/* 803D0D0C 003CC96C  38 A5 2D 40 */	addi r5, r5, 0x2d40
/* 803D0D10 003CC970  7C 09 03 A6 */	mtctr r0
lbl_803D0D14:
/* 803D0D14 003CC974  88 05 00 00 */	lbz r0, 0(r5)
/* 803D0D18 003CC978  38 A5 00 01 */	addi r5, r5, 1
/* 803D0D1C 003CC97C  98 03 00 00 */	stb r0, 0(r3)
/* 803D0D20 003CC980  38 63 00 01 */	addi r3, r3, 1
/* 803D0D24 003CC984  42 00 FF F0 */	bdnz lbl_803D0D14
/* 803D0D28 003CC988  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0D2C 003CC98C  38 00 00 04 */	li r0, 4
/* 803D0D30 003CC990  38 60 00 00 */	li r3, 0
/* 803D0D34 003CC994  38 A0 00 00 */	li r5, 0
/* 803D0D38 003CC998  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0D3C 003CC99C  38 E0 00 05 */	li r7, 5
/* 803D0D40 003CC9A0  7D 04 32 14 */	add r8, r4, r6
/* 803D0D44 003CC9A4  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0D48 003CC9A8  54 C6 00 7E */	clrlwi r6, r6, 1
/* 803D0D4C 003CC9AC  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0D50 003CC9B0  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0D54 003CC9B4  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0D58 003CC9B8  7D 04 32 14 */	add r8, r4, r6
/* 803D0D5C 003CC9BC  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0D60 003CC9C0  54 C6 00 80 */	rlwinm r6, r6, 0, 2, 0
/* 803D0D64 003CC9C4  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0D68 003CC9C8  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0D6C 003CC9CC  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0D70 003CC9D0  7D 04 32 14 */	add r8, r4, r6
/* 803D0D74 003CC9D4  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0D78 003CC9D8  54 C6 00 C2 */	rlwinm r6, r6, 0, 3, 1
/* 803D0D7C 003CC9DC  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0D80 003CC9E0  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0D84 003CC9E4  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0D88 003CC9E8  7D 04 32 14 */	add r8, r4, r6
/* 803D0D8C 003CC9EC  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0D90 003CC9F0  54 C6 01 04 */	rlwinm r6, r6, 0, 4, 2
/* 803D0D94 003CC9F4  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0D98 003CC9F8  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0D9C 003CC9FC  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0DA0 003CCA00  7D 04 32 14 */	add r8, r4, r6
/* 803D0DA4 003CCA04  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0DA8 003CCA08  54 C6 01 46 */	rlwinm r6, r6, 0, 5, 3
/* 803D0DAC 003CCA0C  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0DB0 003CCA10  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0DB4 003CCA14  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0DB8 003CCA18  7D 04 32 14 */	add r8, r4, r6
/* 803D0DBC 003CCA1C  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0DC0 003CCA20  54 C6 01 88 */	rlwinm r6, r6, 0, 6, 4
/* 803D0DC4 003CCA24  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0DC8 003CCA28  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0DCC 003CCA2C  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0DD0 003CCA30  7D 04 32 14 */	add r8, r4, r6
/* 803D0DD4 003CCA34  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0DD8 003CCA38  54 C6 02 4E */	rlwinm r6, r6, 0, 9, 7
/* 803D0DDC 003CCA3C  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0DE0 003CCA40  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0DE4 003CCA44  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0DE8 003CCA48  7D 04 32 14 */	add r8, r4, r6
/* 803D0DEC 003CCA4C  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0DF0 003CCA50  54 C6 02 90 */	rlwinm r6, r6, 0, 0xa, 8
/* 803D0DF4 003CCA54  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0DF8 003CCA58  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0DFC 003CCA5C  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0E00 003CCA60  7D 04 32 14 */	add r8, r4, r6
/* 803D0E04 003CCA64  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0E08 003CCA68  54 C6 02 D2 */	rlwinm r6, r6, 0, 0xb, 9
/* 803D0E0C 003CCA6C  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0E10 003CCA70  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0E14 003CCA74  81 24 01 50 */	lwz r9, 0x150(r4)
/* 803D0E18 003CCA78  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0E1C 003CCA7C  7D 04 32 14 */	add r8, r4, r6
/* 803D0E20 003CCA80  80 C8 2D C8 */	lwz r6, 0x2dc8(r8)
/* 803D0E24 003CCA84  51 26 0F BC */	rlwimi r6, r9, 1, 0x1e, 0x1e
/* 803D0E28 003CCA88  90 C8 2D C8 */	stw r6, 0x2dc8(r8)
/* 803D0E2C 003CCA8C  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0E30 003CCA90  81 04 01 50 */	lwz r8, 0x150(r4)
/* 803D0E34 003CCA94  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0E38 003CCA98  39 08 00 01 */	addi r8, r8, 1
/* 803D0E3C 003CCA9C  7C C4 32 14 */	add r6, r4, r6
/* 803D0E40 003CCAA0  91 06 2D D8 */	stw r8, 0x2dd8(r6)
/* 803D0E44 003CCAA4  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0E48 003CCAA8  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0E4C 003CCAAC  7D 04 32 14 */	add r8, r4, r6
/* 803D0E50 003CCAB0  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0E54 003CCAB4  54 C6 01 CA */	rlwinm r6, r6, 0, 7, 5
/* 803D0E58 003CCAB8  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0E5C 003CCABC  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D0E60 003CCAC0  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D0E64 003CCAC4  7D 04 32 14 */	add r8, r4, r6
/* 803D0E68 003CCAC8  80 C8 2D 68 */	lwz r6, 0x2d68(r8)
/* 803D0E6C 003CCACC  54 C6 02 0C */	rlwinm r6, r6, 0, 8, 6
/* 803D0E70 003CCAD0  90 C8 2D 68 */	stw r6, 0x2d68(r8)
/* 803D0E74 003CCAD4  7C 09 03 A6 */	mtctr r0
lbl_803D0E78:
/* 803D0E78 003CCAD8  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D0E7C 003CCADC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D0E80 003CCAE0  7D 04 02 14 */	add r8, r4, r0
/* 803D0E84 003CCAE4  7C C8 2A 14 */	add r6, r8, r5
/* 803D0E88 003CCAE8  A0 06 2D 4C */	lhz r0, 0x2d4c(r6)
/* 803D0E8C 003CCAEC  54 00 20 36 */	slwi r0, r0, 4
/* 803D0E90 003CCAF0  7C C4 02 14 */	add r6, r4, r0
/* 803D0E94 003CCAF4  88 06 03 E4 */	lbz r0, 0x3e4(r6)
/* 803D0E98 003CCAF8  28 00 00 05 */	cmplwi r0, 5
/* 803D0E9C 003CCAFC  40 80 00 10 */	bge lbl_803D0EAC
/* 803D0EA0 003CCB00  7C C8 1A 14 */	add r6, r8, r3
/* 803D0EA4 003CCB04  98 06 2D 6C */	stb r0, 0x2d6c(r6)
/* 803D0EA8 003CCB08  48 00 00 0C */	b lbl_803D0EB4
lbl_803D0EAC:
/* 803D0EAC 003CCB0C  7C C8 1A 14 */	add r6, r8, r3
/* 803D0EB0 003CCB10  98 E6 2D 6C */	stb r7, 0x2d6c(r6)
lbl_803D0EB4:
/* 803D0EB4 003CCB14  38 63 00 01 */	addi r3, r3, 1
/* 803D0EB8 003CCB18  38 A5 00 02 */	addi r5, r5, 2
/* 803D0EBC 003CCB1C  42 00 FF BC */	bdnz lbl_803D0E78
/* 803D0EC0 003CCB20  38 60 00 00 */	li r3, 0
/* 803D0EC4 003CCB24  4E 80 00 20 */	blr 
/* 803D0EC8 003CCB28  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D0ECC 003CCB2C  7C 08 02 A6 */	mflr r0
/* 803D0ED0 003CCB30  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D0ED4 003CCB34  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0ED8 003CCB38  4B DF 62 59 */	bl _savegpr_29
/* 803D0EDC 003CCB3C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D0EE0 003CCB40  7C 9E 23 78 */	mr r30, r4
/* 803D0EE4 003CCB44  7C 7D 1B 78 */	mr r29, r3
/* 803D0EE8 003CCB48  38 05 00 01 */	addi r0, r5, 1
/* 803D0EEC 003CCB4C  7F C3 F3 78 */	mr r3, r30
/* 803D0EF0 003CCB50  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D0EF4 003CCB54  48 00 5F 79 */	bl func_803D6E6C
/* 803D0EF8 003CCB58  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D0EFC 003CCB5C  7C 7F 1B 78 */	mr r31, r3
/* 803D0F00 003CCB60  7F A3 EB 78 */	mr r3, r29
/* 803D0F04 003CCB64  4B FD BD E1 */	bl func_803ACCE4
/* 803D0F08 003CCB68  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D0F0C 003CCB6C  68 03 00 01 */	xori r3, r0, 1
/* 803D0F10 003CCB70  54 60 18 38 */	slwi r0, r3, 3
/* 803D0F14 003CCB74  7C BE 02 14 */	add r5, r30, r0
/* 803D0F18 003CCB78  80 05 01 C8 */	lwz r0, 0x1c8(r5)
/* 803D0F1C 003CCB7C  54 00 17 BE */	srwi r0, r0, 0x1e
/* 803D0F20 003CCB80  28 00 00 03 */	cmplwi r0, 3
/* 803D0F24 003CCB84  40 82 00 2C */	bne lbl_803D0F50
/* 803D0F28 003CCB88  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D0F2C 003CCB8C  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D0F30 003CCB90  7C 7E 02 14 */	add r3, r30, r0
/* 803D0F34 003CCB94  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803D0F38 003CCB98  64 00 80 00 */	oris r0, r0, 0x8000
/* 803D0F3C 003CCB9C  90 03 02 D4 */	stw r0, 0x2d4(r3)
/* 803D0F40 003CCBA0  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D0F44 003CCBA4  7C 00 FA 14 */	add r0, r0, r31
/* 803D0F48 003CCBA8  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D0F4C 003CCBAC  48 00 00 2C */	b lbl_803D0F78
lbl_803D0F50:
/* 803D0F50 003CCBB0  54 60 10 3A */	slwi r0, r3, 2
/* 803D0F54 003CCBB4  7C 7E 02 14 */	add r3, r30, r0
/* 803D0F58 003CCBB8  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D0F5C 003CCBBC  60 00 00 04 */	ori r0, r0, 4
/* 803D0F60 003CCBC0  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D0F64 003CCBC4  80 85 01 C8 */	lwz r4, 0x1c8(r5)
/* 803D0F68 003CCBC8  54 83 17 BE */	srwi r3, r4, 0x1e
/* 803D0F6C 003CCBCC  38 03 00 01 */	addi r0, r3, 1
/* 803D0F70 003CCBD0  50 04 F0 02 */	rlwimi r4, r0, 0x1e, 0, 1
/* 803D0F74 003CCBD4  90 85 01 C8 */	stw r4, 0x1c8(r5)
lbl_803D0F78:
/* 803D0F78 003CCBD8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0F7C 003CCBDC  38 60 00 00 */	li r3, 0
/* 803D0F80 003CCBE0  4B DF 61 FD */	bl _restgpr_29
/* 803D0F84 003CCBE4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D0F88 003CCBE8  7C 08 03 A6 */	mtlr r0
/* 803D0F8C 003CCBEC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D0F90 003CCBF0  4E 80 00 20 */	blr 
/* 803D0F94 003CCBF4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D0F98 003CCBF8  7C 08 02 A6 */	mflr r0
/* 803D0F9C 003CCBFC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D0FA0 003CCC00  39 61 00 20 */	addi r11, r1, 0x20
/* 803D0FA4 003CCC04  4B DF 61 89 */	bl _savegpr_28
/* 803D0FA8 003CCC08  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D0FAC 003CCC0C  7C 9D 23 78 */	mr r29, r4
/* 803D0FB0 003CCC10  7C 7C 1B 78 */	mr r28, r3
/* 803D0FB4 003CCC14  38 05 00 01 */	addi r0, r5, 1
/* 803D0FB8 003CCC18  7F A3 EB 78 */	mr r3, r29
/* 803D0FBC 003CCC1C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D0FC0 003CCC20  48 00 5E AD */	bl func_803D6E6C
/* 803D0FC4 003CCC24  7C 7E 1B 78 */	mr r30, r3
/* 803D0FC8 003CCC28  7F A3 EB 78 */	mr r3, r29
/* 803D0FCC 003CCC2C  48 00 5E A1 */	bl func_803D6E6C
/* 803D0FD0 003CCC30  7C 7F 1B 78 */	mr r31, r3
/* 803D0FD4 003CCC34  7F 83 E3 78 */	mr r3, r28
/* 803D0FD8 003CCC38  7F A4 EB 78 */	mr r4, r29
/* 803D0FDC 003CCC3C  7F C5 F3 78 */	mr r5, r30
/* 803D0FE0 003CCC40  48 00 70 5D */	bl func_803D803C
/* 803D0FE4 003CCC44  7C 7E 1B 78 */	mr r30, r3
/* 803D0FE8 003CCC48  7F 83 E3 78 */	mr r3, r28
/* 803D0FEC 003CCC4C  7F C4 F3 78 */	mr r4, r30
/* 803D0FF0 003CCC50  4B FD BC F5 */	bl func_803ACCE4
/* 803D0FF4 003CCC54  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803D0FF8 003CCC58  7C 7D 02 14 */	add r3, r29, r0
/* 803D0FFC 003CCC5C  80 03 01 C8 */	lwz r0, 0x1c8(r3)
/* 803D1000 003CCC60  54 04 17 BF */	rlwinm. r4, r0, 2, 0x1e, 0x1f
/* 803D1004 003CCC64  41 82 00 38 */	beq lbl_803D103C
/* 803D1008 003CCC68  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803D100C 003CCC6C  7C 7D 02 14 */	add r3, r29, r0
/* 803D1010 003CCC70  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D1014 003CCC74  2C 00 00 00 */	cmpwi r0, 0
/* 803D1018 003CCC78  41 82 00 24 */	beq lbl_803D103C
/* 803D101C 003CCC7C  20 04 00 05 */	subfic r0, r4, 5
/* 803D1020 003CCC80  54 04 08 3C */	slwi r4, r0, 1
/* 803D1024 003CCC84  90 9D 21 5C */	stw r4, 0x215c(r29)
/* 803D1028 003CCC88  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803D102C 003CCC8C  1C 60 FF FF */	mulli r3, r0, -1
/* 803D1030 003CCC90  4B FE FB 39 */	bl func_803C0B68
/* 803D1034 003CCC94  90 7D 21 5C */	stw r3, 0x215c(r29)
/* 803D1038 003CCC98  48 00 00 10 */	b lbl_803D1048
lbl_803D103C:
/* 803D103C 003CCC9C  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D1040 003CCCA0  7C 00 FA 14 */	add r0, r0, r31
/* 803D1044 003CCCA4  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D1048:
/* 803D1048 003CCCA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D104C 003CCCAC  38 60 00 00 */	li r3, 0
/* 803D1050 003CCCB0  4B DF 61 29 */	bl _restgpr_28
/* 803D1054 003CCCB4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D1058 003CCCB8  7C 08 03 A6 */	mtlr r0
/* 803D105C 003CCCBC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D1060 003CCCC0  4E 80 00 20 */	blr 
/* 803D1064 003CCCC4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D1068 003CCCC8  7C 08 02 A6 */	mflr r0
/* 803D106C 003CCCCC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D1070 003CCCD0  39 61 00 30 */	addi r11, r1, 0x30
/* 803D1074 003CCCD4  4B DF 60 AD */	bl _savegpr_25
/* 803D1078 003CCCD8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D107C 003CCCDC  7C 9F 23 78 */	mr r31, r4
/* 803D1080 003CCCE0  7C 79 1B 78 */	mr r25, r3
/* 803D1084 003CCCE4  38 05 00 01 */	addi r0, r5, 1
/* 803D1088 003CCCE8  7F E3 FB 78 */	mr r3, r31
/* 803D108C 003CCCEC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D1090 003CCCF0  48 00 5D DD */	bl func_803D6E6C
/* 803D1094 003CCCF4  7C 7C 1B 78 */	mr r28, r3
/* 803D1098 003CCCF8  7F 23 CB 78 */	mr r3, r25
/* 803D109C 003CCCFC  4B FD B7 C5 */	bl func_803AC860
/* 803D10A0 003CCD00  90 7F 01 34 */	stw r3, 0x134(r31)
/* 803D10A4 003CCD04  7C 7D 1B 78 */	mr r29, r3
/* 803D10A8 003CCD08  3B 20 00 00 */	li r25, 0
/* 803D10AC 003CCD0C  3B 40 00 00 */	li r26, 0
/* 803D10B0 003CCD10  3B C0 00 00 */	li r30, 0
/* 803D10B4 003CCD14  48 00 00 64 */	b lbl_803D1118
lbl_803D10B8:
/* 803D10B8 003CCD18  7F 7F F2 14 */	add r27, r31, r30
/* 803D10BC 003CCD1C  80 1B 2D C0 */	lwz r0, 0x2dc0(r27)
/* 803D10C0 003CCD20  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803D10C4 003CCD24  40 82 00 2C */	bne lbl_803D10F0
/* 803D10C8 003CCD28  80 1B 2D 8C */	lwz r0, 0x2d8c(r27)
/* 803D10CC 003CCD2C  2C 00 00 00 */	cmpwi r0, 0
/* 803D10D0 003CCD30  41 82 00 20 */	beq lbl_803D10F0
/* 803D10D4 003CCD34  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D10D8 003CCD38  7F E3 FB 78 */	mr r3, r31
/* 803D10DC 003CCD3C  7F 45 D3 78 */	mr r5, r26
/* 803D10E0 003CCD40  38 C0 00 2B */	li r6, 0x2b
/* 803D10E4 003CCD44  4B FE EA AD */	bl func_803BFB90
/* 803D10E8 003CCD48  2C 03 00 01 */	cmpwi r3, 1
/* 803D10EC 003CCD4C  40 82 00 0C */	bne lbl_803D10F8
lbl_803D10F0:
/* 803D10F0 003CCD50  3B 39 00 01 */	addi r25, r25, 1
/* 803D10F4 003CCD54  48 00 00 1C */	b lbl_803D1110
lbl_803D10F8:
/* 803D10F8 003CCD58  80 1B 2D C0 */	lwz r0, 0x2dc0(r27)
/* 803D10FC 003CCD5C  60 00 00 20 */	ori r0, r0, 0x20
/* 803D1100 003CCD60  90 1B 2D C0 */	stw r0, 0x2dc0(r27)
/* 803D1104 003CCD64  80 1B 2D C8 */	lwz r0, 0x2dc8(r27)
/* 803D1108 003CCD68  64 00 00 06 */	oris r0, r0, 6
/* 803D110C 003CCD6C  90 1B 2D C8 */	stw r0, 0x2dc8(r27)
lbl_803D1110:
/* 803D1110 003CCD70  3B 5A 00 01 */	addi r26, r26, 1
/* 803D1114 003CCD74  3B DE 00 C0 */	addi r30, r30, 0xc0
lbl_803D1118:
/* 803D1118 003CCD78  7C 1A E8 00 */	cmpw r26, r29
/* 803D111C 003CCD7C  41 80 FF 9C */	blt lbl_803D10B8
/* 803D1120 003CCD80  7C 19 E8 00 */	cmpw r25, r29
/* 803D1124 003CCD84  40 82 00 10 */	bne lbl_803D1134
/* 803D1128 003CCD88  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D112C 003CCD8C  7C 00 E2 14 */	add r0, r0, r28
/* 803D1130 003CCD90  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D1134:
/* 803D1134 003CCD94  39 61 00 30 */	addi r11, r1, 0x30
/* 803D1138 003CCD98  38 60 00 00 */	li r3, 0
/* 803D113C 003CCD9C  4B DF 60 31 */	bl _restgpr_25
/* 803D1140 003CCDA0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D1144 003CCDA4  7C 08 03 A6 */	mtlr r0
/* 803D1148 003CCDA8  38 21 00 30 */	addi r1, r1, 0x30
/* 803D114C 003CCDAC  4E 80 00 20 */	blr 
/* 803D1150 003CCDB0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D1154 003CCDB4  7C 08 02 A6 */	mflr r0
/* 803D1158 003CCDB8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D115C 003CCDBC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D1160 003CCDC0  7C 9F 23 78 */	mr r31, r4
/* 803D1164 003CCDC4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D1168 003CCDC8  7C 7E 1B 78 */	mr r30, r3
/* 803D116C 003CCDCC  7F E3 FB 78 */	mr r3, r31
/* 803D1170 003CCDD0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D1174 003CCDD4  38 05 00 01 */	addi r0, r5, 1
/* 803D1178 003CCDD8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D117C 003CCDDC  48 00 5C F1 */	bl func_803D6E6C
/* 803D1180 003CCDE0  7C 65 1B 78 */	mr r5, r3
/* 803D1184 003CCDE4  7F C3 F3 78 */	mr r3, r30
/* 803D1188 003CCDE8  7F E4 FB 78 */	mr r4, r31
/* 803D118C 003CCDEC  48 00 5D 01 */	bl func_803D6E8C
/* 803D1190 003CCDF0  80 1F 31 04 */	lwz r0, 0x3104(r31)
/* 803D1194 003CCDF4  7C 9F 02 14 */	add r4, r31, r0
/* 803D1198 003CCDF8  88 04 21 EC */	lbz r0, 0x21ec(r4)
/* 803D119C 003CCDFC  90 03 00 00 */	stw r0, 0(r3)
/* 803D11A0 003CCE00  38 60 00 00 */	li r3, 0
/* 803D11A4 003CCE04  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D11A8 003CCE08  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D11AC 003CCE0C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D11B0 003CCE10  7C 08 03 A6 */	mtlr r0
/* 803D11B4 003CCE14  38 21 00 10 */	addi r1, r1, 0x10
/* 803D11B8 003CCE18  4E 80 00 20 */	blr 
/* 803D11BC 003CCE1C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D11C0 003CCE20  7C 08 02 A6 */	mflr r0
/* 803D11C4 003CCE24  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D11C8 003CCE28  39 61 00 20 */	addi r11, r1, 0x20
/* 803D11CC 003CCE2C  4B DF 5F 61 */	bl _savegpr_28
/* 803D11D0 003CCE30  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D11D4 003CCE34  7C 9D 23 78 */	mr r29, r4
/* 803D11D8 003CCE38  7C 7C 1B 78 */	mr r28, r3
/* 803D11DC 003CCE3C  38 05 00 01 */	addi r0, r5, 1
/* 803D11E0 003CCE40  7F A3 EB 78 */	mr r3, r29
/* 803D11E4 003CCE44  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D11E8 003CCE48  48 00 5C 85 */	bl func_803D6E6C
/* 803D11EC 003CCE4C  7C 7F 1B 78 */	mr r31, r3
/* 803D11F0 003CCE50  7F A3 EB 78 */	mr r3, r29
/* 803D11F4 003CCE54  48 00 5C 79 */	bl func_803D6E6C
/* 803D11F8 003CCE58  7C 7E 1B 78 */	mr r30, r3
/* 803D11FC 003CCE5C  7F 83 E3 78 */	mr r3, r28
/* 803D1200 003CCE60  7F A4 EB 78 */	mr r4, r29
/* 803D1204 003CCE64  7F E5 FB 78 */	mr r5, r31
/* 803D1208 003CCE68  48 00 5C 85 */	bl func_803D6E8C
/* 803D120C 003CCE6C  7C 7F 1B 78 */	mr r31, r3
/* 803D1210 003CCE70  7F 83 E3 78 */	mr r3, r28
/* 803D1214 003CCE74  4B FD B6 4D */	bl func_803AC860
/* 803D1218 003CCE78  80 1F 00 00 */	lwz r0, 0(r31)
/* 803D121C 003CCE7C  7C 00 18 40 */	cmplw r0, r3
/* 803D1220 003CCE80  40 80 00 10 */	bge lbl_803D1230
/* 803D1224 003CCE84  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D1228 003CCE88  7C 00 F2 14 */	add r0, r0, r30
/* 803D122C 003CCE8C  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D1230:
/* 803D1230 003CCE90  39 61 00 20 */	addi r11, r1, 0x20
/* 803D1234 003CCE94  38 60 00 00 */	li r3, 0
/* 803D1238 003CCE98  4B DF 5F 41 */	bl _restgpr_28
/* 803D123C 003CCE9C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D1240 003CCEA0  7C 08 03 A6 */	mtlr r0
/* 803D1244 003CCEA4  38 21 00 20 */	addi r1, r1, 0x20
/* 803D1248 003CCEA8  4E 80 00 20 */	blr 
/* 803D124C 003CCEAC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D1250 003CCEB0  7C 08 02 A6 */	mflr r0
/* 803D1254 003CCEB4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D1258 003CCEB8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D125C 003CCEBC  4B DF 5E C9 */	bl _savegpr_26
/* 803D1260 003CCEC0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D1264 003CCEC4  7C 9C 23 78 */	mr r28, r4
/* 803D1268 003CCEC8  7C 7A 1B 78 */	mr r26, r3
/* 803D126C 003CCECC  38 05 00 01 */	addi r0, r5, 1
/* 803D1270 003CCED0  7F 83 E3 78 */	mr r3, r28
/* 803D1274 003CCED4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D1278 003CCED8  48 00 5B F5 */	bl func_803D6E6C
/* 803D127C 003CCEDC  7C 65 1B 78 */	mr r5, r3
/* 803D1280 003CCEE0  7F 43 D3 78 */	mr r3, r26
/* 803D1284 003CCEE4  7F 84 E3 78 */	mr r4, r28
/* 803D1288 003CCEE8  48 00 6D B5 */	bl func_803D803C
/* 803D128C 003CCEEC  38 00 00 00 */	li r0, 0
/* 803D1290 003CCEF0  7C 7D 1B 78 */	mr r29, r3
/* 803D1294 003CCEF4  90 1C 01 38 */	stw r0, 0x138(r28)
/* 803D1298 003CCEF8  7F 83 E3 78 */	mr r3, r28
/* 803D129C 003CCEFC  7F A4 EB 78 */	mr r4, r29
/* 803D12A0 003CCF00  38 A0 00 1B */	li r5, 0x1b
/* 803D12A4 003CCF04  90 1C 21 5C */	stw r0, 0x215c(r28)
/* 803D12A8 003CCF08  38 C0 00 00 */	li r6, 0
/* 803D12AC 003CCF0C  4B FE 99 F9 */	bl func_803BACA4
/* 803D12B0 003CCF10  7C 7E 1B 78 */	mr r30, r3
/* 803D12B4 003CCF14  7F 83 E3 78 */	mr r3, r28
/* 803D12B8 003CCF18  7F A4 EB 78 */	mr r4, r29
/* 803D12BC 003CCF1C  38 A0 00 1C */	li r5, 0x1c
/* 803D12C0 003CCF20  38 C0 00 00 */	li r6, 0
/* 803D12C4 003CCF24  4B FE 99 E1 */	bl func_803BACA4
/* 803D12C8 003CCF28  7C 7F 1B 78 */	mr r31, r3
/* 803D12CC 003CCF2C  7F 43 D3 78 */	mr r3, r26
/* 803D12D0 003CCF30  7F 84 E3 78 */	mr r4, r28
/* 803D12D4 003CCF34  38 A0 00 08 */	li r5, 8
/* 803D12D8 003CCF38  38 C0 00 00 */	li r6, 0
/* 803D12DC 003CCF3C  38 E0 00 0D */	li r7, 0xd
/* 803D12E0 003CCF40  4B FE E0 A1 */	bl func_803BF380
/* 803D12E4 003CCF44  2C 03 00 00 */	cmpwi r3, 0
/* 803D12E8 003CCF48  40 82 03 3C */	bne lbl_803D1624
/* 803D12EC 003CCF4C  7F 43 D3 78 */	mr r3, r26
/* 803D12F0 003CCF50  7F 84 E3 78 */	mr r4, r28
/* 803D12F4 003CCF54  38 A0 00 08 */	li r5, 8
/* 803D12F8 003CCF58  38 C0 00 00 */	li r6, 0
/* 803D12FC 003CCF5C  38 E0 00 4C */	li r7, 0x4c
/* 803D1300 003CCF60  4B FE E0 81 */	bl func_803BF380
/* 803D1304 003CCF64  2C 03 00 00 */	cmpwi r3, 0
/* 803D1308 003CCF68  40 82 03 1C */	bne lbl_803D1624
/* 803D130C 003CCF6C  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803D1310 003CCF70  54 00 07 3B */	rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 803D1314 003CCF74  41 82 00 90 */	beq lbl_803D13A4
/* 803D1318 003CCF78  2C 1E 00 05 */	cmpwi r30, 5
/* 803D131C 003CCF7C  41 82 00 88 */	beq lbl_803D13A4
/* 803D1320 003CCF80  2C 1F 00 05 */	cmpwi r31, 5
/* 803D1324 003CCF84  41 82 00 80 */	beq lbl_803D13A4
/* 803D1328 003CCF88  2C 1E 00 08 */	cmpwi r30, 8
/* 803D132C 003CCF8C  41 82 00 78 */	beq lbl_803D13A4
/* 803D1330 003CCF90  2C 1F 00 08 */	cmpwi r31, 8
/* 803D1334 003CCF94  41 82 00 70 */	beq lbl_803D13A4
/* 803D1338 003CCF98  2C 1E 00 04 */	cmpwi r30, 4
/* 803D133C 003CCF9C  41 82 00 68 */	beq lbl_803D13A4
/* 803D1340 003CCFA0  2C 1F 00 04 */	cmpwi r31, 4
/* 803D1344 003CCFA4  41 82 00 60 */	beq lbl_803D13A4
/* 803D1348 003CCFA8  1F 7D 00 C0 */	mulli r27, r29, 0xc0
/* 803D134C 003CCFAC  7C 7C DA 14 */	add r3, r28, r27
/* 803D1350 003CCFB0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D1354 003CCFB4  2C 00 00 00 */	cmpwi r0, 0
/* 803D1358 003CCFB8  41 82 00 4C */	beq lbl_803D13A4
/* 803D135C 003CCFBC  7F 83 E3 78 */	mr r3, r28
/* 803D1360 003CCFC0  7F A4 EB 78 */	mr r4, r29
/* 803D1364 003CCFC4  4B FE E7 B5 */	bl func_803BFB18
/* 803D1368 003CCFC8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D136C 003CCFCC  28 00 00 08 */	cmplwi r0, 8
/* 803D1370 003CCFD0  41 82 00 34 */	beq lbl_803D13A4
/* 803D1374 003CCFD4  7C BC DA 14 */	add r5, r28, r27
/* 803D1378 003CCFD8  80 65 2D C0 */	lwz r3, 0x2dc0(r5)
/* 803D137C 003CCFDC  54 60 03 5A */	rlwinm r0, r3, 0, 0xd, 0xd
/* 803D1380 003CCFE0  50 60 06 31 */	rlwimi. r0, r3, 0, 0x18, 0x18
/* 803D1384 003CCFE4  40 82 00 20 */	bne lbl_803D13A4
/* 803D1388 003CCFE8  38 00 00 C9 */	li r0, 0xc9
/* 803D138C 003CCFEC  38 80 00 10 */	li r4, 0x10
/* 803D1390 003CCFF0  90 1C 01 24 */	stw r0, 0x124(r28)
/* 803D1394 003CCFF4  80 05 2D 90 */	lwz r0, 0x2d90(r5)
/* 803D1398 003CCFF8  1C 60 FF FF */	mulli r3, r0, -1
/* 803D139C 003CCFFC  4B FE F7 CD */	bl func_803C0B68
/* 803D13A0 003CD000  90 7C 21 5C */	stw r3, 0x215c(r28)
lbl_803D13A4:
/* 803D13A4 003CD004  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803D13A8 003CD008  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803D13AC 003CD00C  41 82 00 90 */	beq lbl_803D143C
/* 803D13B0 003CD010  1F 7D 00 C0 */	mulli r27, r29, 0xc0
/* 803D13B4 003CD014  7C 7C DA 14 */	add r3, r28, r27
/* 803D13B8 003CD018  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D13BC 003CD01C  2C 00 00 00 */	cmpwi r0, 0
/* 803D13C0 003CD020  41 82 00 7C */	beq lbl_803D143C
/* 803D13C4 003CD024  80 63 2D C0 */	lwz r3, 0x2dc0(r3)
/* 803D13C8 003CD028  54 60 03 5A */	rlwinm r0, r3, 0, 0xd, 0xd
/* 803D13CC 003CD02C  50 60 06 31 */	rlwimi. r0, r3, 0, 0x18, 0x18
/* 803D13D0 003CD030  40 82 00 6C */	bne lbl_803D143C
/* 803D13D4 003CD034  7F 83 E3 78 */	mr r3, r28
/* 803D13D8 003CD038  7F A4 EB 78 */	mr r4, r29
/* 803D13DC 003CD03C  4B FE E7 3D */	bl func_803BFB18
/* 803D13E0 003CD040  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D13E4 003CD044  28 00 00 57 */	cmplwi r0, 0x57
/* 803D13E8 003CD048  41 82 00 1C */	beq lbl_803D1404
/* 803D13EC 003CD04C  7F 83 E3 78 */	mr r3, r28
/* 803D13F0 003CD050  7F A4 EB 78 */	mr r4, r29
/* 803D13F4 003CD054  4B FE E7 25 */	bl func_803BFB18
/* 803D13F8 003CD058  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D13FC 003CD05C  28 00 00 5E */	cmplwi r0, 0x5e
/* 803D1400 003CD060  40 82 00 1C */	bne lbl_803D141C
lbl_803D1404:
/* 803D1404 003CD064  7C 7C DA 14 */	add r3, r28, r27
/* 803D1408 003CD068  38 80 00 08 */	li r4, 8
/* 803D140C 003CD06C  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803D1410 003CD070  1C 60 FF FF */	mulli r3, r0, -1
/* 803D1414 003CD074  4B FE F7 55 */	bl func_803C0B68
/* 803D1418 003CD078  90 7C 21 5C */	stw r3, 0x215c(r28)
lbl_803D141C:
/* 803D141C 003CD07C  7F 83 E3 78 */	mr r3, r28
/* 803D1420 003CD080  7F A4 EB 78 */	mr r4, r29
/* 803D1424 003CD084  4B FE E6 F5 */	bl func_803BFB18
/* 803D1428 003CD088  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D142C 003CD08C  28 00 00 5E */	cmplwi r0, 0x5e
/* 803D1430 003CD090  40 82 00 0C */	bne lbl_803D143C
/* 803D1434 003CD094  38 00 00 02 */	li r0, 2
/* 803D1438 003CD098  90 1C 01 38 */	stw r0, 0x138(r28)
lbl_803D143C:
/* 803D143C 003CD09C  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803D1440 003CD0A0  54 00 06 33 */	rlwinm. r0, r0, 0, 0x18, 0x19
/* 803D1444 003CD0A4  41 82 00 A4 */	beq lbl_803D14E8
/* 803D1448 003CD0A8  1F 5D 00 C0 */	mulli r26, r29, 0xc0
/* 803D144C 003CD0AC  7F 7C D2 14 */	add r27, r28, r26
/* 803D1450 003CD0B0  80 1B 2D 8C */	lwz r0, 0x2d8c(r27)
/* 803D1454 003CD0B4  2C 00 00 00 */	cmpwi r0, 0
/* 803D1458 003CD0B8  41 82 00 90 */	beq lbl_803D14E8
/* 803D145C 003CD0BC  80 7B 2D C0 */	lwz r3, 0x2dc0(r27)
/* 803D1460 003CD0C0  54 60 03 5A */	rlwinm r0, r3, 0, 0xd, 0xd
/* 803D1464 003CD0C4  50 60 06 31 */	rlwimi. r0, r3, 0, 0x18, 0x18
/* 803D1468 003CD0C8  40 82 00 80 */	bne lbl_803D14E8
/* 803D146C 003CD0CC  7F 83 E3 78 */	mr r3, r28
/* 803D1470 003CD0D0  7F A4 EB 78 */	mr r4, r29
/* 803D1474 003CD0D4  4B FE E6 A5 */	bl func_803BFB18
/* 803D1478 003CD0D8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D147C 003CD0DC  28 00 00 73 */	cmplwi r0, 0x73
/* 803D1480 003CD0E0  40 82 00 24 */	bne lbl_803D14A4
/* 803D1484 003CD0E4  80 1B 2D 8C */	lwz r0, 0x2d8c(r27)
/* 803D1488 003CD0E8  80 7B 2D 90 */	lwz r3, 0x2d90(r27)
/* 803D148C 003CD0EC  7C 00 18 40 */	cmplw r0, r3
/* 803D1490 003CD0F0  40 80 00 58 */	bge lbl_803D14E8
/* 803D1494 003CD0F4  38 80 00 10 */	li r4, 0x10
/* 803D1498 003CD0F8  4B FE F6 D1 */	bl func_803C0B68
/* 803D149C 003CD0FC  90 7C 21 5C */	stw r3, 0x215c(r28)
/* 803D14A0 003CD100  48 00 00 48 */	b lbl_803D14E8
lbl_803D14A4:
/* 803D14A4 003CD104  2C 1E 00 0F */	cmpwi r30, 0xf
/* 803D14A8 003CD108  41 82 00 40 */	beq lbl_803D14E8
/* 803D14AC 003CD10C  2C 1F 00 0F */	cmpwi r31, 0xf
/* 803D14B0 003CD110  41 82 00 38 */	beq lbl_803D14E8
/* 803D14B4 003CD114  7F 83 E3 78 */	mr r3, r28
/* 803D14B8 003CD118  7F A4 EB 78 */	mr r4, r29
/* 803D14BC 003CD11C  4B FE E6 5D */	bl func_803BFB18
/* 803D14C0 003CD120  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D14C4 003CD124  28 00 00 51 */	cmplwi r0, 0x51
/* 803D14C8 003CD128  41 82 00 20 */	beq lbl_803D14E8
/* 803D14CC 003CD12C  38 00 01 02 */	li r0, 0x102
/* 803D14D0 003CD130  38 80 00 10 */	li r4, 0x10
/* 803D14D4 003CD134  90 1C 01 24 */	stw r0, 0x124(r28)
/* 803D14D8 003CD138  80 1B 2D 90 */	lwz r0, 0x2d90(r27)
/* 803D14DC 003CD13C  1C 60 FF FF */	mulli r3, r0, -1
/* 803D14E0 003CD140  4B FE F6 89 */	bl func_803C0B68
/* 803D14E4 003CD144  90 7C 21 5C */	stw r3, 0x215c(r28)
lbl_803D14E8:
/* 803D14E8 003CD148  80 1C 01 80 */	lwz r0, 0x180(r28)
/* 803D14EC 003CD14C  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 803D14F0 003CD150  41 82 01 34 */	beq lbl_803D1624
/* 803D14F4 003CD154  1F 5D 00 C0 */	mulli r26, r29, 0xc0
/* 803D14F8 003CD158  7F FC D2 14 */	add r31, r28, r26
/* 803D14FC 003CD15C  80 7F 2D 8C */	lwz r3, 0x2d8c(r31)
/* 803D1500 003CD160  2C 03 00 00 */	cmpwi r3, 0
/* 803D1504 003CD164  41 82 00 38 */	beq lbl_803D153C
/* 803D1508 003CD168  80 1F 2D 90 */	lwz r0, 0x2d90(r31)
/* 803D150C 003CD16C  7C 03 00 40 */	cmplw r3, r0
/* 803D1510 003CD170  40 80 00 2C */	bge lbl_803D153C
/* 803D1514 003CD174  7F 83 E3 78 */	mr r3, r28
/* 803D1518 003CD178  7F A4 EB 78 */	mr r4, r29
/* 803D151C 003CD17C  4B FE E5 FD */	bl func_803BFB18
/* 803D1520 003CD180  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D1524 003CD184  28 00 00 2C */	cmplwi r0, 0x2c
/* 803D1528 003CD188  40 82 00 14 */	bne lbl_803D153C
/* 803D152C 003CD18C  80 7F 2D 90 */	lwz r3, 0x2d90(r31)
/* 803D1530 003CD190  38 80 00 10 */	li r4, 0x10
/* 803D1534 003CD194  4B FE F6 35 */	bl func_803C0B68
/* 803D1538 003CD198  90 7C 21 5C */	stw r3, 0x215c(r28)
lbl_803D153C:
/* 803D153C 003CD19C  80 7F 2D 8C */	lwz r3, 0x2d8c(r31)
/* 803D1540 003CD1A0  2C 03 00 00 */	cmpwi r3, 0
/* 803D1544 003CD1A4  41 82 00 3C */	beq lbl_803D1580
/* 803D1548 003CD1A8  7F DC D2 14 */	add r30, r28, r26
/* 803D154C 003CD1AC  80 1E 2D 90 */	lwz r0, 0x2d90(r30)
/* 803D1550 003CD1B0  7C 03 00 40 */	cmplw r3, r0
/* 803D1554 003CD1B4  40 80 00 2C */	bge lbl_803D1580
/* 803D1558 003CD1B8  7F 83 E3 78 */	mr r3, r28
/* 803D155C 003CD1BC  7F A4 EB 78 */	mr r4, r29
/* 803D1560 003CD1C0  4B FE E5 B9 */	bl func_803BFB18
/* 803D1564 003CD1C4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D1568 003CD1C8  28 00 00 57 */	cmplwi r0, 0x57
/* 803D156C 003CD1CC  40 82 00 14 */	bne lbl_803D1580
/* 803D1570 003CD1D0  80 7E 2D 90 */	lwz r3, 0x2d90(r30)
/* 803D1574 003CD1D4  38 80 00 08 */	li r4, 8
/* 803D1578 003CD1D8  4B FE F5 F1 */	bl func_803C0B68
/* 803D157C 003CD1DC  90 7C 21 5C */	stw r3, 0x215c(r28)
lbl_803D1580:
/* 803D1580 003CD1E0  80 1F 2D 8C */	lwz r0, 0x2d8c(r31)
/* 803D1584 003CD1E4  2C 00 00 00 */	cmpwi r0, 0
/* 803D1588 003CD1E8  41 82 00 9C */	beq lbl_803D1624
/* 803D158C 003CD1EC  7F DC D2 14 */	add r30, r28, r26
/* 803D1590 003CD1F0  80 1E 2D AC */	lwz r0, 0x2dac(r30)
/* 803D1594 003CD1F4  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 803D1598 003CD1F8  41 82 00 8C */	beq lbl_803D1624
/* 803D159C 003CD1FC  7F 83 E3 78 */	mr r3, r28
/* 803D15A0 003CD200  7F A4 EB 78 */	mr r4, r29
/* 803D15A4 003CD204  4B FE E5 75 */	bl func_803BFB18
/* 803D15A8 003CD208  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D15AC 003CD20C  28 00 00 5D */	cmplwi r0, 0x5d
/* 803D15B0 003CD210  40 82 00 74 */	bne lbl_803D1624
/* 803D15B4 003CD214  80 7E 2D AC */	lwz r3, 0x2dac(r30)
/* 803D15B8 003CD218  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803D15BC 003CD21C  41 82 00 10 */	beq lbl_803D15CC
/* 803D15C0 003CD220  38 00 00 00 */	li r0, 0
/* 803D15C4 003CD224  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803D15C8 003CD228  48 00 00 48 */	b lbl_803D1610
lbl_803D15CC:
/* 803D15CC 003CD22C  70 60 0F 88 */	andi. r0, r3, 0xf88
/* 803D15D0 003CD230  41 82 00 10 */	beq lbl_803D15E0
/* 803D15D4 003CD234  38 00 00 01 */	li r0, 1
/* 803D15D8 003CD238  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803D15DC 003CD23C  48 00 00 34 */	b lbl_803D1610
lbl_803D15E0:
/* 803D15E0 003CD240  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 803D15E4 003CD244  41 82 00 10 */	beq lbl_803D15F4
/* 803D15E8 003CD248  38 00 00 02 */	li r0, 2
/* 803D15EC 003CD24C  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803D15F0 003CD250  48 00 00 20 */	b lbl_803D1610
lbl_803D15F4:
/* 803D15F4 003CD254  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 803D15F8 003CD258  41 82 00 10 */	beq lbl_803D1608
/* 803D15FC 003CD25C  38 00 00 03 */	li r0, 3
/* 803D1600 003CD260  90 1C 01 30 */	stw r0, 0x130(r28)
/* 803D1604 003CD264  48 00 00 0C */	b lbl_803D1610
lbl_803D1608:
/* 803D1608 003CD268  38 00 00 04 */	li r0, 4
/* 803D160C 003CD26C  90 1C 01 30 */	stw r0, 0x130(r28)
lbl_803D1610:
/* 803D1610 003CD270  38 00 00 01 */	li r0, 1
/* 803D1614 003CD274  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803D1618 003CD278  90 1C 01 38 */	stw r0, 0x138(r28)
/* 803D161C 003CD27C  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803D1620 003CD280  93 A3 00 0C */	stw r29, 0xc(r3)
lbl_803D1624:
/* 803D1624 003CD284  39 61 00 20 */	addi r11, r1, 0x20
/* 803D1628 003CD288  38 60 00 00 */	li r3, 0
/* 803D162C 003CD28C  4B DF 5B 45 */	bl _restgpr_26
/* 803D1630 003CD290  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D1634 003CD294  7C 08 03 A6 */	mtlr r0
/* 803D1638 003CD298  38 21 00 20 */	addi r1, r1, 0x20
/* 803D163C 003CD29C  4E 80 00 20 */	blr 
/* 803D1640 003CD2A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D1644 003CD2A4  7C 08 02 A6 */	mflr r0
/* 803D1648 003CD2A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D164C 003CD2AC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D1650 003CD2B0  7C 9F 23 78 */	mr r31, r4
/* 803D1654 003CD2B4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D1658 003CD2B8  7C 7E 1B 78 */	mr r30, r3
/* 803D165C 003CD2BC  80 E4 00 64 */	lwz r7, 0x64(r4)
/* 803D1660 003CD2C0  80 C4 00 B4 */	lwz r6, 0xb4(r4)
/* 803D1664 003CD2C4  1C A7 00 C0 */	mulli r5, r7, 0xc0
/* 803D1668 003CD2C8  38 06 00 01 */	addi r0, r6, 1
/* 803D166C 003CD2CC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D1670 003CD2D0  7C A4 2A 14 */	add r5, r4, r5
/* 803D1674 003CD2D4  1C 07 00 1C */	mulli r0, r7, 0x1c
/* 803D1678 003CD2D8  80 C5 2D C8 */	lwz r6, 0x2dc8(r5)
/* 803D167C 003CD2DC  7C A4 02 14 */	add r5, r4, r0
/* 803D1680 003CD2E0  80 05 02 D4 */	lwz r0, 0x2d4(r5)
/* 803D1684 003CD2E4  50 C0 49 90 */	rlwimi r0, r6, 9, 6, 8
/* 803D1688 003CD2E8  90 05 02 D4 */	stw r0, 0x2d4(r5)
/* 803D168C 003CD2EC  80 A4 00 64 */	lwz r5, 0x64(r4)
/* 803D1690 003CD2F0  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803D1694 003CD2F4  7C C4 02 14 */	add r6, r4, r0
/* 803D1698 003CD2F8  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803D169C 003CD2FC  54 00 04 E7 */	rlwinm. r0, r0, 0, 0x13, 0x13
/* 803D16A0 003CD300  40 82 00 24 */	bne lbl_803D16C4
/* 803D16A4 003CD304  4B FE BC F9 */	bl func_803BD39C
/* 803D16A8 003CD308  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D16AC 003CD30C  38 80 00 05 */	li r4, 5
/* 803D16B0 003CD310  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D16B4 003CD314  7C 7F 02 14 */	add r3, r31, r0
/* 803D16B8 003CD318  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803D16BC 003CD31C  50 80 73 E2 */	rlwimi r0, r4, 0xe, 0xf, 0x11
/* 803D16C0 003CD320  90 03 2D C8 */	stw r0, 0x2dc8(r3)
lbl_803D16C4:
/* 803D16C4 003CD324  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D16C8 003CD328  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D16CC 003CD32C  7C BF 02 14 */	add r5, r31, r0
/* 803D16D0 003CD330  80 85 2D C8 */	lwz r4, 0x2dc8(r5)
/* 803D16D4 003CD334  54 83 97 7E */	rlwinm r3, r4, 0x12, 0x1d, 0x1f
/* 803D16D8 003CD338  38 03 FF FF */	addi r0, r3, -1
/* 803D16DC 003CD33C  50 04 73 E2 */	rlwimi r4, r0, 0xe, 0xf, 0x11
/* 803D16E0 003CD340  54 80 97 7F */	rlwinm. r0, r4, 0x12, 0x1d, 0x1f
/* 803D16E4 003CD344  90 85 2D C8 */	stw r4, 0x2dc8(r5)
/* 803D16E8 003CD348  40 82 00 14 */	bne lbl_803D16FC
/* 803D16EC 003CD34C  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803D16F0 003CD350  7F C3 F3 78 */	mr r3, r30
/* 803D16F4 003CD354  7F E4 FB 78 */	mr r4, r31
/* 803D16F8 003CD358  4B FE BC CD */	bl func_803BD3C4
lbl_803D16FC:
/* 803D16FC 003CD35C  80 7F 30 44 */	lwz r3, 0x3044(r31)
/* 803D1700 003CD360  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D1704 003CD364  54 63 20 36 */	slwi r3, r3, 4
/* 803D1708 003CD368  7C 7F 1A 14 */	add r3, r31, r3
/* 803D170C 003CD36C  88 63 03 E1 */	lbz r3, 0x3e1(r3)
/* 803D1710 003CD370  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1714 003CD374  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1718 003CD378  7C 7F 02 14 */	add r3, r31, r0
/* 803D171C 003CD37C  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803D1720 003CD380  54 00 97 7E */	rlwinm r0, r0, 0x12, 0x1d, 0x1f
/* 803D1724 003CD384  20 60 00 05 */	subfic r3, r0, 5
/* 803D1728 003CD388  38 03 FF FF */	addi r0, r3, -1
/* 803D172C 003CD38C  7C 09 03 A6 */	mtctr r0
/* 803D1730 003CD390  2C 03 00 01 */	cmpwi r3, 1
/* 803D1734 003CD394  40 81 00 14 */	ble lbl_803D1748
lbl_803D1738:
/* 803D1738 003CD398  80 1F 21 54 */	lwz r0, 0x2154(r31)
/* 803D173C 003CD39C  54 00 08 3C */	slwi r0, r0, 1
/* 803D1740 003CD3A0  90 1F 21 54 */	stw r0, 0x2154(r31)
/* 803D1744 003CD3A4  42 00 FF F4 */	bdnz lbl_803D1738
lbl_803D1748:
/* 803D1748 003CD3A8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D174C 003CD3AC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1750 003CD3B0  7C 7F 02 14 */	add r3, r31, r0
/* 803D1754 003CD3B4  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D1758 003CD3B8  54 00 00 43 */	rlwinm. r0, r0, 0, 1, 1
/* 803D175C 003CD3BC  41 82 00 10 */	beq lbl_803D176C
/* 803D1760 003CD3C0  80 1F 21 54 */	lwz r0, 0x2154(r31)
/* 803D1764 003CD3C4  54 00 08 3C */	slwi r0, r0, 1
/* 803D1768 003CD3C8  90 1F 21 54 */	stw r0, 0x2154(r31)
lbl_803D176C:
/* 803D176C 003CD3CC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D1770 003CD3D0  38 60 00 00 */	li r3, 0
/* 803D1774 003CD3D4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D1778 003CD3D8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D177C 003CD3DC  7C 08 03 A6 */	mtlr r0
/* 803D1780 003CD3E0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D1784 003CD3E4  4E 80 00 20 */	blr 
/* 803D1788 003CD3E8  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D178C 003CD3EC  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D1790 003CD3F0  1C A0 00 C0 */	mulli r5, r0, 0xc0
/* 803D1794 003CD3F4  38 03 00 01 */	addi r0, r3, 1
/* 803D1798 003CD3F8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D179C 003CD3FC  7C A4 2A 14 */	add r5, r4, r5
/* 803D17A0 003CD400  80 65 2D C8 */	lwz r3, 0x2dc8(r5)
/* 803D17A4 003CD404  54 66 AF 7E */	rlwinm r6, r3, 0x15, 0x1d, 0x1f
/* 803D17A8 003CD408  28 06 00 05 */	cmplwi r6, 5
/* 803D17AC 003CD40C  40 80 00 10 */	bge lbl_803D17BC
/* 803D17B0 003CD410  38 06 00 01 */	addi r0, r6, 1
/* 803D17B4 003CD414  50 03 5C A8 */	rlwimi r3, r0, 0xb, 0x12, 0x14
/* 803D17B8 003CD418  90 65 2D C8 */	stw r3, 0x2dc8(r5)
lbl_803D17BC:
/* 803D17BC 003CD41C  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803D17C0 003CD420  38 A0 00 01 */	li r5, 1
/* 803D17C4 003CD424  54 00 20 36 */	slwi r0, r0, 4
/* 803D17C8 003CD428  7C 64 02 14 */	add r3, r4, r0
/* 803D17CC 003CD42C  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D17D0 003CD430  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D17D4 003CD434  48 00 00 14 */	b lbl_803D17E8
lbl_803D17D8:
/* 803D17D8 003CD438  80 04 21 54 */	lwz r0, 0x2154(r4)
/* 803D17DC 003CD43C  38 A5 00 01 */	addi r5, r5, 1
/* 803D17E0 003CD440  54 00 08 3C */	slwi r0, r0, 1
/* 803D17E4 003CD444  90 04 21 54 */	stw r0, 0x2154(r4)
lbl_803D17E8:
/* 803D17E8 003CD448  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D17EC 003CD44C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D17F0 003CD450  7C 64 02 14 */	add r3, r4, r0
/* 803D17F4 003CD454  80 03 2D C8 */	lwz r0, 0x2dc8(r3)
/* 803D17F8 003CD458  54 00 AF 7E */	rlwinm r0, r0, 0x15, 0x1d, 0x1f
/* 803D17FC 003CD45C  7C 05 00 40 */	cmplw r5, r0
/* 803D1800 003CD460  41 80 FF D8 */	blt lbl_803D17D8
/* 803D1804 003CD464  38 60 00 00 */	li r3, 0
/* 803D1808 003CD468  4E 80 00 20 */	blr 
/* 803D180C 003CD46C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D1810 003CD470  7C 08 02 A6 */	mflr r0
/* 803D1814 003CD474  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D1818 003CD478  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D181C 003CD47C  7C 9F 23 78 */	mr r31, r4
/* 803D1820 003CD480  7F E3 FB 78 */	mr r3, r31
/* 803D1824 003CD484  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D1828 003CD488  38 05 00 01 */	addi r0, r5, 1
/* 803D182C 003CD48C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D1830 003CD490  48 00 56 3D */	bl func_803D6E6C
/* 803D1834 003CD494  80 1F 00 94 */	lwz r0, 0x94(r31)
/* 803D1838 003CD498  80 FF 01 18 */	lwz r7, 0x118(r31)
/* 803D183C 003CD49C  1C 80 00 C0 */	mulli r4, r0, 0xc0
/* 803D1840 003CD4A0  7C DF 22 14 */	add r6, r31, r4
/* 803D1844 003CD4A4  1C 07 00 C0 */	mulli r0, r7, 0xc0
/* 803D1848 003CD4A8  88 A6 2D BE */	lbz r5, 0x2dbe(r6)
/* 803D184C 003CD4AC  54 A5 E7 3E */	rlwinm r5, r5, 0x1c, 0x1c, 0x1f
/* 803D1850 003CD4B0  7C 9F 02 14 */	add r4, r31, r0
/* 803D1854 003CD4B4  88 04 2D BE */	lbz r0, 0x2dbe(r4)
/* 803D1858 003CD4B8  54 04 E7 3E */	rlwinm r4, r0, 0x1c, 0x1c, 0x1f
/* 803D185C 003CD4BC  7C 04 28 40 */	cmplw r4, r5
/* 803D1860 003CD4C0  41 82 00 20 */	beq lbl_803D1880
/* 803D1864 003CD4C4  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803D1868 003CD4C8  54 00 03 1F */	rlwinm. r0, r0, 0, 0xc, 0xf
/* 803D186C 003CD4CC  40 82 00 14 */	bne lbl_803D1880
/* 803D1870 003CD4D0  28 04 00 02 */	cmplwi r4, 2
/* 803D1874 003CD4D4  41 82 00 0C */	beq lbl_803D1880
/* 803D1878 003CD4D8  28 05 00 02 */	cmplwi r5, 2
/* 803D187C 003CD4DC  40 82 00 14 */	bne lbl_803D1890
lbl_803D1880:
/* 803D1880 003CD4E0  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D1884 003CD4E4  7C 00 1A 14 */	add r0, r0, r3
/* 803D1888 003CD4E8  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D188C 003CD4EC  48 00 00 28 */	b lbl_803D18B4
lbl_803D1890:
/* 803D1890 003CD4F0  7C E3 3B 78 */	mr r3, r7
/* 803D1894 003CD4F4  48 00 C0 8D */	bl func_803DD920
/* 803D1898 003CD4F8  80 1F 00 94 */	lwz r0, 0x94(r31)
/* 803D189C 003CD4FC  54 64 80 1E */	slwi r4, r3, 0x10
/* 803D18A0 003CD500  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D18A4 003CD504  7C 7F 02 14 */	add r3, r31, r0
/* 803D18A8 003CD508  80 03 2D B0 */	lwz r0, 0x2db0(r3)
/* 803D18AC 003CD50C  7C 00 23 78 */	or r0, r0, r4
/* 803D18B0 003CD510  90 03 2D B0 */	stw r0, 0x2db0(r3)
lbl_803D18B4:
/* 803D18B4 003CD514  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D18B8 003CD518  38 60 00 00 */	li r3, 0
/* 803D18BC 003CD51C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D18C0 003CD520  7C 08 03 A6 */	mtlr r0
/* 803D18C4 003CD524  38 21 00 10 */	addi r1, r1, 0x10
/* 803D18C8 003CD528  4E 80 00 20 */	blr 
/* 803D18CC 003CD52C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D18D0 003CD530  7C 08 02 A6 */	mflr r0
/* 803D18D4 003CD534  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D18D8 003CD538  39 61 00 20 */	addi r11, r1, 0x20
/* 803D18DC 003CD53C  4B DF 58 55 */	bl _savegpr_29
/* 803D18E0 003CD540  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D18E4 003CD544  7C 9F 23 78 */	mr r31, r4
/* 803D18E8 003CD548  7C 7D 1B 78 */	mr r29, r3
/* 803D18EC 003CD54C  38 05 00 01 */	addi r0, r5, 1
/* 803D18F0 003CD550  7F E3 FB 78 */	mr r3, r31
/* 803D18F4 003CD554  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D18F8 003CD558  48 00 55 75 */	bl func_803D6E6C
/* 803D18FC 003CD55C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D1900 003CD560  7C 7E 1B 78 */	mr r30, r3
/* 803D1904 003CD564  7F A3 EB 78 */	mr r3, r29
/* 803D1908 003CD568  4B FD B3 DD */	bl func_803ACCE4
/* 803D190C 003CD56C  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803D1910 003CD570  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803D1914 003CD574  7C 9F 02 14 */	add r4, r31, r0
/* 803D1918 003CD578  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803D191C 003CD57C  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803D1920 003CD580  41 82 00 20 */	beq lbl_803D1940
/* 803D1924 003CD584  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 803D1928 003CD588  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803D192C 003CD58C  7C 63 F2 14 */	add r3, r3, r30
/* 803D1930 003CD590  60 00 00 40 */	ori r0, r0, 0x40
/* 803D1934 003CD594  90 7F 00 B4 */	stw r3, 0xb4(r31)
/* 803D1938 003CD598  90 1F 21 6C */	stw r0, 0x216c(r31)
/* 803D193C 003CD59C  48 00 00 48 */	b lbl_803D1984
lbl_803D1940:
/* 803D1940 003CD5A0  60 63 00 08 */	ori r3, r3, 8
/* 803D1944 003CD5A4  54 A0 18 38 */	slwi r0, r5, 3
/* 803D1948 003CD5A8  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803D194C 003CD5AC  7C DF 02 14 */	add r6, r31, r0
/* 803D1950 003CD5B0  38 00 00 05 */	li r0, 5
/* 803D1954 003CD5B4  38 80 00 01 */	li r4, 1
/* 803D1958 003CD5B8  80 A6 01 C4 */	lwz r5, 0x1c4(r6)
/* 803D195C 003CD5BC  50 05 64 66 */	rlwimi r5, r0, 0xc, 0x11, 0x13
/* 803D1960 003CD5C0  38 00 00 C6 */	li r0, 0xc6
/* 803D1964 003CD5C4  90 A6 01 C4 */	stw r5, 0x1c4(r6)
/* 803D1968 003CD5C8  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803D196C 003CD5CC  50 65 7B E0 */	rlwimi r5, r3, 0xf, 0xf, 0x10
/* 803D1970 003CD5D0  90 A6 01 C4 */	stw r5, 0x1c4(r6)
/* 803D1974 003CD5D4  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803D1978 003CD5D8  98 9F 00 F5 */	stb r4, 0xf5(r31)
/* 803D197C 003CD5DC  90 7F 00 F8 */	stw r3, 0xf8(r31)
/* 803D1980 003CD5E0  B0 1F 00 F6 */	sth r0, 0xf6(r31)
lbl_803D1984:
/* 803D1984 003CD5E4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D1988 003CD5E8  38 60 00 00 */	li r3, 0
/* 803D198C 003CD5EC  4B DF 57 F1 */	bl _restgpr_29
/* 803D1990 003CD5F0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D1994 003CD5F4  7C 08 03 A6 */	mtlr r0
/* 803D1998 003CD5F8  38 21 00 20 */	addi r1, r1, 0x20
/* 803D199C 003CD5FC  4E 80 00 20 */	blr 
/* 803D19A0 003CD600  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D19A4 003CD604  7C 08 02 A6 */	mflr r0
/* 803D19A8 003CD608  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D19AC 003CD60C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D19B0 003CD610  93 C1 00 08 */	stw r30, 8(r1)
/* 803D19B4 003CD614  7C 9E 23 78 */	mr r30, r4
/* 803D19B8 003CD618  7F C3 F3 78 */	mr r3, r30
/* 803D19BC 003CD61C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D19C0 003CD620  38 05 00 01 */	addi r0, r5, 1
/* 803D19C4 003CD624  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D19C8 003CD628  48 00 54 A5 */	bl func_803D6E6C
/* 803D19CC 003CD62C  7C 7F 1B 78 */	mr r31, r3
/* 803D19D0 003CD630  48 00 7D E9 */	bl func_803D97B8
/* 803D19D4 003CD634  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D19D8 003CD638  2C 00 00 66 */	cmpwi r0, 0x66
/* 803D19DC 003CD63C  40 80 00 10 */	bge lbl_803D19EC
/* 803D19E0 003CD640  38 00 00 28 */	li r0, 0x28
/* 803D19E4 003CD644  90 1E 21 54 */	stw r0, 0x2154(r30)
/* 803D19E8 003CD648  48 00 00 54 */	b lbl_803D1A3C
lbl_803D19EC:
/* 803D19EC 003CD64C  2C 00 00 B2 */	cmpwi r0, 0xb2
/* 803D19F0 003CD650  40 80 00 10 */	bge lbl_803D1A00
/* 803D19F4 003CD654  38 00 00 50 */	li r0, 0x50
/* 803D19F8 003CD658  90 1E 21 54 */	stw r0, 0x2154(r30)
/* 803D19FC 003CD65C  48 00 00 40 */	b lbl_803D1A3C
lbl_803D1A00:
/* 803D1A00 003CD660  2C 00 00 CC */	cmpwi r0, 0xcc
/* 803D1A04 003CD664  40 80 00 10 */	bge lbl_803D1A14
/* 803D1A08 003CD668  38 00 00 78 */	li r0, 0x78
/* 803D1A0C 003CD66C  90 1E 21 54 */	stw r0, 0x2154(r30)
/* 803D1A10 003CD670  48 00 00 2C */	b lbl_803D1A3C
lbl_803D1A14:
/* 803D1A14 003CD674  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803D1A18 003CD678  38 80 00 04 */	li r4, 4
/* 803D1A1C 003CD67C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1A20 003CD680  7C 7E 02 14 */	add r3, r30, r0
/* 803D1A24 003CD684  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803D1A28 003CD688  4B FE F1 41 */	bl func_803C0B68
/* 803D1A2C 003CD68C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D1A30 003CD690  90 7E 21 5C */	stw r3, 0x215c(r30)
/* 803D1A34 003CD694  7C 00 FA 14 */	add r0, r0, r31
/* 803D1A38 003CD698  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D1A3C:
/* 803D1A3C 003CD69C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D1A40 003CD6A0  38 60 00 00 */	li r3, 0
/* 803D1A44 003CD6A4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D1A48 003CD6A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D1A4C 003CD6AC  7C 08 03 A6 */	mtlr r0
/* 803D1A50 003CD6B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D1A54 003CD6B4  4E 80 00 20 */	blr 
/* 803D1A58 003CD6B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D1A5C 003CD6BC  7C 08 02 A6 */	mflr r0
/* 803D1A60 003CD6C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D1A64 003CD6C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D1A68 003CD6C8  7C 9F 23 78 */	mr r31, r4
/* 803D1A6C 003CD6CC  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D1A70 003CD6D0  88 04 31 20 */	lbz r0, 0x3120(r4)
/* 803D1A74 003CD6D4  38 63 00 01 */	addi r3, r3, 1
/* 803D1A78 003CD6D8  2C 00 00 00 */	cmpwi r0, 0
/* 803D1A7C 003CD6DC  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D1A80 003CD6E0  40 82 00 DC */	bne lbl_803D1B5C
/* 803D1A84 003CD6E4  48 00 7D 35 */	bl func_803D97B8
/* 803D1A88 003CD6E8  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D1A8C 003CD6EC  38 60 00 64 */	li r3, 0x64
/* 803D1A90 003CD6F0  7C 04 1B D6 */	divw r0, r4, r3
/* 803D1A94 003CD6F4  7C 00 19 D6 */	mullw r0, r0, r3
/* 803D1A98 003CD6F8  7C 00 20 50 */	subf r0, r0, r4
/* 803D1A9C 003CD6FC  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 803D1AA0 003CD700  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1AA4 003CD704  28 03 00 05 */	cmplwi r3, 5
/* 803D1AA8 003CD708  40 80 00 18 */	bge lbl_803D1AC0
/* 803D1AAC 003CD70C  38 60 00 0A */	li r3, 0xa
/* 803D1AB0 003CD710  38 00 00 04 */	li r0, 4
/* 803D1AB4 003CD714  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1AB8 003CD718  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1ABC 003CD71C  48 00 00 A0 */	b lbl_803D1B5C
lbl_803D1AC0:
/* 803D1AC0 003CD720  28 03 00 0F */	cmplwi r3, 0xf
/* 803D1AC4 003CD724  40 80 00 18 */	bge lbl_803D1ADC
/* 803D1AC8 003CD728  38 60 00 1E */	li r3, 0x1e
/* 803D1ACC 003CD72C  38 00 00 05 */	li r0, 5
/* 803D1AD0 003CD730  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1AD4 003CD734  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1AD8 003CD738  48 00 00 84 */	b lbl_803D1B5C
lbl_803D1ADC:
/* 803D1ADC 003CD73C  28 03 00 23 */	cmplwi r3, 0x23
/* 803D1AE0 003CD740  40 80 00 18 */	bge lbl_803D1AF8
/* 803D1AE4 003CD744  38 60 00 32 */	li r3, 0x32
/* 803D1AE8 003CD748  38 00 00 06 */	li r0, 6
/* 803D1AEC 003CD74C  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1AF0 003CD750  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1AF4 003CD754  48 00 00 68 */	b lbl_803D1B5C
lbl_803D1AF8:
/* 803D1AF8 003CD758  28 03 00 41 */	cmplwi r3, 0x41
/* 803D1AFC 003CD75C  40 80 00 18 */	bge lbl_803D1B14
/* 803D1B00 003CD760  38 60 00 46 */	li r3, 0x46
/* 803D1B04 003CD764  38 00 00 07 */	li r0, 7
/* 803D1B08 003CD768  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1B0C 003CD76C  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1B10 003CD770  48 00 00 4C */	b lbl_803D1B5C
lbl_803D1B14:
/* 803D1B14 003CD774  28 03 00 55 */	cmplwi r3, 0x55
/* 803D1B18 003CD778  40 80 00 18 */	bge lbl_803D1B30
/* 803D1B1C 003CD77C  38 60 00 5A */	li r3, 0x5a
/* 803D1B20 003CD780  38 00 00 08 */	li r0, 8
/* 803D1B24 003CD784  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1B28 003CD788  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1B2C 003CD78C  48 00 00 30 */	b lbl_803D1B5C
lbl_803D1B30:
/* 803D1B30 003CD790  28 03 00 5F */	cmplwi r3, 0x5f
/* 803D1B34 003CD794  40 80 00 18 */	bge lbl_803D1B4C
/* 803D1B38 003CD798  38 60 00 6E */	li r3, 0x6e
/* 803D1B3C 003CD79C  38 00 00 09 */	li r0, 9
/* 803D1B40 003CD7A0  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1B44 003CD7A4  98 1F 31 20 */	stb r0, 0x3120(r31)
/* 803D1B48 003CD7A8  48 00 00 14 */	b lbl_803D1B5C
lbl_803D1B4C:
/* 803D1B4C 003CD7AC  38 60 00 96 */	li r3, 0x96
/* 803D1B50 003CD7B0  38 00 00 0A */	li r0, 0xa
/* 803D1B54 003CD7B4  90 7F 21 54 */	stw r3, 0x2154(r31)
/* 803D1B58 003CD7B8  98 1F 31 20 */	stb r0, 0x3120(r31)
lbl_803D1B5C:
/* 803D1B5C 003CD7BC  88 1F 31 20 */	lbz r0, 0x3120(r31)
/* 803D1B60 003CD7C0  38 60 00 00 */	li r3, 0
/* 803D1B64 003CD7C4  90 1F 01 30 */	stw r0, 0x130(r31)
/* 803D1B68 003CD7C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D1B6C 003CD7CC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D1B70 003CD7D0  7C 08 03 A6 */	mtlr r0
/* 803D1B74 003CD7D4  38 21 00 10 */	addi r1, r1, 0x10
/* 803D1B78 003CD7D8  4E 80 00 20 */	blr 
/* 803D1B7C 003CD7DC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D1B80 003CD7E0  7C 08 02 A6 */	mflr r0
/* 803D1B84 003CD7E4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D1B88 003CD7E8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D1B8C 003CD7EC  4B DF 55 9D */	bl _savegpr_27
/* 803D1B90 003CD7F0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D1B94 003CD7F4  7C 9C 23 78 */	mr r28, r4
/* 803D1B98 003CD7F8  7C 7B 1B 78 */	mr r27, r3
/* 803D1B9C 003CD7FC  38 05 00 01 */	addi r0, r5, 1
/* 803D1BA0 003CD800  7F 83 E3 78 */	mr r3, r28
/* 803D1BA4 003CD804  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D1BA8 003CD808  48 00 52 C5 */	bl func_803D6E6C
/* 803D1BAC 003CD80C  7C 7D 1B 78 */	mr r29, r3
/* 803D1BB0 003CD810  7F 83 E3 78 */	mr r3, r28
/* 803D1BB4 003CD814  48 00 52 B9 */	bl func_803D6E6C
/* 803D1BB8 003CD818  7C 7E 1B 78 */	mr r30, r3
/* 803D1BBC 003CD81C  7F 83 E3 78 */	mr r3, r28
/* 803D1BC0 003CD820  48 00 52 AD */	bl func_803D6E6C
/* 803D1BC4 003CD824  7C 7F 1B 78 */	mr r31, r3
/* 803D1BC8 003CD828  7F 63 DB 78 */	mr r3, r27
/* 803D1BCC 003CD82C  7F 84 E3 78 */	mr r4, r28
/* 803D1BD0 003CD830  7F A5 EB 78 */	mr r5, r29
/* 803D1BD4 003CD834  48 00 64 69 */	bl func_803D803C
/* 803D1BD8 003CD838  7C 7D 1B 78 */	mr r29, r3
/* 803D1BDC 003CD83C  7F 63 DB 78 */	mr r3, r27
/* 803D1BE0 003CD840  7F 84 E3 78 */	mr r4, r28
/* 803D1BE4 003CD844  7F A5 EB 78 */	mr r5, r29
/* 803D1BE8 003CD848  4B FE E1 05 */	bl func_803BFCEC
/* 803D1BEC 003CD84C  2C 03 00 00 */	cmpwi r3, 0
/* 803D1BF0 003CD850  40 82 00 14 */	bne lbl_803D1C04
/* 803D1BF4 003CD854  80 1C 00 B4 */	lwz r0, 0xb4(r28)
/* 803D1BF8 003CD858  7C 00 FA 14 */	add r0, r0, r31
/* 803D1BFC 003CD85C  90 1C 00 B4 */	stw r0, 0xb4(r28)
/* 803D1C00 003CD860  48 00 00 20 */	b lbl_803D1C20
lbl_803D1C04:
/* 803D1C04 003CD864  2C 1E 00 01 */	cmpwi r30, 1
/* 803D1C08 003CD868  40 82 00 18 */	bne lbl_803D1C20
/* 803D1C0C 003CD86C  57 A0 10 3A */	slwi r0, r29, 2
/* 803D1C10 003CD870  7C 7C 02 14 */	add r3, r28, r0
/* 803D1C14 003CD874  80 03 01 3C */	lwz r0, 0x13c(r3)
/* 803D1C18 003CD878  60 00 00 01 */	ori r0, r0, 1
/* 803D1C1C 003CD87C  90 03 01 3C */	stw r0, 0x13c(r3)
lbl_803D1C20:
/* 803D1C20 003CD880  39 61 00 20 */	addi r11, r1, 0x20
/* 803D1C24 003CD884  38 60 00 00 */	li r3, 0
/* 803D1C28 003CD888  4B DF 55 4D */	bl _restgpr_27
/* 803D1C2C 003CD88C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D1C30 003CD890  7C 08 03 A6 */	mtlr r0
/* 803D1C34 003CD894  38 21 00 20 */	addi r1, r1, 0x20
/* 803D1C38 003CD898  4E 80 00 20 */	blr 
/* 803D1C3C 003CD89C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D1C40 003CD8A0  7C 08 02 A6 */	mflr r0
/* 803D1C44 003CD8A4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D1C48 003CD8A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D1C4C 003CD8AC  7C 9F 23 78 */	mr r31, r4
/* 803D1C50 003CD8B0  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803D1C54 003CD8B4  4B FD B0 91 */	bl func_803ACCE4
/* 803D1C58 003CD8B8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D1C5C 003CD8BC  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803D1C60 003CD8C0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1C64 003CD8C4  7C 9F 02 14 */	add r4, r31, r0
/* 803D1C68 003CD8C8  80 64 2D B0 */	lwz r3, 0x2db0(r4)
/* 803D1C6C 003CD8CC  54 60 04 25 */	rlwinm. r0, r3, 0, 0x10, 0x12
/* 803D1C70 003CD8D0  41 82 00 44 */	beq lbl_803D1CB4
/* 803D1C74 003CD8D4  54 60 04 DE */	rlwinm r0, r3, 0, 0x13, 0xf
/* 803D1C78 003CD8D8  7F E3 FB 78 */	mr r3, r31
/* 803D1C7C 003CD8DC  90 04 2D B0 */	stw r0, 0x2db0(r4)
/* 803D1C80 003CD8E0  38 80 00 02 */	li r4, 2
/* 803D1C84 003CD8E4  38 A0 00 74 */	li r5, 0x74
/* 803D1C88 003CD8E8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D1C8C 003CD8EC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1C90 003CD8F0  7C DF 02 14 */	add r6, r31, r0
/* 803D1C94 003CD8F4  80 06 2D CC */	lwz r0, 0x2dcc(r6)
/* 803D1C98 003CD8F8  54 00 47 BE */	rlwinm r0, r0, 8, 0x1e, 0x1f
/* 803D1C9C 003CD8FC  90 1F 01 18 */	stw r0, 0x118(r31)
/* 803D1CA0 003CD900  A0 06 2D EA */	lhz r0, 0x2dea(r6)
/* 803D1CA4 003CD904  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D1CA8 003CD908  4B FE 8D 45 */	bl func_803BA9EC
/* 803D1CAC 003CD90C  38 60 00 00 */	li r3, 0
/* 803D1CB0 003CD910  48 00 01 38 */	b lbl_803D1DE8
lbl_803D1CB4:
/* 803D1CB4 003CD914  80 64 2D C0 */	lwz r3, 0x2dc0(r4)
/* 803D1CB8 003CD918  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803D1CBC 003CD91C  41 82 00 44 */	beq lbl_803D1D00
/* 803D1CC0 003CD920  54 63 07 B8 */	rlwinm r3, r3, 0, 0x1e, 0x1c
/* 803D1CC4 003CD924  38 00 00 49 */	li r0, 0x49
/* 803D1CC8 003CD928  90 64 2D C0 */	stw r3, 0x2dc0(r4)
/* 803D1CCC 003CD92C  7F E3 FB 78 */	mr r3, r31
/* 803D1CD0 003CD930  38 80 00 02 */	li r4, 2
/* 803D1CD4 003CD934  38 A0 00 75 */	li r5, 0x75
/* 803D1CD8 003CD938  80 DF 00 64 */	lwz r6, 0x64(r31)
/* 803D1CDC 003CD93C  1C C6 00 C0 */	mulli r6, r6, 0xc0
/* 803D1CE0 003CD940  7C FF 32 14 */	add r7, r31, r6
/* 803D1CE4 003CD944  80 C7 2D C0 */	lwz r6, 0x2dc0(r7)
/* 803D1CE8 003CD948  54 C6 00 3A */	rlwinm r6, r6, 0, 0, 0x1d
/* 803D1CEC 003CD94C  90 C7 2D C0 */	stw r6, 0x2dc0(r7)
/* 803D1CF0 003CD950  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D1CF4 003CD954  4B FE 8C F9 */	bl func_803BA9EC
/* 803D1CF8 003CD958  38 60 00 00 */	li r3, 0
/* 803D1CFC 003CD95C  48 00 00 EC */	b lbl_803D1DE8
lbl_803D1D00:
/* 803D1D00 003CD960  54 A0 18 38 */	slwi r0, r5, 3
/* 803D1D04 003CD964  7D 1F 02 14 */	add r8, r31, r0
/* 803D1D08 003CD968  80 68 01 C8 */	lwz r3, 0x1c8(r8)
/* 803D1D0C 003CD96C  54 60 17 BF */	rlwinm. r0, r3, 2, 0x1e, 0x1f
/* 803D1D10 003CD970  41 82 00 44 */	beq lbl_803D1D54
/* 803D1D14 003CD974  54 A3 10 3A */	slwi r3, r5, 2
/* 803D1D18 003CD978  38 00 00 BF */	li r0, 0xbf
/* 803D1D1C 003CD97C  7C FF 1A 14 */	add r7, r31, r3
/* 803D1D20 003CD980  38 80 00 02 */	li r4, 2
/* 803D1D24 003CD984  80 C7 01 BC */	lwz r6, 0x1bc(r7)
/* 803D1D28 003CD988  7F E3 FB 78 */	mr r3, r31
/* 803D1D2C 003CD98C  38 A0 00 75 */	li r5, 0x75
/* 803D1D30 003CD990  54 C6 07 B8 */	rlwinm r6, r6, 0, 0x1e, 0x1c
/* 803D1D34 003CD994  90 C7 01 BC */	stw r6, 0x1bc(r7)
/* 803D1D38 003CD998  80 C8 01 C8 */	lwz r6, 0x1c8(r8)
/* 803D1D3C 003CD99C  54 C6 00 BE */	clrlwi r6, r6, 2
/* 803D1D40 003CD9A0  90 C8 01 C8 */	stw r6, 0x1c8(r8)
/* 803D1D44 003CD9A4  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D1D48 003CD9A8  4B FE 8C A5 */	bl func_803BA9EC
/* 803D1D4C 003CD9AC  38 60 00 00 */	li r3, 0
/* 803D1D50 003CD9B0  48 00 00 98 */	b lbl_803D1DE8
lbl_803D1D54:
/* 803D1D54 003CD9B4  54 60 27 BF */	rlwinm. r0, r3, 4, 0x1e, 0x1f
/* 803D1D58 003CD9B8  41 82 00 44 */	beq lbl_803D1D9C
/* 803D1D5C 003CD9BC  54 A3 10 3A */	slwi r3, r5, 2
/* 803D1D60 003CD9C0  38 00 01 86 */	li r0, 0x186
/* 803D1D64 003CD9C4  7C FF 1A 14 */	add r7, r31, r3
/* 803D1D68 003CD9C8  38 80 00 02 */	li r4, 2
/* 803D1D6C 003CD9CC  80 C7 01 BC */	lwz r6, 0x1bc(r7)
/* 803D1D70 003CD9D0  7F E3 FB 78 */	mr r3, r31
/* 803D1D74 003CD9D4  38 A0 00 75 */	li r5, 0x75
/* 803D1D78 003CD9D8  54 C6 05 A8 */	rlwinm r6, r6, 0, 0x16, 0x14
/* 803D1D7C 003CD9DC  90 C7 01 BC */	stw r6, 0x1bc(r7)
/* 803D1D80 003CD9E0  80 C8 01 C8 */	lwz r6, 0x1c8(r8)
/* 803D1D84 003CD9E4  54 C6 01 02 */	rlwinm r6, r6, 0, 4, 1
/* 803D1D88 003CD9E8  90 C8 01 C8 */	stw r6, 0x1c8(r8)
/* 803D1D8C 003CD9EC  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D1D90 003CD9F0  4B FE 8C 5D */	bl func_803BA9EC
/* 803D1D94 003CD9F4  38 60 00 00 */	li r3, 0
/* 803D1D98 003CD9F8  48 00 00 50 */	b lbl_803D1DE8
lbl_803D1D9C:
/* 803D1D9C 003CD9FC  54 A0 10 3A */	slwi r0, r5, 2
/* 803D1DA0 003CDA00  7C 9F 02 14 */	add r4, r31, r0
/* 803D1DA4 003CDA04  80 64 01 BC */	lwz r3, 0x1bc(r4)
/* 803D1DA8 003CDA08  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 803D1DAC 003CDA0C  41 82 00 2C */	beq lbl_803D1DD8
/* 803D1DB0 003CDA10  54 63 06 6E */	rlwinm r3, r3, 0, 0x19, 0x17
/* 803D1DB4 003CDA14  38 00 01 BE */	li r0, 0x1be
/* 803D1DB8 003CDA18  90 64 01 BC */	stw r3, 0x1bc(r4)
/* 803D1DBC 003CDA1C  7F E3 FB 78 */	mr r3, r31
/* 803D1DC0 003CDA20  38 80 00 02 */	li r4, 2
/* 803D1DC4 003CDA24  38 A0 00 75 */	li r5, 0x75
/* 803D1DC8 003CDA28  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D1DCC 003CDA2C  4B FE 8C 21 */	bl func_803BA9EC
/* 803D1DD0 003CDA30  38 60 00 00 */	li r3, 0
/* 803D1DD4 003CDA34  48 00 00 14 */	b lbl_803D1DE8
lbl_803D1DD8:
/* 803D1DD8 003CDA38  80 9F 00 B4 */	lwz r4, 0xb4(r31)
/* 803D1DDC 003CDA3C  38 60 00 00 */	li r3, 0
/* 803D1DE0 003CDA40  38 04 00 01 */	addi r0, r4, 1
/* 803D1DE4 003CDA44  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D1DE8:
/* 803D1DE8 003CDA48  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D1DEC 003CDA4C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D1DF0 003CDA50  7C 08 03 A6 */	mtlr r0
/* 803D1DF4 003CDA54  38 21 00 10 */	addi r1, r1, 0x10
/* 803D1DF8 003CDA58  4E 80 00 20 */	blr 
/* 803D1DFC 003CDA5C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D1E00 003CDA60  7C 08 02 A6 */	mflr r0
/* 803D1E04 003CDA64  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D1E08 003CDA68  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D1E0C 003CDA6C  7C 9F 23 78 */	mr r31, r4
/* 803D1E10 003CDA70  93 C1 00 08 */	stw r30, 8(r1)
/* 803D1E14 003CDA74  7C 7E 1B 78 */	mr r30, r3
/* 803D1E18 003CDA78  80 04 01 80 */	lwz r0, 0x180(r4)
/* 803D1E1C 003CDA7C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D1E20 003CDA80  70 00 80 FF */	andi. r0, r0, 0x80ff
/* 803D1E24 003CDA84  38 05 00 01 */	addi r0, r5, 1
/* 803D1E28 003CDA88  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D1E2C 003CDA8C  41 82 00 3C */	beq lbl_803D1E68
/* 803D1E30 003CDA90  38 A0 00 08 */	li r5, 8
/* 803D1E34 003CDA94  38 C0 00 00 */	li r6, 0
/* 803D1E38 003CDA98  38 E0 00 0D */	li r7, 0xd
/* 803D1E3C 003CDA9C  4B FE D5 45 */	bl func_803BF380
/* 803D1E40 003CDAA0  2C 03 00 00 */	cmpwi r3, 0
/* 803D1E44 003CDAA4  40 82 00 24 */	bne lbl_803D1E68
/* 803D1E48 003CDAA8  7F C3 F3 78 */	mr r3, r30
/* 803D1E4C 003CDAAC  7F E4 FB 78 */	mr r4, r31
/* 803D1E50 003CDAB0  38 A0 00 08 */	li r5, 8
/* 803D1E54 003CDAB4  38 C0 00 00 */	li r6, 0
/* 803D1E58 003CDAB8  38 E0 00 4C */	li r7, 0x4c
/* 803D1E5C 003CDABC  4B FE D5 25 */	bl func_803BF380
/* 803D1E60 003CDAC0  2C 03 00 00 */	cmpwi r3, 0
/* 803D1E64 003CDAC4  41 82 00 20 */	beq lbl_803D1E84
lbl_803D1E68:
/* 803D1E68 003CDAC8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D1E6C 003CDACC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1E70 003CDAD0  7C 7F 02 14 */	add r3, r31, r0
/* 803D1E74 003CDAD4  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803D1E78 003CDAD8  54 00 F8 7E */	srwi r0, r0, 1
/* 803D1E7C 003CDADC  90 1F 21 5C */	stw r0, 0x215c(r31)
/* 803D1E80 003CDAE0  48 00 00 50 */	b lbl_803D1ED0
lbl_803D1E84:
/* 803D1E84 003CDAE4  80 1F 01 80 */	lwz r0, 0x180(r31)
/* 803D1E88 003CDAE8  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803D1E8C 003CDAEC  41 82 00 28 */	beq lbl_803D1EB4
/* 803D1E90 003CDAF0  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D1E94 003CDAF4  38 80 00 1E */	li r4, 0x1e
/* 803D1E98 003CDAF8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1E9C 003CDAFC  7C 7F 02 14 */	add r3, r31, r0
/* 803D1EA0 003CDB00  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803D1EA4 003CDB04  1C 60 00 14 */	mulli r3, r0, 0x14
/* 803D1EA8 003CDB08  4B FE EC C1 */	bl func_803C0B68
/* 803D1EAC 003CDB0C  90 7F 21 5C */	stw r3, 0x215c(r31)
/* 803D1EB0 003CDB10  48 00 00 20 */	b lbl_803D1ED0
lbl_803D1EB4:
/* 803D1EB4 003CDB14  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D1EB8 003CDB18  38 80 00 04 */	li r4, 4
/* 803D1EBC 003CDB1C  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1EC0 003CDB20  7C 7F 02 14 */	add r3, r31, r0
/* 803D1EC4 003CDB24  80 63 2D 90 */	lwz r3, 0x2d90(r3)
/* 803D1EC8 003CDB28  4B FE EC A1 */	bl func_803C0B68
/* 803D1ECC 003CDB2C  90 7F 21 5C */	stw r3, 0x215c(r31)
lbl_803D1ED0:
/* 803D1ED0 003CDB30  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D1ED4 003CDB34  38 60 00 00 */	li r3, 0
/* 803D1ED8 003CDB38  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D1EDC 003CDB3C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D1EE0 003CDB40  7C 08 03 A6 */	mtlr r0
/* 803D1EE4 003CDB44  38 21 00 10 */	addi r1, r1, 0x10
/* 803D1EE8 003CDB48  4E 80 00 20 */	blr 
/* 803D1EEC 003CDB4C  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D1EF0 003CDB50  38 A0 00 3F */	li r5, 0x3f
/* 803D1EF4 003CDB54  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D1EF8 003CDB58  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1EFC 003CDB5C  38 63 00 01 */	addi r3, r3, 1
/* 803D1F00 003CDB60  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D1F04 003CDB64  7C E4 02 14 */	add r7, r4, r0
/* 803D1F08 003CDB68  80 C7 2D 54 */	lwz r6, 0x2d54(r7)
/* 803D1F0C 003CDB6C  54 C3 B7 38 */	rlwinm r3, r6, 0x16, 0x1c, 0x1c
/* 803D1F10 003CDB70  54 C0 27 FE */	rlwinm r0, r6, 4, 0x1f, 0x1f
/* 803D1F14 003CDB74  50 C0 57 BC */	rlwimi r0, r6, 0xa, 0x1e, 0x1e
/* 803D1F18 003CDB78  50 C3 E6 F6 */	rlwimi r3, r6, 0x1c, 0x1b, 0x1b
/* 803D1F1C 003CDB7C  50 C0 87 7A */	rlwimi r0, r6, 0x10, 0x1d, 0x1d
/* 803D1F20 003CDB80  7C 60 03 78 */	or r0, r3, r0
/* 803D1F24 003CDB84  50 C0 16 B4 */	rlwimi r0, r6, 2, 0x1a, 0x1a
/* 803D1F28 003CDB88  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D1F2C 003CDB8C  1C 00 00 28 */	mulli r0, r0, 0x28
/* 803D1F30 003CDB90  80 E7 2D 54 */	lwz r7, 0x2d54(r7)
/* 803D1F34 003CDB94  7C 60 2B D6 */	divw r3, r0, r5
/* 803D1F38 003CDB98  54 E6 BF 38 */	rlwinm r6, r7, 0x17, 0x1c, 0x1c
/* 803D1F3C 003CDB9C  54 E0 2F FE */	rlwinm r0, r7, 5, 0x1f, 0x1f
/* 803D1F40 003CDBA0  50 E6 EE F6 */	rlwimi r6, r7, 0x1d, 0x1b, 0x1b
/* 803D1F44 003CDBA4  50 E0 5F BC */	rlwimi r0, r7, 0xb, 0x1e, 0x1e
/* 803D1F48 003CDBA8  50 E0 8F 7A */	rlwimi r0, r7, 0x11, 0x1d, 0x1d
/* 803D1F4C 003CDBAC  7C C6 03 78 */	or r6, r6, r0
/* 803D1F50 003CDBB0  38 03 00 1E */	addi r0, r3, 0x1e
/* 803D1F54 003CDBB4  50 E6 1E B4 */	rlwimi r6, r7, 3, 0x1a, 0x1a
/* 803D1F58 003CDBB8  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D1F5C 003CDBBC  1C 06 00 0F */	mulli r0, r6, 0xf
/* 803D1F60 003CDBC0  7C 60 2B D6 */	divw r3, r0, r5
/* 803D1F64 003CDBC4  38 63 00 01 */	addi r3, r3, 1
/* 803D1F68 003CDBC8  2C 03 00 09 */	cmpwi r3, 9
/* 803D1F6C 003CDBCC  90 64 21 60 */	stw r3, 0x2160(r4)
/* 803D1F70 003CDBD0  41 80 00 0C */	blt lbl_803D1F7C
/* 803D1F74 003CDBD4  38 03 00 01 */	addi r0, r3, 1
/* 803D1F78 003CDBD8  90 04 21 60 */	stw r0, 0x2160(r4)
lbl_803D1F7C:
/* 803D1F7C 003CDBDC  38 60 00 00 */	li r3, 0
/* 803D1F80 003CDBE0  4E 80 00 20 */	blr 
/* 803D1F84 003CDBE4  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D1F88 003CDBE8  38 00 00 08 */	li r0, 8
/* 803D1F8C 003CDBEC  38 E0 00 00 */	li r7, 0
/* 803D1F90 003CDBF0  38 63 00 01 */	addi r3, r3, 1
/* 803D1F94 003CDBF4  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D1F98 003CDBF8  7C 09 03 A6 */	mtctr r0
lbl_803D1F9C:
/* 803D1F9C 003CDBFC  80 64 00 6C */	lwz r3, 0x6c(r4)
/* 803D1FA0 003CDC00  7C C7 22 14 */	add r6, r7, r4
/* 803D1FA4 003CDC04  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D1FA8 003CDC08  38 E7 00 01 */	addi r7, r7, 1
/* 803D1FAC 003CDC0C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D1FB0 003CDC10  7C 63 32 14 */	add r3, r3, r6
/* 803D1FB4 003CDC14  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1FB8 003CDC18  88 A3 2D 58 */	lbz r5, 0x2d58(r3)
/* 803D1FBC 003CDC1C  7C 60 32 14 */	add r3, r0, r6
/* 803D1FC0 003CDC20  98 A3 2D 58 */	stb r5, 0x2d58(r3)
/* 803D1FC4 003CDC24  42 00 FF D8 */	bdnz lbl_803D1F9C
/* 803D1FC8 003CDC28  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D1FCC 003CDC2C  38 60 00 00 */	li r3, 0
/* 803D1FD0 003CDC30  80 A4 00 64 */	lwz r5, 0x64(r4)
/* 803D1FD4 003CDC34  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D1FD8 003CDC38  1C C5 00 C0 */	mulli r6, r5, 0xc0
/* 803D1FDC 003CDC3C  7C A4 02 14 */	add r5, r4, r0
/* 803D1FE0 003CDC40  80 05 2D B0 */	lwz r0, 0x2db0(r5)
/* 803D1FE4 003CDC44  7C A4 32 14 */	add r5, r4, r6
/* 803D1FE8 003CDC48  80 85 2D B0 */	lwz r4, 0x2db0(r5)
/* 803D1FEC 003CDC4C  54 00 02 D6 */	rlwinm r0, r0, 0, 0xb, 0xb
/* 803D1FF0 003CDC50  7C 80 03 78 */	or r0, r4, r0
/* 803D1FF4 003CDC54  90 05 2D B0 */	stw r0, 0x2db0(r5)
/* 803D1FF8 003CDC58  4E 80 00 20 */	blr 
/* 803D1FFC 003CDC5C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2000 003CDC60  7C 08 02 A6 */	mflr r0
/* 803D2004 003CDC64  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2008 003CDC68  39 61 00 20 */	addi r11, r1, 0x20
/* 803D200C 003CDC6C  4B DF 51 25 */	bl _savegpr_29
/* 803D2010 003CDC70  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2014 003CDC74  7C 9F 23 78 */	mr r31, r4
/* 803D2018 003CDC78  7C 7D 1B 78 */	mr r29, r3
/* 803D201C 003CDC7C  38 05 00 01 */	addi r0, r5, 1
/* 803D2020 003CDC80  7F E3 FB 78 */	mr r3, r31
/* 803D2024 003CDC84  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2028 003CDC88  48 00 4E 45 */	bl func_803D6E6C
/* 803D202C 003CDC8C  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803D2030 003CDC90  7C 7E 1B 78 */	mr r30, r3
/* 803D2034 003CDC94  7C 7F 22 14 */	add r3, r31, r4
/* 803D2038 003CDC98  88 03 01 88 */	lbz r0, 0x188(r3)
/* 803D203C 003CDC9C  2C 00 00 00 */	cmpwi r0, 0
/* 803D2040 003CDCA0  40 82 00 EC */	bne lbl_803D212C
/* 803D2044 003CDCA4  7F A3 EB 78 */	mr r3, r29
/* 803D2048 003CDCA8  4B FD AC 9D */	bl func_803ACCE4
/* 803D204C 003CDCAC  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803D2050 003CDCB0  38 C0 00 03 */	li r6, 3
/* 803D2054 003CDCB4  7C FF 02 14 */	add r7, r31, r0
/* 803D2058 003CDCB8  7F A3 EB 78 */	mr r3, r29
/* 803D205C 003CDCBC  80 A7 01 BC */	lwz r5, 0x1bc(r7)
/* 803D2060 003CDCC0  38 00 00 01 */	li r0, 1
/* 803D2064 003CDCC4  7F E4 FB 78 */	mr r4, r31
/* 803D2068 003CDCC8  39 00 00 00 */	li r8, 0
/* 803D206C 003CDCCC  60 A5 00 10 */	ori r5, r5, 0x10
/* 803D2070 003CDCD0  39 20 00 00 */	li r9, 0
/* 803D2074 003CDCD4  90 A7 01 BC */	stw r5, 0x1bc(r7)
/* 803D2078 003CDCD8  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D207C 003CDCDC  7C BF 2A 14 */	add r5, r31, r5
/* 803D2080 003CDCE0  98 C5 01 88 */	stb r6, 0x188(r5)
/* 803D2084 003CDCE4  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D2088 003CDCE8  80 DF 30 44 */	lwz r6, 0x3044(r31)
/* 803D208C 003CDCEC  54 A5 08 3C */	slwi r5, r5, 1
/* 803D2090 003CDCF0  7C BF 2A 14 */	add r5, r31, r5
/* 803D2094 003CDCF4  B0 C5 01 90 */	sth r6, 0x190(r5)
/* 803D2098 003CDCF8  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D209C 003CDCFC  80 DF 00 64 */	lwz r6, 0x64(r31)
/* 803D20A0 003CDD00  54 A5 10 3A */	slwi r5, r5, 2
/* 803D20A4 003CDD04  7C BF 2A 14 */	add r5, r31, r5
/* 803D20A8 003CDD08  90 C5 01 98 */	stw r6, 0x198(r5)
/* 803D20AC 003CDD0C  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D20B0 003CDD10  54 A5 06 3E */	clrlwi r5, r5, 0x18
/* 803D20B4 003CDD14  90 A1 00 08 */	stw r5, 8(r1)
/* 803D20B8 003CDD18  90 01 00 0C */	stw r0, 0xc(r1)
/* 803D20BC 003CDD1C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D20C0 003CDD20  80 C7 01 BC */	lwz r6, 0x1bc(r7)
/* 803D20C4 003CDD24  80 BF 30 44 */	lwz r5, 0x3044(r31)
/* 803D20C8 003CDD28  54 0A 06 3E */	clrlwi r10, r0, 0x18
/* 803D20CC 003CDD2C  80 FF 01 80 */	lwz r7, 0x180(r31)
/* 803D20D0 003CDD30  4B FF 40 A9 */	bl func_803C6178
/* 803D20D4 003CDD34  1C 83 FF FF */	mulli r4, r3, -1
/* 803D20D8 003CDD38  7F E3 FB 78 */	mr r3, r31
/* 803D20DC 003CDD3C  4B FF 63 6D */	bl func_803C8448
/* 803D20E0 003CDD40  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D20E4 003CDD44  54 00 10 3A */	slwi r0, r0, 2
/* 803D20E8 003CDD48  7C 9F 02 14 */	add r4, r31, r0
/* 803D20EC 003CDD4C  90 64 01 A8 */	stw r3, 0x1a8(r4)
/* 803D20F0 003CDD50  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D20F4 003CDD54  54 00 30 32 */	slwi r0, r0, 6
/* 803D20F8 003CDD58  7C 7F 02 14 */	add r3, r31, r0
/* 803D20FC 003CDD5C  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D2100 003CDD60  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803D2104 003CDD64  41 82 00 48 */	beq lbl_803D214C
/* 803D2108 003CDD68  80 7F 00 6C */	lwz r3, 0x6c(r31)
/* 803D210C 003CDD6C  38 00 00 0A */	li r0, 0xa
/* 803D2110 003CDD70  54 63 10 3A */	slwi r3, r3, 2
/* 803D2114 003CDD74  7C 9F 1A 14 */	add r4, r31, r3
/* 803D2118 003CDD78  80 64 01 A8 */	lwz r3, 0x1a8(r4)
/* 803D211C 003CDD7C  1C 63 00 0F */	mulli r3, r3, 0xf
/* 803D2120 003CDD80  7C 03 03 D6 */	divw r0, r3, r0
/* 803D2124 003CDD84  90 04 01 A8 */	stw r0, 0x1a8(r4)
/* 803D2128 003CDD88  48 00 00 24 */	b lbl_803D214C
lbl_803D212C:
/* 803D212C 003CDD8C  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803D2130 003CDD90  38 60 00 14 */	li r3, 0x14
/* 803D2134 003CDD94  90 85 CD E8 */	stw r4, lbl_8048CDE8@l(r5)
/* 803D2138 003CDD98  38 85 CD E8 */	addi r4, r5, -12824
/* 803D213C 003CDD9C  4B D9 D9 11 */	bl func_8016FA4C
/* 803D2140 003CDDA0  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D2144 003CDDA4  7C 00 F2 14 */	add r0, r0, r30
/* 803D2148 003CDDA8  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D214C:
/* 803D214C 003CDDAC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2150 003CDDB0  38 60 00 00 */	li r3, 0
/* 803D2154 003CDDB4  4B DF 50 29 */	bl _restgpr_29
/* 803D2158 003CDDB8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D215C 003CDDBC  7C 08 03 A6 */	mtlr r0
/* 803D2160 003CDDC0  38 21 00 20 */	addi r1, r1, 0x20
/* 803D2164 003CDDC4  4E 80 00 20 */	blr 
/* 803D2168 003CDDC8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D216C 003CDDCC  7C 08 02 A6 */	mflr r0
/* 803D2170 003CDDD0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2174 003CDDD4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2178 003CDDD8  4B DF 4F AD */	bl _savegpr_26
/* 803D217C 003CDDDC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2180 003CDDE0  7C 9B 23 78 */	mr r27, r4
/* 803D2184 003CDDE4  7C 7A 1B 78 */	mr r26, r3
/* 803D2188 003CDDE8  38 05 00 01 */	addi r0, r5, 1
/* 803D218C 003CDDEC  7F 63 DB 78 */	mr r3, r27
/* 803D2190 003CDDF0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2194 003CDDF4  48 00 4C D9 */	bl func_803D6E6C
/* 803D2198 003CDDF8  7C 7E 1B 78 */	mr r30, r3
/* 803D219C 003CDDFC  7F 63 DB 78 */	mr r3, r27
/* 803D21A0 003CDE00  48 00 4C CD */	bl func_803D6E6C
/* 803D21A4 003CDE04  7C 7D 1B 78 */	mr r29, r3
/* 803D21A8 003CDE08  7F 63 DB 78 */	mr r3, r27
/* 803D21AC 003CDE0C  48 00 4C C1 */	bl func_803D6E6C
/* 803D21B0 003CDE10  7C 7C 1B 78 */	mr r28, r3
/* 803D21B4 003CDE14  7F 63 DB 78 */	mr r3, r27
/* 803D21B8 003CDE18  48 00 4C B5 */	bl func_803D6E6C
/* 803D21BC 003CDE1C  7C 7F 1B 78 */	mr r31, r3
/* 803D21C0 003CDE20  7F 43 D3 78 */	mr r3, r26
/* 803D21C4 003CDE24  7F 64 DB 78 */	mr r4, r27
/* 803D21C8 003CDE28  7F C5 F3 78 */	mr r5, r30
/* 803D21CC 003CDE2C  48 00 5E 71 */	bl func_803D803C
/* 803D21D0 003CDE30  7C 7E 1B 78 */	mr r30, r3
/* 803D21D4 003CDE34  7F 43 D3 78 */	mr r3, r26
/* 803D21D8 003CDE38  7F 64 DB 78 */	mr r4, r27
/* 803D21DC 003CDE3C  7F A5 EB 78 */	mr r5, r29
/* 803D21E0 003CDE40  48 00 5E 5D */	bl func_803D803C
/* 803D21E4 003CDE44  7C 7D 1B 78 */	mr r29, r3
/* 803D21E8 003CDE48  7F 63 DB 78 */	mr r3, r27
/* 803D21EC 003CDE4C  7F 84 E3 78 */	mr r4, r28
/* 803D21F0 003CDE50  48 00 6E B1 */	bl func_803D90A0
/* 803D21F4 003CDE54  7C 67 1B 78 */	mr r7, r3
/* 803D21F8 003CDE58  7F 43 D3 78 */	mr r3, r26
/* 803D21FC 003CDE5C  7F 64 DB 78 */	mr r4, r27
/* 803D2200 003CDE60  7F C5 F3 78 */	mr r5, r30
/* 803D2204 003CDE64  7F A6 EB 78 */	mr r6, r29
/* 803D2208 003CDE68  4B FE 0B 05 */	bl func_803B2D0C
/* 803D220C 003CDE6C  3C 60 00 20 */	lis r3, 0x001FD849@ha
/* 803D2210 003CDE70  80 9B 21 6C */	lwz r4, 0x216c(r27)
/* 803D2214 003CDE74  38 03 D8 49 */	addi r0, r3, 0x001FD849@l
/* 803D2218 003CDE78  7C 80 00 39 */	and. r0, r4, r0
/* 803D221C 003CDE7C  41 82 00 24 */	beq lbl_803D2240
/* 803D2220 003CDE80  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D2224 003CDE84  3C A0 80 49 */	lis r5, lbl_8048CDE8@ha
/* 803D2228 003CDE88  38 85 CD E8 */	addi r4, r5, lbl_8048CDE8@l
/* 803D222C 003CDE8C  38 60 00 0B */	li r3, 0xb
/* 803D2230 003CDE90  7C 00 FA 14 */	add r0, r0, r31
/* 803D2234 003CDE94  90 1B 00 B4 */	stw r0, 0xb4(r27)
/* 803D2238 003CDE98  93 A5 CD E8 */	stw r29, -0x3218(r5)
/* 803D223C 003CDE9C  4B D9 D8 11 */	bl func_8016FA4C
lbl_803D2240:
/* 803D2240 003CDEA0  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2244 003CDEA4  38 60 00 00 */	li r3, 0
/* 803D2248 003CDEA8  4B DF 4F 29 */	bl _restgpr_26
/* 803D224C 003CDEAC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D2250 003CDEB0  7C 08 03 A6 */	mtlr r0
/* 803D2254 003CDEB4  38 21 00 20 */	addi r1, r1, 0x20
/* 803D2258 003CDEB8  4E 80 00 20 */	blr 
/* 803D225C 003CDEBC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2260 003CDEC0  7C 08 02 A6 */	mflr r0
/* 803D2264 003CDEC4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2268 003CDEC8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D226C 003CDECC  4B DF 4E C5 */	bl _savegpr_29
/* 803D2270 003CDED0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2274 003CDED4  7C 9E 23 78 */	mr r30, r4
/* 803D2278 003CDED8  7C 7D 1B 78 */	mr r29, r3
/* 803D227C 003CDEDC  38 05 00 01 */	addi r0, r5, 1
/* 803D2280 003CDEE0  7F C3 F3 78 */	mr r3, r30
/* 803D2284 003CDEE4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2288 003CDEE8  48 00 4B E5 */	bl func_803D6E6C
/* 803D228C 003CDEEC  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803D2290 003CDEF0  7C 7F 1B 78 */	mr r31, r3
/* 803D2294 003CDEF4  7F A3 EB 78 */	mr r3, r29
/* 803D2298 003CDEF8  7F C4 F3 78 */	mr r4, r30
/* 803D229C 003CDEFC  38 C0 00 00 */	li r6, 0
/* 803D22A0 003CDF00  4B FE DB BD */	bl func_803BFE5C
/* 803D22A4 003CDF04  2C 03 00 00 */	cmpwi r3, 0
/* 803D22A8 003CDF08  41 82 00 10 */	beq lbl_803D22B8
/* 803D22AC 003CDF0C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D22B0 003CDF10  7C 00 FA 14 */	add r0, r0, r31
/* 803D22B4 003CDF14  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D22B8:
/* 803D22B8 003CDF18  39 61 00 20 */	addi r11, r1, 0x20
/* 803D22BC 003CDF1C  38 60 00 00 */	li r3, 0
/* 803D22C0 003CDF20  4B DF 4E BD */	bl _restgpr_29
/* 803D22C4 003CDF24  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D22C8 003CDF28  7C 08 03 A6 */	mtlr r0
/* 803D22CC 003CDF2C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D22D0 003CDF30  4E 80 00 20 */	blr 
/* 803D22D4 003CDF34  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D22D8 003CDF38  7C 08 02 A6 */	mflr r0
/* 803D22DC 003CDF3C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D22E0 003CDF40  39 61 00 20 */	addi r11, r1, 0x20
/* 803D22E4 003CDF44  4B DF 4E 41 */	bl _savegpr_26
/* 803D22E8 003CDF48  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D22EC 003CDF4C  7C 9E 23 78 */	mr r30, r4
/* 803D22F0 003CDF50  7C 7D 1B 78 */	mr r29, r3
/* 803D22F4 003CDF54  38 05 00 01 */	addi r0, r5, 1
/* 803D22F8 003CDF58  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D22FC 003CDF5C  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803D2300 003CDF60  4B FD A6 01 */	bl func_803AC900
/* 803D2304 003CDF64  88 1E 21 7D */	lbz r0, 0x217d(r30)
/* 803D2308 003CDF68  7C 7F 1B 78 */	mr r31, r3
/* 803D230C 003CDF6C  2C 00 00 00 */	cmpwi r0, 0
/* 803D2310 003CDF70  40 82 00 B4 */	bne lbl_803D23C4
/* 803D2314 003CDF74  38 80 00 02 */	li r4, 2
/* 803D2318 003CDF78  38 60 00 FD */	li r3, 0xfd
/* 803D231C 003CDF7C  38 00 00 00 */	li r0, 0
/* 803D2320 003CDF80  98 9E 21 7D */	stb r4, 0x217d(r30)
/* 803D2324 003CDF84  90 7E 21 88 */	stw r3, 0x2188(r30)
/* 803D2328 003CDF88  98 1E 21 7F */	stb r0, 0x217f(r30)
lbl_803D232C:
/* 803D232C 003CDF8C  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D2330 003CDF90  7F A3 EB 78 */	mr r3, r29
/* 803D2334 003CDF94  88 BE 21 7F */	lbz r5, 0x217f(r30)
/* 803D2338 003CDF98  4B FD A6 6D */	bl func_803AC9A4
/* 803D233C 003CDF9C  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D2340 003CDFA0  7C 7A 1B 78 */	mr r26, r3
/* 803D2344 003CDFA4  88 BE 21 7F */	lbz r5, 0x217f(r30)
/* 803D2348 003CDFA8  7C 9E 02 14 */	add r4, r30, r0
/* 803D234C 003CDFAC  88 04 21 9C */	lbz r0, 0x219c(r4)
/* 803D2350 003CDFB0  7C 05 00 40 */	cmplw r5, r0
/* 803D2354 003CDFB4  41 82 00 70 */	beq lbl_803D23C4
/* 803D2358 003CDFB8  38 80 00 A2 */	li r4, 0xa2
/* 803D235C 003CDFBC  38 A0 00 00 */	li r5, 0
/* 803D2360 003CDFC0  48 00 B6 7D */	bl func_803DD9DC
/* 803D2364 003CDFC4  2C 03 00 00 */	cmpwi r3, 0
/* 803D2368 003CDFC8  41 82 00 4C */	beq lbl_803D23B4
/* 803D236C 003CDFCC  7F 43 D3 78 */	mr r3, r26
/* 803D2370 003CDFD0  38 80 00 AD */	li r4, 0xad
/* 803D2374 003CDFD4  38 A0 00 00 */	li r5, 0
/* 803D2378 003CDFD8  48 00 B6 65 */	bl func_803DD9DC
/* 803D237C 003CDFDC  2C 03 00 00 */	cmpwi r3, 0
/* 803D2380 003CDFE0  41 82 00 34 */	beq lbl_803D23B4
/* 803D2384 003CDFE4  7F 43 D3 78 */	mr r3, r26
/* 803D2388 003CDFE8  38 80 00 AD */	li r4, 0xad
/* 803D238C 003CDFEC  38 A0 00 00 */	li r5, 0
/* 803D2390 003CDFF0  48 00 B6 4D */	bl func_803DD9DC
/* 803D2394 003CDFF4  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D2398 003CDFF8  41 82 00 1C */	beq lbl_803D23B4
/* 803D239C 003CDFFC  7F 43 D3 78 */	mr r3, r26
/* 803D23A0 003CE000  38 80 00 9F */	li r4, 0x9f
/* 803D23A4 003CE004  38 A0 00 00 */	li r5, 0
/* 803D23A8 003CE008  48 00 B6 35 */	bl func_803DD9DC
/* 803D23AC 003CE00C  2C 03 00 00 */	cmpwi r3, 0
/* 803D23B0 003CE010  41 82 00 14 */	beq lbl_803D23C4
lbl_803D23B4:
/* 803D23B4 003CE014  88 7E 21 7F */	lbz r3, 0x217f(r30)
/* 803D23B8 003CE018  38 03 00 01 */	addi r0, r3, 1
/* 803D23BC 003CE01C  98 1E 21 7F */	stb r0, 0x217f(r30)
/* 803D23C0 003CE020  4B FF FF 6C */	b lbl_803D232C
lbl_803D23C4:
/* 803D23C4 003CE024  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D23C8 003CE028  7F A3 EB 78 */	mr r3, r29
/* 803D23CC 003CE02C  88 BE 21 7F */	lbz r5, 0x217f(r30)
/* 803D23D0 003CE030  4B FD A5 D5 */	bl func_803AC9A4
/* 803D23D4 003CE034  7C 7C 1B 78 */	mr r28, r3
/* 803D23D8 003CE038  38 80 00 05 */	li r4, 5
/* 803D23DC 003CE03C  38 A0 00 00 */	li r5, 0
/* 803D23E0 003CE040  48 00 B5 FD */	bl func_803DD9DC
/* 803D23E4 003CE044  7C 7B 1B 78 */	mr r27, r3
/* 803D23E8 003CE048  7F 83 E3 78 */	mr r3, r28
/* 803D23EC 003CE04C  38 80 00 70 */	li r4, 0x70
/* 803D23F0 003CE050  38 A0 00 00 */	li r5, 0
/* 803D23F4 003CE054  48 00 B5 E9 */	bl func_803DD9DC
/* 803D23F8 003CE058  7C 7A 1B 78 */	mr r26, r3
/* 803D23FC 003CE05C  7F 83 E3 78 */	mr r3, r28
/* 803D2400 003CE060  38 80 00 A0 */	li r4, 0xa0
/* 803D2404 003CE064  38 A0 00 00 */	li r5, 0
/* 803D2408 003CE068  48 00 B5 D5 */	bl func_803DD9DC
/* 803D240C 003CE06C  7C 7C 1B 78 */	mr r28, r3
/* 803D2410 003CE070  7F 63 DB 78 */	mr r3, r27
/* 803D2414 003CE074  7F 44 D3 78 */	mr r4, r26
/* 803D2418 003CE078  38 A0 00 01 */	li r5, 1
/* 803D241C 003CE07C  48 00 94 B1 */	bl func_803DB8CC
/* 803D2420 003CE080  57 84 08 3C */	slwi r4, r28, 1
/* 803D2424 003CE084  38 00 00 05 */	li r0, 5
/* 803D2428 003CE088  7C 84 03 D6 */	divw r4, r4, r0
/* 803D242C 003CE08C  80 DE 30 44 */	lwz r6, 0x3044(r30)
/* 803D2430 003CE090  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803D2434 003CE094  38 A0 00 02 */	li r5, 2
/* 803D2438 003CE098  54 C6 20 36 */	slwi r6, r6, 4
/* 803D243C 003CE09C  90 7E 21 44 */	stw r3, 0x2144(r30)
/* 803D2440 003CE0A0  7C DE 32 14 */	add r6, r30, r6
/* 803D2444 003CE0A4  38 84 00 02 */	addi r4, r4, 2
/* 803D2448 003CE0A8  88 C6 03 E1 */	lbz r6, 0x3e1(r6)
/* 803D244C 003CE0AC  1C E0 00 C0 */	mulli r7, r0, 0xc0
/* 803D2450 003CE0B0  7C 03 31 D6 */	mullw r0, r3, r6
/* 803D2454 003CE0B4  7C 7E 3A 14 */	add r3, r30, r7
/* 803D2458 003CE0B8  7C 00 21 D6 */	mullw r0, r0, r4
/* 803D245C 003CE0BC  90 1E 21 44 */	stw r0, 0x2144(r30)
/* 803D2460 003CE0C0  88 03 2D 66 */	lbz r0, 0x2d66(r3)
/* 803D2464 003CE0C4  A0 63 2D 40 */	lhz r3, 0x2d40(r3)
/* 803D2468 003CE0C8  54 04 EE FE */	rlwinm r4, r0, 0x1d, 0x1b, 0x1f
/* 803D246C 003CE0CC  48 00 94 61 */	bl func_803DB8CC
/* 803D2470 003CE0D0  80 9E 21 44 */	lwz r4, 0x2144(r30)
/* 803D2474 003CE0D4  38 A0 00 32 */	li r5, 0x32
/* 803D2478 003CE0D8  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D247C 003CE0DC  7C C4 1B 96 */	divwu r6, r4, r3
/* 803D2480 003CE0E0  80 9E 21 50 */	lwz r4, 0x2150(r30)
/* 803D2484 003CE0E4  54 00 30 32 */	slwi r0, r0, 6
/* 803D2488 003CE0E8  7C 7E 02 14 */	add r3, r30, r0
/* 803D248C 003CE0EC  7C A6 2B D6 */	divw r5, r6, r5
/* 803D2490 003CE0F0  38 05 00 02 */	addi r0, r5, 2
/* 803D2494 003CE0F4  7C 80 21 D6 */	mullw r4, r0, r4
/* 803D2498 003CE0F8  90 9E 21 44 */	stw r4, 0x2144(r30)
/* 803D249C 003CE0FC  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D24A0 003CE100  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803D24A4 003CE104  41 82 00 14 */	beq lbl_803D24B8
/* 803D24A8 003CE108  1C 64 00 0F */	mulli r3, r4, 0xf
/* 803D24AC 003CE10C  38 00 00 0A */	li r0, 0xa
/* 803D24B0 003CE110  7C 03 03 D6 */	divw r0, r3, r0
/* 803D24B4 003CE114  90 1E 21 44 */	stw r0, 0x2144(r30)
lbl_803D24B8:
/* 803D24B8 003CE118  80 9E 21 44 */	lwz r4, 0x2144(r30)
/* 803D24BC 003CE11C  7F C3 F3 78 */	mr r3, r30
/* 803D24C0 003CE120  4B FF 5F 89 */	bl func_803C8448
/* 803D24C4 003CE124  88 9E 21 7F */	lbz r4, 0x217f(r30)
/* 803D24C8 003CE128  1D 03 FF FF */	mulli r8, r3, -1
/* 803D24CC 003CE12C  38 E0 00 02 */	li r7, 2
/* 803D24D0 003CE130  80 DE 00 64 */	lwz r6, 0x64(r30)
/* 803D24D4 003CE134  38 A0 01 E1 */	li r5, 0x1e1
/* 803D24D8 003CE138  98 FE 00 F5 */	stb r7, 0xf5(r30)
/* 803D24DC 003CE13C  38 04 00 01 */	addi r0, r4, 1
/* 803D24E0 003CE140  54 83 40 2E */	slwi r3, r4, 8
/* 803D24E4 003CE144  B0 BE 00 F6 */	sth r5, 0xf6(r30)
/* 803D24E8 003CE148  54 05 06 3E */	clrlwi r5, r0, 0x18
/* 803D24EC 003CE14C  7C C3 1B 78 */	or r3, r6, r3
/* 803D24F0 003CE150  91 1E 21 44 */	stw r8, 0x2144(r30)
/* 803D24F4 003CE154  7C 05 F8 00 */	cmpw r5, r31
/* 803D24F8 003CE158  90 7E 00 F8 */	stw r3, 0xf8(r30)
/* 803D24FC 003CE15C  98 1E 21 7F */	stb r0, 0x217f(r30)
/* 803D2500 003CE160  98 FE 21 7C */	stb r7, 0x217c(r30)
/* 803D2504 003CE164  40 80 00 AC */	bge lbl_803D25B0
lbl_803D2508:
/* 803D2508 003CE168  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D250C 003CE16C  7F A3 EB 78 */	mr r3, r29
/* 803D2510 003CE170  4B FD A4 95 */	bl func_803AC9A4
/* 803D2514 003CE174  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D2518 003CE178  7C 7C 1B 78 */	mr r28, r3
/* 803D251C 003CE17C  88 BE 21 7F */	lbz r5, 0x217f(r30)
/* 803D2520 003CE180  7C 9E 02 14 */	add r4, r30, r0
/* 803D2524 003CE184  88 04 21 9C */	lbz r0, 0x219c(r4)
/* 803D2528 003CE188  7C 05 00 40 */	cmplw r5, r0
/* 803D252C 003CE18C  41 82 00 8C */	beq lbl_803D25B8
/* 803D2530 003CE190  38 80 00 A2 */	li r4, 0xa2
/* 803D2534 003CE194  38 A0 00 00 */	li r5, 0
/* 803D2538 003CE198  48 00 B4 A5 */	bl func_803DD9DC
/* 803D253C 003CE19C  2C 03 00 00 */	cmpwi r3, 0
/* 803D2540 003CE1A0  41 82 00 4C */	beq lbl_803D258C
/* 803D2544 003CE1A4  7F 83 E3 78 */	mr r3, r28
/* 803D2548 003CE1A8  38 80 00 AD */	li r4, 0xad
/* 803D254C 003CE1AC  38 A0 00 00 */	li r5, 0
/* 803D2550 003CE1B0  48 00 B4 8D */	bl func_803DD9DC
/* 803D2554 003CE1B4  2C 03 00 00 */	cmpwi r3, 0
/* 803D2558 003CE1B8  41 82 00 34 */	beq lbl_803D258C
/* 803D255C 003CE1BC  7F 83 E3 78 */	mr r3, r28
/* 803D2560 003CE1C0  38 80 00 AD */	li r4, 0xad
/* 803D2564 003CE1C4  38 A0 00 00 */	li r5, 0
/* 803D2568 003CE1C8  48 00 B4 75 */	bl func_803DD9DC
/* 803D256C 003CE1CC  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D2570 003CE1D0  41 82 00 1C */	beq lbl_803D258C
/* 803D2574 003CE1D4  7F 83 E3 78 */	mr r3, r28
/* 803D2578 003CE1D8  38 80 00 9F */	li r4, 0x9f
/* 803D257C 003CE1DC  38 A0 00 00 */	li r5, 0
/* 803D2580 003CE1E0  48 00 B4 5D */	bl func_803DD9DC
/* 803D2584 003CE1E4  2C 03 00 00 */	cmpwi r3, 0
/* 803D2588 003CE1E8  41 82 00 30 */	beq lbl_803D25B8
lbl_803D258C:
/* 803D258C 003CE1EC  88 7E 21 7F */	lbz r3, 0x217f(r30)
/* 803D2590 003CE1F0  38 03 00 01 */	addi r0, r3, 1
/* 803D2594 003CE1F4  54 05 06 3E */	clrlwi r5, r0, 0x18
/* 803D2598 003CE1F8  98 1E 21 7F */	stb r0, 0x217f(r30)
/* 803D259C 003CE1FC  7C 05 F8 00 */	cmpw r5, r31
/* 803D25A0 003CE200  41 80 FF 68 */	blt lbl_803D2508
/* 803D25A4 003CE204  38 00 00 01 */	li r0, 1
/* 803D25A8 003CE208  98 1E 21 7C */	stb r0, 0x217c(r30)
/* 803D25AC 003CE20C  48 00 00 0C */	b lbl_803D25B8
lbl_803D25B0:
/* 803D25B0 003CE210  38 00 00 01 */	li r0, 1
/* 803D25B4 003CE214  98 1E 21 7C */	stb r0, 0x217c(r30)
lbl_803D25B8:
/* 803D25B8 003CE218  39 61 00 20 */	addi r11, r1, 0x20
/* 803D25BC 003CE21C  38 60 00 00 */	li r3, 0
/* 803D25C0 003CE220  4B DF 4B B1 */	bl _restgpr_26
/* 803D25C4 003CE224  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D25C8 003CE228  7C 08 03 A6 */	mtlr r0
/* 803D25CC 003CE22C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D25D0 003CE230  4E 80 00 20 */	blr 
/* 803D25D4 003CE234  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D25D8 003CE238  7C 08 02 A6 */	mflr r0
/* 803D25DC 003CE23C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D25E0 003CE240  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D25E4 003CE244  7C 9F 23 78 */	mr r31, r4
/* 803D25E8 003CE248  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D25EC 003CE24C  38 05 00 01 */	addi r0, r5, 1
/* 803D25F0 003CE250  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D25F4 003CE254  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803D25F8 003CE258  4B FD A6 ED */	bl func_803ACCE4
/* 803D25FC 003CE25C  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803D2600 003CE260  38 60 00 00 */	li r3, 0
/* 803D2604 003CE264  7C BF 02 14 */	add r5, r31, r0
/* 803D2608 003CE268  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803D260C 003CE26C  60 84 08 00 */	ori r4, r4, 0x800
/* 803D2610 003CE270  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D2614 003CE274  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D2618 003CE278  50 04 4D 6C */	rlwimi r4, r0, 9, 0x15, 0x16
/* 803D261C 003CE27C  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D2620 003CE280  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D2624 003CE284  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D2628 003CE288  7C 08 03 A6 */	mtlr r0
/* 803D262C 003CE28C  38 21 00 10 */	addi r1, r1, 0x10
/* 803D2630 003CE290  4E 80 00 20 */	blr 
/* 803D2634 003CE294  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2638 003CE298  7C 08 02 A6 */	mflr r0
/* 803D263C 003CE29C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2640 003CE2A0  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2644 003CE2A4  4B DF 4A ED */	bl _savegpr_29
/* 803D2648 003CE2A8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D264C 003CE2AC  7C 9D 23 78 */	mr r29, r4
/* 803D2650 003CE2B0  7C 7E 1B 78 */	mr r30, r3
/* 803D2654 003CE2B4  38 05 00 01 */	addi r0, r5, 1
/* 803D2658 003CE2B8  7F A3 EB 78 */	mr r3, r29
/* 803D265C 003CE2BC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2660 003CE2C0  48 00 48 0D */	bl func_803D6E6C
/* 803D2664 003CE2C4  7C 7F 1B 78 */	mr r31, r3
/* 803D2668 003CE2C8  7F C3 F3 78 */	mr r3, r30
/* 803D266C 003CE2CC  4B FD A1 D5 */	bl func_803AC840
/* 803D2670 003CE2D0  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803D2674 003CE2D4  41 82 00 A0 */	beq lbl_803D2714
/* 803D2678 003CE2D8  7F C3 F3 78 */	mr r3, r30
/* 803D267C 003CE2DC  7F A4 EB 78 */	mr r4, r29
/* 803D2680 003CE2E0  38 A0 00 10 */	li r5, 0x10
/* 803D2684 003CE2E4  48 00 59 B9 */	bl func_803D803C
/* 803D2688 003CE2E8  7C 7E 1B 78 */	mr r30, r3
/* 803D268C 003CE2EC  48 00 B2 95 */	bl func_803DD920
/* 803D2690 003CE2F0  88 1D 31 08 */	lbz r0, 0x3108(r29)
/* 803D2694 003CE2F4  7C 00 18 39 */	and. r0, r0, r3
/* 803D2698 003CE2F8  40 82 00 6C */	bne lbl_803D2704
/* 803D269C 003CE2FC  57 C0 20 36 */	slwi r0, r30, 4
/* 803D26A0 003CE300  7C 7D 02 14 */	add r3, r29, r0
/* 803D26A4 003CE304  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803D26A8 003CE308  28 00 00 27 */	cmplwi r0, 0x27
/* 803D26AC 003CE30C  41 82 00 58 */	beq lbl_803D2704
/* 803D26B0 003CE310  1C 1E 00 C0 */	mulli r0, r30, 0xc0
/* 803D26B4 003CE314  7C 7D 02 14 */	add r3, r29, r0
/* 803D26B8 003CE318  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D26BC 003CE31C  2C 00 00 00 */	cmpwi r0, 0
/* 803D26C0 003CE320  41 82 00 44 */	beq lbl_803D2704
/* 803D26C4 003CE324  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803D26C8 003CE328  54 00 30 32 */	slwi r0, r0, 6
/* 803D26CC 003CE32C  7C 7D 02 14 */	add r3, r29, r0
/* 803D26D0 003CE330  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D26D4 003CE334  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803D26D8 003CE338  40 82 00 2C */	bne lbl_803D2704
/* 803D26DC 003CE33C  57 C0 30 32 */	slwi r0, r30, 6
/* 803D26E0 003CE340  7C 7D 02 14 */	add r3, r29, r0
/* 803D26E4 003CE344  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D26E8 003CE348  54 00 27 FF */	rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 803D26EC 003CE34C  40 82 00 18 */	bne lbl_803D2704
/* 803D26F0 003CE350  93 DD 01 18 */	stw r30, 0x118(r29)
/* 803D26F4 003CE354  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D26F8 003CE358  64 00 10 00 */	oris r0, r0, 0x1000
/* 803D26FC 003CE35C  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D2700 003CE360  48 00 00 20 */	b lbl_803D2720
lbl_803D2704:
/* 803D2704 003CE364  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D2708 003CE368  7C 00 FA 14 */	add r0, r0, r31
/* 803D270C 003CE36C  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D2710 003CE370  48 00 00 10 */	b lbl_803D2720
lbl_803D2714:
/* 803D2714 003CE374  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D2718 003CE378  7C 00 FA 14 */	add r0, r0, r31
/* 803D271C 003CE37C  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D2720:
/* 803D2720 003CE380  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2724 003CE384  38 60 00 00 */	li r3, 0
/* 803D2728 003CE388  4B DF 4A 55 */	bl _restgpr_29
/* 803D272C 003CE38C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D2730 003CE390  7C 08 03 A6 */	mtlr r0
/* 803D2734 003CE394  38 21 00 20 */	addi r1, r1, 0x20
/* 803D2738 003CE398  4E 80 00 20 */	blr 
/* 803D273C 003CE39C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D2740 003CE3A0  7C 08 02 A6 */	mflr r0
/* 803D2744 003CE3A4  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D2748 003CE3A8  39 61 00 30 */	addi r11, r1, 0x30
/* 803D274C 003CE3AC  4B DF 49 D5 */	bl _savegpr_25
/* 803D2750 003CE3B0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2754 003CE3B4  7C 9D 23 78 */	mr r29, r4
/* 803D2758 003CE3B8  7C 79 1B 78 */	mr r25, r3
/* 803D275C 003CE3BC  38 05 00 01 */	addi r0, r5, 1
/* 803D2760 003CE3C0  7F A3 EB 78 */	mr r3, r29
/* 803D2764 003CE3C4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2768 003CE3C8  48 00 47 05 */	bl func_803D6E6C
/* 803D276C 003CE3CC  7C 7E 1B 78 */	mr r30, r3
/* 803D2770 003CE3D0  7F A3 EB 78 */	mr r3, r29
/* 803D2774 003CE3D4  48 00 46 F9 */	bl func_803D6E6C
/* 803D2778 003CE3D8  7C 7F 1B 78 */	mr r31, r3
/* 803D277C 003CE3DC  7F 23 CB 78 */	mr r3, r25
/* 803D2780 003CE3E0  4B FD A0 C1 */	bl func_803AC840
/* 803D2784 003CE3E4  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D2788 003CE3E8  7C 7C 1B 78 */	mr r28, r3
/* 803D278C 003CE3EC  7F 23 CB 78 */	mr r3, r25
/* 803D2790 003CE3F0  4B FD A5 55 */	bl func_803ACCE4
/* 803D2794 003CE3F4  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803D2798 003CE3F8  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803D279C 003CE3FC  7F 23 CB 78 */	mr r3, r25
/* 803D27A0 003CE400  4B FD A5 45 */	bl func_803ACCE4
/* 803D27A4 003CE404  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D27A8 003CE408  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 803D27AC 003CE40C  7F 23 CB 78 */	mr r3, r25
/* 803D27B0 003CE410  4B FD A5 35 */	bl func_803ACCE4
/* 803D27B4 003CE414  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D27B8 003CE418  41 82 00 1C */	beq lbl_803D27D4
/* 803D27BC 003CE41C  2C 1C 00 00 */	cmpwi r28, 0
/* 803D27C0 003CE420  40 82 00 14 */	bne lbl_803D27D4
/* 803D27C4 003CE424  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D27C8 003CE428  7C 00 F2 14 */	add r0, r0, r30
/* 803D27CC 003CE42C  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D27D0 003CE430  48 00 00 F0 */	b lbl_803D28C0
lbl_803D27D4:
/* 803D27D4 003CE434  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803D27D8 003CE438  7C 7D 02 14 */	add r3, r29, r0
/* 803D27DC 003CE43C  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803D27E0 003CE440  48 00 B1 41 */	bl func_803DD920
/* 803D27E4 003CE444  57 60 18 38 */	slwi r0, r27, 3
/* 803D27E8 003CE448  7C 9D 02 14 */	add r4, r29, r0
/* 803D27EC 003CE44C  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803D27F0 003CE450  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803D27F4 003CE454  7C 00 18 39 */	and. r0, r0, r3
/* 803D27F8 003CE458  40 82 00 2C */	bne lbl_803D2824
/* 803D27FC 003CE45C  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803D2800 003CE460  7C 7D 02 14 */	add r3, r29, r0
/* 803D2804 003CE464  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803D2808 003CE468  48 00 B1 19 */	bl func_803DD920
/* 803D280C 003CE46C  57 40 18 38 */	slwi r0, r26, 3
/* 803D2810 003CE470  7C 9D 02 14 */	add r4, r29, r0
/* 803D2814 003CE474  80 04 01 C4 */	lwz r0, 0x1c4(r4)
/* 803D2818 003CE478  54 00 EE BE */	rlwinm r0, r0, 0x1d, 0x1a, 0x1f
/* 803D281C 003CE47C  7C 00 18 39 */	and. r0, r0, r3
/* 803D2820 003CE480  41 82 00 14 */	beq lbl_803D2834
lbl_803D2824:
/* 803D2824 003CE484  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D2828 003CE488  7C 00 F2 14 */	add r0, r0, r30
/* 803D282C 003CE48C  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D2830 003CE490  48 00 00 90 */	b lbl_803D28C0
lbl_803D2834:
/* 803D2834 003CE494  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D2838 003CE498  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D283C 003CE49C  7C 7D 02 14 */	add r3, r29, r0
/* 803D2840 003CE4A0  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D2844 003CE4A4  2C 00 00 00 */	cmpwi r0, 0
/* 803D2848 003CE4A8  40 82 00 1C */	bne lbl_803D2864
/* 803D284C 003CE4AC  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 803D2850 003CE4B0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D2854 003CE4B4  7C 7D 02 14 */	add r3, r29, r0
/* 803D2858 003CE4B8  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D285C 003CE4BC  2C 00 00 00 */	cmpwi r0, 0
/* 803D2860 003CE4C0  41 82 00 28 */	beq lbl_803D2888
lbl_803D2864:
/* 803D2864 003CE4C4  7F A3 EB 78 */	mr r3, r29
/* 803D2868 003CE4C8  4B FE D1 D9 */	bl func_803BFA40
/* 803D286C 003CE4CC  2C 03 00 00 */	cmpwi r3, 0
/* 803D2870 003CE4D0  41 82 00 18 */	beq lbl_803D2888
/* 803D2874 003CE4D4  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803D2878 003CE4D8  7F A3 EB 78 */	mr r3, r29
/* 803D287C 003CE4DC  4B FE D1 C5 */	bl func_803BFA40
/* 803D2880 003CE4E0  2C 03 00 00 */	cmpwi r3, 0
/* 803D2884 003CE4E4  40 82 00 14 */	bne lbl_803D2898
lbl_803D2888:
/* 803D2888 003CE4E8  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D288C 003CE4EC  7C 00 F2 14 */	add r0, r0, r30
/* 803D2890 003CE4F0  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D2894 003CE4F4  48 00 00 2C */	b lbl_803D28C0
lbl_803D2898:
/* 803D2898 003CE4F8  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D289C 003CE4FC  7F A3 EB 78 */	mr r3, r29
/* 803D28A0 003CE500  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803D28A4 003CE504  38 C0 00 3C */	li r6, 0x3c
/* 803D28A8 003CE508  4B FE D2 E9 */	bl func_803BFB90
/* 803D28AC 003CE50C  2C 03 00 01 */	cmpwi r3, 1
/* 803D28B0 003CE510  40 82 00 10 */	bne lbl_803D28C0
/* 803D28B4 003CE514  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D28B8 003CE518  7C 00 FA 14 */	add r0, r0, r31
/* 803D28BC 003CE51C  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D28C0:
/* 803D28C0 003CE520  39 61 00 30 */	addi r11, r1, 0x30
/* 803D28C4 003CE524  38 60 00 00 */	li r3, 0
/* 803D28C8 003CE528  4B DF 48 A5 */	bl _restgpr_25
/* 803D28CC 003CE52C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D28D0 003CE530  7C 08 03 A6 */	mtlr r0
/* 803D28D4 003CE534  38 21 00 30 */	addi r1, r1, 0x30
/* 803D28D8 003CE538  4E 80 00 20 */	blr 
/* 803D28DC 003CE53C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D28E0 003CE540  7C 08 02 A6 */	mflr r0
/* 803D28E4 003CE544  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D28E8 003CE548  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D28EC 003CE54C  7C 9F 23 78 */	mr r31, r4
/* 803D28F0 003CE550  7F E3 FB 78 */	mr r3, r31
/* 803D28F4 003CE554  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D28F8 003CE558  38 05 00 01 */	addi r0, r5, 1
/* 803D28FC 003CE55C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2900 003CE560  48 00 45 6D */	bl func_803D6E6C
/* 803D2904 003CE564  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D2908 003CE568  7C 9F 02 14 */	add r4, r31, r0
/* 803D290C 003CE56C  88 04 01 8C */	lbz r0, 0x18c(r4)
/* 803D2910 003CE570  2C 00 00 00 */	cmpwi r0, 0
/* 803D2914 003CE574  41 82 00 14 */	beq lbl_803D2928
/* 803D2918 003CE578  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D291C 003CE57C  7C 00 1A 14 */	add r0, r0, r3
/* 803D2920 003CE580  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D2924 003CE584  48 00 00 1C */	b lbl_803D2940
lbl_803D2928:
/* 803D2928 003CE588  38 00 00 02 */	li r0, 2
/* 803D292C 003CE58C  98 04 01 8C */	stb r0, 0x18c(r4)
/* 803D2930 003CE590  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D2934 003CE594  7C 7F 02 14 */	add r3, r31, r0
/* 803D2938 003CE598  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803D293C 003CE59C  98 03 01 B8 */	stb r0, 0x1b8(r3)
lbl_803D2940:
/* 803D2940 003CE5A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D2944 003CE5A4  38 60 00 00 */	li r3, 0
/* 803D2948 003CE5A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D294C 003CE5AC  7C 08 03 A6 */	mtlr r0
/* 803D2950 003CE5B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D2954 003CE5B4  4E 80 00 20 */	blr 
/* 803D2958 003CE5B8  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 803D295C 003CE5BC  7C 08 02 A6 */	mflr r0
/* 803D2960 003CE5C0  90 01 00 74 */	stw r0, 0x74(r1)
/* 803D2964 003CE5C4  39 61 00 70 */	addi r11, r1, 0x70
/* 803D2968 003CE5C8  4B DF 47 A9 */	bl _savegpr_21
/* 803D296C 003CE5CC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2970 003CE5D0  7C 9F 23 78 */	mr r31, r4
/* 803D2974 003CE5D4  7C 75 1B 78 */	mr r21, r3
/* 803D2978 003CE5D8  38 05 00 01 */	addi r0, r5, 1
/* 803D297C 003CE5DC  7F E3 FB 78 */	mr r3, r31
/* 803D2980 003CE5E0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2984 003CE5E4  48 00 44 E9 */	bl func_803D6E6C
/* 803D2988 003CE5E8  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D298C 003CE5EC  7C 7B 1B 78 */	mr r27, r3
/* 803D2990 003CE5F0  7E A3 AB 78 */	mr r3, r21
/* 803D2994 003CE5F4  3A E0 00 00 */	li r23, 0
/* 803D2998 003CE5F8  4B FD 9F 69 */	bl func_803AC900
/* 803D299C 003CE5FC  7C 7C 1B 78 */	mr r28, r3
/* 803D29A0 003CE600  3B A1 00 08 */	addi r29, r1, 8
/* 803D29A4 003CE604  3B 20 00 00 */	li r25, 0
/* 803D29A8 003CE608  48 00 00 AC */	b lbl_803D2A54
lbl_803D29AC:
/* 803D29AC 003CE60C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D29B0 003CE610  7C 7F 22 14 */	add r3, r31, r4
/* 803D29B4 003CE614  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803D29B8 003CE618  7C 19 00 00 */	cmpw r25, r0
/* 803D29BC 003CE61C  41 82 00 94 */	beq lbl_803D2A50
/* 803D29C0 003CE620  7E A3 AB 78 */	mr r3, r21
/* 803D29C4 003CE624  7F 25 CB 78 */	mr r5, r25
/* 803D29C8 003CE628  4B FD 9F DD */	bl func_803AC9A4
/* 803D29CC 003CE62C  7C 76 1B 78 */	mr r22, r3
/* 803D29D0 003CE630  38 80 00 AD */	li r4, 0xad
/* 803D29D4 003CE634  38 A0 00 00 */	li r5, 0
/* 803D29D8 003CE638  48 00 B0 05 */	bl func_803DD9DC
/* 803D29DC 003CE63C  2C 03 00 00 */	cmpwi r3, 0
/* 803D29E0 003CE640  41 82 00 70 */	beq lbl_803D2A50
/* 803D29E4 003CE644  7E C3 B3 78 */	mr r3, r22
/* 803D29E8 003CE648  38 80 00 AD */	li r4, 0xad
/* 803D29EC 003CE64C  38 A0 00 00 */	li r5, 0
/* 803D29F0 003CE650  48 00 AF ED */	bl func_803DD9DC
/* 803D29F4 003CE654  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D29F8 003CE658  41 82 00 58 */	beq lbl_803D2A50
/* 803D29FC 003CE65C  56 FE 08 3C */	slwi r30, r23, 1
/* 803D2A00 003CE660  3B 00 00 00 */	li r24, 0
lbl_803D2A04:
/* 803D2A04 003CE664  7E C3 B3 78 */	mr r3, r22
/* 803D2A08 003CE668  38 98 00 36 */	addi r4, r24, 0x36
/* 803D2A0C 003CE66C  38 A0 00 00 */	li r5, 0
/* 803D2A10 003CE670  48 00 AF CD */	bl func_803DD9DC
/* 803D2A14 003CE674  54 7A 04 3E */	clrlwi r26, r3, 0x10
/* 803D2A18 003CE678  7F 43 D3 78 */	mr r3, r26
/* 803D2A1C 003CE67C  4B FE CE C9 */	bl func_803BF8E4
/* 803D2A20 003CE680  2C 03 00 00 */	cmpwi r3, 0
/* 803D2A24 003CE684  40 82 00 20 */	bne lbl_803D2A44
/* 803D2A28 003CE688  7F 43 D3 78 */	mr r3, r26
/* 803D2A2C 003CE68C  4B FF 5C 5D */	bl func_803C8688
/* 803D2A30 003CE690  2C 03 00 01 */	cmpwi r3, 1
/* 803D2A34 003CE694  40 82 00 10 */	bne lbl_803D2A44
/* 803D2A38 003CE698  7F 5D F3 2E */	sthx r26, r29, r30
/* 803D2A3C 003CE69C  3A F7 00 01 */	addi r23, r23, 1
/* 803D2A40 003CE6A0  3B DE 00 02 */	addi r30, r30, 2
lbl_803D2A44:
/* 803D2A44 003CE6A4  3B 18 00 01 */	addi r24, r24, 1
/* 803D2A48 003CE6A8  2C 18 00 04 */	cmpwi r24, 4
/* 803D2A4C 003CE6AC  41 80 FF B8 */	blt lbl_803D2A04
lbl_803D2A50:
/* 803D2A50 003CE6B0  3B 39 00 01 */	addi r25, r25, 1
lbl_803D2A54:
/* 803D2A54 003CE6B4  7C 19 E0 00 */	cmpw r25, r28
/* 803D2A58 003CE6B8  41 80 FF 54 */	blt lbl_803D29AC
/* 803D2A5C 003CE6BC  2C 17 00 00 */	cmpwi r23, 0
/* 803D2A60 003CE6C0  41 82 00 2C */	beq lbl_803D2A8C
/* 803D2A64 003CE6C4  48 00 6D 55 */	bl func_803D97B8
/* 803D2A68 003CE6C8  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D2A6C 003CE6CC  38 61 00 08 */	addi r3, r1, 8
/* 803D2A70 003CE6D0  7C 04 BB D6 */	divw r0, r4, r23
/* 803D2A74 003CE6D4  7C 00 B9 D6 */	mullw r0, r0, r23
/* 803D2A78 003CE6D8  7C 00 20 50 */	subf r0, r0, r4
/* 803D2A7C 003CE6DC  54 00 08 3C */	slwi r0, r0, 1
/* 803D2A80 003CE6E0  7C 03 02 2E */	lhzx r0, r3, r0
/* 803D2A84 003CE6E4  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D2A88 003CE6E8  48 00 00 10 */	b lbl_803D2A98
lbl_803D2A8C:
/* 803D2A8C 003CE6EC  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D2A90 003CE6F0  7C 00 DA 14 */	add r0, r0, r27
/* 803D2A94 003CE6F4  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D2A98:
/* 803D2A98 003CE6F8  39 61 00 70 */	addi r11, r1, 0x70
/* 803D2A9C 003CE6FC  38 60 00 00 */	li r3, 0
/* 803D2AA0 003CE700  4B DF 46 BD */	bl _restgpr_21
/* 803D2AA4 003CE704  80 01 00 74 */	lwz r0, 0x74(r1)
/* 803D2AA8 003CE708  7C 08 03 A6 */	mtlr r0
/* 803D2AAC 003CE70C  38 21 00 70 */	addi r1, r1, 0x70
/* 803D2AB0 003CE710  4E 80 00 20 */	blr 
/* 803D2AB4 003CE714  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2AB8 003CE718  7C 08 02 A6 */	mflr r0
/* 803D2ABC 003CE71C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2AC0 003CE720  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2AC4 003CE724  4B DF 46 61 */	bl _savegpr_26
/* 803D2AC8 003CE728  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2ACC 003CE72C  7C 9B 23 78 */	mr r27, r4
/* 803D2AD0 003CE730  7C 7A 1B 78 */	mr r26, r3
/* 803D2AD4 003CE734  38 05 00 01 */	addi r0, r5, 1
/* 803D2AD8 003CE738  7F 63 DB 78 */	mr r3, r27
/* 803D2ADC 003CE73C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2AE0 003CE740  48 00 43 8D */	bl func_803D6E6C
/* 803D2AE4 003CE744  7C 7E 1B 78 */	mr r30, r3
/* 803D2AE8 003CE748  3B 80 00 00 */	li r28, 0
/* 803D2AEC 003CE74C  3B A0 00 00 */	li r29, 0
/* 803D2AF0 003CE750  3B E0 00 00 */	li r31, 0
/* 803D2AF4 003CE754  48 00 00 20 */	b lbl_803D2B14
lbl_803D2AF8:
/* 803D2AF8 003CE758  7C 7B FA 14 */	add r3, r27, r31
/* 803D2AFC 003CE75C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D2B00 003CE760  2C 00 00 00 */	cmpwi r0, 0
/* 803D2B04 003CE764  41 82 00 08 */	beq lbl_803D2B0C
/* 803D2B08 003CE768  3B 9C 00 01 */	addi r28, r28, 1
lbl_803D2B0C:
/* 803D2B0C 003CE76C  3B BD 00 01 */	addi r29, r29, 1
/* 803D2B10 003CE770  3B FF 00 C0 */	addi r31, r31, 0xc0
lbl_803D2B14:
/* 803D2B14 003CE774  7F 43 D3 78 */	mr r3, r26
/* 803D2B18 003CE778  4B FD 9D 49 */	bl func_803AC860
/* 803D2B1C 003CE77C  7C 1D 18 00 */	cmpw r29, r3
/* 803D2B20 003CE780  41 80 FF D8 */	blt lbl_803D2AF8
/* 803D2B24 003CE784  80 7B 00 EC */	lwz r3, 0xec(r27)
/* 803D2B28 003CE788  38 1C FF FF */	addi r0, r28, -1
/* 803D2B2C 003CE78C  7C 03 00 40 */	cmplw r3, r0
/* 803D2B30 003CE790  40 82 00 14 */	bne lbl_803D2B44
/* 803D2B34 003CE794  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D2B38 003CE798  7C 00 F2 14 */	add r0, r0, r30
/* 803D2B3C 003CE79C  90 1B 00 B4 */	stw r0, 0xb4(r27)
/* 803D2B40 003CE7A0  48 00 00 1C */	b lbl_803D2B5C
lbl_803D2B44:
/* 803D2B44 003CE7A4  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803D2B48 003CE7A8  54 00 30 32 */	slwi r0, r0, 6
/* 803D2B4C 003CE7AC  7C 7B 02 14 */	add r3, r27, r0
/* 803D2B50 003CE7B0  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D2B54 003CE7B4  64 00 08 00 */	oris r0, r0, 0x800
/* 803D2B58 003CE7B8  90 03 01 D4 */	stw r0, 0x1d4(r3)
lbl_803D2B5C:
/* 803D2B5C 003CE7BC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2B60 003CE7C0  38 60 00 00 */	li r3, 0
/* 803D2B64 003CE7C4  4B DF 46 0D */	bl _restgpr_26
/* 803D2B68 003CE7C8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D2B6C 003CE7CC  7C 08 03 A6 */	mtlr r0
/* 803D2B70 003CE7D0  38 21 00 20 */	addi r1, r1, 0x20
/* 803D2B74 003CE7D4  4E 80 00 20 */	blr 
/* 803D2B78 003CE7D8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2B7C 003CE7DC  7C 08 02 A6 */	mflr r0
/* 803D2B80 003CE7E0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2B84 003CE7E4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2B88 003CE7E8  4B DF 45 A9 */	bl _savegpr_29
/* 803D2B8C 003CE7EC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2B90 003CE7F0  7C 9E 23 78 */	mr r30, r4
/* 803D2B94 003CE7F4  7C 7D 1B 78 */	mr r29, r3
/* 803D2B98 003CE7F8  38 05 00 01 */	addi r0, r5, 1
/* 803D2B9C 003CE7FC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2BA0 003CE800  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803D2BA4 003CE804  4B FD A1 41 */	bl func_803ACCE4
/* 803D2BA8 003CE808  83 FE 00 64 */	lwz r31, 0x64(r30)
/* 803D2BAC 003CE80C  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803D2BB0 003CE810  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D2BB4 003CE814  7C 7E 02 14 */	add r3, r30, r0
/* 803D2BB8 003CE818  93 FE 00 84 */	stw r31, 0x84(r30)
/* 803D2BBC 003CE81C  90 9E 00 64 */	stw r4, 0x64(r30)
/* 803D2BC0 003CE820  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803D2BC4 003CE824  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803D2BC8 003CE828  41 82 00 24 */	beq lbl_803D2BEC
/* 803D2BCC 003CE82C  54 64 BF BE */	rlwinm r4, r3, 0x17, 0x1e, 0x1f
/* 803D2BD0 003CE830  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D2BD4 003CE834  7C 7E 02 14 */	add r3, r30, r0
/* 803D2BD8 003CE838  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D2BDC 003CE83C  2C 00 00 00 */	cmpwi r0, 0
/* 803D2BE0 003CE840  41 82 00 0C */	beq lbl_803D2BEC
/* 803D2BE4 003CE844  90 9E 00 6C */	stw r4, 0x6c(r30)
/* 803D2BE8 003CE848  48 00 00 70 */	b lbl_803D2C58
lbl_803D2BEC:
/* 803D2BEC 003CE84C  80 DE 30 44 */	lwz r6, 0x3044(r30)
/* 803D2BF0 003CE850  54 C0 20 36 */	slwi r0, r6, 4
/* 803D2BF4 003CE854  7C 7E 02 14 */	add r3, r30, r0
/* 803D2BF8 003CE858  A0 03 03 E6 */	lhz r0, 0x3e6(r3)
/* 803D2BFC 003CE85C  28 00 00 04 */	cmplwi r0, 4
/* 803D2C00 003CE860  41 82 00 0C */	beq lbl_803D2C0C
/* 803D2C04 003CE864  28 00 00 08 */	cmplwi r0, 8
/* 803D2C08 003CE868  40 82 00 0C */	bne lbl_803D2C14
lbl_803D2C0C:
/* 803D2C0C 003CE86C  93 FE 00 6C */	stw r31, 0x6c(r30)
/* 803D2C10 003CE870  48 00 00 48 */	b lbl_803D2C58
lbl_803D2C14:
/* 803D2C14 003CE874  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803D2C18 003CE878  7F A3 EB 78 */	mr r3, r29
/* 803D2C1C 003CE87C  7F C4 F3 78 */	mr r4, r30
/* 803D2C20 003CE880  54 C6 04 3E */	clrlwi r6, r6, 0x10
/* 803D2C24 003CE884  38 E0 00 01 */	li r7, 1
/* 803D2C28 003CE888  39 00 00 00 */	li r8, 0
/* 803D2C2C 003CE88C  4B FE 9D 39 */	bl func_803BC964
/* 803D2C30 003CE890  1C 03 00 1C */	mulli r0, r3, 0x1c
/* 803D2C34 003CE894  7C 9E 02 14 */	add r4, r30, r0
/* 803D2C38 003CE898  80 84 02 D4 */	lwz r4, 0x2d4(r4)
/* 803D2C3C 003CE89C  54 80 17 FF */	rlwinm. r0, r4, 2, 0x1f, 0x1f
/* 803D2C40 003CE8A0  40 82 00 0C */	bne lbl_803D2C4C
/* 803D2C44 003CE8A4  54 80 1F FF */	rlwinm. r0, r4, 3, 0x1f, 0x1f
/* 803D2C48 003CE8A8  41 82 00 0C */	beq lbl_803D2C54
lbl_803D2C4C:
/* 803D2C4C 003CE8AC  90 7E 00 6C */	stw r3, 0x6c(r30)
/* 803D2C50 003CE8B0  48 00 00 08 */	b lbl_803D2C58
lbl_803D2C54:
/* 803D2C54 003CE8B4  93 FE 00 6C */	stw r31, 0x6c(r30)
lbl_803D2C58:
/* 803D2C58 003CE8B8  80 1E 21 40 */	lwz r0, 0x2140(r30)
/* 803D2C5C 003CE8BC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2C60 003CE8C0  38 60 00 00 */	li r3, 0
/* 803D2C64 003CE8C4  60 00 00 08 */	ori r0, r0, 8
/* 803D2C68 003CE8C8  90 1E 21 40 */	stw r0, 0x2140(r30)
/* 803D2C6C 003CE8CC  4B DF 45 11 */	bl _restgpr_29
/* 803D2C70 003CE8D0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D2C74 003CE8D4  7C 08 03 A6 */	mtlr r0
/* 803D2C78 003CE8D8  38 21 00 20 */	addi r1, r1, 0x20
/* 803D2C7C 003CE8DC  4E 80 00 20 */	blr 
/* 803D2C80 003CE8E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D2C84 003CE8E4  7C 08 02 A6 */	mflr r0
/* 803D2C88 003CE8E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D2C8C 003CE8EC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D2C90 003CE8F0  7C 9F 23 78 */	mr r31, r4
/* 803D2C94 003CE8F4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D2C98 003CE8F8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2C9C 003CE8FC  80 C4 00 64 */	lwz r6, 0x64(r4)
/* 803D2CA0 003CE900  38 05 00 01 */	addi r0, r5, 1
/* 803D2CA4 003CE904  80 64 00 6C */	lwz r3, 0x6c(r4)
/* 803D2CA8 003CE908  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2CAC 003CE90C  54 DE 30 32 */	slwi r30, r6, 6
/* 803D2CB0 003CE910  7C 84 F2 14 */	add r4, r4, r30
/* 803D2CB4 003CE914  54 60 10 3A */	slwi r0, r3, 2
/* 803D2CB8 003CE918  7C 84 02 14 */	add r4, r4, r0
/* 803D2CBC 003CE91C  80 04 01 D8 */	lwz r0, 0x1d8(r4)
/* 803D2CC0 003CE920  2C 00 00 00 */	cmpwi r0, 0
/* 803D2CC4 003CE924  41 82 00 18 */	beq lbl_803D2CDC
/* 803D2CC8 003CE928  48 00 AC 59 */	bl func_803DD920
/* 803D2CCC 003CE92C  7C 9F F2 14 */	add r4, r31, r30
/* 803D2CD0 003CE930  80 04 01 EC */	lwz r0, 0x1ec(r4)
/* 803D2CD4 003CE934  7C 00 18 39 */	and. r0, r0, r3
/* 803D2CD8 003CE938  40 82 00 3C */	bne lbl_803D2D14
lbl_803D2CDC:
/* 803D2CDC 003CE93C  80 7F 00 6C */	lwz r3, 0x6c(r31)
/* 803D2CE0 003CE940  7C 9F F2 14 */	add r4, r31, r30
/* 803D2CE4 003CE944  54 60 10 3A */	slwi r0, r3, 2
/* 803D2CE8 003CE948  7C 84 02 14 */	add r4, r4, r0
/* 803D2CEC 003CE94C  80 04 01 F0 */	lwz r0, 0x1f0(r4)
/* 803D2CF0 003CE950  2C 00 00 00 */	cmpwi r0, 0
/* 803D2CF4 003CE954  41 82 00 2C */	beq lbl_803D2D20
/* 803D2CF8 003CE958  48 00 AC 29 */	bl func_803DD920
/* 803D2CFC 003CE95C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D2D00 003CE960  54 00 30 32 */	slwi r0, r0, 6
/* 803D2D04 003CE964  7C 9F 02 14 */	add r4, r31, r0
/* 803D2D08 003CE968  80 04 02 04 */	lwz r0, 0x204(r4)
/* 803D2D0C 003CE96C  7C 00 18 39 */	and. r0, r0, r3
/* 803D2D10 003CE970  41 82 00 10 */	beq lbl_803D2D20
lbl_803D2D14:
/* 803D2D14 003CE974  38 00 00 14 */	li r0, 0x14
/* 803D2D18 003CE978  90 1F 21 58 */	stw r0, 0x2158(r31)
/* 803D2D1C 003CE97C  48 00 00 0C */	b lbl_803D2D28
lbl_803D2D20:
/* 803D2D20 003CE980  38 00 00 0A */	li r0, 0xa
/* 803D2D24 003CE984  90 1F 21 58 */	stw r0, 0x2158(r31)
lbl_803D2D28:
/* 803D2D28 003CE988  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D2D2C 003CE98C  38 60 00 00 */	li r3, 0
/* 803D2D30 003CE990  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D2D34 003CE994  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D2D38 003CE998  7C 08 03 A6 */	mtlr r0
/* 803D2D3C 003CE99C  38 21 00 10 */	addi r1, r1, 0x10
/* 803D2D40 003CE9A0  4E 80 00 20 */	blr 
/* 803D2D44 003CE9A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2D48 003CE9A8  7C 08 02 A6 */	mflr r0
/* 803D2D4C 003CE9AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2D50 003CE9B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2D54 003CE9B4  4B DF 43 DD */	bl _savegpr_29
/* 803D2D58 003CE9B8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2D5C 003CE9BC  7C 9F 23 78 */	mr r31, r4
/* 803D2D60 003CE9C0  7C 7D 1B 78 */	mr r29, r3
/* 803D2D64 003CE9C4  38 05 00 01 */	addi r0, r5, 1
/* 803D2D68 003CE9C8  7F E3 FB 78 */	mr r3, r31
/* 803D2D6C 003CE9CC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2D70 003CE9D0  48 00 40 FD */	bl func_803D6E6C
/* 803D2D74 003CE9D4  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803D2D78 003CE9D8  7C 7E 1B 78 */	mr r30, r3
/* 803D2D7C 003CE9DC  7F A3 EB 78 */	mr r3, r29
/* 803D2D80 003CE9E0  4B FD 9F 65 */	bl func_803ACCE4
/* 803D2D84 003CE9E4  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803D2D88 003CE9E8  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803D2D8C 003CE9EC  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803D2D90 003CE9F0  38 C0 00 00 */	li r6, 0
/* 803D2D94 003CE9F4  90 C4 00 20 */	stw r6, 0x20(r4)
/* 803D2D98 003CE9F8  7C BF 02 14 */	add r5, r31, r0
/* 803D2D9C 003CE9FC  54 67 06 3E */	clrlwi r7, r3, 0x18
/* 803D2DA0 003CEA00  80 05 01 BC */	lwz r0, 0x1bc(r5)
/* 803D2DA4 003CEA04  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D2DA8 003CEA08  41 82 00 0C */	beq lbl_803D2DB4
/* 803D2DAC 003CEA0C  60 C0 00 01 */	ori r0, r6, 1
/* 803D2DB0 003CEA10  90 04 00 20 */	stw r0, 0x20(r4)
lbl_803D2DB4:
/* 803D2DB4 003CEA14  80 05 01 BC */	lwz r0, 0x1bc(r5)
/* 803D2DB8 003CEA18  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803D2DBC 003CEA1C  41 82 00 18 */	beq lbl_803D2DD4
/* 803D2DC0 003CEA20  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803D2DC4 003CEA24  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803D2DC8 003CEA28  80 03 00 20 */	lwz r0, 0x20(r3)
/* 803D2DCC 003CEA2C  60 00 00 02 */	ori r0, r0, 2
/* 803D2DD0 003CEA30  90 03 00 20 */	stw r0, 0x20(r3)
lbl_803D2DD4:
/* 803D2DD4 003CEA34  80 65 01 BC */	lwz r3, 0x1bc(r5)
/* 803D2DD8 003CEA38  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 803D2DDC 003CEA3C  40 82 00 0C */	bne lbl_803D2DE8
/* 803D2DE0 003CEA40  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803D2DE4 003CEA44  41 82 00 2C */	beq lbl_803D2E10
lbl_803D2DE8:
/* 803D2DE8 003CEA48  80 85 01 BC */	lwz r4, 0x1bc(r5)
/* 803D2DEC 003CEA4C  54 E0 18 38 */	slwi r0, r7, 3
/* 803D2DF0 003CEA50  7C 7F 02 14 */	add r3, r31, r0
/* 803D2DF4 003CEA54  54 80 00 3A */	rlwinm r0, r4, 0, 0, 0x1d
/* 803D2DF8 003CEA58  90 05 01 BC */	stw r0, 0x1bc(r5)
/* 803D2DFC 003CEA5C  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803D2E00 003CEA60  54 00 01 42 */	rlwinm r0, r0, 0, 5, 1
/* 803D2E04 003CEA64  54 00 02 8C */	rlwinm r0, r0, 0, 0xa, 6
/* 803D2E08 003CEA68  90 03 01 C4 */	stw r0, 0x1c4(r3)
/* 803D2E0C 003CEA6C  48 00 00 10 */	b lbl_803D2E1C
lbl_803D2E10:
/* 803D2E10 003CEA70  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D2E14 003CEA74  7C 00 F2 14 */	add r0, r0, r30
/* 803D2E18 003CEA78  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D2E1C:
/* 803D2E1C 003CEA7C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2E20 003CEA80  38 60 00 00 */	li r3, 0
/* 803D2E24 003CEA84  4B DF 43 59 */	bl _restgpr_29
/* 803D2E28 003CEA88  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D2E2C 003CEA8C  7C 08 03 A6 */	mtlr r0
/* 803D2E30 003CEA90  38 21 00 20 */	addi r1, r1, 0x20
/* 803D2E34 003CEA94  4E 80 00 20 */	blr 
/* 803D2E38 003CEA98  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D2E3C 003CEA9C  7C 08 02 A6 */	mflr r0
/* 803D2E40 003CEAA0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D2E44 003CEAA4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D2E48 003CEAA8  7C 9F 23 78 */	mr r31, r4
/* 803D2E4C 003CEAAC  7F E3 FB 78 */	mr r3, r31
/* 803D2E50 003CEAB0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2E54 003CEAB4  38 05 00 01 */	addi r0, r5, 1
/* 803D2E58 003CEAB8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2E5C 003CEABC  48 00 40 11 */	bl func_803D6E6C
/* 803D2E60 003CEAC0  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D2E64 003CEAC4  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D2E68 003CEAC8  7C BF 02 14 */	add r5, r31, r0
/* 803D2E6C 003CEACC  80 85 2D C0 */	lwz r4, 0x2dc0(r5)
/* 803D2E70 003CEAD0  54 80 04 E9 */	rlwinm. r0, r4, 0, 0x13, 0x14
/* 803D2E74 003CEAD4  41 82 00 14 */	beq lbl_803D2E88
/* 803D2E78 003CEAD8  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D2E7C 003CEADC  7C 00 1A 14 */	add r0, r0, r3
/* 803D2E80 003CEAE0  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D2E84 003CEAE4  48 00 00 0C */	b lbl_803D2E90
lbl_803D2E88:
/* 803D2E88 003CEAE8  60 80 10 00 */	ori r0, r4, 0x1000
/* 803D2E8C 003CEAEC  90 05 2D C0 */	stw r0, 0x2dc0(r5)
lbl_803D2E90:
/* 803D2E90 003CEAF0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D2E94 003CEAF4  38 60 00 00 */	li r3, 0
/* 803D2E98 003CEAF8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D2E9C 003CEAFC  7C 08 03 A6 */	mtlr r0
/* 803D2EA0 003CEB00  38 21 00 10 */	addi r1, r1, 0x10
/* 803D2EA4 003CEB04  4E 80 00 20 */	blr 
/* 803D2EA8 003CEB08  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D2EAC 003CEB0C  7C 08 02 A6 */	mflr r0
/* 803D2EB0 003CEB10  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D2EB4 003CEB14  39 61 00 20 */	addi r11, r1, 0x20
/* 803D2EB8 003CEB18  4B DF 42 79 */	bl _savegpr_29
/* 803D2EBC 003CEB1C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D2EC0 003CEB20  7C 9E 23 78 */	mr r30, r4
/* 803D2EC4 003CEB24  7C 7F 1B 78 */	mr r31, r3
/* 803D2EC8 003CEB28  38 05 00 01 */	addi r0, r5, 1
/* 803D2ECC 003CEB2C  7F C3 F3 78 */	mr r3, r30
/* 803D2ED0 003CEB30  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D2ED4 003CEB34  48 00 3F 99 */	bl func_803D6E6C
/* 803D2ED8 003CEB38  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D2EDC 003CEB3C  7C 7D 1B 78 */	mr r29, r3
/* 803D2EE0 003CEB40  7F E3 FB 78 */	mr r3, r31
/* 803D2EE4 003CEB44  4B FD 9E 01 */	bl func_803ACCE4
/* 803D2EE8 003CEB48  80 BE 00 6C */	lwz r5, 0x6c(r30)
/* 803D2EEC 003CEB4C  54 7F 06 3E */	clrlwi r31, r3, 0x18
/* 803D2EF0 003CEB50  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803D2EF4 003CEB54  7C 7E 02 14 */	add r3, r30, r0
/* 803D2EF8 003CEB58  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D2EFC 003CEB5C  2C 00 00 00 */	cmpwi r0, 0
/* 803D2F00 003CEB60  41 82 00 5C */	beq lbl_803D2F5C
/* 803D2F04 003CEB64  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D2F08 003CEB68  7F C3 F3 78 */	mr r3, r30
/* 803D2F0C 003CEB6C  38 C0 00 3C */	li r6, 0x3c
/* 803D2F10 003CEB70  4B FE CC 81 */	bl func_803BFB90
/* 803D2F14 003CEB74  2C 03 00 01 */	cmpwi r3, 1
/* 803D2F18 003CEB78  40 82 00 44 */	bne lbl_803D2F5C
/* 803D2F1C 003CEB7C  38 60 02 CA */	li r3, 0x2ca
/* 803D2F20 003CEB80  38 00 00 25 */	li r0, 0x25
/* 803D2F24 003CEB84  B0 7E 00 F6 */	sth r3, 0xf6(r30)
/* 803D2F28 003CEB88  7F C3 F3 78 */	mr r3, r30
/* 803D2F2C 003CEB8C  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D2F30 003CEB90  98 1E 00 F5 */	stb r0, 0xf5(r30)
/* 803D2F34 003CEB94  4B FE C3 F9 */	bl func_803BF32C
/* 803D2F38 003CEB98  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803D2F3C 003CEB9C  90 7E 00 F8 */	stw r3, 0xf8(r30)
/* 803D2F40 003CEBA0  1C 60 00 C0 */	mulli r3, r0, 0xc0
/* 803D2F44 003CEBA4  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803D2F48 003CEBA8  7C 7E 1A 14 */	add r3, r30, r3
/* 803D2F4C 003CEBAC  88 63 2D 67 */	lbz r3, 0x2d67(r3)
/* 803D2F50 003CEBB0  90 7E 00 FC */	stw r3, 0xfc(r30)
/* 803D2F54 003CEBB4  90 1E 01 00 */	stw r0, 0x100(r30)
/* 803D2F58 003CEBB8  48 00 00 A4 */	b lbl_803D2FFC
lbl_803D2F5C:
/* 803D2F5C 003CEBBC  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803D2F60 003CEBC0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D2F64 003CEBC4  7C 7E 02 14 */	add r3, r30, r0
/* 803D2F68 003CEBC8  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D2F6C 003CEBCC  2C 00 00 00 */	cmpwi r0, 0
/* 803D2F70 003CEBD0  41 82 00 80 */	beq lbl_803D2FF0
/* 803D2F74 003CEBD4  38 60 02 28 */	li r3, 0x228
/* 803D2F78 003CEBD8  38 00 00 21 */	li r0, 0x21
/* 803D2F7C 003CEBDC  B0 7E 00 F6 */	sth r3, 0xf6(r30)
/* 803D2F80 003CEBE0  7F C3 F3 78 */	mr r3, r30
/* 803D2F84 003CEBE4  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D2F88 003CEBE8  98 1E 00 F5 */	stb r0, 0xf5(r30)
/* 803D2F8C 003CEBEC  4B FE C3 A1 */	bl func_803BF32C
/* 803D2F90 003CEBF0  90 7E 00 F8 */	stw r3, 0xf8(r30)
/* 803D2F94 003CEBF4  7F C3 F3 78 */	mr r3, r30
/* 803D2F98 003CEBF8  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D2F9C 003CEBFC  4B FE C3 91 */	bl func_803BF32C
/* 803D2FA0 003CEC00  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D2FA4 003CEC04  38 00 00 00 */	li r0, 0
/* 803D2FA8 003CEC08  90 7E 00 FC */	stw r3, 0xfc(r30)
/* 803D2FAC 003CEC0C  1C 64 00 C0 */	mulli r3, r4, 0xc0
/* 803D2FB0 003CEC10  7C 9E 1A 14 */	add r4, r30, r3
/* 803D2FB4 003CEC14  A0 64 2D B8 */	lhz r3, 0x2db8(r4)
/* 803D2FB8 003CEC18  90 7E 01 00 */	stw r3, 0x100(r30)
/* 803D2FBC 003CEC1C  B0 04 2D B8 */	sth r0, 0x2db8(r4)
/* 803D2FC0 003CEC20  80 1E 00 6C */	lwz r0, 0x6c(r30)
/* 803D2FC4 003CEC24  7C 7E 02 14 */	add r3, r30, r0
/* 803D2FC8 003CEC28  88 63 21 9C */	lbz r3, 0x219c(r3)
/* 803D2FCC 003CEC2C  48 00 A9 55 */	bl func_803DD920
/* 803D2FD0 003CEC30  57 E0 18 38 */	slwi r0, r31, 3
/* 803D2FD4 003CEC34  7C BE 02 14 */	add r5, r30, r0
/* 803D2FD8 003CEC38  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803D2FDC 003CEC3C  54 80 EE BE */	rlwinm r0, r4, 0x1d, 0x1a, 0x1f
/* 803D2FE0 003CEC40  7C 00 1B 78 */	or r0, r0, r3
/* 803D2FE4 003CEC44  50 04 1D F8 */	rlwimi r4, r0, 3, 0x17, 0x1c
/* 803D2FE8 003CEC48  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D2FEC 003CEC4C  48 00 00 10 */	b lbl_803D2FFC
lbl_803D2FF0:
/* 803D2FF0 003CEC50  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D2FF4 003CEC54  7C 00 EA 14 */	add r0, r0, r29
/* 803D2FF8 003CEC58  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D2FFC:
/* 803D2FFC 003CEC5C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3000 003CEC60  38 60 00 00 */	li r3, 0
/* 803D3004 003CEC64  4B DF 41 79 */	bl _restgpr_29
/* 803D3008 003CEC68  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D300C 003CEC6C  7C 08 03 A6 */	mtlr r0
/* 803D3010 003CEC70  38 21 00 20 */	addi r1, r1, 0x20
/* 803D3014 003CEC74  4E 80 00 20 */	blr 
/* 803D3018 003CEC78  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D301C 003CEC7C  80 04 21 54 */	lwz r0, 0x2154(r4)
/* 803D3020 003CEC80  38 63 00 01 */	addi r3, r3, 1
/* 803D3024 003CEC84  2C 00 00 00 */	cmpwi r0, 0
/* 803D3028 003CEC88  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D302C 003CEC8C  40 82 00 40 */	bne lbl_803D306C
/* 803D3030 003CEC90  80 64 00 64 */	lwz r3, 0x64(r4)
/* 803D3034 003CEC94  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803D3038 003CEC98  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D303C 003CEC9C  54 00 20 36 */	slwi r0, r0, 4
/* 803D3040 003CECA0  7C A4 1A 14 */	add r5, r4, r3
/* 803D3044 003CECA4  7C 64 02 14 */	add r3, r4, r0
/* 803D3048 003CECA8  80 05 2D 90 */	lwz r0, 0x2d90(r5)
/* 803D304C 003CECAC  88 C3 03 E1 */	lbz r6, 0x3e1(r3)
/* 803D3050 003CECB0  80 65 2D 8C */	lwz r3, 0x2d8c(r5)
/* 803D3054 003CECB4  7C 66 19 D6 */	mullw r3, r6, r3
/* 803D3058 003CECB8  7C 03 03 97 */	divwu. r0, r3, r0
/* 803D305C 003CECBC  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D3060 003CECC0  40 82 00 0C */	bne lbl_803D306C
/* 803D3064 003CECC4  38 00 00 01 */	li r0, 1
/* 803D3068 003CECC8  90 04 21 54 */	stw r0, 0x2154(r4)
lbl_803D306C:
/* 803D306C 003CECCC  38 60 00 00 */	li r3, 0
/* 803D3070 003CECD0  4E 80 00 20 */	blr 
/* 803D3074 003CECD4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D3078 003CECD8  7C 08 02 A6 */	mflr r0
/* 803D307C 003CECDC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D3080 003CECE0  39 61 00 30 */	addi r11, r1, 0x30
/* 803D3084 003CECE4  4B DF 40 99 */	bl _savegpr_24
/* 803D3088 003CECE8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D308C 003CECEC  7C 9C 23 78 */	mr r28, r4
/* 803D3090 003CECF0  7C 7B 1B 78 */	mr r27, r3
/* 803D3094 003CECF4  38 05 00 01 */	addi r0, r5, 1
/* 803D3098 003CECF8  7F 83 E3 78 */	mr r3, r28
/* 803D309C 003CECFC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D30A0 003CED00  48 00 3D CD */	bl func_803D6E6C
/* 803D30A4 003CED04  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803D30A8 003CED08  7C 7F 1B 78 */	mr r31, r3
/* 803D30AC 003CED0C  7F 63 DB 78 */	mr r3, r27
/* 803D30B0 003CED10  38 A0 00 00 */	li r5, 0
/* 803D30B4 003CED14  4B FD 9D 25 */	bl func_803ACDD8
/* 803D30B8 003CED18  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803D30BC 003CED1C  7C 78 1B 78 */	mr r24, r3
/* 803D30C0 003CED20  7F 63 DB 78 */	mr r3, r27
/* 803D30C4 003CED24  38 A0 00 02 */	li r5, 2
/* 803D30C8 003CED28  4B FD 9D 11 */	bl func_803ACDD8
/* 803D30CC 003CED2C  1C 18 00 C0 */	mulli r0, r24, 0xc0
/* 803D30D0 003CED30  7C BC 02 14 */	add r5, r28, r0
/* 803D30D4 003CED34  80 85 2D C0 */	lwz r4, 0x2dc0(r5)
/* 803D30D8 003CED38  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803D30DC 003CED3C  64 83 40 00 */	oris r3, r4, 0x4000
/* 803D30E0 003CED40  90 65 2D C0 */	stw r3, 0x2dc0(r5)
/* 803D30E4 003CED44  7C 7C 02 14 */	add r3, r28, r0
/* 803D30E8 003CED48  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803D30EC 003CED4C  64 00 40 00 */	oris r0, r0, 0x4000
/* 803D30F0 003CED50  90 03 2D C0 */	stw r0, 0x2dc0(r3)
/* 803D30F4 003CED54  80 9C 00 64 */	lwz r4, 0x64(r28)
/* 803D30F8 003CED58  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D30FC 003CED5C  7C 7C 02 14 */	add r3, r28, r0
/* 803D3100 003CED60  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803D3104 003CED64  54 00 04 A5 */	rlwinm. r0, r0, 0, 0x12, 0x12
/* 803D3108 003CED68  41 82 00 14 */	beq lbl_803D311C
/* 803D310C 003CED6C  80 1C 00 B4 */	lwz r0, 0xb4(r28)
/* 803D3110 003CED70  7C 00 FA 14 */	add r0, r0, r31
/* 803D3114 003CED74  90 1C 00 B4 */	stw r0, 0xb4(r28)
/* 803D3118 003CED78  48 00 00 FC */	b lbl_803D3214
lbl_803D311C:
/* 803D311C 003CED7C  7F 63 DB 78 */	mr r3, r27
/* 803D3120 003CED80  4B FD 9B C5 */	bl func_803ACCE4
/* 803D3124 003CED84  54 7E 06 3E */	clrlwi r30, r3, 0x18
/* 803D3128 003CED88  7F 63 DB 78 */	mr r3, r27
/* 803D312C 003CED8C  4B FD 97 35 */	bl func_803AC860
/* 803D3130 003CED90  7C 78 1B 78 */	mr r24, r3
/* 803D3134 003CED94  3B A0 00 00 */	li r29, 0
/* 803D3138 003CED98  3B 20 00 00 */	li r25, 0
/* 803D313C 003CED9C  3B 40 00 04 */	li r26, 4
/* 803D3140 003CEDA0  48 00 00 9C */	b lbl_803D31DC
lbl_803D3144:
/* 803D3144 003CEDA4  7F 63 DB 78 */	mr r3, r27
/* 803D3148 003CEDA8  7F A4 EB 78 */	mr r4, r29
/* 803D314C 003CEDAC  4B FD 9B 99 */	bl func_803ACCE4
/* 803D3150 003CEDB0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D3154 003CEDB4  7C 1E 00 00 */	cmpw r30, r0
/* 803D3158 003CEDB8  41 82 00 7C */	beq lbl_803D31D4
/* 803D315C 003CEDBC  7C FC CA 14 */	add r7, r28, r25
/* 803D3160 003CEDC0  39 00 00 00 */	li r8, 0
/* 803D3164 003CEDC4  38 60 00 00 */	li r3, 0
lbl_803D3168:
/* 803D3168 003CEDC8  7C 03 E2 14 */	add r0, r3, r28
/* 803D316C 003CEDCC  39 20 00 00 */	li r9, 0
/* 803D3170 003CEDD0  38 80 00 00 */	li r4, 0
/* 803D3174 003CEDD4  7F 49 03 A6 */	mtctr r26
lbl_803D3178:
/* 803D3178 003CEDD8  80 BC 00 64 */	lwz r5, 0x64(r28)
/* 803D317C 003CEDDC  7C C7 22 14 */	add r6, r7, r4
/* 803D3180 003CEDE0  A0 C6 2D 4C */	lhz r6, 0x2d4c(r6)
/* 803D3184 003CEDE4  1C A5 00 C0 */	mulli r5, r5, 0xc0
/* 803D3188 003CEDE8  7C A5 02 14 */	add r5, r5, r0
/* 803D318C 003CEDEC  A0 A5 2D 4C */	lhz r5, 0x2d4c(r5)
/* 803D3190 003CEDF0  7C 05 30 40 */	cmplw r5, r6
/* 803D3194 003CEDF4  40 82 00 14 */	bne lbl_803D31A8
/* 803D3198 003CEDF8  2C 05 00 00 */	cmpwi r5, 0
/* 803D319C 003CEDFC  41 82 00 0C */	beq lbl_803D31A8
/* 803D31A0 003CEE00  2C 06 00 00 */	cmpwi r6, 0
/* 803D31A4 003CEE04  40 82 00 10 */	bne lbl_803D31B4
lbl_803D31A8:
/* 803D31A8 003CEE08  39 29 00 01 */	addi r9, r9, 1
/* 803D31AC 003CEE0C  38 84 00 02 */	addi r4, r4, 2
/* 803D31B0 003CEE10  42 00 FF C8 */	bdnz lbl_803D3178
lbl_803D31B4:
/* 803D31B4 003CEE14  2C 09 00 04 */	cmpwi r9, 4
/* 803D31B8 003CEE18  40 82 00 14 */	bne lbl_803D31CC
/* 803D31BC 003CEE1C  39 08 00 01 */	addi r8, r8, 1
/* 803D31C0 003CEE20  38 63 00 02 */	addi r3, r3, 2
/* 803D31C4 003CEE24  2C 08 00 04 */	cmpwi r8, 4
/* 803D31C8 003CEE28  41 80 FF A0 */	blt lbl_803D3168
lbl_803D31CC:
/* 803D31CC 003CEE2C  2C 09 00 04 */	cmpwi r9, 4
/* 803D31D0 003CEE30  40 82 00 14 */	bne lbl_803D31E4
lbl_803D31D4:
/* 803D31D4 003CEE34  3B BD 00 01 */	addi r29, r29, 1
/* 803D31D8 003CEE38  3B 39 00 C0 */	addi r25, r25, 0xc0
lbl_803D31DC:
/* 803D31DC 003CEE3C  7C 1D C0 00 */	cmpw r29, r24
/* 803D31E0 003CEE40  41 80 FF 64 */	blt lbl_803D3144
lbl_803D31E4:
/* 803D31E4 003CEE44  7C 1D C0 00 */	cmpw r29, r24
/* 803D31E8 003CEE48  40 82 00 14 */	bne lbl_803D31FC
/* 803D31EC 003CEE4C  80 1C 00 B4 */	lwz r0, 0xb4(r28)
/* 803D31F0 003CEE50  7C 00 FA 14 */	add r0, r0, r31
/* 803D31F4 003CEE54  90 1C 00 B4 */	stw r0, 0xb4(r28)
/* 803D31F8 003CEE58  48 00 00 1C */	b lbl_803D3214
lbl_803D31FC:
/* 803D31FC 003CEE5C  80 1C 00 64 */	lwz r0, 0x64(r28)
/* 803D3200 003CEE60  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D3204 003CEE64  7C 7C 02 14 */	add r3, r28, r0
/* 803D3208 003CEE68  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803D320C 003CEE6C  60 00 20 00 */	ori r0, r0, 0x2000
/* 803D3210 003CEE70  90 03 2D C0 */	stw r0, 0x2dc0(r3)
lbl_803D3214:
/* 803D3214 003CEE74  39 61 00 30 */	addi r11, r1, 0x30
/* 803D3218 003CEE78  38 60 00 00 */	li r3, 0
/* 803D321C 003CEE7C  4B DF 3F 4D */	bl _restgpr_24
/* 803D3220 003CEE80  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D3224 003CEE84  7C 08 03 A6 */	mtlr r0
/* 803D3228 003CEE88  38 21 00 30 */	addi r1, r1, 0x30
/* 803D322C 003CEE8C  4E 80 00 20 */	blr 
/* 803D3230 003CEE90  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D3234 003CEE94  7C 08 02 A6 */	mflr r0
/* 803D3238 003CEE98  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D323C 003CEE9C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3240 003CEEA0  4B DF 3E ED */	bl _savegpr_28
/* 803D3244 003CEEA4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3248 003CEEA8  7C 9F 23 78 */	mr r31, r4
/* 803D324C 003CEEAC  7C 7E 1B 78 */	mr r30, r3
/* 803D3250 003CEEB0  38 05 00 01 */	addi r0, r5, 1
/* 803D3254 003CEEB4  7F E3 FB 78 */	mr r3, r31
/* 803D3258 003CEEB8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D325C 003CEEBC  48 00 3C 11 */	bl func_803D6E6C
/* 803D3260 003CEEC0  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803D3264 003CEEC4  7C 7C 1B 78 */	mr r28, r3
/* 803D3268 003CEEC8  7F C3 F3 78 */	mr r3, r30
/* 803D326C 003CEECC  4B FD 9A 79 */	bl func_803ACCE4
/* 803D3270 003CEED0  80 9F 00 74 */	lwz r4, 0x74(r31)
/* 803D3274 003CEED4  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D3278 003CEED8  7C 7F 02 14 */	add r3, r31, r0
/* 803D327C 003CEEDC  80 03 2D C0 */	lwz r0, 0x2dc0(r3)
/* 803D3280 003CEEE0  54 00 04 63 */	rlwinm. r0, r0, 0, 0x11, 0x11
/* 803D3284 003CEEE4  41 82 00 90 */	beq lbl_803D3314
/* 803D3288 003CEEE8  7F C3 F3 78 */	mr r3, r30
/* 803D328C 003CEEEC  4B FD 9A 59 */	bl func_803ACCE4
/* 803D3290 003CEEF0  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D3294 003CEEF4  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803D3298 003CEEF8  7F C3 F3 78 */	mr r3, r30
/* 803D329C 003CEEFC  4B FD 9A 49 */	bl func_803ACCE4
/* 803D32A0 003CEF00  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D32A4 003CEF04  7C 00 E8 40 */	cmplw r0, r29
/* 803D32A8 003CEF08  41 82 00 6C */	beq lbl_803D3314
/* 803D32AC 003CEF0C  80 7F 00 64 */	lwz r3, 0x64(r31)
/* 803D32B0 003CEF10  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803D32B4 003CEF14  7C BF 02 14 */	add r5, r31, r0
/* 803D32B8 003CEF18  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803D32BC 003CEF1C  2C 00 00 00 */	cmpwi r0, 0
/* 803D32C0 003CEF20  41 82 00 54 */	beq lbl_803D3314
/* 803D32C4 003CEF24  80 1F 30 40 */	lwz r0, 0x3040(r31)
/* 803D32C8 003CEF28  28 00 00 A5 */	cmplwi r0, 0xa5
/* 803D32CC 003CEF2C  41 82 00 48 */	beq lbl_803D3314
/* 803D32D0 003CEF30  54 60 08 3C */	slwi r0, r3, 1
/* 803D32D4 003CEF34  38 C0 00 00 */	li r6, 0
/* 803D32D8 003CEF38  7C 9F 02 14 */	add r4, r31, r0
/* 803D32DC 003CEF3C  7F C3 F3 78 */	mr r3, r30
/* 803D32E0 003CEF40  A0 04 30 BC */	lhz r0, 0x30bc(r4)
/* 803D32E4 003CEF44  7F E4 FB 78 */	mr r4, r31
/* 803D32E8 003CEF48  7C A5 02 14 */	add r5, r5, r0
/* 803D32EC 003CEF4C  54 00 08 3C */	slwi r0, r0, 1
/* 803D32F0 003CEF50  98 C5 2D 6C */	stb r6, 0x2d6c(r5)
/* 803D32F4 003CEF54  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803D32F8 003CEF58  1C C5 00 C0 */	mulli r6, r5, 0xc0
/* 803D32FC 003CEF5C  7C DF 32 14 */	add r6, r31, r6
/* 803D3300 003CEF60  7C C6 02 14 */	add r6, r6, r0
/* 803D3304 003CEF64  A0 06 2D 4C */	lhz r0, 0x2d4c(r6)
/* 803D3308 003CEF68  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D330C 003CEF6C  4B FE A0 69 */	bl func_803BD374
/* 803D3310 003CEF70  48 00 00 10 */	b lbl_803D3320
lbl_803D3314:
/* 803D3314 003CEF74  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D3318 003CEF78  7C 00 E2 14 */	add r0, r0, r28
/* 803D331C 003CEF7C  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D3320:
/* 803D3320 003CEF80  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3324 003CEF84  38 60 00 00 */	li r3, 0
/* 803D3328 003CEF88  4B DF 3E 51 */	bl _restgpr_28
/* 803D332C 003CEF8C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D3330 003CEF90  7C 08 03 A6 */	mtlr r0
/* 803D3334 003CEF94  38 21 00 20 */	addi r1, r1, 0x20
/* 803D3338 003CEF98  4E 80 00 20 */	blr 
/* 803D333C 003CEF9C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D3340 003CEFA0  7C 08 02 A6 */	mflr r0
/* 803D3344 003CEFA4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D3348 003CEFA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D334C 003CEFAC  4B DF 3D D9 */	bl _savegpr_26
/* 803D3350 003CEFB0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3354 003CEFB4  7C 9B 23 78 */	mr r27, r4
/* 803D3358 003CEFB8  7C 7A 1B 78 */	mr r26, r3
/* 803D335C 003CEFBC  38 05 00 01 */	addi r0, r5, 1
/* 803D3360 003CEFC0  7F 63 DB 78 */	mr r3, r27
/* 803D3364 003CEFC4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3368 003CEFC8  48 00 3B 05 */	bl func_803D6E6C
/* 803D336C 003CEFCC  7C 7E 1B 78 */	mr r30, r3
/* 803D3370 003CEFD0  3B 80 00 00 */	li r28, 0
/* 803D3374 003CEFD4  3B A0 00 00 */	li r29, 0
/* 803D3378 003CEFD8  3B E0 00 00 */	li r31, 0
/* 803D337C 003CEFDC  48 00 00 20 */	b lbl_803D339C
lbl_803D3380:
/* 803D3380 003CEFE0  7C 7B FA 14 */	add r3, r27, r31
/* 803D3384 003CEFE4  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D3388 003CEFE8  2C 00 00 00 */	cmpwi r0, 0
/* 803D338C 003CEFEC  41 82 00 08 */	beq lbl_803D3394
/* 803D3390 003CEFF0  3B 9C 00 01 */	addi r28, r28, 1
lbl_803D3394:
/* 803D3394 003CEFF4  3B BD 00 01 */	addi r29, r29, 1
/* 803D3398 003CEFF8  3B FF 00 C0 */	addi r31, r31, 0xc0
lbl_803D339C:
/* 803D339C 003CEFFC  7F 43 D3 78 */	mr r3, r26
/* 803D33A0 003CF000  4B FD 94 C1 */	bl func_803AC860
/* 803D33A4 003CF004  7C 1D 18 00 */	cmpw r29, r3
/* 803D33A8 003CF008  41 80 FF D8 */	blt lbl_803D3380
/* 803D33AC 003CF00C  80 7B 00 EC */	lwz r3, 0xec(r27)
/* 803D33B0 003CF010  38 1C FF FF */	addi r0, r28, -1
/* 803D33B4 003CF014  7C 03 00 40 */	cmplw r3, r0
/* 803D33B8 003CF018  40 82 00 14 */	bne lbl_803D33CC
/* 803D33BC 003CF01C  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D33C0 003CF020  7C 00 F2 14 */	add r0, r0, r30
/* 803D33C4 003CF024  90 1B 00 B4 */	stw r0, 0xb4(r27)
/* 803D33C8 003CF028  48 00 00 1C */	b lbl_803D33E4
lbl_803D33CC:
/* 803D33CC 003CF02C  80 1B 00 64 */	lwz r0, 0x64(r27)
/* 803D33D0 003CF030  54 00 30 32 */	slwi r0, r0, 6
/* 803D33D4 003CF034  7C 7B 02 14 */	add r3, r27, r0
/* 803D33D8 003CF038  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D33DC 003CF03C  64 00 04 00 */	oris r0, r0, 0x400
/* 803D33E0 003CF040  90 03 01 D4 */	stw r0, 0x1d4(r3)
lbl_803D33E4:
/* 803D33E4 003CF044  39 61 00 20 */	addi r11, r1, 0x20
/* 803D33E8 003CF048  38 60 00 00 */	li r3, 0
/* 803D33EC 003CF04C  4B DF 3D 85 */	bl _restgpr_26
/* 803D33F0 003CF050  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D33F4 003CF054  7C 08 03 A6 */	mtlr r0
/* 803D33F8 003CF058  38 21 00 20 */	addi r1, r1, 0x20
/* 803D33FC 003CF05C  4E 80 00 20 */	blr 

.global func_803D3400
func_803D3400:
/* 803D3400 003CF060  3C A0 80 40 */	lis r5, lbl_80405A5C@ha
/* 803D3404 003CF064  38 80 00 00 */	li r4, 0
/* 803D3408 003CF068  38 A5 5A 5C */	addi r5, r5, lbl_80405A5C@l
/* 803D340C 003CF06C  48 00 00 10 */	b lbl_803D341C
lbl_803D3410:
/* 803D3410 003CF070  7C 00 18 40 */	cmplw r0, r3
/* 803D3414 003CF074  40 80 00 14 */	bge lbl_803D3428
/* 803D3418 003CF078  38 84 00 04 */	addi r4, r4, 4
lbl_803D341C:
/* 803D341C 003CF07C  7C 05 22 2E */	lhzx r0, r5, r4
/* 803D3420 003CF080  28 00 FF FF */	cmplwi r0, 0xffff
/* 803D3424 003CF084  40 82 FF EC */	bne lbl_803D3410
lbl_803D3428:
/* 803D3428 003CF088  3C 60 80 40 */	lis r3, lbl_80405A5C@ha
/* 803D342C 003CF08C  38 63 5A 5C */	addi r3, r3, lbl_80405A5C@l
/* 803D3430 003CF090  7C 03 22 2E */	lhzx r0, r3, r4
/* 803D3434 003CF094  28 00 FF FF */	cmplwi r0, 0xffff
/* 803D3438 003CF098  41 82 00 10 */	beq lbl_803D3448
/* 803D343C 003CF09C  7C 63 22 14 */	add r3, r3, r4
/* 803D3440 003CF0A0  A0 63 00 02 */	lhz r3, 2(r3)
/* 803D3444 003CF0A4  4E 80 00 20 */	blr 
lbl_803D3448:
/* 803D3448 003CF0A8  38 60 00 78 */	li r3, 0x78
/* 803D344C 003CF0AC  4E 80 00 20 */	blr 
/* 803D3450 003CF0B0  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D3454 003CF0B4  3C A0 80 40 */	lis r5, lbl_80405A5C@ha
/* 803D3458 003CF0B8  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D345C 003CF0BC  38 A5 5A 5C */	addi r5, r5, lbl_80405A5C@l
/* 803D3460 003CF0C0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D3464 003CF0C4  38 63 00 01 */	addi r3, r3, 1
/* 803D3468 003CF0C8  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D346C 003CF0CC  7C C4 02 14 */	add r6, r4, r0
/* 803D3470 003CF0D0  38 60 00 00 */	li r3, 0
/* 803D3474 003CF0D4  80 C6 2D 60 */	lwz r6, 0x2d60(r6)
/* 803D3478 003CF0D8  48 00 00 10 */	b lbl_803D3488
lbl_803D347C:
/* 803D347C 003CF0DC  7C 00 30 00 */	cmpw r0, r6
/* 803D3480 003CF0E0  40 80 00 14 */	bge lbl_803D3494
/* 803D3484 003CF0E4  38 63 00 04 */	addi r3, r3, 4
lbl_803D3488:
/* 803D3488 003CF0E8  7C 05 1A 2E */	lhzx r0, r5, r3
/* 803D348C 003CF0EC  28 00 FF FF */	cmplwi r0, 0xffff
/* 803D3490 003CF0F0  40 82 FF EC */	bne lbl_803D347C
lbl_803D3494:
/* 803D3494 003CF0F4  3C A0 80 40 */	lis r5, lbl_80405A5C@ha
/* 803D3498 003CF0F8  38 A5 5A 5C */	addi r5, r5, lbl_80405A5C@l
/* 803D349C 003CF0FC  7C 05 1A 2E */	lhzx r0, r5, r3
/* 803D34A0 003CF100  28 00 FF FF */	cmplwi r0, 0xffff
/* 803D34A4 003CF104  41 82 00 14 */	beq lbl_803D34B8
/* 803D34A8 003CF108  7C 65 1A 14 */	add r3, r5, r3
/* 803D34AC 003CF10C  A0 03 00 02 */	lhz r0, 2(r3)
/* 803D34B0 003CF110  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D34B4 003CF114  48 00 00 0C */	b lbl_803D34C0
lbl_803D34B8:
/* 803D34B8 003CF118  38 00 00 78 */	li r0, 0x78
/* 803D34BC 003CF11C  90 04 21 54 */	stw r0, 0x2154(r4)
lbl_803D34C0:
/* 803D34C0 003CF120  38 60 00 00 */	li r3, 0
/* 803D34C4 003CF124  4E 80 00 20 */	blr 
/* 803D34C8 003CF128  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D34CC 003CF12C  7C 08 02 A6 */	mflr r0
/* 803D34D0 003CF130  38 A0 00 08 */	li r5, 8
/* 803D34D4 003CF134  38 E0 00 0D */	li r7, 0xd
/* 803D34D8 003CF138  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D34DC 003CF13C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D34E0 003CF140  7C 9F 23 78 */	mr r31, r4
/* 803D34E4 003CF144  93 C1 00 08 */	stw r30, 8(r1)
/* 803D34E8 003CF148  7C 7E 1B 78 */	mr r30, r3
/* 803D34EC 003CF14C  80 C4 00 B4 */	lwz r6, 0xb4(r4)
/* 803D34F0 003CF150  38 06 00 01 */	addi r0, r6, 1
/* 803D34F4 003CF154  38 C0 00 00 */	li r6, 0
/* 803D34F8 003CF158  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D34FC 003CF15C  4B FE BE 85 */	bl func_803BF380
/* 803D3500 003CF160  2C 03 00 00 */	cmpwi r3, 0
/* 803D3504 003CF164  40 82 00 AC */	bne lbl_803D35B0
/* 803D3508 003CF168  7F C3 F3 78 */	mr r3, r30
/* 803D350C 003CF16C  7F E4 FB 78 */	mr r4, r31
/* 803D3510 003CF170  38 A0 00 08 */	li r5, 8
/* 803D3514 003CF174  38 C0 00 00 */	li r6, 0
/* 803D3518 003CF178  38 E0 00 4C */	li r7, 0x4c
/* 803D351C 003CF17C  4B FE BE 65 */	bl func_803BF380
/* 803D3520 003CF180  2C 03 00 00 */	cmpwi r3, 0
/* 803D3524 003CF184  40 82 00 8C */	bne lbl_803D35B0
/* 803D3528 003CF188  80 9F 01 80 */	lwz r4, 0x180(r31)
/* 803D352C 003CF18C  70 80 80 FF */	andi. r0, r4, 0x80ff
/* 803D3530 003CF190  41 82 00 6C */	beq lbl_803D359C
/* 803D3534 003CF194  80 7F 30 44 */	lwz r3, 0x3044(r31)
/* 803D3538 003CF198  54 80 07 BF */	clrlwi. r0, r4, 0x1e
/* 803D353C 003CF19C  54 60 20 36 */	slwi r0, r3, 4
/* 803D3540 003CF1A0  7C 7F 02 14 */	add r3, r31, r0
/* 803D3544 003CF1A4  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D3548 003CF1A8  54 00 08 3C */	slwi r0, r0, 1
/* 803D354C 003CF1AC  90 1F 21 54 */	stw r0, 0x2154(r31)
/* 803D3550 003CF1B0  41 82 00 0C */	beq lbl_803D355C
/* 803D3554 003CF1B4  38 00 00 0B */	li r0, 0xb
/* 803D3558 003CF1B8  90 1F 21 60 */	stw r0, 0x2160(r31)
lbl_803D355C:
/* 803D355C 003CF1BC  80 1F 01 80 */	lwz r0, 0x180(r31)
/* 803D3560 003CF1C0  54 00 07 3B */	rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 803D3564 003CF1C4  41 82 00 0C */	beq lbl_803D3570
/* 803D3568 003CF1C8  38 00 00 05 */	li r0, 5
/* 803D356C 003CF1CC  90 1F 21 60 */	stw r0, 0x2160(r31)
lbl_803D3570:
/* 803D3570 003CF1D0  80 1F 01 80 */	lwz r0, 0x180(r31)
/* 803D3574 003CF1D4  54 00 06 B7 */	rlwinm. r0, r0, 0, 0x1a, 0x1b
/* 803D3578 003CF1D8  41 82 00 0C */	beq lbl_803D3584
/* 803D357C 003CF1DC  38 00 00 0A */	li r0, 0xa
/* 803D3580 003CF1E0  90 1F 21 60 */	stw r0, 0x2160(r31)
lbl_803D3584:
/* 803D3584 003CF1E4  80 1F 01 80 */	lwz r0, 0x180(r31)
/* 803D3588 003CF1E8  54 00 06 33 */	rlwinm. r0, r0, 0, 0x18, 0x19
/* 803D358C 003CF1EC  41 82 00 24 */	beq lbl_803D35B0
/* 803D3590 003CF1F0  38 00 00 0F */	li r0, 0xf
/* 803D3594 003CF1F4  90 1F 21 60 */	stw r0, 0x2160(r31)
/* 803D3598 003CF1F8  48 00 00 18 */	b lbl_803D35B0
lbl_803D359C:
/* 803D359C 003CF1FC  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803D35A0 003CF200  54 00 20 36 */	slwi r0, r0, 4
/* 803D35A4 003CF204  7C 7F 02 14 */	add r3, r31, r0
/* 803D35A8 003CF208  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D35AC 003CF20C  90 1F 21 54 */	stw r0, 0x2154(r31)
lbl_803D35B0:
/* 803D35B0 003CF210  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D35B4 003CF214  38 60 00 00 */	li r3, 0
/* 803D35B8 003CF218  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D35BC 003CF21C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D35C0 003CF220  7C 08 03 A6 */	mtlr r0
/* 803D35C4 003CF224  38 21 00 10 */	addi r1, r1, 0x10
/* 803D35C8 003CF228  4E 80 00 20 */	blr 
/* 803D35CC 003CF22C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803D35D0 003CF230  7C 08 02 A6 */	mflr r0
/* 803D35D4 003CF234  90 01 00 44 */	stw r0, 0x44(r1)
/* 803D35D8 003CF238  39 61 00 40 */	addi r11, r1, 0x40
/* 803D35DC 003CF23C  4B DF 3B 35 */	bl _savegpr_21
/* 803D35E0 003CF240  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D35E4 003CF244  7C 99 23 78 */	mr r25, r4
/* 803D35E8 003CF248  7C 78 1B 78 */	mr r24, r3
/* 803D35EC 003CF24C  38 05 00 01 */	addi r0, r5, 1
/* 803D35F0 003CF250  7F 23 CB 78 */	mr r3, r25
/* 803D35F4 003CF254  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D35F8 003CF258  48 00 38 75 */	bl func_803D6E6C
/* 803D35FC 003CF25C  7C 7E 1B 78 */	mr r30, r3
/* 803D3600 003CF260  7F 03 C3 78 */	mr r3, r24
/* 803D3604 003CF264  4B FD 92 5D */	bl func_803AC860
/* 803D3608 003CF268  7C 7F 1B 78 */	mr r31, r3
/* 803D360C 003CF26C  3B 60 00 00 */	li r27, 0
/* 803D3610 003CF270  3A E0 00 00 */	li r23, 0
/* 803D3614 003CF274  3A C0 00 00 */	li r22, 0
/* 803D3618 003CF278  48 00 01 60 */	b lbl_803D3778
lbl_803D361C:
/* 803D361C 003CF27C  7F 99 B2 14 */	add r28, r25, r22
/* 803D3620 003CF280  80 1C 21 A8 */	lwz r0, 0x21a8(r28)
/* 803D3624 003CF284  28 00 00 27 */	cmplwi r0, 0x27
/* 803D3628 003CF288  41 82 01 44 */	beq lbl_803D376C
/* 803D362C 003CF28C  7F B9 BA 14 */	add r29, r25, r23
/* 803D3630 003CF290  80 1D 2D 8C */	lwz r0, 0x2d8c(r29)
/* 803D3634 003CF294  2C 00 00 00 */	cmpwi r0, 0
/* 803D3638 003CF298  41 82 01 34 */	beq lbl_803D376C
/* 803D363C 003CF29C  80 1D 2D AC */	lwz r0, 0x2dac(r29)
/* 803D3640 003CF2A0  70 00 00 27 */	andi. r0, r0, 0x27
/* 803D3644 003CF2A4  40 82 01 28 */	bne lbl_803D376C
/* 803D3648 003CF2A8  7F 23 CB 78 */	mr r3, r25
/* 803D364C 003CF2AC  7F 64 DB 78 */	mr r4, r27
/* 803D3650 003CF2B0  4B FE CC 9D */	bl func_803C02EC
/* 803D3654 003CF2B4  2C 03 00 00 */	cmpwi r3, 0
/* 803D3658 003CF2B8  40 82 01 14 */	bne lbl_803D376C
/* 803D365C 003CF2BC  80 99 00 78 */	lwz r4, 0x78(r25)
/* 803D3660 003CF2C0  7F 03 C3 78 */	mr r3, r24
/* 803D3664 003CF2C4  4B FD 96 81 */	bl func_803ACCE4
/* 803D3668 003CF2C8  54 75 06 3E */	clrlwi r21, r3, 0x18
/* 803D366C 003CF2CC  7F 03 C3 78 */	mr r3, r24
/* 803D3670 003CF2D0  7F 64 DB 78 */	mr r4, r27
/* 803D3674 003CF2D4  4B FD 96 71 */	bl func_803ACCE4
/* 803D3678 003CF2D8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D367C 003CF2DC  7C 00 A8 40 */	cmplw r0, r21
/* 803D3680 003CF2E0  41 82 00 EC */	beq lbl_803D376C
/* 803D3684 003CF2E4  A3 5D 2D EC */	lhz r26, 0x2dec(r29)
/* 803D3688 003CF2E8  2C 1A 00 00 */	cmpwi r26, 0
/* 803D368C 003CF2EC  41 82 00 24 */	beq lbl_803D36B0
/* 803D3690 003CF2F0  A0 1D 2D EE */	lhz r0, 0x2dee(r29)
/* 803D3694 003CF2F4  7F A3 EB 78 */	mr r3, r29
/* 803D3698 003CF2F8  54 00 08 3C */	slwi r0, r0, 1
/* 803D369C 003CF2FC  7C 63 02 14 */	add r3, r3, r0
/* 803D36A0 003CF300  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803D36A4 003CF304  7C 1A 00 40 */	cmplw r26, r0
/* 803D36A8 003CF308  40 82 00 08 */	bne lbl_803D36B0
/* 803D36AC 003CF30C  48 00 00 14 */	b lbl_803D36C0
lbl_803D36B0:
/* 803D36B0 003CF310  7F 23 CB 78 */	mr r3, r25
/* 803D36B4 003CF314  7F 64 DB 78 */	mr r4, r27
/* 803D36B8 003CF318  4B FE BC 89 */	bl func_803BF340
/* 803D36BC 003CF31C  54 7A 04 3E */	clrlwi r26, r3, 0x10
lbl_803D36C0:
/* 803D36C0 003CF320  2C 1A 00 00 */	cmpwi r26, 0
/* 803D36C4 003CF324  41 82 00 A8 */	beq lbl_803D376C
/* 803D36C8 003CF328  7C 79 BA 14 */	add r3, r25, r23
/* 803D36CC 003CF32C  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 803D36D0 003CF330  38 63 2D 40 */	addi r3, r3, 0x2d40
/* 803D36D4 003CF334  4B FE B0 59 */	bl func_803BE72C
/* 803D36D8 003CF338  57 40 20 36 */	slwi r0, r26, 4
/* 803D36DC 003CF33C  7C 99 02 14 */	add r4, r25, r0
/* 803D36E0 003CF340  A0 04 03 DE */	lhz r0, 0x3de(r4)
/* 803D36E4 003CF344  28 00 00 80 */	cmplwi r0, 0x80
/* 803D36E8 003CF348  40 82 00 84 */	bne lbl_803D376C
/* 803D36EC 003CF34C  7E BD 1A 14 */	add r21, r29, r3
/* 803D36F0 003CF350  88 75 2D 6C */	lbz r3, 0x2d6c(r21)
/* 803D36F4 003CF354  2C 03 00 00 */	cmpwi r3, 0
/* 803D36F8 003CF358  41 82 00 74 */	beq lbl_803D376C
/* 803D36FC 003CF35C  38 03 FF FF */	addi r0, r3, -1
/* 803D3700 003CF360  7F 23 CB 78 */	mr r3, r25
/* 803D3704 003CF364  98 15 2D 6C */	stb r0, 0x2d6c(r21)
/* 803D3708 003CF368  80 99 00 78 */	lwz r4, 0x78(r25)
/* 803D370C 003CF36C  4B FE C4 0D */	bl func_803BFB18
/* 803D3710 003CF370  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D3714 003CF374  28 00 00 2E */	cmplwi r0, 0x2e
/* 803D3718 003CF378  40 82 00 18 */	bne lbl_803D3730
/* 803D371C 003CF37C  88 75 2D 6C */	lbz r3, 0x2d6c(r21)
/* 803D3720 003CF380  2C 03 00 00 */	cmpwi r3, 0
/* 803D3724 003CF384  41 82 00 0C */	beq lbl_803D3730
/* 803D3728 003CF388  38 03 FF FF */	addi r0, r3, -1
/* 803D372C 003CF38C  98 15 2D 6C */	stb r0, 0x2d6c(r21)
lbl_803D3730:
/* 803D3730 003CF390  7F 03 C3 78 */	mr r3, r24
/* 803D3734 003CF394  7F 24 CB 78 */	mr r4, r25
/* 803D3738 003CF398  4B FE CD 6D */	bl func_803C04A4
/* 803D373C 003CF39C  80 B9 00 78 */	lwz r5, 0x78(r25)
/* 803D3740 003CF3A0  38 80 00 14 */	li r4, 0x14
/* 803D3744 003CF3A4  57 60 08 3C */	slwi r0, r27, 1
/* 803D3748 003CF3A8  93 79 00 64 */	stw r27, 0x64(r25)
/* 803D374C 003CF3AC  7C 79 02 14 */	add r3, r25, r0
/* 803D3750 003CF3B0  90 B9 00 6C */	stw r5, 0x6c(r25)
/* 803D3754 003CF3B4  38 00 00 27 */	li r0, 0x27
/* 803D3758 003CF3B8  90 99 21 58 */	stw r4, 0x2158(r25)
/* 803D375C 003CF3BC  93 59 30 44 */	stw r26, 0x3044(r25)
/* 803D3760 003CF3C0  B3 43 30 7C */	sth r26, 0x307c(r3)
/* 803D3764 003CF3C4  90 1C 21 A8 */	stw r0, 0x21a8(r28)
/* 803D3768 003CF3C8  48 00 00 18 */	b lbl_803D3780
lbl_803D376C:
/* 803D376C 003CF3CC  3B 7B 00 01 */	addi r27, r27, 1
/* 803D3770 003CF3D0  3A F7 00 C0 */	addi r23, r23, 0xc0
/* 803D3774 003CF3D4  3A D6 00 10 */	addi r22, r22, 0x10
lbl_803D3778:
/* 803D3778 003CF3D8  7C 1B F8 00 */	cmpw r27, r31
/* 803D377C 003CF3DC  41 80 FE A0 */	blt lbl_803D361C
lbl_803D3780:
/* 803D3780 003CF3E0  7C 1B F8 00 */	cmpw r27, r31
/* 803D3784 003CF3E4  40 82 00 14 */	bne lbl_803D3798
/* 803D3788 003CF3E8  80 19 00 B4 */	lwz r0, 0xb4(r25)
/* 803D378C 003CF3EC  7C 00 F2 14 */	add r0, r0, r30
/* 803D3790 003CF3F0  90 19 00 B4 */	stw r0, 0xb4(r25)
/* 803D3794 003CF3F4  48 00 00 4C */	b lbl_803D37E0
lbl_803D3798:
/* 803D3798 003CF3F8  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803D379C 003CF3FC  7F 23 CB 78 */	mr r3, r25
/* 803D37A0 003CF400  4B FF 09 1D */	bl func_803C40BC
/* 803D37A4 003CF404  80 99 00 64 */	lwz r4, 0x64(r25)
/* 803D37A8 003CF408  7C 76 1B 78 */	mr r22, r3
/* 803D37AC 003CF40C  7F 23 CB 78 */	mr r3, r25
/* 803D37B0 003CF410  38 A0 00 00 */	li r5, 0
/* 803D37B4 003CF414  4B FF 09 4D */	bl func_803C4100
/* 803D37B8 003CF418  2C 16 00 36 */	cmpwi r22, 0x36
/* 803D37BC 003CF41C  41 82 00 14 */	beq lbl_803D37D0
/* 803D37C0 003CF420  2C 16 00 72 */	cmpwi r22, 0x72
/* 803D37C4 003CF424  41 82 00 0C */	beq lbl_803D37D0
/* 803D37C8 003CF428  2C 16 00 7C */	cmpwi r22, 0x7c
/* 803D37CC 003CF42C  40 82 00 14 */	bne lbl_803D37E0
lbl_803D37D0:
/* 803D37D0 003CF430  80 19 00 64 */	lwz r0, 0x64(r25)
/* 803D37D4 003CF434  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D37D8 003CF438  7C 79 02 14 */	add r3, r25, r0
/* 803D37DC 003CF43C  B3 43 2D F8 */	sth r26, 0x2df8(r3)
lbl_803D37E0:
/* 803D37E0 003CF440  39 61 00 40 */	addi r11, r1, 0x40
/* 803D37E4 003CF444  38 60 00 00 */	li r3, 0
/* 803D37E8 003CF448  4B DF 39 75 */	bl _restgpr_21
/* 803D37EC 003CF44C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803D37F0 003CF450  7C 08 03 A6 */	mtlr r0
/* 803D37F4 003CF454  38 21 00 40 */	addi r1, r1, 0x40
/* 803D37F8 003CF458  4E 80 00 20 */	blr 
/* 803D37FC 003CF45C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D3800 003CF460  7C 08 02 A6 */	mflr r0
/* 803D3804 003CF464  39 44 21 6C */	addi r10, r4, 0x216c
/* 803D3808 003CF468  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D380C 003CF46C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D3810 003CF470  7C 9F 23 78 */	mr r31, r4
/* 803D3814 003CF474  80 C4 00 B4 */	lwz r6, 0xb4(r4)
/* 803D3818 003CF478  80 A4 30 44 */	lwz r5, 0x3044(r4)
/* 803D381C 003CF47C  38 06 00 01 */	addi r0, r6, 1
/* 803D3820 003CF480  80 C4 21 60 */	lwz r6, 0x2160(r4)
/* 803D3824 003CF484  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3828 003CF488  80 E4 00 64 */	lwz r7, 0x64(r4)
/* 803D382C 003CF48C  81 04 00 6C */	lwz r8, 0x6c(r4)
/* 803D3830 003CF490  81 24 21 44 */	lwz r9, 0x2144(r4)
/* 803D3834 003CF494  4B FE B0 7D */	bl func_803BE8B0
/* 803D3838 003CF498  90 7F 21 44 */	stw r3, 0x2144(r31)
/* 803D383C 003CF49C  38 60 00 00 */	li r3, 0
/* 803D3840 003CF4A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D3844 003CF4A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D3848 003CF4A8  7C 08 03 A6 */	mtlr r0
/* 803D384C 003CF4AC  38 21 00 10 */	addi r1, r1, 0x10
/* 803D3850 003CF4B0  4E 80 00 20 */	blr 
/* 803D3854 003CF4B4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D3858 003CF4B8  7C 08 02 A6 */	mflr r0
/* 803D385C 003CF4BC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D3860 003CF4C0  39 61 00 30 */	addi r11, r1, 0x30
/* 803D3864 003CF4C4  4B DF 38 BD */	bl _savegpr_25
/* 803D3868 003CF4C8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D386C 003CF4CC  7C 9C 23 78 */	mr r28, r4
/* 803D3870 003CF4D0  7C 79 1B 78 */	mr r25, r3
/* 803D3874 003CF4D4  3B A0 00 00 */	li r29, 0
/* 803D3878 003CF4D8  38 05 00 01 */	addi r0, r5, 1
/* 803D387C 003CF4DC  7F 83 E3 78 */	mr r3, r28
/* 803D3880 003CF4E0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3884 003CF4E4  48 00 35 E9 */	bl func_803D6E6C
/* 803D3888 003CF4E8  7C 7A 1B 78 */	mr r26, r3
/* 803D388C 003CF4EC  7F 83 E3 78 */	mr r3, r28
/* 803D3890 003CF4F0  48 00 35 DD */	bl func_803D6E6C
/* 803D3894 003CF4F4  7C 7B 1B 78 */	mr r27, r3
/* 803D3898 003CF4F8  7F 83 E3 78 */	mr r3, r28
/* 803D389C 003CF4FC  48 00 35 D1 */	bl func_803D6E6C
/* 803D38A0 003CF500  7C 7E 1B 78 */	mr r30, r3
/* 803D38A4 003CF504  7F 83 E3 78 */	mr r3, r28
/* 803D38A8 003CF508  48 00 35 C5 */	bl func_803D6E6C
/* 803D38AC 003CF50C  7C 7F 1B 78 */	mr r31, r3
/* 803D38B0 003CF510  7F 23 CB 78 */	mr r3, r25
/* 803D38B4 003CF514  7F 84 E3 78 */	mr r4, r28
/* 803D38B8 003CF518  7F 45 D3 78 */	mr r5, r26
/* 803D38BC 003CF51C  48 00 47 81 */	bl func_803D803C
/* 803D38C0 003CF520  28 1B 00 06 */	cmplwi r27, 6
/* 803D38C4 003CF524  41 81 00 F8 */	bgt lbl_803D39BC
/* 803D38C8 003CF528  3C 80 80 47 */	lis r4, lbl_804740DC@ha
/* 803D38CC 003CF52C  57 60 10 3A */	slwi r0, r27, 2
/* 803D38D0 003CF530  38 84 40 DC */	addi r4, r4, lbl_804740DC@l
/* 803D38D4 003CF534  7C 84 00 2E */	lwzx r4, r4, r0
/* 803D38D8 003CF538  7C 89 03 A6 */	mtctr r4
/* 803D38DC 003CF53C  4E 80 04 20 */	bctr 
/* 803D38E0 003CF540  54 60 30 32 */	slwi r0, r3, 6
/* 803D38E4 003CF544  7C 7C 02 14 */	add r3, r28, r0
/* 803D38E8 003CF548  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D38EC 003CF54C  54 00 0F FE */	srwi r0, r0, 0x1f
/* 803D38F0 003CF550  7C 1E 00 40 */	cmplw r30, r0
/* 803D38F4 003CF554  40 82 00 C8 */	bne lbl_803D39BC
/* 803D38F8 003CF558  3B A0 00 01 */	li r29, 1
/* 803D38FC 003CF55C  48 00 00 C0 */	b lbl_803D39BC
/* 803D3900 003CF560  54 60 30 32 */	slwi r0, r3, 6
/* 803D3904 003CF564  7C 7C 02 14 */	add r3, r28, r0
/* 803D3908 003CF568  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D390C 003CF56C  54 00 17 FE */	rlwinm r0, r0, 2, 0x1f, 0x1f
/* 803D3910 003CF570  7C 1E 00 40 */	cmplw r30, r0
/* 803D3914 003CF574  40 82 00 A8 */	bne lbl_803D39BC
/* 803D3918 003CF578  3B A0 00 01 */	li r29, 1
/* 803D391C 003CF57C  48 00 00 A0 */	b lbl_803D39BC
/* 803D3920 003CF580  54 60 30 32 */	slwi r0, r3, 6
/* 803D3924 003CF584  7C 7C 02 14 */	add r3, r28, r0
/* 803D3928 003CF588  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D392C 003CF58C  54 00 1F FE */	rlwinm r0, r0, 3, 0x1f, 0x1f
/* 803D3930 003CF590  7C 1E 00 40 */	cmplw r30, r0
/* 803D3934 003CF594  40 82 00 88 */	bne lbl_803D39BC
/* 803D3938 003CF598  3B A0 00 01 */	li r29, 1
/* 803D393C 003CF59C  48 00 00 80 */	b lbl_803D39BC
/* 803D3940 003CF5A0  54 60 30 32 */	slwi r0, r3, 6
/* 803D3944 003CF5A4  7C 7C 02 14 */	add r3, r28, r0
/* 803D3948 003CF5A8  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D394C 003CF5AC  54 00 27 FE */	rlwinm r0, r0, 4, 0x1f, 0x1f
/* 803D3950 003CF5B0  7C 1E 00 40 */	cmplw r30, r0
/* 803D3954 003CF5B4  40 82 00 68 */	bne lbl_803D39BC
/* 803D3958 003CF5B8  3B A0 00 01 */	li r29, 1
/* 803D395C 003CF5BC  48 00 00 60 */	b lbl_803D39BC
/* 803D3960 003CF5C0  54 60 30 32 */	slwi r0, r3, 6
/* 803D3964 003CF5C4  7C 7C 02 14 */	add r3, r28, r0
/* 803D3968 003CF5C8  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D396C 003CF5CC  54 00 2F FE */	rlwinm r0, r0, 5, 0x1f, 0x1f
/* 803D3970 003CF5D0  7C 1E 00 40 */	cmplw r30, r0
/* 803D3974 003CF5D4  40 82 00 48 */	bne lbl_803D39BC
/* 803D3978 003CF5D8  3B A0 00 01 */	li r29, 1
/* 803D397C 003CF5DC  48 00 00 40 */	b lbl_803D39BC
/* 803D3980 003CF5E0  54 60 30 32 */	slwi r0, r3, 6
/* 803D3984 003CF5E4  7C 7C 02 14 */	add r3, r28, r0
/* 803D3988 003CF5E8  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D398C 003CF5EC  54 00 37 FE */	rlwinm r0, r0, 6, 0x1f, 0x1f
/* 803D3990 003CF5F0  7C 1E 00 40 */	cmplw r30, r0
/* 803D3994 003CF5F4  40 82 00 28 */	bne lbl_803D39BC
/* 803D3998 003CF5F8  3B A0 00 01 */	li r29, 1
/* 803D399C 003CF5FC  48 00 00 20 */	b lbl_803D39BC
/* 803D39A0 003CF600  54 60 30 32 */	slwi r0, r3, 6
/* 803D39A4 003CF604  7C 7C 02 14 */	add r3, r28, r0
/* 803D39A8 003CF608  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D39AC 003CF60C  54 00 3F FE */	rlwinm r0, r0, 7, 0x1f, 0x1f
/* 803D39B0 003CF610  7C 1E 00 40 */	cmplw r30, r0
/* 803D39B4 003CF614  40 82 00 08 */	bne lbl_803D39BC
/* 803D39B8 003CF618  3B A0 00 01 */	li r29, 1
lbl_803D39BC:
/* 803D39BC 003CF61C  2C 1D 00 00 */	cmpwi r29, 0
/* 803D39C0 003CF620  41 82 00 10 */	beq lbl_803D39D0
/* 803D39C4 003CF624  80 1C 00 B4 */	lwz r0, 0xb4(r28)
/* 803D39C8 003CF628  7C 00 FA 14 */	add r0, r0, r31
/* 803D39CC 003CF62C  90 1C 00 B4 */	stw r0, 0xb4(r28)
lbl_803D39D0:
/* 803D39D0 003CF630  39 61 00 30 */	addi r11, r1, 0x30
/* 803D39D4 003CF634  38 60 00 00 */	li r3, 0
/* 803D39D8 003CF638  4B DF 37 95 */	bl _restgpr_25
/* 803D39DC 003CF63C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D39E0 003CF640  7C 08 03 A6 */	mtlr r0
/* 803D39E4 003CF644  38 21 00 30 */	addi r1, r1, 0x30
/* 803D39E8 003CF648  4E 80 00 20 */	blr 
/* 803D39EC 003CF64C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D39F0 003CF650  7C 08 02 A6 */	mflr r0
/* 803D39F4 003CF654  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D39F8 003CF658  39 61 00 20 */	addi r11, r1, 0x20
/* 803D39FC 003CF65C  4B DF 37 2D */	bl _savegpr_27
/* 803D3A00 003CF660  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3A04 003CF664  7C 9C 23 78 */	mr r28, r4
/* 803D3A08 003CF668  7C 7B 1B 78 */	mr r27, r3
/* 803D3A0C 003CF66C  38 05 00 01 */	addi r0, r5, 1
/* 803D3A10 003CF670  7F 83 E3 78 */	mr r3, r28
/* 803D3A14 003CF674  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3A18 003CF678  48 00 34 55 */	bl func_803D6E6C
/* 803D3A1C 003CF67C  7C 7D 1B 78 */	mr r29, r3
/* 803D3A20 003CF680  7F 83 E3 78 */	mr r3, r28
/* 803D3A24 003CF684  48 00 34 49 */	bl func_803D6E6C
/* 803D3A28 003CF688  7C 7E 1B 78 */	mr r30, r3
/* 803D3A2C 003CF68C  7F 83 E3 78 */	mr r3, r28
/* 803D3A30 003CF690  48 00 34 3D */	bl func_803D6E6C
/* 803D3A34 003CF694  7C 7F 1B 78 */	mr r31, r3
/* 803D3A38 003CF698  7F 63 DB 78 */	mr r3, r27
/* 803D3A3C 003CF69C  7F 84 E3 78 */	mr r4, r28
/* 803D3A40 003CF6A0  7F A5 EB 78 */	mr r5, r29
/* 803D3A44 003CF6A4  48 00 45 F9 */	bl func_803D803C
/* 803D3A48 003CF6A8  28 1E 00 06 */	cmplwi r30, 6
/* 803D3A4C 003CF6AC  41 81 00 C0 */	bgt lbl_803D3B0C
/* 803D3A50 003CF6B0  3C 80 80 47 */	lis r4, lbl_804740F8@ha
/* 803D3A54 003CF6B4  57 C0 10 3A */	slwi r0, r30, 2
/* 803D3A58 003CF6B8  38 84 40 F8 */	addi r4, r4, lbl_804740F8@l
/* 803D3A5C 003CF6BC  7C 84 00 2E */	lwzx r4, r4, r0
/* 803D3A60 003CF6C0  7C 89 03 A6 */	mtctr r4
/* 803D3A64 003CF6C4  4E 80 04 20 */	bctr 
/* 803D3A68 003CF6C8  54 60 30 32 */	slwi r0, r3, 6
/* 803D3A6C 003CF6CC  7C 7C 02 14 */	add r3, r28, r0
/* 803D3A70 003CF6D0  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3A74 003CF6D4  53 E0 F8 00 */	rlwimi r0, r31, 0x1f, 0, 0
/* 803D3A78 003CF6D8  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D3A7C 003CF6DC  48 00 00 90 */	b lbl_803D3B0C
/* 803D3A80 003CF6E0  54 60 30 32 */	slwi r0, r3, 6
/* 803D3A84 003CF6E4  7C 7C 02 14 */	add r3, r28, r0
/* 803D3A88 003CF6E8  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3A8C 003CF6EC  53 E0 F0 42 */	rlwimi r0, r31, 0x1e, 1, 1
/* 803D3A90 003CF6F0  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D3A94 003CF6F4  48 00 00 78 */	b lbl_803D3B0C
/* 803D3A98 003CF6F8  54 60 30 32 */	slwi r0, r3, 6
/* 803D3A9C 003CF6FC  7C 7C 02 14 */	add r3, r28, r0
/* 803D3AA0 003CF700  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3AA4 003CF704  53 E0 E8 84 */	rlwimi r0, r31, 0x1d, 2, 2
/* 803D3AA8 003CF708  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D3AAC 003CF70C  48 00 00 60 */	b lbl_803D3B0C
/* 803D3AB0 003CF710  54 60 30 32 */	slwi r0, r3, 6
/* 803D3AB4 003CF714  7C 7C 02 14 */	add r3, r28, r0
/* 803D3AB8 003CF718  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3ABC 003CF71C  53 E0 E0 C6 */	rlwimi r0, r31, 0x1c, 3, 3
/* 803D3AC0 003CF720  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D3AC4 003CF724  48 00 00 48 */	b lbl_803D3B0C
/* 803D3AC8 003CF728  54 60 30 32 */	slwi r0, r3, 6
/* 803D3ACC 003CF72C  7C 7C 02 14 */	add r3, r28, r0
/* 803D3AD0 003CF730  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3AD4 003CF734  53 E0 D9 08 */	rlwimi r0, r31, 0x1b, 4, 4
/* 803D3AD8 003CF738  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D3ADC 003CF73C  48 00 00 30 */	b lbl_803D3B0C
/* 803D3AE0 003CF740  54 60 30 32 */	slwi r0, r3, 6
/* 803D3AE4 003CF744  7C 7C 02 14 */	add r3, r28, r0
/* 803D3AE8 003CF748  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3AEC 003CF74C  53 E0 D1 4A */	rlwimi r0, r31, 0x1a, 5, 5
/* 803D3AF0 003CF750  90 03 01 D4 */	stw r0, 0x1d4(r3)
/* 803D3AF4 003CF754  48 00 00 18 */	b lbl_803D3B0C
/* 803D3AF8 003CF758  54 60 30 32 */	slwi r0, r3, 6
/* 803D3AFC 003CF75C  7C 7C 02 14 */	add r3, r28, r0
/* 803D3B00 003CF760  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3B04 003CF764  53 E0 C9 8C */	rlwimi r0, r31, 0x19, 6, 6
/* 803D3B08 003CF768  90 03 01 D4 */	stw r0, 0x1d4(r3)
lbl_803D3B0C:
/* 803D3B0C 003CF76C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3B10 003CF770  38 60 00 00 */	li r3, 0
/* 803D3B14 003CF774  4B DF 36 61 */	bl _restgpr_27
/* 803D3B18 003CF778  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D3B1C 003CF77C  7C 08 03 A6 */	mtlr r0
/* 803D3B20 003CF780  38 21 00 20 */	addi r1, r1, 0x20
/* 803D3B24 003CF784  4E 80 00 20 */	blr 
/* 803D3B28 003CF788  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3B2C 003CF78C  80 64 00 6C */	lwz r3, 0x6c(r4)
/* 803D3B30 003CF790  38 A5 00 01 */	addi r5, r5, 1
/* 803D3B34 003CF794  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D3B38 003CF798  54 63 10 3A */	slwi r3, r3, 2
/* 803D3B3C 003CF79C  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803D3B40 003CF7A0  7C 64 1A 14 */	add r3, r4, r3
/* 803D3B44 003CF7A4  54 00 10 3A */	slwi r0, r0, 2
/* 803D3B48 003CF7A8  80 A3 21 F0 */	lwz r5, 0x21f0(r3)
/* 803D3B4C 003CF7AC  7C 64 02 14 */	add r3, r4, r0
/* 803D3B50 003CF7B0  80 03 21 F0 */	lwz r0, 0x21f0(r3)
/* 803D3B54 003CF7B4  1C 65 00 19 */	mulli r3, r5, 0x19
/* 803D3B58 003CF7B8  7C 63 03 96 */	divwu r3, r3, r0
/* 803D3B5C 003CF7BC  38 03 00 01 */	addi r0, r3, 1
/* 803D3B60 003CF7C0  2C 00 00 96 */	cmpwi r0, 0x96
/* 803D3B64 003CF7C4  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D3B68 003CF7C8  40 81 00 0C */	ble lbl_803D3B74
/* 803D3B6C 003CF7CC  38 00 00 96 */	li r0, 0x96
/* 803D3B70 003CF7D0  90 04 21 54 */	stw r0, 0x2154(r4)
lbl_803D3B74:
/* 803D3B74 003CF7D4  38 60 00 00 */	li r3, 0
/* 803D3B78 003CF7D8  4E 80 00 20 */	blr 
/* 803D3B7C 003CF7DC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D3B80 003CF7E0  7C 08 02 A6 */	mflr r0
/* 803D3B84 003CF7E4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D3B88 003CF7E8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3B8C 003CF7EC  4B DF 35 A1 */	bl _savegpr_28
/* 803D3B90 003CF7F0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3B94 003CF7F4  7C 9F 23 78 */	mr r31, r4
/* 803D3B98 003CF7F8  7C 7E 1B 78 */	mr r30, r3
/* 803D3B9C 003CF7FC  38 05 00 01 */	addi r0, r5, 1
/* 803D3BA0 003CF800  7F E3 FB 78 */	mr r3, r31
/* 803D3BA4 003CF804  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3BA8 003CF808  48 00 32 C5 */	bl func_803D6E6C
/* 803D3BAC 003CF80C  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D3BB0 003CF810  7C 7D 1B 78 */	mr r29, r3
/* 803D3BB4 003CF814  7F C3 F3 78 */	mr r3, r30
/* 803D3BB8 003CF818  4B FD 91 2D */	bl func_803ACCE4
/* 803D3BBC 003CF81C  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D3BC0 003CF820  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803D3BC4 003CF824  7F C3 F3 78 */	mr r3, r30
/* 803D3BC8 003CF828  54 00 30 32 */	slwi r0, r0, 6
/* 803D3BCC 003CF82C  7C 9F 02 14 */	add r4, r31, r0
/* 803D3BD0 003CF830  80 84 02 0C */	lwz r4, 0x20c(r4)
/* 803D3BD4 003CF834  4B FD 91 11 */	bl func_803ACCE4
/* 803D3BD8 003CF838  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D3BDC 003CF83C  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803D3BE0 003CF840  54 00 30 32 */	slwi r0, r0, 6
/* 803D3BE4 003CF844  7C 7F 02 14 */	add r3, r31, r0
/* 803D3BE8 003CF848  80 83 02 08 */	lwz r4, 0x208(r3)
/* 803D3BEC 003CF84C  2C 04 00 00 */	cmpwi r4, 0
/* 803D3BF0 003CF850  41 82 00 E8 */	beq lbl_803D3CD8
/* 803D3BF4 003CF854  7C 1C 28 00 */	cmpw r28, r5
/* 803D3BF8 003CF858  41 82 00 E0 */	beq lbl_803D3CD8
/* 803D3BFC 003CF85C  80 03 02 0C */	lwz r0, 0x20c(r3)
/* 803D3C00 003CF860  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D3C04 003CF864  7C 7F 02 14 */	add r3, r31, r0
/* 803D3C08 003CF868  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D3C0C 003CF86C  2C 00 00 00 */	cmpwi r0, 0
/* 803D3C10 003CF870  41 82 00 C8 */	beq lbl_803D3CD8
/* 803D3C14 003CF874  1C 84 00 0F */	mulli r4, r4, 0xf
/* 803D3C18 003CF878  38 60 00 0A */	li r3, 0xa
/* 803D3C1C 003CF87C  54 A0 18 38 */	slwi r0, r5, 3
/* 803D3C20 003CF880  7C 84 1B D6 */	divw r4, r4, r3
/* 803D3C24 003CF884  7C 7F 02 14 */	add r3, r31, r0
/* 803D3C28 003CF888  90 9F 21 44 */	stw r4, 0x2144(r31)
/* 803D3C2C 003CF88C  80 63 01 C4 */	lwz r3, 0x1c4(r3)
/* 803D3C30 003CF890  54 60 AF FF */	rlwinm. r0, r3, 0x15, 0x1f, 0x1f
/* 803D3C34 003CF894  41 82 00 24 */	beq lbl_803D3C58
/* 803D3C38 003CF898  54 64 BF BE */	rlwinm r4, r3, 0x17, 0x1e, 0x1f
/* 803D3C3C 003CF89C  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D3C40 003CF8A0  7C 7F 02 14 */	add r3, r31, r0
/* 803D3C44 003CF8A4  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D3C48 003CF8A8  2C 00 00 00 */	cmpwi r0, 0
/* 803D3C4C 003CF8AC  41 82 00 0C */	beq lbl_803D3C58
/* 803D3C50 003CF8B0  90 9F 00 6C */	stw r4, 0x6c(r31)
/* 803D3C54 003CF8B4  48 00 00 18 */	b lbl_803D3C6C
lbl_803D3C58:
/* 803D3C58 003CF8B8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D3C5C 003CF8BC  54 00 30 32 */	slwi r0, r0, 6
/* 803D3C60 003CF8C0  7C 7F 02 14 */	add r3, r31, r0
/* 803D3C64 003CF8C4  80 03 02 0C */	lwz r0, 0x20c(r3)
/* 803D3C68 003CF8C8  90 1F 00 6C */	stw r0, 0x6c(r31)
lbl_803D3C6C:
/* 803D3C6C 003CF8CC  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D3C70 003CF8D0  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D3C74 003CF8D4  7C 7F 02 14 */	add r3, r31, r0
/* 803D3C78 003CF8D8  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D3C7C 003CF8DC  2C 00 00 00 */	cmpwi r0, 0
/* 803D3C80 003CF8E0  40 82 00 44 */	bne lbl_803D3CC4
/* 803D3C84 003CF8E4  80 BF 00 64 */	lwz r5, 0x64(r31)
/* 803D3C88 003CF8E8  7F C3 F3 78 */	mr r3, r30
/* 803D3C8C 003CF8EC  7F E4 FB 78 */	mr r4, r31
/* 803D3C90 003CF8F0  4B FE DE BD */	bl func_803C1B4C
/* 803D3C94 003CF8F4  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803D3C98 003CF8F8  90 7F 00 6C */	stw r3, 0x6c(r31)
/* 803D3C9C 003CF8FC  7C 7F 02 14 */	add r3, r31, r0
/* 803D3CA0 003CF900  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D3CA4 003CF904  2C 00 00 00 */	cmpwi r0, 0
/* 803D3CA8 003CF908  40 82 00 1C */	bne lbl_803D3CC4
/* 803D3CAC 003CF90C  38 00 00 26 */	li r0, 0x26
/* 803D3CB0 003CF910  7F E3 FB 78 */	mr r3, r31
/* 803D3CB4 003CF914  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803D3CB8 003CF918  38 80 00 02 */	li r4, 2
/* 803D3CBC 003CF91C  38 A0 01 19 */	li r5, 0x119
/* 803D3CC0 003CF920  4B FE 6D 15 */	bl func_803BA9D4
lbl_803D3CC4:
/* 803D3CC4 003CF924  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D3CC8 003CF928  7F E3 FB 78 */	mr r3, r31
/* 803D3CCC 003CF92C  80 BF 00 6C */	lwz r5, 0x6c(r31)
/* 803D3CD0 003CF930  4B FF 4E F9 */	bl func_803C8BC8
/* 803D3CD4 003CF934  48 00 00 10 */	b lbl_803D3CE4
lbl_803D3CD8:
/* 803D3CD8 003CF938  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D3CDC 003CF93C  7C 00 EA 14 */	add r0, r0, r29
/* 803D3CE0 003CF940  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D3CE4:
/* 803D3CE4 003CF944  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3CE8 003CF948  38 60 00 00 */	li r3, 0
/* 803D3CEC 003CF94C  4B DF 34 8D */	bl _restgpr_28
/* 803D3CF0 003CF950  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D3CF4 003CF954  7C 08 03 A6 */	mtlr r0
/* 803D3CF8 003CF958  38 21 00 20 */	addi r1, r1, 0x20
/* 803D3CFC 003CF95C  4E 80 00 20 */	blr 
/* 803D3D00 003CF960  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D3D04 003CF964  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D3D08 003CF968  38 63 00 01 */	addi r3, r3, 1
/* 803D3D0C 003CF96C  54 00 20 36 */	slwi r0, r0, 4
/* 803D3D10 003CF970  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D3D14 003CF974  7C 64 02 14 */	add r3, r4, r0
/* 803D3D18 003CF978  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803D3D1C 003CF97C  28 00 00 27 */	cmplwi r0, 0x27
/* 803D3D20 003CF980  40 82 00 20 */	bne lbl_803D3D40
/* 803D3D24 003CF984  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803D3D28 003CF988  54 00 20 36 */	slwi r0, r0, 4
/* 803D3D2C 003CF98C  7C 64 02 14 */	add r3, r4, r0
/* 803D3D30 003CF990  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D3D34 003CF994  54 00 08 3C */	slwi r0, r0, 1
/* 803D3D38 003CF998  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D3D3C 003CF99C  48 00 00 18 */	b lbl_803D3D54
lbl_803D3D40:
/* 803D3D40 003CF9A0  80 04 30 44 */	lwz r0, 0x3044(r4)
/* 803D3D44 003CF9A4  54 00 20 36 */	slwi r0, r0, 4
/* 803D3D48 003CF9A8  7C 64 02 14 */	add r3, r4, r0
/* 803D3D4C 003CF9AC  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D3D50 003CF9B0  90 04 21 54 */	stw r0, 0x2154(r4)
lbl_803D3D54:
/* 803D3D54 003CF9B4  38 60 00 00 */	li r3, 0
/* 803D3D58 003CF9B8  4E 80 00 20 */	blr 
/* 803D3D5C 003CF9BC  80 64 00 B4 */	lwz r3, 0xb4(r4)
/* 803D3D60 003CF9C0  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D3D64 003CF9C4  38 63 00 01 */	addi r3, r3, 1
/* 803D3D68 003CF9C8  1C A0 00 C0 */	mulli r5, r0, 0xc0
/* 803D3D6C 003CF9CC  54 00 08 3C */	slwi r0, r0, 1
/* 803D3D70 003CF9D0  90 64 00 B4 */	stw r3, 0xb4(r4)
/* 803D3D74 003CF9D4  7C 64 02 14 */	add r3, r4, r0
/* 803D3D78 003CF9D8  A0 03 30 BC */	lhz r0, 0x30bc(r3)
/* 803D3D7C 003CF9DC  7C 64 2A 14 */	add r3, r4, r5
/* 803D3D80 003CF9E0  7C 63 02 14 */	add r3, r3, r0
/* 803D3D84 003CF9E4  88 03 2D 6C */	lbz r0, 0x2d6c(r3)
/* 803D3D88 003CF9E8  28 00 00 04 */	cmplwi r0, 4
/* 803D3D8C 003CF9EC  40 81 00 08 */	ble lbl_803D3D94
/* 803D3D90 003CF9F0  38 00 00 04 */	li r0, 4
lbl_803D3D94:
/* 803D3D94 003CF9F4  38 A2 AA 00 */	addi r5, r2, lbl_80643000-_SDA2_BASE_
/* 803D3D98 003CF9F8  38 60 00 00 */	li r3, 0
/* 803D3D9C 003CF9FC  7C 05 00 AE */	lbzx r0, r5, r0
/* 803D3DA0 003CFA00  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D3DA4 003CFA04  4E 80 00 20 */	blr 
/* 803D3DA8 003CFA08  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D3DAC 003CFA0C  38 60 00 00 */	li r3, 0
/* 803D3DB0 003CFA10  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3DB4 003CFA14  1C C0 00 C0 */	mulli r6, r0, 0xc0
/* 803D3DB8 003CFA18  38 05 00 01 */	addi r0, r5, 1
/* 803D3DBC 003CFA1C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3DC0 003CFA20  7C C4 32 14 */	add r6, r4, r6
/* 803D3DC4 003CFA24  80 A6 2D 8C */	lwz r5, 0x2d8c(r6)
/* 803D3DC8 003CFA28  80 06 2D 90 */	lwz r0, 0x2d90(r6)
/* 803D3DCC 003CFA2C  1C A5 00 78 */	mulli r5, r5, 0x78
/* 803D3DD0 003CFA30  7C A5 03 96 */	divwu r5, r5, r0
/* 803D3DD4 003CFA34  38 05 00 01 */	addi r0, r5, 1
/* 803D3DD8 003CFA38  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D3DDC 003CFA3C  4E 80 00 20 */	blr 
/* 803D3DE0 003CFA40  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D3DE4 003CFA44  7C 08 02 A6 */	mflr r0
/* 803D3DE8 003CFA48  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D3DEC 003CFA4C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3DF0 003CFA50  4B DF 33 41 */	bl _savegpr_29
/* 803D3DF4 003CFA54  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3DF8 003CFA58  7C 9D 23 78 */	mr r29, r4
/* 803D3DFC 003CFA5C  7F A3 EB 78 */	mr r3, r29
/* 803D3E00 003CFA60  38 05 00 01 */	addi r0, r5, 1
/* 803D3E04 003CFA64  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3E08 003CFA68  48 00 30 65 */	bl func_803D6E6C
/* 803D3E0C 003CFA6C  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803D3E10 003CFA70  7C 7F 1B 78 */	mr r31, r3
/* 803D3E14 003CFA74  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D3E18 003CFA78  7C 7D 02 14 */	add r3, r29, r0
/* 803D3E1C 003CFA7C  A3 C3 2D EC */	lhz r30, 0x2dec(r3)
/* 803D3E20 003CFA80  2C 1E 00 00 */	cmpwi r30, 0
/* 803D3E24 003CFA84  41 82 00 20 */	beq lbl_803D3E44
/* 803D3E28 003CFA88  A0 03 2D EE */	lhz r0, 0x2dee(r3)
/* 803D3E2C 003CFA8C  54 00 08 3C */	slwi r0, r0, 1
/* 803D3E30 003CFA90  7C 63 02 14 */	add r3, r3, r0
/* 803D3E34 003CFA94  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803D3E38 003CFA98  7C 1E 00 40 */	cmplw r30, r0
/* 803D3E3C 003CFA9C  40 82 00 08 */	bne lbl_803D3E44
/* 803D3E40 003CFAA0  48 00 00 10 */	b lbl_803D3E50
lbl_803D3E44:
/* 803D3E44 003CFAA4  7F A3 EB 78 */	mr r3, r29
/* 803D3E48 003CFAA8  4B FE B4 F9 */	bl func_803BF340
/* 803D3E4C 003CFAAC  7C 7E 1B 78 */	mr r30, r3
lbl_803D3E50:
/* 803D3E50 003CFAB0  80 9D 00 6C */	lwz r4, 0x6c(r29)
/* 803D3E54 003CFAB4  54 80 20 36 */	slwi r0, r4, 4
/* 803D3E58 003CFAB8  7C 7D 02 14 */	add r3, r29, r0
/* 803D3E5C 003CFABC  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803D3E60 003CFAC0  28 00 00 27 */	cmplwi r0, 0x27
/* 803D3E64 003CFAC4  41 82 00 78 */	beq lbl_803D3EDC
/* 803D3E68 003CFAC8  54 80 30 32 */	slwi r0, r4, 6
/* 803D3E6C 003CFACC  7C 7D 02 14 */	add r3, r29, r0
/* 803D3E70 003CFAD0  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D3E74 003CFAD4  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803D3E78 003CFAD8  40 82 00 64 */	bne lbl_803D3EDC
/* 803D3E7C 003CFADC  7F A3 EB 78 */	mr r3, r29
/* 803D3E80 003CFAE0  57 C4 04 3E */	clrlwi r4, r30, 0x10
/* 803D3E84 003CFAE4  4B FF 48 A1 */	bl func_803C8724
/* 803D3E88 003CFAE8  2C 03 00 01 */	cmpwi r3, 1
/* 803D3E8C 003CFAEC  40 82 00 50 */	bne lbl_803D3EDC
/* 803D3E90 003CFAF0  57 C0 23 36 */	rlwinm r0, r30, 4, 0xc, 0x1b
/* 803D3E94 003CFAF4  7C 7D 02 14 */	add r3, r29, r0
/* 803D3E98 003CFAF8  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D3E9C 003CFAFC  2C 00 00 00 */	cmpwi r0, 0
/* 803D3EA0 003CFB00  41 82 00 3C */	beq lbl_803D3EDC
/* 803D3EA4 003CFB04  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 803D3EA8 003CFB08  57 C0 04 3E */	clrlwi r0, r30, 0x10
/* 803D3EAC 003CFB0C  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D3EB0 003CFB10  7C 9D 1A 14 */	add r4, r29, r3
/* 803D3EB4 003CFB14  80 64 2D CC */	lwz r3, 0x2dcc(r4)
/* 803D3EB8 003CFB18  60 63 00 02 */	ori r3, r3, 2
/* 803D3EBC 003CFB1C  90 64 2D CC */	stw r3, 0x2dcc(r4)
/* 803D3EC0 003CFB20  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 803D3EC4 003CFB24  80 9D 01 74 */	lwz r4, 0x174(r29)
/* 803D3EC8 003CFB28  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D3ECC 003CFB2C  7C 7D 1A 14 */	add r3, r29, r3
/* 803D3ED0 003CFB30  90 83 2D DC */	stw r4, 0x2ddc(r3)
/* 803D3ED4 003CFB34  90 1D 01 24 */	stw r0, 0x124(r29)
/* 803D3ED8 003CFB38  48 00 00 10 */	b lbl_803D3EE8
lbl_803D3EDC:
/* 803D3EDC 003CFB3C  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D3EE0 003CFB40  7C 00 FA 14 */	add r0, r0, r31
/* 803D3EE4 003CFB44  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D3EE8:
/* 803D3EE8 003CFB48  39 61 00 20 */	addi r11, r1, 0x20
/* 803D3EEC 003CFB4C  38 60 00 00 */	li r3, 0
/* 803D3EF0 003CFB50  4B DF 32 8D */	bl _restgpr_29
/* 803D3EF4 003CFB54  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D3EF8 003CFB58  7C 08 03 A6 */	mtlr r0
/* 803D3EFC 003CFB5C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D3F00 003CFB60  4E 80 00 20 */	blr 
/* 803D3F04 003CFB64  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D3F08 003CFB68  7C 08 02 A6 */	mflr r0
/* 803D3F0C 003CFB6C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D3F10 003CFB70  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D3F14 003CFB74  93 C1 00 08 */	stw r30, 8(r1)
/* 803D3F18 003CFB78  7C 9E 23 78 */	mr r30, r4
/* 803D3F1C 003CFB7C  7F C3 F3 78 */	mr r3, r30
/* 803D3F20 003CFB80  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3F24 003CFB84  38 05 00 01 */	addi r0, r5, 1
/* 803D3F28 003CFB88  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D3F2C 003CFB8C  48 00 2F 41 */	bl func_803D6E6C
/* 803D3F30 003CFB90  80 1E 30 48 */	lwz r0, 0x3048(r30)
/* 803D3F34 003CFB94  7C 7F 1B 78 */	mr r31, r3
/* 803D3F38 003CFB98  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803D3F3C 003CFB9C  4B FE B9 A9 */	bl func_803BF8E4
/* 803D3F40 003CFBA0  2C 03 00 00 */	cmpwi r3, 0
/* 803D3F44 003CFBA4  40 82 00 2C */	bne lbl_803D3F70
/* 803D3F48 003CFBA8  80 1E 30 48 */	lwz r0, 0x3048(r30)
/* 803D3F4C 003CFBAC  2C 00 00 00 */	cmpwi r0, 0
/* 803D3F50 003CFBB0  41 82 00 20 */	beq lbl_803D3F70
/* 803D3F54 003CFBB4  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803D3F58 003CFBB8  4B FF 47 31 */	bl func_803C8688
/* 803D3F5C 003CFBBC  2C 03 00 01 */	cmpwi r3, 1
/* 803D3F60 003CFBC0  40 82 00 10 */	bne lbl_803D3F70
/* 803D3F64 003CFBC4  80 1E 30 48 */	lwz r0, 0x3048(r30)
/* 803D3F68 003CFBC8  90 1E 01 24 */	stw r0, 0x124(r30)
/* 803D3F6C 003CFBCC  48 00 00 10 */	b lbl_803D3F7C
lbl_803D3F70:
/* 803D3F70 003CFBD0  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D3F74 003CFBD4  7C 00 FA 14 */	add r0, r0, r31
/* 803D3F78 003CFBD8  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D3F7C:
/* 803D3F7C 003CFBDC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D3F80 003CFBE0  38 60 00 00 */	li r3, 0
/* 803D3F84 003CFBE4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D3F88 003CFBE8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D3F8C 003CFBEC  7C 08 03 A6 */	mtlr r0
/* 803D3F90 003CFBF0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D3F94 003CFBF4  4E 80 00 20 */	blr 
/* 803D3F98 003CFBF8  80 64 00 6C */	lwz r3, 0x6c(r4)
/* 803D3F9C 003CFBFC  38 00 00 08 */	li r0, 8
/* 803D3FA0 003CFC00  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D3FA4 003CFC04  38 E0 00 00 */	li r7, 0
/* 803D3FA8 003CFC08  1C 63 00 C0 */	mulli r3, r3, 0xc0
/* 803D3FAC 003CFC0C  38 C0 00 00 */	li r6, 0
/* 803D3FB0 003CFC10  38 A5 00 01 */	addi r5, r5, 1
/* 803D3FB4 003CFC14  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803D3FB8 003CFC18  7C A4 1A 14 */	add r5, r4, r3
/* 803D3FBC 003CFC1C  7C 09 03 A6 */	mtctr r0
lbl_803D3FC0:
/* 803D3FC0 003CFC20  7C 65 32 14 */	add r3, r5, r6
/* 803D3FC4 003CFC24  88 03 2D 58 */	lbz r0, 0x2d58(r3)
/* 803D3FC8 003CFC28  7C 00 07 74 */	extsb r0, r0
/* 803D3FCC 003CFC2C  2C 00 00 06 */	cmpwi r0, 6
/* 803D3FD0 003CFC30  40 81 00 0C */	ble lbl_803D3FDC
/* 803D3FD4 003CFC34  7C 67 02 14 */	add r3, r7, r0
/* 803D3FD8 003CFC38  38 E3 FF FA */	addi r7, r3, -6
lbl_803D3FDC:
/* 803D3FDC 003CFC3C  38 C6 00 01 */	addi r6, r6, 1
/* 803D3FE0 003CFC40  42 00 FF E0 */	bdnz lbl_803D3FC0
/* 803D3FE4 003CFC44  1C 67 00 14 */	mulli r3, r7, 0x14
/* 803D3FE8 003CFC48  38 03 00 3C */	addi r0, r3, 0x3c
/* 803D3FEC 003CFC4C  2C 00 00 C8 */	cmpwi r0, 0xc8
/* 803D3FF0 003CFC50  90 04 21 54 */	stw r0, 0x2154(r4)
/* 803D3FF4 003CFC54  40 81 00 0C */	ble lbl_803D4000
/* 803D3FF8 003CFC58  38 00 00 C8 */	li r0, 0xc8
/* 803D3FFC 003CFC5C  90 04 21 54 */	stw r0, 0x2154(r4)
lbl_803D4000:
/* 803D4000 003CFC60  38 60 00 00 */	li r3, 0
/* 803D4004 003CFC64  4E 80 00 20 */	blr 
/* 803D4008 003CFC68  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D400C 003CFC6C  7C 08 02 A6 */	mflr r0
/* 803D4010 003CFC70  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D4014 003CFC74  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D4018 003CFC78  93 C1 00 08 */	stw r30, 8(r1)
/* 803D401C 003CFC7C  7C 9E 23 78 */	mr r30, r4
/* 803D4020 003CFC80  7F C3 F3 78 */	mr r3, r30
/* 803D4024 003CFC84  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4028 003CFC88  38 05 00 01 */	addi r0, r5, 1
/* 803D402C 003CFC8C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4030 003CFC90  48 00 2E 3D */	bl func_803D6E6C
/* 803D4034 003CFC94  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D4038 003CFC98  7C 7F 1B 78 */	mr r31, r3
/* 803D403C 003CFC9C  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D4040 003CFCA0  7C 7E 02 14 */	add r3, r30, r0
/* 803D4044 003CFCA4  A0 A3 2D EC */	lhz r5, 0x2dec(r3)
/* 803D4048 003CFCA8  2C 05 00 00 */	cmpwi r5, 0
/* 803D404C 003CFCAC  41 82 00 20 */	beq lbl_803D406C
/* 803D4050 003CFCB0  A0 03 2D EE */	lhz r0, 0x2dee(r3)
/* 803D4054 003CFCB4  54 00 08 3C */	slwi r0, r0, 1
/* 803D4058 003CFCB8  7C 63 02 14 */	add r3, r3, r0
/* 803D405C 003CFCBC  A0 03 2D 4C */	lhz r0, 0x2d4c(r3)
/* 803D4060 003CFCC0  7C 05 00 40 */	cmplw r5, r0
/* 803D4064 003CFCC4  40 82 00 08 */	bne lbl_803D406C
/* 803D4068 003CFCC8  48 00 00 10 */	b lbl_803D4078
lbl_803D406C:
/* 803D406C 003CFCCC  7F C3 F3 78 */	mr r3, r30
/* 803D4070 003CFCD0  4B FE B2 D1 */	bl func_803BF340
/* 803D4074 003CFCD4  54 65 04 3E */	clrlwi r5, r3, 0x10
lbl_803D4078:
/* 803D4078 003CFCD8  80 9E 00 6C */	lwz r4, 0x6c(r30)
/* 803D407C 003CFCDC  54 80 20 36 */	slwi r0, r4, 4
/* 803D4080 003CFCE0  7C 7E 02 14 */	add r3, r30, r0
/* 803D4084 003CFCE4  80 03 21 A8 */	lwz r0, 0x21a8(r3)
/* 803D4088 003CFCE8  28 00 00 27 */	cmplwi r0, 0x27
/* 803D408C 003CFCEC  41 82 00 2C */	beq lbl_803D40B8
/* 803D4090 003CFCF0  54 A0 20 36 */	slwi r0, r5, 4
/* 803D4094 003CFCF4  7C 7E 02 14 */	add r3, r30, r0
/* 803D4098 003CFCF8  88 03 03 E1 */	lbz r0, 0x3e1(r3)
/* 803D409C 003CFCFC  2C 00 00 00 */	cmpwi r0, 0
/* 803D40A0 003CFD00  40 82 00 24 */	bne lbl_803D40C4
/* 803D40A4 003CFD04  54 80 30 32 */	slwi r0, r4, 6
/* 803D40A8 003CFD08  7C 7E 02 14 */	add r3, r30, r0
/* 803D40AC 003CFD0C  80 03 01 D4 */	lwz r0, 0x1d4(r3)
/* 803D40B0 003CFD10  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803D40B4 003CFD14  40 82 00 10 */	bne lbl_803D40C4
lbl_803D40B8:
/* 803D40B8 003CFD18  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D40BC 003CFD1C  7C 00 FA 14 */	add r0, r0, r31
/* 803D40C0 003CFD20  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D40C4:
/* 803D40C4 003CFD24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D40C8 003CFD28  38 60 00 00 */	li r3, 0
/* 803D40CC 003CFD2C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D40D0 003CFD30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D40D4 003CFD34  7C 08 03 A6 */	mtlr r0
/* 803D40D8 003CFD38  38 21 00 10 */	addi r1, r1, 0x10
/* 803D40DC 003CFD3C  4E 80 00 20 */	blr 
/* 803D40E0 003CFD40  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D40E4 003CFD44  7C 08 02 A6 */	mflr r0
/* 803D40E8 003CFD48  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D40EC 003CFD4C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D40F0 003CFD50  4B DF 30 35 */	bl _savegpr_26
/* 803D40F4 003CFD54  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D40F8 003CFD58  7C 9D 23 78 */	mr r29, r4
/* 803D40FC 003CFD5C  7C 7A 1B 78 */	mr r26, r3
/* 803D4100 003CFD60  38 05 00 01 */	addi r0, r5, 1
/* 803D4104 003CFD64  7F A3 EB 78 */	mr r3, r29
/* 803D4108 003CFD68  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D410C 003CFD6C  48 00 2D 61 */	bl func_803D6E6C
/* 803D4110 003CFD70  7C 7B 1B 78 */	mr r27, r3
/* 803D4114 003CFD74  7F A3 EB 78 */	mr r3, r29
/* 803D4118 003CFD78  48 00 2D 55 */	bl func_803D6E6C
/* 803D411C 003CFD7C  7C 7E 1B 78 */	mr r30, r3
/* 803D4120 003CFD80  7F A3 EB 78 */	mr r3, r29
/* 803D4124 003CFD84  48 00 2D 49 */	bl func_803D6E6C
/* 803D4128 003CFD88  7C 7C 1B 78 */	mr r28, r3
/* 803D412C 003CFD8C  7F A3 EB 78 */	mr r3, r29
/* 803D4130 003CFD90  48 00 2D 3D */	bl func_803D6E6C
/* 803D4134 003CFD94  7C 7F 1B 78 */	mr r31, r3
/* 803D4138 003CFD98  7F 43 D3 78 */	mr r3, r26
/* 803D413C 003CFD9C  7F A4 EB 78 */	mr r4, r29
/* 803D4140 003CFDA0  7F 65 DB 78 */	mr r5, r27
/* 803D4144 003CFDA4  48 00 3E F9 */	bl func_803D803C
/* 803D4148 003CFDA8  7C 64 1B 78 */	mr r4, r3
/* 803D414C 003CFDAC  7F 43 D3 78 */	mr r3, r26
/* 803D4150 003CFDB0  4B FD 8B 95 */	bl func_803ACCE4
/* 803D4154 003CFDB4  2C 1E 00 02 */	cmpwi r30, 2
/* 803D4158 003CFDB8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D415C 003CFDBC  41 82 00 C0 */	beq lbl_803D421C
/* 803D4160 003CFDC0  40 80 01 F4 */	bge lbl_803D4354
/* 803D4164 003CFDC4  2C 1E 00 00 */	cmpwi r30, 0
/* 803D4168 003CFDC8  40 80 00 08 */	bge lbl_803D4170
/* 803D416C 003CFDCC  48 00 01 E8 */	b lbl_803D4354
lbl_803D4170:
/* 803D4170 003CFDD0  2C 1C 00 03 */	cmpwi r28, 3
/* 803D4174 003CFDD4  41 82 00 6C */	beq lbl_803D41E0
/* 803D4178 003CFDD8  40 80 00 1C */	bge lbl_803D4194
/* 803D417C 003CFDDC  2C 1C 00 01 */	cmpwi r28, 1
/* 803D4180 003CFDE0  41 82 00 38 */	beq lbl_803D41B8
/* 803D4184 003CFDE4  40 80 00 48 */	bge lbl_803D41CC
/* 803D4188 003CFDE8  2C 1C 00 00 */	cmpwi r28, 0
/* 803D418C 003CFDEC  40 80 00 18 */	bge lbl_803D41A4
/* 803D4190 003CFDF0  48 00 01 C4 */	b lbl_803D4354
lbl_803D4194:
/* 803D4194 003CFDF4  2C 1C 00 05 */	cmpwi r28, 5
/* 803D4198 003CFDF8  41 82 00 70 */	beq lbl_803D4208
/* 803D419C 003CFDFC  40 80 01 B8 */	bge lbl_803D4354
/* 803D41A0 003CFE00  48 00 00 54 */	b lbl_803D41F4
lbl_803D41A4:
/* 803D41A4 003CFE04  54 00 18 38 */	slwi r0, r0, 3
/* 803D41A8 003CFE08  7C 7D 02 14 */	add r3, r29, r0
/* 803D41AC 003CFE0C  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803D41B0 003CFE10  54 03 2F 7E */	rlwinm r3, r0, 5, 0x1d, 0x1f
/* 803D41B4 003CFE14  48 00 01 A0 */	b lbl_803D4354
lbl_803D41B8:
/* 803D41B8 003CFE18  54 00 18 38 */	slwi r0, r0, 3
/* 803D41BC 003CFE1C  7C 7D 02 14 */	add r3, r29, r0
/* 803D41C0 003CFE20  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803D41C4 003CFE24  54 03 57 7E */	rlwinm r3, r0, 0xa, 0x1d, 0x1f
/* 803D41C8 003CFE28  48 00 01 8C */	b lbl_803D4354
lbl_803D41CC:
/* 803D41CC 003CFE2C  54 00 18 38 */	slwi r0, r0, 3
/* 803D41D0 003CFE30  7C 7D 02 14 */	add r3, r29, r0
/* 803D41D4 003CFE34  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803D41D8 003CFE38  54 03 7F 7E */	rlwinm r3, r0, 0xf, 0x1d, 0x1f
/* 803D41DC 003CFE3C  48 00 01 78 */	b lbl_803D4354
lbl_803D41E0:
/* 803D41E0 003CFE40  54 00 18 38 */	slwi r0, r0, 3
/* 803D41E4 003CFE44  7C 7D 02 14 */	add r3, r29, r0
/* 803D41E8 003CFE48  80 03 01 C4 */	lwz r0, 0x1c4(r3)
/* 803D41EC 003CFE4C  54 03 A7 7E */	rlwinm r3, r0, 0x14, 0x1d, 0x1f
/* 803D41F0 003CFE50  48 00 01 64 */	b lbl_803D4354
lbl_803D41F4:
/* 803D41F4 003CFE54  54 00 18 38 */	slwi r0, r0, 3
/* 803D41F8 003CFE58  7C 7D 02 14 */	add r3, r29, r0
/* 803D41FC 003CFE5C  80 03 01 C8 */	lwz r0, 0x1c8(r3)
/* 803D4200 003CFE60  54 03 17 BE */	srwi r3, r0, 0x1e
/* 803D4204 003CFE64  48 00 01 50 */	b lbl_803D4354
lbl_803D4208:
/* 803D4208 003CFE68  54 00 18 38 */	slwi r0, r0, 3
/* 803D420C 003CFE6C  7C 7D 02 14 */	add r3, r29, r0
/* 803D4210 003CFE70  80 03 01 C8 */	lwz r0, 0x1c8(r3)
/* 803D4214 003CFE74  54 03 27 BE */	rlwinm r3, r0, 4, 0x1e, 0x1f
/* 803D4218 003CFE78  48 00 01 3C */	b lbl_803D4354
lbl_803D421C:
/* 803D421C 003CFE7C  2C 1C 00 03 */	cmpwi r28, 3
/* 803D4220 003CFE80  41 82 00 B4 */	beq lbl_803D42D4
/* 803D4224 003CFE84  40 80 00 1C */	bge lbl_803D4240
/* 803D4228 003CFE88  2C 1C 00 01 */	cmpwi r28, 1
/* 803D422C 003CFE8C  41 82 00 50 */	beq lbl_803D427C
/* 803D4230 003CFE90  40 80 00 78 */	bge lbl_803D42A8
/* 803D4234 003CFE94  2C 1C 00 00 */	cmpwi r28, 0
/* 803D4238 003CFE98  40 80 00 18 */	bge lbl_803D4250
/* 803D423C 003CFE9C  48 00 01 18 */	b lbl_803D4354
lbl_803D4240:
/* 803D4240 003CFEA0  2C 1C 00 05 */	cmpwi r28, 5
/* 803D4244 003CFEA4  41 82 00 E8 */	beq lbl_803D432C
/* 803D4248 003CFEA8  40 80 01 0C */	bge lbl_803D4354
/* 803D424C 003CFEAC  48 00 00 B4 */	b lbl_803D4300
lbl_803D4250:
/* 803D4250 003CFEB0  54 03 18 38 */	slwi r3, r0, 3
/* 803D4254 003CFEB4  54 00 10 3A */	slwi r0, r0, 2
/* 803D4258 003CFEB8  7C BD 1A 14 */	add r5, r29, r3
/* 803D425C 003CFEBC  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803D4260 003CFEC0  7C 7D 02 14 */	add r3, r29, r0
/* 803D4264 003CFEC4  54 84 01 42 */	rlwinm r4, r4, 0, 5, 1
/* 803D4268 003CFEC8  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D426C 003CFECC  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D4270 003CFED0  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 803D4274 003CFED4  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D4278 003CFED8  48 00 00 DC */	b lbl_803D4354
lbl_803D427C:
/* 803D427C 003CFEDC  54 03 18 38 */	slwi r3, r0, 3
/* 803D4280 003CFEE0  54 00 10 3A */	slwi r0, r0, 2
/* 803D4284 003CFEE4  7C BD 1A 14 */	add r5, r29, r3
/* 803D4288 003CFEE8  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803D428C 003CFEEC  7C 7D 02 14 */	add r3, r29, r0
/* 803D4290 003CFEF0  54 84 02 8C */	rlwinm r4, r4, 0, 0xa, 6
/* 803D4294 003CFEF4  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D4298 003CFEF8  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D429C 003CFEFC  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 803D42A0 003CFF00  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D42A4 003CFF04  48 00 00 B0 */	b lbl_803D4354
lbl_803D42A8:
/* 803D42A8 003CFF08  54 03 18 38 */	slwi r3, r0, 3
/* 803D42AC 003CFF0C  54 00 10 3A */	slwi r0, r0, 2
/* 803D42B0 003CFF10  7C BD 1A 14 */	add r5, r29, r3
/* 803D42B4 003CFF14  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803D42B8 003CFF18  7C 7D 02 14 */	add r3, r29, r0
/* 803D42BC 003CFF1C  54 84 03 D6 */	rlwinm r4, r4, 0, 0xf, 0xb
/* 803D42C0 003CFF20  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D42C4 003CFF24  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D42C8 003CFF28  54 00 06 B0 */	rlwinm r0, r0, 0, 0x1a, 0x18
/* 803D42CC 003CFF2C  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D42D0 003CFF30  48 00 00 84 */	b lbl_803D4354
lbl_803D42D4:
/* 803D42D4 003CFF34  54 03 18 38 */	slwi r3, r0, 3
/* 803D42D8 003CFF38  54 00 10 3A */	slwi r0, r0, 2
/* 803D42DC 003CFF3C  7C BD 1A 14 */	add r5, r29, r3
/* 803D42E0 003CFF40  80 85 01 C4 */	lwz r4, 0x1c4(r5)
/* 803D42E4 003CFF44  7C 7D 02 14 */	add r3, r29, r0
/* 803D42E8 003CFF48  54 84 05 20 */	rlwinm r4, r4, 0, 0x14, 0x10
/* 803D42EC 003CFF4C  90 85 01 C4 */	stw r4, 0x1c4(r5)
/* 803D42F0 003CFF50  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D42F4 003CFF54  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 803D42F8 003CFF58  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D42FC 003CFF5C  48 00 00 58 */	b lbl_803D4354
lbl_803D4300:
/* 803D4300 003CFF60  54 03 18 38 */	slwi r3, r0, 3
/* 803D4304 003CFF64  54 00 10 3A */	slwi r0, r0, 2
/* 803D4308 003CFF68  7C BD 1A 14 */	add r5, r29, r3
/* 803D430C 003CFF6C  80 85 01 C8 */	lwz r4, 0x1c8(r5)
/* 803D4310 003CFF70  7C 7D 02 14 */	add r3, r29, r0
/* 803D4314 003CFF74  54 84 00 BE */	clrlwi r4, r4, 2
/* 803D4318 003CFF78  90 85 01 C8 */	stw r4, 0x1c8(r5)
/* 803D431C 003CFF7C  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D4320 003CFF80  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 803D4324 003CFF84  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D4328 003CFF88  48 00 00 2C */	b lbl_803D4354
lbl_803D432C:
/* 803D432C 003CFF8C  54 03 18 38 */	slwi r3, r0, 3
/* 803D4330 003CFF90  54 00 10 3A */	slwi r0, r0, 2
/* 803D4334 003CFF94  7C BD 1A 14 */	add r5, r29, r3
/* 803D4338 003CFF98  80 85 01 C8 */	lwz r4, 0x1c8(r5)
/* 803D433C 003CFF9C  7C 7D 02 14 */	add r3, r29, r0
/* 803D4340 003CFFA0  54 84 01 02 */	rlwinm r4, r4, 0, 4, 1
/* 803D4344 003CFFA4  90 85 01 C8 */	stw r4, 0x1c8(r5)
/* 803D4348 003CFFA8  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D434C 003CFFAC  54 00 05 A8 */	rlwinm r0, r0, 0, 0x16, 0x14
/* 803D4350 003CFFB0  90 03 01 BC */	stw r0, 0x1bc(r3)
lbl_803D4354:
/* 803D4354 003CFFB4  2C 1E 00 00 */	cmpwi r30, 0
/* 803D4358 003CFFB8  40 82 00 18 */	bne lbl_803D4370
/* 803D435C 003CFFBC  2C 03 00 00 */	cmpwi r3, 0
/* 803D4360 003CFFC0  40 82 00 10 */	bne lbl_803D4370
/* 803D4364 003CFFC4  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D4368 003CFFC8  7C 00 FA 14 */	add r0, r0, r31
/* 803D436C 003CFFCC  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D4370:
/* 803D4370 003CFFD0  2C 1E 00 01 */	cmpwi r30, 1
/* 803D4374 003CFFD4  40 82 00 18 */	bne lbl_803D438C
/* 803D4378 003CFFD8  2C 03 00 00 */	cmpwi r3, 0
/* 803D437C 003CFFDC  41 82 00 10 */	beq lbl_803D438C
/* 803D4380 003CFFE0  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D4384 003CFFE4  7C 00 FA 14 */	add r0, r0, r31
/* 803D4388 003CFFE8  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D438C:
/* 803D438C 003CFFEC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4390 003CFFF0  38 60 00 00 */	li r3, 0
/* 803D4394 003CFFF4  4B DF 2D DD */	bl _restgpr_26
/* 803D4398 003CFFF8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D439C 003CFFFC  7C 08 03 A6 */	mtlr r0
/* 803D43A0 003D0000  38 21 00 20 */	addi r1, r1, 0x20
/* 803D43A4 003D0004  4E 80 00 20 */	blr 
/* 803D43A8 003D0008  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D43AC 003D000C  7C 08 02 A6 */	mflr r0
/* 803D43B0 003D0010  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D43B4 003D0014  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D43B8 003D0018  7C 9F 23 78 */	mr r31, r4
/* 803D43BC 003D001C  7F E3 FB 78 */	mr r3, r31
/* 803D43C0 003D0020  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D43C4 003D0024  38 05 00 01 */	addi r0, r5, 1
/* 803D43C8 003D0028  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D43CC 003D002C  48 00 2A A1 */	bl func_803D6E6C
/* 803D43D0 003D0030  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D43D4 003D0034  54 00 30 32 */	slwi r0, r0, 6
/* 803D43D8 003D0038  7C 9F 02 14 */	add r4, r31, r0
/* 803D43DC 003D003C  80 04 01 D4 */	lwz r0, 0x1d4(r4)
/* 803D43E0 003D0040  54 00 1F FF */	rlwinm. r0, r0, 3, 0x1f, 0x1f
/* 803D43E4 003D0044  40 82 00 10 */	bne lbl_803D43F4
/* 803D43E8 003D0048  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D43EC 003D004C  7C 00 1A 14 */	add r0, r0, r3
/* 803D43F0 003D0050  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D43F4:
/* 803D43F4 003D0054  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D43F8 003D0058  38 60 00 00 */	li r3, 0
/* 803D43FC 003D005C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D4400 003D0060  7C 08 03 A6 */	mtlr r0
/* 803D4404 003D0064  38 21 00 10 */	addi r1, r1, 0x10
/* 803D4408 003D0068  4E 80 00 20 */	blr 
/* 803D440C 003D006C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D4410 003D0070  7C 08 02 A6 */	mflr r0
/* 803D4414 003D0074  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D4418 003D0078  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D441C 003D007C  7C 9F 23 78 */	mr r31, r4
/* 803D4420 003D0080  7F E3 FB 78 */	mr r3, r31
/* 803D4424 003D0084  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4428 003D0088  38 05 00 01 */	addi r0, r5, 1
/* 803D442C 003D008C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4430 003D0090  48 00 2A 3D */	bl func_803D6E6C
/* 803D4434 003D0094  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D4438 003D0098  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D443C 003D009C  7C 9F 02 14 */	add r4, r31, r0
/* 803D4440 003D00A0  80 04 2D AC */	lwz r0, 0x2dac(r4)
/* 803D4444 003D00A4  2C 00 00 00 */	cmpwi r0, 0
/* 803D4448 003D00A8  40 82 00 28 */	bne lbl_803D4470
/* 803D444C 003D00AC  80 04 2D B0 */	lwz r0, 0x2db0(r4)
/* 803D4450 003D00B0  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803D4454 003D00B4  40 82 00 1C */	bne lbl_803D4470
/* 803D4458 003D00B8  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D445C 003D00BC  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D4460 003D00C0  7C 9F 02 14 */	add r4, r31, r0
/* 803D4464 003D00C4  80 04 2D AC */	lwz r0, 0x2dac(r4)
/* 803D4468 003D00C8  2C 00 00 00 */	cmpwi r0, 0
/* 803D446C 003D00CC  40 82 00 10 */	bne lbl_803D447C
lbl_803D4470:
/* 803D4470 003D00D0  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D4474 003D00D4  7C 00 1A 14 */	add r0, r0, r3
/* 803D4478 003D00D8  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D447C:
/* 803D447C 003D00DC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D4480 003D00E0  38 60 00 00 */	li r3, 0
/* 803D4484 003D00E4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D4488 003D00E8  7C 08 03 A6 */	mtlr r0
/* 803D448C 003D00EC  38 21 00 10 */	addi r1, r1, 0x10
/* 803D4490 003D00F0  4E 80 00 20 */	blr 
/* 803D4494 003D00F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D4498 003D00F8  7C 08 02 A6 */	mflr r0
/* 803D449C 003D00FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D44A0 003D0100  39 61 00 20 */	addi r11, r1, 0x20
/* 803D44A4 003D0104  4B DF 2C 8D */	bl _savegpr_29
/* 803D44A8 003D0108  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D44AC 003D010C  7C 9E 23 78 */	mr r30, r4
/* 803D44B0 003D0110  7C 7D 1B 78 */	mr r29, r3
/* 803D44B4 003D0114  38 05 00 01 */	addi r0, r5, 1
/* 803D44B8 003D0118  7F C3 F3 78 */	mr r3, r30
/* 803D44BC 003D011C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D44C0 003D0120  48 00 29 AD */	bl func_803D6E6C
/* 803D44C4 003D0124  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803D44C8 003D0128  7C 7F 1B 78 */	mr r31, r3
/* 803D44CC 003D012C  7F A3 EB 78 */	mr r3, r29
/* 803D44D0 003D0130  7F C4 F3 78 */	mr r4, r30
/* 803D44D4 003D0134  4B FE C1 D1 */	bl func_803C06A4
/* 803D44D8 003D0138  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D44DC 003D013C  38 03 FF FF */	addi r0, r3, -1
/* 803D44E0 003D0140  1C 84 00 C0 */	mulli r4, r4, 0xc0
/* 803D44E4 003D0144  7C 9E 22 14 */	add r4, r30, r4
/* 803D44E8 003D0148  80 84 2D CC */	lwz r4, 0x2dcc(r4)
/* 803D44EC 003D014C  54 84 6F 7E */	rlwinm r4, r4, 0xd, 0x1d, 0x1f
/* 803D44F0 003D0150  7C 04 00 40 */	cmplw r4, r0
/* 803D44F4 003D0154  41 80 00 0C */	blt lbl_803D4500
/* 803D44F8 003D0158  2C 03 00 02 */	cmpwi r3, 2
/* 803D44FC 003D015C  40 80 00 10 */	bge lbl_803D450C
lbl_803D4500:
/* 803D4500 003D0160  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D4504 003D0164  7C 00 FA 14 */	add r0, r0, r31
/* 803D4508 003D0168  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D450C:
/* 803D450C 003D016C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4510 003D0170  38 60 00 00 */	li r3, 0
/* 803D4514 003D0174  4B DF 2C 69 */	bl _restgpr_29
/* 803D4518 003D0178  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D451C 003D017C  7C 08 03 A6 */	mtlr r0
/* 803D4520 003D0180  38 21 00 20 */	addi r1, r1, 0x20
/* 803D4524 003D0184  4E 80 00 20 */	blr 
/* 803D4528 003D0188  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D452C 003D018C  7C 08 02 A6 */	mflr r0
/* 803D4530 003D0190  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4534 003D0194  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4538 003D0198  4B DF 2B F9 */	bl _savegpr_29
/* 803D453C 003D019C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4540 003D01A0  7C 9E 23 78 */	mr r30, r4
/* 803D4544 003D01A4  7C 7D 1B 78 */	mr r29, r3
/* 803D4548 003D01A8  38 05 00 01 */	addi r0, r5, 1
/* 803D454C 003D01AC  7F C3 F3 78 */	mr r3, r30
/* 803D4550 003D01B0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4554 003D01B4  48 00 29 19 */	bl func_803D6E6C
/* 803D4558 003D01B8  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D455C 003D01BC  7C 7F 1B 78 */	mr r31, r3
/* 803D4560 003D01C0  7F A3 EB 78 */	mr r3, r29
/* 803D4564 003D01C4  4B FD 87 81 */	bl func_803ACCE4
/* 803D4568 003D01C8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D456C 003D01CC  68 03 00 01 */	xori r3, r0, 1
/* 803D4570 003D01D0  54 60 18 38 */	slwi r0, r3, 3
/* 803D4574 003D01D4  7C BE 02 14 */	add r5, r30, r0
/* 803D4578 003D01D8  80 05 01 C8 */	lwz r0, 0x1c8(r5)
/* 803D457C 003D01DC  54 00 27 BE */	rlwinm r0, r0, 4, 0x1e, 0x1f
/* 803D4580 003D01E0  28 00 00 02 */	cmplwi r0, 2
/* 803D4584 003D01E4  40 82 00 2C */	bne lbl_803D45B0
/* 803D4588 003D01E8  80 1E 00 64 */	lwz r0, 0x64(r30)
/* 803D458C 003D01EC  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D4590 003D01F0  7C 7E 02 14 */	add r3, r30, r0
/* 803D4594 003D01F4  80 03 02 D4 */	lwz r0, 0x2d4(r3)
/* 803D4598 003D01F8  64 00 80 00 */	oris r0, r0, 0x8000
/* 803D459C 003D01FC  90 03 02 D4 */	stw r0, 0x2d4(r3)
/* 803D45A0 003D0200  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D45A4 003D0204  7C 00 FA 14 */	add r0, r0, r31
/* 803D45A8 003D0208  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D45AC 003D020C  48 00 00 2C */	b lbl_803D45D8
lbl_803D45B0:
/* 803D45B0 003D0210  54 60 10 3A */	slwi r0, r3, 2
/* 803D45B4 003D0214  7C 7E 02 14 */	add r3, r30, r0
/* 803D45B8 003D0218  80 03 01 BC */	lwz r0, 0x1bc(r3)
/* 803D45BC 003D021C  60 00 04 00 */	ori r0, r0, 0x400
/* 803D45C0 003D0220  90 03 01 BC */	stw r0, 0x1bc(r3)
/* 803D45C4 003D0224  80 85 01 C8 */	lwz r4, 0x1c8(r5)
/* 803D45C8 003D0228  54 83 27 BE */	rlwinm r3, r4, 4, 0x1e, 0x1f
/* 803D45CC 003D022C  38 03 00 01 */	addi r0, r3, 1
/* 803D45D0 003D0230  50 04 E0 86 */	rlwimi r4, r0, 0x1c, 2, 3
/* 803D45D4 003D0234  90 85 01 C8 */	stw r4, 0x1c8(r5)
lbl_803D45D8:
/* 803D45D8 003D0238  39 61 00 20 */	addi r11, r1, 0x20
/* 803D45DC 003D023C  38 60 00 00 */	li r3, 0
/* 803D45E0 003D0240  4B DF 2B 9D */	bl _restgpr_29
/* 803D45E4 003D0244  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D45E8 003D0248  7C 08 03 A6 */	mtlr r0
/* 803D45EC 003D024C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D45F0 003D0250  4E 80 00 20 */	blr 
/* 803D45F4 003D0254  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D45F8 003D0258  7C 08 02 A6 */	mflr r0
/* 803D45FC 003D025C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4600 003D0260  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4604 003D0264  4B DF 2B 25 */	bl _savegpr_27
/* 803D4608 003D0268  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D460C 003D026C  7C 9F 23 78 */	mr r31, r4
/* 803D4610 003D0270  7C 7B 1B 78 */	mr r27, r3
/* 803D4614 003D0274  38 05 00 01 */	addi r0, r5, 1
/* 803D4618 003D0278  7F E3 FB 78 */	mr r3, r31
/* 803D461C 003D027C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4620 003D0280  48 00 28 4D */	bl func_803D6E6C
/* 803D4624 003D0284  7C 7E 1B 78 */	mr r30, r3
/* 803D4628 003D0288  7F E3 FB 78 */	mr r3, r31
/* 803D462C 003D028C  48 00 28 41 */	bl func_803D6E6C
/* 803D4630 003D0290  7C 7D 1B 78 */	mr r29, r3
/* 803D4634 003D0294  7F 63 DB 78 */	mr r3, r27
/* 803D4638 003D0298  7F E4 FB 78 */	mr r4, r31
/* 803D463C 003D029C  7F C5 F3 78 */	mr r5, r30
/* 803D4640 003D02A0  48 00 39 FD */	bl func_803D803C
/* 803D4644 003D02A4  7C 7C 1B 78 */	mr r28, r3
/* 803D4648 003D02A8  7F 63 DB 78 */	mr r3, r27
/* 803D464C 003D02AC  7F 84 E3 78 */	mr r4, r28
/* 803D4650 003D02B0  4B FD 86 95 */	bl func_803ACCE4
/* 803D4654 003D02B4  54 60 1D 78 */	rlwinm r0, r3, 3, 0x15, 0x1c
/* 803D4658 003D02B8  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803D465C 003D02BC  7F DF 02 14 */	add r30, r31, r0
/* 803D4660 003D02C0  80 1E 01 C8 */	lwz r0, 0x1c8(r30)
/* 803D4664 003D02C4  54 03 27 BF */	rlwinm. r3, r0, 4, 0x1e, 0x1f
/* 803D4668 003D02C8  41 82 00 78 */	beq lbl_803D46E0
/* 803D466C 003D02CC  38 00 00 06 */	li r0, 6
/* 803D4670 003D02D0  90 7F 01 34 */	stw r3, 0x134(r31)
/* 803D4674 003D02D4  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803D4678 003D02D8  7F E3 FB 78 */	mr r3, r31
/* 803D467C 003D02DC  90 1F 00 88 */	stw r0, 0x88(r31)
/* 803D4680 003D02E0  38 A0 00 1B */	li r5, 0x1b
/* 803D4684 003D02E4  38 C0 00 00 */	li r6, 0
/* 803D4688 003D02E8  93 9F 00 94 */	stw r28, 0x94(r31)
/* 803D468C 003D02EC  4B FE 66 19 */	bl func_803BACA4
/* 803D4690 003D02F0  2C 03 00 03 */	cmpwi r3, 3
/* 803D4694 003D02F4  41 82 00 20 */	beq lbl_803D46B4
/* 803D4698 003D02F8  80 9F 00 78 */	lwz r4, 0x78(r31)
/* 803D469C 003D02FC  7F E3 FB 78 */	mr r3, r31
/* 803D46A0 003D0300  38 A0 00 1C */	li r5, 0x1c
/* 803D46A4 003D0304  38 C0 00 00 */	li r6, 0
/* 803D46A8 003D0308  4B FE 65 FD */	bl func_803BACA4
/* 803D46AC 003D030C  2C 03 00 03 */	cmpwi r3, 3
/* 803D46B0 003D0310  40 82 00 3C */	bne lbl_803D46EC
lbl_803D46B4:
/* 803D46B4 003D0314  57 60 10 3A */	slwi r0, r27, 2
/* 803D46B8 003D0318  38 60 00 00 */	li r3, 0
/* 803D46BC 003D031C  7C 9F 02 14 */	add r4, r31, r0
/* 803D46C0 003D0320  80 04 01 BC */	lwz r0, 0x1bc(r4)
/* 803D46C4 003D0324  54 00 05 A8 */	rlwinm r0, r0, 0, 0x16, 0x14
/* 803D46C8 003D0328  90 04 01 BC */	stw r0, 0x1bc(r4)
/* 803D46CC 003D032C  80 1E 01 C8 */	lwz r0, 0x1c8(r30)
/* 803D46D0 003D0330  54 00 01 02 */	rlwinm r0, r0, 0, 4, 1
/* 803D46D4 003D0334  90 1E 01 C8 */	stw r0, 0x1c8(r30)
/* 803D46D8 003D0338  90 7F 01 34 */	stw r3, 0x134(r31)
/* 803D46DC 003D033C  48 00 00 10 */	b lbl_803D46EC
lbl_803D46E0:
/* 803D46E0 003D0340  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D46E4 003D0344  7C 00 EA 14 */	add r0, r0, r29
/* 803D46E8 003D0348  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D46EC:
/* 803D46EC 003D034C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D46F0 003D0350  38 60 00 00 */	li r3, 0
/* 803D46F4 003D0354  4B DF 2A 81 */	bl _restgpr_27
/* 803D46F8 003D0358  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D46FC 003D035C  7C 08 03 A6 */	mtlr r0
/* 803D4700 003D0360  38 21 00 20 */	addi r1, r1, 0x20
/* 803D4704 003D0364  4E 80 00 20 */	blr 
/* 803D4708 003D0368  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D470C 003D036C  7C 08 02 A6 */	mflr r0
/* 803D4710 003D0370  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D4714 003D0374  39 61 00 30 */	addi r11, r1, 0x30
/* 803D4718 003D0378  4B DF 2A 09 */	bl _savegpr_25
/* 803D471C 003D037C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4720 003D0380  7C 9E 23 78 */	mr r30, r4
/* 803D4724 003D0384  7C 79 1B 78 */	mr r25, r3
/* 803D4728 003D0388  38 05 00 01 */	addi r0, r5, 1
/* 803D472C 003D038C  7F C3 F3 78 */	mr r3, r30
/* 803D4730 003D0390  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4734 003D0394  48 00 27 39 */	bl func_803D6E6C
/* 803D4738 003D0398  7C 7C 1B 78 */	mr r28, r3
/* 803D473C 003D039C  7F C3 F3 78 */	mr r3, r30
/* 803D4740 003D03A0  48 00 27 2D */	bl func_803D6E6C
/* 803D4744 003D03A4  7C 7D 1B 78 */	mr r29, r3
/* 803D4748 003D03A8  7F C3 F3 78 */	mr r3, r30
/* 803D474C 003D03AC  48 00 27 21 */	bl func_803D6E6C
/* 803D4750 003D03B0  7C 7B 1B 78 */	mr r27, r3
/* 803D4754 003D03B4  7F C3 F3 78 */	mr r3, r30
/* 803D4758 003D03B8  48 00 27 15 */	bl func_803D6E6C
/* 803D475C 003D03BC  2C 1D 00 00 */	cmpwi r29, 0
/* 803D4760 003D03C0  7C 7F 1B 78 */	mr r31, r3
/* 803D4764 003D03C4  40 82 00 CC */	bne lbl_803D4830
/* 803D4768 003D03C8  7F 23 CB 78 */	mr r3, r25
/* 803D476C 003D03CC  4B FD 80 F5 */	bl func_803AC860
/* 803D4770 003D03D0  7C 7D 1B 78 */	mr r29, r3
/* 803D4774 003D03D4  3B 20 00 00 */	li r25, 0
/* 803D4778 003D03D8  48 00 00 AC */	b lbl_803D4824
lbl_803D477C:
/* 803D477C 003D03DC  7C 7E CA 14 */	add r3, r30, r25
/* 803D4780 003D03E0  2C 1C 00 00 */	cmpwi r28, 0
/* 803D4784 003D03E4  8B 43 21 EC */	lbz r26, 0x21ec(r3)
/* 803D4788 003D03E8  40 82 00 54 */	bne lbl_803D47DC
/* 803D478C 003D03EC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D4790 003D03F0  7F C3 F3 78 */	mr r3, r30
/* 803D4794 003D03F4  7F 45 D3 78 */	mr r5, r26
/* 803D4798 003D03F8  7F 66 DB 78 */	mr r6, r27
/* 803D479C 003D03FC  4B FE B3 F5 */	bl func_803BFB90
/* 803D47A0 003D0400  2C 03 00 01 */	cmpwi r3, 1
/* 803D47A4 003D0404  40 82 00 7C */	bne lbl_803D4820
/* 803D47A8 003D0408  1C 1A 00 C0 */	mulli r0, r26, 0xc0
/* 803D47AC 003D040C  7C 7E 02 14 */	add r3, r30, r0
/* 803D47B0 003D0410  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D47B4 003D0414  2C 00 00 00 */	cmpwi r0, 0
/* 803D47B8 003D0418  41 82 00 68 */	beq lbl_803D4820
/* 803D47BC 003D041C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D47C0 003D0420  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803D47C4 003D0424  93 5E 00 80 */	stw r26, 0x80(r30)
/* 803D47C8 003D0428  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803D47CC 003D042C  7C 00 FA 14 */	add r0, r0, r31
/* 803D47D0 003D0430  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D47D4 003D0434  93 43 00 18 */	stw r26, 0x18(r3)
/* 803D47D8 003D0438  48 00 01 04 */	b lbl_803D48DC
lbl_803D47DC:
/* 803D47DC 003D043C  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D47E0 003D0440  7F C3 F3 78 */	mr r3, r30
/* 803D47E4 003D0444  7F 45 D3 78 */	mr r5, r26
/* 803D47E8 003D0448  7F 66 DB 78 */	mr r6, r27
/* 803D47EC 003D044C  4B FE B3 A5 */	bl func_803BFB90
/* 803D47F0 003D0450  2C 03 00 00 */	cmpwi r3, 0
/* 803D47F4 003D0454  41 82 00 18 */	beq lbl_803D480C
/* 803D47F8 003D0458  1C 1A 00 C0 */	mulli r0, r26, 0xc0
/* 803D47FC 003D045C  7C 7E 02 14 */	add r3, r30, r0
/* 803D4800 003D0460  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D4804 003D0464  2C 00 00 00 */	cmpwi r0, 0
/* 803D4808 003D0468  40 82 00 18 */	bne lbl_803D4820
lbl_803D480C:
/* 803D480C 003D046C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D4810 003D0470  93 5E 00 80 */	stw r26, 0x80(r30)
/* 803D4814 003D0474  7C 00 FA 14 */	add r0, r0, r31
/* 803D4818 003D0478  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D481C 003D047C  48 00 00 C0 */	b lbl_803D48DC
lbl_803D4820:
/* 803D4820 003D0480  3B 39 00 01 */	addi r25, r25, 1
lbl_803D4824:
/* 803D4824 003D0484  7C 19 E8 00 */	cmpw r25, r29
/* 803D4828 003D0488  41 80 FF 54 */	blt lbl_803D477C
/* 803D482C 003D048C  48 00 00 B0 */	b lbl_803D48DC
lbl_803D4830:
/* 803D4830 003D0490  7F 23 CB 78 */	mr r3, r25
/* 803D4834 003D0494  7F C4 F3 78 */	mr r4, r30
/* 803D4838 003D0498  7F A5 EB 78 */	mr r5, r29
/* 803D483C 003D049C  48 00 38 01 */	bl func_803D803C
/* 803D4840 003D04A0  2C 1C 00 00 */	cmpwi r28, 0
/* 803D4844 003D04A4  7C 7C 1B 78 */	mr r28, r3
/* 803D4848 003D04A8  40 82 00 54 */	bne lbl_803D489C
/* 803D484C 003D04AC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D4850 003D04B0  7F C3 F3 78 */	mr r3, r30
/* 803D4854 003D04B4  7F 85 E3 78 */	mr r5, r28
/* 803D4858 003D04B8  7F 66 DB 78 */	mr r6, r27
/* 803D485C 003D04BC  4B FE B3 35 */	bl func_803BFB90
/* 803D4860 003D04C0  2C 03 00 01 */	cmpwi r3, 1
/* 803D4864 003D04C4  40 82 00 78 */	bne lbl_803D48DC
/* 803D4868 003D04C8  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803D486C 003D04CC  7C 7E 02 14 */	add r3, r30, r0
/* 803D4870 003D04D0  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D4874 003D04D4  2C 00 00 00 */	cmpwi r0, 0
/* 803D4878 003D04D8  41 82 00 64 */	beq lbl_803D48DC
/* 803D487C 003D04DC  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D4880 003D04E0  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803D4884 003D04E4  93 9E 00 80 */	stw r28, 0x80(r30)
/* 803D4888 003D04E8  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803D488C 003D04EC  7C 00 FA 14 */	add r0, r0, r31
/* 803D4890 003D04F0  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D4894 003D04F4  93 83 00 18 */	stw r28, 0x18(r3)
/* 803D4898 003D04F8  48 00 00 44 */	b lbl_803D48DC
lbl_803D489C:
/* 803D489C 003D04FC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D48A0 003D0500  7F C3 F3 78 */	mr r3, r30
/* 803D48A4 003D0504  7F 85 E3 78 */	mr r5, r28
/* 803D48A8 003D0508  7F 66 DB 78 */	mr r6, r27
/* 803D48AC 003D050C  4B FE B2 E5 */	bl func_803BFB90
/* 803D48B0 003D0510  2C 03 00 00 */	cmpwi r3, 0
/* 803D48B4 003D0514  41 82 00 18 */	beq lbl_803D48CC
/* 803D48B8 003D0518  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803D48BC 003D051C  7C 7E 02 14 */	add r3, r30, r0
/* 803D48C0 003D0520  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D48C4 003D0524  2C 00 00 00 */	cmpwi r0, 0
/* 803D48C8 003D0528  40 82 00 14 */	bne lbl_803D48DC
lbl_803D48CC:
/* 803D48CC 003D052C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D48D0 003D0530  93 9E 00 80 */	stw r28, 0x80(r30)
/* 803D48D4 003D0534  7C 00 FA 14 */	add r0, r0, r31
/* 803D48D8 003D0538  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D48DC:
/* 803D48DC 003D053C  39 61 00 30 */	addi r11, r1, 0x30
/* 803D48E0 003D0540  38 60 00 00 */	li r3, 0
/* 803D48E4 003D0544  4B DF 28 89 */	bl _restgpr_25
/* 803D48E8 003D0548  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D48EC 003D054C  7C 08 03 A6 */	mtlr r0
/* 803D48F0 003D0550  38 21 00 30 */	addi r1, r1, 0x30
/* 803D48F4 003D0554  4E 80 00 20 */	blr 
/* 803D48F8 003D0558  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D48FC 003D055C  7C 08 02 A6 */	mflr r0
/* 803D4900 003D0560  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4904 003D0564  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4908 003D0568  4B DF 28 1D */	bl _savegpr_26
/* 803D490C 003D056C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4910 003D0570  7C 9B 23 78 */	mr r27, r4
/* 803D4914 003D0574  7C 7A 1B 78 */	mr r26, r3
/* 803D4918 003D0578  38 05 00 01 */	addi r0, r5, 1
/* 803D491C 003D057C  7F 63 DB 78 */	mr r3, r27
/* 803D4920 003D0580  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4924 003D0584  48 00 25 49 */	bl func_803D6E6C
/* 803D4928 003D0588  7C 7F 1B 78 */	mr r31, r3
/* 803D492C 003D058C  7F 63 DB 78 */	mr r3, r27
/* 803D4930 003D0590  48 00 25 3D */	bl func_803D6E6C
/* 803D4934 003D0594  7C 7D 1B 78 */	mr r29, r3
/* 803D4938 003D0598  7F 63 DB 78 */	mr r3, r27
/* 803D493C 003D059C  48 00 25 31 */	bl func_803D6E6C
/* 803D4940 003D05A0  7C 7E 1B 78 */	mr r30, r3
/* 803D4944 003D05A4  7F 43 D3 78 */	mr r3, r26
/* 803D4948 003D05A8  7F 64 DB 78 */	mr r4, r27
/* 803D494C 003D05AC  7F E5 FB 78 */	mr r5, r31
/* 803D4950 003D05B0  48 00 36 ED */	bl func_803D803C
/* 803D4954 003D05B4  7C 7C 1B 78 */	mr r28, r3
/* 803D4958 003D05B8  7F 43 D3 78 */	mr r3, r26
/* 803D495C 003D05BC  7F 64 DB 78 */	mr r4, r27
/* 803D4960 003D05C0  7F A5 EB 78 */	mr r5, r29
/* 803D4964 003D05C4  48 00 36 D9 */	bl func_803D803C
/* 803D4968 003D05C8  7C 64 1B 78 */	mr r4, r3
/* 803D496C 003D05CC  7F 43 D3 78 */	mr r3, r26
/* 803D4970 003D05D0  4B FD 83 75 */	bl func_803ACCE4
/* 803D4974 003D05D4  54 7F 06 3E */	clrlwi r31, r3, 0x18
/* 803D4978 003D05D8  7F 43 D3 78 */	mr r3, r26
/* 803D497C 003D05DC  7F 84 E3 78 */	mr r4, r28
/* 803D4980 003D05E0  4B FD 83 65 */	bl func_803ACCE4
/* 803D4984 003D05E4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D4988 003D05E8  7C 00 F8 40 */	cmplw r0, r31
/* 803D498C 003D05EC  40 82 00 10 */	bne lbl_803D499C
/* 803D4990 003D05F0  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D4994 003D05F4  7C 00 F2 14 */	add r0, r0, r30
/* 803D4998 003D05F8  90 1B 00 B4 */	stw r0, 0xb4(r27)
lbl_803D499C:
/* 803D499C 003D05FC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D49A0 003D0600  38 60 00 00 */	li r3, 0
/* 803D49A4 003D0604  4B DF 27 CD */	bl _restgpr_26
/* 803D49A8 003D0608  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D49AC 003D060C  7C 08 03 A6 */	mtlr r0
/* 803D49B0 003D0610  38 21 00 20 */	addi r1, r1, 0x20
/* 803D49B4 003D0614  4E 80 00 20 */	blr 
/* 803D49B8 003D0618  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 803D49BC 003D061C  7C 08 02 A6 */	mflr r0
/* 803D49C0 003D0620  90 01 00 64 */	stw r0, 0x64(r1)
/* 803D49C4 003D0624  39 61 00 60 */	addi r11, r1, 0x60
/* 803D49C8 003D0628  4B DF 27 39 */	bl _savegpr_17
/* 803D49CC 003D062C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D49D0 003D0630  3C C0 80 40 */	lis r6, lbl_804056D8@ha
/* 803D49D4 003D0634  38 C6 56 D8 */	addi r6, r6, lbl_804056D8@l
/* 803D49D8 003D0638  7C 73 1B 78 */	mr r19, r3
/* 803D49DC 003D063C  38 05 00 01 */	addi r0, r5, 1
/* 803D49E0 003D0640  3B 00 00 00 */	li r24, 0
/* 803D49E4 003D0644  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D49E8 003D0648  3B 86 03 D6 */	addi r28, r6, 0x3d6
/* 803D49EC 003D064C  3B A6 03 9C */	addi r29, r6, 0x39c
/* 803D49F0 003D0650  3B C6 03 C0 */	addi r30, r6, 0x3c0
/* 803D49F4 003D0654  3B E6 03 DF */	addi r31, r6, 0x3df
/* 803D49F8 003D0658  3B 40 00 64 */	li r26, 0x64
/* 803D49FC 003D065C  3B 60 00 0A */	li r27, 0xa
/* 803D4A00 003D0660  3A 20 00 09 */	li r17, 9
/* 803D4A04 003D0664  3A 40 00 0A */	li r18, 0xa
/* 803D4A08 003D0668  48 00 01 EC */	b lbl_803D4BF4
lbl_803D4A0C:
/* 803D4A0C 003D066C  7E 63 9B 78 */	mr r3, r19
/* 803D4A10 003D0670  7F 05 C3 78 */	mr r5, r24
/* 803D4A14 003D0674  38 80 00 00 */	li r4, 0
/* 803D4A18 003D0678  4B FD 7F 8D */	bl func_803AC9A4
/* 803D4A1C 003D067C  7C 74 1B 78 */	mr r20, r3
/* 803D4A20 003D0680  38 80 00 AD */	li r4, 0xad
/* 803D4A24 003D0684  38 A0 00 00 */	li r5, 0
/* 803D4A28 003D0688  48 00 8F B5 */	bl func_803DD9DC
/* 803D4A2C 003D068C  54 77 04 3E */	clrlwi r23, r3, 0x10
/* 803D4A30 003D0690  7E 83 A3 78 */	mr r3, r20
/* 803D4A34 003D0694  38 80 00 06 */	li r4, 6
/* 803D4A38 003D0698  38 A0 00 00 */	li r5, 0
/* 803D4A3C 003D069C  48 00 8F A1 */	bl func_803DD9DC
/* 803D4A40 003D06A0  54 76 04 3E */	clrlwi r22, r3, 0x10
/* 803D4A44 003D06A4  7E 83 A3 78 */	mr r3, r20
/* 803D4A48 003D06A8  38 80 00 0A */	li r4, 0xa
/* 803D4A4C 003D06AC  38 A0 00 00 */	li r5, 0
/* 803D4A50 003D06B0  48 00 8F 8D */	bl func_803DD9DC
/* 803D4A54 003D06B4  54 75 06 3E */	clrlwi r21, r3, 0x18
/* 803D4A58 003D06B8  28 15 00 35 */	cmplwi r21, 0x35
/* 803D4A5C 003D06BC  40 82 00 F8 */	bne lbl_803D4B54
/* 803D4A60 003D06C0  2C 17 00 00 */	cmpwi r23, 0
/* 803D4A64 003D06C4  41 82 00 F0 */	beq lbl_803D4B54
/* 803D4A68 003D06C8  28 17 01 EE */	cmplwi r23, 0x1ee
/* 803D4A6C 003D06CC  41 82 00 E8 */	beq lbl_803D4B54
/* 803D4A70 003D06D0  2C 16 00 00 */	cmpwi r22, 0
/* 803D4A74 003D06D4  40 82 00 E0 */	bne lbl_803D4B54
/* 803D4A78 003D06D8  48 00 4D 41 */	bl func_803D97B8
/* 803D4A7C 003D06DC  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D4A80 003D06E0  7C 03 DB D6 */	divw r0, r3, r27
/* 803D4A84 003D06E4  7C 00 D9 D6 */	mullw r0, r0, r27
/* 803D4A88 003D06E8  7C 00 18 51 */	subf. r0, r0, r3
/* 803D4A8C 003D06EC  40 82 00 C8 */	bne lbl_803D4B54
/* 803D4A90 003D06F0  48 00 4D 29 */	bl func_803D97B8
/* 803D4A94 003D06F4  54 66 04 3E */	clrlwi r6, r3, 0x10
/* 803D4A98 003D06F8  7E 83 A3 78 */	mr r3, r20
/* 803D4A9C 003D06FC  7C 06 D3 D6 */	divw r0, r6, r26
/* 803D4AA0 003D0700  38 80 00 A0 */	li r4, 0xa0
/* 803D4AA4 003D0704  38 A0 00 00 */	li r5, 0
/* 803D4AA8 003D0708  7C 00 D1 D6 */	mullw r0, r0, r26
/* 803D4AAC 003D070C  7F 20 30 50 */	subf r25, r0, r6
/* 803D4AB0 003D0710  48 00 8F 2D */	bl func_803DD9DC
/* 803D4AB4 003D0714  38 03 FF FF */	addi r0, r3, -1
/* 803D4AB8 003D0718  7C 00 DB 96 */	divwu r0, r0, r27
/* 803D4ABC 003D071C  54 05 06 3E */	clrlwi r5, r0, 0x18
/* 803D4AC0 003D0720  28 05 00 0A */	cmplwi r5, 0xa
/* 803D4AC4 003D0724  41 80 00 08 */	blt lbl_803D4ACC
/* 803D4AC8 003D0728  38 A0 00 09 */	li r5, 9
lbl_803D4ACC:
/* 803D4ACC 003D072C  38 80 00 00 */	li r4, 0
/* 803D4AD0 003D0730  7F 83 E3 78 */	mr r3, r28
/* 803D4AD4 003D0734  90 81 00 10 */	stw r4, 0x10(r1)
/* 803D4AD8 003D0738  7E 29 03 A6 */	mtctr r17
lbl_803D4ADC:
/* 803D4ADC 003D073C  88 03 00 00 */	lbz r0, 0(r3)
/* 803D4AE0 003D0740  7C 00 C8 00 */	cmpw r0, r25
/* 803D4AE4 003D0744  40 81 00 28 */	ble lbl_803D4B0C
/* 803D4AE8 003D0748  7C 05 22 14 */	add r0, r5, r4
/* 803D4AEC 003D074C  7E 83 A3 78 */	mr r3, r20
/* 803D4AF0 003D0750  54 00 08 3C */	slwi r0, r0, 1
/* 803D4AF4 003D0754  38 A1 00 0C */	addi r5, r1, 0xc
/* 803D4AF8 003D0758  7C 1D 02 2E */	lhzx r0, r29, r0
/* 803D4AFC 003D075C  38 80 00 06 */	li r4, 6
/* 803D4B00 003D0760  90 01 00 0C */	stw r0, 0xc(r1)
/* 803D4B04 003D0764  48 00 6A 21 */	bl func_803DB524
/* 803D4B08 003D0768  48 00 00 4C */	b lbl_803D4B54
lbl_803D4B0C:
/* 803D4B0C 003D076C  2C 19 00 62 */	cmpwi r25, 0x62
/* 803D4B10 003D0770  41 80 00 34 */	blt lbl_803D4B44
/* 803D4B14 003D0774  2C 19 00 63 */	cmpwi r25, 0x63
/* 803D4B18 003D0778  41 81 00 2C */	bgt lbl_803D4B44
/* 803D4B1C 003D077C  20 19 00 63 */	subfic r0, r25, 0x63
/* 803D4B20 003D0780  7E 83 A3 78 */	mr r3, r20
/* 803D4B24 003D0784  7C 05 02 14 */	add r0, r5, r0
/* 803D4B28 003D0788  38 A1 00 08 */	addi r5, r1, 8
/* 803D4B2C 003D078C  54 00 08 3C */	slwi r0, r0, 1
/* 803D4B30 003D0790  38 80 00 06 */	li r4, 6
/* 803D4B34 003D0794  7C 1E 02 2E */	lhzx r0, r30, r0
/* 803D4B38 003D0798  90 01 00 08 */	stw r0, 8(r1)
/* 803D4B3C 003D079C  48 00 69 E9 */	bl func_803DB524
/* 803D4B40 003D07A0  48 00 00 14 */	b lbl_803D4B54
lbl_803D4B44:
/* 803D4B44 003D07A4  38 84 00 01 */	addi r4, r4, 1
/* 803D4B48 003D07A8  38 63 00 01 */	addi r3, r3, 1
/* 803D4B4C 003D07AC  90 81 00 10 */	stw r4, 0x10(r1)
/* 803D4B50 003D07B0  42 00 FF 8C */	bdnz lbl_803D4ADC
lbl_803D4B54:
/* 803D4B54 003D07B4  28 15 00 76 */	cmplwi r21, 0x76
/* 803D4B58 003D07B8  40 82 00 98 */	bne lbl_803D4BF0
/* 803D4B5C 003D07BC  2C 17 00 00 */	cmpwi r23, 0
/* 803D4B60 003D07C0  41 82 00 90 */	beq lbl_803D4BF0
/* 803D4B64 003D07C4  28 17 01 EE */	cmplwi r23, 0x1ee
/* 803D4B68 003D07C8  41 82 00 88 */	beq lbl_803D4BF0
/* 803D4B6C 003D07CC  2C 16 00 00 */	cmpwi r22, 0
/* 803D4B70 003D07D0  40 82 00 80 */	bne lbl_803D4BF0
/* 803D4B74 003D07D4  38 80 00 00 */	li r4, 0
/* 803D4B78 003D07D8  7E 83 A3 78 */	mr r3, r20
/* 803D4B7C 003D07DC  90 81 00 10 */	stw r4, 0x10(r1)
/* 803D4B80 003D07E0  38 80 00 A0 */	li r4, 0xa0
/* 803D4B84 003D07E4  38 A0 00 00 */	li r5, 0
/* 803D4B88 003D07E8  48 00 8E 55 */	bl func_803DD9DC
/* 803D4B8C 003D07EC  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803D4B90 003D07F0  80 81 00 10 */	lwz r4, 0x10(r1)
/* 803D4B94 003D07F4  38 03 FF FF */	addi r0, r3, -1
/* 803D4B98 003D07F8  7C 00 93 96 */	divwu r0, r0, r18
/* 803D4B9C 003D07FC  7C 09 03 A6 */	mtctr r0
/* 803D4BA0 003D0800  2C 03 00 0A */	cmpwi r3, 0xa
/* 803D4BA4 003D0804  40 81 00 10 */	ble lbl_803D4BB4
lbl_803D4BA8:
/* 803D4BA8 003D0808  38 84 00 01 */	addi r4, r4, 1
/* 803D4BAC 003D080C  42 00 FF FC */	bdnz lbl_803D4BA8
/* 803D4BB0 003D0810  90 81 00 10 */	stw r4, 0x10(r1)
lbl_803D4BB4:
/* 803D4BB4 003D0814  48 00 4C 05 */	bl func_803D97B8
/* 803D4BB8 003D0818  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D4BBC 003D081C  80 01 00 10 */	lwz r0, 0x10(r1)
/* 803D4BC0 003D0820  7C 64 D3 D6 */	divw r3, r4, r26
/* 803D4BC4 003D0824  7C 1F 00 AE */	lbzx r0, r31, r0
/* 803D4BC8 003D0828  7C 63 D1 D6 */	mullw r3, r3, r26
/* 803D4BCC 003D082C  7C 63 20 50 */	subf r3, r3, r4
/* 803D4BD0 003D0830  7C 03 00 00 */	cmpw r3, r0
/* 803D4BD4 003D0834  40 80 00 1C */	bge lbl_803D4BF0
/* 803D4BD8 003D0838  38 80 00 5E */	li r4, 0x5e
/* 803D4BDC 003D083C  7E 83 A3 78 */	mr r3, r20
/* 803D4BE0 003D0840  90 81 00 10 */	stw r4, 0x10(r1)
/* 803D4BE4 003D0844  38 A1 00 10 */	addi r5, r1, 0x10
/* 803D4BE8 003D0848  38 80 00 06 */	li r4, 6
/* 803D4BEC 003D084C  48 00 69 39 */	bl func_803DB524
lbl_803D4BF0:
/* 803D4BF0 003D0850  3B 18 00 01 */	addi r24, r24, 1
lbl_803D4BF4:
/* 803D4BF4 003D0854  7E 63 9B 78 */	mr r3, r19
/* 803D4BF8 003D0858  38 80 00 00 */	li r4, 0
/* 803D4BFC 003D085C  4B FD 7D 05 */	bl func_803AC900
/* 803D4C00 003D0860  7C 18 18 00 */	cmpw r24, r3
/* 803D4C04 003D0864  41 80 FE 08 */	blt lbl_803D4A0C
/* 803D4C08 003D0868  39 61 00 60 */	addi r11, r1, 0x60
/* 803D4C0C 003D086C  38 60 00 00 */	li r3, 0
/* 803D4C10 003D0870  4B DF 25 3D */	bl _restgpr_17
/* 803D4C14 003D0874  80 01 00 64 */	lwz r0, 0x64(r1)
/* 803D4C18 003D0878  7C 08 03 A6 */	mtlr r0
/* 803D4C1C 003D087C  38 21 00 60 */	addi r1, r1, 0x60
/* 803D4C20 003D0880  4E 80 00 20 */	blr 
/* 803D4C24 003D0884  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D4C28 003D0888  38 60 00 00 */	li r3, 0
/* 803D4C2C 003D088C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4C30 003D0890  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D4C34 003D0894  38 A5 00 01 */	addi r5, r5, 1
/* 803D4C38 003D0898  90 A4 00 B4 */	stw r5, 0xb4(r4)
/* 803D4C3C 003D089C  7C 84 02 14 */	add r4, r4, r0
/* 803D4C40 003D08A0  80 04 02 D4 */	lwz r0, 0x2d4(r4)
/* 803D4C44 003D08A4  64 00 08 00 */	oris r0, r0, 0x800
/* 803D4C48 003D08A8  90 04 02 D4 */	stw r0, 0x2d4(r4)
/* 803D4C4C 003D08AC  4E 80 00 20 */	blr 
/* 803D4C50 003D08B0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D4C54 003D08B4  7C 08 02 A6 */	mflr r0
/* 803D4C58 003D08B8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4C5C 003D08BC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4C60 003D08C0  4B DF 24 CD */	bl _savegpr_28
/* 803D4C64 003D08C4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4C68 003D08C8  7C 9D 23 78 */	mr r29, r4
/* 803D4C6C 003D08CC  7C 7C 1B 78 */	mr r28, r3
/* 803D4C70 003D08D0  38 05 00 01 */	addi r0, r5, 1
/* 803D4C74 003D08D4  7F A3 EB 78 */	mr r3, r29
/* 803D4C78 003D08D8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4C7C 003D08DC  48 00 21 F1 */	bl func_803D6E6C
/* 803D4C80 003D08E0  7C 7E 1B 78 */	mr r30, r3
/* 803D4C84 003D08E4  7F A3 EB 78 */	mr r3, r29
/* 803D4C88 003D08E8  48 00 21 E5 */	bl func_803D6E6C
/* 803D4C8C 003D08EC  7C 7F 1B 78 */	mr r31, r3
/* 803D4C90 003D08F0  7F 83 E3 78 */	mr r3, r28
/* 803D4C94 003D08F4  7F A4 EB 78 */	mr r4, r29
/* 803D4C98 003D08F8  7F C5 F3 78 */	mr r5, r30
/* 803D4C9C 003D08FC  48 00 33 A1 */	bl func_803D803C
/* 803D4CA0 003D0900  7C 64 1B 78 */	mr r4, r3
/* 803D4CA4 003D0904  7F A3 EB 78 */	mr r3, r29
/* 803D4CA8 003D0908  4B FE F1 31 */	bl func_803C3DD8
/* 803D4CAC 003D090C  2C 03 00 01 */	cmpwi r3, 1
/* 803D4CB0 003D0910  40 82 00 10 */	bne lbl_803D4CC0
/* 803D4CB4 003D0914  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D4CB8 003D0918  7C 00 FA 14 */	add r0, r0, r31
/* 803D4CBC 003D091C  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D4CC0:
/* 803D4CC0 003D0920  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4CC4 003D0924  38 60 00 00 */	li r3, 0
/* 803D4CC8 003D0928  4B DF 24 B1 */	bl _restgpr_28
/* 803D4CCC 003D092C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D4CD0 003D0930  7C 08 03 A6 */	mtlr r0
/* 803D4CD4 003D0934  38 21 00 20 */	addi r1, r1, 0x20
/* 803D4CD8 003D0938  4E 80 00 20 */	blr 
/* 803D4CDC 003D093C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D4CE0 003D0940  7C 08 02 A6 */	mflr r0
/* 803D4CE4 003D0944  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4CE8 003D0948  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4CEC 003D094C  4B DF 24 39 */	bl _savegpr_26
/* 803D4CF0 003D0950  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4CF4 003D0954  7C 9B 23 78 */	mr r27, r4
/* 803D4CF8 003D0958  7C 7A 1B 78 */	mr r26, r3
/* 803D4CFC 003D095C  38 05 00 01 */	addi r0, r5, 1
/* 803D4D00 003D0960  7F 63 DB 78 */	mr r3, r27
/* 803D4D04 003D0964  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4D08 003D0968  48 00 21 65 */	bl func_803D6E6C
/* 803D4D0C 003D096C  7C 7D 1B 78 */	mr r29, r3
/* 803D4D10 003D0970  7F 63 DB 78 */	mr r3, r27
/* 803D4D14 003D0974  48 00 21 59 */	bl func_803D6E6C
/* 803D4D18 003D0978  7C 7C 1B 78 */	mr r28, r3
/* 803D4D1C 003D097C  7F 63 DB 78 */	mr r3, r27
/* 803D4D20 003D0980  48 00 21 4D */	bl func_803D6E6C
/* 803D4D24 003D0984  7C 7E 1B 78 */	mr r30, r3
/* 803D4D28 003D0988  7F 63 DB 78 */	mr r3, r27
/* 803D4D2C 003D098C  48 00 21 41 */	bl func_803D6E6C
/* 803D4D30 003D0990  7C 7F 1B 78 */	mr r31, r3
/* 803D4D34 003D0994  7F 43 D3 78 */	mr r3, r26
/* 803D4D38 003D0998  7F 64 DB 78 */	mr r4, r27
/* 803D4D3C 003D099C  7F 85 E3 78 */	mr r5, r28
/* 803D4D40 003D09A0  48 00 32 FD */	bl func_803D803C
/* 803D4D44 003D09A4  2C 1D 00 00 */	cmpwi r29, 0
/* 803D4D48 003D09A8  7C 64 1B 78 */	mr r4, r3
/* 803D4D4C 003D09AC  40 82 00 24 */	bne lbl_803D4D70
/* 803D4D50 003D09B0  7F 63 DB 78 */	mr r3, r27
/* 803D4D54 003D09B4  4B FE F3 69 */	bl func_803C40BC
/* 803D4D58 003D09B8  7C 1E 18 00 */	cmpw r30, r3
/* 803D4D5C 003D09BC  40 82 00 30 */	bne lbl_803D4D8C
/* 803D4D60 003D09C0  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D4D64 003D09C4  7C 00 FA 14 */	add r0, r0, r31
/* 803D4D68 003D09C8  90 1B 00 B4 */	stw r0, 0xb4(r27)
/* 803D4D6C 003D09CC  48 00 00 20 */	b lbl_803D4D8C
lbl_803D4D70:
/* 803D4D70 003D09D0  7F 63 DB 78 */	mr r3, r27
/* 803D4D74 003D09D4  4B FE F3 49 */	bl func_803C40BC
/* 803D4D78 003D09D8  7C 1E 18 00 */	cmpw r30, r3
/* 803D4D7C 003D09DC  41 82 00 10 */	beq lbl_803D4D8C
/* 803D4D80 003D09E0  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D4D84 003D09E4  7C 00 FA 14 */	add r0, r0, r31
/* 803D4D88 003D09E8  90 1B 00 B4 */	stw r0, 0xb4(r27)
lbl_803D4D8C:
/* 803D4D8C 003D09EC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4D90 003D09F0  38 60 00 00 */	li r3, 0
/* 803D4D94 003D09F4  4B DF 23 DD */	bl _restgpr_26
/* 803D4D98 003D09F8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D4D9C 003D09FC  7C 08 03 A6 */	mtlr r0
/* 803D4DA0 003D0A00  38 21 00 20 */	addi r1, r1, 0x20
/* 803D4DA4 003D0A04  4E 80 00 20 */	blr 
/* 803D4DA8 003D0A08  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D4DAC 003D0A0C  7C 08 02 A6 */	mflr r0
/* 803D4DB0 003D0A10  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4DB4 003D0A14  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4DB8 003D0A18  4B DF 23 75 */	bl _savegpr_28
/* 803D4DBC 003D0A1C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4DC0 003D0A20  7C 9D 23 78 */	mr r29, r4
/* 803D4DC4 003D0A24  7C 7C 1B 78 */	mr r28, r3
/* 803D4DC8 003D0A28  38 05 00 01 */	addi r0, r5, 1
/* 803D4DCC 003D0A2C  7F A3 EB 78 */	mr r3, r29
/* 803D4DD0 003D0A30  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4DD4 003D0A34  48 00 20 99 */	bl func_803D6E6C
/* 803D4DD8 003D0A38  7C 7E 1B 78 */	mr r30, r3
/* 803D4DDC 003D0A3C  7F A3 EB 78 */	mr r3, r29
/* 803D4DE0 003D0A40  48 00 20 8D */	bl func_803D6E6C
/* 803D4DE4 003D0A44  7C 65 1B 78 */	mr r5, r3
/* 803D4DE8 003D0A48  7F 83 E3 78 */	mr r3, r28
/* 803D4DEC 003D0A4C  7F A4 EB 78 */	mr r4, r29
/* 803D4DF0 003D0A50  48 00 20 9D */	bl func_803D6E8C
/* 803D4DF4 003D0A54  7C 7F 1B 78 */	mr r31, r3
/* 803D4DF8 003D0A58  7F 83 E3 78 */	mr r3, r28
/* 803D4DFC 003D0A5C  7F A4 EB 78 */	mr r4, r29
/* 803D4E00 003D0A60  7F C5 F3 78 */	mr r5, r30
/* 803D4E04 003D0A64  48 00 32 39 */	bl func_803D803C
/* 803D4E08 003D0A68  7C 64 1B 78 */	mr r4, r3
/* 803D4E0C 003D0A6C  7F A3 EB 78 */	mr r3, r29
/* 803D4E10 003D0A70  4B FE EF 5D */	bl func_803C3D6C
/* 803D4E14 003D0A74  7C 60 1B 78 */	mr r0, r3
/* 803D4E18 003D0A78  7F A3 EB 78 */	mr r3, r29
/* 803D4E1C 003D0A7C  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803D4E20 003D0A80  38 A0 00 01 */	li r5, 1
/* 803D4E24 003D0A84  4B FF 39 59 */	bl func_803C877C
/* 803D4E28 003D0A88  90 7F 00 00 */	stw r3, 0(r31)
/* 803D4E2C 003D0A8C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4E30 003D0A90  38 60 00 00 */	li r3, 0
/* 803D4E34 003D0A94  4B DF 23 45 */	bl _restgpr_28
/* 803D4E38 003D0A98  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D4E3C 003D0A9C  7C 08 03 A6 */	mtlr r0
/* 803D4E40 003D0AA0  38 21 00 20 */	addi r1, r1, 0x20
/* 803D4E44 003D0AA4  4E 80 00 20 */	blr 
/* 803D4E48 003D0AA8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D4E4C 003D0AAC  7C 08 02 A6 */	mflr r0
/* 803D4E50 003D0AB0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4E54 003D0AB4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4E58 003D0AB8  4B DF 22 D5 */	bl _savegpr_28
/* 803D4E5C 003D0ABC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4E60 003D0AC0  7C 9D 23 78 */	mr r29, r4
/* 803D4E64 003D0AC4  7C 7C 1B 78 */	mr r28, r3
/* 803D4E68 003D0AC8  38 05 00 01 */	addi r0, r5, 1
/* 803D4E6C 003D0ACC  7F A3 EB 78 */	mr r3, r29
/* 803D4E70 003D0AD0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4E74 003D0AD4  48 00 1F F9 */	bl func_803D6E6C
/* 803D4E78 003D0AD8  7C 7E 1B 78 */	mr r30, r3
/* 803D4E7C 003D0ADC  7F A3 EB 78 */	mr r3, r29
/* 803D4E80 003D0AE0  48 00 1F ED */	bl func_803D6E6C
/* 803D4E84 003D0AE4  7C 65 1B 78 */	mr r5, r3
/* 803D4E88 003D0AE8  7F 83 E3 78 */	mr r3, r28
/* 803D4E8C 003D0AEC  7F A4 EB 78 */	mr r4, r29
/* 803D4E90 003D0AF0  48 00 1F FD */	bl func_803D6E8C
/* 803D4E94 003D0AF4  7C 7F 1B 78 */	mr r31, r3
/* 803D4E98 003D0AF8  7F 83 E3 78 */	mr r3, r28
/* 803D4E9C 003D0AFC  7F A4 EB 78 */	mr r4, r29
/* 803D4EA0 003D0B00  7F C5 F3 78 */	mr r5, r30
/* 803D4EA4 003D0B04  48 00 31 99 */	bl func_803D803C
/* 803D4EA8 003D0B08  7C 64 1B 78 */	mr r4, r3
/* 803D4EAC 003D0B0C  7F A3 EB 78 */	mr r3, r29
/* 803D4EB0 003D0B10  4B FE EE BD */	bl func_803C3D6C
/* 803D4EB4 003D0B14  7C 60 1B 78 */	mr r0, r3
/* 803D4EB8 003D0B18  7F A3 EB 78 */	mr r3, r29
/* 803D4EBC 003D0B1C  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 803D4EC0 003D0B20  38 A0 00 02 */	li r5, 2
/* 803D4EC4 003D0B24  4B FF 38 B9 */	bl func_803C877C
/* 803D4EC8 003D0B28  90 7F 00 00 */	stw r3, 0(r31)
/* 803D4ECC 003D0B2C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4ED0 003D0B30  38 60 00 00 */	li r3, 0
/* 803D4ED4 003D0B34  4B DF 22 A5 */	bl _restgpr_28
/* 803D4ED8 003D0B38  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D4EDC 003D0B3C  7C 08 03 A6 */	mtlr r0
/* 803D4EE0 003D0B40  38 21 00 20 */	addi r1, r1, 0x20
/* 803D4EE4 003D0B44  4E 80 00 20 */	blr 

.global func_803D4EE8
func_803D4EE8:
/* 803D4EE8 003D0B48  28 03 00 0C */	cmplwi r3, 0xc
/* 803D4EEC 003D0B4C  40 81 00 0C */	ble lbl_803D4EF8
/* 803D4EF0 003D0B50  38 60 00 00 */	li r3, 0
/* 803D4EF4 003D0B54  4E 80 00 20 */	blr 
lbl_803D4EF8:
/* 803D4EF8 003D0B58  3C 80 80 40 */	lis r4, lbl_80405AC1@ha
/* 803D4EFC 003D0B5C  38 84 5A C1 */	addi r4, r4, lbl_80405AC1@l
/* 803D4F00 003D0B60  7C 64 18 AE */	lbzx r3, r4, r3
/* 803D4F04 003D0B64  4E 80 00 20 */	blr 
/* 803D4F08 003D0B68  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D4F0C 003D0B6C  7C 08 02 A6 */	mflr r0
/* 803D4F10 003D0B70  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D4F14 003D0B74  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4F18 003D0B78  4B DF 22 19 */	bl _savegpr_29
/* 803D4F1C 003D0B7C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D4F20 003D0B80  7C 9D 23 78 */	mr r29, r4
/* 803D4F24 003D0B84  7C 7E 1B 78 */	mr r30, r3
/* 803D4F28 003D0B88  38 05 00 01 */	addi r0, r5, 1
/* 803D4F2C 003D0B8C  7F A3 EB 78 */	mr r3, r29
/* 803D4F30 003D0B90  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D4F34 003D0B94  48 00 1F 39 */	bl func_803D6E6C
/* 803D4F38 003D0B98  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D4F3C 003D0B9C  7C 7F 1B 78 */	mr r31, r3
/* 803D4F40 003D0BA0  7F A3 EB 78 */	mr r3, r29
/* 803D4F44 003D0BA4  4B FE AB D5 */	bl func_803BFB18
/* 803D4F48 003D0BA8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D4F4C 003D0BAC  28 00 00 79 */	cmplwi r0, 0x79
/* 803D4F50 003D0BB0  40 82 00 18 */	bne lbl_803D4F68
/* 803D4F54 003D0BB4  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D4F58 003D0BB8  38 60 00 00 */	li r3, 0
/* 803D4F5C 003D0BBC  7C 00 FA 14 */	add r0, r0, r31
/* 803D4F60 003D0BC0  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D4F64 003D0BC4  48 00 00 88 */	b lbl_803D4FEC
lbl_803D4F68:
/* 803D4F68 003D0BC8  7F C3 F3 78 */	mr r3, r30
/* 803D4F6C 003D0BCC  4B FD 7D A9 */	bl func_803ACD14
/* 803D4F70 003D0BD0  3C C0 80 40 */	lis r6, lbl_80405AC1@ha
/* 803D4F74 003D0BD4  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D4F78 003D0BD8  38 C6 5A C1 */	addi r6, r6, lbl_80405AC1@l
/* 803D4F7C 003D0BDC  38 A0 00 1B */	li r5, 0x1b
/* 803D4F80 003D0BE0  7F C6 18 AE */	lbzx r30, r6, r3
/* 803D4F84 003D0BE4  7F A3 EB 78 */	mr r3, r29
/* 803D4F88 003D0BE8  38 C0 00 00 */	li r6, 0
/* 803D4F8C 003D0BEC  4B FE 5D 19 */	bl func_803BACA4
/* 803D4F90 003D0BF0  7C 1E 18 00 */	cmpw r30, r3
/* 803D4F94 003D0BF4  41 82 00 48 */	beq lbl_803D4FDC
/* 803D4F98 003D0BF8  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D4F9C 003D0BFC  7F A3 EB 78 */	mr r3, r29
/* 803D4FA0 003D0C00  38 A0 00 1C */	li r5, 0x1c
/* 803D4FA4 003D0C04  38 C0 00 00 */	li r6, 0
/* 803D4FA8 003D0C08  4B FE 5C FD */	bl func_803BACA4
/* 803D4FAC 003D0C0C  7C 1E 18 00 */	cmpw r30, r3
/* 803D4FB0 003D0C10  41 82 00 2C */	beq lbl_803D4FDC
/* 803D4FB4 003D0C14  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803D4FB8 003D0C18  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D4FBC 003D0C1C  7C 7D 02 14 */	add r3, r29, r0
/* 803D4FC0 003D0C20  9B C3 2D 64 */	stb r30, 0x2d64(r3)
/* 803D4FC4 003D0C24  80 1D 00 64 */	lwz r0, 0x64(r29)
/* 803D4FC8 003D0C28  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D4FCC 003D0C2C  7C 7D 02 14 */	add r3, r29, r0
/* 803D4FD0 003D0C30  9B C3 2D 65 */	stb r30, 0x2d65(r3)
/* 803D4FD4 003D0C34  93 DD 01 30 */	stw r30, 0x130(r29)
/* 803D4FD8 003D0C38  48 00 00 10 */	b lbl_803D4FE8
lbl_803D4FDC:
/* 803D4FDC 003D0C3C  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D4FE0 003D0C40  7C 00 FA 14 */	add r0, r0, r31
/* 803D4FE4 003D0C44  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D4FE8:
/* 803D4FE8 003D0C48  38 60 00 00 */	li r3, 0
lbl_803D4FEC:
/* 803D4FEC 003D0C4C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D4FF0 003D0C50  4B DF 21 8D */	bl _restgpr_29
/* 803D4FF4 003D0C54  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D4FF8 003D0C58  7C 08 03 A6 */	mtlr r0
/* 803D4FFC 003D0C5C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5000 003D0C60  4E 80 00 20 */	blr 

.global func_803D5004
func_803D5004:
/* 803D5004 003D0C64  28 03 00 0C */	cmplwi r3, 0xc
/* 803D5008 003D0C68  40 81 00 0C */	ble lbl_803D5014
/* 803D500C 003D0C6C  38 60 00 00 */	li r3, 0
/* 803D5010 003D0C70  4E 80 00 20 */	blr 
lbl_803D5014:
/* 803D5014 003D0C74  3C 80 80 40 */	lis r4, lbl_80405ACE@ha
/* 803D5018 003D0C78  54 60 0D FC */	rlwinm r0, r3, 1, 0x17, 0x1e
/* 803D501C 003D0C7C  38 84 5A CE */	addi r4, r4, lbl_80405ACE@l
/* 803D5020 003D0C80  7C 64 02 2E */	lhzx r3, r4, r0
/* 803D5024 003D0C84  4E 80 00 20 */	blr 
/* 803D5028 003D0C88  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D502C 003D0C8C  7C 08 02 A6 */	mflr r0
/* 803D5030 003D0C90  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5034 003D0C94  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5038 003D0C98  7C 9F 23 78 */	mr r31, r4
/* 803D503C 003D0C9C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5040 003D0CA0  38 05 00 01 */	addi r0, r5, 1
/* 803D5044 003D0CA4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5048 003D0CA8  4B FD 7C CD */	bl func_803ACD14
/* 803D504C 003D0CAC  3C 80 80 40 */	lis r4, lbl_80405ACE@ha
/* 803D5050 003D0CB0  54 60 08 3C */	slwi r0, r3, 1
/* 803D5054 003D0CB4  38 84 5A CE */	addi r4, r4, lbl_80405ACE@l
/* 803D5058 003D0CB8  38 60 00 00 */	li r3, 0
/* 803D505C 003D0CBC  7C 04 02 2E */	lhzx r0, r4, r0
/* 803D5060 003D0CC0  90 1F 01 24 */	stw r0, 0x124(r31)
/* 803D5064 003D0CC4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5068 003D0CC8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D506C 003D0CCC  7C 08 03 A6 */	mtlr r0
/* 803D5070 003D0CD0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5074 003D0CD4  4E 80 00 20 */	blr 
/* 803D5078 003D0CD8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D507C 003D0CDC  7C 08 02 A6 */	mflr r0
/* 803D5080 003D0CE0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5084 003D0CE4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5088 003D0CE8  7C 9F 23 78 */	mr r31, r4
/* 803D508C 003D0CEC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5090 003D0CF0  38 05 00 01 */	addi r0, r5, 1
/* 803D5094 003D0CF4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5098 003D0CF8  4B FD 7C 7D */	bl func_803ACD14
/* 803D509C 003D0CFC  3C 80 80 40 */	lis r4, lbl_80405AE8@ha
/* 803D50A0 003D0D00  54 60 10 3A */	slwi r0, r3, 2
/* 803D50A4 003D0D04  38 84 5A E8 */	addi r4, r4, lbl_80405AE8@l
/* 803D50A8 003D0D08  38 60 00 00 */	li r3, 0
/* 803D50AC 003D0D0C  7C 04 00 2E */	lwzx r0, r4, r0
/* 803D50B0 003D0D10  90 1F 21 74 */	stw r0, 0x2174(r31)
/* 803D50B4 003D0D14  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D50B8 003D0D18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D50BC 003D0D1C  7C 08 03 A6 */	mtlr r0
/* 803D50C0 003D0D20  38 21 00 10 */	addi r1, r1, 0x10
/* 803D50C4 003D0D24  4E 80 00 20 */	blr 
/* 803D50C8 003D0D28  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D50CC 003D0D2C  7C 08 02 A6 */	mflr r0
/* 803D50D0 003D0D30  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D50D4 003D0D34  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D50D8 003D0D38  93 C1 00 08 */	stw r30, 8(r1)
/* 803D50DC 003D0D3C  7C 9E 23 78 */	mr r30, r4
/* 803D50E0 003D0D40  7F C3 F3 78 */	mr r3, r30
/* 803D50E4 003D0D44  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D50E8 003D0D48  38 05 00 01 */	addi r0, r5, 1
/* 803D50EC 003D0D4C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D50F0 003D0D50  48 00 1D 7D */	bl func_803D6E6C
/* 803D50F4 003D0D54  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D50F8 003D0D58  7C 7F 1B 78 */	mr r31, r3
/* 803D50FC 003D0D5C  7F C3 F3 78 */	mr r3, r30
/* 803D5100 003D0D60  4B FE F0 95 */	bl func_803C4194
/* 803D5104 003D0D64  2C 03 00 00 */	cmpwi r3, 0
/* 803D5108 003D0D68  41 82 00 1C */	beq lbl_803D5124
/* 803D510C 003D0D6C  90 7E 21 54 */	stw r3, 0x2154(r30)
/* 803D5110 003D0D70  7F C3 F3 78 */	mr r3, r30
/* 803D5114 003D0D74  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D5118 003D0D78  4B FE F0 C1 */	bl func_803C41D8
/* 803D511C 003D0D7C  90 7E 21 60 */	stw r3, 0x2160(r30)
/* 803D5120 003D0D80  48 00 00 10 */	b lbl_803D5130
lbl_803D5124:
/* 803D5124 003D0D84  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D5128 003D0D88  7C 00 FA 14 */	add r0, r0, r31
/* 803D512C 003D0D8C  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D5130:
/* 803D5130 003D0D90  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5134 003D0D94  38 60 00 00 */	li r3, 0
/* 803D5138 003D0D98  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D513C 003D0D9C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5140 003D0DA0  7C 08 03 A6 */	mtlr r0
/* 803D5144 003D0DA4  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5148 003D0DA8  4E 80 00 20 */	blr 
/* 803D514C 003D0DAC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5150 003D0DB0  7C 08 02 A6 */	mflr r0
/* 803D5154 003D0DB4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5158 003D0DB8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D515C 003D0DBC  4B DF 1F D1 */	bl _savegpr_28
/* 803D5160 003D0DC0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5164 003D0DC4  7C 9D 23 78 */	mr r29, r4
/* 803D5168 003D0DC8  7C 7C 1B 78 */	mr r28, r3
/* 803D516C 003D0DCC  38 05 00 01 */	addi r0, r5, 1
/* 803D5170 003D0DD0  7F A3 EB 78 */	mr r3, r29
/* 803D5174 003D0DD4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5178 003D0DD8  48 00 1C F5 */	bl func_803D6E6C
/* 803D517C 003D0DDC  7C 7E 1B 78 */	mr r30, r3
/* 803D5180 003D0DE0  7F A3 EB 78 */	mr r3, r29
/* 803D5184 003D0DE4  48 00 1C E9 */	bl func_803D6E6C
/* 803D5188 003D0DE8  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803D518C 003D0DEC  7C 7F 1B 78 */	mr r31, r3
/* 803D5190 003D0DF0  1C 05 00 C0 */	mulli r0, r5, 0xc0
/* 803D5194 003D0DF4  7C 7D 02 14 */	add r3, r29, r0
/* 803D5198 003D0DF8  A0 03 2D B8 */	lhz r0, 0x2db8(r3)
/* 803D519C 003D0DFC  2C 00 00 00 */	cmpwi r0, 0
/* 803D51A0 003D0E00  41 82 00 2C */	beq lbl_803D51CC
/* 803D51A4 003D0E04  80 9D 00 64 */	lwz r4, 0x64(r29)
/* 803D51A8 003D0E08  7F A3 EB 78 */	mr r3, r29
/* 803D51AC 003D0E0C  38 C0 00 3C */	li r6, 0x3c
/* 803D51B0 003D0E10  4B FE A9 E1 */	bl func_803BFB90
/* 803D51B4 003D0E14  2C 03 00 01 */	cmpwi r3, 1
/* 803D51B8 003D0E18  40 82 00 14 */	bne lbl_803D51CC
/* 803D51BC 003D0E1C  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D51C0 003D0E20  7C 00 F2 14 */	add r0, r0, r30
/* 803D51C4 003D0E24  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D51C8 003D0E28  48 00 00 28 */	b lbl_803D51F0
lbl_803D51CC:
/* 803D51CC 003D0E2C  80 BD 00 6C */	lwz r5, 0x6c(r29)
/* 803D51D0 003D0E30  7F 83 E3 78 */	mr r3, r28
/* 803D51D4 003D0E34  7F A4 EB 78 */	mr r4, r29
/* 803D51D8 003D0E38  4B FE F3 05 */	bl func_803C44DC
/* 803D51DC 003D0E3C  2C 03 00 01 */	cmpwi r3, 1
/* 803D51E0 003D0E40  41 82 00 10 */	beq lbl_803D51F0
/* 803D51E4 003D0E44  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D51E8 003D0E48  7C 00 FA 14 */	add r0, r0, r31
/* 803D51EC 003D0E4C  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D51F0:
/* 803D51F0 003D0E50  39 61 00 20 */	addi r11, r1, 0x20
/* 803D51F4 003D0E54  38 60 00 00 */	li r3, 0
/* 803D51F8 003D0E58  4B DF 1F 81 */	bl _restgpr_28
/* 803D51FC 003D0E5C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5200 003D0E60  7C 08 03 A6 */	mtlr r0
/* 803D5204 003D0E64  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5208 003D0E68  4E 80 00 20 */	blr 
/* 803D520C 003D0E6C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5210 003D0E70  7C 08 02 A6 */	mflr r0
/* 803D5214 003D0E74  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5218 003D0E78  39 61 00 20 */	addi r11, r1, 0x20
/* 803D521C 003D0E7C  4B DF 1F 15 */	bl _savegpr_29
/* 803D5220 003D0E80  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5224 003D0E84  7C 9E 23 78 */	mr r30, r4
/* 803D5228 003D0E88  7C 7D 1B 78 */	mr r29, r3
/* 803D522C 003D0E8C  38 05 00 01 */	addi r0, r5, 1
/* 803D5230 003D0E90  7F C3 F3 78 */	mr r3, r30
/* 803D5234 003D0E94  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5238 003D0E98  48 00 1C 35 */	bl func_803D6E6C
/* 803D523C 003D0E9C  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 803D5240 003D0EA0  7C 7F 1B 78 */	mr r31, r3
/* 803D5244 003D0EA4  7F A3 EB 78 */	mr r3, r29
/* 803D5248 003D0EA8  7F C4 F3 78 */	mr r4, r30
/* 803D524C 003D0EAC  4B FE FB 9D */	bl func_803C4DE8
/* 803D5250 003D0EB0  2C 03 00 01 */	cmpwi r3, 1
/* 803D5254 003D0EB4  41 82 00 10 */	beq lbl_803D5264
/* 803D5258 003D0EB8  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D525C 003D0EBC  7C 00 FA 14 */	add r0, r0, r31
/* 803D5260 003D0EC0  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D5264:
/* 803D5264 003D0EC4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5268 003D0EC8  38 60 00 00 */	li r3, 0
/* 803D526C 003D0ECC  4B DF 1F 11 */	bl _restgpr_29
/* 803D5270 003D0ED0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5274 003D0ED4  7C 08 03 A6 */	mtlr r0
/* 803D5278 003D0ED8  38 21 00 20 */	addi r1, r1, 0x20
/* 803D527C 003D0EDC  4E 80 00 20 */	blr 
/* 803D5280 003D0EE0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5284 003D0EE4  7C 08 02 A6 */	mflr r0
/* 803D5288 003D0EE8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D528C 003D0EEC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5290 003D0EF0  7C 9F 23 78 */	mr r31, r4
/* 803D5294 003D0EF4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5298 003D0EF8  7C 7E 1B 78 */	mr r30, r3
/* 803D529C 003D0EFC  7F E3 FB 78 */	mr r3, r31
/* 803D52A0 003D0F00  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D52A4 003D0F04  38 05 00 01 */	addi r0, r5, 1
/* 803D52A8 003D0F08  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D52AC 003D0F0C  48 00 1B C1 */	bl func_803D6E6C
/* 803D52B0 003D0F10  7C 67 1B 78 */	mr r7, r3
/* 803D52B4 003D0F14  7F C3 F3 78 */	mr r3, r30
/* 803D52B8 003D0F18  7F E4 FB 78 */	mr r4, r31
/* 803D52BC 003D0F1C  38 A0 00 00 */	li r5, 0
/* 803D52C0 003D0F20  38 C0 00 00 */	li r6, 0
/* 803D52C4 003D0F24  39 00 00 00 */	li r8, 0
/* 803D52C8 003D0F28  39 20 00 00 */	li r9, 0
/* 803D52CC 003D0F2C  4B FD BB C9 */	bl func_803B0E94
/* 803D52D0 003D0F30  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D52D4 003D0F34  38 60 00 00 */	li r3, 0
/* 803D52D8 003D0F38  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D52DC 003D0F3C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D52E0 003D0F40  7C 08 03 A6 */	mtlr r0
/* 803D52E4 003D0F44  38 21 00 10 */	addi r1, r1, 0x10
/* 803D52E8 003D0F48  4E 80 00 20 */	blr 
/* 803D52EC 003D0F4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D52F0 003D0F50  7C 08 02 A6 */	mflr r0
/* 803D52F4 003D0F54  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D52F8 003D0F58  39 61 00 20 */	addi r11, r1, 0x20
/* 803D52FC 003D0F5C  4B DF 1E 35 */	bl _savegpr_29
/* 803D5300 003D0F60  7C 9D 23 78 */	mr r29, r4
/* 803D5304 003D0F64  38 80 00 00 */	li r4, 0
/* 803D5308 003D0F68  7F A3 EB 78 */	mr r3, r29
/* 803D530C 003D0F6C  4B FF 07 29 */	bl func_803C5A34
/* 803D5310 003D0F70  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D5314 003D0F74  7C 7E 1B 78 */	mr r30, r3
/* 803D5318 003D0F78  41 82 00 4C */	beq lbl_803D5364
/* 803D531C 003D0F7C  80 9D 00 B4 */	lwz r4, 0xb4(r29)
/* 803D5320 003D0F80  7F A3 EB 78 */	mr r3, r29
/* 803D5324 003D0F84  38 04 00 01 */	addi r0, r4, 1
/* 803D5328 003D0F88  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D532C 003D0F8C  48 00 1B 41 */	bl func_803D6E6C
/* 803D5330 003D0F90  7C 7F 1B 78 */	mr r31, r3
/* 803D5334 003D0F94  7F A3 EB 78 */	mr r3, r29
/* 803D5338 003D0F98  48 00 1B 35 */	bl func_803D6E6C
/* 803D533C 003D0F9C  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 803D5340 003D0FA0  28 00 00 FF */	cmplwi r0, 0xff
/* 803D5344 003D0FA4  40 82 00 14 */	bne lbl_803D5358
/* 803D5348 003D0FA8  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D534C 003D0FAC  7C 00 1A 14 */	add r0, r0, r3
/* 803D5350 003D0FB0  90 1D 00 B4 */	stw r0, 0xb4(r29)
/* 803D5354 003D0FB4  48 00 00 10 */	b lbl_803D5364
lbl_803D5358:
/* 803D5358 003D0FB8  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D535C 003D0FBC  7C 00 FA 14 */	add r0, r0, r31
/* 803D5360 003D0FC0  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D5364:
/* 803D5364 003D0FC4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5368 003D0FC8  38 60 00 00 */	li r3, 0
/* 803D536C 003D0FCC  4B DF 1E 11 */	bl _restgpr_29
/* 803D5370 003D0FD0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5374 003D0FD4  7C 08 03 A6 */	mtlr r0
/* 803D5378 003D0FD8  38 21 00 20 */	addi r1, r1, 0x20
/* 803D537C 003D0FDC  4E 80 00 20 */	blr 
/* 803D5380 003D0FE0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5384 003D0FE4  7C 08 02 A6 */	mflr r0
/* 803D5388 003D0FE8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D538C 003D0FEC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5390 003D0FF0  7C 9F 23 78 */	mr r31, r4
/* 803D5394 003D0FF4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5398 003D0FF8  7C 7E 1B 78 */	mr r30, r3
/* 803D539C 003D0FFC  4B FD 74 C5 */	bl func_803AC860
/* 803D53A0 003D1000  80 DF 00 B4 */	lwz r6, 0xb4(r31)
/* 803D53A4 003D1004  7F C3 F3 78 */	mr r3, r30
/* 803D53A8 003D1008  7F E4 FB 78 */	mr r4, r31
/* 803D53AC 003D100C  38 A0 00 00 */	li r5, 0
/* 803D53B0 003D1010  38 06 00 01 */	addi r0, r6, 1
/* 803D53B4 003D1014  38 C0 00 00 */	li r6, 0
/* 803D53B8 003D1018  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D53BC 003D101C  38 E0 00 00 */	li r7, 0
/* 803D53C0 003D1020  39 00 00 06 */	li r8, 6
/* 803D53C4 003D1024  4B FD B9 A9 */	bl func_803B0D6C
/* 803D53C8 003D1028  38 00 00 00 */	li r0, 0
/* 803D53CC 003D102C  38 60 00 00 */	li r3, 0
/* 803D53D0 003D1030  90 1F 00 78 */	stw r0, 0x78(r31)
/* 803D53D4 003D1034  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D53D8 003D1038  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D53DC 003D103C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D53E0 003D1040  7C 08 03 A6 */	mtlr r0
/* 803D53E4 003D1044  38 21 00 10 */	addi r1, r1, 0x10
/* 803D53E8 003D1048  4E 80 00 20 */	blr 
/* 803D53EC 003D104C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D53F0 003D1050  7C 08 02 A6 */	mflr r0
/* 803D53F4 003D1054  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D53F8 003D1058  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D53FC 003D105C  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5400 003D1060  7C 9E 23 78 */	mr r30, r4
/* 803D5404 003D1064  38 80 00 00 */	li r4, 0
/* 803D5408 003D1068  7F C3 F3 78 */	mr r3, r30
/* 803D540C 003D106C  4B FF 06 29 */	bl func_803C5A34
/* 803D5410 003D1070  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D5414 003D1074  7C 7F 1B 78 */	mr r31, r3
/* 803D5418 003D1078  41 82 00 3C */	beq lbl_803D5454
/* 803D541C 003D107C  80 9E 00 B4 */	lwz r4, 0xb4(r30)
/* 803D5420 003D1080  7F C3 F3 78 */	mr r3, r30
/* 803D5424 003D1084  38 04 00 01 */	addi r0, r4, 1
/* 803D5428 003D1088  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D542C 003D108C  48 00 1A 41 */	bl func_803D6E6C
/* 803D5430 003D1090  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 803D5434 003D1094  28 00 00 FF */	cmplwi r0, 0xff
/* 803D5438 003D1098  40 82 00 14 */	bne lbl_803D544C
/* 803D543C 003D109C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D5440 003D10A0  7C 00 1A 14 */	add r0, r0, r3
/* 803D5444 003D10A4  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D5448 003D10A8  48 00 00 0C */	b lbl_803D5454
lbl_803D544C:
/* 803D544C 003D10AC  38 1F FF FF */	addi r0, r31, -1
/* 803D5450 003D10B0  98 1E 21 A0 */	stb r0, 0x21a0(r30)
lbl_803D5454:
/* 803D5454 003D10B4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5458 003D10B8  38 60 00 00 */	li r3, 0
/* 803D545C 003D10BC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5460 003D10C0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5464 003D10C4  7C 08 03 A6 */	mtlr r0
/* 803D5468 003D10C8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D546C 003D10CC  4E 80 00 20 */	blr 
/* 803D5470 003D10D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5474 003D10D4  7C 08 02 A6 */	mflr r0
/* 803D5478 003D10D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D547C 003D10DC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5480 003D10E0  7C 7F 1B 78 */	mr r31, r3
/* 803D5484 003D10E4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5488 003D10E8  38 05 00 01 */	addi r0, r5, 1
/* 803D548C 003D10EC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5490 003D10F0  4B FD 73 B1 */	bl func_803AC840
/* 803D5494 003D10F4  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 803D5498 003D10F8  41 82 00 0C */	beq lbl_803D54A4
/* 803D549C 003D10FC  7F E3 FB 78 */	mr r3, r31
/* 803D54A0 003D1100  4B FD D0 45 */	bl func_803B24E4
lbl_803D54A4:
/* 803D54A4 003D1104  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D54A8 003D1108  38 60 00 00 */	li r3, 0
/* 803D54AC 003D110C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D54B0 003D1110  7C 08 03 A6 */	mtlr r0
/* 803D54B4 003D1114  38 21 00 10 */	addi r1, r1, 0x10
/* 803D54B8 003D1118  4E 80 00 20 */	blr 
/* 803D54BC 003D111C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D54C0 003D1120  7C 08 02 A6 */	mflr r0
/* 803D54C4 003D1124  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D54C8 003D1128  39 61 00 20 */	addi r11, r1, 0x20
/* 803D54CC 003D112C  4B DF 1C 5D */	bl _savegpr_27
/* 803D54D0 003D1130  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D54D4 003D1134  7C 9F 23 78 */	mr r31, r4
/* 803D54D8 003D1138  7C 7B 1B 78 */	mr r27, r3
/* 803D54DC 003D113C  38 05 00 01 */	addi r0, r5, 1
/* 803D54E0 003D1140  7F E3 FB 78 */	mr r3, r31
/* 803D54E4 003D1144  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D54E8 003D1148  48 00 19 85 */	bl func_803D6E6C
/* 803D54EC 003D114C  7C 7C 1B 78 */	mr r28, r3
/* 803D54F0 003D1150  7F E3 FB 78 */	mr r3, r31
/* 803D54F4 003D1154  48 00 19 79 */	bl func_803D6E6C
/* 803D54F8 003D1158  7C 7D 1B 78 */	mr r29, r3
/* 803D54FC 003D115C  7F 63 DB 78 */	mr r3, r27
/* 803D5500 003D1160  7F E4 FB 78 */	mr r4, r31
/* 803D5504 003D1164  7F 85 E3 78 */	mr r5, r28
/* 803D5508 003D1168  48 00 2B 35 */	bl func_803D803C
/* 803D550C 003D116C  7C 7C 1B 78 */	mr r28, r3
/* 803D5510 003D1170  7F 63 DB 78 */	mr r3, r27
/* 803D5514 003D1174  7F 84 E3 78 */	mr r4, r28
/* 803D5518 003D1178  4B FD 77 CD */	bl func_803ACCE4
/* 803D551C 003D117C  54 7B 06 3E */	clrlwi r27, r3, 0x18
/* 803D5520 003D1180  7F E3 FB 78 */	mr r3, r31
/* 803D5524 003D1184  7F 84 E3 78 */	mr r4, r28
/* 803D5528 003D1188  38 A0 00 1B */	li r5, 0x1b
/* 803D552C 003D118C  38 C0 00 00 */	li r6, 0
/* 803D5530 003D1190  4B FE 57 75 */	bl func_803BACA4
/* 803D5534 003D1194  7C 7E 1B 78 */	mr r30, r3
/* 803D5538 003D1198  7F E3 FB 78 */	mr r3, r31
/* 803D553C 003D119C  7F 84 E3 78 */	mr r4, r28
/* 803D5540 003D11A0  38 A0 00 1C */	li r5, 0x1c
/* 803D5544 003D11A4  38 C0 00 00 */	li r6, 0
/* 803D5548 003D11A8  4B FE 57 5D */	bl func_803BACA4
/* 803D554C 003D11AC  57 60 10 3A */	slwi r0, r27, 2
/* 803D5550 003D11B0  7C 9F 02 14 */	add r4, r31, r0
/* 803D5554 003D11B4  80 04 01 BC */	lwz r0, 0x1bc(r4)
/* 803D5558 003D11B8  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 803D555C 003D11BC  41 82 00 DC */	beq lbl_803D5638
/* 803D5560 003D11C0  1F 9C 00 C0 */	mulli r28, r28, 0xc0
/* 803D5564 003D11C4  7C 9F E2 14 */	add r4, r31, r28
/* 803D5568 003D11C8  80 04 2D 8C */	lwz r0, 0x2d8c(r4)
/* 803D556C 003D11CC  2C 00 00 00 */	cmpwi r0, 0
/* 803D5570 003D11D0  41 82 00 C8 */	beq lbl_803D5638
/* 803D5574 003D11D4  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 803D5578 003D11D8  57 C4 06 3E */	clrlwi r4, r30, 0x18
/* 803D557C 003D11DC  38 60 00 05 */	li r3, 5
/* 803D5580 003D11E0  4B FE A2 F5 */	bl func_803BF874
/* 803D5584 003D11E4  2C 03 00 28 */	cmpwi r3, 0x28
/* 803D5588 003D11E8  41 82 00 5C */	beq lbl_803D55E4
/* 803D558C 003D11EC  40 80 00 28 */	bge lbl_803D55B4
/* 803D5590 003D11F0  2C 03 00 0A */	cmpwi r3, 0xa
/* 803D5594 003D11F4  41 82 00 68 */	beq lbl_803D55FC
/* 803D5598 003D11F8  40 80 00 10 */	bge lbl_803D55A8
/* 803D559C 003D11FC  2C 03 00 00 */	cmpwi r3, 0
/* 803D55A0 003D1200  41 82 00 68 */	beq lbl_803D5608
/* 803D55A4 003D1204  48 00 00 78 */	b lbl_803D561C
lbl_803D55A8:
/* 803D55A8 003D1208  2C 03 00 14 */	cmpwi r3, 0x14
/* 803D55AC 003D120C  41 82 00 44 */	beq lbl_803D55F0
/* 803D55B0 003D1210  48 00 00 6C */	b lbl_803D561C
lbl_803D55B4:
/* 803D55B4 003D1214  2C 03 00 A0 */	cmpwi r3, 0xa0
/* 803D55B8 003D1218  41 82 00 14 */	beq lbl_803D55CC
/* 803D55BC 003D121C  40 80 00 60 */	bge lbl_803D561C
/* 803D55C0 003D1220  2C 03 00 50 */	cmpwi r3, 0x50
/* 803D55C4 003D1224  41 82 00 14 */	beq lbl_803D55D8
/* 803D55C8 003D1228  48 00 00 54 */	b lbl_803D561C
lbl_803D55CC:
/* 803D55CC 003D122C  38 00 00 02 */	li r0, 2
/* 803D55D0 003D1230  90 1F 21 5C */	stw r0, 0x215c(r31)
/* 803D55D4 003D1234  48 00 00 48 */	b lbl_803D561C
lbl_803D55D8:
/* 803D55D8 003D1238  38 00 00 04 */	li r0, 4
/* 803D55DC 003D123C  90 1F 21 5C */	stw r0, 0x215c(r31)
/* 803D55E0 003D1240  48 00 00 3C */	b lbl_803D561C
lbl_803D55E4:
/* 803D55E4 003D1244  38 00 00 08 */	li r0, 8
/* 803D55E8 003D1248  90 1F 21 5C */	stw r0, 0x215c(r31)
/* 803D55EC 003D124C  48 00 00 30 */	b lbl_803D561C
lbl_803D55F0:
/* 803D55F0 003D1250  38 00 00 10 */	li r0, 0x10
/* 803D55F4 003D1254  90 1F 21 5C */	stw r0, 0x215c(r31)
/* 803D55F8 003D1258  48 00 00 24 */	b lbl_803D561C
lbl_803D55FC:
/* 803D55FC 003D125C  38 00 00 20 */	li r0, 0x20
/* 803D5600 003D1260  90 1F 21 5C */	stw r0, 0x215c(r31)
/* 803D5604 003D1264  48 00 00 18 */	b lbl_803D561C
lbl_803D5608:
/* 803D5608 003D1268  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D560C 003D126C  38 60 00 00 */	li r3, 0
/* 803D5610 003D1270  7C 00 EA 14 */	add r0, r0, r29
/* 803D5614 003D1274  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D5618 003D1278  48 00 00 30 */	b lbl_803D5648
lbl_803D561C:
/* 803D561C 003D127C  7C 7F E2 14 */	add r3, r31, r28
/* 803D5620 003D1280  80 9F 21 5C */	lwz r4, 0x215c(r31)
/* 803D5624 003D1284  80 03 2D 90 */	lwz r0, 0x2d90(r3)
/* 803D5628 003D1288  1C 60 FF FF */	mulli r3, r0, -1
/* 803D562C 003D128C  4B FE B5 3D */	bl func_803C0B68
/* 803D5630 003D1290  90 7F 21 5C */	stw r3, 0x215c(r31)
/* 803D5634 003D1294  48 00 00 10 */	b lbl_803D5644
lbl_803D5638:
/* 803D5638 003D1298  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D563C 003D129C  7C 00 EA 14 */	add r0, r0, r29
/* 803D5640 003D12A0  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D5644:
/* 803D5644 003D12A4  38 60 00 00 */	li r3, 0
lbl_803D5648:
/* 803D5648 003D12A8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D564C 003D12AC  4B DF 1B 29 */	bl _restgpr_27
/* 803D5650 003D12B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5654 003D12B4  7C 08 03 A6 */	mtlr r0
/* 803D5658 003D12B8  38 21 00 20 */	addi r1, r1, 0x20
/* 803D565C 003D12BC  4E 80 00 20 */	blr 
/* 803D5660 003D12C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5664 003D12C4  7C 08 02 A6 */	mflr r0
/* 803D5668 003D12C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D566C 003D12CC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5670 003D12D0  4B DF 1A C1 */	bl _savegpr_29
/* 803D5674 003D12D4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5678 003D12D8  7C 9E 23 78 */	mr r30, r4
/* 803D567C 003D12DC  7F C3 F3 78 */	mr r3, r30
/* 803D5680 003D12E0  38 05 00 01 */	addi r0, r5, 1
/* 803D5684 003D12E4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5688 003D12E8  48 00 17 E5 */	bl func_803D6E6C
/* 803D568C 003D12EC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 803D5690 003D12F0  7C 7F 1B 78 */	mr r31, r3
/* 803D5694 003D12F4  7F C3 F3 78 */	mr r3, r30
/* 803D5698 003D12F8  4B FE A4 81 */	bl func_803BFB18
/* 803D569C 003D12FC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D56A0 003D1300  28 00 00 20 */	cmplwi r0, 0x20
/* 803D56A4 003D1304  40 82 00 1C */	bne lbl_803D56C0
/* 803D56A8 003D1308  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803D56AC 003D130C  54 00 20 36 */	slwi r0, r0, 4
/* 803D56B0 003D1310  7C 7E 02 14 */	add r3, r30, r0
/* 803D56B4 003D1314  88 03 03 E5 */	lbz r0, 0x3e5(r3)
/* 803D56B8 003D1318  54 1D 0C 3C */	rlwinm r29, r0, 1, 0x10, 0x1e
/* 803D56BC 003D131C  48 00 00 14 */	b lbl_803D56D0
lbl_803D56C0:
/* 803D56C0 003D1320  80 1E 30 44 */	lwz r0, 0x3044(r30)
/* 803D56C4 003D1324  54 00 20 36 */	slwi r0, r0, 4
/* 803D56C8 003D1328  7C 7E 02 14 */	add r3, r30, r0
/* 803D56CC 003D132C  8B A3 03 E5 */	lbz r29, 0x3e5(r3)
lbl_803D56D0:
/* 803D56D0 003D1330  48 00 40 E9 */	bl func_803D97B8
/* 803D56D4 003D1334  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D56D8 003D1338  38 60 00 64 */	li r3, 0x64
/* 803D56DC 003D133C  7C 04 1B D6 */	divw r0, r4, r3
/* 803D56E0 003D1340  7C 00 19 D6 */	mullw r0, r0, r3
/* 803D56E4 003D1344  7C 00 20 50 */	subf r0, r0, r4
/* 803D56E8 003D1348  7C 00 E8 00 */	cmpw r0, r29
/* 803D56EC 003D134C  40 80 00 24 */	bge lbl_803D5710
/* 803D56F0 003D1350  80 1E 00 94 */	lwz r0, 0x94(r30)
/* 803D56F4 003D1354  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D56F8 003D1358  7C 7E 02 14 */	add r3, r30, r0
/* 803D56FC 003D135C  80 03 2D 8C */	lwz r0, 0x2d8c(r3)
/* 803D5700 003D1360  2C 00 00 00 */	cmpwi r0, 0
/* 803D5704 003D1364  41 82 00 0C */	beq lbl_803D5710
/* 803D5708 003D1368  38 60 00 00 */	li r3, 0
/* 803D570C 003D136C  48 00 00 14 */	b lbl_803D5720
lbl_803D5710:
/* 803D5710 003D1370  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D5714 003D1374  38 60 00 00 */	li r3, 0
/* 803D5718 003D1378  7C 00 FA 14 */	add r0, r0, r31
/* 803D571C 003D137C  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D5720:
/* 803D5720 003D1380  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5724 003D1384  4B DF 1A 59 */	bl _restgpr_29
/* 803D5728 003D1388  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D572C 003D138C  7C 08 03 A6 */	mtlr r0
/* 803D5730 003D1390  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5734 003D1394  4E 80 00 20 */	blr 
/* 803D5738 003D1398  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D573C 003D139C  7C 08 02 A6 */	mflr r0
/* 803D5740 003D13A0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5744 003D13A4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5748 003D13A8  4B DF 19 E9 */	bl _savegpr_29
/* 803D574C 003D13AC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5750 003D13B0  7C 9F 23 78 */	mr r31, r4
/* 803D5754 003D13B4  7C 7D 1B 78 */	mr r29, r3
/* 803D5758 003D13B8  38 05 00 01 */	addi r0, r5, 1
/* 803D575C 003D13BC  7F E3 FB 78 */	mr r3, r31
/* 803D5760 003D13C0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5764 003D13C4  48 00 17 09 */	bl func_803D6E6C
/* 803D5768 003D13C8  80 9F 00 64 */	lwz r4, 0x64(r31)
/* 803D576C 003D13CC  7C 7E 1B 78 */	mr r30, r3
/* 803D5770 003D13D0  1C 04 00 C0 */	mulli r0, r4, 0xc0
/* 803D5774 003D13D4  7C DF 02 14 */	add r6, r31, r0
/* 803D5778 003D13D8  A0 06 2D 40 */	lhz r0, 0x2d40(r6)
/* 803D577C 003D13DC  28 00 01 B9 */	cmplwi r0, 0x1b9
/* 803D5780 003D13E0  40 82 00 94 */	bne lbl_803D5814
/* 803D5784 003D13E4  80 1F 00 6C */	lwz r0, 0x6c(r31)
/* 803D5788 003D13E8  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D578C 003D13EC  7C BF 02 14 */	add r5, r31, r0
/* 803D5790 003D13F0  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803D5794 003D13F4  2C 00 00 00 */	cmpwi r0, 0
/* 803D5798 003D13F8  41 82 00 7C */	beq lbl_803D5814
/* 803D579C 003D13FC  80 06 2D B0 */	lwz r0, 0x2db0(r6)
/* 803D57A0 003D1400  54 00 02 95 */	rlwinm. r0, r0, 0, 0xa, 0xa
/* 803D57A4 003D1404  40 82 00 70 */	bne lbl_803D5814
/* 803D57A8 003D1408  7F A3 EB 78 */	mr r3, r29
/* 803D57AC 003D140C  4B FD 84 21 */	bl func_803ADBCC
/* 803D57B0 003D1410  48 00 48 69 */	bl func_803DA018
/* 803D57B4 003D1414  2C 03 00 01 */	cmpwi r3, 1
/* 803D57B8 003D1418  41 82 00 20 */	beq lbl_803D57D8
/* 803D57BC 003D141C  40 80 00 08 */	bge lbl_803D57C4
/* 803D57C0 003D1420  48 00 00 10 */	b lbl_803D57D0
lbl_803D57C4:
/* 803D57C4 003D1424  2C 03 00 03 */	cmpwi r3, 3
/* 803D57C8 003D1428  40 80 00 08 */	bge lbl_803D57D0
/* 803D57CC 003D142C  48 00 00 14 */	b lbl_803D57E0
lbl_803D57D0:
/* 803D57D0 003D1430  3B A0 00 00 */	li r29, 0
/* 803D57D4 003D1434  48 00 00 10 */	b lbl_803D57E4
lbl_803D57D8:
/* 803D57D8 003D1438  3B A0 00 0A */	li r29, 0xa
/* 803D57DC 003D143C  48 00 00 08 */	b lbl_803D57E4
lbl_803D57E0:
/* 803D57E0 003D1440  3B A0 00 1E */	li r29, 0x1e
lbl_803D57E4:
/* 803D57E4 003D1444  48 00 3F D5 */	bl func_803D97B8
/* 803D57E8 003D1448  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D57EC 003D144C  38 60 00 64 */	li r3, 0x64
/* 803D57F0 003D1450  7C 04 1B D6 */	divw r0, r4, r3
/* 803D57F4 003D1454  7C 00 19 D6 */	mullw r0, r0, r3
/* 803D57F8 003D1458  7C 00 20 50 */	subf r0, r0, r4
/* 803D57FC 003D145C  7C 00 E8 00 */	cmpw r0, r29
/* 803D5800 003D1460  40 81 00 20 */	ble lbl_803D5820
/* 803D5804 003D1464  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D5808 003D1468  7C 00 F2 14 */	add r0, r0, r30
/* 803D580C 003D146C  90 1F 00 B4 */	stw r0, 0xb4(r31)
/* 803D5810 003D1470  48 00 00 10 */	b lbl_803D5820
lbl_803D5814:
/* 803D5814 003D1474  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D5818 003D1478  7C 00 1A 14 */	add r0, r0, r3
/* 803D581C 003D147C  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D5820:
/* 803D5820 003D1480  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5824 003D1484  38 60 00 00 */	li r3, 0
/* 803D5828 003D1488  4B DF 19 55 */	bl _restgpr_29
/* 803D582C 003D148C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5830 003D1490  7C 08 03 A6 */	mtlr r0
/* 803D5834 003D1494  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5838 003D1498  4E 80 00 20 */	blr 
/* 803D583C 003D149C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5840 003D14A0  7C 08 02 A6 */	mflr r0
/* 803D5844 003D14A4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5848 003D14A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D584C 003D14AC  7C 9F 23 78 */	mr r31, r4
/* 803D5850 003D14B0  7F E3 FB 78 */	mr r3, r31
/* 803D5854 003D14B4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5858 003D14B8  38 05 00 01 */	addi r0, r5, 1
/* 803D585C 003D14BC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5860 003D14C0  48 00 16 0D */	bl func_803D6E6C
/* 803D5864 003D14C4  80 1F 30 44 */	lwz r0, 0x3044(r31)
/* 803D5868 003D14C8  7C 64 1B 78 */	mr r4, r3
/* 803D586C 003D14CC  54 00 20 36 */	slwi r0, r0, 4
/* 803D5870 003D14D0  7C 7F 02 14 */	add r3, r31, r0
/* 803D5874 003D14D4  38 63 03 DE */	addi r3, r3, 0x3de
/* 803D5878 003D14D8  48 00 92 4D */	bl func_803DEAC4
/* 803D587C 003D14DC  90 7F 01 34 */	stw r3, 0x134(r31)
/* 803D5880 003D14E0  38 60 00 00 */	li r3, 0
/* 803D5884 003D14E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5888 003D14E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D588C 003D14EC  7C 08 03 A6 */	mtlr r0
/* 803D5890 003D14F0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5894 003D14F4  4E 80 00 20 */	blr 
/* 803D5898 003D14F8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D589C 003D14FC  7C 08 02 A6 */	mflr r0
/* 803D58A0 003D1500  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D58A4 003D1504  39 61 00 20 */	addi r11, r1, 0x20
/* 803D58A8 003D1508  4B DF 18 81 */	bl _savegpr_27
/* 803D58AC 003D150C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D58B0 003D1510  7C 9C 23 78 */	mr r28, r4
/* 803D58B4 003D1514  7C 7B 1B 78 */	mr r27, r3
/* 803D58B8 003D1518  38 05 00 01 */	addi r0, r5, 1
/* 803D58BC 003D151C  7F 83 E3 78 */	mr r3, r28
/* 803D58C0 003D1520  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D58C4 003D1524  48 00 15 A9 */	bl func_803D6E6C
/* 803D58C8 003D1528  7C 7F 1B 78 */	mr r31, r3
/* 803D58CC 003D152C  7F 83 E3 78 */	mr r3, r28
/* 803D58D0 003D1530  48 00 15 9D */	bl func_803D6E6C
/* 803D58D4 003D1534  7C 7E 1B 78 */	mr r30, r3
/* 803D58D8 003D1538  7F 83 E3 78 */	mr r3, r28
/* 803D58DC 003D153C  48 00 15 91 */	bl func_803D6E6C
/* 803D58E0 003D1540  7C 7D 1B 78 */	mr r29, r3
/* 803D58E4 003D1544  7F 63 DB 78 */	mr r3, r27
/* 803D58E8 003D1548  7F 84 E3 78 */	mr r4, r28
/* 803D58EC 003D154C  7F E5 FB 78 */	mr r5, r31
/* 803D58F0 003D1550  48 00 27 4D */	bl func_803D803C
/* 803D58F4 003D1554  7C 64 1B 78 */	mr r4, r3
/* 803D58F8 003D1558  7F 63 DB 78 */	mr r3, r27
/* 803D58FC 003D155C  7F C5 F3 78 */	mr r5, r30
/* 803D5900 003D1560  7F A6 EB 78 */	mr r6, r29
/* 803D5904 003D1564  4B FD C4 15 */	bl func_803B1D18
/* 803D5908 003D1568  39 61 00 20 */	addi r11, r1, 0x20
/* 803D590C 003D156C  38 60 00 00 */	li r3, 0
/* 803D5910 003D1570  4B DF 18 65 */	bl _restgpr_27
/* 803D5914 003D1574  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5918 003D1578  7C 08 03 A6 */	mtlr r0
/* 803D591C 003D157C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5920 003D1580  4E 80 00 20 */	blr 
/* 803D5924 003D1584  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5928 003D1588  7C 08 02 A6 */	mflr r0
/* 803D592C 003D158C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5930 003D1590  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5934 003D1594  7C 9F 23 78 */	mr r31, r4
/* 803D5938 003D1598  93 C1 00 08 */	stw r30, 8(r1)
/* 803D593C 003D159C  7C 7E 1B 78 */	mr r30, r3
/* 803D5940 003D15A0  7F E3 FB 78 */	mr r3, r31
/* 803D5944 003D15A4  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5948 003D15A8  38 05 00 01 */	addi r0, r5, 1
/* 803D594C 003D15AC  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5950 003D15B0  48 00 15 1D */	bl func_803D6E6C
/* 803D5954 003D15B4  7C 65 1B 78 */	mr r5, r3
/* 803D5958 003D15B8  7F C3 F3 78 */	mr r3, r30
/* 803D595C 003D15BC  7F E4 FB 78 */	mr r4, r31
/* 803D5960 003D15C0  48 00 26 DD */	bl func_803D803C
/* 803D5964 003D15C4  7C 7F 1B 78 */	mr r31, r3
/* 803D5968 003D15C8  7F C3 F3 78 */	mr r3, r30
/* 803D596C 003D15CC  7F E4 FB 78 */	mr r4, r31
/* 803D5970 003D15D0  4B FD C3 E9 */	bl func_803B1D58
/* 803D5974 003D15D4  3C 80 80 49 */	lis r4, lbl_8048CDE8@ha
/* 803D5978 003D15D8  38 60 00 16 */	li r3, 0x16
/* 803D597C 003D15DC  93 E4 CD E8 */	stw r31, lbl_8048CDE8@l(r4)
/* 803D5980 003D15E0  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803D5984 003D15E4  38 84 CD E8 */	addi r4, r4, -12824
/* 803D5988 003D15E8  80 BE 00 30 */	lwz r5, 0x30(r30)
/* 803D598C 003D15EC  7C A5 02 14 */	add r5, r5, r0
/* 803D5990 003D15F0  88 05 2D 66 */	lbz r0, 0x2d66(r5)
/* 803D5994 003D15F4  54 00 EE FE */	rlwinm r0, r0, 0x1d, 0x1b, 0x1f
/* 803D5998 003D15F8  90 04 00 04 */	stw r0, 4(r4)
/* 803D599C 003D15FC  4B D9 A0 B1 */	bl func_8016FA4C
/* 803D59A0 003D1600  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D59A4 003D1604  38 60 00 00 */	li r3, 0
/* 803D59A8 003D1608  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D59AC 003D160C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D59B0 003D1610  7C 08 03 A6 */	mtlr r0
/* 803D59B4 003D1614  38 21 00 10 */	addi r1, r1, 0x10
/* 803D59B8 003D1618  4E 80 00 20 */	blr 
/* 803D59BC 003D161C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D59C0 003D1620  7C 08 02 A6 */	mflr r0
/* 803D59C4 003D1624  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D59C8 003D1628  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D59CC 003D162C  38 05 00 01 */	addi r0, r5, 1
/* 803D59D0 003D1630  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D59D4 003D1634  38 80 00 00 */	li r4, 0
/* 803D59D8 003D1638  4B FD C4 41 */	bl func_803B1E18
/* 803D59DC 003D163C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D59E0 003D1640  38 60 00 00 */	li r3, 0
/* 803D59E4 003D1644  7C 08 03 A6 */	mtlr r0
/* 803D59E8 003D1648  38 21 00 10 */	addi r1, r1, 0x10
/* 803D59EC 003D164C  4E 80 00 20 */	blr 
/* 803D59F0 003D1650  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D59F4 003D1654  7C 08 02 A6 */	mflr r0
/* 803D59F8 003D1658  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D59FC 003D165C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5A00 003D1660  7C 9F 23 78 */	mr r31, r4
/* 803D5A04 003D1664  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5A08 003D1668  7C 7E 1B 78 */	mr r30, r3
/* 803D5A0C 003D166C  7F E3 FB 78 */	mr r3, r31
/* 803D5A10 003D1670  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5A14 003D1674  38 05 00 01 */	addi r0, r5, 1
/* 803D5A18 003D1678  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5A1C 003D167C  48 00 14 51 */	bl func_803D6E6C
/* 803D5A20 003D1680  7C 65 1B 78 */	mr r5, r3
/* 803D5A24 003D1684  7F C3 F3 78 */	mr r3, r30
/* 803D5A28 003D1688  7F E4 FB 78 */	mr r4, r31
/* 803D5A2C 003D168C  48 00 26 11 */	bl func_803D803C
/* 803D5A30 003D1690  7C 64 1B 78 */	mr r4, r3
/* 803D5A34 003D1694  80 FF 01 28 */	lwz r7, 0x128(r31)
/* 803D5A38 003D1698  7C BF 22 14 */	add r5, r31, r4
/* 803D5A3C 003D169C  7F C3 F3 78 */	mr r3, r30
/* 803D5A40 003D16A0  88 A5 21 9C */	lbz r5, 0x219c(r5)
/* 803D5A44 003D16A4  38 C0 00 00 */	li r6, 0
/* 803D5A48 003D16A8  4B FD 74 49 */	bl func_803ACE90
/* 803D5A4C 003D16AC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5A50 003D16B0  38 60 00 00 */	li r3, 0
/* 803D5A54 003D16B4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5A58 003D16B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5A5C 003D16BC  7C 08 03 A6 */	mtlr r0
/* 803D5A60 003D16C0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5A64 003D16C4  4E 80 00 20 */	blr 
/* 803D5A68 003D16C8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5A6C 003D16CC  7C 08 02 A6 */	mflr r0
/* 803D5A70 003D16D0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5A74 003D16D4  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5A78 003D16D8  4B DF 16 B5 */	bl _savegpr_28
/* 803D5A7C 003D16DC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5A80 003D16E0  7C 9D 23 78 */	mr r29, r4
/* 803D5A84 003D16E4  7C 7C 1B 78 */	mr r28, r3
/* 803D5A88 003D16E8  38 05 00 01 */	addi r0, r5, 1
/* 803D5A8C 003D16EC  7F A3 EB 78 */	mr r3, r29
/* 803D5A90 003D16F0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5A94 003D16F4  48 00 13 D9 */	bl func_803D6E6C
/* 803D5A98 003D16F8  7C 7E 1B 78 */	mr r30, r3
/* 803D5A9C 003D16FC  7F A3 EB 78 */	mr r3, r29
/* 803D5AA0 003D1700  48 00 13 CD */	bl func_803D6E6C
/* 803D5AA4 003D1704  7C 7F 1B 78 */	mr r31, r3
/* 803D5AA8 003D1708  7F 83 E3 78 */	mr r3, r28
/* 803D5AAC 003D170C  7F A4 EB 78 */	mr r4, r29
/* 803D5AB0 003D1710  7F C5 F3 78 */	mr r5, r30
/* 803D5AB4 003D1714  48 00 25 89 */	bl func_803D803C
/* 803D5AB8 003D1718  7C 65 1B 78 */	mr r5, r3
/* 803D5ABC 003D171C  7F 83 E3 78 */	mr r3, r28
/* 803D5AC0 003D1720  7F A4 EB 78 */	mr r4, r29
/* 803D5AC4 003D1724  4B FE A6 DD */	bl func_803C01A0
/* 803D5AC8 003D1728  2C 03 00 00 */	cmpwi r3, 0
/* 803D5ACC 003D172C  41 82 00 10 */	beq lbl_803D5ADC
/* 803D5AD0 003D1730  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D5AD4 003D1734  7C 00 FA 14 */	add r0, r0, r31
/* 803D5AD8 003D1738  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D5ADC:
/* 803D5ADC 003D173C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5AE0 003D1740  38 60 00 00 */	li r3, 0
/* 803D5AE4 003D1744  4B DF 16 95 */	bl _restgpr_28
/* 803D5AE8 003D1748  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5AEC 003D174C  7C 08 03 A6 */	mtlr r0
/* 803D5AF0 003D1750  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5AF4 003D1754  4E 80 00 20 */	blr 
/* 803D5AF8 003D1758  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5AFC 003D175C  7C 08 02 A6 */	mflr r0
/* 803D5B00 003D1760  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5B04 003D1764  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5B08 003D1768  7C 9F 23 78 */	mr r31, r4
/* 803D5B0C 003D176C  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5B10 003D1770  7C 7E 1B 78 */	mr r30, r3
/* 803D5B14 003D1774  7F E3 FB 78 */	mr r3, r31
/* 803D5B18 003D1778  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5B1C 003D177C  38 05 00 01 */	addi r0, r5, 1
/* 803D5B20 003D1780  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5B24 003D1784  48 00 13 49 */	bl func_803D6E6C
/* 803D5B28 003D1788  7C 65 1B 78 */	mr r5, r3
/* 803D5B2C 003D178C  7F C3 F3 78 */	mr r3, r30
/* 803D5B30 003D1790  7F E4 FB 78 */	mr r4, r31
/* 803D5B34 003D1794  48 00 25 09 */	bl func_803D803C
/* 803D5B38 003D1798  7C 64 1B 78 */	mr r4, r3
/* 803D5B3C 003D179C  7F C3 F3 78 */	mr r3, r30
/* 803D5B40 003D17A0  4B FD C3 49 */	bl func_803B1E88
/* 803D5B44 003D17A4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5B48 003D17A8  38 60 00 00 */	li r3, 0
/* 803D5B4C 003D17AC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5B50 003D17B0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5B54 003D17B4  7C 08 03 A6 */	mtlr r0
/* 803D5B58 003D17B8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5B5C 003D17BC  4E 80 00 20 */	blr 
/* 803D5B60 003D17C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5B64 003D17C4  7C 08 02 A6 */	mflr r0
/* 803D5B68 003D17C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5B6C 003D17CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5B70 003D17D0  7C 9F 23 78 */	mr r31, r4
/* 803D5B74 003D17D4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5B78 003D17D8  7C 7E 1B 78 */	mr r30, r3
/* 803D5B7C 003D17DC  7F E3 FB 78 */	mr r3, r31
/* 803D5B80 003D17E0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5B84 003D17E4  38 05 00 01 */	addi r0, r5, 1
/* 803D5B88 003D17E8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5B8C 003D17EC  48 00 12 E1 */	bl func_803D6E6C
/* 803D5B90 003D17F0  7C 65 1B 78 */	mr r5, r3
/* 803D5B94 003D17F4  7F C3 F3 78 */	mr r3, r30
/* 803D5B98 003D17F8  7F E4 FB 78 */	mr r4, r31
/* 803D5B9C 003D17FC  48 00 24 A1 */	bl func_803D803C
/* 803D5BA0 003D1800  7C 64 1B 78 */	mr r4, r3
/* 803D5BA4 003D1804  7F C3 F3 78 */	mr r3, r30
/* 803D5BA8 003D1808  4B FD C3 41 */	bl func_803B1EE8
/* 803D5BAC 003D180C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5BB0 003D1810  38 60 00 00 */	li r3, 0
/* 803D5BB4 003D1814  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5BB8 003D1818  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5BBC 003D181C  7C 08 03 A6 */	mtlr r0
/* 803D5BC0 003D1820  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5BC4 003D1824  4E 80 00 20 */	blr 
/* 803D5BC8 003D1828  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5BCC 003D182C  7C 08 02 A6 */	mflr r0
/* 803D5BD0 003D1830  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5BD4 003D1834  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5BD8 003D1838  7C 9F 23 78 */	mr r31, r4
/* 803D5BDC 003D183C  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5BE0 003D1840  7C 7E 1B 78 */	mr r30, r3
/* 803D5BE4 003D1844  7F E3 FB 78 */	mr r3, r31
/* 803D5BE8 003D1848  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5BEC 003D184C  38 05 00 01 */	addi r0, r5, 1
/* 803D5BF0 003D1850  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5BF4 003D1854  48 00 12 79 */	bl func_803D6E6C
/* 803D5BF8 003D1858  7C 65 1B 78 */	mr r5, r3
/* 803D5BFC 003D185C  7F C3 F3 78 */	mr r3, r30
/* 803D5C00 003D1860  7F E4 FB 78 */	mr r4, r31
/* 803D5C04 003D1864  48 00 24 39 */	bl func_803D803C
/* 803D5C08 003D1868  7C 64 1B 78 */	mr r4, r3
/* 803D5C0C 003D186C  7F C3 F3 78 */	mr r3, r30
/* 803D5C10 003D1870  4B FD C3 39 */	bl func_803B1F48
/* 803D5C14 003D1874  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5C18 003D1878  38 60 00 00 */	li r3, 0
/* 803D5C1C 003D187C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5C20 003D1880  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5C24 003D1884  7C 08 03 A6 */	mtlr r0
/* 803D5C28 003D1888  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5C2C 003D188C  4E 80 00 20 */	blr 
/* 803D5C30 003D1890  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5C34 003D1894  7C 08 02 A6 */	mflr r0
/* 803D5C38 003D1898  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5C3C 003D189C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5C40 003D18A0  7C 9F 23 78 */	mr r31, r4
/* 803D5C44 003D18A4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5C48 003D18A8  7C 7E 1B 78 */	mr r30, r3
/* 803D5C4C 003D18AC  7F E3 FB 78 */	mr r3, r31
/* 803D5C50 003D18B0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5C54 003D18B4  38 05 00 01 */	addi r0, r5, 1
/* 803D5C58 003D18B8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5C5C 003D18BC  48 00 12 11 */	bl func_803D6E6C
/* 803D5C60 003D18C0  7C 65 1B 78 */	mr r5, r3
/* 803D5C64 003D18C4  7F C3 F3 78 */	mr r3, r30
/* 803D5C68 003D18C8  7F E4 FB 78 */	mr r4, r31
/* 803D5C6C 003D18CC  48 00 23 D1 */	bl func_803D803C
/* 803D5C70 003D18D0  7C 64 1B 78 */	mr r4, r3
/* 803D5C74 003D18D4  7F C3 F3 78 */	mr r3, r30
/* 803D5C78 003D18D8  4B FD C3 31 */	bl func_803B1FA8
/* 803D5C7C 003D18DC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5C80 003D18E0  38 60 00 00 */	li r3, 0
/* 803D5C84 003D18E4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5C88 003D18E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5C8C 003D18EC  7C 08 03 A6 */	mtlr r0
/* 803D5C90 003D18F0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5C94 003D18F4  4E 80 00 20 */	blr 
/* 803D5C98 003D18F8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5C9C 003D18FC  7C 08 02 A6 */	mflr r0
/* 803D5CA0 003D1900  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5CA4 003D1904  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5CA8 003D1908  38 05 00 01 */	addi r0, r5, 1
/* 803D5CAC 003D190C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5CB0 003D1910  4B FD C3 59 */	bl func_803B2008
/* 803D5CB4 003D1914  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5CB8 003D1918  38 60 00 00 */	li r3, 0
/* 803D5CBC 003D191C  7C 08 03 A6 */	mtlr r0
/* 803D5CC0 003D1920  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5CC4 003D1924  4E 80 00 20 */	blr 
/* 803D5CC8 003D1928  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5CCC 003D192C  7C 08 02 A6 */	mflr r0
/* 803D5CD0 003D1930  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5CD4 003D1934  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5CD8 003D1938  38 05 00 01 */	addi r0, r5, 1
/* 803D5CDC 003D193C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5CE0 003D1940  4B FD C3 61 */	bl func_803B2040
/* 803D5CE4 003D1944  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5CE8 003D1948  38 60 00 00 */	li r3, 0
/* 803D5CEC 003D194C  7C 08 03 A6 */	mtlr r0
/* 803D5CF0 003D1950  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5CF4 003D1954  4E 80 00 20 */	blr 
/* 803D5CF8 003D1958  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5CFC 003D195C  7C 08 02 A6 */	mflr r0
/* 803D5D00 003D1960  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5D04 003D1964  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5D08 003D1968  4B DF 14 21 */	bl _savegpr_27
/* 803D5D0C 003D196C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5D10 003D1970  7C 9C 23 78 */	mr r28, r4
/* 803D5D14 003D1974  7C 7B 1B 78 */	mr r27, r3
/* 803D5D18 003D1978  38 05 00 01 */	addi r0, r5, 1
/* 803D5D1C 003D197C  7F 83 E3 78 */	mr r3, r28
/* 803D5D20 003D1980  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5D24 003D1984  48 00 11 49 */	bl func_803D6E6C
/* 803D5D28 003D1988  7C 7F 1B 78 */	mr r31, r3
/* 803D5D2C 003D198C  7F 83 E3 78 */	mr r3, r28
/* 803D5D30 003D1990  48 00 11 3D */	bl func_803D6E6C
/* 803D5D34 003D1994  7C 7E 1B 78 */	mr r30, r3
/* 803D5D38 003D1998  7F 83 E3 78 */	mr r3, r28
/* 803D5D3C 003D199C  48 00 11 31 */	bl func_803D6E6C
/* 803D5D40 003D19A0  7C 7D 1B 78 */	mr r29, r3
/* 803D5D44 003D19A4  7F 63 DB 78 */	mr r3, r27
/* 803D5D48 003D19A8  7F 84 E3 78 */	mr r4, r28
/* 803D5D4C 003D19AC  7F E5 FB 78 */	mr r5, r31
/* 803D5D50 003D19B0  48 00 22 ED */	bl func_803D803C
/* 803D5D54 003D19B4  7C 64 1B 78 */	mr r4, r3
/* 803D5D58 003D19B8  7F 63 DB 78 */	mr r3, r27
/* 803D5D5C 003D19BC  7F C5 F3 78 */	mr r5, r30
/* 803D5D60 003D19C0  7F A6 EB 78 */	mr r6, r29
/* 803D5D64 003D19C4  4B FD C3 15 */	bl func_803B2078
/* 803D5D68 003D19C8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5D6C 003D19CC  38 60 00 00 */	li r3, 0
/* 803D5D70 003D19D0  4B DF 14 05 */	bl _restgpr_27
/* 803D5D74 003D19D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5D78 003D19D8  7C 08 03 A6 */	mtlr r0
/* 803D5D7C 003D19DC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5D80 003D19E0  4E 80 00 20 */	blr 
/* 803D5D84 003D19E4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D5D88 003D19E8  7C 08 02 A6 */	mflr r0
/* 803D5D8C 003D19EC  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D5D90 003D19F0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D5D94 003D19F4  7C 9F 23 78 */	mr r31, r4
/* 803D5D98 003D19F8  93 C1 00 08 */	stw r30, 8(r1)
/* 803D5D9C 003D19FC  7C 7E 1B 78 */	mr r30, r3
/* 803D5DA0 003D1A00  7F E3 FB 78 */	mr r3, r31
/* 803D5DA4 003D1A04  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5DA8 003D1A08  38 05 00 01 */	addi r0, r5, 1
/* 803D5DAC 003D1A0C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5DB0 003D1A10  48 00 10 BD */	bl func_803D6E6C
/* 803D5DB4 003D1A14  7C 65 1B 78 */	mr r5, r3
/* 803D5DB8 003D1A18  7F C3 F3 78 */	mr r3, r30
/* 803D5DBC 003D1A1C  7F E4 FB 78 */	mr r4, r31
/* 803D5DC0 003D1A20  48 00 22 7D */	bl func_803D803C
/* 803D5DC4 003D1A24  7C 65 1B 78 */	mr r5, r3
/* 803D5DC8 003D1A28  7F C3 F3 78 */	mr r3, r30
/* 803D5DCC 003D1A2C  7F E4 FB 78 */	mr r4, r31
/* 803D5DD0 003D1A30  4B FD C3 49 */	bl func_803B2118
/* 803D5DD4 003D1A34  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D5DD8 003D1A38  38 60 00 00 */	li r3, 0
/* 803D5DDC 003D1A3C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D5DE0 003D1A40  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D5DE4 003D1A44  7C 08 03 A6 */	mtlr r0
/* 803D5DE8 003D1A48  38 21 00 10 */	addi r1, r1, 0x10
/* 803D5DEC 003D1A4C  4E 80 00 20 */	blr 
/* 803D5DF0 003D1A50  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5DF4 003D1A54  7C 08 02 A6 */	mflr r0
/* 803D5DF8 003D1A58  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5DFC 003D1A5C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5E00 003D1A60  4B DF 13 31 */	bl _savegpr_29
/* 803D5E04 003D1A64  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D5E08 003D1A68  7C 9E 23 78 */	mr r30, r4
/* 803D5E0C 003D1A6C  7C 7D 1B 78 */	mr r29, r3
/* 803D5E10 003D1A70  38 05 00 01 */	addi r0, r5, 1
/* 803D5E14 003D1A74  7F C3 F3 78 */	mr r3, r30
/* 803D5E18 003D1A78  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D5E1C 003D1A7C  48 00 10 51 */	bl func_803D6E6C
/* 803D5E20 003D1A80  7C 7F 1B 78 */	mr r31, r3
/* 803D5E24 003D1A84  7F A3 EB 78 */	mr r3, r29
/* 803D5E28 003D1A88  7F C4 F3 78 */	mr r4, r30
/* 803D5E2C 003D1A8C  38 BE 01 38 */	addi r5, r30, 0x138
/* 803D5E30 003D1A90  4B FE BD C9 */	bl func_803C1BF8
/* 803D5E34 003D1A94  2C 03 00 00 */	cmpwi r3, 0
/* 803D5E38 003D1A98  40 82 00 10 */	bne lbl_803D5E48
/* 803D5E3C 003D1A9C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D5E40 003D1AA0  7C 00 FA 14 */	add r0, r0, r31
/* 803D5E44 003D1AA4  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D5E48:
/* 803D5E48 003D1AA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5E4C 003D1AAC  38 60 00 00 */	li r3, 0
/* 803D5E50 003D1AB0  4B DF 13 2D */	bl _restgpr_29
/* 803D5E54 003D1AB4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5E58 003D1AB8  7C 08 03 A6 */	mtlr r0
/* 803D5E5C 003D1ABC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5E60 003D1AC0  4E 80 00 20 */	blr 
/* 803D5E64 003D1AC4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5E68 003D1AC8  7C 08 02 A6 */	mflr r0
/* 803D5E6C 003D1ACC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5E70 003D1AD0  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5E74 003D1AD4  4B DF 12 BD */	bl _savegpr_29
/* 803D5E78 003D1AD8  7C 7D 1B 78 */	mr r29, r3
/* 803D5E7C 003D1ADC  7C 9E 23 78 */	mr r30, r4
/* 803D5E80 003D1AE0  4B FD 69 E1 */	bl func_803AC860
/* 803D5E84 003D1AE4  80 9E 00 B4 */	lwz r4, 0xb4(r30)
/* 803D5E88 003D1AE8  7C 7F 1B 78 */	mr r31, r3
/* 803D5E8C 003D1AEC  7F C3 F3 78 */	mr r3, r30
/* 803D5E90 003D1AF0  38 04 00 01 */	addi r0, r4, 1
/* 803D5E94 003D1AF4  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D5E98 003D1AF8  48 00 0F D5 */	bl func_803D6E6C
/* 803D5E9C 003D1AFC  2C 03 00 04 */	cmpwi r3, 4
/* 803D5EA0 003D1B00  7C 65 1B 78 */	mr r5, r3
/* 803D5EA4 003D1B04  41 82 00 50 */	beq lbl_803D5EF4
/* 803D5EA8 003D1B08  40 80 00 88 */	bge lbl_803D5F30
/* 803D5EAC 003D1B0C  2C 03 00 03 */	cmpwi r3, 3
/* 803D5EB0 003D1B10  40 80 00 08 */	bge lbl_803D5EB8
/* 803D5EB4 003D1B14  48 00 00 7C */	b lbl_803D5F30
lbl_803D5EB8:
/* 803D5EB8 003D1B18  3B C0 00 00 */	li r30, 0
/* 803D5EBC 003D1B1C  48 00 00 2C */	b lbl_803D5EE8
lbl_803D5EC0:
/* 803D5EC0 003D1B20  7F A3 EB 78 */	mr r3, r29
/* 803D5EC4 003D1B24  7F C4 F3 78 */	mr r4, r30
/* 803D5EC8 003D1B28  4B FD 69 89 */	bl cTeam_GetPlayer
/* 803D5ECC 003D1B2C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D5ED0 003D1B30  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D5ED4 003D1B34  40 82 00 10 */	bne lbl_803D5EE4
/* 803D5ED8 003D1B38  7F A3 EB 78 */	mr r3, r29
/* 803D5EDC 003D1B3C  7F C4 F3 78 */	mr r4, r30
/* 803D5EE0 003D1B40  4B FD C3 0D */	bl func_803B21EC
lbl_803D5EE4:
/* 803D5EE4 003D1B44  3B DE 00 01 */	addi r30, r30, 1
lbl_803D5EE8:
/* 803D5EE8 003D1B48  7C 1E F8 00 */	cmpw r30, r31
/* 803D5EEC 003D1B4C  41 80 FF D4 */	blt lbl_803D5EC0
/* 803D5EF0 003D1B50  48 00 00 58 */	b lbl_803D5F48
lbl_803D5EF4:
/* 803D5EF4 003D1B54  3B C0 00 00 */	li r30, 0
/* 803D5EF8 003D1B58  48 00 00 2C */	b lbl_803D5F24
lbl_803D5EFC:
/* 803D5EFC 003D1B5C  7F A3 EB 78 */	mr r3, r29
/* 803D5F00 003D1B60  7F C4 F3 78 */	mr r4, r30
/* 803D5F04 003D1B64  4B FD 69 4D */	bl cTeam_GetPlayer
/* 803D5F08 003D1B68  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D5F0C 003D1B6C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D5F10 003D1B70  41 82 00 10 */	beq lbl_803D5F20
/* 803D5F14 003D1B74  7F A3 EB 78 */	mr r3, r29
/* 803D5F18 003D1B78  7F C4 F3 78 */	mr r4, r30
/* 803D5F1C 003D1B7C  4B FD C2 D1 */	bl func_803B21EC
lbl_803D5F20:
/* 803D5F20 003D1B80  3B DE 00 01 */	addi r30, r30, 1
lbl_803D5F24:
/* 803D5F24 003D1B84  7C 1E F8 00 */	cmpw r30, r31
/* 803D5F28 003D1B88  41 80 FF D4 */	blt lbl_803D5EFC
/* 803D5F2C 003D1B8C  48 00 00 1C */	b lbl_803D5F48
lbl_803D5F30:
/* 803D5F30 003D1B90  7F A3 EB 78 */	mr r3, r29
/* 803D5F34 003D1B94  7F C4 F3 78 */	mr r4, r30
/* 803D5F38 003D1B98  48 00 21 05 */	bl func_803D803C
/* 803D5F3C 003D1B9C  7C 64 1B 78 */	mr r4, r3
/* 803D5F40 003D1BA0  7F A3 EB 78 */	mr r3, r29
/* 803D5F44 003D1BA4  4B FD C2 A9 */	bl func_803B21EC
lbl_803D5F48:
/* 803D5F48 003D1BA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5F4C 003D1BAC  38 60 00 00 */	li r3, 0
/* 803D5F50 003D1BB0  4B DF 12 2D */	bl _restgpr_29
/* 803D5F54 003D1BB4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D5F58 003D1BB8  7C 08 03 A6 */	mtlr r0
/* 803D5F5C 003D1BBC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D5F60 003D1BC0  4E 80 00 20 */	blr 
/* 803D5F64 003D1BC4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D5F68 003D1BC8  7C 08 02 A6 */	mflr r0
/* 803D5F6C 003D1BCC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D5F70 003D1BD0  39 61 00 20 */	addi r11, r1, 0x20
/* 803D5F74 003D1BD4  4B DF 11 BD */	bl _savegpr_29
/* 803D5F78 003D1BD8  7C 7D 1B 78 */	mr r29, r3
/* 803D5F7C 003D1BDC  7C 9E 23 78 */	mr r30, r4
/* 803D5F80 003D1BE0  4B FD 68 E1 */	bl func_803AC860
/* 803D5F84 003D1BE4  80 9E 00 B4 */	lwz r4, 0xb4(r30)
/* 803D5F88 003D1BE8  7C 7F 1B 78 */	mr r31, r3
/* 803D5F8C 003D1BEC  7F C3 F3 78 */	mr r3, r30
/* 803D5F90 003D1BF0  38 04 00 01 */	addi r0, r4, 1
/* 803D5F94 003D1BF4  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D5F98 003D1BF8  48 00 0E D5 */	bl func_803D6E6C
/* 803D5F9C 003D1BFC  2C 03 00 04 */	cmpwi r3, 4
/* 803D5FA0 003D1C00  7C 65 1B 78 */	mr r5, r3
/* 803D5FA4 003D1C04  41 82 00 50 */	beq lbl_803D5FF4
/* 803D5FA8 003D1C08  40 80 00 88 */	bge lbl_803D6030
/* 803D5FAC 003D1C0C  2C 03 00 03 */	cmpwi r3, 3
/* 803D5FB0 003D1C10  40 80 00 08 */	bge lbl_803D5FB8
/* 803D5FB4 003D1C14  48 00 00 7C */	b lbl_803D6030
lbl_803D5FB8:
/* 803D5FB8 003D1C18  3B C0 00 00 */	li r30, 0
/* 803D5FBC 003D1C1C  48 00 00 2C */	b lbl_803D5FE8
lbl_803D5FC0:
/* 803D5FC0 003D1C20  7F A3 EB 78 */	mr r3, r29
/* 803D5FC4 003D1C24  7F C4 F3 78 */	mr r4, r30
/* 803D5FC8 003D1C28  4B FD 68 89 */	bl cTeam_GetPlayer
/* 803D5FCC 003D1C2C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D5FD0 003D1C30  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D5FD4 003D1C34  40 82 00 10 */	bne lbl_803D5FE4
/* 803D5FD8 003D1C38  7F A3 EB 78 */	mr r3, r29
/* 803D5FDC 003D1C3C  7F C4 F3 78 */	mr r4, r30
/* 803D5FE0 003D1C40  4B FD C2 45 */	bl func_803B2224
lbl_803D5FE4:
/* 803D5FE4 003D1C44  3B DE 00 01 */	addi r30, r30, 1
lbl_803D5FE8:
/* 803D5FE8 003D1C48  7C 1E F8 00 */	cmpw r30, r31
/* 803D5FEC 003D1C4C  41 80 FF D4 */	blt lbl_803D5FC0
/* 803D5FF0 003D1C50  48 00 00 58 */	b lbl_803D6048
lbl_803D5FF4:
/* 803D5FF4 003D1C54  3B C0 00 00 */	li r30, 0
/* 803D5FF8 003D1C58  48 00 00 2C */	b lbl_803D6024
lbl_803D5FFC:
/* 803D5FFC 003D1C5C  7F A3 EB 78 */	mr r3, r29
/* 803D6000 003D1C60  7F C4 F3 78 */	mr r4, r30
/* 803D6004 003D1C64  4B FD 68 4D */	bl cTeam_GetPlayer
/* 803D6008 003D1C68  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D600C 003D1C6C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D6010 003D1C70  41 82 00 10 */	beq lbl_803D6020
/* 803D6014 003D1C74  7F A3 EB 78 */	mr r3, r29
/* 803D6018 003D1C78  7F C4 F3 78 */	mr r4, r30
/* 803D601C 003D1C7C  4B FD C2 09 */	bl func_803B2224
lbl_803D6020:
/* 803D6020 003D1C80  3B DE 00 01 */	addi r30, r30, 1
lbl_803D6024:
/* 803D6024 003D1C84  7C 1E F8 00 */	cmpw r30, r31
/* 803D6028 003D1C88  41 80 FF D4 */	blt lbl_803D5FFC
/* 803D602C 003D1C8C  48 00 00 1C */	b lbl_803D6048
lbl_803D6030:
/* 803D6030 003D1C90  7F A3 EB 78 */	mr r3, r29
/* 803D6034 003D1C94  7F C4 F3 78 */	mr r4, r30
/* 803D6038 003D1C98  48 00 20 05 */	bl func_803D803C
/* 803D603C 003D1C9C  7C 64 1B 78 */	mr r4, r3
/* 803D6040 003D1CA0  7F A3 EB 78 */	mr r3, r29
/* 803D6044 003D1CA4  4B FD C1 E1 */	bl func_803B2224
lbl_803D6048:
/* 803D6048 003D1CA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D604C 003D1CAC  38 60 00 00 */	li r3, 0
/* 803D6050 003D1CB0  4B DF 11 2D */	bl _restgpr_29
/* 803D6054 003D1CB4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D6058 003D1CB8  7C 08 03 A6 */	mtlr r0
/* 803D605C 003D1CBC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D6060 003D1CC0  4E 80 00 20 */	blr 
/* 803D6064 003D1CC4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D6068 003D1CC8  7C 08 02 A6 */	mflr r0
/* 803D606C 003D1CCC  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D6070 003D1CD0  39 61 00 30 */	addi r11, r1, 0x30
/* 803D6074 003D1CD4  4B DF 10 A1 */	bl _savegpr_22
/* 803D6078 003D1CD8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D607C 003D1CDC  7C 9E 23 78 */	mr r30, r4
/* 803D6080 003D1CE0  7C 7D 1B 78 */	mr r29, r3
/* 803D6084 003D1CE4  3B E0 00 00 */	li r31, 0
/* 803D6088 003D1CE8  38 05 00 01 */	addi r0, r5, 1
/* 803D608C 003D1CEC  7F C3 F3 78 */	mr r3, r30
/* 803D6090 003D1CF0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6094 003D1CF4  48 00 0D D9 */	bl func_803D6E6C
/* 803D6098 003D1CF8  7C 7A 1B 78 */	mr r26, r3
/* 803D609C 003D1CFC  7F C3 F3 78 */	mr r3, r30
/* 803D60A0 003D1D00  48 00 0D CD */	bl func_803D6E6C
/* 803D60A4 003D1D04  7C 7B 1B 78 */	mr r27, r3
/* 803D60A8 003D1D08  7F A3 EB 78 */	mr r3, r29
/* 803D60AC 003D1D0C  4B FD 67 95 */	bl func_803AC840
/* 803D60B0 003D1D10  7C 7C 1B 78 */	mr r28, r3
/* 803D60B4 003D1D14  7F A3 EB 78 */	mr r3, r29
/* 803D60B8 003D1D18  7F C4 F3 78 */	mr r4, r30
/* 803D60BC 003D1D1C  7F 45 D3 78 */	mr r5, r26
/* 803D60C0 003D1D20  48 00 1F 7D */	bl func_803D803C
/* 803D60C4 003D1D24  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 803D60C8 003D1D28  7C 7A 1B 78 */	mr r26, r3
/* 803D60CC 003D1D2C  40 82 00 20 */	bne lbl_803D60EC
/* 803D60D0 003D1D30  57 80 06 F7 */	rlwinm. r0, r28, 0, 0x1b, 0x1b
/* 803D60D4 003D1D34  41 82 01 64 */	beq lbl_803D6238
/* 803D60D8 003D1D38  7F A3 EB 78 */	mr r3, r29
/* 803D60DC 003D1D3C  7F 44 D3 78 */	mr r4, r26
/* 803D60E0 003D1D40  4B FD 6C 05 */	bl func_803ACCE4
/* 803D60E4 003D1D44  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D60E8 003D1D48  41 82 01 50 */	beq lbl_803D6238
lbl_803D60EC:
/* 803D60EC 003D1D4C  7F A3 EB 78 */	mr r3, r29
/* 803D60F0 003D1D50  7F 44 D3 78 */	mr r4, r26
/* 803D60F4 003D1D54  4B FD 67 75 */	bl func_803AC868
/* 803D60F8 003D1D58  7C 77 1B 78 */	mr r23, r3
/* 803D60FC 003D1D5C  7F A3 EB 78 */	mr r3, r29
/* 803D6100 003D1D60  7F 44 D3 78 */	mr r4, r26
/* 803D6104 003D1D64  4B FD 6C 35 */	bl func_803ACD38
/* 803D6108 003D1D68  7C 64 1B 78 */	mr r4, r3
/* 803D610C 003D1D6C  7F A3 EB 78 */	mr r3, r29
/* 803D6110 003D1D70  4B FD 67 59 */	bl func_803AC868
/* 803D6114 003D1D74  7C 76 1B 78 */	mr r22, r3
/* 803D6118 003D1D78  7F A3 EB 78 */	mr r3, r29
/* 803D611C 003D1D7C  7F 44 D3 78 */	mr r4, r26
/* 803D6120 003D1D80  4B FD 67 31 */	bl cTeam_GetPlayer
/* 803D6124 003D1D84  3B 20 00 00 */	li r25, 0
/* 803D6128 003D1D88  48 00 00 58 */	b lbl_803D6180
lbl_803D612C:
/* 803D612C 003D1D8C  7E E3 BB 78 */	mr r3, r23
/* 803D6130 003D1D90  7F 24 CB 78 */	mr r4, r25
/* 803D6134 003D1D94  48 00 88 19 */	bl func_803DE94C
/* 803D6138 003D1D98  7C 78 1B 78 */	mr r24, r3
/* 803D613C 003D1D9C  38 80 00 AD */	li r4, 0xad
/* 803D6140 003D1DA0  38 A0 00 00 */	li r5, 0
/* 803D6144 003D1DA4  48 00 78 99 */	bl func_803DD9DC
/* 803D6148 003D1DA8  2C 03 00 00 */	cmpwi r3, 0
/* 803D614C 003D1DAC  41 82 00 30 */	beq lbl_803D617C
/* 803D6150 003D1DB0  7F 03 C3 78 */	mr r3, r24
/* 803D6154 003D1DB4  38 80 00 AD */	li r4, 0xad
/* 803D6158 003D1DB8  38 A0 00 00 */	li r5, 0
/* 803D615C 003D1DBC  48 00 78 81 */	bl func_803DD9DC
/* 803D6160 003D1DC0  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D6164 003D1DC4  41 82 00 18 */	beq lbl_803D617C
/* 803D6168 003D1DC8  7F 03 C3 78 */	mr r3, r24
/* 803D616C 003D1DCC  38 80 00 A2 */	li r4, 0xa2
/* 803D6170 003D1DD0  38 A0 00 00 */	li r5, 0
/* 803D6174 003D1DD4  48 00 78 69 */	bl func_803DD9DC
/* 803D6178 003D1DD8  7F FF 1A 14 */	add r31, r31, r3
lbl_803D617C:
/* 803D617C 003D1DDC  3B 39 00 01 */	addi r25, r25, 1
lbl_803D6180:
/* 803D6180 003D1DE0  7E E3 BB 78 */	mr r3, r23
/* 803D6184 003D1DE4  48 00 87 C1 */	bl func_803DE944
/* 803D6188 003D1DE8  7C 19 18 00 */	cmpw r25, r3
/* 803D618C 003D1DEC  41 80 FF A0 */	blt lbl_803D612C
/* 803D6190 003D1DF0  57 83 06 7E */	clrlwi r3, r28, 0x19
/* 803D6194 003D1DF4  38 03 FF B6 */	addi r0, r3, -74
/* 803D6198 003D1DF8  28 00 00 01 */	cmplwi r0, 1
/* 803D619C 003D1DFC  41 81 00 18 */	bgt lbl_803D61B4
/* 803D61A0 003D1E00  7F A3 EB 78 */	mr r3, r29
/* 803D61A4 003D1E04  7F 44 D3 78 */	mr r4, r26
/* 803D61A8 003D1E08  4B FD 6B 3D */	bl func_803ACCE4
/* 803D61AC 003D1E0C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D61B0 003D1E10  41 82 00 70 */	beq lbl_803D6220
lbl_803D61B4:
/* 803D61B4 003D1E14  3B 80 00 00 */	li r28, 0
/* 803D61B8 003D1E18  48 00 00 58 */	b lbl_803D6210
lbl_803D61BC:
/* 803D61BC 003D1E1C  7E C3 B3 78 */	mr r3, r22
/* 803D61C0 003D1E20  7F 84 E3 78 */	mr r4, r28
/* 803D61C4 003D1E24  48 00 87 89 */	bl func_803DE94C
/* 803D61C8 003D1E28  7C 7D 1B 78 */	mr r29, r3
/* 803D61CC 003D1E2C  38 80 00 AD */	li r4, 0xad
/* 803D61D0 003D1E30  38 A0 00 00 */	li r5, 0
/* 803D61D4 003D1E34  48 00 78 09 */	bl func_803DD9DC
/* 803D61D8 003D1E38  2C 03 00 00 */	cmpwi r3, 0
/* 803D61DC 003D1E3C  41 82 00 30 */	beq lbl_803D620C
/* 803D61E0 003D1E40  7F A3 EB 78 */	mr r3, r29
/* 803D61E4 003D1E44  38 80 00 AD */	li r4, 0xad
/* 803D61E8 003D1E48  38 A0 00 00 */	li r5, 0
/* 803D61EC 003D1E4C  48 00 77 F1 */	bl func_803DD9DC
/* 803D61F0 003D1E50  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D61F4 003D1E54  41 82 00 18 */	beq lbl_803D620C
/* 803D61F8 003D1E58  7F A3 EB 78 */	mr r3, r29
/* 803D61FC 003D1E5C  38 80 00 A2 */	li r4, 0xa2
/* 803D6200 003D1E60  38 A0 00 00 */	li r5, 0
/* 803D6204 003D1E64  48 00 77 D9 */	bl func_803DD9DC
/* 803D6208 003D1E68  7F FF 1A 14 */	add r31, r31, r3
lbl_803D620C:
/* 803D620C 003D1E6C  3B 9C 00 01 */	addi r28, r28, 1
lbl_803D6210:
/* 803D6210 003D1E70  7E C3 B3 78 */	mr r3, r22
/* 803D6214 003D1E74  48 00 87 31 */	bl func_803DE944
/* 803D6218 003D1E78  7C 1C 18 00 */	cmpw r28, r3
/* 803D621C 003D1E7C  41 80 FF A0 */	blt lbl_803D61BC
lbl_803D6220:
/* 803D6220 003D1E80  2C 1F 00 00 */	cmpwi r31, 0
/* 803D6224 003D1E84  40 82 00 B0 */	bne lbl_803D62D4
/* 803D6228 003D1E88  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D622C 003D1E8C  7C 00 DA 14 */	add r0, r0, r27
/* 803D6230 003D1E90  90 1E 00 B4 */	stw r0, 0xb4(r30)
/* 803D6234 003D1E94  48 00 00 A0 */	b lbl_803D62D4
lbl_803D6238:
/* 803D6238 003D1E98  7F A3 EB 78 */	mr r3, r29
/* 803D623C 003D1E9C  7F 44 D3 78 */	mr r4, r26
/* 803D6240 003D1EA0  4B FD 66 29 */	bl func_803AC868
/* 803D6244 003D1EA4  7C 76 1B 78 */	mr r22, r3
/* 803D6248 003D1EA8  7F A3 EB 78 */	mr r3, r29
/* 803D624C 003D1EAC  7F 44 D3 78 */	mr r4, r26
/* 803D6250 003D1EB0  4B FD 66 01 */	bl cTeam_GetPlayer
/* 803D6254 003D1EB4  3B 80 00 00 */	li r28, 0
/* 803D6258 003D1EB8  48 00 00 58 */	b lbl_803D62B0
lbl_803D625C:
/* 803D625C 003D1EBC  7E C3 B3 78 */	mr r3, r22
/* 803D6260 003D1EC0  7F 84 E3 78 */	mr r4, r28
/* 803D6264 003D1EC4  48 00 86 E9 */	bl func_803DE94C
/* 803D6268 003D1EC8  7C 7D 1B 78 */	mr r29, r3
/* 803D626C 003D1ECC  38 80 00 AD */	li r4, 0xad
/* 803D6270 003D1ED0  38 A0 00 00 */	li r5, 0
/* 803D6274 003D1ED4  48 00 77 69 */	bl func_803DD9DC
/* 803D6278 003D1ED8  2C 03 00 00 */	cmpwi r3, 0
/* 803D627C 003D1EDC  41 82 00 30 */	beq lbl_803D62AC
/* 803D6280 003D1EE0  7F A3 EB 78 */	mr r3, r29
/* 803D6284 003D1EE4  38 80 00 AD */	li r4, 0xad
/* 803D6288 003D1EE8  38 A0 00 00 */	li r5, 0
/* 803D628C 003D1EEC  48 00 77 51 */	bl func_803DD9DC
/* 803D6290 003D1EF0  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D6294 003D1EF4  41 82 00 18 */	beq lbl_803D62AC
/* 803D6298 003D1EF8  7F A3 EB 78 */	mr r3, r29
/* 803D629C 003D1EFC  38 80 00 A2 */	li r4, 0xa2
/* 803D62A0 003D1F00  38 A0 00 00 */	li r5, 0
/* 803D62A4 003D1F04  48 00 77 39 */	bl func_803DD9DC
/* 803D62A8 003D1F08  7F FF 1A 14 */	add r31, r31, r3
lbl_803D62AC:
/* 803D62AC 003D1F0C  3B 9C 00 01 */	addi r28, r28, 1
lbl_803D62B0:
/* 803D62B0 003D1F10  7E C3 B3 78 */	mr r3, r22
/* 803D62B4 003D1F14  48 00 86 91 */	bl func_803DE944
/* 803D62B8 003D1F18  7C 1C 18 00 */	cmpw r28, r3
/* 803D62BC 003D1F1C  41 80 FF A0 */	blt lbl_803D625C
/* 803D62C0 003D1F20  2C 1F 00 00 */	cmpwi r31, 0
/* 803D62C4 003D1F24  40 82 00 10 */	bne lbl_803D62D4
/* 803D62C8 003D1F28  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D62CC 003D1F2C  7C 00 DA 14 */	add r0, r0, r27
/* 803D62D0 003D1F30  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D62D4:
/* 803D62D4 003D1F34  39 61 00 30 */	addi r11, r1, 0x30
/* 803D62D8 003D1F38  38 60 00 00 */	li r3, 0
/* 803D62DC 003D1F3C  4B DF 0E 85 */	bl _restgpr_22
/* 803D62E0 003D1F40  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D62E4 003D1F44  7C 08 03 A6 */	mtlr r0
/* 803D62E8 003D1F48  38 21 00 30 */	addi r1, r1, 0x30
/* 803D62EC 003D1F4C  4E 80 00 20 */	blr 
/* 803D62F0 003D1F50  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D62F4 003D1F54  7C 08 02 A6 */	mflr r0
/* 803D62F8 003D1F58  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D62FC 003D1F5C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 803D6300 003D1F60  7C 9F 23 78 */	mr r31, r4
/* 803D6304 003D1F64  7F E3 FB 78 */	mr r3, r31
/* 803D6308 003D1F68  93 C1 00 28 */	stw r30, 0x28(r1)
/* 803D630C 003D1F6C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6310 003D1F70  38 05 00 01 */	addi r0, r5, 1
/* 803D6314 003D1F74  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6318 003D1F78  48 00 0B 55 */	bl func_803D6E6C
/* 803D631C 003D1F7C  80 9F 00 6C */	lwz r4, 0x6c(r31)
/* 803D6320 003D1F80  38 00 00 07 */	li r0, 7
/* 803D6324 003D1F84  38 A1 00 08 */	addi r5, r1, 8
/* 803D6328 003D1F88  3B C0 00 00 */	li r30, 0
/* 803D632C 003D1F8C  1C C4 00 C0 */	mulli r6, r4, 0xc0
/* 803D6330 003D1F90  38 80 00 00 */	li r4, 0
/* 803D6334 003D1F94  39 00 00 01 */	li r8, 1
/* 803D6338 003D1F98  7C FF 32 14 */	add r7, r31, r6
/* 803D633C 003D1F9C  7C 09 03 A6 */	mtctr r0
lbl_803D6340:
/* 803D6340 003D1FA0  7C C7 42 14 */	add r6, r7, r8
/* 803D6344 003D1FA4  88 06 2D 58 */	lbz r0, 0x2d58(r6)
/* 803D6348 003D1FA8  7C 00 07 74 */	extsb r0, r0
/* 803D634C 003D1FAC  2C 00 00 0C */	cmpwi r0, 0xc
/* 803D6350 003D1FB0  40 80 00 14 */	bge lbl_803D6364
/* 803D6354 003D1FB4  38 08 FF FF */	addi r0, r8, -1
/* 803D6358 003D1FB8  3B DE 00 01 */	addi r30, r30, 1
/* 803D635C 003D1FBC  7C 05 21 2E */	stwx r0, r5, r4
/* 803D6360 003D1FC0  38 84 00 04 */	addi r4, r4, 4
lbl_803D6364:
/* 803D6364 003D1FC4  39 08 00 01 */	addi r8, r8, 1
/* 803D6368 003D1FC8  42 00 FF D8 */	bdnz lbl_803D6340
/* 803D636C 003D1FCC  2C 1E 00 00 */	cmpwi r30, 0
/* 803D6370 003D1FD0  41 82 00 34 */	beq lbl_803D63A4
/* 803D6374 003D1FD4  48 00 34 45 */	bl func_803D97B8
/* 803D6378 003D1FD8  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D637C 003D1FDC  38 61 00 08 */	addi r3, r1, 8
/* 803D6380 003D1FE0  7C 04 F3 D6 */	divw r0, r4, r30
/* 803D6384 003D1FE4  7C 00 F1 D6 */	mullw r0, r0, r30
/* 803D6388 003D1FE8  7C 00 20 50 */	subf r0, r0, r4
/* 803D638C 003D1FEC  54 00 10 3A */	slwi r0, r0, 2
/* 803D6390 003D1FF0  7C 63 00 2E */	lwzx r3, r3, r0
/* 803D6394 003D1FF4  38 03 00 27 */	addi r0, r3, 0x27
/* 803D6398 003D1FF8  64 00 80 00 */	oris r0, r0, 0x8000
/* 803D639C 003D1FFC  90 1F 21 70 */	stw r0, 0x2170(r31)
/* 803D63A0 003D2000  48 00 00 10 */	b lbl_803D63B0
lbl_803D63A4:
/* 803D63A4 003D2004  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D63A8 003D2008  7C 00 1A 14 */	add r0, r0, r3
/* 803D63AC 003D200C  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D63B0:
/* 803D63B0 003D2010  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 803D63B4 003D2014  38 60 00 00 */	li r3, 0
/* 803D63B8 003D2018  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 803D63BC 003D201C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D63C0 003D2020  7C 08 03 A6 */	mtlr r0
/* 803D63C4 003D2024  38 21 00 30 */	addi r1, r1, 0x30
/* 803D63C8 003D2028  4E 80 00 20 */	blr 
/* 803D63CC 003D202C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D63D0 003D2030  7C 08 02 A6 */	mflr r0
/* 803D63D4 003D2034  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D63D8 003D2038  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D63DC 003D203C  7C 9F 23 78 */	mr r31, r4
/* 803D63E0 003D2040  93 C1 00 08 */	stw r30, 8(r1)
/* 803D63E4 003D2044  7C 7E 1B 78 */	mr r30, r3
/* 803D63E8 003D2048  7F E3 FB 78 */	mr r3, r31
/* 803D63EC 003D204C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D63F0 003D2050  38 05 00 01 */	addi r0, r5, 1
/* 803D63F4 003D2054  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D63F8 003D2058  48 00 0A 75 */	bl func_803D6E6C
/* 803D63FC 003D205C  7C 65 1B 78 */	mr r5, r3
/* 803D6400 003D2060  7F C3 F3 78 */	mr r3, r30
/* 803D6404 003D2064  7F E4 FB 78 */	mr r4, r31
/* 803D6408 003D2068  48 00 1C 35 */	bl func_803D803C
/* 803D640C 003D206C  1C 83 00 C0 */	mulli r4, r3, 0xc0
/* 803D6410 003D2070  54 60 08 3C */	slwi r0, r3, 1
/* 803D6414 003D2074  7C 65 1B 78 */	mr r5, r3
/* 803D6418 003D2078  7C DF 02 14 */	add r6, r31, r0
/* 803D641C 003D207C  7D 1F 22 14 */	add r8, r31, r4
/* 803D6420 003D2080  38 00 00 00 */	li r0, 0
/* 803D6424 003D2084  A0 E8 2D B8 */	lhz r7, 0x2db8(r8)
/* 803D6428 003D2088  7F C3 F3 78 */	mr r3, r30
/* 803D642C 003D208C  7F E4 FB 78 */	mr r4, r31
/* 803D6430 003D2090  B0 E6 31 24 */	sth r7, 0x3124(r6)
/* 803D6434 003D2094  B0 08 2D B8 */	sth r0, 0x2db8(r8)
/* 803D6438 003D2098  4B FE 6F 3D */	bl func_803BD374
/* 803D643C 003D209C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D6440 003D20A0  38 60 00 00 */	li r3, 0
/* 803D6444 003D20A4  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D6448 003D20A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D644C 003D20AC  7C 08 03 A6 */	mtlr r0
/* 803D6450 003D20B0  38 21 00 10 */	addi r1, r1, 0x10
/* 803D6454 003D20B4  4E 80 00 20 */	blr 
/* 803D6458 003D20B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D645C 003D20BC  7C 08 02 A6 */	mflr r0
/* 803D6460 003D20C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D6464 003D20C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D6468 003D20C8  7C 9F 23 78 */	mr r31, r4
/* 803D646C 003D20CC  7F E3 FB 78 */	mr r3, r31
/* 803D6470 003D20D0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6474 003D20D4  38 05 00 01 */	addi r0, r5, 1
/* 803D6478 003D20D8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D647C 003D20DC  48 00 09 F1 */	bl func_803D6E6C
/* 803D6480 003D20E0  80 1F 00 64 */	lwz r0, 0x64(r31)
/* 803D6484 003D20E4  54 00 08 3C */	slwi r0, r0, 1
/* 803D6488 003D20E8  7C 9F 02 14 */	add r4, r31, r0
/* 803D648C 003D20EC  A0 04 31 24 */	lhz r0, 0x3124(r4)
/* 803D6490 003D20F0  2C 00 00 00 */	cmpwi r0, 0
/* 803D6494 003D20F4  41 82 00 14 */	beq lbl_803D64A8
/* 803D6498 003D20F8  90 1F 01 28 */	stw r0, 0x128(r31)
/* 803D649C 003D20FC  38 00 00 00 */	li r0, 0
/* 803D64A0 003D2100  B0 04 31 24 */	sth r0, 0x3124(r4)
/* 803D64A4 003D2104  48 00 00 10 */	b lbl_803D64B4
lbl_803D64A8:
/* 803D64A8 003D2108  80 1F 00 B4 */	lwz r0, 0xb4(r31)
/* 803D64AC 003D210C  7C 00 1A 14 */	add r0, r0, r3
/* 803D64B0 003D2110  90 1F 00 B4 */	stw r0, 0xb4(r31)
lbl_803D64B4:
/* 803D64B4 003D2114  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D64B8 003D2118  38 60 00 00 */	li r3, 0
/* 803D64BC 003D211C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D64C0 003D2120  7C 08 03 A6 */	mtlr r0
/* 803D64C4 003D2124  38 21 00 10 */	addi r1, r1, 0x10
/* 803D64C8 003D2128  4E 80 00 20 */	blr 
/* 803D64CC 003D212C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D64D0 003D2130  7C 08 02 A6 */	mflr r0
/* 803D64D4 003D2134  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D64D8 003D2138  39 61 00 20 */	addi r11, r1, 0x20
/* 803D64DC 003D213C  4B DF 0C 55 */	bl _savegpr_29
/* 803D64E0 003D2140  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D64E4 003D2144  7C 9E 23 78 */	mr r30, r4
/* 803D64E8 003D2148  7C 7D 1B 78 */	mr r29, r3
/* 803D64EC 003D214C  38 05 00 01 */	addi r0, r5, 1
/* 803D64F0 003D2150  7F C3 F3 78 */	mr r3, r30
/* 803D64F4 003D2154  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D64F8 003D2158  48 00 09 75 */	bl func_803D6E6C
/* 803D64FC 003D215C  7C 7F 1B 78 */	mr r31, r3
/* 803D6500 003D2160  7F A3 EB 78 */	mr r3, r29
/* 803D6504 003D2164  7F C4 F3 78 */	mr r4, r30
/* 803D6508 003D2168  38 BE 01 38 */	addi r5, r30, 0x138
/* 803D650C 003D216C  4B FE D8 E9 */	bl func_803C3DF4
/* 803D6510 003D2170  2C 03 00 00 */	cmpwi r3, 0
/* 803D6514 003D2174  40 82 00 10 */	bne lbl_803D6524
/* 803D6518 003D2178  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D651C 003D217C  7C 00 FA 14 */	add r0, r0, r31
/* 803D6520 003D2180  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D6524:
/* 803D6524 003D2184  39 61 00 20 */	addi r11, r1, 0x20
/* 803D6528 003D2188  38 60 00 00 */	li r3, 0
/* 803D652C 003D218C  4B DF 0C 51 */	bl _restgpr_29
/* 803D6530 003D2190  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D6534 003D2194  7C 08 03 A6 */	mtlr r0
/* 803D6538 003D2198  38 21 00 20 */	addi r1, r1, 0x20
/* 803D653C 003D219C  4E 80 00 20 */	blr 
/* 803D6540 003D21A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6544 003D21A4  7C 08 02 A6 */	mflr r0
/* 803D6548 003D21A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D654C 003D21AC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6550 003D21B0  38 05 00 01 */	addi r0, r5, 1
/* 803D6554 003D21B4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6558 003D21B8  4B FD BD 05 */	bl func_803B225C
/* 803D655C 003D21BC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6560 003D21C0  38 60 00 00 */	li r3, 0
/* 803D6564 003D21C4  7C 08 03 A6 */	mtlr r0
/* 803D6568 003D21C8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D656C 003D21CC  4E 80 00 20 */	blr 
/* 803D6570 003D21D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6574 003D21D4  7C 08 02 A6 */	mflr r0
/* 803D6578 003D21D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D657C 003D21DC  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6580 003D21E0  38 05 00 01 */	addi r0, r5, 1
/* 803D6584 003D21E4  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6588 003D21E8  4B FD BD 0D */	bl func_803B2294
/* 803D658C 003D21EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6590 003D21F0  38 60 00 00 */	li r3, 0
/* 803D6594 003D21F4  7C 08 03 A6 */	mtlr r0
/* 803D6598 003D21F8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D659C 003D21FC  4E 80 00 20 */	blr 
/* 803D65A0 003D2200  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D65A4 003D2204  7C 08 02 A6 */	mflr r0
/* 803D65A8 003D2208  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D65AC 003D220C  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D65B0 003D2210  38 05 00 01 */	addi r0, r5, 1
/* 803D65B4 003D2214  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D65B8 003D2218  4B FD BD 7D */	bl func_803B2334
/* 803D65BC 003D221C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D65C0 003D2220  38 60 00 00 */	li r3, 0
/* 803D65C4 003D2224  7C 08 03 A6 */	mtlr r0
/* 803D65C8 003D2228  38 21 00 10 */	addi r1, r1, 0x10
/* 803D65CC 003D222C  4E 80 00 20 */	blr 
/* 803D65D0 003D2230  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D65D4 003D2234  7C 08 02 A6 */	mflr r0
/* 803D65D8 003D2238  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D65DC 003D223C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D65E0 003D2240  4B DF 0B 49 */	bl _savegpr_27
/* 803D65E4 003D2244  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D65E8 003D2248  7C 9F 23 78 */	mr r31, r4
/* 803D65EC 003D224C  7C 7C 1B 78 */	mr r28, r3
/* 803D65F0 003D2250  3B 60 00 00 */	li r27, 0
/* 803D65F4 003D2254  38 05 00 01 */	addi r0, r5, 1
/* 803D65F8 003D2258  7F E3 FB 78 */	mr r3, r31
/* 803D65FC 003D225C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6600 003D2260  48 00 08 6D */	bl func_803D6E6C
/* 803D6604 003D2264  7C 65 1B 78 */	mr r5, r3
/* 803D6608 003D2268  7F 83 E3 78 */	mr r3, r28
/* 803D660C 003D226C  7F E4 FB 78 */	mr r4, r31
/* 803D6610 003D2270  48 00 1A 2D */	bl func_803D803C
/* 803D6614 003D2274  7C 7C 1B 78 */	mr r28, r3
/* 803D6618 003D2278  7F E3 FB 78 */	mr r3, r31
/* 803D661C 003D227C  7F 84 E3 78 */	mr r4, r28
/* 803D6620 003D2280  4B FE DA 9D */	bl func_803C40BC
/* 803D6624 003D2284  7C 7D 1B 78 */	mr r29, r3
/* 803D6628 003D2288  7F E3 FB 78 */	mr r3, r31
/* 803D662C 003D228C  7F 84 E3 78 */	mr r4, r28
/* 803D6630 003D2290  38 A0 00 00 */	li r5, 0
/* 803D6634 003D2294  4B FE DA CD */	bl func_803C4100
/* 803D6638 003D2298  2C 1D 00 40 */	cmpwi r29, 0x40
/* 803D663C 003D229C  7C 7E 1B 78 */	mr r30, r3
/* 803D6640 003D22A0  40 82 00 28 */	bne lbl_803D6668
/* 803D6644 003D22A4  48 00 31 75 */	bl func_803D97B8
/* 803D6648 003D22A8  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 803D664C 003D22AC  38 60 00 64 */	li r3, 0x64
/* 803D6650 003D22B0  7C 04 1B D6 */	divw r0, r4, r3
/* 803D6654 003D22B4  7C 00 19 D6 */	mullw r0, r0, r3
/* 803D6658 003D22B8  7C 00 20 50 */	subf r0, r0, r4
/* 803D665C 003D22BC  7C 00 F0 00 */	cmpw r0, r30
/* 803D6660 003D22C0  40 80 00 08 */	bge lbl_803D6668
/* 803D6664 003D22C4  3B 60 00 01 */	li r27, 1
lbl_803D6668:
/* 803D6668 003D22C8  2C 1D 00 66 */	cmpwi r29, 0x66
/* 803D666C 003D22CC  40 82 00 20 */	bne lbl_803D668C
/* 803D6670 003D22D0  1C 1C 00 C0 */	mulli r0, r28, 0xc0
/* 803D6674 003D22D4  7C 9F 02 14 */	add r4, r31, r0
/* 803D6678 003D22D8  80 64 2D 8C */	lwz r3, 0x2d8c(r4)
/* 803D667C 003D22DC  80 04 2D 90 */	lwz r0, 0x2d90(r4)
/* 803D6680 003D22E0  7C 03 00 40 */	cmplw r3, r0
/* 803D6684 003D22E4  40 82 00 08 */	bne lbl_803D668C
/* 803D6688 003D22E8  3B 60 00 01 */	li r27, 1
lbl_803D668C:
/* 803D668C 003D22EC  2C 1B 00 00 */	cmpwi r27, 0
/* 803D6690 003D22F0  41 82 00 44 */	beq lbl_803D66D4
/* 803D6694 003D22F4  1C 7C 00 C0 */	mulli r3, r28, 0xc0
/* 803D6698 003D22F8  80 1F 21 5C */	lwz r0, 0x215c(r31)
/* 803D669C 003D22FC  7C 7F 1A 14 */	add r3, r31, r3
/* 803D66A0 003D2300  80 63 2D 8C */	lwz r3, 0x2d8c(r3)
/* 803D66A4 003D2304  7C 00 1A 15 */	add. r0, r0, r3
/* 803D66A8 003D2308  41 81 00 2C */	bgt lbl_803D66D4
/* 803D66AC 003D230C  80 1F 21 6C */	lwz r0, 0x216c(r31)
/* 803D66B0 003D2310  38 63 FF FF */	addi r3, r3, -1
/* 803D66B4 003D2314  7C A3 00 D0 */	neg r5, r3
/* 803D66B8 003D2318  60 04 01 00 */	ori r4, r0, 0x100
/* 803D66BC 003D231C  3C 60 80 49 */	lis r3, lbl_8048CE28@ha
/* 803D66C0 003D2320  90 BF 21 5C */	stw r5, 0x215c(r31)
/* 803D66C4 003D2324  38 63 CE 28 */	addi r3, r3, lbl_8048CE28@l
/* 803D66C8 003D2328  38 00 00 01 */	li r0, 1
/* 803D66CC 003D232C  90 9F 21 6C */	stw r4, 0x216c(r31)
/* 803D66D0 003D2330  90 03 00 1C */	stw r0, 0x1c(r3)
lbl_803D66D4:
/* 803D66D4 003D2334  39 61 00 20 */	addi r11, r1, 0x20
/* 803D66D8 003D2338  38 60 00 00 */	li r3, 0
/* 803D66DC 003D233C  4B DF 0A 99 */	bl _restgpr_27
/* 803D66E0 003D2340  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D66E4 003D2344  7C 08 03 A6 */	mtlr r0
/* 803D66E8 003D2348  38 21 00 20 */	addi r1, r1, 0x20
/* 803D66EC 003D234C  4E 80 00 20 */	blr 
/* 803D66F0 003D2350  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D66F4 003D2354  7C 08 02 A6 */	mflr r0
/* 803D66F8 003D2358  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D66FC 003D235C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D6700 003D2360  4B DF 0A 29 */	bl _savegpr_27
/* 803D6704 003D2364  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6708 003D2368  7C 9B 23 78 */	mr r27, r4
/* 803D670C 003D236C  7C 7C 1B 78 */	mr r28, r3
/* 803D6710 003D2370  38 05 00 01 */	addi r0, r5, 1
/* 803D6714 003D2374  7F 63 DB 78 */	mr r3, r27
/* 803D6718 003D2378  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D671C 003D237C  48 00 07 51 */	bl func_803D6E6C
/* 803D6720 003D2380  7C 7E 1B 78 */	mr r30, r3
/* 803D6724 003D2384  7F 63 DB 78 */	mr r3, r27
/* 803D6728 003D2388  48 00 07 45 */	bl func_803D6E6C
/* 803D672C 003D238C  7C 7F 1B 78 */	mr r31, r3
/* 803D6730 003D2390  7F 83 E3 78 */	mr r3, r28
/* 803D6734 003D2394  7F 64 DB 78 */	mr r4, r27
/* 803D6738 003D2398  7F C5 F3 78 */	mr r5, r30
/* 803D673C 003D239C  48 00 19 01 */	bl func_803D803C
/* 803D6740 003D23A0  1F C3 00 C0 */	mulli r30, r3, 0xc0
/* 803D6744 003D23A4  7C 64 1B 78 */	mr r4, r3
/* 803D6748 003D23A8  7C BB F2 14 */	add r5, r27, r30
/* 803D674C 003D23AC  80 05 2D 8C */	lwz r0, 0x2d8c(r5)
/* 803D6750 003D23B0  2C 00 00 00 */	cmpwi r0, 0
/* 803D6754 003D23B4  41 82 00 78 */	beq lbl_803D67CC
/* 803D6758 003D23B8  7C 7B 1A 14 */	add r3, r27, r3
/* 803D675C 003D23BC  88 A3 21 9C */	lbz r5, 0x219c(r3)
/* 803D6760 003D23C0  28 05 00 06 */	cmplwi r5, 6
/* 803D6764 003D23C4  41 82 00 68 */	beq lbl_803D67CC
/* 803D6768 003D23C8  7F 83 E3 78 */	mr r3, r28
/* 803D676C 003D23CC  4B FD 62 39 */	bl func_803AC9A4
/* 803D6770 003D23D0  7C 7D 1B 78 */	mr r29, r3
/* 803D6774 003D23D4  38 80 00 0A */	li r4, 0xa
/* 803D6778 003D23D8  38 A0 00 00 */	li r5, 0
/* 803D677C 003D23DC  48 00 72 61 */	bl func_803DD9DC
/* 803D6780 003D23E0  7C 7C 1B 78 */	mr r28, r3
/* 803D6784 003D23E4  7F A3 EB 78 */	mr r3, r29
/* 803D6788 003D23E8  38 80 00 9F */	li r4, 0x9f
/* 803D678C 003D23EC  38 A0 00 00 */	li r5, 0
/* 803D6790 003D23F0  48 00 72 4D */	bl func_803DD9DC
/* 803D6794 003D23F4  7C 9B F2 14 */	add r4, r27, r30
/* 803D6798 003D23F8  7C 65 1B 78 */	mr r5, r3
/* 803D679C 003D23FC  88 04 2D 67 */	lbz r0, 0x2d67(r4)
/* 803D67A0 003D2400  28 00 00 1E */	cmplwi r0, 0x1e
/* 803D67A4 003D2404  41 82 00 34 */	beq lbl_803D67D8
/* 803D67A8 003D2408  7F 63 DB 78 */	mr r3, r27
/* 803D67AC 003D240C  7F 84 E3 78 */	mr r4, r28
/* 803D67B0 003D2410  4B FE BE DD */	bl func_803C268C
/* 803D67B4 003D2414  2C 03 00 00 */	cmpwi r3, 0
/* 803D67B8 003D2418  40 82 00 20 */	bne lbl_803D67D8
/* 803D67BC 003D241C  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D67C0 003D2420  7C 00 FA 14 */	add r0, r0, r31
/* 803D67C4 003D2424  90 1B 00 B4 */	stw r0, 0xb4(r27)
/* 803D67C8 003D2428  48 00 00 10 */	b lbl_803D67D8
lbl_803D67CC:
/* 803D67CC 003D242C  80 1B 00 B4 */	lwz r0, 0xb4(r27)
/* 803D67D0 003D2430  7C 00 FA 14 */	add r0, r0, r31
/* 803D67D4 003D2434  90 1B 00 B4 */	stw r0, 0xb4(r27)
lbl_803D67D8:
/* 803D67D8 003D2438  39 61 00 20 */	addi r11, r1, 0x20
/* 803D67DC 003D243C  38 60 00 00 */	li r3, 0
/* 803D67E0 003D2440  4B DF 09 95 */	bl _restgpr_27
/* 803D67E4 003D2444  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D67E8 003D2448  7C 08 03 A6 */	mtlr r0
/* 803D67EC 003D244C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D67F0 003D2450  4E 80 00 20 */	blr 
/* 803D67F4 003D2454  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D67F8 003D2458  7C 08 02 A6 */	mflr r0
/* 803D67FC 003D245C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D6800 003D2460  39 61 00 20 */	addi r11, r1, 0x20
/* 803D6804 003D2464  4B DF 09 29 */	bl _savegpr_28
/* 803D6808 003D2468  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D680C 003D246C  7C 9D 23 78 */	mr r29, r4
/* 803D6810 003D2470  7C 7C 1B 78 */	mr r28, r3
/* 803D6814 003D2474  38 05 00 01 */	addi r0, r5, 1
/* 803D6818 003D2478  7F A3 EB 78 */	mr r3, r29
/* 803D681C 003D247C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6820 003D2480  48 00 06 4D */	bl func_803D6E6C
/* 803D6824 003D2484  7C 7E 1B 78 */	mr r30, r3
/* 803D6828 003D2488  7F A3 EB 78 */	mr r3, r29
/* 803D682C 003D248C  48 00 06 41 */	bl func_803D6E6C
/* 803D6830 003D2490  7C 7F 1B 78 */	mr r31, r3
/* 803D6834 003D2494  7F 83 E3 78 */	mr r3, r28
/* 803D6838 003D2498  7F A4 EB 78 */	mr r4, r29
/* 803D683C 003D249C  7F C5 F3 78 */	mr r5, r30
/* 803D6840 003D24A0  48 00 17 FD */	bl func_803D803C
/* 803D6844 003D24A4  1C 03 00 C0 */	mulli r0, r3, 0xc0
/* 803D6848 003D24A8  7C 9D 02 14 */	add r4, r29, r0
/* 803D684C 003D24AC  80 04 2D B0 */	lwz r0, 0x2db0(r4)
/* 803D6850 003D24B0  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 803D6854 003D24B4  40 82 00 18 */	bne lbl_803D686C
/* 803D6858 003D24B8  1C 03 00 1C */	mulli r0, r3, 0x1c
/* 803D685C 003D24BC  7C 7D 02 14 */	add r3, r29, r0
/* 803D6860 003D24C0  80 03 02 E8 */	lwz r0, 0x2e8(r3)
/* 803D6864 003D24C4  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803D6868 003D24C8  41 82 00 10 */	beq lbl_803D6878
lbl_803D686C:
/* 803D686C 003D24CC  80 1D 00 B4 */	lwz r0, 0xb4(r29)
/* 803D6870 003D24D0  7C 00 FA 14 */	add r0, r0, r31
/* 803D6874 003D24D4  90 1D 00 B4 */	stw r0, 0xb4(r29)
lbl_803D6878:
/* 803D6878 003D24D8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D687C 003D24DC  38 60 00 00 */	li r3, 0
/* 803D6880 003D24E0  4B DF 08 F9 */	bl _restgpr_28
/* 803D6884 003D24E4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D6888 003D24E8  7C 08 03 A6 */	mtlr r0
/* 803D688C 003D24EC  38 21 00 20 */	addi r1, r1, 0x20
/* 803D6890 003D24F0  4E 80 00 20 */	blr 
/* 803D6894 003D24F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D6898 003D24F8  7C 08 02 A6 */	mflr r0
/* 803D689C 003D24FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D68A0 003D2500  39 61 00 20 */	addi r11, r1, 0x20
/* 803D68A4 003D2504  4B DF 08 8D */	bl _savegpr_29
/* 803D68A8 003D2508  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D68AC 003D250C  7C 9E 23 78 */	mr r30, r4
/* 803D68B0 003D2510  7C 7D 1B 78 */	mr r29, r3
/* 803D68B4 003D2514  38 05 00 01 */	addi r0, r5, 1
/* 803D68B8 003D2518  7F C3 F3 78 */	mr r3, r30
/* 803D68BC 003D251C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D68C0 003D2520  48 00 05 AD */	bl func_803D6E6C
/* 803D68C4 003D2524  7C 7F 1B 78 */	mr r31, r3
/* 803D68C8 003D2528  7F A3 EB 78 */	mr r3, r29
/* 803D68CC 003D252C  7F C4 F3 78 */	mr r4, r30
/* 803D68D0 003D2530  38 A0 00 08 */	li r5, 8
/* 803D68D4 003D2534  38 C0 00 00 */	li r6, 0
/* 803D68D8 003D2538  38 E0 00 0D */	li r7, 0xd
/* 803D68DC 003D253C  4B FE 8A A5 */	bl func_803BF380
/* 803D68E0 003D2540  2C 03 00 00 */	cmpwi r3, 0
/* 803D68E4 003D2544  40 82 00 24 */	bne lbl_803D6908
/* 803D68E8 003D2548  7F A3 EB 78 */	mr r3, r29
/* 803D68EC 003D254C  7F C4 F3 78 */	mr r4, r30
/* 803D68F0 003D2550  38 A0 00 08 */	li r5, 8
/* 803D68F4 003D2554  38 C0 00 00 */	li r6, 0
/* 803D68F8 003D2558  38 E0 00 4C */	li r7, 0x4c
/* 803D68FC 003D255C  4B FE 8A 85 */	bl func_803BF380
/* 803D6900 003D2560  2C 03 00 00 */	cmpwi r3, 0
/* 803D6904 003D2564  41 82 00 10 */	beq lbl_803D6914
lbl_803D6908:
/* 803D6908 003D2568  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D690C 003D256C  7C 00 FA 14 */	add r0, r0, r31
/* 803D6910 003D2570  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D6914:
/* 803D6914 003D2574  39 61 00 20 */	addi r11, r1, 0x20
/* 803D6918 003D2578  38 60 00 00 */	li r3, 0
/* 803D691C 003D257C  4B DF 08 61 */	bl _restgpr_29
/* 803D6920 003D2580  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D6924 003D2584  7C 08 03 A6 */	mtlr r0
/* 803D6928 003D2588  38 21 00 20 */	addi r1, r1, 0x20
/* 803D692C 003D258C  4E 80 00 20 */	blr 
/* 803D6930 003D2590  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6934 003D2594  7C 08 02 A6 */	mflr r0
/* 803D6938 003D2598  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D693C 003D259C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D6940 003D25A0  7C 9F 23 78 */	mr r31, r4
/* 803D6944 003D25A4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D6948 003D25A8  7C 7E 1B 78 */	mr r30, r3
/* 803D694C 003D25AC  7F E3 FB 78 */	mr r3, r31
/* 803D6950 003D25B0  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6954 003D25B4  38 05 00 01 */	addi r0, r5, 1
/* 803D6958 003D25B8  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D695C 003D25BC  48 00 05 11 */	bl func_803D6E6C
/* 803D6960 003D25C0  7C 65 1B 78 */	mr r5, r3
/* 803D6964 003D25C4  7F C3 F3 78 */	mr r3, r30
/* 803D6968 003D25C8  7F E4 FB 78 */	mr r4, r31
/* 803D696C 003D25CC  48 00 16 D1 */	bl func_803D803C
/* 803D6970 003D25D0  7C 65 1B 78 */	mr r5, r3
/* 803D6974 003D25D4  7F C3 F3 78 */	mr r3, r30
/* 803D6978 003D25D8  7F E4 FB 78 */	mr r4, r31
/* 803D697C 003D25DC  4B FE B1 D1 */	bl func_803C1B4C
/* 803D6980 003D25E0  90 7F 00 6C */	stw r3, 0x6c(r31)
/* 803D6984 003D25E4  38 60 00 00 */	li r3, 0
/* 803D6988 003D25E8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D698C 003D25EC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D6990 003D25F0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6994 003D25F4  7C 08 03 A6 */	mtlr r0
/* 803D6998 003D25F8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D699C 003D25FC  4E 80 00 20 */	blr 
/* 803D69A0 003D2600  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D69A4 003D2604  7C 08 02 A6 */	mflr r0
/* 803D69A8 003D2608  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D69AC 003D260C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D69B0 003D2610  4B DF 07 81 */	bl _savegpr_29
/* 803D69B4 003D2614  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D69B8 003D2618  7C 9E 23 78 */	mr r30, r4
/* 803D69BC 003D261C  7C 7D 1B 78 */	mr r29, r3
/* 803D69C0 003D2620  38 05 00 01 */	addi r0, r5, 1
/* 803D69C4 003D2624  7F C3 F3 78 */	mr r3, r30
/* 803D69C8 003D2628  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D69CC 003D262C  48 00 04 A1 */	bl func_803D6E6C
/* 803D69D0 003D2630  7C 7F 1B 78 */	mr r31, r3
/* 803D69D4 003D2634  7F A3 EB 78 */	mr r3, r29
/* 803D69D8 003D2638  7F C4 F3 78 */	mr r4, r30
/* 803D69DC 003D263C  38 BE 01 38 */	addi r5, r30, 0x138
/* 803D69E0 003D2640  4B FF 1F 11 */	bl func_803C88F0
/* 803D69E4 003D2644  2C 03 00 00 */	cmpwi r3, 0
/* 803D69E8 003D2648  40 82 00 10 */	bne lbl_803D69F8
/* 803D69EC 003D264C  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D69F0 003D2650  7C 00 FA 14 */	add r0, r0, r31
/* 803D69F4 003D2654  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D69F8:
/* 803D69F8 003D2658  39 61 00 20 */	addi r11, r1, 0x20
/* 803D69FC 003D265C  38 60 00 00 */	li r3, 0
/* 803D6A00 003D2660  4B DF 07 7D */	bl _restgpr_29
/* 803D6A04 003D2664  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D6A08 003D2668  7C 08 03 A6 */	mtlr r0
/* 803D6A0C 003D266C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D6A10 003D2670  4E 80 00 20 */	blr 
/* 803D6A14 003D2674  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6A18 003D2678  7C 08 02 A6 */	mflr r0
/* 803D6A1C 003D267C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D6A20 003D2680  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D6A24 003D2684  7C 9F 23 78 */	mr r31, r4
/* 803D6A28 003D2688  93 C1 00 08 */	stw r30, 8(r1)
/* 803D6A2C 003D268C  7C 7E 1B 78 */	mr r30, r3
/* 803D6A30 003D2690  7F E3 FB 78 */	mr r3, r31
/* 803D6A34 003D2694  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6A38 003D2698  38 05 00 01 */	addi r0, r5, 1
/* 803D6A3C 003D269C  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6A40 003D26A0  48 00 04 2D */	bl func_803D6E6C
/* 803D6A44 003D26A4  7C 65 1B 78 */	mr r5, r3
/* 803D6A48 003D26A8  7F C3 F3 78 */	mr r3, r30
/* 803D6A4C 003D26AC  7F E4 FB 78 */	mr r4, r31
/* 803D6A50 003D26B0  48 00 15 ED */	bl func_803D803C
/* 803D6A54 003D26B4  7C 65 1B 78 */	mr r5, r3
/* 803D6A58 003D26B8  7F C3 F3 78 */	mr r3, r30
/* 803D6A5C 003D26BC  7F E4 FB 78 */	mr r4, r31
/* 803D6A60 003D26C0  4B FD B9 0D */	bl func_803B236C
/* 803D6A64 003D26C4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D6A68 003D26C8  38 60 00 00 */	li r3, 0
/* 803D6A6C 003D26CC  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D6A70 003D26D0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6A74 003D26D4  7C 08 03 A6 */	mtlr r0
/* 803D6A78 003D26D8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D6A7C 003D26DC  4E 80 00 20 */	blr 
/* 803D6A80 003D26E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6A84 003D26E4  7C 08 02 A6 */	mflr r0
/* 803D6A88 003D26E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D6A8C 003D26EC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D6A90 003D26F0  7C 9F 23 78 */	mr r31, r4
/* 803D6A94 003D26F4  93 C1 00 08 */	stw r30, 8(r1)
/* 803D6A98 003D26F8  7C 7E 1B 78 */	mr r30, r3
/* 803D6A9C 003D26FC  7F E3 FB 78 */	mr r3, r31
/* 803D6AA0 003D2700  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6AA4 003D2704  38 05 00 01 */	addi r0, r5, 1
/* 803D6AA8 003D2708  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6AAC 003D270C  48 00 03 C1 */	bl func_803D6E6C
/* 803D6AB0 003D2710  7C 65 1B 78 */	mr r5, r3
/* 803D6AB4 003D2714  7F C3 F3 78 */	mr r3, r30
/* 803D6AB8 003D2718  7F E4 FB 78 */	mr r4, r31
/* 803D6ABC 003D271C  48 00 15 81 */	bl func_803D803C
/* 803D6AC0 003D2720  7C 65 1B 78 */	mr r5, r3
/* 803D6AC4 003D2724  7F C3 F3 78 */	mr r3, r30
/* 803D6AC8 003D2728  7F E4 FB 78 */	mr r4, r31
/* 803D6ACC 003D272C  4B FD B9 75 */	bl func_803B2440
/* 803D6AD0 003D2730  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D6AD4 003D2734  38 60 00 00 */	li r3, 0
/* 803D6AD8 003D2738  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D6ADC 003D273C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6AE0 003D2740  7C 08 03 A6 */	mtlr r0
/* 803D6AE4 003D2744  38 21 00 10 */	addi r1, r1, 0x10
/* 803D6AE8 003D2748  4E 80 00 20 */	blr 
/* 803D6AEC 003D274C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D6AF0 003D2750  7C 08 02 A6 */	mflr r0
/* 803D6AF4 003D2754  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D6AF8 003D2758  39 61 00 20 */	addi r11, r1, 0x20
/* 803D6AFC 003D275C  4B DF 06 31 */	bl _savegpr_28
/* 803D6B00 003D2760  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6B04 003D2764  7C 9D 23 78 */	mr r29, r4
/* 803D6B08 003D2768  7C 7C 1B 78 */	mr r28, r3
/* 803D6B0C 003D276C  38 05 00 01 */	addi r0, r5, 1
/* 803D6B10 003D2770  7F A3 EB 78 */	mr r3, r29
/* 803D6B14 003D2774  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6B18 003D2778  48 00 03 55 */	bl func_803D6E6C
/* 803D6B1C 003D277C  7C 7F 1B 78 */	mr r31, r3
/* 803D6B20 003D2780  7F A3 EB 78 */	mr r3, r29
/* 803D6B24 003D2784  48 00 03 49 */	bl func_803D6E6C
/* 803D6B28 003D2788  7C 7E 1B 78 */	mr r30, r3
/* 803D6B2C 003D278C  7F 83 E3 78 */	mr r3, r28
/* 803D6B30 003D2790  7F A4 EB 78 */	mr r4, r29
/* 803D6B34 003D2794  7F E5 FB 78 */	mr r5, r31
/* 803D6B38 003D2798  48 00 15 05 */	bl func_803D803C
/* 803D6B3C 003D279C  7C 64 1B 78 */	mr r4, r3
/* 803D6B40 003D27A0  7F 83 E3 78 */	mr r3, r28
/* 803D6B44 003D27A4  7F C5 F3 78 */	mr r5, r30
/* 803D6B48 003D27A8  4B FD B9 61 */	bl func_803B24A8
/* 803D6B4C 003D27AC  39 61 00 20 */	addi r11, r1, 0x20
/* 803D6B50 003D27B0  38 60 00 00 */	li r3, 0
/* 803D6B54 003D27B4  4B DF 06 25 */	bl _restgpr_28
/* 803D6B58 003D27B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D6B5C 003D27BC  7C 08 03 A6 */	mtlr r0
/* 803D6B60 003D27C0  38 21 00 20 */	addi r1, r1, 0x20
/* 803D6B64 003D27C4  4E 80 00 20 */	blr 
/* 803D6B68 003D27C8  38 60 00 00 */	li r3, 0
/* 803D6B6C 003D27CC  4E 80 00 20 */	blr 
/* 803D6B70 003D27D0  7C 83 23 78 */	mr r3, r4
/* 803D6B74 003D27D4  4B FE 3E D8 */	b lbl_803BAA4C
/* 803D6B78 003D27D8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6B7C 003D27DC  7C 08 02 A6 */	mflr r0
/* 803D6B80 003D27E0  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D6B84 003D27E4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D6B88 003D27E8  7C 9F 23 78 */	mr r31, r4
/* 803D6B8C 003D27EC  93 C1 00 08 */	stw r30, 8(r1)
/* 803D6B90 003D27F0  7C 7E 1B 78 */	mr r30, r3
/* 803D6B94 003D27F4  7F E3 FB 78 */	mr r3, r31
/* 803D6B98 003D27F8  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6B9C 003D27FC  38 05 00 01 */	addi r0, r5, 1
/* 803D6BA0 003D2800  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6BA4 003D2804  48 00 02 C9 */	bl func_803D6E6C
/* 803D6BA8 003D2808  7C 65 1B 78 */	mr r5, r3
/* 803D6BAC 003D280C  7F C3 F3 78 */	mr r3, r30
/* 803D6BB0 003D2810  7F E4 FB 78 */	mr r4, r31
/* 803D6BB4 003D2814  48 00 14 89 */	bl func_803D803C
/* 803D6BB8 003D2818  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803D6BBC 003D281C  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803D6BC0 003D2820  90 64 00 0C */	stw r3, 0xc(r4)
/* 803D6BC4 003D2824  38 60 00 00 */	li r3, 0
/* 803D6BC8 003D2828  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D6BCC 003D282C  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D6BD0 003D2830  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6BD4 003D2834  7C 08 03 A6 */	mtlr r0
/* 803D6BD8 003D2838  38 21 00 10 */	addi r1, r1, 0x10
/* 803D6BDC 003D283C  4E 80 00 20 */	blr 
/* 803D6BE0 003D2840  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6BE4 003D2844  7C 08 02 A6 */	mflr r0
/* 803D6BE8 003D2848  7C 83 23 78 */	mr r3, r4
/* 803D6BEC 003D284C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D6BF0 003D2850  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6BF4 003D2854  38 05 00 01 */	addi r0, r5, 1
/* 803D6BF8 003D2858  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6BFC 003D285C  48 00 02 71 */	bl func_803D6E6C
/* 803D6C00 003D2860  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D6C04 003D2864  38 60 00 00 */	li r3, 0
/* 803D6C08 003D2868  7C 08 03 A6 */	mtlr r0
/* 803D6C0C 003D286C  38 21 00 10 */	addi r1, r1, 0x10
/* 803D6C10 003D2870  4E 80 00 20 */	blr 
/* 803D6C14 003D2874  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803D6C18 003D2878  7C 08 02 A6 */	mflr r0
/* 803D6C1C 003D287C  90 01 00 34 */	stw r0, 0x34(r1)
/* 803D6C20 003D2880  39 61 00 30 */	addi r11, r1, 0x30
/* 803D6C24 003D2884  4B DF 04 F1 */	bl _savegpr_22
/* 803D6C28 003D2888  80 A4 00 B4 */	lwz r5, 0xb4(r4)
/* 803D6C2C 003D288C  7C 9E 23 78 */	mr r30, r4
/* 803D6C30 003D2890  7C 7D 1B 78 */	mr r29, r3
/* 803D6C34 003D2894  3B E0 00 00 */	li r31, 0
/* 803D6C38 003D2898  38 05 00 01 */	addi r0, r5, 1
/* 803D6C3C 003D289C  7F C3 F3 78 */	mr r3, r30
/* 803D6C40 003D28A0  90 04 00 B4 */	stw r0, 0xb4(r4)
/* 803D6C44 003D28A4  48 00 02 29 */	bl func_803D6E6C
/* 803D6C48 003D28A8  7C 79 1B 78 */	mr r25, r3
/* 803D6C4C 003D28AC  7F C3 F3 78 */	mr r3, r30
/* 803D6C50 003D28B0  48 00 02 1D */	bl func_803D6E6C
/* 803D6C54 003D28B4  7C 77 1B 78 */	mr r23, r3
/* 803D6C58 003D28B8  7F C3 F3 78 */	mr r3, r30
/* 803D6C5C 003D28BC  48 00 02 11 */	bl func_803D6E6C
/* 803D6C60 003D28C0  2C 19 00 00 */	cmpwi r25, 0
/* 803D6C64 003D28C4  7C 7A 1B 78 */	mr r26, r3
/* 803D6C68 003D28C8  40 82 00 18 */	bne lbl_803D6C80
/* 803D6C6C 003D28CC  80 1D 23 E0 */	lwz r0, 0x23e0(r29)
/* 803D6C70 003D28D0  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803D6C74 003D28D4  40 82 00 20 */	bne lbl_803D6C94
/* 803D6C78 003D28D8  38 60 00 00 */	li r3, 0
/* 803D6C7C 003D28DC  48 00 01 D8 */	b lbl_803D6E54
lbl_803D6C80:
/* 803D6C80 003D28E0  80 1D 23 E0 */	lwz r0, 0x23e0(r29)
/* 803D6C84 003D28E4  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803D6C88 003D28E8  40 82 00 0C */	bne lbl_803D6C94
/* 803D6C8C 003D28EC  38 60 00 00 */	li r3, 0
/* 803D6C90 003D28F0  48 00 01 C4 */	b lbl_803D6E54
lbl_803D6C94:
/* 803D6C94 003D28F4  7F A3 EB 78 */	mr r3, r29
/* 803D6C98 003D28F8  7F C4 F3 78 */	mr r4, r30
/* 803D6C9C 003D28FC  7E E5 BB 78 */	mr r5, r23
/* 803D6CA0 003D2900  48 00 13 9D */	bl func_803D803C
/* 803D6CA4 003D2904  7C 76 1B 78 */	mr r22, r3
/* 803D6CA8 003D2908  7F A3 EB 78 */	mr r3, r29
/* 803D6CAC 003D290C  4B FD 5B 95 */	bl func_803AC840
/* 803D6CB0 003D2910  7C 7B 1B 78 */	mr r27, r3
/* 803D6CB4 003D2914  7F A3 EB 78 */	mr r3, r29
/* 803D6CB8 003D2918  7E C4 B3 78 */	mr r4, r22
/* 803D6CBC 003D291C  4B FD 5C 45 */	bl func_803AC900
/* 803D6CC0 003D2920  7C 7C 1B 78 */	mr r28, r3
/* 803D6CC4 003D2924  3A E0 00 00 */	li r23, 0
/* 803D6CC8 003D2928  48 00 00 98 */	b lbl_803D6D60
lbl_803D6CCC:
/* 803D6CCC 003D292C  7F A3 EB 78 */	mr r3, r29
/* 803D6CD0 003D2930  7E C4 B3 78 */	mr r4, r22
/* 803D6CD4 003D2934  7E E5 BB 78 */	mr r5, r23
/* 803D6CD8 003D2938  4B FD 5C CD */	bl func_803AC9A4
/* 803D6CDC 003D293C  7C 78 1B 78 */	mr r24, r3
/* 803D6CE0 003D2940  38 80 00 A2 */	li r4, 0xa2
/* 803D6CE4 003D2944  38 A0 00 00 */	li r5, 0
/* 803D6CE8 003D2948  48 00 6C F5 */	bl func_803DD9DC
/* 803D6CEC 003D294C  2C 03 00 00 */	cmpwi r3, 0
/* 803D6CF0 003D2950  41 82 00 6C */	beq lbl_803D6D5C
/* 803D6CF4 003D2954  7F 03 C3 78 */	mr r3, r24
/* 803D6CF8 003D2958  38 80 00 AD */	li r4, 0xad
/* 803D6CFC 003D295C  38 A0 00 00 */	li r5, 0
/* 803D6D00 003D2960  48 00 6C DD */	bl func_803DD9DC
/* 803D6D04 003D2964  2C 03 00 00 */	cmpwi r3, 0
/* 803D6D08 003D2968  41 82 00 54 */	beq lbl_803D6D5C
/* 803D6D0C 003D296C  7F 03 C3 78 */	mr r3, r24
/* 803D6D10 003D2970  38 80 00 AD */	li r4, 0xad
/* 803D6D14 003D2974  38 A0 00 00 */	li r5, 0
/* 803D6D18 003D2978  48 00 6C C5 */	bl func_803DD9DC
/* 803D6D1C 003D297C  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D6D20 003D2980  41 82 00 3C */	beq lbl_803D6D5C
/* 803D6D24 003D2984  7F 03 C3 78 */	mr r3, r24
/* 803D6D28 003D2988  38 80 00 9F */	li r4, 0x9f
/* 803D6D2C 003D298C  38 A0 00 00 */	li r5, 0
/* 803D6D30 003D2990  48 00 6C AD */	bl func_803DD9DC
/* 803D6D34 003D2994  2C 19 00 00 */	cmpwi r25, 0
/* 803D6D38 003D2998  41 82 00 14 */	beq lbl_803D6D4C
/* 803D6D3C 003D299C  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803D6D40 003D29A0  41 82 00 1C */	beq lbl_803D6D5C
/* 803D6D44 003D29A4  3B E0 00 01 */	li r31, 1
/* 803D6D48 003D29A8  48 00 00 20 */	b lbl_803D6D68
lbl_803D6D4C:
/* 803D6D4C 003D29AC  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803D6D50 003D29B0  41 82 00 0C */	beq lbl_803D6D5C
/* 803D6D54 003D29B4  3B E0 00 01 */	li r31, 1
/* 803D6D58 003D29B8  48 00 00 10 */	b lbl_803D6D68
lbl_803D6D5C:
/* 803D6D5C 003D29BC  3A F7 00 01 */	addi r23, r23, 1
lbl_803D6D60:
/* 803D6D60 003D29C0  7C 17 E0 00 */	cmpw r23, r28
/* 803D6D64 003D29C4  41 80 FF 68 */	blt lbl_803D6CCC
lbl_803D6D68:
/* 803D6D68 003D29C8  2C 1F 00 00 */	cmpwi r31, 0
/* 803D6D6C 003D29CC  40 82 00 D0 */	bne lbl_803D6E3C
/* 803D6D70 003D29D0  57 60 07 39 */	rlwinm. r0, r27, 0, 0x1c, 0x1c
/* 803D6D74 003D29D4  41 82 00 C8 */	beq lbl_803D6E3C
/* 803D6D78 003D29D8  7F A3 EB 78 */	mr r3, r29
/* 803D6D7C 003D29DC  7E C4 B3 78 */	mr r4, r22
/* 803D6D80 003D29E0  4B FD 5F B9 */	bl func_803ACD38
/* 803D6D84 003D29E4  7C 76 1B 78 */	mr r22, r3
/* 803D6D88 003D29E8  7F A3 EB 78 */	mr r3, r29
/* 803D6D8C 003D29EC  7E C4 B3 78 */	mr r4, r22
/* 803D6D90 003D29F0  4B FD 5B 71 */	bl func_803AC900
/* 803D6D94 003D29F4  7C 7C 1B 78 */	mr r28, r3
/* 803D6D98 003D29F8  3B 60 00 00 */	li r27, 0
/* 803D6D9C 003D29FC  48 00 00 98 */	b lbl_803D6E34
lbl_803D6DA0:
/* 803D6DA0 003D2A00  7F A3 EB 78 */	mr r3, r29
/* 803D6DA4 003D2A04  7E C4 B3 78 */	mr r4, r22
/* 803D6DA8 003D2A08  7F 65 DB 78 */	mr r5, r27
/* 803D6DAC 003D2A0C  4B FD 5B F9 */	bl func_803AC9A4
/* 803D6DB0 003D2A10  7C 78 1B 78 */	mr r24, r3
/* 803D6DB4 003D2A14  38 80 00 A2 */	li r4, 0xa2
/* 803D6DB8 003D2A18  38 A0 00 00 */	li r5, 0
/* 803D6DBC 003D2A1C  48 00 6C 21 */	bl func_803DD9DC
/* 803D6DC0 003D2A20  2C 03 00 00 */	cmpwi r3, 0
/* 803D6DC4 003D2A24  41 82 00 6C */	beq lbl_803D6E30
/* 803D6DC8 003D2A28  7F 03 C3 78 */	mr r3, r24
/* 803D6DCC 003D2A2C  38 80 00 AD */	li r4, 0xad
/* 803D6DD0 003D2A30  38 A0 00 00 */	li r5, 0
/* 803D6DD4 003D2A34  48 00 6C 09 */	bl func_803DD9DC
/* 803D6DD8 003D2A38  2C 03 00 00 */	cmpwi r3, 0
/* 803D6DDC 003D2A3C  41 82 00 54 */	beq lbl_803D6E30
/* 803D6DE0 003D2A40  7F 03 C3 78 */	mr r3, r24
/* 803D6DE4 003D2A44  38 80 00 AD */	li r4, 0xad
/* 803D6DE8 003D2A48  38 A0 00 00 */	li r5, 0
/* 803D6DEC 003D2A4C  48 00 6B F1 */	bl func_803DD9DC
/* 803D6DF0 003D2A50  28 03 01 EE */	cmplwi r3, 0x1ee
/* 803D6DF4 003D2A54  41 82 00 3C */	beq lbl_803D6E30
/* 803D6DF8 003D2A58  7F 03 C3 78 */	mr r3, r24
/* 803D6DFC 003D2A5C  38 80 00 9F */	li r4, 0x9f
/* 803D6E00 003D2A60  38 A0 00 00 */	li r5, 0
/* 803D6E04 003D2A64  48 00 6B D9 */	bl func_803DD9DC
/* 803D6E08 003D2A68  2C 19 00 00 */	cmpwi r25, 0
/* 803D6E0C 003D2A6C  41 82 00 14 */	beq lbl_803D6E20
/* 803D6E10 003D2A70  54 60 06 B5 */	rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 803D6E14 003D2A74  41 82 00 1C */	beq lbl_803D6E30
/* 803D6E18 003D2A78  3B FF 00 01 */	addi r31, r31, 1
/* 803D6E1C 003D2A7C  48 00 00 20 */	b lbl_803D6E3C
lbl_803D6E20:
/* 803D6E20 003D2A80  54 60 07 7F */	clrlwi. r0, r3, 0x1d
/* 803D6E24 003D2A84  41 82 00 0C */	beq lbl_803D6E30
/* 803D6E28 003D2A88  3B FF 00 01 */	addi r31, r31, 1
/* 803D6E2C 003D2A8C  48 00 00 10 */	b lbl_803D6E3C
lbl_803D6E30:
/* 803D6E30 003D2A90  3B 7B 00 01 */	addi r27, r27, 1
lbl_803D6E34:
/* 803D6E34 003D2A94  7C 1B E0 00 */	cmpw r27, r28
/* 803D6E38 003D2A98  41 80 FF 68 */	blt lbl_803D6DA0
lbl_803D6E3C:
/* 803D6E3C 003D2A9C  2C 1F 00 00 */	cmpwi r31, 0
/* 803D6E40 003D2AA0  41 82 00 10 */	beq lbl_803D6E50
/* 803D6E44 003D2AA4  80 1E 00 B4 */	lwz r0, 0xb4(r30)
/* 803D6E48 003D2AA8  7C 00 D2 14 */	add r0, r0, r26
/* 803D6E4C 003D2AAC  90 1E 00 B4 */	stw r0, 0xb4(r30)
lbl_803D6E50:
/* 803D6E50 003D2AB0  38 60 00 00 */	li r3, 0
lbl_803D6E54:
/* 803D6E54 003D2AB4  39 61 00 30 */	addi r11, r1, 0x30
/* 803D6E58 003D2AB8  4B DF 03 09 */	bl _restgpr_22
/* 803D6E5C 003D2ABC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 803D6E60 003D2AC0  7C 08 03 A6 */	mtlr r0
/* 803D6E64 003D2AC4  38 21 00 30 */	addi r1, r1, 0x30
/* 803D6E68 003D2AC8  4E 80 00 20 */	blr 

.global func_803D6E6C
func_803D6E6C:
/* 803D6E6C 003D2ACC  80 A3 00 B4 */	lwz r5, 0xb4(r3)
/* 803D6E70 003D2AD0  7C 66 1B 78 */	mr r6, r3
/* 803D6E74 003D2AD4  54 A4 10 3A */	slwi r4, r5, 2
/* 803D6E78 003D2AD8  38 05 00 01 */	addi r0, r5, 1
/* 803D6E7C 003D2ADC  7C 63 22 14 */	add r3, r3, r4
/* 803D6E80 003D2AE0  80 63 27 00 */	lwz r3, 0x2700(r3)
/* 803D6E84 003D2AE4  90 06 00 B4 */	stw r0, 0xb4(r6)
/* 803D6E88 003D2AE8  4E 80 00 20 */	blr 

.global func_803D6E8C
func_803D6E8C:
/* 803D6E8C 003D2AEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D6E90 003D2AF0  7C 08 02 A6 */	mflr r0
/* 803D6E94 003D2AF4  28 05 00 44 */	cmplwi r5, 0x44
/* 803D6E98 003D2AF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D6E9C 003D2AFC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D6EA0 003D2B00  7C 9F 23 78 */	mr r31, r4
/* 803D6EA4 003D2B04  41 81 03 10 */	bgt lbl_803D71B4
/* 803D6EA8 003D2B08  3C C0 80 47 */	lis r6, lbl_80474114@ha
/* 803D6EAC 003D2B0C  54 A0 10 3A */	slwi r0, r5, 2
/* 803D6EB0 003D2B10  38 C6 41 14 */	addi r6, r6, lbl_80474114@l
/* 803D6EB4 003D2B14  7C C6 00 2E */	lwzx r6, r6, r0
/* 803D6EB8 003D2B18  7C C9 03 A6 */	mtctr r6
/* 803D6EBC 003D2B1C  4E 80 04 20 */	bctr 
/* 803D6EC0 003D2B20  38 63 00 2C */	addi r3, r3, 0x2c
/* 803D6EC4 003D2B24  48 00 02 F4 */	b lbl_803D71B8
/* 803D6EC8 003D2B28  38 64 21 4C */	addi r3, r4, 0x214c
/* 803D6ECC 003D2B2C  48 00 02 EC */	b lbl_803D71B8
/* 803D6ED0 003D2B30  38 64 21 70 */	addi r3, r4, 0x2170
/* 803D6ED4 003D2B34  48 00 02 E4 */	b lbl_803D71B8
/* 803D6ED8 003D2B38  38 64 21 74 */	addi r3, r4, 0x2174
/* 803D6EDC 003D2B3C  48 00 02 DC */	b lbl_803D71B8
/* 803D6EE0 003D2B40  38 64 21 78 */	addi r3, r4, 0x2178
/* 803D6EE4 003D2B44  48 00 02 D4 */	b lbl_803D71B8
/* 803D6EE8 003D2B48  38 64 00 88 */	addi r3, r4, 0x88
/* 803D6EEC 003D2B4C  48 00 02 CC */	b lbl_803D71B8
/* 803D6EF0 003D2B50  38 64 21 3C */	addi r3, r4, 0x213c
/* 803D6EF4 003D2B54  48 00 02 C4 */	b lbl_803D71B8
/* 803D6EF8 003D2B58  38 64 01 80 */	addi r3, r4, 0x180
/* 803D6EFC 003D2B5C  48 00 02 BC */	b lbl_803D71B8
/* 803D6F00 003D2B60  38 64 21 58 */	addi r3, r4, 0x2158
/* 803D6F04 003D2B64  48 00 02 B4 */	b lbl_803D71B8
/* 803D6F08 003D2B68  38 64 01 34 */	addi r3, r4, 0x134
/* 803D6F0C 003D2B6C  48 00 02 AC */	b lbl_803D71B8
/* 803D6F10 003D2B70  38 64 21 6C */	addi r3, r4, 0x216c
/* 803D6F14 003D2B74  48 00 02 A4 */	b lbl_803D71B8
/* 803D6F18 003D2B78  80 84 00 64 */	lwz r4, 0x64(r4)
/* 803D6F1C 003D2B7C  4B FD 5D C9 */	bl func_803ACCE4
/* 803D6F20 003D2B80  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803D6F24 003D2B84  7C 7F 02 14 */	add r3, r31, r0
/* 803D6F28 003D2B88  38 63 01 BC */	addi r3, r3, 0x1bc
/* 803D6F2C 003D2B8C  48 00 02 8C */	b lbl_803D71B8
/* 803D6F30 003D2B90  80 84 00 6C */	lwz r4, 0x6c(r4)
/* 803D6F34 003D2B94  4B FD 5D B1 */	bl func_803ACCE4
/* 803D6F38 003D2B98  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803D6F3C 003D2B9C  7C 7F 02 14 */	add r3, r31, r0
/* 803D6F40 003D2BA0  38 63 01 BC */	addi r3, r3, 0x1bc
/* 803D6F44 003D2BA4  48 00 02 74 */	b lbl_803D71B8
/* 803D6F48 003D2BA8  80 84 00 94 */	lwz r4, 0x94(r4)
/* 803D6F4C 003D2BAC  4B FD 5D 99 */	bl func_803ACCE4
/* 803D6F50 003D2BB0  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 803D6F54 003D2BB4  7C 7F 02 14 */	add r3, r31, r0
/* 803D6F58 003D2BB8  38 63 01 BC */	addi r3, r3, 0x1bc
/* 803D6F5C 003D2BBC  48 00 02 5C */	b lbl_803D71B8
/* 803D6F60 003D2BC0  38 64 21 44 */	addi r3, r4, 0x2144
/* 803D6F64 003D2BC4  48 00 02 54 */	b lbl_803D71B8
/* 803D6F68 003D2BC8  38 64 00 64 */	addi r3, r4, 0x64
/* 803D6F6C 003D2BCC  48 00 02 4C */	b lbl_803D71B8
/* 803D6F70 003D2BD0  38 64 00 6C */	addi r3, r4, 0x6c
/* 803D6F74 003D2BD4  48 00 02 44 */	b lbl_803D71B8
/* 803D6F78 003D2BD8  38 64 00 94 */	addi r3, r4, 0x94
/* 803D6F7C 003D2BDC  48 00 02 3C */	b lbl_803D71B8
/* 803D6F80 003D2BE0  38 64 00 74 */	addi r3, r4, 0x74
/* 803D6F84 003D2BE4  48 00 02 34 */	b lbl_803D71B8
/* 803D6F88 003D2BE8  38 64 00 78 */	addi r3, r4, 0x78
/* 803D6F8C 003D2BEC  48 00 02 2C */	b lbl_803D71B8
/* 803D6F90 003D2BF0  38 64 01 18 */	addi r3, r4, 0x118
/* 803D6F94 003D2BF4  48 00 02 24 */	b lbl_803D71B8
/* 803D6F98 003D2BF8  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D6F9C 003D2BFC  54 00 10 3A */	slwi r0, r0, 2
/* 803D6FA0 003D2C00  7C 64 02 14 */	add r3, r4, r0
/* 803D6FA4 003D2C04  38 63 30 E4 */	addi r3, r3, 0x30e4
/* 803D6FA8 003D2C08  48 00 02 10 */	b lbl_803D71B8
/* 803D6FAC 003D2C0C  38 64 01 30 */	addi r3, r4, 0x130
/* 803D6FB0 003D2C10  48 00 02 08 */	b lbl_803D71B8
/* 803D6FB4 003D2C14  38 64 01 4C */	addi r3, r4, 0x14c
/* 803D6FB8 003D2C18  48 00 02 00 */	b lbl_803D71B8
/* 803D6FBC 003D2C1C  38 64 30 44 */	addi r3, r4, 0x3044
/* 803D6FC0 003D2C20  48 00 01 F8 */	b lbl_803D71B8
/* 803D6FC4 003D2C24  38 64 01 50 */	addi r3, r4, 0x150
/* 803D6FC8 003D2C28  48 00 01 F0 */	b lbl_803D71B8
/* 803D6FCC 003D2C2C  38 64 01 1C */	addi r3, r4, 0x11c
/* 803D6FD0 003D2C30  48 00 01 E8 */	b lbl_803D71B8
/* 803D6FD4 003D2C34  38 64 01 20 */	addi r3, r4, 0x120
/* 803D6FD8 003D2C38  48 00 01 E0 */	b lbl_803D71B8
/* 803D6FDC 003D2C3C  38 64 30 40 */	addi r3, r4, 0x3040
/* 803D6FE0 003D2C40  48 00 01 D8 */	b lbl_803D71B8
/* 803D6FE4 003D2C44  38 64 00 98 */	addi r3, r4, 0x98
/* 803D6FE8 003D2C48  48 00 01 D0 */	b lbl_803D71B8
/* 803D6FEC 003D2C4C  38 64 21 54 */	addi r3, r4, 0x2154
/* 803D6FF0 003D2C50  48 00 01 C8 */	b lbl_803D71B8
/* 803D6FF4 003D2C54  38 64 00 38 */	addi r3, r4, 0x38
/* 803D6FF8 003D2C58  48 00 01 C0 */	b lbl_803D71B8
/* 803D6FFC 003D2C5C  38 64 21 5C */	addi r3, r4, 0x215c
/* 803D7000 003D2C60  48 00 01 B8 */	b lbl_803D71B8
/* 803D7004 003D2C64  38 63 23 E4 */	addi r3, r3, 0x23e4
/* 803D7008 003D2C68  48 00 01 B0 */	b lbl_803D71B8
/* 803D700C 003D2C6C  38 64 00 8C */	addi r3, r4, 0x8c
/* 803D7010 003D2C70  48 00 01 A8 */	b lbl_803D71B8
/* 803D7014 003D2C74  38 64 01 24 */	addi r3, r4, 0x124
/* 803D7018 003D2C78  48 00 01 A0 */	b lbl_803D71B8
/* 803D701C 003D2C7C  38 64 01 28 */	addi r3, r4, 0x128
/* 803D7020 003D2C80  48 00 01 98 */	b lbl_803D71B8
/* 803D7024 003D2C84  38 64 01 2C */	addi r3, r4, 0x12c
/* 803D7028 003D2C88  48 00 01 90 */	b lbl_803D71B8
/* 803D702C 003D2C8C  38 64 01 84 */	addi r3, r4, 0x184
/* 803D7030 003D2C90  48 00 01 88 */	b lbl_803D71B8
/* 803D7034 003D2C94  38 64 31 04 */	addi r3, r4, 0x3104
/* 803D7038 003D2C98  48 00 01 80 */	b lbl_803D71B8
/* 803D703C 003D2C9C  38 64 21 80 */	addi r3, r4, 0x2180
/* 803D7040 003D2CA0  48 00 01 78 */	b lbl_803D71B8
/* 803D7044 003D2CA4  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D7048 003D2CA8  54 00 30 32 */	slwi r0, r0, 6
/* 803D704C 003D2CAC  7C 64 02 14 */	add r3, r4, r0
/* 803D7050 003D2CB0  38 63 01 EC */	addi r3, r3, 0x1ec
/* 803D7054 003D2CB4  48 00 01 64 */	b lbl_803D71B8
/* 803D7058 003D2CB8  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D705C 003D2CBC  54 00 30 32 */	slwi r0, r0, 6
/* 803D7060 003D2CC0  7C 64 02 14 */	add r3, r4, r0
/* 803D7064 003D2CC4  38 63 02 04 */	addi r3, r3, 0x204
/* 803D7068 003D2CC8  48 00 01 50 */	b lbl_803D71B8
/* 803D706C 003D2CCC  38 64 01 38 */	addi r3, r4, 0x138
/* 803D7070 003D2CD0  48 00 01 48 */	b lbl_803D71B8
/* 803D7074 003D2CD4  38 64 21 50 */	addi r3, r4, 0x2150
/* 803D7078 003D2CD8  48 00 01 40 */	b lbl_803D71B8
/* 803D707C 003D2CDC  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D7080 003D2CE0  54 00 30 32 */	slwi r0, r0, 6
/* 803D7084 003D2CE4  7C 64 02 14 */	add r3, r4, r0
/* 803D7088 003D2CE8  38 63 02 08 */	addi r3, r3, 0x208
/* 803D708C 003D2CEC  48 00 01 2C */	b lbl_803D71B8
/* 803D7090 003D2CF0  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D7094 003D2CF4  54 00 30 32 */	slwi r0, r0, 6
/* 803D7098 003D2CF8  7C 64 02 14 */	add r3, r4, r0
/* 803D709C 003D2CFC  38 63 02 08 */	addi r3, r3, 0x208
/* 803D70A0 003D2D00  48 00 01 18 */	b lbl_803D71B8
/* 803D70A4 003D2D04  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D70A8 003D2D08  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D70AC 003D2D0C  7C 64 02 14 */	add r3, r4, r0
/* 803D70B0 003D2D10  38 63 02 E8 */	addi r3, r3, 0x2e8
/* 803D70B4 003D2D14  48 00 01 04 */	b lbl_803D71B8
/* 803D70B8 003D2D18  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D70BC 003D2D1C  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D70C0 003D2D20  7C 64 02 14 */	add r3, r4, r0
/* 803D70C4 003D2D24  38 63 02 E8 */	addi r3, r3, 0x2e8
/* 803D70C8 003D2D28  48 00 00 F0 */	b lbl_803D71B8
/* 803D70CC 003D2D2C  80 04 00 94 */	lwz r0, 0x94(r4)
/* 803D70D0 003D2D30  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D70D4 003D2D34  7C 64 02 14 */	add r3, r4, r0
/* 803D70D8 003D2D38  38 63 02 E8 */	addi r3, r3, 0x2e8
/* 803D70DC 003D2D3C  48 00 00 DC */	b lbl_803D71B8
/* 803D70E0 003D2D40  38 64 31 14 */	addi r3, r4, 0x3114
/* 803D70E4 003D2D44  48 00 00 D4 */	b lbl_803D71B8
/* 803D70E8 003D2D48  38 64 31 18 */	addi r3, r4, 0x3118
/* 803D70EC 003D2D4C  48 00 00 CC */	b lbl_803D71B8
/* 803D70F0 003D2D50  38 63 23 D0 */	addi r3, r3, 0x23d0
/* 803D70F4 003D2D54  48 00 00 C4 */	b lbl_803D71B8
/* 803D70F8 003D2D58  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D70FC 003D2D5C  54 00 10 3A */	slwi r0, r0, 2
/* 803D7100 003D2D60  7C 64 02 14 */	add r3, r4, r0
/* 803D7104 003D2D64  38 63 30 4C */	addi r3, r3, 0x304c
/* 803D7108 003D2D68  48 00 00 B0 */	b lbl_803D71B8
/* 803D710C 003D2D6C  38 64 21 48 */	addi r3, r4, 0x2148
/* 803D7110 003D2D70  48 00 00 A8 */	b lbl_803D71B8
/* 803D7114 003D2D74  38 63 23 D8 */	addi r3, r3, 0x23d8
/* 803D7118 003D2D78  48 00 00 A0 */	b lbl_803D71B8
/* 803D711C 003D2D7C  38 64 00 7C */	addi r3, r4, 0x7c
/* 803D7120 003D2D80  48 00 00 98 */	b lbl_803D71B8
/* 803D7124 003D2D84  38 64 21 60 */	addi r3, r4, 0x2160
/* 803D7128 003D2D88  48 00 00 90 */	b lbl_803D71B8
/* 803D712C 003D2D8C  38 64 21 64 */	addi r3, r4, 0x2164
/* 803D7130 003D2D90  48 00 00 88 */	b lbl_803D71B8
/* 803D7134 003D2D94  38 63 23 E0 */	addi r3, r3, 0x23e0
/* 803D7138 003D2D98  48 00 00 80 */	b lbl_803D71B8
/* 803D713C 003D2D9C  38 64 21 40 */	addi r3, r4, 0x2140
/* 803D7140 003D2DA0  48 00 00 78 */	b lbl_803D71B8
/* 803D7144 003D2DA4  38 64 00 EC */	addi r3, r4, 0xec
/* 803D7148 003D2DA8  48 00 00 70 */	b lbl_803D71B8
/* 803D714C 003D2DAC  38 63 00 44 */	addi r3, r3, 0x44
/* 803D7150 003D2DB0  48 00 00 68 */	b lbl_803D71B8
/* 803D7154 003D2DB4  38 64 00 68 */	addi r3, r4, 0x68
/* 803D7158 003D2DB8  48 00 00 60 */	b lbl_803D71B8
/* 803D715C 003D2DBC  38 64 00 70 */	addi r3, r4, 0x70
/* 803D7160 003D2DC0  48 00 00 58 */	b lbl_803D71B8
/* 803D7164 003D2DC4  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D7168 003D2DC8  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D716C 003D2DCC  7C 64 02 14 */	add r3, r4, r0
/* 803D7170 003D2DD0  38 63 02 D8 */	addi r3, r3, 0x2d8
/* 803D7174 003D2DD4  48 00 00 44 */	b lbl_803D71B8
/* 803D7178 003D2DD8  80 04 01 18 */	lwz r0, 0x118(r4)
/* 803D717C 003D2DDC  54 00 30 32 */	slwi r0, r0, 6
/* 803D7180 003D2DE0  7C 64 02 14 */	add r3, r4, r0
/* 803D7184 003D2DE4  38 63 02 10 */	addi r3, r3, 0x210
/* 803D7188 003D2DE8  48 00 00 30 */	b lbl_803D71B8
/* 803D718C 003D2DEC  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 803D7190 003D2DF0  54 00 30 32 */	slwi r0, r0, 6
/* 803D7194 003D2DF4  7C 64 02 14 */	add r3, r4, r0
/* 803D7198 003D2DF8  38 63 02 10 */	addi r3, r3, 0x210
/* 803D719C 003D2DFC  48 00 00 1C */	b lbl_803D71B8
/* 803D71A0 003D2E00  80 04 00 64 */	lwz r0, 0x64(r4)
/* 803D71A4 003D2E04  1C 00 00 1C */	mulli r0, r0, 0x1c
/* 803D71A8 003D2E08  7C 64 02 14 */	add r3, r4, r0
/* 803D71AC 003D2E0C  38 63 02 EC */	addi r3, r3, 0x2ec
/* 803D71B0 003D2E10  48 00 00 08 */	b lbl_803D71B8
lbl_803D71B4:
/* 803D71B4 003D2E14  38 60 00 00 */	li r3, 0
lbl_803D71B8:
/* 803D71B8 003D2E18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D71BC 003D2E1C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D71C0 003D2E20  7C 08 03 A6 */	mtlr r0
/* 803D71C4 003D2E24  38 21 00 10 */	addi r1, r1, 0x10
/* 803D71C8 003D2E28  4E 80 00 20 */	blr 
lbl_803D71CC:
/* 803D71CC 003D2E2C  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 803D71D0 003D2E30  7C 08 02 A6 */	mflr r0
/* 803D71D4 003D2E34  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 803D71D8 003D2E38  39 61 00 A0 */	addi r11, r1, 0xa0
/* 803D71DC 003D2E3C  4B DE FF 29 */	bl _savegpr_18
/* 803D71E0 003D2E40  7C 73 1B 78 */	mr r19, r3
/* 803D71E4 003D2E44  80 64 00 00 */	lwz r3, 0(r4)
/* 803D71E8 003D2E48  7C 9D 23 78 */	mr r29, r4
/* 803D71EC 003D2E4C  4B FD 58 75 */	bl func_803ACA60
/* 803D71F0 003D2E50  7C 7E 1B 78 */	mr r30, r3
/* 803D71F4 003D2E54  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D71F8 003D2E58  4B FD 56 49 */	bl func_803AC840
/* 803D71FC 003D2E5C  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7200 003D2E60  7C 7B 1B 78 */	mr r27, r3
/* 803D7204 003D2E64  82 9D 00 40 */	lwz r20, 0x40(r29)
/* 803D7208 003D2E68  3B E0 00 00 */	li r31, 0
/* 803D720C 003D2E6C  80 04 00 74 */	lwz r0, 0x74(r4)
/* 803D7210 003D2E70  54 16 0F 7A */	rlwinm r22, r0, 1, 0x1d, 0x1d
/* 803D7214 003D2E74  48 00 00 5C */	b lbl_803D7270
lbl_803D7218:
/* 803D7218 003D2E78  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D721C 003D2E7C  7E 85 A3 78 */	mr r5, r20
/* 803D7220 003D2E80  38 80 00 00 */	li r4, 0
/* 803D7224 003D2E84  4B FD 57 81 */	bl func_803AC9A4
/* 803D7228 003D2E88  7C 75 1B 78 */	mr r21, r3
/* 803D722C 003D2E8C  38 80 00 06 */	li r4, 6
/* 803D7230 003D2E90  38 A0 00 00 */	li r5, 0
/* 803D7234 003D2E94  48 00 67 A9 */	bl func_803DD9DC
/* 803D7238 003D2E98  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D723C 003D2E9C  38 80 00 01 */	li r4, 1
/* 803D7240 003D2EA0  38 A0 00 05 */	li r5, 5
/* 803D7244 003D2EA4  48 00 1F C5 */	bl func_803D9208
/* 803D7248 003D2EA8  2C 03 00 32 */	cmpwi r3, 0x32
/* 803D724C 003D2EAC  41 82 00 38 */	beq lbl_803D7284
/* 803D7250 003D2EB0  7E 83 A3 78 */	mr r3, r20
/* 803D7254 003D2EB4  48 00 66 CD */	bl func_803DD920
/* 803D7258 003D2EB8  80 1D 00 04 */	lwz r0, 4(r29)
/* 803D725C 003D2EBC  7C 96 02 14 */	add r4, r22, r0
/* 803D7260 003D2EC0  80 04 00 A4 */	lwz r0, 0xa4(r4)
/* 803D7264 003D2EC4  7C 00 18 39 */	and. r0, r0, r3
/* 803D7268 003D2EC8  40 82 00 1C */	bne lbl_803D7284
/* 803D726C 003D2ECC  3A 94 00 01 */	addi r20, r20, 1
lbl_803D7270:
/* 803D7270 003D2ED0  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7274 003D2ED4  38 80 00 00 */	li r4, 0
/* 803D7278 003D2ED8  4B FD 56 89 */	bl func_803AC900
/* 803D727C 003D2EDC  7C 14 18 00 */	cmpw r20, r3
/* 803D7280 003D2EE0  41 80 FF 98 */	blt lbl_803D7218
lbl_803D7284:
/* 803D7284 003D2EE4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7288 003D2EE8  38 80 00 00 */	li r4, 0
/* 803D728C 003D2EEC  4B FD 56 75 */	bl func_803AC900
/* 803D7290 003D2EF0  7C 14 18 00 */	cmpw r20, r3
/* 803D7294 003D2EF4  40 82 00 10 */	bne lbl_803D72A4
/* 803D7298 003D2EF8  38 00 00 26 */	li r0, 0x26
/* 803D729C 003D2EFC  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D72A0 003D2F00  48 00 00 28 */	b lbl_803D72C8
lbl_803D72A4:
/* 803D72A4 003D2F04  57 60 07 BD */	rlwinm. r0, r27, 0, 0x1e, 0x1e
/* 803D72A8 003D2F08  41 82 00 20 */	beq lbl_803D72C8
/* 803D72AC 003D2F0C  57 60 06 73 */	rlwinm. r0, r27, 0, 0x19, 0x19
/* 803D72B0 003D2F10  40 82 00 18 */	bne lbl_803D72C8
/* 803D72B4 003D2F14  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D72B8 003D2F18  88 03 21 9E */	lbz r0, 0x219e(r3)
/* 803D72BC 003D2F1C  7C 00 A0 00 */	cmpw r0, r20
/* 803D72C0 003D2F20  40 82 00 08 */	bne lbl_803D72C8
/* 803D72C4 003D2F24  3B E0 00 02 */	li r31, 2
lbl_803D72C8:
/* 803D72C8 003D2F28  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D72CC 003D2F2C  28 04 00 26 */	cmplwi r4, 0x26
/* 803D72D0 003D2F30  41 81 0D 1C */	bgt lbl_803D7FEC
/* 803D72D4 003D2F34  3C 60 80 47 */	lis r3, lbl_80474228@ha
/* 803D72D8 003D2F38  54 80 10 3A */	slwi r0, r4, 2
/* 803D72DC 003D2F3C  38 63 42 28 */	addi r3, r3, lbl_80474228@l
/* 803D72E0 003D2F40  7C 63 00 2E */	lwzx r3, r3, r0
/* 803D72E4 003D2F44  7C 69 03 A6 */	mtctr r3
/* 803D72E8 003D2F48  4E 80 04 20 */	bctr 
/* 803D72EC 003D2F4C  7E A3 AB 78 */	mr r3, r21
/* 803D72F0 003D2F50  38 80 00 06 */	li r4, 6
/* 803D72F4 003D2F54  38 A0 00 00 */	li r5, 0
/* 803D72F8 003D2F58  48 00 66 E5 */	bl func_803DD9DC
/* 803D72FC 003D2F5C  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D7300 003D2F60  38 80 00 01 */	li r4, 1
/* 803D7304 003D2F64  38 A0 00 05 */	li r5, 5
/* 803D7308 003D2F68  48 00 1F 01 */	bl func_803D9208
/* 803D730C 003D2F6C  57 77 07 FF */	clrlwi. r23, r27, 0x1f
/* 803D7310 003D2F70  7C 7B 1B 78 */	mr r27, r3
/* 803D7314 003D2F74  40 82 00 60 */	bne lbl_803D7374
/* 803D7318 003D2F78  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D731C 003D2F7C  80 64 2E 4C */	lwz r3, 0x2e4c(r4)
/* 803D7320 003D2F80  80 04 2F CC */	lwz r0, 0x2fcc(r4)
/* 803D7324 003D2F84  7C 03 02 15 */	add. r0, r3, r0
/* 803D7328 003D2F88  40 82 00 4C */	bne lbl_803D7374
/* 803D732C 003D2F8C  7E A3 AB 78 */	mr r3, r21
/* 803D7330 003D2F90  38 80 00 A2 */	li r4, 0xa2
/* 803D7334 003D2F94  38 A0 00 00 */	li r5, 0
/* 803D7338 003D2F98  48 00 66 A5 */	bl func_803DD9DC
/* 803D733C 003D2F9C  2C 03 00 00 */	cmpwi r3, 0
/* 803D7340 003D2FA0  41 82 00 34 */	beq lbl_803D7374
/* 803D7344 003D2FA4  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7348 003D2FA8  80 03 31 44 */	lwz r0, 0x3144(r3)
/* 803D734C 003D2FAC  2C 00 00 00 */	cmpwi r0, 0
/* 803D7350 003D2FB0  40 82 00 24 */	bne lbl_803D7374
/* 803D7354 003D2FB4  38 60 00 01 */	li r3, 1
/* 803D7358 003D2FB8  48 00 24 9D */	bl func_803D97F4
/* 803D735C 003D2FBC  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7360 003D2FC0  38 00 00 01 */	li r0, 1
/* 803D7364 003D2FC4  38 80 00 02 */	li r4, 2
/* 803D7368 003D2FC8  90 03 31 44 */	stw r0, 0x3144(r3)
/* 803D736C 003D2FCC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7370 003D2FD0  4B FD 69 79 */	bl func_803ADCE8
lbl_803D7374:
/* 803D7374 003D2FD4  38 00 00 01 */	li r0, 1
/* 803D7378 003D2FD8  7E A3 AB 78 */	mr r3, r21
/* 803D737C 003D2FDC  B0 01 00 3A */	sth r0, 0x3a(r1)
/* 803D7380 003D2FE0  3A 60 00 00 */	li r19, 0
/* 803D7384 003D2FE4  38 80 00 A2 */	li r4, 0xa2
/* 803D7388 003D2FE8  38 A0 00 00 */	li r5, 0
/* 803D738C 003D2FEC  48 00 66 51 */	bl func_803DD9DC
/* 803D7390 003D2FF0  2C 03 00 00 */	cmpwi r3, 0
/* 803D7394 003D2FF4  41 82 03 84 */	beq lbl_803D7718
/* 803D7398 003D2FF8  7E A3 AB 78 */	mr r3, r21
/* 803D739C 003D2FFC  38 80 00 A0 */	li r4, 0xa0
/* 803D73A0 003D3000  38 A0 00 00 */	li r5, 0
/* 803D73A4 003D3004  48 00 66 39 */	bl func_803DD9DC
/* 803D73A8 003D3008  28 03 00 64 */	cmplwi r3, 0x64
/* 803D73AC 003D300C  41 82 03 6C */	beq lbl_803D7718
/* 803D73B0 003D3010  82 5D 00 04 */	lwz r18, 4(r29)
/* 803D73B4 003D3014  7E 83 A3 78 */	mr r3, r20
/* 803D73B8 003D3018  48 00 65 69 */	bl func_803DD920
/* 803D73BC 003D301C  7C 92 B2 14 */	add r4, r18, r22
/* 803D73C0 003D3020  80 04 00 A4 */	lwz r0, 0xa4(r4)
/* 803D73C4 003D3024  7C 00 18 39 */	and. r0, r0, r3
/* 803D73C8 003D3028  41 82 00 08 */	beq lbl_803D73D0
/* 803D73CC 003D302C  82 72 00 9C */	lwz r19, 0x9c(r18)
lbl_803D73D0:
/* 803D73D0 003D3030  2C 1B 00 32 */	cmpwi r27, 0x32
/* 803D73D4 003D3034  40 82 00 0C */	bne lbl_803D73E0
/* 803D73D8 003D3038  80 12 00 A0 */	lwz r0, 0xa0(r18)
/* 803D73DC 003D303C  7E 73 02 14 */	add r19, r19, r0
lbl_803D73E0:
/* 803D73E0 003D3040  2C 1B 00 41 */	cmpwi r27, 0x41
/* 803D73E4 003D3044  40 82 00 10 */	bne lbl_803D73F4
/* 803D73E8 003D3048  1C 73 00 96 */	mulli r3, r19, 0x96
/* 803D73EC 003D304C  38 00 00 64 */	li r0, 0x64
/* 803D73F0 003D3050  7E 63 03 96 */	divwu r19, r3, r0
lbl_803D73F4:
/* 803D73F4 003D3054  2C 17 00 00 */	cmpwi r23, 0
/* 803D73F8 003D3058  41 82 00 10 */	beq lbl_803D7408
/* 803D73FC 003D305C  1C 73 00 96 */	mulli r3, r19, 0x96
/* 803D7400 003D3060  38 00 00 64 */	li r0, 0x64
/* 803D7404 003D3064  7E 63 03 96 */	divwu r19, r3, r0
lbl_803D7408:
/* 803D7408 003D3068  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D740C 003D306C  7E A4 AB 78 */	mr r4, r21
/* 803D7410 003D3070  4B FE E6 59 */	bl func_803C5A68
/* 803D7414 003D3074  2C 03 00 00 */	cmpwi r3, 0
/* 803D7418 003D3078  40 82 00 18 */	bne lbl_803D7430
/* 803D741C 003D307C  1C 93 00 96 */	mulli r4, r19, 0x96
/* 803D7420 003D3080  38 60 00 64 */	li r3, 0x64
/* 803D7424 003D3084  38 00 00 02 */	li r0, 2
/* 803D7428 003D3088  B0 01 00 3A */	sth r0, 0x3a(r1)
/* 803D742C 003D308C  7E 64 1B 96 */	divwu r19, r4, r3
lbl_803D7430:
/* 803D7430 003D3090  7E A3 AB 78 */	mr r3, r21
/* 803D7434 003D3094  38 80 00 08 */	li r4, 8
/* 803D7438 003D3098  38 A0 00 00 */	li r5, 0
/* 803D743C 003D309C  48 00 65 A1 */	bl func_803DD9DC
/* 803D7440 003D30A0  90 61 00 14 */	stw r3, 0x14(r1)
/* 803D7444 003D30A4  7E A3 AB 78 */	mr r3, r21
/* 803D7448 003D30A8  48 00 46 7D */	bl func_803DBAC4
/* 803D744C 003D30AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D7450 003D30B0  7C 03 00 50 */	subf r0, r3, r0
/* 803D7454 003D30B4  90 1D 00 34 */	stw r0, 0x34(r29)
/* 803D7458 003D30B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D745C 003D30BC  7C 80 9A 14 */	add r4, r0, r19
/* 803D7460 003D30C0  90 81 00 14 */	stw r4, 0x14(r1)
/* 803D7464 003D30C4  80 BD 00 04 */	lwz r5, 4(r29)
/* 803D7468 003D30C8  7C 65 FA 14 */	add r3, r5, r31
/* 803D746C 003D30CC  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803D7470 003D30D0  7C 14 00 00 */	cmpw r20, r0
/* 803D7474 003D30D4  40 82 00 10 */	bne lbl_803D7484
/* 803D7478 003D30D8  1C 1F 00 C0 */	mulli r0, r31, 0xc0
/* 803D747C 003D30DC  7C 65 02 14 */	add r3, r5, r0
/* 803D7480 003D30E0  90 83 2D A4 */	stw r4, 0x2da4(r3)
lbl_803D7484:
/* 803D7484 003D30E4  7E A3 AB 78 */	mr r3, r21
/* 803D7488 003D30E8  38 A1 00 14 */	addi r5, r1, 0x14
/* 803D748C 003D30EC  38 80 00 08 */	li r4, 8
/* 803D7490 003D30F0  48 00 40 95 */	bl func_803DB524
/* 803D7494 003D30F4  80 BD 00 04 */	lwz r5, 4(r29)
/* 803D7498 003D30F8  7F E4 FB 78 */	mr r4, r31
/* 803D749C 003D30FC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D74A0 003D3100  80 05 00 74 */	lwz r0, 0x74(r5)
/* 803D74A4 003D3104  1C 00 00 C0 */	mulli r0, r0, 0xc0
/* 803D74A8 003D3108  7C A5 02 14 */	add r5, r5, r0
/* 803D74AC 003D310C  A2 45 2D 40 */	lhz r18, 0x2d40(r5)
/* 803D74B0 003D3110  4B FD 53 B9 */	bl func_803AC868
/* 803D74B4 003D3114  7C 7A 1B 78 */	mr r26, r3
/* 803D74B8 003D3118  7E 43 93 78 */	mr r3, r18
/* 803D74BC 003D311C  3A C0 00 00 */	li r22, 0
/* 803D74C0 003D3120  38 80 00 05 */	li r4, 5
/* 803D74C4 003D3124  48 00 42 6D */	bl func_803DB730
/* 803D74C8 003D3128  7C 79 1B 78 */	mr r25, r3
/* 803D74CC 003D312C  7F 43 D3 78 */	mr r3, r26
/* 803D74D0 003D3130  7E 84 A3 78 */	mr r4, r20
/* 803D74D4 003D3134  48 00 74 79 */	bl func_803DE94C
/* 803D74D8 003D3138  7C 78 1B 78 */	mr r24, r3
/* 803D74DC 003D313C  38 80 00 06 */	li r4, 6
/* 803D74E0 003D3140  38 A0 00 00 */	li r5, 0
/* 803D74E4 003D3144  48 00 64 F9 */	bl func_803DD9DC
/* 803D74E8 003D3148  54 72 04 3E */	clrlwi r18, r3, 0x10
/* 803D74EC 003D314C  38 80 00 01 */	li r4, 1
/* 803D74F0 003D3150  7E 43 93 78 */	mr r3, r18
/* 803D74F4 003D3154  38 A0 00 05 */	li r5, 5
/* 803D74F8 003D3158  48 00 1D 11 */	bl func_803D9208
/* 803D74FC 003D315C  7C 7B 1B 78 */	mr r27, r3
/* 803D7500 003D3160  7E 43 93 78 */	mr r3, r18
/* 803D7504 003D3164  38 80 00 02 */	li r4, 2
/* 803D7508 003D3168  38 A0 00 05 */	li r5, 5
/* 803D750C 003D316C  48 00 1C FD */	bl func_803D9208
/* 803D7510 003D3170  7C 7C 1B 78 */	mr r28, r3
/* 803D7514 003D3174  3A 41 00 18 */	addi r18, r1, 0x18
/* 803D7518 003D3178  3A E0 00 00 */	li r23, 0
/* 803D751C 003D317C  3A A0 00 00 */	li r21, 0
lbl_803D7520:
/* 803D7520 003D3180  7F 03 C3 78 */	mr r3, r24
/* 803D7524 003D3184  38 95 00 0D */	addi r4, r21, 0xd
/* 803D7528 003D3188  38 A0 00 00 */	li r5, 0
/* 803D752C 003D318C  48 00 64 B1 */	bl func_803DD9DC
/* 803D7530 003D3190  3A B5 00 01 */	addi r21, r21, 1
/* 803D7534 003D3194  98 72 00 00 */	stb r3, 0(r18)
/* 803D7538 003D3198  2C 15 00 06 */	cmpwi r21, 6
/* 803D753C 003D319C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7540 003D31A0  7E F7 02 14 */	add r23, r23, r0
/* 803D7544 003D31A4  3A 52 00 01 */	addi r18, r18, 1
/* 803D7548 003D31A8  41 80 FF D8 */	blt lbl_803D7520
/* 803D754C 003D31AC  3A 41 00 18 */	addi r18, r1, 0x18
/* 803D7550 003D31B0  3A A0 00 00 */	li r21, 0
lbl_803D7554:
/* 803D7554 003D31B4  56 E0 04 3E */	clrlwi r0, r23, 0x10
/* 803D7558 003D31B8  28 00 01 FE */	cmplwi r0, 0x1fe
/* 803D755C 003D31BC  40 80 01 B4 */	bge lbl_803D7710
/* 803D7560 003D31C0  2C 15 00 03 */	cmpwi r21, 3
/* 803D7564 003D31C4  41 82 00 9C */	beq lbl_803D7600
/* 803D7568 003D31C8  40 80 00 1C */	bge lbl_803D7584
/* 803D756C 003D31CC  2C 15 00 01 */	cmpwi r21, 1
/* 803D7570 003D31D0  41 82 00 48 */	beq lbl_803D75B8
/* 803D7574 003D31D4  40 80 00 68 */	bge lbl_803D75DC
/* 803D7578 003D31D8  2C 15 00 00 */	cmpwi r21, 0
/* 803D757C 003D31DC  40 80 00 18 */	bge lbl_803D7594
/* 803D7580 003D31E0  48 00 00 E8 */	b lbl_803D7668
lbl_803D7584:
/* 803D7584 003D31E4  2C 15 00 05 */	cmpwi r21, 5
/* 803D7588 003D31E8  41 82 00 C0 */	beq lbl_803D7648
/* 803D758C 003D31EC  40 80 00 DC */	bge lbl_803D7668
/* 803D7590 003D31F0  48 00 00 94 */	b lbl_803D7624
lbl_803D7594:
/* 803D7594 003D31F4  7F 23 CB 78 */	mr r3, r25
/* 803D7598 003D31F8  38 80 00 0A */	li r4, 0xa
/* 803D759C 003D31FC  48 00 41 E5 */	bl func_803DB780
/* 803D75A0 003D3200  2C 1B 00 79 */	cmpwi r27, 0x79
/* 803D75A4 003D3204  7C 76 07 34 */	extsh r22, r3
/* 803D75A8 003D3208  40 82 00 C0 */	bne lbl_803D7668
/* 803D75AC 003D320C  7C 16 E2 14 */	add r0, r22, r28
/* 803D75B0 003D3210  7C 16 07 34 */	extsh r22, r0
/* 803D75B4 003D3214  48 00 00 B4 */	b lbl_803D7668
lbl_803D75B8:
/* 803D75B8 003D3218  7F 23 CB 78 */	mr r3, r25
/* 803D75BC 003D321C  38 80 00 0B */	li r4, 0xb
/* 803D75C0 003D3220  48 00 41 C1 */	bl func_803DB780
/* 803D75C4 003D3224  2C 1B 00 74 */	cmpwi r27, 0x74
/* 803D75C8 003D3228  7C 76 07 34 */	extsh r22, r3
/* 803D75CC 003D322C  40 82 00 9C */	bne lbl_803D7668
/* 803D75D0 003D3230  7C 16 E2 14 */	add r0, r22, r28
/* 803D75D4 003D3234  7C 16 07 34 */	extsh r22, r0
/* 803D75D8 003D3238  48 00 00 90 */	b lbl_803D7668
lbl_803D75DC:
/* 803D75DC 003D323C  7F 23 CB 78 */	mr r3, r25
/* 803D75E0 003D3240  38 80 00 0C */	li r4, 0xc
/* 803D75E4 003D3244  48 00 41 9D */	bl func_803DB780
/* 803D75E8 003D3248  2C 1B 00 75 */	cmpwi r27, 0x75
/* 803D75EC 003D324C  7C 76 07 34 */	extsh r22, r3
/* 803D75F0 003D3250  40 82 00 78 */	bne lbl_803D7668
/* 803D75F4 003D3254  7C 16 E2 14 */	add r0, r22, r28
/* 803D75F8 003D3258  7C 16 07 34 */	extsh r22, r0
/* 803D75FC 003D325C  48 00 00 6C */	b lbl_803D7668
lbl_803D7600:
/* 803D7600 003D3260  7F 23 CB 78 */	mr r3, r25
/* 803D7604 003D3264  38 80 00 0D */	li r4, 0xd
/* 803D7608 003D3268  48 00 41 79 */	bl func_803DB780
/* 803D760C 003D326C  2C 1B 00 78 */	cmpwi r27, 0x78
/* 803D7610 003D3270  7C 76 07 34 */	extsh r22, r3
/* 803D7614 003D3274  40 82 00 54 */	bne lbl_803D7668
/* 803D7618 003D3278  7C 16 E2 14 */	add r0, r22, r28
/* 803D761C 003D327C  7C 16 07 34 */	extsh r22, r0
/* 803D7620 003D3280  48 00 00 48 */	b lbl_803D7668
lbl_803D7624:
/* 803D7624 003D3284  7F 23 CB 78 */	mr r3, r25
/* 803D7628 003D3288  38 80 00 0E */	li r4, 0xe
/* 803D762C 003D328C  48 00 41 55 */	bl func_803DB780
/* 803D7630 003D3290  2C 1B 00 76 */	cmpwi r27, 0x76
/* 803D7634 003D3294  7C 76 07 34 */	extsh r22, r3
/* 803D7638 003D3298  40 82 00 30 */	bne lbl_803D7668
/* 803D763C 003D329C  7C 16 E2 14 */	add r0, r22, r28
/* 803D7640 003D32A0  7C 16 07 34 */	extsh r22, r0
/* 803D7644 003D32A4  48 00 00 24 */	b lbl_803D7668
lbl_803D7648:
/* 803D7648 003D32A8  7F 23 CB 78 */	mr r3, r25
/* 803D764C 003D32AC  38 80 00 0F */	li r4, 0xf
/* 803D7650 003D32B0  48 00 41 31 */	bl func_803DB780
/* 803D7654 003D32B4  2C 1B 00 77 */	cmpwi r27, 0x77
/* 803D7658 003D32B8  7C 76 07 34 */	extsh r22, r3
/* 803D765C 003D32BC  40 82 00 0C */	bne lbl_803D7668
/* 803D7660 003D32C0  7C 16 E2 14 */	add r0, r22, r28
/* 803D7664 003D32C4  7C 16 07 34 */	extsh r22, r0
lbl_803D7668:
/* 803D7668 003D32C8  7E 83 A3 78 */	mr r3, r20
/* 803D766C 003D32CC  48 00 62 B5 */	bl func_803DD920
/* 803D7670 003D32D0  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 803D7674 003D32D4  7F 43 D3 78 */	mr r3, r26
/* 803D7678 003D32D8  48 00 54 1D */	bl func_803DCA94
/* 803D767C 003D32DC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D7680 003D32E0  41 82 00 0C */	beq lbl_803D768C
/* 803D7684 003D32E4  56 C0 08 3C */	slwi r0, r22, 1
/* 803D7688 003D32E8  7C 16 07 34 */	extsh r22, r0
lbl_803D768C:
/* 803D768C 003D32EC  2C 1B 00 31 */	cmpwi r27, 0x31
/* 803D7690 003D32F0  40 82 00 0C */	bne lbl_803D769C
/* 803D7694 003D32F4  56 C0 08 3C */	slwi r0, r22, 1
/* 803D7698 003D32F8  7C 16 07 34 */	extsh r22, r0
lbl_803D769C:
/* 803D769C 003D32FC  56 E0 04 3E */	clrlwi r0, r23, 0x10
/* 803D76A0 003D3300  7C 60 B2 14 */	add r3, r0, r22
/* 803D76A4 003D3304  2C 03 01 FE */	cmpwi r3, 0x1fe
/* 803D76A8 003D3308  40 81 00 10 */	ble lbl_803D76B8
/* 803D76AC 003D330C  38 03 FE 02 */	addi r0, r3, -510
/* 803D76B0 003D3310  7C 00 B0 50 */	subf r0, r0, r22
/* 803D76B4 003D3314  7C 16 07 34 */	extsh r22, r0
lbl_803D76B8:
/* 803D76B8 003D3318  88 12 00 00 */	lbz r0, 0(r18)
/* 803D76BC 003D331C  7C 60 B2 14 */	add r3, r0, r22
/* 803D76C0 003D3320  2C 03 00 FF */	cmpwi r3, 0xff
/* 803D76C4 003D3324  40 81 00 10 */	ble lbl_803D76D4
/* 803D76C8 003D3328  38 03 FF 01 */	addi r0, r3, -255
/* 803D76CC 003D332C  7C 00 B0 50 */	subf r0, r0, r22
/* 803D76D0 003D3330  7C 16 07 34 */	extsh r22, r0
lbl_803D76D4:
/* 803D76D4 003D3334  88 B2 00 00 */	lbz r5, 0(r18)
/* 803D76D8 003D3338  7C 17 B2 14 */	add r0, r23, r22
/* 803D76DC 003D333C  54 17 04 3E */	clrlwi r23, r0, 0x10
/* 803D76E0 003D3340  7F 03 C3 78 */	mr r3, r24
/* 803D76E4 003D3344  7C A5 B2 14 */	add r5, r5, r22
/* 803D76E8 003D3348  38 95 00 0D */	addi r4, r21, 0xd
/* 803D76EC 003D334C  54 A0 06 3E */	clrlwi r0, r5, 0x18
/* 803D76F0 003D3350  98 B2 00 00 */	stb r5, 0(r18)
/* 803D76F4 003D3354  38 A1 00 0C */	addi r5, r1, 0xc
/* 803D76F8 003D3358  90 01 00 0C */	stw r0, 0xc(r1)
/* 803D76FC 003D335C  48 00 3E 29 */	bl func_803DB524
/* 803D7700 003D3360  3A B5 00 01 */	addi r21, r21, 1
/* 803D7704 003D3364  3A 52 00 01 */	addi r18, r18, 1
/* 803D7708 003D3368  2C 15 00 06 */	cmpwi r21, 6
/* 803D770C 003D336C  41 80 FE 48 */	blt lbl_803D7554
lbl_803D7710:
/* 803D7710 003D3370  7F 23 CB 78 */	mr r3, r25
/* 803D7714 003D3374  48 00 41 B5 */	bl func_803DB8C8
lbl_803D7718:
/* 803D7718 003D3378  2C 13 00 00 */	cmpwi r19, 0
/* 803D771C 003D337C  41 82 00 58 */	beq lbl_803D7774
/* 803D7720 003D3380  56 80 40 2E */	slwi r0, r20, 8
/* 803D7724 003D3384  38 60 00 11 */	li r3, 0x11
/* 803D7728 003D3388  7F E0 03 78 */	or r0, r31, r0
/* 803D772C 003D338C  98 61 00 39 */	stb r3, 0x39(r1)
/* 803D7730 003D3390  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7734 003D3394  92 61 00 40 */	stw r19, 0x40(r1)
/* 803D7738 003D3398  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D773C 003D339C  4B FD 64 81 */	bl func_803ADBBC
/* 803D7740 003D33A0  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7744 003D33A4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7748 003D33A8  7F C4 F3 78 */	mr r4, r30
/* 803D774C 003D33AC  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7750 003D33B0  4B FD 67 1D */	bl func_803ADE6C
/* 803D7754 003D33B4  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7758 003D33B8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D775C 003D33BC  38 60 00 14 */	li r3, 0x14
/* 803D7760 003D33C0  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7764 003D33C4  38 04 00 01 */	addi r0, r4, 1
/* 803D7768 003D33C8  90 7D 00 2C */	stw r3, 0x2c(r29)
/* 803D776C 003D33CC  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7770 003D33D0  48 00 08 7C */	b lbl_803D7FEC
lbl_803D7774:
/* 803D7774 003D33D4  38 00 00 25 */	li r0, 0x25
/* 803D7778 003D33D8  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D777C 003D33DC  48 00 08 70 */	b lbl_803D7FEC
/* 803D7780 003D33E0  80 7D 00 28 */	lwz r3, 0x28(r29)
/* 803D7784 003D33E4  48 00 20 69 */	bl func_803D97EC
/* 803D7788 003D33E8  2C 03 00 00 */	cmpwi r3, 0
/* 803D778C 003D33EC  40 82 08 60 */	bne lbl_803D7FEC
/* 803D7790 003D33F0  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D7794 003D33F4  38 03 00 01 */	addi r0, r3, 1
/* 803D7798 003D33F8  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D779C 003D33FC  48 00 08 50 */	b lbl_803D7FEC
/* 803D77A0 003D3400  38 04 00 01 */	addi r0, r4, 1
/* 803D77A4 003D3404  38 60 00 00 */	li r3, 0
/* 803D77A8 003D3408  90 7D 00 2C */	stw r3, 0x2c(r29)
/* 803D77AC 003D340C  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D77B0 003D3410  48 00 08 3C */	b lbl_803D7FEC
/* 803D77B4 003D3414  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D77B8 003D3418  7C 64 FA 14 */	add r3, r4, r31
/* 803D77BC 003D341C  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803D77C0 003D3420  7C 14 00 00 */	cmpw r20, r0
/* 803D77C4 003D3424  40 82 00 2C */	bne lbl_803D77F0
/* 803D77C8 003D3428  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D77CC 003D342C  7F E5 FB 78 */	mr r5, r31
/* 803D77D0 003D3430  80 DD 00 34 */	lwz r6, 0x34(r29)
/* 803D77D4 003D3434  4B FD 99 F5 */	bl func_803B11C8
/* 803D77D8 003D3438  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D77DC 003D343C  38 00 00 00 */	li r0, 0
/* 803D77E0 003D3440  90 1D 00 34 */	stw r0, 0x34(r29)
/* 803D77E4 003D3444  38 03 00 01 */	addi r0, r3, 1
/* 803D77E8 003D3448  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D77EC 003D344C  48 00 08 00 */	b lbl_803D7FEC
lbl_803D77F0:
/* 803D77F0 003D3450  38 00 00 05 */	li r0, 5
/* 803D77F4 003D3454  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D77F8 003D3458  48 00 07 F4 */	b lbl_803D7FEC
/* 803D77FC 003D345C  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7800 003D3460  4B FE 33 F1 */	bl func_803BABF0
/* 803D7804 003D3464  2C 03 00 00 */	cmpwi r3, 0
/* 803D7808 003D3468  41 82 07 E4 */	beq lbl_803D7FEC
/* 803D780C 003D346C  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D7810 003D3470  38 03 00 01 */	addi r0, r3, 1
/* 803D7814 003D3474  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7818 003D3478  48 00 07 D4 */	b lbl_803D7FEC
/* 803D781C 003D347C  7E A3 AB 78 */	mr r3, r21
/* 803D7820 003D3480  48 00 49 81 */	bl func_803DC1A0
/* 803D7824 003D3484  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D7828 003D3488  41 82 00 40 */	beq lbl_803D7868
/* 803D782C 003D348C  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7830 003D3490  7C 64 FA 14 */	add r3, r4, r31
/* 803D7834 003D3494  88 03 21 9C */	lbz r0, 0x219c(r3)
/* 803D7838 003D3498  7C 14 00 00 */	cmpw r20, r0
/* 803D783C 003D349C  40 82 00 20 */	bne lbl_803D785C
/* 803D7840 003D34A0  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7844 003D34A4  7F E5 FB 78 */	mr r5, r31
/* 803D7848 003D34A8  38 C0 00 08 */	li r6, 8
/* 803D784C 003D34AC  4B FD 9D 9D */	bl func_803B15E8
/* 803D7850 003D34B0  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7854 003D34B4  7F E4 FB 78 */	mr r4, r31
/* 803D7858 003D34B8  4B FD 9F C9 */	bl func_803B1820
lbl_803D785C:
/* 803D785C 003D34BC  38 00 00 06 */	li r0, 6
/* 803D7860 003D34C0  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7864 003D34C4  48 00 07 88 */	b lbl_803D7FEC
lbl_803D7868:
/* 803D7868 003D34C8  38 00 00 25 */	li r0, 0x25
/* 803D786C 003D34CC  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7870 003D34D0  48 00 07 7C */	b lbl_803D7FEC
/* 803D7874 003D34D4  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7878 003D34D8  4B FE 33 79 */	bl func_803BABF0
/* 803D787C 003D34DC  2C 03 00 00 */	cmpwi r3, 0
/* 803D7880 003D34E0  41 82 07 6C */	beq lbl_803D7FEC
/* 803D7884 003D34E4  3C 60 80 40 */	lis r3, lbl_80405B1C@ha
/* 803D7888 003D34E8  38 00 00 03 */	li r0, 3
/* 803D788C 003D34EC  38 63 5B 1C */	addi r3, r3, lbl_80405B1C@l
/* 803D7890 003D34F0  38 A1 00 1C */	addi r5, r1, 0x1c
/* 803D7894 003D34F4  38 83 FF FC */	addi r4, r3, -4
/* 803D7898 003D34F8  7C 09 03 A6 */	mtctr r0
lbl_803D789C:
/* 803D789C 003D34FC  80 64 00 04 */	lwz r3, 4(r4)
/* 803D78A0 003D3500  84 04 00 08 */	lwzu r0, 8(r4)
/* 803D78A4 003D3504  90 65 00 04 */	stw r3, 4(r5)
/* 803D78A8 003D3508  94 05 00 08 */	stwu r0, 8(r5)
/* 803D78AC 003D350C  42 00 FF F0 */	bdnz lbl_803D789C
/* 803D78B0 003D3510  7E A3 AB 78 */	mr r3, r21
/* 803D78B4 003D3514  38 80 00 A0 */	li r4, 0xa0
/* 803D78B8 003D3518  38 A0 00 00 */	li r5, 0
/* 803D78BC 003D351C  48 00 61 21 */	bl func_803DD9DC
/* 803D78C0 003D3520  7C 7C 1B 78 */	mr r28, r3
/* 803D78C4 003D3524  38 60 00 05 */	li r3, 5
/* 803D78C8 003D3528  38 80 00 18 */	li r4, 0x18
/* 803D78CC 003D352C  4B D9 66 A5 */	bl func_8016DF70
/* 803D78D0 003D3530  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D78D4 003D3534  3A 41 00 20 */	addi r18, r1, 0x20
/* 803D78D8 003D3538  3A C0 00 00 */	li r22, 0
/* 803D78DC 003D353C  3A 60 00 00 */	li r19, 0
/* 803D78E0 003D3540  90 64 01 7C */	stw r3, 0x17c(r4)
/* 803D78E4 003D3544  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D78E8 003D3548  82 E3 01 7C */	lwz r23, 0x17c(r3)
lbl_803D78EC:
/* 803D78EC 003D354C  7C 92 98 2E */	lwzx r4, r18, r19
/* 803D78F0 003D3550  7E A3 AB 78 */	mr r3, r21
/* 803D78F4 003D3554  38 A0 00 00 */	li r5, 0
/* 803D78F8 003D3558  48 00 60 E5 */	bl func_803DD9DC
/* 803D78FC 003D355C  3A D6 00 01 */	addi r22, r22, 1
/* 803D7900 003D3560  7C 77 99 2E */	stwx r3, r23, r19
/* 803D7904 003D3564  2C 16 00 06 */	cmpwi r22, 6
/* 803D7908 003D3568  3A 73 00 04 */	addi r19, r19, 4
/* 803D790C 003D356C  41 80 FF E0 */	blt lbl_803D78EC
/* 803D7910 003D3570  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7914 003D3574  4B FD 54 1D */	bl func_803ACD30
/* 803D7918 003D3578  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 803D791C 003D357C  7E A3 AB 78 */	mr r3, r21
/* 803D7920 003D3580  38 80 00 00 */	li r4, 0
/* 803D7924 003D3584  48 00 44 B9 */	bl func_803DBDDC
/* 803D7928 003D3588  7E A3 AB 78 */	mr r3, r21
/* 803D792C 003D358C  48 00 2F B5 */	bl func_803DA8E0
/* 803D7930 003D3590  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7934 003D3594  7C 64 FA 14 */	add r3, r4, r31
/* 803D7938 003D3598  88 C3 21 9C */	lbz r6, 0x219c(r3)
/* 803D793C 003D359C  7C 14 30 00 */	cmpw r20, r6
/* 803D7940 003D35A0  40 82 00 10 */	bne lbl_803D7950
/* 803D7944 003D35A4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7948 003D35A8  7F E5 FB 78 */	mr r5, r31
/* 803D794C 003D35AC  4B FE 2E D5 */	bl func_803BA820
lbl_803D7950:
/* 803D7950 003D35B0  7E 83 A3 78 */	mr r3, r20
/* 803D7954 003D35B4  48 00 5F CD */	bl func_803DD920
/* 803D7958 003D35B8  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D795C 003D35BC  7F E5 FB 78 */	mr r5, r31
/* 803D7960 003D35C0  88 04 31 09 */	lbz r0, 0x3109(r4)
/* 803D7964 003D35C4  7C 00 1B 78 */	or r0, r0, r3
/* 803D7968 003D35C8  98 04 31 09 */	stb r0, 0x3109(r4)
/* 803D796C 003D35CC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7970 003D35D0  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7974 003D35D4  4B FD 9F CD */	bl func_803B1940
/* 803D7978 003D35D8  56 80 40 2E */	slwi r0, r20, 8
/* 803D797C 003D35DC  38 80 00 03 */	li r4, 3
/* 803D7980 003D35E0  7F E0 03 78 */	or r0, r31, r0
/* 803D7984 003D35E4  38 60 00 11 */	li r3, 0x11
/* 803D7988 003D35E8  B0 81 00 3A */	sth r4, 0x3a(r1)
/* 803D798C 003D35EC  98 61 00 39 */	stb r3, 0x39(r1)
/* 803D7990 003D35F0  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7994 003D35F4  93 81 00 40 */	stw r28, 0x40(r1)
/* 803D7998 003D35F8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D799C 003D35FC  4B FD 62 21 */	bl func_803ADBBC
/* 803D79A0 003D3600  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D79A4 003D3604  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D79A8 003D3608  7F C4 F3 78 */	mr r4, r30
/* 803D79AC 003D360C  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D79B0 003D3610  4B FD 64 BD */	bl func_803ADE6C
/* 803D79B4 003D3614  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803D79B8 003D3618  38 00 00 07 */	li r0, 7
/* 803D79BC 003D361C  90 7D 00 28 */	stw r3, 0x28(r29)
/* 803D79C0 003D3620  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D79C4 003D3624  48 00 06 28 */	b lbl_803D7FEC
/* 803D79C8 003D3628  80 7D 00 28 */	lwz r3, 0x28(r29)
/* 803D79CC 003D362C  48 00 1E 21 */	bl func_803D97EC
/* 803D79D0 003D3630  2C 03 00 00 */	cmpwi r3, 0
/* 803D79D4 003D3634  40 82 06 18 */	bne lbl_803D7FEC
/* 803D79D8 003D3638  38 60 00 0F */	li r3, 0xf
/* 803D79DC 003D363C  38 00 00 00 */	li r0, 0
/* 803D79E0 003D3640  90 7D 00 20 */	stw r3, 0x20(r29)
/* 803D79E4 003D3644  90 1D 00 30 */	stw r0, 0x30(r29)
/* 803D79E8 003D3648  48 00 06 04 */	b lbl_803D7FEC
/* 803D79EC 003D364C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D79F0 003D3650  4B FD 4E 49 */	bl func_803AC838
/* 803D79F4 003D3654  7E A3 AB 78 */	mr r3, r21
/* 803D79F8 003D3658  38 9D 00 30 */	addi r4, r29, 0x30
/* 803D79FC 003D365C  38 A1 00 08 */	addi r5, r1, 8
/* 803D7A00 003D3660  48 00 4C 15 */	bl func_803DC614
/* 803D7A04 003D3664  3C 80 00 01 */	lis r4, 0x0000FFFE@ha
/* 803D7A08 003D3668  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 803D7A0C 003D366C  38 04 FF FE */	addi r0, r4, 0x0000FFFE@l
/* 803D7A10 003D3670  7C 03 00 00 */	cmpw r3, r0
/* 803D7A14 003D3674  41 82 05 D8 */	beq lbl_803D7FEC
/* 803D7A18 003D3678  40 80 00 10 */	bge lbl_803D7A28
/* 803D7A1C 003D367C  2C 03 00 00 */	cmpwi r3, 0
/* 803D7A20 003D3680  41 82 00 14 */	beq lbl_803D7A34
/* 803D7A24 003D3684  48 00 00 30 */	b lbl_803D7A54
lbl_803D7A28:
/* 803D7A28 003D3688  7C 03 20 00 */	cmpw r3, r4
/* 803D7A2C 003D368C  40 80 00 28 */	bge lbl_803D7A54
/* 803D7A30 003D3690  48 00 00 10 */	b lbl_803D7A40
lbl_803D7A34:
/* 803D7A34 003D3694  38 00 00 03 */	li r0, 3
/* 803D7A38 003D3698  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7A3C 003D369C  48 00 05 B0 */	b lbl_803D7FEC
lbl_803D7A40:
/* 803D7A40 003D36A0  A0 61 00 08 */	lhz r3, 8(r1)
/* 803D7A44 003D36A4  38 00 00 10 */	li r0, 0x10
/* 803D7A48 003D36A8  90 7D 00 38 */	stw r3, 0x38(r29)
/* 803D7A4C 003D36AC  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7A50 003D36B0  48 00 05 9C */	b lbl_803D7FEC
lbl_803D7A54:
/* 803D7A54 003D36B4  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7A58 003D36B8  7C 64 FA 14 */	add r3, r4, r31
/* 803D7A5C 003D36BC  88 C3 21 9C */	lbz r6, 0x219c(r3)
/* 803D7A60 003D36C0  7C 14 30 00 */	cmpw r20, r6
/* 803D7A64 003D36C4  40 82 00 10 */	bne lbl_803D7A74
/* 803D7A68 003D36C8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7A6C 003D36CC  7F E5 FB 78 */	mr r5, r31
/* 803D7A70 003D36D0  4B FE 2D B1 */	bl func_803BA820
lbl_803D7A74:
/* 803D7A74 003D36D4  56 83 40 2E */	slwi r3, r20, 8
/* 803D7A78 003D36D8  A0 01 00 08 */	lhz r0, 8(r1)
/* 803D7A7C 003D36DC  7F E3 1B 78 */	or r3, r31, r3
/* 803D7A80 003D36E0  38 A0 00 04 */	li r5, 4
/* 803D7A84 003D36E4  38 80 00 0A */	li r4, 0xa
/* 803D7A88 003D36E8  B0 A1 00 3A */	sth r5, 0x3a(r1)
/* 803D7A8C 003D36EC  98 81 00 39 */	stb r4, 0x39(r1)
/* 803D7A90 003D36F0  90 61 00 3C */	stw r3, 0x3c(r1)
/* 803D7A94 003D36F4  90 01 00 40 */	stw r0, 0x40(r1)
/* 803D7A98 003D36F8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7A9C 003D36FC  4B FD 61 21 */	bl func_803ADBBC
/* 803D7AA0 003D3700  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7AA4 003D3704  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7AA8 003D3708  7F C4 F3 78 */	mr r4, r30
/* 803D7AAC 003D370C  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7AB0 003D3710  4B FD 63 BD */	bl func_803ADE6C
/* 803D7AB4 003D3714  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803D7AB8 003D3718  38 00 00 24 */	li r0, 0x24
/* 803D7ABC 003D371C  90 7D 00 28 */	stw r3, 0x28(r29)
/* 803D7AC0 003D3720  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7AC4 003D3724  48 00 05 28 */	b lbl_803D7FEC
/* 803D7AC8 003D3728  56 80 40 2E */	slwi r0, r20, 8
/* 803D7ACC 003D372C  38 80 04 9A */	li r4, 0x49a
/* 803D7AD0 003D3730  7F E0 03 78 */	or r0, r31, r0
/* 803D7AD4 003D3734  38 60 00 0A */	li r3, 0xa
/* 803D7AD8 003D3738  B0 81 00 3A */	sth r4, 0x3a(r1)
/* 803D7ADC 003D373C  98 61 00 39 */	stb r3, 0x39(r1)
/* 803D7AE0 003D3740  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7AE4 003D3744  80 1D 00 38 */	lwz r0, 0x38(r29)
/* 803D7AE8 003D3748  90 01 00 40 */	stw r0, 0x40(r1)
/* 803D7AEC 003D374C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7AF0 003D3750  4B FD 60 CD */	bl func_803ADBBC
/* 803D7AF4 003D3754  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7AF8 003D3758  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7AFC 003D375C  7F C4 F3 78 */	mr r4, r30
/* 803D7B00 003D3760  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7B04 003D3764  4B FD 63 69 */	bl func_803ADE6C
/* 803D7B08 003D3768  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7B0C 003D376C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7B10 003D3770  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7B14 003D3774  38 04 00 01 */	addi r0, r4, 1
/* 803D7B18 003D3778  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7B1C 003D377C  48 00 04 D0 */	b lbl_803D7FEC
/* 803D7B20 003D3780  56 80 40 2E */	slwi r0, r20, 8
/* 803D7B24 003D3784  38 80 04 9B */	li r4, 0x49b
/* 803D7B28 003D3788  7F E0 03 78 */	or r0, r31, r0
/* 803D7B2C 003D378C  38 60 00 02 */	li r3, 2
/* 803D7B30 003D3790  B0 81 00 3A */	sth r4, 0x3a(r1)
/* 803D7B34 003D3794  98 61 00 39 */	stb r3, 0x39(r1)
/* 803D7B38 003D3798  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7B3C 003D379C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7B40 003D37A0  4B FD 60 7D */	bl func_803ADBBC
/* 803D7B44 003D37A4  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7B48 003D37A8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7B4C 003D37AC  7F C4 F3 78 */	mr r4, r30
/* 803D7B50 003D37B0  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7B54 003D37B4  4B FD 63 19 */	bl func_803ADE6C
/* 803D7B58 003D37B8  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7B5C 003D37BC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7B60 003D37C0  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7B64 003D37C4  38 04 00 01 */	addi r0, r4, 1
/* 803D7B68 003D37C8  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7B6C 003D37CC  48 00 04 80 */	b lbl_803D7FEC
/* 803D7B70 003D37D0  80 7D 00 28 */	lwz r3, 0x28(r29)
/* 803D7B74 003D37D4  48 00 1C 79 */	bl func_803D97EC
/* 803D7B78 003D37D8  2C 03 00 00 */	cmpwi r3, 0
/* 803D7B7C 003D37DC  40 82 04 70 */	bne lbl_803D7FEC
/* 803D7B80 003D37E0  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D7B84 003D37E4  38 03 00 01 */	addi r0, r3, 1
/* 803D7B88 003D37E8  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7B8C 003D37EC  48 00 04 60 */	b lbl_803D7FEC
/* 803D7B90 003D37F0  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7B94 003D37F4  7F E5 FB 78 */	mr r5, r31
/* 803D7B98 003D37F8  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7B9C 003D37FC  38 C0 04 9C */	li r6, 0x49c
/* 803D7BA0 003D3800  38 E0 00 01 */	li r7, 1
/* 803D7BA4 003D3804  39 00 00 00 */	li r8, 0
/* 803D7BA8 003D3808  39 20 00 00 */	li r9, 0
/* 803D7BAC 003D380C  4B FD 92 E9 */	bl func_803B0E94
/* 803D7BB0 003D3810  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D7BB4 003D3814  38 03 00 01 */	addi r0, r3, 1
/* 803D7BB8 003D3818  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7BBC 003D381C  48 00 04 30 */	b lbl_803D7FEC
/* 803D7BC0 003D3820  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7BC4 003D3824  7F E4 FB 78 */	mr r4, r31
/* 803D7BC8 003D3828  4B FE DE 6D */	bl func_803C5A34
/* 803D7BCC 003D382C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D7BD0 003D3830  41 82 04 1C */	beq lbl_803D7FEC
/* 803D7BD4 003D3834  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7BD8 003D3838  7F E4 FB 78 */	mr r4, r31
/* 803D7BDC 003D383C  4B FE DE 59 */	bl func_803C5A34
/* 803D7BE0 003D3840  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7BE4 003D3844  28 00 00 FF */	cmplwi r0, 0xff
/* 803D7BE8 003D3848  40 82 00 10 */	bne lbl_803D7BF8
/* 803D7BEC 003D384C  38 00 00 1F */	li r0, 0x1f
/* 803D7BF0 003D3850  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7BF4 003D3854  48 00 03 F8 */	b lbl_803D7FEC
lbl_803D7BF8:
/* 803D7BF8 003D3858  38 60 04 9F */	li r3, 0x49f
/* 803D7BFC 003D385C  38 00 00 00 */	li r0, 0
/* 803D7C00 003D3860  B0 61 00 3A */	sth r3, 0x3a(r1)
/* 803D7C04 003D3864  98 01 00 39 */	stb r0, 0x39(r1)
/* 803D7C08 003D3868  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7C0C 003D386C  4B FD 5F B1 */	bl func_803ADBBC
/* 803D7C10 003D3870  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7C14 003D3874  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7C18 003D3878  7F C4 F3 78 */	mr r4, r30
/* 803D7C1C 003D387C  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7C20 003D3880  4B FD 62 4D */	bl func_803ADE6C
/* 803D7C24 003D3884  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803D7C28 003D3888  38 00 00 16 */	li r0, 0x16
/* 803D7C2C 003D388C  90 7D 00 28 */	stw r3, 0x28(r29)
/* 803D7C30 003D3890  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7C34 003D3894  48 00 03 B8 */	b lbl_803D7FEC
/* 803D7C38 003D3898  80 7D 00 28 */	lwz r3, 0x28(r29)
/* 803D7C3C 003D389C  48 00 1B B1 */	bl func_803D97EC
/* 803D7C40 003D38A0  2C 03 00 00 */	cmpwi r3, 0
/* 803D7C44 003D38A4  40 82 03 A8 */	bne lbl_803D7FEC
/* 803D7C48 003D38A8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7C4C 003D38AC  7F E4 FB 78 */	mr r4, r31
/* 803D7C50 003D38B0  80 BD 00 38 */	lwz r5, 0x38(r29)
/* 803D7C54 003D38B4  7E 86 A3 78 */	mr r6, r20
/* 803D7C58 003D38B8  4B FD A0 51 */	bl func_803B1CA8
/* 803D7C5C 003D38BC  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D7C60 003D38C0  38 03 00 01 */	addi r0, r3, 1
/* 803D7C64 003D38C4  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7C68 003D38C8  48 00 03 84 */	b lbl_803D7FEC
/* 803D7C6C 003D38CC  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7C70 003D38D0  7F E4 FB 78 */	mr r4, r31
/* 803D7C74 003D38D4  4B FE DD C1 */	bl func_803C5A34
/* 803D7C78 003D38D8  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7C7C 003D38DC  28 00 00 FF */	cmplwi r0, 0xff
/* 803D7C80 003D38E0  40 82 00 10 */	bne lbl_803D7C90
/* 803D7C84 003D38E4  38 00 00 1F */	li r0, 0x1f
/* 803D7C88 003D38E8  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7C8C 003D38EC  48 00 03 60 */	b lbl_803D7FEC
lbl_803D7C90:
/* 803D7C90 003D38F0  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7C94 003D38F4  7F E4 FB 78 */	mr r4, r31
/* 803D7C98 003D38F8  4B FE DD 9D */	bl func_803C5A34
/* 803D7C9C 003D38FC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D7CA0 003D3900  41 82 03 4C */	beq lbl_803D7FEC
/* 803D7CA4 003D3904  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7CA8 003D3908  57 E3 40 2E */	slwi r3, r31, 8
/* 803D7CAC 003D390C  38 00 00 18 */	li r0, 0x18
/* 803D7CB0 003D3910  7C 64 1A 14 */	add r3, r4, r3
/* 803D7CB4 003D3914  88 63 23 00 */	lbz r3, 0x2300(r3)
/* 803D7CB8 003D3918  38 63 FF FF */	addi r3, r3, -1
/* 803D7CBC 003D391C  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7CC0 003D3920  90 7D 00 3C */	stw r3, 0x3c(r29)
/* 803D7CC4 003D3924  48 00 03 28 */	b lbl_803D7FEC
/* 803D7CC8 003D3928  38 60 04 A0 */	li r3, 0x4a0
/* 803D7CCC 003D392C  38 00 00 00 */	li r0, 0
/* 803D7CD0 003D3930  B0 61 00 3A */	sth r3, 0x3a(r1)
/* 803D7CD4 003D3934  98 01 00 39 */	stb r0, 0x39(r1)
/* 803D7CD8 003D3938  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7CDC 003D393C  4B FD 5E E1 */	bl func_803ADBBC
/* 803D7CE0 003D3940  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7CE4 003D3944  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7CE8 003D3948  7F C4 F3 78 */	mr r4, r30
/* 803D7CEC 003D394C  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7CF0 003D3950  4B FD 61 7D */	bl func_803ADE6C
/* 803D7CF4 003D3954  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7CF8 003D3958  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7CFC 003D395C  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7D00 003D3960  38 04 00 01 */	addi r0, r4, 1
/* 803D7D04 003D3964  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7D08 003D3968  48 00 02 E4 */	b lbl_803D7FEC
/* 803D7D0C 003D396C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7D10 003D3970  7F E5 FB 78 */	mr r5, r31
/* 803D7D14 003D3974  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7D18 003D3978  38 C0 04 A1 */	li r6, 0x4a1
/* 803D7D1C 003D397C  81 1D 00 38 */	lwz r8, 0x38(r29)
/* 803D7D20 003D3980  38 E0 00 02 */	li r7, 2
/* 803D7D24 003D3984  39 20 00 00 */	li r9, 0
/* 803D7D28 003D3988  4B FD 91 6D */	bl func_803B0E94
/* 803D7D2C 003D398C  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 803D7D30 003D3990  38 03 00 01 */	addi r0, r3, 1
/* 803D7D34 003D3994  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7D38 003D3998  48 00 02 B4 */	b lbl_803D7FEC
/* 803D7D3C 003D399C  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7D40 003D39A0  7F E4 FB 78 */	mr r4, r31
/* 803D7D44 003D39A4  4B FE DC F1 */	bl func_803C5A34
/* 803D7D48 003D39A8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803D7D4C 003D39AC  41 82 02 A0 */	beq lbl_803D7FEC
/* 803D7D50 003D39B0  80 7D 00 04 */	lwz r3, 4(r29)
/* 803D7D54 003D39B4  7F E4 FB 78 */	mr r4, r31
/* 803D7D58 003D39B8  4B FE DC DD */	bl func_803C5A34
/* 803D7D5C 003D39BC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7D60 003D39C0  28 00 00 FF */	cmplwi r0, 0xff
/* 803D7D64 003D39C4  40 82 00 10 */	bne lbl_803D7D74
/* 803D7D68 003D39C8  38 00 00 10 */	li r0, 0x10
/* 803D7D6C 003D39CC  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7D70 003D39D0  48 00 02 7C */	b lbl_803D7FEC
lbl_803D7D74:
/* 803D7D74 003D39D4  56 80 40 2E */	slwi r0, r20, 8
/* 803D7D78 003D39D8  38 80 04 A4 */	li r4, 0x4a4
/* 803D7D7C 003D39DC  7F E0 03 78 */	or r0, r31, r0
/* 803D7D80 003D39E0  38 60 00 0A */	li r3, 0xa
/* 803D7D84 003D39E4  B0 81 00 3A */	sth r4, 0x3a(r1)
/* 803D7D88 003D39E8  98 61 00 39 */	stb r3, 0x39(r1)
/* 803D7D8C 003D39EC  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7D90 003D39F0  80 1D 00 38 */	lwz r0, 0x38(r29)
/* 803D7D94 003D39F4  90 01 00 40 */	stw r0, 0x40(r1)
/* 803D7D98 003D39F8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7D9C 003D39FC  4B FD 5E 21 */	bl func_803ADBBC
/* 803D7DA0 003D3A00  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7DA4 003D3A04  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7DA8 003D3A08  7F C4 F3 78 */	mr r4, r30
/* 803D7DAC 003D3A0C  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7DB0 003D3A10  4B FD 60 BD */	bl func_803ADE6C
/* 803D7DB4 003D3A14  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803D7DB8 003D3A18  38 00 00 23 */	li r0, 0x23
/* 803D7DBC 003D3A1C  90 7D 00 28 */	stw r3, 0x28(r29)
/* 803D7DC0 003D3A20  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7DC4 003D3A24  48 00 02 28 */	b lbl_803D7FEC
/* 803D7DC8 003D3A28  80 7D 00 28 */	lwz r3, 0x28(r29)
/* 803D7DCC 003D3A2C  48 00 1A 21 */	bl func_803D97EC
/* 803D7DD0 003D3A30  2C 03 00 00 */	cmpwi r3, 0
/* 803D7DD4 003D3A34  40 82 02 18 */	bne lbl_803D7FEC
/* 803D7DD8 003D3A38  38 00 00 0F */	li r0, 0xf
/* 803D7DDC 003D3A3C  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7DE0 003D3A40  48 00 02 0C */	b lbl_803D7FEC
/* 803D7DE4 003D3A44  38 60 04 A5 */	li r3, 0x4a5
/* 803D7DE8 003D3A48  38 00 00 00 */	li r0, 0
/* 803D7DEC 003D3A4C  B0 61 00 3A */	sth r3, 0x3a(r1)
/* 803D7DF0 003D3A50  98 01 00 39 */	stb r0, 0x39(r1)
/* 803D7DF4 003D3A54  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7DF8 003D3A58  4B FD 5D C5 */	bl func_803ADBBC
/* 803D7DFC 003D3A5C  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7E00 003D3A60  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7E04 003D3A64  7F C4 F3 78 */	mr r4, r30
/* 803D7E08 003D3A68  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7E0C 003D3A6C  4B FD 60 61 */	bl func_803ADE6C
/* 803D7E10 003D3A70  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7E14 003D3A74  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7E18 003D3A78  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7E1C 003D3A7C  38 04 00 01 */	addi r0, r4, 1
/* 803D7E20 003D3A80  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7E24 003D3A84  48 00 01 C8 */	b lbl_803D7FEC
/* 803D7E28 003D3A88  56 80 40 2E */	slwi r0, r20, 8
/* 803D7E2C 003D3A8C  38 60 04 A6 */	li r3, 0x4a6
/* 803D7E30 003D3A90  7F E0 03 78 */	or r0, r31, r0
/* 803D7E34 003D3A94  38 80 00 0A */	li r4, 0xa
/* 803D7E38 003D3A98  B0 61 00 3A */	sth r3, 0x3a(r1)
/* 803D7E3C 003D3A9C  7E A3 AB 78 */	mr r3, r21
/* 803D7E40 003D3AA0  38 A0 00 00 */	li r5, 0
/* 803D7E44 003D3AA4  98 81 00 39 */	stb r4, 0x39(r1)
/* 803D7E48 003D3AA8  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7E4C 003D3AAC  80 9D 00 3C */	lwz r4, 0x3c(r29)
/* 803D7E50 003D3AB0  38 84 00 36 */	addi r4, r4, 0x36
/* 803D7E54 003D3AB4  48 00 5B 89 */	bl func_803DD9DC
/* 803D7E58 003D3AB8  90 61 00 40 */	stw r3, 0x40(r1)
/* 803D7E5C 003D3ABC  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7E60 003D3AC0  4B FD 5D 5D */	bl func_803ADBBC
/* 803D7E64 003D3AC4  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7E68 003D3AC8  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7E6C 003D3ACC  7F C4 F3 78 */	mr r4, r30
/* 803D7E70 003D3AD0  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7E74 003D3AD4  4B FD 5F F9 */	bl func_803ADE6C
/* 803D7E78 003D3AD8  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7E7C 003D3ADC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7E80 003D3AE0  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7E84 003D3AE4  38 04 00 01 */	addi r0, r4, 1
/* 803D7E88 003D3AE8  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7E8C 003D3AEC  48 00 01 60 */	b lbl_803D7FEC
/* 803D7E90 003D3AF0  38 60 04 A7 */	li r3, 0x4a7
/* 803D7E94 003D3AF4  38 00 00 00 */	li r0, 0
/* 803D7E98 003D3AF8  B0 61 00 3A */	sth r3, 0x3a(r1)
/* 803D7E9C 003D3AFC  98 01 00 39 */	stb r0, 0x39(r1)
/* 803D7EA0 003D3B00  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7EA4 003D3B04  4B FD 5D 19 */	bl func_803ADBBC
/* 803D7EA8 003D3B08  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7EAC 003D3B0C  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7EB0 003D3B10  7F C4 F3 78 */	mr r4, r30
/* 803D7EB4 003D3B14  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7EB8 003D3B18  4B FD 5F B5 */	bl func_803ADE6C
/* 803D7EBC 003D3B1C  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 803D7EC0 003D3B20  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D7EC4 003D3B24  90 1D 00 28 */	stw r0, 0x28(r29)
/* 803D7EC8 003D3B28  38 04 00 01 */	addi r0, r4, 1
/* 803D7ECC 003D3B2C  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7ED0 003D3B30  48 00 01 1C */	b lbl_803D7FEC
/* 803D7ED4 003D3B34  56 80 40 2E */	slwi r0, r20, 8
/* 803D7ED8 003D3B38  38 80 04 A8 */	li r4, 0x4a8
/* 803D7EDC 003D3B3C  7F E0 03 78 */	or r0, r31, r0
/* 803D7EE0 003D3B40  38 60 00 0A */	li r3, 0xa
/* 803D7EE4 003D3B44  B0 81 00 3A */	sth r4, 0x3a(r1)
/* 803D7EE8 003D3B48  98 61 00 39 */	stb r3, 0x39(r1)
/* 803D7EEC 003D3B4C  90 01 00 3C */	stw r0, 0x3c(r1)
/* 803D7EF0 003D3B50  80 1D 00 38 */	lwz r0, 0x38(r29)
/* 803D7EF4 003D3B54  90 01 00 40 */	stw r0, 0x40(r1)
/* 803D7EF8 003D3B58  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7EFC 003D3B5C  4B FD 5C C1 */	bl func_803ADBBC
/* 803D7F00 003D3B60  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 803D7F04 003D3B64  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7F08 003D3B68  7F C4 F3 78 */	mr r4, r30
/* 803D7F0C 003D3B6C  38 A1 00 38 */	addi r5, r1, 0x38
/* 803D7F10 003D3B70  4B FD 5F 5D */	bl func_803ADE6C
/* 803D7F14 003D3B74  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 803D7F18 003D3B78  38 00 00 00 */	li r0, 0
/* 803D7F1C 003D3B7C  90 7D 00 28 */	stw r3, 0x28(r29)
/* 803D7F20 003D3B80  7E A3 AB 78 */	mr r3, r21
/* 803D7F24 003D3B84  38 A1 00 10 */	addi r5, r1, 0x10
/* 803D7F28 003D3B88  90 01 00 10 */	stw r0, 0x10(r1)
/* 803D7F2C 003D3B8C  80 9D 00 3C */	lwz r4, 0x3c(r29)
/* 803D7F30 003D3B90  38 84 00 3E */	addi r4, r4, 0x3e
/* 803D7F34 003D3B94  48 00 35 F1 */	bl func_803DB524
/* 803D7F38 003D3B98  80 9D 00 38 */	lwz r4, 0x38(r29)
/* 803D7F3C 003D3B9C  7E A3 AB 78 */	mr r3, r21
/* 803D7F40 003D3BA0  80 1D 00 3C */	lwz r0, 0x3c(r29)
/* 803D7F44 003D3BA4  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 803D7F48 003D3BA8  54 05 06 3E */	clrlwi r5, r0, 0x18
/* 803D7F4C 003D3BAC  48 00 46 49 */	bl func_803DC594
/* 803D7F50 003D3BB0  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7F54 003D3BB4  7C 64 FA 14 */	add r3, r4, r31
/* 803D7F58 003D3BB8  88 C3 21 9C */	lbz r6, 0x219c(r3)
/* 803D7F5C 003D3BBC  7C 14 30 00 */	cmpw r20, r6
/* 803D7F60 003D3BC0  40 82 00 10 */	bne lbl_803D7F70
/* 803D7F64 003D3BC4  80 7D 00 00 */	lwz r3, 0(r29)
/* 803D7F68 003D3BC8  7F E5 FB 78 */	mr r5, r31
/* 803D7F6C 003D3BCC  4B FE 28 B5 */	bl func_803BA820
lbl_803D7F70:
/* 803D7F70 003D3BD0  38 00 00 24 */	li r0, 0x24
/* 803D7F74 003D3BD4  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7F78 003D3BD8  48 00 00 74 */	b lbl_803D7FEC
/* 803D7F7C 003D3BDC  80 7D 00 28 */	lwz r3, 0x28(r29)
/* 803D7F80 003D3BE0  48 00 18 6D */	bl func_803D97EC
/* 803D7F84 003D3BE4  2C 03 00 00 */	cmpwi r3, 0
/* 803D7F88 003D3BE8  40 82 00 64 */	bne lbl_803D7FEC
/* 803D7F8C 003D3BEC  38 00 00 0F */	li r0, 0xf
/* 803D7F90 003D3BF0  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7F94 003D3BF4  48 00 00 58 */	b lbl_803D7FEC
/* 803D7F98 003D3BF8  7E 83 A3 78 */	mr r3, r20
/* 803D7F9C 003D3BFC  48 00 59 85 */	bl func_803DD920
/* 803D7FA0 003D3C00  80 1D 00 04 */	lwz r0, 4(r29)
/* 803D7FA4 003D3C04  38 80 FF FF */	li r4, -1
/* 803D7FA8 003D3C08  7C 66 22 78 */	xor r6, r3, r4
/* 803D7FAC 003D3C0C  38 74 00 01 */	addi r3, r20, 1
/* 803D7FB0 003D3C10  7C A0 B2 14 */	add r5, r0, r22
/* 803D7FB4 003D3C14  38 00 00 00 */	li r0, 0
/* 803D7FB8 003D3C18  80 85 00 A4 */	lwz r4, 0xa4(r5)
/* 803D7FBC 003D3C1C  7C 84 30 38 */	and r4, r4, r6
/* 803D7FC0 003D3C20  90 85 00 A4 */	stw r4, 0xa4(r5)
/* 803D7FC4 003D3C24  90 7D 00 40 */	stw r3, 0x40(r29)
/* 803D7FC8 003D3C28  90 1D 00 20 */	stw r0, 0x20(r29)
/* 803D7FCC 003D3C2C  48 00 00 20 */	b lbl_803D7FEC
/* 803D7FD0 003D3C30  80 9D 00 04 */	lwz r4, 4(r29)
/* 803D7FD4 003D3C34  38 00 00 00 */	li r0, 0
/* 803D7FD8 003D3C38  7F A3 EB 78 */	mr r3, r29
/* 803D7FDC 003D3C3C  90 04 01 78 */	stw r0, 0x178(r4)
/* 803D7FE0 003D3C40  4B D9 60 C1 */	bl func_8016E0A0
/* 803D7FE4 003D3C44  7E 63 9B 78 */	mr r3, r19
/* 803D7FE8 003D3C48  48 00 6F 55 */	bl func_803DEF3C
lbl_803D7FEC:
/* 803D7FEC 003D3C4C  39 61 00 A0 */	addi r11, r1, 0xa0
/* 803D7FF0 003D3C50  4B DE F1 61 */	bl _restgpr_18
/* 803D7FF4 003D3C54  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 803D7FF8 003D3C58  7C 08 03 A6 */	mtlr r0
/* 803D7FFC 003D3C5C  38 21 00 A0 */	addi r1, r1, 0xa0
/* 803D8000 003D3C60  4E 80 00 20 */	blr 
lbl_803D8004:
/* 803D8004 003D3C64  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D8008 003D3C68  7C 08 02 A6 */	mflr r0
/* 803D800C 003D3C6C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D8010 003D3C70  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D8014 003D3C74  7C 7F 1B 78 */	mr r31, r3
/* 803D8018 003D3C78  7C 83 23 78 */	mr r3, r4
/* 803D801C 003D3C7C  4B D9 60 85 */	bl func_8016E0A0
/* 803D8020 003D3C80  7F E3 FB 78 */	mr r3, r31
/* 803D8024 003D3C84  48 00 6F 19 */	bl func_803DEF3C
/* 803D8028 003D3C88  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D802C 003D3C8C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D8030 003D3C90  7C 08 03 A6 */	mtlr r0
/* 803D8034 003D3C94  38 21 00 10 */	addi r1, r1, 0x10
/* 803D8038 003D3C98  4E 80 00 20 */	blr 

.global func_803D803C
func_803D803C:
/* 803D803C 003D3C9C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D8040 003D3CA0  7C 08 02 A6 */	mflr r0
/* 803D8044 003D3CA4  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D8048 003D3CA8  39 61 00 20 */	addi r11, r1, 0x20
/* 803D804C 003D3CAC  4B DE F0 DD */	bl _savegpr_27
/* 803D8050 003D3CB0  2C 05 00 0D */	cmpwi r5, 0xd
/* 803D8054 003D3CB4  7C 7E 1B 78 */	mr r30, r3
/* 803D8058 003D3CB8  7C 9B 23 78 */	mr r27, r4
/* 803D805C 003D3CBC  41 82 00 B4 */	beq lbl_803D8110
/* 803D8060 003D3CC0  40 80 00 60 */	bge lbl_803D80C0
/* 803D8064 003D3CC4  2C 05 00 06 */	cmpwi r5, 6
/* 803D8068 003D3CC8  41 82 00 C0 */	beq lbl_803D8128
/* 803D806C 003D3CCC  40 80 00 2C */	bge lbl_803D8098
/* 803D8070 003D3CD0  2C 05 00 03 */	cmpwi r5, 3
/* 803D8074 003D3CD4  41 82 01 94 */	beq lbl_803D8208
/* 803D8078 003D3CD8  40 80 00 14 */	bge lbl_803D808C
/* 803D807C 003D3CDC  2C 05 00 01 */	cmpwi r5, 1
/* 803D8080 003D3CE0  41 82 00 90 */	beq lbl_803D8110
/* 803D8084 003D3CE4  40 80 00 94 */	bge lbl_803D8118
/* 803D8088 003D3CE8  48 00 00 88 */	b lbl_803D8110
lbl_803D808C:
/* 803D808C 003D3CEC  2C 05 00 05 */	cmpwi r5, 5
/* 803D8090 003D3CF0  40 80 00 90 */	bge lbl_803D8120
/* 803D8094 003D3CF4  48 00 00 AC */	b lbl_803D8140
lbl_803D8098:
/* 803D8098 003D3CF8  2C 05 00 0A */	cmpwi r5, 0xa
/* 803D809C 003D3CFC  41 82 00 DC */	beq lbl_803D8178
/* 803D80A0 003D3D00  40 80 00 14 */	bge lbl_803D80B4
/* 803D80A4 003D3D04  2C 05 00 08 */	cmpwi r5, 8
/* 803D80A8 003D3D08  41 82 00 90 */	beq lbl_803D8138
/* 803D80AC 003D3D0C  40 80 01 94 */	bge lbl_803D8240
/* 803D80B0 003D3D10  48 00 00 80 */	b lbl_803D8130
lbl_803D80B4:
/* 803D80B4 003D3D14  2C 05 00 0C */	cmpwi r5, 0xc
/* 803D80B8 003D3D18  40 80 01 00 */	bge lbl_803D81B8
/* 803D80BC 003D3D1C  48 00 01 C4 */	b lbl_803D8280
lbl_803D80C0:
/* 803D80C0 003D3D20  2C 05 00 14 */	cmpwi r5, 0x14
/* 803D80C4 003D3D24  41 82 03 18 */	beq lbl_803D83DC
/* 803D80C8 003D3D28  40 80 00 2C */	bge lbl_803D80F4
/* 803D80CC 003D3D2C  2C 05 00 11 */	cmpwi r5, 0x11
/* 803D80D0 003D3D30  41 82 02 68 */	beq lbl_803D8338
/* 803D80D4 003D3D34  40 80 00 14 */	bge lbl_803D80E8
/* 803D80D8 003D3D38  2C 05 00 0F */	cmpwi r5, 0xf
/* 803D80DC 003D3D3C  41 82 01 F8 */	beq lbl_803D82D4
/* 803D80E0 003D3D40  40 80 01 FC */	bge lbl_803D82DC
/* 803D80E4 003D3D44  48 00 01 E8 */	b lbl_803D82CC
lbl_803D80E8:
/* 803D80E8 003D3D48  2C 05 00 13 */	cmpwi r5, 0x13
/* 803D80EC 003D3D4C  40 80 02 A8 */	bge lbl_803D8394
/* 803D80F0 003D3D50  48 00 00 20 */	b lbl_803D8110
lbl_803D80F4:
/* 803D80F4 003D3D54  2C 05 00 FF */	cmpwi r5, 0xff
/* 803D80F8 003D3D58  41 82 03 2C */	beq lbl_803D8424
/* 803D80FC 003D3D5C  40 80 00 14 */	bge lbl_803D8110
/* 803D8100 003D3D60  2C 05 00 16 */	cmpwi r5, 0x16
/* 803D8104 003D3D64  41 82 00 24 */	beq lbl_803D8128
/* 803D8108 003D3D68  40 80 00 08 */	bge lbl_803D8110
/* 803D810C 003D3D6C  48 00 03 18 */	b lbl_803D8424
lbl_803D8110:
/* 803D8110 003D3D70  83 E4 00 64 */	lwz r31, 0x64(r4)
/* 803D8114 003D3D74  48 00 03 14 */	b lbl_803D8428
lbl_803D8118:
/* 803D8118 003D3D78  83 E4 00 6C */	lwz r31, 0x6c(r4)
/* 803D811C 003D3D7C  48 00 03 0C */	b lbl_803D8428
lbl_803D8120:
/* 803D8120 003D3D80  83 E4 00 74 */	lwz r31, 0x74(r4)
/* 803D8124 003D3D84  48 00 03 04 */	b lbl_803D8428
lbl_803D8128:
/* 803D8128 003D3D88  83 E4 00 78 */	lwz r31, 0x78(r4)
/* 803D812C 003D3D8C  48 00 02 FC */	b lbl_803D8428
lbl_803D8130:
/* 803D8130 003D3D90  83 E4 00 94 */	lwz r31, 0x94(r4)
/* 803D8134 003D3D94  48 00 02 F4 */	b lbl_803D8428
lbl_803D8138:
/* 803D8138 003D3D98  83 E4 00 80 */	lwz r31, 0x80(r4)
/* 803D813C 003D3D9C  48 00 02 EC */	b lbl_803D8428
lbl_803D8140:
/* 803D8140 003D3DA0  4B FD 47 21 */	bl func_803AC860
/* 803D8144 003D3DA4  7C 7C 1B 78 */	mr r28, r3
/* 803D8148 003D3DA8  3B E0 00 00 */	li r31, 0
/* 803D814C 003D3DAC  48 00 00 20 */	b lbl_803D816C
lbl_803D8150:
/* 803D8150 003D3DB0  7F C3 F3 78 */	mr r3, r30
/* 803D8154 003D3DB4  7F E4 FB 78 */	mr r4, r31
/* 803D8158 003D3DB8  4B FD 46 F9 */	bl cTeam_GetPlayer
/* 803D815C 003D3DBC  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D8160 003D3DC0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D8164 003D3DC4  40 82 02 C4 */	bne lbl_803D8428
/* 803D8168 003D3DC8  3B FF 00 01 */	addi r31, r31, 1
lbl_803D816C:
/* 803D816C 003D3DCC  7C 1F E0 00 */	cmpw r31, r28
/* 803D8170 003D3DD0  41 80 FF E0 */	blt lbl_803D8150
/* 803D8174 003D3DD4  48 00 02 B4 */	b lbl_803D8428
lbl_803D8178:
/* 803D8178 003D3DD8  4B FD 46 E9 */	bl func_803AC860
/* 803D817C 003D3DDC  7C 7C 1B 78 */	mr r28, r3
/* 803D8180 003D3DE0  3B E0 00 00 */	li r31, 0
/* 803D8184 003D3DE4  48 00 00 28 */	b lbl_803D81AC
lbl_803D8188:
/* 803D8188 003D3DE8  7F C3 F3 78 */	mr r3, r30
/* 803D818C 003D3DEC  7F E4 FB 78 */	mr r4, r31
/* 803D8190 003D3DF0  4B FD 46 C1 */	bl cTeam_GetPlayer
/* 803D8194 003D3DF4  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D8198 003D3DF8  28 00 00 03 */	cmplwi r0, 3
/* 803D819C 003D3DFC  41 82 02 8C */	beq lbl_803D8428
/* 803D81A0 003D3E00  28 00 00 01 */	cmplwi r0, 1
/* 803D81A4 003D3E04  41 82 02 84 */	beq lbl_803D8428
/* 803D81A8 003D3E08  3B FF 00 01 */	addi r31, r31, 1
lbl_803D81AC:
/* 803D81AC 003D3E0C  7C 1F E0 00 */	cmpw r31, r28
/* 803D81B0 003D3E10  41 80 FF D8 */	blt lbl_803D8188
/* 803D81B4 003D3E14  48 00 02 74 */	b lbl_803D8428
lbl_803D81B8:
/* 803D81B8 003D3E18  4B FD 46 89 */	bl func_803AC840
/* 803D81BC 003D3E1C  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 803D81C0 003D3E20  3B A0 00 01 */	li r29, 1
/* 803D81C4 003D3E24  41 82 00 08 */	beq lbl_803D81CC
/* 803D81C8 003D3E28  3B A0 00 05 */	li r29, 5
lbl_803D81CC:
/* 803D81CC 003D3E2C  7F C3 F3 78 */	mr r3, r30
/* 803D81D0 003D3E30  4B FD 46 91 */	bl func_803AC860
/* 803D81D4 003D3E34  7C 7C 1B 78 */	mr r28, r3
/* 803D81D8 003D3E38  3B E0 00 00 */	li r31, 0
/* 803D81DC 003D3E3C  48 00 00 20 */	b lbl_803D81FC
lbl_803D81E0:
/* 803D81E0 003D3E40  7F C3 F3 78 */	mr r3, r30
/* 803D81E4 003D3E44  7F E4 FB 78 */	mr r4, r31
/* 803D81E8 003D3E48  4B FD 46 69 */	bl cTeam_GetPlayer
/* 803D81EC 003D3E4C  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D81F0 003D3E50  7C 00 E8 00 */	cmpw r0, r29
/* 803D81F4 003D3E54  41 82 02 34 */	beq lbl_803D8428
/* 803D81F8 003D3E58  3B FF 00 01 */	addi r31, r31, 1
lbl_803D81FC:
/* 803D81FC 003D3E5C  7C 1F E0 00 */	cmpw r31, r28
/* 803D8200 003D3E60  41 80 FF E0 */	blt lbl_803D81E0
/* 803D8204 003D3E64  48 00 02 24 */	b lbl_803D8428
lbl_803D8208:
/* 803D8208 003D3E68  4B FD 46 59 */	bl func_803AC860
/* 803D820C 003D3E6C  7C 7C 1B 78 */	mr r28, r3
/* 803D8210 003D3E70  3B E0 00 00 */	li r31, 0
/* 803D8214 003D3E74  48 00 00 20 */	b lbl_803D8234
lbl_803D8218:
/* 803D8218 003D3E78  7F C3 F3 78 */	mr r3, r30
/* 803D821C 003D3E7C  7F E4 FB 78 */	mr r4, r31
/* 803D8220 003D3E80  4B FD 46 31 */	bl cTeam_GetPlayer
/* 803D8224 003D3E84  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D8228 003D3E88  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 803D822C 003D3E8C  41 82 01 FC */	beq lbl_803D8428
/* 803D8230 003D3E90  3B FF 00 01 */	addi r31, r31, 1
lbl_803D8234:
/* 803D8234 003D3E94  7C 1F E0 00 */	cmpw r31, r28
/* 803D8238 003D3E98  41 80 FF E0 */	blt lbl_803D8218
/* 803D823C 003D3E9C  48 00 01 EC */	b lbl_803D8428
lbl_803D8240:
/* 803D8240 003D3EA0  4B FD 46 21 */	bl func_803AC860
/* 803D8244 003D3EA4  7C 7C 1B 78 */	mr r28, r3
/* 803D8248 003D3EA8  3B E0 00 00 */	li r31, 0
/* 803D824C 003D3EAC  48 00 00 28 */	b lbl_803D8274
lbl_803D8250:
/* 803D8250 003D3EB0  7F C3 F3 78 */	mr r3, r30
/* 803D8254 003D3EB4  7F E4 FB 78 */	mr r4, r31
/* 803D8258 003D3EB8  4B FD 45 F9 */	bl cTeam_GetPlayer
/* 803D825C 003D3EBC  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D8260 003D3EC0  28 00 00 02 */	cmplwi r0, 2
/* 803D8264 003D3EC4  41 82 01 C4 */	beq lbl_803D8428
/* 803D8268 003D3EC8  2C 00 00 00 */	cmpwi r0, 0
/* 803D826C 003D3ECC  41 82 01 BC */	beq lbl_803D8428
/* 803D8270 003D3ED0  3B FF 00 01 */	addi r31, r31, 1
lbl_803D8274:
/* 803D8274 003D3ED4  7C 1F E0 00 */	cmpw r31, r28
/* 803D8278 003D3ED8  41 80 FF D8 */	blt lbl_803D8250
/* 803D827C 003D3EDC  48 00 01 AC */	b lbl_803D8428
lbl_803D8280:
/* 803D8280 003D3EE0  4B FD 45 C1 */	bl func_803AC840
/* 803D8284 003D3EE4  54 60 FF FE */	rlwinm r0, r3, 0x1f, 0x1f, 0x1f
/* 803D8288 003D3EE8  7F C3 F3 78 */	mr r3, r30
/* 803D828C 003D3EEC  7C 00 00 D0 */	neg r0, r0
/* 803D8290 003D3EF0  54 1D 07 7A */	rlwinm r29, r0, 0, 0x1d, 0x1d
/* 803D8294 003D3EF4  4B FD 45 CD */	bl func_803AC860
/* 803D8298 003D3EF8  7C 7C 1B 78 */	mr r28, r3
/* 803D829C 003D3EFC  3B E0 00 00 */	li r31, 0
/* 803D82A0 003D3F00  48 00 00 20 */	b lbl_803D82C0
lbl_803D82A4:
/* 803D82A4 003D3F04  7F C3 F3 78 */	mr r3, r30
/* 803D82A8 003D3F08  7F E4 FB 78 */	mr r4, r31
/* 803D82AC 003D3F0C  4B FD 45 A5 */	bl cTeam_GetPlayer
/* 803D82B0 003D3F10  88 03 01 85 */	lbz r0, 0x185(r3)
/* 803D82B4 003D3F14  7C 00 E8 00 */	cmpw r0, r29
/* 803D82B8 003D3F18  41 82 01 70 */	beq lbl_803D8428
/* 803D82BC 003D3F1C  3B FF 00 01 */	addi r31, r31, 1
lbl_803D82C0:
/* 803D82C0 003D3F20  7C 1F E0 00 */	cmpw r31, r28
/* 803D82C4 003D3F24  41 80 FF E0 */	blt lbl_803D82A4
/* 803D82C8 003D3F28  48 00 01 60 */	b lbl_803D8428
lbl_803D82CC:
/* 803D82CC 003D3F2C  83 E4 01 1C */	lwz r31, 0x11c(r4)
/* 803D82D0 003D3F30  48 00 01 58 */	b lbl_803D8428
lbl_803D82D4:
/* 803D82D4 003D3F34  83 E4 01 20 */	lwz r31, 0x120(r4)
/* 803D82D8 003D3F38  48 00 01 50 */	b lbl_803D8428
lbl_803D82DC:
/* 803D82DC 003D3F3C  4B FD 45 85 */	bl func_803AC860
/* 803D82E0 003D3F40  7C 7D 1B 78 */	mr r29, r3
/* 803D82E4 003D3F44  3B E0 00 00 */	li r31, 0
/* 803D82E8 003D3F48  48 00 00 38 */	b lbl_803D8320
lbl_803D82EC:
/* 803D82EC 003D3F4C  80 9B 00 64 */	lwz r4, 0x64(r27)
/* 803D82F0 003D3F50  7C 1F 20 00 */	cmpw r31, r4
/* 803D82F4 003D3F54  41 82 00 28 */	beq lbl_803D831C
/* 803D82F8 003D3F58  7F C3 F3 78 */	mr r3, r30
/* 803D82FC 003D3F5C  4B FD 49 E9 */	bl func_803ACCE4
/* 803D8300 003D3F60  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803D8304 003D3F64  7F C3 F3 78 */	mr r3, r30
/* 803D8308 003D3F68  7F E4 FB 78 */	mr r4, r31
/* 803D830C 003D3F6C  4B FD 49 D9 */	bl func_803ACCE4
/* 803D8310 003D3F70  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D8314 003D3F74  7C 00 E0 40 */	cmplw r0, r28
/* 803D8318 003D3F78  41 82 00 10 */	beq lbl_803D8328
lbl_803D831C:
/* 803D831C 003D3F7C  3B FF 00 01 */	addi r31, r31, 1
lbl_803D8320:
/* 803D8320 003D3F80  7C 1F E8 00 */	cmpw r31, r29
/* 803D8324 003D3F84  41 80 FF C8 */	blt lbl_803D82EC
lbl_803D8328:
/* 803D8328 003D3F88  7C 1F E8 00 */	cmpw r31, r29
/* 803D832C 003D3F8C  40 82 00 FC */	bne lbl_803D8428
/* 803D8330 003D3F90  3B E0 00 00 */	li r31, 0
/* 803D8334 003D3F94  48 00 00 F4 */	b lbl_803D8428
lbl_803D8338:
/* 803D8338 003D3F98  4B FD 45 29 */	bl func_803AC860
/* 803D833C 003D3F9C  7C 7C 1B 78 */	mr r28, r3
/* 803D8340 003D3FA0  3B E0 00 00 */	li r31, 0
/* 803D8344 003D3FA4  48 00 00 38 */	b lbl_803D837C
lbl_803D8348:
/* 803D8348 003D3FA8  80 9B 00 6C */	lwz r4, 0x6c(r27)
/* 803D834C 003D3FAC  7C 1F 20 00 */	cmpw r31, r4
/* 803D8350 003D3FB0  41 82 00 28 */	beq lbl_803D8378
/* 803D8354 003D3FB4  7F C3 F3 78 */	mr r3, r30
/* 803D8358 003D3FB8  4B FD 49 8D */	bl func_803ACCE4
/* 803D835C 003D3FBC  54 7D 06 3E */	clrlwi r29, r3, 0x18
/* 803D8360 003D3FC0  7F C3 F3 78 */	mr r3, r30
/* 803D8364 003D3FC4  7F E4 FB 78 */	mr r4, r31
/* 803D8368 003D3FC8  4B FD 49 7D */	bl func_803ACCE4
/* 803D836C 003D3FCC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D8370 003D3FD0  7C 00 E8 40 */	cmplw r0, r29
/* 803D8374 003D3FD4  41 82 00 10 */	beq lbl_803D8384
lbl_803D8378:
/* 803D8378 003D3FD8  3B FF 00 01 */	addi r31, r31, 1
lbl_803D837C:
/* 803D837C 003D3FDC  7C 1F E0 00 */	cmpw r31, r28
/* 803D8380 003D3FE0  41 80 FF C8 */	blt lbl_803D8348
lbl_803D8384:
/* 803D8384 003D3FE4  7C 1F E0 00 */	cmpw r31, r28
/* 803D8388 003D3FE8  40 82 00 A0 */	bne lbl_803D8428
/* 803D838C 003D3FEC  3B E0 00 00 */	li r31, 0
/* 803D8390 003D3FF0  48 00 00 98 */	b lbl_803D8428
lbl_803D8394:
/* 803D8394 003D3FF4  4B FD 44 CD */	bl func_803AC860
/* 803D8398 003D3FF8  80 9B 00 64 */	lwz r4, 0x64(r27)
/* 803D839C 003D3FFC  7C 7D 1B 78 */	mr r29, r3
/* 803D83A0 003D4000  7F C3 F3 78 */	mr r3, r30
/* 803D83A4 003D4004  4B FD 49 41 */	bl func_803ACCE4
/* 803D83A8 003D4008  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803D83AC 003D400C  3B E0 00 00 */	li r31, 0
/* 803D83B0 003D4010  48 00 00 20 */	b lbl_803D83D0
lbl_803D83B4:
/* 803D83B4 003D4014  7F C3 F3 78 */	mr r3, r30
/* 803D83B8 003D4018  7F E4 FB 78 */	mr r4, r31
/* 803D83BC 003D401C  4B FD 49 29 */	bl func_803ACCE4
/* 803D83C0 003D4020  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D83C4 003D4024  7C 1C 00 00 */	cmpw r28, r0
/* 803D83C8 003D4028  40 82 00 60 */	bne lbl_803D8428
/* 803D83CC 003D402C  3B FF 00 01 */	addi r31, r31, 1
lbl_803D83D0:
/* 803D83D0 003D4030  7C 1F E8 00 */	cmpw r31, r29
/* 803D83D4 003D4034  41 80 FF E0 */	blt lbl_803D83B4
/* 803D83D8 003D4038  48 00 00 50 */	b lbl_803D8428
lbl_803D83DC:
/* 803D83DC 003D403C  4B FD 44 85 */	bl func_803AC860
/* 803D83E0 003D4040  80 9B 00 6C */	lwz r4, 0x6c(r27)
/* 803D83E4 003D4044  7C 7D 1B 78 */	mr r29, r3
/* 803D83E8 003D4048  7F C3 F3 78 */	mr r3, r30
/* 803D83EC 003D404C  4B FD 48 F9 */	bl func_803ACCE4
/* 803D83F0 003D4050  54 7C 06 3E */	clrlwi r28, r3, 0x18
/* 803D83F4 003D4054  3B E0 00 00 */	li r31, 0
/* 803D83F8 003D4058  48 00 00 20 */	b lbl_803D8418
lbl_803D83FC:
/* 803D83FC 003D405C  7F C3 F3 78 */	mr r3, r30
/* 803D8400 003D4060  7F E4 FB 78 */	mr r4, r31
/* 803D8404 003D4064  4B FD 48 E1 */	bl func_803ACCE4
/* 803D8408 003D4068  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D840C 003D406C  7C 1C 00 00 */	cmpw r28, r0
/* 803D8410 003D4070  40 82 00 18 */	bne lbl_803D8428
/* 803D8414 003D4074  3B FF 00 01 */	addi r31, r31, 1
lbl_803D8418:
/* 803D8418 003D4078  7C 1F E8 00 */	cmpw r31, r29
/* 803D841C 003D407C  41 80 FF E0 */	blt lbl_803D83FC
/* 803D8420 003D4080  48 00 00 08 */	b lbl_803D8428
lbl_803D8424:
/* 803D8424 003D4084  83 E4 01 18 */	lwz r31, 0x118(r4)
lbl_803D8428:
/* 803D8428 003D4088  39 61 00 20 */	addi r11, r1, 0x20
/* 803D842C 003D408C  7F E3 FB 78 */	mr r3, r31
/* 803D8430 003D4090  4B DE ED 45 */	bl _restgpr_27
/* 803D8434 003D4094  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D8438 003D4098  7C 08 03 A6 */	mtlr r0
/* 803D843C 003D409C  38 21 00 20 */	addi r1, r1, 0x20
/* 803D8440 003D40A0  4E 80 00 20 */	blr 

.global func_803D8444
func_803D8444:
/* 803D8444 003D40A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D8448 003D40A8  7C 08 02 A6 */	mflr r0
/* 803D844C 003D40AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D8450 003D40B0  39 61 00 20 */	addi r11, r1, 0x20
/* 803D8454 003D40B4  4B DE EC D5 */	bl _savegpr_27
/* 803D8458 003D40B8  7C 7B 1B 78 */	mr r27, r3
/* 803D845C 003D40BC  7C 9C 23 78 */	mr r28, r4
/* 803D8460 003D40C0  3B A0 00 00 */	li r29, 0
/* 803D8464 003D40C4  4B FF EA 09 */	bl func_803D6E6C
/* 803D8468 003D40C8  90 7C 00 00 */	stw r3, 0(r28)
/* 803D846C 003D40CC  7F 63 DB 78 */	mr r3, r27
/* 803D8470 003D40D0  4B FF E9 FD */	bl func_803D6E6C
/* 803D8474 003D40D4  2C 03 00 1F */	cmpwi r3, 0x1f
/* 803D8478 003D40D8  90 7C 00 04 */	stw r3, 4(r28)
/* 803D847C 003D40DC  40 80 00 1C */	bge lbl_803D8498
/* 803D8480 003D40E0  2C 03 00 00 */	cmpwi r3, 0
/* 803D8484 003D40E4  41 82 00 2C */	beq lbl_803D84B0
/* 803D8488 003D40E8  41 80 00 54 */	blt lbl_803D84DC
/* 803D848C 003D40EC  2C 03 00 09 */	cmpwi r3, 9
/* 803D8490 003D40F0  40 80 00 30 */	bge lbl_803D84C0
/* 803D8494 003D40F4  48 00 00 24 */	b lbl_803D84B8
lbl_803D8498:
/* 803D8498 003D40F8  2C 03 00 3C */	cmpwi r3, 0x3c
/* 803D849C 003D40FC  41 82 00 3C */	beq lbl_803D84D8
/* 803D84A0 003D4100  40 80 00 3C */	bge lbl_803D84DC
/* 803D84A4 003D4104  2C 03 00 34 */	cmpwi r3, 0x34
/* 803D84A8 003D4108  40 80 00 28 */	bge lbl_803D84D0
/* 803D84AC 003D410C  48 00 00 1C */	b lbl_803D84C8
lbl_803D84B0:
/* 803D84B0 003D4110  3B A0 00 00 */	li r29, 0
/* 803D84B4 003D4114  48 00 00 28 */	b lbl_803D84DC
lbl_803D84B8:
/* 803D84B8 003D4118  3B A0 00 01 */	li r29, 1
/* 803D84BC 003D411C  48 00 00 20 */	b lbl_803D84DC
lbl_803D84C0:
/* 803D84C0 003D4120  3B A0 00 02 */	li r29, 2
/* 803D84C4 003D4124  48 00 00 18 */	b lbl_803D84DC
lbl_803D84C8:
/* 803D84C8 003D4128  3B A0 00 03 */	li r29, 3
/* 803D84CC 003D412C  48 00 00 10 */	b lbl_803D84DC
lbl_803D84D0:
/* 803D84D0 003D4130  3B A0 00 04 */	li r29, 4
/* 803D84D4 003D4134  48 00 00 08 */	b lbl_803D84DC
lbl_803D84D8:
/* 803D84D8 003D4138  3B A0 00 06 */	li r29, 6
lbl_803D84DC:
/* 803D84DC 003D413C  3B C0 00 00 */	li r30, 0
/* 803D84E0 003D4140  3B E0 00 00 */	li r31, 0
/* 803D84E4 003D4144  48 00 00 1C */	b lbl_803D8500
lbl_803D84E8:
/* 803D84E8 003D4148  7F 63 DB 78 */	mr r3, r27
/* 803D84EC 003D414C  4B FF E9 81 */	bl func_803D6E6C
/* 803D84F0 003D4150  7C 9C FA 14 */	add r4, r28, r31
/* 803D84F4 003D4154  3B FF 00 04 */	addi r31, r31, 4
/* 803D84F8 003D4158  90 64 00 08 */	stw r3, 8(r4)
/* 803D84FC 003D415C  3B DE 00 01 */	addi r30, r30, 1
lbl_803D8500:
/* 803D8500 003D4160  7C 1E E8 00 */	cmpw r30, r29
/* 803D8504 003D4164  41 80 FF E4 */	blt lbl_803D84E8
/* 803D8508 003D4168  39 61 00 20 */	addi r11, r1, 0x20
/* 803D850C 003D416C  4B DE EC 69 */	bl _restgpr_27
/* 803D8510 003D4170  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D8514 003D4174  7C 08 03 A6 */	mtlr r0
/* 803D8518 003D4178  38 21 00 20 */	addi r1, r1, 0x20
/* 803D851C 003D417C  4E 80 00 20 */	blr 

.global func_803D8520
func_803D8520:
/* 803D8520 003D4180  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803D8524 003D4184  7C 08 02 A6 */	mflr r0
/* 803D8528 003D4188  90 01 00 24 */	stw r0, 0x24(r1)
/* 803D852C 003D418C  39 61 00 20 */	addi r11, r1, 0x20
/* 803D8530 003D4190  4B DE EB FD */	bl _savegpr_28
/* 803D8534 003D4194  80 05 00 00 */	lwz r0, 0(r5)
/* 803D8538 003D4198  7C 7C 1B 78 */	mr r28, r3
/* 803D853C 003D419C  7C 9D 23 78 */	mr r29, r4
/* 803D8540 003D41A0  7C BE 2B 78 */	mr r30, r5
/* 803D8544 003D41A4  B0 06 00 02 */	sth r0, 2(r6)
/* 803D8548 003D41A8  7C DF 33 78 */	mr r31, r6
/* 803D854C 003D41AC  80 E5 00 04 */	lwz r7, 4(r5)
/* 803D8550 003D41B0  54 E0 06 3E */	clrlwi r0, r7, 0x18
/* 803D8554 003D41B4  98 E6 00 01 */	stb r7, 1(r6)
/* 803D8558 003D41B8  28 00 00 3C */	cmplwi r0, 0x3c
/* 803D855C 003D41BC  41 81 0A C8 */	bgt lbl_803D9024
/* 803D8560 003D41C0  3C C0 80 47 */	lis r6, lbl_804742C4@ha
/* 803D8564 003D41C4  54 00 10 3A */	slwi r0, r0, 2
/* 803D8568 003D41C8  38 C6 42 C4 */	addi r6, r6, lbl_804742C4@l
/* 803D856C 003D41CC  7C C6 00 2E */	lwzx r6, r6, r0
/* 803D8570 003D41D0  7C C9 03 A6 */	mtctr r6
/* 803D8574 003D41D4  4E 80 04 20 */	bctr 
/* 803D8578 003D41D8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D857C 003D41DC  4B FF FA C1 */	bl func_803D803C
/* 803D8580 003D41E0  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8584 003D41E4  48 00 0A A0 */	b lbl_803D9024
/* 803D8588 003D41E8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D858C 003D41EC  48 00 0A B1 */	bl func_803D903C
/* 803D8590 003D41F0  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8594 003D41F4  48 00 0A 90 */	b lbl_803D9024
/* 803D8598 003D41F8  80 85 00 08 */	lwz r4, 8(r5)
/* 803D859C 003D41FC  7F A3 EB 78 */	mr r3, r29
/* 803D85A0 003D4200  48 00 0B 01 */	bl func_803D90A0
/* 803D85A4 003D4204  90 7F 00 04 */	stw r3, 4(r31)
/* 803D85A8 003D4208  48 00 0A 7C */	b lbl_803D9024
/* 803D85AC 003D420C  80 85 00 08 */	lwz r4, 8(r5)
/* 803D85B0 003D4210  7F A3 EB 78 */	mr r3, r29
/* 803D85B4 003D4214  48 00 0C 21 */	bl func_803D91D4
/* 803D85B8 003D4218  90 7F 00 04 */	stw r3, 4(r31)
/* 803D85BC 003D421C  48 00 0A 68 */	b lbl_803D9024
/* 803D85C0 003D4220  80 85 00 08 */	lwz r4, 8(r5)
/* 803D85C4 003D4224  7F A3 EB 78 */	mr r3, r29
/* 803D85C8 003D4228  48 00 0A FD */	bl func_803D90C4
/* 803D85CC 003D422C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D85D0 003D4230  48 00 0A 54 */	b lbl_803D9024
/* 803D85D4 003D4234  80 85 00 08 */	lwz r4, 8(r5)
/* 803D85D8 003D4238  7F A3 EB 78 */	mr r3, r29
/* 803D85DC 003D423C  48 00 0B 81 */	bl func_803D915C
/* 803D85E0 003D4240  90 7F 00 04 */	stw r3, 4(r31)
/* 803D85E4 003D4244  48 00 0A 40 */	b lbl_803D9024
/* 803D85E8 003D4248  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D85EC 003D424C  4B FF FA 51 */	bl func_803D803C
/* 803D85F0 003D4250  90 7F 00 04 */	stw r3, 4(r31)
/* 803D85F4 003D4254  48 00 0A 30 */	b lbl_803D9024
/* 803D85F8 003D4258  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D85FC 003D425C  48 00 0A 41 */	bl func_803D903C
/* 803D8600 003D4260  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8604 003D4264  7F 83 E3 78 */	mr r3, r28
/* 803D8608 003D4268  7F A4 EB 78 */	mr r4, r29
/* 803D860C 003D426C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8610 003D4270  48 00 0A 2D */	bl func_803D903C
/* 803D8614 003D4274  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8618 003D4278  48 00 0A 0C */	b lbl_803D9024
/* 803D861C 003D427C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8620 003D4280  48 00 0A 1D */	bl func_803D903C
/* 803D8624 003D4284  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8628 003D4288  7F A3 EB 78 */	mr r3, r29
/* 803D862C 003D428C  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8630 003D4290  48 00 0A 71 */	bl func_803D90A0
/* 803D8634 003D4294  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8638 003D4298  48 00 09 EC */	b lbl_803D9024
/* 803D863C 003D429C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8640 003D42A0  48 00 09 FD */	bl func_803D903C
/* 803D8644 003D42A4  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8648 003D42A8  7F 83 E3 78 */	mr r3, r28
/* 803D864C 003D42AC  7F A4 EB 78 */	mr r4, r29
/* 803D8650 003D42B0  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8654 003D42B4  48 00 0B 29 */	bl func_803D917C
/* 803D8658 003D42B8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D865C 003D42BC  48 00 09 C8 */	b lbl_803D9024
/* 803D8660 003D42C0  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8664 003D42C4  48 00 09 D9 */	bl func_803D903C
/* 803D8668 003D42C8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D866C 003D42CC  7F A3 EB 78 */	mr r3, r29
/* 803D8670 003D42D0  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8674 003D42D4  48 00 0B 61 */	bl func_803D91D4
/* 803D8678 003D42D8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D867C 003D42DC  48 00 09 A8 */	b lbl_803D9024
/* 803D8680 003D42E0  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8684 003D42E4  48 00 09 B9 */	bl func_803D903C
/* 803D8688 003D42E8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D868C 003D42EC  7F A3 EB 78 */	mr r3, r29
/* 803D8690 003D42F0  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8694 003D42F4  48 00 0A D9 */	bl func_803D916C
/* 803D8698 003D42F8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D869C 003D42FC  48 00 09 88 */	b lbl_803D9024
/* 803D86A0 003D4300  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D86A4 003D4304  48 00 09 99 */	bl func_803D903C
/* 803D86A8 003D4308  90 7F 00 04 */	stw r3, 4(r31)
/* 803D86AC 003D430C  7F 83 E3 78 */	mr r3, r28
/* 803D86B0 003D4310  7F A4 EB 78 */	mr r4, r29
/* 803D86B4 003D4314  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D86B8 003D4318  4B FF F9 85 */	bl func_803D803C
/* 803D86BC 003D431C  7C 9D 1A 14 */	add r4, r29, r3
/* 803D86C0 003D4320  88 04 21 9C */	lbz r0, 0x219c(r4)
/* 803D86C4 003D4324  54 00 40 2E */	slwi r0, r0, 8
/* 803D86C8 003D4328  7C 60 03 78 */	or r0, r3, r0
/* 803D86CC 003D432C  90 1F 00 08 */	stw r0, 8(r31)
/* 803D86D0 003D4330  48 00 09 54 */	b lbl_803D9024
/* 803D86D4 003D4334  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D86D8 003D4338  48 00 09 65 */	bl func_803D903C
/* 803D86DC 003D433C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D86E0 003D4340  7F A3 EB 78 */	mr r3, r29
/* 803D86E4 003D4344  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D86E8 003D4348  48 00 09 DD */	bl func_803D90C4
/* 803D86EC 003D434C  A0 1F 00 02 */	lhz r0, 2(r31)
/* 803D86F0 003D4350  90 7F 00 08 */	stw r3, 8(r31)
/* 803D86F4 003D4354  28 00 02 01 */	cmplwi r0, 0x201
/* 803D86F8 003D4358  40 82 09 2C */	bne lbl_803D9024
/* 803D86FC 003D435C  80 BE 00 08 */	lwz r5, 8(r30)
/* 803D8700 003D4360  7F 83 E3 78 */	mr r3, r28
/* 803D8704 003D4364  7F A4 EB 78 */	mr r4, r29
/* 803D8708 003D4368  4B FF F9 35 */	bl func_803D803C
/* 803D870C 003D436C  3C 80 80 49 */	lis r4, lbl_8048CE28@ha
/* 803D8710 003D4370  38 84 CE 28 */	addi r4, r4, lbl_8048CE28@l
/* 803D8714 003D4374  90 64 00 0C */	stw r3, 0xc(r4)
/* 803D8718 003D4378  48 00 09 0C */	b lbl_803D9024
/* 803D871C 003D437C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8720 003D4380  48 00 09 1D */	bl func_803D903C
/* 803D8724 003D4384  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8728 003D4388  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 803D872C 003D438C  2C 00 00 FF */	cmpwi r0, 0xff
/* 803D8730 003D4390  41 82 00 08 */	beq lbl_803D8738
/* 803D8734 003D4394  48 00 00 08 */	b lbl_803D873C
lbl_803D8738:
/* 803D8738 003D4398  80 1D 01 30 */	lwz r0, 0x130(r29)
lbl_803D873C:
/* 803D873C 003D439C  90 1F 00 08 */	stw r0, 8(r31)
/* 803D8740 003D43A0  48 00 08 E4 */	b lbl_803D9024
/* 803D8744 003D43A4  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8748 003D43A8  48 00 08 F5 */	bl func_803D903C
/* 803D874C 003D43AC  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8750 003D43B0  7F A3 EB 78 */	mr r3, r29
/* 803D8754 003D43B4  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8758 003D43B8  48 00 0A 05 */	bl func_803D915C
/* 803D875C 003D43BC  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8760 003D43C0  48 00 08 C4 */	b lbl_803D9024
/* 803D8764 003D43C4  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8768 003D43C8  48 00 08 D5 */	bl func_803D903C
/* 803D876C 003D43CC  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8770 003D43D0  7F 83 E3 78 */	mr r3, r28
/* 803D8774 003D43D4  7F A4 EB 78 */	mr r4, r29
/* 803D8778 003D43D8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D877C 003D43DC  4B FF F8 C1 */	bl func_803D803C
/* 803D8780 003D43E0  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8784 003D43E4  48 00 08 A0 */	b lbl_803D9024
/* 803D8788 003D43E8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D878C 003D43EC  48 00 08 B1 */	bl func_803D903C
/* 803D8790 003D43F0  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8794 003D43F4  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 803D8798 003D43F8  90 1F 00 08 */	stw r0, 8(r31)
/* 803D879C 003D43FC  48 00 08 88 */	b lbl_803D9024
/* 803D87A0 003D4400  80 85 00 08 */	lwz r4, 8(r5)
/* 803D87A4 003D4404  7F A3 EB 78 */	mr r3, r29
/* 803D87A8 003D4408  48 00 08 F9 */	bl func_803D90A0
/* 803D87AC 003D440C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D87B0 003D4410  7F 83 E3 78 */	mr r3, r28
/* 803D87B4 003D4414  7F A4 EB 78 */	mr r4, r29
/* 803D87B8 003D4418  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D87BC 003D441C  4B FF F8 81 */	bl func_803D803C
/* 803D87C0 003D4420  90 7F 00 08 */	stw r3, 8(r31)
/* 803D87C4 003D4424  48 00 08 60 */	b lbl_803D9024
/* 803D87C8 003D4428  80 85 00 08 */	lwz r4, 8(r5)
/* 803D87CC 003D442C  7F A3 EB 78 */	mr r3, r29
/* 803D87D0 003D4430  48 00 08 D1 */	bl func_803D90A0
/* 803D87D4 003D4434  90 7F 00 04 */	stw r3, 4(r31)
/* 803D87D8 003D4438  7F 83 E3 78 */	mr r3, r28
/* 803D87DC 003D443C  7F A4 EB 78 */	mr r4, r29
/* 803D87E0 003D4440  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D87E4 003D4444  48 00 08 59 */	bl func_803D903C
/* 803D87E8 003D4448  90 7F 00 08 */	stw r3, 8(r31)
/* 803D87EC 003D444C  48 00 08 38 */	b lbl_803D9024
/* 803D87F0 003D4450  80 85 00 08 */	lwz r4, 8(r5)
/* 803D87F4 003D4454  7F A3 EB 78 */	mr r3, r29
/* 803D87F8 003D4458  48 00 08 A9 */	bl func_803D90A0
/* 803D87FC 003D445C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8800 003D4460  7F A3 EB 78 */	mr r3, r29
/* 803D8804 003D4464  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8808 003D4468  48 00 08 99 */	bl func_803D90A0
/* 803D880C 003D446C  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8810 003D4470  48 00 08 14 */	b lbl_803D9024
/* 803D8814 003D4474  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8818 003D4478  48 00 09 65 */	bl func_803D917C
/* 803D881C 003D447C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8820 003D4480  7F 83 E3 78 */	mr r3, r28
/* 803D8824 003D4484  7F A4 EB 78 */	mr r4, r29
/* 803D8828 003D4488  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D882C 003D448C  48 00 08 11 */	bl func_803D903C
/* 803D8830 003D4490  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8834 003D4494  48 00 07 F0 */	b lbl_803D9024
/* 803D8838 003D4498  80 85 00 08 */	lwz r4, 8(r5)
/* 803D883C 003D449C  7F A3 EB 78 */	mr r3, r29
/* 803D8840 003D44A0  48 00 08 85 */	bl func_803D90C4
/* 803D8844 003D44A4  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8848 003D44A8  7F A3 EB 78 */	mr r3, r29
/* 803D884C 003D44AC  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8850 003D44B0  48 00 08 51 */	bl func_803D90A0
/* 803D8854 003D44B4  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8858 003D44B8  48 00 07 CC */	b lbl_803D9024
/* 803D885C 003D44BC  80 85 00 08 */	lwz r4, 8(r5)
/* 803D8860 003D44C0  7F A3 EB 78 */	mr r3, r29
/* 803D8864 003D44C4  48 00 08 F9 */	bl func_803D915C
/* 803D8868 003D44C8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D886C 003D44CC  7F A3 EB 78 */	mr r3, r29
/* 803D8870 003D44D0  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8874 003D44D4  48 00 08 E9 */	bl func_803D915C
/* 803D8878 003D44D8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D887C 003D44DC  48 00 07 A8 */	b lbl_803D9024
/* 803D8880 003D44E0  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8884 003D44E4  4B FF F7 B9 */	bl func_803D803C
/* 803D8888 003D44E8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D888C 003D44EC  7F 83 E3 78 */	mr r3, r28
/* 803D8890 003D44F0  7F A4 EB 78 */	mr r4, r29
/* 803D8894 003D44F4  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8898 003D44F8  4B FF F7 A5 */	bl func_803D803C
/* 803D889C 003D44FC  90 7F 00 08 */	stw r3, 8(r31)
/* 803D88A0 003D4500  48 00 07 84 */	b lbl_803D9024
/* 803D88A4 003D4504  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D88A8 003D4508  4B FF F7 95 */	bl func_803D803C
/* 803D88AC 003D450C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D88B0 003D4510  7F 83 E3 78 */	mr r3, r28
/* 803D88B4 003D4514  7F A4 EB 78 */	mr r4, r29
/* 803D88B8 003D4518  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D88BC 003D451C  48 00 07 81 */	bl func_803D903C
/* 803D88C0 003D4520  90 7F 00 08 */	stw r3, 8(r31)
/* 803D88C4 003D4524  48 00 07 60 */	b lbl_803D9024
/* 803D88C8 003D4528  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D88CC 003D452C  4B FF F7 71 */	bl func_803D803C
/* 803D88D0 003D4530  90 7F 00 04 */	stw r3, 4(r31)
/* 803D88D4 003D4534  7F A3 EB 78 */	mr r3, r29
/* 803D88D8 003D4538  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D88DC 003D453C  48 00 07 E9 */	bl func_803D90C4
/* 803D88E0 003D4540  90 7F 00 08 */	stw r3, 8(r31)
/* 803D88E4 003D4544  48 00 07 40 */	b lbl_803D9024
/* 803D88E8 003D4548  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D88EC 003D454C  4B FF F7 51 */	bl func_803D803C
/* 803D88F0 003D4550  90 7F 00 04 */	stw r3, 4(r31)
/* 803D88F4 003D4554  7F A3 EB 78 */	mr r3, r29
/* 803D88F8 003D4558  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D88FC 003D455C  48 00 08 61 */	bl func_803D915C
/* 803D8900 003D4560  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8904 003D4564  48 00 07 20 */	b lbl_803D9024
/* 803D8908 003D4568  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D890C 003D456C  4B FF F7 31 */	bl func_803D803C
/* 803D8910 003D4570  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8914 003D4574  7F 83 E3 78 */	mr r3, r28
/* 803D8918 003D4578  7F A4 EB 78 */	mr r4, r29
/* 803D891C 003D457C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8920 003D4580  4B FF F7 1D */	bl func_803D803C
/* 803D8924 003D4584  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8928 003D4588  48 00 06 FC */	b lbl_803D9024
/* 803D892C 003D458C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8930 003D4590  48 00 07 0D */	bl func_803D903C
/* 803D8934 003D4594  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8938 003D4598  7F 83 E3 78 */	mr r3, r28
/* 803D893C 003D459C  7F A4 EB 78 */	mr r4, r29
/* 803D8940 003D45A0  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8944 003D45A4  48 00 06 F9 */	bl func_803D903C
/* 803D8948 003D45A8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D894C 003D45AC  7F A3 EB 78 */	mr r3, r29
/* 803D8950 003D45B0  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8954 003D45B4  48 00 07 4D */	bl func_803D90A0
/* 803D8958 003D45B8  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D895C 003D45BC  48 00 06 C8 */	b lbl_803D9024
/* 803D8960 003D45C0  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8964 003D45C4  48 00 06 D9 */	bl func_803D903C
/* 803D8968 003D45C8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D896C 003D45CC  7F 83 E3 78 */	mr r3, r28
/* 803D8970 003D45D0  7F A4 EB 78 */	mr r4, r29
/* 803D8974 003D45D4  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8978 003D45D8  48 00 06 C5 */	bl func_803D903C
/* 803D897C 003D45DC  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8980 003D45E0  7F 83 E3 78 */	mr r3, r28
/* 803D8984 003D45E4  7F A4 EB 78 */	mr r4, r29
/* 803D8988 003D45E8  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D898C 003D45EC  48 00 07 F1 */	bl func_803D917C
/* 803D8990 003D45F0  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8994 003D45F4  48 00 06 90 */	b lbl_803D9024
/* 803D8998 003D45F8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D899C 003D45FC  48 00 06 A1 */	bl func_803D903C
/* 803D89A0 003D4600  90 7F 00 04 */	stw r3, 4(r31)
/* 803D89A4 003D4604  7F 83 E3 78 */	mr r3, r28
/* 803D89A8 003D4608  7F A4 EB 78 */	mr r4, r29
/* 803D89AC 003D460C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D89B0 003D4610  48 00 06 8D */	bl func_803D903C
/* 803D89B4 003D4614  90 7F 00 08 */	stw r3, 8(r31)
/* 803D89B8 003D4618  7F A3 EB 78 */	mr r3, r29
/* 803D89BC 003D461C  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D89C0 003D4620  48 00 07 05 */	bl func_803D90C4
/* 803D89C4 003D4624  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D89C8 003D4628  48 00 06 5C */	b lbl_803D9024
/* 803D89CC 003D462C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D89D0 003D4630  48 00 06 6D */	bl func_803D903C
/* 803D89D4 003D4634  90 7F 00 04 */	stw r3, 4(r31)
/* 803D89D8 003D4638  7F A3 EB 78 */	mr r3, r29
/* 803D89DC 003D463C  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D89E0 003D4640  48 00 06 C1 */	bl func_803D90A0
/* 803D89E4 003D4644  90 7F 00 08 */	stw r3, 8(r31)
/* 803D89E8 003D4648  7F A3 EB 78 */	mr r3, r29
/* 803D89EC 003D464C  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D89F0 003D4650  48 00 06 B1 */	bl func_803D90A0
/* 803D89F4 003D4654  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D89F8 003D4658  48 00 06 2C */	b lbl_803D9024
/* 803D89FC 003D465C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8A00 003D4660  48 00 06 3D */	bl func_803D903C
/* 803D8A04 003D4664  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8A08 003D4668  7F A3 EB 78 */	mr r3, r29
/* 803D8A0C 003D466C  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8A10 003D4670  48 00 06 91 */	bl func_803D90A0
/* 803D8A14 003D4674  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8A18 003D4678  7F A3 EB 78 */	mr r3, r29
/* 803D8A1C 003D467C  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8A20 003D4680  48 00 07 3D */	bl func_803D915C
/* 803D8A24 003D4684  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8A28 003D4688  48 00 05 FC */	b lbl_803D9024
/* 803D8A2C 003D468C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8A30 003D4690  48 00 06 0D */	bl func_803D903C
/* 803D8A34 003D4694  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8A38 003D4698  7F 83 E3 78 */	mr r3, r28
/* 803D8A3C 003D469C  7F A4 EB 78 */	mr r4, r29
/* 803D8A40 003D46A0  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8A44 003D46A4  48 00 07 39 */	bl func_803D917C
/* 803D8A48 003D46A8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8A4C 003D46AC  7F 83 E3 78 */	mr r3, r28
/* 803D8A50 003D46B0  7F A4 EB 78 */	mr r4, r29
/* 803D8A54 003D46B4  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8A58 003D46B8  48 00 05 E5 */	bl func_803D903C
/* 803D8A5C 003D46BC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8A60 003D46C0  48 00 05 C4 */	b lbl_803D9024
/* 803D8A64 003D46C4  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8A68 003D46C8  48 00 05 D5 */	bl func_803D903C
/* 803D8A6C 003D46CC  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8A70 003D46D0  7F 83 E3 78 */	mr r3, r28
/* 803D8A74 003D46D4  7F A4 EB 78 */	mr r4, r29
/* 803D8A78 003D46D8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8A7C 003D46DC  48 00 07 01 */	bl func_803D917C
/* 803D8A80 003D46E0  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8A84 003D46E4  7F A3 EB 78 */	mr r3, r29
/* 803D8A88 003D46E8  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8A8C 003D46EC  48 00 06 15 */	bl func_803D90A0
/* 803D8A90 003D46F0  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8A94 003D46F4  48 00 05 90 */	b lbl_803D9024
/* 803D8A98 003D46F8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8A9C 003D46FC  48 00 05 A1 */	bl func_803D903C
/* 803D8AA0 003D4700  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8AA4 003D4704  7F 83 E3 78 */	mr r3, r28
/* 803D8AA8 003D4708  7F A4 EB 78 */	mr r4, r29
/* 803D8AAC 003D470C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8AB0 003D4710  48 00 06 CD */	bl func_803D917C
/* 803D8AB4 003D4714  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8AB8 003D4718  7F A3 EB 78 */	mr r3, r29
/* 803D8ABC 003D471C  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8AC0 003D4720  48 00 06 05 */	bl func_803D90C4
/* 803D8AC4 003D4724  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8AC8 003D4728  48 00 05 5C */	b lbl_803D9024
/* 803D8ACC 003D472C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8AD0 003D4730  48 00 05 6D */	bl func_803D903C
/* 803D8AD4 003D4734  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8AD8 003D4738  7F 83 E3 78 */	mr r3, r28
/* 803D8ADC 003D473C  7F A4 EB 78 */	mr r4, r29
/* 803D8AE0 003D4740  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8AE4 003D4744  48 00 06 99 */	bl func_803D917C
/* 803D8AE8 003D4748  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8AEC 003D474C  7F A3 EB 78 */	mr r3, r29
/* 803D8AF0 003D4750  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8AF4 003D4754  48 00 06 E1 */	bl func_803D91D4
/* 803D8AF8 003D4758  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8AFC 003D475C  48 00 05 28 */	b lbl_803D9024
/* 803D8B00 003D4760  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8B04 003D4764  48 00 05 39 */	bl func_803D903C
/* 803D8B08 003D4768  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8B0C 003D476C  7F 83 E3 78 */	mr r3, r28
/* 803D8B10 003D4770  7F A4 EB 78 */	mr r4, r29
/* 803D8B14 003D4774  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8B18 003D4778  48 00 06 65 */	bl func_803D917C
/* 803D8B1C 003D477C  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8B20 003D4780  7F A3 EB 78 */	mr r3, r29
/* 803D8B24 003D4784  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8B28 003D4788  48 00 06 45 */	bl func_803D916C
/* 803D8B2C 003D478C  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8B30 003D4790  48 00 04 F4 */	b lbl_803D9024
/* 803D8B34 003D4794  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8B38 003D4798  48 00 05 05 */	bl func_803D903C
/* 803D8B3C 003D479C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8B40 003D47A0  7F 83 E3 78 */	mr r3, r28
/* 803D8B44 003D47A4  7F A4 EB 78 */	mr r4, r29
/* 803D8B48 003D47A8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8B4C 003D47AC  48 00 06 31 */	bl func_803D917C
/* 803D8B50 003D47B0  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8B54 003D47B4  7F A3 EB 78 */	mr r3, r29
/* 803D8B58 003D47B8  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8B5C 003D47BC  48 00 06 89 */	bl func_803D91E4
/* 803D8B60 003D47C0  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8B64 003D47C4  48 00 04 C0 */	b lbl_803D9024
/* 803D8B68 003D47C8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8B6C 003D47CC  48 00 04 D1 */	bl func_803D903C
/* 803D8B70 003D47D0  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8B74 003D47D4  7F 83 E3 78 */	mr r3, r28
/* 803D8B78 003D47D8  7F A4 EB 78 */	mr r4, r29
/* 803D8B7C 003D47DC  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8B80 003D47E0  48 00 05 FD */	bl func_803D917C
/* 803D8B84 003D47E4  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8B88 003D47E8  7F A3 EB 78 */	mr r3, r29
/* 803D8B8C 003D47EC  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8B90 003D47F0  48 00 05 CD */	bl func_803D915C
/* 803D8B94 003D47F4  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8B98 003D47F8  48 00 04 8C */	b lbl_803D9024
/* 803D8B9C 003D47FC  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8BA0 003D4800  48 00 04 9D */	bl func_803D903C
/* 803D8BA4 003D4804  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8BA8 003D4808  7F A3 EB 78 */	mr r3, r29
/* 803D8BAC 003D480C  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8BB0 003D4810  48 00 05 15 */	bl func_803D90C4
/* 803D8BB4 003D4814  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8BB8 003D4818  7F 83 E3 78 */	mr r3, r28
/* 803D8BBC 003D481C  7F A4 EB 78 */	mr r4, r29
/* 803D8BC0 003D4820  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8BC4 003D4824  48 00 04 79 */	bl func_803D903C
/* 803D8BC8 003D4828  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8BCC 003D482C  48 00 04 58 */	b lbl_803D9024
/* 803D8BD0 003D4830  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8BD4 003D4834  48 00 04 69 */	bl func_803D903C
/* 803D8BD8 003D4838  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8BDC 003D483C  7F A3 EB 78 */	mr r3, r29
/* 803D8BE0 003D4840  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8BE4 003D4844  48 00 04 E1 */	bl func_803D90C4
/* 803D8BE8 003D4848  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8BEC 003D484C  7F A3 EB 78 */	mr r3, r29
/* 803D8BF0 003D4850  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8BF4 003D4854  48 00 04 AD */	bl func_803D90A0
/* 803D8BF8 003D4858  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8BFC 003D485C  48 00 04 28 */	b lbl_803D9024
/* 803D8C00 003D4860  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8C04 003D4864  48 00 04 39 */	bl func_803D903C
/* 803D8C08 003D4868  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8C0C 003D486C  7F A3 EB 78 */	mr r3, r29
/* 803D8C10 003D4870  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8C14 003D4874  48 00 04 B1 */	bl func_803D90C4
/* 803D8C18 003D4878  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8C1C 003D487C  7F A3 EB 78 */	mr r3, r29
/* 803D8C20 003D4880  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8C24 003D4884  48 00 05 B1 */	bl func_803D91D4
/* 803D8C28 003D4888  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8C2C 003D488C  48 00 03 F8 */	b lbl_803D9024
/* 803D8C30 003D4890  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8C34 003D4894  48 00 04 09 */	bl func_803D903C
/* 803D8C38 003D4898  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8C3C 003D489C  7F A3 EB 78 */	mr r3, r29
/* 803D8C40 003D48A0  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8C44 003D48A4  48 00 04 81 */	bl func_803D90C4
/* 803D8C48 003D48A8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8C4C 003D48AC  7F A3 EB 78 */	mr r3, r29
/* 803D8C50 003D48B0  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8C54 003D48B4  48 00 05 91 */	bl func_803D91E4
/* 803D8C58 003D48B8  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8C5C 003D48BC  48 00 03 C8 */	b lbl_803D9024
/* 803D8C60 003D48C0  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8C64 003D48C4  48 00 03 D9 */	bl func_803D903C
/* 803D8C68 003D48C8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8C6C 003D48CC  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 803D8C70 003D48D0  90 1F 00 08 */	stw r0, 8(r31)
/* 803D8C74 003D48D4  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803D8C78 003D48D8  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803D8C7C 003D48DC  48 00 03 A8 */	b lbl_803D9024
/* 803D8C80 003D48E0  80 85 00 08 */	lwz r4, 8(r5)
/* 803D8C84 003D48E4  7F A3 EB 78 */	mr r3, r29
/* 803D8C88 003D48E8  48 00 04 3D */	bl func_803D90C4
/* 803D8C8C 003D48EC  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8C90 003D48F0  7F 83 E3 78 */	mr r3, r28
/* 803D8C94 003D48F4  7F A4 EB 78 */	mr r4, r29
/* 803D8C98 003D48F8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8C9C 003D48FC  48 00 03 A1 */	bl func_803D903C
/* 803D8CA0 003D4900  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8CA4 003D4904  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803D8CA8 003D4908  2C 00 00 FF */	cmpwi r0, 0xff
/* 803D8CAC 003D490C  41 82 00 08 */	beq lbl_803D8CB4
/* 803D8CB0 003D4910  48 00 00 08 */	b lbl_803D8CB8
lbl_803D8CB4:
/* 803D8CB4 003D4914  80 1D 01 30 */	lwz r0, 0x130(r29)
lbl_803D8CB8:
/* 803D8CB8 003D4918  90 1F 00 0C */	stw r0, 0xc(r31)
/* 803D8CBC 003D491C  48 00 03 68 */	b lbl_803D9024
/* 803D8CC0 003D4920  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8CC4 003D4924  4B FF F3 79 */	bl func_803D803C
/* 803D8CC8 003D4928  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8CCC 003D492C  7F 83 E3 78 */	mr r3, r28
/* 803D8CD0 003D4930  7F A4 EB 78 */	mr r4, r29
/* 803D8CD4 003D4934  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8CD8 003D4938  48 00 03 65 */	bl func_803D903C
/* 803D8CDC 003D493C  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8CE0 003D4940  7F 83 E3 78 */	mr r3, r28
/* 803D8CE4 003D4944  7F A4 EB 78 */	mr r4, r29
/* 803D8CE8 003D4948  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8CEC 003D494C  48 00 03 51 */	bl func_803D903C
/* 803D8CF0 003D4950  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8CF4 003D4954  48 00 03 30 */	b lbl_803D9024
/* 803D8CF8 003D4958  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8CFC 003D495C  4B FF F3 41 */	bl func_803D803C
/* 803D8D00 003D4960  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8D04 003D4964  7F 83 E3 78 */	mr r3, r28
/* 803D8D08 003D4968  7F A4 EB 78 */	mr r4, r29
/* 803D8D0C 003D496C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8D10 003D4970  4B FF F3 2D */	bl func_803D803C
/* 803D8D14 003D4974  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8D18 003D4978  7F 83 E3 78 */	mr r3, r28
/* 803D8D1C 003D497C  7F A4 EB 78 */	mr r4, r29
/* 803D8D20 003D4980  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8D24 003D4984  48 00 03 19 */	bl func_803D903C
/* 803D8D28 003D4988  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8D2C 003D498C  48 00 02 F8 */	b lbl_803D9024
/* 803D8D30 003D4990  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8D34 003D4994  4B FF F3 09 */	bl func_803D803C
/* 803D8D38 003D4998  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8D3C 003D499C  7F 83 E3 78 */	mr r3, r28
/* 803D8D40 003D49A0  7F A4 EB 78 */	mr r4, r29
/* 803D8D44 003D49A4  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8D48 003D49A8  4B FF F2 F5 */	bl func_803D803C
/* 803D8D4C 003D49AC  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8D50 003D49B0  7F A3 EB 78 */	mr r3, r29
/* 803D8D54 003D49B4  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803D8D58 003D49B8  48 00 03 6D */	bl func_803D90C4
/* 803D8D5C 003D49BC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8D60 003D49C0  48 00 02 C4 */	b lbl_803D9024
/* 803D8D64 003D49C4  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8D68 003D49C8  48 00 02 D5 */	bl func_803D903C
/* 803D8D6C 003D49CC  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8D70 003D49D0  7F 83 E3 78 */	mr r3, r28
/* 803D8D74 003D49D4  7F A4 EB 78 */	mr r4, r29
/* 803D8D78 003D49D8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8D7C 003D49DC  48 00 04 01 */	bl func_803D917C
/* 803D8D80 003D49E0  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8D84 003D49E4  7F 83 E3 78 */	mr r3, r28
/* 803D8D88 003D49E8  7F A4 EB 78 */	mr r4, r29
/* 803D8D8C 003D49EC  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8D90 003D49F0  48 00 02 AD */	bl func_803D903C
/* 803D8D94 003D49F4  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8D98 003D49F8  7F A3 EB 78 */	mr r3, r29
/* 803D8D9C 003D49FC  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 803D8DA0 003D4A00  48 00 03 01 */	bl func_803D90A0
/* 803D8DA4 003D4A04  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8DA8 003D4A08  48 00 02 7C */	b lbl_803D9024
/* 803D8DAC 003D4A0C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8DB0 003D4A10  48 00 02 8D */	bl func_803D903C
/* 803D8DB4 003D4A14  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8DB8 003D4A18  7F 83 E3 78 */	mr r3, r28
/* 803D8DBC 003D4A1C  7F A4 EB 78 */	mr r4, r29
/* 803D8DC0 003D4A20  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8DC4 003D4A24  48 00 03 B9 */	bl func_803D917C
/* 803D8DC8 003D4A28  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8DCC 003D4A2C  7F 83 E3 78 */	mr r3, r28
/* 803D8DD0 003D4A30  7F A4 EB 78 */	mr r4, r29
/* 803D8DD4 003D4A34  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8DD8 003D4A38  48 00 02 65 */	bl func_803D903C
/* 803D8DDC 003D4A3C  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8DE0 003D4A40  7F 83 E3 78 */	mr r3, r28
/* 803D8DE4 003D4A44  7F A4 EB 78 */	mr r4, r29
/* 803D8DE8 003D4A48  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 803D8DEC 003D4A4C  48 00 03 91 */	bl func_803D917C
/* 803D8DF0 003D4A50  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8DF4 003D4A54  48 00 02 30 */	b lbl_803D9024
/* 803D8DF8 003D4A58  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8DFC 003D4A5C  48 00 02 41 */	bl func_803D903C
/* 803D8E00 003D4A60  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8E04 003D4A64  7F 83 E3 78 */	mr r3, r28
/* 803D8E08 003D4A68  7F A4 EB 78 */	mr r4, r29
/* 803D8E0C 003D4A6C  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8E10 003D4A70  48 00 03 6D */	bl func_803D917C
/* 803D8E14 003D4A74  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8E18 003D4A78  7F 83 E3 78 */	mr r3, r28
/* 803D8E1C 003D4A7C  7F A4 EB 78 */	mr r4, r29
/* 803D8E20 003D4A80  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8E24 003D4A84  48 00 02 19 */	bl func_803D903C
/* 803D8E28 003D4A88  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8E2C 003D4A8C  7F A3 EB 78 */	mr r3, r29
/* 803D8E30 003D4A90  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 803D8E34 003D4A94  48 00 03 A1 */	bl func_803D91D4
/* 803D8E38 003D4A98  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8E3C 003D4A9C  48 00 01 E8 */	b lbl_803D9024
/* 803D8E40 003D4AA0  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8E44 003D4AA4  48 00 01 F9 */	bl func_803D903C
/* 803D8E48 003D4AA8  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8E4C 003D4AAC  7F A3 EB 78 */	mr r3, r29
/* 803D8E50 003D4AB0  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 803D8E54 003D4AB4  48 00 02 71 */	bl func_803D90C4
/* 803D8E58 003D4AB8  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8E5C 003D4ABC  7F 83 E3 78 */	mr r3, r28
/* 803D8E60 003D4AC0  7F A4 EB 78 */	mr r4, r29
/* 803D8E64 003D4AC4  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8E68 003D4AC8  48 00 01 D5 */	bl func_803D903C
/* 803D8E6C 003D4ACC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8E70 003D4AD0  7F A3 EB 78 */	mr r3, r29
/* 803D8E74 003D4AD4  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 803D8E78 003D4AD8  48 00 02 4D */	bl func_803D90C4
/* 803D8E7C 003D4ADC  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8E80 003D4AE0  48 00 01 A4 */	b lbl_803D9024
/* 803D8E84 003D4AE4  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8E88 003D4AE8  4B FF F1 B5 */	bl func_803D803C
/* 803D8E8C 003D4AEC  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8E90 003D4AF0  7F 83 E3 78 */	mr r3, r28
/* 803D8E94 003D4AF4  7F A4 EB 78 */	mr r4, r29
/* 803D8E98 003D4AF8  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8E9C 003D4AFC  48 00 01 A1 */	bl func_803D903C
/* 803D8EA0 003D4B00  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8EA4 003D4B04  7F 83 E3 78 */	mr r3, r28
/* 803D8EA8 003D4B08  7F A4 EB 78 */	mr r4, r29
/* 803D8EAC 003D4B0C  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8EB0 003D4B10  4B FF F1 8D */	bl func_803D803C
/* 803D8EB4 003D4B14  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8EB8 003D4B18  7F 83 E3 78 */	mr r3, r28
/* 803D8EBC 003D4B1C  7F A4 EB 78 */	mr r4, r29
/* 803D8EC0 003D4B20  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 803D8EC4 003D4B24  48 00 01 79 */	bl func_803D903C
/* 803D8EC8 003D4B28  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8ECC 003D4B2C  48 00 01 58 */	b lbl_803D9024
/* 803D8ED0 003D4B30  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8ED4 003D4B34  4B FF F1 69 */	bl func_803D803C
/* 803D8ED8 003D4B38  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8EDC 003D4B3C  7F 83 E3 78 */	mr r3, r28
/* 803D8EE0 003D4B40  7F A4 EB 78 */	mr r4, r29
/* 803D8EE4 003D4B44  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8EE8 003D4B48  4B FF F1 55 */	bl func_803D803C
/* 803D8EEC 003D4B4C  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8EF0 003D4B50  7F 83 E3 78 */	mr r3, r28
/* 803D8EF4 003D4B54  7F A4 EB 78 */	mr r4, r29
/* 803D8EF8 003D4B58  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8EFC 003D4B5C  48 00 01 41 */	bl func_803D903C
/* 803D8F00 003D4B60  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8F04 003D4B64  7F 83 E3 78 */	mr r3, r28
/* 803D8F08 003D4B68  7F A4 EB 78 */	mr r4, r29
/* 803D8F0C 003D4B6C  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 803D8F10 003D4B70  48 00 01 2D */	bl func_803D903C
/* 803D8F14 003D4B74  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8F18 003D4B78  48 00 01 0C */	b lbl_803D9024
/* 803D8F1C 003D4B7C  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8F20 003D4B80  4B FF F1 1D */	bl func_803D803C
/* 803D8F24 003D4B84  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8F28 003D4B88  7F 83 E3 78 */	mr r3, r28
/* 803D8F2C 003D4B8C  7F A4 EB 78 */	mr r4, r29
/* 803D8F30 003D4B90  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8F34 003D4B94  4B FF F1 09 */	bl func_803D803C
/* 803D8F38 003D4B98  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8F3C 003D4B9C  7F 83 E3 78 */	mr r3, r28
/* 803D8F40 003D4BA0  7F A4 EB 78 */	mr r4, r29
/* 803D8F44 003D4BA4  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8F48 003D4BA8  48 00 00 F5 */	bl func_803D903C
/* 803D8F4C 003D4BAC  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8F50 003D4BB0  7F 83 E3 78 */	mr r3, r28
/* 803D8F54 003D4BB4  7F A4 EB 78 */	mr r4, r29
/* 803D8F58 003D4BB8  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 803D8F5C 003D4BBC  4B FF F0 E1 */	bl func_803D803C
/* 803D8F60 003D4BC0  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8F64 003D4BC4  48 00 00 C0 */	b lbl_803D9024
/* 803D8F68 003D4BC8  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8F6C 003D4BCC  4B FF F0 D1 */	bl func_803D803C
/* 803D8F70 003D4BD0  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8F74 003D4BD4  7F 83 E3 78 */	mr r3, r28
/* 803D8F78 003D4BD8  7F A4 EB 78 */	mr r4, r29
/* 803D8F7C 003D4BDC  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8F80 003D4BE0  4B FF F0 BD */	bl func_803D803C
/* 803D8F84 003D4BE4  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8F88 003D4BE8  7F 83 E3 78 */	mr r3, r28
/* 803D8F8C 003D4BEC  7F A4 EB 78 */	mr r4, r29
/* 803D8F90 003D4BF0  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8F94 003D4BF4  4B FF F0 A9 */	bl func_803D803C
/* 803D8F98 003D4BF8  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8F9C 003D4BFC  7F 83 E3 78 */	mr r3, r28
/* 803D8FA0 003D4C00  7F A4 EB 78 */	mr r4, r29
/* 803D8FA4 003D4C04  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 803D8FA8 003D4C08  4B FF F0 95 */	bl func_803D803C
/* 803D8FAC 003D4C0C  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8FB0 003D4C10  48 00 00 74 */	b lbl_803D9024
/* 803D8FB4 003D4C14  80 A5 00 08 */	lwz r5, 8(r5)
/* 803D8FB8 003D4C18  4B FF F0 85 */	bl func_803D803C
/* 803D8FBC 003D4C1C  90 7F 00 04 */	stw r3, 4(r31)
/* 803D8FC0 003D4C20  7F 83 E3 78 */	mr r3, r28
/* 803D8FC4 003D4C24  7F A4 EB 78 */	mr r4, r29
/* 803D8FC8 003D4C28  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 803D8FCC 003D4C2C  4B FF F0 71 */	bl func_803D803C
/* 803D8FD0 003D4C30  90 7F 00 08 */	stw r3, 8(r31)
/* 803D8FD4 003D4C34  7F 83 E3 78 */	mr r3, r28
/* 803D8FD8 003D4C38  7F A4 EB 78 */	mr r4, r29
/* 803D8FDC 003D4C3C  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 803D8FE0 003D4C40  48 00 00 5D */	bl func_803D903C
/* 803D8FE4 003D4C44  90 7F 00 0C */	stw r3, 0xc(r31)
/* 803D8FE8 003D4C48  7F 83 E3 78 */	mr r3, r28
/* 803D8FEC 003D4C4C  7F A4 EB 78 */	mr r4, r29
/* 803D8FF0 003D4C50  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 803D8FF4 003D4C54  4B FF F0 49 */	bl func_803D803C
/* 803D8FF8 003D4C58  90 7F 00 10 */	stw r3, 0x10(r31)
/* 803D8FFC 003D4C5C  7F 83 E3 78 */	mr r3, r28
/* 803D9000 003D4C60  7F A4 EB 78 */	mr r4, r29
/* 803D9004 003D4C64  80 BE 00 18 */	lwz r5, 0x18(r30)
/* 803D9008 003D4C68  4B FF F0 35 */	bl func_803D803C
/* 803D900C 003D4C6C  90 7F 00 14 */	stw r3, 0x14(r31)
/* 803D9010 003D4C70  7F 83 E3 78 */	mr r3, r28
/* 803D9014 003D4C74  7F A4 EB 78 */	mr r4, r29
/* 803D9018 003D4C78  80 BE 00 1C */	lwz r5, 0x1c(r30)
/* 803D901C 003D4C7C  48 00 00 21 */	bl func_803D903C
/* 803D9020 003D4C80  90 7F 00 18 */	stw r3, 0x18(r31)
lbl_803D9024:
/* 803D9024 003D4C84  39 61 00 20 */	addi r11, r1, 0x20
/* 803D9028 003D4C88  4B DE E1 51 */	bl _restgpr_28
/* 803D902C 003D4C8C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803D9030 003D4C90  7C 08 03 A6 */	mtlr r0
/* 803D9034 003D4C94  38 21 00 20 */	addi r1, r1, 0x20
/* 803D9038 003D4C98  4E 80 00 20 */	blr 

.global func_803D903C
func_803D903C:
/* 803D903C 003D4C9C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D9040 003D4CA0  7C 08 02 A6 */	mflr r0
/* 803D9044 003D4CA4  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D9048 003D4CA8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D904C 003D4CAC  7C BF 2B 78 */	mr r31, r5
/* 803D9050 003D4CB0  93 C1 00 08 */	stw r30, 8(r1)
/* 803D9054 003D4CB4  7C 9E 23 78 */	mr r30, r4
/* 803D9058 003D4CB8  4B FF EF E5 */	bl func_803D803C
/* 803D905C 003D4CBC  2C 1F 00 16 */	cmpwi r31, 0x16
/* 803D9060 003D4CC0  40 82 00 18 */	bne lbl_803D9078
/* 803D9064 003D4CC4  7C 9E 1A 14 */	add r4, r30, r3
/* 803D9068 003D4CC8  88 04 21 A0 */	lbz r0, 0x21a0(r4)
/* 803D906C 003D4CCC  54 00 40 2E */	slwi r0, r0, 8
/* 803D9070 003D4CD0  7C 63 03 78 */	or r3, r3, r0
/* 803D9074 003D4CD4  48 00 00 14 */	b lbl_803D9088
lbl_803D9078:
/* 803D9078 003D4CD8  7C 9E 1A 14 */	add r4, r30, r3
/* 803D907C 003D4CDC  88 04 21 9C */	lbz r0, 0x219c(r4)
/* 803D9080 003D4CE0  54 00 40 2E */	slwi r0, r0, 8
/* 803D9084 003D4CE4  7C 63 03 78 */	or r3, r3, r0
lbl_803D9088:
/* 803D9088 003D4CE8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D908C 003D4CEC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D9090 003D4CF0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803D9094 003D4CF4  7C 08 03 A6 */	mtlr r0
/* 803D9098 003D4CF8  38 21 00 10 */	addi r1, r1, 0x10
/* 803D909C 003D4CFC  4E 80 00 20 */	blr 

.global func_803D90A0
func_803D90A0:
/* 803D90A0 003D4D00  2C 04 00 FF */	cmpwi r4, 0xff
/* 803D90A4 003D4D04  41 82 00 18 */	beq lbl_803D90BC
/* 803D90A8 003D4D08  4C 80 00 20 */	bgelr 
/* 803D90AC 003D4D0C  2C 04 00 01 */	cmpwi r4, 1
/* 803D90B0 003D4D10  4C 82 00 20 */	bnelr 
/* 803D90B4 003D4D14  80 63 30 44 */	lwz r3, 0x3044(r3)
/* 803D90B8 003D4D18  4E 80 00 20 */	blr 
lbl_803D90BC:
/* 803D90BC 003D4D1C  80 63 01 24 */	lwz r3, 0x124(r3)
/* 803D90C0 003D4D20  4E 80 00 20 */	blr 

.global func_803D90C4
func_803D90C4:
/* 803D90C4 003D4D24  2C 04 00 15 */	cmpwi r4, 0x15
/* 803D90C8 003D4D28  41 82 00 6C */	beq lbl_803D9134
/* 803D90CC 003D4D2C  40 80 00 1C */	bge lbl_803D90E8
/* 803D90D0 003D4D30  2C 04 00 02 */	cmpwi r4, 2
/* 803D90D4 003D4D34  41 82 00 40 */	beq lbl_803D9114
/* 803D90D8 003D4D38  4C 80 00 20 */	bgelr 
/* 803D90DC 003D4D3C  2C 04 00 01 */	cmpwi r4, 1
/* 803D90E0 003D4D40  40 80 00 14 */	bge lbl_803D90F4
/* 803D90E4 003D4D44  4E 80 00 20 */	blr 
lbl_803D90E8:
/* 803D90E8 003D4D48  2C 04 00 FF */	cmpwi r4, 0xff
/* 803D90EC 003D4D4C  41 82 00 68 */	beq lbl_803D9154
/* 803D90F0 003D4D50  4E 80 00 20 */	blr 
lbl_803D90F4:
/* 803D90F4 003D4D54  80 03 00 64 */	lwz r0, 0x64(r3)
/* 803D90F8 003D4D58  1C A0 00 C0 */	mulli r5, r0, 0xc0
/* 803D90FC 003D4D5C  54 00 0D FC */	rlwinm r0, r0, 1, 0x17, 0x1e
/* 803D9100 003D4D60  7C 83 02 14 */	add r4, r3, r0
/* 803D9104 003D4D64  7C 63 2A 14 */	add r3, r3, r5
/* 803D9108 003D4D68  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803D910C 003D4D6C  B0 64 03 94 */	sth r3, 0x394(r4)
/* 803D9110 003D4D70  4E 80 00 20 */	blr 
lbl_803D9114:
/* 803D9114 003D4D74  80 03 00 6C */	lwz r0, 0x6c(r3)
/* 803D9118 003D4D78  1C A0 00 C0 */	mulli r5, r0, 0xc0
/* 803D911C 003D4D7C  54 00 0D FC */	rlwinm r0, r0, 1, 0x17, 0x1e
/* 803D9120 003D4D80  7C 83 02 14 */	add r4, r3, r0
/* 803D9124 003D4D84  7C 63 2A 14 */	add r3, r3, r5
/* 803D9128 003D4D88  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803D912C 003D4D8C  B0 64 03 94 */	sth r3, 0x394(r4)
/* 803D9130 003D4D90  4E 80 00 20 */	blr 
lbl_803D9134:
/* 803D9134 003D4D94  80 03 01 18 */	lwz r0, 0x118(r3)
/* 803D9138 003D4D98  1C A0 00 C0 */	mulli r5, r0, 0xc0
/* 803D913C 003D4D9C  54 00 0D FC */	rlwinm r0, r0, 1, 0x17, 0x1e
/* 803D9140 003D4DA0  7C 83 02 14 */	add r4, r3, r0
/* 803D9144 003D4DA4  7C 63 2A 14 */	add r3, r3, r5
/* 803D9148 003D4DA8  A0 63 2D B8 */	lhz r3, 0x2db8(r3)
/* 803D914C 003D4DAC  B0 64 03 94 */	sth r3, 0x394(r4)
/* 803D9150 003D4DB0  4E 80 00 20 */	blr 
lbl_803D9154:
/* 803D9154 003D4DB4  80 63 01 28 */	lwz r3, 0x128(r3)
/* 803D9158 003D4DB8  4E 80 00 20 */	blr 

.global func_803D915C
func_803D915C:
/* 803D915C 003D4DBC  2C 04 00 FF */	cmpwi r4, 0xff
/* 803D9160 003D4DC0  4C 82 00 20 */	bnelr 
/* 803D9164 003D4DC4  80 63 01 30 */	lwz r3, 0x130(r3)
/* 803D9168 003D4DC8  4E 80 00 20 */	blr 

.global func_803D916C
func_803D916C:
/* 803D916C 003D4DCC  2C 04 00 FF */	cmpwi r4, 0xff
/* 803D9170 003D4DD0  4C 82 00 20 */	bnelr 
/* 803D9174 003D4DD4  80 63 01 30 */	lwz r3, 0x130(r3)
/* 803D9178 003D4DD8  4E 80 00 20 */	blr 

.global func_803D917C
func_803D917C:
/* 803D917C 003D4DDC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803D9180 003D4DE0  7C 08 02 A6 */	mflr r0
/* 803D9184 003D4DE4  2C 05 00 FF */	cmpwi r5, 0xff
/* 803D9188 003D4DE8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803D918C 003D4DEC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803D9190 003D4DF0  7C 9F 23 78 */	mr r31, r4
/* 803D9194 003D4DF4  41 82 00 08 */	beq lbl_803D919C
/* 803D9198 003D4DF8  48 00 00 0C */	b lbl_803D91A4
lbl_803D919C:
/* 803D919C 003D4DFC  80 64 01 2C */	lwz r3, 0x12c(r4)
/* 803D91A0 003D4E00  48 00 00 20 */	b lbl_803D91C0
lbl_803D91A4:
/* 803D91A4 003D4E04  4B FF EE 99 */	bl func_803D803C
/* 803D91A8 003D4E08  1C A3 00 C0 */	mulli r5, r3, 0xc0
/* 803D91AC 003D4E0C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803D91B0 003D4E10  7C 9F 02 14 */	add r4, r31, r0
/* 803D91B4 003D4E14  7C 7F 2A 14 */	add r3, r31, r5
/* 803D91B8 003D4E18  88 63 2D 67 */	lbz r3, 0x2d67(r3)
/* 803D91BC 003D4E1C  98 64 03 90 */	stb r3, 0x390(r4)
lbl_803D91C0:
/* 803D91C0 003D4E20  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803D91C4 003D4E24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803D91C8 003D4E28  7C 08 03 A6 */	mtlr r0
/* 803D91CC 003D4E2C  38 21 00 10 */	addi r1, r1, 0x10
/* 803D91D0 003D4E30  4E 80 00 20 */	blr 

.global func_803D91D4
func_803D91D4:
/* 803D91D4 003D4E34  2C 04 00 FF */	cmpwi r4, 0xff
/* 803D91D8 003D4E38  4C 82 00 20 */	bnelr 
/* 803D91DC 003D4E3C  80 63 01 30 */	lwz r3, 0x130(r3)
/* 803D91E0 003D4E40  4E 80 00 20 */	blr 

.global func_803D91E4
func_803D91E4:
/* 803D91E4 003D4E44  2C 04 00 FF */	cmpwi r4, 0xff
/* 803D91E8 003D4E48  4C 82 00 20 */	bnelr 
/* 803D91EC 003D4E4C  80 63 01 30 */	lwz r3, 0x130(r3)
/* 803D91F0 003D4E50  4E 80 00 20 */	blr 

.global func_803D91F4
func_803D91F4:
/* 803D91F4 003D4E54  38 6D B3 10 */	addi r3, r13, lbl_806405D0-_SDA_BASE_
/* 803D91F8 003D4E58  38 80 00 01 */	li r4, 1
/* 803D91FC 003D4E5C  38 A0 00 04 */	li r5, 4
/* 803D9200 003D4E60  38 C0 00 00 */	li r6, 0
/* 803D9204 003D4E64  4B C4 B7 10 */	b func_80024914