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

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

.global btm_dev_init
btm_dev_init:
/* 802C583C 002C149C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C5840 002C14A0  7C 08 02 A6 */	mflr r0
/* 802C5844 002C14A4  38 8D 8A 38 */	addi r4, r13, lbl_8063DCF8-_SDA_BASE_
/* 802C5848 002C14A8  38 A0 00 03 */	li r5, 3
/* 802C584C 002C14AC  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C5850 002C14B0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C5854 002C14B4  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C5858 002C14B8  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C585C 002C14BC  38 7F 06 48 */	addi r3, r31, 0x648
/* 802C5860 002C14C0  4B D3 E7 A1 */	bl memcpy
/* 802C5864 002C14C4  3C 60 00 01 */	lis r3, 0x0000CC18@ha
/* 802C5868 002C14C8  38 E0 00 FF */	li r7, 0xff
/* 802C586C 002C14CC  39 23 CC 18 */	addi r9, r3, 0x0000CC18@l
/* 802C5870 002C14D0  39 80 00 01 */	li r12, 1
/* 802C5874 002C14D4  38 60 14 00 */	li r3, 0x1400
/* 802C5878 002C14D8  39 60 00 02 */	li r11, 2
/* 802C587C 002C14DC  39 40 00 04 */	li r10, 4
/* 802C5880 002C14E0  39 00 00 3F */	li r8, 0x3f
/* 802C5884 002C14E4  38 C0 00 00 */	li r6, 0
/* 802C5888 002C14E8  38 00 00 05 */	li r0, 5
/* 802C588C 002C14EC  B0 7F 06 4C */	sth r3, 0x64c(r31)
/* 802C5890 002C14F0  38 7F 05 74 */	addi r3, r31, 0x574
/* 802C5894 002C14F4  38 80 00 01 */	li r4, 1
/* 802C5898 002C14F8  38 A0 00 04 */	li r5, 4
/* 802C589C 002C14FC  91 9F 05 84 */	stw r12, 0x584(r31)
/* 802C58A0 002C1500  91 7F 05 A0 */	stw r11, 0x5a0(r31)
/* 802C58A4 002C1504  91 5F 05 BC */	stw r10, 0x5bc(r31)
/* 802C58A8 002C1508  B1 3F 06 54 */	sth r9, 0x654(r31)
/* 802C58AC 002C150C  B1 1F 06 56 */	sth r8, 0x656(r31)
/* 802C58B0 002C1510  98 FF 27 BD */	stb r7, 0x27bd(r31)
/* 802C58B4 002C1514  98 FF 27 BE */	stb r7, 0x27be(r31)
/* 802C58B8 002C1518  98 DF 06 4E */	stb r6, 0x64e(r31)
/* 802C58BC 002C151C  98 1F 06 4F */	stb r0, 0x64f(r31)
/* 802C58C0 002C1520  4B FF 7C 1D */	bl btu_start_timer
/* 802C58C4 002C1524  48 00 B9 A9 */	bl btsnd_hcic_reset
/* 802C58C8 002C1528  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C58CC 002C152C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C58D0 002C1530  7C 08 03 A6 */	mtlr r0
/* 802C58D4 002C1534  38 21 00 10 */	addi r1, r1, 0x10
/* 802C58D8 002C1538  4E 80 00 20 */	blr

.global btm_db_reset
btm_db_reset:
/* 802C58DC 002C153C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C58E0 002C1540  7C 08 02 A6 */	mflr r0
/* 802C58E4 002C1544  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C58E8 002C1548  38 00 00 0C */	li r0, 0xc
/* 802C58EC 002C154C  98 01 00 08 */	stb r0, 8(r1)
/* 802C58F0 002C1550  48 00 27 BD */	bl btm_inq_db_reset
/* 802C58F4 002C1554  48 00 19 49 */	bl btm_discovery_db_reset
/* 802C58F8 002C1558  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C58FC 002C155C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5900 002C1560  81 83 05 A8 */	lwz r12, 0x5a8(r3)
/* 802C5904 002C1564  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5908 002C1568  41 82 00 1C */	beq lbl_802C5924
/* 802C590C 002C156C  38 00 00 00 */	li r0, 0
/* 802C5910 002C1570  90 03 05 A8 */	stw r0, 0x5a8(r3)
/* 802C5914 002C1574  41 82 00 10 */	beq lbl_802C5924
/* 802C5918 002C1578  38 60 00 00 */	li r3, 0
/* 802C591C 002C157C  7D 89 03 A6 */	mtctr r12
/* 802C5920 002C1580  4E 80 04 21 */	bctrl
lbl_802C5924:
/* 802C5924 002C1584  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5928 002C1588  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C592C 002C158C  81 83 05 C4 */	lwz r12, 0x5c4(r3)
/* 802C5930 002C1590  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5934 002C1594  41 82 00 1C */	beq lbl_802C5950
/* 802C5938 002C1598  38 00 00 00 */	li r0, 0
/* 802C593C 002C159C  90 03 05 C4 */	stw r0, 0x5c4(r3)
/* 802C5940 002C15A0  41 82 00 10 */	beq lbl_802C5950
/* 802C5944 002C15A4  38 61 00 08 */	addi r3, r1, 8
/* 802C5948 002C15A8  7D 89 03 A6 */	mtctr r12
/* 802C594C 002C15AC  4E 80 04 21 */	bctrl
lbl_802C5950:
/* 802C5950 002C15B0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5954 002C15B4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5958 002C15B8  81 83 05 E0 */	lwz r12, 0x5e0(r3)
/* 802C595C 002C15BC  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5960 002C15C0  41 82 00 1C */	beq lbl_802C597C
/* 802C5964 002C15C4  38 00 00 00 */	li r0, 0
/* 802C5968 002C15C8  90 03 05 E0 */	stw r0, 0x5e0(r3)
/* 802C596C 002C15CC  41 82 00 10 */	beq lbl_802C597C
/* 802C5970 002C15D0  38 61 00 08 */	addi r3, r1, 8
/* 802C5974 002C15D4  7D 89 03 A6 */	mtctr r12
/* 802C5978 002C15D8  4E 80 04 21 */	bctrl
lbl_802C597C:
/* 802C597C 002C15DC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C5980 002C15E0  7C 08 03 A6 */	mtlr r0
/* 802C5984 002C15E4  38 21 00 10 */	addi r1, r1, 0x10
/* 802C5988 002C15E8  4E 80 00 20 */	blr

.global BTM_DeviceReset
BTM_DeviceReset:
/* 802C598C 002C15EC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C5990 002C15F0  7C 08 02 A6 */	mflr r0
/* 802C5994 002C15F4  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C5998 002C15F8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C599C 002C15FC  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C59A0 002C1600  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C59A4 002C1604  93 C1 00 08 */	stw r30, 8(r1)
/* 802C59A8 002C1608  7C 7E 1B 78 */	mr r30, r3
/* 802C59AC 002C160C  80 04 05 8C */	lwz r0, 0x58c(r4)
/* 802C59B0 002C1610  2C 00 00 00 */	cmpwi r0, 0
/* 802C59B4 002C1614  41 82 00 0C */	beq lbl_802C59C0
/* 802C59B8 002C1618  7C 00 18 40 */	cmplw r0, r3
/* 802C59BC 002C161C  40 82 00 54 */	bne lbl_802C5A10
lbl_802C59C0:
/* 802C59C0 002C1620  4B FF DE E5 */	bl btm_acl_device_down
/* 802C59C4 002C1624  4B FF FF 19 */	bl btm_db_reset
/* 802C59C8 002C1628  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C59CC 002C162C  38 C0 00 00 */	li r6, 0
/* 802C59D0 002C1630  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C59D4 002C1634  38 00 00 05 */	li r0, 5
/* 802C59D8 002C1638  93 DF 05 8C */	stw r30, 0x58c(r31)
/* 802C59DC 002C163C  38 7F 05 74 */	addi r3, r31, 0x574
/* 802C59E0 002C1640  38 80 00 01 */	li r4, 1
/* 802C59E4 002C1644  38 A0 00 04 */	li r5, 4
/* 802C59E8 002C1648  98 DF 06 4E */	stb r6, 0x64e(r31)
/* 802C59EC 002C164C  98 1F 06 4F */	stb r0, 0x64f(r31)
/* 802C59F0 002C1650  4B FF 7A ED */	bl btu_start_timer
/* 802C59F4 002C1654  48 00 B8 79 */	bl btsnd_hcic_reset
/* 802C59F8 002C1658  81 9F 05 68 */	lwz r12, 0x568(r31)
/* 802C59FC 002C165C  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5A00 002C1660  41 82 00 10 */	beq lbl_802C5A10
/* 802C5A04 002C1664  38 60 00 01 */	li r3, 1
/* 802C5A08 002C1668  7D 89 03 A6 */	mtctr r12
/* 802C5A0C 002C166C  4E 80 04 21 */	bctrl
lbl_802C5A10:
/* 802C5A10 002C1670  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C5A14 002C1674  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C5A18 002C1678  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C5A1C 002C167C  7C 08 03 A6 */	mtlr r0
/* 802C5A20 002C1680  38 21 00 10 */	addi r1, r1, 0x10
/* 802C5A24 002C1684  4E 80 00 20 */	blr

.global BTM_SendHciReset
BTM_SendHciReset:
/* 802C5A28 002C1688  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C5A2C 002C168C  7C 08 02 A6 */	mflr r0
/* 802C5A30 002C1690  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C5A34 002C1694  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C5A38 002C1698  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C5A3C 002C169C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C5A40 002C16A0  93 C1 00 08 */	stw r30, 8(r1)
/* 802C5A44 002C16A4  7C 7E 1B 78 */	mr r30, r3
/* 802C5A48 002C16A8  80 04 05 8C */	lwz r0, 0x58c(r4)
/* 802C5A4C 002C16AC  2C 00 00 00 */	cmpwi r0, 0
/* 802C5A50 002C16B0  41 82 00 18 */	beq lbl_802C5A68
/* 802C5A54 002C16B4  7C 00 18 40 */	cmplw r0, r3
/* 802C5A58 002C16B8  41 82 00 10 */	beq lbl_802C5A68
/* 802C5A5C 002C16BC  80 04 06 20 */	lwz r0, 0x620(r4)
/* 802C5A60 002C16C0  7C 00 18 40 */	cmplw r0, r3
/* 802C5A64 002C16C4  40 82 00 54 */	bne lbl_802C5AB8
lbl_802C5A68:
/* 802C5A68 002C16C8  4B FF DE 3D */	bl btm_acl_device_down
/* 802C5A6C 002C16CC  4B FF FE 71 */	bl btm_db_reset
/* 802C5A70 002C16D0  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C5A74 002C16D4  38 C0 00 00 */	li r6, 0
/* 802C5A78 002C16D8  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C5A7C 002C16DC  38 00 00 05 */	li r0, 5
/* 802C5A80 002C16E0  93 DF 06 20 */	stw r30, 0x620(r31)
/* 802C5A84 002C16E4  38 7F 05 74 */	addi r3, r31, 0x574
/* 802C5A88 002C16E8  38 80 00 01 */	li r4, 1
/* 802C5A8C 002C16EC  38 A0 00 04 */	li r5, 4
/* 802C5A90 002C16F0  98 DF 06 4E */	stb r6, 0x64e(r31)
/* 802C5A94 002C16F4  98 1F 06 4F */	stb r0, 0x64f(r31)
/* 802C5A98 002C16F8  4B FF 7A 45 */	bl btu_start_timer
/* 802C5A9C 002C16FC  48 00 B7 D1 */	bl btsnd_hcic_reset
/* 802C5AA0 002C1700  81 9F 05 68 */	lwz r12, 0x568(r31)
/* 802C5AA4 002C1704  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5AA8 002C1708  41 82 00 10 */	beq lbl_802C5AB8
/* 802C5AAC 002C170C  38 60 00 01 */	li r3, 1
/* 802C5AB0 002C1710  7D 89 03 A6 */	mtctr r12
/* 802C5AB4 002C1714  4E 80 04 21 */	bctrl
lbl_802C5AB8:
/* 802C5AB8 002C1718  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C5ABC 002C171C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C5AC0 002C1720  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C5AC4 002C1724  7C 08 03 A6 */	mtlr r0
/* 802C5AC8 002C1728  38 21 00 10 */	addi r1, r1, 0x10
/* 802C5ACC 002C172C  4E 80 00 20 */	blr

.global BTM_IsDeviceUp
BTM_IsDeviceUp:
/* 802C5AD0 002C1730  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5AD4 002C1734  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5AD8 002C1738  88 63 06 4E */	lbz r3, 0x64e(r3)
/* 802C5ADC 002C173C  38 03 FF FB */	addi r0, r3, -5
/* 802C5AE0 002C1740  7C 00 00 34 */	cntlzw r0, r0
/* 802C5AE4 002C1744  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802C5AE8 002C1748  4E 80 00 20 */	blr

.global BTM_SetAfhChannels
BTM_SetAfhChannels:
/* 802C5AEC 002C174C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C5AF0 002C1750  7C 08 02 A6 */	mflr r0
/* 802C5AF4 002C1754  3C E0 80 57 */	lis r7, lbl_80568B78@ha
/* 802C5AF8 002C1758  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C5AFC 002C175C  38 E7 8B 78 */	addi r7, r7, lbl_80568B78@l
/* 802C5B00 002C1760  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C5B04 002C1764  7C 9F 23 78 */	mr r31, r4
/* 802C5B08 002C1768  93 C1 00 08 */	stw r30, 8(r1)
/* 802C5B0C 002C176C  7C 7E 1B 78 */	mr r30, r3
/* 802C5B10 002C1770  88 07 27 C0 */	lbz r0, 0x27c0(r7)
/* 802C5B14 002C1774  28 00 00 03 */	cmplwi r0, 3
/* 802C5B18 002C1778  41 80 00 28 */	blt lbl_802C5B40
/* 802C5B1C 002C177C  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C5B20 002C1780  3C 80 80 44 */	lis r4, lbl_804410E0@ha
/* 802C5B24 002C1784  88 C7 27 BD */	lbz r6, 0x27bd(r7)
/* 802C5B28 002C1788  7F C5 F3 78 */	mr r5, r30
/* 802C5B2C 002C178C  89 07 27 BE */	lbz r8, 0x27be(r7)
/* 802C5B30 002C1790  7F E7 FB 78 */	mr r7, r31
/* 802C5B34 002C1794  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C5B38 002C1798  38 84 10 E0 */	addi r4, r4, lbl_804410E0@l
/* 802C5B3C 002C179C  4B FF 74 35 */	bl LogMsg_4
lbl_802C5B40:
/* 802C5B40 002C17A0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5B44 002C17A4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5B48 002C17A8  88 83 06 45 */	lbz r4, 0x645(r3)
/* 802C5B4C 002C17AC  54 80 07 39 */	rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 802C5B50 002C17B0  40 82 00 20 */	bne lbl_802C5B70
/* 802C5B54 002C17B4  88 03 06 44 */	lbz r0, 0x644(r3)
/* 802C5B58 002C17B8  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802C5B5C 002C17BC  40 82 00 14 */	bne lbl_802C5B70
/* 802C5B60 002C17C0  54 80 06 F7 */	rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 802C5B64 002C17C4  40 82 00 0C */	bne lbl_802C5B70
/* 802C5B68 002C17C8  38 60 00 04 */	li r3, 4
/* 802C5B6C 002C17CC  48 00 00 58 */	b lbl_802C5BC4
lbl_802C5B70:
/* 802C5B70 002C17D0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5B74 002C17D4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5B78 002C17D8  88 03 27 BD */	lbz r0, 0x27bd(r3)
/* 802C5B7C 002C17DC  7C 00 F0 40 */	cmplw r0, r30
/* 802C5B80 002C17E0  40 82 00 10 */	bne lbl_802C5B90
/* 802C5B84 002C17E4  88 03 27 BE */	lbz r0, 0x27be(r3)
/* 802C5B88 002C17E8  7C 00 F8 40 */	cmplw r0, r31
/* 802C5B8C 002C17EC  41 82 00 34 */	beq lbl_802C5BC0
lbl_802C5B90:
/* 802C5B90 002C17F0  7F C3 F3 78 */	mr r3, r30
/* 802C5B94 002C17F4  7F E4 FB 78 */	mr r4, r31
/* 802C5B98 002C17F8  48 00 C3 C9 */	bl btsnd_hcic_set_afh_channels
/* 802C5B9C 002C17FC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C5BA0 002C1800  41 82 00 18 */	beq lbl_802C5BB8
/* 802C5BA4 002C1804  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5BA8 002C1808  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5BAC 002C180C  9B C3 27 BD */	stb r30, 0x27bd(r3)
/* 802C5BB0 002C1810  9B E3 27 BE */	stb r31, 0x27be(r3)
/* 802C5BB4 002C1814  48 00 00 0C */	b lbl_802C5BC0
lbl_802C5BB8:
/* 802C5BB8 002C1818  38 60 00 03 */	li r3, 3
/* 802C5BBC 002C181C  48 00 00 08 */	b lbl_802C5BC4
lbl_802C5BC0:
/* 802C5BC0 002C1820  38 60 00 00 */	li r3, 0
lbl_802C5BC4:
/* 802C5BC4 002C1824  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C5BC8 002C1828  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C5BCC 002C182C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C5BD0 002C1830  7C 08 03 A6 */	mtlr r0
/* 802C5BD4 002C1834  38 21 00 10 */	addi r1, r1, 0x10
/* 802C5BD8 002C1838  4E 80 00 20 */	blr

