1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_802FFF1C
func_802FFF1C:
/* 802FFF1C 002FBB7C 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 802FFF20 002FBB80 7C 2C 0B 78 */ mr r12, r1
/* 802FFF24 002FBB84 21 6B FE 60 */ subfic r11, r11, -416
/* 802FFF28 002FBB88 7C 21 59 6E */ stwux r1, r1, r11
/* 802FFF2C 002FBB8C 7C 08 02 A6 */ mflr r0
/* 802FFF30 002FBB90 3C A0 80 44 */ lis r5, lbl_80446240@ha
/* 802FFF34 002FBB94 90 0C 00 04 */ stw r0, 4(r12)
/* 802FFF38 002FBB98 93 EC FF FC */ stw r31, -4(r12)
/* 802FFF3C 002FBB9C 93 CC FF F8 */ stw r30, -8(r12)
/* 802FFF40 002FBBA0 93 AC FF F4 */ stw r29, -0xc(r12)
/* 802FFF44 002FBBA4 7C 9D 23 78 */ mr r29, r4
/* 802FFF48 002FBBA8 38 80 00 00 */ li r4, 0
/* 802FFF4C 002FBBAC 93 8C FF F0 */ stw r28, -0x10(r12)
/* 802FFF50 002FBBB0 7C 7C 1B 78 */ mr r28, r3
/* 802FFF54 002FBBB4 38 65 62 40 */ addi r3, r5, lbl_80446240@l
/* 802FFF58 002FBBB8 4B FA 32 01 */ bl IOS_Open
/* 802FFF5C 002FBBBC 2C 03 00 00 */ cmpwi r3, 0
/* 802FFF60 002FBBC0 7C 7F 1B 78 */ mr r31, r3
/* 802FFF64 002FBBC4 40 80 00 0C */ bge lbl_802FFF70
/* 802FFF68 002FBBC8 38 60 FF FF */ li r3, -1
/* 802FFF6C 002FBBCC 48 00 00 C8 */ b lbl_80300034
lbl_802FFF70:
/* 802FFF70 002FBBD0 7F A3 EB 78 */ mr r3, r29
/* 802FFF74 002FBBD4 38 80 00 00 */ li r4, 0
/* 802FFF78 002FBBD8 48 00 00 0C */ b lbl_802FFF84
lbl_802FFF7C:
/* 802FFF7C 002FBBDC 38 84 00 01 */ addi r4, r4, 1
/* 802FFF80 002FBBE0 38 63 00 01 */ addi r3, r3, 1
lbl_802FFF84:
/* 802FFF84 002FBBE4 28 04 01 00 */ cmplwi r4, 0x100
/* 802FFF88 002FBBE8 40 80 00 10 */ bge lbl_802FFF98
/* 802FFF8C 002FBBEC 88 03 00 00 */ lbz r0, 0(r3)
/* 802FFF90 002FBBF0 7C 00 07 75 */ extsb. r0, r0
/* 802FFF94 002FBBF4 40 82 FF E8 */ bne lbl_802FFF7C
lbl_802FFF98:
/* 802FFF98 002FBBF8 7F DD 18 51 */ subf. r30, r29, r3
/* 802FFF9C 002FBBFC 40 82 00 0C */ bne lbl_802FFFA8
/* 802FFFA0 002FBC00 38 60 FF FF */ li r3, -1
/* 802FFFA4 002FBC04 48 00 00 90 */ b lbl_80300034
lbl_802FFFA8:
/* 802FFFA8 002FBC08 38 61 00 80 */ addi r3, r1, 0x80
/* 802FFFAC 002FBC0C 38 80 00 00 */ li r4, 0
/* 802FFFB0 002FBC10 38 A0 01 00 */ li r5, 0x100
/* 802FFFB4 002FBC14 4B D0 41 51 */ bl memset
/* 802FFFB8 002FBC18 28 1E 01 00 */ cmplwi r30, 0x100
/* 802FFFBC 002FBC1C 40 81 00 08 */ ble lbl_802FFFC4
/* 802FFFC0 002FBC20 3B C0 01 00 */ li r30, 0x100
lbl_802FFFC4:
/* 802FFFC4 002FBC24 7F A4 EB 78 */ mr r4, r29
/* 802FFFC8 002FBC28 7F C5 F3 78 */ mr r5, r30
/* 802FFFCC 002FBC2C 38 61 00 80 */ addi r3, r1, 0x80
/* 802FFFD0 002FBC30 4B D0 40 31 */ bl memcpy
/* 802FFFD4 002FBC34 39 40 00 20 */ li r10, 0x20
/* 802FFFD8 002FBC38 39 61 00 40 */ addi r11, r1, 0x40
/* 802FFFDC 002FBC3C 39 21 00 20 */ addi r9, r1, 0x20
/* 802FFFE0 002FBC40 39 01 00 80 */ addi r8, r1, 0x80
/* 802FFFE4 002FBC44 38 60 FF FF */ li r3, -1
/* 802FFFE8 002FBC48 38 00 01 00 */ li r0, 0x100
/* 802FFFEC 002FBC4C 90 61 00 40 */ stw r3, 0x40(r1)
/* 802FFFF0 002FBC50 7F E3 FB 78 */ mr r3, r31
/* 802FFFF4 002FBC54 38 E1 00 60 */ addi r7, r1, 0x60
/* 802FFFF8 002FBC58 38 80 00 01 */ li r4, 1
/* 802FFFFC 002FBC5C 93 81 00 20 */ stw r28, 0x20(r1)
/* 80300000 002FBC60 38 A0 00 01 */ li r5, 1
/* 80300004 002FBC64 38 C0 00 02 */ li r6, 2
/* 80300008 002FBC68 91 61 00 60 */ stw r11, 0x60(r1)
/* 8030000C 002FBC6C 91 41 00 64 */ stw r10, 0x64(r1)
/* 80300010 002FBC70 91 21 00 68 */ stw r9, 0x68(r1)
/* 80300014 002FBC74 91 41 00 6C */ stw r10, 0x6c(r1)
/* 80300018 002FBC78 91 01 00 70 */ stw r8, 0x70(r1)
/* 8030001C 002FBC7C 90 01 00 74 */ stw r0, 0x74(r1)
/* 80300020 002FBC80 4B FA 3E 21 */ bl IOS_Ioctlv
/* 80300024 002FBC84 7F E3 FB 78 */ mr r3, r31
/* 80300028 002FBC88 4B FA 33 11 */ bl IOS_Close
/* 8030002C 002FBC8C 80 61 00 60 */ lwz r3, 0x60(r1)
/* 80300030 002FBC90 80 63 00 00 */ lwz r3, 0(r3)
lbl_80300034:
/* 80300034 002FBC94 81 41 00 00 */ lwz r10, 0(r1)
/* 80300038 002FBC98 80 0A 00 04 */ lwz r0, 4(r10)
/* 8030003C 002FBC9C 83 EA FF FC */ lwz r31, -4(r10)
/* 80300040 002FBCA0 83 CA FF F8 */ lwz r30, -8(r10)
/* 80300044 002FBCA4 83 AA FF F4 */ lwz r29, -0xc(r10)
/* 80300048 002FBCA8 83 8A FF F0 */ lwz r28, -0x10(r10)
/* 8030004C 002FBCAC 7C 08 03 A6 */ mtlr r0
/* 80300050 002FBCB0 7D 41 53 78 */ mr r1, r10
/* 80300054 002FBCB4 4E 80 00 20 */ blr
.global func_80300058
func_80300058:
/* 80300058 002FBCB8 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 8030005C 002FBCBC 7C 2C 0B 78 */ mr r12, r1
/* 80300060 002FBCC0 21 6B FF 40 */ subfic r11, r11, -192
/* 80300064 002FBCC4 7C 21 59 6E */ stwux r1, r1, r11
/* 80300068 002FBCC8 7C 08 02 A6 */ mflr r0
/* 8030006C 002FBCCC 3C A0 80 44 */ lis r5, lbl_80446240@ha
/* 80300070 002FBCD0 90 0C 00 04 */ stw r0, 4(r12)
/* 80300074 002FBCD4 93 EC FF FC */ stw r31, -4(r12)
/* 80300078 002FBCD8 93 CC FF F8 */ stw r30, -8(r12)
/* 8030007C 002FBCDC 7C 9E 23 78 */ mr r30, r4
/* 80300080 002FBCE0 38 80 00 00 */ li r4, 0
/* 80300084 002FBCE4 93 AC FF F4 */ stw r29, -0xc(r12)
/* 80300088 002FBCE8 7C 7D 1B 78 */ mr r29, r3
/* 8030008C 002FBCEC 38 65 62 40 */ addi r3, r5, lbl_80446240@l
/* 80300090 002FBCF0 4B FA 30 C9 */ bl IOS_Open
/* 80300094 002FBCF4 2C 03 00 00 */ cmpwi r3, 0
/* 80300098 002FBCF8 7C 7F 1B 78 */ mr r31, r3
/* 8030009C 002FBCFC 40 80 00 0C */ bge lbl_803000A8
/* 803000A0 002FBD00 38 60 FF FF */ li r3, -1
/* 803000A4 002FBD04 48 00 00 5C */ b lbl_80300100
lbl_803000A8:
/* 803000A8 002FBD08 39 20 00 20 */ li r9, 0x20
/* 803000AC 002FBD0C 39 41 00 20 */ addi r10, r1, 0x20
/* 803000B0 002FBD10 39 01 00 60 */ addi r8, r1, 0x60
/* 803000B4 002FBD14 38 01 00 40 */ addi r0, r1, 0x40
/* 803000B8 002FBD18 39 60 FF FF */ li r11, -1
/* 803000BC 002FBD1C 93 A1 00 60 */ stw r29, 0x60(r1)
/* 803000C0 002FBD20 38 E1 00 80 */ addi r7, r1, 0x80
/* 803000C4 002FBD24 38 80 00 02 */ li r4, 2
/* 803000C8 002FBD28 93 C1 00 40 */ stw r30, 0x40(r1)
/* 803000CC 002FBD2C 38 A0 00 01 */ li r5, 1
/* 803000D0 002FBD30 38 C0 00 02 */ li r6, 2
/* 803000D4 002FBD34 91 61 00 20 */ stw r11, 0x20(r1)
/* 803000D8 002FBD38 91 41 00 80 */ stw r10, 0x80(r1)
/* 803000DC 002FBD3C 91 21 00 84 */ stw r9, 0x84(r1)
/* 803000E0 002FBD40 91 01 00 88 */ stw r8, 0x88(r1)
/* 803000E4 002FBD44 91 21 00 8C */ stw r9, 0x8c(r1)
/* 803000E8 002FBD48 90 01 00 90 */ stw r0, 0x90(r1)
/* 803000EC 002FBD4C 91 21 00 94 */ stw r9, 0x94(r1)
/* 803000F0 002FBD50 4B FA 3D 51 */ bl IOS_Ioctlv
/* 803000F4 002FBD54 7F E3 FB 78 */ mr r3, r31
/* 803000F8 002FBD58 4B FA 32 41 */ bl IOS_Close
/* 803000FC 002FBD5C 80 61 00 20 */ lwz r3, 0x20(r1)
lbl_80300100:
/* 80300100 002FBD60 81 41 00 00 */ lwz r10, 0(r1)
/* 80300104 002FBD64 80 0A 00 04 */ lwz r0, 4(r10)
/* 80300108 002FBD68 83 EA FF FC */ lwz r31, -4(r10)
/* 8030010C 002FBD6C 83 CA FF F8 */ lwz r30, -8(r10)
/* 80300110 002FBD70 83 AA FF F4 */ lwz r29, -0xc(r10)
/* 80300114 002FBD74 7C 08 03 A6 */ mtlr r0
/* 80300118 002FBD78 7D 41 53 78 */ mr r1, r10
/* 8030011C 002FBD7C 4E 80 00 20 */ blr
.global func_80300120
func_80300120:
/* 80300120 002FBD80 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 80300124 002FBD84 7C 2C 0B 78 */ mr r12, r1
/* 80300128 002FBD88 21 6B FF 60 */ subfic r11, r11, -160
/* 8030012C 002FBD8C 7C 21 59 6E */ stwux r1, r1, r11
/* 80300130 002FBD90 7C 08 02 A6 */ mflr r0
/* 80300134 002FBD94 3C 80 80 44 */ lis r4, lbl_80446240@ha
/* 80300138 002FBD98 90 0C 00 04 */ stw r0, 4(r12)
/* 8030013C 002FBD9C 93 EC FF FC */ stw r31, -4(r12)
/* 80300140 002FBDA0 93 CC FF F8 */ stw r30, -8(r12)
/* 80300144 002FBDA4 7C 7E 1B 78 */ mr r30, r3
/* 80300148 002FBDA8 38 64 62 40 */ addi r3, r4, lbl_80446240@l
/* 8030014C 002FBDAC 38 80 00 00 */ li r4, 0
/* 80300150 002FBDB0 4B FA 30 09 */ bl IOS_Open
/* 80300154 002FBDB4 2C 03 00 00 */ cmpwi r3, 0
/* 80300158 002FBDB8 7C 7F 1B 78 */ mr r31, r3
/* 8030015C 002FBDBC 40 80 00 0C */ bge lbl_80300168
/* 80300160 002FBDC0 38 60 FF FF */ li r3, -1
/* 80300164 002FBDC4 48 00 00 4C */ b lbl_803001B0
lbl_80300168:
/* 80300168 002FBDC8 39 00 00 20 */ li r8, 0x20
/* 8030016C 002FBDCC 39 21 00 20 */ addi r9, r1, 0x20
/* 80300170 002FBDD0 38 01 00 40 */ addi r0, r1, 0x40
/* 80300174 002FBDD4 38 C0 FF FF */ li r6, -1
/* 80300178 002FBDD8 90 C1 00 20 */ stw r6, 0x20(r1)
/* 8030017C 002FBDDC 38 E1 00 60 */ addi r7, r1, 0x60
/* 80300180 002FBDE0 38 80 00 03 */ li r4, 3
/* 80300184 002FBDE4 38 A0 00 01 */ li r5, 1
/* 80300188 002FBDE8 93 C1 00 40 */ stw r30, 0x40(r1)
/* 8030018C 002FBDEC 38 C0 00 01 */ li r6, 1
/* 80300190 002FBDF0 91 21 00 60 */ stw r9, 0x60(r1)
/* 80300194 002FBDF4 91 01 00 64 */ stw r8, 0x64(r1)
/* 80300198 002FBDF8 90 01 00 68 */ stw r0, 0x68(r1)
/* 8030019C 002FBDFC 91 01 00 6C */ stw r8, 0x6c(r1)
/* 803001A0 002FBE00 4B FA 3C A1 */ bl IOS_Ioctlv
/* 803001A4 002FBE04 7F E3 FB 78 */ mr r3, r31
/* 803001A8 002FBE08 4B FA 31 91 */ bl IOS_Close
/* 803001AC 002FBE0C 80 61 00 20 */ lwz r3, 0x20(r1)
lbl_803001B0:
/* 803001B0 002FBE10 81 41 00 00 */ lwz r10, 0(r1)
/* 803001B4 002FBE14 80 0A 00 04 */ lwz r0, 4(r10)
/* 803001B8 002FBE18 83 EA FF FC */ lwz r31, -4(r10)
/* 803001BC 002FBE1C 83 CA FF F8 */ lwz r30, -8(r10)
/* 803001C0 002FBE20 7C 08 03 A6 */ mtlr r0
/* 803001C4 002FBE24 7D 41 53 78 */ mr r1, r10
/* 803001C8 002FBE28 4E 80 00 20 */ blr
.global func_803001CC
func_803001CC:
/* 803001CC 002FBE2C 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 803001D0 002FBE30 7C 2C 0B 78 */ mr r12, r1
/* 803001D4 002FBE34 21 6B FE 80 */ subfic r11, r11, -384
/* 803001D8 002FBE38 7C 21 59 6E */ stwux r1, r1, r11
/* 803001DC 002FBE3C 7C 08 02 A6 */ mflr r0
/* 803001E0 002FBE40 7D 8B 63 78 */ mr r11, r12
/* 803001E4 002FBE44 90 0C 00 04 */ stw r0, 4(r12)
/* 803001E8 002FBE48 4B EC 6F 35 */ bl _savegpr_24
/* 803001EC 002FBE4C 3C C0 80 44 */ lis r6, lbl_80446240@ha
/* 803001F0 002FBE50 7C 7C 1B 78 */ mr r28, r3
/* 803001F4 002FBE54 7C 9D 23 78 */ mr r29, r4
/* 803001F8 002FBE58 7C BE 2B 78 */ mr r30, r5
/* 803001FC 002FBE5C 38 66 62 40 */ addi r3, r6, lbl_80446240@l
/* 80300200 002FBE60 38 80 00 00 */ li r4, 0
/* 80300204 002FBE64 4B FA 2F 55 */ bl IOS_Open
/* 80300208 002FBE68 2C 03 00 00 */ cmpwi r3, 0
/* 8030020C 002FBE6C 7C 7F 1B 78 */ mr r31, r3
/* 80300210 002FBE70 3B 40 FF FF */ li r26, -1
/* 80300214 002FBE74 40 80 00 0C */ bge lbl_80300220
/* 80300218 002FBE78 38 60 FF FF */ li r3, -1
/* 8030021C 002FBE7C 48 00 02 54 */ b lbl_80300470
lbl_80300220:
/* 80300220 002FBE80 57 A0 06 FF */ clrlwi. r0, r29, 0x1b
/* 80300224 002FBE84 41 82 00 0C */ beq lbl_80300230
/* 80300228 002FBE88 23 20 00 20 */ subfic r25, r0, 0x20
/* 8030022C 002FBE8C 48 00 00 08 */ b lbl_80300234
lbl_80300230:
/* 80300230 002FBE90 3B 20 00 00 */ li r25, 0
lbl_80300234:
/* 80300234 002FBE94 38 61 01 40 */ addi r3, r1, 0x140
/* 80300238 002FBE98 3B 00 00 00 */ li r24, 0
/* 8030023C 002FBE9C 38 80 00 00 */ li r4, 0
/* 80300240 002FBEA0 38 A0 00 20 */ li r5, 0x20
/* 80300244 002FBEA4 4B D0 3E C1 */ bl memset
/* 80300248 002FBEA8 2C 19 00 00 */ cmpwi r25, 0
/* 8030024C 002FBEAC 41 82 00 B0 */ beq lbl_803002FC
/* 80300250 002FBEB0 7C 19 F0 40 */ cmplw r25, r30
/* 80300254 002FBEB4 40 81 00 08 */ ble lbl_8030025C
/* 80300258 002FBEB8 7F D9 F3 78 */ mr r25, r30
lbl_8030025C:
/* 8030025C 002FBEBC 39 00 00 20 */ li r8, 0x20
/* 80300260 002FBEC0 39 21 01 20 */ addi r9, r1, 0x120
/* 80300264 002FBEC4 3B 61 01 40 */ addi r27, r1, 0x140
/* 80300268 002FBEC8 38 01 01 00 */ addi r0, r1, 0x100
/* 8030026C 002FBECC 38 80 FF FF */ li r4, -1
/* 80300270 002FBED0 93 81 01 00 */ stw r28, 0x100(r1)
/* 80300274 002FBED4 7F E3 FB 78 */ mr r3, r31
/* 80300278 002FBED8 38 E1 00 E0 */ addi r7, r1, 0xe0
/* 8030027C 002FBEDC 90 81 01 20 */ stw r4, 0x120(r1)
/* 80300280 002FBEE0 38 80 00 04 */ li r4, 4
/* 80300284 002FBEE4 38 A0 00 02 */ li r5, 2
/* 80300288 002FBEE8 38 C0 00 01 */ li r6, 1
/* 8030028C 002FBEEC 91 21 00 E0 */ stw r9, 0xe0(r1)
/* 80300290 002FBEF0 91 01 00 E4 */ stw r8, 0xe4(r1)
/* 80300294 002FBEF4 93 61 00 E8 */ stw r27, 0xe8(r1)
/* 80300298 002FBEF8 93 21 00 EC */ stw r25, 0xec(r1)
/* 8030029C 002FBEFC 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 803002A0 002FBF00 91 01 00 F4 */ stw r8, 0xf4(r1)
/* 803002A4 002FBF04 4B FA 3B 9D */ bl IOS_Ioctlv
/* 803002A8 002FBF08 83 41 01 20 */ lwz r26, 0x120(r1)
/* 803002AC 002FBF0C 2C 1A 00 00 */ cmpwi r26, 0
/* 803002B0 002FBF10 40 81 00 3C */ ble lbl_803002EC
/* 803002B4 002FBF14 7F 58 D3 78 */ mr r24, r26
/* 803002B8 002FBF18 7F A3 EB 78 */ mr r3, r29
/* 803002BC 002FBF1C 7F 64 DB 78 */ mr r4, r27
/* 803002C0 002FBF20 7F 45 D3 78 */ mr r5, r26
/* 803002C4 002FBF24 4B D0 3D 3D */ bl memcpy
/* 803002C8 002FBF28 7C 1A C8 40 */ cmplw r26, r25
/* 803002CC 002FBF2C 40 80 00 14 */ bge lbl_803002E0
/* 803002D0 002FBF30 7F E3 FB 78 */ mr r3, r31
/* 803002D4 002FBF34 4B FA 30 65 */ bl IOS_Close
/* 803002D8 002FBF38 7F 03 C3 78 */ mr r3, r24
/* 803002DC 002FBF3C 48 00 01 94 */ b lbl_80300470
lbl_803002E0:
/* 803002E0 002FBF40 7F BD D2 14 */ add r29, r29, r26
/* 803002E4 002FBF44 7F DA F0 50 */ subf r30, r26, r30
/* 803002E8 002FBF48 48 00 00 14 */ b lbl_803002FC
lbl_803002EC:
/* 803002EC 002FBF4C 7F E3 FB 78 */ mr r3, r31
/* 803002F0 002FBF50 4B FA 30 49 */ bl IOS_Close
/* 803002F4 002FBF54 7F 43 D3 78 */ mr r3, r26
/* 803002F8 002FBF58 48 00 01 78 */ b lbl_80300470
lbl_803002FC:
/* 803002FC 002FBF5C 2C 1E 00 00 */ cmpwi r30, 0
/* 80300300 002FBF60 41 82 00 A8 */ beq lbl_803003A8
/* 80300304 002FBF64 57 D9 00 35 */ rlwinm. r25, r30, 0, 0, 0x1a
/* 80300308 002FBF68 41 82 00 A0 */ beq lbl_803003A8
/* 8030030C 002FBF6C 39 00 00 20 */ li r8, 0x20
/* 80300310 002FBF70 39 21 00 C0 */ addi r9, r1, 0xc0
/* 80300314 002FBF74 38 01 00 A0 */ addi r0, r1, 0xa0
/* 80300318 002FBF78 38 A0 FF FF */ li r5, -1
/* 8030031C 002FBF7C 90 A1 00 C0 */ stw r5, 0xc0(r1)
/* 80300320 002FBF80 7F E3 FB 78 */ mr r3, r31
/* 80300324 002FBF84 38 E1 00 80 */ addi r7, r1, 0x80
/* 80300328 002FBF88 38 80 00 04 */ li r4, 4
/* 8030032C 002FBF8C 93 81 00 A0 */ stw r28, 0xa0(r1)
/* 80300330 002FBF90 38 A0 00 02 */ li r5, 2
/* 80300334 002FBF94 38 C0 00 01 */ li r6, 1
/* 80300338 002FBF98 91 21 00 80 */ stw r9, 0x80(r1)
/* 8030033C 002FBF9C 91 01 00 84 */ stw r8, 0x84(r1)
/* 80300340 002FBFA0 93 A1 00 88 */ stw r29, 0x88(r1)
/* 80300344 002FBFA4 93 21 00 8C */ stw r25, 0x8c(r1)
/* 80300348 002FBFA8 90 01 00 90 */ stw r0, 0x90(r1)
/* 8030034C 002FBFAC 91 01 00 94 */ stw r8, 0x94(r1)
/* 80300350 002FBFB0 4B FA 3A F1 */ bl IOS_Ioctlv
/* 80300354 002FBFB4 83 41 00 C0 */ lwz r26, 0xc0(r1)
/* 80300358 002FBFB8 2C 1A 00 00 */ cmpwi r26, 0
/* 8030035C 002FBFBC 40 81 00 2C */ ble lbl_80300388
/* 80300360 002FBFC0 7C 1A C8 40 */ cmplw r26, r25
/* 80300364 002FBFC4 7F 18 D2 14 */ add r24, r24, r26
/* 80300368 002FBFC8 40 80 00 14 */ bge lbl_8030037C
/* 8030036C 002FBFCC 7F E3 FB 78 */ mr r3, r31
/* 80300370 002FBFD0 4B FA 2F C9 */ bl IOS_Close
/* 80300374 002FBFD4 7F 03 C3 78 */ mr r3, r24
/* 80300378 002FBFD8 48 00 00 F8 */ b lbl_80300470
lbl_8030037C:
/* 8030037C 002FBFDC 7F BD D2 14 */ add r29, r29, r26
/* 80300380 002FBFE0 7F DA F0 50 */ subf r30, r26, r30
/* 80300384 002FBFE4 48 00 00 24 */ b lbl_803003A8
lbl_80300388:
/* 80300388 002FBFE8 7F E3 FB 78 */ mr r3, r31
/* 8030038C 002FBFEC 4B FA 2F AD */ bl IOS_Close
/* 80300390 002FBFF0 2C 18 00 00 */ cmpwi r24, 0
/* 80300394 002FBFF4 40 81 00 0C */ ble lbl_803003A0
/* 80300398 002FBFF8 7F 03 C3 78 */ mr r3, r24
/* 8030039C 002FBFFC 48 00 00 D4 */ b lbl_80300470
lbl_803003A0:
/* 803003A0 002FC000 7F 43 D3 78 */ mr r3, r26
/* 803003A4 002FC004 48 00 00 CC */ b lbl_80300470
lbl_803003A8:
/* 803003A8 002FC008 2C 1E 00 00 */ cmpwi r30, 0
/* 803003AC 002FC00C 41 82 00 AC */ beq lbl_80300458
/* 803003B0 002FC010 57 D9 06 FF */ clrlwi. r25, r30, 0x1b
/* 803003B4 002FC014 41 82 00 A4 */ beq lbl_80300458
/* 803003B8 002FC018 38 61 01 40 */ addi r3, r1, 0x140
/* 803003BC 002FC01C 38 80 00 00 */ li r4, 0
/* 803003C0 002FC020 38 A0 00 20 */ li r5, 0x20
/* 803003C4 002FC024 4B D0 3D 41 */ bl memset
/* 803003C8 002FC028 39 00 00 20 */ li r8, 0x20
/* 803003CC 002FC02C 39 21 00 60 */ addi r9, r1, 0x60
/* 803003D0 002FC030 3B C1 01 40 */ addi r30, r1, 0x140
/* 803003D4 002FC034 38 01 00 40 */ addi r0, r1, 0x40
/* 803003D8 002FC038 38 80 FF FF */ li r4, -1
/* 803003DC 002FC03C 93 81 00 40 */ stw r28, 0x40(r1)
/* 803003E0 002FC040 7F E3 FB 78 */ mr r3, r31
/* 803003E4 002FC044 38 E1 00 20 */ addi r7, r1, 0x20
/* 803003E8 002FC048 90 81 00 60 */ stw r4, 0x60(r1)
/* 803003EC 002FC04C 38 80 00 04 */ li r4, 4
/* 803003F0 002FC050 38 A0 00 02 */ li r5, 2
/* 803003F4 002FC054 38 C0 00 01 */ li r6, 1
/* 803003F8 002FC058 91 21 00 20 */ stw r9, 0x20(r1)
/* 803003FC 002FC05C 91 01 00 24 */ stw r8, 0x24(r1)
/* 80300400 002FC060 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80300404 002FC064 93 21 00 2C */ stw r25, 0x2c(r1)
/* 80300408 002FC068 90 01 00 30 */ stw r0, 0x30(r1)
/* 8030040C 002FC06C 91 01 00 34 */ stw r8, 0x34(r1)
/* 80300410 002FC070 4B FA 3A 31 */ bl IOS_Ioctlv
/* 80300414 002FC074 83 41 00 60 */ lwz r26, 0x60(r1)
/* 80300418 002FC078 2C 1A 00 00 */ cmpwi r26, 0
/* 8030041C 002FC07C 40 81 00 1C */ ble lbl_80300438
/* 80300420 002FC080 7F A3 EB 78 */ mr r3, r29
/* 80300424 002FC084 7F C4 F3 78 */ mr r4, r30
/* 80300428 002FC088 7F 45 D3 78 */ mr r5, r26
/* 8030042C 002FC08C 7F 18 D2 14 */ add r24, r24, r26
/* 80300430 002FC090 4B D0 3B D1 */ bl memcpy
/* 80300434 002FC094 48 00 00 24 */ b lbl_80300458
lbl_80300438:
/* 80300438 002FC098 7F E3 FB 78 */ mr r3, r31
/* 8030043C 002FC09C 4B FA 2E FD */ bl IOS_Close
/* 80300440 002FC0A0 2C 18 00 00 */ cmpwi r24, 0
/* 80300444 002FC0A4 40 81 00 0C */ ble lbl_80300450
/* 80300448 002FC0A8 7F 03 C3 78 */ mr r3, r24
/* 8030044C 002FC0AC 48 00 00 24 */ b lbl_80300470
lbl_80300450:
/* 80300450 002FC0B0 7F 43 D3 78 */ mr r3, r26
/* 80300454 002FC0B4 48 00 00 1C */ b lbl_80300470
lbl_80300458:
/* 80300458 002FC0B8 2C 18 00 00 */ cmpwi r24, 0
/* 8030045C 002FC0BC 40 81 00 08 */ ble lbl_80300464
/* 80300460 002FC0C0 7F 1A C3 78 */ mr r26, r24
lbl_80300464:
/* 80300464 002FC0C4 7F E3 FB 78 */ mr r3, r31
/* 80300468 002FC0C8 4B FA 2E D1 */ bl IOS_Close
/* 8030046C 002FC0CC 7F 43 D3 78 */ mr r3, r26
lbl_80300470:
/* 80300470 002FC0D0 81 41 00 00 */ lwz r10, 0(r1)
/* 80300474 002FC0D4 7D 4B 53 78 */ mr r11, r10
/* 80300478 002FC0D8 4B EC 6C F1 */ bl _restgpr_24
/* 8030047C 002FC0DC 80 0A 00 04 */ lwz r0, 4(r10)
/* 80300480 002FC0E0 7C 08 03 A6 */ mtlr r0
/* 80300484 002FC0E4 7D 41 53 78 */ mr r1, r10
/* 80300488 002FC0E8 4E 80 00 20 */ blr
.global func_8030048C
func_8030048C:
/* 8030048C 002FC0EC 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 80300490 002FC0F0 7C 2C 0B 78 */ mr r12, r1
/* 80300494 002FC0F4 21 6B FE 80 */ subfic r11, r11, -384
/* 80300498 002FC0F8 7C 21 59 6E */ stwux r1, r1, r11
/* 8030049C 002FC0FC 7C 08 02 A6 */ mflr r0
/* 803004A0 002FC100 7D 8B 63 78 */ mr r11, r12
/* 803004A4 002FC104 90 0C 00 04 */ stw r0, 4(r12)
/* 803004A8 002FC108 4B EC 6C 79 */ bl _savegpr_25
/* 803004AC 002FC10C 3C C0 80 44 */ lis r6, lbl_80446240@ha
/* 803004B0 002FC110 7C 7C 1B 78 */ mr r28, r3
/* 803004B4 002FC114 7C 9D 23 78 */ mr r29, r4
/* 803004B8 002FC118 7C BE 2B 78 */ mr r30, r5
/* 803004BC 002FC11C 38 66 62 40 */ addi r3, r6, lbl_80446240@l
/* 803004C0 002FC120 38 80 00 00 */ li r4, 0
/* 803004C4 002FC124 4B FA 2C 95 */ bl IOS_Open
/* 803004C8 002FC128 2C 03 00 00 */ cmpwi r3, 0
/* 803004CC 002FC12C 7C 7F 1B 78 */ mr r31, r3
/* 803004D0 002FC130 3B 60 FF FF */ li r27, -1
/* 803004D4 002FC134 40 80 00 0C */ bge lbl_803004E0
/* 803004D8 002FC138 38 60 FF FF */ li r3, -1
/* 803004DC 002FC13C 48 00 02 54 */ b lbl_80300730
lbl_803004E0:
/* 803004E0 002FC140 57 A0 06 FF */ clrlwi. r0, r29, 0x1b
/* 803004E4 002FC144 41 82 00 0C */ beq lbl_803004F0
/* 803004E8 002FC148 23 40 00 20 */ subfic r26, r0, 0x20
/* 803004EC 002FC14C 48 00 00 08 */ b lbl_803004F4
lbl_803004F0:
/* 803004F0 002FC150 3B 40 00 00 */ li r26, 0
lbl_803004F4:
/* 803004F4 002FC154 38 61 01 40 */ addi r3, r1, 0x140
/* 803004F8 002FC158 3B 20 00 00 */ li r25, 0
/* 803004FC 002FC15C 38 80 00 00 */ li r4, 0
/* 80300500 002FC160 38 A0 00 20 */ li r5, 0x20
/* 80300504 002FC164 4B D0 3C 01 */ bl memset
/* 80300508 002FC168 2C 1A 00 00 */ cmpwi r26, 0
/* 8030050C 002FC16C 41 82 00 B0 */ beq lbl_803005BC
/* 80300510 002FC170 7C 1A F0 40 */ cmplw r26, r30
/* 80300514 002FC174 40 81 00 08 */ ble lbl_8030051C
/* 80300518 002FC178 7F DA F3 78 */ mr r26, r30
lbl_8030051C:
/* 8030051C 002FC17C 7F A4 EB 78 */ mr r4, r29
/* 80300520 002FC180 7F 45 D3 78 */ mr r5, r26
/* 80300524 002FC184 38 61 01 40 */ addi r3, r1, 0x140
/* 80300528 002FC188 4B D0 3A D9 */ bl memcpy
/* 8030052C 002FC18C 39 20 00 20 */ li r9, 0x20
/* 80300530 002FC190 39 41 01 20 */ addi r10, r1, 0x120
/* 80300534 002FC194 39 01 01 00 */ addi r8, r1, 0x100
/* 80300538 002FC198 38 01 01 40 */ addi r0, r1, 0x140
/* 8030053C 002FC19C 38 80 FF FF */ li r4, -1
/* 80300540 002FC1A0 93 81 01 00 */ stw r28, 0x100(r1)
/* 80300544 002FC1A4 7F E3 FB 78 */ mr r3, r31
/* 80300548 002FC1A8 38 E1 00 E0 */ addi r7, r1, 0xe0
/* 8030054C 002FC1AC 90 81 01 20 */ stw r4, 0x120(r1)
/* 80300550 002FC1B0 38 80 00 05 */ li r4, 5
/* 80300554 002FC1B4 38 A0 00 01 */ li r5, 1
/* 80300558 002FC1B8 38 C0 00 02 */ li r6, 2
/* 8030055C 002FC1BC 91 41 00 E0 */ stw r10, 0xe0(r1)
/* 80300560 002FC1C0 91 21 00 E4 */ stw r9, 0xe4(r1)
/* 80300564 002FC1C4 91 01 00 E8 */ stw r8, 0xe8(r1)
/* 80300568 002FC1C8 91 21 00 EC */ stw r9, 0xec(r1)
/* 8030056C 002FC1CC 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 80300570 002FC1D0 93 41 00 F4 */ stw r26, 0xf4(r1)
/* 80300574 002FC1D4 4B FA 38 CD */ bl IOS_Ioctlv
/* 80300578 002FC1D8 83 61 01 20 */ lwz r27, 0x120(r1)
/* 8030057C 002FC1DC 2C 1B 00 00 */ cmpwi r27, 0
/* 80300580 002FC1E0 40 81 00 2C */ ble lbl_803005AC
/* 80300584 002FC1E4 7C 1B D0 40 */ cmplw r27, r26
/* 80300588 002FC1E8 7F 79 DB 78 */ mr r25, r27
/* 8030058C 002FC1EC 40 80 00 14 */ bge lbl_803005A0
/* 80300590 002FC1F0 7F E3 FB 78 */ mr r3, r31
/* 80300594 002FC1F4 4B FA 2D A5 */ bl IOS_Close
/* 80300598 002FC1F8 7F 63 DB 78 */ mr r3, r27
/* 8030059C 002FC1FC 48 00 01 94 */ b lbl_80300730
lbl_803005A0:
/* 803005A0 002FC200 7F BD DA 14 */ add r29, r29, r27
/* 803005A4 002FC204 7F DB F0 50 */ subf r30, r27, r30
/* 803005A8 002FC208 48 00 00 14 */ b lbl_803005BC
lbl_803005AC:
/* 803005AC 002FC20C 7F E3 FB 78 */ mr r3, r31
/* 803005B0 002FC210 4B FA 2D 89 */ bl IOS_Close
/* 803005B4 002FC214 7F 63 DB 78 */ mr r3, r27
/* 803005B8 002FC218 48 00 01 78 */ b lbl_80300730
lbl_803005BC:
/* 803005BC 002FC21C 2C 1E 00 00 */ cmpwi r30, 0
/* 803005C0 002FC220 41 82 00 A8 */ beq lbl_80300668
/* 803005C4 002FC224 57 DA 00 35 */ rlwinm. r26, r30, 0, 0, 0x1a
/* 803005C8 002FC228 41 82 00 A0 */ beq lbl_80300668
/* 803005CC 002FC22C 39 00 00 20 */ li r8, 0x20
/* 803005D0 002FC230 39 21 00 C0 */ addi r9, r1, 0xc0
/* 803005D4 002FC234 38 01 00 A0 */ addi r0, r1, 0xa0
/* 803005D8 002FC238 38 A0 FF FF */ li r5, -1
/* 803005DC 002FC23C 90 A1 00 C0 */ stw r5, 0xc0(r1)
/* 803005E0 002FC240 7F E3 FB 78 */ mr r3, r31
/* 803005E4 002FC244 38 E1 00 80 */ addi r7, r1, 0x80
/* 803005E8 002FC248 38 80 00 05 */ li r4, 5
/* 803005EC 002FC24C 93 81 00 A0 */ stw r28, 0xa0(r1)
/* 803005F0 002FC250 38 A0 00 01 */ li r5, 1
/* 803005F4 002FC254 38 C0 00 02 */ li r6, 2
/* 803005F8 002FC258 91 21 00 80 */ stw r9, 0x80(r1)
/* 803005FC 002FC25C 91 01 00 84 */ stw r8, 0x84(r1)
/* 80300600 002FC260 90 01 00 88 */ stw r0, 0x88(r1)
/* 80300604 002FC264 91 01 00 8C */ stw r8, 0x8c(r1)
/* 80300608 002FC268 93 A1 00 90 */ stw r29, 0x90(r1)
/* 8030060C 002FC26C 93 41 00 94 */ stw r26, 0x94(r1)
/* 80300610 002FC270 4B FA 38 31 */ bl IOS_Ioctlv
/* 80300614 002FC274 83 61 00 C0 */ lwz r27, 0xc0(r1)
/* 80300618 002FC278 2C 1B 00 00 */ cmpwi r27, 0
/* 8030061C 002FC27C 40 81 00 2C */ ble lbl_80300648
/* 80300620 002FC280 7C 1B D0 40 */ cmplw r27, r26
/* 80300624 002FC284 7F 39 DA 14 */ add r25, r25, r27
/* 80300628 002FC288 40 80 00 14 */ bge lbl_8030063C
/* 8030062C 002FC28C 7F E3 FB 78 */ mr r3, r31
/* 80300630 002FC290 4B FA 2D 09 */ bl IOS_Close
/* 80300634 002FC294 7F 23 CB 78 */ mr r3, r25
/* 80300638 002FC298 48 00 00 F8 */ b lbl_80300730
lbl_8030063C:
/* 8030063C 002FC29C 7F BD DA 14 */ add r29, r29, r27
/* 80300640 002FC2A0 7F DB F0 50 */ subf r30, r27, r30
/* 80300644 002FC2A4 48 00 00 24 */ b lbl_80300668
lbl_80300648:
/* 80300648 002FC2A8 7F E3 FB 78 */ mr r3, r31
/* 8030064C 002FC2AC 4B FA 2C ED */ bl IOS_Close
/* 80300650 002FC2B0 2C 19 00 00 */ cmpwi r25, 0
/* 80300654 002FC2B4 40 81 00 0C */ ble lbl_80300660
/* 80300658 002FC2B8 7F 23 CB 78 */ mr r3, r25
/* 8030065C 002FC2BC 48 00 00 D4 */ b lbl_80300730
lbl_80300660:
/* 80300660 002FC2C0 7F 63 DB 78 */ mr r3, r27
/* 80300664 002FC2C4 48 00 00 CC */ b lbl_80300730
lbl_80300668:
/* 80300668 002FC2C8 2C 1E 00 00 */ cmpwi r30, 0
/* 8030066C 002FC2CC 41 82 00 AC */ beq lbl_80300718
/* 80300670 002FC2D0 57 DA 06 FF */ clrlwi. r26, r30, 0x1b
/* 80300674 002FC2D4 41 82 00 A4 */ beq lbl_80300718
/* 80300678 002FC2D8 38 61 01 40 */ addi r3, r1, 0x140
/* 8030067C 002FC2DC 38 80 00 00 */ li r4, 0
/* 80300680 002FC2E0 38 A0 00 20 */ li r5, 0x20
/* 80300684 002FC2E4 4B D0 3A 81 */ bl memset
/* 80300688 002FC2E8 7F A4 EB 78 */ mr r4, r29
/* 8030068C 002FC2EC 7F 45 D3 78 */ mr r5, r26
/* 80300690 002FC2F0 38 61 01 40 */ addi r3, r1, 0x140
/* 80300694 002FC2F4 4B D0 39 6D */ bl memcpy
/* 80300698 002FC2F8 39 20 00 20 */ li r9, 0x20
/* 8030069C 002FC2FC 39 41 00 60 */ addi r10, r1, 0x60
/* 803006A0 002FC300 39 01 00 40 */ addi r8, r1, 0x40
/* 803006A4 002FC304 38 01 01 40 */ addi r0, r1, 0x140
/* 803006A8 002FC308 38 80 FF FF */ li r4, -1
/* 803006AC 002FC30C 93 81 00 40 */ stw r28, 0x40(r1)
/* 803006B0 002FC310 7F E3 FB 78 */ mr r3, r31
/* 803006B4 002FC314 38 E1 00 20 */ addi r7, r1, 0x20
/* 803006B8 002FC318 90 81 00 60 */ stw r4, 0x60(r1)
/* 803006BC 002FC31C 38 80 00 05 */ li r4, 5
/* 803006C0 002FC320 38 A0 00 01 */ li r5, 1
/* 803006C4 002FC324 38 C0 00 02 */ li r6, 2
/* 803006C8 002FC328 91 41 00 20 */ stw r10, 0x20(r1)
/* 803006CC 002FC32C 91 21 00 24 */ stw r9, 0x24(r1)
/* 803006D0 002FC330 91 01 00 28 */ stw r8, 0x28(r1)
/* 803006D4 002FC334 91 21 00 2C */ stw r9, 0x2c(r1)
/* 803006D8 002FC338 90 01 00 30 */ stw r0, 0x30(r1)
/* 803006DC 002FC33C 93 41 00 34 */ stw r26, 0x34(r1)
/* 803006E0 002FC340 4B FA 37 61 */ bl IOS_Ioctlv
/* 803006E4 002FC344 83 61 00 60 */ lwz r27, 0x60(r1)
/* 803006E8 002FC348 2C 1B 00 00 */ cmpwi r27, 0
/* 803006EC 002FC34C 40 81 00 0C */ ble lbl_803006F8
/* 803006F0 002FC350 7F 39 DA 14 */ add r25, r25, r27
/* 803006F4 002FC354 48 00 00 24 */ b lbl_80300718
lbl_803006F8:
/* 803006F8 002FC358 7F E3 FB 78 */ mr r3, r31
/* 803006FC 002FC35C 4B FA 2C 3D */ bl IOS_Close
/* 80300700 002FC360 2C 19 00 00 */ cmpwi r25, 0
/* 80300704 002FC364 40 81 00 0C */ ble lbl_80300710
/* 80300708 002FC368 7F 23 CB 78 */ mr r3, r25
/* 8030070C 002FC36C 48 00 00 24 */ b lbl_80300730
lbl_80300710:
/* 80300710 002FC370 7F 63 DB 78 */ mr r3, r27
/* 80300714 002FC374 48 00 00 1C */ b lbl_80300730
lbl_80300718:
/* 80300718 002FC378 2C 19 00 00 */ cmpwi r25, 0
/* 8030071C 002FC37C 40 81 00 08 */ ble lbl_80300724
/* 80300720 002FC380 7F 3B CB 78 */ mr r27, r25
lbl_80300724:
/* 80300724 002FC384 7F E3 FB 78 */ mr r3, r31
/* 80300728 002FC388 4B FA 2C 11 */ bl IOS_Close
/* 8030072C 002FC38C 7F 63 DB 78 */ mr r3, r27
lbl_80300730:
/* 80300730 002FC390 81 41 00 00 */ lwz r10, 0(r1)
/* 80300734 002FC394 7D 4B 53 78 */ mr r11, r10
/* 80300738 002FC398 4B EC 6A 35 */ bl _restgpr_25
/* 8030073C 002FC39C 80 0A 00 04 */ lwz r0, 4(r10)
/* 80300740 002FC3A0 7C 08 03 A6 */ mtlr r0
/* 80300744 002FC3A4 7D 41 53 78 */ mr r1, r10
/* 80300748 002FC3A8 4E 80 00 20 */ blr
.global func_8030074C
func_8030074C:
/* 8030074C 002FC3AC 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 80300750 002FC3B0 7C 2C 0B 78 */ mr r12, r1
/* 80300754 002FC3B4 21 6B FF 60 */ subfic r11, r11, -160
/* 80300758 002FC3B8 7C 21 59 6E */ stwux r1, r1, r11
/* 8030075C 002FC3BC 7C 08 02 A6 */ mflr r0
/* 80300760 002FC3C0 3C 80 80 44 */ lis r4, lbl_80446240@ha
/* 80300764 002FC3C4 90 0C 00 04 */ stw r0, 4(r12)
/* 80300768 002FC3C8 93 EC FF FC */ stw r31, -4(r12)
/* 8030076C 002FC3CC 93 CC FF F8 */ stw r30, -8(r12)
/* 80300770 002FC3D0 7C 7E 1B 78 */ mr r30, r3
/* 80300774 002FC3D4 38 64 62 40 */ addi r3, r4, lbl_80446240@l
/* 80300778 002FC3D8 38 80 00 00 */ li r4, 0
/* 8030077C 002FC3DC 4B FA 29 DD */ bl IOS_Open
/* 80300780 002FC3E0 2C 03 00 00 */ cmpwi r3, 0
/* 80300784 002FC3E4 7C 7F 1B 78 */ mr r31, r3
/* 80300788 002FC3E8 40 80 00 0C */ bge lbl_80300794
/* 8030078C 002FC3EC 38 60 FF FF */ li r3, -1
/* 80300790 002FC3F0 48 00 00 4C */ b lbl_803007DC
lbl_80300794:
/* 80300794 002FC3F4 39 00 00 20 */ li r8, 0x20
/* 80300798 002FC3F8 39 21 00 20 */ addi r9, r1, 0x20
/* 8030079C 002FC3FC 38 01 00 40 */ addi r0, r1, 0x40
/* 803007A0 002FC400 38 C0 FF FF */ li r6, -1
/* 803007A4 002FC404 90 C1 00 20 */ stw r6, 0x20(r1)
/* 803007A8 002FC408 38 E1 00 60 */ addi r7, r1, 0x60
/* 803007AC 002FC40C 38 80 00 06 */ li r4, 6
/* 803007B0 002FC410 38 A0 00 01 */ li r5, 1
/* 803007B4 002FC414 93 C1 00 40 */ stw r30, 0x40(r1)
/* 803007B8 002FC418 38 C0 00 01 */ li r6, 1
/* 803007BC 002FC41C 91 21 00 60 */ stw r9, 0x60(r1)
/* 803007C0 002FC420 91 01 00 64 */ stw r8, 0x64(r1)
/* 803007C4 002FC424 90 01 00 68 */ stw r0, 0x68(r1)
/* 803007C8 002FC428 91 01 00 6C */ stw r8, 0x6c(r1)
/* 803007CC 002FC42C 4B FA 36 75 */ bl IOS_Ioctlv
/* 803007D0 002FC430 7F E3 FB 78 */ mr r3, r31
/* 803007D4 002FC434 4B FA 2B 65 */ bl IOS_Close
/* 803007D8 002FC438 80 61 00 20 */ lwz r3, 0x20(r1)
lbl_803007DC:
/* 803007DC 002FC43C 81 41 00 00 */ lwz r10, 0(r1)
/* 803007E0 002FC440 80 0A 00 04 */ lwz r0, 4(r10)
/* 803007E4 002FC444 83 EA FF FC */ lwz r31, -4(r10)
/* 803007E8 002FC448 83 CA FF F8 */ lwz r30, -8(r10)
/* 803007EC 002FC44C 7C 08 03 A6 */ mtlr r0
/* 803007F0 002FC450 7D 41 53 78 */ mr r1, r10
/* 803007F4 002FC454 4E 80 00 20 */ blr
.global func_803007F8
func_803007F8:
/* 803007F8 002FC458 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 803007FC 002FC45C 7C 2C 0B 78 */ mr r12, r1
/* 80300800 002FC460 21 6B FF 60 */ subfic r11, r11, -160
/* 80300804 002FC464 7C 21 59 6E */ stwux r1, r1, r11
/* 80300808 002FC468 7C 08 02 A6 */ mflr r0
/* 8030080C 002FC46C 7D 8B 63 78 */ mr r11, r12
/* 80300810 002FC470 90 0C 00 04 */ stw r0, 4(r12)
/* 80300814 002FC474 4B EC 69 09 */ bl _savegpr_24
/* 80300818 002FC478 3F E0 80 58 */ lis r31, lbl_8057B780@ha
/* 8030081C 002FC47C 3D 00 80 44 */ lis r8, lbl_80446240@ha
/* 80300820 002FC480 7C 78 1B 78 */ mr r24, r3
/* 80300824 002FC484 7C 99 23 78 */ mr r25, r4
/* 80300828 002FC488 7C BA 2B 78 */ mr r26, r5
/* 8030082C 002FC48C 7C DB 33 78 */ mr r27, r6
/* 80300830 002FC490 7C FC 3B 78 */ mr r28, r7
/* 80300834 002FC494 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l
/* 80300838 002FC498 38 68 62 40 */ addi r3, r8, lbl_80446240@l
/* 8030083C 002FC49C 38 80 00 00 */ li r4, 0
/* 80300840 002FC4A0 4B FA 29 19 */ bl IOS_Open
/* 80300844 002FC4A4 2C 03 00 00 */ cmpwi r3, 0
/* 80300848 002FC4A8 7C 7D 1B 78 */ mr r29, r3
/* 8030084C 002FC4AC 40 80 00 0C */ bge lbl_80300858
/* 80300850 002FC4B0 38 60 FF FF */ li r3, -1
/* 80300854 002FC4B4 48 00 00 F4 */ b lbl_80300948
lbl_80300858:
/* 80300858 002FC4B8 4B F6 DF 05 */ bl OSDisableInterrupts
/* 8030085C 002FC4BC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13)
/* 80300860 002FC4C0 7C 7E 1B 78 */ mr r30, r3
/* 80300864 002FC4C4 2C 00 00 00 */ cmpwi r0, 0
/* 80300868 002FC4C8 40 82 00 44 */ bne lbl_803008AC
/* 8030086C 002FC4CC 38 7F 00 00 */ addi r3, r31, 0
/* 80300870 002FC4D0 48 00 03 95 */ bl func_80300C04
/* 80300874 002FC4D4 38 7F 00 20 */ addi r3, r31, 0x20
/* 80300878 002FC4D8 38 80 00 00 */ li r4, 0
/* 8030087C 002FC4DC 38 A0 10 00 */ li r5, 0x1000
/* 80300880 002FC4E0 4B D0 38 85 */ bl memset
/* 80300884 002FC4E4 38 7F 10 20 */ addi r3, r31, 0x1020
/* 80300888 002FC4E8 38 80 00 00 */ li r4, 0
/* 8030088C 002FC4EC 38 A0 10 00 */ li r5, 0x1000
/* 80300890 002FC4F0 4B D0 38 75 */ bl memset
/* 80300894 002FC4F4 38 7F 20 20 */ addi r3, r31, 0x2020
/* 80300898 002FC4F8 38 80 00 00 */ li r4, 0
/* 8030089C 002FC4FC 38 A0 10 00 */ li r5, 0x1000
/* 803008A0 002FC500 4B D0 38 65 */ bl memset
/* 803008A4 002FC504 38 00 00 01 */ li r0, 1
/* 803008A8 002FC508 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13)
lbl_803008AC:
/* 803008AC 002FC50C 7F C3 F3 78 */ mr r3, r30
/* 803008B0 002FC510 4B F6 DE D5 */ bl OSRestoreInterrupts
/* 803008B4 002FC514 38 7F 00 00 */ addi r3, r31, 0
/* 803008B8 002FC518 48 00 03 51 */ bl func_80300C08
/* 803008BC 002FC51C 7F 24 CB 78 */ mr r4, r25
/* 803008C0 002FC520 7F 45 D3 78 */ mr r5, r26
/* 803008C4 002FC524 38 7F 00 20 */ addi r3, r31, 0x20
/* 803008C8 002FC528 4B D0 37 39 */ bl memcpy
/* 803008CC 002FC52C 7F 64 DB 78 */ mr r4, r27
/* 803008D0 002FC530 7F 85 E3 78 */ mr r5, r28
/* 803008D4 002FC534 38 7F 10 20 */ addi r3, r31, 0x1020
/* 803008D8 002FC538 4B D0 37 29 */ bl memcpy
/* 803008DC 002FC53C 39 40 00 20 */ li r10, 0x20
/* 803008E0 002FC540 39 61 00 40 */ addi r11, r1, 0x40
/* 803008E4 002FC544 39 21 00 20 */ addi r9, r1, 0x20
/* 803008E8 002FC548 39 1F 00 20 */ addi r8, r31, 0x20
/* 803008EC 002FC54C 38 1F 10 20 */ addi r0, r31, 0x1020
/* 803008F0 002FC550 38 60 FF FF */ li r3, -1
/* 803008F4 002FC554 90 61 00 40 */ stw r3, 0x40(r1)
/* 803008F8 002FC558 7F A3 EB 78 */ mr r3, r29
/* 803008FC 002FC55C 38 E1 00 60 */ addi r7, r1, 0x60
/* 80300900 002FC560 38 80 00 07 */ li r4, 7
/* 80300904 002FC564 93 01 00 20 */ stw r24, 0x20(r1)
/* 80300908 002FC568 38 A0 00 01 */ li r5, 1
/* 8030090C 002FC56C 38 C0 00 03 */ li r6, 3
/* 80300910 002FC570 91 61 00 60 */ stw r11, 0x60(r1)
/* 80300914 002FC574 91 41 00 64 */ stw r10, 0x64(r1)
/* 80300918 002FC578 91 21 00 68 */ stw r9, 0x68(r1)
/* 8030091C 002FC57C 91 41 00 6C */ stw r10, 0x6c(r1)
/* 80300920 002FC580 91 01 00 70 */ stw r8, 0x70(r1)
/* 80300924 002FC584 93 41 00 74 */ stw r26, 0x74(r1)
/* 80300928 002FC588 90 01 00 78 */ stw r0, 0x78(r1)
/* 8030092C 002FC58C 93 81 00 7C */ stw r28, 0x7c(r1)
/* 80300930 002FC590 4B FA 35 11 */ bl IOS_Ioctlv
/* 80300934 002FC594 38 7F 00 00 */ addi r3, r31, 0
/* 80300938 002FC598 48 00 02 D5 */ bl func_80300C0C
/* 8030093C 002FC59C 7F A3 EB 78 */ mr r3, r29
/* 80300940 002FC5A0 4B FA 29 F9 */ bl IOS_Close
/* 80300944 002FC5A4 80 61 00 40 */ lwz r3, 0x40(r1)
lbl_80300948:
/* 80300948 002FC5A8 81 41 00 00 */ lwz r10, 0(r1)
/* 8030094C 002FC5AC 7D 4B 53 78 */ mr r11, r10
/* 80300950 002FC5B0 4B EC 68 19 */ bl _restgpr_24
/* 80300954 002FC5B4 80 0A 00 04 */ lwz r0, 4(r10)
/* 80300958 002FC5B8 7C 08 03 A6 */ mtlr r0
/* 8030095C 002FC5BC 7D 41 53 78 */ mr r1, r10
/* 80300960 002FC5C0 4E 80 00 20 */ blr
.global func_80300964
func_80300964:
/* 80300964 002FC5C4 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 80300968 002FC5C8 7C 2C 0B 78 */ mr r12, r1
/* 8030096C 002FC5CC 21 6B FF 60 */ subfic r11, r11, -160
/* 80300970 002FC5D0 7C 21 59 6E */ stwux r1, r1, r11
/* 80300974 002FC5D4 7C 08 02 A6 */ mflr r0
/* 80300978 002FC5D8 3C 80 80 44 */ lis r4, lbl_80446240@ha
/* 8030097C 002FC5DC 90 0C 00 04 */ stw r0, 4(r12)
/* 80300980 002FC5E0 93 EC FF FC */ stw r31, -4(r12)
/* 80300984 002FC5E4 93 CC FF F8 */ stw r30, -8(r12)
/* 80300988 002FC5E8 7C 7E 1B 78 */ mr r30, r3
/* 8030098C 002FC5EC 38 64 62 40 */ addi r3, r4, lbl_80446240@l
/* 80300990 002FC5F0 38 80 00 00 */ li r4, 0
/* 80300994 002FC5F4 4B FA 27 C5 */ bl IOS_Open
/* 80300998 002FC5F8 2C 03 00 00 */ cmpwi r3, 0
/* 8030099C 002FC5FC 7C 7F 1B 78 */ mr r31, r3
/* 803009A0 002FC600 40 80 00 0C */ bge lbl_803009AC
/* 803009A4 002FC604 38 60 FF FF */ li r3, -1
/* 803009A8 002FC608 48 00 00 4C */ b lbl_803009F4
lbl_803009AC:
/* 803009AC 002FC60C 39 00 00 20 */ li r8, 0x20
/* 803009B0 002FC610 39 21 00 40 */ addi r9, r1, 0x40
/* 803009B4 002FC614 38 01 00 20 */ addi r0, r1, 0x20
/* 803009B8 002FC618 38 80 FF FF */ li r4, -1
/* 803009BC 002FC61C 90 81 00 40 */ stw r4, 0x40(r1)
/* 803009C0 002FC620 38 E1 00 60 */ addi r7, r1, 0x60
/* 803009C4 002FC624 38 80 00 08 */ li r4, 8
/* 803009C8 002FC628 38 A0 00 01 */ li r5, 1
/* 803009CC 002FC62C 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803009D0 002FC630 38 C0 00 01 */ li r6, 1
/* 803009D4 002FC634 91 21 00 60 */ stw r9, 0x60(r1)
/* 803009D8 002FC638 91 01 00 64 */ stw r8, 0x64(r1)
/* 803009DC 002FC63C 90 01 00 68 */ stw r0, 0x68(r1)
/* 803009E0 002FC640 91 01 00 6C */ stw r8, 0x6c(r1)
/* 803009E4 002FC644 4B FA 34 5D */ bl IOS_Ioctlv
/* 803009E8 002FC648 7F E3 FB 78 */ mr r3, r31
/* 803009EC 002FC64C 4B FA 29 4D */ bl IOS_Close
/* 803009F0 002FC650 80 61 00 40 */ lwz r3, 0x40(r1)
lbl_803009F4:
/* 803009F4 002FC654 81 41 00 00 */ lwz r10, 0(r1)
/* 803009F8 002FC658 80 0A 00 04 */ lwz r0, 4(r10)
/* 803009FC 002FC65C 83 EA FF FC */ lwz r31, -4(r10)
/* 80300A00 002FC660 83 CA FF F8 */ lwz r30, -8(r10)
/* 80300A04 002FC664 7C 08 03 A6 */ mtlr r0
/* 80300A08 002FC668 7D 41 53 78 */ mr r1, r10
/* 80300A0C 002FC66C 4E 80 00 20 */ blr
.global func_80300A10
func_80300A10:
/* 80300A10 002FC670 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 80300A14 002FC674 7C 2C 0B 78 */ mr r12, r1
/* 80300A18 002FC678 21 6B FF 60 */ subfic r11, r11, -160
/* 80300A1C 002FC67C 7C 21 59 6E */ stwux r1, r1, r11
/* 80300A20 002FC680 7C 08 02 A6 */ mflr r0
/* 80300A24 002FC684 7D 8B 63 78 */ mr r11, r12
/* 80300A28 002FC688 90 0C 00 04 */ stw r0, 4(r12)
/* 80300A2C 002FC68C 4B EC 66 F9 */ bl _savegpr_26
/* 80300A30 002FC690 3F E0 80 58 */ lis r31, lbl_8057B780@ha
/* 80300A34 002FC694 3C C0 80 44 */ lis r6, lbl_80446240@ha
/* 80300A38 002FC698 7C 7A 1B 78 */ mr r26, r3
/* 80300A3C 002FC69C 7C 9B 23 78 */ mr r27, r4
/* 80300A40 002FC6A0 7C BC 2B 78 */ mr r28, r5
/* 80300A44 002FC6A4 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l
/* 80300A48 002FC6A8 38 66 62 40 */ addi r3, r6, lbl_80446240@l
/* 80300A4C 002FC6AC 38 80 00 00 */ li r4, 0
/* 80300A50 002FC6B0 4B FA 27 09 */ bl IOS_Open
/* 80300A54 002FC6B4 2C 03 00 00 */ cmpwi r3, 0
/* 80300A58 002FC6B8 7C 7D 1B 78 */ mr r29, r3
/* 80300A5C 002FC6BC 40 80 00 0C */ bge lbl_80300A68
/* 80300A60 002FC6C0 38 60 FF FF */ li r3, -1
/* 80300A64 002FC6C4 48 00 00 D8 */ b lbl_80300B3C
lbl_80300A68:
/* 80300A68 002FC6C8 4B F6 DC F5 */ bl OSDisableInterrupts
/* 80300A6C 002FC6CC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13)
/* 80300A70 002FC6D0 7C 7E 1B 78 */ mr r30, r3
/* 80300A74 002FC6D4 2C 00 00 00 */ cmpwi r0, 0
/* 80300A78 002FC6D8 40 82 00 44 */ bne lbl_80300ABC
/* 80300A7C 002FC6DC 38 7F 00 00 */ addi r3, r31, 0
/* 80300A80 002FC6E0 48 00 01 85 */ bl func_80300C04
/* 80300A84 002FC6E4 38 7F 00 20 */ addi r3, r31, 0x20
/* 80300A88 002FC6E8 38 80 00 00 */ li r4, 0
/* 80300A8C 002FC6EC 38 A0 10 00 */ li r5, 0x1000
/* 80300A90 002FC6F0 4B D0 36 75 */ bl memset
/* 80300A94 002FC6F4 38 7F 10 20 */ addi r3, r31, 0x1020
/* 80300A98 002FC6F8 38 80 00 00 */ li r4, 0
/* 80300A9C 002FC6FC 38 A0 10 00 */ li r5, 0x1000
/* 80300AA0 002FC700 4B D0 36 65 */ bl memset
/* 80300AA4 002FC704 38 7F 20 20 */ addi r3, r31, 0x2020
/* 80300AA8 002FC708 38 80 00 00 */ li r4, 0
/* 80300AAC 002FC70C 38 A0 10 00 */ li r5, 0x1000
/* 80300AB0 002FC710 4B D0 36 55 */ bl memset
/* 80300AB4 002FC714 38 00 00 01 */ li r0, 1
/* 80300AB8 002FC718 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13)
lbl_80300ABC:
/* 80300ABC 002FC71C 7F C3 F3 78 */ mr r3, r30
/* 80300AC0 002FC720 4B F6 DC C5 */ bl OSRestoreInterrupts
/* 80300AC4 002FC724 38 7F 00 00 */ addi r3, r31, 0
/* 80300AC8 002FC728 48 00 01 41 */ bl func_80300C08
/* 80300ACC 002FC72C 7F 64 DB 78 */ mr r4, r27
/* 80300AD0 002FC730 7F 85 E3 78 */ mr r5, r28
/* 80300AD4 002FC734 38 7F 20 20 */ addi r3, r31, 0x2020
/* 80300AD8 002FC738 4B D0 35 29 */ bl memcpy
/* 80300ADC 002FC73C 39 20 00 20 */ li r9, 0x20
/* 80300AE0 002FC740 39 41 00 40 */ addi r10, r1, 0x40
/* 80300AE4 002FC744 39 01 00 20 */ addi r8, r1, 0x20
/* 80300AE8 002FC748 38 1F 20 20 */ addi r0, r31, 0x2020
/* 80300AEC 002FC74C 38 80 FF FF */ li r4, -1
/* 80300AF0 002FC750 93 41 00 20 */ stw r26, 0x20(r1)
/* 80300AF4 002FC754 7F A3 EB 78 */ mr r3, r29
/* 80300AF8 002FC758 38 E1 00 60 */ addi r7, r1, 0x60
/* 80300AFC 002FC75C 90 81 00 40 */ stw r4, 0x40(r1)
/* 80300B00 002FC760 38 80 00 0A */ li r4, 0xa
/* 80300B04 002FC764 38 A0 00 01 */ li r5, 1
/* 80300B08 002FC768 38 C0 00 02 */ li r6, 2
/* 80300B0C 002FC76C 91 41 00 60 */ stw r10, 0x60(r1)
/* 80300B10 002FC770 91 21 00 64 */ stw r9, 0x64(r1)
/* 80300B14 002FC774 91 01 00 68 */ stw r8, 0x68(r1)
/* 80300B18 002FC778 91 21 00 6C */ stw r9, 0x6c(r1)
/* 80300B1C 002FC77C 90 01 00 70 */ stw r0, 0x70(r1)
/* 80300B20 002FC780 93 81 00 74 */ stw r28, 0x74(r1)
/* 80300B24 002FC784 4B FA 33 1D */ bl IOS_Ioctlv
/* 80300B28 002FC788 38 7F 00 00 */ addi r3, r31, 0
/* 80300B2C 002FC78C 48 00 00 E1 */ bl func_80300C0C
/* 80300B30 002FC790 7F A3 EB 78 */ mr r3, r29
/* 80300B34 002FC794 4B FA 28 05 */ bl IOS_Close
/* 80300B38 002FC798 80 61 00 40 */ lwz r3, 0x40(r1)
lbl_80300B3C:
/* 80300B3C 002FC79C 81 41 00 00 */ lwz r10, 0(r1)
/* 80300B40 002FC7A0 7D 4B 53 78 */ mr r11, r10
/* 80300B44 002FC7A4 4B EC 66 2D */ bl _restgpr_26
/* 80300B48 002FC7A8 80 0A 00 04 */ lwz r0, 4(r10)
/* 80300B4C 002FC7AC 7C 08 03 A6 */ mtlr r0
/* 80300B50 002FC7B0 7D 41 53 78 */ mr r1, r10
/* 80300B54 002FC7B4 4E 80 00 20 */ blr
.global func_80300B58
func_80300B58:
/* 80300B58 002FC7B8 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 80300B5C 002FC7BC 7C 2C 0B 78 */ mr r12, r1
/* 80300B60 002FC7C0 21 6B FF 60 */ subfic r11, r11, -160
/* 80300B64 002FC7C4 7C 21 59 6E */ stwux r1, r1, r11
/* 80300B68 002FC7C8 7C 08 02 A6 */ mflr r0
/* 80300B6C 002FC7CC 3C 80 80 44 */ lis r4, lbl_80446240@ha
/* 80300B70 002FC7D0 90 0C 00 04 */ stw r0, 4(r12)
/* 80300B74 002FC7D4 93 EC FF FC */ stw r31, -4(r12)
/* 80300B78 002FC7D8 93 CC FF F8 */ stw r30, -8(r12)
/* 80300B7C 002FC7DC 7C 7E 1B 78 */ mr r30, r3
/* 80300B80 002FC7E0 38 64 62 40 */ addi r3, r4, lbl_80446240@l
/* 80300B84 002FC7E4 38 80 00 00 */ li r4, 0
/* 80300B88 002FC7E8 4B FA 25 D1 */ bl IOS_Open
/* 80300B8C 002FC7EC 2C 03 00 00 */ cmpwi r3, 0
/* 80300B90 002FC7F0 7C 7F 1B 78 */ mr r31, r3
/* 80300B94 002FC7F4 40 80 00 0C */ bge lbl_80300BA0
/* 80300B98 002FC7F8 38 60 FF FF */ li r3, -1
/* 80300B9C 002FC7FC 48 00 00 4C */ b lbl_80300BE8
lbl_80300BA0:
/* 80300BA0 002FC800 39 00 00 20 */ li r8, 0x20
/* 80300BA4 002FC804 39 21 00 40 */ addi r9, r1, 0x40
/* 80300BA8 002FC808 38 01 00 20 */ addi r0, r1, 0x20
/* 80300BAC 002FC80C 38 80 FF FF */ li r4, -1
/* 80300BB0 002FC810 90 81 00 40 */ stw r4, 0x40(r1)
/* 80300BB4 002FC814 38 E1 00 60 */ addi r7, r1, 0x60
/* 80300BB8 002FC818 38 80 00 0B */ li r4, 0xb
/* 80300BBC 002FC81C 38 A0 00 01 */ li r5, 1
/* 80300BC0 002FC820 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80300BC4 002FC824 38 C0 00 01 */ li r6, 1
/* 80300BC8 002FC828 91 21 00 60 */ stw r9, 0x60(r1)
/* 80300BCC 002FC82C 91 01 00 64 */ stw r8, 0x64(r1)
/* 80300BD0 002FC830 90 01 00 68 */ stw r0, 0x68(r1)
/* 80300BD4 002FC834 91 01 00 6C */ stw r8, 0x6c(r1)
/* 80300BD8 002FC838 4B FA 32 69 */ bl IOS_Ioctlv
/* 80300BDC 002FC83C 7F E3 FB 78 */ mr r3, r31
/* 80300BE0 002FC840 4B FA 27 59 */ bl IOS_Close
/* 80300BE4 002FC844 80 61 00 40 */ lwz r3, 0x40(r1)
lbl_80300BE8:
/* 80300BE8 002FC848 81 41 00 00 */ lwz r10, 0(r1)
/* 80300BEC 002FC84C 80 0A 00 04 */ lwz r0, 4(r10)
/* 80300BF0 002FC850 83 EA FF FC */ lwz r31, -4(r10)
/* 80300BF4 002FC854 83 CA FF F8 */ lwz r30, -8(r10)
/* 80300BF8 002FC858 7C 08 03 A6 */ mtlr r0
/* 80300BFC 002FC85C 7D 41 53 78 */ mr r1, r10
/* 80300C00 002FC860 4E 80 00 20 */ blr
.global func_80300C04
func_80300C04:
/* 80300C04 002FC864 4B F6 ED 0C */ b OSInitMutex
.global func_80300C08
func_80300C08:
/* 80300C08 002FC868 4B F6 ED 40 */ b OSLockMutex
.global func_80300C0C
func_80300C0C:
/* 80300C0C 002FC86C 4B F6 EE 18 */ b OSUnlockMutex
.global func_80300C10
func_80300C10:
/* 80300C10 002FC870 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80300C14 002FC874 28 05 00 10 */ cmplwi r5, 0x10
/* 80300C18 002FC878 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80300C1C 002FC87C 40 81 00 08 */ ble lbl_80300C24
/* 80300C20 002FC880 38 A0 00 10 */ li r5, 0x10
lbl_80300C24:
/* 80300C24 002FC884 38 C0 00 00 */ li r6, 0
/* 80300C28 002FC888 38 00 00 08 */ li r0, 8
/* 80300C2C 002FC88C 98 C3 00 00 */ stb r6, 0(r3)
/* 80300C30 002FC890 39 83 00 04 */ addi r12, r3, 4
/* 80300C34 002FC894 3B E0 00 00 */ li r31, 0
/* 80300C38 002FC898 98 C3 00 01 */ stb r6, 1(r3)
/* 80300C3C 002FC89C 7C 09 03 A6 */ mtctr r0
lbl_80300C40:
/* 80300C40 002FC8A0 7F EC F9 AE */ stbx r31, r12, r31
/* 80300C44 002FC8A4 7D 6C FA 14 */ add r11, r12, r31
/* 80300C48 002FC8A8 39 5F 00 01 */ addi r10, r31, 1
/* 80300C4C 002FC8AC 39 3F 00 02 */ addi r9, r31, 2
/* 80300C50 002FC8B0 99 4B 00 01 */ stb r10, 1(r11)
/* 80300C54 002FC8B4 39 1F 00 03 */ addi r8, r31, 3
/* 80300C58 002FC8B8 38 FF 00 04 */ addi r7, r31, 4
/* 80300C5C 002FC8BC 38 DF 00 05 */ addi r6, r31, 5
/* 80300C60 002FC8C0 99 2B 00 02 */ stb r9, 2(r11)
/* 80300C64 002FC8C4 38 7F 00 06 */ addi r3, r31, 6
/* 80300C68 002FC8C8 38 1F 00 07 */ addi r0, r31, 7
/* 80300C6C 002FC8CC 39 5F 00 09 */ addi r10, r31, 9
/* 80300C70 002FC8D0 99 0B 00 03 */ stb r8, 3(r11)
/* 80300C74 002FC8D4 39 3F 00 0A */ addi r9, r31, 0xa
/* 80300C78 002FC8D8 39 1F 00 0B */ addi r8, r31, 0xb
/* 80300C7C 002FC8DC 98 EB 00 04 */ stb r7, 4(r11)
/* 80300C80 002FC8E0 38 FF 00 0C */ addi r7, r31, 0xc
/* 80300C84 002FC8E4 98 CB 00 05 */ stb r6, 5(r11)
/* 80300C88 002FC8E8 38 DF 00 0D */ addi r6, r31, 0xd
/* 80300C8C 002FC8EC 98 6B 00 06 */ stb r3, 6(r11)
/* 80300C90 002FC8F0 38 7F 00 0E */ addi r3, r31, 0xe
/* 80300C94 002FC8F4 3B FF 00 08 */ addi r31, r31, 8
/* 80300C98 002FC8F8 98 0B 00 07 */ stb r0, 7(r11)
/* 80300C9C 002FC8FC 7D 6C FA 14 */ add r11, r12, r31
/* 80300CA0 002FC900 38 1F 00 07 */ addi r0, r31, 7
/* 80300CA4 002FC904 7F EC F9 AE */ stbx r31, r12, r31
/* 80300CA8 002FC908 99 4B 00 01 */ stb r10, 1(r11)
/* 80300CAC 002FC90C 39 5F 00 09 */ addi r10, r31, 9
/* 80300CB0 002FC910 99 2B 00 02 */ stb r9, 2(r11)
/* 80300CB4 002FC914 39 3F 00 0A */ addi r9, r31, 0xa
/* 80300CB8 002FC918 99 0B 00 03 */ stb r8, 3(r11)
/* 80300CBC 002FC91C 39 1F 00 0B */ addi r8, r31, 0xb
/* 80300CC0 002FC920 98 EB 00 04 */ stb r7, 4(r11)
/* 80300CC4 002FC924 38 FF 00 0C */ addi r7, r31, 0xc
/* 80300CC8 002FC928 98 CB 00 05 */ stb r6, 5(r11)
/* 80300CCC 002FC92C 38 DF 00 0D */ addi r6, r31, 0xd
/* 80300CD0 002FC930 98 6B 00 06 */ stb r3, 6(r11)
/* 80300CD4 002FC934 38 7F 00 0E */ addi r3, r31, 0xe
/* 80300CD8 002FC938 3B FF 00 08 */ addi r31, r31, 8
/* 80300CDC 002FC93C 98 0B 00 07 */ stb r0, 7(r11)
/* 80300CE0 002FC940 7D 6C FA 14 */ add r11, r12, r31
/* 80300CE4 002FC944 38 1F 00 07 */ addi r0, r31, 7
/* 80300CE8 002FC948 7F EC F9 AE */ stbx r31, r12, r31
/* 80300CEC 002FC94C 99 4B 00 01 */ stb r10, 1(r11)
/* 80300CF0 002FC950 39 5F 00 09 */ addi r10, r31, 9
/* 80300CF4 002FC954 99 2B 00 02 */ stb r9, 2(r11)
/* 80300CF8 002FC958 39 3F 00 0A */ addi r9, r31, 0xa
/* 80300CFC 002FC95C 99 0B 00 03 */ stb r8, 3(r11)
/* 80300D00 002FC960 39 1F 00 0B */ addi r8, r31, 0xb
/* 80300D04 002FC964 98 EB 00 04 */ stb r7, 4(r11)
/* 80300D08 002FC968 38 FF 00 0C */ addi r7, r31, 0xc
/* 80300D0C 002FC96C 98 CB 00 05 */ stb r6, 5(r11)
/* 80300D10 002FC970 38 DF 00 0D */ addi r6, r31, 0xd
/* 80300D14 002FC974 98 6B 00 06 */ stb r3, 6(r11)
/* 80300D18 002FC978 38 7F 00 0E */ addi r3, r31, 0xe
/* 80300D1C 002FC97C 3B FF 00 08 */ addi r31, r31, 8
/* 80300D20 002FC980 98 0B 00 07 */ stb r0, 7(r11)
/* 80300D24 002FC984 7D 6C FA 14 */ add r11, r12, r31
/* 80300D28 002FC988 38 1F 00 07 */ addi r0, r31, 7
/* 80300D2C 002FC98C 7F EC F9 AE */ stbx r31, r12, r31
/* 80300D30 002FC990 3B FF 00 08 */ addi r31, r31, 8
/* 80300D34 002FC994 99 4B 00 01 */ stb r10, 1(r11)
/* 80300D38 002FC998 99 2B 00 02 */ stb r9, 2(r11)
/* 80300D3C 002FC99C 99 0B 00 03 */ stb r8, 3(r11)
/* 80300D40 002FC9A0 98 EB 00 04 */ stb r7, 4(r11)
/* 80300D44 002FC9A4 98 CB 00 05 */ stb r6, 5(r11)
/* 80300D48 002FC9A8 98 6B 00 06 */ stb r3, 6(r11)
/* 80300D4C 002FC9AC 98 0B 00 07 */ stb r0, 7(r11)
/* 80300D50 002FC9B0 42 00 FE F0 */ bdnz lbl_80300C40
/* 80300D54 002FC9B4 38 00 00 40 */ li r0, 0x40
/* 80300D58 002FC9B8 7D 83 63 78 */ mr r3, r12
/* 80300D5C 002FC9BC 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 80300D60 002FC9C0 39 20 00 00 */ li r9, 0
/* 80300D64 002FC9C4 39 00 00 00 */ li r8, 0
/* 80300D68 002FC9C8 38 E0 00 00 */ li r7, 0
/* 80300D6C 002FC9CC 7C 09 03 A6 */ mtctr r0
lbl_80300D70:
/* 80300D70 002FC9D0 55 06 06 3E */ clrlwi r6, r8, 0x18
/* 80300D74 002FC9D4 39 08 00 01 */ addi r8, r8, 1
/* 80300D78 002FC9D8 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 80300D7C 002FC9DC 89 43 00 00 */ lbz r10, 0(r3)
/* 80300D80 002FC9E0 7C 00 28 40 */ cmplw r0, r5
/* 80300D84 002FC9E4 7C C4 30 AE */ lbzx r6, r4, r6
/* 80300D88 002FC9E8 7C 09 52 14 */ add r0, r9, r10
/* 80300D8C 002FC9EC 7C 06 02 14 */ add r0, r6, r0
/* 80300D90 002FC9F0 54 09 06 3E */ clrlwi r9, r0, 0x18
/* 80300D94 002FC9F4 40 82 00 08 */ bne lbl_80300D9C
/* 80300D98 002FC9F8 39 00 00 00 */ li r8, 0
lbl_80300D9C:
/* 80300D9C 002FC9FC 7C 0C 48 AE */ lbzx r0, r12, r9
/* 80300DA0 002FCA00 55 06 06 3E */ clrlwi r6, r8, 0x18
/* 80300DA4 002FCA04 39 08 00 01 */ addi r8, r8, 1
/* 80300DA8 002FCA08 7C C4 30 AE */ lbzx r6, r4, r6
/* 80300DAC 002FCA0C 98 03 00 00 */ stb r0, 0(r3)
/* 80300DB0 002FCA10 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 80300DB4 002FCA14 7C 00 28 40 */ cmplw r0, r5
/* 80300DB8 002FCA18 7D 4C 49 AE */ stbx r10, r12, r9
/* 80300DBC 002FCA1C 89 43 00 01 */ lbz r10, 1(r3)
/* 80300DC0 002FCA20 7C 09 52 14 */ add r0, r9, r10
/* 80300DC4 002FCA24 7C 06 02 14 */ add r0, r6, r0
/* 80300DC8 002FCA28 54 09 06 3E */ clrlwi r9, r0, 0x18
/* 80300DCC 002FCA2C 40 82 00 08 */ bne lbl_80300DD4
/* 80300DD0 002FCA30 39 00 00 00 */ li r8, 0
lbl_80300DD4:
/* 80300DD4 002FCA34 7C 0C 48 AE */ lbzx r0, r12, r9
/* 80300DD8 002FCA38 55 06 06 3E */ clrlwi r6, r8, 0x18
/* 80300DDC 002FCA3C 39 08 00 01 */ addi r8, r8, 1
/* 80300DE0 002FCA40 7C C4 30 AE */ lbzx r6, r4, r6
/* 80300DE4 002FCA44 98 03 00 01 */ stb r0, 1(r3)
/* 80300DE8 002FCA48 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 80300DEC 002FCA4C 7C 00 28 40 */ cmplw r0, r5
/* 80300DF0 002FCA50 7D 4C 49 AE */ stbx r10, r12, r9
/* 80300DF4 002FCA54 89 43 00 02 */ lbz r10, 2(r3)
/* 80300DF8 002FCA58 7C 09 52 14 */ add r0, r9, r10
/* 80300DFC 002FCA5C 7C 06 02 14 */ add r0, r6, r0
/* 80300E00 002FCA60 54 09 06 3E */ clrlwi r9, r0, 0x18
/* 80300E04 002FCA64 40 82 00 08 */ bne lbl_80300E0C
/* 80300E08 002FCA68 39 00 00 00 */ li r8, 0
lbl_80300E0C:
/* 80300E0C 002FCA6C 7C 0C 48 AE */ lbzx r0, r12, r9
/* 80300E10 002FCA70 55 06 06 3E */ clrlwi r6, r8, 0x18
/* 80300E14 002FCA74 39 08 00 01 */ addi r8, r8, 1
/* 80300E18 002FCA78 7C C4 30 AE */ lbzx r6, r4, r6
/* 80300E1C 002FCA7C 98 03 00 02 */ stb r0, 2(r3)
/* 80300E20 002FCA80 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 80300E24 002FCA84 7C 00 28 40 */ cmplw r0, r5
/* 80300E28 002FCA88 7D 4C 49 AE */ stbx r10, r12, r9
/* 80300E2C 002FCA8C 89 43 00 03 */ lbz r10, 3(r3)
/* 80300E30 002FCA90 7C 09 52 14 */ add r0, r9, r10
/* 80300E34 002FCA94 7C 06 02 14 */ add r0, r6, r0
/* 80300E38 002FCA98 54 09 06 3E */ clrlwi r9, r0, 0x18
/* 80300E3C 002FCA9C 40 82 00 08 */ bne lbl_80300E44
/* 80300E40 002FCAA0 39 00 00 00 */ li r8, 0
lbl_80300E44:
/* 80300E44 002FCAA4 7C 0C 48 AE */ lbzx r0, r12, r9
/* 80300E48 002FCAA8 38 E7 00 03 */ addi r7, r7, 3
/* 80300E4C 002FCAAC 98 03 00 03 */ stb r0, 3(r3)
/* 80300E50 002FCAB0 38 63 00 04 */ addi r3, r3, 4
/* 80300E54 002FCAB4 7D 4C 49 AE */ stbx r10, r12, r9
/* 80300E58 002FCAB8 42 00 FF 18 */ bdnz lbl_80300D70
/* 80300E5C 002FCABC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80300E60 002FCAC0 38 21 00 10 */ addi r1, r1, 0x10
/* 80300E64 002FCAC4 4E 80 00 20 */ blr
.global func_80300E68
func_80300E68:
/* 80300E68 002FCAC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80300E6C 002FCACC 2C 06 00 00 */ cmpwi r6, 0
/* 80300E70 002FCAD0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80300E74 002FCAD4 41 82 01 64 */ beq lbl_80300FD8
/* 80300E78 002FCAD8 89 63 00 00 */ lbz r11, 0(r3)
/* 80300E7C 002FCADC 3B E3 00 04 */ addi r31, r3, 4
/* 80300E80 002FCAE0 89 83 00 01 */ lbz r12, 1(r3)
/* 80300E84 002FCAE4 41 82 01 4C */ beq lbl_80300FD0
/* 80300E88 002FCAE8 54 C0 F0 BF */ rlwinm. r0, r6, 0x1e, 2, 0x1f
/* 80300E8C 002FCAEC 7C 09 03 A6 */ mtctr r0
/* 80300E90 002FCAF0 41 82 00 F8 */ beq lbl_80300F88
lbl_80300E94:
/* 80300E94 002FCAF4 39 0B 00 01 */ addi r8, r11, 1
/* 80300E98 002FCAF8 88 E5 00 00 */ lbz r7, 0(r5)
/* 80300E9C 002FCAFC 55 0B 06 3E */ clrlwi r11, r8, 0x18
/* 80300EA0 002FCB00 7D 3F 58 AE */ lbzx r9, r31, r11
/* 80300EA4 002FCB04 39 0B 00 01 */ addi r8, r11, 1
/* 80300EA8 002FCB08 7C 0C 4A 14 */ add r0, r12, r9
/* 80300EAC 002FCB0C 54 0C 06 3E */ clrlwi r12, r0, 0x18
/* 80300EB0 002FCB10 7D 5F 60 AE */ lbzx r10, r31, r12
/* 80300EB4 002FCB14 7D 3F 61 AE */ stbx r9, r31, r12
/* 80300EB8 002FCB18 7C 09 52 14 */ add r0, r9, r10
/* 80300EBC 002FCB1C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80300EC0 002FCB20 7D 5F 59 AE */ stbx r10, r31, r11
/* 80300EC4 002FCB24 55 0B 06 3E */ clrlwi r11, r8, 0x18
/* 80300EC8 002FCB28 39 0B 00 01 */ addi r8, r11, 1
/* 80300ECC 002FCB2C 7C 1F 00 AE */ lbzx r0, r31, r0
/* 80300ED0 002FCB30 7C E0 02 78 */ xor r0, r7, r0
/* 80300ED4 002FCB34 88 E5 00 01 */ lbz r7, 1(r5)
/* 80300ED8 002FCB38 98 04 00 00 */ stb r0, 0(r4)
/* 80300EDC 002FCB3C 7D 3F 58 AE */ lbzx r9, r31, r11
/* 80300EE0 002FCB40 7C 0C 4A 14 */ add r0, r12, r9
/* 80300EE4 002FCB44 54 0C 06 3E */ clrlwi r12, r0, 0x18
/* 80300EE8 002FCB48 7D 5F 60 AE */ lbzx r10, r31, r12
/* 80300EEC 002FCB4C 7D 3F 61 AE */ stbx r9, r31, r12
/* 80300EF0 002FCB50 7C 09 52 14 */ add r0, r9, r10
/* 80300EF4 002FCB54 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80300EF8 002FCB58 7D 5F 59 AE */ stbx r10, r31, r11
/* 80300EFC 002FCB5C 55 0B 06 3E */ clrlwi r11, r8, 0x18
/* 80300F00 002FCB60 39 0B 00 01 */ addi r8, r11, 1
/* 80300F04 002FCB64 7C 1F 00 AE */ lbzx r0, r31, r0
/* 80300F08 002FCB68 7C E0 02 78 */ xor r0, r7, r0
/* 80300F0C 002FCB6C 88 E5 00 02 */ lbz r7, 2(r5)
/* 80300F10 002FCB70 98 04 00 01 */ stb r0, 1(r4)
/* 80300F14 002FCB74 7D 3F 58 AE */ lbzx r9, r31, r11
/* 80300F18 002FCB78 7C 0C 4A 14 */ add r0, r12, r9
/* 80300F1C 002FCB7C 54 0C 06 3E */ clrlwi r12, r0, 0x18
/* 80300F20 002FCB80 7D 5F 60 AE */ lbzx r10, r31, r12
/* 80300F24 002FCB84 7D 3F 61 AE */ stbx r9, r31, r12
/* 80300F28 002FCB88 7C 09 52 14 */ add r0, r9, r10
/* 80300F2C 002FCB8C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80300F30 002FCB90 7D 5F 59 AE */ stbx r10, r31, r11
/* 80300F34 002FCB94 55 0B 06 3E */ clrlwi r11, r8, 0x18
/* 80300F38 002FCB98 7C 1F 00 AE */ lbzx r0, r31, r0
/* 80300F3C 002FCB9C 7C E0 02 78 */ xor r0, r7, r0
/* 80300F40 002FCBA0 88 E5 00 03 */ lbz r7, 3(r5)
/* 80300F44 002FCBA4 98 04 00 02 */ stb r0, 2(r4)
/* 80300F48 002FCBA8 38 A5 00 04 */ addi r5, r5, 4
/* 80300F4C 002FCBAC 7D 3F 58 AE */ lbzx r9, r31, r11
/* 80300F50 002FCBB0 7C 0C 4A 14 */ add r0, r12, r9
/* 80300F54 002FCBB4 54 0C 06 3E */ clrlwi r12, r0, 0x18
/* 80300F58 002FCBB8 7D 5F 60 AE */ lbzx r10, r31, r12
/* 80300F5C 002FCBBC 7D 3F 61 AE */ stbx r9, r31, r12
/* 80300F60 002FCBC0 7C 09 52 14 */ add r0, r9, r10
/* 80300F64 002FCBC4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80300F68 002FCBC8 7D 5F 59 AE */ stbx r10, r31, r11
/* 80300F6C 002FCBCC 7C 1F 00 AE */ lbzx r0, r31, r0
/* 80300F70 002FCBD0 7C E0 02 78 */ xor r0, r7, r0
/* 80300F74 002FCBD4 98 04 00 03 */ stb r0, 3(r4)
/* 80300F78 002FCBD8 38 84 00 04 */ addi r4, r4, 4
/* 80300F7C 002FCBDC 42 00 FF 18 */ bdnz lbl_80300E94
/* 80300F80 002FCBE0 70 C6 00 03 */ andi. r6, r6, 3
/* 80300F84 002FCBE4 41 82 00 4C */ beq lbl_80300FD0
lbl_80300F88:
/* 80300F88 002FCBE8 7C C9 03 A6 */ mtctr r6
lbl_80300F8C:
/* 80300F8C 002FCBEC 39 0B 00 01 */ addi r8, r11, 1
/* 80300F90 002FCBF0 88 E5 00 00 */ lbz r7, 0(r5)
/* 80300F94 002FCBF4 55 0B 06 3E */ clrlwi r11, r8, 0x18
/* 80300F98 002FCBF8 38 A5 00 01 */ addi r5, r5, 1
/* 80300F9C 002FCBFC 7D 3F 58 AE */ lbzx r9, r31, r11
/* 80300FA0 002FCC00 7C 0C 4A 14 */ add r0, r12, r9
/* 80300FA4 002FCC04 54 0C 06 3E */ clrlwi r12, r0, 0x18
/* 80300FA8 002FCC08 7D 5F 60 AE */ lbzx r10, r31, r12
/* 80300FAC 002FCC0C 7D 3F 61 AE */ stbx r9, r31, r12
/* 80300FB0 002FCC10 7C 09 52 14 */ add r0, r9, r10
/* 80300FB4 002FCC14 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80300FB8 002FCC18 7D 5F 59 AE */ stbx r10, r31, r11
/* 80300FBC 002FCC1C 7C 1F 00 AE */ lbzx r0, r31, r0
/* 80300FC0 002FCC20 7C E0 02 78 */ xor r0, r7, r0
/* 80300FC4 002FCC24 98 04 00 00 */ stb r0, 0(r4)
/* 80300FC8 002FCC28 38 84 00 01 */ addi r4, r4, 1
/* 80300FCC 002FCC2C 42 00 FF C0 */ bdnz lbl_80300F8C
lbl_80300FD0:
/* 80300FD0 002FCC30 99 63 00 00 */ stb r11, 0(r3)
/* 80300FD4 002FCC34 99 83 00 01 */ stb r12, 1(r3)
lbl_80300FD8:
/* 80300FD8 002FCC38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80300FDC 002FCC3C 38 21 00 10 */ addi r1, r1, 0x10
/* 80300FE0 002FCC40 4E 80 00 20 */ blr
.global func_80300FE4
func_80300FE4:
/* 80300FE4 002FCC44 38 A0 00 00 */ li r5, 0
/* 80300FE8 002FCC48 7C 89 03 A6 */ mtctr r4
/* 80300FEC 002FCC4C 28 04 00 00 */ cmplwi r4, 0
/* 80300FF0 002FCC50 40 81 00 1C */ ble lbl_8030100C
lbl_80300FF4:
/* 80300FF4 002FCC54 88 03 00 00 */ lbz r0, 0(r3)
/* 80300FF8 002FCC58 7C 00 07 75 */ extsb. r0, r0
/* 80300FFC 002FCC5C 41 82 00 10 */ beq lbl_8030100C
/* 80301000 002FCC60 38 A5 00 01 */ addi r5, r5, 1
/* 80301004 002FCC64 38 63 00 01 */ addi r3, r3, 1
/* 80301008 002FCC68 42 00 FF EC */ bdnz lbl_80300FF4
lbl_8030100C:
/* 8030100C 002FCC6C 7C A3 2B 78 */ mr r3, r5
/* 80301010 002FCC70 4E 80 00 20 */ blr
.global func_80301014
func_80301014:
/* 80301014 002FCC74 2C 05 00 00 */ cmpwi r5, 0
/* 80301018 002FCC78 39 00 00 00 */ li r8, 0
/* 8030101C 002FCC7C 4D 82 00 20 */ beqlr
/* 80301020 002FCC80 28 05 00 08 */ cmplwi r5, 8
/* 80301024 002FCC84 38 C5 FF F8 */ addi r6, r5, -8
/* 80301028 002FCC88 40 81 00 48 */ ble lbl_80301070
/* 8030102C 002FCC8C 38 06 00 07 */ addi r0, r6, 7
/* 80301030 002FCC90 7C 67 1B 78 */ mr r7, r3
/* 80301034 002FCC94 54 00 E8 FE */ srwi r0, r0, 3
/* 80301038 002FCC98 7C 09 03 A6 */ mtctr r0
/* 8030103C 002FCC9C 28 06 00 00 */ cmplwi r6, 0
/* 80301040 002FCCA0 40 81 00 30 */ ble lbl_80301070
lbl_80301044:
/* 80301044 002FCCA4 98 87 00 00 */ stb r4, 0(r7)
/* 80301048 002FCCA8 39 08 00 08 */ addi r8, r8, 8
/* 8030104C 002FCCAC 98 87 00 01 */ stb r4, 1(r7)
/* 80301050 002FCCB0 98 87 00 02 */ stb r4, 2(r7)
/* 80301054 002FCCB4 98 87 00 03 */ stb r4, 3(r7)
/* 80301058 002FCCB8 98 87 00 04 */ stb r4, 4(r7)
/* 8030105C 002FCCBC 98 87 00 05 */ stb r4, 5(r7)
/* 80301060 002FCCC0 98 87 00 06 */ stb r4, 6(r7)
/* 80301064 002FCCC4 98 87 00 07 */ stb r4, 7(r7)
/* 80301068 002FCCC8 38 E7 00 08 */ addi r7, r7, 8
/* 8030106C 002FCCCC 42 00 FF D8 */ bdnz lbl_80301044
lbl_80301070:
/* 80301070 002FCCD0 7C 08 28 50 */ subf r0, r8, r5
/* 80301074 002FCCD4 7C C3 42 14 */ add r6, r3, r8
/* 80301078 002FCCD8 7C 09 03 A6 */ mtctr r0
/* 8030107C 002FCCDC 7C 08 28 40 */ cmplw r8, r5
/* 80301080 002FCCE0 4C 80 00 20 */ bgelr
lbl_80301084:
/* 80301084 002FCCE4 98 86 00 00 */ stb r4, 0(r6)
/* 80301088 002FCCE8 38 C6 00 01 */ addi r6, r6, 1
/* 8030108C 002FCCEC 42 00 FF F8 */ bdnz lbl_80301084
/* 80301090 002FCCF0 4E 80 00 20 */ blr
.global func_80301094
func_80301094:
/* 80301094 002FCCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80301098 002FCCF8 7C 08 02 A6 */ mflr r0
/* 8030109C 002FCCFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 803010A0 002FCD00 39 61 00 20 */ addi r11, r1, 0x20
/* 803010A4 002FCD04 4B EC 60 85 */ bl _savegpr_27
/* 803010A8 002FCD08 2C 07 00 00 */ cmpwi r7, 0
/* 803010AC 002FCD0C 41 82 00 18 */ beq lbl_803010C4
/* 803010B0 002FCD10 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 803010B4 002FCD14 41 82 00 10 */ beq lbl_803010C4
/* 803010B8 002FCD18 7C 84 00 D0 */ neg r4, r4
/* 803010BC 002FCD1C 3B C0 00 01 */ li r30, 1
/* 803010C0 002FCD20 48 00 00 08 */ b lbl_803010C8
lbl_803010C4:
/* 803010C4 002FCD24 3B C0 00 00 */ li r30, 0
lbl_803010C8:
/* 803010C8 002FCD28 3B E0 00 00 */ li r31, 0
/* 803010CC 002FCD2C 39 80 00 00 */ li r12, 0
/* 803010D0 002FCD30 3C E0 80 00 */ lis r7, 0x8000
/* 803010D4 002FCD34 48 00 01 40 */ b lbl_80301214
lbl_803010D8:
/* 803010D8 002FCD38 7C 04 2B 96 */ divwu r0, r4, r5
/* 803010DC 002FCD3C 7C 7B 1B 78 */ mr r27, r3
/* 803010E0 002FCD40 39 60 00 00 */ li r11, 0
/* 803010E4 002FCD44 7C 00 29 D6 */ mullw r0, r0, r5
/* 803010E8 002FCD48 7C 00 20 50 */ subf r0, r0, r4
/* 803010EC 002FCD4C 7C 84 2B 96 */ divwu r4, r4, r5
/* 803010F0 002FCD50 7C 00 07 74 */ extsb r0, r0
/* 803010F4 002FCD54 48 00 00 0C */ b lbl_80301100
lbl_803010F8:
/* 803010F8 002FCD58 3B 7B 00 01 */ addi r27, r27, 1
/* 803010FC 002FCD5C 39 6B 00 01 */ addi r11, r11, 1
lbl_80301100:
/* 80301100 002FCD60 8B BB 00 00 */ lbz r29, 0(r27)
/* 80301104 002FCD64 7F BD 07 75 */ extsb. r29, r29
/* 80301108 002FCD68 40 82 FF F0 */ bne lbl_803010F8
/* 8030110C 002FCD6C 2C 8B 00 00 */ cmpwi cr1, r11, 0
/* 80301110 002FCD70 41 84 00 E4 */ blt cr1, lbl_803011F4
/* 80301114 002FCD74 3B AB 00 01 */ addi r29, r11, 1
/* 80301118 002FCD78 2C 1D 00 08 */ cmpwi r29, 8
/* 8030111C 002FCD7C 40 81 00 B4 */ ble lbl_803011D0
/* 80301120 002FCD80 3B 80 00 00 */ li r28, 0
/* 80301124 002FCD84 3B 60 00 00 */ li r27, 0
/* 80301128 002FCD88 41 84 00 14 */ blt cr1, lbl_8030113C
/* 8030112C 002FCD8C 3B A7 00 01 */ addi r29, r7, 1
/* 80301130 002FCD90 7C 0B E8 00 */ cmpw r11, r29
/* 80301134 002FCD94 41 80 00 08 */ blt lbl_8030113C
/* 80301138 002FCD98 3B 60 00 01 */ li r27, 1
lbl_8030113C:
/* 8030113C 002FCD9C 2C 1B 00 00 */ cmpwi r27, 0
/* 80301140 002FCDA0 41 82 00 2C */ beq lbl_8030116C
/* 80301144 002FCDA4 55 7D 00 01 */ rlwinm. r29, r11, 0, 0, 0
/* 80301148 002FCDA8 3B 60 00 01 */ li r27, 1
/* 8030114C 002FCDAC 40 82 00 14 */ bne lbl_80301160
/* 80301150 002FCDB0 3B AB 00 01 */ addi r29, r11, 1
/* 80301154 002FCDB4 57 BD 00 01 */ rlwinm. r29, r29, 0, 0, 0
/* 80301158 002FCDB8 41 82 00 08 */ beq lbl_80301160
/* 8030115C 002FCDBC 3B 60 00 00 */ li r27, 0
lbl_80301160:
/* 80301160 002FCDC0 2C 1B 00 00 */ cmpwi r27, 0
/* 80301164 002FCDC4 41 82 00 08 */ beq lbl_8030116C
/* 80301168 002FCDC8 3B 80 00 01 */ li r28, 1
lbl_8030116C:
/* 8030116C 002FCDCC 2C 1C 00 00 */ cmpwi r28, 0
/* 80301170 002FCDD0 41 82 00 60 */ beq lbl_803011D0
/* 80301174 002FCDD4 55 7D E8 FE */ srwi r29, r11, 3
/* 80301178 002FCDD8 7F A9 03 A6 */ mtctr r29
/* 8030117C 002FCDDC 2C 0B 00 08 */ cmpwi r11, 8
/* 80301180 002FCDE0 41 80 00 50 */ blt lbl_803011D0
lbl_80301184:
/* 80301184 002FCDE4 7F A3 58 AE */ lbzx r29, r3, r11
/* 80301188 002FCDE8 7F 63 5A 14 */ add r27, r3, r11
/* 8030118C 002FCDEC 9B BB 00 01 */ stb r29, 1(r27)
/* 80301190 002FCDF0 8B BB FF FF */ lbz r29, -1(r27)
/* 80301194 002FCDF4 7F A3 59 AE */ stbx r29, r3, r11
/* 80301198 002FCDF8 39 6B FF F8 */ addi r11, r11, -8
/* 8030119C 002FCDFC 8B BB FF FE */ lbz r29, -2(r27)
/* 803011A0 002FCE00 9B BB FF FF */ stb r29, -1(r27)
/* 803011A4 002FCE04 8B BB FF FD */ lbz r29, -3(r27)
/* 803011A8 002FCE08 9B BB FF FE */ stb r29, -2(r27)
/* 803011AC 002FCE0C 8B BB FF FC */ lbz r29, -4(r27)
/* 803011B0 002FCE10 9B BB FF FD */ stb r29, -3(r27)
/* 803011B4 002FCE14 8B BB FF FB */ lbz r29, -5(r27)
/* 803011B8 002FCE18 9B BB FF FC */ stb r29, -4(r27)
/* 803011BC 002FCE1C 8B BB FF FA */ lbz r29, -6(r27)
/* 803011C0 002FCE20 9B BB FF FB */ stb r29, -5(r27)
/* 803011C4 002FCE24 8B BB FF F9 */ lbz r29, -7(r27)
/* 803011C8 002FCE28 9B BB FF FA */ stb r29, -6(r27)
/* 803011CC 002FCE2C 42 00 FF B8 */ bdnz lbl_80301184
lbl_803011D0:
/* 803011D0 002FCE30 3B AB 00 01 */ addi r29, r11, 1
/* 803011D4 002FCE34 7F A9 03 A6 */ mtctr r29
/* 803011D8 002FCE38 2C 0B 00 00 */ cmpwi r11, 0
/* 803011DC 002FCE3C 41 80 00 18 */ blt lbl_803011F4
lbl_803011E0:
/* 803011E0 002FCE40 7F A3 58 AE */ lbzx r29, r3, r11
/* 803011E4 002FCE44 7F 63 5A 14 */ add r27, r3, r11
/* 803011E8 002FCE48 39 6B FF FF */ addi r11, r11, -1
/* 803011EC 002FCE4C 9B BB 00 01 */ stb r29, 1(r27)
/* 803011F0 002FCE50 42 00 FF F0 */ bdnz lbl_803011E0
lbl_803011F4:
/* 803011F4 002FCE54 2C 00 00 09 */ cmpwi r0, 9
/* 803011F8 002FCE58 39 60 00 30 */ li r11, 0x30
/* 803011FC 002FCE5C 40 81 00 08 */ ble lbl_80301204
/* 80301200 002FCE60 7C CB 07 74 */ extsb r11, r6
lbl_80301204:
/* 80301204 002FCE64 7C 00 5A 14 */ add r0, r0, r11
/* 80301208 002FCE68 39 8C 00 01 */ addi r12, r12, 1
/* 8030120C 002FCE6C 98 03 00 00 */ stb r0, 0(r3)
/* 80301210 002FCE70 3B FF 00 01 */ addi r31, r31, 1
lbl_80301214:
/* 80301214 002FCE74 2C 04 00 00 */ cmpwi r4, 0
/* 80301218 002FCE78 40 82 FE C0 */ bne lbl_803010D8
/* 8030121C 002FCE7C 88 03 00 00 */ lbz r0, 0(r3)
/* 80301220 002FCE80 7C 00 07 75 */ extsb. r0, r0
/* 80301224 002FCE84 40 82 01 20 */ bne lbl_80301344
/* 80301228 002FCE88 7C 64 1B 78 */ mr r4, r3
/* 8030122C 002FCE8C 38 A0 00 00 */ li r5, 0
/* 80301230 002FCE90 48 00 00 0C */ b lbl_8030123C
lbl_80301234:
/* 80301234 002FCE94 38 84 00 01 */ addi r4, r4, 1
/* 80301238 002FCE98 38 A5 00 01 */ addi r5, r5, 1
lbl_8030123C:
/* 8030123C 002FCE9C 88 04 00 00 */ lbz r0, 0(r4)
/* 80301240 002FCEA0 7C 00 07 75 */ extsb. r0, r0
/* 80301244 002FCEA4 40 82 FF F0 */ bne lbl_80301234
/* 80301248 002FCEA8 2C 85 00 00 */ cmpwi cr1, r5, 0
/* 8030124C 002FCEAC 41 84 00 E8 */ blt cr1, lbl_80301334
/* 80301250 002FCEB0 38 05 00 01 */ addi r0, r5, 1
/* 80301254 002FCEB4 2C 00 00 08 */ cmpwi r0, 8
/* 80301258 002FCEB8 40 81 00 B8 */ ble lbl_80301310
/* 8030125C 002FCEBC 38 C0 00 00 */ li r6, 0
/* 80301260 002FCEC0 38 E0 00 00 */ li r7, 0
/* 80301264 002FCEC4 41 84 00 18 */ blt cr1, lbl_8030127C
/* 80301268 002FCEC8 3C 80 80 00 */ lis r4, 0x80000001@ha
/* 8030126C 002FCECC 38 04 00 01 */ addi r0, r4, 0x80000001@l
/* 80301270 002FCED0 7C 05 00 00 */ cmpw r5, r0
/* 80301274 002FCED4 41 80 00 08 */ blt lbl_8030127C
/* 80301278 002FCED8 38 E0 00 01 */ li r7, 1
lbl_8030127C:
/* 8030127C 002FCEDC 2C 07 00 00 */ cmpwi r7, 0
/* 80301280 002FCEE0 41 82 00 2C */ beq lbl_803012AC
/* 80301284 002FCEE4 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 80301288 002FCEE8 38 80 00 01 */ li r4, 1
/* 8030128C 002FCEEC 40 82 00 14 */ bne lbl_803012A0
/* 80301290 002FCEF0 38 05 00 01 */ addi r0, r5, 1
/* 80301294 002FCEF4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 80301298 002FCEF8 41 82 00 08 */ beq lbl_803012A0
/* 8030129C 002FCEFC 38 80 00 00 */ li r4, 0
lbl_803012A0:
/* 803012A0 002FCF00 2C 04 00 00 */ cmpwi r4, 0
/* 803012A4 002FCF04 41 82 00 08 */ beq lbl_803012AC
/* 803012A8 002FCF08 38 C0 00 01 */ li r6, 1
lbl_803012AC:
/* 803012AC 002FCF0C 2C 06 00 00 */ cmpwi r6, 0
/* 803012B0 002FCF10 41 82 00 60 */ beq lbl_80301310
/* 803012B4 002FCF14 54 A0 E8 FE */ srwi r0, r5, 3
/* 803012B8 002FCF18 7C 09 03 A6 */ mtctr r0
/* 803012BC 002FCF1C 2C 05 00 08 */ cmpwi r5, 8
/* 803012C0 002FCF20 41 80 00 50 */ blt lbl_80301310
lbl_803012C4:
/* 803012C4 002FCF24 7C 03 28 AE */ lbzx r0, r3, r5
/* 803012C8 002FCF28 7C 83 2A 14 */ add r4, r3, r5
/* 803012CC 002FCF2C 98 04 00 01 */ stb r0, 1(r4)
/* 803012D0 002FCF30 88 04 FF FF */ lbz r0, -1(r4)
/* 803012D4 002FCF34 7C 03 29 AE */ stbx r0, r3, r5
/* 803012D8 002FCF38 38 A5 FF F8 */ addi r5, r5, -8
/* 803012DC 002FCF3C 88 04 FF FE */ lbz r0, -2(r4)
/* 803012E0 002FCF40 98 04 FF FF */ stb r0, -1(r4)
/* 803012E4 002FCF44 88 04 FF FD */ lbz r0, -3(r4)
/* 803012E8 002FCF48 98 04 FF FE */ stb r0, -2(r4)
/* 803012EC 002FCF4C 88 04 FF FC */ lbz r0, -4(r4)
/* 803012F0 002FCF50 98 04 FF FD */ stb r0, -3(r4)
/* 803012F4 002FCF54 88 04 FF FB */ lbz r0, -5(r4)
/* 803012F8 002FCF58 98 04 FF FC */ stb r0, -4(r4)
/* 803012FC 002FCF5C 88 04 FF FA */ lbz r0, -6(r4)
/* 80301300 002FCF60 98 04 FF FB */ stb r0, -5(r4)
/* 80301304 002FCF64 88 04 FF F9 */ lbz r0, -7(r4)
/* 80301308 002FCF68 98 04 FF FA */ stb r0, -6(r4)
/* 8030130C 002FCF6C 42 00 FF B8 */ bdnz lbl_803012C4
lbl_80301310:
/* 80301310 002FCF70 38 05 00 01 */ addi r0, r5, 1
/* 80301314 002FCF74 7C 09 03 A6 */ mtctr r0
/* 80301318 002FCF78 2C 05 00 00 */ cmpwi r5, 0
/* 8030131C 002FCF7C 41 80 00 18 */ blt lbl_80301334
lbl_80301320:
/* 80301320 002FCF80 7C 03 28 AE */ lbzx r0, r3, r5
/* 80301324 002FCF84 7C 83 2A 14 */ add r4, r3, r5
/* 80301328 002FCF88 38 A5 FF FF */ addi r5, r5, -1
/* 8030132C 002FCF8C 98 04 00 01 */ stb r0, 1(r4)
/* 80301330 002FCF90 42 00 FF F0 */ bdnz lbl_80301320
lbl_80301334:
/* 80301334 002FCF94 38 00 00 30 */ li r0, 0x30
/* 80301338 002FCF98 39 8C 00 01 */ addi r12, r12, 1
/* 8030133C 002FCF9C 98 03 00 00 */ stb r0, 0(r3)
/* 80301340 002FCFA0 3B FF 00 01 */ addi r31, r31, 1
lbl_80301344:
/* 80301344 002FCFA4 7D 20 07 74 */ extsb r0, r9
/* 80301348 002FCFA8 2C 00 00 30 */ cmpwi r0, 0x30
/* 8030134C 002FCFAC 41 82 00 08 */ beq lbl_80301354
/* 80301350 002FCFB0 39 20 00 20 */ li r9, 0x20
lbl_80301354:
/* 80301354 002FCFB4 7D 45 07 74 */ extsb r5, r10
/* 80301358 002FCFB8 7F FF F2 14 */ add r31, r31, r30
/* 8030135C 002FCFBC 3D 40 80 00 */ lis r10, 0x8000
/* 80301360 002FCFC0 38 80 00 20 */ li r4, 0x20
/* 80301364 002FCFC4 38 00 00 00 */ li r0, 0
/* 80301368 002FCFC8 48 00 01 54 */ b lbl_803014BC
lbl_8030136C:
/* 8030136C 002FCFCC 2C 05 00 4C */ cmpwi r5, 0x4c
/* 80301370 002FCFD0 40 82 00 38 */ bne lbl_803013A8
/* 80301374 002FCFD4 7C 6B 1B 78 */ mr r11, r3
/* 80301378 002FCFD8 38 E0 00 00 */ li r7, 0
/* 8030137C 002FCFDC 48 00 00 0C */ b lbl_80301388
lbl_80301380:
/* 80301380 002FCFE0 39 6B 00 01 */ addi r11, r11, 1
/* 80301384 002FCFE4 38 E7 00 01 */ addi r7, r7, 1
lbl_80301388:
/* 80301388 002FCFE8 88 CB 00 00 */ lbz r6, 0(r11)
/* 8030138C 002FCFEC 7C C6 07 75 */ extsb. r6, r6
/* 80301390 002FCFF0 40 82 FF F0 */ bne lbl_80301380
/* 80301394 002FCFF4 7C 83 39 AE */ stbx r4, r3, r7
/* 80301398 002FCFF8 38 C7 00 01 */ addi r6, r7, 1
/* 8030139C 002FCFFC 39 8C 00 01 */ addi r12, r12, 1
/* 803013A0 002FD000 7C 03 31 AE */ stbx r0, r3, r6
/* 803013A4 002FD004 48 00 01 14 */ b lbl_803014B8
lbl_803013A8:
/* 803013A8 002FD008 7C 6B 1B 78 */ mr r11, r3
/* 803013AC 002FD00C 38 C0 00 00 */ li r6, 0
/* 803013B0 002FD010 48 00 00 0C */ b lbl_803013BC
lbl_803013B4:
/* 803013B4 002FD014 39 6B 00 01 */ addi r11, r11, 1
/* 803013B8 002FD018 38 C6 00 01 */ addi r6, r6, 1
lbl_803013BC:
/* 803013BC 002FD01C 88 EB 00 00 */ lbz r7, 0(r11)
/* 803013C0 002FD020 7C E7 07 75 */ extsb. r7, r7
/* 803013C4 002FD024 40 82 FF F0 */ bne lbl_803013B4
/* 803013C8 002FD028 2C 86 00 00 */ cmpwi cr1, r6, 0
/* 803013CC 002FD02C 41 84 00 E4 */ blt cr1, lbl_803014B0
/* 803013D0 002FD030 38 E6 00 01 */ addi r7, r6, 1
/* 803013D4 002FD034 2C 07 00 08 */ cmpwi r7, 8
/* 803013D8 002FD038 40 81 00 B4 */ ble lbl_8030148C
/* 803013DC 002FD03C 39 60 00 00 */ li r11, 0
/* 803013E0 002FD040 3B A0 00 00 */ li r29, 0
/* 803013E4 002FD044 41 84 00 14 */ blt cr1, lbl_803013F8
/* 803013E8 002FD048 38 EA 00 01 */ addi r7, r10, 1
/* 803013EC 002FD04C 7C 06 38 00 */ cmpw r6, r7
/* 803013F0 002FD050 41 80 00 08 */ blt lbl_803013F8
/* 803013F4 002FD054 3B A0 00 01 */ li r29, 1
lbl_803013F8:
/* 803013F8 002FD058 2C 1D 00 00 */ cmpwi r29, 0
/* 803013FC 002FD05C 41 82 00 2C */ beq lbl_80301428
/* 80301400 002FD060 54 C7 00 01 */ rlwinm. r7, r6, 0, 0, 0
/* 80301404 002FD064 3B A0 00 01 */ li r29, 1
/* 80301408 002FD068 40 82 00 14 */ bne lbl_8030141C
/* 8030140C 002FD06C 38 E6 00 01 */ addi r7, r6, 1
/* 80301410 002FD070 54 E7 00 01 */ rlwinm. r7, r7, 0, 0, 0
/* 80301414 002FD074 41 82 00 08 */ beq lbl_8030141C
/* 80301418 002FD078 3B A0 00 00 */ li r29, 0
lbl_8030141C:
/* 8030141C 002FD07C 2C 1D 00 00 */ cmpwi r29, 0
/* 80301420 002FD080 41 82 00 08 */ beq lbl_80301428
/* 80301424 002FD084 39 60 00 01 */ li r11, 1
lbl_80301428:
/* 80301428 002FD088 2C 0B 00 00 */ cmpwi r11, 0
/* 8030142C 002FD08C 41 82 00 60 */ beq lbl_8030148C
/* 80301430 002FD090 54 C7 E8 FE */ srwi r7, r6, 3
/* 80301434 002FD094 7C E9 03 A6 */ mtctr r7
/* 80301438 002FD098 2C 06 00 08 */ cmpwi r6, 8
/* 8030143C 002FD09C 41 80 00 50 */ blt lbl_8030148C
lbl_80301440:
/* 80301440 002FD0A0 7C E3 30 AE */ lbzx r7, r3, r6
/* 80301444 002FD0A4 7D 63 32 14 */ add r11, r3, r6
/* 80301448 002FD0A8 98 EB 00 01 */ stb r7, 1(r11)
/* 8030144C 002FD0AC 88 EB FF FF */ lbz r7, -1(r11)
/* 80301450 002FD0B0 7C E3 31 AE */ stbx r7, r3, r6
/* 80301454 002FD0B4 38 C6 FF F8 */ addi r6, r6, -8
/* 80301458 002FD0B8 88 EB FF FE */ lbz r7, -2(r11)
/* 8030145C 002FD0BC 98 EB FF FF */ stb r7, -1(r11)
/* 80301460 002FD0C0 88 EB FF FD */ lbz r7, -3(r11)
/* 80301464 002FD0C4 98 EB FF FE */ stb r7, -2(r11)
/* 80301468 002FD0C8 88 EB FF FC */ lbz r7, -4(r11)
/* 8030146C 002FD0CC 98 EB FF FD */ stb r7, -3(r11)
/* 80301470 002FD0D0 88 EB FF FB */ lbz r7, -5(r11)
/* 80301474 002FD0D4 98 EB FF FC */ stb r7, -4(r11)
/* 80301478 002FD0D8 88 EB FF FA */ lbz r7, -6(r11)
/* 8030147C 002FD0DC 98 EB FF FB */ stb r7, -5(r11)
/* 80301480 002FD0E0 88 EB FF F9 */ lbz r7, -7(r11)
/* 80301484 002FD0E4 98 EB FF FA */ stb r7, -6(r11)
/* 80301488 002FD0E8 42 00 FF B8 */ bdnz lbl_80301440
lbl_8030148C:
/* 8030148C 002FD0EC 38 E6 00 01 */ addi r7, r6, 1
/* 80301490 002FD0F0 7C E9 03 A6 */ mtctr r7
/* 80301494 002FD0F4 2C 06 00 00 */ cmpwi r6, 0
/* 80301498 002FD0F8 41 80 00 18 */ blt lbl_803014B0
lbl_8030149C:
/* 8030149C 002FD0FC 7C E3 30 AE */ lbzx r7, r3, r6
/* 803014A0 002FD100 7D 63 32 14 */ add r11, r3, r6
/* 803014A4 002FD104 38 C6 FF FF */ addi r6, r6, -1
/* 803014A8 002FD108 98 EB 00 01 */ stb r7, 1(r11)
/* 803014AC 002FD10C 42 00 FF F0 */ bdnz lbl_8030149C
lbl_803014B0:
/* 803014B0 002FD110 99 23 00 00 */ stb r9, 0(r3)
/* 803014B4 002FD114 39 8C 00 01 */ addi r12, r12, 1
lbl_803014B8:
/* 803014B8 002FD118 3B FF 00 01 */ addi r31, r31, 1
lbl_803014BC:
/* 803014BC 002FD11C 7C 1F 40 00 */ cmpw r31, r8
/* 803014C0 002FD120 41 80 FE AC */ blt lbl_8030136C
/* 803014C4 002FD124 2C 1E 00 00 */ cmpwi r30, 0
/* 803014C8 002FD128 41 82 01 18 */ beq lbl_803015E0
/* 803014CC 002FD12C 7C 64 1B 78 */ mr r4, r3
/* 803014D0 002FD130 38 A0 00 00 */ li r5, 0
/* 803014D4 002FD134 48 00 00 0C */ b lbl_803014E0
lbl_803014D8:
/* 803014D8 002FD138 38 84 00 01 */ addi r4, r4, 1
/* 803014DC 002FD13C 38 A5 00 01 */ addi r5, r5, 1
lbl_803014E0:
/* 803014E0 002FD140 88 04 00 00 */ lbz r0, 0(r4)
/* 803014E4 002FD144 7C 00 07 75 */ extsb. r0, r0
/* 803014E8 002FD148 40 82 FF F0 */ bne lbl_803014D8
/* 803014EC 002FD14C 2C 85 00 00 */ cmpwi cr1, r5, 0
/* 803014F0 002FD150 41 84 00 E8 */ blt cr1, lbl_803015D8
/* 803014F4 002FD154 38 05 00 01 */ addi r0, r5, 1
/* 803014F8 002FD158 2C 00 00 08 */ cmpwi r0, 8
/* 803014FC 002FD15C 40 81 00 B8 */ ble lbl_803015B4
/* 80301500 002FD160 38 C0 00 00 */ li r6, 0
/* 80301504 002FD164 38 E0 00 00 */ li r7, 0
/* 80301508 002FD168 41 84 00 18 */ blt cr1, lbl_80301520
/* 8030150C 002FD16C 3C 80 80 00 */ lis r4, 0x80000001@ha
/* 80301510 002FD170 38 04 00 01 */ addi r0, r4, 0x80000001@l
/* 80301514 002FD174 7C 05 00 00 */ cmpw r5, r0
/* 80301518 002FD178 41 80 00 08 */ blt lbl_80301520
/* 8030151C 002FD17C 38 E0 00 01 */ li r7, 1
lbl_80301520:
/* 80301520 002FD180 2C 07 00 00 */ cmpwi r7, 0
/* 80301524 002FD184 41 82 00 2C */ beq lbl_80301550
/* 80301528 002FD188 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 8030152C 002FD18C 38 80 00 01 */ li r4, 1
/* 80301530 002FD190 40 82 00 14 */ bne lbl_80301544
/* 80301534 002FD194 38 05 00 01 */ addi r0, r5, 1
/* 80301538 002FD198 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 8030153C 002FD19C 41 82 00 08 */ beq lbl_80301544
/* 80301540 002FD1A0 38 80 00 00 */ li r4, 0
lbl_80301544:
/* 80301544 002FD1A4 2C 04 00 00 */ cmpwi r4, 0
/* 80301548 002FD1A8 41 82 00 08 */ beq lbl_80301550
/* 8030154C 002FD1AC 38 C0 00 01 */ li r6, 1
lbl_80301550:
/* 80301550 002FD1B0 2C 06 00 00 */ cmpwi r6, 0
/* 80301554 002FD1B4 41 82 00 60 */ beq lbl_803015B4
/* 80301558 002FD1B8 54 A0 E8 FE */ srwi r0, r5, 3
/* 8030155C 002FD1BC 7C 09 03 A6 */ mtctr r0
/* 80301560 002FD1C0 2C 05 00 08 */ cmpwi r5, 8
/* 80301564 002FD1C4 41 80 00 50 */ blt lbl_803015B4
lbl_80301568:
/* 80301568 002FD1C8 7C 03 28 AE */ lbzx r0, r3, r5
/* 8030156C 002FD1CC 7C 83 2A 14 */ add r4, r3, r5
/* 80301570 002FD1D0 98 04 00 01 */ stb r0, 1(r4)
/* 80301574 002FD1D4 88 04 FF FF */ lbz r0, -1(r4)
/* 80301578 002FD1D8 7C 03 29 AE */ stbx r0, r3, r5
/* 8030157C 002FD1DC 38 A5 FF F8 */ addi r5, r5, -8
/* 80301580 002FD1E0 88 04 FF FE */ lbz r0, -2(r4)
/* 80301584 002FD1E4 98 04 FF FF */ stb r0, -1(r4)
/* 80301588 002FD1E8 88 04 FF FD */ lbz r0, -3(r4)
/* 8030158C 002FD1EC 98 04 FF FE */ stb r0, -2(r4)
/* 80301590 002FD1F0 88 04 FF FC */ lbz r0, -4(r4)
/* 80301594 002FD1F4 98 04 FF FD */ stb r0, -3(r4)
/* 80301598 002FD1F8 88 04 FF FB */ lbz r0, -5(r4)
/* 8030159C 002FD1FC 98 04 FF FC */ stb r0, -4(r4)
/* 803015A0 002FD200 88 04 FF FA */ lbz r0, -6(r4)
/* 803015A4 002FD204 98 04 FF FB */ stb r0, -5(r4)
/* 803015A8 002FD208 88 04 FF F9 */ lbz r0, -7(r4)
/* 803015AC 002FD20C 98 04 FF FA */ stb r0, -6(r4)
/* 803015B0 002FD210 42 00 FF B8 */ bdnz lbl_80301568
lbl_803015B4:
/* 803015B4 002FD214 38 05 00 01 */ addi r0, r5, 1
/* 803015B8 002FD218 7C 09 03 A6 */ mtctr r0
/* 803015BC 002FD21C 2C 05 00 00 */ cmpwi r5, 0
/* 803015C0 002FD220 41 80 00 18 */ blt lbl_803015D8
lbl_803015C4:
/* 803015C4 002FD224 7C 03 28 AE */ lbzx r0, r3, r5
/* 803015C8 002FD228 7C 83 2A 14 */ add r4, r3, r5
/* 803015CC 002FD22C 38 A5 FF FF */ addi r5, r5, -1
/* 803015D0 002FD230 98 04 00 01 */ stb r0, 1(r4)
/* 803015D4 002FD234 42 00 FF F0 */ bdnz lbl_803015C4
lbl_803015D8:
/* 803015D8 002FD238 38 00 00 2D */ li r0, 0x2d
/* 803015DC 002FD23C 98 03 00 00 */ stb r0, 0(r3)
lbl_803015E0:
/* 803015E0 002FD240 39 61 00 20 */ addi r11, r1, 0x20
/* 803015E4 002FD244 7D 83 63 78 */ mr r3, r12
/* 803015E8 002FD248 4B EC 5B 8D */ bl _restgpr_27
/* 803015EC 002FD24C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803015F0 002FD250 7C 08 03 A6 */ mtlr r0
/* 803015F4 002FD254 38 21 00 20 */ addi r1, r1, 0x20
/* 803015F8 002FD258 4E 80 00 20 */ blr
.global func_803015FC
func_803015FC:
/* 803015FC 002FD25C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80301600 002FD260 7C 08 02 A6 */ mflr r0
/* 80301604 002FD264 90 01 00 84 */ stw r0, 0x84(r1)
/* 80301608 002FD268 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8030160C 002FD26C 40 86 00 24 */ bne cr1, lbl_80301630
/* 80301610 002FD270 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 80301614 002FD274 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 80301618 002FD278 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8030161C 002FD27C D8 81 00 40 */ stfd f4, 0x40(r1)
/* 80301620 002FD280 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 80301624 002FD284 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 80301628 002FD288 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8030162C 002FD28C D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_80301630:
/* 80301630 002FD290 39 61 00 88 */ addi r11, r1, 0x88
/* 80301634 002FD294 38 01 00 08 */ addi r0, r1, 8
/* 80301638 002FD298 3D 80 02 00 */ lis r12, 0x200
/* 8030163C 002FD29C 90 61 00 08 */ stw r3, 8(r1)
/* 80301640 002FD2A0 3B E1 00 68 */ addi r31, r1, 0x68
/* 80301644 002FD2A4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80301648 002FD2A8 7F E5 FB 78 */ mr r5, r31
/* 8030164C 002FD2AC 90 81 00 0C */ stw r4, 0xc(r1)
/* 80301650 002FD2B0 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80301654 002FD2B4 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80301658 002FD2B8 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8030165C 002FD2BC 91 21 00 20 */ stw r9, 0x20(r1)
/* 80301660 002FD2C0 91 41 00 24 */ stw r10, 0x24(r1)
/* 80301664 002FD2C4 91 81 00 68 */ stw r12, 0x68(r1)
/* 80301668 002FD2C8 91 61 00 6C */ stw r11, 0x6c(r1)
/* 8030166C 002FD2CC 90 01 00 70 */ stw r0, 0x70(r1)
/* 80301670 002FD2D0 48 00 00 19 */ bl func_80301688
/* 80301674 002FD2D4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80301678 002FD2D8 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8030167C 002FD2DC 7C 08 03 A6 */ mtlr r0
/* 80301680 002FD2E0 38 21 00 80 */ addi r1, r1, 0x80
/* 80301684 002FD2E4 4E 80 00 20 */ blr
.global func_80301688
func_80301688:
/* 80301688 002FD2E8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8030168C 002FD2EC 7C 08 02 A6 */ mflr r0
/* 80301690 002FD2F0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80301694 002FD2F4 39 61 00 50 */ addi r11, r1, 0x50
/* 80301698 002FD2F8 4B EC 5A 65 */ bl _savegpr_16
/* 8030169C 002FD2FC 3A 00 00 00 */ li r16, 0
/* 803016A0 002FD300 7C 74 1B 78 */ mr r20, r3
/* 803016A4 002FD304 9A 03 00 00 */ stb r16, 0(r3)
/* 803016A8 002FD308 7C 95 23 78 */ mr r21, r4
/* 803016AC 002FD30C 7C B6 2B 78 */ mr r22, r5
/* 803016B0 002FD310 3B E0 00 00 */ li r31, 0
/* 803016B4 002FD314 3E 40 80 00 */ lis r18, 0x8000
/* 803016B8 002FD318 3A 60 00 20 */ li r19, 0x20
/* 803016BC 002FD31C 3E 20 80 44 */ lis r17, 0x8044
/* 803016C0 002FD320 48 00 04 5C */ b lbl_80301B1C
/* 803016C4 002FD324 48 00 00 08 */ b lbl_803016CC
lbl_803016C8:
/* 803016C8 002FD328 3A 94 00 01 */ addi r20, r20, 1
lbl_803016CC:
/* 803016CC 002FD32C 88 14 00 00 */ lbz r0, 0(r20)
/* 803016D0 002FD330 7C 00 07 75 */ extsb. r0, r0
/* 803016D4 002FD334 40 82 FF F4 */ bne lbl_803016C8
/* 803016D8 002FD338 7C C0 07 74 */ extsb r0, r6
/* 803016DC 002FD33C 2C 00 00 25 */ cmpwi r0, 0x25
/* 803016E0 002FD340 40 82 04 04 */ bne lbl_80301AE4
/* 803016E4 002FD344 88 15 00 00 */ lbz r0, 0(r21)
/* 803016E8 002FD348 3A B5 00 01 */ addi r21, r21, 1
/* 803016EC 002FD34C 7C 03 07 74 */ extsb r3, r0
/* 803016F0 002FD350 2C 03 00 25 */ cmpwi r3, 0x25
/* 803016F4 002FD354 40 82 00 40 */ bne lbl_80301734
/* 803016F8 002FD358 7E 84 A3 78 */ mr r4, r20
/* 803016FC 002FD35C 7E 86 A3 78 */ mr r6, r20
/* 80301700 002FD360 38 A0 00 00 */ li r5, 0
/* 80301704 002FD364 3A 94 00 01 */ addi r20, r20, 1
/* 80301708 002FD368 48 00 00 0C */ b lbl_80301714
lbl_8030170C:
/* 8030170C 002FD36C 38 C6 00 01 */ addi r6, r6, 1
/* 80301710 002FD370 38 A5 00 01 */ addi r5, r5, 1
lbl_80301714:
/* 80301714 002FD374 88 66 00 00 */ lbz r3, 0(r6)
/* 80301718 002FD378 7C 63 07 75 */ extsb. r3, r3
/* 8030171C 002FD37C 40 82 FF F0 */ bne lbl_8030170C
/* 80301720 002FD380 7C 04 29 AE */ stbx r0, r4, r5
/* 80301724 002FD384 38 05 00 01 */ addi r0, r5, 1
/* 80301728 002FD388 3B FF 00 01 */ addi r31, r31, 1
/* 8030172C 002FD38C 7E 04 01 AE */ stbx r16, r4, r0
/* 80301730 002FD390 48 00 03 EC */ b lbl_80301B1C
lbl_80301734:
/* 80301734 002FD394 2C 03 00 2D */ cmpwi r3, 0x2d
/* 80301738 002FD398 7C 1A 03 78 */ mr r26, r0
/* 8030173C 002FD39C 40 82 00 0C */ bne lbl_80301748
/* 80301740 002FD3A0 88 15 00 00 */ lbz r0, 0(r21)
/* 80301744 002FD3A4 3A B5 00 01 */ addi r21, r21, 1
lbl_80301748:
/* 80301748 002FD3A8 7C 03 07 74 */ extsb r3, r0
/* 8030174C 002FD3AC 7C 19 03 78 */ mr r25, r0
/* 80301750 002FD3B0 2C 03 00 2A */ cmpwi r3, 0x2a
/* 80301754 002FD3B4 3B A0 00 00 */ li r29, 0
/* 80301758 002FD3B8 3B 80 00 0A */ li r28, 0xa
/* 8030175C 002FD3BC 3B 00 00 30 */ li r24, 0x30
/* 80301760 002FD3C0 3B C0 00 00 */ li r30, 0
/* 80301764 002FD3C4 40 82 00 20 */ bne lbl_80301784
/* 80301768 002FD3C8 7E C3 B3 78 */ mr r3, r22
/* 8030176C 002FD3CC 38 80 00 01 */ li r4, 1
/* 80301770 002FD3D0 4B EC 54 11 */ bl __va_arg
/* 80301774 002FD3D4 88 15 00 00 */ lbz r0, 0(r21)
/* 80301778 002FD3D8 3A B5 00 01 */ addi r21, r21, 1
/* 8030177C 002FD3DC 83 63 00 00 */ lwz r27, 0(r3)
/* 80301780 002FD3E0 48 00 00 38 */ b lbl_803017B8
lbl_80301784:
/* 80301784 002FD3E4 3B 60 00 00 */ li r27, 0
/* 80301788 002FD3E8 48 00 00 1C */ b lbl_803017A4
lbl_8030178C:
/* 8030178C 002FD3EC 1C 9B 00 0A */ mulli r4, r27, 0xa
/* 80301790 002FD3F0 7C 03 07 74 */ extsb r3, r0
/* 80301794 002FD3F4 88 15 00 00 */ lbz r0, 0(r21)
/* 80301798 002FD3F8 3A B5 00 01 */ addi r21, r21, 1
/* 8030179C 002FD3FC 7C 63 22 14 */ add r3, r3, r4
/* 803017A0 002FD400 3B 63 FF D0 */ addi r27, r3, -48
lbl_803017A4:
/* 803017A4 002FD404 7C 03 07 74 */ extsb r3, r0
/* 803017A8 002FD408 2C 03 00 30 */ cmpwi r3, 0x30
/* 803017AC 002FD40C 41 80 00 0C */ blt lbl_803017B8
/* 803017B0 002FD410 2C 03 00 39 */ cmpwi r3, 0x39
/* 803017B4 002FD414 40 81 FF D8 */ ble lbl_8030178C
lbl_803017B8:
/* 803017B8 002FD418 70 03 00 DF */ andi. r3, r0, 0xdf
/* 803017BC 002FD41C 7C 77 07 74 */ extsb r23, r3
/* 803017C0 002FD420 2C 17 00 4C */ cmpwi r23, 0x4c
/* 803017C4 002FD424 40 82 00 0C */ bne lbl_803017D0
/* 803017C8 002FD428 88 15 00 00 */ lbz r0, 0(r21)
/* 803017CC 002FD42C 3A B5 00 01 */ addi r21, r21, 1
lbl_803017D0:
/* 803017D0 002FD430 7C 03 07 74 */ extsb r3, r0
/* 803017D4 002FD434 38 03 FF A8 */ addi r0, r3, -88
/* 803017D8 002FD438 28 00 00 20 */ cmplwi r0, 0x20
/* 803017DC 002FD43C 41 81 02 90 */ bgt lbl_80301A6C
/* 803017E0 002FD440 38 71 62 50 */ addi r3, r17, 0x6250
/* 803017E4 002FD444 54 00 10 3A */ slwi r0, r0, 2
/* 803017E8 002FD448 7C 63 00 2E */ lwzx r3, r3, r0
/* 803017EC 002FD44C 7C 69 03 A6 */ mtctr r3
/* 803017F0 002FD450 4E 80 04 20 */ bctr
/* 803017F4 002FD454 3B C0 00 01 */ li r30, 1
/* 803017F8 002FD458 3B A0 00 01 */ li r29, 1
/* 803017FC 002FD45C 48 00 02 70 */ b lbl_80301A6C
/* 80301800 002FD460 3B C0 00 01 */ li r30, 1
/* 80301804 002FD464 3B 80 00 08 */ li r28, 8
/* 80301808 002FD468 48 00 02 64 */ b lbl_80301A6C
/* 8030180C 002FD46C 3B C0 00 01 */ li r30, 1
/* 80301810 002FD470 48 00 02 5C */ b lbl_80301A6C
/* 80301814 002FD474 3B C0 00 01 */ li r30, 1
/* 80301818 002FD478 3B 80 00 10 */ li r28, 0x10
/* 8030181C 002FD47C 3B 00 00 57 */ li r24, 0x57
/* 80301820 002FD480 48 00 02 4C */ b lbl_80301A6C
/* 80301824 002FD484 3B C0 00 01 */ li r30, 1
/* 80301828 002FD488 3B 80 00 10 */ li r28, 0x10
/* 8030182C 002FD48C 3B 00 00 37 */ li r24, 0x37
/* 80301830 002FD490 48 00 02 3C */ b lbl_80301A6C
/* 80301834 002FD494 7E C3 B3 78 */ mr r3, r22
/* 80301838 002FD498 38 80 00 01 */ li r4, 1
/* 8030183C 002FD49C 4B EC 53 45 */ bl __va_arg
/* 80301840 002FD4A0 80 03 00 00 */ lwz r0, 0(r3)
/* 80301844 002FD4A4 7E 83 A3 78 */ mr r3, r20
/* 80301848 002FD4A8 7E 85 A3 78 */ mr r5, r20
/* 8030184C 002FD4AC 38 80 00 00 */ li r4, 0
/* 80301850 002FD4B0 7C 06 07 74 */ extsb r6, r0
/* 80301854 002FD4B4 3A 94 00 01 */ addi r20, r20, 1
/* 80301858 002FD4B8 48 00 00 0C */ b lbl_80301864
lbl_8030185C:
/* 8030185C 002FD4BC 38 A5 00 01 */ addi r5, r5, 1
/* 80301860 002FD4C0 38 84 00 01 */ addi r4, r4, 1
lbl_80301864:
/* 80301864 002FD4C4 88 05 00 00 */ lbz r0, 0(r5)
/* 80301868 002FD4C8 7C 00 07 75 */ extsb. r0, r0
/* 8030186C 002FD4CC 40 82 FF F0 */ bne lbl_8030185C
/* 80301870 002FD4D0 7C C3 21 AE */ stbx r6, r3, r4
/* 80301874 002FD4D4 38 04 00 01 */ addi r0, r4, 1
/* 80301878 002FD4D8 3B FF 00 01 */ addi r31, r31, 1
/* 8030187C 002FD4DC 7E 03 01 AE */ stbx r16, r3, r0
/* 80301880 002FD4E0 48 00 01 EC */ b lbl_80301A6C
/* 80301884 002FD4E4 7E C3 B3 78 */ mr r3, r22
/* 80301888 002FD4E8 38 80 00 01 */ li r4, 1
/* 8030188C 002FD4EC 4B EC 52 F5 */ bl __va_arg
/* 80301890 002FD4F0 80 63 00 00 */ lwz r3, 0(r3)
/* 80301894 002FD4F4 2C 03 00 00 */ cmpwi r3, 0
/* 80301898 002FD4F8 41 82 00 70 */ beq lbl_80301908
/* 8030189C 002FD4FC 7C 64 1B 78 */ mr r4, r3
/* 803018A0 002FD500 38 A0 00 00 */ li r5, 0
/* 803018A4 002FD504 48 00 00 0C */ b lbl_803018B0
lbl_803018A8:
/* 803018A8 002FD508 38 84 00 01 */ addi r4, r4, 1
/* 803018AC 002FD50C 38 A5 00 01 */ addi r5, r5, 1
lbl_803018B0:
/* 803018B0 002FD510 88 04 00 00 */ lbz r0, 0(r4)
/* 803018B4 002FD514 7C 00 07 75 */ extsb. r0, r0
/* 803018B8 002FD518 40 82 FF F0 */ bne lbl_803018A8
/* 803018BC 002FD51C 7E 86 A3 78 */ mr r6, r20
/* 803018C0 002FD520 38 80 00 00 */ li r4, 0
/* 803018C4 002FD524 48 00 00 0C */ b lbl_803018D0
lbl_803018C8:
/* 803018C8 002FD528 38 C6 00 01 */ addi r6, r6, 1
/* 803018CC 002FD52C 38 84 00 01 */ addi r4, r4, 1
lbl_803018D0:
/* 803018D0 002FD530 88 06 00 00 */ lbz r0, 0(r6)
/* 803018D4 002FD534 7C 00 07 75 */ extsb. r0, r0
/* 803018D8 002FD538 40 82 FF F0 */ bne lbl_803018C8
/* 803018DC 002FD53C 7C 94 22 14 */ add r4, r20, r4
/* 803018E0 002FD540 48 00 00 14 */ b lbl_803018F4
lbl_803018E4:
/* 803018E4 002FD544 88 03 00 00 */ lbz r0, 0(r3)
/* 803018E8 002FD548 38 63 00 01 */ addi r3, r3, 1
/* 803018EC 002FD54C 98 04 00 00 */ stb r0, 0(r4)
/* 803018F0 002FD550 38 84 00 01 */ addi r4, r4, 1
lbl_803018F4:
/* 803018F4 002FD554 88 03 00 00 */ lbz r0, 0(r3)
/* 803018F8 002FD558 7C 00 07 75 */ extsb. r0, r0
/* 803018FC 002FD55C 40 82 FF E8 */ bne lbl_803018E4
/* 80301900 002FD560 9A 04 00 00 */ stb r16, 0(r4)
/* 80301904 002FD564 48 00 00 08 */ b lbl_8030190C
lbl_80301908:
/* 80301908 002FD568 38 A0 00 00 */ li r5, 0
lbl_8030190C:
/* 8030190C 002FD56C 7F FF 2A 14 */ add r31, r31, r5
/* 80301910 002FD570 7F 40 07 74 */ extsb r0, r26
/* 80301914 002FD574 48 00 01 50 */ b lbl_80301A64
lbl_80301918:
/* 80301918 002FD578 2C 00 00 2D */ cmpwi r0, 0x2d
/* 8030191C 002FD57C 3B FF 00 01 */ addi r31, r31, 1
/* 80301920 002FD580 40 82 00 34 */ bne lbl_80301954
/* 80301924 002FD584 7E 86 A3 78 */ mr r6, r20
/* 80301928 002FD588 38 80 00 00 */ li r4, 0
/* 8030192C 002FD58C 48 00 00 0C */ b lbl_80301938
lbl_80301930:
/* 80301930 002FD590 38 C6 00 01 */ addi r6, r6, 1
/* 80301934 002FD594 38 84 00 01 */ addi r4, r4, 1
lbl_80301938:
/* 80301938 002FD598 88 66 00 00 */ lbz r3, 0(r6)
/* 8030193C 002FD59C 7C 63 07 75 */ extsb. r3, r3
/* 80301940 002FD5A0 40 82 FF F0 */ bne lbl_80301930
/* 80301944 002FD5A4 7E 74 21 AE */ stbx r19, r20, r4
/* 80301948 002FD5A8 38 64 00 01 */ addi r3, r4, 1
/* 8030194C 002FD5AC 7E 14 19 AE */ stbx r16, r20, r3
/* 80301950 002FD5B0 48 00 01 10 */ b lbl_80301A60
lbl_80301954:
/* 80301954 002FD5B4 7E 86 A3 78 */ mr r6, r20
/* 80301958 002FD5B8 38 60 00 00 */ li r3, 0
/* 8030195C 002FD5BC 48 00 00 0C */ b lbl_80301968
lbl_80301960:
/* 80301960 002FD5C0 38 C6 00 01 */ addi r6, r6, 1
/* 80301964 002FD5C4 38 63 00 01 */ addi r3, r3, 1
lbl_80301968:
/* 80301968 002FD5C8 88 86 00 00 */ lbz r4, 0(r6)
/* 8030196C 002FD5CC 7C 84 07 75 */ extsb. r4, r4
/* 80301970 002FD5D0 40 82 FF F0 */ bne lbl_80301960
/* 80301974 002FD5D4 2C 83 00 00 */ cmpwi cr1, r3, 0
/* 80301978 002FD5D8 41 84 00 E4 */ blt cr1, lbl_80301A5C
/* 8030197C 002FD5DC 38 83 00 01 */ addi r4, r3, 1
/* 80301980 002FD5E0 2C 04 00 08 */ cmpwi r4, 8
/* 80301984 002FD5E4 40 81 00 B4 */ ble lbl_80301A38
/* 80301988 002FD5E8 38 C0 00 00 */ li r6, 0
/* 8030198C 002FD5EC 38 E0 00 00 */ li r7, 0
/* 80301990 002FD5F0 41 84 00 14 */ blt cr1, lbl_803019A4
/* 80301994 002FD5F4 38 92 00 01 */ addi r4, r18, 1
/* 80301998 002FD5F8 7C 03 20 00 */ cmpw r3, r4
/* 8030199C 002FD5FC 41 80 00 08 */ blt lbl_803019A4
/* 803019A0 002FD600 38 E0 00 01 */ li r7, 1
lbl_803019A4:
/* 803019A4 002FD604 2C 07 00 00 */ cmpwi r7, 0
/* 803019A8 002FD608 41 82 00 2C */ beq lbl_803019D4
/* 803019AC 002FD60C 54 64 00 01 */ rlwinm. r4, r3, 0, 0, 0
/* 803019B0 002FD610 38 E0 00 01 */ li r7, 1
/* 803019B4 002FD614 40 82 00 14 */ bne lbl_803019C8
/* 803019B8 002FD618 38 83 00 01 */ addi r4, r3, 1
/* 803019BC 002FD61C 54 84 00 01 */ rlwinm. r4, r4, 0, 0, 0
/* 803019C0 002FD620 41 82 00 08 */ beq lbl_803019C8
/* 803019C4 002FD624 38 E0 00 00 */ li r7, 0
lbl_803019C8:
/* 803019C8 002FD628 2C 07 00 00 */ cmpwi r7, 0
/* 803019CC 002FD62C 41 82 00 08 */ beq lbl_803019D4
/* 803019D0 002FD630 38 C0 00 01 */ li r6, 1
lbl_803019D4:
/* 803019D4 002FD634 2C 06 00 00 */ cmpwi r6, 0
/* 803019D8 002FD638 41 82 00 60 */ beq lbl_80301A38
/* 803019DC 002FD63C 54 64 E8 FE */ srwi r4, r3, 3
/* 803019E0 002FD640 7C 89 03 A6 */ mtctr r4
/* 803019E4 002FD644 2C 03 00 08 */ cmpwi r3, 8
/* 803019E8 002FD648 41 80 00 50 */ blt lbl_80301A38
lbl_803019EC:
/* 803019EC 002FD64C 7C D4 18 AE */ lbzx r6, r20, r3
/* 803019F0 002FD650 7C 94 1A 14 */ add r4, r20, r3
/* 803019F4 002FD654 98 C4 00 01 */ stb r6, 1(r4)
/* 803019F8 002FD658 88 C4 FF FF */ lbz r6, -1(r4)
/* 803019FC 002FD65C 7C D4 19 AE */ stbx r6, r20, r3
/* 80301A00 002FD660 38 63 FF F8 */ addi r3, r3, -8
/* 80301A04 002FD664 88 C4 FF FE */ lbz r6, -2(r4)
/* 80301A08 002FD668 98 C4 FF FF */ stb r6, -1(r4)
/* 80301A0C 002FD66C 88 C4 FF FD */ lbz r6, -3(r4)
/* 80301A10 002FD670 98 C4 FF FE */ stb r6, -2(r4)
/* 80301A14 002FD674 88 C4 FF FC */ lbz r6, -4(r4)
/* 80301A18 002FD678 98 C4 FF FD */ stb r6, -3(r4)
/* 80301A1C 002FD67C 88 C4 FF FB */ lbz r6, -5(r4)
/* 80301A20 002FD680 98 C4 FF FC */ stb r6, -4(r4)
/* 80301A24 002FD684 88 C4 FF FA */ lbz r6, -6(r4)
/* 80301A28 002FD688 98 C4 FF FB */ stb r6, -5(r4)
/* 80301A2C 002FD68C 88 C4 FF F9 */ lbz r6, -7(r4)
/* 80301A30 002FD690 98 C4 FF FA */ stb r6, -6(r4)
/* 80301A34 002FD694 42 00 FF B8 */ bdnz lbl_803019EC
lbl_80301A38:
/* 80301A38 002FD698 38 83 00 01 */ addi r4, r3, 1
/* 80301A3C 002FD69C 7C 89 03 A6 */ mtctr r4
/* 80301A40 002FD6A0 2C 03 00 00 */ cmpwi r3, 0
/* 80301A44 002FD6A4 41 80 00 18 */ blt lbl_80301A5C
lbl_80301A48:
/* 80301A48 002FD6A8 7C 94 18 AE */ lbzx r4, r20, r3
/* 80301A4C 002FD6AC 7C D4 1A 14 */ add r6, r20, r3
/* 80301A50 002FD6B0 38 63 FF FF */ addi r3, r3, -1
/* 80301A54 002FD6B4 98 86 00 01 */ stb r4, 1(r6)
/* 80301A58 002FD6B8 42 00 FF F0 */ bdnz lbl_80301A48
lbl_80301A5C:
/* 80301A5C 002FD6BC 9A 74 00 00 */ stb r19, 0(r20)
lbl_80301A60:
/* 80301A60 002FD6C0 38 A5 00 01 */ addi r5, r5, 1
lbl_80301A64:
/* 80301A64 002FD6C4 7C 05 D8 00 */ cmpw r5, r27
/* 80301A68 002FD6C8 41 80 FE B0 */ blt lbl_80301918
lbl_80301A6C:
/* 80301A6C 002FD6CC 2C 1E 00 00 */ cmpwi r30, 0
/* 80301A70 002FD6D0 41 82 00 AC */ beq lbl_80301B1C
/* 80301A74 002FD6D4 2C 17 00 4C */ cmpwi r23, 0x4c
/* 80301A78 002FD6D8 40 82 00 18 */ bne lbl_80301A90
/* 80301A7C 002FD6DC 7E C3 B3 78 */ mr r3, r22
/* 80301A80 002FD6E0 38 80 00 01 */ li r4, 1
/* 80301A84 002FD6E4 4B EC 50 FD */ bl __va_arg
/* 80301A88 002FD6E8 80 83 00 00 */ lwz r4, 0(r3)
/* 80301A8C 002FD6EC 48 00 00 30 */ b lbl_80301ABC
lbl_80301A90:
/* 80301A90 002FD6F0 2C 1D 00 00 */ cmpwi r29, 0
/* 80301A94 002FD6F4 41 82 00 18 */ beq lbl_80301AAC
/* 80301A98 002FD6F8 7E C3 B3 78 */ mr r3, r22
/* 80301A9C 002FD6FC 38 80 00 01 */ li r4, 1
/* 80301AA0 002FD700 4B EC 50 E1 */ bl __va_arg
/* 80301AA4 002FD704 80 83 00 00 */ lwz r4, 0(r3)
/* 80301AA8 002FD708 48 00 00 14 */ b lbl_80301ABC
lbl_80301AAC:
/* 80301AAC 002FD70C 7E C3 B3 78 */ mr r3, r22
/* 80301AB0 002FD710 38 80 00 01 */ li r4, 1
/* 80301AB4 002FD714 4B EC 50 CD */ bl __va_arg
/* 80301AB8 002FD718 80 83 00 00 */ lwz r4, 0(r3)
lbl_80301ABC:
/* 80301ABC 002FD71C 7E 83 A3 78 */ mr r3, r20
/* 80301AC0 002FD720 7F 85 E3 78 */ mr r5, r28
/* 80301AC4 002FD724 7F 06 C3 78 */ mr r6, r24
/* 80301AC8 002FD728 7F A7 EB 78 */ mr r7, r29
/* 80301ACC 002FD72C 7F 68 DB 78 */ mr r8, r27
/* 80301AD0 002FD730 7F 29 07 74 */ extsb r9, r25
/* 80301AD4 002FD734 7F 4A 07 74 */ extsb r10, r26
/* 80301AD8 002FD738 4B FF F5 BD */ bl func_80301094
/* 80301ADC 002FD73C 7F FF 1A 14 */ add r31, r31, r3
/* 80301AE0 002FD740 48 00 00 3C */ b lbl_80301B1C
lbl_80301AE4:
/* 80301AE4 002FD744 7E 83 A3 78 */ mr r3, r20
/* 80301AE8 002FD748 7E 85 A3 78 */ mr r5, r20
/* 80301AEC 002FD74C 38 80 00 00 */ li r4, 0
/* 80301AF0 002FD750 3A 94 00 01 */ addi r20, r20, 1
/* 80301AF4 002FD754 48 00 00 0C */ b lbl_80301B00
lbl_80301AF8:
/* 80301AF8 002FD758 38 A5 00 01 */ addi r5, r5, 1
/* 80301AFC 002FD75C 38 84 00 01 */ addi r4, r4, 1
lbl_80301B00:
/* 80301B00 002FD760 88 05 00 00 */ lbz r0, 0(r5)
/* 80301B04 002FD764 7C 00 07 75 */ extsb. r0, r0
/* 80301B08 002FD768 40 82 FF F0 */ bne lbl_80301AF8
/* 80301B0C 002FD76C 7C C3 21 AE */ stbx r6, r3, r4
/* 80301B10 002FD770 38 04 00 01 */ addi r0, r4, 1
/* 80301B14 002FD774 3B FF 00 01 */ addi r31, r31, 1
/* 80301B18 002FD778 7E 03 01 AE */ stbx r16, r3, r0
lbl_80301B1C:
/* 80301B1C 002FD77C 88 D5 00 00 */ lbz r6, 0(r21)
/* 80301B20 002FD780 3A B5 00 01 */ addi r21, r21, 1
/* 80301B24 002FD784 7C C0 07 75 */ extsb. r0, r6
/* 80301B28 002FD788 40 82 FB A4 */ bne lbl_803016CC
/* 80301B2C 002FD78C 39 61 00 50 */ addi r11, r1, 0x50
/* 80301B30 002FD790 7F E3 FB 78 */ mr r3, r31
/* 80301B34 002FD794 4B EC 56 15 */ bl _restgpr_16
/* 80301B38 002FD798 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80301B3C 002FD79C 7C 08 03 A6 */ mtlr r0
/* 80301B40 002FD7A0 38 21 00 50 */ addi r1, r1, 0x50
/* 80301B44 002FD7A4 4E 80 00 20 */ blr
.global func_80301B48
func_80301B48:
/* 80301B48 002FD7A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80301B4C 002FD7AC 7C 08 02 A6 */ mflr r0
/* 80301B50 002FD7B0 28 05 00 09 */ cmplwi r5, 9
/* 80301B54 002FD7B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80301B58 002FD7B8 38 00 00 00 */ li r0, 0
/* 80301B5C 002FD7BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80301B60 002FD7C0 7C BF 2B 78 */ mr r31, r5
/* 80301B64 002FD7C4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80301B68 002FD7C8 7C 9E 23 78 */ mr r30, r4
/* 80301B6C 002FD7CC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80301B70 002FD7D0 7C 7D 1B 78 */ mr r29, r3
/* 80301B74 002FD7D4 80 CD AF 80 */ lwz r6, lbl_80640240-_SDA_BASE_(r13)
/* 80301B78 002FD7D8 38 C6 00 01 */ addi r6, r6, 1
/* 80301B7C 002FD7DC 64 C4 80 00 */ oris r4, r6, 0x8000
/* 80301B80 002FD7E0 90 8D AF 80 */ stw r4, lbl_80640240-_SDA_BASE_(r13)
/* 80301B84 002FD7E4 90 83 00 00 */ stw r4, 0(r3)
/* 80301B88 002FD7E8 90 03 00 08 */ stw r0, 8(r3)
/* 80301B8C 002FD7EC 90 A3 00 04 */ stw r5, 4(r3)
/* 80301B90 002FD7F0 41 82 00 18 */ beq lbl_80301BA8
/* 80301B94 002FD7F4 28 05 00 0A */ cmplwi r5, 0xa
/* 80301B98 002FD7F8 41 82 00 10 */ beq lbl_80301BA8
/* 80301B9C 002FD7FC 38 05 FE F7 */ addi r0, r5, -265
/* 80301BA0 002FD800 28 00 00 01 */ cmplwi r0, 1
/* 80301BA4 002FD804 41 81 00 24 */ bgt lbl_80301BC8
lbl_80301BA8:
/* 80301BA8 002FD808 48 00 17 3D */ bl func_803032E4
/* 80301BAC 002FD80C 2C 03 00 00 */ cmpwi r3, 0
/* 80301BB0 002FD810 40 82 00 18 */ bne lbl_80301BC8
/* 80301BB4 002FD814 48 00 17 45 */ bl func_803032F8
/* 80301BB8 002FD818 2C 03 00 00 */ cmpwi r3, 0
/* 80301BBC 002FD81C 40 82 00 0C */ bne lbl_80301BC8
/* 80301BC0 002FD820 38 60 FF F7 */ li r3, -9
/* 80301BC4 002FD824 48 00 00 5C */ b lbl_80301C20
lbl_80301BC8:
/* 80301BC8 002FD828 28 1F 00 09 */ cmplwi r31, 9
/* 80301BCC 002FD82C 41 82 00 0C */ beq lbl_80301BD8
/* 80301BD0 002FD830 28 1F 01 09 */ cmplwi r31, 0x109
/* 80301BD4 002FD834 40 82 00 20 */ bne lbl_80301BF4
lbl_80301BD8:
/* 80301BD8 002FD838 80 0D AF 7C */ lwz r0, lbl_8064023C-_SDA_BASE_(r13)
/* 80301BDC 002FD83C 2C 00 00 00 */ cmpwi r0, 0
/* 80301BE0 002FD840 41 82 00 0C */ beq lbl_80301BEC
/* 80301BE4 002FD844 38 60 FF EA */ li r3, -22
/* 80301BE8 002FD848 48 00 00 38 */ b lbl_80301C20
lbl_80301BEC:
/* 80301BEC 002FD84C 80 1D 00 00 */ lwz r0, 0(r29)
/* 80301BF0 002FD850 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
lbl_80301BF4:
/* 80301BF4 002FD854 57 E0 05 EF */ rlwinm. r0, r31, 0, 0x17, 0x17
/* 80301BF8 002FD858 41 82 00 18 */ beq lbl_80301C10
/* 80301BFC 002FD85C 7F A3 EB 78 */ mr r3, r29
/* 80301C00 002FD860 7F C4 F3 78 */ mr r4, r30
/* 80301C04 002FD864 7F E5 FB 78 */ mr r5, r31
/* 80301C08 002FD868 48 00 01 69 */ bl func_80301D70
/* 80301C0C 002FD86C 48 00 00 14 */ b lbl_80301C20
lbl_80301C10:
/* 80301C10 002FD870 7F A3 EB 78 */ mr r3, r29
/* 80301C14 002FD874 7F C4 F3 78 */ mr r4, r30
/* 80301C18 002FD878 7F E5 FB 78 */ mr r5, r31
/* 80301C1C 002FD87C 48 00 00 21 */ bl func_80301C3C
lbl_80301C20:
/* 80301C20 002FD880 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80301C24 002FD884 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80301C28 002FD888 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80301C2C 002FD88C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80301C30 002FD890 7C 08 03 A6 */ mtlr r0
/* 80301C34 002FD894 38 21 00 20 */ addi r1, r1, 0x20
/* 80301C38 002FD898 4E 80 00 20 */ blr
.global func_80301C3C
func_80301C3C:
/* 80301C3C 002FD89C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80301C40 002FD8A0 7C 08 02 A6 */ mflr r0
/* 80301C44 002FD8A4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80301C48 002FD8A8 39 61 00 30 */ addi r11, r1, 0x30
/* 80301C4C 002FD8AC 4B EC 54 C9 */ bl _savegpr_22
/* 80301C50 002FD8B0 28 05 00 0A */ cmplwi r5, 0xa
/* 80301C54 002FD8B4 7C 7D 1B 78 */ mr r29, r3
/* 80301C58 002FD8B8 7C 9E 23 78 */ mr r30, r4
/* 80301C5C 002FD8BC 7C BF 2B 78 */ mr r31, r5
/* 80301C60 002FD8C0 41 81 00 5C */ bgt lbl_80301CBC
/* 80301C64 002FD8C4 3C 60 80 44 */ lis r3, lbl_804462D8@ha
/* 80301C68 002FD8C8 54 A0 10 3A */ slwi r0, r5, 2
/* 80301C6C 002FD8CC 38 63 62 D8 */ addi r3, r3, lbl_804462D8@l
/* 80301C70 002FD8D0 7C 63 00 2E */ lwzx r3, r3, r0
/* 80301C74 002FD8D4 7C 69 03 A6 */ mtctr r3
/* 80301C78 002FD8D8 4E 80 04 20 */ bctr
/* 80301C7C 002FD8DC 7F C3 F3 78 */ mr r3, r30
/* 80301C80 002FD8E0 38 80 00 3F */ li r4, 0x3f
/* 80301C84 002FD8E4 38 A0 00 00 */ li r5, 0
/* 80301C88 002FD8E8 4B FE 59 65 */ bl NANDPrivateCreate
/* 80301C8C 002FD8EC 2C 03 00 00 */ cmpwi r3, 0
/* 80301C90 002FD8F0 41 82 00 14 */ beq lbl_80301CA4
/* 80301C94 002FD8F4 2C 03 FF FA */ cmpwi r3, -6
/* 80301C98 002FD8F8 41 82 00 0C */ beq lbl_80301CA4
/* 80301C9C 002FD8FC 38 60 FF EB */ li r3, -21
/* 80301CA0 002FD900 48 00 00 B8 */ b lbl_80301D58
lbl_80301CA4:
/* 80301CA4 002FD904 3A E0 00 02 */ li r23, 2
/* 80301CA8 002FD908 48 00 00 1C */ b lbl_80301CC4
/* 80301CAC 002FD90C 3A E0 00 01 */ li r23, 1
/* 80301CB0 002FD910 48 00 00 14 */ b lbl_80301CC4
/* 80301CB4 002FD914 3A E0 00 03 */ li r23, 3
/* 80301CB8 002FD918 48 00 00 0C */ b lbl_80301CC4
lbl_80301CBC:
/* 80301CBC 002FD91C 38 60 FF FD */ li r3, -3
/* 80301CC0 002FD920 48 00 00 98 */ b lbl_80301D58
lbl_80301CC4:
/* 80301CC4 002FD924 3A C0 00 00 */ li r22, 0
/* 80301CC8 002FD928 3B 60 03 E8 */ li r27, 0x3e8
/* 80301CCC 002FD92C 7F 96 D9 D6 */ mullw r28, r22, r27
/* 80301CD0 002FD930 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 80301CD4 002FD934 3F 40 80 00 */ lis r26, 0x8000
/* 80301CD8 002FD938 3B 23 4D D3 */ addi r25, r3, 0x10624DD3@l
lbl_80301CDC:
/* 80301CDC 002FD93C 7F C3 F3 78 */ mr r3, r30
/* 80301CE0 002FD940 7E E5 BB 78 */ mr r5, r23
/* 80301CE4 002FD944 38 9D 00 0C */ addi r4, r29, 0xc
/* 80301CE8 002FD948 4B FE 67 AD */ bl NANDPrivateOpen
/* 80301CEC 002FD94C 2C 03 FF FD */ cmpwi r3, -3
/* 80301CF0 002FD950 7C 78 1B 78 */ mr r24, r3
/* 80301CF4 002FD954 40 82 00 30 */ bne lbl_80301D24
/* 80301CF8 002FD958 80 1A 00 F8 */ lwz r0, 0xf8(r26)
/* 80301CFC 002FD95C 54 00 F0 BE */ srwi r0, r0, 2
/* 80301D00 002FD960 7C 19 00 16 */ mulhwu r0, r25, r0
/* 80301D04 002FD964 54 03 D1 BE */ srwi r3, r0, 6
/* 80301D08 002FD968 7C 03 D8 16 */ mulhwu r0, r3, r27
/* 80301D0C 002FD96C 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 80301D10 002FD970 7C 60 E2 14 */ add r3, r0, r28
/* 80301D14 002FD974 4B F7 09 F1 */ bl OSSleepTicks
/* 80301D18 002FD978 3A D6 00 01 */ addi r22, r22, 1
/* 80301D1C 002FD97C 28 16 00 03 */ cmplwi r22, 3
/* 80301D20 002FD980 41 80 FF BC */ blt lbl_80301CDC
lbl_80301D24:
/* 80301D24 002FD984 2C 18 00 00 */ cmpwi r24, 0
/* 80301D28 002FD988 41 82 00 2C */ beq lbl_80301D54
/* 80301D2C 002FD98C 28 1F 00 09 */ cmplwi r31, 9
/* 80301D30 002FD990 40 82 00 0C */ bne lbl_80301D3C
/* 80301D34 002FD994 38 00 00 00 */ li r0, 0
/* 80301D38 002FD998 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
lbl_80301D3C:
/* 80301D3C 002FD99C 2C 18 FF F4 */ cmpwi r24, -12
/* 80301D40 002FD9A0 40 82 00 0C */ bne lbl_80301D4C
/* 80301D44 002FD9A4 38 60 FF EC */ li r3, -20
/* 80301D48 002FD9A8 48 00 00 10 */ b lbl_80301D58
lbl_80301D4C:
/* 80301D4C 002FD9AC 38 60 FF F0 */ li r3, -16
/* 80301D50 002FD9B0 48 00 00 08 */ b lbl_80301D58
lbl_80301D54:
/* 80301D54 002FD9B4 38 60 00 00 */ li r3, 0
lbl_80301D58:
/* 80301D58 002FD9B8 39 61 00 30 */ addi r11, r1, 0x30
/* 80301D5C 002FD9BC 4B EC 54 05 */ bl _restgpr_22
/* 80301D60 002FD9C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80301D64 002FD9C4 7C 08 03 A6 */ mtlr r0
/* 80301D68 002FD9C8 38 21 00 30 */ addi r1, r1, 0x30
/* 80301D6C 002FD9CC 4E 80 00 20 */ blr
.global func_80301D70
func_80301D70:
/* 80301D70 002FD9D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80301D74 002FD9D4 7C 08 02 A6 */ mflr r0
/* 80301D78 002FD9D8 2C 05 01 09 */ cmpwi r5, 0x109
/* 80301D7C 002FD9DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80301D80 002FD9E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80301D84 002FD9E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80301D88 002FD9E8 7C BE 2B 78 */ mr r30, r5
/* 80301D8C 002FD9EC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80301D90 002FD9F0 7C 7D 1B 78 */ mr r29, r3
/* 80301D94 002FD9F4 41 82 00 2C */ beq lbl_80301DC0
/* 80301D98 002FD9F8 40 80 00 1C */ bge lbl_80301DB4
/* 80301D9C 002FD9FC 2C 05 01 02 */ cmpwi r5, 0x102
/* 80301DA0 002FDA00 41 82 00 28 */ beq lbl_80301DC8
/* 80301DA4 002FDA04 40 80 00 2C */ bge lbl_80301DD0
/* 80301DA8 002FDA08 2C 05 01 01 */ cmpwi r5, 0x101
/* 80301DAC 002FDA0C 40 80 00 14 */ bge lbl_80301DC0
/* 80301DB0 002FDA10 48 00 00 20 */ b lbl_80301DD0
lbl_80301DB4:
/* 80301DB4 002FDA14 2C 05 01 0B */ cmpwi r5, 0x10b
/* 80301DB8 002FDA18 40 80 00 18 */ bge lbl_80301DD0
/* 80301DBC 002FDA1C 48 00 00 0C */ b lbl_80301DC8
lbl_80301DC0:
/* 80301DC0 002FDA20 3B ED 8C 80 */ addi r31, r13, lbl_8063DF40-_SDA_BASE_
/* 80301DC4 002FDA24 48 00 00 14 */ b lbl_80301DD8
lbl_80301DC8:
/* 80301DC8 002FDA28 3B ED 8C 84 */ addi r31, r13, lbl_8063DF44-_SDA_BASE_
/* 80301DCC 002FDA2C 48 00 00 0C */ b lbl_80301DD8
lbl_80301DD0:
/* 80301DD0 002FDA30 38 60 FF FD */ li r3, -3
/* 80301DD4 002FDA34 48 00 00 A8 */ b lbl_80301E7C
lbl_80301DD8:
/* 80301DD8 002FDA38 7C 83 23 78 */ mr r3, r4
/* 80301DDC 002FDA3C 7F E4 FB 78 */ mr r4, r31
/* 80301DE0 002FDA40 38 A0 00 00 */ li r5, 0
/* 80301DE4 002FDA44 48 01 88 C1 */ bl func_8031A6A4
/* 80301DE8 002FDA48 2C 03 00 00 */ cmpwi r3, 0
/* 80301DEC 002FDA4C 90 7D 00 98 */ stw r3, 0x98(r29)
/* 80301DF0 002FDA50 40 82 00 88 */ bne lbl_80301E78
/* 80301DF4 002FDA54 48 01 8B ED */ bl func_8031A9E0
/* 80301DF8 002FDA58 28 1E 01 09 */ cmplwi r30, 0x109
/* 80301DFC 002FDA5C 40 82 00 0C */ bne lbl_80301E08
/* 80301E00 002FDA60 38 00 00 00 */ li r0, 0
/* 80301E04 002FDA64 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
lbl_80301E08:
/* 80301E08 002FDA68 88 1F 00 00 */ lbz r0, 0(r31)
/* 80301E0C 002FDA6C 2C 00 00 72 */ cmpwi r0, 0x72
/* 80301E10 002FDA70 40 82 00 14 */ bne lbl_80301E24
/* 80301E14 002FDA74 2C 03 00 02 */ cmpwi r3, 2
/* 80301E18 002FDA78 40 82 00 0C */ bne lbl_80301E24
/* 80301E1C 002FDA7C 38 60 FF EC */ li r3, -20
/* 80301E20 002FDA80 48 00 00 5C */ b lbl_80301E7C
lbl_80301E24:
/* 80301E24 002FDA84 2C 03 00 05 */ cmpwi r3, 5
/* 80301E28 002FDA88 40 82 00 48 */ bne lbl_80301E70
/* 80301E2C 002FDA8C 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 80301E30 002FDA90 48 01 8B B5 */ bl func_8031A9E4
/* 80301E34 002FDA94 2C 03 FF FB */ cmpwi r3, -5
/* 80301E38 002FDA98 41 82 00 20 */ beq lbl_80301E58
/* 80301E3C 002FDA9C 40 80 00 10 */ bge lbl_80301E4C
/* 80301E40 002FDAA0 2C 03 FF F1 */ cmpwi r3, -15
/* 80301E44 002FDAA4 41 82 00 14 */ beq lbl_80301E58
/* 80301E48 002FDAA8 48 00 00 20 */ b lbl_80301E68
lbl_80301E4C:
/* 80301E4C 002FDAAC 2C 03 FF FD */ cmpwi r3, -3
/* 80301E50 002FDAB0 40 80 00 18 */ bge lbl_80301E68
/* 80301E54 002FDAB4 48 00 00 0C */ b lbl_80301E60
lbl_80301E58:
/* 80301E58 002FDAB8 38 60 FF D2 */ li r3, -46
/* 80301E5C 002FDABC 48 00 00 20 */ b lbl_80301E7C
lbl_80301E60:
/* 80301E60 002FDAC0 38 60 FF DA */ li r3, -38
/* 80301E64 002FDAC4 48 00 00 18 */ b lbl_80301E7C
lbl_80301E68:
/* 80301E68 002FDAC8 38 60 FF F0 */ li r3, -16
/* 80301E6C 002FDACC 48 00 00 10 */ b lbl_80301E7C
lbl_80301E70:
/* 80301E70 002FDAD0 38 60 FF F0 */ li r3, -16
/* 80301E74 002FDAD4 48 00 00 08 */ b lbl_80301E7C
lbl_80301E78:
/* 80301E78 002FDAD8 38 60 00 00 */ li r3, 0
lbl_80301E7C:
/* 80301E7C 002FDADC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80301E80 002FDAE0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80301E84 002FDAE4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80301E88 002FDAE8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80301E8C 002FDAEC 7C 08 03 A6 */ mtlr r0
/* 80301E90 002FDAF0 38 21 00 20 */ addi r1, r1, 0x20
/* 80301E94 002FDAF4 4E 80 00 20 */ blr
.global func_80301E98
func_80301E98:
/* 80301E98 002FDAF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80301E9C 002FDAFC 7C 08 02 A6 */ mflr r0
/* 80301EA0 002FDB00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80301EA4 002FDB04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80301EA8 002FDB08 3B E0 00 00 */ li r31, 0
/* 80301EAC 002FDB0C 93 C1 00 08 */ stw r30, 8(r1)
/* 80301EB0 002FDB10 7C 7E 1B 78 */ mr r30, r3
/* 80301EB4 002FDB14 80 03 00 04 */ lwz r0, 4(r3)
/* 80301EB8 002FDB18 28 00 00 09 */ cmplwi r0, 9
/* 80301EBC 002FDB1C 41 82 00 0C */ beq lbl_80301EC8
/* 80301EC0 002FDB20 28 00 01 09 */ cmplwi r0, 0x109
/* 80301EC4 002FDB24 40 82 00 18 */ bne lbl_80301EDC
lbl_80301EC8:
/* 80301EC8 002FDB28 7F C3 F3 78 */ mr r3, r30
/* 80301ECC 002FDB2C 48 00 09 39 */ bl func_80302804
/* 80301ED0 002FDB30 38 00 00 00 */ li r0, 0
/* 80301ED4 002FDB34 7C 7F 1B 78 */ mr r31, r3
/* 80301ED8 002FDB38 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
lbl_80301EDC:
/* 80301EDC 002FDB3C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80301EE0 002FDB40 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80301EE4 002FDB44 41 82 00 70 */ beq lbl_80301F54
/* 80301EE8 002FDB48 80 7E 00 98 */ lwz r3, 0x98(r30)
/* 80301EEC 002FDB4C 48 01 88 95 */ bl func_8031A780
/* 80301EF0 002FDB50 2C 03 00 00 */ cmpwi r3, 0
/* 80301EF4 002FDB54 41 82 00 58 */ beq lbl_80301F4C
/* 80301EF8 002FDB58 2C 03 00 05 */ cmpwi r3, 5
/* 80301EFC 002FDB5C 40 82 00 48 */ bne lbl_80301F44
/* 80301F00 002FDB60 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 80301F04 002FDB64 48 01 8A E1 */ bl func_8031A9E4
/* 80301F08 002FDB68 2C 03 FF FB */ cmpwi r3, -5
/* 80301F0C 002FDB6C 41 82 00 20 */ beq lbl_80301F2C
/* 80301F10 002FDB70 40 80 00 10 */ bge lbl_80301F20
/* 80301F14 002FDB74 2C 03 FF F1 */ cmpwi r3, -15
/* 80301F18 002FDB78 41 82 00 14 */ beq lbl_80301F2C
/* 80301F1C 002FDB7C 48 00 00 20 */ b lbl_80301F3C
lbl_80301F20:
/* 80301F20 002FDB80 2C 03 FF FD */ cmpwi r3, -3
/* 80301F24 002FDB84 40 80 00 18 */ bge lbl_80301F3C
/* 80301F28 002FDB88 48 00 00 0C */ b lbl_80301F34
lbl_80301F2C:
/* 80301F2C 002FDB8C 38 60 FF D2 */ li r3, -46
/* 80301F30 002FDB90 48 00 00 2C */ b lbl_80301F5C
lbl_80301F34:
/* 80301F34 002FDB94 38 60 FF DA */ li r3, -38
/* 80301F38 002FDB98 48 00 00 24 */ b lbl_80301F5C
lbl_80301F3C:
/* 80301F3C 002FDB9C 38 60 FF EF */ li r3, -17
/* 80301F40 002FDBA0 48 00 00 1C */ b lbl_80301F5C
lbl_80301F44:
/* 80301F44 002FDBA4 38 60 FF EF */ li r3, -17
/* 80301F48 002FDBA8 48 00 00 14 */ b lbl_80301F5C
lbl_80301F4C:
/* 80301F4C 002FDBAC 38 60 00 00 */ li r3, 0
/* 80301F50 002FDBB0 48 00 00 0C */ b lbl_80301F5C
lbl_80301F54:
/* 80301F54 002FDBB4 7F C3 F3 78 */ mr r3, r30
/* 80301F58 002FDBB8 48 00 00 29 */ bl func_80301F80
lbl_80301F5C:
/* 80301F5C 002FDBBC 2C 1F 00 00 */ cmpwi r31, 0
/* 80301F60 002FDBC0 41 82 00 08 */ beq lbl_80301F68
/* 80301F64 002FDBC4 7F E3 FB 78 */ mr r3, r31
lbl_80301F68:
/* 80301F68 002FDBC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80301F6C 002FDBCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80301F70 002FDBD0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80301F74 002FDBD4 7C 08 03 A6 */ mtlr r0
/* 80301F78 002FDBD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80301F7C 002FDBDC 4E 80 00 20 */ blr
.global func_80301F80
func_80301F80:
/* 80301F80 002FDBE0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80301F84 002FDBE4 7C 08 02 A6 */ mflr r0
/* 80301F88 002FDBE8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80301F8C 002FDBEC 39 61 00 30 */ addi r11, r1, 0x30
/* 80301F90 002FDBF0 4B EC 51 8D */ bl _savegpr_24
/* 80301F94 002FDBF4 3B 40 00 00 */ li r26, 0
/* 80301F98 002FDBF8 3B C0 03 E8 */ li r30, 0x3e8
/* 80301F9C 002FDBFC 7F FA F1 D6 */ mullw r31, r26, r30
/* 80301FA0 002FDC00 3C 80 10 62 */ lis r4, 0x10624DD3@ha
/* 80301FA4 002FDC04 7C 78 1B 78 */ mr r24, r3
/* 80301FA8 002FDC08 3B 84 4D D3 */ addi r28, r4, 0x10624DD3@l
/* 80301FAC 002FDC0C 3B 20 00 00 */ li r25, 0
/* 80301FB0 002FDC10 3F A0 80 00 */ lis r29, 0x8000
lbl_80301FB4:
/* 80301FB4 002FDC14 38 78 00 0C */ addi r3, r24, 0xc
/* 80301FB8 002FDC18 4B FE 66 D1 */ bl NANDClose
/* 80301FBC 002FDC1C 2C 03 FF FD */ cmpwi r3, -3
/* 80301FC0 002FDC20 7C 7B 1B 78 */ mr r27, r3
/* 80301FC4 002FDC24 40 82 00 30 */ bne lbl_80301FF4
/* 80301FC8 002FDC28 80 1D 00 F8 */ lwz r0, 0xf8(r29)
/* 80301FCC 002FDC2C 54 00 F0 BE */ srwi r0, r0, 2
/* 80301FD0 002FDC30 7C 1C 00 16 */ mulhwu r0, r28, r0
/* 80301FD4 002FDC34 54 03 D1 BE */ srwi r3, r0, 6
/* 80301FD8 002FDC38 7C 03 F0 16 */ mulhwu r0, r3, r30
/* 80301FDC 002FDC3C 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 80301FE0 002FDC40 7C 60 FA 14 */ add r3, r0, r31
/* 80301FE4 002FDC44 4B F7 07 21 */ bl OSSleepTicks
/* 80301FE8 002FDC48 3B 39 00 01 */ addi r25, r25, 1
/* 80301FEC 002FDC4C 28 19 00 03 */ cmplwi r25, 3
/* 80301FF0 002FDC50 41 80 FF C4 */ blt lbl_80301FB4
lbl_80301FF4:
/* 80301FF4 002FDC54 2C 1B FF FC */ cmpwi r27, -4
/* 80301FF8 002FDC58 40 82 00 0C */ bne lbl_80302004
/* 80301FFC 002FDC5C 3B 40 FF DA */ li r26, -38
/* 80302000 002FDC60 48 00 00 10 */ b lbl_80302010
lbl_80302004:
/* 80302004 002FDC64 2C 1B 00 00 */ cmpwi r27, 0
/* 80302008 002FDC68 41 82 00 08 */ beq lbl_80302010
/* 8030200C 002FDC6C 3B 40 FF EF */ li r26, -17
lbl_80302010:
/* 80302010 002FDC70 39 61 00 30 */ addi r11, r1, 0x30
/* 80302014 002FDC74 7F 43 D3 78 */ mr r3, r26
/* 80302018 002FDC78 4B EC 51 51 */ bl _restgpr_24
/* 8030201C 002FDC7C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80302020 002FDC80 7C 08 03 A6 */ mtlr r0
/* 80302024 002FDC84 38 21 00 30 */ addi r1, r1, 0x30
/* 80302028 002FDC88 4E 80 00 20 */ blr
.global func_8030202C
func_8030202C:
/* 8030202C 002FDC8C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80302030 002FDC90 7C 08 02 A6 */ mflr r0
/* 80302034 002FDC94 90 01 00 34 */ stw r0, 0x34(r1)
/* 80302038 002FDC98 39 61 00 30 */ addi r11, r1, 0x30
/* 8030203C 002FDC9C 4B EC 50 DD */ bl _savegpr_23
/* 80302040 002FDCA0 80 03 00 04 */ lwz r0, 4(r3)
/* 80302044 002FDCA4 7C 77 1B 78 */ mr r23, r3
/* 80302048 002FDCA8 7C 98 23 78 */ mr r24, r4
/* 8030204C 002FDCAC 7C BF 2B 78 */ mr r31, r5
/* 80302050 002FDCB0 28 00 00 0A */ cmplwi r0, 0xa
/* 80302054 002FDCB4 41 82 00 0C */ beq lbl_80302060
/* 80302058 002FDCB8 28 00 01 0A */ cmplwi r0, 0x10a
/* 8030205C 002FDCBC 40 82 00 BC */ bne lbl_80302118
lbl_80302060:
/* 80302060 002FDCC0 80 03 00 04 */ lwz r0, 4(r3)
/* 80302064 002FDCC4 54 85 D8 08 */ slwi r5, r4, 0x1b
/* 80302068 002FDCC8 54 86 0F FE */ srwi r6, r4, 0x1f
/* 8030206C 002FDCCC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80302070 002FDCD0 7C A6 28 50 */ subf r5, r6, r5
/* 80302074 002FDCD4 54 A0 28 3E */ rotlwi r0, r5, 5
/* 80302078 002FDCD8 7C 00 32 14 */ add r0, r0, r6
/* 8030207C 002FDCDC 90 03 00 08 */ stw r0, 8(r3)
/* 80302080 002FDCE0 7C 80 20 50 */ subf r4, r0, r4
/* 80302084 002FDCE4 41 82 00 74 */ beq lbl_803020F8
/* 80302088 002FDCE8 80 63 00 98 */ lwz r3, 0x98(r3)
/* 8030208C 002FDCEC 7F E5 FB 78 */ mr r5, r31
/* 80302090 002FDCF0 48 01 87 5D */ bl func_8031A7EC
/* 80302094 002FDCF4 2C 03 00 00 */ cmpwi r3, 0
/* 80302098 002FDCF8 41 82 00 58 */ beq lbl_803020F0
/* 8030209C 002FDCFC 2C 03 00 05 */ cmpwi r3, 5
/* 803020A0 002FDD00 40 82 00 48 */ bne lbl_803020E8
/* 803020A4 002FDD04 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 803020A8 002FDD08 48 01 89 3D */ bl func_8031A9E4
/* 803020AC 002FDD0C 2C 03 FF FB */ cmpwi r3, -5
/* 803020B0 002FDD10 41 82 00 20 */ beq lbl_803020D0
/* 803020B4 002FDD14 40 80 00 10 */ bge lbl_803020C4
/* 803020B8 002FDD18 2C 03 FF F1 */ cmpwi r3, -15
/* 803020BC 002FDD1C 41 82 00 14 */ beq lbl_803020D0
/* 803020C0 002FDD20 48 00 00 20 */ b lbl_803020E0
lbl_803020C4:
/* 803020C4 002FDD24 2C 03 FF FD */ cmpwi r3, -3
/* 803020C8 002FDD28 40 80 00 18 */ bge lbl_803020E0
/* 803020CC 002FDD2C 48 00 00 0C */ b lbl_803020D8
lbl_803020D0:
/* 803020D0 002FDD30 38 60 FF D2 */ li r3, -46
/* 803020D4 002FDD34 48 00 01 2C */ b lbl_80302200
lbl_803020D8:
/* 803020D8 002FDD38 38 60 FF DA */ li r3, -38
/* 803020DC 002FDD3C 48 00 01 24 */ b lbl_80302200
lbl_803020E0:
/* 803020E0 002FDD40 38 60 FF EB */ li r3, -21
/* 803020E4 002FDD44 48 00 01 1C */ b lbl_80302200
lbl_803020E8:
/* 803020E8 002FDD48 38 60 FF EB */ li r3, -21
/* 803020EC 002FDD4C 48 00 01 14 */ b lbl_80302200
lbl_803020F0:
/* 803020F0 002FDD50 38 60 00 00 */ li r3, 0
/* 803020F4 002FDD54 48 00 01 0C */ b lbl_80302200
lbl_803020F8:
/* 803020F8 002FDD58 7F E5 FB 78 */ mr r5, r31
/* 803020FC 002FDD5C 38 63 00 0C */ addi r3, r3, 0xc
/* 80302100 002FDD60 4B FE 59 81 */ bl NANDSeek
/* 80302104 002FDD64 2C 03 00 00 */ cmpwi r3, 0
/* 80302108 002FDD68 38 60 00 00 */ li r3, 0
/* 8030210C 002FDD6C 40 80 00 F4 */ bge lbl_80302200
/* 80302110 002FDD70 38 60 FF EB */ li r3, -21
/* 80302114 002FDD74 48 00 00 EC */ b lbl_80302200
lbl_80302118:
/* 80302118 002FDD78 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 8030211C 002FDD7C 41 82 00 70 */ beq lbl_8030218C
/* 80302120 002FDD80 80 63 00 98 */ lwz r3, 0x98(r3)
/* 80302124 002FDD84 48 01 86 C9 */ bl func_8031A7EC
/* 80302128 002FDD88 2C 03 00 00 */ cmpwi r3, 0
/* 8030212C 002FDD8C 41 82 00 58 */ beq lbl_80302184
/* 80302130 002FDD90 2C 03 00 05 */ cmpwi r3, 5
/* 80302134 002FDD94 40 82 00 48 */ bne lbl_8030217C
/* 80302138 002FDD98 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 8030213C 002FDD9C 48 01 88 A9 */ bl func_8031A9E4
/* 80302140 002FDDA0 2C 03 FF FB */ cmpwi r3, -5
/* 80302144 002FDDA4 41 82 00 20 */ beq lbl_80302164
/* 80302148 002FDDA8 40 80 00 10 */ bge lbl_80302158
/* 8030214C 002FDDAC 2C 03 FF F1 */ cmpwi r3, -15
/* 80302150 002FDDB0 41 82 00 14 */ beq lbl_80302164
/* 80302154 002FDDB4 48 00 00 20 */ b lbl_80302174
lbl_80302158:
/* 80302158 002FDDB8 2C 03 FF FD */ cmpwi r3, -3
/* 8030215C 002FDDBC 40 80 00 18 */ bge lbl_80302174
/* 80302160 002FDDC0 48 00 00 0C */ b lbl_8030216C
lbl_80302164:
/* 80302164 002FDDC4 38 60 FF D2 */ li r3, -46
/* 80302168 002FDDC8 48 00 00 98 */ b lbl_80302200
lbl_8030216C:
/* 8030216C 002FDDCC 38 60 FF DA */ li r3, -38
/* 80302170 002FDDD0 48 00 00 90 */ b lbl_80302200
lbl_80302174:
/* 80302174 002FDDD4 38 60 FF EB */ li r3, -21
/* 80302178 002FDDD8 48 00 00 88 */ b lbl_80302200
lbl_8030217C:
/* 8030217C 002FDDDC 38 60 FF EB */ li r3, -21
/* 80302180 002FDDE0 48 00 00 80 */ b lbl_80302200
lbl_80302184:
/* 80302184 002FDDE4 38 60 00 00 */ li r3, 0
/* 80302188 002FDDE8 48 00 00 78 */ b lbl_80302200
lbl_8030218C:
/* 8030218C 002FDDEC 3B 20 00 00 */ li r25, 0
/* 80302190 002FDDF0 3B A0 03 E8 */ li r29, 0x3e8
/* 80302194 002FDDF4 7F D9 E9 D6 */ mullw r30, r25, r29
/* 80302198 002FDDF8 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 8030219C 002FDDFC 3F 80 80 00 */ lis r28, 0x8000
/* 803021A0 002FDE00 3B 63 4D D3 */ addi r27, r3, 0x10624DD3@l
lbl_803021A4:
/* 803021A4 002FDE04 7F 04 C3 78 */ mr r4, r24
/* 803021A8 002FDE08 7F E5 FB 78 */ mr r5, r31
/* 803021AC 002FDE0C 38 77 00 0C */ addi r3, r23, 0xc
/* 803021B0 002FDE10 4B FE 58 D1 */ bl NANDSeek
/* 803021B4 002FDE14 2C 03 FF FD */ cmpwi r3, -3
/* 803021B8 002FDE18 7C 7A 1B 78 */ mr r26, r3
/* 803021BC 002FDE1C 40 82 00 30 */ bne lbl_803021EC
/* 803021C0 002FDE20 80 1C 00 F8 */ lwz r0, 0xf8(r28)
/* 803021C4 002FDE24 54 00 F0 BE */ srwi r0, r0, 2
/* 803021C8 002FDE28 7C 1B 00 16 */ mulhwu r0, r27, r0
/* 803021CC 002FDE2C 54 03 D1 BE */ srwi r3, r0, 6
/* 803021D0 002FDE30 7C 03 E8 16 */ mulhwu r0, r3, r29
/* 803021D4 002FDE34 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 803021D8 002FDE38 7C 60 F2 14 */ add r3, r0, r30
/* 803021DC 002FDE3C 4B F7 05 29 */ bl OSSleepTicks
/* 803021E0 002FDE40 3B 39 00 01 */ addi r25, r25, 1
/* 803021E4 002FDE44 28 19 00 03 */ cmplwi r25, 3
/* 803021E8 002FDE48 41 80 FF BC */ blt lbl_803021A4
lbl_803021EC:
/* 803021EC 002FDE4C 2C 1A 00 00 */ cmpwi r26, 0
/* 803021F0 002FDE50 40 80 00 0C */ bge lbl_803021FC
/* 803021F4 002FDE54 38 60 FF EB */ li r3, -21
/* 803021F8 002FDE58 48 00 00 08 */ b lbl_80302200
lbl_803021FC:
/* 803021FC 002FDE5C 38 60 00 00 */ li r3, 0
lbl_80302200:
/* 80302200 002FDE60 39 61 00 30 */ addi r11, r1, 0x30
/* 80302204 002FDE64 4B EC 4F 61 */ bl _restgpr_23
/* 80302208 002FDE68 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8030220C 002FDE6C 7C 08 03 A6 */ mtlr r0
/* 80302210 002FDE70 38 21 00 30 */ addi r1, r1, 0x30
/* 80302214 002FDE74 4E 80 00 20 */ blr
.global func_80302218
func_80302218:
/* 80302218 002FDE78 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8030221C 002FDE7C 7C 08 02 A6 */ mflr r0
/* 80302220 002FDE80 90 01 00 34 */ stw r0, 0x34(r1)
/* 80302224 002FDE84 39 61 00 30 */ addi r11, r1, 0x30
/* 80302228 002FDE88 4B EC 4E F1 */ bl _savegpr_23
/* 8030222C 002FDE8C 80 05 00 04 */ lwz r0, 4(r5)
/* 80302230 002FDE90 7C 77 1B 78 */ mr r23, r3
/* 80302234 002FDE94 7C 98 23 78 */ mr r24, r4
/* 80302238 002FDE98 7C B9 2B 78 */ mr r25, r5
/* 8030223C 002FDE9C 2C 00 00 0A */ cmpwi r0, 0xa
/* 80302240 002FDEA0 41 82 00 40 */ beq lbl_80302280
/* 80302244 002FDEA4 40 80 00 1C */ bge lbl_80302260
/* 80302248 002FDEA8 2C 00 00 01 */ cmpwi r0, 1
/* 8030224C 002FDEAC 41 82 00 2C */ beq lbl_80302278
/* 80302250 002FDEB0 41 80 00 44 */ blt lbl_80302294
/* 80302254 002FDEB4 2C 00 00 09 */ cmpwi r0, 9
/* 80302258 002FDEB8 40 80 00 20 */ bge lbl_80302278
/* 8030225C 002FDEBC 48 00 00 38 */ b lbl_80302294
lbl_80302260:
/* 80302260 002FDEC0 2C 00 01 0A */ cmpwi r0, 0x10a
/* 80302264 002FDEC4 41 82 00 1C */ beq lbl_80302280
/* 80302268 002FDEC8 40 80 00 2C */ bge lbl_80302294
/* 8030226C 002FDECC 2C 00 01 01 */ cmpwi r0, 0x101
/* 80302270 002FDED0 41 82 00 08 */ beq lbl_80302278
/* 80302274 002FDED4 48 00 00 20 */ b lbl_80302294
lbl_80302278:
/* 80302278 002FDED8 38 60 FF F9 */ li r3, -7
/* 8030227C 002FDEDC 48 00 01 50 */ b lbl_803023CC
lbl_80302280:
/* 80302280 002FDEE0 7E E3 BB 78 */ mr r3, r23
/* 80302284 002FDEE4 7F 04 C3 78 */ mr r4, r24
/* 80302288 002FDEE8 7F 25 CB 78 */ mr r5, r25
/* 8030228C 002FDEEC 48 00 06 E5 */ bl func_80302970
/* 80302290 002FDEF0 48 00 01 3C */ b lbl_803023CC
lbl_80302294:
/* 80302294 002FDEF4 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80302298 002FDEF8 41 82 00 7C */ beq lbl_80302314
/* 8030229C 002FDEFC 80 65 00 98 */ lwz r3, 0x98(r5)
/* 803022A0 002FDF00 7E E4 BB 78 */ mr r4, r23
/* 803022A4 002FDF04 7F 05 C3 78 */ mr r5, r24
/* 803022A8 002FDF08 38 C0 00 00 */ li r6, 0
/* 803022AC 002FDF0C 48 01 85 CD */ bl func_8031A878
/* 803022B0 002FDF10 2C 03 00 00 */ cmpwi r3, 0
/* 803022B4 002FDF14 41 82 00 58 */ beq lbl_8030230C
/* 803022B8 002FDF18 2C 03 00 05 */ cmpwi r3, 5
/* 803022BC 002FDF1C 40 82 00 48 */ bne lbl_80302304
/* 803022C0 002FDF20 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 803022C4 002FDF24 48 01 87 21 */ bl func_8031A9E4
/* 803022C8 002FDF28 2C 03 FF FB */ cmpwi r3, -5
/* 803022CC 002FDF2C 41 82 00 20 */ beq lbl_803022EC
/* 803022D0 002FDF30 40 80 00 10 */ bge lbl_803022E0
/* 803022D4 002FDF34 2C 03 FF F1 */ cmpwi r3, -15
/* 803022D8 002FDF38 41 82 00 14 */ beq lbl_803022EC
/* 803022DC 002FDF3C 48 00 00 20 */ b lbl_803022FC
lbl_803022E0:
/* 803022E0 002FDF40 2C 03 FF FD */ cmpwi r3, -3
/* 803022E4 002FDF44 40 80 00 18 */ bge lbl_803022FC
/* 803022E8 002FDF48 48 00 00 0C */ b lbl_803022F4
lbl_803022EC:
/* 803022EC 002FDF4C 38 60 FF D2 */ li r3, -46
/* 803022F0 002FDF50 48 00 00 DC */ b lbl_803023CC
lbl_803022F4:
/* 803022F4 002FDF54 38 60 FF DA */ li r3, -38
/* 803022F8 002FDF58 48 00 00 D4 */ b lbl_803023CC
lbl_803022FC:
/* 803022FC 002FDF5C 38 60 FF EE */ li r3, -18
/* 80302300 002FDF60 48 00 00 CC */ b lbl_803023CC
lbl_80302304:
/* 80302304 002FDF64 38 60 FF EE */ li r3, -18
/* 80302308 002FDF68 48 00 00 C4 */ b lbl_803023CC
lbl_8030230C:
/* 8030230C 002FDF6C 38 60 00 00 */ li r3, 0
/* 80302310 002FDF70 48 00 00 BC */ b lbl_803023CC
lbl_80302314:
/* 80302314 002FDF74 3B 40 00 00 */ li r26, 0
/* 80302318 002FDF78 3B C0 03 E8 */ li r30, 0x3e8
/* 8030231C 002FDF7C 7F FA F1 D6 */ mullw r31, r26, r30
/* 80302320 002FDF80 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 80302324 002FDF84 3F A0 80 00 */ lis r29, 0x8000
/* 80302328 002FDF88 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l
lbl_8030232C:
/* 8030232C 002FDF8C 7E E4 BB 78 */ mr r4, r23
/* 80302330 002FDF90 7F 05 C3 78 */ mr r5, r24
/* 80302334 002FDF94 38 79 00 0C */ addi r3, r25, 0xc
/* 80302338 002FDF98 4B FE 55 89 */ bl NANDRead
/* 8030233C 002FDF9C 2C 03 FF FD */ cmpwi r3, -3
/* 80302340 002FDFA0 7C 7B 1B 78 */ mr r27, r3
/* 80302344 002FDFA4 40 82 00 30 */ bne lbl_80302374
/* 80302348 002FDFA8 80 1D 00 F8 */ lwz r0, 0xf8(r29)
/* 8030234C 002FDFAC 54 00 F0 BE */ srwi r0, r0, 2
/* 80302350 002FDFB0 7C 1C 00 16 */ mulhwu r0, r28, r0
/* 80302354 002FDFB4 54 03 D1 BE */ srwi r3, r0, 6
/* 80302358 002FDFB8 7C 03 F0 16 */ mulhwu r0, r3, r30
/* 8030235C 002FDFBC 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 80302360 002FDFC0 7C 60 FA 14 */ add r3, r0, r31
/* 80302364 002FDFC4 4B F7 03 A1 */ bl OSSleepTicks
/* 80302368 002FDFC8 3B 5A 00 01 */ addi r26, r26, 1
/* 8030236C 002FDFCC 28 1A 00 03 */ cmplwi r26, 3
/* 80302370 002FDFD0 41 80 FF BC */ blt lbl_8030232C
lbl_80302374:
/* 80302374 002FDFD4 2C 1B FF FC */ cmpwi r27, -4
/* 80302378 002FDFD8 40 82 00 0C */ bne lbl_80302384
/* 8030237C 002FDFDC 38 60 FF DA */ li r3, -38
/* 80302380 002FDFE0 48 00 00 4C */ b lbl_803023CC
lbl_80302384:
/* 80302384 002FDFE4 2C 1B 00 00 */ cmpwi r27, 0
/* 80302388 002FDFE8 40 80 00 40 */ bge lbl_803023C8
/* 8030238C 002FDFEC 2C 1B FF FB */ cmpwi r27, -5
/* 80302390 002FDFF0 41 82 00 20 */ beq lbl_803023B0
/* 80302394 002FDFF4 40 80 00 10 */ bge lbl_803023A4
/* 80302398 002FDFF8 2C 1B FF F1 */ cmpwi r27, -15
/* 8030239C 002FDFFC 41 82 00 14 */ beq lbl_803023B0
/* 803023A0 002FE000 48 00 00 20 */ b lbl_803023C0
lbl_803023A4:
/* 803023A4 002FE004 2C 1B FF FD */ cmpwi r27, -3
/* 803023A8 002FE008 40 80 00 18 */ bge lbl_803023C0
/* 803023AC 002FE00C 48 00 00 0C */ b lbl_803023B8
lbl_803023B0:
/* 803023B0 002FE010 38 60 FF D2 */ li r3, -46
/* 803023B4 002FE014 48 00 00 18 */ b lbl_803023CC
lbl_803023B8:
/* 803023B8 002FE018 38 60 FF DA */ li r3, -38
/* 803023BC 002FE01C 48 00 00 10 */ b lbl_803023CC
lbl_803023C0:
/* 803023C0 002FE020 38 60 FF EE */ li r3, -18
/* 803023C4 002FE024 48 00 00 08 */ b lbl_803023CC
lbl_803023C8:
/* 803023C8 002FE028 38 60 00 00 */ li r3, 0
lbl_803023CC:
/* 803023CC 002FE02C 39 61 00 30 */ addi r11, r1, 0x30
/* 803023D0 002FE030 4B EC 4D 95 */ bl _restgpr_23
/* 803023D4 002FE034 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803023D8 002FE038 7C 08 03 A6 */ mtlr r0
/* 803023DC 002FE03C 38 21 00 30 */ addi r1, r1, 0x30
/* 803023E0 002FE040 4E 80 00 20 */ blr
.global func_803023E4
func_803023E4:
/* 803023E4 002FE044 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803023E8 002FE048 7C 08 02 A6 */ mflr r0
/* 803023EC 002FE04C 90 01 00 34 */ stw r0, 0x34(r1)
/* 803023F0 002FE050 39 61 00 30 */ addi r11, r1, 0x30
/* 803023F4 002FE054 4B EC 4D 25 */ bl _savegpr_23
/* 803023F8 002FE058 80 05 00 04 */ lwz r0, 4(r5)
/* 803023FC 002FE05C 7C 77 1B 78 */ mr r23, r3
/* 80302400 002FE060 7C 98 23 78 */ mr r24, r4
/* 80302404 002FE064 7C B9 2B 78 */ mr r25, r5
/* 80302408 002FE068 2C 00 00 0A */ cmpwi r0, 0xa
/* 8030240C 002FE06C 41 82 00 4C */ beq lbl_80302458
/* 80302410 002FE070 40 80 00 1C */ bge lbl_8030242C
/* 80302414 002FE074 2C 00 00 02 */ cmpwi r0, 2
/* 80302418 002FE078 41 82 00 40 */ beq lbl_80302458
/* 8030241C 002FE07C 41 80 00 44 */ blt lbl_80302460
/* 80302420 002FE080 2C 00 00 09 */ cmpwi r0, 9
/* 80302424 002FE084 40 80 00 20 */ bge lbl_80302444
/* 80302428 002FE088 48 00 00 38 */ b lbl_80302460
lbl_8030242C:
/* 8030242C 002FE08C 2C 00 01 09 */ cmpwi r0, 0x109
/* 80302430 002FE090 41 82 00 14 */ beq lbl_80302444
/* 80302434 002FE094 40 80 00 2C */ bge lbl_80302460
/* 80302438 002FE098 2C 00 01 02 */ cmpwi r0, 0x102
/* 8030243C 002FE09C 41 82 00 1C */ beq lbl_80302458
/* 80302440 002FE0A0 48 00 00 20 */ b lbl_80302460
lbl_80302444:
/* 80302444 002FE0A4 7E E3 BB 78 */ mr r3, r23
/* 80302448 002FE0A8 7F 04 C3 78 */ mr r4, r24
/* 8030244C 002FE0AC 7F 25 CB 78 */ mr r5, r25
/* 80302450 002FE0B0 48 00 02 25 */ bl func_80302674
/* 80302454 002FE0B4 48 00 01 4C */ b lbl_803025A0
lbl_80302458:
/* 80302458 002FE0B8 38 60 FF F9 */ li r3, -7
/* 8030245C 002FE0BC 48 00 01 44 */ b lbl_803025A0
lbl_80302460:
/* 80302460 002FE0C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80302464 002FE0C4 41 82 00 78 */ beq lbl_803024DC
/* 80302468 002FE0C8 80 65 00 98 */ lwz r3, 0x98(r5)
/* 8030246C 002FE0CC 7E E4 BB 78 */ mr r4, r23
/* 80302470 002FE0D0 7F 05 C3 78 */ mr r5, r24
/* 80302474 002FE0D4 48 01 84 A1 */ bl func_8031A914
/* 80302478 002FE0D8 2C 03 00 00 */ cmpwi r3, 0
/* 8030247C 002FE0DC 41 82 00 58 */ beq lbl_803024D4
/* 80302480 002FE0E0 2C 03 00 05 */ cmpwi r3, 5
/* 80302484 002FE0E4 40 82 00 48 */ bne lbl_803024CC
/* 80302488 002FE0E8 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 8030248C 002FE0EC 48 01 85 59 */ bl func_8031A9E4
/* 80302490 002FE0F0 2C 03 FF FB */ cmpwi r3, -5
/* 80302494 002FE0F4 41 82 00 20 */ beq lbl_803024B4
/* 80302498 002FE0F8 40 80 00 10 */ bge lbl_803024A8
/* 8030249C 002FE0FC 2C 03 FF F1 */ cmpwi r3, -15
/* 803024A0 002FE100 41 82 00 14 */ beq lbl_803024B4
/* 803024A4 002FE104 48 00 00 20 */ b lbl_803024C4
lbl_803024A8:
/* 803024A8 002FE108 2C 03 FF FD */ cmpwi r3, -3
/* 803024AC 002FE10C 40 80 00 18 */ bge lbl_803024C4
/* 803024B0 002FE110 48 00 00 0C */ b lbl_803024BC
lbl_803024B4:
/* 803024B4 002FE114 38 60 FF D2 */ li r3, -46
/* 803024B8 002FE118 48 00 00 E8 */ b lbl_803025A0
lbl_803024BC:
/* 803024BC 002FE11C 38 60 FF DA */ li r3, -38
/* 803024C0 002FE120 48 00 00 E0 */ b lbl_803025A0
lbl_803024C4:
/* 803024C4 002FE124 38 60 FF ED */ li r3, -19
/* 803024C8 002FE128 48 00 00 D8 */ b lbl_803025A0
lbl_803024CC:
/* 803024CC 002FE12C 38 60 FF ED */ li r3, -19
/* 803024D0 002FE130 48 00 00 D0 */ b lbl_803025A0
lbl_803024D4:
/* 803024D4 002FE134 38 60 00 00 */ li r3, 0
/* 803024D8 002FE138 48 00 00 C8 */ b lbl_803025A0
lbl_803024DC:
/* 803024DC 002FE13C 3B 40 00 00 */ li r26, 0
/* 803024E0 002FE140 3B C0 03 E8 */ li r30, 0x3e8
/* 803024E4 002FE144 7F FA F1 D6 */ mullw r31, r26, r30
/* 803024E8 002FE148 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 803024EC 002FE14C 3F A0 80 00 */ lis r29, 0x8000
/* 803024F0 002FE150 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l
lbl_803024F4:
/* 803024F4 002FE154 7E E4 BB 78 */ mr r4, r23
/* 803024F8 002FE158 7F 05 C3 78 */ mr r5, r24
/* 803024FC 002FE15C 38 79 00 0C */ addi r3, r25, 0xc
/* 80302500 002FE160 4B FE 54 A1 */ bl NANDWrite
/* 80302504 002FE164 2C 03 FF FD */ cmpwi r3, -3
/* 80302508 002FE168 7C 7B 1B 78 */ mr r27, r3
/* 8030250C 002FE16C 40 82 00 30 */ bne lbl_8030253C
/* 80302510 002FE170 80 1D 00 F8 */ lwz r0, 0xf8(r29)
/* 80302514 002FE174 54 00 F0 BE */ srwi r0, r0, 2
/* 80302518 002FE178 7C 1C 00 16 */ mulhwu r0, r28, r0
/* 8030251C 002FE17C 54 03 D1 BE */ srwi r3, r0, 6
/* 80302520 002FE180 7C 03 F0 16 */ mulhwu r0, r3, r30
/* 80302524 002FE184 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 80302528 002FE188 7C 60 FA 14 */ add r3, r0, r31
/* 8030252C 002FE18C 4B F7 01 D9 */ bl OSSleepTicks
/* 80302530 002FE190 3B 5A 00 01 */ addi r26, r26, 1
/* 80302534 002FE194 28 1A 00 03 */ cmplwi r26, 3
/* 80302538 002FE198 41 80 FF BC */ blt lbl_803024F4
lbl_8030253C:
/* 8030253C 002FE19C 2C 1B FF FC */ cmpwi r27, -4
/* 80302540 002FE1A0 40 82 00 0C */ bne lbl_8030254C
/* 80302544 002FE1A4 38 60 FF DA */ li r3, -38
/* 80302548 002FE1A8 48 00 00 58 */ b lbl_803025A0
lbl_8030254C:
/* 8030254C 002FE1AC 2C 1B 00 00 */ cmpwi r27, 0
/* 80302550 002FE1B0 40 80 00 40 */ bge lbl_80302590
/* 80302554 002FE1B4 2C 1B FF FB */ cmpwi r27, -5
/* 80302558 002FE1B8 41 82 00 20 */ beq lbl_80302578
/* 8030255C 002FE1BC 40 80 00 10 */ bge lbl_8030256C
/* 80302560 002FE1C0 2C 1B FF F1 */ cmpwi r27, -15
/* 80302564 002FE1C4 41 82 00 14 */ beq lbl_80302578
/* 80302568 002FE1C8 48 00 00 20 */ b lbl_80302588
lbl_8030256C:
/* 8030256C 002FE1CC 2C 1B FF FD */ cmpwi r27, -3
/* 80302570 002FE1D0 40 80 00 18 */ bge lbl_80302588
/* 80302574 002FE1D4 48 00 00 0C */ b lbl_80302580
lbl_80302578:
/* 80302578 002FE1D8 38 60 FF D2 */ li r3, -46
/* 8030257C 002FE1DC 48 00 00 24 */ b lbl_803025A0
lbl_80302580:
/* 80302580 002FE1E0 38 60 FF DA */ li r3, -38
/* 80302584 002FE1E4 48 00 00 1C */ b lbl_803025A0
lbl_80302588:
/* 80302588 002FE1E8 38 60 FF ED */ li r3, -19
/* 8030258C 002FE1EC 48 00 00 14 */ b lbl_803025A0
lbl_80302590:
/* 80302590 002FE1F0 7C 1B C0 00 */ cmpw r27, r24
/* 80302594 002FE1F4 38 60 00 00 */ li r3, 0
/* 80302598 002FE1F8 41 82 00 08 */ beq lbl_803025A0
/* 8030259C 002FE1FC 38 60 FF ED */ li r3, -19
lbl_803025A0:
/* 803025A0 002FE200 39 61 00 30 */ addi r11, r1, 0x30
/* 803025A4 002FE204 4B EC 4B C1 */ bl _restgpr_23
/* 803025A8 002FE208 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803025AC 002FE20C 7C 08 03 A6 */ mtlr r0
/* 803025B0 002FE210 38 21 00 30 */ addi r1, r1, 0x30
/* 803025B4 002FE214 4E 80 00 20 */ blr
.global func_803025B8
func_803025B8:
/* 803025B8 002FE218 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803025BC 002FE21C 7C 08 02 A6 */ mflr r0
/* 803025C0 002FE220 90 01 00 14 */ stw r0, 0x14(r1)
/* 803025C4 002FE224 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803025C8 002FE228 7C 9F 23 78 */ mr r31, r4
/* 803025CC 002FE22C 80 03 00 04 */ lwz r0, 4(r3)
/* 803025D0 002FE230 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 803025D4 002FE234 41 82 00 74 */ beq lbl_80302648
/* 803025D8 002FE238 80 63 00 98 */ lwz r3, 0x98(r3)
/* 803025DC 002FE23C 48 01 83 C5 */ bl func_8031A9A0
/* 803025E0 002FE240 2C 03 00 00 */ cmpwi r3, 0
/* 803025E4 002FE244 40 80 00 58 */ bge lbl_8030263C
/* 803025E8 002FE248 2C 03 00 05 */ cmpwi r3, 5
/* 803025EC 002FE24C 40 82 00 48 */ bne lbl_80302634
/* 803025F0 002FE250 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 803025F4 002FE254 48 01 83 F1 */ bl func_8031A9E4
/* 803025F8 002FE258 2C 03 FF FB */ cmpwi r3, -5
/* 803025FC 002FE25C 41 82 00 20 */ beq lbl_8030261C
/* 80302600 002FE260 40 80 00 10 */ bge lbl_80302610
/* 80302604 002FE264 2C 03 FF F1 */ cmpwi r3, -15
/* 80302608 002FE268 41 82 00 14 */ beq lbl_8030261C
/* 8030260C 002FE26C 48 00 00 20 */ b lbl_8030262C
lbl_80302610:
/* 80302610 002FE270 2C 03 FF FD */ cmpwi r3, -3
/* 80302614 002FE274 40 80 00 18 */ bge lbl_8030262C
/* 80302618 002FE278 48 00 00 0C */ b lbl_80302624
lbl_8030261C:
/* 8030261C 002FE27C 38 60 FF D2 */ li r3, -46
/* 80302620 002FE280 48 00 00 40 */ b lbl_80302660
lbl_80302624:
/* 80302624 002FE284 38 60 FF DA */ li r3, -38
/* 80302628 002FE288 48 00 00 38 */ b lbl_80302660
lbl_8030262C:
/* 8030262C 002FE28C 38 60 FF EB */ li r3, -21
/* 80302630 002FE290 48 00 00 30 */ b lbl_80302660
lbl_80302634:
/* 80302634 002FE294 38 60 FF EB */ li r3, -21
/* 80302638 002FE298 48 00 00 28 */ b lbl_80302660
lbl_8030263C:
/* 8030263C 002FE29C 90 7F 00 00 */ stw r3, 0(r31)
/* 80302640 002FE2A0 38 60 00 00 */ li r3, 0
/* 80302644 002FE2A4 48 00 00 1C */ b lbl_80302660
lbl_80302648:
/* 80302648 002FE2A8 38 63 00 0C */ addi r3, r3, 0xc
/* 8030264C 002FE2AC 4B FE 58 81 */ bl NANDGetLength
/* 80302650 002FE2B0 2C 03 00 00 */ cmpwi r3, 0
/* 80302654 002FE2B4 38 60 00 00 */ li r3, 0
/* 80302658 002FE2B8 41 82 00 08 */ beq lbl_80302660
/* 8030265C 002FE2BC 38 60 FF EB */ li r3, -21
lbl_80302660:
/* 80302660 002FE2C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80302664 002FE2C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80302668 002FE2C8 7C 08 03 A6 */ mtlr r0
/* 8030266C 002FE2CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80302670 002FE2D0 4E 80 00 20 */ blr
.global func_80302674
func_80302674:
/* 80302674 002FE2D4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80302678 002FE2D8 7C 08 02 A6 */ mflr r0
/* 8030267C 002FE2DC 90 01 00 44 */ stw r0, 0x44(r1)
/* 80302680 002FE2E0 39 61 00 40 */ addi r11, r1, 0x40
/* 80302684 002FE2E4 4B EC 4A 81 */ bl _savegpr_18
/* 80302688 002FE2E8 80 CD AF 90 */ lwz r6, lbl_80640250-_SDA_BASE_(r13)
/* 8030268C 002FE2EC 7C 7B 1B 78 */ mr r27, r3
/* 80302690 002FE2F0 83 A5 00 08 */ lwz r29, 8(r5)
/* 80302694 002FE2F4 7C 9E 23 78 */ mr r30, r4
/* 80302698 002FE2F8 7C B7 2B 78 */ mr r23, r5
/* 8030269C 002FE2FC 3B 86 0B 00 */ addi r28, r6, 0xb00
/* 803026A0 002FE300 3B 20 00 00 */ li r25, 0
/* 803026A4 002FE304 3E 40 80 00 */ lis r18, 0x8000
/* 803026A8 002FE308 3E 60 10 62 */ lis r19, 0x1062
/* 803026AC 002FE30C 3A 80 00 00 */ li r20, 0
/* 803026B0 002FE310 3A A0 03 E8 */ li r21, 0x3e8
/* 803026B4 002FE314 48 00 01 28 */ b lbl_803027DC
lbl_803026B8:
/* 803026B8 002FE318 22 DD 02 00 */ subfic r22, r29, 0x200
/* 803026BC 002FE31C 7C 1E B0 40 */ cmplw r30, r22
/* 803026C0 002FE320 40 80 00 08 */ bge lbl_803026C8
/* 803026C4 002FE324 7F D6 F3 78 */ mr r22, r30
lbl_803026C8:
/* 803026C8 002FE328 7F 64 DB 78 */ mr r4, r27
/* 803026CC 002FE32C 7E C5 B3 78 */ mr r5, r22
/* 803026D0 002FE330 7C 7C EA 14 */ add r3, r28, r29
/* 803026D4 002FE334 4B D0 19 2D */ bl memcpy
/* 803026D8 002FE338 7F BD B2 14 */ add r29, r29, r22
/* 803026DC 002FE33C 7F D6 F0 50 */ subf r30, r22, r30
/* 803026E0 002FE340 28 1D 02 00 */ cmplwi r29, 0x200
/* 803026E4 002FE344 7F 7B B2 14 */ add r27, r27, r22
/* 803026E8 002FE348 41 80 00 F4 */ blt lbl_803027DC
/* 803026EC 002FE34C 80 17 00 04 */ lwz r0, 4(r23)
/* 803026F0 002FE350 3B A0 00 00 */ li r29, 0
/* 803026F4 002FE354 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 803026F8 002FE358 41 82 00 70 */ beq lbl_80302768
/* 803026FC 002FE35C 80 77 00 98 */ lwz r3, 0x98(r23)
/* 80302700 002FE360 7F 84 E3 78 */ mr r4, r28
/* 80302704 002FE364 38 A0 02 00 */ li r5, 0x200
/* 80302708 002FE368 48 01 82 0D */ bl func_8031A914
/* 8030270C 002FE36C 2C 03 00 00 */ cmpwi r3, 0
/* 80302710 002FE370 41 82 00 CC */ beq lbl_803027DC
/* 80302714 002FE374 2C 03 00 05 */ cmpwi r3, 5
/* 80302718 002FE378 40 82 00 48 */ bne lbl_80302760
/* 8030271C 002FE37C 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 80302720 002FE380 48 01 82 C5 */ bl func_8031A9E4
/* 80302724 002FE384 2C 03 FF FB */ cmpwi r3, -5
/* 80302728 002FE388 41 82 00 20 */ beq lbl_80302748
/* 8030272C 002FE38C 40 80 00 10 */ bge lbl_8030273C
/* 80302730 002FE390 2C 03 FF F1 */ cmpwi r3, -15
/* 80302734 002FE394 41 82 00 14 */ beq lbl_80302748
/* 80302738 002FE398 48 00 00 20 */ b lbl_80302758
lbl_8030273C:
/* 8030273C 002FE39C 2C 03 FF FD */ cmpwi r3, -3
/* 80302740 002FE3A0 40 80 00 18 */ bge lbl_80302758
/* 80302744 002FE3A4 48 00 00 0C */ b lbl_80302750
lbl_80302748:
/* 80302748 002FE3A8 3B 20 FF D2 */ li r25, -46
/* 8030274C 002FE3AC 48 00 00 98 */ b lbl_803027E4
lbl_80302750:
/* 80302750 002FE3B0 3B 20 FF DA */ li r25, -38
/* 80302754 002FE3B4 48 00 00 90 */ b lbl_803027E4
lbl_80302758:
/* 80302758 002FE3B8 3B 20 FF ED */ li r25, -19
/* 8030275C 002FE3BC 48 00 00 88 */ b lbl_803027E4
lbl_80302760:
/* 80302760 002FE3C0 3B 20 FF ED */ li r25, -19
/* 80302764 002FE3C4 48 00 00 80 */ b lbl_803027E4
lbl_80302768:
/* 80302768 002FE3C8 7E D4 A9 D6 */ mullw r22, r20, r21
/* 8030276C 002FE3CC 3B F3 4D D3 */ addi r31, r19, 0x4dd3
/* 80302770 002FE3D0 3B 00 00 00 */ li r24, 0
lbl_80302774:
/* 80302774 002FE3D4 7F 84 E3 78 */ mr r4, r28
/* 80302778 002FE3D8 38 77 00 0C */ addi r3, r23, 0xc
/* 8030277C 002FE3DC 38 A0 02 00 */ li r5, 0x200
/* 80302780 002FE3E0 4B FE 52 21 */ bl NANDWrite
/* 80302784 002FE3E4 2C 03 FF FD */ cmpwi r3, -3
/* 80302788 002FE3E8 7C 7A 1B 78 */ mr r26, r3
/* 8030278C 002FE3EC 40 82 00 30 */ bne lbl_803027BC
/* 80302790 002FE3F0 80 12 00 F8 */ lwz r0, 0xf8(r18)
/* 80302794 002FE3F4 54 00 F0 BE */ srwi r0, r0, 2
/* 80302798 002FE3F8 7C 1F 00 16 */ mulhwu r0, r31, r0
/* 8030279C 002FE3FC 54 03 D1 BE */ srwi r3, r0, 6
/* 803027A0 002FE400 7C 03 A8 16 */ mulhwu r0, r3, r21
/* 803027A4 002FE404 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 803027A8 002FE408 7C 60 B2 14 */ add r3, r0, r22
/* 803027AC 002FE40C 4B F6 FF 59 */ bl OSSleepTicks
/* 803027B0 002FE410 3B 18 00 01 */ addi r24, r24, 1
/* 803027B4 002FE414 28 18 00 03 */ cmplwi r24, 3
/* 803027B8 002FE418 41 80 FF BC */ blt lbl_80302774
lbl_803027BC:
/* 803027BC 002FE41C 2C 1A FF FC */ cmpwi r26, -4
/* 803027C0 002FE420 40 82 00 0C */ bne lbl_803027CC
/* 803027C4 002FE424 38 60 FF DA */ li r3, -38
/* 803027C8 002FE428 48 00 00 24 */ b lbl_803027EC
lbl_803027CC:
/* 803027CC 002FE42C 2C 1A 02 00 */ cmpwi r26, 0x200
/* 803027D0 002FE430 41 82 00 0C */ beq lbl_803027DC
/* 803027D4 002FE434 3B 20 FF ED */ li r25, -19
/* 803027D8 002FE438 48 00 00 0C */ b lbl_803027E4
lbl_803027DC:
/* 803027DC 002FE43C 2C 1E 00 00 */ cmpwi r30, 0
/* 803027E0 002FE440 40 82 FE D8 */ bne lbl_803026B8
lbl_803027E4:
/* 803027E4 002FE444 93 B7 00 08 */ stw r29, 8(r23)
/* 803027E8 002FE448 7F 23 CB 78 */ mr r3, r25
lbl_803027EC:
/* 803027EC 002FE44C 39 61 00 40 */ addi r11, r1, 0x40
/* 803027F0 002FE450 4B EC 49 61 */ bl _restgpr_18
/* 803027F4 002FE454 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803027F8 002FE458 7C 08 03 A6 */ mtlr r0
/* 803027FC 002FE45C 38 21 00 40 */ addi r1, r1, 0x40
/* 80302800 002FE460 4E 80 00 20 */ blr
.global func_80302804
func_80302804:
/* 80302804 002FE464 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80302808 002FE468 7C 08 02 A6 */ mflr r0
/* 8030280C 002FE46C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80302810 002FE470 39 61 00 30 */ addi r11, r1, 0x30
/* 80302814 002FE474 4B EC 49 01 */ bl _savegpr_22
/* 80302818 002FE478 83 E3 00 08 */ lwz r31, 8(r3)
/* 8030281C 002FE47C 7C 7C 1B 78 */ mr r28, r3
/* 80302820 002FE480 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 80302824 002FE484 3B A0 00 00 */ li r29, 0
/* 80302828 002FE488 2C 1F 00 00 */ cmpwi r31, 0
/* 8030282C 002FE48C 3B C4 0B 00 */ addi r30, r4, 0xb00
/* 80302830 002FE490 40 82 00 0C */ bne lbl_8030283C
/* 80302834 002FE494 38 60 00 00 */ li r3, 0
/* 80302838 002FE498 48 00 01 20 */ b lbl_80302958
lbl_8030283C:
/* 8030283C 002FE49C 7C 9E FA 14 */ add r4, r30, r31
/* 80302840 002FE4A0 38 A0 00 00 */ li r5, 0
/* 80302844 002FE4A4 48 00 00 10 */ b lbl_80302854
lbl_80302848:
/* 80302848 002FE4A8 98 A4 00 00 */ stb r5, 0(r4)
/* 8030284C 002FE4AC 3B FF 00 01 */ addi r31, r31, 1
/* 80302850 002FE4B0 38 84 00 01 */ addi r4, r4, 1
lbl_80302854:
/* 80302854 002FE4B4 57 E0 06 FF */ clrlwi. r0, r31, 0x1b
/* 80302858 002FE4B8 40 82 FF F0 */ bne lbl_80302848
/* 8030285C 002FE4BC 80 03 00 04 */ lwz r0, 4(r3)
/* 80302860 002FE4C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80302864 002FE4C4 41 82 00 74 */ beq lbl_803028D8
/* 80302868 002FE4C8 80 63 00 98 */ lwz r3, 0x98(r3)
/* 8030286C 002FE4CC 7F C4 F3 78 */ mr r4, r30
/* 80302870 002FE4D0 7F E5 FB 78 */ mr r5, r31
/* 80302874 002FE4D4 48 01 80 A1 */ bl func_8031A914
/* 80302878 002FE4D8 2C 03 00 00 */ cmpwi r3, 0
/* 8030287C 002FE4DC 41 82 00 54 */ beq lbl_803028D0
/* 80302880 002FE4E0 2C 03 00 05 */ cmpwi r3, 5
/* 80302884 002FE4E4 40 82 00 48 */ bne lbl_803028CC
/* 80302888 002FE4E8 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 8030288C 002FE4EC 48 01 81 59 */ bl func_8031A9E4
/* 80302890 002FE4F0 2C 03 FF FB */ cmpwi r3, -5
/* 80302894 002FE4F4 41 82 00 20 */ beq lbl_803028B4
/* 80302898 002FE4F8 40 80 00 10 */ bge lbl_803028A8
/* 8030289C 002FE4FC 2C 03 FF F1 */ cmpwi r3, -15
/* 803028A0 002FE500 41 82 00 14 */ beq lbl_803028B4
/* 803028A4 002FE504 48 00 00 20 */ b lbl_803028C4
lbl_803028A8:
/* 803028A8 002FE508 2C 03 FF FD */ cmpwi r3, -3
/* 803028AC 002FE50C 40 80 00 18 */ bge lbl_803028C4
/* 803028B0 002FE510 48 00 00 0C */ b lbl_803028BC
lbl_803028B4:
/* 803028B4 002FE514 3B A0 FF D2 */ li r29, -46
/* 803028B8 002FE518 48 00 00 18 */ b lbl_803028D0
lbl_803028BC:
/* 803028BC 002FE51C 3B A0 FF DA */ li r29, -38
/* 803028C0 002FE520 48 00 00 10 */ b lbl_803028D0
lbl_803028C4:
/* 803028C4 002FE524 3B A0 FF ED */ li r29, -19
/* 803028C8 002FE528 48 00 00 08 */ b lbl_803028D0
lbl_803028CC:
/* 803028CC 002FE52C 3B A0 FF ED */ li r29, -19
lbl_803028D0:
/* 803028D0 002FE530 7F A3 EB 78 */ mr r3, r29
/* 803028D4 002FE534 48 00 00 84 */ b lbl_80302958
lbl_803028D8:
/* 803028D8 002FE538 3A C0 00 00 */ li r22, 0
/* 803028DC 002FE53C 3B 40 03 E8 */ li r26, 0x3e8
/* 803028E0 002FE540 7F 76 D1 D6 */ mullw r27, r22, r26
/* 803028E4 002FE544 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 803028E8 002FE548 3F 20 80 00 */ lis r25, 0x8000
/* 803028EC 002FE54C 3B 03 4D D3 */ addi r24, r3, 0x10624DD3@l
lbl_803028F0:
/* 803028F0 002FE550 7F C4 F3 78 */ mr r4, r30
/* 803028F4 002FE554 7F E5 FB 78 */ mr r5, r31
/* 803028F8 002FE558 38 7C 00 0C */ addi r3, r28, 0xc
/* 803028FC 002FE55C 4B FE 50 A5 */ bl NANDWrite
/* 80302900 002FE560 2C 03 FF FD */ cmpwi r3, -3
/* 80302904 002FE564 7C 77 1B 78 */ mr r23, r3
/* 80302908 002FE568 40 82 00 30 */ bne lbl_80302938
/* 8030290C 002FE56C 80 19 00 F8 */ lwz r0, 0xf8(r25)
/* 80302910 002FE570 54 00 F0 BE */ srwi r0, r0, 2
/* 80302914 002FE574 7C 18 00 16 */ mulhwu r0, r24, r0
/* 80302918 002FE578 54 03 D1 BE */ srwi r3, r0, 6
/* 8030291C 002FE57C 7C 03 D0 16 */ mulhwu r0, r3, r26
/* 80302920 002FE580 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 80302924 002FE584 7C 60 DA 14 */ add r3, r0, r27
/* 80302928 002FE588 4B F6 FD DD */ bl OSSleepTicks
/* 8030292C 002FE58C 3A D6 00 01 */ addi r22, r22, 1
/* 80302930 002FE590 28 16 00 03 */ cmplwi r22, 3
/* 80302934 002FE594 41 80 FF BC */ blt lbl_803028F0
lbl_80302938:
/* 80302938 002FE598 2C 17 FF FC */ cmpwi r23, -4
/* 8030293C 002FE59C 40 82 00 0C */ bne lbl_80302948
/* 80302940 002FE5A0 38 60 FF DA */ li r3, -38
/* 80302944 002FE5A4 48 00 00 14 */ b lbl_80302958
lbl_80302948:
/* 80302948 002FE5A8 7C 17 F8 40 */ cmplw r23, r31
/* 8030294C 002FE5AC 41 82 00 08 */ beq lbl_80302954
/* 80302950 002FE5B0 3B A0 FF ED */ li r29, -19
lbl_80302954:
/* 80302954 002FE5B4 7F A3 EB 78 */ mr r3, r29
lbl_80302958:
/* 80302958 002FE5B8 39 61 00 30 */ addi r11, r1, 0x30
/* 8030295C 002FE5BC 4B EC 48 05 */ bl _restgpr_22
/* 80302960 002FE5C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80302964 002FE5C4 7C 08 03 A6 */ mtlr r0
/* 80302968 002FE5C8 38 21 00 30 */ addi r1, r1, 0x30
/* 8030296C 002FE5CC 4E 80 00 20 */ blr
.global func_80302970
func_80302970:
/* 80302970 002FE5D0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80302974 002FE5D4 7C 08 02 A6 */ mflr r0
/* 80302978 002FE5D8 90 01 00 64 */ stw r0, 0x64(r1)
/* 8030297C 002FE5DC 39 61 00 60 */ addi r11, r1, 0x60
/* 80302980 002FE5E0 4B EC 47 79 */ bl _savegpr_15
/* 80302984 002FE5E4 80 0D AF 78 */ lwz r0, lbl_80640238-_SDA_BASE_(r13)
/* 80302988 002FE5E8 7C 8F 23 78 */ mr r15, r4
/* 8030298C 002FE5EC 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 80302990 002FE5F0 7C 73 1B 78 */ mr r19, r3
/* 80302994 002FE5F4 2C 00 00 00 */ cmpwi r0, 0
/* 80302998 002FE5F8 7C B0 2B 78 */ mr r16, r5
/* 8030299C 002FE5FC 7D F9 7B 78 */ mr r25, r15
/* 803029A0 002FE600 3A 84 09 00 */ addi r20, r4, 0x900
/* 803029A4 002FE604 3A 40 00 00 */ li r18, 0
/* 803029A8 002FE608 41 82 00 0C */ beq lbl_803029B4
/* 803029AC 002FE60C 38 60 FF EA */ li r3, -22
/* 803029B0 002FE610 48 00 01 90 */ b lbl_80302B40
lbl_803029B4:
/* 803029B4 002FE614 80 05 00 00 */ lwz r0, 0(r5)
/* 803029B8 002FE618 90 0D AF 78 */ stw r0, lbl_80640238-_SDA_BASE_(r13)
/* 803029BC 002FE61C 82 A5 00 08 */ lwz r21, 8(r5)
/* 803029C0 002FE620 56 A0 00 01 */ rlwinm. r0, r21, 0, 0, 0
/* 803029C4 002FE624 41 82 00 0C */ beq lbl_803029D0
/* 803029C8 002FE628 38 60 FF D8 */ li r3, -40
/* 803029CC 002FE62C 48 00 01 74 */ b lbl_80302B40
lbl_803029D0:
/* 803029D0 002FE630 3F 60 80 00 */ lis r27, 0x8000
/* 803029D4 002FE634 3F 80 10 62 */ lis r28, 0x1062
/* 803029D8 002FE638 3B A0 00 00 */ li r29, 0
/* 803029DC 002FE63C 3B C0 03 E8 */ li r30, 0x3e8
/* 803029E0 002FE640 48 00 01 38 */ b lbl_80302B18
lbl_803029E4:
/* 803029E4 002FE644 22 F5 02 00 */ subfic r23, r21, 0x200
/* 803029E8 002FE648 3B 00 02 00 */ li r24, 0x200
/* 803029EC 002FE64C 7C 19 B8 40 */ cmplw r25, r23
/* 803029F0 002FE650 40 80 00 14 */ bge lbl_80302A04
/* 803029F4 002FE654 7C 79 AA 14 */ add r3, r25, r21
/* 803029F8 002FE658 7F 37 CB 78 */ mr r23, r25
/* 803029FC 002FE65C 38 03 00 1F */ addi r0, r3, 0x1f
/* 80302A00 002FE660 54 18 00 34 */ rlwinm r24, r0, 0, 0, 0x1a
lbl_80302A04:
/* 80302A04 002FE664 80 10 00 04 */ lwz r0, 4(r16)
/* 80302A08 002FE668 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80302A0C 002FE66C 41 82 00 7C */ beq lbl_80302A88
/* 80302A10 002FE670 80 70 00 98 */ lwz r3, 0x98(r16)
/* 80302A14 002FE674 7E 84 A3 78 */ mr r4, r20
/* 80302A18 002FE678 7F 05 C3 78 */ mr r5, r24
/* 80302A1C 002FE67C 38 C1 00 08 */ addi r6, r1, 8
/* 80302A20 002FE680 48 01 7E 59 */ bl func_8031A878
/* 80302A24 002FE684 2C 03 00 00 */ cmpwi r3, 0
/* 80302A28 002FE688 41 82 00 58 */ beq lbl_80302A80
/* 80302A2C 002FE68C 2C 03 00 05 */ cmpwi r3, 5
/* 80302A30 002FE690 40 82 00 48 */ bne lbl_80302A78
/* 80302A34 002FE694 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
/* 80302A38 002FE698 48 01 7F AD */ bl func_8031A9E4
/* 80302A3C 002FE69C 2C 03 FF FB */ cmpwi r3, -5
/* 80302A40 002FE6A0 41 82 00 20 */ beq lbl_80302A60
/* 80302A44 002FE6A4 40 80 00 10 */ bge lbl_80302A54
/* 80302A48 002FE6A8 2C 03 FF F1 */ cmpwi r3, -15
/* 80302A4C 002FE6AC 41 82 00 14 */ beq lbl_80302A60
/* 80302A50 002FE6B0 48 00 00 20 */ b lbl_80302A70
lbl_80302A54:
/* 80302A54 002FE6B4 2C 03 FF FD */ cmpwi r3, -3
/* 80302A58 002FE6B8 40 80 00 18 */ bge lbl_80302A70
/* 80302A5C 002FE6BC 48 00 00 0C */ b lbl_80302A68
lbl_80302A60:
/* 80302A60 002FE6C0 3A 40 FF D2 */ li r18, -46
/* 80302A64 002FE6C4 48 00 00 BC */ b lbl_80302B20
lbl_80302A68:
/* 80302A68 002FE6C8 3A 40 FF DA */ li r18, -38
/* 80302A6C 002FE6CC 48 00 00 B4 */ b lbl_80302B20
lbl_80302A70:
/* 80302A70 002FE6D0 3A 40 FF EE */ li r18, -18
/* 80302A74 002FE6D4 48 00 00 AC */ b lbl_80302B20
lbl_80302A78:
/* 80302A78 002FE6D8 3A 40 FF EE */ li r18, -18
/* 80302A7C 002FE6DC 48 00 00 A4 */ b lbl_80302B20
lbl_80302A80:
/* 80302A80 002FE6E0 82 C1 00 08 */ lwz r22, 8(r1)
/* 80302A84 002FE6E4 48 00 00 68 */ b lbl_80302AEC
lbl_80302A88:
/* 80302A88 002FE6E8 7F FD F1 D6 */ mullw r31, r29, r30
/* 80302A8C 002FE6EC 3B 5C 4D D3 */ addi r26, r28, 0x4dd3
/* 80302A90 002FE6F0 3A 20 00 00 */ li r17, 0
lbl_80302A94:
/* 80302A94 002FE6F4 7E 84 A3 78 */ mr r4, r20
/* 80302A98 002FE6F8 7F 05 C3 78 */ mr r5, r24
/* 80302A9C 002FE6FC 38 70 00 0C */ addi r3, r16, 0xc
/* 80302AA0 002FE700 4B FE 4E 21 */ bl NANDRead
/* 80302AA4 002FE704 2C 03 FF FD */ cmpwi r3, -3
/* 80302AA8 002FE708 7C 76 1B 78 */ mr r22, r3
/* 80302AAC 002FE70C 40 82 00 30 */ bne lbl_80302ADC
/* 80302AB0 002FE710 80 1B 00 F8 */ lwz r0, 0xf8(r27)
/* 80302AB4 002FE714 54 00 F0 BE */ srwi r0, r0, 2
/* 80302AB8 002FE718 7C 1A 00 16 */ mulhwu r0, r26, r0
/* 80302ABC 002FE71C 54 03 D1 BE */ srwi r3, r0, 6
/* 80302AC0 002FE720 7C 03 F0 16 */ mulhwu r0, r3, r30
/* 80302AC4 002FE724 1C 83 03 E8 */ mulli r4, r3, 0x3e8
/* 80302AC8 002FE728 7C 60 FA 14 */ add r3, r0, r31
/* 80302ACC 002FE72C 4B F6 FC 39 */ bl OSSleepTicks
/* 80302AD0 002FE730 3A 31 00 01 */ addi r17, r17, 1
/* 80302AD4 002FE734 28 11 00 03 */ cmplwi r17, 3
/* 80302AD8 002FE738 41 80 FF BC */ blt lbl_80302A94
lbl_80302ADC:
/* 80302ADC 002FE73C 2C 16 FF FC */ cmpwi r22, -4
/* 80302AE0 002FE740 40 82 00 0C */ bne lbl_80302AEC
/* 80302AE4 002FE744 38 60 FF DA */ li r3, -38
/* 80302AE8 002FE748 48 00 00 58 */ b lbl_80302B40
lbl_80302AEC:
/* 80302AEC 002FE74C 7C 16 C0 40 */ cmplw r22, r24
/* 80302AF0 002FE750 41 82 00 0C */ beq lbl_80302AFC
/* 80302AF4 002FE754 3A 40 FF EE */ li r18, -18
/* 80302AF8 002FE758 48 00 00 28 */ b lbl_80302B20
lbl_80302AFC:
/* 80302AFC 002FE75C 7E 63 9B 78 */ mr r3, r19
/* 80302B00 002FE760 7E E5 BB 78 */ mr r5, r23
/* 80302B04 002FE764 7C 94 AA 14 */ add r4, r20, r21
/* 80302B08 002FE768 4B D0 14 F9 */ bl memcpy
/* 80302B0C 002FE76C 7E 73 BA 14 */ add r19, r19, r23
/* 80302B10 002FE770 7F 37 C8 50 */ subf r25, r23, r25
/* 80302B14 002FE774 3A A0 00 00 */ li r21, 0
lbl_80302B18:
/* 80302B18 002FE778 2C 19 00 00 */ cmpwi r25, 0
/* 80302B1C 002FE77C 40 82 FE C8 */ bne lbl_803029E4
lbl_80302B20:
/* 80302B20 002FE780 80 90 00 08 */ lwz r4, 8(r16)
/* 80302B24 002FE784 38 00 00 00 */ li r0, 0
/* 80302B28 002FE788 7E 43 93 78 */ mr r3, r18
/* 80302B2C 002FE78C 7C 84 7A 14 */ add r4, r4, r15
/* 80302B30 002FE790 54 84 06 FE */ clrlwi r4, r4, 0x1b
/* 80302B34 002FE794 64 84 80 00 */ oris r4, r4, 0x8000
/* 80302B38 002FE798 90 90 00 08 */ stw r4, 8(r16)
/* 80302B3C 002FE79C 90 0D AF 78 */ stw r0, lbl_80640238-_SDA_BASE_(r13)
lbl_80302B40:
/* 80302B40 002FE7A0 39 61 00 60 */ addi r11, r1, 0x60
/* 80302B44 002FE7A4 4B EC 46 01 */ bl _restgpr_15
/* 80302B48 002FE7A8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80302B4C 002FE7AC 7C 08 03 A6 */ mtlr r0
/* 80302B50 002FE7B0 38 21 00 60 */ addi r1, r1, 0x60
/* 80302B54 002FE7B4 4E 80 00 20 */ blr
.global func_80302B58
func_80302B58:
/* 80302B58 002FE7B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80302B5C 002FE7BC 7C 08 02 A6 */ mflr r0
/* 80302B60 002FE7C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80302B64 002FE7C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80302B68 002FE7C8 3B E0 00 00 */ li r31, 0
/* 80302B6C 002FE7CC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80302B70 002FE7D0 7C 7E 1B 78 */ mr r30, r3
/* 80302B74 002FE7D4 48 00 07 71 */ bl func_803032E4
/* 80302B78 002FE7D8 2C 03 00 00 */ cmpwi r3, 0
/* 80302B7C 002FE7DC 40 82 00 10 */ bne lbl_80302B8C
/* 80302B80 002FE7E0 48 00 07 79 */ bl func_803032F8
/* 80302B84 002FE7E4 2C 03 00 00 */ cmpwi r3, 0
/* 80302B88 002FE7E8 41 82 00 1C */ beq lbl_80302BA4
lbl_80302B8C:
/* 80302B8C 002FE7EC 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
/* 80302B90 002FE7F0 80 03 00 08 */ lwz r0, 8(r3)
/* 80302B94 002FE7F4 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80302B98 002FE7F8 90 7E 00 04 */ stw r3, 4(r30)
/* 80302B9C 002FE7FC 90 1E 00 00 */ stw r0, 0(r30)
/* 80302BA0 002FE800 48 00 00 B0 */ b lbl_80302C50
lbl_80302BA4:
/* 80302BA4 002FE804 48 00 0E 51 */ bl func_803039F4
/* 80302BA8 002FE808 2C 03 00 00 */ cmpwi r3, 0
/* 80302BAC 002FE80C 40 80 00 08 */ bge lbl_80302BB4
/* 80302BB0 002FE810 48 00 00 A4 */ b lbl_80302C54
lbl_80302BB4:
/* 80302BB4 002FE814 38 60 00 01 */ li r3, 1
/* 80302BB8 002FE818 48 00 07 55 */ bl func_8030330C
/* 80302BBC 002FE81C 2C 03 00 00 */ cmpwi r3, 0
/* 80302BC0 002FE820 40 80 00 08 */ bge lbl_80302BC8
/* 80302BC4 002FE824 48 00 00 5C */ b lbl_80302C20
lbl_80302BC8:
/* 80302BC8 002FE828 38 00 00 00 */ li r0, 0
/* 80302BCC 002FE82C 2C 1E 00 00 */ cmpwi r30, 0
/* 80302BD0 002FE830 90 01 00 08 */ stw r0, 8(r1)
/* 80302BD4 002FE834 40 82 00 0C */ bne lbl_80302BE0
/* 80302BD8 002FE838 3B E0 FF FD */ li r31, -3
/* 80302BDC 002FE83C 48 00 00 2C */ b lbl_80302C08
lbl_80302BE0:
/* 80302BE0 002FE840 3C 60 6F C1 */ lis r3, 0x6FC0FFFF@ha
/* 80302BE4 002FE844 3C 80 00 24 */ lis r4, 0x002386F2@ha
/* 80302BE8 002FE848 38 A3 FF FF */ addi r5, r3, 0x6FC0FFFF@l
/* 80302BEC 002FE84C 38 04 86 F2 */ addi r0, r4, 0x002386F2@l
/* 80302BF0 002FE850 90 BE 00 04 */ stw r5, 4(r30)
/* 80302BF4 002FE854 7F C3 F3 78 */ mr r3, r30
/* 80302BF8 002FE858 38 81 00 08 */ addi r4, r1, 8
/* 80302BFC 002FE85C 90 1E 00 00 */ stw r0, 0(r30)
/* 80302C00 002FE860 48 00 0F B5 */ bl func_80303BB4
/* 80302C04 002FE864 7C 7F 1B 78 */ mr r31, r3
lbl_80302C08:
/* 80302C08 002FE868 38 60 00 00 */ li r3, 0
/* 80302C0C 002FE86C 48 00 07 01 */ bl func_8030330C
/* 80302C10 002FE870 2C 1F 00 00 */ cmpwi r31, 0
/* 80302C14 002FE874 41 80 00 08 */ blt lbl_80302C1C
/* 80302C18 002FE878 7C 7F 1B 78 */ mr r31, r3
lbl_80302C1C:
/* 80302C1C 002FE87C 7F E3 FB 78 */ mr r3, r31
lbl_80302C20:
/* 80302C20 002FE880 38 03 00 24 */ addi r0, r3, 0x24
/* 80302C24 002FE884 7C 7F 1B 78 */ mr r31, r3
/* 80302C28 002FE888 28 00 00 01 */ cmplwi r0, 1
/* 80302C2C 002FE88C 41 81 00 08 */ bgt lbl_80302C34
/* 80302C30 002FE890 3B E0 00 00 */ li r31, 0
lbl_80302C34:
/* 80302C34 002FE894 48 00 0E 91 */ bl func_80303AC4
/* 80302C38 002FE898 2C 03 00 00 */ cmpwi r3, 0
/* 80302C3C 002FE89C 40 80 00 14 */ bge lbl_80302C50
/* 80302C40 002FE8A0 2C 1F 00 00 */ cmpwi r31, 0
/* 80302C44 002FE8A4 41 82 00 08 */ beq lbl_80302C4C
/* 80302C48 002FE8A8 7F E3 FB 78 */ mr r3, r31
lbl_80302C4C:
/* 80302C4C 002FE8AC 7C 7F 1B 78 */ mr r31, r3
lbl_80302C50:
/* 80302C50 002FE8B0 7F E3 FB 78 */ mr r3, r31
lbl_80302C54:
/* 80302C54 002FE8B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80302C58 002FE8B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80302C5C 002FE8BC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80302C60 002FE8C0 7C 08 03 A6 */ mtlr r0
/* 80302C64 002FE8C4 38 21 00 20 */ addi r1, r1, 0x20
/* 80302C68 002FE8C8 4E 80 00 20 */ blr
.global func_80302C6C
func_80302C6C:
/* 80302C6C 002FE8CC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80302C70 002FE8D0 38 00 00 00 */ li r0, 0
/* 80302C74 002FE8D4 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
/* 80302C78 002FE8D8 38 03 0D 00 */ addi r0, r3, 0xd00
/* 80302C7C 002FE8DC 90 0D AF 88 */ stw r0, lbl_80640248-_SDA_BASE_(r13)
/* 80302C80 002FE8E0 48 00 00 04 */ b lbl_80302C84
lbl_80302C84:
/* 80302C84 002FE8E4 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80302C88 002FE8E8 7C 08 02 A6 */ mflr r0
/* 80302C8C 002FE8EC 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80302C90 002FE8F0 93 E1 00 AC */ stw r31, 0xac(r1)
/* 80302C94 002FE8F4 80 0D AF 90 */ lwz r0, lbl_80640250-_SDA_BASE_(r13)
/* 80302C98 002FE8F8 2C 00 00 00 */ cmpwi r0, 0
/* 80302C9C 002FE8FC 40 82 00 0C */ bne lbl_80302CA8
/* 80302CA0 002FE900 38 60 FF F7 */ li r3, -9
/* 80302CA4 002FE904 48 00 00 C0 */ b lbl_80302D64
lbl_80302CA8:
/* 80302CA8 002FE908 80 8D 8C 94 */ lwz r4, lbl_8063DF54-_SDA_BASE_(r13)
/* 80302CAC 002FE90C 38 61 00 08 */ addi r3, r1, 8
/* 80302CB0 002FE910 38 A0 00 02 */ li r5, 2
/* 80302CB4 002FE914 4B FF EE 95 */ bl func_80301B48
/* 80302CB8 002FE918 2C 03 00 00 */ cmpwi r3, 0
/* 80302CBC 002FE91C 40 82 00 2C */ bne lbl_80302CE8
/* 80302CC0 002FE920 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
/* 80302CC4 002FE924 38 A1 00 08 */ addi r5, r1, 8
/* 80302CC8 002FE928 38 80 04 00 */ li r4, 0x400
/* 80302CCC 002FE92C 4B FF F5 4D */ bl func_80302218
/* 80302CD0 002FE930 7C 7F 1B 78 */ mr r31, r3
/* 80302CD4 002FE934 38 61 00 08 */ addi r3, r1, 8
/* 80302CD8 002FE938 4B FF F1 C1 */ bl func_80301E98
/* 80302CDC 002FE93C 2C 1F 00 00 */ cmpwi r31, 0
/* 80302CE0 002FE940 41 82 00 08 */ beq lbl_80302CE8
/* 80302CE4 002FE944 7F E3 FB 78 */ mr r3, r31
lbl_80302CE8:
/* 80302CE8 002FE948 2C 03 00 00 */ cmpwi r3, 0
/* 80302CEC 002FE94C 40 82 00 1C */ bne lbl_80302D08
/* 80302CF0 002FE950 48 00 02 79 */ bl func_80302F68
/* 80302CF4 002FE954 2C 03 00 00 */ cmpwi r3, 0
/* 80302CF8 002FE958 40 82 00 10 */ bne lbl_80302D08
/* 80302CFC 002FE95C 38 00 00 00 */ li r0, 0
/* 80302D00 002FE960 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
/* 80302D04 002FE964 48 00 00 60 */ b lbl_80302D64
lbl_80302D08:
/* 80302D08 002FE968 80 8D 8C 98 */ lwz r4, lbl_8063DF58-_SDA_BASE_(r13)
/* 80302D0C 002FE96C 38 61 00 08 */ addi r3, r1, 8
/* 80302D10 002FE970 38 A0 00 02 */ li r5, 2
/* 80302D14 002FE974 4B FF EE 35 */ bl func_80301B48
/* 80302D18 002FE978 2C 03 00 00 */ cmpwi r3, 0
/* 80302D1C 002FE97C 40 82 00 2C */ bne lbl_80302D48
/* 80302D20 002FE980 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
/* 80302D24 002FE984 38 A1 00 08 */ addi r5, r1, 8
/* 80302D28 002FE988 38 80 04 00 */ li r4, 0x400
/* 80302D2C 002FE98C 4B FF F4 ED */ bl func_80302218
/* 80302D30 002FE990 7C 7F 1B 78 */ mr r31, r3
/* 80302D34 002FE994 38 61 00 08 */ addi r3, r1, 8
/* 80302D38 002FE998 4B FF F1 61 */ bl func_80301E98
/* 80302D3C 002FE99C 2C 1F 00 00 */ cmpwi r31, 0
/* 80302D40 002FE9A0 41 82 00 08 */ beq lbl_80302D48
/* 80302D44 002FE9A4 7F E3 FB 78 */ mr r3, r31
lbl_80302D48:
/* 80302D48 002FE9A8 2C 03 00 00 */ cmpwi r3, 0
/* 80302D4C 002FE9AC 40 82 00 18 */ bne lbl_80302D64
/* 80302D50 002FE9B0 48 00 02 19 */ bl func_80302F68
/* 80302D54 002FE9B4 2C 03 00 00 */ cmpwi r3, 0
/* 80302D58 002FE9B8 40 82 00 0C */ bne lbl_80302D64
/* 80302D5C 002FE9BC 38 00 00 01 */ li r0, 1
/* 80302D60 002FE9C0 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
lbl_80302D64:
/* 80302D64 002FE9C4 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80302D68 002FE9C8 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80302D6C 002FE9CC 7C 08 03 A6 */ mtlr r0
/* 80302D70 002FE9D0 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80302D74 002FE9D4 4E 80 00 20 */ blr
.global func_80302D78
func_80302D78:
/* 80302D78 002FE9D8 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80302D7C 002FE9DC 7C 08 02 A6 */ mflr r0
/* 80302D80 002FE9E0 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80302D84 002FE9E4 93 E1 00 AC */ stw r31, 0xac(r1)
/* 80302D88 002FE9E8 80 0D AF 90 */ lwz r0, lbl_80640250-_SDA_BASE_(r13)
/* 80302D8C 002FE9EC 2C 00 00 00 */ cmpwi r0, 0
/* 80302D90 002FE9F0 40 82 00 0C */ bne lbl_80302D9C
/* 80302D94 002FE9F4 38 60 FF F7 */ li r3, -9
/* 80302D98 002FE9F8 48 00 01 4C */ b lbl_80302EE4
lbl_80302D9C:
/* 80302D9C 002FE9FC 80 0D AF 8C */ lwz r0, lbl_8064024C-_SDA_BASE_(r13)
/* 80302DA0 002FEA00 2C 00 00 00 */ cmpwi r0, 0
/* 80302DA4 002FEA04 40 82 00 0C */ bne lbl_80302DB0
/* 80302DA8 002FEA08 38 60 00 00 */ li r3, 0
/* 80302DAC 002FEA0C 48 00 01 38 */ b lbl_80302EE4
lbl_80302DB0:
/* 80302DB0 002FEA10 81 0D AF 88 */ lwz r8, lbl_80640248-_SDA_BASE_(r13)
/* 80302DB4 002FEA14 38 00 00 1F */ li r0, 0x1f
/* 80302DB8 002FEA18 38 E0 00 00 */ li r7, 0
/* 80302DBC 002FEA1C 7D 06 43 78 */ mr r6, r8
/* 80302DC0 002FEA20 7C 09 03 A6 */ mtctr r0
lbl_80302DC4:
/* 80302DC4 002FEA24 80 66 00 00 */ lwz r3, 0(r6)
/* 80302DC8 002FEA28 80 06 00 04 */ lwz r0, 4(r6)
/* 80302DCC 002FEA2C 7C E7 1A 14 */ add r7, r7, r3
/* 80302DD0 002FEA30 80 66 00 08 */ lwz r3, 8(r6)
/* 80302DD4 002FEA34 7C E7 02 14 */ add r7, r7, r0
/* 80302DD8 002FEA38 80 06 00 0C */ lwz r0, 0xc(r6)
/* 80302DDC 002FEA3C 7C E7 1A 14 */ add r7, r7, r3
/* 80302DE0 002FEA40 80 66 00 10 */ lwz r3, 0x10(r6)
/* 80302DE4 002FEA44 7C E7 02 14 */ add r7, r7, r0
/* 80302DE8 002FEA48 80 06 00 14 */ lwz r0, 0x14(r6)
/* 80302DEC 002FEA4C 7C E7 1A 14 */ add r7, r7, r3
/* 80302DF0 002FEA50 80 66 00 18 */ lwz r3, 0x18(r6)
/* 80302DF4 002FEA54 7C E7 02 14 */ add r7, r7, r0
/* 80302DF8 002FEA58 80 06 00 1C */ lwz r0, 0x1c(r6)
/* 80302DFC 002FEA5C 7C E7 1A 14 */ add r7, r7, r3
/* 80302E00 002FEA60 38 C6 00 20 */ addi r6, r6, 0x20
/* 80302E04 002FEA64 7C E7 02 14 */ add r7, r7, r0
/* 80302E08 002FEA68 42 00 FF BC */ bdnz lbl_80302DC4
/* 80302E0C 002FEA6C 80 06 00 00 */ lwz r0, 0(r6)
/* 80302E10 002FEA70 38 61 00 08 */ addi r3, r1, 8
/* 80302E14 002FEA74 80 86 00 04 */ lwz r4, 4(r6)
/* 80302E18 002FEA78 38 A0 00 01 */ li r5, 1
/* 80302E1C 002FEA7C 7C E7 02 14 */ add r7, r7, r0
/* 80302E20 002FEA80 80 06 00 08 */ lwz r0, 8(r6)
/* 80302E24 002FEA84 7C E7 22 14 */ add r7, r7, r4
/* 80302E28 002FEA88 80 86 00 0C */ lwz r4, 0xc(r6)
/* 80302E2C 002FEA8C 7C E7 02 14 */ add r7, r7, r0
/* 80302E30 002FEA90 80 06 00 10 */ lwz r0, 0x10(r6)
/* 80302E34 002FEA94 7C E7 22 14 */ add r7, r7, r4
/* 80302E38 002FEA98 80 86 00 14 */ lwz r4, 0x14(r6)
/* 80302E3C 002FEA9C 7C E7 02 14 */ add r7, r7, r0
/* 80302E40 002FEAA0 80 06 00 18 */ lwz r0, 0x18(r6)
/* 80302E44 002FEAA4 7C E7 22 14 */ add r7, r7, r4
/* 80302E48 002FEAA8 7C E7 02 14 */ add r7, r7, r0
/* 80302E4C 002FEAAC 90 E8 03 FC */ stw r7, 0x3fc(r8)
/* 80302E50 002FEAB0 80 8D 8C 94 */ lwz r4, lbl_8063DF54-_SDA_BASE_(r13)
/* 80302E54 002FEAB4 4B FF EC F5 */ bl func_80301B48
/* 80302E58 002FEAB8 2C 03 00 00 */ cmpwi r3, 0
/* 80302E5C 002FEABC 40 82 00 34 */ bne lbl_80302E90
/* 80302E60 002FEAC0 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
/* 80302E64 002FEAC4 38 A1 00 08 */ addi r5, r1, 8
/* 80302E68 002FEAC8 38 80 04 00 */ li r4, 0x400
/* 80302E6C 002FEACC 4B FF F5 79 */ bl func_803023E4
/* 80302E70 002FEAD0 7C 7F 1B 78 */ mr r31, r3
/* 80302E74 002FEAD4 38 61 00 08 */ addi r3, r1, 8
/* 80302E78 002FEAD8 4B FF F0 21 */ bl func_80301E98
/* 80302E7C 002FEADC 2C 1F 00 00 */ cmpwi r31, 0
/* 80302E80 002FEAE0 41 82 00 08 */ beq lbl_80302E88
/* 80302E84 002FEAE4 7F E3 FB 78 */ mr r3, r31
lbl_80302E88:
/* 80302E88 002FEAE8 38 00 00 00 */ li r0, 0
/* 80302E8C 002FEAEC 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
lbl_80302E90:
/* 80302E90 002FEAF0 2C 03 00 00 */ cmpwi r3, 0
/* 80302E94 002FEAF4 41 82 00 08 */ beq lbl_80302E9C
/* 80302E98 002FEAF8 48 00 00 4C */ b lbl_80302EE4
lbl_80302E9C:
/* 80302E9C 002FEAFC 80 8D 8C 98 */ lwz r4, lbl_8063DF58-_SDA_BASE_(r13)
/* 80302EA0 002FEB00 38 61 00 08 */ addi r3, r1, 8
/* 80302EA4 002FEB04 38 A0 00 01 */ li r5, 1
/* 80302EA8 002FEB08 4B FF EC A1 */ bl func_80301B48
/* 80302EAC 002FEB0C 2C 03 00 00 */ cmpwi r3, 0
/* 80302EB0 002FEB10 40 82 00 34 */ bne lbl_80302EE4
/* 80302EB4 002FEB14 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
/* 80302EB8 002FEB18 38 A1 00 08 */ addi r5, r1, 8
/* 80302EBC 002FEB1C 38 80 04 00 */ li r4, 0x400
/* 80302EC0 002FEB20 4B FF F5 25 */ bl func_803023E4
/* 80302EC4 002FEB24 7C 7F 1B 78 */ mr r31, r3
/* 80302EC8 002FEB28 38 61 00 08 */ addi r3, r1, 8
/* 80302ECC 002FEB2C 4B FF EF CD */ bl func_80301E98
/* 80302ED0 002FEB30 2C 1F 00 00 */ cmpwi r31, 0
/* 80302ED4 002FEB34 41 82 00 08 */ beq lbl_80302EDC
/* 80302ED8 002FEB38 7F E3 FB 78 */ mr r3, r31
lbl_80302EDC:
/* 80302EDC 002FEB3C 38 00 00 00 */ li r0, 0
/* 80302EE0 002FEB40 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
lbl_80302EE4:
/* 80302EE4 002FEB44 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80302EE8 002FEB48 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80302EEC 002FEB4C 7C 08 03 A6 */ mtlr r0
/* 80302EF0 002FEB50 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80302EF4 002FEB54 4E 80 00 20 */ blr
.global func_80302EF8
func_80302EF8:
/* 80302EF8 002FEB58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80302EFC 002FEB5C 7C 08 02 A6 */ mflr r0
/* 80302F00 002FEB60 90 01 00 14 */ stw r0, 0x14(r1)
/* 80302F04 002FEB64 38 61 00 08 */ addi r3, r1, 8
/* 80302F08 002FEB68 4B F6 55 B9 */ bl __OSGetIOSRev
/* 80302F0C 002FEB6C 88 01 00 09 */ lbz r0, 9(r1)
/* 80302F10 002FEB70 2C 00 00 00 */ cmpwi r0, 0
/* 80302F14 002FEB74 40 82 00 40 */ bne lbl_80302F54
/* 80302F18 002FEB78 88 61 00 0A */ lbz r3, 0xa(r1)
/* 80302F1C 002FEB7C 28 03 00 07 */ cmplwi r3, 7
/* 80302F20 002FEB80 40 82 00 10 */ bne lbl_80302F30
/* 80302F24 002FEB84 88 01 00 0B */ lbz r0, 0xb(r1)
/* 80302F28 002FEB88 2C 00 00 00 */ cmpwi r0, 0
/* 80302F2C 002FEB8C 41 82 00 0C */ beq lbl_80302F38
lbl_80302F30:
/* 80302F30 002FEB90 28 03 00 07 */ cmplwi r3, 7
/* 80302F34 002FEB94 40 80 00 20 */ bge lbl_80302F54
lbl_80302F38:
/* 80302F38 002FEB98 3C 60 80 44 */ lis r3, lbl_80446354@ha
/* 80302F3C 002FEB9C 3C A0 80 44 */ lis r5, lbl_80446364@ha
/* 80302F40 002FEBA0 38 63 63 54 */ addi r3, r3, lbl_80446354@l
/* 80302F44 002FEBA4 38 80 02 9A */ li r4, 0x29a
/* 80302F48 002FEBA8 38 A5 63 64 */ addi r5, r5, lbl_80446364@l
/* 80302F4C 002FEBAC 4C C6 31 82 */ crclr 6
/* 80302F50 002FEBB0 4B F6 85 4D */ bl OSPanic
lbl_80302F54:
/* 80302F54 002FEBB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80302F58 002FEBB8 80 6D 8C 90 */ lwz r3, lbl_8063DF50-_SDA_BASE_(r13)
/* 80302F5C 002FEBBC 7C 08 03 A6 */ mtlr r0
/* 80302F60 002FEBC0 38 21 00 10 */ addi r1, r1, 0x10
/* 80302F64 002FEBC4 4E 80 00 20 */ blr
.global func_80302F68
func_80302F68:
/* 80302F68 002FEBC8 80 CD AF 88 */ lwz r6, lbl_80640248-_SDA_BASE_(r13)
/* 80302F6C 002FEBCC 80 66 00 00 */ lwz r3, 0(r6)
/* 80302F70 002FEBD0 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 80302F74 002FEBD4 28 00 43 66 */ cmplwi r0, 0x4366
/* 80302F78 002FEBD8 41 82 00 0C */ beq lbl_80302F84
/* 80302F7C 002FEBDC 38 60 FF F2 */ li r3, -14
/* 80302F80 002FEBE0 4E 80 00 20 */ blr
lbl_80302F84:
/* 80302F84 002FEBE4 38 00 00 1F */ li r0, 0x1f
/* 80302F88 002FEBE8 7C C4 33 78 */ mr r4, r6
/* 80302F8C 002FEBEC 38 A0 00 00 */ li r5, 0
/* 80302F90 002FEBF0 7C 09 03 A6 */ mtctr r0
lbl_80302F94:
/* 80302F94 002FEBF4 80 64 00 00 */ lwz r3, 0(r4)
/* 80302F98 002FEBF8 80 04 00 04 */ lwz r0, 4(r4)
/* 80302F9C 002FEBFC 7C A5 1A 14 */ add r5, r5, r3
/* 80302FA0 002FEC00 80 64 00 08 */ lwz r3, 8(r4)
/* 80302FA4 002FEC04 7C A5 02 14 */ add r5, r5, r0
/* 80302FA8 002FEC08 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80302FAC 002FEC0C 7C A5 1A 14 */ add r5, r5, r3
/* 80302FB0 002FEC10 80 64 00 10 */ lwz r3, 0x10(r4)
/* 80302FB4 002FEC14 7C A5 02 14 */ add r5, r5, r0
/* 80302FB8 002FEC18 80 04 00 14 */ lwz r0, 0x14(r4)
/* 80302FBC 002FEC1C 7C A5 1A 14 */ add r5, r5, r3
/* 80302FC0 002FEC20 80 64 00 18 */ lwz r3, 0x18(r4)
/* 80302FC4 002FEC24 7C A5 02 14 */ add r5, r5, r0
/* 80302FC8 002FEC28 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80302FCC 002FEC2C 7C A5 1A 14 */ add r5, r5, r3
/* 80302FD0 002FEC30 38 84 00 20 */ addi r4, r4, 0x20
/* 80302FD4 002FEC34 7C A5 02 14 */ add r5, r5, r0
/* 80302FD8 002FEC38 42 00 FF BC */ bdnz lbl_80302F94
/* 80302FDC 002FEC3C 80 64 00 00 */ lwz r3, 0(r4)
/* 80302FE0 002FEC40 80 04 00 04 */ lwz r0, 4(r4)
/* 80302FE4 002FEC44 7C A5 1A 14 */ add r5, r5, r3
/* 80302FE8 002FEC48 80 64 00 08 */ lwz r3, 8(r4)
/* 80302FEC 002FEC4C 7C A5 02 14 */ add r5, r5, r0
/* 80302FF0 002FEC50 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80302FF4 002FEC54 7C A5 1A 14 */ add r5, r5, r3
/* 80302FF8 002FEC58 80 64 00 10 */ lwz r3, 0x10(r4)
/* 80302FFC 002FEC5C 7C A5 02 14 */ add r5, r5, r0
/* 80303000 002FEC60 80 04 00 14 */ lwz r0, 0x14(r4)
/* 80303004 002FEC64 7C A5 1A 14 */ add r5, r5, r3
/* 80303008 002FEC68 80 64 00 18 */ lwz r3, 0x18(r4)
/* 8030300C 002FEC6C 7C A5 02 14 */ add r5, r5, r0
/* 80303010 002FEC70 80 06 03 FC */ lwz r0, 0x3fc(r6)
/* 80303014 002FEC74 7C A5 1A 14 */ add r5, r5, r3
/* 80303018 002FEC78 7C 00 28 40 */ cmplw r0, r5
/* 8030301C 002FEC7C 41 82 00 0C */ beq lbl_80303028
/* 80303020 002FEC80 38 60 FF F2 */ li r3, -14
/* 80303024 002FEC84 4E 80 00 20 */ blr
lbl_80303028:
/* 80303028 002FEC88 80 06 00 10 */ lwz r0, 0x10(r6)
/* 8030302C 002FEC8C 28 00 00 20 */ cmplwi r0, 0x20
/* 80303030 002FEC90 41 80 00 0C */ blt lbl_8030303C
/* 80303034 002FEC94 38 60 FF F2 */ li r3, -14
/* 80303038 002FEC98 4E 80 00 20 */ blr
lbl_8030303C:
/* 8030303C 002FEC9C 80 06 00 04 */ lwz r0, 4(r6)
/* 80303040 002FECA0 38 60 00 00 */ li r3, 0
/* 80303044 002FECA4 28 00 00 08 */ cmplwi r0, 8
/* 80303048 002FECA8 4D 82 00 20 */ beqlr
/* 8030304C 002FECAC 38 60 FF E5 */ li r3, -27
/* 80303050 002FECB0 4E 80 00 20 */ blr
.global func_80303054
func_80303054:
/* 80303054 002FECB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303058 002FECB8 7C 08 02 A6 */ mflr r0
/* 8030305C 002FECBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303060 002FECC0 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13)
/* 80303064 002FECC4 2C 00 00 00 */ cmpwi r0, 0
/* 80303068 002FECC8 40 82 00 14 */ bne lbl_8030307C
/* 8030306C 002FECCC 80 6D 8C A0 */ lwz r3, lbl_8063DF60-_SDA_BASE_(r13)
/* 80303070 002FECD0 4B F6 65 E1 */ bl OSRegisterVersion
/* 80303074 002FECD4 38 00 00 01 */ li r0, 1
/* 80303078 002FECD8 90 0D AF A0 */ stw r0, lbl_80640260-_SDA_BASE_(r13)
lbl_8030307C:
/* 8030307C 002FECDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303080 002FECE0 7C 08 03 A6 */ mtlr r0
/* 80303084 002FECE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80303088 002FECE8 4E 80 00 20 */ blr
.global func_8030308C
func_8030308C:
/* 8030308C 002FECEC 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
/* 80303090 002FECF0 2C 00 00 02 */ cmpwi r0, 2
/* 80303094 002FECF4 40 82 00 0C */ bne lbl_803030A0
/* 80303098 002FECF8 38 60 FF E6 */ li r3, -26
/* 8030309C 002FECFC 4E 80 00 20 */ blr
lbl_803030A0:
/* 803030A0 002FED00 38 80 00 01 */ li r4, 1
/* 803030A4 002FED04 48 00 00 08 */ b lbl_803030AC
/* 803030A8 002FED08 4E 80 00 20 */ blr
lbl_803030AC:
/* 803030AC 002FED0C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803030B0 002FED10 7C 08 02 A6 */ mflr r0
/* 803030B4 002FED14 90 01 00 24 */ stw r0, 0x24(r1)
/* 803030B8 002FED18 38 00 00 00 */ li r0, 0
/* 803030BC 002FED1C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803030C0 002FED20 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803030C4 002FED24 7C 7E 1B 78 */ mr r30, r3
/* 803030C8 002FED28 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803030CC 002FED2C 7C 9D 23 78 */ mr r29, r4
/* 803030D0 002FED30 90 0D AF 9C */ stw r0, lbl_8064025C-_SDA_BASE_(r13)
/* 803030D4 002FED34 48 01 73 CD */ bl func_8031A4A0
/* 803030D8 002FED38 2C 03 00 00 */ cmpwi r3, 0
/* 803030DC 002FED3C 40 82 00 0C */ bne lbl_803030E8
/* 803030E0 002FED40 38 60 FF FF */ li r3, -1
/* 803030E4 002FED44 48 00 01 78 */ b lbl_8030325C
lbl_803030E8:
/* 803030E8 002FED48 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
/* 803030EC 002FED4C 2C 00 00 01 */ cmpwi r0, 1
/* 803030F0 002FED50 40 82 00 0C */ bne lbl_803030FC
/* 803030F4 002FED54 38 60 FF F6 */ li r3, -10
/* 803030F8 002FED58 48 00 01 64 */ b lbl_8030325C
lbl_803030FC:
/* 803030FC 002FED5C 2C 00 00 03 */ cmpwi r0, 3
/* 80303100 002FED60 40 82 00 0C */ bne lbl_8030310C
/* 80303104 002FED64 38 60 FF E6 */ li r3, -26
/* 80303108 002FED68 48 00 01 54 */ b lbl_8030325C
lbl_8030310C:
/* 8030310C 002FED6C 2C 1E 00 00 */ cmpwi r30, 0
/* 80303110 002FED70 40 82 00 0C */ bne lbl_8030311C
/* 80303114 002FED74 38 60 FF FB */ li r3, -5
/* 80303118 002FED78 48 00 01 44 */ b lbl_8030325C
lbl_8030311C:
/* 8030311C 002FED7C 57 C0 06 FF */ clrlwi. r0, r30, 0x1b
/* 80303120 002FED80 41 82 00 0C */ beq lbl_8030312C
/* 80303124 002FED84 38 60 FF E9 */ li r3, -23
/* 80303128 002FED88 48 00 01 34 */ b lbl_8030325C
lbl_8030312C:
/* 8030312C 002FED8C 48 00 0C 85 */ bl func_80303DB0
/* 80303130 002FED90 2C 03 00 00 */ cmpwi r3, 0
/* 80303134 002FED94 40 82 00 F8 */ bne lbl_8030322C
/* 80303138 002FED98 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13)
/* 8030313C 002FED9C 2C 00 00 00 */ cmpwi r0, 0
/* 80303140 002FEDA0 40 82 00 14 */ bne lbl_80303154
/* 80303144 002FEDA4 80 6D 8C A0 */ lwz r3, lbl_8063DF60-_SDA_BASE_(r13)
/* 80303148 002FEDA8 4B F6 65 09 */ bl OSRegisterVersion
/* 8030314C 002FEDAC 38 00 00 01 */ li r0, 1
/* 80303150 002FEDB0 90 0D AF A0 */ stw r0, lbl_80640260-_SDA_BASE_(r13)
lbl_80303154:
/* 80303154 002FEDB4 80 0D AF 98 */ lwz r0, lbl_80640258-_SDA_BASE_(r13)
/* 80303158 002FEDB8 38 7E 13 00 */ addi r3, r30, 0x1300
/* 8030315C 002FEDBC 93 CD AF 90 */ stw r30, lbl_80640250-_SDA_BASE_(r13)
/* 80303160 002FEDC0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80303164 002FEDC4 90 0D AF 98 */ stw r0, lbl_80640258-_SDA_BASE_(r13)
/* 80303168 002FEDC8 48 00 05 AD */ bl func_80303714
/* 8030316C 002FEDCC 3B C0 00 00 */ li r30, 0
/* 80303170 002FEDD0 3B E0 00 00 */ li r31, 0
/* 80303174 002FEDD4 4B FF FA F9 */ bl func_80302C6C
/* 80303178 002FEDD8 2C 03 00 00 */ cmpwi r3, 0
/* 8030317C 002FEDDC 41 82 00 0C */ beq lbl_80303188
/* 80303180 002FEDE0 7C 7F 1B 78 */ mr r31, r3
/* 80303184 002FEDE4 63 DE 00 04 */ ori r30, r30, 4
lbl_80303188:
/* 80303188 002FEDE8 48 00 02 25 */ bl func_803033AC
/* 8030318C 002FEDEC 2C 03 00 00 */ cmpwi r3, 0
/* 80303190 002FEDF0 41 82 00 0C */ beq lbl_8030319C
/* 80303194 002FEDF4 7C 7F 1B 78 */ mr r31, r3
/* 80303198 002FEDF8 63 DE 00 04 */ ori r30, r30, 4
lbl_8030319C:
/* 8030319C 002FEDFC 48 00 10 CD */ bl func_80304268
/* 803031A0 002FEE00 2C 03 00 00 */ cmpwi r3, 0
/* 803031A4 002FEE04 41 82 00 0C */ beq lbl_803031B0
/* 803031A8 002FEE08 7C 7F 1B 78 */ mr r31, r3
/* 803031AC 002FEE0C 63 DE 00 04 */ ori r30, r30, 4
lbl_803031B0:
/* 803031B0 002FEE10 48 00 11 D5 */ bl func_80304384
/* 803031B4 002FEE14 2C 03 00 00 */ cmpwi r3, 0
/* 803031B8 002FEE18 41 82 00 1C */ beq lbl_803031D4
/* 803031BC 002FEE1C 2C 03 FF EC */ cmpwi r3, -20
/* 803031C0 002FEE20 7C 7F 1B 78 */ mr r31, r3
/* 803031C4 002FEE24 63 C0 00 01 */ ori r0, r30, 1
/* 803031C8 002FEE28 40 82 00 08 */ bne lbl_803031D0
/* 803031CC 002FEE2C 63 C0 00 04 */ ori r0, r30, 4
lbl_803031D0:
/* 803031D0 002FEE30 7C 1E 03 78 */ mr r30, r0
lbl_803031D4:
/* 803031D4 002FEE34 48 00 16 1D */ bl func_803047F0
/* 803031D8 002FEE38 2C 03 00 00 */ cmpwi r3, 0
/* 803031DC 002FEE3C 40 80 00 1C */ bge lbl_803031F8
/* 803031E0 002FEE40 2C 03 FF EC */ cmpwi r3, -20
/* 803031E4 002FEE44 7C 7F 1B 78 */ mr r31, r3
/* 803031E8 002FEE48 63 C0 00 02 */ ori r0, r30, 2
/* 803031EC 002FEE4C 40 82 00 08 */ bne lbl_803031F4
/* 803031F0 002FEE50 63 C0 00 04 */ ori r0, r30, 4
lbl_803031F4:
/* 803031F4 002FEE54 7C 1E 03 78 */ mr r30, r0
lbl_803031F8:
/* 803031F8 002FEE58 28 1E 00 03 */ cmplwi r30, 3
/* 803031FC 002FEE5C 40 82 00 08 */ bne lbl_80303204
/* 80303200 002FEE60 3B E0 FF CF */ li r31, -49
lbl_80303204:
/* 80303204 002FEE64 2C 1E 00 00 */ cmpwi r30, 0
/* 80303208 002FEE68 41 82 00 18 */ beq lbl_80303220
/* 8030320C 002FEE6C 38 00 00 00 */ li r0, 0
/* 80303210 002FEE70 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13)
/* 80303214 002FEE74 48 00 0C 7D */ bl func_80303E90
/* 80303218 002FEE78 7F E3 FB 78 */ mr r3, r31
/* 8030321C 002FEE7C 48 00 00 10 */ b lbl_8030322C
lbl_80303220:
/* 80303220 002FEE80 93 AD AF 94 */ stw r29, lbl_80640254-_SDA_BASE_(r13)
/* 80303224 002FEE84 38 60 00 00 */ li r3, 0
/* 80303228 002FEE88 48 00 00 34 */ b lbl_8030325C
lbl_8030322C:
/* 8030322C 002FEE8C 38 03 00 31 */ addi r0, r3, 0x31
/* 80303230 002FEE90 28 00 00 30 */ cmplwi r0, 0x30
/* 80303234 002FEE94 41 81 00 28 */ bgt lbl_8030325C
/* 80303238 002FEE98 3C 80 80 44 */ lis r4, lbl_804463BC@ha
/* 8030323C 002FEE9C 54 00 10 3A */ slwi r0, r0, 2
/* 80303240 002FEEA0 38 84 63 BC */ addi r4, r4, lbl_804463BC@l
/* 80303244 002FEEA4 7C 84 00 2E */ lwzx r4, r4, r0
/* 80303248 002FEEA8 7C 89 03 A6 */ mtctr r4
/* 8030324C 002FEEAC 4E 80 04 20 */ bctr
/* 80303250 002FEEB0 3C 83 FF FE */ addis r4, r3, 0xfffe
/* 80303254 002FEEB4 38 04 56 38 */ addi r0, r4, 0x5638
/* 80303258 002FEEB8 90 0D AF 9C */ stw r0, lbl_8064025C-_SDA_BASE_(r13)
lbl_8030325C:
/* 8030325C 002FEEBC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80303260 002FEEC0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80303264 002FEEC4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80303268 002FEEC8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8030326C 002FEECC 7C 08 03 A6 */ mtlr r0
/* 80303270 002FEED0 38 21 00 20 */ addi r1, r1, 0x20
/* 80303274 002FEED4 4E 80 00 20 */ blr
.global func_80303278
func_80303278:
/* 80303278 002FEED8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030327C 002FEEDC 7C 08 02 A6 */ mflr r0
/* 80303280 002FEEE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303284 002FEEE4 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
/* 80303288 002FEEE8 2C 00 00 01 */ cmpwi r0, 1
/* 8030328C 002FEEEC 41 82 00 0C */ beq lbl_80303298
/* 80303290 002FEEF0 38 60 FF F7 */ li r3, -9
/* 80303294 002FEEF4 48 00 00 40 */ b lbl_803032D4
lbl_80303298:
/* 80303298 002FEEF8 4B FF FA E1 */ bl func_80302D78
/* 8030329C 002FEEFC 2C 03 00 00 */ cmpwi r3, 0
/* 803032A0 002FEF00 41 82 00 08 */ beq lbl_803032A8
/* 803032A4 002FEF04 48 00 00 30 */ b lbl_803032D4
lbl_803032A8:
/* 803032A8 002FEF08 48 00 15 95 */ bl func_8030483C
/* 803032AC 002FEF0C 2C 03 00 00 */ cmpwi r3, 0
/* 803032B0 002FEF10 40 80 00 08 */ bge lbl_803032B8
/* 803032B4 002FEF14 48 00 00 20 */ b lbl_803032D4
lbl_803032B8:
/* 803032B8 002FEF18 48 00 0B D9 */ bl func_80303E90
/* 803032BC 002FEF1C 2C 03 00 00 */ cmpwi r3, 0
/* 803032C0 002FEF20 41 82 00 08 */ beq lbl_803032C8
/* 803032C4 002FEF24 48 00 00 10 */ b lbl_803032D4
lbl_803032C8:
/* 803032C8 002FEF28 38 00 00 00 */ li r0, 0
/* 803032CC 002FEF2C 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13)
/* 803032D0 002FEF30 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13)
lbl_803032D4:
/* 803032D4 002FEF34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803032D8 002FEF38 7C 08 03 A6 */ mtlr r0
/* 803032DC 002FEF3C 38 21 00 10 */ addi r1, r1, 0x10
/* 803032E0 002FEF40 4E 80 00 20 */ blr
.global func_803032E4
func_803032E4:
/* 803032E4 002FEF44 80 6D AF 94 */ lwz r3, lbl_80640254-_SDA_BASE_(r13)
/* 803032E8 002FEF48 38 03 FF FF */ addi r0, r3, -1
/* 803032EC 002FEF4C 7C 00 00 34 */ cntlzw r0, r0
/* 803032F0 002FEF50 54 03 D9 7E */ srwi r3, r0, 5
/* 803032F4 002FEF54 4E 80 00 20 */ blr
.global func_803032F8
func_803032F8:
/* 803032F8 002FEF58 80 6D AF 94 */ lwz r3, lbl_80640254-_SDA_BASE_(r13)
/* 803032FC 002FEF5C 38 03 FF FE */ addi r0, r3, -2
/* 80303300 002FEF60 7C 00 00 34 */ cntlzw r0, r0
/* 80303304 002FEF64 54 03 D9 7E */ srwi r3, r0, 5
/* 80303308 002FEF68 4E 80 00 20 */ blr
.global func_8030330C
func_8030330C:
/* 8030330C 002FEF6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303310 002FEF70 7C 08 02 A6 */ mflr r0
/* 80303314 002FEF74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303318 002FEF78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8030331C 002FEF7C 3B E0 00 00 */ li r31, 0
/* 80303320 002FEF80 93 C1 00 08 */ stw r30, 8(r1)
/* 80303324 002FEF84 7C 7E 1B 78 */ mr r30, r3
/* 80303328 002FEF88 4B F6 B4 35 */ bl OSDisableInterrupts
/* 8030332C 002FEF8C 2C 1E 00 00 */ cmpwi r30, 0
/* 80303330 002FEF90 41 82 00 34 */ beq lbl_80303364
/* 80303334 002FEF94 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
/* 80303338 002FEF98 2C 00 00 00 */ cmpwi r0, 0
/* 8030333C 002FEF9C 40 82 00 10 */ bne lbl_8030334C
/* 80303340 002FEFA0 38 00 00 03 */ li r0, 3
/* 80303344 002FEFA4 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13)
/* 80303348 002FEFA8 48 00 00 44 */ b lbl_8030338C
lbl_8030334C:
/* 8030334C 002FEFAC 2C 00 00 01 */ cmpwi r0, 1
/* 80303350 002FEFB0 40 82 00 0C */ bne lbl_8030335C
/* 80303354 002FEFB4 3B E0 FF F6 */ li r31, -10
/* 80303358 002FEFB8 48 00 00 34 */ b lbl_8030338C
lbl_8030335C:
/* 8030335C 002FEFBC 3B E0 FF E6 */ li r31, -26
/* 80303360 002FEFC0 48 00 00 2C */ b lbl_8030338C
lbl_80303364:
/* 80303364 002FEFC4 80 8D AF 94 */ lwz r4, lbl_80640254-_SDA_BASE_(r13)
/* 80303368 002FEFC8 38 04 FF FD */ addi r0, r4, -3
/* 8030336C 002FEFCC 7C 00 00 34 */ cntlzw r0, r0
/* 80303370 002FEFD0 54 04 D9 7F */ rlwinm. r4, r0, 0x1b, 5, 0x1f
/* 80303374 002FEFD4 41 82 00 0C */ beq lbl_80303380
/* 80303378 002FEFD8 38 00 00 00 */ li r0, 0
/* 8030337C 002FEFDC 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13)
lbl_80303380:
/* 80303380 002FEFE0 2C 04 00 00 */ cmpwi r4, 0
/* 80303384 002FEFE4 40 82 00 08 */ bne lbl_8030338C
/* 80303388 002FEFE8 3B E0 FF F7 */ li r31, -9
lbl_8030338C:
/* 8030338C 002FEFEC 4B F6 B3 F9 */ bl OSRestoreInterrupts
/* 80303390 002FEFF0 7F E3 FB 78 */ mr r3, r31
/* 80303394 002FEFF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303398 002FEFF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8030339C 002FEFFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803033A0 002FF000 7C 08 03 A6 */ mtlr r0
/* 803033A4 002FF004 38 21 00 10 */ addi r1, r1, 0x10
/* 803033A8 002FF008 4E 80 00 20 */ blr
.global func_803033AC
func_803033AC:
/* 803033AC 002FF00C 94 21 FE B0 */ stwu r1, -0x150(r1)
/* 803033B0 002FF010 7C 08 02 A6 */ mflr r0
/* 803033B4 002FF014 38 80 00 00 */ li r4, 0
/* 803033B8 002FF018 38 A0 00 80 */ li r5, 0x80
/* 803033BC 002FF01C 90 01 01 54 */ stw r0, 0x154(r1)
/* 803033C0 002FF020 93 E1 01 4C */ stw r31, 0x14c(r1)
/* 803033C4 002FF024 93 C1 01 48 */ stw r30, 0x148(r1)
/* 803033C8 002FF028 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 803033CC 002FF02C 3B C3 08 00 */ addi r30, r3, 0x800
/* 803033D0 002FF030 38 63 11 00 */ addi r3, r3, 0x1100
/* 803033D4 002FF034 4B FF DC 41 */ bl func_80301014
/* 803033D8 002FF038 38 81 00 08 */ addi r4, r1, 8
/* 803033DC 002FF03C 38 60 00 00 */ li r3, 0
/* 803033E0 002FF040 48 00 01 61 */ bl func_80303540
/* 803033E4 002FF044 2C 03 00 00 */ cmpwi r3, 0
/* 803033E8 002FF048 41 82 00 08 */ beq lbl_803033F0
/* 803033EC 002FF04C 48 00 01 3C */ b lbl_80303528
lbl_803033F0:
/* 803033F0 002FF050 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 803033F4 002FF054 38 80 00 00 */ li r4, 0
/* 803033F8 002FF058 38 A0 00 80 */ li r5, 0x80
/* 803033FC 002FF05C 38 63 11 80 */ addi r3, r3, 0x1180
/* 80303400 002FF060 4B FF DC 15 */ bl func_80301014
/* 80303404 002FF064 38 81 00 08 */ addi r4, r1, 8
/* 80303408 002FF068 38 60 00 01 */ li r3, 1
/* 8030340C 002FF06C 48 00 01 35 */ bl func_80303540
/* 80303410 002FF070 2C 03 00 00 */ cmpwi r3, 0
/* 80303414 002FF074 41 82 00 08 */ beq lbl_8030341C
/* 80303418 002FF078 48 00 01 10 */ b lbl_80303528
lbl_8030341C:
/* 8030341C 002FF07C 4B FF FA DD */ bl func_80302EF8
/* 80303420 002FF080 7C 7F 1B 78 */ mr r31, r3
/* 80303424 002FF084 38 80 00 40 */ li r4, 0x40
/* 80303428 002FF088 4B FF DB BD */ bl func_80300FE4
/* 8030342C 002FF08C 38 03 00 0E */ addi r0, r3, 0xe
/* 80303430 002FF090 2C 00 01 00 */ cmpwi r0, 0x100
/* 80303434 002FF094 40 81 00 0C */ ble lbl_80303440
/* 80303438 002FF098 38 60 FF F5 */ li r3, -11
/* 8030343C 002FF09C 48 00 00 24 */ b lbl_80303460
lbl_80303440:
/* 80303440 002FF0A0 3C C0 80 44 */ lis r6, lbl_804464A0@ha
/* 80303444 002FF0A4 7F C3 F3 78 */ mr r3, r30
/* 80303448 002FF0A8 7F E5 FB 78 */ mr r5, r31
/* 8030344C 002FF0AC 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
/* 80303450 002FF0B0 38 C6 64 A0 */ addi r6, r6, lbl_804464A0@l
/* 80303454 002FF0B4 4C C6 31 82 */ crclr 6
/* 80303458 002FF0B8 4B FF E1 A5 */ bl func_803015FC
/* 8030345C 002FF0BC 38 60 00 00 */ li r3, 0
lbl_80303460:
/* 80303460 002FF0C0 2C 03 00 00 */ cmpwi r3, 0
/* 80303464 002FF0C4 41 82 00 08 */ beq lbl_8030346C
/* 80303468 002FF0C8 48 00 00 C0 */ b lbl_80303528
lbl_8030346C:
/* 8030346C 002FF0CC 7F C4 F3 78 */ mr r4, r30
/* 80303470 002FF0D0 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80303474 002FF0D4 38 A0 00 02 */ li r5, 2
/* 80303478 002FF0D8 4B FF E6 D1 */ bl func_80301B48
/* 8030347C 002FF0DC 2C 03 00 00 */ cmpwi r3, 0
/* 80303480 002FF0E0 40 82 00 0C */ bne lbl_8030348C
/* 80303484 002FF0E4 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80303488 002FF0E8 4B FF EA 11 */ bl func_80301E98
lbl_8030348C:
/* 8030348C 002FF0EC 2C 03 00 00 */ cmpwi r3, 0
/* 80303490 002FF0F0 41 82 00 08 */ beq lbl_80303498
/* 80303494 002FF0F4 48 00 00 94 */ b lbl_80303528
lbl_80303498:
/* 80303498 002FF0F8 4B FF FA 61 */ bl func_80302EF8
/* 8030349C 002FF0FC 7C 7F 1B 78 */ mr r31, r3
/* 803034A0 002FF100 38 80 00 40 */ li r4, 0x40
/* 803034A4 002FF104 4B FF DB 41 */ bl func_80300FE4
/* 803034A8 002FF108 38 03 00 0E */ addi r0, r3, 0xe
/* 803034AC 002FF10C 2C 00 01 00 */ cmpwi r0, 0x100
/* 803034B0 002FF110 40 81 00 0C */ ble lbl_803034BC
/* 803034B4 002FF114 38 60 FF F5 */ li r3, -11
/* 803034B8 002FF118 48 00 00 24 */ b lbl_803034DC
lbl_803034BC:
/* 803034BC 002FF11C 3C C0 80 44 */ lis r6, lbl_804464B0@ha
/* 803034C0 002FF120 7F C3 F3 78 */ mr r3, r30
/* 803034C4 002FF124 7F E5 FB 78 */ mr r5, r31
/* 803034C8 002FF128 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
/* 803034CC 002FF12C 38 C6 64 B0 */ addi r6, r6, lbl_804464B0@l
/* 803034D0 002FF130 4C C6 31 82 */ crclr 6
/* 803034D4 002FF134 4B FF E1 29 */ bl func_803015FC
/* 803034D8 002FF138 38 60 00 00 */ li r3, 0
lbl_803034DC:
/* 803034DC 002FF13C 2C 03 00 00 */ cmpwi r3, 0
/* 803034E0 002FF140 41 82 00 08 */ beq lbl_803034E8
/* 803034E4 002FF144 48 00 00 44 */ b lbl_80303528
lbl_803034E8:
/* 803034E8 002FF148 7F C4 F3 78 */ mr r4, r30
/* 803034EC 002FF14C 38 61 00 0C */ addi r3, r1, 0xc
/* 803034F0 002FF150 38 A0 00 02 */ li r5, 2
/* 803034F4 002FF154 4B FF E6 55 */ bl func_80301B48
/* 803034F8 002FF158 2C 03 00 00 */ cmpwi r3, 0
/* 803034FC 002FF15C 40 82 00 0C */ bne lbl_80303508
/* 80303500 002FF160 38 61 00 0C */ addi r3, r1, 0xc
/* 80303504 002FF164 4B FF E9 95 */ bl func_80301E98
lbl_80303508:
/* 80303508 002FF168 2C 03 00 00 */ cmpwi r3, 0
/* 8030350C 002FF16C 41 82 00 08 */ beq lbl_80303514
/* 80303510 002FF170 48 00 00 18 */ b lbl_80303528
lbl_80303514:
/* 80303514 002FF174 38 00 00 00 */ li r0, 0
/* 80303518 002FF178 38 8D AF A8 */ addi r4, r13, lbl_80640268-_SDA_BASE_
/* 8030351C 002FF17C 90 0D AF A8 */ stw r0, lbl_80640268-_SDA_BASE_(r13)
/* 80303520 002FF180 38 60 00 00 */ li r3, 0
/* 80303524 002FF184 90 04 00 04 */ stw r0, 4(r4)
lbl_80303528:
/* 80303528 002FF188 80 01 01 54 */ lwz r0, 0x154(r1)
/* 8030352C 002FF18C 83 E1 01 4C */ lwz r31, 0x14c(r1)
/* 80303530 002FF190 83 C1 01 48 */ lwz r30, 0x148(r1)
/* 80303534 002FF194 7C 08 03 A6 */ mtlr r0
/* 80303538 002FF198 38 21 01 50 */ addi r1, r1, 0x150
/* 8030353C 002FF19C 4E 80 00 20 */ blr
.global func_80303540
func_80303540:
/* 80303540 002FF1A0 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 80303544 002FF1A4 7C 08 02 A6 */ mflr r0
/* 80303548 002FF1A8 2C 03 00 00 */ cmpwi r3, 0
/* 8030354C 002FF1AC 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 80303550 002FF1B0 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 80303554 002FF1B4 3B E0 00 00 */ li r31, 0
/* 80303558 002FF1B8 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 8030355C 002FF1BC 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 80303560 002FF1C0 7C 9D 23 78 */ mr r29, r4
/* 80303564 002FF1C4 93 81 00 B0 */ stw r28, 0xb0(r1)
/* 80303568 002FF1C8 7C 7C 1B 78 */ mr r28, r3
/* 8030356C 002FF1CC 40 82 00 14 */ bne lbl_80303580
/* 80303570 002FF1D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80303574 002FF1D4 38 03 11 00 */ addi r0, r3, 0x1100
/* 80303578 002FF1D8 90 04 00 00 */ stw r0, 0(r4)
/* 8030357C 002FF1DC 48 00 00 2C */ b lbl_803035A8
lbl_80303580:
/* 80303580 002FF1E0 2C 03 00 01 */ cmpwi r3, 1
/* 80303584 002FF1E4 40 82 00 14 */ bne lbl_80303598
/* 80303588 002FF1E8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 8030358C 002FF1EC 38 03 11 80 */ addi r0, r3, 0x1180
/* 80303590 002FF1F0 90 04 00 00 */ stw r0, 0(r4)
/* 80303594 002FF1F4 48 00 00 14 */ b lbl_803035A8
lbl_80303598:
/* 80303598 002FF1F8 38 00 00 00 */ li r0, 0
/* 8030359C 002FF1FC 38 60 FF FD */ li r3, -3
/* 803035A0 002FF200 90 04 00 00 */ stw r0, 0(r4)
/* 803035A4 002FF204 48 00 01 50 */ b lbl_803036F4
lbl_803035A8:
/* 803035A8 002FF208 80 64 00 00 */ lwz r3, 0(r4)
/* 803035AC 002FF20C 80 63 00 00 */ lwz r3, 0(r3)
/* 803035B0 002FF210 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 803035B4 002FF214 28 00 54 66 */ cmplwi r0, 0x5466
/* 803035B8 002FF218 41 82 01 24 */ beq lbl_803036DC
/* 803035BC 002FF21C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 803035C0 002FF220 3B C3 08 00 */ addi r30, r3, 0x800
/* 803035C4 002FF224 4B FF F9 35 */ bl func_80302EF8
/* 803035C8 002FF228 7C 7F 1B 78 */ mr r31, r3
/* 803035CC 002FF22C 38 80 00 40 */ li r4, 0x40
/* 803035D0 002FF230 4B FF DA 15 */ bl func_80300FE4
/* 803035D4 002FF234 38 03 00 0E */ addi r0, r3, 0xe
/* 803035D8 002FF238 2C 00 01 00 */ cmpwi r0, 0x100
/* 803035DC 002FF23C 40 81 00 0C */ ble lbl_803035E8
/* 803035E0 002FF240 38 60 FF F5 */ li r3, -11
/* 803035E4 002FF244 48 00 00 68 */ b lbl_8030364C
lbl_803035E8:
/* 803035E8 002FF248 2C 1C 00 01 */ cmpwi r28, 1
/* 803035EC 002FF24C 41 82 00 34 */ beq lbl_80303620
/* 803035F0 002FF250 40 80 00 50 */ bge lbl_80303640
/* 803035F4 002FF254 2C 1C 00 00 */ cmpwi r28, 0
/* 803035F8 002FF258 40 80 00 08 */ bge lbl_80303600
/* 803035FC 002FF25C 48 00 00 44 */ b lbl_80303640
lbl_80303600:
/* 80303600 002FF260 3C C0 80 44 */ lis r6, lbl_80446480@ha
/* 80303604 002FF264 7F C3 F3 78 */ mr r3, r30
/* 80303608 002FF268 7F E5 FB 78 */ mr r5, r31
/* 8030360C 002FF26C 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
/* 80303610 002FF270 38 C6 64 80 */ addi r6, r6, lbl_80446480@l
/* 80303614 002FF274 4C C6 31 82 */ crclr 6
/* 80303618 002FF278 4B FF DF E5 */ bl func_803015FC
/* 8030361C 002FF27C 48 00 00 2C */ b lbl_80303648
lbl_80303620:
/* 80303620 002FF280 3C C0 80 44 */ lis r6, lbl_80446490@ha
/* 80303624 002FF284 7F C3 F3 78 */ mr r3, r30
/* 80303628 002FF288 7F E5 FB 78 */ mr r5, r31
/* 8030362C 002FF28C 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
/* 80303630 002FF290 38 C6 64 90 */ addi r6, r6, lbl_80446490@l
/* 80303634 002FF294 4C C6 31 82 */ crclr 6
/* 80303638 002FF298 4B FF DF C5 */ bl func_803015FC
/* 8030363C 002FF29C 48 00 00 0C */ b lbl_80303648
lbl_80303640:
/* 80303640 002FF2A0 38 60 FF FD */ li r3, -3
/* 80303644 002FF2A4 48 00 00 08 */ b lbl_8030364C
lbl_80303648:
/* 80303648 002FF2A8 38 60 00 00 */ li r3, 0
lbl_8030364C:
/* 8030364C 002FF2AC 2C 03 00 00 */ cmpwi r3, 0
/* 80303650 002FF2B0 41 82 00 08 */ beq lbl_80303658
/* 80303654 002FF2B4 48 00 00 A0 */ b lbl_803036F4
lbl_80303658:
/* 80303658 002FF2B8 7F C4 F3 78 */ mr r4, r30
/* 8030365C 002FF2BC 38 61 00 08 */ addi r3, r1, 8
/* 80303660 002FF2C0 38 A0 00 02 */ li r5, 2
/* 80303664 002FF2C4 4B FF E4 E5 */ bl func_80301B48
/* 80303668 002FF2C8 2C 03 00 00 */ cmpwi r3, 0
/* 8030366C 002FF2CC 41 82 00 08 */ beq lbl_80303674
/* 80303670 002FF2D0 48 00 00 84 */ b lbl_803036F4
lbl_80303674:
/* 80303674 002FF2D4 83 FD 00 00 */ lwz r31, 0(r29)
/* 80303678 002FF2D8 38 61 00 08 */ addi r3, r1, 8
/* 8030367C 002FF2DC 38 80 00 00 */ li r4, 0
/* 80303680 002FF2E0 38 A0 00 00 */ li r5, 0
/* 80303684 002FF2E4 4B FF E9 A9 */ bl func_8030202C
/* 80303688 002FF2E8 7F E3 FB 78 */ mr r3, r31
/* 8030368C 002FF2EC 38 A1 00 08 */ addi r5, r1, 8
/* 80303690 002FF2F0 38 80 00 80 */ li r4, 0x80
/* 80303694 002FF2F4 4B FF EB 85 */ bl func_80302218
/* 80303698 002FF2F8 2C 03 00 00 */ cmpwi r3, 0
/* 8030369C 002FF2FC 41 82 00 0C */ beq lbl_803036A8
/* 803036A0 002FF300 7C 7F 1B 78 */ mr r31, r3
/* 803036A4 002FF304 48 00 00 1C */ b lbl_803036C0
lbl_803036A8:
/* 803036A8 002FF308 80 7F 00 00 */ lwz r3, 0(r31)
/* 803036AC 002FF30C 3B E0 00 00 */ li r31, 0
/* 803036B0 002FF310 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 803036B4 002FF314 28 00 54 66 */ cmplwi r0, 0x5466
/* 803036B8 002FF318 41 82 00 08 */ beq lbl_803036C0
/* 803036BC 002FF31C 3B E0 FF F2 */ li r31, -14
lbl_803036C0:
/* 803036C0 002FF320 38 61 00 08 */ addi r3, r1, 8
/* 803036C4 002FF324 4B FF E7 D5 */ bl func_80301E98
/* 803036C8 002FF328 2C 1F 00 00 */ cmpwi r31, 0
/* 803036CC 002FF32C 40 82 00 10 */ bne lbl_803036DC
/* 803036D0 002FF330 2C 03 00 00 */ cmpwi r3, 0
/* 803036D4 002FF334 41 82 00 08 */ beq lbl_803036DC
/* 803036D8 002FF338 7C 7F 1B 78 */ mr r31, r3
lbl_803036DC:
/* 803036DC 002FF33C 80 7D 00 00 */ lwz r3, 0(r29)
/* 803036E0 002FF340 80 03 00 04 */ lwz r0, 4(r3)
/* 803036E4 002FF344 28 00 00 04 */ cmplwi r0, 4
/* 803036E8 002FF348 41 82 00 08 */ beq lbl_803036F0
/* 803036EC 002FF34C 3B E0 FF E5 */ li r31, -27
lbl_803036F0:
/* 803036F0 002FF350 7F E3 FB 78 */ mr r3, r31
lbl_803036F4:
/* 803036F4 002FF354 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 803036F8 002FF358 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 803036FC 002FF35C 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 80303700 002FF360 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 80303704 002FF364 83 81 00 B0 */ lwz r28, 0xb0(r1)
/* 80303708 002FF368 7C 08 03 A6 */ mtlr r0
/* 8030370C 002FF36C 38 21 00 C0 */ addi r1, r1, 0xc0
/* 80303710 002FF370 4E 80 00 20 */ blr
.global func_80303714
func_80303714:
/* 80303714 002FF374 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80303718 002FF378 7C 08 02 A6 */ mflr r0
/* 8030371C 002FF37C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80303720 002FF380 39 61 00 30 */ addi r11, r1, 0x30
/* 80303724 002FF384 4B EC 39 FD */ bl _savegpr_25
/* 80303728 002FF388 38 00 00 08 */ li r0, 8
/* 8030372C 002FF38C 38 C0 00 00 */ li r6, 0
/* 80303730 002FF390 38 80 FF FF */ li r4, -1
/* 80303734 002FF394 7C 09 03 A6 */ mtctr r0
lbl_80303738:
/* 80303738 002FF398 7C 83 31 AE */ stbx r4, r3, r6
/* 8030373C 002FF39C 7C A3 32 14 */ add r5, r3, r6
/* 80303740 002FF3A0 38 C6 00 08 */ addi r6, r6, 8
/* 80303744 002FF3A4 98 85 00 01 */ stb r4, 1(r5)
/* 80303748 002FF3A8 98 85 00 02 */ stb r4, 2(r5)
/* 8030374C 002FF3AC 98 85 00 03 */ stb r4, 3(r5)
/* 80303750 002FF3B0 98 85 00 04 */ stb r4, 4(r5)
/* 80303754 002FF3B4 98 85 00 05 */ stb r4, 5(r5)
/* 80303758 002FF3B8 98 85 00 06 */ stb r4, 6(r5)
/* 8030375C 002FF3BC 98 85 00 07 */ stb r4, 7(r5)
/* 80303760 002FF3C0 7C A3 32 14 */ add r5, r3, r6
/* 80303764 002FF3C4 7C 83 31 AE */ stbx r4, r3, r6
/* 80303768 002FF3C8 38 C6 00 08 */ addi r6, r6, 8
/* 8030376C 002FF3CC 98 85 00 01 */ stb r4, 1(r5)
/* 80303770 002FF3D0 98 85 00 02 */ stb r4, 2(r5)
/* 80303774 002FF3D4 98 85 00 03 */ stb r4, 3(r5)
/* 80303778 002FF3D8 98 85 00 04 */ stb r4, 4(r5)
/* 8030377C 002FF3DC 98 85 00 05 */ stb r4, 5(r5)
/* 80303780 002FF3E0 98 85 00 06 */ stb r4, 6(r5)
/* 80303784 002FF3E4 98 85 00 07 */ stb r4, 7(r5)
/* 80303788 002FF3E8 7C A3 32 14 */ add r5, r3, r6
/* 8030378C 002FF3EC 7C 83 31 AE */ stbx r4, r3, r6
/* 80303790 002FF3F0 38 C6 00 08 */ addi r6, r6, 8
/* 80303794 002FF3F4 98 85 00 01 */ stb r4, 1(r5)
/* 80303798 002FF3F8 98 85 00 02 */ stb r4, 2(r5)
/* 8030379C 002FF3FC 98 85 00 03 */ stb r4, 3(r5)
/* 803037A0 002FF400 98 85 00 04 */ stb r4, 4(r5)
/* 803037A4 002FF404 98 85 00 05 */ stb r4, 5(r5)
/* 803037A8 002FF408 98 85 00 06 */ stb r4, 6(r5)
/* 803037AC 002FF40C 98 85 00 07 */ stb r4, 7(r5)
/* 803037B0 002FF410 7C A3 32 14 */ add r5, r3, r6
/* 803037B4 002FF414 7C 83 31 AE */ stbx r4, r3, r6
/* 803037B8 002FF418 38 C6 00 08 */ addi r6, r6, 8
/* 803037BC 002FF41C 98 85 00 01 */ stb r4, 1(r5)
/* 803037C0 002FF420 98 85 00 02 */ stb r4, 2(r5)
/* 803037C4 002FF424 98 85 00 03 */ stb r4, 3(r5)
/* 803037C8 002FF428 98 85 00 04 */ stb r4, 4(r5)
/* 803037CC 002FF42C 98 85 00 05 */ stb r4, 5(r5)
/* 803037D0 002FF430 98 85 00 06 */ stb r4, 6(r5)
/* 803037D4 002FF434 98 85 00 07 */ stb r4, 7(r5)
/* 803037D8 002FF438 42 00 FF 60 */ bdnz lbl_80303738
/* 803037DC 002FF43C 39 80 00 00 */ li r12, 0
/* 803037E0 002FF440 39 60 00 01 */ li r11, 1
/* 803037E4 002FF444 99 83 00 41 */ stb r12, 0x41(r3)
/* 803037E8 002FF448 39 40 00 02 */ li r10, 2
/* 803037EC 002FF44C 39 20 00 03 */ li r9, 3
/* 803037F0 002FF450 39 00 00 04 */ li r8, 4
/* 803037F4 002FF454 99 63 00 42 */ stb r11, 0x42(r3)
/* 803037F8 002FF458 38 E0 00 05 */ li r7, 5
/* 803037FC 002FF45C 38 C0 00 06 */ li r6, 6
/* 80303800 002FF460 38 A0 00 07 */ li r5, 7
/* 80303804 002FF464 99 43 00 43 */ stb r10, 0x43(r3)
/* 80303808 002FF468 39 80 00 08 */ li r12, 8
/* 8030380C 002FF46C 39 60 00 09 */ li r11, 9
/* 80303810 002FF470 39 40 00 0A */ li r10, 0xa
/* 80303814 002FF474 99 23 00 44 */ stb r9, 0x44(r3)
/* 80303818 002FF478 39 20 00 0B */ li r9, 0xb
/* 8030381C 002FF47C 38 80 00 18 */ li r4, 0x18
/* 80303820 002FF480 38 00 00 19 */ li r0, 0x19
/* 80303824 002FF484 99 03 00 45 */ stb r8, 0x45(r3)
/* 80303828 002FF488 39 00 00 0C */ li r8, 0xc
/* 8030382C 002FF48C 98 E3 00 46 */ stb r7, 0x46(r3)
/* 80303830 002FF490 38 E0 00 0D */ li r7, 0xd
/* 80303834 002FF494 98 C3 00 47 */ stb r6, 0x47(r3)
/* 80303838 002FF498 38 C0 00 0E */ li r6, 0xe
/* 8030383C 002FF49C 98 A3 00 48 */ stb r5, 0x48(r3)
/* 80303840 002FF4A0 38 A0 00 0F */ li r5, 0xf
/* 80303844 002FF4A4 99 83 00 49 */ stb r12, 0x49(r3)
/* 80303848 002FF4A8 39 80 00 10 */ li r12, 0x10
/* 8030384C 002FF4AC 99 63 00 4A */ stb r11, 0x4a(r3)
/* 80303850 002FF4B0 39 60 00 11 */ li r11, 0x11
/* 80303854 002FF4B4 99 43 00 4B */ stb r10, 0x4b(r3)
/* 80303858 002FF4B8 39 40 00 12 */ li r10, 0x12
/* 8030385C 002FF4BC 99 23 00 4C */ stb r9, 0x4c(r3)
/* 80303860 002FF4C0 39 20 00 13 */ li r9, 0x13
/* 80303864 002FF4C4 99 03 00 4D */ stb r8, 0x4d(r3)
/* 80303868 002FF4C8 39 00 00 14 */ li r8, 0x14
/* 8030386C 002FF4CC 98 E3 00 4E */ stb r7, 0x4e(r3)
/* 80303870 002FF4D0 38 E0 00 15 */ li r7, 0x15
/* 80303874 002FF4D4 98 C3 00 4F */ stb r6, 0x4f(r3)
/* 80303878 002FF4D8 38 C0 00 16 */ li r6, 0x16
/* 8030387C 002FF4DC 98 A3 00 50 */ stb r5, 0x50(r3)
/* 80303880 002FF4E0 38 A0 00 17 */ li r5, 0x17
/* 80303884 002FF4E4 99 83 00 51 */ stb r12, 0x51(r3)
/* 80303888 002FF4E8 99 63 00 52 */ stb r11, 0x52(r3)
/* 8030388C 002FF4EC 99 43 00 53 */ stb r10, 0x53(r3)
/* 80303890 002FF4F0 99 23 00 54 */ stb r9, 0x54(r3)
/* 80303894 002FF4F4 99 03 00 55 */ stb r8, 0x55(r3)
/* 80303898 002FF4F8 98 E3 00 56 */ stb r7, 0x56(r3)
/* 8030389C 002FF4FC 98 C3 00 57 */ stb r6, 0x57(r3)
/* 803038A0 002FF500 98 A3 00 58 */ stb r5, 0x58(r3)
/* 803038A4 002FF504 98 83 00 59 */ stb r4, 0x59(r3)
/* 803038A8 002FF508 98 03 00 5A */ stb r0, 0x5a(r3)
/* 803038AC 002FF50C 3B 20 00 1A */ li r25, 0x1a
/* 803038B0 002FF510 3B 40 00 1B */ li r26, 0x1b
/* 803038B4 002FF514 9B 23 00 61 */ stb r25, 0x61(r3)
/* 803038B8 002FF518 3B 60 00 1C */ li r27, 0x1c
/* 803038BC 002FF51C 3B 80 00 1D */ li r28, 0x1d
/* 803038C0 002FF520 3B A0 00 1E */ li r29, 0x1e
/* 803038C4 002FF524 9B 43 00 62 */ stb r26, 0x62(r3)
/* 803038C8 002FF528 3B C0 00 1F */ li r30, 0x1f
/* 803038CC 002FF52C 3B E0 00 20 */ li r31, 0x20
/* 803038D0 002FF530 39 80 00 21 */ li r12, 0x21
/* 803038D4 002FF534 9B 63 00 63 */ stb r27, 0x63(r3)
/* 803038D8 002FF538 3B 20 00 22 */ li r25, 0x22
/* 803038DC 002FF53C 3B 40 00 23 */ li r26, 0x23
/* 803038E0 002FF540 3B 60 00 24 */ li r27, 0x24
/* 803038E4 002FF544 9B 83 00 64 */ stb r28, 0x64(r3)
/* 803038E8 002FF548 3B 80 00 25 */ li r28, 0x25
/* 803038EC 002FF54C 39 60 00 32 */ li r11, 0x32
/* 803038F0 002FF550 39 40 00 33 */ li r10, 0x33
/* 803038F4 002FF554 9B A3 00 65 */ stb r29, 0x65(r3)
/* 803038F8 002FF558 3B A0 00 26 */ li r29, 0x26
/* 803038FC 002FF55C 39 20 00 34 */ li r9, 0x34
/* 80303900 002FF560 39 00 00 35 */ li r8, 0x35
/* 80303904 002FF564 9B C3 00 66 */ stb r30, 0x66(r3)
/* 80303908 002FF568 3B C0 00 27 */ li r30, 0x27
/* 8030390C 002FF56C 38 E0 00 36 */ li r7, 0x36
/* 80303910 002FF570 38 C0 00 37 */ li r6, 0x37
/* 80303914 002FF574 9B E3 00 67 */ stb r31, 0x67(r3)
/* 80303918 002FF578 3B E0 00 28 */ li r31, 0x28
/* 8030391C 002FF57C 38 A0 00 38 */ li r5, 0x38
/* 80303920 002FF580 38 80 00 3E */ li r4, 0x3e
/* 80303924 002FF584 99 83 00 68 */ stb r12, 0x68(r3)
/* 80303928 002FF588 39 80 00 29 */ li r12, 0x29
/* 8030392C 002FF58C 38 00 00 3F */ li r0, 0x3f
/* 80303930 002FF590 9B 23 00 69 */ stb r25, 0x69(r3)
/* 80303934 002FF594 3B 20 00 2A */ li r25, 0x2a
/* 80303938 002FF598 9B 43 00 6A */ stb r26, 0x6a(r3)
/* 8030393C 002FF59C 3B 40 00 2B */ li r26, 0x2b
/* 80303940 002FF5A0 9B 63 00 6B */ stb r27, 0x6b(r3)
/* 80303944 002FF5A4 3B 60 00 2C */ li r27, 0x2c
/* 80303948 002FF5A8 9B 83 00 6C */ stb r28, 0x6c(r3)
/* 8030394C 002FF5AC 3B 80 00 2D */ li r28, 0x2d
/* 80303950 002FF5B0 9B A3 00 6D */ stb r29, 0x6d(r3)
/* 80303954 002FF5B4 3B A0 00 2E */ li r29, 0x2e
/* 80303958 002FF5B8 9B C3 00 6E */ stb r30, 0x6e(r3)
/* 8030395C 002FF5BC 3B C0 00 2F */ li r30, 0x2f
/* 80303960 002FF5C0 9B E3 00 6F */ stb r31, 0x6f(r3)
/* 80303964 002FF5C4 3B E0 00 30 */ li r31, 0x30
/* 80303968 002FF5C8 99 83 00 70 */ stb r12, 0x70(r3)
/* 8030396C 002FF5CC 39 80 00 31 */ li r12, 0x31
/* 80303970 002FF5D0 9B 23 00 71 */ stb r25, 0x71(r3)
/* 80303974 002FF5D4 9B 43 00 72 */ stb r26, 0x72(r3)
/* 80303978 002FF5D8 9B 63 00 73 */ stb r27, 0x73(r3)
/* 8030397C 002FF5DC 9B 83 00 74 */ stb r28, 0x74(r3)
/* 80303980 002FF5E0 9B A3 00 75 */ stb r29, 0x75(r3)
/* 80303984 002FF5E4 9B C3 00 76 */ stb r30, 0x76(r3)
/* 80303988 002FF5E8 9B E3 00 77 */ stb r31, 0x77(r3)
/* 8030398C 002FF5EC 99 83 00 78 */ stb r12, 0x78(r3)
/* 80303990 002FF5F0 99 63 00 79 */ stb r11, 0x79(r3)
/* 80303994 002FF5F4 39 61 00 30 */ addi r11, r1, 0x30
/* 80303998 002FF5F8 99 43 00 7A */ stb r10, 0x7a(r3)
/* 8030399C 002FF5FC 99 23 00 30 */ stb r9, 0x30(r3)
/* 803039A0 002FF600 39 20 00 39 */ li r9, 0x39
/* 803039A4 002FF604 99 03 00 31 */ stb r8, 0x31(r3)
/* 803039A8 002FF608 39 00 00 3A */ li r8, 0x3a
/* 803039AC 002FF60C 98 E3 00 32 */ stb r7, 0x32(r3)
/* 803039B0 002FF610 38 E0 00 3B */ li r7, 0x3b
/* 803039B4 002FF614 98 C3 00 33 */ stb r6, 0x33(r3)
/* 803039B8 002FF618 38 C0 00 3C */ li r6, 0x3c
/* 803039BC 002FF61C 98 A3 00 34 */ stb r5, 0x34(r3)
/* 803039C0 002FF620 38 A0 00 3D */ li r5, 0x3d
/* 803039C4 002FF624 99 23 00 35 */ stb r9, 0x35(r3)
/* 803039C8 002FF628 99 03 00 36 */ stb r8, 0x36(r3)
/* 803039CC 002FF62C 98 E3 00 37 */ stb r7, 0x37(r3)
/* 803039D0 002FF630 98 C3 00 38 */ stb r6, 0x38(r3)
/* 803039D4 002FF634 98 A3 00 39 */ stb r5, 0x39(r3)
/* 803039D8 002FF638 98 83 00 2B */ stb r4, 0x2b(r3)
/* 803039DC 002FF63C 98 03 00 2F */ stb r0, 0x2f(r3)
/* 803039E0 002FF640 4B EC 37 8D */ bl _restgpr_25
/* 803039E4 002FF644 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803039E8 002FF648 7C 08 03 A6 */ mtlr r0
/* 803039EC 002FF64C 38 21 00 30 */ addi r1, r1, 0x30
/* 803039F0 002FF650 4E 80 00 20 */ blr
.global func_803039F4
func_803039F4:
/* 803039F4 002FF654 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803039F8 002FF658 7C 08 02 A6 */ mflr r0
/* 803039FC 002FF65C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303A00 002FF660 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303A04 002FF664 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303A08 002FF668 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303A0C 002FF66C 93 C1 00 08 */ stw r30, 8(r1)
/* 80303A10 002FF670 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303A14 002FF674 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303A18 002FF678 40 82 00 5C */ bne lbl_80303A74
/* 80303A1C 002FF67C 4B F6 AD 41 */ bl OSDisableInterrupts
/* 80303A20 002FF680 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303A24 002FF684 7C 7E 1B 78 */ mr r30, r3
/* 80303A28 002FF688 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303A2C 002FF68C 40 82 00 40 */ bne lbl_80303A6C
/* 80303A30 002FF690 38 7F 00 00 */ addi r3, r31, 0
/* 80303A34 002FF694 4B F6 BE DD */ bl OSInitMutex
/* 80303A38 002FF698 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303A3C 002FF69C 4B F6 BE D5 */ bl OSInitMutex
/* 80303A40 002FF6A0 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303A44 002FF6A4 38 80 00 00 */ li r4, 0
/* 80303A48 002FF6A8 38 A0 00 20 */ li r5, 0x20
/* 80303A4C 002FF6AC 4B D0 06 B9 */ bl memset
/* 80303A50 002FF6B0 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303A54 002FF6B4 38 80 00 00 */ li r4, 0
/* 80303A58 002FF6B8 38 A0 00 20 */ li r5, 0x20
/* 80303A5C 002FF6BC 4B D0 06 A9 */ bl memset
/* 80303A60 002FF6C0 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303A64 002FF6C4 60 00 00 01 */ ori r0, r0, 1
/* 80303A68 002FF6C8 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303A6C:
/* 80303A6C 002FF6CC 7F C3 F3 78 */ mr r3, r30
/* 80303A70 002FF6D0 4B F6 AD 15 */ bl OSRestoreInterrupts
lbl_80303A74:
/* 80303A74 002FF6D4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303A78 002FF6D8 4B F6 BE D1 */ bl OSLockMutex
/* 80303A7C 002FF6DC 48 00 04 E1 */ bl func_80303F5C
/* 80303A80 002FF6E0 2C 03 00 00 */ cmpwi r3, 0
/* 80303A84 002FF6E4 7C 7E 1B 78 */ mr r30, r3
/* 80303A88 002FF6E8 41 80 00 18 */ blt lbl_80303AA0
/* 80303A8C 002FF6EC 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303A90 002FF6F0 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
/* 80303A94 002FF6F4 38 84 00 01 */ addi r4, r4, 1
/* 80303A98 002FF6F8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303A9C 002FF6FC 7F C0 18 50 */ subf r30, r0, r3
lbl_80303AA0:
/* 80303AA0 002FF700 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303AA4 002FF704 4B F6 BF 81 */ bl OSUnlockMutex
/* 80303AA8 002FF708 7F C3 F3 78 */ mr r3, r30
/* 80303AAC 002FF70C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303AB0 002FF710 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303AB4 002FF714 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303AB8 002FF718 7C 08 03 A6 */ mtlr r0
/* 80303ABC 002FF71C 38 21 00 10 */ addi r1, r1, 0x10
/* 80303AC0 002FF720 4E 80 00 20 */ blr
.global func_80303AC4
func_80303AC4:
/* 80303AC4 002FF724 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303AC8 002FF728 7C 08 02 A6 */ mflr r0
/* 80303ACC 002FF72C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303AD0 002FF730 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303AD4 002FF734 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303AD8 002FF738 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303ADC 002FF73C 93 C1 00 08 */ stw r30, 8(r1)
/* 80303AE0 002FF740 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303AE4 002FF744 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303AE8 002FF748 40 82 00 5C */ bne lbl_80303B44
/* 80303AEC 002FF74C 4B F6 AC 71 */ bl OSDisableInterrupts
/* 80303AF0 002FF750 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303AF4 002FF754 7C 7E 1B 78 */ mr r30, r3
/* 80303AF8 002FF758 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303AFC 002FF75C 40 82 00 40 */ bne lbl_80303B3C
/* 80303B00 002FF760 38 7F 00 00 */ addi r3, r31, 0
/* 80303B04 002FF764 4B F6 BE 0D */ bl OSInitMutex
/* 80303B08 002FF768 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303B0C 002FF76C 4B F6 BE 05 */ bl OSInitMutex
/* 80303B10 002FF770 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303B14 002FF774 38 80 00 00 */ li r4, 0
/* 80303B18 002FF778 38 A0 00 20 */ li r5, 0x20
/* 80303B1C 002FF77C 4B D0 05 E9 */ bl memset
/* 80303B20 002FF780 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303B24 002FF784 38 80 00 00 */ li r4, 0
/* 80303B28 002FF788 38 A0 00 20 */ li r5, 0x20
/* 80303B2C 002FF78C 4B D0 05 D9 */ bl memset
/* 80303B30 002FF790 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303B34 002FF794 60 00 00 01 */ ori r0, r0, 1
/* 80303B38 002FF798 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303B3C:
/* 80303B3C 002FF79C 7F C3 F3 78 */ mr r3, r30
/* 80303B40 002FF7A0 4B F6 AC 45 */ bl OSRestoreInterrupts
lbl_80303B44:
/* 80303B44 002FF7A4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303B48 002FF7A8 4B F6 BE 01 */ bl OSLockMutex
/* 80303B4C 002FF7AC 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
/* 80303B50 002FF7B0 2C 00 00 00 */ cmpwi r0, 0
/* 80303B54 002FF7B4 40 81 00 18 */ ble lbl_80303B6C
/* 80303B58 002FF7B8 80 0D AF B4 */ lwz r0, lbl_80640274-_SDA_BASE_(r13)
/* 80303B5C 002FF7BC 2C 00 00 00 */ cmpwi r0, 0
/* 80303B60 002FF7C0 40 82 00 0C */ bne lbl_80303B6C
/* 80303B64 002FF7C4 3B C0 00 00 */ li r30, 0
/* 80303B68 002FF7C8 48 00 00 28 */ b lbl_80303B90
lbl_80303B6C:
/* 80303B6C 002FF7CC 48 00 05 8D */ bl func_803040F8
/* 80303B70 002FF7D0 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303B74 002FF7D4 7C 7E 1B 78 */ mr r30, r3
/* 80303B78 002FF7D8 2C 04 00 00 */ cmpwi r4, 0
/* 80303B7C 002FF7DC 40 81 00 14 */ ble lbl_80303B90
/* 80303B80 002FF7E0 38 84 FF FF */ addi r4, r4, -1
/* 80303B84 002FF7E4 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
/* 80303B88 002FF7E8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303B8C 002FF7EC 7F C0 18 50 */ subf r30, r0, r3
lbl_80303B90:
/* 80303B90 002FF7F0 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303B94 002FF7F4 4B F6 BE 91 */ bl OSUnlockMutex
/* 80303B98 002FF7F8 7F C3 F3 78 */ mr r3, r30
/* 80303B9C 002FF7FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303BA0 002FF800 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303BA4 002FF804 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303BA8 002FF808 7C 08 03 A6 */ mtlr r0
/* 80303BAC 002FF80C 38 21 00 10 */ addi r1, r1, 0x10
/* 80303BB0 002FF810 4E 80 00 20 */ blr
.global func_80303BB4
func_80303BB4:
/* 80303BB4 002FF814 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80303BB8 002FF818 7C 08 02 A6 */ mflr r0
/* 80303BBC 002FF81C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80303BC0 002FF820 39 61 00 30 */ addi r11, r1, 0x30
/* 80303BC4 002FF824 4B EC 35 65 */ bl _savegpr_27
/* 80303BC8 002FF828 3F A0 80 58 */ lis r29, lbl_8057E7A0@ha
/* 80303BCC 002FF82C 7C 7B 1B 78 */ mr r27, r3
/* 80303BD0 002FF830 7C 9F 23 78 */ mr r31, r4
/* 80303BD4 002FF834 3B BD E7 A0 */ addi r29, r29, lbl_8057E7A0@l
/* 80303BD8 002FF838 4B F6 D7 21 */ bl OSGetCurrentThread
/* 80303BDC 002FF83C 2C 03 00 00 */ cmpwi r3, 0
/* 80303BE0 002FF840 40 82 00 0C */ bne lbl_80303BEC
/* 80303BE4 002FF844 38 60 FF FF */ li r3, -1
/* 80303BE8 002FF848 48 00 00 28 */ b lbl_80303C10
lbl_80303BEC:
/* 80303BEC 002FF84C 4B FF F6 F9 */ bl func_803032E4
/* 80303BF0 002FF850 2C 03 00 00 */ cmpwi r3, 0
/* 80303BF4 002FF854 40 82 00 10 */ bne lbl_80303C04
/* 80303BF8 002FF858 4B FF F7 01 */ bl func_803032F8
/* 80303BFC 002FF85C 2C 03 00 00 */ cmpwi r3, 0
/* 80303C00 002FF860 41 82 00 0C */ beq lbl_80303C0C
lbl_80303C04:
/* 80303C04 002FF864 38 60 FF F6 */ li r3, -10
/* 80303C08 002FF868 48 00 00 08 */ b lbl_80303C10
lbl_80303C0C:
/* 80303C0C 002FF86C 38 60 00 00 */ li r3, 0
lbl_80303C10:
/* 80303C10 002FF870 2C 03 00 00 */ cmpwi r3, 0
/* 80303C14 002FF874 40 80 00 08 */ bge lbl_80303C1C
/* 80303C18 002FF878 48 00 01 40 */ b lbl_80303D58
lbl_80303C1C:
/* 80303C1C 002FF87C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303C20 002FF880 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303C24 002FF884 40 82 00 5C */ bne lbl_80303C80
/* 80303C28 002FF888 4B F6 AB 35 */ bl OSDisableInterrupts
/* 80303C2C 002FF88C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303C30 002FF890 7C 7E 1B 78 */ mr r30, r3
/* 80303C34 002FF894 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303C38 002FF898 40 82 00 40 */ bne lbl_80303C78
/* 80303C3C 002FF89C 38 7D 00 00 */ addi r3, r29, 0
/* 80303C40 002FF8A0 4B F6 BC D1 */ bl OSInitMutex
/* 80303C44 002FF8A4 38 7D 00 18 */ addi r3, r29, 0x18
/* 80303C48 002FF8A8 4B F6 BC C9 */ bl OSInitMutex
/* 80303C4C 002FF8AC 38 7D 00 40 */ addi r3, r29, 0x40
/* 80303C50 002FF8B0 38 80 00 00 */ li r4, 0
/* 80303C54 002FF8B4 38 A0 00 20 */ li r5, 0x20
/* 80303C58 002FF8B8 4B D0 04 AD */ bl memset
/* 80303C5C 002FF8BC 38 7D 00 60 */ addi r3, r29, 0x60
/* 80303C60 002FF8C0 38 80 00 00 */ li r4, 0
/* 80303C64 002FF8C4 38 A0 00 20 */ li r5, 0x20
/* 80303C68 002FF8C8 4B D0 04 9D */ bl memset
/* 80303C6C 002FF8CC 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303C70 002FF8D0 60 00 00 01 */ ori r0, r0, 1
/* 80303C74 002FF8D4 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303C78:
/* 80303C78 002FF8D8 7F C3 F3 78 */ mr r3, r30
/* 80303C7C 002FF8DC 4B F6 AB 09 */ bl OSRestoreInterrupts
lbl_80303C80:
/* 80303C80 002FF8E0 38 7D 00 00 */ addi r3, r29, 0
/* 80303C84 002FF8E4 4B F6 BC C5 */ bl OSLockMutex
/* 80303C88 002FF8E8 3F C0 80 44 */ lis r30, lbl_804464D4@ha
/* 80303C8C 002FF8EC 3C 80 80 44 */ lis r4, lbl_804464C0@ha
/* 80303C90 002FF8F0 38 7E 64 D4 */ addi r3, r30, lbl_804464D4@l
/* 80303C94 002FF8F4 38 A1 00 08 */ addi r5, r1, 8
/* 80303C98 002FF8F8 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
/* 80303C9C 002FF8FC 38 C0 00 00 */ li r6, 0
/* 80303CA0 002FF900 48 00 09 DD */ bl func_8030467C
/* 80303CA4 002FF904 2C 03 00 00 */ cmpwi r3, 0
/* 80303CA8 002FF908 7C 7C 1B 78 */ mr r28, r3
/* 80303CAC 002FF90C 41 80 00 A0 */ blt lbl_80303D4C
/* 80303CB0 002FF910 80 81 00 08 */ lwz r4, 8(r1)
/* 80303CB4 002FF914 38 7E 64 D4 */ addi r3, r30, 0x64d4
/* 80303CB8 002FF918 39 1D 00 60 */ addi r8, r29, 0x60
/* 80303CBC 002FF91C 38 A0 00 0F */ li r5, 0xf
/* 80303CC0 002FF920 38 C0 00 00 */ li r6, 0
/* 80303CC4 002FF924 38 E0 00 00 */ li r7, 0
/* 80303CC8 002FF928 39 20 00 20 */ li r9, 0x20
/* 80303CCC 002FF92C 48 00 0A 5D */ bl func_80304728
/* 80303CD0 002FF930 2C 03 00 00 */ cmpwi r3, 0
/* 80303CD4 002FF934 7C 7C 1B 78 */ mr r28, r3
/* 80303CD8 002FF938 41 80 00 58 */ blt lbl_80303D30
/* 80303CDC 002FF93C 83 9D 00 60 */ lwz r28, 0x60(r29)
/* 80303CE0 002FF940 2C 1C 00 00 */ cmpwi r28, 0
/* 80303CE4 002FF944 41 82 00 14 */ beq lbl_80303CF8
/* 80303CE8 002FF948 2C 1C FF DD */ cmpwi r28, -35
/* 80303CEC 002FF94C 41 82 00 0C */ beq lbl_80303CF8
/* 80303CF0 002FF950 2C 1C FF DC */ cmpwi r28, -36
/* 80303CF4 002FF954 40 82 00 3C */ bne lbl_80303D30
lbl_80303CF8:
/* 80303CF8 002FF958 38 00 00 00 */ li r0, 0
/* 80303CFC 002FF95C 7C 1B 00 40 */ cmplw r27, r0
/* 80303D00 002FF960 41 82 00 18 */ beq lbl_80303D18
/* 80303D04 002FF964 38 7D 00 60 */ addi r3, r29, 0x60
/* 80303D08 002FF968 80 03 00 04 */ lwz r0, 4(r3)
/* 80303D0C 002FF96C 80 63 00 08 */ lwz r3, 8(r3)
/* 80303D10 002FF970 90 7B 00 04 */ stw r3, 4(r27)
/* 80303D14 002FF974 90 1B 00 00 */ stw r0, 0(r27)
lbl_80303D18:
/* 80303D18 002FF978 38 00 00 00 */ li r0, 0
/* 80303D1C 002FF97C 7C 1F 00 40 */ cmplw r31, r0
/* 80303D20 002FF980 41 82 00 10 */ beq lbl_80303D30
/* 80303D24 002FF984 38 7D 00 60 */ addi r3, r29, 0x60
/* 80303D28 002FF988 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80303D2C 002FF98C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80303D30:
/* 80303D30 002FF990 3C 60 80 44 */ lis r3, lbl_804464D4@ha
/* 80303D34 002FF994 80 81 00 08 */ lwz r4, 8(r1)
/* 80303D38 002FF998 38 63 64 D4 */ addi r3, r3, lbl_804464D4@l
/* 80303D3C 002FF99C 48 00 09 B9 */ bl func_803046F4
/* 80303D40 002FF9A0 2C 1C 00 00 */ cmpwi r28, 0
/* 80303D44 002FF9A4 41 80 00 08 */ blt lbl_80303D4C
/* 80303D48 002FF9A8 7C 7C 1B 78 */ mr r28, r3
lbl_80303D4C:
/* 80303D4C 002FF9AC 38 7D 00 00 */ addi r3, r29, 0
/* 80303D50 002FF9B0 4B F6 BC D5 */ bl OSUnlockMutex
/* 80303D54 002FF9B4 7F 83 E3 78 */ mr r3, r28
lbl_80303D58:
/* 80303D58 002FF9B8 39 61 00 30 */ addi r11, r1, 0x30
/* 80303D5C 002FF9BC 4B EC 34 19 */ bl _restgpr_27
/* 80303D60 002FF9C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80303D64 002FF9C4 7C 08 03 A6 */ mtlr r0
/* 80303D68 002FF9C8 38 21 00 30 */ addi r1, r1, 0x30
/* 80303D6C 002FF9CC 4E 80 00 20 */ blr
.global func_80303D70
func_80303D70:
/* 80303D70 002FF9D0 7C 65 1B 78 */ mr r5, r3
/* 80303D74 002FF9D4 38 60 00 00 */ li r3, 0
/* 80303D78 002FF9D8 38 80 00 06 */ li r4, 6
/* 80303D7C 002FF9DC 48 00 03 8C */ b lbl_80304108
.global func_80303D80
func_80303D80:
/* 80303D80 002FF9E0 7C 65 1B 78 */ mr r5, r3
/* 80303D84 002FF9E4 38 60 00 00 */ li r3, 0
/* 80303D88 002FF9E8 38 80 00 07 */ li r4, 7
/* 80303D8C 002FF9EC 48 00 03 7C */ b lbl_80304108
.global func_80303D90
func_80303D90:
/* 80303D90 002FF9F0 38 60 00 00 */ li r3, 0
/* 80303D94 002FF9F4 38 80 00 08 */ li r4, 8
/* 80303D98 002FF9F8 38 A0 00 00 */ li r5, 0
/* 80303D9C 002FF9FC 48 00 03 6C */ b lbl_80304108
.global func_80303DA0
func_80303DA0:
/* 80303DA0 002FFA00 38 60 00 00 */ li r3, 0
/* 80303DA4 002FFA04 38 80 00 09 */ li r4, 9
/* 80303DA8 002FFA08 38 A0 00 00 */ li r5, 0
/* 80303DAC 002FFA0C 48 00 03 5C */ b lbl_80304108
.global func_80303DB0
func_80303DB0:
/* 80303DB0 002FFA10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303DB4 002FFA14 7C 08 02 A6 */ mflr r0
/* 80303DB8 002FFA18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303DBC 002FFA1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303DC0 002FFA20 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303DC4 002FFA24 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303DC8 002FFA28 93 C1 00 08 */ stw r30, 8(r1)
/* 80303DCC 002FFA2C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303DD0 002FFA30 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303DD4 002FFA34 40 82 00 5C */ bne lbl_80303E30
/* 80303DD8 002FFA38 4B F6 A9 85 */ bl OSDisableInterrupts
/* 80303DDC 002FFA3C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303DE0 002FFA40 7C 7E 1B 78 */ mr r30, r3
/* 80303DE4 002FFA44 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303DE8 002FFA48 40 82 00 40 */ bne lbl_80303E28
/* 80303DEC 002FFA4C 38 7F 00 00 */ addi r3, r31, 0
/* 80303DF0 002FFA50 4B F6 BB 21 */ bl OSInitMutex
/* 80303DF4 002FFA54 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303DF8 002FFA58 4B F6 BB 19 */ bl OSInitMutex
/* 80303DFC 002FFA5C 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303E00 002FFA60 38 80 00 00 */ li r4, 0
/* 80303E04 002FFA64 38 A0 00 20 */ li r5, 0x20
/* 80303E08 002FFA68 4B D0 02 FD */ bl memset
/* 80303E0C 002FFA6C 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303E10 002FFA70 38 80 00 00 */ li r4, 0
/* 80303E14 002FFA74 38 A0 00 20 */ li r5, 0x20
/* 80303E18 002FFA78 4B D0 02 ED */ bl memset
/* 80303E1C 002FFA7C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303E20 002FFA80 60 00 00 01 */ ori r0, r0, 1
/* 80303E24 002FFA84 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303E28:
/* 80303E28 002FFA88 7F C3 F3 78 */ mr r3, r30
/* 80303E2C 002FFA8C 4B F6 A9 59 */ bl OSRestoreInterrupts
lbl_80303E30:
/* 80303E30 002FFA90 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303E34 002FFA94 4B F6 BD 25 */ bl OSTryLockMutex
/* 80303E38 002FFA98 2C 03 00 00 */ cmpwi r3, 0
/* 80303E3C 002FFA9C 40 82 00 0C */ bne lbl_80303E48
/* 80303E40 002FFAA0 38 60 FF EA */ li r3, -22
/* 80303E44 002FFAA4 48 00 00 34 */ b lbl_80303E78
lbl_80303E48:
/* 80303E48 002FFAA8 38 60 00 00 */ li r3, 0
/* 80303E4C 002FFAAC 48 00 01 21 */ bl func_80303F6C
/* 80303E50 002FFAB0 2C 03 00 00 */ cmpwi r3, 0
/* 80303E54 002FFAB4 7C 7E 1B 78 */ mr r30, r3
/* 80303E58 002FFAB8 41 80 00 14 */ blt lbl_80303E6C
/* 80303E5C 002FFABC 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
/* 80303E60 002FFAC0 3B C0 00 00 */ li r30, 0
/* 80303E64 002FFAC4 38 03 00 01 */ addi r0, r3, 1
/* 80303E68 002FFAC8 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
lbl_80303E6C:
/* 80303E6C 002FFACC 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303E70 002FFAD0 4B F6 BB B5 */ bl OSUnlockMutex
/* 80303E74 002FFAD4 7F C3 F3 78 */ mr r3, r30
lbl_80303E78:
/* 80303E78 002FFAD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303E7C 002FFADC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303E80 002FFAE0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303E84 002FFAE4 7C 08 03 A6 */ mtlr r0
/* 80303E88 002FFAE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80303E8C 002FFAEC 4E 80 00 20 */ blr
.global func_80303E90
func_80303E90:
/* 80303E90 002FFAF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303E94 002FFAF4 7C 08 02 A6 */ mflr r0
/* 80303E98 002FFAF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303E9C 002FFAFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303EA0 002FFB00 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303EA4 002FFB04 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303EA8 002FFB08 93 C1 00 08 */ stw r30, 8(r1)
/* 80303EAC 002FFB0C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303EB0 002FFB10 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303EB4 002FFB14 40 82 00 5C */ bne lbl_80303F10
/* 80303EB8 002FFB18 4B F6 A8 A5 */ bl OSDisableInterrupts
/* 80303EBC 002FFB1C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303EC0 002FFB20 7C 7E 1B 78 */ mr r30, r3
/* 80303EC4 002FFB24 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303EC8 002FFB28 40 82 00 40 */ bne lbl_80303F08
/* 80303ECC 002FFB2C 38 7F 00 00 */ addi r3, r31, 0
/* 80303ED0 002FFB30 4B F6 BA 41 */ bl OSInitMutex
/* 80303ED4 002FFB34 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303ED8 002FFB38 4B F6 BA 39 */ bl OSInitMutex
/* 80303EDC 002FFB3C 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303EE0 002FFB40 38 80 00 00 */ li r4, 0
/* 80303EE4 002FFB44 38 A0 00 20 */ li r5, 0x20
/* 80303EE8 002FFB48 4B D0 02 1D */ bl memset
/* 80303EEC 002FFB4C 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303EF0 002FFB50 38 80 00 00 */ li r4, 0
/* 80303EF4 002FFB54 38 A0 00 20 */ li r5, 0x20
/* 80303EF8 002FFB58 4B D0 02 0D */ bl memset
/* 80303EFC 002FFB5C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303F00 002FFB60 60 00 00 01 */ ori r0, r0, 1
/* 80303F04 002FFB64 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303F08:
/* 80303F08 002FFB68 7F C3 F3 78 */ mr r3, r30
/* 80303F0C 002FFB6C 4B F6 A8 79 */ bl OSRestoreInterrupts
lbl_80303F10:
/* 80303F10 002FFB70 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303F14 002FFB74 4B F6 BA 35 */ bl OSLockMutex
/* 80303F18 002FFB78 48 00 01 E1 */ bl func_803040F8
/* 80303F1C 002FFB7C 2C 03 00 00 */ cmpwi r3, 0
/* 80303F20 002FFB80 7C 7E 1B 78 */ mr r30, r3
/* 80303F24 002FFB84 41 80 00 14 */ blt lbl_80303F38
/* 80303F28 002FFB88 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
/* 80303F2C 002FFB8C 3B C0 00 00 */ li r30, 0
/* 80303F30 002FFB90 38 03 FF FF */ addi r0, r3, -1
/* 80303F34 002FFB94 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
lbl_80303F38:
/* 80303F38 002FFB98 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303F3C 002FFB9C 4B F6 BA E9 */ bl OSUnlockMutex
/* 80303F40 002FFBA0 7F C3 F3 78 */ mr r3, r30
/* 80303F44 002FFBA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303F48 002FFBA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303F4C 002FFBAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303F50 002FFBB0 7C 08 03 A6 */ mtlr r0
/* 80303F54 002FFBB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80303F58 002FFBB8 4E 80 00 20 */ blr
.global func_80303F5C
func_80303F5C:
/* 80303F5C 002FFBBC 38 60 00 00 */ li r3, 0
/* 80303F60 002FFBC0 38 80 00 01 */ li r4, 1
/* 80303F64 002FFBC4 38 A0 00 00 */ li r5, 0
/* 80303F68 002FFBC8 48 00 01 A0 */ b lbl_80304108
.global func_80303F6C
func_80303F6C:
/* 80303F6C 002FFBCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80303F70 002FFBD0 7C 08 02 A6 */ mflr r0
/* 80303F74 002FFBD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80303F78 002FFBD8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80303F7C 002FFBDC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80303F80 002FFBE0 3F C0 80 58 */ lis r30, lbl_8057E7A0@ha
/* 80303F84 002FFBE4 3B DE E7 A0 */ addi r30, r30, lbl_8057E7A0@l
/* 80303F88 002FFBE8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80303F8C 002FFBEC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80303F90 002FFBF0 7C 7C 1B 78 */ mr r28, r3
/* 80303F94 002FFBF4 4B F6 D3 65 */ bl OSGetCurrentThread
/* 80303F98 002FFBF8 2C 03 00 00 */ cmpwi r3, 0
/* 80303F9C 002FFBFC 40 82 00 0C */ bne lbl_80303FA8
/* 80303FA0 002FFC00 38 60 FF FF */ li r3, -1
/* 80303FA4 002FFC04 48 00 00 28 */ b lbl_80303FCC
lbl_80303FA8:
/* 80303FA8 002FFC08 4B FF F3 3D */ bl func_803032E4
/* 80303FAC 002FFC0C 2C 03 00 00 */ cmpwi r3, 0
/* 80303FB0 002FFC10 40 82 00 10 */ bne lbl_80303FC0
/* 80303FB4 002FFC14 4B FF F3 45 */ bl func_803032F8
/* 80303FB8 002FFC18 2C 03 00 00 */ cmpwi r3, 0
/* 80303FBC 002FFC1C 41 82 00 0C */ beq lbl_80303FC8
lbl_80303FC0:
/* 80303FC0 002FFC20 38 60 FF F6 */ li r3, -10
/* 80303FC4 002FFC24 48 00 00 08 */ b lbl_80303FCC
lbl_80303FC8:
/* 80303FC8 002FFC28 38 60 00 00 */ li r3, 0
lbl_80303FCC:
/* 80303FCC 002FFC2C 2C 03 00 00 */ cmpwi r3, 0
/* 80303FD0 002FFC30 40 80 00 08 */ bge lbl_80303FD8
/* 80303FD4 002FFC34 48 00 01 04 */ b lbl_803040D8
lbl_80303FD8:
/* 80303FD8 002FFC38 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303FDC 002FFC3C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303FE0 002FFC40 40 82 00 5C */ bne lbl_8030403C
/* 80303FE4 002FFC44 4B F6 A7 79 */ bl OSDisableInterrupts
/* 80303FE8 002FFC48 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303FEC 002FFC4C 7C 7F 1B 78 */ mr r31, r3
/* 80303FF0 002FFC50 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303FF4 002FFC54 40 82 00 40 */ bne lbl_80304034
/* 80303FF8 002FFC58 38 7E 00 00 */ addi r3, r30, 0
/* 80303FFC 002FFC5C 4B F6 B9 15 */ bl OSInitMutex
/* 80304000 002FFC60 38 7E 00 18 */ addi r3, r30, 0x18
/* 80304004 002FFC64 4B F6 B9 0D */ bl OSInitMutex
/* 80304008 002FFC68 38 7E 00 40 */ addi r3, r30, 0x40
/* 8030400C 002FFC6C 38 80 00 00 */ li r4, 0
/* 80304010 002FFC70 38 A0 00 20 */ li r5, 0x20
/* 80304014 002FFC74 4B D0 00 F1 */ bl memset
/* 80304018 002FFC78 38 7E 00 60 */ addi r3, r30, 0x60
/* 8030401C 002FFC7C 38 80 00 00 */ li r4, 0
/* 80304020 002FFC80 38 A0 00 20 */ li r5, 0x20
/* 80304024 002FFC84 4B D0 00 E1 */ bl memset
/* 80304028 002FFC88 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 8030402C 002FFC8C 60 00 00 01 */ ori r0, r0, 1
/* 80304030 002FFC90 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80304034:
/* 80304034 002FFC94 7F E3 FB 78 */ mr r3, r31
/* 80304038 002FFC98 4B F6 A7 4D */ bl OSRestoreInterrupts
lbl_8030403C:
/* 8030403C 002FFC9C 38 7E 00 00 */ addi r3, r30, 0
/* 80304040 002FFCA0 4B F6 BB 19 */ bl OSTryLockMutex
/* 80304044 002FFCA4 2C 03 00 00 */ cmpwi r3, 0
/* 80304048 002FFCA8 40 82 00 0C */ bne lbl_80304054
/* 8030404C 002FFCAC 38 60 FF EA */ li r3, -22
/* 80304050 002FFCB0 48 00 00 88 */ b lbl_803040D8
lbl_80304054:
/* 80304054 002FFCB4 3F E0 80 44 */ lis r31, lbl_804464F0@ha
/* 80304058 002FFCB8 3C 80 80 44 */ lis r4, lbl_804464C0@ha
/* 8030405C 002FFCBC 38 7F 64 F0 */ addi r3, r31, lbl_804464F0@l
/* 80304060 002FFCC0 38 A1 00 08 */ addi r5, r1, 8
/* 80304064 002FFCC4 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
/* 80304068 002FFCC8 38 C0 00 00 */ li r6, 0
/* 8030406C 002FFCCC 48 00 06 11 */ bl func_8030467C
/* 80304070 002FFCD0 2C 03 00 00 */ cmpwi r3, 0
/* 80304074 002FFCD4 7C 7D 1B 78 */ mr r29, r3
/* 80304078 002FFCD8 41 80 00 54 */ blt lbl_803040CC
/* 8030407C 002FFCDC 93 9E 00 40 */ stw r28, 0x40(r30)
/* 80304080 002FFCE0 38 7F 64 F0 */ addi r3, r31, 0x64f0
/* 80304084 002FFCE4 80 81 00 08 */ lwz r4, 8(r1)
/* 80304088 002FFCE8 38 DE 00 40 */ addi r6, r30, 0x40
/* 8030408C 002FFCEC 39 1E 00 60 */ addi r8, r30, 0x60
/* 80304090 002FFCF0 38 A0 00 02 */ li r5, 2
/* 80304094 002FFCF4 38 E0 00 20 */ li r7, 0x20
/* 80304098 002FFCF8 39 20 00 20 */ li r9, 0x20
/* 8030409C 002FFCFC 48 00 06 8D */ bl func_80304728
/* 803040A0 002FFD00 2C 03 00 00 */ cmpwi r3, 0
/* 803040A4 002FFD04 7C 7D 1B 78 */ mr r29, r3
/* 803040A8 002FFD08 41 80 00 08 */ blt lbl_803040B0
/* 803040AC 002FFD0C 83 BE 00 60 */ lwz r29, 0x60(r30)
lbl_803040B0:
/* 803040B0 002FFD10 3C 60 80 44 */ lis r3, lbl_804464F0@ha
/* 803040B4 002FFD14 80 81 00 08 */ lwz r4, 8(r1)
/* 803040B8 002FFD18 38 63 64 F0 */ addi r3, r3, lbl_804464F0@l
/* 803040BC 002FFD1C 48 00 06 39 */ bl func_803046F4
/* 803040C0 002FFD20 2C 03 00 00 */ cmpwi r3, 0
/* 803040C4 002FFD24 40 80 00 08 */ bge lbl_803040CC
/* 803040C8 002FFD28 7C 7D 1B 78 */ mr r29, r3
lbl_803040CC:
/* 803040CC 002FFD2C 38 7E 00 00 */ addi r3, r30, 0
/* 803040D0 002FFD30 4B F6 B9 55 */ bl OSUnlockMutex
/* 803040D4 002FFD34 7F A3 EB 78 */ mr r3, r29
lbl_803040D8:
/* 803040D8 002FFD38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803040DC 002FFD3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803040E0 002FFD40 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803040E4 002FFD44 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803040E8 002FFD48 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803040EC 002FFD4C 7C 08 03 A6 */ mtlr r0
/* 803040F0 002FFD50 38 21 00 20 */ addi r1, r1, 0x20
/* 803040F4 002FFD54 4E 80 00 20 */ blr
.global func_803040F8
func_803040F8:
/* 803040F8 002FFD58 38 60 00 00 */ li r3, 0
/* 803040FC 002FFD5C 38 80 00 03 */ li r4, 3
/* 80304100 002FFD60 38 A0 00 00 */ li r5, 0
/* 80304104 002FFD64 48 00 00 04 */ b lbl_80304108
lbl_80304108:
/* 80304108 002FFD68 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8030410C 002FFD6C 7C 08 02 A6 */ mflr r0
/* 80304110 002FFD70 90 01 00 34 */ stw r0, 0x34(r1)
/* 80304114 002FFD74 39 61 00 30 */ addi r11, r1, 0x30
/* 80304118 002FFD78 4B EC 30 11 */ bl _savegpr_27
/* 8030411C 002FFD7C 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80304120 002FFD80 7C 7B 1B 78 */ mr r27, r3
/* 80304124 002FFD84 7C 9C 23 78 */ mr r28, r4
/* 80304128 002FFD88 7C BD 2B 78 */ mr r29, r5
/* 8030412C 002FFD8C 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80304130 002FFD90 4B F6 D1 C9 */ bl OSGetCurrentThread
/* 80304134 002FFD94 2C 03 00 00 */ cmpwi r3, 0
/* 80304138 002FFD98 40 82 00 0C */ bne lbl_80304144
/* 8030413C 002FFD9C 38 60 FF FF */ li r3, -1
/* 80304140 002FFDA0 48 00 01 10 */ b lbl_80304250
lbl_80304144:
/* 80304144 002FFDA4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80304148 002FFDA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8030414C 002FFDAC 40 82 00 5C */ bne lbl_803041A8
/* 80304150 002FFDB0 4B F6 A6 0D */ bl OSDisableInterrupts
/* 80304154 002FFDB4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80304158 002FFDB8 7C 7E 1B 78 */ mr r30, r3
/* 8030415C 002FFDBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80304160 002FFDC0 40 82 00 40 */ bne lbl_803041A0
/* 80304164 002FFDC4 38 7F 00 00 */ addi r3, r31, 0
/* 80304168 002FFDC8 4B F6 B7 A9 */ bl OSInitMutex
/* 8030416C 002FFDCC 38 7F 00 18 */ addi r3, r31, 0x18
/* 80304170 002FFDD0 4B F6 B7 A1 */ bl OSInitMutex
/* 80304174 002FFDD4 38 7F 00 40 */ addi r3, r31, 0x40
/* 80304178 002FFDD8 38 80 00 00 */ li r4, 0
/* 8030417C 002FFDDC 38 A0 00 20 */ li r5, 0x20
/* 80304180 002FFDE0 4B CF FF 85 */ bl memset
/* 80304184 002FFDE4 38 7F 00 60 */ addi r3, r31, 0x60
/* 80304188 002FFDE8 38 80 00 00 */ li r4, 0
/* 8030418C 002FFDEC 38 A0 00 20 */ li r5, 0x20
/* 80304190 002FFDF0 4B CF FF 75 */ bl memset
/* 80304194 002FFDF4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80304198 002FFDF8 60 00 00 01 */ ori r0, r0, 1
/* 8030419C 002FFDFC 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_803041A0:
/* 803041A0 002FFE00 7F C3 F3 78 */ mr r3, r30
/* 803041A4 002FFE04 4B F6 A5 E1 */ bl OSRestoreInterrupts
lbl_803041A8:
/* 803041A8 002FFE08 38 7F 00 00 */ addi r3, r31, 0
/* 803041AC 002FFE0C 4B F6 B7 9D */ bl OSLockMutex
/* 803041B0 002FFE10 3C 80 80 44 */ lis r4, lbl_804464C0@ha
/* 803041B4 002FFE14 7F 63 DB 78 */ mr r3, r27
/* 803041B8 002FFE18 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
/* 803041BC 002FFE1C 38 A1 00 08 */ addi r5, r1, 8
/* 803041C0 002FFE20 38 C0 00 00 */ li r6, 0
/* 803041C4 002FFE24 48 00 04 B9 */ bl func_8030467C
/* 803041C8 002FFE28 2C 03 00 00 */ cmpwi r3, 0
/* 803041CC 002FFE2C 7C 7E 1B 78 */ mr r30, r3
/* 803041D0 002FFE30 41 80 00 74 */ blt lbl_80304244
/* 803041D4 002FFE34 80 81 00 08 */ lwz r4, 8(r1)
/* 803041D8 002FFE38 7F 63 DB 78 */ mr r3, r27
/* 803041DC 002FFE3C 7F 85 E3 78 */ mr r5, r28
/* 803041E0 002FFE40 39 1F 00 60 */ addi r8, r31, 0x60
/* 803041E4 002FFE44 38 C0 00 00 */ li r6, 0
/* 803041E8 002FFE48 38 E0 00 00 */ li r7, 0
/* 803041EC 002FFE4C 39 20 00 20 */ li r9, 0x20
/* 803041F0 002FFE50 48 00 05 39 */ bl func_80304728
/* 803041F4 002FFE54 2C 03 00 00 */ cmpwi r3, 0
/* 803041F8 002FFE58 7C 7E 1B 78 */ mr r30, r3
/* 803041FC 002FFE5C 41 80 00 30 */ blt lbl_8030422C
/* 80304200 002FFE60 83 DF 00 60 */ lwz r30, 0x60(r31)
/* 80304204 002FFE64 2C 1E FF FE */ cmpwi r30, -2
/* 80304208 002FFE68 41 82 00 0C */ beq lbl_80304214
/* 8030420C 002FFE6C 2C 1E FF DF */ cmpwi r30, -33
/* 80304210 002FFE70 40 82 00 1C */ bne lbl_8030422C
lbl_80304214:
/* 80304214 002FFE74 38 00 00 00 */ li r0, 0
/* 80304218 002FFE78 7C 1D 00 40 */ cmplw r29, r0
/* 8030421C 002FFE7C 41 82 00 10 */ beq lbl_8030422C
/* 80304220 002FFE80 38 7F 00 60 */ addi r3, r31, 0x60
/* 80304224 002FFE84 80 03 00 04 */ lwz r0, 4(r3)
/* 80304228 002FFE88 90 1D 00 00 */ stw r0, 0(r29)
lbl_8030422C:
/* 8030422C 002FFE8C 80 81 00 08 */ lwz r4, 8(r1)
/* 80304230 002FFE90 7F 63 DB 78 */ mr r3, r27
/* 80304234 002FFE94 48 00 04 C1 */ bl func_803046F4
/* 80304238 002FFE98 2C 03 00 00 */ cmpwi r3, 0
/* 8030423C 002FFE9C 40 80 00 08 */ bge lbl_80304244
/* 80304240 002FFEA0 7C 7E 1B 78 */ mr r30, r3
lbl_80304244:
/* 80304244 002FFEA4 38 7F 00 00 */ addi r3, r31, 0
/* 80304248 002FFEA8 4B F6 B7 DD */ bl OSUnlockMutex
/* 8030424C 002FFEAC 7F C3 F3 78 */ mr r3, r30
lbl_80304250:
/* 80304250 002FFEB0 39 61 00 30 */ addi r11, r1, 0x30
/* 80304254 002FFEB4 4B EC 2F 21 */ bl _restgpr_27
/* 80304258 002FFEB8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8030425C 002FFEBC 7C 08 03 A6 */ mtlr r0
/* 80304260 002FFEC0 38 21 00 30 */ addi r1, r1, 0x30
/* 80304264 002FFEC4 4E 80 00 20 */ blr
.global func_80304268
func_80304268:
/* 80304268 002FFEC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030426C 002FFECC 7C 08 02 A6 */ mflr r0
/* 80304270 002FFED0 38 80 00 00 */ li r4, 0
/* 80304274 002FFED4 38 A0 03 60 */ li r5, 0x360
/* 80304278 002FFED8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030427C 002FFEDC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304280 002FFEE0 38 63 24 00 */ addi r3, r3, 0x2400
/* 80304284 002FFEE4 90 61 00 08 */ stw r3, 8(r1)
/* 80304288 002FFEE8 4B FF CD 8D */ bl func_80301014
/* 8030428C 002FFEEC 38 61 00 08 */ addi r3, r1, 8
/* 80304290 002FFEF0 48 00 00 15 */ bl func_803042A4
/* 80304294 002FFEF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80304298 002FFEF8 7C 08 03 A6 */ mtlr r0
/* 8030429C 002FFEFC 38 21 00 10 */ addi r1, r1, 0x10
/* 803042A0 002FFF00 4E 80 00 20 */ blr
.global func_803042A4
func_803042A4:
/* 803042A4 002FFF04 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 803042A8 002FFF08 7C 08 02 A6 */ mflr r0
/* 803042AC 002FFF0C 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 803042B0 002FFF10 93 E1 00 AC */ stw r31, 0xac(r1)
/* 803042B4 002FFF14 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 803042B8 002FFF18 7C 7E 1B 78 */ mr r30, r3
/* 803042BC 002FFF1C 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 803042C0 002FFF20 38 84 24 00 */ addi r4, r4, 0x2400
/* 803042C4 002FFF24 90 83 00 00 */ stw r4, 0(r3)
/* 803042C8 002FFF28 80 64 00 00 */ lwz r3, 0(r4)
/* 803042CC 002FFF2C 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 803042D0 002FFF30 28 00 46 6C */ cmplwi r0, 0x466c
/* 803042D4 002FFF34 41 82 00 94 */ beq lbl_80304368
/* 803042D8 002FFF38 80 8D 8C B0 */ lwz r4, lbl_8063DF70-_SDA_BASE_(r13)
/* 803042DC 002FFF3C 38 61 00 08 */ addi r3, r1, 8
/* 803042E0 002FFF40 38 A0 00 02 */ li r5, 2
/* 803042E4 002FFF44 4B FF D8 65 */ bl func_80301B48
/* 803042E8 002FFF48 2C 03 00 00 */ cmpwi r3, 0
/* 803042EC 002FFF4C 41 82 00 08 */ beq lbl_803042F4
/* 803042F0 002FFF50 48 00 00 7C */ b lbl_8030436C
lbl_803042F4:
/* 803042F4 002FFF54 38 61 00 08 */ addi r3, r1, 8
/* 803042F8 002FFF58 38 80 00 00 */ li r4, 0
/* 803042FC 002FFF5C 38 A0 00 00 */ li r5, 0
/* 80304300 002FFF60 4B FF DD 2D */ bl func_8030202C
/* 80304304 002FFF64 80 7E 00 00 */ lwz r3, 0(r30)
/* 80304308 002FFF68 38 A1 00 08 */ addi r5, r1, 8
/* 8030430C 002FFF6C 38 80 03 60 */ li r4, 0x360
/* 80304310 002FFF70 4B FF DF 09 */ bl func_80302218
/* 80304314 002FFF74 7C 7F 1B 78 */ mr r31, r3
/* 80304318 002FFF78 38 61 00 08 */ addi r3, r1, 8
/* 8030431C 002FFF7C 4B FF DB 7D */ bl func_80301E98
/* 80304320 002FFF80 2C 1F 00 00 */ cmpwi r31, 0
/* 80304324 002FFF84 41 82 00 08 */ beq lbl_8030432C
/* 80304328 002FFF88 7F E3 FB 78 */ mr r3, r31
lbl_8030432C:
/* 8030432C 002FFF8C 2C 03 00 00 */ cmpwi r3, 0
/* 80304330 002FFF90 41 82 00 08 */ beq lbl_80304338
/* 80304334 002FFF94 48 00 00 38 */ b lbl_8030436C
lbl_80304338:
/* 80304338 002FFF98 80 9E 00 00 */ lwz r4, 0(r30)
/* 8030433C 002FFF9C 80 64 00 00 */ lwz r3, 0(r4)
/* 80304340 002FFFA0 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 80304344 002FFFA4 28 00 46 6C */ cmplwi r0, 0x466c
/* 80304348 002FFFA8 41 82 00 0C */ beq lbl_80304354
/* 8030434C 002FFFAC 38 60 FF F2 */ li r3, -14
/* 80304350 002FFFB0 48 00 00 1C */ b lbl_8030436C
lbl_80304354:
/* 80304354 002FFFB4 80 04 00 04 */ lwz r0, 4(r4)
/* 80304358 002FFFB8 28 00 00 02 */ cmplwi r0, 2
/* 8030435C 002FFFBC 41 82 00 0C */ beq lbl_80304368
/* 80304360 002FFFC0 38 60 FF E5 */ li r3, -27
/* 80304364 002FFFC4 48 00 00 08 */ b lbl_8030436C
lbl_80304368:
/* 80304368 002FFFC8 38 60 00 00 */ li r3, 0
lbl_8030436C:
/* 8030436C 002FFFCC 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80304370 002FFFD0 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80304374 002FFFD4 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 80304378 002FFFD8 7C 08 03 A6 */ mtlr r0
/* 8030437C 002FFFDC 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80304380 002FFFE0 4E 80 00 20 */ blr
.global func_80304384
func_80304384:
/* 80304384 002FFFE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80304388 002FFFE8 7C 08 02 A6 */ mflr r0
/* 8030438C 002FFFEC 38 80 00 00 */ li r4, 0
/* 80304390 002FFFF0 38 A0 08 00 */ li r5, 0x800
/* 80304394 002FFFF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80304398 002FFFF8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 8030439C 002FFFFC 38 63 28 00 */ addi r3, r3, 0x2800
/* 803043A0 00300000 90 61 00 08 */ stw r3, 8(r1)
/* 803043A4 00300004 4B FF CC 71 */ bl func_80301014
/* 803043A8 00300008 38 61 00 08 */ addi r3, r1, 8
/* 803043AC 0030000C 48 00 00 15 */ bl func_803043C0
/* 803043B0 00300010 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803043B4 00300014 7C 08 03 A6 */ mtlr r0
/* 803043B8 00300018 38 21 00 10 */ addi r1, r1, 0x10
/* 803043BC 0030001C 4E 80 00 20 */ blr
.global func_803043C0
func_803043C0:
/* 803043C0 00300020 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 803043C4 00300024 7C 08 02 A6 */ mflr r0
/* 803043C8 00300028 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 803043CC 0030002C 93 E1 00 AC */ stw r31, 0xac(r1)
/* 803043D0 00300030 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 803043D4 00300034 7C 7E 1B 78 */ mr r30, r3
/* 803043D8 00300038 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 803043DC 0030003C 38 84 28 00 */ addi r4, r4, 0x2800
/* 803043E0 00300040 90 83 00 00 */ stw r4, 0(r3)
/* 803043E4 00300044 80 64 00 00 */ lwz r3, 0(r4)
/* 803043E8 00300048 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 803043EC 0030004C 28 00 46 73 */ cmplwi r0, 0x4673
/* 803043F0 00300050 41 82 00 94 */ beq lbl_80304484
/* 803043F4 00300054 80 8D 8C B8 */ lwz r4, lbl_8063DF78-_SDA_BASE_(r13)
/* 803043F8 00300058 38 61 00 08 */ addi r3, r1, 8
/* 803043FC 0030005C 38 A0 00 02 */ li r5, 2
/* 80304400 00300060 4B FF D7 49 */ bl func_80301B48
/* 80304404 00300064 2C 03 00 00 */ cmpwi r3, 0
/* 80304408 00300068 41 82 00 08 */ beq lbl_80304410
/* 8030440C 0030006C 48 00 00 7C */ b lbl_80304488
lbl_80304410:
/* 80304410 00300070 38 61 00 08 */ addi r3, r1, 8
/* 80304414 00300074 38 80 00 00 */ li r4, 0
/* 80304418 00300078 38 A0 00 00 */ li r5, 0
/* 8030441C 0030007C 4B FF DC 11 */ bl func_8030202C
/* 80304420 00300080 80 7E 00 00 */ lwz r3, 0(r30)
/* 80304424 00300084 38 A1 00 08 */ addi r5, r1, 8
/* 80304428 00300088 38 80 08 00 */ li r4, 0x800
/* 8030442C 0030008C 4B FF DD ED */ bl func_80302218
/* 80304430 00300090 7C 7F 1B 78 */ mr r31, r3
/* 80304434 00300094 38 61 00 08 */ addi r3, r1, 8
/* 80304438 00300098 4B FF DA 61 */ bl func_80301E98
/* 8030443C 0030009C 2C 1F 00 00 */ cmpwi r31, 0
/* 80304440 003000A0 41 82 00 08 */ beq lbl_80304448
/* 80304444 003000A4 7F E3 FB 78 */ mr r3, r31
lbl_80304448:
/* 80304448 003000A8 2C 03 00 00 */ cmpwi r3, 0
/* 8030444C 003000AC 41 82 00 08 */ beq lbl_80304454
/* 80304450 003000B0 48 00 00 38 */ b lbl_80304488
lbl_80304454:
/* 80304454 003000B4 80 9E 00 00 */ lwz r4, 0(r30)
/* 80304458 003000B8 80 64 00 00 */ lwz r3, 0(r4)
/* 8030445C 003000BC 3C 03 A8 9D */ addis r0, r3, 0xa89d
/* 80304460 003000C0 28 00 46 73 */ cmplwi r0, 0x4673
/* 80304464 003000C4 41 82 00 0C */ beq lbl_80304470
/* 80304468 003000C8 38 60 FF F2 */ li r3, -14
/* 8030446C 003000CC 48 00 00 1C */ b lbl_80304488
lbl_80304470:
/* 80304470 003000D0 80 04 00 04 */ lwz r0, 4(r4)
/* 80304474 003000D4 28 00 00 02 */ cmplwi r0, 2
/* 80304478 003000D8 41 82 00 0C */ beq lbl_80304484
/* 8030447C 003000DC 38 60 FF E5 */ li r3, -27
/* 80304480 003000E0 48 00 00 08 */ b lbl_80304488
lbl_80304484:
/* 80304484 003000E4 38 60 00 00 */ li r3, 0
lbl_80304488:
/* 80304488 003000E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8030448C 003000EC 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80304490 003000F0 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 80304494 003000F4 7C 08 03 A6 */ mtlr r0
/* 80304498 003000F8 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8030449C 003000FC 4E 80 00 20 */ blr
.global func_803044A0
func_803044A0:
/* 803044A0 00300100 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803044A4 00300104 7C 08 02 A6 */ mflr r0
/* 803044A8 00300108 90 01 00 34 */ stw r0, 0x34(r1)
/* 803044AC 0030010C 39 61 00 30 */ addi r11, r1, 0x30
/* 803044B0 00300110 4B EC 2C 79 */ bl _savegpr_27
/* 803044B4 00300114 3F C0 80 58 */ lis r30, lbl_8057E920@ha
/* 803044B8 00300118 7C 7B 1B 78 */ mr r27, r3
/* 803044BC 0030011C 7C 9C 23 78 */ mr r28, r4
/* 803044C0 00300120 3B DE E9 20 */ addi r30, r30, lbl_8057E920@l
/* 803044C4 00300124 4B F6 CE 35 */ bl OSGetCurrentThread
/* 803044C8 00300128 2C 03 00 00 */ cmpwi r3, 0
/* 803044CC 0030012C 40 82 00 0C */ bne lbl_803044D8
/* 803044D0 00300130 38 60 FF FF */ li r3, -1
/* 803044D4 00300134 48 00 00 08 */ b lbl_803044DC
lbl_803044D8:
/* 803044D8 00300138 38 60 00 00 */ li r3, 0
lbl_803044DC:
/* 803044DC 0030013C 2C 03 00 00 */ cmpwi r3, 0
/* 803044E0 00300140 40 80 00 08 */ bge lbl_803044E8
/* 803044E4 00300144 48 00 00 EC */ b lbl_803045D0
lbl_803044E8:
/* 803044E8 00300148 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13)
/* 803044EC 0030014C 2C 00 00 00 */ cmpwi r0, 0
/* 803044F0 00300150 40 82 00 50 */ bne lbl_80304540
/* 803044F4 00300154 4B F6 A2 69 */ bl OSDisableInterrupts
/* 803044F8 00300158 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13)
/* 803044FC 0030015C 7C 7F 1B 78 */ mr r31, r3
/* 80304500 00300160 2C 00 00 00 */ cmpwi r0, 0
/* 80304504 00300164 40 82 00 34 */ bne lbl_80304538
/* 80304508 00300168 38 7E 00 80 */ addi r3, r30, 0x80
/* 8030450C 0030016C 4B F6 B4 05 */ bl OSInitMutex
/* 80304510 00300170 38 7E 00 A0 */ addi r3, r30, 0xa0
/* 80304514 00300174 38 80 00 00 */ li r4, 0
/* 80304518 00300178 38 A0 00 20 */ li r5, 0x20
/* 8030451C 0030017C 4B CF FB E9 */ bl memset
/* 80304520 00300180 38 7E 00 C0 */ addi r3, r30, 0xc0
/* 80304524 00300184 38 80 00 00 */ li r4, 0
/* 80304528 00300188 38 A0 00 20 */ li r5, 0x20
/* 8030452C 0030018C 4B CF FB D9 */ bl memset
/* 80304530 00300190 38 00 00 01 */ li r0, 1
/* 80304534 00300194 90 0D AF C0 */ stw r0, lbl_80640280-_SDA_BASE_(r13)
lbl_80304538:
/* 80304538 00300198 7F E3 FB 78 */ mr r3, r31
/* 8030453C 0030019C 4B F6 A2 49 */ bl OSRestoreInterrupts
lbl_80304540:
/* 80304540 003001A0 38 7E 00 80 */ addi r3, r30, 0x80
/* 80304544 003001A4 4B F6 B4 05 */ bl OSLockMutex
/* 80304548 003001A8 3F E0 80 44 */ lis r31, lbl_8044655C@ha
/* 8030454C 003001AC 3C 80 80 44 */ lis r4, lbl_80446548@ha
/* 80304550 003001B0 38 7F 65 5C */ addi r3, r31, lbl_8044655C@l
/* 80304554 003001B4 38 A1 00 08 */ addi r5, r1, 8
/* 80304558 003001B8 38 84 65 48 */ addi r4, r4, lbl_80446548@l
/* 8030455C 003001BC 38 C0 00 00 */ li r6, 0
/* 80304560 003001C0 48 00 01 1D */ bl func_8030467C
/* 80304564 003001C4 2C 03 00 00 */ cmpwi r3, 0
/* 80304568 003001C8 7C 7D 1B 78 */ mr r29, r3
/* 8030456C 003001CC 41 80 00 58 */ blt lbl_803045C4
/* 80304570 003001D0 38 DE 00 A0 */ addi r6, r30, 0xa0
/* 80304574 003001D4 93 7E 00 A0 */ stw r27, 0xa0(r30)
/* 80304578 003001D8 80 81 00 08 */ lwz r4, 8(r1)
/* 8030457C 003001DC 38 7F 65 5C */ addi r3, r31, 0x655c
/* 80304580 003001E0 93 86 00 04 */ stw r28, 4(r6)
/* 80304584 003001E4 39 1E 00 C0 */ addi r8, r30, 0xc0
/* 80304588 003001E8 38 A0 00 17 */ li r5, 0x17
/* 8030458C 003001EC 38 E0 00 20 */ li r7, 0x20
/* 80304590 003001F0 39 20 00 20 */ li r9, 0x20
/* 80304594 003001F4 48 00 01 95 */ bl func_80304728
/* 80304598 003001F8 2C 03 00 00 */ cmpwi r3, 0
/* 8030459C 003001FC 7C 7D 1B 78 */ mr r29, r3
/* 803045A0 00300200 41 80 00 08 */ blt lbl_803045A8
/* 803045A4 00300204 83 BE 00 C0 */ lwz r29, 0xc0(r30)
lbl_803045A8:
/* 803045A8 00300208 3C 60 80 44 */ lis r3, lbl_8044655C@ha
/* 803045AC 0030020C 80 81 00 08 */ lwz r4, 8(r1)
/* 803045B0 00300210 38 63 65 5C */ addi r3, r3, lbl_8044655C@l
/* 803045B4 00300214 48 00 01 41 */ bl func_803046F4
/* 803045B8 00300218 2C 1D 00 00 */ cmpwi r29, 0
/* 803045BC 0030021C 41 80 00 08 */ blt lbl_803045C4
/* 803045C0 00300220 7C 7D 1B 78 */ mr r29, r3
lbl_803045C4:
/* 803045C4 00300224 38 7E 00 80 */ addi r3, r30, 0x80
/* 803045C8 00300228 4B F6 B4 5D */ bl OSUnlockMutex
/* 803045CC 0030022C 7F A3 EB 78 */ mr r3, r29
lbl_803045D0:
/* 803045D0 00300230 39 61 00 30 */ addi r11, r1, 0x30
/* 803045D4 00300234 4B EC 2B A1 */ bl _restgpr_27
/* 803045D8 00300238 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803045DC 0030023C 7C 08 03 A6 */ mtlr r0
/* 803045E0 00300240 38 21 00 30 */ addi r1, r1, 0x30
/* 803045E4 00300244 4E 80 00 20 */ blr
.global func_803045E8
func_803045E8:
/* 803045E8 00300248 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803045EC 0030024C 7C 08 02 A6 */ mflr r0
/* 803045F0 00300250 90 01 00 14 */ stw r0, 0x14(r1)
/* 803045F4 00300254 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803045F8 00300258 93 C1 00 08 */ stw r30, 8(r1)
/* 803045FC 0030025C 7C 7E 1B 78 */ mr r30, r3
lbl_80304600:
/* 80304600 00300260 4B FE 63 ED */ bl SCCheckStatus
/* 80304604 00300264 28 03 00 02 */ cmplwi r3, 2
/* 80304608 00300268 40 82 00 0C */ bne lbl_80304614
/* 8030460C 0030026C 38 60 FF FF */ li r3, -1
/* 80304610 00300270 48 00 00 34 */ b lbl_80304644
lbl_80304614:
/* 80304614 00300274 2C 03 00 00 */ cmpwi r3, 0
/* 80304618 00300278 40 82 FF E8 */ bne lbl_80304600
/* 8030461C 0030027C 4B FE 7F A5 */ bl SCGetCounterBias
/* 80304620 00300280 7C 7F 1B 78 */ mr r31, r3
/* 80304624 00300284 4B F6 E1 95 */ bl OSGetTime
/* 80304628 00300288 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 8030462C 0030028C 38 A0 00 00 */ li r5, 0
/* 80304630 00300290 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 80304634 00300294 54 06 F0 BE */ srwi r6, r0, 2
/* 80304638 00300298 4B EC 2C 41 */ bl __div2i
/* 8030463C 0030029C 7F FF 20 10 */ subfc r31, r31, r4
/* 80304640 003002A0 38 60 00 00 */ li r3, 0
lbl_80304644:
/* 80304644 003002A4 2C 03 00 00 */ cmpwi r3, 0
/* 80304648 003002A8 41 82 00 08 */ beq lbl_80304650
/* 8030464C 003002AC 48 00 00 18 */ b lbl_80304664
lbl_80304650:
/* 80304650 003002B0 7C 1E 00 D0 */ neg r0, r30
/* 80304654 003002B4 7F E3 FB 78 */ mr r3, r31
/* 80304658 003002B8 7C 00 F3 78 */ or r0, r0, r30
/* 8030465C 003002BC 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80304660 003002C0 4B FF FE 41 */ bl func_803044A0
lbl_80304664:
/* 80304664 003002C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80304668 003002C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8030466C 003002CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80304670 003002D0 7C 08 03 A6 */ mtlr r0
/* 80304674 003002D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80304678 003002D8 4E 80 00 20 */ blr
.global func_8030467C
func_8030467C:
/* 8030467C 003002DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80304680 003002E0 7C 08 02 A6 */ mflr r0
/* 80304684 003002E4 2C 05 00 00 */ cmpwi r5, 0
/* 80304688 003002E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030468C 003002EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80304690 003002F0 7C BF 2B 78 */ mr r31, r5
/* 80304694 003002F4 40 82 00 0C */ bne lbl_803046A0
/* 80304698 003002F8 38 60 FF FD */ li r3, -3
/* 8030469C 003002FC 48 00 00 44 */ b lbl_803046E0
lbl_803046A0:
/* 803046A0 00300300 7C 83 23 78 */ mr r3, r4
/* 803046A4 00300304 7C C4 33 78 */ mr r4, r6
/* 803046A8 00300308 4B F9 EA B1 */ bl IOS_Open
/* 803046AC 0030030C 2C 03 00 00 */ cmpwi r3, 0
/* 803046B0 00300310 90 7F 00 00 */ stw r3, 0(r31)
/* 803046B4 00300314 40 80 00 28 */ bge lbl_803046DC
/* 803046B8 00300318 2C 03 FF FA */ cmpwi r3, -6
/* 803046BC 0030031C 40 82 00 0C */ bne lbl_803046C8
/* 803046C0 00300320 38 60 FF E3 */ li r3, -29
/* 803046C4 00300324 48 00 00 1C */ b lbl_803046E0
lbl_803046C8:
/* 803046C8 00300328 2C 03 FF F8 */ cmpwi r3, -8
/* 803046CC 0030032C 38 60 FF D6 */ li r3, -42
/* 803046D0 00300330 40 82 00 10 */ bne lbl_803046E0
/* 803046D4 00300334 38 60 FF E6 */ li r3, -26
/* 803046D8 00300338 48 00 00 08 */ b lbl_803046E0
lbl_803046DC:
/* 803046DC 0030033C 38 60 00 00 */ li r3, 0
lbl_803046E0:
/* 803046E0 00300340 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803046E4 00300344 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803046E8 00300348 7C 08 03 A6 */ mtlr r0
/* 803046EC 0030034C 38 21 00 10 */ addi r1, r1, 0x10
/* 803046F0 00300350 4E 80 00 20 */ blr
.global func_803046F4
func_803046F4:
/* 803046F4 00300354 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803046F8 00300358 7C 08 02 A6 */ mflr r0
/* 803046FC 0030035C 7C 83 23 78 */ mr r3, r4
/* 80304700 00300360 90 01 00 14 */ stw r0, 0x14(r1)
/* 80304704 00300364 4B F9 EC 35 */ bl IOS_Close
/* 80304708 00300368 2C 03 00 00 */ cmpwi r3, 0
/* 8030470C 0030036C 38 60 00 00 */ li r3, 0
/* 80304710 00300370 40 80 00 08 */ bge lbl_80304718
/* 80304714 00300374 38 60 FF D6 */ li r3, -42
lbl_80304718:
/* 80304718 00300378 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030471C 0030037C 7C 08 03 A6 */ mtlr r0
/* 80304720 00300380 38 21 00 10 */ addi r1, r1, 0x10
/* 80304724 00300384 4E 80 00 20 */ blr
.global func_80304728
func_80304728:
/* 80304728 00300388 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030472C 0030038C 7C 08 02 A6 */ mflr r0
/* 80304730 00300390 7C 83 23 78 */ mr r3, r4
/* 80304734 00300394 7C A4 2B 78 */ mr r4, r5
/* 80304738 00300398 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030473C 0030039C 7C C5 33 78 */ mr r5, r6
/* 80304740 003003A0 7C E6 3B 78 */ mr r6, r7
/* 80304744 003003A4 7D 07 43 78 */ mr r7, r8
/* 80304748 003003A8 7D 28 4B 78 */ mr r8, r9
/* 8030474C 003003AC 4B F9 F3 A5 */ bl IOS_Ioctl
/* 80304750 003003B0 2C 03 00 00 */ cmpwi r3, 0
/* 80304754 003003B4 38 60 00 00 */ li r3, 0
/* 80304758 003003B8 40 80 00 08 */ bge lbl_80304760
/* 8030475C 003003BC 38 60 FF D6 */ li r3, -42
lbl_80304760:
/* 80304760 003003C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80304764 003003C4 7C 08 03 A6 */ mtlr r0
/* 80304768 003003C8 38 21 00 10 */ addi r1, r1, 0x10
/* 8030476C 003003CC 4E 80 00 20 */ blr
.global func_80304770
func_80304770:
/* 80304770 003003D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80304774 003003D4 7C 08 02 A6 */ mflr r0
/* 80304778 003003D8 7C 83 23 78 */ mr r3, r4
/* 8030477C 003003DC 7C A4 2B 78 */ mr r4, r5
/* 80304780 003003E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80304784 003003E4 3D 60 80 30 */ lis r11, lbl_803047D4@ha
/* 80304788 003003E8 7C C5 33 78 */ mr r5, r6
/* 8030478C 003003EC 7C E6 3B 78 */ mr r6, r7
/* 80304790 003003F0 7D 07 43 78 */ mr r7, r8
/* 80304794 003003F4 7D 28 4B 78 */ mr r8, r9
/* 80304798 003003F8 39 2B 47 D4 */ addi r9, r11, lbl_803047D4@l
/* 8030479C 003003FC 4B F9 F2 1D */ bl IOS_IoctlAsync
/* 803047A0 00300400 2C 03 00 00 */ cmpwi r3, 0
/* 803047A4 00300404 40 80 00 0C */ bge lbl_803047B0
/* 803047A8 00300408 38 60 FF D6 */ li r3, -42
/* 803047AC 0030040C 48 00 00 10 */ b lbl_803047BC
lbl_803047B0:
/* 803047B0 00300410 38 00 00 01 */ li r0, 1
/* 803047B4 00300414 38 60 00 00 */ li r3, 0
/* 803047B8 00300418 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13)
lbl_803047BC:
/* 803047BC 0030041C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803047C0 00300420 7C 08 03 A6 */ mtlr r0
/* 803047C4 00300424 38 21 00 10 */ addi r1, r1, 0x10
/* 803047C8 00300428 4E 80 00 20 */ blr
.global func_803047CC
func_803047CC:
/* 803047CC 0030042C 80 6D AF C8 */ lwz r3, lbl_80640288-_SDA_BASE_(r13)
/* 803047D0 00300430 4E 80 00 20 */ blr
lbl_803047D4:
/* 803047D4 00300434 2C 04 00 00 */ cmpwi r4, 0
/* 803047D8 00300438 41 82 00 08 */ beq lbl_803047E0
/* 803047DC 0030043C 90 64 00 00 */ stw r3, 0(r4)
lbl_803047E0:
/* 803047E0 00300440 38 00 00 00 */ li r0, 0
/* 803047E4 00300444 38 60 00 00 */ li r3, 0
/* 803047E8 00300448 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13)
/* 803047EC 0030044C 4E 80 00 20 */ blr
.global func_803047F0
func_803047F0:
/* 803047F0 00300450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803047F4 00300454 7C 08 02 A6 */ mflr r0
/* 803047F8 00300458 90 01 00 14 */ stw r0, 0x14(r1)
/* 803047FC 0030045C 48 00 02 B1 */ bl func_80304AAC
/* 80304800 00300460 2C 03 00 00 */ cmpwi r3, 0
/* 80304804 00300464 41 80 00 28 */ blt lbl_8030482C
/* 80304808 00300468 38 60 00 00 */ li r3, 0
/* 8030480C 0030046C 4B FF FD DD */ bl func_803045E8
/* 80304810 00300470 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304814 00300474 38 80 00 00 */ li r4, 0
/* 80304818 00300478 38 63 30 00 */ addi r3, r3, 0x3000
/* 8030481C 0030047C 48 00 00 29 */ bl func_80304844
/* 80304820 00300480 2C 03 00 00 */ cmpwi r3, 0
/* 80304824 00300484 41 80 00 08 */ blt lbl_8030482C
/* 80304828 00300488 38 60 00 00 */ li r3, 0
lbl_8030482C:
/* 8030482C 0030048C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80304830 00300490 7C 08 03 A6 */ mtlr r0
/* 80304834 00300494 38 21 00 10 */ addi r1, r1, 0x10
/* 80304838 00300498 4E 80 00 20 */ blr
.global func_8030483C
func_8030483C:
/* 8030483C 0030049C 38 60 00 00 */ li r3, 0
/* 80304840 003004A0 4E 80 00 20 */ blr
.global func_80304844
func_80304844:
/* 80304844 003004A4 94 21 FD 40 */ stwu r1, -0x2c0(r1)
/* 80304848 003004A8 7C 08 02 A6 */ mflr r0
/* 8030484C 003004AC 90 01 02 C4 */ stw r0, 0x2c4(r1)
/* 80304850 003004B0 39 61 02 C0 */ addi r11, r1, 0x2c0
/* 80304854 003004B4 4B EC 28 D1 */ bl _savegpr_26
/* 80304858 003004B8 3B E1 00 A8 */ addi r31, r1, 0xa8
/* 8030485C 003004BC 7C 7C 1B 78 */ mr r28, r3
/* 80304860 003004C0 7C 9D 23 78 */ mr r29, r4
/* 80304864 003004C4 3B C0 00 00 */ li r30, 0
/* 80304868 003004C8 3F 60 00 01 */ lis r27, 1
/* 8030486C 003004CC 48 00 02 14 */ b lbl_80304A80
lbl_80304870:
/* 80304870 003004D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304874 003004D4 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 80304878 003004D8 A0 C3 30 10 */ lhz r6, 0x3010(r3)
/* 8030487C 003004DC 38 A3 30 00 */ addi r5, r3, 0x3000
/* 80304880 003004E0 7C 00 30 40 */ cmplw r0, r6
/* 80304884 003004E4 40 80 00 0C */ bge lbl_80304890
/* 80304888 003004E8 28 00 FF FF */ cmplwi r0, 0xffff
/* 8030488C 003004EC 40 82 00 0C */ bne lbl_80304898
lbl_80304890:
/* 80304890 003004F0 38 80 FF FD */ li r4, -3
/* 80304894 003004F4 48 00 00 20 */ b lbl_803048B4
lbl_80304898:
/* 80304898 003004F8 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
/* 8030489C 003004FC 38 80 00 00 */ li r4, 0
/* 803048A0 00300500 7C 65 02 14 */ add r3, r5, r0
/* 803048A4 00300504 80 03 00 80 */ lwz r0, 0x80(r3)
/* 803048A8 00300508 2C 00 00 00 */ cmpwi r0, 0
/* 803048AC 0030050C 40 82 00 08 */ bne lbl_803048B4
/* 803048B0 00300510 38 80 FF F3 */ li r4, -13
lbl_803048B4:
/* 803048B4 00300514 2C 04 00 00 */ cmpwi r4, 0
/* 803048B8 00300518 40 82 01 C4 */ bne lbl_80304A7C
/* 803048BC 0030051C 2C 1D 00 00 */ cmpwi r29, 0
/* 803048C0 00300520 41 82 01 BC */ beq lbl_80304A7C
/* 803048C4 00300524 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 803048C8 00300528 7C 00 30 40 */ cmplw r0, r6
/* 803048CC 0030052C 40 80 00 0C */ bge lbl_803048D8
/* 803048D0 00300530 28 00 FF FF */ cmplwi r0, 0xffff
/* 803048D4 00300534 40 82 00 0C */ bne lbl_803048E0
lbl_803048D8:
/* 803048D8 00300538 38 60 FF FD */ li r3, -3
/* 803048DC 0030053C 48 00 00 20 */ b lbl_803048FC
lbl_803048E0:
/* 803048E0 00300540 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
/* 803048E4 00300544 38 60 00 00 */ li r3, 0
/* 803048E8 00300548 7C 85 02 14 */ add r4, r5, r0
/* 803048EC 0030054C 80 04 00 80 */ lwz r0, 0x80(r4)
/* 803048F0 00300550 2C 00 00 00 */ cmpwi r0, 0
/* 803048F4 00300554 40 82 00 08 */ bne lbl_803048FC
/* 803048F8 00300558 38 60 FF F3 */ li r3, -13
lbl_803048FC:
/* 803048FC 0030055C 2C 03 00 00 */ cmpwi r3, 0
/* 80304900 00300560 40 80 00 08 */ bge lbl_80304908
/* 80304904 00300564 48 00 00 78 */ b lbl_8030497C
lbl_80304908:
/* 80304908 00300568 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
/* 8030490C 0030056C 38 61 00 08 */ addi r3, r1, 8
/* 80304910 00300570 38 A0 00 0A */ li r5, 0xa
/* 80304914 00300574 4B FF D2 35 */ bl func_80301B48
/* 80304918 00300578 2C 03 00 00 */ cmpwi r3, 0
/* 8030491C 0030057C 40 80 00 08 */ bge lbl_80304924
/* 80304920 00300580 48 00 00 5C */ b lbl_8030497C
lbl_80304924:
/* 80304924 00300584 57 C4 49 EC */ rlwinm r4, r30, 9, 7, 0x16
/* 80304928 00300588 38 61 00 08 */ addi r3, r1, 8
/* 8030492C 0030058C 38 84 08 00 */ addi r4, r4, 0x800
/* 80304930 00300590 38 A0 00 00 */ li r5, 0
/* 80304934 00300594 4B FF D6 F9 */ bl func_8030202C
/* 80304938 00300598 2C 03 00 00 */ cmpwi r3, 0
/* 8030493C 0030059C 40 80 00 0C */ bge lbl_80304948
/* 80304940 003005A0 7C 7A 1B 78 */ mr r26, r3
/* 80304944 003005A4 48 00 00 24 */ b lbl_80304968
lbl_80304948:
/* 80304948 003005A8 7F E3 FB 78 */ mr r3, r31
/* 8030494C 003005AC 38 A1 00 08 */ addi r5, r1, 8
/* 80304950 003005B0 38 80 02 00 */ li r4, 0x200
/* 80304954 003005B4 4B FF D8 C5 */ bl func_80302218
/* 80304958 003005B8 2C 03 00 00 */ cmpwi r3, 0
/* 8030495C 003005BC 3B 40 00 00 */ li r26, 0
/* 80304960 003005C0 40 80 00 08 */ bge lbl_80304968
/* 80304964 003005C4 7C 7A 1B 78 */ mr r26, r3
lbl_80304968:
/* 80304968 003005C8 38 61 00 08 */ addi r3, r1, 8
/* 8030496C 003005CC 4B FF D5 2D */ bl func_80301E98
/* 80304970 003005D0 2C 1A 00 00 */ cmpwi r26, 0
/* 80304974 003005D4 41 82 00 08 */ beq lbl_8030497C
/* 80304978 003005D8 7F 43 D3 78 */ mr r3, r26
lbl_8030497C:
/* 8030497C 003005DC 2C 03 00 00 */ cmpwi r3, 0
/* 80304980 003005E0 40 80 00 74 */ bge lbl_803049F4
/* 80304984 003005E4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304988 003005E8 2C 1F 00 00 */ cmpwi r31, 0
/* 8030498C 003005EC 38 63 30 00 */ addi r3, r3, 0x3000
/* 80304990 003005F0 40 82 00 0C */ bne lbl_8030499C
/* 80304994 003005F4 38 00 FF FD */ li r0, -3
/* 80304998 003005F8 48 00 00 38 */ b lbl_803049D0
lbl_8030499C:
/* 8030499C 003005FC 2C 03 00 00 */ cmpwi r3, 0
/* 803049A0 00300600 40 82 00 0C */ bne lbl_803049AC
/* 803049A4 00300604 38 00 FF F7 */ li r0, -9
/* 803049A8 00300608 48 00 00 28 */ b lbl_803049D0
lbl_803049AC:
/* 803049AC 0030060C A0 81 00 A8 */ lhz r4, 0xa8(r1)
/* 803049B0 00300610 28 04 FF FF */ cmplwi r4, 0xffff
/* 803049B4 00300614 41 82 00 18 */ beq lbl_803049CC
/* 803049B8 00300618 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 803049BC 0030061C 7C 04 00 40 */ cmplw r4, r0
/* 803049C0 00300620 41 80 00 0C */ blt lbl_803049CC
/* 803049C4 00300624 38 00 FF FD */ li r0, -3
/* 803049C8 00300628 48 00 00 08 */ b lbl_803049D0
lbl_803049CC:
/* 803049CC 0030062C 38 00 00 00 */ li r0, 0
lbl_803049D0:
/* 803049D0 00300630 2C 00 00 00 */ cmpwi r0, 0
/* 803049D4 00300634 40 82 00 A8 */ bne lbl_80304A7C
/* 803049D8 00300638 7F E3 FB 78 */ mr r3, r31
/* 803049DC 0030063C 48 00 01 C1 */ bl func_80304B9C
/* 803049E0 00300640 2C 03 00 00 */ cmpwi r3, 0
/* 803049E4 00300644 41 80 00 98 */ blt lbl_80304A7C
/* 803049E8 00300648 38 1B FF FF */ addi r0, r27, -1
/* 803049EC 0030064C B0 01 00 A8 */ sth r0, 0xa8(r1)
/* 803049F0 00300650 48 00 00 8C */ b lbl_80304A7C
lbl_803049F4:
/* 803049F4 00300654 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 803049F8 00300658 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 803049FC 0030065C 38 84 30 00 */ addi r4, r4, 0x3000
/* 80304A00 00300660 A0 04 00 12 */ lhz r0, 0x12(r4)
/* 80304A04 00300664 7C 03 00 40 */ cmplw r3, r0
/* 80304A08 00300668 41 80 00 74 */ blt lbl_80304A7C
/* 80304A0C 0030066C A8 01 00 C0 */ lha r0, 0xc0(r1)
/* 80304A10 00300670 2C 00 00 00 */ cmpwi r0, 0
/* 80304A14 00300674 40 82 00 68 */ bne lbl_80304A7C
/* 80304A18 00300678 2C 1F 00 00 */ cmpwi r31, 0
/* 80304A1C 0030067C 40 82 00 0C */ bne lbl_80304A28
/* 80304A20 00300680 38 00 FF FD */ li r0, -3
/* 80304A24 00300684 48 00 00 38 */ b lbl_80304A5C
lbl_80304A28:
/* 80304A28 00300688 2C 04 00 00 */ cmpwi r4, 0
/* 80304A2C 0030068C 40 82 00 0C */ bne lbl_80304A38
/* 80304A30 00300690 38 00 FF F7 */ li r0, -9
/* 80304A34 00300694 48 00 00 28 */ b lbl_80304A5C
lbl_80304A38:
/* 80304A38 00300698 A0 61 00 A8 */ lhz r3, 0xa8(r1)
/* 80304A3C 0030069C 28 03 FF FF */ cmplwi r3, 0xffff
/* 80304A40 003006A0 41 82 00 18 */ beq lbl_80304A58
/* 80304A44 003006A4 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80304A48 003006A8 7C 03 00 40 */ cmplw r3, r0
/* 80304A4C 003006AC 41 80 00 0C */ blt lbl_80304A58
/* 80304A50 003006B0 38 00 FF FD */ li r0, -3
/* 80304A54 003006B4 48 00 00 08 */ b lbl_80304A5C
lbl_80304A58:
/* 80304A58 003006B8 38 00 00 00 */ li r0, 0
lbl_80304A5C:
/* 80304A5C 003006BC 2C 00 00 00 */ cmpwi r0, 0
/* 80304A60 003006C0 40 82 00 1C */ bne lbl_80304A7C
/* 80304A64 003006C4 7F E3 FB 78 */ mr r3, r31
/* 80304A68 003006C8 48 00 01 35 */ bl func_80304B9C
/* 80304A6C 003006CC 2C 03 00 00 */ cmpwi r3, 0
/* 80304A70 003006D0 41 80 00 0C */ blt lbl_80304A7C
/* 80304A74 003006D4 38 1B FF FF */ addi r0, r27, -1
/* 80304A78 003006D8 B0 01 00 A8 */ sth r0, 0xa8(r1)
lbl_80304A7C:
/* 80304A7C 003006DC 3B DE 00 01 */ addi r30, r30, 1
lbl_80304A80:
/* 80304A80 003006E0 A0 1C 00 10 */ lhz r0, 0x10(r28)
/* 80304A84 003006E4 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 80304A88 003006E8 7C 03 00 40 */ cmplw r3, r0
/* 80304A8C 003006EC 41 80 FD E4 */ blt lbl_80304870
/* 80304A90 003006F0 39 61 02 C0 */ addi r11, r1, 0x2c0
/* 80304A94 003006F4 38 60 00 00 */ li r3, 0
/* 80304A98 003006F8 4B EC 26 D9 */ bl _restgpr_26
/* 80304A9C 003006FC 80 01 02 C4 */ lwz r0, 0x2c4(r1)
/* 80304AA0 00300700 7C 08 03 A6 */ mtlr r0
/* 80304AA4 00300704 38 21 02 C0 */ addi r1, r1, 0x2c0
/* 80304AA8 00300708 4E 80 00 20 */ blr
.global func_80304AAC
func_80304AAC:
/* 80304AAC 0030070C 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80304AB0 00300710 7C 08 02 A6 */ mflr r0
/* 80304AB4 00300714 38 A0 00 02 */ li r5, 2
/* 80304AB8 00300718 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80304ABC 0030071C 38 61 00 0C */ addi r3, r1, 0xc
/* 80304AC0 00300720 93 E1 00 AC */ stw r31, 0xac(r1)
/* 80304AC4 00300724 3B E0 00 00 */ li r31, 0
/* 80304AC8 00300728 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
/* 80304ACC 0030072C 93 E1 00 08 */ stw r31, 8(r1)
/* 80304AD0 00300730 4B FF D0 79 */ bl func_80301B48
/* 80304AD4 00300734 2C 03 00 00 */ cmpwi r3, 0
/* 80304AD8 00300738 40 80 00 08 */ bge lbl_80304AE0
/* 80304ADC 0030073C 48 00 00 AC */ b lbl_80304B88
lbl_80304AE0:
/* 80304AE0 00300740 38 61 00 0C */ addi r3, r1, 0xc
/* 80304AE4 00300744 38 80 00 00 */ li r4, 0
/* 80304AE8 00300748 38 A0 00 00 */ li r5, 0
/* 80304AEC 0030074C 4B FF D5 41 */ bl func_8030202C
/* 80304AF0 00300750 2C 03 00 00 */ cmpwi r3, 0
/* 80304AF4 00300754 40 80 00 08 */ bge lbl_80304AFC
/* 80304AF8 00300758 48 00 00 28 */ b lbl_80304B20
lbl_80304AFC:
/* 80304AFC 0030075C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304B00 00300760 38 A1 00 0C */ addi r5, r1, 0xc
/* 80304B04 00300764 38 80 08 00 */ li r4, 0x800
/* 80304B08 00300768 38 63 30 00 */ addi r3, r3, 0x3000
/* 80304B0C 0030076C 4B FF D7 0D */ bl func_80302218
/* 80304B10 00300770 2C 03 00 00 */ cmpwi r3, 0
/* 80304B14 00300774 40 80 00 08 */ bge lbl_80304B1C
/* 80304B18 00300778 7C 7F 1B 78 */ mr r31, r3
lbl_80304B1C:
/* 80304B1C 0030077C 7F E3 FB 78 */ mr r3, r31
lbl_80304B20:
/* 80304B20 00300780 2C 03 00 00 */ cmpwi r3, 0
/* 80304B24 00300784 40 80 00 08 */ bge lbl_80304B2C
/* 80304B28 00300788 48 00 00 60 */ b lbl_80304B88
lbl_80304B2C:
/* 80304B2C 0030078C 38 61 00 0C */ addi r3, r1, 0xc
/* 80304B30 00300790 38 81 00 08 */ addi r4, r1, 8
/* 80304B34 00300794 4B FF DA 85 */ bl func_803025B8
/* 80304B38 00300798 2C 03 00 00 */ cmpwi r3, 0
/* 80304B3C 0030079C 7C 7F 1B 78 */ mr r31, r3
/* 80304B40 003007A0 41 80 00 34 */ blt lbl_80304B74
/* 80304B44 003007A4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304B48 003007A8 A0 83 30 10 */ lhz r4, 0x3010(r3)
/* 80304B4C 003007AC 28 04 00 01 */ cmplwi r4, 1
/* 80304B50 003007B0 41 80 00 18 */ blt lbl_80304B68
/* 80304B54 003007B4 A0 03 30 12 */ lhz r0, 0x3012(r3)
/* 80304B58 003007B8 28 00 00 01 */ cmplwi r0, 1
/* 80304B5C 003007BC 41 80 00 0C */ blt lbl_80304B68
/* 80304B60 003007C0 7C 04 00 40 */ cmplw r4, r0
/* 80304B64 003007C4 40 80 00 0C */ bge lbl_80304B70
lbl_80304B68:
/* 80304B68 003007C8 3B E0 FF F2 */ li r31, -14
/* 80304B6C 003007CC 48 00 00 08 */ b lbl_80304B74
lbl_80304B70:
/* 80304B70 003007D0 3B E0 00 00 */ li r31, 0
lbl_80304B74:
/* 80304B74 003007D4 38 61 00 0C */ addi r3, r1, 0xc
/* 80304B78 003007D8 4B FF D3 21 */ bl func_80301E98
/* 80304B7C 003007DC 2C 1F 00 00 */ cmpwi r31, 0
/* 80304B80 003007E0 41 82 00 08 */ beq lbl_80304B88
/* 80304B84 003007E4 7F E3 FB 78 */ mr r3, r31
lbl_80304B88:
/* 80304B88 003007E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80304B8C 003007EC 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80304B90 003007F0 7C 08 03 A6 */ mtlr r0
/* 80304B94 003007F4 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80304B98 003007F8 4E 80 00 20 */ blr
.global func_80304B9C
func_80304B9C:
/* 80304B9C 003007FC 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 80304BA0 00300800 7C 08 02 A6 */ mflr r0
/* 80304BA4 00300804 38 A0 00 04 */ li r5, 4
/* 80304BA8 00300808 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 80304BAC 0030080C 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 80304BB0 00300810 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 80304BB4 00300814 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 80304BB8 00300818 7C 7D 1B 78 */ mr r29, r3
/* 80304BBC 0030081C 38 61 00 08 */ addi r3, r1, 8
/* 80304BC0 00300820 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
/* 80304BC4 00300824 4B FF CF 85 */ bl func_80301B48
/* 80304BC8 00300828 2C 03 00 00 */ cmpwi r3, 0
/* 80304BCC 0030082C 40 80 00 08 */ bge lbl_80304BD4
/* 80304BD0 00300830 48 00 01 30 */ b lbl_80304D00
lbl_80304BD4:
/* 80304BD4 00300834 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304BD8 00300838 38 80 00 00 */ li r4, 0
/* 80304BDC 0030083C A3 FD 00 00 */ lhz r31, 0(r29)
/* 80304BE0 00300840 38 A0 02 00 */ li r5, 0x200
/* 80304BE4 00300844 3B C3 38 00 */ addi r30, r3, 0x3800
/* 80304BE8 00300848 7F C3 F3 78 */ mr r3, r30
/* 80304BEC 0030084C 4B CF F5 19 */ bl memset
/* 80304BF0 00300850 38 60 00 FF */ li r3, 0xff
/* 80304BF4 00300854 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b
/* 80304BF8 00300858 98 7E 00 02 */ stb r3, 2(r30)
/* 80304BFC 0030085C 38 80 00 00 */ li r4, 0
/* 80304C00 00300860 38 A0 00 10 */ li r5, 0x10
/* 80304C04 00300864 B3 FE 00 00 */ sth r31, 0(r30)
/* 80304C08 00300868 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C0C 0030086C 7C 63 02 14 */ add r3, r3, r0
/* 80304C10 00300870 38 63 30 80 */ addi r3, r3, 0x3080
/* 80304C14 00300874 4B CF F4 F1 */ bl memset
/* 80304C18 00300878 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80304C1C 0030087C 38 61 00 08 */ addi r3, r1, 8
/* 80304C20 00300880 38 A0 00 00 */ li r5, 0
/* 80304C24 00300884 54 04 48 2C */ slwi r4, r0, 9
/* 80304C28 00300888 38 84 08 00 */ addi r4, r4, 0x800
/* 80304C2C 0030088C 4B FF D4 01 */ bl func_8030202C
/* 80304C30 00300890 2C 03 00 00 */ cmpwi r3, 0
/* 80304C34 00300894 40 80 00 08 */ bge lbl_80304C3C
/* 80304C38 00300898 48 00 00 40 */ b lbl_80304C78
lbl_80304C3C:
/* 80304C3C 0030089C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C40 003008A0 7F C4 F3 78 */ mr r4, r30
/* 80304C44 003008A4 38 A0 02 00 */ li r5, 0x200
/* 80304C48 003008A8 38 63 38 00 */ addi r3, r3, 0x3800
/* 80304C4C 003008AC 4B CF F3 B5 */ bl memcpy
/* 80304C50 003008B0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C54 003008B4 38 A1 00 08 */ addi r5, r1, 8
/* 80304C58 003008B8 38 80 02 00 */ li r4, 0x200
/* 80304C5C 003008BC 38 63 38 00 */ addi r3, r3, 0x3800
/* 80304C60 003008C0 4B FF D7 85 */ bl func_803023E4
/* 80304C64 003008C4 2C 03 00 00 */ cmpwi r3, 0
/* 80304C68 003008C8 38 00 00 00 */ li r0, 0
/* 80304C6C 003008CC 40 80 00 08 */ bge lbl_80304C74
/* 80304C70 003008D0 7C 60 1B 78 */ mr r0, r3
lbl_80304C74:
/* 80304C74 003008D4 7C 03 03 78 */ mr r3, r0
lbl_80304C78:
/* 80304C78 003008D8 2C 03 00 00 */ cmpwi r3, 0
/* 80304C7C 003008DC 7C 7E 1B 78 */ mr r30, r3
/* 80304C80 003008E0 41 80 00 6C */ blt lbl_80304CEC
/* 80304C84 003008E4 A0 1D 00 00 */ lhz r0, 0(r29)
/* 80304C88 003008E8 38 80 00 00 */ li r4, 0
/* 80304C8C 003008EC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C90 003008F0 38 A0 00 10 */ li r5, 0x10
/* 80304C94 003008F4 54 00 20 36 */ slwi r0, r0, 4
/* 80304C98 003008F8 7C 63 02 14 */ add r3, r3, r0
/* 80304C9C 003008FC 38 63 30 80 */ addi r3, r3, 0x3080
/* 80304CA0 00300900 4B CF F4 65 */ bl memset
/* 80304CA4 00300904 38 61 00 08 */ addi r3, r1, 8
/* 80304CA8 00300908 38 80 00 00 */ li r4, 0
/* 80304CAC 0030090C 38 A0 00 00 */ li r5, 0
/* 80304CB0 00300910 4B FF D3 7D */ bl func_8030202C
/* 80304CB4 00300914 2C 03 00 00 */ cmpwi r3, 0
/* 80304CB8 00300918 40 80 00 08 */ bge lbl_80304CC0
/* 80304CBC 0030091C 48 00 00 2C */ b lbl_80304CE8
lbl_80304CC0:
/* 80304CC0 00300920 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304CC4 00300924 38 A1 00 08 */ addi r5, r1, 8
/* 80304CC8 00300928 38 80 08 00 */ li r4, 0x800
/* 80304CCC 0030092C 38 63 30 00 */ addi r3, r3, 0x3000
/* 80304CD0 00300930 4B FF D7 15 */ bl func_803023E4
/* 80304CD4 00300934 2C 03 00 00 */ cmpwi r3, 0
/* 80304CD8 00300938 38 00 00 00 */ li r0, 0
/* 80304CDC 0030093C 40 80 00 08 */ bge lbl_80304CE4
/* 80304CE0 00300940 7C 60 1B 78 */ mr r0, r3
lbl_80304CE4:
/* 80304CE4 00300944 7C 03 03 78 */ mr r3, r0
lbl_80304CE8:
/* 80304CE8 00300948 7C 7E 1B 78 */ mr r30, r3
lbl_80304CEC:
/* 80304CEC 0030094C 38 61 00 08 */ addi r3, r1, 8
/* 80304CF0 00300950 4B FF D1 A9 */ bl func_80301E98
/* 80304CF4 00300954 2C 1E 00 00 */ cmpwi r30, 0
/* 80304CF8 00300958 41 82 00 08 */ beq lbl_80304D00
/* 80304CFC 0030095C 7F C3 F3 78 */ mr r3, r30
lbl_80304D00:
/* 80304D00 00300960 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80304D04 00300964 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 80304D08 00300968 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 80304D0C 0030096C 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 80304D10 00300970 7C 08 03 A6 */ mtlr r0
/* 80304D14 00300974 38 21 00 C0 */ addi r1, r1, 0xc0
/* 80304D18 00300978 4E 80 00 20 */ blr
.global func_80304D1C
func_80304D1C:
/* 80304D1C 0030097C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80304D20 00300980 7C 08 02 A6 */ mflr r0
/* 80304D24 00300984 90 01 00 24 */ stw r0, 0x24(r1)
/* 80304D28 00300988 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80304D2C 0030098C 3B E0 00 00 */ li r31, 0
/* 80304D30 00300990 4B FF E3 25 */ bl func_80303054
/* 80304D34 00300994 3C A0 80 30 */ lis r5, lbl_80304DC4@ha
/* 80304D38 00300998 3C 80 80 58 */ lis r4, lbl_8057EA00@ha
/* 80304D3C 0030099C 38 A5 4D C4 */ addi r5, r5, lbl_80304DC4@l
/* 80304D40 003009A0 38 00 00 6E */ li r0, 0x6e
/* 80304D44 003009A4 38 64 EA 00 */ addi r3, r4, lbl_8057EA00@l
/* 80304D48 003009A8 90 A4 EA 00 */ stw r5, -0x1600(r4)
/* 80304D4C 003009AC 90 03 00 04 */ stw r0, 4(r3)
/* 80304D50 003009B0 4B F6 AF 41 */ bl OSRegisterShutdownFunction
/* 80304D54 003009B4 80 0D 8C C8 */ lwz r0, lbl_8063DF88-_SDA_BASE_(r13)
/* 80304D58 003009B8 2C 00 00 00 */ cmpwi r0, 0
/* 80304D5C 003009BC 40 80 00 24 */ bge lbl_80304D80
/* 80304D60 003009C0 3C 60 80 44 */ lis r3, lbl_80446590@ha
/* 80304D64 003009C4 3C 80 80 44 */ lis r4, lbl_804465A8@ha
/* 80304D68 003009C8 38 63 65 90 */ addi r3, r3, lbl_80446590@l
/* 80304D6C 003009CC 38 AD 8C C8 */ addi r5, r13, lbl_8063DF88-_SDA_BASE_
/* 80304D70 003009D0 38 84 65 A8 */ addi r4, r4, lbl_804465A8@l
/* 80304D74 003009D4 38 C0 00 01 */ li r6, 1
/* 80304D78 003009D8 4B FF F9 05 */ bl func_8030467C
/* 80304D7C 003009DC 7C 7F 1B 78 */ mr r31, r3
lbl_80304D80:
/* 80304D80 003009E0 38 00 00 05 */ li r0, 5
/* 80304D84 003009E4 90 0D AF D0 */ stw r0, lbl_80640290-_SDA_BASE_(r13)
lbl_80304D88:
/* 80304D88 003009E8 4B FE 5C 65 */ bl SCCheckStatus
/* 80304D8C 003009EC 28 03 00 02 */ cmplwi r3, 2
/* 80304D90 003009F0 41 82 00 1C */ beq lbl_80304DAC
/* 80304D94 003009F4 28 03 00 01 */ cmplwi r3, 1
/* 80304D98 003009F8 41 82 FF F0 */ beq lbl_80304D88
/* 80304D9C 003009FC 38 61 00 08 */ addi r3, r1, 8
/* 80304DA0 00300A00 4B FE 76 9D */ bl SCGetIdleMode
/* 80304DA4 00300A04 88 61 00 09 */ lbz r3, 9(r1)
/* 80304DA8 00300A08 4B F6 E8 45 */ bl __OSSetIdleLEDMode
lbl_80304DAC:
/* 80304DAC 00300A0C 7F E3 FB 78 */ mr r3, r31
/* 80304DB0 00300A10 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80304DB4 00300A14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80304DB8 00300A18 7C 08 03 A6 */ mtlr r0
/* 80304DBC 00300A1C 38 21 00 20 */ addi r1, r1, 0x20
/* 80304DC0 00300A20 4E 80 00 20 */ blr
lbl_80304DC4:
/* 80304DC4 00300A24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80304DC8 00300A28 7C 08 02 A6 */ mflr r0
/* 80304DCC 00300A2C 2C 03 00 00 */ cmpwi r3, 0
/* 80304DD0 00300A30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80304DD4 00300A34 41 82 00 0C */ beq lbl_80304DE0
/* 80304DD8 00300A38 38 60 00 01 */ li r3, 1
/* 80304DDC 00300A3C 48 00 00 A8 */ b lbl_80304E84
lbl_80304DE0:
/* 80304DE0 00300A40 80 0D AF D4 */ lwz r0, lbl_80640294-_SDA_BASE_(r13)
/* 80304DE4 00300A44 2C 00 00 00 */ cmpwi r0, 0
/* 80304DE8 00300A48 41 82 00 54 */ beq lbl_80304E3C
/* 80304DEC 00300A4C 4B FF F9 E1 */ bl func_803047CC
/* 80304DF0 00300A50 2C 03 00 00 */ cmpwi r3, 0
/* 80304DF4 00300A54 41 82 00 0C */ beq lbl_80304E00
/* 80304DF8 00300A58 38 60 00 00 */ li r3, 0
/* 80304DFC 00300A5C 48 00 00 88 */ b lbl_80304E84
lbl_80304E00:
/* 80304E00 00300A60 80 0D AF D8 */ lwz r0, lbl_80640298-_SDA_BASE_(r13)
/* 80304E04 00300A64 2C 00 00 00 */ cmpwi r0, 0
/* 80304E08 00300A68 41 80 00 0C */ blt lbl_80304E14
/* 80304E0C 00300A6C 38 60 00 01 */ li r3, 1
/* 80304E10 00300A70 48 00 00 74 */ b lbl_80304E84
lbl_80304E14:
/* 80304E14 00300A74 80 6D AF D0 */ lwz r3, lbl_80640290-_SDA_BASE_(r13)
/* 80304E18 00300A78 2C 03 00 00 */ cmpwi r3, 0
/* 80304E1C 00300A7C 40 81 00 18 */ ble lbl_80304E34
/* 80304E20 00300A80 38 03 FF FF */ addi r0, r3, -1
/* 80304E24 00300A84 38 60 00 00 */ li r3, 0
/* 80304E28 00300A88 90 6D AF D4 */ stw r3, lbl_80640294-_SDA_BASE_(r13)
/* 80304E2C 00300A8C 90 0D AF D0 */ stw r0, lbl_80640290-_SDA_BASE_(r13)
/* 80304E30 00300A90 48 00 00 50 */ b lbl_80304E80
lbl_80304E34:
/* 80304E34 00300A94 38 60 00 01 */ li r3, 1
/* 80304E38 00300A98 48 00 00 4C */ b lbl_80304E84
lbl_80304E3C:
/* 80304E3C 00300A9C 3C A0 80 58 */ lis r5, lbl_8057EA20@ha
/* 80304E40 00300AA0 3C 60 80 44 */ lis r3, lbl_804465BC@ha
/* 80304E44 00300AA4 90 85 EA 20 */ stw r4, lbl_8057EA20@l(r5)
/* 80304E48 00300AA8 3D 00 80 58 */ lis r8, lbl_8057EA40@ha
/* 80304E4C 00300AAC 38 C5 EA 20 */ addi r6, r5, -5600
/* 80304E50 00300AB0 80 8D 8C C8 */ lwz r4, lbl_8063DF88-_SDA_BASE_(r13)
/* 80304E54 00300AB4 38 63 65 BC */ addi r3, r3, lbl_804465BC@l
/* 80304E58 00300AB8 39 08 EA 40 */ addi r8, r8, lbl_8057EA40@l
/* 80304E5C 00300ABC 38 A0 00 28 */ li r5, 0x28
/* 80304E60 00300AC0 38 E0 00 20 */ li r7, 0x20
/* 80304E64 00300AC4 39 20 00 20 */ li r9, 0x20
/* 80304E68 00300AC8 39 4D AF D8 */ addi r10, r13, lbl_80640298-_SDA_BASE_
/* 80304E6C 00300ACC 4B FF F9 05 */ bl func_80304770
/* 80304E70 00300AD0 2C 03 00 00 */ cmpwi r3, 0
/* 80304E74 00300AD4 41 80 00 0C */ blt lbl_80304E80
/* 80304E78 00300AD8 38 00 00 01 */ li r0, 1
/* 80304E7C 00300ADC 90 0D AF D4 */ stw r0, lbl_80640294-_SDA_BASE_(r13)
lbl_80304E80:
/* 80304E80 00300AE0 38 60 00 00 */ li r3, 0
lbl_80304E84:
/* 80304E84 00300AE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80304E88 00300AE8 7C 08 03 A6 */ mtlr r0
/* 80304E8C 00300AEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80304E90 00300AF0 4E 80 00 20 */ blr
|