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

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

.global btm_acl_init
btm_acl_init:
/* 802C342C 002BF08C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3430 002BF090  38 80 7D 00 */	li r4, 0x7d00
/* 802C3434 002BF094  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3438 002BF098  38 00 00 FF */	li r0, 0xff
/* 802C343C 002BF09C  B0 83 04 C6 */	sth r4, 0x4c6(r3)
/* 802C3440 002BF0A0  98 03 27 BF */	stb r0, 0x27bf(r3)
/* 802C3444 002BF0A4  4E 80 00 20 */	blr

.global btm_handle_to_acl_index
btm_handle_to_acl_index:
/* 802C3448 002BF0A8  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C344C 002BF0AC  38 A0 00 00 */	li r5, 0
/* 802C3450 002BF0B0  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C3454 002BF0B4  88 04 01 4D */	lbz r0, 0x14d(r4)
/* 802C3458 002BF0B8  2C 00 00 00 */	cmpwi r0, 0
/* 802C345C 002BF0BC  41 82 00 10 */	beq lbl_802C346C
/* 802C3460 002BF0C0  A0 04 00 34 */	lhz r0, 0x34(r4)
/* 802C3464 002BF0C4  7C 00 18 40 */	cmplw r0, r3
/* 802C3468 002BF0C8  41 82 00 5C */	beq lbl_802C34C4
lbl_802C346C:
/* 802C346C 002BF0CC  88 04 02 69 */	lbz r0, 0x269(r4)
/* 802C3470 002BF0D0  38 A0 00 01 */	li r5, 1
/* 802C3474 002BF0D4  2C 00 00 00 */	cmpwi r0, 0
/* 802C3478 002BF0D8  41 82 00 10 */	beq lbl_802C3488
/* 802C347C 002BF0DC  A0 04 01 50 */	lhz r0, 0x150(r4)
/* 802C3480 002BF0E0  7C 00 18 40 */	cmplw r0, r3
/* 802C3484 002BF0E4  41 82 00 40 */	beq lbl_802C34C4
lbl_802C3488:
/* 802C3488 002BF0E8  88 04 03 85 */	lbz r0, 0x385(r4)
/* 802C348C 002BF0EC  38 A0 00 02 */	li r5, 2
/* 802C3490 002BF0F0  2C 00 00 00 */	cmpwi r0, 0
/* 802C3494 002BF0F4  41 82 00 10 */	beq lbl_802C34A4
/* 802C3498 002BF0F8  A0 04 02 6C */	lhz r0, 0x26c(r4)
/* 802C349C 002BF0FC  7C 00 18 40 */	cmplw r0, r3
/* 802C34A0 002BF100  41 82 00 24 */	beq lbl_802C34C4
lbl_802C34A4:
/* 802C34A4 002BF104  88 04 04 A1 */	lbz r0, 0x4a1(r4)
/* 802C34A8 002BF108  38 A0 00 03 */	li r5, 3
/* 802C34AC 002BF10C  2C 00 00 00 */	cmpwi r0, 0
/* 802C34B0 002BF110  41 82 00 10 */	beq lbl_802C34C0
/* 802C34B4 002BF114  A0 04 03 88 */	lhz r0, 0x388(r4)
/* 802C34B8 002BF118  7C 00 18 40 */	cmplw r0, r3
/* 802C34BC 002BF11C  41 82 00 08 */	beq lbl_802C34C4
lbl_802C34C0:
/* 802C34C0 002BF120  38 A0 00 04 */	li r5, 4
lbl_802C34C4:
/* 802C34C4 002BF124  7C A3 2B 78 */	mr r3, r5
/* 802C34C8 002BF128  4E 80 00 20 */	blr

.global btm_acl_created
btm_acl_created:
/* 802C34CC 002BF12C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802C34D0 002BF130  7C 08 02 A6 */	mflr r0
/* 802C34D4 002BF134  90 01 00 34 */	stw r0, 0x34(r1)
/* 802C34D8 002BF138  39 61 00 30 */	addi r11, r1, 0x30
/* 802C34DC 002BF13C  4B F0 3C 45 */	bl _savegpr_25
/* 802C34E0 002BF140  3D 00 80 57 */	lis r8, lbl_80568B78@ha
/* 802C34E4 002BF144  7C 7E 1B 78 */	mr r30, r3
/* 802C34E8 002BF148  39 08 8B 78 */	addi r8, r8, lbl_80568B78@l
/* 802C34EC 002BF14C  7C 99 23 78 */	mr r25, r4
/* 802C34F0 002BF150  7C BA 2B 78 */	mr r26, r5
/* 802C34F4 002BF154  7C DB 33 78 */	mr r27, r6
/* 802C34F8 002BF158  7C FC 3B 78 */	mr r28, r7
/* 802C34FC 002BF15C  3B A8 00 34 */	addi r29, r8, 0x34
/* 802C3500 002BF160  3B E0 00 00 */	li r31, 0
lbl_802C3504:
/* 802C3504 002BF164  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C3508 002BF168  2C 00 00 00 */	cmpwi r0, 0
/* 802C350C 002BF16C  41 82 00 20 */	beq lbl_802C352C
/* 802C3510 002BF170  7F C4 F3 78 */	mr r4, r30
/* 802C3514 002BF174  38 7D 00 08 */	addi r3, r29, 8
/* 802C3518 002BF178  38 A0 00 06 */	li r5, 6
/* 802C351C 002BF17C  4B F0 6E 7D */	bl memcmp
/* 802C3520 002BF180  2C 03 00 00 */	cmpwi r3, 0
/* 802C3524 002BF184  40 82 00 08 */	bne lbl_802C352C
/* 802C3528 002BF188  48 00 00 18 */	b lbl_802C3540
lbl_802C352C:
/* 802C352C 002BF18C  3B FF 00 01 */	addi r31, r31, 1
/* 802C3530 002BF190  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C3534 002BF194  28 1F 00 04 */	cmplwi r31, 4
/* 802C3538 002BF198  41 80 FF CC */	blt lbl_802C3504
/* 802C353C 002BF19C  3B A0 00 00 */	li r29, 0
lbl_802C3540:
/* 802C3540 002BF1A0  2C 1D 00 00 */	cmpwi r29, 0
/* 802C3544 002BF1A4  41 82 00 50 */	beq lbl_802C3594
/* 802C3548 002BF1A8  B3 7D 00 00 */	sth r27, 0(r29)
/* 802C354C 002BF1AC  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3550 002BF1B0  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3554 002BF1B4  9B 9D 01 1A */	stb r28, 0x11a(r29)
/* 802C3558 002BF1B8  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C355C 002BF1BC  28 00 00 04 */	cmplwi r0, 4
/* 802C3560 002BF1C0  41 80 02 68 */	blt lbl_802C37C8
/* 802C3564 002BF1C4  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C3568 002BF1C8  3C 80 80 44 */	lis r4, lbl_80440CC0@ha
/* 802C356C 002BF1CC  88 BE 00 00 */	lbz r5, 0(r30)
/* 802C3570 002BF1D0  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C3574 002BF1D4  88 DE 00 01 */	lbz r6, 1(r30)
/* 802C3578 002BF1D8  38 84 0C C0 */	addi r4, r4, lbl_80440CC0@l
/* 802C357C 002BF1DC  88 FE 00 02 */	lbz r7, 2(r30)
/* 802C3580 002BF1E0  89 1E 00 03 */	lbz r8, 3(r30)
/* 802C3584 002BF1E4  89 3E 00 04 */	lbz r9, 4(r30)
/* 802C3588 002BF1E8  89 5E 00 05 */	lbz r10, 5(r30)
/* 802C358C 002BF1EC  4B FF 9A 15 */	bl LogMsg_6
/* 802C3590 002BF1F0  48 00 02 38 */	b lbl_802C37C8
lbl_802C3594:
/* 802C3594 002BF1F4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3598 002BF1F8  38 00 00 04 */	li r0, 4
/* 802C359C 002BF1FC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C35A0 002BF200  38 80 00 00 */	li r4, 0
/* 802C35A4 002BF204  3B E3 00 34 */	addi r31, r3, 0x34
/* 802C35A8 002BF208  7C 09 03 A6 */	mtctr r0
lbl_802C35AC:
/* 802C35AC 002BF20C  88 1F 01 19 */	lbz r0, 0x119(r31)
/* 802C35B0 002BF210  2C 00 00 00 */	cmpwi r0, 0
/* 802C35B4 002BF214  40 82 02 08 */	bne lbl_802C37BC
/* 802C35B8 002BF218  38 60 00 01 */	li r3, 1
/* 802C35BC 002BF21C  38 00 00 00 */	li r0, 0
/* 802C35C0 002BF220  98 7F 01 19 */	stb r3, 0x119(r31)
/* 802C35C4 002BF224  54 83 06 3E */	clrlwi r3, r4, 0x18
/* 802C35C8 002BF228  B3 7F 00 00 */	sth r27, 0(r31)
/* 802C35CC 002BF22C  9B 9F 01 1A */	stb r28, 0x11a(r31)
/* 802C35D0 002BF230  B0 1F 00 04 */	sth r0, 4(r31)
/* 802C35D4 002BF234  48 00 5B D5 */	bl btm_pm_sm_alloc
/* 802C35D8 002BF238  7F C4 F3 78 */	mr r4, r30
/* 802C35DC 002BF23C  38 7F 00 08 */	addi r3, r31, 8
/* 802C35E0 002BF240  38 A0 00 06 */	li r5, 6
/* 802C35E4 002BF244  4B D4 0A 1D */	bl memcpy
/* 802C35E8 002BF248  2C 19 00 00 */	cmpwi r25, 0
/* 802C35EC 002BF24C  41 82 00 14 */	beq lbl_802C3600
/* 802C35F0 002BF250  7F 24 CB 78 */	mr r4, r25
/* 802C35F4 002BF254  38 7F 00 0E */	addi r3, r31, 0xe
/* 802C35F8 002BF258  38 A0 00 03 */	li r5, 3
/* 802C35FC 002BF25C  4B D4 0A 05 */	bl memcpy
lbl_802C3600:
/* 802C3600 002BF260  2C 1A 00 00 */	cmpwi r26, 0
/* 802C3604 002BF264  41 82 00 14 */	beq lbl_802C3618
/* 802C3608 002BF268  7F 44 D3 78 */	mr r4, r26
/* 802C360C 002BF26C  38 7F 00 11 */	addi r3, r31, 0x11
/* 802C3610 002BF270  38 A0 00 F8 */	li r5, 0xf8
/* 802C3614 002BF274  4B D4 09 ED */	bl memcpy
lbl_802C3618:
/* 802C3618 002BF278  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C361C 002BF27C  48 00 D5 11 */	bl btsnd_hcic_read_rmt_clk_offset
/* 802C3620 002BF280  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C3624 002BF284  48 00 D4 8D */	bl btsnd_hcic_rmt_ver_req
/* 802C3628 002BF288  7F 63 DB 78 */	mr r3, r27
/* 802C362C 002BF28C  48 00 1F 39 */	bl btm_find_dev_by_handle
/* 802C3630 002BF290  2C 03 00 00 */	cmpwi r3, 0
/* 802C3634 002BF294  7C 65 1B 78 */	mr r5, r3
/* 802C3638 002BF298  41 82 01 78 */	beq lbl_802C37B0
/* 802C363C 002BF29C  38 00 00 08 */	li r0, 8
/* 802C3640 002BF2A0  38 C0 00 00 */	li r6, 0
/* 802C3644 002BF2A4  7C 09 03 A6 */	mtctr r0
lbl_802C3648:
/* 802C3648 002BF2A8  54 C0 06 3E */	clrlwi r0, r6, 0x18
/* 802C364C 002BF2AC  7C 83 02 14 */	add r4, r3, r0
/* 802C3650 002BF2B0  88 04 00 77 */	lbz r0, 0x77(r4)
/* 802C3654 002BF2B4  2C 00 00 00 */	cmpwi r0, 0
/* 802C3658 002BF2B8  41 82 01 50 */	beq lbl_802C37A8
/* 802C365C 002BF2BC  38 85 00 77 */	addi r4, r5, 0x77
/* 802C3660 002BF2C0  38 7F 01 10 */	addi r3, r31, 0x110
/* 802C3664 002BF2C4  38 A0 00 08 */	li r5, 8
/* 802C3668 002BF2C8  4B D4 09 99 */	bl memcpy
/* 802C366C 002BF2CC  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3670 002BF2D0  38 00 CC F9 */	li r0, -13063
/* 802C3674 002BF2D4  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3678 002BF2D8  A0 A3 06 54 */	lhz r5, 0x654(r3)
/* 802C367C 002BF2DC  88 63 06 36 */	lbz r3, 0x636(r3)
/* 802C3680 002BF2E0  70 A4 CC 18 */	andi. r4, r5, 0xcc18
/* 802C3684 002BF2E4  28 03 00 03 */	cmplwi r3, 3
/* 802C3688 002BF2E8  7C 9E 00 38 */	and r30, r4, r0
/* 802C368C 002BF2EC  41 80 00 10 */	blt lbl_802C369C
/* 802C3690 002BF2F0  70 A0 33 06 */	andi. r0, r5, 0x3306
/* 802C3694 002BF2F4  7C 80 03 78 */	or r0, r4, r0
/* 802C3698 002BF2F8  54 1E 04 3E */	clrlwi r30, r0, 0x10
lbl_802C369C:
/* 802C369C 002BF2FC  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C36A0 002BF300  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C36A4 002BF304  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C36A8 002BF308  28 00 00 04 */	cmplwi r0, 4
/* 802C36AC 002BF30C  41 80 00 1C */	blt lbl_802C36C8
/* 802C36B0 002BF310  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C36B4 002BF314  3C 80 80 44 */	lis r4, lbl_80440D00@ha
/* 802C36B8 002BF318  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C36BC 002BF31C  57 C5 04 3E */	clrlwi r5, r30, 0x10
/* 802C36C0 002BF320  38 84 0D 00 */	addi r4, r4, lbl_80440D00@l
/* 802C36C4 002BF324  4B FF 98 65 */	bl LogMsg_1
lbl_802C36C8:
/* 802C36C8 002BF328  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C36CC 002BF32C  57 C4 04 3E */	clrlwi r4, r30, 0x10
/* 802C36D0 002BF330  48 00 D0 55 */	bl btsnd_hcic_change_conn_type
/* 802C36D4 002BF334  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C36D8 002BF338  41 82 00 08 */	beq lbl_802C36E0
/* 802C36DC 002BF33C  B3 DF 00 02 */	sth r30, 2(r31)
lbl_802C36E0:
/* 802C36E0 002BF340  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C36E4 002BF344  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C36E8 002BF348  A0 04 04 C4 */	lhz r0, 0x4c4(r4)
/* 802C36EC 002BF34C  2C 00 00 00 */	cmpwi r0, 0
/* 802C36F0 002BF350  41 82 00 10 */	beq lbl_802C3700
/* 802C36F4 002BF354  38 7F 00 08 */	addi r3, r31, 8
/* 802C36F8 002BF358  38 84 04 C4 */	addi r4, r4, 0x4c4
/* 802C36FC 002BF35C  48 00 05 99 */	bl BTM_SetLinkPolicy
lbl_802C3700:
/* 802C3700 002BF360  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3704 002BF364  3B A0 00 00 */	li r29, 0
/* 802C3708 002BF368  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C370C 002BF36C  A3 83 04 C6 */	lhz r28, 0x4c6(r3)
/* 802C3710 002BF370  3B C3 00 34 */	addi r30, r3, 0x34
lbl_802C3714:
/* 802C3714 002BF374  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C3718 002BF378  2C 00 00 00 */	cmpwi r0, 0
/* 802C371C 002BF37C  41 82 00 20 */	beq lbl_802C373C
/* 802C3720 002BF380  38 7E 00 08 */	addi r3, r30, 8
/* 802C3724 002BF384  38 9F 00 08 */	addi r4, r31, 8
/* 802C3728 002BF388  38 A0 00 06 */	li r5, 6
/* 802C372C 002BF38C  4B F0 6C 6D */	bl memcmp
/* 802C3730 002BF390  2C 03 00 00 */	cmpwi r3, 0
/* 802C3734 002BF394  40 82 00 08 */	bne lbl_802C373C
/* 802C3738 002BF398  48 00 00 18 */	b lbl_802C3750
lbl_802C373C:
/* 802C373C 002BF39C  3B BD 00 01 */	addi r29, r29, 1
/* 802C3740 002BF3A0  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C3744 002BF3A4  28 1D 00 04 */	cmplwi r29, 4
/* 802C3748 002BF3A8  41 80 FF CC */	blt lbl_802C3714
/* 802C374C 002BF3AC  3B C0 00 00 */	li r30, 0
lbl_802C3750:
/* 802C3750 002BF3B0  2C 1E 00 00 */	cmpwi r30, 0
/* 802C3754 002BF3B4  41 82 00 20 */	beq lbl_802C3774
/* 802C3758 002BF3B8  B3 9E 01 0E */	sth r28, 0x10e(r30)
/* 802C375C 002BF3BC  88 1E 01 1A */	lbz r0, 0x11a(r30)
/* 802C3760 002BF3C0  2C 00 00 00 */	cmpwi r0, 0
/* 802C3764 002BF3C4  40 82 00 10 */	bne lbl_802C3774
/* 802C3768 002BF3C8  A0 7E 00 00 */	lhz r3, 0(r30)
/* 802C376C 002BF3CC  7F 84 E3 78 */	mr r4, r28
/* 802C3770 002BF3D0  48 00 E4 B5 */	bl btsnd_hcic_write_link_super_tout
lbl_802C3774:
/* 802C3774 002BF3D4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3778 002BF3D8  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C377C 002BF3DC  81 83 04 C8 */	lwz r12, 0x4c8(r3)
/* 802C3780 002BF3E0  2C 0C 00 00 */	cmpwi r12, 0
/* 802C3784 002BF3E4  41 82 00 44 */	beq lbl_802C37C8
/* 802C3788 002BF3E8  38 7F 00 08 */	addi r3, r31, 8
/* 802C378C 002BF3EC  38 9F 00 0E */	addi r4, r31, 0xe
/* 802C3790 002BF3F0  38 BF 00 11 */	addi r5, r31, 0x11
/* 802C3794 002BF3F4  38 DF 01 10 */	addi r6, r31, 0x110
/* 802C3798 002BF3F8  38 E0 00 01 */	li r7, 1
/* 802C379C 002BF3FC  7D 89 03 A6 */	mtctr r12
/* 802C37A0 002BF400  4E 80 04 21 */	bctrl
/* 802C37A4 002BF404  48 00 00 24 */	b lbl_802C37C8
lbl_802C37A8:
/* 802C37A8 002BF408  38 C6 00 01 */	addi r6, r6, 1
/* 802C37AC 002BF40C  42 00 FE 9C */	bdnz lbl_802C3648
lbl_802C37B0:
/* 802C37B0 002BF410  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C37B4 002BF414  48 00 D2 81 */	bl btsnd_hcic_rmt_features_req
/* 802C37B8 002BF418  48 00 00 10 */	b lbl_802C37C8
lbl_802C37BC:
/* 802C37BC 002BF41C  38 84 00 01 */	addi r4, r4, 1
/* 802C37C0 002BF420  3B FF 01 1C */	addi r31, r31, 0x11c
/* 802C37C4 002BF424  42 00 FD E8 */	bdnz lbl_802C35AC
lbl_802C37C8:
/* 802C37C8 002BF428  39 61 00 30 */	addi r11, r1, 0x30
/* 802C37CC 002BF42C  4B F0 39 A1 */	bl _restgpr_25
/* 802C37D0 002BF430  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802C37D4 002BF434  7C 08 03 A6 */	mtlr r0
/* 802C37D8 002BF438  38 21 00 30 */	addi r1, r1, 0x30
/* 802C37DC 002BF43C  4E 80 00 20 */	blr

