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

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

.global func_8025716C
func_8025716C:
/* 8025716C 00252DCC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80257170 00252DD0  7C 08 02 A6 */	mflr r0
/* 80257174 00252DD4  38 A0 00 00 */	li r5, 0
/* 80257178 00252DD8  38 63 02 E4 */	addi r3, r3, 0x2e4
/* 8025717C 00252DDC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80257180 00252DE0  48 01 7D D9 */	bl OSSendMessage
/* 80257184 00252DE4  7C 03 00 D0 */	neg r0, r3
/* 80257188 00252DE8  7C 00 1B 78 */	or r0, r0, r3
/* 8025718C 00252DEC  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80257190 00252DF0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80257194 00252DF4  7C 08 03 A6 */	mtlr r0
/* 80257198 00252DF8  38 21 00 10 */	addi r1, r1, 0x10
/* 8025719C 00252DFC  4E 80 00 20 */	blr

.global func_802571A0
func_802571A0:
/* 802571A0 00252E00  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802571A4 00252E04  7C 08 02 A6 */	mflr r0
/* 802571A8 00252E08  38 A0 00 00 */	li r5, 0
/* 802571AC 00252E0C  38 63 02 E4 */	addi r3, r3, 0x2e4
/* 802571B0 00252E10  90 01 00 14 */	stw r0, 0x14(r1)
/* 802571B4 00252E14  38 81 00 08 */	addi r4, r1, 8
/* 802571B8 00252E18  48 01 7E 69 */	bl OSReceiveMessage
/* 802571BC 00252E1C  2C 03 00 00 */	cmpwi r3, 0
/* 802571C0 00252E20  41 82 00 0C */	beq lbl_802571CC
/* 802571C4 00252E24  80 61 00 08 */	lwz r3, 8(r1)
/* 802571C8 00252E28  48 00 00 08 */	b lbl_802571D0
lbl_802571CC:
/* 802571CC 00252E2C  38 60 00 00 */	li r3, 0
lbl_802571D0:
/* 802571D0 00252E30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802571D4 00252E34  7C 08 03 A6 */	mtlr r0
/* 802571D8 00252E38  38 21 00 10 */	addi r1, r1, 0x10
/* 802571DC 00252E3C  4E 80 00 20 */	blr
lbl_802571E0:
/* 802571E0 00252E40  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802571E4 00252E44  7C 08 02 A6 */	mflr r0
/* 802571E8 00252E48  90 01 00 34 */	stw r0, 0x34(r1)
/* 802571EC 00252E4C  39 61 00 30 */	addi r11, r1, 0x30
/* 802571F0 00252E50  4B F6 FF 29 */	bl _savegpr_23
/* 802571F4 00252E54  81 8D A6 60 */	lwz r12, lbl_8063F920-_SDA_BASE_(r13)
/* 802571F8 00252E58  2C 0C 00 00 */	cmpwi r12, 0
/* 802571FC 00252E5C  41 82 00 0C */	beq lbl_80257208
/* 80257200 00252E60  7D 89 03 A6 */	mtctr r12
/* 80257204 00252E64  4E 80 04 21 */	bctrl
lbl_80257208:
/* 80257208 00252E68  83 2D A6 58 */	lwz r25, lbl_8063F918-_SDA_BASE_(r13)
/* 8025720C 00252E6C  3B 00 00 00 */	li r24, 0
/* 80257210 00252E70  3B 80 00 01 */	li r28, 1
/* 80257214 00252E74  3B A0 00 00 */	li r29, 0
/* 80257218 00252E78  3B E0 00 08 */	li r31, 8
/* 8025721C 00252E7C  3B C0 FF FF */	li r30, -1
/* 80257220 00252E80  3A E0 00 09 */	li r23, 9
/* 80257224 00252E84  3B 60 00 0B */	li r27, 0xb
/* 80257228 00252E88  48 00 02 18 */	b lbl_80257440
lbl_8025722C:
/* 8025722C 00252E8C  88 19 00 6C */	lbz r0, 0x6c(r25)
/* 80257230 00252E90  3B 40 00 00 */	li r26, 0
/* 80257234 00252E94  2C 00 00 00 */	cmpwi r0, 0
/* 80257238 00252E98  41 82 02 00 */	beq lbl_80257438
/* 8025723C 00252E9C  88 19 00 69 */	lbz r0, 0x69(r25)
/* 80257240 00252EA0  28 00 00 08 */	cmplwi r0, 8
/* 80257244 00252EA4  40 82 01 F4 */	bne lbl_80257438
/* 80257248 00252EA8  88 19 00 75 */	lbz r0, 0x75(r25)
/* 8025724C 00252EAC  7C 00 07 75 */	extsb. r0, r0
/* 80257250 00252EB0  40 82 00 10 */	bne lbl_80257260
/* 80257254 00252EB4  A8 19 00 76 */	lha r0, 0x76(r25)
/* 80257258 00252EB8  2C 00 00 00 */	cmpwi r0, 0
/* 8025725C 00252EBC  41 82 00 10 */	beq lbl_8025726C
lbl_80257260:
/* 80257260 00252EC0  9B 79 00 6A */	stb r27, 0x6a(r25)
/* 80257264 00252EC4  9B 79 00 69 */	stb r27, 0x69(r25)
/* 80257268 00252EC8  48 00 01 D0 */	b lbl_80257438
lbl_8025726C:
/* 8025726C 00252ECC  80 79 00 AC */	lwz r3, 0xac(r25)
/* 80257270 00252ED0  80 19 00 A8 */	lwz r0, 0xa8(r25)
/* 80257274 00252ED4  7C 83 E0 14 */	addc r4, r3, r28
/* 80257278 00252ED8  7C 60 E9 14 */	adde r3, r0, r29
/* 8025727C 00252EDC  90 99 00 AC */	stw r4, 0xac(r25)
/* 80257280 00252EE0  7C 80 1B 79 */	or. r0, r4, r3
/* 80257284 00252EE4  90 79 00 A8 */	stw r3, 0xa8(r25)
/* 80257288 00252EE8  40 82 00 7C */	bne lbl_80257304
/* 8025728C 00252EEC  7F 23 CB 78 */	mr r3, r25
/* 80257290 00252EF0  48 00 01 D5 */	bl func_80257464
/* 80257294 00252EF4  2C 03 00 00 */	cmpwi r3, 0
/* 80257298 00252EF8  41 82 00 60 */	beq lbl_802572F8
/* 8025729C 00252EFC  88 19 00 6B */	lbz r0, 0x6b(r25)
/* 802572A0 00252F00  2C 00 00 00 */	cmpwi r0, 0
/* 802572A4 00252F04  41 82 00 44 */	beq lbl_802572E8
/* 802572A8 00252F08  80 79 00 C4 */	lwz r3, 0xc4(r25)
/* 802572AC 00252F0C  80 19 00 C0 */	lwz r0, 0xc0(r25)
/* 802572B0 00252F10  7C 03 00 50 */	subf r0, r3, r0
/* 802572B4 00252F14  2C 00 00 01 */	cmpwi r0, 1
/* 802572B8 00252F18  41 81 00 20 */	bgt lbl_802572D8
/* 802572BC 00252F1C  7F 23 CB 78 */	mr r3, r25
/* 802572C0 00252F20  48 00 43 81 */	bl func_8025B640
/* 802572C4 00252F24  80 99 00 C0 */	lwz r4, 0xc0(r25)
/* 802572C8 00252F28  7C 7A 1B 78 */	mr r26, r3
/* 802572CC 00252F2C  38 04 00 01 */	addi r0, r4, 1
/* 802572D0 00252F30  90 19 00 C0 */	stw r0, 0xc0(r25)
/* 802572D4 00252F34  48 00 00 B8 */	b lbl_8025738C
lbl_802572D8:
/* 802572D8 00252F38  7F 23 CB 78 */	mr r3, r25
/* 802572DC 00252F3C  48 00 1D 25 */	bl func_80259000
/* 802572E0 00252F40  9B F9 00 6A */	stb r31, 0x6a(r25)
/* 802572E4 00252F44  48 00 00 A8 */	b lbl_8025738C
lbl_802572E8:
/* 802572E8 00252F48  7F 23 CB 78 */	mr r3, r25
/* 802572EC 00252F4C  48 00 43 55 */	bl func_8025B640
/* 802572F0 00252F50  7C 7A 1B 78 */	mr r26, r3
/* 802572F4 00252F54  48 00 00 98 */	b lbl_8025738C
lbl_802572F8:
/* 802572F8 00252F58  93 D9 00 AC */	stw r30, 0xac(r25)
/* 802572FC 00252F5C  93 D9 00 A8 */	stw r30, 0xa8(r25)
/* 80257300 00252F60  48 00 00 8C */	b lbl_8025738C
lbl_80257304:
/* 80257304 00252F64  88 19 00 6B */	lbz r0, 0x6b(r25)
/* 80257308 00252F68  2C 00 00 00 */	cmpwi r0, 0
/* 8025730C 00252F6C  41 82 00 28 */	beq lbl_80257334
/* 80257310 00252F70  68 80 00 01 */	xori r0, r4, 1
/* 80257314 00252F74  7C 00 1B 79 */	or. r0, r0, r3
/* 80257318 00252F78  40 82 00 1C */	bne lbl_80257334
/* 8025731C 00252F7C  88 19 00 6A */	lbz r0, 0x6a(r25)
/* 80257320 00252F80  28 00 00 08 */	cmplwi r0, 8
/* 80257324 00252F84  41 82 00 10 */	beq lbl_80257334
/* 80257328 00252F88  7F 23 CB 78 */	mr r3, r25
/* 8025732C 00252F8C  48 00 1C D5 */	bl func_80259000
/* 80257330 00252F90  9B F9 00 6A */	stb r31, 0x6a(r25)
lbl_80257334:
/* 80257334 00252F94  7F 23 CB 78 */	mr r3, r25
/* 80257338 00252F98  48 00 01 91 */	bl func_802574C8
/* 8025733C 00252F9C  2C 03 00 00 */	cmpwi r3, 0
/* 80257340 00252FA0  41 82 00 4C */	beq lbl_8025738C
/* 80257344 00252FA4  88 19 00 6B */	lbz r0, 0x6b(r25)
/* 80257348 00252FA8  2C 00 00 00 */	cmpwi r0, 0
/* 8025734C 00252FAC  41 82 00 34 */	beq lbl_80257380
/* 80257350 00252FB0  80 79 00 C4 */	lwz r3, 0xc4(r25)
/* 80257354 00252FB4  80 19 00 C0 */	lwz r0, 0xc0(r25)
/* 80257358 00252FB8  7C 03 00 50 */	subf r0, r3, r0
/* 8025735C 00252FBC  2C 00 00 01 */	cmpwi r0, 1
/* 80257360 00252FC0  41 81 00 2C */	bgt lbl_8025738C
/* 80257364 00252FC4  7F 23 CB 78 */	mr r3, r25
/* 80257368 00252FC8  48 00 42 D9 */	bl func_8025B640
/* 8025736C 00252FCC  80 99 00 C0 */	lwz r4, 0xc0(r25)
/* 80257370 00252FD0  7C 7A 1B 78 */	mr r26, r3
/* 80257374 00252FD4  38 04 00 01 */	addi r0, r4, 1
/* 80257378 00252FD8  90 19 00 C0 */	stw r0, 0xc0(r25)
/* 8025737C 00252FDC  48 00 00 10 */	b lbl_8025738C
lbl_80257380:
/* 80257380 00252FE0  7F 23 CB 78 */	mr r3, r25
/* 80257384 00252FE4  48 00 42 BD */	bl func_8025B640
/* 80257388 00252FE8  7C 7A 1B 78 */	mr r26, r3
lbl_8025738C:
/* 8025738C 00252FEC  2C 1A 00 00 */	cmpwi r26, 0
/* 80257390 00252FF0  41 82 00 1C */	beq lbl_802573AC
/* 80257394 00252FF4  80 99 00 C8 */	lwz r4, 0xc8(r25)
/* 80257398 00252FF8  2C 04 00 00 */	cmpwi r4, 0
/* 8025739C 00252FFC  41 82 00 0C */	beq lbl_802573A8
/* 802573A0 00253000  7F 23 CB 78 */	mr r3, r25
/* 802573A4 00253004  4B FF FD C9 */	bl func_8025716C
lbl_802573A8:
/* 802573A8 00253008  93 59 00 C8 */	stw r26, 0xc8(r25)
lbl_802573AC:
/* 802573AC 0025300C  88 19 00 6E */	lbz r0, 0x6e(r25)
/* 802573B0 00253010  2C 00 00 00 */	cmpwi r0, 0
/* 802573B4 00253014  40 82 00 84 */	bne lbl_80257438
/* 802573B8 00253018  88 19 00 6B */	lbz r0, 0x6b(r25)
/* 802573BC 0025301C  2C 00 00 00 */	cmpwi r0, 0
/* 802573C0 00253020  41 82 00 34 */	beq lbl_802573F4
/* 802573C4 00253024  80 99 00 C4 */	lwz r4, 0xc4(r25)
/* 802573C8 00253028  80 79 00 90 */	lwz r3, 0x90(r25)
/* 802573CC 0025302C  80 19 00 18 */	lwz r0, 0x18(r25)
/* 802573D0 00253030  7C 64 1A 14 */	add r3, r4, r3
/* 802573D4 00253034  7C 03 00 40 */	cmplw r3, r0
/* 802573D8 00253038  40 82 00 60 */	bne lbl_80257438
/* 802573DC 0025303C  80 19 00 CC */	lwz r0, 0xcc(r25)
/* 802573E0 00253040  2C 00 00 00 */	cmpwi r0, 0
/* 802573E4 00253044  40 82 00 54 */	bne lbl_80257438
/* 802573E8 00253048  9A F9 00 6A */	stb r23, 0x6a(r25)
/* 802573EC 0025304C  9A F9 00 69 */	stb r23, 0x69(r25)
/* 802573F0 00253050  48 00 00 48 */	b lbl_80257438
lbl_802573F4:
/* 802573F4 00253054  80 79 00 C8 */	lwz r3, 0xc8(r25)
/* 802573F8 00253058  2C 03 00 00 */	cmpwi r3, 0
/* 802573FC 0025305C  41 82 00 14 */	beq lbl_80257410
/* 80257400 00253060  80 63 00 0C */	lwz r3, 0xc(r3)
/* 80257404 00253064  80 19 00 90 */	lwz r0, 0x90(r25)
/* 80257408 00253068  7C 83 02 14 */	add r4, r3, r0
/* 8025740C 0025306C  48 00 00 0C */	b lbl_80257418
lbl_80257410:
/* 80257410 00253070  80 79 00 90 */	lwz r3, 0x90(r25)
/* 80257414 00253074  38 83 FF FF */	addi r4, r3, -1
lbl_80257418:
/* 80257418 00253078  80 79 00 18 */	lwz r3, 0x18(r25)
/* 8025741C 0025307C  38 03 FF FF */	addi r0, r3, -1
/* 80257420 00253080  7C 04 00 40 */	cmplw r4, r0
/* 80257424 00253084  40 82 00 14 */	bne lbl_80257438
/* 80257428 00253088  2C 1A 00 00 */	cmpwi r26, 0
/* 8025742C 0025308C  40 82 00 0C */	bne lbl_80257438
/* 80257430 00253090  9A F9 00 6A */	stb r23, 0x6a(r25)
/* 80257434 00253094  9A F9 00 69 */	stb r23, 0x69(r25)
lbl_80257438:
/* 80257438 00253098  3B 18 00 01 */	addi r24, r24, 1
/* 8025743C 0025309C  3B 39 03 D8 */	addi r25, r25, 0x3d8
lbl_80257440:
/* 80257440 002530A0  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 80257444 002530A4  7C 18 00 00 */	cmpw r24, r0
/* 80257448 002530A8  41 80 FD E4 */	blt lbl_8025722C
/* 8025744C 002530AC  39 61 00 30 */	addi r11, r1, 0x30
/* 80257450 002530B0  4B F6 FD 15 */	bl _restgpr_23
/* 80257454 002530B4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80257458 002530B8  7C 08 03 A6 */	mtlr r0
/* 8025745C 002530BC  38 21 00 30 */	addi r1, r1, 0x30
/* 80257460 002530C0  4E 80 00 20 */	blr

.global func_80257464
func_80257464:
/* 80257464 002530C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80257468 002530C8  7C 08 02 A6 */	mflr r0
/* 8025746C 002530CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80257470 002530D0  80 63 00 50 */	lwz r3, 0x50(r3)
/* 80257474 002530D4  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 80257478 002530D8  41 82 00 18 */	beq lbl_80257490
/* 8025747C 002530DC  48 02 24 2D */	bl VIGetNextField
/* 80257480 002530E0  2C 03 00 00 */	cmpwi r3, 0
/* 80257484 002530E4  40 82 00 30 */	bne lbl_802574B4
/* 80257488 002530E8  38 60 00 01 */	li r3, 1
/* 8025748C 002530EC  48 00 00 2C */	b lbl_802574B8
lbl_80257490:
/* 80257490 002530F0  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 80257494 002530F4  41 82 00 18 */	beq lbl_802574AC
/* 80257498 002530F8  48 02 24 11 */	bl VIGetNextField
/* 8025749C 002530FC  28 03 00 01 */	cmplwi r3, 1
/* 802574A0 00253100  40 82 00 14 */	bne lbl_802574B4
/* 802574A4 00253104  38 60 00 01 */	li r3, 1
/* 802574A8 00253108  48 00 00 10 */	b lbl_802574B8
lbl_802574AC:
/* 802574AC 0025310C  38 60 00 01 */	li r3, 1
/* 802574B0 00253110  48 00 00 08 */	b lbl_802574B8
lbl_802574B4:
/* 802574B4 00253114  38 60 00 00 */	li r3, 0
lbl_802574B8:
/* 802574B8 00253118  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802574BC 0025311C  7C 08 03 A6 */	mtlr r0
/* 802574C0 00253120  38 21 00 10 */	addi r1, r1, 0x10
/* 802574C4 00253124  4E 80 00 20 */	blr

.global func_802574C8
func_802574C8:
/* 802574C8 00253128  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802574CC 0025312C  7C 08 02 A6 */	mflr r0
/* 802574D0 00253130  90 01 00 24 */	stw r0, 0x24(r1)
/* 802574D4 00253134  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802574D8 00253138  7C 7F 1B 78 */	mr r31, r3
/* 802574DC 0025313C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802574E0 00253140  80 83 00 50 */	lwz r4, 0x50(r3)
/* 802574E4 00253144  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802574E8 00253148  41 82 00 18 */	beq lbl_80257500
/* 802574EC 0025314C  48 02 23 BD */	bl VIGetNextField
/* 802574F0 00253150  2C 03 00 00 */	cmpwi r3, 0
/* 802574F4 00253154  40 82 00 D4 */	bne lbl_802575C8
/* 802574F8 00253158  38 60 00 01 */	li r3, 1
/* 802574FC 0025315C  48 00 00 D0 */	b lbl_802575CC
lbl_80257500:
/* 80257500 00253160  54 80 07 BD */	rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 80257504 00253164  41 82 00 18 */	beq lbl_8025751C
/* 80257508 00253168  48 02 23 A1 */	bl VIGetNextField
/* 8025750C 0025316C  28 03 00 01 */	cmplwi r3, 1
/* 80257510 00253170  40 82 00 B8 */	bne lbl_802575C8
/* 80257514 00253174  38 60 00 01 */	li r3, 1
/* 80257518 00253178  48 00 00 B4 */	b lbl_802575CC
lbl_8025751C:
/* 8025751C 0025317C  C0 22 9F 70 */	lfs f1, lbl_80642570-_SDA2_BASE_(r2)
/* 80257520 00253180  C0 03 00 14 */	lfs f0, 0x14(r3)
/* 80257524 00253184  EC 01 00 32 */	fmuls f0, f1, f0
/* 80257528 00253188  FC 00 00 1E */	fctiwz f0, f0
/* 8025752C 0025318C  D8 01 00 08 */	stfd f0, 8(r1)
/* 80257530 00253190  83 C1 00 0C */	lwz r30, 0xc(r1)
/* 80257534 00253194  48 02 24 A1 */	bl VIGetTvFormat
/* 80257538 00253198  28 03 00 01 */	cmplwi r3, 1
/* 8025753C 0025319C  40 82 00 3C */	bne lbl_80257578
/* 80257540 002531A0  80 FF 00 AC */	lwz r7, 0xac(r31)
/* 80257544 002531A4  7F C0 FE 70 */	srawi r0, r30, 0x1f
/* 80257548 002531A8  80 9F 00 A8 */	lwz r4, 0xa8(r31)
/* 8025754C 002531AC  38 C0 13 88 */	li r6, 0x1388
/* 80257550 002531B0  7C 67 F0 16 */	mulhwu r3, r7, r30
/* 80257554 002531B4  38 A0 00 00 */	li r5, 0
/* 80257558 002531B8  7C 84 F1 D6 */	mullw r4, r4, r30
/* 8025755C 002531BC  7C 63 22 14 */	add r3, r3, r4
/* 80257560 002531C0  7C 07 01 D6 */	mullw r0, r7, r0
/* 80257564 002531C4  7C 87 F1 D6 */	mullw r4, r7, r30
/* 80257568 002531C8  7C 63 02 14 */	add r3, r3, r0
/* 8025756C 002531CC  4B F6 FD 0D */	bl __div2i
/* 80257570 002531D0  90 9F 00 B4 */	stw r4, 0xb4(r31)
/* 80257574 002531D4  48 00 00 38 */	b lbl_802575AC
lbl_80257578:
/* 80257578 002531D8  80 FF 00 AC */	lwz r7, 0xac(r31)
/* 8025757C 002531DC  7F C0 FE 70 */	srawi r0, r30, 0x1f
/* 80257580 002531E0  80 9F 00 A8 */	lwz r4, 0xa8(r31)
/* 80257584 002531E4  38 C0 17 6A */	li r6, 0x176a
/* 80257588 002531E8  7C 67 F0 16 */	mulhwu r3, r7, r30
/* 8025758C 002531EC  38 A0 00 00 */	li r5, 0
/* 80257590 002531F0  7C 84 F1 D6 */	mullw r4, r4, r30
/* 80257594 002531F4  7C 63 22 14 */	add r3, r3, r4
/* 80257598 002531F8  7C 07 01 D6 */	mullw r0, r7, r0
/* 8025759C 002531FC  7C 87 F1 D6 */	mullw r4, r7, r30
/* 802575A0 00253200  7C 63 02 14 */	add r3, r3, r0
/* 802575A4 00253204  4B F6 FC D5 */	bl __div2i
/* 802575A8 00253208  90 9F 00 B4 */	stw r4, 0xb4(r31)
lbl_802575AC:
/* 802575AC 0025320C  80 7F 00 B4 */	lwz r3, 0xb4(r31)
/* 802575B0 00253210  80 1F 00 B0 */	lwz r0, 0xb0(r31)
/* 802575B4 00253214  7C 00 18 00 */	cmpw r0, r3
/* 802575B8 00253218  41 82 00 10 */	beq lbl_802575C8
/* 802575BC 0025321C  90 7F 00 B0 */	stw r3, 0xb0(r31)
/* 802575C0 00253220  38 60 00 01 */	li r3, 1
/* 802575C4 00253224  48 00 00 08 */	b lbl_802575CC
lbl_802575C8:
/* 802575C8 00253228  38 60 00 00 */	li r3, 0
lbl_802575CC:
/* 802575CC 0025322C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802575D0 00253230  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802575D4 00253234  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802575D8 00253238  7C 08 03 A6 */	mtlr r0
/* 802575DC 0025323C  38 21 00 20 */	addi r1, r1, 0x20
/* 802575E0 00253240  4E 80 00 20 */	blr

.global func_802575E4
func_802575E4:
/* 802575E4 00253244  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802575E8 00253248  7C 08 02 A6 */	mflr r0
/* 802575EC 0025324C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802575F0 00253250  39 61 00 20 */	addi r11, r1, 0x20
/* 802575F4 00253254  4B F6 FB 31 */	bl _savegpr_26
/* 802575F8 00253258  7C 7A 1B 78 */	mr r26, r3
/* 802575FC 0025325C  7C 9B 23 78 */	mr r27, r4
/* 80257600 00253260  7C BC 2B 78 */	mr r28, r5
/* 80257604 00253264  7C DD 33 78 */	mr r29, r6
/* 80257608 00253268  7C FE 3B 78 */	mr r30, r7
/* 8025760C 0025326C  7D 1F 43 78 */	mr r31, r8
/* 80257610 00253270  38 80 00 00 */	li r4, 0
/* 80257614 00253274  38 A0 00 0C */	li r5, 0xc
/* 80257618 00253278  38 63 00 48 */	addi r3, r3, 0x48
/* 8025761C 0025327C  4B DA CA E9 */	bl memset
/* 80257620 00253280  38 7A 00 54 */	addi r3, r26, 0x54
/* 80257624 00253284  38 80 00 00 */	li r4, 0
/* 80257628 00253288  38 A0 00 10 */	li r5, 0x10
/* 8025762C 0025328C  4B DA CA D9 */	bl memset
/* 80257630 00253290  7F 63 DB 78 */	mr r3, r27
/* 80257634 00253294  4B FF 1F 05 */	bl func_80249538
/* 80257638 00253298  2C 03 00 00 */	cmpwi r3, 0
/* 8025763C 0025329C  40 82 00 0C */	bne lbl_80257648
/* 80257640 002532A0  38 60 00 00 */	li r3, 0
/* 80257644 002532A4  48 00 00 8C */	b lbl_802576D0
lbl_80257648:
/* 80257648 002532A8  38 60 00 01 */	li r3, 1
/* 8025764C 002532AC  38 00 00 00 */	li r0, 0
/* 80257650 002532B0  2C 1F 00 00 */	cmpwi r31, 0
/* 80257654 002532B4  93 7A 00 00 */	stw r27, 0(r26)
/* 80257658 002532B8  98 7A 00 6A */	stb r3, 0x6a(r26)
/* 8025765C 002532BC  98 7A 00 69 */	stb r3, 0x69(r26)
/* 80257660 002532C0  98 7A 00 68 */	stb r3, 0x68(r26)
/* 80257664 002532C4  9B BA 00 6D */	stb r29, 0x6d(r26)
/* 80257668 002532C8  9B DA 00 6E */	stb r30, 0x6e(r26)
/* 8025766C 002532CC  9B 9A 00 74 */	stb r28, 0x74(r26)
/* 80257670 002532D0  93 FA 01 FC */	stw r31, 0x1fc(r26)
/* 80257674 002532D4  98 7A 00 6C */	stb r3, 0x6c(r26)
/* 80257678 002532D8  98 1A 00 70 */	stb r0, 0x70(r26)
/* 8025767C 002532DC  98 7A 00 6F */	stb r3, 0x6f(r26)
/* 80257680 002532E0  90 1A 01 F8 */	stw r0, 0x1f8(r26)
/* 80257684 002532E4  41 82 00 28 */	beq lbl_802576AC
/* 80257688 002532E8  80 6D A6 68 */	lwz r3, lbl_8063F928-_SDA_BASE_(r13)
/* 8025768C 002532EC  83 E3 00 10 */	lwz r31, 0x10(r3)
/* 80257690 002532F0  57 E3 86 3E */	rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 80257694 002532F4  4B FE 39 C5 */	bl func_8023B058
/* 80257698 002532F8  2C 03 00 00 */	cmpwi r3, 0
/* 8025769C 002532FC  41 82 00 30 */	beq lbl_802576CC
/* 802576A0 00253300  7F E4 FB 78 */	mr r4, r31
/* 802576A4 00253304  4B FE 3D 15 */	bl func_8023B3B8
/* 802576A8 00253308  48 00 00 24 */	b lbl_802576CC
lbl_802576AC:
/* 802576AC 0025330C  80 6D A6 68 */	lwz r3, lbl_8063F928-_SDA_BASE_(r13)
/* 802576B0 00253310  83 E3 00 14 */	lwz r31, 0x14(r3)
/* 802576B4 00253314  57 E3 86 3E */	rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 802576B8 00253318  4B FE 39 A1 */	bl func_8023B058
/* 802576BC 0025331C  2C 03 00 00 */	cmpwi r3, 0
/* 802576C0 00253320  41 82 00 0C */	beq lbl_802576CC
/* 802576C4 00253324  7F E4 FB 78 */	mr r4, r31
/* 802576C8 00253328  4B FE 3C F1 */	bl func_8023B3B8
lbl_802576CC:
/* 802576CC 0025332C  38 60 00 01 */	li r3, 1
lbl_802576D0:
/* 802576D0 00253330  39 61 00 20 */	addi r11, r1, 0x20
/* 802576D4 00253334  4B F6 FA 9D */	bl _restgpr_26
/* 802576D8 00253338  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802576DC 0025333C  7C 08 03 A6 */	mtlr r0
/* 802576E0 00253340  38 21 00 20 */	addi r1, r1, 0x20
/* 802576E4 00253344  4E 80 00 20 */	blr

