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

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

uusb_CloseDeviceCB:
/* 802BB894 002B74F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BB898 002B74F8  7C 08 02 A6 */	mflr r0
/* 802BB89C 002B74FC  3C 80 80 56 */	lis r4, lbl_80564DE0@ha
/* 802BB8A0 002B7500  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BB8A4 002B7504  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BB8A8 002B7508  3B E4 4D E0 */	addi r31, r4, lbl_80564DE0@l
/* 802BB8AC 002B750C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BB8B0 002B7510  3B C0 00 00 */	li r30, 0
/* 802BB8B4 002B7514  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BB8B8 002B7518  7C 7D 1B 78 */	mr r29, r3
/* 802BB8BC 002B751C  93 C4 4D E0 */	stw r30, 0x4de0(r4)
/* 802BB8C0 002B7520  9B DF 00 10 */	stb r30, 0x10(r31)
/* 802BB8C4 002B7524  9B DF 00 11 */	stb r30, 0x11(r31)
/* 802BB8C8 002B7528  9B DF 00 12 */	stb r30, 0x12(r31)
/* 802BB8CC 002B752C  9B DF 00 13 */	stb r30, 0x13(r31)
/* 802BB8D0 002B7530  9B CD AE C8 */	stb r30, lbl_80640188-_SDA_BASE_(r13)
/* 802BB8D4 002B7534  4B FF 85 99 */	bl IUSB_CloseLib
/* 802BB8D8 002B7538  4B FF F8 A9 */	bl GKI_disable
/* 802BB8DC 002B753C  38 00 00 05 */	li r0, 5
/* 802BB8E0 002B7540  9B DF 00 28 */	stb r30, 0x28(r31)
/* 802BB8E4 002B7544  98 1F 00 29 */	stb r0, 0x29(r31)
/* 802BB8E8 002B7548  9B CD AE C9 */	stb r30, lbl_80640189-_SDA_BASE_(r13)
/* 802BB8EC 002B754C  4B FF F8 71 */	bl GKI_enable
/* 802BB8F0 002B7550  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802BB8F4 002B7554  2C 0C 00 00 */	cmpwi r12, 0
/* 802BB8F8 002B7558  41 82 00 14 */	beq lbl_802BB90C
/* 802BB8FC 002B755C  7F A4 07 74 */	extsb r4, r29
/* 802BB900 002B7560  38 60 00 04 */	li r3, 4
/* 802BB904 002B7564  7D 89 03 A6 */	mtctr r12
/* 802BB908 002B7568  4E 80 04 21 */	bctrl
lbl_802BB90C:
/* 802BB90C 002B756C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BB910 002B7570  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BB914 002B7574  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BB918 002B7578  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BB91C 002B757C  7C 08 03 A6 */	mtlr r0
/* 802BB920 002B7580  38 21 00 20 */	addi r1, r1, 0x20
/* 802BB924 002B7584  4E 80 00 20 */	blr

uusb_ReadIntrDataCB:
/* 802BB928 002B7588  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BB92C 002B758C  7C 08 02 A6 */	mflr r0
/* 802BB930 002B7590  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BB934 002B7594  39 61 00 20 */	addi r11, r1, 0x20
/* 802BB938 002B7598  4B F0 B7 ED */	bl _savegpr_26
/* 802BB93C 002B759C  3C A0 80 56 */	lis r5, lbl_80564DE0@ha
/* 802BB940 002B75A0  3F E0 80 44 */	lis r31, lbl_8043F2E8@ha
/* 802BB944 002B75A4  38 A5 4D E0 */	addi r5, r5, lbl_80564DE0@l
/* 802BB948 002B75A8  7C 7C 1B 78 */	mr r28, r3
/* 802BB94C 002B75AC  88 05 00 28 */	lbz r0, 0x28(r5)
/* 802BB950 002B75B0  7C 9D 23 78 */	mr r29, r4
/* 802BB954 002B75B4  3B FF F2 E8 */	addi r31, r31, lbl_8043F2E8@l
/* 802BB958 002B75B8  2C 00 00 00 */	cmpwi r0, 0
/* 802BB95C 002B75BC  41 82 00 10 */	beq lbl_802BB96C
/* 802BB960 002B75C0  38 7F 00 00 */	addi r3, r31, 0
/* 802BB964 002B75C4  4C C6 31 82 */	crclr 6
/* 802BB968 002B75C8  4B D4 C1 5D */	bl OSReport
lbl_802BB96C:
/* 802BB96C 002B75CC  3F 60 80 56 */	lis r27, lbl_80564DE0@ha
/* 802BB970 002B75D0  38 60 00 00 */	li r3, 0
/* 802BB974 002B75D4  3B 7B 4D E0 */	addi r27, r27, lbl_80564DE0@l
/* 802BB978 002B75D8  88 1B 00 29 */	lbz r0, 0x29(r27)
/* 802BB97C 002B75DC  98 7B 00 2B */	stb r3, 0x2b(r27)
/* 802BB980 002B75E0  28 00 00 02 */	cmplwi r0, 2
/* 802BB984 002B75E4  41 82 00 60 */	beq lbl_802BB9E4
/* 802BB988 002B75E8  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BB98C 002B75EC  2C 00 00 00 */	cmpwi r0, 0
/* 802BB990 002B75F0  41 82 00 10 */	beq lbl_802BB9A0
/* 802BB994 002B75F4  38 7F 00 28 */	addi r3, r31, 0x28
/* 802BB998 002B75F8  4C C6 31 82 */	crclr 6
/* 802BB99C 002B75FC  4B D4 C1 29 */	bl OSReport
lbl_802BB9A0:
/* 802BB9A0 002B7600  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BB9A4 002B7604  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BB9A8 002B7608  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BB9AC 002B760C  2C 00 00 00 */	cmpwi r0, 0
/* 802BB9B0 002B7610  41 82 00 10 */	beq lbl_802BB9C0
/* 802BB9B4 002B7614  38 7F 00 6C */	addi r3, r31, 0x6c
/* 802BB9B8 002B7618  4C C6 31 82 */	crclr 6
/* 802BB9BC 002B761C  4B D4 C1 09 */	bl OSReport
lbl_802BB9C0:
/* 802BB9C0 002B7620  7F A3 EB 78 */	mr r3, r29
/* 802BB9C4 002B7624  4B FF E3 71 */	bl GKI_freebuf
/* 802BB9C8 002B7628  3F 60 80 56 */	lis r27, lbl_80564DE0@ha
/* 802BB9CC 002B762C  3B 7B 4D E0 */	addi r27, r27, lbl_80564DE0@l
/* 802BB9D0 002B7630  88 7B 00 1C */	lbz r3, 0x1c(r27)
/* 802BB9D4 002B7634  4B FF EE DD */	bl GKI_delete_pool
/* 802BB9D8 002B7638  38 00 00 FF */	li r0, 0xff
/* 802BB9DC 002B763C  98 1B 00 1C */	stb r0, 0x1c(r27)
/* 802BB9E0 002B7640  48 00 01 4C */	b lbl_802BBB2C
lbl_802BB9E4:
/* 802BB9E4 002B7644  7C 1D 18 40 */	cmplw r29, r3
/* 802BB9E8 002B7648  41 82 01 40 */	beq lbl_802BBB28
/* 802BB9EC 002B764C  2C 1C 00 00 */	cmpwi r28, 0
/* 802BB9F0 002B7650  41 81 00 2C */	bgt lbl_802BBA1C
/* 802BB9F4 002B7654  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BB9F8 002B7658  2C 00 00 00 */	cmpwi r0, 0
/* 802BB9FC 002B765C  41 82 00 14 */	beq lbl_802BBA10
/* 802BBA00 002B7660  7F 84 E3 78 */	mr r4, r28
/* 802BBA04 002B7664  38 7F 00 DC */	addi r3, r31, 0xdc
/* 802BBA08 002B7668  4C C6 31 82 */	crclr 6
/* 802BBA0C 002B766C  4B D4 C0 B9 */	bl OSReport
lbl_802BBA10:
/* 802BBA10 002B7670  7F A3 EB 78 */	mr r3, r29
/* 802BBA14 002B7674  4B FF E3 21 */	bl GKI_freebuf
/* 802BBA18 002B7678  48 00 01 10 */	b lbl_802BBB28
lbl_802BBA1C:
/* 802BBA1C 002B767C  38 60 00 02 */	li r3, 2
/* 802BBA20 002B7680  4B FF E2 2D */	bl GKI_getpoolbuf
/* 802BBA24 002B7684  2C 03 00 00 */	cmpwi r3, 0
/* 802BBA28 002B7688  7C 7E 1B 78 */	mr r30, r3
/* 802BBA2C 002B768C  40 82 00 10 */	bne lbl_802BBA3C
/* 802BBA30 002B7690  7F A3 EB 78 */	mr r3, r29
/* 802BBA34 002B7694  4B FF E3 01 */	bl GKI_freebuf
/* 802BBA38 002B7698  48 00 00 F0 */	b lbl_802BBB28
lbl_802BBA3C:
/* 802BBA3C 002B769C  A0 1D 00 04 */	lhz r0, 4(r29)
/* 802BBA40 002B76A0  57 84 04 3E */	clrlwi r4, r28, 0x10
/* 802BBA44 002B76A4  38 C0 10 00 */	li r6, 0x1000
/* 802BBA48 002B76A8  B3 9D 00 02 */	sth r28, 2(r29)
/* 802BBA4C 002B76AC  7C A4 02 14 */	add r5, r4, r0
/* 802BBA50 002B76B0  7F A4 EB 78 */	mr r4, r29
/* 802BBA54 002B76B4  3B 45 00 08 */	addi r26, r5, 8
/* 802BBA58 002B76B8  B0 DD 00 00 */	sth r6, 0(r29)
/* 802BBA5C 002B76BC  57 45 00 3A */	rlwinm r5, r26, 0, 0, 0x1d
/* 802BBA60 002B76C0  3B 45 00 04 */	addi r26, r5, 4
/* 802BBA64 002B76C4  7F 45 D3 78 */	mr r5, r26
/* 802BBA68 002B76C8  4B D4 85 99 */	bl memcpy
/* 802BBA6C 002B76CC  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BBA70 002B76D0  2C 00 00 00 */	cmpwi r0, 0
/* 802BBA74 002B76D4  41 82 00 1C */	beq lbl_802BBA90
/* 802BBA78 002B76D8  A0 9E 00 02 */	lhz r4, 2(r30)
/* 802BBA7C 002B76DC  7F 46 D3 78 */	mr r6, r26
/* 802BBA80 002B76E0  A0 BE 00 04 */	lhz r5, 4(r30)
/* 802BBA84 002B76E4  38 7F 01 14 */	addi r3, r31, 0x114
/* 802BBA88 002B76E8  4C C6 31 82 */	crclr 6
/* 802BBA8C 002B76EC  4B D4 C0 39 */	bl OSReport
lbl_802BBA90:
/* 802BBA90 002B76F0  A0 1E 00 04 */	lhz r0, 4(r30)
/* 802BBA94 002B76F4  3F 60 80 56 */	lis r27, lbl_80564DE0@ha
/* 802BBA98 002B76F8  3B 7B 4D E0 */	addi r27, r27, lbl_80564DE0@l
/* 802BBA9C 002B76FC  3B 40 00 00 */	li r26, 0
/* 802BBAA0 002B7700  7C 7E 02 14 */	add r3, r30, r0
/* 802BBAA4 002B7704  3B E3 00 08 */	addi r31, r3, 8
/* 802BBAA8 002B7708  48 00 00 28 */	b lbl_802BBAD0
lbl_802BBAAC:
/* 802BBAAC 002B770C  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BBAB0 002B7710  2C 00 00 00 */	cmpwi r0, 0
/* 802BBAB4 002B7714  41 82 00 14 */	beq lbl_802BBAC8
/* 802BBAB8 002B7718  88 9F 00 00 */	lbz r4, 0(r31)
/* 802BBABC 002B771C  38 6D 89 D0 */	addi r3, r13, lbl_8063DC90-_SDA_BASE_
/* 802BBAC0 002B7720  4C C6 31 82 */	crclr 6
/* 802BBAC4 002B7724  4B D4 C0 01 */	bl OSReport
lbl_802BBAC8:
/* 802BBAC8 002B7728  3B 5A 00 01 */	addi r26, r26, 1
/* 802BBACC 002B772C  3B FF 00 01 */	addi r31, r31, 1
lbl_802BBAD0:
/* 802BBAD0 002B7730  7C 1A E0 00 */	cmpw r26, r28
/* 802BBAD4 002B7734  41 80 FF D8 */	blt lbl_802BBAAC
/* 802BBAD8 002B7738  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBADC 002B773C  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBAE0 002B7740  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BBAE4 002B7744  2C 00 00 00 */	cmpwi r0, 0
/* 802BBAE8 002B7748  41 82 00 10 */	beq lbl_802BBAF8
/* 802BBAEC 002B774C  38 6D 89 D8 */	addi r3, r13, lbl_8063DC98-_SDA_BASE_
/* 802BBAF0 002B7750  4C C6 31 82 */	crclr 6
/* 802BBAF4 002B7754  4B D4 BF D1 */	bl OSReport
lbl_802BBAF8:
/* 802BBAF8 002B7758  3C A0 80 56 */	lis r5, lbl_80564E40@ha
/* 802BBAFC 002B775C  3C E0 80 2C */	lis r7, bta_ci_hci_msg_handler@ha
/* 802BBB00 002B7760  38 A5 4E 40 */	addi r5, r5, lbl_80564E40@l
/* 802BBB04 002B7764  7F C3 F3 78 */	mr r3, r30
/* 802BBB08 002B7768  39 05 10 00 */	addi r8, r5, 0x1000
/* 802BBB0C 002B776C  38 E7 CE 18 */	addi r7, r7, bta_ci_hci_msg_handler@l
/* 802BBB10 002B7770  38 80 00 00 */	li r4, 0
/* 802BBB14 002B7774  38 A0 00 00 */	li r5, 0
/* 802BBB18 002B7778  38 C0 00 00 */	li r6, 0
/* 802BBB1C 002B777C  4B FA F5 45 */	bl OSSwitchFiberEx
/* 802BBB20 002B7780  7F A3 EB 78 */	mr r3, r29
/* 802BBB24 002B7784  4B FF E2 11 */	bl GKI_freebuf
lbl_802BBB28:
/* 802BBB28 002B7788  48 00 03 39 */	bl uusb_issue_intr_read
lbl_802BBB2C:
/* 802BBB2C 002B778C  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBB30 002B7790  4B F0 B6 41 */	bl _restgpr_26
/* 802BBB34 002B7794  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BBB38 002B7798  7C 08 03 A6 */	mtlr r0
/* 802BBB3C 002B779C  38 21 00 20 */	addi r1, r1, 0x20
/* 802BBB40 002B77A0  4E 80 00 20 */	blr