.global btm_acl_removed
btm_acl_removed:
/* 802C37E0 002BF440  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C37E4 002BF444  7C 08 02 A6 */	mflr r0
/* 802C37E8 002BF448  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C37EC 002BF44C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C37F0 002BF450  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C37F4 002BF454  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C37F8 002BF458  3B E0 00 00 */	li r31, 0
/* 802C37FC 002BF45C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C3800 002BF460  3B C4 00 34 */	addi r30, r4, 0x34
/* 802C3804 002BF464  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C3808 002BF468  7C 7D 1B 78 */	mr r29, r3
lbl_802C380C:
/* 802C380C 002BF46C  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C3810 002BF470  2C 00 00 00 */	cmpwi r0, 0
/* 802C3814 002BF474  41 82 00 20 */	beq lbl_802C3834
/* 802C3818 002BF478  7F A4 EB 78 */	mr r4, r29
/* 802C381C 002BF47C  38 7E 00 08 */	addi r3, r30, 8
/* 802C3820 002BF480  38 A0 00 06 */	li r5, 6
/* 802C3824 002BF484  4B F0 6B 75 */	bl memcmp
/* 802C3828 002BF488  2C 03 00 00 */	cmpwi r3, 0
/* 802C382C 002BF48C  40 82 00 08 */	bne lbl_802C3834
/* 802C3830 002BF490  48 00 00 18 */	b lbl_802C3848
lbl_802C3834:
/* 802C3834 002BF494  3B FF 00 01 */	addi r31, r31, 1
/* 802C3838 002BF498  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C383C 002BF49C  28 1F 00 04 */	cmplwi r31, 4
/* 802C3840 002BF4A0  41 80 FF CC */	blt lbl_802C380C
/* 802C3844 002BF4A4  3B C0 00 00 */	li r30, 0
lbl_802C3848:
/* 802C3848 002BF4A8  2C 1E 00 00 */	cmpwi r30, 0
/* 802C384C 002BF4AC  41 82 00 3C */	beq lbl_802C3888
/* 802C3850 002BF4B0  38 00 00 00 */	li r0, 0
/* 802C3854 002BF4B4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3858 002BF4B8  98 1E 01 19 */	stb r0, 0x119(r30)
/* 802C385C 002BF4BC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3860 002BF4C0  81 83 04 C8 */	lwz r12, 0x4c8(r3)
/* 802C3864 002BF4C4  2C 0C 00 00 */	cmpwi r12, 0
/* 802C3868 002BF4C8  41 82 00 20 */	beq lbl_802C3888
/* 802C386C 002BF4CC  7F A3 EB 78 */	mr r3, r29
/* 802C3870 002BF4D0  38 80 00 00 */	li r4, 0
/* 802C3874 002BF4D4  38 A0 00 00 */	li r5, 0
/* 802C3878 002BF4D8  38 C0 00 00 */	li r6, 0
/* 802C387C 002BF4DC  38 E0 00 00 */	li r7, 0
/* 802C3880 002BF4E0  7D 89 03 A6 */	mtctr r12
/* 802C3884 002BF4E4  4E 80 04 21 */	bctrl
lbl_802C3888:
/* 802C3888 002BF4E8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C388C 002BF4EC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C3890 002BF4F0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C3894 002BF4F4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C3898 002BF4F8  7C 08 03 A6 */	mtlr r0
/* 802C389C 002BF4FC  38 21 00 20 */	addi r1, r1, 0x20
/* 802C38A0 002BF500  4E 80 00 20 */	blr

.global btm_acl_device_down
btm_acl_device_down:
/* 802C38A4 002BF504  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802C38A8 002BF508  7C 08 02 A6 */	mflr r0
/* 802C38AC 002BF50C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C38B0 002BF510  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C38B4 002BF514  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C38B8 002BF518  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802C38BC 002BF51C  3B E3 00 34 */	addi r31, r3, 0x34
/* 802C38C0 002BF520  93 C1 00 08 */	stw r30, 8(r1)
/* 802C38C4 002BF524  3B C0 00 00 */	li r30, 0
lbl_802C38C8:
/* 802C38C8 002BF528  88 1F 01 19 */	lbz r0, 0x119(r31)
/* 802C38CC 002BF52C  2C 00 00 00 */	cmpwi r0, 0
/* 802C38D0 002BF530  41 82 00 10 */	beq lbl_802C38E0
/* 802C38D4 002BF534  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C38D8 002BF538  38 80 00 03 */	li r4, 3
/* 802C38DC 002BF53C  48 01 44 3D */	bl l2c_link_hci_disc_comp
lbl_802C38E0:
/* 802C38E0 002BF540  3B DE 00 01 */	addi r30, r30, 1
/* 802C38E4 002BF544  3B FF 01 1C */	addi r31, r31, 0x11c
/* 802C38E8 002BF548  28 1E 00 04 */	cmplwi r30, 4
/* 802C38EC 002BF54C  41 80 FF DC */	blt lbl_802C38C8
/* 802C38F0 002BF550  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802C38F4 002BF554  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802C38F8 002BF558  83 C1 00 08 */	lwz r30, 8(r1)
/* 802C38FC 002BF55C  7C 08 03 A6 */	mtlr r0
/* 802C3900 002BF560  38 21 00 10 */	addi r1, r1, 0x10
/* 802C3904 002BF564  4E 80 00 20 */	blr

.global BTM_SwitchRole
BTM_SwitchRole:
/* 802C3908 002BF568  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802C390C 002BF56C  7C 08 02 A6 */	mflr r0
/* 802C3910 002BF570  90 01 00 34 */	stw r0, 0x34(r1)
/* 802C3914 002BF574  39 61 00 30 */	addi r11, r1, 0x30
/* 802C3918 002BF578  4B F0 38 11 */	bl _savegpr_27
/* 802C391C 002BF57C  3C C0 80 57 */	lis r6, lbl_80568B78@ha
/* 802C3920 002BF580  7C 7C 1B 78 */	mr r28, r3
/* 802C3924 002BF584  38 C6 8B 78 */	addi r6, r6, lbl_80568B78@l
/* 802C3928 002BF588  7C 9D 23 78 */	mr r29, r4
/* 802C392C 002BF58C  88 06 06 40 */	lbz r0, 0x640(r6)
/* 802C3930 002BF590  7C BE 2B 78 */	mr r30, r5
/* 802C3934 002BF594  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 802C3938 002BF598  40 82 00 0C */	bne lbl_802C3944
/* 802C393C 002BF59C  38 60 00 04 */	li r3, 4
/* 802C3940 002BF5A0  48 00 01 CC */	b lbl_802C3B0C
lbl_802C3944:
/* 802C3944 002BF5A4  3B E6 00 34 */	addi r31, r6, 0x34
/* 802C3948 002BF5A8  3B 60 00 00 */	li r27, 0
lbl_802C394C:
/* 802C394C 002BF5AC  88 1F 01 19 */	lbz r0, 0x119(r31)
/* 802C3950 002BF5B0  2C 00 00 00 */	cmpwi r0, 0
/* 802C3954 002BF5B4  41 82 00 20 */	beq lbl_802C3974
/* 802C3958 002BF5B8  7F 84 E3 78 */	mr r4, r28
/* 802C395C 002BF5BC  38 7F 00 08 */	addi r3, r31, 8
/* 802C3960 002BF5C0  38 A0 00 06 */	li r5, 6
/* 802C3964 002BF5C4  4B F0 6A 35 */	bl memcmp
/* 802C3968 002BF5C8  2C 03 00 00 */	cmpwi r3, 0
/* 802C396C 002BF5CC  40 82 00 08 */	bne lbl_802C3974
/* 802C3970 002BF5D0  48 00 00 18 */	b lbl_802C3988
lbl_802C3974:
/* 802C3974 002BF5D4  3B 7B 00 01 */	addi r27, r27, 1
/* 802C3978 002BF5D8  3B FF 01 1C */	addi r31, r31, 0x11c
/* 802C397C 002BF5DC  28 1B 00 04 */	cmplwi r27, 4
/* 802C3980 002BF5E0  41 80 FF CC */	blt lbl_802C394C
/* 802C3984 002BF5E4  3B E0 00 00 */	li r31, 0
lbl_802C3988:
/* 802C3988 002BF5E8  2C 1F 00 00 */	cmpwi r31, 0
/* 802C398C 002BF5EC  40 82 00 0C */	bne lbl_802C3998
/* 802C3990 002BF5F0  38 60 00 07 */	li r3, 7
/* 802C3994 002BF5F4  48 00 01 78 */	b lbl_802C3B0C
lbl_802C3998:
/* 802C3998 002BF5F8  88 1F 01 1A */	lbz r0, 0x11a(r31)
/* 802C399C 002BF5FC  7C 00 E8 40 */	cmplw r0, r29
/* 802C39A0 002BF600  40 82 00 0C */	bne lbl_802C39AC
/* 802C39A4 002BF604  38 60 00 00 */	li r3, 0
/* 802C39A8 002BF608  48 00 01 64 */	b lbl_802C3B0C
lbl_802C39AC:
/* 802C39AC 002BF60C  7F 83 E3 78 */	mr r3, r28
/* 802C39B0 002BF610  48 00 6E 81 */	bl btm_is_sco_active_by_bdaddr
/* 802C39B4 002BF614  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 802C39B8 002BF618  28 00 00 01 */	cmplwi r0, 1
/* 802C39BC 002BF61C  40 82 00 0C */	bne lbl_802C39C8
/* 802C39C0 002BF620  38 60 00 03 */	li r3, 3
/* 802C39C4 002BF624  48 00 01 48 */	b lbl_802C3B0C
lbl_802C39C8:
/* 802C39C8 002BF628  88 1F 01 1B */	lbz r0, 0x11b(r31)
/* 802C39CC 002BF62C  2C 00 00 00 */	cmpwi r0, 0
/* 802C39D0 002BF630  41 82 00 34 */	beq lbl_802C3A04
/* 802C39D4 002BF634  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C39D8 002BF638  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C39DC 002BF63C  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C39E0 002BF640  28 00 00 05 */	cmplwi r0, 5
/* 802C39E4 002BF644  41 80 00 18 */	blt lbl_802C39FC
/* 802C39E8 002BF648  3C 60 00 0D */	lis r3, 0x000D0004@ha
/* 802C39EC 002BF64C  3C 80 80 44 */	lis r4, lbl_80440D20@ha
/* 802C39F0 002BF650  38 63 00 04 */	addi r3, r3, 0x000D0004@l
/* 802C39F4 002BF654  38 84 0D 20 */	addi r4, r4, lbl_80440D20@l
/* 802C39F8 002BF658  4B FF 95 19 */	bl LogMsg_0
lbl_802C39FC:
/* 802C39FC 002BF65C  38 60 00 02 */	li r3, 2
/* 802C3A00 002BF660  48 00 01 0C */	b lbl_802C3B0C
lbl_802C3A04:
/* 802C3A04 002BF664  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3A08 002BF668  38 80 00 00 */	li r4, 0
/* 802C3A0C 002BF66C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3A10 002BF670  38 A0 00 08 */	li r5, 8
/* 802C3A14 002BF674  38 63 06 24 */	addi r3, r3, 0x624
/* 802C3A18 002BF678  4B D4 06 ED */	bl memset
/* 802C3A1C 002BF67C  38 7F 00 08 */	addi r3, r31, 8
/* 802C3A20 002BF680  38 81 00 08 */	addi r4, r1, 8
/* 802C3A24 002BF684  48 00 56 55 */	bl BTM_ReadPowerMode
/* 802C3A28 002BF688  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C3A2C 002BF68C  41 82 00 08 */	beq lbl_802C3A34
/* 802C3A30 002BF690  48 00 00 DC */	b lbl_802C3B0C
lbl_802C3A34:
/* 802C3A34 002BF694  88 61 00 08 */	lbz r3, 8(r1)
/* 802C3A38 002BF698  38 03 00 FE */	addi r0, r3, 0xfe
/* 802C3A3C 002BF69C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 802C3A40 002BF6A0  28 00 00 01 */	cmplwi r0, 1
/* 802C3A44 002BF6A4  41 81 00 3C */	bgt lbl_802C3A80
/* 802C3A48 002BF6A8  38 00 00 00 */	li r0, 0
/* 802C3A4C 002BF6AC  38 9F 00 08 */	addi r4, r31, 8
/* 802C3A50 002BF6B0  98 01 00 14 */	stb r0, 0x14(r1)
/* 802C3A54 002BF6B4  38 A1 00 0C */	addi r5, r1, 0xc
/* 802C3A58 002BF6B8  38 60 00 80 */	li r3, 0x80
/* 802C3A5C 002BF6BC  48 00 54 4D */	bl BTM_SetPowerMode
/* 802C3A60 002BF6C0  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 802C3A64 002BF6C4  28 00 00 01 */	cmplwi r0, 1
/* 802C3A68 002BF6C8  41 82 00 0C */	beq lbl_802C3A74
/* 802C3A6C 002BF6CC  38 60 00 06 */	li r3, 6
/* 802C3A70 002BF6D0  48 00 00 9C */	b lbl_802C3B0C
lbl_802C3A74:
/* 802C3A74 002BF6D4  38 00 00 01 */	li r0, 1
/* 802C3A78 002BF6D8  98 1F 01 1B */	stb r0, 0x11b(r31)
/* 802C3A7C 002BF6DC  48 00 00 6C */	b lbl_802C3AE8
lbl_802C3A80:
/* 802C3A80 002BF6E0  7F 83 E3 78 */	mr r3, r28
/* 802C3A84 002BF6E4  48 00 1B 99 */	bl btm_find_dev
/* 802C3A88 002BF6E8  2C 03 00 00 */	cmpwi r3, 0
/* 802C3A8C 002BF6EC  41 82 00 38 */	beq lbl_802C3AC4
/* 802C3A90 002BF6F0  88 03 00 76 */	lbz r0, 0x76(r3)
/* 802C3A94 002BF6F4  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802C3A98 002BF6F8  41 82 00 2C */	beq lbl_802C3AC4
/* 802C3A9C 002BF6FC  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C3AA0 002BF700  38 80 00 00 */	li r4, 0
/* 802C3AA4 002BF704  48 00 CD 8D */	bl btsnd_hcic_set_conn_encrypt
/* 802C3AA8 002BF708  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C3AAC 002BF70C  40 82 00 0C */	bne lbl_802C3AB8
/* 802C3AB0 002BF710  38 60 00 03 */	li r3, 3
/* 802C3AB4 002BF714  48 00 00 58 */	b lbl_802C3B0C
lbl_802C3AB8:
/* 802C3AB8 002BF718  38 00 00 02 */	li r0, 2
/* 802C3ABC 002BF71C  98 1F 01 1B */	stb r0, 0x11b(r31)
/* 802C3AC0 002BF720  48 00 00 28 */	b lbl_802C3AE8
lbl_802C3AC4:
/* 802C3AC4 002BF724  7F 83 E3 78 */	mr r3, r28
/* 802C3AC8 002BF728  7F A4 EB 78 */	mr r4, r29
/* 802C3ACC 002BF72C  48 00 D6 5D */	bl btsnd_hcic_switch_role
/* 802C3AD0 002BF730  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C3AD4 002BF734  40 82 00 0C */	bne lbl_802C3AE0
/* 802C3AD8 002BF738  38 60 00 03 */	li r3, 3
/* 802C3ADC 002BF73C  48 00 00 30 */	b lbl_802C3B0C
lbl_802C3AE0:
/* 802C3AE0 002BF740  38 00 00 05 */	li r0, 5
/* 802C3AE4 002BF744  98 1F 01 1B */	stb r0, 0x11b(r31)
lbl_802C3AE8:
/* 802C3AE8 002BF748  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C3AEC 002BF74C  7F 84 E3 78 */	mr r4, r28
/* 802C3AF0 002BF750  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C3AF4 002BF754  38 A0 00 06 */	li r5, 6
/* 802C3AF8 002BF758  38 7F 06 26 */	addi r3, r31, 0x626
/* 802C3AFC 002BF75C  4B D4 05 05 */	bl memcpy
/* 802C3B00 002BF760  9B BF 06 25 */	stb r29, 0x625(r31)
/* 802C3B04 002BF764  38 60 00 01 */	li r3, 1
/* 802C3B08 002BF768  93 DF 06 2C */	stw r30, 0x62c(r31)
lbl_802C3B0C:
/* 802C3B0C 002BF76C  39 61 00 30 */	addi r11, r1, 0x30
/* 802C3B10 002BF770  4B F0 36 65 */	bl _restgpr_27
/* 802C3B14 002BF774  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802C3B18 002BF778  7C 08 03 A6 */	mtlr r0
/* 802C3B1C 002BF77C  38 21 00 30 */	addi r1, r1, 0x30
/* 802C3B20 002BF780  4E 80 00 20 */	blr