.global func_802576E8
func_802576E8:
/* 802576E8 00253348  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802576EC 0025334C  7C 08 02 A6 */	mflr r0
/* 802576F0 00253350  90 01 00 14 */	stw r0, 0x14(r1)
/* 802576F4 00253354  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802576F8 00253358  93 C1 00 08 */	stw r30, 8(r1)
/* 802576FC 0025335C  7C 7E 1B 78 */	mr r30, r3
/* 80257700 00253360  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80257704 00253364  2C 00 00 00 */	cmpwi r0, 0
/* 80257708 00253368  41 82 00 84 */	beq lbl_8025778C
/* 8025770C 0025336C  80 03 01 FC */	lwz r0, 0x1fc(r3)
/* 80257710 00253370  2C 00 00 00 */	cmpwi r0, 0
/* 80257714 00253374  41 82 00 28 */	beq lbl_8025773C
/* 80257718 00253378  80 6D A6 68 */	lwz r3, lbl_8063F928-_SDA_BASE_(r13)
/* 8025771C 0025337C  83 E3 00 10 */	lwz r31, 0x10(r3)
/* 80257720 00253380  57 E3 86 3E */	rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 80257724 00253384  4B FE 39 35 */	bl func_8023B058
/* 80257728 00253388  2C 03 00 00 */	cmpwi r3, 0
/* 8025772C 0025338C  41 82 00 30 */	beq lbl_8025775C
/* 80257730 00253390  7F E4 FB 78 */	mr r4, r31
/* 80257734 00253394  4B FE 3C ED */	bl func_8023B420
/* 80257738 00253398  48 00 00 24 */	b lbl_8025775C
lbl_8025773C:
/* 8025773C 0025339C  80 6D A6 68 */	lwz r3, lbl_8063F928-_SDA_BASE_(r13)
/* 80257740 002533A0  83 E3 00 14 */	lwz r31, 0x14(r3)
/* 80257744 002533A4  57 E3 86 3E */	rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 80257748 002533A8  4B FE 39 11 */	bl func_8023B058
/* 8025774C 002533AC  2C 03 00 00 */	cmpwi r3, 0
/* 80257750 002533B0  41 82 00 0C */	beq lbl_8025775C
/* 80257754 002533B4  7F E4 FB 78 */	mr r4, r31
/* 80257758 002533B8  4B FE 3C C9 */	bl func_8023B420
lbl_8025775C:
/* 8025775C 002533BC  7F C3 F3 78 */	mr r3, r30
/* 80257760 002533C0  48 00 09 61 */	bl func_802580C0
/* 80257764 002533C4  80 7E 00 00 */	lwz r3, 0(r30)
/* 80257768 002533C8  4B FF 21 29 */	bl func_80249890
/* 8025776C 002533CC  80 7E 01 9C */	lwz r3, 0x19c(r30)
/* 80257770 002533D0  3B E0 00 00 */	li r31, 0
/* 80257774 002533D4  9B FE 00 6C */	stb r31, 0x6c(r30)
/* 80257778 002533D8  2C 03 00 00 */	cmpwi r3, 0
/* 8025777C 002533DC  9B FE 00 6F */	stb r31, 0x6f(r30)
/* 80257780 002533E0  41 82 00 0C */	beq lbl_8025778C
/* 80257784 002533E4  4B F8 37 21 */	bl func_801DAEA4
/* 80257788 002533E8  93 FE 01 9C */	stw r31, 0x19c(r30)
lbl_8025778C:
/* 8025778C 002533EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80257790 002533F0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80257794 002533F4  83 C1 00 08 */	lwz r30, 8(r1)
/* 80257798 002533F8  7C 08 03 A6 */	mtlr r0
/* 8025779C 002533FC  38 21 00 10 */	addi r1, r1, 0x10
/* 802577A0 00253400  4E 80 00 20 */	blr

.global func_802577A4
func_802577A4:
/* 802577A4 00253404  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802577A8 00253408  7C 08 02 A6 */	mflr r0
/* 802577AC 0025340C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802577B0 00253410  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802577B4 00253414  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802577B8 00253418  7C 7E 1B 78 */	mr r30, r3
/* 802577BC 0025341C  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 802577C0 00253420  2C 00 00 00 */	cmpwi r0, 0
/* 802577C4 00253424  41 82 01 18 */	beq lbl_802578DC
/* 802577C8 00253428  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802577CC 0025342C  2C 00 00 00 */	cmpwi r0, 0
/* 802577D0 00253430  41 82 00 18 */	beq lbl_802577E8
/* 802577D4 00253434  80 83 00 20 */	lwz r4, 0x20(r3)
/* 802577D8 00253438  38 04 00 1F */	addi r0, r4, 0x1f
/* 802577DC 0025343C  90 83 00 7C */	stw r4, 0x7c(r3)
/* 802577E0 00253440  54 1F 00 34 */	rlwinm r31, r0, 0, 0, 0x1a
/* 802577E4 00253444  48 00 00 48 */	b lbl_8025782C
lbl_802577E8:
/* 802577E8 00253448  4B FF 22 C1 */	bl func_80249AA8
/* 802577EC 0025344C  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 802577F0 00253450  90 7E 00 7C */	stw r3, 0x7c(r30)
/* 802577F4 00253454  7C 00 18 40 */	cmplw r0, r3
/* 802577F8 00253458  40 81 00 14 */	ble lbl_8025780C
/* 802577FC 0025345C  7C 80 1B 96 */	divwu r4, r0, r3
/* 80257800 00253460  38 04 00 01 */	addi r0, r4, 1
/* 80257804 00253464  7C 03 01 D6 */	mullw r0, r3, r0
/* 80257808 00253468  90 1E 00 7C */	stw r0, 0x7c(r30)
lbl_8025780C:
/* 8025780C 0025346C  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 80257810 00253470  80 7E 00 7C */	lwz r3, 0x7c(r30)
/* 80257814 00253474  38 04 00 1F */	addi r0, r4, 0x1f
/* 80257818 00253478  54 04 00 34 */	rlwinm r4, r0, 0, 0, 0x1a
/* 8025781C 0025347C  1F E4 00 0A */	mulli r31, r4, 0xa
/* 80257820 00253480  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257824 00253484  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257828 00253488  7F FF 02 14 */	add r31, r31, r0
lbl_8025782C:
/* 8025782C 0025348C  80 9E 00 48 */	lwz r4, 0x48(r30)
/* 80257830 00253490  80 7E 00 4C */	lwz r3, 0x4c(r30)
/* 80257834 00253494  88 1E 00 6B */	lbz r0, 0x6b(r30)
/* 80257838 00253498  7C 64 19 D6 */	mullw r3, r4, r3
/* 8025783C 0025349C  2C 00 00 00 */	cmpwi r0, 0
/* 80257840 002534A0  38 A3 00 1F */	addi r5, r3, 0x1f
/* 80257844 002534A4  54 63 F0 BE */	srwi r3, r3, 2
/* 80257848 002534A8  38 03 00 1F */	addi r0, r3, 0x1f
/* 8025784C 002534AC  54 A4 00 34 */	rlwinm r4, r5, 0, 0, 0x1a
/* 80257850 002534B0  54 A3 10 30 */	rlwinm r3, r5, 2, 0, 0x18
/* 80257854 002534B4  7C 84 18 50 */	subf r4, r4, r3
/* 80257858 002534B8  54 03 00 34 */	rlwinm r3, r0, 0, 0, 0x1a
/* 8025785C 002534BC  54 00 10 30 */	rlwinm r0, r0, 2, 0, 0x18
/* 80257860 002534C0  7F FF 22 14 */	add r31, r31, r4
/* 80257864 002534C4  7C 03 00 50 */	subf r0, r3, r0
/* 80257868 002534C8  7F FF 02 14 */	add r31, r31, r0
/* 8025786C 002534CC  7F FF 02 14 */	add r31, r31, r0
/* 80257870 002534D0  41 82 00 64 */	beq lbl_802578D4
/* 80257874 002534D4  80 7E 00 58 */	lwz r3, 0x58(r30)
/* 80257878 002534D8  3C 00 43 30 */	lis r0, 0x4330
/* 8025787C 002534DC  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 80257880 002534E0  1C 63 00 28 */	mulli r3, r3, 0x28
/* 80257884 002534E4  90 01 00 08 */	stw r0, 8(r1)
/* 80257888 002534E8  54 84 10 3A */	slwi r4, r4, 2
/* 8025788C 002534EC  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 80257890 002534F0  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 80257894 002534F4  90 61 00 0C */	stw r3, 0xc(r1)
/* 80257898 002534F8  38 04 00 1F */	addi r0, r4, 0x1f
/* 8025789C 002534FC  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 802578A0 00253500  C8 41 00 08 */	lfd f2, 8(r1)
/* 802578A4 00253504  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802578A8 00253508  1C 00 00 06 */	mulli r0, r0, 6
/* 802578AC 0025350C  EC 42 18 28 */	fsubs f2, f2, f3
/* 802578B0 00253510  7F FF 02 14 */	add r31, r31, r0
/* 802578B4 00253514  EC 22 08 24 */	fdivs f1, f2, f1
/* 802578B8 00253518  EC 20 08 2A */	fadds f1, f0, f1
/* 802578BC 0025351C  4B F6 F7 45 */	bl __cvt_fp2unsigned
/* 802578C0 00253520  38 63 00 1F */	addi r3, r3, 0x1f
/* 802578C4 00253524  80 1E 00 54 */	lwz r0, 0x54(r30)
/* 802578C8 00253528  54 63 08 32 */	rlwinm r3, r3, 1, 0, 0x19
/* 802578CC 0025352C  7C 00 19 D6 */	mullw r0, r0, r3
/* 802578D0 00253530  7F FF 02 14 */	add r31, r31, r0
lbl_802578D4:
/* 802578D4 00253534  38 7F 10 00 */	addi r3, r31, 0x1000
/* 802578D8 00253538  48 00 00 08 */	b lbl_802578E0
lbl_802578DC:
/* 802578DC 0025353C  38 60 00 00 */	li r3, 0
lbl_802578E0:
/* 802578E0 00253540  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802578E4 00253544  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802578E8 00253548  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802578EC 0025354C  7C 08 03 A6 */	mtlr r0
/* 802578F0 00253550  38 21 00 20 */	addi r1, r1, 0x20
/* 802578F4 00253554  4E 80 00 20 */	blr

.global func_802578F8
func_802578F8:
/* 802578F8 00253558  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802578FC 0025355C  7C 08 02 A6 */	mflr r0
/* 80257900 00253560  90 01 00 34 */	stw r0, 0x34(r1)
/* 80257904 00253564  39 61 00 30 */	addi r11, r1, 0x30
/* 80257908 00253568  4B F6 F8 1D */	bl _savegpr_26
/* 8025790C 0025356C  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80257910 00253570  7C 7E 1B 78 */	mr r30, r3
/* 80257914 00253574  2C 00 00 00 */	cmpwi r0, 0
/* 80257918 00253578  41 82 00 10 */	beq lbl_80257928
/* 8025791C 0025357C  88 03 00 69 */	lbz r0, 0x69(r3)
/* 80257920 00253580  28 00 00 02 */	cmplwi r0, 2
/* 80257924 00253584  41 82 00 0C */	beq lbl_80257930
lbl_80257928:
/* 80257928 00253588  38 60 00 00 */	li r3, 0
/* 8025792C 0025358C  48 00 02 A8 */	b lbl_80257BD4
lbl_80257930:
/* 80257930 00253590  4B FF FE 75 */	bl func_802577A4
/* 80257934 00253594  2C 03 00 00 */	cmpwi r3, 0
/* 80257938 00253598  40 82 00 0C */	bne lbl_80257944
/* 8025793C 0025359C  38 60 00 00 */	li r3, 0
/* 80257940 002535A0  48 00 02 94 */	b lbl_80257BD4
lbl_80257944:
/* 80257944 002535A4  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257948 002535A8  38 80 00 20 */	li r4, 0x20
/* 8025794C 002535AC  54 03 00 34 */	rlwinm r3, r0, 0, 0, 0x1a
/* 80257950 002535B0  4B F8 34 7D */	bl func_801DADCC
/* 80257954 002535B4  2C 03 00 00 */	cmpwi r3, 0
/* 80257958 002535B8  40 82 00 0C */	bne lbl_80257964
/* 8025795C 002535BC  38 60 00 00 */	li r3, 0
/* 80257960 002535C0  48 00 02 74 */	b lbl_80257BD4
lbl_80257964:
/* 80257964 002535C4  88 1E 00 6D */	lbz r0, 0x6d(r30)
/* 80257968 002535C8  80 9E 00 7C */	lwz r4, 0x7c(r30)
/* 8025796C 002535CC  2C 00 00 00 */	cmpwi r0, 0
/* 80257970 002535D0  90 7E 01 9C */	stw r3, 0x19c(r30)
/* 80257974 002535D4  7F E3 22 14 */	add r31, r3, r4
/* 80257978 002535D8  90 7E 00 78 */	stw r3, 0x78(r30)
/* 8025797C 002535DC  40 82 00 CC */	bne lbl_80257A48
/* 80257980 002535E0  93 FE 00 D0 */	stw r31, 0xd0(r30)
/* 80257984 002535E4  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80257988 002535E8  38 03 00 1F */	addi r0, r3, 0x1f
/* 8025798C 002535EC  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257990 002535F0  7F FF 02 14 */	add r31, r31, r0
/* 80257994 002535F4  93 FE 00 D8 */	stw r31, 0xd8(r30)
/* 80257998 002535F8  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 8025799C 002535FC  38 03 00 1F */	addi r0, r3, 0x1f
/* 802579A0 00253600  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802579A4 00253604  7F FF 02 14 */	add r31, r31, r0
/* 802579A8 00253608  93 FE 00 E0 */	stw r31, 0xe0(r30)
/* 802579AC 0025360C  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 802579B0 00253610  38 03 00 1F */	addi r0, r3, 0x1f
/* 802579B4 00253614  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802579B8 00253618  7F FF 02 14 */	add r31, r31, r0
/* 802579BC 0025361C  93 FE 00 E8 */	stw r31, 0xe8(r30)
/* 802579C0 00253620  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 802579C4 00253624  38 03 00 1F */	addi r0, r3, 0x1f
/* 802579C8 00253628  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802579CC 0025362C  7F FF 02 14 */	add r31, r31, r0
/* 802579D0 00253630  93 FE 00 F0 */	stw r31, 0xf0(r30)
/* 802579D4 00253634  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 802579D8 00253638  38 03 00 1F */	addi r0, r3, 0x1f
/* 802579DC 0025363C  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802579E0 00253640  7F FF 02 14 */	add r31, r31, r0
/* 802579E4 00253644  93 FE 00 F8 */	stw r31, 0xf8(r30)
/* 802579E8 00253648  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 802579EC 0025364C  38 03 00 1F */	addi r0, r3, 0x1f
/* 802579F0 00253650  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802579F4 00253654  7F FF 02 14 */	add r31, r31, r0
/* 802579F8 00253658  93 FE 01 00 */	stw r31, 0x100(r30)
/* 802579FC 0025365C  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80257A00 00253660  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257A04 00253664  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257A08 00253668  7F FF 02 14 */	add r31, r31, r0
/* 80257A0C 0025366C  93 FE 01 08 */	stw r31, 0x108(r30)
/* 80257A10 00253670  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80257A14 00253674  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257A18 00253678  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257A1C 0025367C  7F FF 02 14 */	add r31, r31, r0
/* 80257A20 00253680  93 FE 01 10 */	stw r31, 0x110(r30)
/* 80257A24 00253684  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80257A28 00253688  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257A2C 0025368C  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257A30 00253690  7F FF 02 14 */	add r31, r31, r0
/* 80257A34 00253694  93 FE 01 18 */	stw r31, 0x118(r30)
/* 80257A38 00253698  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80257A3C 0025369C  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257A40 002536A0  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257A44 002536A4  7F FF 02 14 */	add r31, r31, r0
lbl_80257A48:
/* 80257A48 002536A8  80 7E 00 48 */	lwz r3, 0x48(r30)
/* 80257A4C 002536AC  7F DD F3 78 */	mr r29, r30
/* 80257A50 002536B0  80 1E 00 4C */	lwz r0, 0x4c(r30)
/* 80257A54 002536B4  3B 80 00 00 */	li r28, 0
/* 80257A58 002536B8  7C 83 01 D6 */	mullw r4, r3, r0
/* 80257A5C 002536BC  54 83 F0 BE */	srwi r3, r4, 2
/* 80257A60 002536C0  38 84 00 1F */	addi r4, r4, 0x1f
/* 80257A64 002536C4  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257A68 002536C8  54 9B 00 34 */	rlwinm r27, r4, 0, 0, 0x1a
/* 80257A6C 002536CC  54 1A 00 34 */	rlwinm r26, r0, 0, 0, 0x1a
lbl_80257A70:
/* 80257A70 002536D0  93 FD 01 20 */	stw r31, 0x120(r29)
/* 80257A74 002536D4  7F E3 FB 78 */	mr r3, r31
/* 80257A78 002536D8  7F 64 DB 78 */	mr r4, r27
/* 80257A7C 002536DC  48 01 2B AD */	bl DCInvalidateRange
/* 80257A80 002536E0  7F FF DA 14 */	add r31, r31, r27
/* 80257A84 002536E4  7F 44 D3 78 */	mr r4, r26
/* 80257A88 002536E8  93 FD 01 24 */	stw r31, 0x124(r29)
/* 80257A8C 002536EC  7F E3 FB 78 */	mr r3, r31
/* 80257A90 002536F0  48 01 2B 99 */	bl DCInvalidateRange
/* 80257A94 002536F4  7F FF D2 14 */	add r31, r31, r26
/* 80257A98 002536F8  7F 44 D3 78 */	mr r4, r26
/* 80257A9C 002536FC  93 FD 01 28 */	stw r31, 0x128(r29)
/* 80257AA0 00253700  7F E3 FB 78 */	mr r3, r31
/* 80257AA4 00253704  48 01 2B 85 */	bl DCInvalidateRange
/* 80257AA8 00253708  3B 9C 00 01 */	addi r28, r28, 1
/* 80257AAC 0025370C  7F FF D2 14 */	add r31, r31, r26
/* 80257AB0 00253710  28 1C 00 03 */	cmplwi r28, 3
/* 80257AB4 00253714  3B BD 00 10 */	addi r29, r29, 0x10
/* 80257AB8 00253718  41 80 FF B8 */	blt lbl_80257A70
/* 80257ABC 0025371C  88 1E 00 6B */	lbz r0, 0x6b(r30)
/* 80257AC0 00253720  2C 00 00 00 */	cmpwi r0, 0
/* 80257AC4 00253724  41 82 01 08 */	beq lbl_80257BCC
/* 80257AC8 00253728  80 1E 00 58 */	lwz r0, 0x58(r30)
/* 80257ACC 0025372C  38 80 00 00 */	li r4, 0
/* 80257AD0 00253730  3F A0 43 30 */	lis r29, 0x4330
/* 80257AD4 00253734  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80257AD8 00253738  1C 00 00 28 */	mulli r0, r0, 0x28
/* 80257ADC 0025373C  93 A1 00 08 */	stw r29, 8(r1)
/* 80257AE0 00253740  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 80257AE4 00253744  54 63 10 3A */	slwi r3, r3, 2
/* 80257AE8 00253748  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 80257AEC 0025374C  90 01 00 0C */	stw r0, 0xc(r1)
/* 80257AF0 00253750  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257AF4 00253754  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 80257AF8 00253758  C8 41 00 08 */	lfd f2, 8(r1)
/* 80257AFC 0025375C  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 80257B00 00253760  93 FE 01 50 */	stw r31, 0x150(r30)
/* 80257B04 00253764  EC 42 18 28 */	fsubs f2, f2, f3
/* 80257B08 00253768  93 FE 01 54 */	stw r31, 0x154(r30)
/* 80257B0C 0025376C  7F FF 02 14 */	add r31, r31, r0
/* 80257B10 00253770  EC 22 08 24 */	fdivs f1, f2, f1
/* 80257B14 00253774  93 FE 01 5C */	stw r31, 0x15c(r30)
/* 80257B18 00253778  93 FE 01 60 */	stw r31, 0x160(r30)
/* 80257B1C 0025377C  7F FF 02 14 */	add r31, r31, r0
/* 80257B20 00253780  93 FE 01 68 */	stw r31, 0x168(r30)
/* 80257B24 00253784  93 FE 01 6C */	stw r31, 0x16c(r30)
/* 80257B28 00253788  7F FF 02 14 */	add r31, r31, r0
/* 80257B2C 0025378C  EC 20 08 2A */	fadds f1, f0, f1
/* 80257B30 00253790  93 FE 01 74 */	stw r31, 0x174(r30)
/* 80257B34 00253794  93 FE 01 78 */	stw r31, 0x178(r30)
/* 80257B38 00253798  7F FF 02 14 */	add r31, r31, r0
/* 80257B3C 0025379C  93 FE 01 80 */	stw r31, 0x180(r30)
/* 80257B40 002537A0  93 FE 01 84 */	stw r31, 0x184(r30)
/* 80257B44 002537A4  7F FF 02 14 */	add r31, r31, r0
/* 80257B48 002537A8  93 FE 01 8C */	stw r31, 0x18c(r30)
/* 80257B4C 002537AC  93 FE 01 90 */	stw r31, 0x190(r30)
/* 80257B50 002537B0  7F FF 02 14 */	add r31, r31, r0
/* 80257B54 002537B4  90 9E 01 58 */	stw r4, 0x158(r30)
/* 80257B58 002537B8  90 9E 01 64 */	stw r4, 0x164(r30)
/* 80257B5C 002537BC  90 9E 01 70 */	stw r4, 0x170(r30)
/* 80257B60 002537C0  90 9E 01 7C */	stw r4, 0x17c(r30)
/* 80257B64 002537C4  90 9E 01 88 */	stw r4, 0x188(r30)
/* 80257B68 002537C8  90 9E 01 94 */	stw r4, 0x194(r30)
/* 80257B6C 002537CC  93 FE 01 A8 */	stw r31, 0x1a8(r30)
/* 80257B70 002537D0  4B F6 F4 91 */	bl __cvt_fp2unsigned
/* 80257B74 002537D4  80 1E 00 54 */	lwz r0, 0x54(r30)
/* 80257B78 002537D8  38 63 00 1F */	addi r3, r3, 0x1f
/* 80257B7C 002537DC  54 63 08 32 */	rlwinm r3, r3, 1, 0, 0x19
/* 80257B80 002537E0  28 00 00 02 */	cmplwi r0, 2
/* 80257B84 002537E4  7F FF 1A 14 */	add r31, r31, r3
/* 80257B88 002537E8  40 82 00 44 */	bne lbl_80257BCC
/* 80257B8C 002537EC  80 1E 00 58 */	lwz r0, 0x58(r30)
/* 80257B90 002537F0  93 A1 00 08 */	stw r29, 8(r1)
/* 80257B94 002537F4  1C 00 00 28 */	mulli r0, r0, 0x28
/* 80257B98 002537F8  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 80257B9C 002537FC  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 80257BA0 00253800  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 80257BA4 00253804  90 01 00 0C */	stw r0, 0xc(r1)
/* 80257BA8 00253808  C8 41 00 08 */	lfd f2, 8(r1)
/* 80257BAC 0025380C  93 FE 01 AC */	stw r31, 0x1ac(r30)
/* 80257BB0 00253810  EC 42 18 28 */	fsubs f2, f2, f3
/* 80257BB4 00253814  EC 22 08 24 */	fdivs f1, f2, f1
/* 80257BB8 00253818  EC 20 08 2A */	fadds f1, f0, f1
/* 80257BBC 0025381C  4B F6 F4 45 */	bl __cvt_fp2unsigned
/* 80257BC0 00253820  38 03 00 1F */	addi r0, r3, 0x1f
/* 80257BC4 00253824  54 00 08 32 */	rlwinm r0, r0, 1, 0, 0x19
/* 80257BC8 00253828  7F FF 02 14 */	add r31, r31, r0
lbl_80257BCC:
/* 80257BCC 0025382C  93 FE 00 64 */	stw r31, 0x64(r30)
/* 80257BD0 00253830  38 60 00 01 */	li r3, 1
lbl_80257BD4:
/* 80257BD4 00253834  39 61 00 30 */	addi r11, r1, 0x30
/* 80257BD8 00253838  4B F6 F5 99 */	bl _restgpr_26
/* 80257BDC 0025383C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80257BE0 00253840  7C 08 03 A6 */	mtlr r0
/* 80257BE4 00253844  38 21 00 30 */	addi r1, r1, 0x30
/* 80257BE8 00253848  4E 80 00 20 */	blr