.global btm_dev_timeout
btm_dev_timeout:
/* 802C5BDC 002C183C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C5BE0 002C1840  7C 08 02 A6 */	mflr r0
/* 802C5BE4 002C1844  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C5BE8 002C1848  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C5BEC 002C184C  93 C1 00 08 */	stw r30, 8(r1)
/* 802C5BF0 002C1850  80 03 00 10 */	lwz r0, 0x10(r3)
/* 802C5BF4 002C1854  28 00 00 01 */	cmplwi r0, 1
/* 802C5BF8 002C1858  40 82 02 34 */	bne lbl_802C5E2C
/* 802C5BFC 002C185C  3C C0 80 57 */	lis r6, lbl_80568B78@ha
/* 802C5C00 002C1860  38 C6 8B 78 */	addi r6, r6, lbl_80568B78@l
/* 802C5C04 002C1864  88 06 06 4E */	lbz r0, 0x64e(r6)
/* 802C5C08 002C1868  2C 00 00 02 */	cmpwi r0, 2
/* 802C5C0C 002C186C  41 82 01 60 */	beq lbl_802C5D6C
/* 802C5C10 002C1870  40 80 00 14 */	bge lbl_802C5C24
/* 802C5C14 002C1874  2C 00 00 00 */	cmpwi r0, 0
/* 802C5C18 002C1878  41 82 00 18 */	beq lbl_802C5C30
/* 802C5C1C 002C187C  40 80 00 3C */	bge lbl_802C5C58
/* 802C5C20 002C1880  48 00 02 3C */	b lbl_802C5E5C
lbl_802C5C24:
/* 802C5C24 002C1884  2C 00 00 04 */	cmpwi r0, 4
/* 802C5C28 002C1888  40 80 02 34 */	bge lbl_802C5E5C
/* 802C5C2C 002C188C  48 00 01 A4 */	b lbl_802C5DD0
lbl_802C5C30:
/* 802C5C30 002C1890  38 60 00 00 */	li r3, 0
/* 802C5C34 002C1894  38 00 00 05 */	li r0, 5
/* 802C5C38 002C1898  98 66 06 4E */	stb r3, 0x64e(r6)
/* 802C5C3C 002C189C  38 66 05 74 */	addi r3, r6, 0x574
/* 802C5C40 002C18A0  38 80 00 01 */	li r4, 1
/* 802C5C44 002C18A4  38 A0 00 04 */	li r5, 4
/* 802C5C48 002C18A8  98 06 06 4F */	stb r0, 0x64f(r6)
/* 802C5C4C 002C18AC  4B FF 78 91 */	bl btu_start_timer
/* 802C5C50 002C18B0  48 00 B6 1D */	bl btsnd_hcic_reset
/* 802C5C54 002C18B4  48 00 02 08 */	b lbl_802C5E5C
lbl_802C5C58:
/* 802C5C58 002C18B8  38 00 00 04 */	li r0, 4
/* 802C5C5C 002C18BC  38 60 00 02 */	li r3, 2
/* 802C5C60 002C18C0  98 66 06 4E */	stb r3, 0x64e(r6)
/* 802C5C64 002C18C4  98 06 06 4F */	stb r0, 0x64f(r6)
/* 802C5C68 002C18C8  48 00 00 18 */	b lbl_802C5C80
/* 802C5C6C 002C18CC  98 06 06 4F */	stb r0, 0x64f(r6)
/* 802C5C70 002C18D0  98 06 06 4E */	stb r0, 0x64e(r6)
/* 802C5C74 002C18D4  4B FF 78 69 */	bl btu_start_timer
/* 802C5C78 002C18D8  48 00 B5 F5 */	bl btsnd_hcic_reset
/* 802C5C7C 002C18DC  48 00 00 28 */	b lbl_802C5CA4
lbl_802C5C80:
/* 802C5C80 002C18E0  38 66 05 74 */	addi r3, r6, 0x574
/* 802C5C84 002C18E4  38 80 00 01 */	li r4, 1
/* 802C5C88 002C18E8  38 A0 00 01 */	li r5, 1
/* 802C5C8C 002C18EC  4B FF 78 51 */	bl btu_start_timer
/* 802C5C90 002C18F0  38 60 00 02 */	li r3, 2
/* 802C5C94 002C18F4  4B FF 3F B9 */	bl GKI_getpoolbuf
/* 802C5C98 002C18F8  2C 03 00 00 */	cmpwi r3, 0
/* 802C5C9C 002C18FC  41 82 00 08 */	beq lbl_802C5CA4
/* 802C5CA0 002C1900  48 00 C1 45 */	bl btsnd_hcic_read_buffer_size
lbl_802C5CA4:
/* 802C5CA4 002C1904  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C5CA8 002C1908  38 A0 00 03 */	li r5, 3
/* 802C5CAC 002C190C  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C5CB0 002C1910  38 7F 06 48 */	addi r3, r31, 0x648
/* 802C5CB4 002C1914  7C 64 1B 78 */	mr r4, r3
/* 802C5CB8 002C1918  4B D3 E3 49 */	bl memcpy
/* 802C5CBC 002C191C  88 1F 06 4E */	lbz r0, 0x64e(r31)
/* 802C5CC0 002C1920  2C 00 00 00 */	cmpwi r0, 0
/* 802C5CC4 002C1924  41 82 00 24 */	beq lbl_802C5CE8
/* 802C5CC8 002C1928  28 00 00 01 */	cmplwi r0, 1
/* 802C5CCC 002C192C  41 82 00 1C */	beq lbl_802C5CE8
/* 802C5CD0 002C1930  38 60 00 02 */	li r3, 2
/* 802C5CD4 002C1934  4B FF 3F 79 */	bl GKI_getpoolbuf
/* 802C5CD8 002C1938  2C 03 00 00 */	cmpwi r3, 0
/* 802C5CDC 002C193C  41 82 00 0C */	beq lbl_802C5CE8
/* 802C5CE0 002C1940  38 9F 06 48 */	addi r4, r31, 0x648
/* 802C5CE4 002C1944  48 00 BD FD */	bl btsnd_hcic_write_dev_class
lbl_802C5CE8:
/* 802C5CE8 002C1948  3C 00 80 57 */	lis r0, 0x8057
/* 802C5CEC 002C194C  37 E0 8B 78 */	addic. r31, r0, -29832
/* 802C5CF0 002C1950  41 82 00 60 */	beq lbl_802C5D50
/* 802C5CF4 002C1954  88 1F 06 4E */	lbz r0, 0x64e(r31)
/* 802C5CF8 002C1958  2C 00 00 00 */	cmpwi r0, 0
/* 802C5CFC 002C195C  41 82 00 54 */	beq lbl_802C5D50
/* 802C5D00 002C1960  28 00 00 01 */	cmplwi r0, 1
/* 802C5D04 002C1964  41 82 00 4C */	beq lbl_802C5D50
/* 802C5D08 002C1968  38 60 00 02 */	li r3, 2
/* 802C5D0C 002C196C  4B FF 3F 41 */	bl GKI_getpoolbuf
/* 802C5D10 002C1970  2C 03 00 00 */	cmpwi r3, 0
/* 802C5D14 002C1974  7C 7E 1B 78 */	mr r30, r3
/* 802C5D18 002C1978  41 82 00 38 */	beq lbl_802C5D50
/* 802C5D1C 002C197C  7C 1F F8 40 */	cmplw r31, r31
/* 802C5D20 002C1980  41 82 00 24 */	beq lbl_802C5D44
/* 802C5D24 002C1984  7F E3 FB 78 */	mr r3, r31
/* 802C5D28 002C1988  38 80 00 00 */	li r4, 0
/* 802C5D2C 002C198C  38 A0 00 20 */	li r5, 0x20
/* 802C5D30 002C1990  4B D3 E3 D5 */	bl memset
/* 802C5D34 002C1994  7F E3 FB 78 */	mr r3, r31
/* 802C5D38 002C1998  7F E4 FB 78 */	mr r4, r31
/* 802C5D3C 002C199C  38 A0 00 1F */	li r5, 0x1f
/* 802C5D40 002C19A0  4B F0 86 51 */	bl strncpy
lbl_802C5D44:
/* 802C5D44 002C19A4  7F C3 F3 78 */	mr r3, r30
/* 802C5D48 002C19A8  7F E4 FB 78 */	mr r4, r31
/* 802C5D4C 002C19AC  48 00 BA 7D */	bl btsnd_hcic_change_name
lbl_802C5D50:
/* 802C5D50 002C19B0  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C5D54 002C19B4  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C5D58 002C19B8  88 65 00 20 */	lbz r3, 0x20(r5)
/* 802C5D5C 002C19BC  38 85 00 22 */	addi r4, r5, 0x22
/* 802C5D60 002C19C0  88 A5 00 21 */	lbz r5, 0x21(r5)
/* 802C5D64 002C19C4  48 00 4C 71 */	bl BTM_SetPinType
/* 802C5D68 002C19C8  48 00 00 F4 */	b lbl_802C5E5C
lbl_802C5D6C:
/* 802C5D6C 002C19CC  88 66 06 4F */	lbz r3, 0x64f(r6)
/* 802C5D70 002C19D0  38 63 FF FF */	addi r3, r3, -1
/* 802C5D74 002C19D4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C5D78 002C19D8  98 66 06 4F */	stb r3, 0x64f(r6)
/* 802C5D7C 002C19DC  40 82 00 2C */	bne lbl_802C5DA8
/* 802C5D80 002C19E0  38 60 00 00 */	li r3, 0
/* 802C5D84 002C19E4  38 00 00 05 */	li r0, 5
/* 802C5D88 002C19E8  98 66 06 4E */	stb r3, 0x64e(r6)
/* 802C5D8C 002C19EC  38 66 05 74 */	addi r3, r6, 0x574
/* 802C5D90 002C19F0  38 80 00 01 */	li r4, 1
/* 802C5D94 002C19F4  38 A0 00 04 */	li r5, 4
/* 802C5D98 002C19F8  98 06 06 4F */	stb r0, 0x64f(r6)
/* 802C5D9C 002C19FC  4B FF 77 41 */	bl btu_start_timer
/* 802C5DA0 002C1A00  48 00 B4 CD */	bl btsnd_hcic_reset
/* 802C5DA4 002C1A04  48 00 00 B8 */	b lbl_802C5E5C
lbl_802C5DA8:
/* 802C5DA8 002C1A08  38 66 05 74 */	addi r3, r6, 0x574
/* 802C5DAC 002C1A0C  38 80 00 01 */	li r4, 1
/* 802C5DB0 002C1A10  38 A0 00 01 */	li r5, 1
/* 802C5DB4 002C1A14  4B FF 77 29 */	bl btu_start_timer
/* 802C5DB8 002C1A18  38 60 00 02 */	li r3, 2
/* 802C5DBC 002C1A1C  4B FF 3E 91 */	bl GKI_getpoolbuf
/* 802C5DC0 002C1A20  2C 03 00 00 */	cmpwi r3, 0
/* 802C5DC4 002C1A24  41 82 00 98 */	beq lbl_802C5E5C
/* 802C5DC8 002C1A28  48 00 C0 1D */	bl btsnd_hcic_read_buffer_size
/* 802C5DCC 002C1A2C  48 00 00 90 */	b lbl_802C5E5C
lbl_802C5DD0:
/* 802C5DD0 002C1A30  88 66 06 4F */	lbz r3, 0x64f(r6)
/* 802C5DD4 002C1A34  38 63 FF FF */	addi r3, r3, -1
/* 802C5DD8 002C1A38  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C5DDC 002C1A3C  98 66 06 4F */	stb r3, 0x64f(r6)
/* 802C5DE0 002C1A40  40 82 00 2C */	bne lbl_802C5E0C
/* 802C5DE4 002C1A44  38 60 00 00 */	li r3, 0
/* 802C5DE8 002C1A48  38 00 00 05 */	li r0, 5
/* 802C5DEC 002C1A4C  98 66 06 4E */	stb r3, 0x64e(r6)
/* 802C5DF0 002C1A50  38 66 05 74 */	addi r3, r6, 0x574
/* 802C5DF4 002C1A54  38 80 00 01 */	li r4, 1
/* 802C5DF8 002C1A58  38 A0 00 04 */	li r5, 4
/* 802C5DFC 002C1A5C  98 06 06 4F */	stb r0, 0x64f(r6)
/* 802C5E00 002C1A60  4B FF 76 DD */	bl btu_start_timer
/* 802C5E04 002C1A64  48 00 B4 69 */	bl btsnd_hcic_reset
/* 802C5E08 002C1A68  48 00 00 54 */	b lbl_802C5E5C
lbl_802C5E0C:
/* 802C5E0C 002C1A6C  38 66 05 74 */	addi r3, r6, 0x574
/* 802C5E10 002C1A70  38 80 00 01 */	li r4, 1
/* 802C5E14 002C1A74  38 A0 00 01 */	li r5, 1
/* 802C5E18 002C1A78  4B FF 76 C5 */	bl btu_start_timer
/* 802C5E1C 002C1A7C  48 00 BF 0D */	bl btsnd_hcic_read_local_ver
/* 802C5E20 002C1A80  48 00 BF ED */	bl btsnd_hcic_read_bd_addr
/* 802C5E24 002C1A84  48 00 33 0D */	bl btm_pm_reset
/* 802C5E28 002C1A88  48 00 00 34 */	b lbl_802C5E5C
lbl_802C5E2C:
/* 802C5E2C 002C1A8C  28 00 00 02 */	cmplwi r0, 2
/* 802C5E30 002C1A90  40 82 00 2C */	bne lbl_802C5E5C
/* 802C5E34 002C1A94  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5E38 002C1A98  38 00 00 00 */	li r0, 0
/* 802C5E3C 002C1A9C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5E40 002C1AA0  81 83 05 A8 */	lwz r12, 0x5a8(r3)
/* 802C5E44 002C1AA4  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5E48 002C1AA8  90 03 05 A8 */	stw r0, 0x5a8(r3)
/* 802C5E4C 002C1AAC  41 82 00 10 */	beq lbl_802C5E5C
/* 802C5E50 002C1AB0  38 60 00 00 */	li r3, 0
/* 802C5E54 002C1AB4  7D 89 03 A6 */	mtctr r12
/* 802C5E58 002C1AB8  4E 80 04 21 */	bctrl
lbl_802C5E5C:
/* 802C5E5C 002C1ABC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C5E60 002C1AC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C5E64 002C1AC4  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C5E68 002C1AC8  7C 08 03 A6 */	mtlr r0
/* 802C5E6C 002C1ACC  38 21 00 10 */	addi r1, r1, 0x10
/* 802C5E70 002C1AD0  4E 80 00 20 */	blr