.global btm_acl_encrypt_change
btm_acl_encrypt_change:
/* 802C3B24 002BF784  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C3B28 002BF788  7C 08 02 A6 */	mflr r0
/* 802C3B2C 002BF78C  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C3B30 002BF790  38 C0 00 00 */	li r6, 0
/* 802C3B34 002BF794  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C3B38 002BF798  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C3B3C 002BF79C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C3B40 002BF7A0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C3B44 002BF7A4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C3B48 002BF7A8  88 04 01 4D */	lbz r0, 0x14d(r4)
/* 802C3B4C 002BF7AC  2C 00 00 00 */	cmpwi r0, 0
/* 802C3B50 002BF7B0  41 82 00 10 */	beq lbl_802C3B60
/* 802C3B54 002BF7B4  A0 04 00 34 */	lhz r0, 0x34(r4)
/* 802C3B58 002BF7B8  7C 00 18 40 */	cmplw r0, r3
/* 802C3B5C 002BF7BC  41 82 00 5C */	beq lbl_802C3BB8
lbl_802C3B60:
/* 802C3B60 002BF7C0  88 04 02 69 */	lbz r0, 0x269(r4)
/* 802C3B64 002BF7C4  38 C0 00 01 */	li r6, 1
/* 802C3B68 002BF7C8  2C 00 00 00 */	cmpwi r0, 0
/* 802C3B6C 002BF7CC  41 82 00 10 */	beq lbl_802C3B7C
/* 802C3B70 002BF7D0  A0 04 01 50 */	lhz r0, 0x150(r4)
/* 802C3B74 002BF7D4  7C 00 18 40 */	cmplw r0, r3
/* 802C3B78 002BF7D8  41 82 00 40 */	beq lbl_802C3BB8
lbl_802C3B7C:
/* 802C3B7C 002BF7DC  88 04 03 85 */	lbz r0, 0x385(r4)
/* 802C3B80 002BF7E0  38 C0 00 02 */	li r6, 2
/* 802C3B84 002BF7E4  2C 00 00 00 */	cmpwi r0, 0
/* 802C3B88 002BF7E8  41 82 00 10 */	beq lbl_802C3B98
/* 802C3B8C 002BF7EC  A0 04 02 6C */	lhz r0, 0x26c(r4)
/* 802C3B90 002BF7F0  7C 00 18 40 */	cmplw r0, r3
/* 802C3B94 002BF7F4  41 82 00 24 */	beq lbl_802C3BB8
lbl_802C3B98:
/* 802C3B98 002BF7F8  88 04 04 A1 */	lbz r0, 0x4a1(r4)
/* 802C3B9C 002BF7FC  38 C0 00 03 */	li r6, 3
/* 802C3BA0 002BF800  2C 00 00 00 */	cmpwi r0, 0
/* 802C3BA4 002BF804  41 82 00 10 */	beq lbl_802C3BB4
/* 802C3BA8 002BF808  A0 04 03 88 */	lhz r0, 0x388(r4)
/* 802C3BAC 002BF80C  7C 00 18 40 */	cmplw r0, r3
/* 802C3BB0 002BF810  41 82 00 08 */	beq lbl_802C3BB8
lbl_802C3BB4:
/* 802C3BB4 002BF814  38 C0 00 04 */	li r6, 4
lbl_802C3BB8:
/* 802C3BB8 002BF818  28 06 00 04 */	cmplwi r6, 4
/* 802C3BBC 002BF81C  40 80 00 BC */	bge lbl_802C3C78
/* 802C3BC0 002BF820  1C 06 01 1C */	mulli r0, r6, 0x11c
/* 802C3BC4 002BF824  3F C0 80 57 */	lis r30, lbl_80568B78@ha
/* 802C3BC8 002BF828  3B DE 8B 78 */	addi r30, r30, lbl_80568B78@l
/* 802C3BCC 002BF82C  7F BE 02 14 */	add r29, r30, r0
/* 802C3BD0 002BF830  48 00 00 08 */	b lbl_802C3BD8
/* 802C3BD4 002BF834  48 00 00 A4 */	b lbl_802C3C78
lbl_802C3BD8:
/* 802C3BD8 002BF838  88 1D 01 4F */	lbz r0, 0x14f(r29)
/* 802C3BDC 002BF83C  28 00 00 02 */	cmplwi r0, 2
/* 802C3BE0 002BF840  40 82 00 6C */	bne lbl_802C3C4C
/* 802C3BE4 002BF844  2C 05 00 00 */	cmpwi r5, 0
/* 802C3BE8 002BF848  41 82 00 10 */	beq lbl_802C3BF8
/* 802C3BEC 002BF84C  38 00 00 00 */	li r0, 0
/* 802C3BF0 002BF850  98 1D 01 4F */	stb r0, 0x14f(r29)
/* 802C3BF4 002BF854  48 00 00 0C */	b lbl_802C3C00
lbl_802C3BF8:
/* 802C3BF8 002BF858  38 00 00 03 */	li r0, 3
/* 802C3BFC 002BF85C  98 1D 01 4F */	stb r0, 0x14f(r29)
lbl_802C3C00:
/* 802C3C00 002BF860  88 1D 01 4E */	lbz r0, 0x14e(r29)
/* 802C3C04 002BF864  38 7D 00 3C */	addi r3, r29, 0x3c
/* 802C3C08 002BF868  7C 00 00 34 */	cntlzw r0, r0
/* 802C3C0C 002BF86C  54 04 DE 3E */	rlwinm r4, r0, 0x1b, 0x18, 0x1f
/* 802C3C10 002BF870  48 00 D5 19 */	bl btsnd_hcic_switch_role
/* 802C3C14 002BF874  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C3C18 002BF878  40 82 00 60 */	bne lbl_802C3C78
/* 802C3C1C 002BF87C  3B C0 00 00 */	li r30, 0
/* 802C3C20 002BF880  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C3C24 002BF884  9B DD 01 4F */	stb r30, 0x14f(r29)
/* 802C3C28 002BF888  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C3C2C 002BF88C  81 9F 06 2C */	lwz r12, 0x62c(r31)
/* 802C3C30 002BF890  2C 0C 00 00 */	cmpwi r12, 0
/* 802C3C34 002BF894  41 82 00 44 */	beq lbl_802C3C78
/* 802C3C38 002BF898  38 7F 06 24 */	addi r3, r31, 0x624
/* 802C3C3C 002BF89C  7D 89 03 A6 */	mtctr r12
/* 802C3C40 002BF8A0  4E 80 04 21 */	bctrl
/* 802C3C44 002BF8A4  93 DF 06 2C */	stw r30, 0x62c(r31)
/* 802C3C48 002BF8A8  48 00 00 30 */	b lbl_802C3C78
lbl_802C3C4C:
/* 802C3C4C 002BF8AC  28 00 00 04 */	cmplwi r0, 4
/* 802C3C50 002BF8B0  40 82 00 28 */	bne lbl_802C3C78
/* 802C3C54 002BF8B4  3B E0 00 00 */	li r31, 0
/* 802C3C58 002BF8B8  9B FD 01 4F */	stb r31, 0x14f(r29)
/* 802C3C5C 002BF8BC  81 9E 06 2C */	lwz r12, 0x62c(r30)
/* 802C3C60 002BF8C0  2C 0C 00 00 */	cmpwi r12, 0
/* 802C3C64 002BF8C4  41 82 00 14 */	beq lbl_802C3C78
/* 802C3C68 002BF8C8  38 7E 06 24 */	addi r3, r30, 0x624
/* 802C3C6C 002BF8CC  7D 89 03 A6 */	mtctr r12
/* 802C3C70 002BF8D0  4E 80 04 21 */	bctrl
/* 802C3C74 002BF8D4  93 FE 06 2C */	stw r31, 0x62c(r30)
lbl_802C3C78:
/* 802C3C78 002BF8D8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C3C7C 002BF8DC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C3C80 002BF8E0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C3C84 002BF8E4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C3C88 002BF8E8  7C 08 03 A6 */	mtlr r0
/* 802C3C8C 002BF8EC  38 21 00 20 */	addi r1, r1, 0x20
/* 802C3C90 002BF8F0  4E 80 00 20 */	blr

.global BTM_SetLinkPolicy
BTM_SetLinkPolicy:
/* 802C3C94 002BF8F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C3C98 002BF8F8  7C 08 02 A6 */	mflr r0
/* 802C3C9C 002BF8FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C3CA0 002BF900  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C3CA4 002BF904  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C3CA8 002BF908  3F C0 80 44 */	lis r30, lbl_80440CC0@ha
/* 802C3CAC 002BF90C  3B DE 0C C0 */	addi r30, r30, lbl_80440CC0@l
/* 802C3CB0 002BF910  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C3CB4 002BF914  7C 9D 23 78 */	mr r29, r4
/* 802C3CB8 002BF918  93 81 00 10 */	stw r28, 0x10(r1)
/* 802C3CBC 002BF91C  7C 7C 1B 78 */	mr r28, r3
/* 802C3CC0 002BF920  48 00 2C A1 */	bl BTM_ReadLocalFeatures
/* 802C3CC4 002BF924  A0 9D 00 00 */	lhz r4, 0(r29)
/* 802C3CC8 002BF928  7C 7F 1B 78 */	mr r31, r3
/* 802C3CCC 002BF92C  2C 04 00 00 */	cmpwi r4, 0
/* 802C3CD0 002BF930  41 82 01 1C */	beq lbl_802C3DEC
/* 802C3CD4 002BF934  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802C3CD8 002BF938  41 82 00 3C */	beq lbl_802C3D14
/* 802C3CDC 002BF93C  88 03 00 00 */	lbz r0, 0(r3)
/* 802C3CE0 002BF940  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 802C3CE4 002BF944  40 82 00 30 */	bne lbl_802C3D14
/* 802C3CE8 002BF948  54 85 04 3C */	rlwinm r5, r4, 0, 0x10, 0x1e
/* 802C3CEC 002BF94C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3CF0 002BF950  B0 BD 00 00 */	sth r5, 0(r29)
/* 802C3CF4 002BF954  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3CF8 002BF958  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C3CFC 002BF95C  28 00 00 03 */	cmplwi r0, 3
/* 802C3D00 002BF960  41 80 00 14 */	blt lbl_802C3D14
/* 802C3D04 002BF964  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C3D08 002BF968  38 9E 00 BC */	addi r4, r30, 0xbc
/* 802C3D0C 002BF96C  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C3D10 002BF970  4B FF 92 19 */	bl LogMsg_1
lbl_802C3D14:
/* 802C3D14 002BF974  A0 7D 00 00 */	lhz r3, 0(r29)
/* 802C3D18 002BF978  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 802C3D1C 002BF97C  41 82 00 40 */	beq lbl_802C3D5C
/* 802C3D20 002BF980  88 1F 00 00 */	lbz r0, 0(r31)
/* 802C3D24 002BF984  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 802C3D28 002BF988  40 82 00 34 */	bne lbl_802C3D5C
/* 802C3D2C 002BF98C  54 65 07 FA */	rlwinm r5, r3, 0, 0x1f, 0x1d
/* 802C3D30 002BF990  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3D34 002BF994  B0 BD 00 00 */	sth r5, 0(r29)
/* 802C3D38 002BF998  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3D3C 002BF99C  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C3D40 002BF9A0  28 00 00 03 */	cmplwi r0, 3
/* 802C3D44 002BF9A4  41 80 00 18 */	blt lbl_802C3D5C
/* 802C3D48 002BF9A8  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C3D4C 002BF9AC  38 9E 00 F8 */	addi r4, r30, 0xf8
/* 802C3D50 002BF9B0  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C3D54 002BF9B4  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802C3D58 002BF9B8  4B FF 91 D1 */	bl LogMsg_1
lbl_802C3D5C:
/* 802C3D5C 002BF9BC  A0 7D 00 00 */	lhz r3, 0(r29)
/* 802C3D60 002BF9C0  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 802C3D64 002BF9C4  41 82 00 40 */	beq lbl_802C3DA4
/* 802C3D68 002BF9C8  88 1F 00 00 */	lbz r0, 0(r31)
/* 802C3D6C 002BF9CC  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 802C3D70 002BF9D0  40 82 00 34 */	bne lbl_802C3DA4
/* 802C3D74 002BF9D4  54 65 07 B8 */	rlwinm r5, r3, 0, 0x1e, 0x1c
/* 802C3D78 002BF9D8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3D7C 002BF9DC  B0 BD 00 00 */	sth r5, 0(r29)
/* 802C3D80 002BF9E0  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3D84 002BF9E4  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C3D88 002BF9E8  28 00 00 03 */	cmplwi r0, 3
/* 802C3D8C 002BF9EC  41 80 00 18 */	blt lbl_802C3DA4
/* 802C3D90 002BF9F0  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C3D94 002BF9F4  38 9E 01 30 */	addi r4, r30, 0x130
/* 802C3D98 002BF9F8  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C3D9C 002BF9FC  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802C3DA0 002BFA00  4B FF 91 89 */	bl LogMsg_1
lbl_802C3DA4:
/* 802C3DA4 002BFA04  A0 7D 00 00 */	lhz r3, 0(r29)
/* 802C3DA8 002BFA08  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 802C3DAC 002BFA0C  41 82 00 40 */	beq lbl_802C3DEC
/* 802C3DB0 002BFA10  88 1F 00 01 */	lbz r0, 1(r31)
/* 802C3DB4 002BFA14  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 802C3DB8 002BFA18  40 82 00 34 */	bne lbl_802C3DEC
/* 802C3DBC 002BFA1C  54 65 07 76 */	rlwinm r5, r3, 0, 0x1d, 0x1b
/* 802C3DC0 002BFA20  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3DC4 002BFA24  B0 BD 00 00 */	sth r5, 0(r29)
/* 802C3DC8 002BFA28  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3DCC 002BFA2C  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C3DD0 002BFA30  28 00 00 03 */	cmplwi r0, 3
/* 802C3DD4 002BFA34  41 80 00 18 */	blt lbl_802C3DEC
/* 802C3DD8 002BFA38  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C3DDC 002BFA3C  38 9E 01 70 */	addi r4, r30, 0x170
/* 802C3DE0 002BFA40  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C3DE4 002BFA44  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802C3DE8 002BFA48  4B FF 91 41 */	bl LogMsg_1
lbl_802C3DEC:
/* 802C3DEC 002BFA4C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C3DF0 002BFA50  3B C0 00 00 */	li r30, 0
/* 802C3DF4 002BFA54  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C3DF8 002BFA58  3B E3 00 34 */	addi r31, r3, 0x34
lbl_802C3DFC:
/* 802C3DFC 002BFA5C  88 1F 01 19 */	lbz r0, 0x119(r31)
/* 802C3E00 002BFA60  2C 00 00 00 */	cmpwi r0, 0
/* 802C3E04 002BFA64  41 82 00 20 */	beq lbl_802C3E24
/* 802C3E08 002BFA68  7F 84 E3 78 */	mr r4, r28
/* 802C3E0C 002BFA6C  38 7F 00 08 */	addi r3, r31, 8
/* 802C3E10 002BFA70  38 A0 00 06 */	li r5, 6
/* 802C3E14 002BFA74  4B F0 65 85 */	bl memcmp
/* 802C3E18 002BFA78  2C 03 00 00 */	cmpwi r3, 0
/* 802C3E1C 002BFA7C  40 82 00 08 */	bne lbl_802C3E24
/* 802C3E20 002BFA80  48 00 00 18 */	b lbl_802C3E38
lbl_802C3E24:
/* 802C3E24 002BFA84  3B DE 00 01 */	addi r30, r30, 1
/* 802C3E28 002BFA88  3B FF 01 1C */	addi r31, r31, 0x11c
/* 802C3E2C 002BFA8C  28 1E 00 04 */	cmplwi r30, 4
/* 802C3E30 002BFA90  41 80 FF CC */	blt lbl_802C3DFC
/* 802C3E34 002BFA94  3B E0 00 00 */	li r31, 0
lbl_802C3E38:
/* 802C3E38 002BFA98  2C 1F 00 00 */	cmpwi r31, 0
/* 802C3E3C 002BFA9C  41 82 00 24 */	beq lbl_802C3E60
/* 802C3E40 002BFAA0  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C3E44 002BFAA4  A0 9D 00 00 */	lhz r4, 0(r29)
/* 802C3E48 002BFAA8  48 00 D3 91 */	bl btsnd_hcic_write_policy_set
/* 802C3E4C 002BFAAC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C3E50 002BFAB0  38 60 00 03 */	li r3, 3
/* 802C3E54 002BFAB4  41 82 00 10 */	beq lbl_802C3E64
/* 802C3E58 002BFAB8  38 60 00 01 */	li r3, 1
/* 802C3E5C 002BFABC  48 00 00 08 */	b lbl_802C3E64
lbl_802C3E60:
/* 802C3E60 002BFAC0  38 60 00 07 */	li r3, 7
lbl_802C3E64:
/* 802C3E64 002BFAC4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C3E68 002BFAC8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C3E6C 002BFACC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C3E70 002BFAD0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C3E74 002BFAD4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802C3E78 002BFAD8  7C 08 03 A6 */	mtlr r0
/* 802C3E7C 002BFADC  38 21 00 20 */	addi r1, r1, 0x20
/* 802C3E80 002BFAE0  4E 80 00 20 */	blr

.global BTM_SetDefaultLinkPolicy
BTM_SetDefaultLinkPolicy:
/* 802C3E84 002BFAE4  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C3E88 002BFAE8  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C3E8C 002BFAEC  B0 64 04 C4 */	sth r3, 0x4c4(r4)
/* 802C3E90 002BFAF0  4E 80 00 20 */	blr

.global btm_read_link_policy_complete
btm_read_link_policy_complete:
/* 802C3E94 002BFAF4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802C3E98 002BFAF8  7C 08 02 A6 */	mflr r0
/* 802C3E9C 002BFAFC  90 01 00 34 */	stw r0, 0x34(r1)
/* 802C3EA0 002BFB00  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802C3EA4 002BFB04  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C3EA8 002BFB08  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C3EAC 002BFB0C  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802C3EB0 002BFB10  93 A1 00 24 */	stw r29, 0x24(r1)
/* 802C3EB4 002BFB14  3B BF 00 34 */	addi r29, r31, 0x34
/* 802C3EB8 002BFB18  93 81 00 20 */	stw r28, 0x20(r1)
/* 802C3EBC 002BFB1C  7C 7C 1B 78 */	mr r28, r3
/* 802C3EC0 002BFB20  38 7F 05 AC */	addi r3, r31, 0x5ac
/* 802C3EC4 002BFB24  83 DF 05 C4 */	lwz r30, 0x5c4(r31)
/* 802C3EC8 002BFB28  4B FF 96 85 */	bl btu_stop_timer
/* 802C3ECC 002BFB2C  38 60 00 00 */	li r3, 0
/* 802C3ED0 002BFB30  2C 1E 00 00 */	cmpwi r30, 0
/* 802C3ED4 002BFB34  90 7F 05 C4 */	stw r3, 0x5c4(r31)
/* 802C3ED8 002BFB38  41 82 00 A0 */	beq lbl_802C3F78
/* 802C3EDC 002BFB3C  88 1C 00 00 */	lbz r0, 0(r28)
/* 802C3EE0 002BFB40  2C 00 00 00 */	cmpwi r0, 0
/* 802C3EE4 002BFB44  98 01 00 09 */	stb r0, 9(r1)
/* 802C3EE8 002BFB48  40 82 00 78 */	bne lbl_802C3F60
/* 802C3EEC 002BFB4C  98 61 00 08 */	stb r3, 8(r1)
/* 802C3EF0 002BFB50  38 00 00 04 */	li r0, 4
/* 802C3EF4 002BFB54  38 E0 00 00 */	li r7, 0
/* 802C3EF8 002BFB58  88 9C 00 02 */	lbz r4, 2(r28)
/* 802C3EFC 002BFB5C  88 7C 00 04 */	lbz r3, 4(r28)
/* 802C3F00 002BFB60  54 85 40 2E */	slwi r5, r4, 8
/* 802C3F04 002BFB64  88 DC 00 01 */	lbz r6, 1(r28)
/* 802C3F08 002BFB68  88 9C 00 03 */	lbz r4, 3(r28)
/* 802C3F0C 002BFB6C  54 63 40 2E */	slwi r3, r3, 8
/* 802C3F10 002BFB70  7C A6 2A 14 */	add r5, r6, r5
/* 802C3F14 002BFB74  7C 64 1A 14 */	add r3, r4, r3
/* 802C3F18 002BFB78  B0 61 00 10 */	sth r3, 0x10(r1)
/* 802C3F1C 002BFB7C  54 A3 04 3E */	clrlwi r3, r5, 0x10
/* 802C3F20 002BFB80  7C 09 03 A6 */	mtctr r0
lbl_802C3F24:
/* 802C3F24 002BFB84  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C3F28 002BFB88  2C 00 00 00 */	cmpwi r0, 0
/* 802C3F2C 002BFB8C  41 82 00 24 */	beq lbl_802C3F50
/* 802C3F30 002BFB90  A0 1D 00 00 */	lhz r0, 0(r29)
/* 802C3F34 002BFB94  7C 03 00 40 */	cmplw r3, r0
/* 802C3F38 002BFB98  40 82 00 18 */	bne lbl_802C3F50
/* 802C3F3C 002BFB9C  38 61 00 0A */	addi r3, r1, 0xa
/* 802C3F40 002BFBA0  38 9D 00 08 */	addi r4, r29, 8
/* 802C3F44 002BFBA4  38 A0 00 06 */	li r5, 6
/* 802C3F48 002BFBA8  4B D4 00 B9 */	bl memcpy
/* 802C3F4C 002BFBAC  48 00 00 1C */	b lbl_802C3F68
lbl_802C3F50:
/* 802C3F50 002BFBB0  38 E7 00 01 */	addi r7, r7, 1
/* 802C3F54 002BFBB4  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C3F58 002BFBB8  42 00 FF CC */	bdnz lbl_802C3F24
/* 802C3F5C 002BFBBC  48 00 00 0C */	b lbl_802C3F68
lbl_802C3F60:
/* 802C3F60 002BFBC0  38 00 00 0A */	li r0, 0xa
/* 802C3F64 002BFBC4  98 01 00 08 */	stb r0, 8(r1)
lbl_802C3F68:
/* 802C3F68 002BFBC8  7F CC F3 78 */	mr r12, r30
/* 802C3F6C 002BFBCC  38 61 00 08 */	addi r3, r1, 8
/* 802C3F70 002BFBD0  7D 89 03 A6 */	mtctr r12
/* 802C3F74 002BFBD4  4E 80 04 21 */	bctrl
lbl_802C3F78:
/* 802C3F78 002BFBD8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802C3F7C 002BFBDC  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802C3F80 002BFBE0  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802C3F84 002BFBE4  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 802C3F88 002BFBE8  83 81 00 20 */	lwz r28, 0x20(r1)
/* 802C3F8C 002BFBEC  7C 08 03 A6 */	mtlr r0
/* 802C3F90 002BFBF0  38 21 00 30 */	addi r1, r1, 0x30
/* 802C3F94 002BFBF4  4E 80 00 20 */	blr

