summaryrefslogtreecommitdiff
path: root/asm/code_80044F28.s
blob: 257f2fdf6a9ebe25e47c905adb5b91d58ebd4aac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
.include "macros.inc"

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

.global func_80044F28
func_80044F28:
/* 80044F28 00040B88  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80044F2C 00040B8C  7C 08 02 A6 */	mflr r0
/* 80044F30 00040B90  90 01 00 14 */	stw r0, 0x14(r1)
/* 80044F34 00040B94  38 00 00 00 */	li r0, 0
/* 80044F38 00040B98  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80044F3C 00040B9C  7C 7F 1B 78 */	mr r31, r3
/* 80044F40 00040BA0  98 03 00 40 */	stb r0, 0x40(r3)
/* 80044F44 00040BA4  98 03 00 41 */	stb r0, 0x41(r3)
/* 80044F48 00040BA8  98 03 00 42 */	stb r0, 0x42(r3)
/* 80044F4C 00040BAC  98 03 00 10 */	stb r0, 0x10(r3)
/* 80044F50 00040BB0  98 03 00 11 */	stb r0, 0x11(r3)
/* 80044F54 00040BB4  98 03 00 12 */	stb r0, 0x12(r3)
/* 80044F58 00040BB8  48 00 00 1D */	bl func_80044F74
/* 80044F5C 00040BBC  7F E3 FB 78 */	mr r3, r31
/* 80044F60 00040BC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80044F64 00040BC4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80044F68 00040BC8  7C 08 03 A6 */	mtlr r0
/* 80044F6C 00040BCC  38 21 00 10 */	addi r1, r1, 0x10
/* 80044F70 00040BD0  4E 80 00 20 */	blr

.global func_80044F74
func_80044F74:
/* 80044F74 00040BD4  38 00 00 00 */	li r0, 0
/* 80044F78 00040BD8  90 03 00 04 */	stw r0, 4(r3)
/* 80044F7C 00040BDC  90 03 00 08 */	stw r0, 8(r3)
/* 80044F80 00040BE0  90 03 00 0C */	stw r0, 0xc(r3)
/* 80044F84 00040BE4  B0 03 00 3C */	sth r0, 0x3c(r3)
/* 80044F88 00040BE8  98 03 00 3E */	stb r0, 0x3e(r3)
/* 80044F8C 00040BEC  98 03 00 43 */	stb r0, 0x43(r3)
/* 80044F90 00040BF0  98 03 00 3F */	stb r0, 0x3f(r3)
/* 80044F94 00040BF4  98 03 00 40 */	stb r0, 0x40(r3)
/* 80044F98 00040BF8  98 03 00 41 */	stb r0, 0x41(r3)
/* 80044F9C 00040BFC  98 03 00 42 */	stb r0, 0x42(r3)
/* 80044FA0 00040C00  98 03 00 10 */	stb r0, 0x10(r3)
/* 80044FA4 00040C04  98 03 00 11 */	stb r0, 0x11(r3)
/* 80044FA8 00040C08  98 03 00 12 */	stb r0, 0x12(r3)
/* 80044FAC 00040C0C  4E 80 00 20 */	blr

.global func_80044FB0
func_80044FB0:
/* 80044FB0 00040C10  88 63 00 3F */	lbz r3, 0x3f(r3)
/* 80044FB4 00040C14  4E 80 00 20 */	blr

.global func_80044FB8
func_80044FB8:
/* 80044FB8 00040C18  80 03 00 08 */	lwz r0, 8(r3)
/* 80044FBC 00040C1C  38 80 00 00 */	li r4, 0
/* 80044FC0 00040C20  2C 00 00 00 */	cmpwi r0, 0
/* 80044FC4 00040C24  41 82 00 08 */	beq lbl_80044FCC
/* 80044FC8 00040C28  38 80 00 01 */	li r4, 1
lbl_80044FCC:
/* 80044FCC 00040C2C  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80044FD0 00040C30  2C 00 00 00 */	cmpwi r0, 0
/* 80044FD4 00040C34  41 82 00 08 */	beq lbl_80044FDC
/* 80044FD8 00040C38  38 84 00 01 */	addi r4, r4, 1
lbl_80044FDC:
/* 80044FDC 00040C3C  7C 83 23 78 */	mr r3, r4
/* 80044FE0 00040C40  4E 80 00 20 */	blr

.global func_80044FE4
func_80044FE4:
/* 80044FE4 00040C44  38 00 00 00 */	li r0, 0
/* 80044FE8 00040C48  39 00 00 01 */	li r8, 1
/* 80044FEC 00040C4C  99 03 00 3F */	stb r8, 0x3f(r3)
/* 80044FF0 00040C50  90 83 00 00 */	stw r4, 0(r3)
/* 80044FF4 00040C54  90 A3 00 04 */	stw r5, 4(r3)
/* 80044FF8 00040C58  90 C3 00 08 */	stw r6, 8(r3)
/* 80044FFC 00040C5C  90 E3 00 0C */	stw r7, 0xc(r3)
/* 80045000 00040C60  98 03 00 40 */	stb r0, 0x40(r3)
/* 80045004 00040C64  98 03 00 41 */	stb r0, 0x41(r3)
/* 80045008 00040C68  98 03 00 42 */	stb r0, 0x42(r3)
/* 8004500C 00040C6C  4E 80 00 20 */	blr

.global func_80045010
func_80045010:
/* 80045010 00040C70  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80045014 00040C74  7C 08 02 A6 */	mflr r0
/* 80045018 00040C78  90 01 00 14 */	stw r0, 0x14(r1)
/* 8004501C 00040C7C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80045020 00040C80  7C 7F 1B 78 */	mr r31, r3
/* 80045024 00040C84  88 03 00 3F */	lbz r0, 0x3f(r3)
/* 80045028 00040C88  2C 00 00 00 */	cmpwi r0, 0
/* 8004502C 00040C8C  41 82 00 2C */	beq lbl_80045058
/* 80045030 00040C90  88 03 00 40 */	lbz r0, 0x40(r3)
/* 80045034 00040C94  2C 00 00 00 */	cmpwi r0, 0
/* 80045038 00040C98  41 82 00 18 */	beq lbl_80045050
/* 8004503C 00040C9C  80 63 00 04 */	lwz r3, 4(r3)
/* 80045040 00040CA0  4B FF 7E CD */	bl func_8003CF0C
/* 80045044 00040CA4  38 00 00 00 */	li r0, 0
/* 80045048 00040CA8  90 1F 00 04 */	stw r0, 4(r31)
/* 8004504C 00040CAC  98 1F 00 40 */	stb r0, 0x40(r31)
lbl_80045050:
/* 80045050 00040CB0  7F E3 FB 78 */	mr r3, r31
/* 80045054 00040CB4  48 00 00 19 */	bl func_8004506C
lbl_80045058:
/* 80045058 00040CB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8004505C 00040CBC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80045060 00040CC0  7C 08 03 A6 */	mtlr r0
/* 80045064 00040CC4  38 21 00 10 */	addi r1, r1, 0x10
/* 80045068 00040CC8  4E 80 00 20 */	blr

.global func_8004506C
func_8004506C:
/* 8004506C 00040CCC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80045070 00040CD0  7C 08 02 A6 */	mflr r0
/* 80045074 00040CD4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80045078 00040CD8  39 61 00 20 */	addi r11, r1, 0x20
/* 8004507C 00040CDC  48 18 20 AD */	bl _savegpr_27
/* 80045080 00040CE0  7C 7B 1B 78 */	mr r27, r3
/* 80045084 00040CE4  3B 80 00 00 */	li r28, 0
/* 80045088 00040CE8  7F 7E DB 78 */	mr r30, r27
/* 8004508C 00040CEC  3B E0 00 00 */	li r31, 0
lbl_80045090:
/* 80045090 00040CF0  7F BB E2 14 */	add r29, r27, r28
/* 80045094 00040CF4  88 1D 00 41 */	lbz r0, 0x41(r29)
/* 80045098 00040CF8  2C 00 00 00 */	cmpwi r0, 0
/* 8004509C 00040CFC  41 82 00 14 */	beq lbl_800450B0
/* 800450A0 00040D00  80 7E 00 08 */	lwz r3, 8(r30)
/* 800450A4 00040D04  4B FF 7E 69 */	bl func_8003CF0C
/* 800450A8 00040D08  93 FE 00 08 */	stw r31, 8(r30)
/* 800450AC 00040D0C  9B FD 00 41 */	stb r31, 0x41(r29)
lbl_800450B0:
/* 800450B0 00040D10  3B 9C 00 01 */	addi r28, r28, 1
/* 800450B4 00040D14  3B DE 00 04 */	addi r30, r30, 4
/* 800450B8 00040D18  2C 1C 00 02 */	cmpwi r28, 2
/* 800450BC 00040D1C  41 80 FF D4 */	blt lbl_80045090
/* 800450C0 00040D20  39 61 00 20 */	addi r11, r1, 0x20
/* 800450C4 00040D24  48 18 20 B1 */	bl _restgpr_27
/* 800450C8 00040D28  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800450CC 00040D2C  7C 08 03 A6 */	mtlr r0
/* 800450D0 00040D30  38 21 00 20 */	addi r1, r1, 0x20
/* 800450D4 00040D34  4E 80 00 20 */	blr

.global func_800450D8
func_800450D8:
/* 800450D8 00040D38  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800450DC 00040D3C  7C 08 02 A6 */	mflr r0
/* 800450E0 00040D40  90 01 00 24 */	stw r0, 0x24(r1)
/* 800450E4 00040D44  39 61 00 20 */	addi r11, r1, 0x20
/* 800450E8 00040D48  48 18 20 3D */	bl _savegpr_26
/* 800450EC 00040D4C  7C 7A 1B 78 */	mr r26, r3
/* 800450F0 00040D50  80 63 00 04 */	lwz r3, 4(r3)
/* 800450F4 00040D54  7C 9B 23 78 */	mr r27, r4
/* 800450F8 00040D58  7C BC 2B 78 */	mr r28, r5
/* 800450FC 00040D5C  7C DD 33 78 */	mr r29, r6
/* 80045100 00040D60  7C FE 3B 78 */	mr r30, r7
/* 80045104 00040D64  7D 1F 43 78 */	mr r31, r8
/* 80045108 00040D68  4B FF 7E 05 */	bl func_8003CF0C
/* 8004510C 00040D6C  4B FF 90 51 */	bl func_8003E15C
/* 80045110 00040D70  4B FF 90 AD */	bl func_8003E1BC
/* 80045114 00040D74  2C 03 00 00 */	cmpwi r3, 0
/* 80045118 00040D78  90 7A 00 04 */	stw r3, 4(r26)
/* 8004511C 00040D7C  41 82 00 2C */	beq lbl_80045148
/* 80045120 00040D80  7F 84 E3 78 */	mr r4, r28
/* 80045124 00040D84  7F A5 EB 78 */	mr r5, r29
/* 80045128 00040D88  7F E7 FB 78 */	mr r7, r31
/* 8004512C 00040D8C  7F C6 07 74 */	extsb r6, r30
/* 80045130 00040D90  4B FF 7F 91 */	bl func_8003D0C0
/* 80045134 00040D94  80 7A 00 04 */	lwz r3, 4(r26)
/* 80045138 00040D98  38 80 00 02 */	li r4, 2
/* 8004513C 00040D9C  38 00 00 01 */	li r0, 1
/* 80045140 00040DA0  B0 83 05 0C */	sth r4, 0x50c(r3)
/* 80045144 00040DA4  98 1A 00 40 */	stb r0, 0x40(r26)
lbl_80045148:
/* 80045148 00040DA8  38 60 00 00 */	li r3, 0
/* 8004514C 00040DAC  38 00 00 01 */	li r0, 1
/* 80045150 00040DB0  98 7A 00 10 */	stb r3, 0x10(r26)
/* 80045154 00040DB4  39 61 00 20 */	addi r11, r1, 0x20
/* 80045158 00040DB8  98 1A 00 3F */	stb r0, 0x3f(r26)
/* 8004515C 00040DBC  93 7A 00 00 */	stw r27, 0(r26)
/* 80045160 00040DC0  48 18 20 11 */	bl _restgpr_26
/* 80045164 00040DC4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80045168 00040DC8  7C 08 03 A6 */	mtlr r0
/* 8004516C 00040DCC  38 21 00 20 */	addi r1, r1, 0x20
/* 80045170 00040DD0  4E 80 00 20 */	blr
lbl_80045174:
/* 80045174 00040DD4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80045178 00040DD8  7C 08 02 A6 */	mflr r0
/* 8004517C 00040DDC  90 01 00 34 */	stw r0, 0x34(r1)
/* 80045180 00040DE0  39 61 00 30 */	addi r11, r1, 0x30
/* 80045184 00040DE4  48 18 1F A5 */	bl _savegpr_27
/* 80045188 00040DE8  83 C3 00 04 */	lwz r30, 4(r3)
/* 8004518C 00040DEC  7C 7B 1B 78 */	mr r27, r3
/* 80045190 00040DF0  7C 9C 23 78 */	mr r28, r4
/* 80045194 00040DF4  7C BD 2B 78 */	mr r29, r5
/* 80045198 00040DF8  2C 1E 00 00 */	cmpwi r30, 0
/* 8004519C 00040DFC  41 82 01 44 */	beq lbl_800452E0
/* 800451A0 00040E00  A0 1E 05 0C */	lhz r0, 0x50c(r30)
/* 800451A4 00040E04  28 00 00 02 */	cmplwi r0, 2
/* 800451A8 00040E08  41 82 00 08 */	beq lbl_800451B0
/* 800451AC 00040E0C  48 00 01 34 */	b lbl_800452E0
lbl_800451B0:
/* 800451B0 00040E10  39 40 00 00 */	li r10, 0
/* 800451B4 00040E14  39 20 00 01 */	li r9, 1
/* 800451B8 00040E18  1C CA 00 AC */	mulli r6, r10, 0xac
/* 800451BC 00040E1C  39 9E 05 24 */	addi r12, r30, 0x524
/* 800451C0 00040E20  89 7E 05 21 */	lbz r11, 0x521(r30)
/* 800451C4 00040E24  39 00 00 02 */	li r8, 2
/* 800451C8 00040E28  A3 FE 05 1C */	lhz r31, 0x51c(r30)
/* 800451CC 00040E2C  38 E0 00 03 */	li r7, 3
/* 800451D0 00040E30  1C 89 00 AC */	mulli r4, r9, 0xac
/* 800451D4 00040E34  7C CC 32 14 */	add r6, r12, r6
/* 800451D8 00040E38  88 06 00 19 */	lbz r0, 0x19(r6)
/* 800451DC 00040E3C  38 A0 00 04 */	li r5, 4
/* 800451E0 00040E40  39 40 00 05 */	li r10, 5
/* 800451E4 00040E44  98 01 00 08 */	stb r0, 8(r1)
/* 800451E8 00040E48  7C 8C 22 14 */	add r4, r12, r4
/* 800451EC 00040E4C  39 20 00 06 */	li r9, 6
/* 800451F0 00040E50  1C 08 00 AC */	mulli r0, r8, 0xac
/* 800451F4 00040E54  88 C4 00 19 */	lbz r6, 0x19(r4)
/* 800451F8 00040E58  39 00 00 07 */	li r8, 7
/* 800451FC 00040E5C  98 C1 00 09 */	stb r6, 9(r1)
/* 80045200 00040E60  7D 7E 07 74 */	extsb r30, r11
/* 80045204 00040E64  7C 8C 02 14 */	add r4, r12, r0
/* 80045208 00040E68  1C 07 00 AC */	mulli r0, r7, 0xac
/* 8004520C 00040E6C  88 C4 00 19 */	lbz r6, 0x19(r4)
/* 80045210 00040E70  38 E0 00 08 */	li r7, 8
/* 80045214 00040E74  98 C1 00 0A */	stb r6, 0xa(r1)
/* 80045218 00040E78  7C 8C 02 14 */	add r4, r12, r0
/* 8004521C 00040E7C  1C 05 00 AC */	mulli r0, r5, 0xac
/* 80045220 00040E80  88 C4 00 19 */	lbz r6, 0x19(r4)
/* 80045224 00040E84  38 A0 00 09 */	li r5, 9
/* 80045228 00040E88  98 C1 00 0B */	stb r6, 0xb(r1)
/* 8004522C 00040E8C  7C 8C 02 14 */	add r4, r12, r0
/* 80045230 00040E90  88 04 00 19 */	lbz r0, 0x19(r4)
/* 80045234 00040E94  1C CA 00 AC */	mulli r6, r10, 0xac
/* 80045238 00040E98  98 01 00 0C */	stb r0, 0xc(r1)
/* 8004523C 00040E9C  7C CC 32 14 */	add r6, r12, r6
/* 80045240 00040EA0  1C 89 00 AC */	mulli r4, r9, 0xac
/* 80045244 00040EA4  88 06 00 19 */	lbz r0, 0x19(r6)
/* 80045248 00040EA8  98 01 00 0D */	stb r0, 0xd(r1)
/* 8004524C 00040EAC  7C 8C 22 14 */	add r4, r12, r4
/* 80045250 00040EB0  88 C4 00 19 */	lbz r6, 0x19(r4)
/* 80045254 00040EB4  1C 08 00 AC */	mulli r0, r8, 0xac
/* 80045258 00040EB8  98 C1 00 0E */	stb r6, 0xe(r1)
/* 8004525C 00040EBC  7C 8C 02 14 */	add r4, r12, r0
/* 80045260 00040EC0  88 C4 00 19 */	lbz r6, 0x19(r4)
/* 80045264 00040EC4  1C 07 00 AC */	mulli r0, r7, 0xac
/* 80045268 00040EC8  98 C1 00 0F */	stb r6, 0xf(r1)
/* 8004526C 00040ECC  7C 8C 02 14 */	add r4, r12, r0
/* 80045270 00040ED0  88 C4 00 19 */	lbz r6, 0x19(r4)
/* 80045274 00040ED4  1C 05 00 AC */	mulli r0, r5, 0xac
/* 80045278 00040ED8  98 C1 00 10 */	stb r6, 0x10(r1)
/* 8004527C 00040EDC  7C 8C 02 14 */	add r4, r12, r0
/* 80045280 00040EE0  88 04 00 19 */	lbz r0, 0x19(r4)
/* 80045284 00040EE4  98 01 00 11 */	stb r0, 0x11(r1)
/* 80045288 00040EE8  80 63 00 04 */	lwz r3, 4(r3)
/* 8004528C 00040EEC  4B FF 7C 81 */	bl func_8003CF0C
/* 80045290 00040EF0  4B FF 8E CD */	bl func_8003E15C
/* 80045294 00040EF4  4B FF 8F 29 */	bl func_8003E1BC
/* 80045298 00040EF8  2C 03 00 00 */	cmpwi r3, 0
/* 8004529C 00040EFC  90 7B 00 04 */	stw r3, 4(r27)
/* 800452A0 00040F00  41 82 00 2C */	beq lbl_800452CC
/* 800452A4 00040F04  7F E4 FB 78 */	mr r4, r31
/* 800452A8 00040F08  7F A5 EB 78 */	mr r5, r29
/* 800452AC 00040F0C  7F C6 F3 78 */	mr r6, r30
/* 800452B0 00040F10  38 E1 00 08 */	addi r7, r1, 8
/* 800452B4 00040F14  4B FF 7E 0D */	bl func_8003D0C0
/* 800452B8 00040F18  80 7B 00 04 */	lwz r3, 4(r27)
/* 800452BC 00040F1C  38 80 00 02 */	li r4, 2
/* 800452C0 00040F20  38 00 00 01 */	li r0, 1
/* 800452C4 00040F24  B0 83 05 0C */	sth r4, 0x50c(r3)
/* 800452C8 00040F28  98 1B 00 40 */	stb r0, 0x40(r27)
lbl_800452CC:
/* 800452CC 00040F2C  38 60 00 00 */	li r3, 0
/* 800452D0 00040F30  38 00 00 01 */	li r0, 1
/* 800452D4 00040F34  98 7B 00 10 */	stb r3, 0x10(r27)
/* 800452D8 00040F38  98 1B 00 3F */	stb r0, 0x3f(r27)
/* 800452DC 00040F3C  93 9B 00 00 */	stw r28, 0(r27)
lbl_800452E0:
/* 800452E0 00040F40  39 61 00 30 */	addi r11, r1, 0x30
/* 800452E4 00040F44  48 18 1E 91 */	bl _restgpr_27
/* 800452E8 00040F48  80 01 00 34 */	lwz r0, 0x34(r1)
/* 800452EC 00040F4C  7C 08 03 A6 */	mtlr r0
/* 800452F0 00040F50  38 21 00 30 */	addi r1, r1, 0x30
/* 800452F4 00040F54  4E 80 00 20 */	blr

.global func_800452F8
func_800452F8:
/* 800452F8 00040F58  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 800452FC 00040F5C  7C 08 02 A6 */	mflr r0
/* 80045300 00040F60  90 01 00 34 */	stw r0, 0x34(r1)
/* 80045304 00040F64  39 61 00 30 */	addi r11, r1, 0x30
/* 80045308 00040F68  48 18 1E 15 */	bl _savegpr_24
/* 8004530C 00040F6C  54 80 10 3A */	slwi r0, r4, 2
/* 80045310 00040F70  7C 78 1B 78 */	mr r24, r3
/* 80045314 00040F74  7F E3 02 14 */	add r31, r3, r0
/* 80045318 00040F78  7C 99 23 78 */	mr r25, r4
/* 8004531C 00040F7C  80 7F 00 08 */	lwz r3, 8(r31)
/* 80045320 00040F80  7C BA 2B 78 */	mr r26, r5
/* 80045324 00040F84  7C DB 33 78 */	mr r27, r6
/* 80045328 00040F88  7C FC 3B 78 */	mr r28, r7
/* 8004532C 00040F8C  7D 1D 43 78 */	mr r29, r8
/* 80045330 00040F90  7D 3E 4B 78 */	mr r30, r9
/* 80045334 00040F94  4B FF 7B D9 */	bl func_8003CF0C
/* 80045338 00040F98  4B FF 8E 25 */	bl func_8003E15C
/* 8004533C 00040F9C  4B FF 8E 81 */	bl func_8003E1BC
/* 80045340 00040FA0  2C 03 00 00 */	cmpwi r3, 0
/* 80045344 00040FA4  90 7F 00 08 */	stw r3, 8(r31)
/* 80045348 00040FA8  41 82 00 28 */	beq lbl_80045370
/* 8004534C 00040FAC  7F 44 D3 78 */	mr r4, r26
/* 80045350 00040FB0  7F 65 DB 78 */	mr r5, r27
/* 80045354 00040FB4  7F 86 E3 78 */	mr r6, r28
/* 80045358 00040FB8  7F A7 EB 78 */	mr r7, r29
/* 8004535C 00040FBC  7F C8 F3 78 */	mr r8, r30
/* 80045360 00040FC0  4B FF 7B F5 */	bl func_8003CF54
/* 80045364 00040FC4  7C 78 CA 14 */	add r3, r24, r25
/* 80045368 00040FC8  38 00 00 01 */	li r0, 1
/* 8004536C 00040FCC  98 03 00 41 */	stb r0, 0x41(r3)
lbl_80045370:
/* 80045370 00040FD0  7C 78 CA 14 */	add r3, r24, r25
/* 80045374 00040FD4  38 00 00 00 */	li r0, 0
/* 80045378 00040FD8  98 03 00 11 */	stb r0, 0x11(r3)
/* 8004537C 00040FDC  38 00 00 01 */	li r0, 1
/* 80045380 00040FE0  39 61 00 30 */	addi r11, r1, 0x30
/* 80045384 00040FE4  98 18 00 3F */	stb r0, 0x3f(r24)
/* 80045388 00040FE8  48 18 1D E1 */	bl _restgpr_24
/* 8004538C 00040FEC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80045390 00040FF0  7C 08 03 A6 */	mtlr r0
/* 80045394 00040FF4  38 21 00 30 */	addi r1, r1, 0x30
/* 80045398 00040FF8  4E 80 00 20 */	blr

.global func_8004539C
func_8004539C:
/* 8004539C 00040FFC  2C 04 00 00 */	cmpwi r4, 0
/* 800453A0 00041000  4D 82 00 20 */	beqlr
/* 800453A4 00041004  C0 04 00 00 */	lfs f0, 0(r4)
/* 800453A8 00041008  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 800453AC 0004100C  C0 04 00 04 */	lfs f0, 4(r4)
/* 800453B0 00041010  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 800453B4 00041014  C0 04 00 08 */	lfs f0, 8(r4)
/* 800453B8 00041018  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 800453BC 0004101C  4E 80 00 20 */	blr

.global func_800453C0
func_800453C0:
/* 800453C0 00041020  2C 04 00 00 */	cmpwi r4, 0
/* 800453C4 00041024  41 82 00 1C */	beq lbl_800453E0
/* 800453C8 00041028  C0 04 00 00 */	lfs f0, 0(r4)
/* 800453CC 0004102C  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 800453D0 00041030  C0 04 00 04 */	lfs f0, 4(r4)
/* 800453D4 00041034  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 800453D8 00041038  C0 04 00 08 */	lfs f0, 8(r4)
/* 800453DC 0004103C  D0 03 00 28 */	stfs f0, 0x28(r3)
lbl_800453E0:
/* 800453E0 00041040  2C 05 00 00 */	cmpwi r5, 0
/* 800453E4 00041044  4D 82 00 20 */	beqlr
/* 800453E8 00041048  C0 05 00 00 */	lfs f0, 0(r5)
/* 800453EC 0004104C  D0 03 00 2C */	stfs f0, 0x2c(r3)
/* 800453F0 00041050  C0 05 00 04 */	lfs f0, 4(r5)
/* 800453F4 00041054  D0 03 00 30 */	stfs f0, 0x30(r3)
/* 800453F8 00041058  C0 05 00 08 */	lfs f0, 8(r5)
/* 800453FC 0004105C  D0 03 00 34 */	stfs f0, 0x34(r3)
/* 80045400 00041060  4E 80 00 20 */	blr

.global func_80045404
func_80045404:
/* 80045404 00041064  2C 04 00 00 */	cmpwi r4, 0
/* 80045408 00041068  4D 82 00 20 */	beqlr
/* 8004540C 0004106C  C0 03 00 14 */	lfs f0, 0x14(r3)
/* 80045410 00041070  D0 04 00 00 */	stfs f0, 0(r4)
/* 80045414 00041074  C0 03 00 18 */	lfs f0, 0x18(r3)
/* 80045418 00041078  D0 04 00 04 */	stfs f0, 4(r4)
/* 8004541C 0004107C  C0 03 00 1C */	lfs f0, 0x1c(r3)
/* 80045420 00041080  D0 04 00 08 */	stfs f0, 8(r4)
/* 80045424 00041084  4E 80 00 20 */	blr

