summaryrefslogtreecommitdiff
path: root/asm/SDK/IPC/ipcclt.s
blob: 4fcfe964942dd146421f326c0dc4907b617ead73 (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
.include "macros.inc"

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

.global strnlen
strnlen:
/* 802A2904 0029E564  7C 65 1B 78 */	mr r5, r3
/* 802A2908 0029E568  48 00 00 08 */	b lbl_802A2910
lbl_802A290C:
/* 802A290C 0029E56C  38 A5 00 01 */	addi r5, r5, 1
lbl_802A2910:
/* 802A2910 0029E570  88 05 00 00 */	lbz r0, 0(r5)
/* 802A2914 0029E574  2C 00 00 00 */	cmpwi r0, 0
/* 802A2918 0029E578  41 82 00 10 */	beq lbl_802A2928
/* 802A291C 0029E57C  2C 04 00 00 */	cmpwi r4, 0
/* 802A2920 0029E580  38 84 FF FF */	addi r4, r4, -1
/* 802A2924 0029E584  40 82 FF E8 */	bne lbl_802A290C
lbl_802A2928:
/* 802A2928 0029E588  7C 63 28 50 */	subf r3, r3, r5
/* 802A292C 0029E58C  4E 80 00 20 */	blr

.global IpcReplyHandler
IpcReplyHandler:
/* 802A2930 0029E590  94 21 FD 20 */	stwu r1, -0x2e0(r1)
/* 802A2934 0029E594  7C 08 02 A6 */	mflr r0
/* 802A2938 0029E598  38 60 00 02 */	li r3, 2
/* 802A293C 0029E59C  90 01 02 E4 */	stw r0, 0x2e4(r1)
/* 802A2940 0029E5A0  93 E1 02 DC */	stw r31, 0x2dc(r1)
/* 802A2944 0029E5A4  93 C1 02 D8 */	stw r30, 0x2d8(r1)
/* 802A2948 0029E5A8  7C 9E 23 78 */	mr r30, r4
/* 802A294C 0029E5AC  93 A1 02 D4 */	stw r29, 0x2d4(r1)
/* 802A2950 0029E5B0  93 81 02 D0 */	stw r28, 0x2d0(r1)
/* 802A2954 0029E5B4  4B FF FF 79 */	bl IPCReadReg
/* 802A2958 0029E5B8  2C 03 00 00 */	cmpwi r3, 0
/* 802A295C 0029E5BC  41 82 02 0C */	beq lbl_802A2B68
/* 802A2960 0029E5C0  3F E3 80 00 */	addis r31, r3, 0x8000
/* 802A2964 0029E5C4  38 60 00 01 */	li r3, 1
/* 802A2968 0029E5C8  4B FF FF 65 */	bl IPCReadReg
/* 802A296C 0029E5CC  54 60 06 B6 */	rlwinm r0, r3, 0, 0x1a, 0x1b
/* 802A2970 0029E5D0  38 60 00 01 */	li r3, 1
/* 802A2974 0029E5D4  60 04 00 04 */	ori r4, r0, 4
/* 802A2978 0029E5D8  4B FF FF 65 */	bl IPCWriteReg
/* 802A297C 0029E5DC  3C 00 40 00 */	lis r0, 0x4000
/* 802A2980 0029E5E0  3C 60 CD 00 */	lis r3, 0xCD000030@ha
/* 802A2984 0029E5E4  90 03 00 30 */	stw r0, 0xCD000030@l(r3)
/* 802A2988 0029E5E8  7F E3 FB 78 */	mr r3, r31
/* 802A298C 0029E5EC  38 80 00 20 */	li r4, 0x20
/* 802A2990 0029E5F0  4B FC 7C 99 */	bl DCInvalidateRange
/* 802A2994 0029E5F4  80 1F 00 08 */	lwz r0, 8(r31)
/* 802A2998 0029E5F8  2C 00 00 06 */	cmpwi r0, 6
/* 802A299C 0029E5FC  41 82 00 54 */	beq lbl_802A29F0
/* 802A29A0 0029E600  40 80 00 10 */	bge lbl_802A29B0
/* 802A29A4 0029E604  2C 00 00 03 */	cmpwi r0, 3
/* 802A29A8 0029E608  41 82 00 14 */	beq lbl_802A29BC
/* 802A29AC 0029E60C  48 00 01 40 */	b lbl_802A2AEC
lbl_802A29B0:
/* 802A29B0 0029E610  2C 00 00 08 */	cmpwi r0, 8
/* 802A29B4 0029E614  40 80 01 38 */	bge lbl_802A2AEC
/* 802A29B8 0029E618  48 00 00 70 */	b lbl_802A2A28
lbl_802A29BC:
/* 802A29BC 0029E61C  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 802A29C0 0029E620  2C 03 00 00 */	cmpwi r3, 0
/* 802A29C4 0029E624  41 82 00 0C */	beq lbl_802A29D0
/* 802A29C8 0029E628  3C 03 80 00 */	addis r0, r3, 0x8000
/* 802A29CC 0029E62C  48 00 00 08 */	b lbl_802A29D4
lbl_802A29D0:
/* 802A29D0 0029E630  38 00 00 00 */	li r0, 0
lbl_802A29D4:
/* 802A29D4 0029E634  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802A29D8 0029E638  80 9F 00 04 */	lwz r4, 4(r31)
/* 802A29DC 0029E63C  2C 04 00 00 */	cmpwi r4, 0
/* 802A29E0 0029E640  40 81 01 0C */	ble lbl_802A2AEC
/* 802A29E4 0029E644  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 802A29E8 0029E648  4B FC 7C 41 */	bl DCInvalidateRange
/* 802A29EC 0029E64C  48 00 01 00 */	b lbl_802A2AEC
lbl_802A29F0:
/* 802A29F0 0029E650  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 802A29F4 0029E654  2C 03 00 00 */	cmpwi r3, 0
/* 802A29F8 0029E658  41 82 00 0C */	beq lbl_802A2A04
/* 802A29FC 0029E65C  3C 03 80 00 */	addis r0, r3, 0x8000
/* 802A2A00 0029E660  48 00 00 08 */	b lbl_802A2A08
lbl_802A2A04:
/* 802A2A04 0029E664  38 00 00 00 */	li r0, 0
lbl_802A2A08:
/* 802A2A08 0029E668  90 1F 00 18 */	stw r0, 0x18(r31)
/* 802A2A0C 0029E66C  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 802A2A10 0029E670  80 9F 00 14 */	lwz r4, 0x14(r31)
/* 802A2A14 0029E674  4B FC 7C 15 */	bl DCInvalidateRange
/* 802A2A18 0029E678  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 802A2A1C 0029E67C  80 9F 00 1C */	lwz r4, 0x1c(r31)
/* 802A2A20 0029E680  4B FC 7C 09 */	bl DCInvalidateRange
/* 802A2A24 0029E684  48 00 00 C8 */	b lbl_802A2AEC
lbl_802A2A28:
/* 802A2A28 0029E688  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 802A2A2C 0029E68C  2C 03 00 00 */	cmpwi r3, 0
/* 802A2A30 0029E690  41 82 00 0C */	beq lbl_802A2A3C
/* 802A2A34 0029E694  3C 63 80 00 */	addis r3, r3, 0x8000
/* 802A2A38 0029E698  48 00 00 08 */	b lbl_802A2A40
lbl_802A2A3C:
/* 802A2A3C 0029E69C  38 60 00 00 */	li r3, 0
lbl_802A2A40:
/* 802A2A40 0029E6A0  90 7F 00 18 */	stw r3, 0x18(r31)
/* 802A2A44 0029E6A4  80 9F 00 10 */	lwz r4, 0x10(r31)
/* 802A2A48 0029E6A8  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 802A2A4C 0029E6AC  7C 04 02 14 */	add r0, r4, r0
/* 802A2A50 0029E6B0  54 04 18 38 */	slwi r4, r0, 3
/* 802A2A54 0029E6B4  4B FC 7B D5 */	bl DCInvalidateRange
/* 802A2A58 0029E6B8  3B 80 00 00 */	li r28, 0
/* 802A2A5C 0029E6BC  3B A0 00 00 */	li r29, 0
/* 802A2A60 0029E6C0  48 00 00 44 */	b lbl_802A2AA4
lbl_802A2A64:
/* 802A2A64 0029E6C4  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 802A2A68 0029E6C8  7C 63 E8 2E */	lwzx r3, r3, r29
/* 802A2A6C 0029E6CC  2C 03 00 00 */	cmpwi r3, 0
/* 802A2A70 0029E6D0  41 82 00 0C */	beq lbl_802A2A7C
/* 802A2A74 0029E6D4  3C 03 80 00 */	addis r0, r3, 0x8000
/* 802A2A78 0029E6D8  48 00 00 08 */	b lbl_802A2A80
lbl_802A2A7C:
/* 802A2A7C 0029E6DC  38 00 00 00 */	li r0, 0
lbl_802A2A80:
/* 802A2A80 0029E6E0  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 802A2A84 0029E6E4  7C 03 E9 2E */	stwx r0, r3, r29
/* 802A2A88 0029E6E8  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 802A2A8C 0029E6EC  7C 83 EA 14 */	add r4, r3, r29
/* 802A2A90 0029E6F0  7C 63 E8 2E */	lwzx r3, r3, r29
/* 802A2A94 0029E6F4  80 84 00 04 */	lwz r4, 4(r4)
/* 802A2A98 0029E6F8  4B FC 7B 91 */	bl DCInvalidateRange
/* 802A2A9C 0029E6FC  3B 9C 00 01 */	addi r28, r28, 1
/* 802A2AA0 0029E700  3B BD 00 08 */	addi r29, r29, 8
lbl_802A2AA4:
/* 802A2AA4 0029E704  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 802A2AA8 0029E708  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 802A2AAC 0029E70C  7C 03 02 14 */	add r0, r3, r0
/* 802A2AB0 0029E710  7C 1C 00 40 */	cmplw r28, r0
/* 802A2AB4 0029E714  41 80 FF B0 */	blt lbl_802A2A64
/* 802A2AB8 0029E718  80 0D AE 00 */	lwz r0, lbl_806400C0-_SDA_BASE_(r13)
/* 802A2ABC 0029E71C  2C 00 00 00 */	cmpwi r0, 0
/* 802A2AC0 0029E720  41 82 00 2C */	beq lbl_802A2AEC
/* 802A2AC4 0029E724  80 0D AE 04 */	lwz r0, lbl_806400C4-_SDA_BASE_(r13)
/* 802A2AC8 0029E728  7C 00 F8 40 */	cmplw r0, r31
/* 802A2ACC 0029E72C  40 82 00 20 */	bne lbl_802A2AEC
/* 802A2AD0 0029E730  80 6D 89 88 */	lwz r3, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2AD4 0029E734  38 00 00 00 */	li r0, 0
/* 802A2AD8 0029E738  90 0D AE 00 */	stw r0, lbl_806400C0-_SDA_BASE_(r13)
/* 802A2ADC 0029E73C  2C 03 00 01 */	cmpwi r3, 1
/* 802A2AE0 0029E740  40 80 00 0C */	bge lbl_802A2AEC
/* 802A2AE4 0029E744  38 03 00 01 */	addi r0, r3, 1
/* 802A2AE8 0029E748  90 0D 89 88 */	stw r0, lbl_8063DC48-_SDA_BASE_(r13)
lbl_802A2AEC:
/* 802A2AEC 0029E74C  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 802A2AF0 0029E750  2C 00 00 00 */	cmpwi r0, 0
/* 802A2AF4 0029E754  41 82 00 48 */	beq lbl_802A2B3C
/* 802A2AF8 0029E758  38 61 00 08 */	addi r3, r1, 8
/* 802A2AFC 0029E75C  4B FC 85 95 */	bl OSClearContext
/* 802A2B00 0029E760  38 61 00 08 */	addi r3, r1, 8
/* 802A2B04 0029E764  4B FC 83 65 */	bl OSSetCurrentContext
/* 802A2B08 0029E768  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802A2B0C 0029E76C  80 7F 00 04 */	lwz r3, 4(r31)
/* 802A2B10 0029E770  80 9F 00 24 */	lwz r4, 0x24(r31)
/* 802A2B14 0029E774  7D 89 03 A6 */	mtctr r12
/* 802A2B18 0029E778  4E 80 04 21 */	bctrl
/* 802A2B1C 0029E77C  38 61 00 08 */	addi r3, r1, 8
/* 802A2B20 0029E780  4B FC 85 71 */	bl OSClearContext
/* 802A2B24 0029E784  7F C3 F3 78 */	mr r3, r30
/* 802A2B28 0029E788  4B FC 83 41 */	bl OSSetCurrentContext
/* 802A2B2C 0029E78C  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A2B30 0029E790  7F E4 FB 78 */	mr r4, r31
/* 802A2B34 0029E794  48 00 18 09 */	bl iosFree
/* 802A2B38 0029E798  48 00 00 0C */	b lbl_802A2B44
lbl_802A2B3C:
/* 802A2B3C 0029E79C  38 7F 00 2C */	addi r3, r31, 0x2c
/* 802A2B40 0029E7A0  4B FC F9 21 */	bl OSWakeupThread
lbl_802A2B44:
/* 802A2B44 0029E7A4  38 60 00 01 */	li r3, 1
/* 802A2B48 0029E7A8  4B FF FD 85 */	bl IPCReadReg
/* 802A2B4C 0029E7AC  54 60 06 B6 */	rlwinm r0, r3, 0, 0x1a, 0x1b
/* 802A2B50 0029E7B0  38 60 00 01 */	li r3, 1
/* 802A2B54 0029E7B4  60 04 00 08 */	ori r4, r0, 8
/* 802A2B58 0029E7B8  4B FF FD 85 */	bl IPCWriteReg
/* 802A2B5C 0029E7BC  80 9F 00 08 */	lwz r4, 8(r31)
/* 802A2B60 0029E7C0  7F E3 FB 78 */	mr r3, r31
/* 802A2B64 0029E7C4  48 00 1B 0D */	bl IPCiProfReply
lbl_802A2B68:
/* 802A2B68 0029E7C8  80 01 02 E4 */	lwz r0, 0x2e4(r1)
/* 802A2B6C 0029E7CC  83 E1 02 DC */	lwz r31, 0x2dc(r1)
/* 802A2B70 0029E7D0  83 C1 02 D8 */	lwz r30, 0x2d8(r1)
/* 802A2B74 0029E7D4  83 A1 02 D4 */	lwz r29, 0x2d4(r1)
/* 802A2B78 0029E7D8  83 81 02 D0 */	lwz r28, 0x2d0(r1)
/* 802A2B7C 0029E7DC  7C 08 03 A6 */	mtlr r0
/* 802A2B80 0029E7E0  38 21 02 E0 */	addi r1, r1, 0x2e0
/* 802A2B84 0029E7E4  4E 80 00 20 */	blr

IPCInterruptHandler:
/* 802A2B88 0029E7E8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802A2B8C 0029E7EC  7C 08 02 A6 */	mflr r0
/* 802A2B90 0029E7F0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802A2B94 0029E7F4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802A2B98 0029E7F8  7C 9F 23 78 */	mr r31, r4
/* 802A2B9C 0029E7FC  93 C1 00 08 */	stw r30, 8(r1)
/* 802A2BA0 0029E800  7C 7E 1B 78 */	mr r30, r3
/* 802A2BA4 0029E804  38 60 00 01 */	li r3, 1
/* 802A2BA8 0029E808  4B FF FD 25 */	bl IPCReadReg
/* 802A2BAC 0029E80C  70 60 00 14 */	andi. r0, r3, 0x14
/* 802A2BB0 0029E810  28 00 00 14 */	cmplwi r0, 0x14
/* 802A2BB4 0029E814  40 82 00 10 */	bne lbl_802A2BC4
/* 802A2BB8 0029E818  7F C3 F3 78 */	mr r3, r30
/* 802A2BBC 0029E81C  7F E4 FB 78 */	mr r4, r31
/* 802A2BC0 0029E820  4B FF FD 71 */	bl IpcReplyHandler
lbl_802A2BC4:
/* 802A2BC4 0029E824  38 60 00 01 */	li r3, 1
/* 802A2BC8 0029E828  4B FF FD 05 */	bl IPCReadReg
/* 802A2BCC 0029E82C  70 60 00 22 */	andi. r0, r3, 0x22
/* 802A2BD0 0029E830  28 00 00 22 */	cmplwi r0, 0x22
/* 802A2BD4 0029E834  40 82 01 54 */	bne lbl_802A2D28
/* 802A2BD8 0029E838  38 60 00 01 */	li r3, 1
/* 802A2BDC 0029E83C  4B FF FC F1 */	bl IPCReadReg
/* 802A2BE0 0029E840  54 60 06 B6 */	rlwinm r0, r3, 0, 0x1a, 0x1b
/* 802A2BE4 0029E844  38 60 00 01 */	li r3, 1
/* 802A2BE8 0029E848  60 04 00 02 */	ori r4, r0, 2
/* 802A2BEC 0029E84C  4B FF FC F1 */	bl IPCWriteReg
/* 802A2BF0 0029E850  3C 00 40 00 */	lis r0, 0x4000
/* 802A2BF4 0029E854  3C 60 CD 00 */	lis r3, 0xCD000030@ha
/* 802A2BF8 0029E858  90 03 00 30 */	stw r0, 0xCD000030@l(r3)
/* 802A2BFC 0029E85C  83 ED 89 88 */	lwz r31, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2C00 0029E860  2C 1F 00 01 */	cmpwi r31, 1
/* 802A2C04 0029E864  40 80 00 10 */	bge lbl_802A2C14
/* 802A2C08 0029E868  3B FF 00 01 */	addi r31, r31, 1
/* 802A2C0C 0029E86C  93 ED 89 88 */	stw r31, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2C10 0029E870  48 00 1A 51 */	bl IPCiProfAck
lbl_802A2C14:
/* 802A2C14 0029E874  2C 1F 00 00 */	cmpwi r31, 0
/* 802A2C18 0029E878  40 81 01 10 */	ble lbl_802A2D28
/* 802A2C1C 0029E87C  80 0D AE 00 */	lwz r0, lbl_806400C0-_SDA_BASE_(r13)
/* 802A2C20 0029E880  2C 00 00 00 */	cmpwi r0, 0
/* 802A2C24 0029E884  41 82 00 38 */	beq lbl_802A2C5C
/* 802A2C28 0029E888  80 6D AE 04 */	lwz r3, lbl_806400C4-_SDA_BASE_(r13)
/* 802A2C2C 0029E88C  38 00 00 00 */	li r0, 0
/* 802A2C30 0029E890  90 03 00 04 */	stw r0, 4(r3)
/* 802A2C34 0029E894  80 6D AE 04 */	lwz r3, lbl_806400C4-_SDA_BASE_(r13)
/* 802A2C38 0029E898  90 0D AE 00 */	stw r0, lbl_806400C0-_SDA_BASE_(r13)
/* 802A2C3C 0029E89C  38 63 00 2C */	addi r3, r3, 0x2c
/* 802A2C40 0029E8A0  4B FC F8 21 */	bl OSWakeupThread
/* 802A2C44 0029E8A4  38 60 00 01 */	li r3, 1
/* 802A2C48 0029E8A8  4B FF FC 85 */	bl IPCReadReg
/* 802A2C4C 0029E8AC  54 60 06 B6 */	rlwinm r0, r3, 0, 0x1a, 0x1b
/* 802A2C50 0029E8B0  38 60 00 01 */	li r3, 1
/* 802A2C54 0029E8B4  60 04 00 08 */	ori r4, r0, 8
/* 802A2C58 0029E8B8  4B FF FC 85 */	bl IPCWriteReg
lbl_802A2C5C:
/* 802A2C5C 0029E8BC  3C 80 80 53 */	lis r4, lbl_80536B60@ha
/* 802A2C60 0029E8C0  38 64 6B 60 */	addi r3, r4, lbl_80536B60@l
/* 802A2C64 0029E8C4  80 84 6B 60 */	lwz r4, 0x6b60(r4)
/* 802A2C68 0029E8C8  80 03 00 04 */	lwz r0, 4(r3)
/* 802A2C6C 0029E8CC  7C 00 20 40 */	cmplw r0, r4
/* 802A2C70 0029E8D0  40 80 00 0C */	bge lbl_802A2C7C
/* 802A2C74 0029E8D4  7C 04 00 50 */	subf r0, r4, r0
/* 802A2C78 0029E8D8  48 00 00 10 */	b lbl_802A2C88
lbl_802A2C7C:
/* 802A2C7C 0029E8DC  7C 04 00 50 */	subf r0, r4, r0
/* 802A2C80 0029E8E0  7C 00 00 34 */	cntlzw r0, r0
/* 802A2C84 0029E8E4  54 00 D9 7E */	srwi r0, r0, 5
lbl_802A2C88:
/* 802A2C88 0029E8E8  2C 00 00 00 */	cmpwi r0, 0
/* 802A2C8C 0029E8EC  40 82 00 9C */	bne lbl_802A2D28
/* 802A2C90 0029E8F0  3C 60 80 53 */	lis r3, lbl_80536B60@ha
/* 802A2C94 0029E8F4  38 63 6B 60 */	addi r3, r3, lbl_80536B60@l
/* 802A2C98 0029E8F8  80 03 00 08 */	lwz r0, 8(r3)
/* 802A2C9C 0029E8FC  54 00 10 3A */	slwi r0, r0, 2
/* 802A2CA0 0029E900  7C 63 02 14 */	add r3, r3, r0
/* 802A2CA4 0029E904  80 83 00 10 */	lwz r4, 0x10(r3)
/* 802A2CA8 0029E908  2C 04 00 00 */	cmpwi r4, 0
/* 802A2CAC 0029E90C  41 82 00 7C */	beq lbl_802A2D28
/* 802A2CB0 0029E910  80 04 00 28 */	lwz r0, 0x28(r4)
/* 802A2CB4 0029E914  2C 00 00 00 */	cmpwi r0, 0
/* 802A2CB8 0029E918  41 82 00 1C */	beq lbl_802A2CD4
/* 802A2CBC 0029E91C  80 6D 89 88 */	lwz r3, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2CC0 0029E920  38 00 00 01 */	li r0, 1
/* 802A2CC4 0029E924  90 0D AE 00 */	stw r0, lbl_806400C0-_SDA_BASE_(r13)
/* 802A2CC8 0029E928  38 03 FF FF */	addi r0, r3, -1
/* 802A2CCC 0029E92C  90 8D AE 04 */	stw r4, lbl_806400C4-_SDA_BASE_(r13)
/* 802A2CD0 0029E930  90 0D 89 88 */	stw r0, lbl_8063DC48-_SDA_BASE_(r13)
lbl_802A2CD4:
/* 802A2CD4 0029E934  3C 84 80 00 */	addis r4, r4, 0x8000
/* 802A2CD8 0029E938  38 60 00 00 */	li r3, 0
/* 802A2CDC 0029E93C  4B FF FC 01 */	bl IPCWriteReg
/* 802A2CE0 0029E940  3C E0 80 53 */	lis r7, lbl_80536B60@ha
/* 802A2CE4 0029E944  80 6D 89 88 */	lwz r3, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2CE8 0029E948  38 C7 6B 60 */	addi r6, r7, lbl_80536B60@l
/* 802A2CEC 0029E94C  80 87 6B 60 */	lwz r4, 0x6b60(r7)
/* 802A2CF0 0029E950  80 A6 00 08 */	lwz r5, 8(r6)
/* 802A2CF4 0029E954  38 03 FF FF */	addi r0, r3, -1
/* 802A2CF8 0029E958  90 0D 89 88 */	stw r0, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2CFC 0029E95C  38 84 00 01 */	addi r4, r4, 1
/* 802A2D00 0029E960  38 05 00 01 */	addi r0, r5, 1
/* 802A2D04 0029E964  38 60 00 01 */	li r3, 1
/* 802A2D08 0029E968  54 00 07 3E */	clrlwi r0, r0, 0x1c
/* 802A2D0C 0029E96C  90 87 6B 60 */	stw r4, 0x6b60(r7)
/* 802A2D10 0029E970  90 06 00 08 */	stw r0, 8(r6)
/* 802A2D14 0029E974  4B FF FB B9 */	bl IPCReadReg
/* 802A2D18 0029E978  54 60 06 B6 */	rlwinm r0, r3, 0, 0x1a, 0x1b
/* 802A2D1C 0029E97C  38 60 00 01 */	li r3, 1
/* 802A2D20 0029E980  60 04 00 01 */	ori r4, r0, 1
/* 802A2D24 0029E984  4B FF FB B9 */	bl IPCWriteReg
lbl_802A2D28:
/* 802A2D28 0029E988  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802A2D2C 0029E98C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802A2D30 0029E990  83 C1 00 08 */	lwz r30, 8(r1)
/* 802A2D34 0029E994  7C 08 03 A6 */	mtlr r0
/* 802A2D38 0029E998  38 21 00 10 */	addi r1, r1, 0x10
/* 802A2D3C 0029E99C  4E 80 00 20 */	blr

.global IPCCltInit
IPCCltInit:
/* 802A2D40 0029E9A0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A2D44 0029E9A4  7C 08 02 A6 */	mflr r0
/* 802A2D48 0029E9A8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A2D4C 0029E9AC  80 0D AE 08 */	lwz r0, lbl_806400C8-_SDA_BASE_(r13)
/* 802A2D50 0029E9B0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A2D54 0029E9B4  2C 00 00 00 */	cmpwi r0, 0
/* 802A2D58 0029E9B8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A2D5C 0029E9BC  3B C0 00 00 */	li r30, 0
/* 802A2D60 0029E9C0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A2D64 0029E9C4  40 82 00 70 */	bne lbl_802A2DD4
/* 802A2D68 0029E9C8  38 00 00 01 */	li r0, 1
/* 802A2D6C 0029E9CC  90 0D AE 08 */	stw r0, lbl_806400C8-_SDA_BASE_(r13)
/* 802A2D70 0029E9D0  4B FF FB 11 */	bl IPCInit
/* 802A2D74 0029E9D4  4B FF FB 81 */	bl IPCGetBufferLo
/* 802A2D78 0029E9D8  7C 7D 1B 78 */	mr r29, r3
/* 802A2D7C 0029E9DC  3B E3 08 00 */	addi r31, r3, 0x800
/* 802A2D80 0029E9E0  4B FF FB 6D */	bl IPCGetBufferHi
/* 802A2D84 0029E9E4  7C 1F 18 40 */	cmplw r31, r3
/* 802A2D88 0029E9E8  40 81 00 0C */	ble lbl_802A2D94
/* 802A2D8C 0029E9EC  3B C0 FF EA */	li r30, -22
/* 802A2D90 0029E9F0  48 00 00 44 */	b lbl_802A2DD4
lbl_802A2D94:
/* 802A2D94 0029E9F4  7F A3 EB 78 */	mr r3, r29
/* 802A2D98 0029E9F8  38 80 08 00 */	li r4, 0x800
/* 802A2D9C 0029E9FC  48 00 12 69 */	bl iosCreateHeap
/* 802A2DA0 0029EA00  90 6D 89 8C */	stw r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A2DA4 0029EA04  7F E3 FB 78 */	mr r3, r31
/* 802A2DA8 0029EA08  4B FF FB 55 */	bl IPCSetBufferLo
/* 802A2DAC 0029EA0C  3C 80 80 2A */	lis r4, IPCInterruptHandler@ha
/* 802A2DB0 0029EA10  38 60 00 1B */	li r3, 0x1b
/* 802A2DB4 0029EA14  38 84 2B 88 */	addi r4, r4, IPCInterruptHandler@l
/* 802A2DB8 0029EA18  4B FC B9 F1 */	bl __OSSetInterruptHandler
/* 802A2DBC 0029EA1C  38 60 00 10 */	li r3, 0x10
/* 802A2DC0 0029EA20  4B FC BD AD */	bl __OSUnmaskInterrupts
/* 802A2DC4 0029EA24  38 60 00 01 */	li r3, 1
/* 802A2DC8 0029EA28  38 80 00 38 */	li r4, 0x38
/* 802A2DCC 0029EA2C  4B FF FB 11 */	bl IPCWriteReg
/* 802A2DD0 0029EA30  48 00 17 59 */	bl IPCiProfInit
lbl_802A2DD4:
/* 802A2DD4 0029EA34  7F C3 F3 78 */	mr r3, r30
/* 802A2DD8 0029EA38  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A2DDC 0029EA3C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A2DE0 0029EA40  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A2DE4 0029EA44  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A2DE8 0029EA48  7C 08 03 A6 */	mtlr r0
/* 802A2DEC 0029EA4C  38 21 00 20 */	addi r1, r1, 0x20
/* 802A2DF0 0029EA50  4E 80 00 20 */	blr

.global __ios_Ipc2
__ios_Ipc2:
/* 802A2DF4 0029EA54  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A2DF8 0029EA58  7C 08 02 A6 */	mflr r0
/* 802A2DFC 0029EA5C  2C 03 00 00 */	cmpwi r3, 0
/* 802A2E00 0029EA60  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A2E04 0029EA64  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A2E08 0029EA68  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A2E0C 0029EA6C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A2E10 0029EA70  7C 9D 23 78 */	mr r29, r4
/* 802A2E14 0029EA74  93 81 00 10 */	stw r28, 0x10(r1)
/* 802A2E18 0029EA78  7C 7C 1B 78 */	mr r28, r3
/* 802A2E1C 0029EA7C  40 82 00 0C */	bne lbl_802A2E28
/* 802A2E20 0029EA80  3B E0 FF FC */	li r31, -4
/* 802A2E24 0029EA84  48 00 01 DC */	b lbl_802A3000
lbl_802A2E28:
/* 802A2E28 0029EA88  2C 04 00 00 */	cmpwi r4, 0
/* 802A2E2C 0029EA8C  40 82 00 0C */	bne lbl_802A2E38
/* 802A2E30 0029EA90  38 63 00 2C */	addi r3, r3, 0x2c
/* 802A2E34 0029EA94  4B FC E4 B5 */	bl OSInitThreadQueue
lbl_802A2E38:
/* 802A2E38 0029EA98  7F 83 E3 78 */	mr r3, r28
/* 802A2E3C 0029EA9C  38 80 00 20 */	li r4, 0x20
/* 802A2E40 0029EAA0  4B FC 78 15 */	bl DCFlushRange
/* 802A2E44 0029EAA4  4B FC B9 19 */	bl OSDisableInterrupts
/* 802A2E48 0029EAA8  3C 80 80 53 */	lis r4, lbl_80536B60@ha
/* 802A2E4C 0029EAAC  7C 7E 1B 78 */	mr r30, r3
/* 802A2E50 0029EAB0  38 64 6B 60 */	addi r3, r4, lbl_80536B60@l
/* 802A2E54 0029EAB4  80 84 6B 60 */	lwz r4, 0x6b60(r4)
/* 802A2E58 0029EAB8  80 03 00 04 */	lwz r0, 4(r3)
/* 802A2E5C 0029EABC  3B E0 00 00 */	li r31, 0
/* 802A2E60 0029EAC0  7C 00 20 40 */	cmplw r0, r4
/* 802A2E64 0029EAC4  40 80 00 0C */	bge lbl_802A2E70
/* 802A2E68 0029EAC8  7C 04 00 50 */	subf r0, r4, r0
/* 802A2E6C 0029EACC  48 00 00 20 */	b lbl_802A2E8C
lbl_802A2E70:
/* 802A2E70 0029EAD0  7C 84 00 50 */	subf r4, r4, r0
/* 802A2E74 0029EAD4  38 60 00 10 */	li r3, 0x10
/* 802A2E78 0029EAD8  38 04 FF F0 */	addi r0, r4, -16
/* 802A2E7C 0029EADC  7C 83 1B 38 */	orc r3, r4, r3
/* 802A2E80 0029EAE0  54 00 F8 7E */	srwi r0, r0, 1
/* 802A2E84 0029EAE4  7C 00 18 50 */	subf r0, r0, r3
/* 802A2E88 0029EAE8  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_802A2E8C:
/* 802A2E8C 0029EAEC  2C 00 00 00 */	cmpwi r0, 0
/* 802A2E90 0029EAF0  41 82 00 0C */	beq lbl_802A2E9C
/* 802A2E94 0029EAF4  3B E0 FF F8 */	li r31, -8
/* 802A2E98 0029EAF8  48 00 00 44 */	b lbl_802A2EDC
lbl_802A2E9C:
/* 802A2E9C 0029EAFC  3C C0 80 53 */	lis r6, lbl_80536B60@ha
/* 802A2EA0 0029EB00  7F 83 E3 78 */	mr r3, r28
/* 802A2EA4 0029EB04  38 C6 6B 60 */	addi r6, r6, lbl_80536B60@l
/* 802A2EA8 0029EB08  80 06 00 0C */	lwz r0, 0xc(r6)
/* 802A2EAC 0029EB0C  54 00 10 3A */	slwi r0, r0, 2
/* 802A2EB0 0029EB10  7C 86 02 14 */	add r4, r6, r0
/* 802A2EB4 0029EB14  93 84 00 10 */	stw r28, 0x10(r4)
/* 802A2EB8 0029EB18  80 A6 00 0C */	lwz r5, 0xc(r6)
/* 802A2EBC 0029EB1C  80 86 00 04 */	lwz r4, 4(r6)
/* 802A2EC0 0029EB20  38 05 00 01 */	addi r0, r5, 1
/* 802A2EC4 0029EB24  54 05 07 3E */	clrlwi r5, r0, 0x1c
/* 802A2EC8 0029EB28  38 04 00 01 */	addi r0, r4, 1
/* 802A2ECC 0029EB2C  90 A6 00 0C */	stw r5, 0xc(r6)
/* 802A2ED0 0029EB30  90 06 00 04 */	stw r0, 4(r6)
/* 802A2ED4 0029EB34  80 9C 00 08 */	lwz r4, 8(r28)
/* 802A2ED8 0029EB38  48 00 17 09 */	bl IPCiProfQueueReq
lbl_802A2EDC:
/* 802A2EDC 0029EB3C  2C 1F 00 00 */	cmpwi r31, 0
/* 802A2EE0 0029EB40  41 82 00 24 */	beq lbl_802A2F04
/* 802A2EE4 0029EB44  7F C3 F3 78 */	mr r3, r30
/* 802A2EE8 0029EB48  4B FC B8 9D */	bl OSRestoreInterrupts
/* 802A2EEC 0029EB4C  2C 1D 00 00 */	cmpwi r29, 0
/* 802A2EF0 0029EB50  41 82 01 10 */	beq lbl_802A3000
/* 802A2EF4 0029EB54  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A2EF8 0029EB58  7F 84 E3 78 */	mr r4, r28
/* 802A2EFC 0029EB5C  48 00 14 41 */	bl iosFree
/* 802A2F00 0029EB60  48 00 01 00 */	b lbl_802A3000
lbl_802A2F04:
/* 802A2F04 0029EB64  80 0D 89 88 */	lwz r0, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2F08 0029EB68  2C 00 00 00 */	cmpwi r0, 0
/* 802A2F0C 0029EB6C  40 81 00 D0 */	ble lbl_802A2FDC
/* 802A2F10 0029EB70  3C 80 80 53 */	lis r4, lbl_80536B60@ha
/* 802A2F14 0029EB74  38 64 6B 60 */	addi r3, r4, lbl_80536B60@l
/* 802A2F18 0029EB78  80 84 6B 60 */	lwz r4, 0x6b60(r4)
/* 802A2F1C 0029EB7C  80 03 00 04 */	lwz r0, 4(r3)
/* 802A2F20 0029EB80  7C 00 20 40 */	cmplw r0, r4
/* 802A2F24 0029EB84  40 80 00 0C */	bge lbl_802A2F30
/* 802A2F28 0029EB88  7C 04 00 50 */	subf r0, r4, r0
/* 802A2F2C 0029EB8C  48 00 00 10 */	b lbl_802A2F3C
lbl_802A2F30:
/* 802A2F30 0029EB90  7C 04 00 50 */	subf r0, r4, r0
/* 802A2F34 0029EB94  7C 00 00 34 */	cntlzw r0, r0
/* 802A2F38 0029EB98  54 00 D9 7E */	srwi r0, r0, 5
lbl_802A2F3C:
/* 802A2F3C 0029EB9C  2C 00 00 00 */	cmpwi r0, 0
/* 802A2F40 0029EBA0  40 82 00 9C */	bne lbl_802A2FDC
/* 802A2F44 0029EBA4  3C 60 80 53 */	lis r3, lbl_80536B60@ha
/* 802A2F48 0029EBA8  38 63 6B 60 */	addi r3, r3, lbl_80536B60@l
/* 802A2F4C 0029EBAC  80 03 00 08 */	lwz r0, 8(r3)
/* 802A2F50 0029EBB0  54 00 10 3A */	slwi r0, r0, 2
/* 802A2F54 0029EBB4  7C 63 02 14 */	add r3, r3, r0
/* 802A2F58 0029EBB8  80 83 00 10 */	lwz r4, 0x10(r3)
/* 802A2F5C 0029EBBC  2C 04 00 00 */	cmpwi r4, 0
/* 802A2F60 0029EBC0  41 82 00 7C */	beq lbl_802A2FDC
/* 802A2F64 0029EBC4  80 04 00 28 */	lwz r0, 0x28(r4)
/* 802A2F68 0029EBC8  2C 00 00 00 */	cmpwi r0, 0
/* 802A2F6C 0029EBCC  41 82 00 1C */	beq lbl_802A2F88
/* 802A2F70 0029EBD0  80 6D 89 88 */	lwz r3, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2F74 0029EBD4  38 00 00 01 */	li r0, 1
/* 802A2F78 0029EBD8  90 0D AE 00 */	stw r0, lbl_806400C0-_SDA_BASE_(r13)
/* 802A2F7C 0029EBDC  38 03 FF FF */	addi r0, r3, -1
/* 802A2F80 0029EBE0  90 8D AE 04 */	stw r4, lbl_806400C4-_SDA_BASE_(r13)
/* 802A2F84 0029EBE4  90 0D 89 88 */	stw r0, lbl_8063DC48-_SDA_BASE_(r13)
lbl_802A2F88:
/* 802A2F88 0029EBE8  3C 84 80 00 */	addis r4, r4, 0x8000
/* 802A2F8C 0029EBEC  38 60 00 00 */	li r3, 0
/* 802A2F90 0029EBF0  4B FF F9 4D */	bl IPCWriteReg
/* 802A2F94 0029EBF4  3C E0 80 53 */	lis r7, lbl_80536B60@ha
/* 802A2F98 0029EBF8  80 6D 89 88 */	lwz r3, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2F9C 0029EBFC  38 C7 6B 60 */	addi r6, r7, lbl_80536B60@l
/* 802A2FA0 0029EC00  80 87 6B 60 */	lwz r4, 0x6b60(r7)
/* 802A2FA4 0029EC04  80 A6 00 08 */	lwz r5, 8(r6)
/* 802A2FA8 0029EC08  38 03 FF FF */	addi r0, r3, -1
/* 802A2FAC 0029EC0C  90 0D 89 88 */	stw r0, lbl_8063DC48-_SDA_BASE_(r13)
/* 802A2FB0 0029EC10  38 84 00 01 */	addi r4, r4, 1
/* 802A2FB4 0029EC14  38 05 00 01 */	addi r0, r5, 1
/* 802A2FB8 0029EC18  38 60 00 01 */	li r3, 1
/* 802A2FBC 0029EC1C  54 00 07 3E */	clrlwi r0, r0, 0x1c
/* 802A2FC0 0029EC20  90 87 6B 60 */	stw r4, 0x6b60(r7)
/* 802A2FC4 0029EC24  90 06 00 08 */	stw r0, 8(r6)
/* 802A2FC8 0029EC28  4B FF F9 05 */	bl IPCReadReg
/* 802A2FCC 0029EC2C  54 60 06 B6 */	rlwinm r0, r3, 0, 0x1a, 0x1b
/* 802A2FD0 0029EC30  38 60 00 01 */	li r3, 1
/* 802A2FD4 0029EC34  60 04 00 01 */	ori r4, r0, 1
/* 802A2FD8 0029EC38  4B FF F9 05 */	bl IPCWriteReg
lbl_802A2FDC:
/* 802A2FDC 0029EC3C  2C 1D 00 00 */	cmpwi r29, 0
/* 802A2FE0 0029EC40  40 82 00 0C */	bne lbl_802A2FEC
/* 802A2FE4 0029EC44  38 7C 00 2C */	addi r3, r28, 0x2c
/* 802A2FE8 0029EC48  4B FC F3 8D */	bl OSSleepThread
lbl_802A2FEC:
/* 802A2FEC 0029EC4C  7F C3 F3 78 */	mr r3, r30
/* 802A2FF0 0029EC50  4B FC B7 95 */	bl OSRestoreInterrupts
/* 802A2FF4 0029EC54  2C 1D 00 00 */	cmpwi r29, 0
/* 802A2FF8 0029EC58  40 82 00 08 */	bne lbl_802A3000
/* 802A2FFC 0029EC5C  83 FC 00 04 */	lwz r31, 4(r28)
lbl_802A3000:
/* 802A3000 0029EC60  2C 1C 00 00 */	cmpwi r28, 0
/* 802A3004 0029EC64  41 82 00 18 */	beq lbl_802A301C
/* 802A3008 0029EC68  2C 1D 00 00 */	cmpwi r29, 0
/* 802A300C 0029EC6C  40 82 00 10 */	bne lbl_802A301C
/* 802A3010 0029EC70  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3014 0029EC74  7F 84 E3 78 */	mr r4, r28
/* 802A3018 0029EC78  48 00 13 25 */	bl iosFree
lbl_802A301C:
/* 802A301C 0029EC7C  7F E3 FB 78 */	mr r3, r31
/* 802A3020 0029EC80  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A3024 0029EC84  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A3028 0029EC88  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A302C 0029EC8C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802A3030 0029EC90  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A3034 0029EC94  7C 08 03 A6 */	mtlr r0
/* 802A3038 0029EC98  38 21 00 20 */	addi r1, r1, 0x20
/* 802A303C 0029EC9C  4E 80 00 20 */	blr

.global IOS_OpenAsync
IOS_OpenAsync:
/* 802A3040 0029ECA0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A3044 0029ECA4  7C 08 02 A6 */	mflr r0
/* 802A3048 0029ECA8  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A304C 0029ECAC  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3050 0029ECB0  4B F2 40 D9 */	bl _savegpr_27
/* 802A3054 0029ECB4  34 01 00 08 */	addic. r0, r1, 8
/* 802A3058 0029ECB8  7C 7B 1B 78 */	mr r27, r3
/* 802A305C 0029ECBC  7C 9C 23 78 */	mr r28, r4
/* 802A3060 0029ECC0  7C BD 2B 78 */	mr r29, r5
/* 802A3064 0029ECC4  7C DF 33 78 */	mr r31, r6
/* 802A3068 0029ECC8  3B C0 00 00 */	li r30, 0
/* 802A306C 0029ECCC  40 82 00 0C */	bne lbl_802A3078
/* 802A3070 0029ECD0  3B C0 FF FC */	li r30, -4
/* 802A3074 0029ECD4  48 00 00 4C */	b lbl_802A30C0
lbl_802A3078:
/* 802A3078 0029ECD8  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A307C 0029ECDC  38 80 00 40 */	li r4, 0x40
/* 802A3080 0029ECE0  38 A0 00 20 */	li r5, 0x20
/* 802A3084 0029ECE4  48 00 12 B5 */	bl iosAllocAligned
/* 802A3088 0029ECE8  2C 03 00 00 */	cmpwi r3, 0
/* 802A308C 0029ECEC  90 61 00 08 */	stw r3, 8(r1)
/* 802A3090 0029ECF0  40 82 00 0C */	bne lbl_802A309C
/* 802A3094 0029ECF4  3B C0 FF EA */	li r30, -22
/* 802A3098 0029ECF8  48 00 00 28 */	b lbl_802A30C0
lbl_802A309C:
/* 802A309C 0029ECFC  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A30A0 0029ED00  38 A0 00 00 */	li r5, 0
/* 802A30A4 0029ED04  38 00 00 01 */	li r0, 1
/* 802A30A8 0029ED08  80 81 00 08 */	lwz r4, 8(r1)
/* 802A30AC 0029ED0C  93 E4 00 24 */	stw r31, 0x24(r4)
/* 802A30B0 0029ED10  80 81 00 08 */	lwz r4, 8(r1)
/* 802A30B4 0029ED14  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A30B8 0029ED18  90 03 00 00 */	stw r0, 0(r3)
/* 802A30BC 0029ED1C  90 A3 00 08 */	stw r5, 8(r3)
lbl_802A30C0:
/* 802A30C0 0029ED20  2C 1E 00 00 */	cmpwi r30, 0
/* 802A30C4 0029ED24  40 82 00 78 */	bne lbl_802A313C
/* 802A30C8 0029ED28  83 E1 00 08 */	lwz r31, 8(r1)
/* 802A30CC 0029ED2C  3B C0 00 00 */	li r30, 0
/* 802A30D0 0029ED30  2C 1F 00 00 */	cmpwi r31, 0
/* 802A30D4 0029ED34  40 82 00 0C */	bne lbl_802A30E0
/* 802A30D8 0029ED38  3B C0 FF FC */	li r30, -4
/* 802A30DC 0029ED3C  48 00 00 48 */	b lbl_802A3124
lbl_802A30E0:
/* 802A30E0 0029ED40  7F 63 DB 78 */	mr r3, r27
/* 802A30E4 0029ED44  38 80 00 40 */	li r4, 0x40
/* 802A30E8 0029ED48  48 00 00 08 */	b lbl_802A30F0
lbl_802A30EC:
/* 802A30EC 0029ED4C  38 63 00 01 */	addi r3, r3, 1
lbl_802A30F0:
/* 802A30F0 0029ED50  88 03 00 00 */	lbz r0, 0(r3)
/* 802A30F4 0029ED54  2C 00 00 00 */	cmpwi r0, 0
/* 802A30F8 0029ED58  41 82 00 10 */	beq lbl_802A3108
/* 802A30FC 0029ED5C  2C 04 00 00 */	cmpwi r4, 0
/* 802A3100 0029ED60  38 84 FF FF */	addi r4, r4, -1
/* 802A3104 0029ED64  40 82 FF E8 */	bne lbl_802A30EC
lbl_802A3108:
/* 802A3108 0029ED68  7C 9B 18 50 */	subf r4, r27, r3
/* 802A310C 0029ED6C  7F 63 DB 78 */	mr r3, r27
/* 802A3110 0029ED70  38 84 00 01 */	addi r4, r4, 1
/* 802A3114 0029ED74  4B FC 75 41 */	bl DCFlushRange
/* 802A3118 0029ED78  3C 1B 80 00 */	addis r0, r27, 0x8000
/* 802A311C 0029ED7C  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802A3120 0029ED80  93 9F 00 10 */	stw r28, 0x10(r31)
lbl_802A3124:
/* 802A3124 0029ED84  2C 1E 00 00 */	cmpwi r30, 0
/* 802A3128 0029ED88  40 82 00 14 */	bne lbl_802A313C
/* 802A312C 0029ED8C  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3130 0029ED90  7F A4 EB 78 */	mr r4, r29
/* 802A3134 0029ED94  4B FF FC C1 */	bl __ios_Ipc2
/* 802A3138 0029ED98  7C 7E 1B 78 */	mr r30, r3
lbl_802A313C:
/* 802A313C 0029ED9C  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3140 0029EDA0  7F C3 F3 78 */	mr r3, r30
/* 802A3144 0029EDA4  4B F2 40 31 */	bl _restgpr_27
/* 802A3148 0029EDA8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A314C 0029EDAC  7C 08 03 A6 */	mtlr r0
/* 802A3150 0029EDB0  38 21 00 30 */	addi r1, r1, 0x30
/* 802A3154 0029EDB4  4E 80 00 20 */	blr

.global IOS_Open
IOS_Open:
/* 802A3158 0029EDB8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A315C 0029EDBC  7C 08 02 A6 */	mflr r0
/* 802A3160 0029EDC0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A3164 0029EDC4  34 01 00 08 */	addic. r0, r1, 8
/* 802A3168 0029EDC8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A316C 0029EDCC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A3170 0029EDD0  3B C0 00 00 */	li r30, 0
/* 802A3174 0029EDD4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A3178 0029EDD8  7C 9D 23 78 */	mr r29, r4
/* 802A317C 0029EDDC  93 81 00 10 */	stw r28, 0x10(r1)
/* 802A3180 0029EDE0  7C 7C 1B 78 */	mr r28, r3
/* 802A3184 0029EDE4  40 82 00 0C */	bne lbl_802A3190
/* 802A3188 0029EDE8  3B C0 FF FC */	li r30, -4
/* 802A318C 0029EDEC  48 00 00 4C */	b lbl_802A31D8
lbl_802A3190:
/* 802A3190 0029EDF0  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3194 0029EDF4  38 80 00 40 */	li r4, 0x40
/* 802A3198 0029EDF8  38 A0 00 20 */	li r5, 0x20
/* 802A319C 0029EDFC  48 00 11 9D */	bl iosAllocAligned
/* 802A31A0 0029EE00  2C 03 00 00 */	cmpwi r3, 0
/* 802A31A4 0029EE04  90 61 00 08 */	stw r3, 8(r1)
/* 802A31A8 0029EE08  40 82 00 0C */	bne lbl_802A31B4
/* 802A31AC 0029EE0C  3B C0 FF EA */	li r30, -22
/* 802A31B0 0029EE10  48 00 00 28 */	b lbl_802A31D8
lbl_802A31B4:
/* 802A31B4 0029EE14  38 A0 00 00 */	li r5, 0
/* 802A31B8 0029EE18  38 00 00 01 */	li r0, 1
/* 802A31BC 0029EE1C  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A31C0 0029EE20  80 81 00 08 */	lwz r4, 8(r1)
/* 802A31C4 0029EE24  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A31C8 0029EE28  80 81 00 08 */	lwz r4, 8(r1)
/* 802A31CC 0029EE2C  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A31D0 0029EE30  90 03 00 00 */	stw r0, 0(r3)
/* 802A31D4 0029EE34  90 A3 00 08 */	stw r5, 8(r3)
lbl_802A31D8:
/* 802A31D8 0029EE38  2C 1E 00 00 */	cmpwi r30, 0
/* 802A31DC 0029EE3C  40 82 00 78 */	bne lbl_802A3254
/* 802A31E0 0029EE40  83 E1 00 08 */	lwz r31, 8(r1)
/* 802A31E4 0029EE44  3B C0 00 00 */	li r30, 0
/* 802A31E8 0029EE48  2C 1F 00 00 */	cmpwi r31, 0
/* 802A31EC 0029EE4C  40 82 00 0C */	bne lbl_802A31F8
/* 802A31F0 0029EE50  3B C0 FF FC */	li r30, -4
/* 802A31F4 0029EE54  48 00 00 48 */	b lbl_802A323C
lbl_802A31F8:
/* 802A31F8 0029EE58  7F 83 E3 78 */	mr r3, r28
/* 802A31FC 0029EE5C  38 80 00 40 */	li r4, 0x40
/* 802A3200 0029EE60  48 00 00 08 */	b lbl_802A3208
lbl_802A3204:
/* 802A3204 0029EE64  38 63 00 01 */	addi r3, r3, 1
lbl_802A3208:
/* 802A3208 0029EE68  88 03 00 00 */	lbz r0, 0(r3)
/* 802A320C 0029EE6C  2C 00 00 00 */	cmpwi r0, 0
/* 802A3210 0029EE70  41 82 00 10 */	beq lbl_802A3220
/* 802A3214 0029EE74  2C 04 00 00 */	cmpwi r4, 0
/* 802A3218 0029EE78  38 84 FF FF */	addi r4, r4, -1
/* 802A321C 0029EE7C  40 82 FF E8 */	bne lbl_802A3204
lbl_802A3220:
/* 802A3220 0029EE80  7C 9C 18 50 */	subf r4, r28, r3
/* 802A3224 0029EE84  7F 83 E3 78 */	mr r3, r28
/* 802A3228 0029EE88  38 84 00 01 */	addi r4, r4, 1
/* 802A322C 0029EE8C  4B FC 74 29 */	bl DCFlushRange
/* 802A3230 0029EE90  3C 1C 80 00 */	addis r0, r28, 0x8000
/* 802A3234 0029EE94  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802A3238 0029EE98  93 BF 00 10 */	stw r29, 0x10(r31)
lbl_802A323C:
/* 802A323C 0029EE9C  2C 1E 00 00 */	cmpwi r30, 0
/* 802A3240 0029EEA0  40 82 00 14 */	bne lbl_802A3254
/* 802A3244 0029EEA4  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3248 0029EEA8  38 80 00 00 */	li r4, 0
/* 802A324C 0029EEAC  4B FF FB A9 */	bl __ios_Ipc2
/* 802A3250 0029EEB0  7C 7E 1B 78 */	mr r30, r3
lbl_802A3254:
/* 802A3254 0029EEB4  7F C3 F3 78 */	mr r3, r30
/* 802A3258 0029EEB8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A325C 0029EEBC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A3260 0029EEC0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A3264 0029EEC4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802A3268 0029EEC8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A326C 0029EECC  7C 08 03 A6 */	mtlr r0
/* 802A3270 0029EED0  38 21 00 20 */	addi r1, r1, 0x20
/* 802A3274 0029EED4  4E 80 00 20 */	blr

.global IOS_CloseAsync
IOS_CloseAsync:
/* 802A3278 0029EED8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A327C 0029EEDC  7C 08 02 A6 */	mflr r0
/* 802A3280 0029EEE0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A3284 0029EEE4  34 01 00 08 */	addic. r0, r1, 8
/* 802A3288 0029EEE8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A328C 0029EEEC  3B E0 00 00 */	li r31, 0
/* 802A3290 0029EEF0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A3294 0029EEF4  7C BE 2B 78 */	mr r30, r5
/* 802A3298 0029EEF8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A329C 0029EEFC  7C 9D 23 78 */	mr r29, r4
/* 802A32A0 0029EF00  93 81 00 10 */	stw r28, 0x10(r1)
/* 802A32A4 0029EF04  7C 7C 1B 78 */	mr r28, r3
/* 802A32A8 0029EF08  40 82 00 0C */	bne lbl_802A32B4
/* 802A32AC 0029EF0C  3B E0 FF FC */	li r31, -4
/* 802A32B0 0029EF10  48 00 00 4C */	b lbl_802A32FC
lbl_802A32B4:
/* 802A32B4 0029EF14  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A32B8 0029EF18  38 80 00 40 */	li r4, 0x40
/* 802A32BC 0029EF1C  38 A0 00 20 */	li r5, 0x20
/* 802A32C0 0029EF20  48 00 10 79 */	bl iosAllocAligned
/* 802A32C4 0029EF24  2C 03 00 00 */	cmpwi r3, 0
/* 802A32C8 0029EF28  90 61 00 08 */	stw r3, 8(r1)
/* 802A32CC 0029EF2C  40 82 00 0C */	bne lbl_802A32D8
/* 802A32D0 0029EF30  3B E0 FF EA */	li r31, -22
/* 802A32D4 0029EF34  48 00 00 28 */	b lbl_802A32FC
lbl_802A32D8:
/* 802A32D8 0029EF38  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A32DC 0029EF3C  38 A0 00 00 */	li r5, 0
/* 802A32E0 0029EF40  38 00 00 02 */	li r0, 2
/* 802A32E4 0029EF44  80 81 00 08 */	lwz r4, 8(r1)
/* 802A32E8 0029EF48  93 C4 00 24 */	stw r30, 0x24(r4)
/* 802A32EC 0029EF4C  80 81 00 08 */	lwz r4, 8(r1)
/* 802A32F0 0029EF50  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A32F4 0029EF54  90 03 00 00 */	stw r0, 0(r3)
/* 802A32F8 0029EF58  93 83 00 08 */	stw r28, 8(r3)
lbl_802A32FC:
/* 802A32FC 0029EF5C  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3300 0029EF60  40 82 00 14 */	bne lbl_802A3314
/* 802A3304 0029EF64  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3308 0029EF68  7F A4 EB 78 */	mr r4, r29
/* 802A330C 0029EF6C  4B FF FA E9 */	bl __ios_Ipc2
/* 802A3310 0029EF70  7C 7F 1B 78 */	mr r31, r3
lbl_802A3314:
/* 802A3314 0029EF74  7F E3 FB 78 */	mr r3, r31
/* 802A3318 0029EF78  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A331C 0029EF7C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A3320 0029EF80  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A3324 0029EF84  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802A3328 0029EF88  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A332C 0029EF8C  7C 08 03 A6 */	mtlr r0
/* 802A3330 0029EF90  38 21 00 20 */	addi r1, r1, 0x20
/* 802A3334 0029EF94  4E 80 00 20 */	blr

.global IOS_Close
IOS_Close:
/* 802A3338 0029EF98  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A333C 0029EF9C  7C 08 02 A6 */	mflr r0
/* 802A3340 0029EFA0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A3344 0029EFA4  34 01 00 08 */	addic. r0, r1, 8
/* 802A3348 0029EFA8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A334C 0029EFAC  3B E0 00 00 */	li r31, 0
/* 802A3350 0029EFB0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A3354 0029EFB4  7C 7E 1B 78 */	mr r30, r3
/* 802A3358 0029EFB8  40 82 00 0C */	bne lbl_802A3364
/* 802A335C 0029EFBC  3B E0 FF FC */	li r31, -4
/* 802A3360 0029EFC0  48 00 00 4C */	b lbl_802A33AC
lbl_802A3364:
/* 802A3364 0029EFC4  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3368 0029EFC8  38 80 00 40 */	li r4, 0x40
/* 802A336C 0029EFCC  38 A0 00 20 */	li r5, 0x20
/* 802A3370 0029EFD0  48 00 0F C9 */	bl iosAllocAligned
/* 802A3374 0029EFD4  2C 03 00 00 */	cmpwi r3, 0
/* 802A3378 0029EFD8  90 61 00 08 */	stw r3, 8(r1)
/* 802A337C 0029EFDC  40 82 00 0C */	bne lbl_802A3388
/* 802A3380 0029EFE0  3B E0 FF EA */	li r31, -22
/* 802A3384 0029EFE4  48 00 00 28 */	b lbl_802A33AC
lbl_802A3388:
/* 802A3388 0029EFE8  38 A0 00 00 */	li r5, 0
/* 802A338C 0029EFEC  38 00 00 02 */	li r0, 2
/* 802A3390 0029EFF0  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A3394 0029EFF4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3398 0029EFF8  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A339C 0029EFFC  80 81 00 08 */	lwz r4, 8(r1)
/* 802A33A0 0029F000  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A33A4 0029F004  90 03 00 00 */	stw r0, 0(r3)
/* 802A33A8 0029F008  93 C3 00 08 */	stw r30, 8(r3)
lbl_802A33AC:
/* 802A33AC 0029F00C  2C 1F 00 00 */	cmpwi r31, 0
/* 802A33B0 0029F010  40 82 00 14 */	bne lbl_802A33C4
/* 802A33B4 0029F014  80 61 00 08 */	lwz r3, 8(r1)
/* 802A33B8 0029F018  38 80 00 00 */	li r4, 0
/* 802A33BC 0029F01C  4B FF FA 39 */	bl __ios_Ipc2
/* 802A33C0 0029F020  7C 7F 1B 78 */	mr r31, r3
lbl_802A33C4:
/* 802A33C4 0029F024  7F E3 FB 78 */	mr r3, r31
/* 802A33C8 0029F028  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A33CC 0029F02C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A33D0 0029F030  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A33D4 0029F034  7C 08 03 A6 */	mtlr r0
/* 802A33D8 0029F038  38 21 00 20 */	addi r1, r1, 0x20
/* 802A33DC 0029F03C  4E 80 00 20 */	blr

.global IOS_ReadAsync
IOS_ReadAsync:
/* 802A33E0 0029F040  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A33E4 0029F044  7C 08 02 A6 */	mflr r0
/* 802A33E8 0029F048  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A33EC 0029F04C  39 61 00 30 */	addi r11, r1, 0x30
/* 802A33F0 0029F050  4B F2 3D 35 */	bl _savegpr_26
/* 802A33F4 0029F054  34 01 00 08 */	addic. r0, r1, 8
/* 802A33F8 0029F058  7C 7A 1B 78 */	mr r26, r3
/* 802A33FC 0029F05C  7C 9B 23 78 */	mr r27, r4
/* 802A3400 0029F060  7C BC 2B 78 */	mr r28, r5
/* 802A3404 0029F064  7C DD 33 78 */	mr r29, r6
/* 802A3408 0029F068  7C FF 3B 78 */	mr r31, r7
/* 802A340C 0029F06C  3B C0 00 00 */	li r30, 0
/* 802A3410 0029F070  40 82 00 0C */	bne lbl_802A341C
/* 802A3414 0029F074  3B C0 FF FC */	li r30, -4
/* 802A3418 0029F078  48 00 00 4C */	b lbl_802A3464
lbl_802A341C:
/* 802A341C 0029F07C  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3420 0029F080  38 80 00 40 */	li r4, 0x40
/* 802A3424 0029F084  38 A0 00 20 */	li r5, 0x20
/* 802A3428 0029F088  48 00 0F 11 */	bl iosAllocAligned
/* 802A342C 0029F08C  2C 03 00 00 */	cmpwi r3, 0
/* 802A3430 0029F090  90 61 00 08 */	stw r3, 8(r1)
/* 802A3434 0029F094  40 82 00 0C */	bne lbl_802A3440
/* 802A3438 0029F098  3B C0 FF EA */	li r30, -22
/* 802A343C 0029F09C  48 00 00 28 */	b lbl_802A3464
lbl_802A3440:
/* 802A3440 0029F0A0  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A3444 0029F0A4  38 A0 00 00 */	li r5, 0
/* 802A3448 0029F0A8  38 00 00 03 */	li r0, 3
/* 802A344C 0029F0AC  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3450 0029F0B0  93 E4 00 24 */	stw r31, 0x24(r4)
/* 802A3454 0029F0B4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3458 0029F0B8  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A345C 0029F0BC  90 03 00 00 */	stw r0, 0(r3)
/* 802A3460 0029F0C0  93 43 00 08 */	stw r26, 8(r3)
lbl_802A3464:
/* 802A3464 0029F0C4  2C 1E 00 00 */	cmpwi r30, 0
/* 802A3468 0029F0C8  40 82 00 5C */	bne lbl_802A34C4
/* 802A346C 0029F0CC  83 E1 00 08 */	lwz r31, 8(r1)
/* 802A3470 0029F0D0  3B C0 00 00 */	li r30, 0
/* 802A3474 0029F0D4  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3478 0029F0D8  40 82 00 0C */	bne lbl_802A3484
/* 802A347C 0029F0DC  3B C0 FF FC */	li r30, -4
/* 802A3480 0029F0E0  48 00 00 2C */	b lbl_802A34AC
lbl_802A3484:
/* 802A3484 0029F0E4  7F 63 DB 78 */	mr r3, r27
/* 802A3488 0029F0E8  7F 84 E3 78 */	mr r4, r28
/* 802A348C 0029F0EC  4B FC 71 9D */	bl DCInvalidateRange
/* 802A3490 0029F0F0  2C 1B 00 00 */	cmpwi r27, 0
/* 802A3494 0029F0F4  41 82 00 0C */	beq lbl_802A34A0
/* 802A3498 0029F0F8  3C 1B 80 00 */	addis r0, r27, 0x8000
/* 802A349C 0029F0FC  48 00 00 08 */	b lbl_802A34A4
lbl_802A34A0:
/* 802A34A0 0029F100  38 00 00 00 */	li r0, 0
lbl_802A34A4:
/* 802A34A4 0029F104  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802A34A8 0029F108  93 9F 00 10 */	stw r28, 0x10(r31)
lbl_802A34AC:
/* 802A34AC 0029F10C  2C 1E 00 00 */	cmpwi r30, 0
/* 802A34B0 0029F110  40 82 00 14 */	bne lbl_802A34C4
/* 802A34B4 0029F114  80 61 00 08 */	lwz r3, 8(r1)
/* 802A34B8 0029F118  7F A4 EB 78 */	mr r4, r29
/* 802A34BC 0029F11C  4B FF F9 39 */	bl __ios_Ipc2
/* 802A34C0 0029F120  7C 7E 1B 78 */	mr r30, r3
lbl_802A34C4:
/* 802A34C4 0029F124  39 61 00 30 */	addi r11, r1, 0x30
/* 802A34C8 0029F128  7F C3 F3 78 */	mr r3, r30
/* 802A34CC 0029F12C  4B F2 3C A5 */	bl _restgpr_26
/* 802A34D0 0029F130  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A34D4 0029F134  7C 08 03 A6 */	mtlr r0
/* 802A34D8 0029F138  38 21 00 30 */	addi r1, r1, 0x30
/* 802A34DC 0029F13C  4E 80 00 20 */	blr

.global IOS_Read
IOS_Read:
/* 802A34E0 0029F140  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A34E4 0029F144  7C 08 02 A6 */	mflr r0
/* 802A34E8 0029F148  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A34EC 0029F14C  34 01 00 08 */	addic. r0, r1, 8
/* 802A34F0 0029F150  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A34F4 0029F154  7C 7F 1B 78 */	mr r31, r3
/* 802A34F8 0029F158  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A34FC 0029F15C  3B C0 00 00 */	li r30, 0
/* 802A3500 0029F160  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A3504 0029F164  7C BD 2B 78 */	mr r29, r5
/* 802A3508 0029F168  93 81 00 10 */	stw r28, 0x10(r1)
/* 802A350C 0029F16C  7C 9C 23 78 */	mr r28, r4
/* 802A3510 0029F170  40 82 00 0C */	bne lbl_802A351C
/* 802A3514 0029F174  3B C0 FF FC */	li r30, -4
/* 802A3518 0029F178  48 00 00 4C */	b lbl_802A3564
lbl_802A351C:
/* 802A351C 0029F17C  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3520 0029F180  38 80 00 40 */	li r4, 0x40
/* 802A3524 0029F184  38 A0 00 20 */	li r5, 0x20
/* 802A3528 0029F188  48 00 0E 11 */	bl iosAllocAligned
/* 802A352C 0029F18C  2C 03 00 00 */	cmpwi r3, 0
/* 802A3530 0029F190  90 61 00 08 */	stw r3, 8(r1)
/* 802A3534 0029F194  40 82 00 0C */	bne lbl_802A3540
/* 802A3538 0029F198  3B C0 FF EA */	li r30, -22
/* 802A353C 0029F19C  48 00 00 28 */	b lbl_802A3564
lbl_802A3540:
/* 802A3540 0029F1A0  38 A0 00 00 */	li r5, 0
/* 802A3544 0029F1A4  38 00 00 03 */	li r0, 3
/* 802A3548 0029F1A8  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A354C 0029F1AC  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3550 0029F1B0  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A3554 0029F1B4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3558 0029F1B8  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A355C 0029F1BC  90 03 00 00 */	stw r0, 0(r3)
/* 802A3560 0029F1C0  93 E3 00 08 */	stw r31, 8(r3)
lbl_802A3564:
/* 802A3564 0029F1C4  2C 1E 00 00 */	cmpwi r30, 0
/* 802A3568 0029F1C8  40 82 00 5C */	bne lbl_802A35C4
/* 802A356C 0029F1CC  83 E1 00 08 */	lwz r31, 8(r1)
/* 802A3570 0029F1D0  3B C0 00 00 */	li r30, 0
/* 802A3574 0029F1D4  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3578 0029F1D8  40 82 00 0C */	bne lbl_802A3584
/* 802A357C 0029F1DC  3B C0 FF FC */	li r30, -4
/* 802A3580 0029F1E0  48 00 00 2C */	b lbl_802A35AC
lbl_802A3584:
/* 802A3584 0029F1E4  7F 83 E3 78 */	mr r3, r28
/* 802A3588 0029F1E8  7F A4 EB 78 */	mr r4, r29
/* 802A358C 0029F1EC  4B FC 70 9D */	bl DCInvalidateRange
/* 802A3590 0029F1F0  2C 1C 00 00 */	cmpwi r28, 0
/* 802A3594 0029F1F4  41 82 00 0C */	beq lbl_802A35A0
/* 802A3598 0029F1F8  3C 1C 80 00 */	addis r0, r28, 0x8000
/* 802A359C 0029F1FC  48 00 00 08 */	b lbl_802A35A4
lbl_802A35A0:
/* 802A35A0 0029F200  38 00 00 00 */	li r0, 0
lbl_802A35A4:
/* 802A35A4 0029F204  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802A35A8 0029F208  93 BF 00 10 */	stw r29, 0x10(r31)
lbl_802A35AC:
/* 802A35AC 0029F20C  2C 1E 00 00 */	cmpwi r30, 0
/* 802A35B0 0029F210  40 82 00 14 */	bne lbl_802A35C4
/* 802A35B4 0029F214  80 61 00 08 */	lwz r3, 8(r1)
/* 802A35B8 0029F218  38 80 00 00 */	li r4, 0
/* 802A35BC 0029F21C  4B FF F8 39 */	bl __ios_Ipc2
/* 802A35C0 0029F220  7C 7E 1B 78 */	mr r30, r3
lbl_802A35C4:
/* 802A35C4 0029F224  7F C3 F3 78 */	mr r3, r30
/* 802A35C8 0029F228  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A35CC 0029F22C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A35D0 0029F230  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A35D4 0029F234  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802A35D8 0029F238  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A35DC 0029F23C  7C 08 03 A6 */	mtlr r0
/* 802A35E0 0029F240  38 21 00 20 */	addi r1, r1, 0x20
/* 802A35E4 0029F244  4E 80 00 20 */	blr

.global IOS_WriteAsync
IOS_WriteAsync:
/* 802A35E8 0029F248  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A35EC 0029F24C  7C 08 02 A6 */	mflr r0
/* 802A35F0 0029F250  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A35F4 0029F254  39 61 00 30 */	addi r11, r1, 0x30
/* 802A35F8 0029F258  4B F2 3B 2D */	bl _savegpr_26
/* 802A35FC 0029F25C  34 01 00 08 */	addic. r0, r1, 8
/* 802A3600 0029F260  7C 7A 1B 78 */	mr r26, r3
/* 802A3604 0029F264  7C 9B 23 78 */	mr r27, r4
/* 802A3608 0029F268  7C BC 2B 78 */	mr r28, r5
/* 802A360C 0029F26C  7C DD 33 78 */	mr r29, r6
/* 802A3610 0029F270  7C FE 3B 78 */	mr r30, r7
/* 802A3614 0029F274  3B E0 00 00 */	li r31, 0
/* 802A3618 0029F278  40 82 00 0C */	bne lbl_802A3624
/* 802A361C 0029F27C  3B E0 FF FC */	li r31, -4
/* 802A3620 0029F280  48 00 00 4C */	b lbl_802A366C
lbl_802A3624:
/* 802A3624 0029F284  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3628 0029F288  38 80 00 40 */	li r4, 0x40
/* 802A362C 0029F28C  38 A0 00 20 */	li r5, 0x20
/* 802A3630 0029F290  48 00 0D 09 */	bl iosAllocAligned
/* 802A3634 0029F294  2C 03 00 00 */	cmpwi r3, 0
/* 802A3638 0029F298  90 61 00 08 */	stw r3, 8(r1)
/* 802A363C 0029F29C  40 82 00 0C */	bne lbl_802A3648
/* 802A3640 0029F2A0  3B E0 FF EA */	li r31, -22
/* 802A3644 0029F2A4  48 00 00 28 */	b lbl_802A366C
lbl_802A3648:
/* 802A3648 0029F2A8  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A364C 0029F2AC  38 A0 00 00 */	li r5, 0
/* 802A3650 0029F2B0  38 00 00 04 */	li r0, 4
/* 802A3654 0029F2B4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3658 0029F2B8  93 C4 00 24 */	stw r30, 0x24(r4)
/* 802A365C 0029F2BC  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3660 0029F2C0  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3664 0029F2C4  90 03 00 00 */	stw r0, 0(r3)
/* 802A3668 0029F2C8  93 43 00 08 */	stw r26, 8(r3)
lbl_802A366C:
/* 802A366C 0029F2CC  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3670 0029F2D0  40 82 00 5C */	bne lbl_802A36CC
/* 802A3674 0029F2D4  80 A1 00 08 */	lwz r5, 8(r1)
/* 802A3678 0029F2D8  3B E0 00 00 */	li r31, 0
/* 802A367C 0029F2DC  2C 05 00 00 */	cmpwi r5, 0
/* 802A3680 0029F2E0  40 82 00 0C */	bne lbl_802A368C
/* 802A3684 0029F2E4  3B E0 FF FC */	li r31, -4
/* 802A3688 0029F2E8  48 00 00 2C */	b lbl_802A36B4
lbl_802A368C:
/* 802A368C 0029F2EC  2C 1B 00 00 */	cmpwi r27, 0
/* 802A3690 0029F2F0  41 82 00 0C */	beq lbl_802A369C
/* 802A3694 0029F2F4  3C 1B 80 00 */	addis r0, r27, 0x8000
/* 802A3698 0029F2F8  48 00 00 08 */	b lbl_802A36A0
lbl_802A369C:
/* 802A369C 0029F2FC  38 00 00 00 */	li r0, 0
lbl_802A36A0:
/* 802A36A0 0029F300  90 05 00 0C */	stw r0, 0xc(r5)
/* 802A36A4 0029F304  7F 63 DB 78 */	mr r3, r27
/* 802A36A8 0029F308  7F 84 E3 78 */	mr r4, r28
/* 802A36AC 0029F30C  93 85 00 10 */	stw r28, 0x10(r5)
/* 802A36B0 0029F310  4B FC 6F A5 */	bl DCFlushRange
lbl_802A36B4:
/* 802A36B4 0029F314  2C 1F 00 00 */	cmpwi r31, 0
/* 802A36B8 0029F318  40 82 00 14 */	bne lbl_802A36CC
/* 802A36BC 0029F31C  80 61 00 08 */	lwz r3, 8(r1)
/* 802A36C0 0029F320  7F A4 EB 78 */	mr r4, r29
/* 802A36C4 0029F324  4B FF F7 31 */	bl __ios_Ipc2
/* 802A36C8 0029F328  7C 7F 1B 78 */	mr r31, r3
lbl_802A36CC:
/* 802A36CC 0029F32C  39 61 00 30 */	addi r11, r1, 0x30
/* 802A36D0 0029F330  7F E3 FB 78 */	mr r3, r31
/* 802A36D4 0029F334  4B F2 3A 9D */	bl _restgpr_26
/* 802A36D8 0029F338  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A36DC 0029F33C  7C 08 03 A6 */	mtlr r0
/* 802A36E0 0029F340  38 21 00 30 */	addi r1, r1, 0x30
/* 802A36E4 0029F344  4E 80 00 20 */	blr

.global IOS_Write
IOS_Write:
/* 802A36E8 0029F348  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A36EC 0029F34C  7C 08 02 A6 */	mflr r0
/* 802A36F0 0029F350  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A36F4 0029F354  34 01 00 08 */	addic. r0, r1, 8
/* 802A36F8 0029F358  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A36FC 0029F35C  3B E0 00 00 */	li r31, 0
/* 802A3700 0029F360  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A3704 0029F364  7C BE 2B 78 */	mr r30, r5
/* 802A3708 0029F368  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A370C 0029F36C  7C 9D 23 78 */	mr r29, r4
/* 802A3710 0029F370  93 81 00 10 */	stw r28, 0x10(r1)
/* 802A3714 0029F374  7C 7C 1B 78 */	mr r28, r3
/* 802A3718 0029F378  40 82 00 0C */	bne lbl_802A3724
/* 802A371C 0029F37C  3B E0 FF FC */	li r31, -4
/* 802A3720 0029F380  48 00 00 4C */	b lbl_802A376C
lbl_802A3724:
/* 802A3724 0029F384  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3728 0029F388  38 80 00 40 */	li r4, 0x40
/* 802A372C 0029F38C  38 A0 00 20 */	li r5, 0x20
/* 802A3730 0029F390  48 00 0C 09 */	bl iosAllocAligned
/* 802A3734 0029F394  2C 03 00 00 */	cmpwi r3, 0
/* 802A3738 0029F398  90 61 00 08 */	stw r3, 8(r1)
/* 802A373C 0029F39C  40 82 00 0C */	bne lbl_802A3748
/* 802A3740 0029F3A0  3B E0 FF EA */	li r31, -22
/* 802A3744 0029F3A4  48 00 00 28 */	b lbl_802A376C
lbl_802A3748:
/* 802A3748 0029F3A8  38 A0 00 00 */	li r5, 0
/* 802A374C 0029F3AC  38 00 00 04 */	li r0, 4
/* 802A3750 0029F3B0  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A3754 0029F3B4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3758 0029F3B8  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A375C 0029F3BC  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3760 0029F3C0  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3764 0029F3C4  90 03 00 00 */	stw r0, 0(r3)
/* 802A3768 0029F3C8  93 83 00 08 */	stw r28, 8(r3)
lbl_802A376C:
/* 802A376C 0029F3CC  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3770 0029F3D0  40 82 00 5C */	bne lbl_802A37CC
/* 802A3774 0029F3D4  80 A1 00 08 */	lwz r5, 8(r1)
/* 802A3778 0029F3D8  3B E0 00 00 */	li r31, 0
/* 802A377C 0029F3DC  2C 05 00 00 */	cmpwi r5, 0
/* 802A3780 0029F3E0  40 82 00 0C */	bne lbl_802A378C
/* 802A3784 0029F3E4  3B E0 FF FC */	li r31, -4
/* 802A3788 0029F3E8  48 00 00 2C */	b lbl_802A37B4
lbl_802A378C:
/* 802A378C 0029F3EC  2C 1D 00 00 */	cmpwi r29, 0
/* 802A3790 0029F3F0  41 82 00 0C */	beq lbl_802A379C
/* 802A3794 0029F3F4  3C 1D 80 00 */	addis r0, r29, 0x8000
/* 802A3798 0029F3F8  48 00 00 08 */	b lbl_802A37A0
lbl_802A379C:
/* 802A379C 0029F3FC  38 00 00 00 */	li r0, 0
lbl_802A37A0:
/* 802A37A0 0029F400  90 05 00 0C */	stw r0, 0xc(r5)
/* 802A37A4 0029F404  7F A3 EB 78 */	mr r3, r29
/* 802A37A8 0029F408  7F C4 F3 78 */	mr r4, r30
/* 802A37AC 0029F40C  93 C5 00 10 */	stw r30, 0x10(r5)
/* 802A37B0 0029F410  4B FC 6E A5 */	bl DCFlushRange
lbl_802A37B4:
/* 802A37B4 0029F414  2C 1F 00 00 */	cmpwi r31, 0
/* 802A37B8 0029F418  40 82 00 14 */	bne lbl_802A37CC
/* 802A37BC 0029F41C  80 61 00 08 */	lwz r3, 8(r1)
/* 802A37C0 0029F420  38 80 00 00 */	li r4, 0
/* 802A37C4 0029F424  4B FF F6 31 */	bl __ios_Ipc2
/* 802A37C8 0029F428  7C 7F 1B 78 */	mr r31, r3
lbl_802A37CC:
/* 802A37CC 0029F42C  7F E3 FB 78 */	mr r3, r31
/* 802A37D0 0029F430  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A37D4 0029F434  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A37D8 0029F438  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A37DC 0029F43C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802A37E0 0029F440  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A37E4 0029F444  7C 08 03 A6 */	mtlr r0
/* 802A37E8 0029F448  38 21 00 20 */	addi r1, r1, 0x20
/* 802A37EC 0029F44C  4E 80 00 20 */	blr

.global IOS_SeekAsync
IOS_SeekAsync:
/* 802A37F0 0029F450  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A37F4 0029F454  7C 08 02 A6 */	mflr r0
/* 802A37F8 0029F458  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A37FC 0029F45C  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3800 0029F460  4B F2 39 25 */	bl _savegpr_26
/* 802A3804 0029F464  34 01 00 08 */	addic. r0, r1, 8
/* 802A3808 0029F468  7C 7A 1B 78 */	mr r26, r3
/* 802A380C 0029F46C  7C 9B 23 78 */	mr r27, r4
/* 802A3810 0029F470  7C BC 2B 78 */	mr r28, r5
/* 802A3814 0029F474  7C DD 33 78 */	mr r29, r6
/* 802A3818 0029F478  7C FE 3B 78 */	mr r30, r7
/* 802A381C 0029F47C  3B E0 00 00 */	li r31, 0
/* 802A3820 0029F480  40 82 00 0C */	bne lbl_802A382C
/* 802A3824 0029F484  3B E0 FF FC */	li r31, -4
/* 802A3828 0029F488  48 00 00 4C */	b lbl_802A3874
lbl_802A382C:
/* 802A382C 0029F48C  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3830 0029F490  38 80 00 40 */	li r4, 0x40
/* 802A3834 0029F494  38 A0 00 20 */	li r5, 0x20
/* 802A3838 0029F498  48 00 0B 01 */	bl iosAllocAligned
/* 802A383C 0029F49C  2C 03 00 00 */	cmpwi r3, 0
/* 802A3840 0029F4A0  90 61 00 08 */	stw r3, 8(r1)
/* 802A3844 0029F4A4  40 82 00 0C */	bne lbl_802A3850
/* 802A3848 0029F4A8  3B E0 FF EA */	li r31, -22
/* 802A384C 0029F4AC  48 00 00 28 */	b lbl_802A3874
lbl_802A3850:
/* 802A3850 0029F4B0  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A3854 0029F4B4  38 A0 00 00 */	li r5, 0
/* 802A3858 0029F4B8  38 00 00 05 */	li r0, 5
/* 802A385C 0029F4BC  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3860 0029F4C0  93 C4 00 24 */	stw r30, 0x24(r4)
/* 802A3864 0029F4C4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3868 0029F4C8  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A386C 0029F4CC  90 03 00 00 */	stw r0, 0(r3)
/* 802A3870 0029F4D0  93 43 00 08 */	stw r26, 8(r3)
lbl_802A3874:
/* 802A3874 0029F4D4  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3878 0029F4D8  40 82 00 3C */	bne lbl_802A38B4
/* 802A387C 0029F4DC  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3880 0029F4E0  3B E0 00 00 */	li r31, 0
/* 802A3884 0029F4E4  2C 03 00 00 */	cmpwi r3, 0
/* 802A3888 0029F4E8  40 82 00 0C */	bne lbl_802A3894
/* 802A388C 0029F4EC  3B E0 FF FC */	li r31, -4
/* 802A3890 0029F4F0  48 00 00 0C */	b lbl_802A389C
lbl_802A3894:
/* 802A3894 0029F4F4  93 63 00 0C */	stw r27, 0xc(r3)
/* 802A3898 0029F4F8  93 83 00 10 */	stw r28, 0x10(r3)
lbl_802A389C:
/* 802A389C 0029F4FC  2C 1F 00 00 */	cmpwi r31, 0
/* 802A38A0 0029F500  40 82 00 14 */	bne lbl_802A38B4
/* 802A38A4 0029F504  80 61 00 08 */	lwz r3, 8(r1)
/* 802A38A8 0029F508  7F A4 EB 78 */	mr r4, r29
/* 802A38AC 0029F50C  4B FF F5 49 */	bl __ios_Ipc2
/* 802A38B0 0029F510  7C 7F 1B 78 */	mr r31, r3
lbl_802A38B4:
/* 802A38B4 0029F514  39 61 00 30 */	addi r11, r1, 0x30
/* 802A38B8 0029F518  7F E3 FB 78 */	mr r3, r31
/* 802A38BC 0029F51C  4B F2 38 B5 */	bl _restgpr_26
/* 802A38C0 0029F520  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A38C4 0029F524  7C 08 03 A6 */	mtlr r0
/* 802A38C8 0029F528  38 21 00 30 */	addi r1, r1, 0x30
/* 802A38CC 0029F52C  4E 80 00 20 */	blr

.global IOS_Seek
IOS_Seek:
/* 802A38D0 0029F530  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A38D4 0029F534  7C 08 02 A6 */	mflr r0
/* 802A38D8 0029F538  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A38DC 0029F53C  34 01 00 08 */	addic. r0, r1, 8
/* 802A38E0 0029F540  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802A38E4 0029F544  3B E0 00 00 */	li r31, 0
/* 802A38E8 0029F548  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802A38EC 0029F54C  7C BE 2B 78 */	mr r30, r5
/* 802A38F0 0029F550  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802A38F4 0029F554  7C 9D 23 78 */	mr r29, r4
/* 802A38F8 0029F558  93 81 00 10 */	stw r28, 0x10(r1)
/* 802A38FC 0029F55C  7C 7C 1B 78 */	mr r28, r3
/* 802A3900 0029F560  40 82 00 0C */	bne lbl_802A390C
/* 802A3904 0029F564  3B E0 FF FC */	li r31, -4
/* 802A3908 0029F568  48 00 00 4C */	b lbl_802A3954
lbl_802A390C:
/* 802A390C 0029F56C  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3910 0029F570  38 80 00 40 */	li r4, 0x40
/* 802A3914 0029F574  38 A0 00 20 */	li r5, 0x20
/* 802A3918 0029F578  48 00 0A 21 */	bl iosAllocAligned
/* 802A391C 0029F57C  2C 03 00 00 */	cmpwi r3, 0
/* 802A3920 0029F580  90 61 00 08 */	stw r3, 8(r1)
/* 802A3924 0029F584  40 82 00 0C */	bne lbl_802A3930
/* 802A3928 0029F588  3B E0 FF EA */	li r31, -22
/* 802A392C 0029F58C  48 00 00 28 */	b lbl_802A3954
lbl_802A3930:
/* 802A3930 0029F590  38 A0 00 00 */	li r5, 0
/* 802A3934 0029F594  38 00 00 05 */	li r0, 5
/* 802A3938 0029F598  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A393C 0029F59C  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3940 0029F5A0  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A3944 0029F5A4  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3948 0029F5A8  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A394C 0029F5AC  90 03 00 00 */	stw r0, 0(r3)
/* 802A3950 0029F5B0  93 83 00 08 */	stw r28, 8(r3)
lbl_802A3954:
/* 802A3954 0029F5B4  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3958 0029F5B8  40 82 00 3C */	bne lbl_802A3994
/* 802A395C 0029F5BC  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3960 0029F5C0  3B E0 00 00 */	li r31, 0
/* 802A3964 0029F5C4  2C 03 00 00 */	cmpwi r3, 0
/* 802A3968 0029F5C8  40 82 00 0C */	bne lbl_802A3974
/* 802A396C 0029F5CC  3B E0 FF FC */	li r31, -4
/* 802A3970 0029F5D0  48 00 00 0C */	b lbl_802A397C
lbl_802A3974:
/* 802A3974 0029F5D4  93 A3 00 0C */	stw r29, 0xc(r3)
/* 802A3978 0029F5D8  93 C3 00 10 */	stw r30, 0x10(r3)
lbl_802A397C:
/* 802A397C 0029F5DC  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3980 0029F5E0  40 82 00 14 */	bne lbl_802A3994
/* 802A3984 0029F5E4  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3988 0029F5E8  38 80 00 00 */	li r4, 0
/* 802A398C 0029F5EC  4B FF F4 69 */	bl __ios_Ipc2
/* 802A3990 0029F5F0  7C 7F 1B 78 */	mr r31, r3
lbl_802A3994:
/* 802A3994 0029F5F4  7F E3 FB 78 */	mr r3, r31
/* 802A3998 0029F5F8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802A399C 0029F5FC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802A39A0 0029F600  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802A39A4 0029F604  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802A39A8 0029F608  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A39AC 0029F60C  7C 08 03 A6 */	mtlr r0
/* 802A39B0 0029F610  38 21 00 20 */	addi r1, r1, 0x20
/* 802A39B4 0029F614  4E 80 00 20 */	blr

.global IOS_IoctlAsync
IOS_IoctlAsync:
/* 802A39B8 0029F618  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802A39BC 0029F61C  7C 08 02 A6 */	mflr r0
/* 802A39C0 0029F620  90 01 00 44 */	stw r0, 0x44(r1)
/* 802A39C4 0029F624  39 61 00 40 */	addi r11, r1, 0x40
/* 802A39C8 0029F628  4B F2 37 51 */	bl _savegpr_23
/* 802A39CC 0029F62C  34 01 00 08 */	addic. r0, r1, 8
/* 802A39D0 0029F630  7C 77 1B 78 */	mr r23, r3
/* 802A39D4 0029F634  7C 98 23 78 */	mr r24, r4
/* 802A39D8 0029F638  7C B9 2B 78 */	mr r25, r5
/* 802A39DC 0029F63C  7C DA 33 78 */	mr r26, r6
/* 802A39E0 0029F640  7C FB 3B 78 */	mr r27, r7
/* 802A39E4 0029F644  7D 1C 43 78 */	mr r28, r8
/* 802A39E8 0029F648  7D 3D 4B 78 */	mr r29, r9
/* 802A39EC 0029F64C  7D 5E 53 78 */	mr r30, r10
/* 802A39F0 0029F650  3B E0 00 00 */	li r31, 0
/* 802A39F4 0029F654  40 82 00 0C */	bne lbl_802A3A00
/* 802A39F8 0029F658  3B E0 FF FC */	li r31, -4
/* 802A39FC 0029F65C  48 00 00 4C */	b lbl_802A3A48
lbl_802A3A00:
/* 802A3A00 0029F660  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3A04 0029F664  38 80 00 40 */	li r4, 0x40
/* 802A3A08 0029F668  38 A0 00 20 */	li r5, 0x20
/* 802A3A0C 0029F66C  48 00 09 2D */	bl iosAllocAligned
/* 802A3A10 0029F670  2C 03 00 00 */	cmpwi r3, 0
/* 802A3A14 0029F674  90 61 00 08 */	stw r3, 8(r1)
/* 802A3A18 0029F678  40 82 00 0C */	bne lbl_802A3A24
/* 802A3A1C 0029F67C  3B E0 FF EA */	li r31, -22
/* 802A3A20 0029F680  48 00 00 28 */	b lbl_802A3A48
lbl_802A3A24:
/* 802A3A24 0029F684  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A3A28 0029F688  38 A0 00 00 */	li r5, 0
/* 802A3A2C 0029F68C  38 00 00 06 */	li r0, 6
/* 802A3A30 0029F690  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3A34 0029F694  93 C4 00 24 */	stw r30, 0x24(r4)
/* 802A3A38 0029F698  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3A3C 0029F69C  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3A40 0029F6A0  90 03 00 00 */	stw r0, 0(r3)
/* 802A3A44 0029F6A4  92 E3 00 08 */	stw r23, 8(r3)
lbl_802A3A48:
/* 802A3A48 0029F6A8  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3A4C 0029F6AC  40 82 00 88 */	bne lbl_802A3AD4
/* 802A3A50 0029F6B0  80 A1 00 08 */	lwz r5, 8(r1)
/* 802A3A54 0029F6B4  3B E0 00 00 */	li r31, 0
/* 802A3A58 0029F6B8  2C 05 00 00 */	cmpwi r5, 0
/* 802A3A5C 0029F6BC  40 82 00 0C */	bne lbl_802A3A68
/* 802A3A60 0029F6C0  3B E0 FF FC */	li r31, -4
/* 802A3A64 0029F6C4  48 00 00 58 */	b lbl_802A3ABC
lbl_802A3A68:
/* 802A3A68 0029F6C8  2C 1B 00 00 */	cmpwi r27, 0
/* 802A3A6C 0029F6CC  93 05 00 0C */	stw r24, 0xc(r5)
/* 802A3A70 0029F6D0  41 82 00 0C */	beq lbl_802A3A7C
/* 802A3A74 0029F6D4  3C 1B 80 00 */	addis r0, r27, 0x8000
/* 802A3A78 0029F6D8  48 00 00 08 */	b lbl_802A3A80
lbl_802A3A7C:
/* 802A3A7C 0029F6DC  38 00 00 00 */	li r0, 0
lbl_802A3A80:
/* 802A3A80 0029F6E0  90 05 00 18 */	stw r0, 0x18(r5)
/* 802A3A84 0029F6E4  2C 19 00 00 */	cmpwi r25, 0
/* 802A3A88 0029F6E8  93 85 00 1C */	stw r28, 0x1c(r5)
/* 802A3A8C 0029F6EC  41 82 00 0C */	beq lbl_802A3A98
/* 802A3A90 0029F6F0  3C 19 80 00 */	addis r0, r25, 0x8000
/* 802A3A94 0029F6F4  48 00 00 08 */	b lbl_802A3A9C
lbl_802A3A98:
/* 802A3A98 0029F6F8  38 00 00 00 */	li r0, 0
lbl_802A3A9C:
/* 802A3A9C 0029F6FC  90 05 00 10 */	stw r0, 0x10(r5)
/* 802A3AA0 0029F700  7F 23 CB 78 */	mr r3, r25
/* 802A3AA4 0029F704  7F 44 D3 78 */	mr r4, r26
/* 802A3AA8 0029F708  93 45 00 14 */	stw r26, 0x14(r5)
/* 802A3AAC 0029F70C  4B FC 6B A9 */	bl DCFlushRange
/* 802A3AB0 0029F710  7F 63 DB 78 */	mr r3, r27
/* 802A3AB4 0029F714  7F 84 E3 78 */	mr r4, r28
/* 802A3AB8 0029F718  4B FC 6B 9D */	bl DCFlushRange
lbl_802A3ABC:
/* 802A3ABC 0029F71C  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3AC0 0029F720  40 82 00 14 */	bne lbl_802A3AD4
/* 802A3AC4 0029F724  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3AC8 0029F728  7F A4 EB 78 */	mr r4, r29
/* 802A3ACC 0029F72C  4B FF F3 29 */	bl __ios_Ipc2
/* 802A3AD0 0029F730  7C 7F 1B 78 */	mr r31, r3
lbl_802A3AD4:
/* 802A3AD4 0029F734  39 61 00 40 */	addi r11, r1, 0x40
/* 802A3AD8 0029F738  7F E3 FB 78 */	mr r3, r31
/* 802A3ADC 0029F73C  4B F2 36 89 */	bl _restgpr_23
/* 802A3AE0 0029F740  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802A3AE4 0029F744  7C 08 03 A6 */	mtlr r0
/* 802A3AE8 0029F748  38 21 00 40 */	addi r1, r1, 0x40
/* 802A3AEC 0029F74C  4E 80 00 20 */	blr

.global IOS_Ioctl
IOS_Ioctl:
/* 802A3AF0 0029F750  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A3AF4 0029F754  7C 08 02 A6 */	mflr r0
/* 802A3AF8 0029F758  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A3AFC 0029F75C  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3B00 0029F760  4B F2 36 21 */	bl _savegpr_25
/* 802A3B04 0029F764  34 01 00 08 */	addic. r0, r1, 8
/* 802A3B08 0029F768  7C 79 1B 78 */	mr r25, r3
/* 802A3B0C 0029F76C  7C 9A 23 78 */	mr r26, r4
/* 802A3B10 0029F770  7C BB 2B 78 */	mr r27, r5
/* 802A3B14 0029F774  7C DC 33 78 */	mr r28, r6
/* 802A3B18 0029F778  7C FD 3B 78 */	mr r29, r7
/* 802A3B1C 0029F77C  7D 1E 43 78 */	mr r30, r8
/* 802A3B20 0029F780  3B E0 00 00 */	li r31, 0
/* 802A3B24 0029F784  40 82 00 0C */	bne lbl_802A3B30
/* 802A3B28 0029F788  3B E0 FF FC */	li r31, -4
/* 802A3B2C 0029F78C  48 00 00 4C */	b lbl_802A3B78
lbl_802A3B30:
/* 802A3B30 0029F790  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3B34 0029F794  38 80 00 40 */	li r4, 0x40
/* 802A3B38 0029F798  38 A0 00 20 */	li r5, 0x20
/* 802A3B3C 0029F79C  48 00 07 FD */	bl iosAllocAligned
/* 802A3B40 0029F7A0  2C 03 00 00 */	cmpwi r3, 0
/* 802A3B44 0029F7A4  90 61 00 08 */	stw r3, 8(r1)
/* 802A3B48 0029F7A8  40 82 00 0C */	bne lbl_802A3B54
/* 802A3B4C 0029F7AC  3B E0 FF EA */	li r31, -22
/* 802A3B50 0029F7B0  48 00 00 28 */	b lbl_802A3B78
lbl_802A3B54:
/* 802A3B54 0029F7B4  38 A0 00 00 */	li r5, 0
/* 802A3B58 0029F7B8  38 00 00 06 */	li r0, 6
/* 802A3B5C 0029F7BC  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A3B60 0029F7C0  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3B64 0029F7C4  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A3B68 0029F7C8  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3B6C 0029F7CC  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3B70 0029F7D0  90 03 00 00 */	stw r0, 0(r3)
/* 802A3B74 0029F7D4  93 23 00 08 */	stw r25, 8(r3)
lbl_802A3B78:
/* 802A3B78 0029F7D8  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3B7C 0029F7DC  40 82 00 88 */	bne lbl_802A3C04
/* 802A3B80 0029F7E0  80 A1 00 08 */	lwz r5, 8(r1)
/* 802A3B84 0029F7E4  3B E0 00 00 */	li r31, 0
/* 802A3B88 0029F7E8  2C 05 00 00 */	cmpwi r5, 0
/* 802A3B8C 0029F7EC  40 82 00 0C */	bne lbl_802A3B98
/* 802A3B90 0029F7F0  3B E0 FF FC */	li r31, -4
/* 802A3B94 0029F7F4  48 00 00 58 */	b lbl_802A3BEC
lbl_802A3B98:
/* 802A3B98 0029F7F8  2C 1D 00 00 */	cmpwi r29, 0
/* 802A3B9C 0029F7FC  93 45 00 0C */	stw r26, 0xc(r5)
/* 802A3BA0 0029F800  41 82 00 0C */	beq lbl_802A3BAC
/* 802A3BA4 0029F804  3C 1D 80 00 */	addis r0, r29, 0x8000
/* 802A3BA8 0029F808  48 00 00 08 */	b lbl_802A3BB0
lbl_802A3BAC:
/* 802A3BAC 0029F80C  38 00 00 00 */	li r0, 0
lbl_802A3BB0:
/* 802A3BB0 0029F810  90 05 00 18 */	stw r0, 0x18(r5)
/* 802A3BB4 0029F814  2C 1B 00 00 */	cmpwi r27, 0
/* 802A3BB8 0029F818  93 C5 00 1C */	stw r30, 0x1c(r5)
/* 802A3BBC 0029F81C  41 82 00 0C */	beq lbl_802A3BC8
/* 802A3BC0 0029F820  3C 1B 80 00 */	addis r0, r27, 0x8000
/* 802A3BC4 0029F824  48 00 00 08 */	b lbl_802A3BCC
lbl_802A3BC8:
/* 802A3BC8 0029F828  38 00 00 00 */	li r0, 0
lbl_802A3BCC:
/* 802A3BCC 0029F82C  90 05 00 10 */	stw r0, 0x10(r5)
/* 802A3BD0 0029F830  7F 63 DB 78 */	mr r3, r27
/* 802A3BD4 0029F834  7F 84 E3 78 */	mr r4, r28
/* 802A3BD8 0029F838  93 85 00 14 */	stw r28, 0x14(r5)
/* 802A3BDC 0029F83C  4B FC 6A 79 */	bl DCFlushRange
/* 802A3BE0 0029F840  7F A3 EB 78 */	mr r3, r29
/* 802A3BE4 0029F844  7F C4 F3 78 */	mr r4, r30
/* 802A3BE8 0029F848  4B FC 6A 6D */	bl DCFlushRange
lbl_802A3BEC:
/* 802A3BEC 0029F84C  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3BF0 0029F850  40 82 00 14 */	bne lbl_802A3C04
/* 802A3BF4 0029F854  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3BF8 0029F858  38 80 00 00 */	li r4, 0
/* 802A3BFC 0029F85C  4B FF F1 F9 */	bl __ios_Ipc2
/* 802A3C00 0029F860  7C 7F 1B 78 */	mr r31, r3
lbl_802A3C04:
/* 802A3C04 0029F864  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3C08 0029F868  7F E3 FB 78 */	mr r3, r31
/* 802A3C0C 0029F86C  4B F2 35 61 */	bl _restgpr_25
/* 802A3C10 0029F870  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A3C14 0029F874  7C 08 03 A6 */	mtlr r0
/* 802A3C18 0029F878  38 21 00 30 */	addi r1, r1, 0x30
/* 802A3C1C 0029F87C  4E 80 00 20 */	blr

.global __ios_Ioctlv
__ios_Ioctlv:
/* 802A3C20 0029F880  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802A3C24 0029F884  7C 08 02 A6 */	mflr r0
/* 802A3C28 0029F888  90 01 00 24 */	stw r0, 0x24(r1)
/* 802A3C2C 0029F88C  39 61 00 20 */	addi r11, r1, 0x20
/* 802A3C30 0029F890  4B F2 34 F5 */	bl _savegpr_26
/* 802A3C34 0029F894  2C 03 00 00 */	cmpwi r3, 0
/* 802A3C38 0029F898  7C 7D 1B 78 */	mr r29, r3
/* 802A3C3C 0029F89C  7C FE 3B 78 */	mr r30, r7
/* 802A3C40 0029F8A0  3B E0 00 00 */	li r31, 0
/* 802A3C44 0029F8A4  40 82 00 0C */	bne lbl_802A3C50
/* 802A3C48 0029F8A8  3B E0 FF FC */	li r31, -4
/* 802A3C4C 0029F8AC  48 00 00 F4 */	b lbl_802A3D40
lbl_802A3C50:
/* 802A3C50 0029F8B0  90 83 00 0C */	stw r4, 0xc(r3)
/* 802A3C54 0029F8B4  54 BB 18 38 */	slwi r27, r5, 3
/* 802A3C58 0029F8B8  3B 40 00 00 */	li r26, 0
/* 802A3C5C 0029F8BC  3B 80 00 00 */	li r28, 0
/* 802A3C60 0029F8C0  90 A3 00 10 */	stw r5, 0x10(r3)
/* 802A3C64 0029F8C4  90 C3 00 14 */	stw r6, 0x14(r3)
/* 802A3C68 0029F8C8  90 E3 00 18 */	stw r7, 0x18(r3)
/* 802A3C6C 0029F8CC  48 00 00 48 */	b lbl_802A3CB4
lbl_802A3C70:
/* 802A3C70 0029F8D0  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 802A3C74 0029F8D4  7C 1C DA 14 */	add r0, r28, r27
/* 802A3C78 0029F8D8  7C 83 02 14 */	add r4, r3, r0
/* 802A3C7C 0029F8DC  7C 63 00 2E */	lwzx r3, r3, r0
/* 802A3C80 0029F8E0  80 84 00 04 */	lwz r4, 4(r4)
/* 802A3C84 0029F8E4  4B FC 69 D1 */	bl DCFlushRange
/* 802A3C88 0029F8E8  80 9D 00 18 */	lwz r4, 0x18(r29)
/* 802A3C8C 0029F8EC  7C 7C DA 14 */	add r3, r28, r27
/* 802A3C90 0029F8F0  7C A4 18 2E */	lwzx r5, r4, r3
/* 802A3C94 0029F8F4  2C 05 00 00 */	cmpwi r5, 0
/* 802A3C98 0029F8F8  41 82 00 0C */	beq lbl_802A3CA4
/* 802A3C9C 0029F8FC  3C 05 80 00 */	addis r0, r5, 0x8000
/* 802A3CA0 0029F900  48 00 00 08 */	b lbl_802A3CA8
lbl_802A3CA4:
/* 802A3CA4 0029F904  38 00 00 00 */	li r0, 0
lbl_802A3CA8:
/* 802A3CA8 0029F908  7C 04 19 2E */	stwx r0, r4, r3
/* 802A3CAC 0029F90C  3B 9C 00 08 */	addi r28, r28, 8
/* 802A3CB0 0029F910  3B 5A 00 01 */	addi r26, r26, 1
lbl_802A3CB4:
/* 802A3CB4 0029F914  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 802A3CB8 0029F918  7C 1A 00 40 */	cmplw r26, r0
/* 802A3CBC 0029F91C  41 80 FF B4 */	blt lbl_802A3C70
/* 802A3CC0 0029F920  3B 60 00 00 */	li r27, 0
/* 802A3CC4 0029F924  3B 80 00 00 */	li r28, 0
/* 802A3CC8 0029F928  48 00 00 40 */	b lbl_802A3D08
lbl_802A3CCC:
/* 802A3CCC 0029F92C  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 802A3CD0 0029F930  7C 80 E2 14 */	add r4, r0, r28
/* 802A3CD4 0029F934  7C 7C 00 2E */	lwzx r3, r28, r0
/* 802A3CD8 0029F938  80 84 00 04 */	lwz r4, 4(r4)
/* 802A3CDC 0029F93C  4B FC 69 79 */	bl DCFlushRange
/* 802A3CE0 0029F940  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 802A3CE4 0029F944  7C 83 E0 2E */	lwzx r4, r3, r28
/* 802A3CE8 0029F948  2C 04 00 00 */	cmpwi r4, 0
/* 802A3CEC 0029F94C  41 82 00 0C */	beq lbl_802A3CF8
/* 802A3CF0 0029F950  3C 04 80 00 */	addis r0, r4, 0x8000
/* 802A3CF4 0029F954  48 00 00 08 */	b lbl_802A3CFC
lbl_802A3CF8:
/* 802A3CF8 0029F958  38 00 00 00 */	li r0, 0
lbl_802A3CFC:
/* 802A3CFC 0029F95C  7C 03 E1 2E */	stwx r0, r3, r28
/* 802A3D00 0029F960  3B 9C 00 08 */	addi r28, r28, 8
/* 802A3D04 0029F964  3B 7B 00 01 */	addi r27, r27, 1
lbl_802A3D08:
/* 802A3D08 0029F968  80 9D 00 10 */	lwz r4, 0x10(r29)
/* 802A3D0C 0029F96C  7C 1B 20 40 */	cmplw r27, r4
/* 802A3D10 0029F970  41 80 FF BC */	blt lbl_802A3CCC
/* 802A3D14 0029F974  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 802A3D18 0029F978  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 802A3D1C 0029F97C  7C 04 02 14 */	add r0, r4, r0
/* 802A3D20 0029F980  54 04 18 38 */	slwi r4, r0, 3
/* 802A3D24 0029F984  4B FC 69 31 */	bl DCFlushRange
/* 802A3D28 0029F988  2C 1E 00 00 */	cmpwi r30, 0
/* 802A3D2C 0029F98C  41 82 00 0C */	beq lbl_802A3D38
/* 802A3D30 0029F990  3C 1E 80 00 */	addis r0, r30, 0x8000
/* 802A3D34 0029F994  48 00 00 08 */	b lbl_802A3D3C
lbl_802A3D38:
/* 802A3D38 0029F998  38 00 00 00 */	li r0, 0
lbl_802A3D3C:
/* 802A3D3C 0029F99C  90 1D 00 18 */	stw r0, 0x18(r29)
lbl_802A3D40:
/* 802A3D40 0029F9A0  39 61 00 20 */	addi r11, r1, 0x20
/* 802A3D44 0029F9A4  7F E3 FB 78 */	mr r3, r31
/* 802A3D48 0029F9A8  4B F2 34 29 */	bl _restgpr_26
/* 802A3D4C 0029F9AC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802A3D50 0029F9B0  7C 08 03 A6 */	mtlr r0
/* 802A3D54 0029F9B4  38 21 00 20 */	addi r1, r1, 0x20
/* 802A3D58 0029F9B8  4E 80 00 20 */	blr

.global IOS_IoctlvAsync
IOS_IoctlvAsync:
/* 802A3D5C 0029F9BC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A3D60 0029F9C0  7C 08 02 A6 */	mflr r0
/* 802A3D64 0029F9C4  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A3D68 0029F9C8  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3D6C 0029F9CC  4B F2 33 B1 */	bl _savegpr_24
/* 802A3D70 0029F9D0  34 01 00 08 */	addic. r0, r1, 8
/* 802A3D74 0029F9D4  7C 78 1B 78 */	mr r24, r3
/* 802A3D78 0029F9D8  7C 99 23 78 */	mr r25, r4
/* 802A3D7C 0029F9DC  7C BA 2B 78 */	mr r26, r5
/* 802A3D80 0029F9E0  7C DB 33 78 */	mr r27, r6
/* 802A3D84 0029F9E4  7C FC 3B 78 */	mr r28, r7
/* 802A3D88 0029F9E8  7D 1D 43 78 */	mr r29, r8
/* 802A3D8C 0029F9EC  7D 3E 4B 78 */	mr r30, r9
/* 802A3D90 0029F9F0  3B E0 00 00 */	li r31, 0
/* 802A3D94 0029F9F4  40 82 00 0C */	bne lbl_802A3DA0
/* 802A3D98 0029F9F8  3B E0 FF FC */	li r31, -4
/* 802A3D9C 0029F9FC  48 00 00 4C */	b lbl_802A3DE8
lbl_802A3DA0:
/* 802A3DA0 0029FA00  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3DA4 0029FA04  38 80 00 40 */	li r4, 0x40
/* 802A3DA8 0029FA08  38 A0 00 20 */	li r5, 0x20
/* 802A3DAC 0029FA0C  48 00 05 8D */	bl iosAllocAligned
/* 802A3DB0 0029FA10  2C 03 00 00 */	cmpwi r3, 0
/* 802A3DB4 0029FA14  90 61 00 08 */	stw r3, 8(r1)
/* 802A3DB8 0029FA18  40 82 00 0C */	bne lbl_802A3DC4
/* 802A3DBC 0029FA1C  3B E0 FF EA */	li r31, -22
/* 802A3DC0 0029FA20  48 00 00 28 */	b lbl_802A3DE8
lbl_802A3DC4:
/* 802A3DC4 0029FA24  93 A3 00 20 */	stw r29, 0x20(r3)
/* 802A3DC8 0029FA28  38 A0 00 00 */	li r5, 0
/* 802A3DCC 0029FA2C  38 00 00 07 */	li r0, 7
/* 802A3DD0 0029FA30  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3DD4 0029FA34  93 C4 00 24 */	stw r30, 0x24(r4)
/* 802A3DD8 0029FA38  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3DDC 0029FA3C  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3DE0 0029FA40  90 03 00 00 */	stw r0, 0(r3)
/* 802A3DE4 0029FA44  93 03 00 08 */	stw r24, 8(r3)
lbl_802A3DE8:
/* 802A3DE8 0029FA48  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3DEC 0029FA4C  40 82 00 38 */	bne lbl_802A3E24
/* 802A3DF0 0029FA50  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3DF4 0029FA54  7F 24 CB 78 */	mr r4, r25
/* 802A3DF8 0029FA58  7F 45 D3 78 */	mr r5, r26
/* 802A3DFC 0029FA5C  7F 66 DB 78 */	mr r6, r27
/* 802A3E00 0029FA60  7F 87 E3 78 */	mr r7, r28
/* 802A3E04 0029FA64  4B FF FE 1D */	bl __ios_Ioctlv
/* 802A3E08 0029FA68  2C 03 00 00 */	cmpwi r3, 0
/* 802A3E0C 0029FA6C  7C 7F 1B 78 */	mr r31, r3
/* 802A3E10 0029FA70  40 82 00 14 */	bne lbl_802A3E24
/* 802A3E14 0029FA74  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3E18 0029FA78  7F A4 EB 78 */	mr r4, r29
/* 802A3E1C 0029FA7C  4B FF EF D9 */	bl __ios_Ipc2
/* 802A3E20 0029FA80  7C 7F 1B 78 */	mr r31, r3
lbl_802A3E24:
/* 802A3E24 0029FA84  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3E28 0029FA88  7F E3 FB 78 */	mr r3, r31
/* 802A3E2C 0029FA8C  4B F2 33 3D */	bl _restgpr_24
/* 802A3E30 0029FA90  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A3E34 0029FA94  7C 08 03 A6 */	mtlr r0
/* 802A3E38 0029FA98  38 21 00 30 */	addi r1, r1, 0x30
/* 802A3E3C 0029FA9C  4E 80 00 20 */	blr

.global IOS_Ioctlv
IOS_Ioctlv:
/* 802A3E40 0029FAA0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A3E44 0029FAA4  7C 08 02 A6 */	mflr r0
/* 802A3E48 0029FAA8  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A3E4C 0029FAAC  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3E50 0029FAB0  4B F2 32 D5 */	bl _savegpr_26
/* 802A3E54 0029FAB4  34 01 00 08 */	addic. r0, r1, 8
/* 802A3E58 0029FAB8  7C 7A 1B 78 */	mr r26, r3
/* 802A3E5C 0029FABC  7C 9B 23 78 */	mr r27, r4
/* 802A3E60 0029FAC0  7C BC 2B 78 */	mr r28, r5
/* 802A3E64 0029FAC4  7C DD 33 78 */	mr r29, r6
/* 802A3E68 0029FAC8  7C FE 3B 78 */	mr r30, r7
/* 802A3E6C 0029FACC  3B E0 00 00 */	li r31, 0
/* 802A3E70 0029FAD0  40 82 00 0C */	bne lbl_802A3E7C
/* 802A3E74 0029FAD4  3B E0 FF FC */	li r31, -4
/* 802A3E78 0029FAD8  48 00 00 4C */	b lbl_802A3EC4
lbl_802A3E7C:
/* 802A3E7C 0029FADC  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3E80 0029FAE0  38 80 00 40 */	li r4, 0x40
/* 802A3E84 0029FAE4  38 A0 00 20 */	li r5, 0x20
/* 802A3E88 0029FAE8  48 00 04 B1 */	bl iosAllocAligned
/* 802A3E8C 0029FAEC  2C 03 00 00 */	cmpwi r3, 0
/* 802A3E90 0029FAF0  90 61 00 08 */	stw r3, 8(r1)
/* 802A3E94 0029FAF4  40 82 00 0C */	bne lbl_802A3EA0
/* 802A3E98 0029FAF8  3B E0 FF EA */	li r31, -22
/* 802A3E9C 0029FAFC  48 00 00 28 */	b lbl_802A3EC4
lbl_802A3EA0:
/* 802A3EA0 0029FB00  38 A0 00 00 */	li r5, 0
/* 802A3EA4 0029FB04  38 00 00 07 */	li r0, 7
/* 802A3EA8 0029FB08  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A3EAC 0029FB0C  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3EB0 0029FB10  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A3EB4 0029FB14  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3EB8 0029FB18  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3EBC 0029FB1C  90 03 00 00 */	stw r0, 0(r3)
/* 802A3EC0 0029FB20  93 43 00 08 */	stw r26, 8(r3)
lbl_802A3EC4:
/* 802A3EC4 0029FB24  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3EC8 0029FB28  40 82 00 38 */	bne lbl_802A3F00
/* 802A3ECC 0029FB2C  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3ED0 0029FB30  7F 64 DB 78 */	mr r4, r27
/* 802A3ED4 0029FB34  7F 85 E3 78 */	mr r5, r28
/* 802A3ED8 0029FB38  7F A6 EB 78 */	mr r6, r29
/* 802A3EDC 0029FB3C  7F C7 F3 78 */	mr r7, r30
/* 802A3EE0 0029FB40  4B FF FD 41 */	bl __ios_Ioctlv
/* 802A3EE4 0029FB44  2C 03 00 00 */	cmpwi r3, 0
/* 802A3EE8 0029FB48  7C 7F 1B 78 */	mr r31, r3
/* 802A3EEC 0029FB4C  40 82 00 14 */	bne lbl_802A3F00
/* 802A3EF0 0029FB50  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3EF4 0029FB54  38 80 00 00 */	li r4, 0
/* 802A3EF8 0029FB58  4B FF EE FD */	bl __ios_Ipc2
/* 802A3EFC 0029FB5C  7C 7F 1B 78 */	mr r31, r3
lbl_802A3F00:
/* 802A3F00 0029FB60  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3F04 0029FB64  7F E3 FB 78 */	mr r3, r31
/* 802A3F08 0029FB68  4B F2 32 69 */	bl _restgpr_26
/* 802A3F0C 0029FB6C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A3F10 0029FB70  7C 08 03 A6 */	mtlr r0
/* 802A3F14 0029FB74  38 21 00 30 */	addi r1, r1, 0x30
/* 802A3F18 0029FB78  4E 80 00 20 */	blr

.global IOS_IoctlvReboot
IOS_IoctlvReboot:
/* 802A3F1C 0029FB7C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802A3F20 0029FB80  7C 08 02 A6 */	mflr r0
/* 802A3F24 0029FB84  90 01 00 34 */	stw r0, 0x34(r1)
/* 802A3F28 0029FB88  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3F2C 0029FB8C  4B F2 31 F9 */	bl _savegpr_26
/* 802A3F30 0029FB90  34 01 00 08 */	addic. r0, r1, 8
/* 802A3F34 0029FB94  7C 7A 1B 78 */	mr r26, r3
/* 802A3F38 0029FB98  7C 9B 23 78 */	mr r27, r4
/* 802A3F3C 0029FB9C  7C BC 2B 78 */	mr r28, r5
/* 802A3F40 0029FBA0  7C DD 33 78 */	mr r29, r6
/* 802A3F44 0029FBA4  7C FE 3B 78 */	mr r30, r7
/* 802A3F48 0029FBA8  3B E0 00 00 */	li r31, 0
/* 802A3F4C 0029FBAC  40 82 00 0C */	bne lbl_802A3F58
/* 802A3F50 0029FBB0  3B E0 FF FC */	li r31, -4
/* 802A3F54 0029FBB4  48 00 00 4C */	b lbl_802A3FA0
lbl_802A3F58:
/* 802A3F58 0029FBB8  80 6D 89 8C */	lwz r3, lbl_8063DC4C-_SDA_BASE_(r13)
/* 802A3F5C 0029FBBC  38 80 00 40 */	li r4, 0x40
/* 802A3F60 0029FBC0  38 A0 00 20 */	li r5, 0x20
/* 802A3F64 0029FBC4  48 00 03 D5 */	bl iosAllocAligned
/* 802A3F68 0029FBC8  2C 03 00 00 */	cmpwi r3, 0
/* 802A3F6C 0029FBCC  90 61 00 08 */	stw r3, 8(r1)
/* 802A3F70 0029FBD0  40 82 00 0C */	bne lbl_802A3F7C
/* 802A3F74 0029FBD4  3B E0 FF EA */	li r31, -22
/* 802A3F78 0029FBD8  48 00 00 28 */	b lbl_802A3FA0
lbl_802A3F7C:
/* 802A3F7C 0029FBDC  38 A0 00 00 */	li r5, 0
/* 802A3F80 0029FBE0  38 00 00 07 */	li r0, 7
/* 802A3F84 0029FBE4  90 A3 00 20 */	stw r5, 0x20(r3)
/* 802A3F88 0029FBE8  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3F8C 0029FBEC  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802A3F90 0029FBF0  80 81 00 08 */	lwz r4, 8(r1)
/* 802A3F94 0029FBF4  90 A4 00 28 */	stw r5, 0x28(r4)
/* 802A3F98 0029FBF8  90 03 00 00 */	stw r0, 0(r3)
/* 802A3F9C 0029FBFC  93 43 00 08 */	stw r26, 8(r3)
lbl_802A3FA0:
/* 802A3FA0 0029FC00  2C 1F 00 00 */	cmpwi r31, 0
/* 802A3FA4 0029FC04  40 82 00 44 */	bne lbl_802A3FE8
/* 802A3FA8 0029FC08  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3FAC 0029FC0C  38 00 00 01 */	li r0, 1
/* 802A3FB0 0029FC10  7F 64 DB 78 */	mr r4, r27
/* 802A3FB4 0029FC14  7F 85 E3 78 */	mr r5, r28
/* 802A3FB8 0029FC18  90 03 00 28 */	stw r0, 0x28(r3)
/* 802A3FBC 0029FC1C  7F A6 EB 78 */	mr r6, r29
/* 802A3FC0 0029FC20  7F C7 F3 78 */	mr r7, r30
/* 802A3FC4 0029FC24  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3FC8 0029FC28  4B FF FC 59 */	bl __ios_Ioctlv
/* 802A3FCC 0029FC2C  2C 03 00 00 */	cmpwi r3, 0
/* 802A3FD0 0029FC30  7C 7F 1B 78 */	mr r31, r3
/* 802A3FD4 0029FC34  40 82 00 14 */	bne lbl_802A3FE8
/* 802A3FD8 0029FC38  80 61 00 08 */	lwz r3, 8(r1)
/* 802A3FDC 0029FC3C  38 80 00 00 */	li r4, 0
/* 802A3FE0 0029FC40  4B FF EE 15 */	bl __ios_Ipc2
/* 802A3FE4 0029FC44  7C 7F 1B 78 */	mr r31, r3
lbl_802A3FE8:
/* 802A3FE8 0029FC48  39 61 00 30 */	addi r11, r1, 0x30
/* 802A3FEC 0029FC4C  7F E3 FB 78 */	mr r3, r31
/* 802A3FF0 0029FC50  4B F2 31 81 */	bl _restgpr_26
/* 802A3FF4 0029FC54  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802A3FF8 0029FC58  7C 08 03 A6 */	mtlr r0
/* 802A3FFC 0029FC5C  38 21 00 30 */	addi r1, r1, 0x30
/* 802A4000 0029FC60  4E 80 00 20 */	blr