summaryrefslogtreecommitdiff
path: root/asm/SDK/EXI/EXIBios.s
blob: 0c674d05c2f1f484d61f7ff1c452db4b708f7c4c (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
.include "macros.inc"

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

.global SetExiInterruptMask
SetExiInterruptMask:
/* 80274558 002701B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027455C 002701BC  7C 08 02 A6 */	mflr r0
/* 80274560 002701C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80274564 002701C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80274568 002701C8  7C 9F 23 78 */	mr r31, r4
/* 8027456C 002701CC  3C A0 80 51 */	lis r5, lbl_805154C0@ha
/* 80274570 002701D0  38 A5 54 C0 */	addi r5, r5, lbl_805154C0@l
/* 80274574 002701D4  2C 03 00 01 */	cmpwi r3, 1
/* 80274578 002701D8  41 82 00 5C */	beq lbl_802745D4
/* 8027457C 002701DC  40 80 00 10 */	bge lbl_8027458C
/* 80274580 002701E0  2C 03 00 00 */	cmpwi r3, 0
/* 80274584 002701E4  40 80 00 14 */	bge lbl_80274598
/* 80274588 002701E8  48 00 00 AC */	b lbl_80274634
lbl_8027458C:
/* 8027458C 002701EC  2C 03 00 03 */	cmpwi r3, 3
/* 80274590 002701F0  40 80 00 A4 */	bge lbl_80274634
/* 80274594 002701F4  48 00 00 70 */	b lbl_80274604
lbl_80274598:
/* 80274598 002701F8  80 04 00 00 */	lwz r0, 0(r4)
/* 8027459C 002701FC  2C 00 00 00 */	cmpwi r0, 0
/* 802745A0 00270200  40 82 00 10 */	bne lbl_802745B0
/* 802745A4 00270204  80 05 00 80 */	lwz r0, 0x80(r5)
/* 802745A8 00270208  2C 00 00 00 */	cmpwi r0, 0
/* 802745AC 0027020C  41 82 00 10 */	beq lbl_802745BC
lbl_802745B0:
/* 802745B0 00270210  80 04 00 0C */	lwz r0, 0xc(r4)
/* 802745B4 00270214  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802745B8 00270218  41 82 00 10 */	beq lbl_802745C8
lbl_802745BC:
/* 802745BC 0027021C  3C 60 00 41 */	lis r3, 0x41
/* 802745C0 00270220  4B FF A5 2D */	bl __OSMaskInterrupts
/* 802745C4 00270224  48 00 00 70 */	b lbl_80274634
lbl_802745C8:
/* 802745C8 00270228  3C 60 00 41 */	lis r3, 0x41
/* 802745CC 0027022C  4B FF A5 A1 */	bl __OSUnmaskInterrupts
/* 802745D0 00270230  48 00 00 64 */	b lbl_80274634
lbl_802745D4:
/* 802745D4 00270234  80 04 00 00 */	lwz r0, 0(r4)
/* 802745D8 00270238  2C 00 00 00 */	cmpwi r0, 0
/* 802745DC 0027023C  41 82 00 10 */	beq lbl_802745EC
/* 802745E0 00270240  80 04 00 0C */	lwz r0, 0xc(r4)
/* 802745E4 00270244  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802745E8 00270248  41 82 00 10 */	beq lbl_802745F8
lbl_802745EC:
/* 802745EC 0027024C  3C 60 00 08 */	lis r3, 8
/* 802745F0 00270250  4B FF A4 FD */	bl __OSMaskInterrupts
/* 802745F4 00270254  48 00 00 40 */	b lbl_80274634
lbl_802745F8:
/* 802745F8 00270258  3C 60 00 08 */	lis r3, 8
/* 802745FC 0027025C  4B FF A5 71 */	bl __OSUnmaskInterrupts
/* 80274600 00270260  48 00 00 34 */	b lbl_80274634
lbl_80274604:
/* 80274604 00270264  38 60 00 19 */	li r3, 0x19
/* 80274608 00270268  4B FF A1 B5 */	bl __OSGetInterruptHandler
/* 8027460C 0027026C  2C 03 00 00 */	cmpwi r3, 0
/* 80274610 00270270  41 82 00 10 */	beq lbl_80274620
/* 80274614 00270274  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274618 00270278  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 8027461C 0027027C  41 82 00 10 */	beq lbl_8027462C
lbl_80274620:
/* 80274620 00270280  38 60 00 40 */	li r3, 0x40
/* 80274624 00270284  4B FF A4 C9 */	bl __OSMaskInterrupts
/* 80274628 00270288  48 00 00 0C */	b lbl_80274634
lbl_8027462C:
/* 8027462C 0027028C  38 60 00 40 */	li r3, 0x40
/* 80274630 00270290  4B FF A5 3D */	bl __OSUnmaskInterrupts
lbl_80274634:
/* 80274634 00270294  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80274638 00270298  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027463C 0027029C  7C 08 03 A6 */	mtlr r0
/* 80274640 002702A0  38 21 00 10 */	addi r1, r1, 0x10
/* 80274644 002702A4  4E 80 00 20 */	blr

.global EXIImm
EXIImm:
/* 80274648 002702A8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027464C 002702AC  7C 08 02 A6 */	mflr r0
/* 80274650 002702B0  90 01 00 34 */	stw r0, 0x34(r1)
/* 80274654 002702B4  39 61 00 30 */	addi r11, r1, 0x30
/* 80274658 002702B8  4B F5 2A C9 */	bl _savegpr_25
/* 8027465C 002702BC  7C 7A 1B 78 */	mr r26, r3
/* 80274660 002702C0  7C 9B 23 78 */	mr r27, r4
/* 80274664 002702C4  7C BC 2B 78 */	mr r28, r5
/* 80274668 002702C8  7C DD 33 78 */	mr r29, r6
/* 8027466C 002702CC  7C F9 3B 78 */	mr r25, r7
/* 80274670 002702D0  54 60 30 32 */	slwi r0, r3, 6
/* 80274674 002702D4  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80274678 002702D8  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 8027467C 002702DC  7F E3 02 14 */	add r31, r3, r0
/* 80274680 002702E0  4B FF A0 DD */	bl OSDisableInterrupts
/* 80274684 002702E4  7C 7E 1B 78 */	mr r30, r3
/* 80274688 002702E8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8027468C 002702EC  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 80274690 002702F0  40 82 00 10 */	bne lbl_802746A0
/* 80274694 002702F4  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274698 002702F8  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8027469C 002702FC  40 82 00 14 */	bne lbl_802746B0
lbl_802746A0:
/* 802746A0 00270300  7F C3 F3 78 */	mr r3, r30
/* 802746A4 00270304  4B FF A0 E1 */	bl OSRestoreInterrupts
/* 802746A8 00270308  38 60 00 00 */	li r3, 0
/* 802746AC 0027030C  48 00 02 00 */	b lbl_802748AC
lbl_802746B0:
/* 802746B0 00270310  93 3F 00 04 */	stw r25, 4(r31)
/* 802746B4 00270314  2C 19 00 00 */	cmpwi r25, 0
/* 802746B8 00270318  41 82 00 34 */	beq lbl_802746EC
/* 802746BC 0027031C  1C 7A 00 14 */	mulli r3, r26, 0x14
/* 802746C0 00270320  3C 00 CD 00 */	lis r0, 0xcd00
/* 802746C4 00270324  7C 60 1A 14 */	add r3, r0, r3
/* 802746C8 00270328  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 802746CC 0027032C  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 802746D0 00270330  60 00 00 08 */	ori r0, r0, 8
/* 802746D4 00270334  90 03 68 00 */	stw r0, 0x6800(r3)
/* 802746D8 00270338  3C 60 00 20 */	lis r3, 0x20
/* 802746DC 0027033C  57 40 10 3A */	slwi r0, r26, 2
/* 802746E0 00270340  7C 1A 00 50 */	subf r0, r26, r0
/* 802746E4 00270344  7C 63 04 30 */	srw r3, r3, r0
/* 802746E8 00270348  4B FF A4 85 */	bl __OSUnmaskInterrupts
lbl_802746EC:
/* 802746EC 0027034C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 802746F0 00270350  60 00 00 02 */	ori r0, r0, 2
/* 802746F4 00270354  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802746F8 00270358  2C 1D 00 00 */	cmpwi r29, 0
/* 802746FC 0027035C  41 82 01 64 */	beq lbl_80274860
/* 80274700 00270360  38 00 00 00 */	li r0, 0
/* 80274704 00270364  38 80 00 00 */	li r4, 0
/* 80274708 00270368  2C 9C 00 00 */	cmpwi cr1, r28, 0
/* 8027470C 0027036C  40 85 01 44 */	ble cr1, lbl_80274850
/* 80274710 00270370  38 DC FF F8 */	addi r6, r28, -8
/* 80274714 00270374  2C 1C 00 08 */	cmpwi r28, 8
/* 80274718 00270378  40 81 01 04 */	ble lbl_8027481C
/* 8027471C 0027037C  38 A0 00 00 */	li r5, 0
/* 80274720 00270380  41 84 00 18 */	blt cr1, lbl_80274738
/* 80274724 00270384  3C 60 80 00 */	lis r3, 0x7FFFFFFE@ha
/* 80274728 00270388  38 63 FF FE */	addi r3, r3, 0x7FFFFFFE@l
/* 8027472C 0027038C  7C 1C 18 00 */	cmpw r28, r3
/* 80274730 00270390  41 81 00 08 */	bgt lbl_80274738
/* 80274734 00270394  38 A0 00 01 */	li r5, 1
lbl_80274738:
/* 80274738 00270398  2C 05 00 00 */	cmpwi r5, 0
/* 8027473C 0027039C  41 82 00 E0 */	beq lbl_8027481C
/* 80274740 002703A0  7F 63 DB 78 */	mr r3, r27
/* 80274744 002703A4  38 A6 00 07 */	addi r5, r6, 7
/* 80274748 002703A8  54 A5 E8 FE */	srwi r5, r5, 3
/* 8027474C 002703AC  7C A9 03 A6 */	mtctr r5
/* 80274750 002703B0  2C 06 00 00 */	cmpwi r6, 0
/* 80274754 002703B4  40 81 00 C8 */	ble lbl_8027481C
lbl_80274758:
/* 80274758 002703B8  88 C3 00 00 */	lbz r6, 0(r3)
/* 8027475C 002703BC  20 A4 00 03 */	subfic r5, r4, 3
/* 80274760 002703C0  54 A5 18 38 */	slwi r5, r5, 3
/* 80274764 002703C4  7C C5 28 30 */	slw r5, r6, r5
/* 80274768 002703C8  7C 00 2B 78 */	or r0, r0, r5
/* 8027476C 002703CC  88 C3 00 01 */	lbz r6, 1(r3)
/* 80274770 002703D0  38 A4 00 01 */	addi r5, r4, 1
/* 80274774 002703D4  20 A5 00 03 */	subfic r5, r5, 3
/* 80274778 002703D8  54 A5 18 38 */	slwi r5, r5, 3
/* 8027477C 002703DC  7C C5 28 30 */	slw r5, r6, r5
/* 80274780 002703E0  7C 00 2B 78 */	or r0, r0, r5
/* 80274784 002703E4  88 C3 00 02 */	lbz r6, 2(r3)
/* 80274788 002703E8  38 A4 00 02 */	addi r5, r4, 2
/* 8027478C 002703EC  20 A5 00 03 */	subfic r5, r5, 3
/* 80274790 002703F0  54 A5 18 38 */	slwi r5, r5, 3
/* 80274794 002703F4  7C C5 28 30 */	slw r5, r6, r5
/* 80274798 002703F8  7C 00 2B 78 */	or r0, r0, r5
/* 8027479C 002703FC  88 C3 00 03 */	lbz r6, 3(r3)
/* 802747A0 00270400  7C A4 00 D0 */	neg r5, r4
/* 802747A4 00270404  54 A5 18 38 */	slwi r5, r5, 3
/* 802747A8 00270408  7C C5 28 30 */	slw r5, r6, r5
/* 802747AC 0027040C  7C 00 2B 78 */	or r0, r0, r5
/* 802747B0 00270410  88 C3 00 04 */	lbz r6, 4(r3)
/* 802747B4 00270414  38 A4 00 04 */	addi r5, r4, 4
/* 802747B8 00270418  20 A5 00 03 */	subfic r5, r5, 3
/* 802747BC 0027041C  54 A5 18 38 */	slwi r5, r5, 3
/* 802747C0 00270420  7C C5 28 30 */	slw r5, r6, r5
/* 802747C4 00270424  7C 00 2B 78 */	or r0, r0, r5
/* 802747C8 00270428  88 C3 00 05 */	lbz r6, 5(r3)
/* 802747CC 0027042C  38 A4 00 05 */	addi r5, r4, 5
/* 802747D0 00270430  20 A5 00 03 */	subfic r5, r5, 3
/* 802747D4 00270434  54 A5 18 38 */	slwi r5, r5, 3
/* 802747D8 00270438  7C C5 28 30 */	slw r5, r6, r5
/* 802747DC 0027043C  7C 00 2B 78 */	or r0, r0, r5
/* 802747E0 00270440  88 C3 00 06 */	lbz r6, 6(r3)
/* 802747E4 00270444  38 A4 00 06 */	addi r5, r4, 6
/* 802747E8 00270448  20 A5 00 03 */	subfic r5, r5, 3
/* 802747EC 0027044C  54 A5 18 38 */	slwi r5, r5, 3
/* 802747F0 00270450  7C C5 28 30 */	slw r5, r6, r5
/* 802747F4 00270454  7C 00 2B 78 */	or r0, r0, r5
/* 802747F8 00270458  88 C3 00 07 */	lbz r6, 7(r3)
/* 802747FC 0027045C  38 A4 00 07 */	addi r5, r4, 7
/* 80274800 00270460  20 A5 00 03 */	subfic r5, r5, 3
/* 80274804 00270464  54 A5 18 38 */	slwi r5, r5, 3
/* 80274808 00270468  7C C5 28 30 */	slw r5, r6, r5
/* 8027480C 0027046C  7C 00 2B 78 */	or r0, r0, r5
/* 80274810 00270470  38 63 00 08 */	addi r3, r3, 8
/* 80274814 00270474  38 84 00 08 */	addi r4, r4, 8
/* 80274818 00270478  42 00 FF 40 */	bdnz lbl_80274758
lbl_8027481C:
/* 8027481C 0027047C  7C DB 22 14 */	add r6, r27, r4
/* 80274820 00270480  7C 64 E0 50 */	subf r3, r4, r28
/* 80274824 00270484  7C 69 03 A6 */	mtctr r3
/* 80274828 00270488  7C 04 E0 00 */	cmpw r4, r28
/* 8027482C 0027048C  40 80 00 24 */	bge lbl_80274850
lbl_80274830:
/* 80274830 00270490  88 A6 00 00 */	lbz r5, 0(r6)
/* 80274834 00270494  20 64 00 03 */	subfic r3, r4, 3
/* 80274838 00270498  54 63 18 38 */	slwi r3, r3, 3
/* 8027483C 0027049C  7C A3 18 30 */	slw r3, r5, r3
/* 80274840 002704A0  7C 00 1B 78 */	or r0, r0, r3
/* 80274844 002704A4  38 C6 00 01 */	addi r6, r6, 1
/* 80274848 002704A8  38 84 00 01 */	addi r4, r4, 1
/* 8027484C 002704AC  42 00 FF E4 */	bdnz lbl_80274830
lbl_80274850:
/* 80274850 002704B0  3C 80 CD 00 */	lis r4, 0xcd00
/* 80274854 002704B4  1C 7A 00 14 */	mulli r3, r26, 0x14
/* 80274858 002704B8  7C 64 1A 14 */	add r3, r4, r3
/* 8027485C 002704BC  90 03 68 10 */	stw r0, 0x6810(r3)
lbl_80274860:
/* 80274860 002704C0  93 7F 00 14 */	stw r27, 0x14(r31)
/* 80274864 002704C4  38 7D FF FF */	addi r3, r29, -1
/* 80274868 002704C8  20 1D 00 01 */	subfic r0, r29, 1
/* 8027486C 002704CC  7C 60 03 78 */	or r0, r3, r0
/* 80274870 002704D0  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80274874 002704D4  7F 80 00 38 */	and r0, r28, r0
/* 80274878 002704D8  90 1F 00 10 */	stw r0, 0x10(r31)
/* 8027487C 002704DC  57 A0 10 3A */	slwi r0, r29, 2
/* 80274880 002704E0  60 03 00 01 */	ori r3, r0, 1
/* 80274884 002704E4  38 1C FF FF */	addi r0, r28, -1
/* 80274888 002704E8  54 00 20 36 */	slwi r0, r0, 4
/* 8027488C 002704EC  7C 64 03 78 */	or r4, r3, r0
/* 80274890 002704F0  3C 60 CD 00 */	lis r3, 0xcd00
/* 80274894 002704F4  1C 1A 00 14 */	mulli r0, r26, 0x14
/* 80274898 002704F8  7C 63 02 14 */	add r3, r3, r0
/* 8027489C 002704FC  90 83 68 0C */	stw r4, 0x680c(r3)
/* 802748A0 00270500  7F C3 F3 78 */	mr r3, r30
/* 802748A4 00270504  4B FF 9E E1 */	bl OSRestoreInterrupts
/* 802748A8 00270508  38 60 00 01 */	li r3, 1
lbl_802748AC:
/* 802748AC 0027050C  39 61 00 30 */	addi r11, r1, 0x30
/* 802748B0 00270510  4B F5 28 BD */	bl _restgpr_25
/* 802748B4 00270514  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802748B8 00270518  7C 08 03 A6 */	mtlr r0
/* 802748BC 0027051C  38 21 00 30 */	addi r1, r1, 0x30
/* 802748C0 00270520  4E 80 00 20 */	blr

.global EXIImmEx
EXIImmEx:
/* 802748C4 00270524  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802748C8 00270528  7C 08 02 A6 */	mflr r0
/* 802748CC 0027052C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802748D0 00270530  39 61 00 20 */	addi r11, r1, 0x20
/* 802748D4 00270534  4B F5 28 55 */	bl _savegpr_27
/* 802748D8 00270538  7C 7B 1B 78 */	mr r27, r3
/* 802748DC 0027053C  7C 9C 23 78 */	mr r28, r4
/* 802748E0 00270540  7C BD 2B 78 */	mr r29, r5
/* 802748E4 00270544  7C DE 33 78 */	mr r30, r6
/* 802748E8 00270548  48 00 00 5C */	b lbl_80274944
lbl_802748EC:
/* 802748EC 0027054C  2C 1D 00 04 */	cmpwi r29, 4
/* 802748F0 00270550  3B E0 00 04 */	li r31, 4
/* 802748F4 00270554  40 80 00 08 */	bge lbl_802748FC
/* 802748F8 00270558  7F BF EB 78 */	mr r31, r29
lbl_802748FC:
/* 802748FC 0027055C  7F 63 DB 78 */	mr r3, r27
/* 80274900 00270560  7F 84 E3 78 */	mr r4, r28
/* 80274904 00270564  7F E5 FB 78 */	mr r5, r31
/* 80274908 00270568  7F C6 F3 78 */	mr r6, r30
/* 8027490C 0027056C  38 E0 00 00 */	li r7, 0
/* 80274910 00270570  4B FF FD 39 */	bl EXIImm
/* 80274914 00270574  2C 03 00 00 */	cmpwi r3, 0
/* 80274918 00270578  40 82 00 0C */	bne lbl_80274924
/* 8027491C 0027057C  38 60 00 00 */	li r3, 0
/* 80274920 00270580  48 00 00 30 */	b lbl_80274950
lbl_80274924:
/* 80274924 00270584  7F 63 DB 78 */	mr r3, r27
/* 80274928 00270588  48 00 01 39 */	bl EXISync
/* 8027492C 0027058C  2C 03 00 00 */	cmpwi r3, 0
/* 80274930 00270590  40 82 00 0C */	bne lbl_8027493C
/* 80274934 00270594  38 60 00 00 */	li r3, 0
/* 80274938 00270598  48 00 00 18 */	b lbl_80274950
lbl_8027493C:
/* 8027493C 0027059C  7F 9C FA 14 */	add r28, r28, r31
/* 80274940 002705A0  7F BF E8 50 */	subf r29, r31, r29
lbl_80274944:
/* 80274944 002705A4  2C 1D 00 00 */	cmpwi r29, 0
/* 80274948 002705A8  40 82 FF A4 */	bne lbl_802748EC
/* 8027494C 002705AC  38 60 00 01 */	li r3, 1
lbl_80274950:
/* 80274950 002705B0  39 61 00 20 */	addi r11, r1, 0x20
/* 80274954 002705B4  4B F5 28 21 */	bl _restgpr_27
/* 80274958 002705B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027495C 002705BC  7C 08 03 A6 */	mtlr r0
/* 80274960 002705C0  38 21 00 20 */	addi r1, r1, 0x20
/* 80274964 002705C4  4E 80 00 20 */	blr

.global EXIDma
EXIDma:
/* 80274968 002705C8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027496C 002705CC  7C 08 02 A6 */	mflr r0
/* 80274970 002705D0  90 01 00 34 */	stw r0, 0x34(r1)
/* 80274974 002705D4  39 61 00 30 */	addi r11, r1, 0x30
/* 80274978 002705D8  4B F5 27 A9 */	bl _savegpr_25
/* 8027497C 002705DC  7C 7A 1B 78 */	mr r26, r3
/* 80274980 002705E0  7C 9B 23 78 */	mr r27, r4
/* 80274984 002705E4  7C BC 2B 78 */	mr r28, r5
/* 80274988 002705E8  7C DD 33 78 */	mr r29, r6
/* 8027498C 002705EC  7C F9 3B 78 */	mr r25, r7
/* 80274990 002705F0  54 60 30 32 */	slwi r0, r3, 6
/* 80274994 002705F4  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80274998 002705F8  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 8027499C 002705FC  7F E3 02 14 */	add r31, r3, r0
/* 802749A0 00270600  4B FF 9D BD */	bl OSDisableInterrupts
/* 802749A4 00270604  7C 7E 1B 78 */	mr r30, r3
/* 802749A8 00270608  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 802749AC 0027060C  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 802749B0 00270610  40 82 00 10 */	bne lbl_802749C0
/* 802749B4 00270614  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 802749B8 00270618  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802749BC 0027061C  40 82 00 14 */	bne lbl_802749D0
lbl_802749C0:
/* 802749C0 00270620  7F C3 F3 78 */	mr r3, r30
/* 802749C4 00270624  4B FF 9D C1 */	bl OSRestoreInterrupts
/* 802749C8 00270628  38 60 00 00 */	li r3, 0
/* 802749CC 0027062C  48 00 00 7C */	b lbl_80274A48
lbl_802749D0:
/* 802749D0 00270630  93 3F 00 04 */	stw r25, 4(r31)
/* 802749D4 00270634  2C 19 00 00 */	cmpwi r25, 0
/* 802749D8 00270638  41 82 00 34 */	beq lbl_80274A0C
/* 802749DC 0027063C  1C 7A 00 14 */	mulli r3, r26, 0x14
/* 802749E0 00270640  3C 00 CD 00 */	lis r0, 0xcd00
/* 802749E4 00270644  7C 60 1A 14 */	add r3, r0, r3
/* 802749E8 00270648  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 802749EC 0027064C  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 802749F0 00270650  60 00 00 08 */	ori r0, r0, 8
/* 802749F4 00270654  90 03 68 00 */	stw r0, 0x6800(r3)
/* 802749F8 00270658  3C 60 00 20 */	lis r3, 0x20
/* 802749FC 0027065C  57 40 10 3A */	slwi r0, r26, 2
/* 80274A00 00270660  7C 1A 00 50 */	subf r0, r26, r0
/* 80274A04 00270664  7C 63 04 30 */	srw r3, r3, r0
/* 80274A08 00270668  4B FF A1 65 */	bl __OSUnmaskInterrupts
lbl_80274A0C:
/* 80274A0C 0027066C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274A10 00270670  60 00 00 01 */	ori r0, r0, 1
/* 80274A14 00270674  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80274A18 00270678  1C 7A 00 14 */	mulli r3, r26, 0x14
/* 80274A1C 0027067C  57 64 00 34 */	rlwinm r4, r27, 0, 0, 0x1a
/* 80274A20 00270680  3C 00 CD 00 */	lis r0, 0xcd00
/* 80274A24 00270684  7C 60 1A 14 */	add r3, r0, r3
/* 80274A28 00270688  90 83 68 04 */	stw r4, 0x6804(r3)
/* 80274A2C 0027068C  93 83 68 08 */	stw r28, 0x6808(r3)
/* 80274A30 00270690  57 A0 10 3A */	slwi r0, r29, 2
/* 80274A34 00270694  60 00 00 03 */	ori r0, r0, 3
/* 80274A38 00270698  90 03 68 0C */	stw r0, 0x680c(r3)
/* 80274A3C 0027069C  7F C3 F3 78 */	mr r3, r30
/* 80274A40 002706A0  4B FF 9D 45 */	bl OSRestoreInterrupts
/* 80274A44 002706A4  38 60 00 01 */	li r3, 1
lbl_80274A48:
/* 80274A48 002706A8  39 61 00 30 */	addi r11, r1, 0x30
/* 80274A4C 002706AC  4B F5 27 21 */	bl _restgpr_25
/* 80274A50 002706B0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80274A54 002706B4  7C 08 03 A6 */	mtlr r0
/* 80274A58 002706B8  38 21 00 30 */	addi r1, r1, 0x30
/* 80274A5C 002706BC  4E 80 00 20 */	blr

.global EXISync
EXISync:
/* 80274A60 002706C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80274A64 002706C4  7C 08 02 A6 */	mflr r0
/* 80274A68 002706C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 80274A6C 002706CC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80274A70 002706D0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80274A74 002706D4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80274A78 002706D8  93 81 00 10 */	stw r28, 0x10(r1)
/* 80274A7C 002706DC  54 60 30 32 */	slwi r0, r3, 6
/* 80274A80 002706E0  3C 80 80 51 */	lis r4, lbl_805154C0@ha
/* 80274A84 002706E4  38 84 54 C0 */	addi r4, r4, lbl_805154C0@l
/* 80274A88 002706E8  7F E4 02 14 */	add r31, r4, r0
/* 80274A8C 002706EC  3B A0 00 00 */	li r29, 0
/* 80274A90 002706F0  1F C3 00 14 */	mulli r30, r3, 0x14
/* 80274A94 002706F4  3C 00 CD 00 */	lis r0, 0xcd00
/* 80274A98 002706F8  7C 60 F2 14 */	add r3, r0, r30
/* 80274A9C 002706FC  48 00 02 10 */	b lbl_80274CAC
lbl_80274AA0:
/* 80274AA0 00270700  80 03 68 0C */	lwz r0, 0x680c(r3)
/* 80274AA4 00270704  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80274AA8 00270708  40 82 02 04 */	bne lbl_80274CAC
/* 80274AAC 0027070C  4B FF 9C B1 */	bl OSDisableInterrupts
/* 80274AB0 00270710  7C 7C 1B 78 */	mr r28, r3
/* 80274AB4 00270714  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274AB8 00270718  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80274ABC 0027071C  41 82 01 E4 */	beq lbl_80274CA0
/* 80274AC0 00270720  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274AC4 00270724  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 80274AC8 00270728  41 82 01 54 */	beq lbl_80274C1C
/* 80274ACC 0027072C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274AD0 00270730  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80274AD4 00270734  41 82 01 3C */	beq lbl_80274C10
/* 80274AD8 00270738  80 BF 00 10 */	lwz r5, 0x10(r31)
/* 80274ADC 0027073C  2C 85 00 00 */	cmpwi cr1, r5, 0
/* 80274AE0 00270740  41 86 01 30 */	beq cr1, lbl_80274C10
/* 80274AE4 00270744  80 9F 00 14 */	lwz r4, 0x14(r31)
/* 80274AE8 00270748  3C 00 CD 00 */	lis r0, 0xcd00
/* 80274AEC 0027074C  7C 60 F2 14 */	add r3, r0, r30
/* 80274AF0 00270750  80 03 68 10 */	lwz r0, 0x6810(r3)
/* 80274AF4 00270754  38 60 00 00 */	li r3, 0
/* 80274AF8 00270758  40 85 01 18 */	ble cr1, lbl_80274C10
/* 80274AFC 0027075C  38 E5 FF F8 */	addi r7, r5, -8
/* 80274B00 00270760  2C 05 00 08 */	cmpwi r5, 8
/* 80274B04 00270764  40 81 00 E0 */	ble lbl_80274BE4
/* 80274B08 00270768  39 00 00 00 */	li r8, 0
/* 80274B0C 0027076C  41 84 00 18 */	blt cr1, lbl_80274B24
/* 80274B10 00270770  3C C0 80 00 */	lis r6, 0x7FFFFFFE@ha
/* 80274B14 00270774  38 C6 FF FE */	addi r6, r6, 0x7FFFFFFE@l
/* 80274B18 00270778  7C 05 30 00 */	cmpw r5, r6
/* 80274B1C 0027077C  41 81 00 08 */	bgt lbl_80274B24
/* 80274B20 00270780  39 00 00 01 */	li r8, 1
lbl_80274B24:
/* 80274B24 00270784  2C 08 00 00 */	cmpwi r8, 0
/* 80274B28 00270788  41 82 00 BC */	beq lbl_80274BE4
/* 80274B2C 0027078C  38 C7 00 07 */	addi r6, r7, 7
/* 80274B30 00270790  54 C6 E8 FE */	srwi r6, r6, 3
/* 80274B34 00270794  7C C9 03 A6 */	mtctr r6
/* 80274B38 00270798  2C 07 00 00 */	cmpwi r7, 0
/* 80274B3C 0027079C  40 81 00 A8 */	ble lbl_80274BE4
lbl_80274B40:
/* 80274B40 002707A0  20 C3 00 03 */	subfic r6, r3, 3
/* 80274B44 002707A4  54 C6 18 38 */	slwi r6, r6, 3
/* 80274B48 002707A8  7C 06 34 30 */	srw r6, r0, r6
/* 80274B4C 002707AC  98 C4 00 00 */	stb r6, 0(r4)
/* 80274B50 002707B0  38 C3 00 01 */	addi r6, r3, 1
/* 80274B54 002707B4  20 C6 00 03 */	subfic r6, r6, 3
/* 80274B58 002707B8  54 C6 18 38 */	slwi r6, r6, 3
/* 80274B5C 002707BC  7C 06 34 30 */	srw r6, r0, r6
/* 80274B60 002707C0  98 C4 00 01 */	stb r6, 1(r4)
/* 80274B64 002707C4  38 C3 00 02 */	addi r6, r3, 2
/* 80274B68 002707C8  20 C6 00 03 */	subfic r6, r6, 3
/* 80274B6C 002707CC  54 C6 18 38 */	slwi r6, r6, 3
/* 80274B70 002707D0  7C 06 34 30 */	srw r6, r0, r6
/* 80274B74 002707D4  98 C4 00 02 */	stb r6, 2(r4)
/* 80274B78 002707D8  7C C3 00 D0 */	neg r6, r3
/* 80274B7C 002707DC  54 C6 18 38 */	slwi r6, r6, 3
/* 80274B80 002707E0  7C 06 34 30 */	srw r6, r0, r6
/* 80274B84 002707E4  98 C4 00 03 */	stb r6, 3(r4)
/* 80274B88 002707E8  38 C3 00 04 */	addi r6, r3, 4
/* 80274B8C 002707EC  20 C6 00 03 */	subfic r6, r6, 3
/* 80274B90 002707F0  54 C6 18 38 */	slwi r6, r6, 3
/* 80274B94 002707F4  7C 06 34 30 */	srw r6, r0, r6
/* 80274B98 002707F8  98 C4 00 04 */	stb r6, 4(r4)
/* 80274B9C 002707FC  38 C3 00 05 */	addi r6, r3, 5
/* 80274BA0 00270800  20 C6 00 03 */	subfic r6, r6, 3
/* 80274BA4 00270804  54 C6 18 38 */	slwi r6, r6, 3
/* 80274BA8 00270808  7C 06 34 30 */	srw r6, r0, r6
/* 80274BAC 0027080C  98 C4 00 05 */	stb r6, 5(r4)
/* 80274BB0 00270810  38 C3 00 06 */	addi r6, r3, 6
/* 80274BB4 00270814  20 C6 00 03 */	subfic r6, r6, 3
/* 80274BB8 00270818  54 C6 18 38 */	slwi r6, r6, 3
/* 80274BBC 0027081C  7C 06 34 30 */	srw r6, r0, r6
/* 80274BC0 00270820  98 C4 00 06 */	stb r6, 6(r4)
/* 80274BC4 00270824  38 C3 00 07 */	addi r6, r3, 7
/* 80274BC8 00270828  20 C6 00 03 */	subfic r6, r6, 3
/* 80274BCC 0027082C  54 C6 18 38 */	slwi r6, r6, 3
/* 80274BD0 00270830  7C 06 34 30 */	srw r6, r0, r6
/* 80274BD4 00270834  98 C4 00 07 */	stb r6, 7(r4)
/* 80274BD8 00270838  38 84 00 08 */	addi r4, r4, 8
/* 80274BDC 0027083C  38 63 00 08 */	addi r3, r3, 8
/* 80274BE0 00270840  42 00 FF 60 */	bdnz lbl_80274B40
lbl_80274BE4:
/* 80274BE4 00270844  7C C3 28 50 */	subf r6, r3, r5
/* 80274BE8 00270848  7C C9 03 A6 */	mtctr r6
/* 80274BEC 0027084C  7C 03 28 00 */	cmpw r3, r5
/* 80274BF0 00270850  40 80 00 20 */	bge lbl_80274C10
lbl_80274BF4:
/* 80274BF4 00270854  20 A3 00 03 */	subfic r5, r3, 3
/* 80274BF8 00270858  54 A5 18 38 */	slwi r5, r5, 3
/* 80274BFC 0027085C  7C 05 2C 30 */	srw r5, r0, r5
/* 80274C00 00270860  98 A4 00 00 */	stb r5, 0(r4)
/* 80274C04 00270864  38 84 00 01 */	addi r4, r4, 1
/* 80274C08 00270868  38 63 00 01 */	addi r3, r3, 1
/* 80274C0C 0027086C  42 00 FF E8 */	bdnz lbl_80274BF4
lbl_80274C10:
/* 80274C10 00270870  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274C14 00270874  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 80274C18 00270878  90 1F 00 0C */	stw r0, 0xc(r31)
lbl_80274C1C:
/* 80274C1C 0027087C  4B FF 4A 25 */	bl __OSGetDIConfig
/* 80274C20 00270880  28 03 00 FF */	cmplwi r3, 0xff
/* 80274C24 00270884  40 82 00 78 */	bne lbl_80274C9C
/* 80274C28 00270888  4B FF 39 05 */	bl OSGetConsoleType
/* 80274C2C 0027088C  54 63 00 06 */	rlwinm r3, r3, 0, 0, 3
/* 80274C30 00270890  3C 03 E0 00 */	addis r0, r3, 0xe000
/* 80274C34 00270894  28 00 00 00 */	cmplwi r0, 0
/* 80274C38 00270898  41 82 00 64 */	beq lbl_80274C9C
/* 80274C3C 0027089C  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 80274C40 002708A0  2C 00 00 04 */	cmpwi r0, 4
/* 80274C44 002708A4  40 82 00 58 */	bne lbl_80274C9C
/* 80274C48 002708A8  3C 00 CD 00 */	lis r0, 0xcd00
/* 80274C4C 002708AC  7C 80 F2 14 */	add r4, r0, r30
/* 80274C50 002708B0  80 04 68 00 */	lwz r0, 0x6800(r4)
/* 80274C54 002708B4  54 00 06 77 */	rlwinm. r0, r0, 0, 0x19, 0x1b
/* 80274C58 002708B8  40 82 00 44 */	bne lbl_80274C9C
/* 80274C5C 002708BC  80 64 68 10 */	lwz r3, 0x6810(r4)
/* 80274C60 002708C0  3C 03 FE FF */	addis r0, r3, 0xfeff
/* 80274C64 002708C4  28 00 00 00 */	cmplwi r0, 0
/* 80274C68 002708C8  41 82 00 24 */	beq lbl_80274C8C
/* 80274C6C 002708CC  80 64 68 10 */	lwz r3, 0x6810(r4)
/* 80274C70 002708D0  3C 03 FA F9 */	addis r0, r3, 0xfaf9
/* 80274C74 002708D4  28 00 00 00 */	cmplwi r0, 0
/* 80274C78 002708D8  41 82 00 14 */	beq lbl_80274C8C
/* 80274C7C 002708DC  80 64 68 10 */	lwz r3, 0x6810(r4)
/* 80274C80 002708E0  3C 03 FB DE */	addis r0, r3, 0xfbde
/* 80274C84 002708E4  28 00 00 01 */	cmplwi r0, 1
/* 80274C88 002708E8  40 82 00 14 */	bne lbl_80274C9C
lbl_80274C8C:
/* 80274C8C 002708EC  3C 60 80 00 */	lis r3, 0x800030E6@ha
/* 80274C90 002708F0  A0 03 30 E6 */	lhz r0, 0x800030E6@l(r3)
/* 80274C94 002708F4  28 00 82 00 */	cmplwi r0, 0x8200
/* 80274C98 002708F8  40 82 00 08 */	bne lbl_80274CA0
lbl_80274C9C:
/* 80274C9C 002708FC  3B A0 00 01 */	li r29, 1
lbl_80274CA0:
/* 80274CA0 00270900  7F 83 E3 78 */	mr r3, r28
/* 80274CA4 00270904  4B FF 9A E1 */	bl OSRestoreInterrupts
/* 80274CA8 00270908  48 00 00 10 */	b lbl_80274CB8
lbl_80274CAC:
/* 80274CAC 0027090C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274CB0 00270910  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80274CB4 00270914  40 82 FD EC */	bne lbl_80274AA0
lbl_80274CB8:
/* 80274CB8 00270918  7F A3 EB 78 */	mr r3, r29
/* 80274CBC 0027091C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80274CC0 00270920  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80274CC4 00270924  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80274CC8 00270928  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80274CCC 0027092C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80274CD0 00270930  7C 08 03 A6 */	mtlr r0
/* 80274CD4 00270934  38 21 00 20 */	addi r1, r1, 0x20
/* 80274CD8 00270938  4E 80 00 20 */	blr

.global EXISetExiCallback
EXISetExiCallback:
/* 80274CDC 0027093C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80274CE0 00270940  7C 08 02 A6 */	mflr r0
/* 80274CE4 00270944  90 01 00 24 */	stw r0, 0x24(r1)
/* 80274CE8 00270948  39 61 00 20 */	addi r11, r1, 0x20
/* 80274CEC 0027094C  4B F5 24 39 */	bl _savegpr_26
/* 80274CF0 00270950  7C 7A 1B 78 */	mr r26, r3
/* 80274CF4 00270954  7C 9B 23 78 */	mr r27, r4
/* 80274CF8 00270958  54 60 30 32 */	slwi r0, r3, 6
/* 80274CFC 0027095C  3F E0 80 51 */	lis r31, lbl_805154C0@ha
/* 80274D00 00270960  3B FF 54 C0 */	addi r31, r31, lbl_805154C0@l
/* 80274D04 00270964  7F DF 02 14 */	add r30, r31, r0
/* 80274D08 00270968  4B FF 9A 55 */	bl OSDisableInterrupts
/* 80274D0C 0027096C  7C 7C 1B 78 */	mr r28, r3
/* 80274D10 00270970  83 BE 00 00 */	lwz r29, 0(r30)
/* 80274D14 00270974  93 7E 00 00 */	stw r27, 0(r30)
/* 80274D18 00270978  2C 1A 00 02 */	cmpwi r26, 2
/* 80274D1C 0027097C  41 82 00 14 */	beq lbl_80274D30
/* 80274D20 00270980  7F 43 D3 78 */	mr r3, r26
/* 80274D24 00270984  7F C4 F3 78 */	mr r4, r30
/* 80274D28 00270988  4B FF F8 31 */	bl SetExiInterruptMask
/* 80274D2C 0027098C  48 00 00 10 */	b lbl_80274D3C
lbl_80274D30:
/* 80274D30 00270990  38 60 00 00 */	li r3, 0
/* 80274D34 00270994  7F E4 FB 78 */	mr r4, r31
/* 80274D38 00270998  4B FF F8 21 */	bl SetExiInterruptMask
lbl_80274D3C:
/* 80274D3C 0027099C  7F 83 E3 78 */	mr r3, r28
/* 80274D40 002709A0  4B FF 9A 45 */	bl OSRestoreInterrupts
/* 80274D44 002709A4  7F A3 EB 78 */	mr r3, r29
/* 80274D48 002709A8  39 61 00 20 */	addi r11, r1, 0x20
/* 80274D4C 002709AC  4B F5 24 25 */	bl _restgpr_26
/* 80274D50 002709B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80274D54 002709B4  7C 08 03 A6 */	mtlr r0
/* 80274D58 002709B8  38 21 00 20 */	addi r1, r1, 0x20
/* 80274D5C 002709BC  4E 80 00 20 */	blr

.global __EXIProbe
__EXIProbe:
/* 80274D60 002709C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80274D64 002709C4  7C 08 02 A6 */	mflr r0
/* 80274D68 002709C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 80274D6C 002709CC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80274D70 002709D0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80274D74 002709D4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80274D78 002709D8  93 81 00 10 */	stw r28, 0x10(r1)
/* 80274D7C 002709DC  7C 7C 1B 78 */	mr r28, r3
/* 80274D80 002709E0  54 60 30 32 */	slwi r0, r3, 6
/* 80274D84 002709E4  3C 80 80 51 */	lis r4, lbl_805154C0@ha
/* 80274D88 002709E8  38 84 54 C0 */	addi r4, r4, lbl_805154C0@l
/* 80274D8C 002709EC  7F E4 02 14 */	add r31, r4, r0
/* 80274D90 002709F0  2C 03 00 02 */	cmpwi r3, 2
/* 80274D94 002709F4  40 82 00 0C */	bne lbl_80274DA0
/* 80274D98 002709F8  38 60 00 01 */	li r3, 1
/* 80274D9C 002709FC  48 00 01 24 */	b lbl_80274EC0
lbl_80274DA0:
/* 80274DA0 00270A00  3B A0 00 01 */	li r29, 1
/* 80274DA4 00270A04  4B FF 99 B9 */	bl OSDisableInterrupts
/* 80274DA8 00270A08  7C 7E 1B 78 */	mr r30, r3
/* 80274DAC 00270A0C  1C 7C 00 14 */	mulli r3, r28, 0x14
/* 80274DB0 00270A10  3C 00 CD 00 */	lis r0, 0xcd00
/* 80274DB4 00270A14  7C 60 1A 14 */	add r3, r0, r3
/* 80274DB8 00270A18  80 A3 68 00 */	lwz r5, 0x6800(r3)
/* 80274DBC 00270A1C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274DC0 00270A20  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80274DC4 00270A24  40 82 00 C4 */	bne lbl_80274E88
/* 80274DC8 00270A28  54 A0 05 29 */	rlwinm. r0, r5, 0, 0x14, 0x14
/* 80274DCC 00270A2C  41 82 00 2C */	beq lbl_80274DF8
/* 80274DD0 00270A30  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 80274DD4 00270A34  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 80274DD8 00270A38  60 00 08 00 */	ori r0, r0, 0x800
/* 80274DDC 00270A3C  90 03 68 00 */	stw r0, 0x6800(r3)
/* 80274DE0 00270A40  38 80 00 00 */	li r4, 0
/* 80274DE4 00270A44  90 9F 00 20 */	stw r4, 0x20(r31)
/* 80274DE8 00270A48  57 83 10 3A */	slwi r3, r28, 2
/* 80274DEC 00270A4C  3C 00 80 00 */	lis r0, 0x8000
/* 80274DF0 00270A50  7C 60 1A 14 */	add r3, r0, r3
/* 80274DF4 00270A54  90 83 30 C0 */	stw r4, 0x30c0(r3)
lbl_80274DF8:
/* 80274DF8 00270A58  54 A0 04 E7 */	rlwinm. r0, r5, 0, 0x13, 0x13
/* 80274DFC 00270A5C  41 82 00 6C */	beq lbl_80274E68
/* 80274E00 00270A60  4B FF D9 B9 */	bl OSGetTime
/* 80274E04 00270A64  3F E0 80 00 */	lis r31, 0x800000F8@ha
/* 80274E08 00270A68  80 1F 00 F8 */	lwz r0, 0x800000F8@l(r31)
/* 80274E0C 00270A6C  54 00 F0 BE */	srwi r0, r0, 2
/* 80274E10 00270A70  3C A0 10 62 */	lis r5, 0x10624DD3@ha
/* 80274E14 00270A74  38 A5 4D D3 */	addi r5, r5, 0x10624DD3@l
/* 80274E18 00270A78  7C 05 00 16 */	mulhwu r0, r5, r0
/* 80274E1C 00270A7C  54 06 D1 BE */	srwi r6, r0, 6
/* 80274E20 00270A80  38 A0 00 00 */	li r5, 0
/* 80274E24 00270A84  4B F5 24 55 */	bl __div2i
/* 80274E28 00270A88  38 C0 00 64 */	li r6, 0x64
/* 80274E2C 00270A8C  38 A0 00 00 */	li r5, 0
/* 80274E30 00270A90  4B F5 24 49 */	bl __div2i
/* 80274E34 00270A94  38 84 00 01 */	addi r4, r4, 1
/* 80274E38 00270A98  57 80 10 3A */	slwi r0, r28, 2
/* 80274E3C 00270A9C  7C 7F 02 14 */	add r3, r31, r0
/* 80274E40 00270AA0  80 03 30 C0 */	lwz r0, 0x30c0(r3)
/* 80274E44 00270AA4  2C 00 00 00 */	cmpwi r0, 0
/* 80274E48 00270AA8  40 82 00 08 */	bne lbl_80274E50
/* 80274E4C 00270AAC  90 83 30 C0 */	stw r4, 0x30c0(r3)
lbl_80274E50:
/* 80274E50 00270AB0  80 03 30 C0 */	lwz r0, 0x30c0(r3)
/* 80274E54 00270AB4  7C 00 20 50 */	subf r0, r0, r4
/* 80274E58 00270AB8  2C 00 00 03 */	cmpwi r0, 3
/* 80274E5C 00270ABC  40 80 00 58 */	bge lbl_80274EB4
/* 80274E60 00270AC0  3B A0 00 00 */	li r29, 0
/* 80274E64 00270AC4  48 00 00 50 */	b lbl_80274EB4
lbl_80274E68:
/* 80274E68 00270AC8  38 80 00 00 */	li r4, 0
/* 80274E6C 00270ACC  90 9F 00 20 */	stw r4, 0x20(r31)
/* 80274E70 00270AD0  57 83 10 3A */	slwi r3, r28, 2
/* 80274E74 00270AD4  3C 00 80 00 */	lis r0, 0x8000
/* 80274E78 00270AD8  7C 60 1A 14 */	add r3, r0, r3
/* 80274E7C 00270ADC  90 83 30 C0 */	stw r4, 0x30c0(r3)
/* 80274E80 00270AE0  3B A0 00 00 */	li r29, 0
/* 80274E84 00270AE4  48 00 00 30 */	b lbl_80274EB4
lbl_80274E88:
/* 80274E88 00270AE8  54 A0 04 E7 */	rlwinm. r0, r5, 0, 0x13, 0x13
/* 80274E8C 00270AEC  41 82 00 0C */	beq lbl_80274E98
/* 80274E90 00270AF0  54 A0 05 29 */	rlwinm. r0, r5, 0, 0x14, 0x14
/* 80274E94 00270AF4  41 82 00 20 */	beq lbl_80274EB4
lbl_80274E98:
/* 80274E98 00270AF8  38 80 00 00 */	li r4, 0
/* 80274E9C 00270AFC  90 9F 00 20 */	stw r4, 0x20(r31)
/* 80274EA0 00270B00  57 83 10 3A */	slwi r3, r28, 2
/* 80274EA4 00270B04  3C 00 80 00 */	lis r0, 0x8000
/* 80274EA8 00270B08  7C 60 1A 14 */	add r3, r0, r3
/* 80274EAC 00270B0C  90 83 30 C0 */	stw r4, 0x30c0(r3)
/* 80274EB0 00270B10  3B A0 00 00 */	li r29, 0
lbl_80274EB4:
/* 80274EB4 00270B14  7F C3 F3 78 */	mr r3, r30
/* 80274EB8 00270B18  4B FF 98 CD */	bl OSRestoreInterrupts
/* 80274EBC 00270B1C  7F A3 EB 78 */	mr r3, r29
lbl_80274EC0:
/* 80274EC0 00270B20  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80274EC4 00270B24  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80274EC8 00270B28  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80274ECC 00270B2C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80274ED0 00270B30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80274ED4 00270B34  7C 08 03 A6 */	mtlr r0
/* 80274ED8 00270B38  38 21 00 20 */	addi r1, r1, 0x20
/* 80274EDC 00270B3C  4E 80 00 20 */	blr

.global EXIAttach
EXIAttach:
/* 80274EE0 00270B40  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80274EE4 00270B44  7C 08 02 A6 */	mflr r0
/* 80274EE8 00270B48  90 01 00 34 */	stw r0, 0x34(r1)
/* 80274EEC 00270B4C  39 61 00 30 */	addi r11, r1, 0x30
/* 80274EF0 00270B50  4B F5 22 39 */	bl _savegpr_27
/* 80274EF4 00270B54  7C 7D 1B 78 */	mr r29, r3
/* 80274EF8 00270B58  7C 9B 23 78 */	mr r27, r4
/* 80274EFC 00270B5C  54 60 30 32 */	slwi r0, r3, 6
/* 80274F00 00270B60  3C 80 80 51 */	lis r4, lbl_805154C0@ha
/* 80274F04 00270B64  38 84 54 C0 */	addi r4, r4, lbl_805154C0@l
/* 80274F08 00270B68  7F E4 02 14 */	add r31, r4, r0
/* 80274F0C 00270B6C  4B FF FE 55 */	bl __EXIProbe
/* 80274F10 00270B70  2C 03 00 00 */	cmpwi r3, 0
/* 80274F14 00270B74  41 82 00 20 */	beq lbl_80274F34
/* 80274F18 00270B78  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 80274F1C 00270B7C  2C 00 00 00 */	cmpwi r0, 0
/* 80274F20 00270B80  40 82 00 14 */	bne lbl_80274F34
/* 80274F24 00270B84  7F A3 EB 78 */	mr r3, r29
/* 80274F28 00270B88  38 80 00 00 */	li r4, 0
/* 80274F2C 00270B8C  38 A1 00 08 */	addi r5, r1, 8
/* 80274F30 00270B90  48 00 0B 11 */	bl EXIGetID
lbl_80274F34:
/* 80274F34 00270B94  4B FF 98 29 */	bl OSDisableInterrupts
/* 80274F38 00270B98  7C 7E 1B 78 */	mr r30, r3
/* 80274F3C 00270B9C  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 80274F40 00270BA0  2C 00 00 00 */	cmpwi r0, 0
/* 80274F44 00270BA4  40 82 00 10 */	bne lbl_80274F54
/* 80274F48 00270BA8  4B FF 98 3D */	bl OSRestoreInterrupts
/* 80274F4C 00270BAC  38 60 00 00 */	li r3, 0
/* 80274F50 00270BB0  48 00 00 90 */	b lbl_80274FE0
lbl_80274F54:
/* 80274F54 00270BB4  4B FF 98 09 */	bl OSDisableInterrupts
/* 80274F58 00270BB8  7C 7C 1B 78 */	mr r28, r3
/* 80274F5C 00270BBC  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274F60 00270BC0  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80274F64 00270BC4  40 82 00 14 */	bne lbl_80274F78
/* 80274F68 00270BC8  7F A3 EB 78 */	mr r3, r29
/* 80274F6C 00270BCC  4B FF FD F5 */	bl __EXIProbe
/* 80274F70 00270BD0  2C 03 00 00 */	cmpwi r3, 0
/* 80274F74 00270BD4  40 82 00 14 */	bne lbl_80274F88
lbl_80274F78:
/* 80274F78 00270BD8  7F 83 E3 78 */	mr r3, r28
/* 80274F7C 00270BDC  4B FF 98 09 */	bl OSRestoreInterrupts
/* 80274F80 00270BE0  3B A0 00 00 */	li r29, 0
/* 80274F84 00270BE4  48 00 00 50 */	b lbl_80274FD4
lbl_80274F88:
/* 80274F88 00270BE8  1C 7D 00 14 */	mulli r3, r29, 0x14
/* 80274F8C 00270BEC  3C 00 CD 00 */	lis r0, 0xcd00
/* 80274F90 00270BF0  7C 60 1A 14 */	add r3, r0, r3
/* 80274F94 00270BF4  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 80274F98 00270BF8  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 80274F9C 00270BFC  60 00 00 02 */	ori r0, r0, 2
/* 80274FA0 00270C00  90 03 68 00 */	stw r0, 0x6800(r3)
/* 80274FA4 00270C04  93 7F 00 08 */	stw r27, 8(r31)
/* 80274FA8 00270C08  3C 60 00 10 */	lis r3, 0x10
/* 80274FAC 00270C0C  57 A0 10 3A */	slwi r0, r29, 2
/* 80274FB0 00270C10  7C 1D 00 50 */	subf r0, r29, r0
/* 80274FB4 00270C14  7C 63 04 30 */	srw r3, r3, r0
/* 80274FB8 00270C18  4B FF 9B B5 */	bl __OSUnmaskInterrupts
/* 80274FBC 00270C1C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80274FC0 00270C20  60 00 00 08 */	ori r0, r0, 8
/* 80274FC4 00270C24  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80274FC8 00270C28  7F 83 E3 78 */	mr r3, r28
/* 80274FCC 00270C2C  4B FF 97 B9 */	bl OSRestoreInterrupts
/* 80274FD0 00270C30  3B A0 00 01 */	li r29, 1
lbl_80274FD4:
/* 80274FD4 00270C34  7F C3 F3 78 */	mr r3, r30
/* 80274FD8 00270C38  4B FF 97 AD */	bl OSRestoreInterrupts
/* 80274FDC 00270C3C  7F A3 EB 78 */	mr r3, r29
lbl_80274FE0:
/* 80274FE0 00270C40  39 61 00 30 */	addi r11, r1, 0x30
/* 80274FE4 00270C44  4B F5 21 91 */	bl _restgpr_27
/* 80274FE8 00270C48  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80274FEC 00270C4C  7C 08 03 A6 */	mtlr r0
/* 80274FF0 00270C50  38 21 00 30 */	addi r1, r1, 0x30
/* 80274FF4 00270C54  4E 80 00 20 */	blr

.global EXIDetach
EXIDetach:
/* 80274FF8 00270C58  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80274FFC 00270C5C  7C 08 02 A6 */	mflr r0
/* 80275000 00270C60  90 01 00 24 */	stw r0, 0x24(r1)
/* 80275004 00270C64  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80275008 00270C68  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8027500C 00270C6C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80275010 00270C70  7C 7D 1B 78 */	mr r29, r3
/* 80275014 00270C74  54 60 30 32 */	slwi r0, r3, 6
/* 80275018 00270C78  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 8027501C 00270C7C  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 80275020 00270C80  7F E3 02 14 */	add r31, r3, r0
/* 80275024 00270C84  4B FF 97 39 */	bl OSDisableInterrupts
/* 80275028 00270C88  7C 7E 1B 78 */	mr r30, r3
/* 8027502C 00270C8C  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275030 00270C90  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80275034 00270C94  40 82 00 10 */	bne lbl_80275044
/* 80275038 00270C98  4B FF 97 4D */	bl OSRestoreInterrupts
/* 8027503C 00270C9C  38 60 00 01 */	li r3, 1
/* 80275040 00270CA0  48 00 00 54 */	b lbl_80275094
lbl_80275044:
/* 80275044 00270CA4  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275048 00270CA8  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 8027504C 00270CAC  41 82 00 1C */	beq lbl_80275068
/* 80275050 00270CB0  80 1F 00 18 */	lwz r0, 0x18(r31)
/* 80275054 00270CB4  2C 00 00 00 */	cmpwi r0, 0
/* 80275058 00270CB8  40 82 00 10 */	bne lbl_80275068
/* 8027505C 00270CBC  4B FF 97 29 */	bl OSRestoreInterrupts
/* 80275060 00270CC0  38 60 00 00 */	li r3, 0
/* 80275064 00270CC4  48 00 00 30 */	b lbl_80275094
lbl_80275068:
/* 80275068 00270CC8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8027506C 00270CCC  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80275070 00270CD0  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80275074 00270CD4  3C 60 00 50 */	lis r3, 0x50
/* 80275078 00270CD8  57 A0 10 3A */	slwi r0, r29, 2
/* 8027507C 00270CDC  7C 1D 00 50 */	subf r0, r29, r0
/* 80275080 00270CE0  7C 63 04 30 */	srw r3, r3, r0
/* 80275084 00270CE4  4B FF 9A 69 */	bl __OSMaskInterrupts
/* 80275088 00270CE8  7F C3 F3 78 */	mr r3, r30
/* 8027508C 00270CEC  4B FF 96 F9 */	bl OSRestoreInterrupts
/* 80275090 00270CF0  38 60 00 01 */	li r3, 1
lbl_80275094:
/* 80275094 00270CF4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80275098 00270CF8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027509C 00270CFC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802750A0 00270D00  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802750A4 00270D04  7C 08 03 A6 */	mtlr r0
/* 802750A8 00270D08  38 21 00 20 */	addi r1, r1, 0x20
/* 802750AC 00270D0C  4E 80 00 20 */	blr

.global EXISelect
EXISelect:
/* 802750B0 00270D10  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802750B4 00270D14  7C 08 02 A6 */	mflr r0
/* 802750B8 00270D18  90 01 00 24 */	stw r0, 0x24(r1)
/* 802750BC 00270D1C  39 61 00 20 */	addi r11, r1, 0x20
/* 802750C0 00270D20  4B F5 20 69 */	bl _savegpr_27
/* 802750C4 00270D24  7C 7B 1B 78 */	mr r27, r3
/* 802750C8 00270D28  7C 9C 23 78 */	mr r28, r4
/* 802750CC 00270D2C  7C BD 2B 78 */	mr r29, r5
/* 802750D0 00270D30  54 60 30 32 */	slwi r0, r3, 6
/* 802750D4 00270D34  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 802750D8 00270D38  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 802750DC 00270D3C  7F E3 02 14 */	add r31, r3, r0
/* 802750E0 00270D40  4B FF 96 7D */	bl OSDisableInterrupts
/* 802750E4 00270D44  7C 7E 1B 78 */	mr r30, r3
/* 802750E8 00270D48  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 802750EC 00270D4C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802750F0 00270D50  40 82 00 48 */	bne lbl_80275138
/* 802750F4 00270D54  2C 1B 00 02 */	cmpwi r27, 2
/* 802750F8 00270D58  41 82 00 50 */	beq lbl_80275148
/* 802750FC 00270D5C  2C 1C 00 00 */	cmpwi r28, 0
/* 80275100 00270D60  40 82 00 20 */	bne lbl_80275120
/* 80275104 00270D64  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275108 00270D68  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8027510C 00270D6C  40 82 00 14 */	bne lbl_80275120
/* 80275110 00270D70  7F 63 DB 78 */	mr r3, r27
/* 80275114 00270D74  4B FF FC 4D */	bl __EXIProbe
/* 80275118 00270D78  2C 03 00 00 */	cmpwi r3, 0
/* 8027511C 00270D7C  41 82 00 1C */	beq lbl_80275138
lbl_80275120:
/* 80275120 00270D80  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275124 00270D84  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80275128 00270D88  41 82 00 10 */	beq lbl_80275138
/* 8027512C 00270D8C  80 1F 00 18 */	lwz r0, 0x18(r31)
/* 80275130 00270D90  7C 00 E0 40 */	cmplw r0, r28
/* 80275134 00270D94  41 82 00 14 */	beq lbl_80275148
lbl_80275138:
/* 80275138 00270D98  7F C3 F3 78 */	mr r3, r30
/* 8027513C 00270D9C  4B FF 96 49 */	bl OSRestoreInterrupts
/* 80275140 00270DA0  38 60 00 00 */	li r3, 0
/* 80275144 00270DA4  48 00 00 84 */	b lbl_802751C8
lbl_80275148:
/* 80275148 00270DA8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8027514C 00270DAC  60 00 00 04 */	ori r0, r0, 4
/* 80275150 00270DB0  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80275154 00270DB4  1C 7B 00 14 */	mulli r3, r27, 0x14
/* 80275158 00270DB8  3C 00 CD 00 */	lis r0, 0xcd00
/* 8027515C 00270DBC  7C 80 1A 14 */	add r4, r0, r3
/* 80275160 00270DC0  80 64 68 00 */	lwz r3, 0x6800(r4)
/* 80275164 00270DC4  70 63 04 05 */	andi. r3, r3, 0x405
/* 80275168 00270DC8  57 A0 20 36 */	slwi r0, r29, 4
/* 8027516C 00270DCC  7C 63 03 78 */	or r3, r3, r0
/* 80275170 00270DD0  38 00 00 01 */	li r0, 1
/* 80275174 00270DD4  7C 00 E0 30 */	slw r0, r0, r28
/* 80275178 00270DD8  54 00 38 30 */	slwi r0, r0, 7
/* 8027517C 00270DDC  7C 63 03 78 */	or r3, r3, r0
/* 80275180 00270DE0  90 64 68 00 */	stw r3, 0x6800(r4)
/* 80275184 00270DE4  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275188 00270DE8  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8027518C 00270DEC  41 82 00 30 */	beq lbl_802751BC
/* 80275190 00270DF0  2C 1B 00 01 */	cmpwi r27, 1
/* 80275194 00270DF4  41 82 00 20 */	beq lbl_802751B4
/* 80275198 00270DF8  40 80 00 24 */	bge lbl_802751BC
/* 8027519C 00270DFC  2C 1B 00 00 */	cmpwi r27, 0
/* 802751A0 00270E00  40 80 00 08 */	bge lbl_802751A8
/* 802751A4 00270E04  48 00 00 18 */	b lbl_802751BC
lbl_802751A8:
/* 802751A8 00270E08  3C 60 00 10 */	lis r3, 0x10
/* 802751AC 00270E0C  4B FF 99 41 */	bl __OSMaskInterrupts
/* 802751B0 00270E10  48 00 00 0C */	b lbl_802751BC
lbl_802751B4:
/* 802751B4 00270E14  3C 60 00 02 */	lis r3, 2
/* 802751B8 00270E18  4B FF 99 35 */	bl __OSMaskInterrupts
lbl_802751BC:
/* 802751BC 00270E1C  7F C3 F3 78 */	mr r3, r30
/* 802751C0 00270E20  4B FF 95 C5 */	bl OSRestoreInterrupts
/* 802751C4 00270E24  38 60 00 01 */	li r3, 1
lbl_802751C8:
/* 802751C8 00270E28  39 61 00 20 */	addi r11, r1, 0x20
/* 802751CC 00270E2C  4B F5 1F A9 */	bl _restgpr_27
/* 802751D0 00270E30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802751D4 00270E34  7C 08 03 A6 */	mtlr r0
/* 802751D8 00270E38  38 21 00 20 */	addi r1, r1, 0x20
/* 802751DC 00270E3C  4E 80 00 20 */	blr

.global EXIDeselect
EXIDeselect:
/* 802751E0 00270E40  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802751E4 00270E44  7C 08 02 A6 */	mflr r0
/* 802751E8 00270E48  90 01 00 24 */	stw r0, 0x24(r1)
/* 802751EC 00270E4C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802751F0 00270E50  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802751F4 00270E54  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802751F8 00270E58  93 81 00 10 */	stw r28, 0x10(r1)
/* 802751FC 00270E5C  7C 7C 1B 78 */	mr r28, r3
/* 80275200 00270E60  54 60 30 32 */	slwi r0, r3, 6
/* 80275204 00270E64  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80275208 00270E68  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 8027520C 00270E6C  7F E3 02 14 */	add r31, r3, r0
/* 80275210 00270E70  4B FF 95 4D */	bl OSDisableInterrupts
/* 80275214 00270E74  7C 7D 1B 78 */	mr r29, r3
/* 80275218 00270E78  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8027521C 00270E7C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80275220 00270E80  40 82 00 10 */	bne lbl_80275230
/* 80275224 00270E84  4B FF 95 61 */	bl OSRestoreInterrupts
/* 80275228 00270E88  38 60 00 00 */	li r3, 0
/* 8027522C 00270E8C  48 00 00 94 */	b lbl_802752C0
lbl_80275230:
/* 80275230 00270E90  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275234 00270E94  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80275238 00270E98  90 1F 00 0C */	stw r0, 0xc(r31)
/* 8027523C 00270E9C  1C 7C 00 14 */	mulli r3, r28, 0x14
/* 80275240 00270EA0  3C 00 CD 00 */	lis r0, 0xcd00
/* 80275244 00270EA4  7C 60 1A 14 */	add r3, r0, r3
/* 80275248 00270EA8  83 C3 68 00 */	lwz r30, 0x6800(r3)
/* 8027524C 00270EAC  73 C0 04 05 */	andi. r0, r30, 0x405
/* 80275250 00270EB0  90 03 68 00 */	stw r0, 0x6800(r3)
/* 80275254 00270EB4  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275258 00270EB8  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8027525C 00270EBC  41 82 00 30 */	beq lbl_8027528C
/* 80275260 00270EC0  2C 1C 00 01 */	cmpwi r28, 1
/* 80275264 00270EC4  41 82 00 20 */	beq lbl_80275284
/* 80275268 00270EC8  40 80 00 24 */	bge lbl_8027528C
/* 8027526C 00270ECC  2C 1C 00 00 */	cmpwi r28, 0
/* 80275270 00270ED0  40 80 00 08 */	bge lbl_80275278
/* 80275274 00270ED4  48 00 00 18 */	b lbl_8027528C
lbl_80275278:
/* 80275278 00270ED8  3C 60 00 10 */	lis r3, 0x10
/* 8027527C 00270EDC  4B FF 98 F1 */	bl __OSUnmaskInterrupts
/* 80275280 00270EE0  48 00 00 0C */	b lbl_8027528C
lbl_80275284:
/* 80275284 00270EE4  3C 60 00 02 */	lis r3, 2
/* 80275288 00270EE8  4B FF 98 E5 */	bl __OSUnmaskInterrupts
lbl_8027528C:
/* 8027528C 00270EEC  7F A3 EB 78 */	mr r3, r29
/* 80275290 00270EF0  4B FF 94 F5 */	bl OSRestoreInterrupts
/* 80275294 00270EF4  2C 1C 00 02 */	cmpwi r28, 2
/* 80275298 00270EF8  41 82 00 24 */	beq lbl_802752BC
/* 8027529C 00270EFC  57 C0 06 31 */	rlwinm. r0, r30, 0, 0x18, 0x18
/* 802752A0 00270F00  41 82 00 1C */	beq lbl_802752BC
/* 802752A4 00270F04  7F 83 E3 78 */	mr r3, r28
/* 802752A8 00270F08  4B FF FA B9 */	bl __EXIProbe
/* 802752AC 00270F0C  7C 03 00 D0 */	neg r0, r3
/* 802752B0 00270F10  7C 00 1B 78 */	or r0, r0, r3
/* 802752B4 00270F14  54 03 0F FE */	srwi r3, r0, 0x1f
/* 802752B8 00270F18  48 00 00 08 */	b lbl_802752C0
lbl_802752BC:
/* 802752BC 00270F1C  38 60 00 01 */	li r3, 1
lbl_802752C0:
/* 802752C0 00270F20  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802752C4 00270F24  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802752C8 00270F28  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802752CC 00270F2C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802752D0 00270F30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802752D4 00270F34  7C 08 03 A6 */	mtlr r0
/* 802752D8 00270F38  38 21 00 20 */	addi r1, r1, 0x20
/* 802752DC 00270F3C  4E 80 00 20 */	blr

.global EXIIntrruptHandler
EXIIntrruptHandler:
/* 802752E0 00270F40  94 21 FD 20 */	stwu r1, -0x2e0(r1)
/* 802752E4 00270F44  7C 08 02 A6 */	mflr r0
/* 802752E8 00270F48  90 01 02 E4 */	stw r0, 0x2e4(r1)
/* 802752EC 00270F4C  93 E1 02 DC */	stw r31, 0x2dc(r1)
/* 802752F0 00270F50  93 C1 02 D8 */	stw r30, 0x2d8(r1)
/* 802752F4 00270F54  93 A1 02 D4 */	stw r29, 0x2d4(r1)
/* 802752F8 00270F58  7C 9D 23 78 */	mr r29, r4
/* 802752FC 00270F5C  38 03 FF F7 */	addi r0, r3, -9
/* 80275300 00270F60  3C 60 55 55 */	lis r3, 0x55555556@ha
/* 80275304 00270F64  38 63 55 56 */	addi r3, r3, 0x55555556@l
/* 80275308 00270F68  7C 63 00 96 */	mulhw r3, r3, r0
/* 8027530C 00270F6C  54 60 0F FE */	srwi r0, r3, 0x1f
/* 80275310 00270F70  7F E3 02 14 */	add r31, r3, r0
/* 80275314 00270F74  1C 7F 00 14 */	mulli r3, r31, 0x14
/* 80275318 00270F78  3C 00 CD 00 */	lis r0, 0xcd00
/* 8027531C 00270F7C  7C 60 1A 14 */	add r3, r0, r3
/* 80275320 00270F80  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 80275324 00270F84  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 80275328 00270F88  60 00 00 02 */	ori r0, r0, 2
/* 8027532C 00270F8C  90 03 68 00 */	stw r0, 0x6800(r3)
/* 80275330 00270F90  57 E0 30 32 */	slwi r0, r31, 6
/* 80275334 00270F94  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80275338 00270F98  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 8027533C 00270F9C  7F C3 00 2E */	lwzx r30, r3, r0
/* 80275340 00270FA0  2C 1E 00 00 */	cmpwi r30, 0
/* 80275344 00270FA4  41 82 00 38 */	beq lbl_8027537C
/* 80275348 00270FA8  38 61 00 08 */	addi r3, r1, 8
/* 8027534C 00270FAC  4B FF 5D 45 */	bl OSClearContext
/* 80275350 00270FB0  38 61 00 08 */	addi r3, r1, 8
/* 80275354 00270FB4  4B FF 5B 15 */	bl OSSetCurrentContext
/* 80275358 00270FB8  7F E3 FB 78 */	mr r3, r31
/* 8027535C 00270FBC  7F A4 EB 78 */	mr r4, r29
/* 80275360 00270FC0  7F CC F3 78 */	mr r12, r30
/* 80275364 00270FC4  7D 89 03 A6 */	mtctr r12
/* 80275368 00270FC8  4E 80 04 21 */	bctrl
/* 8027536C 00270FCC  38 61 00 08 */	addi r3, r1, 8
/* 80275370 00270FD0  4B FF 5D 21 */	bl OSClearContext
/* 80275374 00270FD4  7F A3 EB 78 */	mr r3, r29
/* 80275378 00270FD8  4B FF 5A F1 */	bl OSSetCurrentContext
lbl_8027537C:
/* 8027537C 00270FDC  83 E1 02 DC */	lwz r31, 0x2dc(r1)
/* 80275380 00270FE0  83 C1 02 D8 */	lwz r30, 0x2d8(r1)
/* 80275384 00270FE4  83 A1 02 D4 */	lwz r29, 0x2d4(r1)
/* 80275388 00270FE8  80 01 02 E4 */	lwz r0, 0x2e4(r1)
/* 8027538C 00270FEC  7C 08 03 A6 */	mtlr r0
/* 80275390 00270FF0  38 21 02 E0 */	addi r1, r1, 0x2e0
/* 80275394 00270FF4  4E 80 00 20 */	blr

.global TCIntrruptHandler
TCIntrruptHandler:
/* 80275398 00270FF8  94 21 FD 10 */	stwu r1, -0x2f0(r1)
/* 8027539C 00270FFC  7C 08 02 A6 */	mflr r0
/* 802753A0 00271000  90 01 02 F4 */	stw r0, 0x2f4(r1)
/* 802753A4 00271004  39 61 02 F0 */	addi r11, r1, 0x2f0
/* 802753A8 00271008  4B F5 1D 81 */	bl _savegpr_27
/* 802753AC 0027100C  7C 9B 23 78 */	mr r27, r4
/* 802753B0 00271010  38 03 FF F6 */	addi r0, r3, -10
/* 802753B4 00271014  3C 80 55 55 */	lis r4, 0x55555556@ha
/* 802753B8 00271018  38 84 55 56 */	addi r4, r4, 0x55555556@l
/* 802753BC 0027101C  7C 84 00 96 */	mulhw r4, r4, r0
/* 802753C0 00271020  54 80 0F FE */	srwi r0, r4, 0x1f
/* 802753C4 00271024  7F A4 02 14 */	add r29, r4, r0
/* 802753C8 00271028  57 A0 30 32 */	slwi r0, r29, 6
/* 802753CC 0027102C  3C 80 80 51 */	lis r4, lbl_805154C0@ha
/* 802753D0 00271030  38 84 54 C0 */	addi r4, r4, lbl_805154C0@l
/* 802753D4 00271034  7F C4 02 14 */	add r30, r4, r0
/* 802753D8 00271038  3F E0 80 00 */	lis r31, 0x8000
/* 802753DC 0027103C  7F E3 1C 30 */	srw r3, r31, r3
/* 802753E0 00271040  4B FF 97 0D */	bl __OSMaskInterrupts
/* 802753E4 00271044  1C 7D 00 14 */	mulli r3, r29, 0x14
/* 802753E8 00271048  3C 00 CD 00 */	lis r0, 0xcd00
/* 802753EC 0027104C  7C 60 1A 14 */	add r3, r0, r3
/* 802753F0 00271050  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 802753F4 00271054  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 802753F8 00271058  60 00 00 08 */	ori r0, r0, 8
/* 802753FC 0027105C  90 03 68 00 */	stw r0, 0x6800(r3)
/* 80275400 00271060  83 9E 00 04 */	lwz r28, 4(r30)
/* 80275404 00271064  2C 1C 00 00 */	cmpwi r28, 0
/* 80275408 00271068  41 82 01 90 */	beq lbl_80275598
/* 8027540C 0027106C  38 00 00 00 */	li r0, 0
/* 80275410 00271070  90 1E 00 04 */	stw r0, 4(r30)
/* 80275414 00271074  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80275418 00271078  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 8027541C 0027107C  41 82 01 48 */	beq lbl_80275564
/* 80275420 00271080  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80275424 00271084  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80275428 00271088  41 82 01 30 */	beq lbl_80275558
/* 8027542C 0027108C  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 80275430 00271090  2C 85 00 00 */	cmpwi cr1, r5, 0
/* 80275434 00271094  41 86 01 24 */	beq cr1, lbl_80275558
/* 80275438 00271098  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 8027543C 0027109C  80 03 68 10 */	lwz r0, 0x6810(r3)
/* 80275440 002710A0  38 60 00 00 */	li r3, 0
/* 80275444 002710A4  40 85 01 14 */	ble cr1, lbl_80275558
/* 80275448 002710A8  38 E5 FF F8 */	addi r7, r5, -8
/* 8027544C 002710AC  2C 05 00 08 */	cmpwi r5, 8
/* 80275450 002710B0  40 81 00 DC */	ble lbl_8027552C
/* 80275454 002710B4  39 00 00 00 */	li r8, 0
/* 80275458 002710B8  41 84 00 14 */	blt cr1, lbl_8027546C
/* 8027545C 002710BC  38 DF FF FE */	addi r6, r31, -2
/* 80275460 002710C0  7C 05 30 00 */	cmpw r5, r6
/* 80275464 002710C4  41 81 00 08 */	bgt lbl_8027546C
/* 80275468 002710C8  39 00 00 01 */	li r8, 1
lbl_8027546C:
/* 8027546C 002710CC  2C 08 00 00 */	cmpwi r8, 0
/* 80275470 002710D0  41 82 00 BC */	beq lbl_8027552C
/* 80275474 002710D4  38 C7 00 07 */	addi r6, r7, 7
/* 80275478 002710D8  54 C6 E8 FE */	srwi r6, r6, 3
/* 8027547C 002710DC  7C C9 03 A6 */	mtctr r6
/* 80275480 002710E0  2C 07 00 00 */	cmpwi r7, 0
/* 80275484 002710E4  40 81 00 A8 */	ble lbl_8027552C
lbl_80275488:
/* 80275488 002710E8  20 C3 00 03 */	subfic r6, r3, 3
/* 8027548C 002710EC  54 C6 18 38 */	slwi r6, r6, 3
/* 80275490 002710F0  7C 06 34 30 */	srw r6, r0, r6
/* 80275494 002710F4  98 C4 00 00 */	stb r6, 0(r4)
/* 80275498 002710F8  38 C3 00 01 */	addi r6, r3, 1
/* 8027549C 002710FC  20 C6 00 03 */	subfic r6, r6, 3
/* 802754A0 00271100  54 C6 18 38 */	slwi r6, r6, 3
/* 802754A4 00271104  7C 06 34 30 */	srw r6, r0, r6
/* 802754A8 00271108  98 C4 00 01 */	stb r6, 1(r4)
/* 802754AC 0027110C  38 C3 00 02 */	addi r6, r3, 2
/* 802754B0 00271110  20 C6 00 03 */	subfic r6, r6, 3
/* 802754B4 00271114  54 C6 18 38 */	slwi r6, r6, 3
/* 802754B8 00271118  7C 06 34 30 */	srw r6, r0, r6
/* 802754BC 0027111C  98 C4 00 02 */	stb r6, 2(r4)
/* 802754C0 00271120  7C C3 00 D0 */	neg r6, r3
/* 802754C4 00271124  54 C6 18 38 */	slwi r6, r6, 3
/* 802754C8 00271128  7C 06 34 30 */	srw r6, r0, r6
/* 802754CC 0027112C  98 C4 00 03 */	stb r6, 3(r4)
/* 802754D0 00271130  38 C3 00 04 */	addi r6, r3, 4
/* 802754D4 00271134  20 C6 00 03 */	subfic r6, r6, 3
/* 802754D8 00271138  54 C6 18 38 */	slwi r6, r6, 3
/* 802754DC 0027113C  7C 06 34 30 */	srw r6, r0, r6
/* 802754E0 00271140  98 C4 00 04 */	stb r6, 4(r4)
/* 802754E4 00271144  38 C3 00 05 */	addi r6, r3, 5
/* 802754E8 00271148  20 C6 00 03 */	subfic r6, r6, 3
/* 802754EC 0027114C  54 C6 18 38 */	slwi r6, r6, 3
/* 802754F0 00271150  7C 06 34 30 */	srw r6, r0, r6
/* 802754F4 00271154  98 C4 00 05 */	stb r6, 5(r4)
/* 802754F8 00271158  38 C3 00 06 */	addi r6, r3, 6
/* 802754FC 0027115C  20 C6 00 03 */	subfic r6, r6, 3
/* 80275500 00271160  54 C6 18 38 */	slwi r6, r6, 3
/* 80275504 00271164  7C 06 34 30 */	srw r6, r0, r6
/* 80275508 00271168  98 C4 00 06 */	stb r6, 6(r4)
/* 8027550C 0027116C  38 C3 00 07 */	addi r6, r3, 7
/* 80275510 00271170  20 C6 00 03 */	subfic r6, r6, 3
/* 80275514 00271174  54 C6 18 38 */	slwi r6, r6, 3
/* 80275518 00271178  7C 06 34 30 */	srw r6, r0, r6
/* 8027551C 0027117C  98 C4 00 07 */	stb r6, 7(r4)
/* 80275520 00271180  38 84 00 08 */	addi r4, r4, 8
/* 80275524 00271184  38 63 00 08 */	addi r3, r3, 8
/* 80275528 00271188  42 00 FF 60 */	bdnz lbl_80275488
lbl_8027552C:
/* 8027552C 0027118C  7C C3 28 50 */	subf r6, r3, r5
/* 80275530 00271190  7C C9 03 A6 */	mtctr r6
/* 80275534 00271194  7C 03 28 00 */	cmpw r3, r5
/* 80275538 00271198  40 80 00 20 */	bge lbl_80275558
lbl_8027553C:
/* 8027553C 0027119C  20 A3 00 03 */	subfic r5, r3, 3
/* 80275540 002711A0  54 A5 18 38 */	slwi r5, r5, 3
/* 80275544 002711A4  7C 05 2C 30 */	srw r5, r0, r5
/* 80275548 002711A8  98 A4 00 00 */	stb r5, 0(r4)
/* 8027554C 002711AC  38 84 00 01 */	addi r4, r4, 1
/* 80275550 002711B0  38 63 00 01 */	addi r3, r3, 1
/* 80275554 002711B4  42 00 FF E8 */	bdnz lbl_8027553C
lbl_80275558:
/* 80275558 002711B8  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 8027555C 002711BC  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 80275560 002711C0  90 1E 00 0C */	stw r0, 0xc(r30)
lbl_80275564:
/* 80275564 002711C4  38 61 00 08 */	addi r3, r1, 8
/* 80275568 002711C8  4B FF 5B 29 */	bl OSClearContext
/* 8027556C 002711CC  38 61 00 08 */	addi r3, r1, 8
/* 80275570 002711D0  4B FF 58 F9 */	bl OSSetCurrentContext
/* 80275574 002711D4  7F A3 EB 78 */	mr r3, r29
/* 80275578 002711D8  7F 64 DB 78 */	mr r4, r27
/* 8027557C 002711DC  7F 8C E3 78 */	mr r12, r28
/* 80275580 002711E0  7D 89 03 A6 */	mtctr r12
/* 80275584 002711E4  4E 80 04 21 */	bctrl
/* 80275588 002711E8  38 61 00 08 */	addi r3, r1, 8
/* 8027558C 002711EC  4B FF 5B 05 */	bl OSClearContext
/* 80275590 002711F0  7F 63 DB 78 */	mr r3, r27
/* 80275594 002711F4  4B FF 58 D5 */	bl OSSetCurrentContext
lbl_80275598:
/* 80275598 002711F8  39 61 02 F0 */	addi r11, r1, 0x2f0
/* 8027559C 002711FC  4B F5 1B D9 */	bl _restgpr_27
/* 802755A0 00271200  80 01 02 F4 */	lwz r0, 0x2f4(r1)
/* 802755A4 00271204  7C 08 03 A6 */	mtlr r0
/* 802755A8 00271208  38 21 02 F0 */	addi r1, r1, 0x2f0
/* 802755AC 0027120C  4E 80 00 20 */	blr

.global EXTIntrruptHandler
EXTIntrruptHandler:
/* 802755B0 00271210  94 21 FD 20 */	stwu r1, -0x2e0(r1)
/* 802755B4 00271214  7C 08 02 A6 */	mflr r0
/* 802755B8 00271218  90 01 02 E4 */	stw r0, 0x2e4(r1)
/* 802755BC 0027121C  93 E1 02 DC */	stw r31, 0x2dc(r1)
/* 802755C0 00271220  93 C1 02 D8 */	stw r30, 0x2d8(r1)
/* 802755C4 00271224  93 A1 02 D4 */	stw r29, 0x2d4(r1)
/* 802755C8 00271228  93 81 02 D0 */	stw r28, 0x2d0(r1)
/* 802755CC 0027122C  7C 9C 23 78 */	mr r28, r4
/* 802755D0 00271230  38 03 FF F5 */	addi r0, r3, -11
/* 802755D4 00271234  3C 60 55 55 */	lis r3, 0x55555556@ha
/* 802755D8 00271238  38 63 55 56 */	addi r3, r3, 0x55555556@l
/* 802755DC 0027123C  7C 63 00 96 */	mulhw r3, r3, r0
/* 802755E0 00271240  54 60 0F FE */	srwi r0, r3, 0x1f
/* 802755E4 00271244  7F E3 02 14 */	add r31, r3, r0
/* 802755E8 00271248  3C 60 00 50 */	lis r3, 0x50
/* 802755EC 0027124C  57 E0 10 3A */	slwi r0, r31, 2
/* 802755F0 00271250  7C 1F 00 50 */	subf r0, r31, r0
/* 802755F4 00271254  7C 63 04 30 */	srw r3, r3, r0
/* 802755F8 00271258  4B FF 94 F5 */	bl __OSMaskInterrupts
/* 802755FC 0027125C  57 E0 30 32 */	slwi r0, r31, 6
/* 80275600 00271260  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80275604 00271264  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 80275608 00271268  7F C3 02 14 */	add r30, r3, r0
/* 8027560C 0027126C  83 BE 00 08 */	lwz r29, 8(r30)
/* 80275610 00271270  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80275614 00271274  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80275618 00271278  90 1E 00 0C */	stw r0, 0xc(r30)
/* 8027561C 0027127C  2C 1D 00 00 */	cmpwi r29, 0
/* 80275620 00271280  41 82 00 40 */	beq lbl_80275660
/* 80275624 00271284  38 61 00 08 */	addi r3, r1, 8
/* 80275628 00271288  4B FF 5A 69 */	bl OSClearContext
/* 8027562C 0027128C  38 61 00 08 */	addi r3, r1, 8
/* 80275630 00271290  4B FF 58 39 */	bl OSSetCurrentContext
/* 80275634 00271294  38 00 00 00 */	li r0, 0
/* 80275638 00271298  90 1E 00 08 */	stw r0, 8(r30)
/* 8027563C 0027129C  7F E3 FB 78 */	mr r3, r31
/* 80275640 002712A0  7F 84 E3 78 */	mr r4, r28
/* 80275644 002712A4  7F AC EB 78 */	mr r12, r29
/* 80275648 002712A8  7D 89 03 A6 */	mtctr r12
/* 8027564C 002712AC  4E 80 04 21 */	bctrl
/* 80275650 002712B0  38 61 00 08 */	addi r3, r1, 8
/* 80275654 002712B4  4B FF 5A 3D */	bl OSClearContext
/* 80275658 002712B8  7F 83 E3 78 */	mr r3, r28
/* 8027565C 002712BC  4B FF 58 0D */	bl OSSetCurrentContext
lbl_80275660:
/* 80275660 002712C0  83 E1 02 DC */	lwz r31, 0x2dc(r1)
/* 80275664 002712C4  83 C1 02 D8 */	lwz r30, 0x2d8(r1)
/* 80275668 002712C8  83 A1 02 D4 */	lwz r29, 0x2d4(r1)
/* 8027566C 002712CC  83 81 02 D0 */	lwz r28, 0x2d0(r1)
/* 80275670 002712D0  80 01 02 E4 */	lwz r0, 0x2e4(r1)
/* 80275674 002712D4  7C 08 03 A6 */	mtlr r0
/* 80275678 002712D8  38 21 02 E0 */	addi r1, r1, 0x2e0
/* 8027567C 002712DC  4E 80 00 20 */	blr

.global EXIInit
EXIInit:
/* 80275680 002712E0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80275684 002712E4  7C 08 02 A6 */	mflr r0
/* 80275688 002712E8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027568C 002712EC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80275690 002712F0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80275694 002712F4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80275698 002712F8  93 81 00 10 */	stw r28, 0x10(r1)
/* 8027569C 002712FC  3C 60 CD 00 */	lis r3, 0xCD00680C@ha
lbl_802756A0:
/* 802756A0 00271300  80 03 68 0C */	lwz r0, 0xCD00680C@l(r3)
/* 802756A4 00271304  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 802756A8 00271308  28 00 00 01 */	cmplwi r0, 1
/* 802756AC 0027130C  41 82 FF F4 */	beq lbl_802756A0
/* 802756B0 00271310  80 03 68 20 */	lwz r0, 0x6820(r3)
/* 802756B4 00271314  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 802756B8 00271318  28 00 00 01 */	cmplwi r0, 1
/* 802756BC 0027131C  41 82 FF E4 */	beq lbl_802756A0
/* 802756C0 00271320  80 03 68 34 */	lwz r0, 0x6834(r3)
/* 802756C4 00271324  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 802756C8 00271328  28 00 00 01 */	cmplwi r0, 1
/* 802756CC 0027132C  41 82 FF D4 */	beq lbl_802756A0
/* 802756D0 00271330  3C 60 00 80 */	lis r3, 0x007F8000@ha
/* 802756D4 00271334  38 63 80 00 */	addi r3, r3, 0x007F8000@l
/* 802756D8 00271338  4B FF 94 15 */	bl __OSMaskInterrupts
/* 802756DC 0027133C  3B 80 00 00 */	li r28, 0
/* 802756E0 00271340  3C 60 CD 00 */	lis r3, 0xCD006800@ha
/* 802756E4 00271344  93 83 68 00 */	stw r28, 0xCD006800@l(r3)
/* 802756E8 00271348  93 83 68 14 */	stw r28, 0x6814(r3)
/* 802756EC 0027134C  93 83 68 28 */	stw r28, 0x6828(r3)
/* 802756F0 00271350  38 00 20 00 */	li r0, 0x2000
/* 802756F4 00271354  90 03 68 00 */	stw r0, 0x6800(r3)
/* 802756F8 00271358  38 60 00 09 */	li r3, 9
/* 802756FC 0027135C  3F A0 80 27 */	lis r29, EXIIntrruptHandler@ha
/* 80275700 00271360  38 9D 52 E0 */	addi r4, r29, EXIIntrruptHandler@l
/* 80275704 00271364  4B FF 90 A5 */	bl __OSSetInterruptHandler
/* 80275708 00271368  38 60 00 0A */	li r3, 0xa
/* 8027570C 0027136C  3F C0 80 27 */	lis r30, TCIntrruptHandler@ha
/* 80275710 00271370  38 9E 53 98 */	addi r4, r30, TCIntrruptHandler@l
/* 80275714 00271374  4B FF 90 95 */	bl __OSSetInterruptHandler
/* 80275718 00271378  38 60 00 0B */	li r3, 0xb
/* 8027571C 0027137C  3F E0 80 27 */	lis r31, EXTIntrruptHandler@ha
/* 80275720 00271380  38 9F 55 B0 */	addi r4, r31, EXTIntrruptHandler@l
/* 80275724 00271384  4B FF 90 85 */	bl __OSSetInterruptHandler
/* 80275728 00271388  38 60 00 0C */	li r3, 0xc
/* 8027572C 0027138C  38 9D 52 E0 */	addi r4, r29, 0x52e0
/* 80275730 00271390  4B FF 90 79 */	bl __OSSetInterruptHandler
/* 80275734 00271394  38 60 00 0D */	li r3, 0xd
/* 80275738 00271398  38 9E 53 98 */	addi r4, r30, 0x5398
/* 8027573C 0027139C  4B FF 90 6D */	bl __OSSetInterruptHandler
/* 80275740 002713A0  38 60 00 0E */	li r3, 0xe
/* 80275744 002713A4  38 9F 55 B0 */	addi r4, r31, 0x55b0
/* 80275748 002713A8  4B FF 90 61 */	bl __OSSetInterruptHandler
/* 8027574C 002713AC  38 60 00 0F */	li r3, 0xf
/* 80275750 002713B0  38 9D 52 E0 */	addi r4, r29, 0x52e0
/* 80275754 002713B4  4B FF 90 55 */	bl __OSSetInterruptHandler
/* 80275758 002713B8  38 60 00 10 */	li r3, 0x10
/* 8027575C 002713BC  38 9E 53 98 */	addi r4, r30, 0x5398
/* 80275760 002713C0  4B FF 90 49 */	bl __OSSetInterruptHandler
/* 80275764 002713C4  38 60 00 00 */	li r3, 0
/* 80275768 002713C8  38 80 00 02 */	li r4, 2
/* 8027576C 002713CC  38 AD A8 88 */	addi r5, r13, lbl_8063FB48-_SDA_BASE_
/* 80275770 002713D0  48 00 02 D1 */	bl EXIGetID
/* 80275774 002713D4  80 0D A7 68 */	lwz r0, lbl_8063FA28-_SDA_BASE_(r13)
/* 80275778 002713D8  2C 00 00 00 */	cmpwi r0, 0
/* 8027577C 002713DC  41 82 00 34 */	beq lbl_802757B0
/* 80275780 002713E0  3C 60 80 00 */	lis r3, 0x800030C4@ha
/* 80275784 002713E4  93 83 30 C4 */	stw r28, 0x800030C4@l(r3)
/* 80275788 002713E8  93 83 30 C0 */	stw r28, 0x30c0(r3)
/* 8027578C 002713EC  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80275790 002713F0  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 80275794 002713F4  93 83 00 60 */	stw r28, 0x60(r3)
/* 80275798 002713F8  93 83 00 20 */	stw r28, 0x20(r3)
/* 8027579C 002713FC  38 60 00 00 */	li r3, 0
/* 802757A0 00271400  4B FF F5 C1 */	bl __EXIProbe
/* 802757A4 00271404  38 60 00 01 */	li r3, 1
/* 802757A8 00271408  4B FF F5 B9 */	bl __EXIProbe
/* 802757AC 0027140C  48 00 00 70 */	b lbl_8027581C
lbl_802757B0:
/* 802757B0 00271410  38 60 00 00 */	li r3, 0
/* 802757B4 00271414  38 80 00 00 */	li r4, 0
/* 802757B8 00271418  38 A1 00 08 */	addi r5, r1, 8
/* 802757BC 0027141C  48 00 02 85 */	bl EXIGetID
/* 802757C0 00271420  2C 03 00 00 */	cmpwi r3, 0
/* 802757C4 00271424  41 82 00 24 */	beq lbl_802757E8
/* 802757C8 00271428  80 61 00 08 */	lwz r3, 8(r1)
/* 802757CC 0027142C  3C 03 F8 FF */	addis r0, r3, 0xf8ff
/* 802757D0 00271430  28 00 00 00 */	cmplwi r0, 0
/* 802757D4 00271434  40 82 00 14 */	bne lbl_802757E8
/* 802757D8 00271438  38 60 00 01 */	li r3, 1
/* 802757DC 0027143C  38 80 00 00 */	li r4, 0
/* 802757E0 00271440  48 00 07 85 */	bl __OSEnableBarnacle
/* 802757E4 00271444  48 00 00 38 */	b lbl_8027581C
lbl_802757E8:
/* 802757E8 00271448  38 60 00 01 */	li r3, 1
/* 802757EC 0027144C  38 80 00 00 */	li r4, 0
/* 802757F0 00271450  38 A1 00 08 */	addi r5, r1, 8
/* 802757F4 00271454  48 00 02 4D */	bl EXIGetID
/* 802757F8 00271458  2C 03 00 00 */	cmpwi r3, 0
/* 802757FC 0027145C  41 82 00 20 */	beq lbl_8027581C
/* 80275800 00271460  80 61 00 08 */	lwz r3, 8(r1)
/* 80275804 00271464  3C 03 F8 FF */	addis r0, r3, 0xf8ff
/* 80275808 00271468  28 00 00 00 */	cmplwi r0, 0
/* 8027580C 0027146C  40 82 00 10 */	bne lbl_8027581C
/* 80275810 00271470  38 60 00 00 */	li r3, 0
/* 80275814 00271474  38 80 00 02 */	li r4, 2
/* 80275818 00271478  48 00 07 4D */	bl __OSEnableBarnacle
lbl_8027581C:
/* 8027581C 0027147C  80 6D 87 F8 */	lwz r3, lbl_8063DAB8-_SDA_BASE_(r13)
/* 80275820 00271480  4B FF 3E 31 */	bl OSRegisterVersion
/* 80275824 00271484  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80275828 00271488  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027582C 0027148C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80275830 00271490  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80275834 00271494  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80275838 00271498  7C 08 03 A6 */	mtlr r0
/* 8027583C 0027149C  38 21 00 20 */	addi r1, r1, 0x20
/* 80275840 002714A0  4E 80 00 20 */	blr

.global EXILock
EXILock:
/* 80275844 002714A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80275848 002714A8  7C 08 02 A6 */	mflr r0
/* 8027584C 002714AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80275850 002714B0  39 61 00 20 */	addi r11, r1, 0x20
/* 80275854 002714B4  4B F5 18 D5 */	bl _savegpr_27
/* 80275858 002714B8  7C 7B 1B 78 */	mr r27, r3
/* 8027585C 002714BC  7C 9F 23 78 */	mr r31, r4
/* 80275860 002714C0  7C BC 2B 78 */	mr r28, r5
/* 80275864 002714C4  54 60 30 32 */	slwi r0, r3, 6
/* 80275868 002714C8  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 8027586C 002714CC  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 80275870 002714D0  7F C3 02 14 */	add r30, r3, r0
/* 80275874 002714D4  4B FF 8E E9 */	bl OSDisableInterrupts
/* 80275878 002714D8  7C 7D 1B 78 */	mr r29, r3
/* 8027587C 002714DC  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80275880 002714E0  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80275884 002714E4  41 82 00 7C */	beq lbl_80275900
/* 80275888 002714E8  2C 1C 00 00 */	cmpwi r28, 0
/* 8027588C 002714EC  41 82 00 64 */	beq lbl_802758F0
/* 80275890 002714F0  7F C3 F3 78 */	mr r3, r30
/* 80275894 002714F4  80 9E 00 24 */	lwz r4, 0x24(r30)
/* 80275898 002714F8  7C 89 03 A6 */	mtctr r4
/* 8027589C 002714FC  2C 04 00 00 */	cmpwi r4, 0
/* 802758A0 00271500  40 81 00 28 */	ble lbl_802758C8
lbl_802758A4:
/* 802758A4 00271504  80 03 00 28 */	lwz r0, 0x28(r3)
/* 802758A8 00271508  7C 1F 00 40 */	cmplw r31, r0
/* 802758AC 0027150C  40 82 00 14 */	bne lbl_802758C0
/* 802758B0 00271510  7F A3 EB 78 */	mr r3, r29
/* 802758B4 00271514  4B FF 8E D1 */	bl OSRestoreInterrupts
/* 802758B8 00271518  38 60 00 00 */	li r3, 0
/* 802758BC 0027151C  48 00 00 6C */	b lbl_80275928
lbl_802758C0:
/* 802758C0 00271520  38 63 00 08 */	addi r3, r3, 8
/* 802758C4 00271524  42 00 FF E0 */	bdnz lbl_802758A4
lbl_802758C8:
/* 802758C8 00271528  54 80 18 38 */	slwi r0, r4, 3
/* 802758CC 0027152C  7C 7E 02 14 */	add r3, r30, r0
/* 802758D0 00271530  93 83 00 2C */	stw r28, 0x2c(r3)
/* 802758D4 00271534  80 1E 00 24 */	lwz r0, 0x24(r30)
/* 802758D8 00271538  54 00 18 38 */	slwi r0, r0, 3
/* 802758DC 0027153C  7C 7E 02 14 */	add r3, r30, r0
/* 802758E0 00271540  93 E3 00 28 */	stw r31, 0x28(r3)
/* 802758E4 00271544  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 802758E8 00271548  38 03 00 01 */	addi r0, r3, 1
/* 802758EC 0027154C  90 1E 00 24 */	stw r0, 0x24(r30)
lbl_802758F0:
/* 802758F0 00271550  7F A3 EB 78 */	mr r3, r29
/* 802758F4 00271554  4B FF 8E 91 */	bl OSRestoreInterrupts
/* 802758F8 00271558  38 60 00 00 */	li r3, 0
/* 802758FC 0027155C  48 00 00 2C */	b lbl_80275928
lbl_80275900:
/* 80275900 00271560  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80275904 00271564  60 00 00 10 */	ori r0, r0, 0x10
/* 80275908 00271568  90 1E 00 0C */	stw r0, 0xc(r30)
/* 8027590C 0027156C  93 FE 00 18 */	stw r31, 0x18(r30)
/* 80275910 00271570  7F 63 DB 78 */	mr r3, r27
/* 80275914 00271574  7F C4 F3 78 */	mr r4, r30
/* 80275918 00271578  4B FF EC 41 */	bl SetExiInterruptMask
/* 8027591C 0027157C  7F A3 EB 78 */	mr r3, r29
/* 80275920 00271580  4B FF 8E 65 */	bl OSRestoreInterrupts
/* 80275924 00271584  38 60 00 01 */	li r3, 1
lbl_80275928:
/* 80275928 00271588  39 61 00 20 */	addi r11, r1, 0x20
/* 8027592C 0027158C  4B F5 18 49 */	bl _restgpr_27
/* 80275930 00271590  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80275934 00271594  7C 08 03 A6 */	mtlr r0
/* 80275938 00271598  38 21 00 20 */	addi r1, r1, 0x20
/* 8027593C 0027159C  4E 80 00 20 */	blr

.global EXIUnlock
EXIUnlock:
/* 80275940 002715A0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80275944 002715A4  7C 08 02 A6 */	mflr r0
/* 80275948 002715A8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027594C 002715AC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80275950 002715B0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80275954 002715B4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80275958 002715B8  93 81 00 10 */	stw r28, 0x10(r1)
/* 8027595C 002715BC  7C 7C 1B 78 */	mr r28, r3
/* 80275960 002715C0  54 60 30 32 */	slwi r0, r3, 6
/* 80275964 002715C4  3C 60 80 51 */	lis r3, lbl_805154C0@ha
/* 80275968 002715C8  38 63 54 C0 */	addi r3, r3, lbl_805154C0@l
/* 8027596C 002715CC  7F E3 02 14 */	add r31, r3, r0
/* 80275970 002715D0  4B FF 8D ED */	bl OSDisableInterrupts
/* 80275974 002715D4  7C 7E 1B 78 */	mr r30, r3
/* 80275978 002715D8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8027597C 002715DC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80275980 002715E0  40 82 00 10 */	bne lbl_80275990
/* 80275984 002715E4  4B FF 8E 01 */	bl OSRestoreInterrupts
/* 80275988 002715E8  38 60 00 00 */	li r3, 0
/* 8027598C 002715EC  48 00 00 6C */	b lbl_802759F8
lbl_80275990:
/* 80275990 002715F0  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 80275994 002715F4  54 00 07 34 */	rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80275998 002715F8  90 1F 00 0C */	stw r0, 0xc(r31)
/* 8027599C 002715FC  7F 83 E3 78 */	mr r3, r28
/* 802759A0 00271600  7F E4 FB 78 */	mr r4, r31
/* 802759A4 00271604  4B FF EB B5 */	bl SetExiInterruptMask
/* 802759A8 00271608  80 7F 00 24 */	lwz r3, 0x24(r31)
/* 802759AC 0027160C  2C 03 00 00 */	cmpwi r3, 0
/* 802759B0 00271610  40 81 00 3C */	ble lbl_802759EC
/* 802759B4 00271614  83 BF 00 2C */	lwz r29, 0x2c(r31)
/* 802759B8 00271618  34 03 FF FF */	addic. r0, r3, -1
/* 802759BC 0027161C  90 1F 00 24 */	stw r0, 0x24(r31)
/* 802759C0 00271620  40 81 00 18 */	ble lbl_802759D8
/* 802759C4 00271624  38 7F 00 28 */	addi r3, r31, 0x28
/* 802759C8 00271628  38 9F 00 30 */	addi r4, r31, 0x30
/* 802759CC 0027162C  80 1F 00 24 */	lwz r0, 0x24(r31)
/* 802759D0 00271630  54 05 18 38 */	slwi r5, r0, 3
/* 802759D4 00271634  4B F5 48 A1 */	bl memmove
lbl_802759D8:
/* 802759D8 00271638  7F 83 E3 78 */	mr r3, r28
/* 802759DC 0027163C  38 80 00 00 */	li r4, 0
/* 802759E0 00271640  7F AC EB 78 */	mr r12, r29
/* 802759E4 00271644  7D 89 03 A6 */	mtctr r12
/* 802759E8 00271648  4E 80 04 21 */	bctrl
lbl_802759EC:
/* 802759EC 0027164C  7F C3 F3 78 */	mr r3, r30
/* 802759F0 00271650  4B FF 8D 95 */	bl OSRestoreInterrupts
/* 802759F4 00271654  38 60 00 01 */	li r3, 1
lbl_802759F8:
/* 802759F8 00271658  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802759FC 0027165C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80275A00 00271660  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80275A04 00271664  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80275A08 00271668  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80275A0C 0027166C  7C 08 03 A6 */	mtlr r0
/* 80275A10 00271670  38 21 00 20 */	addi r1, r1, 0x20
/* 80275A14 00271674  4E 80 00 20 */	blr

.global UnlockedHandler
UnlockedHandler:
/* 80275A18 00271678  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80275A1C 0027167C  7C 08 02 A6 */	mflr r0
/* 80275A20 00271680  90 01 00 14 */	stw r0, 0x14(r1)
/* 80275A24 00271684  38 80 00 00 */	li r4, 0
/* 80275A28 00271688  38 A1 00 08 */	addi r5, r1, 8
/* 80275A2C 0027168C  48 00 00 15 */	bl EXIGetID
/* 80275A30 00271690  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80275A34 00271694  7C 08 03 A6 */	mtlr r0
/* 80275A38 00271698  38 21 00 10 */	addi r1, r1, 0x10
/* 80275A3C 0027169C  4E 80 00 20 */	blr

.global EXIGetID
EXIGetID:
/* 80275A40 002716A0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80275A44 002716A4  7C 08 02 A6 */	mflr r0
/* 80275A48 002716A8  90 01 00 44 */	stw r0, 0x44(r1)
/* 80275A4C 002716AC  39 61 00 40 */	addi r11, r1, 0x40
/* 80275A50 002716B0  4B F5 16 C9 */	bl _savegpr_23
/* 80275A54 002716B4  7C 79 1B 78 */	mr r25, r3
/* 80275A58 002716B8  7C 9A 23 78 */	mr r26, r4
/* 80275A5C 002716BC  7C BB 2B 78 */	mr r27, r5
/* 80275A60 002716C0  54 60 30 32 */	slwi r0, r3, 6
/* 80275A64 002716C4  3C C0 80 51 */	lis r6, lbl_805154C0@ha
/* 80275A68 002716C8  38 C6 54 C0 */	addi r6, r6, lbl_805154C0@l
/* 80275A6C 002716CC  7F A6 02 14 */	add r29, r6, r0
/* 80275A70 002716D0  2C 03 00 00 */	cmpwi r3, 0
/* 80275A74 002716D4  40 82 00 24 */	bne lbl_80275A98
/* 80275A78 002716D8  28 04 00 02 */	cmplwi r4, 2
/* 80275A7C 002716DC  40 82 00 1C */	bne lbl_80275A98
/* 80275A80 002716E0  80 0D A8 88 */	lwz r0, lbl_8063FB48-_SDA_BASE_(r13)
/* 80275A84 002716E4  2C 00 00 00 */	cmpwi r0, 0
/* 80275A88 002716E8  41 82 00 10 */	beq lbl_80275A98
/* 80275A8C 002716EC  90 05 00 00 */	stw r0, 0(r5)
/* 80275A90 002716F0  38 60 00 01 */	li r3, 1
/* 80275A94 002716F4  48 00 03 40 */	b lbl_80275DD4
lbl_80275A98:
/* 80275A98 002716F8  2C 03 00 02 */	cmpwi r3, 2
/* 80275A9C 002716FC  40 80 00 E8 */	bge lbl_80275B84
/* 80275AA0 00271700  2C 04 00 00 */	cmpwi r4, 0
/* 80275AA4 00271704  40 82 00 E0 */	bne lbl_80275B84
/* 80275AA8 00271708  7F 23 CB 78 */	mr r3, r25
/* 80275AAC 0027170C  4B FF F2 B5 */	bl __EXIProbe
/* 80275AB0 00271710  2C 03 00 00 */	cmpwi r3, 0
/* 80275AB4 00271714  40 82 00 0C */	bne lbl_80275AC0
/* 80275AB8 00271718  38 60 00 00 */	li r3, 0
/* 80275ABC 0027171C  48 00 03 18 */	b lbl_80275DD4
lbl_80275AC0:
/* 80275AC0 00271720  57 23 10 3A */	slwi r3, r25, 2
/* 80275AC4 00271724  3C 00 80 00 */	lis r0, 0x8000
/* 80275AC8 00271728  7F E0 1A 14 */	add r31, r0, r3
/* 80275ACC 0027172C  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 80275AD0 00271730  80 1F 30 C0 */	lwz r0, 0x30c0(r31)
/* 80275AD4 00271734  7C 03 00 00 */	cmpw r3, r0
/* 80275AD8 00271738  40 82 00 14 */	bne lbl_80275AEC
/* 80275ADC 0027173C  80 1D 00 1C */	lwz r0, 0x1c(r29)
/* 80275AE0 00271740  90 1B 00 00 */	stw r0, 0(r27)
/* 80275AE4 00271744  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 80275AE8 00271748  48 00 02 EC */	b lbl_80275DD4
lbl_80275AEC:
/* 80275AEC 0027174C  4B FF 8C 71 */	bl OSDisableInterrupts
/* 80275AF0 00271750  7C 7E 1B 78 */	mr r30, r3
/* 80275AF4 00271754  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275AF8 00271758  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80275AFC 0027175C  40 82 00 14 */	bne lbl_80275B10
/* 80275B00 00271760  7F 23 CB 78 */	mr r3, r25
/* 80275B04 00271764  4B FF F2 5D */	bl __EXIProbe
/* 80275B08 00271768  2C 03 00 00 */	cmpwi r3, 0
/* 80275B0C 0027176C  40 82 00 14 */	bne lbl_80275B20
lbl_80275B10:
/* 80275B10 00271770  7F C3 F3 78 */	mr r3, r30
/* 80275B14 00271774  4B FF 8C 71 */	bl OSRestoreInterrupts
/* 80275B18 00271778  38 00 00 00 */	li r0, 0
/* 80275B1C 0027177C  48 00 00 54 */	b lbl_80275B70
lbl_80275B20:
/* 80275B20 00271780  1C 79 00 14 */	mulli r3, r25, 0x14
/* 80275B24 00271784  3C 00 CD 00 */	lis r0, 0xcd00
/* 80275B28 00271788  7C 60 1A 14 */	add r3, r0, r3
/* 80275B2C 0027178C  80 03 68 00 */	lwz r0, 0x6800(r3)
/* 80275B30 00271790  70 00 07 F5 */	andi. r0, r0, 0x7f5
/* 80275B34 00271794  60 00 00 02 */	ori r0, r0, 2
/* 80275B38 00271798  90 03 68 00 */	stw r0, 0x6800(r3)
/* 80275B3C 0027179C  38 00 00 00 */	li r0, 0
/* 80275B40 002717A0  90 1D 00 08 */	stw r0, 8(r29)
/* 80275B44 002717A4  3C 60 00 10 */	lis r3, 0x10
/* 80275B48 002717A8  57 20 10 3A */	slwi r0, r25, 2
/* 80275B4C 002717AC  7C 19 00 50 */	subf r0, r25, r0
/* 80275B50 002717B0  7C 63 04 30 */	srw r3, r3, r0
/* 80275B54 002717B4  4B FF 90 19 */	bl __OSUnmaskInterrupts
/* 80275B58 002717B8  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275B5C 002717BC  60 00 00 08 */	ori r0, r0, 8
/* 80275B60 002717C0  90 1D 00 0C */	stw r0, 0xc(r29)
/* 80275B64 002717C4  7F C3 F3 78 */	mr r3, r30
/* 80275B68 002717C8  4B FF 8C 1D */	bl OSRestoreInterrupts
/* 80275B6C 002717CC  38 00 00 01 */	li r0, 1
lbl_80275B70:
/* 80275B70 002717D0  2C 00 00 00 */	cmpwi r0, 0
/* 80275B74 002717D4  40 82 00 0C */	bne lbl_80275B80
/* 80275B78 002717D8  38 60 00 00 */	li r3, 0
/* 80275B7C 002717DC  48 00 02 58 */	b lbl_80275DD4
lbl_80275B80:
/* 80275B80 002717E0  83 FF 30 C0 */	lwz r31, 0x30c0(r31)
lbl_80275B84:
/* 80275B84 002717E4  4B FF 8B D9 */	bl OSDisableInterrupts
/* 80275B88 002717E8  7C 7C 1B 78 */	mr r28, r3
/* 80275B8C 002717EC  7F 23 CB 78 */	mr r3, r25
/* 80275B90 002717F0  7F 44 D3 78 */	mr r4, r26
/* 80275B94 002717F4  38 A0 00 00 */	li r5, 0
/* 80275B98 002717F8  2C 19 00 02 */	cmpwi r25, 2
/* 80275B9C 002717FC  40 80 00 10 */	bge lbl_80275BAC
/* 80275BA0 00271800  2C 1A 00 00 */	cmpwi r26, 0
/* 80275BA4 00271804  40 82 00 08 */	bne lbl_80275BAC
/* 80275BA8 00271808  38 A0 00 01 */	li r5, 1
lbl_80275BAC:
/* 80275BAC 0027180C  7C 05 00 D0 */	neg r0, r5
/* 80275BB0 00271810  7C 00 2B 78 */	or r0, r0, r5
/* 80275BB4 00271814  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80275BB8 00271818  3C A0 80 27 */	lis r5, UnlockedHandler@ha
/* 80275BBC 0027181C  38 A5 5A 18 */	addi r5, r5, UnlockedHandler@l
/* 80275BC0 00271820  7C A5 00 38 */	and r5, r5, r0
/* 80275BC4 00271824  4B FF FC 81 */	bl EXILock
/* 80275BC8 00271828  7C 60 00 34 */	cntlzw r0, r3
/* 80275BCC 0027182C  54 1E D9 7F */	rlwinm. r30, r0, 0x1b, 5, 0x1f
/* 80275BD0 00271830  40 82 01 2C */	bne lbl_80275CFC
/* 80275BD4 00271834  7F 23 CB 78 */	mr r3, r25
/* 80275BD8 00271838  7F 44 D3 78 */	mr r4, r26
/* 80275BDC 0027183C  38 A0 00 00 */	li r5, 0
/* 80275BE0 00271840  4B FF F4 D1 */	bl EXISelect
/* 80275BE4 00271844  7C 60 00 34 */	cntlzw r0, r3
/* 80275BE8 00271848  54 1E D9 7F */	rlwinm. r30, r0, 0x1b, 5, 0x1f
/* 80275BEC 0027184C  40 82 00 90 */	bne lbl_80275C7C
/* 80275BF0 00271850  38 00 00 00 */	li r0, 0
/* 80275BF4 00271854  90 01 00 08 */	stw r0, 8(r1)
/* 80275BF8 00271858  7F 23 CB 78 */	mr r3, r25
/* 80275BFC 0027185C  38 81 00 08 */	addi r4, r1, 8
/* 80275C00 00271860  38 A0 00 02 */	li r5, 2
/* 80275C04 00271864  38 C0 00 01 */	li r6, 1
/* 80275C08 00271868  38 E0 00 00 */	li r7, 0
/* 80275C0C 0027186C  4B FF EA 3D */	bl EXIImm
/* 80275C10 00271870  7C 60 00 34 */	cntlzw r0, r3
/* 80275C14 00271874  54 00 D9 7E */	srwi r0, r0, 5
/* 80275C18 00271878  7F DE 03 78 */	or r30, r30, r0
/* 80275C1C 0027187C  7F 23 CB 78 */	mr r3, r25
/* 80275C20 00271880  4B FF EE 41 */	bl EXISync
/* 80275C24 00271884  7C 60 00 34 */	cntlzw r0, r3
/* 80275C28 00271888  54 00 D9 7E */	srwi r0, r0, 5
/* 80275C2C 0027188C  7F DE 03 78 */	or r30, r30, r0
/* 80275C30 00271890  7F 23 CB 78 */	mr r3, r25
/* 80275C34 00271894  7F 64 DB 78 */	mr r4, r27
/* 80275C38 00271898  38 A0 00 04 */	li r5, 4
/* 80275C3C 0027189C  38 C0 00 00 */	li r6, 0
/* 80275C40 002718A0  38 E0 00 00 */	li r7, 0
/* 80275C44 002718A4  4B FF EA 05 */	bl EXIImm
/* 80275C48 002718A8  7C 60 00 34 */	cntlzw r0, r3
/* 80275C4C 002718AC  54 00 D9 7E */	srwi r0, r0, 5
/* 80275C50 002718B0  7F DE 03 78 */	or r30, r30, r0
/* 80275C54 002718B4  7F 23 CB 78 */	mr r3, r25
/* 80275C58 002718B8  4B FF EE 09 */	bl EXISync
/* 80275C5C 002718BC  7C 60 00 34 */	cntlzw r0, r3
/* 80275C60 002718C0  54 00 D9 7E */	srwi r0, r0, 5
/* 80275C64 002718C4  7F DE 03 78 */	or r30, r30, r0
/* 80275C68 002718C8  7F 23 CB 78 */	mr r3, r25
/* 80275C6C 002718CC  4B FF F5 75 */	bl EXIDeselect
/* 80275C70 002718D0  7C 60 00 34 */	cntlzw r0, r3
/* 80275C74 002718D4  54 00 D9 7E */	srwi r0, r0, 5
/* 80275C78 002718D8  7F DE 03 78 */	or r30, r30, r0
lbl_80275C7C:
/* 80275C7C 002718DC  4B FF 8A E1 */	bl OSDisableInterrupts
/* 80275C80 002718E0  7C 77 1B 78 */	mr r23, r3
/* 80275C84 002718E4  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275C88 002718E8  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80275C8C 002718EC  40 82 00 0C */	bne lbl_80275C98
/* 80275C90 002718F0  4B FF 8A F5 */	bl OSRestoreInterrupts
/* 80275C94 002718F4  48 00 00 68 */	b lbl_80275CFC
lbl_80275C98:
/* 80275C98 002718F8  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275C9C 002718FC  54 00 07 34 */	rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80275CA0 00271900  90 1D 00 0C */	stw r0, 0xc(r29)
/* 80275CA4 00271904  7F 23 CB 78 */	mr r3, r25
/* 80275CA8 00271908  7F A4 EB 78 */	mr r4, r29
/* 80275CAC 0027190C  4B FF E8 AD */	bl SetExiInterruptMask
/* 80275CB0 00271910  80 7D 00 24 */	lwz r3, 0x24(r29)
/* 80275CB4 00271914  2C 03 00 00 */	cmpwi r3, 0
/* 80275CB8 00271918  40 81 00 3C */	ble lbl_80275CF4
/* 80275CBC 0027191C  83 1D 00 2C */	lwz r24, 0x2c(r29)
/* 80275CC0 00271920  34 03 FF FF */	addic. r0, r3, -1
/* 80275CC4 00271924  90 1D 00 24 */	stw r0, 0x24(r29)
/* 80275CC8 00271928  40 81 00 18 */	ble lbl_80275CE0
/* 80275CCC 0027192C  38 7D 00 28 */	addi r3, r29, 0x28
/* 80275CD0 00271930  38 9D 00 30 */	addi r4, r29, 0x30
/* 80275CD4 00271934  80 1D 00 24 */	lwz r0, 0x24(r29)
/* 80275CD8 00271938  54 05 18 38 */	slwi r5, r0, 3
/* 80275CDC 0027193C  4B F5 45 99 */	bl memmove
lbl_80275CE0:
/* 80275CE0 00271940  7F 23 CB 78 */	mr r3, r25
/* 80275CE4 00271944  38 80 00 00 */	li r4, 0
/* 80275CE8 00271948  7F 0C C3 78 */	mr r12, r24
/* 80275CEC 0027194C  7D 89 03 A6 */	mtctr r12
/* 80275CF0 00271950  4E 80 04 21 */	bctrl
lbl_80275CF4:
/* 80275CF4 00271954  7E E3 BB 78 */	mr r3, r23
/* 80275CF8 00271958  4B FF 8A 8D */	bl OSRestoreInterrupts
lbl_80275CFC:
/* 80275CFC 0027195C  7F 83 E3 78 */	mr r3, r28
/* 80275D00 00271960  4B FF 8A 85 */	bl OSRestoreInterrupts
/* 80275D04 00271964  2C 19 00 02 */	cmpwi r25, 2
/* 80275D08 00271968  40 80 00 C4 */	bge lbl_80275DCC
/* 80275D0C 0027196C  2C 1A 00 00 */	cmpwi r26, 0
/* 80275D10 00271970  40 82 00 BC */	bne lbl_80275DCC
/* 80275D14 00271974  4B FF 8A 49 */	bl OSDisableInterrupts
/* 80275D18 00271978  7C 77 1B 78 */	mr r23, r3
/* 80275D1C 0027197C  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275D20 00271980  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80275D24 00271984  40 82 00 0C */	bne lbl_80275D30
/* 80275D28 00271988  4B FF 8A 5D */	bl OSRestoreInterrupts
/* 80275D2C 0027198C  48 00 00 4C */	b lbl_80275D78
lbl_80275D30:
/* 80275D30 00271990  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275D34 00271994  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80275D38 00271998  41 82 00 18 */	beq lbl_80275D50
/* 80275D3C 0027199C  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 80275D40 002719A0  2C 00 00 00 */	cmpwi r0, 0
/* 80275D44 002719A4  40 82 00 0C */	bne lbl_80275D50
/* 80275D48 002719A8  4B FF 8A 3D */	bl OSRestoreInterrupts
/* 80275D4C 002719AC  48 00 00 2C */	b lbl_80275D78
lbl_80275D50:
/* 80275D50 002719B0  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80275D54 002719B4  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80275D58 002719B8  90 1D 00 0C */	stw r0, 0xc(r29)
/* 80275D5C 002719BC  3C 60 00 50 */	lis r3, 0x50
/* 80275D60 002719C0  57 20 10 3A */	slwi r0, r25, 2
/* 80275D64 002719C4  7C 19 00 50 */	subf r0, r25, r0
/* 80275D68 002719C8  7C 63 04 30 */	srw r3, r3, r0
/* 80275D6C 002719CC  4B FF 8D 81 */	bl __OSMaskInterrupts
/* 80275D70 002719D0  7E E3 BB 78 */	mr r3, r23
/* 80275D74 002719D4  4B FF 8A 11 */	bl OSRestoreInterrupts
lbl_80275D78:
/* 80275D78 002719D8  4B FF 89 E5 */	bl OSDisableInterrupts
/* 80275D7C 002719DC  57 24 10 3A */	slwi r4, r25, 2
/* 80275D80 002719E0  3C 00 80 00 */	lis r0, 0x8000
/* 80275D84 002719E4  7C 80 22 14 */	add r4, r0, r4
/* 80275D88 002719E8  80 04 30 C0 */	lwz r0, 0x30c0(r4)
/* 80275D8C 002719EC  7C 9F 00 50 */	subf r4, r31, r0
/* 80275D90 002719F0  7C 00 F8 50 */	subf r0, r0, r31
/* 80275D94 002719F4  7C 80 03 78 */	or r0, r4, r0
/* 80275D98 002719F8  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80275D9C 002719FC  7F DE 03 79 */	or. r30, r30, r0
/* 80275DA0 00271A00  40 82 00 10 */	bne lbl_80275DB0
/* 80275DA4 00271A04  80 1B 00 00 */	lwz r0, 0(r27)
/* 80275DA8 00271A08  90 1D 00 1C */	stw r0, 0x1c(r29)
/* 80275DAC 00271A0C  93 FD 00 20 */	stw r31, 0x20(r29)
lbl_80275DB0:
/* 80275DB0 00271A10  4B FF 89 D5 */	bl OSRestoreInterrupts
/* 80275DB4 00271A14  2C 1E 00 00 */	cmpwi r30, 0
/* 80275DB8 00271A18  41 82 00 0C */	beq lbl_80275DC4
/* 80275DBC 00271A1C  38 60 00 00 */	li r3, 0
/* 80275DC0 00271A20  48 00 00 14 */	b lbl_80275DD4
lbl_80275DC4:
/* 80275DC4 00271A24  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 80275DC8 00271A28  48 00 00 0C */	b lbl_80275DD4
lbl_80275DCC:
/* 80275DCC 00271A2C  7F C0 00 34 */	cntlzw r0, r30
/* 80275DD0 00271A30  54 03 D9 7E */	srwi r3, r0, 5
lbl_80275DD4:
/* 80275DD4 00271A34  39 61 00 40 */	addi r11, r1, 0x40
/* 80275DD8 00271A38  4B F5 13 8D */	bl _restgpr_23
/* 80275DDC 00271A3C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80275DE0 00271A40  7C 08 03 A6 */	mtlr r0
/* 80275DE4 00271A44  38 21 00 40 */	addi r1, r1, 0x40
/* 80275DE8 00271A48  4E 80 00 20 */	blr