.global btm_reset_complete
btm_reset_complete:
/* 802C5E74 002C1AD4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C5E78 002C1AD8  7C 08 02 A6 */	mflr r0
/* 802C5E7C 002C1ADC  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C5E80 002C1AE0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C5E84 002C1AE4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C5E88 002C1AE8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C5E8C 002C1AEC  93 C1 00 08 */	stw r30, 8(r1)
/* 802C5E90 002C1AF0  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C5E94 002C1AF4  28 00 00 04 */	cmplwi r0, 4
/* 802C5E98 002C1AF8  41 80 00 18 */	blt lbl_802C5EB0
/* 802C5E9C 002C1AFC  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C5EA0 002C1B00  3C 80 80 44 */	lis r4, lbl_80441110@ha
/* 802C5EA4 002C1B04  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C5EA8 002C1B08  38 84 11 10 */	addi r4, r4, lbl_80441110@l
/* 802C5EAC 002C1B0C  4B FF 70 65 */	bl LogMsg_0
lbl_802C5EB0:
/* 802C5EB0 002C1B10  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C5EB4 002C1B14  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C5EB8 002C1B18  81 9F 06 20 */	lwz r12, 0x620(r31)
/* 802C5EBC 002C1B1C  2C 0C 00 00 */	cmpwi r12, 0
/* 802C5EC0 002C1B20  41 82 00 1C */	beq lbl_802C5EDC
/* 802C5EC4 002C1B24  38 00 00 00 */	li r0, 0
/* 802C5EC8 002C1B28  38 60 00 00 */	li r3, 0
/* 802C5ECC 002C1B2C  90 1F 06 20 */	stw r0, 0x620(r31)
/* 802C5ED0 002C1B30  7D 89 03 A6 */	mtctr r12
/* 802C5ED4 002C1B34  4E 80 04 21 */	bctrl
/* 802C5ED8 002C1B38  48 00 01 48 */	b lbl_802C6020
lbl_802C5EDC:
/* 802C5EDC 002C1B3C  88 1F 06 4E */	lbz r0, 0x64e(r31)
/* 802C5EE0 002C1B40  2C 00 00 00 */	cmpwi r0, 0
/* 802C5EE4 002C1B44  40 82 01 3C */	bne lbl_802C6020
/* 802C5EE8 002C1B48  48 01 56 A5 */	bl l2cu_device_reset
/* 802C5EEC 002C1B4C  38 C0 00 12 */	li r6, 0x12
/* 802C5EF0 002C1B50  38 A0 08 00 */	li r5, 0x800
/* 802C5EF4 002C1B54  38 80 00 00 */	li r4, 0
/* 802C5EF8 002C1B58  38 00 00 04 */	li r0, 4
/* 802C5EFC 002C1B5C  38 60 00 02 */	li r3, 2
/* 802C5F00 002C1B60  B0 DF 16 A0 */	sth r6, 0x16a0(r31)
/* 802C5F04 002C1B64  B0 BF 16 A2 */	sth r5, 0x16a2(r31)
/* 802C5F08 002C1B68  B0 9F 16 A4 */	sth r4, 0x16a4(r31)
/* 802C5F0C 002C1B6C  B0 DF 16 9C */	sth r6, 0x169c(r31)
/* 802C5F10 002C1B70  B0 BF 16 9E */	sth r5, 0x169e(r31)
/* 802C5F14 002C1B74  B0 9F 16 A6 */	sth r4, 0x16a6(r31)
/* 802C5F18 002C1B78  98 7F 06 4E */	stb r3, 0x64e(r31)
/* 802C5F1C 002C1B7C  98 1F 06 4F */	stb r0, 0x64f(r31)
/* 802C5F20 002C1B80  48 00 00 18 */	b lbl_802C5F38
/* 802C5F24 002C1B84  98 9F 06 4E */	stb r4, 0x64e(r31)
/* 802C5F28 002C1B88  98 1F 06 4F */	stb r0, 0x64f(r31)
/* 802C5F2C 002C1B8C  4B FF 75 B1 */	bl btu_start_timer
/* 802C5F30 002C1B90  48 00 B3 3D */	bl btsnd_hcic_reset
/* 802C5F34 002C1B94  48 00 00 28 */	b lbl_802C5F5C
lbl_802C5F38:
/* 802C5F38 002C1B98  38 7F 05 74 */	addi r3, r31, 0x574
/* 802C5F3C 002C1B9C  38 80 00 01 */	li r4, 1
/* 802C5F40 002C1BA0  38 A0 00 01 */	li r5, 1
/* 802C5F44 002C1BA4  4B FF 75 99 */	bl btu_start_timer
/* 802C5F48 002C1BA8  38 60 00 02 */	li r3, 2
/* 802C5F4C 002C1BAC  4B FF 3D 01 */	bl GKI_getpoolbuf
/* 802C5F50 002C1BB0  2C 03 00 00 */	cmpwi r3, 0
/* 802C5F54 002C1BB4  41 82 00 08 */	beq lbl_802C5F5C
/* 802C5F58 002C1BB8  48 00 BE 8D */	bl btsnd_hcic_read_buffer_size
lbl_802C5F5C:
/* 802C5F5C 002C1BBC  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C5F60 002C1BC0  38 A0 00 03 */	li r5, 3
/* 802C5F64 002C1BC4  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C5F68 002C1BC8  38 7F 06 48 */	addi r3, r31, 0x648
/* 802C5F6C 002C1BCC  7C 64 1B 78 */	mr r4, r3
/* 802C5F70 002C1BD0  4B D3 E0 91 */	bl memcpy
/* 802C5F74 002C1BD4  88 1F 06 4E */	lbz r0, 0x64e(r31)
/* 802C5F78 002C1BD8  2C 00 00 00 */	cmpwi r0, 0
/* 802C5F7C 002C1BDC  41 82 00 24 */	beq lbl_802C5FA0
/* 802C5F80 002C1BE0  28 00 00 01 */	cmplwi r0, 1
/* 802C5F84 002C1BE4  41 82 00 1C */	beq lbl_802C5FA0
/* 802C5F88 002C1BE8  38 60 00 02 */	li r3, 2
/* 802C5F8C 002C1BEC  4B FF 3C C1 */	bl GKI_getpoolbuf
/* 802C5F90 002C1BF0  2C 03 00 00 */	cmpwi r3, 0
/* 802C5F94 002C1BF4  41 82 00 0C */	beq lbl_802C5FA0
/* 802C5F98 002C1BF8  38 9F 06 48 */	addi r4, r31, 0x648
/* 802C5F9C 002C1BFC  48 00 BB 45 */	bl btsnd_hcic_write_dev_class
lbl_802C5FA0:
/* 802C5FA0 002C1C00  3C 00 80 57 */	lis r0, 0x8057
/* 802C5FA4 002C1C04  37 E0 8B 78 */	addic. r31, r0, -29832
/* 802C5FA8 002C1C08  41 82 00 60 */	beq lbl_802C6008
/* 802C5FAC 002C1C0C  88 1F 06 4E */	lbz r0, 0x64e(r31)
/* 802C5FB0 002C1C10  2C 00 00 00 */	cmpwi r0, 0
/* 802C5FB4 002C1C14  41 82 00 54 */	beq lbl_802C6008
/* 802C5FB8 002C1C18  28 00 00 01 */	cmplwi r0, 1
/* 802C5FBC 002C1C1C  41 82 00 4C */	beq lbl_802C6008
/* 802C5FC0 002C1C20  38 60 00 02 */	li r3, 2
/* 802C5FC4 002C1C24  4B FF 3C 89 */	bl GKI_getpoolbuf
/* 802C5FC8 002C1C28  2C 03 00 00 */	cmpwi r3, 0
/* 802C5FCC 002C1C2C  7C 7E 1B 78 */	mr r30, r3
/* 802C5FD0 002C1C30  41 82 00 38 */	beq lbl_802C6008
/* 802C5FD4 002C1C34  7C 1F F8 40 */	cmplw r31, r31
/* 802C5FD8 002C1C38  41 82 00 24 */	beq lbl_802C5FFC
/* 802C5FDC 002C1C3C  7F E3 FB 78 */	mr r3, r31
/* 802C5FE0 002C1C40  38 80 00 00 */	li r4, 0
/* 802C5FE4 002C1C44  38 A0 00 20 */	li r5, 0x20
/* 802C5FE8 002C1C48  4B D3 E1 1D */	bl memset
/* 802C5FEC 002C1C4C  7F E3 FB 78 */	mr r3, r31
/* 802C5FF0 002C1C50  7F E4 FB 78 */	mr r4, r31
/* 802C5FF4 002C1C54  38 A0 00 1F */	li r5, 0x1f
/* 802C5FF8 002C1C58  4B F0 83 99 */	bl strncpy
lbl_802C5FFC:
/* 802C5FFC 002C1C5C  7F C3 F3 78 */	mr r3, r30
/* 802C6000 002C1C60  7F E4 FB 78 */	mr r4, r31
/* 802C6004 002C1C64  48 00 B7 C5 */	bl btsnd_hcic_change_name
lbl_802C6008:
/* 802C6008 002C1C68  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C600C 002C1C6C  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C6010 002C1C70  88 65 00 20 */	lbz r3, 0x20(r5)
/* 802C6014 002C1C74  38 85 00 22 */	addi r4, r5, 0x22
/* 802C6018 002C1C78  88 A5 00 21 */	lbz r5, 0x21(r5)
/* 802C601C 002C1C7C  48 00 49 B9 */	bl BTM_SetPinType
lbl_802C6020:
/* 802C6020 002C1C80  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C6024 002C1C84  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C6028 002C1C88  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C602C 002C1C8C  7C 08 03 A6 */	mtlr r0
/* 802C6030 002C1C90  38 21 00 10 */	addi r1, r1, 0x10
/* 802C6034 002C1C94  4E 80 00 20 */	blr

.global btm_read_hci_buf_size_complete
btm_read_hci_buf_size_complete:
/* 802C6038 002C1C98  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C603C 002C1C9C  7C 08 02 A6 */	mflr r0
/* 802C6040 002C1CA0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C6044 002C1CA4  88 03 00 00 */	lbz r0, 0(r3)
/* 802C6048 002C1CA8  2C 00 00 00 */	cmpwi r0, 0
/* 802C604C 002C1CAC  40 82 00 58 */	bne lbl_802C60A4
/* 802C6050 002C1CB0  88 03 00 02 */	lbz r0, 2(r3)
/* 802C6054 002C1CB4  3C C0 80 57 */	lis r6, lbl_80568650@ha
/* 802C6058 002C1CB8  88 83 00 01 */	lbz r4, 1(r3)
/* 802C605C 002C1CBC  38 C6 86 50 */	addi r6, r6, lbl_80568650@l
/* 802C6060 002C1CC0  54 00 40 2E */	slwi r0, r0, 8
/* 802C6064 002C1CC4  7C 04 02 14 */	add r0, r4, r0
/* 802C6068 002C1CC8  B0 06 00 7C */	sth r0, 0x7c(r6)
/* 802C606C 002C1CCC  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802C6070 002C1CD0  38 04 00 04 */	addi r0, r4, 4
/* 802C6074 002C1CD4  88 83 00 05 */	lbz r4, 5(r3)
/* 802C6078 002C1CD8  88 A3 00 04 */	lbz r5, 4(r3)
/* 802C607C 002C1CDC  54 83 40 2E */	slwi r3, r4, 8
/* 802C6080 002C1CE0  7C 65 1A 14 */	add r3, r5, r3
/* 802C6084 002C1CE4  B0 06 00 7E */	sth r0, 0x7e(r6)
/* 802C6088 002C1CE8  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802C608C 002C1CEC  48 01 25 7D */	bl l2c_link_processs_num_bufs
/* 802C6090 002C1CF0  38 60 06 9B */	li r3, 0x69b
/* 802C6094 002C1CF4  38 80 00 1E */	li r4, 0x1e
/* 802C6098 002C1CF8  38 A0 00 14 */	li r5, 0x14
/* 802C609C 002C1CFC  38 C0 00 0A */	li r6, 0xa
/* 802C60A0 002C1D00  48 00 BA C9 */	bl btsnd_hcic_set_host_buf_size
lbl_802C60A4:
/* 802C60A4 002C1D04  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C60A8 002C1D08  38 00 00 04 */	li r0, 4
/* 802C60AC 002C1D0C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C60B0 002C1D10  38 80 00 03 */	li r4, 3
/* 802C60B4 002C1D14  98 83 06 4E */	stb r4, 0x64e(r3)
/* 802C60B8 002C1D18  98 03 06 4F */	stb r0, 0x64f(r3)
/* 802C60BC 002C1D1C  48 00 00 18 */	b lbl_802C60D4
/* 802C60C0 002C1D20  98 03 06 4F */	stb r0, 0x64f(r3)
/* 802C60C4 002C1D24  98 03 06 4E */	stb r0, 0x64e(r3)
/* 802C60C8 002C1D28  4B FF 74 15 */	bl btu_start_timer
/* 802C60CC 002C1D2C  48 00 B1 A1 */	bl btsnd_hcic_reset
/* 802C60D0 002C1D30  48 00 00 20 */	b lbl_802C60F0
lbl_802C60D4:
/* 802C60D4 002C1D34  38 63 05 74 */	addi r3, r3, 0x574
/* 802C60D8 002C1D38  38 80 00 01 */	li r4, 1
/* 802C60DC 002C1D3C  38 A0 00 01 */	li r5, 1
/* 802C60E0 002C1D40  4B FF 73 FD */	bl btu_start_timer
/* 802C60E4 002C1D44  48 00 BC 45 */	bl btsnd_hcic_read_local_ver
/* 802C60E8 002C1D48  48 00 BD 25 */	bl btsnd_hcic_read_bd_addr
/* 802C60EC 002C1D4C  48 00 30 45 */	bl btm_pm_reset
lbl_802C60F0:
/* 802C60F0 002C1D50  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C60F4 002C1D54  7C 08 03 A6 */	mtlr r0
/* 802C60F8 002C1D58  38 21 00 10 */	addi r1, r1, 0x10
/* 802C60FC 002C1D5C  4E 80 00 20 */	blr

.global btm_read_local_version_complete
btm_read_local_version_complete:
/* 802C6100 002C1D60  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C6104 002C1D64  7C 08 02 A6 */	mflr r0
/* 802C6108 002C1D68  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C610C 002C1D6C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C6110 002C1D70  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C6114 002C1D74  88 03 00 00 */	lbz r0, 0(r3)
/* 802C6118 002C1D78  2C 00 00 00 */	cmpwi r0, 0
/* 802C611C 002C1D7C  40 82 00 50 */	bne lbl_802C616C
/* 802C6120 002C1D80  88 03 00 01 */	lbz r0, 1(r3)
/* 802C6124 002C1D84  98 05 06 36 */	stb r0, 0x636(r5)
/* 802C6128 002C1D88  88 03 00 03 */	lbz r0, 3(r3)
/* 802C612C 002C1D8C  88 83 00 02 */	lbz r4, 2(r3)
/* 802C6130 002C1D90  54 00 40 2E */	slwi r0, r0, 8
/* 802C6134 002C1D94  7C 04 02 14 */	add r0, r4, r0
/* 802C6138 002C1D98  B0 05 06 38 */	sth r0, 0x638(r5)
/* 802C613C 002C1D9C  88 03 00 04 */	lbz r0, 4(r3)
/* 802C6140 002C1DA0  98 05 06 3A */	stb r0, 0x63a(r5)
/* 802C6144 002C1DA4  88 03 00 06 */	lbz r0, 6(r3)
/* 802C6148 002C1DA8  88 83 00 05 */	lbz r4, 5(r3)
/* 802C614C 002C1DAC  54 00 40 2E */	slwi r0, r0, 8
/* 802C6150 002C1DB0  7C 04 02 14 */	add r0, r4, r0
/* 802C6154 002C1DB4  B0 05 06 3C */	sth r0, 0x63c(r5)
/* 802C6158 002C1DB8  88 03 00 08 */	lbz r0, 8(r3)
/* 802C615C 002C1DBC  88 63 00 07 */	lbz r3, 7(r3)
/* 802C6160 002C1DC0  54 00 40 2E */	slwi r0, r0, 8
/* 802C6164 002C1DC4  7C 03 02 14 */	add r0, r3, r0
/* 802C6168 002C1DC8  B0 05 06 3E */	sth r0, 0x63e(r5)
lbl_802C616C:
/* 802C616C 002C1DCC  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6170 002C1DD0  38 00 00 04 */	li r0, 4
/* 802C6174 002C1DD4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6178 002C1DD8  98 03 06 4E */	stb r0, 0x64e(r3)
/* 802C617C 002C1DDC  98 03 06 4F */	stb r0, 0x64f(r3)
/* 802C6180 002C1DE0  48 00 00 18 */	b lbl_802C6198
/* 802C6184 002C1DE4  98 03 06 4F */	stb r0, 0x64f(r3)
/* 802C6188 002C1DE8  98 03 06 4E */	stb r0, 0x64e(r3)
/* 802C618C 002C1DEC  4B FF 73 51 */	bl btu_start_timer
/* 802C6190 002C1DF0  48 00 B0 DD */	bl btsnd_hcic_reset
/* 802C6194 002C1DF4  48 00 00 18 */	b lbl_802C61AC
lbl_802C6198:
/* 802C6198 002C1DF8  38 63 05 74 */	addi r3, r3, 0x574
/* 802C619C 002C1DFC  38 80 00 01 */	li r4, 1
/* 802C61A0 002C1E00  38 A0 00 01 */	li r5, 1
/* 802C61A4 002C1E04  4B FF 73 39 */	bl btu_start_timer
/* 802C61A8 002C1E08  48 00 BB E1 */	bl btsnd_hcic_read_local_features
lbl_802C61AC:
/* 802C61AC 002C1E0C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C61B0 002C1E10  7C 08 03 A6 */	mtlr r0
/* 802C61B4 002C1E14  38 21 00 10 */	addi r1, r1, 0x10
/* 802C61B8 002C1E18  4E 80 00 20 */	blr