.global func_80257BEC
func_80257BEC:
/* 80257BEC 0025384C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80257BF0 00253850  7C 08 02 A6 */	mflr r0
/* 80257BF4 00253854  90 01 00 24 */	stw r0, 0x24(r1)
/* 80257BF8 00253858  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80257BFC 0025385C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80257C00 00253860  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80257C04 00253864  7C 7D 1B 78 */	mr r29, r3
/* 80257C08 00253868  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 80257C0C 0025386C  2C 00 00 00 */	cmpwi r0, 0
/* 80257C10 00253870  40 82 00 28 */	bne lbl_80257C38
/* 80257C14 00253874  3B C3 00 D0 */	addi r30, r3, 0xd0
/* 80257C18 00253878  3B E0 00 00 */	li r31, 0
lbl_80257C1C:
/* 80257C1C 0025387C  7F A3 EB 78 */	mr r3, r29
/* 80257C20 00253880  7F C4 F3 78 */	mr r4, r30
/* 80257C24 00253884  48 00 30 BD */	bl func_8025ACE0
/* 80257C28 00253888  3B FF 00 01 */	addi r31, r31, 1
/* 80257C2C 0025388C  3B DE 00 08 */	addi r30, r30, 8
/* 80257C30 00253890  2C 1F 00 0A */	cmpwi r31, 0xa
/* 80257C34 00253894  41 80 FF E8 */	blt lbl_80257C1C
lbl_80257C38:
/* 80257C38 00253898  88 1D 00 6B */	lbz r0, 0x6b(r29)
/* 80257C3C 0025389C  2C 00 00 00 */	cmpwi r0, 0
/* 80257C40 002538A0  41 82 00 28 */	beq lbl_80257C68
/* 80257C44 002538A4  3B DD 01 50 */	addi r30, r29, 0x150
/* 80257C48 002538A8  3B E0 00 00 */	li r31, 0
lbl_80257C4C:
/* 80257C4C 002538AC  7F A3 EB 78 */	mr r3, r29
/* 80257C50 002538B0  7F C4 F3 78 */	mr r4, r30
/* 80257C54 002538B4  48 00 34 71 */	bl func_8025B0C4
/* 80257C58 002538B8  3B FF 00 01 */	addi r31, r31, 1
/* 80257C5C 002538BC  3B DE 00 0C */	addi r30, r30, 0xc
/* 80257C60 002538C0  2C 1F 00 06 */	cmpwi r31, 6
/* 80257C64 002538C4  41 80 FF E8 */	blt lbl_80257C4C
lbl_80257C68:
/* 80257C68 002538C8  3B DD 01 20 */	addi r30, r29, 0x120
/* 80257C6C 002538CC  3B E0 00 00 */	li r31, 0
lbl_80257C70:
/* 80257C70 002538D0  7F A3 EB 78 */	mr r3, r29
/* 80257C74 002538D4  7F C4 F3 78 */	mr r4, r30
/* 80257C78 002538D8  48 00 39 95 */	bl func_8025B60C
/* 80257C7C 002538DC  3B FF 00 01 */	addi r31, r31, 1
/* 80257C80 002538E0  3B DE 00 10 */	addi r30, r30, 0x10
/* 80257C84 002538E4  2C 1F 00 03 */	cmpwi r31, 3
/* 80257C88 002538E8  41 80 FF E8 */	blt lbl_80257C70
/* 80257C8C 002538EC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80257C90 002538F0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80257C94 002538F4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80257C98 002538F8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80257C9C 002538FC  7C 08 03 A6 */	mtlr r0
/* 80257CA0 00253900  38 21 00 20 */	addi r1, r1, 0x20
/* 80257CA4 00253904  4E 80 00 20 */	blr

.global func_80257CA8
func_80257CA8:
/* 80257CA8 00253908  3D 00 80 50 */	lis r8, lbl_804FDC20@ha
/* 80257CAC 0025390C  81 24 00 2C */	lwz r9, 0x2c(r4)
/* 80257CB0 00253910  A8 E8 DC 20 */	lha r7, lbl_804FDC20@l(r8)
/* 80257CB4 00253914  38 C8 DC 20 */	addi r6, r8, -9184
/* 80257CB8 00253918  38 60 00 04 */	li r3, 4
/* 80257CBC 0025391C  38 00 00 0F */	li r0, 0xf
/* 80257CC0 00253920  7C E9 3A 14 */	add r7, r9, r7
/* 80257CC4 00253924  90 A4 00 90 */	stw r5, 0x90(r4)
/* 80257CC8 00253928  90 E4 00 84 */	stw r7, 0x84(r4)
/* 80257CCC 0025392C  A8 E8 DC 20 */	lha r7, -0x23e0(r8)
/* 80257CD0 00253930  A8 A6 00 02 */	lha r5, 2(r6)
/* 80257CD4 00253934  7C A7 28 50 */	subf r5, r7, r5
/* 80257CD8 00253938  98 64 00 69 */	stb r3, 0x69(r4)
/* 80257CDC 0025393C  90 A4 00 8C */	stw r5, 0x8c(r4)
/* 80257CE0 00253940  98 64 00 68 */	stb r3, 0x68(r4)
/* 80257CE4 00253944  90 04 00 A0 */	stw r0, 0xa0(r4)
/* 80257CE8 00253948  4E 80 00 20 */	blr

.global func_80257CEC
func_80257CEC:
/* 80257CEC 0025394C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80257CF0 00253950  7C 08 02 A6 */	mflr r0
/* 80257CF4 00253954  90 01 00 24 */	stw r0, 0x24(r1)
/* 80257CF8 00253958  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80257CFC 0025395C  7C BF 2B 78 */	mr r31, r5
/* 80257D00 00253960  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80257D04 00253964  7C 9E 23 78 */	mr r30, r4
/* 80257D08 00253968  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80257D0C 0025396C  7C 7D 1B 78 */	mr r29, r3
/* 80257D10 00253970  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80257D14 00253974  2C 00 00 00 */	cmpwi r0, 0
/* 80257D18 00253978  41 82 00 10 */	beq lbl_80257D28
/* 80257D1C 0025397C  88 03 00 69 */	lbz r0, 0x69(r3)
/* 80257D20 00253980  28 00 00 02 */	cmplwi r0, 2
/* 80257D24 00253984  41 82 00 0C */	beq lbl_80257D30
lbl_80257D28:
/* 80257D28 00253988  38 60 00 00 */	li r3, 0
/* 80257D2C 0025398C  48 00 01 04 */	b lbl_80257E30
lbl_80257D30:
/* 80257D30 00253990  4B FF FB C9 */	bl func_802578F8
/* 80257D34 00253994  2C 03 00 00 */	cmpwi r3, 0
/* 80257D38 00253998  40 82 00 14 */	bne lbl_80257D4C
/* 80257D3C 0025399C  7F A3 EB 78 */	mr r3, r29
/* 80257D40 002539A0  4B FF F9 A9 */	bl func_802576E8
/* 80257D44 002539A4  38 60 00 00 */	li r3, 0
/* 80257D48 002539A8  48 00 00 E8 */	b lbl_80257E30
lbl_80257D4C:
/* 80257D4C 002539AC  38 00 00 03 */	li r0, 3
/* 80257D50 002539B0  2C 1E 00 00 */	cmpwi r30, 0
/* 80257D54 002539B4  98 1D 00 69 */	stb r0, 0x69(r29)
/* 80257D58 002539B8  40 81 00 70 */	ble lbl_80257DC8
/* 80257D5C 002539BC  80 9D 00 28 */	lwz r4, 0x28(r29)
/* 80257D60 002539C0  2C 04 00 00 */	cmpwi r4, 0
/* 80257D64 002539C4  40 82 00 0C */	bne lbl_80257D70
/* 80257D68 002539C8  38 60 00 00 */	li r3, 0
/* 80257D6C 002539CC  48 00 00 C4 */	b lbl_80257E30
lbl_80257D70:
/* 80257D70 002539D0  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 80257D74 002539D4  7C 00 F0 40 */	cmplw r0, r30
/* 80257D78 002539D8  40 81 00 48 */	ble lbl_80257DC0
/* 80257D7C 002539DC  38 1E FF FF */	addi r0, r30, -1
/* 80257D80 002539E0  3C A0 80 50 */	lis r5, lbl_804FDC20@ha
/* 80257D84 002539E4  54 00 10 3A */	slwi r0, r0, 2
/* 80257D88 002539E8  3D 00 80 25 */	lis r8, func_80257CA8@ha
/* 80257D8C 002539EC  7C E4 02 14 */	add r7, r4, r0
/* 80257D90 002539F0  80 7D 00 00 */	lwz r3, 0(r29)
/* 80257D94 002539F4  7F A9 EB 78 */	mr r9, r29
/* 80257D98 002539F8  7F CA F3 78 */	mr r10, r30
/* 80257D9C 002539FC  38 A5 DC 20 */	addi r5, r5, lbl_804FDC20@l
/* 80257DA0 00253A00  39 08 7C A8 */	addi r8, r8, func_80257CA8@l
/* 80257DA4 00253A04  38 80 00 00 */	li r4, 0
/* 80257DA8 00253A08  38 C0 00 20 */	li r6, 0x20
/* 80257DAC 00253A0C  4B FF 1D 05 */	bl func_80249AB0
/* 80257DB0 00253A10  2C 03 00 00 */	cmpwi r3, 0
/* 80257DB4 00253A14  40 82 00 3C */	bne lbl_80257DF0
/* 80257DB8 00253A18  38 60 00 00 */	li r3, 0
/* 80257DBC 00253A1C  48 00 00 74 */	b lbl_80257E30
lbl_80257DC0:
/* 80257DC0 00253A20  38 60 00 00 */	li r3, 0
/* 80257DC4 00253A24  48 00 00 6C */	b lbl_80257E30
lbl_80257DC8:
/* 80257DC8 00253A28  3C 60 80 50 */	lis r3, lbl_804FDC20@ha
/* 80257DCC 00253A2C  38 00 00 00 */	li r0, 0
/* 80257DD0 00253A30  B0 03 DC 20 */	sth r0, lbl_804FDC20@l(r3)
/* 80257DD4 00253A34  38 C3 DC 20 */	addi r6, r3, -9184
/* 80257DD8 00253A38  7F A4 EB 78 */	mr r4, r29
/* 80257DDC 00253A3C  38 60 00 00 */	li r3, 0
/* 80257DE0 00253A40  80 1D 00 1C */	lwz r0, 0x1c(r29)
/* 80257DE4 00253A44  38 A0 00 00 */	li r5, 0
/* 80257DE8 00253A48  B0 06 00 02 */	sth r0, 2(r6)
/* 80257DEC 00253A4C  4B FF FE BD */	bl func_80257CA8
lbl_80257DF0:
/* 80257DF0 00253A50  88 1D 00 6B */	lbz r0, 0x6b(r29)
/* 80257DF4 00253A54  2C 00 00 00 */	cmpwi r0, 0
/* 80257DF8 00253A58  41 82 00 24 */	beq lbl_80257E1C
/* 80257DFC 00253A5C  2C 1F 00 00 */	cmpwi r31, 0
/* 80257E00 00253A60  41 80 00 10 */	blt lbl_80257E10
/* 80257E04 00253A64  80 1D 00 60 */	lwz r0, 0x60(r29)
/* 80257E08 00253A68  7C 1F 00 40 */	cmplw r31, r0
/* 80257E0C 00253A6C  41 80 00 0C */	blt lbl_80257E18
lbl_80257E10:
/* 80257E10 00253A70  38 60 00 00 */	li r3, 0
/* 80257E14 00253A74  48 00 00 1C */	b lbl_80257E30
lbl_80257E18:
/* 80257E18 00253A78  93 FD 00 BC */	stw r31, 0xbc(r29)
lbl_80257E1C:
/* 80257E1C 00253A7C  38 00 00 00 */	li r0, 0
/* 80257E20 00253A80  38 60 00 01 */	li r3, 1
/* 80257E24 00253A84  90 1D 00 A0 */	stw r0, 0xa0(r29)
/* 80257E28 00253A88  90 1D 00 B8 */	stw r0, 0xb8(r29)
/* 80257E2C 00253A8C  90 1D 00 9C */	stw r0, 0x9c(r29)
lbl_80257E30:
/* 80257E30 00253A90  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80257E34 00253A94  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80257E38 00253A98  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80257E3C 00253A9C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80257E40 00253AA0  7C 08 03 A6 */	mtlr r0
/* 80257E44 00253AA4  38 21 00 20 */	addi r1, r1, 0x20
/* 80257E48 00253AA8  4E 80 00 20 */	blr

.global func_80257E4C
func_80257E4C:
/* 80257E4C 00253AAC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80257E50 00253AB0  7C 08 02 A6 */	mflr r0
/* 80257E54 00253AB4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80257E58 00253AB8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80257E5C 00253ABC  7C 9F 23 78 */	mr r31, r4
/* 80257E60 00253AC0  88 04 00 6D */	lbz r0, 0x6d(r4)
/* 80257E64 00253AC4  90 A4 01 98 */	stw r5, 0x198(r4)
/* 80257E68 00253AC8  2C 00 00 00 */	cmpwi r0, 0
/* 80257E6C 00253ACC  40 82 00 0C */	bne lbl_80257E78
/* 80257E70 00253AD0  7F E3 FB 78 */	mr r3, r31
/* 80257E74 00253AD4  48 00 28 9D */	bl func_8025A710
lbl_80257E78:
/* 80257E78 00253AD8  88 1F 00 6B */	lbz r0, 0x6b(r31)
/* 80257E7C 00253ADC  2C 00 00 00 */	cmpwi r0, 0
/* 80257E80 00253AE0  41 82 00 0C */	beq lbl_80257E8C
/* 80257E84 00253AE4  7F E3 FB 78 */	mr r3, r31
/* 80257E88 00253AE8  48 00 2E FD */	bl func_8025AD84
lbl_80257E8C:
/* 80257E8C 00253AEC  7F E3 FB 78 */	mr r3, r31
/* 80257E90 00253AF0  48 00 32 D5 */	bl func_8025B164
/* 80257E94 00253AF4  38 00 00 00 */	li r0, 0
/* 80257E98 00253AF8  38 60 FF FF */	li r3, -1
/* 80257E9C 00253AFC  90 7F 00 C0 */	stw r3, 0xc0(r31)
/* 80257EA0 00253B00  7F E3 FB 78 */	mr r3, r31
/* 80257EA4 00253B04  90 1F 00 C4 */	stw r0, 0xc4(r31)
/* 80257EA8 00253B08  90 1F 00 C8 */	stw r0, 0xc8(r31)
/* 80257EAC 00253B0C  90 1F 00 CC */	stw r0, 0xcc(r31)
/* 80257EB0 00253B10  4B FF FD 3D */	bl func_80257BEC
/* 80257EB4 00253B14  7F E3 FB 78 */	mr r3, r31
/* 80257EB8 00253B18  48 00 33 49 */	bl func_8025B200
/* 80257EBC 00253B1C  88 1F 00 6B */	lbz r0, 0x6b(r31)
/* 80257EC0 00253B20  2C 00 00 00 */	cmpwi r0, 0
/* 80257EC4 00253B24  41 82 00 0C */	beq lbl_80257ED0
/* 80257EC8 00253B28  7F E3 FB 78 */	mr r3, r31
/* 80257ECC 00253B2C  48 00 2F 55 */	bl func_8025AE20
lbl_80257ED0:
/* 80257ED0 00253B30  88 1F 00 6D */	lbz r0, 0x6d(r31)
/* 80257ED4 00253B34  2C 00 00 00 */	cmpwi r0, 0
/* 80257ED8 00253B38  40 82 00 0C */	bne lbl_80257EE4
/* 80257EDC 00253B3C  7F E3 FB 78 */	mr r3, r31
/* 80257EE0 00253B40  48 00 28 C9 */	bl func_8025A7A8
lbl_80257EE4:
/* 80257EE4 00253B44  88 1F 00 6B */	lbz r0, 0x6b(r31)
/* 80257EE8 00253B48  38 80 00 07 */	li r4, 7
/* 80257EEC 00253B4C  38 60 00 00 */	li r3, 0
/* 80257EF0 00253B50  98 9F 00 69 */	stb r4, 0x69(r31)
/* 80257EF4 00253B54  2C 00 00 00 */	cmpwi r0, 0
/* 80257EF8 00253B58  98 9F 00 68 */	stb r4, 0x68(r31)
/* 80257EFC 00253B5C  98 7F 00 6A */	stb r3, 0x6a(r31)
/* 80257F00 00253B60  41 82 00 0C */	beq lbl_80257F0C
/* 80257F04 00253B64  7F E3 FB 78 */	mr r3, r31
/* 80257F08 00253B68  48 00 03 79 */	bl func_80258280
lbl_80257F0C:
/* 80257F0C 00253B6C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80257F10 00253B70  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80257F14 00253B74  7C 08 03 A6 */	mtlr r0
/* 80257F18 00253B78  38 21 00 10 */	addi r1, r1, 0x10
/* 80257F1C 00253B7C  4E 80 00 20 */	blr

.global func_80257F20
func_80257F20:
/* 80257F20 00253B80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80257F24 00253B84  7C 08 02 A6 */	mflr r0
/* 80257F28 00253B88  7C 69 1B 78 */	mr r9, r3
/* 80257F2C 00253B8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80257F30 00253B90  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80257F34 00253B94  2C 00 00 00 */	cmpwi r0, 0
/* 80257F38 00253B98  41 82 00 10 */	beq lbl_80257F48
/* 80257F3C 00253B9C  88 03 00 69 */	lbz r0, 0x69(r3)
/* 80257F40 00253BA0  28 00 00 05 */	cmplwi r0, 5
/* 80257F44 00253BA4  41 82 00 0C */	beq lbl_80257F50
lbl_80257F48:
/* 80257F48 00253BA8  38 60 00 00 */	li r3, 0
/* 80257F4C 00253BAC  48 00 00 68 */	b lbl_80257FB4
lbl_80257F50:
/* 80257F50 00253BB0  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 80257F54 00253BB4  38 80 00 06 */	li r4, 6
/* 80257F58 00253BB8  98 83 00 69 */	stb r4, 0x69(r3)
/* 80257F5C 00253BBC  2C 00 00 00 */	cmpwi r0, 0
/* 80257F60 00253BC0  41 82 00 40 */	beq lbl_80257FA0
/* 80257F64 00253BC4  80 A3 00 78 */	lwz r5, 0x78(r3)
/* 80257F68 00253BC8  3D 00 80 25 */	lis r8, func_80257E4C@ha
/* 80257F6C 00253BCC  80 09 00 84 */	lwz r0, 0x84(r9)
/* 80257F70 00253BD0  39 08 7E 4C */	addi r8, r8, func_80257E4C@l
/* 80257F74 00253BD4  80 E3 00 2C */	lwz r7, 0x2c(r3)
/* 80257F78 00253BD8  38 80 00 00 */	li r4, 0
/* 80257F7C 00253BDC  7C 05 02 14 */	add r0, r5, r0
/* 80257F80 00253BE0  80 63 00 00 */	lwz r3, 0(r3)
/* 80257F84 00253BE4  80 C9 00 7C */	lwz r6, 0x7c(r9)
/* 80257F88 00253BE8  7D 47 00 50 */	subf r10, r7, r0
/* 80257F8C 00253BEC  4B FF 1B 25 */	bl func_80249AB0
/* 80257F90 00253BF0  2C 03 00 00 */	cmpwi r3, 0
/* 80257F94 00253BF4  40 82 00 1C */	bne lbl_80257FB0
/* 80257F98 00253BF8  38 60 00 00 */	li r3, 0
/* 80257F9C 00253BFC  48 00 00 18 */	b lbl_80257FB4
lbl_80257FA0:
/* 80257FA0 00253C00  7D 24 4B 78 */	mr r4, r9
/* 80257FA4 00253C04  38 60 00 00 */	li r3, 0
/* 80257FA8 00253C08  38 A0 00 00 */	li r5, 0
/* 80257FAC 00253C0C  4B FF FE A1 */	bl func_80257E4C
lbl_80257FB0:
/* 80257FB0 00253C10  38 60 00 01 */	li r3, 1
lbl_80257FB4:
/* 80257FB4 00253C14  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80257FB8 00253C18  7C 08 03 A6 */	mtlr r0
/* 80257FBC 00253C1C  38 21 00 10 */	addi r1, r1, 0x10
/* 80257FC0 00253C20  4E 80 00 20 */	blr

.global func_80257FC4
func_80257FC4:
/* 80257FC4 00253C24  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80257FC8 00253C28  7C 08 02 A6 */	mflr r0
/* 80257FCC 00253C2C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80257FD0 00253C30  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80257FD4 00253C34  7C 7F 1B 78 */	mr r31, r3
/* 80257FD8 00253C38  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80257FDC 00253C3C  2C 00 00 00 */	cmpwi r0, 0
/* 80257FE0 00253C40  40 82 00 0C */	bne lbl_80257FEC
/* 80257FE4 00253C44  38 60 00 00 */	li r3, 0
/* 80257FE8 00253C48  48 00 00 C4 */	b lbl_802580AC
lbl_80257FEC:
/* 80257FEC 00253C4C  88 83 00 69 */	lbz r4, 0x69(r3)
/* 80257FF0 00253C50  28 04 00 07 */	cmplwi r4, 7
/* 80257FF4 00253C54  41 82 00 1C */	beq lbl_80258010
/* 80257FF8 00253C58  28 04 00 0A */	cmplwi r4, 0xa
/* 80257FFC 00253C5C  41 82 00 14 */	beq lbl_80258010
/* 80258000 00253C60  38 04 FF F8 */	addi r0, r4, -8
/* 80258004 00253C64  7C 00 00 34 */	cntlzw r0, r0
/* 80258008 00253C68  54 03 D9 7E */	srwi r3, r0, 5
/* 8025800C 00253C6C  48 00 00 A0 */	b lbl_802580AC
lbl_80258010:
/* 80258010 00253C70  28 04 00 0A */	cmplwi r4, 0xa
/* 80258014 00253C74  40 82 00 18 */	bne lbl_8025802C
/* 80258018 00253C78  88 03 00 6B */	lbz r0, 0x6b(r3)
/* 8025801C 00253C7C  2C 00 00 00 */	cmpwi r0, 0
/* 80258020 00253C80  41 82 00 0C */	beq lbl_8025802C
/* 80258024 00253C84  7F E3 FB 78 */	mr r3, r31
/* 80258028 00253C88  48 00 05 9D */	bl func_802585C4
lbl_8025802C:
/* 8025802C 00253C8C  38 E0 00 00 */	li r7, 0
/* 80258030 00253C90  38 00 FF FF */	li r0, -1
/* 80258034 00253C94  38 C0 00 08 */	li r6, 8
/* 80258038 00253C98  90 FF 00 A0 */	stw r7, 0xa0(r31)
/* 8025803C 00253C9C  7F E3 FB 78 */	mr r3, r31
/* 80258040 00253CA0  38 81 00 0C */	addi r4, r1, 0xc
/* 80258044 00253CA4  90 FF 00 B8 */	stw r7, 0xb8(r31)
/* 80258048 00253CA8  38 A1 00 08 */	addi r5, r1, 8
/* 8025804C 00253CAC  90 FF 00 9C */	stw r7, 0x9c(r31)
/* 80258050 00253CB0  98 DF 00 69 */	stb r6, 0x69(r31)
/* 80258054 00253CB4  90 FF 00 B0 */	stw r7, 0xb0(r31)
/* 80258058 00253CB8  90 FF 00 B4 */	stw r7, 0xb4(r31)
/* 8025805C 00253CBC  90 1F 00 AC */	stw r0, 0xac(r31)
/* 80258060 00253CC0  90 1F 00 A8 */	stw r0, 0xa8(r31)
/* 80258064 00253CC4  48 00 10 5D */	bl func_802590C0
/* 80258068 00253CC8  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8025806C 00253CCC  2C 03 00 00 */	cmpwi r3, 0
/* 80258070 00253CD0  41 82 00 18 */	beq lbl_80258088
/* 80258074 00253CD4  38 80 00 00 */	li r4, 0
/* 80258078 00253CD8  48 04 12 15 */	bl MIXSetInput
/* 8025807C 00253CDC  80 61 00 0C */	lwz r3, 0xc(r1)
/* 80258080 00253CE0  38 80 00 00 */	li r4, 0
/* 80258084 00253CE4  48 04 12 2D */	bl MIXSetFader
lbl_80258088:
/* 80258088 00253CE8  80 61 00 08 */	lwz r3, 8(r1)
/* 8025808C 00253CEC  2C 03 00 00 */	cmpwi r3, 0
/* 80258090 00253CF0  41 82 00 18 */	beq lbl_802580A8
/* 80258094 00253CF4  38 80 00 00 */	li r4, 0
/* 80258098 00253CF8  48 04 11 F5 */	bl MIXSetInput
/* 8025809C 00253CFC  80 61 00 08 */	lwz r3, 8(r1)
/* 802580A0 00253D00  38 80 00 00 */	li r4, 0
/* 802580A4 00253D04  48 04 12 0D */	bl MIXSetFader
lbl_802580A8:
/* 802580A8 00253D08  38 60 00 01 */	li r3, 1
lbl_802580AC:
/* 802580AC 00253D0C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802580B0 00253D10  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802580B4 00253D14  7C 08 03 A6 */	mtlr r0
/* 802580B8 00253D18  38 21 00 20 */	addi r1, r1, 0x20
/* 802580BC 00253D1C  4E 80 00 20 */	blr

.global func_802580C0
func_802580C0:
/* 802580C0 00253D20  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802580C4 00253D24  7C 08 02 A6 */	mflr r0
/* 802580C8 00253D28  90 01 00 14 */	stw r0, 0x14(r1)
/* 802580CC 00253D2C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802580D0 00253D30  7C 7F 1B 78 */	mr r31, r3
/* 802580D4 00253D34  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 802580D8 00253D38  2C 00 00 00 */	cmpwi r0, 0
/* 802580DC 00253D3C  41 82 00 78 */	beq lbl_80258154
/* 802580E0 00253D40  88 03 00 69 */	lbz r0, 0x69(r3)
/* 802580E4 00253D44  2C 00 00 00 */	cmpwi r0, 0
/* 802580E8 00253D48  40 82 00 08 */	bne lbl_802580F0
/* 802580EC 00253D4C  48 00 00 68 */	b lbl_80258154
lbl_802580F0:
/* 802580F0 00253D50  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802580F4 00253D54  38 80 00 00 */	li r4, 0
/* 802580F8 00253D58  98 83 00 6A */	stb r4, 0x6a(r3)
/* 802580FC 00253D5C  2C 00 00 00 */	cmpwi r0, 0
/* 80258100 00253D60  98 83 00 69 */	stb r4, 0x69(r3)
/* 80258104 00253D64  40 82 00 18 */	bne lbl_8025811C
/* 80258108 00253D68  48 00 26 B5 */	bl func_8025A7BC
/* 8025810C 00253D6C  38 00 00 01 */	li r0, 1
/* 80258110 00253D70  80 7F 00 00 */	lwz r3, 0(r31)
/* 80258114 00253D74  98 1F 00 70 */	stb r0, 0x70(r31)
/* 80258118 00253D78  4B FF 15 4D */	bl func_80249664
lbl_8025811C:
/* 8025811C 00253D7C  7F E3 FB 78 */	mr r3, r31
/* 80258120 00253D80  48 00 30 F5 */	bl func_8025B214
/* 80258124 00253D84  88 1F 00 6B */	lbz r0, 0x6b(r31)
/* 80258128 00253D88  2C 00 00 00 */	cmpwi r0, 0
/* 8025812C 00253D8C  41 82 00 14 */	beq lbl_80258140
/* 80258130 00253D90  7F E3 FB 78 */	mr r3, r31
/* 80258134 00253D94  48 00 0F 21 */	bl func_80259054
/* 80258138 00253D98  7F E3 FB 78 */	mr r3, r31
/* 8025813C 00253D9C  48 00 2C F9 */	bl func_8025AE34
lbl_80258140:
/* 80258140 00253DA0  7F E3 FB 78 */	mr r3, r31
/* 80258144 00253DA4  48 00 00 E1 */	bl func_80258224
/* 80258148 00253DA8  38 00 00 00 */	li r0, 0
/* 8025814C 00253DAC  98 1F 00 75 */	stb r0, 0x75(r31)
/* 80258150 00253DB0  B0 1F 00 76 */	sth r0, 0x76(r31)
lbl_80258154:
/* 80258154 00253DB4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80258158 00253DB8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025815C 00253DBC  7C 08 03 A6 */	mtlr r0
/* 80258160 00253DC0  38 21 00 10 */	addi r1, r1, 0x10
/* 80258164 00253DC4  4E 80 00 20 */	blr

