summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/gap_conn.s
blob: 4838c317a11830816698e89e564210de4e5f4344 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
.include "macros.inc"

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

.global gap_conn_init
gap_conn_init:
/* 802CEC90 002CA8F0  3D 40 80 2D */	lis r10, gap_connect_ind@ha
/* 802CEC94 002CA8F4  3D 20 80 57 */	lis r9, lbl_8056B340@ha
/* 802CEC98 002CA8F8  3D 00 80 2D */	lis r8, gap_connect_cfm@ha
/* 802CEC9C 002CA8FC  3C E0 80 2D */	lis r7, gap_config_ind@ha
/* 802CECA0 002CA900  3C C0 80 2D */	lis r6, gap_config_cfm@ha
/* 802CECA4 002CA904  3C A0 80 2D */	lis r5, gap_disconnect_ind@ha
/* 802CECA8 002CA908  3C 80 80 2D */	lis r4, gap_data_ind@ha
/* 802CECAC 002CA90C  3C 60 80 2D */	lis r3, gap_congestion_ind@ha
/* 802CECB0 002CA910  39 4A ED 00 */	addi r10, r10, gap_connect_ind@l
/* 802CECB4 002CA914  39 29 B3 40 */	addi r9, r9, lbl_8056B340@l
/* 802CECB8 002CA918  38 00 00 00 */	li r0, 0
/* 802CECBC 002CA91C  39 08 EE 8C */	addi r8, r8, gap_connect_cfm@l
/* 802CECC0 002CA920  38 E7 F0 68 */	addi r7, r7, gap_config_ind@l
/* 802CECC4 002CA924  38 C6 F1 A4 */	addi r6, r6, gap_config_cfm@l
/* 802CECC8 002CA928  38 A5 F3 90 */	addi r5, r5, gap_disconnect_ind@l
/* 802CECCC 002CA92C  38 84 F5 88 */	addi r4, r4, gap_data_ind@l
/* 802CECD0 002CA930  38 63 F6 98 */	addi r3, r3, gap_congestion_ind@l
/* 802CECD4 002CA934  91 49 00 84 */	stw r10, 0x84(r9)
/* 802CECD8 002CA938  91 09 00 88 */	stw r8, 0x88(r9)
/* 802CECDC 002CA93C  90 09 00 8C */	stw r0, 0x8c(r9)
/* 802CECE0 002CA940  90 E9 00 90 */	stw r7, 0x90(r9)
/* 802CECE4 002CA944  90 C9 00 94 */	stw r6, 0x94(r9)
/* 802CECE8 002CA948  90 A9 00 98 */	stw r5, 0x98(r9)
/* 802CECEC 002CA94C  90 09 00 9C */	stw r0, 0x9c(r9)
/* 802CECF0 002CA950  90 09 00 A0 */	stw r0, 0xa0(r9)
/* 802CECF4 002CA954  90 89 00 A4 */	stw r4, 0xa4(r9)
/* 802CECF8 002CA958  90 69 00 A8 */	stw r3, 0xa8(r9)
/* 802CECFC 002CA95C  4E 80 00 20 */	blr

gap_connect_ind:
/* 802CED00 002CA960  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802CED04 002CA964  7C 08 02 A6 */	mflr r0
/* 802CED08 002CA968  90 01 00 24 */	stw r0, 0x24(r1)
/* 802CED0C 002CA96C  39 61 00 20 */	addi r11, r1, 0x20
/* 802CED10 002CA970  4B EF 84 15 */	bl _savegpr_26
/* 802CED14 002CA974  3C E0 80 57 */	lis r7, lbl_8056B340@ha
/* 802CED18 002CA978  7C 7A 1B 78 */	mr r26, r3
/* 802CED1C 002CA97C  38 E7 B3 40 */	addi r7, r7, lbl_8056B340@l
/* 802CED20 002CA980  7C 9F 23 78 */	mr r31, r4
/* 802CED24 002CA984  7C BB 2B 78 */	mr r27, r5
/* 802CED28 002CA988  7C DC 33 78 */	mr r28, r6
/* 802CED2C 002CA98C  3B A7 00 AC */	addi r29, r7, 0xac
/* 802CED30 002CA990  3B C0 00 00 */	li r30, 0
lbl_802CED34:
/* 802CED34 002CA994  88 1D 00 00 */	lbz r0, 0(r29)
/* 802CED38 002CA998  28 00 00 01 */	cmplwi r0, 1
/* 802CED3C 002CA99C  40 82 00 34 */	bne lbl_802CED70
/* 802CED40 002CA9A0  A0 1D 00 10 */	lhz r0, 0x10(r29)
/* 802CED44 002CA9A4  7C 00 D8 40 */	cmplw r0, r27
/* 802CED48 002CA9A8  40 82 00 28 */	bne lbl_802CED70
/* 802CED4C 002CA9AC  88 1D 00 08 */	lbz r0, 8(r29)
/* 802CED50 002CA9B0  2C 00 00 00 */	cmpwi r0, 0
/* 802CED54 002CA9B4  41 82 00 2C */	beq lbl_802CED80
/* 802CED58 002CA9B8  7F 43 D3 78 */	mr r3, r26
/* 802CED5C 002CA9BC  38 9D 00 09 */	addi r4, r29, 9
/* 802CED60 002CA9C0  38 A0 00 06 */	li r5, 6
/* 802CED64 002CA9C4  4B EF B6 35 */	bl memcmp
/* 802CED68 002CA9C8  2C 03 00 00 */	cmpwi r3, 0
/* 802CED6C 002CA9CC  41 82 00 14 */	beq lbl_802CED80
lbl_802CED70:
/* 802CED70 002CA9D0  3B DE 00 01 */	addi r30, r30, 1
/* 802CED74 002CA9D4  3B BD 00 60 */	addi r29, r29, 0x60
/* 802CED78 002CA9D8  28 1E 00 08 */	cmplwi r30, 8
/* 802CED7C 002CA9DC  41 80 FF B8 */	blt lbl_802CED34
lbl_802CED80:
/* 802CED80 002CA9E0  57 C0 04 3E */	clrlwi r0, r30, 0x10
/* 802CED84 002CA9E4  28 00 00 08 */	cmplwi r0, 8
/* 802CED88 002CA9E8  40 82 00 80 */	bne lbl_802CEE08
/* 802CED8C 002CA9EC  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CED90 002CA9F0  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CED94 002CA9F4  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802CED98 002CA9F8  28 00 00 02 */	cmplwi r0, 2
/* 802CED9C 002CA9FC  41 80 00 14 */	blt lbl_802CEDB0
/* 802CEDA0 002CAA00  3C 60 00 0E */	lis r3, 0x000E0001@ha
/* 802CEDA4 002CAA04  38 8D 8A 50 */	addi r4, r13, lbl_8063DD10-_SDA_BASE_
/* 802CEDA8 002CAA08  38 63 00 01 */	addi r3, r3, 0x000E0001@l
/* 802CEDAC 002CAA0C  4B FE E1 65 */	bl LogMsg_0
lbl_802CEDB0:
/* 802CEDB0 002CAA10  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CEDB4 002CAA14  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CEDB8 002CAA18  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802CEDBC 002CAA1C  28 00 00 02 */	cmplwi r0, 2
/* 802CEDC0 002CAA20  41 80 00 18 */	blt lbl_802CEDD8
/* 802CEDC4 002CAA24  3C 60 00 0E */	lis r3, 0x000E0001@ha
/* 802CEDC8 002CAA28  3C 80 80 44 */	lis r4, lbl_80442330@ha
/* 802CEDCC 002CAA2C  38 63 00 01 */	addi r3, r3, 0x000E0001@l
/* 802CEDD0 002CAA30  38 84 23 30 */	addi r4, r4, lbl_80442330@l
/* 802CEDD4 002CAA34  4B FE E1 3D */	bl LogMsg_0
lbl_802CEDD8:
/* 802CEDD8 002CAA38  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CEDDC 002CAA3C  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CEDE0 002CAA40  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802CEDE4 002CAA44  28 00 00 02 */	cmplwi r0, 2
/* 802CEDE8 002CAA48  41 80 00 14 */	blt lbl_802CEDFC
/* 802CEDEC 002CAA4C  3C 60 00 0E */	lis r3, 0x000E0001@ha
/* 802CEDF0 002CAA50  38 8D 8A 50 */	addi r4, r13, lbl_8063DD10-_SDA_BASE_
/* 802CEDF4 002CAA54  38 63 00 01 */	addi r3, r3, 0x000E0001@l
/* 802CEDF8 002CAA58  4B FE E1 19 */	bl LogMsg_0
lbl_802CEDFC:
/* 802CEDFC 002CAA5C  7F E3 FB 78 */	mr r3, r31
/* 802CEE00 002CAA60  48 00 71 A9 */	bl L2CA_DisconnectReq
/* 802CEE04 002CAA64  48 00 00 70 */	b lbl_802CEE74
lbl_802CEE08:
/* 802CEE08 002CAA68  38 00 00 03 */	li r0, 3
/* 802CEE0C 002CAA6C  7F 44 D3 78 */	mr r4, r26
/* 802CEE10 002CAA70  98 1D 00 00 */	stb r0, 0(r29)
/* 802CEE14 002CAA74  38 7D 00 09 */	addi r3, r29, 9
/* 802CEE18 002CAA78  38 A0 00 06 */	li r5, 6
/* 802CEE1C 002CAA7C  4B D3 51 E5 */	bl memcpy
/* 802CEE20 002CAA80  B3 FD 00 06 */	sth r31, 6(r29)
/* 802CEE24 002CAA84  7F 43 D3 78 */	mr r3, r26
/* 802CEE28 002CAA88  7F 84 E3 78 */	mr r4, r28
/* 802CEE2C 002CAA8C  7F E5 FB 78 */	mr r5, r31
/* 802CEE30 002CAA90  38 C0 00 00 */	li r6, 0
/* 802CEE34 002CAA94  38 E0 00 00 */	li r7, 0
/* 802CEE38 002CAA98  48 00 6E 59 */	bl L2CA_ConnectRsp
/* 802CEE3C 002CAA9C  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CEE40 002CAAA0  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CEE44 002CAAA4  88 03 00 28 */	lbz r0, 0x28(r3)
/* 802CEE48 002CAAA8  28 00 00 04 */	cmplwi r0, 4
/* 802CEE4C 002CAAAC  41 80 00 1C */	blt lbl_802CEE68
/* 802CEE50 002CAAB0  3C 60 00 0E */	lis r3, 0x000E0003@ha
/* 802CEE54 002CAAB4  3C 80 80 44 */	lis r4, lbl_80442374@ha
/* 802CEE58 002CAAB8  A0 BD 00 06 */	lhz r5, 6(r29)
/* 802CEE5C 002CAABC  38 63 00 03 */	addi r3, r3, 0x000E0003@l
/* 802CEE60 002CAAC0  38 84 23 74 */	addi r4, r4, lbl_80442374@l
/* 802CEE64 002CAAC4  4B FE E0 C5 */	bl LogMsg_1
lbl_802CEE68:
/* 802CEE68 002CAAC8  7F E3 FB 78 */	mr r3, r31
/* 802CEE6C 002CAACC  38 9D 00 24 */	addi r4, r29, 0x24
/* 802CEE70 002CAAD0  48 00 6F B1 */	bl L2CA_ConfigReq
lbl_802CEE74:
/* 802CEE74 002CAAD4  39 61 00 20 */	addi r11, r1, 0x20
/* 802CEE78 002CAAD8  4B EF 82 F9 */	bl _restgpr_26
/* 802CEE7C 002CAADC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802CEE80 002CAAE0  7C 08 03 A6 */	mtlr r0
/* 802CEE84 002CAAE4  38 21 00 20 */	addi r1, r1, 0x20
/* 802CEE88 002CAAE8  4E 80 00 20 */	blr