.global btm_read_local_features_complete
btm_read_local_features_complete:
/* 802C61BC 002C1E1C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C61C0 002C1E20  7C 08 02 A6 */	mflr r0
/* 802C61C4 002C1E24  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C61C8 002C1E28  39 61 00 20 */	addi r11, r1, 0x20
/* 802C61CC 002C1E2C  4B F0 0F 5D */	bl _savegpr_27
/* 802C61D0 002C1E30  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C61D4 002C1E34  3F C0 80 44 */	lis r30, lbl_804410E0@ha
/* 802C61D8 002C1E38  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C61DC 002C1E3C  38 00 00 00 */	li r0, 0
/* 802C61E0 002C1E40  83 9F 05 8C */	lwz r28, 0x58c(r31)
/* 802C61E4 002C1E44  3B DE 10 E0 */	addi r30, r30, lbl_804410E0@l
/* 802C61E8 002C1E48  90 1F 05 8C */	stw r0, 0x58c(r31)
/* 802C61EC 002C1E4C  88 03 00 00 */	lbz r0, 0(r3)
/* 802C61F0 002C1E50  2C 00 00 00 */	cmpwi r0, 0
/* 802C61F4 002C1E54  40 82 04 AC */	bne lbl_802C66A0
/* 802C61F8 002C1E58  38 00 00 05 */	li r0, 5
/* 802C61FC 002C1E5C  38 80 00 18 */	li r4, 0x18
/* 802C6200 002C1E60  98 1F 06 4E */	stb r0, 0x64e(r31)
/* 802C6204 002C1E64  88 03 00 01 */	lbz r0, 1(r3)
/* 802C6208 002C1E68  98 1F 06 40 */	stb r0, 0x640(r31)
/* 802C620C 002C1E6C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 802C6210 002C1E70  88 03 00 02 */	lbz r0, 2(r3)
/* 802C6214 002C1E74  98 1F 06 41 */	stb r0, 0x641(r31)
/* 802C6218 002C1E78  88 03 00 03 */	lbz r0, 3(r3)
/* 802C621C 002C1E7C  98 1F 06 42 */	stb r0, 0x642(r31)
/* 802C6220 002C1E80  88 03 00 04 */	lbz r0, 4(r3)
/* 802C6224 002C1E84  98 1F 06 43 */	stb r0, 0x643(r31)
/* 802C6228 002C1E88  88 03 00 05 */	lbz r0, 5(r3)
/* 802C622C 002C1E8C  98 1F 06 44 */	stb r0, 0x644(r31)
/* 802C6230 002C1E90  88 03 00 06 */	lbz r0, 6(r3)
/* 802C6234 002C1E94  98 1F 06 45 */	stb r0, 0x645(r31)
/* 802C6238 002C1E98  88 03 00 07 */	lbz r0, 7(r3)
/* 802C623C 002C1E9C  98 1F 06 46 */	stb r0, 0x646(r31)
/* 802C6240 002C1EA0  88 03 00 08 */	lbz r0, 8(r3)
/* 802C6244 002C1EA4  98 1F 06 47 */	stb r0, 0x647(r31)
/* 802C6248 002C1EA8  B0 9F 06 54 */	sth r4, 0x654(r31)
/* 802C624C 002C1EAC  41 82 00 0C */	beq lbl_802C6258
/* 802C6250 002C1EB0  60 80 0C 00 */	ori r0, r4, 0xc00
/* 802C6254 002C1EB4  B0 1F 06 54 */	sth r0, 0x654(r31)
lbl_802C6258:
/* 802C6258 002C1EB8  88 1F 06 40 */	lbz r0, 0x640(r31)
/* 802C625C 002C1EBC  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 802C6260 002C1EC0  41 82 00 18 */	beq lbl_802C6278
/* 802C6264 002C1EC4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6268 002C1EC8  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C626C 002C1ECC  A0 03 06 54 */	lhz r0, 0x654(r3)
/* 802C6270 002C1ED0  60 00 C0 00 */	ori r0, r0, 0xc000
/* 802C6274 002C1ED4  B0 03 06 54 */	sth r0, 0x654(r3)
lbl_802C6278:
/* 802C6278 002C1ED8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C627C 002C1EDC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6280 002C1EE0  88 03 06 36 */	lbz r0, 0x636(r3)
/* 802C6284 002C1EE4  28 00 00 03 */	cmplwi r0, 3
/* 802C6288 002C1EE8  41 80 00 90 */	blt lbl_802C6318
/* 802C628C 002C1EEC  88 1F 06 43 */	lbz r0, 0x643(r31)
/* 802C6290 002C1EF0  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 802C6294 002C1EF4  40 82 00 10 */	bne lbl_802C62A4
/* 802C6298 002C1EF8  A0 03 06 54 */	lhz r0, 0x654(r3)
/* 802C629C 002C1EFC  60 00 11 02 */	ori r0, r0, 0x1102
/* 802C62A0 002C1F00  B0 03 06 54 */	sth r0, 0x654(r3)
lbl_802C62A4:
/* 802C62A4 002C1F04  88 1F 06 43 */	lbz r0, 0x643(r31)
/* 802C62A8 002C1F08  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802C62AC 002C1F0C  40 82 00 18 */	bne lbl_802C62C4
/* 802C62B0 002C1F10  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C62B4 002C1F14  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C62B8 002C1F18  A0 03 06 54 */	lhz r0, 0x654(r3)
/* 802C62BC 002C1F1C  60 00 22 04 */	ori r0, r0, 0x2204
/* 802C62C0 002C1F20  B0 03 06 54 */	sth r0, 0x654(r3)
lbl_802C62C4:
/* 802C62C4 002C1F24  88 7F 06 43 */	lbz r3, 0x643(r31)
/* 802C62C8 002C1F28  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 802C62CC 002C1F2C  40 82 00 0C */	bne lbl_802C62D8
/* 802C62D0 002C1F30  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 802C62D4 002C1F34  41 82 00 44 */	beq lbl_802C6318
lbl_802C62D8:
/* 802C62D8 002C1F38  88 1F 06 44 */	lbz r0, 0x644(r31)
/* 802C62DC 002C1F3C  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 802C62E0 002C1F40  40 82 00 18 */	bne lbl_802C62F8
/* 802C62E4 002C1F44  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C62E8 002C1F48  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C62EC 002C1F4C  A0 03 06 54 */	lhz r0, 0x654(r3)
/* 802C62F0 002C1F50  60 00 03 00 */	ori r0, r0, 0x300
/* 802C62F4 002C1F54  B0 03 06 54 */	sth r0, 0x654(r3)
lbl_802C62F8:
/* 802C62F8 002C1F58  88 1F 06 45 */	lbz r0, 0x645(r31)
/* 802C62FC 002C1F5C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 802C6300 002C1F60  40 82 00 18 */	bne lbl_802C6318
/* 802C6304 002C1F64  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6308 002C1F68  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C630C 002C1F6C  A0 03 06 54 */	lhz r0, 0x654(r3)
/* 802C6310 002C1F70  60 00 30 00 */	ori r0, r0, 0x3000
/* 802C6314 002C1F74  B0 03 06 54 */	sth r0, 0x654(r3)
lbl_802C6318:
/* 802C6318 002C1F78  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C631C 002C1F7C  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6320 002C1F80  88 04 27 C0 */	lbz r0, 0x27c0(r4)
/* 802C6324 002C1F84  28 00 00 05 */	cmplwi r0, 5
/* 802C6328 002C1F88  41 80 00 18 */	blt lbl_802C6340
/* 802C632C 002C1F8C  3C 60 00 0D */	lis r3, 0x000D0004@ha
/* 802C6330 002C1F90  A0 A4 06 54 */	lhz r5, 0x654(r4)
/* 802C6334 002C1F94  38 63 00 04 */	addi r3, r3, 0x000D0004@l
/* 802C6338 002C1F98  38 9E 00 44 */	addi r4, r30, 0x44
/* 802C633C 002C1F9C  4B FF 6B ED */	bl LogMsg_1
lbl_802C6340:
/* 802C6340 002C1FA0  88 7F 06 41 */	lbz r3, 0x641(r31)
/* 802C6344 002C1FA4  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6348 002C1FA8  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C634C 002C1FAC  38 A0 00 00 */	li r5, 0
/* 802C6350 002C1FB0  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 802C6354 002C1FB4  B0 A4 06 56 */	sth r5, 0x656(r4)
/* 802C6358 002C1FB8  98 A4 19 08 */	stb r5, 0x1908(r4)
/* 802C635C 002C1FBC  41 82 00 3C */	beq lbl_802C6398
/* 802C6360 002C1FC0  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802C6364 002C1FC4  38 00 00 01 */	li r0, 1
/* 802C6368 002C1FC8  B0 04 06 56 */	sth r0, 0x656(r4)
/* 802C636C 002C1FCC  41 82 00 0C */	beq lbl_802C6378
/* 802C6370 002C1FD0  60 00 00 02 */	ori r0, r0, 2
/* 802C6374 002C1FD4  B0 04 06 56 */	sth r0, 0x656(r4)
lbl_802C6378:
/* 802C6378 002C1FD8  88 1F 06 41 */	lbz r0, 0x641(r31)
/* 802C637C 002C1FDC  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 802C6380 002C1FE0  41 82 00 18 */	beq lbl_802C6398
/* 802C6384 002C1FE4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6388 002C1FE8  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C638C 002C1FEC  A0 03 06 56 */	lhz r0, 0x656(r3)
/* 802C6390 002C1FF0  60 00 00 04 */	ori r0, r0, 4
/* 802C6394 002C1FF4  B0 03 06 56 */	sth r0, 0x656(r3)
lbl_802C6398:
/* 802C6398 002C1FF8  88 1F 06 43 */	lbz r0, 0x643(r31)
/* 802C639C 002C1FFC  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 802C63A0 002C2000  41 82 00 18 */	beq lbl_802C63B8
/* 802C63A4 002C2004  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C63A8 002C2008  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C63AC 002C200C  A0 03 06 56 */	lhz r0, 0x656(r3)
/* 802C63B0 002C2010  60 00 00 08 */	ori r0, r0, 8
/* 802C63B4 002C2014  B0 03 06 56 */	sth r0, 0x656(r3)
lbl_802C63B8:
/* 802C63B8 002C2018  88 1F 06 44 */	lbz r0, 0x644(r31)
/* 802C63BC 002C201C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 802C63C0 002C2020  41 82 00 18 */	beq lbl_802C63D8
/* 802C63C4 002C2024  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C63C8 002C2028  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C63CC 002C202C  A0 03 06 56 */	lhz r0, 0x656(r3)
/* 802C63D0 002C2030  60 00 00 10 */	ori r0, r0, 0x10
/* 802C63D4 002C2034  B0 03 06 56 */	sth r0, 0x656(r3)
lbl_802C63D8:
/* 802C63D8 002C2038  88 1F 06 44 */	lbz r0, 0x644(r31)
/* 802C63DC 002C203C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 802C63E0 002C2040  41 82 00 18 */	beq lbl_802C63F8
/* 802C63E4 002C2044  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C63E8 002C2048  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C63EC 002C204C  A0 03 06 56 */	lhz r0, 0x656(r3)
/* 802C63F0 002C2050  60 00 00 20 */	ori r0, r0, 0x20
/* 802C63F4 002C2054  B0 03 06 56 */	sth r0, 0x656(r3)
lbl_802C63F8:
/* 802C63F8 002C2058  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C63FC 002C205C  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6400 002C2060  A0 64 06 56 */	lhz r3, 0x656(r4)
/* 802C6404 002C2064  54 60 06 B9 */	rlwinm. r0, r3, 0, 0x1a, 0x1c
/* 802C6408 002C2068  41 82 00 74 */	beq lbl_802C647C
/* 802C640C 002C206C  88 BF 06 45 */	lbz r5, 0x645(r31)
/* 802C6410 002C2070  38 00 00 01 */	li r0, 1
/* 802C6414 002C2074  98 04 19 08 */	stb r0, 0x1908(r4)
/* 802C6418 002C2078  54 A0 06 B5 */	rlwinm. r0, r5, 0, 0x1a, 0x1a
/* 802C641C 002C207C  41 82 00 18 */	beq lbl_802C6434
/* 802C6420 002C2080  54 A0 06 31 */	rlwinm. r0, r5, 0, 0x18, 0x18
/* 802C6424 002C2084  40 82 00 18 */	bne lbl_802C643C
/* 802C6428 002C2088  60 60 01 00 */	ori r0, r3, 0x100
/* 802C642C 002C208C  B0 04 06 56 */	sth r0, 0x656(r4)
/* 802C6430 002C2090  48 00 00 0C */	b lbl_802C643C
lbl_802C6434:
/* 802C6434 002C2094  60 60 01 40 */	ori r0, r3, 0x140
/* 802C6438 002C2098  B0 04 06 56 */	sth r0, 0x656(r4)
lbl_802C643C:
/* 802C643C 002C209C  88 7F 06 45 */	lbz r3, 0x645(r31)
/* 802C6440 002C20A0  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 802C6444 002C20A4  41 82 00 24 */	beq lbl_802C6468
/* 802C6448 002C20A8  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 802C644C 002C20AC  40 82 00 30 */	bne lbl_802C647C
/* 802C6450 002C20B0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6454 002C20B4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6458 002C20B8  A0 03 06 56 */	lhz r0, 0x656(r3)
/* 802C645C 002C20BC  60 00 02 00 */	ori r0, r0, 0x200
/* 802C6460 002C20C0  B0 03 06 56 */	sth r0, 0x656(r3)
/* 802C6464 002C20C4  48 00 00 18 */	b lbl_802C647C
lbl_802C6468:
/* 802C6468 002C20C8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C646C 002C20CC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6470 002C20D0  A0 03 06 56 */	lhz r0, 0x656(r3)
/* 802C6474 002C20D4  60 00 02 80 */	ori r0, r0, 0x280
/* 802C6478 002C20D8  B0 03 06 56 */	sth r0, 0x656(r3)
lbl_802C647C:
/* 802C647C 002C20DC  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6480 002C20E0  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6484 002C20E4  88 04 27 C0 */	lbz r0, 0x27c0(r4)
/* 802C6488 002C20E8  28 00 00 05 */	cmplwi r0, 5
/* 802C648C 002C20EC  41 80 00 18 */	blt lbl_802C64A4
/* 802C6490 002C20F0  3C 60 00 0D */	lis r3, 0x000D0004@ha
/* 802C6494 002C20F4  A0 A4 06 56 */	lhz r5, 0x656(r4)
/* 802C6498 002C20F8  38 63 00 04 */	addi r3, r3, 0x000D0004@l
/* 802C649C 002C20FC  38 9E 00 70 */	addi r4, r30, 0x70
/* 802C64A0 002C2100  4B FF 6A 89 */	bl LogMsg_1
lbl_802C64A4:
/* 802C64A4 002C2104  88 1F 06 40 */	lbz r0, 0x640(r31)
/* 802C64A8 002C2108  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 802C64AC 002C210C  41 82 00 1C */	beq lbl_802C64C8
/* 802C64B0 002C2110  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C64B4 002C2114  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C64B8 002C2118  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C64BC 002C211C  60 00 00 01 */	ori r0, r0, 1
/* 802C64C0 002C2120  B0 03 04 C4 */	sth r0, 0x4c4(r3)
/* 802C64C4 002C2124  48 00 00 18 */	b lbl_802C64DC
lbl_802C64C8:
/* 802C64C8 002C2128  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C64CC 002C212C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C64D0 002C2130  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C64D4 002C2134  54 00 04 3C */	rlwinm r0, r0, 0, 0x10, 0x1e
/* 802C64D8 002C2138  B0 03 04 C4 */	sth r0, 0x4c4(r3)
lbl_802C64DC:
/* 802C64DC 002C213C  88 1F 06 40 */	lbz r0, 0x640(r31)
/* 802C64E0 002C2140  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 802C64E4 002C2144  41 82 00 1C */	beq lbl_802C6500
/* 802C64E8 002C2148  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C64EC 002C214C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C64F0 002C2150  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C64F4 002C2154  60 00 00 02 */	ori r0, r0, 2
/* 802C64F8 002C2158  B0 03 04 C4 */	sth r0, 0x4c4(r3)
/* 802C64FC 002C215C  48 00 00 18 */	b lbl_802C6514
lbl_802C6500:
/* 802C6500 002C2160  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6504 002C2164  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6508 002C2168  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C650C 002C216C  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 802C6510 002C2170  B0 03 04 C4 */	sth r0, 0x4c4(r3)
lbl_802C6514:
/* 802C6514 002C2174  88 1F 06 40 */	lbz r0, 0x640(r31)
/* 802C6518 002C2178  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 802C651C 002C217C  41 82 00 1C */	beq lbl_802C6538
/* 802C6520 002C2180  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6524 002C2184  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6528 002C2188  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C652C 002C218C  60 00 00 04 */	ori r0, r0, 4
/* 802C6530 002C2190  B0 03 04 C4 */	sth r0, 0x4c4(r3)
/* 802C6534 002C2194  48 00 00 18 */	b lbl_802C654C
lbl_802C6538:
/* 802C6538 002C2198  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C653C 002C219C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6540 002C21A0  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C6544 002C21A4  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 802C6548 002C21A8  B0 03 04 C4 */	sth r0, 0x4c4(r3)
lbl_802C654C:
/* 802C654C 002C21AC  88 1F 06 41 */	lbz r0, 0x641(r31)
/* 802C6550 002C21B0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 802C6554 002C21B4  41 82 00 1C */	beq lbl_802C6570
/* 802C6558 002C21B8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C655C 002C21BC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6560 002C21C0  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C6564 002C21C4  60 00 00 08 */	ori r0, r0, 8
/* 802C6568 002C21C8  B0 03 04 C4 */	sth r0, 0x4c4(r3)
/* 802C656C 002C21CC  48 00 00 18 */	b lbl_802C6584
lbl_802C6570:
/* 802C6570 002C21D0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6574 002C21D4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6578 002C21D8  A0 03 04 C4 */	lhz r0, 0x4c4(r3)
/* 802C657C 002C21DC  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 802C6580 002C21E0  B0 03 04 C4 */	sth r0, 0x4c4(r3)
lbl_802C6584:
/* 802C6584 002C21E4  48 00 55 DD */	bl btm_sec_dev_reset
/* 802C6588 002C21E8  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C658C 002C21EC  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6590 002C21F0  8B A4 27 BE */	lbz r29, 0x27be(r4)
/* 802C6594 002C21F4  28 1D 00 FF */	cmplwi r29, 0xff
/* 802C6598 002C21F8  41 82 00 AC */	beq lbl_802C6644
/* 802C659C 002C21FC  88 04 27 C0 */	lbz r0, 0x27c0(r4)
/* 802C65A0 002C2200  38 60 00 FF */	li r3, 0xff
/* 802C65A4 002C2204  8B 64 27 BD */	lbz r27, 0x27bd(r4)
/* 802C65A8 002C2208  28 00 00 03 */	cmplwi r0, 3
/* 802C65AC 002C220C  98 64 27 BE */	stb r3, 0x27be(r4)
/* 802C65B0 002C2210  98 64 27 BD */	stb r3, 0x27bd(r4)
/* 802C65B4 002C2214  41 80 00 24 */	blt lbl_802C65D8
/* 802C65B8 002C2218  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C65BC 002C221C  7F 65 DB 78 */	mr r5, r27
/* 802C65C0 002C2220  7F A7 EB 78 */	mr r7, r29
/* 802C65C4 002C2224  38 9E 00 00 */	addi r4, r30, 0
/* 802C65C8 002C2228  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C65CC 002C222C  38 C0 00 FF */	li r6, 0xff
/* 802C65D0 002C2230  39 00 00 FF */	li r8, 0xff
/* 802C65D4 002C2234  4B FF 69 9D */	bl LogMsg_4
lbl_802C65D8:
/* 802C65D8 002C2238  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C65DC 002C223C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C65E0 002C2240  88 83 06 45 */	lbz r4, 0x645(r3)
/* 802C65E4 002C2244  54 80 07 39 */	rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 802C65E8 002C2248  40 82 00 18 */	bne lbl_802C6600
/* 802C65EC 002C224C  88 03 06 44 */	lbz r0, 0x644(r3)
/* 802C65F0 002C2250  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802C65F4 002C2254  40 82 00 0C */	bne lbl_802C6600
/* 802C65F8 002C2258  54 80 06 F7 */	rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 802C65FC 002C225C  41 82 00 48 */	beq lbl_802C6644
lbl_802C6600:
/* 802C6600 002C2260  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6604 002C2264  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6608 002C2268  88 03 27 BD */	lbz r0, 0x27bd(r3)
/* 802C660C 002C226C  7C 00 D8 40 */	cmplw r0, r27
/* 802C6610 002C2270  40 82 00 10 */	bne lbl_802C6620
/* 802C6614 002C2274  88 03 27 BE */	lbz r0, 0x27be(r3)
/* 802C6618 002C2278  7C 00 E8 40 */	cmplw r0, r29
/* 802C661C 002C227C  41 82 00 28 */	beq lbl_802C6644
lbl_802C6620:
/* 802C6620 002C2280  7F 63 DB 78 */	mr r3, r27
/* 802C6624 002C2284  7F A4 EB 78 */	mr r4, r29
/* 802C6628 002C2288  48 00 B9 39 */	bl btsnd_hcic_set_afh_channels
/* 802C662C 002C228C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C6630 002C2290  41 82 00 14 */	beq lbl_802C6644
/* 802C6634 002C2294  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6638 002C2298  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C663C 002C229C  9B 63 27 BD */	stb r27, 0x27bd(r3)
/* 802C6640 002C22A0  9B A3 27 BE */	stb r29, 0x27be(r3)
lbl_802C6644:
/* 802C6644 002C22A4  88 1F 06 43 */	lbz r0, 0x643(r31)
/* 802C6648 002C22A8  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 802C664C 002C22AC  41 82 00 0C */	beq lbl_802C6658
/* 802C6650 002C22B0  38 60 00 01 */	li r3, 1
/* 802C6654 002C22B4  48 00 10 89 */	bl BTM_SetInquiryMode
lbl_802C6658:
/* 802C6658 002C22B8  38 60 00 01 */	li r3, 1
/* 802C665C 002C22BC  48 00 0F D1 */	bl BTM_SetPageScanType
/* 802C6660 002C22C0  38 60 00 01 */	li r3, 1
/* 802C6664 002C22C4  48 00 0F 19 */	bl BTM_SetInquiryScanType
/* 802C6668 002C22C8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C666C 002C22CC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6670 002C22D0  81 83 05 68 */	lwz r12, 0x568(r3)
/* 802C6674 002C22D4  2C 0C 00 00 */	cmpwi r12, 0
/* 802C6678 002C22D8  41 82 00 10 */	beq lbl_802C6688
/* 802C667C 002C22DC  38 60 00 00 */	li r3, 0
/* 802C6680 002C22E0  7D 89 03 A6 */	mtctr r12
/* 802C6684 002C22E4  4E 80 04 21 */	bctrl
lbl_802C6688:
/* 802C6688 002C22E8  2C 1C 00 00 */	cmpwi r28, 0
/* 802C668C 002C22EC  41 82 00 14 */	beq lbl_802C66A0
/* 802C6690 002C22F0  7F 8C E3 78 */	mr r12, r28
/* 802C6694 002C22F4  38 60 00 00 */	li r3, 0
/* 802C6698 002C22F8  7D 89 03 A6 */	mtctr r12
/* 802C669C 002C22FC  4E 80 04 21 */	bctrl
lbl_802C66A0:
/* 802C66A0 002C2300  39 61 00 20 */	addi r11, r1, 0x20
/* 802C66A4 002C2304  4B F0 0A D1 */	bl _restgpr_27
/* 802C66A8 002C2308  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C66AC 002C230C  7C 08 03 A6 */	mtlr r0
/* 802C66B0 002C2310  38 21 00 20 */	addi r1, r1, 0x20
/* 802C66B4 002C2314  4E 80 00 20 */	blr