uusb_ReadBulkDataCB:
/* 802BBB44 002B77A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BBB48 002B77A8  7C 08 02 A6 */	mflr r0
/* 802BBB4C 002B77AC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BBB50 002B77B0  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBB54 002B77B4  4B F0 B5 D5 */	bl _savegpr_27
/* 802BBB58 002B77B8  3F 80 80 56 */	lis r28, lbl_80564DE0@ha
/* 802BBB5C 002B77BC  3F A0 80 44 */	lis r29, lbl_8043F2E8@ha
/* 802BBB60 002B77C0  3B 9C 4D E0 */	addi r28, r28, lbl_80564DE0@l
/* 802BBB64 002B77C4  7C 9E 23 78 */	mr r30, r4
/* 802BBB68 002B77C8  88 1C 00 29 */	lbz r0, 0x29(r28)
/* 802BBB6C 002B77CC  3B BD F2 E8 */	addi r29, r29, lbl_8043F2E8@l
/* 802BBB70 002B77D0  28 00 00 02 */	cmplwi r0, 2
/* 802BBB74 002B77D4  41 82 00 60 */	beq lbl_802BBBD4
/* 802BBB78 002B77D8  88 1C 00 28 */	lbz r0, 0x28(r28)
/* 802BBB7C 002B77DC  2C 00 00 00 */	cmpwi r0, 0
/* 802BBB80 002B77E0  41 82 00 10 */	beq lbl_802BBB90
/* 802BBB84 002B77E4  38 7D 01 5C */	addi r3, r29, 0x15c
/* 802BBB88 002B77E8  4C C6 31 82 */	crclr 6
/* 802BBB8C 002B77EC  4B D4 BF 39 */	bl OSReport
lbl_802BBB90:
/* 802BBB90 002B77F0  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBB94 002B77F4  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBB98 002B77F8  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BBB9C 002B77FC  2C 00 00 00 */	cmpwi r0, 0
/* 802BBBA0 002B7800  41 82 00 10 */	beq lbl_802BBBB0
/* 802BBBA4 002B7804  38 7D 01 A0 */	addi r3, r29, 0x1a0
/* 802BBBA8 002B7808  4C C6 31 82 */	crclr 6
/* 802BBBAC 002B780C  4B D4 BF 19 */	bl OSReport
lbl_802BBBB0:
/* 802BBBB0 002B7810  7F C3 F3 78 */	mr r3, r30
/* 802BBBB4 002B7814  4B FF E1 81 */	bl GKI_freebuf
/* 802BBBB8 002B7818  3F 80 80 56 */	lis r28, lbl_80564DE0@ha
/* 802BBBBC 002B781C  3B 9C 4D E0 */	addi r28, r28, lbl_80564DE0@l
/* 802BBBC0 002B7820  88 7C 00 1D */	lbz r3, 0x1d(r28)
/* 802BBBC4 002B7824  4B FF EC ED */	bl GKI_delete_pool
/* 802BBBC8 002B7828  38 00 00 FF */	li r0, 0xff
/* 802BBBCC 002B782C  98 1C 00 1D */	stb r0, 0x1d(r28)
/* 802BBBD0 002B7830  48 00 01 64 */	b lbl_802BBD34
lbl_802BBBD4:
/* 802BBBD4 002B7834  2C 03 00 00 */	cmpwi r3, 0
/* 802BBBD8 002B7838  41 81 00 2C */	bgt lbl_802BBC04
/* 802BBBDC 002B783C  88 1C 00 28 */	lbz r0, 0x28(r28)
/* 802BBBE0 002B7840  2C 00 00 00 */	cmpwi r0, 0
/* 802BBBE4 002B7844  41 82 00 14 */	beq lbl_802BBBF8
/* 802BBBE8 002B7848  7C 64 1B 78 */	mr r4, r3
/* 802BBBEC 002B784C  38 7D 02 00 */	addi r3, r29, 0x200
/* 802BBBF0 002B7850  4C C6 31 82 */	crclr 6
/* 802BBBF4 002B7854  4B D4 BE D1 */	bl OSReport
lbl_802BBBF8:
/* 802BBBF8 002B7858  7F C3 F3 78 */	mr r3, r30
/* 802BBBFC 002B785C  4B FF E1 39 */	bl GKI_freebuf
/* 802BBC00 002B7860  48 00 01 30 */	b lbl_802BBD30
lbl_802BBC04:
/* 802BBC04 002B7864  B0 64 00 02 */	sth r3, 2(r4)
/* 802BBC08 002B7868  38 60 00 03 */	li r3, 3
/* 802BBC0C 002B786C  4B FF E0 41 */	bl GKI_getpoolbuf
/* 802BBC10 002B7870  2C 03 00 00 */	cmpwi r3, 0
/* 802BBC14 002B7874  7C 7F 1B 78 */	mr r31, r3
/* 802BBC18 002B7878  40 82 00 10 */	bne lbl_802BBC28
/* 802BBC1C 002B787C  7F C3 F3 78 */	mr r3, r30
/* 802BBC20 002B7880  4B FF E1 15 */	bl GKI_freebuf
/* 802BBC24 002B7884  48 00 01 0C */	b lbl_802BBD30
lbl_802BBC28:
/* 802BBC28 002B7888  A0 BE 00 02 */	lhz r5, 2(r30)
/* 802BBC2C 002B788C  7F C4 F3 78 */	mr r4, r30
/* 802BBC30 002B7890  A0 1E 00 04 */	lhz r0, 4(r30)
/* 802BBC34 002B7894  7C A5 02 14 */	add r5, r5, r0
/* 802BBC38 002B7898  3B 65 00 08 */	addi r27, r5, 8
/* 802BBC3C 002B789C  57 65 00 3A */	rlwinm r5, r27, 0, 0, 0x1d
/* 802BBC40 002B78A0  3B 65 00 04 */	addi r27, r5, 4
/* 802BBC44 002B78A4  7F 65 DB 78 */	mr r5, r27
/* 802BBC48 002B78A8  4B D4 83 B9 */	bl memcpy
/* 802BBC4C 002B78AC  88 1C 00 28 */	lbz r0, 0x28(r28)
/* 802BBC50 002B78B0  2C 00 00 00 */	cmpwi r0, 0
/* 802BBC54 002B78B4  41 82 00 1C */	beq lbl_802BBC70
/* 802BBC58 002B78B8  A0 9F 00 02 */	lhz r4, 2(r31)
/* 802BBC5C 002B78BC  7F 66 DB 78 */	mr r6, r27
/* 802BBC60 002B78C0  A0 BF 00 04 */	lhz r5, 4(r31)
/* 802BBC64 002B78C4  38 7D 02 38 */	addi r3, r29, 0x238
/* 802BBC68 002B78C8  4C C6 31 82 */	crclr 6
/* 802BBC6C 002B78CC  4B D4 BE 59 */	bl OSReport
lbl_802BBC70:
/* 802BBC70 002B78D0  A0 1F 00 04 */	lhz r0, 4(r31)
/* 802BBC74 002B78D4  3F 80 80 56 */	lis r28, lbl_80564DE0@ha
/* 802BBC78 002B78D8  3B 9C 4D E0 */	addi r28, r28, lbl_80564DE0@l
/* 802BBC7C 002B78DC  3B 60 00 00 */	li r27, 0
/* 802BBC80 002B78E0  7C 7F 02 14 */	add r3, r31, r0
/* 802BBC84 002B78E4  3B A3 00 08 */	addi r29, r3, 8
/* 802BBC88 002B78E8  48 00 00 28 */	b lbl_802BBCB0
lbl_802BBC8C:
/* 802BBC8C 002B78EC  88 1C 00 28 */	lbz r0, 0x28(r28)
/* 802BBC90 002B78F0  2C 00 00 00 */	cmpwi r0, 0
/* 802BBC94 002B78F4  41 82 00 14 */	beq lbl_802BBCA8
/* 802BBC98 002B78F8  88 9D 00 00 */	lbz r4, 0(r29)
/* 802BBC9C 002B78FC  38 6D 89 D0 */	addi r3, r13, lbl_8063DC90-_SDA_BASE_
/* 802BBCA0 002B7900  4C C6 31 82 */	crclr 6
/* 802BBCA4 002B7904  4B D4 BE 21 */	bl OSReport
lbl_802BBCA8:
/* 802BBCA8 002B7908  3B 7B 00 01 */	addi r27, r27, 1
/* 802BBCAC 002B790C  3B BD 00 01 */	addi r29, r29, 1
lbl_802BBCB0:
/* 802BBCB0 002B7910  A0 1F 00 02 */	lhz r0, 2(r31)
/* 802BBCB4 002B7914  7C 1B 00 00 */	cmpw r27, r0
/* 802BBCB8 002B7918  41 80 FF D4 */	blt lbl_802BBC8C
/* 802BBCBC 002B791C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBCC0 002B7920  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBCC4 002B7924  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BBCC8 002B7928  2C 00 00 00 */	cmpwi r0, 0
/* 802BBCCC 002B792C  41 82 00 10 */	beq lbl_802BBCDC
/* 802BBCD0 002B7930  38 6D 89 D8 */	addi r3, r13, lbl_8063DC98-_SDA_BASE_
/* 802BBCD4 002B7934  4C C6 31 82 */	crclr 6
/* 802BBCD8 002B7938  4B D4 BD ED */	bl OSReport
lbl_802BBCDC:
/* 802BBCDC 002B793C  7F E3 FB 78 */	mr r3, r31
/* 802BBCE0 002B7940  48 01 C9 3D */	bl l2cap_link_chk_pkt_start
/* 802BBCE4 002B7944  38 00 00 00 */	li r0, 0
/* 802BBCE8 002B7948  7C 7F 1B 78 */	mr r31, r3
/* 802BBCEC 002B794C  7C 03 00 40 */	cmplw r3, r0
/* 802BBCF0 002B7950  41 82 00 38 */	beq lbl_802BBD28
/* 802BBCF4 002B7954  48 01 CA F9 */	bl l2cap_link_chk_pkt_end
/* 802BBCF8 002B7958  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802BBCFC 002B795C  41 82 00 2C */	beq lbl_802BBD28
/* 802BBD00 002B7960  3C A0 80 56 */	lis r5, lbl_80565E40@ha
/* 802BBD04 002B7964  3C E0 80 2C */	lis r7, bta_ci_hci_msg_handler@ha
/* 802BBD08 002B7968  38 A5 5E 40 */	addi r5, r5, lbl_80565E40@l
/* 802BBD0C 002B796C  7F E3 FB 78 */	mr r3, r31
/* 802BBD10 002B7970  39 05 10 00 */	addi r8, r5, 0x1000
/* 802BBD14 002B7974  38 E7 CE 18 */	addi r7, r7, bta_ci_hci_msg_handler@l
/* 802BBD18 002B7978  38 80 00 00 */	li r4, 0
/* 802BBD1C 002B797C  38 A0 00 00 */	li r5, 0
/* 802BBD20 002B7980  38 C0 00 00 */	li r6, 0
/* 802BBD24 002B7984  4B FA F3 3D */	bl OSSwitchFiberEx
lbl_802BBD28:
/* 802BBD28 002B7988  7F C3 F3 78 */	mr r3, r30
/* 802BBD2C 002B798C  4B FF E0 09 */	bl GKI_freebuf
lbl_802BBD30:
/* 802BBD30 002B7990  48 00 00 1D */	bl uusb_issue_bulk_read
lbl_802BBD34:
/* 802BBD34 002B7994  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBD38 002B7998  4B F0 B4 3D */	bl _restgpr_27
/* 802BBD3C 002B799C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BBD40 002B79A0  7C 08 03 A6 */	mtlr r0
/* 802BBD44 002B79A4  38 21 00 20 */	addi r1, r1, 0x20
/* 802BBD48 002B79A8  4E 80 00 20 */	blr

