.section .irom0.text, "ax", @progbits .literal_position # 0: 00000000 # 4: 00000000 # 8: 00000000 # Function @ .irom0.text+0xc # Local variables/stack: # (local0): word @ -0x10 # (local1): word @ -0xc # (local2): word[2] @ -0x8 .global sdk_ieee80211_deliver_data .type sdk_ieee80211_deliver_data, @function sdk_ieee80211_deliver_data: addi sp, sp, -16 /* (local0) */ # c: 12c1f0 s32i a0, sp, 8 /* a0 -> [(local2)] */ # f: 0921 l32i a0, a2, 0 /* [arg0] */ # 11: 0802 s32i a0, sp, 0 /* [arg0] -> [(local0)] */ # 13: 0901 l8ui a0, a0, 47 /* [[arg0]+0x2f] */ # 15: 02002f s32i a3, sp, 4 /* arg1 -> [(local1)] */ # 18: 3911 bbsi a0, 4, .Lbr001 # 1a: 47e00e s32i a3, sp, 4 /* arg1 -> [(local1)] */ # 1d: 3911 beqz a3, .Lbr002 # 1f: acc3 mov a2, a3 /* arg1 */ # 21: 2d03 call0 sdk_ppRecycleRxPkt # 23: 01f7ffc0 # 27: 0000 j .Lbr002 # 29: 860800 .Lbr001: movi a2, 3 /* 0x00000003 */ # 2c: 0c32 l16ui a3, a3, 22 /* [arg1+0x16] */ # 2e: 32130b movi a4, 2 /* 0x00000002 */ # 31: 0c24 call0 pbuf_alloc # 33: 01f4ffc0 # 37: 0000 l32i a4, sp, 4 /* [(local1)] */ # 39: 4811 l32i a5, a4, 4 /* [[(local1)]+0x4] */ # 3b: 5814 mov a3, a2 # 3d: 3d02 l32i a5, a5, 4 /* [[[(local1)]+0x4]+0x4] */ # 3f: 5815 s32i a5, a2, 4 # 41: 5912 s32i a2, a4, 0 /* a2 -> [[(local1)]] */ # 43: 2904 s32i a4, a2, 16 # 45: 4942 l32i a2, sp, 0 /* [(local0)] */ # 47: 2801 call0 ethernetif_input # 49: 01efffc0 # 4d: 0000 .Lbr002: l32i a0, sp, 8 /* [(local2)] */ # 4f: 0821 addi sp, sp, 16 /* (top of frame) */ # 51: 12c110 ret # 54: 0df0 .literal_position # 58: 80f30000 # 5c: 81370000 # 60: f8ff0000 # 64: 00000000 # 68: 00000000 # 6c: 00000000 # 70: 00000000 # 74: 00000000 # 78: 00000000 # 7c: 00000000 # 80: 00000000 # Function @ .irom0.text+0x84 # Local variables/stack: # (local0): byte[31] @ -0x2f # (local1): word @ -0x10 # (local2): word @ -0xc # (local3): word[2] @ -0x8 .global sdk_ieee80211_decap .type sdk_ieee80211_decap, @function sdk_ieee80211_decap: addi sp, sp, -48 /* (FP)-0x30 */ # 84: 12c1d0 s32i a12, sp, 40 /* a12 -> [(local3)] */ # 87: c9a1 s32i a0, sp, 36 /* a0 -> [(local2)] */ # 89: 0991 mov a12, a2 /* arg0 */ # 8b: cd02 addi a0, a5, 14 /* arg3+0xe */ # 8d: eb05 bgeu a4, a0, .Lbr003 # 8f: 07b40a call0 sdk_ppRecycleRxPkt # 92: 01f4ffc0 # 96: 0000 movi a12, 0 /* 0x00000000 */ # 98: 0c0c j .Lbr008 # 9a: 063100 .Lbr003: mov a4, a5 /* arg3 */ # 9d: 4d05 mov a2, sp /* (FP)-0x30 */ # 9f: 2d01 call0 memcpy # a1: 01f1ffc0 # a5: 0000 l32i a3, a12, 4 /* [arg0+0x4] */ # a7: 381c l32i a0, a3, 4 /* [[arg0+0x4]+0x4] */ # a9: 0813 movi a2, 170 /* 0x000000aa */ # ab: 22a0aa l8ui a4, a0, 0 /* [[[arg0+0x4]+0x4]] */ # ae: 420000 l8ui a5, a0, 1 /* [[[arg0+0x4]+0x4]+0x1] */ # b1: 520001 bne a4, a2, .Lbr004 # b4: 27942f bne a5, a2, .Lbr004 # b7: 27952c l8ui a6, a0, 2 /* [[[arg0+0x4]+0x4]+0x2] */ # ba: 620002 bnei a6, 3, .Lbr004 # bd: 663626 l8ui a7, a0, 3 /* [[[arg0+0x4]+0x4]+0x3] */ # c0: 720003 bnez a7, .Lbr004 # c3: ec07 l8ui a8, a0, 4 /* [[[arg0+0x4]+0x4]+0x4] */ # c5: 820004 bnez a8, .Lbr004 # c8: dcb8 l8ui a9, a0, 5 /* [[[arg0+0x4]+0x4]+0x5] */ # ca: 920005 bnez a9, .Lbr004 # cd: dc69 movi a10, 0x0000f380 # cf: a1e2ff l8ui a4, a0, 7 /* [[[arg0+0x4]+0x4]+0x7] */ # d2: 420007 l8ui a5, a0, 6 /* [[[arg0+0x4]+0x4]+0x6] */ # d5: 520006 slli a4, a4, 8 # d8: 804411 or a4, a4, a5 # db: 504420 beq a4, a10, .Lbr004 # de: a71405 movi a5, 0x00003781 # e1: 51deff bne a4, a5, .Lbr005 # e4: 579413 .Lbr004: l16ui a6, a12, 22 /* [arg0+0x16] */ # e7: 621c0b l32i a7, a3, 4 /* [[arg0+0x4]+0x4] */ # ea: 7813 s32i a7, sp, 32 /* [[arg0+0x4]+0x4] -> [(local1)] */ # ec: 7981 addi a6, a6, 14 /* [arg0+0x16]+0xe */ # ee: eb66 addi a7, a7, -14 /* [[arg0+0x4]+0x4]-0xe */ # f0: 72c7f2 s32i a7, a3, 4 /* [[arg0+0x4]+0x4]-0xe -> [[arg0+0x4]+0x4] */ # f3: 7913 s16i a6, a12, 22 /* [arg0+0x16]+0xe -> [arg0+0x16] */ # f5: 625c0b j .Lbr006 # f8: 060800 .Lbr005: srli a8, a4, 8 # fb: 408841 movi a10, 0x0000fff8 # fe: a1d8ff l16ui a9, a12, 22 /* [arg0+0x16] */ # 101: 921c0b addi a2, a0, 8 /* [[arg0+0x4]+0x4]+0x8 */ # 104: 8b20 addi a11, a0, -6 /* [[arg0+0x4]+0x4]-0x6 */ # 106: b2c0fa s32i a11, sp, 32 /* [[arg0+0x4]+0x4]-0x6 -> [(local1)] */ # 109: b981 s32i a2, a3, 4 /* [[arg0+0x4]+0x4]+0x8 -> [[arg0+0x4]+0x4] */ # 10b: 2913 s32i a11, a3, 4 /* [[arg0+0x4]+0x4]-0x6 -> [[arg0+0x4]+0x4] */ # 10d: b913 add a9, a9, a10 /* [arg0+0x16]+0xfff8 */ # 10f: aa99 addi a9, a9, 14 /* [arg0+0x16]+0x10006 */ # 111: eb99 s16i a9, a12, 22 /* [arg0+0x16]+0x10006 -> [arg0+0x16] */ # 113: 925c0b s8i a4, a0, 6 /* a4 -> [[[arg0+0x4]+0x4]+0x6] */ # 116: 424006 s8i a8, a0, 7 /* a8 -> [[[arg0+0x4]+0x4]+0x7] */ # 119: 824007 .Lbr006: l8ui a0, sp, 1 /* [(local0)] */ # 11c: 020101 extui a0, a0, 0, 2 # 11f: 000014 beqz a0, .Lbr007 # 122: ac20 beqi a0, 1, .Lbr009 # 124: 261045 bnei a0, 2, .Lbr008 # 127: 662037 l32i a2, sp, 32 /* [(local1)] */ # 12a: 2881 addi a3, sp, 4 /* (FP)-0x2c */ # 12c: 4b31 movi a4, 6 /* 0x00000006 */ # 12e: 0c64 call0 memcpy # 130: 01cfffc0 # 134: 0000 addi a3, sp, 16 /* (FP)-0x20 */ # 136: 32c110 l32i a2, sp, 32 /* [(local1)] */ # 139: 2881 movi a4, 6 /* 0x00000006 */ # 13b: 0c64 addi a2, a2, 6 /* [(local1)]+0x6 */ # 13d: 6b22 call0 memcpy # 13f: 01ccffc0 # 143: 0000 j .Lbr008 # 145: 460600 .Lbr007: l32i a2, sp, 32 /* [(local1)] */ # 148: 2881 addi a3, sp, 4 /* (FP)-0x2c */ # 14a: 4b31 movi a4, 6 /* 0x00000006 */ # 14c: 0c64 call0 memcpy # 14e: 01c9ffc0 # 152: 0000 addi a3, sp, 10 /* (FP)-0x26 */ # 154: ab31 l32i a2, sp, 32 /* [(local1)] */ # 156: 2881 movi a4, 6 /* 0x00000006 */ # 158: 0c64 addi a2, a2, 6 /* [(local1)]+0x6 */ # 15a: 6b22 call0 memcpy # 15c: 01c7ffc0 # 160: 0000 .Lbr008: mov a2, a12 # 162: 2d0c l32i a0, sp, 36 /* [(local2)] */ # 164: 0891 l32i a12, sp, 40 /* [(local3)] */ # 166: c8a1 addi sp, sp, 48 /* (top of frame) */ # 168: 12c130 ret # 16b: 0df0 .Lbr009: l32i a2, sp, 32 /* [(local1)] */ # 16d: 2881 addi a3, sp, 16 /* (FP)-0x20 */ # 16f: 32c110 movi a4, 6 /* 0x00000006 */ # 172: 0c64 call0 memcpy # 174: 01c2ffc0 # 178: 0000 addi a3, sp, 10 /* (FP)-0x26 */ # 17a: ab31 l32i a2, sp, 32 /* [(local1)] */ # 17c: 2881 movi a4, 6 /* 0x00000006 */ # 17e: 0c64 addi a2, a2, 6 /* [(local1)]+0x6 */ # 180: 6b22 call0 memcpy # 182: 01bfffc0 # 186: 0000 j .Lbr008 # 188: 86f5ff .literal_position # 18c: 00000000 # 190: 00000000 # 194: 00000000 # Function @ .irom0.text+0x198 # Local variables/stack: # (local0): word @ -0x10 # (local1): word @ -0xc # (local2): word @ -0x8 # (local3): word @ -0x4 .global sdk_ieee80211_setup_rates .type sdk_ieee80211_setup_rates, @function sdk_ieee80211_setup_rates: addi sp, sp, -16 /* (local0) */ # 198: 12c1f0 s32i a0, sp, 0 /* a0 -> [(local0)] */ # 19b: 0901 s32i a14, sp, 12 /* a14 -> [(local3)] */ # 19d: e931 s32i a13, sp, 8 /* a13 -> [(local2)] */ # 19f: d921 s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1a1: c911 mov a13, a4 /* arg2 */ # 1a3: dd04 mov a12, a2 /* arg0 */ # 1a5: cd02 mov a14, a3 /* arg1 */ # 1a7: ed03 addi a2, a2, 71 /* arg0+0x47 */ # 1a9: 22c247 movi a3, 0 /* 0x00000000 */ # 1ac: 0c03 movi a4, 16 /* 0x00000010 */ # 1ae: 1c04 call0 memset # 1b0: 01f7ffc0 # 1b4: 0000 addi a3, a14, 2 /* arg1+0x2 */ # 1b6: 2b3e addi a2, a12, 72 /* arg0+0x48 */ # 1b8: 22cc48 l8ui a4, a14, 1 /* [arg1+0x1] */ # 1bb: 420e01 s8i a4, a12, 71 /* [arg1+0x1] -> [arg0+0x47] */ # 1be: 424c47 call0 memcpy # 1c1: 01f3ffc0 # 1c5: 0000 beqz a13, .Lbr011 # 1c7: ac8d l8ui a0, a12, 71 /* [arg0+0x47] */ # 1c9: 020c47 l8ui a14, a13, 1 /* [arg2+0x1] */ # 1cc: e20d01 add a2, a14, a0 # 1cf: 0a2e blti a2, 16, .Lbr010 # 1d1: a6b207 movi a14, 15 /* 0x0000000f */ # 1d4: 0cfe sub a14, a14, a0 # 1d6: 00eec0 extui a14, a14, 0, 8 # 1d9: e0e074 .Lbr010: addi a3, a13, 2 /* arg2+0x2 */ # 1dc: 2b3d mov a4, a14 # 1de: 4d0e add a2, a0, a12 # 1e0: ca20 addi a2, a2, 72 # 1e2: 22c248 call0 memcpy # 1e5: 01ebffc0 # 1e9: 0000 l8ui a3, a12, 71 /* [arg0+0x47] */ # 1eb: 320c47 add a3, a3, a14 # 1ee: ea33 s8i a3, a12, 71 /* a3 -> [arg0+0x47] */ # 1f0: 324c47 .Lbr011: movi a2, 0 /* 0x00000000 */ # 1f3: 0c02 l32i a12, sp, 4 /* [(local1)] */ # 1f5: c811 l32i a13, sp, 8 /* [(local2)] */ # 1f7: d821 l32i a14, sp, 12 /* [(local3)] */ # 1f9: e831 l32i a0, sp, 0 /* [(local0)] */ # 1fb: 0801 addi sp, sp, 16 /* (top of frame) */ # 1fd: 12c110 ret /* 0x00000000 */ # 200: 0df0 .literal_position # 204: 00000000 # Function @ .irom0.text+0x208 # Local variables/stack: # (local0): word @ -0x10 # (local1): word[3] @ -0xc .global sdk_ieee80211_alloc_challenge .type sdk_ieee80211_alloc_challenge, @function sdk_ieee80211_alloc_challenge: addi sp, sp, -16 /* (local0) */ # 208: 12c1f0 s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 20b: 2901 l32i a2, a2, 84 /* [arg0+0x54] */ # 20d: 222215 s32i a0, sp, 4 /* a0 -> [(local1)] */ # 210: 0911 bnez a2, .Lbr012 # 212: ccc2 movi a2, 128 /* 0x00000080 */ # 214: 22a080 call0 malloc # 217: 01fbffc0 # 21b: 0000 l32i a0, sp, 0 /* [(local0)] */ # 21d: 0801 s32i a2, a0, 84 /* a2 -> [[(local0)]+0x54] */ # 21f: 226015 .Lbr012: l32i a0, sp, 4 /* [(local1)] */ # 222: 0811 movi a3, 1 /* 0x00000001 */ # 224: 0c13 movnez a2, a3, a2 # 226: 202393 addi sp, sp, 16 /* (top of frame) */ # 229: 12c110 ret # 22c: 0df0 .literal_position # 230: 00000000 # 234: 0050f202 # 238: 0050f201 # 23c: 00904c33 # 240: 00904c34 # 244: 00000000 # 248: 00000000 # Function @ .irom0.text+0x24c # Local variables/stack: # (local0): word @ -0x20 # (local1): word @ -0x1c # (local2): word @ -0x18 # (local3): word @ -0x14 # (local4): word @ -0x10 # (local5): word[3] @ -0xc .global sdk_ieee80211_parse_beacon .type sdk_ieee80211_parse_beacon, @function sdk_ieee80211_parse_beacon: addi sp, sp, -32 /* (local0) */ # 24c: 12c1e0 s32i a0, sp, 4 /* a0 -> [(local1)] */ # 24f: 0911 s32i a12, sp, 8 /* a12 -> [(local2)] */ # 251: c921 s32i a15, sp, 20 /* a15 -> [(local5)] */ # 253: f951 s32i a14, sp, 16 /* a14 -> [(local4)] */ # 255: e941 s32i a13, sp, 12 /* a13 -> [(local3)] */ # 257: d931 mov a14, a2 /* arg0 */ # 259: ed02 l32i a13, a2, 4 /* [arg0+0x4] */ # 25b: d812 l16ui a15, a2, 22 /* [arg0+0x16] */ # 25d: f2120b l32i a13, a13, 4 /* [[arg0+0x4]+0x4] */ # 260: d81d mov a12, a3 /* arg1 */ # 262: cd03 add a15, a15, a13 # 264: daff addi a15, a15, 24 # 266: f2cf18 sub a5, a15, a13 # 269: d05fc0 addi a0, a5, -24 # 26c: 02c5e8 bgei a0, 12, .Lbr013 # 26f: e6a002 j .Lbr044 # 272: 068d00 .Lbr013: mov a2, a3 /* arg1 */ # 275: 2d03 s32i a5, sp, 0 /* a5 -> [(local0)] */ # 277: 5901 movi a3, 72 /* 0x00000048 */ # 279: 4c83 call0 bzero # 27b: 01f2ffc0 # 27f: 0000 addi a5, a13, 24 /* [[arg0+0x4]+0x4]+0x18 */ # 281: 52cd18 l16ui a4, a13, 32 /* [[[arg0+0x4]+0x4]+0x20] */ # 284: 421d10 s16i a4, a12, 6 /* [[[arg0+0x4]+0x4]+0x20] -> [arg1+0x6] */ # 287: 425c03 l16ui a3, a13, 34 /* [[[arg0+0x4]+0x4]+0x22] */ # 28a: 321d11 s32i a5, a12, 24 /* [[arg0+0x4]+0x4]+0x18 -> [arg1+0x18] */ # 28d: 596c addi a13, a13, 36 /* [[arg0+0x4]+0x4]+0x24 */ # 28f: d2cd24 l32i a2, a14, 32 /* [arg0+0x20] */ # 292: 288e s16i a3, a12, 2 /* [[[arg0+0x4]+0x4]+0x22] -> [arg1+0x2] */ # 294: 325c01 l32i a2, a2, 8 /* [[arg0+0x20]+0x8] */ # 297: 2822 call0 sdk_ieee80211_chan2ieee # 299: 01ebffc0 # 29d: 0000 s32i a13, a12, 12 /* [[arg0+0x4]+0x4]+0x24 -> [arg1+0xc] */ # 29f: d93c movi a6, 221 /* 0x000000dd */ # 2a1: 62a0dd s8i a2, a12, 1 /* a2 -> [arg1+0x1] */ # 2a4: 224c01 l32i a7, sp, 0 /* [(local0)] */ # 2a7: 7801 extui a3, a2, 0, 8 # 2a9: 203074 s8i a3, a12, 0 /* a3 -> [arg1] */ # 2ac: 324c00 addi a7, a7, -36 /* [(local0)]-0x24 */ # 2af: 72c7dc s32i a7, a12, 16 /* [(local0)]-0x24 -> [arg1+0x10] */ # 2b2: 794c bgei a7, 2, .Lbr014 # 2b4: e62702 j .Lbr045 # 2b7: 067d00 .Lbr014: movi a8, 0x02f25000 # 2ba: 81deff movi a10, 50 /* 0x00000032 */ # 2bd: 3c2a movi a11, 45 /* 0x0000002d */ # 2bf: 2cdb movi a9, sdk_g_ic+0x1d8 # 2c1: 91dbff sub a2, a15, a13 # 2c4: d02fc0 .Lbr015: l8ui a0, a13, 1 # 2c7: 020d01 mov a7, a13 # 2ca: 7d0d addi a4, a0, 2 # 2cc: 2b40 bge a2, a4, .Lbr016 # 2ce: 47a202 j .Lbr044 # 2d1: 467500 .Lbr016: l8ui a2, a13, 0 # 2d4: 220d00 movi a5, 32 /* 0x00000020 */ # 2d7: 2c05 bgei a2, 32, .Lbr017 # 2d9: e6c202 j .Lbr037 # 2dc: 065e00 .Lbr017: bge a5, a2, .Lbr020 # 2df: 27a50d bge a2, a10, .Lbr018 # 2e2: a7a202 j .Lbr034 # 2e5: c64f00 .Lbr018: blt a10, a2, .Lbr021 # 2e8: 272a11 s32i a13, a12, 40 /* a13 -> [arg1+0x28] */ # 2eb: d9ac .Lbr019: l8ui a0, a7, 1 # 2ed: 020701 .Lbr020: add a13, a0, a7 # 2f0: 7ad0 addi a13, a13, 2 # 2f2: 2bdd sub a2, a15, a13 # 2f4: d02fc0 bgei a2, 2, .Lbr015 # 2f7: e622cc j .Lbr045 # 2fa: 466c00 .Lbr021: bge a2, a6, .Lbr022 # 2fd: 67a202 j .Lbr033 # 300: 064600 .Lbr022: blt a6, a2, .Lbr020 # 303: 2726e9 movi a2, 0 /* 0x00000000 */ # 306: 0c02 bltui a0, 4, .Lbr023 # 308: b64025 l8ui a5, a13, 3 # 30b: 520d03 l8ui a4, a13, 2 # 30e: 420d02 slli a5, a5, 8 # 311: 805511 l8ui a13, a13, 5 # 314: d20d05 or a4, a4, a5 # 317: 504420 l8ui a5, a7, 4 # 31a: 520704 slli a13, a13, 24 # 31d: 80dd01 slli a5, a5, 16 # 320: 005511 or a5, a5, a13 # 323: d05520 or a4, a4, a5 # 326: 504420 movi a5, 0x01f25000 # 329: 51c3ff bne a4, a5, .Lbr023 # 32c: 579401 movi a2, 1 /* 0x00000001 */ # 32f: 0c12 .Lbr023: beqz a2, .Lbr025 # 331: 8c62 s32i a7, a12, 48 /* a7 -> [arg1+0x30] */ # 333: 79cc .Lbr024: l8ui a0, a7, 1 # 335: 020701 j .Lbr020 # 338: 06edff .Lbr025: movi a2, 0 /* 0x00000000 */ # 33b: 0c02 bltui a0, 6, .Lbr026 # 33d: b66028 l8ui a5, a7, 5 # 340: 520705 l8ui a4, a7, 3 # 343: 420703 l8ui a13, a7, 2 # 346: d20702 slli a4, a4, 8 # 349: 804411 or a13, a13, a4 # 34c: 40dd20 l8ui a4, a7, 4 # 34f: 420704 slli a5, a5, 24 # 352: 805501 slli a4, a4, 16 # 355: 004411 or a4, a4, a5 # 358: 504420 or a13, a13, a4 # 35b: 40dd20 bne a13, a8, .Lbr026 # 35e: 879d07 l8ui a5, a7, 6 # 361: 520706 bnei a5, 1, .Lbr026 # 364: 661501 movi a2, 1 /* 0x00000001 */ # 367: 0c12 .Lbr026: bnez a2, .Lbr028 # 369: ece2 movi a2, 0 /* 0x00000000 */ # 36b: 0c02 bltui a0, 6, .Lbr027 # 36d: b66028 l8ui a5, a7, 5 # 370: 520705 l8ui a4, a7, 3 # 373: 420703 l8ui a13, a7, 2 # 376: d20702 slli a4, a4, 8 # 379: 804411 or a13, a13, a4 # 37c: 40dd20 l8ui a4, a7, 4 # 37f: 420704 slli a5, a5, 24 # 382: 805501 slli a4, a4, 16 # 385: 004411 or a4, a4, a5 # 388: 504420 or a13, a13, a4 # 38b: 40dd20 bne a13, a8, .Lbr027 # 38e: 879d07 l8ui a13, a7, 6 # 391: d20706 movi a5, 1 /* 0x00000001 */ # 394: 0c15 moveqz a2, a5, a13 # 396: d02583 .Lbr027: beqz a2, .Lbr029 # 399: 8c32 .Lbr028: s32i a7, a12, 56 /* a7 -> [arg1+0x38] */ # 39b: 79ec j .Lbr024 # 39d: 06e5ff .Lbr029: l32i a2, a9, 0x334 /* [sdk_g_ic+0x50c] */ # 3a0: 2229cd extui a2, a2, 28, 1 # 3a3: 202c05 beqz a2, .Lbr020 # 3a6: 1662f4 movi a2, 0 /* 0x00000000 */ # 3a9: 0c02 bltui a0, 4, .Lbr030 # 3ab: b64025 l8ui a13, a7, 5 # 3ae: d20705 l8ui a5, a7, 3 # 3b1: 520703 l8ui a4, a7, 2 # 3b4: 420702 slli a5, a5, 8 # 3b7: 805511 or a4, a4, a5 # 3ba: 504420 l8ui a5, a7, 4 # 3bd: 520704 slli a13, a13, 24 # 3c0: 80dd01 slli a5, a5, 16 # 3c3: 005511 or a5, a5, a13 # 3c6: d05520 or a4, a4, a5 # 3c9: 504420 movi a5, 0x334c9000 # 3cc: 519cff bne a4, a5, .Lbr030 # 3cf: 579401 movi a2, 1 /* 0x00000001 */ # 3d2: 0c12 .Lbr030: beqz a2, .Lbr031 # 3d4: 8cb2 l32i a13, a12, 60 /* [arg1+0x3c] */ # 3d6: d8fc bnez a13, .Lbr020 # 3d8: 564df1 s32i a7, a12, 60 /* a7 -> [arg1+0x3c] */ # 3db: 79fc l8ui a0, a7, 1 # 3dd: 020701 j .Lbr020 # 3e0: 06c3ff .Lbr031: movi a2, 0 /* 0x00000000 */ # 3e3: 0c02 bltui a0, 4, .Lbr032 # 3e5: b64025 l8ui a13, a7, 5 # 3e8: d20705 l8ui a5, a7, 3 # 3eb: 520703 l8ui a4, a7, 2 # 3ee: 420702 slli a5, a5, 8 # 3f1: 805511 or a4, a4, a5 # 3f4: 504420 l8ui a5, a7, 4 # 3f7: 520704 slli a13, a13, 24 # 3fa: 80dd01 slli a5, a5, 16 # 3fd: 005511 or a5, a5, a13 # 400: d05520 or a4, a4, a5 # 403: 504420 movi a5, 0x344c9000 # 406: 518eff bne a4, a5, .Lbr032 # 409: 579401 movi a2, 1 /* 0x00000001 */ # 40c: 0c12 .Lbr032: beqz a2, .Lbr020 # 40e: 16e2ed l32i a13, a12, 64 /* [arg1+0x40] */ # 411: d22c10 bnez a13, .Lbr020 # 414: 568ded s32i a7, a12, 60 /* a7 -> [arg1+0x3c] */ # 417: 79fc j .Lbr024 # 419: 06c6ff .Lbr033: addi a4, a2, -61 # 41c: 42c2c3 bnez a4, .Lbr020 # 41f: 56d4ec s32i a13, a12, 64 /* a13 -> [arg1+0x40] */ # 422: d26c10 j .Lbr019 # 425: 06b1ff .Lbr034: blt a2, a11, .Lbr036 # 428: b72212 blt a11, a2, .Lbr035 # 42b: 272b04 s32i a13, a12, 60 /* a13 -> [arg1+0x3c] */ # 42e: d9fc j .Lbr019 # 430: 46aeff .Lbr035: addi a5, a2, -48 # 433: 52c2d0 bnez a5, .Lbr020 # 436: 5665eb s32i a13, a12, 52 /* a13 -> [arg1+0x34] */ # 439: d9dc j .Lbr019 # 43b: 86abff .Lbr036: addi a13, a2, -42 # 43e: d2c2d6 bnez a13, .Lbr020 # 441: 56bdea addi a2, a0, -1 # 444: 0b20 bnez a2, .Lbr020 # 446: 5662ea l8ui a4, a7, 2 # 449: 420702 movi a5, 256 /* 0x00000100 */ # 44c: 52a100 or a4, a4, a5 # 44f: 504420 s16i a4, a12, 4 /* a4 -> [arg1+0x4] */ # 452: 425c02 j .Lbr019 # 455: 06a5ff .Lbr037: blti a2, 4, .Lbr041 # 458: a6422c bgei a2, 5, .Lbr038 # 45b: e65202 j .Lbr020 # 45e: 86a3ff .Lbr038: blti a2, 6, .Lbr040 # 461: a66210 bgei a2, 7, .Lbr039 # 464: e67202 j .Lbr020 # 467: 46a1ff .Lbr039: addi a13, a2, -7 # 46a: d2c2f9 bnez a13, .Lbr020 # 46d: 56fde7 s32i a7, a12, 28 /* a7 -> [arg1+0x1c] */ # 470: 797c j .Lbr019 # 472: c69dff .Lbr040: addi a4, a2, -5 # 475: 42c2fb bnez a4, .Lbr020 # 478: 5644e7 s32i a13, a12, 20 /* a13 -> [arg1+0x14] */ # 47b: d95c l32i a5, a14, 16 /* [arg0+0x10] */ # 47d: 584e sub a5, a13, a5 # 47f: 505dc0 s8i a5, a12, 8 /* a5 -> [arg1+0x8] */ # 482: 524c08 j .Lbr019 # 485: 0699ff .Lbr041: blti a2, 1, .Lbr043 # 488: a61216 bgei a2, 2, .Lbr042 # 48b: e62204 s32i a13, a12, 36 /* a13 -> [arg1+0x24] */ # 48e: d99c j .Lbr019 # 490: 4696ff .Lbr042: addi a13, a2, -3 # 493: d2c2fd bnez a13, .Lbr020 # 496: 566de5 l8ui a3, a7, 2 # 499: 320702 s8i a3, a12, 0 /* a3 -> [arg1] */ # 49c: 324c00 j .Lbr019 # 49f: 8692ff .Lbr043: bnez a2, .Lbr020 # 4a2: 56a2e4 s32i a13, a12, 32 /* a13 -> [arg1+0x20] */ # 4a5: d98c j .Lbr019 # 4a7: 8690ff .Lbr044: movi a2, 1 /* 0x00000001 */ # 4aa: 0c12 j .Lbr054 # 4ac: 862100 .Lbr045: l32i a0, a12, 36 /* [arg1+0x24] */ # 4af: 089c l32i a7, a12, 40 /* [arg1+0x28] */ # 4b1: 78ac beqz a0, .Lbr055 # 4b3: 16e008 l8ui a14, a0, 1 /* [[arg1+0x24]+0x1] */ # 4b6: e20001 bltui a14, 16, .Lbr046 # 4b9: b6be02 j .Lbr055 # 4bc: 462100 .Lbr046: movi a2, 0 /* 0x00000000 */ # 4bf: 0c02 .Lbr047: beqz a0, .Lbr048 # 4c1: 9c30 beqz a7, .Lbr048 # 4c3: 9c17 l8ui a4, a7, 1 /* [[arg1+0x28]+0x1] */ # 4c5: 420701 l8ui a5, a0, 1 /* [[arg1+0x24]+0x1] */ # 4c8: 520001 movi a15, 15 /* 0x0000000f */ # 4cb: 0cff sub a15, a15, a5 # 4cd: 50ffc0 bge a15, a4, .Lbr048 # 4d0: 47af04 movi a7, 4 /* 0x00000004 */ # 4d3: 0c47 or a2, a2, a7 # 4d5: 702220 .Lbr048: movi a7, 8 /* 0x00000008 */ # 4d8: 0c87 l32i a0, a12, 32 /* [arg1+0x20] */ # 4da: 088c l8ui a10, a12, 1 /* [arg1+0x1] */ # 4dc: a20c01 beqz a0, .Lbr049 # 4df: 8c60 l8ui a9, a0, 1 /* [[arg1+0x20]+0x1] */ # 4e1: 920001 movi a8, 32 /* 0x00000020 */ # 4e4: 2c08 bgeu a8, a9, .Lbr050 # 4e6: 97b802 .Lbr049: or a2, a2, a7 # 4e9: 702220 .Lbr050: l32i a0, a12, 28 /* [arg1+0x1c] */ # 4ec: 087c beq a10, a3, .Lbr051 # 4ee: 371a04 movi a11, 32 /* 0x00000020 */ # 4f1: 2c0b or a2, a2, a11 # 4f3: b02220 .Lbr051: movi a3, 0 /* 0x00000000 */ # 4f6: 0c03 beqz a0, .Lbr052 # 4f8: 8c60 l8ui a13, a0, 1 /* [[arg1+0x1c]+0x1] */ # 4fa: d20001 bgeui a13, 3, .Lbr052 # 4fd: f63d01 s32i a3, a12, 28 /* 0x00000000 -> [arg1+0x1c] */ # 500: 397c .Lbr052: l32i a0, a12, 60 /* [arg1+0x3c] */ # 502: 08fc movi a8, 26 /* 0x0000001a */ # 504: 1ca8 beqz a0, .Lbr053 # 506: 9c30 l8ui a14, a0, 1 /* [[arg1+0x3c]+0x1] */ # 508: e20001 movi a4, 30 /* 0x0000001e */ # 50b: 1ce4 l8ui a5, a0, 0 /* [[arg1+0x3c]] */ # 50d: 520000 mov a15, a8 /* 0x0000001a */ # 510: fd08 sub a5, a5, a6 /* [[arg1+0x3c]]-0xdd */ # 512: 6055c0 moveqz a15, a4, a5 # 515: 50f483 bgeu a14, a15, .Lbr053 # 518: f7be01 s32i a3, a12, 60 /* 0x00000000 -> [arg1+0x3c] */ # 51b: 39fc .Lbr053: l32i a0, a12, 64 /* [arg1+0x40] */ # 51d: 022c10 movi a9, 22 /* 0x00000016 */ # 520: 1c69 beqz a0, .Lbr054 # 522: 9c00 l8ui a10, a0, 0 /* [[arg1+0x40]] */ # 524: a20000 l8ui a7, a0, 1 /* [[arg1+0x40]+0x1] */ # 527: 720001 sub a10, a10, a6 /* [[arg1+0x40]]-0xdd */ # 52a: 60aac0 moveqz a9, a8, a10 # 52d: a09883 bgeu a7, a9, .Lbr054 # 530: 97b702 s32i a3, a12, 64 /* 0x00000000 -> [arg1+0x40] */ # 533: 326c10 .Lbr054: l32i a12, sp, 8 /* [(local2)] */ # 536: c821 l32i a13, sp, 12 /* [(local3)] */ # 538: d831 l32i a14, sp, 16 /* [(local4)] */ # 53a: e841 l32i a15, sp, 20 /* [(local5)] */ # 53c: f851 l32i a0, sp, 4 /* [(local1)] */ # 53e: 0811 addi sp, sp, 32 /* (top of frame) */ # 540: 12c120 ret # 543: 0df0 .Lbr055: movi a2, 2 /* 0x00000002 */ # 545: 0c22 j .Lbr047 # 547: 86ddff .literal_position # 54c: 0050f200 # 550: 0050f201 # 554: 0050f202 # 558: 0050f204 # 55c: 0050f205 # Function @ .irom0.text+0x560 .Lfunc001: movi a4, 0x00f25000 # 560: 41fbff l8ui a7, a2, 3 /* [arg0+0x3] */ # 563: 720203 l8ui a6, a2, 1 /* [arg0+0x1] */ # 566: 620201 l8ui a5, a2, 0 /* [arg0] */ # 569: 520200 slli a6, a6, 8 # 56c: 806611 or a5, a5, a6 # 56f: 605520 l8ui a6, a2, 2 /* [arg0+0x2] */ # 572: 620202 slli a7, a7, 24 # 575: 807701 slli a6, a6, 16 # 578: 006611 or a6, a6, a7 # 57b: 706620 or a2, a5, a6 # 57e: 602520 beq a2, a4, .Lbr059 # 581: 471231 movi a7, 0x01f25000 # 584: 71f3ff movi a8, 0x02f25000 # 587: 81f3ff beq a2, a7, .Lbr058 # 58a: 77121d beq a2, a8, .Lbr060 # 58d: 871229 movi a9, 0x04f25000 # 590: 91f2ff movi a10, 0x05f25000 # 593: a1f2ff beq a2, a9, .Lbr061 # 596: 971224 beq a2, a10, .Lbr056 # 599: a71203 movi a2, 32 /* 0x00000020 */ # 59c: 2c02 ret /* 0x00000020 */ # 59e: 0df0 .Lbr056: beqz a3, .Lbr057 # 5a0: 8c33 movi a11, 13 /* 0x0000000d */ # 5a2: 0cdb s8i a11, a3, 0 /* 0x0d -> [arg1] */ # 5a4: b24300 .Lbr057: movi a2, 6 /* 0x00000006 */ # 5a7: 0c62 ret /* 0x00000006 */ # 5a9: 0df0 .Lbr058: beqz a3, .Lbr057 # 5ab: 1683ff movi a2, 5 /* 0x00000005 */ # 5ae: 0c52 s8i a2, a3, 0 /* 0x05 -> [arg1] */ # 5b0: 224300 j .Lbr057 # 5b3: 06fcff .Lbr059: movi a2, 0 /* 0x00000000 */ # 5b6: 0c02 ret /* 0x00000000 */ # 5b8: 0df0 .Lbr060: movi a2, 1 /* 0x00000001 */ # 5ba: 0c12 ret /* 0x00000001 */ # 5bc: 0df0 .Lbr061: movi a2, 3 /* 0x00000003 */ # 5be: 0c32 ret /* 0x00000003 */ # 5c0: 0df0 .literal_position # 5c4: 0050f200 # 5c8: 0050f201 # 5cc: 0050f202 # Function @ .irom0.text+0x5d0 .Lfunc002: movi a3, 0x00f25000 # 5d0: 31fdff l8ui a6, a2, 3 /* [arg0+0x3] */ # 5d3: 620203 l8ui a5, a2, 1 /* [arg0+0x1] */ # 5d6: 520201 l8ui a4, a2, 0 /* [arg0] */ # 5d9: 420200 slli a5, a5, 8 # 5dc: 805511 or a4, a4, a5 # 5df: 504420 l8ui a5, a2, 2 /* [arg0+0x2] */ # 5e2: 520202 slli a6, a6, 24 # 5e5: 806601 slli a5, a5, 16 # 5e8: 005511 or a5, a5, a6 # 5eb: 605520 or a2, a4, a5 # 5ee: 502420 beq a2, a3, .Lbr062 # 5f1: 37120b movi a6, 0x01f25000 # 5f4: 61f5ff movi a7, 0x02f25000 # 5f7: 71f5ff beq a2, a6, .Lbr064 # 5fa: 67120a beq a2, a7, .Lbr063 # 5fd: 771203 .Lbr062: movi a2, 0 /* 0x00000000 */ # 600: 0c02 ret /* 0x00000000 */ # 602: 0df0 .Lbr063: movi a2, 2 /* 0x00000002 */ # 604: 0c22 ret /* 0x00000002 */ # 606: 0df0 .Lbr064: movi a2, 1 /* 0x00000001 */ # 608: 0c12 ret /* 0x00000001 */ # 60a: 0df0 .literal_position # 60c: 000fac00 # 610: 000fac01 # 614: 000fac02 # 618: 000fac03 # 61c: 000fac04 # 620: 000fac05 # Function @ .irom0.text+0x624 .Lfunc003: movi a4, 0x00ac0f00 # 624: 41faff l8ui a7, a2, 3 /* [arg0+0x3] */ # 627: 720203 l8ui a6, a2, 1 /* [arg0+0x1] */ # 62a: 620201 l8ui a5, a2, 0 /* [arg0] */ # 62d: 520200 slli a6, a6, 8 # 630: 806611 or a5, a5, a6 # 633: 605520 l8ui a6, a2, 2 /* [arg0+0x2] */ # 636: 620202 slli a7, a7, 24 # 639: 807701 slli a6, a6, 16 # 63c: 006611 or a6, a6, a7 # 63f: 706620 or a2, a5, a6 # 642: 602520 beq a2, a4, .Lbr068 # 645: 471237 movi a7, 0x01ac0f00 # 648: 71f2ff movi a8, 0x02ac0f00 # 64b: 81f2ff beq a2, a7, .Lbr067 # 64e: 771223 beq a2, a8, .Lbr069 # 651: 87122f movi a9, 0x03ac0f00 # 654: 91f1ff movi a10, 0x04ac0f00 # 657: a1f1ff beq a2, a9, .Lbr070 # 65a: 97122a beq a2, a10, .Lbr071 # 65d: a7122b movi a11, 0x05ac0f00 # 660: b1f0ff beq a2, a11, .Lbr065 # 663: b71203 movi a2, 32 /* 0x00000020 */ # 666: 2c02 ret /* 0x00000020 */ # 668: 0df0 .Lbr065: beqz a3, .Lbr066 # 66a: 8c33 movi a2, 13 /* 0x0000000d */ # 66c: 0cd2 s8i a2, a3, 0 /* 0x0d -> [arg1] */ # 66e: 224300 .Lbr066: movi a2, 6 /* 0x00000006 */ # 671: 0c62 ret /* 0x00000006 */ # 673: 0df0 .Lbr067: beqz a3, .Lbr066 # 675: 1683ff movi a4, 5 /* 0x00000005 */ # 678: 0c54 s8i a4, a3, 0 /* 0x05 -> [arg1] */ # 67a: 424300 j .Lbr066 # 67d: 06fcff .Lbr068: movi a2, 0 /* 0x00000000 */ # 680: 0c02 ret /* 0x00000000 */ # 682: 0df0 .Lbr069: movi a2, 1 /* 0x00000001 */ # 684: 0c12 ret /* 0x00000001 */ # 686: 0df0 .Lbr070: movi a2, 2 /* 0x00000002 */ # 688: 0c22 ret /* 0x00000002 */ # 68a: 0df0 .Lbr071: movi a2, 3 /* 0x00000003 */ # 68c: 0c32 ret /* 0x00000003 */ # 68e: 0df0 .literal_position # 690: 000fac00 # 694: 000fac01 # 698: 000fac02 # Function @ .irom0.text+0x69c .Lfunc004: movi a3, 0x00ac0f00 # 69c: 31fdff l8ui a6, a2, 3 /* [arg0+0x3] */ # 69f: 620203 l8ui a5, a2, 1 /* [arg0+0x1] */ # 6a2: 520201 l8ui a4, a2, 0 /* [arg0] */ # 6a5: 420200 slli a5, a5, 8 # 6a8: 805511 or a4, a4, a5 # 6ab: 504420 l8ui a5, a2, 2 /* [arg0+0x2] */ # 6ae: 520202 slli a6, a6, 24 # 6b1: 806601 slli a5, a5, 16 # 6b4: 005511 or a5, a5, a6 # 6b7: 605520 or a2, a4, a5 # 6ba: 502420 beq a2, a3, .Lbr072 # 6bd: 37120b movi a6, 0x01ac0f00 # 6c0: 61f5ff movi a7, 0x02ac0f00 # 6c3: 71f5ff beq a2, a6, .Lbr074 # 6c6: 67120a beq a2, a7, .Lbr073 # 6c9: 771203 .Lbr072: movi a2, 0 /* 0x00000000 */ # 6cc: 0c02 ret /* 0x00000000 */ # 6ce: 0df0 .Lbr073: movi a2, 2 /* 0x00000002 */ # 6d0: 0c22 ret /* 0x00000002 */ # 6d2: 0df0 .Lbr074: movi a2, 1 /* 0x00000001 */ # 6d4: 0c12 ret /* 0x00000001 */ # 6d6: 0df0 .literal_position # 6d8: 00000000 # Function @ .irom0.text+0x6dc # Local variables/stack: # (local0): byte[4] @ -0x20 # (local1): word @ -0x1c # (local2): word @ -0x18 # (local3): word @ -0x14 # (local4): word @ -0x10 # (local5): word @ -0xc # (local6): word @ -0x8 # (local7): word @ -0x4 .global sdk_ieee80211_parse_wpa .type sdk_ieee80211_parse_wpa, @function sdk_ieee80211_parse_wpa: movi a5, 0 /* 0x00000000 */ # 6dc: 0c05 addi sp, sp, -32 /* (local0) */ # 6de: 12c1e0 s32i a0, sp, 24 /* a0 -> [(local6)] */ # 6e1: 0961 s8i a5, sp, 0 /* 0x00 -> [(local0)] */ # 6e3: 524100 l32i a0, a2, 48 /* [arg0+0x30] */ # 6e6: 08c2 beqz a0, .Lbr075 # 6e8: 9c50 s32i a0, sp, 16 /* [arg0+0x30] -> [(local4)] */ # 6ea: 0941 l8ui a3, a0, 7 /* [[arg0+0x30]+0x7] */ # 6ec: 320007 l8ui a2, a0, 6 /* [[arg0+0x30]+0x6] */ # 6ef: 220006 slli a3, a3, 8 # 6f2: 803311 or a2, a2, a3 # 6f5: 302220 slli a2, a2, 16 # 6f8: 002211 srai a2, a2, 16 # 6fb: 202031 beqi a2, 1, .Lbr078 # 6fe: 261210 .Lbr075: mov a2, a5 /* 0x00000000 */ # 701: 2d05 j .Lbr077 # 703: 060100 .Lbr076: bltz a0, .Lbr087 # 706: 96300e movi a2, 1 /* 0x00000001 */ # 709: 0c12 .Lbr077: l32i a0, sp, 24 /* [(local6)] */ # 70b: 0861 addi sp, sp, 32 /* (top of frame) */ # 70d: 12c120 ret # 710: 0df0 .Lbr078: mov a3, sp /* (local0) */ # 712: 3d01 addi a2, a0, 8 /* [arg0+0x30]+0x8 */ # 714: 8b20 movi a4, 3 /* 0x00000003 */ # 716: 0c34 l8ui a6, a0, 1 /* [[arg0+0x30]+0x1] */ # 718: 620001 movi a5, sdk_g_ic+0x188 # 71b: 51efff s32i a5, sp, 20 /* sdk_g_ic+0x188 -> [(local5)] */ # 71e: 5951 addi a6, a6, -6 /* [[arg0+0x30]+0x1]-0x6 */ # 720: 62c6fa s32i a6, sp, 4 /* [[arg0+0x30]+0x1]-0x6 -> [(local1)] */ # 723: 6911 s8i a4, a5, 128 /* 0x03 -> [sdk_g_ic+0x208] */ # 725: 424580 call0 .Lfunc001 # 728: 45e3ff movi a5, 0 /* 0x00000000 */ # 72b: 0c05 l32i a6, sp, 16 /* [(local4)] */ # 72d: 6841 l32i a0, sp, 4 /* [(local1)] */ # 72f: 0811 l32i a7, sp, 20 /* [(local5)] */ # 731: 7851 addi a0, a0, -6 /* [(local1)]-0x6 */ # 733: 02c0fa s8i a2, a7, 132 /* a2 -> [[(local5)]+0x84] */ # 736: 224784 l8ui a7, a6, 13 /* [[(local4)]+0xd] */ # 739: 72060d l8ui a6, a6, 12 /* [[(local4)]+0xc] */ # 73c: 62060c slli a7, a7, 8 # 73f: 807711 or a6, a6, a7 # 742: 706620 extui a6, a6, 0, 16 # 745: 6060f4 .Lbr079: beqz a0, .Lbr082 # 748: bc80 s32i a5, sp, 12 /* a5 -> [(local3)] */ # 74a: 5931 s32i a6, sp, 28 /* a6 -> [(local7)] */ # 74c: 6971 s32i a0, sp, 4 /* a0 -> [(local1)] */ # 74e: 0911 extui a8, a5, 0, 16 # 750: 5080f4 bgeu a8, a6, .Lbr082 # 753: 67b82d l32i a3, sp, 16 /* [(local4)] */ # 756: 3841 l32i a2, sp, 12 /* [(local3)] */ # 758: 2831 addx4 a2, a2, a3 # 75a: 3022a0 addi a2, a2, 14 # 75d: eb22 mov a3, sp /* (local0) */ # 75f: 3d01 call0 .Lfunc001 # 761: c5dfff l32i a0, sp, 20 /* [(local5)] */ # 764: 0851 l32i a6, sp, 28 /* [(local7)] */ # 766: 6871 l8ui a0, a0, 130 /* [[(local5)]+0x82] */ # 768: 020082 l32i a5, sp, 12 /* [(local3)] */ # 76b: 5831 beqz a0, .Lbr080 # 76d: 8c10 bnei a0, 1, .Lbr081 # 76f: 661004 .Lbr080: l32i a3, sp, 20 /* [(local5)] */ # 772: 3851 s8i a2, a3, 130 /* a2 -> [[(local5)]+0x82] */ # 774: 224382 .Lbr081: l32i a0, sp, 4 /* [(local1)] */ # 777: 0811 addi a4, a5, 1 /* [(local3)]+0x1 */ # 779: 1b45 extui a5, a4, 0, 8 # 77b: 405074 addi a0, a0, -4 /* [(local1)]-0x4 */ # 77e: 02c0fc j .Lbr079 # 781: c6f0ff .Lbr082: blti a0, 1, .Lbr087 # 784: a61065 movi a5, 0 /* 0x00000000 */ # 787: 0c05 l32i a7, sp, 16 /* [(local4)] */ # 789: 7841 addi a0, a0, -2 # 78b: 02c0fe addx4 a6, a6, a7 # 78e: 7066a0 addi a2, a6, 16 # 791: 22c610 l8ui a7, a6, 15 # 794: 72060f l8ui a6, a6, 14 # 797: 62060e slli a7, a7, 8 # 79a: 807711 or a6, a6, a7 # 79d: 706620 extui a6, a6, 0, 16 # 7a0: 6060f4 .Lbr083: beqz a0, .Lbr076 # 7a3: 16f0f5 s32i a6, sp, 28 /* a6 -> [(local7)] */ # 7a6: 6971 s32i a5, sp, 12 /* a5 -> [(local3)] */ # 7a8: 5931 s32i a2, sp, 8 /* a2 -> [(local2)] */ # 7aa: 2921 s32i a0, sp, 4 /* a0 -> [(local1)] */ # 7ac: 0911 extui a9, a5, 0, 16 # 7ae: 5090f4 bltu a9, a6, .Lbr084 # 7b1: 673902 j .Lbr076 # 7b4: 86d3ff .Lbr084: l32i a2, sp, 8 /* [(local2)] */ # 7b7: 2821 call0 .Lfunc002 # 7b9: 45e1ff bnei a2, 1, .Lbr085 # 7bc: 661209 l32i a11, sp, 20 /* [(local5)] */ # 7bf: b851 movi a10, 2 /* 0x00000002 */ # 7c1: 0c2a s8i a10, a11, 129 /* 0x02 -> [[(local5)]+0x81] */ # 7c3: a24b81 j .Lbr086 # 7c6: 860300 .Lbr085: l32i a2, sp, 8 /* [(local2)] */ # 7c9: 2821 call0 .Lfunc002 # 7cb: 45e0ff bnei a2, 2, .Lbr086 # 7ce: 662206 l32i a2, sp, 20 /* [(local5)] */ # 7d1: 2851 movi a0, 3 /* 0x00000003 */ # 7d3: 0c30 s8i a0, a2, 129 /* 0x03 -> [[(local5)]+0x81] */ # 7d5: 024281 .Lbr086: l32i a6, sp, 28 /* [(local7)] */ # 7d8: 6871 l32i a5, sp, 12 /* [(local3)] */ # 7da: 5831 l32i a2, sp, 8 /* [(local2)] */ # 7dc: 2821 l32i a0, sp, 4 /* [(local1)] */ # 7de: 0811 addi a2, a2, 4 /* [(local2)]+0x4 */ # 7e0: 4b22 addi a0, a0, -4 /* [(local1)]-0x4 */ # 7e2: 02c0fc addi a3, a5, 1 /* [(local3)]+0x1 */ # 7e5: 1b35 extui a5, a3, 0, 8 # 7e7: 305074 j .Lbr083 # 7ea: 46edff .Lbr087: movi a2, 0 /* 0x00000000 */ # 7ed: 0c02 j .Lbr077 # 7ef: 06c6ff .literal_position # 7f4: 00000000 # Function @ .irom0.text+0x7f8 # Local variables/stack: # (local0): byte[4] @ -0x20 # (local1): word @ -0x1c # (local2): word @ -0x18 # (local3): word @ -0x14 # (local4): word @ -0x10 # (local5): word @ -0xc # (local6): word @ -0x8 # (local7): word @ -0x4 .global sdk_ieee80211_parse_rsn .type sdk_ieee80211_parse_rsn, @function sdk_ieee80211_parse_rsn: movi a4, 0 /* 0x00000000 */ # 7f8: 0c04 addi sp, sp, -32 /* (local0) */ # 7fa: 12c1e0 s32i a13, sp, 16 /* a13 -> [(local4)] */ # 7fd: d941 s32i a14, sp, 20 /* a14 -> [(local5)] */ # 7ff: e951 s32i a15, sp, 24 /* a15 -> [(local6)] */ # 801: f961 s32i a12, sp, 12 /* a12 -> [(local3)] */ # 803: c931 s8i a4, sp, 0 /* 0x00 -> [(local0)] */ # 805: 424100 l32i a12, a2, 52 /* [arg0+0x34] */ # 808: c8d2 s32i a0, sp, 8 /* a0 -> [(local2)] */ # 80a: 0921 beqz a12, .Lbr088 # 80c: 9c9c l8ui a5, a12, 1 /* [[arg0+0x34]+0x1] */ # 80e: 520c01 l8ui a2, a12, 3 /* [[arg0+0x34]+0x3] */ # 811: 220c03 blti a5, 10, .Lbr088 # 814: a69511 l8ui a0, a12, 2 /* [[arg0+0x34]+0x2] */ # 817: 020c02 slli a2, a2, 8 # 81a: 802211 or a0, a0, a2 # 81d: 200020 slli a0, a0, 16 # 820: 000011 srai a0, a0, 16 # 823: 000031 beqi a0, 1, .Lbr092 # 826: 26101b .Lbr088: mov a2, a4 /* 0x00000000 */ # 829: 2d04 j .Lbr091 # 82b: c60100 .Lbr089: bgei a13, 2, .Lbr090 # 82e: e62d02 j .Lbr101 # 831: 862e00 .Lbr090: movi a2, 1 /* 0x00000001 */ # 834: 0c12 .Lbr091: l32i a12, sp, 12 /* [(local3)] */ # 836: c831 l32i a13, sp, 16 /* [(local4)] */ # 838: d841 l32i a14, sp, 20 /* [(local5)] */ # 83a: e851 l32i a15, sp, 24 /* [(local6)] */ # 83c: f861 l32i a0, sp, 8 /* [(local2)] */ # 83e: 0821 addi sp, sp, 32 /* (top of frame) */ # 840: 12c120 ret # 843: 0df0 .Lbr092: addi a2, a12, 4 /* [arg0+0x34]+0x4 */ # 845: 4b2c movi a15, sdk_g_ic+0x188 # 847: f1ebff movi a3, 3 /* 0x00000003 */ # 84a: 0c33 s32i a5, sp, 28 /* [[arg0+0x34]+0x1] -> [(local7)] */ # 84c: 5971 s8i a3, a15, 128 /* 0x03 -> [sdk_g_ic+0x208] */ # 84e: 324f80 mov a3, sp /* (local0) */ # 851: 3d01 call0 .Lfunc003 # 853: 05ddff movi a14, 0 /* 0x00000000 */ # 856: 0c0e l32i a13, sp, 28 /* [(local7)] */ # 858: d871 s8i a2, a15, 132 /* a2 -> [sdk_g_ic+0x20c] */ # 85a: 224f84 l8ui a4, a12, 8 /* [[arg0+0x34]+0x8] */ # 85d: 420c08 l8ui a5, a12, 9 /* [[arg0+0x34]+0x9] */ # 860: 520c09 addi a13, a13, -8 /* [(local7)]-0x8 */ # 863: d2cdf8 addi a12, a12, 10 /* [arg0+0x34]+0xa */ # 866: abcc slli a5, a5, 8 # 868: 805511 or a4, a4, a5 # 86b: 504420 extui a4, a4, 0, 16 # 86e: 4040f4 s32i a4, sp, 4 /* a4 -> [(local1)] */ # 871: 4911 .Lbr093: l32i a2, sp, 4 /* [(local1)] */ # 873: 2811 extui a0, a14, 0, 16 # 875: e000f4 bgeu a0, a2, .Lbr096 # 878: 27b020 beqz a13, .Lbr096 # 87b: 9cdd mov a2, a12 # 87d: 2d0c mov a3, sp /* (local0) */ # 87f: 3d01 call0 .Lfunc003 # 881: 05daff addi a13, a13, -4 # 884: d2cdfc l8ui a0, a15, 130 /* [sdk_g_ic+0x20a] */ # 887: 020f82 addi a12, a12, 4 # 88a: 4bcc beqz a0, .Lbr094 # 88c: 8c10 bnei a0, 1, .Lbr095 # 88e: 661002 .Lbr094: s8i a2, a15, 130 /* a2 -> [sdk_g_ic+0x20a] */ # 891: 224f82 .Lbr095: addi a14, a14, 1 # 894: 1bee extui a14, a14, 0, 8 # 896: e0e074 j .Lbr093 # 899: 86f5ff .Lbr096: blti a13, 1, .Lbr101 # 89c: a61d4f movi a14, 0 /* 0x00000000 */ # 89f: 0c0e addi a13, a13, -2 # 8a1: d2cdfe l8ui a0, a12, 0 # 8a4: 020c00 l8ui a2, a12, 1 # 8a7: 220c01 addi a12, a12, 2 # 8aa: 2bcc slli a2, a2, 8 # 8ac: 802211 or a0, a0, a2 # 8af: 200020 extui a0, a0, 0, 16 # 8b2: 0000f4 s32i a0, sp, 4 /* a0 -> [(local1)] */ # 8b5: 0911 .Lbr097: beqz a13, .Lbr089 # 8b7: 163df7 l32i a6, sp, 4 /* [(local1)] */ # 8ba: 6811 extui a5, a14, 0, 16 # 8bc: e050f4 bltu a5, a6, .Lbr098 # 8bf: 673502 j .Lbr089 # 8c2: 06daff .Lbr098: mov a2, a12 # 8c5: 2d0c call0 .Lfunc004 # 8c7: 45ddff bnei a2, 1, .Lbr099 # 8ca: 661207 movi a7, 4 /* 0x00000004 */ # 8cd: 0c47 s8i a7, a15, 129 /* 0x04 -> [sdk_g_ic+0x209] */ # 8cf: 724f81 j .Lbr100 # 8d2: 060300 .Lbr099: mov a2, a12 # 8d5: 2d0c call0 .Lfunc004 # 8d7: 45dcff bnei a2, 2, .Lbr100 # 8da: 662204 movi a8, 5 /* 0x00000005 */ # 8dd: 0c58 s8i a8, a15, 129 /* 0x05 -> [sdk_g_ic+0x209] */ # 8df: 824f81 .Lbr100: addi a12, a12, 4 # 8e2: 4bcc addi a13, a13, -4 # 8e4: d2cdfc addi a14, a14, 1 # 8e7: 1bee extui a14, a14, 0, 8 # 8e9: e0e074 j .Lbr097 # 8ec: c6f1ff .Lbr101: movi a2, 0 /* 0x00000000 */ # 8ef: 0c02 j .Lbr091 # 8f1: 46d0ff # Function @ .irom0.text+0x8f4 .global sdk_ieee80211_parse_action .type sdk_ieee80211_parse_action, @function sdk_ieee80211_parse_action: l32i a4, a3, 4 /* [arg1+0x4] */ # 8f4: 4813 l16ui a2, a3, 22 /* [arg1+0x16] */ # 8f6: 22130b l32i a3, a4, 4 /* [[arg1+0x4]+0x4] */ # 8f9: 3814 add a2, a2, a3 # 8fb: 3a22 addi a2, a2, 24 # 8fd: 22c218 sub a2, a2, a3 # 900: 3022c0 addi a2, a2, -24 # 903: 22c2e8 bltui a2, 2, .Lbr104 # 906: b6221c l8ui a5, a3, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 909: 520318 beqi a5, 3, .Lbr105 # 90c: 26351a bnei a5, 7, .Lbr102 # 90f: 66750a l8ui a3, a3, 25 /* [[[arg1+0x4]+0x4]+0x19] */ # 912: 320319 beqz a3, .Lbr106 # 915: ac33 bnei a3, 1, .Lbr102 # 917: 661302 bltui a2, 3, .Lbr104 # 91a: b63208 .Lbr102: movi a2, 0 /* 0x00000000 */ # 91d: 0c02 ret /* 0x00000000 */ # 91f: 0df0 .Lbr103: movi a5, 8 /* 0x00000008 */ # 921: 0c85 bltu a5, a2, .Lbr102 # 923: 2735f6 .Lbr104: movi a2, -1 /* 0xffffffff */ # 926: 7cf2 ret /* 0xffffffff */ # 928: 0df0 .Lbr105: l8ui a3, a3, 25 /* [[[arg1+0x4]+0x4]+0x19] */ # 92a: 320319 beqz a3, .Lbr103 # 92d: 1603ff beqi a3, 1, .Lbr107 # 930: 26130e bnei a3, 2, .Lbr102 # 933: 6623e6 bltui a2, 6, .Lbr104 # 936: b662ec j .Lbr102 # 939: 06f8ff .Lbr106: bltui a2, 3, .Lbr104 # 93c: b632e6 j .Lbr102 # 93f: 86f6ff .Lbr107: movi a6, 8 /* 0x00000008 */ # 942: 0c86 bgeu a6, a2, .Lbr104 # 944: 27b6de j .Lbr102 # 947: 86f4ff .balign 4 # Function @ .irom0.text+0x94c .global sdk_ieee80211_setup_rateset .type sdk_ieee80211_setup_rateset, @function sdk_ieee80211_setup_rateset: movi a2, 0 /* 0x00000000 */ # 94c: 0c02 ret /* 0x00000000 */ # 94e: 0df0