.global btm_read_remote_version_complete
btm_read_remote_version_complete:
/* 802C3F98 002BFBF8  88 03 00 00 */	lbz r0, 0(r3)
/* 802C3F9C 002BFBFC  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C3FA0 002BFC00  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C3FA4 002BFC04  2C 00 00 00 */	cmpwi r0, 0
/* 802C3FA8 002BFC08  38 C4 00 34 */	addi r6, r4, 0x34
/* 802C3FAC 002BFC0C  4C 82 00 20 */	bnelr
/* 802C3FB0 002BFC10  88 83 00 02 */	lbz r4, 2(r3)
/* 802C3FB4 002BFC14  38 00 00 04 */	li r0, 4
/* 802C3FB8 002BFC18  88 A3 00 01 */	lbz r5, 1(r3)
/* 802C3FBC 002BFC1C  54 84 40 2E */	slwi r4, r4, 8
/* 802C3FC0 002BFC20  7C 85 22 14 */	add r4, r5, r4
/* 802C3FC4 002BFC24  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 802C3FC8 002BFC28  7C 09 03 A6 */	mtctr r0
lbl_802C3FCC:
/* 802C3FCC 002BFC2C  88 06 01 19 */	lbz r0, 0x119(r6)
/* 802C3FD0 002BFC30  2C 00 00 00 */	cmpwi r0, 0
/* 802C3FD4 002BFC34  41 82 00 44 */	beq lbl_802C4018
/* 802C3FD8 002BFC38  A0 06 00 00 */	lhz r0, 0(r6)
/* 802C3FDC 002BFC3C  7C 00 20 40 */	cmplw r0, r4
/* 802C3FE0 002BFC40  40 82 00 38 */	bne lbl_802C4018
/* 802C3FE4 002BFC44  88 03 00 03 */	lbz r0, 3(r3)
/* 802C3FE8 002BFC48  98 06 01 18 */	stb r0, 0x118(r6)
/* 802C3FEC 002BFC4C  88 03 00 05 */	lbz r0, 5(r3)
/* 802C3FF0 002BFC50  88 83 00 04 */	lbz r4, 4(r3)
/* 802C3FF4 002BFC54  54 00 40 2E */	slwi r0, r0, 8
/* 802C3FF8 002BFC58  7C 04 02 14 */	add r0, r4, r0
/* 802C3FFC 002BFC5C  B0 06 01 0A */	sth r0, 0x10a(r6)
/* 802C4000 002BFC60  88 03 00 07 */	lbz r0, 7(r3)
/* 802C4004 002BFC64  88 63 00 06 */	lbz r3, 6(r3)
/* 802C4008 002BFC68  54 00 40 2E */	slwi r0, r0, 8
/* 802C400C 002BFC6C  7C 03 02 14 */	add r0, r3, r0
/* 802C4010 002BFC70  B0 06 01 0C */	sth r0, 0x10c(r6)
/* 802C4014 002BFC74  4E 80 00 20 */	blr
lbl_802C4018:
/* 802C4018 002BFC78  38 C6 01 1C */	addi r6, r6, 0x11c
/* 802C401C 002BFC7C  42 00 FF B0 */	bdnz lbl_802C3FCC
/* 802C4020 002BFC80  4E 80 00 20 */	blr

.global btm_read_remote_features_complete
btm_read_remote_features_complete:
/* 802C4024 002BFC84  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C4028 002BFC88  7C 08 02 A6 */	mflr r0
/* 802C402C 002BFC8C  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C4030 002BFC90  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C4034 002BFC94  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C4038 002BFC98  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C403C 002BFC9C  3B E4 00 34 */	addi r31, r4, 0x34
/* 802C4040 002BFCA0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C4044 002BFCA4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C4048 002BFCA8  93 81 00 10 */	stw r28, 0x10(r1)
/* 802C404C 002BFCAC  88 03 00 00 */	lbz r0, 0(r3)
/* 802C4050 002BFCB0  2C 00 00 00 */	cmpwi r0, 0
/* 802C4054 002BFCB4  40 82 01 DC */	bne lbl_802C4230
/* 802C4058 002BFCB8  88 83 00 02 */	lbz r4, 2(r3)
/* 802C405C 002BFCBC  38 00 00 04 */	li r0, 4
/* 802C4060 002BFCC0  88 A3 00 01 */	lbz r5, 1(r3)
/* 802C4064 002BFCC4  54 84 40 2E */	slwi r4, r4, 8
/* 802C4068 002BFCC8  7C 85 22 14 */	add r4, r5, r4
/* 802C406C 002BFCCC  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 802C4070 002BFCD0  7C 09 03 A6 */	mtctr r0
lbl_802C4074:
/* 802C4074 002BFCD4  88 1F 01 19 */	lbz r0, 0x119(r31)
/* 802C4078 002BFCD8  2C 00 00 00 */	cmpwi r0, 0
/* 802C407C 002BFCDC  41 82 01 AC */	beq lbl_802C4228
/* 802C4080 002BFCE0  A0 1F 00 00 */	lhz r0, 0(r31)
/* 802C4084 002BFCE4  7C 00 20 40 */	cmplw r0, r4
/* 802C4088 002BFCE8  40 82 01 A0 */	bne lbl_802C4228
/* 802C408C 002BFCEC  88 03 00 03 */	lbz r0, 3(r3)
/* 802C4090 002BFCF0  98 1F 01 10 */	stb r0, 0x110(r31)
/* 802C4094 002BFCF4  88 03 00 04 */	lbz r0, 4(r3)
/* 802C4098 002BFCF8  98 1F 01 11 */	stb r0, 0x111(r31)
/* 802C409C 002BFCFC  88 03 00 05 */	lbz r0, 5(r3)
/* 802C40A0 002BFD00  98 1F 01 12 */	stb r0, 0x112(r31)
/* 802C40A4 002BFD04  88 03 00 06 */	lbz r0, 6(r3)
/* 802C40A8 002BFD08  98 1F 01 13 */	stb r0, 0x113(r31)
/* 802C40AC 002BFD0C  88 03 00 07 */	lbz r0, 7(r3)
/* 802C40B0 002BFD10  98 1F 01 14 */	stb r0, 0x114(r31)
/* 802C40B4 002BFD14  88 03 00 08 */	lbz r0, 8(r3)
/* 802C40B8 002BFD18  98 1F 01 15 */	stb r0, 0x115(r31)
/* 802C40BC 002BFD1C  88 03 00 09 */	lbz r0, 9(r3)
/* 802C40C0 002BFD20  98 1F 01 16 */	stb r0, 0x116(r31)
/* 802C40C4 002BFD24  88 03 00 0A */	lbz r0, 0xa(r3)
/* 802C40C8 002BFD28  7C 83 23 78 */	mr r3, r4
/* 802C40CC 002BFD2C  98 1F 01 17 */	stb r0, 0x117(r31)
/* 802C40D0 002BFD30  48 00 14 95 */	bl btm_find_dev_by_handle
/* 802C40D4 002BFD34  2C 03 00 00 */	cmpwi r3, 0
/* 802C40D8 002BFD38  41 82 00 14 */	beq lbl_802C40EC
/* 802C40DC 002BFD3C  38 9F 01 10 */	addi r4, r31, 0x110
/* 802C40E0 002BFD40  38 A0 00 08 */	li r5, 8
/* 802C40E4 002BFD44  38 63 00 77 */	addi r3, r3, 0x77
/* 802C40E8 002BFD48  4B D3 FF 19 */	bl memcpy
lbl_802C40EC:
/* 802C40EC 002BFD4C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C40F0 002BFD50  38 00 CC F9 */	li r0, -13063
/* 802C40F4 002BFD54  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C40F8 002BFD58  A0 A3 06 54 */	lhz r5, 0x654(r3)
/* 802C40FC 002BFD5C  88 63 06 36 */	lbz r3, 0x636(r3)
/* 802C4100 002BFD60  70 A4 CC 18 */	andi. r4, r5, 0xcc18
/* 802C4104 002BFD64  28 03 00 03 */	cmplwi r3, 3
/* 802C4108 002BFD68  7C 9E 00 38 */	and r30, r4, r0
/* 802C410C 002BFD6C  41 80 00 10 */	blt lbl_802C411C
/* 802C4110 002BFD70  70 A0 33 06 */	andi. r0, r5, 0x3306
/* 802C4114 002BFD74  7C 80 03 78 */	or r0, r4, r0
/* 802C4118 002BFD78  54 1E 04 3E */	clrlwi r30, r0, 0x10
lbl_802C411C:
/* 802C411C 002BFD7C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4120 002BFD80  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4124 002BFD84  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C4128 002BFD88  28 00 00 04 */	cmplwi r0, 4
/* 802C412C 002BFD8C  41 80 00 1C */	blt lbl_802C4148
/* 802C4130 002BFD90  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C4134 002BFD94  3C 80 80 44 */	lis r4, lbl_80440D00@ha
/* 802C4138 002BFD98  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C413C 002BFD9C  57 C5 04 3E */	clrlwi r5, r30, 0x10
/* 802C4140 002BFDA0  38 84 0D 00 */	addi r4, r4, lbl_80440D00@l
/* 802C4144 002BFDA4  4B FF 8D E5 */	bl LogMsg_1
lbl_802C4148:
/* 802C4148 002BFDA8  A0 7F 00 00 */	lhz r3, 0(r31)
/* 802C414C 002BFDAC  57 C4 04 3E */	clrlwi r4, r30, 0x10
/* 802C4150 002BFDB0  48 00 C5 D5 */	bl btsnd_hcic_change_conn_type
/* 802C4154 002BFDB4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C4158 002BFDB8  41 82 00 08 */	beq lbl_802C4160
/* 802C415C 002BFDBC  B3 DF 00 02 */	sth r30, 2(r31)
lbl_802C4160:
/* 802C4160 002BFDC0  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C4164 002BFDC4  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C4168 002BFDC8  A0 04 04 C4 */	lhz r0, 0x4c4(r4)
/* 802C416C 002BFDCC  2C 00 00 00 */	cmpwi r0, 0
/* 802C4170 002BFDD0  41 82 00 10 */	beq lbl_802C4180
/* 802C4174 002BFDD4  38 7F 00 08 */	addi r3, r31, 8
/* 802C4178 002BFDD8  38 84 04 C4 */	addi r4, r4, 0x4c4
/* 802C417C 002BFDDC  4B FF FB 19 */	bl BTM_SetLinkPolicy
lbl_802C4180:
/* 802C4180 002BFDE0  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4184 002BFDE4  3B C0 00 00 */	li r30, 0
/* 802C4188 002BFDE8  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C418C 002BFDEC  A3 83 04 C6 */	lhz r28, 0x4c6(r3)
/* 802C4190 002BFDF0  3B A3 00 34 */	addi r29, r3, 0x34
lbl_802C4194:
/* 802C4194 002BFDF4  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C4198 002BFDF8  2C 00 00 00 */	cmpwi r0, 0
/* 802C419C 002BFDFC  41 82 00 20 */	beq lbl_802C41BC
/* 802C41A0 002BFE00  38 7D 00 08 */	addi r3, r29, 8
/* 802C41A4 002BFE04  38 9F 00 08 */	addi r4, r31, 8
/* 802C41A8 002BFE08  38 A0 00 06 */	li r5, 6
/* 802C41AC 002BFE0C  4B F0 61 ED */	bl memcmp
/* 802C41B0 002BFE10  2C 03 00 00 */	cmpwi r3, 0
/* 802C41B4 002BFE14  40 82 00 08 */	bne lbl_802C41BC
/* 802C41B8 002BFE18  48 00 00 18 */	b lbl_802C41D0
lbl_802C41BC:
/* 802C41BC 002BFE1C  3B DE 00 01 */	addi r30, r30, 1
/* 802C41C0 002BFE20  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C41C4 002BFE24  28 1E 00 04 */	cmplwi r30, 4
/* 802C41C8 002BFE28  41 80 FF CC */	blt lbl_802C4194
/* 802C41CC 002BFE2C  3B A0 00 00 */	li r29, 0
lbl_802C41D0:
/* 802C41D0 002BFE30  2C 1D 00 00 */	cmpwi r29, 0
/* 802C41D4 002BFE34  41 82 00 20 */	beq lbl_802C41F4
/* 802C41D8 002BFE38  B3 9D 01 0E */	sth r28, 0x10e(r29)
/* 802C41DC 002BFE3C  88 1D 01 1A */	lbz r0, 0x11a(r29)
/* 802C41E0 002BFE40  2C 00 00 00 */	cmpwi r0, 0
/* 802C41E4 002BFE44  40 82 00 10 */	bne lbl_802C41F4
/* 802C41E8 002BFE48  A0 7D 00 00 */	lhz r3, 0(r29)
/* 802C41EC 002BFE4C  7F 84 E3 78 */	mr r4, r28
/* 802C41F0 002BFE50  48 00 DA 35 */	bl btsnd_hcic_write_link_super_tout
lbl_802C41F4:
/* 802C41F4 002BFE54  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C41F8 002BFE58  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C41FC 002BFE5C  81 83 04 C8 */	lwz r12, 0x4c8(r3)
/* 802C4200 002BFE60  2C 0C 00 00 */	cmpwi r12, 0
/* 802C4204 002BFE64  41 82 00 2C */	beq lbl_802C4230
/* 802C4208 002BFE68  38 7F 00 08 */	addi r3, r31, 8
/* 802C420C 002BFE6C  38 9F 00 0E */	addi r4, r31, 0xe
/* 802C4210 002BFE70  38 BF 00 11 */	addi r5, r31, 0x11
/* 802C4214 002BFE74  38 DF 01 10 */	addi r6, r31, 0x110
/* 802C4218 002BFE78  38 E0 00 01 */	li r7, 1
/* 802C421C 002BFE7C  7D 89 03 A6 */	mtctr r12
/* 802C4220 002BFE80  4E 80 04 21 */	bctrl
/* 802C4224 002BFE84  48 00 00 0C */	b lbl_802C4230
lbl_802C4228:
/* 802C4228 002BFE88  3B FF 01 1C */	addi r31, r31, 0x11c
/* 802C422C 002BFE8C  42 00 FE 48 */	bdnz lbl_802C4074
lbl_802C4230:
/* 802C4230 002BFE90  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4234 002BFE94  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C4238 002BFE98  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C423C 002BFE9C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C4240 002BFEA0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802C4244 002BFEA4  7C 08 03 A6 */	mtlr r0
/* 802C4248 002BFEA8  38 21 00 20 */	addi r1, r1, 0x20
/* 802C424C 002BFEAC  4E 80 00 20 */	blr

.global BTM_SetDefaultLinkSuperTout
BTM_SetDefaultLinkSuperTout:
/* 802C4250 002BFEB0  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C4254 002BFEB4  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C4258 002BFEB8  B0 64 04 C6 */	sth r3, 0x4c6(r4)
/* 802C425C 002BFEBC  4E 80 00 20 */	blr

.global BTM_IsAclConnectionUp
BTM_IsAclConnectionUp:
/* 802C4260 002BFEC0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C4264 002BFEC4  7C 08 02 A6 */	mflr r0
/* 802C4268 002BFEC8  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C426C 002BFECC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C4270 002BFED0  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C4274 002BFED4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C4278 002BFED8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C427C 002BFEDC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C4280 002BFEE0  7C 7D 1B 78 */	mr r29, r3
/* 802C4284 002BFEE4  88 04 27 C0 */	lbz r0, 0x27c0(r4)
/* 802C4288 002BFEE8  28 00 00 03 */	cmplwi r0, 3
/* 802C428C 002BFEEC  41 80 00 30 */	blt lbl_802C42BC
/* 802C4290 002BFEF0  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C4294 002BFEF4  3C 80 80 44 */	lis r4, lbl_80440EA0@ha
/* 802C4298 002BFEF8  88 BD 00 00 */	lbz r5, 0(r29)
/* 802C429C 002BFEFC  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C42A0 002BFF00  88 DD 00 01 */	lbz r6, 1(r29)
/* 802C42A4 002BFF04  38 84 0E A0 */	addi r4, r4, lbl_80440EA0@l
/* 802C42A8 002BFF08  88 FD 00 02 */	lbz r7, 2(r29)
/* 802C42AC 002BFF0C  89 1D 00 03 */	lbz r8, 3(r29)
/* 802C42B0 002BFF10  89 3D 00 04 */	lbz r9, 4(r29)
/* 802C42B4 002BFF14  89 5D 00 05 */	lbz r10, 5(r29)
/* 802C42B8 002BFF18  4B FF 8C E9 */	bl LogMsg_6
lbl_802C42BC:
/* 802C42BC 002BFF1C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C42C0 002BFF20  3B E0 00 00 */	li r31, 0
/* 802C42C4 002BFF24  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C42C8 002BFF28  3B C3 00 34 */	addi r30, r3, 0x34
lbl_802C42CC:
/* 802C42CC 002BFF2C  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C42D0 002BFF30  2C 00 00 00 */	cmpwi r0, 0
/* 802C42D4 002BFF34  41 82 00 20 */	beq lbl_802C42F4
/* 802C42D8 002BFF38  7F A4 EB 78 */	mr r4, r29
/* 802C42DC 002BFF3C  38 7E 00 08 */	addi r3, r30, 8
/* 802C42E0 002BFF40  38 A0 00 06 */	li r5, 6
/* 802C42E4 002BFF44  4B F0 60 B5 */	bl memcmp
/* 802C42E8 002BFF48  2C 03 00 00 */	cmpwi r3, 0
/* 802C42EC 002BFF4C  40 82 00 08 */	bne lbl_802C42F4
/* 802C42F0 002BFF50  48 00 00 18 */	b lbl_802C4308
lbl_802C42F4:
/* 802C42F4 002BFF54  3B FF 00 01 */	addi r31, r31, 1
/* 802C42F8 002BFF58  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C42FC 002BFF5C  28 1F 00 04 */	cmplwi r31, 4
/* 802C4300 002BFF60  41 80 FF CC */	blt lbl_802C42CC
/* 802C4304 002BFF64  3B C0 00 00 */	li r30, 0
lbl_802C4308:
/* 802C4308 002BFF68  2C 1E 00 00 */	cmpwi r30, 0
/* 802C430C 002BFF6C  41 82 00 0C */	beq lbl_802C4318
/* 802C4310 002BFF70  38 60 00 01 */	li r3, 1
/* 802C4314 002BFF74  48 00 00 08 */	b lbl_802C431C
lbl_802C4318:
/* 802C4318 002BFF78  38 60 00 00 */	li r3, 0
lbl_802C431C:
/* 802C431C 002BFF7C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4320 002BFF80  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C4324 002BFF84  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C4328 002BFF88  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C432C 002BFF8C  7C 08 03 A6 */	mtlr r0
/* 802C4330 002BFF90  38 21 00 20 */	addi r1, r1, 0x20
/* 802C4334 002BFF94  4E 80 00 20 */	blr