.global func_80045428
func_80045428:
/* 80045428 00041088  2C 04 00 00 */	cmpwi r4, 0
/* 8004542C 0004108C  41 82 00 1C */	beq lbl_80045448
/* 80045430 00041090  C0 03 00 20 */	lfs f0, 0x20(r3)
/* 80045434 00041094  D0 04 00 00 */	stfs f0, 0(r4)
/* 80045438 00041098  C0 03 00 24 */	lfs f0, 0x24(r3)
/* 8004543C 0004109C  D0 04 00 04 */	stfs f0, 4(r4)
/* 80045440 000410A0  C0 03 00 28 */	lfs f0, 0x28(r3)
/* 80045444 000410A4  D0 04 00 08 */	stfs f0, 8(r4)
lbl_80045448:
/* 80045448 000410A8  2C 05 00 00 */	cmpwi r5, 0
/* 8004544C 000410AC  4D 82 00 20 */	beqlr
/* 80045450 000410B0  C0 03 00 2C */	lfs f0, 0x2c(r3)
/* 80045454 000410B4  D0 05 00 00 */	stfs f0, 0(r5)
/* 80045458 000410B8  C0 03 00 30 */	lfs f0, 0x30(r3)
/* 8004545C 000410BC  D0 05 00 04 */	stfs f0, 4(r5)
/* 80045460 000410C0  C0 03 00 34 */	lfs f0, 0x34(r3)
/* 80045464 000410C4  D0 05 00 08 */	stfs f0, 8(r5)
/* 80045468 000410C8  4E 80 00 20 */	blr

.global func_8004546C
func_8004546C:
/* 8004546C 000410CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80045470 000410D0  7C 08 02 A6 */	mflr r0
/* 80045474 000410D4  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 80045478 000410D8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8004547C 000410DC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80045480 000410E0  7C 7F 1B 78 */	mr r31, r3
/* 80045484 000410E4  C0 23 00 38 */	lfs f1, 0x38(r3)
/* 80045488 000410E8  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 8004548C 000410EC  D0 01 00 08 */	stfs f0, 8(r1)
/* 80045490 000410F0  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80045494 000410F4  80 63 00 04 */	lwz r3, 4(r3)
/* 80045498 000410F8  2C 03 00 00 */	cmpwi r3, 0
/* 8004549C 000410FC  41 82 00 18 */	beq lbl_800454B4
/* 800454A0 00041100  38 9F 00 14 */	addi r4, r31, 0x14
/* 800454A4 00041104  4B FF 33 79 */	bl func_8003881C
/* 800454A8 00041108  80 7F 00 04 */	lwz r3, 4(r31)
/* 800454AC 0004110C  38 81 00 08 */	addi r4, r1, 8
/* 800454B0 00041110  4B FF 36 21 */	bl func_80038AD0
lbl_800454B4:
/* 800454B4 00041114  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800454B8 00041118  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800454BC 0004111C  7C 08 03 A6 */	mtlr r0
/* 800454C0 00041120  38 21 00 20 */	addi r1, r1, 0x20
/* 800454C4 00041124  4E 80 00 20 */	blr

.global func_800454C8
func_800454C8:
/* 800454C8 00041128  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 800454CC 0004112C  7C 08 02 A6 */	mflr r0
/* 800454D0 00041130  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800454D4 00041134  90 01 00 34 */	stw r0, 0x34(r1)
/* 800454D8 00041138  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 800454DC 0004113C  7C 7F 1B 78 */	mr r31, r3
/* 800454E0 00041140  93 C1 00 28 */	stw r30, 0x28(r1)
/* 800454E4 00041144  3B C3 00 20 */	addi r30, r3, 0x20
/* 800454E8 00041148  93 A1 00 24 */	stw r29, 0x24(r1)
/* 800454EC 0004114C  3B A0 00 00 */	li r29, 0
/* 800454F0 00041150  C0 23 00 38 */	lfs f1, 0x38(r3)
/* 800454F4 00041154  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 800454F8 00041158  D0 01 00 08 */	stfs f0, 8(r1)
/* 800454FC 0004115C  D0 01 00 10 */	stfs f0, 0x10(r1)
lbl_80045500:
/* 80045500 00041160  80 7F 00 08 */	lwz r3, 8(r31)
/* 80045504 00041164  2C 03 00 00 */	cmpwi r3, 0
/* 80045508 00041168  41 82 00 18 */	beq lbl_80045520
/* 8004550C 0004116C  7F C4 F3 78 */	mr r4, r30
/* 80045510 00041170  4B FF 33 0D */	bl func_8003881C
/* 80045514 00041174  80 7F 00 08 */	lwz r3, 8(r31)
/* 80045518 00041178  38 81 00 08 */	addi r4, r1, 8
/* 8004551C 0004117C  4B FF 35 B5 */	bl func_80038AD0
lbl_80045520:
/* 80045520 00041180  3B BD 00 01 */	addi r29, r29, 1
/* 80045524 00041184  3B DE 00 0C */	addi r30, r30, 0xc
/* 80045528 00041188  2C 1D 00 02 */	cmpwi r29, 2
/* 8004552C 0004118C  3B FF 00 04 */	addi r31, r31, 4
/* 80045530 00041190  41 80 FF D0 */	blt lbl_80045500
/* 80045534 00041194  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80045538 00041198  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8004553C 0004119C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80045540 000411A0  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80045544 000411A4  7C 08 03 A6 */	mtlr r0
/* 80045548 000411A8  38 21 00 30 */	addi r1, r1, 0x30
/* 8004554C 000411AC  4E 80 00 20 */	blr

.global func_80045550
func_80045550:
/* 80045550 000411B0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80045554 000411B4  7C 08 02 A6 */	mflr r0
/* 80045558 000411B8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8004555C 000411BC  80 0D 97 F8 */	lwz r0, lbl_8063EAB8-_SDA_BASE_(r13)
/* 80045560 000411C0  2C 00 00 00 */	cmpwi r0, 0
/* 80045564 000411C4  40 82 00 1C */	bne lbl_80045580
/* 80045568 000411C8  38 60 01 6C */	li r3, 0x16c
/* 8004556C 000411CC  48 19 54 C5 */	bl __nw__FUl
/* 80045570 000411D0  2C 03 00 00 */	cmpwi r3, 0
/* 80045574 000411D4  41 82 00 08 */	beq lbl_8004557C
/* 80045578 000411D8  48 00 00 21 */	bl func_80045598
lbl_8004557C:
/* 8004557C 000411DC  90 6D 97 F8 */	stw r3, lbl_8063EAB8-_SDA_BASE_(r13)
lbl_80045580:
/* 80045580 000411E0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80045584 000411E4  7C 08 03 A6 */	mtlr r0
/* 80045588 000411E8  38 21 00 10 */	addi r1, r1, 0x10
/* 8004558C 000411EC  4E 80 00 20 */	blr

.global func_80045590
func_80045590:
/* 80045590 000411F0  80 6D 97 F8 */	lwz r3, lbl_8063EAB8-_SDA_BASE_(r13)
/* 80045594 000411F4  4E 80 00 20 */	blr

.global func_80045598
func_80045598:
/* 80045598 000411F8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8004559C 000411FC  7C 08 02 A6 */	mflr r0
/* 800455A0 00041200  90 01 00 24 */	stw r0, 0x24(r1)
/* 800455A4 00041204  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 800455A8 00041208  3B E3 01 1C */	addi r31, r3, 0x11c
/* 800455AC 0004120C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 800455B0 00041210  3B C3 00 0C */	addi r30, r3, 0xc
/* 800455B4 00041214  93 A1 00 14 */	stw r29, 0x14(r1)
/* 800455B8 00041218  7C 7D 1B 78 */	mr r29, r3
lbl_800455BC:
/* 800455BC 0004121C  7F C3 F3 78 */	mr r3, r30
/* 800455C0 00041220  4B FF F9 69 */	bl func_80044F28
/* 800455C4 00041224  3B DE 00 44 */	addi r30, r30, 0x44
/* 800455C8 00041228  7C 1E F8 40 */	cmplw r30, r31
/* 800455CC 0004122C  41 80 FF F0 */	blt lbl_800455BC
/* 800455D0 00041230  7F A3 EB 78 */	mr r3, r29
/* 800455D4 00041234  48 00 00 25 */	bl func_800455F8
/* 800455D8 00041238  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800455DC 0004123C  7F A3 EB 78 */	mr r3, r29
/* 800455E0 00041240  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800455E4 00041244  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800455E8 00041248  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800455EC 0004124C  7C 08 03 A6 */	mtlr r0
/* 800455F0 00041250  38 21 00 20 */	addi r1, r1, 0x20
/* 800455F4 00041254  4E 80 00 20 */	blr

.global func_800455F8
func_800455F8:
/* 800455F8 00041258  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800455FC 0004125C  7C 08 02 A6 */	mflr r0
/* 80045600 00041260  90 01 00 24 */	stw r0, 0x24(r1)
/* 80045604 00041264  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80045608 00041268  3B E3 00 0C */	addi r31, r3, 0xc
/* 8004560C 0004126C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80045610 00041270  3B C0 00 00 */	li r30, 0
/* 80045614 00041274  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80045618 00041278  7C 7D 1B 78 */	mr r29, r3
lbl_8004561C:
/* 8004561C 0004127C  7F E3 FB 78 */	mr r3, r31
/* 80045620 00041280  4B FF F9 55 */	bl func_80044F74
/* 80045624 00041284  3B DE 00 01 */	addi r30, r30, 1
/* 80045628 00041288  3B FF 00 44 */	addi r31, r31, 0x44
/* 8004562C 0004128C  2C 1E 00 04 */	cmpwi r30, 4
/* 80045630 00041290  41 80 FF EC */	blt lbl_8004561C
/* 80045634 00041294  38 00 00 00 */	li r0, 0
/* 80045638 00041298  38 C0 00 01 */	li r6, 1
/* 8004563C 0004129C  90 DD 00 00 */	stw r6, 0(r29)
/* 80045640 000412A0  38 7D 01 2C */	addi r3, r29, 0x12c
/* 80045644 000412A4  38 80 00 00 */	li r4, 0
/* 80045648 000412A8  38 A0 00 10 */	li r5, 0x10
/* 8004564C 000412AC  90 DD 01 24 */	stw r6, 0x124(r29)
/* 80045650 000412B0  B0 1D 01 1E */	sth r0, 0x11e(r29)
/* 80045654 000412B4  B0 1D 01 20 */	sth r0, 0x120(r29)
/* 80045658 000412B8  98 1D 01 28 */	stb r0, 0x128(r29)
/* 8004565C 000412BC  90 1D 00 08 */	stw r0, 8(r29)
/* 80045660 000412C0  90 1D 01 64 */	stw r0, 0x164(r29)
/* 80045664 000412C4  90 1D 01 68 */	stw r0, 0x168(r29)
/* 80045668 000412C8  98 1D 01 1C */	stb r0, 0x11c(r29)
/* 8004566C 000412CC  4B FB EA 99 */	bl memset
/* 80045670 000412D0  38 7D 01 3C */	addi r3, r29, 0x13c
/* 80045674 000412D4  38 80 00 00 */	li r4, 0
/* 80045678 000412D8  38 A0 00 10 */	li r5, 0x10
/* 8004567C 000412DC  4B FB EA 89 */	bl memset
/* 80045680 000412E0  38 7D 01 4C */	addi r3, r29, 0x14c
/* 80045684 000412E4  38 80 00 00 */	li r4, 0
/* 80045688 000412E8  38 A0 00 10 */	li r5, 0x10
/* 8004568C 000412EC  4B FB EA 79 */	bl memset
/* 80045690 000412F0  38 7D 01 5C */	addi r3, r29, 0x15c
/* 80045694 000412F4  38 80 00 00 */	li r4, 0
/* 80045698 000412F8  38 A0 00 08 */	li r5, 8
/* 8004569C 000412FC  4B FB EA 69 */	bl memset
/* 800456A0 00041300  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800456A4 00041304  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800456A8 00041308  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800456AC 0004130C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800456B0 00041310  7C 08 03 A6 */	mtlr r0
/* 800456B4 00041314  38 21 00 20 */	addi r1, r1, 0x20
/* 800456B8 00041318  4E 80 00 20 */	blr

.global func_800456BC
func_800456BC:
/* 800456BC 0004131C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800456C0 00041320  7C 08 02 A6 */	mflr r0
/* 800456C4 00041324  90 01 00 24 */	stw r0, 0x24(r1)
/* 800456C8 00041328  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 800456CC 0004132C  3B E3 00 0C */	addi r31, r3, 0xc
/* 800456D0 00041330  93 C1 00 18 */	stw r30, 0x18(r1)
/* 800456D4 00041334  3B C0 00 00 */	li r30, 0
/* 800456D8 00041338  93 A1 00 14 */	stw r29, 0x14(r1)
/* 800456DC 0004133C  7C 7D 1B 78 */	mr r29, r3
lbl_800456E0:
/* 800456E0 00041340  7F E3 FB 78 */	mr r3, r31
/* 800456E4 00041344  4B FF F9 2D */	bl func_80045010
/* 800456E8 00041348  7F E3 FB 78 */	mr r3, r31
/* 800456EC 0004134C  4B FF F8 89 */	bl func_80044F74
/* 800456F0 00041350  3B DE 00 01 */	addi r30, r30, 1
/* 800456F4 00041354  3B FF 00 44 */	addi r31, r31, 0x44
/* 800456F8 00041358  2C 1E 00 04 */	cmpwi r30, 4
/* 800456FC 0004135C  41 80 FF E4 */	blt lbl_800456E0
/* 80045700 00041360  38 00 00 00 */	li r0, 0
/* 80045704 00041364  B0 1D 01 1E */	sth r0, 0x11e(r29)
/* 80045708 00041368  B0 1D 01 20 */	sth r0, 0x120(r29)
/* 8004570C 0004136C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80045710 00041370  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80045714 00041374  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80045718 00041378  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8004571C 0004137C  7C 08 03 A6 */	mtlr r0
/* 80045720 00041380  38 21 00 20 */	addi r1, r1, 0x20
/* 80045724 00041384  4E 80 00 20 */	blr

.global func_80045728
func_80045728:
/* 80045728 00041388  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8004572C 0004138C  7C 08 02 A6 */	mflr r0
/* 80045730 00041390  2C 04 00 00 */	cmpwi r4, 0
/* 80045734 00041394  90 01 00 14 */	stw r0, 0x14(r1)
/* 80045738 00041398  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8004573C 0004139C  7C 7F 1B 78 */	mr r31, r3
/* 80045740 000413A0  41 80 00 28 */	blt lbl_80045768
/* 80045744 000413A4  2C 04 00 03 */	cmpwi r4, 3
/* 80045748 000413A8  41 81 00 20 */	bgt lbl_80045768
/* 8004574C 000413AC  1C 04 00 44 */	mulli r0, r4, 0x44
/* 80045750 000413B0  7C 63 02 14 */	add r3, r3, r0
/* 80045754 000413B4  38 63 00 0C */	addi r3, r3, 0xc
/* 80045758 000413B8  4B FF F8 8D */	bl func_80044FE4
/* 8004575C 000413BC  A0 7F 01 1E */	lhz r3, 0x11e(r31)
/* 80045760 000413C0  38 03 00 01 */	addi r0, r3, 1
/* 80045764 000413C4  B0 1F 01 1E */	sth r0, 0x11e(r31)
lbl_80045768:
/* 80045768 000413C8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8004576C 000413CC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80045770 000413D0  7C 08 03 A6 */	mtlr r0
/* 80045774 000413D4  38 21 00 10 */	addi r1, r1, 0x10
/* 80045778 000413D8  4E 80 00 20 */	blr

.global func_8004577C
func_8004577C:
/* 8004577C 000413DC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80045780 000413E0  7C 08 02 A6 */	mflr r0
/* 80045784 000413E4  2C 04 00 00 */	cmpwi r4, 0
/* 80045788 000413E8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8004578C 000413EC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80045790 000413F0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80045794 000413F4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80045798 000413F8  7C 7D 1B 78 */	mr r29, r3
/* 8004579C 000413FC  41 80 00 5C */	blt lbl_800457F8
/* 800457A0 00041400  2C 04 00 03 */	cmpwi r4, 3
/* 800457A4 00041404  41 81 00 54 */	bgt lbl_800457F8
/* 800457A8 00041408  1C 04 00 44 */	mulli r0, r4, 0x44
/* 800457AC 0004140C  7C E7 07 74 */	extsb r7, r7
/* 800457B0 00041410  7C 63 02 14 */	add r3, r3, r0
/* 800457B4 00041414  38 63 00 0C */	addi r3, r3, 0xc
/* 800457B8 00041418  4B FF F9 21 */	bl func_800450D8
/* 800457BC 0004141C  38 00 00 00 */	li r0, 0
/* 800457C0 00041420  3B FD 00 0C */	addi r31, r29, 0xc
/* 800457C4 00041424  B0 1D 01 1E */	sth r0, 0x11e(r29)
/* 800457C8 00041428  3B C0 00 00 */	li r30, 0
lbl_800457CC:
/* 800457CC 0004142C  7F E3 FB 78 */	mr r3, r31
/* 800457D0 00041430  4B FF F7 E1 */	bl func_80044FB0
/* 800457D4 00041434  2C 03 00 00 */	cmpwi r3, 0
/* 800457D8 00041438  41 82 00 10 */	beq lbl_800457E8
/* 800457DC 0004143C  A0 7D 01 1E */	lhz r3, 0x11e(r29)
/* 800457E0 00041440  38 03 00 01 */	addi r0, r3, 1
/* 800457E4 00041444  B0 1D 01 1E */	sth r0, 0x11e(r29)
lbl_800457E8:
/* 800457E8 00041448  3B DE 00 01 */	addi r30, r30, 1
/* 800457EC 0004144C  3B FF 00 44 */	addi r31, r31, 0x44
/* 800457F0 00041450  2C 1E 00 04 */	cmpwi r30, 4
/* 800457F4 00041454  41 80 FF D8 */	blt lbl_800457CC
lbl_800457F8:
/* 800457F8 00041458  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800457FC 0004145C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80045800 00041460  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80045804 00041464  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80045808 00041468  7C 08 03 A6 */	mtlr r0
/* 8004580C 0004146C  38 21 00 20 */	addi r1, r1, 0x20
/* 80045810 00041470  4E 80 00 20 */	blr

.global func_80045814
func_80045814:
/* 80045814 00041474  2C 04 00 00 */	cmpwi r4, 0
/* 80045818 00041478  4D 80 00 20 */	bltlr
/* 8004581C 0004147C  2C 04 00 03 */	cmpwi r4, 3
/* 80045820 00041480  4D 81 00 20 */	bgtlr
/* 80045824 00041484  1C 04 00 44 */	mulli r0, r4, 0x44
/* 80045828 00041488  7C 63 02 14 */	add r3, r3, r0
/* 8004582C 0004148C  38 63 00 0C */	addi r3, r3, 0xc
/* 80045830 00041490  4B FF F9 44 */	b lbl_80045174
/* 80045834 00041494  4E 80 00 20 */	blr

.global func_80045838
func_80045838:
/* 80045838 00041498  2C 04 00 00 */	cmpwi r4, 0
/* 8004583C 0004149C  41 80 00 0C */	blt lbl_80045848
/* 80045840 000414A0  2C 04 00 03 */	cmpwi r4, 3
/* 80045844 000414A4  40 81 00 0C */	ble lbl_80045850
lbl_80045848:
/* 80045848 000414A8  38 60 00 00 */	li r3, 0
/* 8004584C 000414AC  4E 80 00 20 */	blr
lbl_80045850:
/* 80045850 000414B0  54 80 07 BE */	clrlwi r0, r4, 0x1e
/* 80045854 000414B4  1C 00 00 44 */	mulli r0, r0, 0x44
/* 80045858 000414B8  7C 63 02 14 */	add r3, r3, r0
/* 8004585C 000414BC  88 63 00 1C */	lbz r3, 0x1c(r3)
/* 80045860 000414C0  4E 80 00 20 */	blr

.global func_80045864
func_80045864:
/* 80045864 000414C4  2C 04 00 00 */	cmpwi r4, 0
/* 80045868 000414C8  4D 80 00 20 */	bltlr
/* 8004586C 000414CC  2C 04 00 03 */	cmpwi r4, 3
/* 80045870 000414D0  40 81 00 08 */	ble lbl_80045878
/* 80045874 000414D4  4E 80 00 20 */	blr
lbl_80045878:
/* 80045878 000414D8  54 80 07 BE */	clrlwi r0, r4, 0x1e
/* 8004587C 000414DC  38 80 00 01 */	li r4, 1
/* 80045880 000414E0  1C 00 00 44 */	mulli r0, r0, 0x44
/* 80045884 000414E4  7C 63 02 14 */	add r3, r3, r0
/* 80045888 000414E8  98 83 00 1C */	stb r4, 0x1c(r3)
/* 8004588C 000414EC  4E 80 00 20 */	blr

.global func_80045890
func_80045890:
/* 80045890 000414F0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80045894 000414F4  7C 08 02 A6 */	mflr r0
/* 80045898 000414F8  90 01 00 34 */	stw r0, 0x34(r1)
/* 8004589C 000414FC  39 61 00 30 */	addi r11, r1, 0x30
/* 800458A0 00041500  48 18 18 7D */	bl _savegpr_24
/* 800458A4 00041504  7C 78 1B 78 */	mr r24, r3
/* 800458A8 00041508  7C 99 23 78 */	mr r25, r4
/* 800458AC 0004150C  7C BA 2B 78 */	mr r26, r5
/* 800458B0 00041510  7C DB 33 78 */	mr r27, r6
/* 800458B4 00041514  7C FC 3B 78 */	mr r28, r7
/* 800458B8 00041518  7D 1D 43 78 */	mr r29, r8
/* 800458BC 0004151C  7D 3E 4B 78 */	mr r30, r9
/* 800458C0 00041520  4B FF 04 DD */	bl func_80035D9C
/* 800458C4 00041524  2C 19 00 00 */	cmpwi r25, 0
/* 800458C8 00041528  7C 7F 1B 78 */	mr r31, r3
/* 800458CC 0004152C  41 80 00 78 */	blt lbl_80045944
/* 800458D0 00041530  2C 19 00 03 */	cmpwi r25, 3
/* 800458D4 00041534  40 81 00 08 */	ble lbl_800458DC
/* 800458D8 00041538  48 00 00 6C */	b lbl_80045944
lbl_800458DC:
/* 800458DC 0004153C  A0 18 01 1E */	lhz r0, 0x11e(r24)
/* 800458E0 00041540  28 00 00 02 */	cmplwi r0, 2
/* 800458E4 00041544  40 82 00 1C */	bne lbl_80045900
/* 800458E8 00041548  57 20 07 FE */	clrlwi r0, r25, 0x1f
/* 800458EC 0004154C  57 24 FF FE */	rlwinm r4, r25, 0x1f, 0x1f, 0x1f
/* 800458F0 00041550  1C 00 00 44 */	mulli r0, r0, 0x44
/* 800458F4 00041554  7C 78 02 14 */	add r3, r24, r0
/* 800458F8 00041558  38 63 00 0C */	addi r3, r3, 0xc
/* 800458FC 0004155C  48 00 00 24 */	b lbl_80045920
lbl_80045900:
/* 80045900 00041560  28 00 00 04 */	cmplwi r0, 4
/* 80045904 00041564  40 82 00 40 */	bne lbl_80045944
/* 80045908 00041568  1C 19 00 44 */	mulli r0, r25, 0x44
/* 8004590C 0004156C  38 80 00 00 */	li r4, 0
/* 80045910 00041570  7C 78 02 14 */	add r3, r24, r0
/* 80045914 00041574  38 63 00 0C */	addi r3, r3, 0xc
/* 80045918 00041578  48 00 00 08 */	b lbl_80045920
/* 8004591C 0004157C  48 00 00 28 */	b lbl_80045944
lbl_80045920:
/* 80045920 00041580  7F 45 D3 78 */	mr r5, r26
/* 80045924 00041584  7F 66 DB 78 */	mr r6, r27
/* 80045928 00041588  7F 87 E3 78 */	mr r7, r28
/* 8004592C 0004158C  7F A8 EB 78 */	mr r8, r29
/* 80045930 00041590  7F C9 F3 78 */	mr r9, r30
/* 80045934 00041594  4B FF F9 C5 */	bl func_800452F8
/* 80045938 00041598  7F E3 FB 78 */	mr r3, r31
/* 8004593C 0004159C  7F 24 CB 78 */	mr r4, r25
/* 80045940 000415A0  4B FF 13 AD */	bl func_80036CEC
lbl_80045944:
/* 80045944 000415A4  39 61 00 30 */	addi r11, r1, 0x30
/* 80045948 000415A8  48 18 18 21 */	bl _restgpr_24
/* 8004594C 000415AC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80045950 000415B0  7C 08 03 A6 */	mtlr r0
/* 80045954 000415B4  38 21 00 30 */	addi r1, r1, 0x30
/* 80045958 000415B8  4E 80 00 20 */	blr

.global func_8004595C
func_8004595C:
/* 8004595C 000415BC  2C 04 00 00 */	cmpwi r4, 0
/* 80045960 000415C0  41 80 00 0C */	blt lbl_8004596C
/* 80045964 000415C4  2C 04 00 03 */	cmpwi r4, 3
/* 80045968 000415C8  40 81 00 0C */	ble lbl_80045974
lbl_8004596C:
/* 8004596C 000415CC  38 60 00 00 */	li r3, 0
/* 80045970 000415D0  4E 80 00 20 */	blr
lbl_80045974:
/* 80045974 000415D4  A0 03 01 1E */	lhz r0, 0x11e(r3)
/* 80045978 000415D8  28 00 00 02 */	cmplwi r0, 2
/* 8004597C 000415DC  40 82 00 1C */	bne lbl_80045998
/* 80045980 000415E0  54 80 07 FE */	clrlwi r0, r4, 0x1f
/* 80045984 000415E4  54 84 FF FE */	rlwinm r4, r4, 0x1f, 0x1f, 0x1f
/* 80045988 000415E8  1C 00 00 44 */	mulli r0, r0, 0x44
/* 8004598C 000415EC  7C 63 02 14 */	add r3, r3, r0
/* 80045990 000415F0  38 03 00 0C */	addi r0, r3, 0xc
/* 80045994 000415F4  48 00 00 28 */	b lbl_800459BC
lbl_80045998:
/* 80045998 000415F8  28 00 00 04 */	cmplwi r0, 4
/* 8004599C 000415FC  40 82 00 18 */	bne lbl_800459B4
/* 800459A0 00041600  1C 04 00 44 */	mulli r0, r4, 0x44
/* 800459A4 00041604  38 80 00 00 */	li r4, 0
/* 800459A8 00041608  7C 63 02 14 */	add r3, r3, r0
/* 800459AC 0004160C  38 03 00 0C */	addi r0, r3, 0xc
/* 800459B0 00041610  48 00 00 0C */	b lbl_800459BC
lbl_800459B4:
/* 800459B4 00041614  38 60 00 00 */	li r3, 0
/* 800459B8 00041618  4E 80 00 20 */	blr
lbl_800459BC:
/* 800459BC 0004161C  7C 60 22 14 */	add r3, r0, r4
/* 800459C0 00041620  88 63 00 11 */	lbz r3, 0x11(r3)
/* 800459C4 00041624  4E 80 00 20 */	blr