gap_connect_cfm:
/* 802CEE8C 002CAAEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802CEE90 002CAAF0  7C 08 02 A6 */	mflr r0
/* 802CEE94 002CAAF4  3C A0 80 57 */	lis r5, lbl_8056B340@ha
/* 802CEE98 002CAAF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802CEE9C 002CAAFC  38 00 00 02 */	li r0, 2
/* 802CEEA0 002CAB00  38 A5 B3 40 */	addi r5, r5, lbl_8056B340@l
/* 802CEEA4 002CAB04  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802CEEA8 002CAB08  3B E5 00 AC */	addi r31, r5, 0xac
/* 802CEEAC 002CAB0C  38 A0 00 00 */	li r5, 0
/* 802CEEB0 002CAB10  93 C1 00 08 */	stw r30, 8(r1)
/* 802CEEB4 002CAB14  7C 09 03 A6 */	mtctr r0
lbl_802CEEB8:
/* 802CEEB8 002CAB18  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CEEBC 002CAB1C  2C 00 00 00 */	cmpwi r0, 0
/* 802CEEC0 002CAB20  41 82 00 14 */	beq lbl_802CEED4
/* 802CEEC4 002CAB24  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CEEC8 002CAB28  7C 00 18 40 */	cmplw r0, r3
/* 802CEECC 002CAB2C  40 82 00 08 */	bne lbl_802CEED4
/* 802CEED0 002CAB30  48 00 00 74 */	b lbl_802CEF44
lbl_802CEED4:
/* 802CEED4 002CAB34  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CEED8 002CAB38  38 A5 00 01 */	addi r5, r5, 1
/* 802CEEDC 002CAB3C  2C 00 00 00 */	cmpwi r0, 0
/* 802CEEE0 002CAB40  41 82 00 14 */	beq lbl_802CEEF4
/* 802CEEE4 002CAB44  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CEEE8 002CAB48  7C 00 18 40 */	cmplw r0, r3
/* 802CEEEC 002CAB4C  40 82 00 08 */	bne lbl_802CEEF4
/* 802CEEF0 002CAB50  48 00 00 54 */	b lbl_802CEF44
lbl_802CEEF4:
/* 802CEEF4 002CAB54  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CEEF8 002CAB58  38 A5 00 01 */	addi r5, r5, 1
/* 802CEEFC 002CAB5C  2C 00 00 00 */	cmpwi r0, 0
/* 802CEF00 002CAB60  41 82 00 14 */	beq lbl_802CEF14
/* 802CEF04 002CAB64  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CEF08 002CAB68  7C 00 18 40 */	cmplw r0, r3
/* 802CEF0C 002CAB6C  40 82 00 08 */	bne lbl_802CEF14
/* 802CEF10 002CAB70  48 00 00 34 */	b lbl_802CEF44
lbl_802CEF14:
/* 802CEF14 002CAB74  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CEF18 002CAB78  38 A5 00 01 */	addi r5, r5, 1
/* 802CEF1C 002CAB7C  2C 00 00 00 */	cmpwi r0, 0
/* 802CEF20 002CAB80  41 82 00 14 */	beq lbl_802CEF34
/* 802CEF24 002CAB84  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CEF28 002CAB88  7C 00 18 40 */	cmplw r0, r3
/* 802CEF2C 002CAB8C  40 82 00 08 */	bne lbl_802CEF34
/* 802CEF30 002CAB90  48 00 00 14 */	b lbl_802CEF44
lbl_802CEF34:
/* 802CEF34 002CAB94  38 A5 00 01 */	addi r5, r5, 1
/* 802CEF38 002CAB98  3B FF 00 60 */	addi r31, r31, 0x60
/* 802CEF3C 002CAB9C  42 00 FF 7C */	bdnz lbl_802CEEB8
/* 802CEF40 002CABA0  3B E0 00 00 */	li r31, 0
lbl_802CEF44:
/* 802CEF44 002CABA4  2C 1F 00 00 */	cmpwi r31, 0
/* 802CEF48 002CABA8  41 82 01 08 */	beq lbl_802CF050
/* 802CEF4C 002CABAC  2C 04 00 00 */	cmpwi r4, 0
/* 802CEF50 002CABB0  40 82 00 24 */	bne lbl_802CEF74
/* 802CEF54 002CABB4  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CEF58 002CABB8  28 00 00 02 */	cmplwi r0, 2
/* 802CEF5C 002CABBC  40 82 00 18 */	bne lbl_802CEF74
/* 802CEF60 002CABC0  38 00 00 03 */	li r0, 3
/* 802CEF64 002CABC4  38 9F 00 24 */	addi r4, r31, 0x24
/* 802CEF68 002CABC8  98 1F 00 00 */	stb r0, 0(r31)
/* 802CEF6C 002CABCC  48 00 6E B5 */	bl L2CA_ConfigReq
/* 802CEF70 002CABD0  48 00 00 E0 */	b lbl_802CF050
lbl_802CEF74:
/* 802CEF74 002CABD4  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802CEF78 002CABD8  2C 0C 00 00 */	cmpwi r12, 0
/* 802CEF7C 002CABDC  41 82 00 14 */	beq lbl_802CEF90
/* 802CEF80 002CABE0  A0 7F 00 04 */	lhz r3, 4(r31)
/* 802CEF84 002CABE4  38 80 01 01 */	li r4, 0x101
/* 802CEF88 002CABE8  7D 89 03 A6 */	mtctr r12
/* 802CEF8C 002CABEC  4E 80 04 21 */	bctrl
lbl_802CEF90:
/* 802CEF90 002CABF0  A3 DF 00 10 */	lhz r30, 0x10(r31)
/* 802CEF94 002CABF4  48 00 00 10 */	b lbl_802CEFA4
lbl_802CEF98:
/* 802CEF98 002CABF8  38 7F 00 14 */	addi r3, r31, 0x14
/* 802CEF9C 002CABFC  4B FE B4 35 */	bl GKI_dequeue
/* 802CEFA0 002CAC00  4B FE AD 95 */	bl GKI_freebuf
lbl_802CEFA4:
/* 802CEFA4 002CAC04  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 802CEFA8 002CAC08  2C 00 00 00 */	cmpwi r0, 0
/* 802CEFAC 002CAC0C  40 82 FF EC */	bne lbl_802CEF98
/* 802CEFB0 002CAC10  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CEFB4 002CAC14  38 80 00 00 */	li r4, 0
/* 802CEFB8 002CAC18  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CEFBC 002CAC1C  38 00 00 02 */	li r0, 2
/* 802CEFC0 002CAC20  98 9F 00 00 */	stb r4, 0(r31)
/* 802CEFC4 002CAC24  38 83 00 AC */	addi r4, r3, 0xac
/* 802CEFC8 002CAC28  38 60 00 00 */	li r3, 0
/* 802CEFCC 002CAC2C  7C 09 03 A6 */	mtctr r0
lbl_802CEFD0:
/* 802CEFD0 002CAC30  88 04 00 00 */	lbz r0, 0(r4)
/* 802CEFD4 002CAC34  2C 00 00 00 */	cmpwi r0, 0
/* 802CEFD8 002CAC38  41 82 00 10 */	beq lbl_802CEFE8
/* 802CEFDC 002CAC3C  A0 04 00 10 */	lhz r0, 0x10(r4)
/* 802CEFE0 002CAC40  7C 00 F0 40 */	cmplw r0, r30
/* 802CEFE4 002CAC44  41 82 00 6C */	beq lbl_802CF050
lbl_802CEFE8:
/* 802CEFE8 002CAC48  88 04 00 60 */	lbz r0, 0x60(r4)
/* 802CEFEC 002CAC4C  38 63 00 01 */	addi r3, r3, 1
/* 802CEFF0 002CAC50  2C 00 00 00 */	cmpwi r0, 0
/* 802CEFF4 002CAC54  41 82 00 10 */	beq lbl_802CF004
/* 802CEFF8 002CAC58  A0 04 00 70 */	lhz r0, 0x70(r4)
/* 802CEFFC 002CAC5C  7C 00 F0 40 */	cmplw r0, r30
/* 802CF000 002CAC60  41 82 00 50 */	beq lbl_802CF050
lbl_802CF004:
/* 802CF004 002CAC64  88 04 00 C0 */	lbz r0, 0xc0(r4)
/* 802CF008 002CAC68  38 63 00 01 */	addi r3, r3, 1
/* 802CF00C 002CAC6C  2C 00 00 00 */	cmpwi r0, 0
/* 802CF010 002CAC70  41 82 00 10 */	beq lbl_802CF020
/* 802CF014 002CAC74  A0 04 00 D0 */	lhz r0, 0xd0(r4)
/* 802CF018 002CAC78  7C 00 F0 40 */	cmplw r0, r30
/* 802CF01C 002CAC7C  41 82 00 34 */	beq lbl_802CF050
lbl_802CF020:
/* 802CF020 002CAC80  88 04 01 20 */	lbz r0, 0x120(r4)
/* 802CF024 002CAC84  38 63 00 01 */	addi r3, r3, 1
/* 802CF028 002CAC88  2C 00 00 00 */	cmpwi r0, 0
/* 802CF02C 002CAC8C  41 82 00 10 */	beq lbl_802CF03C
/* 802CF030 002CAC90  A0 04 01 30 */	lhz r0, 0x130(r4)
/* 802CF034 002CAC94  7C 00 F0 40 */	cmplw r0, r30
/* 802CF038 002CAC98  41 82 00 18 */	beq lbl_802CF050
lbl_802CF03C:
/* 802CF03C 002CAC9C  38 63 00 01 */	addi r3, r3, 1
/* 802CF040 002CACA0  38 84 01 80 */	addi r4, r4, 0x180
/* 802CF044 002CACA4  42 00 FF 8C */	bdnz lbl_802CEFD0
/* 802CF048 002CACA8  7F C3 F3 78 */	mr r3, r30
/* 802CF04C 002CACAC  48 00 69 81 */	bl L2CA_Deregister
lbl_802CF050:
/* 802CF050 002CACB0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802CF054 002CACB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802CF058 002CACB8  83 C1 00 08 */	lwz r30, 8(r1)
/* 802CF05C 002CACBC  7C 08 03 A6 */	mtlr r0
/* 802CF060 002CACC0  38 21 00 10 */	addi r1, r1, 0x10
/* 802CF064 002CACC4  4E 80 00 20 */	blr