.global BTM_GetNumAclLinks
BTM_GetNumAclLinks:
/* 802C4338 002BFF98  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C433C 002BFF9C  38 60 00 00 */	li r3, 0
/* 802C4340 002BFFA0  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C4344 002BFFA4  88 04 01 4D */	lbz r0, 0x14d(r4)
/* 802C4348 002BFFA8  2C 00 00 00 */	cmpwi r0, 0
/* 802C434C 002BFFAC  41 82 00 08 */	beq lbl_802C4354
/* 802C4350 002BFFB0  38 60 00 01 */	li r3, 1
lbl_802C4354:
/* 802C4354 002BFFB4  88 04 02 69 */	lbz r0, 0x269(r4)
/* 802C4358 002BFFB8  2C 00 00 00 */	cmpwi r0, 0
/* 802C435C 002BFFBC  41 82 00 0C */	beq lbl_802C4368
/* 802C4360 002BFFC0  38 03 00 01 */	addi r0, r3, 1
/* 802C4364 002BFFC4  54 03 04 3E */	clrlwi r3, r0, 0x10
lbl_802C4368:
/* 802C4368 002BFFC8  88 04 03 85 */	lbz r0, 0x385(r4)
/* 802C436C 002BFFCC  2C 00 00 00 */	cmpwi r0, 0
/* 802C4370 002BFFD0  41 82 00 0C */	beq lbl_802C437C
/* 802C4374 002BFFD4  38 03 00 01 */	addi r0, r3, 1
/* 802C4378 002BFFD8  54 03 04 3E */	clrlwi r3, r0, 0x10
lbl_802C437C:
/* 802C437C 002BFFDC  88 04 04 A1 */	lbz r0, 0x4a1(r4)
/* 802C4380 002BFFE0  2C 00 00 00 */	cmpwi r0, 0
/* 802C4384 002BFFE4  4D 82 00 20 */	beqlr
/* 802C4388 002BFFE8  38 03 00 01 */	addi r0, r3, 1
/* 802C438C 002BFFEC  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802C4390 002BFFF0  4E 80 00 20 */	blr

.global btm_get_acl_disc_reason_code
btm_get_acl_disc_reason_code:
/* 802C4394 002BFFF4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4398 002BFFF8  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C439C 002BFFFC  88 63 27 BF */	lbz r3, 0x27bf(r3)
/* 802C43A0 002C0000  4E 80 00 20 */	blr

.global BTM_GetHCIConnHandle
BTM_GetHCIConnHandle:
/* 802C43A4 002C0004  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C43A8 002C0008  7C 08 02 A6 */	mflr r0
/* 802C43AC 002C000C  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C43B0 002C0010  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C43B4 002C0014  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C43B8 002C0018  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C43BC 002C001C  3B E0 00 00 */	li r31, 0
/* 802C43C0 002C0020  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C43C4 002C0024  3B C4 00 34 */	addi r30, r4, 0x34
/* 802C43C8 002C0028  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C43CC 002C002C  7C 7D 1B 78 */	mr r29, r3
lbl_802C43D0:
/* 802C43D0 002C0030  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C43D4 002C0034  2C 00 00 00 */	cmpwi r0, 0
/* 802C43D8 002C0038  41 82 00 20 */	beq lbl_802C43F8
/* 802C43DC 002C003C  7F A4 EB 78 */	mr r4, r29
/* 802C43E0 002C0040  38 7E 00 08 */	addi r3, r30, 8
/* 802C43E4 002C0044  38 A0 00 06 */	li r5, 6
/* 802C43E8 002C0048  4B F0 5F B1 */	bl memcmp
/* 802C43EC 002C004C  2C 03 00 00 */	cmpwi r3, 0
/* 802C43F0 002C0050  40 82 00 08 */	bne lbl_802C43F8
/* 802C43F4 002C0054  48 00 00 18 */	b lbl_802C440C
lbl_802C43F8:
/* 802C43F8 002C0058  3B FF 00 01 */	addi r31, r31, 1
/* 802C43FC 002C005C  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C4400 002C0060  28 1F 00 04 */	cmplwi r31, 4
/* 802C4404 002C0064  41 80 FF CC */	blt lbl_802C43D0
/* 802C4408 002C0068  3B C0 00 00 */	li r30, 0
lbl_802C440C:
/* 802C440C 002C006C  2C 1E 00 00 */	cmpwi r30, 0
/* 802C4410 002C0070  41 82 00 0C */	beq lbl_802C441C
/* 802C4414 002C0074  A0 7E 00 00 */	lhz r3, 0(r30)
/* 802C4418 002C0078  48 00 00 0C */	b lbl_802C4424
lbl_802C441C:
/* 802C441C 002C007C  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802C4420 002C0080  38 63 FF FF */	addi r3, r3, 0x0000FFFF@l
lbl_802C4424:
/* 802C4424 002C0084  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4428 002C0088  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C442C 002C008C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C4430 002C0090  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C4434 002C0094  7C 08 03 A6 */	mtlr r0
/* 802C4438 002C0098  38 21 00 20 */	addi r1, r1, 0x20
/* 802C443C 002C009C  4E 80 00 20 */	blr

.global btm_process_clk_off_comp_evt
btm_process_clk_off_comp_evt:
/* 802C4440 002C00A0  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C4444 002C00A4  38 C0 00 00 */	li r6, 0
/* 802C4448 002C00A8  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C444C 002C00AC  88 05 01 4D */	lbz r0, 0x14d(r5)
/* 802C4450 002C00B0  2C 00 00 00 */	cmpwi r0, 0
/* 802C4454 002C00B4  41 82 00 10 */	beq lbl_802C4464
/* 802C4458 002C00B8  A0 05 00 34 */	lhz r0, 0x34(r5)
/* 802C445C 002C00BC  7C 00 18 40 */	cmplw r0, r3
/* 802C4460 002C00C0  41 82 00 5C */	beq lbl_802C44BC
lbl_802C4464:
/* 802C4464 002C00C4  88 05 02 69 */	lbz r0, 0x269(r5)
/* 802C4468 002C00C8  38 C0 00 01 */	li r6, 1
/* 802C446C 002C00CC  2C 00 00 00 */	cmpwi r0, 0
/* 802C4470 002C00D0  41 82 00 10 */	beq lbl_802C4480
/* 802C4474 002C00D4  A0 05 01 50 */	lhz r0, 0x150(r5)
/* 802C4478 002C00D8  7C 00 18 40 */	cmplw r0, r3
/* 802C447C 002C00DC  41 82 00 40 */	beq lbl_802C44BC
lbl_802C4480:
/* 802C4480 002C00E0  88 05 03 85 */	lbz r0, 0x385(r5)
/* 802C4484 002C00E4  38 C0 00 02 */	li r6, 2
/* 802C4488 002C00E8  2C 00 00 00 */	cmpwi r0, 0
/* 802C448C 002C00EC  41 82 00 10 */	beq lbl_802C449C
/* 802C4490 002C00F0  A0 05 02 6C */	lhz r0, 0x26c(r5)
/* 802C4494 002C00F4  7C 00 18 40 */	cmplw r0, r3
/* 802C4498 002C00F8  41 82 00 24 */	beq lbl_802C44BC
lbl_802C449C:
/* 802C449C 002C00FC  88 05 04 A1 */	lbz r0, 0x4a1(r5)
/* 802C44A0 002C0100  38 C0 00 03 */	li r6, 3
/* 802C44A4 002C0104  2C 00 00 00 */	cmpwi r0, 0
/* 802C44A8 002C0108  41 82 00 10 */	beq lbl_802C44B8
/* 802C44AC 002C010C  A0 05 03 88 */	lhz r0, 0x388(r5)
/* 802C44B0 002C0110  7C 00 18 40 */	cmplw r0, r3
/* 802C44B4 002C0114  41 82 00 08 */	beq lbl_802C44BC
lbl_802C44B8:
/* 802C44B8 002C0118  38 C0 00 04 */	li r6, 4
lbl_802C44BC:
/* 802C44BC 002C011C  28 06 00 04 */	cmplwi r6, 4
/* 802C44C0 002C0120  4C 80 00 20 */	bgelr
/* 802C44C4 002C0124  1C 06 01 1C */	mulli r0, r6, 0x11c
/* 802C44C8 002C0128  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C44CC 002C012C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C44D0 002C0130  7C 63 02 14 */	add r3, r3, r0
/* 802C44D4 002C0134  B0 83 00 3A */	sth r4, 0x3a(r3)
/* 802C44D8 002C0138  4E 80 00 20 */	blr

.global btm_acl_role_changed
btm_acl_role_changed:
/* 802C44DC 002C013C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802C44E0 002C0140  7C 08 02 A6 */	mflr r0
/* 802C44E4 002C0144  90 01 00 34 */	stw r0, 0x34(r1)
/* 802C44E8 002C0148  39 61 00 30 */	addi r11, r1, 0x30
/* 802C44EC 002C014C  4B F0 2C 35 */	bl _savegpr_25
/* 802C44F0 002C0150  2C 04 00 00 */	cmpwi r4, 0
/* 802C44F4 002C0154  7C 79 1B 78 */	mr r25, r3
/* 802C44F8 002C0158  7C 9A 23 78 */	mr r26, r4
/* 802C44FC 002C015C  7C BC 2B 78 */	mr r28, r5
/* 802C4500 002C0160  41 82 00 0C */	beq lbl_802C450C
/* 802C4504 002C0164  7F 5B D3 78 */	mr r27, r26
/* 802C4508 002C0168  48 00 00 10 */	b lbl_802C4518
lbl_802C450C:
/* 802C450C 002C016C  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4510 002C0170  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4514 002C0174  3B 63 27 B4 */	addi r27, r3, 0x27b4
lbl_802C4518:
/* 802C4518 002C0178  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C451C 002C017C  3B C0 00 00 */	li r30, 0
/* 802C4520 002C0180  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4524 002C0184  3B A3 00 34 */	addi r29, r3, 0x34
lbl_802C4528:
/* 802C4528 002C0188  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C452C 002C018C  2C 00 00 00 */	cmpwi r0, 0
/* 802C4530 002C0190  41 82 00 20 */	beq lbl_802C4550
/* 802C4534 002C0194  7F 64 DB 78 */	mr r4, r27
/* 802C4538 002C0198  38 7D 00 08 */	addi r3, r29, 8
/* 802C453C 002C019C  38 A0 00 06 */	li r5, 6
/* 802C4540 002C01A0  4B F0 5E 59 */	bl memcmp
/* 802C4544 002C01A4  2C 03 00 00 */	cmpwi r3, 0
/* 802C4548 002C01A8  40 82 00 08 */	bne lbl_802C4550
/* 802C454C 002C01AC  48 00 00 18 */	b lbl_802C4564
lbl_802C4550:
/* 802C4550 002C01B0  3B DE 00 01 */	addi r30, r30, 1
/* 802C4554 002C01B4  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C4558 002C01B8  28 1E 00 04 */	cmplwi r30, 4
/* 802C455C 002C01BC  41 80 FF CC */	blt lbl_802C4528
/* 802C4560 002C01C0  3B A0 00 00 */	li r29, 0
lbl_802C4564:
/* 802C4564 002C01C4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4568 002C01C8  2C 1D 00 00 */	cmpwi r29, 0
/* 802C456C 002C01CC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4570 002C01D0  3B E3 06 24 */	addi r31, r3, 0x624
/* 802C4574 002C01D4  41 82 01 44 */	beq lbl_802C46B8
/* 802C4578 002C01D8  2C 19 00 00 */	cmpwi r25, 0
/* 802C457C 002C01DC  9B 3F 00 00 */	stb r25, 0(r31)
/* 802C4580 002C01E0  40 82 00 1C */	bne lbl_802C459C
/* 802C4584 002C01E4  9B 9F 00 01 */	stb r28, 1(r31)
/* 802C4588 002C01E8  7F 64 DB 78 */	mr r4, r27
/* 802C458C 002C01EC  38 7F 00 02 */	addi r3, r31, 2
/* 802C4590 002C01F0  38 A0 00 06 */	li r5, 6
/* 802C4594 002C01F4  4B D3 FA 6D */	bl memcpy
/* 802C4598 002C01F8  9B 9D 01 1A */	stb r28, 0x11a(r29)
lbl_802C459C:
/* 802C459C 002C01FC  2C 1A 00 00 */	cmpwi r26, 0
/* 802C45A0 002C0200  41 82 00 78 */	beq lbl_802C4618
/* 802C45A4 002C0204  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C45A8 002C0208  A3 DD 01 0E */	lhz r30, 0x10e(r29)
/* 802C45AC 002C020C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C45B0 002C0210  3B 80 00 00 */	li r28, 0
/* 802C45B4 002C0214  3B 63 00 34 */	addi r27, r3, 0x34
lbl_802C45B8:
/* 802C45B8 002C0218  88 1B 01 19 */	lbz r0, 0x119(r27)
/* 802C45BC 002C021C  2C 00 00 00 */	cmpwi r0, 0
/* 802C45C0 002C0220  41 82 00 20 */	beq lbl_802C45E0
/* 802C45C4 002C0224  38 7B 00 08 */	addi r3, r27, 8
/* 802C45C8 002C0228  38 9D 00 08 */	addi r4, r29, 8
/* 802C45CC 002C022C  38 A0 00 06 */	li r5, 6
/* 802C45D0 002C0230  4B F0 5D C9 */	bl memcmp
/* 802C45D4 002C0234  2C 03 00 00 */	cmpwi r3, 0
/* 802C45D8 002C0238  40 82 00 08 */	bne lbl_802C45E0
/* 802C45DC 002C023C  48 00 00 18 */	b lbl_802C45F4
lbl_802C45E0:
/* 802C45E0 002C0240  3B 9C 00 01 */	addi r28, r28, 1
/* 802C45E4 002C0244  3B 7B 01 1C */	addi r27, r27, 0x11c
/* 802C45E8 002C0248  28 1C 00 04 */	cmplwi r28, 4
/* 802C45EC 002C024C  41 80 FF CC */	blt lbl_802C45B8
/* 802C45F0 002C0250  3B 60 00 00 */	li r27, 0
lbl_802C45F4:
/* 802C45F4 002C0254  2C 1B 00 00 */	cmpwi r27, 0
/* 802C45F8 002C0258  41 82 00 20 */	beq lbl_802C4618
/* 802C45FC 002C025C  B3 DB 01 0E */	sth r30, 0x10e(r27)
/* 802C4600 002C0260  88 1B 01 1A */	lbz r0, 0x11a(r27)
/* 802C4604 002C0264  2C 00 00 00 */	cmpwi r0, 0
/* 802C4608 002C0268  40 82 00 10 */	bne lbl_802C4618
/* 802C460C 002C026C  A0 7B 00 00 */	lhz r3, 0(r27)
/* 802C4610 002C0270  7F C4 F3 78 */	mr r4, r30
/* 802C4614 002C0274  48 00 D6 11 */	bl btsnd_hcic_write_link_super_tout
lbl_802C4618:
/* 802C4618 002C0278  88 1D 01 1B */	lbz r0, 0x11b(r29)
/* 802C461C 002C027C  28 00 00 03 */	cmplwi r0, 3
/* 802C4620 002C0280  40 82 00 24 */	bne lbl_802C4644
/* 802C4624 002C0284  A0 7D 00 00 */	lhz r3, 0(r29)
/* 802C4628 002C0288  38 80 00 01 */	li r4, 1
/* 802C462C 002C028C  48 00 C2 05 */	bl btsnd_hcic_set_conn_encrypt
/* 802C4630 002C0290  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C4634 002C0294  41 82 00 10 */	beq lbl_802C4644
/* 802C4638 002C0298  38 00 00 04 */	li r0, 4
/* 802C463C 002C029C  98 1D 01 1B */	stb r0, 0x11b(r29)
/* 802C4640 002C02A0  48 00 00 78 */	b lbl_802C46B8
lbl_802C4644:
/* 802C4644 002C02A4  2C 1D 00 00 */	cmpwi r29, 0
/* 802C4648 002C02A8  41 82 00 18 */	beq lbl_802C4660
/* 802C464C 002C02AC  88 1D 01 1B */	lbz r0, 0x11b(r29)
/* 802C4650 002C02B0  28 00 00 05 */	cmplwi r0, 5
/* 802C4654 002C02B4  40 82 00 0C */	bne lbl_802C4660
/* 802C4658 002C02B8  38 00 00 00 */	li r0, 0
/* 802C465C 002C02BC  98 1D 01 1B */	stb r0, 0x11b(r29)
lbl_802C4660:
/* 802C4660 002C02C0  3F C0 80 57 */	lis r30, lbl_80568B78@ha
/* 802C4664 002C02C4  3B DE 8B 78 */	addi r30, r30, lbl_80568B78@l
/* 802C4668 002C02C8  81 9E 06 2C */	lwz r12, 0x62c(r30)
/* 802C466C 002C02CC  2C 0C 00 00 */	cmpwi r12, 0
/* 802C4670 002C02D0  41 82 00 18 */	beq lbl_802C4688
/* 802C4674 002C02D4  7F E3 FB 78 */	mr r3, r31
/* 802C4678 002C02D8  7D 89 03 A6 */	mtctr r12
/* 802C467C 002C02DC  4E 80 04 21 */	bctrl
/* 802C4680 002C02E0  38 00 00 00 */	li r0, 0
/* 802C4684 002C02E4  90 1E 06 2C */	stw r0, 0x62c(r30)
lbl_802C4688:
/* 802C4688 002C02E8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C468C 002C02EC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4690 002C02F0  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C4694 002C02F4  28 00 00 04 */	cmplwi r0, 4
/* 802C4698 002C02F8  41 80 00 20 */	blt lbl_802C46B8
/* 802C469C 002C02FC  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C46A0 002C0300  3C 80 80 44 */	lis r4, lbl_80440EDC@ha
/* 802C46A4 002C0304  88 BF 00 01 */	lbz r5, 1(r31)
/* 802C46A8 002C0308  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C46AC 002C030C  88 DF 00 00 */	lbz r6, 0(r31)
/* 802C46B0 002C0310  38 84 0E DC */	addi r4, r4, lbl_80440EDC@l
/* 802C46B4 002C0314  4B FF 88 8D */	bl LogMsg_2
lbl_802C46B8:
/* 802C46B8 002C0318  39 61 00 30 */	addi r11, r1, 0x30
/* 802C46BC 002C031C  4B F0 2A B1 */	bl _restgpr_25
/* 802C46C0 002C0320  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802C46C4 002C0324  7C 08 03 A6 */	mtlr r0
/* 802C46C8 002C0328  38 21 00 30 */	addi r1, r1, 0x30
/* 802C46CC 002C032C  4E 80 00 20 */	blr

