1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80036F88
func_80036F88:
/* 80036F88 00032BE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80036F8C 00032BEC 7C 08 02 A6 */ mflr r0
/* 80036F90 00032BF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80036F94 00032BF4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80036F98 00032BF8 7C 9F 23 78 */ mr r31, r4
/* 80036F9C 00032BFC 93 C1 00 08 */ stw r30, 8(r1)
/* 80036FA0 00032C00 7C 7E 1B 78 */ mr r30, r3
/* 80036FA4 00032C04 48 1A 45 19 */ bl func_801DB4BC
/* 80036FA8 00032C08 2C 03 00 00 */ cmpwi r3, 0
/* 80036FAC 00032C0C 40 82 00 30 */ bne lbl_80036FDC
/* 80036FB0 00032C10 7F C3 F3 78 */ mr r3, r30
/* 80036FB4 00032C14 7F E4 FB 78 */ mr r4, r31
/* 80036FB8 00032C18 48 21 28 65 */ bl func_8024981C
/* 80036FBC 00032C1C 48 00 00 0C */ b lbl_80036FC8
lbl_80036FC0:
/* 80036FC0 00032C20 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80036FC4 00032C24 48 1E D5 C5 */ bl func_80224588
lbl_80036FC8:
/* 80036FC8 00032C28 7F C3 F3 78 */ mr r3, r30
/* 80036FCC 00032C2C 7F E4 FB 78 */ mr r4, r31
/* 80036FD0 00032C30 48 1A 44 ED */ bl func_801DB4BC
/* 80036FD4 00032C34 2C 03 00 00 */ cmpwi r3, 0
/* 80036FD8 00032C38 41 82 FF E8 */ beq lbl_80036FC0
lbl_80036FDC:
/* 80036FDC 00032C3C 7F C3 F3 78 */ mr r3, r30
/* 80036FE0 00032C40 7F E4 FB 78 */ mr r4, r31
/* 80036FE4 00032C44 48 1A 45 19 */ bl func_801DB4FC
/* 80036FE8 00032C48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80036FEC 00032C4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80036FF0 00032C50 83 C1 00 08 */ lwz r30, 8(r1)
/* 80036FF4 00032C54 7C 08 03 A6 */ mtlr r0
/* 80036FF8 00032C58 38 21 00 10 */ addi r1, r1, 0x10
/* 80036FFC 00032C5C 4E 80 00 20 */ blr
.global func_80037000
func_80037000:
/* 80037000 00032C60 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80037004 00032C64 7C 08 02 A6 */ mflr r0
/* 80037008 00032C68 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003700C 00032C6C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80037010 00032C70 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80037014 00032C74 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
/* 80037018 00032C78 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003701C 00032C7C 3B E0 00 00 */ li r31, 0
/* 80037020 00032C80 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80037024 00032C84 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80037028 00032C88 3B A0 00 00 */ li r29, 0
/* 8003702C 00032C8C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80037030 00032C90 7C 7C 1B 78 */ mr r28, r3
/* 80037034 00032C94 7F 9E E3 78 */ mr r30, r28
/* 80037038 00032C98 93 E3 00 00 */ stw r31, 0(r3)
lbl_8003703C:
/* 8003703C 00032C9C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80037040 00032CA0 2C 03 00 00 */ cmpwi r3, 0
/* 80037044 00032CA4 41 82 00 4C */ beq lbl_80037090
/* 80037048 00032CA8 80 03 01 04 */ lwz r0, 0x104(r3)
/* 8003704C 00032CAC 60 00 00 04 */ ori r0, r0, 4
/* 80037050 00032CB0 90 03 01 04 */ stw r0, 0x104(r3)
/* 80037054 00032CB4 D3 E3 01 10 */ stfs f31, 0x110(r3)
/* 80037058 00032CB8 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 8003705C 00032CBC 80 64 00 C0 */ lwz r3, 0xc0(r4)
/* 80037060 00032CC0 2C 03 00 00 */ cmpwi r3, 0
/* 80037064 00032CC4 41 82 00 08 */ beq lbl_8003706C
/* 80037068 00032CC8 48 1B B1 C1 */ bl func_801F2228
lbl_8003706C:
/* 8003706C 00032CCC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80037070 00032CD0 2C 03 00 00 */ cmpwi r3, 0
/* 80037074 00032CD4 41 82 00 18 */ beq lbl_8003708C
/* 80037078 00032CD8 81 83 01 00 */ lwz r12, 0x100(r3)
/* 8003707C 00032CDC 38 80 00 01 */ li r4, 1
/* 80037080 00032CE0 81 8C 00 08 */ lwz r12, 8(r12)
/* 80037084 00032CE4 7D 89 03 A6 */ mtctr r12
/* 80037088 00032CE8 4E 80 04 21 */ bctrl
lbl_8003708C:
/* 8003708C 00032CEC 93 FE 00 0C */ stw r31, 0xc(r30)
lbl_80037090:
/* 80037090 00032CF0 3B BD 00 01 */ addi r29, r29, 1
/* 80037094 00032CF4 3B DE 00 04 */ addi r30, r30, 4
/* 80037098 00032CF8 2C 1D 00 08 */ cmpwi r29, 8
/* 8003709C 00032CFC 41 80 FF A0 */ blt lbl_8003703C
/* 800370A0 00032D00 80 7C 00 04 */ lwz r3, 4(r28)
/* 800370A4 00032D04 2C 03 00 00 */ cmpwi r3, 0
/* 800370A8 00032D08 40 82 00 10 */ bne lbl_800370B8
/* 800370AC 00032D0C 80 1C 00 08 */ lwz r0, 8(r28)
/* 800370B0 00032D10 2C 00 00 00 */ cmpwi r0, 0
/* 800370B4 00032D14 41 82 00 0C */ beq lbl_800370C0
lbl_800370B8:
/* 800370B8 00032D18 80 9C 00 08 */ lwz r4, 8(r28)
/* 800370BC 00032D1C 48 1A 44 8D */ bl func_801DB548
lbl_800370C0:
/* 800370C0 00032D20 38 00 00 00 */ li r0, 0
/* 800370C4 00032D24 90 1C 00 04 */ stw r0, 4(r28)
/* 800370C8 00032D28 90 1C 00 08 */ stw r0, 8(r28)
/* 800370CC 00032D2C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 800370D0 00032D30 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 800370D4 00032D34 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800370D8 00032D38 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800370DC 00032D3C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800370E0 00032D40 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800370E4 00032D44 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800370E8 00032D48 7C 08 03 A6 */ mtlr r0
/* 800370EC 00032D4C 38 21 00 30 */ addi r1, r1, 0x30
/* 800370F0 00032D50 4E 80 00 20 */ blr
.global func_800370F4
func_800370F4:
/* 800370F4 00032D54 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800370F8 00032D58 38 00 00 00 */ li r0, 0
/* 800370FC 00032D5C 98 03 00 00 */ stb r0, 0(r3)
/* 80037100 00032D60 D0 03 00 04 */ stfs f0, 4(r3)
/* 80037104 00032D64 D0 03 00 08 */ stfs f0, 8(r3)
/* 80037108 00032D68 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8003710C 00032D6C 90 03 00 10 */ stw r0, 0x10(r3)
/* 80037110 00032D70 90 03 00 14 */ stw r0, 0x14(r3)
/* 80037114 00032D74 90 03 00 18 */ stw r0, 0x18(r3)
/* 80037118 00032D78 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8003711C 00032D7C 90 03 00 20 */ stw r0, 0x20(r3)
/* 80037120 00032D80 90 03 00 24 */ stw r0, 0x24(r3)
/* 80037124 00032D84 90 03 00 28 */ stw r0, 0x28(r3)
/* 80037128 00032D88 4E 80 00 20 */ blr
lbl_8003712C:
/* 8003712C 00032D8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80037130 00032D90 7C 08 02 A6 */ mflr r0
/* 80037134 00032D94 90 01 00 24 */ stw r0, 0x24(r1)
/* 80037138 00032D98 39 61 00 20 */ addi r11, r1, 0x20
/* 8003713C 00032D9C 48 18 FF E9 */ bl _savegpr_26
/* 80037140 00032DA0 7C 7A 1B 78 */ mr r26, r3
/* 80037144 00032DA4 7C 9B 23 78 */ mr r27, r4
/* 80037148 00032DA8 48 01 66 C5 */ bl func_8004D80C
/* 8003714C 00032DAC 2C 03 00 00 */ cmpwi r3, 0
/* 80037150 00032DB0 7C 7D 1B 78 */ mr r29, r3
/* 80037154 00032DB4 40 82 00 0C */ bne lbl_80037160
/* 80037158 00032DB8 38 60 00 00 */ li r3, 0
/* 8003715C 00032DBC 48 00 00 60 */ b lbl_800371BC
lbl_80037160:
/* 80037160 00032DC0 7F 5E D3 78 */ mr r30, r26
/* 80037164 00032DC4 3B 80 00 00 */ li r28, 0
/* 80037168 00032DC8 3B E0 00 00 */ li r31, 0
lbl_8003716C:
/* 8003716C 00032DCC 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80037170 00032DD0 2C 04 00 00 */ cmpwi r4, 0
/* 80037174 00032DD4 41 82 00 10 */ beq lbl_80037184
/* 80037178 00032DD8 7F A3 EB 78 */ mr r3, r29
/* 8003717C 00032DDC 48 01 6B 31 */ bl func_8004DCAC
/* 80037180 00032DE0 93 FE 00 14 */ stw r31, 0x14(r30)
lbl_80037184:
/* 80037184 00032DE4 7F A3 EB 78 */ mr r3, r29
/* 80037188 00032DE8 48 01 6A C9 */ bl func_8004DC50
/* 8003718C 00032DEC 90 7E 00 14 */ stw r3, 0x14(r30)
/* 80037190 00032DF0 7F 65 DB 78 */ mr r5, r27
/* 80037194 00032DF4 38 80 00 0C */ li r4, 0xc
/* 80037198 00032DF8 38 C0 00 00 */ li r6, 0
/* 8003719C 00032DFC 48 01 70 99 */ bl func_8004E234
/* 800371A0 00032E00 3B 9C 00 01 */ addi r28, r28, 1
/* 800371A4 00032E04 3B DE 00 04 */ addi r30, r30, 4
/* 800371A8 00032E08 2C 1C 00 06 */ cmpwi r28, 6
/* 800371AC 00032E0C 41 80 FF C0 */ blt lbl_8003716C
/* 800371B0 00032E10 38 00 00 00 */ li r0, 0
/* 800371B4 00032E14 38 60 00 01 */ li r3, 1
/* 800371B8 00032E18 98 1A 00 00 */ stb r0, 0(r26)
lbl_800371BC:
/* 800371BC 00032E1C 39 61 00 20 */ addi r11, r1, 0x20
/* 800371C0 00032E20 48 18 FF B1 */ bl _restgpr_26
/* 800371C4 00032E24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800371C8 00032E28 7C 08 03 A6 */ mtlr r0
/* 800371CC 00032E2C 38 21 00 20 */ addi r1, r1, 0x20
/* 800371D0 00032E30 4E 80 00 20 */ blr
.global func_800371D4
func_800371D4:
/* 800371D4 00032E34 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800371D8 00032E38 7C 08 02 A6 */ mflr r0
/* 800371DC 00032E3C 90 01 00 34 */ stw r0, 0x34(r1)
/* 800371E0 00032E40 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 800371E4 00032E44 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 800371E8 00032E48 39 61 00 20 */ addi r11, r1, 0x20
/* 800371EC 00032E4C 48 18 FF 3D */ bl _savegpr_27
/* 800371F0 00032E50 7C 7B 1B 78 */ mr r27, r3
/* 800371F4 00032E54 48 01 66 19 */ bl func_8004D80C
/* 800371F8 00032E58 2C 03 00 00 */ cmpwi r3, 0
/* 800371FC 00032E5C 7C 7D 1B 78 */ mr r29, r3
/* 80037200 00032E60 41 82 00 64 */ beq lbl_80037264
/* 80037204 00032E64 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
/* 80037208 00032E68 7F 7E DB 78 */ mr r30, r27
/* 8003720C 00032E6C 3B 80 00 00 */ li r28, 0
/* 80037210 00032E70 3B E0 00 00 */ li r31, 0
lbl_80037214:
/* 80037214 00032E74 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 80037218 00032E78 2C 03 00 00 */ cmpwi r3, 0
/* 8003721C 00032E7C 41 82 00 30 */ beq lbl_8003724C
/* 80037220 00032E80 80 63 00 40 */ lwz r3, 0x40(r3)
/* 80037224 00032E84 2C 03 00 00 */ cmpwi r3, 0
/* 80037228 00032E88 41 82 00 14 */ beq lbl_8003723C
/* 8003722C 00032E8C 80 03 01 04 */ lwz r0, 0x104(r3)
/* 80037230 00032E90 60 00 00 04 */ ori r0, r0, 4
/* 80037234 00032E94 90 03 01 04 */ stw r0, 0x104(r3)
/* 80037238 00032E98 D3 E3 01 10 */ stfs f31, 0x110(r3)
lbl_8003723C:
/* 8003723C 00032E9C 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80037240 00032EA0 7F A3 EB 78 */ mr r3, r29
/* 80037244 00032EA4 48 01 6A 69 */ bl func_8004DCAC
/* 80037248 00032EA8 93 FE 00 14 */ stw r31, 0x14(r30)
lbl_8003724C:
/* 8003724C 00032EAC 3B 9C 00 01 */ addi r28, r28, 1
/* 80037250 00032EB0 3B DE 00 04 */ addi r30, r30, 4
/* 80037254 00032EB4 2C 1C 00 06 */ cmpwi r28, 6
/* 80037258 00032EB8 41 80 FF BC */ blt lbl_80037214
/* 8003725C 00032EBC 38 00 00 00 */ li r0, 0
/* 80037260 00032EC0 98 1B 00 00 */ stb r0, 0(r27)
lbl_80037264:
/* 80037264 00032EC4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80037268 00032EC8 39 61 00 20 */ addi r11, r1, 0x20
/* 8003726C 00032ECC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80037270 00032ED0 48 18 FF 05 */ bl _restgpr_27
/* 80037274 00032ED4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80037278 00032ED8 7C 08 03 A6 */ mtlr r0
/* 8003727C 00032EDC 38 21 00 30 */ addi r1, r1, 0x30
/* 80037280 00032EE0 4E 80 00 20 */ blr
.global func_80037284
func_80037284:
/* 80037284 00032EE4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80037288 00032EE8 7C 08 02 A6 */ mflr r0
/* 8003728C 00032EEC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80037290 00032EF0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80037294 00032EF4 7C 7F 1B 78 */ mr r31, r3
/* 80037298 00032EF8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003729C 00032EFC 3B C3 00 04 */ addi r30, r3, 4
/* 800372A0 00032F00 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800372A4 00032F04 3B A3 02 20 */ addi r29, r3, 0x220
lbl_800372A8:
/* 800372A8 00032F08 7F C3 F3 78 */ mr r3, r30
/* 800372AC 00032F0C 48 01 90 79 */ bl func_80050324
/* 800372B0 00032F10 3B DE 00 24 */ addi r30, r30, 0x24
/* 800372B4 00032F14 7C 1E E8 40 */ cmplw r30, r29
/* 800372B8 00032F18 41 80 FF F0 */ blt lbl_800372A8
/* 800372BC 00032F1C 3B DF 04 60 */ addi r30, r31, 0x460
lbl_800372C0:
/* 800372C0 00032F20 7F A3 EB 78 */ mr r3, r29
/* 800372C4 00032F24 48 01 9E 25 */ bl func_800510E8
/* 800372C8 00032F28 3B BD 00 C0 */ addi r29, r29, 0xc0
/* 800372CC 00032F2C 7C 1D F0 40 */ cmplw r29, r30
/* 800372D0 00032F30 41 80 FF F0 */ blt lbl_800372C0
/* 800372D4 00032F34 7F C3 F3 78 */ mr r3, r30
/* 800372D8 00032F38 48 01 92 55 */ bl func_8005052C
/* 800372DC 00032F3C 38 7F 04 94 */ addi r3, r31, 0x494
/* 800372E0 00032F40 48 01 98 55 */ bl func_80050B34
/* 800372E4 00032F44 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 800372E8 00032F48 48 01 98 4D */ bl func_80050B34
/* 800372EC 00032F4C 38 7F 05 24 */ addi r3, r31, 0x524
/* 800372F0 00032F50 48 00 76 21 */ bl func_8003E910
/* 800372F4 00032F54 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800372F8 00032F58 3C 60 00 02 */ lis r3, 0x00020007@ha
/* 800372FC 00032F5C 3B C0 00 00 */ li r30, 0
/* 80037300 00032F60 C0 42 82 24 */ lfs f2, lbl_80640824-_SDA2_BASE_(r2)
/* 80037304 00032F64 C0 22 82 28 */ lfs f1, lbl_80640828-_SDA2_BASE_(r2)
/* 80037308 00032F68 38 03 00 07 */ addi r0, r3, 0x00020007@l
/* 8003730C 00032F6C D0 5F 0C 0C */ stfs f2, 0xc0c(r31)
/* 80037310 00032F70 38 7F 0D 04 */ addi r3, r31, 0xd04
/* 80037314 00032F74 D0 5F 0C 10 */ stfs f2, 0xc10(r31)
/* 80037318 00032F78 D0 5F 0C 14 */ stfs f2, 0xc14(r31)
/* 8003731C 00032F7C D0 3F 0C 18 */ stfs f1, 0xc18(r31)
/* 80037320 00032F80 D0 3F 0C 1C */ stfs f1, 0xc1c(r31)
/* 80037324 00032F84 D0 3F 0C 20 */ stfs f1, 0xc20(r31)
/* 80037328 00032F88 93 DF 0C 24 */ stw r30, 0xc24(r31)
/* 8003732C 00032F8C 93 DF 0B FC */ stw r30, 0xbfc(r31)
/* 80037330 00032F90 93 DF 0C 00 */ stw r30, 0xc00(r31)
/* 80037334 00032F94 93 DF 0C B0 */ stw r30, 0xcb0(r31)
/* 80037338 00032F98 B3 DF 0B F8 */ sth r30, 0xbf8(r31)
/* 8003733C 00032F9C 9B DF 0B F6 */ stb r30, 0xbf6(r31)
/* 80037340 00032FA0 B3 DF 0B F4 */ sth r30, 0xbf4(r31)
/* 80037344 00032FA4 90 1F 00 00 */ stw r0, 0(r31)
/* 80037348 00032FA8 D0 1F 0D 80 */ stfs f0, 0xd80(r31)
/* 8003734C 00032FAC D0 1F 0D 84 */ stfs f0, 0xd84(r31)
/* 80037350 00032FB0 D0 1F 0D 8C */ stfs f0, 0xd8c(r31)
/* 80037354 00032FB4 9B DF 0D 88 */ stb r30, 0xd88(r31)
/* 80037358 00032FB8 9B DF 0D 89 */ stb r30, 0xd89(r31)
/* 8003735C 00032FBC 9B DF 0D 94 */ stb r30, 0xd94(r31)
/* 80037360 00032FC0 93 DF 0C 08 */ stw r30, 0xc08(r31)
/* 80037364 00032FC4 93 DF 0C 04 */ stw r30, 0xc04(r31)
/* 80037368 00032FC8 93 DF 0C 48 */ stw r30, 0xc48(r31)
/* 8003736C 00032FCC 93 DF 0C 4C */ stw r30, 0xc4c(r31)
/* 80037370 00032FD0 93 DF 0C 74 */ stw r30, 0xc74(r31)
/* 80037374 00032FD4 D0 1F 0C 78 */ stfs f0, 0xc78(r31)
/* 80037378 00032FD8 D0 1F 0C 7C */ stfs f0, 0xc7c(r31)
/* 8003737C 00032FDC D0 1F 0C 80 */ stfs f0, 0xc80(r31)
/* 80037380 00032FE0 D0 1F 0C 84 */ stfs f0, 0xc84(r31)
/* 80037384 00032FE4 D0 1F 0C 88 */ stfs f0, 0xc88(r31)
/* 80037388 00032FE8 D0 1F 0C 8C */ stfs f0, 0xc8c(r31)
/* 8003738C 00032FEC 4B FF FD 69 */ bl func_800370F4
/* 80037390 00032FF0 38 7F 0D 30 */ addi r3, r31, 0xd30
/* 80037394 00032FF4 48 00 55 89 */ bl func_8003C91C
/* 80037398 00032FF8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003739C 00032FFC 38 00 FF FF */ li r0, -1
/* 800373A0 00033000 B3 DF 05 0C */ sth r30, 0x50c(r31)
/* 800373A4 00033004 38 7F 05 24 */ addi r3, r31, 0x524
/* 800373A8 00033008 B3 DF 05 10 */ sth r30, 0x510(r31)
/* 800373AC 0003300C B3 DF 05 12 */ sth r30, 0x512(r31)
/* 800373B0 00033010 9B DF 05 16 */ stb r30, 0x516(r31)
/* 800373B4 00033014 B3 DF 05 14 */ sth r30, 0x514(r31)
/* 800373B8 00033018 93 DF 05 18 */ stw r30, 0x518(r31)
/* 800373BC 0003301C B3 DF 05 1C */ sth r30, 0x51c(r31)
/* 800373C0 00033020 9B DF 05 21 */ stb r30, 0x521(r31)
/* 800373C4 00033024 B3 DF 0C 68 */ sth r30, 0xc68(r31)
/* 800373C8 00033028 D0 1F 0D 78 */ stfs f0, 0xd78(r31)
/* 800373CC 0003302C D0 1F 0D 7C */ stfs f0, 0xd7c(r31)
/* 800373D0 00033030 D0 1F 0D 64 */ stfs f0, 0xd64(r31)
/* 800373D4 00033034 D0 1F 0D 68 */ stfs f0, 0xd68(r31)
/* 800373D8 00033038 D0 1F 0D 6C */ stfs f0, 0xd6c(r31)
/* 800373DC 0003303C 93 DF 0D 70 */ stw r30, 0xd70(r31)
/* 800373E0 00033040 90 1F 0D 74 */ stw r0, 0xd74(r31)
/* 800373E4 00033044 48 00 75 BD */ bl func_8003E9A0
/* 800373E8 00033048 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800373EC 0003304C D0 1F 0C 70 */ stfs f0, 0xc70(r31)
/* 800373F0 00033050 48 1E C4 41 */ bl func_80223830
/* 800373F4 00033054 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 800373F8 00033058 80 A3 00 00 */ lwz r5, 0(r3)
/* 800373FC 0003305C 38 84 43 FD */ addi r4, r4, 0x000343FD@l
/* 80037400 00033060 3C 00 43 30 */ lis r0, 0x4330
/* 80037404 00033064 7C 85 21 D6 */ mullw r4, r5, r4
/* 80037408 00033068 90 01 00 08 */ stw r0, 8(r1)
/* 8003740C 0003306C C8 62 82 50 */ lfd f3, lbl_80640850-_SDA2_BASE_(r2)
/* 80037410 00033070 38 E0 00 01 */ li r7, 1
/* 80037414 00033074 C0 02 82 2C */ lfs f0, lbl_8064082C-_SDA2_BASE_(r2)
/* 80037418 00033078 38 C0 00 D4 */ li r6, 0xd4
/* 8003741C 0003307C 3C 84 00 27 */ addis r4, r4, 0x27
/* 80037420 00033080 C1 02 82 30 */ lfs f8, lbl_80640830-_SDA2_BASE_(r2)
/* 80037424 00033084 38 04 9E C3 */ addi r0, r4, -24893
/* 80037428 00033088 C0 C2 82 38 */ lfs f6, lbl_80640838-_SDA2_BASE_(r2)
/* 8003742C 0003308C 54 04 84 3E */ srwi r4, r0, 0x10
/* 80037430 00033090 90 03 00 00 */ stw r0, 0(r3)
/* 80037434 00033094 C0 E2 82 34 */ lfs f7, lbl_80640834-_SDA2_BASE_(r2)
/* 80037438 00033098 38 00 00 C4 */ li r0, 0xc4
/* 8003743C 0003309C 90 81 00 0C */ stw r4, 0xc(r1)
/* 80037440 000330A0 38 7F 0C D8 */ addi r3, r31, 0xcd8
/* 80037444 000330A4 C0 A2 82 20 */ lfs f5, lbl_80640820-_SDA2_BASE_(r2)
/* 80037448 000330A8 38 80 00 00 */ li r4, 0
/* 8003744C 000330AC C8 41 00 08 */ lfd f2, 8(r1)
/* 80037450 000330B0 38 A0 00 2C */ li r5, 0x2c
/* 80037454 000330B4 C0 22 82 48 */ lfs f1, lbl_80640848-_SDA2_BASE_(r2)
/* 80037458 000330B8 ED 22 18 28 */ fsubs f9, f2, f3
/* 8003745C 000330BC C0 82 82 3C */ lfs f4, lbl_8064083C-_SDA2_BASE_(r2)
/* 80037460 000330C0 C0 62 82 40 */ lfs f3, lbl_80640840-_SDA2_BASE_(r2)
/* 80037464 000330C4 C0 42 82 44 */ lfs f2, lbl_80640844-_SDA2_BASE_(r2)
/* 80037468 000330C8 ED 29 00 24 */ fdivs f9, f9, f0
/* 8003746C 000330CC D0 DF 0C 44 */ stfs f6, 0xc44(r31)
/* 80037470 000330D0 C0 02 82 4C */ lfs f0, lbl_8064084C-_SDA2_BASE_(r2)
/* 80037474 000330D4 D0 FF 0C 38 */ stfs f7, 0xc38(r31)
/* 80037478 000330D8 D0 FF 0C 3C */ stfs f7, 0xc3c(r31)
/* 8003747C 000330DC D0 FF 0C 40 */ stfs f7, 0xc40(r31)
/* 80037480 000330E0 EC C8 48 2A */ fadds f6, f8, f9
/* 80037484 000330E4 D0 FF 0C 28 */ stfs f7, 0xc28(r31)
/* 80037488 000330E8 D0 FF 0C 2C */ stfs f7, 0xc2c(r31)
/* 8003748C 000330EC D0 DF 0C 6C */ stfs f6, 0xc6c(r31)
/* 80037490 000330F0 D0 FF 0C 30 */ stfs f7, 0xc30(r31)
/* 80037494 000330F4 D0 BF 0C 34 */ stfs f5, 0xc34(r31)
/* 80037498 000330F8 98 FF 0D B4 */ stb r7, 0xdb4(r31)
/* 8003749C 000330FC 98 FF 0D B5 */ stb r7, 0xdb5(r31)
/* 800374A0 00033100 98 FF 0D B6 */ stb r7, 0xdb6(r31)
/* 800374A4 00033104 D0 9F 0D B8 */ stfs f4, 0xdb8(r31)
/* 800374A8 00033108 D0 7F 0D BC */ stfs f3, 0xdbc(r31)
/* 800374AC 0003310C 98 DF 0D C0 */ stb r6, 0xdc0(r31)
/* 800374B0 00033110 98 DF 0D C1 */ stb r6, 0xdc1(r31)
/* 800374B4 00033114 98 DF 0D C2 */ stb r6, 0xdc2(r31)
/* 800374B8 00033118 98 1F 0D C3 */ stb r0, 0xdc3(r31)
/* 800374BC 0003311C D0 BF 0D C4 */ stfs f5, 0xdc4(r31)
/* 800374C0 00033120 D0 5F 0D C8 */ stfs f2, 0xdc8(r31)
/* 800374C4 00033124 D0 BF 0D CC */ stfs f5, 0xdcc(r31)
/* 800374C8 00033128 D0 3F 0D D0 */ stfs f1, 0xdd0(r31)
/* 800374CC 0003312C D0 3F 0D D4 */ stfs f1, 0xdd4(r31)
/* 800374D0 00033130 D0 3F 0D D8 */ stfs f1, 0xdd8(r31)
/* 800374D4 00033134 D1 1F 0D DC */ stfs f8, 0xddc(r31)
/* 800374D8 00033138 D1 1F 0D E0 */ stfs f8, 0xde0(r31)
/* 800374DC 0003313C D1 1F 0D E4 */ stfs f8, 0xde4(r31)
/* 800374E0 00033140 D1 1F 0D E8 */ stfs f8, 0xde8(r31)
/* 800374E4 00033144 D0 BF 0D EC */ stfs f5, 0xdec(r31)
/* 800374E8 00033148 D0 BF 0D F0 */ stfs f5, 0xdf0(r31)
/* 800374EC 0003314C D0 1F 0D F4 */ stfs f0, 0xdf4(r31)
/* 800374F0 00033150 93 DF 0C 50 */ stw r30, 0xc50(r31)
/* 800374F4 00033154 93 DF 0C 54 */ stw r30, 0xc54(r31)
/* 800374F8 00033158 4B FC CC 0D */ bl memset
/* 800374FC 0003315C 38 7F 0C 90 */ addi r3, r31, 0xc90
/* 80037500 00033160 38 80 00 00 */ li r4, 0
/* 80037504 00033164 38 A0 00 10 */ li r5, 0x10
/* 80037508 00033168 4B FC CB FD */ bl memset
/* 8003750C 0003316C 38 7F 0C 58 */ addi r3, r31, 0xc58
/* 80037510 00033170 38 80 00 00 */ li r4, 0
/* 80037514 00033174 38 A0 00 10 */ li r5, 0x10
/* 80037518 00033178 4B FC CB ED */ bl memset
/* 8003751C 0003317C 7F E3 FB 78 */ mr r3, r31
/* 80037520 00033180 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80037524 00033184 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80037528 00033188 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003752C 0003318C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80037530 00033190 7C 08 03 A6 */ mtlr r0
/* 80037534 00033194 38 21 00 20 */ addi r1, r1, 0x20
/* 80037538 00033198 4E 80 00 20 */ blr
.global func_8003753C
func_8003753C:
/* 8003753C 0003319C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80037540 000331A0 7C 08 02 A6 */ mflr r0
/* 80037544 000331A4 2C 03 00 00 */ cmpwi r3, 0
/* 80037548 000331A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003754C 000331AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80037550 000331B0 7C 9F 23 78 */ mr r31, r4
/* 80037554 000331B4 93 C1 00 08 */ stw r30, 8(r1)
/* 80037558 000331B8 7C 7E 1B 78 */ mr r30, r3
/* 8003755C 000331BC 41 82 00 2C */ beq lbl_80037588
/* 80037560 000331C0 48 00 00 45 */ bl func_800375A4
/* 80037564 000331C4 34 1E 05 1C */ addic. r0, r30, 0x51c
/* 80037568 000331C8 41 82 00 10 */ beq lbl_80037578
/* 8003756C 000331CC 38 7E 05 24 */ addi r3, r30, 0x524
/* 80037570 000331D0 38 80 FF FF */ li r4, -1
/* 80037574 000331D4 48 00 73 D9 */ bl func_8003E94C
lbl_80037578:
/* 80037578 000331D8 2C 1F 00 00 */ cmpwi r31, 0
/* 8003757C 000331DC 40 81 00 0C */ ble lbl_80037588
/* 80037580 000331E0 7F C3 F3 78 */ mr r3, r30
/* 80037584 000331E4 48 1A 35 35 */ bl __dl__FPv
lbl_80037588:
/* 80037588 000331E8 7F C3 F3 78 */ mr r3, r30
/* 8003758C 000331EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80037590 000331F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80037594 000331F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80037598 000331F8 7C 08 03 A6 */ mtlr r0
/* 8003759C 000331FC 38 21 00 10 */ addi r1, r1, 0x10
/* 800375A0 00033200 4E 80 00 20 */ blr
.global func_800375A4
func_800375A4:
/* 800375A4 00033204 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800375A8 00033208 7C 08 02 A6 */ mflr r0
/* 800375AC 0003320C 90 01 00 24 */ stw r0, 0x24(r1)
/* 800375B0 00033210 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800375B4 00033214 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800375B8 00033218 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800375BC 0003321C 93 81 00 10 */ stw r28, 0x10(r1)
/* 800375C0 00033220 7C 7C 1B 78 */ mr r28, r3
/* 800375C4 00033224 48 00 8C 31 */ bl func_800401F4
/* 800375C8 00033228 2C 03 00 00 */ cmpwi r3, 0
/* 800375CC 0003322C 41 82 00 0C */ beq lbl_800375D8
/* 800375D0 00033230 7F 84 E3 78 */ mr r4, r28
/* 800375D4 00033234 48 00 8C 29 */ bl func_800401FC
lbl_800375D8:
/* 800375D8 00033238 7F 9E E3 78 */ mr r30, r28
/* 800375DC 0003323C 3B A0 00 00 */ li r29, 0
/* 800375E0 00033240 3B E0 00 00 */ li r31, 0
lbl_800375E4:
/* 800375E4 00033244 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 800375E8 00033248 2C 03 00 00 */ cmpwi r3, 0
/* 800375EC 0003324C 41 82 00 20 */ beq lbl_8003760C
/* 800375F0 00033250 41 82 00 18 */ beq lbl_80037608
/* 800375F4 00033254 81 83 01 00 */ lwz r12, 0x100(r3)
/* 800375F8 00033258 38 80 00 01 */ li r4, 1
/* 800375FC 0003325C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80037600 00033260 7D 89 03 A6 */ mtctr r12
/* 80037604 00033264 4E 80 04 21 */ bctrl
lbl_80037608:
/* 80037608 00033268 93 FE 0C 90 */ stw r31, 0xc90(r30)
lbl_8003760C:
/* 8003760C 0003326C 3B BD 00 01 */ addi r29, r29, 1
/* 80037610 00033270 3B DE 00 04 */ addi r30, r30, 4
/* 80037614 00033274 2C 1D 00 04 */ cmpwi r29, 4
/* 80037618 00033278 41 80 FF CC */ blt lbl_800375E4
/* 8003761C 0003327C 80 7C 0C 08 */ lwz r3, 0xc08(r28)
/* 80037620 00033280 2C 03 00 00 */ cmpwi r3, 0
/* 80037624 00033284 41 82 00 24 */ beq lbl_80037648
/* 80037628 00033288 41 82 00 18 */ beq lbl_80037640
/* 8003762C 0003328C 81 83 00 0C */ lwz r12, 0xc(r3)
/* 80037630 00033290 38 80 00 01 */ li r4, 1
/* 80037634 00033294 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80037638 00033298 7D 89 03 A6 */ mtctr r12
/* 8003763C 0003329C 4E 80 04 21 */ bctrl
lbl_80037640:
/* 80037640 000332A0 38 00 00 00 */ li r0, 0
/* 80037644 000332A4 90 1C 0C 08 */ stw r0, 0xc08(r28)
lbl_80037648:
/* 80037648 000332A8 80 7C 0C 04 */ lwz r3, 0xc04(r28)
/* 8003764C 000332AC 2C 03 00 00 */ cmpwi r3, 0
/* 80037650 000332B0 41 82 00 08 */ beq lbl_80037658
/* 80037654 000332B4 48 1B ED 3D */ bl func_801F6390
lbl_80037658:
/* 80037658 000332B8 80 7C 0C 00 */ lwz r3, 0xc00(r28)
/* 8003765C 000332BC 2C 03 00 00 */ cmpwi r3, 0
/* 80037660 000332C0 41 82 00 14 */ beq lbl_80037674
/* 80037664 000332C4 38 80 00 01 */ li r4, 1
/* 80037668 000332C8 48 1C 2C 2D */ bl func_801FA294
/* 8003766C 000332CC 38 00 00 00 */ li r0, 0
/* 80037670 000332D0 90 1C 0C 00 */ stw r0, 0xc00(r28)
lbl_80037674:
/* 80037674 000332D4 38 7C 0D 04 */ addi r3, r28, 0xd04
/* 80037678 000332D8 4B FF FB 5D */ bl func_800371D4
/* 8003767C 000332DC 80 7C 0B FC */ lwz r3, 0xbfc(r28)
/* 80037680 000332E0 2C 03 00 00 */ cmpwi r3, 0
/* 80037684 000332E4 41 82 00 70 */ beq lbl_800376F4
/* 80037688 000332E8 80 1C 00 00 */ lwz r0, 0(r28)
/* 8003768C 000332EC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 80037690 000332F0 41 82 00 14 */ beq lbl_800376A4
/* 80037694 000332F4 48 1A C1 5D */ bl func_801E37F0
/* 80037698 000332F8 80 7C 0B FC */ lwz r3, 0xbfc(r28)
/* 8003769C 000332FC 48 1A 38 09 */ bl func_801DAEA4
/* 800376A0 00033300 48 00 00 4C */ b lbl_800376EC
lbl_800376A4:
/* 800376A4 00033304 80 7C 0C 48 */ lwz r3, 0xc48(r28)
/* 800376A8 00033308 80 9C 0C 4C */ lwz r4, 0xc4c(r28)
/* 800376AC 0003330C 48 1A 3E 9D */ bl func_801DB548
/* 800376B0 00033310 3B BC 0C 58 */ addi r29, r28, 0xc58
/* 800376B4 00033314 3B FC 0C 68 */ addi r31, r28, 0xc68
/* 800376B8 00033318 48 00 00 1C */ b lbl_800376D4
lbl_800376BC:
/* 800376BC 0003331C 80 7D 00 00 */ lwz r3, 0(r29)
/* 800376C0 00033320 2C 03 00 00 */ cmpwi r3, 0
/* 800376C4 00033324 41 82 00 0C */ beq lbl_800376D0
/* 800376C8 00033328 80 9D 00 04 */ lwz r4, 4(r29)
/* 800376CC 0003332C 48 1A 3E 7D */ bl func_801DB548
lbl_800376D0:
/* 800376D0 00033330 3B BD 00 08 */ addi r29, r29, 8
lbl_800376D4:
/* 800376D4 00033334 7C 1D F8 40 */ cmplw r29, r31
/* 800376D8 00033338 40 82 FF E4 */ bne lbl_800376BC
/* 800376DC 0003333C 38 7C 0C 58 */ addi r3, r28, 0xc58
/* 800376E0 00033340 38 80 00 00 */ li r4, 0
/* 800376E4 00033344 38 A0 00 10 */ li r5, 0x10
/* 800376E8 00033348 4B FC CA 1D */ bl memset
lbl_800376EC:
/* 800376EC 0003334C 38 00 00 00 */ li r0, 0
/* 800376F0 00033350 90 1C 0B FC */ stw r0, 0xbfc(r28)
lbl_800376F4:
/* 800376F4 00033354 38 7C 0C D8 */ addi r3, r28, 0xcd8
/* 800376F8 00033358 4B FF F9 09 */ bl func_80037000
/* 800376FC 0003335C 38 7C 05 24 */ addi r3, r28, 0x524
/* 80037700 00033360 48 00 73 B1 */ bl func_8003EAB0
/* 80037704 00033364 3C 60 00 02 */ lis r3, 0x00020807@ha
/* 80037708 00033368 80 9C 00 00 */ lwz r4, 0(r28)
/* 8003770C 0003336C 38 03 08 07 */ addi r0, r3, 0x00020807@l
/* 80037710 00033370 38 60 00 00 */ li r3, 0
/* 80037714 00033374 7C 80 00 38 */ and r0, r4, r0
/* 80037718 00033378 90 7C 0C 48 */ stw r3, 0xc48(r28)
/* 8003771C 0003337C 90 7C 0C 4C */ stw r3, 0xc4c(r28)
/* 80037720 00033380 90 7C 0C 04 */ stw r3, 0xc04(r28)
/* 80037724 00033384 90 1C 00 00 */ stw r0, 0(r28)
/* 80037728 00033388 B0 7C 05 10 */ sth r3, 0x510(r28)
/* 8003772C 0003338C B0 7C 05 12 */ sth r3, 0x512(r28)
/* 80037730 00033390 98 7C 05 16 */ stb r3, 0x516(r28)
/* 80037734 00033394 B0 7C 05 14 */ sth r3, 0x514(r28)
/* 80037738 00033398 90 7C 05 18 */ stw r3, 0x518(r28)
/* 8003773C 0003339C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80037740 000333A0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80037744 000333A4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80037748 000333A8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003774C 000333AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80037750 000333B0 7C 08 03 A6 */ mtlr r0
/* 80037754 000333B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80037758 000333B8 4E 80 00 20 */ blr
.global func_8003775C
func_8003775C:
/* 8003775C 000333BC 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 80037760 000333C0 7C 08 02 A6 */ mflr r0
/* 80037764 000333C4 38 AD 80 D0 */ addi r5, r13, lbl_8063D390-_SDA_BASE_
/* 80037768 000333C8 90 01 01 44 */ stw r0, 0x144(r1)
/* 8003776C 000333CC 93 E1 01 3C */ stw r31, 0x13c(r1)
/* 80037770 000333D0 93 C1 01 38 */ stw r30, 0x138(r1)
/* 80037774 000333D4 7C 9E 23 78 */ mr r30, r4
/* 80037778 000333D8 3C 80 80 41 */ lis r4, lbl_8040A404@ha
/* 8003777C 000333DC 93 A1 01 34 */ stw r29, 0x134(r1)
/* 80037780 000333E0 7C 7D 1B 78 */ mr r29, r3
/* 80037784 000333E4 38 61 00 28 */ addi r3, r1, 0x28
/* 80037788 000333E8 7F C6 F3 78 */ mr r6, r30
/* 8003778C 000333EC 38 84 A4 04 */ addi r4, r4, lbl_8040A404@l
/* 80037790 000333F0 4C C6 31 82 */ crclr 6
/* 80037794 000333F4 48 19 53 69 */ bl sprintf
/* 80037798 000333F8 48 1A 37 61 */ bl func_801DAEF8
/* 8003779C 000333FC 38 61 00 28 */ addi r3, r1, 0x28
/* 800377A0 00033400 38 81 00 08 */ addi r4, r1, 8
/* 800377A4 00033404 48 1A 54 1D */ bl func_801DCBC0
/* 800377A8 00033408 2C 03 00 00 */ cmpwi r3, 0
/* 800377AC 0003340C 7C 7F 1B 78 */ mr r31, r3
/* 800377B0 00033410 40 82 00 0C */ bne lbl_800377BC
/* 800377B4 00033414 38 60 00 00 */ li r3, 0
/* 800377B8 00033418 48 00 01 50 */ b lbl_80037908
lbl_800377BC:
/* 800377BC 0003341C 7F E4 FB 78 */ mr r4, r31
/* 800377C0 00033420 48 1A BD 1D */ bl func_801E34DC
/* 800377C4 00033424 48 1A 33 65 */ bl func_801DAB28
/* 800377C8 00033428 2C 03 00 00 */ cmpwi r3, 0
/* 800377CC 0003342C 41 82 00 14 */ beq lbl_800377E0
/* 800377D0 00033430 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 800377D4 00033434 38 80 00 14 */ li r4, 0x14
/* 800377D8 00033438 48 1A 34 BD */ bl func_801DAC94
/* 800377DC 0003343C 48 00 00 08 */ b lbl_800377E4
lbl_800377E0:
/* 800377E0 00033440 38 60 00 00 */ li r3, 0
lbl_800377E4:
/* 800377E4 00033444 2C 03 00 00 */ cmpwi r3, 0
/* 800377E8 00033448 41 82 00 0C */ beq lbl_800377F4
/* 800377EC 0003344C 7F E4 FB 78 */ mr r4, r31
/* 800377F0 00033450 48 1C 28 A5 */ bl func_801FA094
lbl_800377F4:
/* 800377F4 00033454 90 7D 0C 00 */ stw r3, 0xc00(r29)
/* 800377F8 00033458 48 1A 37 01 */ bl func_801DAEF8
/* 800377FC 0003345C 80 7D 0C 00 */ lwz r3, 0xc00(r29)
/* 80037800 00033460 80 83 00 04 */ lwz r4, 4(r3)
/* 80037804 00033464 2C 04 00 00 */ cmpwi r4, 0
/* 80037808 00033468 40 82 00 0C */ bne lbl_80037814
/* 8003780C 0003346C 38 00 00 00 */ li r0, 0
/* 80037810 00033470 48 00 00 20 */ b lbl_80037830
lbl_80037814:
/* 80037814 00033474 80 63 00 00 */ lwz r3, 0(r3)
/* 80037818 00033478 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003781C 0003347C 2C 00 00 00 */ cmpwi r0, 0
/* 80037820 00033480 40 82 00 0C */ bne lbl_8003782C
/* 80037824 00033484 38 00 00 00 */ li r0, 0
/* 80037828 00033488 48 00 00 08 */ b lbl_80037830
lbl_8003782C:
/* 8003782C 0003348C 80 04 00 00 */ lwz r0, 0(r4)
lbl_80037830:
/* 80037830 00033490 90 1D 0C 04 */ stw r0, 0xc04(r29)
/* 80037834 00033494 7F A3 EB 78 */ mr r3, r29
/* 80037838 00033498 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003783C 0003349C 38 81 00 18 */ addi r4, r1, 0x18
/* 80037840 000334A0 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 80037844 000334A4 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80037848 000334A8 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8003784C 000334AC D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80037850 000334B0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80037854 000334B4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80037858 000334B8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003785C 000334BC 48 00 0F C1 */ bl func_8003881C
/* 80037860 000334C0 7F A3 EB 78 */ mr r3, r29
/* 80037864 000334C4 38 81 00 18 */ addi r4, r1, 0x18
/* 80037868 000334C8 48 00 12 69 */ bl func_80038AD0
/* 8003786C 000334CC 7F A3 EB 78 */ mr r3, r29
/* 80037870 000334D0 38 81 00 0C */ addi r4, r1, 0xc
/* 80037874 000334D4 48 00 10 DD */ bl func_80038950
/* 80037878 000334D8 80 7D 0C 04 */ lwz r3, 0xc04(r29)
/* 8003787C 000334DC 38 80 00 00 */ li r4, 0
/* 80037880 000334E0 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80037884 000334E4 38 A0 00 01 */ li r5, 1
/* 80037888 000334E8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003788C 000334EC 38 C0 00 00 */ li r6, 0
/* 80037890 000334F0 38 E0 00 00 */ li r7, 0
/* 80037894 000334F4 39 00 00 00 */ li r8, 0
/* 80037898 000334F8 48 1B D5 5D */ bl func_801F4DF4
/* 8003789C 000334FC 80 7D 0C 04 */ lwz r3, 0xc04(r29)
/* 800378A0 00033500 38 80 00 01 */ li r4, 1
/* 800378A4 00033504 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 800378A8 00033508 48 1B EF A1 */ bl func_801F6848
/* 800378AC 0003350C 80 BD 0C 04 */ lwz r5, 0xc04(r29)
/* 800378B0 00033510 7F A3 EB 78 */ mr r3, r29
/* 800378B4 00033514 80 1D 00 00 */ lwz r0, 0(r29)
/* 800378B8 00033518 7F C4 F3 78 */ mr r4, r30
/* 800378BC 0003351C C0 05 01 20 */ lfs f0, 0x120(r5)
/* 800378C0 00033520 60 00 00 80 */ ori r0, r0, 0x80
/* 800378C4 00033524 D0 1D 0C 0C */ stfs f0, 0xc0c(r29)
/* 800378C8 00033528 C0 05 01 24 */ lfs f0, 0x124(r5)
/* 800378CC 0003352C D0 1D 0C 10 */ stfs f0, 0xc10(r29)
/* 800378D0 00033530 C0 05 01 28 */ lfs f0, 0x128(r5)
/* 800378D4 00033534 D0 1D 0C 14 */ stfs f0, 0xc14(r29)
/* 800378D8 00033538 C0 05 01 2C */ lfs f0, 0x12c(r5)
/* 800378DC 0003353C D0 1D 0C 18 */ stfs f0, 0xc18(r29)
/* 800378E0 00033540 C0 05 01 30 */ lfs f0, 0x130(r5)
/* 800378E4 00033544 D0 1D 0C 1C */ stfs f0, 0xc1c(r29)
/* 800378E8 00033548 C0 05 01 34 */ lfs f0, 0x134(r5)
/* 800378EC 0003354C D0 1D 0C 20 */ stfs f0, 0xc20(r29)
/* 800378F0 00033550 80 A5 01 38 */ lwz r5, 0x138(r5)
/* 800378F4 00033554 90 BD 0C 24 */ stw r5, 0xc24(r29)
/* 800378F8 00033558 93 FD 0B FC */ stw r31, 0xbfc(r29)
/* 800378FC 0003355C 90 1D 00 00 */ stw r0, 0(r29)
/* 80037900 00033560 48 00 0C 19 */ bl func_80038518
/* 80037904 00033564 38 60 00 01 */ li r3, 1
lbl_80037908:
/* 80037908 00033568 80 01 01 44 */ lwz r0, 0x144(r1)
/* 8003790C 0003356C 83 E1 01 3C */ lwz r31, 0x13c(r1)
/* 80037910 00033570 83 C1 01 38 */ lwz r30, 0x138(r1)
/* 80037914 00033574 83 A1 01 34 */ lwz r29, 0x134(r1)
/* 80037918 00033578 7C 08 03 A6 */ mtlr r0
/* 8003791C 0003357C 38 21 01 40 */ addi r1, r1, 0x140
/* 80037920 00033580 4E 80 00 20 */ blr
.global func_80037924
func_80037924:
/* 80037924 00033584 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80037928 00033588 7C 08 02 A6 */ mflr r0
/* 8003792C 0003358C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80037930 00033590 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80037934 00033594 7C BF 2B 78 */ mr r31, r5
/* 80037938 00033598 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003793C 0003359C 7C 9E 23 78 */ mr r30, r4
/* 80037940 000335A0 7F E4 FB 78 */ mr r4, r31
/* 80037944 000335A4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80037948 000335A8 7C 7D 1B 78 */ mr r29, r3
/* 8003794C 000335AC 7F C3 F3 78 */ mr r3, r30
/* 80037950 000335B0 48 1A 3B 6D */ bl func_801DB4BC
/* 80037954 000335B4 2C 03 00 00 */ cmpwi r3, 0
/* 80037958 000335B8 90 7D 0B FC */ stw r3, 0xbfc(r29)
/* 8003795C 000335BC 40 82 00 0C */ bne lbl_80037968
/* 80037960 000335C0 38 60 00 00 */ li r3, 0
/* 80037964 000335C4 48 00 00 28 */ b lbl_8003798C
lbl_80037968:
/* 80037968 000335C8 80 1D 00 00 */ lwz r0, 0(r29)
/* 8003796C 000335CC 7F A3 EB 78 */ mr r3, r29
/* 80037970 000335D0 93 DD 0C 48 */ stw r30, 0xc48(r29)
/* 80037974 000335D4 38 8D 80 D8 */ addi r4, r13, lbl_8063D398-_SDA_BASE_
/* 80037978 000335D8 60 00 00 10 */ ori r0, r0, 0x10
/* 8003797C 000335DC 93 FD 0C 4C */ stw r31, 0xc4c(r29)
/* 80037980 000335E0 90 1D 00 00 */ stw r0, 0(r29)
/* 80037984 000335E4 48 00 0B 95 */ bl func_80038518
/* 80037988 000335E8 38 60 00 01 */ li r3, 1
lbl_8003798C:
/* 8003798C 000335EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80037990 000335F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80037994 000335F4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80037998 000335F8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003799C 000335FC 7C 08 03 A6 */ mtlr r0
/* 800379A0 00033600 38 21 00 20 */ addi r1, r1, 0x20
/* 800379A4 00033604 4E 80 00 20 */ blr
.global func_800379A8
func_800379A8:
/* 800379A8 00033608 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 800379AC 0003360C 7C 08 02 A6 */ mflr r0
/* 800379B0 00033610 90 01 00 44 */ stw r0, 0x44(r1)
/* 800379B4 00033614 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 800379B8 00033618 7C 7F 1B 78 */ mr r31, r3
/* 800379BC 0003361C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 800379C0 00033620 93 A1 00 34 */ stw r29, 0x34(r1)
/* 800379C4 00033624 80 83 00 00 */ lwz r4, 0(r3)
/* 800379C8 00033628 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15
/* 800379CC 0003362C 41 82 00 14 */ beq lbl_800379E0
/* 800379D0 00033630 54 80 05 A8 */ rlwinm r0, r4, 0, 0x16, 0x14
/* 800379D4 00033634 A0 83 0C 68 */ lhz r4, 0xc68(r3)
/* 800379D8 00033638 90 03 00 00 */ stw r0, 0(r3)
/* 800379DC 0003363C 48 00 0B 55 */ bl func_80038530
lbl_800379E0:
/* 800379E0 00033640 80 7F 00 00 */ lwz r3, 0(r31)
/* 800379E4 00033644 54 60 05 AD */ rlwinm. r0, r3, 0, 0x16, 0x16
/* 800379E8 00033648 41 82 00 20 */ beq lbl_80037A08
/* 800379EC 0003364C A0 1F 05 0C */ lhz r0, 0x50c(r31)
/* 800379F0 00033650 54 63 05 EA */ rlwinm r3, r3, 0, 0x17, 0x15
/* 800379F4 00033654 90 7F 00 00 */ stw r3, 0(r31)
/* 800379F8 00033658 28 00 00 02 */ cmplwi r0, 2
/* 800379FC 0003365C 40 82 00 0C */ bne lbl_80037A08
/* 80037A00 00033660 7F E3 FB 78 */ mr r3, r31
/* 80037A04 00033664 48 00 5A 31 */ bl func_8003D434
lbl_80037A08:
/* 80037A08 00033668 80 7F 00 00 */ lwz r3, 0(r31)
/* 80037A0C 0003366C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 80037A10 00033670 41 82 02 FC */ beq lbl_80037D0C
/* 80037A14 00033674 80 1F 0B FC */ lwz r0, 0xbfc(r31)
/* 80037A18 00033678 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a
/* 80037A1C 0003367C 90 7F 00 00 */ stw r3, 0(r31)
/* 80037A20 00033680 2C 00 00 00 */ cmpwi r0, 0
/* 80037A24 00033684 41 82 02 BC */ beq lbl_80037CE0
/* 80037A28 00033688 80 7F 0C 00 */ lwz r3, 0xc00(r31)
/* 80037A2C 0003368C 2C 03 00 00 */ cmpwi r3, 0
/* 80037A30 00033690 41 82 00 0C */ beq lbl_80037A3C
/* 80037A34 00033694 38 80 00 01 */ li r4, 1
/* 80037A38 00033698 48 1C 28 5D */ bl func_801FA294
lbl_80037A3C:
/* 80037A3C 0003369C 48 1A 30 ED */ bl func_801DAB28
/* 80037A40 000336A0 2C 03 00 00 */ cmpwi r3, 0
/* 80037A44 000336A4 41 82 00 14 */ beq lbl_80037A58
/* 80037A48 000336A8 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80037A4C 000336AC 38 80 00 14 */ li r4, 0x14
/* 80037A50 000336B0 48 1A 32 45 */ bl func_801DAC94
/* 80037A54 000336B4 48 00 00 08 */ b lbl_80037A5C
lbl_80037A58:
/* 80037A58 000336B8 38 60 00 00 */ li r3, 0
lbl_80037A5C:
/* 80037A5C 000336BC 2C 03 00 00 */ cmpwi r3, 0
/* 80037A60 000336C0 41 82 00 0C */ beq lbl_80037A6C
/* 80037A64 000336C4 80 9F 0B FC */ lwz r4, 0xbfc(r31)
/* 80037A68 000336C8 48 1C 26 2D */ bl func_801FA094
lbl_80037A6C:
/* 80037A6C 000336CC 90 7F 0C 00 */ stw r3, 0xc00(r31)
/* 80037A70 000336D0 80 83 00 04 */ lwz r4, 4(r3)
/* 80037A74 000336D4 2C 04 00 00 */ cmpwi r4, 0
/* 80037A78 000336D8 40 82 00 0C */ bne lbl_80037A84
/* 80037A7C 000336DC 38 60 00 00 */ li r3, 0
/* 80037A80 000336E0 48 00 00 20 */ b lbl_80037AA0
lbl_80037A84:
/* 80037A84 000336E4 80 63 00 00 */ lwz r3, 0(r3)
/* 80037A88 000336E8 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 80037A8C 000336EC 2C 00 00 00 */ cmpwi r0, 0
/* 80037A90 000336F0 40 82 00 0C */ bne lbl_80037A9C
/* 80037A94 000336F4 38 60 00 00 */ li r3, 0
/* 80037A98 000336F8 48 00 00 08 */ b lbl_80037AA0
lbl_80037A9C:
/* 80037A9C 000336FC 80 64 00 00 */ lwz r3, 0(r4)
lbl_80037AA0:
/* 80037AA0 00033700 80 1F 00 00 */ lwz r0, 0(r31)
/* 80037AA4 00033704 90 7F 0C 04 */ stw r3, 0xc04(r31)
/* 80037AA8 00033708 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14
/* 80037AAC 0003370C 41 82 00 10 */ beq lbl_80037ABC
/* 80037AB0 00033710 48 1C BD 61 */ bl func_80203810
/* 80037AB4 00033714 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80037AB8 00033718 48 1C 8D A1 */ bl func_80200858
lbl_80037ABC:
/* 80037ABC 0003371C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80037AC0 00033720 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 80037AC4 00033724 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80037AC8 00033728 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80037ACC 0003372C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80037AD0 00033730 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80037AD4 00033734 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80037AD8 00033738 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80037ADC 0003373C D0 21 00 08 */ stfs f1, 8(r1)
/* 80037AE0 00033740 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80037AE4 00033744 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80037AE8 00033748 A0 1F 05 0C */ lhz r0, 0x50c(r31)
/* 80037AEC 0003374C 28 00 00 03 */ cmplwi r0, 3
/* 80037AF0 00033750 41 82 00 14 */ beq lbl_80037B04
/* 80037AF4 00033754 C0 02 82 58 */ lfs f0, lbl_80640858-_SDA2_BASE_(r2)
/* 80037AF8 00033758 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80037AFC 0003375C D0 01 00 08 */ stfs f0, 8(r1)
/* 80037B00 00033760 D0 21 00 10 */ stfs f1, 0x10(r1)
lbl_80037B04:
/* 80037B04 00033764 7F E3 FB 78 */ mr r3, r31
/* 80037B08 00033768 38 81 00 08 */ addi r4, r1, 8
/* 80037B0C 0003376C 48 00 0D 11 */ bl func_8003881C
/* 80037B10 00033770 7F E3 FB 78 */ mr r3, r31
/* 80037B14 00033774 38 81 00 20 */ addi r4, r1, 0x20
/* 80037B18 00033778 48 00 0F B9 */ bl func_80038AD0
/* 80037B1C 0003377C 7F E3 FB 78 */ mr r3, r31
/* 80037B20 00033780 38 81 00 14 */ addi r4, r1, 0x14
/* 80037B24 00033784 48 00 0E 2D */ bl func_80038950
/* 80037B28 00033788 A0 1F 05 0C */ lhz r0, 0x50c(r31)
/* 80037B2C 0003378C 28 00 00 01 */ cmplwi r0, 1
/* 80037B30 00033790 40 82 01 04 */ bne lbl_80037C34
/* 80037B34 00033794 A0 1F 05 10 */ lhz r0, 0x510(r31)
/* 80037B38 00033798 2C 00 01 47 */ cmpwi r0, 0x147
/* 80037B3C 0003379C 41 82 00 14 */ beq lbl_80037B50
/* 80037B40 000337A0 40 80 00 F4 */ bge lbl_80037C34
/* 80037B44 000337A4 2C 00 01 3C */ cmpwi r0, 0x13c
/* 80037B48 000337A8 41 82 00 E4 */ beq lbl_80037C2C
/* 80037B4C 000337AC 48 00 00 E8 */ b lbl_80037C34
lbl_80037B50:
/* 80037B50 000337B0 3C 80 09 31 */ lis r4, 0x09310C00@ha
/* 80037B54 000337B4 80 7F 0C 48 */ lwz r3, 0xc48(r31)
/* 80037B58 000337B8 38 84 0C 00 */ addi r4, r4, 0x09310C00@l
/* 80037B5C 000337BC 48 1A 39 61 */ bl func_801DB4BC
/* 80037B60 000337C0 2C 03 00 00 */ cmpwi r3, 0
/* 80037B64 000337C4 7C 7E 1B 78 */ mr r30, r3
/* 80037B68 000337C8 41 82 00 CC */ beq lbl_80037C34
/* 80037B6C 000337CC 3C 80 09 30 */ lis r4, 0x09300C00@ha
/* 80037B70 000337D0 80 7F 0C 48 */ lwz r3, 0xc48(r31)
/* 80037B74 000337D4 38 84 0C 00 */ addi r4, r4, 0x09300C00@l
/* 80037B78 000337D8 48 1A 39 45 */ bl func_801DB4BC
/* 80037B7C 000337DC 2C 03 00 00 */ cmpwi r3, 0
/* 80037B80 000337E0 7C 7D 1B 78 */ mr r29, r3
/* 80037B84 000337E4 41 82 00 B0 */ beq lbl_80037C34
/* 80037B88 000337E8 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80037B8C 000337EC 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80037B90 000337F0 2C 04 00 00 */ cmpwi r4, 0
/* 80037B94 000337F4 40 82 00 0C */ bne lbl_80037BA0
/* 80037B98 000337F8 38 60 00 00 */ li r3, 0
/* 80037B9C 000337FC 48 00 00 20 */ b lbl_80037BBC
lbl_80037BA0:
/* 80037BA0 00033800 A0 03 00 E6 */ lhz r0, 0xe6(r3)
/* 80037BA4 00033804 28 00 00 06 */ cmplwi r0, 6
/* 80037BA8 00033808 41 81 00 0C */ bgt lbl_80037BB4
/* 80037BAC 0003380C 38 60 00 00 */ li r3, 0
/* 80037BB0 00033810 48 00 00 0C */ b lbl_80037BBC
lbl_80037BB4:
/* 80037BB4 00033814 80 64 00 18 */ lwz r3, 0x18(r4)
/* 80037BB8 00033818 80 63 00 14 */ lwz r3, 0x14(r3)
lbl_80037BBC:
/* 80037BBC 0003381C 2C 03 00 00 */ cmpwi r3, 0
/* 80037BC0 00033820 41 82 00 74 */ beq lbl_80037C34
/* 80037BC4 00033824 80 DF 05 18 */ lwz r6, 0x518(r31)
/* 80037BC8 00033828 7F C4 F3 78 */ mr r4, r30
/* 80037BCC 0003382C 7F A5 EB 78 */ mr r5, r29
/* 80037BD0 00033830 38 ED A3 E4 */ addi r7, r13, lbl_8063F6A4-_SDA_BASE_
/* 80037BD4 00033834 48 1A F3 A5 */ bl func_801E6F78
/* 80037BD8 00033838 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80037BDC 0003383C 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80037BE0 00033840 2C 04 00 00 */ cmpwi r4, 0
/* 80037BE4 00033844 40 82 00 0C */ bne lbl_80037BF0
/* 80037BE8 00033848 38 60 00 00 */ li r3, 0
/* 80037BEC 0003384C 48 00 00 20 */ b lbl_80037C0C
lbl_80037BF0:
/* 80037BF0 00033850 A0 03 00 E6 */ lhz r0, 0xe6(r3)
/* 80037BF4 00033854 28 00 00 08 */ cmplwi r0, 8
/* 80037BF8 00033858 41 81 00 0C */ bgt lbl_80037C04
/* 80037BFC 0003385C 38 60 00 00 */ li r3, 0
/* 80037C00 00033860 48 00 00 0C */ b lbl_80037C0C
lbl_80037C04:
/* 80037C04 00033864 80 64 00 20 */ lwz r3, 0x20(r4)
/* 80037C08 00033868 80 63 00 14 */ lwz r3, 0x14(r3)
lbl_80037C0C:
/* 80037C0C 0003386C 2C 03 00 00 */ cmpwi r3, 0
/* 80037C10 00033870 41 82 00 24 */ beq lbl_80037C34
/* 80037C14 00033874 80 DF 05 18 */ lwz r6, 0x518(r31)
/* 80037C18 00033878 7F C4 F3 78 */ mr r4, r30
/* 80037C1C 0003387C 7F A5 EB 78 */ mr r5, r29
/* 80037C20 00033880 38 ED A3 E4 */ addi r7, r13, lbl_8063F6A4-_SDA_BASE_
/* 80037C24 00033884 48 1A F3 55 */ bl func_801E6F78
/* 80037C28 00033888 48 00 00 0C */ b lbl_80037C34
lbl_80037C2C:
/* 80037C2C 0003388C 38 00 00 01 */ li r0, 1
/* 80037C30 00033890 98 1F 0D 89 */ stb r0, 0xd89(r31)
lbl_80037C34:
/* 80037C34 00033894 7F E3 FB 78 */ mr r3, r31
/* 80037C38 00033898 38 80 00 00 */ li r4, 0
/* 80037C3C 0003389C 48 00 46 21 */ bl func_8003C25C
/* 80037C40 000338A0 7C 60 1B 78 */ mr r0, r3
/* 80037C44 000338A4 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80037C48 000338A8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80037C4C 000338AC 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80037C50 000338B0 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 80037C54 000338B4 38 A0 00 01 */ li r5, 1
/* 80037C58 000338B8 38 C0 00 00 */ li r6, 0
/* 80037C5C 000338BC 38 E0 00 00 */ li r7, 0
/* 80037C60 000338C0 39 00 00 00 */ li r8, 0
/* 80037C64 000338C4 48 1B D1 91 */ bl func_801F4DF4
/* 80037C68 000338C8 38 00 00 00 */ li r0, 0
/* 80037C6C 000338CC 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80037C70 000338D0 98 1F 0B F6 */ stb r0, 0xbf6(r31)
/* 80037C74 000338D4 38 80 00 01 */ li r4, 1
/* 80037C78 000338D8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80037C7C 000338DC 48 1B EB CD */ bl func_801F6848
/* 80037C80 000338E0 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 80037C84 000338E4 80 7F 0C 00 */ lwz r3, 0xc00(r31)
/* 80037C88 000338E8 C0 04 01 20 */ lfs f0, 0x120(r4)
/* 80037C8C 000338EC D0 1F 0C 0C */ stfs f0, 0xc0c(r31)
/* 80037C90 000338F0 C0 04 01 24 */ lfs f0, 0x124(r4)
/* 80037C94 000338F4 D0 1F 0C 10 */ stfs f0, 0xc10(r31)
/* 80037C98 000338F8 C0 04 01 28 */ lfs f0, 0x128(r4)
/* 80037C9C 000338FC D0 1F 0C 14 */ stfs f0, 0xc14(r31)
/* 80037CA0 00033900 C0 04 01 2C */ lfs f0, 0x12c(r4)
/* 80037CA4 00033904 D0 1F 0C 18 */ stfs f0, 0xc18(r31)
/* 80037CA8 00033908 C0 04 01 30 */ lfs f0, 0x130(r4)
/* 80037CAC 0003390C D0 1F 0C 1C */ stfs f0, 0xc1c(r31)
/* 80037CB0 00033910 C0 04 01 34 */ lfs f0, 0x134(r4)
/* 80037CB4 00033914 D0 1F 0C 20 */ stfs f0, 0xc20(r31)
/* 80037CB8 00033918 80 04 01 38 */ lwz r0, 0x138(r4)
/* 80037CBC 0003391C 90 1F 0C 24 */ stw r0, 0xc24(r31)
/* 80037CC0 00033920 80 83 00 00 */ lwz r4, 0(r3)
/* 80037CC4 00033924 80 04 00 24 */ lwz r0, 0x24(r4)
/* 80037CC8 00033928 2C 00 00 00 */ cmpwi r0, 0
/* 80037CCC 0003392C 40 82 00 10 */ bne lbl_80037CDC
/* 80037CD0 00033930 A0 1F 05 0C */ lhz r0, 0x50c(r31)
/* 80037CD4 00033934 28 00 00 03 */ cmplwi r0, 3
/* 80037CD8 00033938 40 82 00 08 */ bne lbl_80037CE0
lbl_80037CDC:
/* 80037CDC 0003393C 48 1C AC F5 */ bl func_802029D0
lbl_80037CE0:
/* 80037CE0 00033940 A0 1F 05 0C */ lhz r0, 0x50c(r31)
/* 80037CE4 00033944 28 00 00 02 */ cmplwi r0, 2
/* 80037CE8 00033948 40 82 00 0C */ bne lbl_80037CF4
/* 80037CEC 0003394C 7F E3 FB 78 */ mr r3, r31
/* 80037CF0 00033950 48 00 57 45 */ bl func_8003D434
lbl_80037CF4:
/* 80037CF4 00033954 80 9F 00 00 */ lwz r4, 0(r31)
/* 80037CF8 00033958 7F E3 FB 78 */ mr r3, r31
/* 80037CFC 0003395C 54 80 04 5E */ rlwinm r0, r4, 0, 0x11, 0xf
/* 80037D00 00033960 54 84 07 FE */ clrlwi r4, r4, 0x1f
/* 80037D04 00033964 90 1F 00 00 */ stw r0, 0(r31)
/* 80037D08 00033968 48 00 00 25 */ bl func_80037D2C
lbl_80037D0C:
/* 80037D0C 0003396C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80037D10 00033970 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80037D14 00033974 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80037D18 00033978 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 80037D1C 0003397C 7C 08 03 A6 */ mtlr r0
/* 80037D20 00033980 38 21 00 40 */ addi r1, r1, 0x40
/* 80037D24 00033984 4E 80 00 20 */ blr
.global func_80037D28
func_80037D28:
/* 80037D28 00033988 4B FF F8 7C */ b func_800375A4
.global func_80037D2C
func_80037D2C:
/* 80037D2C 0003398C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80037D30 00033990 7C 08 02 A6 */ mflr r0
/* 80037D34 00033994 90 01 00 14 */ stw r0, 0x14(r1)
/* 80037D38 00033998 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80037D3C 0003399C 7C 7F 1B 78 */ mr r31, r3
/* 80037D40 000339A0 93 C1 00 08 */ stw r30, 8(r1)
/* 80037D44 000339A4 7C 9E 23 78 */ mr r30, r4
/* 80037D48 000339A8 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 80037D4C 000339AC 2C 00 00 00 */ cmpwi r0, 0
/* 80037D50 000339B0 41 82 02 6C */ beq lbl_80037FBC
/* 80037D54 000339B4 48 00 D8 3D */ bl func_80045590
/* 80037D58 000339B8 A0 1F 05 0C */ lhz r0, 0x50c(r31)
/* 80037D5C 000339BC 28 00 00 01 */ cmplwi r0, 1
/* 80037D60 000339C0 40 82 00 10 */ bne lbl_80037D70
/* 80037D64 000339C4 A0 9F 0C 68 */ lhz r4, 0xc68(r31)
/* 80037D68 000339C8 7F C5 F3 78 */ mr r5, r30
/* 80037D6C 000339CC 48 00 F1 95 */ bl func_80046F00
lbl_80037D70:
/* 80037D70 000339D0 2C 1E 00 00 */ cmpwi r30, 0
/* 80037D74 000339D4 41 82 01 B4 */ beq lbl_80037F28
/* 80037D78 000339D8 80 7F 00 00 */ lwz r3, 0(r31)
/* 80037D7C 000339DC 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9
/* 80037D80 000339E0 40 82 01 A8 */ bne lbl_80037F28
/* 80037D84 000339E4 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80037D88 000339E8 40 82 02 34 */ bne lbl_80037FBC
/* 80037D8C 000339EC 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb
/* 80037D90 000339F0 40 82 00 0C */ bne lbl_80037D9C
/* 80037D94 000339F4 54 60 03 19 */ rlwinm. r0, r3, 0, 0xc, 0xc
/* 80037D98 000339F8 41 82 00 C4 */ beq lbl_80037E5C
lbl_80037D9C:
/* 80037D9C 000339FC 80 BF 0C 04 */ lwz r5, 0xc04(r31)
/* 80037DA0 00033A00 38 7F 05 24 */ addi r3, r31, 0x524
/* 80037DA4 00033A04 38 80 00 00 */ li r4, 0
/* 80037DA8 00033A08 A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 80037DAC 00033A0C 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 80037DB0 00033A10 B0 05 00 DC */ sth r0, 0xdc(r5)
/* 80037DB4 00033A14 48 00 81 3D */ bl func_8003FEF0
/* 80037DB8 00033A18 38 00 00 02 */ li r0, 2
/* 80037DBC 00033A1C 38 A0 00 00 */ li r5, 0
/* 80037DC0 00033A20 7C 09 03 A6 */ mtctr r0
lbl_80037DC4:
/* 80037DC4 00033A24 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 80037DC8 00033A28 7C 7F 02 14 */ add r3, r31, r0
/* 80037DCC 00033A2C 80 83 0C 90 */ lwz r4, 0xc90(r3)
/* 80037DD0 00033A30 2C 04 00 00 */ cmpwi r4, 0
/* 80037DD4 00033A34 41 82 00 34 */ beq lbl_80037E08
/* 80037DD8 00033A38 3C 65 00 01 */ addis r3, r5, 1
/* 80037DDC 00033A3C 38 03 FF FF */ addi r0, r3, -1
/* 80037DE0 00033A40 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80037DE4 00033A44 28 00 00 01 */ cmplwi r0, 1
/* 80037DE8 00033A48 41 81 00 14 */ bgt lbl_80037DFC
/* 80037DEC 00033A4C A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037DF0 00033A50 60 00 00 02 */ ori r0, r0, 2
/* 80037DF4 00033A54 B0 04 00 10 */ sth r0, 0x10(r4)
/* 80037DF8 00033A58 48 00 00 10 */ b lbl_80037E08
lbl_80037DFC:
/* 80037DFC 00033A5C A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037E00 00033A60 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037E04 00033A64 B0 04 00 10 */ sth r0, 0x10(r4)
lbl_80037E08:
/* 80037E08 00033A68 38 A5 00 01 */ addi r5, r5, 1
/* 80037E0C 00033A6C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 80037E10 00033A70 7C 7F 02 14 */ add r3, r31, r0
/* 80037E14 00033A74 80 83 0C 90 */ lwz r4, 0xc90(r3)
/* 80037E18 00033A78 2C 04 00 00 */ cmpwi r4, 0
/* 80037E1C 00033A7C 41 82 00 34 */ beq lbl_80037E50
/* 80037E20 00033A80 3C 65 00 01 */ addis r3, r5, 1
/* 80037E24 00033A84 38 03 FF FF */ addi r0, r3, -1
/* 80037E28 00033A88 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80037E2C 00033A8C 28 00 00 01 */ cmplwi r0, 1
/* 80037E30 00033A90 41 81 00 14 */ bgt lbl_80037E44
/* 80037E34 00033A94 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037E38 00033A98 60 00 00 02 */ ori r0, r0, 2
/* 80037E3C 00033A9C B0 04 00 10 */ sth r0, 0x10(r4)
/* 80037E40 00033AA0 48 00 00 10 */ b lbl_80037E50
lbl_80037E44:
/* 80037E44 00033AA4 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037E48 00033AA8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037E4C 00033AAC B0 04 00 10 */ sth r0, 0x10(r4)
lbl_80037E50:
/* 80037E50 00033AB0 38 A5 00 01 */ addi r5, r5, 1
/* 80037E54 00033AB4 42 00 FF 70 */ bdnz lbl_80037DC4
/* 80037E58 00033AB8 48 00 00 C0 */ b lbl_80037F18
lbl_80037E5C:
/* 80037E5C 00033ABC 80 BF 0C 04 */ lwz r5, 0xc04(r31)
/* 80037E60 00033AC0 38 7F 05 24 */ addi r3, r31, 0x524
/* 80037E64 00033AC4 38 80 00 01 */ li r4, 1
/* 80037E68 00033AC8 A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 80037E6C 00033ACC 60 00 00 01 */ ori r0, r0, 1
/* 80037E70 00033AD0 B0 05 00 DC */ sth r0, 0xdc(r5)
/* 80037E74 00033AD4 48 00 80 7D */ bl func_8003FEF0
/* 80037E78 00033AD8 38 00 00 02 */ li r0, 2
/* 80037E7C 00033ADC 38 A0 00 00 */ li r5, 0
/* 80037E80 00033AE0 7C 09 03 A6 */ mtctr r0
lbl_80037E84:
/* 80037E84 00033AE4 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 80037E88 00033AE8 7C 7F 02 14 */ add r3, r31, r0
/* 80037E8C 00033AEC 80 83 0C 90 */ lwz r4, 0xc90(r3)
/* 80037E90 00033AF0 2C 04 00 00 */ cmpwi r4, 0
/* 80037E94 00033AF4 41 82 00 34 */ beq lbl_80037EC8
/* 80037E98 00033AF8 3C 65 00 01 */ addis r3, r5, 1
/* 80037E9C 00033AFC 38 03 FF FF */ addi r0, r3, -1
/* 80037EA0 00033B00 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80037EA4 00033B04 28 00 00 01 */ cmplwi r0, 1
/* 80037EA8 00033B08 41 81 00 14 */ bgt lbl_80037EBC
/* 80037EAC 00033B0C A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037EB0 00033B10 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037EB4 00033B14 B0 04 00 10 */ sth r0, 0x10(r4)
/* 80037EB8 00033B18 48 00 00 10 */ b lbl_80037EC8
lbl_80037EBC:
/* 80037EBC 00033B1C A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037EC0 00033B20 60 00 00 02 */ ori r0, r0, 2
/* 80037EC4 00033B24 B0 04 00 10 */ sth r0, 0x10(r4)
lbl_80037EC8:
/* 80037EC8 00033B28 38 A5 00 01 */ addi r5, r5, 1
/* 80037ECC 00033B2C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 80037ED0 00033B30 7C 7F 02 14 */ add r3, r31, r0
/* 80037ED4 00033B34 80 83 0C 90 */ lwz r4, 0xc90(r3)
/* 80037ED8 00033B38 2C 04 00 00 */ cmpwi r4, 0
/* 80037EDC 00033B3C 41 82 00 34 */ beq lbl_80037F10
/* 80037EE0 00033B40 3C 65 00 01 */ addis r3, r5, 1
/* 80037EE4 00033B44 38 03 FF FF */ addi r0, r3, -1
/* 80037EE8 00033B48 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80037EEC 00033B4C 28 00 00 01 */ cmplwi r0, 1
/* 80037EF0 00033B50 41 81 00 14 */ bgt lbl_80037F04
/* 80037EF4 00033B54 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037EF8 00033B58 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037EFC 00033B5C B0 04 00 10 */ sth r0, 0x10(r4)
/* 80037F00 00033B60 48 00 00 10 */ b lbl_80037F10
lbl_80037F04:
/* 80037F04 00033B64 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80037F08 00033B68 60 00 00 02 */ ori r0, r0, 2
/* 80037F0C 00033B6C B0 04 00 10 */ sth r0, 0x10(r4)
lbl_80037F10:
/* 80037F10 00033B70 38 A5 00 01 */ addi r5, r5, 1
/* 80037F14 00033B74 42 00 FF 70 */ bdnz lbl_80037E84
lbl_80037F18:
/* 80037F18 00033B78 80 1F 00 00 */ lwz r0, 0(r31)
/* 80037F1C 00033B7C 60 00 00 01 */ ori r0, r0, 1
/* 80037F20 00033B80 90 1F 00 00 */ stw r0, 0(r31)
/* 80037F24 00033B84 48 00 00 98 */ b lbl_80037FBC
lbl_80037F28:
/* 80037F28 00033B88 80 1F 00 00 */ lwz r0, 0(r31)
/* 80037F2C 00033B8C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80037F30 00033B90 41 82 00 8C */ beq lbl_80037FBC
/* 80037F34 00033B94 80 BF 0C 04 */ lwz r5, 0xc04(r31)
/* 80037F38 00033B98 38 7F 05 24 */ addi r3, r31, 0x524
/* 80037F3C 00033B9C 38 80 00 00 */ li r4, 0
/* 80037F40 00033BA0 A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 80037F44 00033BA4 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 80037F48 00033BA8 B0 05 00 DC */ sth r0, 0xdc(r5)
/* 80037F4C 00033BAC 48 00 7F A5 */ bl func_8003FEF0
/* 80037F50 00033BB0 80 7F 0C 90 */ lwz r3, 0xc90(r31)
/* 80037F54 00033BB4 2C 03 00 00 */ cmpwi r3, 0
/* 80037F58 00033BB8 41 82 00 10 */ beq lbl_80037F68
/* 80037F5C 00033BBC A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80037F60 00033BC0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037F64 00033BC4 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80037F68:
/* 80037F68 00033BC8 80 7F 0C 94 */ lwz r3, 0xc94(r31)
/* 80037F6C 00033BCC 2C 03 00 00 */ cmpwi r3, 0
/* 80037F70 00033BD0 41 82 00 10 */ beq lbl_80037F80
/* 80037F74 00033BD4 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80037F78 00033BD8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037F7C 00033BDC B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80037F80:
/* 80037F80 00033BE0 80 7F 0C 98 */ lwz r3, 0xc98(r31)
/* 80037F84 00033BE4 2C 03 00 00 */ cmpwi r3, 0
/* 80037F88 00033BE8 41 82 00 10 */ beq lbl_80037F98
/* 80037F8C 00033BEC A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80037F90 00033BF0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037F94 00033BF4 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80037F98:
/* 80037F98 00033BF8 80 7F 0C 9C */ lwz r3, 0xc9c(r31)
/* 80037F9C 00033BFC 2C 03 00 00 */ cmpwi r3, 0
/* 80037FA0 00033C00 41 82 00 10 */ beq lbl_80037FB0
/* 80037FA4 00033C04 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80037FA8 00033C08 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037FAC 00033C0C B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80037FB0:
/* 80037FB0 00033C10 80 1F 00 00 */ lwz r0, 0(r31)
/* 80037FB4 00033C14 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80037FB8 00033C18 90 1F 00 00 */ stw r0, 0(r31)
lbl_80037FBC:
/* 80037FBC 00033C1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80037FC0 00033C20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80037FC4 00033C24 83 C1 00 08 */ lwz r30, 8(r1)
/* 80037FC8 00033C28 7C 08 03 A6 */ mtlr r0
/* 80037FCC 00033C2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80037FD0 00033C30 4E 80 00 20 */ blr
.global func_80037FD4
func_80037FD4:
/* 80037FD4 00033C34 2C 04 00 00 */ cmpwi r4, 0
/* 80037FD8 00033C38 41 82 00 14 */ beq lbl_80037FEC
/* 80037FDC 00033C3C 80 03 00 00 */ lwz r0, 0(r3)
/* 80037FE0 00033C40 60 00 00 02 */ ori r0, r0, 2
/* 80037FE4 00033C44 90 03 00 00 */ stw r0, 0(r3)
/* 80037FE8 00033C48 48 00 00 10 */ b lbl_80037FF8
lbl_80037FEC:
/* 80037FEC 00033C4C 80 03 00 00 */ lwz r0, 0(r3)
/* 80037FF0 00033C50 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80037FF4 00033C54 90 03 00 00 */ stw r0, 0(r3)
lbl_80037FF8:
/* 80037FF8 00033C58 2C 05 00 00 */ cmpwi r5, 0
/* 80037FFC 00033C5C 41 82 00 14 */ beq lbl_80038010
/* 80038000 00033C60 80 03 00 00 */ lwz r0, 0(r3)
/* 80038004 00033C64 60 00 00 04 */ ori r0, r0, 4
/* 80038008 00033C68 90 03 00 00 */ stw r0, 0(r3)
/* 8003800C 00033C6C 48 00 00 10 */ b lbl_8003801C
lbl_80038010:
/* 80038010 00033C70 80 03 00 00 */ lwz r0, 0(r3)
/* 80038014 00033C74 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80038018 00033C78 90 03 00 00 */ stw r0, 0(r3)
lbl_8003801C:
/* 8003801C 00033C7C 48 00 00 04 */ b func_80038020
.global func_80038020
func_80038020:
/* 80038020 00033C80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80038024 00033C84 7C 08 02 A6 */ mflr r0
/* 80038028 00033C88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003802C 00033C8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80038030 00033C90 93 C1 00 08 */ stw r30, 8(r1)
/* 80038034 00033C94 7C 7E 1B 78 */ mr r30, r3
/* 80038038 00033C98 4B FF B0 51 */ bl func_80033088
/* 8003803C 00033C9C 2C 03 00 00 */ cmpwi r3, 0
/* 80038040 00033CA0 7C 7F 1B 78 */ mr r31, r3
/* 80038044 00033CA4 41 82 03 20 */ beq lbl_80038364
/* 80038048 00033CA8 80 BE 0C 04 */ lwz r5, 0xc04(r30)
/* 8003804C 00033CAC 2C 05 00 00 */ cmpwi r5, 0
/* 80038050 00033CB0 41 82 03 14 */ beq lbl_80038364
/* 80038054 00033CB4 80 7E 00 00 */ lwz r3, 0(r30)
/* 80038058 00033CB8 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8003805C 00033CBC 41 82 00 14 */ beq lbl_80038070
/* 80038060 00033CC0 54 60 07 7D */ rlwinm. r0, r3, 0, 0x1d, 0x1e
/* 80038064 00033CC4 41 82 00 0C */ beq lbl_80038070
/* 80038068 00033CC8 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9
/* 8003806C 00033CCC 41 82 00 80 */ beq lbl_800380EC
lbl_80038070:
/* 80038070 00033CD0 A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 80038074 00033CD4 38 7E 05 24 */ addi r3, r30, 0x524
/* 80038078 00033CD8 38 80 00 00 */ li r4, 0
/* 8003807C 00033CDC 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 80038080 00033CE0 B0 05 00 DC */ sth r0, 0xdc(r5)
/* 80038084 00033CE4 48 00 7E 6D */ bl func_8003FEF0
/* 80038088 00033CE8 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 8003808C 00033CEC 2C 03 00 00 */ cmpwi r3, 0
/* 80038090 00033CF0 41 82 00 10 */ beq lbl_800380A0
/* 80038094 00033CF4 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038098 00033CF8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8003809C 00033CFC B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800380A0:
/* 800380A0 00033D00 80 7E 0C 94 */ lwz r3, 0xc94(r30)
/* 800380A4 00033D04 2C 03 00 00 */ cmpwi r3, 0
/* 800380A8 00033D08 41 82 00 10 */ beq lbl_800380B8
/* 800380AC 00033D0C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800380B0 00033D10 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800380B4 00033D14 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800380B8:
/* 800380B8 00033D18 80 7E 0C 98 */ lwz r3, 0xc98(r30)
/* 800380BC 00033D1C 2C 03 00 00 */ cmpwi r3, 0
/* 800380C0 00033D20 41 82 00 10 */ beq lbl_800380D0
/* 800380C4 00033D24 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800380C8 00033D28 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800380CC 00033D2C B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800380D0:
/* 800380D0 00033D30 80 7E 0C 9C */ lwz r3, 0xc9c(r30)
/* 800380D4 00033D34 2C 03 00 00 */ cmpwi r3, 0
/* 800380D8 00033D38 41 82 02 8C */ beq lbl_80038364
/* 800380DC 00033D3C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800380E0 00033D40 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800380E4 00033D44 B0 03 00 10 */ sth r0, 0x10(r3)
/* 800380E8 00033D48 48 00 02 7C */ b lbl_80038364
lbl_800380EC:
/* 800380EC 00033D4C 54 60 03 19 */ rlwinm. r0, r3, 0, 0xc, 0xc
/* 800380F0 00033D50 40 82 00 0C */ bne lbl_800380FC
/* 800380F4 00033D54 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb
/* 800380F8 00033D58 41 82 00 E8 */ beq lbl_800381E0
lbl_800380FC:
/* 800380FC 00033D5C A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 80038100 00033D60 38 7E 05 24 */ addi r3, r30, 0x524
/* 80038104 00033D64 38 80 00 00 */ li r4, 0
/* 80038108 00033D68 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 8003810C 00033D6C B0 05 00 DC */ sth r0, 0xdc(r5)
/* 80038110 00033D70 48 00 7D E1 */ bl func_8003FEF0
/* 80038114 00033D74 38 00 00 02 */ li r0, 2
/* 80038118 00033D78 38 80 00 00 */ li r4, 0
/* 8003811C 00033D7C 7C 09 03 A6 */ mtctr r0
lbl_80038120:
/* 80038120 00033D80 3C 64 00 01 */ addis r3, r4, 1
/* 80038124 00033D84 38 03 FF FF */ addi r0, r3, -1
/* 80038128 00033D88 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8003812C 00033D8C 28 00 00 01 */ cmplwi r0, 1
/* 80038130 00033D90 41 81 00 28 */ bgt lbl_80038158
/* 80038134 00033D94 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 80038138 00033D98 7C 7E 02 14 */ add r3, r30, r0
/* 8003813C 00033D9C 80 63 0C 90 */ lwz r3, 0xc90(r3)
/* 80038140 00033DA0 2C 03 00 00 */ cmpwi r3, 0
/* 80038144 00033DA4 41 82 00 34 */ beq lbl_80038178
/* 80038148 00033DA8 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8003814C 00033DAC 60 00 00 02 */ ori r0, r0, 2
/* 80038150 00033DB0 B0 03 00 10 */ sth r0, 0x10(r3)
/* 80038154 00033DB4 48 00 00 24 */ b lbl_80038178
lbl_80038158:
/* 80038158 00033DB8 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 8003815C 00033DBC 7C 7E 02 14 */ add r3, r30, r0
/* 80038160 00033DC0 80 63 0C 90 */ lwz r3, 0xc90(r3)
/* 80038164 00033DC4 2C 03 00 00 */ cmpwi r3, 0
/* 80038168 00033DC8 41 82 00 10 */ beq lbl_80038178
/* 8003816C 00033DCC A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038170 00033DD0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80038174 00033DD4 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80038178:
/* 80038178 00033DD8 38 84 00 01 */ addi r4, r4, 1
/* 8003817C 00033DDC 3C 64 00 01 */ addis r3, r4, 1
/* 80038180 00033DE0 38 03 FF FF */ addi r0, r3, -1
/* 80038184 00033DE4 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80038188 00033DE8 28 00 00 01 */ cmplwi r0, 1
/* 8003818C 00033DEC 41 81 00 28 */ bgt lbl_800381B4
/* 80038190 00033DF0 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 80038194 00033DF4 7C 7E 02 14 */ add r3, r30, r0
/* 80038198 00033DF8 80 63 0C 90 */ lwz r3, 0xc90(r3)
/* 8003819C 00033DFC 2C 03 00 00 */ cmpwi r3, 0
/* 800381A0 00033E00 41 82 00 34 */ beq lbl_800381D4
/* 800381A4 00033E04 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800381A8 00033E08 60 00 00 02 */ ori r0, r0, 2
/* 800381AC 00033E0C B0 03 00 10 */ sth r0, 0x10(r3)
/* 800381B0 00033E10 48 00 00 24 */ b lbl_800381D4
lbl_800381B4:
/* 800381B4 00033E14 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 800381B8 00033E18 7C 7E 02 14 */ add r3, r30, r0
/* 800381BC 00033E1C 80 63 0C 90 */ lwz r3, 0xc90(r3)
/* 800381C0 00033E20 2C 03 00 00 */ cmpwi r3, 0
/* 800381C4 00033E24 41 82 00 10 */ beq lbl_800381D4
/* 800381C8 00033E28 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800381CC 00033E2C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800381D0 00033E30 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800381D4:
/* 800381D4 00033E34 38 84 00 01 */ addi r4, r4, 1
/* 800381D8 00033E38 42 00 FF 48 */ bdnz lbl_80038120
/* 800381DC 00033E3C 48 00 00 7C */ b lbl_80038258
lbl_800381E0:
/* 800381E0 00033E40 A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 800381E4 00033E44 38 7E 05 24 */ addi r3, r30, 0x524
/* 800381E8 00033E48 38 80 00 01 */ li r4, 1
/* 800381EC 00033E4C 60 00 00 01 */ ori r0, r0, 1
/* 800381F0 00033E50 B0 05 00 DC */ sth r0, 0xdc(r5)
/* 800381F4 00033E54 48 00 7C FD */ bl func_8003FEF0
/* 800381F8 00033E58 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 800381FC 00033E5C 2C 03 00 00 */ cmpwi r3, 0
/* 80038200 00033E60 41 82 00 10 */ beq lbl_80038210
/* 80038204 00033E64 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038208 00033E68 60 00 00 02 */ ori r0, r0, 2
/* 8003820C 00033E6C B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80038210:
/* 80038210 00033E70 80 7E 0C 94 */ lwz r3, 0xc94(r30)
/* 80038214 00033E74 2C 03 00 00 */ cmpwi r3, 0
/* 80038218 00033E78 41 82 00 10 */ beq lbl_80038228
/* 8003821C 00033E7C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038220 00033E80 60 00 00 02 */ ori r0, r0, 2
/* 80038224 00033E84 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80038228:
/* 80038228 00033E88 80 7E 0C 98 */ lwz r3, 0xc98(r30)
/* 8003822C 00033E8C 2C 03 00 00 */ cmpwi r3, 0
/* 80038230 00033E90 41 82 00 10 */ beq lbl_80038240
/* 80038234 00033E94 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038238 00033E98 60 00 00 02 */ ori r0, r0, 2
/* 8003823C 00033E9C B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80038240:
/* 80038240 00033EA0 80 7E 0C 9C */ lwz r3, 0xc9c(r30)
/* 80038244 00033EA4 2C 03 00 00 */ cmpwi r3, 0
/* 80038248 00033EA8 41 82 00 10 */ beq lbl_80038258
/* 8003824C 00033EAC A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038250 00033EB0 60 00 00 02 */ ori r0, r0, 2
/* 80038254 00033EB4 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_80038258:
/* 80038258 00033EB8 80 7E 00 00 */ lwz r3, 0(r30)
/* 8003825C 00033EBC 54 60 07 7C */ rlwinm r0, r3, 0, 0x1d, 0x1e
/* 80038260 00033EC0 28 00 00 06 */ cmplwi r0, 6
/* 80038264 00033EC4 40 82 00 60 */ bne lbl_800382C4
/* 80038268 00033EC8 80 BE 0C 04 */ lwz r5, 0xc04(r30)
/* 8003826C 00033ECC 3B E0 00 00 */ li r31, 0
/* 80038270 00033ED0 38 7E 05 24 */ addi r3, r30, 0x524
/* 80038274 00033ED4 38 80 00 00 */ li r4, 0
/* 80038278 00033ED8 93 E5 00 3C */ stw r31, 0x3c(r5)
/* 8003827C 00033EDC 48 00 7D D9 */ bl func_80040054
/* 80038280 00033EE0 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 80038284 00033EE4 2C 03 00 00 */ cmpwi r3, 0
/* 80038288 00033EE8 41 82 00 08 */ beq lbl_80038290
/* 8003828C 00033EEC 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_80038290:
/* 80038290 00033EF0 80 7E 0C 94 */ lwz r3, 0xc94(r30)
/* 80038294 00033EF4 2C 03 00 00 */ cmpwi r3, 0
/* 80038298 00033EF8 41 82 00 08 */ beq lbl_800382A0
/* 8003829C 00033EFC 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_800382A0:
/* 800382A0 00033F00 80 7E 0C 98 */ lwz r3, 0xc98(r30)
/* 800382A4 00033F04 2C 03 00 00 */ cmpwi r3, 0
/* 800382A8 00033F08 41 82 00 08 */ beq lbl_800382B0
/* 800382AC 00033F0C 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_800382B0:
/* 800382B0 00033F10 80 7E 0C 9C */ lwz r3, 0xc9c(r30)
/* 800382B4 00033F14 2C 03 00 00 */ cmpwi r3, 0
/* 800382B8 00033F18 41 82 00 AC */ beq lbl_80038364
/* 800382BC 00033F1C 93 E3 01 2C */ stw r31, 0x12c(r3)
/* 800382C0 00033F20 48 00 00 A4 */ b lbl_80038364
lbl_800382C4:
/* 800382C4 00033F24 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 800382C8 00033F28 38 80 00 00 */ li r4, 0
/* 800382CC 00033F2C 41 82 00 0C */ beq lbl_800382D8
/* 800382D0 00033F30 38 80 00 00 */ li r4, 0
/* 800382D4 00033F34 48 00 00 10 */ b lbl_800382E4
lbl_800382D8:
/* 800382D8 00033F38 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 800382DC 00033F3C 41 82 00 08 */ beq lbl_800382E4
/* 800382E0 00033F40 38 80 00 01 */ li r4, 1
lbl_800382E4:
/* 800382E4 00033F44 7F E3 FB 78 */ mr r3, r31
/* 800382E8 00033F48 4B FF B8 95 */ bl func_80033B7C
/* 800382EC 00033F4C 2C 03 00 00 */ cmpwi r3, 0
/* 800382F0 00033F50 41 82 00 74 */ beq lbl_80038364
/* 800382F4 00033F54 4B FF D6 7D */ bl func_80035970
/* 800382F8 00033F58 80 BE 0C 04 */ lwz r5, 0xc04(r30)
/* 800382FC 00033F5C 7C 7F 1B 78 */ mr r31, r3
/* 80038300 00033F60 7F E4 FB 78 */ mr r4, r31
/* 80038304 00033F64 90 65 00 3C */ stw r3, 0x3c(r5)
/* 80038308 00033F68 38 7E 05 24 */ addi r3, r30, 0x524
/* 8003830C 00033F6C 48 00 7D 49 */ bl func_80040054
/* 80038310 00033F70 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 80038314 00033F74 2C 03 00 00 */ cmpwi r3, 0
/* 80038318 00033F78 41 82 00 08 */ beq lbl_80038320
/* 8003831C 00033F7C 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_80038320:
/* 80038320 00033F80 80 7E 0C 94 */ lwz r3, 0xc94(r30)
/* 80038324 00033F84 2C 03 00 00 */ cmpwi r3, 0
/* 80038328 00033F88 41 82 00 08 */ beq lbl_80038330
/* 8003832C 00033F8C 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_80038330:
/* 80038330 00033F90 80 7E 0C 98 */ lwz r3, 0xc98(r30)
/* 80038334 00033F94 2C 03 00 00 */ cmpwi r3, 0
/* 80038338 00033F98 41 82 00 08 */ beq lbl_80038340
/* 8003833C 00033F9C 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_80038340:
/* 80038340 00033FA0 80 7E 0C 9C */ lwz r3, 0xc9c(r30)
/* 80038344 00033FA4 2C 03 00 00 */ cmpwi r3, 0
/* 80038348 00033FA8 41 82 00 08 */ beq lbl_80038350
/* 8003834C 00033FAC 93 E3 01 2C */ stw r31, 0x12c(r3)
lbl_80038350:
/* 80038350 00033FB0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80038354 00033FB4 7F C3 F3 78 */ mr r3, r30
/* 80038358 00033FB8 54 05 F7 FE */ rlwinm r5, r0, 0x1e, 0x1f, 0x1f
/* 8003835C 00033FBC 54 04 FF FE */ rlwinm r4, r0, 0x1f, 0x1f, 0x1f
/* 80038360 00033FC0 48 00 5B 31 */ bl func_8003DE90
lbl_80038364:
/* 80038364 00033FC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80038368 00033FC8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003836C 00033FCC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80038370 00033FD0 7C 08 03 A6 */ mtlr r0
/* 80038374 00033FD4 38 21 00 10 */ addi r1, r1, 0x10
/* 80038378 00033FD8 4E 80 00 20 */ blr
.global func_8003837C
func_8003837C:
/* 8003837C 00033FDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80038380 00033FE0 7C 08 02 A6 */ mflr r0
/* 80038384 00033FE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80038388 00033FE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003838C 00033FEC 7C 7F 1B 78 */ mr r31, r3
/* 80038390 00033FF0 80 C3 0C 04 */ lwz r6, 0xc04(r3)
/* 80038394 00033FF4 2C 06 00 00 */ cmpwi r6, 0
/* 80038398 00033FF8 41 82 01 6C */ beq lbl_80038504
/* 8003839C 00033FFC 80 A3 00 00 */ lwz r5, 0(r3)
/* 800383A0 00034000 54 A0 02 D7 */ rlwinm. r0, r5, 0, 0xb, 0xb
/* 800383A4 00034004 40 82 00 0C */ bne lbl_800383B0
/* 800383A8 00034008 54 A0 03 19 */ rlwinm. r0, r5, 0, 0xc, 0xc
/* 800383AC 0003400C 41 82 01 58 */ beq lbl_80038504
lbl_800383B0:
/* 800383B0 00034010 2C 04 00 00 */ cmpwi r4, 0
/* 800383B4 00034014 41 82 00 CC */ beq lbl_80038480
/* 800383B8 00034018 A0 06 00 DC */ lhz r0, 0xdc(r6)
/* 800383BC 0003401C 38 80 00 01 */ li r4, 1
/* 800383C0 00034020 38 63 05 24 */ addi r3, r3, 0x524
/* 800383C4 00034024 60 00 00 01 */ ori r0, r0, 1
/* 800383C8 00034028 B0 06 00 DC */ sth r0, 0xdc(r6)
/* 800383CC 0003402C 48 00 7B 25 */ bl func_8003FEF0
/* 800383D0 00034030 38 00 00 02 */ li r0, 2
/* 800383D4 00034034 38 A0 00 00 */ li r5, 0
/* 800383D8 00034038 7C 09 03 A6 */ mtctr r0
lbl_800383DC:
/* 800383DC 0003403C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 800383E0 00034040 7C 7F 02 14 */ add r3, r31, r0
/* 800383E4 00034044 80 83 0C 90 */ lwz r4, 0xc90(r3)
/* 800383E8 00034048 2C 04 00 00 */ cmpwi r4, 0
/* 800383EC 0003404C 41 82 00 34 */ beq lbl_80038420
/* 800383F0 00034050 3C 65 00 01 */ addis r3, r5, 1
/* 800383F4 00034054 38 03 FF FF */ addi r0, r3, -1
/* 800383F8 00034058 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 800383FC 0003405C 28 00 00 01 */ cmplwi r0, 1
/* 80038400 00034060 41 81 00 14 */ bgt lbl_80038414
/* 80038404 00034064 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80038408 00034068 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8003840C 0003406C B0 04 00 10 */ sth r0, 0x10(r4)
/* 80038410 00034070 48 00 00 10 */ b lbl_80038420
lbl_80038414:
/* 80038414 00034074 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80038418 00034078 60 00 00 02 */ ori r0, r0, 2
/* 8003841C 0003407C B0 04 00 10 */ sth r0, 0x10(r4)
lbl_80038420:
/* 80038420 00034080 38 A5 00 01 */ addi r5, r5, 1
/* 80038424 00034084 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 80038428 00034088 7C 7F 02 14 */ add r3, r31, r0
/* 8003842C 0003408C 80 83 0C 90 */ lwz r4, 0xc90(r3)
/* 80038430 00034090 2C 04 00 00 */ cmpwi r4, 0
/* 80038434 00034094 41 82 00 34 */ beq lbl_80038468
/* 80038438 00034098 3C 65 00 01 */ addis r3, r5, 1
/* 8003843C 0003409C 38 03 FF FF */ addi r0, r3, -1
/* 80038440 000340A0 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80038444 000340A4 28 00 00 01 */ cmplwi r0, 1
/* 80038448 000340A8 41 81 00 14 */ bgt lbl_8003845C
/* 8003844C 000340AC A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80038450 000340B0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80038454 000340B4 B0 04 00 10 */ sth r0, 0x10(r4)
/* 80038458 000340B8 48 00 00 10 */ b lbl_80038468
lbl_8003845C:
/* 8003845C 000340BC A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80038460 000340C0 60 00 00 02 */ ori r0, r0, 2
/* 80038464 000340C4 B0 04 00 10 */ sth r0, 0x10(r4)
lbl_80038468:
/* 80038468 000340C8 38 A5 00 01 */ addi r5, r5, 1
/* 8003846C 000340CC 42 00 FF 70 */ bdnz lbl_800383DC
/* 80038470 000340D0 80 1F 00 00 */ lwz r0, 0(r31)
/* 80038474 000340D4 60 00 00 01 */ ori r0, r0, 1
/* 80038478 000340D8 90 1F 00 00 */ stw r0, 0(r31)
/* 8003847C 000340DC 48 00 00 88 */ b lbl_80038504
lbl_80038480:
/* 80038480 000340E0 A0 06 00 DC */ lhz r0, 0xdc(r6)
/* 80038484 000340E4 38 80 00 00 */ li r4, 0
/* 80038488 000340E8 38 63 05 24 */ addi r3, r3, 0x524
/* 8003848C 000340EC 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 80038490 000340F0 B0 06 00 DC */ sth r0, 0xdc(r6)
/* 80038494 000340F4 48 00 7A 5D */ bl func_8003FEF0
/* 80038498 000340F8 80 7F 0C 90 */ lwz r3, 0xc90(r31)
/* 8003849C 000340FC 2C 03 00 00 */ cmpwi r3, 0
/* 800384A0 00034100 41 82 00 10 */ beq lbl_800384B0
/* 800384A4 00034104 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800384A8 00034108 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800384AC 0003410C B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800384B0:
/* 800384B0 00034110 80 7F 0C 94 */ lwz r3, 0xc94(r31)
/* 800384B4 00034114 2C 03 00 00 */ cmpwi r3, 0
/* 800384B8 00034118 41 82 00 10 */ beq lbl_800384C8
/* 800384BC 0003411C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800384C0 00034120 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800384C4 00034124 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800384C8:
/* 800384C8 00034128 80 7F 0C 98 */ lwz r3, 0xc98(r31)
/* 800384CC 0003412C 2C 03 00 00 */ cmpwi r3, 0
/* 800384D0 00034130 41 82 00 10 */ beq lbl_800384E0
/* 800384D4 00034134 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800384D8 00034138 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800384DC 0003413C B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800384E0:
/* 800384E0 00034140 80 7F 0C 9C */ lwz r3, 0xc9c(r31)
/* 800384E4 00034144 2C 03 00 00 */ cmpwi r3, 0
/* 800384E8 00034148 41 82 00 10 */ beq lbl_800384F8
/* 800384EC 0003414C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800384F0 00034150 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 800384F4 00034154 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_800384F8:
/* 800384F8 00034158 80 1F 00 00 */ lwz r0, 0(r31)
/* 800384FC 0003415C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80038500 00034160 90 1F 00 00 */ stw r0, 0(r31)
lbl_80038504:
/* 80038504 00034164 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80038508 00034168 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003850C 0003416C 7C 08 03 A6 */ mtlr r0
/* 80038510 00034170 38 21 00 10 */ addi r1, r1, 0x10
/* 80038514 00034174 4E 80 00 20 */ blr
.global func_80038518
func_80038518:
/* 80038518 00034178 2C 04 00 00 */ cmpwi r4, 0
/* 8003851C 0003417C 4D 82 00 20 */ beqlr
/* 80038520 00034180 38 A0 00 1F */ li r5, 0x1f
/* 80038524 00034184 38 63 0D 94 */ addi r3, r3, 0xd94
/* 80038528 00034188 48 19 5E 68 */ b strncpy
/* 8003852C 0003418C 4E 80 00 20 */ blr
.global func_80038530
func_80038530:
/* 80038530 00034190 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80038534 00034194 7C 08 02 A6 */ mflr r0
/* 80038538 00034198 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003853C 0003419C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80038540 000341A0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80038544 000341A4 2C 04 01 00 */ cmpwi r4, 0x100
/* 80038548 000341A8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003854C 000341AC 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80038550 000341B0 7C 7F 1B 78 */ mr r31, r3
/* 80038554 000341B4 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80038558 000341B8 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8003855C 000341BC 7C 9D 23 78 */ mr r29, r4
/* 80038560 000341C0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80038564 000341C4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80038568 000341C8 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8003856C 000341CC D0 01 00 08 */ stfs f0, 8(r1)
/* 80038570 000341D0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80038574 000341D4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80038578 000341D8 B0 83 0C 68 */ sth r4, 0xc68(r3)
/* 8003857C 000341DC 40 82 00 1C */ bne lbl_80038598
/* 80038580 000341E0 38 81 00 14 */ addi r4, r1, 0x14
/* 80038584 000341E4 48 00 03 41 */ bl func_800388C4
/* 80038588 000341E8 7F E3 FB 78 */ mr r3, r31
/* 8003858C 000341EC 38 81 00 08 */ addi r4, r1, 8
/* 80038590 000341F0 48 00 05 41 */ bl func_80038AD0
/* 80038594 000341F4 48 00 02 28 */ b lbl_800387BC
lbl_80038598:
/* 80038598 000341F8 48 00 CF F9 */ bl func_80045590
/* 8003859C 000341FC 7C 7E 1B 78 */ mr r30, r3
/* 800385A0 00034200 38 80 00 00 */ li r4, 0
/* 800385A4 00034204 48 00 D7 59 */ bl func_80045CFC
/* 800385A8 00034208 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800385AC 0003420C 57 A0 06 31 */ rlwinm. r0, r29, 0, 0x18, 0x18
/* 800385B0 00034210 D0 1F 0D 80 */ stfs f0, 0xd80(r31)
/* 800385B4 00034214 40 82 01 7C */ bne lbl_80038730
/* 800385B8 00034218 7F C3 F3 78 */ mr r3, r30
/* 800385BC 0003421C 7F A4 EB 78 */ mr r4, r29
/* 800385C0 00034220 38 A1 00 14 */ addi r5, r1, 0x14
/* 800385C4 00034224 38 C1 00 0C */ addi r6, r1, 0xc
/* 800385C8 00034228 38 E0 00 01 */ li r7, 1
/* 800385CC 0003422C 48 00 D6 4D */ bl func_80045C18
/* 800385D0 00034230 2C 03 00 00 */ cmpwi r3, 0
/* 800385D4 00034234 41 82 01 E8 */ beq lbl_800387BC
/* 800385D8 00034238 80 7F 00 00 */ lwz r3, 0(r31)
/* 800385DC 0003423C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800385E0 00034240 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13
/* 800385E4 00034244 54 60 02 D2 */ rlwinm r0, r3, 0, 0xb, 9
/* 800385E8 00034248 D0 1F 0D 78 */ stfs f0, 0xd78(r31)
/* 800385EC 0003424C 90 1F 00 00 */ stw r0, 0(r31)
/* 800385F0 00034250 41 82 00 44 */ beq lbl_80038634
/* 800385F4 00034254 7F E3 FB 78 */ mr r3, r31
/* 800385F8 00034258 38 80 00 00 */ li r4, 0
/* 800385FC 0003425C 48 00 3C 61 */ bl func_8003C25C
/* 80038600 00034260 54 7E 04 3E */ clrlwi r30, r3, 0x10
/* 80038604 00034264 7F E3 FB 78 */ mr r3, r31
/* 80038608 00034268 38 80 00 0A */ li r4, 0xa
/* 8003860C 0003426C 48 00 3C 51 */ bl func_8003C25C
/* 80038610 00034270 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80038614 00034274 7C 00 F0 40 */ cmplw r0, r30
/* 80038618 00034278 41 82 00 0C */ beq lbl_80038624
/* 8003861C 0003427C 3B C0 00 0A */ li r30, 0xa
/* 80038620 00034280 48 00 00 20 */ b lbl_80038640
lbl_80038624:
/* 80038624 00034284 C0 02 82 5C */ lfs f0, lbl_8064085C-_SDA2_BASE_(r2)
/* 80038628 00034288 3B C0 00 00 */ li r30, 0
/* 8003862C 0003428C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80038630 00034290 48 00 00 10 */ b lbl_80038640
lbl_80038634:
/* 80038634 00034294 54 00 4F FE */ rlwinm r0, r0, 9, 0x1f, 0x1f
/* 80038638 00034298 7C 00 00 D0 */ neg r0, r0
/* 8003863C 0003429C 54 1E 06 F6 */ rlwinm r30, r0, 0, 0x1b, 0x1b
lbl_80038640:
/* 80038640 000342A0 7F E3 FB 78 */ mr r3, r31
/* 80038644 000342A4 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 80038648 000342A8 38 A0 00 02 */ li r5, 2
/* 8003864C 000342AC 48 00 17 75 */ bl func_80039DC0
/* 80038650 000342B0 57 A0 F0 02 */ slwi r0, r29, 0x1e
/* 80038654 000342B4 57 A4 0F FE */ srwi r4, r29, 0x1f
/* 80038658 000342B8 7C 64 00 50 */ subf r3, r4, r0
/* 8003865C 000342BC C0 02 82 60 */ lfs f0, lbl_80640860-_SDA2_BASE_(r2)
/* 80038660 000342C0 54 63 10 3E */ rotlwi r3, r3, 2
/* 80038664 000342C4 3C 00 43 30 */ lis r0, 0x4330
/* 80038668 000342C8 7C 63 22 14 */ add r3, r3, r4
/* 8003866C 000342CC 90 01 00 20 */ stw r0, 0x20(r1)
/* 80038670 000342D0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80038674 000342D4 C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2)
/* 80038678 000342D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003867C 000342DC EC 20 00 72 */ fmuls f1, f0, f1
/* 80038680 000342E0 7F E3 FB 78 */ mr r3, r31
/* 80038684 000342E4 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 80038688 000342E8 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8003868C 000342EC EC 00 10 28 */ fsubs f0, f0, f2
/* 80038690 000342F0 EC 20 00 72 */ fmuls f1, f0, f1
/* 80038694 000342F4 48 00 0B 6D */ bl func_80039200
/* 80038698 000342F8 7F E3 FB 78 */ mr r3, r31
/* 8003869C 000342FC 38 81 00 08 */ addi r4, r1, 8
/* 800386A0 00034300 48 00 04 31 */ bl func_80038AD0
/* 800386A4 00034304 7F E3 FB 78 */ mr r3, r31
/* 800386A8 00034308 38 81 00 14 */ addi r4, r1, 0x14
/* 800386AC 0003430C 48 00 02 19 */ bl func_800388C4
/* 800386B0 00034310 80 7F 00 00 */ lwz r3, 0(r31)
/* 800386B4 00034314 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb
/* 800386B8 00034318 40 82 00 0C */ bne lbl_800386C4
/* 800386BC 0003431C 54 60 03 19 */ rlwinm. r0, r3, 0, 0xc, 0xc
/* 800386C0 00034320 41 82 00 FC */ beq lbl_800387BC
lbl_800386C4:
/* 800386C4 00034324 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
/* 800386C8 00034328 3B A0 00 00 */ li r29, 0
lbl_800386CC:
/* 800386CC 0003432C 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d
/* 800386D0 00034330 7F DF 02 14 */ add r30, r31, r0
/* 800386D4 00034334 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 800386D8 00034338 2C 03 00 00 */ cmpwi r3, 0
/* 800386DC 0003433C 41 82 00 44 */ beq lbl_80038720
/* 800386E0 00034340 3C 9D 00 01 */ addis r4, r29, 1
/* 800386E4 00034344 38 04 FF FF */ addi r0, r4, -1
/* 800386E8 00034348 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 800386EC 0003434C 28 00 00 01 */ cmplwi r0, 1
/* 800386F0 00034350 41 81 00 30 */ bgt lbl_80038720
/* 800386F4 00034354 81 83 01 00 */ lwz r12, 0x100(r3)
/* 800386F8 00034358 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 800386FC 0003435C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80038700 00034360 7D 89 03 A6 */ mtctr r12
/* 80038704 00034364 4E 80 04 21 */ bctrl
/* 80038708 00034368 80 7E 0C 90 */ lwz r3, 0xc90(r30)
/* 8003870C 0003436C 80 03 01 04 */ lwz r0, 0x104(r3)
/* 80038710 00034370 60 00 00 01 */ ori r0, r0, 1
/* 80038714 00034374 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80038718 00034378 90 03 01 04 */ stw r0, 0x104(r3)
/* 8003871C 0003437C D3 E3 01 08 */ stfs f31, 0x108(r3)
lbl_80038720:
/* 80038720 00034380 3B BD 00 01 */ addi r29, r29, 1
/* 80038724 00034384 28 1D 00 04 */ cmplwi r29, 4
/* 80038728 00034388 41 80 FF A4 */ blt lbl_800386CC
/* 8003872C 0003438C 48 00 00 90 */ b lbl_800387BC
lbl_80038730:
/* 80038730 00034390 7F C3 F3 78 */ mr r3, r30
/* 80038734 00034394 57 A4 07 BE */ clrlwi r4, r29, 0x1e
/* 80038738 00034398 38 A1 00 14 */ addi r5, r1, 0x14
/* 8003873C 0003439C 38 C1 00 0C */ addi r6, r1, 0xc
/* 80038740 000343A0 48 00 D4 49 */ bl func_80045B88
/* 80038744 000343A4 2C 03 00 00 */ cmpwi r3, 0
/* 80038748 000343A8 41 82 00 74 */ beq lbl_800387BC
/* 8003874C 000343AC 7F E3 FB 78 */ mr r3, r31
/* 80038750 000343B0 38 80 00 00 */ li r4, 0
/* 80038754 000343B4 38 A0 00 02 */ li r5, 2
/* 80038758 000343B8 48 00 16 69 */ bl func_80039DC0
/* 8003875C 000343BC 57 A0 F0 02 */ slwi r0, r29, 0x1e
/* 80038760 000343C0 57 A4 0F FE */ srwi r4, r29, 0x1f
/* 80038764 000343C4 7C 64 00 50 */ subf r3, r4, r0
/* 80038768 000343C8 C0 02 82 64 */ lfs f0, lbl_80640864-_SDA2_BASE_(r2)
/* 8003876C 000343CC 54 63 10 3E */ rotlwi r3, r3, 2
/* 80038770 000343D0 3C 00 43 30 */ lis r0, 0x4330
/* 80038774 000343D4 7C 63 22 14 */ add r3, r3, r4
/* 80038778 000343D8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8003877C 000343DC 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80038780 000343E0 C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2)
/* 80038784 000343E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80038788 000343E8 EC 20 00 72 */ fmuls f1, f0, f1
/* 8003878C 000343EC 7F E3 FB 78 */ mr r3, r31
/* 80038790 000343F0 38 80 00 00 */ li r4, 0
/* 80038794 000343F4 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80038798 000343F8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003879C 000343FC EC 20 00 72 */ fmuls f1, f0, f1
/* 800387A0 00034400 48 00 0A 61 */ bl func_80039200
/* 800387A4 00034404 7F E3 FB 78 */ mr r3, r31
/* 800387A8 00034408 38 81 00 08 */ addi r4, r1, 8
/* 800387AC 0003440C 48 00 03 25 */ bl func_80038AD0
/* 800387B0 00034410 7F E3 FB 78 */ mr r3, r31
/* 800387B4 00034414 38 81 00 14 */ addi r4, r1, 0x14
/* 800387B8 00034418 48 00 01 0D */ bl func_800388C4
lbl_800387BC:
/* 800387BC 0003441C E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 800387C0 00034420 80 01 00 54 */ lwz r0, 0x54(r1)
/* 800387C4 00034424 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 800387C8 00034428 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 800387CC 0003442C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 800387D0 00034430 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 800387D4 00034434 7C 08 03 A6 */ mtlr r0
/* 800387D8 00034438 38 21 00 50 */ addi r1, r1, 0x50
/* 800387DC 0003443C 4E 80 00 20 */ blr
.global func_800387E0
func_800387E0:
/* 800387E0 00034440 80 04 0C 04 */ lwz r0, 0xc04(r4)
/* 800387E4 00034444 2C 00 00 00 */ cmpwi r0, 0
/* 800387E8 00034448 41 82 00 20 */ beq lbl_80038808
/* 800387EC 0003444C C0 44 0C BC */ lfs f2, 0xcbc(r4)
/* 800387F0 00034450 C0 24 0C B8 */ lfs f1, 0xcb8(r4)
/* 800387F4 00034454 C0 04 0C B4 */ lfs f0, 0xcb4(r4)
/* 800387F8 00034458 D0 03 00 00 */ stfs f0, 0(r3)
/* 800387FC 0003445C D0 23 00 04 */ stfs f1, 4(r3)
/* 80038800 00034460 D0 43 00 08 */ stfs f2, 8(r3)
/* 80038804 00034464 4E 80 00 20 */ blr
lbl_80038808:
/* 80038808 00034468 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003880C 0003446C D0 03 00 00 */ stfs f0, 0(r3)
/* 80038810 00034470 D0 03 00 04 */ stfs f0, 4(r3)
/* 80038814 00034474 D0 03 00 08 */ stfs f0, 8(r3)
/* 80038818 00034478 4E 80 00 20 */ blr
.global func_8003881C
func_8003881C:
/* 8003881C 0003447C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80038820 00034480 7C 08 02 A6 */ mflr r0
/* 80038824 00034484 90 01 00 14 */ stw r0, 0x14(r1)
/* 80038828 00034488 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003882C 0003448C 7C 9F 23 78 */ mr r31, r4
/* 80038830 00034490 93 C1 00 08 */ stw r30, 8(r1)
/* 80038834 00034494 7C 7E 1B 78 */ mr r30, r3
/* 80038838 00034498 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 8003883C 0003449C 2C 05 00 00 */ cmpwi r5, 0
/* 80038840 000344A0 41 82 00 6C */ beq lbl_800388AC
/* 80038844 000344A4 80 65 00 08 */ lwz r3, 8(r5)
/* 80038848 000344A8 2C 03 00 00 */ cmpwi r3, 0
/* 8003884C 000344AC 41 82 00 30 */ beq lbl_8003887C
/* 80038850 000344B0 80 63 00 00 */ lwz r3, 0(r3)
/* 80038854 000344B4 2C 03 00 00 */ cmpwi r3, 0
/* 80038858 000344B8 41 82 00 24 */ beq lbl_8003887C
/* 8003885C 000344BC C0 04 00 00 */ lfs f0, 0(r4)
/* 80038860 000344C0 C0 24 00 04 */ lfs f1, 4(r4)
/* 80038864 000344C4 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80038868 000344C8 C0 04 00 08 */ lfs f0, 8(r4)
/* 8003886C 000344CC 38 80 00 01 */ li r4, 1
/* 80038870 000344D0 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 80038874 000344D4 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 80038878 000344D8 48 1B 9E 41 */ bl func_801F26B8
lbl_8003887C:
/* 8003887C 000344DC 80 BF 00 00 */ lwz r5, 0(r31)
/* 80038880 000344E0 38 7E 00 04 */ addi r3, r30, 4
/* 80038884 000344E4 80 9F 00 04 */ lwz r4, 4(r31)
/* 80038888 000344E8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8003888C 000344EC 90 BE 0C B4 */ stw r5, 0xcb4(r30)
/* 80038890 000344F0 90 9E 0C B8 */ stw r4, 0xcb8(r30)
/* 80038894 000344F4 90 1E 0C BC */ stw r0, 0xcbc(r30)
/* 80038898 000344F8 48 01 7A F1 */ bl func_80050388
/* 8003889C 000344FC 38 7E 00 28 */ addi r3, r30, 0x28
/* 800388A0 00034500 48 01 7A E9 */ bl func_80050388
/* 800388A4 00034504 38 7E 00 4C */ addi r3, r30, 0x4c
/* 800388A8 00034508 48 01 7A E1 */ bl func_80050388
lbl_800388AC:
/* 800388AC 0003450C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800388B0 00034510 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800388B4 00034514 83 C1 00 08 */ lwz r30, 8(r1)
/* 800388B8 00034518 7C 08 03 A6 */ mtlr r0
/* 800388BC 0003451C 38 21 00 10 */ addi r1, r1, 0x10
/* 800388C0 00034520 4E 80 00 20 */ blr
.global func_800388C4
func_800388C4:
/* 800388C4 00034524 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800388C8 00034528 7C 08 02 A6 */ mflr r0
/* 800388CC 0003452C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800388D0 00034530 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800388D4 00034534 7C 7F 1B 78 */ mr r31, r3
/* 800388D8 00034538 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 800388DC 0003453C 2C 00 00 00 */ cmpwi r0, 0
/* 800388E0 00034540 41 82 00 20 */ beq lbl_80038900
/* 800388E4 00034544 4B FF FF 39 */ bl func_8003881C
/* 800388E8 00034548 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 800388EC 0003454C 38 80 00 01 */ li r4, 1
/* 800388F0 00034550 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 800388F4 00034554 48 1B DF 55 */ bl func_801F6848
/* 800388F8 00034558 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 800388FC 0003455C 48 1B D1 A1 */ bl func_801F5A9C
lbl_80038900:
/* 80038900 00034560 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80038904 00034564 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80038908 00034568 7C 08 03 A6 */ mtlr r0
/* 8003890C 0003456C 38 21 00 10 */ addi r1, r1, 0x10
/* 80038910 00034570 4E 80 00 20 */ blr
.global func_80038914
func_80038914:
/* 80038914 00034574 80 04 0C 04 */ lwz r0, 0xc04(r4)
/* 80038918 00034578 2C 00 00 00 */ cmpwi r0, 0
/* 8003891C 0003457C 41 82 00 20 */ beq lbl_8003893C
/* 80038920 00034580 C0 44 0C D4 */ lfs f2, 0xcd4(r4)
/* 80038924 00034584 C0 24 0C D0 */ lfs f1, 0xcd0(r4)
/* 80038928 00034588 C0 04 0C CC */ lfs f0, 0xccc(r4)
/* 8003892C 0003458C D0 03 00 00 */ stfs f0, 0(r3)
/* 80038930 00034590 D0 23 00 04 */ stfs f1, 4(r3)
/* 80038934 00034594 D0 43 00 08 */ stfs f2, 8(r3)
/* 80038938 00034598 4E 80 00 20 */ blr
lbl_8003893C:
/* 8003893C 0003459C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80038940 000345A0 D0 03 00 00 */ stfs f0, 0(r3)
/* 80038944 000345A4 D0 03 00 04 */ stfs f0, 4(r3)
/* 80038948 000345A8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8003894C 000345AC 4E 80 00 20 */ blr
.global func_80038950
func_80038950:
/* 80038950 000345B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80038954 000345B4 7C 08 02 A6 */ mflr r0
/* 80038958 000345B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003895C 000345BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80038960 000345C0 7C 9F 23 78 */ mr r31, r4
/* 80038964 000345C4 93 C1 00 08 */ stw r30, 8(r1)
/* 80038968 000345C8 7C 7E 1B 78 */ mr r30, r3
/* 8003896C 000345CC 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 80038970 000345D0 2C 05 00 00 */ cmpwi r5, 0
/* 80038974 000345D4 41 82 01 08 */ beq lbl_80038A7C
/* 80038978 000345D8 80 65 00 08 */ lwz r3, 8(r5)
/* 8003897C 000345DC 2C 03 00 00 */ cmpwi r3, 0
/* 80038980 000345E0 41 82 00 CC */ beq lbl_80038A4C
/* 80038984 000345E4 80 63 00 00 */ lwz r3, 0(r3)
/* 80038988 000345E8 2C 03 00 00 */ cmpwi r3, 0
/* 8003898C 000345EC 41 82 00 C0 */ beq lbl_80038A4C
/* 80038990 000345F0 C0 04 00 00 */ lfs f0, 0(r4)
/* 80038994 000345F4 C0 42 82 70 */ lfs f2, lbl_80640870-_SDA2_BASE_(r2)
/* 80038998 000345F8 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 8003899C 000345FC C0 24 00 04 */ lfs f1, 4(r4)
/* 800389A0 00034600 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 800389A4 00034604 C0 04 00 08 */ lfs f0, 8(r4)
/* 800389A8 00034608 D0 23 00 4C */ stfs f1, 0x4c(r3)
/* 800389AC 0003460C D0 03 00 50 */ stfs f0, 0x50(r3)
/* 800389B0 00034610 40 80 00 2C */ bge lbl_800389DC
/* 800389B4 00034614 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 800389B8 00034618 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 800389BC 0003461C FC 01 18 40 */ fcmpo cr0, f1, f3
/* 800389C0 00034620 40 81 00 1C */ ble lbl_800389DC
/* 800389C4 00034624 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800389C8 00034628 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800389CC 0003462C 40 80 00 08 */ bge lbl_800389D4
/* 800389D0 00034630 48 00 00 08 */ b lbl_800389D8
lbl_800389D4:
/* 800389D4 00034634 FC 60 10 90 */ fmr f3, f2
lbl_800389D8:
/* 800389D8 00034638 D0 63 00 48 */ stfs f3, 0x48(r3)
lbl_800389DC:
/* 800389DC 0003463C C0 43 00 4C */ lfs f2, 0x4c(r3)
/* 800389E0 00034640 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2)
/* 800389E4 00034644 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 800389E8 00034648 40 80 00 28 */ bge lbl_80038A10
/* 800389EC 0003464C C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 800389F0 00034650 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 800389F4 00034654 40 81 00 1C */ ble lbl_80038A10
/* 800389F8 00034658 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800389FC 0003465C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80038A00 00034660 40 80 00 08 */ bge lbl_80038A08
/* 80038A04 00034664 48 00 00 08 */ b lbl_80038A0C
lbl_80038A08:
/* 80038A08 00034668 FC 60 08 90 */ fmr f3, f1
lbl_80038A0C:
/* 80038A0C 0003466C D0 63 00 4C */ stfs f3, 0x4c(r3)
lbl_80038A10:
/* 80038A10 00034670 C0 43 00 50 */ lfs f2, 0x50(r3)
/* 80038A14 00034674 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2)
/* 80038A18 00034678 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80038A1C 0003467C 40 80 00 28 */ bge lbl_80038A44
/* 80038A20 00034680 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 80038A24 00034684 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 80038A28 00034688 40 81 00 1C */ ble lbl_80038A44
/* 80038A2C 0003468C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80038A30 00034690 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80038A34 00034694 40 80 00 08 */ bge lbl_80038A3C
/* 80038A38 00034698 48 00 00 08 */ b lbl_80038A40
lbl_80038A3C:
/* 80038A3C 0003469C FC 60 08 90 */ fmr f3, f1
lbl_80038A40:
/* 80038A40 000346A0 D0 63 00 50 */ stfs f3, 0x50(r3)
lbl_80038A44:
/* 80038A44 000346A4 38 80 00 01 */ li r4, 1
/* 80038A48 000346A8 48 1B 9C 71 */ bl func_801F26B8
lbl_80038A4C:
/* 80038A4C 000346AC 80 BF 00 00 */ lwz r5, 0(r31)
/* 80038A50 000346B0 38 7E 00 DC */ addi r3, r30, 0xdc
/* 80038A54 000346B4 80 9F 00 04 */ lwz r4, 4(r31)
/* 80038A58 000346B8 80 1F 00 08 */ lwz r0, 8(r31)
/* 80038A5C 000346BC 90 BE 0C CC */ stw r5, 0xccc(r30)
/* 80038A60 000346C0 90 9E 0C D0 */ stw r4, 0xcd0(r30)
/* 80038A64 000346C4 90 1E 0C D4 */ stw r0, 0xcd4(r30)
/* 80038A68 000346C8 48 01 79 21 */ bl func_80050388
/* 80038A6C 000346CC 38 7E 01 00 */ addi r3, r30, 0x100
/* 80038A70 000346D0 48 01 79 19 */ bl func_80050388
/* 80038A74 000346D4 38 7E 01 24 */ addi r3, r30, 0x124
/* 80038A78 000346D8 48 01 79 11 */ bl func_80050388
lbl_80038A7C:
/* 80038A7C 000346DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80038A80 000346E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80038A84 000346E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80038A88 000346E8 7C 08 03 A6 */ mtlr r0
/* 80038A8C 000346EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80038A90 000346F0 4E 80 00 20 */ blr
.global func_80038A94
func_80038A94:
/* 80038A94 000346F4 80 04 0C 04 */ lwz r0, 0xc04(r4)
/* 80038A98 000346F8 2C 00 00 00 */ cmpwi r0, 0
/* 80038A9C 000346FC 41 82 00 20 */ beq lbl_80038ABC
/* 80038AA0 00034700 C0 44 0C C8 */ lfs f2, 0xcc8(r4)
/* 80038AA4 00034704 C0 24 0C C4 */ lfs f1, 0xcc4(r4)
/* 80038AA8 00034708 C0 04 0C C0 */ lfs f0, 0xcc0(r4)
/* 80038AAC 0003470C D0 03 00 00 */ stfs f0, 0(r3)
/* 80038AB0 00034710 D0 23 00 04 */ stfs f1, 4(r3)
/* 80038AB4 00034714 D0 43 00 08 */ stfs f2, 8(r3)
/* 80038AB8 00034718 4E 80 00 20 */ blr
lbl_80038ABC:
/* 80038ABC 0003471C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80038AC0 00034720 D0 03 00 00 */ stfs f0, 0(r3)
/* 80038AC4 00034724 D0 03 00 04 */ stfs f0, 4(r3)
/* 80038AC8 00034728 D0 03 00 08 */ stfs f0, 8(r3)
/* 80038ACC 0003472C 4E 80 00 20 */ blr
.global func_80038AD0
func_80038AD0:
/* 80038AD0 00034730 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80038AD4 00034734 7C 08 02 A6 */ mflr r0
/* 80038AD8 00034738 90 01 00 24 */ stw r0, 0x24(r1)
/* 80038ADC 0003473C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80038AE0 00034740 7C 7F 1B 78 */ mr r31, r3
/* 80038AE4 00034744 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 80038AE8 00034748 2C 00 00 00 */ cmpwi r0, 0
/* 80038AEC 0003474C 41 82 00 8C */ beq lbl_80038B78
/* 80038AF0 00034750 80 C4 00 00 */ lwz r6, 0(r4)
/* 80038AF4 00034754 80 A4 00 04 */ lwz r5, 4(r4)
/* 80038AF8 00034758 80 04 00 08 */ lwz r0, 8(r4)
/* 80038AFC 0003475C 90 C3 0C C0 */ stw r6, 0xcc0(r3)
/* 80038B00 00034760 90 A3 0C C4 */ stw r5, 0xcc4(r3)
/* 80038B04 00034764 90 03 0C C8 */ stw r0, 0xcc8(r3)
/* 80038B08 00034768 38 61 00 08 */ addi r3, r1, 8
/* 80038B0C 0003476C 48 1E AB B5 */ bl func_802236C0
/* 80038B10 00034770 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80038B14 00034774 80 63 00 08 */ lwz r3, 8(r3)
/* 80038B18 00034778 2C 03 00 00 */ cmpwi r3, 0
/* 80038B1C 0003477C 41 82 00 44 */ beq lbl_80038B60
/* 80038B20 00034780 80 63 00 00 */ lwz r3, 0(r3)
/* 80038B24 00034784 2C 03 00 00 */ cmpwi r3, 0
/* 80038B28 00034788 41 82 00 38 */ beq lbl_80038B60
/* 80038B2C 0003478C C0 01 00 08 */ lfs f0, 8(r1)
/* 80038B30 00034790 38 80 00 01 */ li r4, 1
/* 80038B34 00034794 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 80038B38 00034798 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80038B3C 0003479C D0 03 00 30 */ stfs f0, 0x30(r3)
/* 80038B40 000347A0 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80038B44 000347A4 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 80038B48 000347A8 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80038B4C 000347AC D0 03 00 38 */ stfs f0, 0x38(r3)
/* 80038B50 000347B0 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80038B54 000347B4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80038B58 000347B8 B0 03 00 10 */ sth r0, 0x10(r3)
/* 80038B5C 000347BC 48 1B 9B 5D */ bl func_801F26B8
lbl_80038B60:
/* 80038B60 000347C0 38 7F 00 70 */ addi r3, r31, 0x70
/* 80038B64 000347C4 48 01 78 25 */ bl func_80050388
/* 80038B68 000347C8 38 7F 00 94 */ addi r3, r31, 0x94
/* 80038B6C 000347CC 48 01 78 1D */ bl func_80050388
/* 80038B70 000347D0 38 7F 00 B8 */ addi r3, r31, 0xb8
/* 80038B74 000347D4 48 01 78 15 */ bl func_80050388
lbl_80038B78:
/* 80038B78 000347D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80038B7C 000347DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80038B80 000347E0 7C 08 03 A6 */ mtlr r0
/* 80038B84 000347E4 38 21 00 20 */ addi r1, r1, 0x20
/* 80038B88 000347E8 4E 80 00 20 */ blr
.global func_80038B8C
func_80038B8C:
/* 80038B8C 000347EC 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80038B90 000347F0 7C 08 02 A6 */ mflr r0
/* 80038B94 000347F4 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80038B98 000347F8 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 80038B9C 000347FC F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 80038BA0 00034800 DB C1 00 80 */ stfd f30, 0x80(r1)
/* 80038BA4 00034804 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 80038BA8 00034808 DB A1 00 70 */ stfd f29, 0x70(r1)
/* 80038BAC 0003480C F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0
/* 80038BB0 00034810 3C 00 43 30 */ lis r0, 0x4330
/* 80038BB4 00034814 C3 C2 82 78 */ lfs f30, lbl_80640878-_SDA2_BASE_(r2)
/* 80038BB8 00034818 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 80038BBC 0003481C 7C 9F 23 78 */ mr r31, r4
/* 80038BC0 00034820 93 C1 00 68 */ stw r30, 0x68(r1)
/* 80038BC4 00034824 7C 7E 1B 78 */ mr r30, r3
/* 80038BC8 00034828 7F C4 F3 78 */ mr r4, r30
/* 80038BCC 0003482C 38 61 00 20 */ addi r3, r1, 0x20
/* 80038BD0 00034830 90 01 00 48 */ stw r0, 0x48(r1)
/* 80038BD4 00034834 90 01 00 50 */ stw r0, 0x50(r1)
/* 80038BD8 00034838 4B FF FE BD */ bl func_80038A94
/* 80038BDC 0003483C C3 A1 00 24 */ lfs f29, 0x24(r1)
/* 80038BE0 00034840 7F C4 F3 78 */ mr r4, r30
/* 80038BE4 00034844 38 61 00 14 */ addi r3, r1, 0x14
/* 80038BE8 00034848 4B FF FB F9 */ bl func_800387E0
/* 80038BEC 0003484C 7F E3 FB 78 */ mr r3, r31
/* 80038BF0 00034850 38 81 00 14 */ addi r4, r1, 0x14
/* 80038BF4 00034854 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80038BF8 00034858 48 24 40 F1 */ bl PSVECSubtract
/* 80038BFC 0003485C C0 41 00 34 */ lfs f2, 0x34(r1)
/* 80038C00 00034860 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 80038C04 00034864 48 19 B9 D9 */ bl atan2
/* 80038C08 00034868 EC 5D F0 24 */ fdivs f2, f29, f30
/* 80038C0C 0003486C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80038C10 00034870 FC 40 10 1E */ fctiwz f2, f2
/* 80038C14 00034874 FF E0 08 18 */ frsp f31, f1
/* 80038C18 00034878 FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 80038C1C 0003487C D8 41 00 58 */ stfd f2, 0x58(r1)
/* 80038C20 00034880 80 61 00 5C */ lwz r3, 0x5c(r1)
/* 80038C24 00034884 40 80 00 38 */ bge lbl_80038C5C
/* 80038C28 00034888 38 03 FF FF */ addi r0, r3, -1
/* 80038C2C 0003488C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80038C30 00034890 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80038C34 00034894 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80038C38 00034898 C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2)
/* 80038C3C 0003489C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80038C40 000348A0 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 80038C44 000348A4 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80038C48 000348A8 EC 21 10 28 */ fsubs f1, f1, f2
/* 80038C4C 000348AC EC 00 10 28 */ fsubs f0, f0, f2
/* 80038C50 000348B0 EC 21 07 B2 */ fmuls f1, f1, f30
/* 80038C54 000348B4 EC 40 07 B2 */ fmuls f2, f0, f30
/* 80038C58 000348B8 48 00 00 3C */ b lbl_80038C94
lbl_80038C5C:
/* 80038C5C 000348BC 38 03 00 01 */ addi r0, r3, 1
/* 80038C60 000348C0 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80038C64 000348C4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80038C68 000348C8 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80038C6C 000348CC C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2)
/* 80038C70 000348D0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80038C74 000348D4 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 80038C78 000348D8 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80038C7C 000348DC EC 21 10 28 */ fsubs f1, f1, f2
/* 80038C80 000348E0 EC 00 10 28 */ fsubs f0, f0, f2
/* 80038C84 000348E4 EC 41 07 B2 */ fmuls f2, f1, f30
/* 80038C88 000348E8 EC 20 07 B2 */ fmuls f1, f0, f30
/* 80038C8C 000348EC 48 00 00 08 */ b lbl_80038C94
lbl_80038C90:
/* 80038C90 000348F0 EF FF F0 2A */ fadds f31, f31, f30
lbl_80038C94:
/* 80038C94 000348F4 FC 1F 10 40 */ fcmpo cr0, f31, f2
/* 80038C98 000348F8 41 80 FF F8 */ blt lbl_80038C90
/* 80038C9C 000348FC 48 00 00 08 */ b lbl_80038CA4
lbl_80038CA0:
/* 80038CA0 00034900 EF FF F0 28 */ fsubs f31, f31, f30
lbl_80038CA4:
/* 80038CA4 00034904 FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 80038CA8 00034908 41 81 FF F8 */ bgt lbl_80038CA0
/* 80038CAC 0003490C 7F C4 F3 78 */ mr r4, r30
/* 80038CB0 00034910 38 61 00 08 */ addi r3, r1, 8
/* 80038CB4 00034914 4B FF FD E1 */ bl func_80038A94
/* 80038CB8 00034918 C0 21 00 08 */ lfs f1, 8(r1)
/* 80038CBC 0003491C 7F C3 F3 78 */ mr r3, r30
/* 80038CC0 00034920 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80038CC4 00034924 38 81 00 38 */ addi r4, r1, 0x38
/* 80038CC8 00034928 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80038CCC 0003492C D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80038CD0 00034930 D3 E1 00 3C */ stfs f31, 0x3c(r1)
/* 80038CD4 00034934 4B FF FD FD */ bl func_80038AD0
/* 80038CD8 00034938 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 80038CDC 0003493C CB E1 00 90 */ lfd f31, 0x90(r1)
/* 80038CE0 00034940 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 80038CE4 00034944 CB C1 00 80 */ lfd f30, 0x80(r1)
/* 80038CE8 00034948 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0
/* 80038CEC 0003494C CB A1 00 70 */ lfd f29, 0x70(r1)
/* 80038CF0 00034950 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 80038CF4 00034954 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80038CF8 00034958 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 80038CFC 0003495C 7C 08 03 A6 */ mtlr r0
/* 80038D00 00034960 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80038D04 00034964 4E 80 00 20 */ blr
.global func_80038D08
func_80038D08:
/* 80038D08 00034968 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80038D0C 0003496C 7C 08 02 A6 */ mflr r0
/* 80038D10 00034970 90 01 00 84 */ stw r0, 0x84(r1)
/* 80038D14 00034974 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 80038D18 00034978 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 80038D1C 0003497C DB C1 00 60 */ stfd f30, 0x60(r1)
/* 80038D20 00034980 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 80038D24 00034984 FF C0 08 90 */ fmr f30, f1
/* 80038D28 00034988 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80038D2C 0003498C 7C BF 2B 78 */ mr r31, r5
/* 80038D30 00034990 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80038D34 00034994 7C 9E 23 78 */ mr r30, r4
/* 80038D38 00034998 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80038D3C 0003499C 7C 7D 1B 78 */ mr r29, r3
/* 80038D40 000349A0 A0 03 05 1C */ lhz r0, 0x51c(r3)
/* 80038D44 000349A4 28 00 00 09 */ cmplwi r0, 9
/* 80038D48 000349A8 40 80 00 10 */ bge lbl_80038D58
/* 80038D4C 000349AC 88 03 05 20 */ lbz r0, 0x520(r3)
/* 80038D50 000349B0 2C 00 00 00 */ cmpwi r0, 0
/* 80038D54 000349B4 40 82 00 D8 */ bne lbl_80038E2C
lbl_80038D58:
/* 80038D58 000349B8 7F A4 EB 78 */ mr r4, r29
/* 80038D5C 000349BC 38 61 00 20 */ addi r3, r1, 0x20
/* 80038D60 000349C0 38 A0 00 0E */ li r5, 0xe
/* 80038D64 000349C4 48 00 29 11 */ bl func_8003B674
/* 80038D68 000349C8 7F C4 F3 78 */ mr r4, r30
/* 80038D6C 000349CC 38 61 00 2C */ addi r3, r1, 0x2c
/* 80038D70 000349D0 38 A0 00 0A */ li r5, 0xa
/* 80038D74 000349D4 48 00 29 01 */ bl func_8003B674
/* 80038D78 000349D8 38 61 00 2C */ addi r3, r1, 0x2c
/* 80038D7C 000349DC 38 81 00 20 */ addi r4, r1, 0x20
/* 80038D80 000349E0 38 A1 00 38 */ addi r5, r1, 0x38
/* 80038D84 000349E4 48 24 3F 65 */ bl PSVECSubtract
/* 80038D88 000349E8 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 80038D8C 000349EC C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80038D90 000349F0 48 19 B8 4D */ bl atan2
/* 80038D94 000349F4 FF E0 08 18 */ frsp f31, f1
/* 80038D98 000349F8 7F A4 EB 78 */ mr r4, r29
/* 80038D9C 000349FC 38 61 00 14 */ addi r3, r1, 0x14
/* 80038DA0 00034A00 4B FF FC F5 */ bl func_80038A94
/* 80038DA4 00034A04 FC 40 F8 90 */ fmr f2, f31
/* 80038DA8 00034A08 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80038DAC 00034A0C 7F A3 EB 78 */ mr r3, r29
/* 80038DB0 00034A10 48 00 1C C5 */ bl func_8003AA74
/* 80038DB4 00034A14 EF FF 08 28 */ fsubs f31, f31, f1
/* 80038DB8 00034A18 38 61 00 38 */ addi r3, r1, 0x38
/* 80038DBC 00034A1C 48 24 3F C9 */ bl PSVECMag
/* 80038DC0 00034A20 C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 80038DC4 00034A24 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 80038DC8 00034A28 EC 22 08 24 */ fdivs f1, f2, f1
/* 80038DCC 00034A2C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80038DD0 00034A30 4C 41 13 82 */ cror 2, 1, 2
/* 80038DD4 00034A34 40 82 00 0C */ bne lbl_80038DE0
/* 80038DD8 00034A38 C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2)
/* 80038DDC 00034A3C 48 00 00 24 */ b lbl_80038E00
lbl_80038DE0:
/* 80038DE0 00034A40 C0 02 82 44 */ lfs f0, lbl_80640844-_SDA2_BASE_(r2)
/* 80038DE4 00034A44 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80038DE8 00034A48 4C 40 13 82 */ cror 2, 0, 2
/* 80038DEC 00034A4C 40 82 00 0C */ bne lbl_80038DF8
/* 80038DF0 00034A50 C0 02 82 80 */ lfs f0, lbl_80640880-_SDA2_BASE_(r2)
/* 80038DF4 00034A54 48 00 00 0C */ b lbl_80038E00
lbl_80038DF8:
/* 80038DF8 00034A58 48 19 B7 E1 */ bl asin
/* 80038DFC 00034A5C FC 00 08 18 */ frsp f0, f1
lbl_80038E00:
/* 80038E00 00034A60 FC 40 00 50 */ fneg f2, f0
/* 80038E04 00034A64 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80038E08 00034A68 FC 20 F0 90 */ fmr f1, f30
/* 80038E0C 00034A6C D3 E1 00 0C */ stfs f31, 0xc(r1)
/* 80038E10 00034A70 7F A3 EB 78 */ mr r3, r29
/* 80038E14 00034A74 7F E6 FB 78 */ mr r6, r31
/* 80038E18 00034A78 D0 41 00 08 */ stfs f2, 8(r1)
/* 80038E1C 00034A7C 38 81 00 08 */ addi r4, r1, 8
/* 80038E20 00034A80 38 A0 00 0E */ li r5, 0xe
/* 80038E24 00034A84 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80038E28 00034A88 48 00 18 A1 */ bl func_8003A6C8
lbl_80038E2C:
/* 80038E2C 00034A8C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 80038E30 00034A90 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80038E34 00034A94 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 80038E38 00034A98 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 80038E3C 00034A9C 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80038E40 00034AA0 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80038E44 00034AA4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80038E48 00034AA8 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80038E4C 00034AAC 7C 08 03 A6 */ mtlr r0
/* 80038E50 00034AB0 38 21 00 80 */ addi r1, r1, 0x80
/* 80038E54 00034AB4 4E 80 00 20 */ blr
.global func_80038E58
func_80038E58:
/* 80038E58 00034AB8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80038E5C 00034ABC 7C 08 02 A6 */ mflr r0
/* 80038E60 00034AC0 90 01 00 74 */ stw r0, 0x74(r1)
/* 80038E64 00034AC4 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80038E68 00034AC8 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80038E6C 00034ACC DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80038E70 00034AD0 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 80038E74 00034AD4 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80038E78 00034AD8 7C 9F 23 78 */ mr r31, r4
/* 80038E7C 00034ADC 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80038E80 00034AE0 7C 7E 1B 78 */ mr r30, r3
/* 80038E84 00034AE4 A0 03 05 1C */ lhz r0, 0x51c(r3)
/* 80038E88 00034AE8 28 00 00 09 */ cmplwi r0, 9
/* 80038E8C 00034AEC 40 80 00 10 */ bge lbl_80038E9C
/* 80038E90 00034AF0 88 03 05 20 */ lbz r0, 0x520(r3)
/* 80038E94 00034AF4 2C 00 00 00 */ cmpwi r0, 0
/* 80038E98 00034AF8 40 82 00 F0 */ bne lbl_80038F88
lbl_80038E9C:
/* 80038E9C 00034AFC C3 C2 82 84 */ lfs f30, lbl_80640884-_SDA2_BASE_(r2)
/* 80038EA0 00034B00 7F C4 F3 78 */ mr r4, r30
/* 80038EA4 00034B04 38 61 00 20 */ addi r3, r1, 0x20
/* 80038EA8 00034B08 38 A0 00 0E */ li r5, 0xe
/* 80038EAC 00034B0C 48 00 27 C9 */ bl func_8003B674
/* 80038EB0 00034B10 7F E4 FB 78 */ mr r4, r31
/* 80038EB4 00034B14 38 61 00 2C */ addi r3, r1, 0x2c
/* 80038EB8 00034B18 38 A0 00 0A */ li r5, 0xa
/* 80038EBC 00034B1C 48 00 27 B9 */ bl func_8003B674
/* 80038EC0 00034B20 38 61 00 2C */ addi r3, r1, 0x2c
/* 80038EC4 00034B24 38 81 00 20 */ addi r4, r1, 0x20
/* 80038EC8 00034B28 38 A1 00 38 */ addi r5, r1, 0x38
/* 80038ECC 00034B2C 48 24 3E 1D */ bl PSVECSubtract
/* 80038ED0 00034B30 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 80038ED4 00034B34 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80038ED8 00034B38 48 19 B7 05 */ bl atan2
/* 80038EDC 00034B3C FF E0 08 18 */ frsp f31, f1
/* 80038EE0 00034B40 7F C4 F3 78 */ mr r4, r30
/* 80038EE4 00034B44 38 61 00 14 */ addi r3, r1, 0x14
/* 80038EE8 00034B48 4B FF FB AD */ bl func_80038A94
/* 80038EEC 00034B4C FC 40 F8 90 */ fmr f2, f31
/* 80038EF0 00034B50 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80038EF4 00034B54 7F C3 F3 78 */ mr r3, r30
/* 80038EF8 00034B58 48 00 1B 7D */ bl func_8003AA74
/* 80038EFC 00034B5C EF FF 08 28 */ fsubs f31, f31, f1
/* 80038F00 00034B60 FC 1F F0 40 */ fcmpo cr0, f31, f30
/* 80038F04 00034B64 40 81 00 08 */ ble lbl_80038F0C
/* 80038F08 00034B68 FF E0 F0 90 */ fmr f31, f30
lbl_80038F0C:
/* 80038F0C 00034B6C FC 00 F0 50 */ fneg f0, f30
/* 80038F10 00034B70 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 80038F14 00034B74 40 80 00 08 */ bge lbl_80038F1C
/* 80038F18 00034B78 FF E0 00 90 */ fmr f31, f0
lbl_80038F1C:
/* 80038F1C 00034B7C 38 61 00 38 */ addi r3, r1, 0x38
/* 80038F20 00034B80 48 24 3E 65 */ bl PSVECMag
/* 80038F24 00034B84 C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 80038F28 00034B88 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 80038F2C 00034B8C EC 22 08 24 */ fdivs f1, f2, f1
/* 80038F30 00034B90 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80038F34 00034B94 4C 41 13 82 */ cror 2, 1, 2
/* 80038F38 00034B98 40 82 00 0C */ bne lbl_80038F44
/* 80038F3C 00034B9C C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2)
/* 80038F40 00034BA0 48 00 00 24 */ b lbl_80038F64
lbl_80038F44:
/* 80038F44 00034BA4 C0 02 82 44 */ lfs f0, lbl_80640844-_SDA2_BASE_(r2)
/* 80038F48 00034BA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80038F4C 00034BAC 4C 40 13 82 */ cror 2, 0, 2
/* 80038F50 00034BB0 40 82 00 0C */ bne lbl_80038F5C
/* 80038F54 00034BB4 C0 02 82 80 */ lfs f0, lbl_80640880-_SDA2_BASE_(r2)
/* 80038F58 00034BB8 48 00 00 0C */ b lbl_80038F64
lbl_80038F5C:
/* 80038F5C 00034BBC 48 19 B6 7D */ bl asin
/* 80038F60 00034BC0 FC 00 08 18 */ frsp f0, f1
lbl_80038F64:
/* 80038F64 00034BC4 FC 20 00 50 */ fneg f1, f0
/* 80038F68 00034BC8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80038F6C 00034BCC D3 E1 00 0C */ stfs f31, 0xc(r1)
/* 80038F70 00034BD0 7F C3 F3 78 */ mr r3, r30
/* 80038F74 00034BD4 38 81 00 08 */ addi r4, r1, 8
/* 80038F78 00034BD8 38 A0 00 0E */ li r5, 0xe
/* 80038F7C 00034BDC D0 21 00 08 */ stfs f1, 8(r1)
/* 80038F80 00034BE0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80038F84 00034BE4 48 00 19 D5 */ bl func_8003A958
lbl_80038F88:
/* 80038F88 00034BE8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80038F8C 00034BEC CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80038F90 00034BF0 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 80038F94 00034BF4 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 80038F98 00034BF8 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80038F9C 00034BFC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80038FA0 00034C00 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80038FA4 00034C04 7C 08 03 A6 */ mtlr r0
/* 80038FA8 00034C08 38 21 00 70 */ addi r1, r1, 0x70
/* 80038FAC 00034C0C 4E 80 00 20 */ blr
.global func_80038FB0
func_80038FB0:
/* 80038FB0 00034C10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80038FB4 00034C14 7C 08 02 A6 */ mflr r0
/* 80038FB8 00034C18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80038FBC 00034C1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80038FC0 00034C20 7C 7F 1B 78 */ mr r31, r3
/* 80038FC4 00034C24 A0 03 05 1C */ lhz r0, 0x51c(r3)
/* 80038FC8 00034C28 28 00 00 09 */ cmplwi r0, 9
/* 80038FCC 00034C2C 40 80 00 10 */ bge lbl_80038FDC
/* 80038FD0 00034C30 88 03 05 20 */ lbz r0, 0x520(r3)
/* 80038FD4 00034C34 2C 00 00 00 */ cmpwi r0, 0
/* 80038FD8 00034C38 40 82 00 A4 */ bne lbl_8003907C
lbl_80038FDC:
/* 80038FDC 00034C3C 38 63 04 60 */ addi r3, r3, 0x460
/* 80038FE0 00034C40 48 01 75 E1 */ bl func_800505C0
/* 80038FE4 00034C44 3C 80 80 49 */ lis r4, lbl_8049362C@ha
/* 80038FE8 00034C48 7F E3 FB 78 */ mr r3, r31
/* 80038FEC 00034C4C 38 84 36 2C */ addi r4, r4, lbl_8049362C@l
/* 80038FF0 00034C50 38 A0 00 0E */ li r5, 0xe
/* 80038FF4 00034C54 48 00 19 65 */ bl func_8003A958
/* 80038FF8 00034C58 80 1F 0C 04 */ lwz r0, 0xc04(r31)
/* 80038FFC 00034C5C 2C 00 00 00 */ cmpwi r0, 0
/* 80039000 00034C60 41 82 00 7C */ beq lbl_8003907C
/* 80039004 00034C64 7F E3 FB 78 */ mr r3, r31
/* 80039008 00034C68 38 80 00 0E */ li r4, 0xe
/* 8003900C 00034C6C 48 00 08 2D */ bl func_80039838
/* 80039010 00034C70 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 80039014 00034C74 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80039018 00034C78 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003901C 00034C7C 2C 05 00 00 */ cmpwi r5, 0
/* 80039020 00034C80 40 82 00 0C */ bne lbl_8003902C
/* 80039024 00034C84 38 60 00 00 */ li r3, 0
/* 80039028 00034C88 48 00 00 20 */ b lbl_80039048
lbl_8003902C:
/* 8003902C 00034C8C A0 04 00 DE */ lhz r0, 0xde(r4)
/* 80039030 00034C90 7C 03 00 40 */ cmplw r3, r0
/* 80039034 00034C94 41 80 00 0C */ blt lbl_80039040
/* 80039038 00034C98 38 60 00 00 */ li r3, 0
/* 8003903C 00034C9C 48 00 00 0C */ b lbl_80039048
lbl_80039040:
/* 80039040 00034CA0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 80039044 00034CA4 7C 65 00 2E */ lwzx r3, r5, r0
lbl_80039048:
/* 80039048 00034CA8 2C 03 00 00 */ cmpwi r3, 0
/* 8003904C 00034CAC 41 82 00 30 */ beq lbl_8003907C
/* 80039050 00034CB0 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80039054 00034CB4 2C 04 00 00 */ cmpwi r4, 0
/* 80039058 00034CB8 41 82 00 0C */ beq lbl_80039064
/* 8003905C 00034CBC A0 84 00 08 */ lhz r4, 8(r4)
/* 80039060 00034CC0 48 00 00 08 */ b lbl_80039068
lbl_80039064:
/* 80039064 00034CC4 38 80 00 00 */ li r4, 0
lbl_80039068:
/* 80039068 00034CC8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003906C 00034CCC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80039070 00034CD0 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 80039074 00034CD4 38 A0 00 01 */ li r5, 1
/* 80039078 00034CD8 48 1A 4D D5 */ bl func_801DDE4C__13GSblendObjectFUsUsff
lbl_8003907C:
/* 8003907C 00034CDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039080 00034CE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039084 00034CE4 7C 08 03 A6 */ mtlr r0
/* 80039088 00034CE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003908C 00034CEC 4E 80 00 20 */ blr
.global func_80039090
func_80039090:
/* 80039090 00034CF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80039094 00034CF4 7C 08 02 A6 */ mflr r0
/* 80039098 00034CF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003909C 00034CFC DB E1 00 10 */ stfd f31, 0x10(r1)
/* 800390A0 00034D00 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 800390A4 00034D04 FF E0 08 90 */ fmr f31, f1
/* 800390A8 00034D08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800390AC 00034D0C 7C 9F 23 78 */ mr r31, r4
/* 800390B0 00034D10 93 C1 00 08 */ stw r30, 8(r1)
/* 800390B4 00034D14 7C 7E 1B 78 */ mr r30, r3
/* 800390B8 00034D18 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 800390BC 00034D1C 2C 00 00 00 */ cmpwi r0, 0
/* 800390C0 00034D20 40 82 00 0C */ bne lbl_800390CC
/* 800390C4 00034D24 38 60 00 00 */ li r3, 0
/* 800390C8 00034D28 48 00 01 18 */ b lbl_800391E0
lbl_800390CC:
/* 800390CC 00034D2C 48 00 04 2D */ bl func_800394F8
/* 800390D0 00034D30 2C 03 00 00 */ cmpwi r3, 0
/* 800390D4 00034D34 40 82 00 0C */ bne lbl_800390E0
/* 800390D8 00034D38 38 60 00 00 */ li r3, 0
/* 800390DC 00034D3C 48 00 01 04 */ b lbl_800391E0
lbl_800390E0:
/* 800390E0 00034D40 80 1E 00 00 */ lwz r0, 0(r30)
/* 800390E4 00034D44 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 800390E8 00034D48 41 82 00 14 */ beq lbl_800390FC
/* 800390EC 00034D4C 7F C3 F3 78 */ mr r3, r30
/* 800390F0 00034D50 48 00 43 C5 */ bl func_8003D4B4
/* 800390F4 00034D54 38 60 00 01 */ li r3, 1
/* 800390F8 00034D58 48 00 00 E8 */ b lbl_800391E0
lbl_800390FC:
/* 800390FC 00034D5C 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 80039100 00034D60 80 83 00 04 */ lwz r4, 4(r3)
/* 80039104 00034D64 2C 04 00 00 */ cmpwi r4, 0
/* 80039108 00034D68 40 82 00 0C */ bne lbl_80039114
/* 8003910C 00034D6C 38 60 00 00 */ li r3, 0
/* 80039110 00034D70 48 00 00 28 */ b lbl_80039138
lbl_80039114:
/* 80039114 00034D74 A0 04 00 08 */ lhz r0, 8(r4)
/* 80039118 00034D78 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 8003911C 00034D7C 7C 03 00 40 */ cmplw r3, r0
/* 80039120 00034D80 41 80 00 0C */ blt lbl_8003912C
/* 80039124 00034D84 38 60 00 00 */ li r3, 0
/* 80039128 00034D88 48 00 00 10 */ b lbl_80039138
lbl_8003912C:
/* 8003912C 00034D8C 1C 03 00 30 */ mulli r0, r3, 0x30
/* 80039130 00034D90 80 64 00 0C */ lwz r3, 0xc(r4)
/* 80039134 00034D94 7C 63 02 14 */ add r3, r3, r0
lbl_80039138:
/* 80039138 00034D98 C0 3E 0D 80 */ lfs f1, 0xd80(r30)
/* 8003913C 00034D9C C0 02 82 70 */ lfs f0, lbl_80640870-_SDA2_BASE_(r2)
/* 80039140 00034DA0 88 A3 00 28 */ lbz r5, 0x28(r3)
/* 80039144 00034DA4 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 80039148 00034DA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003914C 00034DAC D0 5E 0D 90 */ stfs f2, 0xd90(r30)
/* 80039150 00034DB0 40 80 00 10 */ bge lbl_80039160
/* 80039154 00034DB4 C0 02 82 74 */ lfs f0, lbl_80640874-_SDA2_BASE_(r2)
/* 80039158 00034DB8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003915C 00034DBC 41 81 00 14 */ bgt lbl_80039170
lbl_80039160:
/* 80039160 00034DC0 C0 3E 0D 8C */ lfs f1, 0xd8c(r30)
/* 80039164 00034DC4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80039168 00034DC8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003916C 00034DCC 40 81 00 30 */ ble lbl_8003919C
lbl_80039170:
/* 80039170 00034DD0 FC 20 F8 90 */ fmr f1, f31
/* 80039174 00034DD4 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 80039178 00034DD8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003917C 00034DDC 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 80039180 00034DE0 38 C0 00 00 */ li r6, 0
/* 80039184 00034DE4 38 E0 00 00 */ li r7, 0
/* 80039188 00034DE8 39 00 00 00 */ li r8, 0
/* 8003918C 00034DEC 48 1B BC 69 */ bl func_801F4DF4
/* 80039190 00034DF0 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80039194 00034DF4 D0 1E 0D 8C */ stfs f0, 0xd8c(r30)
/* 80039198 00034DF8 48 00 00 38 */ b lbl_800391D0
lbl_8003919C:
/* 8003919C 00034DFC FC 20 F8 90 */ fmr f1, f31
/* 800391A0 00034E00 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 800391A4 00034E04 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 800391A8 00034E08 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 800391AC 00034E0C C0 7E 0D 80 */ lfs f3, 0xd80(r30)
/* 800391B0 00034E10 38 C0 00 01 */ li r6, 1
/* 800391B4 00034E14 89 3E 0D 88 */ lbz r9, 0xd88(r30)
/* 800391B8 00034E18 38 E0 00 01 */ li r7, 1
/* 800391BC 00034E1C 89 5E 0D 89 */ lbz r10, 0xd89(r30)
/* 800391C0 00034E20 39 00 00 00 */ li r8, 0
/* 800391C4 00034E24 48 1B C1 A1 */ bl func_801F5364
/* 800391C8 00034E28 C0 1E 0D 80 */ lfs f0, 0xd80(r30)
/* 800391CC 00034E2C D0 1E 0D 8C */ stfs f0, 0xd8c(r30)
lbl_800391D0:
/* 800391D0 00034E30 38 00 00 00 */ li r0, 0
/* 800391D4 00034E34 B3 FE 0B F8 */ sth r31, 0xbf8(r30)
/* 800391D8 00034E38 38 60 00 01 */ li r3, 1
/* 800391DC 00034E3C 90 1E 0C B0 */ stw r0, 0xcb0(r30)
lbl_800391E0:
/* 800391E0 00034E40 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 800391E4 00034E44 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800391E8 00034E48 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 800391EC 00034E4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800391F0 00034E50 83 C1 00 08 */ lwz r30, 8(r1)
/* 800391F4 00034E54 7C 08 03 A6 */ mtlr r0
/* 800391F8 00034E58 38 21 00 20 */ addi r1, r1, 0x20
/* 800391FC 00034E5C 4E 80 00 20 */ blr
.global func_80039200
func_80039200:
/* 80039200 00034E60 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80039204 00034E64 7C 08 02 A6 */ mflr r0
/* 80039208 00034E68 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003920C 00034E6C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 80039210 00034E70 FF E0 08 90 */ fmr f31, f1
/* 80039214 00034E74 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80039218 00034E78 7C 7F 1B 78 */ mr r31, r3
/* 8003921C 00034E7C 98 83 0B F6 */ stb r4, 0xbf6(r3)
/* 80039220 00034E80 48 00 30 3D */ bl func_8003C25C
/* 80039224 00034E84 FC 20 F8 90 */ fmr f1, f31
/* 80039228 00034E88 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8003922C 00034E8C 7F E3 FB 78 */ mr r3, r31
/* 80039230 00034E90 4B FF FE 61 */ bl func_80039090
/* 80039234 00034E94 88 1F 0B F6 */ lbz r0, 0xbf6(r31)
/* 80039238 00034E98 2C 00 00 00 */ cmpwi r0, 0
/* 8003923C 00034E9C 41 82 00 0C */ beq lbl_80039248
/* 80039240 00034EA0 28 00 00 10 */ cmplwi r0, 0x10
/* 80039244 00034EA4 40 82 00 14 */ bne lbl_80039258
lbl_80039248:
/* 80039248 00034EA8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003924C 00034EAC 64 00 00 02 */ oris r0, r0, 2
/* 80039250 00034EB0 90 1F 00 00 */ stw r0, 0(r31)
/* 80039254 00034EB4 48 00 00 10 */ b lbl_80039264
lbl_80039258:
/* 80039258 00034EB8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003925C 00034EBC 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd
/* 80039260 00034EC0 90 1F 00 00 */ stw r0, 0(r31)
lbl_80039264:
/* 80039264 00034EC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80039268 00034EC8 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8003926C 00034ECC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80039270 00034ED0 7C 08 03 A6 */ mtlr r0
/* 80039274 00034ED4 38 21 00 20 */ addi r1, r1, 0x20
/* 80039278 00034ED8 4E 80 00 20 */ blr
.global func_8003927C
func_8003927C:
/* 8003927C 00034EDC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80039280 00034EE0 7C 08 02 A6 */ mflr r0
/* 80039284 00034EE4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80039288 00034EE8 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8003928C 00034EEC F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80039290 00034EF0 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80039294 00034EF4 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 80039298 00034EF8 FF C0 08 90 */ fmr f30, f1
/* 8003929C 00034EFC FF E0 10 90 */ fmr f31, f2
/* 800392A0 00034F00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800392A4 00034F04 7C 7F 1B 78 */ mr r31, r3
/* 800392A8 00034F08 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800392AC 00034F0C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800392B0 00034F10 7C 9D 23 78 */ mr r29, r4
/* 800392B4 00034F14 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 800392B8 00034F18 2C 00 00 00 */ cmpwi r0, 0
/* 800392BC 00034F1C 40 82 00 0C */ bne lbl_800392C8
/* 800392C0 00034F20 38 60 00 00 */ li r3, 0
/* 800392C4 00034F24 48 00 01 70 */ b lbl_80039434
lbl_800392C8:
/* 800392C8 00034F28 2C 04 00 00 */ cmpwi r4, 0
/* 800392CC 00034F2C 40 82 00 0C */ bne lbl_800392D8
/* 800392D0 00034F30 38 60 00 00 */ li r3, 0
/* 800392D4 00034F34 48 00 01 60 */ b lbl_80039434
lbl_800392D8:
/* 800392D8 00034F38 88 84 00 00 */ lbz r4, 0(r4)
/* 800392DC 00034F3C 7C 84 07 74 */ extsb r4, r4
/* 800392E0 00034F40 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 800392E4 00034F44 48 00 2F 79 */ bl func_8003C25C
/* 800392E8 00034F48 54 7E 04 3E */ clrlwi r30, r3, 0x10
/* 800392EC 00034F4C 7F E3 FB 78 */ mr r3, r31
/* 800392F0 00034F50 7F C4 F3 78 */ mr r4, r30
/* 800392F4 00034F54 48 00 02 05 */ bl func_800394F8
/* 800392F8 00034F58 2C 03 00 00 */ cmpwi r3, 0
/* 800392FC 00034F5C 40 82 00 0C */ bne lbl_80039308
/* 80039300 00034F60 38 60 00 00 */ li r3, 0
/* 80039304 00034F64 48 00 01 30 */ b lbl_80039434
lbl_80039308:
/* 80039308 00034F68 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003930C 00034F6C 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 80039310 00034F70 41 82 00 14 */ beq lbl_80039324
/* 80039314 00034F74 7F E3 FB 78 */ mr r3, r31
/* 80039318 00034F78 48 00 41 9D */ bl func_8003D4B4
/* 8003931C 00034F7C 38 60 00 01 */ li r3, 1
/* 80039320 00034F80 48 00 01 14 */ b lbl_80039434
lbl_80039324:
/* 80039324 00034F84 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 80039328 00034F88 80 63 00 04 */ lwz r3, 4(r3)
/* 8003932C 00034F8C 2C 03 00 00 */ cmpwi r3, 0
/* 80039330 00034F90 40 82 00 0C */ bne lbl_8003933C
/* 80039334 00034F94 38 60 00 00 */ li r3, 0
/* 80039338 00034F98 48 00 00 24 */ b lbl_8003935C
lbl_8003933C:
/* 8003933C 00034F9C A0 03 00 08 */ lhz r0, 8(r3)
/* 80039340 00034FA0 7C 1E 00 40 */ cmplw r30, r0
/* 80039344 00034FA4 41 80 00 0C */ blt lbl_80039350
/* 80039348 00034FA8 38 60 00 00 */ li r3, 0
/* 8003934C 00034FAC 48 00 00 10 */ b lbl_8003935C
lbl_80039350:
/* 80039350 00034FB0 1C 1E 00 30 */ mulli r0, r30, 0x30
/* 80039354 00034FB4 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80039358 00034FB8 7C 63 02 14 */ add r3, r3, r0
lbl_8003935C:
/* 8003935C 00034FBC C0 3F 0D 80 */ lfs f1, 0xd80(r31)
/* 80039360 00034FC0 C0 02 82 70 */ lfs f0, lbl_80640870-_SDA2_BASE_(r2)
/* 80039364 00034FC4 88 A3 00 28 */ lbz r5, 0x28(r3)
/* 80039368 00034FC8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003936C 00034FCC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80039370 00034FD0 D0 5F 0D 90 */ stfs f2, 0xd90(r31)
/* 80039374 00034FD4 40 80 00 10 */ bge lbl_80039384
/* 80039378 00034FD8 C0 02 82 74 */ lfs f0, lbl_80640874-_SDA2_BASE_(r2)
/* 8003937C 00034FDC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80039380 00034FE0 41 81 00 14 */ bgt lbl_80039394
lbl_80039384:
/* 80039384 00034FE4 C0 1F 0D 8C */ lfs f0, 0xd8c(r31)
/* 80039388 00034FE8 C0 62 82 20 */ lfs f3, lbl_80640820-_SDA2_BASE_(r2)
/* 8003938C 00034FEC FC 00 18 40 */ fcmpo cr0, f0, f3
/* 80039390 00034FF0 40 81 00 30 */ ble lbl_800393C0
lbl_80039394:
/* 80039394 00034FF4 FC 20 F0 90 */ fmr f1, f30
/* 80039398 00034FF8 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003939C 00034FFC FC 40 F8 90 */ fmr f2, f31
/* 800393A0 00035000 7F C4 F3 78 */ mr r4, r30
/* 800393A4 00035004 38 C0 00 00 */ li r6, 0
/* 800393A8 00035008 38 E0 00 00 */ li r7, 0
/* 800393AC 0003500C 39 00 00 00 */ li r8, 0
/* 800393B0 00035010 48 1B BA 45 */ bl func_801F4DF4
/* 800393B4 00035014 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 800393B8 00035018 D0 1F 0D 8C */ stfs f0, 0xd8c(r31)
/* 800393BC 0003501C 48 00 00 34 */ b lbl_800393F0
lbl_800393C0:
/* 800393C0 00035020 FC 20 F0 90 */ fmr f1, f30
/* 800393C4 00035024 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 800393C8 00035028 FC 40 F8 90 */ fmr f2, f31
/* 800393CC 0003502C 89 3F 0D 88 */ lbz r9, 0xd88(r31)
/* 800393D0 00035030 89 5F 0D 89 */ lbz r10, 0xd89(r31)
/* 800393D4 00035034 7F C4 F3 78 */ mr r4, r30
/* 800393D8 00035038 38 C0 00 00 */ li r6, 0
/* 800393DC 0003503C 38 E0 00 01 */ li r7, 1
/* 800393E0 00035040 39 00 00 00 */ li r8, 0
/* 800393E4 00035044 48 1B BF 81 */ bl func_801F5364
/* 800393E8 00035048 C0 1F 0D 80 */ lfs f0, 0xd80(r31)
/* 800393EC 0003504C D0 1F 0D 8C */ stfs f0, 0xd8c(r31)
lbl_800393F0:
/* 800393F0 00035050 B3 DF 0B F8 */ sth r30, 0xbf8(r31)
/* 800393F4 00035054 38 1D 00 01 */ addi r0, r29, 1
/* 800393F8 00035058 88 7D 00 00 */ lbz r3, 0(r29)
/* 800393FC 0003505C 2C 03 00 00 */ cmpwi r3, 0
/* 80039400 00035060 98 7F 0B F6 */ stb r3, 0xbf6(r31)
/* 80039404 00035064 90 1F 0C B0 */ stw r0, 0xcb0(r31)
/* 80039408 00035068 41 82 00 0C */ beq lbl_80039414
/* 8003940C 0003506C 28 03 00 10 */ cmplwi r3, 0x10
/* 80039410 00035070 40 82 00 14 */ bne lbl_80039424
lbl_80039414:
/* 80039414 00035074 80 1F 00 00 */ lwz r0, 0(r31)
/* 80039418 00035078 64 00 00 02 */ oris r0, r0, 2
/* 8003941C 0003507C 90 1F 00 00 */ stw r0, 0(r31)
/* 80039420 00035080 48 00 00 10 */ b lbl_80039430
lbl_80039424:
/* 80039424 00035084 80 1F 00 00 */ lwz r0, 0(r31)
/* 80039428 00035088 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd
/* 8003942C 0003508C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80039430:
/* 80039430 00035090 38 60 00 01 */ li r3, 1
lbl_80039434:
/* 80039434 00035094 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 80039438 00035098 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8003943C 0003509C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 80039440 000350A0 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 80039444 000350A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80039448 000350A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003944C 000350AC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80039450 000350B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80039454 000350B4 7C 08 03 A6 */ mtlr r0
/* 80039458 000350B8 38 21 00 40 */ addi r1, r1, 0x40
/* 8003945C 000350BC 4E 80 00 20 */ blr
.global func_80039460
func_80039460:
/* 80039460 000350C0 A0 63 0B F8 */ lhz r3, 0xbf8(r3)
/* 80039464 000350C4 4E 80 00 20 */ blr
.global func_80039468
func_80039468:
/* 80039468 000350C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003946C 000350CC 7C 08 02 A6 */ mflr r0
/* 80039470 000350D0 2C 04 00 00 */ cmpwi r4, 0
/* 80039474 000350D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039478 000350D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003947C 000350DC 93 C1 00 08 */ stw r30, 8(r1)
/* 80039480 000350E0 7C 7E 1B 78 */ mr r30, r3
/* 80039484 000350E4 40 80 00 0C */ bge lbl_80039490
/* 80039488 000350E8 38 60 FF FF */ li r3, -1
/* 8003948C 000350EC 48 00 00 4C */ b lbl_800394D8
lbl_80039490:
/* 80039490 000350F0 48 00 01 ED */ bl func_8003967C
/* 80039494 000350F4 2C 03 00 00 */ cmpwi r3, 0
/* 80039498 000350F8 41 82 00 3C */ beq lbl_800394D4
/* 8003949C 000350FC 88 83 00 00 */ lbz r4, 0(r3)
/* 800394A0 00035100 7F C3 F3 78 */ mr r3, r30
/* 800394A4 00035104 7C 84 07 74 */ extsb r4, r4
/* 800394A8 00035108 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 800394AC 0003510C 48 00 2D B1 */ bl func_8003C25C
/* 800394B0 00035110 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 800394B4 00035114 7F C3 F3 78 */ mr r3, r30
/* 800394B8 00035118 7F E4 FB 78 */ mr r4, r31
/* 800394BC 0003511C 48 00 00 3D */ bl func_800394F8
/* 800394C0 00035120 2C 03 00 00 */ cmpwi r3, 0
/* 800394C4 00035124 38 60 FF FF */ li r3, -1
/* 800394C8 00035128 41 82 00 10 */ beq lbl_800394D8
/* 800394CC 0003512C 7F E3 FB 78 */ mr r3, r31
/* 800394D0 00035130 48 00 00 08 */ b lbl_800394D8
lbl_800394D4:
/* 800394D4 00035134 38 60 FF FF */ li r3, -1
lbl_800394D8:
/* 800394D8 00035138 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800394DC 0003513C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800394E0 00035140 83 C1 00 08 */ lwz r30, 8(r1)
/* 800394E4 00035144 7C 08 03 A6 */ mtlr r0
/* 800394E8 00035148 38 21 00 10 */ addi r1, r1, 0x10
/* 800394EC 0003514C 4E 80 00 20 */ blr
.global func_800394F0
func_800394F0:
/* 800394F0 00035150 88 63 0B F6 */ lbz r3, 0xbf6(r3)
/* 800394F4 00035154 4E 80 00 20 */ blr
.global func_800394F8
func_800394F8:
/* 800394F8 00035158 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 800394FC 0003515C 2C 03 00 00 */ cmpwi r3, 0
/* 80039500 00035160 40 82 00 0C */ bne lbl_8003950C
/* 80039504 00035164 38 60 00 00 */ li r3, 0
/* 80039508 00035168 4E 80 00 20 */ blr
lbl_8003950C:
/* 8003950C 0003516C 2C 04 00 00 */ cmpwi r4, 0
/* 80039510 00035170 41 80 00 2C */ blt lbl_8003953C
/* 80039514 00035174 80 63 00 04 */ lwz r3, 4(r3)
/* 80039518 00035178 2C 03 00 00 */ cmpwi r3, 0
/* 8003951C 0003517C 41 82 00 0C */ beq lbl_80039528
/* 80039520 00035180 A0 03 00 08 */ lhz r0, 8(r3)
/* 80039524 00035184 48 00 00 08 */ b lbl_8003952C
lbl_80039528:
/* 80039528 00035188 38 00 00 00 */ li r0, 0
lbl_8003952C:
/* 8003952C 0003518C 7C 04 00 00 */ cmpw r4, r0
/* 80039530 00035190 40 80 00 0C */ bge lbl_8003953C
/* 80039534 00035194 38 60 00 01 */ li r3, 1
/* 80039538 00035198 4E 80 00 20 */ blr
lbl_8003953C:
/* 8003953C 0003519C 38 60 00 00 */ li r3, 0
/* 80039540 000351A0 4E 80 00 20 */ blr
.global func_80039544
func_80039544:
/* 80039544 000351A4 A0 03 0C 68 */ lhz r0, 0xc68(r3)
/* 80039548 000351A8 28 00 01 00 */ cmplwi r0, 0x100
/* 8003954C 000351AC 40 82 00 9C */ bne lbl_800395E8
/* 80039550 000351B0 80 03 0C 00 */ lwz r0, 0xc00(r3)
/* 80039554 000351B4 2C 00 00 00 */ cmpwi r0, 0
/* 80039558 000351B8 4D 82 00 20 */ beqlr
/* 8003955C 000351BC 39 20 00 00 */ li r9, 0
/* 80039560 000351C0 48 00 00 6C */ b lbl_800395CC
lbl_80039564:
/* 80039564 000351C4 81 07 00 04 */ lwz r8, 4(r7)
/* 80039568 000351C8 2C 08 00 00 */ cmpwi r8, 0
/* 8003956C 000351CC 40 82 00 0C */ bne lbl_80039578
/* 80039570 000351D0 38 A0 00 00 */ li r5, 0
/* 80039574 000351D4 48 00 00 28 */ b lbl_8003959C
lbl_80039578:
/* 80039578 000351D8 80 A7 00 00 */ lwz r5, 0(r7)
/* 8003957C 000351DC 55 26 06 3E */ clrlwi r6, r9, 0x18
/* 80039580 000351E0 A0 05 00 18 */ lhz r0, 0x18(r5)
/* 80039584 000351E4 7C 06 00 40 */ cmplw r6, r0
/* 80039588 000351E8 41 80 00 0C */ blt lbl_80039594
/* 8003958C 000351EC 38 A0 00 00 */ li r5, 0
/* 80039590 000351F0 48 00 00 0C */ b lbl_8003959C
lbl_80039594:
/* 80039594 000351F4 55 20 15 BA */ rlwinm r0, r9, 2, 0x16, 0x1d
/* 80039598 000351F8 7C A8 00 2E */ lwzx r5, r8, r0
lbl_8003959C:
/* 8003959C 000351FC 2C 05 00 00 */ cmpwi r5, 0
/* 800395A0 00035200 41 82 00 28 */ beq lbl_800395C8
/* 800395A4 00035204 2C 04 00 00 */ cmpwi r4, 0
/* 800395A8 00035208 41 82 00 14 */ beq lbl_800395BC
/* 800395AC 0003520C A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 800395B0 00035210 60 00 00 10 */ ori r0, r0, 0x10
/* 800395B4 00035214 B0 05 00 DC */ sth r0, 0xdc(r5)
/* 800395B8 00035218 48 00 00 10 */ b lbl_800395C8
lbl_800395BC:
/* 800395BC 0003521C A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 800395C0 00035220 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 800395C4 00035224 B0 05 00 DC */ sth r0, 0xdc(r5)
lbl_800395C8:
/* 800395C8 00035228 39 29 00 01 */ addi r9, r9, 1
lbl_800395CC:
/* 800395CC 0003522C 80 E3 0C 00 */ lwz r7, 0xc00(r3)
/* 800395D0 00035230 55 26 06 3E */ clrlwi r6, r9, 0x18
/* 800395D4 00035234 80 A7 00 00 */ lwz r5, 0(r7)
/* 800395D8 00035238 A0 05 00 18 */ lhz r0, 0x18(r5)
/* 800395DC 0003523C 7C 06 00 00 */ cmpw r6, r0
/* 800395E0 00035240 41 80 FF 84 */ blt lbl_80039564
/* 800395E4 00035244 4E 80 00 20 */ blr
lbl_800395E8:
/* 800395E8 00035248 2C 04 00 00 */ cmpwi r4, 0
/* 800395EC 0003524C 41 82 00 20 */ beq lbl_8003960C
/* 800395F0 00035250 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 800395F4 00035254 2C 03 00 00 */ cmpwi r3, 0
/* 800395F8 00035258 4D 82 00 20 */ beqlr
/* 800395FC 0003525C A0 03 00 DC */ lhz r0, 0xdc(r3)
/* 80039600 00035260 60 00 00 10 */ ori r0, r0, 0x10
/* 80039604 00035264 B0 03 00 DC */ sth r0, 0xdc(r3)
/* 80039608 00035268 4E 80 00 20 */ blr
lbl_8003960C:
/* 8003960C 0003526C 80 03 00 00 */ lwz r0, 0(r3)
/* 80039610 00035270 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 80039614 00035274 4C 82 00 20 */ bnelr
/* 80039618 00035278 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8003961C 0003527C 2C 03 00 00 */ cmpwi r3, 0
/* 80039620 00035280 4D 82 00 20 */ beqlr
/* 80039624 00035284 A0 03 00 DC */ lhz r0, 0xdc(r3)
/* 80039628 00035288 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 8003962C 0003528C B0 03 00 DC */ sth r0, 0xdc(r3)
/* 80039630 00035290 4E 80 00 20 */ blr
.global func_80039634
func_80039634:
/* 80039634 00035294 90 83 0C 50 */ stw r4, 0xc50(r3)
/* 80039638 00035298 90 A3 0C 54 */ stw r5, 0xc54(r3)
/* 8003963C 0003529C 4E 80 00 20 */ blr
.global func_80039640
func_80039640:
/* 80039640 000352A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80039644 000352A4 7C 08 02 A6 */ mflr r0
/* 80039648 000352A8 7C 64 1B 78 */ mr r4, r3
/* 8003964C 000352AC 80 63 0C 50 */ lwz r3, 0xc50(r3)
/* 80039650 000352B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039654 000352B4 80 84 0C 54 */ lwz r4, 0xc54(r4)
/* 80039658 000352B8 48 1A 1E 65 */ bl func_801DB4BC
/* 8003965C 000352BC 2C 03 00 00 */ cmpwi r3, 0
/* 80039660 000352C0 40 82 00 0C */ bne lbl_8003966C
/* 80039664 000352C4 48 00 4A F9 */ bl func_8003E15C
/* 80039668 000352C8 48 00 4D C5 */ bl func_8003E42C
lbl_8003966C:
/* 8003966C 000352CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039670 000352D0 7C 08 03 A6 */ mtlr r0
/* 80039674 000352D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80039678 000352D8 4E 80 00 20 */ blr
.global func_8003967C
func_8003967C:
/* 8003967C 000352DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80039680 000352E0 7C 08 02 A6 */ mflr r0
/* 80039684 000352E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039688 000352E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003968C 000352EC 7C 9F 23 78 */ mr r31, r4
/* 80039690 000352F0 93 C1 00 08 */ stw r30, 8(r1)
/* 80039694 000352F4 7C 7E 1B 78 */ mr r30, r3
/* 80039698 000352F8 4B FF FF A9 */ bl func_80039640
/* 8003969C 000352FC 2C 03 00 00 */ cmpwi r3, 0
/* 800396A0 00035300 40 82 00 0C */ bne lbl_800396AC
/* 800396A4 00035304 38 60 00 00 */ li r3, 0
/* 800396A8 00035308 48 00 00 14 */ b lbl_800396BC
lbl_800396AC:
/* 800396AC 0003530C A0 BE 05 10 */ lhz r5, 0x510(r30)
/* 800396B0 00035310 7F E4 FB 78 */ mr r4, r31
/* 800396B4 00035314 A0 DE 05 0E */ lhz r6, 0x50e(r30)
/* 800396B8 00035318 4B FF 98 35 */ bl func_80032EEC
lbl_800396BC:
/* 800396BC 0003531C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800396C0 00035320 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800396C4 00035324 83 C1 00 08 */ lwz r30, 8(r1)
/* 800396C8 00035328 7C 08 03 A6 */ mtlr r0
/* 800396CC 0003532C 38 21 00 10 */ addi r1, r1, 0x10
/* 800396D0 00035330 4E 80 00 20 */ blr
.global func_800396D4
func_800396D4:
/* 800396D4 00035334 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800396D8 00035338 7C 08 02 A6 */ mflr r0
/* 800396DC 0003533C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800396E0 00035340 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800396E4 00035344 7C 7F 1B 78 */ mr r31, r3
/* 800396E8 00035348 48 00 4A 75 */ bl func_8003E15C
/* 800396EC 0003534C 2C 03 00 00 */ cmpwi r3, 0
/* 800396F0 00035350 41 82 00 10 */ beq lbl_80039700
/* 800396F4 00035354 A0 9F 05 10 */ lhz r4, 0x510(r31)
/* 800396F8 00035358 48 00 4F 19 */ bl func_8003E610
/* 800396FC 0003535C 48 00 00 08 */ b lbl_80039704
lbl_80039700:
/* 80039700 00035360 38 60 00 00 */ li r3, 0
lbl_80039704:
/* 80039704 00035364 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039708 00035368 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003970C 0003536C 7C 08 03 A6 */ mtlr r0
/* 80039710 00035370 38 21 00 10 */ addi r1, r1, 0x10
/* 80039714 00035374 4E 80 00 20 */ blr
.global func_80039718
func_80039718:
/* 80039718 00035378 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003971C 0003537C 7C 08 02 A6 */ mflr r0
/* 80039720 00035380 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039724 00035384 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039728 00035388 3B E0 00 00 */ li r31, 0
/* 8003972C 0003538C 93 C1 00 08 */ stw r30, 8(r1)
/* 80039730 00035390 7C 7E 1B 78 */ mr r30, r3
/* 80039734 00035394 48 00 4A 29 */ bl func_8003E15C
/* 80039738 00035398 2C 03 00 00 */ cmpwi r3, 0
/* 8003973C 0003539C 41 82 00 10 */ beq lbl_8003974C
/* 80039740 000353A0 A0 9E 05 10 */ lhz r4, 0x510(r30)
/* 80039744 000353A4 48 00 4F 1D */ bl func_8003E660
/* 80039748 000353A8 7C 7F 1B 78 */ mr r31, r3
lbl_8003974C:
/* 8003974C 000353AC 2C 1F 00 64 */ cmpwi r31, 0x64
/* 80039750 000353B0 40 80 00 0C */ bge lbl_8003975C
/* 80039754 000353B4 38 60 00 01 */ li r3, 1
/* 80039758 000353B8 48 00 00 4C */ b lbl_800397A4
lbl_8003975C:
/* 8003975C 000353BC 2C 1F 00 FA */ cmpwi r31, 0xfa
/* 80039760 000353C0 40 80 00 0C */ bge lbl_8003976C
/* 80039764 000353C4 38 60 00 02 */ li r3, 2
/* 80039768 000353C8 48 00 00 3C */ b lbl_800397A4
lbl_8003976C:
/* 8003976C 000353CC 2C 1F 01 F4 */ cmpwi r31, 0x1f4
/* 80039770 000353D0 40 80 00 0C */ bge lbl_8003977C
/* 80039774 000353D4 38 60 00 03 */ li r3, 3
/* 80039778 000353D8 48 00 00 2C */ b lbl_800397A4
lbl_8003977C:
/* 8003977C 000353DC 2C 1F 03 E8 */ cmpwi r31, 0x3e8
/* 80039780 000353E0 40 80 00 0C */ bge lbl_8003978C
/* 80039784 000353E4 38 60 00 04 */ li r3, 4
/* 80039788 000353E8 48 00 00 1C */ b lbl_800397A4
lbl_8003978C:
/* 8003978C 000353EC 38 60 07 D0 */ li r3, 0x7d0
/* 80039790 000353F0 57 E0 0F FE */ srwi r0, r31, 0x1f
/* 80039794 000353F4 7C 63 F8 10 */ subfc r3, r3, r31
/* 80039798 000353F8 38 60 00 00 */ li r3, 0
/* 8003979C 000353FC 7C 60 19 10 */ subfe r3, r0, r3
/* 800397A0 00035400 38 63 00 06 */ addi r3, r3, 6
lbl_800397A4:
/* 800397A4 00035404 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800397A8 00035408 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800397AC 0003540C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800397B0 00035410 7C 08 03 A6 */ mtlr r0
/* 800397B4 00035414 38 21 00 10 */ addi r1, r1, 0x10
/* 800397B8 00035418 4E 80 00 20 */ blr
.global func_800397BC
func_800397BC:
/* 800397BC 0003541C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800397C0 00035420 7C 08 02 A6 */ mflr r0
/* 800397C4 00035424 90 01 00 14 */ stw r0, 0x14(r1)
/* 800397C8 00035428 4B FF FF 0D */ bl func_800396D4
/* 800397CC 0003542C 28 03 00 06 */ cmplwi r3, 6
/* 800397D0 00035430 41 81 00 54 */ bgt lbl_80039824
/* 800397D4 00035434 3C 80 80 41 */ lis r4, lbl_8040A410@ha
/* 800397D8 00035438 54 60 10 3A */ slwi r0, r3, 2
/* 800397DC 0003543C 38 84 A4 10 */ addi r4, r4, lbl_8040A410@l
/* 800397E0 00035440 7C 84 00 2E */ lwzx r4, r4, r0
/* 800397E4 00035444 7C 89 03 A6 */ mtctr r4
/* 800397E8 00035448 4E 80 04 20 */ bctr
/* 800397EC 0003544C C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2)
/* 800397F0 00035450 48 00 00 38 */ b lbl_80039828
/* 800397F4 00035454 C0 22 82 88 */ lfs f1, lbl_80640888-_SDA2_BASE_(r2)
/* 800397F8 00035458 48 00 00 30 */ b lbl_80039828
/* 800397FC 0003545C C0 22 82 8C */ lfs f1, lbl_8064088C-_SDA2_BASE_(r2)
/* 80039800 00035460 48 00 00 28 */ b lbl_80039828
/* 80039804 00035464 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2)
/* 80039808 00035468 48 00 00 20 */ b lbl_80039828
/* 8003980C 0003546C C0 22 82 90 */ lfs f1, lbl_80640890-_SDA2_BASE_(r2)
/* 80039810 00035470 48 00 00 18 */ b lbl_80039828
/* 80039814 00035474 C0 22 82 3C */ lfs f1, lbl_8064083C-_SDA2_BASE_(r2)
/* 80039818 00035478 48 00 00 10 */ b lbl_80039828
/* 8003981C 0003547C C0 22 82 94 */ lfs f1, lbl_80640894-_SDA2_BASE_(r2)
/* 80039820 00035480 48 00 00 08 */ b lbl_80039828
lbl_80039824:
/* 80039824 00035484 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2)
lbl_80039828:
/* 80039828 00035488 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003982C 0003548C 7C 08 03 A6 */ mtlr r0
/* 80039830 00035490 38 21 00 10 */ addi r1, r1, 0x10
/* 80039834 00035494 4E 80 00 20 */ blr
.global func_80039838
func_80039838:
/* 80039838 00035498 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003983C 0003549C 7C 08 02 A6 */ mflr r0
/* 80039840 000354A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039844 000354A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039848 000354A8 7C 9F 23 78 */ mr r31, r4
/* 8003984C 000354AC 93 C1 00 08 */ stw r30, 8(r1)
/* 80039850 000354B0 7C 7E 1B 78 */ mr r30, r3
/* 80039854 000354B4 48 00 49 09 */ bl func_8003E15C
/* 80039858 000354B8 2C 03 00 00 */ cmpwi r3, 0
/* 8003985C 000354BC 41 82 00 24 */ beq lbl_80039880
/* 80039860 000354C0 A0 DE 05 14 */ lhz r6, 0x514(r30)
/* 80039864 000354C4 7F E5 FB 78 */ mr r5, r31
/* 80039868 000354C8 A0 1E 05 12 */ lhz r0, 0x512(r30)
/* 8003986C 000354CC A0 9E 05 10 */ lhz r4, 0x510(r30)
/* 80039870 000354D0 54 C6 06 3E */ clrlwi r6, r6, 0x18
/* 80039874 000354D4 54 07 06 3E */ clrlwi r7, r0, 0x18
/* 80039878 000354D8 48 00 4E D9 */ bl func_8003E750
/* 8003987C 000354DC 48 00 00 08 */ b lbl_80039884
lbl_80039880:
/* 80039880 000354E0 38 60 FF FF */ li r3, -1
lbl_80039884:
/* 80039884 000354E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039888 000354E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003988C 000354EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80039890 000354F0 7C 08 03 A6 */ mtlr r0
/* 80039894 000354F4 38 21 00 10 */ addi r1, r1, 0x10
/* 80039898 000354F8 4E 80 00 20 */ blr
.global func_8003989C
func_8003989C:
/* 8003989C 000354FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800398A0 00035500 7C 08 02 A6 */ mflr r0
/* 800398A4 00035504 90 01 00 14 */ stw r0, 0x14(r1)
/* 800398A8 00035508 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800398AC 0003550C 7C 9F 23 78 */ mr r31, r4
/* 800398B0 00035510 7C A4 2B 78 */ mr r4, r5
/* 800398B4 00035514 93 C1 00 08 */ stw r30, 8(r1)
/* 800398B8 00035518 7C 7E 1B 78 */ mr r30, r3
/* 800398BC 0003551C 7F E3 FB 78 */ mr r3, r31
/* 800398C0 00035520 4B FF FF 79 */ bl func_80039838
/* 800398C4 00035524 7C 65 1B 78 */ mr r5, r3
/* 800398C8 00035528 7F C3 F3 78 */ mr r3, r30
/* 800398CC 0003552C 7F E4 FB 78 */ mr r4, r31
/* 800398D0 00035530 48 00 1D A5 */ bl func_8003B674
/* 800398D4 00035534 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800398D8 00035538 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800398DC 0003553C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800398E0 00035540 7C 08 03 A6 */ mtlr r0
/* 800398E4 00035544 38 21 00 10 */ addi r1, r1, 0x10
/* 800398E8 00035548 4E 80 00 20 */ blr
.global func_800398EC
func_800398EC:
/* 800398EC 0003554C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800398F0 00035550 7C 08 02 A6 */ mflr r0
/* 800398F4 00035554 90 01 00 14 */ stw r0, 0x14(r1)
/* 800398F8 00035558 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 800398FC 0003555C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039900 00035560 7C 7F 1B 78 */ mr r31, r3
/* 80039904 00035564 2C 00 00 00 */ cmpwi r0, 0
/* 80039908 00035568 41 82 00 5C */ beq lbl_80039964
/* 8003990C 0003556C 4B FF FF 2D */ bl func_80039838
/* 80039910 00035570 80 BF 0C 04 */ lwz r5, 0xc04(r31)
/* 80039914 00035574 2C 03 00 00 */ cmpwi r3, 0
/* 80039918 00035578 A0 85 00 DE */ lhz r4, 0xde(r5)
/* 8003991C 0003557C 41 80 00 40 */ blt lbl_8003995C
/* 80039920 00035580 7C 03 20 00 */ cmpw r3, r4
/* 80039924 00035584 40 80 00 38 */ bge lbl_8003995C
/* 80039928 00035588 80 A5 00 08 */ lwz r5, 8(r5)
/* 8003992C 0003558C 2C 05 00 00 */ cmpwi r5, 0
/* 80039930 00035590 40 82 00 0C */ bne lbl_8003993C
/* 80039934 00035594 38 60 00 00 */ li r3, 0
/* 80039938 00035598 48 00 00 30 */ b lbl_80039968
lbl_8003993C:
/* 8003993C 0003559C 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80039940 000355A0 7C 00 20 40 */ cmplw r0, r4
/* 80039944 000355A4 41 80 00 0C */ blt lbl_80039950
/* 80039948 000355A8 38 60 00 00 */ li r3, 0
/* 8003994C 000355AC 48 00 00 1C */ b lbl_80039968
lbl_80039950:
/* 80039950 000355B0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 80039954 000355B4 7C 65 00 2E */ lwzx r3, r5, r0
/* 80039958 000355B8 48 00 00 10 */ b lbl_80039968
lbl_8003995C:
/* 8003995C 000355BC 38 60 00 00 */ li r3, 0
/* 80039960 000355C0 48 00 00 08 */ b lbl_80039968
lbl_80039964:
/* 80039964 000355C4 38 60 00 00 */ li r3, 0
lbl_80039968:
/* 80039968 000355C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003996C 000355CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039970 000355D0 7C 08 03 A6 */ mtlr r0
/* 80039974 000355D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80039978 000355D8 4E 80 00 20 */ blr
.global func_8003997C
func_8003997C:
/* 8003997C 000355DC 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 80039980 000355E0 2C 03 00 00 */ cmpwi r3, 0
/* 80039984 000355E4 41 82 00 3C */ beq lbl_800399C0
/* 80039988 000355E8 80 A3 00 08 */ lwz r5, 8(r3)
/* 8003998C 000355EC 2C 05 00 00 */ cmpwi r5, 0
/* 80039990 000355F0 40 82 00 0C */ bne lbl_8003999C
/* 80039994 000355F4 38 60 00 00 */ li r3, 0
/* 80039998 000355F8 4E 80 00 20 */ blr
lbl_8003999C:
/* 8003999C 000355FC A0 03 00 DE */ lhz r0, 0xde(r3)
/* 800399A0 00035600 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 800399A4 00035604 7C 03 00 40 */ cmplw r3, r0
/* 800399A8 00035608 41 80 00 0C */ blt lbl_800399B4
/* 800399AC 0003560C 38 60 00 00 */ li r3, 0
/* 800399B0 00035610 4E 80 00 20 */ blr
lbl_800399B4:
/* 800399B4 00035614 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 800399B8 00035618 7C 65 00 2E */ lwzx r3, r5, r0
/* 800399BC 0003561C 4E 80 00 20 */ blr
lbl_800399C0:
/* 800399C0 00035620 38 60 00 00 */ li r3, 0
/* 800399C4 00035624 4E 80 00 20 */ blr
.global func_800399C8
func_800399C8:
/* 800399C8 00035628 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800399CC 0003562C 7C 08 02 A6 */ mflr r0
/* 800399D0 00035630 2C 04 00 00 */ cmpwi r4, 0
/* 800399D4 00035634 90 01 00 24 */ stw r0, 0x24(r1)
/* 800399D8 00035638 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 800399DC 0003563C FF E0 10 90 */ fmr f31, f2
/* 800399E0 00035640 DB C1 00 10 */ stfd f30, 0x10(r1)
/* 800399E4 00035644 FF C0 08 90 */ fmr f30, f1
/* 800399E8 00035648 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800399EC 0003564C 7C 9F 23 78 */ mr r31, r4
/* 800399F0 00035650 93 C1 00 08 */ stw r30, 8(r1)
/* 800399F4 00035654 7C 7E 1B 78 */ mr r30, r3
/* 800399F8 00035658 40 80 00 0C */ bge lbl_80039A04
/* 800399FC 0003565C 38 60 00 00 */ li r3, 0
/* 80039A00 00035660 48 00 00 34 */ b lbl_80039A34
lbl_80039A04:
/* 80039A04 00035664 4B FF FC 79 */ bl func_8003967C
/* 80039A08 00035668 2C 03 00 00 */ cmpwi r3, 0
/* 80039A0C 0003566C 7C 64 1B 78 */ mr r4, r3
/* 80039A10 00035670 41 82 00 20 */ beq lbl_80039A30
/* 80039A14 00035674 FC 20 F0 90 */ fmr f1, f30
/* 80039A18 00035678 7F C3 F3 78 */ mr r3, r30
/* 80039A1C 0003567C FC 40 F8 90 */ fmr f2, f31
/* 80039A20 00035680 4B FF F8 5D */ bl func_8003927C
/* 80039A24 00035684 B3 FE 0B F4 */ sth r31, 0xbf4(r30)
/* 80039A28 00035688 38 60 00 01 */ li r3, 1
/* 80039A2C 0003568C 48 00 00 08 */ b lbl_80039A34
lbl_80039A30:
/* 80039A30 00035690 38 60 00 00 */ li r3, 0
lbl_80039A34:
/* 80039A34 00035694 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80039A38 00035698 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 80039A3C 0003569C CB C1 00 10 */ lfd f30, 0x10(r1)
/* 80039A40 000356A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039A44 000356A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80039A48 000356A8 7C 08 03 A6 */ mtlr r0
/* 80039A4C 000356AC 38 21 00 20 */ addi r1, r1, 0x20
/* 80039A50 000356B0 4E 80 00 20 */ blr
.global func_80039A54
func_80039A54:
/* 80039A54 000356B4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80039A58 000356B8 7C 08 02 A6 */ mflr r0
/* 80039A5C 000356BC 90 01 00 44 */ stw r0, 0x44(r1)
/* 80039A60 000356C0 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80039A64 000356C4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80039A68 000356C8 FF E0 08 90 */ fmr f31, f1
/* 80039A6C 000356CC 38 A0 00 02 */ li r5, 2
/* 80039A70 000356D0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80039A74 000356D4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80039A78 000356D8 7C 9E 23 78 */ mr r30, r4
/* 80039A7C 000356DC 38 80 00 08 */ li r4, 8
/* 80039A80 000356E0 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80039A84 000356E4 7C 7D 1B 78 */ mr r29, r3
/* 80039A88 000356E8 48 00 03 39 */ bl func_80039DC0
/* 80039A8C 000356EC EC 1F 08 2A */ fadds f0, f31, f1
/* 80039A90 000356F0 A0 1D 05 10 */ lhz r0, 0x510(r29)
/* 80039A94 000356F4 28 00 01 67 */ cmplwi r0, 0x167
/* 80039A98 000356F8 D0 1D 0D 78 */ stfs f0, 0xd78(r29)
/* 80039A9C 000356FC 40 82 00 08 */ bne lbl_80039AA4
/* 80039AA0 00035700 3B C0 00 00 */ li r30, 0
lbl_80039AA4:
/* 80039AA4 00035704 80 1D 00 00 */ lwz r0, 0(r29)
/* 80039AA8 00035708 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 80039AAC 0003570C 41 82 01 00 */ beq lbl_80039BAC
/* 80039AB0 00035710 7F A3 EB 78 */ mr r3, r29
/* 80039AB4 00035714 38 80 00 00 */ li r4, 0
/* 80039AB8 00035718 48 00 27 A5 */ bl func_8003C25C
/* 80039ABC 0003571C 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 80039AC0 00035720 7F A3 EB 78 */ mr r3, r29
/* 80039AC4 00035724 38 80 00 0A */ li r4, 0xa
/* 80039AC8 00035728 48 00 27 95 */ bl func_8003C25C
/* 80039ACC 0003572C 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80039AD0 00035730 7C 00 F8 40 */ cmplw r0, r31
/* 80039AD4 00035734 41 82 00 A0 */ beq lbl_80039B74
/* 80039AD8 00035738 7F A3 EB 78 */ mr r3, r29
/* 80039ADC 0003573C 4B FF FA 15 */ bl func_800394F0
/* 80039AE0 00035740 2C 03 00 0A */ cmpwi r3, 0xa
/* 80039AE4 00035744 40 82 00 10 */ bne lbl_80039AF4
/* 80039AE8 00035748 7F A3 EB 78 */ mr r3, r29
/* 80039AEC 0003574C 48 00 1C A9 */ bl func_8003B794
/* 80039AF0 00035750 D0 3D 0D 7C */ stfs f1, 0xd7c(r29)
lbl_80039AF4:
/* 80039AF4 00035754 A0 1D 05 10 */ lhz r0, 0x510(r29)
/* 80039AF8 00035758 28 00 00 B2 */ cmplwi r0, 0xb2
/* 80039AFC 0003575C 41 82 00 F0 */ beq lbl_80039BEC
/* 80039B00 00035760 2C 1E 00 00 */ cmpwi r30, 0
/* 80039B04 00035764 41 82 00 38 */ beq lbl_80039B3C
/* 80039B08 00035768 C0 1D 0D 78 */ lfs f0, 0xd78(r29)
/* 80039B0C 0003576C 7F A3 EB 78 */ mr r3, r29
/* 80039B10 00035770 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039B14 00035774 38 80 00 08 */ li r4, 8
/* 80039B18 00035778 D0 1D 0D 80 */ stfs f0, 0xd80(r29)
/* 80039B1C 0003577C 4B FF F6 E5 */ bl func_80039200
/* 80039B20 00035780 C0 3D 0D 7C */ lfs f1, 0xd7c(r29)
/* 80039B24 00035784 7F A3 EB 78 */ mr r3, r29
/* 80039B28 00035788 C0 5D 0D 78 */ lfs f2, 0xd78(r29)
/* 80039B2C 0003578C 38 80 FF FF */ li r4, -1
/* 80039B30 00035790 38 A0 00 00 */ li r5, 0
/* 80039B34 00035794 48 00 11 69 */ bl func_8003AC9C
/* 80039B38 00035798 48 00 00 A8 */ b lbl_80039BE0
lbl_80039B3C:
/* 80039B3C 0003579C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039B40 000357A0 7F A3 EB 78 */ mr r3, r29
/* 80039B44 000357A4 38 80 00 08 */ li r4, 8
/* 80039B48 000357A8 D0 3D 0D 80 */ stfs f1, 0xd80(r29)
/* 80039B4C 000357AC 4B FF F6 B5 */ bl func_80039200
/* 80039B50 000357B0 7F A4 EB 78 */ mr r4, r29
/* 80039B54 000357B4 38 61 00 08 */ addi r3, r1, 8
/* 80039B58 000357B8 4B FF EC 89 */ bl func_800387E0
/* 80039B5C 000357BC C0 1D 0D 7C */ lfs f0, 0xd7c(r29)
/* 80039B60 000357C0 7F A3 EB 78 */ mr r3, r29
/* 80039B64 000357C4 38 81 00 08 */ addi r4, r1, 8
/* 80039B68 000357C8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80039B6C 000357CC 4B FF EC B1 */ bl func_8003881C
/* 80039B70 000357D0 48 00 00 70 */ b lbl_80039BE0
lbl_80039B74:
/* 80039B74 000357D4 2C 1E 00 00 */ cmpwi r30, 0
/* 80039B78 000357D8 41 82 00 18 */ beq lbl_80039B90
/* 80039B7C 000357DC C0 22 82 98 */ lfs f1, lbl_80640898-_SDA2_BASE_(r2)
/* 80039B80 000357E0 C0 1D 0D 78 */ lfs f0, 0xd78(r29)
/* 80039B84 000357E4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80039B88 000357E8 D0 1D 0D 80 */ stfs f0, 0xd80(r29)
/* 80039B8C 000357EC 48 00 00 0C */ b lbl_80039B98
lbl_80039B90:
/* 80039B90 000357F0 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80039B94 000357F4 D0 1D 0D 80 */ stfs f0, 0xd80(r29)
lbl_80039B98:
/* 80039B98 000357F8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039B9C 000357FC 7F A3 EB 78 */ mr r3, r29
/* 80039BA0 00035800 38 80 00 08 */ li r4, 8
/* 80039BA4 00035804 4B FF F6 5D */ bl func_80039200
/* 80039BA8 00035808 48 00 00 38 */ b lbl_80039BE0
lbl_80039BAC:
/* 80039BAC 0003580C 2C 1E 00 00 */ cmpwi r30, 0
/* 80039BB0 00035810 41 82 00 18 */ beq lbl_80039BC8
/* 80039BB4 00035814 C0 22 82 98 */ lfs f1, lbl_80640898-_SDA2_BASE_(r2)
/* 80039BB8 00035818 C0 1D 0D 78 */ lfs f0, 0xd78(r29)
/* 80039BBC 0003581C EC 01 00 32 */ fmuls f0, f1, f0
/* 80039BC0 00035820 D0 1D 0D 80 */ stfs f0, 0xd80(r29)
/* 80039BC4 00035824 48 00 00 0C */ b lbl_80039BD0
lbl_80039BC8:
/* 80039BC8 00035828 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80039BCC 0003582C D0 1D 0D 80 */ stfs f0, 0xd80(r29)
lbl_80039BD0:
/* 80039BD0 00035830 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039BD4 00035834 7F A3 EB 78 */ mr r3, r29
/* 80039BD8 00035838 38 80 00 08 */ li r4, 8
/* 80039BDC 0003583C 4B FF F6 25 */ bl func_80039200
lbl_80039BE0:
/* 80039BE0 00035840 80 1D 00 00 */ lwz r0, 0(r29)
/* 80039BE4 00035844 64 00 00 20 */ oris r0, r0, 0x20
/* 80039BE8 00035848 90 1D 00 00 */ stw r0, 0(r29)
lbl_80039BEC:
/* 80039BEC 0003584C E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 80039BF0 00035850 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80039BF4 00035854 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80039BF8 00035858 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80039BFC 0003585C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80039C00 00035860 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80039C04 00035864 7C 08 03 A6 */ mtlr r0
/* 80039C08 00035868 38 21 00 40 */ addi r1, r1, 0x40
/* 80039C0C 0003586C 4E 80 00 20 */ blr
.global func_80039C10
func_80039C10:
/* 80039C10 00035870 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80039C14 00035874 7C 08 02 A6 */ mflr r0
/* 80039C18 00035878 90 01 00 24 */ stw r0, 0x24(r1)
/* 80039C1C 0003587C DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80039C20 00035880 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 80039C24 00035884 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039C28 00035888 93 C1 00 08 */ stw r30, 8(r1)
/* 80039C2C 0003588C 7C 7E 1B 78 */ mr r30, r3
/* 80039C30 00035890 80 03 00 00 */ lwz r0, 0(r3)
/* 80039C34 00035894 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 80039C38 00035898 41 82 00 80 */ beq lbl_80039CB8
/* 80039C3C 0003589C 38 80 00 00 */ li r4, 0
/* 80039C40 000358A0 48 00 26 1D */ bl func_8003C25C
/* 80039C44 000358A4 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 80039C48 000358A8 7F C3 F3 78 */ mr r3, r30
/* 80039C4C 000358AC 38 80 00 0A */ li r4, 0xa
/* 80039C50 000358B0 48 00 26 0D */ bl func_8003C25C
/* 80039C54 000358B4 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80039C58 000358B8 7C 00 F8 40 */ cmplw r0, r31
/* 80039C5C 000358BC 41 82 00 48 */ beq lbl_80039CA4
/* 80039C60 000358C0 7F C3 F3 78 */ mr r3, r30
/* 80039C64 000358C4 38 80 00 0A */ li r4, 0xa
/* 80039C68 000358C8 38 A0 00 02 */ li r5, 2
/* 80039C6C 000358CC 48 00 01 55 */ bl func_80039DC0
/* 80039C70 000358D0 FF E0 08 90 */ fmr f31, f1
/* 80039C74 000358D4 D0 3E 0D 80 */ stfs f1, 0xd80(r30)
/* 80039C78 000358D8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039C7C 000358DC 7F C3 F3 78 */ mr r3, r30
/* 80039C80 000358E0 38 80 00 0A */ li r4, 0xa
/* 80039C84 000358E4 4B FF F5 7D */ bl func_80039200
/* 80039C88 000358E8 FC 40 F8 90 */ fmr f2, f31
/* 80039C8C 000358EC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039C90 000358F0 7F C3 F3 78 */ mr r3, r30
/* 80039C94 000358F4 38 80 FF FF */ li r4, -1
/* 80039C98 000358F8 38 A0 00 00 */ li r5, 0
/* 80039C9C 000358FC 48 00 10 01 */ bl func_8003AC9C
/* 80039CA0 00035900 48 00 00 24 */ b lbl_80039CC4
lbl_80039CA4:
/* 80039CA4 00035904 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039CA8 00035908 7F C3 F3 78 */ mr r3, r30
/* 80039CAC 0003590C 38 80 00 00 */ li r4, 0
/* 80039CB0 00035910 4B FF F5 51 */ bl func_80039200
/* 80039CB4 00035914 48 00 00 10 */ b lbl_80039CC4
lbl_80039CB8:
/* 80039CB8 00035918 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039CBC 0003591C 38 80 00 00 */ li r4, 0
/* 80039CC0 00035920 4B FF F5 41 */ bl func_80039200
lbl_80039CC4:
/* 80039CC4 00035924 80 1E 00 00 */ lwz r0, 0(r30)
/* 80039CC8 00035928 54 00 02 D2 */ rlwinm r0, r0, 0, 0xb, 9
/* 80039CCC 0003592C 90 1E 00 00 */ stw r0, 0(r30)
/* 80039CD0 00035930 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 80039CD4 00035934 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 80039CD8 00035938 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039CDC 0003593C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80039CE0 00035940 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80039CE4 00035944 7C 08 03 A6 */ mtlr r0
/* 80039CE8 00035948 38 21 00 20 */ addi r1, r1, 0x20
/* 80039CEC 0003594C 4E 80 00 20 */ blr
.global func_80039CF0
func_80039CF0:
/* 80039CF0 00035950 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80039CF4 00035954 7C 08 02 A6 */ mflr r0
/* 80039CF8 00035958 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039CFC 0003595C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039D00 00035960 7C BF 2B 78 */ mr r31, r5
/* 80039D04 00035964 93 C1 00 08 */ stw r30, 8(r1)
/* 80039D08 00035968 7C 7E 1B 78 */ mr r30, r3
/* 80039D0C 0003596C 4B FF F9 71 */ bl func_8003967C
/* 80039D10 00035970 2C 03 00 00 */ cmpwi r3, 0
/* 80039D14 00035974 41 82 00 90 */ beq lbl_80039DA4
/* 80039D18 00035978 80 1E 0C 04 */ lwz r0, 0xc04(r30)
/* 80039D1C 0003597C 2C 00 00 00 */ cmpwi r0, 0
/* 80039D20 00035980 41 82 00 84 */ beq lbl_80039DA4
/* 80039D24 00035984 88 83 00 00 */ lbz r4, 0(r3)
/* 80039D28 00035988 7F C3 F3 78 */ mr r3, r30
/* 80039D2C 0003598C 7C 84 07 74 */ extsb r4, r4
/* 80039D30 00035990 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80039D34 00035994 48 00 25 29 */ bl func_8003C25C
/* 80039D38 00035998 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 80039D3C 0003599C 80 84 00 04 */ lwz r4, 4(r4)
/* 80039D40 000359A0 2C 04 00 00 */ cmpwi r4, 0
/* 80039D44 000359A4 40 82 00 0C */ bne lbl_80039D50
/* 80039D48 000359A8 38 60 00 00 */ li r3, 0
/* 80039D4C 000359AC 48 00 00 28 */ b lbl_80039D74
lbl_80039D50:
/* 80039D50 000359B0 A0 04 00 08 */ lhz r0, 8(r4)
/* 80039D54 000359B4 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80039D58 000359B8 7C 03 00 40 */ cmplw r3, r0
/* 80039D5C 000359BC 41 80 00 0C */ blt lbl_80039D68
/* 80039D60 000359C0 38 60 00 00 */ li r3, 0
/* 80039D64 000359C4 48 00 00 10 */ b lbl_80039D74
lbl_80039D68:
/* 80039D68 000359C8 1C 03 00 30 */ mulli r0, r3, 0x30
/* 80039D6C 000359CC 80 64 00 0C */ lwz r3, 0xc(r4)
/* 80039D70 000359D0 7C 63 02 14 */ add r3, r3, r0
lbl_80039D74:
/* 80039D74 000359D4 2C 03 00 00 */ cmpwi r3, 0
/* 80039D78 000359D8 41 82 00 2C */ beq lbl_80039DA4
/* 80039D7C 000359DC 2C 1F 00 00 */ cmpwi r31, 0
/* 80039D80 000359E0 40 80 00 0C */ bge lbl_80039D8C
/* 80039D84 000359E4 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80039D88 000359E8 48 00 00 20 */ b lbl_80039DA8
lbl_80039D8C:
/* 80039D8C 000359EC 2C 1F 00 03 */ cmpwi r31, 3
/* 80039D90 000359F0 40 80 00 14 */ bge lbl_80039DA4
/* 80039D94 000359F4 57 E0 10 3A */ slwi r0, r31, 2
/* 80039D98 000359F8 7C 63 02 14 */ add r3, r3, r0
/* 80039D9C 000359FC C0 23 00 04 */ lfs f1, 4(r3)
/* 80039DA0 00035A00 48 00 00 08 */ b lbl_80039DA8
lbl_80039DA4:
/* 80039DA4 00035A04 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
lbl_80039DA8:
/* 80039DA8 00035A08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039DAC 00035A0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039DB0 00035A10 83 C1 00 08 */ lwz r30, 8(r1)
/* 80039DB4 00035A14 7C 08 03 A6 */ mtlr r0
/* 80039DB8 00035A18 38 21 00 10 */ addi r1, r1, 0x10
/* 80039DBC 00035A1C 4E 80 00 20 */ blr
.global func_80039DC0
func_80039DC0:
/* 80039DC0 00035A20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80039DC4 00035A24 7C 08 02 A6 */ mflr r0
/* 80039DC8 00035A28 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039DCC 00035A2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039DD0 00035A30 7C BF 2B 78 */ mr r31, r5
/* 80039DD4 00035A34 93 C1 00 08 */ stw r30, 8(r1)
/* 80039DD8 00035A38 7C 7E 1B 78 */ mr r30, r3
/* 80039DDC 00035A3C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 80039DE0 00035A40 2C 00 00 00 */ cmpwi r0, 0
/* 80039DE4 00035A44 40 82 00 0C */ bne lbl_80039DF0
/* 80039DE8 00035A48 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039DEC 00035A4C 48 00 00 7C */ b lbl_80039E68
lbl_80039DF0:
/* 80039DF0 00035A50 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80039DF4 00035A54 48 00 24 69 */ bl func_8003C25C
/* 80039DF8 00035A58 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 80039DFC 00035A5C 80 84 00 04 */ lwz r4, 4(r4)
/* 80039E00 00035A60 2C 04 00 00 */ cmpwi r4, 0
/* 80039E04 00035A64 40 82 00 0C */ bne lbl_80039E10
/* 80039E08 00035A68 38 60 00 00 */ li r3, 0
/* 80039E0C 00035A6C 48 00 00 28 */ b lbl_80039E34
lbl_80039E10:
/* 80039E10 00035A70 A0 04 00 08 */ lhz r0, 8(r4)
/* 80039E14 00035A74 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80039E18 00035A78 7C 03 00 40 */ cmplw r3, r0
/* 80039E1C 00035A7C 41 80 00 0C */ blt lbl_80039E28
/* 80039E20 00035A80 38 60 00 00 */ li r3, 0
/* 80039E24 00035A84 48 00 00 10 */ b lbl_80039E34
lbl_80039E28:
/* 80039E28 00035A88 1C 03 00 30 */ mulli r0, r3, 0x30
/* 80039E2C 00035A8C 80 64 00 0C */ lwz r3, 0xc(r4)
/* 80039E30 00035A90 7C 63 02 14 */ add r3, r3, r0
lbl_80039E34:
/* 80039E34 00035A94 2C 03 00 00 */ cmpwi r3, 0
/* 80039E38 00035A98 41 82 00 2C */ beq lbl_80039E64
/* 80039E3C 00035A9C 2C 1F 00 00 */ cmpwi r31, 0
/* 80039E40 00035AA0 40 80 00 0C */ bge lbl_80039E4C
/* 80039E44 00035AA4 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80039E48 00035AA8 48 00 00 20 */ b lbl_80039E68
lbl_80039E4C:
/* 80039E4C 00035AAC 2C 1F 00 03 */ cmpwi r31, 3
/* 80039E50 00035AB0 40 80 00 14 */ bge lbl_80039E64
/* 80039E54 00035AB4 57 E0 10 3A */ slwi r0, r31, 2
/* 80039E58 00035AB8 7C 63 02 14 */ add r3, r3, r0
/* 80039E5C 00035ABC C0 23 00 04 */ lfs f1, 4(r3)
/* 80039E60 00035AC0 48 00 00 08 */ b lbl_80039E68
lbl_80039E64:
/* 80039E64 00035AC4 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
lbl_80039E68:
/* 80039E68 00035AC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039E6C 00035ACC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039E70 00035AD0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80039E74 00035AD4 7C 08 03 A6 */ mtlr r0
/* 80039E78 00035AD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80039E7C 00035ADC 4E 80 00 20 */ blr
.global func_80039E80
func_80039E80:
/* 80039E80 00035AE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80039E84 00035AE4 7C 08 02 A6 */ mflr r0
/* 80039E88 00035AE8 2C 05 00 00 */ cmpwi r5, 0
/* 80039E8C 00035AEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80039E90 00035AF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80039E94 00035AF4 7C BF 2B 78 */ mr r31, r5
/* 80039E98 00035AF8 93 C1 00 08 */ stw r30, 8(r1)
/* 80039E9C 00035AFC 7C 7E 1B 78 */ mr r30, r3
/* 80039EA0 00035B00 40 82 00 0C */ bne lbl_80039EAC
/* 80039EA4 00035B04 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039EA8 00035B08 48 00 00 84 */ b lbl_80039F2C
lbl_80039EAC:
/* 80039EAC 00035B0C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 80039EB0 00035B10 2C 00 00 00 */ cmpwi r0, 0
/* 80039EB4 00035B14 41 82 00 74 */ beq lbl_80039F28
/* 80039EB8 00035B18 48 00 23 A5 */ bl func_8003C25C
/* 80039EBC 00035B1C 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 80039EC0 00035B20 80 84 00 04 */ lwz r4, 4(r4)
/* 80039EC4 00035B24 2C 04 00 00 */ cmpwi r4, 0
/* 80039EC8 00035B28 40 82 00 0C */ bne lbl_80039ED4
/* 80039ECC 00035B2C 38 60 00 00 */ li r3, 0
/* 80039ED0 00035B30 48 00 00 28 */ b lbl_80039EF8
lbl_80039ED4:
/* 80039ED4 00035B34 A0 04 00 08 */ lhz r0, 8(r4)
/* 80039ED8 00035B38 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80039EDC 00035B3C 7C 03 00 40 */ cmplw r3, r0
/* 80039EE0 00035B40 41 80 00 0C */ blt lbl_80039EEC
/* 80039EE4 00035B44 38 60 00 00 */ li r3, 0
/* 80039EE8 00035B48 48 00 00 10 */ b lbl_80039EF8
lbl_80039EEC:
/* 80039EEC 00035B4C 1C 03 00 30 */ mulli r0, r3, 0x30
/* 80039EF0 00035B50 80 64 00 0C */ lwz r3, 0xc(r4)
/* 80039EF4 00035B54 7C 63 02 14 */ add r3, r3, r0
lbl_80039EF8:
/* 80039EF8 00035B58 2C 03 00 00 */ cmpwi r3, 0
/* 80039EFC 00035B5C 41 82 00 2C */ beq lbl_80039F28
/* 80039F00 00035B60 34 1F FF FF */ addic. r0, r31, -1
/* 80039F04 00035B64 41 80 00 0C */ blt lbl_80039F10
/* 80039F08 00035B68 2C 00 00 03 */ cmpwi r0, 3
/* 80039F0C 00035B6C 41 80 00 0C */ blt lbl_80039F18
lbl_80039F10:
/* 80039F10 00035B70 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80039F14 00035B74 48 00 00 18 */ b lbl_80039F2C
lbl_80039F18:
/* 80039F18 00035B78 54 00 10 3A */ slwi r0, r0, 2
/* 80039F1C 00035B7C 7C 63 02 14 */ add r3, r3, r0
/* 80039F20 00035B80 C0 23 00 04 */ lfs f1, 4(r3)
/* 80039F24 00035B84 48 00 00 08 */ b lbl_80039F2C
lbl_80039F28:
/* 80039F28 00035B88 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
lbl_80039F2C:
/* 80039F2C 00035B8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80039F30 00035B90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80039F34 00035B94 83 C1 00 08 */ lwz r30, 8(r1)
/* 80039F38 00035B98 7C 08 03 A6 */ mtlr r0
/* 80039F3C 00035B9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80039F40 00035BA0 4E 80 00 20 */ blr
.global func_80039F44
func_80039F44:
/* 80039F44 00035BA4 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 80039F48 00035BA8 2C 03 00 00 */ cmpwi r3, 0
/* 80039F4C 00035BAC 40 82 00 0C */ bne lbl_80039F58
/* 80039F50 00035BB0 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 80039F54 00035BB4 4E 80 00 20 */ blr
lbl_80039F58:
/* 80039F58 00035BB8 48 1B BB EC */ b func_801F5B44
/* 80039F5C 00035BBC 4E 80 00 20 */ blr
.global func_80039F60
func_80039F60:
/* 80039F60 00035BC0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80039F64 00035BC4 7C 08 02 A6 */ mflr r0
/* 80039F68 00035BC8 90 01 00 64 */ stw r0, 0x64(r1)
/* 80039F6C 00035BCC DB E1 00 50 */ stfd f31, 0x50(r1)
/* 80039F70 00035BD0 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80039F74 00035BD4 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 80039F78 00035BD8 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 80039F7C 00035BDC 39 61 00 40 */ addi r11, r1, 0x40
/* 80039F80 00035BE0 48 18 D1 A5 */ bl _savegpr_26
/* 80039F84 00035BE4 80 04 0C 04 */ lwz r0, 0xc04(r4)
/* 80039F88 00035BE8 FF C0 08 90 */ fmr f30, f1
/* 80039F8C 00035BEC FF E0 10 90 */ fmr f31, f2
/* 80039F90 00035BF0 7C 7E 1B 78 */ mr r30, r3
/* 80039F94 00035BF4 2C 00 00 00 */ cmpwi r0, 0
/* 80039F98 00035BF8 7C 9F 23 78 */ mr r31, r4
/* 80039F9C 00035BFC 7C DB 33 78 */ mr r27, r6
/* 80039FA0 00035C00 7C FA 3B 78 */ mr r26, r7
/* 80039FA4 00035C04 40 82 00 18 */ bne lbl_80039FBC
/* 80039FA8 00035C08 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80039FAC 00035C0C D0 03 00 00 */ stfs f0, 0(r3)
/* 80039FB0 00035C10 D0 03 00 04 */ stfs f0, 4(r3)
/* 80039FB4 00035C14 D0 03 00 08 */ stfs f0, 8(r3)
/* 80039FB8 00035C18 48 00 02 04 */ b lbl_8003A1BC
lbl_80039FBC:
/* 80039FBC 00035C1C 7F E3 FB 78 */ mr r3, r31
/* 80039FC0 00035C20 7C A4 2B 78 */ mr r4, r5
/* 80039FC4 00035C24 4B FF F6 B9 */ bl func_8003967C
/* 80039FC8 00035C28 2C 03 00 00 */ cmpwi r3, 0
/* 80039FCC 00035C2C 40 82 00 18 */ bne lbl_80039FE4
/* 80039FD0 00035C30 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 80039FD4 00035C34 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80039FD8 00035C38 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80039FDC 00035C3C D0 1E 00 08 */ stfs f0, 8(r30)
/* 80039FE0 00035C40 48 00 01 DC */ b lbl_8003A1BC
lbl_80039FE4:
/* 80039FE4 00035C44 88 83 00 00 */ lbz r4, 0(r3)
/* 80039FE8 00035C48 7F E3 FB 78 */ mr r3, r31
/* 80039FEC 00035C4C 7C 84 07 74 */ extsb r4, r4
/* 80039FF0 00035C50 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80039FF4 00035C54 48 00 22 69 */ bl func_8003C25C
/* 80039FF8 00035C58 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 80039FFC 00035C5C 7C 7D 1B 78 */ mr r29, r3
/* 8003A000 00035C60 80 64 00 08 */ lwz r3, 8(r4)
/* 8003A004 00035C64 2C 03 00 00 */ cmpwi r3, 0
/* 8003A008 00035C68 40 82 00 0C */ bne lbl_8003A014
/* 8003A00C 00035C6C 3B 80 00 00 */ li r28, 0
/* 8003A010 00035C70 48 00 00 1C */ b lbl_8003A02C
lbl_8003A014:
/* 8003A014 00035C74 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003A018 00035C78 2C 00 00 00 */ cmpwi r0, 0
/* 8003A01C 00035C7C 40 82 00 0C */ bne lbl_8003A028
/* 8003A020 00035C80 3B 80 00 00 */ li r28, 0
/* 8003A024 00035C84 48 00 00 08 */ b lbl_8003A02C
lbl_8003A028:
/* 8003A028 00035C88 83 83 00 00 */ lwz r28, 0(r3)
lbl_8003A02C:
/* 8003A02C 00035C8C 7F E3 FB 78 */ mr r3, r31
/* 8003A030 00035C90 7F 64 DB 78 */ mr r4, r27
/* 8003A034 00035C94 4B FF F8 05 */ bl func_80039838
/* 8003A038 00035C98 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 8003A03C 00035C9C 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003A040 00035CA0 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003A044 00035CA4 2C 05 00 00 */ cmpwi r5, 0
/* 8003A048 00035CA8 40 82 00 0C */ bne lbl_8003A054
/* 8003A04C 00035CAC 3B 60 00 00 */ li r27, 0
/* 8003A050 00035CB0 48 00 00 20 */ b lbl_8003A070
lbl_8003A054:
/* 8003A054 00035CB4 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003A058 00035CB8 7C 03 00 40 */ cmplw r3, r0
/* 8003A05C 00035CBC 41 80 00 0C */ blt lbl_8003A068
/* 8003A060 00035CC0 3B 60 00 00 */ li r27, 0
/* 8003A064 00035CC4 48 00 00 0C */ b lbl_8003A070
lbl_8003A068:
/* 8003A068 00035CC8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003A06C 00035CCC 7F 65 00 2E */ lwzx r27, r5, r0
lbl_8003A070:
/* 8003A070 00035CD0 7F E3 FB 78 */ mr r3, r31
/* 8003A074 00035CD4 7F 44 D3 78 */ mr r4, r26
/* 8003A078 00035CD8 4B FF F7 C1 */ bl func_80039838
/* 8003A07C 00035CDC 80 BF 0C 04 */ lwz r5, 0xc04(r31)
/* 8003A080 00035CE0 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003A084 00035CE4 80 85 00 08 */ lwz r4, 8(r5)
/* 8003A088 00035CE8 2C 04 00 00 */ cmpwi r4, 0
/* 8003A08C 00035CEC 40 82 00 0C */ bne lbl_8003A098
/* 8003A090 00035CF0 3B 40 00 00 */ li r26, 0
/* 8003A094 00035CF4 48 00 00 20 */ b lbl_8003A0B4
lbl_8003A098:
/* 8003A098 00035CF8 A0 05 00 DE */ lhz r0, 0xde(r5)
/* 8003A09C 00035CFC 7C 03 00 40 */ cmplw r3, r0
/* 8003A0A0 00035D00 41 80 00 0C */ blt lbl_8003A0AC
/* 8003A0A4 00035D04 3B 40 00 00 */ li r26, 0
/* 8003A0A8 00035D08 48 00 00 0C */ b lbl_8003A0B4
lbl_8003A0AC:
/* 8003A0AC 00035D0C 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003A0B0 00035D10 7F 44 00 2E */ lwzx r26, r4, r0
lbl_8003A0B4:
/* 8003A0B4 00035D14 2C 1C 00 00 */ cmpwi r28, 0
/* 8003A0B8 00035D18 41 82 00 14 */ beq lbl_8003A0CC
/* 8003A0BC 00035D1C 2C 1B 00 00 */ cmpwi r27, 0
/* 8003A0C0 00035D20 41 82 00 0C */ beq lbl_8003A0CC
/* 8003A0C4 00035D24 2C 1A 00 00 */ cmpwi r26, 0
/* 8003A0C8 00035D28 40 82 00 18 */ bne lbl_8003A0E0
lbl_8003A0CC:
/* 8003A0CC 00035D2C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A0D0 00035D30 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8003A0D4 00035D34 D0 1E 00 04 */ stfs f0, 4(r30)
/* 8003A0D8 00035D38 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8003A0DC 00035D3C 48 00 00 E0 */ b lbl_8003A1BC
lbl_8003A0E0:
/* 8003A0E0 00035D40 FC 20 F0 90 */ fmr f1, f30
/* 8003A0E4 00035D44 7C A3 2B 78 */ mr r3, r5
/* 8003A0E8 00035D48 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A0EC 00035D4C 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8003A0F0 00035D50 38 A0 00 00 */ li r5, 0
/* 8003A0F4 00035D54 38 C0 00 00 */ li r6, 0
/* 8003A0F8 00035D58 38 E0 00 00 */ li r7, 0
/* 8003A0FC 00035D5C 39 00 00 00 */ li r8, 0
/* 8003A100 00035D60 48 1B AC F5 */ bl func_801F4DF4
/* 8003A104 00035D64 81 9C 01 00 */ lwz r12, 0x100(r28)
/* 8003A108 00035D68 7F 83 E3 78 */ mr r3, r28
/* 8003A10C 00035D6C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A110 00035D70 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8003A114 00035D74 7D 89 03 A6 */ mtctr r12
/* 8003A118 00035D78 4E 80 04 21 */ bctrl
/* 8003A11C 00035D7C C0 1B 00 DC */ lfs f0, 0xdc(r27)
/* 8003A120 00035D80 FC 20 F8 90 */ fmr f1, f31
/* 8003A124 00035D84 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A128 00035D88 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8003A12C 00035D8C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003A130 00035D90 38 A0 00 00 */ li r5, 0
/* 8003A134 00035D94 38 C0 00 00 */ li r6, 0
/* 8003A138 00035D98 C0 1B 00 EC */ lfs f0, 0xec(r27)
/* 8003A13C 00035D9C 38 E0 00 00 */ li r7, 0
/* 8003A140 00035DA0 39 00 00 00 */ li r8, 0
/* 8003A144 00035DA4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8003A148 00035DA8 C0 1B 00 FC */ lfs f0, 0xfc(r27)
/* 8003A14C 00035DAC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8003A150 00035DB0 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A154 00035DB4 48 1B AC A1 */ bl func_801F4DF4
/* 8003A158 00035DB8 81 9C 01 00 */ lwz r12, 0x100(r28)
/* 8003A15C 00035DBC 7F 83 E3 78 */ mr r3, r28
/* 8003A160 00035DC0 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A164 00035DC4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8003A168 00035DC8 7D 89 03 A6 */ mtctr r12
/* 8003A16C 00035DCC 4E 80 04 21 */ bctrl
/* 8003A170 00035DD0 C0 1A 00 DC */ lfs f0, 0xdc(r26)
/* 8003A174 00035DD4 38 80 00 00 */ li r4, 0
/* 8003A178 00035DD8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A17C 00035DDC 38 A0 00 01 */ li r5, 1
/* 8003A180 00035DE0 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003A184 00035DE4 38 C0 00 00 */ li r6, 0
/* 8003A188 00035DE8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A18C 00035DEC 38 E0 00 00 */ li r7, 0
/* 8003A190 00035DF0 C0 1A 00 EC */ lfs f0, 0xec(r26)
/* 8003A194 00035DF4 39 00 00 00 */ li r8, 0
/* 8003A198 00035DF8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003A19C 00035DFC C0 1A 00 FC */ lfs f0, 0xfc(r26)
/* 8003A1A0 00035E00 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003A1A4 00035E04 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A1A8 00035E08 48 1B AC 4D */ bl func_801F4DF4
/* 8003A1AC 00035E0C 7F C5 F3 78 */ mr r5, r30
/* 8003A1B0 00035E10 38 61 00 08 */ addi r3, r1, 8
/* 8003A1B4 00035E14 38 81 00 14 */ addi r4, r1, 0x14
/* 8003A1B8 00035E18 48 24 2B 31 */ bl PSVECSubtract
lbl_8003A1BC:
/* 8003A1BC 00035E1C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 8003A1C0 00035E20 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 8003A1C4 00035E24 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 8003A1C8 00035E28 39 61 00 40 */ addi r11, r1, 0x40
/* 8003A1CC 00035E2C CB C1 00 40 */ lfd f30, 0x40(r1)
/* 8003A1D0 00035E30 48 18 CF A1 */ bl _restgpr_26
/* 8003A1D4 00035E34 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8003A1D8 00035E38 7C 08 03 A6 */ mtlr r0
/* 8003A1DC 00035E3C 38 21 00 60 */ addi r1, r1, 0x60
/* 8003A1E0 00035E40 4E 80 00 20 */ blr
.global func_8003A1E4
func_8003A1E4:
/* 8003A1E4 00035E44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A1E8 00035E48 7C 08 02 A6 */ mflr r0
/* 8003A1EC 00035E4C 7C 88 23 78 */ mr r8, r4
/* 8003A1F0 00035E50 7C 64 1B 78 */ mr r4, r3
/* 8003A1F4 00035E54 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A1F8 00035E58 7C A0 2B 78 */ mr r0, r5
/* 8003A1FC 00035E5C 7C C7 33 78 */ mr r7, r6
/* 8003A200 00035E60 7D 05 43 78 */ mr r5, r8
/* 8003A204 00035E64 7C 06 03 78 */ mr r6, r0
/* 8003A208 00035E68 38 61 00 08 */ addi r3, r1, 8
/* 8003A20C 00035E6C 4B FF FD 55 */ bl func_80039F60
/* 8003A210 00035E70 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A214 00035E74 38 61 00 08 */ addi r3, r1, 8
/* 8003A218 00035E78 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003A21C 00035E7C 48 24 2B 69 */ bl PSVECMag
/* 8003A220 00035E80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A224 00035E84 7C 08 03 A6 */ mtlr r0
/* 8003A228 00035E88 38 21 00 20 */ addi r1, r1, 0x20
/* 8003A22C 00035E8C 4E 80 00 20 */ blr
.global func_8003A230
func_8003A230:
/* 8003A230 00035E90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A234 00035E94 7C 08 02 A6 */ mflr r0
/* 8003A238 00035E98 7C 88 23 78 */ mr r8, r4
/* 8003A23C 00035E9C 7C 64 1B 78 */ mr r4, r3
/* 8003A240 00035EA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A244 00035EA4 7C A0 2B 78 */ mr r0, r5
/* 8003A248 00035EA8 7C C7 33 78 */ mr r7, r6
/* 8003A24C 00035EAC 7D 05 43 78 */ mr r5, r8
/* 8003A250 00035EB0 7C 06 03 78 */ mr r6, r0
/* 8003A254 00035EB4 38 61 00 08 */ addi r3, r1, 8
/* 8003A258 00035EB8 4B FF FD 09 */ bl func_80039F60
/* 8003A25C 00035EBC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A260 00035EC0 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8003A264 00035EC4 7C 08 03 A6 */ mtlr r0
/* 8003A268 00035EC8 38 21 00 20 */ addi r1, r1, 0x20
/* 8003A26C 00035ECC 4E 80 00 20 */ blr
.global func_8003A270
func_8003A270:
/* 8003A270 00035ED0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8003A274 00035ED4 7C 08 02 A6 */ mflr r0
/* 8003A278 00035ED8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8003A27C 00035EDC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8003A280 00035EE0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8003A284 00035EE4 39 61 00 30 */ addi r11, r1, 0x30
/* 8003A288 00035EE8 48 18 CE A1 */ bl _savegpr_27
/* 8003A28C 00035EEC FF E0 08 90 */ fmr f31, f1
/* 8003A290 00035EF0 7C 9C 23 78 */ mr r28, r4
/* 8003A294 00035EF4 7C 7B 1B 78 */ mr r27, r3
/* 8003A298 00035EF8 7C A4 2B 78 */ mr r4, r5
/* 8003A29C 00035EFC 7C DD 33 78 */ mr r29, r6
/* 8003A2A0 00035F00 7F 83 E3 78 */ mr r3, r28
/* 8003A2A4 00035F04 4B FF F3 D9 */ bl func_8003967C
/* 8003A2A8 00035F08 2C 03 00 00 */ cmpwi r3, 0
/* 8003A2AC 00035F0C 41 82 00 10 */ beq lbl_8003A2BC
/* 8003A2B0 00035F10 80 1C 0C 04 */ lwz r0, 0xc04(r28)
/* 8003A2B4 00035F14 2C 00 00 00 */ cmpwi r0, 0
/* 8003A2B8 00035F18 40 82 00 18 */ bne lbl_8003A2D0
lbl_8003A2BC:
/* 8003A2BC 00035F1C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A2C0 00035F20 D0 1B 00 00 */ stfs f0, 0(r27)
/* 8003A2C4 00035F24 D0 1B 00 04 */ stfs f0, 4(r27)
/* 8003A2C8 00035F28 D0 1B 00 08 */ stfs f0, 8(r27)
/* 8003A2CC 00035F2C 48 00 01 44 */ b lbl_8003A410
lbl_8003A2D0:
/* 8003A2D0 00035F30 88 83 00 00 */ lbz r4, 0(r3)
/* 8003A2D4 00035F34 7F 83 E3 78 */ mr r3, r28
/* 8003A2D8 00035F38 7C 84 07 74 */ extsb r4, r4
/* 8003A2DC 00035F3C 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8003A2E0 00035F40 48 00 1F 7D */ bl func_8003C25C
/* 8003A2E4 00035F44 80 9C 0C 04 */ lwz r4, 0xc04(r28)
/* 8003A2E8 00035F48 7C 7F 1B 78 */ mr r31, r3
/* 8003A2EC 00035F4C 80 64 00 08 */ lwz r3, 8(r4)
/* 8003A2F0 00035F50 2C 03 00 00 */ cmpwi r3, 0
/* 8003A2F4 00035F54 40 82 00 0C */ bne lbl_8003A300
/* 8003A2F8 00035F58 3B C0 00 00 */ li r30, 0
/* 8003A2FC 00035F5C 48 00 00 1C */ b lbl_8003A318
lbl_8003A300:
/* 8003A300 00035F60 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003A304 00035F64 2C 00 00 00 */ cmpwi r0, 0
/* 8003A308 00035F68 40 82 00 0C */ bne lbl_8003A314
/* 8003A30C 00035F6C 3B C0 00 00 */ li r30, 0
/* 8003A310 00035F70 48 00 00 08 */ b lbl_8003A318
lbl_8003A314:
/* 8003A314 00035F74 83 C3 00 00 */ lwz r30, 0(r3)
lbl_8003A318:
/* 8003A318 00035F78 7F 83 E3 78 */ mr r3, r28
/* 8003A31C 00035F7C 7F A4 EB 78 */ mr r4, r29
/* 8003A320 00035F80 4B FF F5 19 */ bl func_80039838
/* 8003A324 00035F84 80 BC 0C 04 */ lwz r5, 0xc04(r28)
/* 8003A328 00035F88 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003A32C 00035F8C 80 85 00 08 */ lwz r4, 8(r5)
/* 8003A330 00035F90 2C 04 00 00 */ cmpwi r4, 0
/* 8003A334 00035F94 40 82 00 0C */ bne lbl_8003A340
/* 8003A338 00035F98 3B A0 00 00 */ li r29, 0
/* 8003A33C 00035F9C 48 00 00 20 */ b lbl_8003A35C
lbl_8003A340:
/* 8003A340 00035FA0 A0 05 00 DE */ lhz r0, 0xde(r5)
/* 8003A344 00035FA4 7C 03 00 40 */ cmplw r3, r0
/* 8003A348 00035FA8 41 80 00 0C */ blt lbl_8003A354
/* 8003A34C 00035FAC 3B A0 00 00 */ li r29, 0
/* 8003A350 00035FB0 48 00 00 0C */ b lbl_8003A35C
lbl_8003A354:
/* 8003A354 00035FB4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003A358 00035FB8 7F A4 00 2E */ lwzx r29, r4, r0
lbl_8003A35C:
/* 8003A35C 00035FBC 2C 1E 00 00 */ cmpwi r30, 0
/* 8003A360 00035FC0 41 82 00 0C */ beq lbl_8003A36C
/* 8003A364 00035FC4 2C 1D 00 00 */ cmpwi r29, 0
/* 8003A368 00035FC8 40 82 00 18 */ bne lbl_8003A380
lbl_8003A36C:
/* 8003A36C 00035FCC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A370 00035FD0 D0 1B 00 00 */ stfs f0, 0(r27)
/* 8003A374 00035FD4 D0 1B 00 04 */ stfs f0, 4(r27)
/* 8003A378 00035FD8 D0 1B 00 08 */ stfs f0, 8(r27)
/* 8003A37C 00035FDC 48 00 00 94 */ b lbl_8003A410
lbl_8003A380:
/* 8003A380 00035FE0 FC 20 F8 90 */ fmr f1, f31
/* 8003A384 00035FE4 7C A3 2B 78 */ mr r3, r5
/* 8003A388 00035FE8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A38C 00035FEC 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 8003A390 00035FF0 38 A0 00 00 */ li r5, 0
/* 8003A394 00035FF4 38 C0 00 00 */ li r6, 0
/* 8003A398 00035FF8 38 E0 00 00 */ li r7, 0
/* 8003A39C 00035FFC 39 00 00 00 */ li r8, 0
/* 8003A3A0 00036000 48 1B AA 55 */ bl func_801F4DF4
/* 8003A3A4 00036004 81 9E 01 00 */ lwz r12, 0x100(r30)
/* 8003A3A8 00036008 7F C3 F3 78 */ mr r3, r30
/* 8003A3AC 0003600C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A3B0 00036010 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8003A3B4 00036014 7D 89 03 A6 */ mtctr r12
/* 8003A3B8 00036018 4E 80 04 21 */ bctrl
/* 8003A3BC 0003601C C0 5D 00 DC */ lfs f2, 0xdc(r29)
/* 8003A3C0 00036020 38 80 00 00 */ li r4, 0
/* 8003A3C4 00036024 C0 3D 00 EC */ lfs f1, 0xec(r29)
/* 8003A3C8 00036028 38 A0 00 01 */ li r5, 1
/* 8003A3CC 0003602C C0 1D 00 FC */ lfs f0, 0xfc(r29)
/* 8003A3D0 00036030 38 C0 00 00 */ li r6, 0
/* 8003A3D4 00036034 D0 41 00 08 */ stfs f2, 8(r1)
/* 8003A3D8 00036038 38 E0 00 00 */ li r7, 0
/* 8003A3DC 0003603C 80 7C 0C 04 */ lwz r3, 0xc04(r28)
/* 8003A3E0 00036040 39 00 00 00 */ li r8, 0
/* 8003A3E4 00036044 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8003A3E8 00036048 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A3EC 0003604C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003A3F0 00036050 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A3F4 00036054 48 1B AA 01 */ bl func_801F4DF4
/* 8003A3F8 00036058 C0 41 00 08 */ lfs f2, 8(r1)
/* 8003A3FC 0003605C C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8003A400 00036060 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003A404 00036064 D0 5B 00 00 */ stfs f2, 0(r27)
/* 8003A408 00036068 D0 3B 00 04 */ stfs f1, 4(r27)
/* 8003A40C 0003606C D0 1B 00 08 */ stfs f0, 8(r27)
lbl_8003A410:
/* 8003A410 00036070 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8003A414 00036074 39 61 00 30 */ addi r11, r1, 0x30
/* 8003A418 00036078 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8003A41C 0003607C 48 18 CD 59 */ bl _restgpr_27
/* 8003A420 00036080 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003A424 00036084 7C 08 03 A6 */ mtlr r0
/* 8003A428 00036088 38 21 00 40 */ addi r1, r1, 0x40
/* 8003A42C 0003608C 4E 80 00 20 */ blr
.global func_8003A430
func_8003A430:
/* 8003A430 00036090 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8003A434 00036094 7C 08 02 A6 */ mflr r0
/* 8003A438 00036098 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003A43C 0003609C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8003A440 000360A0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 8003A444 000360A4 FF E0 08 90 */ fmr f31, f1
/* 8003A448 000360A8 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8003A44C 000360AC 7C 9F 23 78 */ mr r31, r4
/* 8003A450 000360B0 7C A4 2B 78 */ mr r4, r5
/* 8003A454 000360B4 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8003A458 000360B8 7C 7E 1B 78 */ mr r30, r3
/* 8003A45C 000360BC 7F E3 FB 78 */ mr r3, r31
/* 8003A460 000360C0 4B FF F2 1D */ bl func_8003967C
/* 8003A464 000360C4 2C 03 00 00 */ cmpwi r3, 0
/* 8003A468 000360C8 41 82 00 10 */ beq lbl_8003A478
/* 8003A46C 000360CC 80 1F 0C 04 */ lwz r0, 0xc04(r31)
/* 8003A470 000360D0 2C 00 00 00 */ cmpwi r0, 0
/* 8003A474 000360D4 40 82 00 18 */ bne lbl_8003A48C
lbl_8003A478:
/* 8003A478 000360D8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A47C 000360DC D0 1E 00 00 */ stfs f0, 0(r30)
/* 8003A480 000360E0 D0 1E 00 04 */ stfs f0, 4(r30)
/* 8003A484 000360E4 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8003A488 000360E8 48 00 01 44 */ b lbl_8003A5CC
lbl_8003A48C:
/* 8003A48C 000360EC 88 83 00 00 */ lbz r4, 0(r3)
/* 8003A490 000360F0 7F E3 FB 78 */ mr r3, r31
/* 8003A494 000360F4 7C 84 07 74 */ extsb r4, r4
/* 8003A498 000360F8 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8003A49C 000360FC 48 00 1D C1 */ bl func_8003C25C
/* 8003A4A0 00036100 80 BF 0C 04 */ lwz r5, 0xc04(r31)
/* 8003A4A4 00036104 7C 64 1B 78 */ mr r4, r3
/* 8003A4A8 00036108 80 65 00 08 */ lwz r3, 8(r5)
/* 8003A4AC 0003610C 2C 03 00 00 */ cmpwi r3, 0
/* 8003A4B0 00036110 40 82 00 0C */ bne lbl_8003A4BC
/* 8003A4B4 00036114 38 00 00 00 */ li r0, 0
/* 8003A4B8 00036118 48 00 00 1C */ b lbl_8003A4D4
lbl_8003A4BC:
/* 8003A4BC 0003611C A0 05 00 DE */ lhz r0, 0xde(r5)
/* 8003A4C0 00036120 2C 00 00 00 */ cmpwi r0, 0
/* 8003A4C4 00036124 40 82 00 0C */ bne lbl_8003A4D0
/* 8003A4C8 00036128 38 00 00 00 */ li r0, 0
/* 8003A4CC 0003612C 48 00 00 08 */ b lbl_8003A4D4
lbl_8003A4D0:
/* 8003A4D0 00036130 80 03 00 00 */ lwz r0, 0(r3)
lbl_8003A4D4:
/* 8003A4D4 00036134 2C 00 00 00 */ cmpwi r0, 0
/* 8003A4D8 00036138 40 82 00 18 */ bne lbl_8003A4F0
/* 8003A4DC 0003613C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A4E0 00036140 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8003A4E4 00036144 D0 1E 00 04 */ stfs f0, 4(r30)
/* 8003A4E8 00036148 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8003A4EC 0003614C 48 00 00 E0 */ b lbl_8003A5CC
lbl_8003A4F0:
/* 8003A4F0 00036150 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003A4F4 00036154 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8003A4F8 00036158 40 82 00 10 */ bne lbl_8003A508
/* 8003A4FC 0003615C A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 8003A500 00036160 60 00 00 01 */ ori r0, r0, 1
/* 8003A504 00036164 B0 05 00 DC */ sth r0, 0xdc(r5)
lbl_8003A508:
/* 8003A508 00036168 FC 20 F8 90 */ fmr f1, f31
/* 8003A50C 0003616C 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A510 00036170 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A514 00036174 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8003A518 00036178 38 A0 00 00 */ li r5, 0
/* 8003A51C 0003617C 38 C0 00 00 */ li r6, 0
/* 8003A520 00036180 38 E0 00 00 */ li r7, 0
/* 8003A524 00036184 39 00 00 00 */ li r8, 0
/* 8003A528 00036188 48 1B A8 CD */ bl func_801F4DF4
/* 8003A52C 0003618C 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A530 00036190 38 80 00 01 */ li r4, 1
/* 8003A534 00036194 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A538 00036198 48 1B C3 11 */ bl func_801F6848
/* 8003A53C 0003619C 7F E4 FB 78 */ mr r4, r31
/* 8003A540 000361A0 38 61 00 08 */ addi r3, r1, 8
/* 8003A544 000361A4 48 00 11 B1 */ bl func_8003B6F4
/* 8003A548 000361A8 7F E4 FB 78 */ mr r4, r31
/* 8003A54C 000361AC 38 61 00 14 */ addi r3, r1, 0x14
/* 8003A550 000361B0 48 00 11 F5 */ bl func_8003B744
/* 8003A554 000361B4 38 61 00 14 */ addi r3, r1, 0x14
/* 8003A558 000361B8 38 81 00 08 */ addi r4, r1, 8
/* 8003A55C 000361BC 38 A1 00 20 */ addi r5, r1, 0x20
/* 8003A560 000361C0 48 24 27 89 */ bl PSVECSubtract
/* 8003A564 000361C4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003A568 000361C8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8003A56C 000361CC 40 82 00 14 */ bne lbl_8003A580
/* 8003A570 000361D0 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A574 000361D4 A0 03 00 DC */ lhz r0, 0xdc(r3)
/* 8003A578 000361D8 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
/* 8003A57C 000361DC B0 03 00 DC */ sth r0, 0xdc(r3)
lbl_8003A580:
/* 8003A580 000361E0 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A584 000361E4 38 80 00 00 */ li r4, 0
/* 8003A588 000361E8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A58C 000361EC 38 A0 00 01 */ li r5, 1
/* 8003A590 000361F0 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A594 000361F4 38 C0 00 00 */ li r6, 0
/* 8003A598 000361F8 38 E0 00 00 */ li r7, 0
/* 8003A59C 000361FC 39 00 00 00 */ li r8, 0
/* 8003A5A0 00036200 48 1B A8 55 */ bl func_801F4DF4
/* 8003A5A4 00036204 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003A5A8 00036208 38 80 00 01 */ li r4, 1
/* 8003A5AC 0003620C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A5B0 00036210 48 1B C2 99 */ bl func_801F6848
/* 8003A5B4 00036214 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8003A5B8 00036218 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8003A5BC 0003621C C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8003A5C0 00036220 D0 1E 00 04 */ stfs f0, 4(r30)
/* 8003A5C4 00036224 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8003A5C8 00036228 D0 1E 00 08 */ stfs f0, 8(r30)
lbl_8003A5CC:
/* 8003A5CC 0003622C E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 8003A5D0 00036230 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003A5D4 00036234 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8003A5D8 00036238 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8003A5DC 0003623C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8003A5E0 00036240 7C 08 03 A6 */ mtlr r0
/* 8003A5E4 00036244 38 21 00 50 */ addi r1, r1, 0x50
/* 8003A5E8 00036248 4E 80 00 20 */ blr
.global func_8003A5EC
func_8003A5EC:
/* 8003A5EC 0003624C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A5F0 00036250 7C 08 02 A6 */ mflr r0
/* 8003A5F4 00036254 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A5F8 00036258 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8003A5FC 0003625C F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 8003A600 00036260 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A604 00036264 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003A608 00036268 7C 7F 1B 78 */ mr r31, r3
/* 8003A60C 0003626C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003A610 00036270 2C 00 00 00 */ cmpwi r0, 0
/* 8003A614 00036274 40 82 00 0C */ bne lbl_8003A620
/* 8003A618 00036278 FC 20 F8 90 */ fmr f1, f31
/* 8003A61C 0003627C 48 00 00 90 */ b lbl_8003A6AC
lbl_8003A620:
/* 8003A620 00036280 2C 04 00 00 */ cmpwi r4, 0
/* 8003A624 00036284 40 82 00 0C */ bne lbl_8003A630
/* 8003A628 00036288 38 80 00 15 */ li r4, 0x15
/* 8003A62C 0003628C 48 00 00 1C */ b lbl_8003A648
lbl_8003A630:
/* 8003A630 00036290 2C 04 00 01 */ cmpwi r4, 1
/* 8003A634 00036294 40 82 00 0C */ bne lbl_8003A640
/* 8003A638 00036298 38 80 00 17 */ li r4, 0x17
/* 8003A63C 0003629C 48 00 00 0C */ b lbl_8003A648
lbl_8003A640:
/* 8003A640 000362A0 FC 20 F8 90 */ fmr f1, f31
/* 8003A644 000362A4 48 00 00 68 */ b lbl_8003A6AC
lbl_8003A648:
/* 8003A648 000362A8 7F E3 FB 78 */ mr r3, r31
/* 8003A64C 000362AC 4B FF F1 ED */ bl func_80039838
/* 8003A650 000362B0 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 8003A654 000362B4 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003A658 000362B8 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003A65C 000362BC 2C 05 00 00 */ cmpwi r5, 0
/* 8003A660 000362C0 40 82 00 0C */ bne lbl_8003A66C
/* 8003A664 000362C4 38 60 00 00 */ li r3, 0
/* 8003A668 000362C8 48 00 00 20 */ b lbl_8003A688
lbl_8003A66C:
/* 8003A66C 000362CC A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003A670 000362D0 7C 03 00 40 */ cmplw r3, r0
/* 8003A674 000362D4 41 80 00 0C */ blt lbl_8003A680
/* 8003A678 000362D8 38 60 00 00 */ li r3, 0
/* 8003A67C 000362DC 48 00 00 0C */ b lbl_8003A688
lbl_8003A680:
/* 8003A680 000362E0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003A684 000362E4 7C 65 00 2E */ lwzx r3, r5, r0
lbl_8003A688:
/* 8003A688 000362E8 2C 03 00 00 */ cmpwi r3, 0
/* 8003A68C 000362EC 41 82 00 1C */ beq lbl_8003A6A8
/* 8003A690 000362F0 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 8003A694 000362F4 2C 03 00 00 */ cmpwi r3, 0
/* 8003A698 000362F8 41 82 00 0C */ beq lbl_8003A6A4
/* 8003A69C 000362FC C3 E3 00 1C */ lfs f31, 0x1c(r3)
/* 8003A6A0 00036300 48 00 00 08 */ b lbl_8003A6A8
lbl_8003A6A4:
/* 8003A6A4 00036304 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
lbl_8003A6A8:
/* 8003A6A8 00036308 FC 20 F8 90 */ fmr f1, f31
lbl_8003A6AC:
/* 8003A6AC 0003630C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 8003A6B0 00036310 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A6B4 00036314 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8003A6B8 00036318 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003A6BC 0003631C 7C 08 03 A6 */ mtlr r0
/* 8003A6C0 00036320 38 21 00 20 */ addi r1, r1, 0x20
/* 8003A6C4 00036324 4E 80 00 20 */ blr
.global func_8003A6C8
func_8003A6C8:
/* 8003A6C8 00036328 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8003A6CC 0003632C 7C 08 02 A6 */ mflr r0
/* 8003A6D0 00036330 90 01 00 74 */ stw r0, 0x74(r1)
/* 8003A6D4 00036334 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8003A6D8 00036338 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8003A6DC 0003633C DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8003A6E0 00036340 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 8003A6E4 00036344 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 8003A6E8 00036348 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 8003A6EC 0003634C DB 81 00 30 */ stfd f28, 0x30(r1)
/* 8003A6F0 00036350 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 8003A6F4 00036354 39 61 00 30 */ addi r11, r1, 0x30
/* 8003A6F8 00036358 48 18 CA 31 */ bl _savegpr_27
/* 8003A6FC 0003635C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003A700 00036360 FF C0 08 90 */ fmr f30, f1
/* 8003A704 00036364 7C 7B 1B 78 */ mr r27, r3
/* 8003A708 00036368 7C 9C 23 78 */ mr r28, r4
/* 8003A70C 0003636C 2C 00 00 00 */ cmpwi r0, 0
/* 8003A710 00036370 7C BD 2B 78 */ mr r29, r5
/* 8003A714 00036374 7C DE 33 78 */ mr r30, r6
/* 8003A718 00036378 41 82 02 08 */ beq lbl_8003A920
/* 8003A71C 0003637C 7F A4 EB 78 */ mr r4, r29
/* 8003A720 00036380 4B FF F1 19 */ bl func_80039838
/* 8003A724 00036384 80 9B 0C 04 */ lwz r4, 0xc04(r27)
/* 8003A728 00036388 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003A72C 0003638C 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003A730 00036390 2C 05 00 00 */ cmpwi r5, 0
/* 8003A734 00036394 40 82 00 0C */ bne lbl_8003A740
/* 8003A738 00036398 3B E0 00 00 */ li r31, 0
/* 8003A73C 0003639C 48 00 00 20 */ b lbl_8003A75C
lbl_8003A740:
/* 8003A740 000363A0 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003A744 000363A4 7C 03 00 40 */ cmplw r3, r0
/* 8003A748 000363A8 41 80 00 0C */ blt lbl_8003A754
/* 8003A74C 000363AC 3B E0 00 00 */ li r31, 0
/* 8003A750 000363B0 48 00 00 0C */ b lbl_8003A75C
lbl_8003A754:
/* 8003A754 000363B4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003A758 000363B8 7F E5 00 2E */ lwzx r31, r5, r0
lbl_8003A75C:
/* 8003A75C 000363BC 2C 1F 00 00 */ cmpwi r31, 0
/* 8003A760 000363C0 41 82 01 C0 */ beq lbl_8003A920
/* 8003A764 000363C4 C0 5C 00 00 */ lfs f2, 0(r28)
/* 8003A768 000363C8 C0 3C 00 04 */ lfs f1, 4(r28)
/* 8003A76C 000363CC C0 1C 00 08 */ lfs f0, 8(r28)
/* 8003A770 000363D0 D0 41 00 08 */ stfs f2, 8(r1)
/* 8003A774 000363D4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8003A778 000363D8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003A77C 000363DC 93 BB 0C 74 */ stw r29, 0xc74(r27)
/* 8003A780 000363E0 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 8003A784 000363E4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8003A788 000363E8 41 82 00 1C */ beq lbl_8003A7A4
/* 8003A78C 000363EC 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003A790 000363F0 38 9F 00 3C */ addi r4, r31, 0x3c
/* 8003A794 000363F4 48 1E 8F 2D */ bl func_802236C0
/* 8003A798 000363F8 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 8003A79C 000363FC 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 8003A7A0 00036400 B0 1F 00 10 */ sth r0, 0x10(r31)
lbl_8003A7A4:
/* 8003A7A4 00036404 C0 FF 00 2C */ lfs f7, 0x2c(r31)
/* 8003A7A8 00036408 C0 9F 00 30 */ lfs f4, 0x30(r31)
/* 8003A7AC 0003640C C0 DF 00 34 */ lfs f6, 0x34(r31)
/* 8003A7B0 00036410 C0 7F 00 38 */ lfs f3, 0x38(r31)
/* 8003A7B4 00036414 EC 47 01 32 */ fmuls f2, f7, f4
/* 8003A7B8 00036418 C0 02 82 9C */ lfs f0, lbl_8064089C-_SDA2_BASE_(r2)
/* 8003A7BC 0003641C EC 26 00 F2 */ fmuls f1, f6, f3
/* 8003A7C0 00036420 EF E2 08 2A */ fadds f31, f2, f1
/* 8003A7C4 00036424 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003A7C8 00036428 40 81 00 34 */ ble lbl_8003A7FC
/* 8003A7CC 0003642C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A7D0 00036430 D0 1B 0C 78 */ stfs f0, 0xc78(r27)
/* 8003A7D4 00036434 C0 5F 00 38 */ lfs f2, 0x38(r31)
/* 8003A7D8 00036438 C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 8003A7DC 0003643C 48 19 9E 01 */ bl atan2
/* 8003A7E0 00036440 FC 40 08 18 */ frsp f2, f1
/* 8003A7E4 00036444 C0 22 82 3C */ lfs f1, lbl_8064083C-_SDA2_BASE_(r2)
/* 8003A7E8 00036448 C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2)
/* 8003A7EC 0003644C EC 21 00 B2 */ fmuls f1, f1, f2
/* 8003A7F0 00036450 D0 1B 0C 80 */ stfs f0, 0xc80(r27)
/* 8003A7F4 00036454 D0 3B 0C 7C */ stfs f1, 0xc7c(r27)
/* 8003A7F8 00036458 48 00 00 F4 */ b lbl_8003A8EC
lbl_8003A7FC:
/* 8003A7FC 0003645C C0 02 82 A0 */ lfs f0, lbl_806408A0-_SDA2_BASE_(r2)
/* 8003A800 00036460 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003A804 00036464 40 80 00 34 */ bge lbl_8003A838
/* 8003A808 00036468 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003A80C 0003646C D0 1B 0C 78 */ stfs f0, 0xc78(r27)
/* 8003A810 00036470 C0 5F 00 38 */ lfs f2, 0x38(r31)
/* 8003A814 00036474 C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 8003A818 00036478 48 19 9D C5 */ bl atan2
/* 8003A81C 0003647C FC 40 08 18 */ frsp f2, f1
/* 8003A820 00036480 C0 22 82 3C */ lfs f1, lbl_8064083C-_SDA2_BASE_(r2)
/* 8003A824 00036484 C0 02 82 A4 */ lfs f0, lbl_806408A4-_SDA2_BASE_(r2)
/* 8003A828 00036488 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8003A82C 0003648C D0 1B 0C 80 */ stfs f0, 0xc80(r27)
/* 8003A830 00036490 D0 3B 0C 7C */ stfs f1, 0xc7c(r27)
/* 8003A834 00036494 48 00 00 B8 */ b lbl_8003A8EC
lbl_8003A838:
/* 8003A838 00036498 EC 47 00 F2 */ fmuls f2, f7, f3
/* 8003A83C 0003649C C0 02 82 3C */ lfs f0, lbl_8064083C-_SDA2_BASE_(r2)
/* 8003A840 000364A0 EC 24 01 B2 */ fmuls f1, f4, f6
/* 8003A844 000364A4 EC A4 01 32 */ fmuls f5, f4, f4
/* 8003A848 000364A8 EC 87 01 F2 */ fmuls f4, f7, f7
/* 8003A84C 000364AC EC 22 08 28 */ fsubs f1, f2, f1
/* 8003A850 000364B0 EC 63 00 F2 */ fmuls f3, f3, f3
/* 8003A854 000364B4 EC 46 01 B2 */ fmuls f2, f6, f6
/* 8003A858 000364B8 EF 85 20 28 */ fsubs f28, f5, f4
/* 8003A85C 000364BC EC 20 00 72 */ fmuls f1, f0, f1
/* 8003A860 000364C0 EF A3 10 28 */ fsubs f29, f3, f2
/* 8003A864 000364C4 EC 5D E0 2A */ fadds f2, f29, f28
/* 8003A868 000364C8 48 19 9D 75 */ bl atan2
/* 8003A86C 000364CC FC 20 08 18 */ frsp f1, f1
/* 8003A870 000364D0 C0 02 82 3C */ lfs f0, lbl_8064083C-_SDA2_BASE_(r2)
/* 8003A874 000364D4 EC 5D E0 28 */ fsubs f2, f29, f28
/* 8003A878 000364D8 D0 3B 0C 78 */ stfs f1, 0xc78(r27)
/* 8003A87C 000364DC C0 BF 00 30 */ lfs f5, 0x30(r31)
/* 8003A880 000364E0 C0 9F 00 38 */ lfs f4, 0x38(r31)
/* 8003A884 000364E4 C0 7F 00 2C */ lfs f3, 0x2c(r31)
/* 8003A888 000364E8 C0 3F 00 34 */ lfs f1, 0x34(r31)
/* 8003A88C 000364EC EC 85 01 32 */ fmuls f4, f5, f4
/* 8003A890 000364F0 EC 23 00 72 */ fmuls f1, f3, f1
/* 8003A894 000364F4 EC 24 08 28 */ fsubs f1, f4, f1
/* 8003A898 000364F8 EC 20 00 72 */ fmuls f1, f0, f1
/* 8003A89C 000364FC 48 19 9D 41 */ bl atan2
/* 8003A8A0 00036500 C0 42 82 3C */ lfs f2, lbl_8064083C-_SDA2_BASE_(r2)
/* 8003A8A4 00036504 FC 60 08 18 */ frsp f3, f1
/* 8003A8A8 00036508 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 8003A8AC 0003650C EC 22 07 F2 */ fmuls f1, f2, f31
/* 8003A8B0 00036510 D0 7B 0C 7C */ stfs f3, 0xc7c(r27)
/* 8003A8B4 00036514 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003A8B8 00036518 4C 41 13 82 */ cror 2, 1, 2
/* 8003A8BC 0003651C 40 82 00 0C */ bne lbl_8003A8C8
/* 8003A8C0 00036520 C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2)
/* 8003A8C4 00036524 48 00 00 24 */ b lbl_8003A8E8
lbl_8003A8C8:
/* 8003A8C8 00036528 C0 02 82 44 */ lfs f0, lbl_80640844-_SDA2_BASE_(r2)
/* 8003A8CC 0003652C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003A8D0 00036530 4C 40 13 82 */ cror 2, 0, 2
/* 8003A8D4 00036534 40 82 00 0C */ bne lbl_8003A8E0
/* 8003A8D8 00036538 C0 02 82 80 */ lfs f0, lbl_80640880-_SDA2_BASE_(r2)
/* 8003A8DC 0003653C 48 00 00 0C */ b lbl_8003A8E8
lbl_8003A8E0:
/* 8003A8E0 00036540 48 19 9C F9 */ bl asin
/* 8003A8E4 00036544 FC 00 08 18 */ frsp f0, f1
lbl_8003A8E8:
/* 8003A8E8 00036548 D0 1B 0C 80 */ stfs f0, 0xc80(r27)
lbl_8003A8EC:
/* 8003A8EC 0003654C C0 7B 0C 78 */ lfs f3, 0xc78(r27)
/* 8003A8F0 00036550 38 9B 0C 78 */ addi r4, r27, 0xc78
/* 8003A8F4 00036554 C0 5B 0C 7C */ lfs f2, 0xc7c(r27)
/* 8003A8F8 00036558 FC 20 F0 90 */ fmr f1, f30
/* 8003A8FC 0003655C C0 1B 0C 80 */ lfs f0, 0xc80(r27)
/* 8003A900 00036560 7C 86 23 78 */ mr r6, r4
/* 8003A904 00036564 D0 7B 0C 84 */ stfs f3, 0xc84(r27)
/* 8003A908 00036568 7F C7 F3 78 */ mr r7, r30
/* 8003A90C 0003656C 38 7B 04 60 */ addi r3, r27, 0x460
/* 8003A910 00036570 D0 5B 0C 88 */ stfs f2, 0xc88(r27)
/* 8003A914 00036574 38 A1 00 08 */ addi r5, r1, 8
/* 8003A918 00036578 D0 1B 0C 8C */ stfs f0, 0xc8c(r27)
/* 8003A91C 0003657C 48 01 5C 29 */ bl func_80050544
lbl_8003A920:
/* 8003A920 00036580 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 8003A924 00036584 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8003A928 00036588 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 8003A92C 0003658C CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8003A930 00036590 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 8003A934 00036594 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 8003A938 00036598 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 8003A93C 0003659C 39 61 00 30 */ addi r11, r1, 0x30
/* 8003A940 000365A0 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 8003A944 000365A4 48 18 C8 31 */ bl _restgpr_27
/* 8003A948 000365A8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8003A94C 000365AC 7C 08 03 A6 */ mtlr r0
/* 8003A950 000365B0 38 21 00 70 */ addi r1, r1, 0x70
/* 8003A954 000365B4 4E 80 00 20 */ blr
.global func_8003A958
func_8003A958:
/* 8003A958 000365B8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8003A95C 000365BC 7C 08 02 A6 */ mflr r0
/* 8003A960 000365C0 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003A964 000365C4 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8003A968 000365C8 7C 7F 1B 78 */ mr r31, r3
/* 8003A96C 000365CC 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8003A970 000365D0 7C 9E 23 78 */ mr r30, r4
/* 8003A974 000365D4 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003A978 000365D8 2C 00 00 00 */ cmpwi r0, 0
/* 8003A97C 000365DC 41 82 00 E0 */ beq lbl_8003AA5C
/* 8003A980 000365E0 7C A4 2B 78 */ mr r4, r5
/* 8003A984 000365E4 4B FF EE B5 */ bl func_80039838
/* 8003A988 000365E8 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 8003A98C 000365EC 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003A990 000365F0 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003A994 000365F4 2C 05 00 00 */ cmpwi r5, 0
/* 8003A998 000365F8 40 82 00 0C */ bne lbl_8003A9A4
/* 8003A99C 000365FC 3B E0 00 00 */ li r31, 0
/* 8003A9A0 00036600 48 00 00 20 */ b lbl_8003A9C0
lbl_8003A9A4:
/* 8003A9A4 00036604 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003A9A8 00036608 7C 03 00 40 */ cmplw r3, r0
/* 8003A9AC 0003660C 41 80 00 0C */ blt lbl_8003A9B8
/* 8003A9B0 00036610 3B E0 00 00 */ li r31, 0
/* 8003A9B4 00036614 48 00 00 0C */ b lbl_8003A9C0
lbl_8003A9B8:
/* 8003A9B8 00036618 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003A9BC 0003661C 7F E5 00 2E */ lwzx r31, r5, r0
lbl_8003A9C0:
/* 8003A9C0 00036620 2C 1F 00 00 */ cmpwi r31, 0
/* 8003A9C4 00036624 41 82 00 98 */ beq lbl_8003AA5C
/* 8003A9C8 00036628 7F C4 F3 78 */ mr r4, r30
/* 8003A9CC 0003662C 38 61 00 18 */ addi r3, r1, 0x18
/* 8003A9D0 00036630 38 A0 00 00 */ li r5, 0
/* 8003A9D4 00036634 48 1E 89 F5 */ bl func_802233C8
/* 8003A9D8 00036638 38 61 00 08 */ addi r3, r1, 8
/* 8003A9DC 0003663C 38 81 00 18 */ addi r4, r1, 0x18
/* 8003A9E0 00036640 48 24 27 E5 */ bl C_QUATMtx
/* 8003A9E4 00036644 C0 01 00 08 */ lfs f0, 8(r1)
/* 8003A9E8 00036648 7F E3 FB 78 */ mr r3, r31
/* 8003A9EC 0003664C 38 80 00 01 */ li r4, 1
/* 8003A9F0 00036650 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 8003A9F4 00036654 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8003A9F8 00036658 D0 1F 00 30 */ stfs f0, 0x30(r31)
/* 8003A9FC 0003665C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003AA00 00036660 D0 1F 00 34 */ stfs f0, 0x34(r31)
/* 8003AA04 00036664 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8003AA08 00036668 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 8003AA0C 0003666C A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 8003AA10 00036670 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 8003AA14 00036674 B0 1F 00 10 */ sth r0, 0x10(r31)
/* 8003AA18 00036678 48 1B 7C A1 */ bl func_801F26B8
/* 8003AA1C 0003667C 80 9F 00 04 */ lwz r4, 4(r31)
/* 8003AA20 00036680 2C 04 00 00 */ cmpwi r4, 0
/* 8003AA24 00036684 41 82 00 18 */ beq lbl_8003AA3C
/* 8003AA28 00036688 A0 64 00 06 */ lhz r3, 6(r4)
/* 8003AA2C 0003668C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 8003AA30 00036690 40 82 00 0C */ bne lbl_8003AA3C
/* 8003AA34 00036694 54 60 04 3C */ rlwinm r0, r3, 0, 0x10, 0x1e
/* 8003AA38 00036698 B0 04 00 06 */ sth r0, 6(r4)
lbl_8003AA3C:
/* 8003AA3C 0003669C 80 9F 00 08 */ lwz r4, 8(r31)
/* 8003AA40 000366A0 2C 04 00 00 */ cmpwi r4, 0
/* 8003AA44 000366A4 41 82 00 18 */ beq lbl_8003AA5C
/* 8003AA48 000366A8 A0 64 00 06 */ lhz r3, 6(r4)
/* 8003AA4C 000366AC 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 8003AA50 000366B0 40 82 00 0C */ bne lbl_8003AA5C
/* 8003AA54 000366B4 54 60 04 3C */ rlwinm r0, r3, 0, 0x10, 0x1e
/* 8003AA58 000366B8 B0 04 00 06 */ sth r0, 6(r4)
lbl_8003AA5C:
/* 8003AA5C 000366BC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003AA60 000366C0 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8003AA64 000366C4 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8003AA68 000366C8 7C 08 03 A6 */ mtlr r0
/* 8003AA6C 000366CC 38 21 00 50 */ addi r1, r1, 0x50
/* 8003AA70 000366D0 4E 80 00 20 */ blr
.global func_8003AA74
func_8003AA74:
/* 8003AA74 000366D4 C0 82 82 78 */ lfs f4, lbl_80640878-_SDA2_BASE_(r2)
/* 8003AA78 000366D8 3C 00 43 30 */ lis r0, 0x4330
/* 8003AA7C 000366DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003AA80 000366E0 EC 62 20 24 */ fdivs f3, f2, f4
/* 8003AA84 000366E4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AA88 000366E8 90 01 00 08 */ stw r0, 8(r1)
/* 8003AA8C 000366EC 90 01 00 10 */ stw r0, 0x10(r1)
/* 8003AA90 000366F0 FC 60 18 1E */ fctiwz f3, f3
/* 8003AA94 000366F4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003AA98 000366F8 D8 61 00 18 */ stfd f3, 0x18(r1)
/* 8003AA9C 000366FC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8003AAA0 00036700 40 80 00 38 */ bge lbl_8003AAD8
/* 8003AAA4 00036704 38 03 FF FF */ addi r0, r3, -1
/* 8003AAA8 00036708 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 8003AAAC 0003670C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003AAB0 00036710 90 61 00 0C */ stw r3, 0xc(r1)
/* 8003AAB4 00036714 C8 62 82 68 */ lfd f3, lbl_80640868-_SDA2_BASE_(r2)
/* 8003AAB8 00036718 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003AABC 0003671C C8 41 00 08 */ lfd f2, 8(r1)
/* 8003AAC0 00036720 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003AAC4 00036724 EC 42 18 28 */ fsubs f2, f2, f3
/* 8003AAC8 00036728 EC 00 18 28 */ fsubs f0, f0, f3
/* 8003AACC 0003672C EC 42 01 32 */ fmuls f2, f2, f4
/* 8003AAD0 00036730 EC 60 01 32 */ fmuls f3, f0, f4
/* 8003AAD4 00036734 48 00 00 3C */ b lbl_8003AB10
lbl_8003AAD8:
/* 8003AAD8 00036738 38 03 00 01 */ addi r0, r3, 1
/* 8003AADC 0003673C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 8003AAE0 00036740 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003AAE4 00036744 90 61 00 0C */ stw r3, 0xc(r1)
/* 8003AAE8 00036748 C8 62 82 68 */ lfd f3, lbl_80640868-_SDA2_BASE_(r2)
/* 8003AAEC 0003674C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003AAF0 00036750 C8 41 00 08 */ lfd f2, 8(r1)
/* 8003AAF4 00036754 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003AAF8 00036758 EC 42 18 28 */ fsubs f2, f2, f3
/* 8003AAFC 0003675C EC 00 18 28 */ fsubs f0, f0, f3
/* 8003AB00 00036760 EC 62 01 32 */ fmuls f3, f2, f4
/* 8003AB04 00036764 EC 40 01 32 */ fmuls f2, f0, f4
/* 8003AB08 00036768 48 00 00 08 */ b lbl_8003AB10
lbl_8003AB0C:
/* 8003AB0C 0003676C EC 21 20 2A */ fadds f1, f1, f4
lbl_8003AB10:
/* 8003AB10 00036770 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8003AB14 00036774 41 80 FF F8 */ blt lbl_8003AB0C
/* 8003AB18 00036778 48 00 00 08 */ b lbl_8003AB20
lbl_8003AB1C:
/* 8003AB1C 0003677C EC 21 20 28 */ fsubs f1, f1, f4
lbl_8003AB20:
/* 8003AB20 00036780 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8003AB24 00036784 41 81 FF F8 */ bgt lbl_8003AB1C
/* 8003AB28 00036788 38 21 00 20 */ addi r1, r1, 0x20
/* 8003AB2C 0003678C 4E 80 00 20 */ blr
.global func_8003AB30
func_8003AB30:
/* 8003AB30 00036790 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003AB34 00036794 7C 08 02 A6 */ mflr r0
/* 8003AB38 00036798 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003AB3C 0003679C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003AB40 000367A0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8003AB44 000367A4 FF E0 08 90 */ fmr f31, f1
/* 8003AB48 000367A8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003AB4C 000367AC 7C DF 33 78 */ mr r31, r6
/* 8003AB50 000367B0 7F E7 FB 78 */ mr r7, r31
/* 8003AB54 000367B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003AB58 000367B8 7C BE 2B 78 */ mr r30, r5
/* 8003AB5C 000367BC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003AB60 000367C0 7C 9D 23 78 */ mr r29, r4
/* 8003AB64 000367C4 38 83 0C B4 */ addi r4, r3, 0xcb4
/* 8003AB68 000367C8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003AB6C 000367CC 7C 7C 1B 78 */ mr r28, r3
/* 8003AB70 000367D0 7F A5 EB 78 */ mr r5, r29
/* 8003AB74 000367D4 7C 86 23 78 */ mr r6, r4
/* 8003AB78 000367D8 38 63 00 04 */ addi r3, r3, 4
/* 8003AB7C 000367DC 48 01 57 C1 */ bl func_8005033C
/* 8003AB80 000367E0 FC 20 F8 90 */ fmr f1, f31
/* 8003AB84 000367E4 38 9C 0C B8 */ addi r4, r28, 0xcb8
/* 8003AB88 000367E8 7C 86 23 78 */ mr r6, r4
/* 8003AB8C 000367EC 7F E7 FB 78 */ mr r7, r31
/* 8003AB90 000367F0 38 7C 00 28 */ addi r3, r28, 0x28
/* 8003AB94 000367F4 38 BD 00 04 */ addi r5, r29, 4
/* 8003AB98 000367F8 48 01 57 A5 */ bl func_8005033C
/* 8003AB9C 000367FC FC 20 F8 90 */ fmr f1, f31
/* 8003ABA0 00036800 38 9C 0C BC */ addi r4, r28, 0xcbc
/* 8003ABA4 00036804 7C 86 23 78 */ mr r6, r4
/* 8003ABA8 00036808 7F E7 FB 78 */ mr r7, r31
/* 8003ABAC 0003680C 38 7C 00 4C */ addi r3, r28, 0x4c
/* 8003ABB0 00036810 38 BD 00 08 */ addi r5, r29, 8
/* 8003ABB4 00036814 48 01 57 89 */ bl func_8005033C
/* 8003ABB8 00036818 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003ABBC 0003681C 7F 83 E3 78 */ mr r3, r28
/* 8003ABC0 00036820 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003ABC4 00036824 7F C4 F3 78 */ mr r4, r30
/* 8003ABC8 00036828 4B FF EE 01 */ bl func_800399C8
/* 8003ABCC 0003682C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8003ABD0 00036830 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003ABD4 00036834 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003ABD8 00036838 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003ABDC 0003683C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003ABE0 00036840 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003ABE4 00036844 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003ABE8 00036848 7C 08 03 A6 */ mtlr r0
/* 8003ABEC 0003684C 38 21 00 30 */ addi r1, r1, 0x30
/* 8003ABF0 00036850 4E 80 00 20 */ blr
.global func_8003ABF4
func_8003ABF4:
/* 8003ABF4 00036854 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003ABF8 00036858 7C 08 02 A6 */ mflr r0
/* 8003ABFC 0003685C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003AC00 00036860 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003AC04 00036864 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8003AC08 00036868 FF E0 18 90 */ fmr f31, f3
/* 8003AC0C 0003686C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003AC10 00036870 7C BF 2B 78 */ mr r31, r5
/* 8003AC14 00036874 7F E7 FB 78 */ mr r7, r31
/* 8003AC18 00036878 38 A1 00 08 */ addi r5, r1, 8
/* 8003AC1C 0003687C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003AC20 00036880 7C 9E 23 78 */ mr r30, r4
/* 8003AC24 00036884 38 83 0C B4 */ addi r4, r3, 0xcb4
/* 8003AC28 00036888 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003AC2C 0003688C 7C 7D 1B 78 */ mr r29, r3
/* 8003AC30 00036890 7C 86 23 78 */ mr r6, r4
/* 8003AC34 00036894 38 63 00 04 */ addi r3, r3, 4
/* 8003AC38 00036898 D0 21 00 08 */ stfs f1, 8(r1)
/* 8003AC3C 0003689C FC 20 F8 90 */ fmr f1, f31
/* 8003AC40 000368A0 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8003AC44 000368A4 48 01 56 F9 */ bl func_8005033C
/* 8003AC48 000368A8 FC 20 F8 90 */ fmr f1, f31
/* 8003AC4C 000368AC 38 9D 0C BC */ addi r4, r29, 0xcbc
/* 8003AC50 000368B0 7C 86 23 78 */ mr r6, r4
/* 8003AC54 000368B4 7F E7 FB 78 */ mr r7, r31
/* 8003AC58 000368B8 38 7D 00 4C */ addi r3, r29, 0x4c
/* 8003AC5C 000368BC 38 A1 00 0C */ addi r5, r1, 0xc
/* 8003AC60 000368C0 48 01 56 DD */ bl func_8005033C
/* 8003AC64 000368C4 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AC68 000368C8 7F A3 EB 78 */ mr r3, r29
/* 8003AC6C 000368CC C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003AC70 000368D0 7F C4 F3 78 */ mr r4, r30
/* 8003AC74 000368D4 4B FF ED 55 */ bl func_800399C8
/* 8003AC78 000368D8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8003AC7C 000368DC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003AC80 000368E0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003AC84 000368E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003AC88 000368E8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003AC8C 000368EC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003AC90 000368F0 7C 08 03 A6 */ mtlr r0
/* 8003AC94 000368F4 38 21 00 30 */ addi r1, r1, 0x30
/* 8003AC98 000368F8 4E 80 00 20 */ blr
.global func_8003AC9C
func_8003AC9C:
/* 8003AC9C 000368FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003ACA0 00036900 7C 08 02 A6 */ mflr r0
/* 8003ACA4 00036904 7C A7 2B 78 */ mr r7, r5
/* 8003ACA8 00036908 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003ACAC 0003690C 38 A1 00 08 */ addi r5, r1, 8
/* 8003ACB0 00036910 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003ACB4 00036914 7C 9F 23 78 */ mr r31, r4
/* 8003ACB8 00036918 38 83 0C B8 */ addi r4, r3, 0xcb8
/* 8003ACBC 0003691C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003ACC0 00036920 7C 7E 1B 78 */ mr r30, r3
/* 8003ACC4 00036924 7C 86 23 78 */ mr r6, r4
/* 8003ACC8 00036928 38 63 00 28 */ addi r3, r3, 0x28
/* 8003ACCC 0003692C D0 21 00 08 */ stfs f1, 8(r1)
/* 8003ACD0 00036930 FC 20 10 90 */ fmr f1, f2
/* 8003ACD4 00036934 48 01 56 69 */ bl func_8005033C
/* 8003ACD8 00036938 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003ACDC 0003693C 7F C3 F3 78 */ mr r3, r30
/* 8003ACE0 00036940 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003ACE4 00036944 7F E4 FB 78 */ mr r4, r31
/* 8003ACE8 00036948 4B FF EC E1 */ bl func_800399C8
/* 8003ACEC 0003694C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003ACF0 00036950 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003ACF4 00036954 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003ACF8 00036958 7C 08 03 A6 */ mtlr r0
/* 8003ACFC 0003695C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003AD00 00036960 4E 80 00 20 */ blr
.global func_8003AD04
func_8003AD04:
/* 8003AD04 00036964 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003AD08 00036968 7C 08 02 A6 */ mflr r0
/* 8003AD0C 0003696C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003AD10 00036970 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003AD14 00036974 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8003AD18 00036978 FF E0 08 90 */ fmr f31, f1
/* 8003AD1C 0003697C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003AD20 00036980 7C DF 33 78 */ mr r31, r6
/* 8003AD24 00036984 7F E7 FB 78 */ mr r7, r31
/* 8003AD28 00036988 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003AD2C 0003698C 7C BE 2B 78 */ mr r30, r5
/* 8003AD30 00036990 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003AD34 00036994 7C 9D 23 78 */ mr r29, r4
/* 8003AD38 00036998 38 83 0C C0 */ addi r4, r3, 0xcc0
/* 8003AD3C 0003699C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003AD40 000369A0 7C 7C 1B 78 */ mr r28, r3
/* 8003AD44 000369A4 7F A5 EB 78 */ mr r5, r29
/* 8003AD48 000369A8 7C 86 23 78 */ mr r6, r4
/* 8003AD4C 000369AC 38 63 00 70 */ addi r3, r3, 0x70
/* 8003AD50 000369B0 48 01 55 ED */ bl func_8005033C
/* 8003AD54 000369B4 FC 20 F8 90 */ fmr f1, f31
/* 8003AD58 000369B8 38 9C 0C C4 */ addi r4, r28, 0xcc4
/* 8003AD5C 000369BC 7C 86 23 78 */ mr r6, r4
/* 8003AD60 000369C0 7F E7 FB 78 */ mr r7, r31
/* 8003AD64 000369C4 38 7C 00 94 */ addi r3, r28, 0x94
/* 8003AD68 000369C8 38 BD 00 04 */ addi r5, r29, 4
/* 8003AD6C 000369CC 48 01 55 D1 */ bl func_8005033C
/* 8003AD70 000369D0 FC 20 F8 90 */ fmr f1, f31
/* 8003AD74 000369D4 38 9C 0C C8 */ addi r4, r28, 0xcc8
/* 8003AD78 000369D8 7C 86 23 78 */ mr r6, r4
/* 8003AD7C 000369DC 7F E7 FB 78 */ mr r7, r31
/* 8003AD80 000369E0 38 7C 00 B8 */ addi r3, r28, 0xb8
/* 8003AD84 000369E4 38 BD 00 08 */ addi r5, r29, 8
/* 8003AD88 000369E8 48 01 55 B5 */ bl func_8005033C
/* 8003AD8C 000369EC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AD90 000369F0 7F 83 E3 78 */ mr r3, r28
/* 8003AD94 000369F4 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003AD98 000369F8 7F C4 F3 78 */ mr r4, r30
/* 8003AD9C 000369FC 4B FF EC 2D */ bl func_800399C8
/* 8003ADA0 00036A00 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8003ADA4 00036A04 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003ADA8 00036A08 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003ADAC 00036A0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003ADB0 00036A10 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003ADB4 00036A14 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003ADB8 00036A18 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003ADBC 00036A1C 7C 08 03 A6 */ mtlr r0
/* 8003ADC0 00036A20 38 21 00 30 */ addi r1, r1, 0x30
/* 8003ADC4 00036A24 4E 80 00 20 */ blr
.global func_8003ADC8
func_8003ADC8:
/* 8003ADC8 00036A28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003ADCC 00036A2C 7C 08 02 A6 */ mflr r0
/* 8003ADD0 00036A30 38 E0 00 00 */ li r7, 0
/* 8003ADD4 00036A34 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003ADD8 00036A38 38 A1 00 08 */ addi r5, r1, 8
/* 8003ADDC 00036A3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003ADE0 00036A40 7C 9F 23 78 */ mr r31, r4
/* 8003ADE4 00036A44 38 83 0C C4 */ addi r4, r3, 0xcc4
/* 8003ADE8 00036A48 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003ADEC 00036A4C 7C 7E 1B 78 */ mr r30, r3
/* 8003ADF0 00036A50 7C 86 23 78 */ mr r6, r4
/* 8003ADF4 00036A54 38 63 00 94 */ addi r3, r3, 0x94
/* 8003ADF8 00036A58 D0 21 00 08 */ stfs f1, 8(r1)
/* 8003ADFC 00036A5C FC 20 10 90 */ fmr f1, f2
/* 8003AE00 00036A60 48 01 55 3D */ bl func_8005033C
/* 8003AE04 00036A64 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AE08 00036A68 7F C3 F3 78 */ mr r3, r30
/* 8003AE0C 00036A6C C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003AE10 00036A70 7F E4 FB 78 */ mr r4, r31
/* 8003AE14 00036A74 4B FF EB B5 */ bl func_800399C8
/* 8003AE18 00036A78 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003AE1C 00036A7C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003AE20 00036A80 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003AE24 00036A84 7C 08 03 A6 */ mtlr r0
/* 8003AE28 00036A88 38 21 00 20 */ addi r1, r1, 0x20
/* 8003AE2C 00036A8C 4E 80 00 20 */ blr
.global func_8003AE30
func_8003AE30:
/* 8003AE30 00036A90 C0 82 82 78 */ lfs f4, lbl_80640878-_SDA2_BASE_(r2)
/* 8003AE34 00036A94 C0 02 82 48 */ lfs f0, lbl_80640848-_SDA2_BASE_(r2)
/* 8003AE38 00036A98 48 00 00 10 */ b lbl_8003AE48
lbl_8003AE3C:
/* 8003AE3C 00036A9C C0 63 0C C4 */ lfs f3, 0xcc4(r3)
/* 8003AE40 00036AA0 EC 63 20 2A */ fadds f3, f3, f4
/* 8003AE44 00036AA4 D0 63 0C C4 */ stfs f3, 0xcc4(r3)
lbl_8003AE48:
/* 8003AE48 00036AA8 C0 63 0C C4 */ lfs f3, 0xcc4(r3)
/* 8003AE4C 00036AAC EC 61 18 28 */ fsubs f3, f1, f3
/* 8003AE50 00036AB0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8003AE54 00036AB4 41 81 FF E8 */ bgt lbl_8003AE3C
/* 8003AE58 00036AB8 C0 82 82 78 */ lfs f4, lbl_80640878-_SDA2_BASE_(r2)
/* 8003AE5C 00036ABC C0 02 82 48 */ lfs f0, lbl_80640848-_SDA2_BASE_(r2)
/* 8003AE60 00036AC0 48 00 00 10 */ b lbl_8003AE70
lbl_8003AE64:
/* 8003AE64 00036AC4 C0 63 0C C4 */ lfs f3, 0xcc4(r3)
/* 8003AE68 00036AC8 EC 63 20 28 */ fsubs f3, f3, f4
/* 8003AE6C 00036ACC D0 63 0C C4 */ stfs f3, 0xcc4(r3)
lbl_8003AE70:
/* 8003AE70 00036AD0 C0 63 0C C4 */ lfs f3, 0xcc4(r3)
/* 8003AE74 00036AD4 EC 63 08 28 */ fsubs f3, f3, f1
/* 8003AE78 00036AD8 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8003AE7C 00036ADC 41 81 FF E8 */ bgt lbl_8003AE64
/* 8003AE80 00036AE0 4B FF FF 48 */ b func_8003ADC8
.global func_8003AE84
func_8003AE84:
/* 8003AE84 00036AE4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003AE88 00036AE8 7C 08 02 A6 */ mflr r0
/* 8003AE8C 00036AEC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003AE90 00036AF0 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003AE94 00036AF4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8003AE98 00036AF8 FF E0 08 90 */ fmr f31, f1
/* 8003AE9C 00036AFC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003AEA0 00036B00 7C DF 33 78 */ mr r31, r6
/* 8003AEA4 00036B04 7F E7 FB 78 */ mr r7, r31
/* 8003AEA8 00036B08 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003AEAC 00036B0C 7C BE 2B 78 */ mr r30, r5
/* 8003AEB0 00036B10 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003AEB4 00036B14 7C 9D 23 78 */ mr r29, r4
/* 8003AEB8 00036B18 38 83 0C CC */ addi r4, r3, 0xccc
/* 8003AEBC 00036B1C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003AEC0 00036B20 7C 7C 1B 78 */ mr r28, r3
/* 8003AEC4 00036B24 7F A5 EB 78 */ mr r5, r29
/* 8003AEC8 00036B28 7C 86 23 78 */ mr r6, r4
/* 8003AECC 00036B2C 38 63 00 DC */ addi r3, r3, 0xdc
/* 8003AED0 00036B30 48 01 54 6D */ bl func_8005033C
/* 8003AED4 00036B34 FC 20 F8 90 */ fmr f1, f31
/* 8003AED8 00036B38 38 9C 0C D0 */ addi r4, r28, 0xcd0
/* 8003AEDC 00036B3C 7C 86 23 78 */ mr r6, r4
/* 8003AEE0 00036B40 7F E7 FB 78 */ mr r7, r31
/* 8003AEE4 00036B44 38 7C 01 00 */ addi r3, r28, 0x100
/* 8003AEE8 00036B48 38 BD 00 04 */ addi r5, r29, 4
/* 8003AEEC 00036B4C 48 01 54 51 */ bl func_8005033C
/* 8003AEF0 00036B50 FC 20 F8 90 */ fmr f1, f31
/* 8003AEF4 00036B54 38 9C 0C D4 */ addi r4, r28, 0xcd4
/* 8003AEF8 00036B58 7C 86 23 78 */ mr r6, r4
/* 8003AEFC 00036B5C 7F E7 FB 78 */ mr r7, r31
/* 8003AF00 00036B60 38 7C 01 24 */ addi r3, r28, 0x124
/* 8003AF04 00036B64 38 BD 00 08 */ addi r5, r29, 8
/* 8003AF08 00036B68 48 01 54 35 */ bl func_8005033C
/* 8003AF0C 00036B6C 2C 1E 00 00 */ cmpwi r30, 0
/* 8003AF10 00036B70 41 80 00 18 */ blt lbl_8003AF28
/* 8003AF14 00036B74 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AF18 00036B78 7F 83 E3 78 */ mr r3, r28
/* 8003AF1C 00036B7C C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003AF20 00036B80 7F C4 F3 78 */ mr r4, r30
/* 8003AF24 00036B84 4B FF EA A5 */ bl func_800399C8
lbl_8003AF28:
/* 8003AF28 00036B88 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8003AF2C 00036B8C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003AF30 00036B90 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003AF34 00036B94 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003AF38 00036B98 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003AF3C 00036B9C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003AF40 00036BA0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003AF44 00036BA4 7C 08 03 A6 */ mtlr r0
/* 8003AF48 00036BA8 38 21 00 30 */ addi r1, r1, 0x30
/* 8003AF4C 00036BAC 4E 80 00 20 */ blr
.global func_8003AF50
func_8003AF50:
/* 8003AF50 00036BB0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8003AF54 00036BB4 7C 08 02 A6 */ mflr r0
/* 8003AF58 00036BB8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8003AF5C 00036BBC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8003AF60 00036BC0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8003AF64 00036BC4 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 8003AF68 00036BC8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8003AF6C 00036BCC FF C0 08 90 */ fmr f30, f1
/* 8003AF70 00036BD0 FF E0 10 90 */ fmr f31, f2
/* 8003AF74 00036BD4 C0 82 82 20 */ lfs f4, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AF78 00036BD8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003AF7C 00036BDC 7C DF 33 78 */ mr r31, r6
/* 8003AF80 00036BE0 FC A0 20 90 */ fmr f5, f4
/* 8003AF84 00036BE4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003AF88 00036BE8 7C BE 2B 78 */ mr r30, r5
/* 8003AF8C 00036BEC FC 40 F0 90 */ fmr f2, f30
/* 8003AF90 00036BF0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003AF94 00036BF4 FC 60 F8 90 */ fmr f3, f31
/* 8003AF98 00036BF8 C0 24 00 00 */ lfs f1, 0(r4)
/* 8003AF9C 00036BFC 7C 9D 23 78 */ mr r29, r4
/* 8003AFA0 00036C00 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003AFA4 00036C04 7C 7C 1B 78 */ mr r28, r3
/* 8003AFA8 00036C08 38 A3 0C CC */ addi r5, r3, 0xccc
/* 8003AFAC 00036C0C 7F C4 F3 78 */ mr r4, r30
/* 8003AFB0 00036C10 38 E0 00 00 */ li r7, 0
/* 8003AFB4 00036C14 38 63 02 20 */ addi r3, r3, 0x220
/* 8003AFB8 00036C18 48 01 61 7D */ bl func_80051134
/* 8003AFBC 00036C1C C0 82 82 20 */ lfs f4, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AFC0 00036C20 FC 40 F0 90 */ fmr f2, f30
/* 8003AFC4 00036C24 FC 60 F8 90 */ fmr f3, f31
/* 8003AFC8 00036C28 C0 3D 00 04 */ lfs f1, 4(r29)
/* 8003AFCC 00036C2C FC A0 20 90 */ fmr f5, f4
/* 8003AFD0 00036C30 7F C4 F3 78 */ mr r4, r30
/* 8003AFD4 00036C34 7F E6 FB 78 */ mr r6, r31
/* 8003AFD8 00036C38 38 7C 02 E0 */ addi r3, r28, 0x2e0
/* 8003AFDC 00036C3C 38 BC 0C D0 */ addi r5, r28, 0xcd0
/* 8003AFE0 00036C40 38 E0 00 00 */ li r7, 0
/* 8003AFE4 00036C44 48 01 61 51 */ bl func_80051134
/* 8003AFE8 00036C48 C0 82 82 20 */ lfs f4, lbl_80640820-_SDA2_BASE_(r2)
/* 8003AFEC 00036C4C FC 40 F0 90 */ fmr f2, f30
/* 8003AFF0 00036C50 FC 60 F8 90 */ fmr f3, f31
/* 8003AFF4 00036C54 C0 3D 00 08 */ lfs f1, 8(r29)
/* 8003AFF8 00036C58 FC A0 20 90 */ fmr f5, f4
/* 8003AFFC 00036C5C 7F C4 F3 78 */ mr r4, r30
/* 8003B000 00036C60 7F E6 FB 78 */ mr r6, r31
/* 8003B004 00036C64 38 7C 03 A0 */ addi r3, r28, 0x3a0
/* 8003B008 00036C68 38 BC 0C D4 */ addi r5, r28, 0xcd4
/* 8003B00C 00036C6C 38 E0 00 00 */ li r7, 0
/* 8003B010 00036C70 48 01 61 25 */ bl func_80051134
/* 8003B014 00036C74 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8003B018 00036C78 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8003B01C 00036C7C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 8003B020 00036C80 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 8003B024 00036C84 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003B028 00036C88 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003B02C 00036C8C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003B030 00036C90 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003B034 00036C94 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003B038 00036C98 7C 08 03 A6 */ mtlr r0
/* 8003B03C 00036C9C 38 21 00 40 */ addi r1, r1, 0x40
/* 8003B040 00036CA0 4E 80 00 20 */ blr
.global func_8003B044
func_8003B044:
/* 8003B044 00036CA4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003B048 00036CA8 7C 08 02 A6 */ mflr r0
/* 8003B04C 00036CAC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003B050 00036CB0 39 61 00 20 */ addi r11, r1, 0x20
/* 8003B054 00036CB4 48 18 C0 D5 */ bl _savegpr_27
/* 8003B058 00036CB8 54 C0 00 01 */ rlwinm. r0, r6, 0, 0, 0
/* 8003B05C 00036CBC 7C 7B 1B 78 */ mr r27, r3
/* 8003B060 00036CC0 7C 9C 23 78 */ mr r28, r4
/* 8003B064 00036CC4 7C BD 2B 78 */ mr r29, r5
/* 8003B068 00036CC8 7C DE 33 78 */ mr r30, r6
/* 8003B06C 00036CCC 40 82 00 4C */ bne lbl_8003B0B8
/* 8003B070 00036CD0 54 C0 07 39 */ rlwinm. r0, r6, 0, 0x1c, 0x1c
/* 8003B074 00036CD4 41 82 00 2C */ beq lbl_8003B0A0
/* 8003B078 00036CD8 54 C0 07 FF */ clrlwi. r0, r6, 0x1f
/* 8003B07C 00036CDC 54 DE 07 76 */ rlwinm r30, r6, 0, 0x1d, 0x1b
/* 8003B080 00036CE0 41 82 00 08 */ beq lbl_8003B088
/* 8003B084 00036CE4 63 DE 00 40 */ ori r30, r30, 0x40
lbl_8003B088:
/* 8003B088 00036CE8 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e
/* 8003B08C 00036CEC 41 82 00 08 */ beq lbl_8003B094
/* 8003B090 00036CF0 63 DE 00 80 */ ori r30, r30, 0x80
lbl_8003B094:
/* 8003B094 00036CF4 57 C0 07 7B */ rlwinm. r0, r30, 0, 0x1d, 0x1d
/* 8003B098 00036CF8 41 82 00 08 */ beq lbl_8003B0A0
/* 8003B09C 00036CFC 63 DE 01 00 */ ori r30, r30, 0x100
lbl_8003B0A0:
/* 8003B0A0 00036D00 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
/* 8003B0A4 00036D04 40 82 00 08 */ bne lbl_8003B0AC
/* 8003B0A8 00036D08 63 DE 00 09 */ ori r30, r30, 9
lbl_8003B0AC:
/* 8003B0AC 00036D0C 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e
/* 8003B0B0 00036D10 40 82 00 08 */ bne lbl_8003B0B8
/* 8003B0B4 00036D14 63 DE 00 12 */ ori r30, r30, 0x12
lbl_8003B0B8:
/* 8003B0B8 00036D18 7F 83 E3 78 */ mr r3, r28
/* 8003B0BC 00036D1C 7F A4 EB 78 */ mr r4, r29
/* 8003B0C0 00036D20 4B FF E8 2D */ bl func_800398EC
/* 8003B0C4 00036D24 2C 03 00 00 */ cmpwi r3, 0
/* 8003B0C8 00036D28 7C 7F 1B 78 */ mr r31, r3
/* 8003B0CC 00036D2C 41 82 00 68 */ beq lbl_8003B134
/* 8003B0D0 00036D30 80 7B 0C 04 */ lwz r3, 0xc04(r27)
/* 8003B0D4 00036D34 80 83 00 08 */ lwz r4, 8(r3)
/* 8003B0D8 00036D38 2C 04 00 00 */ cmpwi r4, 0
/* 8003B0DC 00036D3C 40 82 00 0C */ bne lbl_8003B0E8
/* 8003B0E0 00036D40 38 60 00 00 */ li r3, 0
/* 8003B0E4 00036D44 48 00 00 1C */ b lbl_8003B100
lbl_8003B0E8:
/* 8003B0E8 00036D48 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 8003B0EC 00036D4C 2C 00 00 00 */ cmpwi r0, 0
/* 8003B0F0 00036D50 40 82 00 0C */ bne lbl_8003B0FC
/* 8003B0F4 00036D54 38 60 00 00 */ li r3, 0
/* 8003B0F8 00036D58 48 00 00 08 */ b lbl_8003B100
lbl_8003B0FC:
/* 8003B0FC 00036D5C 80 64 00 00 */ lwz r3, 0(r4)
lbl_8003B100:
/* 8003B100 00036D60 81 83 01 00 */ lwz r12, 0x100(r3)
/* 8003B104 00036D64 38 80 00 01 */ li r4, 1
/* 8003B108 00036D68 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8003B10C 00036D6C 7D 89 03 A6 */ mtctr r12
/* 8003B110 00036D70 4E 80 04 21 */ bctrl
/* 8003B114 00036D74 80 BB 0C 04 */ lwz r5, 0xc04(r27)
/* 8003B118 00036D78 7F E3 FB 78 */ mr r3, r31
/* 8003B11C 00036D7C 57 C4 04 3E */ clrlwi r4, r30, 0x10
/* 8003B120 00036D80 38 C0 00 00 */ li r6, 0
/* 8003B124 00036D84 38 E0 00 03 */ li r7, 3
/* 8003B128 00036D88 48 1B 71 29 */ bl func_801F2250
/* 8003B12C 00036D8C 93 9B 0D 70 */ stw r28, 0xd70(r27)
/* 8003B130 00036D90 93 BB 0D 74 */ stw r29, 0xd74(r27)
lbl_8003B134:
/* 8003B134 00036D94 39 61 00 20 */ addi r11, r1, 0x20
/* 8003B138 00036D98 48 18 C0 3D */ bl _restgpr_27
/* 8003B13C 00036D9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003B140 00036DA0 7C 08 03 A6 */ mtlr r0
/* 8003B144 00036DA4 38 21 00 20 */ addi r1, r1, 0x20
/* 8003B148 00036DA8 4E 80 00 20 */ blr
.global func_8003B14C
func_8003B14C:
/* 8003B14C 00036DAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003B150 00036DB0 7C 08 02 A6 */ mflr r0
/* 8003B154 00036DB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003B158 00036DB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003B15C 00036DBC 7C 7F 1B 78 */ mr r31, r3
/* 8003B160 00036DC0 80 03 0D 70 */ lwz r0, 0xd70(r3)
/* 8003B164 00036DC4 2C 00 00 00 */ cmpwi r0, 0
/* 8003B168 00036DC8 41 82 00 28 */ beq lbl_8003B190
/* 8003B16C 00036DCC 80 9F 0D 74 */ lwz r4, 0xd74(r31)
/* 8003B170 00036DD0 7C 03 03 78 */ mr r3, r0
/* 8003B174 00036DD4 4B FF E7 79 */ bl func_800398EC
/* 8003B178 00036DD8 2C 03 00 00 */ cmpwi r3, 0
/* 8003B17C 00036DDC 41 82 00 0C */ beq lbl_8003B188
/* 8003B180 00036DE0 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 8003B184 00036DE4 48 1B 71 9D */ bl func_801F2320
lbl_8003B188:
/* 8003B188 00036DE8 38 00 00 00 */ li r0, 0
/* 8003B18C 00036DEC 90 1F 0D 70 */ stw r0, 0xd70(r31)
lbl_8003B190:
/* 8003B190 00036DF0 38 7F 01 B4 */ addi r3, r31, 0x1b4
/* 8003B194 00036DF4 48 01 51 F5 */ bl func_80050388
/* 8003B198 00036DF8 38 7F 01 D8 */ addi r3, r31, 0x1d8
/* 8003B19C 00036DFC 48 01 51 ED */ bl func_80050388
/* 8003B1A0 00036E00 38 7F 01 FC */ addi r3, r31, 0x1fc
/* 8003B1A4 00036E04 48 01 51 E5 */ bl func_80050388
/* 8003B1A8 00036E08 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B1AC 00036E0C D0 1F 0D 64 */ stfs f0, 0xd64(r31)
/* 8003B1B0 00036E10 D0 1F 0D 68 */ stfs f0, 0xd68(r31)
/* 8003B1B4 00036E14 D0 1F 0D 6C */ stfs f0, 0xd6c(r31)
/* 8003B1B8 00036E18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003B1BC 00036E1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003B1C0 00036E20 7C 08 03 A6 */ mtlr r0
/* 8003B1C4 00036E24 38 21 00 10 */ addi r1, r1, 0x10
/* 8003B1C8 00036E28 4E 80 00 20 */ blr
.global func_8003B1CC
func_8003B1CC:
/* 8003B1CC 00036E2C 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8003B1D0 00036E30 7C 08 02 A6 */ mflr r0
/* 8003B1D4 00036E34 90 01 00 94 */ stw r0, 0x94(r1)
/* 8003B1D8 00036E38 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 8003B1DC 00036E3C F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 8003B1E0 00036E40 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 8003B1E4 00036E44 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 8003B1E8 00036E48 DB A1 00 60 */ stfd f29, 0x60(r1)
/* 8003B1EC 00036E4C F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 8003B1F0 00036E50 FF A0 08 90 */ fmr f29, f1
/* 8003B1F4 00036E54 FF C0 10 90 */ fmr f30, f2
/* 8003B1F8 00036E58 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8003B1FC 00036E5C FF E0 18 90 */ fmr f31, f3
/* 8003B200 00036E60 7C 7F 1B 78 */ mr r31, r3
/* 8003B204 00036E64 80 03 0D 70 */ lwz r0, 0xd70(r3)
/* 8003B208 00036E68 2C 00 00 00 */ cmpwi r0, 0
/* 8003B20C 00036E6C 41 82 00 98 */ beq lbl_8003B2A4
/* 8003B210 00036E70 C0 02 82 70 */ lfs f0, lbl_80640870-_SDA2_BASE_(r2)
/* 8003B214 00036E74 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8003B218 00036E78 40 80 00 10 */ bge lbl_8003B228
/* 8003B21C 00036E7C C0 02 82 74 */ lfs f0, lbl_80640874-_SDA2_BASE_(r2)
/* 8003B220 00036E80 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8003B224 00036E84 41 81 00 80 */ bgt lbl_8003B2A4
lbl_8003B228:
/* 8003B228 00036E88 FC 40 10 50 */ fneg f2, f2
/* 8003B22C 00036E8C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B230 00036E90 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8003B234 00036E94 38 61 00 30 */ addi r3, r1, 0x30
/* 8003B238 00036E98 38 81 00 08 */ addi r4, r1, 8
/* 8003B23C 00036E9C D0 41 00 08 */ stfs f2, 8(r1)
/* 8003B240 00036EA0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003B244 00036EA4 48 1E 84 7D */ bl func_802236C0
/* 8003B248 00036EA8 FC 00 F8 18 */ frsp f0, f31
/* 8003B24C 00036EAC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B250 00036EB0 D3 E1 00 28 */ stfs f31, 0x28(r1)
/* 8003B254 00036EB4 38 61 00 14 */ addi r3, r1, 0x14
/* 8003B258 00036EB8 38 81 00 30 */ addi r4, r1, 0x30
/* 8003B25C 00036EBC D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8003B260 00036EC0 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8003B264 00036EC4 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 8003B268 00036EC8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8003B26C 00036ECC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8003B270 00036ED0 48 1E 87 9D */ bl func_80223A0C
/* 8003B274 00036ED4 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 8003B278 00036ED8 7F E3 FB 78 */ mr r3, r31
/* 8003B27C 00036EDC C0 21 00 18 */ lfs f1, 0x18(r1)
/* 8003B280 00036EE0 38 81 00 40 */ addi r4, r1, 0x40
/* 8003B284 00036EE4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8003B288 00036EE8 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 8003B28C 00036EEC D0 21 00 44 */ stfs f1, 0x44(r1)
/* 8003B290 00036EF0 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8003B294 00036EF4 4B FF D5 89 */ bl func_8003881C
/* 8003B298 00036EF8 D3 FF 0D 64 */ stfs f31, 0xd64(r31)
/* 8003B29C 00036EFC D3 BF 0D 68 */ stfs f29, 0xd68(r31)
/* 8003B2A0 00036F00 D3 DF 0D 6C */ stfs f30, 0xd6c(r31)
lbl_8003B2A4:
/* 8003B2A4 00036F04 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 8003B2A8 00036F08 CB E1 00 80 */ lfd f31, 0x80(r1)
/* 8003B2AC 00036F0C E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 8003B2B0 00036F10 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 8003B2B4 00036F14 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 8003B2B8 00036F18 CB A1 00 60 */ lfd f29, 0x60(r1)
/* 8003B2BC 00036F1C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8003B2C0 00036F20 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8003B2C4 00036F24 7C 08 03 A6 */ mtlr r0
/* 8003B2C8 00036F28 38 21 00 90 */ addi r1, r1, 0x90
/* 8003B2CC 00036F2C 4E 80 00 20 */ blr
.global func_8003B2D0
func_8003B2D0:
/* 8003B2D0 00036F30 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003B2D4 00036F34 7C 08 02 A6 */ mflr r0
/* 8003B2D8 00036F38 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003B2DC 00036F3C DB E1 00 28 */ stfd f31, 0x28(r1)
/* 8003B2E0 00036F40 FF E0 20 90 */ fmr f31, f4
/* 8003B2E4 00036F44 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8003B2E8 00036F48 7C 9F 23 78 */ mr r31, r4
/* 8003B2EC 00036F4C 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8003B2F0 00036F50 7C 7E 1B 78 */ mr r30, r3
/* 8003B2F4 00036F54 D0 21 00 08 */ stfs f1, 8(r1)
/* 8003B2F8 00036F58 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8003B2FC 00036F5C D0 61 00 10 */ stfs f3, 0x10(r1)
/* 8003B300 00036F60 80 03 0D 70 */ lwz r0, 0xd70(r3)
/* 8003B304 00036F64 2C 00 00 00 */ cmpwi r0, 0
/* 8003B308 00036F68 41 82 00 64 */ beq lbl_8003B36C
/* 8003B30C 00036F6C 7F C4 F3 78 */ mr r4, r30
/* 8003B310 00036F70 38 61 00 14 */ addi r3, r1, 0x14
/* 8003B314 00036F74 4B FF D4 CD */ bl func_800387E0
/* 8003B318 00036F78 FC 20 F8 90 */ fmr f1, f31
/* 8003B31C 00036F7C 38 9E 0D 64 */ addi r4, r30, 0xd64
/* 8003B320 00036F80 7C 86 23 78 */ mr r6, r4
/* 8003B324 00036F84 7F E7 FB 78 */ mr r7, r31
/* 8003B328 00036F88 38 7E 01 B4 */ addi r3, r30, 0x1b4
/* 8003B32C 00036F8C 38 A1 00 10 */ addi r5, r1, 0x10
/* 8003B330 00036F90 48 01 50 0D */ bl func_8005033C
/* 8003B334 00036F94 FC 20 F8 90 */ fmr f1, f31
/* 8003B338 00036F98 38 9E 0D 68 */ addi r4, r30, 0xd68
/* 8003B33C 00036F9C 7C 86 23 78 */ mr r6, r4
/* 8003B340 00036FA0 7F E7 FB 78 */ mr r7, r31
/* 8003B344 00036FA4 38 7E 01 D8 */ addi r3, r30, 0x1d8
/* 8003B348 00036FA8 38 A1 00 08 */ addi r5, r1, 8
/* 8003B34C 00036FAC 48 01 4F F1 */ bl func_8005033C
/* 8003B350 00036FB0 FC 20 F8 90 */ fmr f1, f31
/* 8003B354 00036FB4 38 9E 0D 6C */ addi r4, r30, 0xd6c
/* 8003B358 00036FB8 7C 86 23 78 */ mr r6, r4
/* 8003B35C 00036FBC 7F E7 FB 78 */ mr r7, r31
/* 8003B360 00036FC0 38 7E 01 FC */ addi r3, r30, 0x1fc
/* 8003B364 00036FC4 38 A1 00 0C */ addi r5, r1, 0xc
/* 8003B368 00036FC8 48 01 4F D5 */ bl func_8005033C
lbl_8003B36C:
/* 8003B36C 00036FCC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003B370 00036FD0 CB E1 00 28 */ lfd f31, 0x28(r1)
/* 8003B374 00036FD4 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8003B378 00036FD8 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8003B37C 00036FDC 7C 08 03 A6 */ mtlr r0
/* 8003B380 00036FE0 38 21 00 30 */ addi r1, r1, 0x30
/* 8003B384 00036FE4 4E 80 00 20 */ blr
.global func_8003B388
func_8003B388:
/* 8003B388 00036FE8 3C 80 80 41 */ lis r4, lbl_8040A3F0@ha
/* 8003B38C 00036FEC 38 00 00 03 */ li r0, 3
/* 8003B390 00036FF0 38 A0 00 00 */ li r5, 0
/* 8003B394 00036FF4 38 C0 00 00 */ li r6, 0
/* 8003B398 00036FF8 38 84 A3 F0 */ addi r4, r4, lbl_8040A3F0@l
/* 8003B39C 00036FFC 7C 09 03 A6 */ mtctr r0
lbl_8003B3A0:
/* 8003B3A0 00037000 80 03 00 04 */ lwz r0, 4(r3)
/* 8003B3A4 00037004 2C 00 00 00 */ cmpwi r0, 0
/* 8003B3A8 00037008 41 82 00 0C */ beq lbl_8003B3B4
/* 8003B3AC 0003700C A0 04 00 00 */ lhz r0, 0(r4)
/* 8003B3B0 00037010 7C A5 03 78 */ or r5, r5, r0
lbl_8003B3B4:
/* 8003B3B4 00037014 80 03 00 28 */ lwz r0, 0x28(r3)
/* 8003B3B8 00037018 2C 00 00 00 */ cmpwi r0, 0
/* 8003B3BC 0003701C 41 82 00 0C */ beq lbl_8003B3C8
/* 8003B3C0 00037020 A0 04 00 02 */ lhz r0, 2(r4)
/* 8003B3C4 00037024 7C A5 03 78 */ or r5, r5, r0
lbl_8003B3C8:
/* 8003B3C8 00037028 80 03 00 4C */ lwz r0, 0x4c(r3)
/* 8003B3CC 0003702C 2C 00 00 00 */ cmpwi r0, 0
/* 8003B3D0 00037030 41 82 00 0C */ beq lbl_8003B3DC
/* 8003B3D4 00037034 A0 04 00 04 */ lhz r0, 4(r4)
/* 8003B3D8 00037038 7C A5 03 78 */ or r5, r5, r0
lbl_8003B3DC:
/* 8003B3DC 0003703C 80 03 00 70 */ lwz r0, 0x70(r3)
/* 8003B3E0 00037040 2C 00 00 00 */ cmpwi r0, 0
/* 8003B3E4 00037044 41 82 00 0C */ beq lbl_8003B3F0
/* 8003B3E8 00037048 A0 04 00 06 */ lhz r0, 6(r4)
/* 8003B3EC 0003704C 7C A5 03 78 */ or r5, r5, r0
lbl_8003B3F0:
/* 8003B3F0 00037050 80 03 00 94 */ lwz r0, 0x94(r3)
/* 8003B3F4 00037054 2C 00 00 00 */ cmpwi r0, 0
/* 8003B3F8 00037058 41 82 00 0C */ beq lbl_8003B404
/* 8003B3FC 0003705C A0 04 00 08 */ lhz r0, 8(r4)
/* 8003B400 00037060 7C A5 03 78 */ or r5, r5, r0
lbl_8003B404:
/* 8003B404 00037064 38 63 00 B4 */ addi r3, r3, 0xb4
/* 8003B408 00037068 38 84 00 0A */ addi r4, r4, 0xa
/* 8003B40C 0003706C 38 C6 00 04 */ addi r6, r6, 4
/* 8003B410 00037070 42 00 FF 90 */ bdnz lbl_8003B3A0
/* 8003B414 00037074 7C A3 2B 78 */ mr r3, r5
/* 8003B418 00037078 4E 80 00 20 */ blr
.global func_8003B41C
func_8003B41C:
/* 8003B41C 0003707C 80 83 0C 04 */ lwz r4, 0xc04(r3)
/* 8003B420 00037080 2C 04 00 00 */ cmpwi r4, 0
/* 8003B424 00037084 40 82 00 0C */ bne lbl_8003B430
/* 8003B428 00037088 38 60 00 00 */ li r3, 0
/* 8003B42C 0003708C 4E 80 00 20 */ blr
lbl_8003B430:
/* 8003B430 00037090 A0 A4 00 DE */ lhz r5, 0xde(r4)
/* 8003B434 00037094 39 20 00 00 */ li r9, 0
/* 8003B438 00037098 48 00 01 00 */ b lbl_8003B538
lbl_8003B43C:
/* 8003B43C 0003709C 80 83 0C 04 */ lwz r4, 0xc04(r3)
/* 8003B440 000370A0 80 C4 00 08 */ lwz r6, 8(r4)
/* 8003B444 000370A4 2C 06 00 00 */ cmpwi r6, 0
/* 8003B448 000370A8 40 82 00 0C */ bne lbl_8003B454
/* 8003B44C 000370AC 38 80 00 00 */ li r4, 0
/* 8003B450 000370B0 48 00 00 24 */ b lbl_8003B474
lbl_8003B454:
/* 8003B454 000370B4 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003B458 000370B8 55 24 04 3E */ clrlwi r4, r9, 0x10
/* 8003B45C 000370BC 7C 04 00 40 */ cmplw r4, r0
/* 8003B460 000370C0 41 80 00 0C */ blt lbl_8003B46C
/* 8003B464 000370C4 38 80 00 00 */ li r4, 0
/* 8003B468 000370C8 48 00 00 0C */ b lbl_8003B474
lbl_8003B46C:
/* 8003B46C 000370CC 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d
/* 8003B470 000370D0 7C 86 00 2E */ lwzx r4, r6, r0
lbl_8003B474:
/* 8003B474 000370D4 2C 04 00 00 */ cmpwi r4, 0
/* 8003B478 000370D8 41 82 00 BC */ beq lbl_8003B534
/* 8003B47C 000370DC 80 E4 00 04 */ lwz r7, 4(r4)
/* 8003B480 000370E0 2C 07 00 00 */ cmpwi r7, 0
/* 8003B484 000370E4 41 82 00 B0 */ beq lbl_8003B534
/* 8003B488 000370E8 41 82 00 40 */ beq lbl_8003B4C8
/* 8003B48C 000370EC A1 07 00 06 */ lhz r8, 6(r7)
/* 8003B490 000370F0 38 C0 00 01 */ li r6, 1
/* 8003B494 000370F4 55 00 07 39 */ rlwinm. r0, r8, 0, 0x1c, 0x1c
/* 8003B498 000370F8 40 82 00 34 */ bne lbl_8003B4CC
/* 8003B49C 000370FC 80 07 00 00 */ lwz r0, 0(r7)
/* 8003B4A0 00037100 38 80 00 00 */ li r4, 0
/* 8003B4A4 00037104 2C 00 00 00 */ cmpwi r0, 0
/* 8003B4A8 00037108 41 82 00 10 */ beq lbl_8003B4B8
/* 8003B4AC 0003710C 55 00 07 FF */ clrlwi. r0, r8, 0x1f
/* 8003B4B0 00037110 41 82 00 08 */ beq lbl_8003B4B8
/* 8003B4B4 00037114 38 80 00 01 */ li r4, 1
lbl_8003B4B8:
/* 8003B4B8 00037118 2C 04 00 00 */ cmpwi r4, 0
/* 8003B4BC 0003711C 41 82 00 10 */ beq lbl_8003B4CC
/* 8003B4C0 00037120 38 C0 00 00 */ li r6, 0
/* 8003B4C4 00037124 48 00 00 08 */ b lbl_8003B4CC
lbl_8003B4C8:
/* 8003B4C8 00037128 38 C0 00 01 */ li r6, 1
lbl_8003B4CC:
/* 8003B4CC 0003712C 2C 06 00 00 */ cmpwi r6, 0
/* 8003B4D0 00037130 41 82 00 0C */ beq lbl_8003B4DC
/* 8003B4D4 00037134 38 60 00 01 */ li r3, 1
/* 8003B4D8 00037138 4E 80 00 20 */ blr
lbl_8003B4DC:
/* 8003B4DC 0003713C 2C 07 00 00 */ cmpwi r7, 0
/* 8003B4E0 00037140 41 82 00 40 */ beq lbl_8003B520
/* 8003B4E4 00037144 A1 07 00 06 */ lhz r8, 6(r7)
/* 8003B4E8 00037148 38 C0 00 01 */ li r6, 1
/* 8003B4EC 0003714C 55 00 07 7B */ rlwinm. r0, r8, 0, 0x1d, 0x1d
/* 8003B4F0 00037150 40 82 00 34 */ bne lbl_8003B524
/* 8003B4F4 00037154 80 07 00 00 */ lwz r0, 0(r7)
/* 8003B4F8 00037158 38 80 00 00 */ li r4, 0
/* 8003B4FC 0003715C 2C 00 00 00 */ cmpwi r0, 0
/* 8003B500 00037160 41 82 00 10 */ beq lbl_8003B510
/* 8003B504 00037164 55 00 07 FF */ clrlwi. r0, r8, 0x1f
/* 8003B508 00037168 41 82 00 08 */ beq lbl_8003B510
/* 8003B50C 0003716C 38 80 00 01 */ li r4, 1
lbl_8003B510:
/* 8003B510 00037170 2C 04 00 00 */ cmpwi r4, 0
/* 8003B514 00037174 41 82 00 10 */ beq lbl_8003B524
/* 8003B518 00037178 38 C0 00 00 */ li r6, 0
/* 8003B51C 0003717C 48 00 00 08 */ b lbl_8003B524
lbl_8003B520:
/* 8003B520 00037180 38 C0 00 01 */ li r6, 1
lbl_8003B524:
/* 8003B524 00037184 2C 06 00 00 */ cmpwi r6, 0
/* 8003B528 00037188 41 82 00 0C */ beq lbl_8003B534
/* 8003B52C 0003718C 38 60 00 02 */ li r3, 2
/* 8003B530 00037190 4E 80 00 20 */ blr
lbl_8003B534:
/* 8003B534 00037194 39 29 00 01 */ addi r9, r9, 1
lbl_8003B538:
/* 8003B538 00037198 55 20 04 3E */ clrlwi r0, r9, 0x10
/* 8003B53C 0003719C 7C 00 28 40 */ cmplw r0, r5
/* 8003B540 000371A0 41 80 FE FC */ blt lbl_8003B43C
/* 8003B544 000371A4 38 60 00 00 */ li r3, 0
/* 8003B548 000371A8 4E 80 00 20 */ blr
.global func_8003B54C
func_8003B54C:
/* 8003B54C 000371AC 80 83 0C 04 */ lwz r4, 0xc04(r3)
/* 8003B550 000371B0 2C 04 00 00 */ cmpwi r4, 0
/* 8003B554 000371B4 40 82 00 0C */ bne lbl_8003B560
/* 8003B558 000371B8 38 60 00 00 */ li r3, 0
/* 8003B55C 000371BC 4E 80 00 20 */ blr
lbl_8003B560:
/* 8003B560 000371C0 A0 A4 00 DE */ lhz r5, 0xde(r4)
/* 8003B564 000371C4 39 20 00 00 */ li r9, 0
/* 8003B568 000371C8 48 00 00 F8 */ b lbl_8003B660
lbl_8003B56C:
/* 8003B56C 000371CC 80 83 0C 04 */ lwz r4, 0xc04(r3)
/* 8003B570 000371D0 80 C4 00 08 */ lwz r6, 8(r4)
/* 8003B574 000371D4 2C 06 00 00 */ cmpwi r6, 0
/* 8003B578 000371D8 40 82 00 0C */ bne lbl_8003B584
/* 8003B57C 000371DC 38 80 00 00 */ li r4, 0
/* 8003B580 000371E0 48 00 00 24 */ b lbl_8003B5A4
lbl_8003B584:
/* 8003B584 000371E4 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003B588 000371E8 55 24 04 3E */ clrlwi r4, r9, 0x10
/* 8003B58C 000371EC 7C 04 00 40 */ cmplw r4, r0
/* 8003B590 000371F0 41 80 00 0C */ blt lbl_8003B59C
/* 8003B594 000371F4 38 80 00 00 */ li r4, 0
/* 8003B598 000371F8 48 00 00 0C */ b lbl_8003B5A4
lbl_8003B59C:
/* 8003B59C 000371FC 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d
/* 8003B5A0 00037200 7C 86 00 2E */ lwzx r4, r6, r0
lbl_8003B5A4:
/* 8003B5A4 00037204 2C 04 00 00 */ cmpwi r4, 0
/* 8003B5A8 00037208 41 82 00 B4 */ beq lbl_8003B65C
/* 8003B5AC 0003720C 80 E4 00 04 */ lwz r7, 4(r4)
/* 8003B5B0 00037210 2C 07 00 00 */ cmpwi r7, 0
/* 8003B5B4 00037214 41 82 00 A8 */ beq lbl_8003B65C
/* 8003B5B8 00037218 41 82 00 40 */ beq lbl_8003B5F8
/* 8003B5BC 0003721C A1 07 00 06 */ lhz r8, 6(r7)
/* 8003B5C0 00037220 38 C0 00 01 */ li r6, 1
/* 8003B5C4 00037224 55 00 07 39 */ rlwinm. r0, r8, 0, 0x1c, 0x1c
/* 8003B5C8 00037228 40 82 00 34 */ bne lbl_8003B5FC
/* 8003B5CC 0003722C 80 07 00 00 */ lwz r0, 0(r7)
/* 8003B5D0 00037230 38 80 00 00 */ li r4, 0
/* 8003B5D4 00037234 2C 00 00 00 */ cmpwi r0, 0
/* 8003B5D8 00037238 41 82 00 10 */ beq lbl_8003B5E8
/* 8003B5DC 0003723C 55 00 07 FF */ clrlwi. r0, r8, 0x1f
/* 8003B5E0 00037240 41 82 00 08 */ beq lbl_8003B5E8
/* 8003B5E4 00037244 38 80 00 01 */ li r4, 1
lbl_8003B5E8:
/* 8003B5E8 00037248 2C 04 00 00 */ cmpwi r4, 0
/* 8003B5EC 0003724C 41 82 00 10 */ beq lbl_8003B5FC
/* 8003B5F0 00037250 38 C0 00 00 */ li r6, 0
/* 8003B5F4 00037254 48 00 00 08 */ b lbl_8003B5FC
lbl_8003B5F8:
/* 8003B5F8 00037258 38 C0 00 01 */ li r6, 1
lbl_8003B5FC:
/* 8003B5FC 0003725C 2C 06 00 00 */ cmpwi r6, 0
/* 8003B600 00037260 40 82 00 54 */ bne lbl_8003B654
/* 8003B604 00037264 2C 07 00 00 */ cmpwi r7, 0
/* 8003B608 00037268 41 82 00 40 */ beq lbl_8003B648
/* 8003B60C 0003726C A1 07 00 06 */ lhz r8, 6(r7)
/* 8003B610 00037270 38 C0 00 01 */ li r6, 1
/* 8003B614 00037274 55 00 07 7B */ rlwinm. r0, r8, 0, 0x1d, 0x1d
/* 8003B618 00037278 40 82 00 34 */ bne lbl_8003B64C
/* 8003B61C 0003727C 80 07 00 00 */ lwz r0, 0(r7)
/* 8003B620 00037280 38 80 00 00 */ li r4, 0
/* 8003B624 00037284 2C 00 00 00 */ cmpwi r0, 0
/* 8003B628 00037288 41 82 00 10 */ beq lbl_8003B638
/* 8003B62C 0003728C 55 00 07 FF */ clrlwi. r0, r8, 0x1f
/* 8003B630 00037290 41 82 00 08 */ beq lbl_8003B638
/* 8003B634 00037294 38 80 00 01 */ li r4, 1
lbl_8003B638:
/* 8003B638 00037298 2C 04 00 00 */ cmpwi r4, 0
/* 8003B63C 0003729C 41 82 00 10 */ beq lbl_8003B64C
/* 8003B640 000372A0 38 C0 00 00 */ li r6, 0
/* 8003B644 000372A4 48 00 00 08 */ b lbl_8003B64C
lbl_8003B648:
/* 8003B648 000372A8 38 C0 00 01 */ li r6, 1
lbl_8003B64C:
/* 8003B64C 000372AC 2C 06 00 00 */ cmpwi r6, 0
/* 8003B650 000372B0 41 82 00 0C */ beq lbl_8003B65C
lbl_8003B654:
/* 8003B654 000372B4 38 60 00 01 */ li r3, 1
/* 8003B658 000372B8 4E 80 00 20 */ blr
lbl_8003B65C:
/* 8003B65C 000372BC 39 29 00 01 */ addi r9, r9, 1
lbl_8003B660:
/* 8003B660 000372C0 55 20 04 3E */ clrlwi r0, r9, 0x10
/* 8003B664 000372C4 7C 00 28 40 */ cmplw r0, r5
/* 8003B668 000372C8 41 80 FF 04 */ blt lbl_8003B56C
/* 8003B66C 000372CC 38 60 00 00 */ li r3, 0
/* 8003B670 000372D0 4E 80 00 20 */ blr
.global func_8003B674
func_8003B674:
/* 8003B674 000372D4 80 C4 0C 04 */ lwz r6, 0xc04(r4)
/* 8003B678 000372D8 2C 06 00 00 */ cmpwi r6, 0
/* 8003B67C 000372DC 41 82 00 64 */ beq lbl_8003B6E0
/* 8003B680 000372E0 2C 05 00 00 */ cmpwi r5, 0
/* 8003B684 000372E4 A0 86 00 DE */ lhz r4, 0xde(r6)
/* 8003B688 000372E8 41 80 00 58 */ blt lbl_8003B6E0
/* 8003B68C 000372EC 7C 05 20 00 */ cmpw r5, r4
/* 8003B690 000372F0 40 80 00 50 */ bge lbl_8003B6E0
/* 8003B694 000372F4 80 C6 00 08 */ lwz r6, 8(r6)
/* 8003B698 000372F8 2C 06 00 00 */ cmpwi r6, 0
/* 8003B69C 000372FC 40 82 00 0C */ bne lbl_8003B6A8
/* 8003B6A0 00037300 38 80 00 00 */ li r4, 0
/* 8003B6A4 00037304 48 00 00 20 */ b lbl_8003B6C4
lbl_8003B6A8:
/* 8003B6A8 00037308 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8003B6AC 0003730C 7C 00 20 40 */ cmplw r0, r4
/* 8003B6B0 00037310 41 80 00 0C */ blt lbl_8003B6BC
/* 8003B6B4 00037314 38 80 00 00 */ li r4, 0
/* 8003B6B8 00037318 48 00 00 0C */ b lbl_8003B6C4
lbl_8003B6BC:
/* 8003B6BC 0003731C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 8003B6C0 00037320 7C 86 00 2E */ lwzx r4, r6, r0
lbl_8003B6C4:
/* 8003B6C4 00037324 C0 04 00 DC */ lfs f0, 0xdc(r4)
/* 8003B6C8 00037328 D0 03 00 00 */ stfs f0, 0(r3)
/* 8003B6CC 0003732C C0 04 00 EC */ lfs f0, 0xec(r4)
/* 8003B6D0 00037330 D0 03 00 04 */ stfs f0, 4(r3)
/* 8003B6D4 00037334 C0 04 00 FC */ lfs f0, 0xfc(r4)
/* 8003B6D8 00037338 D0 03 00 08 */ stfs f0, 8(r3)
/* 8003B6DC 0003733C 4E 80 00 20 */ blr
lbl_8003B6E0:
/* 8003B6E0 00037340 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B6E4 00037344 D0 03 00 00 */ stfs f0, 0(r3)
/* 8003B6E8 00037348 D0 03 00 04 */ stfs f0, 4(r3)
/* 8003B6EC 0003734C D0 03 00 08 */ stfs f0, 8(r3)
/* 8003B6F0 00037350 4E 80 00 20 */ blr
.global func_8003B6F4
func_8003B6F4:
/* 8003B6F4 00037354 80 84 0C 04 */ lwz r4, 0xc04(r4)
/* 8003B6F8 00037358 2C 04 00 00 */ cmpwi r4, 0
/* 8003B6FC 0003735C 41 82 00 0C */ beq lbl_8003B708
/* 8003B700 00037360 38 84 01 20 */ addi r4, r4, 0x120
/* 8003B704 00037364 48 00 00 08 */ b lbl_8003B70C
lbl_8003B708:
/* 8003B708 00037368 38 80 00 00 */ li r4, 0
lbl_8003B70C:
/* 8003B70C 0003736C 2C 04 00 00 */ cmpwi r4, 0
/* 8003B710 00037370 40 82 00 18 */ bne lbl_8003B728
/* 8003B714 00037374 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B718 00037378 D0 03 00 00 */ stfs f0, 0(r3)
/* 8003B71C 0003737C D0 03 00 04 */ stfs f0, 4(r3)
/* 8003B720 00037380 D0 03 00 08 */ stfs f0, 8(r3)
/* 8003B724 00037384 4E 80 00 20 */ blr
lbl_8003B728:
/* 8003B728 00037388 C0 04 00 00 */ lfs f0, 0(r4)
/* 8003B72C 0003738C D0 03 00 00 */ stfs f0, 0(r3)
/* 8003B730 00037390 C0 04 00 04 */ lfs f0, 4(r4)
/* 8003B734 00037394 D0 03 00 04 */ stfs f0, 4(r3)
/* 8003B738 00037398 C0 04 00 08 */ lfs f0, 8(r4)
/* 8003B73C 0003739C D0 03 00 08 */ stfs f0, 8(r3)
/* 8003B740 000373A0 4E 80 00 20 */ blr
.global func_8003B744
func_8003B744:
/* 8003B744 000373A4 80 84 0C 04 */ lwz r4, 0xc04(r4)
/* 8003B748 000373A8 2C 04 00 00 */ cmpwi r4, 0
/* 8003B74C 000373AC 41 82 00 0C */ beq lbl_8003B758
/* 8003B750 000373B0 38 84 01 20 */ addi r4, r4, 0x120
/* 8003B754 000373B4 48 00 00 08 */ b lbl_8003B75C
lbl_8003B758:
/* 8003B758 000373B8 38 80 00 00 */ li r4, 0
lbl_8003B75C:
/* 8003B75C 000373BC 2C 04 00 00 */ cmpwi r4, 0
/* 8003B760 000373C0 40 82 00 18 */ bne lbl_8003B778
/* 8003B764 000373C4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B768 000373C8 D0 03 00 00 */ stfs f0, 0(r3)
/* 8003B76C 000373CC D0 03 00 04 */ stfs f0, 4(r3)
/* 8003B770 000373D0 D0 03 00 08 */ stfs f0, 8(r3)
/* 8003B774 000373D4 4E 80 00 20 */ blr
lbl_8003B778:
/* 8003B778 000373D8 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8003B77C 000373DC D0 03 00 00 */ stfs f0, 0(r3)
/* 8003B780 000373E0 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8003B784 000373E4 D0 03 00 04 */ stfs f0, 4(r3)
/* 8003B788 000373E8 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 8003B78C 000373EC D0 03 00 08 */ stfs f0, 8(r3)
/* 8003B790 000373F0 4E 80 00 20 */ blr
.global func_8003B794
func_8003B794:
/* 8003B794 000373F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003B798 000373F8 7C 08 02 A6 */ mflr r0
/* 8003B79C 000373FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003B7A0 00037400 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003B7A4 00037404 7C 7F 1B 78 */ mr r31, r3
/* 8003B7A8 00037408 38 61 00 08 */ addi r3, r1, 8
/* 8003B7AC 0003740C 7F E4 FB 78 */ mr r4, r31
/* 8003B7B0 00037410 4B FF D0 31 */ bl func_800387E0
/* 8003B7B4 00037414 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003B7B8 00037418 2C 03 00 00 */ cmpwi r3, 0
/* 8003B7BC 0003741C 41 82 00 0C */ beq lbl_8003B7C8
/* 8003B7C0 00037420 38 63 01 20 */ addi r3, r3, 0x120
/* 8003B7C4 00037424 48 00 00 08 */ b lbl_8003B7CC
lbl_8003B7C8:
/* 8003B7C8 00037428 38 60 00 00 */ li r3, 0
lbl_8003B7CC:
/* 8003B7CC 0003742C 2C 03 00 00 */ cmpwi r3, 0
/* 8003B7D0 00037430 40 82 00 0C */ bne lbl_8003B7DC
/* 8003B7D4 00037434 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8003B7D8 00037438 48 00 00 10 */ b lbl_8003B7E8
lbl_8003B7DC:
/* 8003B7DC 0003743C C0 23 00 04 */ lfs f1, 4(r3)
/* 8003B7E0 00037440 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8003B7E4 00037444 EC 21 00 2A */ fadds f1, f1, f0
lbl_8003B7E8:
/* 8003B7E8 00037448 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003B7EC 0003744C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003B7F0 00037450 7C 08 03 A6 */ mtlr r0
/* 8003B7F4 00037454 38 21 00 20 */ addi r1, r1, 0x20
/* 8003B7F8 00037458 4E 80 00 20 */ blr
.global func_8003B7FC
func_8003B7FC:
/* 8003B7FC 0003745C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8003B800 00037460 7C 08 02 A6 */ mflr r0
/* 8003B804 00037464 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003B808 00037468 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8003B80C 0003746C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 8003B810 00037470 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8003B814 00037474 7C 7F 1B 78 */ mr r31, r3
/* 8003B818 00037478 38 61 00 20 */ addi r3, r1, 0x20
/* 8003B81C 0003747C 7F E4 FB 78 */ mr r4, r31
/* 8003B820 00037480 4B FF CF C1 */ bl func_800387E0
/* 8003B824 00037484 34 9F 0C 0C */ addic. r4, r31, 0xc0c
/* 8003B828 00037488 40 82 00 0C */ bne lbl_8003B834
/* 8003B82C 0003748C C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
/* 8003B830 00037490 48 00 00 28 */ b lbl_8003B858
lbl_8003B834:
/* 8003B834 00037494 38 64 00 0C */ addi r3, r4, 0xc
/* 8003B838 00037498 38 A1 00 14 */ addi r5, r1, 0x14
/* 8003B83C 0003749C 48 24 14 AD */ bl PSVECSubtract
/* 8003B840 000374A0 C3 E1 00 18 */ lfs f31, 0x18(r1)
/* 8003B844 000374A4 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 8003B848 000374A8 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8003B84C 000374AC D0 21 00 08 */ stfs f1, 8(r1)
/* 8003B850 000374B0 D3 E1 00 0C */ stfs f31, 0xc(r1)
/* 8003B854 000374B4 D0 01 00 10 */ stfs f0, 0x10(r1)
lbl_8003B858:
/* 8003B858 000374B8 7F E3 FB 78 */ mr r3, r31
/* 8003B85C 000374BC 4B FF FF 39 */ bl func_8003B794
/* 8003B860 000374C0 C0 42 82 88 */ lfs f2, lbl_80640888-_SDA2_BASE_(r2)
/* 8003B864 000374C4 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8003B868 000374C8 EC 42 07 F2 */ fmuls f2, f2, f31
/* 8003B86C 000374CC EC 21 10 2A */ fadds f1, f1, f2
/* 8003B870 000374D0 EC 20 08 2A */ fadds f1, f0, f1
/* 8003B874 000374D4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 8003B878 000374D8 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8003B87C 000374DC 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8003B880 000374E0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003B884 000374E4 7C 08 03 A6 */ mtlr r0
/* 8003B888 000374E8 38 21 00 50 */ addi r1, r1, 0x50
/* 8003B88C 000374EC 4E 80 00 20 */ blr
.global func_8003B890
func_8003B890:
/* 8003B890 000374F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003B894 000374F4 7C 08 02 A6 */ mflr r0
/* 8003B898 000374F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003B89C 000374FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003B8A0 00037500 7C 9F 23 78 */ mr r31, r4
/* 8003B8A4 00037504 93 C1 00 08 */ stw r30, 8(r1)
/* 8003B8A8 00037508 7C 7E 1B 78 */ mr r30, r3
/* 8003B8AC 0003750C 4B FF CF 35 */ bl func_800387E0
/* 8003B8B0 00037510 7F E3 FB 78 */ mr r3, r31
/* 8003B8B4 00037514 4B FF FF 49 */ bl func_8003B7FC
/* 8003B8B8 00037518 D0 3E 00 04 */ stfs f1, 4(r30)
/* 8003B8BC 0003751C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003B8C0 00037520 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003B8C4 00037524 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003B8C8 00037528 7C 08 03 A6 */ mtlr r0
/* 8003B8CC 0003752C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003B8D0 00037530 4E 80 00 20 */ blr
.global func_8003B8D4
func_8003B8D4:
/* 8003B8D4 00037534 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 8003B8D8 00037538 7C 08 02 A6 */ mflr r0
/* 8003B8DC 0003753C 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 8003B8E0 00037540 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 8003B8E4 00037544 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 8003B8E8 00037548 DB C1 00 80 */ stfd f30, 0x80(r1)
/* 8003B8EC 0003754C F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 8003B8F0 00037550 39 61 00 80 */ addi r11, r1, 0x80
/* 8003B8F4 00037554 48 18 B8 35 */ bl _savegpr_27
/* 8003B8F8 00037558 FF E0 08 90 */ fmr f31, f1
/* 8003B8FC 0003755C 7C 7E 1B 78 */ mr r30, r3
/* 8003B900 00037560 3B E0 00 00 */ li r31, 0
/* 8003B904 00037564 4B FF C0 A5 */ bl func_800379A8
/* 8003B908 00037568 80 1E 0C 04 */ lwz r0, 0xc04(r30)
/* 8003B90C 0003756C 2C 00 00 00 */ cmpwi r0, 0
/* 8003B910 00037570 41 82 08 EC */ beq lbl_8003C1FC
/* 8003B914 00037574 3F A0 80 41 */ lis r29, lbl_8040A3F0@ha
/* 8003B918 00037578 3B 9E 00 04 */ addi r28, r30, 4
/* 8003B91C 0003757C 3B BD A3 F0 */ addi r29, r29, lbl_8040A3F0@l
/* 8003B920 00037580 3B 60 00 00 */ li r27, 0
lbl_8003B924:
/* 8003B924 00037584 81 9C 00 20 */ lwz r12, 0x20(r28)
/* 8003B928 00037588 FC 20 F8 90 */ fmr f1, f31
/* 8003B92C 0003758C 7F 83 E3 78 */ mr r3, r28
/* 8003B930 00037590 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003B934 00037594 7D 89 03 A6 */ mtctr r12
/* 8003B938 00037598 4E 80 04 21 */ bctrl
/* 8003B93C 0003759C 2C 03 00 00 */ cmpwi r3, 0
/* 8003B940 000375A0 41 82 00 0C */ beq lbl_8003B94C
/* 8003B944 000375A4 A0 1D 00 00 */ lhz r0, 0(r29)
/* 8003B948 000375A8 7F FF 03 78 */ or r31, r31, r0
lbl_8003B94C:
/* 8003B94C 000375AC 3B 7B 00 01 */ addi r27, r27, 1
/* 8003B950 000375B0 3B BD 00 02 */ addi r29, r29, 2
/* 8003B954 000375B4 2C 1B 00 0F */ cmpwi r27, 0xf
/* 8003B958 000375B8 3B 9C 00 24 */ addi r28, r28, 0x24
/* 8003B95C 000375BC 41 80 FF C8 */ blt lbl_8003B924
/* 8003B960 000375C0 81 9E 04 CC */ lwz r12, 0x4cc(r30)
/* 8003B964 000375C4 FC 20 F8 90 */ fmr f1, f31
/* 8003B968 000375C8 38 7E 04 94 */ addi r3, r30, 0x494
/* 8003B96C 000375CC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003B970 000375D0 7D 89 03 A6 */ mtctr r12
/* 8003B974 000375D4 4E 80 04 21 */ bctrl
/* 8003B978 000375D8 2C 03 00 00 */ cmpwi r3, 0
/* 8003B97C 000375DC 41 82 00 DC */ beq lbl_8003BA58
/* 8003B980 000375E0 C0 1E 0C 28 */ lfs f0, 0xc28(r30)
/* 8003B984 000375E4 FC 00 00 1E */ fctiwz f0, f0
/* 8003B988 000375E8 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 8003B98C 000375EC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003B990 000375F0 98 01 00 08 */ stb r0, 8(r1)
/* 8003B994 000375F4 C0 1E 0C 2C */ lfs f0, 0xc2c(r30)
/* 8003B998 000375F8 FC 00 00 1E */ fctiwz f0, f0
/* 8003B99C 000375FC D8 01 00 48 */ stfd f0, 0x48(r1)
/* 8003B9A0 00037600 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 8003B9A4 00037604 98 01 00 09 */ stb r0, 9(r1)
/* 8003B9A8 00037608 C0 1E 0C 30 */ lfs f0, 0xc30(r30)
/* 8003B9AC 0003760C FC 00 00 1E */ fctiwz f0, f0
/* 8003B9B0 00037610 D8 01 00 50 */ stfd f0, 0x50(r1)
/* 8003B9B4 00037614 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003B9B8 00037618 98 01 00 0A */ stb r0, 0xa(r1)
/* 8003B9BC 0003761C C0 1E 0C 34 */ lfs f0, 0xc34(r30)
/* 8003B9C0 00037620 FC 00 00 1E */ fctiwz f0, f0
/* 8003B9C4 00037624 D8 01 00 58 */ stfd f0, 0x58(r1)
/* 8003B9C8 00037628 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 8003B9CC 0003762C 98 01 00 0B */ stb r0, 0xb(r1)
/* 8003B9D0 00037630 A0 1E 0C 68 */ lhz r0, 0xc68(r30)
/* 8003B9D4 00037634 28 00 01 00 */ cmplwi r0, 0x100
/* 8003B9D8 00037638 40 82 00 74 */ bne lbl_8003BA4C
/* 8003B9DC 0003763C 3B 60 00 00 */ li r27, 0
/* 8003B9E0 00037640 48 00 00 50 */ b lbl_8003BA30
lbl_8003B9E4:
/* 8003B9E4 00037644 80 C5 00 04 */ lwz r6, 4(r5)
/* 8003B9E8 00037648 2C 06 00 00 */ cmpwi r6, 0
/* 8003B9EC 0003764C 40 82 00 0C */ bne lbl_8003B9F8
/* 8003B9F0 00037650 38 60 00 00 */ li r3, 0
/* 8003B9F4 00037654 48 00 00 28 */ b lbl_8003BA1C
lbl_8003B9F8:
/* 8003B9F8 00037658 80 65 00 00 */ lwz r3, 0(r5)
/* 8003B9FC 0003765C 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 8003BA00 00037660 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003BA04 00037664 7C 04 00 40 */ cmplw r4, r0
/* 8003BA08 00037668 41 80 00 0C */ blt lbl_8003BA14
/* 8003BA0C 0003766C 38 60 00 00 */ li r3, 0
/* 8003BA10 00037670 48 00 00 0C */ b lbl_8003BA1C
lbl_8003BA14:
/* 8003BA14 00037674 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d
/* 8003BA18 00037678 7C 66 00 2E */ lwzx r3, r6, r0
lbl_8003BA1C:
/* 8003BA1C 0003767C 2C 03 00 00 */ cmpwi r3, 0
/* 8003BA20 00037680 41 82 00 0C */ beq lbl_8003BA2C
/* 8003BA24 00037684 38 81 00 08 */ addi r4, r1, 8
/* 8003BA28 00037688 48 1B A7 E5 */ bl func_801F620C
lbl_8003BA2C:
/* 8003BA2C 0003768C 3B 7B 00 01 */ addi r27, r27, 1
lbl_8003BA30:
/* 8003BA30 00037690 80 BE 0C 00 */ lwz r5, 0xc00(r30)
/* 8003BA34 00037694 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 8003BA38 00037698 80 65 00 00 */ lwz r3, 0(r5)
/* 8003BA3C 0003769C A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003BA40 000376A0 7C 04 00 00 */ cmpw r4, r0
/* 8003BA44 000376A4 41 80 FF A0 */ blt lbl_8003B9E4
/* 8003BA48 000376A8 48 00 00 10 */ b lbl_8003BA58
lbl_8003BA4C:
/* 8003BA4C 000376AC 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BA50 000376B0 38 81 00 08 */ addi r4, r1, 8
/* 8003BA54 000376B4 48 1B A7 B9 */ bl func_801F620C
lbl_8003BA58:
/* 8003BA58 000376B8 81 9E 05 08 */ lwz r12, 0x508(r30)
/* 8003BA5C 000376BC FC 20 F8 90 */ fmr f1, f31
/* 8003BA60 000376C0 38 7E 04 D0 */ addi r3, r30, 0x4d0
/* 8003BA64 000376C4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003BA68 000376C8 7D 89 03 A6 */ mtctr r12
/* 8003BA6C 000376CC 4E 80 04 21 */ bctrl
/* 8003BA70 000376D0 2C 03 00 00 */ cmpwi r3, 0
/* 8003BA74 000376D4 41 82 00 DC */ beq lbl_8003BB50
/* 8003BA78 000376D8 C0 1E 0C 38 */ lfs f0, 0xc38(r30)
/* 8003BA7C 000376DC FC 00 00 1E */ fctiwz f0, f0
/* 8003BA80 000376E0 D8 01 00 58 */ stfd f0, 0x58(r1)
/* 8003BA84 000376E4 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 8003BA88 000376E8 98 01 00 08 */ stb r0, 8(r1)
/* 8003BA8C 000376EC C0 1E 0C 3C */ lfs f0, 0xc3c(r30)
/* 8003BA90 000376F0 FC 00 00 1E */ fctiwz f0, f0
/* 8003BA94 000376F4 D8 01 00 50 */ stfd f0, 0x50(r1)
/* 8003BA98 000376F8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003BA9C 000376FC 98 01 00 09 */ stb r0, 9(r1)
/* 8003BAA0 00037700 C0 1E 0C 40 */ lfs f0, 0xc40(r30)
/* 8003BAA4 00037704 FC 00 00 1E */ fctiwz f0, f0
/* 8003BAA8 00037708 D8 01 00 48 */ stfd f0, 0x48(r1)
/* 8003BAAC 0003770C 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 8003BAB0 00037710 98 01 00 0A */ stb r0, 0xa(r1)
/* 8003BAB4 00037714 C0 1E 0C 44 */ lfs f0, 0xc44(r30)
/* 8003BAB8 00037718 FC 00 00 1E */ fctiwz f0, f0
/* 8003BABC 0003771C D8 01 00 40 */ stfd f0, 0x40(r1)
/* 8003BAC0 00037720 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003BAC4 00037724 98 01 00 0B */ stb r0, 0xb(r1)
/* 8003BAC8 00037728 A0 1E 0C 68 */ lhz r0, 0xc68(r30)
/* 8003BACC 0003772C 28 00 01 00 */ cmplwi r0, 0x100
/* 8003BAD0 00037730 40 82 00 74 */ bne lbl_8003BB44
/* 8003BAD4 00037734 3B 60 00 00 */ li r27, 0
/* 8003BAD8 00037738 48 00 00 50 */ b lbl_8003BB28
lbl_8003BADC:
/* 8003BADC 0003773C 80 C5 00 04 */ lwz r6, 4(r5)
/* 8003BAE0 00037740 2C 06 00 00 */ cmpwi r6, 0
/* 8003BAE4 00037744 40 82 00 0C */ bne lbl_8003BAF0
/* 8003BAE8 00037748 38 60 00 00 */ li r3, 0
/* 8003BAEC 0003774C 48 00 00 28 */ b lbl_8003BB14
lbl_8003BAF0:
/* 8003BAF0 00037750 80 65 00 00 */ lwz r3, 0(r5)
/* 8003BAF4 00037754 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 8003BAF8 00037758 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003BAFC 0003775C 7C 04 00 40 */ cmplw r4, r0
/* 8003BB00 00037760 41 80 00 0C */ blt lbl_8003BB0C
/* 8003BB04 00037764 38 60 00 00 */ li r3, 0
/* 8003BB08 00037768 48 00 00 0C */ b lbl_8003BB14
lbl_8003BB0C:
/* 8003BB0C 0003776C 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d
/* 8003BB10 00037770 7C 66 00 2E */ lwzx r3, r6, r0
lbl_8003BB14:
/* 8003BB14 00037774 2C 03 00 00 */ cmpwi r3, 0
/* 8003BB18 00037778 41 82 00 0C */ beq lbl_8003BB24
/* 8003BB1C 0003777C 38 81 00 08 */ addi r4, r1, 8
/* 8003BB20 00037780 48 1B A6 75 */ bl func_801F6194
lbl_8003BB24:
/* 8003BB24 00037784 3B 7B 00 01 */ addi r27, r27, 1
lbl_8003BB28:
/* 8003BB28 00037788 80 BE 0C 00 */ lwz r5, 0xc00(r30)
/* 8003BB2C 0003778C 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 8003BB30 00037790 80 65 00 00 */ lwz r3, 0(r5)
/* 8003BB34 00037794 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003BB38 00037798 7C 04 00 00 */ cmpw r4, r0
/* 8003BB3C 0003779C 41 80 FF A0 */ blt lbl_8003BADC
/* 8003BB40 000377A0 48 00 00 10 */ b lbl_8003BB50
lbl_8003BB44:
/* 8003BB44 000377A4 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BB48 000377A8 38 81 00 08 */ addi r4, r1, 8
/* 8003BB4C 000377AC 48 1B A6 49 */ bl func_801F6194
lbl_8003BB50:
/* 8003BB50 000377B0 81 9E 04 90 */ lwz r12, 0x490(r30)
/* 8003BB54 000377B4 FC 20 F8 90 */ fmr f1, f31
/* 8003BB58 000377B8 38 7E 04 60 */ addi r3, r30, 0x460
/* 8003BB5C 000377BC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003BB60 000377C0 7D 89 03 A6 */ mtctr r12
/* 8003BB64 000377C4 4E 80 04 21 */ bctrl
/* 8003BB68 000377C8 2C 03 00 00 */ cmpwi r3, 0
/* 8003BB6C 000377CC 41 82 00 14 */ beq lbl_8003BB80
/* 8003BB70 000377D0 80 BE 0C 74 */ lwz r5, 0xc74(r30)
/* 8003BB74 000377D4 7F C3 F3 78 */ mr r3, r30
/* 8003BB78 000377D8 38 9E 0C 78 */ addi r4, r30, 0xc78
/* 8003BB7C 000377DC 4B FF ED DD */ bl func_8003A958
lbl_8003BB80:
/* 8003BB80 000377E0 3F 80 80 41 */ lis r28, lbl_8040A3F0@ha
/* 8003BB84 000377E4 3B BE 02 20 */ addi r29, r30, 0x220
/* 8003BB88 000377E8 3B 9C A3 F0 */ addi r28, r28, lbl_8040A3F0@l
/* 8003BB8C 000377EC 3B 60 00 00 */ li r27, 0
lbl_8003BB90:
/* 8003BB90 000377F0 81 9D 00 20 */ lwz r12, 0x20(r29)
/* 8003BB94 000377F4 FC 20 F8 90 */ fmr f1, f31
/* 8003BB98 000377F8 7F A3 EB 78 */ mr r3, r29
/* 8003BB9C 000377FC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003BBA0 00037800 7D 89 03 A6 */ mtctr r12
/* 8003BBA4 00037804 4E 80 04 21 */ bctrl
/* 8003BBA8 00037808 2C 03 00 00 */ cmpwi r3, 0
/* 8003BBAC 0003780C 41 82 00 0C */ beq lbl_8003BBB8
/* 8003BBB0 00037810 A0 1C 00 0C */ lhz r0, 0xc(r28)
/* 8003BBB4 00037814 7F FF 03 78 */ or r31, r31, r0
lbl_8003BBB8:
/* 8003BBB8 00037818 3B 7B 00 01 */ addi r27, r27, 1
/* 8003BBBC 0003781C 3B 9C 00 02 */ addi r28, r28, 2
/* 8003BBC0 00037820 2C 1B 00 03 */ cmpwi r27, 3
/* 8003BBC4 00037824 3B BD 00 C0 */ addi r29, r29, 0xc0
/* 8003BBC8 00037828 41 80 FF C8 */ blt lbl_8003BB90
/* 8003BBCC 0003782C 80 1E 0D 70 */ lwz r0, 0xd70(r30)
/* 8003BBD0 00037830 2C 00 00 00 */ cmpwi r0, 0
/* 8003BBD4 00037834 41 82 00 18 */ beq lbl_8003BBEC
/* 8003BBD8 00037838 C0 3E 0D 68 */ lfs f1, 0xd68(r30)
/* 8003BBDC 0003783C 7F C3 F3 78 */ mr r3, r30
/* 8003BBE0 00037840 C0 5E 0D 6C */ lfs f2, 0xd6c(r30)
/* 8003BBE4 00037844 C0 7E 0D 64 */ lfs f3, 0xd64(r30)
/* 8003BBE8 00037848 4B FF F5 E5 */ bl func_8003B1CC
lbl_8003BBEC:
/* 8003BBEC 0003784C FC 20 F8 90 */ fmr f1, f31
/* 8003BBF0 00037850 7F C3 F3 78 */ mr r3, r30
/* 8003BBF4 00037854 48 00 1F 4D */ bl func_8003DB40
/* 8003BBF8 00037858 FC 20 F8 90 */ fmr f1, f31
/* 8003BBFC 0003785C 7F C3 F3 78 */ mr r3, r30
/* 8003BC00 00037860 48 00 0F B9 */ bl func_8003CBB8
/* 8003BC04 00037864 C0 5E 0D 80 */ lfs f2, 0xd80(r30)
/* 8003BC08 00037868 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BC0C 0003786C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8003BC10 00037870 40 81 00 C0 */ ble lbl_8003BCD0
/* 8003BC14 00037874 C0 1E 0D 8C */ lfs f0, 0xd8c(r30)
/* 8003BC18 00037878 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8003BC1C 0003787C 40 81 00 B4 */ ble lbl_8003BCD0
/* 8003BC20 00037880 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8003BC24 00037884 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8003BC28 00037888 D0 1E 0D 8C */ stfs f0, 0xd8c(r30)
/* 8003BC2C 0003788C 40 80 00 58 */ bge lbl_8003BC84
/* 8003BC30 00037890 83 BE 0C 04 */ lwz r29, 0xc04(r30)
/* 8003BC34 00037894 D0 3E 0D 8C */ stfs f1, 0xd8c(r30)
/* 8003BC38 00037898 7F A3 EB 78 */ mr r3, r29
/* 8003BC3C 0003789C 48 1B A2 81 */ bl func_801F5EBC
/* 8003BC40 000378A0 2C 03 00 00 */ cmpwi r3, 0
/* 8003BC44 000378A4 41 82 00 18 */ beq lbl_8003BC5C
/* 8003BC48 000378A8 A0 1D 00 DC */ lhz r0, 0xdc(r29)
/* 8003BC4C 000378AC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 8003BC50 000378B0 40 82 00 0C */ bne lbl_8003BC5C
/* 8003BC54 000378B4 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 8003BC58 000378B8 D0 1D 01 18 */ stfs f0, 0x118(r29)
lbl_8003BC5C:
/* 8003BC5C 000378BC 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BC60 000378C0 38 C0 00 00 */ li r6, 0
/* 8003BC64 000378C4 38 E0 00 00 */ li r7, 0
/* 8003BC68 000378C8 39 00 00 01 */ li r8, 1
/* 8003BC6C 000378CC A0 83 01 04 */ lhz r4, 0x104(r3)
/* 8003BC70 000378D0 80 A3 01 08 */ lwz r5, 0x108(r3)
/* 8003BC74 000378D4 C0 23 01 0C */ lfs f1, 0x10c(r3)
/* 8003BC78 000378D8 C0 43 01 14 */ lfs f2, 0x114(r3)
/* 8003BC7C 000378DC 48 1B 91 79 */ bl func_801F4DF4
/* 8003BC80 000378E0 48 00 00 50 */ b lbl_8003BCD0
lbl_8003BC84:
/* 8003BC84 000378E4 EC 20 10 24 */ fdivs f1, f0, f2
/* 8003BC88 000378E8 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2)
/* 8003BC8C 000378EC EF C0 08 28 */ fsubs f30, f0, f1
/* 8003BC90 000378F0 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 8003BC94 000378F4 40 81 00 08 */ ble lbl_8003BC9C
/* 8003BC98 000378F8 FF C0 00 90 */ fmr f30, f0
lbl_8003BC9C:
/* 8003BC9C 000378FC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BCA0 00037900 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 8003BCA4 00037904 40 80 00 08 */ bge lbl_8003BCAC
/* 8003BCA8 00037908 FF C0 00 90 */ fmr f30, f0
lbl_8003BCAC:
/* 8003BCAC 0003790C 83 BE 0C 04 */ lwz r29, 0xc04(r30)
/* 8003BCB0 00037910 7F A3 EB 78 */ mr r3, r29
/* 8003BCB4 00037914 48 1B A2 09 */ bl func_801F5EBC
/* 8003BCB8 00037918 2C 03 00 00 */ cmpwi r3, 0
/* 8003BCBC 0003791C 41 82 00 14 */ beq lbl_8003BCD0
/* 8003BCC0 00037920 A0 1D 00 DC */ lhz r0, 0xdc(r29)
/* 8003BCC4 00037924 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 8003BCC8 00037928 40 82 00 08 */ bne lbl_8003BCD0
/* 8003BCCC 0003792C D3 DD 01 18 */ stfs f30, 0x118(r29)
lbl_8003BCD0:
/* 8003BCD0 00037930 57 E0 07 7F */ clrlwi. r0, r31, 0x1d
/* 8003BCD4 00037934 41 82 00 4C */ beq lbl_8003BD20
/* 8003BCD8 00037938 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BCDC 0003793C C0 5E 0C B4 */ lfs f2, 0xcb4(r30)
/* 8003BCE0 00037940 80 63 00 08 */ lwz r3, 8(r3)
/* 8003BCE4 00037944 C0 3E 0C B8 */ lfs f1, 0xcb8(r30)
/* 8003BCE8 00037948 C0 1E 0C BC */ lfs f0, 0xcbc(r30)
/* 8003BCEC 0003794C 2C 03 00 00 */ cmpwi r3, 0
/* 8003BCF0 00037950 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8003BCF4 00037954 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8003BCF8 00037958 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8003BCFC 0003795C 41 82 00 24 */ beq lbl_8003BD20
/* 8003BD00 00037960 80 63 00 00 */ lwz r3, 0(r3)
/* 8003BD04 00037964 2C 03 00 00 */ cmpwi r3, 0
/* 8003BD08 00037968 41 82 00 18 */ beq lbl_8003BD20
/* 8003BD0C 0003796C D0 43 00 20 */ stfs f2, 0x20(r3)
/* 8003BD10 00037970 38 80 00 01 */ li r4, 1
/* 8003BD14 00037974 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 8003BD18 00037978 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 8003BD1C 0003797C 48 1B 69 9D */ bl func_801F26B8
lbl_8003BD20:
/* 8003BD20 00037980 57 E0 06 B9 */ rlwinm. r0, r31, 0, 0x1a, 0x1c
/* 8003BD24 00037984 41 82 00 78 */ beq lbl_8003BD9C
/* 8003BD28 00037988 C0 1E 0C C0 */ lfs f0, 0xcc0(r30)
/* 8003BD2C 0003798C 38 61 00 30 */ addi r3, r1, 0x30
/* 8003BD30 00037990 38 81 00 18 */ addi r4, r1, 0x18
/* 8003BD34 00037994 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8003BD38 00037998 C0 1E 0C C4 */ lfs f0, 0xcc4(r30)
/* 8003BD3C 0003799C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8003BD40 000379A0 C0 1E 0C C8 */ lfs f0, 0xcc8(r30)
/* 8003BD44 000379A4 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8003BD48 000379A8 48 1E 79 79 */ bl func_802236C0
/* 8003BD4C 000379AC 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BD50 000379B0 80 63 00 08 */ lwz r3, 8(r3)
/* 8003BD54 000379B4 2C 03 00 00 */ cmpwi r3, 0
/* 8003BD58 000379B8 41 82 00 44 */ beq lbl_8003BD9C
/* 8003BD5C 000379BC 80 63 00 00 */ lwz r3, 0(r3)
/* 8003BD60 000379C0 2C 03 00 00 */ cmpwi r3, 0
/* 8003BD64 000379C4 41 82 00 38 */ beq lbl_8003BD9C
/* 8003BD68 000379C8 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8003BD6C 000379CC 38 80 00 01 */ li r4, 1
/* 8003BD70 000379D0 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8003BD74 000379D4 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8003BD78 000379D8 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 8003BD7C 000379DC C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8003BD80 000379E0 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 8003BD84 000379E4 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 8003BD88 000379E8 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8003BD8C 000379EC A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8003BD90 000379F0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 8003BD94 000379F4 B0 03 00 10 */ sth r0, 0x10(r3)
/* 8003BD98 000379F8 48 1B 69 21 */ bl func_801F26B8
lbl_8003BD9C:
/* 8003BD9C 000379FC 57 E0 05 F3 */ rlwinm. r0, r31, 0, 0x17, 0x19
/* 8003BDA0 00037A00 41 82 00 E8 */ beq lbl_8003BE88
/* 8003BDA4 00037A04 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BDA8 00037A08 C0 7E 0C CC */ lfs f3, 0xccc(r30)
/* 8003BDAC 00037A0C 80 63 00 08 */ lwz r3, 8(r3)
/* 8003BDB0 00037A10 C0 3E 0C D0 */ lfs f1, 0xcd0(r30)
/* 8003BDB4 00037A14 C0 1E 0C D4 */ lfs f0, 0xcd4(r30)
/* 8003BDB8 00037A18 2C 03 00 00 */ cmpwi r3, 0
/* 8003BDBC 00037A1C D0 61 00 0C */ stfs f3, 0xc(r1)
/* 8003BDC0 00037A20 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8003BDC4 00037A24 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003BDC8 00037A28 41 82 00 C0 */ beq lbl_8003BE88
/* 8003BDCC 00037A2C 80 63 00 00 */ lwz r3, 0(r3)
/* 8003BDD0 00037A30 2C 03 00 00 */ cmpwi r3, 0
/* 8003BDD4 00037A34 41 82 00 B4 */ beq lbl_8003BE88
/* 8003BDD8 00037A38 D0 63 00 48 */ stfs f3, 0x48(r3)
/* 8003BDDC 00037A3C C0 42 82 70 */ lfs f2, lbl_80640870-_SDA2_BASE_(r2)
/* 8003BDE0 00037A40 D0 23 00 4C */ stfs f1, 0x4c(r3)
/* 8003BDE4 00037A44 FC 03 10 40 */ fcmpo cr0, f3, f2
/* 8003BDE8 00037A48 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 8003BDEC 00037A4C 40 80 00 2C */ bge lbl_8003BE18
/* 8003BDF0 00037A50 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 8003BDF4 00037A54 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 8003BDF8 00037A58 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8003BDFC 00037A5C 40 81 00 1C */ ble lbl_8003BE18
/* 8003BE00 00037A60 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BE04 00037A64 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003BE08 00037A68 40 80 00 08 */ bge lbl_8003BE10
/* 8003BE0C 00037A6C 48 00 00 08 */ b lbl_8003BE14
lbl_8003BE10:
/* 8003BE10 00037A70 FC 60 10 90 */ fmr f3, f2
lbl_8003BE14:
/* 8003BE14 00037A74 D0 63 00 48 */ stfs f3, 0x48(r3)
lbl_8003BE18:
/* 8003BE18 00037A78 C0 43 00 4C */ lfs f2, 0x4c(r3)
/* 8003BE1C 00037A7C C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2)
/* 8003BE20 00037A80 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8003BE24 00037A84 40 80 00 28 */ bge lbl_8003BE4C
/* 8003BE28 00037A88 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 8003BE2C 00037A8C FC 02 18 40 */ fcmpo cr0, f2, f3
/* 8003BE30 00037A90 40 81 00 1C */ ble lbl_8003BE4C
/* 8003BE34 00037A94 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BE38 00037A98 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003BE3C 00037A9C 40 80 00 08 */ bge lbl_8003BE44
/* 8003BE40 00037AA0 48 00 00 08 */ b lbl_8003BE48
lbl_8003BE44:
/* 8003BE44 00037AA4 FC 60 08 90 */ fmr f3, f1
lbl_8003BE48:
/* 8003BE48 00037AA8 D0 63 00 4C */ stfs f3, 0x4c(r3)
lbl_8003BE4C:
/* 8003BE4C 00037AAC C0 43 00 50 */ lfs f2, 0x50(r3)
/* 8003BE50 00037AB0 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2)
/* 8003BE54 00037AB4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8003BE58 00037AB8 40 80 00 28 */ bge lbl_8003BE80
/* 8003BE5C 00037ABC C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 8003BE60 00037AC0 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 8003BE64 00037AC4 40 81 00 1C */ ble lbl_8003BE80
/* 8003BE68 00037AC8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BE6C 00037ACC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003BE70 00037AD0 40 80 00 08 */ bge lbl_8003BE78
/* 8003BE74 00037AD4 48 00 00 08 */ b lbl_8003BE7C
lbl_8003BE78:
/* 8003BE78 00037AD8 FC 60 08 90 */ fmr f3, f1
lbl_8003BE7C:
/* 8003BE7C 00037ADC D0 63 00 50 */ stfs f3, 0x50(r3)
lbl_8003BE80:
/* 8003BE80 00037AE0 38 80 00 01 */ li r4, 1
/* 8003BE84 00037AE4 48 1B 68 35 */ bl func_801F26B8
lbl_8003BE88:
/* 8003BE88 00037AE8 57 E0 05 AD */ rlwinm. r0, r31, 0, 0x16, 0x16
/* 8003BE8C 00037AEC 41 82 00 28 */ beq lbl_8003BEB4
/* 8003BE90 00037AF0 C0 22 82 38 */ lfs f1, lbl_80640838-_SDA2_BASE_(r2)
/* 8003BE94 00037AF4 C0 1E 0C 70 */ lfs f0, 0xc70(r30)
/* 8003BE98 00037AF8 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BE9C 00037AFC EC 01 00 32 */ fmuls f0, f1, f0
/* 8003BEA0 00037B00 FC 00 00 1E */ fctiwz f0, f0
/* 8003BEA4 00037B04 D8 01 00 58 */ stfd f0, 0x58(r1)
/* 8003BEA8 00037B08 80 81 00 5C */ lwz r4, 0x5c(r1)
/* 8003BEAC 00037B0C 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8003BEB0 00037B10 48 1B A2 6D */ bl func_801F611C
lbl_8003BEB4:
/* 8003BEB4 00037B14 80 7E 0C B0 */ lwz r3, 0xcb0(r30)
/* 8003BEB8 00037B18 2C 03 00 00 */ cmpwi r3, 0
/* 8003BEBC 00037B1C 41 82 01 0C */ beq lbl_8003BFC8
/* 8003BEC0 00037B20 88 03 00 00 */ lbz r0, 0(r3)
/* 8003BEC4 00037B24 7C 00 07 75 */ extsb. r0, r0
/* 8003BEC8 00037B28 41 80 01 00 */ blt lbl_8003BFC8
/* 8003BECC 00037B2C 7F C3 F3 78 */ mr r3, r30
/* 8003BED0 00037B30 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8003BED4 00037B34 48 00 03 89 */ bl func_8003C25C
/* 8003BED8 00037B38 7C 7D 1B 78 */ mr r29, r3
/* 8003BEDC 00037B3C 7F C3 F3 78 */ mr r3, r30
/* 8003BEE0 00037B40 4B FF F5 3D */ bl func_8003B41C
/* 8003BEE4 00037B44 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003BEE8 00037B48 7C 7F 1B 78 */ mr r31, r3
/* 8003BEEC 00037B4C 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 8003BEF0 00037B50 41 82 00 10 */ beq lbl_8003BF00
/* 8003BEF4 00037B54 7F C3 F3 78 */ mr r3, r30
/* 8003BEF8 00037B58 48 00 15 BD */ bl func_8003D4B4
/* 8003BEFC 00037B5C 48 00 00 CC */ b lbl_8003BFC8
lbl_8003BF00:
/* 8003BF00 00037B60 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BF04 00037B64 48 1B 9F B9 */ bl func_801F5EBC
/* 8003BF08 00037B68 2C 03 00 00 */ cmpwi r3, 0
/* 8003BF0C 00037B6C 40 82 00 BC */ bne lbl_8003BFC8
/* 8003BF10 00037B70 38 1F FF FF */ addi r0, r31, -1
/* 8003BF14 00037B74 28 00 00 01 */ cmplwi r0, 1
/* 8003BF18 00037B78 41 81 00 B0 */ bgt lbl_8003BFC8
/* 8003BF1C 00037B7C 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003BF20 00037B80 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8003BF24 00037B84 A0 03 00 F0 */ lhz r0, 0xf0(r3)
/* 8003BF28 00037B88 7C 04 00 40 */ cmplw r4, r0
/* 8003BF2C 00037B8C 41 82 00 9C */ beq lbl_8003BFC8
/* 8003BF30 00037B90 80 A3 00 04 */ lwz r5, 4(r3)
/* 8003BF34 00037B94 2C 05 00 00 */ cmpwi r5, 0
/* 8003BF38 00037B98 40 82 00 0C */ bne lbl_8003BF44
/* 8003BF3C 00037B9C 38 80 00 00 */ li r4, 0
/* 8003BF40 00037BA0 48 00 00 24 */ b lbl_8003BF64
lbl_8003BF44:
/* 8003BF44 00037BA4 A0 05 00 08 */ lhz r0, 8(r5)
/* 8003BF48 00037BA8 7C 04 00 40 */ cmplw r4, r0
/* 8003BF4C 00037BAC 41 80 00 0C */ blt lbl_8003BF58
/* 8003BF50 00037BB0 38 80 00 00 */ li r4, 0
/* 8003BF54 00037BB4 48 00 00 10 */ b lbl_8003BF64
lbl_8003BF58:
/* 8003BF58 00037BB8 1C 04 00 30 */ mulli r0, r4, 0x30
/* 8003BF5C 00037BBC 80 85 00 0C */ lwz r4, 0xc(r5)
/* 8003BF60 00037BC0 7C 84 02 14 */ add r4, r4, r0
lbl_8003BF64:
/* 8003BF64 00037BC4 88 A4 00 28 */ lbz r5, 0x28(r4)
/* 8003BF68 00037BC8 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8003BF6C 00037BCC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BF70 00037BD0 38 C0 00 00 */ li r6, 0
/* 8003BF74 00037BD4 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003BF78 00037BD8 38 E0 00 00 */ li r7, 0
/* 8003BF7C 00037BDC 39 00 00 00 */ li r8, 0
/* 8003BF80 00037BE0 48 1B 8E 75 */ bl func_801F4DF4
/* 8003BF84 00037BE4 80 7E 0C B0 */ lwz r3, 0xcb0(r30)
/* 8003BF88 00037BE8 B3 BE 0B F8 */ sth r29, 0xbf8(r30)
/* 8003BF8C 00037BEC 38 03 00 01 */ addi r0, r3, 1
/* 8003BF90 00037BF0 88 63 00 00 */ lbz r3, 0(r3)
/* 8003BF94 00037BF4 2C 03 00 00 */ cmpwi r3, 0
/* 8003BF98 00037BF8 98 7E 0B F6 */ stb r3, 0xbf6(r30)
/* 8003BF9C 00037BFC 90 1E 0C B0 */ stw r0, 0xcb0(r30)
/* 8003BFA0 00037C00 41 82 00 0C */ beq lbl_8003BFAC
/* 8003BFA4 00037C04 28 03 00 10 */ cmplwi r3, 0x10
/* 8003BFA8 00037C08 40 82 00 14 */ bne lbl_8003BFBC
lbl_8003BFAC:
/* 8003BFAC 00037C0C 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003BFB0 00037C10 64 00 00 02 */ oris r0, r0, 2
/* 8003BFB4 00037C14 90 1E 00 00 */ stw r0, 0(r30)
/* 8003BFB8 00037C18 48 00 00 10 */ b lbl_8003BFC8
lbl_8003BFBC:
/* 8003BFBC 00037C1C 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003BFC0 00037C20 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd
/* 8003BFC4 00037C24 90 1E 00 00 */ stw r0, 0(r30)
lbl_8003BFC8:
/* 8003BFC8 00037C28 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003BFCC 00037C2C 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa
/* 8003BFD0 00037C30 41 82 00 24 */ beq lbl_8003BFF4
/* 8003BFD4 00037C34 C0 3E 0D 78 */ lfs f1, 0xd78(r30)
/* 8003BFD8 00037C38 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003BFDC 00037C3C EC 21 F8 28 */ fsubs f1, f1, f31
/* 8003BFE0 00037C40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003BFE4 00037C44 D0 3E 0D 78 */ stfs f1, 0xd78(r30)
/* 8003BFE8 00037C48 40 80 00 0C */ bge lbl_8003BFF4
/* 8003BFEC 00037C4C 7F C3 F3 78 */ mr r3, r30
/* 8003BFF0 00037C50 4B FF DC 21 */ bl func_80039C10
lbl_8003BFF4:
/* 8003BFF4 00037C54 80 7E 00 00 */ lwz r3, 0(r30)
/* 8003BFF8 00037C58 54 60 04 A5 */ rlwinm. r0, r3, 0, 0x12, 0x12
/* 8003BFFC 00037C5C 40 82 01 68 */ bne lbl_8003C164
/* 8003C000 00037C60 54 60 03 9D */ rlwinm. r0, r3, 0, 0xe, 0xe
/* 8003C004 00037C64 41 82 01 60 */ beq lbl_8003C164
/* 8003C008 00037C68 C0 3E 0C 6C */ lfs f1, 0xc6c(r30)
/* 8003C00C 00037C6C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003C010 00037C70 EC 21 F8 28 */ fsubs f1, f1, f31
/* 8003C014 00037C74 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003C018 00037C78 D0 3E 0C 6C */ stfs f1, 0xc6c(r30)
/* 8003C01C 00037C7C 40 80 01 48 */ bge lbl_8003C164
/* 8003C020 00037C80 48 1E 78 11 */ bl func_80223830
/* 8003C024 00037C84 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 8003C028 00037C88 80 A3 00 00 */ lwz r5, 0(r3)
/* 8003C02C 00037C8C 38 84 43 FD */ addi r4, r4, 0x000343FD@l
/* 8003C030 00037C90 3C 00 43 30 */ lis r0, 0x4330
/* 8003C034 00037C94 7C A5 21 D6 */ mullw r5, r5, r4
/* 8003C038 00037C98 90 01 00 58 */ stw r0, 0x58(r1)
/* 8003C03C 00037C9C C8 62 82 50 */ lfd f3, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C040 00037CA0 38 80 00 13 */ li r4, 0x13
/* 8003C044 00037CA4 C0 22 82 2C */ lfs f1, lbl_8064082C-_SDA2_BASE_(r2)
/* 8003C048 00037CA8 C0 02 82 A8 */ lfs f0, lbl_806408A8-_SDA2_BASE_(r2)
/* 8003C04C 00037CAC 3C A5 00 27 */ addis r5, r5, 0x27
/* 8003C050 00037CB0 38 A5 9E C3 */ addi r5, r5, -24893
/* 8003C054 00037CB4 54 A0 84 3E */ srwi r0, r5, 0x10
/* 8003C058 00037CB8 90 A3 00 00 */ stw r5, 0(r3)
/* 8003C05C 00037CBC 7F C3 F3 78 */ mr r3, r30
/* 8003C060 00037CC0 90 01 00 5C */ stw r0, 0x5c(r1)
/* 8003C064 00037CC4 C8 41 00 58 */ lfd f2, 0x58(r1)
/* 8003C068 00037CC8 EC 42 18 28 */ fsubs f2, f2, f3
/* 8003C06C 00037CCC EC 22 08 24 */ fdivs f1, f2, f1
/* 8003C070 00037CD0 EC 00 08 2A */ fadds f0, f0, f1
/* 8003C074 00037CD4 D0 1E 0C 6C */ stfs f0, 0xc6c(r30)
/* 8003C078 00037CD8 48 00 01 E5 */ bl func_8003C25C
/* 8003C07C 00037CDC 83 9E 0C 04 */ lwz r28, 0xc04(r30)
/* 8003C080 00037CE0 7C 7F 1B 78 */ mr r31, r3
/* 8003C084 00037CE4 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003C088 00037CE8 2C 04 00 00 */ cmpwi r4, 0
/* 8003C08C 00037CEC 40 82 00 0C */ bne lbl_8003C098
/* 8003C090 00037CF0 38 60 00 00 */ li r3, 0
/* 8003C094 00037CF4 48 00 00 28 */ b lbl_8003C0BC
lbl_8003C098:
/* 8003C098 00037CF8 A0 04 00 08 */ lhz r0, 8(r4)
/* 8003C09C 00037CFC 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003C0A0 00037D00 7C 03 00 40 */ cmplw r3, r0
/* 8003C0A4 00037D04 41 80 00 0C */ blt lbl_8003C0B0
/* 8003C0A8 00037D08 38 60 00 00 */ li r3, 0
/* 8003C0AC 00037D0C 48 00 00 10 */ b lbl_8003C0BC
lbl_8003C0B0:
/* 8003C0B0 00037D10 1C 03 00 30 */ mulli r0, r3, 0x30
/* 8003C0B4 00037D14 80 64 00 0C */ lwz r3, 0xc(r4)
/* 8003C0B8 00037D18 7C 63 02 14 */ add r3, r3, r0
lbl_8003C0BC:
/* 8003C0BC 00037D1C 2C 03 00 00 */ cmpwi r3, 0
/* 8003C0C0 00037D20 41 82 00 A4 */ beq lbl_8003C164
/* 8003C0C4 00037D24 80 63 00 00 */ lwz r3, 0(r3)
/* 8003C0C8 00037D28 38 8D 80 E0 */ addi r4, r13, lbl_8063D3A0-_SDA_BASE_
/* 8003C0CC 00037D2C 38 A0 00 03 */ li r5, 3
/* 8003C0D0 00037D30 48 19 24 99 */ bl strncmp
/* 8003C0D4 00037D34 2C 03 00 00 */ cmpwi r3, 0
/* 8003C0D8 00037D38 40 82 00 8C */ bne lbl_8003C164
/* 8003C0DC 00037D3C 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 8003C0E0 00037D40 28 04 00 FF */ cmplwi r4, 0xff
/* 8003C0E4 00037D44 41 82 00 80 */ beq lbl_8003C164
/* 8003C0E8 00037D48 A0 1E 05 10 */ lhz r0, 0x510(r30)
/* 8003C0EC 00037D4C 28 00 00 59 */ cmplwi r0, 0x59
/* 8003C0F0 00037D50 40 82 00 54 */ bne lbl_8003C144
/* 8003C0F4 00037D54 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 8003C0F8 00037D58 2C 03 00 00 */ cmpwi r3, 0
/* 8003C0FC 00037D5C 40 82 00 0C */ bne lbl_8003C108
/* 8003C100 00037D60 38 60 00 00 */ li r3, 0
/* 8003C104 00037D64 48 00 00 20 */ b lbl_8003C124
lbl_8003C108:
/* 8003C108 00037D68 A0 1C 00 E6 */ lhz r0, 0xe6(r28)
/* 8003C10C 00037D6C 28 00 00 03 */ cmplwi r0, 3
/* 8003C110 00037D70 41 81 00 0C */ bgt lbl_8003C11C
/* 8003C114 00037D74 38 60 00 00 */ li r3, 0
/* 8003C118 00037D78 48 00 00 0C */ b lbl_8003C124
lbl_8003C11C:
/* 8003C11C 00037D7C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8003C120 00037D80 80 63 00 14 */ lwz r3, 0x14(r3)
lbl_8003C124:
/* 8003C124 00037D84 2C 03 00 00 */ cmpwi r3, 0
/* 8003C128 00037D88 41 82 00 3C */ beq lbl_8003C164
/* 8003C12C 00037D8C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003C130 00037D90 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 8003C134 00037D94 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003C138 00037D98 38 A0 00 00 */ li r5, 0
/* 8003C13C 00037D9C 48 1A 19 81 */ bl func_801DDABC__17GSanimationObjectFUsUsff
/* 8003C140 00037DA0 48 00 00 24 */ b lbl_8003C164
lbl_8003C144:
/* 8003C144 00037DA4 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003C148 00037DA8 7F 83 E3 78 */ mr r3, r28
/* 8003C14C 00037DAC C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003C150 00037DB0 38 A0 00 00 */ li r5, 0
/* 8003C154 00037DB4 38 C0 00 00 */ li r6, 0
/* 8003C158 00037DB8 38 E0 00 00 */ li r7, 0
/* 8003C15C 00037DBC 39 00 00 00 */ li r8, 0
/* 8003C160 00037DC0 48 1B 8C 95 */ bl func_801F4DF4
lbl_8003C164:
/* 8003C164 00037DC4 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003C168 00037DC8 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd
/* 8003C16C 00037DCC 41 82 00 90 */ beq lbl_8003C1FC
/* 8003C170 00037DD0 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003C174 00037DD4 80 A3 00 04 */ lwz r5, 4(r3)
/* 8003C178 00037DD8 A0 83 00 F0 */ lhz r4, 0xf0(r3)
/* 8003C17C 00037DDC 2C 05 00 00 */ cmpwi r5, 0
/* 8003C180 00037DE0 40 82 00 0C */ bne lbl_8003C18C
/* 8003C184 00037DE4 3B A0 00 00 */ li r29, 0
/* 8003C188 00037DE8 48 00 00 24 */ b lbl_8003C1AC
lbl_8003C18C:
/* 8003C18C 00037DEC A0 05 00 08 */ lhz r0, 8(r5)
/* 8003C190 00037DF0 7C 04 00 40 */ cmplw r4, r0
/* 8003C194 00037DF4 41 80 00 0C */ blt lbl_8003C1A0
/* 8003C198 00037DF8 3B A0 00 00 */ li r29, 0
/* 8003C19C 00037DFC 48 00 00 10 */ b lbl_8003C1AC
lbl_8003C1A0:
/* 8003C1A0 00037E00 1C 04 00 30 */ mulli r0, r4, 0x30
/* 8003C1A4 00037E04 80 85 00 0C */ lwz r4, 0xc(r5)
/* 8003C1A8 00037E08 7F A4 02 14 */ add r29, r4, r0
lbl_8003C1AC:
/* 8003C1AC 00037E0C 88 1E 0C A0 */ lbz r0, 0xca0(r30)
/* 8003C1B0 00037E10 28 00 00 03 */ cmplwi r0, 3
/* 8003C1B4 00037E14 40 80 00 48 */ bge lbl_8003C1FC
/* 8003C1B8 00037E18 48 1B 99 8D */ bl func_801F5B44
/* 8003C1BC 00037E1C 88 9E 0C A0 */ lbz r4, 0xca0(r30)
/* 8003C1C0 00037E20 54 80 10 3A */ slwi r0, r4, 2
/* 8003C1C4 00037E24 7C 7D 02 14 */ add r3, r29, r0
/* 8003C1C8 00037E28 C0 03 00 04 */ lfs f0, 4(r3)
/* 8003C1CC 00037E2C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8003C1D0 00037E30 4C 40 13 82 */ cror 2, 0, 2
/* 8003C1D4 00037E34 40 82 00 28 */ bne lbl_8003C1FC
/* 8003C1D8 00037E38 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003C1DC 00037E3C 7F C3 F3 78 */ mr r3, r30
/* 8003C1E0 00037E40 81 9E 0C AC */ lwz r12, 0xcac(r30)
/* 8003C1E4 00037E44 54 00 03 98 */ rlwinm r0, r0, 0, 0xe, 0xc
/* 8003C1E8 00037E48 80 BE 0C A4 */ lwz r5, 0xca4(r30)
/* 8003C1EC 00037E4C 90 1E 00 00 */ stw r0, 0(r30)
/* 8003C1F0 00037E50 80 DE 0C A8 */ lwz r6, 0xca8(r30)
/* 8003C1F4 00037E54 7D 89 03 A6 */ mtctr r12
/* 8003C1F8 00037E58 4E 80 04 21 */ bctrl
lbl_8003C1FC:
/* 8003C1FC 00037E5C E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 8003C200 00037E60 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 8003C204 00037E64 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 8003C208 00037E68 39 61 00 80 */ addi r11, r1, 0x80
/* 8003C20C 00037E6C CB C1 00 80 */ lfd f30, 0x80(r1)
/* 8003C210 00037E70 48 18 AF 65 */ bl _restgpr_27
/* 8003C214 00037E74 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8003C218 00037E78 7C 08 03 A6 */ mtlr r0
/* 8003C21C 00037E7C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 8003C220 00037E80 4E 80 00 20 */ blr
.global func_8003C224
func_8003C224:
/* 8003C224 00037E84 28 05 00 03 */ cmplwi r5, 3
/* 8003C228 00037E88 41 80 00 14 */ blt lbl_8003C23C
/* 8003C22C 00037E8C 80 03 00 00 */ lwz r0, 0(r3)
/* 8003C230 00037E90 54 00 03 98 */ rlwinm r0, r0, 0, 0xe, 0xc
/* 8003C234 00037E94 90 03 00 00 */ stw r0, 0(r3)
/* 8003C238 00037E98 4E 80 00 20 */ blr
lbl_8003C23C:
/* 8003C23C 00037E9C 80 03 00 00 */ lwz r0, 0(r3)
/* 8003C240 00037EA0 98 A3 0C A0 */ stb r5, 0xca0(r3)
/* 8003C244 00037EA4 64 00 00 04 */ oris r0, r0, 4
/* 8003C248 00037EA8 90 C3 0C A4 */ stw r6, 0xca4(r3)
/* 8003C24C 00037EAC 90 E3 0C A8 */ stw r7, 0xca8(r3)
/* 8003C250 00037EB0 90 83 0C AC */ stw r4, 0xcac(r3)
/* 8003C254 00037EB4 90 03 00 00 */ stw r0, 0(r3)
/* 8003C258 00037EB8 4E 80 00 20 */ blr
.global func_8003C25C
func_8003C25C:
/* 8003C25C 00037EBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C260 00037EC0 7C 08 02 A6 */ mflr r0
/* 8003C264 00037EC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C268 00037EC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C26C 00037ECC 7C 9F 23 78 */ mr r31, r4
/* 8003C270 00037ED0 93 C1 00 08 */ stw r30, 8(r1)
/* 8003C274 00037ED4 7C 7E 1B 78 */ mr r30, r3
/* 8003C278 00037ED8 48 00 1E E5 */ bl func_8003E15C
/* 8003C27C 00037EDC 2C 03 00 00 */ cmpwi r3, 0
/* 8003C280 00037EE0 41 82 00 28 */ beq lbl_8003C2A8
/* 8003C284 00037EE4 A0 DE 05 14 */ lhz r6, 0x514(r30)
/* 8003C288 00037EE8 7F E5 FB 78 */ mr r5, r31
/* 8003C28C 00037EEC A0 1E 05 12 */ lhz r0, 0x512(r30)
/* 8003C290 00037EF0 A0 9E 05 10 */ lhz r4, 0x510(r30)
/* 8003C294 00037EF4 54 C6 06 3E */ clrlwi r6, r6, 0x18
/* 8003C298 00037EF8 54 07 06 3E */ clrlwi r7, r0, 0x18
/* 8003C29C 00037EFC 48 00 25 29 */ bl func_8003E7C4
/* 8003C2A0 00037F00 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8003C2A4 00037F04 48 00 00 08 */ b lbl_8003C2AC
lbl_8003C2A8:
/* 8003C2A8 00037F08 38 60 00 00 */ li r3, 0
lbl_8003C2AC:
/* 8003C2AC 00037F0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C2B0 00037F10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C2B4 00037F14 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003C2B8 00037F18 7C 08 03 A6 */ mtlr r0
/* 8003C2BC 00037F1C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C2C0 00037F20 4E 80 00 20 */ blr
.global func_8003C2C4
func_8003C2C4:
/* 8003C2C4 00037F24 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003C2C8 00037F28 7C 08 02 A6 */ mflr r0
/* 8003C2CC 00037F2C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003C2D0 00037F30 3C 00 43 30 */ lis r0, 0x4330
/* 8003C2D4 00037F34 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8003C2D8 00037F38 7C 9F 23 78 */ mr r31, r4
/* 8003C2DC 00037F3C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8003C2E0 00037F40 7C 7E 1B 78 */ mr r30, r3
/* 8003C2E4 00037F44 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8003C2E8 00037F48 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 8003C2EC 00037F4C 90 01 00 08 */ stw r0, 8(r1)
/* 8003C2F0 00037F50 2C 05 00 00 */ cmpwi r5, 0
/* 8003C2F4 00037F54 90 01 00 10 */ stw r0, 0x10(r1)
/* 8003C2F8 00037F58 41 82 01 08 */ beq lbl_8003C400
/* 8003C2FC 00037F5C A0 03 0C 68 */ lhz r0, 0xc68(r3)
/* 8003C300 00037F60 28 00 01 00 */ cmplwi r0, 0x100
/* 8003C304 00037F64 40 82 00 80 */ bne lbl_8003C384
/* 8003C308 00037F68 80 03 0C 00 */ lwz r0, 0xc00(r3)
/* 8003C30C 00037F6C 2C 00 00 00 */ cmpwi r0, 0
/* 8003C310 00037F70 41 82 00 F0 */ beq lbl_8003C400
/* 8003C314 00037F74 3B A0 00 00 */ li r29, 0
/* 8003C318 00037F78 48 00 00 50 */ b lbl_8003C368
lbl_8003C31C:
/* 8003C31C 00037F7C 80 C5 00 04 */ lwz r6, 4(r5)
/* 8003C320 00037F80 2C 06 00 00 */ cmpwi r6, 0
/* 8003C324 00037F84 40 82 00 0C */ bne lbl_8003C330
/* 8003C328 00037F88 38 60 00 00 */ li r3, 0
/* 8003C32C 00037F8C 48 00 00 28 */ b lbl_8003C354
lbl_8003C330:
/* 8003C330 00037F90 80 65 00 00 */ lwz r3, 0(r5)
/* 8003C334 00037F94 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8003C338 00037F98 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003C33C 00037F9C 7C 04 00 40 */ cmplw r4, r0
/* 8003C340 00037FA0 41 80 00 0C */ blt lbl_8003C34C
/* 8003C344 00037FA4 38 60 00 00 */ li r3, 0
/* 8003C348 00037FA8 48 00 00 0C */ b lbl_8003C354
lbl_8003C34C:
/* 8003C34C 00037FAC 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d
/* 8003C350 00037FB0 7C 66 00 2E */ lwzx r3, r6, r0
lbl_8003C354:
/* 8003C354 00037FB4 2C 03 00 00 */ cmpwi r3, 0
/* 8003C358 00037FB8 41 82 00 0C */ beq lbl_8003C364
/* 8003C35C 00037FBC 7F E4 FB 78 */ mr r4, r31
/* 8003C360 00037FC0 48 1B 9E AD */ bl func_801F620C
lbl_8003C364:
/* 8003C364 00037FC4 3B BD 00 01 */ addi r29, r29, 1
lbl_8003C368:
/* 8003C368 00037FC8 80 BE 0C 00 */ lwz r5, 0xc00(r30)
/* 8003C36C 00037FCC 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8003C370 00037FD0 80 65 00 00 */ lwz r3, 0(r5)
/* 8003C374 00037FD4 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003C378 00037FD8 7C 04 00 00 */ cmpw r4, r0
/* 8003C37C 00037FDC 41 80 FF A0 */ blt lbl_8003C31C
/* 8003C380 00037FE0 48 00 00 24 */ b lbl_8003C3A4
lbl_8003C384:
/* 8003C384 00037FE4 7C A3 2B 78 */ mr r3, r5
/* 8003C388 00037FE8 48 1B 9E 85 */ bl func_801F620C
/* 8003C38C 00037FEC A0 1E 05 0C */ lhz r0, 0x50c(r30)
/* 8003C390 00037FF0 28 00 00 02 */ cmplwi r0, 2
/* 8003C394 00037FF4 40 82 00 10 */ bne lbl_8003C3A4
/* 8003C398 00037FF8 7F E4 FB 78 */ mr r4, r31
/* 8003C39C 00037FFC 38 7E 05 24 */ addi r3, r30, 0x524
/* 8003C3A0 00038000 48 00 3B BD */ bl func_8003FF5C
lbl_8003C3A4:
/* 8003C3A4 00038004 38 7E 04 94 */ addi r3, r30, 0x494
/* 8003C3A8 00038008 48 01 48 39 */ bl func_80050BE0
/* 8003C3AC 0003800C 88 1F 00 00 */ lbz r0, 0(r31)
/* 8003C3B0 00038010 C8 22 82 50 */ lfd f1, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C3B4 00038014 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003C3B8 00038018 C8 01 00 08 */ lfd f0, 8(r1)
/* 8003C3BC 0003801C EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C3C0 00038020 D0 1E 0C 28 */ stfs f0, 0xc28(r30)
/* 8003C3C4 00038024 88 1F 00 01 */ lbz r0, 1(r31)
/* 8003C3C8 00038028 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C3CC 0003802C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003C3D0 00038030 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C3D4 00038034 D0 1E 0C 2C */ stfs f0, 0xc2c(r30)
/* 8003C3D8 00038038 88 1F 00 02 */ lbz r0, 2(r31)
/* 8003C3DC 0003803C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003C3E0 00038040 C8 01 00 08 */ lfd f0, 8(r1)
/* 8003C3E4 00038044 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C3E8 00038048 D0 1E 0C 30 */ stfs f0, 0xc30(r30)
/* 8003C3EC 0003804C 88 1F 00 03 */ lbz r0, 3(r31)
/* 8003C3F0 00038050 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C3F4 00038054 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003C3F8 00038058 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C3FC 0003805C D0 1E 0C 34 */ stfs f0, 0xc34(r30)
lbl_8003C400:
/* 8003C400 00038060 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003C404 00038064 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8003C408 00038068 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8003C40C 0003806C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8003C410 00038070 7C 08 03 A6 */ mtlr r0
/* 8003C414 00038074 38 21 00 30 */ addi r1, r1, 0x30
/* 8003C418 00038078 4E 80 00 20 */ blr
.global func_8003C41C
func_8003C41C:
/* 8003C41C 0003807C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003C420 00038080 7C 08 02 A6 */ mflr r0
/* 8003C424 00038084 3C C0 43 30 */ lis r6, 0x4330
/* 8003C428 00038088 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003C42C 0003808C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003C430 00038090 90 C1 00 18 */ stw r6, 0x18(r1)
/* 8003C434 00038094 2C 00 00 00 */ cmpwi r0, 0
/* 8003C438 00038098 90 C1 00 20 */ stw r6, 0x20(r1)
/* 8003C43C 0003809C 41 82 00 70 */ beq lbl_8003C4AC
/* 8003C440 000380A0 88 04 00 00 */ lbz r0, 0(r4)
/* 8003C444 000380A4 7C A7 2B 78 */ mr r7, r5
/* 8003C448 000380A8 C8 42 82 50 */ lfd f2, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C44C 000380AC 38 A1 00 08 */ addi r5, r1, 8
/* 8003C450 000380B0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003C454 000380B4 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8003C458 000380B8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C45C 000380BC D0 01 00 08 */ stfs f0, 8(r1)
/* 8003C460 000380C0 88 04 00 01 */ lbz r0, 1(r4)
/* 8003C464 000380C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C468 000380C8 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8003C46C 000380CC EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C470 000380D0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003C474 000380D4 88 04 00 02 */ lbz r0, 2(r4)
/* 8003C478 000380D8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003C47C 000380DC C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8003C480 000380E0 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C484 000380E4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003C488 000380E8 88 04 00 03 */ lbz r0, 3(r4)
/* 8003C48C 000380EC 38 83 0C 28 */ addi r4, r3, 0xc28
/* 8003C490 000380F0 7C 86 23 78 */ mr r6, r4
/* 8003C494 000380F4 38 63 04 94 */ addi r3, r3, 0x494
/* 8003C498 000380F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C49C 000380FC C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8003C4A0 00038100 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C4A4 00038104 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003C4A8 00038108 48 01 46 A5 */ bl func_80050B4C
lbl_8003C4AC:
/* 8003C4AC 0003810C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003C4B0 00038110 7C 08 03 A6 */ mtlr r0
/* 8003C4B4 00038114 38 21 00 30 */ addi r1, r1, 0x30
/* 8003C4B8 00038118 4E 80 00 20 */ blr
.global func_8003C4BC
func_8003C4BC:
/* 8003C4BC 0003811C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003C4C0 00038120 7C 08 02 A6 */ mflr r0
/* 8003C4C4 00038124 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003C4C8 00038128 3C 00 43 30 */ lis r0, 0x4330
/* 8003C4CC 0003812C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8003C4D0 00038130 7C 9F 23 78 */ mr r31, r4
/* 8003C4D4 00038134 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8003C4D8 00038138 7C 7E 1B 78 */ mr r30, r3
/* 8003C4DC 0003813C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8003C4E0 00038140 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 8003C4E4 00038144 90 01 00 08 */ stw r0, 8(r1)
/* 8003C4E8 00038148 2C 05 00 00 */ cmpwi r5, 0
/* 8003C4EC 0003814C 90 01 00 10 */ stw r0, 0x10(r1)
/* 8003C4F0 00038150 41 82 01 08 */ beq lbl_8003C5F8
/* 8003C4F4 00038154 A0 03 0C 68 */ lhz r0, 0xc68(r3)
/* 8003C4F8 00038158 28 00 01 00 */ cmplwi r0, 0x100
/* 8003C4FC 0003815C 40 82 00 80 */ bne lbl_8003C57C
/* 8003C500 00038160 80 03 0C 00 */ lwz r0, 0xc00(r3)
/* 8003C504 00038164 2C 00 00 00 */ cmpwi r0, 0
/* 8003C508 00038168 41 82 00 F0 */ beq lbl_8003C5F8
/* 8003C50C 0003816C 3B A0 00 00 */ li r29, 0
/* 8003C510 00038170 48 00 00 50 */ b lbl_8003C560
lbl_8003C514:
/* 8003C514 00038174 80 C5 00 04 */ lwz r6, 4(r5)
/* 8003C518 00038178 2C 06 00 00 */ cmpwi r6, 0
/* 8003C51C 0003817C 40 82 00 0C */ bne lbl_8003C528
/* 8003C520 00038180 38 60 00 00 */ li r3, 0
/* 8003C524 00038184 48 00 00 28 */ b lbl_8003C54C
lbl_8003C528:
/* 8003C528 00038188 80 65 00 00 */ lwz r3, 0(r5)
/* 8003C52C 0003818C 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8003C530 00038190 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003C534 00038194 7C 04 00 40 */ cmplw r4, r0
/* 8003C538 00038198 41 80 00 0C */ blt lbl_8003C544
/* 8003C53C 0003819C 38 60 00 00 */ li r3, 0
/* 8003C540 000381A0 48 00 00 0C */ b lbl_8003C54C
lbl_8003C544:
/* 8003C544 000381A4 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d
/* 8003C548 000381A8 7C 66 00 2E */ lwzx r3, r6, r0
lbl_8003C54C:
/* 8003C54C 000381AC 2C 03 00 00 */ cmpwi r3, 0
/* 8003C550 000381B0 41 82 00 0C */ beq lbl_8003C55C
/* 8003C554 000381B4 7F E4 FB 78 */ mr r4, r31
/* 8003C558 000381B8 48 1B 9C 3D */ bl func_801F6194
lbl_8003C55C:
/* 8003C55C 000381BC 3B BD 00 01 */ addi r29, r29, 1
lbl_8003C560:
/* 8003C560 000381C0 80 BE 0C 00 */ lwz r5, 0xc00(r30)
/* 8003C564 000381C4 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 8003C568 000381C8 80 65 00 00 */ lwz r3, 0(r5)
/* 8003C56C 000381CC A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003C570 000381D0 7C 04 00 00 */ cmpw r4, r0
/* 8003C574 000381D4 41 80 FF A0 */ blt lbl_8003C514
/* 8003C578 000381D8 48 00 00 24 */ b lbl_8003C59C
lbl_8003C57C:
/* 8003C57C 000381DC 7C A3 2B 78 */ mr r3, r5
/* 8003C580 000381E0 48 1B 9C 15 */ bl func_801F6194
/* 8003C584 000381E4 A0 1E 05 0C */ lhz r0, 0x50c(r30)
/* 8003C588 000381E8 28 00 00 02 */ cmplwi r0, 2
/* 8003C58C 000381EC 40 82 00 10 */ bne lbl_8003C59C
/* 8003C590 000381F0 7F E4 FB 78 */ mr r4, r31
/* 8003C594 000381F4 38 7E 05 24 */ addi r3, r30, 0x524
/* 8003C598 000381F8 48 00 3A 41 */ bl func_8003FFD8
lbl_8003C59C:
/* 8003C59C 000381FC 38 7E 04 D0 */ addi r3, r30, 0x4d0
/* 8003C5A0 00038200 48 01 46 41 */ bl func_80050BE0
/* 8003C5A4 00038204 88 1F 00 00 */ lbz r0, 0(r31)
/* 8003C5A8 00038208 C8 22 82 50 */ lfd f1, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C5AC 0003820C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003C5B0 00038210 C8 01 00 08 */ lfd f0, 8(r1)
/* 8003C5B4 00038214 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C5B8 00038218 D0 1E 0C 38 */ stfs f0, 0xc38(r30)
/* 8003C5BC 0003821C 88 1F 00 01 */ lbz r0, 1(r31)
/* 8003C5C0 00038220 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C5C4 00038224 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003C5C8 00038228 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C5CC 0003822C D0 1E 0C 3C */ stfs f0, 0xc3c(r30)
/* 8003C5D0 00038230 88 1F 00 02 */ lbz r0, 2(r31)
/* 8003C5D4 00038234 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003C5D8 00038238 C8 01 00 08 */ lfd f0, 8(r1)
/* 8003C5DC 0003823C EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C5E0 00038240 D0 1E 0C 40 */ stfs f0, 0xc40(r30)
/* 8003C5E4 00038244 88 1F 00 03 */ lbz r0, 3(r31)
/* 8003C5E8 00038248 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C5EC 0003824C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003C5F0 00038250 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003C5F4 00038254 D0 1E 0C 44 */ stfs f0, 0xc44(r30)
lbl_8003C5F8:
/* 8003C5F8 00038258 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003C5FC 0003825C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8003C600 00038260 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8003C604 00038264 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8003C608 00038268 7C 08 03 A6 */ mtlr r0
/* 8003C60C 0003826C 38 21 00 30 */ addi r1, r1, 0x30
/* 8003C610 00038270 4E 80 00 20 */ blr
.global func_8003C614
func_8003C614:
/* 8003C614 00038274 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003C618 00038278 7C 08 02 A6 */ mflr r0
/* 8003C61C 0003827C 3C C0 43 30 */ lis r6, 0x4330
/* 8003C620 00038280 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003C624 00038284 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003C628 00038288 90 C1 00 18 */ stw r6, 0x18(r1)
/* 8003C62C 0003828C 2C 00 00 00 */ cmpwi r0, 0
/* 8003C630 00038290 90 C1 00 20 */ stw r6, 0x20(r1)
/* 8003C634 00038294 41 82 00 70 */ beq lbl_8003C6A4
/* 8003C638 00038298 88 04 00 00 */ lbz r0, 0(r4)
/* 8003C63C 0003829C 7C A7 2B 78 */ mr r7, r5
/* 8003C640 000382A0 C8 42 82 50 */ lfd f2, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C644 000382A4 38 A1 00 08 */ addi r5, r1, 8
/* 8003C648 000382A8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003C64C 000382AC C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8003C650 000382B0 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C654 000382B4 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003C658 000382B8 88 04 00 01 */ lbz r0, 1(r4)
/* 8003C65C 000382BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C660 000382C0 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8003C664 000382C4 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C668 000382C8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003C66C 000382CC 88 04 00 02 */ lbz r0, 2(r4)
/* 8003C670 000382D0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003C674 000382D4 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8003C678 000382D8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C67C 000382DC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003C680 000382E0 88 04 00 03 */ lbz r0, 3(r4)
/* 8003C684 000382E4 38 83 0C 38 */ addi r4, r3, 0xc38
/* 8003C688 000382E8 7C 86 23 78 */ mr r6, r4
/* 8003C68C 000382EC 38 63 04 D0 */ addi r3, r3, 0x4d0
/* 8003C690 000382F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C694 000382F4 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8003C698 000382F8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003C69C 000382FC D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003C6A0 00038300 48 01 44 AD */ bl func_80050B4C
lbl_8003C6A4:
/* 8003C6A4 00038304 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003C6A8 00038308 7C 08 03 A6 */ mtlr r0
/* 8003C6AC 0003830C 38 21 00 30 */ addi r1, r1, 0x30
/* 8003C6B0 00038310 4E 80 00 20 */ blr
.global func_8003C6B4
func_8003C6B4:
/* 8003C6B4 00038314 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003C6B8 00038318 7C 08 02 A6 */ mflr r0
/* 8003C6BC 0003831C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C6C0 00038320 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8003C6C4 00038324 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 8003C6C8 00038328 FF E0 08 90 */ fmr f31, f1
/* 8003C6CC 0003832C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C6D0 00038330 93 C1 00 08 */ stw r30, 8(r1)
/* 8003C6D4 00038334 7C 7E 1B 78 */ mr r30, r3
/* 8003C6D8 00038338 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003C6DC 0003833C 2C 00 00 00 */ cmpwi r0, 0
/* 8003C6E0 00038340 41 82 01 3C */ beq lbl_8003C81C
/* 8003C6E4 00038344 48 00 06 69 */ bl func_8003CD4C
/* 8003C6E8 00038348 48 19 E4 41 */ bl func_801DAB28
/* 8003C6EC 0003834C 2C 03 00 00 */ cmpwi r3, 0
/* 8003C6F0 00038350 41 82 00 14 */ beq lbl_8003C704
/* 8003C6F4 00038354 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8003C6F8 00038358 38 80 00 70 */ li r4, 0x70
/* 8003C6FC 0003835C 48 19 E5 99 */ bl func_801DAC94
/* 8003C700 00038360 48 00 00 08 */ b lbl_8003C708
lbl_8003C704:
/* 8003C704 00038364 38 60 00 00 */ li r3, 0
lbl_8003C708:
/* 8003C708 00038368 2C 03 00 00 */ cmpwi r3, 0
/* 8003C70C 0003836C 7C 7F 1B 78 */ mr r31, r3
/* 8003C710 00038370 41 82 00 10 */ beq lbl_8003C720
/* 8003C714 00038374 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 8003C718 00038378 48 1E 0D 0D */ bl func_8021D424
/* 8003C71C 0003837C 7C 7F 1B 78 */ mr r31, r3
lbl_8003C720:
/* 8003C720 00038380 2C 1F 00 00 */ cmpwi r31, 0
/* 8003C724 00038384 41 82 00 F8 */ beq lbl_8003C81C
/* 8003C728 00038388 93 FE 0C 08 */ stw r31, 0xc08(r30)
/* 8003C72C 0003838C 7F E3 FB 78 */ mr r3, r31
/* 8003C730 00038390 88 1E 0D B4 */ lbz r0, 0xdb4(r30)
/* 8003C734 00038394 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8003C738 00038398 88 1E 0D B5 */ lbz r0, 0xdb5(r30)
/* 8003C73C 0003839C 98 1F 00 20 */ stb r0, 0x20(r31)
/* 8003C740 000383A0 88 1E 0D C0 */ lbz r0, 0xdc0(r30)
/* 8003C744 000383A4 98 1F 00 28 */ stb r0, 0x28(r31)
/* 8003C748 000383A8 88 1E 0D C1 */ lbz r0, 0xdc1(r30)
/* 8003C74C 000383AC 98 1F 00 29 */ stb r0, 0x29(r31)
/* 8003C750 000383B0 88 1E 0D C2 */ lbz r0, 0xdc2(r30)
/* 8003C754 000383B4 98 1F 00 2A */ stb r0, 0x2a(r31)
/* 8003C758 000383B8 88 1E 0D C3 */ lbz r0, 0xdc3(r30)
/* 8003C75C 000383BC 98 1F 00 2B */ stb r0, 0x2b(r31)
/* 8003C760 000383C0 D3 FF 00 6C */ stfs f31, 0x6c(r31)
/* 8003C764 000383C4 C0 1E 0D B8 */ lfs f0, 0xdb8(r30)
/* 8003C768 000383C8 D0 1F 00 48 */ stfs f0, 0x48(r31)
/* 8003C76C 000383CC 88 1E 0D B6 */ lbz r0, 0xdb6(r30)
/* 8003C770 000383D0 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 8003C774 000383D4 C0 1E 0D C4 */ lfs f0, 0xdc4(r30)
/* 8003C778 000383D8 D0 1F 00 5C */ stfs f0, 0x5c(r31)
/* 8003C77C 000383DC C0 1E 0D C8 */ lfs f0, 0xdc8(r30)
/* 8003C780 000383E0 D0 1F 00 60 */ stfs f0, 0x60(r31)
/* 8003C784 000383E4 C0 1E 0D CC */ lfs f0, 0xdcc(r30)
/* 8003C788 000383E8 D0 1F 00 64 */ stfs f0, 0x64(r31)
/* 8003C78C 000383EC C0 1E 0D BC */ lfs f0, 0xdbc(r30)
/* 8003C790 000383F0 D0 1F 00 44 */ stfs f0, 0x44(r31)
/* 8003C794 000383F4 C0 1E 0D D0 */ lfs f0, 0xdd0(r30)
/* 8003C798 000383F8 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 8003C79C 000383FC C0 1E 0D D4 */ lfs f0, 0xdd4(r30)
/* 8003C7A0 00038400 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 8003C7A4 00038404 C0 1E 0D D8 */ lfs f0, 0xdd8(r30)
/* 8003C7A8 00038408 D0 1F 00 40 */ stfs f0, 0x40(r31)
/* 8003C7AC 0003840C C0 1E 0D DC */ lfs f0, 0xddc(r30)
/* 8003C7B0 00038410 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 8003C7B4 00038414 C0 1E 0D E0 */ lfs f0, 0xde0(r30)
/* 8003C7B8 00038418 D0 1F 00 30 */ stfs f0, 0x30(r31)
/* 8003C7BC 0003841C C0 1E 0D E4 */ lfs f0, 0xde4(r30)
/* 8003C7C0 00038420 D0 1F 00 34 */ stfs f0, 0x34(r31)
/* 8003C7C4 00038424 C0 1E 0D E8 */ lfs f0, 0xde8(r30)
/* 8003C7C8 00038428 D0 1F 00 58 */ stfs f0, 0x58(r31)
/* 8003C7CC 0003842C C0 1E 0D EC */ lfs f0, 0xdec(r30)
/* 8003C7D0 00038430 D0 1F 00 4C */ stfs f0, 0x4c(r31)
/* 8003C7D4 00038434 C0 1E 0D F0 */ lfs f0, 0xdf0(r30)
/* 8003C7D8 00038438 D0 1F 00 50 */ stfs f0, 0x50(r31)
/* 8003C7DC 0003843C C0 1E 0D F4 */ lfs f0, 0xdf4(r30)
/* 8003C7E0 00038440 D0 1F 00 54 */ stfs f0, 0x54(r31)
/* 8003C7E4 00038444 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 8003C7E8 00038448 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003C7EC 0003844C 7D 89 03 A6 */ mtctr r12
/* 8003C7F0 00038450 4E 80 04 21 */ bctrl
/* 8003C7F4 00038454 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003C7F8 00038458 98 7F 00 08 */ stb r3, 8(r31)
/* 8003C7FC 0003845C 41 82 00 20 */ beq lbl_8003C81C
/* 8003C800 00038460 83 FF 00 04 */ lwz r31, 4(r31)
/* 8003C804 00038464 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8003C808 00038468 48 1F E8 51 */ bl func_8023B058
/* 8003C80C 0003846C 2C 03 00 00 */ cmpwi r3, 0
/* 8003C810 00038470 41 82 00 0C */ beq lbl_8003C81C
/* 8003C814 00038474 7F E4 FB 78 */ mr r4, r31
/* 8003C818 00038478 48 1F EB A1 */ bl func_8023B3B8
lbl_8003C81C:
/* 8003C81C 0003847C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 8003C820 00038480 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003C824 00038484 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8003C828 00038488 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C82C 0003848C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003C830 00038490 7C 08 03 A6 */ mtlr r0
/* 8003C834 00038494 38 21 00 20 */ addi r1, r1, 0x20
/* 8003C838 00038498 4E 80 00 20 */ blr
.global func_8003C83C
func_8003C83C:
/* 8003C83C 0003849C 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8003C840 000384A0 2C 03 00 00 */ cmpwi r3, 0
/* 8003C844 000384A4 4D 82 00 20 */ beqlr
/* 8003C848 000384A8 7C 80 00 34 */ cntlzw r0, r4
/* 8003C84C 000384AC 54 04 D9 7E */ srwi r4, r0, 5
/* 8003C850 000384B0 48 1B 99 08 */ b func_801F6158
/* 8003C854 000384B4 4E 80 00 20 */ blr
.global func_8003C858
func_8003C858:
/* 8003C858 000384B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003C85C 000384BC 7C 08 02 A6 */ mflr r0
/* 8003C860 000384C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C864 000384C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003C868 000384C8 7C 9F 23 78 */ mr r31, r4
/* 8003C86C 000384CC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003C870 000384D0 7C 7E 1B 78 */ mr r30, r3
/* 8003C874 000384D4 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003C878 000384D8 2C 00 00 00 */ cmpwi r0, 0
/* 8003C87C 000384DC 41 82 00 0C */ beq lbl_8003C888
/* 8003C880 000384E0 7C 03 03 78 */ mr r3, r0
/* 8003C884 000384E4 48 1B 98 99 */ bl func_801F611C
lbl_8003C888:
/* 8003C888 000384E8 3C 00 43 30 */ lis r0, 0x4330
/* 8003C88C 000384EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C890 000384F0 C8 42 82 50 */ lfd f2, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C894 000384F4 90 01 00 08 */ stw r0, 8(r1)
/* 8003C898 000384F8 C0 02 82 38 */ lfs f0, lbl_80640838-_SDA2_BASE_(r2)
/* 8003C89C 000384FC C8 21 00 08 */ lfd f1, 8(r1)
/* 8003C8A0 00038500 EC 21 10 28 */ fsubs f1, f1, f2
/* 8003C8A4 00038504 EC 01 00 24 */ fdivs f0, f1, f0
/* 8003C8A8 00038508 D0 1E 0C 70 */ stfs f0, 0xc70(r30)
/* 8003C8AC 0003850C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003C8B0 00038510 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003C8B4 00038514 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003C8B8 00038518 7C 08 03 A6 */ mtlr r0
/* 8003C8BC 0003851C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003C8C0 00038520 4E 80 00 20 */ blr
.global func_8003C8C4
func_8003C8C4:
/* 8003C8C4 00038524 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003C8C8 00038528 7C 08 02 A6 */ mflr r0
/* 8003C8CC 0003852C 7C A7 2B 78 */ mr r7, r5
/* 8003C8D0 00038530 C8 62 82 50 */ lfd f3, lbl_80640850-_SDA2_BASE_(r2)
/* 8003C8D4 00038534 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003C8D8 00038538 3C 00 43 30 */ lis r0, 0x4330
/* 8003C8DC 0003853C C0 02 82 38 */ lfs f0, lbl_80640838-_SDA2_BASE_(r2)
/* 8003C8E0 00038540 38 A1 00 08 */ addi r5, r1, 8
/* 8003C8E4 00038544 90 81 00 14 */ stw r4, 0x14(r1)
/* 8003C8E8 00038548 38 83 0C 70 */ addi r4, r3, 0xc70
/* 8003C8EC 0003854C 7C 86 23 78 */ mr r6, r4
/* 8003C8F0 00038550 38 63 01 90 */ addi r3, r3, 0x190
/* 8003C8F4 00038554 90 01 00 10 */ stw r0, 0x10(r1)
/* 8003C8F8 00038558 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 8003C8FC 0003855C EC 42 18 28 */ fsubs f2, f2, f3
/* 8003C900 00038560 EC 02 00 24 */ fdivs f0, f2, f0
/* 8003C904 00038564 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003C908 00038568 48 01 3A 35 */ bl func_8005033C
/* 8003C90C 0003856C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003C910 00038570 7C 08 03 A6 */ mtlr r0
/* 8003C914 00038574 38 21 00 20 */ addi r1, r1, 0x20
/* 8003C918 00038578 4E 80 00 20 */ blr
.global func_8003C91C
func_8003C91C:
/* 8003C91C 0003857C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003C920 00038580 38 00 00 00 */ li r0, 0
/* 8003C924 00038584 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003C928 00038588 C0 02 82 AC */ lfs f0, lbl_806408AC-_SDA2_BASE_(r2)
/* 8003C92C 0003858C 98 03 00 00 */ stb r0, 0(r3)
/* 8003C930 00038590 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 8003C934 00038594 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8003C938 00038598 D0 23 00 08 */ stfs f1, 8(r3)
/* 8003C93C 0003859C D0 23 00 04 */ stfs f1, 4(r3)
/* 8003C940 000385A0 98 03 00 14 */ stb r0, 0x14(r3)
/* 8003C944 000385A4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003C948 000385A8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003C94C 000385AC D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8003C950 000385B0 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8003C954 000385B4 D0 21 00 08 */ stfs f1, 8(r1)
/* 8003C958 000385B8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8003C95C 000385BC D0 23 00 28 */ stfs f1, 0x28(r3)
/* 8003C960 000385C0 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 8003C964 000385C4 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 8003C968 000385C8 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 8003C96C 000385CC 38 21 00 20 */ addi r1, r1, 0x20
/* 8003C970 000385D0 4E 80 00 20 */ blr
.global func_8003C974
func_8003C974:
/* 8003C974 000385D4 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8003C978 000385D8 7C 08 02 A6 */ mflr r0
/* 8003C97C 000385DC 90 01 00 64 */ stw r0, 0x64(r1)
/* 8003C980 000385E0 39 61 00 60 */ addi r11, r1, 0x60
/* 8003C984 000385E4 48 18 A7 A5 */ bl _savegpr_27
/* 8003C988 000385E8 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003C98C 000385EC 38 E0 00 01 */ li r7, 1
/* 8003C990 000385F0 98 E3 0D 44 */ stb r7, 0xd44(r3)
/* 8003C994 000385F4 7C 7B 1B 78 */ mr r27, r3
/* 8003C998 000385F8 2C 00 00 00 */ cmpwi r0, 0
/* 8003C99C 000385FC 7C 9C 23 78 */ mr r28, r4
/* 8003C9A0 00038600 7C BF 2B 78 */ mr r31, r5
/* 8003C9A4 00038604 7C DD 33 78 */ mr r29, r6
/* 8003C9A8 00038608 3B C0 00 00 */ li r30, 0
/* 8003C9AC 0003860C 41 82 01 40 */ beq lbl_8003CAEC
/* 8003C9B0 00038610 48 00 38 45 */ bl func_800401F4
/* 8003C9B4 00038614 2C 03 00 00 */ cmpwi r3, 0
/* 8003C9B8 00038618 41 82 00 10 */ beq lbl_8003C9C8
/* 8003C9BC 0003861C 38 9D 00 01 */ addi r4, r29, 1
/* 8003C9C0 00038620 48 00 39 C5 */ bl func_80040384
/* 8003C9C4 00038624 7C 7E 1B 78 */ mr r30, r3
lbl_8003C9C8:
/* 8003C9C8 00038628 2C 1E 00 00 */ cmpwi r30, 0
/* 8003C9CC 0003862C 41 82 01 20 */ beq lbl_8003CAEC
/* 8003C9D0 00038630 7F 83 E3 78 */ mr r3, r28
/* 8003C9D4 00038634 7F E4 FB 78 */ mr r4, r31
/* 8003C9D8 00038638 48 19 EA E5 */ bl func_801DB4BC
/* 8003C9DC 0003863C 7C 7D 1B 78 */ mr r29, r3
/* 8003C9E0 00038640 7F C3 F3 78 */ mr r3, r30
/* 8003C9E4 00038644 48 00 5B AD */ bl func_80042590
/* 8003C9E8 00038648 7C 7F 1B 78 */ mr r31, r3
/* 8003C9EC 0003864C 7F C3 F3 78 */ mr r3, r30
/* 8003C9F0 00038650 48 00 48 15 */ bl func_80041204
/* 8003C9F4 00038654 7C 64 1B 78 */ mr r4, r3
/* 8003C9F8 00038658 7F E3 FB 78 */ mr r3, r31
/* 8003C9FC 0003865C 38 A1 00 28 */ addi r5, r1, 0x28
/* 8003CA00 00038660 48 24 02 E9 */ bl PSVECSubtract
/* 8003CA04 00038664 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 8003CA08 00038668 38 61 00 34 */ addi r3, r1, 0x34
/* 8003CA0C 0003866C C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 8003CA10 00038670 7C 64 1B 78 */ mr r4, r3
/* 8003CA14 00038674 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8003CA18 00038678 D0 41 00 34 */ stfs f2, 0x34(r1)
/* 8003CA1C 0003867C D0 21 00 38 */ stfs f1, 0x38(r1)
/* 8003CA20 00038680 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8003CA24 00038684 48 24 03 05 */ bl PSVECNormalize
/* 8003CA28 00038688 80 7B 0C 04 */ lwz r3, 0xc04(r27)
/* 8003CA2C 0003868C 7F A4 EB 78 */ mr r4, r29
/* 8003CA30 00038690 7F E5 FB 78 */ mr r5, r31
/* 8003CA34 00038694 38 C1 00 34 */ addi r6, r1, 0x34
/* 8003CA38 00038698 38 E0 00 00 */ li r7, 0
/* 8003CA3C 0003869C 48 1B BE B1 */ bl func_801F88EC
/* 8003CA40 000386A0 98 7B 0D 30 */ stb r3, 0xd30(r27)
/* 8003CA44 000386A4 7F 63 DB 78 */ mr r3, r27
/* 8003CA48 000386A8 4B FF CC 8D */ bl func_800396D4
/* 8003CA4C 000386AC C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2)
/* 8003CA50 000386B0 48 01 1A 4D */ bl func_8004E49C
/* 8003CA54 000386B4 D0 3B 0D 60 */ stfs f1, 0xd60(r27)
/* 8003CA58 000386B8 38 A1 00 20 */ addi r5, r1, 0x20
/* 8003CA5C 000386BC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003CA60 000386C0 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8003CA64 000386C4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8003CA68 000386C8 80 7B 0C 04 */ lwz r3, 0xc04(r27)
/* 8003CA6C 000386CC 88 9B 0D 30 */ lbz r4, 0xd30(r27)
/* 8003CA70 000386D0 48 1B C0 D1 */ bl func_801F8B40
/* 8003CA74 000386D4 C0 5B 0D 60 */ lfs f2, 0xd60(r27)
/* 8003CA78 000386D8 38 A1 00 18 */ addi r5, r1, 0x18
/* 8003CA7C 000386DC C0 3B 0D 4C */ lfs f1, 0xd4c(r27)
/* 8003CA80 000386E0 C0 1B 0D 48 */ lfs f0, 0xd48(r27)
/* 8003CA84 000386E4 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8003CA88 000386E8 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8003CA8C 000386EC D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8003CA90 000386F0 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003CA94 000386F4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8003CA98 000386F8 80 61 00 08 */ lwz r3, 8(r1)
/* 8003CA9C 000386FC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003CAA0 00038700 90 61 00 18 */ stw r3, 0x18(r1)
/* 8003CAA4 00038704 80 7B 0C 04 */ lwz r3, 0xc04(r27)
/* 8003CAA8 00038708 88 9B 0D 30 */ lbz r4, 0xd30(r27)
/* 8003CAAC 0003870C 48 1B C0 C5 */ bl func_801F8B70
/* 8003CAB0 00038710 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003CAB4 00038714 7F A3 EB 78 */ mr r3, r29
/* 8003CAB8 00038718 38 80 00 02 */ li r4, 2
/* 8003CABC 0003871C 38 A0 00 02 */ li r5, 2
/* 8003CAC0 00038720 D0 1B 0D 40 */ stfs f0, 0xd40(r27)
/* 8003CAC4 00038724 38 C0 00 02 */ li r6, 2
/* 8003CAC8 00038728 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003CACC 0003872C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003CAD0 00038730 D0 1B 0D 58 */ stfs f0, 0xd58(r27)
/* 8003CAD4 00038734 D0 1B 0D 5C */ stfs f0, 0xd5c(r27)
/* 8003CAD8 00038738 48 20 18 F1 */ bl func_8023E3C8
/* 8003CADC 0003873C 7F A3 EB 78 */ mr r3, r29
/* 8003CAE0 00038740 38 80 00 01 */ li r4, 1
/* 8003CAE4 00038744 38 A0 00 01 */ li r5, 1
/* 8003CAE8 00038748 48 20 18 85 */ bl func_8023E36C
lbl_8003CAEC:
/* 8003CAEC 0003874C 39 61 00 60 */ addi r11, r1, 0x60
/* 8003CAF0 00038750 48 18 A6 85 */ bl _restgpr_27
/* 8003CAF4 00038754 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8003CAF8 00038758 7C 08 03 A6 */ mtlr r0
/* 8003CAFC 0003875C 38 21 00 60 */ addi r1, r1, 0x60
/* 8003CB00 00038760 4E 80 00 20 */ blr
.global func_8003CB04
func_8003CB04:
/* 8003CB04 00038764 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CB08 00038768 7C 08 02 A6 */ mflr r0
/* 8003CB0C 0003876C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CB10 00038770 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CB14 00038774 7C 7F 1B 78 */ mr r31, r3
/* 8003CB18 00038778 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003CB1C 0003877C 2C 00 00 00 */ cmpwi r0, 0
/* 8003CB20 00038780 41 82 00 10 */ beq lbl_8003CB30
/* 8003CB24 00038784 88 9F 0D 30 */ lbz r4, 0xd30(r31)
/* 8003CB28 00038788 7C 03 03 78 */ mr r3, r0
/* 8003CB2C 0003878C 48 1B C0 99 */ bl func_801F8BC4
lbl_8003CB30:
/* 8003CB30 00038790 38 00 00 00 */ li r0, 0
/* 8003CB34 00038794 98 1F 0D 44 */ stb r0, 0xd44(r31)
/* 8003CB38 00038798 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CB3C 0003879C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CB40 000387A0 7C 08 03 A6 */ mtlr r0
/* 8003CB44 000387A4 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CB48 000387A8 4E 80 00 20 */ blr
.global func_8003CB4C
func_8003CB4C:
/* 8003CB4C 000387AC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003CB50 000387B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003CB54 000387B4 4C 40 13 82 */ cror 2, 0, 2
/* 8003CB58 000387B8 40 82 00 10 */ bne lbl_8003CB68
/* 8003CB5C 000387BC 38 00 00 00 */ li r0, 0
/* 8003CB60 000387C0 98 03 0D 44 */ stb r0, 0xd44(r3)
/* 8003CB64 000387C4 4E 80 00 20 */ blr
lbl_8003CB68:
/* 8003CB68 000387C8 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8003CB6C 000387CC D0 23 0D 34 */ stfs f1, 0xd34(r3)
/* 8003CB70 000387D0 40 80 00 08 */ bge lbl_8003CB78
/* 8003CB74 000387D4 FC 40 08 90 */ fmr f2, f1
lbl_8003CB78:
/* 8003CB78 000387D8 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8003CB7C 000387DC 40 80 00 08 */ bge lbl_8003CB84
/* 8003CB80 000387E0 FC 60 08 90 */ fmr f3, f1
lbl_8003CB84:
/* 8003CB84 000387E4 D0 43 0D 3C */ stfs f2, 0xd3c(r3)
/* 8003CB88 000387E8 D0 63 0D 38 */ stfs f3, 0xd38(r3)
/* 8003CB8C 000387EC 4E 80 00 20 */ blr
.global func_8003CB90
func_8003CB90:
/* 8003CB90 000387F0 C0 04 00 00 */ lfs f0, 0(r4)
/* 8003CB94 000387F4 D0 03 0D 50 */ stfs f0, 0xd50(r3)
/* 8003CB98 000387F8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8003CB9C 000387FC D0 03 0D 54 */ stfs f0, 0xd54(r3)
/* 8003CBA0 00038800 4E 80 00 20 */ blr
.global func_8003CBA4
func_8003CBA4:
/* 8003CBA4 00038804 C0 04 00 00 */ lfs f0, 0(r4)
/* 8003CBA8 00038808 D0 03 0D 48 */ stfs f0, 0xd48(r3)
/* 8003CBAC 0003880C C0 04 00 04 */ lfs f0, 4(r4)
/* 8003CBB0 00038810 D0 03 0D 4C */ stfs f0, 0xd4c(r3)
/* 8003CBB4 00038814 4E 80 00 20 */ blr
.global func_8003CBB8
func_8003CBB8:
/* 8003CBB8 00038818 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8003CBBC 0003881C 7C 08 02 A6 */ mflr r0
/* 8003CBC0 00038820 90 01 00 44 */ stw r0, 0x44(r1)
/* 8003CBC4 00038824 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8003CBC8 00038828 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8003CBCC 0003882C FF E0 08 90 */ fmr f31, f1
/* 8003CBD0 00038830 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8003CBD4 00038834 7C 7F 1B 78 */ mr r31, r3
/* 8003CBD8 00038838 88 03 0D 44 */ lbz r0, 0xd44(r3)
/* 8003CBDC 0003883C 2C 00 00 00 */ cmpwi r0, 0
/* 8003CBE0 00038840 41 82 01 50 */ beq lbl_8003CD30
/* 8003CBE4 00038844 C0 23 0D 34 */ lfs f1, 0xd34(r3)
/* 8003CBE8 00038848 C0 03 0D 40 */ lfs f0, 0xd40(r3)
/* 8003CBEC 0003884C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003CBF0 00038850 40 80 00 0C */ bge lbl_8003CBFC
/* 8003CBF4 00038854 4B FF FF 11 */ bl func_8003CB04
/* 8003CBF8 00038858 48 00 01 38 */ b lbl_8003CD30
lbl_8003CBFC:
/* 8003CBFC 0003885C C0 43 0D 60 */ lfs f2, 0xd60(r3)
/* 8003CC00 00038860 C0 23 0D 54 */ lfs f1, 0xd54(r3)
/* 8003CC04 00038864 C0 03 0D 50 */ lfs f0, 0xd50(r3)
/* 8003CC08 00038868 EC 81 00 B2 */ fmuls f4, f1, f2
/* 8003CC0C 0003886C 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 8003CC10 00038870 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8003CC14 00038874 C0 63 0D 58 */ lfs f3, 0xd58(r3)
/* 8003CC18 00038878 C0 23 0D 5C */ lfs f1, 0xd5c(r3)
/* 8003CC1C 0003887C 2C 05 00 00 */ cmpwi r5, 0
/* 8003CC20 00038880 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003CC24 00038884 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8003CC28 00038888 80 81 00 08 */ lwz r4, 8(r1)
/* 8003CC2C 0003888C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8003CC30 00038890 90 81 00 10 */ stw r4, 0x10(r1)
/* 8003CC34 00038894 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CC38 00038898 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 8003CC3C 0003889C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8003CC40 000388A0 EC 43 10 2A */ fadds f2, f3, f2
/* 8003CC44 000388A4 EC 01 00 2A */ fadds f0, f1, f0
/* 8003CC48 000388A8 D0 43 0D 58 */ stfs f2, 0xd58(r3)
/* 8003CC4C 000388AC D0 03 0D 5C */ stfs f0, 0xd5c(r3)
/* 8003CC50 000388B0 41 82 00 14 */ beq lbl_8003CC64
/* 8003CC54 000388B4 88 9F 0D 30 */ lbz r4, 0xd30(r31)
/* 8003CC58 000388B8 7C A3 2B 78 */ mr r3, r5
/* 8003CC5C 000388BC 38 BF 0D 58 */ addi r5, r31, 0xd58
/* 8003CC60 000388C0 48 1B BE E1 */ bl func_801F8B40
lbl_8003CC64:
/* 8003CC64 000388C4 C0 5F 0D 40 */ lfs f2, 0xd40(r31)
/* 8003CC68 000388C8 C0 3F 0D 3C */ lfs f1, 0xd3c(r31)
/* 8003CC6C 000388CC FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8003CC70 000388D0 40 80 00 44 */ bge lbl_8003CCB4
/* 8003CC74 000388D4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003CC78 000388D8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003CC7C 000388DC 40 81 00 38 */ ble lbl_8003CCB4
/* 8003CC80 000388E0 EC 22 08 24 */ fdivs f1, f2, f1
/* 8003CC84 000388E4 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003CC88 000388E8 2C 03 00 00 */ cmpwi r3, 0
/* 8003CC8C 000388EC 41 82 00 98 */ beq lbl_8003CD24
/* 8003CC90 000388F0 C0 02 82 38 */ lfs f0, lbl_80640838-_SDA2_BASE_(r2)
/* 8003CC94 000388F4 88 9F 0D 30 */ lbz r4, 0xd30(r31)
/* 8003CC98 000388F8 EC 00 00 72 */ fmuls f0, f0, f1
/* 8003CC9C 000388FC FC 00 00 1E */ fctiwz f0, f0
/* 8003CCA0 00038900 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8003CCA4 00038904 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 8003CCA8 00038908 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 8003CCAC 0003890C 48 1B BE F5 */ bl func_801F8BA0
/* 8003CCB0 00038910 48 00 00 74 */ b lbl_8003CD24
lbl_8003CCB4:
/* 8003CCB4 00038914 C0 1F 0D 34 */ lfs f0, 0xd34(r31)
/* 8003CCB8 00038918 C0 5F 0D 38 */ lfs f2, 0xd38(r31)
/* 8003CCBC 0003891C C0 7F 0D 40 */ lfs f3, 0xd40(r31)
/* 8003CCC0 00038920 EC 20 10 28 */ fsubs f1, f0, f2
/* 8003CCC4 00038924 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 8003CCC8 00038928 40 81 00 4C */ ble lbl_8003CD14
/* 8003CCCC 0003892C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003CCD0 00038930 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003CCD4 00038934 40 81 00 40 */ ble lbl_8003CD14
/* 8003CCD8 00038938 EC 03 08 28 */ fsubs f0, f3, f1
/* 8003CCDC 0003893C 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003CCE0 00038940 2C 03 00 00 */ cmpwi r3, 0
/* 8003CCE4 00038944 EC 00 10 24 */ fdivs f0, f0, f2
/* 8003CCE8 00038948 41 82 00 3C */ beq lbl_8003CD24
/* 8003CCEC 0003894C C0 22 82 38 */ lfs f1, lbl_80640838-_SDA2_BASE_(r2)
/* 8003CCF0 00038950 88 9F 0D 30 */ lbz r4, 0xd30(r31)
/* 8003CCF4 00038954 EC 01 00 32 */ fmuls f0, f1, f0
/* 8003CCF8 00038958 EC 01 00 28 */ fsubs f0, f1, f0
/* 8003CCFC 0003895C FC 00 00 1E */ fctiwz f0, f0
/* 8003CD00 00038960 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8003CD04 00038964 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 8003CD08 00038968 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 8003CD0C 0003896C 48 1B BE 95 */ bl func_801F8BA0
/* 8003CD10 00038970 48 00 00 14 */ b lbl_8003CD24
lbl_8003CD14:
/* 8003CD14 00038974 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8003CD18 00038978 38 A0 00 FF */ li r5, 0xff
/* 8003CD1C 0003897C 88 9F 0D 30 */ lbz r4, 0xd30(r31)
/* 8003CD20 00038980 48 1B BE 81 */ bl func_801F8BA0
lbl_8003CD24:
/* 8003CD24 00038984 C0 1F 0D 40 */ lfs f0, 0xd40(r31)
/* 8003CD28 00038988 EC 00 F8 2A */ fadds f0, f0, f31
/* 8003CD2C 0003898C D0 1F 0D 40 */ stfs f0, 0xd40(r31)
lbl_8003CD30:
/* 8003CD30 00038990 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8003CD34 00038994 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8003CD38 00038998 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8003CD3C 0003899C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8003CD40 000389A0 7C 08 03 A6 */ mtlr r0
/* 8003CD44 000389A4 38 21 00 40 */ addi r1, r1, 0x40
/* 8003CD48 000389A8 4E 80 00 20 */ blr
.global func_8003CD4C
func_8003CD4C:
/* 8003CD4C 000389AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CD50 000389B0 7C 08 02 A6 */ mflr r0
/* 8003CD54 000389B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CD58 000389B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CD5C 000389BC 7C 7F 1B 78 */ mr r31, r3
/* 8003CD60 000389C0 80 03 0C 08 */ lwz r0, 0xc08(r3)
/* 8003CD64 000389C4 2C 00 00 00 */ cmpwi r0, 0
/* 8003CD68 000389C8 41 82 00 28 */ beq lbl_8003CD90
/* 8003CD6C 000389CC 41 82 00 1C */ beq lbl_8003CD88
/* 8003CD70 000389D0 7C 03 03 78 */ mr r3, r0
/* 8003CD74 000389D4 38 80 00 01 */ li r4, 1
/* 8003CD78 000389D8 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8003CD7C 000389DC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8003CD80 000389E0 7D 89 03 A6 */ mtctr r12
/* 8003CD84 000389E4 4E 80 04 21 */ bctrl
lbl_8003CD88:
/* 8003CD88 000389E8 38 00 00 00 */ li r0, 0
/* 8003CD8C 000389EC 90 1F 0C 08 */ stw r0, 0xc08(r31)
lbl_8003CD90:
/* 8003CD90 000389F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CD94 000389F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CD98 000389F8 7C 08 03 A6 */ mtlr r0
/* 8003CD9C 000389FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CDA0 00038A00 4E 80 00 20 */ blr
.global func_8003CDA4
func_8003CDA4:
/* 8003CDA4 00038A04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003CDA8 00038A08 7C 08 02 A6 */ mflr r0
/* 8003CDAC 00038A0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003CDB0 00038A10 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003CDB4 00038A14 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003CDB8 00038A18 7C 7E 1B 78 */ mr r30, r3
/* 8003CDBC 00038A1C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003CDC0 00038A20 2C 00 00 00 */ cmpwi r0, 0
/* 8003CDC4 00038A24 41 82 00 AC */ beq lbl_8003CE70
/* 8003CDC8 00038A28 4B FF FF 85 */ bl func_8003CD4C
/* 8003CDCC 00038A2C 48 19 DD 5D */ bl func_801DAB28
/* 8003CDD0 00038A30 2C 03 00 00 */ cmpwi r3, 0
/* 8003CDD4 00038A34 41 82 00 14 */ beq lbl_8003CDE8
/* 8003CDD8 00038A38 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8003CDDC 00038A3C 38 80 00 28 */ li r4, 0x28
/* 8003CDE0 00038A40 48 19 DE B5 */ bl func_801DAC94
/* 8003CDE4 00038A44 48 00 00 08 */ b lbl_8003CDEC
lbl_8003CDE8:
/* 8003CDE8 00038A48 38 60 00 00 */ li r3, 0
lbl_8003CDEC:
/* 8003CDEC 00038A4C 2C 03 00 00 */ cmpwi r3, 0
/* 8003CDF0 00038A50 7C 7F 1B 78 */ mr r31, r3
/* 8003CDF4 00038A54 41 82 00 14 */ beq lbl_8003CE08
/* 8003CDF8 00038A58 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 8003CDFC 00038A5C 38 A0 00 00 */ li r5, 0
/* 8003CE00 00038A60 48 1E 1C 49 */ bl func_8021EA48
/* 8003CE04 00038A64 7C 7F 1B 78 */ mr r31, r3
lbl_8003CE08:
/* 8003CE08 00038A68 2C 1F 00 00 */ cmpwi r31, 0
/* 8003CE0C 00038A6C 41 82 00 64 */ beq lbl_8003CE70
/* 8003CE10 00038A70 C0 22 82 98 */ lfs f1, lbl_80640898-_SDA2_BASE_(r2)
/* 8003CE14 00038A74 38 00 00 01 */ li r0, 1
/* 8003CE18 00038A78 93 FE 0C 08 */ stw r31, 0xc08(r30)
/* 8003CE1C 00038A7C 7F E3 FB 78 */ mr r3, r31
/* 8003CE20 00038A80 C0 02 82 88 */ lfs f0, lbl_80640888-_SDA2_BASE_(r2)
/* 8003CE24 00038A84 D0 3F 00 1C */ stfs f1, 0x1c(r31)
/* 8003CE28 00038A88 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 8003CE2C 00038A8C 90 1F 00 24 */ stw r0, 0x24(r31)
/* 8003CE30 00038A90 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 8003CE34 00038A94 D0 21 00 08 */ stfs f1, 8(r1)
/* 8003CE38 00038A98 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003CE3C 00038A9C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003CE40 00038AA0 7D 89 03 A6 */ mtctr r12
/* 8003CE44 00038AA4 4E 80 04 21 */ bctrl
/* 8003CE48 00038AA8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003CE4C 00038AAC 98 7F 00 08 */ stb r3, 8(r31)
/* 8003CE50 00038AB0 41 82 00 20 */ beq lbl_8003CE70
/* 8003CE54 00038AB4 83 FF 00 04 */ lwz r31, 4(r31)
/* 8003CE58 00038AB8 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8003CE5C 00038ABC 48 1F E1 FD */ bl func_8023B058
/* 8003CE60 00038AC0 2C 03 00 00 */ cmpwi r3, 0
/* 8003CE64 00038AC4 41 82 00 0C */ beq lbl_8003CE70
/* 8003CE68 00038AC8 7F E4 FB 78 */ mr r4, r31
/* 8003CE6C 00038ACC 48 1F E5 4D */ bl func_8023B3B8
lbl_8003CE70:
/* 8003CE70 00038AD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003CE74 00038AD4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003CE78 00038AD8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003CE7C 00038ADC 7C 08 03 A6 */ mtlr r0
/* 8003CE80 00038AE0 38 21 00 20 */ addi r1, r1, 0x20
/* 8003CE84 00038AE4 4E 80 00 20 */ blr
.global func_8003CE88
func_8003CE88:
/* 8003CE88 00038AE8 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 8003CE8C 00038AEC 2C 05 00 00 */ cmpwi r5, 0
/* 8003CE90 00038AF0 41 82 00 74 */ beq lbl_8003CF04
/* 8003CE94 00038AF4 A0 65 00 E0 */ lhz r3, 0xe0(r5)
/* 8003CE98 00038AF8 7C 04 18 00 */ cmpw r4, r3
/* 8003CE9C 00038AFC 40 80 00 68 */ bge lbl_8003CF04
/* 8003CEA0 00038B00 80 C5 00 10 */ lwz r6, 0x10(r5)
/* 8003CEA4 00038B04 2C 06 00 00 */ cmpwi r6, 0
/* 8003CEA8 00038B08 40 82 00 0C */ bne lbl_8003CEB4
/* 8003CEAC 00038B0C 38 60 00 00 */ li r3, 0
/* 8003CEB0 00038B10 4E 80 00 20 */ blr
lbl_8003CEB4:
/* 8003CEB4 00038B14 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8003CEB8 00038B18 7C 00 18 40 */ cmplw r0, r3
/* 8003CEBC 00038B1C 41 80 00 0C */ blt lbl_8003CEC8
/* 8003CEC0 00038B20 38 60 00 00 */ li r3, 0
/* 8003CEC4 00038B24 4E 80 00 20 */ blr
lbl_8003CEC8:
/* 8003CEC8 00038B28 80 E5 00 08 */ lwz r7, 8(r5)
/* 8003CECC 00038B2C 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e
/* 8003CED0 00038B30 7C 66 02 2E */ lhzx r3, r6, r0
/* 8003CED4 00038B34 2C 07 00 00 */ cmpwi r7, 0
/* 8003CED8 00038B38 40 82 00 0C */ bne lbl_8003CEE4
/* 8003CEDC 00038B3C 38 60 00 00 */ li r3, 0
/* 8003CEE0 00038B40 4E 80 00 20 */ blr
lbl_8003CEE4:
/* 8003CEE4 00038B44 A0 05 00 DE */ lhz r0, 0xde(r5)
/* 8003CEE8 00038B48 7C 03 00 40 */ cmplw r3, r0
/* 8003CEEC 00038B4C 41 80 00 0C */ blt lbl_8003CEF8
/* 8003CEF0 00038B50 38 60 00 00 */ li r3, 0
/* 8003CEF4 00038B54 4E 80 00 20 */ blr
lbl_8003CEF8:
/* 8003CEF8 00038B58 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003CEFC 00038B5C 7C 67 00 2E */ lwzx r3, r7, r0
/* 8003CF00 00038B60 4E 80 00 20 */ blr
lbl_8003CF04:
/* 8003CF04 00038B64 38 60 00 00 */ li r3, 0
/* 8003CF08 00038B68 4E 80 00 20 */ blr
.global func_8003CF0C
func_8003CF0C:
/* 8003CF0C 00038B6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CF10 00038B70 7C 08 02 A6 */ mflr r0
/* 8003CF14 00038B74 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CF18 00038B78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CF1C 00038B7C 7C 7F 1B 78 */ mr r31, r3
/* 8003CF20 00038B80 48 00 12 3D */ bl func_8003E15C
/* 8003CF24 00038B84 2C 1F 00 00 */ cmpwi r31, 0
/* 8003CF28 00038B88 41 82 00 18 */ beq lbl_8003CF40
/* 8003CF2C 00038B8C 2C 03 00 00 */ cmpwi r3, 0
/* 8003CF30 00038B90 40 82 00 08 */ bne lbl_8003CF38
/* 8003CF34 00038B94 48 00 00 0C */ b lbl_8003CF40
lbl_8003CF38:
/* 8003CF38 00038B98 7F E4 FB 78 */ mr r4, r31
/* 8003CF3C 00038B9C 48 00 12 FD */ bl func_8003E238
lbl_8003CF40:
/* 8003CF40 00038BA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CF44 00038BA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CF48 00038BA8 7C 08 03 A6 */ mtlr r0
/* 8003CF4C 00038BAC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CF50 00038BB0 4E 80 00 20 */ blr
.global func_8003CF54
func_8003CF54:
/* 8003CF54 00038BB4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003CF58 00038BB8 7C 08 02 A6 */ mflr r0
/* 8003CF5C 00038BBC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003CF60 00038BC0 39 61 00 30 */ addi r11, r1, 0x30
/* 8003CF64 00038BC4 48 18 A1 B1 */ bl _savegpr_22
/* 8003CF68 00038BC8 7C 7A 1B 78 */ mr r26, r3
/* 8003CF6C 00038BCC 7C 9B 23 78 */ mr r27, r4
/* 8003CF70 00038BD0 7C BC 2B 78 */ mr r28, r5
/* 8003CF74 00038BD4 7C DD 33 78 */ mr r29, r6
/* 8003CF78 00038BD8 7C FE 3B 78 */ mr r30, r7
/* 8003CF7C 00038BDC 7D 1F 43 78 */ mr r31, r8
/* 8003CF80 00038BE0 48 00 11 DD */ bl func_8003E15C
/* 8003CF84 00038BE4 2C 03 00 00 */ cmpwi r3, 0
/* 8003CF88 00038BE8 7C 78 1B 78 */ mr r24, r3
/* 8003CF8C 00038BEC 40 82 00 0C */ bne lbl_8003CF98
/* 8003CF90 00038BF0 38 60 00 00 */ li r3, 0
/* 8003CF94 00038BF4 48 00 01 14 */ b lbl_8003D0A8
lbl_8003CF98:
/* 8003CF98 00038BF8 7F 64 DB 78 */ mr r4, r27
/* 8003CF9C 00038BFC 7F C6 F3 78 */ mr r6, r30
/* 8003CFA0 00038C00 57 A5 06 3E */ clrlwi r5, r29, 0x18
/* 8003CFA4 00038C04 48 00 16 F5 */ bl func_8003E698
/* 8003CFA8 00038C08 7C 77 1B 78 */ mr r23, r3
/* 8003CFAC 00038C0C 7F 03 C3 78 */ mr r3, r24
/* 8003CFB0 00038C10 7F 64 DB 78 */ mr r4, r27
/* 8003CFB4 00038C14 7F 85 E3 78 */ mr r5, r28
/* 8003CFB8 00038C18 7F C7 F3 78 */ mr r7, r30
/* 8003CFBC 00038C1C 57 A6 06 3E */ clrlwi r6, r29, 0x18
/* 8003CFC0 00038C20 48 00 17 21 */ bl func_8003E6E0
/* 8003CFC4 00038C24 2C 17 00 00 */ cmpwi r23, 0
/* 8003CFC8 00038C28 7C 76 1B 78 */ mr r22, r3
/* 8003CFCC 00038C2C 41 82 00 0C */ beq lbl_8003CFD8
/* 8003CFD0 00038C30 2C 03 00 00 */ cmpwi r3, 0
/* 8003CFD4 00038C34 40 82 00 0C */ bne lbl_8003CFE0
lbl_8003CFD8:
/* 8003CFD8 00038C38 38 60 00 00 */ li r3, 0
/* 8003CFDC 00038C3C 48 00 00 CC */ b lbl_8003D0A8
lbl_8003CFE0:
/* 8003CFE0 00038C40 80 1A 00 00 */ lwz r0, 0(r26)
/* 8003CFE4 00038C44 7F 43 D3 78 */ mr r3, r26
/* 8003CFE8 00038C48 54 18 05 28 */ rlwinm r24, r0, 0, 0x14, 0x14
/* 8003CFEC 00038C4C 4B FF A5 B9 */ bl func_800375A4
/* 8003CFF0 00038C50 80 1A 00 00 */ lwz r0, 0(r26)
/* 8003CFF4 00038C54 7E E3 BB 78 */ mr r3, r23
/* 8003CFF8 00038C58 7E C4 B3 78 */ mr r4, r22
/* 8003CFFC 00038C5C 7C 00 C3 78 */ or r0, r0, r24
/* 8003D000 00038C60 90 1A 00 00 */ stw r0, 0(r26)
/* 8003D004 00038C64 4B FF 9F 85 */ bl func_80036F88
/* 8003D008 00038C68 28 1B 01 47 */ cmplwi r27, 0x147
/* 8003D00C 00038C6C 40 82 00 3C */ bne lbl_8003D048
/* 8003D010 00038C70 3F 00 09 31 */ lis r24, 0x09310C00@ha
/* 8003D014 00038C74 7E E3 BB 78 */ mr r3, r23
/* 8003D018 00038C78 38 98 0C 00 */ addi r4, r24, 0x09310C00@l
/* 8003D01C 00038C7C 4B FF 9F 6D */ bl func_80036F88
/* 8003D020 00038C80 3F 20 09 30 */ lis r25, 0x09300C00@ha
/* 8003D024 00038C84 7E E3 BB 78 */ mr r3, r23
/* 8003D028 00038C88 38 99 0C 00 */ addi r4, r25, 0x09300C00@l
/* 8003D02C 00038C8C 4B FF 9F 5D */ bl func_80036F88
/* 8003D030 00038C90 38 78 0C 00 */ addi r3, r24, 0xc00
/* 8003D034 00038C94 38 19 0C 00 */ addi r0, r25, 0xc00
/* 8003D038 00038C98 92 FA 0C 58 */ stw r23, 0xc58(r26)
/* 8003D03C 00038C9C 90 7A 0C 5C */ stw r3, 0xc5c(r26)
/* 8003D040 00038CA0 92 FA 0C 60 */ stw r23, 0xc60(r26)
/* 8003D044 00038CA4 90 1A 0C 64 */ stw r0, 0xc64(r26)
lbl_8003D048:
/* 8003D048 00038CA8 38 00 00 00 */ li r0, 0
/* 8003D04C 00038CAC 7E E3 BB 78 */ mr r3, r23
/* 8003D050 00038CB0 90 1A 0C D8 */ stw r0, 0xcd8(r26)
/* 8003D054 00038CB4 90 1A 0C E0 */ stw r0, 0xce0(r26)
/* 8003D058 00038CB8 48 20 C8 39 */ bl func_80249890
/* 8003D05C 00038CBC 7E E3 BB 78 */ mr r3, r23
/* 8003D060 00038CC0 48 20 C9 0D */ bl func_8024996C
/* 8003D064 00038CC4 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003D068 00038CC8 48 1E 75 21 */ bl func_80224588
/* 8003D06C 00038CCC 3B 20 00 01 */ li r25, 1
/* 8003D070 00038CD0 B3 7A 05 10 */ sth r27, 0x510(r26)
/* 8003D074 00038CD4 7F 43 D3 78 */ mr r3, r26
/* 8003D078 00038CD8 7E E4 BB 78 */ mr r4, r23
/* 8003D07C 00038CDC B3 DA 05 12 */ sth r30, 0x512(r26)
/* 8003D080 00038CE0 7E C5 B3 78 */ mr r5, r22
/* 8003D084 00038CE4 9B 9A 05 16 */ stb r28, 0x516(r26)
/* 8003D088 00038CE8 B3 BA 05 14 */ sth r29, 0x514(r26)
/* 8003D08C 00038CEC 93 FA 05 18 */ stw r31, 0x518(r26)
/* 8003D090 00038CF0 B3 3A 05 0C */ sth r25, 0x50c(r26)
/* 8003D094 00038CF4 4B FF A8 91 */ bl func_80037924
/* 8003D098 00038CF8 B3 3A 05 0C */ sth r25, 0x50c(r26)
/* 8003D09C 00038CFC 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003D0A0 00038D00 48 1E 74 E9 */ bl func_80224588
/* 8003D0A4 00038D04 38 60 00 01 */ li r3, 1
lbl_8003D0A8:
/* 8003D0A8 00038D08 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D0AC 00038D0C 48 18 A0 B5 */ bl _restgpr_22
/* 8003D0B0 00038D10 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003D0B4 00038D14 7C 08 03 A6 */ mtlr r0
/* 8003D0B8 00038D18 38 21 00 30 */ addi r1, r1, 0x30
/* 8003D0BC 00038D1C 4E 80 00 20 */ blr
.global func_8003D0C0
func_8003D0C0:
/* 8003D0C0 00038D20 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003D0C4 00038D24 7C 08 02 A6 */ mflr r0
/* 8003D0C8 00038D28 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003D0CC 00038D2C 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D0D0 00038D30 48 18 A0 49 */ bl _savegpr_23
/* 8003D0D4 00038D34 3F 00 80 64 */ lis r24, lbl_8063CE34@ha
/* 8003D0D8 00038D38 7C 7A 1B 78 */ mr r26, r3
/* 8003D0DC 00038D3C 3B 18 CE 34 */ addi r24, r24, lbl_8063CE34@l
/* 8003D0E0 00038D40 7C 9B 23 78 */ mr r27, r4
/* 8003D0E4 00038D44 7C BC 2B 78 */ mr r28, r5
/* 8003D0E8 00038D48 7C DD 33 78 */ mr r29, r6
/* 8003D0EC 00038D4C 7C FE 3B 78 */ mr r30, r7
/* 8003D0F0 00038D50 38 78 00 28 */ addi r3, r24, 0x28
/* 8003D0F4 00038D54 48 35 8C F1 */ bl func_80395DE4
/* 8003D0F8 00038D58 7C 1B 18 40 */ cmplw r27, r3
/* 8003D0FC 00038D5C 41 80 00 0C */ blt lbl_8003D108
/* 8003D100 00038D60 38 60 00 00 */ li r3, 0
/* 8003D104 00038D64 48 00 01 84 */ b lbl_8003D288
lbl_8003D108:
/* 8003D108 00038D68 2C 1C 00 00 */ cmpwi r28, 0
/* 8003D10C 00038D6C 41 82 00 28 */ beq lbl_8003D134
/* 8003D110 00038D70 7F 64 DB 78 */ mr r4, r27
/* 8003D114 00038D74 38 78 00 28 */ addi r3, r24, 0x28
/* 8003D118 00038D78 48 35 8D C1 */ bl func_80395ED8
/* 8003D11C 00038D7C 7C 7F 1B 78 */ mr r31, r3
/* 8003D120 00038D80 7F 64 DB 78 */ mr r4, r27
/* 8003D124 00038D84 38 78 00 28 */ addi r3, r24, 0x28
/* 8003D128 00038D88 48 35 8D E5 */ bl func_80395F0C
/* 8003D12C 00038D8C 7C 77 1B 78 */ mr r23, r3
/* 8003D130 00038D90 48 00 00 24 */ b lbl_8003D154
lbl_8003D134:
/* 8003D134 00038D94 7F 64 DB 78 */ mr r4, r27
/* 8003D138 00038D98 38 78 00 28 */ addi r3, r24, 0x28
/* 8003D13C 00038D9C 48 35 8D 35 */ bl func_80395E70
/* 8003D140 00038DA0 7C 7F 1B 78 */ mr r31, r3
/* 8003D144 00038DA4 7F 64 DB 78 */ mr r4, r27
/* 8003D148 00038DA8 38 78 00 28 */ addi r3, r24, 0x28
/* 8003D14C 00038DAC 48 35 8D 59 */ bl func_80395EA4
/* 8003D150 00038DB0 7C 77 1B 78 */ mr r23, r3
lbl_8003D154:
/* 8003D154 00038DB4 2C 1F 00 00 */ cmpwi r31, 0
/* 8003D158 00038DB8 41 82 00 0C */ beq lbl_8003D164
/* 8003D15C 00038DBC 2C 17 00 00 */ cmpwi r23, 0
/* 8003D160 00038DC0 40 82 00 0C */ bne lbl_8003D16C
lbl_8003D164:
/* 8003D164 00038DC4 38 60 00 00 */ li r3, 0
/* 8003D168 00038DC8 48 00 01 20 */ b lbl_8003D288
lbl_8003D16C:
/* 8003D16C 00038DCC 80 1A 00 00 */ lwz r0, 0(r26)
/* 8003D170 00038DD0 7F 43 D3 78 */ mr r3, r26
/* 8003D174 00038DD4 54 18 05 28 */ rlwinm r24, r0, 0, 0x14, 0x14
/* 8003D178 00038DD8 4B FF A4 2D */ bl func_800375A4
/* 8003D17C 00038DDC 80 9A 00 00 */ lwz r4, 0(r26)
/* 8003D180 00038DE0 7F 80 00 34 */ cntlzw r0, r28
/* 8003D184 00038DE4 38 BB 03 E7 */ addi r5, r27, 0x3e7
/* 8003D188 00038DE8 7F E3 FB 78 */ mr r3, r31
/* 8003D18C 00038DEC 7C 84 C3 78 */ or r4, r4, r24
/* 8003D190 00038DF0 54 00 DC 3E */ rlwinm r0, r0, 0x1b, 0x10, 0x1f
/* 8003D194 00038DF4 90 9A 00 00 */ stw r4, 0(r26)
/* 8003D198 00038DF8 7E E4 BB 78 */ mr r4, r23
/* 8003D19C 00038DFC B0 BA 05 10 */ sth r5, 0x510(r26)
/* 8003D1A0 00038E00 B0 1A 05 14 */ sth r0, 0x514(r26)
/* 8003D1A4 00038E04 48 19 E3 19 */ bl func_801DB4BC
/* 8003D1A8 00038E08 7F A0 07 75 */ extsb. r0, r29
/* 8003D1AC 00038E0C B3 7A 05 1C */ sth r27, 0x51c(r26)
/* 8003D1B0 00038E10 7C 78 1B 78 */ mr r24, r3
/* 8003D1B4 00038E14 9B 9A 05 20 */ stb r28, 0x520(r26)
/* 8003D1B8 00038E18 41 80 00 08 */ blt lbl_8003D1C0
/* 8003D1BC 00038E1C 9B BA 05 21 */ stb r29, 0x521(r26)
lbl_8003D1C0:
/* 8003D1C0 00038E20 3F 20 80 64 */ lis r25, lbl_8063CE34@ha
/* 8003D1C4 00038E24 7F 64 DB 78 */ mr r4, r27
/* 8003D1C8 00038E28 3B 39 CE 34 */ addi r25, r25, lbl_8063CE34@l
/* 8003D1CC 00038E2C 38 79 00 28 */ addi r3, r25, 0x28
/* 8003D1D0 00038E30 48 35 8C 31 */ bl func_80395E00
/* 8003D1D4 00038E34 2C 03 00 00 */ cmpwi r3, 0
/* 8003D1D8 00038E38 41 82 00 34 */ beq lbl_8003D20C
/* 8003D1DC 00038E3C 7F 64 DB 78 */ mr r4, r27
/* 8003D1E0 00038E40 38 79 00 28 */ addi r3, r25, 0x28
/* 8003D1E4 00038E44 48 35 8C 55 */ bl func_80395E38
/* 8003D1E8 00038E48 B0 7A 05 1E */ sth r3, 0x51e(r26)
/* 8003D1EC 00038E4C 7F 64 DB 78 */ mr r4, r27
/* 8003D1F0 00038E50 7F 85 E3 78 */ mr r5, r28
/* 8003D1F4 00038E54 7F C7 F3 78 */ mr r7, r30
/* 8003D1F8 00038E58 38 7A 05 24 */ addi r3, r26, 0x524
/* 8003D1FC 00038E5C 7F A6 07 74 */ extsb r6, r29
/* 8003D200 00038E60 39 00 00 01 */ li r8, 1
/* 8003D204 00038E64 48 00 20 99 */ bl func_8003F29C
/* 8003D208 00038E68 48 00 00 54 */ b lbl_8003D25C
lbl_8003D20C:
/* 8003D20C 00038E6C 38 00 FF FF */ li r0, -1
/* 8003D210 00038E70 38 7A 05 24 */ addi r3, r26, 0x524
/* 8003D214 00038E74 B0 1A 05 1E */ sth r0, 0x51e(r26)
/* 8003D218 00038E78 48 00 17 89 */ bl func_8003E9A0
/* 8003D21C 00038E7C 2C 18 00 00 */ cmpwi r24, 0
/* 8003D220 00038E80 40 82 00 30 */ bne lbl_8003D250
/* 8003D224 00038E84 7F E3 FB 78 */ mr r3, r31
/* 8003D228 00038E88 7E E4 BB 78 */ mr r4, r23
/* 8003D22C 00038E8C 48 20 C5 F1 */ bl func_8024981C
/* 8003D230 00038E90 48 00 00 0C */ b lbl_8003D23C
lbl_8003D234:
/* 8003D234 00038E94 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003D238 00038E98 48 1E 73 51 */ bl func_80224588
lbl_8003D23C:
/* 8003D23C 00038E9C 7F E3 FB 78 */ mr r3, r31
/* 8003D240 00038EA0 7E E4 BB 78 */ mr r4, r23
/* 8003D244 00038EA4 48 19 E2 79 */ bl func_801DB4BC
/* 8003D248 00038EA8 2C 03 00 00 */ cmpwi r3, 0
/* 8003D24C 00038EAC 41 82 FF E8 */ beq lbl_8003D234
lbl_8003D250:
/* 8003D250 00038EB0 7F E3 FB 78 */ mr r3, r31
/* 8003D254 00038EB4 7E E4 BB 78 */ mr r4, r23
/* 8003D258 00038EB8 48 19 E2 A5 */ bl func_801DB4FC
lbl_8003D25C:
/* 8003D25C 00038EBC 7F 43 D3 78 */ mr r3, r26
/* 8003D260 00038EC0 7F E4 FB 78 */ mr r4, r31
/* 8003D264 00038EC4 7E E5 BB 78 */ mr r5, r23
/* 8003D268 00038EC8 4B FF A6 BD */ bl func_80037924
/* 8003D26C 00038ECC 38 00 00 02 */ li r0, 2
/* 8003D270 00038ED0 7F E3 FB 78 */ mr r3, r31
/* 8003D274 00038ED4 B0 1A 05 0C */ sth r0, 0x50c(r26)
/* 8003D278 00038ED8 48 20 C6 19 */ bl func_80249890
/* 8003D27C 00038EDC 7F E3 FB 78 */ mr r3, r31
/* 8003D280 00038EE0 48 20 C6 ED */ bl func_8024996C
/* 8003D284 00038EE4 38 60 00 01 */ li r3, 1
lbl_8003D288:
/* 8003D288 00038EE8 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D28C 00038EEC 48 18 9E D9 */ bl _restgpr_23
/* 8003D290 00038EF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003D294 00038EF4 7C 08 03 A6 */ mtlr r0
/* 8003D298 00038EF8 38 21 00 30 */ addi r1, r1, 0x30
/* 8003D29C 00038EFC 4E 80 00 20 */ blr
.global func_8003D2A0
func_8003D2A0:
/* 8003D2A0 00038F00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003D2A4 00038F04 7C 08 02 A6 */ mflr r0
/* 8003D2A8 00038F08 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003D2AC 00038F0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003D2B0 00038F10 7C 7F 1B 78 */ mr r31, r3
/* 8003D2B4 00038F14 48 00 0E A9 */ bl func_8003E15C
/* 8003D2B8 00038F18 2C 03 00 00 */ cmpwi r3, 0
/* 8003D2BC 00038F1C 41 82 00 20 */ beq lbl_8003D2DC
/* 8003D2C0 00038F20 A0 1F 05 14 */ lhz r0, 0x514(r31)
/* 8003D2C4 00038F24 38 C0 00 00 */ li r6, 0
/* 8003D2C8 00038F28 A0 9F 05 10 */ lhz r4, 0x510(r31)
/* 8003D2CC 00038F2C 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8003D2D0 00038F30 48 00 12 75 */ bl func_8003E544
/* 8003D2D4 00038F34 7C 64 1B 78 */ mr r4, r3
/* 8003D2D8 00038F38 48 00 00 0C */ b lbl_8003D2E4
lbl_8003D2DC:
/* 8003D2DC 00038F3C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D2E0 00038F40 48 00 00 10 */ b lbl_8003D2F0
lbl_8003D2E4:
/* 8003D2E4 00038F44 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003D2E8 00038F48 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8003D2EC 00038F4C 48 35 40 C9 */ bl func_803913B4
lbl_8003D2F0:
/* 8003D2F0 00038F50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003D2F4 00038F54 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003D2F8 00038F58 7C 08 03 A6 */ mtlr r0
/* 8003D2FC 00038F5C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003D300 00038F60 4E 80 00 20 */ blr
.global func_8003D304
func_8003D304:
/* 8003D304 00038F64 2C 04 00 00 */ cmpwi r4, 0
/* 8003D308 00038F68 7C 87 23 78 */ mr r7, r4
/* 8003D30C 00038F6C 40 82 00 0C */ bne lbl_8003D318
/* 8003D310 00038F70 38 60 00 00 */ li r3, 0
/* 8003D314 00038F74 4E 80 00 20 */ blr
lbl_8003D318:
/* 8003D318 00038F78 A0 84 00 00 */ lhz r4, 0(r4)
/* 8003D31C 00038F7C 7C C6 07 74 */ extsb r6, r6
/* 8003D320 00038F80 38 E7 00 02 */ addi r7, r7, 2
/* 8003D324 00038F84 4B FF FD 9C */ b func_8003D0C0
/* 8003D328 00038F88 4E 80 00 20 */ blr
.global func_8003D32C
func_8003D32C:
/* 8003D32C 00038F8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003D330 00038F90 7C 08 02 A6 */ mflr r0
/* 8003D334 00038F94 3C C0 80 64 */ lis r6, lbl_8063CE34@ha
/* 8003D338 00038F98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003D33C 00038F9C 38 C6 CE 34 */ addi r6, r6, lbl_8063CE34@l
/* 8003D340 00038FA0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003D344 00038FA4 3B E0 00 00 */ li r31, 0
/* 8003D348 00038FA8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003D34C 00038FAC 7C BE 2B 78 */ mr r30, r5
/* 8003D350 00038FB0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003D354 00038FB4 7C 9D 23 78 */ mr r29, r4
/* 8003D358 00038FB8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003D35C 00038FBC 7C 7C 1B 78 */ mr r28, r3
/* 8003D360 00038FC0 A0 83 05 1C */ lhz r4, 0x51c(r3)
/* 8003D364 00038FC4 38 66 00 28 */ addi r3, r6, 0x28
/* 8003D368 00038FC8 48 35 8A 99 */ bl func_80395E00
/* 8003D36C 00038FCC 2C 03 00 00 */ cmpwi r3, 0
/* 8003D370 00038FD0 41 82 00 24 */ beq lbl_8003D394
/* 8003D374 00038FD4 7F A4 EB 78 */ mr r4, r29
/* 8003D378 00038FD8 7F C5 F3 78 */ mr r5, r30
/* 8003D37C 00038FDC 38 7C 05 24 */ addi r3, r28, 0x524
/* 8003D380 00038FE0 48 00 21 A9 */ bl func_8003F528
/* 8003D384 00038FE4 80 1C 00 00 */ lwz r0, 0(r28)
/* 8003D388 00038FE8 7C 7F 1B 78 */ mr r31, r3
/* 8003D38C 00038FEC 60 00 02 00 */ ori r0, r0, 0x200
/* 8003D390 00038FF0 90 1C 00 00 */ stw r0, 0(r28)
lbl_8003D394:
/* 8003D394 00038FF4 7F E3 FB 78 */ mr r3, r31
/* 8003D398 00038FF8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003D39C 00038FFC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003D3A0 00039000 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003D3A4 00039004 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003D3A8 00039008 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003D3AC 0003900C 7C 08 03 A6 */ mtlr r0
/* 8003D3B0 00039010 38 21 00 20 */ addi r1, r1, 0x20
/* 8003D3B4 00039014 4E 80 00 20 */ blr
.global func_8003D3B8
func_8003D3B8:
/* 8003D3B8 00039018 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003D3BC 0003901C 7C 08 02 A6 */ mflr r0
/* 8003D3C0 00039020 3C A0 80 64 */ lis r5, lbl_8063CE34@ha
/* 8003D3C4 00039024 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003D3C8 00039028 38 A5 CE 34 */ addi r5, r5, lbl_8063CE34@l
/* 8003D3CC 0003902C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003D3D0 00039030 3B E0 00 00 */ li r31, 0
/* 8003D3D4 00039034 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003D3D8 00039038 7C 9E 23 78 */ mr r30, r4
/* 8003D3DC 0003903C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003D3E0 00039040 7C 7D 1B 78 */ mr r29, r3
/* 8003D3E4 00039044 A0 83 05 1C */ lhz r4, 0x51c(r3)
/* 8003D3E8 00039048 38 65 00 28 */ addi r3, r5, 0x28
/* 8003D3EC 0003904C 48 35 8A 15 */ bl func_80395E00
/* 8003D3F0 00039050 2C 03 00 00 */ cmpwi r3, 0
/* 8003D3F4 00039054 41 82 00 20 */ beq lbl_8003D414
/* 8003D3F8 00039058 7F C4 F3 78 */ mr r4, r30
/* 8003D3FC 0003905C 38 7D 05 24 */ addi r3, r29, 0x524
/* 8003D400 00039060 48 00 22 05 */ bl func_8003F604
/* 8003D404 00039064 80 1D 00 00 */ lwz r0, 0(r29)
/* 8003D408 00039068 7C 7F 1B 78 */ mr r31, r3
/* 8003D40C 0003906C 60 00 02 00 */ ori r0, r0, 0x200
/* 8003D410 00039070 90 1D 00 00 */ stw r0, 0(r29)
lbl_8003D414:
/* 8003D414 00039074 7F E3 FB 78 */ mr r3, r31
/* 8003D418 00039078 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003D41C 0003907C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003D420 00039080 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003D424 00039084 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003D428 00039088 7C 08 03 A6 */ mtlr r0
/* 8003D42C 0003908C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003D430 00039090 4E 80 00 20 */ blr
.global func_8003D434
func_8003D434:
/* 8003D434 00039094 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003D438 00039098 7C 08 02 A6 */ mflr r0
/* 8003D43C 0003909C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003D440 000390A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003D444 000390A4 7C 7F 1B 78 */ mr r31, r3
/* 8003D448 000390A8 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003D44C 000390AC 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8003D450 000390B0 A0 9F 05 1C */ lhz r4, 0x51c(r31)
/* 8003D454 000390B4 38 63 00 28 */ addi r3, r3, 0x28
/* 8003D458 000390B8 48 35 89 A9 */ bl func_80395E00
/* 8003D45C 000390BC 2C 03 00 00 */ cmpwi r3, 0
/* 8003D460 000390C0 41 82 00 18 */ beq lbl_8003D478
/* 8003D464 000390C4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8003D468 000390C8 38 7F 05 24 */ addi r3, r31, 0x524
/* 8003D46C 000390CC 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 8003D470 000390D0 54 05 AF FE */ rlwinm r5, r0, 0x15, 0x1f, 0x1f
/* 8003D474 000390D4 48 00 22 81 */ bl func_8003F6F4
lbl_8003D478:
/* 8003D478 000390D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003D47C 000390DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003D480 000390E0 7C 08 03 A6 */ mtlr r0
/* 8003D484 000390E4 38 21 00 10 */ addi r1, r1, 0x10
/* 8003D488 000390E8 4E 80 00 20 */ blr
.global func_8003D48C
func_8003D48C:
/* 8003D48C 000390EC 2C 04 00 00 */ cmpwi r4, 0
/* 8003D490 000390F0 41 82 00 14 */ beq lbl_8003D4A4
/* 8003D494 000390F4 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D498 000390F8 60 00 08 00 */ ori r0, r0, 0x800
/* 8003D49C 000390FC 90 03 00 00 */ stw r0, 0(r3)
/* 8003D4A0 00039100 4E 80 00 20 */ blr
lbl_8003D4A4:
/* 8003D4A4 00039104 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D4A8 00039108 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13
/* 8003D4AC 0003910C 90 03 00 00 */ stw r0, 0(r3)
/* 8003D4B0 00039110 4E 80 00 20 */ blr
.global func_8003D4B4
func_8003D4B4:
/* 8003D4B4 00039114 38 80 00 00 */ li r4, 0
/* 8003D4B8 00039118 48 00 00 1C */ b lbl_8003D4D4
.global func_8003D4BC
func_8003D4BC:
/* 8003D4BC 0003911C 38 80 00 01 */ li r4, 1
/* 8003D4C0 00039120 48 00 00 14 */ b lbl_8003D4D4
.global func_8003D4C4
func_8003D4C4:
/* 8003D4C4 00039124 38 80 00 02 */ li r4, 2
/* 8003D4C8 00039128 48 00 00 0C */ b lbl_8003D4D4
.global func_8003D4CC
func_8003D4CC:
/* 8003D4CC 0003912C 38 80 00 03 */ li r4, 3
/* 8003D4D0 00039130 48 00 00 04 */ b lbl_8003D4D4
lbl_8003D4D4:
/* 8003D4D4 00039134 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003D4D8 00039138 7C 08 02 A6 */ mflr r0
/* 8003D4DC 0003913C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003D4E0 00039140 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D4E4 00039144 48 18 9C 45 */ bl _savegpr_27
/* 8003D4E8 00039148 2C 04 00 02 */ cmpwi r4, 2
/* 8003D4EC 0003914C 7C 7D 1B 78 */ mr r29, r3
/* 8003D4F0 00039150 7C 9E 23 78 */ mr r30, r4
/* 8003D4F4 00039154 41 82 00 84 */ beq lbl_8003D578
/* 8003D4F8 00039158 40 80 00 14 */ bge lbl_8003D50C
/* 8003D4FC 0003915C 2C 04 00 00 */ cmpwi r4, 0
/* 8003D500 00039160 41 82 00 18 */ beq lbl_8003D518
/* 8003D504 00039164 40 80 00 50 */ bge lbl_8003D554
/* 8003D508 00039168 48 00 02 EC */ b lbl_8003D7F4
lbl_8003D50C:
/* 8003D50C 0003916C 2C 04 00 04 */ cmpwi r4, 4
/* 8003D510 00039170 40 80 02 E4 */ bge lbl_8003D7F4
/* 8003D514 00039174 48 00 00 88 */ b lbl_8003D59C
lbl_8003D518:
/* 8003D518 00039178 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D51C 0003917C 3C 80 19 F9 */ lis r4, 0x19F90A00@ha
/* 8003D520 00039180 80 A3 0C 04 */ lwz r5, 0xc04(r3)
/* 8003D524 00039184 3B E4 0A 00 */ addi r31, r4, 0x19F90A00@l
/* 8003D528 00039188 80 83 00 00 */ lwz r4, 0(r3)
/* 8003D52C 0003918C 60 00 40 00 */ ori r0, r0, 0x4000
/* 8003D530 00039190 2C 05 00 00 */ cmpwi r5, 0
/* 8003D534 00039194 3B 60 00 00 */ li r27, 0
/* 8003D538 00039198 90 03 00 00 */ stw r0, 0(r3)
/* 8003D53C 0003919C 54 9C 97 FE */ rlwinm r28, r4, 0x12, 0x1f, 0x1f
/* 8003D540 000391A0 41 82 00 B8 */ beq lbl_8003D5F8
/* 8003D544 000391A4 A0 05 00 DC */ lhz r0, 0xdc(r5)
/* 8003D548 000391A8 60 00 00 10 */ ori r0, r0, 0x10
/* 8003D54C 000391AC B0 05 00 DC */ sth r0, 0xdc(r5)
/* 8003D550 000391B0 48 00 00 A8 */ b lbl_8003D5F8
lbl_8003D554:
/* 8003D554 000391B4 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D558 000391B8 3C 80 1C F7 */ lis r4, 0x1CF70A00@ha
/* 8003D55C 000391BC 80 A3 00 00 */ lwz r5, 0(r3)
/* 8003D560 000391C0 3B E4 0A 00 */ addi r31, r4, 0x1CF70A00@l
/* 8003D564 000391C4 64 00 00 08 */ oris r0, r0, 8
/* 8003D568 000391C8 3B 60 FF FE */ li r27, -2
/* 8003D56C 000391CC 90 03 00 00 */ stw r0, 0(r3)
/* 8003D570 000391D0 54 BC 6F FE */ rlwinm r28, r5, 0xd, 0x1f, 0x1f
/* 8003D574 000391D4 48 00 00 84 */ b lbl_8003D5F8
lbl_8003D578:
/* 8003D578 000391D8 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D57C 000391DC 3C 80 1C F6 */ lis r4, 0x1CF60A00@ha
/* 8003D580 000391E0 80 A3 00 00 */ lwz r5, 0(r3)
/* 8003D584 000391E4 3B E4 0A 00 */ addi r31, r4, 0x1CF60A00@l
/* 8003D588 000391E8 64 00 00 10 */ oris r0, r0, 0x10
/* 8003D58C 000391EC 3B 60 FF FE */ li r27, -2
/* 8003D590 000391F0 90 03 00 00 */ stw r0, 0(r3)
/* 8003D594 000391F4 54 BC 67 FE */ rlwinm r28, r5, 0xc, 0x1f, 0x1f
/* 8003D598 000391F8 48 00 00 60 */ b lbl_8003D5F8
lbl_8003D59C:
/* 8003D59C 000391FC 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D5A0 00039200 3C 80 19 FB */ lis r4, 0x19FB0A00@ha
/* 8003D5A4 00039204 3B E4 0A 00 */ addi r31, r4, 0x19FB0A00@l
/* 8003D5A8 00039208 3B 60 00 01 */ li r27, 1
/* 8003D5AC 0003920C 54 1C 9F FE */ rlwinm r28, r0, 0x13, 0x1f, 0x1f
/* 8003D5B0 00039210 38 80 00 14 */ li r4, 0x14
/* 8003D5B4 00039214 4B FF EC A9 */ bl func_8003C25C
/* 8003D5B8 00039218 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8003D5BC 0003921C 28 04 00 FF */ cmplwi r4, 0xff
/* 8003D5C0 00039220 40 80 00 24 */ bge lbl_8003D5E4
/* 8003D5C4 00039224 80 7D 0C 04 */ lwz r3, 0xc04(r29)
/* 8003D5C8 00039228 38 A0 00 00 */ li r5, 0
/* 8003D5CC 0003922C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D5D0 00039230 38 C0 00 01 */ li r6, 1
/* 8003D5D4 00039234 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003D5D8 00039238 38 E0 00 01 */ li r7, 1
/* 8003D5DC 0003923C 39 00 00 00 */ li r8, 0
/* 8003D5E0 00039240 48 1B 78 15 */ bl func_801F4DF4
lbl_8003D5E4:
/* 8003D5E4 00039244 80 1D 00 00 */ lwz r0, 0(r29)
/* 8003D5E8 00039248 60 00 20 00 */ ori r0, r0, 0x2000
/* 8003D5EC 0003924C 90 1D 00 00 */ stw r0, 0(r29)
/* 8003D5F0 00039250 48 00 00 08 */ b lbl_8003D5F8
/* 8003D5F4 00039254 48 00 02 00 */ b lbl_8003D7F4
lbl_8003D5F8:
/* 8003D5F8 00039258 2C 1C 00 00 */ cmpwi r28, 0
/* 8003D5FC 0003925C 40 82 01 A4 */ bne lbl_8003D7A0
/* 8003D600 00039260 7F A3 EB 78 */ mr r3, r29
/* 8003D604 00039264 7F 64 DB 78 */ mr r4, r27
/* 8003D608 00039268 4B FF C2 E5 */ bl func_800398EC
/* 8003D60C 0003926C 2C 03 00 00 */ cmpwi r3, 0
/* 8003D610 00039270 7C 7B 1B 78 */ mr r27, r3
/* 8003D614 00039274 41 82 01 E0 */ beq lbl_8003D7F4
/* 8003D618 00039278 57 E0 00 5E */ rlwinm r0, r31, 0, 1, 0xf
/* 8003D61C 0003927C 38 60 00 0C */ li r3, 0xc
/* 8003D620 00039280 60 04 0E 00 */ ori r4, r0, 0xe00
/* 8003D624 00039284 48 19 DE 99 */ bl func_801DB4BC
/* 8003D628 00039288 2C 03 00 00 */ cmpwi r3, 0
/* 8003D62C 0003928C 7C 7C 1B 78 */ mr r28, r3
/* 8003D630 00039290 41 82 01 C4 */ beq lbl_8003D7F4
/* 8003D634 00039294 57 C0 10 3A */ slwi r0, r30, 2
/* 8003D638 00039298 7F FD 02 14 */ add r31, r29, r0
/* 8003D63C 0003929C 80 7F 0C 90 */ lwz r3, 0xc90(r31)
/* 8003D640 000392A0 2C 03 00 00 */ cmpwi r3, 0
/* 8003D644 000392A4 41 82 00 1C */ beq lbl_8003D660
/* 8003D648 000392A8 41 82 00 18 */ beq lbl_8003D660
/* 8003D64C 000392AC 81 83 01 00 */ lwz r12, 0x100(r3)
/* 8003D650 000392B0 38 80 00 01 */ li r4, 1
/* 8003D654 000392B4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003D658 000392B8 7D 89 03 A6 */ mtctr r12
/* 8003D65C 000392BC 4E 80 04 21 */ bctrl
lbl_8003D660:
/* 8003D660 000392C0 48 19 D4 C9 */ bl func_801DAB28
/* 8003D664 000392C4 2C 03 00 00 */ cmpwi r3, 0
/* 8003D668 000392C8 41 82 00 14 */ beq lbl_8003D67C
/* 8003D66C 000392CC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8003D670 000392D0 38 80 01 40 */ li r4, 0x140
/* 8003D674 000392D4 48 19 D6 21 */ bl func_801DAC94
/* 8003D678 000392D8 48 00 00 08 */ b lbl_8003D680
lbl_8003D67C:
/* 8003D67C 000392DC 38 60 00 00 */ li r3, 0
lbl_8003D680:
/* 8003D680 000392E0 2C 03 00 00 */ cmpwi r3, 0
/* 8003D684 000392E4 7C 65 1B 78 */ mr r5, r3
/* 8003D688 000392E8 41 82 00 10 */ beq lbl_8003D698
/* 8003D68C 000392EC 7F 84 E3 78 */ mr r4, r28
/* 8003D690 000392F0 48 1B C2 5D */ bl func_801F98EC
/* 8003D694 000392F4 7C 65 1B 78 */ mr r5, r3
lbl_8003D698:
/* 8003D698 000392F8 90 BF 0C 90 */ stw r5, 0xc90(r31)
/* 8003D69C 000392FC 7F 63 DB 78 */ mr r3, r27
/* 8003D6A0 00039300 38 80 00 01 */ li r4, 1
/* 8003D6A4 00039304 38 C0 00 00 */ li r6, 0
/* 8003D6A8 00039308 38 E0 00 03 */ li r7, 3
/* 8003D6AC 0003930C 48 1B 4A E1 */ bl func_801F218C
/* 8003D6B0 00039310 7F A3 EB 78 */ mr r3, r29
/* 8003D6B4 00039314 4B FF C0 21 */ bl func_800396D4
/* 8003D6B8 00039318 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2)
/* 8003D6BC 0003931C 48 01 0D E1 */ bl func_8004E49C
/* 8003D6C0 00039320 FC 00 08 18 */ frsp f0, f1
/* 8003D6C4 00039324 80 7F 0C 90 */ lwz r3, 0xc90(r31)
/* 8003D6C8 00039328 C0 42 82 70 */ lfs f2, lbl_80640870-_SDA2_BASE_(r2)
/* 8003D6CC 0003932C D0 21 00 08 */ stfs f1, 8(r1)
/* 8003D6D0 00039330 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 8003D6D4 00039334 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 8003D6D8 00039338 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 8003D6DC 0003933C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8003D6E0 00039340 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8003D6E4 00039344 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 8003D6E8 00039348 40 80 00 2C */ bge lbl_8003D714
/* 8003D6EC 0003934C C0 23 00 48 */ lfs f1, 0x48(r3)
/* 8003D6F0 00039350 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 8003D6F4 00039354 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8003D6F8 00039358 40 81 00 1C */ ble lbl_8003D714
/* 8003D6FC 0003935C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D700 00039360 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003D704 00039364 40 80 00 08 */ bge lbl_8003D70C
/* 8003D708 00039368 48 00 00 08 */ b lbl_8003D710
lbl_8003D70C:
/* 8003D70C 0003936C FC 60 10 90 */ fmr f3, f2
lbl_8003D710:
/* 8003D710 00039370 D0 63 00 48 */ stfs f3, 0x48(r3)
lbl_8003D714:
/* 8003D714 00039374 C0 43 00 4C */ lfs f2, 0x4c(r3)
/* 8003D718 00039378 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2)
/* 8003D71C 0003937C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8003D720 00039380 40 80 00 28 */ bge lbl_8003D748
/* 8003D724 00039384 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 8003D728 00039388 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 8003D72C 0003938C 40 81 00 1C */ ble lbl_8003D748
/* 8003D730 00039390 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D734 00039394 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003D738 00039398 40 80 00 08 */ bge lbl_8003D740
/* 8003D73C 0003939C 48 00 00 08 */ b lbl_8003D744
lbl_8003D740:
/* 8003D740 000393A0 FC 60 08 90 */ fmr f3, f1
lbl_8003D744:
/* 8003D744 000393A4 D0 63 00 4C */ stfs f3, 0x4c(r3)
lbl_8003D748:
/* 8003D748 000393A8 C0 43 00 50 */ lfs f2, 0x50(r3)
/* 8003D74C 000393AC C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2)
/* 8003D750 000393B0 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8003D754 000393B4 40 80 00 28 */ bge lbl_8003D77C
/* 8003D758 000393B8 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2)
/* 8003D75C 000393BC FC 02 18 40 */ fcmpo cr0, f2, f3
/* 8003D760 000393C0 40 81 00 1C */ ble lbl_8003D77C
/* 8003D764 000393C4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D768 000393C8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003D76C 000393CC 40 80 00 08 */ bge lbl_8003D774
/* 8003D770 000393D0 48 00 00 08 */ b lbl_8003D778
lbl_8003D774:
/* 8003D774 000393D4 FC 60 08 90 */ fmr f3, f1
lbl_8003D778:
/* 8003D778 000393D8 D0 63 00 50 */ stfs f3, 0x50(r3)
lbl_8003D77C:
/* 8003D77C 000393DC 38 80 00 01 */ li r4, 1
/* 8003D780 000393E0 48 1B 4F 39 */ bl func_801F26B8
/* 8003D784 000393E4 80 7F 0C 90 */ lwz r3, 0xc90(r31)
/* 8003D788 000393E8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D78C 000393EC 80 03 01 04 */ lwz r0, 0x104(r3)
/* 8003D790 000393F0 60 00 00 01 */ ori r0, r0, 1
/* 8003D794 000393F4 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c
/* 8003D798 000393F8 90 03 01 04 */ stw r0, 0x104(r3)
/* 8003D79C 000393FC D0 03 01 08 */ stfs f0, 0x108(r3)
lbl_8003D7A0:
/* 8003D7A0 00039400 2C 1E 00 01 */ cmpwi r30, 1
/* 8003D7A4 00039404 41 82 00 18 */ beq lbl_8003D7BC
/* 8003D7A8 00039408 2C 1E 00 02 */ cmpwi r30, 2
/* 8003D7AC 0003940C 41 82 00 10 */ beq lbl_8003D7BC
/* 8003D7B0 00039410 80 1D 00 00 */ lwz r0, 0(r29)
/* 8003D7B4 00039414 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9
/* 8003D7B8 00039418 41 82 00 3C */ beq lbl_8003D7F4
lbl_8003D7BC:
/* 8003D7BC 0003941C 80 1D 00 00 */ lwz r0, 0(r29)
/* 8003D7C0 00039420 7F A3 EB 78 */ mr r3, r29
/* 8003D7C4 00039424 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8003D7C8 00039428 7C 00 00 34 */ cntlzw r0, r0
/* 8003D7CC 0003942C 54 04 D9 7E */ srwi r4, r0, 5
/* 8003D7D0 00039430 4B FF A5 5D */ bl func_80037D2C
/* 8003D7D4 00039434 80 1D 00 00 */ lwz r0, 0(r29)
/* 8003D7D8 00039438 7F A3 EB 78 */ mr r3, r29
/* 8003D7DC 0003943C 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8003D7E0 00039440 7C 00 00 34 */ cntlzw r0, r0
/* 8003D7E4 00039444 54 04 D9 7E */ srwi r4, r0, 5
/* 8003D7E8 00039448 4B FF A5 45 */ bl func_80037D2C
/* 8003D7EC 0003944C 7F A3 EB 78 */ mr r3, r29
/* 8003D7F0 00039450 4B FF A8 31 */ bl func_80038020
lbl_8003D7F4:
/* 8003D7F4 00039454 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D7F8 00039458 48 18 99 7D */ bl _restgpr_27
/* 8003D7FC 0003945C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003D800 00039460 7C 08 03 A6 */ mtlr r0
/* 8003D804 00039464 38 21 00 30 */ addi r1, r1, 0x30
/* 8003D808 00039468 4E 80 00 20 */ blr
.global func_8003D80C
func_8003D80C:
/* 8003D80C 0003946C 38 80 00 00 */ li r4, 0
/* 8003D810 00039470 48 00 00 1C */ b lbl_8003D82C
.global func_8003D814
func_8003D814:
/* 8003D814 00039474 38 80 00 01 */ li r4, 1
/* 8003D818 00039478 48 00 00 14 */ b lbl_8003D82C
.global func_8003D81C
func_8003D81C:
/* 8003D81C 0003947C 38 80 00 02 */ li r4, 2
/* 8003D820 00039480 48 00 00 0C */ b lbl_8003D82C
.global func_8003D824
func_8003D824:
/* 8003D824 00039484 38 80 00 03 */ li r4, 3
/* 8003D828 00039488 48 00 00 04 */ b lbl_8003D82C
lbl_8003D82C:
/* 8003D82C 0003948C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003D830 00039490 7C 08 02 A6 */ mflr r0
/* 8003D834 00039494 2C 04 00 02 */ cmpwi r4, 2
/* 8003D838 00039498 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003D83C 0003949C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003D840 000394A0 7C 9F 23 78 */ mr r31, r4
/* 8003D844 000394A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003D848 000394A8 7C 7E 1B 78 */ mr r30, r3
/* 8003D84C 000394AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003D850 000394B0 41 82 00 74 */ beq lbl_8003D8C4
/* 8003D854 000394B4 40 80 00 14 */ bge lbl_8003D868
/* 8003D858 000394B8 2C 04 00 00 */ cmpwi r4, 0
/* 8003D85C 000394BC 41 82 00 18 */ beq lbl_8003D874
/* 8003D860 000394C0 40 80 00 48 */ bge lbl_8003D8A8
/* 8003D864 000394C4 48 00 01 7C */ b lbl_8003D9E0
lbl_8003D868:
/* 8003D868 000394C8 2C 04 00 04 */ cmpwi r4, 4
/* 8003D86C 000394CC 40 80 01 74 */ bge lbl_8003D9E0
/* 8003D870 000394D0 48 00 00 70 */ b lbl_8003D8E0
lbl_8003D874:
/* 8003D874 000394D4 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D878 000394D8 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 8003D87C 000394DC 41 82 01 64 */ beq lbl_8003D9E0
/* 8003D880 000394E0 80 83 0C 04 */ lwz r4, 0xc04(r3)
/* 8003D884 000394E4 2C 04 00 00 */ cmpwi r4, 0
/* 8003D888 000394E8 41 82 00 10 */ beq lbl_8003D898
/* 8003D88C 000394EC A0 04 00 DC */ lhz r0, 0xdc(r4)
/* 8003D890 000394F0 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 8003D894 000394F4 B0 04 00 DC */ sth r0, 0xdc(r4)
lbl_8003D898:
/* 8003D898 000394F8 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D89C 000394FC 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8003D8A0 00039500 90 03 00 00 */ stw r0, 0(r3)
/* 8003D8A4 00039504 48 00 00 A8 */ b lbl_8003D94C
lbl_8003D8A8:
/* 8003D8A8 00039508 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D8AC 0003950C 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc
/* 8003D8B0 00039510 41 82 01 30 */ beq lbl_8003D9E0
/* 8003D8B4 00039514 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D8B8 00039518 54 00 03 56 */ rlwinm r0, r0, 0, 0xd, 0xb
/* 8003D8BC 0003951C 90 03 00 00 */ stw r0, 0(r3)
/* 8003D8C0 00039520 48 00 00 8C */ b lbl_8003D94C
lbl_8003D8C4:
/* 8003D8C4 00039524 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D8C8 00039528 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
/* 8003D8CC 0003952C 41 82 01 14 */ beq lbl_8003D9E0
/* 8003D8D0 00039530 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D8D4 00039534 54 00 03 14 */ rlwinm r0, r0, 0, 0xc, 0xa
/* 8003D8D8 00039538 90 03 00 00 */ stw r0, 0(r3)
/* 8003D8DC 0003953C 48 00 00 70 */ b lbl_8003D94C
lbl_8003D8E0:
/* 8003D8E0 00039540 80 03 00 00 */ lwz r0, 0(r3)
/* 8003D8E4 00039544 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12
/* 8003D8E8 00039548 41 82 00 F8 */ beq lbl_8003D9E0
/* 8003D8EC 0003954C 38 80 00 15 */ li r4, 0x15
/* 8003D8F0 00039550 4B FF E9 6D */ bl func_8003C25C
/* 8003D8F4 00039554 80 1E 0C 04 */ lwz r0, 0xc04(r30)
/* 8003D8F8 00039558 7C 7D 1B 78 */ mr r29, r3
/* 8003D8FC 0003955C 2C 00 00 00 */ cmpwi r0, 0
/* 8003D900 00039560 41 82 00 38 */ beq lbl_8003D938
/* 8003D904 00039564 7C 03 03 78 */ mr r3, r0
/* 8003D908 00039568 48 1B 7F F5 */ bl func_801F58FC
/* 8003D90C 0003956C 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8003D910 00039570 28 04 00 FF */ cmplwi r4, 0xff
/* 8003D914 00039574 40 80 00 24 */ bge lbl_8003D938
/* 8003D918 00039578 80 7E 0C 04 */ lwz r3, 0xc04(r30)
/* 8003D91C 0003957C 38 A0 00 00 */ li r5, 0
/* 8003D920 00039580 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D924 00039584 38 C0 00 00 */ li r6, 0
/* 8003D928 00039588 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2)
/* 8003D92C 0003958C 38 E0 00 00 */ li r7, 0
/* 8003D930 00039590 39 00 00 00 */ li r8, 0
/* 8003D934 00039594 48 1B 74 C1 */ bl func_801F4DF4
lbl_8003D938:
/* 8003D938 00039598 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003D93C 0003959C 54 00 04 E2 */ rlwinm r0, r0, 0, 0x13, 0x11
/* 8003D940 000395A0 90 1E 00 00 */ stw r0, 0(r30)
/* 8003D944 000395A4 48 00 00 08 */ b lbl_8003D94C
/* 8003D948 000395A8 48 00 00 98 */ b lbl_8003D9E0
lbl_8003D94C:
/* 8003D94C 000395AC 57 E0 10 3A */ slwi r0, r31, 2
/* 8003D950 000395B0 7F BE 02 14 */ add r29, r30, r0
/* 8003D954 000395B4 80 7D 0C 90 */ lwz r3, 0xc90(r29)
/* 8003D958 000395B8 2C 03 00 00 */ cmpwi r3, 0
/* 8003D95C 000395BC 41 82 00 40 */ beq lbl_8003D99C
/* 8003D960 000395C0 80 03 01 04 */ lwz r0, 0x104(r3)
/* 8003D964 000395C4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003D968 000395C8 60 00 00 04 */ ori r0, r0, 4
/* 8003D96C 000395CC 90 03 01 04 */ stw r0, 0x104(r3)
/* 8003D970 000395D0 D0 03 01 10 */ stfs f0, 0x110(r3)
/* 8003D974 000395D4 80 7D 0C 90 */ lwz r3, 0xc90(r29)
/* 8003D978 000395D8 2C 03 00 00 */ cmpwi r3, 0
/* 8003D97C 000395DC 41 82 00 18 */ beq lbl_8003D994
/* 8003D980 000395E0 81 83 01 00 */ lwz r12, 0x100(r3)
/* 8003D984 000395E4 38 80 00 01 */ li r4, 1
/* 8003D988 000395E8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003D98C 000395EC 7D 89 03 A6 */ mtctr r12
/* 8003D990 000395F0 4E 80 04 21 */ bctrl
lbl_8003D994:
/* 8003D994 000395F4 38 00 00 00 */ li r0, 0
/* 8003D998 000395F8 90 1D 0C 90 */ stw r0, 0xc90(r29)
lbl_8003D99C:
/* 8003D99C 000395FC 38 1F FF FF */ addi r0, r31, -1
/* 8003D9A0 00039600 28 00 00 01 */ cmplwi r0, 1
/* 8003D9A4 00039604 41 81 00 3C */ bgt lbl_8003D9E0
/* 8003D9A8 00039608 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003D9AC 0003960C 7F C3 F3 78 */ mr r3, r30
/* 8003D9B0 00039610 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8003D9B4 00039614 7C 00 00 34 */ cntlzw r0, r0
/* 8003D9B8 00039618 54 04 D9 7E */ srwi r4, r0, 5
/* 8003D9BC 0003961C 4B FF A3 71 */ bl func_80037D2C
/* 8003D9C0 00039620 80 1E 00 00 */ lwz r0, 0(r30)
/* 8003D9C4 00039624 7F C3 F3 78 */ mr r3, r30
/* 8003D9C8 00039628 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8003D9CC 0003962C 7C 00 00 34 */ cntlzw r0, r0
/* 8003D9D0 00039630 54 04 D9 7E */ srwi r4, r0, 5
/* 8003D9D4 00039634 4B FF A3 59 */ bl func_80037D2C
/* 8003D9D8 00039638 7F C3 F3 78 */ mr r3, r30
/* 8003D9DC 0003963C 4B FF A6 45 */ bl func_80038020
lbl_8003D9E0:
/* 8003D9E0 00039640 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003D9E4 00039644 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003D9E8 00039648 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003D9EC 0003964C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003D9F0 00039650 7C 08 03 A6 */ mtlr r0
/* 8003D9F4 00039654 38 21 00 20 */ addi r1, r1, 0x20
/* 8003D9F8 00039658 4E 80 00 20 */ blr
.global func_8003D9FC
func_8003D9FC:
/* 8003D9FC 0003965C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003DA00 00039660 7C 08 02 A6 */ mflr r0
/* 8003DA04 00039664 2C 04 00 00 */ cmpwi r4, 0
/* 8003DA08 00039668 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003DA0C 0003966C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003DA10 00039670 93 C1 00 08 */ stw r30, 8(r1)
/* 8003DA14 00039674 7C 7E 1B 78 */ mr r30, r3
/* 8003DA18 00039678 41 82 00 20 */ beq lbl_8003DA38
/* 8003DA1C 0003967C 2C 05 00 00 */ cmpwi r5, 0
/* 8003DA20 00039680 41 82 00 18 */ beq lbl_8003DA38
/* 8003DA24 00039684 2C 06 00 00 */ cmpwi r6, 0
/* 8003DA28 00039688 41 82 00 10 */ beq lbl_8003DA38
/* 8003DA2C 0003968C 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003DA30 00039690 2C 00 00 00 */ cmpwi r0, 0
/* 8003DA34 00039694 40 82 00 0C */ bne lbl_8003DA40
lbl_8003DA38:
/* 8003DA38 00039698 38 60 00 00 */ li r3, 0
/* 8003DA3C 0003969C 48 00 00 D0 */ b lbl_8003DB0C
lbl_8003DA40:
/* 8003DA40 000396A0 7C 83 23 78 */ mr r3, r4
/* 8003DA44 000396A4 7C A4 2B 78 */ mr r4, r5
/* 8003DA48 000396A8 7C C5 33 78 */ mr r5, r6
/* 8003DA4C 000396AC 7C E6 3B 78 */ mr r6, r7
/* 8003DA50 000396B0 38 E0 00 01 */ li r7, 1
/* 8003DA54 000396B4 48 1C 30 D9 */ bl func_80200B2C
/* 8003DA58 000396B8 2C 03 00 00 */ cmpwi r3, 0
/* 8003DA5C 000396BC 7C 7F 1B 78 */ mr r31, r3
/* 8003DA60 000396C0 40 82 00 0C */ bne lbl_8003DA6C
/* 8003DA64 000396C4 38 60 00 00 */ li r3, 0
/* 8003DA68 000396C8 48 00 00 A4 */ b lbl_8003DB0C
lbl_8003DA6C:
/* 8003DA6C 000396CC 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 8003DA70 000396D0 48 1C 31 E5 */ bl func_80200C54
/* 8003DA74 000396D4 A0 1E 05 0C */ lhz r0, 0x50c(r30)
/* 8003DA78 000396D8 28 00 00 02 */ cmplwi r0, 2
/* 8003DA7C 000396DC 40 82 00 30 */ bne lbl_8003DAAC
/* 8003DA80 000396E0 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003DA84 000396E4 A0 9E 05 1C */ lhz r4, 0x51c(r30)
/* 8003DA88 000396E8 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8003DA8C 000396EC 38 63 00 28 */ addi r3, r3, 0x28
/* 8003DA90 000396F0 48 35 83 71 */ bl func_80395E00
/* 8003DA94 000396F4 2C 03 00 00 */ cmpwi r3, 0
/* 8003DA98 000396F8 41 82 00 14 */ beq lbl_8003DAAC
/* 8003DA9C 000396FC 7F E4 FB 78 */ mr r4, r31
/* 8003DAA0 00039700 38 7E 05 24 */ addi r3, r30, 0x524
/* 8003DAA4 00039704 38 A0 00 01 */ li r5, 1
/* 8003DAA8 00039708 48 00 22 D1 */ bl func_8003FD78
lbl_8003DAAC:
/* 8003DAAC 0003970C 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003DAB0 00039710 48 1E 6A D9 */ bl func_80224588
/* 8003DAB4 00039714 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003DAB8 00039718 48 1E 6A D1 */ bl func_80224588
/* 8003DABC 0003971C 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 8003DAC0 00039720 7F E3 FB 78 */ mr r3, r31
/* 8003DAC4 00039724 48 1C 32 45 */ bl func_80200D08
/* 8003DAC8 00039728 A0 1E 05 0C */ lhz r0, 0x50c(r30)
/* 8003DACC 0003972C 28 00 00 02 */ cmplwi r0, 2
/* 8003DAD0 00039730 40 82 00 30 */ bne lbl_8003DB00
/* 8003DAD4 00039734 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003DAD8 00039738 A0 9E 05 1C */ lhz r4, 0x51c(r30)
/* 8003DADC 0003973C 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8003DAE0 00039740 38 63 00 28 */ addi r3, r3, 0x28
/* 8003DAE4 00039744 48 35 83 1D */ bl func_80395E00
/* 8003DAE8 00039748 2C 03 00 00 */ cmpwi r3, 0
/* 8003DAEC 0003974C 41 82 00 14 */ beq lbl_8003DB00
/* 8003DAF0 00039750 7F E4 FB 78 */ mr r4, r31
/* 8003DAF4 00039754 38 7E 05 24 */ addi r3, r30, 0x524
/* 8003DAF8 00039758 38 A0 00 00 */ li r5, 0
/* 8003DAFC 0003975C 48 00 22 7D */ bl func_8003FD78
lbl_8003DB00:
/* 8003DB00 00039760 7F E3 FB 78 */ mr r3, r31
/* 8003DB04 00039764 48 1C 32 75 */ bl func_80200D78
/* 8003DB08 00039768 38 60 00 01 */ li r3, 1
lbl_8003DB0C:
/* 8003DB0C 0003976C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003DB10 00039770 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003DB14 00039774 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003DB18 00039778 7C 08 03 A6 */ mtlr r0
/* 8003DB1C 0003977C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003DB20 00039780 4E 80 00 20 */ blr
.global func_8003DB24
func_8003DB24:
/* 8003DB24 00039784 3C 80 19 9C */ lis r4, 0x199C0A00@ha
/* 8003DB28 00039788 38 63 0D 04 */ addi r3, r3, 0xd04
/* 8003DB2C 0003978C 38 84 0A 00 */ addi r4, r4, 0x199C0A00@l
/* 8003DB30 00039790 4B FF 95 FC */ b lbl_8003712C
.global WorldDarkening_Fade
WorldDarkening_Fade:
/* 8003DB34 00039794 D0 23 0D 08 */ stfs f1, 0xd08(r3)
/* 8003DB38 00039798 D0 43 0D 0C */ stfs f2, 0xd0c(r3)
/* 8003DB3C 0003979C 4E 80 00 20 */ blr
.global func_8003DB40
func_8003DB40:
/* 8003DB40 000397A0 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8003DB44 000397A4 7C 08 02 A6 */ mflr r0
/* 8003DB48 000397A8 90 01 00 84 */ stw r0, 0x84(r1)
/* 8003DB4C 000397AC DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8003DB50 000397B0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8003DB54 000397B4 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8003DB58 000397B8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8003DB5C 000397BC DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8003DB60 000397C0 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 8003DB64 000397C4 39 61 00 50 */ addi r11, r1, 0x50
/* 8003DB68 000397C8 48 18 95 B9 */ bl _savegpr_25
/* 8003DB6C 000397CC 88 03 0D 04 */ lbz r0, 0xd04(r3)
/* 8003DB70 000397D0 FF A0 08 90 */ fmr f29, f1
/* 8003DB74 000397D4 7C 7B 1B 78 */ mr r27, r3
/* 8003DB78 000397D8 2C 00 00 00 */ cmpwi r0, 0
/* 8003DB7C 000397DC 41 82 01 E4 */ beq lbl_8003DD60
/* 8003DB80 000397E0 80 83 0C 04 */ lwz r4, 0xc04(r3)
/* 8003DB84 000397E4 2C 04 00 00 */ cmpwi r4, 0
/* 8003DB88 000397E8 41 82 01 CC */ beq lbl_8003DD54
/* 8003DB8C 000397EC C0 23 0D 10 */ lfs f1, 0xd10(r3)
/* 8003DB90 000397F0 C0 03 0D 0C */ lfs f0, 0xd0c(r3)
/* 8003DB94 000397F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003DB98 000397F8 4C 41 13 82 */ cror 2, 1, 2
/* 8003DB9C 000397FC 40 82 01 B8 */ bne lbl_8003DD54
/* 8003DBA0 00039800 A3 E4 00 DE */ lhz r31, 0xde(r4)
/* 8003DBA4 00039804 7F 7E DB 78 */ mr r30, r27
/* 8003DBA8 00039808 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2)
/* 8003DBAC 0003980C 3B A0 00 00 */ li r29, 0
/* 8003DBB0 00039810 C3 C2 82 40 */ lfs f30, lbl_80640840-_SDA2_BASE_(r2)
/* 8003DBB4 00039814 3B 80 00 00 */ li r28, 0
/* 8003DBB8 00039818 3B 40 00 00 */ li r26, 0
/* 8003DBBC 0003981C 48 00 01 90 */ b lbl_8003DD4C
lbl_8003DBC0:
/* 8003DBC0 00039820 80 1E 0D 18 */ lwz r0, 0xd18(r30)
/* 8003DBC4 00039824 2C 00 00 00 */ cmpwi r0, 0
/* 8003DBC8 00039828 41 82 01 7C */ beq lbl_8003DD44
/* 8003DBCC 0003982C 80 7B 0C 04 */ lwz r3, 0xc04(r27)
/* 8003DBD0 00039830 80 83 00 08 */ lwz r4, 8(r3)
/* 8003DBD4 00039834 2C 04 00 00 */ cmpwi r4, 0
/* 8003DBD8 00039838 40 82 00 0C */ bne lbl_8003DBE4
/* 8003DBDC 0003983C 38 60 00 00 */ li r3, 0
/* 8003DBE0 00039840 48 00 00 24 */ b lbl_8003DC04
lbl_8003DBE4:
/* 8003DBE4 00039844 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 8003DBE8 00039848 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 8003DBEC 0003984C 7C 03 00 40 */ cmplw r3, r0
/* 8003DBF0 00039850 41 80 00 0C */ blt lbl_8003DBFC
/* 8003DBF4 00039854 38 60 00 00 */ li r3, 0
/* 8003DBF8 00039858 48 00 00 0C */ b lbl_8003DC04
lbl_8003DBFC:
/* 8003DBFC 0003985C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 8003DC00 00039860 7C 64 00 2E */ lwzx r3, r4, r0
lbl_8003DC04:
/* 8003DC04 00039864 C0 43 00 EC */ lfs f2, 0xec(r3)
/* 8003DC08 00039868 C0 1B 0D 08 */ lfs f0, 0xd08(r27)
/* 8003DC0C 0003986C C0 63 00 DC */ lfs f3, 0xdc(r3)
/* 8003DC10 00039870 C0 23 00 FC */ lfs f1, 0xfc(r3)
/* 8003DC14 00039874 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8003DC18 00039878 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 8003DC1C 0003987C D0 41 00 28 */ stfs f2, 0x28(r1)
/* 8003DC20 00039880 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8003DC24 00039884 4C 40 13 82 */ cror 2, 0, 2
/* 8003DC28 00039888 40 82 01 1C */ bne lbl_8003DD44
/* 8003DC2C 0003988C FC 02 F0 40 */ fcmpo cr0, f2, f30
/* 8003DC30 00039890 40 81 01 14 */ ble lbl_8003DD44
/* 8003DC34 00039894 D3 E1 00 28 */ stfs f31, 0x28(r1)
/* 8003DC38 00039898 7F 63 DB 78 */ mr r3, r27
/* 8003DC3C 0003989C 4B FF BA 99 */ bl func_800396D4
/* 8003DC40 000398A0 80 1B 0D 14 */ lwz r0, 0xd14(r27)
/* 8003DC44 000398A4 7C 64 1B 78 */ mr r4, r3
/* 8003DC48 000398A8 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2)
/* 8003DC4C 000398AC 54 00 10 3A */ slwi r0, r0, 2
/* 8003DC50 000398B0 7C 7B 02 14 */ add r3, r27, r0
/* 8003DC54 000398B4 80 63 0D 18 */ lwz r3, 0xd18(r3)
/* 8003DC58 000398B8 48 01 06 FD */ bl func_8004E354
/* 8003DC5C 000398BC 7F 64 DB 78 */ mr r4, r27
/* 8003DC60 000398C0 38 61 00 18 */ addi r3, r1, 0x18
/* 8003DC64 000398C4 4B FF AE 31 */ bl func_80038A94
/* 8003DC68 000398C8 80 1B 0D 14 */ lwz r0, 0xd14(r27)
/* 8003DC6C 000398CC 54 00 10 3A */ slwi r0, r0, 2
/* 8003DC70 000398D0 7C 7B 02 14 */ add r3, r27, r0
/* 8003DC74 000398D4 83 23 0D 18 */ lwz r25, 0xd18(r3)
/* 8003DC78 000398D8 80 19 00 40 */ lwz r0, 0x40(r25)
/* 8003DC7C 000398DC 2C 00 00 00 */ cmpwi r0, 0
/* 8003DC80 000398E0 41 82 00 48 */ beq lbl_8003DCC8
/* 8003DC84 000398E4 38 61 00 08 */ addi r3, r1, 8
/* 8003DC88 000398E8 38 81 00 18 */ addi r4, r1, 0x18
/* 8003DC8C 000398EC 48 1E 5A 35 */ bl func_802236C0
/* 8003DC90 000398F0 80 79 00 40 */ lwz r3, 0x40(r25)
/* 8003DC94 000398F4 38 80 00 01 */ li r4, 1
/* 8003DC98 000398F8 C0 01 00 08 */ lfs f0, 8(r1)
/* 8003DC9C 000398FC D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8003DCA0 00039900 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8003DCA4 00039904 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 8003DCA8 00039908 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003DCAC 0003990C D0 03 00 34 */ stfs f0, 0x34(r3)
/* 8003DCB0 00039910 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8003DCB4 00039914 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8003DCB8 00039918 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8003DCBC 0003991C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 8003DCC0 00039920 B0 03 00 10 */ sth r0, 0x10(r3)
/* 8003DCC4 00039924 48 1B 49 F5 */ bl func_801F26B8
lbl_8003DCC8:
/* 8003DCC8 00039928 80 1B 0D 14 */ lwz r0, 0xd14(r27)
/* 8003DCCC 0003992C 54 00 10 3A */ slwi r0, r0, 2
/* 8003DCD0 00039930 7C 7B 02 14 */ add r3, r27, r0
/* 8003DCD4 00039934 80 63 0D 18 */ lwz r3, 0xd18(r3)
/* 8003DCD8 00039938 80 63 00 40 */ lwz r3, 0x40(r3)
/* 8003DCDC 0003993C 2C 03 00 00 */ cmpwi r3, 0
/* 8003DCE0 00039940 41 82 00 24 */ beq lbl_8003DD04
/* 8003DCE4 00039944 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8003DCE8 00039948 38 80 00 01 */ li r4, 1
/* 8003DCEC 0003994C C0 21 00 28 */ lfs f1, 0x28(r1)
/* 8003DCF0 00039950 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8003DCF4 00039954 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8003DCF8 00039958 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 8003DCFC 0003995C D0 03 00 28 */ stfs f0, 0x28(r3)
/* 8003DD00 00039960 48 1B 49 B9 */ bl func_801F26B8
lbl_8003DD04:
/* 8003DD04 00039964 80 1B 0D 14 */ lwz r0, 0xd14(r27)
/* 8003DD08 00039968 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2)
/* 8003DD0C 0003996C 54 00 10 3A */ slwi r0, r0, 2
/* 8003DD10 00039970 7C 7B 02 14 */ add r3, r27, r0
/* 8003DD14 00039974 80 63 0D 18 */ lwz r3, 0xd18(r3)
/* 8003DD18 00039978 48 01 0A B1 */ bl func_8004E7C8
/* 8003DD1C 0003997C 80 7B 0D 14 */ lwz r3, 0xd14(r27)
/* 8003DD20 00039980 38 03 00 01 */ addi r0, r3, 1
/* 8003DD24 00039984 2C 00 00 06 */ cmpwi r0, 6
/* 8003DD28 00039988 90 1B 0D 14 */ stw r0, 0xd14(r27)
/* 8003DD2C 0003998C 41 80 00 08 */ blt lbl_8003DD34
/* 8003DD30 00039990 93 5B 0D 14 */ stw r26, 0xd14(r27)
lbl_8003DD34:
/* 8003DD34 00039994 3B BD 00 01 */ addi r29, r29, 1
/* 8003DD38 00039998 D3 FB 0D 10 */ stfs f31, 0xd10(r27)
/* 8003DD3C 0003999C 2C 1D 00 02 */ cmpwi r29, 2
/* 8003DD40 000399A0 40 80 00 20 */ bge lbl_8003DD60
lbl_8003DD44:
/* 8003DD44 000399A4 3B DE 00 04 */ addi r30, r30, 4
/* 8003DD48 000399A8 3B 9C 00 01 */ addi r28, r28, 1
lbl_8003DD4C:
/* 8003DD4C 000399AC 7C 1C F8 00 */ cmpw r28, r31
/* 8003DD50 000399B0 41 80 FE 70 */ blt lbl_8003DBC0
lbl_8003DD54:
/* 8003DD54 000399B4 C0 1B 0D 10 */ lfs f0, 0xd10(r27)
/* 8003DD58 000399B8 EC 00 E8 2A */ fadds f0, f0, f29
/* 8003DD5C 000399BC D0 1B 0D 10 */ stfs f0, 0xd10(r27)
lbl_8003DD60:
/* 8003DD60 000399C0 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 8003DD64 000399C4 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8003DD68 000399C8 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 8003DD6C 000399CC CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8003DD70 000399D0 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 8003DD74 000399D4 39 61 00 50 */ addi r11, r1, 0x50
/* 8003DD78 000399D8 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 8003DD7C 000399DC 48 18 93 F1 */ bl _restgpr_25
/* 8003DD80 000399E0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8003DD84 000399E4 7C 08 03 A6 */ mtlr r0
/* 8003DD88 000399E8 38 21 00 80 */ addi r1, r1, 0x80
/* 8003DD8C 000399EC 4E 80 00 20 */ blr
.global func_8003DD90
func_8003DD90:
/* 8003DD90 000399F0 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003DD94 000399F4 38 00 00 01 */ li r0, 1
/* 8003DD98 000399F8 98 03 0D 04 */ stb r0, 0xd04(r3)
/* 8003DD9C 000399FC D0 03 0D 10 */ stfs f0, 0xd10(r3)
/* 8003DDA0 00039A00 4E 80 00 20 */ blr
.global func_8003DDA4
func_8003DDA4:
/* 8003DDA4 00039A04 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2)
/* 8003DDA8 00039A08 38 00 00 00 */ li r0, 0
/* 8003DDAC 00039A0C 2C 04 00 00 */ cmpwi r4, 0
/* 8003DDB0 00039A10 98 03 0D 04 */ stb r0, 0xd04(r3)
/* 8003DDB4 00039A14 D0 03 0D 10 */ stfs f0, 0xd10(r3)
/* 8003DDB8 00039A18 4D 82 00 20 */ beqlr
/* 8003DDBC 00039A1C 38 00 00 02 */ li r0, 2
/* 8003DDC0 00039A20 38 A0 00 00 */ li r5, 0
/* 8003DDC4 00039A24 7C 09 03 A6 */ mtctr r0
lbl_8003DDC8:
/* 8003DDC8 00039A28 80 83 0D 18 */ lwz r4, 0xd18(r3)
/* 8003DDCC 00039A2C 2C 04 00 00 */ cmpwi r4, 0
/* 8003DDD0 00039A30 41 82 00 20 */ beq lbl_8003DDF0
/* 8003DDD4 00039A34 80 84 00 40 */ lwz r4, 0x40(r4)
/* 8003DDD8 00039A38 2C 04 00 00 */ cmpwi r4, 0
/* 8003DDDC 00039A3C 41 82 00 14 */ beq lbl_8003DDF0
/* 8003DDE0 00039A40 80 04 01 04 */ lwz r0, 0x104(r4)
/* 8003DDE4 00039A44 60 00 00 04 */ ori r0, r0, 4
/* 8003DDE8 00039A48 90 04 01 04 */ stw r0, 0x104(r4)
/* 8003DDEC 00039A4C D0 04 01 10 */ stfs f0, 0x110(r4)
lbl_8003DDF0:
/* 8003DDF0 00039A50 80 83 0D 1C */ lwz r4, 0xd1c(r3)
/* 8003DDF4 00039A54 2C 04 00 00 */ cmpwi r4, 0
/* 8003DDF8 00039A58 41 82 00 20 */ beq lbl_8003DE18
/* 8003DDFC 00039A5C 80 84 00 40 */ lwz r4, 0x40(r4)
/* 8003DE00 00039A60 2C 04 00 00 */ cmpwi r4, 0
/* 8003DE04 00039A64 41 82 00 14 */ beq lbl_8003DE18
/* 8003DE08 00039A68 80 04 01 04 */ lwz r0, 0x104(r4)
/* 8003DE0C 00039A6C 60 00 00 04 */ ori r0, r0, 4
/* 8003DE10 00039A70 90 04 01 04 */ stw r0, 0x104(r4)
/* 8003DE14 00039A74 D0 04 01 10 */ stfs f0, 0x110(r4)
lbl_8003DE18:
/* 8003DE18 00039A78 80 83 0D 20 */ lwz r4, 0xd20(r3)
/* 8003DE1C 00039A7C 2C 04 00 00 */ cmpwi r4, 0
/* 8003DE20 00039A80 41 82 00 20 */ beq lbl_8003DE40
/* 8003DE24 00039A84 80 84 00 40 */ lwz r4, 0x40(r4)
/* 8003DE28 00039A88 2C 04 00 00 */ cmpwi r4, 0
/* 8003DE2C 00039A8C 41 82 00 14 */ beq lbl_8003DE40
/* 8003DE30 00039A90 80 04 01 04 */ lwz r0, 0x104(r4)
/* 8003DE34 00039A94 60 00 00 04 */ ori r0, r0, 4
/* 8003DE38 00039A98 90 04 01 04 */ stw r0, 0x104(r4)
/* 8003DE3C 00039A9C D0 04 01 10 */ stfs f0, 0x110(r4)
lbl_8003DE40:
/* 8003DE40 00039AA0 38 63 00 0C */ addi r3, r3, 0xc
/* 8003DE44 00039AA4 38 A5 00 02 */ addi r5, r5, 2
/* 8003DE48 00039AA8 42 00 FF 80 */ bdnz lbl_8003DDC8
/* 8003DE4C 00039AAC 4E 80 00 20 */ blr
.global func_8003DE50
func_8003DE50:
/* 8003DE50 00039AB0 88 63 0D 04 */ lbz r3, 0xd04(r3)
/* 8003DE54 00039AB4 4E 80 00 20 */ blr
.global func_8003DE58
func_8003DE58:
/* 8003DE58 00039AB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003DE5C 00039ABC 7C 08 02 A6 */ mflr r0
/* 8003DE60 00039AC0 38 80 00 01 */ li r4, 1
/* 8003DE64 00039AC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003DE68 00039AC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003DE6C 00039ACC 7C 7F 1B 78 */ mr r31, r3
/* 8003DE70 00039AD0 4B FF FF 35 */ bl func_8003DDA4
/* 8003DE74 00039AD4 38 7F 0D 04 */ addi r3, r31, 0xd04
/* 8003DE78 00039AD8 4B FF 93 5D */ bl func_800371D4
/* 8003DE7C 00039ADC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003DE80 00039AE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003DE84 00039AE4 7C 08 03 A6 */ mtlr r0
/* 8003DE88 00039AE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003DE8C 00039AEC 4E 80 00 20 */ blr
.global func_8003DE90
func_8003DE90:
/* 8003DE90 00039AF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003DE94 00039AF4 7C 08 02 A6 */ mflr r0
/* 8003DE98 00039AF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003DE9C 00039AFC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003DEA0 00039B00 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003DEA4 00039B04 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003DEA8 00039B08 7C BD 2B 78 */ mr r29, r5
/* 8003DEAC 00039B0C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003DEB0 00039B10 7C 9C 23 78 */ mr r28, r4
/* 8003DEB4 00039B14 88 03 0D 04 */ lbz r0, 0xd04(r3)
/* 8003DEB8 00039B18 2C 00 00 00 */ cmpwi r0, 0
/* 8003DEBC 00039B1C 40 82 00 10 */ bne lbl_8003DECC
/* 8003DEC0 00039B20 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8003DEC4 00039B24 2C 00 00 00 */ cmpwi r0, 0
/* 8003DEC8 00039B28 41 82 00 34 */ beq lbl_8003DEFC
lbl_8003DECC:
/* 8003DECC 00039B2C 7C 7F 1B 78 */ mr r31, r3
/* 8003DED0 00039B30 3B C0 00 00 */ li r30, 0
lbl_8003DED4:
/* 8003DED4 00039B34 80 7F 0D 18 */ lwz r3, 0xd18(r31)
/* 8003DED8 00039B38 2C 03 00 00 */ cmpwi r3, 0
/* 8003DEDC 00039B3C 41 82 00 10 */ beq lbl_8003DEEC
/* 8003DEE0 00039B40 7F 84 E3 78 */ mr r4, r28
/* 8003DEE4 00039B44 7F A5 EB 78 */ mr r5, r29
/* 8003DEE8 00039B48 48 01 07 91 */ bl func_8004E678
lbl_8003DEEC:
/* 8003DEEC 00039B4C 3B DE 00 01 */ addi r30, r30, 1
/* 8003DEF0 00039B50 3B FF 00 04 */ addi r31, r31, 4
/* 8003DEF4 00039B54 2C 1E 00 06 */ cmpwi r30, 6
/* 8003DEF8 00039B58 41 80 FF DC */ blt lbl_8003DED4
lbl_8003DEFC:
/* 8003DEFC 00039B5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003DF00 00039B60 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003DF04 00039B64 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003DF08 00039B68 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003DF0C 00039B6C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003DF10 00039B70 7C 08 03 A6 */ mtlr r0
/* 8003DF14 00039B74 38 21 00 20 */ addi r1, r1, 0x20
/* 8003DF18 00039B78 4E 80 00 20 */ blr
.global func_8003DF1C
func_8003DF1C:
/* 8003DF1C 00039B7C 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8003DF20 00039B80 2C 03 00 00 */ cmpwi r3, 0
/* 8003DF24 00039B84 4D 82 00 20 */ beqlr
/* 8003DF28 00039B88 2C 04 00 00 */ cmpwi r4, 0
/* 8003DF2C 00039B8C 41 82 00 08 */ beq lbl_8003DF34
/* 8003DF30 00039B90 48 1B B8 14 */ b func_801F9744
lbl_8003DF34:
/* 8003DF34 00039B94 48 1B B8 D4 */ b func_801F9808
/* 8003DF38 00039B98 4E 80 00 20 */ blr
.global func_8003DF3C
func_8003DF3C:
/* 8003DF3C 00039B9C 80 63 0C 00 */ lwz r3, 0xc00(r3)
/* 8003DF40 00039BA0 2C 03 00 00 */ cmpwi r3, 0
/* 8003DF44 00039BA4 41 82 00 74 */ beq lbl_8003DFB8
/* 8003DF48 00039BA8 80 C3 00 04 */ lwz r6, 4(r3)
/* 8003DF4C 00039BAC 2C 06 00 00 */ cmpwi r6, 0
/* 8003DF50 00039BB0 40 82 00 0C */ bne lbl_8003DF5C
/* 8003DF54 00039BB4 38 60 00 00 */ li r3, 0
/* 8003DF58 00039BB8 48 00 00 24 */ b lbl_8003DF7C
lbl_8003DF5C:
/* 8003DF5C 00039BBC 80 63 00 00 */ lwz r3, 0(r3)
/* 8003DF60 00039BC0 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8003DF64 00039BC4 7C 04 00 40 */ cmplw r4, r0
/* 8003DF68 00039BC8 41 80 00 0C */ blt lbl_8003DF74
/* 8003DF6C 00039BCC 38 60 00 00 */ li r3, 0
/* 8003DF70 00039BD0 48 00 00 0C */ b lbl_8003DF7C
lbl_8003DF74:
/* 8003DF74 00039BD4 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d
/* 8003DF78 00039BD8 7C 66 00 2E */ lwzx r3, r6, r0
lbl_8003DF7C:
/* 8003DF7C 00039BDC 2C 03 00 00 */ cmpwi r3, 0
/* 8003DF80 00039BE0 41 82 00 38 */ beq lbl_8003DFB8
/* 8003DF84 00039BE4 80 83 00 08 */ lwz r4, 8(r3)
/* 8003DF88 00039BE8 2C 04 00 00 */ cmpwi r4, 0
/* 8003DF8C 00039BEC 40 82 00 0C */ bne lbl_8003DF98
/* 8003DF90 00039BF0 38 60 00 00 */ li r3, 0
/* 8003DF94 00039BF4 4E 80 00 20 */ blr
lbl_8003DF98:
/* 8003DF98 00039BF8 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 8003DF9C 00039BFC 7C 05 00 40 */ cmplw r5, r0
/* 8003DFA0 00039C00 41 80 00 0C */ blt lbl_8003DFAC
/* 8003DFA4 00039C04 38 60 00 00 */ li r3, 0
/* 8003DFA8 00039C08 4E 80 00 20 */ blr
lbl_8003DFAC:
/* 8003DFAC 00039C0C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d
/* 8003DFB0 00039C10 7C 64 00 2E */ lwzx r3, r4, r0
/* 8003DFB4 00039C14 4E 80 00 20 */ blr
lbl_8003DFB8:
/* 8003DFB8 00039C18 38 60 00 00 */ li r3, 0
/* 8003DFBC 00039C1C 4E 80 00 20 */ blr
.global func_8003DFC0
func_8003DFC0:
/* 8003DFC0 00039C20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003DFC4 00039C24 7C 08 02 A6 */ mflr r0
/* 8003DFC8 00039C28 38 80 00 00 */ li r4, 0
/* 8003DFCC 00039C2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003DFD0 00039C30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003DFD4 00039C34 93 C1 00 08 */ stw r30, 8(r1)
/* 8003DFD8 00039C38 7C 7E 1B 78 */ mr r30, r3
/* 8003DFDC 00039C3C 4B FF E2 81 */ bl func_8003C25C
/* 8003DFE0 00039C40 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 8003DFE4 00039C44 7F C3 F3 78 */ mr r3, r30
/* 8003DFE8 00039C48 38 80 00 0A */ li r4, 0xa
/* 8003DFEC 00039C4C 4B FF E2 71 */ bl func_8003C25C
/* 8003DFF0 00039C50 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8003DFF4 00039C54 7C 60 F8 50 */ subf r3, r0, r31
/* 8003DFF8 00039C58 7C 1F 00 50 */ subf r0, r31, r0
/* 8003DFFC 00039C5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003E000 00039C60 7C 60 03 78 */ or r0, r3, r0
/* 8003E004 00039C64 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003E008 00039C68 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8003E00C 00039C6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003E010 00039C70 7C 08 03 A6 */ mtlr r0
/* 8003E014 00039C74 38 21 00 10 */ addi r1, r1, 0x10
/* 8003E018 00039C78 4E 80 00 20 */ blr
.global func_8003E01C
func_8003E01C:
/* 8003E01C 00039C7C 38 A0 00 01 */ li r5, 1
/* 8003E020 00039C80 38 6D 97 B0 */ addi r3, r13, lbl_8063EA70-_SDA_BASE_
/* 8003E024 00039C84 38 80 00 04 */ li r4, 4
/* 8003E028 00039C88 38 00 00 00 */ li r0, 0
/* 8003E02C 00039C8C 98 AD 97 B0 */ stb r5, lbl_8063EA70-_SDA_BASE_(r13)
/* 8003E030 00039C90 B0 83 00 02 */ sth r4, 2(r3)
/* 8003E034 00039C94 98 03 00 04 */ stb r0, 4(r3)
/* 8003E038 00039C98 4E 80 00 20 */ blr
|