.global func_800459C8
func_800459C8:
/* 800459C8 00041628  2C 04 00 00 */	cmpwi r4, 0
/* 800459CC 0004162C  4D 80 00 20 */	bltlr
/* 800459D0 00041630  2C 04 00 03 */	cmpwi r4, 3
/* 800459D4 00041634  40 81 00 08 */	ble lbl_800459DC
/* 800459D8 00041638  4E 80 00 20 */	blr
lbl_800459DC:
/* 800459DC 0004163C  A0 03 01 1E */	lhz r0, 0x11e(r3)
/* 800459E0 00041640  28 00 00 02 */	cmplwi r0, 2
/* 800459E4 00041644  40 82 00 1C */	bne lbl_80045A00
/* 800459E8 00041648  54 80 07 FE */	clrlwi r0, r4, 0x1f
/* 800459EC 0004164C  54 84 FF FE */	rlwinm r4, r4, 0x1f, 0x1f, 0x1f
/* 800459F0 00041650  1C 00 00 44 */	mulli r0, r0, 0x44
/* 800459F4 00041654  7C 63 02 14 */	add r3, r3, r0
/* 800459F8 00041658  38 03 00 0C */	addi r0, r3, 0xc
/* 800459FC 0004165C  48 00 00 24 */	b lbl_80045A20
lbl_80045A00:
/* 80045A00 00041660  28 00 00 04 */	cmplwi r0, 4
/* 80045A04 00041664  4C 82 00 20 */	bnelr
/* 80045A08 00041668  1C 04 00 44 */	mulli r0, r4, 0x44
/* 80045A0C 0004166C  38 80 00 00 */	li r4, 0
/* 80045A10 00041670  7C 63 02 14 */	add r3, r3, r0
/* 80045A14 00041674  38 03 00 0C */	addi r0, r3, 0xc
/* 80045A18 00041678  48 00 00 08 */	b lbl_80045A20
/* 80045A1C 0004167C  4E 80 00 20 */	blr
lbl_80045A20:
/* 80045A20 00041680  7C 60 22 14 */	add r3, r0, r4
/* 80045A24 00041684  38 00 00 01 */	li r0, 1
/* 80045A28 00041688  98 03 00 11 */	stb r0, 0x11(r3)
/* 80045A2C 0004168C  4E 80 00 20 */	blr

.global func_80045A30
func_80045A30:
/* 80045A30 00041690  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80045A34 00041694  7C 08 02 A6 */	mflr r0
/* 80045A38 00041698  90 01 00 24 */	stw r0, 0x24(r1)
/* 80045A3C 0004169C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80045A40 000416A0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80045A44 000416A4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80045A48 000416A8  7C 9D 23 78 */	mr r29, r4
/* 80045A4C 000416AC  93 81 00 10 */	stw r28, 0x10(r1)
/* 80045A50 000416B0  7C 7C 1B 78 */	mr r28, r3
/* 80045A54 000416B4  4B FF 03 49 */	bl func_80035D9C
/* 80045A58 000416B8  7C 7F 1B 78 */	mr r31, r3
/* 80045A5C 000416BC  3B C0 00 00 */	li r30, 0
lbl_80045A60:
/* 80045A60 000416C0  7F E3 FB 78 */	mr r3, r31
/* 80045A64 000416C4  7F C4 F3 78 */	mr r4, r30
/* 80045A68 000416C8  4B FF 12 AD */	bl func_80036D14
/* 80045A6C 000416CC  A0 A3 00 00 */	lhz r5, 0(r3)
/* 80045A70 000416D0  7C 69 1B 78 */	mr r9, r3
/* 80045A74 000416D4  2C 05 00 00 */	cmpwi r5, 0
/* 80045A78 000416D8  41 82 00 50 */	beq lbl_80045AC8
/* 80045A7C 000416DC  88 C9 00 04 */	lbz r6, 4(r9)
/* 80045A80 000416E0  7F 83 E3 78 */	mr r3, r28
/* 80045A84 000416E4  A0 E9 00 02 */	lhz r7, 2(r9)
/* 80045A88 000416E8  7F C4 F3 78 */	mr r4, r30
/* 80045A8C 000416EC  89 09 00 05 */	lbz r8, 5(r9)
/* 80045A90 000416F0  81 29 00 0C */	lwz r9, 0xc(r9)
/* 80045A94 000416F4  4B FF FD FD */	bl func_80045890
/* 80045A98 000416F8  80 6D A3 40 */	lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80045A9C 000416FC  48 1D EA ED */	bl func_80224588
/* 80045AA0 00041700  7F 83 E3 78 */	mr r3, r28
/* 80045AA4 00041704  7F C4 F3 78 */	mr r4, r30
/* 80045AA8 00041708  38 A0 00 00 */	li r5, 0
/* 80045AAC 0004170C  48 00 00 55 */	bl func_80045B00
/* 80045AB0 00041710  2C 1D 00 00 */	cmpwi r29, 0
/* 80045AB4 00041714  40 82 00 14 */	bne lbl_80045AC8
/* 80045AB8 00041718  2C 03 00 00 */	cmpwi r3, 0
/* 80045ABC 0004171C  41 82 00 0C */	beq lbl_80045AC8
/* 80045AC0 00041720  38 80 00 00 */	li r4, 0
/* 80045AC4 00041724  4B FF 22 69 */	bl func_80037D2C
lbl_80045AC8:
/* 80045AC8 00041728  3B DE 00 01 */	addi r30, r30, 1
/* 80045ACC 0004172C  2C 1E 00 04 */	cmpwi r30, 4
/* 80045AD0 00041730  41 80 FF 90 */	blt lbl_80045A60
/* 80045AD4 00041734  7F 83 E3 78 */	mr r3, r28
/* 80045AD8 00041738  38 80 00 01 */	li r4, 1
/* 80045ADC 0004173C  48 00 02 21 */	bl func_80045CFC
/* 80045AE0 00041740  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80045AE4 00041744  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80045AE8 00041748  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80045AEC 0004174C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80045AF0 00041750  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80045AF4 00041754  7C 08 03 A6 */	mtlr r0
/* 80045AF8 00041758  38 21 00 20 */	addi r1, r1, 0x20
/* 80045AFC 0004175C  4E 80 00 20 */	blr

.global func_80045B00
func_80045B00:
/* 80045B00 00041760  2C 04 01 00 */	cmpwi r4, 0x100
/* 80045B04 00041764  38 A0 00 00 */	li r5, 0
/* 80045B08 00041768  40 82 00 0C */	bne lbl_80045B14
/* 80045B0C 0004176C  80 63 00 08 */	lwz r3, 8(r3)
/* 80045B10 00041770  4E 80 00 20 */	blr
lbl_80045B14:
/* 80045B14 00041774  2C 04 01 01 */	cmpwi r4, 0x101
/* 80045B18 00041778  40 82 00 0C */	bne lbl_80045B24
/* 80045B1C 0004177C  80 63 00 04 */	lwz r3, 4(r3)
/* 80045B20 00041780  4E 80 00 20 */	blr
lbl_80045B24:
/* 80045B24 00041784  54 80 06 31 */	rlwinm. r0, r4, 0, 0x18, 0x18
/* 80045B28 00041788  41 82 00 18 */	beq lbl_80045B40
/* 80045B2C 0004178C  54 80 07 BE */	clrlwi r0, r4, 0x1e
/* 80045B30 00041790  1C 00 00 44 */	mulli r0, r0, 0x44
/* 80045B34 00041794  7C 63 02 14 */	add r3, r3, r0
/* 80045B38 00041798  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80045B3C 0004179C  4E 80 00 20 */	blr
lbl_80045B40:
/* 80045B40 000417A0  A0 03 01 1E */	lhz r0, 0x11e(r3)
/* 80045B44 000417A4  28 00 00 02 */	cmplwi r0, 2
/* 80045B48 000417A8  40 82 00 20 */	bne lbl_80045B68
/* 80045B4C 000417AC  54 85 07 FE */	clrlwi r5, r4, 0x1f
/* 80045B50 000417B0  54 80 0F 7A */	rlwinm r0, r4, 1, 0x1d, 0x1d
/* 80045B54 000417B4  1C 85 00 44 */	mulli r4, r5, 0x44
/* 80045B58 000417B8  7C 63 22 14 */	add r3, r3, r4
/* 80045B5C 000417BC  7C 63 02 14 */	add r3, r3, r0
/* 80045B60 000417C0  80 A3 00 14 */	lwz r5, 0x14(r3)
/* 80045B64 000417C4  48 00 00 1C */	b lbl_80045B80
lbl_80045B68:
/* 80045B68 000417C8  28 00 00 04 */	cmplwi r0, 4
/* 80045B6C 000417CC  40 82 00 14 */	bne lbl_80045B80
/* 80045B70 000417D0  54 80 07 BE */	clrlwi r0, r4, 0x1e
/* 80045B74 000417D4  1C 00 00 44 */	mulli r0, r0, 0x44
/* 80045B78 000417D8  7C 63 02 14 */	add r3, r3, r0
/* 80045B7C 000417DC  80 A3 00 14 */	lwz r5, 0x14(r3)
lbl_80045B80:
/* 80045B80 000417E0  7C A3 2B 78 */	mr r3, r5
/* 80045B84 000417E4  4E 80 00 20 */	blr

.global func_80045B88
func_80045B88:
/* 80045B88 000417E8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80045B8C 000417EC  7C 08 02 A6 */	mflr r0
/* 80045B90 000417F0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80045B94 000417F4  54 80 07 BE */	clrlwi r0, r4, 0x1e
/* 80045B98 000417F8  1C 00 00 44 */	mulli r0, r0, 0x44
/* 80045B9C 000417FC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80045BA0 00041800  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80045BA4 00041804  7C 03 02 14 */	add r0, r3, r0
/* 80045BA8 00041808  37 E0 00 0C */	addic. r31, r0, 0xc
/* 80045BAC 0004180C  7C DE 33 78 */	mr r30, r6
/* 80045BB0 00041810  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80045BB4 00041814  7C BD 2B 78 */	mr r29, r5
/* 80045BB8 00041818  40 82 00 0C */	bne lbl_80045BC4
/* 80045BBC 0004181C  38 60 00 00 */	li r3, 0
/* 80045BC0 00041820  48 00 00 3C */	b lbl_80045BFC
lbl_80045BC4:
/* 80045BC4 00041824  7F E3 FB 78 */	mr r3, r31
/* 80045BC8 00041828  4B FF F3 E9 */	bl func_80044FB0
/* 80045BCC 0004182C  2C 03 00 00 */	cmpwi r3, 0
/* 80045BD0 00041830  40 82 00 0C */	bne lbl_80045BDC
/* 80045BD4 00041834  38 60 00 00 */	li r3, 0
/* 80045BD8 00041838  48 00 00 24 */	b lbl_80045BFC
lbl_80045BDC:
/* 80045BDC 0004183C  7F E3 FB 78 */	mr r3, r31
/* 80045BE0 00041840  7F A4 EB 78 */	mr r4, r29
/* 80045BE4 00041844  4B FF F8 21 */	bl func_80045404
/* 80045BE8 00041848  7F E3 FB 78 */	mr r3, r31
/* 80045BEC 0004184C  4B FF F8 81 */	bl func_8004546C
/* 80045BF0 00041850  C0 1F 00 38 */	lfs f0, 0x38(r31)
/* 80045BF4 00041854  38 60 00 01 */	li r3, 1
/* 80045BF8 00041858  D0 1E 00 00 */	stfs f0, 0(r30)
lbl_80045BFC:
/* 80045BFC 0004185C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80045C00 00041860  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80045C04 00041864  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80045C08 00041868  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80045C0C 0004186C  7C 08 03 A6 */	mtlr r0
/* 80045C10 00041870  38 21 00 20 */	addi r1, r1, 0x20
/* 80045C14 00041874  4E 80 00 20 */	blr

.global func_80045C18
func_80045C18:
/* 80045C18 00041878  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80045C1C 0004187C  7C 08 02 A6 */	mflr r0
/* 80045C20 00041880  2C 07 00 00 */	cmpwi r7, 0
/* 80045C24 00041884  90 01 00 24 */	stw r0, 0x24(r1)
/* 80045C28 00041888  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80045C2C 0004188C  7C BF 2B 78 */	mr r31, r5
/* 80045C30 00041890  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80045C34 00041894  7C DE 33 78 */	mr r30, r6
/* 80045C38 00041898  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80045C3C 0004189C  7C 9D 23 78 */	mr r29, r4
/* 80045C40 000418A0  93 81 00 10 */	stw r28, 0x10(r1)
/* 80045C44 000418A4  7C 7C 1B 78 */	mr r28, r3
/* 80045C48 000418A8  41 82 00 0C */	beq lbl_80045C54
/* 80045C4C 000418AC  38 80 00 00 */	li r4, 0
/* 80045C50 000418B0  48 00 00 AD */	bl func_80045CFC
lbl_80045C54:
/* 80045C54 000418B4  A0 1C 01 1E */	lhz r0, 0x11e(r28)
/* 80045C58 000418B8  28 00 00 04 */	cmplwi r0, 4
/* 80045C5C 000418BC  40 82 00 2C */	bne lbl_80045C88
/* 80045C60 000418C0  1C 1D 00 44 */	mulli r0, r29, 0x44
/* 80045C64 000418C4  7F E4 FB 78 */	mr r4, r31
/* 80045C68 000418C8  38 A0 00 00 */	li r5, 0
/* 80045C6C 000418CC  7C 7C 02 14 */	add r3, r28, r0
/* 80045C70 000418D0  3B E3 00 0C */	addi r31, r3, 0xc
/* 80045C74 000418D4  7F E3 FB 78 */	mr r3, r31
/* 80045C78 000418D8  4B FF F7 B1 */	bl func_80045428
/* 80045C7C 000418DC  C0 1F 00 38 */	lfs f0, 0x38(r31)
/* 80045C80 000418E0  D0 1E 00 00 */	stfs f0, 0(r30)
/* 80045C84 000418E4  48 00 00 54 */	b lbl_80045CD8
lbl_80045C88:
/* 80045C88 000418E8  28 00 00 02 */	cmplwi r0, 2
/* 80045C8C 000418EC  40 82 00 44 */	bne lbl_80045CD0
/* 80045C90 000418F0  57 A3 07 FE */	clrlwi r3, r29, 0x1f
/* 80045C94 000418F4  57 A0 07 BD */	rlwinm. r0, r29, 0, 0x1e, 0x1e
/* 80045C98 000418F8  1C 03 00 44 */	mulli r0, r3, 0x44
/* 80045C9C 000418FC  7C 7C 02 14 */	add r3, r28, r0
/* 80045CA0 00041900  38 63 00 0C */	addi r3, r3, 0xc
/* 80045CA4 00041904  C0 03 00 38 */	lfs f0, 0x38(r3)
/* 80045CA8 00041908  D0 1E 00 00 */	stfs f0, 0(r30)
/* 80045CAC 0004190C  41 82 00 14 */	beq lbl_80045CC0
/* 80045CB0 00041910  7F E5 FB 78 */	mr r5, r31
/* 80045CB4 00041914  38 80 00 00 */	li r4, 0
/* 80045CB8 00041918  4B FF F7 71 */	bl func_80045428
/* 80045CBC 0004191C  48 00 00 1C */	b lbl_80045CD8
lbl_80045CC0:
/* 80045CC0 00041920  7F E4 FB 78 */	mr r4, r31
/* 80045CC4 00041924  38 A0 00 00 */	li r5, 0
/* 80045CC8 00041928  4B FF F7 61 */	bl func_80045428
/* 80045CCC 0004192C  48 00 00 0C */	b lbl_80045CD8
lbl_80045CD0:
/* 80045CD0 00041930  38 60 00 00 */	li r3, 0
/* 80045CD4 00041934  48 00 00 08 */	b lbl_80045CDC
lbl_80045CD8:
/* 80045CD8 00041938  38 60 00 01 */	li r3, 1
lbl_80045CDC:
/* 80045CDC 0004193C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80045CE0 00041940  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80045CE4 00041944  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80045CE8 00041948  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80045CEC 0004194C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80045CF0 00041950  7C 08 03 A6 */	mtlr r0
/* 80045CF4 00041954  38 21 00 20 */	addi r1, r1, 0x20
/* 80045CF8 00041958  4E 80 00 20 */	blr