.global btm_acl_timeout
btm_acl_timeout:
/* 802C46D0 002C0330  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C46D4 002C0334  7C 08 02 A6 */	mflr r0
/* 802C46D8 002C0338  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C46DC 002C033C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 802C46E0 002C0340  28 00 00 04 */	cmplwi r0, 4
/* 802C46E4 002C0344  40 82 00 38 */	bne lbl_802C471C
/* 802C46E8 002C0348  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C46EC 002C034C  38 60 00 0A */	li r3, 0xa
/* 802C46F0 002C0350  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C46F4 002C0354  38 00 00 00 */	li r0, 0
/* 802C46F8 002C0358  81 84 05 C4 */	lwz r12, 0x5c4(r4)
/* 802C46FC 002C035C  98 61 00 08 */	stb r3, 8(r1)
/* 802C4700 002C0360  2C 0C 00 00 */	cmpwi r12, 0
/* 802C4704 002C0364  B0 01 00 10 */	sth r0, 0x10(r1)
/* 802C4708 002C0368  90 04 05 C4 */	stw r0, 0x5c4(r4)
/* 802C470C 002C036C  41 82 00 10 */	beq lbl_802C471C
/* 802C4710 002C0370  38 61 00 08 */	addi r3, r1, 8
/* 802C4714 002C0374  7D 89 03 A6 */	mtctr r12
/* 802C4718 002C0378  4E 80 04 21 */	bctrl
lbl_802C471C:
/* 802C471C 002C037C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4720 002C0380  7C 08 03 A6 */	mtlr r0
/* 802C4724 002C0384  38 21 00 20 */	addi r1, r1, 0x20
/* 802C4728 002C0388  4E 80 00 20 */	blr

.global btm_get_max_packet_size
btm_get_max_packet_size:
/* 802C472C 002C038C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C4730 002C0390  7C 08 02 A6 */	mflr r0
/* 802C4734 002C0394  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C4738 002C0398  39 61 00 20 */	addi r11, r1, 0x20
/* 802C473C 002C039C  4B F0 29 ED */	bl _savegpr_27
/* 802C4740 002C03A0  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C4744 002C03A4  7C 7B 1B 78 */	mr r27, r3
/* 802C4748 002C03A8  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C474C 002C03AC  3B C0 00 00 */	li r30, 0
/* 802C4750 002C03B0  3B A4 00 34 */	addi r29, r4, 0x34
lbl_802C4754:
/* 802C4754 002C03B4  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C4758 002C03B8  2C 00 00 00 */	cmpwi r0, 0
/* 802C475C 002C03BC  41 82 00 20 */	beq lbl_802C477C
/* 802C4760 002C03C0  7F 64 DB 78 */	mr r4, r27
/* 802C4764 002C03C4  38 7D 00 08 */	addi r3, r29, 8
/* 802C4768 002C03C8  38 A0 00 06 */	li r5, 6
/* 802C476C 002C03CC  4B F0 5C 2D */	bl memcmp
/* 802C4770 002C03D0  2C 03 00 00 */	cmpwi r3, 0
/* 802C4774 002C03D4  40 82 00 08 */	bne lbl_802C477C
/* 802C4778 002C03D8  48 00 00 18 */	b lbl_802C4790
lbl_802C477C:
/* 802C477C 002C03DC  3B DE 00 01 */	addi r30, r30, 1
/* 802C4780 002C03E0  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C4784 002C03E4  28 1E 00 04 */	cmplwi r30, 4
/* 802C4788 002C03E8  41 80 FF CC */	blt lbl_802C4754
/* 802C478C 002C03EC  3B A0 00 00 */	li r29, 0
lbl_802C4790:
/* 802C4790 002C03F0  2C 1D 00 00 */	cmpwi r29, 0
/* 802C4794 002C03F4  3B 80 00 00 */	li r28, 0
/* 802C4798 002C03F8  3B E0 00 00 */	li r31, 0
/* 802C479C 002C03FC  41 82 00 0C */	beq lbl_802C47A8
/* 802C47A0 002C0400  A3 9D 00 02 */	lhz r28, 2(r29)
/* 802C47A4 002C0404  48 00 00 28 */	b lbl_802C47CC
lbl_802C47A8:
/* 802C47A8 002C0408  3F C0 80 57 */	lis r30, lbl_80568B78@ha
/* 802C47AC 002C040C  7F 64 DB 78 */	mr r4, r27
/* 802C47B0 002C0410  3B DE 8B 78 */	addi r30, r30, lbl_80568B78@l
/* 802C47B4 002C0414  38 A0 00 06 */	li r5, 6
/* 802C47B8 002C0418  38 7E 06 30 */	addi r3, r30, 0x630
/* 802C47BC 002C041C  4B F0 5B DD */	bl memcmp
/* 802C47C0 002C0420  2C 03 00 00 */	cmpwi r3, 0
/* 802C47C4 002C0424  40 82 00 08 */	bne lbl_802C47CC
/* 802C47C8 002C0428  A3 9E 06 54 */	lhz r28, 0x654(r30)
lbl_802C47CC:
/* 802C47CC 002C042C  2C 1C 00 00 */	cmpwi r28, 0
/* 802C47D0 002C0430  41 82 00 C0 */	beq lbl_802C4890
/* 802C47D4 002C0434  57 80 04 A5 */	rlwinm. r0, r28, 0, 0x12, 0x12
/* 802C47D8 002C0438  40 82 00 0C */	bne lbl_802C47E4
/* 802C47DC 002C043C  3B E0 03 FD */	li r31, 0x3fd
/* 802C47E0 002C0440  48 00 00 B0 */	b lbl_802C4890
lbl_802C47E4:
/* 802C47E4 002C0444  57 80 04 E7 */	rlwinm. r0, r28, 0, 0x13, 0x13
/* 802C47E8 002C0448  40 82 00 0C */	bne lbl_802C47F4
/* 802C47EC 002C044C  3B E0 02 A7 */	li r31, 0x2a7
/* 802C47F0 002C0450  48 00 00 A0 */	b lbl_802C4890
lbl_802C47F4:
/* 802C47F4 002C0454  57 80 05 AD */	rlwinm. r0, r28, 0, 0x16, 0x16
/* 802C47F8 002C0458  40 82 00 0C */	bne lbl_802C4804
/* 802C47FC 002C045C  3B E0 02 28 */	li r31, 0x228
/* 802C4800 002C0460  48 00 00 90 */	b lbl_802C4890
lbl_802C4804:
/* 802C4804 002C0464  57 80 04 21 */	rlwinm. r0, r28, 0, 0x10, 0x10
/* 802C4808 002C0468  41 82 00 0C */	beq lbl_802C4814
/* 802C480C 002C046C  3B E0 01 53 */	li r31, 0x153
/* 802C4810 002C0470  48 00 00 80 */	b lbl_802C4890
lbl_802C4814:
/* 802C4814 002C0474  57 80 05 EF */	rlwinm. r0, r28, 0, 0x17, 0x17
/* 802C4818 002C0478  40 82 00 0C */	bne lbl_802C4824
/* 802C481C 002C047C  3B E0 01 6F */	li r31, 0x16f
/* 802C4820 002C0480  48 00 00 70 */	b lbl_802C4890
lbl_802C4824:
/* 802C4824 002C0484  57 80 04 63 */	rlwinm. r0, r28, 0, 0x11, 0x11
/* 802C4828 002C0488  41 82 00 0C */	beq lbl_802C4834
/* 802C482C 002C048C  3B E0 00 E0 */	li r31, 0xe0
/* 802C4830 002C0490  48 00 00 60 */	b lbl_802C4890
lbl_802C4834:
/* 802C4834 002C0494  57 80 05 29 */	rlwinm. r0, r28, 0, 0x14, 0x14
/* 802C4838 002C0498  41 82 00 0C */	beq lbl_802C4844
/* 802C483C 002C049C  3B E0 00 B7 */	li r31, 0xb7
/* 802C4840 002C04A0  48 00 00 50 */	b lbl_802C4890
lbl_802C4844:
/* 802C4844 002C04A4  57 80 05 6B */	rlwinm. r0, r28, 0, 0x15, 0x15
/* 802C4848 002C04A8  41 82 00 0C */	beq lbl_802C4854
/* 802C484C 002C04AC  3B E0 00 79 */	li r31, 0x79
/* 802C4850 002C04B0  48 00 00 40 */	b lbl_802C4890
lbl_802C4854:
/* 802C4854 002C04B4  57 80 07 7B */	rlwinm. r0, r28, 0, 0x1d, 0x1d
/* 802C4858 002C04B8  40 82 00 0C */	bne lbl_802C4864
/* 802C485C 002C04BC  3B E0 00 53 */	li r31, 0x53
/* 802C4860 002C04C0  48 00 00 30 */	b lbl_802C4890
lbl_802C4864:
/* 802C4864 002C04C4  57 80 07 BD */	rlwinm. r0, r28, 0, 0x1e, 0x1e
/* 802C4868 002C04C8  40 82 00 0C */	bne lbl_802C4874
/* 802C486C 002C04CC  3B E0 00 36 */	li r31, 0x36
/* 802C4870 002C04D0  48 00 00 20 */	b lbl_802C4890
lbl_802C4874:
/* 802C4874 002C04D4  57 80 06 F7 */	rlwinm. r0, r28, 0, 0x1b, 0x1b
/* 802C4878 002C04D8  41 82 00 0C */	beq lbl_802C4884
/* 802C487C 002C04DC  3B E0 00 1B */	li r31, 0x1b
/* 802C4880 002C04E0  48 00 00 10 */	b lbl_802C4890
lbl_802C4884:
/* 802C4884 002C04E4  57 80 07 39 */	rlwinm. r0, r28, 0, 0x1c, 0x1c
/* 802C4888 002C04E8  41 82 00 08 */	beq lbl_802C4890
/* 802C488C 002C04EC  3B E0 00 11 */	li r31, 0x11
lbl_802C4890:
/* 802C4890 002C04F0  28 1F 03 FD */	cmplwi r31, 0x3fd
/* 802C4894 002C04F4  40 82 00 1C */	bne lbl_802C48B0
/* 802C4898 002C04F8  3C 60 80 57 */	lis r3, lbl_80568650@ha
/* 802C489C 002C04FC  38 63 86 50 */	addi r3, r3, lbl_80568650@l
/* 802C48A0 002C0500  A0 03 00 7C */	lhz r0, 0x7c(r3)
/* 802C48A4 002C0504  28 00 03 F9 */	cmplwi r0, 0x3f9
/* 802C48A8 002C0508  40 82 00 08 */	bne lbl_802C48B0
/* 802C48AC 002C050C  3B E0 03 F9 */	li r31, 0x3f9
lbl_802C48B0:
/* 802C48B0 002C0510  39 61 00 20 */	addi r11, r1, 0x20
/* 802C48B4 002C0514  7F E3 FB 78 */	mr r3, r31
/* 802C48B8 002C0518  4B F0 28 BD */	bl _restgpr_27
/* 802C48BC 002C051C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C48C0 002C0520  7C 08 03 A6 */	mtlr r0
/* 802C48C4 002C0524  38 21 00 20 */	addi r1, r1, 0x20
/* 802C48C8 002C0528  4E 80 00 20 */	blr

.global BTM_AclRegisterForChanges
BTM_AclRegisterForChanges:
/* 802C48CC 002C052C  2C 03 00 00 */	cmpwi r3, 0
/* 802C48D0 002C0530  40 82 00 18 */	bne lbl_802C48E8
/* 802C48D4 002C0534  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C48D8 002C0538  38 00 00 00 */	li r0, 0
/* 802C48DC 002C053C  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C48E0 002C0540  90 03 04 C8 */	stw r0, 0x4c8(r3)
/* 802C48E4 002C0544  48 00 00 24 */	b lbl_802C4908
lbl_802C48E8:
/* 802C48E8 002C0548  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C48EC 002C054C  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C48F0 002C0550  80 04 04 C8 */	lwz r0, 0x4c8(r4)
/* 802C48F4 002C0554  2C 00 00 00 */	cmpwi r0, 0
/* 802C48F8 002C0558  41 82 00 0C */	beq lbl_802C4904
/* 802C48FC 002C055C  38 60 00 02 */	li r3, 2
/* 802C4900 002C0560  4E 80 00 20 */	blr
lbl_802C4904:
/* 802C4904 002C0564  90 64 04 C8 */	stw r3, 0x4c8(r4)
lbl_802C4908:
/* 802C4908 002C0568  38 60 00 00 */	li r3, 0
/* 802C490C 002C056C  4E 80 00 20 */	blr

.global btm_qos_setup_complete
btm_qos_setup_complete:
/* 802C4910 002C0570  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802C4914 002C0574  7C 08 02 A6 */	mflr r0
/* 802C4918 002C0578  90 01 00 44 */	stw r0, 0x44(r1)
/* 802C491C 002C057C  39 61 00 40 */	addi r11, r1, 0x40
/* 802C4920 002C0580  4B F0 28 09 */	bl _savegpr_27
/* 802C4924 002C0584  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C4928 002C0588  7C 7B 1B 78 */	mr r27, r3
/* 802C492C 002C058C  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C4930 002C0590  7C 9C 23 78 */	mr r28, r4
/* 802C4934 002C0594  83 DF 06 18 */	lwz r30, 0x618(r31)
/* 802C4938 002C0598  7C BD 2B 78 */	mr r29, r5
/* 802C493C 002C059C  38 7F 06 00 */	addi r3, r31, 0x600
/* 802C4940 002C05A0  4B FF 8C 0D */	bl btu_stop_timer
/* 802C4944 002C05A4  38 00 00 00 */	li r0, 0
/* 802C4948 002C05A8  2C 1E 00 00 */	cmpwi r30, 0
/* 802C494C 002C05AC  90 1F 06 18 */	stw r0, 0x618(r31)
/* 802C4950 002C05B0  41 82 00 80 */	beq lbl_802C49D0
/* 802C4954 002C05B4  2C 1D 00 00 */	cmpwi r29, 0
/* 802C4958 002C05B8  9B 61 00 22 */	stb r27, 0x22(r1)
/* 802C495C 002C05BC  B3 81 00 20 */	sth r28, 0x20(r1)
/* 802C4960 002C05C0  41 82 00 34 */	beq lbl_802C4994
/* 802C4964 002C05C4  88 1D 00 00 */	lbz r0, 0(r29)
/* 802C4968 002C05C8  98 01 00 08 */	stb r0, 8(r1)
/* 802C496C 002C05CC  88 1D 00 01 */	lbz r0, 1(r29)
/* 802C4970 002C05D0  98 01 00 09 */	stb r0, 9(r1)
/* 802C4974 002C05D4  80 1D 00 04 */	lwz r0, 4(r29)
/* 802C4978 002C05D8  90 01 00 0C */	stw r0, 0xc(r1)
/* 802C497C 002C05DC  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 802C4980 002C05E0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802C4984 002C05E4  80 1D 00 10 */	lwz r0, 0x10(r29)
/* 802C4988 002C05E8  90 01 00 18 */	stw r0, 0x18(r1)
/* 802C498C 002C05EC  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 802C4990 002C05F0  90 01 00 1C */	stw r0, 0x1c(r1)
lbl_802C4994:
/* 802C4994 002C05F4  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4998 002C05F8  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C499C 002C05FC  88 03 27 C0 */	lbz r0, 0x27c0(r3)
/* 802C49A0 002C0600  28 00 00 05 */	cmplwi r0, 5
/* 802C49A4 002C0604  41 80 00 1C */	blt lbl_802C49C0
/* 802C49A8 002C0608  3C 60 00 0D */	lis r3, 0x000D0004@ha
/* 802C49AC 002C060C  3C 80 80 44 */	lis r4, lbl_80440F44@ha
/* 802C49B0 002C0610  80 BD 00 14 */	lwz r5, 0x14(r29)
/* 802C49B4 002C0614  38 63 00 04 */	addi r3, r3, 0x000D0004@l
/* 802C49B8 002C0618  38 84 0F 44 */	addi r4, r4, lbl_80440F44@l
/* 802C49BC 002C061C  4B FF 85 6D */	bl LogMsg_1
lbl_802C49C0:
/* 802C49C0 002C0620  7F CC F3 78 */	mr r12, r30
/* 802C49C4 002C0624  38 61 00 08 */	addi r3, r1, 8
/* 802C49C8 002C0628  7D 89 03 A6 */	mtctr r12
/* 802C49CC 002C062C  4E 80 04 21 */	bctrl
lbl_802C49D0:
/* 802C49D0 002C0630  39 61 00 40 */	addi r11, r1, 0x40
/* 802C49D4 002C0634  4B F0 27 A1 */	bl _restgpr_27
/* 802C49D8 002C0638  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802C49DC 002C063C  7C 08 03 A6 */	mtlr r0
/* 802C49E0 002C0640  38 21 00 40 */	addi r1, r1, 0x40
/* 802C49E4 002C0644  4E 80 00 20 */	blr

