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
|