.global func_80258168
func_80258168:
/* 80258168 00253DC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025816C 00253DCC  7C 08 02 A6 */	mflr r0
/* 80258170 00253DD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80258174 00253DD4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80258178 00253DD8  93 C1 00 08 */	stw r30, 8(r1)
/* 8025817C 00253DDC  7C 7E 1B 78 */	mr r30, r3
/* 80258180 00253DE0  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80258184 00253DE4  2C 00 00 00 */	cmpwi r0, 0
/* 80258188 00253DE8  41 82 00 1C */	beq lbl_802581A4
/* 8025818C 00253DEC  88 03 00 69 */	lbz r0, 0x69(r3)
/* 80258190 00253DF0  2C 00 00 00 */	cmpwi r0, 0
/* 80258194 00253DF4  41 82 00 10 */	beq lbl_802581A4
/* 80258198 00253DF8  80 A3 00 C8 */	lwz r5, 0xc8(r3)
/* 8025819C 00253DFC  2C 05 00 00 */	cmpwi r5, 0
/* 802581A0 00253E00  40 82 00 0C */	bne lbl_802581AC
lbl_802581A4:
/* 802581A4 00253E04  38 60 FF FF */	li r3, -1
/* 802581A8 00253E08  48 00 00 5C */	b lbl_80258204
lbl_802581AC:
/* 802581AC 00253E0C  80 9E 00 48 */	lwz r4, 0x48(r30)
/* 802581B0 00253E10  80 1E 00 4C */	lwz r0, 0x4c(r30)
/* 802581B4 00253E14  54 86 04 3E */	clrlwi r6, r4, 0x10
/* 802581B8 00253E18  80 65 00 00 */	lwz r3, 0(r5)
/* 802581BC 00253E1C  80 85 00 04 */	lwz r4, 4(r5)
/* 802581C0 00253E20  54 07 04 3E */	clrlwi r7, r0, 0x10
/* 802581C4 00253E24  80 A5 00 08 */	lwz r5, 8(r5)
/* 802581C8 00253E28  89 1E 00 74 */	lbz r8, 0x74(r30)
/* 802581CC 00253E2C  48 00 22 69 */	bl func_8025A434
/* 802581D0 00253E30  80 7E 00 C8 */	lwz r3, 0xc8(r30)
/* 802581D4 00253E34  7F C4 F3 78 */	mr r4, r30
/* 802581D8 00253E38  80 1E 00 90 */	lwz r0, 0x90(r30)
/* 802581DC 00253E3C  80 63 00 0C */	lwz r3, 0xc(r3)
/* 802581E0 00253E40  80 BE 00 18 */	lwz r5, 0x18(r30)
/* 802581E4 00253E44  7C C3 02 14 */	add r6, r3, r0
/* 802581E8 00253E48  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 802581EC 00253E4C  7C 06 2B 96 */	divwu r0, r6, r5
/* 802581F0 00253E50  7C 00 29 D6 */	mullw r0, r0, r5
/* 802581F4 00253E54  7F E0 30 50 */	subf r31, r0, r6
/* 802581F8 00253E58  4B FE 37 51 */	bl func_8023B948
/* 802581FC 00253E5C  90 7E 01 F8 */	stw r3, 0x1f8(r30)
/* 80258200 00253E60  7F E3 FB 78 */	mr r3, r31
lbl_80258204:
/* 80258204 00253E64  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80258208 00253E68  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025820C 00253E6C  83 C1 00 08 */	lwz r30, 8(r1)
/* 80258210 00253E70  7C 08 03 A6 */	mtlr r0
/* 80258214 00253E74  38 21 00 10 */	addi r1, r1, 0x10
/* 80258218 00253E78  4E 80 00 20 */	blr

.global func_8025821C
func_8025821C:
/* 8025821C 00253E7C  88 63 00 69 */	lbz r3, 0x69(r3)
/* 80258220 00253E80  4E 80 00 20 */	blr

.global func_80258224
func_80258224:
/* 80258224 00253E84  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80258228 00253E88  7C 08 02 A6 */	mflr r0
/* 8025822C 00253E8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80258230 00253E90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80258234 00253E94  7C 7F 1B 78 */	mr r31, r3
/* 80258238 00253E98  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8025823C 00253E9C  80 9F 01 F8 */	lwz r4, 0x1f8(r31)
/* 80258240 00253EA0  4B FE 36 4D */	bl func_8023B88C
/* 80258244 00253EA4  38 00 00 00 */	li r0, 0
/* 80258248 00253EA8  90 1F 01 F8 */	stw r0, 0x1f8(r31)
lbl_8025824C:
/* 8025824C 00253EAC  7F E3 FB 78 */	mr r3, r31
/* 80258250 00253EB0  4B FF EF 51 */	bl func_802571A0
/* 80258254 00253EB4  2C 03 00 00 */	cmpwi r3, 0
/* 80258258 00253EB8  7C 64 1B 78 */	mr r4, r3
/* 8025825C 00253EBC  41 82 00 10 */	beq lbl_8025826C
/* 80258260 00253EC0  7F E3 FB 78 */	mr r3, r31
/* 80258264 00253EC4  48 00 33 A9 */	bl func_8025B60C
/* 80258268 00253EC8  4B FF FF E4 */	b lbl_8025824C
lbl_8025826C:
/* 8025826C 00253ECC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80258270 00253ED0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80258274 00253ED4  7C 08 03 A6 */	mtlr r0
/* 80258278 00253ED8  38 21 00 10 */	addi r1, r1, 0x10
/* 8025827C 00253EDC  4E 80 00 20 */	blr

.global func_80258280
func_80258280:
/* 80258280 00253EE0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80258284 00253EE4  7C 08 02 A6 */	mflr r0
/* 80258288 00253EE8  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 8025828C 00253EEC  90 01 00 34 */	stw r0, 0x34(r1)
/* 80258290 00253EF0  3C 00 43 30 */	lis r0, 0x4330
/* 80258294 00253EF4  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 80258298 00253EF8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8025829C 00253EFC  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 802582A0 00253F00  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802582A4 00253F04  7C 7E 1B 78 */	mr r30, r3
/* 802582A8 00253F08  80 83 00 58 */	lwz r4, 0x58(r3)
/* 802582AC 00253F0C  90 01 00 20 */	stw r0, 0x20(r1)
/* 802582B0 00253F10  1C 04 00 28 */	mulli r0, r4, 0x28
/* 802582B4 00253F14  90 01 00 24 */	stw r0, 0x24(r1)
/* 802582B8 00253F18  C8 41 00 20 */	lfd f2, 0x20(r1)
/* 802582BC 00253F1C  EC 42 18 28 */	fsubs f2, f2, f3
/* 802582C0 00253F20  EC 22 08 24 */	fdivs f1, f2, f1
/* 802582C4 00253F24  EC 20 08 2A */	fadds f1, f0, f1
/* 802582C8 00253F28  4B F6 ED 39 */	bl __cvt_fp2unsigned
/* 802582CC 00253F2C  38 03 00 1F */	addi r0, r3, 0x1f
/* 802582D0 00253F30  38 60 00 1F */	li r3, 0x1f
/* 802582D4 00253F34  54 1F 08 32 */	rlwinm r31, r0, 1, 0, 0x19
/* 802582D8 00253F38  38 80 00 00 */	li r4, 0
/* 802582DC 00253F3C  38 A0 00 00 */	li r5, 0
/* 802582E0 00253F40  48 03 70 51 */	bl AXAcquireVoice
/* 802582E4 00253F44  2C 03 00 00 */	cmpwi r3, 0
/* 802582E8 00253F48  90 7E 01 A0 */	stw r3, 0x1a0(r30)
/* 802582EC 00253F4C  40 82 00 0C */	bne lbl_802582F8
/* 802582F0 00253F50  38 60 00 00 */	li r3, 0
/* 802582F4 00253F54  48 00 02 B8 */	b lbl_802585AC
lbl_802582F8:
/* 802582F8 00253F58  80 1E 00 54 */	lwz r0, 0x54(r30)
/* 802582FC 00253F5C  28 00 00 02 */	cmplwi r0, 2
/* 80258300 00253F60  40 82 00 30 */	bne lbl_80258330
/* 80258304 00253F64  38 00 00 00 */	li r0, 0
/* 80258308 00253F68  38 80 00 00 */	li r4, 0
/* 8025830C 00253F6C  90 01 00 08 */	stw r0, 8(r1)
/* 80258310 00253F70  38 A0 00 00 */	li r5, 0
/* 80258314 00253F74  38 C0 FC 78 */	li r6, -904
/* 80258318 00253F78  38 E0 FC 78 */	li r7, -904
/* 8025831C 00253F7C  39 00 FC 78 */	li r8, -904
/* 80258320 00253F80  39 20 00 00 */	li r9, 0
/* 80258324 00253F84  39 40 00 7F */	li r10, 0x7f
/* 80258328 00253F88  48 03 F8 8D */	bl MIXInitChannel
/* 8025832C 00253F8C  48 00 00 2C */	b lbl_80258358
lbl_80258330:
/* 80258330 00253F90  38 00 00 00 */	li r0, 0
/* 80258334 00253F94  38 80 00 00 */	li r4, 0
/* 80258338 00253F98  90 01 00 08 */	stw r0, 8(r1)
/* 8025833C 00253F9C  38 A0 00 00 */	li r5, 0
/* 80258340 00253FA0  38 C0 FC 78 */	li r6, -904
/* 80258344 00253FA4  38 E0 FC 78 */	li r7, -904
/* 80258348 00253FA8  39 00 FC 78 */	li r8, -904
/* 8025834C 00253FAC  39 20 00 40 */	li r9, 0x40
/* 80258350 00253FB0  39 40 00 7F */	li r10, 0x7f
/* 80258354 00253FB4  48 03 F8 61 */	bl MIXInitChannel
lbl_80258358:
/* 80258358 00253FB8  80 7E 01 A8 */	lwz r3, 0x1a8(r30)
/* 8025835C 00253FBC  38 00 00 01 */	li r0, 1
/* 80258360 00253FC0  38 A0 00 0A */	li r5, 0xa
/* 80258364 00253FC4  38 81 00 10 */	addi r4, r1, 0x10
/* 80258368 00253FC8  3C E3 80 00 */	addis r7, r3, 0x8000
/* 8025836C 00253FCC  B0 01 00 10 */	sth r0, 0x10(r1)
/* 80258370 00253FD0  7C 07 FA 14 */	add r0, r7, r31
/* 80258374 00253FD4  54 06 F8 7E */	srwi r6, r0, 1
/* 80258378 00253FD8  54 E3 7C 7E */	srwi r3, r7, 0x11
/* 8025837C 00253FDC  39 06 FF FF */	addi r8, r6, -1
/* 80258380 00253FE0  B0 A1 00 12 */	sth r5, 0x12(r1)
/* 80258384 00253FE4  54 E6 FC 3E */	rlwinm r6, r7, 0x1f, 0x10, 0x1f
/* 80258388 00253FE8  55 00 84 3E */	srwi r0, r8, 0x10
/* 8025838C 00253FEC  B0 61 00 14 */	sth r3, 0x14(r1)
/* 80258390 00253FF0  B0 C1 00 16 */	sth r6, 0x16(r1)
/* 80258394 00253FF4  B0 01 00 18 */	sth r0, 0x18(r1)
/* 80258398 00253FF8  B1 01 00 1A */	sth r8, 0x1a(r1)
/* 8025839C 00253FFC  B0 61 00 1C */	sth r3, 0x1c(r1)
/* 802583A0 00254000  B0 C1 00 1E */	sth r6, 0x1e(r1)
/* 802583A4 00254004  80 7E 01 A0 */	lwz r3, 0x1a0(r30)
/* 802583A8 00254008  48 03 9C ED */	bl AXSetVoiceAddr
/* 802583AC 0025400C  80 1E 00 58 */	lwz r0, 0x58(r30)
/* 802583B0 00254010  28 00 7D 00 */	cmplwi r0, 0x7d00
/* 802583B4 00254014  40 82 00 14 */	bne lbl_802583C8
/* 802583B8 00254018  80 7E 01 A0 */	lwz r3, 0x1a0(r30)
/* 802583BC 0025401C  38 80 00 00 */	li r4, 0
/* 802583C0 00254020  48 03 9B A5 */	bl AXSetVoiceSrcType
/* 802583C4 00254024  48 00 00 40 */	b lbl_80258404
lbl_802583C8:
/* 802583C8 00254028  80 7E 01 A0 */	lwz r3, 0x1a0(r30)
/* 802583CC 0025402C  38 80 00 03 */	li r4, 3
/* 802583D0 00254030  48 03 9B 95 */	bl AXSetVoiceSrcType
/* 802583D4 00254034  80 7E 00 58 */	lwz r3, 0x58(r30)
/* 802583D8 00254038  3C 00 43 30 */	lis r0, 0x4330
/* 802583DC 0025403C  90 01 00 20 */	stw r0, 0x20(r1)
/* 802583E0 00254040  C8 42 9F 80 */	lfd f2, lbl_80642580-_SDA2_BASE_(r2)
/* 802583E4 00254044  90 61 00 24 */	stw r3, 0x24(r1)
/* 802583E8 00254048  C8 02 9F 88 */	lfd f0, lbl_80642588-_SDA2_BASE_(r2)
/* 802583EC 0025404C  C8 21 00 20 */	lfd f1, 0x20(r1)
/* 802583F0 00254050  80 7E 01 A0 */	lwz r3, 0x1a0(r30)
/* 802583F4 00254054  FC 21 10 28 */	fsub f1, f1, f2
/* 802583F8 00254058  FC 21 00 24 */	fdiv f1, f1, f0
/* 802583FC 0025405C  FC 20 08 18 */	frsp f1, f1
/* 80258400 00254060  48 03 9D E1 */	bl AXSetVoiceSrcRatio
lbl_80258404:
/* 80258404 00254064  80 1E 00 54 */	lwz r0, 0x54(r30)
/* 80258408 00254068  28 00 00 02 */	cmplwi r0, 2
/* 8025840C 0025406C  40 82 01 14 */	bne lbl_80258520
/* 80258410 00254070  38 60 00 1F */	li r3, 0x1f
/* 80258414 00254074  38 80 00 00 */	li r4, 0
/* 80258418 00254078  38 A0 00 00 */	li r5, 0
/* 8025841C 0025407C  48 03 6F 15 */	bl AXAcquireVoice
/* 80258420 00254080  2C 03 00 00 */	cmpwi r3, 0
/* 80258424 00254084  90 7E 01 A4 */	stw r3, 0x1a4(r30)
/* 80258428 00254088  40 82 00 24 */	bne lbl_8025844C
/* 8025842C 0025408C  80 7E 01 A0 */	lwz r3, 0x1a0(r30)
/* 80258430 00254090  48 04 0E 45 */	bl MIXReleaseChannel
/* 80258434 00254094  80 7E 01 A0 */	lwz r3, 0x1a0(r30)
/* 80258438 00254098  48 03 6E 7D */	bl AXFreeVoice
/* 8025843C 0025409C  38 00 00 00 */	li r0, 0
/* 80258440 002540A0  38 60 00 00 */	li r3, 0
/* 80258444 002540A4  90 1E 01 A0 */	stw r0, 0x1a0(r30)
/* 80258448 002540A8  48 00 01 64 */	b lbl_802585AC
lbl_8025844C:
/* 8025844C 002540AC  38 00 00 00 */	li r0, 0
/* 80258450 002540B0  38 80 00 00 */	li r4, 0
/* 80258454 002540B4  90 01 00 08 */	stw r0, 8(r1)
/* 80258458 002540B8  38 A0 00 00 */	li r5, 0
/* 8025845C 002540BC  38 C0 FC 78 */	li r6, -904
/* 80258460 002540C0  38 E0 FC 78 */	li r7, -904
/* 80258464 002540C4  39 00 FC 78 */	li r8, -904
/* 80258468 002540C8  39 20 00 7F */	li r9, 0x7f
/* 8025846C 002540CC  39 40 00 7F */	li r10, 0x7f
/* 80258470 002540D0  48 03 F7 45 */	bl MIXInitChannel
/* 80258474 002540D4  80 7E 01 AC */	lwz r3, 0x1ac(r30)
/* 80258478 002540D8  38 00 00 01 */	li r0, 1
/* 8025847C 002540DC  38 A0 00 0A */	li r5, 0xa
/* 80258480 002540E0  38 81 00 10 */	addi r4, r1, 0x10
/* 80258484 002540E4  3C E3 80 00 */	addis r7, r3, 0x8000
/* 80258488 002540E8  B0 01 00 10 */	sth r0, 0x10(r1)
/* 8025848C 002540EC  7C 07 FA 14 */	add r0, r7, r31
/* 80258490 002540F0  54 06 F8 7E */	srwi r6, r0, 1
/* 80258494 002540F4  54 E3 7C 7E */	srwi r3, r7, 0x11
/* 80258498 002540F8  39 06 FF FF */	addi r8, r6, -1
/* 8025849C 002540FC  B0 A1 00 12 */	sth r5, 0x12(r1)
/* 802584A0 00254100  54 E6 FC 3E */	rlwinm r6, r7, 0x1f, 0x10, 0x1f
/* 802584A4 00254104  55 00 84 3E */	srwi r0, r8, 0x10
/* 802584A8 00254108  B0 61 00 14 */	sth r3, 0x14(r1)
/* 802584AC 0025410C  B0 C1 00 16 */	sth r6, 0x16(r1)
/* 802584B0 00254110  B0 01 00 18 */	sth r0, 0x18(r1)
/* 802584B4 00254114  B1 01 00 1A */	sth r8, 0x1a(r1)
/* 802584B8 00254118  B0 61 00 1C */	sth r3, 0x1c(r1)
/* 802584BC 0025411C  B0 C1 00 1E */	sth r6, 0x1e(r1)
/* 802584C0 00254120  80 7E 01 A4 */	lwz r3, 0x1a4(r30)
/* 802584C4 00254124  48 03 9B D1 */	bl AXSetVoiceAddr
/* 802584C8 00254128  80 1E 00 58 */	lwz r0, 0x58(r30)
/* 802584CC 0025412C  28 00 7D 00 */	cmplwi r0, 0x7d00
/* 802584D0 00254130  40 82 00 14 */	bne lbl_802584E4
/* 802584D4 00254134  80 7E 01 A4 */	lwz r3, 0x1a4(r30)
/* 802584D8 00254138  38 80 00 00 */	li r4, 0
/* 802584DC 0025413C  48 03 9A 89 */	bl AXSetVoiceSrcType
/* 802584E0 00254140  48 00 00 40 */	b lbl_80258520
lbl_802584E4:
/* 802584E4 00254144  80 7E 01 A4 */	lwz r3, 0x1a4(r30)
/* 802584E8 00254148  38 80 00 03 */	li r4, 3
/* 802584EC 0025414C  48 03 9A 79 */	bl AXSetVoiceSrcType
/* 802584F0 00254150  80 7E 00 58 */	lwz r3, 0x58(r30)
/* 802584F4 00254154  3C 00 43 30 */	lis r0, 0x4330
/* 802584F8 00254158  90 01 00 20 */	stw r0, 0x20(r1)
/* 802584FC 0025415C  C8 42 9F 80 */	lfd f2, lbl_80642580-_SDA2_BASE_(r2)
/* 80258500 00254160  90 61 00 24 */	stw r3, 0x24(r1)
/* 80258504 00254164  C8 02 9F 88 */	lfd f0, lbl_80642588-_SDA2_BASE_(r2)
/* 80258508 00254168  C8 21 00 20 */	lfd f1, 0x20(r1)
/* 8025850C 0025416C  80 7E 01 A4 */	lwz r3, 0x1a4(r30)
/* 80258510 00254170  FC 21 10 28 */	fsub f1, f1, f2
/* 80258514 00254174  FC 21 00 24 */	fdiv f1, f1, f0
/* 80258518 00254178  FC 20 08 18 */	frsp f1, f1
/* 8025851C 0025417C  48 03 9C C5 */	bl AXSetVoiceSrcRatio
lbl_80258520:
/* 80258520 00254180  80 1E 00 54 */	lwz r0, 0x54(r30)
/* 80258524 00254184  38 60 00 00 */	li r3, 0
/* 80258528 00254188  90 7E 01 D8 */	stw r3, 0x1d8(r30)
/* 8025852C 0025418C  28 00 00 02 */	cmplwi r0, 2
/* 80258530 00254190  90 7E 01 DC */	stw r3, 0x1dc(r30)
/* 80258534 00254194  90 7E 01 EC */	stw r3, 0x1ec(r30)
/* 80258538 00254198  90 7E 01 E8 */	stw r3, 0x1e8(r30)
/* 8025853C 0025419C  90 7E 01 F4 */	stw r3, 0x1f4(r30)
/* 80258540 002541A0  90 7E 01 F0 */	stw r3, 0x1f0(r30)
/* 80258544 002541A4  40 82 00 34 */	bne lbl_80258578
/* 80258548 002541A8  80 9E 01 A8 */	lwz r4, 0x1a8(r30)
/* 8025854C 002541AC  7F C3 F3 78 */	mr r3, r30
/* 80258550 002541B0  80 BE 01 AC */	lwz r5, 0x1ac(r30)
/* 80258554 002541B4  57 E6 F8 7E */	srwi r6, r31, 1
/* 80258558 002541B8  48 00 07 71 */	bl func_80258CC8
/* 8025855C 002541BC  80 7E 01 A8 */	lwz r3, 0x1a8(r30)
/* 80258560 002541C0  7F E4 FB 78 */	mr r4, r31
/* 80258564 002541C4  48 01 20 F1 */	bl DCFlushRange
/* 80258568 002541C8  80 7E 01 AC */	lwz r3, 0x1ac(r30)
/* 8025856C 002541CC  7F E4 FB 78 */	mr r4, r31
/* 80258570 002541D0  48 01 20 E5 */	bl DCFlushRange
/* 80258574 002541D4  48 00 00 24 */	b lbl_80258598
lbl_80258578:
/* 80258578 002541D8  80 9E 01 A8 */	lwz r4, 0x1a8(r30)
/* 8025857C 002541DC  7F C3 F3 78 */	mr r3, r30
/* 80258580 002541E0  57 E6 F8 7E */	srwi r6, r31, 1
/* 80258584 002541E4  38 A0 00 00 */	li r5, 0
/* 80258588 002541E8  48 00 07 41 */	bl func_80258CC8
/* 8025858C 002541EC  80 7E 01 A8 */	lwz r3, 0x1a8(r30)
/* 80258590 002541F0  7F E4 FB 78 */	mr r4, r31
/* 80258594 002541F4  48 01 20 C1 */	bl DCFlushRange
lbl_80258598:
/* 80258598 002541F8  80 9E 01 A8 */	lwz r4, 0x1a8(r30)
/* 8025859C 002541FC  38 60 00 01 */	li r3, 1
/* 802585A0 00254200  3C 04 80 00 */	addis r0, r4, 0x8000
/* 802585A4 00254204  54 00 F8 7E */	srwi r0, r0, 1
/* 802585A8 00254208  90 1E 01 E0 */	stw r0, 0x1e0(r30)
lbl_802585AC:
/* 802585AC 0025420C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802585B0 00254210  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802585B4 00254214  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802585B8 00254218  7C 08 03 A6 */	mtlr r0
/* 802585BC 0025421C  38 21 00 30 */	addi r1, r1, 0x30
/* 802585C0 00254220  4E 80 00 20 */	blr

