summaryrefslogtreecommitdiff
path: root/asm/SDK/SC/scsystem.s
blob: 9cd2d1a0a9afb1238d49fb483117e5f0ca516e3d (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
.include "macros.inc"

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

.global SCInit
SCInit:
/* 802EA94C 002E65AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EA950 002E65B0  7C 08 02 A6 */	mflr r0
/* 802EA954 002E65B4  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EA958 002E65B8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802EA95C 002E65BC  4B F8 3E 01 */	bl OSDisableInterrupts
/* 802EA960 002E65C0  88 0D AF 26 */	lbz r0, lbl_806401E6-_SDA_BASE_(r13)
/* 802EA964 002E65C4  2C 00 00 00 */	cmpwi r0, 0
/* 802EA968 002E65C8  41 82 00 0C */	beq lbl_802EA974
/* 802EA96C 002E65CC  4B F8 3E 19 */	bl OSRestoreInterrupts
/* 802EA970 002E65D0  48 00 00 68 */	b lbl_802EA9D8
lbl_802EA974:
/* 802EA974 002E65D4  3B E0 00 01 */	li r31, 1
/* 802EA978 002E65D8  9B ED AF 26 */	stb r31, lbl_806401E6-_SDA_BASE_(r13)
/* 802EA97C 002E65DC  9B ED AF 10 */	stb r31, lbl_806401D0-_SDA_BASE_(r13)
/* 802EA980 002E65E0  4B F8 3E 05 */	bl OSRestoreInterrupts
/* 802EA984 002E65E4  80 6D 8A C0 */	lwz r3, lbl_8063DD80-_SDA_BASE_(r13)
/* 802EA988 002E65E8  4B F7 EC C9 */	bl OSRegisterVersion
/* 802EA98C 002E65EC  3C 60 80 57 */	lis r3, lbl_80570EC0@ha
/* 802EA990 002E65F0  38 63 0E C0 */	addi r3, r3, lbl_80570EC0@l
/* 802EA994 002E65F4  4B F8 69 55 */	bl OSInitThreadQueue
/* 802EA998 002E65F8  4B F7 DB 95 */	bl OSGetConsoleType
/* 802EA99C 002E65FC  54 60 00 C7 */	rlwinm. r0, r3, 0, 3, 3
/* 802EA9A0 002E6600  41 82 00 08 */	beq lbl_802EA9A8
/* 802EA9A4 002E6604  9B ED AF 24 */	stb r31, lbl_806401E4-_SDA_BASE_(r13)
lbl_802EA9A8:
/* 802EA9A8 002E6608  4B FF EC 9D */	bl NANDInit
/* 802EA9AC 002E660C  2C 03 00 00 */	cmpwi r3, 0
/* 802EA9B0 002E6610  40 82 00 20 */	bne lbl_802EA9D0
/* 802EA9B4 002E6614  3C 60 80 57 */	lis r3, lbl_80571060@ha
/* 802EA9B8 002E6618  38 80 40 00 */	li r4, 0x4000
/* 802EA9BC 002E661C  38 63 10 60 */	addi r3, r3, lbl_80571060@l
/* 802EA9C0 002E6620  38 A0 00 00 */	li r5, 0
/* 802EA9C4 002E6624  48 00 01 45 */	bl SCReloadConfFileAsync
/* 802EA9C8 002E6628  2C 03 00 00 */	cmpwi r3, 0
/* 802EA9CC 002E662C  41 82 00 0C */	beq lbl_802EA9D8
lbl_802EA9D0:
/* 802EA9D0 002E6630  38 00 00 02 */	li r0, 2
/* 802EA9D4 002E6634  98 0D AF 10 */	stb r0, lbl_806401D0-_SDA_BASE_(r13)
lbl_802EA9D8:
/* 802EA9D8 002E6638  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EA9DC 002E663C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802EA9E0 002E6640  7C 08 03 A6 */	mtlr r0
/* 802EA9E4 002E6644  38 21 00 10 */	addi r1, r1, 0x10
/* 802EA9E8 002E6648  4E 80 00 20 */	blr

.global SCCheckStatus
SCCheckStatus:
/* 802EA9EC 002E664C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EA9F0 002E6650  7C 08 02 A6 */	mflr r0
/* 802EA9F4 002E6654  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EA9F8 002E6658  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802EA9FC 002E665C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802EAA00 002E6660  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802EAA04 002E6664  4B F8 3D 59 */	bl OSDisableInterrupts
/* 802EAA08 002E6668  8B AD AF 10 */	lbz r29, lbl_806401D0-_SDA_BASE_(r13)
/* 802EAA0C 002E666C  28 1D 00 03 */	cmplwi r29, 3
/* 802EAA10 002E6670  40 82 00 D4 */	bne lbl_802EAAE4
/* 802EAA14 002E6674  38 00 00 01 */	li r0, 1
/* 802EAA18 002E6678  98 0D AF 10 */	stb r0, lbl_806401D0-_SDA_BASE_(r13)
/* 802EAA1C 002E667C  4B F8 3D 69 */	bl OSRestoreInterrupts
/* 802EAA20 002E6680  3F E0 80 57 */	lis r31, lbl_80570EC0@ha
/* 802EAA24 002E6684  3B FF 0E C0 */	addi r31, r31, lbl_80570EC0@l
/* 802EAA28 002E6688  80 7F 01 68 */	lwz r3, 0x168(r31)
/* 802EAA2C 002E668C  80 9F 01 78 */	lwz r4, 0x178(r31)
/* 802EAA30 002E6690  48 00 05 71 */	bl ParseConfBuf
/* 802EAA34 002E6694  2C 03 00 00 */	cmpwi r3, 0
/* 802EAA38 002E6698  40 82 00 40 */	bne lbl_802EAA78
/* 802EAA3C 002E669C  4B F8 3D 21 */	bl OSDisableInterrupts
/* 802EAA40 002E66A0  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EAA44 002E66A4  80 9F 01 68 */	lwz r4, 0x168(r31)
/* 802EAA48 002E66A8  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EAA4C 002E66AC  7C 7D 1B 78 */	mr r29, r3
/* 802EAA50 002E66B0  7C 05 20 40 */	cmplw r5, r4
/* 802EAA54 002E66B4  41 82 00 10 */	beq lbl_802EAA64
/* 802EAA58 002E66B8  7C A3 2B 78 */	mr r3, r5
/* 802EAA5C 002E66BC  38 A0 40 00 */	li r5, 0x4000
/* 802EAA60 002E66C0  4B D1 95 A1 */	bl memcpy
lbl_802EAA64:
/* 802EAA64 002E66C4  38 00 00 00 */	li r0, 0
/* 802EAA68 002E66C8  7F A3 EB 78 */	mr r3, r29
/* 802EAA6C 002E66CC  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
/* 802EAA70 002E66D0  4B F8 3D 15 */	bl OSRestoreInterrupts
/* 802EAA74 002E66D4  48 00 00 64 */	b lbl_802EAAD8
lbl_802EAA78:
/* 802EAA78 002E66D8  4B F8 3C E5 */	bl OSDisableInterrupts
/* 802EAA7C 002E66DC  83 FF 01 68 */	lwz r31, 0x168(r31)
/* 802EAA80 002E66E0  7C 7D 1B 78 */	mr r29, r3
/* 802EAA84 002E66E4  3B C0 40 00 */	li r30, 0x4000
/* 802EAA88 002E66E8  38 80 00 00 */	li r4, 0
/* 802EAA8C 002E66EC  7F E3 FB 78 */	mr r3, r31
/* 802EAA90 002E66F0  38 A0 40 00 */	li r5, 0x4000
/* 802EAA94 002E66F4  4B D1 96 71 */	bl memset
/* 802EAA98 002E66F8  28 1E 00 0C */	cmplwi r30, 0xc
/* 802EAA9C 002E66FC  40 81 00 2C */	ble lbl_802EAAC8
/* 802EAAA0 002E6700  7F E3 FB 78 */	mr r3, r31
/* 802EAAA4 002E6704  38 8D 8B B0 */	addi r4, r13, lbl_8063DE70-_SDA_BASE_
/* 802EAAA8 002E6708  38 A0 00 04 */	li r5, 4
/* 802EAAAC 002E670C  4B D1 95 55 */	bl memcpy
/* 802EAAB0 002E6710  38 7F 3F FC */	addi r3, r31, 0x3ffc
/* 802EAAB4 002E6714  38 8D 8B B8 */	addi r4, r13, lbl_8063DE78-_SDA_BASE_
/* 802EAAB8 002E6718  38 A0 00 04 */	li r5, 4
/* 802EAABC 002E671C  4B D1 95 45 */	bl memcpy
/* 802EAAC0 002E6720  38 00 00 08 */	li r0, 8
/* 802EAAC4 002E6724  B0 1F 00 06 */	sth r0, 6(r31)
lbl_802EAAC8:
/* 802EAAC8 002E6728  38 00 00 00 */	li r0, 0
/* 802EAACC 002E672C  7F A3 EB 78 */	mr r3, r29
/* 802EAAD0 002E6730  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
/* 802EAAD4 002E6734  4B F8 3C B1 */	bl OSRestoreInterrupts
lbl_802EAAD8:
/* 802EAAD8 002E6738  3B A0 00 00 */	li r29, 0
/* 802EAADC 002E673C  9B AD AF 10 */	stb r29, lbl_806401D0-_SDA_BASE_(r13)
/* 802EAAE0 002E6740  48 00 00 08 */	b lbl_802EAAE8
lbl_802EAAE4:
/* 802EAAE4 002E6744  4B F8 3C A1 */	bl OSRestoreInterrupts
lbl_802EAAE8:
/* 802EAAE8 002E6748  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802EAAEC 002E674C  7F A3 EB 78 */	mr r3, r29
/* 802EAAF0 002E6750  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802EAAF4 002E6754  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802EAAF8 002E6758  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EAAFC 002E675C  7C 08 03 A6 */	mtlr r0
/* 802EAB00 002E6760  38 21 00 20 */	addi r1, r1, 0x20
/* 802EAB04 002E6764  4E 80 00 20 */	blr

.global SCReloadConfFileAsync
SCReloadConfFileAsync:
/* 802EAB08 002E6768  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EAB0C 002E676C  7C 08 02 A6 */	mflr r0
/* 802EAB10 002E6770  28 04 40 00 */	cmplwi r4, 0x4000
/* 802EAB14 002E6774  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EAB18 002E6778  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802EAB1C 002E677C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802EAB20 002E6780  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802EAB24 002E6784  7C 7D 1B 78 */	mr r29, r3
/* 802EAB28 002E6788  40 80 00 0C */	bge lbl_802EAB34
/* 802EAB2C 002E678C  38 60 FF 80 */	li r3, -128
/* 802EAB30 002E6790  48 00 00 D0 */	b lbl_802EAC00
lbl_802EAB34:
/* 802EAB34 002E6794  3F C0 80 57 */	lis r30, lbl_80570EC0@ha
/* 802EAB38 002E6798  3D 20 80 40 */	lis r9, lbl_803FE070@ha
/* 802EAB3C 002E679C  3B DE 0E C0 */	addi r30, r30, lbl_80570EC0@l
/* 802EAB40 002E67A0  3B E0 00 00 */	li r31, 0
/* 802EAB44 002E67A4  3D 00 80 40 */	lis r8, lbl_803FE088@ha
/* 802EAB48 002E67A8  3C 80 80 00 */	lis r4, 0x80003800@ha
/* 802EAB4C 002E67AC  38 E4 38 00 */	addi r7, r4, 0x80003800@l
/* 802EAB50 002E67B0  39 29 E0 70 */	addi r9, r9, lbl_803FE070@l
/* 802EAB54 002E67B4  39 40 00 01 */	li r10, 1
/* 802EAB58 002E67B8  39 08 E0 88 */	addi r8, r8, lbl_803FE088@l
/* 802EAB5C 002E67BC  38 C0 40 00 */	li r6, 0x4000
/* 802EAB60 002E67C0  38 00 01 00 */	li r0, 0x100
/* 802EAB64 002E67C4  90 BE 01 58 */	stw r5, 0x158(r30)
/* 802EAB68 002E67C8  38 80 00 00 */	li r4, 0
/* 802EAB6C 002E67CC  38 A0 40 00 */	li r5, 0x4000
/* 802EAB70 002E67D0  99 4D AF 10 */	stb r10, lbl_806401D0-_SDA_BASE_(r13)
/* 802EAB74 002E67D4  93 FE 01 5C */	stw r31, 0x15c(r30)
/* 802EAB78 002E67D8  9B FE 01 56 */	stb r31, 0x156(r30)
/* 802EAB7C 002E67DC  93 FE 01 78 */	stw r31, 0x178(r30)
/* 802EAB80 002E67E0  93 FE 01 7C */	stw r31, 0x17c(r30)
/* 802EAB84 002E67E4  91 3E 01 60 */	stw r9, 0x160(r30)
/* 802EAB88 002E67E8  91 1E 01 64 */	stw r8, 0x164(r30)
/* 802EAB8C 002E67EC  90 7E 01 68 */	stw r3, 0x168(r30)
/* 802EAB90 002E67F0  90 FE 01 6C */	stw r7, 0x16c(r30)
/* 802EAB94 002E67F4  90 DE 01 70 */	stw r6, 0x170(r30)
/* 802EAB98 002E67F8  90 1E 01 74 */	stw r0, 0x174(r30)
/* 802EAB9C 002E67FC  4B D1 95 69 */	bl memset
/* 802EABA0 002E6800  7F A3 EB 78 */	mr r3, r29
/* 802EABA4 002E6804  38 8D 8B B0 */	addi r4, r13, lbl_8063DE70-_SDA_BASE_
/* 802EABA8 002E6808  38 A0 00 04 */	li r5, 4
/* 802EABAC 002E680C  4B D1 94 55 */	bl memcpy
/* 802EABB0 002E6810  38 7D 3F FC */	addi r3, r29, 0x3ffc
/* 802EABB4 002E6814  38 8D 8B B8 */	addi r4, r13, lbl_8063DE78-_SDA_BASE_
/* 802EABB8 002E6818  38 A0 00 04 */	li r5, 4
/* 802EABBC 002E681C  4B D1 94 45 */	bl memcpy
/* 802EABC0 002E6820  38 00 00 08 */	li r0, 8
/* 802EABC4 002E6824  3C C0 80 2F */	lis r6, OpenCallbackFromReload@ha
/* 802EABC8 002E6828  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EABCC 002E682C  38 9E 00 08 */	addi r4, r30, 8
/* 802EABD0 002E6830  38 C6 AC 1C */	addi r6, r6, OpenCallbackFromReload@l
/* 802EABD4 002E6834  38 FE 00 94 */	addi r7, r30, 0x94
/* 802EABD8 002E6838  88 1E 01 56 */	lbz r0, 0x156(r30)
/* 802EABDC 002E683C  38 A0 00 01 */	li r5, 1
/* 802EABE0 002E6840  9B FE 01 55 */	stb r31, 0x155(r30)
/* 802EABE4 002E6844  54 00 10 3A */	slwi r0, r0, 2
/* 802EABE8 002E6848  7C 7E 02 14 */	add r3, r30, r0
/* 802EABEC 002E684C  93 ED AF 20 */	stw r31, lbl_806401E0-_SDA_BASE_(r13)
/* 802EABF0 002E6850  80 63 01 60 */	lwz r3, 0x160(r3)
/* 802EABF4 002E6854  93 ED AF 18 */	stw r31, lbl_806401D8-_SDA_BASE_(r13)
/* 802EABF8 002E6858  93 ED AF 14 */	stw r31, lbl_806401D4-_SDA_BASE_(r13)
/* 802EABFC 002E685C  4B FF D9 9D */	bl NANDPrivateOpenAsync
lbl_802EAC00:
/* 802EAC00 002E6860  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EAC04 002E6864  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802EAC08 002E6868  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802EAC0C 002E686C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802EAC10 002E6870  7C 08 03 A6 */	mtlr r0
/* 802EAC14 002E6874  38 21 00 20 */	addi r1, r1, 0x20
/* 802EAC18 002E6878  4E 80 00 20 */	blr

OpenCallbackFromReload:
/* 802EAC1C 002E687C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EAC20 002E6880  7C 08 02 A6 */	mflr r0
/* 802EAC24 002E6884  2C 03 00 00 */	cmpwi r3, 0
/* 802EAC28 002E6888  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EAC2C 002E688C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802EAC30 002E6890  7C 7F 1B 78 */	mr r31, r3
/* 802EAC34 002E6894  40 82 00 44 */	bne lbl_802EAC78
/* 802EAC38 002E6898  3C 80 80 57 */	lis r4, lbl_80570EC0@ha
/* 802EAC3C 002E689C  3C C0 80 2F */	lis r6, ReadCallbackFromReload@ha
/* 802EAC40 002E68A0  38 84 0E C0 */	addi r4, r4, lbl_80570EC0@l
/* 802EAC44 002E68A4  38 A0 00 01 */	li r5, 1
/* 802EAC48 002E68A8  88 04 01 56 */	lbz r0, 0x156(r4)
/* 802EAC4C 002E68AC  38 64 00 08 */	addi r3, r4, 8
/* 802EAC50 002E68B0  98 A4 01 55 */	stb r5, 0x155(r4)
/* 802EAC54 002E68B4  38 E4 00 94 */	addi r7, r4, 0x94
/* 802EAC58 002E68B8  54 00 10 3A */	slwi r0, r0, 2
/* 802EAC5C 002E68BC  38 C6 AC EC */	addi r6, r6, ReadCallbackFromReload@l
/* 802EAC60 002E68C0  7C A4 02 14 */	add r5, r4, r0
/* 802EAC64 002E68C4  80 85 01 68 */	lwz r4, 0x168(r5)
/* 802EAC68 002E68C8  80 A5 01 70 */	lwz r5, 0x170(r5)
/* 802EAC6C 002E68CC  4B FF CC BD */	bl NANDReadAsync
/* 802EAC70 002E68D0  2C 03 00 00 */	cmpwi r3, 0
/* 802EAC74 002E68D4  41 82 00 64 */	beq lbl_802EACD8
lbl_802EAC78:
/* 802EAC78 002E68D8  3C 60 80 57 */	lis r3, lbl_80570EC0@ha
/* 802EAC7C 002E68DC  38 63 0E C0 */	addi r3, r3, lbl_80570EC0@l
/* 802EAC80 002E68E0  88 03 01 56 */	lbz r0, 0x156(r3)
/* 802EAC84 002E68E4  2C 00 00 00 */	cmpwi r0, 0
/* 802EAC88 002E68E8  40 82 00 08 */	bne lbl_802EAC90
/* 802EAC8C 002E68EC  93 E3 01 5C */	stw r31, 0x15c(r3)
lbl_802EAC90:
/* 802EAC90 002E68F0  3C A0 80 57 */	lis r5, lbl_80570EC0@ha
/* 802EAC94 002E68F4  38 80 00 00 */	li r4, 0
/* 802EAC98 002E68F8  38 A5 0E C0 */	addi r5, r5, lbl_80570EC0@l
/* 802EAC9C 002E68FC  88 05 01 56 */	lbz r0, 0x156(r5)
/* 802EACA0 002E6900  54 00 10 3A */	slwi r0, r0, 2
/* 802EACA4 002E6904  7C 65 02 14 */	add r3, r5, r0
/* 802EACA8 002E6908  90 83 01 78 */	stw r4, 0x178(r3)
/* 802EACAC 002E690C  88 05 01 55 */	lbz r0, 0x155(r5)
/* 802EACB0 002E6910  2C 00 00 00 */	cmpwi r0, 0
/* 802EACB4 002E6914  41 82 00 20 */	beq lbl_802EACD4
/* 802EACB8 002E6918  3C 80 80 2F */	lis r4, CloseCallbackFromReloadError@ha
/* 802EACBC 002E691C  38 65 00 08 */	addi r3, r5, 8
/* 802EACC0 002E6920  38 84 AF 9C */	addi r4, r4, CloseCallbackFromReloadError@l
/* 802EACC4 002E6924  38 A5 00 94 */	addi r5, r5, 0x94
/* 802EACC8 002E6928  4B FF DA 2D */	bl NANDCloseAsync
/* 802EACCC 002E692C  2C 03 00 00 */	cmpwi r3, 0
/* 802EACD0 002E6930  41 82 00 08 */	beq lbl_802EACD8
lbl_802EACD4:
/* 802EACD4 002E6934  48 00 01 8D */	bl FinishFromReload
lbl_802EACD8:
/* 802EACD8 002E6938  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EACDC 002E693C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802EACE0 002E6940  7C 08 03 A6 */	mtlr r0
/* 802EACE4 002E6944  38 21 00 10 */	addi r1, r1, 0x10
/* 802EACE8 002E6948  4E 80 00 20 */	blr

ReadCallbackFromReload:
/* 802EACEC 002E694C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EACF0 002E6950  7C 08 02 A6 */	mflr r0
/* 802EACF4 002E6954  3C A0 80 57 */	lis r5, lbl_80570EC0@ha
/* 802EACF8 002E6958  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EACFC 002E695C  38 A5 0E C0 */	addi r5, r5, lbl_80570EC0@l
/* 802EAD00 002E6960  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802EAD04 002E6964  7C 7F 1B 78 */	mr r31, r3
/* 802EAD08 002E6968  88 05 01 56 */	lbz r0, 0x156(r5)
/* 802EAD0C 002E696C  54 00 10 3A */	slwi r0, r0, 2
/* 802EAD10 002E6970  7C 85 02 14 */	add r4, r5, r0
/* 802EAD14 002E6974  80 04 01 70 */	lwz r0, 0x170(r4)
/* 802EAD18 002E6978  7C 03 00 40 */	cmplw r3, r0
/* 802EAD1C 002E697C  40 82 00 2C */	bne lbl_802EAD48
/* 802EAD20 002E6980  90 64 01 78 */	stw r3, 0x178(r4)
/* 802EAD24 002E6984  38 00 00 00 */	li r0, 0
/* 802EAD28 002E6988  3C 80 80 2F */	lis r4, CloseCallbackFromReload@ha
/* 802EAD2C 002E698C  38 65 00 08 */	addi r3, r5, 8
/* 802EAD30 002E6990  98 05 01 55 */	stb r0, 0x155(r5)
/* 802EAD34 002E6994  38 84 AD D4 */	addi r4, r4, CloseCallbackFromReload@l
/* 802EAD38 002E6998  38 A5 00 94 */	addi r5, r5, 0x94
/* 802EAD3C 002E699C  4B FF D9 B9 */	bl NANDCloseAsync
/* 802EAD40 002E69A0  2C 03 00 00 */	cmpwi r3, 0
/* 802EAD44 002E69A4  41 82 00 7C */	beq lbl_802EADC0
lbl_802EAD48:
/* 802EAD48 002E69A8  3C 60 80 57 */	lis r3, lbl_80570EC0@ha
/* 802EAD4C 002E69AC  38 63 0E C0 */	addi r3, r3, lbl_80570EC0@l
/* 802EAD50 002E69B0  88 03 01 56 */	lbz r0, 0x156(r3)
/* 802EAD54 002E69B4  2C 00 00 00 */	cmpwi r0, 0
/* 802EAD58 002E69B8  40 82 00 20 */	bne lbl_802EAD78
/* 802EAD5C 002E69BC  2C 1F 00 00 */	cmpwi r31, 0
/* 802EAD60 002E69C0  38 00 FF 80 */	li r0, -128
/* 802EAD64 002E69C4  41 82 00 08 */	beq lbl_802EAD6C
/* 802EAD68 002E69C8  7F E0 FB 78 */	mr r0, r31
lbl_802EAD6C:
/* 802EAD6C 002E69CC  3C 60 80 57 */	lis r3, lbl_80570EC0@ha
/* 802EAD70 002E69D0  38 63 0E C0 */	addi r3, r3, lbl_80570EC0@l
/* 802EAD74 002E69D4  90 03 01 5C */	stw r0, 0x15c(r3)
lbl_802EAD78:
/* 802EAD78 002E69D8  3C A0 80 57 */	lis r5, lbl_80570EC0@ha
/* 802EAD7C 002E69DC  38 80 00 00 */	li r4, 0
/* 802EAD80 002E69E0  38 A5 0E C0 */	addi r5, r5, lbl_80570EC0@l
/* 802EAD84 002E69E4  88 05 01 56 */	lbz r0, 0x156(r5)
/* 802EAD88 002E69E8  54 00 10 3A */	slwi r0, r0, 2
/* 802EAD8C 002E69EC  7C 65 02 14 */	add r3, r5, r0
/* 802EAD90 002E69F0  90 83 01 78 */	stw r4, 0x178(r3)
/* 802EAD94 002E69F4  88 05 01 55 */	lbz r0, 0x155(r5)
/* 802EAD98 002E69F8  2C 00 00 00 */	cmpwi r0, 0
/* 802EAD9C 002E69FC  41 82 00 20 */	beq lbl_802EADBC
/* 802EADA0 002E6A00  3C 80 80 2F */	lis r4, CloseCallbackFromReloadError@ha
/* 802EADA4 002E6A04  38 65 00 08 */	addi r3, r5, 8
/* 802EADA8 002E6A08  38 84 AF 9C */	addi r4, r4, CloseCallbackFromReloadError@l
/* 802EADAC 002E6A0C  38 A5 00 94 */	addi r5, r5, 0x94
/* 802EADB0 002E6A10  4B FF D9 45 */	bl NANDCloseAsync
/* 802EADB4 002E6A14  2C 03 00 00 */	cmpwi r3, 0
/* 802EADB8 002E6A18  41 82 00 08 */	beq lbl_802EADC0
lbl_802EADBC:
/* 802EADBC 002E6A1C  48 00 00 A5 */	bl FinishFromReload
lbl_802EADC0:
/* 802EADC0 002E6A20  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EADC4 002E6A24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802EADC8 002E6A28  7C 08 03 A6 */	mtlr r0
/* 802EADCC 002E6A2C  38 21 00 10 */	addi r1, r1, 0x10
/* 802EADD0 002E6A30  4E 80 00 20 */	blr

CloseCallbackFromReload:
/* 802EADD4 002E6A34  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EADD8 002E6A38  7C 08 02 A6 */	mflr r0
/* 802EADDC 002E6A3C  2C 03 00 00 */	cmpwi r3, 0
/* 802EADE0 002E6A40  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EADE4 002E6A44  40 82 00 0C */	bne lbl_802EADF0
/* 802EADE8 002E6A48  48 00 00 79 */	bl FinishFromReload
/* 802EADEC 002E6A4C  48 00 00 64 */	b lbl_802EAE50
lbl_802EADF0:
/* 802EADF0 002E6A50  3C 80 80 57 */	lis r4, lbl_80570EC0@ha
/* 802EADF4 002E6A54  38 84 0E C0 */	addi r4, r4, lbl_80570EC0@l
/* 802EADF8 002E6A58  88 04 01 56 */	lbz r0, 0x156(r4)
/* 802EADFC 002E6A5C  2C 00 00 00 */	cmpwi r0, 0
/* 802EAE00 002E6A60  40 82 00 08 */	bne lbl_802EAE08
/* 802EAE04 002E6A64  90 64 01 5C */	stw r3, 0x15c(r4)
lbl_802EAE08:
/* 802EAE08 002E6A68  3C A0 80 57 */	lis r5, lbl_80570EC0@ha
/* 802EAE0C 002E6A6C  38 80 00 00 */	li r4, 0
/* 802EAE10 002E6A70  38 A5 0E C0 */	addi r5, r5, lbl_80570EC0@l
/* 802EAE14 002E6A74  88 05 01 56 */	lbz r0, 0x156(r5)
/* 802EAE18 002E6A78  54 00 10 3A */	slwi r0, r0, 2
/* 802EAE1C 002E6A7C  7C 65 02 14 */	add r3, r5, r0
/* 802EAE20 002E6A80  90 83 01 78 */	stw r4, 0x178(r3)
/* 802EAE24 002E6A84  88 05 01 55 */	lbz r0, 0x155(r5)
/* 802EAE28 002E6A88  2C 00 00 00 */	cmpwi r0, 0
/* 802EAE2C 002E6A8C  41 82 00 20 */	beq lbl_802EAE4C
/* 802EAE30 002E6A90  3C 80 80 2F */	lis r4, CloseCallbackFromReloadError@ha
/* 802EAE34 002E6A94  38 65 00 08 */	addi r3, r5, 8
/* 802EAE38 002E6A98  38 84 AF 9C */	addi r4, r4, CloseCallbackFromReloadError@l
/* 802EAE3C 002E6A9C  38 A5 00 94 */	addi r5, r5, 0x94
/* 802EAE40 002E6AA0  4B FF D8 B5 */	bl NANDCloseAsync
/* 802EAE44 002E6AA4  2C 03 00 00 */	cmpwi r3, 0
/* 802EAE48 002E6AA8  41 82 00 08 */	beq lbl_802EAE50
lbl_802EAE4C:
/* 802EAE4C 002E6AAC  48 00 00 15 */	bl FinishFromReload
lbl_802EAE50:
/* 802EAE50 002E6AB0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EAE54 002E6AB4  7C 08 03 A6 */	mtlr r0
/* 802EAE58 002E6AB8  38 21 00 10 */	addi r1, r1, 0x10
/* 802EAE5C 002E6ABC  4E 80 00 20 */	blr

.global FinishFromReload
FinishFromReload:
/* 802EAE60 002E6AC0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EAE64 002E6AC4  7C 08 02 A6 */	mflr r0
/* 802EAE68 002E6AC8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EAE6C 002E6ACC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802EAE70 002E6AD0  3B E0 00 00 */	li r31, 0
/* 802EAE74 002E6AD4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802EAE78 002E6AD8  3F C0 80 2F */	lis r30, 0x802f
/* 802EAE7C 002E6ADC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802EAE80 002E6AE0  3F A0 80 57 */	lis r29, lbl_80570EC0@ha
/* 802EAE84 002E6AE4  3B BD 0E C0 */	addi r29, r29, lbl_80570EC0@l
/* 802EAE88 002E6AE8  93 81 00 10 */	stw r28, 0x10(r1)
lbl_802EAE8C:
/* 802EAE8C 002E6AEC  88 7D 01 56 */	lbz r3, 0x156(r29)
/* 802EAE90 002E6AF0  38 63 00 01 */	addi r3, r3, 1
/* 802EAE94 002E6AF4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 802EAE98 002E6AF8  98 7D 01 56 */	stb r3, 0x156(r29)
/* 802EAE9C 002E6AFC  28 00 00 02 */	cmplwi r0, 2
/* 802EAEA0 002E6B00  40 80 00 34 */	bge lbl_802EAED4
/* 802EAEA4 002E6B04  54 60 15 BA */	rlwinm r0, r3, 2, 0x16, 0x1d
/* 802EAEA8 002E6B08  9B FD 01 55 */	stb r31, 0x155(r29)
/* 802EAEAC 002E6B0C  7C 7D 02 14 */	add r3, r29, r0
/* 802EAEB0 002E6B10  38 9D 00 08 */	addi r4, r29, 8
/* 802EAEB4 002E6B14  80 63 01 60 */	lwz r3, 0x160(r3)
/* 802EAEB8 002E6B18  38 DE AC 1C */	addi r6, r30, -21476
/* 802EAEBC 002E6B1C  38 FD 00 94 */	addi r7, r29, 0x94
/* 802EAEC0 002E6B20  38 A0 00 01 */	li r5, 1
/* 802EAEC4 002E6B24  4B FF D6 D5 */	bl NANDPrivateOpenAsync
/* 802EAEC8 002E6B28  2C 03 00 00 */	cmpwi r3, 0
/* 802EAECC 002E6B2C  40 82 FF C0 */	bne lbl_802EAE8C
/* 802EAED0 002E6B30  48 00 00 AC */	b lbl_802EAF7C
lbl_802EAED4:
/* 802EAED4 002E6B34  80 1D 01 5C */	lwz r0, 0x15c(r29)
/* 802EAED8 002E6B38  2C 00 00 00 */	cmpwi r0, 0
/* 802EAEDC 002E6B3C  41 82 00 14 */	beq lbl_802EAEF0
/* 802EAEE0 002E6B40  40 80 00 18 */	bge lbl_802EAEF8
/* 802EAEE4 002E6B44  2C 00 FF F4 */	cmpwi r0, -12
/* 802EAEE8 002E6B48  41 82 00 10 */	beq lbl_802EAEF8
/* 802EAEEC 002E6B4C  48 00 00 0C */	b lbl_802EAEF8
lbl_802EAEF0:
/* 802EAEF0 002E6B50  3B 80 00 03 */	li r28, 3
/* 802EAEF4 002E6B54  48 00 00 54 */	b lbl_802EAF48
lbl_802EAEF8:
/* 802EAEF8 002E6B58  3F C0 80 57 */	lis r30, lbl_80570EC0@ha
/* 802EAEFC 002E6B5C  38 80 00 00 */	li r4, 0
/* 802EAF00 002E6B60  3B DE 0E C0 */	addi r30, r30, lbl_80570EC0@l
/* 802EAF04 002E6B64  38 A0 40 00 */	li r5, 0x4000
/* 802EAF08 002E6B68  83 BE 01 68 */	lwz r29, 0x168(r30)
/* 802EAF0C 002E6B6C  7F A3 EB 78 */	mr r3, r29
/* 802EAF10 002E6B70  4B D1 91 F5 */	bl memset
/* 802EAF14 002E6B74  7F A3 EB 78 */	mr r3, r29
/* 802EAF18 002E6B78  38 8D 8B B0 */	addi r4, r13, lbl_8063DE70-_SDA_BASE_
/* 802EAF1C 002E6B7C  38 A0 00 04 */	li r5, 4
/* 802EAF20 002E6B80  4B D1 90 E1 */	bl memcpy
/* 802EAF24 002E6B84  38 7D 3F FC */	addi r3, r29, 0x3ffc
/* 802EAF28 002E6B88  38 8D 8B B8 */	addi r4, r13, lbl_8063DE78-_SDA_BASE_
/* 802EAF2C 002E6B8C  38 A0 00 04 */	li r5, 4
/* 802EAF30 002E6B90  4B D1 90 D1 */	bl memcpy
/* 802EAF34 002E6B94  38 00 00 08 */	li r0, 8
/* 802EAF38 002E6B98  3B 80 00 03 */	li r28, 3
/* 802EAF3C 002E6B9C  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EAF40 002E6BA0  80 1E 01 70 */	lwz r0, 0x170(r30)
/* 802EAF44 002E6BA4  90 1E 01 78 */	stw r0, 0x178(r30)
lbl_802EAF48:
/* 802EAF48 002E6BA8  3B C0 00 00 */	li r30, 0
/* 802EAF4C 002E6BAC  3C 60 80 00 */	lis r3, 0x800038FF@ha
/* 802EAF50 002E6BB0  3F E0 80 57 */	lis r31, lbl_80570EC0@ha
/* 802EAF54 002E6BB4  9B C3 38 FF */	stb r30, 0x800038FF@l(r3)
/* 802EAF58 002E6BB8  3B FF 0E C0 */	addi r31, r31, lbl_80570EC0@l
/* 802EAF5C 002E6BBC  81 9F 01 58 */	lwz r12, 0x158(r31)
/* 802EAF60 002E6BC0  2C 0C 00 00 */	cmpwi r12, 0
/* 802EAF64 002E6BC4  41 82 00 14 */	beq lbl_802EAF78
/* 802EAF68 002E6BC8  80 7F 01 5C */	lwz r3, 0x15c(r31)
/* 802EAF6C 002E6BCC  7D 89 03 A6 */	mtctr r12
/* 802EAF70 002E6BD0  4E 80 04 21 */	bctrl
/* 802EAF74 002E6BD4  93 DF 01 58 */	stw r30, 0x158(r31)
lbl_802EAF78:
/* 802EAF78 002E6BD8  9B 8D AF 10 */	stb r28, lbl_806401D0-_SDA_BASE_(r13)
lbl_802EAF7C:
/* 802EAF7C 002E6BDC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EAF80 002E6BE0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802EAF84 002E6BE4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802EAF88 002E6BE8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802EAF8C 002E6BEC  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802EAF90 002E6BF0  7C 08 03 A6 */	mtlr r0
/* 802EAF94 002E6BF4  38 21 00 20 */	addi r1, r1, 0x20
/* 802EAF98 002E6BF8  4E 80 00 20 */	blr

CloseCallbackFromReloadError:
/* 802EAF9C 002E6BFC  4B FF FE C4 */	b FinishFromReload

.global ParseConfBuf
ParseConfBuf:
/* 802EAFA0 002E6C00  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 802EAFA4 002E6C04  7C 08 02 A6 */	mflr r0
/* 802EAFA8 002E6C08  90 01 00 64 */	stw r0, 0x64(r1)
/* 802EAFAC 002E6C0C  39 61 00 60 */	addi r11, r1, 0x60
/* 802EAFB0 002E6C10  4B ED C1 61 */	bl _savegpr_21
/* 802EAFB4 002E6C14  28 04 00 0C */	cmplwi r4, 0xc
/* 802EAFB8 002E6C18  3F 60 80 44 */	lis r27, lbl_804458F8@ha
/* 802EAFBC 002E6C1C  7C 79 1B 78 */	mr r25, r3
/* 802EAFC0 002E6C20  7C 9A 23 78 */	mr r26, r4
/* 802EAFC4 002E6C24  3B 7B 58 F8 */	addi r27, r27, lbl_804458F8@l
/* 802EAFC8 002E6C28  41 80 02 08 */	blt lbl_802EB1D0
/* 802EAFCC 002E6C2C  28 04 40 00 */	cmplwi r4, 0x4000
/* 802EAFD0 002E6C30  41 81 02 00 */	bgt lbl_802EB1D0
/* 802EAFD4 002E6C34  38 00 00 23 */	li r0, 0x23
/* 802EAFD8 002E6C38  7F E3 22 14 */	add r31, r3, r4
/* 802EAFDC 002E6C3C  90 0D AF 1C */	stw r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EAFE0 002E6C40  38 8D 8B B0 */	addi r4, r13, lbl_8063DE70-_SDA_BASE_
/* 802EAFE4 002E6C44  38 A0 00 04 */	li r5, 4
/* 802EAFE8 002E6C48  3B FF FF FC */	addi r31, r31, -4
/* 802EAFEC 002E6C4C  4B ED F3 AD */	bl memcmp
/* 802EAFF0 002E6C50  2C 03 00 00 */	cmpwi r3, 0
/* 802EAFF4 002E6C54  40 82 01 DC */	bne lbl_802EB1D0
/* 802EAFF8 002E6C58  7F E3 FB 78 */	mr r3, r31
/* 802EAFFC 002E6C5C  38 8D 8B B8 */	addi r4, r13, lbl_8063DE78-_SDA_BASE_
/* 802EB000 002E6C60  38 A0 00 04 */	li r5, 4
/* 802EB004 002E6C64  4B ED F3 95 */	bl memcmp
/* 802EB008 002E6C68  2C 03 00 00 */	cmpwi r3, 0
/* 802EB00C 002E6C6C  40 82 01 C4 */	bne lbl_802EB1D0
/* 802EB010 002E6C70  28 1A 40 00 */	cmplwi r26, 0x4000
/* 802EB014 002E6C74  40 80 00 2C */	bge lbl_802EB040
/* 802EB018 002E6C78  22 DA 40 00 */	subfic r22, r26, 0x4000
/* 802EB01C 002E6C7C  7F E3 FB 78 */	mr r3, r31
/* 802EB020 002E6C80  7E C5 B3 78 */	mr r5, r22
/* 802EB024 002E6C84  38 80 00 00 */	li r4, 0
/* 802EB028 002E6C88  4B D1 90 DD */	bl memset
/* 802EB02C 002E6C8C  7F FF B2 14 */	add r31, r31, r22
/* 802EB030 002E6C90  38 8D 8B B8 */	addi r4, r13, lbl_8063DE78-_SDA_BASE_
/* 802EB034 002E6C94  7F E3 FB 78 */	mr r3, r31
/* 802EB038 002E6C98  38 A0 00 04 */	li r5, 4
/* 802EB03C 002E6C9C  4B D1 8F C5 */	bl memcpy
lbl_802EB040:
/* 802EB040 002E6CA0  38 19 00 06 */	addi r0, r25, 6
/* 802EB044 002E6CA4  7C 00 F8 40 */	cmplw r0, r31
/* 802EB048 002E6CA8  40 81 00 0C */	ble lbl_802EB054
/* 802EB04C 002E6CAC  38 00 00 00 */	li r0, 0
/* 802EB050 002E6CB0  48 00 00 14 */	b lbl_802EB064
lbl_802EB054:
/* 802EB054 002E6CB4  88 79 00 04 */	lbz r3, 4(r25)
/* 802EB058 002E6CB8  38 00 00 01 */	li r0, 1
/* 802EB05C 002E6CBC  8B D9 00 05 */	lbz r30, 5(r25)
/* 802EB060 002E6CC0  50 7E 44 2E */	rlwimi r30, r3, 8, 0x10, 0x17
lbl_802EB064:
/* 802EB064 002E6CC4  2C 00 00 00 */	cmpwi r0, 0
/* 802EB068 002E6CC8  41 82 01 68 */	beq lbl_802EB1D0
/* 802EB06C 002E6CCC  3B B9 00 06 */	addi r29, r25, 6
/* 802EB070 002E6CD0  57 C0 08 3C */	slwi r0, r30, 1
/* 802EB074 002E6CD4  7C 7D 02 14 */	add r3, r29, r0
/* 802EB078 002E6CD8  3A E0 00 00 */	li r23, 0
/* 802EB07C 002E6CDC  38 03 00 02 */	addi r0, r3, 2
/* 802EB080 002E6CE0  7F B8 EB 78 */	mr r24, r29
/* 802EB084 002E6CE4  7F 99 00 50 */	subf r28, r25, r0
/* 802EB088 002E6CE8  48 00 00 48 */	b lbl_802EB0D0
lbl_802EB08C:
/* 802EB08C 002E6CEC  7C 1C D0 40 */	cmplw r28, r26
/* 802EB090 002E6CF0  41 81 01 40 */	bgt lbl_802EB1D0
/* 802EB094 002E6CF4  7C 19 C0 50 */	subf r0, r25, r24
/* 802EB098 002E6CF8  7C 00 D0 40 */	cmplw r0, r26
/* 802EB09C 002E6CFC  41 81 01 34 */	bgt lbl_802EB1D0
/* 802EB0A0 002E6D00  A0 18 00 00 */	lhz r0, 0(r24)
/* 802EB0A4 002E6D04  7C 1C 00 40 */	cmplw r28, r0
/* 802EB0A8 002E6D08  40 82 01 28 */	bne lbl_802EB1D0
/* 802EB0AC 002E6D0C  7C 79 E2 14 */	add r3, r25, r28
/* 802EB0B0 002E6D10  38 81 00 08 */	addi r4, r1, 8
/* 802EB0B4 002E6D14  48 00 01 39 */	bl UnpackItem
/* 802EB0B8 002E6D18  2C 03 00 00 */	cmpwi r3, 0
/* 802EB0BC 002E6D1C  41 82 01 14 */	beq lbl_802EB1D0
/* 802EB0C0 002E6D20  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EB0C4 002E6D24  3B 18 00 02 */	addi r24, r24, 2
/* 802EB0C8 002E6D28  3A F7 00 01 */	addi r23, r23, 1
/* 802EB0CC 002E6D2C  7F 9C 02 14 */	add r28, r28, r0
lbl_802EB0D0:
/* 802EB0D0 002E6D30  7C 17 F0 40 */	cmplw r23, r30
/* 802EB0D4 002E6D34  41 80 FF B8 */	blt lbl_802EB08C
/* 802EB0D8 002E6D38  7C 1C D0 40 */	cmplw r28, r26
/* 802EB0DC 002E6D3C  41 81 00 F4 */	bgt lbl_802EB1D0
/* 802EB0E0 002E6D40  56 E0 08 3C */	slwi r0, r23, 1
/* 802EB0E4 002E6D44  7C 1D 02 2E */	lhzx r0, r29, r0
/* 802EB0E8 002E6D48  7C 1C 00 40 */	cmplw r28, r0
/* 802EB0EC 002E6D4C  40 82 00 E4 */	bne lbl_802EB1D0
/* 802EB0F0 002E6D50  38 7F FF BC */	addi r3, r31, -68
/* 802EB0F4 002E6D54  7C 19 E2 14 */	add r0, r25, r28
/* 802EB0F8 002E6D58  7C 00 18 40 */	cmplw r0, r3
/* 802EB0FC 002E6D5C  41 81 00 D4 */	bgt lbl_802EB1D0
/* 802EB100 002E6D60  7F 80 18 50 */	subf r28, r0, r3
/* 802EB104 002E6D64  7C A3 F8 50 */	subf r5, r3, r31
/* 802EB108 002E6D68  38 80 00 00 */	li r4, 0
/* 802EB10C 002E6D6C  4B D1 8F F9 */	bl memset
/* 802EB110 002E6D70  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB114 002E6D74  3B FF FF FE */	addi r31, r31, -2
/* 802EB118 002E6D78  54 00 18 38 */	slwi r0, r0, 3
/* 802EB11C 002E6D7C  7F 5B 02 14 */	add r26, r27, r0
/* 802EB120 002E6D80  48 00 00 84 */	b lbl_802EB1A4
lbl_802EB124:
/* 802EB124 002E6D84  7E C3 B3 78 */	mr r3, r22
/* 802EB128 002E6D88  4B ED BA 3D */	bl strlen
/* 802EB12C 002E6D8C  7C 75 1B 78 */	mr r21, r3
/* 802EB130 002E6D90  7F B8 EB 78 */	mr r24, r29
/* 802EB134 002E6D94  3A E0 00 00 */	li r23, 0
/* 802EB138 002E6D98  48 00 00 60 */	b lbl_802EB198
lbl_802EB13C:
/* 802EB13C 002E6D9C  A0 18 00 00 */	lhz r0, 0(r24)
/* 802EB140 002E6DA0  7C 99 02 14 */	add r4, r25, r0
/* 802EB144 002E6DA4  7C 19 00 AE */	lbzx r0, r25, r0
/* 802EB148 002E6DA8  54 03 06 FE */	clrlwi r3, r0, 0x1b
/* 802EB14C 002E6DAC  38 03 00 01 */	addi r0, r3, 1
/* 802EB150 002E6DB0  7C 15 00 40 */	cmplw r21, r0
/* 802EB154 002E6DB4  40 82 00 3C */	bne lbl_802EB190
/* 802EB158 002E6DB8  7E C3 B3 78 */	mr r3, r22
/* 802EB15C 002E6DBC  7E A5 AB 78 */	mr r5, r21
/* 802EB160 002E6DC0  38 84 00 01 */	addi r4, r4, 1
/* 802EB164 002E6DC4  4B ED F2 35 */	bl memcmp
/* 802EB168 002E6DC8  2C 03 00 00 */	cmpwi r3, 0
/* 802EB16C 002E6DCC  40 82 00 24 */	bne lbl_802EB190
/* 802EB170 002E6DD0  80 1B 00 04 */	lwz r0, 4(r27)
/* 802EB174 002E6DD4  56 E3 08 3C */	slwi r3, r23, 1
/* 802EB178 002E6DD8  7C 7D 1A 14 */	add r3, r29, r3
/* 802EB17C 002E6DDC  7C 00 00 D0 */	neg r0, r0
/* 802EB180 002E6DE0  7C 79 18 50 */	subf r3, r25, r3
/* 802EB184 002E6DE4  54 00 08 3C */	slwi r0, r0, 1
/* 802EB188 002E6DE8  7C 7F 03 2E */	sthx r3, r31, r0
/* 802EB18C 002E6DEC  48 00 00 14 */	b lbl_802EB1A0
lbl_802EB190:
/* 802EB190 002E6DF0  3B 18 00 02 */	addi r24, r24, 2
/* 802EB194 002E6DF4  3A F7 00 01 */	addi r23, r23, 1
lbl_802EB198:
/* 802EB198 002E6DF8  7C 17 F0 40 */	cmplw r23, r30
/* 802EB19C 002E6DFC  41 80 FF A0 */	blt lbl_802EB13C
lbl_802EB1A0:
/* 802EB1A0 002E6E00  3B 7B 00 08 */	addi r27, r27, 8
lbl_802EB1A4:
/* 802EB1A4 002E6E04  7C 1B D0 40 */	cmplw r27, r26
/* 802EB1A8 002E6E08  40 80 00 10 */	bge lbl_802EB1B8
/* 802EB1AC 002E6E0C  82 DB 00 00 */	lwz r22, 0(r27)
/* 802EB1B0 002E6E10  2C 16 00 00 */	cmpwi r22, 0
/* 802EB1B4 002E6E14  40 82 FF 70 */	bne lbl_802EB124
lbl_802EB1B8:
/* 802EB1B8 002E6E18  7C 19 F8 50 */	subf r0, r25, r31
/* 802EB1BC 002E6E1C  93 CD AF 18 */	stw r30, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB1C0 002E6E20  38 60 00 00 */	li r3, 0
/* 802EB1C4 002E6E24  90 0D AF 20 */	stw r0, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB1C8 002E6E28  93 8D AF 14 */	stw r28, lbl_806401D4-_SDA_BASE_(r13)
/* 802EB1CC 002E6E2C  48 00 00 08 */	b lbl_802EB1D4
lbl_802EB1D0:
/* 802EB1D0 002E6E30  38 60 00 02 */	li r3, 2
lbl_802EB1D4:
/* 802EB1D4 002E6E34  39 61 00 60 */	addi r11, r1, 0x60
/* 802EB1D8 002E6E38  4B ED BF 85 */	bl _restgpr_21
/* 802EB1DC 002E6E3C  80 01 00 64 */	lwz r0, 0x64(r1)
/* 802EB1E0 002E6E40  7C 08 03 A6 */	mtlr r0
/* 802EB1E4 002E6E44  38 21 00 60 */	addi r1, r1, 0x60
/* 802EB1E8 002E6E48  4E 80 00 20 */	blr

.global UnpackItem
UnpackItem:
/* 802EB1EC 002E6E4C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EB1F0 002E6E50  7C 08 02 A6 */	mflr r0
/* 802EB1F4 002E6E54  38 A0 00 20 */	li r5, 0x20
/* 802EB1F8 002E6E58  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EB1FC 002E6E5C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802EB200 002E6E60  7C 9F 23 78 */	mr r31, r4
/* 802EB204 002E6E64  38 80 00 00 */	li r4, 0
/* 802EB208 002E6E68  93 C1 00 08 */	stw r30, 8(r1)
/* 802EB20C 002E6E6C  7C 7E 1B 78 */	mr r30, r3
/* 802EB210 002E6E70  7F E3 FB 78 */	mr r3, r31
/* 802EB214 002E6E74  4B D1 8E F1 */	bl memset
/* 802EB218 002E6E78  88 9E 00 00 */	lbz r4, 0(r30)
/* 802EB21C 002E6E7C  38 1E 00 01 */	addi r0, r30, 1
/* 802EB220 002E6E80  90 1F 00 14 */	stw r0, 0x14(r31)
/* 802EB224 002E6E84  54 83 06 FE */	clrlwi r3, r4, 0x1b
/* 802EB228 002E6E88  54 86 06 34 */	rlwinm r6, r4, 0, 0x18, 0x1a
/* 802EB22C 002E6E8C  38 03 00 01 */	addi r0, r3, 1
/* 802EB230 002E6E90  7C 7E 02 14 */	add r3, r30, r0
/* 802EB234 002E6E94  2C 06 00 80 */	cmpwi r6, 0x80
/* 802EB238 002E6E98  38 63 00 01 */	addi r3, r3, 1
/* 802EB23C 002E6E9C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802EB240 002E6EA0  90 7F 00 18 */	stw r3, 0x18(r31)
/* 802EB244 002E6EA4  41 82 00 5C */	beq lbl_802EB2A0
/* 802EB248 002E6EA8  40 80 00 28 */	bge lbl_802EB270
/* 802EB24C 002E6EAC  2C 06 00 40 */	cmpwi r6, 0x40
/* 802EB250 002E6EB0  41 82 00 74 */	beq lbl_802EB2C4
/* 802EB254 002E6EB4  40 80 00 10 */	bge lbl_802EB264
/* 802EB258 002E6EB8  2C 06 00 20 */	cmpwi r6, 0x20
/* 802EB25C 002E6EBC  41 82 00 8C */	beq lbl_802EB2E8
/* 802EB260 002E6EC0  48 00 00 FC */	b lbl_802EB35C
lbl_802EB264:
/* 802EB264 002E6EC4  2C 06 00 60 */	cmpwi r6, 0x60
/* 802EB268 002E6EC8  41 82 00 2C */	beq lbl_802EB294
/* 802EB26C 002E6ECC  48 00 00 F0 */	b lbl_802EB35C
lbl_802EB270:
/* 802EB270 002E6ED0  2C 06 00 C0 */	cmpwi r6, 0xc0
/* 802EB274 002E6ED4  41 82 00 44 */	beq lbl_802EB2B8
/* 802EB278 002E6ED8  40 80 00 10 */	bge lbl_802EB288
/* 802EB27C 002E6EDC  2C 06 00 A0 */	cmpwi r6, 0xa0
/* 802EB280 002E6EE0  41 82 00 2C */	beq lbl_802EB2AC
/* 802EB284 002E6EE4  48 00 00 D8 */	b lbl_802EB35C
lbl_802EB288:
/* 802EB288 002E6EE8  2C 06 00 E0 */	cmpwi r6, 0xe0
/* 802EB28C 002E6EEC  41 82 00 08 */	beq lbl_802EB294
/* 802EB290 002E6EF0  48 00 00 CC */	b lbl_802EB35C
lbl_802EB294:
/* 802EB294 002E6EF4  38 00 00 01 */	li r0, 1
/* 802EB298 002E6EF8  90 1F 00 10 */	stw r0, 0x10(r31)
/* 802EB29C 002E6EFC  48 00 00 74 */	b lbl_802EB310
lbl_802EB2A0:
/* 802EB2A0 002E6F00  38 00 00 02 */	li r0, 2
/* 802EB2A4 002E6F04  90 1F 00 10 */	stw r0, 0x10(r31)
/* 802EB2A8 002E6F08  48 00 00 68 */	b lbl_802EB310
lbl_802EB2AC:
/* 802EB2AC 002E6F0C  38 00 00 04 */	li r0, 4
/* 802EB2B0 002E6F10  90 1F 00 10 */	stw r0, 0x10(r31)
/* 802EB2B4 002E6F14  48 00 00 5C */	b lbl_802EB310
lbl_802EB2B8:
/* 802EB2B8 002E6F18  38 00 00 08 */	li r0, 8
/* 802EB2BC 002E6F1C  90 1F 00 10 */	stw r0, 0x10(r31)
/* 802EB2C0 002E6F20  48 00 00 50 */	b lbl_802EB310
lbl_802EB2C4:
/* 802EB2C4 002E6F24  88 83 00 00 */	lbz r4, 0(r3)
/* 802EB2C8 002E6F28  38 03 00 01 */	addi r0, r3, 1
/* 802EB2CC 002E6F2C  80 7F 00 1C */	lwz r3, 0x1c(r31)
/* 802EB2D0 002E6F30  38 84 00 01 */	addi r4, r4, 1
/* 802EB2D4 002E6F34  90 1F 00 18 */	stw r0, 0x18(r31)
/* 802EB2D8 002E6F38  38 03 00 01 */	addi r0, r3, 1
/* 802EB2DC 002E6F3C  90 9F 00 10 */	stw r4, 0x10(r31)
/* 802EB2E0 002E6F40  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 802EB2E4 002E6F44  48 00 00 2C */	b lbl_802EB310
lbl_802EB2E8:
/* 802EB2E8 002E6F48  88 A3 00 00 */	lbz r5, 0(r3)
/* 802EB2EC 002E6F4C  38 03 00 02 */	addi r0, r3, 2
/* 802EB2F0 002E6F50  88 83 00 01 */	lbz r4, 1(r3)
/* 802EB2F4 002E6F54  50 A4 44 2E */	rlwimi r4, r5, 8, 0x10, 0x17
/* 802EB2F8 002E6F58  80 7F 00 1C */	lwz r3, 0x1c(r31)
/* 802EB2FC 002E6F5C  38 84 00 01 */	addi r4, r4, 1
/* 802EB300 002E6F60  90 1F 00 18 */	stw r0, 0x18(r31)
/* 802EB304 002E6F64  38 03 00 02 */	addi r0, r3, 2
/* 802EB308 002E6F68  90 9F 00 10 */	stw r4, 0x10(r31)
/* 802EB30C 002E6F6C  90 1F 00 1C */	stw r0, 0x1c(r31)
lbl_802EB310:
/* 802EB310 002E6F70  28 06 00 40 */	cmplwi r6, 0x40
/* 802EB314 002E6F74  41 82 00 0C */	beq lbl_802EB320
/* 802EB318 002E6F78  28 06 00 20 */	cmplwi r6, 0x20
/* 802EB31C 002E6F7C  40 82 00 10 */	bne lbl_802EB32C
lbl_802EB320:
/* 802EB320 002E6F80  38 00 00 40 */	li r0, 0x40
/* 802EB324 002E6F84  98 1F 00 09 */	stb r0, 9(r31)
/* 802EB328 002E6F88  48 00 00 18 */	b lbl_802EB340
lbl_802EB32C:
/* 802EB32C 002E6F8C  98 DF 00 08 */	stb r6, 8(r31)
/* 802EB330 002E6F90  7F E3 FB 78 */	mr r3, r31
/* 802EB334 002E6F94  80 9F 00 18 */	lwz r4, 0x18(r31)
/* 802EB338 002E6F98  80 BF 00 10 */	lwz r5, 0x10(r31)
/* 802EB33C 002E6F9C  4B D1 8C C5 */	bl memcpy
lbl_802EB340:
/* 802EB340 002E6FA0  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 802EB344 002E6FA4  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 802EB348 002E6FA8  80 9F 00 1C */	lwz r4, 0x1c(r31)
/* 802EB34C 002E6FAC  7C 03 02 14 */	add r0, r3, r0
/* 802EB350 002E6FB0  7C 60 22 14 */	add r3, r0, r4
/* 802EB354 002E6FB4  38 03 00 01 */	addi r0, r3, 1
/* 802EB358 002E6FB8  90 1F 00 1C */	stw r0, 0x1c(r31)
lbl_802EB35C:
/* 802EB35C 002E6FBC  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 802EB360 002E6FC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802EB364 002E6FC4  7C 03 00 D0 */	neg r0, r3
/* 802EB368 002E6FC8  83 C1 00 08 */	lwz r30, 8(r1)
/* 802EB36C 002E6FCC  7C 00 1B 78 */	or r0, r0, r3
/* 802EB370 002E6FD0  54 03 0F FE */	srwi r3, r0, 0x1f
/* 802EB374 002E6FD4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EB378 002E6FD8  7C 08 03 A6 */	mtlr r0
/* 802EB37C 002E6FDC  38 21 00 10 */	addi r1, r1, 0x10
/* 802EB380 002E6FE0  4E 80 00 20 */	blr

.global DeleteItemByID
DeleteItemByID:
/* 802EB384 002E6FE4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802EB388 002E6FE8  7C 08 02 A6 */	mflr r0
/* 802EB38C 002E6FEC  90 01 00 34 */	stw r0, 0x34(r1)
/* 802EB390 002E6FF0  39 61 00 30 */	addi r11, r1, 0x30
/* 802EB394 002E6FF4  4B ED BD 89 */	bl _savegpr_24
/* 802EB398 002E6FF8  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB39C 002E6FFC  3F E0 80 57 */	lis r31, lbl_80571060@ha
/* 802EB3A0 002E7000  3B FF 10 60 */	addi r31, r31, lbl_80571060@l
/* 802EB3A4 002E7004  7C 03 00 40 */	cmplw r3, r0
/* 802EB3A8 002E7008  40 80 01 54 */	bge lbl_802EB4FC
/* 802EB3AC 002E700C  80 8D AF 20 */	lwz r4, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB3B0 002E7010  2C 04 00 00 */	cmpwi r4, 0
/* 802EB3B4 002E7014  41 82 01 48 */	beq lbl_802EB4FC
/* 802EB3B8 002E7018  7C 03 00 D0 */	neg r0, r3
/* 802EB3BC 002E701C  7F 9F 22 14 */	add r28, r31, r4
/* 802EB3C0 002E7020  54 00 08 3C */	slwi r0, r0, 1
/* 802EB3C4 002E7024  7F DC 02 2E */	lhzx r30, r28, r0
/* 802EB3C8 002E7028  2C 1E 00 00 */	cmpwi r30, 0
/* 802EB3CC 002E702C  41 82 01 30 */	beq lbl_802EB4FC
/* 802EB3D0 002E7030  80 0D AF 18 */	lwz r0, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB3D4 002E7034  2C 00 00 00 */	cmpwi r0, 0
/* 802EB3D8 002E7038  41 82 01 24 */	beq lbl_802EB4FC
/* 802EB3DC 002E703C  7F 7F F2 14 */	add r27, r31, r30
/* 802EB3E0 002E7040  3B 3F 00 06 */	addi r25, r31, 6
/* 802EB3E4 002E7044  54 00 08 3C */	slwi r0, r0, 1
/* 802EB3E8 002E7048  7C BF F2 2E */	lhzx r5, r31, r30
/* 802EB3EC 002E704C  7F 19 02 14 */	add r24, r25, r0
/* 802EB3F0 002E7050  A0 7B 00 02 */	lhz r3, 2(r27)
/* 802EB3F4 002E7054  7F 64 DB 78 */	mr r4, r27
/* 802EB3F8 002E7058  38 1E 00 02 */	addi r0, r30, 2
/* 802EB3FC 002E705C  7C C5 18 50 */	subf r6, r5, r3
/* 802EB400 002E7060  A3 58 00 00 */	lhz r26, 0(r24)
/* 802EB404 002E7064  7F 63 DB 78 */	mr r3, r27
/* 802EB408 002E7068  7C A0 28 50 */	subf r5, r0, r5
/* 802EB40C 002E706C  3B A6 00 02 */	addi r29, r6, 2
/* 802EB410 002E7070  38 84 00 02 */	addi r4, r4, 2
/* 802EB414 002E7074  4B ED EE 61 */	bl memmove
/* 802EB418 002E7078  38 98 FF FE */	addi r4, r24, -2
/* 802EB41C 002E707C  38 04 00 02 */	addi r0, r4, 2
/* 802EB420 002E7080  7C 19 00 50 */	subf r0, r25, r0
/* 802EB424 002E7084  54 00 F8 7E */	srwi r0, r0, 1
/* 802EB428 002E7088  7C 09 03 A6 */	mtctr r0
/* 802EB42C 002E708C  7C 04 C8 40 */	cmplw r4, r25
/* 802EB430 002E7090  41 80 00 30 */	blt lbl_802EB460
lbl_802EB434:
/* 802EB434 002E7094  7C 04 D8 40 */	cmplw r4, r27
/* 802EB438 002E7098  40 80 00 14 */	bge lbl_802EB44C
/* 802EB43C 002E709C  A0 64 00 00 */	lhz r3, 0(r4)
/* 802EB440 002E70A0  38 03 FF FE */	addi r0, r3, -2
/* 802EB444 002E70A4  B0 04 00 00 */	sth r0, 0(r4)
/* 802EB448 002E70A8  48 00 00 10 */	b lbl_802EB458
lbl_802EB44C:
/* 802EB44C 002E70AC  A0 04 00 00 */	lhz r0, 0(r4)
/* 802EB450 002E70B0  7C 1D 00 50 */	subf r0, r29, r0
/* 802EB454 002E70B4  B0 04 00 00 */	sth r0, 0(r4)
lbl_802EB458:
/* 802EB458 002E70B8  38 84 FF FE */	addi r4, r4, -2
/* 802EB45C 002E70BC  42 00 FF D8 */	bdnz lbl_802EB434
lbl_802EB460:
/* 802EB460 002E70C0  A0 BB 00 00 */	lhz r5, 0(r27)
/* 802EB464 002E70C4  7C 9F EA 14 */	add r4, r31, r29
/* 802EB468 002E70C8  7C 05 EA 14 */	add r0, r5, r29
/* 802EB46C 002E70CC  7C 7F 2A 14 */	add r3, r31, r5
/* 802EB470 002E70D0  7C 85 22 14 */	add r4, r5, r4
/* 802EB474 002E70D4  7C A0 D0 50 */	subf r5, r0, r26
/* 802EB478 002E70D8  4B ED ED FD */	bl memmove
/* 802EB47C 002E70DC  7C 1D D0 50 */	subf r0, r29, r26
/* 802EB480 002E70E0  7F A5 EB 78 */	mr r5, r29
/* 802EB484 002E70E4  7C 7F 02 14 */	add r3, r31, r0
/* 802EB488 002E70E8  38 80 00 00 */	li r4, 0
/* 802EB48C 002E70EC  4B D1 8C 79 */	bl memset
/* 802EB490 002E70F0  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB494 002E70F4  38 C0 00 00 */	li r6, 0
/* 802EB498 002E70F8  38 60 00 00 */	li r3, 0
/* 802EB49C 002E70FC  7C 09 03 A6 */	mtctr r0
/* 802EB4A0 002E7100  28 00 00 00 */	cmplwi r0, 0
/* 802EB4A4 002E7104  40 81 00 34 */	ble lbl_802EB4D8
lbl_802EB4A8:
/* 802EB4A8 002E7108  7C 06 00 D0 */	neg r0, r6
/* 802EB4AC 002E710C  54 05 08 3C */	slwi r5, r0, 1
/* 802EB4B0 002E7110  7C 9C 2A 2E */	lhzx r4, r28, r5
/* 802EB4B4 002E7114  7C 04 F0 40 */	cmplw r4, r30
/* 802EB4B8 002E7118  41 80 00 18 */	blt lbl_802EB4D0
/* 802EB4BC 002E711C  40 81 00 10 */	ble lbl_802EB4CC
/* 802EB4C0 002E7120  38 04 FF FE */	addi r0, r4, -2
/* 802EB4C4 002E7124  7C 1C 2B 2E */	sthx r0, r28, r5
/* 802EB4C8 002E7128  48 00 00 08 */	b lbl_802EB4D0
lbl_802EB4CC:
/* 802EB4CC 002E712C  7C 7C 2B 2E */	sthx r3, r28, r5
lbl_802EB4D0:
/* 802EB4D0 002E7130  38 C6 00 01 */	addi r6, r6, 1
/* 802EB4D4 002E7134  42 00 FF D4 */	bdnz lbl_802EB4A8
lbl_802EB4D8:
/* 802EB4D8 002E7138  80 8D AF 14 */	lwz r4, lbl_806401D4-_SDA_BASE_(r13)
/* 802EB4DC 002E713C  38 00 00 01 */	li r0, 1
/* 802EB4E0 002E7140  80 6D AF 18 */	lwz r3, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB4E4 002E7144  7C 84 EA 14 */	add r4, r4, r29
/* 802EB4E8 002E7148  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
/* 802EB4EC 002E714C  38 03 FF FF */	addi r0, r3, -1
/* 802EB4F0 002E7150  90 8D AF 14 */	stw r4, lbl_806401D4-_SDA_BASE_(r13)
/* 802EB4F4 002E7154  90 0D AF 18 */	stw r0, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB4F8 002E7158  B0 1F 00 04 */	sth r0, 4(r31)
lbl_802EB4FC:
/* 802EB4FC 002E715C  39 61 00 30 */	addi r11, r1, 0x30
/* 802EB500 002E7160  4B ED BC 69 */	bl _restgpr_24
/* 802EB504 002E7164  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802EB508 002E7168  7C 08 03 A6 */	mtlr r0
/* 802EB50C 002E716C  38 21 00 30 */	addi r1, r1, 0x30
/* 802EB510 002E7170  4E 80 00 20 */	blr

.global CreateItemByID
CreateItemByID:
/* 802EB514 002E7174  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802EB518 002E7178  7C 08 02 A6 */	mflr r0
/* 802EB51C 002E717C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802EB520 002E7180  39 61 00 30 */	addi r11, r1, 0x30
/* 802EB524 002E7184  4B ED BB F1 */	bl _savegpr_22
/* 802EB528 002E7188  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB52C 002E718C  3F E0 80 57 */	lis r31, lbl_80571060@ha
/* 802EB530 002E7190  3C E0 80 44 */	lis r7, lbl_804458F8@ha
/* 802EB534 002E7194  7C 77 1B 78 */	mr r23, r3
/* 802EB538 002E7198  7C 03 00 40 */	cmplw r3, r0
/* 802EB53C 002E719C  7C 98 23 78 */	mr r24, r4
/* 802EB540 002E71A0  7C B9 2B 78 */	mr r25, r5
/* 802EB544 002E71A4  7C DA 33 78 */	mr r26, r6
/* 802EB548 002E71A8  3B FF 10 60 */	addi r31, r31, lbl_80571060@l
/* 802EB54C 002E71AC  38 E7 58 F8 */	addi r7, r7, lbl_804458F8@l
/* 802EB550 002E71B0  3B A0 00 01 */	li r29, 1
/* 802EB554 002E71B4  40 80 02 1C */	bge lbl_802EB770
/* 802EB558 002E71B8  38 00 00 00 */	li r0, 0
/* 802EB55C 002E71BC  7C 05 00 40 */	cmplw r5, r0
/* 802EB560 002E71C0  41 82 02 10 */	beq lbl_802EB770
/* 802EB564 002E71C4  80 0D AF 18 */	lwz r0, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB568 002E71C8  28 00 FF FF */	cmplwi r0, 0xffff
/* 802EB56C 002E71CC  40 80 02 04 */	bge lbl_802EB770
/* 802EB570 002E71D0  80 0D AF 20 */	lwz r0, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB574 002E71D4  2C 00 00 00 */	cmpwi r0, 0
/* 802EB578 002E71D8  41 82 01 F8 */	beq lbl_802EB770
/* 802EB57C 002E71DC  2C 04 00 A0 */	cmpwi r4, 0xa0
/* 802EB580 002E71E0  41 82 00 54 */	beq lbl_802EB5D4
/* 802EB584 002E71E4  40 80 00 28 */	bge lbl_802EB5AC
/* 802EB588 002E71E8  2C 04 00 60 */	cmpwi r4, 0x60
/* 802EB58C 002E71EC  41 82 00 38 */	beq lbl_802EB5C4
/* 802EB590 002E71F0  40 80 00 10 */	bge lbl_802EB5A0
/* 802EB594 002E71F4  2C 04 00 40 */	cmpwi r4, 0x40
/* 802EB598 002E71F8  41 82 00 4C */	beq lbl_802EB5E4
/* 802EB59C 002E71FC  48 00 01 D4 */	b lbl_802EB770
lbl_802EB5A0:
/* 802EB5A0 002E7200  2C 04 00 80 */	cmpwi r4, 0x80
/* 802EB5A4 002E7204  41 82 00 28 */	beq lbl_802EB5CC
/* 802EB5A8 002E7208  48 00 01 C8 */	b lbl_802EB770
lbl_802EB5AC:
/* 802EB5AC 002E720C  2C 04 00 E0 */	cmpwi r4, 0xe0
/* 802EB5B0 002E7210  41 82 00 14 */	beq lbl_802EB5C4
/* 802EB5B4 002E7214  40 80 01 BC */	bge lbl_802EB770
/* 802EB5B8 002E7218  2C 04 00 C0 */	cmpwi r4, 0xc0
/* 802EB5BC 002E721C  41 82 00 20 */	beq lbl_802EB5DC
/* 802EB5C0 002E7220  48 00 01 B0 */	b lbl_802EB770
lbl_802EB5C4:
/* 802EB5C4 002E7224  3B 40 00 01 */	li r26, 1
/* 802EB5C8 002E7228  48 00 00 48 */	b lbl_802EB610
lbl_802EB5CC:
/* 802EB5CC 002E722C  3B 40 00 02 */	li r26, 2
/* 802EB5D0 002E7230  48 00 00 40 */	b lbl_802EB610
lbl_802EB5D4:
/* 802EB5D4 002E7234  3B 40 00 04 */	li r26, 4
/* 802EB5D8 002E7238  48 00 00 38 */	b lbl_802EB610
lbl_802EB5DC:
/* 802EB5DC 002E723C  3B 40 00 08 */	li r26, 8
/* 802EB5E0 002E7240  48 00 00 30 */	b lbl_802EB610
lbl_802EB5E4:
/* 802EB5E4 002E7244  2C 06 00 00 */	cmpwi r6, 0
/* 802EB5E8 002E7248  41 82 01 88 */	beq lbl_802EB770
/* 802EB5EC 002E724C  3C 00 00 01 */	lis r0, 1
/* 802EB5F0 002E7250  7C 06 00 40 */	cmplw r6, r0
/* 802EB5F4 002E7254  41 81 01 7C */	bgt lbl_802EB770
/* 802EB5F8 002E7258  28 06 01 00 */	cmplwi r6, 0x100
/* 802EB5FC 002E725C  40 81 00 10 */	ble lbl_802EB60C
/* 802EB600 002E7260  3B 00 00 20 */	li r24, 0x20
/* 802EB604 002E7264  3B A0 00 03 */	li r29, 3
/* 802EB608 002E7268  48 00 00 08 */	b lbl_802EB610
lbl_802EB60C:
/* 802EB60C 002E726C  3B A0 00 02 */	li r29, 2
lbl_802EB610:
/* 802EB610 002E7270  7F BD D2 14 */	add r29, r29, r26
/* 802EB614 002E7274  38 00 00 00 */	li r0, 0
/* 802EB618 002E7278  48 00 00 14 */	b lbl_802EB62C
lbl_802EB61C:
/* 802EB61C 002E727C  80 87 00 04 */	lwz r4, 4(r7)
/* 802EB620 002E7280  7C 04 18 00 */	cmpw r4, r3
/* 802EB624 002E7284  41 82 00 14 */	beq lbl_802EB638
/* 802EB628 002E7288  38 E7 00 08 */	addi r7, r7, 8
lbl_802EB62C:
/* 802EB62C 002E728C  83 87 00 00 */	lwz r28, 0(r7)
/* 802EB630 002E7290  7C 1C 00 40 */	cmplw r28, r0
/* 802EB634 002E7294  40 82 FF E8 */	bne lbl_802EB61C
lbl_802EB638:
/* 802EB638 002E7298  38 00 00 00 */	li r0, 0
/* 802EB63C 002E729C  7C 1C 00 40 */	cmplw r28, r0
/* 802EB640 002E72A0  41 82 01 30 */	beq lbl_802EB770
/* 802EB644 002E72A4  7F 83 E3 78 */	mr r3, r28
/* 802EB648 002E72A8  4B ED B5 1D */	bl strlen
/* 802EB64C 002E72AC  28 03 00 20 */	cmplwi r3, 0x20
/* 802EB650 002E72B0  7C 7E 1B 78 */	mr r30, r3
/* 802EB654 002E72B4  41 81 01 1C */	bgt lbl_802EB770
/* 802EB658 002E72B8  7F BD 1A 14 */	add r29, r29, r3
/* 802EB65C 002E72BC  80 6D AF 14 */	lwz r3, lbl_806401D4-_SDA_BASE_(r13)
/* 802EB660 002E72C0  38 1D 00 02 */	addi r0, r29, 2
/* 802EB664 002E72C4  7C 03 00 40 */	cmplw r3, r0
/* 802EB668 002E72C8  41 80 01 08 */	blt lbl_802EB770
/* 802EB66C 002E72CC  80 6D AF 18 */	lwz r3, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB670 002E72D0  3A DF 00 06 */	addi r22, r31, 6
/* 802EB674 002E72D4  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802EB678 002E72D8  54 63 08 3C */	slwi r3, r3, 1
/* 802EB67C 002E72DC  7C B6 1A 2E */	lhzx r5, r22, r3
/* 802EB680 002E72E0  7C 80 FA 14 */	add r4, r0, r31
/* 802EB684 002E72E4  7F 76 1A 14 */	add r27, r22, r3
/* 802EB688 002E72E8  38 64 00 02 */	addi r3, r4, 2
/* 802EB68C 002E72EC  7C A0 28 50 */	subf r5, r0, r5
/* 802EB690 002E72F0  4B ED EB E5 */	bl memmove
lbl_802EB694:
/* 802EB694 002E72F4  A0 76 00 00 */	lhz r3, 0(r22)
/* 802EB698 002E72F8  38 03 00 02 */	addi r0, r3, 2
/* 802EB69C 002E72FC  B0 16 00 00 */	sth r0, 0(r22)
/* 802EB6A0 002E7300  3A D6 00 02 */	addi r22, r22, 2
/* 802EB6A4 002E7304  7C 16 D8 40 */	cmplw r22, r27
/* 802EB6A8 002E7308  40 81 FF EC */	ble lbl_802EB694
/* 802EB6AC 002E730C  A0 BB 00 00 */	lhz r5, 0(r27)
/* 802EB6B0 002E7310  38 1E FF FF */	addi r0, r30, -1
/* 802EB6B4 002E7314  7F 84 E3 78 */	mr r4, r28
/* 802EB6B8 002E7318  7F 9F 2A 14 */	add r28, r31, r5
/* 802EB6BC 002E731C  7F 00 03 78 */	or r0, r24, r0
/* 802EB6C0 002E7320  98 1C 00 00 */	stb r0, 0(r28)
/* 802EB6C4 002E7324  7F C5 F3 78 */	mr r5, r30
/* 802EB6C8 002E7328  38 7C 00 01 */	addi r3, r28, 1
/* 802EB6CC 002E732C  4B D1 89 35 */	bl memcpy
/* 802EB6D0 002E7330  28 18 00 40 */	cmplwi r24, 0x40
/* 802EB6D4 002E7334  7C 7E E2 14 */	add r3, r30, r28
/* 802EB6D8 002E7338  3B 83 00 01 */	addi r28, r3, 1
/* 802EB6DC 002E733C  40 82 00 14 */	bne lbl_802EB6F0
/* 802EB6E0 002E7340  38 1A FF FF */	addi r0, r26, -1
/* 802EB6E4 002E7344  98 1C 00 00 */	stb r0, 0(r28)
/* 802EB6E8 002E7348  3B 9C 00 01 */	addi r28, r28, 1
/* 802EB6EC 002E734C  48 00 00 20 */	b lbl_802EB70C
lbl_802EB6F0:
/* 802EB6F0 002E7350  28 18 00 20 */	cmplwi r24, 0x20
/* 802EB6F4 002E7354  40 82 00 18 */	bne lbl_802EB70C
/* 802EB6F8 002E7358  38 7A FF FF */	addi r3, r26, -1
/* 802EB6FC 002E735C  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 802EB700 002E7360  98 1C 00 00 */	stb r0, 0(r28)
/* 802EB704 002E7364  98 7C 00 01 */	stb r3, 1(r28)
/* 802EB708 002E7368  3B 9C 00 02 */	addi r28, r28, 2
lbl_802EB70C:
/* 802EB70C 002E736C  7F 83 E3 78 */	mr r3, r28
/* 802EB710 002E7370  7F 24 CB 78 */	mr r4, r25
/* 802EB714 002E7374  7F 45 D3 78 */	mr r5, r26
/* 802EB718 002E7378  4B D1 88 E9 */	bl memcpy
/* 802EB71C 002E737C  80 AD AF 20 */	lwz r5, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB720 002E7380  38 00 00 01 */	li r0, 1
/* 802EB724 002E7384  7C 97 00 D0 */	neg r4, r23
/* 802EB728 002E7388  7C DF D8 50 */	subf r6, r31, r27
/* 802EB72C 002E738C  7C FF 2A 14 */	add r7, r31, r5
/* 802EB730 002E7390  80 6D AF 18 */	lwz r3, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB734 002E7394  54 85 08 3C */	slwi r5, r4, 1
/* 802EB738 002E7398  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
/* 802EB73C 002E739C  38 83 00 01 */	addi r4, r3, 1
/* 802EB740 002E73A0  38 60 00 01 */	li r3, 1
/* 802EB744 002E73A4  7C C7 2B 2E */	sthx r6, r7, r5
/* 802EB748 002E73A8  38 DD 00 02 */	addi r6, r29, 2
/* 802EB74C 002E73AC  80 AD AF 14 */	lwz r5, lbl_806401D4-_SDA_BASE_(r13)
/* 802EB750 002E73B0  A0 FB 00 00 */	lhz r7, 0(r27)
/* 802EB754 002E73B4  7C A6 28 50 */	subf r5, r6, r5
/* 802EB758 002E73B8  90 8D AF 18 */	stw r4, lbl_806401D8-_SDA_BASE_(r13)
/* 802EB75C 002E73BC  7C C7 EA 14 */	add r6, r7, r29
/* 802EB760 002E73C0  B0 DB 00 02 */	sth r6, 2(r27)
/* 802EB764 002E73C4  90 AD AF 14 */	stw r5, lbl_806401D4-_SDA_BASE_(r13)
/* 802EB768 002E73C8  B0 9F 00 04 */	sth r4, 4(r31)
/* 802EB76C 002E73CC  48 00 00 08 */	b lbl_802EB774
lbl_802EB770:
/* 802EB770 002E73D0  38 60 00 00 */	li r3, 0
lbl_802EB774:
/* 802EB774 002E73D4  39 61 00 30 */	addi r11, r1, 0x30
/* 802EB778 002E73D8  4B ED B9 E9 */	bl _restgpr_22
/* 802EB77C 002E73DC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802EB780 002E73E0  7C 08 03 A6 */	mtlr r0
/* 802EB784 002E73E4  38 21 00 30 */	addi r1, r1, 0x30
/* 802EB788 002E73E8  4E 80 00 20 */	blr

.global SCFindByteArrayItem
SCFindByteArrayItem:
/* 802EB78C 002E73EC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802EB790 002E73F0  7C 08 02 A6 */	mflr r0
/* 802EB794 002E73F4  90 01 00 44 */	stw r0, 0x44(r1)
/* 802EB798 002E73F8  39 61 00 40 */	addi r11, r1, 0x40
/* 802EB79C 002E73FC  4B ED B9 8D */	bl _savegpr_27
/* 802EB7A0 002E7400  7C 7B 1B 78 */	mr r27, r3
/* 802EB7A4 002E7404  7C 9C 23 78 */	mr r28, r4
/* 802EB7A8 002E7408  7C BD 2B 78 */	mr r29, r5
/* 802EB7AC 002E740C  3B E0 00 00 */	li r31, 0
/* 802EB7B0 002E7410  4B F8 2F AD */	bl OSDisableInterrupts
/* 802EB7B4 002E7414  38 00 00 00 */	li r0, 0
/* 802EB7B8 002E7418  7C 7E 1B 78 */	mr r30, r3
/* 802EB7BC 002E741C  7C 1B 00 40 */	cmplw r27, r0
/* 802EB7C0 002E7420  41 82 00 88 */	beq lbl_802EB848
/* 802EB7C4 002E7424  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB7C8 002E7428  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EB7CC 002E742C  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EB7D0 002E7430  7C 1D 00 40 */	cmplw r29, r0
/* 802EB7D4 002E7434  40 80 00 3C */	bge lbl_802EB810
/* 802EB7D8 002E7438  80 6D AF 20 */	lwz r3, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB7DC 002E743C  2C 03 00 00 */	cmpwi r3, 0
/* 802EB7E0 002E7440  41 82 00 30 */	beq lbl_802EB810
/* 802EB7E4 002E7444  7C 1D 00 D0 */	neg r0, r29
/* 802EB7E8 002E7448  7C 65 1A 14 */	add r3, r5, r3
/* 802EB7EC 002E744C  54 00 08 3C */	slwi r0, r0, 1
/* 802EB7F0 002E7450  7C 03 02 2E */	lhzx r0, r3, r0
/* 802EB7F4 002E7454  2C 00 00 00 */	cmpwi r0, 0
/* 802EB7F8 002E7458  41 82 00 18 */	beq lbl_802EB810
/* 802EB7FC 002E745C  7C 05 02 2E */	lhzx r0, r5, r0
/* 802EB800 002E7460  38 81 00 08 */	addi r4, r1, 8
/* 802EB804 002E7464  7C 65 02 14 */	add r3, r5, r0
/* 802EB808 002E7468  4B FF F9 E5 */	bl UnpackItem
/* 802EB80C 002E746C  48 00 00 08 */	b lbl_802EB814
lbl_802EB810:
/* 802EB810 002E7470  38 60 00 00 */	li r3, 0
lbl_802EB814:
/* 802EB814 002E7474  2C 03 00 00 */	cmpwi r3, 0
/* 802EB818 002E7478  41 82 00 30 */	beq lbl_802EB848
/* 802EB81C 002E747C  88 01 00 11 */	lbz r0, 0x11(r1)
/* 802EB820 002E7480  2C 00 00 00 */	cmpwi r0, 0
/* 802EB824 002E7484  41 82 00 24 */	beq lbl_802EB848
/* 802EB828 002E7488  80 01 00 18 */	lwz r0, 0x18(r1)
/* 802EB82C 002E748C  7C 00 E0 40 */	cmplw r0, r28
/* 802EB830 002E7490  40 82 00 18 */	bne lbl_802EB848
/* 802EB834 002E7494  80 81 00 20 */	lwz r4, 0x20(r1)
/* 802EB838 002E7498  7F 63 DB 78 */	mr r3, r27
/* 802EB83C 002E749C  7F 85 E3 78 */	mr r5, r28
/* 802EB840 002E74A0  4B D1 87 C1 */	bl memcpy
/* 802EB844 002E74A4  3B E0 00 01 */	li r31, 1
lbl_802EB848:
/* 802EB848 002E74A8  7F C3 F3 78 */	mr r3, r30
/* 802EB84C 002E74AC  4B F8 2F 39 */	bl OSRestoreInterrupts
/* 802EB850 002E74B0  39 61 00 40 */	addi r11, r1, 0x40
/* 802EB854 002E74B4  7F E3 FB 78 */	mr r3, r31
/* 802EB858 002E74B8  4B ED B9 1D */	bl _restgpr_27
/* 802EB85C 002E74BC  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802EB860 002E74C0  7C 08 03 A6 */	mtlr r0
/* 802EB864 002E74C4  38 21 00 40 */	addi r1, r1, 0x40
/* 802EB868 002E74C8  4E 80 00 20 */	blr

.global SCReplaceByteArrayItem
SCReplaceByteArrayItem:
/* 802EB86C 002E74CC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802EB870 002E74D0  7C 08 02 A6 */	mflr r0
/* 802EB874 002E74D4  90 01 00 44 */	stw r0, 0x44(r1)
/* 802EB878 002E74D8  39 61 00 40 */	addi r11, r1, 0x40
/* 802EB87C 002E74DC  4B ED B8 AD */	bl _savegpr_27
/* 802EB880 002E74E0  7C 7B 1B 78 */	mr r27, r3
/* 802EB884 002E74E4  7C 9C 23 78 */	mr r28, r4
/* 802EB888 002E74E8  7C BD 2B 78 */	mr r29, r5
/* 802EB88C 002E74EC  3B E0 00 00 */	li r31, 0
/* 802EB890 002E74F0  4B F8 2E CD */	bl OSDisableInterrupts
/* 802EB894 002E74F4  38 00 00 00 */	li r0, 0
/* 802EB898 002E74F8  7C 7E 1B 78 */	mr r30, r3
/* 802EB89C 002E74FC  7C 1B 00 40 */	cmplw r27, r0
/* 802EB8A0 002E7500  41 82 00 CC */	beq lbl_802EB96C
/* 802EB8A4 002E7504  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB8A8 002E7508  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EB8AC 002E750C  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EB8B0 002E7510  7C 1D 00 40 */	cmplw r29, r0
/* 802EB8B4 002E7514  40 80 00 3C */	bge lbl_802EB8F0
/* 802EB8B8 002E7518  80 6D AF 20 */	lwz r3, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB8BC 002E751C  2C 03 00 00 */	cmpwi r3, 0
/* 802EB8C0 002E7520  41 82 00 30 */	beq lbl_802EB8F0
/* 802EB8C4 002E7524  7C 1D 00 D0 */	neg r0, r29
/* 802EB8C8 002E7528  7C 65 1A 14 */	add r3, r5, r3
/* 802EB8CC 002E752C  54 00 08 3C */	slwi r0, r0, 1
/* 802EB8D0 002E7530  7C 03 02 2E */	lhzx r0, r3, r0
/* 802EB8D4 002E7534  2C 00 00 00 */	cmpwi r0, 0
/* 802EB8D8 002E7538  41 82 00 18 */	beq lbl_802EB8F0
/* 802EB8DC 002E753C  7C 05 02 2E */	lhzx r0, r5, r0
/* 802EB8E0 002E7540  38 81 00 08 */	addi r4, r1, 8
/* 802EB8E4 002E7544  7C 65 02 14 */	add r3, r5, r0
/* 802EB8E8 002E7548  4B FF F9 05 */	bl UnpackItem
/* 802EB8EC 002E754C  48 00 00 08 */	b lbl_802EB8F4
lbl_802EB8F0:
/* 802EB8F0 002E7550  38 60 00 00 */	li r3, 0
lbl_802EB8F4:
/* 802EB8F4 002E7554  2C 03 00 00 */	cmpwi r3, 0
/* 802EB8F8 002E7558  41 82 00 5C */	beq lbl_802EB954
/* 802EB8FC 002E755C  88 01 00 11 */	lbz r0, 0x11(r1)
/* 802EB900 002E7560  2C 00 00 00 */	cmpwi r0, 0
/* 802EB904 002E7564  41 82 00 48 */	beq lbl_802EB94C
/* 802EB908 002E7568  80 01 00 18 */	lwz r0, 0x18(r1)
/* 802EB90C 002E756C  7C 00 E0 40 */	cmplw r0, r28
/* 802EB910 002E7570  40 82 00 3C */	bne lbl_802EB94C
/* 802EB914 002E7574  80 61 00 20 */	lwz r3, 0x20(r1)
/* 802EB918 002E7578  7F 64 DB 78 */	mr r4, r27
/* 802EB91C 002E757C  7F 85 E3 78 */	mr r5, r28
/* 802EB920 002E7580  4B ED EA 79 */	bl memcmp
/* 802EB924 002E7584  2C 03 00 00 */	cmpwi r3, 0
/* 802EB928 002E7588  41 82 00 1C */	beq lbl_802EB944
/* 802EB92C 002E758C  80 61 00 20 */	lwz r3, 0x20(r1)
/* 802EB930 002E7590  7F 64 DB 78 */	mr r4, r27
/* 802EB934 002E7594  7F 85 E3 78 */	mr r5, r28
/* 802EB938 002E7598  4B D1 86 C9 */	bl memcpy
/* 802EB93C 002E759C  38 00 00 01 */	li r0, 1
/* 802EB940 002E75A0  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
lbl_802EB944:
/* 802EB944 002E75A4  3B E0 00 01 */	li r31, 1
/* 802EB948 002E75A8  48 00 00 24 */	b lbl_802EB96C
lbl_802EB94C:
/* 802EB94C 002E75AC  7F A3 EB 78 */	mr r3, r29
/* 802EB950 002E75B0  4B FF FA 35 */	bl DeleteItemByID
lbl_802EB954:
/* 802EB954 002E75B4  7F A3 EB 78 */	mr r3, r29
/* 802EB958 002E75B8  7F 65 DB 78 */	mr r5, r27
/* 802EB95C 002E75BC  7F 86 E3 78 */	mr r6, r28
/* 802EB960 002E75C0  38 80 00 40 */	li r4, 0x40
/* 802EB964 002E75C4  4B FF FB B1 */	bl CreateItemByID
/* 802EB968 002E75C8  7C 7F 1B 78 */	mr r31, r3
lbl_802EB96C:
/* 802EB96C 002E75CC  7F C3 F3 78 */	mr r3, r30
/* 802EB970 002E75D0  4B F8 2E 15 */	bl OSRestoreInterrupts
/* 802EB974 002E75D4  39 61 00 40 */	addi r11, r1, 0x40
/* 802EB978 002E75D8  7F E3 FB 78 */	mr r3, r31
/* 802EB97C 002E75DC  4B ED B7 F9 */	bl _restgpr_27
/* 802EB980 002E75E0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802EB984 002E75E4  7C 08 03 A6 */	mtlr r0
/* 802EB988 002E75E8  38 21 00 40 */	addi r1, r1, 0x40
/* 802EB98C 002E75EC  4E 80 00 20 */	blr

.global SCReplaceIntegerItem
SCReplaceIntegerItem:
/* 802EB990 002E75F0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802EB994 002E75F4  7C 08 02 A6 */	mflr r0
/* 802EB998 002E75F8  90 01 00 44 */	stw r0, 0x44(r1)
/* 802EB99C 002E75FC  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 802EB9A0 002E7600  7C BF 2B 78 */	mr r31, r5
/* 802EB9A4 002E7604  93 C1 00 38 */	stw r30, 0x38(r1)
/* 802EB9A8 002E7608  93 A1 00 34 */	stw r29, 0x34(r1)
/* 802EB9AC 002E760C  7C 9D 23 78 */	mr r29, r4
/* 802EB9B0 002E7610  93 81 00 30 */	stw r28, 0x30(r1)
/* 802EB9B4 002E7614  7C 7C 1B 78 */	mr r28, r3
/* 802EB9B8 002E7618  4B F8 2D A5 */	bl OSDisableInterrupts
/* 802EB9BC 002E761C  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EB9C0 002E7620  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EB9C4 002E7624  7C 7E 1B 78 */	mr r30, r3
/* 802EB9C8 002E7628  7C 1D 00 40 */	cmplw r29, r0
/* 802EB9CC 002E762C  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EB9D0 002E7630  40 80 00 3C */	bge lbl_802EBA0C
/* 802EB9D4 002E7634  80 6D AF 20 */	lwz r3, lbl_806401E0-_SDA_BASE_(r13)
/* 802EB9D8 002E7638  2C 03 00 00 */	cmpwi r3, 0
/* 802EB9DC 002E763C  41 82 00 30 */	beq lbl_802EBA0C
/* 802EB9E0 002E7640  7C 1D 00 D0 */	neg r0, r29
/* 802EB9E4 002E7644  7C 65 1A 14 */	add r3, r5, r3
/* 802EB9E8 002E7648  54 00 08 3C */	slwi r0, r0, 1
/* 802EB9EC 002E764C  7C 03 02 2E */	lhzx r0, r3, r0
/* 802EB9F0 002E7650  2C 00 00 00 */	cmpwi r0, 0
/* 802EB9F4 002E7654  41 82 00 18 */	beq lbl_802EBA0C
/* 802EB9F8 002E7658  7C 05 02 2E */	lhzx r0, r5, r0
/* 802EB9FC 002E765C  38 81 00 08 */	addi r4, r1, 8
/* 802EBA00 002E7660  7C 65 02 14 */	add r3, r5, r0
/* 802EBA04 002E7664  4B FF F7 E9 */	bl UnpackItem
/* 802EBA08 002E7668  48 00 00 08 */	b lbl_802EBA10
lbl_802EBA0C:
/* 802EBA0C 002E766C  38 60 00 00 */	li r3, 0
lbl_802EBA10:
/* 802EBA10 002E7670  2C 03 00 00 */	cmpwi r3, 0
/* 802EBA14 002E7674  41 82 00 50 */	beq lbl_802EBA64
/* 802EBA18 002E7678  88 01 00 10 */	lbz r0, 0x10(r1)
/* 802EBA1C 002E767C  7C 00 F8 40 */	cmplw r0, r31
/* 802EBA20 002E7680  40 82 00 3C */	bne lbl_802EBA5C
/* 802EBA24 002E7684  80 61 00 20 */	lwz r3, 0x20(r1)
/* 802EBA28 002E7688  7F 84 E3 78 */	mr r4, r28
/* 802EBA2C 002E768C  80 A1 00 18 */	lwz r5, 0x18(r1)
/* 802EBA30 002E7690  4B ED E9 69 */	bl memcmp
/* 802EBA34 002E7694  2C 03 00 00 */	cmpwi r3, 0
/* 802EBA38 002E7698  41 82 00 1C */	beq lbl_802EBA54
/* 802EBA3C 002E769C  80 61 00 20 */	lwz r3, 0x20(r1)
/* 802EBA40 002E76A0  7F 84 E3 78 */	mr r4, r28
/* 802EBA44 002E76A4  80 A1 00 18 */	lwz r5, 0x18(r1)
/* 802EBA48 002E76A8  4B D1 85 B9 */	bl memcpy
/* 802EBA4C 002E76AC  38 00 00 01 */	li r0, 1
/* 802EBA50 002E76B0  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
lbl_802EBA54:
/* 802EBA54 002E76B4  3B E0 00 01 */	li r31, 1
/* 802EBA58 002E76B8  48 00 00 24 */	b lbl_802EBA7C
lbl_802EBA5C:
/* 802EBA5C 002E76BC  7F A3 EB 78 */	mr r3, r29
/* 802EBA60 002E76C0  4B FF F9 25 */	bl DeleteItemByID
lbl_802EBA64:
/* 802EBA64 002E76C4  7F A3 EB 78 */	mr r3, r29
/* 802EBA68 002E76C8  7F E4 FB 78 */	mr r4, r31
/* 802EBA6C 002E76CC  7F 85 E3 78 */	mr r5, r28
/* 802EBA70 002E76D0  38 C0 00 00 */	li r6, 0
/* 802EBA74 002E76D4  4B FF FA A1 */	bl CreateItemByID
/* 802EBA78 002E76D8  7C 7F 1B 78 */	mr r31, r3
lbl_802EBA7C:
/* 802EBA7C 002E76DC  7F C3 F3 78 */	mr r3, r30
/* 802EBA80 002E76E0  4B F8 2D 05 */	bl OSRestoreInterrupts
/* 802EBA84 002E76E4  7F E3 FB 78 */	mr r3, r31
/* 802EBA88 002E76E8  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 802EBA8C 002E76EC  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 802EBA90 002E76F0  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 802EBA94 002E76F4  83 81 00 30 */	lwz r28, 0x30(r1)
/* 802EBA98 002E76F8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802EBA9C 002E76FC  7C 08 03 A6 */	mtlr r0
/* 802EBAA0 002E7700  38 21 00 40 */	addi r1, r1, 0x40
/* 802EBAA4 002E7704  4E 80 00 20 */	blr

.global SCFindU8Item
SCFindU8Item:
/* 802EBAA8 002E7708  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802EBAAC 002E770C  7C 08 02 A6 */	mflr r0
/* 802EBAB0 002E7710  90 01 00 44 */	stw r0, 0x44(r1)
/* 802EBAB4 002E7714  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 802EBAB8 002E7718  93 C1 00 38 */	stw r30, 0x38(r1)
/* 802EBABC 002E771C  3B C0 00 00 */	li r30, 0
/* 802EBAC0 002E7720  93 A1 00 34 */	stw r29, 0x34(r1)
/* 802EBAC4 002E7724  7C 9D 23 78 */	mr r29, r4
/* 802EBAC8 002E7728  93 81 00 30 */	stw r28, 0x30(r1)
/* 802EBACC 002E772C  7C 7C 1B 78 */	mr r28, r3
/* 802EBAD0 002E7730  4B F8 2C 8D */	bl OSDisableInterrupts
/* 802EBAD4 002E7734  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EBAD8 002E7738  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EBADC 002E773C  7C 7F 1B 78 */	mr r31, r3
/* 802EBAE0 002E7740  7C 1D 00 40 */	cmplw r29, r0
/* 802EBAE4 002E7744  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EBAE8 002E7748  40 80 00 3C */	bge lbl_802EBB24
/* 802EBAEC 002E774C  80 6D AF 20 */	lwz r3, lbl_806401E0-_SDA_BASE_(r13)
/* 802EBAF0 002E7750  2C 03 00 00 */	cmpwi r3, 0
/* 802EBAF4 002E7754  41 82 00 30 */	beq lbl_802EBB24
/* 802EBAF8 002E7758  7C 1D 00 D0 */	neg r0, r29
/* 802EBAFC 002E775C  7C 65 1A 14 */	add r3, r5, r3
/* 802EBB00 002E7760  54 00 08 3C */	slwi r0, r0, 1
/* 802EBB04 002E7764  7C 03 02 2E */	lhzx r0, r3, r0
/* 802EBB08 002E7768  2C 00 00 00 */	cmpwi r0, 0
/* 802EBB0C 002E776C  41 82 00 18 */	beq lbl_802EBB24
/* 802EBB10 002E7770  7C 05 02 2E */	lhzx r0, r5, r0
/* 802EBB14 002E7774  38 81 00 08 */	addi r4, r1, 8
/* 802EBB18 002E7778  7C 65 02 14 */	add r3, r5, r0
/* 802EBB1C 002E777C  4B FF F6 D1 */	bl UnpackItem
/* 802EBB20 002E7780  48 00 00 08 */	b lbl_802EBB28
lbl_802EBB24:
/* 802EBB24 002E7784  38 60 00 00 */	li r3, 0
lbl_802EBB28:
/* 802EBB28 002E7788  2C 03 00 00 */	cmpwi r3, 0
/* 802EBB2C 002E778C  41 82 00 24 */	beq lbl_802EBB50
/* 802EBB30 002E7790  88 01 00 10 */	lbz r0, 0x10(r1)
/* 802EBB34 002E7794  28 00 00 60 */	cmplwi r0, 0x60
/* 802EBB38 002E7798  40 82 00 18 */	bne lbl_802EBB50
/* 802EBB3C 002E779C  80 81 00 20 */	lwz r4, 0x20(r1)
/* 802EBB40 002E77A0  7F 83 E3 78 */	mr r3, r28
/* 802EBB44 002E77A4  80 A1 00 18 */	lwz r5, 0x18(r1)
/* 802EBB48 002E77A8  4B D1 84 B9 */	bl memcpy
/* 802EBB4C 002E77AC  3B C0 00 01 */	li r30, 1
lbl_802EBB50:
/* 802EBB50 002E77B0  7F E3 FB 78 */	mr r3, r31
/* 802EBB54 002E77B4  4B F8 2C 31 */	bl OSRestoreInterrupts
/* 802EBB58 002E77B8  7F C3 F3 78 */	mr r3, r30
/* 802EBB5C 002E77BC  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 802EBB60 002E77C0  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 802EBB64 002E77C4  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 802EBB68 002E77C8  83 81 00 30 */	lwz r28, 0x30(r1)
/* 802EBB6C 002E77CC  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802EBB70 002E77D0  7C 08 03 A6 */	mtlr r0
/* 802EBB74 002E77D4  38 21 00 40 */	addi r1, r1, 0x40
/* 802EBB78 002E77D8  4E 80 00 20 */	blr

.global SCFindS8Item
SCFindS8Item:
/* 802EBB7C 002E77DC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802EBB80 002E77E0  7C 08 02 A6 */	mflr r0
/* 802EBB84 002E77E4  90 01 00 44 */	stw r0, 0x44(r1)
/* 802EBB88 002E77E8  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 802EBB8C 002E77EC  93 C1 00 38 */	stw r30, 0x38(r1)
/* 802EBB90 002E77F0  3B C0 00 00 */	li r30, 0
/* 802EBB94 002E77F4  93 A1 00 34 */	stw r29, 0x34(r1)
/* 802EBB98 002E77F8  7C 9D 23 78 */	mr r29, r4
/* 802EBB9C 002E77FC  93 81 00 30 */	stw r28, 0x30(r1)
/* 802EBBA0 002E7800  7C 7C 1B 78 */	mr r28, r3
/* 802EBBA4 002E7804  4B F8 2B B9 */	bl OSDisableInterrupts
/* 802EBBA8 002E7808  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EBBAC 002E780C  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EBBB0 002E7810  7C 7F 1B 78 */	mr r31, r3
/* 802EBBB4 002E7814  7C 1D 00 40 */	cmplw r29, r0
/* 802EBBB8 002E7818  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EBBBC 002E781C  40 80 00 3C */	bge lbl_802EBBF8
/* 802EBBC0 002E7820  80 6D AF 20 */	lwz r3, lbl_806401E0-_SDA_BASE_(r13)
/* 802EBBC4 002E7824  2C 03 00 00 */	cmpwi r3, 0
/* 802EBBC8 002E7828  41 82 00 30 */	beq lbl_802EBBF8
/* 802EBBCC 002E782C  7C 1D 00 D0 */	neg r0, r29
/* 802EBBD0 002E7830  7C 65 1A 14 */	add r3, r5, r3
/* 802EBBD4 002E7834  54 00 08 3C */	slwi r0, r0, 1
/* 802EBBD8 002E7838  7C 03 02 2E */	lhzx r0, r3, r0
/* 802EBBDC 002E783C  2C 00 00 00 */	cmpwi r0, 0
/* 802EBBE0 002E7840  41 82 00 18 */	beq lbl_802EBBF8
/* 802EBBE4 002E7844  7C 05 02 2E */	lhzx r0, r5, r0
/* 802EBBE8 002E7848  38 81 00 08 */	addi r4, r1, 8
/* 802EBBEC 002E784C  7C 65 02 14 */	add r3, r5, r0
/* 802EBBF0 002E7850  4B FF F5 FD */	bl UnpackItem
/* 802EBBF4 002E7854  48 00 00 08 */	b lbl_802EBBFC
lbl_802EBBF8:
/* 802EBBF8 002E7858  38 60 00 00 */	li r3, 0
lbl_802EBBFC:
/* 802EBBFC 002E785C  2C 03 00 00 */	cmpwi r3, 0
/* 802EBC00 002E7860  41 82 00 24 */	beq lbl_802EBC24
/* 802EBC04 002E7864  88 01 00 10 */	lbz r0, 0x10(r1)
/* 802EBC08 002E7868  28 00 00 60 */	cmplwi r0, 0x60
/* 802EBC0C 002E786C  40 82 00 18 */	bne lbl_802EBC24
/* 802EBC10 002E7870  80 81 00 20 */	lwz r4, 0x20(r1)
/* 802EBC14 002E7874  7F 83 E3 78 */	mr r3, r28
/* 802EBC18 002E7878  80 A1 00 18 */	lwz r5, 0x18(r1)
/* 802EBC1C 002E787C  4B D1 83 E5 */	bl memcpy
/* 802EBC20 002E7880  3B C0 00 01 */	li r30, 1
lbl_802EBC24:
/* 802EBC24 002E7884  7F E3 FB 78 */	mr r3, r31
/* 802EBC28 002E7888  4B F8 2B 5D */	bl OSRestoreInterrupts
/* 802EBC2C 002E788C  7F C3 F3 78 */	mr r3, r30
/* 802EBC30 002E7890  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 802EBC34 002E7894  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 802EBC38 002E7898  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 802EBC3C 002E789C  83 81 00 30 */	lwz r28, 0x30(r1)
/* 802EBC40 002E78A0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802EBC44 002E78A4  7C 08 03 A6 */	mtlr r0
/* 802EBC48 002E78A8  38 21 00 40 */	addi r1, r1, 0x40
/* 802EBC4C 002E78AC  4E 80 00 20 */	blr

.global SCFindU32Item
SCFindU32Item:
/* 802EBC50 002E78B0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802EBC54 002E78B4  7C 08 02 A6 */	mflr r0
/* 802EBC58 002E78B8  90 01 00 44 */	stw r0, 0x44(r1)
/* 802EBC5C 002E78BC  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 802EBC60 002E78C0  93 C1 00 38 */	stw r30, 0x38(r1)
/* 802EBC64 002E78C4  3B C0 00 00 */	li r30, 0
/* 802EBC68 002E78C8  93 A1 00 34 */	stw r29, 0x34(r1)
/* 802EBC6C 002E78CC  7C 9D 23 78 */	mr r29, r4
/* 802EBC70 002E78D0  93 81 00 30 */	stw r28, 0x30(r1)
/* 802EBC74 002E78D4  7C 7C 1B 78 */	mr r28, r3
/* 802EBC78 002E78D8  4B F8 2A E5 */	bl OSDisableInterrupts
/* 802EBC7C 002E78DC  80 0D AF 1C */	lwz r0, lbl_806401DC-_SDA_BASE_(r13)
/* 802EBC80 002E78E0  3C A0 80 57 */	lis r5, lbl_80571060@ha
/* 802EBC84 002E78E4  7C 7F 1B 78 */	mr r31, r3
/* 802EBC88 002E78E8  7C 1D 00 40 */	cmplw r29, r0
/* 802EBC8C 002E78EC  38 A5 10 60 */	addi r5, r5, lbl_80571060@l
/* 802EBC90 002E78F0  40 80 00 3C */	bge lbl_802EBCCC
/* 802EBC94 002E78F4  80 6D AF 20 */	lwz r3, lbl_806401E0-_SDA_BASE_(r13)
/* 802EBC98 002E78F8  2C 03 00 00 */	cmpwi r3, 0
/* 802EBC9C 002E78FC  41 82 00 30 */	beq lbl_802EBCCC
/* 802EBCA0 002E7900  7C 1D 00 D0 */	neg r0, r29
/* 802EBCA4 002E7904  7C 65 1A 14 */	add r3, r5, r3
/* 802EBCA8 002E7908  54 00 08 3C */	slwi r0, r0, 1
/* 802EBCAC 002E790C  7C 03 02 2E */	lhzx r0, r3, r0
/* 802EBCB0 002E7910  2C 00 00 00 */	cmpwi r0, 0
/* 802EBCB4 002E7914  41 82 00 18 */	beq lbl_802EBCCC
/* 802EBCB8 002E7918  7C 05 02 2E */	lhzx r0, r5, r0
/* 802EBCBC 002E791C  38 81 00 08 */	addi r4, r1, 8
/* 802EBCC0 002E7920  7C 65 02 14 */	add r3, r5, r0
/* 802EBCC4 002E7924  4B FF F5 29 */	bl UnpackItem
/* 802EBCC8 002E7928  48 00 00 08 */	b lbl_802EBCD0
lbl_802EBCCC:
/* 802EBCCC 002E792C  38 60 00 00 */	li r3, 0
lbl_802EBCD0:
/* 802EBCD0 002E7930  2C 03 00 00 */	cmpwi r3, 0
/* 802EBCD4 002E7934  41 82 00 24 */	beq lbl_802EBCF8
/* 802EBCD8 002E7938  88 01 00 10 */	lbz r0, 0x10(r1)
/* 802EBCDC 002E793C  28 00 00 A0 */	cmplwi r0, 0xa0
/* 802EBCE0 002E7940  40 82 00 18 */	bne lbl_802EBCF8
/* 802EBCE4 002E7944  80 81 00 20 */	lwz r4, 0x20(r1)
/* 802EBCE8 002E7948  7F 83 E3 78 */	mr r3, r28
/* 802EBCEC 002E794C  80 A1 00 18 */	lwz r5, 0x18(r1)
/* 802EBCF0 002E7950  4B D1 83 11 */	bl memcpy
/* 802EBCF4 002E7954  3B C0 00 01 */	li r30, 1
lbl_802EBCF8:
/* 802EBCF8 002E7958  7F E3 FB 78 */	mr r3, r31
/* 802EBCFC 002E795C  4B F8 2A 89 */	bl OSRestoreInterrupts
/* 802EBD00 002E7960  7F C3 F3 78 */	mr r3, r30
/* 802EBD04 002E7964  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 802EBD08 002E7968  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 802EBD0C 002E796C  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 802EBD10 002E7970  83 81 00 30 */	lwz r28, 0x30(r1)
/* 802EBD14 002E7974  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802EBD18 002E7978  7C 08 03 A6 */	mtlr r0
/* 802EBD1C 002E797C  38 21 00 40 */	addi r1, r1, 0x40
/* 802EBD20 002E7980  4E 80 00 20 */	blr

.global SCReplaceU8Item
SCReplaceU8Item:
/* 802EBD24 002E7984  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EBD28 002E7988  7C 08 02 A6 */	mflr r0
/* 802EBD2C 002E798C  38 A0 00 60 */	li r5, 0x60
/* 802EBD30 002E7990  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EBD34 002E7994  98 61 00 08 */	stb r3, 8(r1)
/* 802EBD38 002E7998  38 61 00 08 */	addi r3, r1, 8
/* 802EBD3C 002E799C  4B FF FC 55 */	bl SCReplaceIntegerItem
/* 802EBD40 002E79A0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EBD44 002E79A4  7C 08 03 A6 */	mtlr r0
/* 802EBD48 002E79A8  38 21 00 10 */	addi r1, r1, 0x10
/* 802EBD4C 002E79AC  4E 80 00 20 */	blr

__SCFlushSyncCallback:
/* 802EBD50 002E79B0  3C 60 80 57 */	lis r3, lbl_80570EC0@ha
/* 802EBD54 002E79B4  38 63 0E C0 */	addi r3, r3, lbl_80570EC0@l
/* 802EBD58 002E79B8  4B F8 67 08 */	b OSWakeupThread

.global SCFlush
SCFlush:
/* 802EBD5C 002E79BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EBD60 002E79C0  7C 08 02 A6 */	mflr r0
/* 802EBD64 002E79C4  3C 60 80 2F */	lis r3, __SCFlushSyncCallback@ha
/* 802EBD68 002E79C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EBD6C 002E79CC  38 63 BD 50 */	addi r3, r3, __SCFlushSyncCallback@l
/* 802EBD70 002E79D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802EBD74 002E79D4  93 C1 00 08 */	stw r30, 8(r1)
/* 802EBD78 002E79D8  48 00 00 55 */	bl SCFlushAsync
/* 802EBD7C 002E79DC  4B F8 29 E1 */	bl OSDisableInterrupts
/* 802EBD80 002E79E0  3F E0 80 57 */	lis r31, lbl_80570EC0@ha
/* 802EBD84 002E79E4  7C 7E 1B 78 */	mr r30, r3
/* 802EBD88 002E79E8  3B FF 0E C0 */	addi r31, r31, lbl_80570EC0@l
/* 802EBD8C 002E79EC  48 00 00 0C */	b lbl_802EBD98
lbl_802EBD90:
/* 802EBD90 002E79F0  7F E3 FB 78 */	mr r3, r31
/* 802EBD94 002E79F4  4B F8 65 E1 */	bl OSSleepThread
lbl_802EBD98:
/* 802EBD98 002E79F8  80 1F 01 80 */	lwz r0, 0x180(r31)
/* 802EBD9C 002E79FC  2C 00 00 00 */	cmpwi r0, 0
/* 802EBDA0 002E7A00  40 82 FF F0 */	bne lbl_802EBD90
/* 802EBDA4 002E7A04  83 FF 01 84 */	lwz r31, 0x184(r31)
/* 802EBDA8 002E7A08  7F C3 F3 78 */	mr r3, r30
/* 802EBDAC 002E7A0C  4B F8 29 D9 */	bl OSRestoreInterrupts
/* 802EBDB0 002E7A10  7F E3 FB 78 */	mr r3, r31
/* 802EBDB4 002E7A14  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802EBDB8 002E7A18  83 C1 00 08 */	lwz r30, 8(r1)
/* 802EBDBC 002E7A1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EBDC0 002E7A20  7C 08 03 A6 */	mtlr r0
/* 802EBDC4 002E7A24  38 21 00 10 */	addi r1, r1, 0x10
/* 802EBDC8 002E7A28  4E 80 00 20 */	blr

.global SCFlushAsync
SCFlushAsync:
/* 802EBDCC 002E7A2C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EBDD0 002E7A30  7C 08 02 A6 */	mflr r0
/* 802EBDD4 002E7A34  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EBDD8 002E7A38  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802EBDDC 002E7A3C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802EBDE0 002E7A40  7C 7E 1B 78 */	mr r30, r3
/* 802EBDE4 002E7A44  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802EBDE8 002E7A48  3F A0 80 57 */	lis r29, lbl_80570EC0@ha
/* 802EBDEC 002E7A4C  3B BD 0E C0 */	addi r29, r29, lbl_80570EC0@l
/* 802EBDF0 002E7A50  93 81 00 10 */	stw r28, 0x10(r1)
/* 802EBDF4 002E7A54  3B 9D 00 00 */	addi r28, r29, 0
/* 802EBDF8 002E7A58  4B F8 29 65 */	bl OSDisableInterrupts
/* 802EBDFC 002E7A5C  88 0D AF 10 */	lbz r0, lbl_806401D0-_SDA_BASE_(r13)
/* 802EBE00 002E7A60  7C 7F 1B 78 */	mr r31, r3
/* 802EBE04 002E7A64  2C 00 00 00 */	cmpwi r0, 0
/* 802EBE08 002E7A68  40 82 01 90 */	bne lbl_802EBF98
/* 802EBE0C 002E7A6C  38 00 00 00 */	li r0, 0
/* 802EBE10 002E7A70  38 60 00 01 */	li r3, 1
/* 802EBE14 002E7A74  7C 1E 00 40 */	cmplw r30, r0
/* 802EBE18 002E7A78  98 6D AF 10 */	stb r3, lbl_806401D0-_SDA_BASE_(r13)
/* 802EBE1C 002E7A7C  40 82 00 0C */	bne lbl_802EBE28
/* 802EBE20 002E7A80  3F C0 80 2F */	lis r30, __SCFlushSyncCallback@ha
/* 802EBE24 002E7A84  3B DE BD 50 */	addi r30, r30, __SCFlushSyncCallback@l
lbl_802EBE28:
/* 802EBE28 002E7A88  88 0D AF 25 */	lbz r0, lbl_806401E5-_SDA_BASE_(r13)
/* 802EBE2C 002E7A8C  38 80 00 00 */	li r4, 0
/* 802EBE30 002E7A90  38 60 40 00 */	li r3, 0x4000
/* 802EBE34 002E7A94  93 DC 01 80 */	stw r30, 0x180(r28)
/* 802EBE38 002E7A98  2C 00 00 00 */	cmpwi r0, 0
/* 802EBE3C 002E7A9C  90 9C 01 84 */	stw r4, 0x184(r28)
/* 802EBE40 002E7AA0  98 9C 01 55 */	stb r4, 0x155(r28)
/* 802EBE44 002E7AA4  90 7C 01 88 */	stw r3, 0x188(r28)
/* 802EBE48 002E7AA8  41 82 00 0C */	beq lbl_802EBE54
/* 802EBE4C 002E7AAC  38 00 00 01 */	li r0, 1
/* 802EBE50 002E7AB0  48 00 00 08 */	b lbl_802EBE58
lbl_802EBE54:
/* 802EBE54 002E7AB4  38 00 00 00 */	li r0, 0
lbl_802EBE58:
/* 802EBE58 002E7AB8  2C 00 00 00 */	cmpwi r0, 0
/* 802EBE5C 002E7ABC  40 82 00 64 */	bne lbl_802EBEC0
/* 802EBE60 002E7AC0  7F E3 FB 78 */	mr r3, r31
/* 802EBE64 002E7AC4  4B F8 29 21 */	bl OSRestoreInterrupts
/* 802EBE68 002E7AC8  3B BD 00 00 */	addi r29, r29, 0
/* 802EBE6C 002E7ACC  80 1D 01 84 */	lwz r0, 0x184(r29)
/* 802EBE70 002E7AD0  2C 00 00 00 */	cmpwi r0, 0
/* 802EBE74 002E7AD4  41 82 00 0C */	beq lbl_802EBE80
/* 802EBE78 002E7AD8  38 00 00 01 */	li r0, 1
/* 802EBE7C 002E7ADC  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
lbl_802EBE80:
/* 802EBE80 002E7AE0  81 9D 01 80 */	lwz r12, 0x180(r29)
/* 802EBE84 002E7AE4  2C 0C 00 00 */	cmpwi r12, 0
/* 802EBE88 002E7AE8  41 82 00 2C */	beq lbl_802EBEB4
/* 802EBE8C 002E7AEC  3B C0 00 00 */	li r30, 0
/* 802EBE90 002E7AF0  80 7D 01 84 */	lwz r3, 0x184(r29)
/* 802EBE94 002E7AF4  93 DD 01 80 */	stw r30, 0x180(r29)
/* 802EBE98 002E7AF8  7D 89 03 A6 */	mtctr r12
/* 802EBE9C 002E7AFC  4E 80 04 21 */	bctrl
/* 802EBEA0 002E7B00  80 1D 00 00 */	lwz r0, 0(r29)
/* 802EBEA4 002E7B04  7C 00 F0 40 */	cmplw r0, r30
/* 802EBEA8 002E7B08  41 82 00 0C */	beq lbl_802EBEB4
/* 802EBEAC 002E7B0C  7F A3 EB 78 */	mr r3, r29
/* 802EBEB0 002E7B10  4B F8 65 B1 */	bl OSWakeupThread
lbl_802EBEB4:
/* 802EBEB4 002E7B14  80 1D 01 84 */	lwz r0, 0x184(r29)
/* 802EBEB8 002E7B18  98 0D AF 10 */	stb r0, lbl_806401D0-_SDA_BASE_(r13)
/* 802EBEBC 002E7B1C  48 00 01 0C */	b lbl_802EBFC8
lbl_802EBEC0:
/* 802EBEC0 002E7B20  3B C0 00 00 */	li r30, 0
/* 802EBEC4 002E7B24  38 7D 41 A0 */	addi r3, r29, 0x41a0
/* 802EBEC8 002E7B28  9B CD AF 25 */	stb r30, lbl_806401E5-_SDA_BASE_(r13)
/* 802EBECC 002E7B2C  38 9D 01 A0 */	addi r4, r29, 0x1a0
/* 802EBED0 002E7B30  38 A0 40 00 */	li r5, 0x4000
/* 802EBED4 002E7B34  4B D1 81 2D */	bl memcpy
/* 802EBED8 002E7B38  7F E3 FB 78 */	mr r3, r31
/* 802EBEDC 002E7B3C  4B F8 28 A9 */	bl OSRestoreInterrupts
/* 802EBEE0 002E7B40  3C 60 80 40 */	lis r3, lbl_803FE070@ha
/* 802EBEE4 002E7B44  3F E0 80 2F */	lis r31, MyNandCallback@ha
/* 802EBEE8 002E7B48  9B DC 01 54 */	stb r30, 0x154(r28)
/* 802EBEEC 002E7B4C  38 63 E0 70 */	addi r3, r3, lbl_803FE070@l
/* 802EBEF0 002E7B50  38 9C 01 4C */	addi r4, r28, 0x14c
/* 802EBEF4 002E7B54  38 BF BF E8 */	addi r5, r31, MyNandCallback@l
/* 802EBEF8 002E7B58  38 DC 00 94 */	addi r6, r28, 0x94
/* 802EBEFC 002E7B5C  4B FF E3 CD */	bl NANDPrivateGetTypeAsync
/* 802EBF00 002E7B60  2C 03 00 00 */	cmpwi r3, 0
/* 802EBF04 002E7B64  41 82 00 C4 */	beq lbl_802EBFC8
/* 802EBF08 002E7B68  38 BD 00 00 */	addi r5, r29, 0
/* 802EBF0C 002E7B6C  38 60 00 02 */	li r3, 2
/* 802EBF10 002E7B70  88 05 01 55 */	lbz r0, 0x155(r5)
/* 802EBF14 002E7B74  90 65 01 84 */	stw r3, 0x184(r5)
/* 802EBF18 002E7B78  2C 00 00 00 */	cmpwi r0, 0
/* 802EBF1C 002E7B7C  41 82 00 24 */	beq lbl_802EBF40
/* 802EBF20 002E7B80  38 00 00 09 */	li r0, 9
/* 802EBF24 002E7B84  38 65 00 08 */	addi r3, r5, 8
/* 802EBF28 002E7B88  98 05 01 54 */	stb r0, 0x154(r5)
/* 802EBF2C 002E7B8C  38 9F BF E8 */	addi r4, r31, -16408
/* 802EBF30 002E7B90  38 A5 00 94 */	addi r5, r5, 0x94
/* 802EBF34 002E7B94  4B FF C7 C1 */	bl NANDCloseAsync
/* 802EBF38 002E7B98  2C 03 00 00 */	cmpwi r3, 0
/* 802EBF3C 002E7B9C  41 82 00 8C */	beq lbl_802EBFC8
lbl_802EBF40:
/* 802EBF40 002E7BA0  3B BD 00 00 */	addi r29, r29, 0
/* 802EBF44 002E7BA4  80 1D 01 84 */	lwz r0, 0x184(r29)
/* 802EBF48 002E7BA8  2C 00 00 00 */	cmpwi r0, 0
/* 802EBF4C 002E7BAC  41 82 00 0C */	beq lbl_802EBF58
/* 802EBF50 002E7BB0  38 00 00 01 */	li r0, 1
/* 802EBF54 002E7BB4  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
lbl_802EBF58:
/* 802EBF58 002E7BB8  81 9D 01 80 */	lwz r12, 0x180(r29)
/* 802EBF5C 002E7BBC  2C 0C 00 00 */	cmpwi r12, 0
/* 802EBF60 002E7BC0  41 82 00 2C */	beq lbl_802EBF8C
/* 802EBF64 002E7BC4  3B E0 00 00 */	li r31, 0
/* 802EBF68 002E7BC8  80 7D 01 84 */	lwz r3, 0x184(r29)
/* 802EBF6C 002E7BCC  93 FD 01 80 */	stw r31, 0x180(r29)
/* 802EBF70 002E7BD0  7D 89 03 A6 */	mtctr r12
/* 802EBF74 002E7BD4  4E 80 04 21 */	bctrl
/* 802EBF78 002E7BD8  80 1D 00 00 */	lwz r0, 0(r29)
/* 802EBF7C 002E7BDC  7C 00 F8 40 */	cmplw r0, r31
/* 802EBF80 002E7BE0  41 82 00 0C */	beq lbl_802EBF8C
/* 802EBF84 002E7BE4  7F A3 EB 78 */	mr r3, r29
/* 802EBF88 002E7BE8  4B F8 64 D9 */	bl OSWakeupThread
lbl_802EBF8C:
/* 802EBF8C 002E7BEC  80 1D 01 84 */	lwz r0, 0x184(r29)
/* 802EBF90 002E7BF0  98 0D AF 10 */	stb r0, lbl_806401D0-_SDA_BASE_(r13)
/* 802EBF94 002E7BF4  48 00 00 34 */	b lbl_802EBFC8
lbl_802EBF98:
/* 802EBF98 002E7BF8  2C 1E 00 00 */	cmpwi r30, 0
/* 802EBF9C 002E7BFC  41 82 00 24 */	beq lbl_802EBFC0
/* 802EBFA0 002E7C00  28 00 00 01 */	cmplwi r0, 1
/* 802EBFA4 002E7C04  40 82 00 08 */	bne lbl_802EBFAC
/* 802EBFA8 002E7C08  48 00 00 08 */	b lbl_802EBFB0
lbl_802EBFAC:
/* 802EBFAC 002E7C0C  38 00 00 02 */	li r0, 2
lbl_802EBFB0:
/* 802EBFB0 002E7C10  7F CC F3 78 */	mr r12, r30
/* 802EBFB4 002E7C14  7C 03 03 78 */	mr r3, r0
/* 802EBFB8 002E7C18  7D 89 03 A6 */	mtctr r12
/* 802EBFBC 002E7C1C  4E 80 04 21 */	bctrl
lbl_802EBFC0:
/* 802EBFC0 002E7C20  7F E3 FB 78 */	mr r3, r31
/* 802EBFC4 002E7C24  4B F8 27 C1 */	bl OSRestoreInterrupts
lbl_802EBFC8:
/* 802EBFC8 002E7C28  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EBFCC 002E7C2C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802EBFD0 002E7C30  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802EBFD4 002E7C34  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802EBFD8 002E7C38  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802EBFDC 002E7C3C  7C 08 03 A6 */	mtlr r0
/* 802EBFE0 002E7C40  38 21 00 20 */	addi r1, r1, 0x20
/* 802EBFE4 002E7C44  4E 80 00 20 */	blr

MyNandCallback:
/* 802EBFE8 002E7C48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802EBFEC 002E7C4C  7C 08 02 A6 */	mflr r0
/* 802EBFF0 002E7C50  3C E0 80 57 */	lis r7, lbl_80570EC0@ha
/* 802EBFF4 002E7C54  90 01 00 14 */	stw r0, 0x14(r1)
/* 802EBFF8 002E7C58  38 E7 0E C0 */	addi r7, r7, lbl_80570EC0@l
/* 802EBFFC 002E7C5C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802EC000 002E7C60  93 C1 00 08 */	stw r30, 8(r1)
/* 802EC004 002E7C64  88 07 01 54 */	lbz r0, 0x154(r7)
/* 802EC008 002E7C68  28 00 00 09 */	cmplwi r0, 9
/* 802EC00C 002E7C6C  41 81 02 FC */	bgt lbl_802EC308
/* 802EC010 002E7C70  3C 80 80 44 */	lis r4, lbl_80445A10@ha
/* 802EC014 002E7C74  54 00 10 3A */	slwi r0, r0, 2
/* 802EC018 002E7C78  38 84 5A 10 */	addi r4, r4, lbl_80445A10@l
/* 802EC01C 002E7C7C  7C 84 00 2E */	lwzx r4, r4, r0
/* 802EC020 002E7C80  7C 89 03 A6 */	mtctr r4
/* 802EC024 002E7C84  4E 80 04 20 */	bctr
/* 802EC028 002E7C88  2C 03 00 00 */	cmpwi r3, 0
/* 802EC02C 002E7C8C  40 82 00 54 */	bne lbl_802EC080
/* 802EC030 002E7C90  88 07 01 4C */	lbz r0, 0x14c(r7)
/* 802EC034 002E7C94  28 00 00 01 */	cmplwi r0, 1
/* 802EC038 002E7C98  40 82 00 48 */	bne lbl_802EC080
/* 802EC03C 002E7C9C  38 00 00 01 */	li r0, 1
/* 802EC040 002E7CA0  3C 60 80 40 */	lis r3, lbl_803FE070@ha
/* 802EC044 002E7CA4  3C A0 80 2F */	lis r5, MyNandCallback@ha
/* 802EC048 002E7CA8  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC04C 002E7CAC  38 63 E0 70 */	addi r3, r3, lbl_803FE070@l
/* 802EC050 002E7CB0  38 87 01 4C */	addi r4, r7, 0x14c
/* 802EC054 002E7CB4  38 A5 BF E8 */	addi r5, r5, MyNandCallback@l
/* 802EC058 002E7CB8  38 C7 00 94 */	addi r6, r7, 0x94
/* 802EC05C 002E7CBC  4B FF C2 05 */	bl NANDPrivateGetStatusAsync
/* 802EC060 002E7CC0  2C 03 00 00 */	cmpwi r3, 0
/* 802EC064 002E7CC4  40 82 02 0C */	bne lbl_802EC270
/* 802EC068 002E7CC8  48 00 02 A0 */	b lbl_802EC308
/* 802EC06C 002E7CCC  2C 03 00 00 */	cmpwi r3, 0
/* 802EC070 002E7CD0  40 82 00 10 */	bne lbl_802EC080
/* 802EC074 002E7CD4  88 07 01 53 */	lbz r0, 0x153(r7)
/* 802EC078 002E7CD8  28 00 00 3F */	cmplwi r0, 0x3f
/* 802EC07C 002E7CDC  41 82 00 DC */	beq lbl_802EC158
lbl_802EC080:
/* 802EC080 002E7CE0  38 00 00 02 */	li r0, 2
/* 802EC084 002E7CE4  3C 60 80 40 */	lis r3, lbl_803FE070@ha
/* 802EC088 002E7CE8  3C 80 80 2F */	lis r4, MyNandCallback@ha
/* 802EC08C 002E7CEC  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC090 002E7CF0  38 63 E0 70 */	addi r3, r3, lbl_803FE070@l
/* 802EC094 002E7CF4  38 A7 00 94 */	addi r5, r7, 0x94
/* 802EC098 002E7CF8  38 84 BF E8 */	addi r4, r4, MyNandCallback@l
/* 802EC09C 002E7CFC  4B FF B7 65 */	bl NANDPrivateDeleteAsync
/* 802EC0A0 002E7D00  2C 03 00 00 */	cmpwi r3, 0
/* 802EC0A4 002E7D04  40 82 01 CC */	bne lbl_802EC270
/* 802EC0A8 002E7D08  48 00 02 60 */	b lbl_802EC308
/* 802EC0AC 002E7D0C  38 00 00 03 */	li r0, 3
/* 802EC0B0 002E7D10  3C 60 80 40 */	lis r3, lbl_803FE060@ha
/* 802EC0B4 002E7D14  3C A0 80 2F */	lis r5, MyNandCallback@ha
/* 802EC0B8 002E7D18  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC0BC 002E7D1C  38 63 E0 60 */	addi r3, r3, lbl_803FE060@l
/* 802EC0C0 002E7D20  38 87 01 4C */	addi r4, r7, 0x14c
/* 802EC0C4 002E7D24  38 A5 BF E8 */	addi r5, r5, MyNandCallback@l
/* 802EC0C8 002E7D28  38 C7 00 94 */	addi r6, r7, 0x94
/* 802EC0CC 002E7D2C  4B FF E1 FD */	bl NANDPrivateGetTypeAsync
/* 802EC0D0 002E7D30  2C 03 00 00 */	cmpwi r3, 0
/* 802EC0D4 002E7D34  40 82 01 9C */	bne lbl_802EC270
/* 802EC0D8 002E7D38  48 00 02 30 */	b lbl_802EC308
/* 802EC0DC 002E7D3C  2C 03 00 00 */	cmpwi r3, 0
/* 802EC0E0 002E7D40  40 82 00 10 */	bne lbl_802EC0F0
/* 802EC0E4 002E7D44  88 07 01 4C */	lbz r0, 0x14c(r7)
/* 802EC0E8 002E7D48  28 00 00 02 */	cmplwi r0, 2
/* 802EC0EC 002E7D4C  41 82 00 38 */	beq lbl_802EC124
lbl_802EC0F0:
/* 802EC0F0 002E7D50  38 00 00 04 */	li r0, 4
/* 802EC0F4 002E7D54  3C 60 80 40 */	lis r3, lbl_803FE060@ha
/* 802EC0F8 002E7D58  3C C0 80 2F */	lis r6, MyNandCallback@ha
/* 802EC0FC 002E7D5C  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC100 002E7D60  38 63 E0 60 */	addi r3, r3, lbl_803FE060@l
/* 802EC104 002E7D64  38 E7 00 94 */	addi r7, r7, 0x94
/* 802EC108 002E7D68  38 C6 BF E8 */	addi r6, r6, MyNandCallback@l
/* 802EC10C 002E7D6C  38 80 00 3F */	li r4, 0x3f
/* 802EC110 002E7D70  38 A0 00 00 */	li r5, 0
/* 802EC114 002E7D74  4B FF BD 41 */	bl NANDPrivateCreateDirAsync
/* 802EC118 002E7D78  2C 03 00 00 */	cmpwi r3, 0
/* 802EC11C 002E7D7C  40 82 01 54 */	bne lbl_802EC270
/* 802EC120 002E7D80  48 00 01 E8 */	b lbl_802EC308
lbl_802EC124:
/* 802EC124 002E7D84  38 00 00 05 */	li r0, 5
/* 802EC128 002E7D88  3C 60 80 40 */	lis r3, lbl_803FE070@ha
/* 802EC12C 002E7D8C  3C C0 80 2F */	lis r6, MyNandCallback@ha
/* 802EC130 002E7D90  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC134 002E7D94  38 63 E0 70 */	addi r3, r3, lbl_803FE070@l
/* 802EC138 002E7D98  38 E7 00 94 */	addi r7, r7, 0x94
/* 802EC13C 002E7D9C  38 C6 BF E8 */	addi r6, r6, MyNandCallback@l
/* 802EC140 002E7DA0  38 80 00 3F */	li r4, 0x3f
/* 802EC144 002E7DA4  38 A0 00 00 */	li r5, 0
/* 802EC148 002E7DA8  4B FF B5 91 */	bl NANDPrivateCreateAsync
/* 802EC14C 002E7DAC  2C 03 00 00 */	cmpwi r3, 0
/* 802EC150 002E7DB0  40 82 01 20 */	bne lbl_802EC270
/* 802EC154 002E7DB4  48 00 01 B4 */	b lbl_802EC308
lbl_802EC158:
/* 802EC158 002E7DB8  38 00 00 06 */	li r0, 6
/* 802EC15C 002E7DBC  3C 60 80 40 */	lis r3, lbl_803FE070@ha
/* 802EC160 002E7DC0  3C C0 80 2F */	lis r6, MyNandCallback@ha
/* 802EC164 002E7DC4  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC168 002E7DC8  38 87 00 08 */	addi r4, r7, 8
/* 802EC16C 002E7DCC  38 63 E0 70 */	addi r3, r3, lbl_803FE070@l
/* 802EC170 002E7DD0  38 C6 BF E8 */	addi r6, r6, MyNandCallback@l
/* 802EC174 002E7DD4  38 E7 00 94 */	addi r7, r7, 0x94
/* 802EC178 002E7DD8  38 A0 00 02 */	li r5, 2
/* 802EC17C 002E7DDC  4B FF C4 1D */	bl NANDPrivateOpenAsync
/* 802EC180 002E7DE0  2C 03 00 00 */	cmpwi r3, 0
/* 802EC184 002E7DE4  40 82 00 EC */	bne lbl_802EC270
/* 802EC188 002E7DE8  48 00 01 80 */	b lbl_802EC308
/* 802EC18C 002E7DEC  2C 03 00 00 */	cmpwi r3, 0
/* 802EC190 002E7DF0  40 82 00 E0 */	bne lbl_802EC270
/* 802EC194 002E7DF4  38 60 00 01 */	li r3, 1
/* 802EC198 002E7DF8  38 00 00 07 */	li r0, 7
/* 802EC19C 002E7DFC  3C 80 80 57 */	lis r4, lbl_80575060@ha
/* 802EC1A0 002E7E00  3C C0 80 2F */	lis r6, MyNandCallback@ha
/* 802EC1A4 002E7E04  98 67 01 55 */	stb r3, 0x155(r7)
/* 802EC1A8 002E7E08  38 67 00 08 */	addi r3, r7, 8
/* 802EC1AC 002E7E0C  80 A7 01 88 */	lwz r5, 0x188(r7)
/* 802EC1B0 002E7E10  38 84 50 60 */	addi r4, r4, lbl_80575060@l
/* 802EC1B4 002E7E14  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC1B8 002E7E18  38 C6 BF E8 */	addi r6, r6, MyNandCallback@l
/* 802EC1BC 002E7E1C  38 E7 00 94 */	addi r7, r7, 0x94
/* 802EC1C0 002E7E20  4B FF B8 49 */	bl NANDWriteAsync
/* 802EC1C4 002E7E24  2C 03 00 00 */	cmpwi r3, 0
/* 802EC1C8 002E7E28  40 82 00 A8 */	bne lbl_802EC270
/* 802EC1CC 002E7E2C  48 00 01 3C */	b lbl_802EC308
/* 802EC1D0 002E7E30  80 07 01 88 */	lwz r0, 0x188(r7)
/* 802EC1D4 002E7E34  7C 03 00 40 */	cmplw r3, r0
/* 802EC1D8 002E7E38  40 82 00 98 */	bne lbl_802EC270
/* 802EC1DC 002E7E3C  38 60 00 00 */	li r3, 0
/* 802EC1E0 002E7E40  38 00 00 08 */	li r0, 8
/* 802EC1E4 002E7E44  3C 80 80 2F */	lis r4, MyNandCallback@ha
/* 802EC1E8 002E7E48  98 67 01 55 */	stb r3, 0x155(r7)
/* 802EC1EC 002E7E4C  38 67 00 08 */	addi r3, r7, 8
/* 802EC1F0 002E7E50  38 A7 00 94 */	addi r5, r7, 0x94
/* 802EC1F4 002E7E54  98 07 01 54 */	stb r0, 0x154(r7)
/* 802EC1F8 002E7E58  38 84 BF E8 */	addi r4, r4, MyNandCallback@l
/* 802EC1FC 002E7E5C  4B FF C4 F9 */	bl NANDCloseAsync
/* 802EC200 002E7E60  2C 03 00 00 */	cmpwi r3, 0
/* 802EC204 002E7E64  40 82 00 6C */	bne lbl_802EC270
/* 802EC208 002E7E68  48 00 01 00 */	b lbl_802EC308
/* 802EC20C 002E7E6C  2C 03 00 00 */	cmpwi r3, 0
/* 802EC210 002E7E70  40 82 00 60 */	bne lbl_802EC270
/* 802EC214 002E7E74  3F C0 80 57 */	lis r30, lbl_80570EC0@ha
/* 802EC218 002E7E78  3B DE 0E C0 */	addi r30, r30, lbl_80570EC0@l
/* 802EC21C 002E7E7C  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 802EC220 002E7E80  2C 00 00 00 */	cmpwi r0, 0
/* 802EC224 002E7E84  41 82 00 0C */	beq lbl_802EC230
/* 802EC228 002E7E88  38 00 00 01 */	li r0, 1
/* 802EC22C 002E7E8C  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
lbl_802EC230:
/* 802EC230 002E7E90  81 9E 01 80 */	lwz r12, 0x180(r30)
/* 802EC234 002E7E94  2C 0C 00 00 */	cmpwi r12, 0
/* 802EC238 002E7E98  41 82 00 2C */	beq lbl_802EC264
/* 802EC23C 002E7E9C  3B E0 00 00 */	li r31, 0
/* 802EC240 002E7EA0  80 7E 01 84 */	lwz r3, 0x184(r30)
/* 802EC244 002E7EA4  93 FE 01 80 */	stw r31, 0x180(r30)
/* 802EC248 002E7EA8  7D 89 03 A6 */	mtctr r12
/* 802EC24C 002E7EAC  4E 80 04 21 */	bctrl
/* 802EC250 002E7EB0  80 1E 00 00 */	lwz r0, 0(r30)
/* 802EC254 002E7EB4  7C 00 F8 40 */	cmplw r0, r31
/* 802EC258 002E7EB8  41 82 00 0C */	beq lbl_802EC264
/* 802EC25C 002E7EBC  7F C3 F3 78 */	mr r3, r30
/* 802EC260 002E7EC0  4B F8 62 01 */	bl OSWakeupThread
lbl_802EC264:
/* 802EC264 002E7EC4  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 802EC268 002E7EC8  98 0D AF 10 */	stb r0, lbl_806401D0-_SDA_BASE_(r13)
/* 802EC26C 002E7ECC  48 00 00 9C */	b lbl_802EC308
lbl_802EC270:
/* 802EC270 002E7ED0  3C A0 80 57 */	lis r5, lbl_80570EC0@ha
/* 802EC274 002E7ED4  38 60 00 02 */	li r3, 2
/* 802EC278 002E7ED8  38 A5 0E C0 */	addi r5, r5, lbl_80570EC0@l
/* 802EC27C 002E7EDC  88 05 01 55 */	lbz r0, 0x155(r5)
/* 802EC280 002E7EE0  90 65 01 84 */	stw r3, 0x184(r5)
/* 802EC284 002E7EE4  2C 00 00 00 */	cmpwi r0, 0
/* 802EC288 002E7EE8  41 82 00 28 */	beq lbl_802EC2B0
/* 802EC28C 002E7EEC  38 00 00 09 */	li r0, 9
/* 802EC290 002E7EF0  3C 80 80 2F */	lis r4, MyNandCallback@ha
/* 802EC294 002E7EF4  98 05 01 54 */	stb r0, 0x154(r5)
/* 802EC298 002E7EF8  38 65 00 08 */	addi r3, r5, 8
/* 802EC29C 002E7EFC  38 84 BF E8 */	addi r4, r4, MyNandCallback@l
/* 802EC2A0 002E7F00  38 A5 00 94 */	addi r5, r5, 0x94
/* 802EC2A4 002E7F04  4B FF C4 51 */	bl NANDCloseAsync
/* 802EC2A8 002E7F08  2C 03 00 00 */	cmpwi r3, 0
/* 802EC2AC 002E7F0C  41 82 00 5C */	beq lbl_802EC308
lbl_802EC2B0:
/* 802EC2B0 002E7F10  3F C0 80 57 */	lis r30, lbl_80570EC0@ha
/* 802EC2B4 002E7F14  3B DE 0E C0 */	addi r30, r30, lbl_80570EC0@l
/* 802EC2B8 002E7F18  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 802EC2BC 002E7F1C  2C 00 00 00 */	cmpwi r0, 0
/* 802EC2C0 002E7F20  41 82 00 0C */	beq lbl_802EC2CC
/* 802EC2C4 002E7F24  38 00 00 01 */	li r0, 1
/* 802EC2C8 002E7F28  98 0D AF 25 */	stb r0, lbl_806401E5-_SDA_BASE_(r13)
lbl_802EC2CC:
/* 802EC2CC 002E7F2C  81 9E 01 80 */	lwz r12, 0x180(r30)
/* 802EC2D0 002E7F30  2C 0C 00 00 */	cmpwi r12, 0
/* 802EC2D4 002E7F34  41 82 00 2C */	beq lbl_802EC300
/* 802EC2D8 002E7F38  3B E0 00 00 */	li r31, 0
/* 802EC2DC 002E7F3C  80 7E 01 84 */	lwz r3, 0x184(r30)
/* 802EC2E0 002E7F40  93 FE 01 80 */	stw r31, 0x180(r30)
/* 802EC2E4 002E7F44  7D 89 03 A6 */	mtctr r12
/* 802EC2E8 002E7F48  4E 80 04 21 */	bctrl
/* 802EC2EC 002E7F4C  80 1E 00 00 */	lwz r0, 0(r30)
/* 802EC2F0 002E7F50  7C 00 F8 40 */	cmplw r0, r31
/* 802EC2F4 002E7F54  41 82 00 0C */	beq lbl_802EC300
/* 802EC2F8 002E7F58  7F C3 F3 78 */	mr r3, r30
/* 802EC2FC 002E7F5C  4B F8 61 65 */	bl OSWakeupThread
lbl_802EC300:
/* 802EC300 002E7F60  80 1E 01 84 */	lwz r0, 0x184(r30)
/* 802EC304 002E7F64  98 0D AF 10 */	stb r0, lbl_806401D0-_SDA_BASE_(r13)
lbl_802EC308:
/* 802EC308 002E7F68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802EC30C 002E7F6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802EC310 002E7F70  83 C1 00 08 */	lwz r30, 8(r1)
/* 802EC314 002E7F74  7C 08 03 A6 */	mtlr r0
/* 802EC318 002E7F78  38 21 00 10 */	addi r1, r1, 0x10
/* 802EC31C 002E7F7C  4E 80 00 20 */	blr