1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global DefaultSwitchThreadCallback
DefaultSwitchThreadCallback:
/* 80271060 0026CCC0 4E 80 00 20 */ blr
.global __OSThreadInit
__OSThreadInit:
/* 80271064 0026CCC4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80271068 0026CCC8 7C 08 02 A6 */ mflr r0
/* 8027106C 0026CCCC 38 60 00 02 */ li r3, 2
/* 80271070 0026CCD0 38 C0 00 01 */ li r6, 1
/* 80271074 0026CCD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80271078 0026CCD8 38 80 00 00 */ li r4, 0
/* 8027107C 0026CCDC 38 A0 00 10 */ li r5, 0x10
/* 80271080 0026CCE0 38 00 FF FF */ li r0, -1
/* 80271084 0026CCE4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80271088 0026CCE8 3F E0 80 51 */ lis r31, lbl_805147D8@ha
/* 8027108C 0026CCEC 3B FF 47 D8 */ addi r31, r31, lbl_805147D8@l
/* 80271090 0026CCF0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80271094 0026CCF4 3B DF 00 00 */ addi r30, r31, 0
/* 80271098 0026CCF8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8027109C 0026CCFC 3F A0 80 00 */ lis r29, 0x800000D8@ha
/* 802710A0 0026CD00 B0 7E 02 C8 */ sth r3, 0x2c8(r30)
/* 802710A4 0026CD04 7F C3 F3 78 */ mr r3, r30
/* 802710A8 0026CD08 B0 DE 02 CA */ sth r6, 0x2ca(r30)
/* 802710AC 0026CD0C 90 BE 02 D4 */ stw r5, 0x2d4(r30)
/* 802710B0 0026CD10 90 BE 02 D0 */ stw r5, 0x2d0(r30)
/* 802710B4 0026CD14 90 9E 02 CC */ stw r4, 0x2cc(r30)
/* 802710B8 0026CD18 90 1E 02 D8 */ stw r0, 0x2d8(r30)
/* 802710BC 0026CD1C 90 9E 02 F0 */ stw r4, 0x2f0(r30)
/* 802710C0 0026CD20 90 9E 02 EC */ stw r4, 0x2ec(r30)
/* 802710C4 0026CD24 90 9E 02 E8 */ stw r4, 0x2e8(r30)
/* 802710C8 0026CD28 90 9E 02 F8 */ stw r4, 0x2f8(r30)
/* 802710CC 0026CD2C 90 9E 02 F4 */ stw r4, 0x2f4(r30)
/* 802710D0 0026CD30 93 DD 00 D8 */ stw r30, 0x800000D8@l(r29)
/* 802710D4 0026CD34 4B FF 9F BD */ bl OSClearContext
/* 802710D8 0026CD38 7F C3 F3 78 */ mr r3, r30
/* 802710DC 0026CD3C 4B FF 9D 8D */ bl OSSetCurrentContext
/* 802710E0 0026CD40 3C 80 80 65 */ lis r4, 0x80653050@ha
/* 802710E4 0026CD44 3C A0 80 64 */ lis r5, 0x80643050@ha
/* 802710E8 0026CD48 38 84 30 50 */ addi r4, r4, 0x80653050@l
/* 802710EC 0026CD4C 3C 60 DE AE */ lis r3, 0xDEADBABE@ha
/* 802710F0 0026CD50 38 A5 30 50 */ addi r5, r5, 0x80643050@l
/* 802710F4 0026CD54 90 9E 03 04 */ stw r4, 0x304(r30)
/* 802710F8 0026CD58 38 03 BA BE */ addi r0, r3, 0xDEADBABE@l
/* 802710FC 0026CD5C 7F C4 F3 78 */ mr r4, r30
/* 80271100 0026CD60 90 BE 03 08 */ stw r5, 0x308(r30)
/* 80271104 0026CD64 90 05 00 00 */ stw r0, 0(r5)
/* 80271108 0026CD68 81 8D 87 E0 */ lwz r12, lbl_8063DAA0-_SDA_BASE_(r13)
/* 8027110C 0026CD6C 80 7D 00 E4 */ lwz r3, 0xe4(r29)
/* 80271110 0026CD70 7D 89 03 A6 */ mtctr r12
/* 80271114 0026CD74 4E 80 04 21 */ bctrl
/* 80271118 0026CD78 93 DD 00 E4 */ stw r30, 0xe4(r29)
/* 8027111C 0026CD7C 4B FF 9F 0D */ bl OSGetStackPointer
/* 80271120 0026CD80 80 9D 00 E4 */ lwz r4, 0xe4(r29)
/* 80271124 0026CD84 80 84 03 08 */ lwz r4, 0x308(r4)
/* 80271128 0026CD88 39 04 00 04 */ addi r8, r4, 4
/* 8027112C 0026CD8C 7C 88 18 40 */ cmplw cr1, r8, r3
/* 80271130 0026CD90 40 84 00 C0 */ bge cr1, lbl_802711F0
/* 80271134 0026CD94 7C A8 18 50 */ subf r5, r8, r3
/* 80271138 0026CD98 38 C3 FF E0 */ addi r6, r3, -32
/* 8027113C 0026CD9C 38 85 00 03 */ addi r4, r5, 3
/* 80271140 0026CDA0 7C 80 16 70 */ srawi r0, r4, 2
/* 80271144 0026CDA4 7C 00 01 94 */ addze r0, r0
/* 80271148 0026CDA8 2C 00 00 08 */ cmpwi r0, 8
/* 8027114C 0026CDAC 40 81 00 7C */ ble lbl_802711C8
/* 80271150 0026CDB0 38 E0 00 00 */ li r7, 0
/* 80271154 0026CDB4 41 85 00 28 */ bgt cr1, lbl_8027117C
/* 80271158 0026CDB8 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 8027115C 0026CDBC 38 A0 00 01 */ li r5, 1
/* 80271160 0026CDC0 40 82 00 10 */ bne lbl_80271170
/* 80271164 0026CDC4 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 80271168 0026CDC8 41 82 00 08 */ beq lbl_80271170
/* 8027116C 0026CDCC 38 A0 00 00 */ li r5, 0
lbl_80271170:
/* 80271170 0026CDD0 2C 05 00 00 */ cmpwi r5, 0
/* 80271174 0026CDD4 41 82 00 08 */ beq lbl_8027117C
/* 80271178 0026CDD8 38 E0 00 01 */ li r7, 1
lbl_8027117C:
/* 8027117C 0026CDDC 2C 07 00 00 */ cmpwi r7, 0
/* 80271180 0026CDE0 41 82 00 48 */ beq lbl_802711C8
/* 80271184 0026CDE4 38 06 00 1F */ addi r0, r6, 0x1f
/* 80271188 0026CDE8 38 80 00 00 */ li r4, 0
/* 8027118C 0026CDEC 7C 08 00 50 */ subf r0, r8, r0
/* 80271190 0026CDF0 54 00 D9 7E */ srwi r0, r0, 5
/* 80271194 0026CDF4 7C 09 03 A6 */ mtctr r0
/* 80271198 0026CDF8 7C 08 30 40 */ cmplw r8, r6
/* 8027119C 0026CDFC 40 80 00 2C */ bge lbl_802711C8
lbl_802711A0:
/* 802711A0 0026CE00 90 88 00 00 */ stw r4, 0(r8)
/* 802711A4 0026CE04 90 88 00 04 */ stw r4, 4(r8)
/* 802711A8 0026CE08 90 88 00 08 */ stw r4, 8(r8)
/* 802711AC 0026CE0C 90 88 00 0C */ stw r4, 0xc(r8)
/* 802711B0 0026CE10 90 88 00 10 */ stw r4, 0x10(r8)
/* 802711B4 0026CE14 90 88 00 14 */ stw r4, 0x14(r8)
/* 802711B8 0026CE18 90 88 00 18 */ stw r4, 0x18(r8)
/* 802711BC 0026CE1C 90 88 00 1C */ stw r4, 0x1c(r8)
/* 802711C0 0026CE20 39 08 00 20 */ addi r8, r8, 0x20
/* 802711C4 0026CE24 42 00 FF DC */ bdnz lbl_802711A0
lbl_802711C8:
/* 802711C8 0026CE28 38 03 00 03 */ addi r0, r3, 3
/* 802711CC 0026CE2C 38 80 00 00 */ li r4, 0
/* 802711D0 0026CE30 7C 08 00 50 */ subf r0, r8, r0
/* 802711D4 0026CE34 54 00 F0 BE */ srwi r0, r0, 2
/* 802711D8 0026CE38 7C 09 03 A6 */ mtctr r0
/* 802711DC 0026CE3C 7C 08 18 40 */ cmplw r8, r3
/* 802711E0 0026CE40 40 80 00 10 */ bge lbl_802711F0
lbl_802711E4:
/* 802711E4 0026CE44 90 88 00 00 */ stw r4, 0(r8)
/* 802711E8 0026CE48 39 08 00 04 */ addi r8, r8, 4
/* 802711EC 0026CE4C 42 00 FF F8 */ bdnz lbl_802711E4
lbl_802711F0:
/* 802711F0 0026CE50 38 60 00 00 */ li r3, 0
/* 802711F4 0026CE54 38 00 00 02 */ li r0, 2
/* 802711F8 0026CE58 90 6D A8 30 */ stw r3, lbl_8063FAF0-_SDA_BASE_(r13)
/* 802711FC 0026CE5C 38 9F 03 18 */ addi r4, r31, 0x318
/* 80271200 0026CE60 90 6D A8 2C */ stw r3, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271204 0026CE64 7C 09 03 A6 */ mtctr r0
lbl_80271208:
/* 80271208 0026CE68 90 64 00 04 */ stw r3, 4(r4)
/* 8027120C 0026CE6C 90 64 00 00 */ stw r3, 0(r4)
/* 80271210 0026CE70 90 64 00 0C */ stw r3, 0xc(r4)
/* 80271214 0026CE74 90 64 00 08 */ stw r3, 8(r4)
/* 80271218 0026CE78 90 64 00 14 */ stw r3, 0x14(r4)
/* 8027121C 0026CE7C 90 64 00 10 */ stw r3, 0x10(r4)
/* 80271220 0026CE80 90 64 00 1C */ stw r3, 0x1c(r4)
/* 80271224 0026CE84 90 64 00 18 */ stw r3, 0x18(r4)
/* 80271228 0026CE88 90 64 00 24 */ stw r3, 0x24(r4)
/* 8027122C 0026CE8C 90 64 00 20 */ stw r3, 0x20(r4)
/* 80271230 0026CE90 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80271234 0026CE94 90 64 00 28 */ stw r3, 0x28(r4)
/* 80271238 0026CE98 90 64 00 34 */ stw r3, 0x34(r4)
/* 8027123C 0026CE9C 90 64 00 30 */ stw r3, 0x30(r4)
/* 80271240 0026CEA0 90 64 00 3C */ stw r3, 0x3c(r4)
/* 80271244 0026CEA4 90 64 00 38 */ stw r3, 0x38(r4)
/* 80271248 0026CEA8 90 64 00 44 */ stw r3, 0x44(r4)
/* 8027124C 0026CEAC 90 64 00 40 */ stw r3, 0x40(r4)
/* 80271250 0026CEB0 90 64 00 4C */ stw r3, 0x4c(r4)
/* 80271254 0026CEB4 90 64 00 48 */ stw r3, 0x48(r4)
/* 80271258 0026CEB8 90 64 00 54 */ stw r3, 0x54(r4)
/* 8027125C 0026CEBC 90 64 00 50 */ stw r3, 0x50(r4)
/* 80271260 0026CEC0 90 64 00 5C */ stw r3, 0x5c(r4)
/* 80271264 0026CEC4 90 64 00 58 */ stw r3, 0x58(r4)
/* 80271268 0026CEC8 90 64 00 64 */ stw r3, 0x64(r4)
/* 8027126C 0026CECC 90 64 00 60 */ stw r3, 0x60(r4)
/* 80271270 0026CED0 90 64 00 6C */ stw r3, 0x6c(r4)
/* 80271274 0026CED4 90 64 00 68 */ stw r3, 0x68(r4)
/* 80271278 0026CED8 90 64 00 74 */ stw r3, 0x74(r4)
/* 8027127C 0026CEDC 90 64 00 70 */ stw r3, 0x70(r4)
/* 80271280 0026CEE0 90 64 00 7C */ stw r3, 0x7c(r4)
/* 80271284 0026CEE4 90 64 00 78 */ stw r3, 0x78(r4)
/* 80271288 0026CEE8 38 84 00 80 */ addi r4, r4, 0x80
/* 8027128C 0026CEEC 42 00 FF 7C */ bdnz lbl_80271208
/* 80271290 0026CEF0 38 80 00 00 */ li r4, 0
/* 80271294 0026CEF4 3C 60 80 00 */ lis r3, 0x800000E0@ha
/* 80271298 0026CEF8 90 83 00 E0 */ stw r4, 0x800000E0@l(r3)
/* 8027129C 0026CEFC 90 83 00 DC */ stw r4, 0xdc(r3)
/* 802712A0 0026CF00 93 C3 00 DC */ stw r30, 0xdc(r3)
/* 802712A4 0026CF04 48 00 00 08 */ b lbl_802712AC
/* 802712A8 0026CF08 93 C4 02 FC */ stw r30, 0x2fc(r4)
lbl_802712AC:
/* 802712AC 0026CF0C 3B A0 00 00 */ li r29, 0
/* 802712B0 0026CF10 90 9E 03 00 */ stw r4, 0x300(r30)
/* 802712B4 0026CF14 3C 80 80 00 */ lis r4, 0x800000E0@ha
/* 802712B8 0026CF18 38 7F 04 18 */ addi r3, r31, 0x418
/* 802712BC 0026CF1C 93 BE 02 FC */ stw r29, 0x2fc(r30)
/* 802712C0 0026CF20 93 C4 00 E0 */ stw r30, 0x800000E0@l(r4)
/* 802712C4 0026CF24 4B FF 9D CD */ bl OSClearContext
/* 802712C8 0026CF28 93 AD A8 28 */ stw r29, lbl_8063FAE8-_SDA_BASE_(r13)
/* 802712CC 0026CF2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802712D0 0026CF30 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802712D4 0026CF34 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802712D8 0026CF38 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802712DC 0026CF3C 7C 08 03 A6 */ mtlr r0
/* 802712E0 0026CF40 38 21 00 20 */ addi r1, r1, 0x20
/* 802712E4 0026CF44 4E 80 00 20 */ blr
.global OSInitThreadQueue
OSInitThreadQueue:
/* 802712E8 0026CF48 38 00 00 00 */ li r0, 0
/* 802712EC 0026CF4C 90 03 00 04 */ stw r0, 4(r3)
/* 802712F0 0026CF50 90 03 00 00 */ stw r0, 0(r3)
/* 802712F4 0026CF54 4E 80 00 20 */ blr
.global OSGetCurrentThread
OSGetCurrentThread:
/* 802712F8 0026CF58 3C 60 80 00 */ lis r3, 0x800000E4@ha
/* 802712FC 0026CF5C 80 63 00 E4 */ lwz r3, 0x800000E4@l(r3)
/* 80271300 0026CF60 4E 80 00 20 */ blr
.global OSIsThreadSuspended
OSIsThreadSuspended:
/* 80271304 0026CF64 80 63 02 CC */ lwz r3, 0x2cc(r3)
/* 80271308 0026CF68 7C 03 00 D0 */ neg r0, r3
/* 8027130C 0026CF6C 7C 00 18 78 */ andc r0, r0, r3
/* 80271310 0026CF70 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80271314 0026CF74 4E 80 00 20 */ blr
.global OSIsThreadTerminated
OSIsThreadTerminated:
/* 80271318 0026CF78 A0 03 02 C8 */ lhz r0, 0x2c8(r3)
/* 8027131C 0026CF7C 38 60 00 01 */ li r3, 1
/* 80271320 0026CF80 28 00 00 08 */ cmplwi r0, 8
/* 80271324 0026CF84 41 82 00 10 */ beq lbl_80271334
/* 80271328 0026CF88 2C 00 00 00 */ cmpwi r0, 0
/* 8027132C 0026CF8C 41 82 00 08 */ beq lbl_80271334
/* 80271330 0026CF90 38 60 00 00 */ li r3, 0
lbl_80271334:
/* 80271334 0026CF94 7C 03 00 D0 */ neg r0, r3
/* 80271338 0026CF98 7C 00 1B 78 */ or r0, r0, r3
/* 8027133C 0026CF9C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80271340 0026CFA0 4E 80 00 20 */ blr
.global OSDisableScheduler
OSDisableScheduler:
/* 80271344 0026CFA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80271348 0026CFA8 7C 08 02 A6 */ mflr r0
/* 8027134C 0026CFAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80271350 0026CFB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80271354 0026CFB4 4B FF D4 09 */ bl OSDisableInterrupts
/* 80271358 0026CFB8 83 ED A8 28 */ lwz r31, lbl_8063FAE8-_SDA_BASE_(r13)
/* 8027135C 0026CFBC 38 1F 00 01 */ addi r0, r31, 1
/* 80271360 0026CFC0 90 0D A8 28 */ stw r0, lbl_8063FAE8-_SDA_BASE_(r13)
/* 80271364 0026CFC4 4B FF D4 21 */ bl OSRestoreInterrupts
/* 80271368 0026CFC8 7F E3 FB 78 */ mr r3, r31
/* 8027136C 0026CFCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80271370 0026CFD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80271374 0026CFD4 7C 08 03 A6 */ mtlr r0
/* 80271378 0026CFD8 38 21 00 10 */ addi r1, r1, 0x10
/* 8027137C 0026CFDC 4E 80 00 20 */ blr
.global OSEnableScheduler
OSEnableScheduler:
/* 80271380 0026CFE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80271384 0026CFE4 7C 08 02 A6 */ mflr r0
/* 80271388 0026CFE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027138C 0026CFEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80271390 0026CFF0 4B FF D3 CD */ bl OSDisableInterrupts
/* 80271394 0026CFF4 83 ED A8 28 */ lwz r31, lbl_8063FAE8-_SDA_BASE_(r13)
/* 80271398 0026CFF8 38 1F FF FF */ addi r0, r31, -1
/* 8027139C 0026CFFC 90 0D A8 28 */ stw r0, lbl_8063FAE8-_SDA_BASE_(r13)
/* 802713A0 0026D000 4B FF D3 E5 */ bl OSRestoreInterrupts
/* 802713A4 0026D004 7F E3 FB 78 */ mr r3, r31
/* 802713A8 0026D008 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802713AC 0026D00C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802713B0 0026D010 7C 08 03 A6 */ mtlr r0
/* 802713B4 0026D014 38 21 00 10 */ addi r1, r1, 0x10
/* 802713B8 0026D018 4E 80 00 20 */ blr
.global UnsetRun
UnsetRun:
/* 802713BC 0026D01C 80 A3 02 E0 */ lwz r5, 0x2e0(r3)
/* 802713C0 0026D020 80 83 02 DC */ lwz r4, 0x2dc(r3)
/* 802713C4 0026D024 2C 05 00 00 */ cmpwi r5, 0
/* 802713C8 0026D028 80 C3 02 E4 */ lwz r6, 0x2e4(r3)
/* 802713CC 0026D02C 40 82 00 0C */ bne lbl_802713D8
/* 802713D0 0026D030 90 C4 00 04 */ stw r6, 4(r4)
/* 802713D4 0026D034 48 00 00 08 */ b lbl_802713DC
lbl_802713D8:
/* 802713D8 0026D038 90 C5 02 E4 */ stw r6, 0x2e4(r5)
lbl_802713DC:
/* 802713DC 0026D03C 2C 06 00 00 */ cmpwi r6, 0
/* 802713E0 0026D040 40 82 00 0C */ bne lbl_802713EC
/* 802713E4 0026D044 90 A4 00 00 */ stw r5, 0(r4)
/* 802713E8 0026D048 48 00 00 08 */ b lbl_802713F0
lbl_802713EC:
/* 802713EC 0026D04C 90 A6 02 E0 */ stw r5, 0x2e0(r6)
lbl_802713F0:
/* 802713F0 0026D050 80 04 00 00 */ lwz r0, 0(r4)
/* 802713F4 0026D054 2C 00 00 00 */ cmpwi r0, 0
/* 802713F8 0026D058 40 82 00 20 */ bne lbl_80271418
/* 802713FC 0026D05C 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80271400 0026D060 38 80 00 01 */ li r4, 1
/* 80271404 0026D064 80 AD A8 30 */ lwz r5, lbl_8063FAF0-_SDA_BASE_(r13)
/* 80271408 0026D068 20 00 00 1F */ subfic r0, r0, 0x1f
/* 8027140C 0026D06C 7C 80 00 30 */ slw r0, r4, r0
/* 80271410 0026D070 7C A0 00 78 */ andc r0, r5, r0
/* 80271414 0026D074 90 0D A8 30 */ stw r0, lbl_8063FAF0-_SDA_BASE_(r13)
lbl_80271418:
/* 80271418 0026D078 38 00 00 00 */ li r0, 0
/* 8027141C 0026D07C 90 03 02 DC */ stw r0, 0x2dc(r3)
/* 80271420 0026D080 4E 80 00 20 */ blr
.global __OSGetEffectivePriority
__OSGetEffectivePriority:
/* 80271424 0026D084 80 83 02 D4 */ lwz r4, 0x2d4(r3)
/* 80271428 0026D088 80 63 02 F4 */ lwz r3, 0x2f4(r3)
/* 8027142C 0026D08C 48 00 00 24 */ b lbl_80271450
lbl_80271430:
/* 80271430 0026D090 80 A3 00 00 */ lwz r5, 0(r3)
/* 80271434 0026D094 2C 05 00 00 */ cmpwi r5, 0
/* 80271438 0026D098 41 82 00 14 */ beq lbl_8027144C
/* 8027143C 0026D09C 80 05 02 D0 */ lwz r0, 0x2d0(r5)
/* 80271440 0026D0A0 7C 00 20 00 */ cmpw r0, r4
/* 80271444 0026D0A4 40 80 00 08 */ bge lbl_8027144C
/* 80271448 0026D0A8 7C 04 03 78 */ mr r4, r0
lbl_8027144C:
/* 8027144C 0026D0AC 80 63 00 10 */ lwz r3, 0x10(r3)
lbl_80271450:
/* 80271450 0026D0B0 2C 03 00 00 */ cmpwi r3, 0
/* 80271454 0026D0B4 40 82 FF DC */ bne lbl_80271430
/* 80271458 0026D0B8 7C 83 23 78 */ mr r3, r4
/* 8027145C 0026D0BC 4E 80 00 20 */ blr
.global SetEffectivePriority
SetEffectivePriority:
/* 80271460 0026D0C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80271464 0026D0C4 7C 08 02 A6 */ mflr r0
/* 80271468 0026D0C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027146C 0026D0CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80271470 0026D0D0 7C 9F 23 78 */ mr r31, r4
/* 80271474 0026D0D4 93 C1 00 08 */ stw r30, 8(r1)
/* 80271478 0026D0D8 7C 7E 1B 78 */ mr r30, r3
/* 8027147C 0026D0DC A0 03 02 C8 */ lhz r0, 0x2c8(r3)
/* 80271480 0026D0E0 2C 00 00 03 */ cmpwi r0, 3
/* 80271484 0026D0E4 41 82 01 74 */ beq lbl_802715F8
/* 80271488 0026D0E8 40 80 00 14 */ bge lbl_8027149C
/* 8027148C 0026D0EC 2C 00 00 01 */ cmpwi r0, 1
/* 80271490 0026D0F0 41 82 00 18 */ beq lbl_802714A8
/* 80271494 0026D0F4 40 80 01 58 */ bge lbl_802715EC
/* 80271498 0026D0F8 48 00 01 60 */ b lbl_802715F8
lbl_8027149C:
/* 8027149C 0026D0FC 2C 00 00 05 */ cmpwi r0, 5
/* 802714A0 0026D100 40 80 01 58 */ bge lbl_802715F8
/* 802714A4 0026D104 48 00 00 70 */ b lbl_80271514
lbl_802714A8:
/* 802714A8 0026D108 4B FF FF 15 */ bl UnsetRun
/* 802714AC 0026D10C 3C 60 80 51 */ lis r3, lbl_80514AF0@ha
/* 802714B0 0026D110 57 E0 18 38 */ slwi r0, r31, 3
/* 802714B4 0026D114 38 63 4A F0 */ addi r3, r3, lbl_80514AF0@l
/* 802714B8 0026D118 93 FE 02 D0 */ stw r31, 0x2d0(r30)
/* 802714BC 0026D11C 7C 63 02 14 */ add r3, r3, r0
/* 802714C0 0026D120 90 7E 02 DC */ stw r3, 0x2dc(r30)
/* 802714C4 0026D124 80 83 00 04 */ lwz r4, 4(r3)
/* 802714C8 0026D128 2C 04 00 00 */ cmpwi r4, 0
/* 802714CC 0026D12C 40 82 00 0C */ bne lbl_802714D8
/* 802714D0 0026D130 93 C3 00 00 */ stw r30, 0(r3)
/* 802714D4 0026D134 48 00 00 08 */ b lbl_802714DC
lbl_802714D8:
/* 802714D8 0026D138 93 C4 02 E0 */ stw r30, 0x2e0(r4)
lbl_802714DC:
/* 802714DC 0026D13C 38 00 00 00 */ li r0, 0
/* 802714E0 0026D140 90 9E 02 E4 */ stw r4, 0x2e4(r30)
/* 802714E4 0026D144 80 9E 02 DC */ lwz r4, 0x2dc(r30)
/* 802714E8 0026D148 38 60 00 01 */ li r3, 1
/* 802714EC 0026D14C 90 1E 02 E0 */ stw r0, 0x2e0(r30)
/* 802714F0 0026D150 93 C4 00 04 */ stw r30, 4(r4)
/* 802714F4 0026D154 80 1E 02 D0 */ lwz r0, 0x2d0(r30)
/* 802714F8 0026D158 80 8D A8 30 */ lwz r4, lbl_8063FAF0-_SDA_BASE_(r13)
/* 802714FC 0026D15C 20 00 00 1F */ subfic r0, r0, 0x1f
/* 80271500 0026D160 7C 60 00 30 */ slw r0, r3, r0
/* 80271504 0026D164 7C 80 03 78 */ or r0, r4, r0
/* 80271508 0026D168 90 0D A8 30 */ stw r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 8027150C 0026D16C 90 6D A8 2C */ stw r3, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271510 0026D170 48 00 00 E8 */ b lbl_802715F8
lbl_80271514:
/* 80271514 0026D174 80 C3 02 E0 */ lwz r6, 0x2e0(r3)
/* 80271518 0026D178 80 E3 02 E4 */ lwz r7, 0x2e4(r3)
/* 8027151C 0026D17C 2C 06 00 00 */ cmpwi r6, 0
/* 80271520 0026D180 40 82 00 10 */ bne lbl_80271530
/* 80271524 0026D184 80 A3 02 DC */ lwz r5, 0x2dc(r3)
/* 80271528 0026D188 90 E5 00 04 */ stw r7, 4(r5)
/* 8027152C 0026D18C 48 00 00 08 */ b lbl_80271534
lbl_80271530:
/* 80271530 0026D190 90 E6 02 E4 */ stw r7, 0x2e4(r6)
lbl_80271534:
/* 80271534 0026D194 2C 07 00 00 */ cmpwi r7, 0
/* 80271538 0026D198 40 82 00 10 */ bne lbl_80271548
/* 8027153C 0026D19C 80 A3 02 DC */ lwz r5, 0x2dc(r3)
/* 80271540 0026D1A0 90 C5 00 00 */ stw r6, 0(r5)
/* 80271544 0026D1A4 48 00 00 08 */ b lbl_8027154C
lbl_80271548:
/* 80271548 0026D1A8 90 C7 02 E0 */ stw r6, 0x2e0(r7)
lbl_8027154C:
/* 8027154C 0026D1AC 90 83 02 D0 */ stw r4, 0x2d0(r3)
/* 80271550 0026D1B0 80 A3 02 DC */ lwz r5, 0x2dc(r3)
/* 80271554 0026D1B4 80 C5 00 00 */ lwz r6, 0(r5)
/* 80271558 0026D1B8 48 00 00 08 */ b lbl_80271560
lbl_8027155C:
/* 8027155C 0026D1BC 80 C6 02 E0 */ lwz r6, 0x2e0(r6)
lbl_80271560:
/* 80271560 0026D1C0 2C 06 00 00 */ cmpwi r6, 0
/* 80271564 0026D1C4 41 82 00 14 */ beq lbl_80271578
/* 80271568 0026D1C8 80 86 02 D0 */ lwz r4, 0x2d0(r6)
/* 8027156C 0026D1CC 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80271570 0026D1D0 7C 04 00 00 */ cmpw r4, r0
/* 80271574 0026D1D4 40 81 FF E8 */ ble lbl_8027155C
lbl_80271578:
/* 80271578 0026D1D8 2C 06 00 00 */ cmpwi r6, 0
/* 8027157C 0026D1DC 40 82 00 34 */ bne lbl_802715B0
/* 80271580 0026D1E0 80 85 00 04 */ lwz r4, 4(r5)
/* 80271584 0026D1E4 2C 04 00 00 */ cmpwi r4, 0
/* 80271588 0026D1E8 40 82 00 0C */ bne lbl_80271594
/* 8027158C 0026D1EC 90 65 00 00 */ stw r3, 0(r5)
/* 80271590 0026D1F0 48 00 00 08 */ b lbl_80271598
lbl_80271594:
/* 80271594 0026D1F4 90 64 02 E0 */ stw r3, 0x2e0(r4)
lbl_80271598:
/* 80271598 0026D1F8 38 00 00 00 */ li r0, 0
/* 8027159C 0026D1FC 90 83 02 E4 */ stw r4, 0x2e4(r3)
/* 802715A0 0026D200 80 83 02 DC */ lwz r4, 0x2dc(r3)
/* 802715A4 0026D204 90 03 02 E0 */ stw r0, 0x2e0(r3)
/* 802715A8 0026D208 90 64 00 04 */ stw r3, 4(r4)
/* 802715AC 0026D20C 48 00 00 2C */ b lbl_802715D8
lbl_802715B0:
/* 802715B0 0026D210 90 C3 02 E0 */ stw r6, 0x2e0(r3)
/* 802715B4 0026D214 80 86 02 E4 */ lwz r4, 0x2e4(r6)
/* 802715B8 0026D218 90 66 02 E4 */ stw r3, 0x2e4(r6)
/* 802715BC 0026D21C 2C 04 00 00 */ cmpwi r4, 0
/* 802715C0 0026D220 90 83 02 E4 */ stw r4, 0x2e4(r3)
/* 802715C4 0026D224 40 82 00 10 */ bne lbl_802715D4
/* 802715C8 0026D228 80 83 02 DC */ lwz r4, 0x2dc(r3)
/* 802715CC 0026D22C 90 64 00 00 */ stw r3, 0(r4)
/* 802715D0 0026D230 48 00 00 08 */ b lbl_802715D8
lbl_802715D4:
/* 802715D4 0026D234 90 64 02 E0 */ stw r3, 0x2e0(r4)
lbl_802715D8:
/* 802715D8 0026D238 80 63 02 F0 */ lwz r3, 0x2f0(r3)
/* 802715DC 0026D23C 2C 03 00 00 */ cmpwi r3, 0
/* 802715E0 0026D240 41 82 00 18 */ beq lbl_802715F8
/* 802715E4 0026D244 80 63 00 08 */ lwz r3, 8(r3)
/* 802715E8 0026D248 48 00 00 14 */ b lbl_802715FC
lbl_802715EC:
/* 802715EC 0026D24C 38 00 00 01 */ li r0, 1
/* 802715F0 0026D250 90 0D A8 2C */ stw r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 802715F4 0026D254 90 83 02 D0 */ stw r4, 0x2d0(r3)
lbl_802715F8:
/* 802715F8 0026D258 38 60 00 00 */ li r3, 0
lbl_802715FC:
/* 802715FC 0026D25C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80271600 0026D260 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80271604 0026D264 83 C1 00 08 */ lwz r30, 8(r1)
/* 80271608 0026D268 7C 08 03 A6 */ mtlr r0
/* 8027160C 0026D26C 38 21 00 10 */ addi r1, r1, 0x10
/* 80271610 0026D270 4E 80 00 20 */ blr
.global __OSPromoteThread
__OSPromoteThread:
/* 80271614 0026D274 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80271618 0026D278 7C 08 02 A6 */ mflr r0
/* 8027161C 0026D27C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80271620 0026D280 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80271624 0026D284 7C 9F 23 78 */ mr r31, r4
lbl_80271628:
/* 80271628 0026D288 80 03 02 CC */ lwz r0, 0x2cc(r3)
/* 8027162C 0026D28C 2C 00 00 00 */ cmpwi r0, 0
/* 80271630 0026D290 41 81 00 20 */ bgt lbl_80271650
/* 80271634 0026D294 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80271638 0026D298 7C 00 F8 00 */ cmpw r0, r31
/* 8027163C 0026D29C 40 81 00 14 */ ble lbl_80271650
/* 80271640 0026D2A0 7F E4 FB 78 */ mr r4, r31
/* 80271644 0026D2A4 4B FF FE 1D */ bl SetEffectivePriority
/* 80271648 0026D2A8 2C 03 00 00 */ cmpwi r3, 0
/* 8027164C 0026D2AC 40 82 FF DC */ bne lbl_80271628
lbl_80271650:
/* 80271650 0026D2B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80271654 0026D2B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80271658 0026D2B8 7C 08 03 A6 */ mtlr r0
/* 8027165C 0026D2BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80271660 0026D2C0 4E 80 00 20 */ blr
.global SelectThread
SelectThread:
/* 80271664 0026D2C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80271668 0026D2C8 7C 08 02 A6 */ mflr r0
/* 8027166C 0026D2CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80271670 0026D2D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80271674 0026D2D4 93 C1 00 08 */ stw r30, 8(r1)
/* 80271678 0026D2D8 7C 7E 1B 78 */ mr r30, r3
/* 8027167C 0026D2DC 80 0D A8 28 */ lwz r0, lbl_8063FAE8-_SDA_BASE_(r13)
/* 80271680 0026D2E0 2C 00 00 00 */ cmpwi r0, 0
/* 80271684 0026D2E4 40 81 00 0C */ ble lbl_80271690
/* 80271688 0026D2E8 38 60 00 00 */ li r3, 0
/* 8027168C 0026D2EC 48 00 01 E8 */ b lbl_80271874
lbl_80271690:
/* 80271690 0026D2F0 4B FF 98 35 */ bl OSGetCurrentContext
/* 80271694 0026D2F4 3C 80 80 00 */ lis r4, 0x800000E4@ha
/* 80271698 0026D2F8 80 A4 00 E4 */ lwz r5, 0x800000E4@l(r4)
/* 8027169C 0026D2FC 7C 03 28 40 */ cmplw r3, r5
/* 802716A0 0026D300 41 82 00 0C */ beq lbl_802716AC
/* 802716A4 0026D304 38 60 00 00 */ li r3, 0
/* 802716A8 0026D308 48 00 01 CC */ b lbl_80271874
lbl_802716AC:
/* 802716AC 0026D30C 2C 05 00 00 */ cmpwi r5, 0
/* 802716B0 0026D310 41 82 00 C4 */ beq lbl_80271774
/* 802716B4 0026D314 A0 05 02 C8 */ lhz r0, 0x2c8(r5)
/* 802716B8 0026D318 28 00 00 02 */ cmplwi r0, 2
/* 802716BC 0026D31C 40 82 00 94 */ bne lbl_80271750
/* 802716C0 0026D320 2C 1E 00 00 */ cmpwi r30, 0
/* 802716C4 0026D324 40 82 00 20 */ bne lbl_802716E4
/* 802716C8 0026D328 80 6D A8 30 */ lwz r3, lbl_8063FAF0-_SDA_BASE_(r13)
/* 802716CC 0026D32C 80 05 02 D0 */ lwz r0, 0x2d0(r5)
/* 802716D0 0026D330 7C 63 00 34 */ cntlzw r3, r3
/* 802716D4 0026D334 7C 00 18 00 */ cmpw r0, r3
/* 802716D8 0026D338 41 81 00 0C */ bgt lbl_802716E4
/* 802716DC 0026D33C 38 60 00 00 */ li r3, 0
/* 802716E0 0026D340 48 00 01 94 */ b lbl_80271874
lbl_802716E4:
/* 802716E4 0026D344 38 00 00 01 */ li r0, 1
/* 802716E8 0026D348 3C 60 80 51 */ lis r3, lbl_80514AF0@ha
/* 802716EC 0026D34C B0 05 02 C8 */ sth r0, 0x2c8(r5)
/* 802716F0 0026D350 38 63 4A F0 */ addi r3, r3, lbl_80514AF0@l
/* 802716F4 0026D354 80 05 02 D0 */ lwz r0, 0x2d0(r5)
/* 802716F8 0026D358 54 00 18 38 */ slwi r0, r0, 3
/* 802716FC 0026D35C 7C 63 02 14 */ add r3, r3, r0
/* 80271700 0026D360 90 65 02 DC */ stw r3, 0x2dc(r5)
/* 80271704 0026D364 80 83 00 04 */ lwz r4, 4(r3)
/* 80271708 0026D368 2C 04 00 00 */ cmpwi r4, 0
/* 8027170C 0026D36C 40 82 00 0C */ bne lbl_80271718
/* 80271710 0026D370 90 A3 00 00 */ stw r5, 0(r3)
/* 80271714 0026D374 48 00 00 08 */ b lbl_8027171C
lbl_80271718:
/* 80271718 0026D378 90 A4 02 E0 */ stw r5, 0x2e0(r4)
lbl_8027171C:
/* 8027171C 0026D37C 90 85 02 E4 */ stw r4, 0x2e4(r5)
/* 80271720 0026D380 38 00 00 00 */ li r0, 0
/* 80271724 0026D384 38 60 00 01 */ li r3, 1
/* 80271728 0026D388 90 05 02 E0 */ stw r0, 0x2e0(r5)
/* 8027172C 0026D38C 80 85 02 DC */ lwz r4, 0x2dc(r5)
/* 80271730 0026D390 90 A4 00 04 */ stw r5, 4(r4)
/* 80271734 0026D394 80 05 02 D0 */ lwz r0, 0x2d0(r5)
/* 80271738 0026D398 80 8D A8 30 */ lwz r4, lbl_8063FAF0-_SDA_BASE_(r13)
/* 8027173C 0026D39C 20 00 00 1F */ subfic r0, r0, 0x1f
/* 80271740 0026D3A0 7C 60 00 30 */ slw r0, r3, r0
/* 80271744 0026D3A4 7C 80 03 78 */ or r0, r4, r0
/* 80271748 0026D3A8 90 0D A8 30 */ stw r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 8027174C 0026D3AC 90 6D A8 2C */ stw r3, lbl_8063FAEC-_SDA_BASE_(r13)
lbl_80271750:
/* 80271750 0026D3B0 A0 05 01 A2 */ lhz r0, 0x1a2(r5)
/* 80271754 0026D3B4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80271758 0026D3B8 40 82 00 1C */ bne lbl_80271774
/* 8027175C 0026D3BC 7C A3 2B 78 */ mr r3, r5
/* 80271760 0026D3C0 4B FF 97 71 */ bl OSSaveContext
/* 80271764 0026D3C4 2C 03 00 00 */ cmpwi r3, 0
/* 80271768 0026D3C8 41 82 00 0C */ beq lbl_80271774
/* 8027176C 0026D3CC 38 60 00 00 */ li r3, 0
/* 80271770 0026D3D0 48 00 01 04 */ b lbl_80271874
lbl_80271774:
/* 80271774 0026D3D4 80 0D A8 30 */ lwz r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 80271778 0026D3D8 2C 00 00 00 */ cmpwi r0, 0
/* 8027177C 0026D3DC 40 82 00 5C */ bne lbl_802717D8
/* 80271780 0026D3E0 81 8D 87 E0 */ lwz r12, lbl_8063DAA0-_SDA_BASE_(r13)
/* 80271784 0026D3E4 3F E0 80 00 */ lis r31, 0x800000E4@ha
/* 80271788 0026D3E8 80 7F 00 E4 */ lwz r3, 0x800000E4@l(r31)
/* 8027178C 0026D3EC 38 80 00 00 */ li r4, 0
/* 80271790 0026D3F0 7D 89 03 A6 */ mtctr r12
/* 80271794 0026D3F4 4E 80 04 21 */ bctrl
/* 80271798 0026D3F8 38 00 00 00 */ li r0, 0
/* 8027179C 0026D3FC 3C 60 80 51 */ lis r3, lbl_80514BF0@ha
/* 802717A0 0026D400 90 1F 00 E4 */ stw r0, 0xe4(r31)
/* 802717A4 0026D404 38 63 4B F0 */ addi r3, r3, lbl_80514BF0@l
/* 802717A8 0026D408 4B FF 96 C1 */ bl OSSetCurrentContext
lbl_802717AC:
/* 802717AC 0026D40C 4B FF CF C5 */ bl OSEnableInterrupts
lbl_802717B0:
/* 802717B0 0026D410 80 0D A8 30 */ lwz r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 802717B4 0026D414 2C 00 00 00 */ cmpwi r0, 0
/* 802717B8 0026D418 41 82 FF F8 */ beq lbl_802717B0
/* 802717BC 0026D41C 4B FF CF A1 */ bl OSDisableInterrupts
/* 802717C0 0026D420 80 0D A8 30 */ lwz r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 802717C4 0026D424 2C 00 00 00 */ cmpwi r0, 0
/* 802717C8 0026D428 41 82 FF E4 */ beq lbl_802717AC
/* 802717CC 0026D42C 3C 60 80 51 */ lis r3, lbl_80514BF0@ha
/* 802717D0 0026D430 38 63 4B F0 */ addi r3, r3, lbl_80514BF0@l
/* 802717D4 0026D434 4B FF 98 BD */ bl OSClearContext
lbl_802717D8:
/* 802717D8 0026D438 38 80 00 00 */ li r4, 0
/* 802717DC 0026D43C 3C 60 80 51 */ lis r3, lbl_80514AF0@ha
/* 802717E0 0026D440 90 8D A8 2C */ stw r4, lbl_8063FAEC-_SDA_BASE_(r13)
/* 802717E4 0026D444 38 63 4A F0 */ addi r3, r3, lbl_80514AF0@l
/* 802717E8 0026D448 80 0D A8 30 */ lwz r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 802717EC 0026D44C 7C 05 00 34 */ cntlzw r5, r0
/* 802717F0 0026D450 54 A0 18 38 */ slwi r0, r5, 3
/* 802717F4 0026D454 7F C3 00 6E */ lwzux r30, r3, r0
/* 802717F8 0026D458 80 DE 02 E0 */ lwz r6, 0x2e0(r30)
/* 802717FC 0026D45C 2C 06 00 00 */ cmpwi r6, 0
/* 80271800 0026D460 40 82 00 0C */ bne lbl_8027180C
/* 80271804 0026D464 90 83 00 04 */ stw r4, 4(r3)
/* 80271808 0026D468 48 00 00 08 */ b lbl_80271810
lbl_8027180C:
/* 8027180C 0026D46C 90 86 02 E4 */ stw r4, 0x2e4(r6)
lbl_80271810:
/* 80271810 0026D470 2C 06 00 00 */ cmpwi r6, 0
/* 80271814 0026D474 90 C3 00 00 */ stw r6, 0(r3)
/* 80271818 0026D478 40 82 00 1C */ bne lbl_80271834
/* 8027181C 0026D47C 20 05 00 1F */ subfic r0, r5, 0x1f
/* 80271820 0026D480 38 60 00 01 */ li r3, 1
/* 80271824 0026D484 80 8D A8 30 */ lwz r4, lbl_8063FAF0-_SDA_BASE_(r13)
/* 80271828 0026D488 7C 60 00 30 */ slw r0, r3, r0
/* 8027182C 0026D48C 7C 80 00 78 */ andc r0, r4, r0
/* 80271830 0026D490 90 0D A8 30 */ stw r0, lbl_8063FAF0-_SDA_BASE_(r13)
lbl_80271834:
/* 80271834 0026D494 38 60 00 00 */ li r3, 0
/* 80271838 0026D498 38 00 00 02 */ li r0, 2
/* 8027183C 0026D49C 90 7E 02 DC */ stw r3, 0x2dc(r30)
/* 80271840 0026D4A0 3F E0 80 00 */ lis r31, 0x800000E4@ha
/* 80271844 0026D4A4 7F C4 F3 78 */ mr r4, r30
/* 80271848 0026D4A8 B0 1E 02 C8 */ sth r0, 0x2c8(r30)
/* 8027184C 0026D4AC 81 8D 87 E0 */ lwz r12, lbl_8063DAA0-_SDA_BASE_(r13)
/* 80271850 0026D4B0 80 7F 00 E4 */ lwz r3, 0x800000E4@l(r31)
/* 80271854 0026D4B4 7D 89 03 A6 */ mtctr r12
/* 80271858 0026D4B8 4E 80 04 21 */ bctrl
/* 8027185C 0026D4BC 93 DF 00 E4 */ stw r30, 0xe4(r31)
/* 80271860 0026D4C0 7F C3 F3 78 */ mr r3, r30
/* 80271864 0026D4C4 4B FF 96 05 */ bl OSSetCurrentContext
/* 80271868 0026D4C8 7F C3 F3 78 */ mr r3, r30
/* 8027186C 0026D4CC 4B FF 96 E5 */ bl OSLoadContext
/* 80271870 0026D4D0 7F C3 F3 78 */ mr r3, r30
lbl_80271874:
/* 80271874 0026D4D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80271878 0026D4D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8027187C 0026D4DC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80271880 0026D4E0 7C 08 03 A6 */ mtlr r0
/* 80271884 0026D4E4 38 21 00 10 */ addi r1, r1, 0x10
/* 80271888 0026D4E8 4E 80 00 20 */ blr
.global __OSReschedule
__OSReschedule:
/* 8027188C 0026D4EC 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271890 0026D4F0 2C 00 00 00 */ cmpwi r0, 0
/* 80271894 0026D4F4 4D 82 00 20 */ beqlr
/* 80271898 0026D4F8 38 60 00 00 */ li r3, 0
/* 8027189C 0026D4FC 4B FF FD C8 */ b SelectThread
/* 802718A0 0026D500 4E 80 00 20 */ blr
.global OSYieldThread
OSYieldThread:
/* 802718A4 0026D504 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802718A8 0026D508 7C 08 02 A6 */ mflr r0
/* 802718AC 0026D50C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802718B0 0026D510 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802718B4 0026D514 4B FF CE A9 */ bl OSDisableInterrupts
/* 802718B8 0026D518 7C 7F 1B 78 */ mr r31, r3
/* 802718BC 0026D51C 38 60 00 01 */ li r3, 1
/* 802718C0 0026D520 4B FF FD A5 */ bl SelectThread
/* 802718C4 0026D524 7F E3 FB 78 */ mr r3, r31
/* 802718C8 0026D528 4B FF CE BD */ bl OSRestoreInterrupts
/* 802718CC 0026D52C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802718D0 0026D530 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802718D4 0026D534 7C 08 03 A6 */ mtlr r0
/* 802718D8 0026D538 38 21 00 10 */ addi r1, r1, 0x10
/* 802718DC 0026D53C 4E 80 00 20 */ blr
.global OSCreateThread
OSCreateThread:
/* 802718E0 0026D540 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802718E4 0026D544 7C 08 02 A6 */ mflr r0
/* 802718E8 0026D548 90 01 00 24 */ stw r0, 0x24(r1)
/* 802718EC 0026D54C 39 61 00 20 */ addi r11, r1, 0x20
/* 802718F0 0026D550 4B F5 58 35 */ bl _savegpr_26
/* 802718F4 0026D554 2C 08 00 00 */ cmpwi r8, 0
/* 802718F8 0026D558 7C 7F 1B 78 */ mr r31, r3
/* 802718FC 0026D55C 7C BA 2B 78 */ mr r26, r5
/* 80271900 0026D560 7C DB 33 78 */ mr r27, r6
/* 80271904 0026D564 7C FC 3B 78 */ mr r28, r7
/* 80271908 0026D568 41 80 00 0C */ blt lbl_80271914
/* 8027190C 0026D56C 2C 08 00 1F */ cmpwi r8, 0x1f
/* 80271910 0026D570 40 81 00 0C */ ble lbl_8027191C
lbl_80271914:
/* 80271914 0026D574 38 60 00 00 */ li r3, 0
/* 80271918 0026D578 48 00 02 1C */ b lbl_80271B34
lbl_8027191C:
/* 8027191C 0026D57C 3B C0 00 00 */ li r30, 0
/* 80271920 0026D580 38 E0 00 01 */ li r7, 1
/* 80271924 0026D584 55 20 07 FE */ clrlwi r0, r9, 0x1f
/* 80271928 0026D588 3B A0 FF FF */ li r29, -1
/* 8027192C 0026D58C 54 C6 00 38 */ rlwinm r6, r6, 0, 0, 0x1c
/* 80271930 0026D590 B0 E3 02 C8 */ sth r7, 0x2c8(r3)
/* 80271934 0026D594 38 A6 FF F8 */ addi r5, r6, -8
/* 80271938 0026D598 B0 03 02 CA */ sth r0, 0x2ca(r3)
/* 8027193C 0026D59C 91 03 02 D4 */ stw r8, 0x2d4(r3)
/* 80271940 0026D5A0 91 03 02 D0 */ stw r8, 0x2d0(r3)
/* 80271944 0026D5A4 90 E3 02 CC */ stw r7, 0x2cc(r3)
/* 80271948 0026D5A8 93 A3 02 D8 */ stw r29, 0x2d8(r3)
/* 8027194C 0026D5AC 93 C3 02 F0 */ stw r30, 0x2f0(r3)
/* 80271950 0026D5B0 93 C3 02 EC */ stw r30, 0x2ec(r3)
/* 80271954 0026D5B4 93 C3 02 E8 */ stw r30, 0x2e8(r3)
/* 80271958 0026D5B8 93 C3 02 F8 */ stw r30, 0x2f8(r3)
/* 8027195C 0026D5BC 93 C3 02 F4 */ stw r30, 0x2f4(r3)
/* 80271960 0026D5C0 93 C6 FF F8 */ stw r30, -8(r6)
/* 80271964 0026D5C4 93 C6 FF FC */ stw r30, -4(r6)
/* 80271968 0026D5C8 4B FF 97 4D */ bl OSInitContext
/* 8027196C 0026D5CC 3C A0 80 27 */ lis r5, OSExitThread@ha
/* 80271970 0026D5D0 7C 9C D8 50 */ subf r4, r28, r27
/* 80271974 0026D5D4 38 A5 1B 4C */ addi r5, r5, OSExitThread@l
/* 80271978 0026D5D8 3C 60 DE AE */ lis r3, 0xDEADBABE@ha
/* 8027197C 0026D5DC 90 BF 00 84 */ stw r5, 0x84(r31)
/* 80271980 0026D5E0 38 03 BA BE */ addi r0, r3, 0xDEADBABE@l
/* 80271984 0026D5E4 93 5F 00 0C */ stw r26, 0xc(r31)
/* 80271988 0026D5E8 93 7F 03 04 */ stw r27, 0x304(r31)
/* 8027198C 0026D5EC 90 9F 03 08 */ stw r4, 0x308(r31)
/* 80271990 0026D5F0 90 04 00 00 */ stw r0, 0(r4)
/* 80271994 0026D5F4 93 DF 03 0C */ stw r30, 0x30c(r31)
/* 80271998 0026D5F8 93 DF 03 10 */ stw r30, 0x310(r31)
/* 8027199C 0026D5FC 93 DF 03 14 */ stw r30, 0x314(r31)
/* 802719A0 0026D600 4B FF CD BD */ bl OSDisableInterrupts
/* 802719A4 0026D604 3C 80 80 50 */ lis r4, lbl_80503CF0@ha
/* 802719A8 0026D608 38 84 3C F0 */ addi r4, r4, lbl_80503CF0@l
/* 802719AC 0026D60C 80 04 00 40 */ lwz r0, 0x40(r4)
/* 802719B0 0026D610 2C 00 00 00 */ cmpwi r0, 0
/* 802719B4 0026D614 41 82 01 48 */ beq lbl_80271AFC
/* 802719B8 0026D618 80 BF 01 9C */ lwz r5, 0x19c(r31)
/* 802719BC 0026D61C 38 00 00 02 */ li r0, 2
/* 802719C0 0026D620 A0 9F 01 A2 */ lhz r4, 0x1a2(r31)
/* 802719C4 0026D624 38 DF 00 90 */ addi r6, r31, 0x90
/* 802719C8 0026D628 60 A5 09 00 */ ori r5, r5, 0x900
/* 802719CC 0026D62C 38 FF 01 C8 */ addi r7, r31, 0x1c8
/* 802719D0 0026D630 60 84 00 01 */ ori r4, r4, 1
/* 802719D4 0026D634 90 BF 01 9C */ stw r5, 0x19c(r31)
/* 802719D8 0026D638 B0 9F 01 A2 */ sth r4, 0x1a2(r31)
/* 802719DC 0026D63C 80 8D 87 B8 */ lwz r4, lbl_8063DA78-_SDA_BASE_(r13)
/* 802719E0 0026D640 54 84 06 38 */ rlwinm r4, r4, 0, 0x18, 0x1c
/* 802719E4 0026D644 60 84 00 04 */ ori r4, r4, 4
/* 802719E8 0026D648 90 9F 01 94 */ stw r4, 0x194(r31)
/* 802719EC 0026D64C 7C 09 03 A6 */ mtctr r0
lbl_802719F0:
/* 802719F0 0026D650 93 A6 00 04 */ stw r29, 4(r6)
/* 802719F4 0026D654 93 A6 00 00 */ stw r29, 0(r6)
/* 802719F8 0026D658 93 A7 00 04 */ stw r29, 4(r7)
/* 802719FC 0026D65C 93 A7 00 00 */ stw r29, 0(r7)
/* 80271A00 0026D660 93 A6 00 0C */ stw r29, 0xc(r6)
/* 80271A04 0026D664 93 A6 00 08 */ stw r29, 8(r6)
/* 80271A08 0026D668 93 A7 00 0C */ stw r29, 0xc(r7)
/* 80271A0C 0026D66C 93 A7 00 08 */ stw r29, 8(r7)
/* 80271A10 0026D670 93 A6 00 14 */ stw r29, 0x14(r6)
/* 80271A14 0026D674 93 A6 00 10 */ stw r29, 0x10(r6)
/* 80271A18 0026D678 93 A7 00 14 */ stw r29, 0x14(r7)
/* 80271A1C 0026D67C 93 A7 00 10 */ stw r29, 0x10(r7)
/* 80271A20 0026D680 93 A6 00 1C */ stw r29, 0x1c(r6)
/* 80271A24 0026D684 93 A6 00 18 */ stw r29, 0x18(r6)
/* 80271A28 0026D688 93 A7 00 1C */ stw r29, 0x1c(r7)
/* 80271A2C 0026D68C 93 A7 00 18 */ stw r29, 0x18(r7)
/* 80271A30 0026D690 93 A6 00 24 */ stw r29, 0x24(r6)
/* 80271A34 0026D694 93 A6 00 20 */ stw r29, 0x20(r6)
/* 80271A38 0026D698 93 A7 00 24 */ stw r29, 0x24(r7)
/* 80271A3C 0026D69C 93 A7 00 20 */ stw r29, 0x20(r7)
/* 80271A40 0026D6A0 93 A6 00 2C */ stw r29, 0x2c(r6)
/* 80271A44 0026D6A4 93 A6 00 28 */ stw r29, 0x28(r6)
/* 80271A48 0026D6A8 93 A7 00 2C */ stw r29, 0x2c(r7)
/* 80271A4C 0026D6AC 93 A7 00 28 */ stw r29, 0x28(r7)
/* 80271A50 0026D6B0 93 A6 00 34 */ stw r29, 0x34(r6)
/* 80271A54 0026D6B4 93 A6 00 30 */ stw r29, 0x30(r6)
/* 80271A58 0026D6B8 93 A7 00 34 */ stw r29, 0x34(r7)
/* 80271A5C 0026D6BC 93 A7 00 30 */ stw r29, 0x30(r7)
/* 80271A60 0026D6C0 93 A6 00 3C */ stw r29, 0x3c(r6)
/* 80271A64 0026D6C4 93 A6 00 38 */ stw r29, 0x38(r6)
/* 80271A68 0026D6C8 93 A7 00 3C */ stw r29, 0x3c(r7)
/* 80271A6C 0026D6CC 93 A7 00 38 */ stw r29, 0x38(r7)
/* 80271A70 0026D6D0 93 A6 00 44 */ stw r29, 0x44(r6)
/* 80271A74 0026D6D4 93 A6 00 40 */ stw r29, 0x40(r6)
/* 80271A78 0026D6D8 93 A7 00 44 */ stw r29, 0x44(r7)
/* 80271A7C 0026D6DC 93 A7 00 40 */ stw r29, 0x40(r7)
/* 80271A80 0026D6E0 93 A6 00 4C */ stw r29, 0x4c(r6)
/* 80271A84 0026D6E4 93 A6 00 48 */ stw r29, 0x48(r6)
/* 80271A88 0026D6E8 93 A7 00 4C */ stw r29, 0x4c(r7)
/* 80271A8C 0026D6EC 93 A7 00 48 */ stw r29, 0x48(r7)
/* 80271A90 0026D6F0 93 A6 00 54 */ stw r29, 0x54(r6)
/* 80271A94 0026D6F4 93 A6 00 50 */ stw r29, 0x50(r6)
/* 80271A98 0026D6F8 93 A7 00 54 */ stw r29, 0x54(r7)
/* 80271A9C 0026D6FC 93 A7 00 50 */ stw r29, 0x50(r7)
/* 80271AA0 0026D700 93 A6 00 5C */ stw r29, 0x5c(r6)
/* 80271AA4 0026D704 93 A6 00 58 */ stw r29, 0x58(r6)
/* 80271AA8 0026D708 93 A7 00 5C */ stw r29, 0x5c(r7)
/* 80271AAC 0026D70C 93 A7 00 58 */ stw r29, 0x58(r7)
/* 80271AB0 0026D710 93 A6 00 64 */ stw r29, 0x64(r6)
/* 80271AB4 0026D714 93 A6 00 60 */ stw r29, 0x60(r6)
/* 80271AB8 0026D718 93 A7 00 64 */ stw r29, 0x64(r7)
/* 80271ABC 0026D71C 93 A7 00 60 */ stw r29, 0x60(r7)
/* 80271AC0 0026D720 93 A6 00 6C */ stw r29, 0x6c(r6)
/* 80271AC4 0026D724 93 A6 00 68 */ stw r29, 0x68(r6)
/* 80271AC8 0026D728 93 A7 00 6C */ stw r29, 0x6c(r7)
/* 80271ACC 0026D72C 93 A7 00 68 */ stw r29, 0x68(r7)
/* 80271AD0 0026D730 93 A6 00 74 */ stw r29, 0x74(r6)
/* 80271AD4 0026D734 93 A6 00 70 */ stw r29, 0x70(r6)
/* 80271AD8 0026D738 93 A7 00 74 */ stw r29, 0x74(r7)
/* 80271ADC 0026D73C 93 A7 00 70 */ stw r29, 0x70(r7)
/* 80271AE0 0026D740 93 A6 00 7C */ stw r29, 0x7c(r6)
/* 80271AE4 0026D744 93 A6 00 78 */ stw r29, 0x78(r6)
/* 80271AE8 0026D748 38 C6 00 80 */ addi r6, r6, 0x80
/* 80271AEC 0026D74C 93 A7 00 7C */ stw r29, 0x7c(r7)
/* 80271AF0 0026D750 93 A7 00 78 */ stw r29, 0x78(r7)
/* 80271AF4 0026D754 38 E7 00 80 */ addi r7, r7, 0x80
/* 80271AF8 0026D758 42 00 FE F8 */ bdnz lbl_802719F0
lbl_80271AFC:
/* 80271AFC 0026D75C 3C 80 80 00 */ lis r4, 0x800000E0@ha
/* 80271B00 0026D760 80 A4 00 E0 */ lwz r5, 0x800000E0@l(r4)
/* 80271B04 0026D764 2C 05 00 00 */ cmpwi r5, 0
/* 80271B08 0026D768 40 82 00 0C */ bne lbl_80271B14
/* 80271B0C 0026D76C 93 E4 00 DC */ stw r31, 0xdc(r4)
/* 80271B10 0026D770 48 00 00 08 */ b lbl_80271B18
lbl_80271B14:
/* 80271B14 0026D774 93 E5 02 FC */ stw r31, 0x2fc(r5)
lbl_80271B18:
/* 80271B18 0026D778 38 00 00 00 */ li r0, 0
/* 80271B1C 0026D77C 90 BF 03 00 */ stw r5, 0x300(r31)
/* 80271B20 0026D780 3C 80 80 00 */ lis r4, 0x800000E0@ha
/* 80271B24 0026D784 90 1F 02 FC */ stw r0, 0x2fc(r31)
/* 80271B28 0026D788 93 E4 00 E0 */ stw r31, 0x800000E0@l(r4)
/* 80271B2C 0026D78C 4B FF CC 59 */ bl OSRestoreInterrupts
/* 80271B30 0026D790 38 60 00 01 */ li r3, 1
lbl_80271B34:
/* 80271B34 0026D794 39 61 00 20 */ addi r11, r1, 0x20
/* 80271B38 0026D798 4B F5 56 39 */ bl _restgpr_26
/* 80271B3C 0026D79C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80271B40 0026D7A0 7C 08 03 A6 */ mtlr r0
/* 80271B44 0026D7A4 38 21 00 20 */ addi r1, r1, 0x20
/* 80271B48 0026D7A8 4E 80 00 20 */ blr
.global OSExitThread
OSExitThread:
/* 80271B4C 0026D7AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80271B50 0026D7B0 7C 08 02 A6 */ mflr r0
/* 80271B54 0026D7B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80271B58 0026D7B8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80271B5C 0026D7BC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80271B60 0026D7C0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80271B64 0026D7C4 93 81 00 10 */ stw r28, 0x10(r1)
/* 80271B68 0026D7C8 7C 7C 1B 78 */ mr r28, r3
/* 80271B6C 0026D7CC 4B FF CB F1 */ bl OSDisableInterrupts
/* 80271B70 0026D7D0 3F E0 80 00 */ lis r31, 0x800000E4@ha
/* 80271B74 0026D7D4 7C 7D 1B 78 */ mr r29, r3
/* 80271B78 0026D7D8 83 DF 00 E4 */ lwz r30, 0x800000E4@l(r31)
/* 80271B7C 0026D7DC 7F C3 F3 78 */ mr r3, r30
/* 80271B80 0026D7E0 4B FF 95 11 */ bl OSClearContext
/* 80271B84 0026D7E4 A0 1E 02 CA */ lhz r0, 0x2ca(r30)
/* 80271B88 0026D7E8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80271B8C 0026D7EC 41 82 00 44 */ beq lbl_80271BD0
/* 80271B90 0026D7F0 80 9E 02 FC */ lwz r4, 0x2fc(r30)
/* 80271B94 0026D7F4 80 7E 03 00 */ lwz r3, 0x300(r30)
/* 80271B98 0026D7F8 2C 04 00 00 */ cmpwi r4, 0
/* 80271B9C 0026D7FC 40 82 00 0C */ bne lbl_80271BA8
/* 80271BA0 0026D800 90 7F 00 E0 */ stw r3, 0xe0(r31)
/* 80271BA4 0026D804 48 00 00 08 */ b lbl_80271BAC
lbl_80271BA8:
/* 80271BA8 0026D808 90 64 03 00 */ stw r3, 0x300(r4)
lbl_80271BAC:
/* 80271BAC 0026D80C 2C 03 00 00 */ cmpwi r3, 0
/* 80271BB0 0026D810 40 82 00 10 */ bne lbl_80271BC0
/* 80271BB4 0026D814 3C 60 80 00 */ lis r3, 0x800000DC@ha
/* 80271BB8 0026D818 90 83 00 DC */ stw r4, 0x800000DC@l(r3)
/* 80271BBC 0026D81C 48 00 00 08 */ b lbl_80271BC4
lbl_80271BC0:
/* 80271BC0 0026D820 90 83 02 FC */ stw r4, 0x2fc(r3)
lbl_80271BC4:
/* 80271BC4 0026D824 38 00 00 00 */ li r0, 0
/* 80271BC8 0026D828 B0 1E 02 C8 */ sth r0, 0x2c8(r30)
/* 80271BCC 0026D82C 48 00 00 10 */ b lbl_80271BDC
lbl_80271BD0:
/* 80271BD0 0026D830 38 00 00 08 */ li r0, 8
/* 80271BD4 0026D834 B0 1E 02 C8 */ sth r0, 0x2c8(r30)
/* 80271BD8 0026D838 93 9E 02 D8 */ stw r28, 0x2d8(r30)
lbl_80271BDC:
/* 80271BDC 0026D83C 7F C3 F3 78 */ mr r3, r30
/* 80271BE0 0026D840 4B FF DF 0D */ bl __OSUnlockAllMutex
/* 80271BE4 0026D844 38 7E 02 E8 */ addi r3, r30, 0x2e8
/* 80271BE8 0026D848 48 00 08 79 */ bl OSWakeupThread
/* 80271BEC 0026D84C 38 00 00 01 */ li r0, 1
/* 80271BF0 0026D850 90 0D A8 2C */ stw r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271BF4 0026D854 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271BF8 0026D858 2C 00 00 00 */ cmpwi r0, 0
/* 80271BFC 0026D85C 41 82 00 0C */ beq lbl_80271C08
/* 80271C00 0026D860 38 60 00 00 */ li r3, 0
/* 80271C04 0026D864 4B FF FA 61 */ bl SelectThread
lbl_80271C08:
/* 80271C08 0026D868 7F A3 EB 78 */ mr r3, r29
/* 80271C0C 0026D86C 4B FF CB 79 */ bl OSRestoreInterrupts
/* 80271C10 0026D870 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80271C14 0026D874 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80271C18 0026D878 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80271C1C 0026D87C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80271C20 0026D880 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80271C24 0026D884 7C 08 03 A6 */ mtlr r0
/* 80271C28 0026D888 38 21 00 20 */ addi r1, r1, 0x20
/* 80271C2C 0026D88C 4E 80 00 20 */ blr
.global OSCancelThread
OSCancelThread:
/* 80271C30 0026D890 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80271C34 0026D894 7C 08 02 A6 */ mflr r0
/* 80271C38 0026D898 90 01 00 14 */ stw r0, 0x14(r1)
/* 80271C3C 0026D89C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80271C40 0026D8A0 93 C1 00 08 */ stw r30, 8(r1)
/* 80271C44 0026D8A4 7C 7E 1B 78 */ mr r30, r3
/* 80271C48 0026D8A8 4B FF CB 15 */ bl OSDisableInterrupts
/* 80271C4C 0026D8AC A0 1E 02 C8 */ lhz r0, 0x2c8(r30)
/* 80271C50 0026D8B0 7C 7F 1B 78 */ mr r31, r3
/* 80271C54 0026D8B4 2C 00 00 03 */ cmpwi r0, 3
/* 80271C58 0026D8B8 41 82 01 00 */ beq lbl_80271D58
/* 80271C5C 0026D8BC 40 80 00 14 */ bge lbl_80271C70
/* 80271C60 0026D8C0 2C 00 00 01 */ cmpwi r0, 1
/* 80271C64 0026D8C4 41 82 00 18 */ beq lbl_80271C7C
/* 80271C68 0026D8C8 40 80 00 2C */ bge lbl_80271C94
/* 80271C6C 0026D8CC 48 00 00 EC */ b lbl_80271D58
lbl_80271C70:
/* 80271C70 0026D8D0 2C 00 00 05 */ cmpwi r0, 5
/* 80271C74 0026D8D4 40 80 00 E4 */ bge lbl_80271D58
/* 80271C78 0026D8D8 48 00 00 28 */ b lbl_80271CA0
lbl_80271C7C:
/* 80271C7C 0026D8DC 80 1E 02 CC */ lwz r0, 0x2cc(r30)
/* 80271C80 0026D8E0 2C 00 00 00 */ cmpwi r0, 0
/* 80271C84 0026D8E4 41 81 00 E0 */ bgt lbl_80271D64
/* 80271C88 0026D8E8 7F C3 F3 78 */ mr r3, r30
/* 80271C8C 0026D8EC 4B FF F7 31 */ bl UnsetRun
/* 80271C90 0026D8F0 48 00 00 D4 */ b lbl_80271D64
lbl_80271C94:
/* 80271C94 0026D8F4 38 00 00 01 */ li r0, 1
/* 80271C98 0026D8F8 90 0D A8 2C */ stw r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271C9C 0026D8FC 48 00 00 C8 */ b lbl_80271D64
lbl_80271CA0:
/* 80271CA0 0026D900 80 9E 02 E0 */ lwz r4, 0x2e0(r30)
/* 80271CA4 0026D904 80 BE 02 E4 */ lwz r5, 0x2e4(r30)
/* 80271CA8 0026D908 2C 04 00 00 */ cmpwi r4, 0
/* 80271CAC 0026D90C 40 82 00 10 */ bne lbl_80271CBC
/* 80271CB0 0026D910 80 7E 02 DC */ lwz r3, 0x2dc(r30)
/* 80271CB4 0026D914 90 A3 00 04 */ stw r5, 4(r3)
/* 80271CB8 0026D918 48 00 00 08 */ b lbl_80271CC0
lbl_80271CBC:
/* 80271CBC 0026D91C 90 A4 02 E4 */ stw r5, 0x2e4(r4)
lbl_80271CC0:
/* 80271CC0 0026D920 2C 05 00 00 */ cmpwi r5, 0
/* 80271CC4 0026D924 40 82 00 10 */ bne lbl_80271CD4
/* 80271CC8 0026D928 80 7E 02 DC */ lwz r3, 0x2dc(r30)
/* 80271CCC 0026D92C 90 83 00 00 */ stw r4, 0(r3)
/* 80271CD0 0026D930 48 00 00 08 */ b lbl_80271CD8
lbl_80271CD4:
/* 80271CD4 0026D934 90 85 02 E0 */ stw r4, 0x2e0(r5)
lbl_80271CD8:
/* 80271CD8 0026D938 80 1E 02 CC */ lwz r0, 0x2cc(r30)
/* 80271CDC 0026D93C 38 60 00 00 */ li r3, 0
/* 80271CE0 0026D940 90 7E 02 DC */ stw r3, 0x2dc(r30)
/* 80271CE4 0026D944 2C 00 00 00 */ cmpwi r0, 0
/* 80271CE8 0026D948 41 81 00 7C */ bgt lbl_80271D64
/* 80271CEC 0026D94C 80 7E 02 F0 */ lwz r3, 0x2f0(r30)
/* 80271CF0 0026D950 2C 03 00 00 */ cmpwi r3, 0
/* 80271CF4 0026D954 41 82 00 70 */ beq lbl_80271D64
/* 80271CF8 0026D958 80 63 00 08 */ lwz r3, 8(r3)
lbl_80271CFC:
/* 80271CFC 0026D95C 80 03 02 CC */ lwz r0, 0x2cc(r3)
/* 80271D00 0026D960 2C 00 00 00 */ cmpwi r0, 0
/* 80271D04 0026D964 41 81 00 60 */ bgt lbl_80271D64
/* 80271D08 0026D968 80 83 02 D4 */ lwz r4, 0x2d4(r3)
/* 80271D0C 0026D96C 80 A3 02 F4 */ lwz r5, 0x2f4(r3)
/* 80271D10 0026D970 48 00 00 24 */ b lbl_80271D34
lbl_80271D14:
/* 80271D14 0026D974 80 C5 00 00 */ lwz r6, 0(r5)
/* 80271D18 0026D978 2C 06 00 00 */ cmpwi r6, 0
/* 80271D1C 0026D97C 41 82 00 14 */ beq lbl_80271D30
/* 80271D20 0026D980 80 06 02 D0 */ lwz r0, 0x2d0(r6)
/* 80271D24 0026D984 7C 00 20 00 */ cmpw r0, r4
/* 80271D28 0026D988 40 80 00 08 */ bge lbl_80271D30
/* 80271D2C 0026D98C 7C 04 03 78 */ mr r4, r0
lbl_80271D30:
/* 80271D30 0026D990 80 A5 00 10 */ lwz r5, 0x10(r5)
lbl_80271D34:
/* 80271D34 0026D994 2C 05 00 00 */ cmpwi r5, 0
/* 80271D38 0026D998 40 82 FF DC */ bne lbl_80271D14
/* 80271D3C 0026D99C 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80271D40 0026D9A0 7C 00 20 00 */ cmpw r0, r4
/* 80271D44 0026D9A4 41 82 00 20 */ beq lbl_80271D64
/* 80271D48 0026D9A8 4B FF F7 19 */ bl SetEffectivePriority
/* 80271D4C 0026D9AC 2C 03 00 00 */ cmpwi r3, 0
/* 80271D50 0026D9B0 40 82 FF AC */ bne lbl_80271CFC
/* 80271D54 0026D9B4 48 00 00 10 */ b lbl_80271D64
lbl_80271D58:
/* 80271D58 0026D9B8 7F E3 FB 78 */ mr r3, r31
/* 80271D5C 0026D9BC 4B FF CA 29 */ bl OSRestoreInterrupts
/* 80271D60 0026D9C0 48 00 00 90 */ b lbl_80271DF0
lbl_80271D64:
/* 80271D64 0026D9C4 7F C3 F3 78 */ mr r3, r30
/* 80271D68 0026D9C8 4B FF 93 29 */ bl OSClearContext
/* 80271D6C 0026D9CC A0 1E 02 CA */ lhz r0, 0x2ca(r30)
/* 80271D70 0026D9D0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80271D74 0026D9D4 41 82 00 48 */ beq lbl_80271DBC
/* 80271D78 0026D9D8 80 9E 02 FC */ lwz r4, 0x2fc(r30)
/* 80271D7C 0026D9DC 80 BE 03 00 */ lwz r5, 0x300(r30)
/* 80271D80 0026D9E0 2C 04 00 00 */ cmpwi r4, 0
/* 80271D84 0026D9E4 40 82 00 10 */ bne lbl_80271D94
/* 80271D88 0026D9E8 3C 60 80 00 */ lis r3, 0x800000E0@ha
/* 80271D8C 0026D9EC 90 A3 00 E0 */ stw r5, 0x800000E0@l(r3)
/* 80271D90 0026D9F0 48 00 00 08 */ b lbl_80271D98
lbl_80271D94:
/* 80271D94 0026D9F4 90 A4 03 00 */ stw r5, 0x300(r4)
lbl_80271D98:
/* 80271D98 0026D9F8 2C 05 00 00 */ cmpwi r5, 0
/* 80271D9C 0026D9FC 40 82 00 10 */ bne lbl_80271DAC
/* 80271DA0 0026DA00 3C 60 80 00 */ lis r3, 0x800000DC@ha
/* 80271DA4 0026DA04 90 83 00 DC */ stw r4, 0x800000DC@l(r3)
/* 80271DA8 0026DA08 48 00 00 08 */ b lbl_80271DB0
lbl_80271DAC:
/* 80271DAC 0026DA0C 90 85 02 FC */ stw r4, 0x2fc(r5)
lbl_80271DB0:
/* 80271DB0 0026DA10 38 00 00 00 */ li r0, 0
/* 80271DB4 0026DA14 B0 1E 02 C8 */ sth r0, 0x2c8(r30)
/* 80271DB8 0026DA18 48 00 00 0C */ b lbl_80271DC4
lbl_80271DBC:
/* 80271DBC 0026DA1C 38 00 00 08 */ li r0, 8
/* 80271DC0 0026DA20 B0 1E 02 C8 */ sth r0, 0x2c8(r30)
lbl_80271DC4:
/* 80271DC4 0026DA24 7F C3 F3 78 */ mr r3, r30
/* 80271DC8 0026DA28 4B FF DD 25 */ bl __OSUnlockAllMutex
/* 80271DCC 0026DA2C 38 7E 02 E8 */ addi r3, r30, 0x2e8
/* 80271DD0 0026DA30 48 00 06 91 */ bl OSWakeupThread
/* 80271DD4 0026DA34 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80271DD8 0026DA38 2C 00 00 00 */ cmpwi r0, 0
/* 80271DDC 0026DA3C 41 82 00 0C */ beq lbl_80271DE8
/* 80271DE0 0026DA40 38 60 00 00 */ li r3, 0
/* 80271DE4 0026DA44 4B FF F8 81 */ bl SelectThread
lbl_80271DE8:
/* 80271DE8 0026DA48 7F E3 FB 78 */ mr r3, r31
/* 80271DEC 0026DA4C 4B FF C9 99 */ bl OSRestoreInterrupts
lbl_80271DF0:
/* 80271DF0 0026DA50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80271DF4 0026DA54 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80271DF8 0026DA58 83 C1 00 08 */ lwz r30, 8(r1)
/* 80271DFC 0026DA5C 7C 08 03 A6 */ mtlr r0
/* 80271E00 0026DA60 38 21 00 10 */ addi r1, r1, 0x10
/* 80271E04 0026DA64 4E 80 00 20 */ blr
.global OSJoinThread
OSJoinThread:
/* 80271E08 0026DA68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80271E0C 0026DA6C 7C 08 02 A6 */ mflr r0
/* 80271E10 0026DA70 90 01 00 24 */ stw r0, 0x24(r1)
/* 80271E14 0026DA74 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80271E18 0026DA78 7C 7F 1B 78 */ mr r31, r3
/* 80271E1C 0026DA7C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80271E20 0026DA80 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80271E24 0026DA84 7C 9D 23 78 */ mr r29, r4
/* 80271E28 0026DA88 4B FF C9 35 */ bl OSDisableInterrupts
/* 80271E2C 0026DA8C A0 1F 02 CA */ lhz r0, 0x2ca(r31)
/* 80271E30 0026DA90 7C 7E 1B 78 */ mr r30, r3
/* 80271E34 0026DA94 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80271E38 0026DA98 40 82 00 7C */ bne lbl_80271EB4
/* 80271E3C 0026DA9C A0 1F 02 C8 */ lhz r0, 0x2c8(r31)
/* 80271E40 0026DAA0 28 00 00 08 */ cmplwi r0, 8
/* 80271E44 0026DAA4 41 82 00 70 */ beq lbl_80271EB4
/* 80271E48 0026DAA8 80 1F 02 E8 */ lwz r0, 0x2e8(r31)
/* 80271E4C 0026DAAC 2C 00 00 00 */ cmpwi r0, 0
/* 80271E50 0026DAB0 40 82 00 64 */ bne lbl_80271EB4
/* 80271E54 0026DAB4 38 7F 02 E8 */ addi r3, r31, 0x2e8
/* 80271E58 0026DAB8 48 00 05 1D */ bl OSSleepThread
/* 80271E5C 0026DABC A0 1F 02 C8 */ lhz r0, 0x2c8(r31)
/* 80271E60 0026DAC0 2C 00 00 00 */ cmpwi r0, 0
/* 80271E64 0026DAC4 40 82 00 0C */ bne lbl_80271E70
/* 80271E68 0026DAC8 38 00 00 00 */ li r0, 0
/* 80271E6C 0026DACC 48 00 00 30 */ b lbl_80271E9C
lbl_80271E70:
/* 80271E70 0026DAD0 3C 60 80 00 */ lis r3, 0x800000DC@ha
/* 80271E74 0026DAD4 80 63 00 DC */ lwz r3, 0x800000DC@l(r3)
/* 80271E78 0026DAD8 48 00 00 18 */ b lbl_80271E90
lbl_80271E7C:
/* 80271E7C 0026DADC 7C 1F 18 40 */ cmplw r31, r3
/* 80271E80 0026DAE0 40 82 00 0C */ bne lbl_80271E8C
/* 80271E84 0026DAE4 38 00 00 01 */ li r0, 1
/* 80271E88 0026DAE8 48 00 00 14 */ b lbl_80271E9C
lbl_80271E8C:
/* 80271E8C 0026DAEC 80 63 02 FC */ lwz r3, 0x2fc(r3)
lbl_80271E90:
/* 80271E90 0026DAF0 2C 03 00 00 */ cmpwi r3, 0
/* 80271E94 0026DAF4 40 82 FF E8 */ bne lbl_80271E7C
/* 80271E98 0026DAF8 38 00 00 00 */ li r0, 0
lbl_80271E9C:
/* 80271E9C 0026DAFC 2C 00 00 00 */ cmpwi r0, 0
/* 80271EA0 0026DB00 40 82 00 14 */ bne lbl_80271EB4
/* 80271EA4 0026DB04 7F C3 F3 78 */ mr r3, r30
/* 80271EA8 0026DB08 4B FF C8 DD */ bl OSRestoreInterrupts
/* 80271EAC 0026DB0C 38 60 00 00 */ li r3, 0
/* 80271EB0 0026DB10 48 00 00 7C */ b lbl_80271F2C
lbl_80271EB4:
/* 80271EB4 0026DB14 A0 1F 02 C8 */ lhz r0, 0x2c8(r31)
/* 80271EB8 0026DB18 28 00 00 08 */ cmplwi r0, 8
/* 80271EBC 0026DB1C 40 82 00 64 */ bne lbl_80271F20
/* 80271EC0 0026DB20 2C 1D 00 00 */ cmpwi r29, 0
/* 80271EC4 0026DB24 41 82 00 0C */ beq lbl_80271ED0
/* 80271EC8 0026DB28 80 1F 02 D8 */ lwz r0, 0x2d8(r31)
/* 80271ECC 0026DB2C 90 1D 00 00 */ stw r0, 0(r29)
lbl_80271ED0:
/* 80271ED0 0026DB30 80 9F 02 FC */ lwz r4, 0x2fc(r31)
/* 80271ED4 0026DB34 80 BF 03 00 */ lwz r5, 0x300(r31)
/* 80271ED8 0026DB38 2C 04 00 00 */ cmpwi r4, 0
/* 80271EDC 0026DB3C 40 82 00 10 */ bne lbl_80271EEC
/* 80271EE0 0026DB40 3C 60 80 00 */ lis r3, 0x800000E0@ha
/* 80271EE4 0026DB44 90 A3 00 E0 */ stw r5, 0x800000E0@l(r3)
/* 80271EE8 0026DB48 48 00 00 08 */ b lbl_80271EF0
lbl_80271EEC:
/* 80271EEC 0026DB4C 90 A4 03 00 */ stw r5, 0x300(r4)
lbl_80271EF0:
/* 80271EF0 0026DB50 2C 05 00 00 */ cmpwi r5, 0
/* 80271EF4 0026DB54 40 82 00 10 */ bne lbl_80271F04
/* 80271EF8 0026DB58 3C 60 80 00 */ lis r3, 0x800000DC@ha
/* 80271EFC 0026DB5C 90 83 00 DC */ stw r4, 0x800000DC@l(r3)
/* 80271F00 0026DB60 48 00 00 08 */ b lbl_80271F08
lbl_80271F04:
/* 80271F04 0026DB64 90 85 02 FC */ stw r4, 0x2fc(r5)
lbl_80271F08:
/* 80271F08 0026DB68 38 00 00 00 */ li r0, 0
/* 80271F0C 0026DB6C 7F C3 F3 78 */ mr r3, r30
/* 80271F10 0026DB70 B0 1F 02 C8 */ sth r0, 0x2c8(r31)
/* 80271F14 0026DB74 4B FF C8 71 */ bl OSRestoreInterrupts
/* 80271F18 0026DB78 38 60 00 01 */ li r3, 1
/* 80271F1C 0026DB7C 48 00 00 10 */ b lbl_80271F2C
lbl_80271F20:
/* 80271F20 0026DB80 7F C3 F3 78 */ mr r3, r30
/* 80271F24 0026DB84 4B FF C8 61 */ bl OSRestoreInterrupts
/* 80271F28 0026DB88 38 60 00 00 */ li r3, 0
lbl_80271F2C:
/* 80271F2C 0026DB8C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80271F30 0026DB90 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80271F34 0026DB94 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80271F38 0026DB98 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80271F3C 0026DB9C 7C 08 03 A6 */ mtlr r0
/* 80271F40 0026DBA0 38 21 00 20 */ addi r1, r1, 0x20
/* 80271F44 0026DBA4 4E 80 00 20 */ blr
.global OSResumeThread
OSResumeThread:
/* 80271F48 0026DBA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80271F4C 0026DBAC 7C 08 02 A6 */ mflr r0
/* 80271F50 0026DBB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80271F54 0026DBB4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80271F58 0026DBB8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80271F5C 0026DBBC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80271F60 0026DBC0 7C 7D 1B 78 */ mr r29, r3
/* 80271F64 0026DBC4 4B FF C7 F9 */ bl OSDisableInterrupts
/* 80271F68 0026DBC8 83 DD 02 CC */ lwz r30, 0x2cc(r29)
/* 80271F6C 0026DBCC 7C 7F 1B 78 */ mr r31, r3
/* 80271F70 0026DBD0 34 1E FF FF */ addic. r0, r30, -1
/* 80271F74 0026DBD4 90 1D 02 CC */ stw r0, 0x2cc(r29)
/* 80271F78 0026DBD8 40 80 00 10 */ bge lbl_80271F88
/* 80271F7C 0026DBDC 38 00 00 00 */ li r0, 0
/* 80271F80 0026DBE0 90 1D 02 CC */ stw r0, 0x2cc(r29)
/* 80271F84 0026DBE4 48 00 02 34 */ b lbl_802721B8
lbl_80271F88:
/* 80271F88 0026DBE8 40 82 02 30 */ bne lbl_802721B8
/* 80271F8C 0026DBEC A0 1D 02 C8 */ lhz r0, 0x2c8(r29)
/* 80271F90 0026DBF0 2C 00 00 04 */ cmpwi r0, 4
/* 80271F94 0026DBF4 41 82 00 B0 */ beq lbl_80272044
/* 80271F98 0026DBF8 40 80 02 0C */ bge lbl_802721A4
/* 80271F9C 0026DBFC 2C 00 00 01 */ cmpwi r0, 1
/* 80271FA0 0026DC00 41 82 00 08 */ beq lbl_80271FA8
/* 80271FA4 0026DC04 48 00 02 00 */ b lbl_802721A4
lbl_80271FA8:
/* 80271FA8 0026DC08 80 BD 02 D4 */ lwz r5, 0x2d4(r29)
/* 80271FAC 0026DC0C 80 9D 02 F4 */ lwz r4, 0x2f4(r29)
/* 80271FB0 0026DC10 48 00 00 24 */ b lbl_80271FD4
lbl_80271FB4:
/* 80271FB4 0026DC14 80 64 00 00 */ lwz r3, 0(r4)
/* 80271FB8 0026DC18 2C 03 00 00 */ cmpwi r3, 0
/* 80271FBC 0026DC1C 41 82 00 14 */ beq lbl_80271FD0
/* 80271FC0 0026DC20 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80271FC4 0026DC24 7C 00 28 00 */ cmpw r0, r5
/* 80271FC8 0026DC28 40 80 00 08 */ bge lbl_80271FD0
/* 80271FCC 0026DC2C 7C 05 03 78 */ mr r5, r0
lbl_80271FD0:
/* 80271FD0 0026DC30 80 84 00 10 */ lwz r4, 0x10(r4)
lbl_80271FD4:
/* 80271FD4 0026DC34 2C 04 00 00 */ cmpwi r4, 0
/* 80271FD8 0026DC38 40 82 FF DC */ bne lbl_80271FB4
/* 80271FDC 0026DC3C 3C 60 80 51 */ lis r3, lbl_80514AF0@ha
/* 80271FE0 0026DC40 54 A0 18 38 */ slwi r0, r5, 3
/* 80271FE4 0026DC44 38 63 4A F0 */ addi r3, r3, lbl_80514AF0@l
/* 80271FE8 0026DC48 90 BD 02 D0 */ stw r5, 0x2d0(r29)
/* 80271FEC 0026DC4C 7C 63 02 14 */ add r3, r3, r0
/* 80271FF0 0026DC50 90 7D 02 DC */ stw r3, 0x2dc(r29)
/* 80271FF4 0026DC54 80 83 00 04 */ lwz r4, 4(r3)
/* 80271FF8 0026DC58 2C 04 00 00 */ cmpwi r4, 0
/* 80271FFC 0026DC5C 40 82 00 0C */ bne lbl_80272008
/* 80272000 0026DC60 93 A3 00 00 */ stw r29, 0(r3)
/* 80272004 0026DC64 48 00 00 08 */ b lbl_8027200C
lbl_80272008:
/* 80272008 0026DC68 93 A4 02 E0 */ stw r29, 0x2e0(r4)
lbl_8027200C:
/* 8027200C 0026DC6C 38 00 00 00 */ li r0, 0
/* 80272010 0026DC70 90 9D 02 E4 */ stw r4, 0x2e4(r29)
/* 80272014 0026DC74 80 9D 02 DC */ lwz r4, 0x2dc(r29)
/* 80272018 0026DC78 38 60 00 01 */ li r3, 1
/* 8027201C 0026DC7C 90 1D 02 E0 */ stw r0, 0x2e0(r29)
/* 80272020 0026DC80 93 A4 00 04 */ stw r29, 4(r4)
/* 80272024 0026DC84 80 1D 02 D0 */ lwz r0, 0x2d0(r29)
/* 80272028 0026DC88 80 8D A8 30 */ lwz r4, lbl_8063FAF0-_SDA_BASE_(r13)
/* 8027202C 0026DC8C 20 00 00 1F */ subfic r0, r0, 0x1f
/* 80272030 0026DC90 7C 60 00 30 */ slw r0, r3, r0
/* 80272034 0026DC94 7C 80 03 78 */ or r0, r4, r0
/* 80272038 0026DC98 90 0D A8 30 */ stw r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 8027203C 0026DC9C 90 6D A8 2C */ stw r3, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80272040 0026DCA0 48 00 01 64 */ b lbl_802721A4
lbl_80272044:
/* 80272044 0026DCA4 80 9D 02 E0 */ lwz r4, 0x2e0(r29)
/* 80272048 0026DCA8 80 BD 02 E4 */ lwz r5, 0x2e4(r29)
/* 8027204C 0026DCAC 2C 04 00 00 */ cmpwi r4, 0
/* 80272050 0026DCB0 40 82 00 10 */ bne lbl_80272060
/* 80272054 0026DCB4 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 80272058 0026DCB8 90 A3 00 04 */ stw r5, 4(r3)
/* 8027205C 0026DCBC 48 00 00 08 */ b lbl_80272064
lbl_80272060:
/* 80272060 0026DCC0 90 A4 02 E4 */ stw r5, 0x2e4(r4)
lbl_80272064:
/* 80272064 0026DCC4 2C 05 00 00 */ cmpwi r5, 0
/* 80272068 0026DCC8 40 82 00 10 */ bne lbl_80272078
/* 8027206C 0026DCCC 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 80272070 0026DCD0 90 83 00 00 */ stw r4, 0(r3)
/* 80272074 0026DCD4 48 00 00 08 */ b lbl_8027207C
lbl_80272078:
/* 80272078 0026DCD8 90 85 02 E0 */ stw r4, 0x2e0(r5)
lbl_8027207C:
/* 8027207C 0026DCDC 80 1D 02 D4 */ lwz r0, 0x2d4(r29)
/* 80272080 0026DCE0 80 9D 02 F4 */ lwz r4, 0x2f4(r29)
/* 80272084 0026DCE4 48 00 00 24 */ b lbl_802720A8
lbl_80272088:
/* 80272088 0026DCE8 80 64 00 00 */ lwz r3, 0(r4)
/* 8027208C 0026DCEC 2C 03 00 00 */ cmpwi r3, 0
/* 80272090 0026DCF0 41 82 00 14 */ beq lbl_802720A4
/* 80272094 0026DCF4 80 63 02 D0 */ lwz r3, 0x2d0(r3)
/* 80272098 0026DCF8 7C 03 00 00 */ cmpw r3, r0
/* 8027209C 0026DCFC 40 80 00 08 */ bge lbl_802720A4
/* 802720A0 0026DD00 7C 60 1B 78 */ mr r0, r3
lbl_802720A4:
/* 802720A4 0026DD04 80 84 00 10 */ lwz r4, 0x10(r4)
lbl_802720A8:
/* 802720A8 0026DD08 2C 04 00 00 */ cmpwi r4, 0
/* 802720AC 0026DD0C 40 82 FF DC */ bne lbl_80272088
/* 802720B0 0026DD10 90 1D 02 D0 */ stw r0, 0x2d0(r29)
/* 802720B4 0026DD14 80 9D 02 DC */ lwz r4, 0x2dc(r29)
/* 802720B8 0026DD18 80 A4 00 00 */ lwz r5, 0(r4)
/* 802720BC 0026DD1C 48 00 00 08 */ b lbl_802720C4
lbl_802720C0:
/* 802720C0 0026DD20 80 A5 02 E0 */ lwz r5, 0x2e0(r5)
lbl_802720C4:
/* 802720C4 0026DD24 2C 05 00 00 */ cmpwi r5, 0
/* 802720C8 0026DD28 41 82 00 14 */ beq lbl_802720DC
/* 802720CC 0026DD2C 80 65 02 D0 */ lwz r3, 0x2d0(r5)
/* 802720D0 0026DD30 80 1D 02 D0 */ lwz r0, 0x2d0(r29)
/* 802720D4 0026DD34 7C 03 00 00 */ cmpw r3, r0
/* 802720D8 0026DD38 40 81 FF E8 */ ble lbl_802720C0
lbl_802720DC:
/* 802720DC 0026DD3C 2C 05 00 00 */ cmpwi r5, 0
/* 802720E0 0026DD40 40 82 00 34 */ bne lbl_80272114
/* 802720E4 0026DD44 80 64 00 04 */ lwz r3, 4(r4)
/* 802720E8 0026DD48 2C 03 00 00 */ cmpwi r3, 0
/* 802720EC 0026DD4C 40 82 00 0C */ bne lbl_802720F8
/* 802720F0 0026DD50 93 A4 00 00 */ stw r29, 0(r4)
/* 802720F4 0026DD54 48 00 00 08 */ b lbl_802720FC
lbl_802720F8:
/* 802720F8 0026DD58 93 A3 02 E0 */ stw r29, 0x2e0(r3)
lbl_802720FC:
/* 802720FC 0026DD5C 38 00 00 00 */ li r0, 0
/* 80272100 0026DD60 90 7D 02 E4 */ stw r3, 0x2e4(r29)
/* 80272104 0026DD64 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 80272108 0026DD68 90 1D 02 E0 */ stw r0, 0x2e0(r29)
/* 8027210C 0026DD6C 93 A3 00 04 */ stw r29, 4(r3)
/* 80272110 0026DD70 48 00 00 2C */ b lbl_8027213C
lbl_80272114:
/* 80272114 0026DD74 90 BD 02 E0 */ stw r5, 0x2e0(r29)
/* 80272118 0026DD78 80 65 02 E4 */ lwz r3, 0x2e4(r5)
/* 8027211C 0026DD7C 93 A5 02 E4 */ stw r29, 0x2e4(r5)
/* 80272120 0026DD80 2C 03 00 00 */ cmpwi r3, 0
/* 80272124 0026DD84 90 7D 02 E4 */ stw r3, 0x2e4(r29)
/* 80272128 0026DD88 40 82 00 10 */ bne lbl_80272138
/* 8027212C 0026DD8C 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 80272130 0026DD90 93 A3 00 00 */ stw r29, 0(r3)
/* 80272134 0026DD94 48 00 00 08 */ b lbl_8027213C
lbl_80272138:
/* 80272138 0026DD98 93 A3 02 E0 */ stw r29, 0x2e0(r3)
lbl_8027213C:
/* 8027213C 0026DD9C 80 7D 02 F0 */ lwz r3, 0x2f0(r29)
/* 80272140 0026DDA0 2C 03 00 00 */ cmpwi r3, 0
/* 80272144 0026DDA4 41 82 00 60 */ beq lbl_802721A4
/* 80272148 0026DDA8 80 63 00 08 */ lwz r3, 8(r3)
lbl_8027214C:
/* 8027214C 0026DDAC 80 03 02 CC */ lwz r0, 0x2cc(r3)
/* 80272150 0026DDB0 2C 00 00 00 */ cmpwi r0, 0
/* 80272154 0026DDB4 41 81 00 50 */ bgt lbl_802721A4
/* 80272158 0026DDB8 80 83 02 D4 */ lwz r4, 0x2d4(r3)
/* 8027215C 0026DDBC 80 A3 02 F4 */ lwz r5, 0x2f4(r3)
/* 80272160 0026DDC0 48 00 00 24 */ b lbl_80272184
lbl_80272164:
/* 80272164 0026DDC4 80 C5 00 00 */ lwz r6, 0(r5)
/* 80272168 0026DDC8 2C 06 00 00 */ cmpwi r6, 0
/* 8027216C 0026DDCC 41 82 00 14 */ beq lbl_80272180
/* 80272170 0026DDD0 80 06 02 D0 */ lwz r0, 0x2d0(r6)
/* 80272174 0026DDD4 7C 00 20 00 */ cmpw r0, r4
/* 80272178 0026DDD8 40 80 00 08 */ bge lbl_80272180
/* 8027217C 0026DDDC 7C 04 03 78 */ mr r4, r0
lbl_80272180:
/* 80272180 0026DDE0 80 A5 00 10 */ lwz r5, 0x10(r5)
lbl_80272184:
/* 80272184 0026DDE4 2C 05 00 00 */ cmpwi r5, 0
/* 80272188 0026DDE8 40 82 FF DC */ bne lbl_80272164
/* 8027218C 0026DDEC 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80272190 0026DDF0 7C 00 20 00 */ cmpw r0, r4
/* 80272194 0026DDF4 41 82 00 10 */ beq lbl_802721A4
/* 80272198 0026DDF8 4B FF F2 C9 */ bl SetEffectivePriority
/* 8027219C 0026DDFC 2C 03 00 00 */ cmpwi r3, 0
/* 802721A0 0026DE00 40 82 FF AC */ bne lbl_8027214C
lbl_802721A4:
/* 802721A4 0026DE04 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 802721A8 0026DE08 2C 00 00 00 */ cmpwi r0, 0
/* 802721AC 0026DE0C 41 82 00 0C */ beq lbl_802721B8
/* 802721B0 0026DE10 38 60 00 00 */ li r3, 0
/* 802721B4 0026DE14 4B FF F4 B1 */ bl SelectThread
lbl_802721B8:
/* 802721B8 0026DE18 7F E3 FB 78 */ mr r3, r31
/* 802721BC 0026DE1C 4B FF C5 C9 */ bl OSRestoreInterrupts
/* 802721C0 0026DE20 7F C3 F3 78 */ mr r3, r30
/* 802721C4 0026DE24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802721C8 0026DE28 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802721CC 0026DE2C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802721D0 0026DE30 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802721D4 0026DE34 7C 08 03 A6 */ mtlr r0
/* 802721D8 0026DE38 38 21 00 20 */ addi r1, r1, 0x20
/* 802721DC 0026DE3C 4E 80 00 20 */ blr
.global OSSuspendThread
OSSuspendThread:
/* 802721E0 0026DE40 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802721E4 0026DE44 7C 08 02 A6 */ mflr r0
/* 802721E8 0026DE48 90 01 00 24 */ stw r0, 0x24(r1)
/* 802721EC 0026DE4C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802721F0 0026DE50 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802721F4 0026DE54 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802721F8 0026DE58 7C 7D 1B 78 */ mr r29, r3
/* 802721FC 0026DE5C 4B FF C5 61 */ bl OSDisableInterrupts
/* 80272200 0026DE60 83 DD 02 CC */ lwz r30, 0x2cc(r29)
/* 80272204 0026DE64 7C 7F 1B 78 */ mr r31, r3
/* 80272208 0026DE68 38 1E 00 01 */ addi r0, r30, 1
/* 8027220C 0026DE6C 2C 1E 00 00 */ cmpwi r30, 0
/* 80272210 0026DE70 90 1D 02 CC */ stw r0, 0x2cc(r29)
/* 80272214 0026DE74 40 82 01 38 */ bne lbl_8027234C
/* 80272218 0026DE78 A0 1D 02 C8 */ lhz r0, 0x2c8(r29)
/* 8027221C 0026DE7C 2C 00 00 03 */ cmpwi r0, 3
/* 80272220 0026DE80 41 82 01 18 */ beq lbl_80272338
/* 80272224 0026DE84 40 80 00 14 */ bge lbl_80272238
/* 80272228 0026DE88 2C 00 00 01 */ cmpwi r0, 1
/* 8027222C 0026DE8C 41 82 00 28 */ beq lbl_80272254
/* 80272230 0026DE90 40 80 00 14 */ bge lbl_80272244
/* 80272234 0026DE94 48 00 01 04 */ b lbl_80272338
lbl_80272238:
/* 80272238 0026DE98 2C 00 00 05 */ cmpwi r0, 5
/* 8027223C 0026DE9C 40 80 00 FC */ bge lbl_80272338
/* 80272240 0026DEA0 48 00 00 20 */ b lbl_80272260
lbl_80272244:
/* 80272244 0026DEA4 38 00 00 01 */ li r0, 1
/* 80272248 0026DEA8 90 0D A8 2C */ stw r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 8027224C 0026DEAC B0 1D 02 C8 */ sth r0, 0x2c8(r29)
/* 80272250 0026DEB0 48 00 00 E8 */ b lbl_80272338
lbl_80272254:
/* 80272254 0026DEB4 7F A3 EB 78 */ mr r3, r29
/* 80272258 0026DEB8 4B FF F1 65 */ bl UnsetRun
/* 8027225C 0026DEBC 48 00 00 DC */ b lbl_80272338
lbl_80272260:
/* 80272260 0026DEC0 80 9D 02 E0 */ lwz r4, 0x2e0(r29)
/* 80272264 0026DEC4 80 BD 02 E4 */ lwz r5, 0x2e4(r29)
/* 80272268 0026DEC8 2C 04 00 00 */ cmpwi r4, 0
/* 8027226C 0026DECC 40 82 00 10 */ bne lbl_8027227C
/* 80272270 0026DED0 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 80272274 0026DED4 90 A3 00 04 */ stw r5, 4(r3)
/* 80272278 0026DED8 48 00 00 08 */ b lbl_80272280
lbl_8027227C:
/* 8027227C 0026DEDC 90 A4 02 E4 */ stw r5, 0x2e4(r4)
lbl_80272280:
/* 80272280 0026DEE0 2C 05 00 00 */ cmpwi r5, 0
/* 80272284 0026DEE4 40 82 00 10 */ bne lbl_80272294
/* 80272288 0026DEE8 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 8027228C 0026DEEC 90 83 00 00 */ stw r4, 0(r3)
/* 80272290 0026DEF0 48 00 00 08 */ b lbl_80272298
lbl_80272294:
/* 80272294 0026DEF4 90 85 02 E0 */ stw r4, 0x2e0(r5)
lbl_80272298:
/* 80272298 0026DEF8 38 00 00 20 */ li r0, 0x20
/* 8027229C 0026DEFC 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 802722A0 0026DF00 90 1D 02 D0 */ stw r0, 0x2d0(r29)
/* 802722A4 0026DF04 80 83 00 04 */ lwz r4, 4(r3)
/* 802722A8 0026DF08 2C 04 00 00 */ cmpwi r4, 0
/* 802722AC 0026DF0C 40 82 00 0C */ bne lbl_802722B8
/* 802722B0 0026DF10 93 A3 00 00 */ stw r29, 0(r3)
/* 802722B4 0026DF14 48 00 00 08 */ b lbl_802722BC
lbl_802722B8:
/* 802722B8 0026DF18 93 A4 02 E0 */ stw r29, 0x2e0(r4)
lbl_802722BC:
/* 802722BC 0026DF1C 38 00 00 00 */ li r0, 0
/* 802722C0 0026DF20 90 9D 02 E4 */ stw r4, 0x2e4(r29)
/* 802722C4 0026DF24 80 7D 02 DC */ lwz r3, 0x2dc(r29)
/* 802722C8 0026DF28 90 1D 02 E0 */ stw r0, 0x2e0(r29)
/* 802722CC 0026DF2C 93 A3 00 04 */ stw r29, 4(r3)
/* 802722D0 0026DF30 80 7D 02 F0 */ lwz r3, 0x2f0(r29)
/* 802722D4 0026DF34 2C 03 00 00 */ cmpwi r3, 0
/* 802722D8 0026DF38 41 82 00 60 */ beq lbl_80272338
/* 802722DC 0026DF3C 80 63 00 08 */ lwz r3, 8(r3)
lbl_802722E0:
/* 802722E0 0026DF40 80 03 02 CC */ lwz r0, 0x2cc(r3)
/* 802722E4 0026DF44 2C 00 00 00 */ cmpwi r0, 0
/* 802722E8 0026DF48 41 81 00 50 */ bgt lbl_80272338
/* 802722EC 0026DF4C 80 83 02 D4 */ lwz r4, 0x2d4(r3)
/* 802722F0 0026DF50 80 A3 02 F4 */ lwz r5, 0x2f4(r3)
/* 802722F4 0026DF54 48 00 00 24 */ b lbl_80272318
lbl_802722F8:
/* 802722F8 0026DF58 80 C5 00 00 */ lwz r6, 0(r5)
/* 802722FC 0026DF5C 2C 06 00 00 */ cmpwi r6, 0
/* 80272300 0026DF60 41 82 00 14 */ beq lbl_80272314
/* 80272304 0026DF64 80 06 02 D0 */ lwz r0, 0x2d0(r6)
/* 80272308 0026DF68 7C 00 20 00 */ cmpw r0, r4
/* 8027230C 0026DF6C 40 80 00 08 */ bge lbl_80272314
/* 80272310 0026DF70 7C 04 03 78 */ mr r4, r0
lbl_80272314:
/* 80272314 0026DF74 80 A5 00 10 */ lwz r5, 0x10(r5)
lbl_80272318:
/* 80272318 0026DF78 2C 05 00 00 */ cmpwi r5, 0
/* 8027231C 0026DF7C 40 82 FF DC */ bne lbl_802722F8
/* 80272320 0026DF80 80 03 02 D0 */ lwz r0, 0x2d0(r3)
/* 80272324 0026DF84 7C 00 20 00 */ cmpw r0, r4
/* 80272328 0026DF88 41 82 00 10 */ beq lbl_80272338
/* 8027232C 0026DF8C 4B FF F1 35 */ bl SetEffectivePriority
/* 80272330 0026DF90 2C 03 00 00 */ cmpwi r3, 0
/* 80272334 0026DF94 40 82 FF AC */ bne lbl_802722E0
lbl_80272338:
/* 80272338 0026DF98 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 8027233C 0026DF9C 2C 00 00 00 */ cmpwi r0, 0
/* 80272340 0026DFA0 41 82 00 0C */ beq lbl_8027234C
/* 80272344 0026DFA4 38 60 00 00 */ li r3, 0
/* 80272348 0026DFA8 4B FF F3 1D */ bl SelectThread
lbl_8027234C:
/* 8027234C 0026DFAC 7F E3 FB 78 */ mr r3, r31
/* 80272350 0026DFB0 4B FF C4 35 */ bl OSRestoreInterrupts
/* 80272354 0026DFB4 7F C3 F3 78 */ mr r3, r30
/* 80272358 0026DFB8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8027235C 0026DFBC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80272360 0026DFC0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80272364 0026DFC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80272368 0026DFC8 7C 08 03 A6 */ mtlr r0
/* 8027236C 0026DFCC 38 21 00 20 */ addi r1, r1, 0x20
/* 80272370 0026DFD0 4E 80 00 20 */ blr
.global OSSleepThread
OSSleepThread:
/* 80272374 0026DFD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80272378 0026DFD8 7C 08 02 A6 */ mflr r0
/* 8027237C 0026DFDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80272380 0026DFE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80272384 0026DFE4 93 C1 00 08 */ stw r30, 8(r1)
/* 80272388 0026DFE8 7C 7E 1B 78 */ mr r30, r3
/* 8027238C 0026DFEC 4B FF C3 D1 */ bl OSDisableInterrupts
/* 80272390 0026DFF0 3C 80 80 00 */ lis r4, 0x800000E4@ha
/* 80272394 0026DFF4 38 00 00 04 */ li r0, 4
/* 80272398 0026DFF8 80 84 00 E4 */ lwz r4, 0x800000E4@l(r4)
/* 8027239C 0026DFFC 7C 7F 1B 78 */ mr r31, r3
/* 802723A0 0026E000 B0 04 02 C8 */ sth r0, 0x2c8(r4)
/* 802723A4 0026E004 93 C4 02 DC */ stw r30, 0x2dc(r4)
/* 802723A8 0026E008 80 BE 00 00 */ lwz r5, 0(r30)
/* 802723AC 0026E00C 48 00 00 08 */ b lbl_802723B4
lbl_802723B0:
/* 802723B0 0026E010 80 A5 02 E0 */ lwz r5, 0x2e0(r5)
lbl_802723B4:
/* 802723B4 0026E014 2C 05 00 00 */ cmpwi r5, 0
/* 802723B8 0026E018 41 82 00 14 */ beq lbl_802723CC
/* 802723BC 0026E01C 80 65 02 D0 */ lwz r3, 0x2d0(r5)
/* 802723C0 0026E020 80 04 02 D0 */ lwz r0, 0x2d0(r4)
/* 802723C4 0026E024 7C 03 00 00 */ cmpw r3, r0
/* 802723C8 0026E028 40 81 FF E8 */ ble lbl_802723B0
lbl_802723CC:
/* 802723CC 0026E02C 2C 05 00 00 */ cmpwi r5, 0
/* 802723D0 0026E030 40 82 00 30 */ bne lbl_80272400
/* 802723D4 0026E034 80 7E 00 04 */ lwz r3, 4(r30)
/* 802723D8 0026E038 2C 03 00 00 */ cmpwi r3, 0
/* 802723DC 0026E03C 40 82 00 0C */ bne lbl_802723E8
/* 802723E0 0026E040 90 9E 00 00 */ stw r4, 0(r30)
/* 802723E4 0026E044 48 00 00 08 */ b lbl_802723EC
lbl_802723E8:
/* 802723E8 0026E048 90 83 02 E0 */ stw r4, 0x2e0(r3)
lbl_802723EC:
/* 802723EC 0026E04C 90 64 02 E4 */ stw r3, 0x2e4(r4)
/* 802723F0 0026E050 38 00 00 00 */ li r0, 0
/* 802723F4 0026E054 90 04 02 E0 */ stw r0, 0x2e0(r4)
/* 802723F8 0026E058 90 9E 00 04 */ stw r4, 4(r30)
/* 802723FC 0026E05C 48 00 00 28 */ b lbl_80272424
lbl_80272400:
/* 80272400 0026E060 90 A4 02 E0 */ stw r5, 0x2e0(r4)
/* 80272404 0026E064 80 65 02 E4 */ lwz r3, 0x2e4(r5)
/* 80272408 0026E068 90 85 02 E4 */ stw r4, 0x2e4(r5)
/* 8027240C 0026E06C 2C 03 00 00 */ cmpwi r3, 0
/* 80272410 0026E070 90 64 02 E4 */ stw r3, 0x2e4(r4)
/* 80272414 0026E074 40 82 00 0C */ bne lbl_80272420
/* 80272418 0026E078 90 9E 00 00 */ stw r4, 0(r30)
/* 8027241C 0026E07C 48 00 00 08 */ b lbl_80272424
lbl_80272420:
/* 80272420 0026E080 90 83 02 E0 */ stw r4, 0x2e0(r3)
lbl_80272424:
/* 80272424 0026E084 38 00 00 01 */ li r0, 1
/* 80272428 0026E088 90 0D A8 2C */ stw r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 8027242C 0026E08C 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80272430 0026E090 2C 00 00 00 */ cmpwi r0, 0
/* 80272434 0026E094 41 82 00 0C */ beq lbl_80272440
/* 80272438 0026E098 38 60 00 00 */ li r3, 0
/* 8027243C 0026E09C 4B FF F2 29 */ bl SelectThread
lbl_80272440:
/* 80272440 0026E0A0 7F E3 FB 78 */ mr r3, r31
/* 80272444 0026E0A4 4B FF C3 41 */ bl OSRestoreInterrupts
/* 80272448 0026E0A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027244C 0026E0AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80272450 0026E0B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80272454 0026E0B4 7C 08 03 A6 */ mtlr r0
/* 80272458 0026E0B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8027245C 0026E0BC 4E 80 00 20 */ blr
.global OSWakeupThread
OSWakeupThread:
/* 80272460 0026E0C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80272464 0026E0C4 7C 08 02 A6 */ mflr r0
/* 80272468 0026E0C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027246C 0026E0CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80272470 0026E0D0 93 C1 00 08 */ stw r30, 8(r1)
/* 80272474 0026E0D4 7C 7E 1B 78 */ mr r30, r3
/* 80272478 0026E0D8 4B FF C2 E5 */ bl OSDisableInterrupts
/* 8027247C 0026E0DC 3C A0 80 51 */ lis r5, lbl_80514AF0@ha
/* 80272480 0026E0E0 7C 7F 1B 78 */ mr r31, r3
/* 80272484 0026E0E4 38 A5 4A F0 */ addi r5, r5, lbl_80514AF0@l
/* 80272488 0026E0E8 38 C0 00 00 */ li r6, 0
/* 8027248C 0026E0EC 38 60 00 01 */ li r3, 1
/* 80272490 0026E0F0 48 00 00 84 */ b lbl_80272514
lbl_80272494:
/* 80272494 0026E0F4 80 88 02 E0 */ lwz r4, 0x2e0(r8)
/* 80272498 0026E0F8 2C 04 00 00 */ cmpwi r4, 0
/* 8027249C 0026E0FC 40 82 00 0C */ bne lbl_802724A8
/* 802724A0 0026E100 90 DE 00 04 */ stw r6, 4(r30)
/* 802724A4 0026E104 48 00 00 08 */ b lbl_802724AC
lbl_802724A8:
/* 802724A8 0026E108 90 C4 02 E4 */ stw r6, 0x2e4(r4)
lbl_802724AC:
/* 802724AC 0026E10C 90 9E 00 00 */ stw r4, 0(r30)
/* 802724B0 0026E110 B0 68 02 C8 */ sth r3, 0x2c8(r8)
/* 802724B4 0026E114 80 08 02 CC */ lwz r0, 0x2cc(r8)
/* 802724B8 0026E118 2C 00 00 00 */ cmpwi r0, 0
/* 802724BC 0026E11C 41 81 00 58 */ bgt lbl_80272514
/* 802724C0 0026E120 80 08 02 D0 */ lwz r0, 0x2d0(r8)
/* 802724C4 0026E124 54 00 18 38 */ slwi r0, r0, 3
/* 802724C8 0026E128 7C 85 02 14 */ add r4, r5, r0
/* 802724CC 0026E12C 90 88 02 DC */ stw r4, 0x2dc(r8)
/* 802724D0 0026E130 80 E4 00 04 */ lwz r7, 4(r4)
/* 802724D4 0026E134 2C 07 00 00 */ cmpwi r7, 0
/* 802724D8 0026E138 40 82 00 0C */ bne lbl_802724E4
/* 802724DC 0026E13C 91 04 00 00 */ stw r8, 0(r4)
/* 802724E0 0026E140 48 00 00 08 */ b lbl_802724E8
lbl_802724E4:
/* 802724E4 0026E144 91 07 02 E0 */ stw r8, 0x2e0(r7)
lbl_802724E8:
/* 802724E8 0026E148 90 E8 02 E4 */ stw r7, 0x2e4(r8)
/* 802724EC 0026E14C 90 C8 02 E0 */ stw r6, 0x2e0(r8)
/* 802724F0 0026E150 80 88 02 DC */ lwz r4, 0x2dc(r8)
/* 802724F4 0026E154 91 04 00 04 */ stw r8, 4(r4)
/* 802724F8 0026E158 80 08 02 D0 */ lwz r0, 0x2d0(r8)
/* 802724FC 0026E15C 80 8D A8 30 */ lwz r4, lbl_8063FAF0-_SDA_BASE_(r13)
/* 80272500 0026E160 20 00 00 1F */ subfic r0, r0, 0x1f
/* 80272504 0026E164 7C 60 00 30 */ slw r0, r3, r0
/* 80272508 0026E168 7C 80 03 78 */ or r0, r4, r0
/* 8027250C 0026E16C 90 0D A8 30 */ stw r0, lbl_8063FAF0-_SDA_BASE_(r13)
/* 80272510 0026E170 90 6D A8 2C */ stw r3, lbl_8063FAEC-_SDA_BASE_(r13)
lbl_80272514:
/* 80272514 0026E174 81 1E 00 00 */ lwz r8, 0(r30)
/* 80272518 0026E178 2C 08 00 00 */ cmpwi r8, 0
/* 8027251C 0026E17C 40 82 FF 78 */ bne lbl_80272494
/* 80272520 0026E180 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80272524 0026E184 2C 00 00 00 */ cmpwi r0, 0
/* 80272528 0026E188 41 82 00 0C */ beq lbl_80272534
/* 8027252C 0026E18C 38 60 00 00 */ li r3, 0
/* 80272530 0026E190 4B FF F1 35 */ bl SelectThread
lbl_80272534:
/* 80272534 0026E194 7F E3 FB 78 */ mr r3, r31
/* 80272538 0026E198 4B FF C2 4D */ bl OSRestoreInterrupts
/* 8027253C 0026E19C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80272540 0026E1A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80272544 0026E1A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80272548 0026E1A8 7C 08 03 A6 */ mtlr r0
/* 8027254C 0026E1AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80272550 0026E1B0 4E 80 00 20 */ blr
.global OSSetThreadPriority
OSSetThreadPriority:
/* 80272554 0026E1B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80272558 0026E1B8 7C 08 02 A6 */ mflr r0
/* 8027255C 0026E1BC 2C 04 00 00 */ cmpwi r4, 0
/* 80272560 0026E1C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80272564 0026E1C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80272568 0026E1C8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8027256C 0026E1CC 7C 9E 23 78 */ mr r30, r4
/* 80272570 0026E1D0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80272574 0026E1D4 7C 7D 1B 78 */ mr r29, r3
/* 80272578 0026E1D8 41 80 00 0C */ blt lbl_80272584
/* 8027257C 0026E1DC 2C 04 00 1F */ cmpwi r4, 0x1f
/* 80272580 0026E1E0 40 81 00 0C */ ble lbl_8027258C
lbl_80272584:
/* 80272584 0026E1E4 38 60 00 00 */ li r3, 0
/* 80272588 0026E1E8 48 00 00 9C */ b lbl_80272624
lbl_8027258C:
/* 8027258C 0026E1EC 4B FF C1 D1 */ bl OSDisableInterrupts
/* 80272590 0026E1F0 80 1D 02 D4 */ lwz r0, 0x2d4(r29)
/* 80272594 0026E1F4 7C 7F 1B 78 */ mr r31, r3
/* 80272598 0026E1F8 7C 00 F0 00 */ cmpw r0, r30
/* 8027259C 0026E1FC 41 82 00 7C */ beq lbl_80272618
/* 802725A0 0026E200 93 DD 02 D4 */ stw r30, 0x2d4(r29)
lbl_802725A4:
/* 802725A4 0026E204 80 1D 02 CC */ lwz r0, 0x2cc(r29)
/* 802725A8 0026E208 2C 00 00 00 */ cmpwi r0, 0
/* 802725AC 0026E20C 41 81 00 58 */ bgt lbl_80272604
/* 802725B0 0026E210 80 9D 02 D4 */ lwz r4, 0x2d4(r29)
/* 802725B4 0026E214 80 7D 02 F4 */ lwz r3, 0x2f4(r29)
/* 802725B8 0026E218 48 00 00 24 */ b lbl_802725DC
lbl_802725BC:
/* 802725BC 0026E21C 80 A3 00 00 */ lwz r5, 0(r3)
/* 802725C0 0026E220 2C 05 00 00 */ cmpwi r5, 0
/* 802725C4 0026E224 41 82 00 14 */ beq lbl_802725D8
/* 802725C8 0026E228 80 05 02 D0 */ lwz r0, 0x2d0(r5)
/* 802725CC 0026E22C 7C 00 20 00 */ cmpw r0, r4
/* 802725D0 0026E230 40 80 00 08 */ bge lbl_802725D8
/* 802725D4 0026E234 7C 04 03 78 */ mr r4, r0
lbl_802725D8:
/* 802725D8 0026E238 80 63 00 10 */ lwz r3, 0x10(r3)
lbl_802725DC:
/* 802725DC 0026E23C 2C 03 00 00 */ cmpwi r3, 0
/* 802725E0 0026E240 40 82 FF DC */ bne lbl_802725BC
/* 802725E4 0026E244 80 1D 02 D0 */ lwz r0, 0x2d0(r29)
/* 802725E8 0026E248 7C 00 20 00 */ cmpw r0, r4
/* 802725EC 0026E24C 41 82 00 18 */ beq lbl_80272604
/* 802725F0 0026E250 7F A3 EB 78 */ mr r3, r29
/* 802725F4 0026E254 4B FF EE 6D */ bl SetEffectivePriority
/* 802725F8 0026E258 2C 03 00 00 */ cmpwi r3, 0
/* 802725FC 0026E25C 7C 7D 1B 78 */ mr r29, r3
/* 80272600 0026E260 40 82 FF A4 */ bne lbl_802725A4
lbl_80272604:
/* 80272604 0026E264 80 0D A8 2C */ lwz r0, lbl_8063FAEC-_SDA_BASE_(r13)
/* 80272608 0026E268 2C 00 00 00 */ cmpwi r0, 0
/* 8027260C 0026E26C 41 82 00 0C */ beq lbl_80272618
/* 80272610 0026E270 38 60 00 00 */ li r3, 0
/* 80272614 0026E274 4B FF F0 51 */ bl SelectThread
lbl_80272618:
/* 80272618 0026E278 7F E3 FB 78 */ mr r3, r31
/* 8027261C 0026E27C 4B FF C1 69 */ bl OSRestoreInterrupts
/* 80272620 0026E280 38 60 00 01 */ li r3, 1
lbl_80272624:
/* 80272624 0026E284 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80272628 0026E288 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8027262C 0026E28C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80272630 0026E290 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80272634 0026E294 7C 08 03 A6 */ mtlr r0
/* 80272638 0026E298 38 21 00 20 */ addi r1, r1, 0x20
/* 8027263C 0026E29C 4E 80 00 20 */ blr
.global OSGetThreadPriority
OSGetThreadPriority:
/* 80272640 0026E2A0 80 63 02 D4 */ lwz r3, 0x2d4(r3)
/* 80272644 0026E2A4 4E 80 00 20 */ blr
.global OSSetIdleFunction
OSSetIdleFunction:
/* 80272648 0026E2A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027264C 0026E2AC 7C 08 02 A6 */ mflr r0
/* 80272650 0026E2B0 2C 03 00 00 */ cmpwi r3, 0
/* 80272654 0026E2B4 7C 6A 1B 78 */ mr r10, r3
/* 80272658 0026E2B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027265C 0026E2BC 7C 89 23 78 */ mr r9, r4
/* 80272660 0026E2C0 7C A8 2B 78 */ mr r8, r5
/* 80272664 0026E2C4 7C C7 33 78 */ mr r7, r6
/* 80272668 0026E2C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8027266C 0026E2CC 41 82 00 44 */ beq lbl_802726B0
/* 80272670 0026E2D0 3F E0 80 51 */ lis r31, lbl_80514EB8@ha
/* 80272674 0026E2D4 3B FF 4E B8 */ addi r31, r31, lbl_80514EB8@l
/* 80272678 0026E2D8 A0 1F 02 C8 */ lhz r0, 0x2c8(r31)
/* 8027267C 0026E2DC 2C 00 00 00 */ cmpwi r0, 0
/* 80272680 0026E2E0 40 82 00 48 */ bne lbl_802726C8
/* 80272684 0026E2E4 7D 25 4B 78 */ mr r5, r9
/* 80272688 0026E2E8 7D 06 43 78 */ mr r6, r8
/* 8027268C 0026E2EC 7F E3 FB 78 */ mr r3, r31
/* 80272690 0026E2F0 7D 44 53 78 */ mr r4, r10
/* 80272694 0026E2F4 39 00 00 1F */ li r8, 0x1f
/* 80272698 0026E2F8 39 20 00 01 */ li r9, 1
/* 8027269C 0026E2FC 4B FF F2 45 */ bl OSCreateThread
/* 802726A0 0026E300 7F E3 FB 78 */ mr r3, r31
/* 802726A4 0026E304 4B FF F8 A5 */ bl OSResumeThread
/* 802726A8 0026E308 7F E3 FB 78 */ mr r3, r31
/* 802726AC 0026E30C 48 00 00 20 */ b lbl_802726CC
lbl_802726B0:
/* 802726B0 0026E310 3C 60 80 51 */ lis r3, lbl_80514EB8@ha
/* 802726B4 0026E314 38 63 4E B8 */ addi r3, r3, lbl_80514EB8@l
/* 802726B8 0026E318 A0 03 02 C8 */ lhz r0, 0x2c8(r3)
/* 802726BC 0026E31C 2C 00 00 00 */ cmpwi r0, 0
/* 802726C0 0026E320 41 82 00 08 */ beq lbl_802726C8
/* 802726C4 0026E324 4B FF F5 6D */ bl OSCancelThread
lbl_802726C8:
/* 802726C8 0026E328 38 60 00 00 */ li r3, 0
lbl_802726CC:
/* 802726CC 0026E32C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802726D0 0026E330 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802726D4 0026E334 7C 08 03 A6 */ mtlr r0
/* 802726D8 0026E338 38 21 00 10 */ addi r1, r1, 0x10
/* 802726DC 0026E33C 4E 80 00 20 */ blr
.global SleepAlarmHandler
SleepAlarmHandler:
/* 802726E0 0026E340 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802726E4 0026E344 7C 08 02 A6 */ mflr r0
/* 802726E8 0026E348 90 01 00 14 */ stw r0, 0x14(r1)
/* 802726EC 0026E34C 4B FF 77 BD */ bl OSGetAlarmUserData
/* 802726F0 0026E350 4B FF F8 59 */ bl OSResumeThread
/* 802726F4 0026E354 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802726F8 0026E358 7C 08 03 A6 */ mtlr r0
/* 802726FC 0026E35C 38 21 00 10 */ addi r1, r1, 0x10
/* 80272700 0026E360 4E 80 00 20 */ blr
.global OSSleepTicks
OSSleepTicks:
/* 80272704 0026E364 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80272708 0026E368 7C 08 02 A6 */ mflr r0
/* 8027270C 0026E36C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80272710 0026E370 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80272714 0026E374 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80272718 0026E378 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8027271C 0026E37C 7C 7D 1B 78 */ mr r29, r3
/* 80272720 0026E380 93 81 00 40 */ stw r28, 0x40(r1)
/* 80272724 0026E384 7C 9C 23 78 */ mr r28, r4
/* 80272728 0026E388 4B FF C0 35 */ bl OSDisableInterrupts
/* 8027272C 0026E38C 3C 80 80 00 */ lis r4, 0x800000E4@ha
/* 80272730 0026E390 7C 7E 1B 78 */ mr r30, r3
/* 80272734 0026E394 83 E4 00 E4 */ lwz r31, 0x800000E4@l(r4)
/* 80272738 0026E398 2C 1F 00 00 */ cmpwi r31, 0
/* 8027273C 0026E39C 40 82 00 0C */ bne lbl_80272748
/* 80272740 0026E3A0 4B FF C0 45 */ bl OSRestoreInterrupts
/* 80272744 0026E3A4 48 00 00 54 */ b lbl_80272798
lbl_80272748:
/* 80272748 0026E3A8 38 61 00 08 */ addi r3, r1, 8
/* 8027274C 0026E3AC 4B FF 6F D9 */ bl OSCreateAlarm
/* 80272750 0026E3B0 7F E4 FB 78 */ mr r4, r31
/* 80272754 0026E3B4 38 61 00 08 */ addi r3, r1, 8
/* 80272758 0026E3B8 4B FF 76 B5 */ bl OSSetAlarmTag
/* 8027275C 0026E3BC 7F E4 FB 78 */ mr r4, r31
/* 80272760 0026E3C0 38 61 00 08 */ addi r3, r1, 8
/* 80272764 0026E3C4 4B FF 77 3D */ bl OSSetAlarmUserData
/* 80272768 0026E3C8 3C E0 80 27 */ lis r7, SleepAlarmHandler@ha
/* 8027276C 0026E3CC 7F 86 E3 78 */ mr r6, r28
/* 80272770 0026E3D0 7F A5 EB 78 */ mr r5, r29
/* 80272774 0026E3D4 38 61 00 08 */ addi r3, r1, 8
/* 80272778 0026E3D8 38 E7 26 E0 */ addi r7, r7, SleepAlarmHandler@l
/* 8027277C 0026E3DC 4B FF 72 09 */ bl OSSetAlarm
/* 80272780 0026E3E0 7F E3 FB 78 */ mr r3, r31
/* 80272784 0026E3E4 4B FF FA 5D */ bl OSSuspendThread
/* 80272788 0026E3E8 38 61 00 08 */ addi r3, r1, 8
/* 8027278C 0026E3EC 4B FF 72 ED */ bl OSCancelAlarm
/* 80272790 0026E3F0 7F C3 F3 78 */ mr r3, r30
/* 80272794 0026E3F4 4B FF BF F1 */ bl OSRestoreInterrupts
lbl_80272798:
/* 80272798 0026E3F8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8027279C 0026E3FC 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 802727A0 0026E400 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 802727A4 0026E404 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 802727A8 0026E408 83 81 00 40 */ lwz r28, 0x40(r1)
/* 802727AC 0026E40C 7C 08 03 A6 */ mtlr r0
/* 802727B0 0026E410 38 21 00 50 */ addi r1, r1, 0x50
/* 802727B4 0026E414 4E 80 00 20 */ blr
|