.global func_802585C4
func_802585C4:
/* 802585C4 00254224  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802585C8 00254228  7C 08 02 A6 */	mflr r0
/* 802585CC 0025422C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802585D0 00254230  39 61 00 30 */	addi r11, r1, 0x30
/* 802585D4 00254234  4B F6 EB 4D */	bl _savegpr_25
/* 802585D8 00254238  80 83 00 58 */	lwz r4, 0x58(r3)
/* 802585DC 0025423C  3C 00 43 30 */	lis r0, 0x4330
/* 802585E0 00254240  90 01 00 08 */	stw r0, 8(r1)
/* 802585E4 00254244  7C 79 1B 78 */	mr r25, r3
/* 802585E8 00254248  1C 04 00 28 */	mulli r0, r4, 0x28
/* 802585EC 0025424C  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 802585F0 00254250  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 802585F4 00254254  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 802585F8 00254258  90 01 00 0C */	stw r0, 0xc(r1)
/* 802585FC 0025425C  C8 41 00 08 */	lfd f2, 8(r1)
/* 80258600 00254260  EC 42 18 28 */	fsubs f2, f2, f3
/* 80258604 00254264  EC 22 08 24 */	fdivs f1, f2, f1
/* 80258608 00254268  EC 20 08 2A */	fadds f1, f0, f1
/* 8025860C 0025426C  4B F6 E9 F5 */	bl __cvt_fp2unsigned
/* 80258610 00254270  38 63 00 1F */	addi r3, r3, 0x1f
/* 80258614 00254274  80 B9 01 E8 */	lwz r5, 0x1e8(r25)
/* 80258618 00254278  80 19 01 F0 */	lwz r0, 0x1f0(r25)
/* 8025861C 0025427C  54 7B 00 34 */	rlwinm r27, r3, 0, 0, 0x1a
/* 80258620 00254280  80 99 01 EC */	lwz r4, 0x1ec(r25)
/* 80258624 00254284  80 79 01 F4 */	lwz r3, 0x1f4(r25)
/* 80258628 00254288  7C A0 02 78 */	xor r0, r5, r0
/* 8025862C 0025428C  7C 83 1A 78 */	xor r3, r4, r3
/* 80258630 00254290  7C 60 03 79 */	or. r0, r3, r0
/* 80258634 00254294  40 82 00 4C */	bne lbl_80258680
/* 80258638 00254298  80 19 00 54 */	lwz r0, 0x54(r25)
/* 8025863C 0025429C  38 60 00 00 */	li r3, 0
/* 80258640 002542A0  90 79 01 F4 */	stw r3, 0x1f4(r25)
/* 80258644 002542A4  28 00 00 02 */	cmplwi r0, 2
/* 80258648 002542A8  90 79 01 F0 */	stw r3, 0x1f0(r25)
/* 8025864C 002542AC  40 82 00 1C */	bne lbl_80258668
/* 80258650 002542B0  80 99 01 A8 */	lwz r4, 0x1a8(r25)
/* 80258654 002542B4  7F 23 CB 78 */	mr r3, r25
/* 80258658 002542B8  80 B9 01 AC */	lwz r5, 0x1ac(r25)
/* 8025865C 002542BC  7F 66 DB 78 */	mr r6, r27
/* 80258660 002542C0  48 00 06 69 */	bl func_80258CC8
/* 80258664 002542C4  48 00 02 D0 */	b lbl_80258934
lbl_80258668:
/* 80258668 002542C8  80 99 01 A8 */	lwz r4, 0x1a8(r25)
/* 8025866C 002542CC  7F 23 CB 78 */	mr r3, r25
/* 80258670 002542D0  7F 66 DB 78 */	mr r6, r27
/* 80258674 002542D4  38 A0 00 00 */	li r5, 0
/* 80258678 002542D8  48 00 06 51 */	bl func_80258CC8
/* 8025867C 002542DC  48 00 02 B8 */	b lbl_80258934
lbl_80258680:
/* 80258680 002542E0  7C A3 2B 78 */	mr r3, r5
/* 80258684 002542E4  7F 66 DB 78 */	mr r6, r27
/* 80258688 002542E8  38 A0 00 00 */	li r5, 0
/* 8025868C 002542EC  4B F6 ED 25 */	bl __mod2u
/* 80258690 002542F0  7C 9D 23 78 */	mr r29, r4
/* 80258694 002542F4  80 79 01 F0 */	lwz r3, 0x1f0(r25)
/* 80258698 002542F8  80 99 01 F4 */	lwz r4, 0x1f4(r25)
/* 8025869C 002542FC  7F 66 DB 78 */	mr r6, r27
/* 802586A0 00254300  38 A0 00 00 */	li r5, 0
/* 802586A4 00254304  4B F6 ED 0D */	bl __mod2u
/* 802586A8 00254308  2C 04 00 00 */	cmpwi r4, 0
/* 802586AC 0025430C  7C 9C 23 78 */	mr r28, r4
/* 802586B0 00254310  40 82 00 08 */	bne lbl_802586B8
/* 802586B4 00254314  7F 7C DB 78 */	mr r28, r27
lbl_802586B8:
/* 802586B8 00254318  7C 1D E0 40 */	cmplw r29, r28
/* 802586BC 0025431C  40 80 00 F0 */	bge lbl_802587AC
/* 802586C0 00254320  7C 1D E0 50 */	subf r0, r29, r28
/* 802586C4 00254324  80 79 01 A8 */	lwz r3, 0x1a8(r25)
/* 802586C8 00254328  57 A4 08 3C */	slwi r4, r29, 1
/* 802586CC 0025432C  54 1E 08 3C */	slwi r30, r0, 1
/* 802586D0 00254330  7F C5 F3 78 */	mr r5, r30
/* 802586D4 00254334  7C 83 22 14 */	add r4, r3, r4
/* 802586D8 00254338  4B DA B9 29 */	bl memcpy
/* 802586DC 0025433C  80 19 00 54 */	lwz r0, 0x54(r25)
/* 802586E0 00254340  28 00 00 02 */	cmplwi r0, 2
/* 802586E4 00254344  40 82 00 18 */	bne lbl_802586FC
/* 802586E8 00254348  80 79 01 AC */	lwz r3, 0x1ac(r25)
/* 802586EC 0025434C  57 A0 08 3C */	slwi r0, r29, 1
/* 802586F0 00254350  7F C5 F3 78 */	mr r5, r30
/* 802586F4 00254354  7C 83 02 14 */	add r4, r3, r0
/* 802586F8 00254358  4B DA B9 09 */	bl memcpy
lbl_802586FC:
/* 802586FC 0025435C  83 59 01 D8 */	lwz r26, 0x1d8(r25)
/* 80258700 00254360  3B 80 00 00 */	li r28, 0
/* 80258704 00254364  48 00 00 48 */	b lbl_8025874C
lbl_80258708:
/* 80258708 00254368  57 40 18 38 */	slwi r0, r26, 3
/* 8025870C 0025436C  7F 66 DB 78 */	mr r6, r27
/* 80258710 00254370  7C 99 02 14 */	add r4, r25, r0
/* 80258714 00254374  38 A0 00 00 */	li r5, 0
/* 80258718 00254378  80 64 01 B0 */	lwz r3, 0x1b0(r4)
/* 8025871C 0025437C  80 84 01 B4 */	lwz r4, 0x1b4(r4)
/* 80258720 00254380  4B F6 EC 91 */	bl __mod2u
/* 80258724 00254384  57 40 18 38 */	slwi r0, r26, 3
/* 80258728 00254388  7C BD 20 10 */	subfc r5, r29, r4
/* 8025872C 0025438C  7C 99 02 14 */	add r4, r25, r0
/* 80258730 00254390  3B 5A 00 01 */	addi r26, r26, 1
/* 80258734 00254394  90 A4 01 B4 */	stw r5, 0x1b4(r4)
/* 80258738 00254398  7C 1C 19 10 */	subfe r0, r28, r3
/* 8025873C 0025439C  2C 1A 00 05 */	cmpwi r26, 5
/* 80258740 002543A0  90 04 01 B0 */	stw r0, 0x1b0(r4)
/* 80258744 002543A4  41 80 00 08 */	blt lbl_8025874C
/* 80258748 002543A8  3B 40 00 00 */	li r26, 0
lbl_8025874C:
/* 8025874C 002543AC  80 19 01 DC */	lwz r0, 0x1dc(r25)
/* 80258750 002543B0  7C 1A 00 00 */	cmpw r26, r0
/* 80258754 002543B4  40 82 FF B4 */	bne lbl_80258708
/* 80258758 002543B8  57 C3 F8 7E */	srwi r3, r30, 1
/* 8025875C 002543BC  80 19 00 54 */	lwz r0, 0x54(r25)
/* 80258760 002543C0  7C C3 D8 50 */	subf r6, r3, r27
/* 80258764 002543C4  57 C5 00 3C */	rlwinm r5, r30, 0, 0, 0x1e
/* 80258768 002543C8  38 60 00 00 */	li r3, 0
/* 8025876C 002543CC  28 00 00 02 */	cmplwi r0, 2
/* 80258770 002543D0  7C 86 D8 50 */	subf r4, r6, r27
/* 80258774 002543D4  80 19 01 A8 */	lwz r0, 0x1a8(r25)
/* 80258778 002543D8  90 99 01 F4 */	stw r4, 0x1f4(r25)
/* 8025877C 002543DC  7C 80 2A 14 */	add r4, r0, r5
/* 80258780 002543E0  90 79 01 F0 */	stw r3, 0x1f0(r25)
/* 80258784 002543E4  40 82 00 18 */	bne lbl_8025879C
/* 80258788 002543E8  80 19 01 AC */	lwz r0, 0x1ac(r25)
/* 8025878C 002543EC  7F 23 CB 78 */	mr r3, r25
/* 80258790 002543F0  7C A0 2A 14 */	add r5, r0, r5
/* 80258794 002543F4  48 00 05 35 */	bl func_80258CC8
/* 80258798 002543F8  48 00 01 9C */	b lbl_80258934
lbl_8025879C:
/* 8025879C 002543FC  7F 23 CB 78 */	mr r3, r25
/* 802587A0 00254400  38 A0 00 00 */	li r5, 0
/* 802587A4 00254404  48 00 05 25 */	bl func_80258CC8
/* 802587A8 00254408  48 00 01 8C */	b lbl_80258934
lbl_802587AC:
/* 802587AC 0025440C  3F 40 80 50 */	lis r26, lbl_804FDC20@ha
/* 802587B0 00254410  80 99 01 A8 */	lwz r4, 0x1a8(r25)
/* 802587B4 00254414  38 7A DC 20 */	addi r3, r26, lbl_804FDC20@l
/* 802587B8 00254418  57 65 F0 BE */	srwi r5, r27, 2
/* 802587BC 0025441C  4B DA B8 45 */	bl memcpy
/* 802587C0 00254420  7C 1D D8 50 */	subf r0, r29, r27
/* 802587C4 00254424  80 79 01 A8 */	lwz r3, 0x1a8(r25)
/* 802587C8 00254428  57 A4 08 3C */	slwi r4, r29, 1
/* 802587CC 0025442C  54 1E 08 3C */	slwi r30, r0, 1
/* 802587D0 00254430  7F C5 F3 78 */	mr r5, r30
/* 802587D4 00254434  7C 83 22 14 */	add r4, r3, r4
/* 802587D8 00254438  4B DA B8 29 */	bl memcpy
/* 802587DC 0025443C  80 79 01 A8 */	lwz r3, 0x1a8(r25)
/* 802587E0 00254440  57 C0 00 3C */	rlwinm r0, r30, 0, 0, 0x1e
/* 802587E4 00254444  38 9A DC 20 */	addi r4, r26, -9184
/* 802587E8 00254448  57 65 F0 BE */	srwi r5, r27, 2
/* 802587EC 0025444C  7C 63 02 14 */	add r3, r3, r0
/* 802587F0 00254450  4B DA B8 11 */	bl memcpy
/* 802587F4 00254454  80 19 00 54 */	lwz r0, 0x54(r25)
/* 802587F8 00254458  28 00 00 02 */	cmplwi r0, 2
/* 802587FC 0025445C  40 82 00 40 */	bne lbl_8025883C
/* 80258800 00254460  80 99 01 AC */	lwz r4, 0x1ac(r25)
/* 80258804 00254464  38 7A DC 20 */	addi r3, r26, -9184
/* 80258808 00254468  57 65 F0 BE */	srwi r5, r27, 2
/* 8025880C 0025446C  4B DA B7 F5 */	bl memcpy
/* 80258810 00254470  80 79 01 AC */	lwz r3, 0x1ac(r25)
/* 80258814 00254474  57 A0 08 3C */	slwi r0, r29, 1
/* 80258818 00254478  7F C5 F3 78 */	mr r5, r30
/* 8025881C 0025447C  7C 83 02 14 */	add r4, r3, r0
/* 80258820 00254480  4B DA B7 E1 */	bl memcpy
/* 80258824 00254484  80 79 01 AC */	lwz r3, 0x1ac(r25)
/* 80258828 00254488  57 C0 00 3C */	rlwinm r0, r30, 0, 0, 0x1e
/* 8025882C 0025448C  38 9A DC 20 */	addi r4, r26, -9184
/* 80258830 00254490  57 65 F0 BE */	srwi r5, r27, 2
/* 80258834 00254494  7C 63 02 14 */	add r3, r3, r0
/* 80258838 00254498  4B DA B7 C9 */	bl memcpy
lbl_8025883C:
/* 8025883C 0025449C  83 59 01 D8 */	lwz r26, 0x1d8(r25)
/* 80258840 002544A0  57 7E F8 7E */	srwi r30, r27, 1
/* 80258844 002544A4  3B E0 00 00 */	li r31, 0
/* 80258848 002544A8  48 00 00 7C */	b lbl_802588C4
lbl_8025884C:
/* 8025884C 002544AC  57 40 18 38 */	slwi r0, r26, 3
/* 80258850 002544B0  7F 66 DB 78 */	mr r6, r27
/* 80258854 002544B4  7C 99 02 14 */	add r4, r25, r0
/* 80258858 002544B8  38 A0 00 00 */	li r5, 0
/* 8025885C 002544BC  80 64 01 B0 */	lwz r3, 0x1b0(r4)
/* 80258860 002544C0  80 84 01 B4 */	lwz r4, 0x1b4(r4)
/* 80258864 002544C4  4B F6 EB 4D */	bl __mod2u
/* 80258868 002544C8  7C 04 F0 10 */	subfc r0, r4, r30
/* 8025886C 002544CC  7C 03 F9 10 */	subfe r0, r3, r31
/* 80258870 002544D0  7C 1E F1 10 */	subfe r0, r30, r30
/* 80258874 002544D4  7C 00 00 D1 */	neg. r0, r0
/* 80258878 002544D8  41 82 00 20 */	beq lbl_80258898
/* 8025887C 002544DC  57 40 18 38 */	slwi r0, r26, 3
/* 80258880 002544E0  7C BD 20 10 */	subfc r5, r29, r4
/* 80258884 002544E4  7C 99 02 14 */	add r4, r25, r0
/* 80258888 002544E8  90 A4 01 B4 */	stw r5, 0x1b4(r4)
/* 8025888C 002544EC  7C 1F 19 10 */	subfe r0, r31, r3
/* 80258890 002544F0  90 04 01 B0 */	stw r0, 0x1b0(r4)
/* 80258894 002544F4  48 00 00 20 */	b lbl_802588B4
lbl_80258898:
/* 80258898 002544F8  7C BD D8 50 */	subf r5, r29, r27
/* 8025889C 002544FC  57 40 18 38 */	slwi r0, r26, 3
/* 802588A0 00254500  7C A4 28 14 */	addc r5, r4, r5
/* 802588A4 00254504  7C 99 02 14 */	add r4, r25, r0
/* 802588A8 00254508  7C 03 01 94 */	addze r0, r3
/* 802588AC 0025450C  90 A4 01 B4 */	stw r5, 0x1b4(r4)
/* 802588B0 00254510  90 04 01 B0 */	stw r0, 0x1b0(r4)
lbl_802588B4:
/* 802588B4 00254514  3B 5A 00 01 */	addi r26, r26, 1
/* 802588B8 00254518  2C 1A 00 05 */	cmpwi r26, 5
/* 802588BC 0025451C  41 80 00 08 */	blt lbl_802588C4
/* 802588C0 00254520  3B 40 00 00 */	li r26, 0
lbl_802588C4:
/* 802588C4 00254524  80 19 01 DC */	lwz r0, 0x1dc(r25)
/* 802588C8 00254528  7C 1A 00 00 */	cmpw r26, r0
/* 802588CC 0025452C  40 82 FF 80 */	bne lbl_8025884C
/* 802588D0 00254530  80 19 00 54 */	lwz r0, 0x54(r25)
/* 802588D4 00254534  7C DC E8 50 */	subf r6, r28, r29
/* 802588D8 00254538  80 B9 01 A8 */	lwz r5, 0x1a8(r25)
/* 802588DC 0025453C  57 67 08 3C */	slwi r7, r27, 1
/* 802588E0 00254540  7C 86 D8 50 */	subf r4, r6, r27
/* 802588E4 00254544  38 60 00 00 */	li r3, 0
/* 802588E8 00254548  28 00 00 02 */	cmplwi r0, 2
/* 802588EC 0025454C  7C 05 3A 14 */	add r0, r5, r7
/* 802588F0 00254550  57 A8 08 3C */	slwi r8, r29, 1
/* 802588F4 00254554  90 99 01 F4 */	stw r4, 0x1f4(r25)
/* 802588F8 00254558  7C 08 00 50 */	subf r0, r8, r0
/* 802588FC 0025455C  57 85 08 3C */	slwi r5, r28, 1
/* 80258900 00254560  90 79 01 F0 */	stw r3, 0x1f0(r25)
/* 80258904 00254564  7C 80 2A 14 */	add r4, r0, r5
/* 80258908 00254568  40 82 00 20 */	bne lbl_80258928
/* 8025890C 0025456C  80 19 01 AC */	lwz r0, 0x1ac(r25)
/* 80258910 00254570  7F 23 CB 78 */	mr r3, r25
/* 80258914 00254574  7C 00 3A 14 */	add r0, r0, r7
/* 80258918 00254578  7C 08 00 50 */	subf r0, r8, r0
/* 8025891C 0025457C  7C A0 2A 14 */	add r5, r0, r5
/* 80258920 00254580  48 00 03 A9 */	bl func_80258CC8
/* 80258924 00254584  48 00 00 10 */	b lbl_80258934
lbl_80258928:
/* 80258928 00254588  7F 23 CB 78 */	mr r3, r25
/* 8025892C 0025458C  38 A0 00 00 */	li r5, 0
/* 80258930 00254590  48 00 03 99 */	bl func_80258CC8
lbl_80258934:
/* 80258934 00254594  80 19 00 54 */	lwz r0, 0x54(r25)
/* 80258938 00254598  38 60 00 00 */	li r3, 0
/* 8025893C 0025459C  90 79 01 EC */	stw r3, 0x1ec(r25)
/* 80258940 002545A0  28 00 00 02 */	cmplwi r0, 2
/* 80258944 002545A4  90 79 01 E8 */	stw r3, 0x1e8(r25)
/* 80258948 002545A8  40 82 00 24 */	bne lbl_8025896C
/* 8025894C 002545AC  80 79 01 AC */	lwz r3, 0x1ac(r25)
/* 80258950 002545B0  57 64 08 3C */	slwi r4, r27, 1
/* 80258954 002545B4  48 01 1D 01 */	bl DCFlushRange
/* 80258958 002545B8  80 99 01 AC */	lwz r4, 0x1ac(r25)
/* 8025895C 002545BC  80 79 01 A4 */	lwz r3, 0x1a4(r25)
/* 80258960 002545C0  3C 04 80 00 */	addis r0, r4, 0x8000
/* 80258964 002545C4  54 04 F8 7E */	srwi r4, r0, 1
/* 80258968 002545C8  48 03 98 25 */	bl AXSetVoiceCurrentAddr
lbl_8025896C:
/* 8025896C 002545CC  80 79 01 A8 */	lwz r3, 0x1a8(r25)
/* 80258970 002545D0  57 64 08 3C */	slwi r4, r27, 1
/* 80258974 002545D4  48 01 1C E1 */	bl DCFlushRange
/* 80258978 002545D8  80 99 01 A8 */	lwz r4, 0x1a8(r25)
/* 8025897C 002545DC  80 79 01 A0 */	lwz r3, 0x1a0(r25)
/* 80258980 002545E0  3C 04 80 00 */	addis r0, r4, 0x8000
/* 80258984 002545E4  54 04 F8 7E */	srwi r4, r0, 1
/* 80258988 002545E8  48 03 98 05 */	bl AXSetVoiceCurrentAddr
/* 8025898C 002545EC  80 79 01 A8 */	lwz r3, 0x1a8(r25)
/* 80258990 002545F0  39 61 00 30 */	addi r11, r1, 0x30
/* 80258994 002545F4  3C 03 80 00 */	addis r0, r3, 0x8000
/* 80258998 002545F8  54 00 F8 7E */	srwi r0, r0, 1
/* 8025899C 002545FC  90 19 01 E0 */	stw r0, 0x1e0(r25)
/* 802589A0 00254600  4B F6 E7 CD */	bl _restgpr_25
/* 802589A4 00254604  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802589A8 00254608  7C 08 03 A6 */	mtlr r0
/* 802589AC 0025460C  38 21 00 30 */	addi r1, r1, 0x30
/* 802589B0 00254610  4E 80 00 20 */	blr

.global func_802589B4
func_802589B4:
/* 802589B4 00254614  80 03 01 DC */	lwz r0, 0x1dc(r3)
/* 802589B8 00254618  54 00 18 38 */	slwi r0, r0, 3
/* 802589BC 0025461C  7C 83 02 14 */	add r4, r3, r0
/* 802589C0 00254620  90 C4 01 B4 */	stw r6, 0x1b4(r4)
/* 802589C4 00254624  90 A4 01 B0 */	stw r5, 0x1b0(r4)
/* 802589C8 00254628  80 83 01 DC */	lwz r4, 0x1dc(r3)
/* 802589CC 0025462C  38 04 00 01 */	addi r0, r4, 1
/* 802589D0 00254630  2C 00 00 05 */	cmpwi r0, 5
/* 802589D4 00254634  90 03 01 DC */	stw r0, 0x1dc(r3)
/* 802589D8 00254638  4D 80 00 20 */	bltlr
/* 802589DC 0025463C  38 00 00 00 */	li r0, 0
/* 802589E0 00254640  90 03 01 DC */	stw r0, 0x1dc(r3)
/* 802589E4 00254644  4E 80 00 20 */	blr

.global func_802589E8
func_802589E8:
/* 802589E8 00254648  38 E0 00 00 */	li r7, 0
/* 802589EC 0025464C  48 00 00 4C */	b lbl_80258A38
lbl_802589F0:
/* 802589F0 00254650  54 80 18 38 */	slwi r0, r4, 3
/* 802589F4 00254654  7C 83 02 14 */	add r4, r3, r0
/* 802589F8 00254658  80 04 01 B4 */	lwz r0, 0x1b4(r4)
/* 802589FC 0025465C  80 84 01 B0 */	lwz r4, 0x1b0(r4)
/* 80258A00 00254660  7C 00 30 10 */	subfc r0, r0, r6
/* 80258A04 00254664  7C 04 29 10 */	subfe r0, r4, r5
/* 80258A08 00254668  7C 06 31 10 */	subfe r0, r6, r6
/* 80258A0C 0025466C  7C 00 00 D1 */	neg. r0, r0
/* 80258A10 00254670  4C 82 00 20 */	bnelr
/* 80258A14 00254674  80 83 01 D8 */	lwz r4, 0x1d8(r3)
/* 80258A18 00254678  38 04 00 01 */	addi r0, r4, 1
/* 80258A1C 0025467C  2C 00 00 05 */	cmpwi r0, 5
/* 80258A20 00254680  90 03 01 D8 */	stw r0, 0x1d8(r3)
/* 80258A24 00254684  41 80 00 08 */	blt lbl_80258A2C
/* 80258A28 00254688  90 E3 01 D8 */	stw r7, 0x1d8(r3)
lbl_80258A2C:
/* 80258A2C 0025468C  80 83 00 C4 */	lwz r4, 0xc4(r3)
/* 80258A30 00254690  38 04 00 01 */	addi r0, r4, 1
/* 80258A34 00254694  90 03 00 C4 */	stw r0, 0xc4(r3)
lbl_80258A38:
/* 80258A38 00254698  80 83 01 D8 */	lwz r4, 0x1d8(r3)
/* 80258A3C 0025469C  80 03 01 DC */	lwz r0, 0x1dc(r3)
/* 80258A40 002546A0  7C 04 00 00 */	cmpw r4, r0
/* 80258A44 002546A4  40 82 FF AC */	bne lbl_802589F0
/* 80258A48 002546A8  4E 80 00 20 */	blr