.global BTM_ReadRSSI
BTM_ReadRSSI:
/* 802C49E8 002C0648  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C49EC 002C064C  7C 08 02 A6 */	mflr r0
/* 802C49F0 002C0650  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C49F4 002C0654  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C49F8 002C0658  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C49FC 002C065C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C4A00 002C0660  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C4A04 002C0664  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C4A08 002C0668  7C 9D 23 78 */	mr r29, r4
/* 802C4A0C 002C066C  93 81 00 10 */	stw r28, 0x10(r1)
/* 802C4A10 002C0670  7C 7C 1B 78 */	mr r28, r3
/* 802C4A14 002C0674  88 05 27 C0 */	lbz r0, 0x27c0(r5)
/* 802C4A18 002C0678  28 00 00 03 */	cmplwi r0, 3
/* 802C4A1C 002C067C  41 80 00 30 */	blt lbl_802C4A4C
/* 802C4A20 002C0680  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C4A24 002C0684  3C 80 80 44 */	lis r4, lbl_80440F6C@ha
/* 802C4A28 002C0688  88 BC 00 00 */	lbz r5, 0(r28)
/* 802C4A2C 002C068C  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C4A30 002C0690  88 DC 00 01 */	lbz r6, 1(r28)
/* 802C4A34 002C0694  38 84 0F 6C */	addi r4, r4, lbl_80440F6C@l
/* 802C4A38 002C0698  88 FC 00 02 */	lbz r7, 2(r28)
/* 802C4A3C 002C069C  89 1C 00 03 */	lbz r8, 3(r28)
/* 802C4A40 002C06A0  89 3C 00 04 */	lbz r9, 4(r28)
/* 802C4A44 002C06A4  89 5C 00 05 */	lbz r10, 5(r28)
/* 802C4A48 002C06A8  4B FF 85 59 */	bl LogMsg_6
lbl_802C4A4C:
/* 802C4A4C 002C06AC  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4A50 002C06B0  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4A54 002C06B4  80 03 05 E0 */	lwz r0, 0x5e0(r3)
/* 802C4A58 002C06B8  2C 00 00 00 */	cmpwi r0, 0
/* 802C4A5C 002C06BC  41 82 00 0C */	beq lbl_802C4A68
/* 802C4A60 002C06C0  38 60 00 02 */	li r3, 2
/* 802C4A64 002C06C4  48 00 00 A0 */	b lbl_802C4B04
lbl_802C4A68:
/* 802C4A68 002C06C8  3B C3 00 34 */	addi r30, r3, 0x34
/* 802C4A6C 002C06CC  3B E0 00 00 */	li r31, 0
lbl_802C4A70:
/* 802C4A70 002C06D0  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C4A74 002C06D4  2C 00 00 00 */	cmpwi r0, 0
/* 802C4A78 002C06D8  41 82 00 20 */	beq lbl_802C4A98
/* 802C4A7C 002C06DC  7F 84 E3 78 */	mr r4, r28
/* 802C4A80 002C06E0  38 7E 00 08 */	addi r3, r30, 8
/* 802C4A84 002C06E4  38 A0 00 06 */	li r5, 6
/* 802C4A88 002C06E8  4B F0 59 11 */	bl memcmp
/* 802C4A8C 002C06EC  2C 03 00 00 */	cmpwi r3, 0
/* 802C4A90 002C06F0  40 82 00 08 */	bne lbl_802C4A98
/* 802C4A94 002C06F4  48 00 00 18 */	b lbl_802C4AAC
lbl_802C4A98:
/* 802C4A98 002C06F8  3B FF 00 01 */	addi r31, r31, 1
/* 802C4A9C 002C06FC  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C4AA0 002C0700  28 1F 00 04 */	cmplwi r31, 4
/* 802C4AA4 002C0704  41 80 FF CC */	blt lbl_802C4A70
/* 802C4AA8 002C0708  3B C0 00 00 */	li r30, 0
lbl_802C4AAC:
/* 802C4AAC 002C070C  2C 1E 00 00 */	cmpwi r30, 0
/* 802C4AB0 002C0710  41 82 00 50 */	beq lbl_802C4B00
/* 802C4AB4 002C0714  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C4AB8 002C0718  38 80 00 09 */	li r4, 9
/* 802C4ABC 002C071C  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C4AC0 002C0720  38 A0 00 03 */	li r5, 3
/* 802C4AC4 002C0724  38 7F 05 C8 */	addi r3, r31, 0x5c8
/* 802C4AC8 002C0728  4B FF 8A 15 */	bl btu_start_timer
/* 802C4ACC 002C072C  93 BF 05 E0 */	stw r29, 0x5e0(r31)
/* 802C4AD0 002C0730  A0 7E 00 00 */	lhz r3, 0(r30)
/* 802C4AD4 002C0734  48 00 D4 15 */	bl btsnd_hcic_read_rssi
/* 802C4AD8 002C0738  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C4ADC 002C073C  40 82 00 1C */	bne lbl_802C4AF8
/* 802C4AE0 002C0740  38 00 00 00 */	li r0, 0
/* 802C4AE4 002C0744  38 7F 05 C8 */	addi r3, r31, 0x5c8
/* 802C4AE8 002C0748  90 1F 05 E0 */	stw r0, 0x5e0(r31)
/* 802C4AEC 002C074C  4B FF 8A 61 */	bl btu_stop_timer
/* 802C4AF0 002C0750  38 60 00 03 */	li r3, 3
/* 802C4AF4 002C0754  48 00 00 10 */	b lbl_802C4B04
lbl_802C4AF8:
/* 802C4AF8 002C0758  38 60 00 01 */	li r3, 1
/* 802C4AFC 002C075C  48 00 00 08 */	b lbl_802C4B04
lbl_802C4B00:
/* 802C4B00 002C0760  38 60 00 07 */	li r3, 7
lbl_802C4B04:
/* 802C4B04 002C0764  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4B08 002C0768  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C4B0C 002C076C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C4B10 002C0770  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C4B14 002C0774  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802C4B18 002C0778  7C 08 03 A6 */	mtlr r0
/* 802C4B1C 002C077C  38 21 00 20 */	addi r1, r1, 0x20
/* 802C4B20 002C0780  4E 80 00 20 */	blr

.global BTM_ReadLinkQuality
BTM_ReadLinkQuality:
/* 802C4B24 002C0784  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C4B28 002C0788  7C 08 02 A6 */	mflr r0
/* 802C4B2C 002C078C  3C A0 80 57 */	lis r5, lbl_80568B78@ha
/* 802C4B30 002C0790  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C4B34 002C0794  38 A5 8B 78 */	addi r5, r5, lbl_80568B78@l
/* 802C4B38 002C0798  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C4B3C 002C079C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C4B40 002C07A0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C4B44 002C07A4  7C 9D 23 78 */	mr r29, r4
/* 802C4B48 002C07A8  93 81 00 10 */	stw r28, 0x10(r1)
/* 802C4B4C 002C07AC  7C 7C 1B 78 */	mr r28, r3
/* 802C4B50 002C07B0  88 05 27 C0 */	lbz r0, 0x27c0(r5)
/* 802C4B54 002C07B4  28 00 00 03 */	cmplwi r0, 3
/* 802C4B58 002C07B8  41 80 00 30 */	blt lbl_802C4B88
/* 802C4B5C 002C07BC  3C 60 00 0D */	lis r3, 0x000D0002@ha
/* 802C4B60 002C07C0  3C 80 80 44 */	lis r4, lbl_80440FA0@ha
/* 802C4B64 002C07C4  88 BC 00 00 */	lbz r5, 0(r28)
/* 802C4B68 002C07C8  38 63 00 02 */	addi r3, r3, 0x000D0002@l
/* 802C4B6C 002C07CC  88 DC 00 01 */	lbz r6, 1(r28)
/* 802C4B70 002C07D0  38 84 0F A0 */	addi r4, r4, lbl_80440FA0@l
/* 802C4B74 002C07D4  88 FC 00 02 */	lbz r7, 2(r28)
/* 802C4B78 002C07D8  89 1C 00 03 */	lbz r8, 3(r28)
/* 802C4B7C 002C07DC  89 3C 00 04 */	lbz r9, 4(r28)
/* 802C4B80 002C07E0  89 5C 00 05 */	lbz r10, 5(r28)
/* 802C4B84 002C07E4  4B FF 84 1D */	bl LogMsg_6
lbl_802C4B88:
/* 802C4B88 002C07E8  3C 60 80 57 */	lis r3, lbl_80568B78@ha
/* 802C4B8C 002C07EC  38 63 8B 78 */	addi r3, r3, lbl_80568B78@l
/* 802C4B90 002C07F0  80 03 05 FC */	lwz r0, 0x5fc(r3)
/* 802C4B94 002C07F4  2C 00 00 00 */	cmpwi r0, 0
/* 802C4B98 002C07F8  41 82 00 0C */	beq lbl_802C4BA4
/* 802C4B9C 002C07FC  38 60 00 02 */	li r3, 2
/* 802C4BA0 002C0800  48 00 00 A0 */	b lbl_802C4C40
lbl_802C4BA4:
/* 802C4BA4 002C0804  3B C3 00 34 */	addi r30, r3, 0x34
/* 802C4BA8 002C0808  3B E0 00 00 */	li r31, 0
lbl_802C4BAC:
/* 802C4BAC 002C080C  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C4BB0 002C0810  2C 00 00 00 */	cmpwi r0, 0
/* 802C4BB4 002C0814  41 82 00 20 */	beq lbl_802C4BD4
/* 802C4BB8 002C0818  7F 84 E3 78 */	mr r4, r28
/* 802C4BBC 002C081C  38 7E 00 08 */	addi r3, r30, 8
/* 802C4BC0 002C0820  38 A0 00 06 */	li r5, 6
/* 802C4BC4 002C0824  4B F0 57 D5 */	bl memcmp
/* 802C4BC8 002C0828  2C 03 00 00 */	cmpwi r3, 0
/* 802C4BCC 002C082C  40 82 00 08 */	bne lbl_802C4BD4
/* 802C4BD0 002C0830  48 00 00 18 */	b lbl_802C4BE8
lbl_802C4BD4:
/* 802C4BD4 002C0834  3B FF 00 01 */	addi r31, r31, 1
/* 802C4BD8 002C0838  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C4BDC 002C083C  28 1F 00 04 */	cmplwi r31, 4
/* 802C4BE0 002C0840  41 80 FF CC */	blt lbl_802C4BAC
/* 802C4BE4 002C0844  3B C0 00 00 */	li r30, 0
lbl_802C4BE8:
/* 802C4BE8 002C0848  2C 1E 00 00 */	cmpwi r30, 0
/* 802C4BEC 002C084C  41 82 00 50 */	beq lbl_802C4C3C
/* 802C4BF0 002C0850  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C4BF4 002C0854  38 80 00 09 */	li r4, 9
/* 802C4BF8 002C0858  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C4BFC 002C085C  38 A0 00 03 */	li r5, 3
/* 802C4C00 002C0860  38 7F 05 E4 */	addi r3, r31, 0x5e4
/* 802C4C04 002C0864  4B FF 88 D9 */	bl btu_start_timer
/* 802C4C08 002C0868  93 BF 05 FC */	stw r29, 0x5fc(r31)
/* 802C4C0C 002C086C  A0 7E 00 00 */	lhz r3, 0(r30)
/* 802C4C10 002C0870  48 00 D2 5D */	bl btsnd_hcic_get_link_quality
/* 802C4C14 002C0874  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C4C18 002C0878  40 82 00 1C */	bne lbl_802C4C34
/* 802C4C1C 002C087C  38 7F 05 E4 */	addi r3, r31, 0x5e4
/* 802C4C20 002C0880  4B FF 89 2D */	bl btu_stop_timer
/* 802C4C24 002C0884  38 00 00 00 */	li r0, 0
/* 802C4C28 002C0888  38 60 00 03 */	li r3, 3
/* 802C4C2C 002C088C  90 1F 05 FC */	stw r0, 0x5fc(r31)
/* 802C4C30 002C0890  48 00 00 10 */	b lbl_802C4C40
lbl_802C4C34:
/* 802C4C34 002C0894  38 60 00 01 */	li r3, 1
/* 802C4C38 002C0898  48 00 00 08 */	b lbl_802C4C40
lbl_802C4C3C:
/* 802C4C3C 002C089C  38 60 00 07 */	li r3, 7
lbl_802C4C40:
/* 802C4C40 002C08A0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4C44 002C08A4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C4C48 002C08A8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C4C4C 002C08AC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C4C50 002C08B0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802C4C54 002C08B4  7C 08 03 A6 */	mtlr r0
/* 802C4C58 002C08B8  38 21 00 20 */	addi r1, r1, 0x20
/* 802C4C5C 002C08BC  4E 80 00 20 */	blr

.global btm_read_rssi_complete
btm_read_rssi_complete:
/* 802C4C60 002C08C0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802C4C64 002C08C4  7C 08 02 A6 */	mflr r0
/* 802C4C68 002C08C8  90 01 00 34 */	stw r0, 0x34(r1)
/* 802C4C6C 002C08CC  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802C4C70 002C08D0  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C4C74 002C08D4  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C4C78 002C08D8  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802C4C7C 002C08DC  93 A1 00 24 */	stw r29, 0x24(r1)
/* 802C4C80 002C08E0  3B BF 00 34 */	addi r29, r31, 0x34
/* 802C4C84 002C08E4  93 81 00 20 */	stw r28, 0x20(r1)
/* 802C4C88 002C08E8  7C 7C 1B 78 */	mr r28, r3
/* 802C4C8C 002C08EC  38 7F 05 C8 */	addi r3, r31, 0x5c8
/* 802C4C90 002C08F0  83 DF 05 E0 */	lwz r30, 0x5e0(r31)
/* 802C4C94 002C08F4  4B FF 88 B9 */	bl btu_stop_timer
/* 802C4C98 002C08F8  38 00 00 00 */	li r0, 0
/* 802C4C9C 002C08FC  2C 1E 00 00 */	cmpwi r30, 0
/* 802C4CA0 002C0900  90 1F 05 E0 */	stw r0, 0x5e0(r31)
/* 802C4CA4 002C0904  41 82 00 B8 */	beq lbl_802C4D5C
/* 802C4CA8 002C0908  88 DC 00 00 */	lbz r6, 0(r28)
/* 802C4CAC 002C090C  2C 06 00 00 */	cmpwi r6, 0
/* 802C4CB0 002C0910  98 C1 00 09 */	stb r6, 9(r1)
/* 802C4CB4 002C0914  40 82 00 90 */	bne lbl_802C4D44
/* 802C4CB8 002C0918  98 01 00 08 */	stb r0, 8(r1)
/* 802C4CBC 002C091C  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C4CC0 002C0920  88 7C 00 02 */	lbz r3, 2(r28)
/* 802C4CC4 002C0924  88 9C 00 01 */	lbz r4, 1(r28)
/* 802C4CC8 002C0928  28 00 00 04 */	cmplwi r0, 4
/* 802C4CCC 002C092C  88 BC 00 03 */	lbz r5, 3(r28)
/* 802C4CD0 002C0930  54 60 40 2E */	slwi r0, r3, 8
/* 802C4CD4 002C0934  7C 04 02 14 */	add r0, r4, r0
/* 802C4CD8 002C0938  98 A1 00 0A */	stb r5, 0xa(r1)
/* 802C4CDC 002C093C  54 1F 04 3E */	clrlwi r31, r0, 0x10
/* 802C4CE0 002C0940  41 80 00 1C */	blt lbl_802C4CFC
/* 802C4CE4 002C0944  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C4CE8 002C0948  3C 80 80 44 */	lis r4, lbl_80440FDC@ha
/* 802C4CEC 002C094C  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C4CF0 002C0950  7C A5 07 74 */	extsb r5, r5
/* 802C4CF4 002C0954  38 84 0F DC */	addi r4, r4, lbl_80440FDC@l
/* 802C4CF8 002C0958  4B FF 82 49 */	bl LogMsg_2
lbl_802C4CFC:
/* 802C4CFC 002C095C  38 00 00 04 */	li r0, 4
/* 802C4D00 002C0960  38 60 00 00 */	li r3, 0
/* 802C4D04 002C0964  7C 09 03 A6 */	mtctr r0
lbl_802C4D08:
/* 802C4D08 002C0968  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C4D0C 002C096C  2C 00 00 00 */	cmpwi r0, 0
/* 802C4D10 002C0970  41 82 00 24 */	beq lbl_802C4D34
/* 802C4D14 002C0974  A0 1D 00 00 */	lhz r0, 0(r29)
/* 802C4D18 002C0978  7C 1F 00 40 */	cmplw r31, r0
/* 802C4D1C 002C097C  40 82 00 18 */	bne lbl_802C4D34
/* 802C4D20 002C0980  38 61 00 0B */	addi r3, r1, 0xb
/* 802C4D24 002C0984  38 9D 00 08 */	addi r4, r29, 8
/* 802C4D28 002C0988  38 A0 00 06 */	li r5, 6
/* 802C4D2C 002C098C  4B D3 F2 D5 */	bl memcpy
/* 802C4D30 002C0990  48 00 00 1C */	b lbl_802C4D4C
lbl_802C4D34:
/* 802C4D34 002C0994  38 63 00 01 */	addi r3, r3, 1
/* 802C4D38 002C0998  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C4D3C 002C099C  42 00 FF CC */	bdnz lbl_802C4D08
/* 802C4D40 002C09A0  48 00 00 0C */	b lbl_802C4D4C
lbl_802C4D44:
/* 802C4D44 002C09A4  38 00 00 0A */	li r0, 0xa
/* 802C4D48 002C09A8  98 01 00 08 */	stb r0, 8(r1)
lbl_802C4D4C:
/* 802C4D4C 002C09AC  7F CC F3 78 */	mr r12, r30
/* 802C4D50 002C09B0  38 61 00 08 */	addi r3, r1, 8
/* 802C4D54 002C09B4  7D 89 03 A6 */	mtctr r12
/* 802C4D58 002C09B8  4E 80 04 21 */	bctrl
lbl_802C4D5C:
/* 802C4D5C 002C09BC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802C4D60 002C09C0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802C4D64 002C09C4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802C4D68 002C09C8  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 802C4D6C 002C09CC  83 81 00 20 */	lwz r28, 0x20(r1)
/* 802C4D70 002C09D0  7C 08 03 A6 */	mtlr r0
/* 802C4D74 002C09D4  38 21 00 30 */	addi r1, r1, 0x30
/* 802C4D78 002C09D8  4E 80 00 20 */	blr

.global btm_read_link_quality_complete
btm_read_link_quality_complete:
/* 802C4D7C 002C09DC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802C4D80 002C09E0  7C 08 02 A6 */	mflr r0
/* 802C4D84 002C09E4  90 01 00 34 */	stw r0, 0x34(r1)
/* 802C4D88 002C09E8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802C4D8C 002C09EC  3F E0 80 57 */	lis r31, lbl_80568B78@ha
/* 802C4D90 002C09F0  3B FF 8B 78 */	addi r31, r31, lbl_80568B78@l
/* 802C4D94 002C09F4  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802C4D98 002C09F8  93 A1 00 24 */	stw r29, 0x24(r1)
/* 802C4D9C 002C09FC  3B BF 00 34 */	addi r29, r31, 0x34
/* 802C4DA0 002C0A00  93 81 00 20 */	stw r28, 0x20(r1)
/* 802C4DA4 002C0A04  7C 7C 1B 78 */	mr r28, r3
/* 802C4DA8 002C0A08  38 7F 05 C8 */	addi r3, r31, 0x5c8
/* 802C4DAC 002C0A0C  83 DF 05 FC */	lwz r30, 0x5fc(r31)
/* 802C4DB0 002C0A10  4B FF 87 9D */	bl btu_stop_timer
/* 802C4DB4 002C0A14  38 00 00 00 */	li r0, 0
/* 802C4DB8 002C0A18  2C 1E 00 00 */	cmpwi r30, 0
/* 802C4DBC 002C0A1C  90 1F 05 FC */	stw r0, 0x5fc(r31)
/* 802C4DC0 002C0A20  41 82 00 B4 */	beq lbl_802C4E74
/* 802C4DC4 002C0A24  88 DC 00 00 */	lbz r6, 0(r28)
/* 802C4DC8 002C0A28  2C 06 00 00 */	cmpwi r6, 0
/* 802C4DCC 002C0A2C  98 C1 00 09 */	stb r6, 9(r1)
/* 802C4DD0 002C0A30  40 82 00 8C */	bne lbl_802C4E5C
/* 802C4DD4 002C0A34  98 01 00 08 */	stb r0, 8(r1)
/* 802C4DD8 002C0A38  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C4DDC 002C0A3C  88 7C 00 02 */	lbz r3, 2(r28)
/* 802C4DE0 002C0A40  88 9C 00 01 */	lbz r4, 1(r28)
/* 802C4DE4 002C0A44  28 00 00 04 */	cmplwi r0, 4
/* 802C4DE8 002C0A48  88 BC 00 03 */	lbz r5, 3(r28)
/* 802C4DEC 002C0A4C  54 60 40 2E */	slwi r0, r3, 8
/* 802C4DF0 002C0A50  7C 04 02 14 */	add r0, r4, r0
/* 802C4DF4 002C0A54  98 A1 00 0A */	stb r5, 0xa(r1)
/* 802C4DF8 002C0A58  54 1F 04 3E */	clrlwi r31, r0, 0x10
/* 802C4DFC 002C0A5C  41 80 00 18 */	blt lbl_802C4E14
/* 802C4E00 002C0A60  3C 60 00 0D */	lis r3, 0x000D0003@ha
/* 802C4E04 002C0A64  3C 80 80 44 */	lis r4, lbl_8044100C@ha
/* 802C4E08 002C0A68  38 63 00 03 */	addi r3, r3, 0x000D0003@l
/* 802C4E0C 002C0A6C  38 84 10 0C */	addi r4, r4, lbl_8044100C@l
/* 802C4E10 002C0A70  4B FF 81 31 */	bl LogMsg_2
lbl_802C4E14:
/* 802C4E14 002C0A74  38 00 00 04 */	li r0, 4
/* 802C4E18 002C0A78  38 60 00 00 */	li r3, 0
/* 802C4E1C 002C0A7C  7C 09 03 A6 */	mtctr r0
lbl_802C4E20:
/* 802C4E20 002C0A80  88 1D 01 19 */	lbz r0, 0x119(r29)
/* 802C4E24 002C0A84  2C 00 00 00 */	cmpwi r0, 0
/* 802C4E28 002C0A88  41 82 00 24 */	beq lbl_802C4E4C
/* 802C4E2C 002C0A8C  A0 1D 00 00 */	lhz r0, 0(r29)
/* 802C4E30 002C0A90  7C 1F 00 40 */	cmplw r31, r0
/* 802C4E34 002C0A94  40 82 00 18 */	bne lbl_802C4E4C
/* 802C4E38 002C0A98  38 61 00 0B */	addi r3, r1, 0xb
/* 802C4E3C 002C0A9C  38 9D 00 08 */	addi r4, r29, 8
/* 802C4E40 002C0AA0  38 A0 00 06 */	li r5, 6
/* 802C4E44 002C0AA4  4B D3 F1 BD */	bl memcpy
/* 802C4E48 002C0AA8  48 00 00 1C */	b lbl_802C4E64
lbl_802C4E4C:
/* 802C4E4C 002C0AAC  38 63 00 01 */	addi r3, r3, 1
/* 802C4E50 002C0AB0  3B BD 01 1C */	addi r29, r29, 0x11c
/* 802C4E54 002C0AB4  42 00 FF CC */	bdnz lbl_802C4E20
/* 802C4E58 002C0AB8  48 00 00 0C */	b lbl_802C4E64
lbl_802C4E5C:
/* 802C4E5C 002C0ABC  38 00 00 0A */	li r0, 0xa
/* 802C4E60 002C0AC0  98 01 00 08 */	stb r0, 8(r1)
lbl_802C4E64:
/* 802C4E64 002C0AC4  7F CC F3 78 */	mr r12, r30
/* 802C4E68 002C0AC8  38 61 00 08 */	addi r3, r1, 8
/* 802C4E6C 002C0ACC  7D 89 03 A6 */	mtctr r12
/* 802C4E70 002C0AD0  4E 80 04 21 */	bctrl
lbl_802C4E74:
/* 802C4E74 002C0AD4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802C4E78 002C0AD8  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802C4E7C 002C0ADC  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802C4E80 002C0AE0  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 802C4E84 002C0AE4  83 81 00 20 */	lwz r28, 0x20(r1)
/* 802C4E88 002C0AE8  7C 08 03 A6 */	mtlr r0
/* 802C4E8C 002C0AEC  38 21 00 30 */	addi r1, r1, 0x30
/* 802C4E90 002C0AF0  4E 80 00 20 */	blr