.global func_80045CFC
func_80045CFC:
/* 80045CFC 0004195C  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 80045D00 00041960  7C 08 02 A6 */	mflr r0
/* 80045D04 00041964  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 80045D08 00041968  DB E1 00 B0 */	stfd f31, 0xb0(r1)
/* 80045D0C 0004196C  F3 E1 00 B8 */	psq_st f31, 184(r1), 0, qr0
/* 80045D10 00041970  DB C1 00 A0 */	stfd f30, 0xa0(r1)
/* 80045D14 00041974  F3 C1 00 A8 */	psq_st f30, 168(r1), 0, qr0
/* 80045D18 00041978  DB A1 00 90 */	stfd f29, 0x90(r1)
/* 80045D1C 0004197C  F3 A1 00 98 */	psq_st f29, 152(r1), 0, qr0
/* 80045D20 00041980  DB 81 00 80 */	stfd f28, 0x80(r1)
/* 80045D24 00041984  F3 81 00 88 */	psq_st f28, 136(r1), 0, qr0
/* 80045D28 00041988  DB 61 00 70 */	stfd f27, 0x70(r1)
/* 80045D2C 0004198C  F3 61 00 78 */	psq_st f27, 120(r1), 0, qr0
/* 80045D30 00041990  DB 41 00 60 */	stfd f26, 0x60(r1)
/* 80045D34 00041994  F3 41 00 68 */	psq_st f26, 104(r1), 0, qr0
/* 80045D38 00041998  DB 21 00 50 */	stfd f25, 0x50(r1)
/* 80045D3C 0004199C  F3 21 00 58 */	psq_st f25, 88(r1), 0, qr0
/* 80045D40 000419A0  39 61 00 50 */	addi r11, r1, 0x50
/* 80045D44 000419A4  48 18 13 DD */	bl _savegpr_25
/* 80045D48 000419A8  C3 62 83 8C */	lfs f27, lbl_8064098C-_SDA2_BASE_(r2)
/* 80045D4C 000419AC  7C 7E 1B 78 */	mr r30, r3
/* 80045D50 000419B0  7C 9F 23 78 */	mr r31, r4
/* 80045D54 000419B4  4B FF 84 09 */	bl func_8003E15C
/* 80045D58 000419B8  2C 03 00 00 */	cmpwi r3, 0
/* 80045D5C 000419BC  41 82 00 B4 */	beq lbl_80045E10
/* 80045D60 000419C0  3B BE 00 0C */	addi r29, r30, 0xc
/* 80045D64 000419C4  3B 20 FF FF */	li r25, -1
/* 80045D68 000419C8  3B 40 00 00 */	li r26, 0
lbl_80045D6C:
/* 80045D6C 000419CC  7F A3 EB 78 */	mr r3, r29
/* 80045D70 000419D0  4B FF F2 41 */	bl func_80044FB0
/* 80045D74 000419D4  2C 03 00 00 */	cmpwi r3, 0
/* 80045D78 000419D8  41 82 00 38 */	beq lbl_80045DB0
/* 80045D7C 000419DC  7F BC EB 78 */	mr r28, r29
/* 80045D80 000419E0  3B 60 00 00 */	li r27, 0
lbl_80045D84:
/* 80045D84 000419E4  80 7C 00 08 */	lwz r3, 8(r28)
/* 80045D88 000419E8  2C 03 00 00 */	cmpwi r3, 0
/* 80045D8C 000419EC  41 82 00 14 */	beq lbl_80045DA0
/* 80045D90 000419F0  4B FF 39 45 */	bl func_800396D4
/* 80045D94 000419F4  7C 19 18 00 */	cmpw r25, r3
/* 80045D98 000419F8  40 80 00 08 */	bge lbl_80045DA0
/* 80045D9C 000419FC  7C 79 1B 78 */	mr r25, r3
lbl_80045DA0:
/* 80045DA0 00041A00  3B 7B 00 01 */	addi r27, r27, 1
/* 80045DA4 00041A04  3B 9C 00 04 */	addi r28, r28, 4
/* 80045DA8 00041A08  2C 1B 00 02 */	cmpwi r27, 2
/* 80045DAC 00041A0C  41 80 FF D8 */	blt lbl_80045D84
lbl_80045DB0:
/* 80045DB0 00041A10  3B 5A 00 01 */	addi r26, r26, 1
/* 80045DB4 00041A14  3B BD 00 44 */	addi r29, r29, 0x44
/* 80045DB8 00041A18  2C 1A 00 04 */	cmpwi r26, 4
/* 80045DBC 00041A1C  41 80 FF B0 */	blt lbl_80045D6C
/* 80045DC0 00041A20  2C 19 00 02 */	cmpwi r25, 2
/* 80045DC4 00041A24  41 81 00 08 */	bgt lbl_80045DCC
/* 80045DC8 00041A28  C3 62 83 90 */	lfs f27, lbl_80640990-_SDA2_BASE_(r2)
lbl_80045DCC:
/* 80045DCC 00041A2C  2C 19 00 03 */	cmpwi r25, 3
/* 80045DD0 00041A30  40 82 00 08 */	bne lbl_80045DD8
/* 80045DD4 00041A34  C3 62 83 8C */	lfs f27, lbl_8064098C-_SDA2_BASE_(r2)
lbl_80045DD8:
/* 80045DD8 00041A38  2C 19 00 04 */	cmpwi r25, 4
/* 80045DDC 00041A3C  40 82 00 08 */	bne lbl_80045DE4
/* 80045DE0 00041A40  C3 62 83 94 */	lfs f27, lbl_80640994-_SDA2_BASE_(r2)
lbl_80045DE4:
/* 80045DE4 00041A44  2C 19 00 05 */	cmpwi r25, 5
/* 80045DE8 00041A48  40 82 00 08 */	bne lbl_80045DF0
/* 80045DEC 00041A4C  C3 62 83 98 */	lfs f27, lbl_80640998-_SDA2_BASE_(r2)
lbl_80045DF0:
/* 80045DF0 00041A50  2C 19 00 06 */	cmpwi r25, 6
/* 80045DF4 00041A54  41 80 00 08 */	blt lbl_80045DFC
/* 80045DF8 00041A58  C3 62 83 9C */	lfs f27, lbl_8064099C-_SDA2_BASE_(r2)
lbl_80045DFC:
/* 80045DFC 00041A5C  2C 19 00 01 */	cmpwi r25, 1
/* 80045E00 00041A60  93 3E 01 24 */	stw r25, 0x124(r30)
/* 80045E04 00041A64  40 80 00 0C */	bge lbl_80045E10
/* 80045E08 00041A68  38 00 00 01 */	li r0, 1
/* 80045E0C 00041A6C  90 1E 01 24 */	stw r0, 0x124(r30)
lbl_80045E10:
/* 80045E10 00041A70  3B 7E 00 0C */	addi r27, r30, 0xc
/* 80045E14 00041A74  C3 A2 83 88 */	lfs f29, lbl_80640988-_SDA2_BASE_(r2)
/* 80045E18 00041A78  C3 22 83 B0 */	lfs f25, lbl_806409B0-_SDA2_BASE_(r2)
/* 80045E1C 00041A7C  7F 7D DB 78 */	mr r29, r27
/* 80045E20 00041A80  C3 42 83 AC */	lfs f26, lbl_806409AC-_SDA2_BASE_(r2)
/* 80045E24 00041A84  3B 40 00 00 */	li r26, 0
/* 80045E28 00041A88  C3 C2 83 A0 */	lfs f30, lbl_806409A0-_SDA2_BASE_(r2)
/* 80045E2C 00041A8C  C3 E2 83 A4 */	lfs f31, lbl_806409A4-_SDA2_BASE_(r2)
lbl_80045E30:
/* 80045E30 00041A90  7F A3 EB 78 */	mr r3, r29
/* 80045E34 00041A94  4B FF F1 7D */	bl func_80044FB0
/* 80045E38 00041A98  2C 03 00 00 */	cmpwi r3, 0
/* 80045E3C 00041A9C  41 82 02 1C */	beq lbl_80046058
/* 80045E40 00041AA0  57 5C 07 FF */	clrlwi. r28, r26, 0x1f
/* 80045E44 00041AA4  D3 A1 00 20 */	stfs f29, 0x20(r1)
/* 80045E48 00041AA8  D3 A1 00 24 */	stfs f29, 0x24(r1)
/* 80045E4C 00041AAC  D3 A1 00 28 */	stfs f29, 0x28(r1)
/* 80045E50 00041AB0  D3 A1 00 14 */	stfs f29, 0x14(r1)
/* 80045E54 00041AB4  D3 A1 00 18 */	stfs f29, 0x18(r1)
/* 80045E58 00041AB8  D3 A1 00 1C */	stfs f29, 0x1c(r1)
/* 80045E5C 00041ABC  40 82 00 20 */	bne lbl_80045E7C
/* 80045E60 00041AC0  FC 00 D8 50 */	fneg f0, f27
/* 80045E64 00041AC4  FF 80 E8 90 */	fmr f28, f29
/* 80045E68 00041AC8  EC 3E 00 32 */	fmuls f1, f30, f0
/* 80045E6C 00041ACC  EC 1F 00 32 */	fmuls f0, f31, f0
/* 80045E70 00041AD0  D0 21 00 28 */	stfs f1, 0x28(r1)
/* 80045E74 00041AD4  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 80045E78 00041AD8  48 00 00 18 */	b lbl_80045E90
lbl_80045E7C:
/* 80045E7C 00041ADC  EC 3E 06 F2 */	fmuls f1, f30, f27
/* 80045E80 00041AE0  C3 82 83 A8 */	lfs f28, lbl_806409A8-_SDA2_BASE_(r2)
/* 80045E84 00041AE4  EC 1F 06 F2 */	fmuls f0, f31, f27
/* 80045E88 00041AE8  D0 21 00 28 */	stfs f1, 0x28(r1)
/* 80045E8C 00041AEC  D0 01 00 1C */	stfs f0, 0x1c(r1)
lbl_80045E90:
/* 80045E90 00041AF0  1C 1C 00 44 */	mulli r0, r28, 0x44
/* 80045E94 00041AF4  3B 20 00 00 */	li r25, 0
/* 80045E98 00041AF8  7C 7E 02 14 */	add r3, r30, r0
/* 80045E9C 00041AFC  38 63 00 0C */	addi r3, r3, 0xc
/* 80045EA0 00041B00  4B FF F1 11 */	bl func_80044FB0
/* 80045EA4 00041B04  2C 03 00 00 */	cmpwi r3, 0
/* 80045EA8 00041B08  41 82 00 08 */	beq lbl_80045EB0
/* 80045EAC 00041B0C  3B 20 00 01 */	li r25, 1
lbl_80045EB0:
/* 80045EB0 00041B10  63 80 00 02 */	ori r0, r28, 2
/* 80045EB4 00041B14  1C 00 00 44 */	mulli r0, r0, 0x44
/* 80045EB8 00041B18  7C 7E 02 14 */	add r3, r30, r0
/* 80045EBC 00041B1C  38 63 00 0C */	addi r3, r3, 0xc
/* 80045EC0 00041B20  4B FF F0 F1 */	bl func_80044FB0
/* 80045EC4 00041B24  2C 03 00 00 */	cmpwi r3, 0
/* 80045EC8 00041B28  41 82 00 08 */	beq lbl_80045ED0
/* 80045ECC 00041B2C  3B 39 00 01 */	addi r25, r25, 1
lbl_80045ED0:
/* 80045ED0 00041B30  2C 19 00 01 */	cmpwi r25, 1
/* 80045ED4 00041B34  40 82 00 0C */	bne lbl_80045EE0
/* 80045ED8 00041B38  D3 A1 00 20 */	stfs f29, 0x20(r1)
/* 80045EDC 00041B3C  48 00 00 34 */	b lbl_80045F10
lbl_80045EE0:
/* 80045EE0 00041B40  2C 19 00 02 */	cmpwi r25, 2
/* 80045EE4 00041B44  40 82 00 2C */	bne lbl_80045F10
/* 80045EE8 00041B48  57 40 07 BF */	clrlwi. r0, r26, 0x1e
/* 80045EEC 00041B4C  41 82 00 0C */	beq lbl_80045EF8
/* 80045EF0 00041B50  2C 00 00 03 */	cmpwi r0, 3
/* 80045EF4 00041B54  40 82 00 10 */	bne lbl_80045F04
lbl_80045EF8:
/* 80045EF8 00041B58  EC 1A 06 F2 */	fmuls f0, f26, f27
/* 80045EFC 00041B5C  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 80045F00 00041B60  48 00 00 10 */	b lbl_80045F10
lbl_80045F04:
/* 80045F04 00041B64  FC 00 D8 50 */	fneg f0, f27
/* 80045F08 00041B68  EC 1A 00 32 */	fmuls f0, f26, f0
/* 80045F0C 00041B6C  D0 01 00 20 */	stfs f0, 0x20(r1)
lbl_80045F10:
/* 80045F10 00041B70  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 80045F14 00041B74  7F A3 EB 78 */	mr r3, r29
/* 80045F18 00041B78  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 80045F1C 00041B7C  4B FF F0 9D */	bl func_80044FB8
/* 80045F20 00041B80  2C 03 00 02 */	cmpwi r3, 2
/* 80045F24 00041B84  41 82 00 A0 */	beq lbl_80045FC4
/* 80045F28 00041B88  40 80 01 24 */	bge lbl_8004604C
/* 80045F2C 00041B8C  2C 03 00 01 */	cmpwi r3, 1
/* 80045F30 00041B90  40 80 00 08 */	bge lbl_80045F38
/* 80045F34 00041B94  48 00 01 18 */	b lbl_8004604C
lbl_80045F38:
/* 80045F38 00041B98  80 1E 00 00 */	lwz r0, 0(r30)
/* 80045F3C 00041B9C  2C 00 00 00 */	cmpwi r0, 0
/* 80045F40 00041BA0  40 82 00 1C */	bne lbl_80045F5C
/* 80045F44 00041BA4  EC 39 06 F2 */	fmuls f1, f25, f27
/* 80045F48 00041BA8  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80045F4C 00041BAC  D3 A1 00 14 */	stfs f29, 0x14(r1)
/* 80045F50 00041BB0  EC 00 08 2A */	fadds f0, f0, f1
/* 80045F54 00041BB4  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 80045F58 00041BB8  48 00 00 48 */	b lbl_80045FA0
lbl_80045F5C:
/* 80045F5C 00041BBC  2C 00 00 02 */	cmpwi r0, 2
/* 80045F60 00041BC0  40 82 00 40 */	bne lbl_80045FA0
/* 80045F64 00041BC4  C0 21 00 20 */	lfs f1, 0x20(r1)
/* 80045F68 00041BC8  57 40 07 BF */	clrlwi. r0, r26, 0x1e
/* 80045F6C 00041BCC  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 80045F70 00041BD0  41 82 00 0C */	beq lbl_80045F7C
/* 80045F74 00041BD4  2C 00 00 03 */	cmpwi r0, 3
/* 80045F78 00041BD8  40 82 00 18 */	bne lbl_80045F90
lbl_80045F7C:
/* 80045F7C 00041BDC  EC 39 06 F2 */	fmuls f1, f25, f27
/* 80045F80 00041BE0  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80045F84 00041BE4  EC 00 08 2A */	fadds f0, f0, f1
/* 80045F88 00041BE8  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 80045F8C 00041BEC  48 00 00 14 */	b lbl_80045FA0
lbl_80045F90:
/* 80045F90 00041BF0  FC 00 D8 50 */	fneg f0, f27
/* 80045F94 00041BF4  EC 19 00 32 */	fmuls f0, f25, f0
/* 80045F98 00041BF8  EC 01 00 2A */	fadds f0, f1, f0
/* 80045F9C 00041BFC  D0 01 00 20 */	stfs f0, 0x20(r1)
lbl_80045FA0:
/* 80045FA0 00041C00  7F A3 EB 78 */	mr r3, r29
/* 80045FA4 00041C04  38 81 00 20 */	addi r4, r1, 0x20
/* 80045FA8 00041C08  4B FF F3 F5 */	bl func_8004539C
/* 80045FAC 00041C0C  38 81 00 14 */	addi r4, r1, 0x14
/* 80045FB0 00041C10  7F A3 EB 78 */	mr r3, r29
/* 80045FB4 00041C14  7C 85 23 78 */	mr r5, r4
/* 80045FB8 00041C18  4B FF F4 09 */	bl func_800453C0
/* 80045FBC 00041C1C  D3 9D 00 38 */	stfs f28, 0x38(r29)
/* 80045FC0 00041C20  48 00 00 98 */	b lbl_80046058
lbl_80045FC4:
/* 80045FC4 00041C24  C0 41 00 14 */	lfs f2, 0x14(r1)
/* 80045FC8 00041C28  C0 21 00 18 */	lfs f1, 0x18(r1)
/* 80045FCC 00041C2C  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 80045FD0 00041C30  D0 41 00 08 */	stfs f2, 8(r1)
/* 80045FD4 00041C34  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 80045FD8 00041C38  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80045FDC 00041C3C  80 1E 00 00 */	lwz r0, 0(r30)
/* 80045FE0 00041C40  2C 00 00 00 */	cmpwi r0, 0
/* 80045FE4 00041C44  40 82 00 10 */	bne lbl_80045FF4
/* 80045FE8 00041C48  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80045FEC 00041C4C  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 80045FF0 00041C50  48 00 00 1C */	b lbl_8004600C
lbl_80045FF4:
/* 80045FF4 00041C54  EC 5A 06 F2 */	fmuls f2, f26, f27
/* 80045FF8 00041C58  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80045FFC 00041C5C  EC 20 10 2A */	fadds f1, f0, f2
/* 80046000 00041C60  EC 00 10 28 */	fsubs f0, f0, f2
/* 80046004 00041C64  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 80046008 00041C68  D0 01 00 08 */	stfs f0, 8(r1)
lbl_8004600C:
/* 8004600C 00041C6C  7F A3 EB 78 */	mr r3, r29
/* 80046010 00041C70  38 81 00 20 */	addi r4, r1, 0x20
/* 80046014 00041C74  4B FF F3 89 */	bl func_8004539C
/* 80046018 00041C78  2C 1C 00 00 */	cmpwi r28, 0
/* 8004601C 00041C7C  41 82 00 18 */	beq lbl_80046034
/* 80046020 00041C80  7F A3 EB 78 */	mr r3, r29
/* 80046024 00041C84  38 81 00 08 */	addi r4, r1, 8
/* 80046028 00041C88  38 A1 00 14 */	addi r5, r1, 0x14
/* 8004602C 00041C8C  4B FF F3 95 */	bl func_800453C0
/* 80046030 00041C90  48 00 00 14 */	b lbl_80046044
lbl_80046034:
/* 80046034 00041C94  7F A3 EB 78 */	mr r3, r29
/* 80046038 00041C98  38 81 00 14 */	addi r4, r1, 0x14
/* 8004603C 00041C9C  38 A1 00 08 */	addi r5, r1, 8
/* 80046040 00041CA0  4B FF F3 81 */	bl func_800453C0
lbl_80046044:
/* 80046044 00041CA4  D3 9D 00 38 */	stfs f28, 0x38(r29)
/* 80046048 00041CA8  48 00 00 10 */	b lbl_80046058
lbl_8004604C:
/* 8004604C 00041CAC  7F A3 EB 78 */	mr r3, r29
/* 80046050 00041CB0  38 81 00 20 */	addi r4, r1, 0x20
/* 80046054 00041CB4  4B FF F3 49 */	bl func_8004539C
lbl_80046058:
/* 80046058 00041CB8  3B 5A 00 01 */	addi r26, r26, 1
/* 8004605C 00041CBC  3B BD 00 44 */	addi r29, r29, 0x44
/* 80046060 00041CC0  2C 1A 00 04 */	cmpwi r26, 4
/* 80046064 00041CC4  41 80 FD CC */	blt lbl_80045E30
/* 80046068 00041CC8  2C 1F 00 00 */	cmpwi r31, 0
/* 8004606C 00041CCC  41 82 00 40 */	beq lbl_800460AC
/* 80046070 00041CD0  3B 20 00 00 */	li r25, 0
/* 80046074 00041CD4  48 00 00 2C */	b lbl_800460A0
lbl_80046078:
/* 80046078 00041CD8  7F 63 DB 78 */	mr r3, r27
/* 8004607C 00041CDC  4B FF EF 35 */	bl func_80044FB0
/* 80046080 00041CE0  2C 03 00 00 */	cmpwi r3, 0
/* 80046084 00041CE4  41 82 00 14 */	beq lbl_80046098
/* 80046088 00041CE8  7F 63 DB 78 */	mr r3, r27
/* 8004608C 00041CEC  4B FF F3 E1 */	bl func_8004546C
/* 80046090 00041CF0  7F 63 DB 78 */	mr r3, r27
/* 80046094 00041CF4  4B FF F4 35 */	bl func_800454C8
lbl_80046098:
/* 80046098 00041CF8  3B 7B 00 44 */	addi r27, r27, 0x44
/* 8004609C 00041CFC  3B 39 00 01 */	addi r25, r25, 1
lbl_800460A0:
/* 800460A0 00041D00  A0 1E 01 1E */	lhz r0, 0x11e(r30)
/* 800460A4 00041D04  7C 19 00 00 */	cmpw r25, r0
/* 800460A8 00041D08  41 80 FF D0 */	blt lbl_80046078
lbl_800460AC:
/* 800460AC 00041D0C  7F C3 F3 78 */	mr r3, r30
/* 800460B0 00041D10  48 00 09 35 */	bl func_800469E4
/* 800460B4 00041D14  E3 E1 00 B8 */	psq_l f31, 184(r1), 0, qr0
/* 800460B8 00041D18  CB E1 00 B0 */	lfd f31, 0xb0(r1)
/* 800460BC 00041D1C  E3 C1 00 A8 */	psq_l f30, 168(r1), 0, qr0
/* 800460C0 00041D20  CB C1 00 A0 */	lfd f30, 0xa0(r1)
/* 800460C4 00041D24  E3 A1 00 98 */	psq_l f29, 152(r1), 0, qr0
/* 800460C8 00041D28  CB A1 00 90 */	lfd f29, 0x90(r1)
/* 800460CC 00041D2C  E3 81 00 88 */	psq_l f28, 136(r1), 0, qr0
/* 800460D0 00041D30  CB 81 00 80 */	lfd f28, 0x80(r1)
/* 800460D4 00041D34  E3 61 00 78 */	psq_l f27, 120(r1), 0, qr0
/* 800460D8 00041D38  CB 61 00 70 */	lfd f27, 0x70(r1)
/* 800460DC 00041D3C  E3 41 00 68 */	psq_l f26, 104(r1), 0, qr0
/* 800460E0 00041D40  CB 41 00 60 */	lfd f26, 0x60(r1)
/* 800460E4 00041D44  E3 21 00 58 */	psq_l f25, 88(r1), 0, qr0
/* 800460E8 00041D48  39 61 00 50 */	addi r11, r1, 0x50
/* 800460EC 00041D4C  CB 21 00 50 */	lfd f25, 0x50(r1)
/* 800460F0 00041D50  48 18 10 7D */	bl _restgpr_25
/* 800460F4 00041D54  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 800460F8 00041D58  7C 08 03 A6 */	mtlr r0
/* 800460FC 00041D5C  38 21 00 C0 */	addi r1, r1, 0xc0
/* 80046100 00041D60  4E 80 00 20 */	blr

.global func_80046104
func_80046104:
/* 80046104 00041D64  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80046108 00041D68  7C 08 02 A6 */	mflr r0
/* 8004610C 00041D6C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80046110 00041D70  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80046114 00041D74  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80046118 00041D78  7C BE 2B 78 */	mr r30, r5
/* 8004611C 00041D7C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80046120 00041D80  7C 9D 23 78 */	mr r29, r4
/* 80046124 00041D84  93 81 00 10 */	stw r28, 0x10(r1)
/* 80046128 00041D88  7C 7C 1B 78 */	mr r28, r3
/* 8004612C 00041D8C  4B FF 80 31 */	bl func_8003E15C
/* 80046130 00041D90  2C 03 00 00 */	cmpwi r3, 0
/* 80046134 00041D94  7C 7F 1B 78 */	mr r31, r3
/* 80046138 00041D98  41 82 00 60 */	beq lbl_80046198
/* 8004613C 00041D9C  80 9C 00 08 */	lwz r4, 8(r28)
/* 80046140 00041DA0  2C 04 00 00 */	cmpwi r4, 0
/* 80046144 00041DA4  41 82 00 08 */	beq lbl_8004614C
/* 80046148 00041DA8  4B FF 80 F1 */	bl func_8003E238
lbl_8004614C:
/* 8004614C 00041DAC  7F E3 FB 78 */	mr r3, r31
/* 80046150 00041DB0  4B FF 80 6D */	bl func_8003E1BC
/* 80046154 00041DB4  2C 03 00 00 */	cmpwi r3, 0
/* 80046158 00041DB8  90 7C 00 08 */	stw r3, 8(r28)
/* 8004615C 00041DBC  41 82 00 3C */	beq lbl_80046198
/* 80046160 00041DC0  7F A4 EB 78 */	mr r4, r29
/* 80046164 00041DC4  7F C5 F3 78 */	mr r5, r30
/* 80046168 00041DC8  4B FF 17 BD */	bl func_80037924
/* 8004616C 00041DCC  80 7C 00 08 */	lwz r3, 8(r28)
/* 80046170 00041DD0  38 80 00 03 */	li r4, 3
/* 80046174 00041DD4  38 00 01 00 */	li r0, 0x100
/* 80046178 00041DD8  B0 83 05 0C */	sth r4, 0x50c(r3)
/* 8004617C 00041DDC  80 7C 00 08 */	lwz r3, 8(r28)
/* 80046180 00041DE0  B0 03 0C 68 */	sth r0, 0xc68(r3)
/* 80046184 00041DE4  80 7C 00 08 */	lwz r3, 8(r28)
/* 80046188 00041DE8  80 63 0C 00 */	lwz r3, 0xc00(r3)
/* 8004618C 00041DEC  2C 03 00 00 */	cmpwi r3, 0
/* 80046190 00041DF0  41 82 00 08 */	beq lbl_80046198
/* 80046194 00041DF4  48 1B C8 3D */	bl func_802029D0
lbl_80046198:
/* 80046198 00041DF8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8004619C 00041DFC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800461A0 00041E00  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800461A4 00041E04  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800461A8 00041E08  83 81 00 10 */	lwz r28, 0x10(r1)
/* 800461AC 00041E0C  7C 08 03 A6 */	mtlr r0
/* 800461B0 00041E10  38 21 00 20 */	addi r1, r1, 0x20
/* 800461B4 00041E14  4E 80 00 20 */	blr

.global func_800461B8
func_800461B8:
/* 800461B8 00041E18  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800461BC 00041E1C  7C 08 02 A6 */	mflr r0
/* 800461C0 00041E20  90 01 00 24 */	stw r0, 0x24(r1)
/* 800461C4 00041E24  39 61 00 20 */	addi r11, r1, 0x20
/* 800461C8 00041E28  48 18 0F 61 */	bl _savegpr_27
/* 800461CC 00041E2C  7C 7B 1B 78 */	mr r27, r3
/* 800461D0 00041E30  4B FF 7F 8D */	bl func_8003E15C
/* 800461D4 00041E34  2C 03 00 00 */	cmpwi r3, 0
/* 800461D8 00041E38  7C 7D 1B 78 */	mr r29, r3
/* 800461DC 00041E3C  41 82 00 98 */	beq lbl_80046274
/* 800461E0 00041E40  7F 63 DB 78 */	mr r3, r27
/* 800461E4 00041E44  48 00 06 7D */	bl func_80046860
/* 800461E8 00041E48  80 7B 01 64 */	lwz r3, 0x164(r27)
/* 800461EC 00041E4C  2C 03 00 00 */	cmpwi r3, 0
/* 800461F0 00041E50  41 82 00 24 */	beq lbl_80046214
/* 800461F4 00041E54  41 82 00 18 */	beq lbl_8004620C
/* 800461F8 00041E58  81 83 01 00 */	lwz r12, 0x100(r3)
/* 800461FC 00041E5C  38 80 00 01 */	li r4, 1
/* 80046200 00041E60  81 8C 00 08 */	lwz r12, 8(r12)
/* 80046204 00041E64  7D 89 03 A6 */	mtctr r12
/* 80046208 00041E68  4E 80 04 21 */	bctrl
lbl_8004620C:
/* 8004620C 00041E6C  38 00 00 00 */	li r0, 0
/* 80046210 00041E70  90 1B 01 64 */	stw r0, 0x164(r27)
lbl_80046214:
/* 80046214 00041E74  7F 7E DB 78 */	mr r30, r27
/* 80046218 00041E78  3B 80 00 00 */	li r28, 0
/* 8004621C 00041E7C  3B E0 00 00 */	li r31, 0
lbl_80046220:
/* 80046220 00041E80  80 7E 01 5C */	lwz r3, 0x15c(r30)
/* 80046224 00041E84  2C 03 00 00 */	cmpwi r3, 0
/* 80046228 00041E88  41 82 00 20 */	beq lbl_80046248
/* 8004622C 00041E8C  41 82 00 18 */	beq lbl_80046244
/* 80046230 00041E90  81 83 01 00 */	lwz r12, 0x100(r3)
/* 80046234 00041E94  38 80 00 01 */	li r4, 1
/* 80046238 00041E98  81 8C 00 08 */	lwz r12, 8(r12)
/* 8004623C 00041E9C  7D 89 03 A6 */	mtctr r12
/* 80046240 00041EA0  4E 80 04 21 */	bctrl
lbl_80046244:
/* 80046244 00041EA4  93 FE 01 5C */	stw r31, 0x15c(r30)
lbl_80046248:
/* 80046248 00041EA8  3B 9C 00 01 */	addi r28, r28, 1
/* 8004624C 00041EAC  3B DE 00 04 */	addi r30, r30, 4
/* 80046250 00041EB0  2C 1C 00 02 */	cmpwi r28, 2
/* 80046254 00041EB4  41 80 FF CC */	blt lbl_80046220
/* 80046258 00041EB8  80 9B 00 08 */	lwz r4, 8(r27)
/* 8004625C 00041EBC  2C 04 00 00 */	cmpwi r4, 0
/* 80046260 00041EC0  41 82 00 14 */	beq lbl_80046274
/* 80046264 00041EC4  7F A3 EB 78 */	mr r3, r29
/* 80046268 00041EC8  4B FF 7F D1 */	bl func_8003E238
/* 8004626C 00041ECC  38 00 00 00 */	li r0, 0
/* 80046270 00041ED0  90 1B 00 08 */	stw r0, 8(r27)
lbl_80046274:
/* 80046274 00041ED4  39 61 00 20 */	addi r11, r1, 0x20
/* 80046278 00041ED8  48 18 0E FD */	bl _restgpr_27
/* 8004627C 00041EDC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80046280 00041EE0  7C 08 03 A6 */	mtlr r0
/* 80046284 00041EE4  38 21 00 20 */	addi r1, r1, 0x20
/* 80046288 00041EE8  4E 80 00 20 */	blr

.global func_8004628C
func_8004628C:
/* 8004628C 00041EEC  80 63 00 08 */	lwz r3, 8(r3)
/* 80046290 00041EF0  2C 03 00 00 */	cmpwi r3, 0
/* 80046294 00041EF4  40 82 00 0C */	bne lbl_800462A0
/* 80046298 00041EF8  38 60 00 00 */	li r3, 0
/* 8004629C 00041EFC  4E 80 00 20 */	blr
lbl_800462A0:
/* 800462A0 00041F00  80 C3 0C 00 */	lwz r6, 0xc00(r3)
/* 800462A4 00041F04  2C 06 00 00 */	cmpwi r6, 0
/* 800462A8 00041F08  40 82 00 0C */	bne lbl_800462B4
/* 800462AC 00041F0C  38 60 00 00 */	li r3, 0
/* 800462B0 00041F10  4E 80 00 20 */	blr
lbl_800462B4:
/* 800462B4 00041F14  80 66 00 00 */	lwz r3, 0(r6)
/* 800462B8 00041F18  39 60 00 00 */	li r11, 0
/* 800462BC 00041F1C  A0 E3 00 18 */	lhz r7, 0x18(r3)
/* 800462C0 00041F20  48 00 00 E0 */	b lbl_800463A0
lbl_800462C4:
/* 800462C4 00041F24  81 06 00 04 */	lwz r8, 4(r6)
/* 800462C8 00041F28  2C 08 00 00 */	cmpwi r8, 0
/* 800462CC 00041F2C  40 82 00 0C */	bne lbl_800462D8
/* 800462D0 00041F30  38 A0 00 00 */	li r5, 0
/* 800462D4 00041F34  48 00 00 28 */	b lbl_800462FC
lbl_800462D8:
/* 800462D8 00041F38  80 66 00 00 */	lwz r3, 0(r6)
/* 800462DC 00041F3C  55 65 04 3E */	clrlwi r5, r11, 0x10
/* 800462E0 00041F40  A0 03 00 18 */	lhz r0, 0x18(r3)
/* 800462E4 00041F44  7C 05 00 40 */	cmplw r5, r0
/* 800462E8 00041F48  41 80 00 0C */	blt lbl_800462F4
/* 800462EC 00041F4C  38 A0 00 00 */	li r5, 0
/* 800462F0 00041F50  48 00 00 0C */	b lbl_800462FC
lbl_800462F4:
/* 800462F4 00041F54  55 60 13 BA */	rlwinm r0, r11, 2, 0xe, 0x1d
/* 800462F8 00041F58  7C A8 00 2E */	lwzx r5, r8, r0
lbl_800462FC:
/* 800462FC 00041F5C  2C 05 00 00 */	cmpwi r5, 0
/* 80046300 00041F60  40 82 00 0C */	bne lbl_8004630C
/* 80046304 00041F64  38 60 00 00 */	li r3, 0
/* 80046308 00041F68  4E 80 00 20 */	blr
lbl_8004630C:
/* 8004630C 00041F6C  A1 05 00 EC */	lhz r8, 0xec(r5)
/* 80046310 00041F70  39 80 00 00 */	li r12, 0
/* 80046314 00041F74  48 00 00 7C */	b lbl_80046390
lbl_80046318:
/* 80046318 00041F78  81 25 00 28 */	lwz r9, 0x28(r5)
/* 8004631C 00041F7C  2C 09 00 00 */	cmpwi r9, 0
/* 80046320 00041F80  40 82 00 0C */	bne lbl_8004632C
/* 80046324 00041F84  38 00 00 00 */	li r0, 0
/* 80046328 00041F88  48 00 00 54 */	b lbl_8004637C
lbl_8004632C:
/* 8004632C 00041F8C  A0 05 00 EC */	lhz r0, 0xec(r5)
/* 80046330 00041F90  55 83 04 3E */	clrlwi r3, r12, 0x10
/* 80046334 00041F94  7C 03 00 40 */	cmplw r3, r0
/* 80046338 00041F98  41 80 00 0C */	blt lbl_80046344
/* 8004633C 00041F9C  38 00 00 00 */	li r0, 0
/* 80046340 00041FA0  48 00 00 3C */	b lbl_8004637C
lbl_80046344:
/* 80046344 00041FA4  81 45 00 08 */	lwz r10, 8(r5)
/* 80046348 00041FA8  55 80 0B FC */	rlwinm r0, r12, 1, 0xf, 0x1e
/* 8004634C 00041FAC  7C 69 02 2E */	lhzx r3, r9, r0
/* 80046350 00041FB0  2C 0A 00 00 */	cmpwi r10, 0
/* 80046354 00041FB4  40 82 00 0C */	bne lbl_80046360
/* 80046358 00041FB8  38 00 00 00 */	li r0, 0
/* 8004635C 00041FBC  48 00 00 20 */	b lbl_8004637C
lbl_80046360:
/* 80046360 00041FC0  A0 05 00 DE */	lhz r0, 0xde(r5)
/* 80046364 00041FC4  7C 03 00 40 */	cmplw r3, r0
/* 80046368 00041FC8  41 80 00 0C */	blt lbl_80046374
/* 8004636C 00041FCC  38 00 00 00 */	li r0, 0
/* 80046370 00041FD0  48 00 00 0C */	b lbl_8004637C
lbl_80046374:
/* 80046374 00041FD4  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 80046378 00041FD8  7C 0A 00 2E */	lwzx r0, r10, r0
lbl_8004637C:
/* 8004637C 00041FDC  7C 04 00 40 */	cmplw r4, r0
/* 80046380 00041FE0  40 82 00 0C */	bne lbl_8004638C
/* 80046384 00041FE4  38 60 00 01 */	li r3, 1
/* 80046388 00041FE8  4E 80 00 20 */	blr
lbl_8004638C:
/* 8004638C 00041FEC  39 8C 00 01 */	addi r12, r12, 1
lbl_80046390:
/* 80046390 00041FF0  55 80 04 3E */	clrlwi r0, r12, 0x10
/* 80046394 00041FF4  7C 00 40 40 */	cmplw r0, r8
/* 80046398 00041FF8  41 80 FF 80 */	blt lbl_80046318
/* 8004639C 00041FFC  39 6B 00 01 */	addi r11, r11, 1
lbl_800463A0:
/* 800463A0 00042000  55 60 04 3E */	clrlwi r0, r11, 0x10
/* 800463A4 00042004  7C 00 38 40 */	cmplw r0, r7
/* 800463A8 00042008  41 80 FF 1C */	blt lbl_800462C4
/* 800463AC 0004200C  38 60 00 00 */	li r3, 0
/* 800463B0 00042010  4E 80 00 20 */	blr