.global uusb_issue_bulk_read
uusb_issue_bulk_read:
/* 802BBD4C 002B79AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BBD50 002B79B0  7C 08 02 A6 */	mflr r0
/* 802BBD54 002B79B4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BBD58 002B79B8  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBD5C 002B79BC  4B F0 B3 CD */	bl _savegpr_27
/* 802BBD60 002B79C0  3F A0 80 44 */	lis r29, lbl_8043F2E8@ha
/* 802BBD64 002B79C4  3F C0 80 56 */	lis r30, lbl_80564DE0@ha
/* 802BBD68 002B79C8  3B BD F2 E8 */	addi r29, r29, lbl_8043F2E8@l
/* 802BBD6C 002B79CC  3B FE 4D E0 */	addi r31, r30, lbl_80564DE0@l
lbl_802BBD70:
/* 802BBD70 002B79D0  88 7F 00 1D */	lbz r3, 0x1d(r31)
/* 802BBD74 002B79D4  4B FF DE D9 */	bl GKI_getpoolbuf
/* 802BBD78 002B79D8  2C 03 00 00 */	cmpwi r3, 0
/* 802BBD7C 002B79DC  7C 7C 1B 78 */	mr r28, r3
/* 802BBD80 002B79E0  40 82 00 20 */	bne lbl_802BBDA0
/* 802BBD84 002B79E4  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BBD88 002B79E8  2C 00 00 00 */	cmpwi r0, 0
/* 802BBD8C 002B79EC  41 82 FF E4 */	beq lbl_802BBD70
/* 802BBD90 002B79F0  38 7D 02 80 */	addi r3, r29, 0x280
/* 802BBD94 002B79F4  4C C6 31 82 */	crclr 6
/* 802BBD98 002B79F8  4B D4 BD 2D */	bl OSReport
/* 802BBD9C 002B79FC  4B FF FF D4 */	b lbl_802BBD70
lbl_802BBDA0:
/* 802BBDA0 002B7A00  38 80 11 00 */	li r4, 0x1100
/* 802BBDA4 002B7A04  38 03 00 27 */	addi r0, r3, 0x27
/* 802BBDA8 002B7A08  B0 83 00 00 */	sth r4, 0(r3)
/* 802BBDAC 002B7A0C  38 80 00 00 */	li r4, 0
/* 802BBDB0 002B7A10  54 1B 00 34 */	rlwinm r27, r0, 0, 0, 0x1a
/* 802BBDB4 002B7A14  38 03 00 08 */	addi r0, r3, 8
/* 802BBDB8 002B7A18  B0 83 00 02 */	sth r4, 2(r3)
/* 802BBDBC 002B7A1C  7C 00 D8 50 */	subf r0, r0, r27
/* 802BBDC0 002B7A20  B0 03 00 04 */	sth r0, 4(r3)
/* 802BBDC4 002B7A24  4B FF E0 E1 */	bl GKI_get_buf_size
/* 802BBDC8 002B7A28  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802BBDCC 002B7A2C  A0 1C 00 04 */	lhz r0, 4(r28)
/* 802BBDD0 002B7A30  38 A3 FF D8 */	addi r5, r3, -40
/* 802BBDD4 002B7A34  3C E0 80 2C */	lis r7, uusb_ReadBulkDataCB@ha
/* 802BBDD8 002B7A38  80 7E 4D E0 */	lwz r3, 0x4de0(r30)
/* 802BBDDC 002B7A3C  7F 66 DB 78 */	mr r6, r27
/* 802BBDE0 002B7A40  88 9F 00 11 */	lbz r4, 0x11(r31)
/* 802BBDE4 002B7A44  7F 88 E3 78 */	mr r8, r28
/* 802BBDE8 002B7A48  7C A0 28 50 */	subf r5, r0, r5
/* 802BBDEC 002B7A4C  38 E7 BB 44 */	addi r7, r7, uusb_ReadBulkDataCB@l
/* 802BBDF0 002B7A50  4B FF 87 C9 */	bl IUSB_ReadBlkMsgAsync
/* 802BBDF4 002B7A54  2C 03 00 00 */	cmpwi r3, 0
/* 802BBDF8 002B7A58  7C 7B 1B 78 */	mr r27, r3
/* 802BBDFC 002B7A5C  41 82 00 4C */	beq lbl_802BBE48
/* 802BBE00 002B7A60  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BBE04 002B7A64  2C 00 00 00 */	cmpwi r0, 0
/* 802BBE08 002B7A68  41 82 00 14 */	beq lbl_802BBE1C
/* 802BBE0C 002B7A6C  7F 64 DB 78 */	mr r4, r27
/* 802BBE10 002B7A70  38 7D 02 D4 */	addi r3, r29, 0x2d4
/* 802BBE14 002B7A74  4C C6 31 82 */	crclr 6
/* 802BBE18 002B7A78  4B D4 BC AD */	bl OSReport
lbl_802BBE1C:
/* 802BBE1C 002B7A7C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBE20 002B7A80  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBE24 002B7A84  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BBE28 002B7A88  2C 00 00 00 */	cmpwi r0, 0
/* 802BBE2C 002B7A8C  41 82 00 14 */	beq lbl_802BBE40
/* 802BBE30 002B7A90  7F 64 DB 78 */	mr r4, r27
/* 802BBE34 002B7A94  38 7D 03 20 */	addi r3, r29, 0x320
/* 802BBE38 002B7A98  4C C6 31 82 */	crclr 6
/* 802BBE3C 002B7A9C  4B D4 BC 89 */	bl OSReport
lbl_802BBE40:
/* 802BBE40 002B7AA0  7F 83 E3 78 */	mr r3, r28
/* 802BBE44 002B7AA4  4B FF DE F1 */	bl GKI_freebuf
lbl_802BBE48:
/* 802BBE48 002B7AA8  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBE4C 002B7AAC  4B F0 B3 29 */	bl _restgpr_27
/* 802BBE50 002B7AB0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BBE54 002B7AB4  7C 08 03 A6 */	mtlr r0
/* 802BBE58 002B7AB8  38 21 00 20 */	addi r1, r1, 0x20
/* 802BBE5C 002B7ABC  4E 80 00 20 */	blr

.global uusb_issue_intr_read
uusb_issue_intr_read:
/* 802BBE60 002B7AC0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BBE64 002B7AC4  7C 08 02 A6 */	mflr r0
/* 802BBE68 002B7AC8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BBE6C 002B7ACC  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBE70 002B7AD0  4B F0 B2 B9 */	bl _savegpr_27
/* 802BBE74 002B7AD4  3F A0 80 44 */	lis r29, lbl_8043F2E8@ha
/* 802BBE78 002B7AD8  3F C0 80 56 */	lis r30, lbl_80564DE0@ha
/* 802BBE7C 002B7ADC  3B BD F2 E8 */	addi r29, r29, lbl_8043F2E8@l
/* 802BBE80 002B7AE0  3B FE 4D E0 */	addi r31, r30, lbl_80564DE0@l
lbl_802BBE84:
/* 802BBE84 002B7AE4  88 7F 00 1C */	lbz r3, 0x1c(r31)
/* 802BBE88 002B7AE8  4B FF DD C5 */	bl GKI_getpoolbuf
/* 802BBE8C 002B7AEC  2C 03 00 00 */	cmpwi r3, 0
/* 802BBE90 002B7AF0  7C 7C 1B 78 */	mr r28, r3
/* 802BBE94 002B7AF4  40 82 00 20 */	bne lbl_802BBEB4
/* 802BBE98 002B7AF8  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BBE9C 002B7AFC  2C 00 00 00 */	cmpwi r0, 0
/* 802BBEA0 002B7B00  41 82 FF E4 */	beq lbl_802BBE84
/* 802BBEA4 002B7B04  38 7D 03 78 */	addi r3, r29, 0x378
/* 802BBEA8 002B7B08  4C C6 31 82 */	crclr 6
/* 802BBEAC 002B7B0C  4B D4 BC 19 */	bl OSReport
/* 802BBEB0 002B7B10  4B FF FF D4 */	b lbl_802BBE84
lbl_802BBEB4:
/* 802BBEB4 002B7B14  38 80 10 00 */	li r4, 0x1000
/* 802BBEB8 002B7B18  38 03 00 27 */	addi r0, r3, 0x27
/* 802BBEBC 002B7B1C  B0 83 00 00 */	sth r4, 0(r3)
/* 802BBEC0 002B7B20  38 80 00 00 */	li r4, 0
/* 802BBEC4 002B7B24  54 1B 00 34 */	rlwinm r27, r0, 0, 0, 0x1a
/* 802BBEC8 002B7B28  38 03 00 08 */	addi r0, r3, 8
/* 802BBECC 002B7B2C  B0 83 00 02 */	sth r4, 2(r3)
/* 802BBED0 002B7B30  7C 00 D8 50 */	subf r0, r0, r27
/* 802BBED4 002B7B34  B0 03 00 04 */	sth r0, 4(r3)
/* 802BBED8 002B7B38  4B FF DF CD */	bl GKI_get_buf_size
/* 802BBEDC 002B7B3C  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802BBEE0 002B7B40  A0 1C 00 04 */	lhz r0, 4(r28)
/* 802BBEE4 002B7B44  38 A3 FF D8 */	addi r5, r3, -40
/* 802BBEE8 002B7B48  3C E0 80 2C */	lis r7, uusb_ReadIntrDataCB@ha
/* 802BBEEC 002B7B4C  80 7E 4D E0 */	lwz r3, 0x4de0(r30)
/* 802BBEF0 002B7B50  7F 66 DB 78 */	mr r6, r27
/* 802BBEF4 002B7B54  88 9F 00 12 */	lbz r4, 0x12(r31)
/* 802BBEF8 002B7B58  7F 88 E3 78 */	mr r8, r28
/* 802BBEFC 002B7B5C  7C A0 28 50 */	subf r5, r0, r5
/* 802BBF00 002B7B60  38 E7 B9 28 */	addi r7, r7, uusb_ReadIntrDataCB@l
/* 802BBF04 002B7B64  4B FF 86 41 */	bl IUSB_ReadIntrMsgAsync
/* 802BBF08 002B7B68  2C 03 00 00 */	cmpwi r3, 0
/* 802BBF0C 002B7B6C  7C 7B 1B 78 */	mr r27, r3
/* 802BBF10 002B7B70  41 82 00 4C */	beq lbl_802BBF5C
/* 802BBF14 002B7B74  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BBF18 002B7B78  2C 00 00 00 */	cmpwi r0, 0
/* 802BBF1C 002B7B7C  41 82 00 14 */	beq lbl_802BBF30
/* 802BBF20 002B7B80  7F 64 DB 78 */	mr r4, r27
/* 802BBF24 002B7B84  38 7D 03 CC */	addi r3, r29, 0x3cc
/* 802BBF28 002B7B88  4C C6 31 82 */	crclr 6
/* 802BBF2C 002B7B8C  4B D4 BB 99 */	bl OSReport
lbl_802BBF30:
/* 802BBF30 002B7B90  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBF34 002B7B94  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBF38 002B7B98  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BBF3C 002B7B9C  2C 00 00 00 */	cmpwi r0, 0
/* 802BBF40 002B7BA0  41 82 00 14 */	beq lbl_802BBF54
/* 802BBF44 002B7BA4  7F 64 DB 78 */	mr r4, r27
/* 802BBF48 002B7BA8  38 7D 04 04 */	addi r3, r29, 0x404
/* 802BBF4C 002B7BAC  4C C6 31 82 */	crclr 6
/* 802BBF50 002B7BB0  4B D4 BB 75 */	bl OSReport
lbl_802BBF54:
/* 802BBF54 002B7BB4  7F 83 E3 78 */	mr r3, r28
/* 802BBF58 002B7BB8  4B FF DD DD */	bl GKI_freebuf
lbl_802BBF5C:
/* 802BBF5C 002B7BBC  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBF60 002B7BC0  38 00 00 01 */	li r0, 1
/* 802BBF64 002B7BC4  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBF68 002B7BC8  39 61 00 20 */	addi r11, r1, 0x20
/* 802BBF6C 002B7BCC  98 03 00 2B */	stb r0, 0x2b(r3)
/* 802BBF70 002B7BD0  4B F0 B2 05 */	bl _restgpr_27
/* 802BBF74 002B7BD4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BBF78 002B7BD8  7C 08 03 A6 */	mtlr r0
/* 802BBF7C 002B7BDC  38 21 00 20 */	addi r1, r1, 0x20
/* 802BBF80 002B7BE0  4E 80 00 20 */	blr

