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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global BTM_SetDiscoverability
BTM_SetDiscoverability:
/* 802C72F8 002C2F58 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802C72FC 002C2F5C 7C 08 02 A6 */ mflr r0
/* 802C7300 002C2F60 90 01 00 34 */ stw r0, 0x34(r1)
/* 802C7304 002C2F64 39 61 00 30 */ addi r11, r1, 0x30
/* 802C7308 002C2F68 4B EF FE 21 */ bl _savegpr_27
/* 802C730C 002C2F6C 2C 03 00 00 */ cmpwi r3, 0
/* 802C7310 002C2F70 7C 7F 1B 78 */ mr r31, r3
/* 802C7314 002C2F74 7C 9B 23 78 */ mr r27, r4
/* 802C7318 002C2F78 7C BC 2B 78 */ mr r28, r5
/* 802C731C 002C2F7C 3B C0 00 00 */ li r30, 0
/* 802C7320 002C2F80 41 82 00 1C */ beq lbl_802C733C
/* 802C7324 002C2F84 28 03 00 01 */ cmplwi r3, 1
/* 802C7328 002C2F88 41 82 00 14 */ beq lbl_802C733C
/* 802C732C 002C2F8C 28 03 00 02 */ cmplwi r3, 2
/* 802C7330 002C2F90 41 82 00 0C */ beq lbl_802C733C
/* 802C7334 002C2F94 38 60 00 05 */ li r3, 5
/* 802C7338 002C2F98 48 00 02 2C */ b lbl_802C7564
lbl_802C733C:
/* 802C733C 002C2F9C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7340 002C2FA0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7344 002C2FA4 88 03 06 4E */ lbz r0, 0x64e(r3)
/* 802C7348 002C2FA8 28 00 00 03 */ cmplwi r0, 3
/* 802C734C 002C2FAC 40 80 00 0C */ bge lbl_802C7358
/* 802C7350 002C2FB0 38 60 00 0C */ li r3, 0xc
/* 802C7354 002C2FB4 48 00 02 10 */ b lbl_802C7564
lbl_802C7358:
/* 802C7358 002C2FB8 2C 04 00 00 */ cmpwi r4, 0
/* 802C735C 002C2FBC 40 82 00 08 */ bne lbl_802C7364
/* 802C7360 002C2FC0 3B 60 00 12 */ li r27, 0x12
lbl_802C7364:
/* 802C7364 002C2FC4 2C 05 00 00 */ cmpwi r5, 0
/* 802C7368 002C2FC8 40 82 00 08 */ bne lbl_802C7370
/* 802C736C 002C2FCC 3B 80 08 00 */ li r28, 0x800
lbl_802C7370:
/* 802C7370 002C2FD0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7374 002C2FD4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7378 002C2FD8 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 802C737C 002C2FDC 28 00 00 03 */ cmplwi r0, 3
/* 802C7380 002C2FE0 41 80 00 24 */ blt lbl_802C73A4
/* 802C7384 002C2FE4 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7388 002C2FE8 3C 80 80 44 */ lis r4, lbl_80441340@ha
/* 802C738C 002C2FEC 7F E5 FB 78 */ mr r5, r31
/* 802C7390 002C2FF0 7F 66 DB 78 */ mr r6, r27
/* 802C7394 002C2FF4 7F 87 E3 78 */ mr r7, r28
/* 802C7398 002C2FF8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C739C 002C2FFC 38 84 13 40 */ addi r4, r4, lbl_80441340@l
/* 802C73A0 002C3000 4B FF 5B B9 */ bl LogMsg_3
lbl_802C73A4:
/* 802C73A4 002C3004 2C 1F 00 00 */ cmpwi r31, 0
/* 802C73A8 002C3008 41 82 00 34 */ beq lbl_802C73DC
/* 802C73AC 002C300C 28 1B 00 12 */ cmplwi r27, 0x12
/* 802C73B0 002C3010 41 80 00 24 */ blt lbl_802C73D4
/* 802C73B4 002C3014 28 1B 10 00 */ cmplwi r27, 0x1000
/* 802C73B8 002C3018 41 81 00 1C */ bgt lbl_802C73D4
/* 802C73BC 002C301C 28 1C 00 12 */ cmplwi r28, 0x12
/* 802C73C0 002C3020 41 80 00 14 */ blt lbl_802C73D4
/* 802C73C4 002C3024 28 1C 10 00 */ cmplwi r28, 0x1000
/* 802C73C8 002C3028 41 81 00 0C */ bgt lbl_802C73D4
/* 802C73CC 002C302C 7C 1B E0 40 */ cmplw r27, r28
/* 802C73D0 002C3030 40 81 00 0C */ ble lbl_802C73DC
lbl_802C73D4:
/* 802C73D4 002C3034 38 60 00 05 */ li r3, 5
/* 802C73D8 002C3038 48 00 01 8C */ b lbl_802C7564
lbl_802C73DC:
/* 802C73DC 002C303C 2C 1F 00 00 */ cmpwi r31, 0
/* 802C73E0 002C3040 41 82 00 70 */ beq lbl_802C7450
/* 802C73E4 002C3044 38 60 00 02 */ li r3, 2
/* 802C73E8 002C3048 4B FF 28 65 */ bl GKI_getpoolbuf
/* 802C73EC 002C304C 2C 03 00 00 */ cmpwi r3, 0
/* 802C73F0 002C3050 7C 7D 1B 78 */ mr r29, r3
/* 802C73F4 002C3054 41 82 00 54 */ beq lbl_802C7448
/* 802C73F8 002C3058 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
/* 802C73FC 002C305C 41 82 00 38 */ beq lbl_802C7434
/* 802C7400 002C3060 38 61 00 0C */ addi r3, r1, 0xc
/* 802C7404 002C3064 38 82 A4 74 */ addi r4, r2, lbl_80642A74-_SDA2_BASE_
/* 802C7408 002C3068 38 A0 00 03 */ li r5, 3
/* 802C740C 002C306C 4B D3 CB F5 */ bl memcpy
/* 802C7410 002C3070 38 61 00 0F */ addi r3, r1, 0xf
/* 802C7414 002C3074 38 82 A4 70 */ addi r4, r2, lbl_80642A70-_SDA2_BASE_
/* 802C7418 002C3078 38 A0 00 03 */ li r5, 3
/* 802C741C 002C307C 4B D3 CB E5 */ bl memcpy
/* 802C7420 002C3080 7F A3 EB 78 */ mr r3, r29
/* 802C7424 002C3084 38 A1 00 0C */ addi r5, r1, 0xc
/* 802C7428 002C3088 38 80 00 02 */ li r4, 2
/* 802C742C 002C308C 48 00 A8 8D */ bl btsnd_hcic_write_cur_iac_lap
/* 802C7430 002C3090 48 00 00 10 */ b lbl_802C7440
lbl_802C7434:
/* 802C7434 002C3094 38 80 00 01 */ li r4, 1
/* 802C7438 002C3098 38 A2 A4 70 */ addi r5, r2, lbl_80642A70-_SDA2_BASE_
/* 802C743C 002C309C 48 00 A8 7D */ bl btsnd_hcic_write_cur_iac_lap
lbl_802C7440:
/* 802C7440 002C30A0 63 DE 00 01 */ ori r30, r30, 1
/* 802C7444 002C30A4 48 00 00 0C */ b lbl_802C7450
lbl_802C7448:
/* 802C7448 002C30A8 38 60 00 03 */ li r3, 3
/* 802C744C 002C30AC 48 00 01 18 */ b lbl_802C7564
lbl_802C7450:
/* 802C7450 002C30B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7454 002C30B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7458 002C30B8 A0 03 16 A0 */ lhz r0, 0x16a0(r3)
/* 802C745C 002C30BC 7C 1B 00 40 */ cmplw r27, r0
/* 802C7460 002C30C0 40 82 00 10 */ bne lbl_802C7470
/* 802C7464 002C30C4 A0 03 16 A2 */ lhz r0, 0x16a2(r3)
/* 802C7468 002C30C8 7C 1C 00 40 */ cmplw r28, r0
/* 802C746C 002C30CC 41 82 00 3C */ beq lbl_802C74A8
lbl_802C7470:
/* 802C7470 002C30D0 38 60 00 02 */ li r3, 2
/* 802C7474 002C30D4 4B FF 27 D9 */ bl GKI_getpoolbuf
/* 802C7478 002C30D8 2C 03 00 00 */ cmpwi r3, 0
/* 802C747C 002C30DC 41 82 00 24 */ beq lbl_802C74A0
/* 802C7480 002C30E0 3C C0 80 57 */ lis r6, lbl_80568B78@ha
/* 802C7484 002C30E4 7F 84 E3 78 */ mr r4, r28
/* 802C7488 002C30E8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
/* 802C748C 002C30EC 7F 65 DB 78 */ mr r5, r27
/* 802C7490 002C30F0 B3 66 16 A0 */ sth r27, 0x16a0(r6)
/* 802C7494 002C30F4 B3 86 16 A2 */ sth r28, 0x16a2(r6)
/* 802C7498 002C30F8 48 00 A5 1D */ bl btsnd_hcic_write_inqscan_cfg
/* 802C749C 002C30FC 48 00 00 0C */ b lbl_802C74A8
lbl_802C74A0:
/* 802C74A0 002C3100 38 60 00 03 */ li r3, 3
/* 802C74A4 002C3104 48 00 00 C0 */ b lbl_802C7564
lbl_802C74A8:
/* 802C74A8 002C3108 38 60 00 02 */ li r3, 2
/* 802C74AC 002C310C 4B FF 27 A1 */ bl GKI_getpoolbuf
/* 802C74B0 002C3110 2C 03 00 00 */ cmpwi r3, 0
/* 802C74B4 002C3114 41 82 00 38 */ beq lbl_802C74EC
/* 802C74B8 002C3118 3C 80 80 57 */ lis r4, lbl_80568B78@ha
/* 802C74BC 002C311C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
/* 802C74C0 002C3120 A0 04 16 9A */ lhz r0, 0x169a(r4)
/* 802C74C4 002C3124 2C 00 00 00 */ cmpwi r0, 0
/* 802C74C8 002C3128 41 82 00 0C */ beq lbl_802C74D4
/* 802C74CC 002C312C 63 C0 00 02 */ ori r0, r30, 2
/* 802C74D0 002C3130 54 1E 06 3E */ clrlwi r30, r0, 0x18
lbl_802C74D4:
/* 802C74D4 002C3134 3C A0 80 57 */ lis r5, lbl_80568B78@ha
/* 802C74D8 002C3138 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 802C74DC 002C313C 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
/* 802C74E0 002C3140 B3 E5 16 98 */ sth r31, 0x1698(r5)
/* 802C74E4 002C3144 48 00 A4 5D */ bl btsnd_hcic_write_scan_enable
/* 802C74E8 002C3148 48 00 00 0C */ b lbl_802C74F4
lbl_802C74EC:
/* 802C74EC 002C314C 38 60 00 03 */ li r3, 3
/* 802C74F0 002C3150 48 00 00 74 */ b lbl_802C7564
lbl_802C74F4:
/* 802C74F4 002C3154 4B FF F4 5D */ bl BTM_ReadDeviceClass
/* 802C74F8 002C3158 88 83 00 00 */ lbz r4, 0(r3)
/* 802C74FC 002C315C 57 E6 07 FE */ clrlwi r6, r31, 0x1f
/* 802C7500 002C3160 88 A3 00 01 */ lbz r5, 1(r3)
/* 802C7504 002C3164 54 84 44 2E */ rlwinm r4, r4, 8, 0x10, 0x17
/* 802C7508 002C3168 54 A0 06 34 */ rlwinm r0, r5, 0, 0x18, 0x1a
/* 802C750C 002C316C 7C 84 02 14 */ add r4, r4, r0
/* 802C7510 002C3170 54 80 DF FE */ rlwinm r0, r4, 0x1b, 0x1f, 0x1f
/* 802C7514 002C3174 7C C0 02 79 */ xor. r0, r6, r0
/* 802C7518 002C3178 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 802C751C 002C317C 41 82 00 44 */ beq lbl_802C7560
/* 802C7520 002C3180 88 63 00 02 */ lbz r3, 2(r3)
/* 802C7524 002C3184 2C 06 00 00 */ cmpwi r6, 0
/* 802C7528 002C3188 54 80 06 F2 */ rlwinm r0, r4, 0, 0x1b, 0x19
/* 802C752C 002C318C 54 A5 06 FE */ clrlwi r5, r5, 0x1b
/* 802C7530 002C3190 54 66 06 3A */ rlwinm r6, r3, 0, 0x18, 0x1d
/* 802C7534 002C3194 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 802C7538 002C3198 41 82 00 08 */ beq lbl_802C7540
/* 802C753C 002C319C 60 80 00 20 */ ori r0, r4, 0x20
lbl_802C7540:
/* 802C7540 002C31A0 54 03 06 34 */ rlwinm r3, r0, 0, 0x18, 0x1a
/* 802C7544 002C31A4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 802C7548 002C31A8 7C 85 1A 14 */ add r4, r5, r3
/* 802C754C 002C31AC 98 C1 00 0A */ stb r6, 0xa(r1)
/* 802C7550 002C31B0 38 61 00 08 */ addi r3, r1, 8
/* 802C7554 002C31B4 98 81 00 09 */ stb r4, 9(r1)
/* 802C7558 002C31B8 98 01 00 08 */ stb r0, 8(r1)
/* 802C755C 002C31BC 4B FF F3 75 */ bl BTM_SetDeviceClass
lbl_802C7560:
/* 802C7560 002C31C0 38 60 00 00 */ li r3, 0
lbl_802C7564:
/* 802C7564 002C31C4 39 61 00 30 */ addi r11, r1, 0x30
/* 802C7568 002C31C8 4B EF FC 0D */ bl _restgpr_27
/* 802C756C 002C31CC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802C7570 002C31D0 7C 08 03 A6 */ mtlr r0
/* 802C7574 002C31D4 38 21 00 30 */ addi r1, r1, 0x30
/* 802C7578 002C31D8 4E 80 00 20 */ blr
.global BTM_SetInquiryScanType
BTM_SetInquiryScanType:
/* 802C757C 002C31DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C7580 002C31E0 7C 08 02 A6 */ mflr r0
/* 802C7584 002C31E4 2C 03 00 00 */ cmpwi r3, 0
/* 802C7588 002C31E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C758C 002C31EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C7590 002C31F0 93 C1 00 08 */ stw r30, 8(r1)
/* 802C7594 002C31F4 7C 7E 1B 78 */ mr r30, r3
/* 802C7598 002C31F8 41 82 00 14 */ beq lbl_802C75AC
/* 802C759C 002C31FC 28 03 00 01 */ cmplwi r3, 1
/* 802C75A0 002C3200 41 82 00 0C */ beq lbl_802C75AC
/* 802C75A4 002C3204 38 60 00 05 */ li r3, 5
/* 802C75A8 002C3208 48 00 00 6C */ b lbl_802C7614
lbl_802C75AC:
/* 802C75AC 002C320C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C75B0 002C3210 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C75B4 002C3214 88 1F 06 43 */ lbz r0, 0x643(r31)
/* 802C75B8 002C3218 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802C75BC 002C321C 40 82 00 0C */ bne lbl_802C75C8
/* 802C75C0 002C3220 38 60 00 04 */ li r3, 4
/* 802C75C4 002C3224 48 00 00 50 */ b lbl_802C7614
lbl_802C75C8:
/* 802C75C8 002C3228 A0 1F 16 A4 */ lhz r0, 0x16a4(r31)
/* 802C75CC 002C322C 7C 03 00 40 */ cmplw r3, r0
/* 802C75D0 002C3230 41 82 00 40 */ beq lbl_802C7610
/* 802C75D4 002C3234 4B FF E4 FD */ bl BTM_IsDeviceUp
/* 802C75D8 002C3238 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C75DC 002C323C 41 82 00 2C */ beq lbl_802C7608
/* 802C75E0 002C3240 38 60 00 02 */ li r3, 2
/* 802C75E4 002C3244 4B FF 26 69 */ bl GKI_getpoolbuf
/* 802C75E8 002C3248 2C 03 00 00 */ cmpwi r3, 0
/* 802C75EC 002C324C 41 82 00 14 */ beq lbl_802C7600
/* 802C75F0 002C3250 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 802C75F4 002C3254 48 00 AD 8D */ bl btsnd_hcic_write_inqscan_type
/* 802C75F8 002C3258 B3 DF 16 A4 */ sth r30, 0x16a4(r31)
/* 802C75FC 002C325C 48 00 00 14 */ b lbl_802C7610
lbl_802C7600:
/* 802C7600 002C3260 38 60 00 03 */ li r3, 3
/* 802C7604 002C3264 48 00 00 10 */ b lbl_802C7614
lbl_802C7608:
/* 802C7608 002C3268 38 60 00 06 */ li r3, 6
/* 802C760C 002C326C 48 00 00 08 */ b lbl_802C7614
lbl_802C7610:
/* 802C7610 002C3270 38 60 00 00 */ li r3, 0
lbl_802C7614:
/* 802C7614 002C3274 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C7618 002C3278 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C761C 002C327C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C7620 002C3280 7C 08 03 A6 */ mtlr r0
/* 802C7624 002C3284 38 21 00 10 */ addi r1, r1, 0x10
/* 802C7628 002C3288 4E 80 00 20 */ blr
.global BTM_SetPageScanType
BTM_SetPageScanType:
/* 802C762C 002C328C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C7630 002C3290 7C 08 02 A6 */ mflr r0
/* 802C7634 002C3294 2C 03 00 00 */ cmpwi r3, 0
/* 802C7638 002C3298 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C763C 002C329C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C7640 002C32A0 93 C1 00 08 */ stw r30, 8(r1)
/* 802C7644 002C32A4 7C 7E 1B 78 */ mr r30, r3
/* 802C7648 002C32A8 41 82 00 14 */ beq lbl_802C765C
/* 802C764C 002C32AC 28 03 00 01 */ cmplwi r3, 1
/* 802C7650 002C32B0 41 82 00 0C */ beq lbl_802C765C
/* 802C7654 002C32B4 38 60 00 05 */ li r3, 5
/* 802C7658 002C32B8 48 00 00 6C */ b lbl_802C76C4
lbl_802C765C:
/* 802C765C 002C32BC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C7660 002C32C0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C7664 002C32C4 88 1F 06 43 */ lbz r0, 0x643(r31)
/* 802C7668 002C32C8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 802C766C 002C32CC 40 82 00 0C */ bne lbl_802C7678
/* 802C7670 002C32D0 38 60 00 04 */ li r3, 4
/* 802C7674 002C32D4 48 00 00 50 */ b lbl_802C76C4
lbl_802C7678:
/* 802C7678 002C32D8 A0 1F 16 A6 */ lhz r0, 0x16a6(r31)
/* 802C767C 002C32DC 7C 03 00 40 */ cmplw r3, r0
/* 802C7680 002C32E0 41 82 00 40 */ beq lbl_802C76C0
/* 802C7684 002C32E4 4B FF E4 4D */ bl BTM_IsDeviceUp
/* 802C7688 002C32E8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C768C 002C32EC 41 82 00 2C */ beq lbl_802C76B8
/* 802C7690 002C32F0 38 60 00 02 */ li r3, 2
/* 802C7694 002C32F4 4B FF 25 B9 */ bl GKI_getpoolbuf
/* 802C7698 002C32F8 2C 03 00 00 */ cmpwi r3, 0
/* 802C769C 002C32FC 41 82 00 14 */ beq lbl_802C76B0
/* 802C76A0 002C3300 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 802C76A4 002C3304 48 00 AD 3D */ bl btsnd_hcic_write_pagescan_type
/* 802C76A8 002C3308 B3 DF 16 A6 */ sth r30, 0x16a6(r31)
/* 802C76AC 002C330C 48 00 00 14 */ b lbl_802C76C0
lbl_802C76B0:
/* 802C76B0 002C3310 38 60 00 03 */ li r3, 3
/* 802C76B4 002C3314 48 00 00 10 */ b lbl_802C76C4
lbl_802C76B8:
/* 802C76B8 002C3318 38 60 00 06 */ li r3, 6
/* 802C76BC 002C331C 48 00 00 08 */ b lbl_802C76C4
lbl_802C76C0:
/* 802C76C0 002C3320 38 60 00 00 */ li r3, 0
lbl_802C76C4:
/* 802C76C4 002C3324 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C76C8 002C3328 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C76CC 002C332C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C76D0 002C3330 7C 08 03 A6 */ mtlr r0
/* 802C76D4 002C3334 38 21 00 10 */ addi r1, r1, 0x10
/* 802C76D8 002C3338 4E 80 00 20 */ blr
.global BTM_SetInquiryMode
BTM_SetInquiryMode:
/* 802C76DC 002C333C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C76E0 002C3340 7C 08 02 A6 */ mflr r0
/* 802C76E4 002C3344 2C 03 00 00 */ cmpwi r3, 0
/* 802C76E8 002C3348 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C76EC 002C334C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C76F0 002C3350 7C 7F 1B 78 */ mr r31, r3
/* 802C76F4 002C3354 41 82 00 14 */ beq lbl_802C7708
/* 802C76F8 002C3358 28 03 00 01 */ cmplwi r3, 1
/* 802C76FC 002C335C 41 82 00 0C */ beq lbl_802C7708
/* 802C7700 002C3360 38 60 00 05 */ li r3, 5
/* 802C7704 002C3364 48 00 00 5C */ b lbl_802C7760
lbl_802C7708:
/* 802C7708 002C3368 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C770C 002C336C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7710 002C3370 88 03 06 43 */ lbz r0, 0x643(r3)
/* 802C7714 002C3374 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
/* 802C7718 002C3378 40 82 00 0C */ bne lbl_802C7724
/* 802C771C 002C337C 38 60 00 04 */ li r3, 4
/* 802C7720 002C3380 48 00 00 40 */ b lbl_802C7760
lbl_802C7724:
/* 802C7724 002C3384 4B FF E3 AD */ bl BTM_IsDeviceUp
/* 802C7728 002C3388 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C772C 002C338C 40 82 00 0C */ bne lbl_802C7738
/* 802C7730 002C3390 38 60 00 06 */ li r3, 6
/* 802C7734 002C3394 48 00 00 2C */ b lbl_802C7760
lbl_802C7738:
/* 802C7738 002C3398 38 60 00 02 */ li r3, 2
/* 802C773C 002C339C 4B FF 25 11 */ bl GKI_getpoolbuf
/* 802C7740 002C33A0 2C 03 00 00 */ cmpwi r3, 0
/* 802C7744 002C33A4 41 82 00 10 */ beq lbl_802C7754
/* 802C7748 002C33A8 7F E4 FB 78 */ mr r4, r31
/* 802C774C 002C33AC 48 00 AC 65 */ bl btsnd_hcic_write_inquiry_mode
/* 802C7750 002C33B0 48 00 00 0C */ b lbl_802C775C
lbl_802C7754:
/* 802C7754 002C33B4 38 60 00 03 */ li r3, 3
/* 802C7758 002C33B8 48 00 00 08 */ b lbl_802C7760
lbl_802C775C:
/* 802C775C 002C33BC 38 60 00 00 */ li r3, 0
lbl_802C7760:
/* 802C7760 002C33C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C7764 002C33C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C7768 002C33C8 7C 08 03 A6 */ mtlr r0
/* 802C776C 002C33CC 38 21 00 10 */ addi r1, r1, 0x10
/* 802C7770 002C33D0 4E 80 00 20 */ blr
.global BTM_SetConnectability
BTM_SetConnectability:
/* 802C7774 002C33D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C7778 002C33D8 7C 08 02 A6 */ mflr r0
/* 802C777C 002C33DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C7780 002C33E0 39 61 00 20 */ addi r11, r1, 0x20
/* 802C7784 002C33E4 4B EF F9 A5 */ bl _savegpr_27
/* 802C7788 002C33E8 2C 03 00 00 */ cmpwi r3, 0
/* 802C778C 002C33EC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C7790 002C33F0 7C 7B 1B 78 */ mr r27, r3
/* 802C7794 002C33F4 7C 9C 23 78 */ mr r28, r4
/* 802C7798 002C33F8 7C BD 2B 78 */ mr r29, r5
/* 802C779C 002C33FC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C77A0 002C3400 3B C0 00 00 */ li r30, 0
/* 802C77A4 002C3404 41 82 00 14 */ beq lbl_802C77B8
/* 802C77A8 002C3408 28 03 00 01 */ cmplwi r3, 1
/* 802C77AC 002C340C 41 82 00 0C */ beq lbl_802C77B8
/* 802C77B0 002C3410 38 60 00 05 */ li r3, 5
/* 802C77B4 002C3414 48 00 01 30 */ b lbl_802C78E4
lbl_802C77B8:
/* 802C77B8 002C3418 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C77BC 002C341C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C77C0 002C3420 88 03 06 4E */ lbz r0, 0x64e(r3)
/* 802C77C4 002C3424 28 00 00 03 */ cmplwi r0, 3
/* 802C77C8 002C3428 40 80 00 0C */ bge lbl_802C77D4
/* 802C77CC 002C342C 38 60 00 0C */ li r3, 0xc
/* 802C77D0 002C3430 48 00 01 14 */ b lbl_802C78E4
lbl_802C77D4:
/* 802C77D4 002C3434 2C 04 00 00 */ cmpwi r4, 0
/* 802C77D8 002C3438 40 82 00 08 */ bne lbl_802C77E0
/* 802C77DC 002C343C 3B 80 00 12 */ li r28, 0x12
lbl_802C77E0:
/* 802C77E0 002C3440 2C 05 00 00 */ cmpwi r5, 0
/* 802C77E4 002C3444 40 82 00 08 */ bne lbl_802C77EC
/* 802C77E8 002C3448 3B A0 08 00 */ li r29, 0x800
lbl_802C77EC:
/* 802C77EC 002C344C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C77F0 002C3450 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C77F4 002C3454 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 802C77F8 002C3458 28 00 00 03 */ cmplwi r0, 3
/* 802C77FC 002C345C 41 80 00 24 */ blt lbl_802C7820
/* 802C7800 002C3460 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7804 002C3464 3C 80 80 44 */ lis r4, lbl_8044139C@ha
/* 802C7808 002C3468 7F 65 DB 78 */ mr r5, r27
/* 802C780C 002C346C 7F 86 E3 78 */ mr r6, r28
/* 802C7810 002C3470 7F A7 EB 78 */ mr r7, r29
/* 802C7814 002C3474 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C7818 002C3478 38 84 13 9C */ addi r4, r4, lbl_8044139C@l
/* 802C781C 002C347C 4B FF 57 3D */ bl LogMsg_3
lbl_802C7820:
/* 802C7820 002C3480 28 1B 00 01 */ cmplwi r27, 1
/* 802C7824 002C3484 40 82 00 38 */ bne lbl_802C785C
/* 802C7828 002C3488 28 1C 00 12 */ cmplwi r28, 0x12
/* 802C782C 002C348C 41 80 00 24 */ blt lbl_802C7850
/* 802C7830 002C3490 28 1C 10 00 */ cmplwi r28, 0x1000
/* 802C7834 002C3494 41 81 00 1C */ bgt lbl_802C7850
/* 802C7838 002C3498 28 1D 00 12 */ cmplwi r29, 0x12
/* 802C783C 002C349C 41 80 00 14 */ blt lbl_802C7850
/* 802C7840 002C34A0 28 1D 10 00 */ cmplwi r29, 0x1000
/* 802C7844 002C34A4 41 81 00 0C */ bgt lbl_802C7850
/* 802C7848 002C34A8 7C 1C E8 40 */ cmplw r28, r29
/* 802C784C 002C34AC 40 81 00 0C */ ble lbl_802C7858
lbl_802C7850:
/* 802C7850 002C34B0 38 60 00 05 */ li r3, 5
/* 802C7854 002C34B4 48 00 00 90 */ b lbl_802C78E4
lbl_802C7858:
/* 802C7858 002C34B8 63 DE 00 02 */ ori r30, r30, 2
lbl_802C785C:
/* 802C785C 002C34BC A0 1F 16 9C */ lhz r0, 0x169c(r31)
/* 802C7860 002C34C0 7C 1C 00 40 */ cmplw r28, r0
/* 802C7864 002C34C4 40 82 00 10 */ bne lbl_802C7874
/* 802C7868 002C34C8 A0 1F 16 9E */ lhz r0, 0x169e(r31)
/* 802C786C 002C34CC 7C 1D 00 40 */ cmplw r29, r0
/* 802C7870 002C34D0 41 82 00 34 */ beq lbl_802C78A4
lbl_802C7874:
/* 802C7874 002C34D4 38 60 00 02 */ li r3, 2
/* 802C7878 002C34D8 4B FF 23 D5 */ bl GKI_getpoolbuf
/* 802C787C 002C34DC 2C 03 00 00 */ cmpwi r3, 0
/* 802C7880 002C34E0 41 82 00 1C */ beq lbl_802C789C
/* 802C7884 002C34E4 B3 9F 16 9C */ sth r28, 0x169c(r31)
/* 802C7888 002C34E8 7F A4 EB 78 */ mr r4, r29
/* 802C788C 002C34EC 7F 85 E3 78 */ mr r5, r28
/* 802C7890 002C34F0 B3 BF 16 9E */ sth r29, 0x169e(r31)
/* 802C7894 002C34F4 48 00 A0 DD */ bl btsnd_hcic_write_pagescan_cfg
/* 802C7898 002C34F8 48 00 00 0C */ b lbl_802C78A4
lbl_802C789C:
/* 802C789C 002C34FC 38 60 00 03 */ li r3, 3
/* 802C78A0 002C3500 48 00 00 44 */ b lbl_802C78E4
lbl_802C78A4:
/* 802C78A4 002C3504 38 60 00 02 */ li r3, 2
/* 802C78A8 002C3508 4B FF 23 A5 */ bl GKI_getpoolbuf
/* 802C78AC 002C350C 2C 03 00 00 */ cmpwi r3, 0
/* 802C78B0 002C3510 41 82 00 28 */ beq lbl_802C78D8
/* 802C78B4 002C3514 A0 1F 16 98 */ lhz r0, 0x1698(r31)
/* 802C78B8 002C3518 2C 00 00 00 */ cmpwi r0, 0
/* 802C78BC 002C351C 41 82 00 0C */ beq lbl_802C78C8
/* 802C78C0 002C3520 63 C0 00 01 */ ori r0, r30, 1
/* 802C78C4 002C3524 54 1E 06 3E */ clrlwi r30, r0, 0x18
lbl_802C78C8:
/* 802C78C8 002C3528 B3 7F 16 9A */ sth r27, 0x169a(r31)
/* 802C78CC 002C352C 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 802C78D0 002C3530 48 00 A0 71 */ bl btsnd_hcic_write_scan_enable
/* 802C78D4 002C3534 48 00 00 0C */ b lbl_802C78E0
lbl_802C78D8:
/* 802C78D8 002C3538 38 60 00 03 */ li r3, 3
/* 802C78DC 002C353C 48 00 00 08 */ b lbl_802C78E4
lbl_802C78E0:
/* 802C78E0 002C3540 38 60 00 00 */ li r3, 0
lbl_802C78E4:
/* 802C78E4 002C3544 39 61 00 20 */ addi r11, r1, 0x20
/* 802C78E8 002C3548 4B EF F8 8D */ bl _restgpr_27
/* 802C78EC 002C354C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C78F0 002C3550 7C 08 03 A6 */ mtlr r0
/* 802C78F4 002C3554 38 21 00 20 */ addi r1, r1, 0x20
/* 802C78F8 002C3558 4E 80 00 20 */ blr
.global BTM_IsInquiryActive
BTM_IsInquiryActive:
/* 802C78FC 002C355C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7900 002C3560 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7904 002C3564 88 63 18 48 */ lbz r3, 0x1848(r3)
/* 802C7908 002C3568 4E 80 00 20 */ blr
.global BTM_CancelInquiry
BTM_CancelInquiry:
/* 802C790C 002C356C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C7910 002C3570 7C 08 02 A6 */ mflr r0
/* 802C7914 002C3574 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C7918 002C3578 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C791C 002C357C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C7920 002C3580 3F C0 80 57 */ lis r30, lbl_80568B78@ha
/* 802C7924 002C3584 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
/* 802C7928 002C3588 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C792C 002C358C 3B A0 00 00 */ li r29, 0
/* 802C7930 002C3590 88 1E 27 C0 */ lbz r0, 0x27c0(r30)
/* 802C7934 002C3594 28 00 00 03 */ cmplwi r0, 3
/* 802C7938 002C3598 41 80 00 18 */ blt lbl_802C7950
/* 802C793C 002C359C 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7940 002C35A0 3C 80 80 44 */ lis r4, lbl_804413F0@ha
/* 802C7944 002C35A4 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C7948 002C35A8 38 84 13 F0 */ addi r4, r4, lbl_804413F0@l
/* 802C794C 002C35AC 4B FF 55 C5 */ bl LogMsg_0
lbl_802C7950:
/* 802C7950 002C35B0 4B FF E1 81 */ bl BTM_IsDeviceUp
/* 802C7954 002C35B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C7958 002C35B8 40 82 00 0C */ bne lbl_802C7964
/* 802C795C 002C35BC 38 60 00 06 */ li r3, 6
/* 802C7960 002C35C0 48 00 00 98 */ b lbl_802C79F8
lbl_802C7964:
/* 802C7964 002C35C4 88 1E 18 48 */ lbz r0, 0x1848(r30)
/* 802C7968 002C35C8 2C 00 00 00 */ cmpwi r0, 0
/* 802C796C 002C35CC 41 82 00 88 */ beq lbl_802C79F4
/* 802C7970 002C35D0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802C7974 002C35D4 40 82 00 80 */ bne lbl_802C79F4
/* 802C7978 002C35D8 88 1E 18 44 */ lbz r0, 0x1844(r30)
/* 802C797C 002C35DC 38 80 00 00 */ li r4, 0
/* 802C7980 002C35E0 98 9E 18 48 */ stb r4, 0x1848(r30)
/* 802C7984 002C35E4 2C 00 00 00 */ cmpwi r0, 0
/* 802C7988 002C35E8 98 9E 18 47 */ stb r4, 0x1847(r30)
/* 802C798C 002C35EC 90 9E 16 B4 */ stw r4, 0x16b4(r30)
/* 802C7990 002C35F0 90 9E 16 B0 */ stw r4, 0x16b0(r30)
/* 802C7994 002C35F4 41 82 00 18 */ beq lbl_802C79AC
/* 802C7998 002C35F8 88 7E 18 45 */ lbz r3, 0x1845(r30)
/* 802C799C 002C35FC 98 9E 18 44 */ stb r4, 0x1844(r30)
/* 802C79A0 002C3600 38 03 00 01 */ addi r0, r3, 1
/* 802C79A4 002C3604 98 1E 18 45 */ stb r0, 0x1845(r30)
/* 802C79A8 002C3608 48 00 00 14 */ b lbl_802C79BC
lbl_802C79AC:
/* 802C79AC 002C360C 48 00 84 E5 */ bl btsnd_hcic_inq_cancel
/* 802C79B0 002C3610 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C79B4 002C3614 40 82 00 08 */ bne lbl_802C79BC
/* 802C79B8 002C3618 3B A0 00 03 */ li r29, 3
lbl_802C79BC:
/* 802C79BC 002C361C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C79C0 002C3620 80 9E 16 C0 */ lwz r4, 0x16c0(r30)
/* 802C79C4 002C3624 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C79C8 002C3628 80 7F 16 DC */ lwz r3, 0x16dc(r31)
/* 802C79CC 002C362C 38 04 00 01 */ addi r0, r4, 1
/* 802C79D0 002C3630 90 1E 16 C0 */ stw r0, 0x16c0(r30)
/* 802C79D4 002C3634 2C 03 00 00 */ cmpwi r3, 0
/* 802C79D8 002C3638 41 82 00 10 */ beq lbl_802C79E8
/* 802C79DC 002C363C 4B FF 23 59 */ bl GKI_freebuf
/* 802C79E0 002C3640 38 00 00 00 */ li r0, 0
/* 802C79E4 002C3644 90 1F 16 DC */ stw r0, 0x16dc(r31)
lbl_802C79E8:
/* 802C79E8 002C3648 38 00 00 00 */ li r0, 0
/* 802C79EC 002C364C B0 1F 16 E0 */ sth r0, 0x16e0(r31)
/* 802C79F0 002C3650 B0 1F 16 E2 */ sth r0, 0x16e2(r31)
lbl_802C79F4:
/* 802C79F4 002C3654 7F A3 EB 78 */ mr r3, r29
lbl_802C79F8:
/* 802C79F8 002C3658 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C79FC 002C365C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C7A00 002C3660 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C7A04 002C3664 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C7A08 002C3668 7C 08 03 A6 */ mtlr r0
/* 802C7A0C 002C366C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C7A10 002C3670 4E 80 00 20 */ blr
.global BTM_StartInquiry
BTM_StartInquiry:
/* 802C7A14 002C3674 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C7A18 002C3678 7C 08 02 A6 */ mflr r0
/* 802C7A1C 002C367C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C7A20 002C3680 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C7A24 002C3684 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C7A28 002C3688 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C7A2C 002C368C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C7A30 002C3690 7C BE 2B 78 */ mr r30, r5
/* 802C7A34 002C3694 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C7A38 002C3698 7C 9D 23 78 */ mr r29, r4
/* 802C7A3C 002C369C 93 81 00 10 */ stw r28, 0x10(r1)
/* 802C7A40 002C36A0 7C 7C 1B 78 */ mr r28, r3
/* 802C7A44 002C36A4 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 802C7A48 002C36A8 28 00 00 03 */ cmplwi r0, 3
/* 802C7A4C 002C36AC 41 80 00 28 */ blt lbl_802C7A74
/* 802C7A50 002C36B0 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7A54 002C36B4 3C 80 80 44 */ lis r4, lbl_8044140C@ha
/* 802C7A58 002C36B8 88 BC 00 00 */ lbz r5, 0(r28)
/* 802C7A5C 002C36BC 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C7A60 002C36C0 88 DC 00 01 */ lbz r6, 1(r28)
/* 802C7A64 002C36C4 38 84 14 0C */ addi r4, r4, lbl_8044140C@l
/* 802C7A68 002C36C8 88 FC 00 02 */ lbz r7, 2(r28)
/* 802C7A6C 002C36CC 89 1C 00 03 */ lbz r8, 3(r28)
/* 802C7A70 002C36D0 4B FF 55 01 */ bl LogMsg_4
lbl_802C7A74:
/* 802C7A74 002C36D4 88 1F 18 48 */ lbz r0, 0x1848(r31)
/* 802C7A78 002C36D8 2C 00 00 00 */ cmpwi r0, 0
/* 802C7A7C 002C36DC 40 82 00 10 */ bne lbl_802C7A8C
/* 802C7A80 002C36E0 88 1F 18 44 */ lbz r0, 0x1844(r31)
/* 802C7A84 002C36E4 2C 00 00 00 */ cmpwi r0, 0
/* 802C7A88 002C36E8 41 82 00 0C */ beq lbl_802C7A94
lbl_802C7A8C:
/* 802C7A8C 002C36EC 38 60 00 02 */ li r3, 2
/* 802C7A90 002C36F0 48 00 01 18 */ b lbl_802C7BA8
lbl_802C7A94:
/* 802C7A94 002C36F4 88 1C 00 00 */ lbz r0, 0(r28)
/* 802C7A98 002C36F8 2C 00 00 00 */ cmpwi r0, 0
/* 802C7A9C 002C36FC 41 82 00 14 */ beq lbl_802C7AB0
/* 802C7AA0 002C3700 28 00 00 01 */ cmplwi r0, 1
/* 802C7AA4 002C3704 41 82 00 0C */ beq lbl_802C7AB0
/* 802C7AA8 002C3708 38 60 00 05 */ li r3, 5
/* 802C7AAC 002C370C 48 00 00 FC */ b lbl_802C7BA8
lbl_802C7AB0:
/* 802C7AB0 002C3710 4B FF E0 21 */ bl BTM_IsDeviceUp
/* 802C7AB4 002C3714 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C7AB8 002C3718 40 82 00 0C */ bne lbl_802C7AC4
/* 802C7ABC 002C371C 38 60 00 06 */ li r3, 6
/* 802C7AC0 002C3720 48 00 00 E8 */ b lbl_802C7BA8
lbl_802C7AC4:
/* 802C7AC4 002C3724 88 BC 00 00 */ lbz r5, 0(r28)
/* 802C7AC8 002C3728 38 00 00 03 */ li r0, 3
/* 802C7ACC 002C372C 88 7C 00 01 */ lbz r3, 1(r28)
/* 802C7AD0 002C3730 38 C0 00 00 */ li r6, 0
/* 802C7AD4 002C3734 38 80 00 01 */ li r4, 1
/* 802C7AD8 002C3738 98 BF 18 34 */ stb r5, 0x1834(r31)
/* 802C7ADC 002C373C 98 7F 18 35 */ stb r3, 0x1835(r31)
/* 802C7AE0 002C3740 88 BC 00 02 */ lbz r5, 2(r28)
/* 802C7AE4 002C3744 88 7C 00 03 */ lbz r3, 3(r28)
/* 802C7AE8 002C3748 98 BF 18 36 */ stb r5, 0x1836(r31)
/* 802C7AEC 002C374C 98 7F 18 37 */ stb r3, 0x1837(r31)
/* 802C7AF0 002C3750 88 BC 00 04 */ lbz r5, 4(r28)
/* 802C7AF4 002C3754 88 7C 00 05 */ lbz r3, 5(r28)
/* 802C7AF8 002C3758 98 BF 18 38 */ stb r5, 0x1838(r31)
/* 802C7AFC 002C375C 98 7F 18 39 */ stb r3, 0x1839(r31)
/* 802C7B00 002C3760 88 BC 00 06 */ lbz r5, 6(r28)
/* 802C7B04 002C3764 88 7C 00 07 */ lbz r3, 7(r28)
/* 802C7B08 002C3768 98 BF 18 3A */ stb r5, 0x183a(r31)
/* 802C7B0C 002C376C 98 7F 18 3B */ stb r3, 0x183b(r31)
/* 802C7B10 002C3770 88 7C 00 08 */ lbz r3, 8(r28)
/* 802C7B14 002C3774 98 7F 18 3C */ stb r3, 0x183c(r31)
/* 802C7B18 002C3778 88 7C 00 09 */ lbz r3, 9(r28)
/* 802C7B1C 002C377C 98 7F 18 3D */ stb r3, 0x183d(r31)
/* 802C7B20 002C3780 98 1F 18 47 */ stb r0, 0x1847(r31)
/* 802C7B24 002C3784 93 DF 16 B0 */ stw r30, 0x16b0(r31)
/* 802C7B28 002C3788 93 BF 16 B4 */ stw r29, 0x16b4(r31)
/* 802C7B2C 002C378C 98 DF 18 3F */ stb r6, 0x183f(r31)
/* 802C7B30 002C3790 88 BC 00 00 */ lbz r5, 0(r28)
/* 802C7B34 002C3794 38 65 FF FF */ addi r3, r5, -1
/* 802C7B38 002C3798 20 05 00 01 */ subfic r0, r5, 1
/* 802C7B3C 002C379C 7C 60 00 F8 */ nor r0, r3, r0
/* 802C7B40 002C37A0 7C 03 FE 70 */ srawi r3, r0, 0x1f
/* 802C7B44 002C37A4 38 03 00 02 */ addi r0, r3, 2
/* 802C7B48 002C37A8 98 1F 18 48 */ stb r0, 0x1848(r31)
/* 802C7B4C 002C37AC 88 1C 00 03 */ lbz r0, 3(r28)
/* 802C7B50 002C37B0 2C 00 00 00 */ cmpwi r0, 0
/* 802C7B54 002C37B4 41 82 00 14 */ beq lbl_802C7B68
/* 802C7B58 002C37B8 41 80 00 28 */ blt lbl_802C7B80
/* 802C7B5C 002C37BC 2C 00 00 03 */ cmpwi r0, 3
/* 802C7B60 002C37C0 40 80 00 20 */ bge lbl_802C7B80
/* 802C7B64 002C37C4 48 00 00 10 */ b lbl_802C7B74
lbl_802C7B68:
/* 802C7B68 002C37C8 38 00 00 02 */ li r0, 2
/* 802C7B6C 002C37CC 98 1F 18 47 */ stb r0, 0x1847(r31)
/* 802C7B70 002C37D0 48 00 00 18 */ b lbl_802C7B88
lbl_802C7B74:
/* 802C7B74 002C37D4 98 9F 18 47 */ stb r4, 0x1847(r31)
/* 802C7B78 002C37D8 98 DC 00 03 */ stb r6, 3(r28)
/* 802C7B7C 002C37DC 48 00 00 0C */ b lbl_802C7B88
lbl_802C7B80:
/* 802C7B80 002C37E0 38 60 00 05 */ li r3, 5
/* 802C7B84 002C37E4 48 00 00 24 */ b lbl_802C7BA8
lbl_802C7B88:
/* 802C7B88 002C37E8 88 7C 00 03 */ lbz r3, 3(r28)
/* 802C7B8C 002C37EC 38 9C 00 04 */ addi r4, r28, 4
/* 802C7B90 002C37F0 48 00 08 99 */ bl btm_set_inq_event_filter
/* 802C7B94 002C37F4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802C7B98 002C37F8 28 00 00 01 */ cmplwi r0, 1
/* 802C7B9C 002C37FC 41 82 00 0C */ beq lbl_802C7BA8
/* 802C7BA0 002C3800 38 00 00 00 */ li r0, 0
/* 802C7BA4 002C3804 98 1F 18 47 */ stb r0, 0x1847(r31)
lbl_802C7BA8:
/* 802C7BA8 002C3808 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C7BAC 002C380C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C7BB0 002C3810 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C7BB4 002C3814 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C7BB8 002C3818 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802C7BBC 002C381C 7C 08 03 A6 */ mtlr r0
/* 802C7BC0 002C3820 38 21 00 20 */ addi r1, r1, 0x20
/* 802C7BC4 002C3824 4E 80 00 20 */ blr
.global BTM_ReadRemoteDeviceName
BTM_ReadRemoteDeviceName:
/* 802C7BC8 002C3828 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C7BCC 002C382C 7C 08 02 A6 */ mflr r0
/* 802C7BD0 002C3830 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C7BD4 002C3834 39 61 00 20 */ addi r11, r1, 0x20
/* 802C7BD8 002C3838 4B EF F5 51 */ bl _savegpr_27
/* 802C7BDC 002C383C 3C A0 80 57 */ lis r5, lbl_80568B78@ha
/* 802C7BE0 002C3840 7C 7B 1B 78 */ mr r27, r3
/* 802C7BE4 002C3844 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
/* 802C7BE8 002C3848 7C 9C 23 78 */ mr r28, r4
/* 802C7BEC 002C384C 88 05 27 C0 */ lbz r0, 0x27c0(r5)
/* 802C7BF0 002C3850 3B A0 00 00 */ li r29, 0
/* 802C7BF4 002C3854 28 00 00 03 */ cmplwi r0, 3
/* 802C7BF8 002C3858 41 80 00 30 */ blt lbl_802C7C28
/* 802C7BFC 002C385C 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7C00 002C3860 3C 80 80 44 */ lis r4, lbl_80441444@ha
/* 802C7C04 002C3864 88 BB 00 00 */ lbz r5, 0(r27)
/* 802C7C08 002C3868 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C7C0C 002C386C 88 DB 00 01 */ lbz r6, 1(r27)
/* 802C7C10 002C3870 38 84 14 44 */ addi r4, r4, lbl_80441444@l
/* 802C7C14 002C3874 88 FB 00 02 */ lbz r7, 2(r27)
/* 802C7C18 002C3878 89 1B 00 03 */ lbz r8, 3(r27)
/* 802C7C1C 002C387C 89 3B 00 04 */ lbz r9, 4(r27)
/* 802C7C20 002C3880 89 5B 00 05 */ lbz r10, 5(r27)
/* 802C7C24 002C3884 4B FF 53 7D */ bl LogMsg_6
lbl_802C7C28:
/* 802C7C28 002C3888 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7C2C 002C388C 3B C0 00 00 */ li r30, 0
/* 802C7C30 002C3890 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7C34 002C3894 3B E3 16 E4 */ addi r31, r3, 0x16e4
lbl_802C7C38:
/* 802C7C38 002C3898 88 1F 00 1A */ lbz r0, 0x1a(r31)
/* 802C7C3C 002C389C 2C 00 00 00 */ cmpwi r0, 0
/* 802C7C40 002C38A0 41 82 00 20 */ beq lbl_802C7C60
/* 802C7C44 002C38A4 7F 64 DB 78 */ mr r4, r27
/* 802C7C48 002C38A8 38 7F 00 0A */ addi r3, r31, 0xa
/* 802C7C4C 002C38AC 38 A0 00 06 */ li r5, 6
/* 802C7C50 002C38B0 4B F0 27 49 */ bl memcmp
/* 802C7C54 002C38B4 2C 03 00 00 */ cmpwi r3, 0
/* 802C7C58 002C38B8 40 82 00 08 */ bne lbl_802C7C60
/* 802C7C5C 002C38BC 48 00 00 18 */ b lbl_802C7C74
lbl_802C7C60:
/* 802C7C60 002C38C0 3B DE 00 01 */ addi r30, r30, 1
/* 802C7C64 002C38C4 3B FF 00 1C */ addi r31, r31, 0x1c
/* 802C7C68 002C38C8 28 1E 00 0C */ cmplwi r30, 0xc
/* 802C7C6C 002C38CC 41 80 FF CC */ blt lbl_802C7C38
/* 802C7C70 002C38D0 3B E0 00 00 */ li r31, 0
lbl_802C7C74:
/* 802C7C74 002C38D4 2C 1F 00 00 */ cmpwi r31, 0
/* 802C7C78 002C38D8 41 82 00 08 */ beq lbl_802C7C80
/* 802C7C7C 002C38DC 3B BF 00 08 */ addi r29, r31, 8
lbl_802C7C80:
/* 802C7C80 002C38E0 7F 63 DB 78 */ mr r3, r27
/* 802C7C84 002C38E4 7F A4 EB 78 */ mr r4, r29
/* 802C7C88 002C38E8 7F 87 E3 78 */ mr r7, r28
/* 802C7C8C 002C38EC 38 A0 00 01 */ li r5, 1
/* 802C7C90 002C38F0 38 C0 00 28 */ li r6, 0x28
/* 802C7C94 002C38F4 48 00 0E 15 */ bl btm_initiate_rem_name
/* 802C7C98 002C38F8 39 61 00 20 */ addi r11, r1, 0x20
/* 802C7C9C 002C38FC 4B EF F4 D9 */ bl _restgpr_27
/* 802C7CA0 002C3900 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C7CA4 002C3904 7C 08 03 A6 */ mtlr r0
/* 802C7CA8 002C3908 38 21 00 20 */ addi r1, r1, 0x20
/* 802C7CAC 002C390C 4E 80 00 20 */ blr
.global BTM_CancelRemoteDeviceName
BTM_CancelRemoteDeviceName:
/* 802C7CB0 002C3910 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C7CB4 002C3914 7C 08 02 A6 */ mflr r0
/* 802C7CB8 002C3918 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C7CBC 002C391C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C7CC0 002C3920 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C7CC4 002C3924 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C7CC8 002C3928 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 802C7CCC 002C392C 28 00 00 03 */ cmplwi r0, 3
/* 802C7CD0 002C3930 41 80 00 18 */ blt lbl_802C7CE8
/* 802C7CD4 002C3934 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7CD8 002C3938 3C 80 80 44 */ lis r4, lbl_80441484@ha
/* 802C7CDC 002C393C 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C7CE0 002C3940 38 84 14 84 */ addi r4, r4, lbl_80441484@l
/* 802C7CE4 002C3944 4B FF 52 2D */ bl LogMsg_0
lbl_802C7CE8:
/* 802C7CE8 002C3948 88 1F 16 AE */ lbz r0, 0x16ae(r31)
/* 802C7CEC 002C394C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802C7CF0 002C3950 41 82 00 20 */ beq lbl_802C7D10
/* 802C7CF4 002C3954 38 7F 16 A8 */ addi r3, r31, 0x16a8
/* 802C7CF8 002C3958 48 00 8C 9D */ bl btsnd_hcic_rmt_name_req_cancel
/* 802C7CFC 002C395C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C7D00 002C3960 38 60 00 03 */ li r3, 3
/* 802C7D04 002C3964 41 82 00 10 */ beq lbl_802C7D14
/* 802C7D08 002C3968 38 60 00 01 */ li r3, 1
/* 802C7D0C 002C396C 48 00 00 08 */ b lbl_802C7D14
lbl_802C7D10:
/* 802C7D10 002C3970 38 60 00 06 */ li r3, 6
lbl_802C7D14:
/* 802C7D14 002C3974 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C7D18 002C3978 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C7D1C 002C397C 7C 08 03 A6 */ mtlr r0
/* 802C7D20 002C3980 38 21 00 10 */ addi r1, r1, 0x10
/* 802C7D24 002C3984 4E 80 00 20 */ blr
.global BTM_InqDbRead
BTM_InqDbRead:
/* 802C7D28 002C3988 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C7D2C 002C398C 7C 08 02 A6 */ mflr r0
/* 802C7D30 002C3990 3C 80 80 57 */ lis r4, lbl_80568B78@ha
/* 802C7D34 002C3994 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C7D38 002C3998 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
/* 802C7D3C 002C399C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C7D40 002C39A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C7D44 002C39A4 3B C4 16 E4 */ addi r30, r4, 0x16e4
/* 802C7D48 002C39A8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C7D4C 002C39AC 7C 7D 1B 78 */ mr r29, r3
/* 802C7D50 002C39B0 88 04 27 C0 */ lbz r0, 0x27c0(r4)
/* 802C7D54 002C39B4 28 00 00 03 */ cmplwi r0, 3
/* 802C7D58 002C39B8 41 80 00 30 */ blt lbl_802C7D88
/* 802C7D5C 002C39BC 3C 60 00 0D */ lis r3, 0x000D0002@ha
/* 802C7D60 002C39C0 3C 80 80 44 */ lis r4, lbl_804414A4@ha
/* 802C7D64 002C39C4 88 BD 00 00 */ lbz r5, 0(r29)
/* 802C7D68 002C39C8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
/* 802C7D6C 002C39CC 88 DD 00 01 */ lbz r6, 1(r29)
/* 802C7D70 002C39D0 38 84 14 A4 */ addi r4, r4, lbl_804414A4@l
/* 802C7D74 002C39D4 88 FD 00 02 */ lbz r7, 2(r29)
/* 802C7D78 002C39D8 89 1D 00 03 */ lbz r8, 3(r29)
/* 802C7D7C 002C39DC 89 3D 00 04 */ lbz r9, 4(r29)
/* 802C7D80 002C39E0 89 5D 00 05 */ lbz r10, 5(r29)
/* 802C7D84 002C39E4 4B FF 52 1D */ bl LogMsg_6
lbl_802C7D88:
/* 802C7D88 002C39E8 3B E0 00 00 */ li r31, 0
lbl_802C7D8C:
/* 802C7D8C 002C39EC 88 1E 00 1A */ lbz r0, 0x1a(r30)
/* 802C7D90 002C39F0 2C 00 00 00 */ cmpwi r0, 0
/* 802C7D94 002C39F4 41 82 00 24 */ beq lbl_802C7DB8
/* 802C7D98 002C39F8 7F A4 EB 78 */ mr r4, r29
/* 802C7D9C 002C39FC 38 7E 00 0A */ addi r3, r30, 0xa
/* 802C7DA0 002C3A00 38 A0 00 06 */ li r5, 6
/* 802C7DA4 002C3A04 4B F0 25 F5 */ bl memcmp
/* 802C7DA8 002C3A08 2C 03 00 00 */ cmpwi r3, 0
/* 802C7DAC 002C3A0C 40 82 00 0C */ bne lbl_802C7DB8
/* 802C7DB0 002C3A10 38 7E 00 08 */ addi r3, r30, 8
/* 802C7DB4 002C3A14 48 00 00 18 */ b lbl_802C7DCC
lbl_802C7DB8:
/* 802C7DB8 002C3A18 3B FF 00 01 */ addi r31, r31, 1
/* 802C7DBC 002C3A1C 3B DE 00 1C */ addi r30, r30, 0x1c
/* 802C7DC0 002C3A20 28 1F 00 0C */ cmplwi r31, 0xc
/* 802C7DC4 002C3A24 41 80 FF C8 */ blt lbl_802C7D8C
/* 802C7DC8 002C3A28 38 60 00 00 */ li r3, 0
lbl_802C7DCC:
/* 802C7DCC 002C3A2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C7DD0 002C3A30 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C7DD4 002C3A34 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C7DD8 002C3A38 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C7DDC 002C3A3C 7C 08 03 A6 */ mtlr r0
/* 802C7DE0 002C3A40 38 21 00 20 */ addi r1, r1, 0x20
/* 802C7DE4 002C3A44 4E 80 00 20 */ blr
.global BTM_InqDbFirst
BTM_InqDbFirst:
/* 802C7DE8 002C3A48 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7DEC 002C3A4C 38 00 00 02 */ li r0, 2
/* 802C7DF0 002C3A50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7DF4 002C3A54 38 80 00 00 */ li r4, 0
/* 802C7DF8 002C3A58 38 63 16 E4 */ addi r3, r3, 0x16e4
/* 802C7DFC 002C3A5C 7C 09 03 A6 */ mtctr r0
lbl_802C7E00:
/* 802C7E00 002C3A60 88 03 00 1A */ lbz r0, 0x1a(r3)
/* 802C7E04 002C3A64 2C 00 00 00 */ cmpwi r0, 0
/* 802C7E08 002C3A68 41 82 00 0C */ beq lbl_802C7E14
/* 802C7E0C 002C3A6C 38 63 00 08 */ addi r3, r3, 8
/* 802C7E10 002C3A70 4E 80 00 20 */ blr
lbl_802C7E14:
/* 802C7E14 002C3A74 88 03 00 36 */ lbz r0, 0x36(r3)
/* 802C7E18 002C3A78 38 84 00 01 */ addi r4, r4, 1
/* 802C7E1C 002C3A7C 2C 00 00 00 */ cmpwi r0, 0
/* 802C7E20 002C3A80 41 82 00 0C */ beq lbl_802C7E2C
/* 802C7E24 002C3A84 38 63 00 24 */ addi r3, r3, 0x24
/* 802C7E28 002C3A88 4E 80 00 20 */ blr
lbl_802C7E2C:
/* 802C7E2C 002C3A8C 88 03 00 52 */ lbz r0, 0x52(r3)
/* 802C7E30 002C3A90 38 84 00 01 */ addi r4, r4, 1
/* 802C7E34 002C3A94 2C 00 00 00 */ cmpwi r0, 0
/* 802C7E38 002C3A98 41 82 00 0C */ beq lbl_802C7E44
/* 802C7E3C 002C3A9C 38 63 00 40 */ addi r3, r3, 0x40
/* 802C7E40 002C3AA0 4E 80 00 20 */ blr
lbl_802C7E44:
/* 802C7E44 002C3AA4 88 03 00 6E */ lbz r0, 0x6e(r3)
/* 802C7E48 002C3AA8 38 84 00 01 */ addi r4, r4, 1
/* 802C7E4C 002C3AAC 2C 00 00 00 */ cmpwi r0, 0
/* 802C7E50 002C3AB0 41 82 00 0C */ beq lbl_802C7E5C
/* 802C7E54 002C3AB4 38 63 00 5C */ addi r3, r3, 0x5c
/* 802C7E58 002C3AB8 4E 80 00 20 */ blr
lbl_802C7E5C:
/* 802C7E5C 002C3ABC 88 03 00 8A */ lbz r0, 0x8a(r3)
/* 802C7E60 002C3AC0 38 84 00 01 */ addi r4, r4, 1
/* 802C7E64 002C3AC4 2C 00 00 00 */ cmpwi r0, 0
/* 802C7E68 002C3AC8 41 82 00 0C */ beq lbl_802C7E74
/* 802C7E6C 002C3ACC 38 63 00 78 */ addi r3, r3, 0x78
/* 802C7E70 002C3AD0 4E 80 00 20 */ blr
lbl_802C7E74:
/* 802C7E74 002C3AD4 88 03 00 A6 */ lbz r0, 0xa6(r3)
/* 802C7E78 002C3AD8 38 84 00 01 */ addi r4, r4, 1
/* 802C7E7C 002C3ADC 2C 00 00 00 */ cmpwi r0, 0
/* 802C7E80 002C3AE0 41 82 00 0C */ beq lbl_802C7E8C
/* 802C7E84 002C3AE4 38 63 00 94 */ addi r3, r3, 0x94
/* 802C7E88 002C3AE8 4E 80 00 20 */ blr
lbl_802C7E8C:
/* 802C7E8C 002C3AEC 38 84 00 01 */ addi r4, r4, 1
/* 802C7E90 002C3AF0 38 63 00 A8 */ addi r3, r3, 0xa8
/* 802C7E94 002C3AF4 42 00 FF 6C */ bdnz lbl_802C7E00
/* 802C7E98 002C3AF8 38 60 00 00 */ li r3, 0
/* 802C7E9C 002C3AFC 4E 80 00 20 */ blr
.global BTM_InqDbNext
BTM_InqDbNext:
/* 802C7EA0 002C3B00 2C 03 00 00 */ cmpwi r3, 0
/* 802C7EA4 002C3B04 41 82 00 80 */ beq lbl_802C7F24
/* 802C7EA8 002C3B08 3C A0 80 57 */ lis r5, lbl_80568B78@ha
/* 802C7EAC 002C3B0C 3C 80 92 49 */ lis r4, 0x92492493@ha
/* 802C7EB0 002C3B10 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
/* 802C7EB4 002C3B14 38 03 FF F8 */ addi r0, r3, -8
/* 802C7EB8 002C3B18 38 65 16 E4 */ addi r3, r5, 0x16e4
/* 802C7EBC 002C3B1C 38 84 24 93 */ addi r4, r4, 0x92492493@l
/* 802C7EC0 002C3B20 7C 03 00 50 */ subf r0, r3, r0
/* 802C7EC4 002C3B24 7C 64 00 96 */ mulhw r3, r4, r0
/* 802C7EC8 002C3B28 7C 03 02 14 */ add r0, r3, r0
/* 802C7ECC 002C3B2C 7C 00 26 70 */ srawi r0, r0, 4
/* 802C7ED0 002C3B30 54 03 0F FE */ srwi r3, r0, 0x1f
/* 802C7ED4 002C3B34 7C 60 1A 14 */ add r3, r0, r3
/* 802C7ED8 002C3B38 38 03 00 01 */ addi r0, r3, 1
/* 802C7EDC 002C3B3C 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 802C7EE0 002C3B40 1C 64 00 1C */ mulli r3, r4, 0x1c
/* 802C7EE4 002C3B44 20 04 00 0C */ subfic r0, r4, 0xc
/* 802C7EE8 002C3B48 7C 65 1A 14 */ add r3, r5, r3
/* 802C7EEC 002C3B4C 38 63 16 E4 */ addi r3, r3, 0x16e4
/* 802C7EF0 002C3B50 7C 09 03 A6 */ mtctr r0
/* 802C7EF4 002C3B54 28 04 00 0C */ cmplwi r4, 0xc
/* 802C7EF8 002C3B58 40 80 00 24 */ bge lbl_802C7F1C
lbl_802C7EFC:
/* 802C7EFC 002C3B5C 88 03 00 1A */ lbz r0, 0x1a(r3)
/* 802C7F00 002C3B60 2C 00 00 00 */ cmpwi r0, 0
/* 802C7F04 002C3B64 41 82 00 0C */ beq lbl_802C7F10
/* 802C7F08 002C3B68 38 63 00 08 */ addi r3, r3, 8
/* 802C7F0C 002C3B6C 4E 80 00 20 */ blr
lbl_802C7F10:
/* 802C7F10 002C3B70 38 84 00 01 */ addi r4, r4, 1
/* 802C7F14 002C3B74 38 63 00 1C */ addi r3, r3, 0x1c
/* 802C7F18 002C3B78 42 00 FF E4 */ bdnz lbl_802C7EFC
lbl_802C7F1C:
/* 802C7F1C 002C3B7C 38 60 00 00 */ li r3, 0
/* 802C7F20 002C3B80 4E 80 00 20 */ blr
lbl_802C7F24:
/* 802C7F24 002C3B84 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C7F28 002C3B88 38 00 00 02 */ li r0, 2
/* 802C7F2C 002C3B8C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C7F30 002C3B90 38 80 00 00 */ li r4, 0
/* 802C7F34 002C3B94 38 63 16 E4 */ addi r3, r3, 0x16e4
/* 802C7F38 002C3B98 7C 09 03 A6 */ mtctr r0
lbl_802C7F3C:
/* 802C7F3C 002C3B9C 88 03 00 1A */ lbz r0, 0x1a(r3)
/* 802C7F40 002C3BA0 2C 00 00 00 */ cmpwi r0, 0
/* 802C7F44 002C3BA4 41 82 00 0C */ beq lbl_802C7F50
/* 802C7F48 002C3BA8 38 63 00 08 */ addi r3, r3, 8
/* 802C7F4C 002C3BAC 4E 80 00 20 */ blr
lbl_802C7F50:
/* 802C7F50 002C3BB0 88 03 00 36 */ lbz r0, 0x36(r3)
/* 802C7F54 002C3BB4 38 84 00 01 */ addi r4, r4, 1
/* 802C7F58 002C3BB8 2C 00 00 00 */ cmpwi r0, 0
/* 802C7F5C 002C3BBC 41 82 00 0C */ beq lbl_802C7F68
/* 802C7F60 002C3BC0 38 63 00 24 */ addi r3, r3, 0x24
/* 802C7F64 002C3BC4 4E 80 00 20 */ blr
lbl_802C7F68:
/* 802C7F68 002C3BC8 88 03 00 52 */ lbz r0, 0x52(r3)
/* 802C7F6C 002C3BCC 38 84 00 01 */ addi r4, r4, 1
/* 802C7F70 002C3BD0 2C 00 00 00 */ cmpwi r0, 0
/* 802C7F74 002C3BD4 41 82 00 0C */ beq lbl_802C7F80
/* 802C7F78 002C3BD8 38 63 00 40 */ addi r3, r3, 0x40
/* 802C7F7C 002C3BDC 4E 80 00 20 */ blr
lbl_802C7F80:
/* 802C7F80 002C3BE0 88 03 00 6E */ lbz r0, 0x6e(r3)
/* 802C7F84 002C3BE4 38 84 00 01 */ addi r4, r4, 1
/* 802C7F88 002C3BE8 2C 00 00 00 */ cmpwi r0, 0
/* 802C7F8C 002C3BEC 41 82 00 0C */ beq lbl_802C7F98
/* 802C7F90 002C3BF0 38 63 00 5C */ addi r3, r3, 0x5c
/* 802C7F94 002C3BF4 4E 80 00 20 */ blr
lbl_802C7F98:
/* 802C7F98 002C3BF8 88 03 00 8A */ lbz r0, 0x8a(r3)
/* 802C7F9C 002C3BFC 38 84 00 01 */ addi r4, r4, 1
/* 802C7FA0 002C3C00 2C 00 00 00 */ cmpwi r0, 0
/* 802C7FA4 002C3C04 41 82 00 0C */ beq lbl_802C7FB0
/* 802C7FA8 002C3C08 38 63 00 78 */ addi r3, r3, 0x78
/* 802C7FAC 002C3C0C 4E 80 00 20 */ blr
lbl_802C7FB0:
/* 802C7FB0 002C3C10 88 03 00 A6 */ lbz r0, 0xa6(r3)
/* 802C7FB4 002C3C14 38 84 00 01 */ addi r4, r4, 1
/* 802C7FB8 002C3C18 2C 00 00 00 */ cmpwi r0, 0
/* 802C7FBC 002C3C1C 41 82 00 0C */ beq lbl_802C7FC8
/* 802C7FC0 002C3C20 38 63 00 94 */ addi r3, r3, 0x94
/* 802C7FC4 002C3C24 4E 80 00 20 */ blr
lbl_802C7FC8:
/* 802C7FC8 002C3C28 38 84 00 01 */ addi r4, r4, 1
/* 802C7FCC 002C3C2C 38 63 00 A8 */ addi r3, r3, 0xa8
/* 802C7FD0 002C3C30 42 00 FF 6C */ bdnz lbl_802C7F3C
/* 802C7FD4 002C3C34 38 60 00 00 */ li r3, 0
/* 802C7FD8 002C3C38 4E 80 00 20 */ blr
.global BTM_ClearInqDb
BTM_ClearInqDb:
/* 802C7FDC 002C3C3C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C7FE0 002C3C40 7C 08 02 A6 */ mflr r0
/* 802C7FE4 002C3C44 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C7FE8 002C3C48 39 61 00 20 */ addi r11, r1, 0x20
/* 802C7FEC 002C3C4C 4B EF F1 3D */ bl _savegpr_27
/* 802C7FF0 002C3C50 3C 80 80 57 */ lis r4, lbl_80568B78@ha
/* 802C7FF4 002C3C54 7C 7B 1B 78 */ mr r27, r3
/* 802C7FF8 002C3C58 3B C4 8B 78 */ addi r30, r4, lbl_80568B78@l
/* 802C7FFC 002C3C5C 88 1E 18 48 */ lbz r0, 0x1848(r30)
/* 802C8000 002C3C60 2C 00 00 00 */ cmpwi r0, 0
/* 802C8004 002C3C64 40 82 00 1C */ bne lbl_802C8020
/* 802C8008 002C3C68 88 1E 16 AE */ lbz r0, 0x16ae(r30)
/* 802C800C 002C3C6C 2C 00 00 00 */ cmpwi r0, 0
/* 802C8010 002C3C70 40 82 00 10 */ bne lbl_802C8020
/* 802C8014 002C3C74 88 1E 18 44 */ lbz r0, 0x1844(r30)
/* 802C8018 002C3C78 2C 00 00 00 */ cmpwi r0, 0
/* 802C801C 002C3C7C 41 82 00 0C */ beq lbl_802C8028
lbl_802C8020:
/* 802C8020 002C3C80 38 60 00 02 */ li r3, 2
/* 802C8024 002C3C84 48 00 00 70 */ b lbl_802C8094
lbl_802C8028:
/* 802C8028 002C3C88 3B 9E 16 E4 */ addi r28, r30, 0x16e4
/* 802C802C 002C3C8C 3B A0 00 00 */ li r29, 0
/* 802C8030 002C3C90 3B E0 00 00 */ li r31, 0
lbl_802C8034:
/* 802C8034 002C3C94 88 1C 00 1A */ lbz r0, 0x1a(r28)
/* 802C8038 002C3C98 2C 00 00 00 */ cmpwi r0, 0
/* 802C803C 002C3C9C 41 82 00 44 */ beq lbl_802C8080
/* 802C8040 002C3CA0 2C 1B 00 00 */ cmpwi r27, 0
/* 802C8044 002C3CA4 41 82 00 1C */ beq lbl_802C8060
/* 802C8048 002C3CA8 7F 64 DB 78 */ mr r4, r27
/* 802C804C 002C3CAC 38 7C 00 0A */ addi r3, r28, 0xa
/* 802C8050 002C3CB0 38 A0 00 06 */ li r5, 6
/* 802C8054 002C3CB4 4B F0 23 45 */ bl memcmp
/* 802C8058 002C3CB8 2C 03 00 00 */ cmpwi r3, 0
/* 802C805C 002C3CBC 40 82 00 24 */ bne lbl_802C8080
lbl_802C8060:
/* 802C8060 002C3CC0 9B FC 00 1A */ stb r31, 0x1a(r28)
/* 802C8064 002C3CC4 81 9E 16 BC */ lwz r12, 0x16bc(r30)
/* 802C8068 002C3CC8 2C 0C 00 00 */ cmpwi r12, 0
/* 802C806C 002C3CCC 41 82 00 14 */ beq lbl_802C8080
/* 802C8070 002C3CD0 38 7C 00 08 */ addi r3, r28, 8
/* 802C8074 002C3CD4 38 80 00 00 */ li r4, 0
/* 802C8078 002C3CD8 7D 89 03 A6 */ mtctr r12
/* 802C807C 002C3CDC 4E 80 04 21 */ bctrl
lbl_802C8080:
/* 802C8080 002C3CE0 3B BD 00 01 */ addi r29, r29, 1
/* 802C8084 002C3CE4 3B 9C 00 1C */ addi r28, r28, 0x1c
/* 802C8088 002C3CE8 28 1D 00 0C */ cmplwi r29, 0xc
/* 802C808C 002C3CEC 41 80 FF A8 */ blt lbl_802C8034
/* 802C8090 002C3CF0 38 60 00 00 */ li r3, 0
lbl_802C8094:
/* 802C8094 002C3CF4 39 61 00 20 */ addi r11, r1, 0x20
/* 802C8098 002C3CF8 4B EF F0 DD */ bl _restgpr_27
/* 802C809C 002C3CFC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C80A0 002C3D00 7C 08 03 A6 */ mtlr r0
/* 802C80A4 002C3D04 38 21 00 20 */ addi r1, r1, 0x20
/* 802C80A8 002C3D08 4E 80 00 20 */ blr
.global btm_inq_db_reset
btm_inq_db_reset:
/* 802C80AC 002C3D0C 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802C80B0 002C3D10 7C 08 02 A6 */ mflr r0
/* 802C80B4 002C3D14 90 01 01 24 */ stw r0, 0x124(r1)
/* 802C80B8 002C3D18 39 61 01 20 */ addi r11, r1, 0x120
/* 802C80BC 002C3D1C 4B EF F0 6D */ bl _savegpr_27
/* 802C80C0 002C3D20 3F A0 80 57 */ lis r29, lbl_80568B78@ha
/* 802C80C4 002C3D24 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
/* 802C80C8 002C3D28 38 7D 16 C4 */ addi r3, r29, 0x16c4
/* 802C80CC 002C3D2C 4B FF 54 81 */ bl btu_stop_timer
/* 802C80D0 002C3D30 88 7D 18 48 */ lbz r3, 0x1848(r29)
/* 802C80D4 002C3D34 2C 03 00 00 */ cmpwi r3, 0
/* 802C80D8 002C3D38 41 82 00 38 */ beq lbl_802C8110
/* 802C80DC 002C3D3C 38 03 00 FF */ addi r0, r3, 0xff
/* 802C80E0 002C3D40 38 60 00 00 */ li r3, 0
/* 802C80E4 002C3D44 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802C80E8 002C3D48 98 7D 18 48 */ stb r3, 0x1848(r29)
/* 802C80EC 002C3D4C 28 00 00 01 */ cmplwi r0, 1
/* 802C80F0 002C3D50 41 81 00 20 */ bgt lbl_802C8110
/* 802C80F4 002C3D54 81 9D 16 B0 */ lwz r12, 0x16b0(r29)
/* 802C80F8 002C3D58 2C 0C 00 00 */ cmpwi r12, 0
/* 802C80FC 002C3D5C 41 82 00 14 */ beq lbl_802C8110
/* 802C8100 002C3D60 98 61 00 09 */ stb r3, 9(r1)
/* 802C8104 002C3D64 38 61 00 09 */ addi r3, r1, 9
/* 802C8108 002C3D68 7D 89 03 A6 */ mtctr r12
/* 802C810C 002C3D6C 4E 80 04 21 */ bctrl
lbl_802C8110:
/* 802C8110 002C3D70 88 1D 16 AE */ lbz r0, 0x16ae(r29)
/* 802C8114 002C3D74 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802C8118 002C3D78 41 82 00 48 */ beq lbl_802C8160
/* 802C811C 002C3D7C 38 7D 16 80 */ addi r3, r29, 0x1680
/* 802C8120 002C3D80 4B FF 54 2D */ bl btu_stop_timer
/* 802C8124 002C3D84 3B C0 00 00 */ li r30, 0
/* 802C8128 002C3D88 38 7D 16 A8 */ addi r3, r29, 0x16a8
/* 802C812C 002C3D8C 9B DD 16 AE */ stb r30, 0x16ae(r29)
/* 802C8130 002C3D90 38 80 00 00 */ li r4, 0
/* 802C8134 002C3D94 38 A0 00 06 */ li r5, 6
/* 802C8138 002C3D98 4B D3 BF CD */ bl memset
/* 802C813C 002C3D9C 81 9D 16 7C */ lwz r12, 0x167c(r29)
/* 802C8140 002C3DA0 2C 0C 00 00 */ cmpwi r12, 0
/* 802C8144 002C3DA4 41 82 00 1C */ beq lbl_802C8160
/* 802C8148 002C3DA8 38 00 00 0C */ li r0, 0xc
/* 802C814C 002C3DAC 38 61 00 0C */ addi r3, r1, 0xc
/* 802C8150 002C3DB0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802C8154 002C3DB4 7D 89 03 A6 */ mtctr r12
/* 802C8158 002C3DB8 4E 80 04 21 */ bctrl
/* 802C815C 002C3DBC 93 DD 16 7C */ stw r30, 0x167c(r29)
lbl_802C8160:
/* 802C8160 002C3DC0 88 1D 18 44 */ lbz r0, 0x1844(r29)
/* 802C8164 002C3DC4 2C 00 00 00 */ cmpwi r0, 0
/* 802C8168 002C3DC8 41 82 00 2C */ beq lbl_802C8194
/* 802C816C 002C3DCC 81 9D 16 B8 */ lwz r12, 0x16b8(r29)
/* 802C8170 002C3DD0 38 00 00 00 */ li r0, 0
/* 802C8174 002C3DD4 98 1D 18 44 */ stb r0, 0x1844(r29)
/* 802C8178 002C3DD8 2C 0C 00 00 */ cmpwi r12, 0
/* 802C817C 002C3DDC 41 82 00 18 */ beq lbl_802C8194
/* 802C8180 002C3DE0 38 00 00 0C */ li r0, 0xc
/* 802C8184 002C3DE4 38 61 00 08 */ addi r3, r1, 8
/* 802C8188 002C3DE8 98 01 00 08 */ stb r0, 8(r1)
/* 802C818C 002C3DEC 7D 89 03 A6 */ mtctr r12
/* 802C8190 002C3DF0 4E 80 04 21 */ bctrl
lbl_802C8194:
/* 802C8194 002C3DF4 3B C0 00 00 */ li r30, 0
/* 802C8198 002C3DF8 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C819C 002C3DFC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C81A0 002C3E00 9B DD 18 47 */ stb r30, 0x1847(r29)
/* 802C81A4 002C3E04 3B 80 00 00 */ li r28, 0
/* 802C81A8 002C3E08 9B DD 18 45 */ stb r30, 0x1845(r29)
/* 802C81AC 002C3E0C 3B 7F 16 E4 */ addi r27, r31, 0x16e4
/* 802C81B0 002C3E10 93 DD 16 B4 */ stw r30, 0x16b4(r29)
lbl_802C81B4:
/* 802C81B4 002C3E14 88 1B 00 1A */ lbz r0, 0x1a(r27)
/* 802C81B8 002C3E18 2C 00 00 00 */ cmpwi r0, 0
/* 802C81BC 002C3E1C 41 82 00 24 */ beq lbl_802C81E0
/* 802C81C0 002C3E20 9B DB 00 1A */ stb r30, 0x1a(r27)
/* 802C81C4 002C3E24 81 9F 16 BC */ lwz r12, 0x16bc(r31)
/* 802C81C8 002C3E28 2C 0C 00 00 */ cmpwi r12, 0
/* 802C81CC 002C3E2C 41 82 00 14 */ beq lbl_802C81E0
/* 802C81D0 002C3E30 38 7B 00 08 */ addi r3, r27, 8
/* 802C81D4 002C3E34 38 80 00 00 */ li r4, 0
/* 802C81D8 002C3E38 7D 89 03 A6 */ mtctr r12
/* 802C81DC 002C3E3C 4E 80 04 21 */ bctrl
lbl_802C81E0:
/* 802C81E0 002C3E40 3B 9C 00 01 */ addi r28, r28, 1
/* 802C81E4 002C3E44 3B 7B 00 1C */ addi r27, r27, 0x1c
/* 802C81E8 002C3E48 28 1C 00 0C */ cmplwi r28, 0xc
/* 802C81EC 002C3E4C 41 80 FF C8 */ blt lbl_802C81B4
/* 802C81F0 002C3E50 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C81F4 002C3E54 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C81F8 002C3E58 80 7F 16 DC */ lwz r3, 0x16dc(r31)
/* 802C81FC 002C3E5C 2C 03 00 00 */ cmpwi r3, 0
/* 802C8200 002C3E60 41 82 00 10 */ beq lbl_802C8210
/* 802C8204 002C3E64 4B FF 1B 31 */ bl GKI_freebuf
/* 802C8208 002C3E68 38 00 00 00 */ li r0, 0
/* 802C820C 002C3E6C 90 1F 16 DC */ stw r0, 0x16dc(r31)
lbl_802C8210:
/* 802C8210 002C3E70 38 00 00 00 */ li r0, 0
/* 802C8214 002C3E74 39 61 01 20 */ addi r11, r1, 0x120
/* 802C8218 002C3E78 B0 1F 16 E0 */ sth r0, 0x16e0(r31)
/* 802C821C 002C3E7C B0 1F 16 E2 */ sth r0, 0x16e2(r31)
/* 802C8220 002C3E80 B0 1D 16 98 */ sth r0, 0x1698(r29)
/* 802C8224 002C3E84 B0 1D 16 9A */ sth r0, 0x169a(r29)
/* 802C8228 002C3E88 B0 1D 16 A6 */ sth r0, 0x16a6(r29)
/* 802C822C 002C3E8C B0 1D 16 A4 */ sth r0, 0x16a4(r29)
/* 802C8230 002C3E90 4B EF EF 45 */ bl _restgpr_27
/* 802C8234 002C3E94 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802C8238 002C3E98 7C 08 03 A6 */ mtlr r0
/* 802C823C 002C3E9C 38 21 01 20 */ addi r1, r1, 0x120
/* 802C8240 002C3EA0 4E 80 00 20 */ blr
.global btm_inq_db_init
btm_inq_db_init:
/* 802C8244 002C3EA4 4E 80 00 20 */ blr
.global btm_inq_find_bdaddr
btm_inq_find_bdaddr:
/* 802C8248 002C3EA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C824C 002C3EAC 7C 08 02 A6 */ mflr r0
/* 802C8250 002C3EB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C8254 002C3EB4 39 61 00 20 */ addi r11, r1, 0x20
/* 802C8258 002C3EB8 4B EF EE D1 */ bl _savegpr_27
/* 802C825C 002C3EBC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C8260 002C3EC0 7C 7B 1B 78 */ mr r27, r3
/* 802C8264 002C3EC4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C8268 002C3EC8 88 1F 18 48 */ lbz r0, 0x1848(r31)
/* 802C826C 002C3ECC 83 BF 16 DC */ lwz r29, 0x16dc(r31)
/* 802C8270 002C3ED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802C8274 002C3ED4 40 82 00 0C */ bne lbl_802C8280
/* 802C8278 002C3ED8 2C 1D 00 00 */ cmpwi r29, 0
/* 802C827C 002C3EDC 40 82 00 0C */ bne lbl_802C8288
lbl_802C8280:
/* 802C8280 002C3EE0 38 60 00 00 */ li r3, 0
/* 802C8284 002C3EE4 48 00 00 88 */ b lbl_802C830C
lbl_802C8288:
/* 802C8288 002C3EE8 A3 DF 16 E0 */ lhz r30, 0x16e0(r31)
/* 802C828C 002C3EEC 3B 80 00 00 */ li r28, 0
/* 802C8290 002C3EF0 48 00 00 3C */ b lbl_802C82CC
lbl_802C8294:
/* 802C8294 002C3EF4 7F 64 DB 78 */ mr r4, r27
/* 802C8298 002C3EF8 38 7D 00 04 */ addi r3, r29, 4
/* 802C829C 002C3EFC 38 A0 00 06 */ li r5, 6
/* 802C82A0 002C3F00 4B F0 20 F9 */ bl memcmp
/* 802C82A4 002C3F04 2C 03 00 00 */ cmpwi r3, 0
/* 802C82A8 002C3F08 40 82 00 1C */ bne lbl_802C82C4
/* 802C82AC 002C3F0C 80 7D 00 00 */ lwz r3, 0(r29)
/* 802C82B0 002C3F10 80 1F 16 C0 */ lwz r0, 0x16c0(r31)
/* 802C82B4 002C3F14 7C 03 00 40 */ cmplw r3, r0
/* 802C82B8 002C3F18 40 82 00 0C */ bne lbl_802C82C4
/* 802C82BC 002C3F1C 38 60 00 01 */ li r3, 1
/* 802C82C0 002C3F20 48 00 00 4C */ b lbl_802C830C
lbl_802C82C4:
/* 802C82C4 002C3F24 3B 9C 00 01 */ addi r28, r28, 1
/* 802C82C8 002C3F28 3B BD 00 0C */ addi r29, r29, 0xc
lbl_802C82CC:
/* 802C82CC 002C3F2C 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 802C82D0 002C3F30 7C 03 F0 40 */ cmplw r3, r30
/* 802C82D4 002C3F34 41 80 FF C0 */ blt lbl_802C8294
/* 802C82D8 002C3F38 A0 1F 16 E2 */ lhz r0, 0x16e2(r31)
/* 802C82DC 002C3F3C 7C 03 00 40 */ cmplw r3, r0
/* 802C82E0 002C3F40 40 80 00 28 */ bge lbl_802C8308
/* 802C82E4 002C3F44 80 1F 16 C0 */ lwz r0, 0x16c0(r31)
/* 802C82E8 002C3F48 7F 64 DB 78 */ mr r4, r27
/* 802C82EC 002C3F4C 38 7D 00 04 */ addi r3, r29, 4
/* 802C82F0 002C3F50 38 A0 00 06 */ li r5, 6
/* 802C82F4 002C3F54 90 1D 00 00 */ stw r0, 0(r29)
/* 802C82F8 002C3F58 4B D3 BD 09 */ bl memcpy
/* 802C82FC 002C3F5C A0 7F 16 E0 */ lhz r3, 0x16e0(r31)
/* 802C8300 002C3F60 38 03 00 01 */ addi r0, r3, 1
/* 802C8304 002C3F64 B0 1F 16 E0 */ sth r0, 0x16e0(r31)
lbl_802C8308:
/* 802C8308 002C3F68 38 60 00 00 */ li r3, 0
lbl_802C830C:
/* 802C830C 002C3F6C 39 61 00 20 */ addi r11, r1, 0x20
/* 802C8310 002C3F70 4B EF EE 65 */ bl _restgpr_27
/* 802C8314 002C3F74 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C8318 002C3F78 7C 08 03 A6 */ mtlr r0
/* 802C831C 002C3F7C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C8320 002C3F80 4E 80 00 20 */ blr
.global btm_inq_db_new
btm_inq_db_new:
/* 802C8324 002C3F84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C8328 002C3F88 7C 08 02 A6 */ mflr r0
/* 802C832C 002C3F8C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
/* 802C8330 002C3F90 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C8334 002C3F94 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
/* 802C8338 002C3F98 38 00 00 0C */ li r0, 0xc
/* 802C833C 002C3F9C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C8340 002C3FA0 3B E4 16 E4 */ addi r31, r4, 0x16e4
/* 802C8344 002C3FA4 38 80 FF FF */ li r4, -1
/* 802C8348 002C3FA8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C834C 002C3FAC 7F FE FB 78 */ mr r30, r31
/* 802C8350 002C3FB0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C8354 002C3FB4 7C 7D 1B 78 */ mr r29, r3
/* 802C8358 002C3FB8 38 60 00 00 */ li r3, 0
/* 802C835C 002C3FBC 7C 09 03 A6 */ mtctr r0
lbl_802C8360:
/* 802C8360 002C3FC0 88 1F 00 1A */ lbz r0, 0x1a(r31)
/* 802C8364 002C3FC4 2C 00 00 00 */ cmpwi r0, 0
/* 802C8368 002C3FC8 40 82 00 34 */ bne lbl_802C839C
/* 802C836C 002C3FCC 7F E3 FB 78 */ mr r3, r31
/* 802C8370 002C3FD0 38 80 00 00 */ li r4, 0
/* 802C8374 002C3FD4 38 A0 00 1C */ li r5, 0x1c
/* 802C8378 002C3FD8 4B D3 BD 8D */ bl memset
/* 802C837C 002C3FDC 7F A4 EB 78 */ mr r4, r29
/* 802C8380 002C3FE0 38 7F 00 0A */ addi r3, r31, 0xa
/* 802C8384 002C3FE4 38 A0 00 06 */ li r5, 6
/* 802C8388 002C3FE8 4B D3 BC 79 */ bl memcpy
/* 802C838C 002C3FEC 38 00 00 01 */ li r0, 1
/* 802C8390 002C3FF0 7F E3 FB 78 */ mr r3, r31
/* 802C8394 002C3FF4 98 1F 00 1A */ stb r0, 0x1a(r31)
/* 802C8398 002C3FF8 48 00 00 74 */ b lbl_802C840C
lbl_802C839C:
/* 802C839C 002C3FFC 80 1F 00 00 */ lwz r0, 0(r31)
/* 802C83A0 002C4000 7C 00 20 40 */ cmplw r0, r4
/* 802C83A4 002C4004 40 80 00 0C */ bge lbl_802C83B0
/* 802C83A8 002C4008 7F FE FB 78 */ mr r30, r31
/* 802C83AC 002C400C 7C 04 03 78 */ mr r4, r0
lbl_802C83B0:
/* 802C83B0 002C4010 38 63 00 01 */ addi r3, r3, 1
/* 802C83B4 002C4014 3B FF 00 1C */ addi r31, r31, 0x1c
/* 802C83B8 002C4018 42 00 FF A8 */ bdnz lbl_802C8360
/* 802C83BC 002C401C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C83C0 002C4020 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C83C4 002C4024 81 83 16 BC */ lwz r12, 0x16bc(r3)
/* 802C83C8 002C4028 2C 0C 00 00 */ cmpwi r12, 0
/* 802C83CC 002C402C 41 82 00 14 */ beq lbl_802C83E0
/* 802C83D0 002C4030 38 7E 00 08 */ addi r3, r30, 8
/* 802C83D4 002C4034 38 80 00 00 */ li r4, 0
/* 802C83D8 002C4038 7D 89 03 A6 */ mtctr r12
/* 802C83DC 002C403C 4E 80 04 21 */ bctrl
lbl_802C83E0:
/* 802C83E0 002C4040 7F C3 F3 78 */ mr r3, r30
/* 802C83E4 002C4044 38 80 00 00 */ li r4, 0
/* 802C83E8 002C4048 38 A0 00 1C */ li r5, 0x1c
/* 802C83EC 002C404C 4B D3 BD 19 */ bl memset
/* 802C83F0 002C4050 7F A4 EB 78 */ mr r4, r29
/* 802C83F4 002C4054 38 7E 00 0A */ addi r3, r30, 0xa
/* 802C83F8 002C4058 38 A0 00 06 */ li r5, 6
/* 802C83FC 002C405C 4B D3 BC 05 */ bl memcpy
/* 802C8400 002C4060 38 00 00 01 */ li r0, 1
/* 802C8404 002C4064 7F C3 F3 78 */ mr r3, r30
/* 802C8408 002C4068 98 1E 00 1A */ stb r0, 0x1a(r30)
lbl_802C840C:
/* 802C840C 002C406C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C8410 002C4070 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C8414 002C4074 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C8418 002C4078 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C841C 002C407C 7C 08 03 A6 */ mtlr r0
/* 802C8420 002C4080 38 21 00 20 */ addi r1, r1, 0x20
/* 802C8424 002C4084 4E 80 00 20 */ blr
.global btm_set_inq_event_filter
btm_set_inq_event_filter:
/* 802C8428 002C4088 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802C842C 002C408C 7C 08 02 A6 */ mflr r0
/* 802C8430 002C4090 90 01 00 34 */ stw r0, 0x34(r1)
/* 802C8434 002C4094 39 61 00 30 */ addi r11, r1, 0x30
/* 802C8438 002C4098 4B EF EC F1 */ bl _savegpr_27
/* 802C843C 002C409C 7C 7B 1B 78 */ mr r27, r3
/* 802C8440 002C40A0 7C 9C 23 78 */ mr r28, r4
/* 802C8444 002C40A4 3B A1 00 08 */ addi r29, r1, 8
/* 802C8448 002C40A8 3B C0 00 06 */ li r30, 6
/* 802C844C 002C40AC 38 60 00 02 */ li r3, 2
/* 802C8450 002C40B0 4B FF 17 FD */ bl GKI_getpoolbuf
/* 802C8454 002C40B4 2C 03 00 00 */ cmpwi r3, 0
/* 802C8458 002C40B8 7C 7F 1B 78 */ mr r31, r3
/* 802C845C 002C40BC 41 82 00 94 */ beq lbl_802C84F0
/* 802C8460 002C40C0 2C 1B 00 01 */ cmpwi r27, 1
/* 802C8464 002C40C4 41 82 00 20 */ beq lbl_802C8484
/* 802C8468 002C40C8 40 80 00 10 */ bge lbl_802C8478
/* 802C846C 002C40CC 2C 1B 00 00 */ cmpwi r27, 0
/* 802C8470 002C40D0 40 80 00 40 */ bge lbl_802C84B0
/* 802C8474 002C40D4 48 00 00 44 */ b lbl_802C84B8
lbl_802C8478:
/* 802C8478 002C40D8 2C 1B 00 03 */ cmpwi r27, 3
/* 802C847C 002C40DC 40 80 00 3C */ bge lbl_802C84B8
/* 802C8480 002C40E0 48 00 00 28 */ b lbl_802C84A8
lbl_802C8484:
/* 802C8484 002C40E4 7F A3 EB 78 */ mr r3, r29
/* 802C8488 002C40E8 7F 84 E3 78 */ mr r4, r28
/* 802C848C 002C40EC 38 A0 00 03 */ li r5, 3
/* 802C8490 002C40F0 4B D3 BB 71 */ bl memcpy
/* 802C8494 002C40F4 38 61 00 0B */ addi r3, r1, 0xb
/* 802C8498 002C40F8 38 9C 00 03 */ addi r4, r28, 3
/* 802C849C 002C40FC 38 A0 00 03 */ li r5, 3
/* 802C84A0 002C4100 4B D3 BB 61 */ bl memcpy
/* 802C84A4 002C4104 48 00 00 1C */ b lbl_802C84C0
lbl_802C84A8:
/* 802C84A8 002C4108 7F 9D E3 78 */ mr r29, r28
/* 802C84AC 002C410C 48 00 00 14 */ b lbl_802C84C0
lbl_802C84B0:
/* 802C84B0 002C4110 3B C0 00 00 */ li r30, 0
/* 802C84B4 002C4114 48 00 00 0C */ b lbl_802C84C0
lbl_802C84B8:
/* 802C84B8 002C4118 38 60 00 05 */ li r3, 5
/* 802C84BC 002C411C 48 00 00 38 */ b lbl_802C84F4
lbl_802C84C0:
/* 802C84C0 002C4120 3C 80 80 57 */ lis r4, lbl_80568B78@ha
/* 802C84C4 002C4124 38 00 00 01 */ li r0, 1
/* 802C84C8 002C4128 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
/* 802C84CC 002C412C 7F E3 FB 78 */ mr r3, r31
/* 802C84D0 002C4130 98 04 18 44 */ stb r0, 0x1844(r4)
/* 802C84D4 002C4134 7F 65 DB 78 */ mr r5, r27
/* 802C84D8 002C4138 7F A6 EB 78 */ mr r6, r29
/* 802C84DC 002C413C 7F C7 F3 78 */ mr r7, r30
/* 802C84E0 002C4140 38 80 00 01 */ li r4, 1
/* 802C84E4 002C4144 48 00 8D E5 */ bl btsnd_hcic_set_event_filter
/* 802C84E8 002C4148 38 60 00 01 */ li r3, 1
/* 802C84EC 002C414C 48 00 00 08 */ b lbl_802C84F4
lbl_802C84F0:
/* 802C84F0 002C4150 38 60 00 03 */ li r3, 3
lbl_802C84F4:
/* 802C84F4 002C4154 39 61 00 30 */ addi r11, r1, 0x30
/* 802C84F8 002C4158 4B EF EC 7D */ bl _restgpr_27
/* 802C84FC 002C415C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802C8500 002C4160 7C 08 03 A6 */ mtlr r0
/* 802C8504 002C4164 38 21 00 30 */ addi r1, r1, 0x30
/* 802C8508 002C4168 4E 80 00 20 */ blr
.global btm_event_filter_complete
btm_event_filter_complete:
/* 802C850C 002C416C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C8510 002C4170 7C 08 02 A6 */ mflr r0
/* 802C8514 002C4174 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C8518 002C4178 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C851C 002C417C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C8520 002C4180 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C8524 002C4184 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C8528 002C4188 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C852C 002C418C 88 9F 18 45 */ lbz r4, 0x1845(r31)
/* 802C8530 002C4190 83 BF 16 B8 */ lwz r29, 0x16b8(r31)
/* 802C8534 002C4194 2C 04 00 00 */ cmpwi r4, 0
/* 802C8538 002C4198 41 82 00 10 */ beq lbl_802C8548
/* 802C853C 002C419C 38 04 FF FF */ addi r0, r4, -1
/* 802C8540 002C41A0 98 1F 18 45 */ stb r0, 0x1845(r31)
/* 802C8544 002C41A4 48 00 01 CC */ b lbl_802C8710
lbl_802C8548:
/* 802C8548 002C41A8 88 1F 18 44 */ lbz r0, 0x1844(r31)
/* 802C854C 002C41AC 28 00 00 01 */ cmplwi r0, 1
/* 802C8550 002C41B0 40 82 01 C0 */ bne lbl_802C8710
/* 802C8554 002C41B4 88 A3 00 00 */ lbz r5, 0(r3)
/* 802C8558 002C41B8 2C 05 00 00 */ cmpwi r5, 0
/* 802C855C 002C41BC 41 82 00 30 */ beq lbl_802C858C
/* 802C8560 002C41C0 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 802C8564 002C41C4 28 00 00 02 */ cmplwi r0, 2
/* 802C8568 002C41C8 41 80 00 18 */ blt lbl_802C8580
/* 802C856C 002C41CC 3C 60 00 0D */ lis r3, 0x000D0001@ha
/* 802C8570 002C41D0 3C 80 80 44 */ lis r4, lbl_804414D8@ha
/* 802C8574 002C41D4 38 63 00 01 */ addi r3, r3, 0x000D0001@l
/* 802C8578 002C41D8 38 84 14 D8 */ addi r4, r4, lbl_804414D8@l
/* 802C857C 002C41DC 4B FF 49 AD */ bl LogMsg_1
lbl_802C8580:
/* 802C8580 002C41E0 38 00 00 0A */ li r0, 0xa
/* 802C8584 002C41E4 98 01 00 08 */ stb r0, 8(r1)
/* 802C8588 002C41E8 48 00 00 0C */ b lbl_802C8594
lbl_802C858C:
/* 802C858C 002C41EC 38 00 00 00 */ li r0, 0
/* 802C8590 002C41F0 98 01 00 08 */ stb r0, 8(r1)
lbl_802C8594:
/* 802C8594 002C41F4 88 7F 18 47 */ lbz r3, 0x1847(r31)
/* 802C8598 002C41F8 2C 03 00 00 */ cmpwi r3, 0
/* 802C859C 002C41FC 40 82 00 28 */ bne lbl_802C85C4
/* 802C85A0 002C4200 38 00 00 00 */ li r0, 0
/* 802C85A4 002C4204 2C 1D 00 00 */ cmpwi r29, 0
/* 802C85A8 002C4208 98 1F 18 44 */ stb r0, 0x1844(r31)
/* 802C85AC 002C420C 41 82 01 64 */ beq lbl_802C8710
/* 802C85B0 002C4210 7F AC EB 78 */ mr r12, r29
/* 802C85B4 002C4214 38 61 00 08 */ addi r3, r1, 8
/* 802C85B8 002C4218 7D 89 03 A6 */ mtctr r12
/* 802C85BC 002C421C 4E 80 04 21 */ bctrl
/* 802C85C0 002C4220 48 00 01 50 */ b lbl_802C8710
lbl_802C85C4:
/* 802C85C4 002C4224 2C 00 00 00 */ cmpwi r0, 0
/* 802C85C8 002C4228 41 82 00 20 */ beq lbl_802C85E8
/* 802C85CC 002C422C 38 60 00 0A */ li r3, 0xa
/* 802C85D0 002C4230 48 00 03 D5 */ bl btm_process_inq_complete
/* 802C85D4 002C4234 38 00 00 00 */ li r0, 0
/* 802C85D8 002C4238 98 1F 18 44 */ stb r0, 0x1844(r31)
/* 802C85DC 002C423C 98 1F 18 48 */ stb r0, 0x1848(r31)
/* 802C85E0 002C4240 98 1F 18 47 */ stb r0, 0x1847(r31)
/* 802C85E4 002C4244 48 00 01 2C */ b lbl_802C8710
lbl_802C85E8:
/* 802C85E8 002C4248 28 03 00 01 */ cmplwi r3, 1
/* 802C85EC 002C424C 40 82 00 40 */ bne lbl_802C862C
/* 802C85F0 002C4250 88 7F 18 37 */ lbz r3, 0x1837(r31)
/* 802C85F4 002C4254 38 9F 18 38 */ addi r4, r31, 0x1838
/* 802C85F8 002C4258 4B FF FE 31 */ bl btm_set_inq_event_filter
/* 802C85FC 002C425C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802C8600 002C4260 98 61 00 08 */ stb r3, 8(r1)
/* 802C8604 002C4264 28 00 00 01 */ cmplwi r0, 1
/* 802C8608 002C4268 40 82 00 10 */ bne lbl_802C8618
/* 802C860C 002C426C 38 00 00 02 */ li r0, 2
/* 802C8610 002C4270 98 1F 18 47 */ stb r0, 0x1847(r31)
/* 802C8614 002C4274 48 00 00 FC */ b lbl_802C8710
lbl_802C8618:
/* 802C8618 002C4278 38 00 00 00 */ li r0, 0
/* 802C861C 002C427C 38 60 00 0A */ li r3, 0xa
/* 802C8620 002C4280 98 1F 18 44 */ stb r0, 0x1844(r31)
/* 802C8624 002C4284 48 00 03 81 */ bl btm_process_inq_complete
/* 802C8628 002C4288 48 00 00 E8 */ b lbl_802C8710
lbl_802C862C:
/* 802C862C 002C428C 88 9F 18 36 */ lbz r4, 0x1836(r31)
/* 802C8630 002C4290 38 00 00 03 */ li r0, 3
/* 802C8634 002C4294 38 60 00 00 */ li r3, 0
/* 802C8638 002C4298 98 1F 18 47 */ stb r0, 0x1847(r31)
/* 802C863C 002C429C 28 04 00 0C */ cmplwi r4, 0xc
/* 802C8640 002C42A0 38 00 00 0C */ li r0, 0xc
/* 802C8644 002C42A4 98 7F 18 44 */ stb r3, 0x1844(r31)
/* 802C8648 002C42A8 41 81 00 08 */ bgt lbl_802C8650
/* 802C864C 002C42AC 7C 80 23 78 */ mr r0, r4
lbl_802C8650:
/* 802C8650 002C42B0 88 7F 18 48 */ lbz r3, 0x1848(r31)
/* 802C8654 002C42B4 3B A2 A4 70 */ addi r29, r2, lbl_80642A70-_SDA2_BASE_
/* 802C8658 002C42B8 98 1F 18 36 */ stb r0, 0x1836(r31)
/* 802C865C 002C42BC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 802C8660 002C42C0 41 82 00 08 */ beq lbl_802C8668
/* 802C8664 002C42C4 3B A2 A4 74 */ addi r29, r2, lbl_80642A74-_SDA2_BASE_
lbl_802C8668:
/* 802C8668 002C42C8 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 802C866C 002C42CC 41 82 00 30 */ beq lbl_802C869C
/* 802C8670 002C42D0 A0 7F 18 42 */ lhz r3, 0x1842(r31)
/* 802C8674 002C42D4 7F A5 EB 78 */ mr r5, r29
/* 802C8678 002C42D8 A0 9F 18 40 */ lhz r4, 0x1840(r31)
/* 802C867C 002C42DC 88 DF 18 35 */ lbz r6, 0x1835(r31)
/* 802C8680 002C42E0 88 FF 18 36 */ lbz r7, 0x1836(r31)
/* 802C8684 002C42E4 48 00 78 6D */ bl btsnd_hcic_per_inq_mode
/* 802C8688 002C42E8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C868C 002C42EC 40 82 00 84 */ bne lbl_802C8710
/* 802C8690 002C42F0 38 60 00 03 */ li r3, 3
/* 802C8694 002C42F4 48 00 03 11 */ bl btm_process_inq_complete
/* 802C8698 002C42F8 48 00 00 78 */ b lbl_802C8710
lbl_802C869C:
/* 802C869C 002C42FC 3F C0 80 57 */ lis r30, lbl_80568B78@ha
/* 802C86A0 002C4300 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
/* 802C86A4 002C4304 80 7E 16 DC */ lwz r3, 0x16dc(r30)
/* 802C86A8 002C4308 2C 03 00 00 */ cmpwi r3, 0
/* 802C86AC 002C430C 41 82 00 10 */ beq lbl_802C86BC
/* 802C86B0 002C4310 4B FF 16 85 */ bl GKI_freebuf
/* 802C86B4 002C4314 38 00 00 00 */ li r0, 0
/* 802C86B8 002C4318 90 1E 16 DC */ stw r0, 0x16dc(r30)
lbl_802C86BC:
/* 802C86BC 002C431C 38 00 00 00 */ li r0, 0
/* 802C86C0 002C4320 38 60 07 08 */ li r3, 0x708
/* 802C86C4 002C4324 B0 1E 16 E0 */ sth r0, 0x16e0(r30)
/* 802C86C8 002C4328 B0 1E 16 E2 */ sth r0, 0x16e2(r30)
/* 802C86CC 002C432C 4B FF 13 E1 */ bl GKI_getbuf
/* 802C86D0 002C4330 2C 03 00 00 */ cmpwi r3, 0
/* 802C86D4 002C4334 90 7F 16 DC */ stw r3, 0x16dc(r31)
/* 802C86D8 002C4338 41 82 00 18 */ beq lbl_802C86F0
/* 802C86DC 002C433C 38 00 00 96 */ li r0, 0x96
/* 802C86E0 002C4340 38 80 00 00 */ li r4, 0
/* 802C86E4 002C4344 B0 1F 16 E2 */ sth r0, 0x16e2(r31)
/* 802C86E8 002C4348 38 A0 07 08 */ li r5, 0x708
/* 802C86EC 002C434C 4B D3 BA 19 */ bl memset
lbl_802C86F0:
/* 802C86F0 002C4350 88 9F 18 35 */ lbz r4, 0x1835(r31)
/* 802C86F4 002C4354 7F A3 EB 78 */ mr r3, r29
/* 802C86F8 002C4358 38 A0 00 00 */ li r5, 0
/* 802C86FC 002C435C 48 00 76 ED */ bl btsnd_hcic_inquiry
/* 802C8700 002C4360 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C8704 002C4364 40 82 00 0C */ bne lbl_802C8710
/* 802C8708 002C4368 38 60 00 03 */ li r3, 3
/* 802C870C 002C436C 48 00 02 99 */ bl btm_process_inq_complete
lbl_802C8710:
/* 802C8710 002C4370 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C8714 002C4374 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C8718 002C4378 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C871C 002C437C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C8720 002C4380 7C 08 03 A6 */ mtlr r0
/* 802C8724 002C4384 38 21 00 20 */ addi r1, r1, 0x20
/* 802C8728 002C4388 4E 80 00 20 */ blr
.global btm_process_inq_results
btm_process_inq_results:
/* 802C872C 002C438C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802C8730 002C4390 7C 08 02 A6 */ mflr r0
/* 802C8734 002C4394 90 01 00 64 */ stw r0, 0x64(r1)
/* 802C8738 002C4398 39 61 00 60 */ addi r11, r1, 0x60
/* 802C873C 002C439C 4B EF E9 C1 */ bl _savegpr_16
/* 802C8740 002C43A0 3C A0 80 57 */ lis r5, lbl_80568B78@ha
/* 802C8744 002C43A4 7C 92 23 78 */ mr r18, r4
/* 802C8748 002C43A8 3B 65 8B 78 */ addi r27, r5, lbl_80568B78@l
/* 802C874C 002C43AC 3A E0 00 01 */ li r23, 1
/* 802C8750 002C43B0 88 1B 18 48 */ lbz r0, 0x1848(r27)
/* 802C8754 002C43B4 3A A0 00 00 */ li r21, 0
/* 802C8758 002C43B8 82 DB 16 B4 */ lwz r22, 0x16b4(r27)
/* 802C875C 002C43BC 3A 80 00 00 */ li r20, 0
/* 802C8760 002C43C0 2C 00 00 00 */ cmpwi r0, 0
/* 802C8764 002C43C4 41 82 02 28 */ beq lbl_802C898C
/* 802C8768 002C43C8 8B 83 00 00 */ lbz r28, 0(r3)
/* 802C876C 002C43CC 3A 23 00 01 */ addi r17, r3, 1
/* 802C8770 002C43D0 3B 40 00 00 */ li r26, 0
/* 802C8774 002C43D4 3B E0 00 7F */ li r31, 0x7f
/* 802C8778 002C43D8 3A 00 00 00 */ li r16, 0
/* 802C877C 002C43DC 48 00 02 04 */ b lbl_802C8980
lbl_802C8780:
/* 802C8780 002C43E0 88 11 00 00 */ lbz r0, 0(r17)
/* 802C8784 002C43E4 2C 12 00 00 */ cmpwi r18, 0
/* 802C8788 002C43E8 98 01 00 11 */ stb r0, 0x11(r1)
/* 802C878C 002C43EC 88 11 00 01 */ lbz r0, 1(r17)
/* 802C8790 002C43F0 98 01 00 10 */ stb r0, 0x10(r1)
/* 802C8794 002C43F4 88 11 00 02 */ lbz r0, 2(r17)
/* 802C8798 002C43F8 98 01 00 0F */ stb r0, 0xf(r1)
/* 802C879C 002C43FC 88 11 00 03 */ lbz r0, 3(r17)
/* 802C87A0 002C4400 98 01 00 0E */ stb r0, 0xe(r1)
/* 802C87A4 002C4404 88 11 00 04 */ lbz r0, 4(r17)
/* 802C87A8 002C4408 98 01 00 0D */ stb r0, 0xd(r1)
/* 802C87AC 002C440C 88 11 00 05 */ lbz r0, 5(r17)
/* 802C87B0 002C4410 98 01 00 0C */ stb r0, 0xc(r1)
/* 802C87B4 002C4414 8B B1 00 06 */ lbz r29, 6(r17)
/* 802C87B8 002C4418 8B D1 00 07 */ lbz r30, 7(r17)
/* 802C87BC 002C441C 3A 31 00 08 */ addi r17, r17, 8
/* 802C87C0 002C4420 40 82 00 0C */ bne lbl_802C87CC
/* 802C87C4 002C4424 8A B1 00 00 */ lbz r21, 0(r17)
/* 802C87C8 002C4428 3A 31 00 01 */ addi r17, r17, 1
lbl_802C87CC:
/* 802C87CC 002C442C 88 11 00 00 */ lbz r0, 0(r17)
/* 802C87D0 002C4430 2C 12 00 00 */ cmpwi r18, 0
/* 802C87D4 002C4434 98 01 00 0A */ stb r0, 0xa(r1)
/* 802C87D8 002C4438 88 11 00 01 */ lbz r0, 1(r17)
/* 802C87DC 002C443C 98 01 00 09 */ stb r0, 9(r1)
/* 802C87E0 002C4440 88 11 00 02 */ lbz r0, 2(r17)
/* 802C87E4 002C4444 98 01 00 08 */ stb r0, 8(r1)
/* 802C87E8 002C4448 88 11 00 04 */ lbz r0, 4(r17)
/* 802C87EC 002C444C 88 71 00 03 */ lbz r3, 3(r17)
/* 802C87F0 002C4450 3A 31 00 05 */ addi r17, r17, 5
/* 802C87F4 002C4454 54 00 40 2E */ slwi r0, r0, 8
/* 802C87F8 002C4458 7C 03 02 14 */ add r0, r3, r0
/* 802C87FC 002C445C 54 13 04 3E */ clrlwi r19, r0, 0x10
/* 802C8800 002C4460 41 82 00 0C */ beq lbl_802C880C
/* 802C8804 002C4464 8A 91 00 00 */ lbz r20, 0(r17)
/* 802C8808 002C4468 3A 31 00 01 */ addi r17, r17, 1
lbl_802C880C:
/* 802C880C 002C446C 38 61 00 0C */ addi r3, r1, 0xc
/* 802C8810 002C4470 4B FF FA 39 */ bl btm_inq_find_bdaddr
/* 802C8814 002C4474 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C8818 002C4478 40 82 01 64 */ bne lbl_802C897C
/* 802C881C 002C447C 81 9B 18 4C */ lwz r12, 0x184c(r27)
/* 802C8820 002C4480 2C 0C 00 00 */ cmpwi r12, 0
/* 802C8824 002C4484 41 82 00 1C */ beq lbl_802C8840
/* 802C8828 002C4488 38 61 00 0C */ addi r3, r1, 0xc
/* 802C882C 002C448C 38 81 00 08 */ addi r4, r1, 8
/* 802C8830 002C4490 7D 89 03 A6 */ mtctr r12
/* 802C8834 002C4494 4E 80 04 21 */ bctrl
/* 802C8838 002C4498 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C883C 002C449C 41 82 01 40 */ beq lbl_802C897C
lbl_802C8840:
/* 802C8840 002C44A0 3B 3B 16 E4 */ addi r25, r27, 0x16e4
/* 802C8844 002C44A4 3B 00 00 00 */ li r24, 0
lbl_802C8848:
/* 802C8848 002C44A8 88 19 00 1A */ lbz r0, 0x1a(r25)
/* 802C884C 002C44AC 2C 00 00 00 */ cmpwi r0, 0
/* 802C8850 002C44B0 41 82 00 20 */ beq lbl_802C8870
/* 802C8854 002C44B4 38 79 00 0A */ addi r3, r25, 0xa
/* 802C8858 002C44B8 38 81 00 0C */ addi r4, r1, 0xc
/* 802C885C 002C44BC 38 A0 00 06 */ li r5, 6
/* 802C8860 002C44C0 4B F0 1B 39 */ bl memcmp
/* 802C8864 002C44C4 2C 03 00 00 */ cmpwi r3, 0
/* 802C8868 002C44C8 40 82 00 08 */ bne lbl_802C8870
/* 802C886C 002C44CC 48 00 00 18 */ b lbl_802C8884
lbl_802C8870:
/* 802C8870 002C44D0 3B 18 00 01 */ addi r24, r24, 1
/* 802C8874 002C44D4 3B 39 00 1C */ addi r25, r25, 0x1c
/* 802C8878 002C44D8 28 18 00 0C */ cmplwi r24, 0xc
/* 802C887C 002C44DC 41 80 FF CC */ blt lbl_802C8848
/* 802C8880 002C44E0 3B 20 00 00 */ li r25, 0
lbl_802C8884:
/* 802C8884 002C44E4 2C 19 00 00 */ cmpwi r25, 0
/* 802C8888 002C44E8 40 82 00 18 */ bne lbl_802C88A0
/* 802C888C 002C44EC 38 61 00 0C */ addi r3, r1, 0xc
/* 802C8890 002C44F0 4B FF FA 95 */ bl btm_inq_db_new
/* 802C8894 002C44F4 7C 79 1B 78 */ mr r25, r3
/* 802C8898 002C44F8 3A E0 00 01 */ li r23, 1
/* 802C889C 002C44FC 48 00 00 18 */ b lbl_802C88B4
lbl_802C88A0:
/* 802C88A0 002C4500 80 79 00 04 */ lwz r3, 4(r25)
/* 802C88A4 002C4504 80 1B 16 C0 */ lwz r0, 0x16c0(r27)
/* 802C88A8 002C4508 7C 03 00 40 */ cmplw r3, r0
/* 802C88AC 002C450C 40 82 00 08 */ bne lbl_802C88B4
/* 802C88B0 002C4510 3A E0 00 00 */ li r23, 0
lbl_802C88B4:
/* 802C88B4 002C4514 28 17 00 01 */ cmplwi r23, 1
/* 802C88B8 002C4518 40 82 00 C4 */ bne lbl_802C897C
/* 802C88BC 002C451C 9B B9 00 13 */ stb r29, 0x13(r25)
/* 802C88C0 002C4520 2C 12 00 00 */ cmpwi r18, 0
/* 802C88C4 002C4524 88 A1 00 08 */ lbz r5, 8(r1)
/* 802C88C8 002C4528 62 60 80 00 */ ori r0, r19, 0x8000
/* 802C88CC 002C452C 9B D9 00 14 */ stb r30, 0x14(r25)
/* 802C88D0 002C4530 3B 19 00 08 */ addi r24, r25, 8
/* 802C88D4 002C4534 88 81 00 09 */ lbz r4, 9(r1)
/* 802C88D8 002C4538 9A B9 00 15 */ stb r21, 0x15(r25)
/* 802C88DC 002C453C 88 61 00 0A */ lbz r3, 0xa(r1)
/* 802C88E0 002C4540 98 B9 00 10 */ stb r5, 0x10(r25)
/* 802C88E4 002C4544 98 99 00 11 */ stb r4, 0x11(r25)
/* 802C88E8 002C4548 98 79 00 12 */ stb r3, 0x12(r25)
/* 802C88EC 002C454C B0 19 00 08 */ sth r0, 8(r25)
/* 802C88F0 002C4550 41 82 00 0C */ beq lbl_802C88FC
/* 802C88F4 002C4554 9A 98 00 0E */ stb r20, 0xe(r24)
/* 802C88F8 002C4558 48 00 00 08 */ b lbl_802C8900
lbl_802C88FC:
/* 802C88FC 002C455C 9B F8 00 0E */ stb r31, 0xe(r24)
lbl_802C8900:
/* 802C8900 002C4560 4B FF 21 CD */ bl GKI_get_tick_count
/* 802C8904 002C4564 90 79 00 00 */ stw r3, 0(r25)
/* 802C8908 002C4568 80 1B 16 C0 */ lwz r0, 0x16c0(r27)
/* 802C890C 002C456C 90 19 00 04 */ stw r0, 4(r25)
/* 802C8910 002C4570 88 1B 18 48 */ lbz r0, 0x1848(r27)
/* 802C8914 002C4574 88 7B 18 3F */ lbz r3, 0x183f(r27)
/* 802C8918 002C4578 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802C891C 002C457C 38 03 00 01 */ addi r0, r3, 1
/* 802C8920 002C4580 98 1B 18 3F */ stb r0, 0x183f(r27)
/* 802C8924 002C4584 40 82 00 20 */ bne lbl_802C8944
/* 802C8928 002C4588 88 7B 18 36 */ lbz r3, 0x1836(r27)
/* 802C892C 002C458C 2C 03 00 00 */ cmpwi r3, 0
/* 802C8930 002C4590 41 82 00 14 */ beq lbl_802C8944
/* 802C8934 002C4594 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802C8938 002C4598 7C 00 18 40 */ cmplw r0, r3
/* 802C893C 002C459C 40 82 00 08 */ bne lbl_802C8944
/* 802C8940 002C45A0 48 00 75 51 */ bl btsnd_hcic_inq_cancel
lbl_802C8944:
/* 802C8944 002C45A4 2C 16 00 00 */ cmpwi r22, 0
/* 802C8948 002C45A8 9A 19 00 18 */ stb r16, 0x18(r25)
/* 802C894C 002C45AC 41 82 00 14 */ beq lbl_802C8960
/* 802C8950 002C45B0 7E CC B3 78 */ mr r12, r22
/* 802C8954 002C45B4 7F 03 C3 78 */ mr r3, r24
/* 802C8958 002C45B8 7D 89 03 A6 */ mtctr r12
/* 802C895C 002C45BC 4E 80 04 21 */ bctrl
lbl_802C8960:
/* 802C8960 002C45C0 81 9B 16 BC */ lwz r12, 0x16bc(r27)
/* 802C8964 002C45C4 2C 0C 00 00 */ cmpwi r12, 0
/* 802C8968 002C45C8 41 82 00 14 */ beq lbl_802C897C
/* 802C896C 002C45CC 38 79 00 08 */ addi r3, r25, 8
/* 802C8970 002C45D0 38 80 00 01 */ li r4, 1
/* 802C8974 002C45D4 7D 89 03 A6 */ mtctr r12
/* 802C8978 002C45D8 4E 80 04 21 */ bctrl
lbl_802C897C:
/* 802C897C 002C45DC 3B 5A 00 01 */ addi r26, r26, 1
lbl_802C8980:
/* 802C8980 002C45E0 57 40 06 3E */ clrlwi r0, r26, 0x18
/* 802C8984 002C45E4 7C 00 E0 40 */ cmplw r0, r28
/* 802C8988 002C45E8 41 80 FD F8 */ blt lbl_802C8780
lbl_802C898C:
/* 802C898C 002C45EC 39 61 00 60 */ addi r11, r1, 0x60
/* 802C8990 002C45F0 4B EF E7 B9 */ bl _restgpr_16
/* 802C8994 002C45F4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802C8998 002C45F8 7C 08 03 A6 */ mtlr r0
/* 802C899C 002C45FC 38 21 00 60 */ addi r1, r1, 0x60
/* 802C89A0 002C4600 4E 80 00 20 */ blr
.global btm_process_inq_complete
btm_process_inq_complete:
/* 802C89A4 002C4604 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C89A8 002C4608 7C 08 02 A6 */ mflr r0
/* 802C89AC 002C460C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C89B0 002C4610 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C89B4 002C4614 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C89B8 002C4618 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C89BC 002C461C 3F A0 80 57 */ lis r29, lbl_80568B78@ha
/* 802C89C0 002C4620 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
/* 802C89C4 002C4624 93 81 00 10 */ stw r28, 0x10(r1)
/* 802C89C8 002C4628 88 1D 18 48 */ lbz r0, 0x1848(r29)
/* 802C89CC 002C462C 83 9D 16 B0 */ lwz r28, 0x16b0(r29)
/* 802C89D0 002C4630 2C 00 00 00 */ cmpwi r0, 0
/* 802C89D4 002C4634 41 82 00 B4 */ beq lbl_802C8A88
/* 802C89D8 002C4638 80 9D 16 C0 */ lwz r4, 0x16c0(r29)
/* 802C89DC 002C463C 2C 03 00 00 */ cmpwi r3, 0
/* 802C89E0 002C4640 38 60 00 0A */ li r3, 0xa
/* 802C89E4 002C4644 38 04 00 01 */ addi r0, r4, 1
/* 802C89E8 002C4648 90 1D 16 C0 */ stw r0, 0x16c0(r29)
/* 802C89EC 002C464C 40 82 00 08 */ bne lbl_802C89F4
/* 802C89F0 002C4650 38 60 00 00 */ li r3, 0
lbl_802C89F4:
/* 802C89F4 002C4654 88 1D 18 48 */ lbz r0, 0x1848(r29)
/* 802C89F8 002C4658 98 7D 18 3E */ stb r3, 0x183e(r29)
/* 802C89FC 002C465C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 802C8A00 002C4660 40 82 00 88 */ bne lbl_802C8A88
/* 802C8A04 002C4664 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C8A08 002C4668 3B C0 00 00 */ li r30, 0
/* 802C8A0C 002C466C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C8A10 002C4670 93 DD 16 B4 */ stw r30, 0x16b4(r29)
/* 802C8A14 002C4674 80 7F 16 DC */ lwz r3, 0x16dc(r31)
/* 802C8A18 002C4678 9B DD 18 48 */ stb r30, 0x1848(r29)
/* 802C8A1C 002C467C 2C 03 00 00 */ cmpwi r3, 0
/* 802C8A20 002C4680 9B DD 18 47 */ stb r30, 0x1847(r29)
/* 802C8A24 002C4684 93 DD 16 B0 */ stw r30, 0x16b0(r29)
/* 802C8A28 002C4688 41 82 00 0C */ beq lbl_802C8A34
/* 802C8A2C 002C468C 4B FF 13 09 */ bl GKI_freebuf
/* 802C8A30 002C4690 93 DF 16 DC */ stw r30, 0x16dc(r31)
lbl_802C8A34:
/* 802C8A34 002C4694 3C 60 80 57 */ lis r3, lbl_80568B78@ha
/* 802C8A38 002C4698 38 80 00 00 */ li r4, 0
/* 802C8A3C 002C469C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
/* 802C8A40 002C46A0 B0 9F 16 E0 */ sth r4, 0x16e0(r31)
/* 802C8A44 002C46A4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 802C8A48 002C46A8 B0 9F 16 E2 */ sth r4, 0x16e2(r31)
/* 802C8A4C 002C46AC 28 00 00 05 */ cmplwi r0, 5
/* 802C8A50 002C46B0 41 80 00 20 */ blt lbl_802C8A70
/* 802C8A54 002C46B4 3C 60 00 0D */ lis r3, 0x000D0004@ha
/* 802C8A58 002C46B8 3C 80 80 44 */ lis r4, lbl_80441514@ha
/* 802C8A5C 002C46BC 88 BD 18 3E */ lbz r5, 0x183e(r29)
/* 802C8A60 002C46C0 38 63 00 04 */ addi r3, r3, 0x000D0004@l
/* 802C8A64 002C46C4 88 DD 18 3F */ lbz r6, 0x183f(r29)
/* 802C8A68 002C46C8 38 84 15 14 */ addi r4, r4, lbl_80441514@l
/* 802C8A6C 002C46CC 4B FF 44 D5 */ bl LogMsg_2
lbl_802C8A70:
/* 802C8A70 002C46D0 2C 1C 00 00 */ cmpwi r28, 0
/* 802C8A74 002C46D4 41 82 00 14 */ beq lbl_802C8A88
/* 802C8A78 002C46D8 7F 8C E3 78 */ mr r12, r28
/* 802C8A7C 002C46DC 38 7D 18 3E */ addi r3, r29, 0x183e
/* 802C8A80 002C46E0 7D 89 03 A6 */ mtctr r12
/* 802C8A84 002C46E4 4E 80 04 21 */ bctrl
lbl_802C8A88:
/* 802C8A88 002C46E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C8A8C 002C46EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C8A90 002C46F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C8A94 002C46F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C8A98 002C46F8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802C8A9C 002C46FC 7C 08 03 A6 */ mtlr r0
/* 802C8AA0 002C4700 38 21 00 20 */ addi r1, r1, 0x20
/* 802C8AA4 002C4704 4E 80 00 20 */ blr
.global btm_initiate_rem_name
btm_initiate_rem_name:
/* 802C8AA8 002C4708 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802C8AAC 002C470C 7C 08 02 A6 */ mflr r0
/* 802C8AB0 002C4710 90 01 00 34 */ stw r0, 0x34(r1)
/* 802C8AB4 002C4714 39 61 00 30 */ addi r11, r1, 0x30
/* 802C8AB8 002C4718 4B EF E6 61 */ bl _savegpr_23
/* 802C8ABC 002C471C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C8AC0 002C4720 7C 77 1B 78 */ mr r23, r3
/* 802C8AC4 002C4724 7C 98 23 78 */ mr r24, r4
/* 802C8AC8 002C4728 7C B9 2B 78 */ mr r25, r5
/* 802C8ACC 002C472C 7C DA 33 78 */ mr r26, r6
/* 802C8AD0 002C4730 7C FB 3B 78 */ mr r27, r7
/* 802C8AD4 002C4734 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C8AD8 002C4738 3B C0 00 01 */ li r30, 1
/* 802C8ADC 002C473C 3B A0 00 01 */ li r29, 1
/* 802C8AE0 002C4740 3B 80 00 01 */ li r28, 1
/* 802C8AE4 002C4744 4B FF CF ED */ bl BTM_IsDeviceUp
/* 802C8AE8 002C4748 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C8AEC 002C474C 40 82 00 0C */ bne lbl_802C8AF8
/* 802C8AF0 002C4750 38 60 00 06 */ li r3, 6
/* 802C8AF4 002C4754 48 00 00 EC */ b lbl_802C8BE0
lbl_802C8AF8:
/* 802C8AF8 002C4758 88 7F 16 AE */ lbz r3, 0x16ae(r31)
/* 802C8AFC 002C475C 7C 60 C8 39 */ and. r0, r3, r25
/* 802C8B00 002C4760 40 82 00 D8 */ bne lbl_802C8BD8
/* 802C8B04 002C4764 28 19 00 01 */ cmplwi r25, 1
/* 802C8B08 002C4768 40 82 00 3C */ bne lbl_802C8B44
/* 802C8B0C 002C476C 2C 03 00 00 */ cmpwi r3, 0
/* 802C8B10 002C4770 41 82 00 2C */ beq lbl_802C8B3C
/* 802C8B14 002C4774 7E E3 BB 78 */ mr r3, r23
/* 802C8B18 002C4778 38 9F 16 A8 */ addi r4, r31, 0x16a8
/* 802C8B1C 002C477C 38 A0 00 06 */ li r5, 6
/* 802C8B20 002C4780 4B F0 18 79 */ bl memcmp
/* 802C8B24 002C4784 2C 03 00 00 */ cmpwi r3, 0
/* 802C8B28 002C4788 40 82 00 0C */ bne lbl_802C8B34
/* 802C8B2C 002C478C 3B C0 00 00 */ li r30, 0
/* 802C8B30 002C4790 48 00 00 0C */ b lbl_802C8B3C
lbl_802C8B34:
/* 802C8B34 002C4794 38 60 00 02 */ li r3, 2
/* 802C8B38 002C4798 48 00 00 A8 */ b lbl_802C8BE0
lbl_802C8B3C:
/* 802C8B3C 002C479C 93 7F 16 7C */ stw r27, 0x167c(r31)
/* 802C8B40 002C47A0 48 00 00 14 */ b lbl_802C8B54
lbl_802C8B44:
/* 802C8B44 002C47A4 2C 03 00 00 */ cmpwi r3, 0
/* 802C8B48 002C47A8 41 82 00 0C */ beq lbl_802C8B54
/* 802C8B4C 002C47AC 38 60 00 02 */ li r3, 2
/* 802C8B50 002C47B0 48 00 00 90 */ b lbl_802C8BE0
lbl_802C8B54:
/* 802C8B54 002C47B4 2C 1E 00 00 */ cmpwi r30, 0
/* 802C8B58 002C47B8 41 82 00 60 */ beq lbl_802C8BB8
/* 802C8B5C 002C47BC 7E E4 BB 78 */ mr r4, r23
/* 802C8B60 002C47C0 38 7F 16 A8 */ addi r3, r31, 0x16a8
/* 802C8B64 002C47C4 38 A0 00 06 */ li r5, 6
/* 802C8B68 002C47C8 4B D3 B4 99 */ bl memcpy
/* 802C8B6C 002C47CC 7F 45 D3 78 */ mr r5, r26
/* 802C8B70 002C47D0 38 7F 16 80 */ addi r3, r31, 0x1680
/* 802C8B74 002C47D4 38 80 00 0A */ li r4, 0xa
/* 802C8B78 002C47D8 4B FF 49 65 */ bl btu_start_timer
/* 802C8B7C 002C47DC 2C 18 00 00 */ cmpwi r24, 0
/* 802C8B80 002C47E0 41 82 00 20 */ beq lbl_802C8BA0
/* 802C8B84 002C47E4 A0 18 00 00 */ lhz r0, 0(r24)
/* 802C8B88 002C47E8 7E E3 BB 78 */ mr r3, r23
/* 802C8B8C 002C47EC 88 98 00 0B */ lbz r4, 0xb(r24)
/* 802C8B90 002C47F0 88 B8 00 0D */ lbz r5, 0xd(r24)
/* 802C8B94 002C47F4 60 06 80 00 */ ori r6, r0, 0x8000
/* 802C8B98 002C47F8 48 00 7D 25 */ bl btsnd_hcic_rmt_name_req
/* 802C8B9C 002C47FC 48 00 00 18 */ b lbl_802C8BB4
lbl_802C8BA0:
/* 802C8BA0 002C4800 7E E3 BB 78 */ mr r3, r23
/* 802C8BA4 002C4804 38 80 00 01 */ li r4, 1
/* 802C8BA8 002C4808 38 A0 00 00 */ li r5, 0
/* 802C8BAC 002C480C 38 C0 00 00 */ li r6, 0
/* 802C8BB0 002C4810 48 00 7D 0D */ bl btsnd_hcic_rmt_name_req
lbl_802C8BB4:
/* 802C8BB4 002C4814 7C 7D 1B 78 */ mr r29, r3
lbl_802C8BB8:
/* 802C8BB8 002C4818 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 802C8BBC 002C481C 41 82 00 14 */ beq lbl_802C8BD0
/* 802C8BC0 002C4820 88 1F 16 AE */ lbz r0, 0x16ae(r31)
/* 802C8BC4 002C4824 7C 00 CB 78 */ or r0, r0, r25
/* 802C8BC8 002C4828 98 1F 16 AE */ stb r0, 0x16ae(r31)
/* 802C8BCC 002C482C 48 00 00 10 */ b lbl_802C8BDC
lbl_802C8BD0:
/* 802C8BD0 002C4830 3B 80 00 03 */ li r28, 3
/* 802C8BD4 002C4834 48 00 00 08 */ b lbl_802C8BDC
lbl_802C8BD8:
/* 802C8BD8 002C4838 3B 80 00 02 */ li r28, 2
lbl_802C8BDC:
/* 802C8BDC 002C483C 7F 83 E3 78 */ mr r3, r28
lbl_802C8BE0:
/* 802C8BE0 002C4840 39 61 00 30 */ addi r11, r1, 0x30
/* 802C8BE4 002C4844 4B EF E5 81 */ bl _restgpr_23
/* 802C8BE8 002C4848 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802C8BEC 002C484C 7C 08 03 A6 */ mtlr r0
/* 802C8BF0 002C4850 38 21 00 30 */ addi r1, r1, 0x30
/* 802C8BF4 002C4854 4E 80 00 20 */ blr
.global btm_process_remote_name
btm_process_remote_name:
/* 802C8BF8 002C4858 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802C8BFC 002C485C 7C 08 02 A6 */ mflr r0
/* 802C8C00 002C4860 90 01 01 24 */ stw r0, 0x124(r1)
/* 802C8C04 002C4864 39 61 01 20 */ addi r11, r1, 0x120
/* 802C8C08 002C4868 4B EF E5 1D */ bl _savegpr_26
/* 802C8C0C 002C486C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
/* 802C8C10 002C4870 7C 9A 23 78 */ mr r26, r4
/* 802C8C14 002C4874 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
/* 802C8C18 002C4878 7C BB 2B 78 */ mr r27, r5
/* 802C8C1C 002C487C 83 DF 16 7C */ lwz r30, 0x167c(r31)
/* 802C8C20 002C4880 7C DC 33 78 */ mr r28, r6
/* 802C8C24 002C4884 8B BF 16 AE */ lbz r29, 0x16ae(r31)
/* 802C8C28 002C4888 38 7F 16 80 */ addi r3, r31, 0x1680
/* 802C8C2C 002C488C 4B FF 49 21 */ bl btu_stop_timer
/* 802C8C30 002C4890 38 60 00 00 */ li r3, 0
/* 802C8C34 002C4894 2C 1C 00 00 */ cmpwi r28, 0
/* 802C8C38 002C4898 98 7F 16 AE */ stb r3, 0x16ae(r31)
/* 802C8C3C 002C489C 40 82 00 B4 */ bne lbl_802C8CF0
/* 802C8C40 002C48A0 28 1B 00 F8 */ cmplwi r27, 0xf8
/* 802C8C44 002C48A4 38 81 00 0C */ addi r4, r1, 0xc
/* 802C8C48 002C48A8 38 60 00 F8 */ li r3, 0xf8
/* 802C8C4C 002C48AC 40 80 00 08 */ bge lbl_802C8C54
/* 802C8C50 002C48B0 7F 63 DB 78 */ mr r3, r27
lbl_802C8C54:
/* 802C8C54 002C48B4 54 65 04 3F */ clrlwi. r5, r3, 0x10
/* 802C8C58 002C48B8 38 00 00 00 */ li r0, 0
/* 802C8C5C 002C48BC B0 61 00 0A */ sth r3, 0xa(r1)
/* 802C8C60 002C48C0 B0 01 00 08 */ sth r0, 8(r1)
/* 802C8C64 002C48C4 7C A3 2B 78 */ mr r3, r5
/* 802C8C68 002C48C8 41 82 00 98 */ beq lbl_802C8D00
/* 802C8C6C 002C48CC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
/* 802C8C70 002C48D0 7C 09 03 A6 */ mtctr r0
/* 802C8C74 002C48D4 41 82 00 5C */ beq lbl_802C8CD0
lbl_802C8C78:
/* 802C8C78 002C48D8 88 1A 00 00 */ lbz r0, 0(r26)
/* 802C8C7C 002C48DC 38 A5 FF F8 */ addi r5, r5, -8
/* 802C8C80 002C48E0 98 04 00 00 */ stb r0, 0(r4)
/* 802C8C84 002C48E4 88 1A 00 01 */ lbz r0, 1(r26)
/* 802C8C88 002C48E8 98 04 00 01 */ stb r0, 1(r4)
/* 802C8C8C 002C48EC 88 1A 00 02 */ lbz r0, 2(r26)
/* 802C8C90 002C48F0 98 04 00 02 */ stb r0, 2(r4)
/* 802C8C94 002C48F4 88 1A 00 03 */ lbz r0, 3(r26)
/* 802C8C98 002C48F8 98 04 00 03 */ stb r0, 3(r4)
/* 802C8C9C 002C48FC 88 1A 00 04 */ lbz r0, 4(r26)
/* 802C8CA0 002C4900 98 04 00 04 */ stb r0, 4(r4)
/* 802C8CA4 002C4904 88 1A 00 05 */ lbz r0, 5(r26)
/* 802C8CA8 002C4908 98 04 00 05 */ stb r0, 5(r4)
/* 802C8CAC 002C490C 88 1A 00 06 */ lbz r0, 6(r26)
/* 802C8CB0 002C4910 98 04 00 06 */ stb r0, 6(r4)
/* 802C8CB4 002C4914 88 1A 00 07 */ lbz r0, 7(r26)
/* 802C8CB8 002C4918 3B 5A 00 08 */ addi r26, r26, 8
/* 802C8CBC 002C491C 98 04 00 07 */ stb r0, 7(r4)
/* 802C8CC0 002C4920 38 84 00 08 */ addi r4, r4, 8
/* 802C8CC4 002C4924 42 00 FF B4 */ bdnz lbl_802C8C78
/* 802C8CC8 002C4928 70 63 00 07 */ andi. r3, r3, 7
/* 802C8CCC 002C492C 41 82 00 34 */ beq lbl_802C8D00
lbl_802C8CD0:
/* 802C8CD0 002C4930 7C 69 03 A6 */ mtctr r3
lbl_802C8CD4:
/* 802C8CD4 002C4934 88 1A 00 00 */ lbz r0, 0(r26)
/* 802C8CD8 002C4938 38 A5 FF FF */ addi r5, r5, -1
/* 802C8CDC 002C493C 3B 5A 00 01 */ addi r26, r26, 1
/* 802C8CE0 002C4940 98 04 00 00 */ stb r0, 0(r4)
/* 802C8CE4 002C4944 38 84 00 01 */ addi r4, r4, 1
/* 802C8CE8 002C4948 42 00 FF EC */ bdnz lbl_802C8CD4
/* 802C8CEC 002C494C 48 00 00 14 */ b lbl_802C8D00
lbl_802C8CF0:
/* 802C8CF0 002C4950 38 00 00 09 */ li r0, 9
/* 802C8CF4 002C4954 B0 61 00 0A */ sth r3, 0xa(r1)
/* 802C8CF8 002C4958 B0 01 00 08 */ sth r0, 8(r1)
/* 802C8CFC 002C495C 98 61 00 0C */ stb r3, 0xc(r1)
lbl_802C8D00:
/* 802C8D00 002C4960 38 7F 16 A8 */ addi r3, r31, 0x16a8
/* 802C8D04 002C4964 38 80 00 00 */ li r4, 0
/* 802C8D08 002C4968 38 A0 00 06 */ li r5, 6
/* 802C8D0C 002C496C 4B D3 B3 F9 */ bl memset
/* 802C8D10 002C4970 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
/* 802C8D14 002C4974 41 82 00 24 */ beq lbl_802C8D38
/* 802C8D18 002C4978 38 00 00 00 */ li r0, 0
/* 802C8D1C 002C497C 2C 1E 00 00 */ cmpwi r30, 0
/* 802C8D20 002C4980 90 1F 16 7C */ stw r0, 0x167c(r31)
/* 802C8D24 002C4984 41 82 00 14 */ beq lbl_802C8D38
/* 802C8D28 002C4988 7F CC F3 78 */ mr r12, r30
/* 802C8D2C 002C498C 38 61 00 08 */ addi r3, r1, 8
/* 802C8D30 002C4990 7D 89 03 A6 */ mtctr r12
/* 802C8D34 002C4994 4E 80 04 21 */ bctrl
lbl_802C8D38:
/* 802C8D38 002C4998 39 61 01 20 */ addi r11, r1, 0x120
/* 802C8D3C 002C499C 4B EF E4 35 */ bl _restgpr_26
/* 802C8D40 002C49A0 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802C8D44 002C49A4 7C 08 03 A6 */ mtlr r0
/* 802C8D48 002C49A8 38 21 01 20 */ addi r1, r1, 0x120
/* 802C8D4C 002C49AC 4E 80 00 20 */ blr
.global btm_inq_rmt_name_failed
btm_inq_rmt_name_failed:
/* 802C8D50 002C49B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C8D54 002C49B4 7C 08 02 A6 */ mflr r0
/* 802C8D58 002C49B8 38 60 00 00 */ li r3, 0
/* 802C8D5C 002C49BC 38 80 00 00 */ li r4, 0
/* 802C8D60 002C49C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C8D64 002C49C4 38 A0 00 00 */ li r5, 0
/* 802C8D68 002C49C8 38 C0 00 1F */ li r6, 0x1f
/* 802C8D6C 002C49CC 4B FF FE 8D */ bl btm_process_remote_name
/* 802C8D70 002C49D0 38 60 00 00 */ li r3, 0
/* 802C8D74 002C49D4 38 80 00 00 */ li r4, 0
/* 802C8D78 002C49D8 38 A0 00 1F */ li r5, 0x1f
/* 802C8D7C 002C49DC 48 00 2E D9 */ bl btm_sec_rmt_name_request_complete
/* 802C8D80 002C49E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C8D84 002C49E4 7C 08 03 A6 */ mtlr r0
/* 802C8D88 002C49E8 38 21 00 10 */ addi r1, r1, 0x10
/* 802C8D8C 002C49EC 4E 80 00 20 */ blr
|