.global func_80258A4C
func_80258A4C:
/* 80258A4C 002546AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80258A50 002546B0  7C 08 02 A6 */	mflr r0
/* 80258A54 002546B4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80258A58 002546B8  39 61 00 20 */	addi r11, r1, 0x20
/* 80258A5C 002546BC  4B F6 E6 CD */	bl _savegpr_27
/* 80258A60 002546C0  80 03 00 CC */	lwz r0, 0xcc(r3)
/* 80258A64 002546C4  7C 7B 1B 78 */	mr r27, r3
/* 80258A68 002546C8  7C 9C 23 78 */	mr r28, r4
/* 80258A6C 002546CC  7C BD 2B 78 */	mr r29, r5
/* 80258A70 002546D0  2C 00 00 00 */	cmpwi r0, 0
/* 80258A74 002546D4  7C DF 33 78 */	mr r31, r6
/* 80258A78 002546D8  7C FE 3B 78 */	mr r30, r7
/* 80258A7C 002546DC  40 82 00 24 */	bne lbl_80258AA0
/* 80258A80 002546E0  48 00 26 79 */	bl func_8025B0F8
/* 80258A84 002546E4  2C 03 00 00 */	cmpwi r3, 0
/* 80258A88 002546E8  90 7B 00 CC */	stw r3, 0xcc(r27)
/* 80258A8C 002546EC  40 82 00 14 */	bne lbl_80258AA0
/* 80258A90 002546F0  38 00 00 02 */	li r0, 2
/* 80258A94 002546F4  38 60 00 00 */	li r3, 0
/* 80258A98 002546F8  90 1E 00 00 */	stw r0, 0(r30)
/* 80258A9C 002546FC  48 00 02 14 */	b lbl_80258CB0
lbl_80258AA0:
/* 80258AA0 00254700  80 9B 00 CC */	lwz r4, 0xcc(r27)
/* 80258AA4 00254704  80 64 00 08 */	lwz r3, 8(r4)
/* 80258AA8 00254708  2C 03 00 00 */	cmpwi r3, 0
/* 80258AAC 0025470C  41 82 02 00 */	beq lbl_80258CAC
/* 80258AB0 00254710  7C 03 F8 40 */	cmplw r3, r31
/* 80258AB4 00254714  41 80 00 08 */	blt lbl_80258ABC
/* 80258AB8 00254718  7F E3 FB 78 */	mr r3, r31
lbl_80258ABC:
/* 80258ABC 0025471C  2C 1D 00 00 */	cmpwi r29, 0
/* 80258AC0 00254720  80 84 00 04 */	lwz r4, 4(r4)
/* 80258AC4 00254724  7C 7F 1B 78 */	mr r31, r3
/* 80258AC8 00254728  40 82 00 A8 */	bne lbl_80258B70
/* 80258ACC 0025472C  2C 03 00 00 */	cmpwi r3, 0
/* 80258AD0 00254730  38 C0 00 00 */	li r6, 0
/* 80258AD4 00254734  41 82 01 8C */	beq lbl_80258C60
/* 80258AD8 00254738  28 03 00 08 */	cmplwi r3, 8
/* 80258ADC 0025473C  38 A3 FF F8 */	addi r5, r3, -8
/* 80258AE0 00254740  40 81 00 68 */	ble lbl_80258B48
/* 80258AE4 00254744  38 05 00 07 */	addi r0, r5, 7
/* 80258AE8 00254748  54 00 E8 FE */	srwi r0, r0, 3
/* 80258AEC 0025474C  7C 09 03 A6 */	mtctr r0
/* 80258AF0 00254750  28 05 00 00 */	cmplwi r5, 0
/* 80258AF4 00254754  40 81 00 54 */	ble lbl_80258B48
lbl_80258AF8:
/* 80258AF8 00254758  A8 04 00 02 */	lha r0, 2(r4)
/* 80258AFC 0025475C  38 C6 00 08 */	addi r6, r6, 8
/* 80258B00 00254760  B0 1C 00 00 */	sth r0, 0(r28)
/* 80258B04 00254764  A8 04 00 06 */	lha r0, 6(r4)
/* 80258B08 00254768  B0 1C 00 02 */	sth r0, 2(r28)
/* 80258B0C 0025476C  A8 04 00 0A */	lha r0, 0xa(r4)
/* 80258B10 00254770  B0 1C 00 04 */	sth r0, 4(r28)
/* 80258B14 00254774  A8 04 00 0E */	lha r0, 0xe(r4)
/* 80258B18 00254778  B0 1C 00 06 */	sth r0, 6(r28)
/* 80258B1C 0025477C  A8 04 00 12 */	lha r0, 0x12(r4)
/* 80258B20 00254780  B0 1C 00 08 */	sth r0, 8(r28)
/* 80258B24 00254784  A8 04 00 16 */	lha r0, 0x16(r4)
/* 80258B28 00254788  B0 1C 00 0A */	sth r0, 0xa(r28)
/* 80258B2C 0025478C  A8 04 00 1A */	lha r0, 0x1a(r4)
/* 80258B30 00254790  B0 1C 00 0C */	sth r0, 0xc(r28)
/* 80258B34 00254794  A8 04 00 1E */	lha r0, 0x1e(r4)
/* 80258B38 00254798  38 84 00 20 */	addi r4, r4, 0x20
/* 80258B3C 0025479C  B0 1C 00 0E */	sth r0, 0xe(r28)
/* 80258B40 002547A0  3B 9C 00 10 */	addi r28, r28, 0x10
/* 80258B44 002547A4  42 00 FF B4 */	bdnz lbl_80258AF8
lbl_80258B48:
/* 80258B48 002547A8  7C 06 18 50 */	subf r0, r6, r3
/* 80258B4C 002547AC  7C 09 03 A6 */	mtctr r0
/* 80258B50 002547B0  7C 06 18 40 */	cmplw r6, r3
/* 80258B54 002547B4  40 80 01 0C */	bge lbl_80258C60
lbl_80258B58:
/* 80258B58 002547B8  A8 04 00 02 */	lha r0, 2(r4)
/* 80258B5C 002547BC  38 84 00 04 */	addi r4, r4, 4
/* 80258B60 002547C0  B0 1C 00 00 */	sth r0, 0(r28)
/* 80258B64 002547C4  3B 9C 00 02 */	addi r28, r28, 2
/* 80258B68 002547C8  42 00 FF F0 */	bdnz lbl_80258B58
/* 80258B6C 002547CC  48 00 00 F4 */	b lbl_80258C60
lbl_80258B70:
/* 80258B70 002547D0  2C 03 00 00 */	cmpwi r3, 0
/* 80258B74 002547D4  38 C0 00 00 */	li r6, 0
/* 80258B78 002547D8  41 82 00 E8 */	beq lbl_80258C60
/* 80258B7C 002547DC  28 03 00 08 */	cmplwi r3, 8
/* 80258B80 002547E0  38 A3 FF F8 */	addi r5, r3, -8
/* 80258B84 002547E4  40 81 00 AC */	ble lbl_80258C30
/* 80258B88 002547E8  38 05 00 07 */	addi r0, r5, 7
/* 80258B8C 002547EC  54 00 E8 FE */	srwi r0, r0, 3
/* 80258B90 002547F0  7C 09 03 A6 */	mtctr r0
/* 80258B94 002547F4  28 05 00 00 */	cmplwi r5, 0
/* 80258B98 002547F8  40 81 00 98 */	ble lbl_80258C30
lbl_80258B9C:
/* 80258B9C 002547FC  A8 04 00 00 */	lha r0, 0(r4)
/* 80258BA0 00254800  38 C6 00 08 */	addi r6, r6, 8
/* 80258BA4 00254804  B0 1D 00 00 */	sth r0, 0(r29)
/* 80258BA8 00254808  A8 04 00 02 */	lha r0, 2(r4)
/* 80258BAC 0025480C  B0 1C 00 00 */	sth r0, 0(r28)
/* 80258BB0 00254810  A8 04 00 04 */	lha r0, 4(r4)
/* 80258BB4 00254814  B0 1D 00 02 */	sth r0, 2(r29)
/* 80258BB8 00254818  A8 04 00 06 */	lha r0, 6(r4)
/* 80258BBC 0025481C  B0 1C 00 02 */	sth r0, 2(r28)
/* 80258BC0 00254820  A8 04 00 08 */	lha r0, 8(r4)
/* 80258BC4 00254824  B0 1D 00 04 */	sth r0, 4(r29)
/* 80258BC8 00254828  A8 04 00 0A */	lha r0, 0xa(r4)
/* 80258BCC 0025482C  B0 1C 00 04 */	sth r0, 4(r28)
/* 80258BD0 00254830  A8 04 00 0C */	lha r0, 0xc(r4)
/* 80258BD4 00254834  B0 1D 00 06 */	sth r0, 6(r29)
/* 80258BD8 00254838  A8 04 00 0E */	lha r0, 0xe(r4)
/* 80258BDC 0025483C  B0 1C 00 06 */	sth r0, 6(r28)
/* 80258BE0 00254840  A8 04 00 10 */	lha r0, 0x10(r4)
/* 80258BE4 00254844  B0 1D 00 08 */	sth r0, 8(r29)
/* 80258BE8 00254848  A8 04 00 12 */	lha r0, 0x12(r4)
/* 80258BEC 0025484C  B0 1C 00 08 */	sth r0, 8(r28)
/* 80258BF0 00254850  A8 04 00 14 */	lha r0, 0x14(r4)
/* 80258BF4 00254854  B0 1D 00 0A */	sth r0, 0xa(r29)
/* 80258BF8 00254858  A8 04 00 16 */	lha r0, 0x16(r4)
/* 80258BFC 0025485C  B0 1C 00 0A */	sth r0, 0xa(r28)
/* 80258C00 00254860  A8 04 00 18 */	lha r0, 0x18(r4)
/* 80258C04 00254864  B0 1D 00 0C */	sth r0, 0xc(r29)
/* 80258C08 00254868  A8 04 00 1A */	lha r0, 0x1a(r4)
/* 80258C0C 0025486C  B0 1C 00 0C */	sth r0, 0xc(r28)
/* 80258C10 00254870  A8 04 00 1C */	lha r0, 0x1c(r4)
/* 80258C14 00254874  B0 1D 00 0E */	sth r0, 0xe(r29)
/* 80258C18 00254878  3B BD 00 10 */	addi r29, r29, 0x10
/* 80258C1C 0025487C  A8 04 00 1E */	lha r0, 0x1e(r4)
/* 80258C20 00254880  38 84 00 20 */	addi r4, r4, 0x20
/* 80258C24 00254884  B0 1C 00 0E */	sth r0, 0xe(r28)
/* 80258C28 00254888  3B 9C 00 10 */	addi r28, r28, 0x10
/* 80258C2C 0025488C  42 00 FF 70 */	bdnz lbl_80258B9C
lbl_80258C30:
/* 80258C30 00254890  7C 06 18 50 */	subf r0, r6, r3
/* 80258C34 00254894  7C 09 03 A6 */	mtctr r0
/* 80258C38 00254898  7C 06 18 40 */	cmplw r6, r3
/* 80258C3C 0025489C  40 80 00 24 */	bge lbl_80258C60
lbl_80258C40:
/* 80258C40 002548A0  A8 04 00 00 */	lha r0, 0(r4)
/* 80258C44 002548A4  B0 1D 00 00 */	sth r0, 0(r29)
/* 80258C48 002548A8  3B BD 00 02 */	addi r29, r29, 2
/* 80258C4C 002548AC  A8 04 00 02 */	lha r0, 2(r4)
/* 80258C50 002548B0  38 84 00 04 */	addi r4, r4, 4
/* 80258C54 002548B4  B0 1C 00 00 */	sth r0, 0(r28)
/* 80258C58 002548B8  3B 9C 00 02 */	addi r28, r28, 2
/* 80258C5C 002548BC  42 00 FF E4 */	bdnz lbl_80258C40
lbl_80258C60:
/* 80258C60 002548C0  80 BB 00 CC */	lwz r5, 0xcc(r27)
/* 80258C64 002548C4  80 05 00 08 */	lwz r0, 8(r5)
/* 80258C68 002548C8  7C 03 00 50 */	subf r0, r3, r0
/* 80258C6C 002548CC  90 05 00 08 */	stw r0, 8(r5)
/* 80258C70 002548D0  80 7B 00 CC */	lwz r3, 0xcc(r27)
/* 80258C74 002548D4  90 83 00 04 */	stw r4, 4(r3)
/* 80258C78 002548D8  80 9B 00 CC */	lwz r4, 0xcc(r27)
/* 80258C7C 002548DC  80 04 00 08 */	lwz r0, 8(r4)
/* 80258C80 002548E0  2C 00 00 00 */	cmpwi r0, 0
/* 80258C84 002548E4  40 82 00 20 */	bne lbl_80258CA4
/* 80258C88 002548E8  7F 63 DB 78 */	mr r3, r27
/* 80258C8C 002548EC  48 00 24 39 */	bl func_8025B0C4
/* 80258C90 002548F0  38 60 00 00 */	li r3, 0
/* 80258C94 002548F4  38 00 00 01 */	li r0, 1
/* 80258C98 002548F8  90 7B 00 CC */	stw r3, 0xcc(r27)
/* 80258C9C 002548FC  90 1E 00 00 */	stw r0, 0(r30)
/* 80258CA0 00254900  48 00 00 0C */	b lbl_80258CAC
lbl_80258CA4:
/* 80258CA4 00254904  38 00 00 00 */	li r0, 0
/* 80258CA8 00254908  90 1E 00 00 */	stw r0, 0(r30)
lbl_80258CAC:
/* 80258CAC 0025490C  7F E3 FB 78 */	mr r3, r31
lbl_80258CB0:
/* 80258CB0 00254910  39 61 00 20 */	addi r11, r1, 0x20
/* 80258CB4 00254914  4B F6 E4 C1 */	bl _restgpr_27
/* 80258CB8 00254918  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80258CBC 0025491C  7C 08 03 A6 */	mtlr r0
/* 80258CC0 00254920  38 21 00 20 */	addi r1, r1, 0x20
/* 80258CC4 00254924  4E 80 00 20 */	blr

.global func_80258CC8
func_80258CC8:
/* 80258CC8 00254928  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80258CCC 0025492C  7C 08 02 A6 */	mflr r0
/* 80258CD0 00254930  90 01 00 34 */	stw r0, 0x34(r1)
/* 80258CD4 00254934  39 61 00 30 */	addi r11, r1, 0x30
/* 80258CD8 00254938  4B F6 E4 49 */	bl _savegpr_25
/* 80258CDC 0025493C  7C DA 33 78 */	mr r26, r6
/* 80258CE0 00254940  83 E3 01 F0 */	lwz r31, 0x1f0(r3)
/* 80258CE4 00254944  83 C3 01 F4 */	lwz r30, 0x1f4(r3)
/* 80258CE8 00254948  7C 79 1B 78 */	mr r25, r3
/* 80258CEC 0025494C  7C 9C 23 78 */	mr r28, r4
/* 80258CF0 00254950  7C BB 2B 78 */	mr r27, r5
/* 80258CF4 00254954  7F 5D D3 78 */	mr r29, r26
lbl_80258CF8:
/* 80258CF8 00254958  7F 23 CB 78 */	mr r3, r25
/* 80258CFC 0025495C  7F 84 E3 78 */	mr r4, r28
/* 80258D00 00254960  7F 65 DB 78 */	mr r5, r27
/* 80258D04 00254964  7F A6 EB 78 */	mr r6, r29
/* 80258D08 00254968  38 E1 00 08 */	addi r7, r1, 8
/* 80258D0C 0025496C  4B FF FD 41 */	bl func_80258A4C
/* 80258D10 00254970  80 01 00 08 */	lwz r0, 8(r1)
/* 80258D14 00254974  7F DE 18 14 */	addc r30, r30, r3
/* 80258D18 00254978  7F FF 01 94 */	addze r31, r31
/* 80258D1C 0025497C  2C 00 00 00 */	cmpwi r0, 0
/* 80258D20 00254980  41 82 00 64 */	beq lbl_80258D84
/* 80258D24 00254984  2C 00 00 01 */	cmpwi r0, 1
/* 80258D28 00254988  40 82 00 30 */	bne lbl_80258D58
/* 80258D2C 0025498C  2C 1B 00 00 */	cmpwi r27, 0
/* 80258D30 00254990  54 60 08 3C */	slwi r0, r3, 1
/* 80258D34 00254994  7F A3 E8 50 */	subf r29, r3, r29
/* 80258D38 00254998  7F 9C 02 14 */	add r28, r28, r0
/* 80258D3C 0025499C  41 82 00 08 */	beq lbl_80258D44
/* 80258D40 002549A0  7F 7B 02 14 */	add r27, r27, r0
lbl_80258D44:
/* 80258D44 002549A4  7F 23 CB 78 */	mr r3, r25
/* 80258D48 002549A8  7F C6 F3 78 */	mr r6, r30
/* 80258D4C 002549AC  7F E5 FB 78 */	mr r5, r31
/* 80258D50 002549B0  4B FF FC 65 */	bl func_802589B4
/* 80258D54 002549B4  4B FF FF A4 */	b lbl_80258CF8
lbl_80258D58:
/* 80258D58 002549B8  57 BF 08 3C */	slwi r31, r29, 1
/* 80258D5C 002549BC  7F 83 E3 78 */	mr r3, r28
/* 80258D60 002549C0  7F E5 FB 78 */	mr r5, r31
/* 80258D64 002549C4  38 80 00 00 */	li r4, 0
/* 80258D68 002549C8  4B DA B3 9D */	bl memset
/* 80258D6C 002549CC  2C 1B 00 00 */	cmpwi r27, 0
/* 80258D70 002549D0  41 82 00 14 */	beq lbl_80258D84
/* 80258D74 002549D4  7F 63 DB 78 */	mr r3, r27
/* 80258D78 002549D8  7F E5 FB 78 */	mr r5, r31
/* 80258D7C 002549DC  38 80 00 00 */	li r4, 0
/* 80258D80 002549E0  4B DA B3 85 */	bl memset
lbl_80258D84:
/* 80258D84 002549E4  80 79 01 F4 */	lwz r3, 0x1f4(r25)
/* 80258D88 002549E8  39 61 00 30 */	addi r11, r1, 0x30
/* 80258D8C 002549EC  80 19 01 F0 */	lwz r0, 0x1f0(r25)
/* 80258D90 002549F0  7C 63 D0 14 */	addc r3, r3, r26
/* 80258D94 002549F4  7C 00 01 94 */	addze r0, r0
/* 80258D98 002549F8  90 79 01 F4 */	stw r3, 0x1f4(r25)
/* 80258D9C 002549FC  90 19 01 F0 */	stw r0, 0x1f0(r25)
/* 80258DA0 00254A00  4B F6 E3 CD */	bl _restgpr_25
/* 80258DA4 00254A04  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80258DA8 00254A08  7C 08 03 A6 */	mtlr r0
/* 80258DAC 00254A0C  38 21 00 30 */	addi r1, r1, 0x30
/* 80258DB0 00254A10  4E 80 00 20 */	blr

.global func_80258DB4
func_80258DB4:
/* 80258DB4 00254A14  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80258DB8 00254A18  7C 08 02 A6 */	mflr r0
/* 80258DBC 00254A1C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80258DC0 00254A20  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80258DC4 00254A24  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80258DC8 00254A28  7C 7E 1B 78 */	mr r30, r3
/* 80258DCC 00254A2C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80258DD0 00254A30  83 E3 01 A0 */	lwz r31, 0x1a0(r3)
/* 80258DD4 00254A34  2C 1F 00 00 */	cmpwi r31, 0
/* 80258DD8 00254A38  40 82 00 10 */	bne lbl_80258DE8
/* 80258DDC 00254A3C  80 03 01 A4 */	lwz r0, 0x1a4(r3)
/* 80258DE0 00254A40  2C 00 00 00 */	cmpwi r0, 0
/* 80258DE4 00254A44  41 82 00 F8 */	beq lbl_80258EDC
lbl_80258DE8:
/* 80258DE8 00254A48  88 03 00 6A */	lbz r0, 0x6a(r3)
/* 80258DEC 00254A4C  28 00 00 08 */	cmplwi r0, 8
/* 80258DF0 00254A50  40 82 00 EC */	bne lbl_80258EDC
/* 80258DF4 00254A54  80 63 00 58 */	lwz r3, 0x58(r3)
/* 80258DF8 00254A58  3C 00 43 30 */	lis r0, 0x4330
/* 80258DFC 00254A5C  90 01 00 08 */	stw r0, 8(r1)
/* 80258E00 00254A60  1C 03 00 28 */	mulli r0, r3, 0x28
/* 80258E04 00254A64  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 80258E08 00254A68  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 80258E0C 00254A6C  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 80258E10 00254A70  90 01 00 0C */	stw r0, 0xc(r1)
/* 80258E14 00254A74  C8 41 00 08 */	lfd f2, 8(r1)
/* 80258E18 00254A78  EC 42 18 28 */	fsubs f2, f2, f3
/* 80258E1C 00254A7C  EC 22 08 24 */	fdivs f1, f2, f1
/* 80258E20 00254A80  EC 20 08 2A */	fadds f1, f0, f1
/* 80258E24 00254A84  4B F6 E1 DD */	bl __cvt_fp2unsigned
/* 80258E28 00254A88  A0 1F 00 A2 */	lhz r0, 0xa2(r31)
/* 80258E2C 00254A8C  38 63 00 1F */	addi r3, r3, 0x1f
/* 80258E30 00254A90  A3 FF 00 A4 */	lhz r31, 0xa4(r31)
/* 80258E34 00254A94  54 7D 00 34 */	rlwinm r29, r3, 0, 0, 0x1a
/* 80258E38 00254A98  80 9E 01 E0 */	lwz r4, 0x1e0(r30)
/* 80258E3C 00254A9C  50 1F 80 1E */	rlwimi r31, r0, 0x10, 0, 0xf
/* 80258E40 00254AA0  7C 1F 20 40 */	cmplw r31, r4
/* 80258E44 00254AA4  41 80 00 0C */	blt lbl_80258E50
/* 80258E48 00254AA8  7C A4 F8 50 */	subf r5, r4, r31
/* 80258E4C 00254AAC  48 00 00 20 */	b lbl_80258E6C
lbl_80258E50:
/* 80258E50 00254AB0  80 7E 01 A8 */	lwz r3, 0x1a8(r30)
/* 80258E54 00254AB4  3C 03 80 00 */	addis r0, r3, 0x8000
/* 80258E58 00254AB8  54 03 F8 7E */	srwi r3, r0, 1
/* 80258E5C 00254ABC  7C 03 EA 14 */	add r0, r3, r29
/* 80258E60 00254AC0  7C A4 00 50 */	subf r5, r4, r0
/* 80258E64 00254AC4  7C 03 F8 50 */	subf r0, r3, r31
/* 80258E68 00254AC8  7C A5 02 14 */	add r5, r5, r0
lbl_80258E6C:
/* 80258E6C 00254ACC  80 9E 01 EC */	lwz r4, 0x1ec(r30)
/* 80258E70 00254AD0  7F C3 F3 78 */	mr r3, r30
/* 80258E74 00254AD4  80 1E 01 E8 */	lwz r0, 0x1e8(r30)
/* 80258E78 00254AD8  7C C4 28 14 */	addc r6, r4, r5
/* 80258E7C 00254ADC  7C A0 01 94 */	addze r5, r0
/* 80258E80 00254AE0  90 DE 01 EC */	stw r6, 0x1ec(r30)
/* 80258E84 00254AE4  90 BE 01 E8 */	stw r5, 0x1e8(r30)
/* 80258E88 00254AE8  4B FF FB 61 */	bl func_802589E8
/* 80258E8C 00254AEC  80 9E 01 A8 */	lwz r4, 0x1a8(r30)
/* 80258E90 00254AF0  57 A3 F8 7E */	srwi r3, r29, 1
/* 80258E94 00254AF4  80 1E 01 E0 */	lwz r0, 0x1e0(r30)
/* 80258E98 00254AF8  3C 84 80 00 */	addis r4, r4, 0x8000
/* 80258E9C 00254AFC  54 84 F8 7E */	srwi r4, r4, 1
/* 80258EA0 00254B00  7C 1F 00 40 */	cmplw r31, r0
/* 80258EA4 00254B04  7F A4 1A 14 */	add r29, r4, r3
/* 80258EA8 00254B08  40 80 00 10 */	bge lbl_80258EB8
/* 80258EAC 00254B0C  7F C3 F3 78 */	mr r3, r30
/* 80258EB0 00254B10  38 80 00 01 */	li r4, 1
/* 80258EB4 00254B14  48 00 00 45 */	bl func_80258EF8
lbl_80258EB8:
/* 80258EB8 00254B18  7C 1F E8 40 */	cmplw r31, r29
/* 80258EBC 00254B1C  41 80 00 1C */	blt lbl_80258ED8
/* 80258EC0 00254B20  80 1E 01 E0 */	lwz r0, 0x1e0(r30)
/* 80258EC4 00254B24  7C 00 E8 40 */	cmplw r0, r29
/* 80258EC8 00254B28  40 80 00 10 */	bge lbl_80258ED8
/* 80258ECC 00254B2C  7F C3 F3 78 */	mr r3, r30
/* 80258ED0 00254B30  38 80 00 00 */	li r4, 0
/* 80258ED4 00254B34  48 00 00 25 */	bl func_80258EF8
lbl_80258ED8:
/* 80258ED8 00254B38  93 FE 01 E0 */	stw r31, 0x1e0(r30)
lbl_80258EDC:
/* 80258EDC 00254B3C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80258EE0 00254B40  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80258EE4 00254B44  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80258EE8 00254B48  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80258EEC 00254B4C  7C 08 03 A6 */	mtlr r0
/* 80258EF0 00254B50  38 21 00 20 */	addi r1, r1, 0x20
/* 80258EF4 00254B54  4E 80 00 20 */	blr

.global func_80258EF8
func_80258EF8:
/* 80258EF8 00254B58  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80258EFC 00254B5C  7C 08 02 A6 */	mflr r0
/* 80258F00 00254B60  C8 62 9F 80 */	lfd f3, lbl_80642580-_SDA2_BASE_(r2)
/* 80258F04 00254B64  90 01 00 24 */	stw r0, 0x24(r1)
/* 80258F08 00254B68  3C 00 43 30 */	lis r0, 0x4330
/* 80258F0C 00254B6C  C0 22 9F 78 */	lfs f1, lbl_80642578-_SDA2_BASE_(r2)
/* 80258F10 00254B70  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80258F14 00254B74  C0 02 9F 74 */	lfs f0, lbl_80642574-_SDA2_BASE_(r2)
/* 80258F18 00254B78  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80258F1C 00254B7C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80258F20 00254B80  7C 9D 23 78 */	mr r29, r4
/* 80258F24 00254B84  93 81 00 10 */	stw r28, 0x10(r1)
/* 80258F28 00254B88  7C 7C 1B 78 */	mr r28, r3
/* 80258F2C 00254B8C  80 A3 00 58 */	lwz r5, 0x58(r3)
/* 80258F30 00254B90  90 01 00 08 */	stw r0, 8(r1)
/* 80258F34 00254B94  1C 05 00 28 */	mulli r0, r5, 0x28
/* 80258F38 00254B98  90 01 00 0C */	stw r0, 0xc(r1)
/* 80258F3C 00254B9C  C8 41 00 08 */	lfd f2, 8(r1)
/* 80258F40 00254BA0  EC 42 18 28 */	fsubs f2, f2, f3
/* 80258F44 00254BA4  EC 22 08 24 */	fdivs f1, f2, f1
/* 80258F48 00254BA8  EC 20 08 2A */	fadds f1, f0, f1
/* 80258F4C 00254BAC  4B F6 E0 B5 */	bl __cvt_fp2unsigned
/* 80258F50 00254BB0  2C 1D 00 00 */	cmpwi r29, 0
/* 80258F54 00254BB4  38 03 00 1F */	addi r0, r3, 0x1f
/* 80258F58 00254BB8  54 1F F8 76 */	rlwinm r31, r0, 0x1f, 1, 0x1b
/* 80258F5C 00254BBC  41 82 00 1C */	beq lbl_80258F78
/* 80258F60 00254BC0  80 7C 01 A8 */	lwz r3, 0x1a8(r28)
/* 80258F64 00254BC4  57 E4 08 3C */	slwi r4, r31, 1
/* 80258F68 00254BC8  80 1C 01 AC */	lwz r0, 0x1ac(r28)
/* 80258F6C 00254BCC  7F C3 22 14 */	add r30, r3, r4
/* 80258F70 00254BD0  7F A0 22 14 */	add r29, r0, r4
/* 80258F74 00254BD4  48 00 00 0C */	b lbl_80258F80
lbl_80258F78:
/* 80258F78 00254BD8  83 DC 01 A8 */	lwz r30, 0x1a8(r28)
/* 80258F7C 00254BDC  83 BC 01 AC */	lwz r29, 0x1ac(r28)
lbl_80258F80:
/* 80258F80 00254BE0  80 1C 00 54 */	lwz r0, 0x54(r28)
/* 80258F84 00254BE4  28 00 00 02 */	cmplwi r0, 2
/* 80258F88 00254BE8  40 82 00 38 */	bne lbl_80258FC0
/* 80258F8C 00254BEC  7F 83 E3 78 */	mr r3, r28
/* 80258F90 00254BF0  7F C4 F3 78 */	mr r4, r30
/* 80258F94 00254BF4  7F A5 EB 78 */	mr r5, r29
/* 80258F98 00254BF8  7F E6 FB 78 */	mr r6, r31
/* 80258F9C 00254BFC  4B FF FD 2D */	bl func_80258CC8
/* 80258FA0 00254C00  57 FF 08 3C */	slwi r31, r31, 1
/* 80258FA4 00254C04  7F C3 F3 78 */	mr r3, r30
/* 80258FA8 00254C08  7F E4 FB 78 */	mr r4, r31
/* 80258FAC 00254C0C  48 01 16 A9 */	bl DCFlushRange
/* 80258FB0 00254C10  7F A3 EB 78 */	mr r3, r29
/* 80258FB4 00254C14  7F E4 FB 78 */	mr r4, r31
/* 80258FB8 00254C18  48 01 16 9D */	bl DCFlushRange
/* 80258FBC 00254C1C  48 00 00 24 */	b lbl_80258FE0
lbl_80258FC0:
/* 80258FC0 00254C20  7F 83 E3 78 */	mr r3, r28
/* 80258FC4 00254C24  7F C4 F3 78 */	mr r4, r30
/* 80258FC8 00254C28  7F E6 FB 78 */	mr r6, r31
/* 80258FCC 00254C2C  38 A0 00 00 */	li r5, 0
/* 80258FD0 00254C30  4B FF FC F9 */	bl func_80258CC8
/* 80258FD4 00254C34  7F C3 F3 78 */	mr r3, r30
/* 80258FD8 00254C38  57 E4 08 3C */	slwi r4, r31, 1
/* 80258FDC 00254C3C  48 01 16 79 */	bl DCFlushRange
lbl_80258FE0:
/* 80258FE0 00254C40  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80258FE4 00254C44  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80258FE8 00254C48  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80258FEC 00254C4C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80258FF0 00254C50  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80258FF4 00254C54  7C 08 03 A6 */	mtlr r0
/* 80258FF8 00254C58  38 21 00 20 */	addi r1, r1, 0x20
/* 80258FFC 00254C5C  4E 80 00 20 */	blr