.global BTM_SetLocalDeviceName
BTM_SetLocalDeviceName:
/* 802C66B8 002C2318  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C66BC 002C231C  7C 08 02 A6 */	mflr r0
/* 802C66C0 002C2320  2C 03 00 00 */	cmpwi r3, 0
/* 802C66C4 002C2324  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C66C8 002C2328  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C66CC 002C232C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C66D0 002C2330  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C66D4 002C2334  7C 7D 1B 78 */	mr r29, r3
/* 802C66D8 002C2338  40 82 00 0C */	bne lbl_802C66E4
/* 802C66DC 002C233C  38 60 00 05 */	li r3, 5
/* 802C66E0 002C2340  48 00 00 74 */	b lbl_802C6754
lbl_802C66E4:
/* 802C66E4 002C2344  3F C0 80 57 */	lis r30, lbl_80568B78@ha
/* 802C66E8 002C2348  3B DE 8B 78 */	addi r30, r30, lbl_80568B78@l
/* 802C66EC 002C234C  88 1E 06 4E */	lbz r0, 0x64e(r30)
/* 802C66F0 002C2350  28 00 00 01 */	cmplwi r0, 1
/* 802C66F4 002C2354  41 81 00 0C */	bgt lbl_802C6700
/* 802C66F8 002C2358  38 60 00 0C */	li r3, 0xc
/* 802C66FC 002C235C  48 00 00 58 */	b lbl_802C6754
lbl_802C6700:
/* 802C6700 002C2360  38 60 00 02 */	li r3, 2
/* 802C6704 002C2364  4B FF 35 49 */	bl GKI_getpoolbuf
/* 802C6708 002C2368  2C 03 00 00 */	cmpwi r3, 0
/* 802C670C 002C236C  7C 7F 1B 78 */	mr r31, r3
/* 802C6710 002C2370  41 82 00 40 */	beq lbl_802C6750
/* 802C6714 002C2374  7C 1E E8 40 */	cmplw r30, r29
/* 802C6718 002C2378  41 82 00 24 */	beq lbl_802C673C
/* 802C671C 002C237C  7F C3 F3 78 */	mr r3, r30
/* 802C6720 002C2380  38 80 00 00 */	li r4, 0
/* 802C6724 002C2384  38 A0 00 20 */	li r5, 0x20
/* 802C6728 002C2388  4B D3 D9 DD */	bl memset
/* 802C672C 002C238C  7F C3 F3 78 */	mr r3, r30
/* 802C6730 002C2390  7F A4 EB 78 */	mr r4, r29
/* 802C6734 002C2394  38 A0 00 1F */	li r5, 0x1f
/* 802C6738 002C2398  4B F0 7C 59 */	bl strncpy
lbl_802C673C:
/* 802C673C 002C239C  7F E3 FB 78 */	mr r3, r31
/* 802C6740 002C23A0  7F C4 F3 78 */	mr r4, r30
/* 802C6744 002C23A4  48 00 B0 85 */	bl btsnd_hcic_change_name
/* 802C6748 002C23A8  38 60 00 01 */	li r3, 1
/* 802C674C 002C23AC  48 00 00 08 */	b lbl_802C6754
lbl_802C6750:
/* 802C6750 002C23B0  38 60 00 03 */	li r3, 3
lbl_802C6754:
/* 802C6754 002C23B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C6758 002C23B8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C675C 002C23BC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C6760 002C23C0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C6764 002C23C4  7C 08 03 A6 */	mtlr r0
/* 802C6768 002C23C8  38 21 00 20 */	addi r1, r1, 0x20
/* 802C676C 002C23CC  4E 80 00 20 */	blr

.global btm_read_local_name_complete
btm_read_local_name_complete:
/* 802C6770 002C23D0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C6774 002C23D4  7C 08 02 A6 */	mflr r0
/* 802C6778 002C23D8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C677C 002C23DC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C6780 002C23E0  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C6784 002C23E4  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C6788 002C23E8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C678C 002C23EC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C6790 002C23F0  7C 7D 1B 78 */	mr r29, r3
/* 802C6794 002C23F4  38 7F 05 90 */	addi r3, r31, 0x590
/* 802C6798 002C23F8  83 DF 05 A8 */	lwz r30, 0x5a8(r31)
/* 802C679C 002C23FC  4B FF 6D B1 */	bl btu_stop_timer
/* 802C67A0 002C2400  38 00 00 00 */	li r0, 0
/* 802C67A4 002C2404  2C 1E 00 00 */	cmpwi r30, 0
/* 802C67A8 002C2408  90 1F 05 A8 */	stw r0, 0x5a8(r31)
/* 802C67AC 002C240C  41 82 00 34 */	beq lbl_802C67E0
/* 802C67B0 002C2410  88 1D 00 00 */	lbz r0, 0(r29)
/* 802C67B4 002C2414  2C 00 00 00 */	cmpwi r0, 0
/* 802C67B8 002C2418  40 82 00 18 */	bne lbl_802C67D0
/* 802C67BC 002C241C  7F CC F3 78 */	mr r12, r30
/* 802C67C0 002C2420  38 7D 00 01 */	addi r3, r29, 1
/* 802C67C4 002C2424  7D 89 03 A6 */	mtctr r12
/* 802C67C8 002C2428  4E 80 04 21 */	bctrl
/* 802C67CC 002C242C  48 00 00 14 */	b lbl_802C67E0
lbl_802C67D0:
/* 802C67D0 002C2430  7F CC F3 78 */	mr r12, r30
/* 802C67D4 002C2434  38 60 00 00 */	li r3, 0
/* 802C67D8 002C2438  7D 89 03 A6 */	mtctr r12
/* 802C67DC 002C243C  4E 80 04 21 */	bctrl
lbl_802C67E0:
/* 802C67E0 002C2440  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C67E4 002C2444  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C67E8 002C2448  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C67EC 002C244C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C67F0 002C2450  7C 08 03 A6 */	mtlr r0
/* 802C67F4 002C2454  38 21 00 20 */	addi r1, r1, 0x20
/* 802C67F8 002C2458  4E 80 00 20 */	blr

.global BTM_ReadLocalDeviceAddr
BTM_ReadLocalDeviceAddr:
/* 802C67FC 002C245C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C6800 002C2460  7C 08 02 A6 */	mflr r0
/* 802C6804 002C2464  2C 03 00 00 */	cmpwi r3, 0
/* 802C6808 002C2468  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C680C 002C246C  41 82 00 1C */	beq lbl_802C6828
/* 802C6810 002C2470  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6814 002C2474  7C 6C 1B 78 */	mr r12, r3
/* 802C6818 002C2478  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C681C 002C247C  38 64 06 30 */	addi r3, r4, 0x630
/* 802C6820 002C2480  7D 89 03 A6 */	mtctr r12
/* 802C6824 002C2484  4E 80 04 21 */	bctrl
lbl_802C6828:
/* 802C6828 002C2488  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C682C 002C248C  38 60 00 00 */	li r3, 0
/* 802C6830 002C2490  7C 08 03 A6 */	mtlr r0
/* 802C6834 002C2494  38 21 00 10 */	addi r1, r1, 0x10
/* 802C6838 002C2498  4E 80 00 20 */	blr

.global btm_read_local_addr_complete
btm_read_local_addr_complete:
/* 802C683C 002C249C  88 03 00 00 */	lbz r0, 0(r3)
/* 802C6840 002C24A0  2C 00 00 00 */	cmpwi r0, 0
/* 802C6844 002C24A4  4C 82 00 20 */	bnelr
/* 802C6848 002C24A8  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C684C 002C24AC  88 03 00 01 */	lbz r0, 1(r3)
/* 802C6850 002C24B0  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6854 002C24B4  98 04 06 35 */	stb r0, 0x635(r4)
/* 802C6858 002C24B8  88 03 00 02 */	lbz r0, 2(r3)
/* 802C685C 002C24BC  98 04 06 34 */	stb r0, 0x634(r4)
/* 802C6860 002C24C0  88 03 00 03 */	lbz r0, 3(r3)
/* 802C6864 002C24C4  98 04 06 33 */	stb r0, 0x633(r4)
/* 802C6868 002C24C8  88 03 00 04 */	lbz r0, 4(r3)
/* 802C686C 002C24CC  98 04 06 32 */	stb r0, 0x632(r4)
/* 802C6870 002C24D0  88 03 00 05 */	lbz r0, 5(r3)
/* 802C6874 002C24D4  98 04 06 31 */	stb r0, 0x631(r4)
/* 802C6878 002C24D8  88 03 00 06 */	lbz r0, 6(r3)
/* 802C687C 002C24DC  98 04 06 30 */	stb r0, 0x630(r4)
/* 802C6880 002C24E0  4E 80 00 20 */	blr

