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
|