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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8004ACF4
func_8004ACF4:
/* 8004ACF4 00046954 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004ACF8 00046958 3C E0 43 30 */ lis r7, 0x4330
/* 8004ACFC 0004695C 88 03 00 00 */ lbz r0, 0(r3)
/* 8004AD00 00046960 88 C3 00 01 */ lbz r6, 1(r3)
/* 8004AD04 00046964 90 01 00 0C */ stw r0, 0xc(r1)
/* 8004AD08 00046968 C8 82 83 F0 */ lfd f4, lbl_806409F0-_SDA2_BASE_(r2)
/* 8004AD0C 0004696C 90 E1 00 08 */ stw r7, 8(r1)
/* 8004AD10 00046970 88 A3 00 02 */ lbz r5, 2(r3)
/* 8004AD14 00046974 C8 01 00 08 */ lfd f0, 8(r1)
/* 8004AD18 00046978 90 E1 00 10 */ stw r7, 0x10(r1)
/* 8004AD1C 0004697C EC 60 20 28 */ fsubs f3, f0, f4
/* 8004AD20 00046980 88 03 00 03 */ lbz r0, 3(r3)
/* 8004AD24 00046984 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8004AD28 00046988 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8004AD2C 0004698C 90 A1 00 0C */ stw r5, 0xc(r1)
/* 8004AD30 00046990 EC 40 20 28 */ fsubs f2, f0, f4
/* 8004AD34 00046994 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004AD38 00046998 C8 21 00 08 */ lfd f1, 8(r1)
/* 8004AD3C 0004699C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8004AD40 000469A0 EC 21 20 28 */ fsubs f1, f1, f4
/* 8004AD44 000469A4 D0 64 00 00 */ stfs f3, 0(r4)
/* 8004AD48 000469A8 EC 00 20 28 */ fsubs f0, f0, f4
/* 8004AD4C 000469AC D0 44 00 04 */ stfs f2, 4(r4)
/* 8004AD50 000469B0 D0 24 00 08 */ stfs f1, 8(r4)
/* 8004AD54 000469B4 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8004AD58 000469B8 38 21 00 20 */ addi r1, r1, 0x20
/* 8004AD5C 000469BC 4E 80 00 20 */ blr
.global func_8004AD60
func_8004AD60:
/* 8004AD60 000469C0 C0 03 00 00 */ lfs f0, 0(r3)
/* 8004AD64 000469C4 C0 43 00 04 */ lfs f2, 4(r3)
/* 8004AD68 000469C8 C0 23 00 08 */ lfs f1, 8(r3)
/* 8004AD6C 000469CC FC 60 00 1E */ fctiwz f3, f0
/* 8004AD70 000469D0 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8004AD74 000469D4 FC 40 10 1E */ fctiwz f2, f2
/* 8004AD78 000469D8 FC 20 08 1E */ fctiwz f1, f1
/* 8004AD7C 000469DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8004AD80 000469E0 FC 00 00 1E */ fctiwz f0, f0
/* 8004AD84 000469E4 D8 61 00 08 */ stfd f3, 8(r1)
/* 8004AD88 000469E8 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 8004AD8C 000469EC 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 8004AD90 000469F0 D8 21 00 18 */ stfd f1, 0x18(r1)
/* 8004AD94 000469F4 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 8004AD98 000469F8 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8004AD9C 000469FC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8004ADA0 00046A00 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004ADA4 00046A04 98 C4 00 00 */ stb r6, 0(r4)
/* 8004ADA8 00046A08 98 A4 00 01 */ stb r5, 1(r4)
/* 8004ADAC 00046A0C 98 64 00 02 */ stb r3, 2(r4)
/* 8004ADB0 00046A10 98 04 00 03 */ stb r0, 3(r4)
/* 8004ADB4 00046A14 38 21 00 30 */ addi r1, r1, 0x30
/* 8004ADB8 00046A18 4E 80 00 20 */ blr
.global func_8004ADBC
func_8004ADBC:
/* 8004ADBC 00046A1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004ADC0 00046A20 7C 08 02 A6 */ mflr r0
/* 8004ADC4 00046A24 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004ADC8 00046A28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004ADCC 00046A2C 7C 7F 1B 78 */ mr r31, r3
/* 8004ADD0 00046A30 4B FF E2 B5 */ bl func_80049084
/* 8004ADD4 00046A34 3C 80 80 41 */ lis r4, lbl_8040AAA8@ha
/* 8004ADD8 00046A38 38 00 00 00 */ li r0, 0
/* 8004ADDC 00046A3C 38 84 AA A8 */ addi r4, r4, lbl_8040AAA8@l
/* 8004ADE0 00046A40 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 8004ADE4 00046A44 7F E3 FB 78 */ mr r3, r31
/* 8004ADE8 00046A48 90 9F 00 28 */ stw r4, 0x28(r31)
/* 8004ADEC 00046A4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004ADF0 00046A50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004ADF4 00046A54 7C 08 03 A6 */ mtlr r0
/* 8004ADF8 00046A58 38 21 00 10 */ addi r1, r1, 0x10
/* 8004ADFC 00046A5C 4E 80 00 20 */ blr
/* 8004AE00 00046A60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004AE04 00046A64 7C 08 02 A6 */ mflr r0
/* 8004AE08 00046A68 2C 03 00 00 */ cmpwi r3, 0
/* 8004AE0C 00046A6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004AE10 00046A70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004AE14 00046A74 7C 9F 23 78 */ mr r31, r4
/* 8004AE18 00046A78 93 C1 00 08 */ stw r30, 8(r1)
/* 8004AE1C 00046A7C 7C 7E 1B 78 */ mr r30, r3
/* 8004AE20 00046A80 41 82 00 38 */ beq lbl_8004AE58
/* 8004AE24 00046A84 3D 80 80 41 */ lis r12, lbl_8040AAA8@ha
/* 8004AE28 00046A88 39 8C AA A8 */ addi r12, r12, lbl_8040AAA8@l
/* 8004AE2C 00046A8C 91 83 00 28 */ stw r12, 0x28(r3)
/* 8004AE30 00046A90 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8004AE34 00046A94 7D 89 03 A6 */ mtctr r12
/* 8004AE38 00046A98 4E 80 04 21 */ bctrl
/* 8004AE3C 00046A9C 7F C3 F3 78 */ mr r3, r30
/* 8004AE40 00046AA0 38 80 00 00 */ li r4, 0
/* 8004AE44 00046AA4 4B FF E2 71 */ bl func_800490B4
/* 8004AE48 00046AA8 2C 1F 00 00 */ cmpwi r31, 0
/* 8004AE4C 00046AAC 40 81 00 0C */ ble lbl_8004AE58
/* 8004AE50 00046AB0 7F C3 F3 78 */ mr r3, r30
/* 8004AE54 00046AB4 48 18 FC 65 */ bl __dl__FPv
lbl_8004AE58:
/* 8004AE58 00046AB8 7F C3 F3 78 */ mr r3, r30
/* 8004AE5C 00046ABC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004AE60 00046AC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004AE64 00046AC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004AE68 00046AC8 7C 08 03 A6 */ mtlr r0
/* 8004AE6C 00046ACC 38 21 00 10 */ addi r1, r1, 0x10
/* 8004AE70 00046AD0 4E 80 00 20 */ blr
/* 8004AE74 00046AD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004AE78 00046AD8 7C 08 02 A6 */ mflr r0
/* 8004AE7C 00046ADC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004AE80 00046AE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004AE84 00046AE4 7C 7F 1B 78 */ mr r31, r3
/* 8004AE88 00046AE8 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 8004AE8C 00046AEC 2C 00 00 00 */ cmpwi r0, 0
/* 8004AE90 00046AF0 41 82 00 28 */ beq lbl_8004AEB8
/* 8004AE94 00046AF4 41 82 00 1C */ beq lbl_8004AEB0
/* 8004AE98 00046AF8 7C 03 03 78 */ mr r3, r0
/* 8004AE9C 00046AFC 38 80 00 01 */ li r4, 1
/* 8004AEA0 00046B00 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004AEA4 00046B04 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004AEA8 00046B08 7D 89 03 A6 */ mtctr r12
/* 8004AEAC 00046B0C 4E 80 04 21 */ bctrl
lbl_8004AEB0:
/* 8004AEB0 00046B10 38 00 00 00 */ li r0, 0
/* 8004AEB4 00046B14 90 1F 00 2C */ stw r0, 0x2c(r31)
lbl_8004AEB8:
/* 8004AEB8 00046B18 7F E3 FB 78 */ mr r3, r31
/* 8004AEBC 00046B1C 4B FF E2 61 */ bl func_8004911C
/* 8004AEC0 00046B20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004AEC4 00046B24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004AEC8 00046B28 7C 08 03 A6 */ mtlr r0
/* 8004AECC 00046B2C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004AED0 00046B30 4E 80 00 20 */ blr
/* 8004AED4 00046B34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004AED8 00046B38 7C 08 02 A6 */ mflr r0
/* 8004AEDC 00046B3C C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004AEE0 00046B40 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004AEE4 00046B44 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 8004AEE8 00046B48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004AEEC 00046B4C 7C 7F 1B 78 */ mr r31, r3
/* 8004AEF0 00046B50 2C 00 00 00 */ cmpwi r0, 0
/* 8004AEF4 00046B54 41 82 00 34 */ beq lbl_8004AF28
/* 8004AEF8 00046B58 7C 03 03 78 */ mr r3, r0
/* 8004AEFC 00046B5C 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004AF00 00046B60 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004AF04 00046B64 7D 89 03 A6 */ mtctr r12
/* 8004AF08 00046B68 4E 80 04 21 */ bctrl
/* 8004AF0C 00046B6C C0 02 83 F8 */ lfs f0, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004AF10 00046B70 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8004AF14 00046B74 40 82 00 14 */ bne lbl_8004AF28
/* 8004AF18 00046B78 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8004AF1C 00046B7C 2C 03 00 00 */ cmpwi r3, 0
/* 8004AF20 00046B80 41 82 00 08 */ beq lbl_8004AF28
/* 8004AF24 00046B84 C0 23 00 04 */ lfs f1, 4(r3)
lbl_8004AF28:
/* 8004AF28 00046B88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004AF2C 00046B8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004AF30 00046B90 7C 08 03 A6 */ mtlr r0
/* 8004AF34 00046B94 38 21 00 10 */ addi r1, r1, 0x10
/* 8004AF38 00046B98 4E 80 00 20 */ blr
/* 8004AF3C 00046B9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004AF40 00046BA0 7C 08 02 A6 */ mflr r0
/* 8004AF44 00046BA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004AF48 00046BA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004AF4C 00046BAC 7C 7F 1B 78 */ mr r31, r3
/* 8004AF50 00046BB0 A0 04 00 38 */ lhz r0, 0x38(r4)
/* 8004AF54 00046BB4 28 00 00 0E */ cmplwi r0, 0xe
/* 8004AF58 00046BB8 41 81 01 78 */ bgt lbl_8004B0D0
/* 8004AF5C 00046BBC 3C 60 80 41 */ lis r3, lbl_8040A728@ha
/* 8004AF60 00046BC0 54 00 10 3A */ slwi r0, r0, 2
/* 8004AF64 00046BC4 38 63 A7 28 */ addi r3, r3, lbl_8040A728@l
/* 8004AF68 00046BC8 7C 63 00 2E */ lwzx r3, r3, r0
/* 8004AF6C 00046BCC 7C 69 03 A6 */ mtctr r3
/* 8004AF70 00046BD0 4E 80 04 20 */ bctr
/* 8004AF74 00046BD4 38 60 00 8C */ li r3, 0x8c
/* 8004AF78 00046BD8 48 18 FA B9 */ bl __nw__FUl
/* 8004AF7C 00046BDC 2C 03 00 00 */ cmpwi r3, 0
/* 8004AF80 00046BE0 41 82 00 0C */ beq lbl_8004AF8C
/* 8004AF84 00046BE4 7F E4 FB 78 */ mr r4, r31
/* 8004AF88 00046BE8 48 00 02 B5 */ bl func_8004B23C
lbl_8004AF8C:
/* 8004AF8C 00046BEC 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004AF90 00046BF0 48 00 01 40 */ b lbl_8004B0D0
/* 8004AF94 00046BF4 38 60 00 14 */ li r3, 0x14
/* 8004AF98 00046BF8 48 18 FA 99 */ bl __nw__FUl
/* 8004AF9C 00046BFC 2C 03 00 00 */ cmpwi r3, 0
/* 8004AFA0 00046C00 41 82 00 0C */ beq lbl_8004AFAC
/* 8004AFA4 00046C04 7F E4 FB 78 */ mr r4, r31
/* 8004AFA8 00046C08 48 00 07 25 */ bl func_8004B6CC
lbl_8004AFAC:
/* 8004AFAC 00046C0C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004AFB0 00046C10 48 00 01 20 */ b lbl_8004B0D0
/* 8004AFB4 00046C14 38 60 00 14 */ li r3, 0x14
/* 8004AFB8 00046C18 48 18 FA 79 */ bl __nw__FUl
/* 8004AFBC 00046C1C 2C 03 00 00 */ cmpwi r3, 0
/* 8004AFC0 00046C20 41 82 00 0C */ beq lbl_8004AFCC
/* 8004AFC4 00046C24 7F E4 FB 78 */ mr r4, r31
/* 8004AFC8 00046C28 48 00 07 A5 */ bl func_8004B76C
lbl_8004AFCC:
/* 8004AFCC 00046C2C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004AFD0 00046C30 48 00 01 00 */ b lbl_8004B0D0
/* 8004AFD4 00046C34 38 60 00 48 */ li r3, 0x48
/* 8004AFD8 00046C38 48 18 FA 59 */ bl __nw__FUl
/* 8004AFDC 00046C3C 2C 03 00 00 */ cmpwi r3, 0
/* 8004AFE0 00046C40 41 82 00 0C */ beq lbl_8004AFEC
/* 8004AFE4 00046C44 7F E4 FB 78 */ mr r4, r31
/* 8004AFE8 00046C48 48 00 08 25 */ bl func_8004B80C
lbl_8004AFEC:
/* 8004AFEC 00046C4C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004AFF0 00046C50 48 00 00 E0 */ b lbl_8004B0D0
/* 8004AFF4 00046C54 38 60 00 48 */ li r3, 0x48
/* 8004AFF8 00046C58 48 18 FA 39 */ bl __nw__FUl
/* 8004AFFC 00046C5C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B000 00046C60 41 82 00 0C */ beq lbl_8004B00C
/* 8004B004 00046C64 7F E4 FB 78 */ mr r4, r31
/* 8004B008 00046C68 48 00 0B D1 */ bl func_8004BBD8
lbl_8004B00C:
/* 8004B00C 00046C6C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004B010 00046C70 48 00 00 C0 */ b lbl_8004B0D0
/* 8004B014 00046C74 38 60 00 14 */ li r3, 0x14
/* 8004B018 00046C78 48 18 FA 19 */ bl __nw__FUl
/* 8004B01C 00046C7C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B020 00046C80 41 82 00 0C */ beq lbl_8004B02C
/* 8004B024 00046C84 7F E4 FB 78 */ mr r4, r31
/* 8004B028 00046C88 48 00 0F 31 */ bl func_8004BF58
lbl_8004B02C:
/* 8004B02C 00046C8C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004B030 00046C90 48 00 00 A0 */ b lbl_8004B0D0
/* 8004B034 00046C94 38 60 00 1C */ li r3, 0x1c
/* 8004B038 00046C98 48 18 F9 F9 */ bl __nw__FUl
/* 8004B03C 00046C9C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B040 00046CA0 41 82 00 0C */ beq lbl_8004B04C
/* 8004B044 00046CA4 7F E4 FB 78 */ mr r4, r31
/* 8004B048 00046CA8 48 00 0F B1 */ bl func_8004BFF8
lbl_8004B04C:
/* 8004B04C 00046CAC 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004B050 00046CB0 48 00 00 80 */ b lbl_8004B0D0
/* 8004B054 00046CB4 38 60 00 1C */ li r3, 0x1c
/* 8004B058 00046CB8 48 18 F9 D9 */ bl __nw__FUl
/* 8004B05C 00046CBC 2C 03 00 00 */ cmpwi r3, 0
/* 8004B060 00046CC0 41 82 00 0C */ beq lbl_8004B06C
/* 8004B064 00046CC4 7F E4 FB 78 */ mr r4, r31
/* 8004B068 00046CC8 48 00 13 85 */ bl func_8004C3EC
lbl_8004B06C:
/* 8004B06C 00046CCC 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004B070 00046CD0 48 00 00 60 */ b lbl_8004B0D0
/* 8004B074 00046CD4 38 60 00 B8 */ li r3, 0xb8
/* 8004B078 00046CD8 48 18 F9 B9 */ bl __nw__FUl
/* 8004B07C 00046CDC 2C 03 00 00 */ cmpwi r3, 0
/* 8004B080 00046CE0 41 82 00 0C */ beq lbl_8004B08C
/* 8004B084 00046CE4 7F E4 FB 78 */ mr r4, r31
/* 8004B088 00046CE8 48 00 16 59 */ bl func_8004C6E0
lbl_8004B08C:
/* 8004B08C 00046CEC 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004B090 00046CF0 48 00 00 40 */ b lbl_8004B0D0
/* 8004B094 00046CF4 38 60 00 48 */ li r3, 0x48
/* 8004B098 00046CF8 48 18 F9 99 */ bl __nw__FUl
/* 8004B09C 00046CFC 2C 03 00 00 */ cmpwi r3, 0
/* 8004B0A0 00046D00 41 82 00 0C */ beq lbl_8004B0AC
/* 8004B0A4 00046D04 7F E4 FB 78 */ mr r4, r31
/* 8004B0A8 00046D08 48 00 1A 8D */ bl func_8004CB34
lbl_8004B0AC:
/* 8004B0AC 00046D0C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8004B0B0 00046D10 48 00 00 20 */ b lbl_8004B0D0
/* 8004B0B4 00046D14 38 60 00 4C */ li r3, 0x4c
/* 8004B0B8 00046D18 48 18 F9 79 */ bl __nw__FUl
/* 8004B0BC 00046D1C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B0C0 00046D20 41 82 00 0C */ beq lbl_8004B0CC
/* 8004B0C4 00046D24 7F E4 FB 78 */ mr r4, r31
/* 8004B0C8 00046D28 48 00 21 35 */ bl func_8004D1FC
lbl_8004B0CC:
/* 8004B0CC 00046D2C 90 7F 00 2C */ stw r3, 0x2c(r31)
lbl_8004B0D0:
/* 8004B0D0 00046D30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B0D4 00046D34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B0D8 00046D38 7C 08 03 A6 */ mtlr r0
/* 8004B0DC 00046D3C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B0E0 00046D40 4E 80 00 20 */ blr
/* 8004B0E4 00046D44 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8004B0E8 00046D48 2C 03 00 00 */ cmpwi r3, 0
/* 8004B0EC 00046D4C 4D 82 00 20 */ beqlr
/* 8004B0F0 00046D50 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004B0F4 00046D54 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8004B0F8 00046D58 7D 89 03 A6 */ mtctr r12
/* 8004B0FC 00046D5C 4E 80 04 20 */ bctr
/* 8004B100 00046D60 4E 80 00 20 */ blr
/* 8004B104 00046D64 4E 80 00 20 */ blr
/* 8004B108 00046D68 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8004B10C 00046D6C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B110 00046D70 4D 82 00 20 */ beqlr
/* 8004B114 00046D74 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004B118 00046D78 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004B11C 00046D7C 7D 89 03 A6 */ mtctr r12
/* 8004B120 00046D80 4E 80 04 20 */ bctr
/* 8004B124 00046D84 4E 80 00 20 */ blr
/* 8004B128 00046D88 4E 80 00 20 */ blr
/* 8004B12C 00046D8C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8004B130 00046D90 2C 03 00 00 */ cmpwi r3, 0
/* 8004B134 00046D94 4D 82 00 20 */ beqlr
/* 8004B138 00046D98 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004B13C 00046D9C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8004B140 00046DA0 7D 89 03 A6 */ mtctr r12
/* 8004B144 00046DA4 4E 80 04 20 */ bctr
/* 8004B148 00046DA8 4E 80 00 20 */ blr
/* 8004B14C 00046DAC 4E 80 00 20 */ blr
.global func_8004B150
func_8004B150:
/* 8004B150 00046DB0 3C A0 80 41 */ lis r5, lbl_8040AA70@ha
/* 8004B154 00046DB4 90 83 00 04 */ stw r4, 4(r3)
/* 8004B158 00046DB8 38 A5 AA 70 */ addi r5, r5, lbl_8040AA70@l
/* 8004B15C 00046DBC 90 A3 00 10 */ stw r5, 0x10(r3)
/* 8004B160 00046DC0 80 84 00 14 */ lwz r4, 0x14(r4)
/* 8004B164 00046DC4 38 04 00 38 */ addi r0, r4, 0x38
/* 8004B168 00046DC8 90 83 00 08 */ stw r4, 8(r3)
/* 8004B16C 00046DCC 90 03 00 0C */ stw r0, 0xc(r3)
/* 8004B170 00046DD0 4E 80 00 20 */ blr
.global func_8004B174
func_8004B174:
/* 8004B174 00046DD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B178 00046DD8 7C 08 02 A6 */ mflr r0
/* 8004B17C 00046DDC 2C 03 00 00 */ cmpwi r3, 0
/* 8004B180 00046DE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B184 00046DE4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B188 00046DE8 7C 7F 1B 78 */ mr r31, r3
/* 8004B18C 00046DEC 41 82 00 10 */ beq lbl_8004B19C
/* 8004B190 00046DF0 2C 04 00 00 */ cmpwi r4, 0
/* 8004B194 00046DF4 40 81 00 08 */ ble lbl_8004B19C
/* 8004B198 00046DF8 48 18 F9 21 */ bl __dl__FPv
lbl_8004B19C:
/* 8004B19C 00046DFC 7F E3 FB 78 */ mr r3, r31
/* 8004B1A0 00046E00 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B1A4 00046E04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B1A8 00046E08 7C 08 03 A6 */ mtlr r0
/* 8004B1AC 00046E0C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B1B0 00046E10 4E 80 00 20 */ blr
.global func_8004B1B4
func_8004B1B4:
/* 8004B1B4 00046E14 80 63 00 04 */ lwz r3, 4(r3)
/* 8004B1B8 00046E18 2C 03 00 00 */ cmpwi r3, 0
/* 8004B1BC 00046E1C 40 82 00 0C */ bne lbl_8004B1C8
/* 8004B1C0 00046E20 38 60 00 00 */ li r3, 0
/* 8004B1C4 00046E24 4E 80 00 20 */ blr
lbl_8004B1C8:
/* 8004B1C8 00046E28 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8004B1CC 00046E2C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B1D0 00046E30 41 82 00 0C */ beq lbl_8004B1DC
/* 8004B1D4 00046E34 80 63 00 34 */ lwz r3, 0x34(r3)
/* 8004B1D8 00046E38 4E 80 00 20 */ blr
lbl_8004B1DC:
/* 8004B1DC 00046E3C 38 60 00 00 */ li r3, 0
/* 8004B1E0 00046E40 4E 80 00 20 */ blr
.global func_8004B1E4
func_8004B1E4:
/* 8004B1E4 00046E44 80 63 00 04 */ lwz r3, 4(r3)
/* 8004B1E8 00046E48 2C 03 00 00 */ cmpwi r3, 0
/* 8004B1EC 00046E4C 40 82 00 0C */ bne lbl_8004B1F8
/* 8004B1F0 00046E50 38 60 00 00 */ li r3, 0
/* 8004B1F4 00046E54 4E 80 00 20 */ blr
lbl_8004B1F8:
/* 8004B1F8 00046E58 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8004B1FC 00046E5C 2C 03 00 00 */ cmpwi r3, 0
/* 8004B200 00046E60 41 82 00 18 */ beq lbl_8004B218
/* 8004B204 00046E64 80 63 00 34 */ lwz r3, 0x34(r3)
/* 8004B208 00046E68 2C 03 00 00 */ cmpwi r3, 0
/* 8004B20C 00046E6C 41 82 00 0C */ beq lbl_8004B218
/* 8004B210 00046E70 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004B214 00046E74 4E 80 00 20 */ blr
lbl_8004B218:
/* 8004B218 00046E78 38 60 00 00 */ li r3, 0
/* 8004B21C 00046E7C 4E 80 00 20 */ blr
/* 8004B220 00046E80 80 63 00 08 */ lwz r3, 8(r3)
/* 8004B224 00046E84 2C 03 00 00 */ cmpwi r3, 0
/* 8004B228 00046E88 41 82 00 0C */ beq lbl_8004B234
/* 8004B22C 00046E8C C0 23 00 04 */ lfs f1, 4(r3)
/* 8004B230 00046E90 4E 80 00 20 */ blr
lbl_8004B234:
/* 8004B234 00046E94 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004B238 00046E98 4E 80 00 20 */ blr
.global func_8004B23C
func_8004B23C:
/* 8004B23C 00046E9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B240 00046EA0 7C 08 02 A6 */ mflr r0
/* 8004B244 00046EA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B248 00046EA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B24C 00046EAC 7C 7F 1B 78 */ mr r31, r3
/* 8004B250 00046EB0 4B FF FF 01 */ bl func_8004B150
/* 8004B254 00046EB4 3C 80 80 41 */ lis r4, lbl_8040AA2C@ha
/* 8004B258 00046EB8 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004B25C 00046EBC 38 84 AA 2C */ addi r4, r4, lbl_8040AA2C@l
/* 8004B260 00046EC0 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004B264 00046EC4 48 00 58 D1 */ bl func_80050B34
/* 8004B268 00046EC8 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8004B26C 00046ECC 7F E3 FB 78 */ mr r3, r31
/* 8004B270 00046ED0 38 04 00 08 */ addi r0, r4, 8
/* 8004B274 00046ED4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8004B278 00046ED8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B27C 00046EDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B280 00046EE0 7C 08 03 A6 */ mtlr r0
/* 8004B284 00046EE4 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B288 00046EE8 4E 80 00 20 */ blr
/* 8004B28C 00046EEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B290 00046EF0 7C 08 02 A6 */ mflr r0
/* 8004B294 00046EF4 2C 03 00 00 */ cmpwi r3, 0
/* 8004B298 00046EF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B29C 00046EFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B2A0 00046F00 7C 9F 23 78 */ mr r31, r4
/* 8004B2A4 00046F04 93 C1 00 08 */ stw r30, 8(r1)
/* 8004B2A8 00046F08 7C 7E 1B 78 */ mr r30, r3
/* 8004B2AC 00046F0C 41 82 00 1C */ beq lbl_8004B2C8
/* 8004B2B0 00046F10 38 80 00 00 */ li r4, 0
/* 8004B2B4 00046F14 4B FF FE C1 */ bl func_8004B174
/* 8004B2B8 00046F18 2C 1F 00 00 */ cmpwi r31, 0
/* 8004B2BC 00046F1C 40 81 00 0C */ ble lbl_8004B2C8
/* 8004B2C0 00046F20 7F C3 F3 78 */ mr r3, r30
/* 8004B2C4 00046F24 48 18 F7 F5 */ bl __dl__FPv
lbl_8004B2C8:
/* 8004B2C8 00046F28 7F C3 F3 78 */ mr r3, r30
/* 8004B2CC 00046F2C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B2D0 00046F30 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004B2D4 00046F34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B2D8 00046F38 7C 08 03 A6 */ mtlr r0
/* 8004B2DC 00046F3C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B2E0 00046F40 4E 80 00 20 */ blr
/* 8004B2E4 00046F44 38 00 00 00 */ li r0, 0
/* 8004B2E8 00046F48 90 03 00 88 */ stw r0, 0x88(r3)
/* 8004B2EC 00046F4C 48 00 00 04 */ b func_8004B2F0
.global func_8004B2F0
func_8004B2F0:
/* 8004B2F0 00046F50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B2F4 00046F54 7C 08 02 A6 */ mflr r0
/* 8004B2F8 00046F58 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004B2FC 00046F5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B300 00046F60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B304 00046F64 7C 7F 1B 78 */ mr r31, r3
/* 8004B308 00046F68 80 03 00 88 */ lwz r0, 0x88(r3)
/* 8004B30C 00046F6C 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004B310 00046F70 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8004B314 00046F74 7C 84 02 14 */ add r4, r4, r0
/* 8004B318 00046F78 38 84 00 08 */ addi r4, r4, 8
/* 8004B31C 00046F7C 90 83 00 18 */ stw r4, 0x18(r3)
/* 8004B320 00046F80 C0 04 00 08 */ lfs f0, 8(r4)
/* 8004B324 00046F84 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8004B328 00046F88 40 82 00 20 */ bne lbl_8004B348
/* 8004B32C 00046F8C 38 63 00 58 */ addi r3, r3, 0x58
/* 8004B330 00046F90 4B FF FA 31 */ bl func_8004AD60
/* 8004B334 00046F94 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004B338 00046F98 7F E3 FB 78 */ mr r3, r31
/* 8004B33C 00046F9C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004B340 00046FA0 7D 89 03 A6 */ mtctr r12
/* 8004B344 00046FA4 4E 80 04 21 */ bctrl
lbl_8004B348:
/* 8004B348 00046FA8 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004B34C 00046FAC 48 00 58 95 */ bl func_80050BE0
/* 8004B350 00046FB0 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004B354 00046FB4 38 9F 00 68 */ addi r4, r31, 0x68
/* 8004B358 00046FB8 4B FF F9 9D */ bl func_8004ACF4
/* 8004B35C 00046FBC 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004B360 00046FC0 38 9F 00 78 */ addi r4, r31, 0x78
/* 8004B364 00046FC4 38 63 00 04 */ addi r3, r3, 4
/* 8004B368 00046FC8 4B FF F9 8D */ bl func_8004ACF4
/* 8004B36C 00046FCC 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8004B370 00046FD0 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004B374 00046FD4 38 9F 00 68 */ addi r4, r31, 0x68
/* 8004B378 00046FD8 38 BF 00 78 */ addi r5, r31, 0x78
/* 8004B37C 00046FDC C0 26 00 08 */ lfs f1, 8(r6)
/* 8004B380 00046FE0 38 DF 00 58 */ addi r6, r31, 0x58
/* 8004B384 00046FE4 38 E0 00 00 */ li r7, 0
/* 8004B388 00046FE8 48 00 57 C5 */ bl func_80050B4C
/* 8004B38C 00046FEC 80 7F 00 88 */ lwz r3, 0x88(r31)
/* 8004B390 00046FF0 38 00 00 01 */ li r0, 1
/* 8004B394 00046FF4 98 1F 00 00 */ stb r0, 0(r31)
/* 8004B398 00046FF8 38 03 00 01 */ addi r0, r3, 1
/* 8004B39C 00046FFC 90 1F 00 88 */ stw r0, 0x88(r31)
/* 8004B3A0 00047000 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B3A4 00047004 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B3A8 00047008 7C 08 03 A6 */ mtlr r0
/* 8004B3AC 0004700C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B3B0 00047010 4E 80 00 20 */ blr
/* 8004B3B4 00047014 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004B3B8 00047018 7C 08 02 A6 */ mflr r0
/* 8004B3BC 0004701C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004B3C0 00047020 38 00 00 00 */ li r0, 0
/* 8004B3C4 00047024 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004B3C8 00047028 7C 7F 1B 78 */ mr r31, r3
/* 8004B3CC 0004702C 98 03 00 00 */ stb r0, 0(r3)
/* 8004B3D0 00047030 38 63 00 1C */ addi r3, r3, 0x1c
/* 8004B3D4 00047034 48 00 58 0D */ bl func_80050BE0
/* 8004B3D8 00047038 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004B3DC 0004703C C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004B3E0 00047040 88 64 00 05 */ lbz r3, 5(r4)
/* 8004B3E4 00047044 38 03 FF FF */ addi r0, r3, -1
/* 8004B3E8 00047048 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8004B3EC 0004704C 7C 64 02 14 */ add r3, r4, r0
/* 8004B3F0 00047050 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8004B3F4 00047054 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8004B3F8 00047058 41 82 00 24 */ beq lbl_8004B41C
/* 8004B3FC 0004705C 38 00 00 80 */ li r0, 0x80
/* 8004B400 00047060 7F E3 FB 78 */ mr r3, r31
/* 8004B404 00047064 98 01 00 08 */ stb r0, 8(r1)
/* 8004B408 00047068 38 81 00 08 */ addi r4, r1, 8
/* 8004B40C 0004706C 98 01 00 09 */ stb r0, 9(r1)
/* 8004B410 00047070 98 01 00 0A */ stb r0, 0xa(r1)
/* 8004B414 00047074 98 01 00 0B */ stb r0, 0xb(r1)
/* 8004B418 00047078 48 00 00 B5 */ bl func_8004B4CC
lbl_8004B41C:
/* 8004B41C 0004707C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004B420 00047080 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004B424 00047084 7C 08 03 A6 */ mtlr r0
/* 8004B428 00047088 38 21 00 20 */ addi r1, r1, 0x20
/* 8004B42C 0004708C 4E 80 00 20 */ blr
/* 8004B430 00047090 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004B434 00047094 7C 08 02 A6 */ mflr r0
/* 8004B438 00047098 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004B43C 0004709C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004B440 000470A0 7C 7F 1B 78 */ mr r31, r3
/* 8004B444 000470A4 88 03 00 00 */ lbz r0, 0(r3)
/* 8004B448 000470A8 2C 00 00 00 */ cmpwi r0, 0
/* 8004B44C 000470AC 41 82 00 6C */ beq lbl_8004B4B8
/* 8004B450 000470B0 81 83 00 54 */ lwz r12, 0x54(r3)
/* 8004B454 000470B4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004B458 000470B8 7D 89 03 A6 */ mtctr r12
/* 8004B45C 000470BC 38 63 00 1C */ addi r3, r3, 0x1c
/* 8004B460 000470C0 4E 80 04 21 */ bctrl
/* 8004B464 000470C4 2C 03 00 00 */ cmpwi r3, 0
/* 8004B468 000470C8 40 82 00 38 */ bne lbl_8004B4A0
/* 8004B46C 000470CC 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8004B470 000470D0 80 9F 00 88 */ lwz r4, 0x88(r31)
/* 8004B474 000470D4 88 03 00 05 */ lbz r0, 5(r3)
/* 8004B478 000470D8 7C 04 00 00 */ cmpw r4, r0
/* 8004B47C 000470DC 41 80 00 1C */ blt lbl_8004B498
/* 8004B480 000470E0 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004B484 000470E4 7F E3 FB 78 */ mr r3, r31
/* 8004B488 000470E8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004B48C 000470EC 7D 89 03 A6 */ mtctr r12
/* 8004B490 000470F0 4E 80 04 21 */ bctrl
/* 8004B494 000470F4 48 00 00 0C */ b lbl_8004B4A0
lbl_8004B498:
/* 8004B498 000470F8 7F E3 FB 78 */ mr r3, r31
/* 8004B49C 000470FC 4B FF FE 55 */ bl func_8004B2F0
lbl_8004B4A0:
/* 8004B4A0 00047100 38 7F 00 58 */ addi r3, r31, 0x58
/* 8004B4A4 00047104 38 81 00 08 */ addi r4, r1, 8
/* 8004B4A8 00047108 4B FF F8 B9 */ bl func_8004AD60
/* 8004B4AC 0004710C 7F E3 FB 78 */ mr r3, r31
/* 8004B4B0 00047110 38 81 00 08 */ addi r4, r1, 8
/* 8004B4B4 00047114 48 00 00 19 */ bl func_8004B4CC
lbl_8004B4B8:
/* 8004B4B8 00047118 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004B4BC 0004711C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004B4C0 00047120 7C 08 03 A6 */ mtlr r0
/* 8004B4C4 00047124 38 21 00 20 */ addi r1, r1, 0x20
/* 8004B4C8 00047128 4E 80 00 20 */ blr
.global func_8004B4CC
func_8004B4CC:
/* 8004B4CC 0004712C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004B4D0 00047130 7C 08 02 A6 */ mflr r0
/* 8004B4D4 00047134 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004B4D8 00047138 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004B4DC 0004713C 3B E0 00 00 */ li r31, 0
/* 8004B4E0 00047140 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004B4E4 00047144 7C 9E 23 78 */ mr r30, r4
/* 8004B4E8 00047148 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004B4EC 0004714C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8004B4F0 00047150 7C 7C 1B 78 */ mr r28, r3
/* 8004B4F4 00047154 48 00 23 19 */ bl func_8004D80C
/* 8004B4F8 00047158 3B A3 34 C0 */ addi r29, r3, 0x34c0
/* 8004B4FC 0004715C 4B FF A0 95 */ bl func_80045590
/* 8004B500 00047160 80 9C 00 04 */ lwz r4, 4(r28)
/* 8004B504 00047164 80 84 00 18 */ lwz r4, 0x18(r4)
/* 8004B508 00047168 2C 04 00 00 */ cmpwi r4, 0
/* 8004B50C 0004716C 41 82 00 08 */ beq lbl_8004B514
/* 8004B510 00047170 83 E4 00 34 */ lwz r31, 0x34(r4)
lbl_8004B514:
/* 8004B514 00047174 80 9C 00 14 */ lwz r4, 0x14(r28)
/* 8004B518 00047178 80 04 00 00 */ lwz r0, 0(r4)
/* 8004B51C 0004717C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8004B520 00047180 41 82 00 14 */ beq lbl_8004B534
/* 8004B524 00047184 38 00 00 80 */ li r0, 0x80
/* 8004B528 00047188 98 1E 00 00 */ stb r0, 0(r30)
/* 8004B52C 0004718C 98 1E 00 01 */ stb r0, 1(r30)
/* 8004B530 00047190 98 1E 00 02 */ stb r0, 2(r30)
lbl_8004B534:
/* 8004B534 00047194 80 9C 00 14 */ lwz r4, 0x14(r28)
/* 8004B538 00047198 80 04 00 00 */ lwz r0, 0(r4)
/* 8004B53C 0004719C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8004B540 000471A0 40 82 00 0C */ bne lbl_8004B54C
/* 8004B544 000471A4 38 00 00 FF */ li r0, 0xff
/* 8004B548 000471A8 98 1E 00 03 */ stb r0, 3(r30)
lbl_8004B54C:
/* 8004B54C 000471AC 80 9C 00 14 */ lwz r4, 0x14(r28)
/* 8004B550 000471B0 88 04 00 04 */ lbz r0, 4(r4)
/* 8004B554 000471B4 2C 00 00 01 */ cmpwi r0, 1
/* 8004B558 000471B8 41 82 00 30 */ beq lbl_8004B588
/* 8004B55C 000471BC 40 80 00 10 */ bge lbl_8004B56C
/* 8004B560 000471C0 2C 00 00 00 */ cmpwi r0, 0
/* 8004B564 000471C4 40 80 00 14 */ bge lbl_8004B578
/* 8004B568 000471C8 48 00 00 5C */ b lbl_8004B5C4
lbl_8004B56C:
/* 8004B56C 000471CC 2C 00 00 03 */ cmpwi r0, 3
/* 8004B570 000471D0 40 80 00 54 */ bge lbl_8004B5C4
/* 8004B574 000471D4 48 00 00 24 */ b lbl_8004B598
lbl_8004B578:
/* 8004B578 000471D8 7F A3 EB 78 */ mr r3, r29
/* 8004B57C 000471DC 7F C4 F3 78 */ mr r4, r30
/* 8004B580 000471E0 48 00 36 21 */ bl func_8004EBA0
/* 8004B584 000471E4 48 00 00 40 */ b lbl_8004B5C4
lbl_8004B588:
/* 8004B588 000471E8 38 80 01 00 */ li r4, 0x100
/* 8004B58C 000471EC 38 A0 00 00 */ li r5, 0
/* 8004B590 000471F0 4B FF A5 71 */ bl func_80045B00
/* 8004B594 000471F4 7C 7F 1B 78 */ mr r31, r3
lbl_8004B598:
/* 8004B598 000471F8 80 7C 00 14 */ lwz r3, 0x14(r28)
/* 8004B59C 000471FC 80 03 00 00 */ lwz r0, 0(r3)
/* 8004B5A0 00047200 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8004B5A4 00047204 41 82 00 14 */ beq lbl_8004B5B8
/* 8004B5A8 00047208 7F E3 FB 78 */ mr r3, r31
/* 8004B5AC 0004720C 7F C4 F3 78 */ mr r4, r30
/* 8004B5B0 00047210 4B FF 0D 15 */ bl func_8003C2C4
/* 8004B5B4 00047214 48 00 00 10 */ b lbl_8004B5C4
lbl_8004B5B8:
/* 8004B5B8 00047218 7F E3 FB 78 */ mr r3, r31
/* 8004B5BC 0004721C 7F C4 F3 78 */ mr r4, r30
/* 8004B5C0 00047220 4B FF 0E FD */ bl func_8003C4BC
lbl_8004B5C4:
/* 8004B5C4 00047224 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004B5C8 00047228 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004B5CC 0004722C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004B5D0 00047230 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004B5D4 00047234 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8004B5D8 00047238 7C 08 03 A6 */ mtlr r0
/* 8004B5DC 0004723C 38 21 00 20 */ addi r1, r1, 0x20
/* 8004B5E0 00047240 4E 80 00 20 */ blr
/* 8004B5E4 00047244 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004B5E8 00047248 39 00 00 00 */ li r8, 0
/* 8004B5EC 0004724C C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004B5F0 00047250 88 E4 00 05 */ lbz r7, 5(r4)
/* 8004B5F4 00047254 2C 87 00 00 */ cmpwi cr1, r7, 0
/* 8004B5F8 00047258 4C 85 00 20 */ blelr cr1
/* 8004B5FC 0004725C 2C 07 00 08 */ cmpwi r7, 8
/* 8004B600 00047260 38 A7 FF F8 */ addi r5, r7, -8
/* 8004B604 00047264 40 81 00 94 */ ble lbl_8004B698
/* 8004B608 00047268 38 C0 00 00 */ li r6, 0
/* 8004B60C 0004726C 41 84 00 18 */ blt cr1, lbl_8004B624
/* 8004B610 00047270 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha
/* 8004B614 00047274 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l
/* 8004B618 00047278 7C 07 00 00 */ cmpw r7, r0
/* 8004B61C 0004727C 41 81 00 08 */ bgt lbl_8004B624
/* 8004B620 00047280 38 C0 00 01 */ li r6, 1
lbl_8004B624:
/* 8004B624 00047284 2C 06 00 00 */ cmpwi r6, 0
/* 8004B628 00047288 41 82 00 70 */ beq lbl_8004B698
/* 8004B62C 0004728C 38 05 00 07 */ addi r0, r5, 7
/* 8004B630 00047290 38 80 00 00 */ li r4, 0
/* 8004B634 00047294 54 00 E8 FE */ srwi r0, r0, 3
/* 8004B638 00047298 7C 09 03 A6 */ mtctr r0
/* 8004B63C 0004729C 2C 05 00 00 */ cmpwi r5, 0
/* 8004B640 000472A0 40 81 00 58 */ ble lbl_8004B698
lbl_8004B644:
/* 8004B644 000472A4 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8004B648 000472A8 39 08 00 08 */ addi r8, r8, 8
/* 8004B64C 000472AC 7C A0 22 14 */ add r5, r0, r4
/* 8004B650 000472B0 38 84 00 60 */ addi r4, r4, 0x60
/* 8004B654 000472B4 C0 45 00 10 */ lfs f2, 0x10(r5)
/* 8004B658 000472B8 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 8004B65C 000472BC EC 21 10 2A */ fadds f1, f1, f2
/* 8004B660 000472C0 C0 C5 00 28 */ lfs f6, 0x28(r5)
/* 8004B664 000472C4 C0 A5 00 34 */ lfs f5, 0x34(r5)
/* 8004B668 000472C8 C0 85 00 40 */ lfs f4, 0x40(r5)
/* 8004B66C 000472CC EC 21 00 2A */ fadds f1, f1, f0
/* 8004B670 000472D0 C0 65 00 4C */ lfs f3, 0x4c(r5)
/* 8004B674 000472D4 C0 45 00 58 */ lfs f2, 0x58(r5)
/* 8004B678 000472D8 C0 05 00 64 */ lfs f0, 0x64(r5)
/* 8004B67C 000472DC EC 21 30 2A */ fadds f1, f1, f6
/* 8004B680 000472E0 EC 21 28 2A */ fadds f1, f1, f5
/* 8004B684 000472E4 EC 21 20 2A */ fadds f1, f1, f4
/* 8004B688 000472E8 EC 21 18 2A */ fadds f1, f1, f3
/* 8004B68C 000472EC EC 21 10 2A */ fadds f1, f1, f2
/* 8004B690 000472F0 EC 21 00 2A */ fadds f1, f1, f0
/* 8004B694 000472F4 42 00 FF B0 */ bdnz lbl_8004B644
lbl_8004B698:
/* 8004B698 000472F8 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 8004B69C 000472FC 1C 88 00 0C */ mulli r4, r8, 0xc
/* 8004B6A0 00047300 88 65 00 05 */ lbz r3, 5(r5)
/* 8004B6A4 00047304 7C 08 18 50 */ subf r0, r8, r3
/* 8004B6A8 00047308 7C 09 03 A6 */ mtctr r0
/* 8004B6AC 0004730C 7C 08 18 00 */ cmpw r8, r3
/* 8004B6B0 00047310 4C 80 00 20 */ bgelr
lbl_8004B6B4:
/* 8004B6B4 00047314 7C 65 22 14 */ add r3, r5, r4
/* 8004B6B8 00047318 38 84 00 0C */ addi r4, r4, 0xc
/* 8004B6BC 0004731C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8004B6C0 00047320 EC 21 00 2A */ fadds f1, f1, f0
/* 8004B6C4 00047324 42 00 FF F0 */ bdnz lbl_8004B6B4
/* 8004B6C8 00047328 4E 80 00 20 */ blr
.global func_8004B6CC
func_8004B6CC:
/* 8004B6CC 0004732C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B6D0 00047330 7C 08 02 A6 */ mflr r0
/* 8004B6D4 00047334 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B6D8 00047338 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B6DC 0004733C 7C 7F 1B 78 */ mr r31, r3
/* 8004B6E0 00047340 4B FF FA 71 */ bl func_8004B150
/* 8004B6E4 00047344 3C 80 80 41 */ lis r4, lbl_8040A9E4@ha
/* 8004B6E8 00047348 7F E3 FB 78 */ mr r3, r31
/* 8004B6EC 0004734C 38 84 A9 E4 */ addi r4, r4, lbl_8040A9E4@l
/* 8004B6F0 00047350 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004B6F4 00047354 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B6F8 00047358 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B6FC 0004735C 7C 08 03 A6 */ mtlr r0
/* 8004B700 00047360 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B704 00047364 4E 80 00 20 */ blr
/* 8004B708 00047368 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B70C 0004736C 7C 08 02 A6 */ mflr r0
/* 8004B710 00047370 2C 03 00 00 */ cmpwi r3, 0
/* 8004B714 00047374 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B718 00047378 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B71C 0004737C 7C 9F 23 78 */ mr r31, r4
/* 8004B720 00047380 93 C1 00 08 */ stw r30, 8(r1)
/* 8004B724 00047384 7C 7E 1B 78 */ mr r30, r3
/* 8004B728 00047388 41 82 00 1C */ beq lbl_8004B744
/* 8004B72C 0004738C 38 80 00 00 */ li r4, 0
/* 8004B730 00047390 4B FF FA 45 */ bl func_8004B174
/* 8004B734 00047394 2C 1F 00 00 */ cmpwi r31, 0
/* 8004B738 00047398 40 81 00 0C */ ble lbl_8004B744
/* 8004B73C 0004739C 7F C3 F3 78 */ mr r3, r30
/* 8004B740 000473A0 48 18 F3 79 */ bl __dl__FPv
lbl_8004B744:
/* 8004B744 000473A4 7F C3 F3 78 */ mr r3, r30
/* 8004B748 000473A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B74C 000473AC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004B750 000473B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B754 000473B4 7C 08 03 A6 */ mtlr r0
/* 8004B758 000473B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B75C 000473BC 4E 80 00 20 */ blr
/* 8004B760 000473C0 4E 80 00 20 */ blr
/* 8004B764 000473C4 4E 80 00 20 */ blr
/* 8004B768 000473C8 4E 80 00 20 */ blr
.global func_8004B76C
func_8004B76C:
/* 8004B76C 000473CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B770 000473D0 7C 08 02 A6 */ mflr r0
/* 8004B774 000473D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B778 000473D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B77C 000473DC 7C 7F 1B 78 */ mr r31, r3
/* 8004B780 000473E0 4B FF F9 D1 */ bl func_8004B150
/* 8004B784 000473E4 3C 80 80 41 */ lis r4, lbl_8040A998@ha
/* 8004B788 000473E8 7F E3 FB 78 */ mr r3, r31
/* 8004B78C 000473EC 38 84 A9 98 */ addi r4, r4, lbl_8040A998@l
/* 8004B790 000473F0 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004B794 000473F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B798 000473F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B79C 000473FC 7C 08 03 A6 */ mtlr r0
/* 8004B7A0 00047400 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B7A4 00047404 4E 80 00 20 */ blr
/* 8004B7A8 00047408 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B7AC 0004740C 7C 08 02 A6 */ mflr r0
/* 8004B7B0 00047410 2C 03 00 00 */ cmpwi r3, 0
/* 8004B7B4 00047414 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B7B8 00047418 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B7BC 0004741C 7C 9F 23 78 */ mr r31, r4
/* 8004B7C0 00047420 93 C1 00 08 */ stw r30, 8(r1)
/* 8004B7C4 00047424 7C 7E 1B 78 */ mr r30, r3
/* 8004B7C8 00047428 41 82 00 1C */ beq lbl_8004B7E4
/* 8004B7CC 0004742C 38 80 00 00 */ li r4, 0
/* 8004B7D0 00047430 4B FF F9 A5 */ bl func_8004B174
/* 8004B7D4 00047434 2C 1F 00 00 */ cmpwi r31, 0
/* 8004B7D8 00047438 40 81 00 0C */ ble lbl_8004B7E4
/* 8004B7DC 0004743C 7F C3 F3 78 */ mr r3, r30
/* 8004B7E0 00047440 48 18 F2 D9 */ bl __dl__FPv
lbl_8004B7E4:
/* 8004B7E4 00047444 7F C3 F3 78 */ mr r3, r30
/* 8004B7E8 00047448 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B7EC 0004744C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004B7F0 00047450 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B7F4 00047454 7C 08 03 A6 */ mtlr r0
/* 8004B7F8 00047458 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B7FC 0004745C 4E 80 00 20 */ blr
/* 8004B800 00047460 4E 80 00 20 */ blr
/* 8004B804 00047464 4E 80 00 20 */ blr
/* 8004B808 00047468 4E 80 00 20 */ blr
.global func_8004B80C
func_8004B80C:
/* 8004B80C 0004746C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B810 00047470 7C 08 02 A6 */ mflr r0
/* 8004B814 00047474 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B818 00047478 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B81C 0004747C 7C 7F 1B 78 */ mr r31, r3
/* 8004B820 00047480 4B FF F9 31 */ bl func_8004B150
/* 8004B824 00047484 3C 80 80 41 */ lis r4, lbl_8040A954@ha
/* 8004B828 00047488 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004B82C 0004748C 38 84 A9 54 */ addi r4, r4, lbl_8040A954@l
/* 8004B830 00047490 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004B834 00047494 48 00 4A F1 */ bl func_80050324
/* 8004B838 00047498 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8004B83C 0004749C 38 00 00 00 */ li r0, 0
/* 8004B840 000474A0 90 1F 00 44 */ stw r0, 0x44(r31)
/* 8004B844 000474A4 7F E3 FB 78 */ mr r3, r31
/* 8004B848 000474A8 38 04 00 08 */ addi r0, r4, 8
/* 8004B84C 000474AC 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8004B850 000474B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B854 000474B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B858 000474B8 7C 08 03 A6 */ mtlr r0
/* 8004B85C 000474BC 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B860 000474C0 4E 80 00 20 */ blr
/* 8004B864 000474C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B868 000474C8 7C 08 02 A6 */ mflr r0
/* 8004B86C 000474CC 2C 03 00 00 */ cmpwi r3, 0
/* 8004B870 000474D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B874 000474D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B878 000474D8 7C 9F 23 78 */ mr r31, r4
/* 8004B87C 000474DC 93 C1 00 08 */ stw r30, 8(r1)
/* 8004B880 000474E0 7C 7E 1B 78 */ mr r30, r3
/* 8004B884 000474E4 41 82 00 1C */ beq lbl_8004B8A0
/* 8004B888 000474E8 38 80 00 00 */ li r4, 0
/* 8004B88C 000474EC 4B FF F8 E9 */ bl func_8004B174
/* 8004B890 000474F0 2C 1F 00 00 */ cmpwi r31, 0
/* 8004B894 000474F4 40 81 00 0C */ ble lbl_8004B8A0
/* 8004B898 000474F8 7F C3 F3 78 */ mr r3, r30
/* 8004B89C 000474FC 48 18 F2 1D */ bl __dl__FPv
lbl_8004B8A0:
/* 8004B8A0 00047500 7F C3 F3 78 */ mr r3, r30
/* 8004B8A4 00047504 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B8A8 00047508 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004B8AC 0004750C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B8B0 00047510 7C 08 03 A6 */ mtlr r0
/* 8004B8B4 00047514 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B8B8 00047518 4E 80 00 20 */ blr
/* 8004B8BC 0004751C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B8C0 00047520 7C 08 02 A6 */ mflr r0
/* 8004B8C4 00047524 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B8C8 00047528 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B8CC 0004752C 7C 7F 1B 78 */ mr r31, r3
/* 8004B8D0 00047530 4B FF F9 15 */ bl func_8004B1E4
/* 8004B8D4 00047534 2C 03 00 00 */ cmpwi r3, 0
/* 8004B8D8 00047538 41 82 00 14 */ beq lbl_8004B8EC
/* 8004B8DC 0004753C 38 00 00 00 */ li r0, 0
/* 8004B8E0 00047540 7F E3 FB 78 */ mr r3, r31
/* 8004B8E4 00047544 90 1F 00 44 */ stw r0, 0x44(r31)
/* 8004B8E8 00047548 48 00 00 19 */ bl func_8004B900
lbl_8004B8EC:
/* 8004B8EC 0004754C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B8F0 00047550 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B8F4 00047554 7C 08 03 A6 */ mtlr r0
/* 8004B8F8 00047558 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B8FC 0004755C 4E 80 00 20 */ blr
.global func_8004B900
func_8004B900:
/* 8004B900 00047560 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B904 00047564 7C 08 02 A6 */ mflr r0
/* 8004B908 00047568 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004B90C 0004756C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B910 00047570 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B914 00047574 7C 7F 1B 78 */ mr r31, r3
/* 8004B918 00047578 80 03 00 44 */ lwz r0, 0x44(r3)
/* 8004B91C 0004757C 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004B920 00047580 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8004B924 00047584 7C 84 02 14 */ add r4, r4, r0
/* 8004B928 00047588 38 84 00 08 */ addi r4, r4, 8
/* 8004B92C 0004758C 90 83 00 18 */ stw r4, 0x18(r3)
/* 8004B930 00047590 C0 04 00 08 */ lfs f0, 8(r4)
/* 8004B934 00047594 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8004B938 00047598 40 82 00 1C */ bne lbl_8004B954
/* 8004B93C 0004759C C0 04 00 00 */ lfs f0, 0(r4)
/* 8004B940 000475A0 D0 03 00 40 */ stfs f0, 0x40(r3)
/* 8004B944 000475A4 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004B948 000475A8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004B94C 000475AC 7D 89 03 A6 */ mtctr r12
/* 8004B950 000475B0 4E 80 04 21 */ bctrl
lbl_8004B954:
/* 8004B954 000475B4 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8004B958 000475B8 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004B95C 000475BC 38 DF 00 40 */ addi r6, r31, 0x40
/* 8004B960 000475C0 38 E0 00 00 */ li r7, 0
/* 8004B964 000475C4 C0 24 00 08 */ lfs f1, 8(r4)
/* 8004B968 000475C8 38 A4 00 04 */ addi r5, r4, 4
/* 8004B96C 000475CC 48 00 49 D1 */ bl func_8005033C
/* 8004B970 000475D0 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 8004B974 000475D4 38 00 00 01 */ li r0, 1
/* 8004B978 000475D8 98 1F 00 00 */ stb r0, 0(r31)
/* 8004B97C 000475DC 38 03 00 01 */ addi r0, r3, 1
/* 8004B980 000475E0 90 1F 00 44 */ stw r0, 0x44(r31)
/* 8004B984 000475E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B988 000475E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B98C 000475EC 7C 08 03 A6 */ mtlr r0
/* 8004B990 000475F0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B994 000475F4 4E 80 00 20 */ blr
/* 8004B998 000475F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004B99C 000475FC 7C 08 02 A6 */ mflr r0
/* 8004B9A0 00047600 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004B9A4 00047604 38 00 00 00 */ li r0, 0
/* 8004B9A8 00047608 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004B9AC 0004760C 7C 7F 1B 78 */ mr r31, r3
/* 8004B9B0 00047610 98 03 00 00 */ stb r0, 0(r3)
/* 8004B9B4 00047614 38 63 00 1C */ addi r3, r3, 0x1c
/* 8004B9B8 00047618 48 00 49 D1 */ bl func_80050388
/* 8004B9BC 0004761C 7F E3 FB 78 */ mr r3, r31
/* 8004B9C0 00047620 4B FF F8 25 */ bl func_8004B1E4
/* 8004B9C4 00047624 2C 03 00 00 */ cmpwi r3, 0
/* 8004B9C8 00047628 41 82 00 0C */ beq lbl_8004B9D4
/* 8004B9CC 0004762C 38 80 00 00 */ li r4, 0
/* 8004B9D0 00047630 48 1A A7 4D */ bl func_801F611C
lbl_8004B9D4:
/* 8004B9D4 00047634 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004B9D8 00047638 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004B9DC 0004763C 7C 08 03 A6 */ mtlr r0
/* 8004B9E0 00047640 38 21 00 10 */ addi r1, r1, 0x10
/* 8004B9E4 00047644 4E 80 00 20 */ blr
/* 8004B9E8 00047648 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8004B9EC 0004764C 7C 08 02 A6 */ mflr r0
/* 8004B9F0 00047650 90 01 00 34 */ stw r0, 0x34(r1)
/* 8004B9F4 00047654 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8004B9F8 00047658 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8004B9FC 0004765C FF E0 08 90 */ fmr f31, f1
/* 8004BA00 00047660 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004BA04 00047664 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004BA08 00047668 7C 7E 1B 78 */ mr r30, r3
/* 8004BA0C 0004766C 4B FE 76 7D */ bl func_80033088
/* 8004BA10 00047670 88 1E 00 00 */ lbz r0, 0(r30)
/* 8004BA14 00047674 2C 00 00 00 */ cmpwi r0, 0
/* 8004BA18 00047678 41 82 00 B8 */ beq lbl_8004BAD0
/* 8004BA1C 0004767C 81 9E 00 3C */ lwz r12, 0x3c(r30)
/* 8004BA20 00047680 FC 20 F8 90 */ fmr f1, f31
/* 8004BA24 00047684 38 7E 00 1C */ addi r3, r30, 0x1c
/* 8004BA28 00047688 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004BA2C 0004768C 7D 89 03 A6 */ mtctr r12
/* 8004BA30 00047690 4E 80 04 21 */ bctrl
/* 8004BA34 00047694 2C 03 00 00 */ cmpwi r3, 0
/* 8004BA38 00047698 40 82 00 38 */ bne lbl_8004BA70
/* 8004BA3C 0004769C 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004BA40 000476A0 80 9E 00 44 */ lwz r4, 0x44(r30)
/* 8004BA44 000476A4 A0 03 00 06 */ lhz r0, 6(r3)
/* 8004BA48 000476A8 7C 04 00 00 */ cmpw r4, r0
/* 8004BA4C 000476AC 41 80 00 1C */ blt lbl_8004BA68
/* 8004BA50 000476B0 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004BA54 000476B4 7F C3 F3 78 */ mr r3, r30
/* 8004BA58 000476B8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004BA5C 000476BC 7D 89 03 A6 */ mtctr r12
/* 8004BA60 000476C0 4E 80 04 21 */ bctrl
/* 8004BA64 000476C4 48 00 00 0C */ b lbl_8004BA70
lbl_8004BA68:
/* 8004BA68 000476C8 7F C3 F3 78 */ mr r3, r30
/* 8004BA6C 000476CC 4B FF FE 95 */ bl func_8004B900
lbl_8004BA70:
/* 8004BA70 000476D0 7F C3 F3 78 */ mr r3, r30
/* 8004BA74 000476D4 4B FF F7 71 */ bl func_8004B1E4
/* 8004BA78 000476D8 2C 03 00 00 */ cmpwi r3, 0
/* 8004BA7C 000476DC 7C 7F 1B 78 */ mr r31, r3
/* 8004BA80 000476E0 41 82 00 50 */ beq lbl_8004BAD0
/* 8004BA84 000476E4 C0 22 83 FC */ lfs f1, lbl_806409FC-_SDA2_BASE_(r2)
/* 8004BA88 000476E8 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8004BA8C 000476EC EC 41 00 32 */ fmuls f2, f1, f0
/* 8004BA90 000476F0 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8004BA94 000476F4 40 81 00 08 */ ble lbl_8004BA9C
/* 8004BA98 000476F8 FC 40 08 90 */ fmr f2, f1
lbl_8004BA9C:
/* 8004BA9C 000476FC C0 02 83 F8 */ lfs f0, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004BAA0 00047700 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8004BAA4 00047704 40 80 00 08 */ bge lbl_8004BAAC
/* 8004BAA8 00047708 FC 40 00 90 */ fmr f2, f0
lbl_8004BAAC:
/* 8004BAAC 0004770C FC 00 10 1E */ fctiwz f0, f2
/* 8004BAB0 00047710 7F E3 FB 78 */ mr r3, r31
/* 8004BAB4 00047714 D8 01 00 08 */ stfd f0, 8(r1)
/* 8004BAB8 00047718 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8004BABC 0004771C 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8004BAC0 00047720 48 1A A6 5D */ bl func_801F611C
/* 8004BAC4 00047724 7F E3 FB 78 */ mr r3, r31
/* 8004BAC8 00047728 38 80 00 00 */ li r4, 0
/* 8004BACC 0004772C 48 1A A6 8D */ bl func_801F6158
lbl_8004BAD0:
/* 8004BAD0 00047730 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8004BAD4 00047734 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8004BAD8 00047738 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8004BADC 0004773C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004BAE0 00047740 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004BAE4 00047744 7C 08 03 A6 */ mtlr r0
/* 8004BAE8 00047748 38 21 00 30 */ addi r1, r1, 0x30
/* 8004BAEC 0004774C 4E 80 00 20 */ blr
/* 8004BAF0 00047750 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004BAF4 00047754 39 00 00 00 */ li r8, 0
/* 8004BAF8 00047758 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004BAFC 0004775C A0 E4 00 06 */ lhz r7, 6(r4)
/* 8004BB00 00047760 2C 87 00 00 */ cmpwi cr1, r7, 0
/* 8004BB04 00047764 4C 85 00 20 */ blelr cr1
/* 8004BB08 00047768 2C 07 00 08 */ cmpwi r7, 8
/* 8004BB0C 0004776C 38 A7 FF F8 */ addi r5, r7, -8
/* 8004BB10 00047770 40 81 00 94 */ ble lbl_8004BBA4
/* 8004BB14 00047774 38 C0 00 00 */ li r6, 0
/* 8004BB18 00047778 41 84 00 18 */ blt cr1, lbl_8004BB30
/* 8004BB1C 0004777C 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha
/* 8004BB20 00047780 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l
/* 8004BB24 00047784 7C 07 00 00 */ cmpw r7, r0
/* 8004BB28 00047788 41 81 00 08 */ bgt lbl_8004BB30
/* 8004BB2C 0004778C 38 C0 00 01 */ li r6, 1
lbl_8004BB30:
/* 8004BB30 00047790 2C 06 00 00 */ cmpwi r6, 0
/* 8004BB34 00047794 41 82 00 70 */ beq lbl_8004BBA4
/* 8004BB38 00047798 38 05 00 07 */ addi r0, r5, 7
/* 8004BB3C 0004779C 38 80 00 00 */ li r4, 0
/* 8004BB40 000477A0 54 00 E8 FE */ srwi r0, r0, 3
/* 8004BB44 000477A4 7C 09 03 A6 */ mtctr r0
/* 8004BB48 000477A8 2C 05 00 00 */ cmpwi r5, 0
/* 8004BB4C 000477AC 40 81 00 58 */ ble lbl_8004BBA4
lbl_8004BB50:
/* 8004BB50 000477B0 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8004BB54 000477B4 39 08 00 08 */ addi r8, r8, 8
/* 8004BB58 000477B8 7C A0 22 14 */ add r5, r0, r4
/* 8004BB5C 000477BC 38 84 00 60 */ addi r4, r4, 0x60
/* 8004BB60 000477C0 C0 45 00 10 */ lfs f2, 0x10(r5)
/* 8004BB64 000477C4 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 8004BB68 000477C8 EC 21 10 2A */ fadds f1, f1, f2
/* 8004BB6C 000477CC C0 C5 00 28 */ lfs f6, 0x28(r5)
/* 8004BB70 000477D0 C0 A5 00 34 */ lfs f5, 0x34(r5)
/* 8004BB74 000477D4 C0 85 00 40 */ lfs f4, 0x40(r5)
/* 8004BB78 000477D8 EC 21 00 2A */ fadds f1, f1, f0
/* 8004BB7C 000477DC C0 65 00 4C */ lfs f3, 0x4c(r5)
/* 8004BB80 000477E0 C0 45 00 58 */ lfs f2, 0x58(r5)
/* 8004BB84 000477E4 C0 05 00 64 */ lfs f0, 0x64(r5)
/* 8004BB88 000477E8 EC 21 30 2A */ fadds f1, f1, f6
/* 8004BB8C 000477EC EC 21 28 2A */ fadds f1, f1, f5
/* 8004BB90 000477F0 EC 21 20 2A */ fadds f1, f1, f4
/* 8004BB94 000477F4 EC 21 18 2A */ fadds f1, f1, f3
/* 8004BB98 000477F8 EC 21 10 2A */ fadds f1, f1, f2
/* 8004BB9C 000477FC EC 21 00 2A */ fadds f1, f1, f0
/* 8004BBA0 00047800 42 00 FF B0 */ bdnz lbl_8004BB50
lbl_8004BBA4:
/* 8004BBA4 00047804 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 8004BBA8 00047808 1C 88 00 0C */ mulli r4, r8, 0xc
/* 8004BBAC 0004780C A0 65 00 06 */ lhz r3, 6(r5)
/* 8004BBB0 00047810 7C 08 18 50 */ subf r0, r8, r3
/* 8004BBB4 00047814 7C 09 03 A6 */ mtctr r0
/* 8004BBB8 00047818 7C 08 18 00 */ cmpw r8, r3
/* 8004BBBC 0004781C 4C 80 00 20 */ bgelr
lbl_8004BBC0:
/* 8004BBC0 00047820 7C 65 22 14 */ add r3, r5, r4
/* 8004BBC4 00047824 38 84 00 0C */ addi r4, r4, 0xc
/* 8004BBC8 00047828 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8004BBCC 0004782C EC 21 00 2A */ fadds f1, f1, f0
/* 8004BBD0 00047830 42 00 FF F0 */ bdnz lbl_8004BBC0
/* 8004BBD4 00047834 4E 80 00 20 */ blr
.global func_8004BBD8
func_8004BBD8:
/* 8004BBD8 00047838 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BBDC 0004783C 7C 08 02 A6 */ mflr r0
/* 8004BBE0 00047840 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004BBE4 00047844 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BBE8 00047848 7C 7F 1B 78 */ mr r31, r3
/* 8004BBEC 0004784C 4B FF F5 65 */ bl func_8004B150
/* 8004BBF0 00047850 3C 80 80 41 */ lis r4, lbl_8040A90C@ha
/* 8004BBF4 00047854 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004BBF8 00047858 38 84 A9 0C */ addi r4, r4, lbl_8040A90C@l
/* 8004BBFC 0004785C 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004BC00 00047860 48 00 47 25 */ bl func_80050324
/* 8004BC04 00047864 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8004BC08 00047868 7F E3 FB 78 */ mr r3, r31
/* 8004BC0C 0004786C 38 04 00 08 */ addi r0, r4, 8
/* 8004BC10 00047870 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8004BC14 00047874 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BC18 00047878 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004BC1C 0004787C 7C 08 03 A6 */ mtlr r0
/* 8004BC20 00047880 38 21 00 10 */ addi r1, r1, 0x10
/* 8004BC24 00047884 4E 80 00 20 */ blr
/* 8004BC28 00047888 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BC2C 0004788C 7C 08 02 A6 */ mflr r0
/* 8004BC30 00047890 2C 03 00 00 */ cmpwi r3, 0
/* 8004BC34 00047894 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004BC38 00047898 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BC3C 0004789C 7C 9F 23 78 */ mr r31, r4
/* 8004BC40 000478A0 93 C1 00 08 */ stw r30, 8(r1)
/* 8004BC44 000478A4 7C 7E 1B 78 */ mr r30, r3
/* 8004BC48 000478A8 41 82 00 1C */ beq lbl_8004BC64
/* 8004BC4C 000478AC 38 80 00 00 */ li r4, 0
/* 8004BC50 000478B0 4B FF F5 25 */ bl func_8004B174
/* 8004BC54 000478B4 2C 1F 00 00 */ cmpwi r31, 0
/* 8004BC58 000478B8 40 81 00 0C */ ble lbl_8004BC64
/* 8004BC5C 000478BC 7F C3 F3 78 */ mr r3, r30
/* 8004BC60 000478C0 48 18 EE 59 */ bl __dl__FPv
lbl_8004BC64:
/* 8004BC64 000478C4 7F C3 F3 78 */ mr r3, r30
/* 8004BC68 000478C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BC6C 000478CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004BC70 000478D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004BC74 000478D4 7C 08 03 A6 */ mtlr r0
/* 8004BC78 000478D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8004BC7C 000478DC 4E 80 00 20 */ blr
/* 8004BC80 000478E0 38 00 00 00 */ li r0, 0
/* 8004BC84 000478E4 90 03 00 44 */ stw r0, 0x44(r3)
/* 8004BC88 000478E8 48 00 00 04 */ b func_8004BC8C
.global func_8004BC8C
func_8004BC8C:
/* 8004BC8C 000478EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BC90 000478F0 7C 08 02 A6 */ mflr r0
/* 8004BC94 000478F4 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004BC98 000478F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004BC9C 000478FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BCA0 00047900 7C 7F 1B 78 */ mr r31, r3
/* 8004BCA4 00047904 80 03 00 44 */ lwz r0, 0x44(r3)
/* 8004BCA8 00047908 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004BCAC 0004790C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8004BCB0 00047910 7C 84 02 14 */ add r4, r4, r0
/* 8004BCB4 00047914 38 84 00 08 */ addi r4, r4, 8
/* 8004BCB8 00047918 90 83 00 18 */ stw r4, 0x18(r3)
/* 8004BCBC 0004791C C0 04 00 08 */ lfs f0, 8(r4)
/* 8004BCC0 00047920 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8004BCC4 00047924 40 82 00 1C */ bne lbl_8004BCE0
/* 8004BCC8 00047928 C0 04 00 00 */ lfs f0, 0(r4)
/* 8004BCCC 0004792C D0 03 00 40 */ stfs f0, 0x40(r3)
/* 8004BCD0 00047930 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8004BCD4 00047934 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004BCD8 00047938 7D 89 03 A6 */ mtctr r12
/* 8004BCDC 0004793C 4E 80 04 21 */ bctrl
lbl_8004BCE0:
/* 8004BCE0 00047940 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8004BCE4 00047944 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004BCE8 00047948 38 DF 00 40 */ addi r6, r31, 0x40
/* 8004BCEC 0004794C 38 E0 00 00 */ li r7, 0
/* 8004BCF0 00047950 C0 24 00 08 */ lfs f1, 8(r4)
/* 8004BCF4 00047954 38 A4 00 04 */ addi r5, r4, 4
/* 8004BCF8 00047958 48 00 46 45 */ bl func_8005033C
/* 8004BCFC 0004795C 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 8004BD00 00047960 38 00 00 01 */ li r0, 1
/* 8004BD04 00047964 98 1F 00 00 */ stb r0, 0(r31)
/* 8004BD08 00047968 38 03 00 01 */ addi r0, r3, 1
/* 8004BD0C 0004796C 90 1F 00 44 */ stw r0, 0x44(r31)
/* 8004BD10 00047970 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BD14 00047974 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004BD18 00047978 7C 08 03 A6 */ mtlr r0
/* 8004BD1C 0004797C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004BD20 00047980 4E 80 00 20 */ blr
/* 8004BD24 00047984 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BD28 00047988 7C 08 02 A6 */ mflr r0
/* 8004BD2C 0004798C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004BD30 00047990 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BD34 00047994 93 C1 00 08 */ stw r30, 8(r1)
/* 8004BD38 00047998 7C 7E 1B 78 */ mr r30, r3
/* 8004BD3C 0004799C 4B FE 73 4D */ bl func_80033088
/* 8004BD40 000479A0 38 00 00 00 */ li r0, 0
/* 8004BD44 000479A4 7C 7F 1B 78 */ mr r31, r3
/* 8004BD48 000479A8 98 1E 00 00 */ stb r0, 0(r30)
/* 8004BD4C 000479AC 38 7E 00 1C */ addi r3, r30, 0x1c
/* 8004BD50 000479B0 48 00 46 39 */ bl func_80050388
/* 8004BD54 000479B4 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004BD58 000479B8 80 03 00 00 */ lwz r0, 0(r3)
/* 8004BD5C 000479BC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8004BD60 000479C0 41 82 00 10 */ beq lbl_8004BD70
/* 8004BD64 000479C4 7F E3 FB 78 */ mr r3, r31
/* 8004BD68 000479C8 38 80 00 00 */ li r4, 0
/* 8004BD6C 000479CC 4B FE 90 FD */ bl func_80034E68
lbl_8004BD70:
/* 8004BD70 000479D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004BD74 000479D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BD78 000479D8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004BD7C 000479DC 7C 08 03 A6 */ mtlr r0
/* 8004BD80 000479E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004BD84 000479E4 4E 80 00 20 */ blr
/* 8004BD88 000479E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004BD8C 000479EC 7C 08 02 A6 */ mflr r0
/* 8004BD90 000479F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004BD94 000479F4 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8004BD98 000479F8 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 8004BD9C 000479FC FF E0 08 90 */ fmr f31, f1
/* 8004BDA0 00047A00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BDA4 00047A04 93 C1 00 08 */ stw r30, 8(r1)
/* 8004BDA8 00047A08 7C 7E 1B 78 */ mr r30, r3
/* 8004BDAC 00047A0C 4B FE 72 DD */ bl func_80033088
/* 8004BDB0 00047A10 88 1E 00 00 */ lbz r0, 0(r30)
/* 8004BDB4 00047A14 7C 7F 1B 78 */ mr r31, r3
/* 8004BDB8 00047A18 2C 00 00 00 */ cmpwi r0, 0
/* 8004BDBC 00047A1C 41 82 00 94 */ beq lbl_8004BE50
/* 8004BDC0 00047A20 81 9E 00 3C */ lwz r12, 0x3c(r30)
/* 8004BDC4 00047A24 FC 20 F8 90 */ fmr f1, f31
/* 8004BDC8 00047A28 38 7E 00 1C */ addi r3, r30, 0x1c
/* 8004BDCC 00047A2C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004BDD0 00047A30 7D 89 03 A6 */ mtctr r12
/* 8004BDD4 00047A34 4E 80 04 21 */ bctrl
/* 8004BDD8 00047A38 2C 03 00 00 */ cmpwi r3, 0
/* 8004BDDC 00047A3C 40 82 00 38 */ bne lbl_8004BE14
/* 8004BDE0 00047A40 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004BDE4 00047A44 80 9E 00 44 */ lwz r4, 0x44(r30)
/* 8004BDE8 00047A48 80 03 00 04 */ lwz r0, 4(r3)
/* 8004BDEC 00047A4C 7C 04 00 00 */ cmpw r4, r0
/* 8004BDF0 00047A50 41 80 00 1C */ blt lbl_8004BE0C
/* 8004BDF4 00047A54 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004BDF8 00047A58 7F C3 F3 78 */ mr r3, r30
/* 8004BDFC 00047A5C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004BE00 00047A60 7D 89 03 A6 */ mtctr r12
/* 8004BE04 00047A64 4E 80 04 21 */ bctrl
/* 8004BE08 00047A68 48 00 00 0C */ b lbl_8004BE14
lbl_8004BE0C:
/* 8004BE0C 00047A6C 7F C3 F3 78 */ mr r3, r30
/* 8004BE10 00047A70 4B FF FE 7D */ bl func_8004BC8C
lbl_8004BE14:
/* 8004BE14 00047A74 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004BE18 00047A78 80 03 00 00 */ lwz r0, 0(r3)
/* 8004BE1C 00047A7C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8004BE20 00047A80 41 82 00 30 */ beq lbl_8004BE50
/* 8004BE24 00047A84 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 8004BE28 00047A88 C0 02 83 F8 */ lfs f0, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004BE2C 00047A8C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004BE30 00047A90 4C 41 13 82 */ cror 2, 1, 2
/* 8004BE34 00047A94 40 82 00 1C */ bne lbl_8004BE50
/* 8004BE38 00047A98 7F E3 FB 78 */ mr r3, r31
/* 8004BE3C 00047A9C 38 80 00 01 */ li r4, 1
/* 8004BE40 00047AA0 4B FE 90 29 */ bl func_80034E68
/* 8004BE44 00047AA4 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 8004BE48 00047AA8 7F E3 FB 78 */ mr r3, r31
/* 8004BE4C 00047AAC 4B FE 90 55 */ bl func_80034EA0
lbl_8004BE50:
/* 8004BE50 00047AB0 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 8004BE54 00047AB4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004BE58 00047AB8 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8004BE5C 00047ABC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BE60 00047AC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004BE64 00047AC4 7C 08 03 A6 */ mtlr r0
/* 8004BE68 00047AC8 38 21 00 20 */ addi r1, r1, 0x20
/* 8004BE6C 00047ACC 4E 80 00 20 */ blr
/* 8004BE70 00047AD0 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004BE74 00047AD4 39 00 00 00 */ li r8, 0
/* 8004BE78 00047AD8 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004BE7C 00047ADC 80 E4 00 04 */ lwz r7, 4(r4)
/* 8004BE80 00047AE0 2C 87 00 00 */ cmpwi cr1, r7, 0
/* 8004BE84 00047AE4 4C 85 00 20 */ blelr cr1
/* 8004BE88 00047AE8 2C 07 00 08 */ cmpwi r7, 8
/* 8004BE8C 00047AEC 38 A7 FF F8 */ addi r5, r7, -8
/* 8004BE90 00047AF0 40 81 00 94 */ ble lbl_8004BF24
/* 8004BE94 00047AF4 38 C0 00 00 */ li r6, 0
/* 8004BE98 00047AF8 41 84 00 18 */ blt cr1, lbl_8004BEB0
/* 8004BE9C 00047AFC 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha
/* 8004BEA0 00047B00 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l
/* 8004BEA4 00047B04 7C 07 00 00 */ cmpw r7, r0
/* 8004BEA8 00047B08 41 81 00 08 */ bgt lbl_8004BEB0
/* 8004BEAC 00047B0C 38 C0 00 01 */ li r6, 1
lbl_8004BEB0:
/* 8004BEB0 00047B10 2C 06 00 00 */ cmpwi r6, 0
/* 8004BEB4 00047B14 41 82 00 70 */ beq lbl_8004BF24
/* 8004BEB8 00047B18 38 05 00 07 */ addi r0, r5, 7
/* 8004BEBC 00047B1C 38 80 00 00 */ li r4, 0
/* 8004BEC0 00047B20 54 00 E8 FE */ srwi r0, r0, 3
/* 8004BEC4 00047B24 7C 09 03 A6 */ mtctr r0
/* 8004BEC8 00047B28 2C 05 00 00 */ cmpwi r5, 0
/* 8004BECC 00047B2C 40 81 00 58 */ ble lbl_8004BF24
lbl_8004BED0:
/* 8004BED0 00047B30 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8004BED4 00047B34 39 08 00 08 */ addi r8, r8, 8
/* 8004BED8 00047B38 7C A0 22 14 */ add r5, r0, r4
/* 8004BEDC 00047B3C 38 84 00 60 */ addi r4, r4, 0x60
/* 8004BEE0 00047B40 C0 45 00 10 */ lfs f2, 0x10(r5)
/* 8004BEE4 00047B44 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 8004BEE8 00047B48 EC 21 10 2A */ fadds f1, f1, f2
/* 8004BEEC 00047B4C C0 C5 00 28 */ lfs f6, 0x28(r5)
/* 8004BEF0 00047B50 C0 A5 00 34 */ lfs f5, 0x34(r5)
/* 8004BEF4 00047B54 C0 85 00 40 */ lfs f4, 0x40(r5)
/* 8004BEF8 00047B58 EC 21 00 2A */ fadds f1, f1, f0
/* 8004BEFC 00047B5C C0 65 00 4C */ lfs f3, 0x4c(r5)
/* 8004BF00 00047B60 C0 45 00 58 */ lfs f2, 0x58(r5)
/* 8004BF04 00047B64 C0 05 00 64 */ lfs f0, 0x64(r5)
/* 8004BF08 00047B68 EC 21 30 2A */ fadds f1, f1, f6
/* 8004BF0C 00047B6C EC 21 28 2A */ fadds f1, f1, f5
/* 8004BF10 00047B70 EC 21 20 2A */ fadds f1, f1, f4
/* 8004BF14 00047B74 EC 21 18 2A */ fadds f1, f1, f3
/* 8004BF18 00047B78 EC 21 10 2A */ fadds f1, f1, f2
/* 8004BF1C 00047B7C EC 21 00 2A */ fadds f1, f1, f0
/* 8004BF20 00047B80 42 00 FF B0 */ bdnz lbl_8004BED0
lbl_8004BF24:
/* 8004BF24 00047B84 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 8004BF28 00047B88 1C 88 00 0C */ mulli r4, r8, 0xc
/* 8004BF2C 00047B8C 80 65 00 04 */ lwz r3, 4(r5)
/* 8004BF30 00047B90 7C 08 18 50 */ subf r0, r8, r3
/* 8004BF34 00047B94 7C 09 03 A6 */ mtctr r0
/* 8004BF38 00047B98 7C 08 18 00 */ cmpw r8, r3
/* 8004BF3C 00047B9C 4C 80 00 20 */ bgelr
lbl_8004BF40:
/* 8004BF40 00047BA0 7C 65 22 14 */ add r3, r5, r4
/* 8004BF44 00047BA4 38 84 00 0C */ addi r4, r4, 0xc
/* 8004BF48 00047BA8 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8004BF4C 00047BAC EC 21 00 2A */ fadds f1, f1, f0
/* 8004BF50 00047BB0 42 00 FF F0 */ bdnz lbl_8004BF40
/* 8004BF54 00047BB4 4E 80 00 20 */ blr
.global func_8004BF58
func_8004BF58:
/* 8004BF58 00047BB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BF5C 00047BBC 7C 08 02 A6 */ mflr r0
/* 8004BF60 00047BC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004BF64 00047BC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BF68 00047BC8 7C 7F 1B 78 */ mr r31, r3
/* 8004BF6C 00047BCC 4B FF F1 E5 */ bl func_8004B150
/* 8004BF70 00047BD0 3C 80 80 41 */ lis r4, lbl_8040A8C4@ha
/* 8004BF74 00047BD4 7F E3 FB 78 */ mr r3, r31
/* 8004BF78 00047BD8 38 84 A8 C4 */ addi r4, r4, lbl_8040A8C4@l
/* 8004BF7C 00047BDC 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004BF80 00047BE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BF84 00047BE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004BF88 00047BE8 7C 08 03 A6 */ mtlr r0
/* 8004BF8C 00047BEC 38 21 00 10 */ addi r1, r1, 0x10
/* 8004BF90 00047BF0 4E 80 00 20 */ blr
/* 8004BF94 00047BF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BF98 00047BF8 7C 08 02 A6 */ mflr r0
/* 8004BF9C 00047BFC 2C 03 00 00 */ cmpwi r3, 0
/* 8004BFA0 00047C00 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004BFA4 00047C04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004BFA8 00047C08 7C 9F 23 78 */ mr r31, r4
/* 8004BFAC 00047C0C 93 C1 00 08 */ stw r30, 8(r1)
/* 8004BFB0 00047C10 7C 7E 1B 78 */ mr r30, r3
/* 8004BFB4 00047C14 41 82 00 1C */ beq lbl_8004BFD0
/* 8004BFB8 00047C18 38 80 00 00 */ li r4, 0
/* 8004BFBC 00047C1C 4B FF F1 B9 */ bl func_8004B174
/* 8004BFC0 00047C20 2C 1F 00 00 */ cmpwi r31, 0
/* 8004BFC4 00047C24 40 81 00 0C */ ble lbl_8004BFD0
/* 8004BFC8 00047C28 7F C3 F3 78 */ mr r3, r30
/* 8004BFCC 00047C2C 48 18 EA ED */ bl __dl__FPv
lbl_8004BFD0:
/* 8004BFD0 00047C30 7F C3 F3 78 */ mr r3, r30
/* 8004BFD4 00047C34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004BFD8 00047C38 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004BFDC 00047C3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004BFE0 00047C40 7C 08 03 A6 */ mtlr r0
/* 8004BFE4 00047C44 38 21 00 10 */ addi r1, r1, 0x10
/* 8004BFE8 00047C48 4E 80 00 20 */ blr
/* 8004BFEC 00047C4C 4E 80 00 20 */ blr
/* 8004BFF0 00047C50 4E 80 00 20 */ blr
/* 8004BFF4 00047C54 4E 80 00 20 */ blr
.global func_8004BFF8
func_8004BFF8:
/* 8004BFF8 00047C58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004BFFC 00047C5C 7C 08 02 A6 */ mflr r0
/* 8004C000 00047C60 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C004 00047C64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C008 00047C68 7C 7F 1B 78 */ mr r31, r3
/* 8004C00C 00047C6C 4B FF F1 45 */ bl func_8004B150
/* 8004C010 00047C70 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8004C014 00047C74 3C A0 80 41 */ lis r5, lbl_8040A87C@ha
/* 8004C018 00047C78 38 A5 A8 7C */ addi r5, r5, lbl_8040A87C@l
/* 8004C01C 00047C7C 38 00 00 00 */ li r0, 0
/* 8004C020 00047C80 38 83 00 08 */ addi r4, r3, 8
/* 8004C024 00047C84 90 BF 00 10 */ stw r5, 0x10(r31)
/* 8004C028 00047C88 7F E3 FB 78 */ mr r3, r31
/* 8004C02C 00047C8C 90 9F 00 14 */ stw r4, 0x14(r31)
/* 8004C030 00047C90 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8004C034 00047C94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C038 00047C98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C03C 00047C9C 7C 08 03 A6 */ mtlr r0
/* 8004C040 00047CA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C044 00047CA4 4E 80 00 20 */ blr
/* 8004C048 00047CA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C04C 00047CAC 7C 08 02 A6 */ mflr r0
/* 8004C050 00047CB0 2C 03 00 00 */ cmpwi r3, 0
/* 8004C054 00047CB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C058 00047CB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C05C 00047CBC 7C 9F 23 78 */ mr r31, r4
/* 8004C060 00047CC0 93 C1 00 08 */ stw r30, 8(r1)
/* 8004C064 00047CC4 7C 7E 1B 78 */ mr r30, r3
/* 8004C068 00047CC8 41 82 00 5C */ beq lbl_8004C0C4
/* 8004C06C 00047CCC 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8004C070 00047CD0 3C 80 80 41 */ lis r4, lbl_8040A87C@ha
/* 8004C074 00047CD4 38 84 A8 7C */ addi r4, r4, lbl_8040A87C@l
/* 8004C078 00047CD8 2C 00 00 00 */ cmpwi r0, 0
/* 8004C07C 00047CDC 90 83 00 10 */ stw r4, 0x10(r3)
/* 8004C080 00047CE0 41 82 00 28 */ beq lbl_8004C0A8
/* 8004C084 00047CE4 41 82 00 1C */ beq lbl_8004C0A0
/* 8004C088 00047CE8 7C 03 03 78 */ mr r3, r0
/* 8004C08C 00047CEC 38 80 00 01 */ li r4, 1
/* 8004C090 00047CF0 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004C094 00047CF4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004C098 00047CF8 7D 89 03 A6 */ mtctr r12
/* 8004C09C 00047CFC 4E 80 04 21 */ bctrl
lbl_8004C0A0:
/* 8004C0A0 00047D00 38 00 00 00 */ li r0, 0
/* 8004C0A4 00047D04 90 1E 00 18 */ stw r0, 0x18(r30)
lbl_8004C0A8:
/* 8004C0A8 00047D08 7F C3 F3 78 */ mr r3, r30
/* 8004C0AC 00047D0C 38 80 00 00 */ li r4, 0
/* 8004C0B0 00047D10 4B FF F0 C5 */ bl func_8004B174
/* 8004C0B4 00047D14 2C 1F 00 00 */ cmpwi r31, 0
/* 8004C0B8 00047D18 40 81 00 0C */ ble lbl_8004C0C4
/* 8004C0BC 00047D1C 7F C3 F3 78 */ mr r3, r30
/* 8004C0C0 00047D20 48 18 E9 F9 */ bl __dl__FPv
lbl_8004C0C4:
/* 8004C0C4 00047D24 7F C3 F3 78 */ mr r3, r30
/* 8004C0C8 00047D28 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C0CC 00047D2C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004C0D0 00047D30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C0D4 00047D34 7C 08 03 A6 */ mtlr r0
/* 8004C0D8 00047D38 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C0DC 00047D3C 4E 80 00 20 */ blr
/* 8004C0E0 00047D40 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8004C0E4 00047D44 7C 08 02 A6 */ mflr r0
/* 8004C0E8 00047D48 90 01 00 64 */ stw r0, 0x64(r1)
/* 8004C0EC 00047D4C 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8004C0F0 00047D50 7C 7F 1B 78 */ mr r31, r3
/* 8004C0F4 00047D54 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8004C0F8 00047D58 4B FF F0 BD */ bl func_8004B1B4
/* 8004C0FC 00047D5C 2C 03 00 00 */ cmpwi r3, 0
/* 8004C100 00047D60 7C 7E 1B 78 */ mr r30, r3
/* 8004C104 00047D64 41 82 02 14 */ beq lbl_8004C318
/* 8004C108 00047D68 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004C10C 00047D6C 2C 03 00 00 */ cmpwi r3, 0
/* 8004C110 00047D70 41 82 00 1C */ beq lbl_8004C12C
/* 8004C114 00047D74 41 82 00 18 */ beq lbl_8004C12C
/* 8004C118 00047D78 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004C11C 00047D7C 38 80 00 01 */ li r4, 1
/* 8004C120 00047D80 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004C124 00047D84 7D 89 03 A6 */ mtctr r12
/* 8004C128 00047D88 4E 80 04 21 */ bctrl
lbl_8004C12C:
/* 8004C12C 00047D8C 48 18 E9 FD */ bl func_801DAB28
/* 8004C130 00047D90 2C 03 00 00 */ cmpwi r3, 0
/* 8004C134 00047D94 41 82 00 14 */ beq lbl_8004C148
/* 8004C138 00047D98 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8004C13C 00047D9C 38 80 00 70 */ li r4, 0x70
/* 8004C140 00047DA0 48 18 EB 55 */ bl func_801DAC94
/* 8004C144 00047DA4 48 00 00 08 */ b lbl_8004C14C
lbl_8004C148:
/* 8004C148 00047DA8 38 60 00 00 */ li r3, 0
lbl_8004C14C:
/* 8004C14C 00047DAC 2C 03 00 00 */ cmpwi r3, 0
/* 8004C150 00047DB0 7C 66 1B 78 */ mr r6, r3
/* 8004C154 00047DB4 41 82 00 10 */ beq lbl_8004C164
/* 8004C158 00047DB8 80 9E 0C 04 */ lwz r4, 0xc04(r30)
/* 8004C15C 00047DBC 48 1D 12 C9 */ bl func_8021D424
/* 8004C160 00047DC0 7C 66 1B 78 */ mr r6, r3
lbl_8004C164:
/* 8004C164 00047DC4 2C 06 00 00 */ cmpwi r6, 0
/* 8004C168 00047DC8 90 DF 00 18 */ stw r6, 0x18(r31)
/* 8004C16C 00047DCC 41 82 01 AC */ beq lbl_8004C318
/* 8004C170 00047DD0 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8004C174 00047DD4 7F C4 F3 78 */ mr r4, r30
/* 8004C178 00047DD8 C0 02 84 00 */ lfs f0, lbl_80640A00-_SDA2_BASE_(r2)
/* 8004C17C 00047DDC 38 61 00 08 */ addi r3, r1, 8
/* 8004C180 00047DE0 80 05 00 00 */ lwz r0, 0(r5)
/* 8004C184 00047DE4 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8004C188 00047DE8 98 06 00 1E */ stb r0, 0x1e(r6)
/* 8004C18C 00047DEC 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C190 00047DF0 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8004C194 00047DF4 80 06 00 00 */ lwz r0, 0(r6)
/* 8004C198 00047DF8 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 8004C19C 00047DFC 98 05 00 20 */ stb r0, 0x20(r5)
/* 8004C1A0 00047E00 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8004C1A4 00047E04 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8004C1A8 00047E08 88 05 00 0C */ lbz r0, 0xc(r5)
/* 8004C1AC 00047E0C 98 06 00 28 */ stb r0, 0x28(r6)
/* 8004C1B0 00047E10 88 05 00 0D */ lbz r0, 0xd(r5)
/* 8004C1B4 00047E14 98 06 00 29 */ stb r0, 0x29(r6)
/* 8004C1B8 00047E18 88 05 00 0E */ lbz r0, 0xe(r5)
/* 8004C1BC 00047E1C 98 06 00 2A */ stb r0, 0x2a(r6)
/* 8004C1C0 00047E20 88 05 00 0F */ lbz r0, 0xf(r5)
/* 8004C1C4 00047E24 98 06 00 2B */ stb r0, 0x2b(r6)
/* 8004C1C8 00047E28 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8004C1CC 00047E2C D0 05 00 6C */ stfs f0, 0x6c(r5)
/* 8004C1D0 00047E30 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C1D4 00047E34 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8004C1D8 00047E38 C0 06 00 04 */ lfs f0, 4(r6)
/* 8004C1DC 00047E3C D0 05 00 48 */ stfs f0, 0x48(r5)
/* 8004C1E0 00047E40 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C1E4 00047E44 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8004C1E8 00047E48 80 06 00 00 */ lwz r0, 0(r6)
/* 8004C1EC 00047E4C 54 00 F7 FE */ rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 8004C1F0 00047E50 98 05 00 1F */ stb r0, 0x1f(r5)
/* 8004C1F4 00047E54 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8004C1F8 00047E58 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8004C1FC 00047E5C C0 05 00 10 */ lfs f0, 0x10(r5)
/* 8004C200 00047E60 D0 06 00 5C */ stfs f0, 0x5c(r6)
/* 8004C204 00047E64 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 8004C208 00047E68 D0 06 00 60 */ stfs f0, 0x60(r6)
/* 8004C20C 00047E6C C0 05 00 18 */ lfs f0, 0x18(r5)
/* 8004C210 00047E70 D0 06 00 64 */ stfs f0, 0x64(r6)
/* 8004C214 00047E74 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C218 00047E78 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8004C21C 00047E7C C0 06 00 08 */ lfs f0, 8(r6)
/* 8004C220 00047E80 D0 05 00 44 */ stfs f0, 0x44(r5)
/* 8004C224 00047E84 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8004C228 00047E88 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8004C22C 00047E8C C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 8004C230 00047E90 D0 06 00 38 */ stfs f0, 0x38(r6)
/* 8004C234 00047E94 C0 05 00 20 */ lfs f0, 0x20(r5)
/* 8004C238 00047E98 D0 06 00 3C */ stfs f0, 0x3c(r6)
/* 8004C23C 00047E9C C0 05 00 24 */ lfs f0, 0x24(r5)
/* 8004C240 00047EA0 D0 06 00 40 */ stfs f0, 0x40(r6)
/* 8004C244 00047EA4 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8004C248 00047EA8 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8004C24C 00047EAC C0 05 00 28 */ lfs f0, 0x28(r5)
/* 8004C250 00047EB0 D0 06 00 2C */ stfs f0, 0x2c(r6)
/* 8004C254 00047EB4 C0 05 00 2C */ lfs f0, 0x2c(r5)
/* 8004C258 00047EB8 D0 06 00 30 */ stfs f0, 0x30(r6)
/* 8004C25C 00047EBC C0 05 00 30 */ lfs f0, 0x30(r5)
/* 8004C260 00047EC0 D0 06 00 34 */ stfs f0, 0x34(r6)
/* 8004C264 00047EC4 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C268 00047EC8 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8004C26C 00047ECC C0 06 00 34 */ lfs f0, 0x34(r6)
/* 8004C270 00047ED0 D0 05 00 58 */ stfs f0, 0x58(r5)
/* 8004C274 00047ED4 4B FE C8 21 */ bl func_80038A94
/* 8004C278 00047ED8 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8004C27C 00047EDC 38 61 00 20 */ addi r3, r1, 0x20
/* 8004C280 00047EE0 C0 02 84 04 */ lfs f0, lbl_80640A04-_SDA2_BASE_(r2)
/* 8004C284 00047EE4 38 80 00 59 */ li r4, 0x59
/* 8004C288 00047EE8 EC 20 08 2A */ fadds f1, f0, f1
/* 8004C28C 00047EEC 48 22 FF DD */ bl PSMTXRotRad
/* 8004C290 00047EF0 80 DF 00 14 */ lwz r6, 0x14(r31)
/* 8004C294 00047EF4 38 81 00 14 */ addi r4, r1, 0x14
/* 8004C298 00047EF8 7C 85 23 78 */ mr r5, r4
/* 8004C29C 00047EFC 38 61 00 20 */ addi r3, r1, 0x20
/* 8004C2A0 00047F00 C0 06 00 38 */ lfs f0, 0x38(r6)
/* 8004C2A4 00047F04 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8004C2A8 00047F08 C0 06 00 3C */ lfs f0, 0x3c(r6)
/* 8004C2AC 00047F0C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8004C2B0 00047F10 C0 06 00 40 */ lfs f0, 0x40(r6)
/* 8004C2B4 00047F14 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8004C2B8 00047F18 48 23 07 45 */ bl PSMTXMultVec
/* 8004C2BC 00047F1C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004C2C0 00047F20 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8004C2C4 00047F24 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 8004C2C8 00047F28 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8004C2CC 00047F2C D0 03 00 50 */ stfs f0, 0x50(r3)
/* 8004C2D0 00047F30 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8004C2D4 00047F34 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 8004C2D8 00047F38 83 FF 00 18 */ lwz r31, 0x18(r31)
/* 8004C2DC 00047F3C 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 8004C2E0 00047F40 7F E3 FB 78 */ mr r3, r31
/* 8004C2E4 00047F44 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004C2E8 00047F48 7D 89 03 A6 */ mtctr r12
/* 8004C2EC 00047F4C 4E 80 04 21 */ bctrl
/* 8004C2F0 00047F50 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004C2F4 00047F54 98 7F 00 08 */ stb r3, 8(r31)
/* 8004C2F8 00047F58 41 82 00 20 */ beq lbl_8004C318
/* 8004C2FC 00047F5C 83 FF 00 04 */ lwz r31, 4(r31)
/* 8004C300 00047F60 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8004C304 00047F64 48 1E ED 55 */ bl func_8023B058
/* 8004C308 00047F68 2C 03 00 00 */ cmpwi r3, 0
/* 8004C30C 00047F6C 41 82 00 0C */ beq lbl_8004C318
/* 8004C310 00047F70 7F E4 FB 78 */ mr r4, r31
/* 8004C314 00047F74 48 1E F0 A5 */ bl func_8023B3B8
lbl_8004C318:
/* 8004C318 00047F78 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8004C31C 00047F7C 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8004C320 00047F80 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8004C324 00047F84 7C 08 03 A6 */ mtlr r0
/* 8004C328 00047F88 38 21 00 60 */ addi r1, r1, 0x60
/* 8004C32C 00047F8C 4E 80 00 20 */ blr
/* 8004C330 00047F90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004C334 00047F94 7C 08 02 A6 */ mflr r0
/* 8004C338 00047F98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004C33C 00047F9C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004C340 00047FA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004C344 00047FA4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004C348 00047FA8 7C 7D 1B 78 */ mr r29, r3
/* 8004C34C 00047FAC 83 C3 00 18 */ lwz r30, 0x18(r3)
/* 8004C350 00047FB0 2C 1E 00 00 */ cmpwi r30, 0
/* 8004C354 00047FB4 41 82 00 70 */ beq lbl_8004C3C4
/* 8004C358 00047FB8 88 1E 00 08 */ lbz r0, 8(r30)
/* 8004C35C 00047FBC 2C 00 00 00 */ cmpwi r0, 0
/* 8004C360 00047FC0 41 82 00 3C */ beq lbl_8004C39C
/* 8004C364 00047FC4 83 FE 00 04 */ lwz r31, 4(r30)
/* 8004C368 00047FC8 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8004C36C 00047FCC 48 1E EC ED */ bl func_8023B058
/* 8004C370 00047FD0 2C 03 00 00 */ cmpwi r3, 0
/* 8004C374 00047FD4 41 82 00 0C */ beq lbl_8004C380
/* 8004C378 00047FD8 7F E4 FB 78 */ mr r4, r31
/* 8004C37C 00047FDC 48 1E F0 A5 */ bl func_8023B420
lbl_8004C380:
/* 8004C380 00047FE0 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 8004C384 00047FE4 7F C3 F3 78 */ mr r3, r30
/* 8004C388 00047FE8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8004C38C 00047FEC 7D 89 03 A6 */ mtctr r12
/* 8004C390 00047FF0 4E 80 04 21 */ bctrl
/* 8004C394 00047FF4 38 00 00 00 */ li r0, 0
/* 8004C398 00047FF8 98 1E 00 08 */ stb r0, 8(r30)
lbl_8004C39C:
/* 8004C39C 00047FFC 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8004C3A0 00048000 2C 03 00 00 */ cmpwi r3, 0
/* 8004C3A4 00048004 41 82 00 18 */ beq lbl_8004C3BC
/* 8004C3A8 00048008 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004C3AC 0004800C 38 80 00 01 */ li r4, 1
/* 8004C3B0 00048010 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004C3B4 00048014 7D 89 03 A6 */ mtctr r12
/* 8004C3B8 00048018 4E 80 04 21 */ bctrl
lbl_8004C3BC:
/* 8004C3BC 0004801C 38 00 00 00 */ li r0, 0
/* 8004C3C0 00048020 90 1D 00 18 */ stw r0, 0x18(r29)
lbl_8004C3C4:
/* 8004C3C4 00048024 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004C3C8 00048028 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004C3CC 0004802C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004C3D0 00048030 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004C3D4 00048034 7C 08 03 A6 */ mtlr r0
/* 8004C3D8 00048038 38 21 00 20 */ addi r1, r1, 0x20
/* 8004C3DC 0004803C 4E 80 00 20 */ blr
/* 8004C3E0 00048040 4E 80 00 20 */ blr
/* 8004C3E4 00048044 C0 22 84 08 */ lfs f1, lbl_80640A08-_SDA2_BASE_(r2)
/* 8004C3E8 00048048 4E 80 00 20 */ blr
.global func_8004C3EC
func_8004C3EC:
/* 8004C3EC 0004804C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C3F0 00048050 7C 08 02 A6 */ mflr r0
/* 8004C3F4 00048054 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C3F8 00048058 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C3FC 0004805C 7C 7F 1B 78 */ mr r31, r3
/* 8004C400 00048060 4B FF ED 51 */ bl func_8004B150
/* 8004C404 00048064 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8004C408 00048068 3C A0 80 41 */ lis r5, lbl_8040A834@ha
/* 8004C40C 0004806C 38 A5 A8 34 */ addi r5, r5, lbl_8040A834@l
/* 8004C410 00048070 38 00 00 00 */ li r0, 0
/* 8004C414 00048074 38 83 00 08 */ addi r4, r3, 8
/* 8004C418 00048078 90 BF 00 10 */ stw r5, 0x10(r31)
/* 8004C41C 0004807C 7F E3 FB 78 */ mr r3, r31
/* 8004C420 00048080 90 9F 00 14 */ stw r4, 0x14(r31)
/* 8004C424 00048084 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8004C428 00048088 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C42C 0004808C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C430 00048090 7C 08 03 A6 */ mtlr r0
/* 8004C434 00048094 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C438 00048098 4E 80 00 20 */ blr
/* 8004C43C 0004809C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C440 000480A0 7C 08 02 A6 */ mflr r0
/* 8004C444 000480A4 2C 03 00 00 */ cmpwi r3, 0
/* 8004C448 000480A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C44C 000480AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C450 000480B0 7C 9F 23 78 */ mr r31, r4
/* 8004C454 000480B4 93 C1 00 08 */ stw r30, 8(r1)
/* 8004C458 000480B8 7C 7E 1B 78 */ mr r30, r3
/* 8004C45C 000480BC 41 82 00 5C */ beq lbl_8004C4B8
/* 8004C460 000480C0 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8004C464 000480C4 3C 80 80 41 */ lis r4, lbl_8040A834@ha
/* 8004C468 000480C8 38 84 A8 34 */ addi r4, r4, lbl_8040A834@l
/* 8004C46C 000480CC 2C 00 00 00 */ cmpwi r0, 0
/* 8004C470 000480D0 90 83 00 10 */ stw r4, 0x10(r3)
/* 8004C474 000480D4 40 82 00 28 */ bne lbl_8004C49C
/* 8004C478 000480D8 41 82 00 1C */ beq lbl_8004C494
/* 8004C47C 000480DC 7C 03 03 78 */ mr r3, r0
/* 8004C480 000480E0 38 80 00 01 */ li r4, 1
/* 8004C484 000480E4 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004C488 000480E8 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004C48C 000480EC 7D 89 03 A6 */ mtctr r12
/* 8004C490 000480F0 4E 80 04 21 */ bctrl
lbl_8004C494:
/* 8004C494 000480F4 38 00 00 00 */ li r0, 0
/* 8004C498 000480F8 90 1E 00 18 */ stw r0, 0x18(r30)
lbl_8004C49C:
/* 8004C49C 000480FC 7F C3 F3 78 */ mr r3, r30
/* 8004C4A0 00048100 38 80 00 00 */ li r4, 0
/* 8004C4A4 00048104 4B FF EC D1 */ bl func_8004B174
/* 8004C4A8 00048108 2C 1F 00 00 */ cmpwi r31, 0
/* 8004C4AC 0004810C 40 81 00 0C */ ble lbl_8004C4B8
/* 8004C4B0 00048110 7F C3 F3 78 */ mr r3, r30
/* 8004C4B4 00048114 48 18 E6 05 */ bl __dl__FPv
lbl_8004C4B8:
/* 8004C4B8 00048118 7F C3 F3 78 */ mr r3, r30
/* 8004C4BC 0004811C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C4C0 00048120 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004C4C4 00048124 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C4C8 00048128 7C 08 03 A6 */ mtlr r0
/* 8004C4CC 0004812C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C4D0 00048130 4E 80 00 20 */ blr
/* 8004C4D4 00048134 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004C4D8 00048138 7C 08 02 A6 */ mflr r0
/* 8004C4DC 0004813C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004C4E0 00048140 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004C4E4 00048144 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004C4E8 00048148 7C 7E 1B 78 */ mr r30, r3
/* 8004C4EC 0004814C 4B FF EC C9 */ bl func_8004B1B4
/* 8004C4F0 00048150 2C 03 00 00 */ cmpwi r3, 0
/* 8004C4F4 00048154 7C 7F 1B 78 */ mr r31, r3
/* 8004C4F8 00048158 41 82 01 1C */ beq lbl_8004C614
/* 8004C4FC 0004815C 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8004C500 00048160 2C 03 00 00 */ cmpwi r3, 0
/* 8004C504 00048164 41 82 00 1C */ beq lbl_8004C520
/* 8004C508 00048168 41 82 00 18 */ beq lbl_8004C520
/* 8004C50C 0004816C 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004C510 00048170 38 80 00 01 */ li r4, 1
/* 8004C514 00048174 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004C518 00048178 7D 89 03 A6 */ mtctr r12
/* 8004C51C 0004817C 4E 80 04 21 */ bctrl
lbl_8004C520:
/* 8004C520 00048180 48 18 E6 09 */ bl func_801DAB28
/* 8004C524 00048184 2C 03 00 00 */ cmpwi r3, 0
/* 8004C528 00048188 41 82 00 14 */ beq lbl_8004C53C
/* 8004C52C 0004818C 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8004C530 00048190 38 80 00 28 */ li r4, 0x28
/* 8004C534 00048194 48 18 E7 61 */ bl func_801DAC94
/* 8004C538 00048198 48 00 00 08 */ b lbl_8004C540
lbl_8004C53C:
/* 8004C53C 0004819C 38 60 00 00 */ li r3, 0
lbl_8004C540:
/* 8004C540 000481A0 2C 03 00 00 */ cmpwi r3, 0
/* 8004C544 000481A4 41 82 00 14 */ beq lbl_8004C558
/* 8004C548 000481A8 80 BE 00 14 */ lwz r5, 0x14(r30)
/* 8004C54C 000481AC 80 9F 0C 04 */ lwz r4, 0xc04(r31)
/* 8004C550 000481B0 80 A5 00 1C */ lwz r5, 0x1c(r5)
/* 8004C554 000481B4 48 1D 24 F5 */ bl func_8021EA48
lbl_8004C558:
/* 8004C558 000481B8 2C 03 00 00 */ cmpwi r3, 0
/* 8004C55C 000481BC 90 7E 00 18 */ stw r3, 0x18(r30)
/* 8004C560 000481C0 41 82 00 B4 */ beq lbl_8004C614
/* 8004C564 000481C4 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 8004C568 000481C8 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 8004C56C 000481CC C0 04 00 08 */ lfs f0, 8(r4)
/* 8004C570 000481D0 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8004C574 000481D4 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8004C578 000481D8 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 8004C57C 000481DC 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004C580 000481E0 D0 01 00 08 */ stfs f0, 8(r1)
/* 8004C584 000481E4 A0 03 00 04 */ lhz r0, 4(r3)
/* 8004C588 000481E8 28 00 00 01 */ cmplwi r0, 1
/* 8004C58C 000481EC 40 82 00 14 */ bne lbl_8004C5A0
/* 8004C590 000481F0 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8004C594 000481F4 38 00 00 01 */ li r0, 1
/* 8004C598 000481F8 90 03 00 24 */ stw r0, 0x24(r3)
/* 8004C59C 000481FC 48 00 00 10 */ b lbl_8004C5AC
lbl_8004C5A0:
/* 8004C5A0 00048200 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8004C5A4 00048204 38 00 00 00 */ li r0, 0
/* 8004C5A8 00048208 90 03 00 24 */ stw r0, 0x24(r3)
lbl_8004C5AC:
/* 8004C5AC 0004820C 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004C5B0 00048210 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 8004C5B4 00048214 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8004C5B8 00048218 98 04 00 18 */ stb r0, 0x18(r4)
/* 8004C5BC 0004821C 88 03 00 11 */ lbz r0, 0x11(r3)
/* 8004C5C0 00048220 98 04 00 19 */ stb r0, 0x19(r4)
/* 8004C5C4 00048224 88 03 00 12 */ lbz r0, 0x12(r3)
/* 8004C5C8 00048228 98 04 00 1A */ stb r0, 0x1a(r4)
/* 8004C5CC 0004822C 88 03 00 13 */ lbz r0, 0x13(r3)
/* 8004C5D0 00048230 98 04 00 1B */ stb r0, 0x1b(r4)
/* 8004C5D4 00048234 83 FE 00 18 */ lwz r31, 0x18(r30)
/* 8004C5D8 00048238 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 8004C5DC 0004823C 7F E3 FB 78 */ mr r3, r31
/* 8004C5E0 00048240 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004C5E4 00048244 7D 89 03 A6 */ mtctr r12
/* 8004C5E8 00048248 4E 80 04 21 */ bctrl
/* 8004C5EC 0004824C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004C5F0 00048250 98 7F 00 08 */ stb r3, 8(r31)
/* 8004C5F4 00048254 41 82 00 20 */ beq lbl_8004C614
/* 8004C5F8 00048258 83 FF 00 04 */ lwz r31, 4(r31)
/* 8004C5FC 0004825C 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8004C600 00048260 48 1E EA 59 */ bl func_8023B058
/* 8004C604 00048264 2C 03 00 00 */ cmpwi r3, 0
/* 8004C608 00048268 41 82 00 0C */ beq lbl_8004C614
/* 8004C60C 0004826C 7F E4 FB 78 */ mr r4, r31
/* 8004C610 00048270 48 1E ED A9 */ bl func_8023B3B8
lbl_8004C614:
/* 8004C614 00048274 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004C618 00048278 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004C61C 0004827C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004C620 00048280 7C 08 03 A6 */ mtlr r0
/* 8004C624 00048284 38 21 00 20 */ addi r1, r1, 0x20
/* 8004C628 00048288 4E 80 00 20 */ blr
/* 8004C62C 0004828C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004C630 00048290 7C 08 02 A6 */ mflr r0
/* 8004C634 00048294 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004C638 00048298 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004C63C 0004829C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004C640 000482A0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004C644 000482A4 7C 7D 1B 78 */ mr r29, r3
/* 8004C648 000482A8 83 C3 00 18 */ lwz r30, 0x18(r3)
/* 8004C64C 000482AC 2C 1E 00 00 */ cmpwi r30, 0
/* 8004C650 000482B0 41 82 00 70 */ beq lbl_8004C6C0
/* 8004C654 000482B4 88 1E 00 08 */ lbz r0, 8(r30)
/* 8004C658 000482B8 2C 00 00 00 */ cmpwi r0, 0
/* 8004C65C 000482BC 41 82 00 3C */ beq lbl_8004C698
/* 8004C660 000482C0 83 FE 00 04 */ lwz r31, 4(r30)
/* 8004C664 000482C4 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8004C668 000482C8 48 1E E9 F1 */ bl func_8023B058
/* 8004C66C 000482CC 2C 03 00 00 */ cmpwi r3, 0
/* 8004C670 000482D0 41 82 00 0C */ beq lbl_8004C67C
/* 8004C674 000482D4 7F E4 FB 78 */ mr r4, r31
/* 8004C678 000482D8 48 1E ED A9 */ bl func_8023B420
lbl_8004C67C:
/* 8004C67C 000482DC 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 8004C680 000482E0 7F C3 F3 78 */ mr r3, r30
/* 8004C684 000482E4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8004C688 000482E8 7D 89 03 A6 */ mtctr r12
/* 8004C68C 000482EC 4E 80 04 21 */ bctrl
/* 8004C690 000482F0 38 00 00 00 */ li r0, 0
/* 8004C694 000482F4 98 1E 00 08 */ stb r0, 8(r30)
lbl_8004C698:
/* 8004C698 000482F8 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8004C69C 000482FC 2C 03 00 00 */ cmpwi r3, 0
/* 8004C6A0 00048300 41 82 00 18 */ beq lbl_8004C6B8
/* 8004C6A4 00048304 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004C6A8 00048308 38 80 00 01 */ li r4, 1
/* 8004C6AC 0004830C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004C6B0 00048310 7D 89 03 A6 */ mtctr r12
/* 8004C6B4 00048314 4E 80 04 21 */ bctrl
lbl_8004C6B8:
/* 8004C6B8 00048318 38 00 00 00 */ li r0, 0
/* 8004C6BC 0004831C 90 1D 00 18 */ stw r0, 0x18(r29)
lbl_8004C6C0:
/* 8004C6C0 00048320 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004C6C4 00048324 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004C6C8 00048328 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004C6CC 0004832C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004C6D0 00048330 7C 08 03 A6 */ mtlr r0
/* 8004C6D4 00048334 38 21 00 20 */ addi r1, r1, 0x20
/* 8004C6D8 00048338 4E 80 00 20 */ blr
/* 8004C6DC 0004833C 4E 80 00 20 */ blr
.global func_8004C6E0
func_8004C6E0:
/* 8004C6E0 00048340 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C6E4 00048344 7C 08 02 A6 */ mflr r0
/* 8004C6E8 00048348 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C6EC 0004834C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C6F0 00048350 7C 7F 1B 78 */ mr r31, r3
/* 8004C6F4 00048354 4B FF EA 5D */ bl func_8004B150
/* 8004C6F8 00048358 3C 80 80 41 */ lis r4, lbl_8040A7F0@ha
/* 8004C6FC 0004835C 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004C700 00048360 38 84 A7 F0 */ addi r4, r4, lbl_8040A7F0@l
/* 8004C704 00048364 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8004C708 00048368 48 00 3C 1D */ bl func_80050324
/* 8004C70C 0004836C 38 7F 00 40 */ addi r3, r31, 0x40
/* 8004C710 00048370 48 00 44 25 */ bl func_80050B34
/* 8004C714 00048374 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8004C718 00048378 38 00 00 00 */ li r0, 0
/* 8004C71C 0004837C 90 1F 00 B4 */ stw r0, 0xb4(r31)
/* 8004C720 00048380 7F E3 FB 78 */ mr r3, r31
/* 8004C724 00048384 38 04 00 08 */ addi r0, r4, 8
/* 8004C728 00048388 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8004C72C 0004838C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C730 00048390 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C734 00048394 7C 08 03 A6 */ mtlr r0
/* 8004C738 00048398 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C73C 0004839C 4E 80 00 20 */ blr
/* 8004C740 000483A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C744 000483A4 7C 08 02 A6 */ mflr r0
/* 8004C748 000483A8 2C 03 00 00 */ cmpwi r3, 0
/* 8004C74C 000483AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C750 000483B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C754 000483B4 7C 9F 23 78 */ mr r31, r4
/* 8004C758 000483B8 93 C1 00 08 */ stw r30, 8(r1)
/* 8004C75C 000483BC 7C 7E 1B 78 */ mr r30, r3
/* 8004C760 000483C0 41 82 00 1C */ beq lbl_8004C77C
/* 8004C764 000483C4 38 80 00 00 */ li r4, 0
/* 8004C768 000483C8 4B FF EA 0D */ bl func_8004B174
/* 8004C76C 000483CC 2C 1F 00 00 */ cmpwi r31, 0
/* 8004C770 000483D0 40 81 00 0C */ ble lbl_8004C77C
/* 8004C774 000483D4 7F C3 F3 78 */ mr r3, r30
/* 8004C778 000483D8 48 18 E3 41 */ bl __dl__FPv
lbl_8004C77C:
/* 8004C77C 000483DC 7F C3 F3 78 */ mr r3, r30
/* 8004C780 000483E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C784 000483E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004C788 000483E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C78C 000483EC 7C 08 03 A6 */ mtlr r0
/* 8004C790 000483F0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C794 000483F4 4E 80 00 20 */ blr
/* 8004C798 000483F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C79C 000483FC 7C 08 02 A6 */ mflr r0
/* 8004C7A0 00048400 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C7A4 00048404 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C7A8 00048408 7C 7F 1B 78 */ mr r31, r3
/* 8004C7AC 0004840C 4B FF EA 09 */ bl func_8004B1B4
/* 8004C7B0 00048410 2C 03 00 00 */ cmpwi r3, 0
/* 8004C7B4 00048414 41 82 00 0C */ beq lbl_8004C7C0
/* 8004C7B8 00048418 80 03 0C 04 */ lwz r0, 0xc04(r3)
/* 8004C7BC 0004841C 90 1F 00 B4 */ stw r0, 0xb4(r31)
lbl_8004C7C0:
/* 8004C7C0 00048420 38 00 00 00 */ li r0, 0
/* 8004C7C4 00048424 7F E3 FB 78 */ mr r3, r31
/* 8004C7C8 00048428 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 8004C7CC 0004842C 48 00 00 19 */ bl func_8004C7E4
/* 8004C7D0 00048430 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C7D4 00048434 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C7D8 00048438 7C 08 03 A6 */ mtlr r0
/* 8004C7DC 0004843C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C7E0 00048440 4E 80 00 20 */ blr
.global func_8004C7E4
func_8004C7E4:
/* 8004C7E4 00048444 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C7E8 00048448 7C 08 02 A6 */ mflr r0
/* 8004C7EC 0004844C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C7F0 00048450 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C7F4 00048454 7C 7F 1B 78 */ mr r31, r3
/* 8004C7F8 00048458 93 C1 00 08 */ stw r30, 8(r1)
/* 8004C7FC 0004845C 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 8004C800 00048460 80 A3 00 B0 */ lwz r5, 0xb0(r3)
/* 8004C804 00048464 80 86 00 04 */ lwz r4, 4(r6)
/* 8004C808 00048468 38 04 FF FF */ addi r0, r4, -1
/* 8004C80C 0004846C 7C 05 00 00 */ cmpw r5, r0
/* 8004C810 00048470 40 80 00 18 */ bge lbl_8004C828
/* 8004C814 00048474 38 05 00 01 */ addi r0, r5, 1
/* 8004C818 00048478 38 86 00 08 */ addi r4, r6, 8
/* 8004C81C 0004847C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8004C820 00048480 7F C4 02 14 */ add r30, r4, r0
/* 8004C824 00048484 48 00 00 10 */ b lbl_8004C834
lbl_8004C828:
/* 8004C828 00048488 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8004C82C 0004848C 38 86 00 08 */ addi r4, r6, 8
/* 8004C830 00048490 7F C4 02 14 */ add r30, r4, r0
lbl_8004C834:
/* 8004C834 00048494 1C 05 00 14 */ mulli r0, r5, 0x14
/* 8004C838 00048498 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004C83C 0004849C 7C 84 02 14 */ add r4, r4, r0
/* 8004C840 000484A0 90 83 00 18 */ stw r4, 0x18(r3)
/* 8004C844 000484A4 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8004C848 000484A8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8004C84C 000484AC 40 82 00 30 */ bne lbl_8004C87C
/* 8004C850 000484B0 38 63 00 80 */ addi r3, r3, 0x80
/* 8004C854 000484B4 38 84 00 08 */ addi r4, r4, 8
/* 8004C858 000484B8 4B FF E5 09 */ bl func_8004AD60
/* 8004C85C 000484BC 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8004C860 000484C0 7F E3 FB 78 */ mr r3, r31
/* 8004C864 000484C4 C0 04 00 00 */ lfs f0, 0(r4)
/* 8004C868 000484C8 D0 1F 00 7C */ stfs f0, 0x7c(r31)
/* 8004C86C 000484CC 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004C870 000484D0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004C874 000484D4 7D 89 03 A6 */ mtctr r12
/* 8004C878 000484D8 4E 80 04 21 */ bctrl
lbl_8004C87C:
/* 8004C87C 000484DC 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004C880 000484E0 48 00 3B 09 */ bl func_80050388
/* 8004C884 000484E4 38 7F 00 40 */ addi r3, r31, 0x40
/* 8004C888 000484E8 48 00 43 59 */ bl func_80050BE0
/* 8004C88C 000484EC 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004C890 000484F0 38 9F 00 90 */ addi r4, r31, 0x90
/* 8004C894 000484F4 38 63 00 08 */ addi r3, r3, 8
/* 8004C898 000484F8 4B FF E4 5D */ bl func_8004ACF4
/* 8004C89C 000484FC 38 7E 00 08 */ addi r3, r30, 8
/* 8004C8A0 00048500 38 9F 00 A0 */ addi r4, r31, 0xa0
/* 8004C8A4 00048504 4B FF E4 51 */ bl func_8004ACF4
/* 8004C8A8 00048508 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8004C8AC 0004850C 38 7F 00 40 */ addi r3, r31, 0x40
/* 8004C8B0 00048510 38 9F 00 90 */ addi r4, r31, 0x90
/* 8004C8B4 00048514 38 BF 00 A0 */ addi r5, r31, 0xa0
/* 8004C8B8 00048518 C0 26 00 10 */ lfs f1, 0x10(r6)
/* 8004C8BC 0004851C 38 DF 00 80 */ addi r6, r31, 0x80
/* 8004C8C0 00048520 38 E0 00 00 */ li r7, 0
/* 8004C8C4 00048524 48 00 42 89 */ bl func_80050B4C
/* 8004C8C8 00048528 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8004C8CC 0004852C 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004C8D0 00048530 38 DF 00 7C */ addi r6, r31, 0x7c
/* 8004C8D4 00048534 38 E0 00 00 */ li r7, 0
/* 8004C8D8 00048538 C0 24 00 10 */ lfs f1, 0x10(r4)
/* 8004C8DC 0004853C 38 A4 00 04 */ addi r5, r4, 4
/* 8004C8E0 00048540 48 00 3A 5D */ bl func_8005033C
/* 8004C8E4 00048544 80 7F 00 B0 */ lwz r3, 0xb0(r31)
/* 8004C8E8 00048548 38 00 00 01 */ li r0, 1
/* 8004C8EC 0004854C 98 1F 00 00 */ stb r0, 0(r31)
/* 8004C8F0 00048550 38 03 00 01 */ addi r0, r3, 1
/* 8004C8F4 00048554 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 8004C8F8 00048558 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C8FC 0004855C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004C900 00048560 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C904 00048564 7C 08 03 A6 */ mtlr r0
/* 8004C908 00048568 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C90C 0004856C 4E 80 00 20 */ blr
/* 8004C910 00048570 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004C914 00048574 7C 08 02 A6 */ mflr r0
/* 8004C918 00048578 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004C91C 0004857C 38 00 00 00 */ li r0, 0
/* 8004C920 00048580 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004C924 00048584 7C 7F 1B 78 */ mr r31, r3
/* 8004C928 00048588 98 03 00 00 */ stb r0, 0(r3)
/* 8004C92C 0004858C 38 63 00 40 */ addi r3, r3, 0x40
/* 8004C930 00048590 48 00 42 B1 */ bl func_80050BE0
/* 8004C934 00048594 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004C938 00048598 48 00 3A 51 */ bl func_80050388
/* 8004C93C 0004859C 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 8004C940 000485A0 2C 03 00 00 */ cmpwi r3, 0
/* 8004C944 000485A4 41 82 00 0C */ beq lbl_8004C950
/* 8004C948 000485A8 38 80 00 01 */ li r4, 1
/* 8004C94C 000485AC 48 1A 9A 79 */ bl func_801F63C4
lbl_8004C950:
/* 8004C950 000485B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004C954 000485B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004C958 000485B8 7C 08 03 A6 */ mtlr r0
/* 8004C95C 000485BC 38 21 00 10 */ addi r1, r1, 0x10
/* 8004C960 000485C0 4E 80 00 20 */ blr
/* 8004C964 000485C4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8004C968 000485C8 7C 08 02 A6 */ mflr r0
/* 8004C96C 000485CC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8004C970 000485D0 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8004C974 000485D4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8004C978 000485D8 FF E0 08 90 */ fmr f31, f1
/* 8004C97C 000485DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004C980 000485E0 7C 7F 1B 78 */ mr r31, r3
/* 8004C984 000485E4 88 03 00 00 */ lbz r0, 0(r3)
/* 8004C988 000485E8 2C 00 00 00 */ cmpwi r0, 0
/* 8004C98C 000485EC 41 82 00 A4 */ beq lbl_8004CA30
/* 8004C990 000485F0 81 83 00 78 */ lwz r12, 0x78(r3)
/* 8004C994 000485F4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004C998 000485F8 7D 89 03 A6 */ mtctr r12
/* 8004C99C 000485FC 38 63 00 40 */ addi r3, r3, 0x40
/* 8004C9A0 00048600 4E 80 04 21 */ bctrl
/* 8004C9A4 00048604 81 9F 00 3C */ lwz r12, 0x3c(r31)
/* 8004C9A8 00048608 FC 20 F8 90 */ fmr f1, f31
/* 8004C9AC 0004860C 38 7F 00 1C */ addi r3, r31, 0x1c
/* 8004C9B0 00048610 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004C9B4 00048614 7D 89 03 A6 */ mtctr r12
/* 8004C9B8 00048618 4E 80 04 21 */ bctrl
/* 8004C9BC 0004861C 2C 03 00 00 */ cmpwi r3, 0
/* 8004C9C0 00048620 40 82 00 38 */ bne lbl_8004C9F8
/* 8004C9C4 00048624 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8004C9C8 00048628 80 9F 00 B0 */ lwz r4, 0xb0(r31)
/* 8004C9CC 0004862C 80 03 00 04 */ lwz r0, 4(r3)
/* 8004C9D0 00048630 7C 04 00 00 */ cmpw r4, r0
/* 8004C9D4 00048634 41 80 00 1C */ blt lbl_8004C9F0
/* 8004C9D8 00048638 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004C9DC 0004863C 7F E3 FB 78 */ mr r3, r31
/* 8004C9E0 00048640 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8004C9E4 00048644 7D 89 03 A6 */ mtctr r12
/* 8004C9E8 00048648 4E 80 04 21 */ bctrl
/* 8004C9EC 0004864C 48 00 00 0C */ b lbl_8004C9F8
lbl_8004C9F0:
/* 8004C9F0 00048650 7F E3 FB 78 */ mr r3, r31
/* 8004C9F4 00048654 4B FF FD F1 */ bl func_8004C7E4
lbl_8004C9F8:
/* 8004C9F8 00048658 38 7F 00 80 */ addi r3, r31, 0x80
/* 8004C9FC 0004865C 38 81 00 08 */ addi r4, r1, 8
/* 8004CA00 00048660 4B FF E3 61 */ bl func_8004AD60
/* 8004CA04 00048664 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 8004CA08 00048668 2C 03 00 00 */ cmpwi r3, 0
/* 8004CA0C 0004866C 41 82 00 24 */ beq lbl_8004CA30
/* 8004CA10 00048670 38 81 00 08 */ addi r4, r1, 8
/* 8004CA14 00048674 48 1A 9A C9 */ bl func_801F64DC
/* 8004CA18 00048678 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 8004CA1C 0004867C C0 3F 00 7C */ lfs f1, 0x7c(r31)
/* 8004CA20 00048680 48 1A 9B 69 */ bl func_801F6588
/* 8004CA24 00048684 80 7F 00 B4 */ lwz r3, 0xb4(r31)
/* 8004CA28 00048688 38 80 00 01 */ li r4, 1
/* 8004CA2C 0004868C 48 1A 99 99 */ bl func_801F63C4
lbl_8004CA30:
/* 8004CA30 00048690 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8004CA34 00048694 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8004CA38 00048698 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8004CA3C 0004869C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004CA40 000486A0 7C 08 03 A6 */ mtlr r0
/* 8004CA44 000486A4 38 21 00 30 */ addi r1, r1, 0x30
/* 8004CA48 000486A8 4E 80 00 20 */ blr
/* 8004CA4C 000486AC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004CA50 000486B0 39 00 00 00 */ li r8, 0
/* 8004CA54 000486B4 C0 22 83 F8 */ lfs f1, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004CA58 000486B8 80 E4 00 04 */ lwz r7, 4(r4)
/* 8004CA5C 000486BC 2C 87 00 00 */ cmpwi cr1, r7, 0
/* 8004CA60 000486C0 4C 85 00 20 */ blelr cr1
/* 8004CA64 000486C4 2C 07 00 08 */ cmpwi r7, 8
/* 8004CA68 000486C8 38 A7 FF F8 */ addi r5, r7, -8
/* 8004CA6C 000486CC 40 81 00 94 */ ble lbl_8004CB00
/* 8004CA70 000486D0 38 C0 00 00 */ li r6, 0
/* 8004CA74 000486D4 41 84 00 18 */ blt cr1, lbl_8004CA8C
/* 8004CA78 000486D8 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha
/* 8004CA7C 000486DC 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l
/* 8004CA80 000486E0 7C 07 00 00 */ cmpw r7, r0
/* 8004CA84 000486E4 41 81 00 08 */ bgt lbl_8004CA8C
/* 8004CA88 000486E8 38 C0 00 01 */ li r6, 1
lbl_8004CA8C:
/* 8004CA8C 000486EC 2C 06 00 00 */ cmpwi r6, 0
/* 8004CA90 000486F0 41 82 00 70 */ beq lbl_8004CB00
/* 8004CA94 000486F4 38 05 00 07 */ addi r0, r5, 7
/* 8004CA98 000486F8 38 80 00 00 */ li r4, 0
/* 8004CA9C 000486FC 54 00 E8 FE */ srwi r0, r0, 3
/* 8004CAA0 00048700 7C 09 03 A6 */ mtctr r0
/* 8004CAA4 00048704 2C 05 00 00 */ cmpwi r5, 0
/* 8004CAA8 00048708 40 81 00 58 */ ble lbl_8004CB00
lbl_8004CAAC:
/* 8004CAAC 0004870C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8004CAB0 00048710 39 08 00 08 */ addi r8, r8, 8
/* 8004CAB4 00048714 7C A0 22 14 */ add r5, r0, r4
/* 8004CAB8 00048718 38 84 00 A0 */ addi r4, r4, 0xa0
/* 8004CABC 0004871C C0 45 00 18 */ lfs f2, 0x18(r5)
/* 8004CAC0 00048720 C0 05 00 2C */ lfs f0, 0x2c(r5)
/* 8004CAC4 00048724 EC 21 10 2A */ fadds f1, f1, f2
/* 8004CAC8 00048728 C0 C5 00 40 */ lfs f6, 0x40(r5)
/* 8004CACC 0004872C C0 A5 00 54 */ lfs f5, 0x54(r5)
/* 8004CAD0 00048730 C0 85 00 68 */ lfs f4, 0x68(r5)
/* 8004CAD4 00048734 EC 21 00 2A */ fadds f1, f1, f0
/* 8004CAD8 00048738 C0 65 00 7C */ lfs f3, 0x7c(r5)
/* 8004CADC 0004873C C0 45 00 90 */ lfs f2, 0x90(r5)
/* 8004CAE0 00048740 C0 05 00 A4 */ lfs f0, 0xa4(r5)
/* 8004CAE4 00048744 EC 21 30 2A */ fadds f1, f1, f6
/* 8004CAE8 00048748 EC 21 28 2A */ fadds f1, f1, f5
/* 8004CAEC 0004874C EC 21 20 2A */ fadds f1, f1, f4
/* 8004CAF0 00048750 EC 21 18 2A */ fadds f1, f1, f3
/* 8004CAF4 00048754 EC 21 10 2A */ fadds f1, f1, f2
/* 8004CAF8 00048758 EC 21 00 2A */ fadds f1, f1, f0
/* 8004CAFC 0004875C 42 00 FF B0 */ bdnz lbl_8004CAAC
lbl_8004CB00:
/* 8004CB00 00048760 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 8004CB04 00048764 1C 88 00 14 */ mulli r4, r8, 0x14
/* 8004CB08 00048768 80 65 00 04 */ lwz r3, 4(r5)
/* 8004CB0C 0004876C 7C 08 18 50 */ subf r0, r8, r3
/* 8004CB10 00048770 7C 09 03 A6 */ mtctr r0
/* 8004CB14 00048774 7C 08 18 00 */ cmpw r8, r3
/* 8004CB18 00048778 4C 80 00 20 */ bgelr
lbl_8004CB1C:
/* 8004CB1C 0004877C 7C 65 22 14 */ add r3, r5, r4
/* 8004CB20 00048780 38 84 00 14 */ addi r4, r4, 0x14
/* 8004CB24 00048784 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8004CB28 00048788 EC 21 00 2A */ fadds f1, f1, f0
/* 8004CB2C 0004878C 42 00 FF F0 */ bdnz lbl_8004CB1C
/* 8004CB30 00048790 4E 80 00 20 */ blr
.global func_8004CB34
func_8004CB34:
/* 8004CB34 00048794 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004CB38 00048798 7C 08 02 A6 */ mflr r0
/* 8004CB3C 0004879C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004CB40 000487A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004CB44 000487A4 7C 7F 1B 78 */ mr r31, r3
/* 8004CB48 000487A8 4B FF E6 09 */ bl func_8004B150
/* 8004CB4C 000487AC 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8004CB50 000487B0 3C C0 80 41 */ lis r6, lbl_8040A7AC@ha
/* 8004CB54 000487B4 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 8004CB58 000487B8 38 80 00 00 */ li r4, 0
/* 8004CB5C 000487BC 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 8004CB60 000487C0 38 C6 A7 AC */ addi r6, r6, lbl_8040A7AC@l
/* 8004CB64 000487C4 38 A5 00 08 */ addi r5, r5, 8
/* 8004CB68 000487C8 90 DF 00 10 */ stw r6, 0x10(r31)
/* 8004CB6C 000487CC 7F E3 FB 78 */ mr r3, r31
/* 8004CB70 000487D0 90 BF 00 14 */ stw r5, 0x14(r31)
/* 8004CB74 000487D4 90 9F 00 18 */ stw r4, 0x18(r31)
/* 8004CB78 000487D8 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 8004CB7C 000487DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004CB80 000487E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004CB84 000487E4 7C 08 03 A6 */ mtlr r0
/* 8004CB88 000487E8 38 21 00 10 */ addi r1, r1, 0x10
/* 8004CB8C 000487EC 4E 80 00 20 */ blr
/* 8004CB90 000487F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004CB94 000487F4 7C 08 02 A6 */ mflr r0
/* 8004CB98 000487F8 2C 03 00 00 */ cmpwi r3, 0
/* 8004CB9C 000487FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004CBA0 00048800 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004CBA4 00048804 7C 9F 23 78 */ mr r31, r4
/* 8004CBA8 00048808 93 C1 00 08 */ stw r30, 8(r1)
/* 8004CBAC 0004880C 7C 7E 1B 78 */ mr r30, r3
/* 8004CBB0 00048810 41 82 00 60 */ beq lbl_8004CC10
/* 8004CBB4 00048814 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8004CBB8 00048818 3C 80 80 41 */ lis r4, lbl_8040A7AC@ha
/* 8004CBBC 0004881C 38 84 A7 AC */ addi r4, r4, lbl_8040A7AC@l
/* 8004CBC0 00048820 2C 00 00 00 */ cmpwi r0, 0
/* 8004CBC4 00048824 90 83 00 10 */ stw r4, 0x10(r3)
/* 8004CBC8 00048828 41 82 00 20 */ beq lbl_8004CBE8
/* 8004CBCC 0004882C 41 82 00 1C */ beq lbl_8004CBE8
/* 8004CBD0 00048830 7C 03 03 78 */ mr r3, r0
/* 8004CBD4 00048834 38 80 00 01 */ li r4, 1
/* 8004CBD8 00048838 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004CBDC 0004883C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004CBE0 00048840 7D 89 03 A6 */ mtctr r12
/* 8004CBE4 00048844 4E 80 04 21 */ bctrl
lbl_8004CBE8:
/* 8004CBE8 00048848 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 8004CBEC 0004884C 7F C3 F3 78 */ mr r3, r30
/* 8004CBF0 00048850 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 8004CBF4 00048854 B0 1E 00 1C */ sth r0, 0x1c(r30)
/* 8004CBF8 00048858 38 80 00 00 */ li r4, 0
/* 8004CBFC 0004885C 4B FF E5 79 */ bl func_8004B174
/* 8004CC00 00048860 2C 1F 00 00 */ cmpwi r31, 0
/* 8004CC04 00048864 40 81 00 0C */ ble lbl_8004CC10
/* 8004CC08 00048868 7F C3 F3 78 */ mr r3, r30
/* 8004CC0C 0004886C 48 18 DE AD */ bl __dl__FPv
lbl_8004CC10:
/* 8004CC10 00048870 7F C3 F3 78 */ mr r3, r30
/* 8004CC14 00048874 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004CC18 00048878 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004CC1C 0004887C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004CC20 00048880 7C 08 03 A6 */ mtlr r0
/* 8004CC24 00048884 38 21 00 10 */ addi r1, r1, 0x10
/* 8004CC28 00048888 4E 80 00 20 */ blr
/* 8004CC2C 0004888C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8004CC30 00048890 7C 08 02 A6 */ mflr r0
/* 8004CC34 00048894 90 01 00 64 */ stw r0, 0x64(r1)
/* 8004CC38 00048898 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 8004CC3C 0004889C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 8004CC40 000488A0 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8004CC44 000488A4 7C 7F 1B 78 */ mr r31, r3
/* 8004CC48 000488A8 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8004CC4C 000488AC 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8004CC50 000488B0 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004CC54 000488B4 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 8004CC58 000488B8 2C 00 00 00 */ cmpwi r0, 0
/* 8004CC5C 000488BC 41 82 02 F8 */ beq lbl_8004CF54
/* 8004CC60 000488C0 80 63 00 04 */ lwz r3, 4(r3)
/* 8004CC64 000488C4 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8004CC68 000488C8 2C 00 00 00 */ cmpwi r0, 0
/* 8004CC6C 000488CC 41 82 02 E8 */ beq lbl_8004CF54
/* 8004CC70 000488D0 4B FE 64 19 */ bl func_80033088
/* 8004CC74 000488D4 38 80 00 00 */ li r4, 0
/* 8004CC78 000488D8 4B FE 6F 05 */ bl func_80033B7C
/* 8004CC7C 000488DC 2C 03 00 00 */ cmpwi r3, 0
/* 8004CC80 000488E0 41 82 02 D4 */ beq lbl_8004CF54
/* 8004CC84 000488E4 4B FE 8C ED */ bl func_80035970
/* 8004CC88 000488E8 C3 E2 83 F8 */ lfs f31, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004CC8C 000488EC 7C 7E 1B 78 */ mr r30, r3
/* 8004CC90 000488F0 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8004CC94 000488F4 D3 FF 00 44 */ stfs f31, 0x44(r31)
/* 8004CC98 000488F8 80 03 00 00 */ lwz r0, 0(r3)
/* 8004CC9C 000488FC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8004CCA0 00048900 41 82 00 50 */ beq lbl_8004CCF0
/* 8004CCA4 00048904 48 1D 6B 8D */ bl func_80223830
/* 8004CCA8 00048908 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 8004CCAC 0004890C 80 A3 00 00 */ lwz r5, 0(r3)
/* 8004CCB0 00048910 38 84 43 FD */ addi r4, r4, 0x000343FD@l
/* 8004CCB4 00048914 3C 00 43 30 */ lis r0, 0x4330
/* 8004CCB8 00048918 7C 85 21 D6 */ mullw r4, r5, r4
/* 8004CCBC 0004891C 90 01 00 30 */ stw r0, 0x30(r1)
/* 8004CCC0 00048920 C8 62 83 F0 */ lfd f3, lbl_806409F0-_SDA2_BASE_(r2)
/* 8004CCC4 00048924 C0 22 84 0C */ lfs f1, lbl_80640A0C-_SDA2_BASE_(r2)
/* 8004CCC8 00048928 C0 02 84 10 */ lfs f0, lbl_80640A10-_SDA2_BASE_(r2)
/* 8004CCCC 0004892C 3C 84 00 27 */ addis r4, r4, 0x27
/* 8004CCD0 00048930 38 84 9E C3 */ addi r4, r4, -24893
/* 8004CCD4 00048934 54 80 84 3E */ srwi r0, r4, 0x10
/* 8004CCD8 00048938 90 83 00 00 */ stw r4, 0(r3)
/* 8004CCDC 0004893C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8004CCE0 00048940 C8 41 00 30 */ lfd f2, 0x30(r1)
/* 8004CCE4 00048944 EC 42 18 28 */ fsubs f2, f2, f3
/* 8004CCE8 00048948 EC 22 08 24 */ fdivs f1, f2, f1
/* 8004CCEC 0004894C EF E0 00 72 */ fmuls f31, f0, f1
lbl_8004CCF0:
/* 8004CCF0 00048950 C0 1E 01 C4 */ lfs f0, 0x1c4(r30)
/* 8004CCF4 00048954 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8004CCF8 00048958 C0 1E 01 C8 */ lfs f0, 0x1c8(r30)
/* 8004CCFC 0004895C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8004CD00 00048960 C0 1E 01 CC */ lfs f0, 0x1cc(r30)
/* 8004CD04 00048964 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8004CD08 00048968 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8004CD0C 0004896C 80 03 00 00 */ lwz r0, 0(r3)
/* 8004CD10 00048970 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8004CD14 00048974 41 82 01 20 */ beq lbl_8004CE34
/* 8004CD18 00048978 7F E3 FB 78 */ mr r3, r31
/* 8004CD1C 0004897C 4B FF E4 99 */ bl func_8004B1B4
/* 8004CD20 00048980 83 A3 0C 04 */ lwz r29, 0xc04(r3)
/* 8004CD24 00048984 38 61 00 24 */ addi r3, r1, 0x24
/* 8004CD28 00048988 38 9E 01 AC */ addi r4, r30, 0x1ac
/* 8004CD2C 0004898C 38 A1 00 18 */ addi r5, r1, 0x18
/* 8004CD30 00048990 48 22 FF B9 */ bl PSVECSubtract
/* 8004CD34 00048994 38 61 00 18 */ addi r3, r1, 0x18
/* 8004CD38 00048998 7C 64 1B 78 */ mr r4, r3
/* 8004CD3C 0004899C 48 22 FF ED */ bl PSVECNormalize
/* 8004CD40 000489A0 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004CD44 000489A4 7F A3 EB 78 */ mr r3, r29
/* 8004CD48 000489A8 38 A1 00 24 */ addi r5, r1, 0x24
/* 8004CD4C 000489AC 38 C1 00 18 */ addi r6, r1, 0x18
/* 8004CD50 000489B0 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 8004CD54 000489B4 38 E0 00 00 */ li r7, 0
/* 8004CD58 000489B8 48 1A BB 95 */ bl func_801F88EC
/* 8004CD5C 000489BC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8004CD60 000489C0 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004CD64 000489C4 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 8004CD68 000489C8 C0 02 84 14 */ lfs f0, lbl_80640A14-_SDA2_BASE_(r2)
/* 8004CD6C 000489CC C0 24 00 18 */ lfs f1, 0x18(r4)
/* 8004CD70 000489D0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004CD74 000489D4 40 80 00 10 */ bge lbl_8004CD84
/* 8004CD78 000489D8 C0 02 84 18 */ lfs f0, lbl_80640A18-_SDA2_BASE_(r2)
/* 8004CD7C 000489DC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004CD80 000489E0 41 81 00 44 */ bgt lbl_8004CDC4
lbl_8004CD84:
/* 8004CD84 000489E4 C0 24 00 1C */ lfs f1, 0x1c(r4)
/* 8004CD88 000489E8 C0 02 84 14 */ lfs f0, lbl_80640A14-_SDA2_BASE_(r2)
/* 8004CD8C 000489EC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004CD90 000489F0 40 80 00 10 */ bge lbl_8004CDA0
/* 8004CD94 000489F4 C0 02 84 18 */ lfs f0, lbl_80640A18-_SDA2_BASE_(r2)
/* 8004CD98 000489F8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004CD9C 000489FC 41 81 00 28 */ bgt lbl_8004CDC4
lbl_8004CDA0:
/* 8004CDA0 00048A00 C0 24 00 1C */ lfs f1, 0x1c(r4)
/* 8004CDA4 00048A04 7F A3 EB 78 */ mr r3, r29
/* 8004CDA8 00048A08 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 8004CDAC 00048A0C 38 A1 00 10 */ addi r5, r1, 0x10
/* 8004CDB0 00048A10 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8004CDB4 00048A14 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 8004CDB8 00048A18 A0 1F 00 1C */ lhz r0, 0x1c(r31)
/* 8004CDBC 00048A1C 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8004CDC0 00048A20 48 1A BD B1 */ bl func_801F8B70
lbl_8004CDC4:
/* 8004CDC4 00048A24 C0 02 83 F8 */ lfs f0, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004CDC8 00048A28 38 00 00 FF */ li r0, 0xff
/* 8004CDCC 00048A2C 98 1F 00 34 */ stb r0, 0x34(r31)
/* 8004CDD0 00048A30 7F E3 FB 78 */ mr r3, r31
/* 8004CDD4 00048A34 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 8004CDD8 00048A38 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 8004CDDC 00048A3C 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004CDE0 00048A40 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004CDE4 00048A44 7D 89 03 A6 */ mtctr r12
/* 8004CDE8 00048A48 4E 80 04 21 */ bctrl
/* 8004CDEC 00048A4C C0 02 84 1C */ lfs f0, lbl_80640A1C-_SDA2_BASE_(r2)
/* 8004CDF0 00048A50 7F E3 FB 78 */ mr r3, r31
/* 8004CDF4 00048A54 EC 00 00 72 */ fmuls f0, f0, f1
/* 8004CDF8 00048A58 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 8004CDFC 00048A5C 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004CE00 00048A60 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004CE04 00048A64 7D 89 03 A6 */ mtctr r12
/* 8004CE08 00048A68 4E 80 04 21 */ bctrl
/* 8004CE0C 00048A6C D0 3F 00 40 */ stfs f1, 0x40(r31)
/* 8004CE10 00048A70 7F E3 FB 78 */ mr r3, r31
/* 8004CE14 00048A74 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004CE18 00048A78 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004CE1C 00048A7C 7D 89 03 A6 */ mtctr r12
/* 8004CE20 00048A80 4E 80 04 21 */ bctrl
/* 8004CE24 00048A84 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 8004CE28 00048A88 EC 01 00 28 */ fsubs f0, f1, f0
/* 8004CE2C 00048A8C D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 8004CE30 00048A90 48 00 01 24 */ b lbl_8004CF54
lbl_8004CE34:
/* 8004CE34 00048A94 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004CE38 00048A98 2C 03 00 00 */ cmpwi r3, 0
/* 8004CE3C 00048A9C 41 82 00 1C */ beq lbl_8004CE58
/* 8004CE40 00048AA0 41 82 00 18 */ beq lbl_8004CE58
/* 8004CE44 00048AA4 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004CE48 00048AA8 38 80 00 01 */ li r4, 1
/* 8004CE4C 00048AAC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004CE50 00048AB0 7D 89 03 A6 */ mtctr r12
/* 8004CE54 00048AB4 4E 80 04 21 */ bctrl
lbl_8004CE58:
/* 8004CE58 00048AB8 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 8004CE5C 00048ABC C0 02 84 20 */ lfs f0, lbl_80640A20-_SDA2_BASE_(r2)
/* 8004CE60 00048AC0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004CE64 00048AC4 40 80 00 0C */ bge lbl_8004CE70
/* 8004CE68 00048AC8 C0 02 84 24 */ lfs f0, lbl_80640A24-_SDA2_BASE_(r2)
/* 8004CE6C 00048ACC D0 01 00 28 */ stfs f0, 0x28(r1)
lbl_8004CE70:
/* 8004CE70 00048AD0 48 18 DC B9 */ bl func_801DAB28
/* 8004CE74 00048AD4 2C 03 00 00 */ cmpwi r3, 0
/* 8004CE78 00048AD8 41 82 00 14 */ beq lbl_8004CE8C
/* 8004CE7C 00048ADC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8004CE80 00048AE0 38 80 00 78 */ li r4, 0x78
/* 8004CE84 00048AE4 48 18 DE 11 */ bl func_801DAC94
/* 8004CE88 00048AE8 48 00 00 08 */ b lbl_8004CE90
lbl_8004CE8C:
/* 8004CE8C 00048AEC 38 60 00 00 */ li r3, 0
lbl_8004CE90:
/* 8004CE90 00048AF0 2C 03 00 00 */ cmpwi r3, 0
/* 8004CE94 00048AF4 41 82 00 10 */ beq lbl_8004CEA4
/* 8004CE98 00048AF8 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004CE9C 00048AFC 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 8004CEA0 00048B00 48 1D 2C A5 */ bl func_8021FB44
lbl_8004CEA4:
/* 8004CEA4 00048B04 90 7F 00 18 */ stw r3, 0x18(r31)
/* 8004CEA8 00048B08 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 8004CEAC 00048B0C 38 84 36 14 */ addi r4, r4, lbl_80493614@l
/* 8004CEB0 00048B10 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8004CEB4 00048B14 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8004CEB8 00048B18 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8004CEBC 00048B1C D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8004CEC0 00048B20 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8004CEC4 00048B24 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8004CEC8 00048B28 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004CECC 00048B2C 48 1D 36 39 */ bl func_80220504
/* 8004CED0 00048B30 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8004CED4 00048B34 7F E3 FB 78 */ mr r3, r31
/* 8004CED8 00048B38 D3 E4 00 44 */ stfs f31, 0x44(r4)
/* 8004CEDC 00048B3C 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8004CEE0 00048B40 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8004CEE4 00048B44 C0 25 00 1C */ lfs f1, 0x1c(r5)
/* 8004CEE8 00048B48 C0 05 00 18 */ lfs f0, 0x18(r5)
/* 8004CEEC 00048B4C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8004CEF0 00048B50 D0 04 00 48 */ stfs f0, 0x48(r4)
/* 8004CEF4 00048B54 D0 24 00 4C */ stfs f1, 0x4c(r4)
/* 8004CEF8 00048B58 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004CEFC 00048B5C D0 01 00 08 */ stfs f0, 8(r1)
/* 8004CF00 00048B60 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004CF04 00048B64 7D 89 03 A6 */ mtctr r12
/* 8004CF08 00048B68 4E 80 04 21 */ bctrl
/* 8004CF0C 00048B6C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8004CF10 00048B70 D0 23 00 74 */ stfs f1, 0x74(r3)
/* 8004CF14 00048B74 83 DF 00 18 */ lwz r30, 0x18(r31)
/* 8004CF18 00048B78 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 8004CF1C 00048B7C 7F C3 F3 78 */ mr r3, r30
/* 8004CF20 00048B80 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004CF24 00048B84 7D 89 03 A6 */ mtctr r12
/* 8004CF28 00048B88 4E 80 04 21 */ bctrl
/* 8004CF2C 00048B8C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004CF30 00048B90 98 7E 00 08 */ stb r3, 8(r30)
/* 8004CF34 00048B94 41 82 00 20 */ beq lbl_8004CF54
/* 8004CF38 00048B98 83 DE 00 04 */ lwz r30, 4(r30)
/* 8004CF3C 00048B9C 57 C3 86 3E */ rlwinm r3, r30, 0x10, 0x18, 0x1f
/* 8004CF40 00048BA0 48 1E E1 19 */ bl func_8023B058
/* 8004CF44 00048BA4 2C 03 00 00 */ cmpwi r3, 0
/* 8004CF48 00048BA8 41 82 00 0C */ beq lbl_8004CF54
/* 8004CF4C 00048BAC 7F C4 F3 78 */ mr r4, r30
/* 8004CF50 00048BB0 48 1E E4 69 */ bl func_8023B3B8
lbl_8004CF54:
/* 8004CF54 00048BB4 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 8004CF58 00048BB8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8004CF5C 00048BBC CB E1 00 50 */ lfd f31, 0x50(r1)
/* 8004CF60 00048BC0 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8004CF64 00048BC4 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8004CF68 00048BC8 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8004CF6C 00048BCC 7C 08 03 A6 */ mtlr r0
/* 8004CF70 00048BD0 38 21 00 60 */ addi r1, r1, 0x60
/* 8004CF74 00048BD4 4E 80 00 20 */ blr
/* 8004CF78 00048BD8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004CF7C 00048BDC 7C 08 02 A6 */ mflr r0
/* 8004CF80 00048BE0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004CF84 00048BE4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004CF88 00048BE8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004CF8C 00048BEC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004CF90 00048BF0 7C 7D 1B 78 */ mr r29, r3
/* 8004CF94 00048BF4 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004CF98 00048BF8 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 8004CF9C 00048BFC 2C 00 00 00 */ cmpwi r0, 0
/* 8004CFA0 00048C00 41 82 00 A8 */ beq lbl_8004D048
/* 8004CFA4 00048C04 80 04 00 00 */ lwz r0, 0(r4)
/* 8004CFA8 00048C08 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8004CFAC 00048C0C 41 82 00 28 */ beq lbl_8004CFD4
/* 8004CFB0 00048C10 A0 03 00 1C */ lhz r0, 0x1c(r3)
/* 8004CFB4 00048C14 28 00 FF FF */ cmplwi r0, 0xffff
/* 8004CFB8 00048C18 41 82 00 90 */ beq lbl_8004D048
/* 8004CFBC 00048C1C 4B FF E1 F9 */ bl func_8004B1B4
/* 8004CFC0 00048C20 A0 1D 00 1C */ lhz r0, 0x1c(r29)
/* 8004CFC4 00048C24 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004CFC8 00048C28 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8004CFCC 00048C2C 48 1A BB F9 */ bl func_801F8BC4
/* 8004CFD0 00048C30 48 00 00 78 */ b lbl_8004D048
lbl_8004CFD4:
/* 8004CFD4 00048C34 83 E3 00 18 */ lwz r31, 0x18(r3)
/* 8004CFD8 00048C38 88 1F 00 08 */ lbz r0, 8(r31)
/* 8004CFDC 00048C3C 2C 00 00 00 */ cmpwi r0, 0
/* 8004CFE0 00048C40 41 82 00 3C */ beq lbl_8004D01C
/* 8004CFE4 00048C44 83 DF 00 04 */ lwz r30, 4(r31)
/* 8004CFE8 00048C48 57 C3 86 3E */ rlwinm r3, r30, 0x10, 0x18, 0x1f
/* 8004CFEC 00048C4C 48 1E E0 6D */ bl func_8023B058
/* 8004CFF0 00048C50 2C 03 00 00 */ cmpwi r3, 0
/* 8004CFF4 00048C54 41 82 00 0C */ beq lbl_8004D000
/* 8004CFF8 00048C58 7F C4 F3 78 */ mr r4, r30
/* 8004CFFC 00048C5C 48 1E E4 25 */ bl func_8023B420
lbl_8004D000:
/* 8004D000 00048C60 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 8004D004 00048C64 7F E3 FB 78 */ mr r3, r31
/* 8004D008 00048C68 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8004D00C 00048C6C 7D 89 03 A6 */ mtctr r12
/* 8004D010 00048C70 4E 80 04 21 */ bctrl
/* 8004D014 00048C74 38 00 00 00 */ li r0, 0
/* 8004D018 00048C78 98 1F 00 08 */ stb r0, 8(r31)
lbl_8004D01C:
/* 8004D01C 00048C7C 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8004D020 00048C80 2C 03 00 00 */ cmpwi r3, 0
/* 8004D024 00048C84 41 82 00 24 */ beq lbl_8004D048
/* 8004D028 00048C88 41 82 00 18 */ beq lbl_8004D040
/* 8004D02C 00048C8C 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004D030 00048C90 38 80 00 01 */ li r4, 1
/* 8004D034 00048C94 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D038 00048C98 7D 89 03 A6 */ mtctr r12
/* 8004D03C 00048C9C 4E 80 04 21 */ bctrl
lbl_8004D040:
/* 8004D040 00048CA0 38 00 00 00 */ li r0, 0
/* 8004D044 00048CA4 90 1D 00 18 */ stw r0, 0x18(r29)
lbl_8004D048:
/* 8004D048 00048CA8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004D04C 00048CAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004D050 00048CB0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004D054 00048CB4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004D058 00048CB8 7C 08 03 A6 */ mtlr r0
/* 8004D05C 00048CBC 38 21 00 20 */ addi r1, r1, 0x20
/* 8004D060 00048CC0 4E 80 00 20 */ blr
/* 8004D064 00048CC4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8004D068 00048CC8 7C 08 02 A6 */ mflr r0
/* 8004D06C 00048CCC 90 01 00 44 */ stw r0, 0x44(r1)
/* 8004D070 00048CD0 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8004D074 00048CD4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8004D078 00048CD8 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 8004D07C 00048CDC F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8004D080 00048CE0 FF C0 08 90 */ fmr f30, f1
/* 8004D084 00048CE4 C3 E2 84 28 */ lfs f31, lbl_80640A28-_SDA2_BASE_(r2)
/* 8004D088 00048CE8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004D08C 00048CEC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004D090 00048CF0 7C 7E 1B 78 */ mr r30, r3
/* 8004D094 00048CF4 C0 03 00 44 */ lfs f0, 0x44(r3)
/* 8004D098 00048CF8 EC 00 08 2A */ fadds f0, f0, f1
/* 8004D09C 00048CFC D0 03 00 44 */ stfs f0, 0x44(r3)
/* 8004D0A0 00048D00 4B FF E1 15 */ bl func_8004B1B4
/* 8004D0A4 00048D04 83 E3 0C 04 */ lwz r31, 0xc04(r3)
/* 8004D0A8 00048D08 2C 1F 00 00 */ cmpwi r31, 0
/* 8004D0AC 00048D0C 41 82 01 28 */ beq lbl_8004D1D4
/* 8004D0B0 00048D10 A0 9E 00 1C */ lhz r4, 0x1c(r30)
/* 8004D0B4 00048D14 28 04 FF FF */ cmplwi r4, 0xffff
/* 8004D0B8 00048D18 41 82 01 1C */ beq lbl_8004D1D4
/* 8004D0BC 00048D1C 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8004D0C0 00048D20 80 63 00 00 */ lwz r3, 0(r3)
/* 8004D0C4 00048D24 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 8004D0C8 00048D28 41 82 01 0C */ beq lbl_8004D1D4
/* 8004D0CC 00048D2C 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 8004D0D0 00048D30 41 82 00 34 */ beq lbl_8004D104
/* 8004D0D4 00048D34 C0 62 84 2C */ lfs f3, lbl_80640A2C-_SDA2_BASE_(r2)
/* 8004D0D8 00048D38 EC 3F 07 B2 */ fmuls f1, f31, f30
/* 8004D0DC 00048D3C C0 4D 86 C8 */ lfs f2, lbl_8063D988-_SDA_BASE_(r13)
/* 8004D0E0 00048D40 7F E3 FB 78 */ mr r3, r31
/* 8004D0E4 00048D44 C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 8004D0E8 00048D48 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8004D0EC 00048D4C EC 43 00 B2 */ fmuls f2, f3, f2
/* 8004D0F0 00048D50 38 BE 00 20 */ addi r5, r30, 0x20
/* 8004D0F4 00048D54 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8004D0F8 00048D58 EC 00 08 2A */ fadds f0, f0, f1
/* 8004D0FC 00048D5C D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 8004D100 00048D60 48 1A BA 41 */ bl func_801F8B40
lbl_8004D104:
/* 8004D104 00048D64 C0 3E 00 38 */ lfs f1, 0x38(r30)
/* 8004D108 00048D68 C0 1E 00 44 */ lfs f0, 0x44(r30)
/* 8004D10C 00048D6C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D110 00048D70 40 80 00 C4 */ bge lbl_8004D1D4
/* 8004D114 00048D74 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004D118 00048D78 7F C3 F3 78 */ mr r3, r30
/* 8004D11C 00048D7C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D120 00048D80 7D 89 03 A6 */ mtctr r12
/* 8004D124 00048D84 4E 80 04 21 */ bctrl
/* 8004D128 00048D88 D0 3E 00 40 */ stfs f1, 0x40(r30)
/* 8004D12C 00048D8C 7F C3 F3 78 */ mr r3, r30
/* 8004D130 00048D90 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004D134 00048D94 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D138 00048D98 7D 89 03 A6 */ mtctr r12
/* 8004D13C 00048D9C 4E 80 04 21 */ bctrl
/* 8004D140 00048DA0 C0 7E 00 38 */ lfs f3, 0x38(r30)
/* 8004D144 00048DA4 C0 42 83 F8 */ lfs f2, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004D148 00048DA8 EC 21 18 28 */ fsubs f1, f1, f3
/* 8004D14C 00048DAC FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8004D150 00048DB0 D0 3E 00 3C */ stfs f1, 0x3c(r30)
/* 8004D154 00048DB4 40 81 00 80 */ ble lbl_8004D1D4
/* 8004D158 00048DB8 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8004D15C 00048DBC FC 00 10 40 */ fcmpo cr0, f0, f2
/* 8004D160 00048DC0 40 81 00 74 */ ble lbl_8004D1D4
/* 8004D164 00048DC4 C0 1E 00 44 */ lfs f0, 0x44(r30)
/* 8004D168 00048DC8 EC 00 18 28 */ fsubs f0, f0, f3
/* 8004D16C 00048DCC EC 20 08 24 */ fdivs f1, f0, f1
/* 8004D170 00048DD0 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8004D174 00048DD4 40 80 00 08 */ bge lbl_8004D17C
/* 8004D178 00048DD8 FC 20 10 90 */ fmr f1, f2
lbl_8004D17C:
/* 8004D17C 00048DDC C0 02 84 00 */ lfs f0, lbl_80640A00-_SDA2_BASE_(r2)
/* 8004D180 00048DE0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D184 00048DE4 40 81 00 08 */ ble lbl_8004D18C
/* 8004D188 00048DE8 FC 20 00 90 */ fmr f1, f0
lbl_8004D18C:
/* 8004D18C 00048DEC 88 9E 00 34 */ lbz r4, 0x34(r30)
/* 8004D190 00048DF0 3C 00 43 30 */ lis r0, 0x4330
/* 8004D194 00048DF4 C0 02 84 00 */ lfs f0, lbl_80640A00-_SDA2_BASE_(r2)
/* 8004D198 00048DF8 7F E3 FB 78 */ mr r3, r31
/* 8004D19C 00048DFC 90 81 00 0C */ stw r4, 0xc(r1)
/* 8004D1A0 00048E00 A0 9E 00 1C */ lhz r4, 0x1c(r30)
/* 8004D1A4 00048E04 EC 00 08 28 */ fsubs f0, f0, f1
/* 8004D1A8 00048E08 90 01 00 08 */ stw r0, 8(r1)
/* 8004D1AC 00048E0C C8 42 83 F0 */ lfd f2, lbl_806409F0-_SDA2_BASE_(r2)
/* 8004D1B0 00048E10 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8004D1B4 00048E14 C8 21 00 08 */ lfd f1, 8(r1)
/* 8004D1B8 00048E18 EC 21 10 28 */ fsubs f1, f1, f2
/* 8004D1BC 00048E1C EC 01 00 32 */ fmuls f0, f1, f0
/* 8004D1C0 00048E20 FC 00 00 1E */ fctiwz f0, f0
/* 8004D1C4 00048E24 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8004D1C8 00048E28 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 8004D1CC 00048E2C 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 8004D1D0 00048E30 48 1A B9 D1 */ bl func_801F8BA0
lbl_8004D1D4:
/* 8004D1D4 00048E34 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8004D1D8 00048E38 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8004D1DC 00048E3C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 8004D1E0 00048E40 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 8004D1E4 00048E44 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004D1E8 00048E48 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8004D1EC 00048E4C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004D1F0 00048E50 7C 08 03 A6 */ mtlr r0
/* 8004D1F4 00048E54 38 21 00 40 */ addi r1, r1, 0x40
/* 8004D1F8 00048E58 4E 80 00 20 */ blr
.global func_8004D1FC
func_8004D1FC:
/* 8004D1FC 00048E5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004D200 00048E60 7C 08 02 A6 */ mflr r0
/* 8004D204 00048E64 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004D208 00048E68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004D20C 00048E6C 7C 7F 1B 78 */ mr r31, r3
/* 8004D210 00048E70 4B FF DF 41 */ bl func_8004B150
/* 8004D214 00048E74 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8004D218 00048E78 3C C0 80 41 */ lis r6, lbl_8040A764@ha
/* 8004D21C 00048E7C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 8004D220 00048E80 38 80 00 00 */ li r4, 0
/* 8004D224 00048E84 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 8004D228 00048E88 38 C6 A7 64 */ addi r6, r6, lbl_8040A764@l
/* 8004D22C 00048E8C 38 A5 00 08 */ addi r5, r5, 8
/* 8004D230 00048E90 90 DF 00 10 */ stw r6, 0x10(r31)
/* 8004D234 00048E94 7F E3 FB 78 */ mr r3, r31
/* 8004D238 00048E98 90 BF 00 14 */ stw r5, 0x14(r31)
/* 8004D23C 00048E9C 90 9F 00 18 */ stw r4, 0x18(r31)
/* 8004D240 00048EA0 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 8004D244 00048EA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004D248 00048EA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004D24C 00048EAC 7C 08 03 A6 */ mtlr r0
/* 8004D250 00048EB0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004D254 00048EB4 4E 80 00 20 */ blr
/* 8004D258 00048EB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004D25C 00048EBC 7C 08 02 A6 */ mflr r0
/* 8004D260 00048EC0 2C 03 00 00 */ cmpwi r3, 0
/* 8004D264 00048EC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004D268 00048EC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004D26C 00048ECC 7C 9F 23 78 */ mr r31, r4
/* 8004D270 00048ED0 93 C1 00 08 */ stw r30, 8(r1)
/* 8004D274 00048ED4 7C 7E 1B 78 */ mr r30, r3
/* 8004D278 00048ED8 41 82 00 60 */ beq lbl_8004D2D8
/* 8004D27C 00048EDC 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8004D280 00048EE0 3C 80 80 41 */ lis r4, lbl_8040A764@ha
/* 8004D284 00048EE4 38 84 A7 64 */ addi r4, r4, lbl_8040A764@l
/* 8004D288 00048EE8 2C 00 00 00 */ cmpwi r0, 0
/* 8004D28C 00048EEC 90 83 00 10 */ stw r4, 0x10(r3)
/* 8004D290 00048EF0 41 82 00 20 */ beq lbl_8004D2B0
/* 8004D294 00048EF4 41 82 00 1C */ beq lbl_8004D2B0
/* 8004D298 00048EF8 7C 03 03 78 */ mr r3, r0
/* 8004D29C 00048EFC 38 80 00 01 */ li r4, 1
/* 8004D2A0 00048F00 81 83 00 0C */ lwz r12, 0xc(r3)
/* 8004D2A4 00048F04 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D2A8 00048F08 7D 89 03 A6 */ mtctr r12
/* 8004D2AC 00048F0C 4E 80 04 21 */ bctrl
lbl_8004D2B0:
/* 8004D2B0 00048F10 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 8004D2B4 00048F14 7F C3 F3 78 */ mr r3, r30
/* 8004D2B8 00048F18 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 8004D2BC 00048F1C B0 1E 00 1C */ sth r0, 0x1c(r30)
/* 8004D2C0 00048F20 38 80 00 00 */ li r4, 0
/* 8004D2C4 00048F24 4B FF DE B1 */ bl func_8004B174
/* 8004D2C8 00048F28 2C 1F 00 00 */ cmpwi r31, 0
/* 8004D2CC 00048F2C 40 81 00 0C */ ble lbl_8004D2D8
/* 8004D2D0 00048F30 7F C3 F3 78 */ mr r3, r30
/* 8004D2D4 00048F34 48 18 D7 E5 */ bl __dl__FPv
lbl_8004D2D8:
/* 8004D2D8 00048F38 7F C3 F3 78 */ mr r3, r30
/* 8004D2DC 00048F3C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004D2E0 00048F40 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004D2E4 00048F44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004D2E8 00048F48 7C 08 03 A6 */ mtlr r0
/* 8004D2EC 00048F4C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004D2F0 00048F50 4E 80 00 20 */ blr
/* 8004D2F4 00048F54 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8004D2F8 00048F58 7C 08 02 A6 */ mflr r0
/* 8004D2FC 00048F5C 90 01 00 64 */ stw r0, 0x64(r1)
/* 8004D300 00048F60 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8004D304 00048F64 7C 7F 1B 78 */ mr r31, r3
/* 8004D308 00048F68 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8004D30C 00048F6C 93 A1 00 54 */ stw r29, 0x54(r1)
/* 8004D310 00048F70 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004D314 00048F74 80 04 00 24 */ lwz r0, 0x24(r4)
/* 8004D318 00048F78 2C 00 00 00 */ cmpwi r0, 0
/* 8004D31C 00048F7C 41 82 01 C8 */ beq lbl_8004D4E4
/* 8004D320 00048F80 80 63 00 04 */ lwz r3, 4(r3)
/* 8004D324 00048F84 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8004D328 00048F88 2C 03 00 00 */ cmpwi r3, 0
/* 8004D32C 00048F8C 41 82 01 B8 */ beq lbl_8004D4E4
/* 8004D330 00048F90 4B FF AE 71 */ bl func_800481A0
/* 8004D334 00048F94 C0 02 83 F8 */ lfs f0, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004D338 00048F98 7C 7E 1B 78 */ mr r30, r3
/* 8004D33C 00048F9C D0 1F 00 44 */ stfs f0, 0x44(r31)
/* 8004D340 00048FA0 C0 03 01 C4 */ lfs f0, 0x1c4(r3)
/* 8004D344 00048FA4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8004D348 00048FA8 C0 03 01 C8 */ lfs f0, 0x1c8(r3)
/* 8004D34C 00048FAC D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8004D350 00048FB0 C0 03 01 CC */ lfs f0, 0x1cc(r3)
/* 8004D354 00048FB4 7F E3 FB 78 */ mr r3, r31
/* 8004D358 00048FB8 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8004D35C 00048FBC 4B FF DE 59 */ bl func_8004B1B4
/* 8004D360 00048FC0 2C 03 00 00 */ cmpwi r3, 0
/* 8004D364 00048FC4 7C 7D 1B 78 */ mr r29, r3
/* 8004D368 00048FC8 41 82 01 7C */ beq lbl_8004D4E4
/* 8004D36C 00048FCC 3D 20 80 40 */ lis r9, lbl_80400004@ha
/* 8004D370 00048FD0 85 09 B7 60 */ lwzu r8, -0x48a0(r9)
/* 8004D374 00048FD4 80 E9 00 04 */ lwz r7, lbl_80400004@l(r9)
/* 8004D378 00048FD8 80 C9 00 08 */ lwz r6, 8(r9)
/* 8004D37C 00048FDC 80 A9 00 0C */ lwz r5, 0xc(r9)
/* 8004D380 00048FE0 80 89 00 10 */ lwz r4, 0x10(r9)
/* 8004D384 00048FE4 80 09 00 14 */ lwz r0, 0x14(r9)
/* 8004D388 00048FE8 91 01 00 30 */ stw r8, 0x30(r1)
/* 8004D38C 00048FEC 90 E1 00 34 */ stw r7, 0x34(r1)
/* 8004D390 00048FF0 90 C1 00 38 */ stw r6, 0x38(r1)
/* 8004D394 00048FF4 90 A1 00 3C */ stw r5, 0x3c(r1)
/* 8004D398 00048FF8 90 81 00 40 */ stw r4, 0x40(r1)
/* 8004D39C 00048FFC 90 01 00 44 */ stw r0, 0x44(r1)
/* 8004D3A0 00049000 4B FE C3 35 */ bl func_800396D4
/* 8004D3A4 00049004 2C 03 00 01 */ cmpwi r3, 1
/* 8004D3A8 00049008 40 80 00 10 */ bge lbl_8004D3B8
/* 8004D3AC 0004900C 2C 03 00 06 */ cmpwi r3, 6
/* 8004D3B0 00049010 40 81 00 08 */ ble lbl_8004D3B8
/* 8004D3B4 00049014 38 60 00 03 */ li r3, 3
lbl_8004D3B8:
/* 8004D3B8 00049018 38 03 FF FF */ addi r0, r3, -1
/* 8004D3BC 0004901C 38 81 00 30 */ addi r4, r1, 0x30
/* 8004D3C0 00049020 54 00 10 3A */ slwi r0, r0, 2
/* 8004D3C4 00049024 38 61 00 24 */ addi r3, r1, 0x24
/* 8004D3C8 00049028 7C 04 04 2E */ lfsx f0, r4, r0
/* 8004D3CC 0004902C 38 9E 01 AC */ addi r4, r30, 0x1ac
/* 8004D3D0 00049030 38 A1 00 18 */ addi r5, r1, 0x18
/* 8004D3D4 00049034 D0 1F 00 48 */ stfs f0, 0x48(r31)
/* 8004D3D8 00049038 83 DD 0C 04 */ lwz r30, 0xc04(r29)
/* 8004D3DC 0004903C 48 22 F9 0D */ bl PSVECSubtract
/* 8004D3E0 00049040 38 61 00 18 */ addi r3, r1, 0x18
/* 8004D3E4 00049044 7C 64 1B 78 */ mr r4, r3
/* 8004D3E8 00049048 48 22 F9 41 */ bl PSVECNormalize
/* 8004D3EC 0004904C 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004D3F0 00049050 7F C3 F3 78 */ mr r3, r30
/* 8004D3F4 00049054 38 A1 00 24 */ addi r5, r1, 0x24
/* 8004D3F8 00049058 38 C1 00 18 */ addi r6, r1, 0x18
/* 8004D3FC 0004905C 80 84 00 24 */ lwz r4, 0x24(r4)
/* 8004D400 00049060 38 E0 00 00 */ li r7, 0
/* 8004D404 00049064 48 1A B4 E9 */ bl func_801F88EC
/* 8004D408 00049068 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8004D40C 0004906C 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004D410 00049070 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 8004D414 00049074 C0 02 84 14 */ lfs f0, lbl_80640A14-_SDA2_BASE_(r2)
/* 8004D418 00049078 C0 24 00 08 */ lfs f1, 8(r4)
/* 8004D41C 0004907C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D420 00049080 40 80 00 10 */ bge lbl_8004D430
/* 8004D424 00049084 C0 02 84 18 */ lfs f0, lbl_80640A18-_SDA2_BASE_(r2)
/* 8004D428 00049088 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D42C 0004908C 41 81 00 60 */ bgt lbl_8004D48C
lbl_8004D430:
/* 8004D430 00049090 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 8004D434 00049094 C0 02 84 14 */ lfs f0, lbl_80640A14-_SDA2_BASE_(r2)
/* 8004D438 00049098 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D43C 0004909C 40 80 00 10 */ bge lbl_8004D44C
/* 8004D440 000490A0 C0 02 84 18 */ lfs f0, lbl_80640A18-_SDA2_BASE_(r2)
/* 8004D444 000490A4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D448 000490A8 41 81 00 44 */ bgt lbl_8004D48C
lbl_8004D44C:
/* 8004D44C 000490AC C0 5F 00 48 */ lfs f2, 0x48(r31)
/* 8004D450 000490B0 7F C3 F3 78 */ mr r3, r30
/* 8004D454 000490B4 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 8004D458 000490B8 38 A1 00 10 */ addi r5, r1, 0x10
/* 8004D45C 000490BC C0 04 00 08 */ lfs f0, 8(r4)
/* 8004D460 000490C0 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8004D464 000490C4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8004D468 000490C8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8004D46C 000490CC D0 01 00 08 */ stfs f0, 8(r1)
/* 8004D470 000490D0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8004D474 000490D4 80 81 00 08 */ lwz r4, 8(r1)
/* 8004D478 000490D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004D47C 000490DC 90 81 00 10 */ stw r4, 0x10(r1)
/* 8004D480 000490E0 A0 1F 00 1C */ lhz r0, 0x1c(r31)
/* 8004D484 000490E4 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8004D488 000490E8 48 1A B6 E9 */ bl func_801F8B70
lbl_8004D48C:
/* 8004D48C 000490EC C0 02 83 F8 */ lfs f0, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004D490 000490F0 38 00 00 FF */ li r0, 0xff
/* 8004D494 000490F4 98 1F 00 34 */ stb r0, 0x34(r31)
/* 8004D498 000490F8 7F E3 FB 78 */ mr r3, r31
/* 8004D49C 000490FC 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8004D4A0 00049100 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 8004D4A4 00049104 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 8004D4A8 00049108 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 8004D4AC 0004910C D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 8004D4B0 00049110 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004D4B4 00049114 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D4B8 00049118 7D 89 03 A6 */ mtctr r12
/* 8004D4BC 0004911C 4E 80 04 21 */ bctrl
/* 8004D4C0 00049120 D0 3F 00 40 */ stfs f1, 0x40(r31)
/* 8004D4C4 00049124 7F E3 FB 78 */ mr r3, r31
/* 8004D4C8 00049128 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8004D4CC 0004912C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D4D0 00049130 7D 89 03 A6 */ mtctr r12
/* 8004D4D4 00049134 4E 80 04 21 */ bctrl
/* 8004D4D8 00049138 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 8004D4DC 0004913C EC 01 00 28 */ fsubs f0, f1, f0
/* 8004D4E0 00049140 D0 1F 00 3C */ stfs f0, 0x3c(r31)
lbl_8004D4E4:
/* 8004D4E4 00049144 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8004D4E8 00049148 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8004D4EC 0004914C 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8004D4F0 00049150 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 8004D4F4 00049154 7C 08 03 A6 */ mtlr r0
/* 8004D4F8 00049158 38 21 00 60 */ addi r1, r1, 0x60
/* 8004D4FC 0004915C 4E 80 00 20 */ blr
/* 8004D500 00049160 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004D504 00049164 7C 08 02 A6 */ mflr r0
/* 8004D508 00049168 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004D50C 0004916C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004D510 00049170 7C 7F 1B 78 */ mr r31, r3
/* 8004D514 00049174 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8004D518 00049178 80 04 00 24 */ lwz r0, 0x24(r4)
/* 8004D51C 0004917C 2C 00 00 00 */ cmpwi r0, 0
/* 8004D520 00049180 41 82 00 30 */ beq lbl_8004D550
/* 8004D524 00049184 A0 03 00 1C */ lhz r0, 0x1c(r3)
/* 8004D528 00049188 28 00 FF FF */ cmplwi r0, 0xffff
/* 8004D52C 0004918C 41 82 00 24 */ beq lbl_8004D550
/* 8004D530 00049190 4B FF DC 85 */ bl func_8004B1B4
/* 8004D534 00049194 A0 1F 00 1C */ lhz r0, 0x1c(r31)
/* 8004D538 00049198 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004D53C 0004919C 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8004D540 000491A0 48 1A B6 85 */ bl func_801F8BC4
/* 8004D544 000491A4 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 8004D548 000491A8 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 8004D54C 000491AC B0 1F 00 1C */ sth r0, 0x1c(r31)
lbl_8004D550:
/* 8004D550 000491B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004D554 000491B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004D558 000491B8 7C 08 03 A6 */ mtlr r0
/* 8004D55C 000491BC 38 21 00 10 */ addi r1, r1, 0x10
/* 8004D560 000491C0 4E 80 00 20 */ blr
/* 8004D564 000491C4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8004D568 000491C8 7C 08 02 A6 */ mflr r0
/* 8004D56C 000491CC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8004D570 000491D0 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8004D574 000491D4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8004D578 000491D8 FF E0 08 90 */ fmr f31, f1
/* 8004D57C 000491DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004D580 000491E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004D584 000491E4 7C 7E 1B 78 */ mr r30, r3
/* 8004D588 000491E8 C0 03 00 44 */ lfs f0, 0x44(r3)
/* 8004D58C 000491EC EC 00 08 2A */ fadds f0, f0, f1
/* 8004D590 000491F0 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 8004D594 000491F4 4B FF DC 21 */ bl func_8004B1B4
/* 8004D598 000491F8 83 E3 0C 04 */ lwz r31, 0xc04(r3)
/* 8004D59C 000491FC 2C 1F 00 00 */ cmpwi r31, 0
/* 8004D5A0 00049200 41 82 01 44 */ beq lbl_8004D6E4
/* 8004D5A4 00049204 A0 1E 00 1C */ lhz r0, 0x1c(r30)
/* 8004D5A8 00049208 28 00 FF FF */ cmplwi r0, 0xffff
/* 8004D5AC 0004920C 41 82 01 38 */ beq lbl_8004D6E4
/* 8004D5B0 00049210 80 DE 00 14 */ lwz r6, 0x14(r30)
/* 8004D5B4 00049214 7F E3 FB 78 */ mr r3, r31
/* 8004D5B8 00049218 C0 7E 00 48 */ lfs f3, 0x48(r30)
/* 8004D5BC 0004921C 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8004D5C0 00049220 C0 06 00 10 */ lfs f0, 0x10(r6)
/* 8004D5C4 00049224 38 BE 00 20 */ addi r5, r30, 0x20
/* 8004D5C8 00049228 C0 82 84 2C */ lfs f4, lbl_80640A2C-_SDA2_BASE_(r2)
/* 8004D5CC 0004922C EC 40 00 F2 */ fmuls f2, f0, f3
/* 8004D5D0 00049230 C0 0D 86 C8 */ lfs f0, lbl_8063D988-_SDA_BASE_(r13)
/* 8004D5D4 00049234 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 8004D5D8 00049238 EC A4 00 32 */ fmuls f5, f4, f0
/* 8004D5DC 0004923C C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 8004D5E0 00049240 EC 5F 00 B2 */ fmuls f2, f31, f2
/* 8004D5E4 00049244 EC 42 01 72 */ fmuls f2, f2, f5
/* 8004D5E8 00049248 EC 21 10 2A */ fadds f1, f1, f2
/* 8004D5EC 0004924C D0 3E 00 20 */ stfs f1, 0x20(r30)
/* 8004D5F0 00049250 C0 26 00 14 */ lfs f1, 0x14(r6)
/* 8004D5F4 00049254 C0 4D 86 C8 */ lfs f2, lbl_8063D988-_SDA_BASE_(r13)
/* 8004D5F8 00049258 EC 21 00 F2 */ fmuls f1, f1, f3
/* 8004D5FC 0004925C EC 44 00 B2 */ fmuls f2, f4, f2
/* 8004D600 00049260 EC 3F 00 72 */ fmuls f1, f31, f1
/* 8004D604 00049264 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8004D608 00049268 EC 00 08 2A */ fadds f0, f0, f1
/* 8004D60C 0004926C D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 8004D610 00049270 48 1A B5 31 */ bl func_801F8B40
/* 8004D614 00049274 C0 3E 00 38 */ lfs f1, 0x38(r30)
/* 8004D618 00049278 C0 1E 00 44 */ lfs f0, 0x44(r30)
/* 8004D61C 0004927C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D620 00049280 40 80 00 C4 */ bge lbl_8004D6E4
/* 8004D624 00049284 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004D628 00049288 7F C3 F3 78 */ mr r3, r30
/* 8004D62C 0004928C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D630 00049290 7D 89 03 A6 */ mtctr r12
/* 8004D634 00049294 4E 80 04 21 */ bctrl
/* 8004D638 00049298 D0 3E 00 40 */ stfs f1, 0x40(r30)
/* 8004D63C 0004929C 7F C3 F3 78 */ mr r3, r30
/* 8004D640 000492A0 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004D644 000492A4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8004D648 000492A8 7D 89 03 A6 */ mtctr r12
/* 8004D64C 000492AC 4E 80 04 21 */ bctrl
/* 8004D650 000492B0 C0 7E 00 38 */ lfs f3, 0x38(r30)
/* 8004D654 000492B4 C0 42 83 F8 */ lfs f2, lbl_806409F8-_SDA2_BASE_(r2)
/* 8004D658 000492B8 EC 21 18 28 */ fsubs f1, f1, f3
/* 8004D65C 000492BC FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8004D660 000492C0 D0 3E 00 3C */ stfs f1, 0x3c(r30)
/* 8004D664 000492C4 40 81 00 80 */ ble lbl_8004D6E4
/* 8004D668 000492C8 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8004D66C 000492CC FC 00 10 40 */ fcmpo cr0, f0, f2
/* 8004D670 000492D0 40 81 00 74 */ ble lbl_8004D6E4
/* 8004D674 000492D4 C0 1E 00 44 */ lfs f0, 0x44(r30)
/* 8004D678 000492D8 EC 00 18 28 */ fsubs f0, f0, f3
/* 8004D67C 000492DC EC 20 08 24 */ fdivs f1, f0, f1
/* 8004D680 000492E0 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8004D684 000492E4 40 80 00 08 */ bge lbl_8004D68C
/* 8004D688 000492E8 FC 20 10 90 */ fmr f1, f2
lbl_8004D68C:
/* 8004D68C 000492EC C0 02 84 00 */ lfs f0, lbl_80640A00-_SDA2_BASE_(r2)
/* 8004D690 000492F0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8004D694 000492F4 40 81 00 08 */ ble lbl_8004D69C
/* 8004D698 000492F8 FC 20 00 90 */ fmr f1, f0
lbl_8004D69C:
/* 8004D69C 000492FC 88 9E 00 34 */ lbz r4, 0x34(r30)
/* 8004D6A0 00049300 3C 00 43 30 */ lis r0, 0x4330
/* 8004D6A4 00049304 C0 02 84 00 */ lfs f0, lbl_80640A00-_SDA2_BASE_(r2)
/* 8004D6A8 00049308 7F E3 FB 78 */ mr r3, r31
/* 8004D6AC 0004930C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8004D6B0 00049310 A0 9E 00 1C */ lhz r4, 0x1c(r30)
/* 8004D6B4 00049314 EC 00 08 28 */ fsubs f0, f0, f1
/* 8004D6B8 00049318 90 01 00 08 */ stw r0, 8(r1)
/* 8004D6BC 0004931C C8 42 83 F0 */ lfd f2, lbl_806409F0-_SDA2_BASE_(r2)
/* 8004D6C0 00049320 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8004D6C4 00049324 C8 21 00 08 */ lfd f1, 8(r1)
/* 8004D6C8 00049328 EC 21 10 28 */ fsubs f1, f1, f2
/* 8004D6CC 0004932C EC 01 00 32 */ fmuls f0, f1, f0
/* 8004D6D0 00049330 FC 00 00 1E */ fctiwz f0, f0
/* 8004D6D4 00049334 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8004D6D8 00049338 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 8004D6DC 0004933C 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 8004D6E0 00049340 48 1A B4 C1 */ bl func_801F8BA0
lbl_8004D6E4:
/* 8004D6E4 00049344 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8004D6E8 00049348 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8004D6EC 0004934C CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8004D6F0 00049350 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004D6F4 00049354 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004D6F8 00049358 7C 08 03 A6 */ mtlr r0
/* 8004D6FC 0004935C 38 21 00 30 */ addi r1, r1, 0x30
/* 8004D700 00049360 4E 80 00 20 */ blr
.global func_8004D704
func_8004D704:
/* 8004D704 00049364 38 A0 00 01 */ li r5, 1
/* 8004D708 00049368 38 6D 98 20 */ addi r3, r13, lbl_8063EAE0-_SDA_BASE_
/* 8004D70C 0004936C 38 80 00 04 */ li r4, 4
/* 8004D710 00049370 38 00 00 00 */ li r0, 0
/* 8004D714 00049374 98 AD 98 20 */ stb r5, lbl_8063EAE0-_SDA_BASE_(r13)
/* 8004D718 00049378 B0 83 00 02 */ sth r4, 2(r3)
/* 8004D71C 0004937C 98 03 00 04 */ stb r0, 4(r3)
/* 8004D720 00049380 4E 80 00 20 */ blr
|