uusb_WriteCtrlDataCB:
/* 802BBF84 002B7BE4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BBF88 002B7BE8  7C 08 02 A6 */	mflr r0
/* 802BBF8C 002B7BEC  3C A0 80 56 */	lis r5, lbl_80564DE0@ha
/* 802BBF90 002B7BF0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BBF94 002B7BF4  38 A5 4D E0 */	addi r5, r5, lbl_80564DE0@l
/* 802BBF98 002B7BF8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BBF9C 002B7BFC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BBFA0 002B7C00  7C 7E 1B 78 */	mr r30, r3
/* 802BBFA4 002B7C04  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BBFA8 002B7C08  3F A0 80 44 */	lis r29, lbl_8043F2E8@ha
/* 802BBFAC 002B7C0C  3B BD F2 E8 */	addi r29, r29, lbl_8043F2E8@l
/* 802BBFB0 002B7C10  93 81 00 10 */	stw r28, 0x10(r1)
/* 802BBFB4 002B7C14  7C 9C 23 78 */	mr r28, r4
/* 802BBFB8 002B7C18  88 05 00 28 */	lbz r0, 0x28(r5)
/* 802BBFBC 002B7C1C  2C 00 00 00 */	cmpwi r0, 0
/* 802BBFC0 002B7C20  41 82 00 14 */	beq lbl_802BBFD4
/* 802BBFC4 002B7C24  7F C4 F3 78 */	mr r4, r30
/* 802BBFC8 002B7C28  38 7D 04 60 */	addi r3, r29, 0x460
/* 802BBFCC 002B7C2C  4C C6 31 82 */	crclr 6
/* 802BBFD0 002B7C30  4B D4 BA F5 */	bl OSReport
lbl_802BBFD4:
/* 802BBFD4 002B7C34  2C 1E 00 00 */	cmpwi r30, 0
/* 802BBFD8 002B7C38  40 80 00 28 */	bge lbl_802BC000
/* 802BBFDC 002B7C3C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BBFE0 002B7C40  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BBFE4 002B7C44  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BBFE8 002B7C48  2C 00 00 00 */	cmpwi r0, 0
/* 802BBFEC 002B7C4C  41 82 00 14 */	beq lbl_802BC000
/* 802BBFF0 002B7C50  7F C4 F3 78 */	mr r4, r30
/* 802BBFF4 002B7C54  38 7D 04 98 */	addi r3, r29, 0x498
/* 802BBFF8 002B7C58  4C C6 31 82 */	crclr 6
/* 802BBFFC 002B7C5C  4B D4 BA C9 */	bl OSReport
lbl_802BC000:
/* 802BC000 002B7C60  2C 1C 00 00 */	cmpwi r28, 0
/* 802BC004 002B7C64  41 82 00 28 */	beq lbl_802BC02C
/* 802BC008 002B7C68  7F 83 E3 78 */	mr r3, r28
/* 802BC00C 002B7C6C  4B FF DD 29 */	bl GKI_freebuf
/* 802BC010 002B7C70  4B FF F1 71 */	bl GKI_disable
/* 802BC014 002B7C74  3C 80 80 56 */	lis r4, lbl_80564DE0@ha
/* 802BC018 002B7C78  38 84 4D E0 */	addi r4, r4, lbl_80564DE0@l
/* 802BC01C 002B7C7C  88 64 00 48 */	lbz r3, 0x48(r4)
/* 802BC020 002B7C80  38 03 FF FF */	addi r0, r3, -1
/* 802BC024 002B7C84  98 04 00 48 */	stb r0, 0x48(r4)
/* 802BC028 002B7C88  4B FF F1 35 */	bl GKI_enable
lbl_802BC02C:
/* 802BC02C 002B7C8C  3F C0 80 56 */	lis r30, lbl_80564DE0@ha
/* 802BC030 002B7C90  3B FE 4D E0 */	addi r31, r30, lbl_80564DE0@l
/* 802BC034 002B7C94  88 1F 00 48 */	lbz r0, 0x48(r31)
/* 802BC038 002B7C98  28 00 00 05 */	cmplwi r0, 5
/* 802BC03C 002B7C9C  40 80 00 9C */	bge lbl_802BC0D8
/* 802BC040 002B7CA0  A0 1F 00 44 */	lhz r0, 0x44(r31)
/* 802BC044 002B7CA4  2C 00 00 00 */	cmpwi r0, 0
/* 802BC048 002B7CA8  41 82 00 90 */	beq lbl_802BC0D8
/* 802BC04C 002B7CAC  38 7F 00 3C */	addi r3, r31, 0x3c
/* 802BC050 002B7CB0  4B FF E3 81 */	bl GKI_dequeue
/* 802BC054 002B7CB4  90 61 00 08 */	stw r3, 8(r1)
/* 802BC058 002B7CB8  7C 7C 1B 78 */	mr r28, r3
/* 802BC05C 002B7CBC  3D 40 80 2C */	lis r10, uusb_WriteCtrlDataCB@ha
/* 802BC060 002B7CC0  38 80 00 20 */	li r4, 0x20
/* 802BC064 002B7CC4  A0 03 00 04 */	lhz r0, 4(r3)
/* 802BC068 002B7CC8  39 4A BF 84 */	addi r10, r10, uusb_WriteCtrlDataCB@l
/* 802BC06C 002B7CCC  80 7E 4D E0 */	lwz r3, 0x4de0(r30)
/* 802BC070 002B7CD0  38 A0 00 00 */	li r5, 0
/* 802BC074 002B7CD4  7C DC 02 14 */	add r6, r28, r0
/* 802BC078 002B7CD8  A1 1C 00 02 */	lhz r8, 2(r28)
/* 802BC07C 002B7CDC  39 26 00 08 */	addi r9, r6, 8
/* 802BC080 002B7CE0  38 E0 00 00 */	li r7, 0
/* 802BC084 002B7CE4  38 C0 00 00 */	li r6, 0
/* 802BC088 002B7CE8  4B FF 8B AD */	bl IUSB_WriteCtrlMsgAsync
/* 802BC08C 002B7CEC  2C 03 00 00 */	cmpwi r3, 0
/* 802BC090 002B7CF0  40 80 00 34 */	bge lbl_802BC0C4
/* 802BC094 002B7CF4  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BC098 002B7CF8  2C 00 00 00 */	cmpwi r0, 0
/* 802BC09C 002B7CFC  41 82 00 10 */	beq lbl_802BC0AC
/* 802BC0A0 002B7D00  38 7D 04 D0 */	addi r3, r29, 0x4d0
/* 802BC0A4 002B7D04  4C C6 31 82 */	crclr 6
/* 802BC0A8 002B7D08  4B D4 BA 1D */	bl OSReport
lbl_802BC0AC:
/* 802BC0AC 002B7D0C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC0B0 002B7D10  7F 84 E3 78 */	mr r4, r28
/* 802BC0B4 002B7D14  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC0B8 002B7D18  38 63 00 3C */	addi r3, r3, 0x3c
/* 802BC0BC 002B7D1C  4B FF E1 D5 */	bl GKI_enqueue_head
/* 802BC0C0 002B7D20  48 00 00 18 */	b lbl_802BC0D8
lbl_802BC0C4:
/* 802BC0C4 002B7D24  4B FF F0 BD */	bl GKI_disable
/* 802BC0C8 002B7D28  88 7F 00 48 */	lbz r3, 0x48(r31)
/* 802BC0CC 002B7D2C  38 03 00 01 */	addi r0, r3, 1
/* 802BC0D0 002B7D30  98 1F 00 48 */	stb r0, 0x48(r31)
/* 802BC0D4 002B7D34  4B FF F0 89 */	bl GKI_enable
lbl_802BC0D8:
/* 802BC0D8 002B7D38  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BC0DC 002B7D3C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BC0E0 002B7D40  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BC0E4 002B7D44  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BC0E8 002B7D48  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802BC0EC 002B7D4C  7C 08 03 A6 */	mtlr r0
/* 802BC0F0 002B7D50  38 21 00 20 */	addi r1, r1, 0x20
/* 802BC0F4 002B7D54  4E 80 00 20 */	blr

uusb_WriteBulkDataCB:
/* 802BC0F8 002B7D58  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BC0FC 002B7D5C  7C 08 02 A6 */	mflr r0
/* 802BC100 002B7D60  3C A0 80 56 */	lis r5, lbl_80564DE0@ha
/* 802BC104 002B7D64  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BC108 002B7D68  38 A5 4D E0 */	addi r5, r5, lbl_80564DE0@l
/* 802BC10C 002B7D6C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BC110 002B7D70  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BC114 002B7D74  7C 7E 1B 78 */	mr r30, r3
/* 802BC118 002B7D78  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BC11C 002B7D7C  3F A0 80 44 */	lis r29, lbl_8043F2E8@ha
/* 802BC120 002B7D80  3B BD F2 E8 */	addi r29, r29, lbl_8043F2E8@l
/* 802BC124 002B7D84  93 81 00 10 */	stw r28, 0x10(r1)
/* 802BC128 002B7D88  7C 9C 23 78 */	mr r28, r4
/* 802BC12C 002B7D8C  88 05 00 28 */	lbz r0, 0x28(r5)
/* 802BC130 002B7D90  2C 00 00 00 */	cmpwi r0, 0
/* 802BC134 002B7D94  41 82 00 14 */	beq lbl_802BC148
/* 802BC138 002B7D98  7F C4 F3 78 */	mr r4, r30
/* 802BC13C 002B7D9C  38 7D 05 18 */	addi r3, r29, 0x518
/* 802BC140 002B7DA0  4C C6 31 82 */	crclr 6
/* 802BC144 002B7DA4  4B D4 B9 81 */	bl OSReport
lbl_802BC148:
/* 802BC148 002B7DA8  2C 1E 00 00 */	cmpwi r30, 0
/* 802BC14C 002B7DAC  40 80 00 28 */	bge lbl_802BC174
/* 802BC150 002B7DB0  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC154 002B7DB4  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC158 002B7DB8  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC15C 002B7DBC  2C 00 00 00 */	cmpwi r0, 0
/* 802BC160 002B7DC0  41 82 00 14 */	beq lbl_802BC174
/* 802BC164 002B7DC4  7F C4 F3 78 */	mr r4, r30
/* 802BC168 002B7DC8  38 7D 05 50 */	addi r3, r29, 0x550
/* 802BC16C 002B7DCC  4C C6 31 82 */	crclr 6
/* 802BC170 002B7DD0  4B D4 B9 55 */	bl OSReport
lbl_802BC174:
/* 802BC174 002B7DD4  2C 1C 00 00 */	cmpwi r28, 0
/* 802BC178 002B7DD8  41 82 00 28 */	beq lbl_802BC1A0
/* 802BC17C 002B7DDC  7F 83 E3 78 */	mr r3, r28
/* 802BC180 002B7DE0  4B FF DB B5 */	bl GKI_freebuf
/* 802BC184 002B7DE4  4B FF EF FD */	bl GKI_disable
/* 802BC188 002B7DE8  3C 80 80 56 */	lis r4, lbl_80564DE0@ha
/* 802BC18C 002B7DEC  38 84 4D E0 */	addi r4, r4, lbl_80564DE0@l
/* 802BC190 002B7DF0  88 64 00 38 */	lbz r3, 0x38(r4)
/* 802BC194 002B7DF4  38 03 FF FF */	addi r0, r3, -1
/* 802BC198 002B7DF8  98 04 00 38 */	stb r0, 0x38(r4)
/* 802BC19C 002B7DFC  4B FF EF C1 */	bl GKI_enable
lbl_802BC1A0:
/* 802BC1A0 002B7E00  3F C0 80 56 */	lis r30, lbl_80564DE0@ha
/* 802BC1A4 002B7E04  3B FE 4D E0 */	addi r31, r30, lbl_80564DE0@l
/* 802BC1A8 002B7E08  88 1F 00 38 */	lbz r0, 0x38(r31)
/* 802BC1AC 002B7E0C  28 00 00 05 */	cmplwi r0, 5
/* 802BC1B0 002B7E10  40 80 00 90 */	bge lbl_802BC240
/* 802BC1B4 002B7E14  A0 1F 00 34 */	lhz r0, 0x34(r31)
/* 802BC1B8 002B7E18  2C 00 00 00 */	cmpwi r0, 0
/* 802BC1BC 002B7E1C  41 82 00 84 */	beq lbl_802BC240
/* 802BC1C0 002B7E20  38 7F 00 2C */	addi r3, r31, 0x2c
/* 802BC1C4 002B7E24  4B FF E2 0D */	bl GKI_dequeue
/* 802BC1C8 002B7E28  A0 03 00 04 */	lhz r0, 4(r3)
/* 802BC1CC 002B7E2C  7C 7C 1B 78 */	mr r28, r3
/* 802BC1D0 002B7E30  3C E0 80 2C */	lis r7, uusb_WriteBulkDataCB@ha
/* 802BC1D4 002B7E34  80 7E 4D E0 */	lwz r3, 0x4de0(r30)
/* 802BC1D8 002B7E38  7C DC 02 14 */	add r6, r28, r0
/* 802BC1DC 002B7E3C  88 9F 00 10 */	lbz r4, 0x10(r31)
/* 802BC1E0 002B7E40  A0 BC 00 02 */	lhz r5, 2(r28)
/* 802BC1E4 002B7E44  7F 88 E3 78 */	mr r8, r28
/* 802BC1E8 002B7E48  38 E7 C0 F8 */	addi r7, r7, uusb_WriteBulkDataCB@l
/* 802BC1EC 002B7E4C  38 C6 00 08 */	addi r6, r6, 8
/* 802BC1F0 002B7E50  4B FF 84 3D */	bl IUSB_WriteBlkMsgAsync
/* 802BC1F4 002B7E54  2C 03 00 00 */	cmpwi r3, 0
/* 802BC1F8 002B7E58  40 80 00 34 */	bge lbl_802BC22C
/* 802BC1FC 002B7E5C  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BC200 002B7E60  2C 00 00 00 */	cmpwi r0, 0
/* 802BC204 002B7E64  41 82 00 10 */	beq lbl_802BC214
/* 802BC208 002B7E68  38 7D 05 88 */	addi r3, r29, 0x588
/* 802BC20C 002B7E6C  4C C6 31 82 */	crclr 6
/* 802BC210 002B7E70  4B D4 B8 B5 */	bl OSReport
lbl_802BC214:
/* 802BC214 002B7E74  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC218 002B7E78  7F 84 E3 78 */	mr r4, r28
/* 802BC21C 002B7E7C  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC220 002B7E80  38 63 00 2C */	addi r3, r3, 0x2c
/* 802BC224 002B7E84  4B FF E0 6D */	bl GKI_enqueue_head
/* 802BC228 002B7E88  48 00 00 18 */	b lbl_802BC240
lbl_802BC22C:
/* 802BC22C 002B7E8C  4B FF EF 55 */	bl GKI_disable
/* 802BC230 002B7E90  88 7F 00 38 */	lbz r3, 0x38(r31)
/* 802BC234 002B7E94  38 03 00 01 */	addi r0, r3, 1
/* 802BC238 002B7E98  98 1F 00 38 */	stb r0, 0x38(r31)
/* 802BC23C 002B7E9C  4B FF EF 21 */	bl GKI_enable
lbl_802BC240:
/* 802BC240 002B7EA0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BC244 002B7EA4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BC248 002B7EA8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BC24C 002B7EAC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BC250 002B7EB0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802BC254 002B7EB4  7C 08 03 A6 */	mtlr r0
/* 802BC258 002B7EB8  38 21 00 20 */	addi r1, r1, 0x20
/* 802BC25C 002B7EBC  4E 80 00 20 */	blr