.global BTM_ReadLocalVersion
BTM_ReadLocalVersion:
/* 802C6884 002C24E4  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C6888 002C24E8  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C688C 002C24EC  88 05 06 4E */	lbz r0, 0x64e(r5)
/* 802C6890 002C24F0  28 00 00 04 */	cmplwi r0, 4
/* 802C6894 002C24F4  40 80 00 0C */	bge lbl_802C68A0
/* 802C6898 002C24F8  38 60 00 0C */	li r3, 0xc
/* 802C689C 002C24FC  4E 80 00 20 */	blr
lbl_802C68A0:
/* 802C68A0 002C2500  A0 85 06 36 */	lhz r4, 0x636(r5)
/* 802C68A4 002C2504  A0 05 06 38 */	lhz r0, 0x638(r5)
/* 802C68A8 002C2508  B0 83 00 00 */	sth r4, 0(r3)
/* 802C68AC 002C250C  B0 03 00 02 */	sth r0, 2(r3)
/* 802C68B0 002C2510  A0 85 06 3A */	lhz r4, 0x63a(r5)
/* 802C68B4 002C2514  A0 05 06 3C */	lhz r0, 0x63c(r5)
/* 802C68B8 002C2518  B0 83 00 04 */	sth r4, 4(r3)
/* 802C68BC 002C251C  B0 03 00 06 */	sth r0, 6(r3)
/* 802C68C0 002C2520  A0 05 06 3E */	lhz r0, 0x63e(r5)
/* 802C68C4 002C2524  B0 03 00 08 */	sth r0, 8(r3)
/* 802C68C8 002C2528  38 60 00 00 */	li r3, 0
/* 802C68CC 002C252C  4E 80 00 20 */	blr

.global BTM_SetDeviceClass
BTM_SetDeviceClass:
/* 802C68D0 002C2530  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C68D4 002C2534  7C 08 02 A6 */	mflr r0
/* 802C68D8 002C2538  38 A0 00 03 */	li r5, 3
/* 802C68DC 002C253C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C68E0 002C2540  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C68E4 002C2544  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C68E8 002C2548  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C68EC 002C254C  93 C1 00 08 */	stw r30, 8(r1)
/* 802C68F0 002C2550  7C 7E 1B 78 */	mr r30, r3
/* 802C68F4 002C2554  7F C4 F3 78 */	mr r4, r30
/* 802C68F8 002C2558  38 7F 06 48 */	addi r3, r31, 0x648
/* 802C68FC 002C255C  4B D3 D7 05 */	bl memcpy
/* 802C6900 002C2560  88 1F 06 4E */	lbz r0, 0x64e(r31)
/* 802C6904 002C2564  28 00 00 01 */	cmplwi r0, 1
/* 802C6908 002C2568  41 81 00 0C */	bgt lbl_802C6914
/* 802C690C 002C256C  38 60 00 0C */	li r3, 0xc
/* 802C6910 002C2570  48 00 00 28 */	b lbl_802C6938
lbl_802C6914:
/* 802C6914 002C2574  38 60 00 02 */	li r3, 2
/* 802C6918 002C2578  4B FF 33 35 */	bl GKI_getpoolbuf
/* 802C691C 002C257C  2C 03 00 00 */	cmpwi r3, 0
/* 802C6920 002C2580  41 82 00 14 */	beq lbl_802C6934
/* 802C6924 002C2584  7F C4 F3 78 */	mr r4, r30
/* 802C6928 002C2588  48 00 B1 B9 */	bl btsnd_hcic_write_dev_class
/* 802C692C 002C258C  38 60 00 00 */	li r3, 0
/* 802C6930 002C2590  48 00 00 08 */	b lbl_802C6938
lbl_802C6934:
/* 802C6934 002C2594  38 60 00 03 */	li r3, 3
lbl_802C6938:
/* 802C6938 002C2598  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C693C 002C259C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C6940 002C25A0  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C6944 002C25A4  7C 08 03 A6 */	mtlr r0
/* 802C6948 002C25A8  38 21 00 10 */	addi r1, r1, 0x10
/* 802C694C 002C25AC  4E 80 00 20 */	blr

.global BTM_ReadDeviceClass
BTM_ReadDeviceClass:
/* 802C6950 002C25B0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6954 002C25B4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6958 002C25B8  38 63 06 48 */	addi r3, r3, 0x648
/* 802C695C 002C25BC  4E 80 00 20 */	blr

.global BTM_ReadLocalFeatures
BTM_ReadLocalFeatures:
/* 802C6960 002C25C0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6964 002C25C4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6968 002C25C8  38 63 06 40 */	addi r3, r3, 0x640
/* 802C696C 002C25CC  4E 80 00 20 */	blr

.global BTM_RegisterForDeviceStatusNotif
BTM_RegisterForDeviceStatusNotif:
/* 802C6970 002C25D0  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6974 002C25D4  7C 60 1B 78 */	mr r0, r3
/* 802C6978 002C25D8  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C697C 002C25DC  80 64 05 68 */	lwz r3, 0x568(r4)
/* 802C6980 002C25E0  90 04 05 68 */	stw r0, 0x568(r4)
/* 802C6984 002C25E4  4E 80 00 20 */	blr

.global BTM_VendorSpecificCommand
BTM_VendorSpecificCommand:
/* 802C6988 002C25E8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C698C 002C25EC  7C 08 02 A6 */	mflr r0
/* 802C6990 002C25F0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C6994 002C25F4  39 61 00 20 */	addi r11, r1, 0x20
/* 802C6998 002C25F8  4B F0 07 91 */	bl _savegpr_27
/* 802C699C 002C25FC  3C E0 80 57 */	lis r7, lbl_80568B78@ha
/* 802C69A0 002C2600  7C 7B 1B 78 */	mr r27, r3
/* 802C69A4 002C2604  38 E7 8B 78 */	addi r7, r7, lbl_80568B78@l
/* 802C69A8 002C2608  7C 9C 23 78 */	mr r28, r4
/* 802C69AC 002C260C  88 07 27 C0 */	lbz r0, 0x27c0(r7)
/* 802C69B0 002C2610  7C BD 2B 78 */	mr r29, r5
/* 802C69B4 002C2614  7C DE 33 78 */	mr r30, r6
/* 802C69B8 002C2618  28 00 00 04 */	cmplwi r0, 4
/* 802C69BC 002C261C  41 80 00 20 */	blt lbl_802C69DC
/* 802C69C0 002C2620  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C69C4 002C2624  3C 80 80 44 */	lis r4, lbl_8044117C@ha
/* 802C69C8 002C2628  7F 65 DB 78 */	mr r5, r27
/* 802C69CC 002C262C  7F 86 E3 78 */	mr r6, r28
/* 802C69D0 002C2630  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C69D4 002C2634  38 84 11 7C */	addi r4, r4, lbl_8044117C@l
/* 802C69D8 002C2638  4B FF 65 69 */	bl LogMsg_2
lbl_802C69DC:
/* 802C69DC 002C263C  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C69E0 002C2640  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C69E4 002C2644  88 1F 06 50 */	lbz r0, 0x650(r31)
/* 802C69E8 002C2648  2C 00 00 00 */	cmpwi r0, 0
/* 802C69EC 002C264C  41 82 00 2C */	beq lbl_802C6A18
/* 802C69F0 002C2650  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C69F4 002C2654  28 00 00 04 */	cmplwi r0, 4
/* 802C69F8 002C2658  41 80 00 18 */	blt lbl_802C6A10
/* 802C69FC 002C265C  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C6A00 002C2660  3C 80 80 44 */	lis r4, lbl_804411BC@ha
/* 802C6A04 002C2664  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C6A08 002C2668  38 84 11 BC */	addi r4, r4, lbl_804411BC@l
/* 802C6A0C 002C266C  4B FF 65 05 */	bl LogMsg_0
lbl_802C6A10:
/* 802C6A10 002C2670  38 60 00 02 */	li r3, 2
/* 802C6A14 002C2674  48 00 00 58 */	b lbl_802C6A6C
lbl_802C6A18:
/* 802C6A18 002C2678  38 1C 00 0B */	addi r0, r28, 0xb
/* 802C6A1C 002C267C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802C6A20 002C2680  4B FF 30 8D */	bl GKI_getbuf
/* 802C6A24 002C2684  2C 03 00 00 */	cmpwi r3, 0
/* 802C6A28 002C2688  41 82 00 40 */	beq lbl_802C6A68
/* 802C6A2C 002C268C  2C 1E 00 00 */	cmpwi r30, 0
/* 802C6A30 002C2690  93 DF 06 1C */	stw r30, 0x61c(r31)
/* 802C6A34 002C2694  41 82 00 0C */	beq lbl_802C6A40
/* 802C6A38 002C2698  38 00 00 01 */	li r0, 1
/* 802C6A3C 002C269C  98 1F 06 50 */	stb r0, 0x650(r31)
lbl_802C6A40:
/* 802C6A40 002C26A0  7F 64 DB 78 */	mr r4, r27
/* 802C6A44 002C26A4  7F 85 E3 78 */	mr r5, r28
/* 802C6A48 002C26A8  7F A6 EB 78 */	mr r6, r29
/* 802C6A4C 002C26AC  48 00 B9 C5 */	bl btsnd_hcic_vendor_spec_cmd
/* 802C6A50 002C26B0  2C 1E 00 00 */	cmpwi r30, 0
/* 802C6A54 002C26B4  41 82 00 0C */	beq lbl_802C6A60
/* 802C6A58 002C26B8  38 60 00 01 */	li r3, 1
/* 802C6A5C 002C26BC  48 00 00 10 */	b lbl_802C6A6C
lbl_802C6A60:
/* 802C6A60 002C26C0  38 60 00 00 */	li r3, 0
/* 802C6A64 002C26C4  48 00 00 08 */	b lbl_802C6A6C
lbl_802C6A68:
/* 802C6A68 002C26C8  38 60 00 03 */	li r3, 3
lbl_802C6A6C:
/* 802C6A6C 002C26CC  39 61 00 20 */	addi r11, r1, 0x20
/* 802C6A70 002C26D0  4B F0 07 05 */	bl _restgpr_27
/* 802C6A74 002C26D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C6A78 002C26D8  7C 08 03 A6 */	mtlr r0
/* 802C6A7C 002C26DC  38 21 00 20 */	addi r1, r1, 0x20
/* 802C6A80 002C26E0  4E 80 00 20 */	blr

.global btm_vsc_complete
btm_vsc_complete:
/* 802C6A84 002C26E4  94 21 FE E0 */	stwu r1, -0x120(r1)
/* 802C6A88 002C26E8  7C 08 02 A6 */	mflr r0
/* 802C6A8C 002C26EC  3C C0 80 57 */	lis r6, lbl_80568B78@ha
/* 802C6A90 002C26F0  7C 67 1B 78 */	mr r7, r3
/* 802C6A94 002C26F4  90 01 01 24 */	stw r0, 0x124(r1)
/* 802C6A98 002C26F8  38 C6 8B 78 */	addi r6, r6, lbl_80568B78@l
/* 802C6A9C 002C26FC  38 00 00 00 */	li r0, 0
/* 802C6AA0 002C2700  38 61 00 0C */	addi r3, r1, 0xc
/* 802C6AA4 002C2704  93 E1 01 1C */	stw r31, 0x11c(r1)
/* 802C6AA8 002C2708  83 E6 06 1C */	lwz r31, 0x61c(r6)
/* 802C6AAC 002C270C  98 06 06 50 */	stb r0, 0x650(r6)
/* 802C6AB0 002C2710  2C 1F 00 00 */	cmpwi r31, 0
/* 802C6AB4 002C2714  90 06 06 1C */	stw r0, 0x61c(r6)
/* 802C6AB8 002C2718  41 82 00 24 */	beq lbl_802C6ADC
/* 802C6ABC 002C271C  B0 81 00 08 */	sth r4, 8(r1)
/* 802C6AC0 002C2720  7C E4 3B 78 */	mr r4, r7
/* 802C6AC4 002C2724  B0 A1 00 0A */	sth r5, 0xa(r1)
/* 802C6AC8 002C2728  4B D3 D5 39 */	bl memcpy
/* 802C6ACC 002C272C  7F EC FB 78 */	mr r12, r31
/* 802C6AD0 002C2730  38 61 00 08 */	addi r3, r1, 8
/* 802C6AD4 002C2734  7D 89 03 A6 */	mtctr r12
/* 802C6AD8 002C2738  4E 80 04 21 */	bctrl
lbl_802C6ADC:
/* 802C6ADC 002C273C  80 01 01 24 */	lwz r0, 0x124(r1)
/* 802C6AE0 002C2740  83 E1 01 1C */	lwz r31, 0x11c(r1)
/* 802C6AE4 002C2744  7C 08 03 A6 */	mtlr r0
/* 802C6AE8 002C2748  38 21 01 20 */	addi r1, r1, 0x120
/* 802C6AEC 002C274C  4E 80 00 20 */	blr

.global BTM_RegisterForVSEvents
BTM_RegisterForVSEvents:
/* 802C6AF0 002C2750  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6AF4 002C2754  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6AF8 002C2758  80 04 05 6C */	lwz r0, 0x56c(r4)
/* 802C6AFC 002C275C  2C 00 00 00 */	cmpwi r0, 0
/* 802C6B00 002C2760  41 82 00 14 */	beq lbl_802C6B14
/* 802C6B04 002C2764  2C 03 00 00 */	cmpwi r3, 0
/* 802C6B08 002C2768  41 82 00 0C */	beq lbl_802C6B14
/* 802C6B0C 002C276C  38 60 00 02 */	li r3, 2
/* 802C6B10 002C2770  4E 80 00 20 */	blr
lbl_802C6B14:
/* 802C6B14 002C2774  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6B18 002C2778  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6B1C 002C277C  90 64 05 6C */	stw r3, 0x56c(r4)
/* 802C6B20 002C2780  38 60 00 00 */	li r3, 0
/* 802C6B24 002C2784  4E 80 00 20 */	blr

.global btm_vendor_specific_evt
btm_vendor_specific_evt:
/* 802C6B28 002C2788  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C6B2C 002C278C  7C 08 02 A6 */	mflr r0
/* 802C6B30 002C2790  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C6B34 002C2794  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C6B38 002C2798  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C6B3C 002C279C  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C6B40 002C27A0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C6B44 002C27A4  7C 9E 23 78 */	mr r30, r4
/* 802C6B48 002C27A8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C6B4C 002C27AC  7C 7D 1B 78 */	mr r29, r3
/* 802C6B50 002C27B0  A0 1F 06 3C */	lhz r0, 0x63c(r31)
/* 802C6B54 002C27B4  28 00 00 12 */	cmplwi r0, 0x12
/* 802C6B58 002C27B8  41 82 00 24 */	beq lbl_802C6B7C
/* 802C6B5C 002C27BC  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C6B60 002C27C0  28 00 00 04 */	cmplwi r0, 4
/* 802C6B64 002C27C4  41 80 00 18 */	blt lbl_802C6B7C
/* 802C6B68 002C27C8  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C6B6C 002C27CC  3C 80 80 44 */	lis r4, lbl_80441200@ha
/* 802C6B70 002C27D0  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C6B74 002C27D4  38 84 12 00 */	addi r4, r4, lbl_80441200@l
/* 802C6B78 002C27D8  4B FF 63 99 */	bl LogMsg_0
lbl_802C6B7C:
/* 802C6B7C 002C27DC  81 9F 05 6C */	lwz r12, 0x56c(r31)
/* 802C6B80 002C27E0  38 00 00 00 */	li r0, 0
/* 802C6B84 002C27E4  90 1F 06 1C */	stw r0, 0x61c(r31)
/* 802C6B88 002C27E8  2C 0C 00 00 */	cmpwi r12, 0
/* 802C6B8C 002C27EC  98 1F 06 50 */	stb r0, 0x650(r31)
/* 802C6B90 002C27F0  41 82 00 14 */	beq lbl_802C6BA4
/* 802C6B94 002C27F4  7F C3 F3 78 */	mr r3, r30
/* 802C6B98 002C27F8  7F A4 EB 78 */	mr r4, r29
/* 802C6B9C 002C27FC  7D 89 03 A6 */	mtctr r12
/* 802C6BA0 002C2800  4E 80 04 21 */	bctrl
lbl_802C6BA4:
/* 802C6BA4 002C2804  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C6BA8 002C2808  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C6BAC 002C280C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C6BB0 002C2810  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C6BB4 002C2814  7C 08 03 A6 */	mtlr r0
/* 802C6BB8 002C2818  38 21 00 20 */	addi r1, r1, 0x20
/* 802C6BBC 002C281C  4E 80 00 20 */	blr