.global func_800463B4
func_800463B4:
/* 800463B4 00042014  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800463B8 00042018  7C 08 02 A6 */	mflr r0
/* 800463BC 0004201C  90 01 00 14 */	stw r0, 0x14(r1)
/* 800463C0 00042020  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800463C4 00042024  93 C1 00 08 */	stw r30, 8(r1)
/* 800463C8 00042028  7C 7E 1B 78 */	mr r30, r3
/* 800463CC 0004202C  80 03 01 64 */	lwz r0, 0x164(r3)
/* 800463D0 00042030  2C 00 00 00 */	cmpwi r0, 0
/* 800463D4 00042034  40 82 00 6C */	bne lbl_80046440
/* 800463D8 00042038  3C 80 20 FE */	lis r4, 0x20FE0E00@ha
/* 800463DC 0004203C  38 60 00 0C */	li r3, 0xc
/* 800463E0 00042040  38 84 0E 00 */	addi r4, r4, 0x20FE0E00@l
/* 800463E4 00042044  48 19 50 D9 */	bl func_801DB4BC
/* 800463E8 00042048  2C 03 00 00 */	cmpwi r3, 0
/* 800463EC 0004204C  7C 7F 1B 78 */	mr r31, r3
/* 800463F0 00042050  41 82 00 50 */	beq lbl_80046440
/* 800463F4 00042054  48 19 47 35 */	bl func_801DAB28
/* 800463F8 00042058  2C 03 00 00 */	cmpwi r3, 0
/* 800463FC 0004205C  41 82 00 14 */	beq lbl_80046410
/* 80046400 00042060  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80046404 00042064  38 80 01 40 */	li r4, 0x140
/* 80046408 00042068  48 19 48 8D */	bl func_801DAC94
/* 8004640C 0004206C  48 00 00 08 */	b lbl_80046414
lbl_80046410:
/* 80046410 00042070  38 60 00 00 */	li r3, 0
lbl_80046414:
/* 80046414 00042074  2C 03 00 00 */	cmpwi r3, 0
/* 80046418 00042078  41 82 00 0C */	beq lbl_80046424
/* 8004641C 0004207C  7F E4 FB 78 */	mr r4, r31
/* 80046420 00042080  48 1B 34 CD */	bl func_801F98EC
lbl_80046424:
/* 80046424 00042084  90 7E 01 64 */	stw r3, 0x164(r30)
/* 80046428 00042088  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 8004642C 0004208C  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80046430 00042090  60 00 00 01 */	ori r0, r0, 1
/* 80046434 00042094  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80046438 00042098  90 03 01 04 */	stw r0, 0x104(r3)
/* 8004643C 0004209C  D0 03 01 08 */	stfs f0, 0x108(r3)
lbl_80046440:
/* 80046440 000420A0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80046444 000420A4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80046448 000420A8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8004644C 000420AC  7C 08 03 A6 */	mtlr r0
/* 80046450 000420B0  38 21 00 10 */	addi r1, r1, 0x10
/* 80046454 000420B4  4E 80 00 20 */	blr

.global func_80046458
func_80046458:
/* 80046458 000420B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8004645C 000420BC  7C 08 02 A6 */	mflr r0
/* 80046460 000420C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80046464 000420C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80046468 000420C8  7C 7F 1B 78 */	mr r31, r3
/* 8004646C 000420CC  80 03 01 64 */	lwz r0, 0x164(r3)
/* 80046470 000420D0  2C 00 00 00 */	cmpwi r0, 0
/* 80046474 000420D4  41 82 00 28 */	beq lbl_8004649C
/* 80046478 000420D8  41 82 00 1C */	beq lbl_80046494
/* 8004647C 000420DC  7C 03 03 78 */	mr r3, r0
/* 80046480 000420E0  38 80 00 01 */	li r4, 1
/* 80046484 000420E4  81 83 01 00 */	lwz r12, 0x100(r3)
/* 80046488 000420E8  81 8C 00 08 */	lwz r12, 8(r12)
/* 8004648C 000420EC  7D 89 03 A6 */	mtctr r12
/* 80046490 000420F0  4E 80 04 21 */	bctrl
lbl_80046494:
/* 80046494 000420F4  38 00 00 00 */	li r0, 0
/* 80046498 000420F8  90 1F 01 64 */	stw r0, 0x164(r31)
lbl_8004649C:
/* 8004649C 000420FC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800464A0 00042100  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800464A4 00042104  7C 08 03 A6 */	mtlr r0
/* 800464A8 00042108  38 21 00 10 */	addi r1, r1, 0x10
/* 800464AC 0004210C  4E 80 00 20 */	blr

.global func_800464B0
func_800464B0:
/* 800464B0 00042110  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 800464B4 00042114  7C 08 02 A6 */	mflr r0
/* 800464B8 00042118  90 01 00 74 */	stw r0, 0x74(r1)
/* 800464BC 0004211C  39 61 00 70 */	addi r11, r1, 0x70
/* 800464C0 00042120  48 18 0C 69 */	bl _savegpr_27
/* 800464C4 00042124  2C 05 00 00 */	cmpwi r5, 0
/* 800464C8 00042128  7C 7B 1B 78 */	mr r27, r3
/* 800464CC 0004212C  7C BC 2B 78 */	mr r28, r5
/* 800464D0 00042130  41 80 03 78 */	blt lbl_80046848
/* 800464D4 00042134  2C 05 00 03 */	cmpwi r5, 3
/* 800464D8 00042138  40 81 00 08 */	ble lbl_800464E0
/* 800464DC 0004213C  48 00 03 6C */	b lbl_80046848
lbl_800464E0:
/* 800464E0 00042140  2C 04 00 01 */	cmpwi r4, 1
/* 800464E4 00042144  41 82 00 38 */	beq lbl_8004651C
/* 800464E8 00042148  40 80 00 10 */	bge lbl_800464F8
/* 800464EC 0004214C  2C 04 00 00 */	cmpwi r4, 0
/* 800464F0 00042150  40 80 00 14 */	bge lbl_80046504
/* 800464F4 00042154  48 00 03 54 */	b lbl_80046848
lbl_800464F8:
/* 800464F8 00042158  2C 04 00 03 */	cmpwi r4, 3
/* 800464FC 0004215C  40 80 03 4C */	bge lbl_80046848
/* 80046500 00042160  48 00 00 34 */	b lbl_80046534
lbl_80046504:
/* 80046504 00042164  54 A0 10 3A */	slwi r0, r5, 2
/* 80046508 00042168  3C 80 1D 52 */	lis r4, 0x1D520A00@ha
/* 8004650C 0004216C  7C 63 02 14 */	add r3, r3, r0
/* 80046510 00042170  3B E4 0A 00 */	addi r31, r4, 0x1D520A00@l
/* 80046514 00042174  3B C3 01 2C */	addi r30, r3, 0x12c
/* 80046518 00042178  48 00 00 38 */	b lbl_80046550
lbl_8004651C:
/* 8004651C 0004217C  54 A0 10 3A */	slwi r0, r5, 2
/* 80046520 00042180  3C 80 1D 51 */	lis r4, 0x1D510A00@ha
/* 80046524 00042184  7C 63 02 14 */	add r3, r3, r0
/* 80046528 00042188  3B E4 0A 00 */	addi r31, r4, 0x1D510A00@l
/* 8004652C 0004218C  3B C3 01 3C */	addi r30, r3, 0x13c
/* 80046530 00042190  48 00 00 20 */	b lbl_80046550
lbl_80046534:
/* 80046534 00042194  54 A0 10 3A */	slwi r0, r5, 2
/* 80046538 00042198  3C 80 27 77 */	lis r4, 0x27770A00@ha
/* 8004653C 0004219C  7C 63 02 14 */	add r3, r3, r0
/* 80046540 000421A0  3B E4 0A 00 */	addi r31, r4, 0x27770A00@l
/* 80046544 000421A4  3B C3 01 4C */	addi r30, r3, 0x14c
/* 80046548 000421A8  48 00 00 08 */	b lbl_80046550
/* 8004654C 000421AC  48 00 02 FC */	b lbl_80046848
lbl_80046550:
/* 80046550 000421B0  7F 63 DB 78 */	mr r3, r27
/* 80046554 000421B4  7F 84 E3 78 */	mr r4, r28
/* 80046558 000421B8  38 A0 00 00 */	li r5, 0
/* 8004655C 000421BC  4B FF F5 A5 */	bl func_80045B00
/* 80046560 000421C0  57 E0 00 5E */	rlwinm r0, r31, 0, 1, 0xf
/* 80046564 000421C4  7C 7F 1B 78 */	mr r31, r3
/* 80046568 000421C8  60 04 0E 00 */	ori r4, r0, 0xe00
/* 8004656C 000421CC  38 60 00 0C */	li r3, 0xc
/* 80046570 000421D0  48 19 4F 4D */	bl func_801DB4BC
/* 80046574 000421D4  2C 03 00 00 */	cmpwi r3, 0
/* 80046578 000421D8  7C 7D 1B 78 */	mr r29, r3
/* 8004657C 000421DC  41 82 02 CC */	beq lbl_80046848
/* 80046580 000421E0  80 7E 00 00 */	lwz r3, 0(r30)
/* 80046584 000421E4  2C 03 00 00 */	cmpwi r3, 0
/* 80046588 000421E8  41 82 00 1C */	beq lbl_800465A4
/* 8004658C 000421EC  41 82 00 18 */	beq lbl_800465A4
/* 80046590 000421F0  81 83 01 00 */	lwz r12, 0x100(r3)
/* 80046594 000421F4  38 80 00 01 */	li r4, 1
/* 80046598 000421F8  81 8C 00 08 */	lwz r12, 8(r12)
/* 8004659C 000421FC  7D 89 03 A6 */	mtctr r12
/* 800465A0 00042200  4E 80 04 21 */	bctrl
lbl_800465A4:
/* 800465A4 00042204  48 19 45 85 */	bl func_801DAB28
/* 800465A8 00042208  2C 03 00 00 */	cmpwi r3, 0
/* 800465AC 0004220C  41 82 00 14 */	beq lbl_800465C0
/* 800465B0 00042210  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 800465B4 00042214  38 80 01 40 */	li r4, 0x140
/* 800465B8 00042218  48 19 46 DD */	bl func_801DAC94
/* 800465BC 0004221C  48 00 00 08 */	b lbl_800465C4
lbl_800465C0:
/* 800465C0 00042220  38 60 00 00 */	li r3, 0
lbl_800465C4:
/* 800465C4 00042224  2C 03 00 00 */	cmpwi r3, 0
/* 800465C8 00042228  41 82 00 0C */	beq lbl_800465D4
/* 800465CC 0004222C  7F A4 EB 78 */	mr r4, r29
/* 800465D0 00042230  48 1B 33 1D */	bl func_801F98EC
lbl_800465D4:
/* 800465D4 00042234  90 7E 00 00 */	stw r3, 0(r30)
/* 800465D8 00042238  7F 63 DB 78 */	mr r3, r27
/* 800465DC 0004223C  7F 84 E3 78 */	mr r4, r28
/* 800465E0 00042240  38 A1 00 40 */	addi r5, r1, 0x40
/* 800465E4 00042244  38 C1 00 08 */	addi r6, r1, 8
/* 800465E8 00042248  38 E0 00 01 */	li r7, 1
/* 800465EC 0004224C  4B FF F6 2D */	bl func_80045C18
/* 800465F0 00042250  80 7E 00 00 */	lwz r3, 0(r30)
/* 800465F4 00042254  38 80 00 01 */	li r4, 1
/* 800465F8 00042258  C0 01 00 40 */	lfs f0, 0x40(r1)
/* 800465FC 0004225C  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 80046600 00042260  C0 01 00 44 */	lfs f0, 0x44(r1)
/* 80046604 00042264  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 80046608 00042268  C0 01 00 48 */	lfs f0, 0x48(r1)
/* 8004660C 0004226C  D0 03 00 28 */	stfs f0, 0x28(r3)
/* 80046610 00042270  48 1A C0 A9 */	bl func_801F26B8
/* 80046614 00042274  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 80046618 00042278  38 61 00 30 */	addi r3, r1, 0x30
/* 8004661C 0004227C  C0 21 00 08 */	lfs f1, 8(r1)
/* 80046620 00042280  38 81 00 24 */	addi r4, r1, 0x24
/* 80046624 00042284  D0 01 00 24 */	stfs f0, 0x24(r1)
/* 80046628 00042288  D0 21 00 28 */	stfs f1, 0x28(r1)
/* 8004662C 0004228C  D0 01 00 2C */	stfs f0, 0x2c(r1)
/* 80046630 00042290  48 1D D0 91 */	bl func_802236C0
/* 80046634 00042294  80 7E 00 00 */	lwz r3, 0(r30)
/* 80046638 00042298  38 80 00 01 */	li r4, 1
/* 8004663C 0004229C  C0 01 00 30 */	lfs f0, 0x30(r1)
/* 80046640 000422A0  D0 03 00 2C */	stfs f0, 0x2c(r3)
/* 80046644 000422A4  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 80046648 000422A8  D0 03 00 30 */	stfs f0, 0x30(r3)
/* 8004664C 000422AC  C0 01 00 38 */	lfs f0, 0x38(r1)
/* 80046650 000422B0  D0 03 00 34 */	stfs f0, 0x34(r3)
/* 80046654 000422B4  C0 01 00 3C */	lfs f0, 0x3c(r1)
/* 80046658 000422B8  D0 03 00 38 */	stfs f0, 0x38(r3)
/* 8004665C 000422BC  A0 03 00 10 */	lhz r0, 0x10(r3)
/* 80046660 000422C0  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80046664 000422C4  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80046668 000422C8  48 1A C0 51 */	bl func_801F26B8
/* 8004666C 000422CC  2C 1F 00 00 */	cmpwi r31, 0
/* 80046670 000422D0  41 82 00 DC */	beq lbl_8004674C
/* 80046674 000422D4  7F E3 FB 78 */	mr r3, r31
/* 80046678 000422D8  4B FF 30 5D */	bl func_800396D4
/* 8004667C 000422DC  C0 22 83 8C */	lfs f1, lbl_8064098C-_SDA2_BASE_(r2)
/* 80046680 000422E0  48 00 7E 1D */	bl func_8004E49C
/* 80046684 000422E4  FC 00 08 18 */	frsp f0, f1
/* 80046688 000422E8  80 7E 00 00 */	lwz r3, 0(r30)
/* 8004668C 000422EC  C0 42 83 B4 */	lfs f2, lbl_806409B4-_SDA2_BASE_(r2)
/* 80046690 000422F0  D0 21 00 18 */	stfs f1, 0x18(r1)
/* 80046694 000422F4  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80046698 000422F8  D0 03 00 48 */	stfs f0, 0x48(r3)
/* 8004669C 000422FC  D0 03 00 4C */	stfs f0, 0x4c(r3)
/* 800466A0 00042300  D0 21 00 1C */	stfs f1, 0x1c(r1)
/* 800466A4 00042304  D0 21 00 20 */	stfs f1, 0x20(r1)
/* 800466A8 00042308  D0 03 00 50 */	stfs f0, 0x50(r3)
/* 800466AC 0004230C  40 80 00 2C */	bge lbl_800466D8
/* 800466B0 00042310  C0 23 00 48 */	lfs f1, 0x48(r3)
/* 800466B4 00042314  C0 62 83 B8 */	lfs f3, lbl_806409B8-_SDA2_BASE_(r2)
/* 800466B8 00042318  FC 01 18 40 */	fcmpo cr0, f1, f3
/* 800466BC 0004231C  40 81 00 1C */	ble lbl_800466D8
/* 800466C0 00042320  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800466C4 00042324  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 800466C8 00042328  40 80 00 08 */	bge lbl_800466D0
/* 800466CC 0004232C  48 00 00 08 */	b lbl_800466D4
lbl_800466D0:
/* 800466D0 00042330  FC 60 10 90 */	fmr f3, f2
lbl_800466D4:
/* 800466D4 00042334  D0 63 00 48 */	stfs f3, 0x48(r3)
lbl_800466D8:
/* 800466D8 00042338  C0 43 00 4C */	lfs f2, 0x4c(r3)
/* 800466DC 0004233C  C0 22 83 B4 */	lfs f1, lbl_806409B4-_SDA2_BASE_(r2)
/* 800466E0 00042340  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 800466E4 00042344  40 80 00 28 */	bge lbl_8004670C
/* 800466E8 00042348  C0 62 83 B8 */	lfs f3, lbl_806409B8-_SDA2_BASE_(r2)
/* 800466EC 0004234C  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 800466F0 00042350  40 81 00 1C */	ble lbl_8004670C
/* 800466F4 00042354  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800466F8 00042358  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 800466FC 0004235C  40 80 00 08 */	bge lbl_80046704
/* 80046700 00042360  48 00 00 08 */	b lbl_80046708
lbl_80046704:
/* 80046704 00042364  FC 60 08 90 */	fmr f3, f1
lbl_80046708:
/* 80046708 00042368  D0 63 00 4C */	stfs f3, 0x4c(r3)
lbl_8004670C:
/* 8004670C 0004236C  C0 43 00 50 */	lfs f2, 0x50(r3)
/* 80046710 00042370  C0 22 83 B4 */	lfs f1, lbl_806409B4-_SDA2_BASE_(r2)
/* 80046714 00042374  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 80046718 00042378  40 80 00 28 */	bge lbl_80046740
/* 8004671C 0004237C  C0 62 83 B8 */	lfs f3, lbl_806409B8-_SDA2_BASE_(r2)
/* 80046720 00042380  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 80046724 00042384  40 81 00 1C */	ble lbl_80046740
/* 80046728 00042388  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 8004672C 0004238C  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 80046730 00042390  40 80 00 08 */	bge lbl_80046738
/* 80046734 00042394  48 00 00 08 */	b lbl_8004673C
lbl_80046738:
/* 80046738 00042398  FC 60 08 90 */	fmr f3, f1
lbl_8004673C:
/* 8004673C 0004239C  D0 63 00 50 */	stfs f3, 0x50(r3)
lbl_80046740:
/* 80046740 000423A0  38 80 00 01 */	li r4, 1
/* 80046744 000423A4  48 1A BF 75 */	bl func_801F26B8
/* 80046748 000423A8  48 00 00 C8 */	b lbl_80046810
lbl_8004674C:
/* 8004674C 000423AC  C0 02 83 8C */	lfs f0, lbl_8064098C-_SDA2_BASE_(r2)
/* 80046750 000423B0  80 7E 00 00 */	lwz r3, 0(r30)
/* 80046754 000423B4  C0 42 83 B4 */	lfs f2, lbl_806409B4-_SDA2_BASE_(r2)
/* 80046758 000423B8  D0 03 00 48 */	stfs f0, 0x48(r3)
/* 8004675C 000423BC  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80046760 000423C0  D0 03 00 4C */	stfs f0, 0x4c(r3)
/* 80046764 000423C4  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 80046768 000423C8  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 8004676C 000423CC  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 80046770 000423D0  D0 03 00 50 */	stfs f0, 0x50(r3)
/* 80046774 000423D4  40 80 00 2C */	bge lbl_800467A0
/* 80046778 000423D8  C0 23 00 48 */	lfs f1, 0x48(r3)
/* 8004677C 000423DC  C0 62 83 B8 */	lfs f3, lbl_806409B8-_SDA2_BASE_(r2)
/* 80046780 000423E0  FC 01 18 40 */	fcmpo cr0, f1, f3
/* 80046784 000423E4  40 81 00 1C */	ble lbl_800467A0
/* 80046788 000423E8  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 8004678C 000423EC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80046790 000423F0  40 80 00 08 */	bge lbl_80046798
/* 80046794 000423F4  48 00 00 08 */	b lbl_8004679C
lbl_80046798:
/* 80046798 000423F8  FC 60 10 90 */	fmr f3, f2
lbl_8004679C:
/* 8004679C 000423FC  D0 63 00 48 */	stfs f3, 0x48(r3)
lbl_800467A0:
/* 800467A0 00042400  C0 43 00 4C */	lfs f2, 0x4c(r3)
/* 800467A4 00042404  C0 22 83 B4 */	lfs f1, lbl_806409B4-_SDA2_BASE_(r2)
/* 800467A8 00042408  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 800467AC 0004240C  40 80 00 28 */	bge lbl_800467D4
/* 800467B0 00042410  C0 62 83 B8 */	lfs f3, lbl_806409B8-_SDA2_BASE_(r2)
/* 800467B4 00042414  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 800467B8 00042418  40 81 00 1C */	ble lbl_800467D4
/* 800467BC 0004241C  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800467C0 00042420  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 800467C4 00042424  40 80 00 08 */	bge lbl_800467CC
/* 800467C8 00042428  48 00 00 08 */	b lbl_800467D0
lbl_800467CC:
/* 800467CC 0004242C  FC 60 08 90 */	fmr f3, f1
lbl_800467D0:
/* 800467D0 00042430  D0 63 00 4C */	stfs f3, 0x4c(r3)
lbl_800467D4:
/* 800467D4 00042434  C0 43 00 50 */	lfs f2, 0x50(r3)
/* 800467D8 00042438  C0 22 83 B4 */	lfs f1, lbl_806409B4-_SDA2_BASE_(r2)
/* 800467DC 0004243C  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 800467E0 00042440  40 80 00 28 */	bge lbl_80046808
/* 800467E4 00042444  C0 62 83 B8 */	lfs f3, lbl_806409B8-_SDA2_BASE_(r2)
/* 800467E8 00042448  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 800467EC 0004244C  40 81 00 1C */	ble lbl_80046808
/* 800467F0 00042450  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800467F4 00042454  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 800467F8 00042458  40 80 00 08 */	bge lbl_80046800
/* 800467FC 0004245C  48 00 00 08 */	b lbl_80046804
lbl_80046800:
/* 80046800 00042460  FC 60 08 90 */	fmr f3, f1
lbl_80046804:
/* 80046804 00042464  D0 63 00 50 */	stfs f3, 0x50(r3)
lbl_80046808:
/* 80046808 00042468  38 80 00 01 */	li r4, 1
/* 8004680C 0004246C  48 1A BE AD */	bl func_801F26B8
lbl_80046810:
/* 80046810 00042470  80 7E 00 00 */	lwz r3, 0(r30)
/* 80046814 00042474  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 80046818 00042478  80 03 01 04 */	lwz r0, 0x104(r3)
/* 8004681C 0004247C  60 00 00 01 */	ori r0, r0, 1
/* 80046820 00042480  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80046824 00042484  90 03 01 04 */	stw r0, 0x104(r3)
/* 80046828 00042488  D0 03 01 08 */	stfs f0, 0x108(r3)
/* 8004682C 0004248C  80 7E 00 00 */	lwz r3, 0(r30)
/* 80046830 00042490  80 63 01 38 */	lwz r3, 0x138(r3)
/* 80046834 00042494  2C 03 00 00 */	cmpwi r3, 0
/* 80046838 00042498  41 82 00 10 */	beq lbl_80046848
/* 8004683C 0004249C  A0 03 01 48 */	lhz r0, 0x148(r3)
/* 80046840 000424A0  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80046844 000424A4  B0 03 01 48 */	sth r0, 0x148(r3)
lbl_80046848:
/* 80046848 000424A8  39 61 00 70 */	addi r11, r1, 0x70
/* 8004684C 000424AC  48 18 09 29 */	bl _restgpr_27
/* 80046850 000424B0  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80046854 000424B4  7C 08 03 A6 */	mtlr r0
/* 80046858 000424B8  38 21 00 70 */	addi r1, r1, 0x70
/* 8004685C 000424BC  4E 80 00 20 */	blr