.global btm_remove_acl
btm_remove_acl:
/* 802C4E94 002C0AF4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802C4E98 002C0AF8  7C 08 02 A6 */	mflr r0
/* 802C4E9C 002C0AFC  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C4EA0 002C0B00  90 01 00 24 */	stw r0, 0x24(r1)
/* 802C4EA4 002C0B04  38 84 8B 78 */	addi r4, r4, lbl_80568B78@l
/* 802C4EA8 002C0B08  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802C4EAC 002C0B0C  3B E0 00 00 */	li r31, 0
/* 802C4EB0 002C0B10  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802C4EB4 002C0B14  3B C4 00 34 */	addi r30, r4, 0x34
/* 802C4EB8 002C0B18  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802C4EBC 002C0B1C  7C 7D 1B 78 */	mr r29, r3
lbl_802C4EC0:
/* 802C4EC0 002C0B20  88 1E 01 19 */	lbz r0, 0x119(r30)
/* 802C4EC4 002C0B24  2C 00 00 00 */	cmpwi r0, 0
/* 802C4EC8 002C0B28  41 82 00 20 */	beq lbl_802C4EE8
/* 802C4ECC 002C0B2C  7F A4 EB 78 */	mr r4, r29
/* 802C4ED0 002C0B30  38 7E 00 08 */	addi r3, r30, 8
/* 802C4ED4 002C0B34  38 A0 00 06 */	li r5, 6
/* 802C4ED8 002C0B38  4B F0 54 C1 */	bl memcmp
/* 802C4EDC 002C0B3C  2C 03 00 00 */	cmpwi r3, 0
/* 802C4EE0 002C0B40  40 82 00 08 */	bne lbl_802C4EE8
/* 802C4EE4 002C0B44  48 00 00 18 */	b lbl_802C4EFC
lbl_802C4EE8:
/* 802C4EE8 002C0B48  3B FF 00 01 */	addi r31, r31, 1
/* 802C4EEC 002C0B4C  3B DE 01 1C */	addi r30, r30, 0x11c
/* 802C4EF0 002C0B50  28 1F 00 04 */	cmplwi r31, 4
/* 802C4EF4 002C0B54  41 80 FF CC */	blt lbl_802C4EC0
/* 802C4EF8 002C0B58  3B C0 00 00 */	li r30, 0
lbl_802C4EFC:
/* 802C4EFC 002C0B5C  2C 1E 00 00 */	cmpwi r30, 0
/* 802C4F00 002C0B60  41 82 00 0C */	beq lbl_802C4F0C
/* 802C4F04 002C0B64  A0 7E 00 00 */	lhz r3, 0(r30)
/* 802C4F08 002C0B68  48 00 00 0C */	b lbl_802C4F14
lbl_802C4F0C:
/* 802C4F0C 002C0B6C  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802C4F10 002C0B70  38 63 FF FF */	addi r3, r3, 0x0000FFFF@l
lbl_802C4F14:
/* 802C4F14 002C0B74  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802C4F18 002C0B78  38 80 00 13 */	li r4, 0x13
/* 802C4F1C 002C0B7C  48 00 B1 75 */	bl btsnd_hcic_disconnect
/* 802C4F20 002C0B80  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C4F24 002C0B84  40 82 00 0C */	bne lbl_802C4F30
/* 802C4F28 002C0B88  38 60 00 03 */	li r3, 3
/* 802C4F2C 002C0B8C  48 00 00 08 */	b lbl_802C4F34
lbl_802C4F30:
/* 802C4F30 002C0B90  38 60 00 00 */	li r3, 0
lbl_802C4F34:
/* 802C4F34 002C0B94  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802C4F38 002C0B98  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802C4F3C 002C0B9C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802C4F40 002C0BA0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802C4F44 002C0BA4  7C 08 03 A6 */	mtlr r0
/* 802C4F48 002C0BA8  38 21 00 20 */	addi r1, r1, 0x20
/* 802C4F4C 002C0BAC  4E 80 00 20 */	blr

.global btm_chg_all_acl_pkt_types
btm_chg_all_acl_pkt_types:
/* 802C4F50 002C0BB0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802C4F54 002C0BB4  7C 08 02 A6 */	mflr r0
/* 802C4F58 002C0BB8  90 01 00 44 */	stw r0, 0x44(r1)
/* 802C4F5C 002C0BBC  39 61 00 40 */	addi r11, r1, 0x40
/* 802C4F60 002C0BC0  4B F0 21 BD */	bl _savegpr_24
/* 802C4F64 002C0BC4  3C 80 80 57 */	lis r4, lbl_80568B78@ha
/* 802C4F68 002C0BC8  2C 03 00 00 */	cmpwi r3, 0
/* 802C4F6C 002C0BCC  3B E4 8B 78 */	addi r31, r4, lbl_80568B78@l
/* 802C4F70 002C0BD0  3F C0 80 44 */	lis r30, lbl_80440CC0@ha
/* 802C4F74 002C0BD4  3B DE 0C C0 */	addi r30, r30, lbl_80440CC0@l
/* 802C4F78 002C0BD8  3B 9F 00 34 */	addi r28, r31, 0x34
/* 802C4F7C 002C0BDC  41 82 00 C8 */	beq lbl_802C5044
/* 802C4F80 002C0BE0  3B A0 00 00 */	li r29, 0
/* 802C4F84 002C0BE4  3F 40 00 0D */	lis r26, 0xd
/* 802C4F88 002C0BE8  3B 00 CC F9 */	li r24, -13063
lbl_802C4F8C:
/* 802C4F8C 002C0BEC  88 1C 01 19 */	lbz r0, 0x119(r28)
/* 802C4F90 002C0BF0  2C 00 00 00 */	cmpwi r0, 0
/* 802C4F94 002C0BF4  41 82 00 9C */	beq lbl_802C5030
/* 802C4F98 002C0BF8  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C4F9C 002C0BFC  28 00 00 05 */	cmplwi r0, 5
/* 802C4FA0 002C0C00  41 80 00 14 */	blt lbl_802C4FB4
/* 802C4FA4 002C0C04  A0 BC 00 00 */	lhz r5, 0(r28)
/* 802C4FA8 002C0C08  38 7A 00 04 */	addi r3, r26, 4
/* 802C4FAC 002C0C0C  38 9E 03 8C */	addi r4, r30, 0x38c
/* 802C4FB0 002C0C10  4B FF 7F 79 */	bl LogMsg_1
lbl_802C4FB4:
/* 802C4FB4 002C0C14  A0 1C 00 02 */	lhz r0, 2(r28)
/* 802C4FB8 002C0C18  38 A0 00 18 */	li r5, 0x18
/* 802C4FBC 002C0C1C  B0 1C 00 04 */	sth r0, 4(r28)
/* 802C4FC0 002C0C20  88 7F 06 36 */	lbz r3, 0x636(r31)
/* 802C4FC4 002C0C24  28 03 00 03 */	cmplwi r3, 3
/* 802C4FC8 002C0C28  41 80 00 0C */	blt lbl_802C4FD4
/* 802C4FCC 002C0C2C  60 A0 33 00 */	ori r0, r5, 0x3300
/* 802C4FD0 002C0C30  54 05 04 3E */	clrlwi r5, r0, 0x10
lbl_802C4FD4:
/* 802C4FD4 002C0C34  A0 9F 06 54 */	lhz r4, 0x654(r31)
/* 802C4FD8 002C0C38  28 83 00 03 */	cmplwi cr1, r3, 3
/* 802C4FDC 002C0C3C  7C A0 20 38 */	and r0, r5, r4
/* 802C4FE0 002C0C40  70 03 CC 18 */	andi. r3, r0, 0xcc18
/* 802C4FE4 002C0C44  7C 79 C0 38 */	and r25, r3, r24
/* 802C4FE8 002C0C48  41 84 00 14 */	blt cr1, lbl_802C4FFC
/* 802C4FEC 002C0C4C  7C A0 23 78 */	or r0, r5, r4
/* 802C4FF0 002C0C50  70 00 33 06 */	andi. r0, r0, 0x3306
/* 802C4FF4 002C0C54  7C 60 03 78 */	or r0, r3, r0
/* 802C4FF8 002C0C58  54 19 04 3E */	clrlwi r25, r0, 0x10
lbl_802C4FFC:
/* 802C4FFC 002C0C5C  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C5000 002C0C60  28 00 00 04 */	cmplwi r0, 4
/* 802C5004 002C0C64  41 80 00 14 */	blt lbl_802C5018
/* 802C5008 002C0C68  38 7A 00 03 */	addi r3, r26, 3
/* 802C500C 002C0C6C  38 9E 00 40 */	addi r4, r30, 0x40
/* 802C5010 002C0C70  57 25 04 3E */	clrlwi r5, r25, 0x10
/* 802C5014 002C0C74  4B FF 7F 15 */	bl LogMsg_1
lbl_802C5018:
/* 802C5018 002C0C78  A0 7C 00 00 */	lhz r3, 0(r28)
/* 802C501C 002C0C7C  57 24 04 3E */	clrlwi r4, r25, 0x10
/* 802C5020 002C0C80  48 00 B7 05 */	bl btsnd_hcic_change_conn_type
/* 802C5024 002C0C84  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C5028 002C0C88  41 82 00 08 */	beq lbl_802C5030
/* 802C502C 002C0C8C  B3 3C 00 02 */	sth r25, 2(r28)
lbl_802C5030:
/* 802C5030 002C0C90  3B BD 00 01 */	addi r29, r29, 1
/* 802C5034 002C0C94  3B 9C 01 1C */	addi r28, r28, 0x11c
/* 802C5038 002C0C98  28 1D 00 04 */	cmplwi r29, 4
/* 802C503C 002C0C9C  41 80 FF 50 */	blt lbl_802C4F8C
/* 802C5040 002C0CA0  48 00 01 18 */	b lbl_802C5158
lbl_802C5044:
/* 802C5044 002C0CA4  3B A0 00 00 */	li r29, 0
/* 802C5048 002C0CA8  3F 00 00 0D */	lis r24, 0xd
/* 802C504C 002C0CAC  3B 20 00 00 */	li r25, 0
/* 802C5050 002C0CB0  3B 60 CC F9 */	li r27, -13063
lbl_802C5054:
/* 802C5054 002C0CB4  88 1C 01 19 */	lbz r0, 0x119(r28)
/* 802C5058 002C0CB8  2C 00 00 00 */	cmpwi r0, 0
/* 802C505C 002C0CBC  41 82 00 EC */	beq lbl_802C5148
/* 802C5060 002C0CC0  A0 1C 00 04 */	lhz r0, 4(r28)
/* 802C5064 002C0CC4  2C 00 00 00 */	cmpwi r0, 0
/* 802C5068 002C0CC8  41 82 00 E0 */	beq lbl_802C5148
/* 802C506C 002C0CCC  38 7C 00 08 */	addi r3, r28, 8
/* 802C5070 002C0CD0  38 81 00 08 */	addi r4, r1, 8
/* 802C5074 002C0CD4  48 00 40 05 */	bl BTM_ReadPowerMode
/* 802C5078 002C0CD8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C507C 002C0CDC  40 82 00 CC */	bne lbl_802C5148
/* 802C5080 002C0CE0  88 01 00 08 */	lbz r0, 8(r1)
/* 802C5084 002C0CE4  28 00 00 02 */	cmplwi r0, 2
/* 802C5088 002C0CE8  40 82 00 38 */	bne lbl_802C50C0
/* 802C508C 002C0CEC  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C5090 002C0CF0  28 00 00 05 */	cmplwi r0, 5
/* 802C5094 002C0CF4  41 80 00 14 */	blt lbl_802C50A8
/* 802C5098 002C0CF8  A0 BC 00 00 */	lhz r5, 0(r28)
/* 802C509C 002C0CFC  38 78 00 04 */	addi r3, r24, 4
/* 802C50A0 002C0D00  38 9E 03 BC */	addi r4, r30, 0x3bc
/* 802C50A4 002C0D04  4B FF 7E 85 */	bl LogMsg_1
lbl_802C50A8:
/* 802C50A8 002C0D08  9B 21 00 14 */	stb r25, 0x14(r1)
/* 802C50AC 002C0D0C  38 9C 00 08 */	addi r4, r28, 8
/* 802C50B0 002C0D10  38 A1 00 0C */	addi r5, r1, 0xc
/* 802C50B4 002C0D14  38 60 00 80 */	li r3, 0x80
/* 802C50B8 002C0D18  48 00 3D F1 */	bl BTM_SetPowerMode
/* 802C50BC 002C0D1C  48 00 00 8C */	b lbl_802C5148
lbl_802C50C0:
/* 802C50C0 002C0D20  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C50C4 002C0D24  28 00 00 05 */	cmplwi r0, 5
/* 802C50C8 002C0D28  41 80 00 18 */	blt lbl_802C50E0
/* 802C50CC 002C0D2C  A0 BC 00 00 */	lhz r5, 0(r28)
/* 802C50D0 002C0D30  38 78 00 04 */	addi r3, r24, 4
/* 802C50D4 002C0D34  A0 DC 00 02 */	lhz r6, 2(r28)
/* 802C50D8 002C0D38  38 9E 03 EC */	addi r4, r30, 0x3ec
/* 802C50DC 002C0D3C  4B FF 7E 65 */	bl LogMsg_2
lbl_802C50E0:
/* 802C50E0 002C0D40  A0 9C 00 04 */	lhz r4, 4(r28)
/* 802C50E4 002C0D44  A0 BF 06 54 */	lhz r5, 0x654(r31)
/* 802C50E8 002C0D48  88 1F 06 36 */	lbz r0, 0x636(r31)
/* 802C50EC 002C0D4C  7C 83 28 38 */	and r3, r4, r5
/* 802C50F0 002C0D50  70 63 CC 18 */	andi. r3, r3, 0xcc18
/* 802C50F4 002C0D54  28 00 00 03 */	cmplwi r0, 3
/* 802C50F8 002C0D58  7C 7A D8 38 */	and r26, r3, r27
/* 802C50FC 002C0D5C  41 80 00 14 */	blt lbl_802C5110
/* 802C5100 002C0D60  7C 80 2B 78 */	or r0, r4, r5
/* 802C5104 002C0D64  70 00 33 06 */	andi. r0, r0, 0x3306
/* 802C5108 002C0D68  7C 60 03 78 */	or r0, r3, r0
/* 802C510C 002C0D6C  54 1A 04 3E */	clrlwi r26, r0, 0x10
lbl_802C5110:
/* 802C5110 002C0D70  88 1F 27 C0 */	lbz r0, 0x27c0(r31)
/* 802C5114 002C0D74  28 00 00 04 */	cmplwi r0, 4
/* 802C5118 002C0D78  41 80 00 14 */	blt lbl_802C512C
/* 802C511C 002C0D7C  38 78 00 03 */	addi r3, r24, 3
/* 802C5120 002C0D80  38 9E 00 40 */	addi r4, r30, 0x40
/* 802C5124 002C0D84  57 45 04 3E */	clrlwi r5, r26, 0x10
/* 802C5128 002C0D88  4B FF 7E 01 */	bl LogMsg_1
lbl_802C512C:
/* 802C512C 002C0D8C  A0 7C 00 00 */	lhz r3, 0(r28)
/* 802C5130 002C0D90  57 44 04 3E */	clrlwi r4, r26, 0x10
/* 802C5134 002C0D94  48 00 B5 F1 */	bl btsnd_hcic_change_conn_type
/* 802C5138 002C0D98  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802C513C 002C0D9C  41 82 00 08 */	beq lbl_802C5144
/* 802C5140 002C0DA0  B3 5C 00 02 */	sth r26, 2(r28)
lbl_802C5144:
/* 802C5144 002C0DA4  B3 3C 00 04 */	sth r25, 4(r28)
lbl_802C5148:
/* 802C5148 002C0DA8  3B BD 00 01 */	addi r29, r29, 1
/* 802C514C 002C0DAC  3B 9C 01 1C */	addi r28, r28, 0x11c
/* 802C5150 002C0DB0  28 1D 00 04 */	cmplwi r29, 4
/* 802C5154 002C0DB4  41 80 FF 00 */	blt lbl_802C5054
lbl_802C5158:
/* 802C5158 002C0DB8  39 61 00 40 */	addi r11, r1, 0x40
/* 802C515C 002C0DBC  4B F0 20 0D */	bl _restgpr_24
/* 802C5160 002C0DC0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802C5164 002C0DC4  7C 08 03 A6 */	mtlr r0
/* 802C5168 002C0DC8  38 21 00 40 */	addi r1, r1, 0x40
/* 802C516C 002C0DCC  4E 80 00 20 */	blr