.global BTM_WritePageTimeout
BTM_WritePageTimeout:
/* 802C6BC0 002C2820  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C6BC4 002C2824  7C 08 02 A6 */	mflr r0
/* 802C6BC8 002C2828  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6BCC 002C282C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C6BD0 002C2830  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6BD4 002C2834  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C6BD8 002C2838  7C 7F 1B 78 */	mr r31, r3
/* 802C6BDC 002C283C  88 04 27 C0 */	lbz r0, 0x27c0(r4)
/* 802C6BE0 002C2840  28 00 00 04 */	cmplwi r0, 4
/* 802C6BE4 002C2844  41 80 00 1C */	blt lbl_802C6C00
/* 802C6BE8 002C2848  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C6BEC 002C284C  3C 80 80 44 */	lis r4, lbl_80441240@ha
/* 802C6BF0 002C2850  7F E5 FB 78 */	mr r5, r31
/* 802C6BF4 002C2854  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C6BF8 002C2858  38 84 12 40 */	addi r4, r4, lbl_80441240@l
/* 802C6BFC 002C285C  4B FF 63 2D */	bl LogMsg_1
lbl_802C6C00:
/* 802C6C00 002C2860  1C 1F 02 71 */	mulli r0, r31, 0x271
/* 802C6C04 002C2864  3C 60 10 62 */	lis r3, 0x10624DD3@ha
/* 802C6C08 002C2868  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6C0C 002C286C  38 63 4D D3 */	addi r3, r3, 0x10624DD3@l
/* 802C6C10 002C2870  7C 03 00 96 */	mulhw r0, r3, r0
/* 802C6C14 002C2874  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6C18 002C2878  38 60 00 02 */	li r3, 2
/* 802C6C1C 002C287C  7C 00 36 70 */	srawi r0, r0, 6
/* 802C6C20 002C2880  54 05 0F FE */	srwi r5, r0, 0x1f
/* 802C6C24 002C2884  7C 00 2A 14 */	add r0, r0, r5
/* 802C6C28 002C2888  B0 04 06 4C */	sth r0, 0x64c(r4)
/* 802C6C2C 002C288C  4B FF 30 21 */	bl GKI_getpoolbuf
/* 802C6C30 002C2890  2C 03 00 00 */	cmpwi r3, 0
/* 802C6C34 002C2894  41 82 00 14 */	beq lbl_802C6C48
/* 802C6C38 002C2898  7F E4 FB 78 */	mr r4, r31
/* 802C6C3C 002C289C  48 00 AC CD */	bl btsnd_hcic_write_page_tout
/* 802C6C40 002C28A0  38 60 00 00 */	li r3, 0
/* 802C6C44 002C28A4  48 00 00 08 */	b lbl_802C6C4C
lbl_802C6C48:
/* 802C6C48 002C28A8  38 60 00 03 */	li r3, 3
lbl_802C6C4C:
/* 802C6C4C 002C28AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C6C50 002C28B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C6C54 002C28B4  7C 08 03 A6 */	mtlr r0
/* 802C6C58 002C28B8  38 21 00 10 */	addi r1, r1, 0x10
/* 802C6C5C 002C28BC  4E 80 00 20 */	blr

.global BTM_ReadStoredLinkKey
BTM_ReadStoredLinkKey:
/* 802C6C60 002C28C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C6C64 002C28C4  7C 08 02 A6 */	mflr r0
/* 802C6C68 002C28C8  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C6C6C 002C28CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C6C70 002C28D0  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C6C74 002C28D4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C6C78 002C28D8  3B E0 00 00 */	li r31, 0
/* 802C6C7C 002C28DC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C6C80 002C28E0  7C 9E 23 78 */	mr r30, r4
/* 802C6C84 002C28E4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C6C88 002C28E8  7C 7D 1B 78 */	mr r29, r3
/* 802C6C8C 002C28EC  80 05 05 70 */	lwz r0, 0x570(r5)
/* 802C6C90 002C28F0  2C 00 00 00 */	cmpwi r0, 0
/* 802C6C94 002C28F4  41 82 00 0C */	beq lbl_802C6CA0
/* 802C6C98 002C28F8  38 60 00 02 */	li r3, 2
/* 802C6C9C 002C28FC  48 00 00 80 */	b lbl_802C6D1C
lbl_802C6CA0:
/* 802C6CA0 002C2900  2C 03 00 00 */	cmpwi r3, 0
/* 802C6CA4 002C2904  40 82 00 0C */	bne lbl_802C6CB0
/* 802C6CA8 002C2908  3B E0 00 01 */	li r31, 1
/* 802C6CAC 002C290C  3B A1 00 08 */	addi r29, r1, 8
lbl_802C6CB0:
/* 802C6CB0 002C2910  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6CB4 002C2914  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6CB8 002C2918  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C6CBC 002C291C  28 00 00 04 */	cmplwi r0, 4
/* 802C6CC0 002C2920  41 80 00 28 */	blt lbl_802C6CE8
/* 802C6CC4 002C2924  2C 1F 00 00 */	cmpwi r31, 0
/* 802C6CC8 002C2928  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C6CCC 002C292C  3C 80 80 44 */	lis r4, lbl_804412B0@ha
/* 802C6CD0 002C2930  38 AD 8A 44 */	addi r5, r13, lbl_8063DD04-_SDA_BASE_
/* 802C6CD4 002C2934  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C6CD8 002C2938  38 84 12 B0 */	addi r4, r4, lbl_804412B0@l
/* 802C6CDC 002C293C  41 82 00 08 */	beq lbl_802C6CE4
/* 802C6CE0 002C2940  38 AD 8A 3C */	addi r5, r13, lbl_8063DCFC-_SDA_BASE_
lbl_802C6CE4:
/* 802C6CE4 002C2944  4B FF 62 45 */	bl LogMsg_1
lbl_802C6CE8:
/* 802C6CE8 002C2948  38 60 00 02 */	li r3, 2
/* 802C6CEC 002C294C  4B FF 2F 61 */	bl GKI_getpoolbuf
/* 802C6CF0 002C2950  2C 03 00 00 */	cmpwi r3, 0
/* 802C6CF4 002C2954  41 82 00 24 */	beq lbl_802C6D18
/* 802C6CF8 002C2958  3C C0 80 57 */	lis r6, lbl_80568B78@ha
/* 802C6CFC 002C295C  7F A4 EB 78 */	mr r4, r29
/* 802C6D00 002C2960  38 C6 8B 78 */	addi r6, r6, lbl_80568B78@l
/* 802C6D04 002C2964  7F E5 FB 78 */	mr r5, r31
/* 802C6D08 002C2968  93 C6 05 70 */	stw r30, 0x570(r6)
/* 802C6D0C 002C296C  48 00 A7 ED */	bl btsnd_hcic_read_stored_key
/* 802C6D10 002C2970  38 60 00 00 */	li r3, 0
/* 802C6D14 002C2974  48 00 00 08 */	b lbl_802C6D1C
lbl_802C6D18:
/* 802C6D18 002C2978  38 60 00 03 */	li r3, 3
lbl_802C6D1C:
/* 802C6D1C 002C297C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C6D20 002C2980  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C6D24 002C2984  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C6D28 002C2988  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C6D2C 002C298C  7C 08 03 A6 */	mtlr r0
/* 802C6D30 002C2990  38 21 00 20 */	addi r1, r1, 0x20
/* 802C6D34 002C2994  4E 80 00 20 */	blr

.global BTM_WriteStoredLinkKey
BTM_WriteStoredLinkKey:
/* 802C6D38 002C2998  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C6D3C 002C299C  7C 08 02 A6 */	mflr r0
/* 802C6D40 002C29A0  3C E0 80 57 */	lis r7, lbl_80568B78@ha
/* 802C6D44 002C29A4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C6D48 002C29A8  38 E7 8B 78 */	addi r7, r7, lbl_80568B78@l
/* 802C6D4C 002C29AC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C6D50 002C29B0  7C DF 33 78 */	mr r31, r6
/* 802C6D54 002C29B4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C6D58 002C29B8  7C BE 2B 78 */	mr r30, r5
/* 802C6D5C 002C29BC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C6D60 002C29C0  7C 9D 23 78 */	mr r29, r4
/* 802C6D64 002C29C4  93 81 00 10 */	stw r28, 0x10(r1)
/* 802C6D68 002C29C8  7C 7C 1B 78 */	mr r28, r3
/* 802C6D6C 002C29CC  80 07 05 70 */	lwz r0, 0x570(r7)
/* 802C6D70 002C29D0  2C 00 00 00 */	cmpwi r0, 0
/* 802C6D74 002C29D4  41 82 00 0C */	beq lbl_802C6D80
/* 802C6D78 002C29D8  38 60 00 02 */	li r3, 2
/* 802C6D7C 002C29DC  48 00 00 6C */	b lbl_802C6DE8
lbl_802C6D80:
/* 802C6D80 002C29E0  88 07 27 C0 */	lbz r0, 0x27c0(r7)
/* 802C6D84 002C29E4  28 00 00 04 */	cmplwi r0, 4
/* 802C6D88 002C29E8  41 80 00 1C */	blt lbl_802C6DA4
/* 802C6D8C 002C29EC  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C6D90 002C29F0  3C 80 80 44 */	lis r4, lbl_804412DC@ha
/* 802C6D94 002C29F4  7F 85 E3 78 */	mr r5, r28
/* 802C6D98 002C29F8  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C6D9C 002C29FC  38 84 12 DC */	addi r4, r4, lbl_804412DC@l
/* 802C6DA0 002C2A00  4B FF 61 89 */	bl LogMsg_1
lbl_802C6DA4:
/* 802C6DA4 002C2A04  28 1C 00 0B */	cmplwi r28, 0xb
/* 802C6DA8 002C2A08  40 81 00 08 */	ble lbl_802C6DB0
/* 802C6DAC 002C2A0C  3B 80 00 0B */	li r28, 0xb
lbl_802C6DB0:
/* 802C6DB0 002C2A10  38 60 00 02 */	li r3, 2
/* 802C6DB4 002C2A14  4B FF 2E 99 */	bl GKI_getpoolbuf
/* 802C6DB8 002C2A18  2C 03 00 00 */	cmpwi r3, 0
/* 802C6DBC 002C2A1C  41 82 00 28 */	beq lbl_802C6DE4
/* 802C6DC0 002C2A20  3C C0 80 57 */	lis r6, lbl_80568B78@ha
/* 802C6DC4 002C2A24  7F 84 E3 78 */	mr r4, r28
/* 802C6DC8 002C2A28  38 C6 8B 78 */	addi r6, r6, lbl_80568B78@l
/* 802C6DCC 002C2A2C  7F A5 EB 78 */	mr r5, r29
/* 802C6DD0 002C2A30  93 E6 05 70 */	stw r31, 0x570(r6)
/* 802C6DD4 002C2A34  7F C6 F3 78 */	mr r6, r30
/* 802C6DD8 002C2A38  48 00 A7 81 */	bl btsnd_hcic_write_stored_key
/* 802C6DDC 002C2A3C  38 60 00 00 */	li r3, 0
/* 802C6DE0 002C2A40  48 00 00 08 */	b lbl_802C6DE8
lbl_802C6DE4:
/* 802C6DE4 002C2A44  38 60 00 03 */	li r3, 3
lbl_802C6DE8:
/* 802C6DE8 002C2A48  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C6DEC 002C2A4C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C6DF0 002C2A50  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C6DF4 002C2A54  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C6DF8 002C2A58  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802C6DFC 002C2A5C  7C 08 03 A6 */	mtlr r0
/* 802C6E00 002C2A60  38 21 00 20 */	addi r1, r1, 0x20
/* 802C6E04 002C2A64  4E 80 00 20 */	blr

.global BTM_DeleteStoredLinkKey
BTM_DeleteStoredLinkKey:
/* 802C6E08 002C2A68  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C6E0C 002C2A6C  7C 08 02 A6 */	mflr r0
/* 802C6E10 002C2A70  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C6E14 002C2A74  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C6E18 002C2A78  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C6E1C 002C2A7C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C6E20 002C2A80  3B E0 00 00 */	li r31, 0
/* 802C6E24 002C2A84  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C6E28 002C2A88  7C 9E 23 78 */	mr r30, r4
/* 802C6E2C 002C2A8C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C6E30 002C2A90  7C 7D 1B 78 */	mr r29, r3
/* 802C6E34 002C2A94  80 05 05 70 */	lwz r0, 0x570(r5)
/* 802C6E38 002C2A98  2C 00 00 00 */	cmpwi r0, 0
/* 802C6E3C 002C2A9C  41 82 00 0C */	beq lbl_802C6E48
/* 802C6E40 002C2AA0  38 60 00 02 */	li r3, 2
/* 802C6E44 002C2AA4  48 00 00 78 */	b lbl_802C6EBC
lbl_802C6E48:
/* 802C6E48 002C2AA8  2C 03 00 00 */	cmpwi r3, 0
/* 802C6E4C 002C2AAC  40 82 00 0C */	bne lbl_802C6E58
/* 802C6E50 002C2AB0  3B E0 00 01 */	li r31, 1
/* 802C6E54 002C2AB4  3B A1 00 08 */	addi r29, r1, 8
lbl_802C6E58:
/* 802C6E58 002C2AB8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C6E5C 002C2ABC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C6E60 002C2AC0  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C6E64 002C2AC4  28 00 00 04 */	cmplwi r0, 4
/* 802C6E68 002C2AC8  41 80 00 28 */	blt lbl_802C6E90
/* 802C6E6C 002C2ACC  2C 1F 00 00 */	cmpwi r31, 0
/* 802C6E70 002C2AD0  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C6E74 002C2AD4  3C 80 80 44 */	lis r4, lbl_80441308@ha
/* 802C6E78 002C2AD8  38 AD 8A 44 */	addi r5, r13, lbl_8063DD04-_SDA_BASE_
/* 802C6E7C 002C2ADC  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C6E80 002C2AE0  38 84 13 08 */	addi r4, r4, lbl_80441308@l
/* 802C6E84 002C2AE4  41 82 00 08 */	beq lbl_802C6E8C
/* 802C6E88 002C2AE8  38 AD 8A 3C */	addi r5, r13, lbl_8063DCFC-_SDA_BASE_
lbl_802C6E8C:
/* 802C6E8C 002C2AEC  4B FF 60 9D */	bl LogMsg_1
lbl_802C6E90:
/* 802C6E90 002C2AF0  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C6E94 002C2AF4  7F A3 EB 78 */	mr r3, r29
/* 802C6E98 002C2AF8  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C6E9C 002C2AFC  7F E4 FB 78 */	mr r4, r31
/* 802C6EA0 002C2B00  93 C5 05 70 */	stw r30, 0x570(r5)
/* 802C6EA4 002C2B04  48 00 A8 75 */	bl btsnd_hcic_delete_stored_key
/* 802C6EA8 002C2B08  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C6EAC 002C2B0C  40 82 00 0C */	bne lbl_802C6EB8
/* 802C6EB0 002C2B10  38 60 00 03 */	li r3, 3
/* 802C6EB4 002C2B14  48 00 00 08 */	b lbl_802C6EBC
lbl_802C6EB8:
/* 802C6EB8 002C2B18  38 60 00 00 */	li r3, 0
lbl_802C6EBC:
/* 802C6EBC 002C2B1C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C6EC0 002C2B20  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C6EC4 002C2B24  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C6EC8 002C2B28  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C6ECC 002C2B2C  7C 08 03 A6 */	mtlr r0
/* 802C6ED0 002C2B30  38 21 00 20 */	addi r1, r1, 0x20
/* 802C6ED4 002C2B34  4E 80 00 20 */	blr