.global func_80046860
func_80046860:
/* 80046860 000424C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80046864 000424C4  7C 08 02 A6 */	mflr r0
/* 80046868 000424C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8004686C 000424CC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80046870 000424D0  3B E0 00 00 */	li r31, 0
/* 80046874 000424D4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80046878 000424D8  7C 7E 1B 78 */	mr r30, r3
/* 8004687C 000424DC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80046880 000424E0  3B A0 00 00 */	li r29, 0
lbl_80046884:
/* 80046884 000424E4  80 7E 01 2C */	lwz r3, 0x12c(r30)
/* 80046888 000424E8  2C 03 00 00 */	cmpwi r3, 0
/* 8004688C 000424EC  41 82 00 20 */	beq lbl_800468AC
/* 80046890 000424F0  41 82 00 18 */	beq lbl_800468A8
/* 80046894 000424F4  81 83 01 00 */	lwz r12, 0x100(r3)
/* 80046898 000424F8  38 80 00 01 */	li r4, 1
/* 8004689C 000424FC  81 8C 00 08 */	lwz r12, 8(r12)
/* 800468A0 00042500  7D 89 03 A6 */	mtctr r12
/* 800468A4 00042504  4E 80 04 21 */	bctrl
lbl_800468A8:
/* 800468A8 00042508  93 FE 01 2C */	stw r31, 0x12c(r30)
lbl_800468AC:
/* 800468AC 0004250C  80 7E 01 3C */	lwz r3, 0x13c(r30)
/* 800468B0 00042510  2C 03 00 00 */	cmpwi r3, 0
/* 800468B4 00042514  41 82 00 20 */	beq lbl_800468D4
/* 800468B8 00042518  41 82 00 18 */	beq lbl_800468D0
/* 800468BC 0004251C  81 83 01 00 */	lwz r12, 0x100(r3)
/* 800468C0 00042520  38 80 00 01 */	li r4, 1
/* 800468C4 00042524  81 8C 00 08 */	lwz r12, 8(r12)
/* 800468C8 00042528  7D 89 03 A6 */	mtctr r12
/* 800468CC 0004252C  4E 80 04 21 */	bctrl
lbl_800468D0:
/* 800468D0 00042530  93 FE 01 3C */	stw r31, 0x13c(r30)
lbl_800468D4:
/* 800468D4 00042534  80 7E 01 4C */	lwz r3, 0x14c(r30)
/* 800468D8 00042538  2C 03 00 00 */	cmpwi r3, 0
/* 800468DC 0004253C  41 82 00 20 */	beq lbl_800468FC
/* 800468E0 00042540  41 82 00 18 */	beq lbl_800468F8
/* 800468E4 00042544  81 83 01 00 */	lwz r12, 0x100(r3)
/* 800468E8 00042548  38 80 00 01 */	li r4, 1
/* 800468EC 0004254C  81 8C 00 08 */	lwz r12, 8(r12)
/* 800468F0 00042550  7D 89 03 A6 */	mtctr r12
/* 800468F4 00042554  4E 80 04 21 */	bctrl
lbl_800468F8:
/* 800468F8 00042558  93 FE 01 4C */	stw r31, 0x14c(r30)
lbl_800468FC:
/* 800468FC 0004255C  3B BD 00 01 */	addi r29, r29, 1
/* 80046900 00042560  3B DE 00 04 */	addi r30, r30, 4
/* 80046904 00042564  2C 1D 00 04 */	cmpwi r29, 4
/* 80046908 00042568  41 80 FF 7C */	blt lbl_80046884
/* 8004690C 0004256C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80046910 00042570  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80046914 00042574  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80046918 00042578  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8004691C 0004257C  7C 08 03 A6 */	mtlr r0
/* 80046920 00042580  38 21 00 20 */	addi r1, r1, 0x20
/* 80046924 00042584  4E 80 00 20 */	blr

.global func_80046928
func_80046928:
/* 80046928 00042588  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8004692C 0004258C  7C 08 02 A6 */	mflr r0
/* 80046930 00042590  2C 05 00 00 */	cmpwi r5, 0
/* 80046934 00042594  90 01 00 14 */	stw r0, 0x14(r1)
/* 80046938 00042598  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8004693C 0004259C  41 80 00 94 */	blt lbl_800469D0
/* 80046940 000425A0  2C 05 00 03 */	cmpwi r5, 3
/* 80046944 000425A4  40 81 00 08 */	ble lbl_8004694C
/* 80046948 000425A8  48 00 00 88 */	b lbl_800469D0
lbl_8004694C:
/* 8004694C 000425AC  2C 04 00 01 */	cmpwi r4, 1
/* 80046950 000425B0  41 82 00 30 */	beq lbl_80046980
/* 80046954 000425B4  40 80 00 10 */	bge lbl_80046964
/* 80046958 000425B8  2C 04 00 00 */	cmpwi r4, 0
/* 8004695C 000425BC  40 80 00 14 */	bge lbl_80046970
/* 80046960 000425C0  48 00 00 70 */	b lbl_800469D0
lbl_80046964:
/* 80046964 000425C4  2C 04 00 03 */	cmpwi r4, 3
/* 80046968 000425C8  40 80 00 68 */	bge lbl_800469D0
/* 8004696C 000425CC  48 00 00 24 */	b lbl_80046990
lbl_80046970:
/* 80046970 000425D0  54 A0 10 3A */	slwi r0, r5, 2
/* 80046974 000425D4  7C 63 02 14 */	add r3, r3, r0
/* 80046978 000425D8  3B E3 01 2C */	addi r31, r3, 0x12c
/* 8004697C 000425DC  48 00 00 28 */	b lbl_800469A4
lbl_80046980:
/* 80046980 000425E0  54 A0 10 3A */	slwi r0, r5, 2
/* 80046984 000425E4  7C 63 02 14 */	add r3, r3, r0
/* 80046988 000425E8  3B E3 01 3C */	addi r31, r3, 0x13c
/* 8004698C 000425EC  48 00 00 18 */	b lbl_800469A4
lbl_80046990:
/* 80046990 000425F0  54 A0 10 3A */	slwi r0, r5, 2
/* 80046994 000425F4  7C 63 02 14 */	add r3, r3, r0
/* 80046998 000425F8  3B E3 01 4C */	addi r31, r3, 0x14c
/* 8004699C 000425FC  48 00 00 08 */	b lbl_800469A4
/* 800469A0 00042600  48 00 00 30 */	b lbl_800469D0
lbl_800469A4:
/* 800469A4 00042604  80 7F 00 00 */	lwz r3, 0(r31)
/* 800469A8 00042608  2C 03 00 00 */	cmpwi r3, 0
/* 800469AC 0004260C  41 82 00 24 */	beq lbl_800469D0
/* 800469B0 00042610  41 82 00 18 */	beq lbl_800469C8
/* 800469B4 00042614  81 83 01 00 */	lwz r12, 0x100(r3)
/* 800469B8 00042618  38 80 00 01 */	li r4, 1
/* 800469BC 0004261C  81 8C 00 08 */	lwz r12, 8(r12)
/* 800469C0 00042620  7D 89 03 A6 */	mtctr r12
/* 800469C4 00042624  4E 80 04 21 */	bctrl
lbl_800469C8:
/* 800469C8 00042628  38 00 00 00 */	li r0, 0
/* 800469CC 0004262C  90 1F 00 00 */	stw r0, 0(r31)
lbl_800469D0:
/* 800469D0 00042630  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800469D4 00042634  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800469D8 00042638  7C 08 03 A6 */	mtlr r0
/* 800469DC 0004263C  38 21 00 10 */	addi r1, r1, 0x10
/* 800469E0 00042640  4E 80 00 20 */	blr

.global func_800469E4
func_800469E4:
/* 800469E4 00042644  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 800469E8 00042648  7C 08 02 A6 */	mflr r0
/* 800469EC 0004264C  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 800469F0 00042650  DB E1 00 90 */	stfd f31, 0x90(r1)
/* 800469F4 00042654  F3 E1 00 98 */	psq_st f31, 152(r1), 0, qr0
/* 800469F8 00042658  DB C1 00 80 */	stfd f30, 0x80(r1)
/* 800469FC 0004265C  F3 C1 00 88 */	psq_st f30, 136(r1), 0, qr0
/* 80046A00 00042660  DB A1 00 70 */	stfd f29, 0x70(r1)
/* 80046A04 00042664  F3 A1 00 78 */	psq_st f29, 120(r1), 0, qr0
/* 80046A08 00042668  DB 81 00 60 */	stfd f28, 0x60(r1)
/* 80046A0C 0004266C  F3 81 00 68 */	psq_st f28, 104(r1), 0, qr0
/* 80046A10 00042670  39 61 00 60 */	addi r11, r1, 0x60
/* 80046A14 00042674  48 18 07 11 */	bl _savegpr_26
/* 80046A18 00042678  C3 E2 83 B8 */	lfs f31, lbl_806409B8-_SDA2_BASE_(r2)
/* 80046A1C 0004267C  7C 7C 1B 78 */	mr r28, r3
/* 80046A20 00042680  C3 C2 83 B4 */	lfs f30, lbl_806409B4-_SDA2_BASE_(r2)
/* 80046A24 00042684  3B C0 00 00 */	li r30, 0
/* 80046A28 00042688  C3 A2 83 A8 */	lfs f29, lbl_806409A8-_SDA2_BASE_(r2)
/* 80046A2C 0004268C  C3 82 83 88 */	lfs f28, lbl_80640988-_SDA2_BASE_(r2)
lbl_80046A30:
/* 80046A30 00042690  57 DF 06 3E */	clrlwi r31, r30, 0x18
/* 80046A34 00042694  3B A0 00 00 */	li r29, 0
lbl_80046A38:
/* 80046A38 00042698  2C 1F 00 00 */	cmpwi r31, 0
/* 80046A3C 0004269C  40 82 00 14 */	bne lbl_80046A50
/* 80046A40 000426A0  57 A0 15 BA */	rlwinm r0, r29, 2, 0x16, 0x1d
/* 80046A44 000426A4  7C 7C 02 14 */	add r3, r28, r0
/* 80046A48 000426A8  3B 63 01 2C */	addi r27, r3, 0x12c
/* 80046A4C 000426AC  48 00 00 30 */	b lbl_80046A7C
lbl_80046A50:
/* 80046A50 000426B0  28 1F 00 01 */	cmplwi r31, 1
/* 80046A54 000426B4  40 82 00 14 */	bne lbl_80046A68
/* 80046A58 000426B8  57 A0 15 BA */	rlwinm r0, r29, 2, 0x16, 0x1d
/* 80046A5C 000426BC  7C 7C 02 14 */	add r3, r28, r0
/* 80046A60 000426C0  3B 63 01 3C */	addi r27, r3, 0x13c
/* 80046A64 000426C4  48 00 00 18 */	b lbl_80046A7C
lbl_80046A68:
/* 80046A68 000426C8  28 1F 00 02 */	cmplwi r31, 2
/* 80046A6C 000426CC  40 82 01 D0 */	bne lbl_80046C3C
/* 80046A70 000426D0  57 A0 15 BA */	rlwinm r0, r29, 2, 0x16, 0x1d
/* 80046A74 000426D4  7C 7C 02 14 */	add r3, r28, r0
/* 80046A78 000426D8  3B 63 01 4C */	addi r27, r3, 0x14c
lbl_80046A7C:
/* 80046A7C 000426DC  80 1B 00 00 */	lwz r0, 0(r27)
/* 80046A80 000426E0  2C 00 00 00 */	cmpwi r0, 0
/* 80046A84 000426E4  41 82 01 B8 */	beq lbl_80046C3C
/* 80046A88 000426E8  7F 83 E3 78 */	mr r3, r28
/* 80046A8C 000426EC  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 80046A90 000426F0  38 A0 00 00 */	li r5, 0
/* 80046A94 000426F4  4B FF F0 6D */	bl func_80045B00
/* 80046A98 000426F8  7C 7A 1B 78 */	mr r26, r3
/* 80046A9C 000426FC  7F 83 E3 78 */	mr r3, r28
/* 80046AA0 00042700  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 80046AA4 00042704  38 A1 00 38 */	addi r5, r1, 0x38
/* 80046AA8 00042708  38 C1 00 08 */	addi r6, r1, 8
/* 80046AAC 0004270C  38 E0 00 00 */	li r7, 0
/* 80046AB0 00042710  4B FF F1 69 */	bl func_80045C18
/* 80046AB4 00042714  57 A0 07 FF */	clrlwi. r0, r29, 0x1f
/* 80046AB8 00042718  D3 81 00 08 */	stfs f28, 8(r1)
/* 80046ABC 0004271C  41 82 00 08 */	beq lbl_80046AC4
/* 80046AC0 00042720  D3 A1 00 08 */	stfs f29, 8(r1)
lbl_80046AC4:
/* 80046AC4 00042724  80 7B 00 00 */	lwz r3, 0(r27)
/* 80046AC8 00042728  38 80 00 01 */	li r4, 1
/* 80046ACC 0004272C  C0 01 00 38 */	lfs f0, 0x38(r1)
/* 80046AD0 00042730  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 80046AD4 00042734  C0 01 00 3C */	lfs f0, 0x3c(r1)
/* 80046AD8 00042738  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 80046ADC 0004273C  C0 01 00 40 */	lfs f0, 0x40(r1)
/* 80046AE0 00042740  D0 03 00 28 */	stfs f0, 0x28(r3)
/* 80046AE4 00042744  48 1A BB D5 */	bl func_801F26B8
/* 80046AE8 00042748  C0 01 00 08 */	lfs f0, 8(r1)
/* 80046AEC 0004274C  38 61 00 28 */	addi r3, r1, 0x28
/* 80046AF0 00042750  D3 81 00 18 */	stfs f28, 0x18(r1)
/* 80046AF4 00042754  38 81 00 18 */	addi r4, r1, 0x18
/* 80046AF8 00042758  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 80046AFC 0004275C  D3 81 00 20 */	stfs f28, 0x20(r1)
/* 80046B00 00042760  48 1D CB C1 */	bl func_802236C0
/* 80046B04 00042764  80 7B 00 00 */	lwz r3, 0(r27)
/* 80046B08 00042768  38 80 00 01 */	li r4, 1
/* 80046B0C 0004276C  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 80046B10 00042770  D0 03 00 2C */	stfs f0, 0x2c(r3)
/* 80046B14 00042774  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 80046B18 00042778  D0 03 00 30 */	stfs f0, 0x30(r3)
/* 80046B1C 0004277C  C0 01 00 30 */	lfs f0, 0x30(r1)
/* 80046B20 00042780  D0 03 00 34 */	stfs f0, 0x34(r3)
/* 80046B24 00042784  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 80046B28 00042788  D0 03 00 38 */	stfs f0, 0x38(r3)
/* 80046B2C 0004278C  A0 03 00 10 */	lhz r0, 0x10(r3)
/* 80046B30 00042790  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80046B34 00042794  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80046B38 00042798  48 1A BB 81 */	bl func_801F26B8
/* 80046B3C 0004279C  2C 1A 00 00 */	cmpwi r26, 0
/* 80046B40 000427A0  41 82 00 18 */	beq lbl_80046B58
/* 80046B44 000427A4  7F 43 D3 78 */	mr r3, r26
/* 80046B48 000427A8  4B FF 2B 8D */	bl func_800396D4
/* 80046B4C 000427AC  C0 22 83 8C */	lfs f1, lbl_8064098C-_SDA2_BASE_(r2)
/* 80046B50 000427B0  48 00 79 4D */	bl func_8004E49C
/* 80046B54 000427B4  48 00 00 08 */	b lbl_80046B5C
lbl_80046B58:
/* 80046B58 000427B8  C0 22 83 8C */	lfs f1, lbl_8064098C-_SDA2_BASE_(r2)
lbl_80046B5C:
/* 80046B5C 000427BC  FC 00 08 18 */	frsp f0, f1
/* 80046B60 000427C0  80 7B 00 00 */	lwz r3, 0(r27)
/* 80046B64 000427C4  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 80046B68 000427C8  D0 03 00 48 */	stfs f0, 0x48(r3)
/* 80046B6C 000427CC  FC 00 F0 40 */	fcmpo cr0, f0, f30
/* 80046B70 000427D0  D0 03 00 4C */	stfs f0, 0x4c(r3)
/* 80046B74 000427D4  D0 21 00 10 */	stfs f1, 0x10(r1)
/* 80046B78 000427D8  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 80046B7C 000427DC  D0 03 00 50 */	stfs f0, 0x50(r3)
/* 80046B80 000427E0  40 80 00 28 */	bge lbl_80046BA8
/* 80046B84 000427E4  C0 03 00 48 */	lfs f0, 0x48(r3)
/* 80046B88 000427E8  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80046B8C 000427EC  40 81 00 1C */	ble lbl_80046BA8
/* 80046B90 000427F0  FC 00 E0 40 */	fcmpo cr0, f0, f28
/* 80046B94 000427F4  40 80 00 0C */	bge lbl_80046BA0
/* 80046B98 000427F8  FC 00 F8 90 */	fmr f0, f31
/* 80046B9C 000427FC  48 00 00 08 */	b lbl_80046BA4
lbl_80046BA0:
/* 80046BA0 00042800  FC 00 F0 90 */	fmr f0, f30
lbl_80046BA4:
/* 80046BA4 00042804  D0 03 00 48 */	stfs f0, 0x48(r3)
lbl_80046BA8:
/* 80046BA8 00042808  C0 03 00 4C */	lfs f0, 0x4c(r3)
/* 80046BAC 0004280C  FC 00 F0 40 */	fcmpo cr0, f0, f30
/* 80046BB0 00042810  40 80 00 24 */	bge lbl_80046BD4
/* 80046BB4 00042814  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80046BB8 00042818  40 81 00 1C */	ble lbl_80046BD4
/* 80046BBC 0004281C  FC 00 E0 40 */	fcmpo cr0, f0, f28
/* 80046BC0 00042820  40 80 00 0C */	bge lbl_80046BCC
/* 80046BC4 00042824  FC 00 F8 90 */	fmr f0, f31
/* 80046BC8 00042828  48 00 00 08 */	b lbl_80046BD0
lbl_80046BCC:
/* 80046BCC 0004282C  FC 00 F0 90 */	fmr f0, f30
lbl_80046BD0:
/* 80046BD0 00042830  D0 03 00 4C */	stfs f0, 0x4c(r3)
lbl_80046BD4:
/* 80046BD4 00042834  C0 03 00 50 */	lfs f0, 0x50(r3)
/* 80046BD8 00042838  FC 00 F0 40 */	fcmpo cr0, f0, f30
/* 80046BDC 0004283C  40 80 00 24 */	bge lbl_80046C00
/* 80046BE0 00042840  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80046BE4 00042844  40 81 00 1C */	ble lbl_80046C00
/* 80046BE8 00042848  FC 00 E0 40 */	fcmpo cr0, f0, f28
/* 80046BEC 0004284C  40 80 00 0C */	bge lbl_80046BF8
/* 80046BF0 00042850  FC 00 F8 90 */	fmr f0, f31
/* 80046BF4 00042854  48 00 00 08 */	b lbl_80046BFC
lbl_80046BF8:
/* 80046BF8 00042858  FC 00 F0 90 */	fmr f0, f30
lbl_80046BFC:
/* 80046BFC 0004285C  D0 03 00 50 */	stfs f0, 0x50(r3)
lbl_80046C00:
/* 80046C00 00042860  38 80 00 01 */	li r4, 1
/* 80046C04 00042864  48 1A BA B5 */	bl func_801F26B8
/* 80046C08 00042868  80 7B 00 00 */	lwz r3, 0(r27)
/* 80046C0C 0004286C  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80046C10 00042870  60 00 00 01 */	ori r0, r0, 1
/* 80046C14 00042874  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80046C18 00042878  90 03 01 04 */	stw r0, 0x104(r3)
/* 80046C1C 0004287C  D3 83 01 08 */	stfs f28, 0x108(r3)
/* 80046C20 00042880  80 7B 00 00 */	lwz r3, 0(r27)
/* 80046C24 00042884  80 63 01 38 */	lwz r3, 0x138(r3)
/* 80046C28 00042888  2C 03 00 00 */	cmpwi r3, 0
/* 80046C2C 0004288C  41 82 00 10 */	beq lbl_80046C3C
/* 80046C30 00042890  A0 03 01 48 */	lhz r0, 0x148(r3)
/* 80046C34 00042894  60 00 00 08 */	ori r0, r0, 8
/* 80046C38 00042898  B0 03 01 48 */	sth r0, 0x148(r3)
lbl_80046C3C:
/* 80046C3C 0004289C  3B BD 00 01 */	addi r29, r29, 1
/* 80046C40 000428A0  28 1D 00 04 */	cmplwi r29, 4
/* 80046C44 000428A4  41 80 FD F4 */	blt lbl_80046A38
/* 80046C48 000428A8  3B DE 00 01 */	addi r30, r30, 1
/* 80046C4C 000428AC  28 1E 00 03 */	cmplwi r30, 3
/* 80046C50 000428B0  41 80 FD E0 */	blt lbl_80046A30
/* 80046C54 000428B4  E3 E1 00 98 */	psq_l f31, 152(r1), 0, qr0
/* 80046C58 000428B8  CB E1 00 90 */	lfd f31, 0x90(r1)
/* 80046C5C 000428BC  E3 C1 00 88 */	psq_l f30, 136(r1), 0, qr0
/* 80046C60 000428C0  CB C1 00 80 */	lfd f30, 0x80(r1)
/* 80046C64 000428C4  E3 A1 00 78 */	psq_l f29, 120(r1), 0, qr0
/* 80046C68 000428C8  CB A1 00 70 */	lfd f29, 0x70(r1)
/* 80046C6C 000428CC  E3 81 00 68 */	psq_l f28, 104(r1), 0, qr0
/* 80046C70 000428D0  39 61 00 60 */	addi r11, r1, 0x60
/* 80046C74 000428D4  CB 81 00 60 */	lfd f28, 0x60(r1)
/* 80046C78 000428D8  48 18 04 F9 */	bl _restgpr_26
/* 80046C7C 000428DC  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 80046C80 000428E0  7C 08 03 A6 */	mtlr r0
/* 80046C84 000428E4  38 21 00 A0 */	addi r1, r1, 0xa0
/* 80046C88 000428E8  4E 80 00 20 */	blr