gap_config_ind:
/* 802CF068 002CACC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802CF06C 002CACCC  7C 08 02 A6 */	mflr r0
/* 802CF070 002CACD0  3C A0 80 57 */	lis r5, lbl_8056B340@ha
/* 802CF074 002CACD4  38 C0 00 00 */	li r6, 0
/* 802CF078 002CACD8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802CF07C 002CACDC  38 00 00 02 */	li r0, 2
/* 802CF080 002CACE0  38 A5 B3 40 */	addi r5, r5, lbl_8056B340@l
/* 802CF084 002CACE4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802CF088 002CACE8  3B E5 00 AC */	addi r31, r5, 0xac
/* 802CF08C 002CACEC  7C 09 03 A6 */	mtctr r0
lbl_802CF090:
/* 802CF090 002CACF0  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CF094 002CACF4  2C 00 00 00 */	cmpwi r0, 0
/* 802CF098 002CACF8  41 82 00 14 */	beq lbl_802CF0AC
/* 802CF09C 002CACFC  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF0A0 002CAD00  7C 00 18 40 */	cmplw r0, r3
/* 802CF0A4 002CAD04  40 82 00 08 */	bne lbl_802CF0AC
/* 802CF0A8 002CAD08  48 00 00 74 */	b lbl_802CF11C
lbl_802CF0AC:
/* 802CF0AC 002CAD0C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF0B0 002CAD10  38 C6 00 01 */	addi r6, r6, 1
/* 802CF0B4 002CAD14  2C 00 00 00 */	cmpwi r0, 0
/* 802CF0B8 002CAD18  41 82 00 14 */	beq lbl_802CF0CC
/* 802CF0BC 002CAD1C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF0C0 002CAD20  7C 00 18 40 */	cmplw r0, r3
/* 802CF0C4 002CAD24  40 82 00 08 */	bne lbl_802CF0CC
/* 802CF0C8 002CAD28  48 00 00 54 */	b lbl_802CF11C
lbl_802CF0CC:
/* 802CF0CC 002CAD2C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF0D0 002CAD30  38 C6 00 01 */	addi r6, r6, 1
/* 802CF0D4 002CAD34  2C 00 00 00 */	cmpwi r0, 0
/* 802CF0D8 002CAD38  41 82 00 14 */	beq lbl_802CF0EC
/* 802CF0DC 002CAD3C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF0E0 002CAD40  7C 00 18 40 */	cmplw r0, r3
/* 802CF0E4 002CAD44  40 82 00 08 */	bne lbl_802CF0EC
/* 802CF0E8 002CAD48  48 00 00 34 */	b lbl_802CF11C
lbl_802CF0EC:
/* 802CF0EC 002CAD4C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF0F0 002CAD50  38 C6 00 01 */	addi r6, r6, 1
/* 802CF0F4 002CAD54  2C 00 00 00 */	cmpwi r0, 0
/* 802CF0F8 002CAD58  41 82 00 14 */	beq lbl_802CF10C
/* 802CF0FC 002CAD5C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF100 002CAD60  7C 00 18 40 */	cmplw r0, r3
/* 802CF104 002CAD64  40 82 00 08 */	bne lbl_802CF10C
/* 802CF108 002CAD68  48 00 00 14 */	b lbl_802CF11C
lbl_802CF10C:
/* 802CF10C 002CAD6C  38 C6 00 01 */	addi r6, r6, 1
/* 802CF110 002CAD70  3B FF 00 60 */	addi r31, r31, 0x60
/* 802CF114 002CAD74  42 00 FF 7C */	bdnz lbl_802CF090
/* 802CF118 002CAD78  3B E0 00 00 */	li r31, 0
lbl_802CF11C:
/* 802CF11C 002CAD7C  2C 1F 00 00 */	cmpwi r31, 0
/* 802CF120 002CAD80  41 82 00 70 */	beq lbl_802CF190
/* 802CF124 002CAD84  88 04 00 02 */	lbz r0, 2(r4)
/* 802CF128 002CAD88  2C 00 00 00 */	cmpwi r0, 0
/* 802CF12C 002CAD8C  41 82 00 10 */	beq lbl_802CF13C
/* 802CF130 002CAD90  A0 04 00 04 */	lhz r0, 4(r4)
/* 802CF134 002CAD94  28 00 06 9B */	cmplwi r0, 0x69b
/* 802CF138 002CAD98  40 81 00 10 */	ble lbl_802CF148
lbl_802CF13C:
/* 802CF13C 002CAD9C  38 00 06 9B */	li r0, 0x69b
/* 802CF140 002CADA0  B0 1F 00 12 */	sth r0, 0x12(r31)
/* 802CF144 002CADA4  48 00 00 08 */	b lbl_802CF14C
lbl_802CF148:
/* 802CF148 002CADA8  B0 1F 00 12 */	sth r0, 0x12(r31)
lbl_802CF14C:
/* 802CF14C 002CADAC  38 00 00 00 */	li r0, 0
/* 802CF150 002CADB0  98 04 00 20 */	stb r0, 0x20(r4)
/* 802CF154 002CADB4  98 04 00 02 */	stb r0, 2(r4)
/* 802CF158 002CADB8  B0 04 00 00 */	sth r0, 0(r4)
/* 802CF15C 002CADBC  48 00 6D 7D */	bl L2CA_ConfigRsp
/* 802CF160 002CADC0  88 1F 00 01 */	lbz r0, 1(r31)
/* 802CF164 002CADC4  60 03 00 02 */	ori r3, r0, 2
/* 802CF168 002CADC8  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 802CF16C 002CADCC  98 7F 00 01 */	stb r3, 1(r31)
/* 802CF170 002CADD0  41 82 00 20 */	beq lbl_802CF190
/* 802CF174 002CADD4  38 00 00 04 */	li r0, 4
/* 802CF178 002CADD8  38 80 01 00 */	li r4, 0x100
/* 802CF17C 002CADDC  98 1F 00 00 */	stb r0, 0(r31)
/* 802CF180 002CADE0  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802CF184 002CADE4  A0 7F 00 04 */	lhz r3, 4(r31)
/* 802CF188 002CADE8  7D 89 03 A6 */	mtctr r12
/* 802CF18C 002CADEC  4E 80 04 21 */	bctrl
lbl_802CF190:
/* 802CF190 002CADF0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802CF194 002CADF4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802CF198 002CADF8  7C 08 03 A6 */	mtlr r0
/* 802CF19C 002CADFC  38 21 00 10 */	addi r1, r1, 0x10
/* 802CF1A0 002CAE00  4E 80 00 20 */	blr

