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