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
|