summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/gki_buffer.s
blob: e2839c07109f099e9b57ac943003bdbe3b54c6fa (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
.include "macros.inc"

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

.global gki_init_free_queue
gki_init_free_queue:
/* 802B95CC 002B522C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802B95D0 002B5230  7C 08 02 A6 */	mflr r0
/* 802B95D4 002B5234  90 01 00 44 */	stw r0, 0x44(r1)
/* 802B95D8 002B5238  39 61 00 40 */	addi r11, r1, 0x40
/* 802B95DC 002B523C  4B F0 DB 29 */	bl _savegpr_18
/* 802B95E0 002B5240  39 84 00 03 */	addi r12, r4, 3
/* 802B95E4 002B5244  3C 80 80 54 */	lis r4, lbl_8053C2C0@ha
/* 802B95E8 002B5248  55 89 00 3A */	rlwinm r9, r12, 0, 0, 0x1d
/* 802B95EC 002B524C  54 6B 15 BA */	rlwinm r11, r3, 2, 0x16, 0x1d
/* 802B95F0 002B5250  3B 49 00 0C */	addi r26, r9, 0xc
/* 802B95F4 002B5254  38 84 C2 C0 */	addi r4, r4, lbl_8053C2C0@l
/* 802B95F8 002B5258  57 48 04 3E */	clrlwi r8, r26, 0x10
/* 802B95FC 002B525C  54 60 25 36 */	rlwinm r0, r3, 4, 0x14, 0x1b
/* 802B9600 002B5260  7C E8 29 D6 */	mullw r7, r8, r5
/* 802B9604 002B5264  39 44 00 54 */	addi r10, r4, 0x54
/* 802B9608 002B5268  54 64 0D FC */	rlwinm r4, r3, 1, 0x17, 0x1e
/* 802B960C 002B526C  3F 2A 00 03 */	addis r25, r10, 3
/* 802B9610 002B5270  55 8C 04 3A */	rlwinm r12, r12, 0, 0x10, 0x1d
/* 802B9614 002B5274  7F 19 5A 14 */	add r24, r25, r11
/* 802B9618 002B5278  7D 66 3A 14 */	add r11, r6, r7
/* 802B961C 002B527C  90 D8 8A 1C */	stw r6, -0x75e4(r24)
/* 802B9620 002B5280  7C F9 22 14 */	add r7, r25, r4
/* 802B9624 002B5284  38 80 00 00 */	li r4, 0
/* 802B9628 002B5288  91 78 8A 40 */	stw r11, -0x75c0(r24)
/* 802B962C 002B528C  7D 79 02 14 */	add r11, r25, r0
/* 802B9630 002B5290  2C 05 00 00 */	cmpwi r5, 0
/* 802B9634 002B5294  B3 47 8A 64 */	sth r26, -0x759c(r7)
/* 802B9638 002B5298  38 E0 00 00 */	li r7, 0
/* 802B963C 002B529C  B1 8B 89 94 */	sth r12, -0x766c(r11)
/* 802B9640 002B52A0  B0 AB 89 96 */	sth r5, -0x766a(r11)
/* 802B9644 002B52A4  B0 8B 89 98 */	sth r4, -0x7668(r11)
/* 802B9648 002B52A8  B0 8B 89 9A */	sth r4, -0x7666(r11)
/* 802B964C 002B52AC  90 CB 89 8C */	stw r6, -0x7674(r11)
/* 802B9650 002B52B0  41 82 01 70 */	beq lbl_802B97C0
/* 802B9654 002B52B4  28 05 00 08 */	cmplwi r5, 8
/* 802B9658 002B52B8  3D 65 00 01 */	addis r11, r5, 1
/* 802B965C 002B52BC  39 6B FF F8 */	addi r11, r11, -8
/* 802B9660 002B52C0  40 81 01 14 */	ble lbl_802B9774
/* 802B9664 002B52C4  55 6C 04 3E */	clrlwi r12, r11, 0x10
/* 802B9668 002B52C8  3F 60 DD BB */	lis r27, 0xDDBADDBA@ha
/* 802B966C 002B52CC  39 6C 00 07 */	addi r11, r12, 7
/* 802B9670 002B52D0  3B 00 00 F0 */	li r24, 0xf0
/* 802B9674 002B52D4  55 6B E8 FE */	srwi r11, r11, 3
/* 802B9678 002B52D8  3B 5B DD BA */	addi r26, r27, 0xDDBADDBA@l
/* 802B967C 002B52DC  3B 20 00 00 */	li r25, 0
/* 802B9680 002B52E0  7D 69 03 A6 */	mtctr r11
/* 802B9684 002B52E4  28 0C 00 00 */	cmplwi r12, 0
/* 802B9688 002B52E8  40 81 00 EC */	ble lbl_802B9774
lbl_802B968C:
/* 802B968C 002B52EC  9B 06 00 05 */	stb r24, 5(r6)
/* 802B9690 002B52F0  7E 46 42 14 */	add r18, r6, r8
/* 802B9694 002B52F4  7E 72 42 14 */	add r19, r18, r8
/* 802B9698 002B52F8  7C 86 4A 14 */	add r4, r6, r9
/* 802B969C 002B52FC  98 66 00 04 */	stb r3, 4(r6)
/* 802B96A0 002B5300  7E 93 42 14 */	add r20, r19, r8
/* 802B96A4 002B5304  7E B4 42 14 */	add r21, r20, r8
/* 802B96A8 002B5308  7F 72 4A 14 */	add r27, r18, r9
/* 802B96AC 002B530C  9B 26 00 06 */	stb r25, 6(r6)
/* 802B96B0 002B5310  7E D5 42 14 */	add r22, r21, r8
/* 802B96B4 002B5314  7E F6 42 14 */	add r23, r22, r8
/* 802B96B8 002B5318  7F 93 4A 14 */	add r28, r19, r9
/* 802B96BC 002B531C  93 44 00 08 */	stw r26, 8(r4)
/* 802B96C0 002B5320  7C 97 42 14 */	add r4, r23, r8
/* 802B96C4 002B5324  7F F4 4A 14 */	add r31, r20, r9
/* 802B96C8 002B5328  7F D5 4A 14 */	add r30, r21, r9
/* 802B96CC 002B532C  92 46 00 00 */	stw r18, 0(r6)
/* 802B96D0 002B5330  7F B6 4A 14 */	add r29, r22, r9
/* 802B96D4 002B5334  7D 97 4A 14 */	add r12, r23, r9
/* 802B96D8 002B5338  7D 64 4A 14 */	add r11, r4, r9
/* 802B96DC 002B533C  9B 12 00 05 */	stb r24, 5(r18)
/* 802B96E0 002B5340  7C C4 42 14 */	add r6, r4, r8
/* 802B96E4 002B5344  38 E7 00 08 */	addi r7, r7, 8
/* 802B96E8 002B5348  98 72 00 04 */	stb r3, 4(r18)
/* 802B96EC 002B534C  9B 32 00 06 */	stb r25, 6(r18)
/* 802B96F0 002B5350  93 5B 00 08 */	stw r26, 8(r27)
/* 802B96F4 002B5354  92 72 00 00 */	stw r19, 0(r18)
/* 802B96F8 002B5358  9B 13 00 05 */	stb r24, 5(r19)
/* 802B96FC 002B535C  98 73 00 04 */	stb r3, 4(r19)
/* 802B9700 002B5360  9B 33 00 06 */	stb r25, 6(r19)
/* 802B9704 002B5364  93 5C 00 08 */	stw r26, 8(r28)
/* 802B9708 002B5368  7E 92 41 2E */	stwx r20, r18, r8
/* 802B970C 002B536C  9B 14 00 05 */	stb r24, 5(r20)
/* 802B9710 002B5370  98 74 00 04 */	stb r3, 4(r20)
/* 802B9714 002B5374  9B 34 00 06 */	stb r25, 6(r20)
/* 802B9718 002B5378  93 5F 00 08 */	stw r26, 8(r31)
/* 802B971C 002B537C  7E B3 41 2E */	stwx r21, r19, r8
/* 802B9720 002B5380  9B 15 00 05 */	stb r24, 5(r21)
/* 802B9724 002B5384  98 75 00 04 */	stb r3, 4(r21)
/* 802B9728 002B5388  9B 35 00 06 */	stb r25, 6(r21)
/* 802B972C 002B538C  93 5E 00 08 */	stw r26, 8(r30)
/* 802B9730 002B5390  7E D4 41 2E */	stwx r22, r20, r8
/* 802B9734 002B5394  9B 16 00 05 */	stb r24, 5(r22)
/* 802B9738 002B5398  98 76 00 04 */	stb r3, 4(r22)
/* 802B973C 002B539C  9B 36 00 06 */	stb r25, 6(r22)
/* 802B9740 002B53A0  93 5D 00 08 */	stw r26, 8(r29)
/* 802B9744 002B53A4  7E F5 41 2E */	stwx r23, r21, r8
/* 802B9748 002B53A8  9B 17 00 05 */	stb r24, 5(r23)
/* 802B974C 002B53AC  98 77 00 04 */	stb r3, 4(r23)
/* 802B9750 002B53B0  9B 37 00 06 */	stb r25, 6(r23)
/* 802B9754 002B53B4  93 4C 00 08 */	stw r26, 8(r12)
/* 802B9758 002B53B8  7C 96 41 2E */	stwx r4, r22, r8
/* 802B975C 002B53BC  9B 04 00 05 */	stb r24, 5(r4)
/* 802B9760 002B53C0  98 64 00 04 */	stb r3, 4(r4)
/* 802B9764 002B53C4  9B 24 00 06 */	stb r25, 6(r4)
/* 802B9768 002B53C8  93 4B 00 08 */	stw r26, 8(r11)
/* 802B976C 002B53CC  7C D7 41 2E */	stwx r6, r23, r8
/* 802B9770 002B53D0  42 00 FF 1C */	bdnz lbl_802B968C
lbl_802B9774:
/* 802B9774 002B53D4  54 EC 04 3E */	clrlwi r12, r7, 0x10
/* 802B9778 002B53D8  3F E0 DD BB */	lis r31, 0xDDBADDBA@ha
/* 802B977C 002B53DC  7D 6C 28 50 */	subf r11, r12, r5
/* 802B9780 002B53E0  3B A0 00 F0 */	li r29, 0xf0
/* 802B9784 002B53E4  3B FF DD BA */	addi r31, r31, 0xDDBADDBA@l
/* 802B9788 002B53E8  3B C0 00 00 */	li r30, 0
/* 802B978C 002B53EC  7D 69 03 A6 */	mtctr r11
/* 802B9790 002B53F0  7C 0C 28 40 */	cmplw r12, r5
/* 802B9794 002B53F4  40 80 00 2C */	bge lbl_802B97C0
lbl_802B9798:
/* 802B9798 002B53F8  9B A6 00 05 */	stb r29, 5(r6)
/* 802B979C 002B53FC  7C A6 4A 14 */	add r5, r6, r9
/* 802B97A0 002B5400  7C C4 33 78 */	mr r4, r6
/* 802B97A4 002B5404  38 E7 00 01 */	addi r7, r7, 1
/* 802B97A8 002B5408  98 66 00 04 */	stb r3, 4(r6)
/* 802B97AC 002B540C  9B C6 00 06 */	stb r30, 6(r6)
/* 802B97B0 002B5410  7C C6 42 14 */	add r6, r6, r8
/* 802B97B4 002B5414  93 E5 00 08 */	stw r31, 8(r5)
/* 802B97B8 002B5418  90 C4 00 00 */	stw r6, 0(r4)
/* 802B97BC 002B541C  42 00 FF DC */	bdnz lbl_802B9798
lbl_802B97C0:
/* 802B97C0 002B5420  38 A0 00 00 */	li r5, 0
/* 802B97C4 002B5424  3C 6A 00 03 */	addis r3, r10, 3
/* 802B97C8 002B5428  90 A4 00 00 */	stw r5, 0(r4)
/* 802B97CC 002B542C  7C 63 02 14 */	add r3, r3, r0
/* 802B97D0 002B5430  39 61 00 40 */	addi r11, r1, 0x40
/* 802B97D4 002B5434  90 83 89 90 */	stw r4, -0x7670(r3)
/* 802B97D8 002B5438  4B F0 D9 79 */	bl _restgpr_18
/* 802B97DC 002B543C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802B97E0 002B5440  7C 08 03 A6 */	mtlr r0
/* 802B97E4 002B5444  38 21 00 40 */	addi r1, r1, 0x40
/* 802B97E8 002B5448  4E 80 00 20 */	blr

.global gki_buffer_init
gki_buffer_init:
/* 802B97EC 002B544C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802B97F0 002B5450  7C 08 02 A6 */	mflr r0
/* 802B97F4 002B5454  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802B97F8 002B5458  38 C0 00 00 */	li r6, 0
/* 802B97FC 002B545C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802B9800 002B5460  38 00 00 02 */	li r0, 2
/* 802B9804 002B5464  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802B9808 002B5468  38 80 00 00 */	li r4, 0
/* 802B980C 002B546C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802B9810 002B5470  3B E3 00 54 */	addi r31, r3, 0x54
/* 802B9814 002B5474  7C 09 03 A6 */	mtctr r0
lbl_802B9818:
/* 802B9818 002B5478  54 C0 25 36 */	rlwinm r0, r6, 4, 0x14, 0x1b
/* 802B981C 002B547C  38 C6 00 01 */	addi r6, r6, 1
/* 802B9820 002B5480  7C BF 02 14 */	add r5, r31, r0
/* 802B9824 002B5484  3C 65 00 03 */	addis r3, r5, 3
/* 802B9828 002B5488  54 C0 25 36 */	rlwinm r0, r6, 4, 0x14, 0x1b
/* 802B982C 002B548C  90 83 88 8C */	stw r4, -0x7774(r3)
/* 802B9830 002B5490  7C BF 02 14 */	add r5, r31, r0
/* 802B9834 002B5494  38 C6 00 01 */	addi r6, r6, 1
/* 802B9838 002B5498  90 83 89 0C */	stw r4, -0x76f4(r3)
/* 802B983C 002B549C  54 C0 25 36 */	rlwinm r0, r6, 4, 0x14, 0x1b
/* 802B9840 002B54A0  38 C6 00 01 */	addi r6, r6, 1
/* 802B9844 002B54A4  90 83 88 90 */	stw r4, -0x7770(r3)
/* 802B9848 002B54A8  90 83 89 10 */	stw r4, -0x76f0(r3)
/* 802B984C 002B54AC  90 83 88 94 */	stw r4, -0x776c(r3)
/* 802B9850 002B54B0  90 83 89 14 */	stw r4, -0x76ec(r3)
/* 802B9854 002B54B4  90 83 88 98 */	stw r4, -0x7768(r3)
/* 802B9858 002B54B8  90 83 89 18 */	stw r4, -0x76e8(r3)
/* 802B985C 002B54BC  3C 65 00 03 */	addis r3, r5, 3
/* 802B9860 002B54C0  7C BF 02 14 */	add r5, r31, r0
/* 802B9864 002B54C4  54 C0 25 36 */	rlwinm r0, r6, 4, 0x14, 0x1b
/* 802B9868 002B54C8  90 83 88 8C */	stw r4, -0x7774(r3)
/* 802B986C 002B54CC  38 C6 00 01 */	addi r6, r6, 1
/* 802B9870 002B54D0  90 83 89 0C */	stw r4, -0x76f4(r3)
/* 802B9874 002B54D4  90 83 88 90 */	stw r4, -0x7770(r3)
/* 802B9878 002B54D8  90 83 89 10 */	stw r4, -0x76f0(r3)
/* 802B987C 002B54DC  90 83 88 94 */	stw r4, -0x776c(r3)
/* 802B9880 002B54E0  90 83 89 14 */	stw r4, -0x76ec(r3)
/* 802B9884 002B54E4  90 83 88 98 */	stw r4, -0x7768(r3)
/* 802B9888 002B54E8  90 83 89 18 */	stw r4, -0x76e8(r3)
/* 802B988C 002B54EC  3C 65 00 03 */	addis r3, r5, 3
/* 802B9890 002B54F0  7C BF 02 14 */	add r5, r31, r0
/* 802B9894 002B54F4  90 83 88 8C */	stw r4, -0x7774(r3)
/* 802B9898 002B54F8  90 83 89 0C */	stw r4, -0x76f4(r3)
/* 802B989C 002B54FC  90 83 88 90 */	stw r4, -0x7770(r3)
/* 802B98A0 002B5500  90 83 89 10 */	stw r4, -0x76f0(r3)
/* 802B98A4 002B5504  90 83 88 94 */	stw r4, -0x776c(r3)
/* 802B98A8 002B5508  90 83 89 14 */	stw r4, -0x76ec(r3)
/* 802B98AC 002B550C  90 83 88 98 */	stw r4, -0x7768(r3)
/* 802B98B0 002B5510  90 83 89 18 */	stw r4, -0x76e8(r3)
/* 802B98B4 002B5514  3C 65 00 03 */	addis r3, r5, 3
/* 802B98B8 002B5518  90 83 88 8C */	stw r4, -0x7774(r3)
/* 802B98BC 002B551C  90 83 89 0C */	stw r4, -0x76f4(r3)
/* 802B98C0 002B5520  90 83 88 90 */	stw r4, -0x7770(r3)
/* 802B98C4 002B5524  90 83 89 10 */	stw r4, -0x76f0(r3)
/* 802B98C8 002B5528  90 83 88 94 */	stw r4, -0x776c(r3)
/* 802B98CC 002B552C  90 83 89 14 */	stw r4, -0x76ec(r3)
/* 802B98D0 002B5530  90 83 88 98 */	stw r4, -0x7768(r3)
/* 802B98D4 002B5534  90 83 89 18 */	stw r4, -0x76e8(r3)
/* 802B98D8 002B5538  42 00 FF 40 */	bdnz lbl_802B9818
/* 802B98DC 002B553C  38 00 00 03 */	li r0, 3
/* 802B98E0 002B5540  39 40 00 00 */	li r10, 0
/* 802B98E4 002B5544  38 E0 00 00 */	li r7, 0
/* 802B98E8 002B5548  7C 09 03 A6 */	mtctr r0
lbl_802B98EC:
/* 802B98EC 002B554C  55 40 15 BA */	rlwinm r0, r10, 2, 0x16, 0x1d
/* 802B98F0 002B5550  55 44 0D FC */	rlwinm r4, r10, 1, 0x17, 0x1e
/* 802B98F4 002B5554  7D 1F 02 14 */	add r8, r31, r0
/* 802B98F8 002B5558  3C C8 00 03 */	addis r6, r8, 3
/* 802B98FC 002B555C  55 40 25 36 */	rlwinm r0, r10, 4, 0x14, 0x1b
/* 802B9900 002B5560  90 E6 8A 1C */	stw r7, -0x75e4(r6)
/* 802B9904 002B5564  3C 84 00 03 */	addis r4, r4, 3
/* 802B9908 002B5568  7D 3F 02 14 */	add r9, r31, r0
/* 802B990C 002B556C  39 4A 00 01 */	addi r10, r10, 1
/* 802B9910 002B5570  90 E6 8A 40 */	stw r7, -0x75c0(r6)
/* 802B9914 002B5574  38 A4 8A 64 */	addi r5, r4, -30108
/* 802B9918 002B5578  55 40 15 BA */	rlwinm r0, r10, 2, 0x16, 0x1d
/* 802B991C 002B557C  55 44 0D FC */	rlwinm r4, r10, 1, 0x17, 0x1e
/* 802B9920 002B5580  7C FF 2B 2E */	sthx r7, r31, r5
/* 802B9924 002B5584  7D 1F 02 14 */	add r8, r31, r0
/* 802B9928 002B5588  3C 69 00 03 */	addis r3, r9, 3
/* 802B992C 002B558C  55 40 25 36 */	rlwinm r0, r10, 4, 0x14, 0x1b
/* 802B9930 002B5590  90 E3 89 8C */	stw r7, -0x7674(r3)
/* 802B9934 002B5594  3C 84 00 03 */	addis r4, r4, 3
/* 802B9938 002B5598  3C C8 00 03 */	addis r6, r8, 3
/* 802B993C 002B559C  7D 3F 02 14 */	add r9, r31, r0
/* 802B9940 002B55A0  90 E3 89 90 */	stw r7, -0x7670(r3)
/* 802B9944 002B55A4  39 4A 00 01 */	addi r10, r10, 1
/* 802B9948 002B55A8  38 A4 8A 64 */	addi r5, r4, -30108
/* 802B994C 002B55AC  B0 E3 89 94 */	sth r7, -0x766c(r3)
/* 802B9950 002B55B0  55 40 15 BA */	rlwinm r0, r10, 2, 0x16, 0x1d
/* 802B9954 002B55B4  7D 1F 02 14 */	add r8, r31, r0
/* 802B9958 002B55B8  55 44 0D FC */	rlwinm r4, r10, 1, 0x17, 0x1e
/* 802B995C 002B55BC  B0 E3 89 96 */	sth r7, -0x766a(r3)
/* 802B9960 002B55C0  55 40 25 36 */	rlwinm r0, r10, 4, 0x14, 0x1b
/* 802B9964 002B55C4  3C 84 00 03 */	addis r4, r4, 3
/* 802B9968 002B55C8  39 4A 00 01 */	addi r10, r10, 1
/* 802B996C 002B55CC  B0 E3 89 98 */	sth r7, -0x7668(r3)
/* 802B9970 002B55D0  B0 E3 89 9A */	sth r7, -0x7666(r3)
/* 802B9974 002B55D4  3C 69 00 03 */	addis r3, r9, 3
/* 802B9978 002B55D8  7D 3F 02 14 */	add r9, r31, r0
/* 802B997C 002B55DC  90 E6 8A 1C */	stw r7, -0x75e4(r6)
/* 802B9980 002B55E0  90 E6 8A 40 */	stw r7, -0x75c0(r6)
/* 802B9984 002B55E4  3C C8 00 03 */	addis r6, r8, 3
/* 802B9988 002B55E8  7C FF 2B 2E */	sthx r7, r31, r5
/* 802B998C 002B55EC  38 A4 8A 64 */	addi r5, r4, -30108
/* 802B9990 002B55F0  90 E3 89 8C */	stw r7, -0x7674(r3)
/* 802B9994 002B55F4  90 E3 89 90 */	stw r7, -0x7670(r3)
/* 802B9998 002B55F8  B0 E3 89 94 */	sth r7, -0x766c(r3)
/* 802B999C 002B55FC  B0 E3 89 96 */	sth r7, -0x766a(r3)
/* 802B99A0 002B5600  B0 E3 89 98 */	sth r7, -0x7668(r3)
/* 802B99A4 002B5604  B0 E3 89 9A */	sth r7, -0x7666(r3)
/* 802B99A8 002B5608  3C 69 00 03 */	addis r3, r9, 3
/* 802B99AC 002B560C  90 E6 8A 1C */	stw r7, -0x75e4(r6)
/* 802B99B0 002B5610  90 E6 8A 40 */	stw r7, -0x75c0(r6)
/* 802B99B4 002B5614  7C FF 2B 2E */	sthx r7, r31, r5
/* 802B99B8 002B5618  90 E3 89 8C */	stw r7, -0x7674(r3)
/* 802B99BC 002B561C  90 E3 89 90 */	stw r7, -0x7670(r3)
/* 802B99C0 002B5620  B0 E3 89 94 */	sth r7, -0x766c(r3)
/* 802B99C4 002B5624  B0 E3 89 96 */	sth r7, -0x766a(r3)
/* 802B99C8 002B5628  B0 E3 89 98 */	sth r7, -0x7668(r3)
/* 802B99CC 002B562C  B0 E3 89 9A */	sth r7, -0x7666(r3)
/* 802B99D0 002B5630  42 00 FF 1C */	bdnz lbl_802B98EC
/* 802B99D4 002B5634  3C 80 00 01 */	lis r4, 0x0000FFF0@ha
/* 802B99D8 002B5638  3C 7F 00 03 */	addis r3, r31, 3
/* 802B99DC 002B563C  38 04 FF F0 */	addi r0, r4, 0x0000FFF0@l
/* 802B99E0 002B5640  7F E6 FB 78 */	mr r6, r31
/* 802B99E4 002B5644  B0 03 8A 7C */	sth r0, -0x7584(r3)
/* 802B99E8 002B5648  38 60 00 00 */	li r3, 0
/* 802B99EC 002B564C  38 80 00 40 */	li r4, 0x40
/* 802B99F0 002B5650  38 A0 00 30 */	li r5, 0x30
/* 802B99F4 002B5654  4B FF FB D9 */	bl gki_init_free_queue
/* 802B99F8 002B5658  38 DF 0E 40 */	addi r6, r31, 0xe40
/* 802B99FC 002B565C  38 60 00 01 */	li r3, 1
/* 802B9A00 002B5660  38 80 00 80 */	li r4, 0x80
/* 802B9A04 002B5664  38 A0 00 1A */	li r5, 0x1a
/* 802B9A08 002B5668  4B FF FB C5 */	bl gki_init_free_queue
/* 802B9A0C 002B566C  38 DF 1C 78 */	addi r6, r31, 0x1c78
/* 802B9A10 002B5670  38 60 00 02 */	li r3, 2
/* 802B9A14 002B5674  38 80 02 94 */	li r4, 0x294
/* 802B9A18 002B5678  38 A0 00 2D */	li r5, 0x2d
/* 802B9A1C 002B567C  4B FF FB B1 */	bl gki_init_free_queue
/* 802B9A20 002B5680  3C DF 00 01 */	addis r6, r31, 1
/* 802B9A24 002B5684  38 60 00 03 */	li r3, 3
/* 802B9A28 002B5688  38 80 07 08 */	li r4, 0x708
/* 802B9A2C 002B568C  38 A0 00 1E */	li r5, 0x1e
/* 802B9A30 002B5690  38 C6 92 98 */	addi r6, r6, -28008
/* 802B9A34 002B5694  4B FF FB 99 */	bl gki_init_free_queue
/* 802B9A38 002B5698  3C DF 00 01 */	addis r6, r31, 1
/* 802B9A3C 002B569C  38 60 00 04 */	li r3, 4
/* 802B9A40 002B56A0  38 80 20 00 */	li r4, 0x2000
/* 802B9A44 002B56A4  38 A0 00 09 */	li r5, 9
/* 802B9A48 002B56A8  38 C6 66 F0 */	addi r6, r6, 0x66f0
/* 802B9A4C 002B56AC  4B FF FB 81 */	bl gki_init_free_queue
/* 802B9A50 002B56B0  3C DF 00 03 */	addis r6, r31, 3
/* 802B9A54 002B56B4  38 00 00 00 */	li r0, 0
/* 802B9A58 002B56B8  98 06 8A 7E */	stb r0, -0x7582(r6)
/* 802B9A5C 002B56BC  38 00 00 01 */	li r0, 1
/* 802B9A60 002B56C0  38 A0 00 02 */	li r5, 2
/* 802B9A64 002B56C4  38 80 00 03 */	li r4, 3
/* 802B9A68 002B56C8  98 06 8A 7F */	stb r0, -0x7581(r6)
/* 802B9A6C 002B56CC  38 60 00 04 */	li r3, 4
/* 802B9A70 002B56D0  38 00 00 05 */	li r0, 5
/* 802B9A74 002B56D4  98 A6 8A 80 */	stb r5, -0x7580(r6)
/* 802B9A78 002B56D8  98 86 8A 81 */	stb r4, -0x757f(r6)
/* 802B9A7C 002B56DC  98 66 8A 82 */	stb r3, -0x757e(r6)
/* 802B9A80 002B56E0  98 06 8A 87 */	stb r0, -0x7579(r6)
/* 802B9A84 002B56E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802B9A88 002B56E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802B9A8C 002B56EC  7C 08 03 A6 */	mtlr r0
/* 802B9A90 002B56F0  38 21 00 10 */	addi r1, r1, 0x10
/* 802B9A94 002B56F4  4E 80 00 20 */	blr

.global GKI_init_q
GKI_init_q:
/* 802B9A98 002B56F8  38 00 00 00 */	li r0, 0
/* 802B9A9C 002B56FC  90 03 00 04 */	stw r0, 4(r3)
/* 802B9AA0 002B5700  90 03 00 00 */	stw r0, 0(r3)
/* 802B9AA4 002B5704  B0 03 00 08 */	sth r0, 8(r3)
/* 802B9AA8 002B5708  4E 80 00 20 */	blr

.global GKI_getbuf
GKI_getbuf:
/* 802B9AAC 002B570C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802B9AB0 002B5710  7C 08 02 A6 */	mflr r0
/* 802B9AB4 002B5714  3C 80 80 54 */	lis r4, lbl_8053C2C0@ha
/* 802B9AB8 002B5718  2C 03 00 00 */	cmpwi r3, 0
/* 802B9ABC 002B571C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802B9AC0 002B5720  38 84 C2 C0 */	addi r4, r4, lbl_8053C2C0@l
/* 802B9AC4 002B5724  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802B9AC8 002B5728  93 C1 00 08 */	stw r30, 8(r1)
/* 802B9ACC 002B572C  3B C4 00 54 */	addi r30, r4, 0x54
/* 802B9AD0 002B5730  40 82 00 24 */	bne lbl_802B9AF4
/* 802B9AD4 002B5734  3C 60 00 01 */	lis r3, 0x0000FFF6@ha
/* 802B9AD8 002B5738  3C 80 80 44 */	lis r4, lbl_8043F130@ha
/* 802B9ADC 002B573C  38 03 FF F6 */	addi r0, r3, 0x0000FFF6@l
/* 802B9AE0 002B5740  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9AE4 002B5744  38 84 F1 30 */	addi r4, r4, lbl_8043F130@l
/* 802B9AE8 002B5748  48 00 16 DD */	bl GKI_exception
/* 802B9AEC 002B574C  38 60 00 00 */	li r3, 0
/* 802B9AF0 002B5750  48 00 01 44 */	b lbl_802B9C34
lbl_802B9AF4:
/* 802B9AF4 002B5754  3C 9E 00 03 */	addis r4, r30, 3
/* 802B9AF8 002B5758  3B E0 00 00 */	li r31, 0
/* 802B9AFC 002B575C  88 A4 8A 87 */	lbz r5, -0x7579(r4)
/* 802B9B00 002B5760  48 00 00 30 */	b lbl_802B9B30
lbl_802B9B04:
/* 802B9B04 002B5764  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 802B9B08 002B5768  3C 84 00 03 */	addis r4, r4, 3
/* 802B9B0C 002B576C  38 04 8A 7E */	addi r0, r4, -30082
/* 802B9B10 002B5770  7C 1E 00 AE */	lbzx r0, r30, r0
/* 802B9B14 002B5774  54 04 20 36 */	slwi r4, r0, 4
/* 802B9B18 002B5778  3C 84 00 03 */	addis r4, r4, 3
/* 802B9B1C 002B577C  38 04 89 94 */	addi r0, r4, -30316
/* 802B9B20 002B5780  7C 1E 02 2E */	lhzx r0, r30, r0
/* 802B9B24 002B5784  7C 03 00 40 */	cmplw r3, r0
/* 802B9B28 002B5788  40 81 00 14 */	ble lbl_802B9B3C
/* 802B9B2C 002B578C  3B FF 00 01 */	addi r31, r31, 1
lbl_802B9B30:
/* 802B9B30 002B5790  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 802B9B34 002B5794  7C 00 28 40 */	cmplw r0, r5
/* 802B9B38 002B5798  41 80 FF CC */	blt lbl_802B9B04
lbl_802B9B3C:
/* 802B9B3C 002B579C  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 802B9B40 002B57A0  7C 00 28 40 */	cmplw r0, r5
/* 802B9B44 002B57A4  40 82 00 24 */	bne lbl_802B9B68
/* 802B9B48 002B57A8  3C 60 00 01 */	lis r3, 0x0000FFF7@ha
/* 802B9B4C 002B57AC  3C 80 80 44 */	lis r4, lbl_8043F148@ha
/* 802B9B50 002B57B0  38 03 FF F7 */	addi r0, r3, 0x0000FFF7@l
/* 802B9B54 002B57B4  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9B58 002B57B8  38 84 F1 48 */	addi r4, r4, lbl_8043F148@l
/* 802B9B5C 002B57BC  48 00 16 69 */	bl GKI_exception
/* 802B9B60 002B57C0  38 60 00 00 */	li r3, 0
/* 802B9B64 002B57C4  48 00 00 D0 */	b lbl_802B9C34
lbl_802B9B68:
/* 802B9B68 002B57C8  48 00 16 19 */	bl GKI_disable
/* 802B9B6C 002B57CC  3C DE 00 03 */	addis r6, r30, 3
/* 802B9B70 002B57D0  38 A0 00 01 */	li r5, 1
/* 802B9B74 002B57D4  88 E6 8A 87 */	lbz r7, -0x7579(r6)
/* 802B9B78 002B57D8  48 00 00 A8 */	b lbl_802B9C20
lbl_802B9B7C:
/* 802B9B7C 002B57DC  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 802B9B80 002B57E0  A0 66 8A 7C */	lhz r3, -0x7584(r6)
/* 802B9B84 002B57E4  3C 84 00 03 */	addis r4, r4, 3
/* 802B9B88 002B57E8  38 04 8A 7E */	addi r0, r4, -30082
/* 802B9B8C 002B57EC  7C 9E 00 AE */	lbzx r4, r30, r0
/* 802B9B90 002B57F0  7C A0 20 30 */	slw r0, r5, r4
/* 802B9B94 002B57F4  7C 60 00 39 */	and. r0, r3, r0
/* 802B9B98 002B57F8  40 82 00 84 */	bne lbl_802B9C1C
/* 802B9B9C 002B57FC  54 80 25 36 */	rlwinm r0, r4, 4, 0x14, 0x1b
/* 802B9BA0 002B5800  7C 86 02 14 */	add r4, r6, r0
/* 802B9BA4 002B5804  A0 64 89 98 */	lhz r3, -0x7668(r4)
/* 802B9BA8 002B5808  A0 04 89 96 */	lhz r0, -0x766a(r4)
/* 802B9BAC 002B580C  7C 03 00 40 */	cmplw r3, r0
/* 802B9BB0 002B5810  40 80 00 6C */	bge lbl_802B9C1C
/* 802B9BB4 002B5814  83 C4 89 8C */	lwz r30, -0x7674(r4)
/* 802B9BB8 002B5818  80 1E 00 00 */	lwz r0, 0(r30)
/* 802B9BBC 002B581C  2C 00 00 00 */	cmpwi r0, 0
/* 802B9BC0 002B5820  90 04 89 8C */	stw r0, -0x7674(r4)
/* 802B9BC4 002B5824  40 82 00 0C */	bne lbl_802B9BD0
/* 802B9BC8 002B5828  38 00 00 00 */	li r0, 0
/* 802B9BCC 002B582C  90 04 89 90 */	stw r0, -0x7670(r4)
lbl_802B9BD0:
/* 802B9BD0 002B5830  A0 64 89 98 */	lhz r3, -0x7668(r4)
/* 802B9BD4 002B5834  38 03 00 01 */	addi r0, r3, 1
/* 802B9BD8 002B5838  B0 04 89 98 */	sth r0, -0x7668(r4)
/* 802B9BDC 002B583C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9BE0 002B5840  A0 04 89 9A */	lhz r0, -0x7666(r4)
/* 802B9BE4 002B5844  7C 03 00 40 */	cmplw r3, r0
/* 802B9BE8 002B5848  40 81 00 0C */	ble lbl_802B9BF4
/* 802B9BEC 002B584C  A0 04 89 98 */	lhz r0, -0x7668(r4)
/* 802B9BF0 002B5850  B0 04 89 9A */	sth r0, -0x7666(r4)
lbl_802B9BF4:
/* 802B9BF4 002B5854  48 00 15 69 */	bl GKI_enable
/* 802B9BF8 002B5858  48 00 15 5D */	bl GKI_get_taskid
/* 802B9BFC 002B585C  98 7E 00 05 */	stb r3, 5(r30)
/* 802B9C00 002B5860  38 80 00 01 */	li r4, 1
/* 802B9C04 002B5864  38 00 00 00 */	li r0, 0
/* 802B9C08 002B5868  38 7E 00 08 */	addi r3, r30, 8
/* 802B9C0C 002B586C  98 9E 00 06 */	stb r4, 6(r30)
/* 802B9C10 002B5870  90 1E 00 00 */	stw r0, 0(r30)
/* 802B9C14 002B5874  98 1E 00 07 */	stb r0, 7(r30)
/* 802B9C18 002B5878  48 00 00 1C */	b lbl_802B9C34
lbl_802B9C1C:
/* 802B9C1C 002B587C  3B FF 00 01 */	addi r31, r31, 1
lbl_802B9C20:
/* 802B9C20 002B5880  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 802B9C24 002B5884  7C 00 38 40 */	cmplw r0, r7
/* 802B9C28 002B5888  41 80 FF 54 */	blt lbl_802B9B7C
/* 802B9C2C 002B588C  48 00 15 31 */	bl GKI_enable
/* 802B9C30 002B5890  38 60 00 00 */	li r3, 0
lbl_802B9C34:
/* 802B9C34 002B5894  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802B9C38 002B5898  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802B9C3C 002B589C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802B9C40 002B58A0  7C 08 03 A6 */	mtlr r0
/* 802B9C44 002B58A4  38 21 00 10 */	addi r1, r1, 0x10
/* 802B9C48 002B58A8  4E 80 00 20 */	blr

.global GKI_getpoolbuf
GKI_getpoolbuf:
/* 802B9C4C 002B58AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802B9C50 002B58B0  7C 08 02 A6 */	mflr r0
/* 802B9C54 002B58B4  3C 80 80 54 */	lis r4, lbl_8053C2C0@ha
/* 802B9C58 002B58B8  28 03 00 09 */	cmplwi r3, 9
/* 802B9C5C 002B58BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 802B9C60 002B58C0  38 84 C2 C0 */	addi r4, r4, lbl_8053C2C0@l
/* 802B9C64 002B58C4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802B9C68 002B58C8  7C 7F 1B 78 */	mr r31, r3
/* 802B9C6C 002B58CC  93 C1 00 08 */	stw r30, 8(r1)
/* 802B9C70 002B58D0  3B C4 00 54 */	addi r30, r4, 0x54
/* 802B9C74 002B58D4  41 80 00 0C */	blt lbl_802B9C80
/* 802B9C78 002B58D8  38 60 00 00 */	li r3, 0
/* 802B9C7C 002B58DC  48 00 00 A0 */	b lbl_802B9D1C
lbl_802B9C80:
/* 802B9C80 002B58E0  48 00 15 01 */	bl GKI_disable
/* 802B9C84 002B58E4  57 FF 25 36 */	rlwinm r31, r31, 4, 0x14, 0x1b
/* 802B9C88 002B58E8  3C 1E 00 03 */	addis r0, r30, 3
/* 802B9C8C 002B58EC  7C 80 FA 14 */	add r4, r0, r31
/* 802B9C90 002B58F0  A0 64 89 98 */	lhz r3, -0x7668(r4)
/* 802B9C94 002B58F4  A0 04 89 96 */	lhz r0, -0x766a(r4)
/* 802B9C98 002B58F8  7C 03 00 40 */	cmplw r3, r0
/* 802B9C9C 002B58FC  40 80 00 6C */	bge lbl_802B9D08
/* 802B9CA0 002B5900  83 E4 89 8C */	lwz r31, -0x7674(r4)
/* 802B9CA4 002B5904  80 1F 00 00 */	lwz r0, 0(r31)
/* 802B9CA8 002B5908  2C 00 00 00 */	cmpwi r0, 0
/* 802B9CAC 002B590C  90 04 89 8C */	stw r0, -0x7674(r4)
/* 802B9CB0 002B5910  40 82 00 0C */	bne lbl_802B9CBC
/* 802B9CB4 002B5914  38 00 00 00 */	li r0, 0
/* 802B9CB8 002B5918  90 04 89 90 */	stw r0, -0x7670(r4)
lbl_802B9CBC:
/* 802B9CBC 002B591C  A0 64 89 98 */	lhz r3, -0x7668(r4)
/* 802B9CC0 002B5920  38 03 00 01 */	addi r0, r3, 1
/* 802B9CC4 002B5924  B0 04 89 98 */	sth r0, -0x7668(r4)
/* 802B9CC8 002B5928  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9CCC 002B592C  A0 04 89 9A */	lhz r0, -0x7666(r4)
/* 802B9CD0 002B5930  7C 03 00 40 */	cmplw r3, r0
/* 802B9CD4 002B5934  40 81 00 0C */	ble lbl_802B9CE0
/* 802B9CD8 002B5938  A0 04 89 98 */	lhz r0, -0x7668(r4)
/* 802B9CDC 002B593C  B0 04 89 9A */	sth r0, -0x7666(r4)
lbl_802B9CE0:
/* 802B9CE0 002B5940  48 00 14 7D */	bl GKI_enable
/* 802B9CE4 002B5944  48 00 14 71 */	bl GKI_get_taskid
/* 802B9CE8 002B5948  98 7F 00 05 */	stb r3, 5(r31)
/* 802B9CEC 002B594C  38 80 00 01 */	li r4, 1
/* 802B9CF0 002B5950  38 00 00 00 */	li r0, 0
/* 802B9CF4 002B5954  38 7F 00 08 */	addi r3, r31, 8
/* 802B9CF8 002B5958  98 9F 00 06 */	stb r4, 6(r31)
/* 802B9CFC 002B595C  90 1F 00 00 */	stw r0, 0(r31)
/* 802B9D00 002B5960  98 1F 00 07 */	stb r0, 7(r31)
/* 802B9D04 002B5964  48 00 00 18 */	b lbl_802B9D1C
lbl_802B9D08:
/* 802B9D08 002B5968  48 00 14 55 */	bl GKI_enable
/* 802B9D0C 002B596C  3C 1E 00 03 */	addis r0, r30, 3
/* 802B9D10 002B5970  7C 60 FA 14 */	add r3, r0, r31
/* 802B9D14 002B5974  A0 63 89 94 */	lhz r3, -0x766c(r3)
/* 802B9D18 002B5978  4B FF FD 95 */	bl GKI_getbuf
lbl_802B9D1C:
/* 802B9D1C 002B597C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802B9D20 002B5980  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802B9D24 002B5984  83 C1 00 08 */	lwz r30, 8(r1)
/* 802B9D28 002B5988  7C 08 03 A6 */	mtlr r0
/* 802B9D2C 002B598C  38 21 00 10 */	addi r1, r1, 0x10
/* 802B9D30 002B5990  4E 80 00 20 */	blr

.global GKI_freebuf
GKI_freebuf:
/* 802B9D34 002B5994  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802B9D38 002B5998  7C 08 02 A6 */	mflr r0
/* 802B9D3C 002B599C  3C A0 80 44 */	lis r5, lbl_8043F130@ha
/* 802B9D40 002B59A0  2C 03 00 00 */	cmpwi r3, 0
/* 802B9D44 002B59A4  90 01 00 14 */	stw r0, 0x14(r1)
/* 802B9D48 002B59A8  38 A5 F1 30 */	addi r5, r5, lbl_8043F130@l
/* 802B9D4C 002B59AC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802B9D50 002B59B0  41 82 00 7C */	beq lbl_802B9DCC
/* 802B9D54 002B59B4  3B E3 FF F8 */	addi r31, r3, -8
/* 802B9D58 002B59B8  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 802B9D5C 002B59BC  41 82 00 0C */	beq lbl_802B9D68
/* 802B9D60 002B59C0  38 00 00 00 */	li r0, 0
/* 802B9D64 002B59C4  48 00 00 30 */	b lbl_802B9D94
lbl_802B9D68:
/* 802B9D68 002B59C8  88 1F 00 04 */	lbz r0, 4(r31)
/* 802B9D6C 002B59CC  28 00 00 09 */	cmplwi r0, 9
/* 802B9D70 002B59D0  40 80 00 20 */	bge lbl_802B9D90
/* 802B9D74 002B59D4  3C 80 80 54 */	lis r4, lbl_8053C2C0@ha
/* 802B9D78 002B59D8  54 00 25 36 */	rlwinm r0, r0, 4, 0x14, 0x1b
/* 802B9D7C 002B59DC  38 84 C2 C0 */	addi r4, r4, lbl_8053C2C0@l
/* 802B9D80 002B59E0  3C 84 00 03 */	addis r4, r4, 3
/* 802B9D84 002B59E4  7C 84 02 14 */	add r4, r4, r0
/* 802B9D88 002B59E8  A0 04 89 E8 */	lhz r0, -0x7618(r4)
/* 802B9D8C 002B59EC  48 00 00 08 */	b lbl_802B9D94
lbl_802B9D90:
/* 802B9D90 002B59F0  38 00 00 00 */	li r0, 0
lbl_802B9D94:
/* 802B9D94 002B59F4  7C 83 02 14 */	add r4, r3, r0
/* 802B9D98 002B59F8  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802B9D9C 002B59FC  41 82 00 0C */	beq lbl_802B9DA8
/* 802B9DA0 002B5A00  38 00 00 01 */	li r0, 1
/* 802B9DA4 002B5A04  48 00 00 20 */	b lbl_802B9DC4
lbl_802B9DA8:
/* 802B9DA8 002B5A08  3C 60 DD BB */	lis r3, 0xDDBADDBA@ha
/* 802B9DAC 002B5A0C  80 84 00 00 */	lwz r4, 0(r4)
/* 802B9DB0 002B5A10  38 03 DD BA */	addi r0, r3, 0xDDBADDBA@l
/* 802B9DB4 002B5A14  7C 64 00 50 */	subf r3, r4, r0
/* 802B9DB8 002B5A18  7C 00 20 50 */	subf r0, r0, r4
/* 802B9DBC 002B5A1C  7C 60 03 78 */	or r0, r3, r0
/* 802B9DC0 002B5A20  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_802B9DC4:
/* 802B9DC4 002B5A24  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 802B9DC8 002B5A28  41 82 00 1C */	beq lbl_802B9DE4
lbl_802B9DCC:
/* 802B9DCC 002B5A2C  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802B9DD0 002B5A30  38 85 00 30 */	addi r4, r5, 0x30
/* 802B9DD4 002B5A34  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 802B9DD8 002B5A38  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9DDC 002B5A3C  48 00 13 E9 */	bl GKI_exception
/* 802B9DE0 002B5A40  48 00 00 B0 */	b lbl_802B9E90
lbl_802B9DE4:
/* 802B9DE4 002B5A44  88 1F 00 06 */	lbz r0, 6(r31)
/* 802B9DE8 002B5A48  28 00 00 01 */	cmplwi r0, 1
/* 802B9DEC 002B5A4C  41 82 00 1C */	beq lbl_802B9E08
/* 802B9DF0 002B5A50  3C 60 00 01 */	lis r3, 0x0000FFFC@ha
/* 802B9DF4 002B5A54  38 85 00 48 */	addi r4, r5, 0x48
/* 802B9DF8 002B5A58  38 03 FF FC */	addi r0, r3, 0x0000FFFC@l
/* 802B9DFC 002B5A5C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9E00 002B5A60  48 00 13 C5 */	bl GKI_exception
/* 802B9E04 002B5A64  48 00 00 8C */	b lbl_802B9E90
lbl_802B9E08:
/* 802B9E08 002B5A68  88 1F 00 04 */	lbz r0, 4(r31)
/* 802B9E0C 002B5A6C  28 00 00 09 */	cmplwi r0, 9
/* 802B9E10 002B5A70  41 80 00 1C */	blt lbl_802B9E2C
/* 802B9E14 002B5A74  3C 60 00 01 */	lis r3, 0x0000FFFD@ha
/* 802B9E18 002B5A78  38 85 00 5C */	addi r4, r5, 0x5c
/* 802B9E1C 002B5A7C  38 03 FF FD */	addi r0, r3, 0x0000FFFD@l
/* 802B9E20 002B5A80  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9E24 002B5A84  48 00 13 A1 */	bl GKI_exception
/* 802B9E28 002B5A88  48 00 00 68 */	b lbl_802B9E90
lbl_802B9E2C:
/* 802B9E2C 002B5A8C  48 00 13 55 */	bl GKI_disable
/* 802B9E30 002B5A90  88 1F 00 04 */	lbz r0, 4(r31)
/* 802B9E34 002B5A94  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802B9E38 002B5A98  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802B9E3C 002B5A9C  3C 63 00 03 */	addis r3, r3, 3
/* 802B9E40 002B5AA0  54 00 20 36 */	slwi r0, r0, 4
/* 802B9E44 002B5AA4  7C 83 02 14 */	add r4, r3, r0
/* 802B9E48 002B5AA8  80 64 89 E4 */	lwz r3, -0x761c(r4)
/* 802B9E4C 002B5AAC  2C 03 00 00 */	cmpwi r3, 0
/* 802B9E50 002B5AB0  41 82 00 0C */	beq lbl_802B9E5C
/* 802B9E54 002B5AB4  93 E3 00 00 */	stw r31, 0(r3)
/* 802B9E58 002B5AB8  48 00 00 08 */	b lbl_802B9E60
lbl_802B9E5C:
/* 802B9E5C 002B5ABC  93 E4 89 E0 */	stw r31, -0x7620(r4)
lbl_802B9E60:
/* 802B9E60 002B5AC0  93 E4 89 E4 */	stw r31, -0x761c(r4)
/* 802B9E64 002B5AC4  38 60 00 00 */	li r3, 0
/* 802B9E68 002B5AC8  38 00 00 F0 */	li r0, 0xf0
/* 802B9E6C 002B5ACC  90 7F 00 00 */	stw r3, 0(r31)
/* 802B9E70 002B5AD0  98 7F 00 06 */	stb r3, 6(r31)
/* 802B9E74 002B5AD4  98 1F 00 05 */	stb r0, 5(r31)
/* 802B9E78 002B5AD8  A0 64 89 EC */	lhz r3, -0x7614(r4)
/* 802B9E7C 002B5ADC  2C 03 00 00 */	cmpwi r3, 0
/* 802B9E80 002B5AE0  41 82 00 0C */	beq lbl_802B9E8C
/* 802B9E84 002B5AE4  38 03 FF FF */	addi r0, r3, -1
/* 802B9E88 002B5AE8  B0 04 89 EC */	sth r0, -0x7614(r4)
lbl_802B9E8C:
/* 802B9E8C 002B5AEC  48 00 12 D1 */	bl GKI_enable
lbl_802B9E90:
/* 802B9E90 002B5AF0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802B9E94 002B5AF4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802B9E98 002B5AF8  7C 08 03 A6 */	mtlr r0
/* 802B9E9C 002B5AFC  38 21 00 10 */	addi r1, r1, 0x10
/* 802B9EA0 002B5B00  4E 80 00 20 */	blr

.global GKI_get_buf_size
GKI_get_buf_size:
/* 802B9EA4 002B5B04  38 63 FF F8 */	addi r3, r3, -8
/* 802B9EA8 002B5B08  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 802B9EAC 002B5B0C  41 82 00 0C */	beq lbl_802B9EB8
/* 802B9EB0 002B5B10  38 60 00 00 */	li r3, 0
/* 802B9EB4 002B5B14  4E 80 00 20 */	blr
lbl_802B9EB8:
/* 802B9EB8 002B5B18  88 03 00 04 */	lbz r0, 4(r3)
/* 802B9EBC 002B5B1C  28 00 00 09 */	cmplwi r0, 9
/* 802B9EC0 002B5B20  40 80 00 20 */	bge lbl_802B9EE0
/* 802B9EC4 002B5B24  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802B9EC8 002B5B28  54 00 25 36 */	rlwinm r0, r0, 4, 0x14, 0x1b
/* 802B9ECC 002B5B2C  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802B9ED0 002B5B30  3C 63 00 03 */	addis r3, r3, 3
/* 802B9ED4 002B5B34  7C 63 02 14 */	add r3, r3, r0
/* 802B9ED8 002B5B38  A0 63 89 E8 */	lhz r3, -0x7618(r3)
/* 802B9EDC 002B5B3C  4E 80 00 20 */	blr
lbl_802B9EE0:
/* 802B9EE0 002B5B40  38 60 00 00 */	li r3, 0
/* 802B9EE4 002B5B44  4E 80 00 20 */	blr

.global GKI_send_msg
GKI_send_msg:
/* 802B9EE8 002B5B48  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802B9EEC 002B5B4C  7C 08 02 A6 */	mflr r0
/* 802B9EF0 002B5B50  3C E0 80 54 */	lis r7, lbl_8053C2C0@ha
/* 802B9EF4 002B5B54  3C C0 80 44 */	lis r6, lbl_8043F130@ha
/* 802B9EF8 002B5B58  90 01 00 24 */	stw r0, 0x24(r1)
/* 802B9EFC 002B5B5C  28 03 00 08 */	cmplwi r3, 8
/* 802B9F00 002B5B60  38 E7 C2 C0 */	addi r7, r7, lbl_8053C2C0@l
/* 802B9F04 002B5B64  38 C6 F1 30 */	addi r6, r6, lbl_8043F130@l
/* 802B9F08 002B5B68  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802B9F0C 002B5B6C  7C BF 2B 78 */	mr r31, r5
/* 802B9F10 002B5B70  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802B9F14 002B5B74  3B C7 00 54 */	addi r30, r7, 0x54
/* 802B9F18 002B5B78  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802B9F1C 002B5B7C  7C 9D 23 78 */	mr r29, r4
/* 802B9F20 002B5B80  93 81 00 10 */	stw r28, 0x10(r1)
/* 802B9F24 002B5B84  7C 7C 1B 78 */	mr r28, r3
/* 802B9F28 002B5B88  40 80 00 20 */	bge lbl_802B9F48
/* 802B9F2C 002B5B8C  28 04 00 04 */	cmplwi r4, 4
/* 802B9F30 002B5B90  40 80 00 18 */	bge lbl_802B9F48
/* 802B9F34 002B5B94  3C 1E 00 03 */	addis r0, r30, 3
/* 802B9F38 002B5B98  7C 60 1A 14 */	add r3, r0, r3
/* 802B9F3C 002B5B9C  88 03 87 AC */	lbz r0, -0x7854(r3)
/* 802B9F40 002B5BA0  2C 00 00 00 */	cmpwi r0, 0
/* 802B9F44 002B5BA4  40 82 00 24 */	bne lbl_802B9F68
lbl_802B9F48:
/* 802B9F48 002B5BA8  3C 60 00 01 */	lis r3, 0x0000FFFB@ha
/* 802B9F4C 002B5BAC  38 86 00 68 */	addi r4, r6, 0x68
/* 802B9F50 002B5BB0  38 03 FF FB */	addi r0, r3, 0x0000FFFB@l
/* 802B9F54 002B5BB4  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9F58 002B5BB8  48 00 12 6D */	bl GKI_exception
/* 802B9F5C 002B5BBC  7F E3 FB 78 */	mr r3, r31
/* 802B9F60 002B5BC0  4B FF FD D5 */	bl GKI_freebuf
/* 802B9F64 002B5BC4  48 00 01 20 */	b lbl_802BA084
lbl_802B9F68:
/* 802B9F68 002B5BC8  3B E5 FF F8 */	addi r31, r5, -8
/* 802B9F6C 002B5BCC  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 802B9F70 002B5BD0  41 82 00 0C */	beq lbl_802B9F7C
/* 802B9F74 002B5BD4  38 00 00 00 */	li r0, 0
/* 802B9F78 002B5BD8  48 00 00 28 */	b lbl_802B9FA0
lbl_802B9F7C:
/* 802B9F7C 002B5BDC  88 1F 00 04 */	lbz r0, 4(r31)
/* 802B9F80 002B5BE0  28 00 00 09 */	cmplwi r0, 9
/* 802B9F84 002B5BE4  40 80 00 18 */	bge lbl_802B9F9C
/* 802B9F88 002B5BE8  3C 67 00 03 */	addis r3, r7, 3
/* 802B9F8C 002B5BEC  54 00 25 36 */	rlwinm r0, r0, 4, 0x14, 0x1b
/* 802B9F90 002B5BF0  7C 63 02 14 */	add r3, r3, r0
/* 802B9F94 002B5BF4  A0 03 89 E8 */	lhz r0, -0x7618(r3)
/* 802B9F98 002B5BF8  48 00 00 08 */	b lbl_802B9FA0
lbl_802B9F9C:
/* 802B9F9C 002B5BFC  38 00 00 00 */	li r0, 0
lbl_802B9FA0:
/* 802B9FA0 002B5C00  7C 85 02 14 */	add r4, r5, r0
/* 802B9FA4 002B5C04  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802B9FA8 002B5C08  41 82 00 0C */	beq lbl_802B9FB4
/* 802B9FAC 002B5C0C  38 00 00 01 */	li r0, 1
/* 802B9FB0 002B5C10  48 00 00 20 */	b lbl_802B9FD0
lbl_802B9FB4:
/* 802B9FB4 002B5C14  3C 60 DD BB */	lis r3, 0xDDBADDBA@ha
/* 802B9FB8 002B5C18  80 84 00 00 */	lwz r4, 0(r4)
/* 802B9FBC 002B5C1C  38 03 DD BA */	addi r0, r3, 0xDDBADDBA@l
/* 802B9FC0 002B5C20  7C 64 00 50 */	subf r3, r4, r0
/* 802B9FC4 002B5C24  7C 00 20 50 */	subf r0, r0, r4
/* 802B9FC8 002B5C28  7C 60 03 78 */	or r0, r3, r0
/* 802B9FCC 002B5C2C  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_802B9FD0:
/* 802B9FD0 002B5C30  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 802B9FD4 002B5C34  41 82 00 1C */	beq lbl_802B9FF0
/* 802B9FD8 002B5C38  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802B9FDC 002B5C3C  38 86 00 80 */	addi r4, r6, 0x80
/* 802B9FE0 002B5C40  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 802B9FE4 002B5C44  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802B9FE8 002B5C48  48 00 11 DD */	bl GKI_exception
/* 802B9FEC 002B5C4C  48 00 00 98 */	b lbl_802BA084
lbl_802B9FF0:
/* 802B9FF0 002B5C50  88 1F 00 06 */	lbz r0, 6(r31)
/* 802B9FF4 002B5C54  28 00 00 01 */	cmplwi r0, 1
/* 802B9FF8 002B5C58  41 82 00 1C */	beq lbl_802BA014
/* 802B9FFC 002B5C5C  3C 60 00 01 */	lis r3, 0x0000FFFA@ha
/* 802BA000 002B5C60  38 86 00 98 */	addi r4, r6, 0x98
/* 802BA004 002B5C64  38 03 FF FA */	addi r0, r3, 0x0000FFFA@l
/* 802BA008 002B5C68  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802BA00C 002B5C6C  48 00 11 B9 */	bl GKI_exception
/* 802BA010 002B5C70  48 00 00 74 */	b lbl_802BA084
lbl_802BA014:
/* 802BA014 002B5C74  48 00 11 6D */	bl GKI_disable
/* 802BA018 002B5C78  57 84 25 36 */	rlwinm r4, r28, 4, 0x14, 0x1b
/* 802BA01C 002B5C7C  3C 1E 00 03 */	addis r0, r30, 3
/* 802BA020 002B5C80  57 A5 15 BA */	rlwinm r5, r29, 2, 0x16, 0x1d
/* 802BA024 002B5C84  7C 00 22 14 */	add r0, r0, r4
/* 802BA028 002B5C88  7C 60 2A 14 */	add r3, r0, r5
/* 802BA02C 002B5C8C  80 03 88 8C */	lwz r0, -0x7774(r3)
/* 802BA030 002B5C90  2C 00 00 00 */	cmpwi r0, 0
/* 802BA034 002B5C94  41 82 00 10 */	beq lbl_802BA044
/* 802BA038 002B5C98  80 63 89 0C */	lwz r3, -0x76f4(r3)
/* 802BA03C 002B5C9C  93 E3 00 00 */	stw r31, 0(r3)
/* 802BA040 002B5CA0  48 00 00 08 */	b lbl_802BA048
lbl_802BA044:
/* 802BA044 002B5CA4  93 E3 88 8C */	stw r31, -0x7774(r3)
lbl_802BA048:
/* 802BA048 002B5CA8  3C 1E 00 03 */	addis r0, r30, 3
/* 802BA04C 002B5CAC  38 60 00 00 */	li r3, 0
/* 802BA050 002B5CB0  7C 80 22 14 */	add r4, r0, r4
/* 802BA054 002B5CB4  7C 84 2A 14 */	add r4, r4, r5
/* 802BA058 002B5CB8  38 00 00 02 */	li r0, 2
/* 802BA05C 002B5CBC  93 E4 89 0C */	stw r31, -0x76f4(r4)
/* 802BA060 002B5CC0  90 7F 00 00 */	stw r3, 0(r31)
/* 802BA064 002B5CC4  98 1F 00 06 */	stb r0, 6(r31)
/* 802BA068 002B5CC8  9B 9F 00 05 */	stb r28, 5(r31)
/* 802BA06C 002B5CCC  48 00 10 F1 */	bl GKI_enable
/* 802BA070 002B5CD0  38 00 00 01 */	li r0, 1
/* 802BA074 002B5CD4  7F 83 E3 78 */	mr r3, r28
/* 802BA078 002B5CD8  7C 00 E8 30 */	slw r0, r0, r29
/* 802BA07C 002B5CDC  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802BA080 002B5CE0  48 00 10 31 */	bl GKI_send_event
lbl_802BA084:
/* 802BA084 002B5CE4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BA088 002B5CE8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BA08C 002B5CEC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BA090 002B5CF0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BA094 002B5CF4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802BA098 002B5CF8  7C 08 03 A6 */	mtlr r0
/* 802BA09C 002B5CFC  38 21 00 20 */	addi r1, r1, 0x20
/* 802BA0A0 002B5D00  4E 80 00 20 */	blr

.global GKI_read_mbox
GKI_read_mbox:
/* 802BA0A4 002B5D04  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BA0A8 002B5D08  7C 08 02 A6 */	mflr r0
/* 802BA0AC 002B5D0C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BA0B0 002B5D10  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BA0B4 002B5D14  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BA0B8 002B5D18  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BA0BC 002B5D1C  7C 7D 1B 78 */	mr r29, r3
/* 802BA0C0 002B5D20  48 00 10 95 */	bl GKI_get_taskid
/* 802BA0C4 002B5D24  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 802BA0C8 002B5D28  7C 7F 1B 78 */	mr r31, r3
/* 802BA0CC 002B5D2C  28 00 00 08 */	cmplwi r0, 8
/* 802BA0D0 002B5D30  3B C0 00 00 */	li r30, 0
/* 802BA0D4 002B5D34  40 80 00 0C */	bge lbl_802BA0E0
/* 802BA0D8 002B5D38  28 1D 00 04 */	cmplwi r29, 4
/* 802BA0DC 002B5D3C  41 80 00 0C */	blt lbl_802BA0E8
lbl_802BA0E0:
/* 802BA0E0 002B5D40  38 60 00 00 */	li r3, 0
/* 802BA0E4 002B5D44  48 00 00 54 */	b lbl_802BA138
lbl_802BA0E8:
/* 802BA0E8 002B5D48  48 00 10 99 */	bl GKI_disable
/* 802BA0EC 002B5D4C  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802BA0F0 002B5D50  57 E4 25 36 */	rlwinm r4, r31, 4, 0x14, 0x1b
/* 802BA0F4 002B5D54  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802BA0F8 002B5D58  57 A6 15 BA */	rlwinm r6, r29, 2, 0x16, 0x1d
/* 802BA0FC 002B5D5C  3C 03 00 03 */	addis r0, r3, 3
/* 802BA100 002B5D60  7C 60 22 14 */	add r3, r0, r4
/* 802BA104 002B5D64  38 E3 88 E0 */	addi r7, r3, -30496
/* 802BA108 002B5D68  7C A7 30 2E */	lwzx r5, r7, r6
/* 802BA10C 002B5D6C  2C 05 00 00 */	cmpwi r5, 0
/* 802BA110 002B5D70  41 82 00 20 */	beq lbl_802BA130
/* 802BA114 002B5D74  80 85 00 00 */	lwz r4, 0(r5)
/* 802BA118 002B5D78  38 60 00 00 */	li r3, 0
/* 802BA11C 002B5D7C  38 00 00 01 */	li r0, 1
/* 802BA120 002B5D80  3B C5 00 08 */	addi r30, r5, 8
/* 802BA124 002B5D84  7C 87 31 2E */	stwx r4, r7, r6
/* 802BA128 002B5D88  90 65 00 00 */	stw r3, 0(r5)
/* 802BA12C 002B5D8C  98 05 00 06 */	stb r0, 6(r5)
lbl_802BA130:
/* 802BA130 002B5D90  48 00 10 2D */	bl GKI_enable
/* 802BA134 002B5D94  7F C3 F3 78 */	mr r3, r30
lbl_802BA138:
/* 802BA138 002B5D98  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BA13C 002B5D9C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BA140 002B5DA0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BA144 002B5DA4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BA148 002B5DA8  7C 08 03 A6 */	mtlr r0
/* 802BA14C 002B5DAC  38 21 00 20 */	addi r1, r1, 0x20
/* 802BA150 002B5DB0  4E 80 00 20 */	blr

.global GKI_enqueue
GKI_enqueue:
/* 802BA154 002B5DB4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BA158 002B5DB8  7C 08 02 A6 */	mflr r0
/* 802BA15C 002B5DBC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BA160 002B5DC0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BA164 002B5DC4  3B E4 FF F8 */	addi r31, r4, -8
/* 802BA168 002B5DC8  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 802BA16C 002B5DCC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BA170 002B5DD0  7C 9E 23 78 */	mr r30, r4
/* 802BA174 002B5DD4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BA178 002B5DD8  7C 7D 1B 78 */	mr r29, r3
/* 802BA17C 002B5DDC  41 82 00 0C */	beq lbl_802BA188
/* 802BA180 002B5DE0  38 00 00 00 */	li r0, 0
/* 802BA184 002B5DE4  48 00 00 30 */	b lbl_802BA1B4
lbl_802BA188:
/* 802BA188 002B5DE8  88 1F 00 04 */	lbz r0, 4(r31)
/* 802BA18C 002B5DEC  28 00 00 09 */	cmplwi r0, 9
/* 802BA190 002B5DF0  40 80 00 20 */	bge lbl_802BA1B0
/* 802BA194 002B5DF4  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802BA198 002B5DF8  54 00 25 36 */	rlwinm r0, r0, 4, 0x14, 0x1b
/* 802BA19C 002B5DFC  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802BA1A0 002B5E00  3C 63 00 03 */	addis r3, r3, 3
/* 802BA1A4 002B5E04  7C 63 02 14 */	add r3, r3, r0
/* 802BA1A8 002B5E08  A0 03 89 E8 */	lhz r0, -0x7618(r3)
/* 802BA1AC 002B5E0C  48 00 00 08 */	b lbl_802BA1B4
lbl_802BA1B0:
/* 802BA1B0 002B5E10  38 00 00 00 */	li r0, 0
lbl_802BA1B4:
/* 802BA1B4 002B5E14  7C 84 02 14 */	add r4, r4, r0
/* 802BA1B8 002B5E18  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802BA1BC 002B5E1C  41 82 00 0C */	beq lbl_802BA1C8
/* 802BA1C0 002B5E20  38 00 00 01 */	li r0, 1
/* 802BA1C4 002B5E24  48 00 00 20 */	b lbl_802BA1E4
lbl_802BA1C8:
/* 802BA1C8 002B5E28  3C 60 DD BB */	lis r3, 0xDDBADDBA@ha
/* 802BA1CC 002B5E2C  80 84 00 00 */	lwz r4, 0(r4)
/* 802BA1D0 002B5E30  38 03 DD BA */	addi r0, r3, 0xDDBADDBA@l
/* 802BA1D4 002B5E34  7C 64 00 50 */	subf r3, r4, r0
/* 802BA1D8 002B5E38  7C 00 20 50 */	subf r0, r0, r4
/* 802BA1DC 002B5E3C  7C 60 03 78 */	or r0, r3, r0
/* 802BA1E0 002B5E40  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_802BA1E4:
/* 802BA1E4 002B5E44  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 802BA1E8 002B5E48  41 82 00 20 */	beq lbl_802BA208
/* 802BA1EC 002B5E4C  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802BA1F0 002B5E50  3C 80 80 44 */	lis r4, lbl_8043F1E0@ha
/* 802BA1F4 002B5E54  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 802BA1F8 002B5E58  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802BA1FC 002B5E5C  38 84 F1 E0 */	addi r4, r4, lbl_8043F1E0@l
/* 802BA200 002B5E60  48 00 0F C5 */	bl GKI_exception
/* 802BA204 002B5E64  48 00 00 70 */	b lbl_802BA274
lbl_802BA208:
/* 802BA208 002B5E68  88 1F 00 06 */	lbz r0, 6(r31)
/* 802BA20C 002B5E6C  28 00 00 01 */	cmplwi r0, 1
/* 802BA210 002B5E70  41 82 00 20 */	beq lbl_802BA230
/* 802BA214 002B5E74  3C 60 00 01 */	lis r3, 0x0000FFF9@ha
/* 802BA218 002B5E78  3C 80 80 44 */	lis r4, lbl_8043F1FC@ha
/* 802BA21C 002B5E7C  38 03 FF F9 */	addi r0, r3, 0x0000FFF9@l
/* 802BA220 002B5E80  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802BA224 002B5E84  38 84 F1 FC */	addi r4, r4, lbl_8043F1FC@l
/* 802BA228 002B5E88  48 00 0F 9D */	bl GKI_exception
/* 802BA22C 002B5E8C  48 00 00 48 */	b lbl_802BA274
lbl_802BA230:
/* 802BA230 002B5E90  48 00 0F 51 */	bl GKI_disable
/* 802BA234 002B5E94  80 1D 00 00 */	lwz r0, 0(r29)
/* 802BA238 002B5E98  2C 00 00 00 */	cmpwi r0, 0
/* 802BA23C 002B5E9C  41 82 00 10 */	beq lbl_802BA24C
/* 802BA240 002B5EA0  80 7D 00 04 */	lwz r3, 4(r29)
/* 802BA244 002B5EA4  93 E3 FF F8 */	stw r31, -8(r3)
/* 802BA248 002B5EA8  48 00 00 08 */	b lbl_802BA250
lbl_802BA24C:
/* 802BA24C 002B5EAC  93 DD 00 00 */	stw r30, 0(r29)
lbl_802BA250:
/* 802BA250 002B5EB0  A0 9D 00 08 */	lhz r4, 8(r29)
/* 802BA254 002B5EB4  38 60 00 00 */	li r3, 0
/* 802BA258 002B5EB8  93 DD 00 04 */	stw r30, 4(r29)
/* 802BA25C 002B5EBC  38 00 00 02 */	li r0, 2
/* 802BA260 002B5EC0  38 84 00 01 */	addi r4, r4, 1
/* 802BA264 002B5EC4  B0 9D 00 08 */	sth r4, 8(r29)
/* 802BA268 002B5EC8  90 7F 00 00 */	stw r3, 0(r31)
/* 802BA26C 002B5ECC  98 1F 00 06 */	stb r0, 6(r31)
/* 802BA270 002B5ED0  48 00 0E ED */	bl GKI_enable
lbl_802BA274:
/* 802BA274 002B5ED4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BA278 002B5ED8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BA27C 002B5EDC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BA280 002B5EE0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BA284 002B5EE4  7C 08 03 A6 */	mtlr r0
/* 802BA288 002B5EE8  38 21 00 20 */	addi r1, r1, 0x20
/* 802BA28C 002B5EEC  4E 80 00 20 */	blr

.global GKI_enqueue_head
GKI_enqueue_head:
/* 802BA290 002B5EF0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BA294 002B5EF4  7C 08 02 A6 */	mflr r0
/* 802BA298 002B5EF8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BA29C 002B5EFC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BA2A0 002B5F00  3B E4 FF F8 */	addi r31, r4, -8
/* 802BA2A4 002B5F04  57 E0 07 FF */	clrlwi. r0, r31, 0x1f
/* 802BA2A8 002B5F08  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BA2AC 002B5F0C  7C 9E 23 78 */	mr r30, r4
/* 802BA2B0 002B5F10  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BA2B4 002B5F14  7C 7D 1B 78 */	mr r29, r3
/* 802BA2B8 002B5F18  41 82 00 0C */	beq lbl_802BA2C4
/* 802BA2BC 002B5F1C  38 00 00 00 */	li r0, 0
/* 802BA2C0 002B5F20  48 00 00 30 */	b lbl_802BA2F0
lbl_802BA2C4:
/* 802BA2C4 002B5F24  88 1F 00 04 */	lbz r0, 4(r31)
/* 802BA2C8 002B5F28  28 00 00 09 */	cmplwi r0, 9
/* 802BA2CC 002B5F2C  40 80 00 20 */	bge lbl_802BA2EC
/* 802BA2D0 002B5F30  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802BA2D4 002B5F34  54 00 25 36 */	rlwinm r0, r0, 4, 0x14, 0x1b
/* 802BA2D8 002B5F38  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802BA2DC 002B5F3C  3C 63 00 03 */	addis r3, r3, 3
/* 802BA2E0 002B5F40  7C 63 02 14 */	add r3, r3, r0
/* 802BA2E4 002B5F44  A0 03 89 E8 */	lhz r0, -0x7618(r3)
/* 802BA2E8 002B5F48  48 00 00 08 */	b lbl_802BA2F0
lbl_802BA2EC:
/* 802BA2EC 002B5F4C  38 00 00 00 */	li r0, 0
lbl_802BA2F0:
/* 802BA2F0 002B5F50  7C 84 02 14 */	add r4, r4, r0
/* 802BA2F4 002B5F54  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802BA2F8 002B5F58  41 82 00 0C */	beq lbl_802BA304
/* 802BA2FC 002B5F5C  38 00 00 01 */	li r0, 1
/* 802BA300 002B5F60  48 00 00 20 */	b lbl_802BA320
lbl_802BA304:
/* 802BA304 002B5F64  3C 60 DD BB */	lis r3, 0xDDBADDBA@ha
/* 802BA308 002B5F68  80 84 00 00 */	lwz r4, 0(r4)
/* 802BA30C 002B5F6C  38 03 DD BA */	addi r0, r3, 0xDDBADDBA@l
/* 802BA310 002B5F70  7C 64 00 50 */	subf r3, r4, r0
/* 802BA314 002B5F74  7C 00 20 50 */	subf r0, r0, r4
/* 802BA318 002B5F78  7C 60 03 78 */	or r0, r3, r0
/* 802BA31C 002B5F7C  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_802BA320:
/* 802BA320 002B5F80  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 802BA324 002B5F84  41 82 00 20 */	beq lbl_802BA344
/* 802BA328 002B5F88  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802BA32C 002B5F8C  3C 80 80 44 */	lis r4, lbl_8043F1E0@ha
/* 802BA330 002B5F90  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 802BA334 002B5F94  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802BA338 002B5F98  38 84 F1 E0 */	addi r4, r4, lbl_8043F1E0@l
/* 802BA33C 002B5F9C  48 00 0E 89 */	bl GKI_exception
/* 802BA340 002B5FA0  48 00 00 74 */	b lbl_802BA3B4
lbl_802BA344:
/* 802BA344 002B5FA4  88 1F 00 06 */	lbz r0, 6(r31)
/* 802BA348 002B5FA8  28 00 00 01 */	cmplwi r0, 1
/* 802BA34C 002B5FAC  41 82 00 20 */	beq lbl_802BA36C
/* 802BA350 002B5FB0  3C 60 00 01 */	lis r3, 0x0000FFF9@ha
/* 802BA354 002B5FB4  3C 80 80 44 */	lis r4, lbl_8043F21C@ha
/* 802BA358 002B5FB8  38 03 FF F9 */	addi r0, r3, 0x0000FFF9@l
/* 802BA35C 002B5FBC  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802BA360 002B5FC0  38 84 F2 1C */	addi r4, r4, lbl_8043F21C@l
/* 802BA364 002B5FC4  48 00 0E 61 */	bl GKI_exception
/* 802BA368 002B5FC8  48 00 00 4C */	b lbl_802BA3B4
lbl_802BA36C:
/* 802BA36C 002B5FCC  48 00 0E 15 */	bl GKI_disable
/* 802BA370 002B5FD0  80 7D 00 00 */	lwz r3, 0(r29)
/* 802BA374 002B5FD4  2C 03 00 00 */	cmpwi r3, 0
/* 802BA378 002B5FD8  41 82 00 14 */	beq lbl_802BA38C
/* 802BA37C 002B5FDC  38 03 FF F8 */	addi r0, r3, -8
/* 802BA380 002B5FE0  90 1F 00 00 */	stw r0, 0(r31)
/* 802BA384 002B5FE4  93 DD 00 00 */	stw r30, 0(r29)
/* 802BA388 002B5FE8  48 00 00 14 */	b lbl_802BA39C
lbl_802BA38C:
/* 802BA38C 002B5FEC  93 DD 00 00 */	stw r30, 0(r29)
/* 802BA390 002B5FF0  38 00 00 00 */	li r0, 0
/* 802BA394 002B5FF4  93 DD 00 04 */	stw r30, 4(r29)
/* 802BA398 002B5FF8  90 1F 00 00 */	stw r0, 0(r31)
lbl_802BA39C:
/* 802BA39C 002B5FFC  A0 7D 00 08 */	lhz r3, 8(r29)
/* 802BA3A0 002B6000  38 00 00 02 */	li r0, 2
/* 802BA3A4 002B6004  38 63 00 01 */	addi r3, r3, 1
/* 802BA3A8 002B6008  B0 7D 00 08 */	sth r3, 8(r29)
/* 802BA3AC 002B600C  98 1F 00 06 */	stb r0, 6(r31)
/* 802BA3B0 002B6010  48 00 0D AD */	bl GKI_enable
lbl_802BA3B4:
/* 802BA3B4 002B6014  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BA3B8 002B6018  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BA3BC 002B601C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BA3C0 002B6020  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BA3C4 002B6024  7C 08 03 A6 */	mtlr r0
/* 802BA3C8 002B6028  38 21 00 20 */	addi r1, r1, 0x20
/* 802BA3CC 002B602C  4E 80 00 20 */	blr

.global GKI_dequeue
GKI_dequeue:
/* 802BA3D0 002B6030  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802BA3D4 002B6034  7C 08 02 A6 */	mflr r0
/* 802BA3D8 002B6038  90 01 00 14 */	stw r0, 0x14(r1)
/* 802BA3DC 002B603C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802BA3E0 002B6040  93 C1 00 08 */	stw r30, 8(r1)
/* 802BA3E4 002B6044  7C 7E 1B 78 */	mr r30, r3
/* 802BA3E8 002B6048  48 00 0D 99 */	bl GKI_disable
/* 802BA3EC 002B604C  2C 1E 00 00 */	cmpwi r30, 0
/* 802BA3F0 002B6050  41 82 00 10 */	beq lbl_802BA400
/* 802BA3F4 002B6054  A0 1E 00 08 */	lhz r0, 8(r30)
/* 802BA3F8 002B6058  2C 00 00 00 */	cmpwi r0, 0
/* 802BA3FC 002B605C  40 82 00 10 */	bne lbl_802BA40C
lbl_802BA400:
/* 802BA400 002B6060  48 00 0D 5D */	bl GKI_enable
/* 802BA404 002B6064  38 60 00 00 */	li r3, 0
/* 802BA408 002B6068  48 00 00 50 */	b lbl_802BA458
lbl_802BA40C:
/* 802BA40C 002B606C  83 FE 00 00 */	lwz r31, 0(r30)
/* 802BA410 002B6070  80 7F FF F8 */	lwz r3, -8(r31)
/* 802BA414 002B6074  2C 03 00 00 */	cmpwi r3, 0
/* 802BA418 002B6078  41 82 00 10 */	beq lbl_802BA428
/* 802BA41C 002B607C  38 03 00 08 */	addi r0, r3, 8
/* 802BA420 002B6080  90 1E 00 00 */	stw r0, 0(r30)
/* 802BA424 002B6084  48 00 00 10 */	b lbl_802BA434
lbl_802BA428:
/* 802BA428 002B6088  38 00 00 00 */	li r0, 0
/* 802BA42C 002B608C  90 1E 00 00 */	stw r0, 0(r30)
/* 802BA430 002B6090  90 1E 00 04 */	stw r0, 4(r30)
lbl_802BA434:
/* 802BA434 002B6094  A0 9E 00 08 */	lhz r4, 8(r30)
/* 802BA438 002B6098  38 60 00 00 */	li r3, 0
/* 802BA43C 002B609C  38 00 00 01 */	li r0, 1
/* 802BA440 002B60A0  38 84 FF FF */	addi r4, r4, -1
/* 802BA444 002B60A4  B0 9E 00 08 */	sth r4, 8(r30)
/* 802BA448 002B60A8  90 7F FF F8 */	stw r3, -8(r31)
/* 802BA44C 002B60AC  98 1F FF FE */	stb r0, -2(r31)
/* 802BA450 002B60B0  48 00 0D 0D */	bl GKI_enable
/* 802BA454 002B60B4  7F E3 FB 78 */	mr r3, r31
lbl_802BA458:
/* 802BA458 002B60B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802BA45C 002B60BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802BA460 002B60C0  83 C1 00 08 */	lwz r30, 8(r1)
/* 802BA464 002B60C4  7C 08 03 A6 */	mtlr r0
/* 802BA468 002B60C8  38 21 00 10 */	addi r1, r1, 0x10
/* 802BA46C 002B60CC  4E 80 00 20 */	blr

.global GKI_remove_from_queue
GKI_remove_from_queue:
/* 802BA470 002B60D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802BA474 002B60D4  7C 08 02 A6 */	mflr r0
/* 802BA478 002B60D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802BA47C 002B60DC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802BA480 002B60E0  7C 9F 23 78 */	mr r31, r4
/* 802BA484 002B60E4  93 C1 00 08 */	stw r30, 8(r1)
/* 802BA488 002B60E8  7C 7E 1B 78 */	mr r30, r3
/* 802BA48C 002B60EC  48 00 0C F5 */	bl GKI_disable
/* 802BA490 002B60F0  80 7E 00 00 */	lwz r3, 0(r30)
/* 802BA494 002B60F4  7C 1F 18 40 */	cmplw r31, r3
/* 802BA498 002B60F8  40 82 00 14 */	bne lbl_802BA4AC
/* 802BA49C 002B60FC  48 00 0C C1 */	bl GKI_enable
/* 802BA4A0 002B6100  7F C3 F3 78 */	mr r3, r30
/* 802BA4A4 002B6104  4B FF FF 2D */	bl GKI_dequeue
/* 802BA4A8 002B6108  48 00 00 74 */	b lbl_802BA51C
lbl_802BA4AC:
/* 802BA4AC 002B610C  38 BF FF F8 */	addi r5, r31, -8
/* 802BA4B0 002B6110  38 63 FF F8 */	addi r3, r3, -8
/* 802BA4B4 002B6114  48 00 00 58 */	b lbl_802BA50C
lbl_802BA4B8:
/* 802BA4B8 002B6118  80 03 00 00 */	lwz r0, 0(r3)
/* 802BA4BC 002B611C  7C 00 28 40 */	cmplw r0, r5
/* 802BA4C0 002B6120  40 82 00 48 */	bne lbl_802BA508
/* 802BA4C4 002B6124  80 05 00 00 */	lwz r0, 0(r5)
/* 802BA4C8 002B6128  90 03 00 00 */	stw r0, 0(r3)
/* 802BA4CC 002B612C  80 1E 00 04 */	lwz r0, 4(r30)
/* 802BA4D0 002B6130  7C 1F 00 40 */	cmplw r31, r0
/* 802BA4D4 002B6134  40 82 00 0C */	bne lbl_802BA4E0
/* 802BA4D8 002B6138  38 03 00 08 */	addi r0, r3, 8
/* 802BA4DC 002B613C  90 1E 00 04 */	stw r0, 4(r30)
lbl_802BA4E0:
/* 802BA4E0 002B6140  A0 9E 00 08 */	lhz r4, 8(r30)
/* 802BA4E4 002B6144  38 60 00 00 */	li r3, 0
/* 802BA4E8 002B6148  38 00 00 01 */	li r0, 1
/* 802BA4EC 002B614C  38 84 FF FF */	addi r4, r4, -1
/* 802BA4F0 002B6150  B0 9E 00 08 */	sth r4, 8(r30)
/* 802BA4F4 002B6154  90 65 00 00 */	stw r3, 0(r5)
/* 802BA4F8 002B6158  98 05 00 06 */	stb r0, 6(r5)
/* 802BA4FC 002B615C  48 00 0C 61 */	bl GKI_enable
/* 802BA500 002B6160  7F E3 FB 78 */	mr r3, r31
/* 802BA504 002B6164  48 00 00 18 */	b lbl_802BA51C
lbl_802BA508:
/* 802BA508 002B6168  7C 03 03 78 */	mr r3, r0
lbl_802BA50C:
/* 802BA50C 002B616C  2C 03 00 00 */	cmpwi r3, 0
/* 802BA510 002B6170  40 82 FF A8 */	bne lbl_802BA4B8
/* 802BA514 002B6174  48 00 0C 49 */	bl GKI_enable
/* 802BA518 002B6178  38 60 00 00 */	li r3, 0
lbl_802BA51C:
/* 802BA51C 002B617C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802BA520 002B6180  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802BA524 002B6184  83 C1 00 08 */	lwz r30, 8(r1)
/* 802BA528 002B6188  7C 08 03 A6 */	mtlr r0
/* 802BA52C 002B618C  38 21 00 10 */	addi r1, r1, 0x10
/* 802BA530 002B6190  4E 80 00 20 */	blr

.global GKI_getfirst
GKI_getfirst:
/* 802BA534 002B6194  80 63 00 00 */	lwz r3, 0(r3)
/* 802BA538 002B6198  4E 80 00 20 */	blr

.global GKI_getnext
GKI_getnext:
/* 802BA53C 002B619C  80 63 FF F8 */	lwz r3, -8(r3)
/* 802BA540 002B61A0  2C 03 00 00 */	cmpwi r3, 0
/* 802BA544 002B61A4  41 82 00 0C */	beq lbl_802BA550
/* 802BA548 002B61A8  38 63 00 08 */	addi r3, r3, 8
/* 802BA54C 002B61AC  4E 80 00 20 */	blr
lbl_802BA550:
/* 802BA550 002B61B0  38 60 00 00 */	li r3, 0
/* 802BA554 002B61B4  4E 80 00 20 */	blr

.global GKI_queue_is_empty
GKI_queue_is_empty:
/* 802BA558 002B61B8  A0 03 00 08 */	lhz r0, 8(r3)
/* 802BA55C 002B61BC  7C 00 00 34 */	cntlzw r0, r0
/* 802BA560 002B61C0  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802BA564 002B61C4  4E 80 00 20 */	blr

.global GKI_create_pool
GKI_create_pool:
/* 802BA568 002B61C8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BA56C 002B61CC  7C 08 02 A6 */	mflr r0
/* 802BA570 002B61D0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BA574 002B61D4  39 61 00 20 */	addi r11, r1, 0x20
/* 802BA578 002B61D8  4B F0 CB B1 */	bl _savegpr_27
/* 802BA57C 002B61DC  3C E0 80 54 */	lis r7, lbl_8053C2C0@ha
/* 802BA580 002B61E0  28 03 FF F3 */	cmplwi r3, 0xfff3
/* 802BA584 002B61E4  38 E7 C2 C0 */	addi r7, r7, lbl_8053C2C0@l
/* 802BA588 002B61E8  7C 7B 1B 78 */	mr r27, r3
/* 802BA58C 002B61EC  7C 9C 23 78 */	mr r28, r4
/* 802BA590 002B61F0  7C BD 2B 78 */	mr r29, r5
/* 802BA594 002B61F4  3B C7 00 54 */	addi r30, r7, 0x54
/* 802BA598 002B61F8  40 81 00 0C */	ble lbl_802BA5A4
/* 802BA59C 002B61FC  38 60 00 FF */	li r3, 0xff
/* 802BA5A0 002B6200  48 00 02 F8 */	b lbl_802BA898
lbl_802BA5A4:
/* 802BA5A4 002B6204  38 00 00 03 */	li r0, 3
/* 802BA5A8 002B6208  3B E0 00 00 */	li r31, 0
/* 802BA5AC 002B620C  7C 09 03 A6 */	mtctr r0
lbl_802BA5B0:
/* 802BA5B0 002B6210  57 E5 15 BA */	rlwinm r5, r31, 2, 0x16, 0x1d
/* 802BA5B4 002B6214  3C A5 00 03 */	addis r5, r5, 3
/* 802BA5B8 002B6218  38 05 8A 1C */	addi r0, r5, -30180
/* 802BA5BC 002B621C  7C 1E 00 2E */	lwzx r0, r30, r0
/* 802BA5C0 002B6220  2C 00 00 00 */	cmpwi r0, 0
/* 802BA5C4 002B6224  41 82 00 44 */	beq lbl_802BA608
/* 802BA5C8 002B6228  3B FF 00 01 */	addi r31, r31, 1
/* 802BA5CC 002B622C  57 E5 15 BA */	rlwinm r5, r31, 2, 0x16, 0x1d
/* 802BA5D0 002B6230  3C A5 00 03 */	addis r5, r5, 3
/* 802BA5D4 002B6234  38 05 8A 1C */	addi r0, r5, -30180
/* 802BA5D8 002B6238  7C 1E 00 2E */	lwzx r0, r30, r0
/* 802BA5DC 002B623C  2C 00 00 00 */	cmpwi r0, 0
/* 802BA5E0 002B6240  41 82 00 28 */	beq lbl_802BA608
/* 802BA5E4 002B6244  3B FF 00 01 */	addi r31, r31, 1
/* 802BA5E8 002B6248  57 E5 15 BA */	rlwinm r5, r31, 2, 0x16, 0x1d
/* 802BA5EC 002B624C  3C A5 00 03 */	addis r5, r5, 3
/* 802BA5F0 002B6250  38 05 8A 1C */	addi r0, r5, -30180
/* 802BA5F4 002B6254  7C 1E 00 2E */	lwzx r0, r30, r0
/* 802BA5F8 002B6258  2C 00 00 00 */	cmpwi r0, 0
/* 802BA5FC 002B625C  41 82 00 0C */	beq lbl_802BA608
/* 802BA600 002B6260  3B FF 00 01 */	addi r31, r31, 1
/* 802BA604 002B6264  42 00 FF AC */	bdnz lbl_802BA5B0
lbl_802BA608:
/* 802BA608 002B6268  57 E0 06 3E */	clrlwi r0, r31, 0x18
/* 802BA60C 002B626C  28 00 00 09 */	cmplwi r0, 9
/* 802BA610 002B6270  40 82 00 0C */	bne lbl_802BA61C
/* 802BA614 002B6274  38 60 00 FF */	li r3, 0xff
/* 802BA618 002B6278  48 00 02 80 */	b lbl_802BA898
lbl_802BA61C:
/* 802BA61C 002B627C  38 03 00 03 */	addi r0, r3, 3
/* 802BA620 002B6280  2C 06 00 00 */	cmpwi r6, 0
/* 802BA624 002B6284  54 03 00 3A */	rlwinm r3, r0, 0, 0, 0x1d
/* 802BA628 002B6288  38 03 00 0C */	addi r0, r3, 0xc
/* 802BA62C 002B628C  7C 60 21 D6 */	mullw r3, r0, r4
/* 802BA630 002B6290  40 82 00 0C */	bne lbl_802BA63C
/* 802BA634 002B6294  48 00 0B 95 */	bl GKI_os_malloc
/* 802BA638 002B6298  7C 66 1B 78 */	mr r6, r3
lbl_802BA63C:
/* 802BA63C 002B629C  2C 06 00 00 */	cmpwi r6, 0
/* 802BA640 002B62A0  41 82 02 54 */	beq lbl_802BA894
/* 802BA644 002B62A4  7F 64 DB 78 */	mr r4, r27
/* 802BA648 002B62A8  7F 85 E3 78 */	mr r5, r28
/* 802BA64C 002B62AC  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 802BA650 002B62B0  4B FF EF 7D */	bl gki_init_free_queue
/* 802BA654 002B62B4  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802BA658 002B62B8  57 E5 25 36 */	rlwinm r5, r31, 4, 0x14, 0x1b
/* 802BA65C 002B62BC  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802BA660 002B62C0  38 80 00 00 */	li r4, 0
/* 802BA664 002B62C4  38 63 00 54 */	addi r3, r3, 0x54
/* 802BA668 002B62C8  3C C5 00 03 */	addis r6, r5, 3
/* 802BA66C 002B62CC  3C A3 00 03 */	addis r5, r3, 3
/* 802BA670 002B62D0  88 A5 8A 87 */	lbz r5, -0x7579(r5)
/* 802BA674 002B62D4  38 06 89 94 */	addi r0, r6, -30316
/* 802BA678 002B62D8  7C E3 02 2E */	lhzx r7, r3, r0
/* 802BA67C 002B62DC  7C A9 03 A6 */	mtctr r5
/* 802BA680 002B62E0  2C 05 00 00 */	cmpwi r5, 0
/* 802BA684 002B62E4  40 81 00 30 */	ble lbl_802BA6B4
lbl_802BA688:
/* 802BA688 002B62E8  3C C4 00 03 */	addis r6, r4, 3
/* 802BA68C 002B62EC  38 06 8A 7E */	addi r0, r6, -30082
/* 802BA690 002B62F0  7C 03 00 AE */	lbzx r0, r3, r0
/* 802BA694 002B62F4  54 06 20 36 */	slwi r6, r0, 4
/* 802BA698 002B62F8  3C C6 00 03 */	addis r6, r6, 3
/* 802BA69C 002B62FC  38 06 89 94 */	addi r0, r6, -30316
/* 802BA6A0 002B6300  7C 03 02 2E */	lhzx r0, r3, r0
/* 802BA6A4 002B6304  7C 07 00 40 */	cmplw r7, r0
/* 802BA6A8 002B6308  40 81 00 0C */	ble lbl_802BA6B4
/* 802BA6AC 002B630C  38 84 00 01 */	addi r4, r4, 1
/* 802BA6B0 002B6310  42 00 FF D8 */	bdnz lbl_802BA688
lbl_802BA6B4:
/* 802BA6B4 002B6314  7C 05 20 00 */	cmpw r5, r4
/* 802BA6B8 002B6318  40 81 01 64 */	ble lbl_802BA81C
/* 802BA6BC 002B631C  7C 04 28 50 */	subf r0, r4, r5
/* 802BA6C0 002B6320  39 04 00 08 */	addi r8, r4, 8
/* 802BA6C4 002B6324  2C 00 00 08 */	cmpwi r0, 8
/* 802BA6C8 002B6328  40 81 01 2C */	ble lbl_802BA7F4
/* 802BA6CC 002B632C  3C C3 00 03 */	addis r6, r3, 3
/* 802BA6D0 002B6330  39 20 00 00 */	li r9, 0
/* 802BA6D4 002B6334  88 06 8A 87 */	lbz r0, -0x7579(r6)
/* 802BA6D8 002B6338  39 40 00 00 */	li r10, 0
/* 802BA6DC 002B633C  39 60 00 00 */	li r11, 0
/* 802BA6E0 002B6340  38 E0 00 00 */	li r7, 0
/* 802BA6E4 002B6344  7C 00 20 00 */	cmpw r0, r4
/* 802BA6E8 002B6348  41 80 00 18 */	blt lbl_802BA700
/* 802BA6EC 002B634C  3C C0 80 00 */	lis r6, 0x80000001@ha
/* 802BA6F0 002B6350  38 06 00 01 */	addi r0, r6, 0x80000001@l
/* 802BA6F4 002B6354  7C 04 00 00 */	cmpw r4, r0
/* 802BA6F8 002B6358  41 80 00 08 */	blt lbl_802BA700
/* 802BA6FC 002B635C  38 E0 00 01 */	li r7, 1
lbl_802BA700:
/* 802BA700 002B6360  2C 07 00 00 */	cmpwi r7, 0
/* 802BA704 002B6364  41 82 00 20 */	beq lbl_802BA724
/* 802BA708 002B6368  3C E3 00 03 */	addis r7, r3, 3
/* 802BA70C 002B636C  3C C0 80 00 */	lis r6, 0x80000001@ha
/* 802BA710 002B6370  88 E7 8A 87 */	lbz r7, -0x7579(r7)
/* 802BA714 002B6374  38 06 00 01 */	addi r0, r6, 0x80000001@l
/* 802BA718 002B6378  7C 07 00 00 */	cmpw r7, r0
/* 802BA71C 002B637C  41 80 00 08 */	blt lbl_802BA724
/* 802BA720 002B6380  39 60 00 01 */	li r11, 1
lbl_802BA724:
/* 802BA724 002B6384  2C 0B 00 00 */	cmpwi r11, 0
/* 802BA728 002B6388  41 82 00 14 */	beq lbl_802BA73C
/* 802BA72C 002B638C  3C 04 80 00 */	addis r0, r4, 0x8000
/* 802BA730 002B6390  28 00 00 00 */	cmplwi r0, 0
/* 802BA734 002B6394  41 82 00 08 */	beq lbl_802BA73C
/* 802BA738 002B6398  39 40 00 01 */	li r10, 1
lbl_802BA73C:
/* 802BA73C 002B639C  2C 0A 00 00 */	cmpwi r10, 0
/* 802BA740 002B63A0  41 82 00 44 */	beq lbl_802BA784
/* 802BA744 002B63A4  3C C3 00 03 */	addis r6, r3, 3
/* 802BA748 002B63A8  7C 04 00 D0 */	neg r0, r4
/* 802BA74C 002B63AC  89 46 8A 87 */	lbz r10, -0x7579(r6)
/* 802BA750 002B63B0  54 00 00 00 */	rlwinm r0, r0, 0, 0, 0
/* 802BA754 002B63B4  38 C0 00 01 */	li r6, 1
/* 802BA758 002B63B8  55 47 00 00 */	rlwinm r7, r10, 0, 0, 0
/* 802BA75C 002B63BC  7C 07 00 00 */	cmpw r7, r0
/* 802BA760 002B63C0  40 82 00 18 */	bne lbl_802BA778
/* 802BA764 002B63C4  7C 04 50 50 */	subf r0, r4, r10
/* 802BA768 002B63C8  54 00 00 00 */	rlwinm r0, r0, 0, 0, 0
/* 802BA76C 002B63CC  7C 07 00 00 */	cmpw r7, r0
/* 802BA770 002B63D0  41 82 00 08 */	beq lbl_802BA778
/* 802BA774 002B63D4  38 C0 00 00 */	li r6, 0
lbl_802BA778:
/* 802BA778 002B63D8  2C 06 00 00 */	cmpwi r6, 0
/* 802BA77C 002B63DC  41 82 00 08 */	beq lbl_802BA784
/* 802BA780 002B63E0  39 20 00 01 */	li r9, 1
lbl_802BA784:
/* 802BA784 002B63E4  2C 09 00 00 */	cmpwi r9, 0
/* 802BA788 002B63E8  41 82 00 6C */	beq lbl_802BA7F4
/* 802BA78C 002B63EC  38 05 00 07 */	addi r0, r5, 7
/* 802BA790 002B63F0  7C 08 00 50 */	subf r0, r8, r0
/* 802BA794 002B63F4  54 00 E8 FE */	srwi r0, r0, 3
/* 802BA798 002B63F8  7C 09 03 A6 */	mtctr r0
/* 802BA79C 002B63FC  7C 05 40 00 */	cmpw r5, r8
/* 802BA7A0 002B6400  40 81 00 54 */	ble lbl_802BA7F4
lbl_802BA7A4:
/* 802BA7A4 002B6404  7C C3 2A 14 */	add r6, r3, r5
/* 802BA7A8 002B6408  38 A5 FF F8 */	addi r5, r5, -8
/* 802BA7AC 002B640C  3C C6 00 03 */	addis r6, r6, 3
/* 802BA7B0 002B6410  88 06 8A 7D */	lbz r0, -0x7583(r6)
/* 802BA7B4 002B6414  98 06 8A 7E */	stb r0, -0x7582(r6)
/* 802BA7B8 002B6418  88 06 8A 7C */	lbz r0, -0x7584(r6)
/* 802BA7BC 002B641C  98 06 8A 7D */	stb r0, -0x7583(r6)
/* 802BA7C0 002B6420  88 06 8A 7B */	lbz r0, -0x7585(r6)
/* 802BA7C4 002B6424  98 06 8A 7C */	stb r0, -0x7584(r6)
/* 802BA7C8 002B6428  88 06 8A 7A */	lbz r0, -0x7586(r6)
/* 802BA7CC 002B642C  98 06 8A 7B */	stb r0, -0x7585(r6)
/* 802BA7D0 002B6430  88 06 8A 79 */	lbz r0, -0x7587(r6)
/* 802BA7D4 002B6434  98 06 8A 7A */	stb r0, -0x7586(r6)
/* 802BA7D8 002B6438  88 06 8A 78 */	lbz r0, -0x7588(r6)
/* 802BA7DC 002B643C  98 06 8A 79 */	stb r0, -0x7587(r6)
/* 802BA7E0 002B6440  88 06 8A 77 */	lbz r0, -0x7589(r6)
/* 802BA7E4 002B6444  98 06 8A 78 */	stb r0, -0x7588(r6)
/* 802BA7E8 002B6448  88 06 8A 76 */	lbz r0, -0x758a(r6)
/* 802BA7EC 002B644C  98 06 8A 77 */	stb r0, -0x7589(r6)
/* 802BA7F0 002B6450  42 00 FF B4 */	bdnz lbl_802BA7A4
lbl_802BA7F4:
/* 802BA7F4 002B6454  7C 04 28 50 */	subf r0, r4, r5
/* 802BA7F8 002B6458  7C 09 03 A6 */	mtctr r0
/* 802BA7FC 002B645C  7C 05 20 00 */	cmpw r5, r4
/* 802BA800 002B6460  40 81 00 1C */	ble lbl_802BA81C
lbl_802BA804:
/* 802BA804 002B6464  7C C3 2A 14 */	add r6, r3, r5
/* 802BA808 002B6468  38 A5 FF FF */	addi r5, r5, -1
/* 802BA80C 002B646C  3C C6 00 03 */	addis r6, r6, 3
/* 802BA810 002B6470  88 06 8A 7D */	lbz r0, -0x7583(r6)
/* 802BA814 002B6474  98 06 8A 7E */	stb r0, -0x7582(r6)
/* 802BA818 002B6478  42 00 FF EC */	bdnz lbl_802BA804
lbl_802BA81C:
/* 802BA81C 002B647C  3C 03 00 03 */	addis r0, r3, 3
/* 802BA820 002B6480  57 E5 06 3E */	clrlwi r5, r31, 0x18
/* 802BA824 002B6484  7C 80 22 14 */	add r4, r0, r4
/* 802BA828 002B6488  3C 60 80 54 */	lis r3, lbl_8053C2C0@ha
/* 802BA82C 002B648C  38 63 C2 C0 */	addi r3, r3, lbl_8053C2C0@l
/* 802BA830 002B6490  28 05 00 09 */	cmplwi r5, 9
/* 802BA834 002B6494  9B E4 8A 7E */	stb r31, -0x7582(r4)
/* 802BA838 002B6498  38 63 00 54 */	addi r3, r3, 0x54
/* 802BA83C 002B649C  40 80 00 40 */	bge lbl_802BA87C
/* 802BA840 002B64A0  28 1D 00 01 */	cmplwi r29, 1
/* 802BA844 002B64A4  40 82 00 20 */	bne lbl_802BA864
/* 802BA848 002B64A8  3C 83 00 03 */	addis r4, r3, 3
/* 802BA84C 002B64AC  38 00 00 01 */	li r0, 1
/* 802BA850 002B64B0  A0 64 8A 7C */	lhz r3, -0x7584(r4)
/* 802BA854 002B64B4  7C 00 28 30 */	slw r0, r0, r5
/* 802BA858 002B64B8  7C 60 03 78 */	or r0, r3, r0
/* 802BA85C 002B64BC  B0 04 8A 7C */	sth r0, -0x7584(r4)
/* 802BA860 002B64C0  48 00 00 1C */	b lbl_802BA87C
lbl_802BA864:
/* 802BA864 002B64C4  3C 83 00 03 */	addis r4, r3, 3
/* 802BA868 002B64C8  38 00 00 01 */	li r0, 1
/* 802BA86C 002B64CC  A0 64 8A 7C */	lhz r3, -0x7584(r4)
/* 802BA870 002B64D0  7C 00 28 30 */	slw r0, r0, r5
/* 802BA874 002B64D4  7C 60 00 78 */	andc r0, r3, r0
/* 802BA878 002B64D8  B0 04 8A 7C */	sth r0, -0x7584(r4)
lbl_802BA87C:
/* 802BA87C 002B64DC  3C BE 00 03 */	addis r5, r30, 3
/* 802BA880 002B64E0  7F E3 FB 78 */	mr r3, r31
/* 802BA884 002B64E4  88 85 8A 87 */	lbz r4, -0x7579(r5)
/* 802BA888 002B64E8  38 04 00 01 */	addi r0, r4, 1
/* 802BA88C 002B64EC  98 05 8A 87 */	stb r0, -0x7579(r5)
/* 802BA890 002B64F0  48 00 00 08 */	b lbl_802BA898
lbl_802BA894:
/* 802BA894 002B64F4  38 60 00 FF */	li r3, 0xff
lbl_802BA898:
/* 802BA898 002B64F8  39 61 00 20 */	addi r11, r1, 0x20
/* 802BA89C 002B64FC  4B F0 C8 D9 */	bl _restgpr_27
/* 802BA8A0 002B6500  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BA8A4 002B6504  7C 08 03 A6 */	mtlr r0
/* 802BA8A8 002B6508  38 21 00 20 */	addi r1, r1, 0x20
/* 802BA8AC 002B650C  4E 80 00 20 */	blr

.global GKI_delete_pool
GKI_delete_pool:
/* 802BA8B0 002B6510  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BA8B4 002B6514  7C 08 02 A6 */	mflr r0
/* 802BA8B8 002B6518  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BA8BC 002B651C  39 61 00 20 */	addi r11, r1, 0x20
/* 802BA8C0 002B6520  4B F0 C8 65 */	bl _savegpr_26
/* 802BA8C4 002B6524  3F 60 80 54 */	lis r27, lbl_8053C2C0@ha
/* 802BA8C8 002B6528  28 03 00 09 */	cmplwi r3, 9
/* 802BA8CC 002B652C  3B 7B C2 C0 */	addi r27, r27, lbl_8053C2C0@l
/* 802BA8D0 002B6530  7C 7E 1B 78 */	mr r30, r3
/* 802BA8D4 002B6534  3B FB 00 54 */	addi r31, r27, 0x54
/* 802BA8D8 002B6538  40 80 01 20 */	bge lbl_802BA9F8
/* 802BA8DC 002B653C  54 7A 15 BA */	rlwinm r26, r3, 2, 0x16, 0x1d
/* 802BA8E0 002B6540  3C 1F 00 03 */	addis r0, r31, 3
/* 802BA8E4 002B6544  7C 60 D2 14 */	add r3, r0, r26
/* 802BA8E8 002B6548  80 03 8A 1C */	lwz r0, -0x75e4(r3)
/* 802BA8EC 002B654C  2C 00 00 00 */	cmpwi r0, 0
/* 802BA8F0 002B6550  40 82 00 08 */	bne lbl_802BA8F8
/* 802BA8F4 002B6554  48 00 01 04 */	b lbl_802BA9F8
lbl_802BA8F8:
/* 802BA8F8 002B6558  48 00 08 89 */	bl GKI_disable
/* 802BA8FC 002B655C  3C 9F 00 03 */	addis r4, r31, 3
/* 802BA900 002B6560  57 C0 25 36 */	rlwinm r0, r30, 4, 0x14, 0x1b
/* 802BA904 002B6564  7C 64 02 14 */	add r3, r4, r0
/* 802BA908 002B6568  A0 03 89 98 */	lhz r0, -0x7668(r3)
/* 802BA90C 002B656C  2C 00 00 00 */	cmpwi r0, 0
/* 802BA910 002B6570  40 82 00 CC */	bne lbl_802BA9DC
/* 802BA914 002B6574  3B 80 00 00 */	li r28, 0
/* 802BA918 002B6578  7F A4 D2 14 */	add r29, r4, r26
/* 802BA91C 002B657C  B3 83 89 94 */	sth r28, -0x766c(r3)
/* 802BA920 002B6580  B3 83 89 96 */	sth r28, -0x766a(r3)
/* 802BA924 002B6584  B3 83 89 98 */	sth r28, -0x7668(r3)
/* 802BA928 002B6588  B3 83 89 9A */	sth r28, -0x7666(r3)
/* 802BA92C 002B658C  93 83 89 8C */	stw r28, -0x7674(r3)
/* 802BA930 002B6590  93 83 89 90 */	stw r28, -0x7670(r3)
/* 802BA934 002B6594  80 7D 8A 1C */	lwz r3, -0x75e4(r29)
/* 802BA938 002B6598  48 00 08 BD */	bl GKI_os_free
/* 802BA93C 002B659C  3C 9F 00 03 */	addis r4, r31, 3
/* 802BA940 002B65A0  93 9D 8A 1C */	stw r28, -0x75e4(r29)
/* 802BA944 002B65A4  7C 64 D2 14 */	add r3, r4, r26
/* 802BA948 002B65A8  57 C0 0D FC */	rlwinm r0, r30, 1, 0x17, 0x1e
/* 802BA94C 002B65AC  93 83 8A 40 */	stw r28, -0x75c0(r3)
/* 802BA950 002B65B0  7C 64 02 14 */	add r3, r4, r0
/* 802BA954 002B65B4  7F E7 FB 78 */	mr r7, r31
/* 802BA958 002B65B8  38 C0 00 00 */	li r6, 0
/* 802BA95C 002B65BC  B3 83 8A 64 */	sth r28, -0x759c(r3)
/* 802BA960 002B65C0  88 84 8A 87 */	lbz r4, -0x7579(r4)
/* 802BA964 002B65C4  48 00 00 20 */	b lbl_802BA984
lbl_802BA968:
/* 802BA968 002B65C8  54 C3 06 3E */	clrlwi r3, r6, 0x18
/* 802BA96C 002B65CC  3C 63 00 03 */	addis r3, r3, 3
/* 802BA970 002B65D0  38 03 8A 7E */	addi r0, r3, -30082
/* 802BA974 002B65D4  7C 07 00 AE */	lbzx r0, r7, r0
/* 802BA978 002B65D8  7C 1E 00 40 */	cmplw r30, r0
/* 802BA97C 002B65DC  41 82 00 14 */	beq lbl_802BA990
/* 802BA980 002B65E0  38 C6 00 01 */	addi r6, r6, 1
lbl_802BA984:
/* 802BA984 002B65E4  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 802BA988 002B65E8  7C 00 20 40 */	cmplw r0, r4
/* 802BA98C 002B65EC  41 80 FF DC */	blt lbl_802BA968
lbl_802BA990:
/* 802BA990 002B65F0  3C 87 00 03 */	addis r4, r7, 3
/* 802BA994 002B65F4  48 00 00 20 */	b lbl_802BA9B4
lbl_802BA998:
/* 802BA998 002B65F8  54 C3 06 3E */	clrlwi r3, r6, 0x18
/* 802BA99C 002B65FC  38 C6 00 01 */	addi r6, r6, 1
/* 802BA9A0 002B6600  3C 63 00 03 */	addis r3, r3, 3
/* 802BA9A4 002B6604  38 63 8A 7E */	addi r3, r3, -30082
/* 802BA9A8 002B6608  7C 67 1A 14 */	add r3, r7, r3
/* 802BA9AC 002B660C  88 03 00 01 */	lbz r0, 1(r3)
/* 802BA9B0 002B6610  98 03 00 00 */	stb r0, 0(r3)
lbl_802BA9B4:
/* 802BA9B4 002B6614  88 64 8A 87 */	lbz r3, -0x7579(r4)
/* 802BA9B8 002B6618  54 C5 06 3E */	clrlwi r5, r6, 0x18
/* 802BA9BC 002B661C  38 03 FF FF */	addi r0, r3, -1
/* 802BA9C0 002B6620  7C 05 00 00 */	cmpw r5, r0
/* 802BA9C4 002B6624  41 80 FF D4 */	blt lbl_802BA998
/* 802BA9C8 002B6628  3C 9F 00 03 */	addis r4, r31, 3
/* 802BA9CC 002B662C  88 64 8A 87 */	lbz r3, -0x7579(r4)
/* 802BA9D0 002B6630  38 03 FF FF */	addi r0, r3, -1
/* 802BA9D4 002B6634  98 04 8A 87 */	stb r0, -0x7579(r4)
/* 802BA9D8 002B6638  48 00 00 1C */	b lbl_802BA9F4
lbl_802BA9DC:
/* 802BA9DC 002B663C  3C 60 00 01 */	lis r3, 0x0000FFF8@ha
/* 802BA9E0 002B6640  3C 80 80 44 */	lis r4, lbl_8043F260@ha
/* 802BA9E4 002B6644  38 03 FF F8 */	addi r0, r3, 0x0000FFF8@l
/* 802BA9E8 002B6648  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802BA9EC 002B664C  38 84 F2 60 */	addi r4, r4, lbl_8043F260@l
/* 802BA9F0 002B6650  48 00 07 D5 */	bl GKI_exception
lbl_802BA9F4:
/* 802BA9F4 002B6654  48 00 07 69 */	bl GKI_enable
lbl_802BA9F8:
/* 802BA9F8 002B6658  39 61 00 20 */	addi r11, r1, 0x20
/* 802BA9FC 002B665C  4B F0 C7 75 */	bl _restgpr_26
/* 802BAA00 002B6660  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BAA04 002B6664  7C 08 03 A6 */	mtlr r0
/* 802BAA08 002B6668  38 21 00 20 */	addi r1, r1, 0x20
/* 802BAA0C 002B666C  4E 80 00 20 */	blr