gap_config_cfm:
/* 802CF1A4 002CAE04  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802CF1A8 002CAE08  7C 08 02 A6 */	mflr r0
/* 802CF1AC 002CAE0C  3C A0 80 57 */	lis r5, lbl_8056B340@ha
/* 802CF1B0 002CAE10  38 C0 00 00 */	li r6, 0
/* 802CF1B4 002CAE14  90 01 00 14 */	stw r0, 0x14(r1)
/* 802CF1B8 002CAE18  38 00 00 02 */	li r0, 2
/* 802CF1BC 002CAE1C  38 A5 B3 40 */	addi r5, r5, lbl_8056B340@l
/* 802CF1C0 002CAE20  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802CF1C4 002CAE24  3B E5 00 AC */	addi r31, r5, 0xac
/* 802CF1C8 002CAE28  93 C1 00 08 */	stw r30, 8(r1)
/* 802CF1CC 002CAE2C  7C 09 03 A6 */	mtctr r0
lbl_802CF1D0:
/* 802CF1D0 002CAE30  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CF1D4 002CAE34  2C 00 00 00 */	cmpwi r0, 0
/* 802CF1D8 002CAE38  41 82 00 14 */	beq lbl_802CF1EC
/* 802CF1DC 002CAE3C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF1E0 002CAE40  7C 00 18 40 */	cmplw r0, r3
/* 802CF1E4 002CAE44  40 82 00 08 */	bne lbl_802CF1EC
/* 802CF1E8 002CAE48  48 00 00 74 */	b lbl_802CF25C
lbl_802CF1EC:
/* 802CF1EC 002CAE4C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF1F0 002CAE50  38 C6 00 01 */	addi r6, r6, 1
/* 802CF1F4 002CAE54  2C 00 00 00 */	cmpwi r0, 0
/* 802CF1F8 002CAE58  41 82 00 14 */	beq lbl_802CF20C
/* 802CF1FC 002CAE5C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF200 002CAE60  7C 00 18 40 */	cmplw r0, r3
/* 802CF204 002CAE64  40 82 00 08 */	bne lbl_802CF20C
/* 802CF208 002CAE68  48 00 00 54 */	b lbl_802CF25C
lbl_802CF20C:
/* 802CF20C 002CAE6C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF210 002CAE70  38 C6 00 01 */	addi r6, r6, 1
/* 802CF214 002CAE74  2C 00 00 00 */	cmpwi r0, 0
/* 802CF218 002CAE78  41 82 00 14 */	beq lbl_802CF22C
/* 802CF21C 002CAE7C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF220 002CAE80  7C 00 18 40 */	cmplw r0, r3
/* 802CF224 002CAE84  40 82 00 08 */	bne lbl_802CF22C
/* 802CF228 002CAE88  48 00 00 34 */	b lbl_802CF25C
lbl_802CF22C:
/* 802CF22C 002CAE8C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF230 002CAE90  38 C6 00 01 */	addi r6, r6, 1
/* 802CF234 002CAE94  2C 00 00 00 */	cmpwi r0, 0
/* 802CF238 002CAE98  41 82 00 14 */	beq lbl_802CF24C
/* 802CF23C 002CAE9C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF240 002CAEA0  7C 00 18 40 */	cmplw r0, r3
/* 802CF244 002CAEA4  40 82 00 08 */	bne lbl_802CF24C
/* 802CF248 002CAEA8  48 00 00 14 */	b lbl_802CF25C
lbl_802CF24C:
/* 802CF24C 002CAEAC  38 C6 00 01 */	addi r6, r6, 1
/* 802CF250 002CAEB0  3B FF 00 60 */	addi r31, r31, 0x60
/* 802CF254 002CAEB4  42 00 FF 7C */	bdnz lbl_802CF1D0
/* 802CF258 002CAEB8  3B E0 00 00 */	li r31, 0
lbl_802CF25C:
/* 802CF25C 002CAEBC  2C 1F 00 00 */	cmpwi r31, 0
/* 802CF260 002CAEC0  41 82 01 18 */	beq lbl_802CF378
/* 802CF264 002CAEC4  A0 04 00 00 */	lhz r0, 0(r4)
/* 802CF268 002CAEC8  2C 00 00 00 */	cmpwi r0, 0
/* 802CF26C 002CAECC  40 82 00 38 */	bne lbl_802CF2A4
/* 802CF270 002CAED0  88 1F 00 01 */	lbz r0, 1(r31)
/* 802CF274 002CAED4  60 03 00 04 */	ori r3, r0, 4
/* 802CF278 002CAED8  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 802CF27C 002CAEDC  98 7F 00 01 */	stb r3, 1(r31)
/* 802CF280 002CAEE0  41 82 00 F8 */	beq lbl_802CF378
/* 802CF284 002CAEE4  38 00 00 04 */	li r0, 4
/* 802CF288 002CAEE8  38 80 01 00 */	li r4, 0x100
/* 802CF28C 002CAEEC  98 1F 00 00 */	stb r0, 0(r31)
/* 802CF290 002CAEF0  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802CF294 002CAEF4  A0 7F 00 04 */	lhz r3, 4(r31)
/* 802CF298 002CAEF8  7D 89 03 A6 */	mtctr r12
/* 802CF29C 002CAEFC  4E 80 04 21 */	bctrl
/* 802CF2A0 002CAF00  48 00 00 D8 */	b lbl_802CF378
lbl_802CF2A4:
/* 802CF2A4 002CAF04  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802CF2A8 002CAF08  38 80 01 01 */	li r4, 0x101
/* 802CF2AC 002CAF0C  A0 7F 00 04 */	lhz r3, 4(r31)
/* 802CF2B0 002CAF10  7D 89 03 A6 */	mtctr r12
/* 802CF2B4 002CAF14  4E 80 04 21 */	bctrl
/* 802CF2B8 002CAF18  A3 DF 00 10 */	lhz r30, 0x10(r31)
/* 802CF2BC 002CAF1C  48 00 00 10 */	b lbl_802CF2CC
lbl_802CF2C0:
/* 802CF2C0 002CAF20  38 7F 00 14 */	addi r3, r31, 0x14
/* 802CF2C4 002CAF24  4B FE B1 0D */	bl GKI_dequeue
/* 802CF2C8 002CAF28  4B FE AA 6D */	bl GKI_freebuf
lbl_802CF2CC:
/* 802CF2CC 002CAF2C  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 802CF2D0 002CAF30  2C 00 00 00 */	cmpwi r0, 0
/* 802CF2D4 002CAF34  40 82 FF EC */	bne lbl_802CF2C0
/* 802CF2D8 002CAF38  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CF2DC 002CAF3C  38 80 00 00 */	li r4, 0
/* 802CF2E0 002CAF40  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CF2E4 002CAF44  38 00 00 02 */	li r0, 2
/* 802CF2E8 002CAF48  98 9F 00 00 */	stb r4, 0(r31)
/* 802CF2EC 002CAF4C  38 83 00 AC */	addi r4, r3, 0xac
/* 802CF2F0 002CAF50  38 60 00 00 */	li r3, 0
/* 802CF2F4 002CAF54  7C 09 03 A6 */	mtctr r0
lbl_802CF2F8:
/* 802CF2F8 002CAF58  88 04 00 00 */	lbz r0, 0(r4)
/* 802CF2FC 002CAF5C  2C 00 00 00 */	cmpwi r0, 0
/* 802CF300 002CAF60  41 82 00 10 */	beq lbl_802CF310
/* 802CF304 002CAF64  A0 04 00 10 */	lhz r0, 0x10(r4)
/* 802CF308 002CAF68  7C 00 F0 40 */	cmplw r0, r30
/* 802CF30C 002CAF6C  41 82 00 6C */	beq lbl_802CF378
lbl_802CF310:
/* 802CF310 002CAF70  88 04 00 60 */	lbz r0, 0x60(r4)
/* 802CF314 002CAF74  38 63 00 01 */	addi r3, r3, 1
/* 802CF318 002CAF78  2C 00 00 00 */	cmpwi r0, 0
/* 802CF31C 002CAF7C  41 82 00 10 */	beq lbl_802CF32C
/* 802CF320 002CAF80  A0 04 00 70 */	lhz r0, 0x70(r4)
/* 802CF324 002CAF84  7C 00 F0 40 */	cmplw r0, r30
/* 802CF328 002CAF88  41 82 00 50 */	beq lbl_802CF378
lbl_802CF32C:
/* 802CF32C 002CAF8C  88 04 00 C0 */	lbz r0, 0xc0(r4)
/* 802CF330 002CAF90  38 63 00 01 */	addi r3, r3, 1
/* 802CF334 002CAF94  2C 00 00 00 */	cmpwi r0, 0
/* 802CF338 002CAF98  41 82 00 10 */	beq lbl_802CF348
/* 802CF33C 002CAF9C  A0 04 00 D0 */	lhz r0, 0xd0(r4)
/* 802CF340 002CAFA0  7C 00 F0 40 */	cmplw r0, r30
/* 802CF344 002CAFA4  41 82 00 34 */	beq lbl_802CF378
lbl_802CF348:
/* 802CF348 002CAFA8  88 04 01 20 */	lbz r0, 0x120(r4)
/* 802CF34C 002CAFAC  38 63 00 01 */	addi r3, r3, 1
/* 802CF350 002CAFB0  2C 00 00 00 */	cmpwi r0, 0
/* 802CF354 002CAFB4  41 82 00 10 */	beq lbl_802CF364
/* 802CF358 002CAFB8  A0 04 01 30 */	lhz r0, 0x130(r4)
/* 802CF35C 002CAFBC  7C 00 F0 40 */	cmplw r0, r30
/* 802CF360 002CAFC0  41 82 00 18 */	beq lbl_802CF378
lbl_802CF364:
/* 802CF364 002CAFC4  38 63 00 01 */	addi r3, r3, 1
/* 802CF368 002CAFC8  38 84 01 80 */	addi r4, r4, 0x180
/* 802CF36C 002CAFCC  42 00 FF 8C */	bdnz lbl_802CF2F8
/* 802CF370 002CAFD0  7F C3 F3 78 */	mr r3, r30
/* 802CF374 002CAFD4  48 00 66 59 */	bl L2CA_Deregister
lbl_802CF378:
/* 802CF378 002CAFD8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802CF37C 002CAFDC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802CF380 002CAFE0  83 C1 00 08 */	lwz r30, 8(r1)
/* 802CF384 002CAFE4  7C 08 03 A6 */	mtlr r0
/* 802CF388 002CAFE8  38 21 00 10 */	addi r1, r1, 0x10
/* 802CF38C 002CAFEC  4E 80 00 20 */	blr