.global uusb_get_devId
uusb_get_devId:
/* 802BC260 002B7EC0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802BC264 002B7EC4  7C 08 02 A6 */	mflr r0
/* 802BC268 002B7EC8  7C 85 23 78 */	mr r5, r4
/* 802BC26C 002B7ECC  90 01 00 14 */	stw r0, 0x14(r1)
/* 802BC270 002B7ED0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802BC274 002B7ED4  80 0D AE D0 */	lwz r0, lbl_80640190-_SDA_BASE_(r13)
/* 802BC278 002B7ED8  28 00 00 01 */	cmplwi r0, 1
/* 802BC27C 002B7EDC  40 82 00 58 */	bne lbl_802BC2D4
/* 802BC280 002B7EE0  80 0D AE CC */	lwz r0, lbl_8064018C-_SDA_BASE_(r13)
/* 802BC284 002B7EE4  2C 00 00 00 */	cmpwi r0, 0
/* 802BC288 002B7EE8  40 82 00 24 */	bne lbl_802BC2AC
/* 802BC28C 002B7EEC  3C C0 80 56 */	lis r6, lbl_80564DE0@ha
/* 802BC290 002B7EF0  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 802BC294 002B7EF4  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802BC298 002B7EF8  38 6D 89 DC */	addi r3, r13, lbl_8063DC9C-_SDA_BASE_
/* 802BC29C 002B7EFC  38 C6 4D E0 */	addi r6, r6, lbl_80564DE0@l
/* 802BC2A0 002B7F00  4B FF 7D 31 */	bl IUSB_OpenDeviceIds
/* 802BC2A4 002B7F04  7C 7F 1B 78 */	mr r31, r3
/* 802BC2A8 002B7F08  48 00 00 48 */	b lbl_802BC2F0
lbl_802BC2AC:
/* 802BC2AC 002B7F0C  28 00 00 01 */	cmplwi r0, 1
/* 802BC2B0 002B7F10  40 82 00 40 */	bne lbl_802BC2F0
/* 802BC2B4 002B7F14  3C C0 80 56 */	lis r6, lbl_80564DE0@ha
/* 802BC2B8 002B7F18  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 802BC2BC 002B7F1C  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802BC2C0 002B7F20  38 6D 89 E0 */	addi r3, r13, lbl_8063DCA0-_SDA_BASE_
/* 802BC2C4 002B7F24  38 C6 4D E0 */	addi r6, r6, lbl_80564DE0@l
/* 802BC2C8 002B7F28  4B FF 7D 09 */	bl IUSB_OpenDeviceIds
/* 802BC2CC 002B7F2C  7C 7F 1B 78 */	mr r31, r3
/* 802BC2D0 002B7F30  48 00 00 20 */	b lbl_802BC2F0
lbl_802BC2D4:
/* 802BC2D4 002B7F34  3C C0 80 56 */	lis r6, lbl_80564DE0@ha
/* 802BC2D8 002B7F38  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 802BC2DC 002B7F3C  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802BC2E0 002B7F40  38 6D 89 E0 */	addi r3, r13, lbl_8063DCA0-_SDA_BASE_
/* 802BC2E4 002B7F44  38 C6 4D E0 */	addi r6, r6, lbl_80564DE0@l
/* 802BC2E8 002B7F48  4B FF 7C E9 */	bl IUSB_OpenDeviceIds
/* 802BC2EC 002B7F4C  7C 7F 1B 78 */	mr r31, r3
lbl_802BC2F0:
/* 802BC2F0 002B7F50  2C 1F 00 00 */	cmpwi r31, 0
/* 802BC2F4 002B7F54  40 80 00 5C */	bge lbl_802BC350
/* 802BC2F8 002B7F58  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC2FC 002B7F5C  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC300 002B7F60  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC304 002B7F64  2C 00 00 00 */	cmpwi r0, 0
/* 802BC308 002B7F68  41 82 00 20 */	beq lbl_802BC328
/* 802BC30C 002B7F6C  3C 60 80 44 */	lis r3, lbl_8043F8B8@ha
/* 802BC310 002B7F70  7F E4 FB 78 */	mr r4, r31
/* 802BC314 002B7F74  38 63 F8 B8 */	addi r3, r3, lbl_8043F8B8@l
/* 802BC318 002B7F78  38 A0 05 7E */	li r5, 0x57e
/* 802BC31C 002B7F7C  38 C0 03 05 */	li r6, 0x305
/* 802BC320 002B7F80  4C C6 31 82 */	crclr 6
/* 802BC324 002B7F84  4B D4 B7 A1 */	bl OSReport
lbl_802BC328:
/* 802BC328 002B7F88  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC32C 002B7F8C  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC330 002B7F90  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC334 002B7F94  2C 00 00 00 */	cmpwi r0, 0
/* 802BC338 002B7F98  41 82 00 1C */	beq lbl_802BC354
/* 802BC33C 002B7F9C  3C 60 80 44 */	lis r3, lbl_8043F918@ha
/* 802BC340 002B7FA0  38 63 F9 18 */	addi r3, r3, lbl_8043F918@l
/* 802BC344 002B7FA4  4C C6 31 82 */	crclr 6
/* 802BC348 002B7FA8  4B D4 B7 7D */	bl OSReport
/* 802BC34C 002B7FAC  48 00 00 08 */	b lbl_802BC354
lbl_802BC350:
/* 802BC350 002B7FB0  93 ED 89 CC */	stw r31, lbl_8063DC8C-_SDA_BASE_(r13)
lbl_802BC354:
/* 802BC354 002B7FB4  7F E3 FB 78 */	mr r3, r31
/* 802BC358 002B7FB8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802BC35C 002B7FBC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802BC360 002B7FC0  7C 08 03 A6 */	mtlr r0
/* 802BC364 002B7FC4  38 21 00 10 */	addi r1, r1, 0x10
/* 802BC368 002B7FC8  4E 80 00 20 */	blr

.global UUSB_Register
UUSB_Register:
/* 802BC36C 002B7FCC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BC370 002B7FD0  7C 08 02 A6 */	mflr r0
/* 802BC374 002B7FD4  38 80 00 00 */	li r4, 0
/* 802BC378 002B7FD8  38 A0 00 4C */	li r5, 0x4c
/* 802BC37C 002B7FDC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BC380 002B7FE0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BC384 002B7FE4  3F E0 80 44 */	lis r31, lbl_8043F2E8@ha
/* 802BC388 002B7FE8  3B FF F2 E8 */	addi r31, r31, lbl_8043F2E8@l
/* 802BC38C 002B7FEC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BC390 002B7FF0  7C 7E 1B 78 */	mr r30, r3
/* 802BC394 002B7FF4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BC398 002B7FF8  3F A0 80 56 */	lis r29, lbl_80564DE0@ha
/* 802BC39C 002B7FFC  38 7D 4D E0 */	addi r3, r29, lbl_80564DE0@l
/* 802BC3A0 002B8000  4B D4 7D 65 */	bl memset
/* 802BC3A4 002B8004  4B FF ED DD */	bl GKI_disable
/* 802BC3A8 002B8008  3B BD 4D E0 */	addi r29, r29, 0x4de0
/* 802BC3AC 002B800C  38 00 00 05 */	li r0, 5
/* 802BC3B0 002B8010  98 1D 00 29 */	stb r0, 0x29(r29)
/* 802BC3B4 002B8014  4B FF ED A9 */	bl GKI_enable
/* 802BC3B8 002B8018  88 0D AE C9 */	lbz r0, lbl_80640189-_SDA_BASE_(r13)
/* 802BC3BC 002B801C  2C 00 00 00 */	cmpwi r0, 0
/* 802BC3C0 002B8020  40 82 00 14 */	bne lbl_802BC3D4
/* 802BC3C4 002B8024  38 60 00 00 */	li r3, 0
/* 802BC3C8 002B8028  38 00 00 01 */	li r0, 1
/* 802BC3CC 002B802C  98 7D 00 28 */	stb r3, 0x28(r29)
/* 802BC3D0 002B8030  98 0D AE C9 */	stb r0, lbl_80640189-_SDA_BASE_(r13)
lbl_802BC3D4:
/* 802BC3D4 002B8034  4B FE 69 6D */	bl IPCCltInit
/* 802BC3D8 002B8038  2C 03 00 00 */	cmpwi r3, 0
/* 802BC3DC 002B803C  41 82 00 28 */	beq lbl_802BC404
/* 802BC3E0 002B8040  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC3E4 002B8044  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC3E8 002B8048  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC3EC 002B804C  2C 00 00 00 */	cmpwi r0, 0
/* 802BC3F0 002B8050  41 82 01 CC */	beq lbl_802BC5BC
/* 802BC3F4 002B8054  38 7F 06 70 */	addi r3, r31, 0x670
/* 802BC3F8 002B8058  4C C6 31 82 */	crclr 6
/* 802BC3FC 002B805C  4B D4 B6 C9 */	bl OSReport
/* 802BC400 002B8060  48 00 01 BC */	b lbl_802BC5BC
lbl_802BC404:
/* 802BC404 002B8064  4B FF 79 71 */	bl IUSB_OpenLib
/* 802BC408 002B8068  2C 03 00 00 */	cmpwi r3, 0
/* 802BC40C 002B806C  41 82 00 28 */	beq lbl_802BC434
/* 802BC410 002B8070  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC414 002B8074  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC418 002B8078  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC41C 002B807C  2C 00 00 00 */	cmpwi r0, 0
/* 802BC420 002B8080  41 82 01 9C */	beq lbl_802BC5BC
/* 802BC424 002B8084  38 7F 06 A8 */	addi r3, r31, 0x6a8
/* 802BC428 002B8088  4C C6 31 82 */	crclr 6
/* 802BC42C 002B808C  4B D4 B6 99 */	bl OSReport
/* 802BC430 002B8090  48 00 01 8C */	b lbl_802BC5BC
lbl_802BC434:
/* 802BC434 002B8094  88 0D AE D4 */	lbz r0, lbl_80640194-_SDA_BASE_(r13)
/* 802BC438 002B8098  3C 80 80 56 */	lis r4, lbl_80564DE0@ha
/* 802BC43C 002B809C  38 84 4D E0 */	addi r4, r4, lbl_80564DE0@l
/* 802BC440 002B80A0  28 00 00 01 */	cmplwi r0, 1
/* 802BC444 002B80A4  93 C4 00 24 */	stw r30, 0x24(r4)
/* 802BC448 002B80A8  40 82 00 18 */	bne lbl_802BC460
/* 802BC44C 002B80AC  80 6D AE D8 */	lwz r3, lbl_80640198-_SDA_BASE_(r13)
/* 802BC450 002B80B0  80 0D AE DC */	lwz r0, lbl_8064019C-_SDA_BASE_(r13)
/* 802BC454 002B80B4  90 64 00 14 */	stw r3, 0x14(r4)
/* 802BC458 002B80B8  90 04 00 18 */	stw r0, 0x18(r4)
/* 802BC45C 002B80BC  48 00 00 14 */	b lbl_802BC470
lbl_802BC460:
/* 802BC460 002B80C0  38 60 05 7E */	li r3, 0x57e
/* 802BC464 002B80C4  38 00 03 05 */	li r0, 0x305
/* 802BC468 002B80C8  90 64 00 14 */	stw r3, 0x14(r4)
/* 802BC46C 002B80CC  90 04 00 18 */	stw r0, 0x18(r4)
lbl_802BC470:
/* 802BC470 002B80D0  3F C0 80 56 */	lis r30, lbl_80564DE0@ha
/* 802BC474 002B80D4  38 00 00 00 */	li r0, 0
/* 802BC478 002B80D8  3B BE 4D E0 */	addi r29, r30, lbl_80564DE0@l
/* 802BC47C 002B80DC  98 1D 00 10 */	stb r0, 0x10(r29)
/* 802BC480 002B80E0  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 802BC484 002B80E4  98 1D 00 11 */	stb r0, 0x11(r29)
/* 802BC488 002B80E8  80 9D 00 18 */	lwz r4, 0x18(r29)
/* 802BC48C 002B80EC  98 1D 00 12 */	stb r0, 0x12(r29)
/* 802BC490 002B80F0  98 1D 00 13 */	stb r0, 0x13(r29)
/* 802BC494 002B80F4  4B FF FD CD */	bl uusb_get_devId
/* 802BC498 002B80F8  2C 03 00 00 */	cmpwi r3, 0
/* 802BC49C 002B80FC  40 80 00 20 */	bge lbl_802BC4BC
/* 802BC4A0 002B8100  88 1D 00 28 */	lbz r0, 0x28(r29)
/* 802BC4A4 002B8104  2C 00 00 00 */	cmpwi r0, 0
/* 802BC4A8 002B8108  41 82 01 14 */	beq lbl_802BC5BC
/* 802BC4AC 002B810C  38 7F 06 E0 */	addi r3, r31, 0x6e0
/* 802BC4B0 002B8110  4C C6 31 82 */	crclr 6
/* 802BC4B4 002B8114  4B D4 B6 11 */	bl OSReport
/* 802BC4B8 002B8118  48 00 01 04 */	b lbl_802BC5BC
lbl_802BC4BC:
/* 802BC4BC 002B811C  88 1D 00 28 */	lbz r0, 0x28(r29)
/* 802BC4C0 002B8120  2C 00 00 00 */	cmpwi r0, 0
/* 802BC4C4 002B8124  41 82 00 14 */	beq lbl_802BC4D8
/* 802BC4C8 002B8128  80 9E 4D E0 */	lwz r4, 0x4de0(r30)
/* 802BC4CC 002B812C  38 7F 07 20 */	addi r3, r31, 0x720
/* 802BC4D0 002B8130  4C C6 31 82 */	crclr 6
/* 802BC4D4 002B8134  4B D4 B5 F1 */	bl OSReport
lbl_802BC4D8:
/* 802BC4D8 002B8138  3F A0 80 56 */	lis r29, lbl_80564DE0@ha
/* 802BC4DC 002B813C  38 60 00 02 */	li r3, 2
/* 802BC4E0 002B8140  3B BD 4D E0 */	addi r29, r29, lbl_80564DE0@l
/* 802BC4E4 002B8144  38 80 00 82 */	li r4, 0x82
/* 802BC4E8 002B8148  38 00 00 81 */	li r0, 0x81
/* 802BC4EC 002B814C  3B C0 00 00 */	li r30, 0
/* 802BC4F0 002B8150  98 7D 00 10 */	stb r3, 0x10(r29)
/* 802BC4F4 002B8154  38 7D 00 2C */	addi r3, r29, 0x2c
/* 802BC4F8 002B8158  98 9D 00 11 */	stb r4, 0x11(r29)
/* 802BC4FC 002B815C  98 1D 00 12 */	stb r0, 0x12(r29)
/* 802BC500 002B8160  9B DD 00 13 */	stb r30, 0x13(r29)
/* 802BC504 002B8164  4B FF D5 95 */	bl GKI_init_q
/* 802BC508 002B8168  9B DD 00 38 */	stb r30, 0x38(r29)
/* 802BC50C 002B816C  38 7D 00 3C */	addi r3, r29, 0x3c
/* 802BC510 002B8170  4B FF D5 89 */	bl GKI_init_q
/* 802BC514 002B8174  9B DD 00 48 */	stb r30, 0x48(r29)
/* 802BC518 002B8178  38 60 02 94 */	li r3, 0x294
/* 802BC51C 002B817C  38 80 00 2D */	li r4, 0x2d
/* 802BC520 002B8180  38 A0 00 01 */	li r5, 1
/* 802BC524 002B8184  38 C0 00 00 */	li r6, 0
/* 802BC528 002B8188  4B FF E0 41 */	bl GKI_create_pool
/* 802BC52C 002B818C  98 7D 00 1C */	stb r3, 0x1c(r29)
/* 802BC530 002B8190  38 60 07 08 */	li r3, 0x708
/* 802BC534 002B8194  38 80 00 1E */	li r4, 0x1e
/* 802BC538 002B8198  38 A0 00 01 */	li r5, 1
/* 802BC53C 002B819C  38 C0 00 00 */	li r6, 0
/* 802BC540 002B81A0  4B FF E0 29 */	bl GKI_create_pool
/* 802BC544 002B81A4  88 9D 00 1C */	lbz r4, 0x1c(r29)
/* 802BC548 002B81A8  98 7D 00 1D */	stb r3, 0x1d(r29)
/* 802BC54C 002B81AC  28 04 00 FF */	cmplwi r4, 0xff
/* 802BC550 002B81B0  41 82 00 10 */	beq lbl_802BC560
/* 802BC554 002B81B4  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 802BC558 002B81B8  28 05 00 FF */	cmplwi r5, 0xff
/* 802BC55C 002B81BC  40 82 00 28 */	bne lbl_802BC584
lbl_802BC560:
/* 802BC560 002B81C0  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC564 002B81C4  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC568 002B81C8  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC56C 002B81CC  2C 00 00 00 */	cmpwi r0, 0
/* 802BC570 002B81D0  41 82 00 4C */	beq lbl_802BC5BC
/* 802BC574 002B81D4  38 7F 07 68 */	addi r3, r31, 0x768
/* 802BC578 002B81D8  4C C6 31 82 */	crclr 6
/* 802BC57C 002B81DC  4B D4 B5 49 */	bl OSReport
/* 802BC580 002B81E0  48 00 00 3C */	b lbl_802BC5BC
lbl_802BC584:
/* 802BC584 002B81E4  88 1D 00 28 */	lbz r0, 0x28(r29)
/* 802BC588 002B81E8  2C 00 00 00 */	cmpwi r0, 0
/* 802BC58C 002B81EC  41 82 00 10 */	beq lbl_802BC59C
/* 802BC590 002B81F0  38 7F 07 A4 */	addi r3, r31, 0x7a4
/* 802BC594 002B81F4  4C C6 31 82 */	crclr 6
/* 802BC598 002B81F8  4B D4 B5 2D */	bl OSReport
lbl_802BC59C:
/* 802BC59C 002B81FC  4B FF EB E5 */	bl GKI_disable
/* 802BC5A0 002B8200  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC5A4 002B8204  38 00 00 04 */	li r0, 4
/* 802BC5A8 002B8208  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC5AC 002B820C  98 03 00 29 */	stb r0, 0x29(r3)
/* 802BC5B0 002B8210  4B FF EB AD */	bl GKI_enable
/* 802BC5B4 002B8214  38 00 00 01 */	li r0, 1
/* 802BC5B8 002B8218  90 0D 89 C8 */	stw r0, lbl_8063DC88-_SDA_BASE_(r13)
lbl_802BC5BC:
/* 802BC5BC 002B821C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BC5C0 002B8220  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BC5C4 002B8224  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BC5C8 002B8228  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BC5CC 002B822C  7C 08 03 A6 */	mtlr r0
/* 802BC5D0 002B8230  38 21 00 20 */	addi r1, r1, 0x20
/* 802BC5D4 002B8234  4E 80 00 20 */	blr