.global btm_read_stored_link_key_complete
btm_read_stored_link_key_complete:
/* 802C6ED8 002C2B38  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C6EDC 002C2B3C  7C 08 02 A6 */	mflr r0
/* 802C6EE0 002C2B40  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6EE4 002C2B44  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C6EE8 002C2B48  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6EEC 002C2B4C  38 00 00 00 */	li r0, 0
/* 802C6EF0 002C2B50  81 84 05 70 */	lwz r12, 0x570(r4)
/* 802C6EF4 002C2B54  2C 0C 00 00 */	cmpwi r12, 0
/* 802C6EF8 002C2B58  90 04 05 70 */	stw r0, 0x570(r4)
/* 802C6EFC 002C2B5C  41 82 00 48 */	beq lbl_802C6F44
/* 802C6F00 002C2B60  38 00 00 02 */	li r0, 2
/* 802C6F04 002C2B64  98 01 00 08 */	stb r0, 8(r1)
/* 802C6F08 002C2B68  88 03 00 00 */	lbz r0, 0(r3)
/* 802C6F0C 002C2B6C  98 01 00 09 */	stb r0, 9(r1)
/* 802C6F10 002C2B70  88 03 00 02 */	lbz r0, 2(r3)
/* 802C6F14 002C2B74  88 83 00 01 */	lbz r4, 1(r3)
/* 802C6F18 002C2B78  54 00 40 2E */	slwi r0, r0, 8
/* 802C6F1C 002C2B7C  7C 04 02 14 */	add r0, r4, r0
/* 802C6F20 002C2B80  B0 01 00 0A */	sth r0, 0xa(r1)
/* 802C6F24 002C2B84  88 03 00 04 */	lbz r0, 4(r3)
/* 802C6F28 002C2B88  88 83 00 03 */	lbz r4, 3(r3)
/* 802C6F2C 002C2B8C  38 61 00 08 */	addi r3, r1, 8
/* 802C6F30 002C2B90  54 00 40 2E */	slwi r0, r0, 8
/* 802C6F34 002C2B94  7C 04 02 14 */	add r0, r4, r0
/* 802C6F38 002C2B98  B0 01 00 0C */	sth r0, 0xc(r1)
/* 802C6F3C 002C2B9C  7D 89 03 A6 */	mtctr r12
/* 802C6F40 002C2BA0  4E 80 04 21 */	bctrl
lbl_802C6F44:
/* 802C6F44 002C2BA4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C6F48 002C2BA8  7C 08 03 A6 */	mtlr r0
/* 802C6F4C 002C2BAC  38 21 00 10 */	addi r1, r1, 0x10
/* 802C6F50 002C2BB0  4E 80 00 20 */	blr

.global btm_write_stored_link_key_complete
btm_write_stored_link_key_complete:
/* 802C6F54 002C2BB4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C6F58 002C2BB8  7C 08 02 A6 */	mflr r0
/* 802C6F5C 002C2BBC  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6F60 002C2BC0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C6F64 002C2BC4  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6F68 002C2BC8  38 00 00 00 */	li r0, 0
/* 802C6F6C 002C2BCC  81 84 05 70 */	lwz r12, 0x570(r4)
/* 802C6F70 002C2BD0  2C 0C 00 00 */	cmpwi r12, 0
/* 802C6F74 002C2BD4  90 04 05 70 */	stw r0, 0x570(r4)
/* 802C6F78 002C2BD8  41 82 00 28 */	beq lbl_802C6FA0
/* 802C6F7C 002C2BDC  38 00 00 03 */	li r0, 3
/* 802C6F80 002C2BE0  98 01 00 08 */	stb r0, 8(r1)
/* 802C6F84 002C2BE4  88 03 00 00 */	lbz r0, 0(r3)
/* 802C6F88 002C2BE8  98 01 00 09 */	stb r0, 9(r1)
/* 802C6F8C 002C2BEC  88 03 00 01 */	lbz r0, 1(r3)
/* 802C6F90 002C2BF0  38 61 00 08 */	addi r3, r1, 8
/* 802C6F94 002C2BF4  98 01 00 0A */	stb r0, 0xa(r1)
/* 802C6F98 002C2BF8  7D 89 03 A6 */	mtctr r12
/* 802C6F9C 002C2BFC  4E 80 04 21 */	bctrl
lbl_802C6FA0:
/* 802C6FA0 002C2C00  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C6FA4 002C2C04  7C 08 03 A6 */	mtlr r0
/* 802C6FA8 002C2C08  38 21 00 10 */	addi r1, r1, 0x10
/* 802C6FAC 002C2C0C  4E 80 00 20 */	blr

.global btm_delete_stored_link_key_complete
btm_delete_stored_link_key_complete:
/* 802C6FB0 002C2C10  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C6FB4 002C2C14  7C 08 02 A6 */	mflr r0
/* 802C6FB8 002C2C18  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C6FBC 002C2C1C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C6FC0 002C2C20  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C6FC4 002C2C24  38 00 00 00 */	li r0, 0
/* 802C6FC8 002C2C28  81 84 05 70 */	lwz r12, 0x570(r4)
/* 802C6FCC 002C2C2C  2C 0C 00 00 */	cmpwi r12, 0
/* 802C6FD0 002C2C30  90 04 05 70 */	stw r0, 0x570(r4)
/* 802C6FD4 002C2C34  41 82 00 34 */	beq lbl_802C7008
/* 802C6FD8 002C2C38  38 00 00 04 */	li r0, 4
/* 802C6FDC 002C2C3C  98 01 00 08 */	stb r0, 8(r1)
/* 802C6FE0 002C2C40  88 03 00 00 */	lbz r0, 0(r3)
/* 802C6FE4 002C2C44  98 01 00 09 */	stb r0, 9(r1)
/* 802C6FE8 002C2C48  88 03 00 02 */	lbz r0, 2(r3)
/* 802C6FEC 002C2C4C  88 83 00 01 */	lbz r4, 1(r3)
/* 802C6FF0 002C2C50  38 61 00 08 */	addi r3, r1, 8
/* 802C6FF4 002C2C54  54 00 40 2E */	slwi r0, r0, 8
/* 802C6FF8 002C2C58  7C 04 02 14 */	add r0, r4, r0
/* 802C6FFC 002C2C5C  B0 01 00 0A */	sth r0, 0xa(r1)
/* 802C7000 002C2C60  7D 89 03 A6 */	mtctr r12
/* 802C7004 002C2C64  4E 80 04 21 */	bctrl
lbl_802C7008:
/* 802C7008 002C2C68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C700C 002C2C6C  7C 08 03 A6 */	mtlr r0
/* 802C7010 002C2C70  38 21 00 10 */	addi r1, r1, 0x10
/* 802C7014 002C2C74  4E 80 00 20 */	blr

.global btm_return_link_keys_evt
btm_return_link_keys_evt:
/* 802C7018 002C2C78  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C701C 002C2C7C  7C 08 02 A6 */	mflr r0
/* 802C7020 002C2C80  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C7024 002C2C84  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C7028 002C2C88  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C702C 002C2C8C  81 84 05 70 */	lwz r12, 0x570(r4)
/* 802C7030 002C2C90  2C 0C 00 00 */	cmpwi r12, 0
/* 802C7034 002C2C94  41 82 01 60 */	beq lbl_802C7194
/* 802C7038 002C2C98  38 A3 00 02 */	addi r5, r3, 2
/* 802C703C 002C2C9C  38 80 00 00 */	li r4, 0
/* 802C7040 002C2CA0  48 00 01 3C */	b lbl_802C717C
lbl_802C7044:
/* 802C7044 002C2CA4  89 65 00 00 */	lbz r11, 0(r5)
/* 802C7048 002C2CA8  38 84 00 01 */	addi r4, r4, 1
/* 802C704C 002C2CAC  89 45 00 01 */	lbz r10, 1(r5)
/* 802C7050 002C2CB0  89 25 00 02 */	lbz r9, 2(r5)
/* 802C7054 002C2CB4  89 05 00 03 */	lbz r8, 3(r5)
/* 802C7058 002C2CB8  88 E5 00 04 */	lbz r7, 4(r5)
/* 802C705C 002C2CBC  88 C5 00 05 */	lbz r6, 5(r5)
/* 802C7060 002C2CC0  88 05 00 06 */	lbz r0, 6(r5)
/* 802C7064 002C2CC4  98 01 00 17 */	stb r0, 0x17(r1)
/* 802C7068 002C2CC8  88 05 00 07 */	lbz r0, 7(r5)
/* 802C706C 002C2CCC  98 01 00 16 */	stb r0, 0x16(r1)
/* 802C7070 002C2CD0  88 05 00 08 */	lbz r0, 8(r5)
/* 802C7074 002C2CD4  98 01 00 15 */	stb r0, 0x15(r1)
/* 802C7078 002C2CD8  88 05 00 09 */	lbz r0, 9(r5)
/* 802C707C 002C2CDC  98 01 00 14 */	stb r0, 0x14(r1)
/* 802C7080 002C2CE0  88 05 00 0A */	lbz r0, 0xa(r5)
/* 802C7084 002C2CE4  98 01 00 13 */	stb r0, 0x13(r1)
/* 802C7088 002C2CE8  88 05 00 0B */	lbz r0, 0xb(r5)
/* 802C708C 002C2CEC  98 01 00 12 */	stb r0, 0x12(r1)
/* 802C7090 002C2CF0  88 05 00 0C */	lbz r0, 0xc(r5)
/* 802C7094 002C2CF4  98 01 00 11 */	stb r0, 0x11(r1)
/* 802C7098 002C2CF8  88 05 00 0D */	lbz r0, 0xd(r5)
/* 802C709C 002C2CFC  98 01 00 10 */	stb r0, 0x10(r1)
/* 802C70A0 002C2D00  88 05 00 0E */	lbz r0, 0xe(r5)
/* 802C70A4 002C2D04  98 01 00 0F */	stb r0, 0xf(r1)
/* 802C70A8 002C2D08  88 05 00 0F */	lbz r0, 0xf(r5)
/* 802C70AC 002C2D0C  98 01 00 0E */	stb r0, 0xe(r1)
/* 802C70B0 002C2D10  88 05 00 10 */	lbz r0, 0x10(r5)
/* 802C70B4 002C2D14  98 01 00 0D */	stb r0, 0xd(r1)
/* 802C70B8 002C2D18  88 05 00 11 */	lbz r0, 0x11(r5)
/* 802C70BC 002C2D1C  98 01 00 0C */	stb r0, 0xc(r1)
/* 802C70C0 002C2D20  88 05 00 12 */	lbz r0, 0x12(r5)
/* 802C70C4 002C2D24  98 01 00 0B */	stb r0, 0xb(r1)
/* 802C70C8 002C2D28  88 05 00 13 */	lbz r0, 0x13(r5)
/* 802C70CC 002C2D2C  98 01 00 0A */	stb r0, 0xa(r1)
/* 802C70D0 002C2D30  88 05 00 14 */	lbz r0, 0x14(r5)
/* 802C70D4 002C2D34  98 01 00 09 */	stb r0, 9(r1)
/* 802C70D8 002C2D38  88 05 00 15 */	lbz r0, 0x15(r5)
/* 802C70DC 002C2D3C  98 01 00 08 */	stb r0, 8(r1)
/* 802C70E0 002C2D40  98 C5 00 00 */	stb r6, 0(r5)
/* 802C70E4 002C2D44  98 E5 00 01 */	stb r7, 1(r5)
/* 802C70E8 002C2D48  99 05 00 02 */	stb r8, 2(r5)
/* 802C70EC 002C2D4C  99 25 00 03 */	stb r9, 3(r5)
/* 802C70F0 002C2D50  99 45 00 04 */	stb r10, 4(r5)
/* 802C70F4 002C2D54  99 65 00 05 */	stb r11, 5(r5)
/* 802C70F8 002C2D58  88 01 00 08 */	lbz r0, 8(r1)
/* 802C70FC 002C2D5C  98 05 00 06 */	stb r0, 6(r5)
/* 802C7100 002C2D60  88 01 00 09 */	lbz r0, 9(r1)
/* 802C7104 002C2D64  98 05 00 07 */	stb r0, 7(r5)
/* 802C7108 002C2D68  88 01 00 0A */	lbz r0, 0xa(r1)
/* 802C710C 002C2D6C  98 05 00 08 */	stb r0, 8(r5)
/* 802C7110 002C2D70  88 01 00 0B */	lbz r0, 0xb(r1)
/* 802C7114 002C2D74  98 05 00 09 */	stb r0, 9(r5)
/* 802C7118 002C2D78  88 01 00 0C */	lbz r0, 0xc(r1)
/* 802C711C 002C2D7C  98 05 00 0A */	stb r0, 0xa(r5)
/* 802C7120 002C2D80  88 01 00 0D */	lbz r0, 0xd(r1)
/* 802C7124 002C2D84  98 05 00 0B */	stb r0, 0xb(r5)
/* 802C7128 002C2D88  88 01 00 0E */	lbz r0, 0xe(r1)
/* 802C712C 002C2D8C  98 05 00 0C */	stb r0, 0xc(r5)
/* 802C7130 002C2D90  88 01 00 0F */	lbz r0, 0xf(r1)
/* 802C7134 002C2D94  98 05 00 0D */	stb r0, 0xd(r5)
/* 802C7138 002C2D98  88 01 00 10 */	lbz r0, 0x10(r1)
/* 802C713C 002C2D9C  98 05 00 0E */	stb r0, 0xe(r5)
/* 802C7140 002C2DA0  88 01 00 11 */	lbz r0, 0x11(r1)
/* 802C7144 002C2DA4  98 05 00 0F */	stb r0, 0xf(r5)
/* 802C7148 002C2DA8  88 01 00 12 */	lbz r0, 0x12(r1)
/* 802C714C 002C2DAC  98 05 00 10 */	stb r0, 0x10(r5)
/* 802C7150 002C2DB0  88 01 00 13 */	lbz r0, 0x13(r1)
/* 802C7154 002C2DB4  98 05 00 11 */	stb r0, 0x11(r5)
/* 802C7158 002C2DB8  88 01 00 14 */	lbz r0, 0x14(r1)
/* 802C715C 002C2DBC  98 05 00 12 */	stb r0, 0x12(r5)
/* 802C7160 002C2DC0  88 01 00 15 */	lbz r0, 0x15(r1)
/* 802C7164 002C2DC4  98 05 00 13 */	stb r0, 0x13(r5)
/* 802C7168 002C2DC8  88 01 00 16 */	lbz r0, 0x16(r1)
/* 802C716C 002C2DCC  98 05 00 14 */	stb r0, 0x14(r5)
/* 802C7170 002C2DD0  88 01 00 17 */	lbz r0, 0x17(r1)
/* 802C7174 002C2DD4  98 05 00 15 */	stb r0, 0x15(r5)
/* 802C7178 002C2DD8  38 A5 00 16 */	addi r5, r5, 0x16
lbl_802C717C:
/* 802C717C 002C2DDC  88 03 00 01 */	lbz r0, 1(r3)
/* 802C7180 002C2DE0  54 86 06 3E */	clrlwi r6, r4, 0x18
/* 802C7184 002C2DE4  7C 06 00 40 */	cmplw r6, r0
/* 802C7188 002C2DE8  41 80 FE BC */	blt lbl_802C7044
/* 802C718C 002C2DEC  7D 89 03 A6 */	mtctr r12
/* 802C7190 002C2DF0  4E 80 04 21 */	bctrl
lbl_802C7194:
/* 802C7194 002C2DF4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C7198 002C2DF8  7C 08 03 A6 */	mtlr r0
/* 802C719C 002C2DFC  38 21 00 20 */	addi r1, r1, 0x20
/* 802C71A0 002C2E00  4E 80 00 20 */	blr

.global btm_report_device_status
btm_report_device_status:
/* 802C71A4 002C2E04  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C71A8 002C2E08  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C71AC 002C2E0C  81 84 05 68 */	lwz r12, 0x568(r4)
/* 802C71B0 002C2E10  2C 0C 00 00 */	cmpwi r12, 0
/* 802C71B4 002C2E14  4D 82 00 20 */	beqlr
/* 802C71B8 002C2E18  7D 89 03 A6 */	mtctr r12
/* 802C71BC 002C2E1C  4E 80 04 20 */	bctr
/* 802C71C0 002C2E20  4E 80 00 20 */	blr