gap_disconnect_ind:
/* 802CF390 002CAFF0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802CF394 002CAFF4  7C 08 02 A6 */	mflr r0
/* 802CF398 002CAFF8  3C A0 80 57 */	lis r5, lbl_8056B340@ha
/* 802CF39C 002CAFFC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802CF3A0 002CB000  38 A5 B3 40 */	addi r5, r5, lbl_8056B340@l
/* 802CF3A4 002CB004  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802CF3A8 002CB008  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802CF3AC 002CB00C  7C 9E 23 78 */	mr r30, r4
/* 802CF3B0 002CB010  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802CF3B4 002CB014  7C 7D 1B 78 */	mr r29, r3
/* 802CF3B8 002CB018  88 05 00 28 */	lbz r0, 0x28(r5)
/* 802CF3BC 002CB01C  28 00 00 04 */	cmplwi r0, 4
/* 802CF3C0 002CB020  41 80 00 1C */	blt lbl_802CF3DC
/* 802CF3C4 002CB024  3C 60 00 0E */	lis r3, 0x000E0003@ha
/* 802CF3C8 002CB028  3C 80 80 44 */	lis r4, lbl_804423A0@ha
/* 802CF3CC 002CB02C  7F A5 EB 78 */	mr r5, r29
/* 802CF3D0 002CB030  38 63 00 03 */	addi r3, r3, 0x000E0003@l
/* 802CF3D4 002CB034  38 84 23 A0 */	addi r4, r4, lbl_804423A0@l
/* 802CF3D8 002CB038  4B FE DB 51 */	bl LogMsg_1
lbl_802CF3DC:
/* 802CF3DC 002CB03C  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CF3E0 002CB040  38 00 00 02 */	li r0, 2
/* 802CF3E4 002CB044  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CF3E8 002CB048  38 80 00 00 */	li r4, 0
/* 802CF3EC 002CB04C  3B E3 00 AC */	addi r31, r3, 0xac
/* 802CF3F0 002CB050  7C 09 03 A6 */	mtctr r0
lbl_802CF3F4:
/* 802CF3F4 002CB054  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CF3F8 002CB058  2C 00 00 00 */	cmpwi r0, 0
/* 802CF3FC 002CB05C  41 82 00 14 */	beq lbl_802CF410
/* 802CF400 002CB060  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF404 002CB064  7C 00 E8 40 */	cmplw r0, r29
/* 802CF408 002CB068  40 82 00 08 */	bne lbl_802CF410
/* 802CF40C 002CB06C  48 00 00 74 */	b lbl_802CF480
lbl_802CF410:
/* 802CF410 002CB070  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF414 002CB074  38 84 00 01 */	addi r4, r4, 1
/* 802CF418 002CB078  2C 00 00 00 */	cmpwi r0, 0
/* 802CF41C 002CB07C  41 82 00 14 */	beq lbl_802CF430
/* 802CF420 002CB080  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF424 002CB084  7C 00 E8 40 */	cmplw r0, r29
/* 802CF428 002CB088  40 82 00 08 */	bne lbl_802CF430
/* 802CF42C 002CB08C  48 00 00 54 */	b lbl_802CF480
lbl_802CF430:
/* 802CF430 002CB090  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF434 002CB094  38 84 00 01 */	addi r4, r4, 1
/* 802CF438 002CB098  2C 00 00 00 */	cmpwi r0, 0
/* 802CF43C 002CB09C  41 82 00 14 */	beq lbl_802CF450
/* 802CF440 002CB0A0  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF444 002CB0A4  7C 00 E8 40 */	cmplw r0, r29
/* 802CF448 002CB0A8  40 82 00 08 */	bne lbl_802CF450
/* 802CF44C 002CB0AC  48 00 00 34 */	b lbl_802CF480
lbl_802CF450:
/* 802CF450 002CB0B0  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF454 002CB0B4  38 84 00 01 */	addi r4, r4, 1
/* 802CF458 002CB0B8  2C 00 00 00 */	cmpwi r0, 0
/* 802CF45C 002CB0BC  41 82 00 14 */	beq lbl_802CF470
/* 802CF460 002CB0C0  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF464 002CB0C4  7C 00 E8 40 */	cmplw r0, r29
/* 802CF468 002CB0C8  40 82 00 08 */	bne lbl_802CF470
/* 802CF46C 002CB0CC  48 00 00 14 */	b lbl_802CF480
lbl_802CF470:
/* 802CF470 002CB0D0  38 84 00 01 */	addi r4, r4, 1
/* 802CF474 002CB0D4  3B FF 00 60 */	addi r31, r31, 0x60
/* 802CF478 002CB0D8  42 00 FF 7C */	bdnz lbl_802CF3F4
/* 802CF47C 002CB0DC  3B E0 00 00 */	li r31, 0
lbl_802CF480:
/* 802CF480 002CB0E0  2C 1F 00 00 */	cmpwi r31, 0
/* 802CF484 002CB0E4  41 82 00 E8 */	beq lbl_802CF56C
/* 802CF488 002CB0E8  2C 1E 00 00 */	cmpwi r30, 0
/* 802CF48C 002CB0EC  41 82 00 0C */	beq lbl_802CF498
/* 802CF490 002CB0F0  7F A3 EB 78 */	mr r3, r29
/* 802CF494 002CB0F4  48 00 6B B9 */	bl L2CA_DisconnectRsp
lbl_802CF498:
/* 802CF498 002CB0F8  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802CF49C 002CB0FC  38 80 01 01 */	li r4, 0x101
/* 802CF4A0 002CB100  A0 7F 00 04 */	lhz r3, 4(r31)
/* 802CF4A4 002CB104  7D 89 03 A6 */	mtctr r12
/* 802CF4A8 002CB108  4E 80 04 21 */	bctrl
/* 802CF4AC 002CB10C  A3 DF 00 10 */	lhz r30, 0x10(r31)
/* 802CF4B0 002CB110  48 00 00 10 */	b lbl_802CF4C0
lbl_802CF4B4:
/* 802CF4B4 002CB114  38 7F 00 14 */	addi r3, r31, 0x14
/* 802CF4B8 002CB118  4B FE AF 19 */	bl GKI_dequeue
/* 802CF4BC 002CB11C  4B FE A8 79 */	bl GKI_freebuf
lbl_802CF4C0:
/* 802CF4C0 002CB120  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 802CF4C4 002CB124  2C 00 00 00 */	cmpwi r0, 0
/* 802CF4C8 002CB128  40 82 FF EC */	bne lbl_802CF4B4
/* 802CF4CC 002CB12C  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CF4D0 002CB130  38 80 00 00 */	li r4, 0
/* 802CF4D4 002CB134  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CF4D8 002CB138  38 00 00 02 */	li r0, 2
/* 802CF4DC 002CB13C  98 9F 00 00 */	stb r4, 0(r31)
/* 802CF4E0 002CB140  38 83 00 AC */	addi r4, r3, 0xac
/* 802CF4E4 002CB144  38 60 00 00 */	li r3, 0
/* 802CF4E8 002CB148  7C 09 03 A6 */	mtctr r0
lbl_802CF4EC:
/* 802CF4EC 002CB14C  88 04 00 00 */	lbz r0, 0(r4)
/* 802CF4F0 002CB150  2C 00 00 00 */	cmpwi r0, 0
/* 802CF4F4 002CB154  41 82 00 10 */	beq lbl_802CF504
/* 802CF4F8 002CB158  A0 04 00 10 */	lhz r0, 0x10(r4)
/* 802CF4FC 002CB15C  7C 00 F0 40 */	cmplw r0, r30
/* 802CF500 002CB160  41 82 00 6C */	beq lbl_802CF56C
lbl_802CF504:
/* 802CF504 002CB164  88 04 00 60 */	lbz r0, 0x60(r4)
/* 802CF508 002CB168  38 63 00 01 */	addi r3, r3, 1
/* 802CF50C 002CB16C  2C 00 00 00 */	cmpwi r0, 0
/* 802CF510 002CB170  41 82 00 10 */	beq lbl_802CF520
/* 802CF514 002CB174  A0 04 00 70 */	lhz r0, 0x70(r4)
/* 802CF518 002CB178  7C 00 F0 40 */	cmplw r0, r30
/* 802CF51C 002CB17C  41 82 00 50 */	beq lbl_802CF56C
lbl_802CF520:
/* 802CF520 002CB180  88 04 00 C0 */	lbz r0, 0xc0(r4)
/* 802CF524 002CB184  38 63 00 01 */	addi r3, r3, 1
/* 802CF528 002CB188  2C 00 00 00 */	cmpwi r0, 0
/* 802CF52C 002CB18C  41 82 00 10 */	beq lbl_802CF53C
/* 802CF530 002CB190  A0 04 00 D0 */	lhz r0, 0xd0(r4)
/* 802CF534 002CB194  7C 00 F0 40 */	cmplw r0, r30
/* 802CF538 002CB198  41 82 00 34 */	beq lbl_802CF56C
lbl_802CF53C:
/* 802CF53C 002CB19C  88 04 01 20 */	lbz r0, 0x120(r4)
/* 802CF540 002CB1A0  38 63 00 01 */	addi r3, r3, 1
/* 802CF544 002CB1A4  2C 00 00 00 */	cmpwi r0, 0
/* 802CF548 002CB1A8  41 82 00 10 */	beq lbl_802CF558
/* 802CF54C 002CB1AC  A0 04 01 30 */	lhz r0, 0x130(r4)
/* 802CF550 002CB1B0  7C 00 F0 40 */	cmplw r0, r30
/* 802CF554 002CB1B4  41 82 00 18 */	beq lbl_802CF56C
lbl_802CF558:
/* 802CF558 002CB1B8  38 63 00 01 */	addi r3, r3, 1
/* 802CF55C 002CB1BC  38 84 01 80 */	addi r4, r4, 0x180
/* 802CF560 002CB1C0  42 00 FF 8C */	bdnz lbl_802CF4EC
/* 802CF564 002CB1C4  7F C3 F3 78 */	mr r3, r30
/* 802CF568 002CB1C8  48 00 64 65 */	bl L2CA_Deregister
lbl_802CF56C:
/* 802CF56C 002CB1CC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802CF570 002CB1D0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802CF574 002CB1D4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802CF578 002CB1D8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802CF57C 002CB1DC  7C 08 03 A6 */	mtlr r0
/* 802CF580 002CB1E0  38 21 00 20 */	addi r1, r1, 0x20
/* 802CF584 002CB1E4  4E 80 00 20 */	blr