.global UUSB_Open
UUSB_Open:
/* 802BC5D8 002B8238  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802BC5DC 002B823C  7C 08 02 A6 */	mflr r0
/* 802BC5E0 002B8240  90 01 00 24 */	stw r0, 0x24(r1)
/* 802BC5E4 002B8244  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802BC5E8 002B8248  3F E0 80 56 */	lis r31, lbl_80564DE0@ha
/* 802BC5EC 002B824C  3B FF 4D E0 */	addi r31, r31, lbl_80564DE0@l
/* 802BC5F0 002B8250  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802BC5F4 002B8254  3F C0 80 44 */	lis r30, lbl_8043F2E8@ha
/* 802BC5F8 002B8258  3B DE F2 E8 */	addi r30, r30, lbl_8043F2E8@l
/* 802BC5FC 002B825C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802BC600 002B8260  7C 9D 23 78 */	mr r29, r4
/* 802BC604 002B8264  88 1F 00 29 */	lbz r0, 0x29(r31)
/* 802BC608 002B8268  28 00 00 04 */	cmplwi r0, 4
/* 802BC60C 002B826C  41 82 00 20 */	beq lbl_802BC62C
/* 802BC610 002B8270  88 1F 00 28 */	lbz r0, 0x28(r31)
/* 802BC614 002B8274  2C 00 00 00 */	cmpwi r0, 0
/* 802BC618 002B8278  41 82 00 BC */	beq lbl_802BC6D4
/* 802BC61C 002B827C  38 7E 07 F0 */	addi r3, r30, 0x7f0
/* 802BC620 002B8280  4C C6 31 82 */	crclr 6
/* 802BC624 002B8284  4B D4 B4 A1 */	bl OSReport
/* 802BC628 002B8288  48 00 00 AC */	b lbl_802BC6D4
lbl_802BC62C:
/* 802BC62C 002B828C  88 1F 00 1C */	lbz r0, 0x1c(r31)
/* 802BC630 002B8290  28 00 00 FF */	cmplwi r0, 0xff
/* 802BC634 002B8294  41 82 00 10 */	beq lbl_802BC644
/* 802BC638 002B8298  88 1F 00 1D */	lbz r0, 0x1d(r31)
/* 802BC63C 002B829C  28 00 00 FF */	cmplwi r0, 0xff
/* 802BC640 002B82A0  40 82 00 70 */	bne lbl_802BC6B0
lbl_802BC644:
/* 802BC644 002B82A4  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC648 002B82A8  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC64C 002B82AC  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC650 002B82B0  2C 00 00 00 */	cmpwi r0, 0
/* 802BC654 002B82B4  41 82 00 10 */	beq lbl_802BC664
/* 802BC658 002B82B8  38 7E 08 38 */	addi r3, r30, 0x838
/* 802BC65C 002B82BC  4C C6 31 82 */	crclr 6
/* 802BC660 002B82C0  4B D4 B4 65 */	bl OSReport
lbl_802BC664:
/* 802BC664 002B82C4  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC668 002B82C8  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC66C 002B82CC  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC670 002B82D0  2C 00 00 00 */	cmpwi r0, 0
/* 802BC674 002B82D4  41 82 00 14 */	beq lbl_802BC688
/* 802BC678 002B82D8  88 83 00 1C */	lbz r4, 0x1c(r3)
/* 802BC67C 002B82DC  38 7E 08 70 */	addi r3, r30, 0x870
/* 802BC680 002B82E0  4C C6 31 82 */	crclr 6
/* 802BC684 002B82E4  4B D4 B4 41 */	bl OSReport
lbl_802BC688:
/* 802BC688 002B82E8  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC68C 002B82EC  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC690 002B82F0  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC694 002B82F4  2C 00 00 00 */	cmpwi r0, 0
/* 802BC698 002B82F8  41 82 00 3C */	beq lbl_802BC6D4
/* 802BC69C 002B82FC  88 83 00 1D */	lbz r4, 0x1d(r3)
/* 802BC6A0 002B8300  38 7E 08 A0 */	addi r3, r30, 0x8a0
/* 802BC6A4 002B8304  4C C6 31 82 */	crclr 6
/* 802BC6A8 002B8308  4B D4 B4 1D */	bl OSReport
/* 802BC6AC 002B830C  48 00 00 28 */	b lbl_802BC6D4
lbl_802BC6B0:
/* 802BC6B0 002B8310  4B FF EA D1 */	bl GKI_disable
/* 802BC6B4 002B8314  38 00 00 02 */	li r0, 2
/* 802BC6B8 002B8318  93 BF 00 20 */	stw r29, 0x20(r31)
/* 802BC6BC 002B831C  98 1F 00 29 */	stb r0, 0x29(r31)
/* 802BC6C0 002B8320  4B FF EA 9D */	bl GKI_enable
/* 802BC6C4 002B8324  4B FF F7 9D */	bl uusb_issue_intr_read
/* 802BC6C8 002B8328  4B FF F6 85 */	bl uusb_issue_bulk_read
/* 802BC6CC 002B832C  38 00 00 00 */	li r0, 0
/* 802BC6D0 002B8330  90 0D 89 C8 */	stw r0, lbl_8063DC88-_SDA_BASE_(r13)
lbl_802BC6D4:
/* 802BC6D4 002B8334  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802BC6D8 002B8338  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802BC6DC 002B833C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802BC6E0 002B8340  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802BC6E4 002B8344  7C 08 03 A6 */	mtlr r0
/* 802BC6E8 002B8348  38 21 00 20 */	addi r1, r1, 0x20
/* 802BC6EC 002B834C  4E 80 00 20 */	blr

.global UUSB_Read
UUSB_Read:
/* 802BC6F0 002B8350  38 60 00 00 */	li r3, 0
/* 802BC6F4 002B8354  4E 80 00 20 */	blr

