.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