gap_data_ind:
/* 802CF588 002CB1E8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802CF58C 002CB1EC  7C 08 02 A6 */	mflr r0
/* 802CF590 002CB1F0  3C A0 80 57 */	lis r5, lbl_8056B340@ha
/* 802CF594 002CB1F4  90 01 00 14 */	stw r0, 0x14(r1)
/* 802CF598 002CB1F8  38 00 00 02 */	li r0, 2
/* 802CF59C 002CB1FC  38 A5 B3 40 */	addi r5, r5, lbl_8056B340@l
/* 802CF5A0 002CB200  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802CF5A4 002CB204  3B E5 00 AC */	addi r31, r5, 0xac
/* 802CF5A8 002CB208  38 A0 00 00 */	li r5, 0
/* 802CF5AC 002CB20C  7C 09 03 A6 */	mtctr r0
lbl_802CF5B0:
/* 802CF5B0 002CB210  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CF5B4 002CB214  2C 00 00 00 */	cmpwi r0, 0
/* 802CF5B8 002CB218  41 82 00 14 */	beq lbl_802CF5CC
/* 802CF5BC 002CB21C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF5C0 002CB220  7C 00 18 40 */	cmplw r0, r3
/* 802CF5C4 002CB224  40 82 00 08 */	bne lbl_802CF5CC
/* 802CF5C8 002CB228  48 00 00 74 */	b lbl_802CF63C
lbl_802CF5CC:
/* 802CF5CC 002CB22C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF5D0 002CB230  38 A5 00 01 */	addi r5, r5, 1
/* 802CF5D4 002CB234  2C 00 00 00 */	cmpwi r0, 0
/* 802CF5D8 002CB238  41 82 00 14 */	beq lbl_802CF5EC
/* 802CF5DC 002CB23C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF5E0 002CB240  7C 00 18 40 */	cmplw r0, r3
/* 802CF5E4 002CB244  40 82 00 08 */	bne lbl_802CF5EC
/* 802CF5E8 002CB248  48 00 00 54 */	b lbl_802CF63C
lbl_802CF5EC:
/* 802CF5EC 002CB24C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF5F0 002CB250  38 A5 00 01 */	addi r5, r5, 1
/* 802CF5F4 002CB254  2C 00 00 00 */	cmpwi r0, 0
/* 802CF5F8 002CB258  41 82 00 14 */	beq lbl_802CF60C
/* 802CF5FC 002CB25C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF600 002CB260  7C 00 18 40 */	cmplw r0, r3
/* 802CF604 002CB264  40 82 00 08 */	bne lbl_802CF60C
/* 802CF608 002CB268  48 00 00 34 */	b lbl_802CF63C
lbl_802CF60C:
/* 802CF60C 002CB26C  8C 1F 00 60 */	lbzu r0, 0x60(r31)
/* 802CF610 002CB270  38 A5 00 01 */	addi r5, r5, 1
/* 802CF614 002CB274  2C 00 00 00 */	cmpwi r0, 0
/* 802CF618 002CB278  41 82 00 14 */	beq lbl_802CF62C
/* 802CF61C 002CB27C  A0 1F 00 06 */	lhz r0, 6(r31)
/* 802CF620 002CB280  7C 00 18 40 */	cmplw r0, r3
/* 802CF624 002CB284  40 82 00 08 */	bne lbl_802CF62C
/* 802CF628 002CB288  48 00 00 14 */	b lbl_802CF63C
lbl_802CF62C:
/* 802CF62C 002CB28C  38 A5 00 01 */	addi r5, r5, 1
/* 802CF630 002CB290  3B FF 00 60 */	addi r31, r31, 0x60
/* 802CF634 002CB294  42 00 FF 7C */	bdnz lbl_802CF5B0
/* 802CF638 002CB298  3B E0 00 00 */	li r31, 0
lbl_802CF63C:
/* 802CF63C 002CB29C  2C 1F 00 00 */	cmpwi r31, 0
/* 802CF640 002CB2A0  40 82 00 10 */	bne lbl_802CF650
/* 802CF644 002CB2A4  7C 83 23 78 */	mr r3, r4
/* 802CF648 002CB2A8  4B FE A6 ED */	bl GKI_freebuf
/* 802CF64C 002CB2AC  48 00 00 38 */	b lbl_802CF684
lbl_802CF650:
/* 802CF650 002CB2B0  88 1F 00 00 */	lbz r0, 0(r31)
/* 802CF654 002CB2B4  28 00 00 04 */	cmplwi r0, 4
/* 802CF658 002CB2B8  40 82 00 24 */	bne lbl_802CF67C
/* 802CF65C 002CB2BC  38 7F 00 14 */	addi r3, r31, 0x14
/* 802CF660 002CB2C0  4B FE AA F5 */	bl GKI_enqueue
/* 802CF664 002CB2C4  81 9F 00 20 */	lwz r12, 0x20(r31)
/* 802CF668 002CB2C8  38 80 01 02 */	li r4, 0x102
/* 802CF66C 002CB2CC  A0 7F 00 04 */	lhz r3, 4(r31)
/* 802CF670 002CB2D0  7D 89 03 A6 */	mtctr r12
/* 802CF674 002CB2D4  4E 80 04 21 */	bctrl
/* 802CF678 002CB2D8  48 00 00 0C */	b lbl_802CF684
lbl_802CF67C:
/* 802CF67C 002CB2DC  7C 83 23 78 */	mr r3, r4
/* 802CF680 002CB2E0  4B FE A6 B5 */	bl GKI_freebuf
lbl_802CF684:
/* 802CF684 002CB2E4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802CF688 002CB2E8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802CF68C 002CB2EC  7C 08 03 A6 */	mtlr r0
/* 802CF690 002CB2F0  38 21 00 10 */	addi r1, r1, 0x10
/* 802CF694 002CB2F4  4E 80 00 20 */	blr