.global UUSB_Write
UUSB_Write:
/* 802BC6F8 002B8358  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802BC6FC 002B835C  7C 08 02 A6 */	mflr r0
/* 802BC700 002B8360  90 01 00 34 */	stw r0, 0x34(r1)
/* 802BC704 002B8364  39 61 00 30 */	addi r11, r1, 0x30
/* 802BC708 002B8368  4B F0 AA 19 */	bl _savegpr_25
/* 802BC70C 002B836C  3C E0 80 56 */	lis r7, lbl_80564DE0@ha
/* 802BC710 002B8370  3F E0 80 44 */	lis r31, lbl_8043F2E8@ha
/* 802BC714 002B8374  38 E7 4D E0 */	addi r7, r7, lbl_80564DE0@l
/* 802BC718 002B8378  7C 7E 1B 78 */	mr r30, r3
/* 802BC71C 002B837C  88 07 00 29 */	lbz r0, 0x29(r7)
/* 802BC720 002B8380  7C 9B 23 78 */	mr r27, r4
/* 802BC724 002B8384  7C BC 2B 78 */	mr r28, r5
/* 802BC728 002B8388  3B FF F2 E8 */	addi r31, r31, lbl_8043F2E8@l
/* 802BC72C 002B838C  28 00 00 02 */	cmplwi r0, 2
/* 802BC730 002B8390  3B A0 00 00 */	li r29, 0
/* 802BC734 002B8394  41 82 00 24 */	beq lbl_802BC758
/* 802BC738 002B8398  88 07 00 28 */	lbz r0, 0x28(r7)
/* 802BC73C 002B839C  2C 00 00 00 */	cmpwi r0, 0
/* 802BC740 002B83A0  41 82 00 10 */	beq lbl_802BC750
/* 802BC744 002B83A4  38 7F 08 D0 */	addi r3, r31, 0x8d0
/* 802BC748 002B83A8  4C C6 31 82 */	crclr 6
/* 802BC74C 002B83AC  4B D4 B3 79 */	bl OSReport
lbl_802BC750:
/* 802BC750 002B83B0  38 60 00 00 */	li r3, 0
/* 802BC754 002B83B4  48 00 05 14 */	b lbl_802BCC68
lbl_802BC758:
/* 802BC758 002B83B8  88 07 00 28 */	lbz r0, 0x28(r7)
/* 802BC75C 002B83BC  2C 00 00 00 */	cmpwi r0, 0
/* 802BC760 002B83C0  41 82 00 20 */	beq lbl_802BC780
/* 802BC764 002B83C4  7C C3 33 78 */	mr r3, r6
/* 802BC768 002B83C8  4B FF D7 3D */	bl GKI_get_buf_size
/* 802BC76C 002B83CC  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 802BC770 002B83D0  38 7F 09 08 */	addi r3, r31, 0x908
/* 802BC774 002B83D4  38 84 FF F8 */	addi r4, r4, -8
/* 802BC778 002B83D8  4C C6 31 82 */	crclr 6
/* 802BC77C 002B83DC  4B D4 B3 49 */	bl OSReport
lbl_802BC780:
/* 802BC780 002B83E0  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC784 002B83E4  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC788 002B83E8  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC78C 002B83EC  2C 00 00 00 */	cmpwi r0, 0
/* 802BC790 002B83F0  41 82 00 18 */	beq lbl_802BC7A8
/* 802BC794 002B83F4  7F C4 F3 78 */	mr r4, r30
/* 802BC798 002B83F8  7F 85 E3 78 */	mr r5, r28
/* 802BC79C 002B83FC  38 7F 09 28 */	addi r3, r31, 0x928
/* 802BC7A0 002B8400  4C C6 31 82 */	crclr 6
/* 802BC7A4 002B8404  4B D4 B3 21 */	bl OSReport
lbl_802BC7A8:
/* 802BC7A8 002B8408  3F 40 80 56 */	lis r26, lbl_80564DE0@ha
/* 802BC7AC 002B840C  3B 20 00 00 */	li r25, 0
/* 802BC7B0 002B8410  3B 5A 4D E0 */	addi r26, r26, lbl_80564DE0@l
/* 802BC7B4 002B8414  48 00 00 28 */	b lbl_802BC7DC
lbl_802BC7B8:
/* 802BC7B8 002B8418  88 1A 00 28 */	lbz r0, 0x28(r26)
/* 802BC7BC 002B841C  2C 00 00 00 */	cmpwi r0, 0
/* 802BC7C0 002B8420  41 82 00 18 */	beq lbl_802BC7D8
/* 802BC7C4 002B8424  57 20 04 3E */	clrlwi r0, r25, 0x10
/* 802BC7C8 002B8428  38 6D 89 D0 */	addi r3, r13, lbl_8063DC90-_SDA_BASE_
/* 802BC7CC 002B842C  7C 9B 00 AE */	lbzx r4, r27, r0
/* 802BC7D0 002B8430  4C C6 31 82 */	crclr 6
/* 802BC7D4 002B8434  4B D4 B2 F1 */	bl OSReport
lbl_802BC7D8:
/* 802BC7D8 002B8438  3B 39 00 01 */	addi r25, r25, 1
lbl_802BC7DC:
/* 802BC7DC 002B843C  57 20 04 3E */	clrlwi r0, r25, 0x10
/* 802BC7E0 002B8440  7C 00 E0 40 */	cmplw r0, r28
/* 802BC7E4 002B8444  41 80 FF D4 */	blt lbl_802BC7B8
/* 802BC7E8 002B8448  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC7EC 002B844C  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC7F0 002B8450  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC7F4 002B8454  2C 00 00 00 */	cmpwi r0, 0
/* 802BC7F8 002B8458  41 82 00 10 */	beq lbl_802BC808
/* 802BC7FC 002B845C  38 6D 89 D8 */	addi r3, r13, lbl_8063DC98-_SDA_BASE_
/* 802BC800 002B8460  4C C6 31 82 */	crclr 6
/* 802BC804 002B8464  4B D4 B2 C1 */	bl OSReport
lbl_802BC808:
/* 802BC808 002B8468  2C 1E 00 02 */	cmpwi r30, 2
/* 802BC80C 002B846C  41 82 02 2C */	beq lbl_802BCA38
/* 802BC810 002B8470  40 80 04 54 */	bge lbl_802BCC64
/* 802BC814 002B8474  2C 1E 00 00 */	cmpwi r30, 0
/* 802BC818 002B8478  41 82 00 0C */	beq lbl_802BC824
/* 802BC81C 002B847C  48 00 04 48 */	b lbl_802BCC64
/* 802BC820 002B8480  48 00 04 44 */	b lbl_802BCC64
lbl_802BC824:
/* 802BC824 002B8484  3F A0 80 56 */	lis r29, lbl_80564DE0@ha
/* 802BC828 002B8488  3B 5D 4D E0 */	addi r26, r29, lbl_80564DE0@l
/* 802BC82C 002B848C  88 7A 00 1C */	lbz r3, 0x1c(r26)
/* 802BC830 002B8490  4B FF D4 1D */	bl GKI_getpoolbuf
/* 802BC834 002B8494  2C 03 00 00 */	cmpwi r3, 0
/* 802BC838 002B8498  7C 7E 1B 78 */	mr r30, r3
/* 802BC83C 002B849C  40 82 00 24 */	bne lbl_802BC860
/* 802BC840 002B84A0  88 1A 00 28 */	lbz r0, 0x28(r26)
/* 802BC844 002B84A4  2C 00 00 00 */	cmpwi r0, 0
/* 802BC848 002B84A8  41 82 00 10 */	beq lbl_802BC858
/* 802BC84C 002B84AC  38 7F 09 58 */	addi r3, r31, 0x958
/* 802BC850 002B84B0  4C C6 31 82 */	crclr 6
/* 802BC854 002B84B4  4B D4 B2 71 */	bl OSReport
lbl_802BC858:
/* 802BC858 002B84B8  38 60 00 00 */	li r3, 0
/* 802BC85C 002B84BC  48 00 04 0C */	b lbl_802BCC68
lbl_802BC860:
/* 802BC860 002B84C0  38 03 00 27 */	addi r0, r3, 0x27
/* 802BC864 002B84C4  B3 83 00 02 */	sth r28, 2(r3)
/* 802BC868 002B84C8  54 19 00 34 */	rlwinm r25, r0, 0, 0, 0x1a
/* 802BC86C 002B84CC  7F 64 DB 78 */	mr r4, r27
/* 802BC870 002B84D0  38 03 00 08 */	addi r0, r3, 8
/* 802BC874 002B84D4  7F 85 E3 78 */	mr r5, r28
/* 802BC878 002B84D8  7C 00 C8 50 */	subf r0, r0, r25
/* 802BC87C 002B84DC  B0 03 00 04 */	sth r0, 4(r3)
/* 802BC880 002B84E0  7F 23 CB 78 */	mr r3, r25
/* 802BC884 002B84E4  4B D4 77 7D */	bl memcpy
/* 802BC888 002B84E8  88 1A 00 48 */	lbz r0, 0x48(r26)
/* 802BC88C 002B84EC  28 00 00 05 */	cmplwi r0, 5
/* 802BC890 002B84F0  40 80 00 44 */	bge lbl_802BC8D4
/* 802BC894 002B84F4  A0 1A 00 44 */	lhz r0, 0x44(r26)
/* 802BC898 002B84F8  2C 00 00 00 */	cmpwi r0, 0
/* 802BC89C 002B84FC  40 82 00 38 */	bne lbl_802BC8D4
/* 802BC8A0 002B8500  93 C1 00 08 */	stw r30, 8(r1)
/* 802BC8A4 002B8504  3D 40 80 2C */	lis r10, uusb_WriteCtrlDataCB@ha
/* 802BC8A8 002B8508  7F 88 E3 78 */	mr r8, r28
/* 802BC8AC 002B850C  7F 29 CB 78 */	mr r9, r25
/* 802BC8B0 002B8510  80 7D 4D E0 */	lwz r3, 0x4de0(r29)
/* 802BC8B4 002B8514  39 4A BF 84 */	addi r10, r10, uusb_WriteCtrlDataCB@l
/* 802BC8B8 002B8518  38 80 00 20 */	li r4, 0x20
/* 802BC8BC 002B851C  38 A0 00 00 */	li r5, 0
/* 802BC8C0 002B8520  38 C0 00 00 */	li r6, 0
/* 802BC8C4 002B8524  38 E0 00 00 */	li r7, 0
/* 802BC8C8 002B8528  4B FF 83 6D */	bl IUSB_WriteCtrlMsgAsync
/* 802BC8CC 002B852C  7C 7D 1B 78 */	mr r29, r3
/* 802BC8D0 002B8530  48 00 00 3C */	b lbl_802BC90C
lbl_802BC8D4:
/* 802BC8D4 002B8534  3F 60 80 56 */	lis r27, lbl_80564DE0@ha
/* 802BC8D8 002B8538  7F C4 F3 78 */	mr r4, r30
/* 802BC8DC 002B853C  3B 7B 4D E0 */	addi r27, r27, lbl_80564DE0@l
/* 802BC8E0 002B8540  38 7B 00 3C */	addi r3, r27, 0x3c
/* 802BC8E4 002B8544  4B FF D8 71 */	bl GKI_enqueue
/* 802BC8E8 002B8548  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BC8EC 002B854C  2C 00 00 00 */	cmpwi r0, 0
/* 802BC8F0 002B8550  41 82 00 14 */	beq lbl_802BC904
/* 802BC8F4 002B8554  A0 9B 00 44 */	lhz r4, 0x44(r27)
/* 802BC8F8 002B8558  38 7F 09 9C */	addi r3, r31, 0x99c
/* 802BC8FC 002B855C  4C C6 31 82 */	crclr 6
/* 802BC900 002B8560  4B D4 B1 C5 */	bl OSReport
lbl_802BC904:
/* 802BC904 002B8564  38 60 00 00 */	li r3, 0
/* 802BC908 002B8568  48 00 03 60 */	b lbl_802BCC68
lbl_802BC90C:
/* 802BC90C 002B856C  2C 03 00 00 */	cmpwi r3, 0
/* 802BC910 002B8570  41 82 01 10 */	beq lbl_802BCA20
/* 802BC914 002B8574  88 1A 00 28 */	lbz r0, 0x28(r26)
/* 802BC918 002B8578  2C 00 00 00 */	cmpwi r0, 0
/* 802BC91C 002B857C  41 82 00 10 */	beq lbl_802BC92C
/* 802BC920 002B8580  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BC924 002B8584  4C C6 31 82 */	crclr 6
/* 802BC928 002B8588  4B D4 B1 9D */	bl OSReport
lbl_802BC92C:
/* 802BC92C 002B858C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC930 002B8590  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC934 002B8594  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC938 002B8598  2C 00 00 00 */	cmpwi r0, 0
/* 802BC93C 002B859C  41 82 00 10 */	beq lbl_802BC94C
/* 802BC940 002B85A0  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BC944 002B85A4  4C C6 31 82 */	crclr 6
/* 802BC948 002B85A8  4B D4 B1 7D */	bl OSReport
lbl_802BC94C:
/* 802BC94C 002B85AC  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC950 002B85B0  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC954 002B85B4  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC958 002B85B8  2C 00 00 00 */	cmpwi r0, 0
/* 802BC95C 002B85BC  41 82 00 18 */	beq lbl_802BC974
/* 802BC960 002B85C0  88 A3 00 48 */	lbz r5, 0x48(r3)
/* 802BC964 002B85C4  7F A4 EB 78 */	mr r4, r29
/* 802BC968 002B85C8  38 7F 0A 34 */	addi r3, r31, 0xa34
/* 802BC96C 002B85CC  4C C6 31 82 */	crclr 6
/* 802BC970 002B85D0  4B D4 B1 55 */	bl OSReport
lbl_802BC974:
/* 802BC974 002B85D4  2C 1D FF EA */	cmpwi r29, -22
/* 802BC978 002B85D8  41 82 00 2C */	beq lbl_802BC9A4
/* 802BC97C 002B85DC  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC980 002B85E0  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC984 002B85E4  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC988 002B85E8  2C 00 00 00 */	cmpwi r0, 0
/* 802BC98C 002B85EC  41 82 00 18 */	beq lbl_802BC9A4
/* 802BC990 002B85F0  88 A3 00 38 */	lbz r5, 0x38(r3)
/* 802BC994 002B85F4  7F A4 EB 78 */	mr r4, r29
/* 802BC998 002B85F8  38 7F 0A 90 */	addi r3, r31, 0xa90
/* 802BC99C 002B85FC  4C C6 31 82 */	crclr 6
/* 802BC9A0 002B8600  4B D4 B1 25 */	bl OSReport
lbl_802BC9A4:
/* 802BC9A4 002B8604  2C 1D FF F8 */	cmpwi r29, -8
/* 802BC9A8 002B8608  40 82 00 2C */	bne lbl_802BC9D4
/* 802BC9AC 002B860C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC9B0 002B8610  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC9B4 002B8614  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC9B8 002B8618  2C 00 00 00 */	cmpwi r0, 0
/* 802BC9BC 002B861C  41 82 00 18 */	beq lbl_802BC9D4
/* 802BC9C0 002B8620  88 A3 00 38 */	lbz r5, 0x38(r3)
/* 802BC9C4 002B8624  7F A4 EB 78 */	mr r4, r29
/* 802BC9C8 002B8628  38 7F 0B 00 */	addi r3, r31, 0xb00
/* 802BC9CC 002B862C  4C C6 31 82 */	crclr 6
/* 802BC9D0 002B8630  4B D4 B0 F5 */	bl OSReport
lbl_802BC9D4:
/* 802BC9D4 002B8634  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC9D8 002B8638  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC9DC 002B863C  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BC9E0 002B8640  2C 00 00 00 */	cmpwi r0, 0
/* 802BC9E4 002B8644  41 82 00 10 */	beq lbl_802BC9F4
/* 802BC9E8 002B8648  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BC9EC 002B864C  4C C6 31 82 */	crclr 6
/* 802BC9F0 002B8650  4B D4 B0 D5 */	bl OSReport
lbl_802BC9F4:
/* 802BC9F4 002B8654  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BC9F8 002B8658  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BC9FC 002B865C  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCA00 002B8660  2C 00 00 00 */	cmpwi r0, 0
/* 802BCA04 002B8664  41 82 00 10 */	beq lbl_802BCA14
/* 802BCA08 002B8668  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BCA0C 002B866C  4C C6 31 82 */	crclr 6
/* 802BCA10 002B8670  4B D4 B0 B5 */	bl OSReport
lbl_802BCA14:
/* 802BCA14 002B8674  7F C3 F3 78 */	mr r3, r30
/* 802BCA18 002B8678  4B FF D3 1D */	bl GKI_freebuf
/* 802BCA1C 002B867C  48 00 02 48 */	b lbl_802BCC64
lbl_802BCA20:
/* 802BCA20 002B8680  4B FF E7 61 */	bl GKI_disable
/* 802BCA24 002B8684  88 7A 00 48 */	lbz r3, 0x48(r26)
/* 802BCA28 002B8688  38 03 00 01 */	addi r0, r3, 1
/* 802BCA2C 002B868C  98 1A 00 48 */	stb r0, 0x48(r26)
/* 802BCA30 002B8690  4B FF E7 2D */	bl GKI_enable
/* 802BCA34 002B8694  48 00 02 30 */	b lbl_802BCC64
lbl_802BCA38:
/* 802BCA38 002B8698  3F A0 80 56 */	lis r29, lbl_80564DE0@ha
/* 802BCA3C 002B869C  3B BD 4D E0 */	addi r29, r29, lbl_80564DE0@l
/* 802BCA40 002B86A0  88 7D 00 1D */	lbz r3, 0x1d(r29)
/* 802BCA44 002B86A4  4B FF D2 09 */	bl GKI_getpoolbuf
/* 802BCA48 002B86A8  2C 03 00 00 */	cmpwi r3, 0
/* 802BCA4C 002B86AC  7C 7E 1B 78 */	mr r30, r3
/* 802BCA50 002B86B0  40 82 00 24 */	bne lbl_802BCA74
/* 802BCA54 002B86B4  88 1D 00 28 */	lbz r0, 0x28(r29)
/* 802BCA58 002B86B8  2C 00 00 00 */	cmpwi r0, 0
/* 802BCA5C 002B86BC  41 82 00 10 */	beq lbl_802BCA6C
/* 802BCA60 002B86C0  38 7F 0B 6C */	addi r3, r31, 0xb6c
/* 802BCA64 002B86C4  4C C6 31 82 */	crclr 6
/* 802BCA68 002B86C8  4B D4 B0 5D */	bl OSReport
lbl_802BCA6C:
/* 802BCA6C 002B86CC  38 60 00 00 */	li r3, 0
/* 802BCA70 002B86D0  48 00 01 F8 */	b lbl_802BCC68
lbl_802BCA74:
/* 802BCA74 002B86D4  38 03 00 27 */	addi r0, r3, 0x27
/* 802BCA78 002B86D8  B3 83 00 02 */	sth r28, 2(r3)
/* 802BCA7C 002B86DC  54 1A 00 34 */	rlwinm r26, r0, 0, 0, 0x1a
/* 802BCA80 002B86E0  7F 64 DB 78 */	mr r4, r27
/* 802BCA84 002B86E4  38 03 00 08 */	addi r0, r3, 8
/* 802BCA88 002B86E8  7F 85 E3 78 */	mr r5, r28
/* 802BCA8C 002B86EC  7C 00 D0 50 */	subf r0, r0, r26
/* 802BCA90 002B86F0  B0 03 00 04 */	sth r0, 4(r3)
/* 802BCA94 002B86F4  7F 43 D3 78 */	mr r3, r26
/* 802BCA98 002B86F8  4B D4 75 69 */	bl memcpy
/* 802BCA9C 002B86FC  28 1C 00 BE */	cmplwi r28, 0xbe
/* 802BCAA0 002B8700  40 81 00 1C */	ble lbl_802BCABC
/* 802BCAA4 002B8704  88 1D 00 28 */	lbz r0, 0x28(r29)
/* 802BCAA8 002B8708  2C 00 00 00 */	cmpwi r0, 0
/* 802BCAAC 002B870C  41 82 00 10 */	beq lbl_802BCABC
/* 802BCAB0 002B8710  38 7F 0B B0 */	addi r3, r31, 0xbb0
/* 802BCAB4 002B8714  4C C6 31 82 */	crclr 6
/* 802BCAB8 002B8718  4B D4 B0 0D */	bl OSReport
lbl_802BCABC:
/* 802BCABC 002B871C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCAC0 002B8720  3B 63 4D E0 */	addi r27, r3, lbl_80564DE0@l
/* 802BCAC4 002B8724  88 1B 00 38 */	lbz r0, 0x38(r27)
/* 802BCAC8 002B8728  28 00 00 05 */	cmplwi r0, 5
/* 802BCACC 002B872C  40 80 00 38 */	bge lbl_802BCB04
/* 802BCAD0 002B8730  A0 1B 00 34 */	lhz r0, 0x34(r27)
/* 802BCAD4 002B8734  2C 00 00 00 */	cmpwi r0, 0
/* 802BCAD8 002B8738  40 82 00 2C */	bne lbl_802BCB04
/* 802BCADC 002B873C  3C E0 80 2C */	lis r7, uusb_WriteBulkDataCB@ha
/* 802BCAE0 002B8740  80 63 4D E0 */	lwz r3, 0x4de0(r3)
/* 802BCAE4 002B8744  88 9B 00 10 */	lbz r4, 0x10(r27)
/* 802BCAE8 002B8748  7F 85 E3 78 */	mr r5, r28
/* 802BCAEC 002B874C  7F 46 D3 78 */	mr r6, r26
/* 802BCAF0 002B8750  7F C8 F3 78 */	mr r8, r30
/* 802BCAF4 002B8754  38 E7 C0 F8 */	addi r7, r7, uusb_WriteBulkDataCB@l
/* 802BCAF8 002B8758  4B FF 7B 35 */	bl IUSB_WriteBlkMsgAsync
/* 802BCAFC 002B875C  7C 7D 1B 78 */	mr r29, r3
/* 802BCB00 002B8760  48 00 00 3C */	b lbl_802BCB3C
lbl_802BCB04:
/* 802BCB04 002B8764  3F 60 80 56 */	lis r27, lbl_80564DE0@ha
/* 802BCB08 002B8768  7F C4 F3 78 */	mr r4, r30
/* 802BCB0C 002B876C  3B 7B 4D E0 */	addi r27, r27, lbl_80564DE0@l
/* 802BCB10 002B8770  38 7B 00 2C */	addi r3, r27, 0x2c
/* 802BCB14 002B8774  4B FF D6 41 */	bl GKI_enqueue
/* 802BCB18 002B8778  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BCB1C 002B877C  2C 00 00 00 */	cmpwi r0, 0
/* 802BCB20 002B8780  41 82 00 14 */	beq lbl_802BCB34
/* 802BCB24 002B8784  A0 9B 00 34 */	lhz r4, 0x34(r27)
/* 802BCB28 002B8788  38 7F 0B DC */	addi r3, r31, 0xbdc
/* 802BCB2C 002B878C  4C C6 31 82 */	crclr 6
/* 802BCB30 002B8790  4B D4 AF 95 */	bl OSReport
lbl_802BCB34:
/* 802BCB34 002B8794  38 60 00 00 */	li r3, 0
/* 802BCB38 002B8798  48 00 01 30 */	b lbl_802BCC68
lbl_802BCB3C:
/* 802BCB3C 002B879C  2C 03 00 00 */	cmpwi r3, 0
/* 802BCB40 002B87A0  41 82 01 10 */	beq lbl_802BCC50
/* 802BCB44 002B87A4  88 1B 00 28 */	lbz r0, 0x28(r27)
/* 802BCB48 002B87A8  2C 00 00 00 */	cmpwi r0, 0
/* 802BCB4C 002B87AC  41 82 00 10 */	beq lbl_802BCB5C
/* 802BCB50 002B87B0  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BCB54 002B87B4  4C C6 31 82 */	crclr 6
/* 802BCB58 002B87B8  4B D4 AF 6D */	bl OSReport
lbl_802BCB5C:
/* 802BCB5C 002B87BC  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCB60 002B87C0  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCB64 002B87C4  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCB68 002B87C8  2C 00 00 00 */	cmpwi r0, 0
/* 802BCB6C 002B87CC  41 82 00 10 */	beq lbl_802BCB7C
/* 802BCB70 002B87D0  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BCB74 002B87D4  4C C6 31 82 */	crclr 6
/* 802BCB78 002B87D8  4B D4 AF 4D */	bl OSReport
lbl_802BCB7C:
/* 802BCB7C 002B87DC  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCB80 002B87E0  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCB84 002B87E4  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCB88 002B87E8  2C 00 00 00 */	cmpwi r0, 0
/* 802BCB8C 002B87EC  41 82 00 18 */	beq lbl_802BCBA4
/* 802BCB90 002B87F0  88 A3 00 38 */	lbz r5, 0x38(r3)
/* 802BCB94 002B87F4  7F A4 EB 78 */	mr r4, r29
/* 802BCB98 002B87F8  38 7F 0C 10 */	addi r3, r31, 0xc10
/* 802BCB9C 002B87FC  4C C6 31 82 */	crclr 6
/* 802BCBA0 002B8800  4B D4 AF 25 */	bl OSReport
lbl_802BCBA4:
/* 802BCBA4 002B8804  2C 1D FF EA */	cmpwi r29, -22
/* 802BCBA8 002B8808  41 82 00 2C */	beq lbl_802BCBD4
/* 802BCBAC 002B880C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCBB0 002B8810  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCBB4 002B8814  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCBB8 002B8818  2C 00 00 00 */	cmpwi r0, 0
/* 802BCBBC 002B881C  41 82 00 18 */	beq lbl_802BCBD4
/* 802BCBC0 002B8820  88 A3 00 38 */	lbz r5, 0x38(r3)
/* 802BCBC4 002B8824  7F A4 EB 78 */	mr r4, r29
/* 802BCBC8 002B8828  38 7F 0C 6C */	addi r3, r31, 0xc6c
/* 802BCBCC 002B882C  4C C6 31 82 */	crclr 6
/* 802BCBD0 002B8830  4B D4 AE F5 */	bl OSReport
lbl_802BCBD4:
/* 802BCBD4 002B8834  2C 1D FF F8 */	cmpwi r29, -8
/* 802BCBD8 002B8838  40 82 00 2C */	bne lbl_802BCC04
/* 802BCBDC 002B883C  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCBE0 002B8840  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCBE4 002B8844  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCBE8 002B8848  2C 00 00 00 */	cmpwi r0, 0
/* 802BCBEC 002B884C  41 82 00 18 */	beq lbl_802BCC04
/* 802BCBF0 002B8850  88 A3 00 38 */	lbz r5, 0x38(r3)
/* 802BCBF4 002B8854  7F A4 EB 78 */	mr r4, r29
/* 802BCBF8 002B8858  38 7F 0C DC */	addi r3, r31, 0xcdc
/* 802BCBFC 002B885C  4C C6 31 82 */	crclr 6
/* 802BCC00 002B8860  4B D4 AE C5 */	bl OSReport
lbl_802BCC04:
/* 802BCC04 002B8864  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCC08 002B8868  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCC0C 002B886C  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCC10 002B8870  2C 00 00 00 */	cmpwi r0, 0
/* 802BCC14 002B8874  41 82 00 10 */	beq lbl_802BCC24
/* 802BCC18 002B8878  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BCC1C 002B887C  4C C6 31 82 */	crclr 6
/* 802BCC20 002B8880  4B D4 AE A5 */	bl OSReport
lbl_802BCC24:
/* 802BCC24 002B8884  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCC28 002B8888  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCC2C 002B888C  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802BCC30 002B8890  2C 00 00 00 */	cmpwi r0, 0
/* 802BCC34 002B8894  41 82 00 10 */	beq lbl_802BCC44
/* 802BCC38 002B8898  38 7F 09 D0 */	addi r3, r31, 0x9d0
/* 802BCC3C 002B889C  4C C6 31 82 */	crclr 6
/* 802BCC40 002B88A0  4B D4 AE 85 */	bl OSReport
lbl_802BCC44:
/* 802BCC44 002B88A4  7F C3 F3 78 */	mr r3, r30
/* 802BCC48 002B88A8  4B FF D0 ED */	bl GKI_freebuf
/* 802BCC4C 002B88AC  48 00 00 18 */	b lbl_802BCC64
lbl_802BCC50:
/* 802BCC50 002B88B0  4B FF E5 31 */	bl GKI_disable
/* 802BCC54 002B88B4  88 7B 00 38 */	lbz r3, 0x38(r27)
/* 802BCC58 002B88B8  38 03 00 01 */	addi r0, r3, 1
/* 802BCC5C 002B88BC  98 1B 00 38 */	stb r0, 0x38(r27)
/* 802BCC60 002B88C0  4B FF E4 FD */	bl GKI_enable
lbl_802BCC64:
/* 802BCC64 002B88C4  57 A3 04 3E */	clrlwi r3, r29, 0x10
lbl_802BCC68:
/* 802BCC68 002B88C8  39 61 00 30 */	addi r11, r1, 0x30
/* 802BCC6C 002B88CC  4B F0 A5 01 */	bl _restgpr_25
/* 802BCC70 002B88D0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802BCC74 002B88D4  7C 08 03 A6 */	mtlr r0
/* 802BCC78 002B88D8  38 21 00 30 */	addi r1, r1, 0x30
/* 802BCC7C 002B88DC  4E 80 00 20 */	blr