.global func_80046C8C
func_80046C8C:
/* 80046C8C 000428EC  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 80046C90 000428F0  7C 08 02 A6 */	mflr r0
/* 80046C94 000428F4  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 80046C98 000428F8  DB E1 00 90 */	stfd f31, 0x90(r1)
/* 80046C9C 000428FC  F3 E1 00 98 */	psq_st f31, 152(r1), 0, qr0
/* 80046CA0 00042900  DB C1 00 80 */	stfd f30, 0x80(r1)
/* 80046CA4 00042904  F3 C1 00 88 */	psq_st f30, 136(r1), 0, qr0
/* 80046CA8 00042908  DB A1 00 70 */	stfd f29, 0x70(r1)
/* 80046CAC 0004290C  F3 A1 00 78 */	psq_st f29, 120(r1), 0, qr0
/* 80046CB0 00042910  DB 81 00 60 */	stfd f28, 0x60(r1)
/* 80046CB4 00042914  F3 81 00 68 */	psq_st f28, 104(r1), 0, qr0
/* 80046CB8 00042918  39 61 00 60 */	addi r11, r1, 0x60
/* 80046CBC 0004291C  48 18 04 69 */	bl _savegpr_26
/* 80046CC0 00042920  2C 04 00 00 */	cmpwi r4, 0
/* 80046CC4 00042924  7C 7B 1B 78 */	mr r27, r3
/* 80046CC8 00042928  7C 9A 23 78 */	mr r26, r4
/* 80046CCC 0004292C  41 80 01 FC */	blt lbl_80046EC8
/* 80046CD0 00042930  2C 04 00 03 */	cmpwi r4, 3
/* 80046CD4 00042934  40 81 00 08 */	ble lbl_80046CDC
/* 80046CD8 00042938  48 00 01 F0 */	b lbl_80046EC8
lbl_80046CDC:
/* 80046CDC 0004293C  38 A0 00 00 */	li r5, 0
/* 80046CE0 00042940  4B FF EE 21 */	bl func_80045B00
/* 80046CE4 00042944  2C 03 00 00 */	cmpwi r3, 0
/* 80046CE8 00042948  7C 7F 1B 78 */	mr r31, r3
/* 80046CEC 0004294C  41 82 01 DC */	beq lbl_80046EC8
/* 80046CF0 00042950  4B FF 29 E5 */	bl func_800396D4
/* 80046CF4 00042954  C0 22 83 8C */	lfs f1, lbl_8064098C-_SDA2_BASE_(r2)
/* 80046CF8 00042958  48 00 77 A5 */	bl func_8004E49C
/* 80046CFC 0004295C  57 40 10 3A */	slwi r0, r26, 2
/* 80046D00 00042960  FF 80 08 90 */	fmr f28, f1
/* 80046D04 00042964  7C 7B 02 14 */	add r3, r27, r0
/* 80046D08 00042968  C3 C2 83 B8 */	lfs f30, lbl_806409B8-_SDA2_BASE_(r2)
/* 80046D0C 0004296C  C3 A2 83 B4 */	lfs f29, lbl_806409B4-_SDA2_BASE_(r2)
/* 80046D10 00042970  3B A3 01 2C */	addi r29, r3, 0x12c
/* 80046D14 00042974  C3 E2 83 88 */	lfs f31, lbl_80640988-_SDA2_BASE_(r2)
/* 80046D18 00042978  3B 83 01 3C */	addi r28, r3, 0x13c
/* 80046D1C 0004297C  3B 63 01 4C */	addi r27, r3, 0x14c
/* 80046D20 00042980  3B C0 00 00 */	li r30, 0
lbl_80046D24:
/* 80046D24 00042984  57 C0 06 3F */	clrlwi. r0, r30, 0x18
/* 80046D28 00042988  40 82 00 0C */	bne lbl_80046D34
/* 80046D2C 0004298C  7F BA EB 78 */	mr r26, r29
/* 80046D30 00042990  48 00 00 20 */	b lbl_80046D50
lbl_80046D34:
/* 80046D34 00042994  28 00 00 01 */	cmplwi r0, 1
/* 80046D38 00042998  40 82 00 0C */	bne lbl_80046D44
/* 80046D3C 0004299C  7F 9A E3 78 */	mr r26, r28
/* 80046D40 000429A0  48 00 00 10 */	b lbl_80046D50
lbl_80046D44:
/* 80046D44 000429A4  28 00 00 02 */	cmplwi r0, 2
/* 80046D48 000429A8  40 82 01 74 */	bne lbl_80046EBC
/* 80046D4C 000429AC  7F 7A DB 78 */	mr r26, r27
lbl_80046D50:
/* 80046D50 000429B0  80 1A 00 00 */	lwz r0, 0(r26)
/* 80046D54 000429B4  2C 00 00 00 */	cmpwi r0, 0
/* 80046D58 000429B8  41 82 01 64 */	beq lbl_80046EBC
/* 80046D5C 000429BC  7F E4 FB 78 */	mr r4, r31
/* 80046D60 000429C0  38 61 00 30 */	addi r3, r1, 0x30
/* 80046D64 000429C4  4B FF 1A 7D */	bl func_800387E0
/* 80046D68 000429C8  80 7A 00 00 */	lwz r3, 0(r26)
/* 80046D6C 000429CC  38 80 00 01 */	li r4, 1
/* 80046D70 000429D0  C0 01 00 30 */	lfs f0, 0x30(r1)
/* 80046D74 000429D4  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 80046D78 000429D8  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 80046D7C 000429DC  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 80046D80 000429E0  C0 01 00 38 */	lfs f0, 0x38(r1)
/* 80046D84 000429E4  D0 03 00 28 */	stfs f0, 0x28(r3)
/* 80046D88 000429E8  48 1A B9 31 */	bl func_801F26B8
/* 80046D8C 000429EC  7F E4 FB 78 */	mr r4, r31
/* 80046D90 000429F0  38 61 00 14 */	addi r3, r1, 0x14
/* 80046D94 000429F4  4B FF 1D 01 */	bl func_80038A94
/* 80046D98 000429F8  38 61 00 20 */	addi r3, r1, 0x20
/* 80046D9C 000429FC  38 81 00 14 */	addi r4, r1, 0x14
/* 80046DA0 00042A00  48 1D C9 21 */	bl func_802236C0
/* 80046DA4 00042A04  80 7A 00 00 */	lwz r3, 0(r26)
/* 80046DA8 00042A08  38 80 00 01 */	li r4, 1
/* 80046DAC 00042A0C  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80046DB0 00042A10  D0 03 00 2C */	stfs f0, 0x2c(r3)
/* 80046DB4 00042A14  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 80046DB8 00042A18  D0 03 00 30 */	stfs f0, 0x30(r3)
/* 80046DBC 00042A1C  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 80046DC0 00042A20  D0 03 00 34 */	stfs f0, 0x34(r3)
/* 80046DC4 00042A24  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 80046DC8 00042A28  D0 03 00 38 */	stfs f0, 0x38(r3)
/* 80046DCC 00042A2C  A0 03 00 10 */	lhz r0, 0x10(r3)
/* 80046DD0 00042A30  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80046DD4 00042A34  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80046DD8 00042A38  48 1A B8 E1 */	bl func_801F26B8
/* 80046DDC 00042A3C  FC 00 E0 18 */	frsp f0, f28
/* 80046DE0 00042A40  80 7A 00 00 */	lwz r3, 0(r26)
/* 80046DE4 00042A44  D3 81 00 08 */	stfs f28, 8(r1)
/* 80046DE8 00042A48  D0 03 00 48 */	stfs f0, 0x48(r3)
/* 80046DEC 00042A4C  FC 00 E8 40 */	fcmpo cr0, f0, f29
/* 80046DF0 00042A50  D0 03 00 4C */	stfs f0, 0x4c(r3)
/* 80046DF4 00042A54  D3 81 00 0C */	stfs f28, 0xc(r1)
/* 80046DF8 00042A58  D3 81 00 10 */	stfs f28, 0x10(r1)
/* 80046DFC 00042A5C  D0 03 00 50 */	stfs f0, 0x50(r3)
/* 80046E00 00042A60  40 80 00 28 */	bge lbl_80046E28
/* 80046E04 00042A64  C0 03 00 48 */	lfs f0, 0x48(r3)
/* 80046E08 00042A68  FC 00 F0 40 */	fcmpo cr0, f0, f30
/* 80046E0C 00042A6C  40 81 00 1C */	ble lbl_80046E28
/* 80046E10 00042A70  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80046E14 00042A74  40 80 00 0C */	bge lbl_80046E20
/* 80046E18 00042A78  FC 00 F0 90 */	fmr f0, f30
/* 80046E1C 00042A7C  48 00 00 08 */	b lbl_80046E24
lbl_80046E20:
/* 80046E20 00042A80  FC 00 E8 90 */	fmr f0, f29
lbl_80046E24:
/* 80046E24 00042A84  D0 03 00 48 */	stfs f0, 0x48(r3)
lbl_80046E28:
/* 80046E28 00042A88  C0 03 00 4C */	lfs f0, 0x4c(r3)
/* 80046E2C 00042A8C  FC 00 E8 40 */	fcmpo cr0, f0, f29
/* 80046E30 00042A90  40 80 00 24 */	bge lbl_80046E54
/* 80046E34 00042A94  FC 00 F0 40 */	fcmpo cr0, f0, f30
/* 80046E38 00042A98  40 81 00 1C */	ble lbl_80046E54
/* 80046E3C 00042A9C  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80046E40 00042AA0  40 80 00 0C */	bge lbl_80046E4C
/* 80046E44 00042AA4  FC 00 F0 90 */	fmr f0, f30
/* 80046E48 00042AA8  48 00 00 08 */	b lbl_80046E50
lbl_80046E4C:
/* 80046E4C 00042AAC  FC 00 E8 90 */	fmr f0, f29
lbl_80046E50:
/* 80046E50 00042AB0  D0 03 00 4C */	stfs f0, 0x4c(r3)
lbl_80046E54:
/* 80046E54 00042AB4  C0 03 00 50 */	lfs f0, 0x50(r3)
/* 80046E58 00042AB8  FC 00 E8 40 */	fcmpo cr0, f0, f29
/* 80046E5C 00042ABC  40 80 00 24 */	bge lbl_80046E80
/* 80046E60 00042AC0  FC 00 F0 40 */	fcmpo cr0, f0, f30
/* 80046E64 00042AC4  40 81 00 1C */	ble lbl_80046E80
/* 80046E68 00042AC8  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80046E6C 00042ACC  40 80 00 0C */	bge lbl_80046E78
/* 80046E70 00042AD0  FC 00 F0 90 */	fmr f0, f30
/* 80046E74 00042AD4  48 00 00 08 */	b lbl_80046E7C
lbl_80046E78:
/* 80046E78 00042AD8  FC 00 E8 90 */	fmr f0, f29
lbl_80046E7C:
/* 80046E7C 00042ADC  D0 03 00 50 */	stfs f0, 0x50(r3)
lbl_80046E80:
/* 80046E80 00042AE0  38 80 00 01 */	li r4, 1
/* 80046E84 00042AE4  48 1A B8 35 */	bl func_801F26B8
/* 80046E88 00042AE8  80 7A 00 00 */	lwz r3, 0(r26)
/* 80046E8C 00042AEC  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80046E90 00042AF0  60 00 00 01 */	ori r0, r0, 1
/* 80046E94 00042AF4  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80046E98 00042AF8  90 03 01 04 */	stw r0, 0x104(r3)
/* 80046E9C 00042AFC  D3 E3 01 08 */	stfs f31, 0x108(r3)
/* 80046EA0 00042B00  80 7A 00 00 */	lwz r3, 0(r26)
/* 80046EA4 00042B04  80 63 01 38 */	lwz r3, 0x138(r3)
/* 80046EA8 00042B08  2C 03 00 00 */	cmpwi r3, 0
/* 80046EAC 00042B0C  41 82 00 10 */	beq lbl_80046EBC
/* 80046EB0 00042B10  A0 03 01 48 */	lhz r0, 0x148(r3)
/* 80046EB4 00042B14  60 00 00 08 */	ori r0, r0, 8
/* 80046EB8 00042B18  B0 03 01 48 */	sth r0, 0x148(r3)
lbl_80046EBC:
/* 80046EBC 00042B1C  3B DE 00 01 */	addi r30, r30, 1
/* 80046EC0 00042B20  28 1E 00 03 */	cmplwi r30, 3
/* 80046EC4 00042B24  41 80 FE 60 */	blt lbl_80046D24
lbl_80046EC8:
/* 80046EC8 00042B28  E3 E1 00 98 */	psq_l f31, 152(r1), 0, qr0
/* 80046ECC 00042B2C  CB E1 00 90 */	lfd f31, 0x90(r1)
/* 80046ED0 00042B30  E3 C1 00 88 */	psq_l f30, 136(r1), 0, qr0
/* 80046ED4 00042B34  CB C1 00 80 */	lfd f30, 0x80(r1)
/* 80046ED8 00042B38  E3 A1 00 78 */	psq_l f29, 120(r1), 0, qr0
/* 80046EDC 00042B3C  CB A1 00 70 */	lfd f29, 0x70(r1)
/* 80046EE0 00042B40  E3 81 00 68 */	psq_l f28, 104(r1), 0, qr0
/* 80046EE4 00042B44  39 61 00 60 */	addi r11, r1, 0x60
/* 80046EE8 00042B48  CB 81 00 60 */	lfd f28, 0x60(r1)
/* 80046EEC 00042B4C  48 18 02 85 */	bl _restgpr_26
/* 80046EF0 00042B50  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 80046EF4 00042B54  7C 08 03 A6 */	mtlr r0
/* 80046EF8 00042B58  38 21 00 A0 */	addi r1, r1, 0xa0
/* 80046EFC 00042B5C  4E 80 00 20 */	blr

.global func_80046F00
func_80046F00:
/* 80046F00 00042B60  2C 04 00 00 */	cmpwi r4, 0
/* 80046F04 00042B64  4D 80 00 20 */	bltlr
/* 80046F08 00042B68  2C 04 00 03 */	cmpwi r4, 3
/* 80046F0C 00042B6C  40 81 00 08 */	ble lbl_80046F14
/* 80046F10 00042B70  4E 80 00 20 */	blr
lbl_80046F14:
/* 80046F14 00042B74  54 84 10 3A */	slwi r4, r4, 2
/* 80046F18 00042B78  38 00 00 03 */	li r0, 3
/* 80046F1C 00042B7C  7C 63 22 14 */	add r3, r3, r4
/* 80046F20 00042B80  39 00 00 00 */	li r8, 0
/* 80046F24 00042B84  38 83 01 2C */	addi r4, r3, 0x12c
/* 80046F28 00042B88  38 C3 01 3C */	addi r6, r3, 0x13c
/* 80046F2C 00042B8C  38 63 01 4C */	addi r3, r3, 0x14c
/* 80046F30 00042B90  7C 09 03 A6 */	mtctr r0
lbl_80046F34:
/* 80046F34 00042B94  55 00 06 3F */	clrlwi. r0, r8, 0x18
/* 80046F38 00042B98  40 82 00 0C */	bne lbl_80046F44
/* 80046F3C 00042B9C  7C 87 23 78 */	mr r7, r4
/* 80046F40 00042BA0  48 00 00 20 */	b lbl_80046F60
lbl_80046F44:
/* 80046F44 00042BA4  28 00 00 01 */	cmplwi r0, 1
/* 80046F48 00042BA8  40 82 00 0C */	bne lbl_80046F54
/* 80046F4C 00042BAC  7C C7 33 78 */	mr r7, r6
/* 80046F50 00042BB0  48 00 00 10 */	b lbl_80046F60
lbl_80046F54:
/* 80046F54 00042BB4  28 00 00 02 */	cmplwi r0, 2
/* 80046F58 00042BB8  40 82 00 38 */	bne lbl_80046F90
/* 80046F5C 00042BBC  7C 67 1B 78 */	mr r7, r3
lbl_80046F60:
/* 80046F60 00042BC0  80 E7 00 00 */	lwz r7, 0(r7)
/* 80046F64 00042BC4  2C 07 00 00 */	cmpwi r7, 0
/* 80046F68 00042BC8  41 82 00 28 */	beq lbl_80046F90
/* 80046F6C 00042BCC  2C 05 00 00 */	cmpwi r5, 0
/* 80046F70 00042BD0  41 82 00 14 */	beq lbl_80046F84
/* 80046F74 00042BD4  A0 07 00 10 */	lhz r0, 0x10(r7)
/* 80046F78 00042BD8  60 00 00 02 */	ori r0, r0, 2
/* 80046F7C 00042BDC  B0 07 00 10 */	sth r0, 0x10(r7)
/* 80046F80 00042BE0  48 00 00 10 */	b lbl_80046F90
lbl_80046F84:
/* 80046F84 00042BE4  A0 07 00 10 */	lhz r0, 0x10(r7)
/* 80046F88 00042BE8  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80046F8C 00042BEC  B0 07 00 10 */	sth r0, 0x10(r7)
lbl_80046F90:
/* 80046F90 00042BF0  39 08 00 01 */	addi r8, r8, 1
/* 80046F94 00042BF4  42 00 FF A0 */	bdnz lbl_80046F34
/* 80046F98 00042BF8  4E 80 00 20 */	blr

.global func_80046F9C
func_80046F9C:
/* 80046F9C 00042BFC  39 00 00 00 */	li r8, 0
/* 80046FA0 00042C00  38 00 00 02 */	li r0, 2
lbl_80046FA4:
/* 80046FA4 00042C04  55 06 06 3E */	clrlwi r6, r8, 0x18
/* 80046FA8 00042C08  39 20 00 00 */	li r9, 0
/* 80046FAC 00042C0C  7C 09 03 A6 */	mtctr r0
lbl_80046FB0:
/* 80046FB0 00042C10  2C 06 00 00 */	cmpwi r6, 0
/* 80046FB4 00042C14  40 82 00 14 */	bne lbl_80046FC8
/* 80046FB8 00042C18  55 25 15 BA */	rlwinm r5, r9, 2, 0x16, 0x1d
/* 80046FBC 00042C1C  7C A3 2A 14 */	add r5, r3, r5
/* 80046FC0 00042C20  38 A5 01 2C */	addi r5, r5, 0x12c
/* 80046FC4 00042C24  48 00 00 30 */	b lbl_80046FF4
lbl_80046FC8:
/* 80046FC8 00042C28  28 06 00 01 */	cmplwi r6, 1
/* 80046FCC 00042C2C  40 82 00 14 */	bne lbl_80046FE0
/* 80046FD0 00042C30  55 25 15 BA */	rlwinm r5, r9, 2, 0x16, 0x1d
/* 80046FD4 00042C34  7C A3 2A 14 */	add r5, r3, r5
/* 80046FD8 00042C38  38 A5 01 3C */	addi r5, r5, 0x13c
/* 80046FDC 00042C3C  48 00 00 18 */	b lbl_80046FF4
lbl_80046FE0:
/* 80046FE0 00042C40  28 06 00 02 */	cmplwi r6, 2
/* 80046FE4 00042C44  40 82 00 40 */	bne lbl_80047024
/* 80046FE8 00042C48  55 25 15 BA */	rlwinm r5, r9, 2, 0x16, 0x1d
/* 80046FEC 00042C4C  7C A3 2A 14 */	add r5, r3, r5
/* 80046FF0 00042C50  38 A5 01 4C */	addi r5, r5, 0x14c
lbl_80046FF4:
/* 80046FF4 00042C54  80 E5 00 00 */	lwz r7, 0(r5)
/* 80046FF8 00042C58  2C 07 00 00 */	cmpwi r7, 0
/* 80046FFC 00042C5C  41 82 00 28 */	beq lbl_80047024
/* 80047000 00042C60  2C 04 00 00 */	cmpwi r4, 0
/* 80047004 00042C64  41 82 00 14 */	beq lbl_80047018
/* 80047008 00042C68  A0 A7 00 10 */	lhz r5, 0x10(r7)
/* 8004700C 00042C6C  60 A5 00 02 */	ori r5, r5, 2
/* 80047010 00042C70  B0 A7 00 10 */	sth r5, 0x10(r7)
/* 80047014 00042C74  48 00 00 10 */	b lbl_80047024
lbl_80047018:
/* 80047018 00042C78  A0 A7 00 10 */	lhz r5, 0x10(r7)
/* 8004701C 00042C7C  54 A5 07 FA */	rlwinm r5, r5, 0, 0x1f, 0x1d
/* 80047020 00042C80  B0 A7 00 10 */	sth r5, 0x10(r7)
lbl_80047024:
/* 80047024 00042C84  2C 06 00 00 */	cmpwi r6, 0
/* 80047028 00042C88  39 29 00 01 */	addi r9, r9, 1
/* 8004702C 00042C8C  40 82 00 14 */	bne lbl_80047040
/* 80047030 00042C90  55 25 15 BA */	rlwinm r5, r9, 2, 0x16, 0x1d
/* 80047034 00042C94  7C A3 2A 14 */	add r5, r3, r5
/* 80047038 00042C98  38 A5 01 2C */	addi r5, r5, 0x12c
/* 8004703C 00042C9C  48 00 00 30 */	b lbl_8004706C
lbl_80047040:
/* 80047040 00042CA0  28 06 00 01 */	cmplwi r6, 1
/* 80047044 00042CA4  40 82 00 14 */	bne lbl_80047058
/* 80047048 00042CA8  55 25 15 BA */	rlwinm r5, r9, 2, 0x16, 0x1d
/* 8004704C 00042CAC  7C A3 2A 14 */	add r5, r3, r5
/* 80047050 00042CB0  38 A5 01 3C */	addi r5, r5, 0x13c
/* 80047054 00042CB4  48 00 00 18 */	b lbl_8004706C
lbl_80047058:
/* 80047058 00042CB8  28 06 00 02 */	cmplwi r6, 2
/* 8004705C 00042CBC  40 82 00 40 */	bne lbl_8004709C
/* 80047060 00042CC0  55 25 15 BA */	rlwinm r5, r9, 2, 0x16, 0x1d
/* 80047064 00042CC4  7C A3 2A 14 */	add r5, r3, r5
/* 80047068 00042CC8  38 A5 01 4C */	addi r5, r5, 0x14c
lbl_8004706C:
/* 8004706C 00042CCC  80 E5 00 00 */	lwz r7, 0(r5)
/* 80047070 00042CD0  2C 07 00 00 */	cmpwi r7, 0
/* 80047074 00042CD4  41 82 00 28 */	beq lbl_8004709C
/* 80047078 00042CD8  2C 04 00 00 */	cmpwi r4, 0
/* 8004707C 00042CDC  41 82 00 14 */	beq lbl_80047090
/* 80047080 00042CE0  A0 A7 00 10 */	lhz r5, 0x10(r7)
/* 80047084 00042CE4  60 A5 00 02 */	ori r5, r5, 2
/* 80047088 00042CE8  B0 A7 00 10 */	sth r5, 0x10(r7)
/* 8004708C 00042CEC  48 00 00 10 */	b lbl_8004709C
lbl_80047090:
/* 80047090 00042CF0  A0 A7 00 10 */	lhz r5, 0x10(r7)
/* 80047094 00042CF4  54 A5 07 FA */	rlwinm r5, r5, 0, 0x1f, 0x1d
/* 80047098 00042CF8  B0 A7 00 10 */	sth r5, 0x10(r7)
lbl_8004709C:
/* 8004709C 00042CFC  39 29 00 01 */	addi r9, r9, 1
/* 800470A0 00042D00  42 00 FF 10 */	bdnz lbl_80046FB0
/* 800470A4 00042D04  39 08 00 01 */	addi r8, r8, 1
/* 800470A8 00042D08  28 08 00 03 */	cmplwi r8, 3
/* 800470AC 00042D0C  41 80 FE F8 */	blt lbl_80046FA4
/* 800470B0 00042D10  4E 80 00 20 */	blr