.global func_80259000
func_80259000:
/* 80259000 00254C60  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80259004 00254C64  7C 08 02 A6 */	mflr r0
/* 80259008 00254C68  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025900C 00254C6C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80259010 00254C70  7C 7F 1B 78 */	mr r31, r3
/* 80259014 00254C74  80 03 01 A0 */	lwz r0, 0x1a0(r3)
/* 80259018 00254C78  2C 00 00 00 */	cmpwi r0, 0
/* 8025901C 00254C7C  41 82 00 10 */	beq lbl_8025902C
/* 80259020 00254C80  7C 03 03 78 */	mr r3, r0
/* 80259024 00254C84  38 80 00 01 */	li r4, 1
/* 80259028 00254C88  48 03 8F FD */	bl AXSetVoiceState
lbl_8025902C:
/* 8025902C 00254C8C  80 7F 01 A4 */	lwz r3, 0x1a4(r31)
/* 80259030 00254C90  2C 03 00 00 */	cmpwi r3, 0
/* 80259034 00254C94  41 82 00 0C */	beq lbl_80259040
/* 80259038 00254C98  38 80 00 01 */	li r4, 1
/* 8025903C 00254C9C  48 03 8F E9 */	bl AXSetVoiceState
lbl_80259040:
/* 80259040 00254CA0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80259044 00254CA4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80259048 00254CA8  7C 08 03 A6 */	mtlr r0
/* 8025904C 00254CAC  38 21 00 10 */	addi r1, r1, 0x10
/* 80259050 00254CB0  4E 80 00 20 */	blr

.global func_80259054
func_80259054:
/* 80259054 00254CB4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80259058 00254CB8  7C 08 02 A6 */	mflr r0
/* 8025905C 00254CBC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80259060 00254CC0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80259064 00254CC4  7C 7F 1B 78 */	mr r31, r3
/* 80259068 00254CC8  80 03 01 A0 */	lwz r0, 0x1a0(r3)
/* 8025906C 00254CCC  2C 00 00 00 */	cmpwi r0, 0
/* 80259070 00254CD0  41 82 00 1C */	beq lbl_8025908C
/* 80259074 00254CD4  7C 03 03 78 */	mr r3, r0
/* 80259078 00254CD8  48 04 01 FD */	bl MIXReleaseChannel
/* 8025907C 00254CDC  80 7F 01 A0 */	lwz r3, 0x1a0(r31)
/* 80259080 00254CE0  48 03 62 35 */	bl AXFreeVoice
/* 80259084 00254CE4  38 00 00 00 */	li r0, 0
/* 80259088 00254CE8  90 1F 01 A0 */	stw r0, 0x1a0(r31)
lbl_8025908C:
/* 8025908C 00254CEC  80 7F 01 A4 */	lwz r3, 0x1a4(r31)
/* 80259090 00254CF0  2C 03 00 00 */	cmpwi r3, 0
/* 80259094 00254CF4  41 82 00 18 */	beq lbl_802590AC
/* 80259098 00254CF8  48 04 01 DD */	bl MIXReleaseChannel
/* 8025909C 00254CFC  80 7F 01 A4 */	lwz r3, 0x1a4(r31)
/* 802590A0 00254D00  48 03 62 15 */	bl AXFreeVoice
/* 802590A4 00254D04  38 00 00 00 */	li r0, 0
/* 802590A8 00254D08  90 1F 01 A4 */	stw r0, 0x1a4(r31)
lbl_802590AC:
/* 802590AC 00254D0C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802590B0 00254D10  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802590B4 00254D14  7C 08 03 A6 */	mtlr r0
/* 802590B8 00254D18  38 21 00 10 */	addi r1, r1, 0x10
/* 802590BC 00254D1C  4E 80 00 20 */	blr

.global func_802590C0
func_802590C0:
/* 802590C0 00254D20  80 03 01 A0 */	lwz r0, 0x1a0(r3)
/* 802590C4 00254D24  90 04 00 00 */	stw r0, 0(r4)
/* 802590C8 00254D28  80 03 01 A4 */	lwz r0, 0x1a4(r3)
/* 802590CC 00254D2C  90 05 00 00 */	stw r0, 0(r5)
/* 802590D0 00254D30  4E 80 00 20 */	blr
lbl_802590D4:
/* 802590D4 00254D34  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802590D8 00254D38  7C 08 02 A6 */	mflr r0
/* 802590DC 00254D3C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802590E0 00254D40  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802590E4 00254D44  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802590E8 00254D48  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802590EC 00254D4C  48 01 56 85 */	bl OSEnableInterrupts
/* 802590F0 00254D50  81 8D A6 64 */	lwz r12, lbl_8063F924-_SDA_BASE_(r13)
/* 802590F4 00254D54  7C 7F 1B 78 */	mr r31, r3
/* 802590F8 00254D58  2C 0C 00 00 */	cmpwi r12, 0
/* 802590FC 00254D5C  41 82 00 0C */	beq lbl_80259108
/* 80259100 00254D60  7D 89 03 A6 */	mtctr r12
/* 80259104 00254D64  4E 80 04 21 */	bctrl
lbl_80259108:
/* 80259108 00254D68  83 CD A6 58 */	lwz r30, lbl_8063F918-_SDA_BASE_(r13)
/* 8025910C 00254D6C  3B A0 00 00 */	li r29, 0
/* 80259110 00254D70  48 00 00 20 */	b lbl_80259130
lbl_80259114:
/* 80259114 00254D74  88 1E 00 6C */	lbz r0, 0x6c(r30)
/* 80259118 00254D78  2C 00 00 00 */	cmpwi r0, 0
/* 8025911C 00254D7C  41 82 00 0C */	beq lbl_80259128
/* 80259120 00254D80  7F C3 F3 78 */	mr r3, r30
/* 80259124 00254D84  4B FF FC 91 */	bl func_80258DB4
lbl_80259128:
/* 80259128 00254D88  3B BD 00 01 */	addi r29, r29, 1
/* 8025912C 00254D8C  3B DE 03 D8 */	addi r30, r30, 0x3d8
lbl_80259130:
/* 80259130 00254D90  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 80259134 00254D94  7C 1D 00 00 */	cmpw r29, r0
/* 80259138 00254D98  41 80 FF DC */	blt lbl_80259114
/* 8025913C 00254D9C  48 04 01 99 */	bl MIXUpdateSettings
/* 80259140 00254DA0  7F E3 FB 78 */	mr r3, r31
/* 80259144 00254DA4  48 01 56 41 */	bl OSRestoreInterrupts
/* 80259148 00254DA8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025914C 00254DAC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80259150 00254DB0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80259154 00254DB4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80259158 00254DB8  7C 08 03 A6 */	mtlr r0
/* 8025915C 00254DBC  38 21 00 20 */	addi r1, r1, 0x20
/* 80259160 00254DC0  4E 80 00 20 */	blr

.global func_80259164
func_80259164:
/* 80259164 00254DC4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80259168 00254DC8  7C 08 02 A6 */	mflr r0
/* 8025916C 00254DCC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80259170 00254DD0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80259174 00254DD4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80259178 00254DD8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8025917C 00254DDC  7C 9D 23 78 */	mr r29, r4
/* 80259180 00254DE0  38 8D 87 00 */	addi r4, r13, lbl_8063D9C0-_SDA_BASE_
/* 80259184 00254DE4  93 81 00 10 */	stw r28, 0x10(r1)
/* 80259188 00254DE8  7C 7C 1B 78 */	mr r28, r3
/* 8025918C 00254DEC  4B FD D8 91 */	bl func_80236A1C
/* 80259190 00254DF0  3C 60 80 42 */	lis r3, lbl_80424F28@ha
/* 80259194 00254DF4  38 00 00 00 */	li r0, 0
/* 80259198 00254DF8  38 63 4F 28 */	addi r3, r3, lbl_80424F28@l
/* 8025919C 00254DFC  90 1C 00 10 */	stw r0, 0x10(r28)
/* 802591A0 00254E00  90 7C 00 0C */	stw r3, 0xc(r28)
/* 802591A4 00254E04  90 1C 00 14 */	stw r0, 0x14(r28)
/* 802591A8 00254E08  90 1C 00 18 */	stw r0, 0x18(r28)
/* 802591AC 00254E0C  93 8D A6 68 */	stw r28, lbl_8063F928-_SDA_BASE_(r13)
/* 802591B0 00254E10  48 04 5C B1 */	bl THPInit
/* 802591B4 00254E14  2C 03 00 00 */	cmpwi r3, 0
/* 802591B8 00254E18  40 82 00 0C */	bne lbl_802591C4
/* 802591BC 00254E1C  7F 83 E3 78 */	mr r3, r28
/* 802591C0 00254E20  48 00 00 68 */	b lbl_80259228
lbl_802591C4:
/* 802591C4 00254E24  1C 7D 03 D8 */	mulli r3, r29, 0x3d8
/* 802591C8 00254E28  4B F8 18 AD */	bl __nwa__FUl
/* 802591CC 00254E2C  1C BD 03 D8 */	mulli r5, r29, 0x3d8
/* 802591D0 00254E30  90 6D A6 58 */	stw r3, lbl_8063F918-_SDA_BASE_(r13)
/* 802591D4 00254E34  38 80 00 00 */	li r4, 0
/* 802591D8 00254E38  4B DA AF 2D */	bl memset
/* 802591DC 00254E3C  B3 AD A6 5C */	sth r29, lbl_8063F91C-_SDA_BASE_(r13)
/* 802591E0 00254E40  3B C0 00 00 */	li r30, 0
/* 802591E4 00254E44  3B E0 00 00 */	li r31, 0
/* 802591E8 00254E48  48 00 00 24 */	b lbl_8025920C
lbl_802591EC:
/* 802591EC 00254E4C  80 0D A6 58 */	lwz r0, lbl_8063F918-_SDA_BASE_(r13)
/* 802591F0 00254E50  38 A0 00 03 */	li r5, 3
/* 802591F4 00254E54  7C 80 FA 14 */	add r4, r0, r31
/* 802591F8 00254E58  38 64 02 E4 */	addi r3, r4, 0x2e4
/* 802591FC 00254E5C  38 84 03 04 */	addi r4, r4, 0x304
/* 80259200 00254E60  48 01 5C F9 */	bl OSInitMessageQueue
/* 80259204 00254E64  3B FF 03 D8 */	addi r31, r31, 0x3d8
/* 80259208 00254E68  3B DE 00 01 */	addi r30, r30, 1
lbl_8025920C:
/* 8025920C 00254E6C  7C 1E E8 40 */	cmplw r30, r29
/* 80259210 00254E70  41 80 FF DC */	blt lbl_802591EC
/* 80259214 00254E74  38 00 00 00 */	li r0, 0
/* 80259218 00254E78  7F 83 E3 78 */	mr r3, r28
/* 8025921C 00254E7C  90 0D A6 60 */	stw r0, lbl_8063F920-_SDA_BASE_(r13)
/* 80259220 00254E80  90 0D A6 64 */	stw r0, lbl_8063F924-_SDA_BASE_(r13)
/* 80259224 00254E84  98 0D A6 5E */	stb r0, lbl_8063F91E-_SDA_BASE_(r13)
lbl_80259228:
/* 80259228 00254E88  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025922C 00254E8C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80259230 00254E90  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80259234 00254E94  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80259238 00254E98  83 81 00 10 */	lwz r28, 0x10(r1)
/* 8025923C 00254E9C  7C 08 03 A6 */	mtlr r0
/* 80259240 00254EA0  38 21 00 20 */	addi r1, r1, 0x20
/* 80259244 00254EA4  4E 80 00 20 */	blr
/* 80259248 00254EA8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025924C 00254EAC  7C 08 02 A6 */	mflr r0
/* 80259250 00254EB0  2C 03 00 00 */	cmpwi r3, 0
/* 80259254 00254EB4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80259258 00254EB8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8025925C 00254EBC  7C 9F 23 78 */	mr r31, r4
/* 80259260 00254EC0  93 C1 00 08 */	stw r30, 8(r1)
/* 80259264 00254EC4  7C 7E 1B 78 */	mr r30, r3
/* 80259268 00254EC8  41 82 00 58 */	beq lbl_802592C0
/* 8025926C 00254ECC  3C 80 80 42 */	lis r4, lbl_80424F28@ha
/* 80259270 00254ED0  38 84 4F 28 */	addi r4, r4, lbl_80424F28@l
/* 80259274 00254ED4  90 83 00 0C */	stw r4, 0xc(r3)
/* 80259278 00254ED8  80 6D A6 58 */	lwz r3, lbl_8063F918-_SDA_BASE_(r13)
/* 8025927C 00254EDC  2C 03 00 00 */	cmpwi r3, 0
/* 80259280 00254EE0  41 82 00 14 */	beq lbl_80259294
/* 80259284 00254EE4  4B F8 18 39 */	bl __dla__FPv
/* 80259288 00254EE8  38 00 00 00 */	li r0, 0
/* 8025928C 00254EEC  90 0D A6 58 */	stw r0, lbl_8063F918-_SDA_BASE_(r13)
/* 80259290 00254EF0  B0 0D A6 5C */	sth r0, lbl_8063F91C-_SDA_BASE_(r13)
lbl_80259294:
/* 80259294 00254EF4  7F C3 F3 78 */	mr r3, r30
/* 80259298 00254EF8  48 00 00 F9 */	bl func_80259390
/* 8025929C 00254EFC  38 00 00 00 */	li r0, 0
/* 802592A0 00254F00  7F C3 F3 78 */	mr r3, r30
/* 802592A4 00254F04  90 0D A6 68 */	stw r0, lbl_8063F928-_SDA_BASE_(r13)
/* 802592A8 00254F08  38 80 00 00 */	li r4, 0
/* 802592AC 00254F0C  4B FD D7 C9 */	bl func_80236A74
/* 802592B0 00254F10  2C 1F 00 00 */	cmpwi r31, 0
/* 802592B4 00254F14  40 81 00 0C */	ble lbl_802592C0
/* 802592B8 00254F18  7F C3 F3 78 */	mr r3, r30
/* 802592BC 00254F1C  4B F8 17 FD */	bl __dl__FPv
lbl_802592C0:
/* 802592C0 00254F20  7F C3 F3 78 */	mr r3, r30
/* 802592C4 00254F24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802592C8 00254F28  83 C1 00 08 */	lwz r30, 8(r1)
/* 802592CC 00254F2C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802592D0 00254F30  7C 08 03 A6 */	mtlr r0
/* 802592D4 00254F34  38 21 00 10 */	addi r1, r1, 0x10
/* 802592D8 00254F38  4E 80 00 20 */	blr

.global func_802592DC
func_802592DC:
/* 802592DC 00254F3C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802592E0 00254F40  7C 08 02 A6 */	mflr r0
/* 802592E4 00254F44  90 01 00 14 */	stw r0, 0x14(r1)
/* 802592E8 00254F48  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802592EC 00254F4C  7C 7F 1B 78 */	mr r31, r3
/* 802592F0 00254F50  88 0D A6 5E */	lbz r0, lbl_8063F91E-_SDA_BASE_(r13)
/* 802592F4 00254F54  2C 00 00 00 */	cmpwi r0, 0
/* 802592F8 00254F58  41 82 00 0C */	beq lbl_80259304
/* 802592FC 00254F5C  38 60 00 01 */	li r3, 1
/* 80259300 00254F60  48 00 00 7C */	b lbl_8025937C
lbl_80259304:
/* 80259304 00254F64  48 03 E6 7D */	bl MIXInit
/* 80259308 00254F68  48 03 90 15 */	bl AXGetMaxVoices
/* 8025930C 00254F6C  2C 03 00 00 */	cmpwi r3, 0
/* 80259310 00254F70  40 82 00 08 */	bne lbl_80259318
/* 80259314 00254F74  38 60 00 02 */	li r3, 2
lbl_80259318:
/* 80259318 00254F78  1C 83 00 B4 */	mulli r4, r3, 0xb4
/* 8025931C 00254F7C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80259320 00254F80  4B F8 19 E1 */	bl func_801DAD00
/* 80259324 00254F84  2C 03 00 00 */	cmpwi r3, 0
/* 80259328 00254F88  90 7F 00 18 */	stw r3, 0x18(r31)
/* 8025932C 00254F8C  40 82 00 0C */	bne lbl_80259338
/* 80259330 00254F90  38 60 00 00 */	li r3, 0
/* 80259334 00254F94  48 00 00 48 */	b lbl_8025937C
lbl_80259338:
/* 80259338 00254F98  48 03 E7 51 */	bl MIXInitSpecifyMem
/* 8025933C 00254F9C  38 60 00 01 */	li r3, 1
/* 80259340 00254FA0  48 03 E8 6D */	bl MIXSetSoundMode
/* 80259344 00254FA4  4B F8 26 B9 */	bl func_801DB9FC
/* 80259348 00254FA8  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8025934C 00254FAC  3C 80 80 25 */	lis r4, lbl_802571E0@ha
/* 80259350 00254FB0  3C 60 80 26 */	lis r3, lbl_802590D4@ha
/* 80259354 00254FB4  80 05 00 74 */	lwz r0, 0x74(r5)
/* 80259358 00254FB8  38 84 71 E0 */	addi r4, r4, lbl_802571E0@l
/* 8025935C 00254FBC  38 63 90 D4 */	addi r3, r3, lbl_802590D4@l
/* 80259360 00254FC0  90 85 00 74 */	stw r4, 0x74(r5)
/* 80259364 00254FC4  90 0D A6 60 */	stw r0, lbl_8063F920-_SDA_BASE_(r13)
/* 80259368 00254FC8  48 03 7A E9 */	bl AXRegisterCallback
/* 8025936C 00254FCC  38 00 00 01 */	li r0, 1
/* 80259370 00254FD0  90 6D A6 64 */	stw r3, lbl_8063F924-_SDA_BASE_(r13)
/* 80259374 00254FD4  38 60 00 01 */	li r3, 1
/* 80259378 00254FD8  98 0D A6 5E */	stb r0, lbl_8063F91E-_SDA_BASE_(r13)
lbl_8025937C:
/* 8025937C 00254FDC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80259380 00254FE0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80259384 00254FE4  7C 08 03 A6 */	mtlr r0
/* 80259388 00254FE8  38 21 00 10 */	addi r1, r1, 0x10
/* 8025938C 00254FEC  4E 80 00 20 */	blr

.global func_80259390
func_80259390:
/* 80259390 00254FF0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80259394 00254FF4  7C 08 02 A6 */	mflr r0
/* 80259398 00254FF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025939C 00254FFC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802593A0 00255000  93 C1 00 08 */	stw r30, 8(r1)
/* 802593A4 00255004  7C 7E 1B 78 */	mr r30, r3
/* 802593A8 00255008  88 0D A6 5E */	lbz r0, lbl_8063F91E-_SDA_BASE_(r13)
/* 802593AC 0025500C  2C 00 00 00 */	cmpwi r0, 0
/* 802593B0 00255010  41 82 00 40 */	beq lbl_802593F0
/* 802593B4 00255014  4B F8 26 D9 */	bl func_801DBA8C
/* 802593B8 00255018  80 0D A6 60 */	lwz r0, lbl_8063F920-_SDA_BASE_(r13)
/* 802593BC 0025501C  3B E0 00 00 */	li r31, 0
/* 802593C0 00255020  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 802593C4 00255024  90 03 00 74 */	stw r0, 0x74(r3)
/* 802593C8 00255028  93 ED A6 60 */	stw r31, lbl_8063F920-_SDA_BASE_(r13)
/* 802593CC 0025502C  80 6D A6 64 */	lwz r3, lbl_8063F924-_SDA_BASE_(r13)
/* 802593D0 00255030  48 03 7A 81 */	bl AXRegisterCallback
/* 802593D4 00255034  93 ED A6 64 */	stw r31, lbl_8063F924-_SDA_BASE_(r13)
/* 802593D8 00255038  48 03 E7 C1 */	bl MIXQuit
/* 802593DC 0025503C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 802593E0 00255040  80 9E 00 18 */	lwz r4, 0x18(r30)
/* 802593E4 00255044  4B F8 19 65 */	bl func_801DAD48
/* 802593E8 00255048  93 FE 00 18 */	stw r31, 0x18(r30)
/* 802593EC 0025504C  9B ED A6 5E */	stb r31, lbl_8063F91E-_SDA_BASE_(r13)
lbl_802593F0:
/* 802593F0 00255050  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802593F4 00255054  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802593F8 00255058  83 C1 00 08 */	lwz r30, 8(r1)
/* 802593FC 0025505C  7C 08 03 A6 */	mtlr r0
/* 80259400 00255060  38 21 00 10 */	addi r1, r1, 0x10
/* 80259404 00255064  4E 80 00 20 */	blr

.global func_80259408
func_80259408:
/* 80259408 00255068  2C 03 00 00 */	cmpwi r3, 0
/* 8025940C 0025506C  40 82 00 0C */	bne lbl_80259418
/* 80259410 00255070  38 60 00 00 */	li r3, 0
/* 80259414 00255074  48 03 E7 98 */	b MIXSetSoundMode
lbl_80259418:
/* 80259418 00255078  38 60 00 01 */	li r3, 1
/* 8025941C 0025507C  48 03 E7 90 */	b MIXSetSoundMode