gap_congestion_ind:
/* 802CF698 002CB2F8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802CF69C 002CB2FC  7C 08 02 A6 */	mflr r0
/* 802CF6A0 002CB300  3C A0 80 57 */	lis r5, lbl_8056B340@ha
/* 802CF6A4 002CB304  90 01 00 14 */	stw r0, 0x14(r1)
/* 802CF6A8 002CB308  38 A5 B3 40 */	addi r5, r5, lbl_8056B340@l
/* 802CF6AC 002CB30C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802CF6B0 002CB310  7C 9F 23 78 */	mr r31, r4
/* 802CF6B4 002CB314  93 C1 00 08 */	stw r30, 8(r1)
/* 802CF6B8 002CB318  7C 7E 1B 78 */	mr r30, r3
/* 802CF6BC 002CB31C  88 05 00 28 */	lbz r0, 0x28(r5)
/* 802CF6C0 002CB320  28 00 00 04 */	cmplwi r0, 4
/* 802CF6C4 002CB324  41 80 00 20 */	blt lbl_802CF6E4
/* 802CF6C8 002CB328  3C 60 00 0E */	lis r3, 0x000E0003@ha
/* 802CF6CC 002CB32C  3C 80 80 44 */	lis r4, lbl_804423C8@ha
/* 802CF6D0 002CB330  7F E5 FB 78 */	mr r5, r31
/* 802CF6D4 002CB334  7F C6 F3 78 */	mr r6, r30
/* 802CF6D8 002CB338  38 63 00 03 */	addi r3, r3, 0x000E0003@l
/* 802CF6DC 002CB33C  38 84 23 C8 */	addi r4, r4, lbl_804423C8@l
/* 802CF6E0 002CB340  4B FE D8 61 */	bl LogMsg_2
lbl_802CF6E4:
/* 802CF6E4 002CB344  3C 60 80 57 */	lis r3, lbl_8056B340@ha
/* 802CF6E8 002CB348  38 00 00 02 */	li r0, 2
/* 802CF6EC 002CB34C  38 63 B3 40 */	addi r3, r3, lbl_8056B340@l
/* 802CF6F0 002CB350  38 80 00 00 */	li r4, 0
/* 802CF6F4 002CB354  38 63 00 AC */	addi r3, r3, 0xac
/* 802CF6F8 002CB358  7C 09 03 A6 */	mtctr r0
lbl_802CF6FC:
/* 802CF6FC 002CB35C  88 03 00 00 */	lbz r0, 0(r3)
/* 802CF700 002CB360  2C 00 00 00 */	cmpwi r0, 0
/* 802CF704 002CB364  41 82 00 14 */	beq lbl_802CF718
/* 802CF708 002CB368  A0 03 00 06 */	lhz r0, 6(r3)
/* 802CF70C 002CB36C  7C 00 F0 40 */	cmplw r0, r30
/* 802CF710 002CB370  40 82 00 08 */	bne lbl_802CF718
/* 802CF714 002CB374  48 00 00 74 */	b lbl_802CF788
lbl_802CF718:
/* 802CF718 002CB378  8C 03 00 60 */	lbzu r0, 0x60(r3)
/* 802CF71C 002CB37C  38 84 00 01 */	addi r4, r4, 1
/* 802CF720 002CB380  2C 00 00 00 */	cmpwi r0, 0
/* 802CF724 002CB384  41 82 00 14 */	beq lbl_802CF738
/* 802CF728 002CB388  A0 03 00 06 */	lhz r0, 6(r3)
/* 802CF72C 002CB38C  7C 00 F0 40 */	cmplw r0, r30
/* 802CF730 002CB390  40 82 00 08 */	bne lbl_802CF738
/* 802CF734 002CB394  48 00 00 54 */	b lbl_802CF788
lbl_802CF738:
/* 802CF738 002CB398  8C 03 00 60 */	lbzu r0, 0x60(r3)
/* 802CF73C 002CB39C  38 84 00 01 */	addi r4, r4, 1
/* 802CF740 002CB3A0  2C 00 00 00 */	cmpwi r0, 0
/* 802CF744 002CB3A4  41 82 00 14 */	beq lbl_802CF758
/* 802CF748 002CB3A8  A0 03 00 06 */	lhz r0, 6(r3)
/* 802CF74C 002CB3AC  7C 00 F0 40 */	cmplw r0, r30
/* 802CF750 002CB3B0  40 82 00 08 */	bne lbl_802CF758
/* 802CF754 002CB3B4  48 00 00 34 */	b lbl_802CF788
lbl_802CF758:
/* 802CF758 002CB3B8  8C 03 00 60 */	lbzu r0, 0x60(r3)
/* 802CF75C 002CB3BC  38 84 00 01 */	addi r4, r4, 1
/* 802CF760 002CB3C0  2C 00 00 00 */	cmpwi r0, 0
/* 802CF764 002CB3C4  41 82 00 14 */	beq lbl_802CF778
/* 802CF768 002CB3C8  A0 03 00 06 */	lhz r0, 6(r3)
/* 802CF76C 002CB3CC  7C 00 F0 40 */	cmplw r0, r30
/* 802CF770 002CB3D0  40 82 00 08 */	bne lbl_802CF778
/* 802CF774 002CB3D4  48 00 00 14 */	b lbl_802CF788
lbl_802CF778:
/* 802CF778 002CB3D8  38 84 00 01 */	addi r4, r4, 1
/* 802CF77C 002CB3DC  38 63 00 60 */	addi r3, r3, 0x60
/* 802CF780 002CB3E0  42 00 FF 7C */	bdnz lbl_802CF6FC
/* 802CF784 002CB3E4  38 60 00 00 */	li r3, 0
lbl_802CF788:
/* 802CF788 002CB3E8  2C 03 00 00 */	cmpwi r3, 0
/* 802CF78C 002CB3EC  41 82 00 28 */	beq lbl_802CF7B4
/* 802CF790 002CB3F0  7C 1F 00 D0 */	neg r0, r31
/* 802CF794 002CB3F4  81 83 00 20 */	lwz r12, 0x20(r3)
/* 802CF798 002CB3F8  7C 00 FB 78 */	or r0, r0, r31
/* 802CF79C 002CB3FC  A0 63 00 04 */	lhz r3, 4(r3)
/* 802CF7A0 002CB400  7C 04 FE 70 */	srawi r4, r0, 0x1f
/* 802CF7A4 002CB404  38 04 01 04 */	addi r0, r4, 0x104
/* 802CF7A8 002CB408  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802CF7AC 002CB40C  7D 89 03 A6 */	mtctr r12
/* 802CF7B0 002CB410  4E 80 04 21 */	bctrl
lbl_802CF7B4:
/* 802CF7B4 002CB414  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802CF7B8 002CB418  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802CF7BC 002CB41C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802CF7C0 002CB420  7C 08 03 A6 */	mtlr r0
/* 802CF7C4 002CB424  38 21 00 10 */	addi r1, r1, 0x10
/* 802CF7C8 002CB428  4E 80 00 20 */	blr