.global func_800470B4
func_800470B4:
/* 800470B4 00042D14  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 800470B8 00042D18  7C 08 02 A6 */	mflr r0
/* 800470BC 00042D1C  90 01 00 44 */	stw r0, 0x44(r1)
/* 800470C0 00042D20  39 61 00 40 */	addi r11, r1, 0x40
/* 800470C4 00042D24  48 18 00 65 */	bl _savegpr_27
/* 800470C8 00042D28  88 A3 01 28 */	lbz r5, 0x128(r3)
/* 800470CC 00042D2C  54 80 06 3E */	clrlwi r0, r4, 0x18
/* 800470D0 00042D30  7C 7F 1B 78 */	mr r31, r3
/* 800470D4 00042D34  7C 9B 23 78 */	mr r27, r4
/* 800470D8 00042D38  7C 05 00 40 */	cmplw r5, r0
/* 800470DC 00042D3C  41 82 03 78 */	beq lbl_80047454
/* 800470E0 00042D40  98 83 01 28 */	stb r4, 0x128(r3)
/* 800470E4 00042D44  7F FD FB 78 */	mr r29, r31
/* 800470E8 00042D48  3B 80 00 00 */	li r28, 0
/* 800470EC 00042D4C  3B C0 00 00 */	li r30, 0
lbl_800470F0:
/* 800470F0 00042D50  80 7D 01 5C */	lwz r3, 0x15c(r29)
/* 800470F4 00042D54  2C 03 00 00 */	cmpwi r3, 0
/* 800470F8 00042D58  41 82 00 20 */	beq lbl_80047118
/* 800470FC 00042D5C  41 82 00 18 */	beq lbl_80047114
/* 80047100 00042D60  81 83 01 00 */	lwz r12, 0x100(r3)
/* 80047104 00042D64  38 80 00 01 */	li r4, 1
/* 80047108 00042D68  81 8C 00 08 */	lwz r12, 8(r12)
/* 8004710C 00042D6C  7D 89 03 A6 */	mtctr r12
/* 80047110 00042D70  4E 80 04 21 */	bctrl
lbl_80047114:
/* 80047114 00042D74  93 DD 01 5C */	stw r30, 0x15c(r29)
lbl_80047118:
/* 80047118 00042D78  3B 9C 00 01 */	addi r28, r28, 1
/* 8004711C 00042D7C  3B BD 00 04 */	addi r29, r29, 4
/* 80047120 00042D80  2C 1C 00 02 */	cmpwi r28, 2
/* 80047124 00042D84  41 80 FF CC */	blt lbl_800470F0
/* 80047128 00042D88  2C 1B 00 03 */	cmpwi r27, 3
/* 8004712C 00042D8C  41 82 00 28 */	beq lbl_80047154
/* 80047130 00042D90  40 80 00 14 */	bge lbl_80047144
/* 80047134 00042D94  2C 1B 00 01 */	cmpwi r27, 1
/* 80047138 00042D98  41 82 00 88 */	beq lbl_800471C0
/* 8004713C 00042D9C  40 80 00 F0 */	bge lbl_8004722C
/* 80047140 00042DA0  48 00 03 14 */	b lbl_80047454
lbl_80047144:
/* 80047144 00042DA4  2C 1B 00 05 */	cmpwi r27, 5
/* 80047148 00042DA8  41 82 02 A4 */	beq lbl_800473EC
/* 8004714C 00042DAC  40 80 03 08 */	bge lbl_80047454
/* 80047150 00042DB0  48 00 01 C8 */	b lbl_80047318
lbl_80047154:
/* 80047154 00042DB4  3C 80 1A 85 */	lis r4, 0x1A850E00@ha
/* 80047158 00042DB8  38 60 00 0C */	li r3, 0xc
/* 8004715C 00042DBC  38 84 0E 00 */	addi r4, r4, 0x1A850E00@l
/* 80047160 00042DC0  48 19 43 5D */	bl func_801DB4BC
/* 80047164 00042DC4  2C 03 00 00 */	cmpwi r3, 0
/* 80047168 00042DC8  7C 7D 1B 78 */	mr r29, r3
/* 8004716C 00042DCC  41 82 02 E8 */	beq lbl_80047454
/* 80047170 00042DD0  48 19 39 B9 */	bl func_801DAB28
/* 80047174 00042DD4  2C 03 00 00 */	cmpwi r3, 0
/* 80047178 00042DD8  41 82 00 14 */	beq lbl_8004718C
/* 8004717C 00042DDC  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80047180 00042DE0  38 80 01 40 */	li r4, 0x140
/* 80047184 00042DE4  48 19 3B 11 */	bl func_801DAC94
/* 80047188 00042DE8  48 00 00 08 */	b lbl_80047190
lbl_8004718C:
/* 8004718C 00042DEC  38 60 00 00 */	li r3, 0
lbl_80047190:
/* 80047190 00042DF0  2C 03 00 00 */	cmpwi r3, 0
/* 80047194 00042DF4  41 82 00 0C */	beq lbl_800471A0
/* 80047198 00042DF8  7F A4 EB 78 */	mr r4, r29
/* 8004719C 00042DFC  48 1B 27 51 */	bl func_801F98EC
lbl_800471A0:
/* 800471A0 00042E00  90 7F 01 5C */	stw r3, 0x15c(r31)
/* 800471A4 00042E04  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800471A8 00042E08  80 03 01 04 */	lwz r0, 0x104(r3)
/* 800471AC 00042E0C  60 00 00 01 */	ori r0, r0, 1
/* 800471B0 00042E10  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 800471B4 00042E14  90 03 01 04 */	stw r0, 0x104(r3)
/* 800471B8 00042E18  D0 03 01 08 */	stfs f0, 0x108(r3)
/* 800471BC 00042E1C  48 00 02 98 */	b lbl_80047454
lbl_800471C0:
/* 800471C0 00042E20  3C 80 1B C1 */	lis r4, 0x1BC10E00@ha
/* 800471C4 00042E24  38 60 00 0C */	li r3, 0xc
/* 800471C8 00042E28  38 84 0E 00 */	addi r4, r4, 0x1BC10E00@l
/* 800471CC 00042E2C  48 19 42 F1 */	bl func_801DB4BC
/* 800471D0 00042E30  2C 03 00 00 */	cmpwi r3, 0
/* 800471D4 00042E34  7C 7D 1B 78 */	mr r29, r3
/* 800471D8 00042E38  41 82 02 7C */	beq lbl_80047454
/* 800471DC 00042E3C  48 19 39 4D */	bl func_801DAB28
/* 800471E0 00042E40  2C 03 00 00 */	cmpwi r3, 0
/* 800471E4 00042E44  41 82 00 14 */	beq lbl_800471F8
/* 800471E8 00042E48  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 800471EC 00042E4C  38 80 01 40 */	li r4, 0x140
/* 800471F0 00042E50  48 19 3A A5 */	bl func_801DAC94
/* 800471F4 00042E54  48 00 00 08 */	b lbl_800471FC
lbl_800471F8:
/* 800471F8 00042E58  38 60 00 00 */	li r3, 0
lbl_800471FC:
/* 800471FC 00042E5C  2C 03 00 00 */	cmpwi r3, 0
/* 80047200 00042E60  41 82 00 0C */	beq lbl_8004720C
/* 80047204 00042E64  7F A4 EB 78 */	mr r4, r29
/* 80047208 00042E68  48 1B 26 E5 */	bl func_801F98EC
lbl_8004720C:
/* 8004720C 00042E6C  90 7F 01 5C */	stw r3, 0x15c(r31)
/* 80047210 00042E70  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 80047214 00042E74  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80047218 00042E78  60 00 00 01 */	ori r0, r0, 1
/* 8004721C 00042E7C  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80047220 00042E80  90 03 01 04 */	stw r0, 0x104(r3)
/* 80047224 00042E84  D0 03 01 08 */	stfs f0, 0x108(r3)
/* 80047228 00042E88  48 00 02 2C */	b lbl_80047454
lbl_8004722C:
/* 8004722C 00042E8C  4B FE EB 71 */	bl func_80035D9C
/* 80047230 00042E90  3C 80 20 9E */	lis r4, 0x209E0E00@ha
/* 80047234 00042E94  7C 7C 1B 78 */	mr r28, r3
/* 80047238 00042E98  38 84 0E 00 */	addi r4, r4, 0x209E0E00@l
/* 8004723C 00042E9C  38 60 00 0C */	li r3, 0xc
/* 80047240 00042EA0  48 19 42 7D */	bl func_801DB4BC
/* 80047244 00042EA4  2C 03 00 00 */	cmpwi r3, 0
/* 80047248 00042EA8  7C 7D 1B 78 */	mr r29, r3
/* 8004724C 00042EAC  41 82 02 08 */	beq lbl_80047454
/* 80047250 00042EB0  48 19 38 D9 */	bl func_801DAB28
/* 80047254 00042EB4  2C 03 00 00 */	cmpwi r3, 0
/* 80047258 00042EB8  41 82 00 14 */	beq lbl_8004726C
/* 8004725C 00042EBC  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80047260 00042EC0  38 80 01 40 */	li r4, 0x140
/* 80047264 00042EC4  48 19 3A 31 */	bl func_801DAC94
/* 80047268 00042EC8  48 00 00 08 */	b lbl_80047270
lbl_8004726C:
/* 8004726C 00042ECC  38 60 00 00 */	li r3, 0
lbl_80047270:
/* 80047270 00042ED0  2C 03 00 00 */	cmpwi r3, 0
/* 80047274 00042ED4  41 82 00 0C */	beq lbl_80047280
/* 80047278 00042ED8  7F A4 EB 78 */	mr r4, r29
/* 8004727C 00042EDC  48 1B 26 71 */	bl func_801F98EC
lbl_80047280:
/* 80047280 00042EE0  2C 1C 00 00 */	cmpwi r28, 0
/* 80047284 00042EE4  90 7F 01 5C */	stw r3, 0x15c(r31)
/* 80047288 00042EE8  41 82 00 70 */	beq lbl_800472F8
/* 8004728C 00042EEC  7F 83 E3 78 */	mr r3, r28
/* 80047290 00042EF0  38 80 00 04 */	li r4, 4
/* 80047294 00042EF4  4B FE FC BD */	bl func_80036F50
/* 80047298 00042EF8  2C 03 00 00 */	cmpwi r3, 0
/* 8004729C 00042EFC  41 82 00 5C */	beq lbl_800472F8
/* 800472A0 00042F00  C0 22 83 88 */	lfs f1, lbl_80640988-_SDA2_BASE_(r2)
/* 800472A4 00042F04  38 61 00 18 */	addi r3, r1, 0x18
/* 800472A8 00042F08  C0 02 83 A8 */	lfs f0, lbl_806409A8-_SDA2_BASE_(r2)
/* 800472AC 00042F0C  38 81 00 08 */	addi r4, r1, 8
/* 800472B0 00042F10  D0 21 00 08 */	stfs f1, 8(r1)
/* 800472B4 00042F14  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 800472B8 00042F18  D0 21 00 10 */	stfs f1, 0x10(r1)
/* 800472BC 00042F1C  48 1D C4 05 */	bl func_802236C0
/* 800472C0 00042F20  80 7F 01 5C */	lwz r3, 0x15c(r31)
/* 800472C4 00042F24  38 80 00 01 */	li r4, 1
/* 800472C8 00042F28  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 800472CC 00042F2C  D0 03 00 2C */	stfs f0, 0x2c(r3)
/* 800472D0 00042F30  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 800472D4 00042F34  D0 03 00 30 */	stfs f0, 0x30(r3)
/* 800472D8 00042F38  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 800472DC 00042F3C  D0 03 00 34 */	stfs f0, 0x34(r3)
/* 800472E0 00042F40  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 800472E4 00042F44  D0 03 00 38 */	stfs f0, 0x38(r3)
/* 800472E8 00042F48  A0 03 00 10 */	lhz r0, 0x10(r3)
/* 800472EC 00042F4C  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 800472F0 00042F50  B0 03 00 10 */	sth r0, 0x10(r3)
/* 800472F4 00042F54  48 1A B3 C5 */	bl func_801F26B8
lbl_800472F8:
/* 800472F8 00042F58  80 7F 01 5C */	lwz r3, 0x15c(r31)
/* 800472FC 00042F5C  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 80047300 00042F60  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80047304 00042F64  60 00 00 01 */	ori r0, r0, 1
/* 80047308 00042F68  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 8004730C 00042F6C  90 03 01 04 */	stw r0, 0x104(r3)
/* 80047310 00042F70  D0 03 01 08 */	stfs f0, 0x108(r3)
/* 80047314 00042F74  48 00 01 40 */	b lbl_80047454
lbl_80047318:
/* 80047318 00042F78  3C 80 20 9C */	lis r4, 0x209C0E00@ha
/* 8004731C 00042F7C  38 60 00 0C */	li r3, 0xc
/* 80047320 00042F80  38 84 0E 00 */	addi r4, r4, 0x209C0E00@l
/* 80047324 00042F84  48 19 41 99 */	bl func_801DB4BC
/* 80047328 00042F88  2C 03 00 00 */	cmpwi r3, 0
/* 8004732C 00042F8C  7C 7D 1B 78 */	mr r29, r3
/* 80047330 00042F90  41 82 00 50 */	beq lbl_80047380
/* 80047334 00042F94  48 19 37 F5 */	bl func_801DAB28
/* 80047338 00042F98  2C 03 00 00 */	cmpwi r3, 0
/* 8004733C 00042F9C  41 82 00 14 */	beq lbl_80047350
/* 80047340 00042FA0  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80047344 00042FA4  38 80 01 40 */	li r4, 0x140
/* 80047348 00042FA8  48 19 39 4D */	bl func_801DAC94
/* 8004734C 00042FAC  48 00 00 08 */	b lbl_80047354
lbl_80047350:
/* 80047350 00042FB0  38 60 00 00 */	li r3, 0
lbl_80047354:
/* 80047354 00042FB4  2C 03 00 00 */	cmpwi r3, 0
/* 80047358 00042FB8  41 82 00 0C */	beq lbl_80047364
/* 8004735C 00042FBC  7F A4 EB 78 */	mr r4, r29
/* 80047360 00042FC0  48 1B 25 8D */	bl func_801F98EC
lbl_80047364:
/* 80047364 00042FC4  90 7F 01 5C */	stw r3, 0x15c(r31)
/* 80047368 00042FC8  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 8004736C 00042FCC  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80047370 00042FD0  60 00 00 01 */	ori r0, r0, 1
/* 80047374 00042FD4  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80047378 00042FD8  90 03 01 04 */	stw r0, 0x104(r3)
/* 8004737C 00042FDC  D0 03 01 08 */	stfs f0, 0x108(r3)
lbl_80047380:
/* 80047380 00042FE0  3C 80 20 9D */	lis r4, 0x209D0E00@ha
/* 80047384 00042FE4  38 60 00 0C */	li r3, 0xc
/* 80047388 00042FE8  38 84 0E 00 */	addi r4, r4, 0x209D0E00@l
/* 8004738C 00042FEC  48 19 41 31 */	bl func_801DB4BC
/* 80047390 00042FF0  2C 03 00 00 */	cmpwi r3, 0
/* 80047394 00042FF4  7C 7D 1B 78 */	mr r29, r3
/* 80047398 00042FF8  41 82 00 BC */	beq lbl_80047454
/* 8004739C 00042FFC  48 19 37 8D */	bl func_801DAB28
/* 800473A0 00043000  2C 03 00 00 */	cmpwi r3, 0
/* 800473A4 00043004  41 82 00 14 */	beq lbl_800473B8
/* 800473A8 00043008  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 800473AC 0004300C  38 80 01 40 */	li r4, 0x140
/* 800473B0 00043010  48 19 38 E5 */	bl func_801DAC94
/* 800473B4 00043014  48 00 00 08 */	b lbl_800473BC
lbl_800473B8:
/* 800473B8 00043018  38 60 00 00 */	li r3, 0
lbl_800473BC:
/* 800473BC 0004301C  2C 03 00 00 */	cmpwi r3, 0
/* 800473C0 00043020  41 82 00 0C */	beq lbl_800473CC
/* 800473C4 00043024  7F A4 EB 78 */	mr r4, r29
/* 800473C8 00043028  48 1B 25 25 */	bl func_801F98EC
lbl_800473CC:
/* 800473CC 0004302C  90 7F 01 60 */	stw r3, 0x160(r31)
/* 800473D0 00043030  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 800473D4 00043034  80 03 01 04 */	lwz r0, 0x104(r3)
/* 800473D8 00043038  60 00 00 01 */	ori r0, r0, 1
/* 800473DC 0004303C  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 800473E0 00043040  90 03 01 04 */	stw r0, 0x104(r3)
/* 800473E4 00043044  D0 03 01 08 */	stfs f0, 0x108(r3)
/* 800473E8 00043048  48 00 00 6C */	b lbl_80047454
lbl_800473EC:
/* 800473EC 0004304C  3C 80 21 E3 */	lis r4, 0x21E30E00@ha
/* 800473F0 00043050  38 60 00 0C */	li r3, 0xc
/* 800473F4 00043054  38 84 0E 00 */	addi r4, r4, 0x21E30E00@l
/* 800473F8 00043058  48 19 40 C5 */	bl func_801DB4BC
/* 800473FC 0004305C  2C 03 00 00 */	cmpwi r3, 0
/* 80047400 00043060  7C 7D 1B 78 */	mr r29, r3
/* 80047404 00043064  41 82 00 50 */	beq lbl_80047454
/* 80047408 00043068  48 19 37 21 */	bl func_801DAB28
/* 8004740C 0004306C  2C 03 00 00 */	cmpwi r3, 0
/* 80047410 00043070  41 82 00 14 */	beq lbl_80047424
/* 80047414 00043074  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80047418 00043078  38 80 01 40 */	li r4, 0x140
/* 8004741C 0004307C  48 19 38 79 */	bl func_801DAC94
/* 80047420 00043080  48 00 00 08 */	b lbl_80047428
lbl_80047424:
/* 80047424 00043084  38 60 00 00 */	li r3, 0
lbl_80047428:
/* 80047428 00043088  2C 03 00 00 */	cmpwi r3, 0
/* 8004742C 0004308C  41 82 00 0C */	beq lbl_80047438
/* 80047430 00043090  7F A4 EB 78 */	mr r4, r29
/* 80047434 00043094  48 1B 24 B9 */	bl func_801F98EC
lbl_80047438:
/* 80047438 00043098  90 7F 01 5C */	stw r3, 0x15c(r31)
/* 8004743C 0004309C  C0 02 83 88 */	lfs f0, lbl_80640988-_SDA2_BASE_(r2)
/* 80047440 000430A0  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80047444 000430A4  60 00 00 01 */	ori r0, r0, 1
/* 80047448 000430A8  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 8004744C 000430AC  90 03 01 04 */	stw r0, 0x104(r3)
/* 80047450 000430B0  D0 03 01 08 */	stfs f0, 0x108(r3)
lbl_80047454:
/* 80047454 000430B4  39 61 00 40 */	addi r11, r1, 0x40
/* 80047458 000430B8  48 17 FD 1D */	bl _restgpr_27
/* 8004745C 000430BC  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80047460 000430C0  7C 08 03 A6 */	mtlr r0
/* 80047464 000430C4  38 21 00 40 */	addi r1, r1, 0x40
/* 80047468 000430C8  4E 80 00 20 */	blr

.global func_8004746C
func_8004746C:
/* 8004746C 000430CC  38 80 00 00 */	li r4, 0
/* 80047470 000430D0  4B FF FC 44 */	b func_800470B4

.global func_80047474
func_80047474:
/* 80047474 000430D4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80047478 000430D8  7C 08 02 A6 */	mflr r0
/* 8004747C 000430DC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80047480 000430E0  54 A0 00 5E */	rlwinm r0, r5, 0, 1, 0xf
/* 80047484 000430E4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80047488 000430E8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8004748C 000430EC  7C DE 33 78 */	mr r30, r6
/* 80047490 000430F0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80047494 000430F4  7C 7D 1B 78 */	mr r29, r3
/* 80047498 000430F8  7C 83 23 78 */	mr r3, r4
/* 8004749C 000430FC  60 04 2C 00 */	ori r4, r0, 0x2c00
/* 800474A0 00043100  48 19 40 1D */	bl func_801DB4BC
/* 800474A4 00043104  2C 03 00 00 */	cmpwi r3, 0
/* 800474A8 00043108  7C 7F 1B 78 */	mr r31, r3
/* 800474AC 0004310C  41 82 00 24 */	beq lbl_800474D0
/* 800474B0 00043110  7F C4 F3 78 */	mr r4, r30
/* 800474B4 00043114  48 19 D6 D9 */	bl func_801E4B8C
/* 800474B8 00043118  7F E3 FB 78 */	mr r3, r31
/* 800474BC 0004311C  38 80 00 01 */	li r4, 1
/* 800474C0 00043120  48 19 D7 0D */	bl func_801E4BCC
/* 800474C4 00043124  93 FD 01 68 */	stw r31, 0x168(r29)
/* 800474C8 00043128  38 60 00 01 */	li r3, 1
/* 800474CC 0004312C  48 00 00 08 */	b lbl_800474D4
lbl_800474D0:
/* 800474D0 00043130  38 60 00 00 */	li r3, 0
lbl_800474D4:
/* 800474D4 00043134  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800474D8 00043138  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800474DC 0004313C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800474E0 00043140  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800474E4 00043144  7C 08 03 A6 */	mtlr r0
/* 800474E8 00043148  38 21 00 20 */	addi r1, r1, 0x20
/* 800474EC 0004314C  4E 80 00 20 */	blr

.global func_800474F0
func_800474F0:
/* 800474F0 00043150  80 63 01 68 */	lwz r3, 0x168(r3)
/* 800474F4 00043154  2C 03 00 00 */	cmpwi r3, 0
/* 800474F8 00043158  4D 82 00 20 */	beqlr
/* 800474FC 0004315C  48 19 D6 D0 */	b func_801E4BCC
/* 80047500 00043160  4E 80 00 20 */	blr

.global func_80047504
func_80047504:
/* 80047504 00043164  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80047508 00043168  7C 08 02 A6 */	mflr r0
/* 8004750C 0004316C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80047510 00043170  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80047514 00043174  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80047518 00043178  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8004751C 0004317C  7C 7D 1B 78 */	mr r29, r3
/* 80047520 00043180  4B FE BB 69 */	bl func_80033088
/* 80047524 00043184  80 1D 00 08 */	lwz r0, 8(r29)
/* 80047528 00043188  7C 7E 1B 78 */	mr r30, r3
/* 8004752C 0004318C  2C 00 00 00 */	cmpwi r0, 0
/* 80047530 00043190  41 82 00 90 */	beq lbl_800475C0
/* 80047534 00043194  2C 03 00 00 */	cmpwi r3, 0
/* 80047538 00043198  41 82 00 88 */	beq lbl_800475C0
/* 8004753C 0004319C  48 0D 54 39 */	bl func_8011C974
/* 80047540 000431A0  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80047544 000431A4  37 A3 FC 18 */	addic. r29, r3, -1000
/* 80047548 000431A8  41 80 00 78 */	blt lbl_800475C0
/* 8004754C 000431AC  7F C3 F3 78 */	mr r3, r30
/* 80047550 000431B0  38 80 00 01 */	li r4, 1
/* 80047554 000431B4  4B FE DA 51 */	bl func_80034FA4
/* 80047558 000431B8  7F C3 F3 78 */	mr r3, r30
/* 8004755C 000431BC  38 80 00 00 */	li r4, 0
/* 80047560 000431C0  4B FE DB 21 */	bl func_80035080
/* 80047564 000431C4  3F E0 80 64 */	lis r31, lbl_8063CE34@ha
/* 80047568 000431C8  7F A4 EB 78 */	mr r4, r29
/* 8004756C 000431CC  3B FF CE 34 */	addi r31, r31, lbl_8063CE34@l
/* 80047570 000431D0  38 7F 00 78 */	addi r3, r31, 0x78
/* 80047574 000431D4  48 35 23 DD */	bl func_80399950
/* 80047578 000431D8  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 8004757C 000431DC  7F C3 F3 78 */	mr r3, r30
/* 80047580 000431E0  7C 04 00 D0 */	neg r0, r4
/* 80047584 000431E4  7C 00 23 78 */	or r0, r0, r4
/* 80047588 000431E8  54 04 0F FE */	srwi r4, r0, 0x1f
/* 8004758C 000431EC  4B FE DA ED */	bl func_80035078
/* 80047590 000431F0  7F A4 EB 78 */	mr r4, r29
/* 80047594 000431F4  38 7F 00 78 */	addi r3, r31, 0x78
/* 80047598 000431F8  48 35 23 ED */	bl func_80399984
/* 8004759C 000431FC  7C 60 1B 78 */	mr r0, r3
/* 800475A0 00043200  7F C3 F3 78 */	mr r3, r30
/* 800475A4 00043204  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 800475A8 00043208  4B FE DA F9 */	bl func_800350A0
/* 800475AC 0004320C  7F A4 EB 78 */	mr r4, r29
/* 800475B0 00043210  38 7F 00 78 */	addi r3, r31, 0x78
/* 800475B4 00043214  48 35 24 05 */	bl func_803999B8
/* 800475B8 00043218  7F C3 F3 78 */	mr r3, r30
/* 800475BC 0004321C  4B FE D9 F1 */	bl func_80034FAC
lbl_800475C0:
/* 800475C0 00043220  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800475C4 00043224  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800475C8 00043228  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800475CC 0004322C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800475D0 00043230  7C 08 03 A6 */	mtlr r0
/* 800475D4 00043234  38 21 00 20 */	addi r1, r1, 0x20
/* 800475D8 00043238  4E 80 00 20 */	blr

.global func_800475DC
func_800475DC:
/* 800475DC 0004323C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800475E0 00043240  7C 08 02 A6 */	mflr r0
/* 800475E4 00043244  90 01 00 24 */	stw r0, 0x24(r1)
/* 800475E8 00043248  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 800475EC 0004324C  3B E0 00 00 */	li r31, 0
/* 800475F0 00043250  93 C1 00 18 */	stw r30, 0x18(r1)
/* 800475F4 00043254  93 A1 00 14 */	stw r29, 0x14(r1)
/* 800475F8 00043258  7C 9D 23 78 */	mr r29, r4
/* 800475FC 0004325C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80047600 00043260  7C 7C 1B 78 */	mr r28, r3
/* 80047604 00043264  48 0D 53 71 */	bl func_8011C974
/* 80047608 00043268  80 83 00 10 */	lwz r4, 0x10(r3)
/* 8004760C 0004326C  34 84 FC 18 */	addic. r4, r4, -1000
/* 80047610 00043270  40 80 00 08 */	bge lbl_80047618
/* 80047614 00043274  38 80 00 00 */	li r4, 0
lbl_80047618:
/* 80047618 00043278  80 03 00 00 */	lwz r0, 0(r3)
/* 8004761C 0004327C  2C 1D 00 02 */	cmpwi r29, 2
/* 80047620 00043280  3B C0 00 00 */	li r30, 0
/* 80047624 00043284  54 00 2F FE */	rlwinm r0, r0, 5, 0x1f, 0x1f
/* 80047628 00043288  41 82 00 D4 */	beq lbl_800476FC
/* 8004762C 0004328C  40 80 00 14 */	bge lbl_80047640
/* 80047630 00043290  2C 1D 00 00 */	cmpwi r29, 0
/* 80047634 00043294  41 82 00 18 */	beq lbl_8004764C
/* 80047638 00043298  40 80 00 8C */	bge lbl_800476C4
/* 8004763C 0004329C  48 00 00 EC */	b lbl_80047728
lbl_80047640:
/* 80047640 000432A0  2C 1D 00 04 */	cmpwi r29, 4
/* 80047644 000432A4  40 80 00 E4 */	bge lbl_80047728
/* 80047648 000432A8  48 00 00 CC */	b lbl_80047714
lbl_8004764C:
/* 8004764C 000432AC  2C 00 00 00 */	cmpwi r0, 0
/* 80047650 000432B0  41 82 00 5C */	beq lbl_800476AC
/* 80047654 000432B4  3B E0 00 00 */	li r31, 0
/* 80047658 000432B8  48 00 00 2C */	b lbl_80047684
lbl_8004765C:
/* 8004765C 000432BC  7F 83 E3 78 */	mr r3, r28
/* 80047660 000432C0  38 9F 00 80 */	addi r4, r31, 0x80
/* 80047664 000432C4  38 A0 00 00 */	li r5, 0
/* 80047668 000432C8  4B FF E4 99 */	bl func_80045B00
/* 8004766C 000432CC  A0 63 05 1C */	lhz r3, 0x51c(r3)
/* 80047670 000432D0  38 03 FF F8 */	addi r0, r3, -8
/* 80047674 000432D4  7C 1E 00 00 */	cmpw r30, r0
/* 80047678 000432D8  40 80 00 08 */	bge lbl_80047680
/* 8004767C 000432DC  7C 1E 03 78 */	mr r30, r0
lbl_80047680:
/* 80047680 000432E0  3B FF 00 01 */	addi r31, r31, 1
lbl_80047684:
/* 80047684 000432E4  A0 1C 01 1E */	lhz r0, 0x11e(r28)
/* 80047688 000432E8  7C 1F 00 00 */	cmpw r31, r0
/* 8004768C 000432EC  41 80 FF D0 */	blt lbl_8004765C
/* 80047690 000432F0  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80047694 000432F4  7F C4 F3 78 */	mr r4, r30
/* 80047698 000432F8  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 8004769C 000432FC  38 63 00 78 */	addi r3, r3, 0x78
/* 800476A0 00043300  48 35 21 AD */	bl func_8039984C
/* 800476A4 00043304  7C 7F 1B 78 */	mr r31, r3
/* 800476A8 00043308  48 00 00 80 */	b lbl_80047728
lbl_800476AC:
/* 800476AC 0004330C  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 800476B0 00043310  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 800476B4 00043314  38 63 00 78 */	addi r3, r3, 0x78
/* 800476B8 00043318  48 35 21 61 */	bl func_80399818
/* 800476BC 0004331C  7C 7F 1B 78 */	mr r31, r3
/* 800476C0 00043320  48 00 00 68 */	b lbl_80047728
lbl_800476C4:
/* 800476C4 00043324  2C 00 00 00 */	cmpwi r0, 0
/* 800476C8 00043328  41 82 00 1C */	beq lbl_800476E4
/* 800476CC 0004332C  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 800476D0 00043330  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 800476D4 00043334  38 63 00 78 */	addi r3, r3, 0x78
/* 800476D8 00043338  48 35 21 DD */	bl func_803998B4
/* 800476DC 0004333C  7C 7F 1B 78 */	mr r31, r3
/* 800476E0 00043340  48 00 00 48 */	b lbl_80047728
lbl_800476E4:
/* 800476E4 00043344  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 800476E8 00043348  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 800476EC 0004334C  38 63 00 78 */	addi r3, r3, 0x78
/* 800476F0 00043350  48 35 21 91 */	bl func_80399880
/* 800476F4 00043354  7C 7F 1B 78 */	mr r31, r3
/* 800476F8 00043358  48 00 00 30 */	b lbl_80047728
lbl_800476FC:
/* 800476FC 0004335C  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80047700 00043360  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 80047704 00043364  38 63 00 78 */	addi r3, r3, 0x78
/* 80047708 00043368  48 35 21 E1 */	bl func_803998E8
/* 8004770C 0004336C  7C 7F 1B 78 */	mr r31, r3
/* 80047710 00043370  48 00 00 18 */	b lbl_80047728
lbl_80047714:
/* 80047714 00043374  3C 60 80 64 */	lis r3, lbl_8063CE34@ha
/* 80047718 00043378  38 63 CE 34 */	addi r3, r3, lbl_8063CE34@l
/* 8004771C 0004337C  38 63 00 78 */	addi r3, r3, 0x78
/* 80047720 00043380  48 35 21 FD */	bl func_8039991C
/* 80047724 00043384  7C 7F 1B 78 */	mr r31, r3
lbl_80047728:
/* 80047728 00043388  2C 1F 00 00 */	cmpwi r31, 0
/* 8004772C 0004338C  40 80 00 08 */	bge lbl_80047734
/* 80047730 00043390  3B E0 00 00 */	li r31, 0
lbl_80047734:
/* 80047734 00043394  7F E3 FB 78 */	mr r3, r31
/* 80047738 00043398  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8004773C 0004339C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80047740 000433A0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80047744 000433A4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80047748 000433A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8004774C 000433AC  7C 08 03 A6 */	mtlr r0
/* 80047750 000433B0  38 21 00 20 */	addi r1, r1, 0x20
/* 80047754 000433B4  4E 80 00 20 */	blr

.global func_80047758
func_80047758:
/* 80047758 000433B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8004775C 000433BC  7C 08 02 A6 */	mflr r0
/* 80047760 000433C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80047764 000433C4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80047768 000433C8  3B E3 00 0C */	addi r31, r3, 0xc
/* 8004776C 000433CC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80047770 000433D0  3B C0 00 00 */	li r30, 0
/* 80047774 000433D4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80047778 000433D8  7C 7D 1B 78 */	mr r29, r3
/* 8004777C 000433DC  48 00 00 24 */	b lbl_800477A0
lbl_80047780:
/* 80047780 000433E0  7F E3 FB 78 */	mr r3, r31
/* 80047784 000433E4  4B FF D8 2D */	bl func_80044FB0
/* 80047788 000433E8  2C 03 00 00 */	cmpwi r3, 0
/* 8004778C 000433EC  41 82 00 0C */	beq lbl_80047798
/* 80047790 000433F0  7F E3 FB 78 */	mr r3, r31
/* 80047794 000433F4  4B FF D8 D9 */	bl func_8004506C
lbl_80047798:
/* 80047798 000433F8  3B FF 00 44 */	addi r31, r31, 0x44
/* 8004779C 000433FC  3B DE 00 01 */	addi r30, r30, 1
lbl_800477A0:
/* 800477A0 00043400  A0 1D 01 1E */	lhz r0, 0x11e(r29)
/* 800477A4 00043404  7C 1E 00 00 */	cmpw r30, r0
/* 800477A8 00043408  41 80 FF D8 */	blt lbl_80047780
/* 800477AC 0004340C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800477B0 00043410  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800477B4 00043414  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800477B8 00043418  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800477BC 0004341C  7C 08 03 A6 */	mtlr r0
/* 800477C0 00043420  38 21 00 20 */	addi r1, r1, 0x20
/* 800477C4 00043424  4E 80 00 20 */	blr

.global func_800477C8
func_800477C8:
/* 800477C8 00043428  38 A0 00 01 */	li r5, 1
/* 800477CC 0004342C  38 6D 97 F0 */	addi r3, r13, lbl_8063EAB0-_SDA_BASE_
/* 800477D0 00043430  38 80 00 04 */	li r4, 4
/* 800477D4 00043434  38 00 00 00 */	li r0, 0
/* 800477D8 00043438  98 AD 97 F0 */	stb r5, lbl_8063EAB0-_SDA_BASE_(r13)
/* 800477DC 0004343C  B0 83 00 02 */	sth r4, 2(r3)
/* 800477E0 00043440  98 03 00 04 */	stb r0, 4(r3)
/* 800477E4 00043444  4E 80 00 20 */	blr