summaryrefslogtreecommitdiff
path: root/asm/SDK/OS/OSThread.s
blob: a98f9a98c3f6ac8bbc18d8084e860f2dcd31721c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
.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