.global UUSB_Close
UUSB_Close:
/* 802BCC80 002B88E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802BCC84 002B88E4  7C 08 02 A6 */	mflr r0
/* 802BCC88 002B88E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802BCC8C 002B88EC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802BCC90 002B88F0  4B FF E4 F1 */	bl GKI_disable
/* 802BCC94 002B88F4  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCC98 002B88F8  38 00 00 00 */	li r0, 0
/* 802BCC9C 002B88FC  3B E3 4D E0 */	addi r31, r3, lbl_80564DE0@l
/* 802BCCA0 002B8900  98 1F 00 29 */	stb r0, 0x29(r31)
/* 802BCCA4 002B8904  4B FF E4 B9 */	bl GKI_enable
/* 802BCCA8 002B8908  A0 1F 00 34 */	lhz r0, 0x34(r31)
/* 802BCCAC 002B890C  2C 00 00 00 */	cmpwi r0, 0
/* 802BCCB0 002B8910  41 82 00 20 */	beq lbl_802BCCD0
/* 802BCCB4 002B8914  48 00 00 10 */	b lbl_802BCCC4
lbl_802BCCB8:
/* 802BCCB8 002B8918  38 7F 00 2C */	addi r3, r31, 0x2c
/* 802BCCBC 002B891C  4B FF D7 15 */	bl GKI_dequeue
/* 802BCCC0 002B8920  4B FF D0 75 */	bl GKI_freebuf
lbl_802BCCC4:
/* 802BCCC4 002B8924  A0 1F 00 34 */	lhz r0, 0x34(r31)
/* 802BCCC8 002B8928  2C 00 00 00 */	cmpwi r0, 0
/* 802BCCCC 002B892C  40 82 FF EC */	bne lbl_802BCCB8
lbl_802BCCD0:
/* 802BCCD0 002B8930  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCCD4 002B8934  3B E3 4D E0 */	addi r31, r3, lbl_80564DE0@l
/* 802BCCD8 002B8938  A0 1F 00 44 */	lhz r0, 0x44(r31)
/* 802BCCDC 002B893C  2C 00 00 00 */	cmpwi r0, 0
/* 802BCCE0 002B8940  41 82 00 20 */	beq lbl_802BCD00
/* 802BCCE4 002B8944  48 00 00 10 */	b lbl_802BCCF4
lbl_802BCCE8:
/* 802BCCE8 002B8948  38 7F 00 3C */	addi r3, r31, 0x3c
/* 802BCCEC 002B894C  4B FF D6 E5 */	bl GKI_dequeue
/* 802BCCF0 002B8950  4B FF D0 45 */	bl GKI_freebuf
lbl_802BCCF4:
/* 802BCCF4 002B8954  A0 1F 00 44 */	lhz r0, 0x44(r31)
/* 802BCCF8 002B8958  2C 00 00 00 */	cmpwi r0, 0
/* 802BCCFC 002B895C  40 82 FF EC */	bne lbl_802BCCE8
lbl_802BCD00:
/* 802BCD00 002B8960  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCD04 002B8964  3C 80 80 2C */	lis r4, uusb_CloseDeviceCB@ha
/* 802BCD08 002B8968  80 63 4D E0 */	lwz r3, lbl_80564DE0@l(r3)
/* 802BCD0C 002B896C  38 84 B8 94 */	addi r4, r4, uusb_CloseDeviceCB@l
/* 802BCD10 002B8970  38 A0 00 00 */	li r5, 0
/* 802BCD14 002B8974  4B FF 73 F1 */	bl IUSB_CloseDeviceAsync
/* 802BCD18 002B8978  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802BCD1C 002B897C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802BCD20 002B8980  7C 08 03 A6 */	mtlr r0
/* 802BCD24 002B8984  38 21 00 10 */	addi r1, r1, 0x10
/* 802BCD28 002B8988  4E 80 00 20 */	blr

.global UUSB_Unregister
UUSB_Unregister:
/* 802BCD2C 002B898C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802BCD30 002B8990  7C 08 02 A6 */	mflr r0
/* 802BCD34 002B8994  90 01 00 14 */	stw r0, 0x14(r1)
/* 802BCD38 002B8998  4B FF 71 35 */	bl IUSB_CloseLib
/* 802BCD3C 002B899C  4B FF E4 45 */	bl GKI_disable
/* 802BCD40 002B89A0  3C 60 80 56 */	lis r3, lbl_80564DE0@ha
/* 802BCD44 002B89A4  38 00 00 00 */	li r0, 0
/* 802BCD48 002B89A8  38 63 4D E0 */	addi r3, r3, lbl_80564DE0@l
/* 802BCD4C 002B89AC  38 80 00 05 */	li r4, 5
/* 802BCD50 002B89B0  98 83 00 29 */	stb r4, 0x29(r3)
/* 802BCD54 002B89B4  98 03 00 28 */	stb r0, 0x28(r3)
/* 802BCD58 002B89B8  98 0D AE C9 */	stb r0, lbl_80640189-_SDA_BASE_(r13)
/* 802BCD5C 002B89BC  4B FF E4 01 */	bl GKI_enable
/* 802BCD60 002B89C0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802BCD64 002B89C4  7C 08 03 A6 */	mtlr r0
/* 802BCD68 002B89C8  38 21 00 10 */	addi r1, r1, 0x10
/* 802BCD6C 002B89CC  4E 80 00 20 */	blr