.global func_80259420
func_80259420:
/* 80259420 00255080  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 80259424 00255084  80 8D A6 58 */	lwz r4, lbl_8063F918-_SDA_BASE_(r13)
/* 80259428 00255088  7C 09 03 A6 */	mtctr r0
/* 8025942C 0025508C  2C 00 00 00 */	cmpwi r0, 0
/* 80259430 00255090  40 81 00 2C */	ble lbl_8025945C
lbl_80259434:
/* 80259434 00255094  88 04 00 6C */	lbz r0, 0x6c(r4)
/* 80259438 00255098  2C 00 00 00 */	cmpwi r0, 0
/* 8025943C 0025509C  41 82 00 18 */	beq lbl_80259454
/* 80259440 002550A0  80 04 00 00 */	lwz r0, 0(r4)
/* 80259444 002550A4  7C 00 18 40 */	cmplw r0, r3
/* 80259448 002550A8  40 82 00 0C */	bne lbl_80259454
/* 8025944C 002550AC  7C 83 23 78 */	mr r3, r4
/* 80259450 002550B0  4E 80 00 20 */	blr
lbl_80259454:
/* 80259454 002550B4  38 84 03 D8 */	addi r4, r4, 0x3d8
/* 80259458 002550B8  42 00 FF DC */	bdnz lbl_80259434
lbl_8025945C:
/* 8025945C 002550BC  38 60 00 00 */	li r3, 0
/* 80259460 002550C0  4E 80 00 20 */	blr
/* 80259464 002550C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80259468 002550C8  7C 08 02 A6 */	mflr r0
/* 8025946C 002550CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80259470 002550D0  39 61 00 20 */	addi r11, r1, 0x20
/* 80259474 002550D4  4B F6 DC B5 */	bl _savegpr_27
/* 80259478 002550D8  83 AD A6 58 */	lwz r29, lbl_8063F918-_SDA_BASE_(r13)
/* 8025947C 002550DC  3B 80 00 00 */	li r28, 0
/* 80259480 002550E0  3B E0 00 05 */	li r31, 5
/* 80259484 002550E4  3F C0 80 42 */	lis r30, 0x8042
/* 80259488 002550E8  48 00 00 C0 */	b lbl_80259548
lbl_8025948C:
/* 8025948C 002550EC  88 1D 00 6C */	lbz r0, 0x6c(r29)
/* 80259490 002550F0  2C 00 00 00 */	cmpwi r0, 0
/* 80259494 002550F4  41 82 00 AC */	beq lbl_80259540
/* 80259498 002550F8  88 1D 00 69 */	lbz r0, 0x69(r29)
/* 8025949C 002550FC  28 00 00 0B */	cmplwi r0, 0xb
/* 802594A0 00255100  40 82 00 10 */	bne lbl_802594B0
/* 802594A4 00255104  7F A3 EB 78 */	mr r3, r29
/* 802594A8 00255108  4B FF E2 41 */	bl func_802576E8
/* 802594AC 0025510C  48 00 00 94 */	b lbl_80259540
lbl_802594B0:
/* 802594B0 00255110  28 00 00 08 */	cmplwi r0, 8
/* 802594B4 00255114  3B 60 00 01 */	li r27, 1
/* 802594B8 00255118  41 81 00 78 */	bgt lbl_80259530
/* 802594BC 0025511C  38 7E 4F 00 */	addi r3, r30, 0x4f00
/* 802594C0 00255120  54 00 10 3A */	slwi r0, r0, 2
/* 802594C4 00255124  7C 63 00 2E */	lwzx r3, r3, r0
/* 802594C8 00255128  7C 69 03 A6 */	mtctr r3
/* 802594CC 0025512C  4E 80 04 20 */	bctr
/* 802594D0 00255130  7F A3 EB 78 */	mr r3, r29
/* 802594D4 00255134  38 80 00 00 */	li r4, 0
/* 802594D8 00255138  38 A0 00 00 */	li r5, 0
/* 802594DC 0025513C  4B FF E8 11 */	bl func_80257CEC
/* 802594E0 00255140  7C 7B 1B 78 */	mr r27, r3
/* 802594E4 00255144  48 00 00 4C */	b lbl_80259530
/* 802594E8 00255148  80 7D 00 A0 */	lwz r3, 0xa0(r29)
/* 802594EC 0025514C  2C 03 00 00 */	cmpwi r3, 0
/* 802594F0 00255150  40 82 00 0C */	bne lbl_802594FC
/* 802594F4 00255154  9B FD 00 69 */	stb r31, 0x69(r29)
/* 802594F8 00255158  48 00 00 38 */	b lbl_80259530
lbl_802594FC:
/* 802594FC 0025515C  38 03 FF FF */	addi r0, r3, -1
/* 80259500 00255160  90 1D 00 A0 */	stw r0, 0xa0(r29)
/* 80259504 00255164  48 00 00 2C */	b lbl_80259530
/* 80259508 00255168  7F A3 EB 78 */	mr r3, r29
/* 8025950C 0025516C  4B FF EA 15 */	bl func_80257F20
/* 80259510 00255170  7C 7B 1B 78 */	mr r27, r3
/* 80259514 00255174  48 00 00 1C */	b lbl_80259530
/* 80259518 00255178  7F A3 EB 78 */	mr r3, r29
/* 8025951C 0025517C  4B FF EA A9 */	bl func_80257FC4
/* 80259520 00255180  7C 7B 1B 78 */	mr r27, r3
/* 80259524 00255184  48 00 00 0C */	b lbl_80259530
/* 80259528 00255188  7F A3 EB 78 */	mr r3, r29
/* 8025952C 0025518C  4B FF EC F9 */	bl func_80258224
lbl_80259530:
/* 80259530 00255190  2C 1B 00 00 */	cmpwi r27, 0
/* 80259534 00255194  40 82 00 0C */	bne lbl_80259540
/* 80259538 00255198  7F A3 EB 78 */	mr r3, r29
/* 8025953C 0025519C  4B FF EB 85 */	bl func_802580C0
lbl_80259540:
/* 80259540 002551A0  3B 9C 00 01 */	addi r28, r28, 1
/* 80259544 002551A4  3B BD 03 D8 */	addi r29, r29, 0x3d8
lbl_80259548:
/* 80259548 002551A8  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 8025954C 002551AC  7C 1C 00 00 */	cmpw r28, r0
/* 80259550 002551B0  41 80 FF 3C */	blt lbl_8025948C
/* 80259554 002551B4  39 61 00 20 */	addi r11, r1, 0x20
/* 80259558 002551B8  4B F6 DC 1D */	bl _restgpr_27
/* 8025955C 002551BC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80259560 002551C0  7C 08 03 A6 */	mtlr r0
/* 80259564 002551C4  38 21 00 20 */	addi r1, r1, 0x20
/* 80259568 002551C8  4E 80 00 20 */	blr
/* 8025956C 002551CC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80259570 002551D0  7C 08 02 A6 */	mflr r0
/* 80259574 002551D4  90 01 00 44 */	stw r0, 0x44(r1)
/* 80259578 002551D8  39 61 00 40 */	addi r11, r1, 0x40
/* 8025957C 002551DC  4B F6 DB 99 */	bl _savegpr_22
/* 80259580 002551E0  80 8D A4 70 */	lwz r4, lbl_8063F730-_SDA_BASE_(r13)
/* 80259584 002551E4  7C 78 1B 78 */	mr r24, r3
/* 80259588 002551E8  2C 04 00 00 */	cmpwi r4, 0
/* 8025958C 002551EC  40 82 00 0C */	bne lbl_80259598
/* 80259590 002551F0  3B C0 00 00 */	li r30, 0
/* 80259594 002551F4  48 00 00 3C */	b lbl_802595D0
lbl_80259598:
/* 80259598 002551F8  80 A4 00 14 */	lwz r5, 0x14(r4)
/* 8025959C 002551FC  2C 05 00 00 */	cmpwi r5, 0
/* 802595A0 00255200  41 82 00 2C */	beq lbl_802595CC
/* 802595A4 00255204  80 65 00 00 */	lwz r3, 0(r5)
/* 802595A8 00255208  80 04 00 00 */	lwz r0, 0(r4)
/* 802595AC 0025520C  80 83 00 00 */	lwz r4, 0(r3)
/* 802595B0 00255210  80 65 00 04 */	lwz r3, 4(r5)
/* 802595B4 00255214  54 05 80 1E */	slwi r5, r0, 0x10
/* 802595B8 00255218  54 84 40 2E */	slwi r4, r4, 8
/* 802595BC 0025521C  88 03 00 04 */	lbz r0, 4(r3)
/* 802595C0 00255220  7C A3 23 78 */	or r3, r5, r4
/* 802595C4 00255224  7C 7E 03 78 */	or r30, r3, r0
/* 802595C8 00255228  48 00 00 08 */	b lbl_802595D0
lbl_802595CC:
/* 802595CC 0025522C  3B C0 00 00 */	li r30, 0
lbl_802595D0:
/* 802595D0 00255230  83 AD A6 58 */	lwz r29, lbl_8063F918-_SDA_BASE_(r13)
/* 802595D4 00255234  3B 40 00 01 */	li r26, 1
/* 802595D8 00255238  3B 20 00 00 */	li r25, 0
/* 802595DC 0025523C  3A C0 00 00 */	li r22, 0
/* 802595E0 00255240  3B 60 00 00 */	li r27, 0
/* 802595E4 00255244  3B E0 00 01 */	li r31, 1
/* 802595E8 00255248  48 00 01 34 */	b lbl_8025971C
lbl_802595EC:
/* 802595EC 0025524C  88 1D 00 6C */	lbz r0, 0x6c(r29)
/* 802595F0 00255250  2C 00 00 00 */	cmpwi r0, 0
/* 802595F4 00255254  41 82 01 20 */	beq lbl_80259714
/* 802595F8 00255258  88 1D 00 6F */	lbz r0, 0x6f(r29)
/* 802595FC 0025525C  2C 00 00 00 */	cmpwi r0, 0
/* 80259600 00255260  41 82 01 14 */	beq lbl_80259714
/* 80259604 00255264  88 1D 00 69 */	lbz r0, 0x69(r29)
/* 80259608 00255268  28 00 00 08 */	cmplwi r0, 8
/* 8025960C 0025526C  40 82 01 08 */	bne lbl_80259714
/* 80259610 00255270  83 9D 01 FC */	lwz r28, 0x1fc(r29)
/* 80259614 00255274  2C 1C 00 00 */	cmpwi r28, 0
/* 80259618 00255278  41 82 00 70 */	beq lbl_80259688
/* 8025961C 0025527C  80 18 00 10 */	lwz r0, 0x10(r24)
/* 80259620 00255280  7C 1E 00 40 */	cmplw r30, r0
/* 80259624 00255284  40 82 00 F0 */	bne lbl_80259714
/* 80259628 00255288  7F 83 E3 78 */	mr r3, r28
/* 8025962C 0025528C  4B FE 4F 15 */	bl func_8023E540
/* 80259630 00255290  7C 77 1B 78 */	mr r23, r3
/* 80259634 00255294  7F 83 E3 78 */	mr r3, r28
/* 80259638 00255298  4B FE 4F 11 */	bl func_8023E548
/* 8025963C 0025529C  B2 E1 00 0A */	sth r23, 0xa(r1)
/* 80259640 002552A0  7C 79 1B 78 */	mr r25, r3
/* 80259644 002552A4  E0 61 B0 0A */	psq_l f3, 10(r1), 1, qr3
/* 80259648 002552A8  B0 61 00 08 */	sth r3, 8(r1)
/* 8025964C 002552AC  E0 81 B0 08 */	psq_l f4, 8(r1), 1, qr3
/* 80259650 002552B0  38 80 00 01 */	li r4, 1
/* 80259654 002552B4  C0 22 9F 90 */	lfs f1, lbl_80642590-_SDA2_BASE_(r2)
/* 80259658 002552B8  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8025965C 002552BC  FC 40 08 90 */	fmr f2, f1
/* 80259660 002552C0  4B FD BB A5 */	bl func_80235204
/* 80259664 002552C4  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 80259668 002552C8  56 E7 04 3E */	clrlwi r7, r23, 0x10
/* 8025966C 002552CC  57 28 04 3E */	clrlwi r8, r25, 0x10
/* 80259670 002552D0  38 80 00 01 */	li r4, 1
/* 80259674 002552D4  38 A0 00 00 */	li r5, 0
/* 80259678 002552D8  38 C0 00 00 */	li r6, 0
/* 8025967C 002552DC  4B FD BA FD */	bl func_80235178
/* 80259680 002552E0  3B 20 00 01 */	li r25, 1
/* 80259684 002552E4  48 00 00 10 */	b lbl_80259694
lbl_80259688:
/* 80259688 002552E8  80 18 00 14 */	lwz r0, 0x14(r24)
/* 8025968C 002552EC  7C 1E 00 40 */	cmplw r30, r0
/* 80259690 002552F0  40 82 00 84 */	bne lbl_80259714
lbl_80259694:
/* 80259694 002552F4  2C 1A 00 00 */	cmpwi r26, 0
/* 80259698 002552F8  41 82 00 0C */	beq lbl_802596A4
/* 8025969C 002552FC  48 00 04 09 */	bl func_80259AA4
/* 802596A0 00255300  3B 40 00 00 */	li r26, 0
lbl_802596A4:
/* 802596A4 00255304  7F A3 EB 78 */	mr r3, r29
/* 802596A8 00255308  4B FF EA C1 */	bl func_80258168
/* 802596AC 0025530C  2C 1C 00 00 */	cmpwi r28, 0
/* 802596B0 00255310  41 82 00 64 */	beq lbl_80259714
/* 802596B4 00255314  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 802596B8 00255318  7F 83 E3 78 */	mr r3, r28
/* 802596BC 0025531C  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 802596C0 00255320  9B E4 0A 36 */	stb r31, 0xa36(r4)
/* 802596C4 00255324  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 802596C8 00255328  9B E4 0A 37 */	stb r31, 0xa37(r4)
/* 802596CC 0025532C  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 802596D0 00255330  9B E4 0A 38 */	stb r31, 0xa38(r4)
/* 802596D4 00255334  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 802596D8 00255338  80 04 00 64 */	lwz r0, 0x64(r4)
/* 802596DC 0025533C  60 00 00 04 */	ori r0, r0, 4
/* 802596E0 00255340  90 04 00 64 */	stw r0, 0x64(r4)
/* 802596E4 00255344  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 802596E8 00255348  80 04 00 00 */	lwz r0, 0(r4)
/* 802596EC 0025534C  60 00 00 40 */	ori r0, r0, 0x40
/* 802596F0 00255350  90 04 00 00 */	stw r0, 0(r4)
/* 802596F4 00255354  4B FE 4F E5 */	bl func_8023E6D8
/* 802596F8 00255358  7C 65 1B 78 */	mr r5, r3
/* 802596FC 0025535C  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 80259700 00255360  7F 84 E3 78 */	mr r4, r28
/* 80259704 00255364  38 C0 00 00 */	li r6, 0
/* 80259708 00255368  38 E0 00 01 */	li r7, 1
/* 8025970C 0025536C  4B FE 5E DD */	bl func_8023F5E8
/* 80259710 00255370  3A C0 00 01 */	li r22, 1
lbl_80259714:
/* 80259714 00255374  3B 7B 00 01 */	addi r27, r27, 1
/* 80259718 00255378  3B BD 03 D8 */	addi r29, r29, 0x3d8
lbl_8025971C:
/* 8025971C 0025537C  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 80259720 00255380  7C 1B 00 00 */	cmpw r27, r0
/* 80259724 00255384  41 80 FE C8 */	blt lbl_802595EC
/* 80259728 00255388  2C 19 00 00 */	cmpwi r25, 0
/* 8025972C 0025538C  41 82 00 3C */	beq lbl_80259768
/* 80259730 00255390  C0 22 9F 90 */	lfs f1, lbl_80642590-_SDA2_BASE_(r2)
/* 80259734 00255394  38 80 00 00 */	li r4, 0
/* 80259738 00255398  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8025973C 0025539C  FC 40 08 90 */	fmr f2, f1
/* 80259740 002553A0  C0 62 9F 94 */	lfs f3, lbl_80642594-_SDA2_BASE_(r2)
/* 80259744 002553A4  C0 82 9F 98 */	lfs f4, lbl_80642598-_SDA2_BASE_(r2)
/* 80259748 002553A8  4B FD BA BD */	bl func_80235204
/* 8025974C 002553AC  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 80259750 002553B0  38 80 00 00 */	li r4, 0
/* 80259754 002553B4  38 A0 00 00 */	li r5, 0
/* 80259758 002553B8  38 C0 00 00 */	li r6, 0
/* 8025975C 002553BC  38 E0 02 80 */	li r7, 0x280
/* 80259760 002553C0  39 00 01 E0 */	li r8, 0x1e0
/* 80259764 002553C4  4B FD BA 15 */	bl func_80235178
lbl_80259768:
/* 80259768 002553C8  2C 16 00 00 */	cmpwi r22, 0
/* 8025976C 002553CC  41 82 00 14 */	beq lbl_80259780
/* 80259770 002553D0  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 80259774 002553D4  A0 03 16 FE */	lhz r0, 0x16fe(r3)
/* 80259778 002553D8  60 00 00 06 */	ori r0, r0, 6
/* 8025977C 002553DC  B0 03 16 FE */	sth r0, 0x16fe(r3)
lbl_80259780:
/* 80259780 002553E0  39 61 00 40 */	addi r11, r1, 0x40
/* 80259784 002553E4  4B F6 D9 DD */	bl _restgpr_22
/* 80259788 002553E8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8025978C 002553EC  7C 08 03 A6 */	mtlr r0
/* 80259790 002553F0  38 21 00 40 */	addi r1, r1, 0x40
/* 80259794 002553F4  4E 80 00 20 */	blr

.global func_80259798
func_80259798:
/* 80259798 002553F8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025979C 002553FC  7C 08 02 A6 */	mflr r0
/* 802597A0 00255400  90 01 00 24 */	stw r0, 0x24(r1)
/* 802597A4 00255404  39 61 00 20 */	addi r11, r1, 0x20
/* 802597A8 00255408  4B F6 D9 7D */	bl _savegpr_26
/* 802597AC 0025540C  7C 7A 1B 78 */	mr r26, r3
/* 802597B0 00255410  7C 9B 23 78 */	mr r27, r4
/* 802597B4 00255414  7C BC 2B 78 */	mr r28, r5
/* 802597B8 00255418  7C DD 33 78 */	mr r29, r6
/* 802597BC 0025541C  7C FE 3B 78 */	mr r30, r7
/* 802597C0 00255420  4B FF FC 61 */	bl func_80259420
/* 802597C4 00255424  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 802597C8 00255428  83 ED A6 58 */	lwz r31, lbl_8063F918-_SDA_BASE_(r13)
/* 802597CC 0025542C  7C 09 03 A6 */	mtctr r0
/* 802597D0 00255430  2C 00 00 00 */	cmpwi r0, 0
/* 802597D4 00255434  40 81 00 58 */	ble lbl_8025982C
lbl_802597D8:
/* 802597D8 00255438  88 1F 00 6C */	lbz r0, 0x6c(r31)
/* 802597DC 0025543C  2C 00 00 00 */	cmpwi r0, 0
/* 802597E0 00255440  40 82 00 44 */	bne lbl_80259824
/* 802597E4 00255444  7F E3 FB 78 */	mr r3, r31
/* 802597E8 00255448  7F 44 D3 78 */	mr r4, r26
/* 802597EC 0025544C  7F 65 DB 78 */	mr r5, r27
/* 802597F0 00255450  7F 86 E3 78 */	mr r6, r28
/* 802597F4 00255454  7F A7 EB 78 */	mr r7, r29
/* 802597F8 00255458  7F C8 F3 78 */	mr r8, r30
/* 802597FC 0025545C  4B FF DD E9 */	bl func_802575E4
/* 80259800 00255460  2C 03 00 00 */	cmpwi r3, 0
/* 80259804 00255464  41 82 00 28 */	beq lbl_8025982C
/* 80259808 00255468  80 6D A6 68 */	lwz r3, lbl_8063F928-_SDA_BASE_(r13)
/* 8025980C 0025546C  4B FF FA D1 */	bl func_802592DC
/* 80259810 00255470  2C 03 00 00 */	cmpwi r3, 0
/* 80259814 00255474  40 82 00 18 */	bne lbl_8025982C
/* 80259818 00255478  7F E3 FB 78 */	mr r3, r31
/* 8025981C 0025547C  4B FF DE CD */	bl func_802576E8
/* 80259820 00255480  48 00 00 0C */	b lbl_8025982C
lbl_80259824:
/* 80259824 00255484  3B FF 03 D8 */	addi r31, r31, 0x3d8
/* 80259828 00255488  42 00 FF B0 */	bdnz lbl_802597D8
lbl_8025982C:
/* 8025982C 0025548C  39 61 00 20 */	addi r11, r1, 0x20
/* 80259830 00255490  4B F6 D9 41 */	bl _restgpr_26
/* 80259834 00255494  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80259838 00255498  7C 08 03 A6 */	mtlr r0
/* 8025983C 0025549C  38 21 00 20 */	addi r1, r1, 0x20
/* 80259840 002554A0  4E 80 00 20 */	blr

.global func_80259844
func_80259844:
/* 80259844 002554A4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80259848 002554A8  7C 08 02 A6 */	mflr r0
/* 8025984C 002554AC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80259850 002554B0  4B FF FB D1 */	bl func_80259420
/* 80259854 002554B4  2C 03 00 00 */	cmpwi r3, 0
/* 80259858 002554B8  41 82 00 38 */	beq lbl_80259890
/* 8025985C 002554BC  4B FF DE 8D */	bl func_802576E8
/* 80259860 002554C0  A0 0D A6 5C */	lhz r0, lbl_8063F91C-_SDA_BASE_(r13)
/* 80259864 002554C4  80 6D A6 58 */	lwz r3, lbl_8063F918-_SDA_BASE_(r13)
/* 80259868 002554C8  7C 09 03 A6 */	mtctr r0
/* 8025986C 002554CC  2C 00 00 00 */	cmpwi r0, 0
/* 80259870 002554D0  40 81 00 18 */	ble lbl_80259888
lbl_80259874:
/* 80259874 002554D4  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80259878 002554D8  2C 00 00 00 */	cmpwi r0, 0
/* 8025987C 002554DC  40 82 00 14 */	bne lbl_80259890
/* 80259880 002554E0  38 63 03 D8 */	addi r3, r3, 0x3d8
/* 80259884 002554E4  42 00 FF F0 */	bdnz lbl_80259874
lbl_80259888:
/* 80259888 002554E8  80 6D A6 68 */	lwz r3, lbl_8063F928-_SDA_BASE_(r13)
/* 8025988C 002554EC  4B FF FB 05 */	bl func_80259390
lbl_80259890:
/* 80259890 002554F0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80259894 002554F4  7C 08 03 A6 */	mtlr r0
/* 80259898 002554F8  38 21 00 10 */	addi r1, r1, 0x10
/* 8025989C 002554FC  4E 80 00 20 */	blr

.global func_802598A0
func_802598A0:
/* 802598A0 00255500  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802598A4 00255504  7C 08 02 A6 */	mflr r0
/* 802598A8 00255508  90 01 00 14 */	stw r0, 0x14(r1)
/* 802598AC 0025550C  4B FF FB 75 */	bl func_80259420
/* 802598B0 00255510  2C 03 00 00 */	cmpwi r3, 0
/* 802598B4 00255514  41 82 00 14 */	beq lbl_802598C8
/* 802598B8 00255518  88 83 00 68 */	lbz r4, 0x68(r3)
/* 802598BC 0025551C  38 00 00 01 */	li r0, 1
/* 802598C0 00255520  98 83 00 69 */	stb r4, 0x69(r3)
/* 802598C4 00255524  98 03 00 71 */	stb r0, 0x71(r3)
lbl_802598C8:
/* 802598C8 00255528  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802598CC 0025552C  7C 08 03 A6 */	mtlr r0
/* 802598D0 00255530  38 21 00 10 */	addi r1, r1, 0x10
/* 802598D4 00255534  4E 80 00 20 */	blr

.global func_802598D8
func_802598D8:
/* 802598D8 00255538  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802598DC 0025553C  7C 08 02 A6 */	mflr r0
/* 802598E0 00255540  90 01 00 14 */	stw r0, 0x14(r1)
/* 802598E4 00255544  4B FF FB 3D */	bl func_80259420
/* 802598E8 00255548  2C 03 00 00 */	cmpwi r3, 0
/* 802598EC 0025554C  40 82 00 0C */	bne lbl_802598F8
/* 802598F0 00255550  38 60 00 00 */	li r3, 0
/* 802598F4 00255554  48 00 00 2C */	b lbl_80259920
lbl_802598F8:
/* 802598F8 00255558  4B FF E9 25 */	bl func_8025821C
/* 802598FC 0025555C  28 03 00 0B */	cmplwi r3, 0xb
/* 80259900 00255560  38 80 00 00 */	li r4, 0
/* 80259904 00255564  41 81 00 14 */	bgt lbl_80259918
/* 80259908 00255568  38 00 00 01 */	li r0, 1
/* 8025990C 0025556C  7C 00 18 30 */	slw r0, r0, r3
/* 80259910 00255570  70 00 0A 01 */	andi. r0, r0, 0xa01
/* 80259914 00255574  40 82 00 08 */	bne lbl_8025991C
lbl_80259918:
/* 80259918 00255578  38 80 00 01 */	li r4, 1
lbl_8025991C:
/* 8025991C 0025557C  7C 83 23 78 */	mr r3, r4
lbl_80259920:
/* 80259920 00255580  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80259924 00255584  7C 08 03 A6 */	mtlr r0
/* 80259928 00255588  38 21 00 10 */	addi r1, r1, 0x10
/* 8025992C 0025558C  4E 80 00 20 */	blr

.global func_80259930
func_80259930:
/* 80259930 00255590  4E 80 00 20 */	blr

.global func_80259934
func_80259934:
/* 80259934 00255594  4E 80 00 20 */	blr

.global func_80259938
func_80259938:
/* 80259938 00255598  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025993C 0025559C  7C 08 02 A6 */	mflr r0
/* 80259940 002555A0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80259944 002555A4  4B FF FA DD */	bl func_80259420
/* 80259948 002555A8  2C 03 00 00 */	cmpwi r3, 0
/* 8025994C 002555AC  41 82 00 1C */	beq lbl_80259968
/* 80259950 002555B0  88 03 00 6C */	lbz r0, 0x6c(r3)
/* 80259954 002555B4  2C 00 00 00 */	cmpwi r0, 0
/* 80259958 002555B8  41 82 00 10 */	beq lbl_80259968
/* 8025995C 002555BC  88 03 00 69 */	lbz r0, 0x69(r3)
/* 80259960 002555C0  28 00 00 0B */	cmplwi r0, 0xb
/* 80259964 002555C4  40 82 00 0C */	bne lbl_80259970
lbl_80259968:
/* 80259968 002555C8  38 60 FF FF */	li r3, -1
/* 8025996C 002555CC  48 00 00 20 */	b lbl_8025998C
lbl_80259970:
/* 80259970 002555D0  2C 00 00 00 */	cmpwi r0, 0
/* 80259974 002555D4  41 82 00 0C */	beq lbl_80259980
/* 80259978 002555D8  28 00 00 09 */	cmplwi r0, 9
/* 8025997C 002555DC  40 82 00 0C */	bne lbl_80259988
lbl_80259980:
/* 80259980 002555E0  38 60 00 00 */	li r3, 0
/* 80259984 002555E4  48 00 00 08 */	b lbl_8025998C
lbl_80259988:
/* 80259988 002555E8  38 60 00 01 */	li r3, 1
lbl_8025998C:
/* 8025998C 002555EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80259990 002555F0  7C 08 03 A6 */	mtlr r0
/* 80259994 002555F4  38 21 00 10 */	addi r1, r1, 0x10
/* 80259998 002555F8  4E 80 00 20 */	blr

.global lbl_8025999C
lbl_8025999C:
/* 8025999C 002555FC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802599A0 00255600  7C 08 02 A6 */	mflr r0
/* 802599A4 00255604  90 01 00 14 */	stw r0, 0x14(r1)
/* 802599A8 00255608  4B FF FA 79 */	bl func_80259420
/* 802599AC 0025560C  2C 03 00 00 */	cmpwi r3, 0
/* 802599B0 00255610  41 82 00 0C */	beq lbl_802599BC
/* 802599B4 00255614  38 63 00 04 */	addi r3, r3, 4
/* 802599B8 00255618  48 00 00 08 */	b lbl_802599C0
lbl_802599BC:
/* 802599BC 0025561C  38 60 00 00 */	li r3, 0
lbl_802599C0:
/* 802599C0 00255620  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802599C4 00255624  7C 08 03 A6 */	mtlr r0
/* 802599C8 00255628  38 21 00 10 */	addi r1, r1, 0x10
/* 802599CC 0025562C  4E 80 00 20 */	blr

.global func_802599D0
func_802599D0:
/* 802599D0 00255630  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802599D4 00255634  7C 08 02 A6 */	mflr r0
/* 802599D8 00255638  90 01 00 14 */	stw r0, 0x14(r1)
/* 802599DC 0025563C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802599E0 00255640  4B FF FA 41 */	bl func_80259420
/* 802599E4 00255644  2C 03 00 00 */	cmpwi r3, 0
/* 802599E8 00255648  7C 7F 1B 78 */	mr r31, r3
/* 802599EC 0025564C  41 82 00 84 */	beq lbl_80259A70
/* 802599F0 00255650  38 00 00 00 */	li r0, 0
/* 802599F4 00255654  38 8D 87 08 */	addi r4, r13, lbl_8063D9C8-_SDA_BASE_
/* 802599F8 00255658  98 03 00 6B */	stb r0, 0x6b(r3)
/* 802599FC 0025565C  38 63 00 04 */	addi r3, r3, 4
/* 80259A00 00255660  4B F7 4A 4D */	bl strcmp
/* 80259A04 00255664  2C 03 00 00 */	cmpwi r3, 0
/* 80259A08 00255668  40 82 00 68 */	bne lbl_80259A70
/* 80259A0C 0025566C  80 7F 00 08 */	lwz r3, 8(r31)
/* 80259A10 00255670  3C 03 FF FF */	addis r0, r3, 0xffff
/* 80259A14 00255674  28 00 10 00 */	cmplwi r0, 0x1000
/* 80259A18 00255678  40 82 00 58 */	bne lbl_80259A70
/* 80259A1C 0025567C  38 A0 00 00 */	li r5, 0
/* 80259A20 00255680  38 60 00 01 */	li r3, 1
/* 80259A24 00255684  48 00 00 34 */	b lbl_80259A58
lbl_80259A28:
/* 80259A28 00255688  7C 9F 2A 14 */	add r4, r31, r5
/* 80259A2C 0025568C  88 04 00 38 */	lbz r0, 0x38(r4)
/* 80259A30 00255690  2C 00 00 01 */	cmpwi r0, 1
/* 80259A34 00255694  41 82 00 14 */	beq lbl_80259A48
/* 80259A38 00255698  40 80 00 38 */	bge lbl_80259A70
/* 80259A3C 0025569C  2C 00 00 00 */	cmpwi r0, 0
/* 80259A40 002556A0  40 80 00 14 */	bge lbl_80259A54
/* 80259A44 002556A4  48 00 00 2C */	b lbl_80259A70
lbl_80259A48:
/* 80259A48 002556A8  98 7F 00 6B */	stb r3, 0x6b(r31)
/* 80259A4C 002556AC  48 00 00 08 */	b lbl_80259A54
/* 80259A50 002556B0  48 00 00 20 */	b lbl_80259A70
lbl_80259A54:
/* 80259A54 002556B4  38 A5 00 01 */	addi r5, r5, 1
lbl_80259A58:
/* 80259A58 002556B8  80 1F 00 34 */	lwz r0, 0x34(r31)
/* 80259A5C 002556BC  7C 05 00 40 */	cmplw r5, r0
/* 80259A60 002556C0  41 80 FF C8 */	blt lbl_80259A28
/* 80259A64 002556C4  38 00 00 02 */	li r0, 2
/* 80259A68 002556C8  98 1F 00 69 */	stb r0, 0x69(r31)
/* 80259A6C 002556CC  98 1F 00 68 */	stb r0, 0x68(r31)
lbl_80259A70:
/* 80259A70 002556D0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80259A74 002556D4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80259A78 002556D8  7C 08 03 A6 */	mtlr r0
/* 80259A7C 002556DC  38 21 00 10 */	addi r1, r1, 0x10
/* 80259A80 002556E0  4E 80 00 20 */	blr

.global func_80259A84
func_80259A84:
/* 80259A84 002556E4  38 A0 00 01 */	li r5, 1
/* 80259A88 002556E8  38 6D A6 50 */	addi r3, r13, lbl_8063F910-_SDA_BASE_
/* 80259A8C 002556EC  38 80 00 04 */	li r4, 4
/* 80259A90 002556F0  38 00 00 00 */	li r0, 0
/* 80259A94 002556F4  98 AD A6 50 */	stb r5, lbl_8063F910-_SDA_BASE_(r13)
/* 80259A98 002556F8  B0 83 00 02 */	sth r4, 2(r3)
/* 80259A9C 002556FC  98 03 00 04 */	stb r0, 4(r3)
/* 80259AA0 00255700  4E 80 00 20 */	blr