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
|