Disassembled binary SDK output, direct from xtobjdis with a couple of tweaks

Tweaks to xtobjdis are hg-git sha 6da80c11f

Everything works except for wpa_auth.o & phy_chip_v6_ana.o disassemble
with some functions not correctly detected.
This commit is contained in:
Angus Gratton 2015-10-02 09:51:31 +10:00
parent 419f252d80
commit a9e3928c8d
77 changed files with 73774 additions and 0 deletions

View file

@ -0,0 +1,435 @@
.section .bss, "aw", @nobits
.global sdk_g_ic
.type sdk_g_ic, @object
sdk_g_ic: .space 16
.Ldata001: .word 0x00000000 # 10: 00000000
.Ldata002: .word 0x00000000 # 14: 00000000
# NOTE: 1328 non-alignment zero bytes skipped.
.skip 1328
.global sdk_xieee80211Queue
.type sdk_xieee80211Queue, @object
sdk_xieee80211Queue:
.word 0x00000000 # 548: 00000000
.section .irom0.text, "ax", @progbits
.literal_position # 0: 6c090000
# 4: b4090000
# 8: b4090000
# c: 00000000
# Function @ .irom0.text+0x10
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word @ -0x10
# (local5): word @ -0xc
# (local6): word[2] @ -0x8
.Lfunc001: movi a5, 131 /* 0x00000083 */ # 10: 52a083
movi a6, 0x000009b4 # 13: 61fcff
addi sp, sp, -32 /* (local0) */ # 16: 12c1e0
s32i a2, sp, 24 /* arg0 -> [(local6)] */ # 19: 2961
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1b: f941
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d: 0901
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1f: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 21: d921
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 23: e931
movi a13, 0x0000096c # 25: d1f6ff
movi a14, 0 /* 0x00000000 */ # 28: 0c0e
mov a12, a2 /* arg0 */ # 2a: cd02
movi a0, 156 /* 0x0000009c */ # 2c: 02a09c
mov a15, a2 /* arg0 */ # 2f: fd02
add a0, a15, a0 /* arg0+0x9c */ # 31: 0a0f
movi a2, 14 /* 0x0000000e */ # 33: 0ce2
s32i a2, a15, 128 /* 0x0000000e -> [arg0+0x80] */ # 35: 226f20
.Lbr001: s32i a5, a12, 132 # 38: 526c21
l8ui a3, a12, 138 # 3b: 320c8a
s32i a0, sp, 20 /* a0 -> [(local5)] */ # 3e: 0951
bltu a0, a12, .Lbr002 # 40: c73008
s16i a13, a12, 136 # 43: d25c44
bne a12, a0, .Lbr002 # 46: 079c02
s16i a6, a12, 136 # 49: 625c44
.Lbr002: bnez a3, .Lbr003 # 4c: dc23
l16ui a2, a12, 136 # 4e: 221c44
movi a3, 131 /* 0x00000083 */ # 51: 32a083
call0 sdk_ieee80211_mhz2ieee # 54: 050000
l32i a0, sp, 20 /* [(local5)] */ # 57: 0851
movi a5, 131 /* 0x00000083 */ # 59: 52a083
movi a6, 0x000009b4 # 5c: 61ebff
s8i a2, a12, 138 # 5f: 224c8a
.Lbr003: addi a13, a13, 5 # 62: 5bdd
l8ui a4, a12, 139 # 64: 420c8b
addi a14, a14, 1 # 67: 1bee
bnez a4, .Lbr004 # 69: ccd4
l8ui a7, a12, 141 # 6b: 720c8d
slli a7, a7, 24 # 6e: 807701
srai a7, a7, 24 # 71: 707831
slli a7, a7, 1 # 74: f07711
s8i a7, a12, 139 # 77: 724c8b
.Lbr004: l32i a8, a15, 128 /* [arg0+0x80] */ # 7a: 822f20
addi a12, a12, 12 # 7d: cbcc
blt a14, a8, .Lbr001 # 7f: 872eb5
movi a2, 132 /* 0x00000084 */ # 82: 22a084
add a2, a15, a2 /* arg0+0x84 */ # 85: 2a2f
call0 sdk_ieee80211_get_ratetable # 87: 01e1ffc0
# 8b: 0000
l32i a0, sp, 0 /* [(local0)] */ # 8d: 0801
l32i a12, sp, 4 /* [(local1)] */ # 8f: c811
l32i a13, sp, 8 /* [(local2)] */ # 91: d821
s32i a2, a15, 0x150 /* a2 -> [arg0+0x150] */ # 93: 226f54
l32i a14, sp, 12 /* [(local3)] */ # 96: e831
l32i a15, sp, 16 /* [(local4)] */ # 98: f841
addi sp, sp, 32 /* (top of frame) */ # 9a: 12c120
ret # 9d: 0df0
.literal_position # a0: 00000000
# a4: 00000000
# a8: 00000000
# ac: 00000000
# b0: 00000000
# b4: 00000000
# Function @ .irom0.text+0xb8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_ieee80211_ifattach
.type sdk_ieee80211_ifattach, @function
sdk_ieee80211_ifattach:
addi sp, sp, -16 /* (local0) */ # b8: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # bb: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # bd: 0901
mov a12, a2 /* arg0 */ # bf: cd02
call0 .Lfunc001 # c1: c5f4ff
mov a2, a12 /* arg0 */ # c4: 2d0c
movi a0, 100 /* 0x00000064 */ # c6: 02a064
s16i a0, a12, 40 /* 0x0064 -> [arg0+0x28] */ # c9: 025c14
call0 sdk_ieee80211_crypto_attach # cc: 01f6ffc0
# d0: 0000
mov a2, a12 /* arg0 */ # d2: 2d0c
call0 sdk_ieee80211_proto_attach # d4: 01f5ffc0
# d8: 0000
movi a3, 0 /* 0x00000000 */ # da: 0c03
addmi a4, a12, 1280 /* arg0+0x500 */ # dc: 42dc05
l32i a2, a4, 28 /* [arg0+0x51c] */ # df: 2874
s32i a3, a4, 12 /* 0x00000000 -> [arg0+0x50c] */ # e1: 3934
bnei a2, 3, .Lbr005 # e3: 663207
mov a2, a12 /* arg0 */ # e6: 2d0c
call0 sdk_ieee80211_ht_attach # e8: 01f1ffc0
# ec: 0000
.Lbr005: movi a2, sdk_g_ic # ee: 21ecff
call0 sdk_chm_init # f1: 01efffc0
# f5: 0000
mov a2, a12 /* arg0 */ # f7: 2d0c
call0 sdk_ieee80211_scan_attach # f9: 01eeffc0
# fd: 0000
l32i a12, sp, 4 /* [(local1)] */ # ff: c811
l32i a0, sp, 0 /* [(local0)] */ # 101: 0801
addi sp, sp, 16 /* (top of frame) */ # 103: 12c110
ret # 106: 0df0
.literal_position # 108: b4090000
# 10c: b3090000
# 110: 99f6ffff
# 114: 30f6ffff
# 118: 00000000
# 11c: 00000000
# 120: 00000000
# Function @ .irom0.text+0x124
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_mhz2ieee
.type sdk_ieee80211_mhz2ieee, @function
sdk_ieee80211_mhz2ieee:
movi a6, 0x000009b3 # 124: 61faff
movi a7, 0xfffff699 # 127: 71faff
addi sp, sp, -16 /* (local0) */ # 12a: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 12d: 0901
movi a0, 0x000009b4 # 12f: 01f6ff
bbci a3, 7, .Lbr006 # 132: 776312
beq a2, a0, .Lbr010 # 135: 07123d
bltu a6, a2, .Lbr009 # 138: 273628
add a2, a2, a7 /* arg0+0xfffff699 */ # 13b: 7a22
movi a3, 5 /* 0x00000005 */ # 13d: 0c53
call0 __divsi3 # 13f: 01f6ffc0
# 143: 0000
j .Lbr008 # 145: 060500
.Lbr006: beq a2, a0, .Lbr010 # 148: 07122a
bltu a6, a2, .Lbr007 # 14b: 27360c
add a2, a2, a7 /* arg0+0xfffff699 */ # 14e: 7a22
movi a3, 5 /* 0x00000005 */ # 150: 0c53
call0 __divsi3 # 152: 01f2ffc0
# 156: 0000
j .Lbr008 # 158: 460000
.Lbr007: movi a2, -1 /* 0xffffffff */ # 15b: 7cf2
.Lbr008: l32i a0, sp, 0 /* [(local0)] */ # 15d: 0801
addi sp, sp, 16 /* (top of frame) */ # 15f: 12c110
ret # 162: 0df0
.Lbr009: movi a0, 0xfffff630 # 164: 01ecff
movi a3, 20 /* 0x00000014 */ # 167: 1c43
add a2, a2, a0 /* arg0+0xfffff630 */ # 169: 0a22
call0 __udivsi3 # 16b: 01edffc0
# 16f: 0000
addi a2, a2, 15 # 171: fb22
j .Lbr008 # 173: 86f9ff
.Lbr010: movi a2, 14 /* 0x0000000e */ # 176: 0ce2
j .Lbr008 # 178: 46f8ff
.literal_position # 17c: ffff0000
# Function @ .irom0.text+0x180
.global sdk_ieee80211_chan2ieee
.type sdk_ieee80211_chan2ieee, @function
sdk_ieee80211_chan2ieee:
bnez a2, .Lbr011 # 180: cc22
movi a2, 0 /* 0x00000000 */ # 182: 0c02
ret /* 0x00000000 */ # 184: 0df0
.Lbr011: movi a5, 0x0000ffff # 186: 51fdff
beq a2, a5, .Lbr012 # 189: 571204
l8ui a2, a2, 6 /* [arg0+0x6] */ # 18c: 220206
ret /* [arg0+0x6] */ # 18f: 0df0
.Lbr012: mov a2, a5 /* 0x0000ffff */ # 191: 2d05
ret /* 0x0000ffff */ # 193: 0df0
.literal_position # 198: 67090000
# 19c: a4080000
# 1a0: 88130000
# 1a4: b4090000
# Function @ .irom0.text+0x1a8
.global sdk_ieee80211_ieee2mhz
.type sdk_ieee80211_ieee2mhz, @function
sdk_ieee80211_ieee2mhz:
movi a7, 14 /* 0x0000000e */ # 1a8: 0ce7
movi a8, 13 /* 0x0000000d */ # 1aa: 0cd8
movi a6, 0x00000967 # 1ac: 61fbff
movi a9, 0x000008a4 # 1af: 91fbff
bbci a3, 7, .Lbr014 # 1b2: 77630d
beq a2, a7, .Lbr016 # 1b5: 77121f
bgeu a8, a2, .Lbr015 # 1b8: 27b815
.Lbr013: addx4 a2, a2, a2 # 1bb: 2022a0
addx4 a2, a2, a9 # 1be: 9022a0
ret # 1c1: 0df0
.Lbr014: beq a2, a7, .Lbr016 # 1c3: 771211
bgeu a8, a2, .Lbr015 # 1c6: 27b807
movi a3, 26 /* 0x0000001a */ # 1c9: 1ca3
bgeu a3, a2, .Lbr013 # 1cb: 27b3ec
movi a6, 0x00001388 # 1ce: 61f4ff
.Lbr015: addx4 a2, a2, a2 # 1d1: 2022a0
add a2, a2, a6 # 1d4: 6a22
ret # 1d6: 0df0
.Lbr016: movi a2, 0x000009b4 # 1d8: 21f3ff
ret /* 0x000009b4 */ # 1db: 0df0
.balign 4
# Function @ .irom0.text+0x1e0
.global sdk_ieee80211_find_channel
.type sdk_ieee80211_find_channel, @function
sdk_ieee80211_find_channel:
l32i a6, a2, 128 /* [arg0+0x80] */ # 1e0: 622220
blti a6, 1, .Lbr019 # 1e3: a6161d
addx2 a7, a6, a6 # 1e6: 607690
addx4 a7, a7, a2 # 1e9: 2077a0
.Lbr017: l16ui a8, a2, 136 # 1ec: 821244
l32i a9, a2, 132 # 1ef: 922221
bne a3, a8, .Lbr018 # 1f2: 879309
bnone a9, a4, .Lbr018 # 1f5: 470906
movi a10, 132 /* 0x00000084 */ # 1f8: a2a084
add a2, a2, a10 # 1fb: aa22
ret # 1fd: 0df0
.Lbr018: addi a2, a2, 12 # 1ff: cb22
bne a2, a7, .Lbr017 # 201: 7792e7
.Lbr019: movi a2, 0 /* 0x00000000 */ # 204: 0c02
ret /* 0x00000000 */ # 206: 0df0
# Function @ .irom0.text+0x208
.global sdk_ieee80211_find_channel_byieee
.type sdk_ieee80211_find_channel_byieee, @function
sdk_ieee80211_find_channel_byieee:
l32i a6, a2, 128 /* [arg0+0x80] */ # 208: 622220
blti a6, 1, .Lbr022 # 20b: a6161d
addx2 a7, a6, a6 # 20e: 607690
addx4 a7, a7, a2 # 211: 2077a0
.Lbr020: l8ui a8, a2, 138 # 214: 82028a
l32i a9, a2, 132 # 217: 922221
bne a3, a8, .Lbr021 # 21a: 879309
bnone a9, a4, .Lbr021 # 21d: 470906
movi a10, 132 /* 0x00000084 */ # 220: a2a084
add a2, a2, a10 # 223: aa22
ret # 225: 0df0
.Lbr021: addi a2, a2, 12 # 227: cb22
bne a2, a7, .Lbr020 # 229: 7792e7
.Lbr022: movi a2, 0 /* 0x00000000 */ # 22c: 0c02
ret /* 0x00000000 */ # 22e: 0df0
.literal_position # 230: 00000000
# 234: 10000000
# 238: 00000000
# 23c: 14000000
# 240: 00000000
# 244: 00000000
# 248: 00000000
# 24c: 34000000
# 250: 3c000000
# 254: 00000000
# 258: 40000000
# 25c: 00000000
# 260: 14000000
# 264: 34000000
# 268: 08000000
# 26c: 48000000
# 270: 00000000
# 274: 00000000
# 278: 00000000
# 27c: 00000000
# 280: 00000000
# 284: 00000000
# 288: 00000000
# 28c: 00000000
# 290: 00000000
# 294: 00000000
# 298: 00000000
# 29c: 00000000
# 2a0: 00000000
# 2a4: 00000000
# Function @ .irom0.text+0x2a8
# Local variables/stack:
# (local0): word[4] @ -0x20
# (local1): word @ -0x10
# (local2): word[3] @ -0xc
.global sdk_wifi_mode_set
.type sdk_wifi_mode_set, @function
sdk_wifi_mode_set:
addi sp, sp, -32 /* (local0) */ # 2a8: 12c1e0
s32i a12, sp, 20 /* a12 -> [(local2)] */ # 2ab: c951
s32i a0, sp, 16 /* a0 -> [(local1)] */ # 2ad: 0941
mov a12, a2 /* arg0 */ # 2af: cd02
movi a2, .Lstr001 # 2b1: 21dfff
call0 printf # 2b4: 01efffc0
# 2b8: 0000
beqz a12, .Lbr026 # 2ba: 164c0d
beqi a12, 1, .Lbr023 # 2bd: 261c08
beqi a12, 2, .Lbr025 # 2c0: 262c72
addi a0, a12, -3 /* arg0-0x3 */ # 2c3: 02ccfd
bnez a0, .Lbr027 # 2c6: 56100d
.Lbr023: movi a2, .Label001 # 2c9: 21daff
call0 printf # 2cc: 01eaffc0
# 2d0: 0000
movi a2, sdk_info # 2d2: 21d9ff
l8ui a7, a2, 34 /* [sdk_info+0x22] */ # 2d5: 720222
l8ui a6, a2, 33 /* [sdk_info+0x21] */ # 2d8: 620221
l8ui a5, a2, 32 /* [sdk_info+0x20] */ # 2db: 520220
l8ui a4, a2, 31 /* [sdk_info+0x1f] */ # 2de: 42021f
l8ui a3, a2, 30 /* [sdk_info+0x1e] */ # 2e1: 32021e
l8ui a2, a2, 35 /* [sdk_info+0x23] */ # 2e4: 220223
s32i a2, sp, 0 /* [sdk_info+0x23] -> [(local0)] */ # 2e7: 2901
movi a2, .Lstr003 # 2e9: 21d4ff
call0 printf # 2ec: 01e3ffc0
# 2f0: 0000
movi a3, sdk_g_ic # 2f2: 31d3ff
l32i a3, a3, 16 /* [.Ldata001] */ # 2f5: 3843
bnez a3, .Lbr024 # 2f7: ecf3
movi a2, 648 /* 0x00000288 */ # 2f9: 22a288
call0 zalloc # 2fc: 01e0ffc0
# 300: 0000
movi a5, sdk_g_ic # 302: 51d0ff
movi a4, 0 /* 0x00000000 */ # 305: 0c04
s32i a2, a5, 16 /* a2 -> [.Ldata001] */ # 307: 2945
s32i a4, a2, 176 # 309: 42622c
s32i a4, a2, 60 # 30c: 49f2
movi a2, 272 /* 0x00000110 */ # 30e: 22a110
call0 zalloc # 311: 01dbffc0
# 315: 0000
movi a6, sdk_g_ic # 317: 61ccff
movi a3, .Label002 # 31a: 31ccff
l32i a6, a6, 16 /* [.Ldata001] */ # 31d: 6846
movi a4, 6 /* 0x00000006 */ # 31f: 0c64
s32i a2, a6, 140 /* a2 -> [[.Ldata001]+0x8c] */ # 321: 226623
call0 memcpy # 324: 01d8ffc0
# 328: 0000
.Lbr024: beqi a12, 1, .Lbr027 # 32a: 261c6d
movi a2, .Label003 # 32d: 21c8ff
call0 printf # 330: 01d6ffc0
# 334: 0000
.Lbr025: movi a12, sdk_g_ic # 336: c1c7ff
movi a2, .Lstr004 # 339: 21c7ff
call0 printf # 33c: 01d4ffc0
# 340: 0000
movi a8, sdk_info # 342: 81c6ff
movi a2, .Lstr003 # 345: 21c6ff
l8ui a7, a8, 28 /* [sdk_info+0x1c] */ # 348: 72081c
l8ui a6, a8, 27 /* [sdk_info+0x1b] */ # 34b: 62081b
l8ui a5, a8, 26 /* [sdk_info+0x1a] */ # 34e: 52081a
l8ui a4, a8, 25 /* [sdk_info+0x19] */ # 351: 420819
l8ui a3, a8, 24 /* [sdk_info+0x18] */ # 354: 320818
l8ui a8, a8, 29 /* [sdk_info+0x1d] */ # 357: 82081d
s32i a8, sp, 0 /* [sdk_info+0x1d] -> [(local0)] */ # 35a: 8901
call0 printf # 35c: 01cdffc0
# 360: 0000
l32i a9, a12, 20 /* [.Ldata002] */ # 362: 985c
bnez a9, .Lbr027 # 364: fc39
movi a2, 648 /* 0x00000288 */ # 366: 22a288
call0 zalloc # 369: 01caffc0
# 36d: 0000
s32i a2, a12, 20 /* a2 -> [.Ldata002] */ # 36f: 295c
movi a10, 1 /* 0x00000001 */ # 371: 0c1a
s32i a10, a2, 176 # 373: a2622c
movi a2, 272 /* 0x00000110 */ # 376: 22a110
call0 zalloc # 379: 01c7ffc0
# 37d: 0000
movi a3, .Label002 # 37f: 31b9ff
l32i a11, a12, 20 /* [.Ldata002] */ # 382: b85c
movi a4, 6 /* 0x00000006 */ # 384: 0c64
s32i a2, a11, 144 /* a2 -> [[.Ldata002]+0x90] */ # 386: 226b24
call0 memcpy # 389: 01c4ffc0
# 38d: 0000
j .Lbr027 # 38f: 060200
.Lbr026: movi a2, .Lstr002 # 392: 21b5ff
call0 printf # 395: 01c2ffc0
# 399: 0000
.Lbr027: movi a2, .Label004 # 39b: 21b4ff
call0 printf # 39e: 01c1ffc0
# 3a2: 0000
movi a2, 1 /* 0x00000001 */ # 3a4: 0c12
l32i a12, sp, 20 /* [(local2)] */ # 3a6: c851
l32i a0, sp, 16 /* [(local1)] */ # 3a8: 0841
addi sp, sp, 32 /* (top of frame) */ # 3aa: 12c120
ret /* 0x00000001 */ # 3ad: 0df0
.section .rodata, "a", @progbits
.global sdk_ieee80211_opcap
.type sdk_ieee80211_opcap, @object
sdk_ieee80211_opcap:
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
.section .rodata.str1.4, "MSa", @progbits, 1
.Lstr001: .asciz "mode : " # 0: 6d6f6465
# 4: 203a2000
.Lstr002: .asciz "null" # 8: 6e756c6c
# c: 00
.balign 4
.Label001: .word 0x00617473 # 10: 73746100
.Lstr003: .asciz "(%02x:%02x:%02x:%02x:%02x:%02x)" # 14: 28253032
# 18: 783a2530
# 1c: 32783a25
# 20: 3032783a
# 24: 25303278
# 28: 3a253032
# 2c: 783a2530
# 30: 32782900
.Label002: .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
.Label003: .word 0x00202b20 # 3c: 202b2000
.Lstr004: .asciz "softAP" # 40: 736f6674
# 44: 415000
.balign 4
.Label004: .byte 0x0a, 0x00

View file

@ -0,0 +1,197 @@
.section .data, "aw", @progbits
.Lrel001: .word .irom0.text # 0: 00000000
.Lrel002: .word .irom0.text # 4: 00000000
.Lrel003: .word .irom0.text # 8: 00000000
.Lrel004: .word .irom0.text # c: 00000000
.Lrel005: .word .Lfunc002 # 10: bc000000
.Lrel006: .word .Lfunc002 # 14: bc000000
.Lrel007: .word .Lfunc002 # 18: bc000000
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
.Lfunc001: movi a2, -1 /* 0xffffffff */ # 0: 7cf2
ret /* 0xffffffff */ # 2: 0df0
.literal_position # 4: 0c000000
# 8: 00000000
# c: 08000000
# Function @ .irom0.text+0x10
.global sdk_ieee80211_send_action_register
.type sdk_ieee80211_send_action_register, @function
sdk_ieee80211_send_action_register:
beqi a2, 3, .Lbr003 # 10: 26321a
beqi a2, 7, .Lbr004 # 13: 267220
movi a5, 127 /* 0x0000007f */ # 16: 52a07f
bne a2, a5, .Lbr002 # 19: 57920d
bnez a3, .Lbr002 # 1c: cca3
movi a2, .Lrel004 # 1e: 21f9ff
.Lbr001: addx4 a6, a3, a2 # 21: 2063a0
s32i a4, a6, 0 # 24: 4906
movi a2, 0 /* 0x00000000 */ # 26: 0c02
ret /* 0x00000000 */ # 28: 0df0
.Lbr002: movi a2, -1 /* 0xffffffff */ # 2a: 7cf2
ret /* 0xffffffff */ # 2c: 0df0
.Lbr003: bgeui a3, 2, .Lbr002 # 2e: f623f8
movi a2, .Lrel001 # 31: 21f5ff
j .Lbr001 # 34: 46faff
.Lbr004: bnez a3, .Lbr002 # 37: 56f3fe
movi a2, .Lrel003 # 3a: 21f4ff
j .Lbr001 # 3d: 06f8ff
.literal_position # 40: 00000000
# Function @ .irom0.text+0x44
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_send_action_unregister
.type sdk_ieee80211_send_action_unregister, @function
sdk_ieee80211_send_action_unregister:
movi a4, .Lfunc001 # 44: 41ffff
addi sp, sp, -16 /* (local0) */ # 47: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 4a: 0901
call0 sdk_ieee80211_send_action_register # 4c: 050000
l32i a0, sp, 0 /* [(local0)] */ # 4f: 0801
addi sp, sp, 16 /* (top of frame) */ # 51: 12c110
ret # 54: 0df0
.literal_position # 58: 00000000
# 5c: 0c000000
# 60: 08000000
# 64: 00000000
# Function @ .irom0.text+0x68
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_send_action
.type sdk_ieee80211_send_action, @function
sdk_ieee80211_send_action:
addi sp, sp, -16 /* (local0) */ # 68: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6b: 0901
movi a0, .Lfunc001 # 6d: 01faff
beqi a3, 3, .Lbr005 # 70: 263315
beqi a3, 7, .Lbr009 # 73: 267326
movi a6, 127 /* 0x0000007f */ # 76: 62a07f
bne a3, a6, .Lbr006 # 79: 67930f
bnez a4, .Lbr008 # 7c: dc84
movi a7, .Lrel004 # 7e: 71f7ff
addx4 a7, a4, a7 # 81: 7074a0
l32i a7, a7, 0 # 84: 7807
j .Lbr007 # 86: 060100
.Lbr005: bltui a4, 2, .Lbr011 # 89: b62422
.Lbr006: mov a7, a0 /* .Lfunc001 */ # 8c: 7d00
.Lbr007: callx0 a7 # 8e: c00700
l32i a0, sp, 0 /* [(local0)] */ # 91: 0801
addi sp, sp, 16 /* (top of frame) */ # 93: 12c110
ret # 96: 0df0
.Lbr008: mov a7, a0 /* .Lfunc001 */ # 98: 7d00
j .Lbr007 # 9a: 06fcff
.Lbr009: bnez a4, .Lbr010 # 9d: cc94
movi a7, .Lrel003 # 9f: 71f0ff
addx4 a7, a4, a7 # a2: 7074a0
l32i a7, a7, 0 # a5: 7807
j .Lbr007 # a7: c6f8ff
.Lbr010: mov a7, a0 /* .Lfunc001 */ # aa: 7d00
j .Lbr007 # ac: 86f7ff
.Lbr011: movi a7, .Lrel001 # af: 71edff
addx4 a7, a4, a7 # b2: 7074a0
l32i a7, a7, 0 # b5: 7807
j .Lbr007 # b7: c6f4ff
.balign 4
# Function @ .irom0.text+0xbc
.Lfunc002: movi a2, -1 /* 0xffffffff */ # bc: 7cf2
ret /* 0xffffffff */ # be: 0df0
.literal_position # c0: 18000000
# c4: 10000000
# c8: 14000000
# Function @ .irom0.text+0xcc
.global sdk_ieee80211_recv_action_register
.type sdk_ieee80211_recv_action_register, @function
sdk_ieee80211_recv_action_register:
beqi a2, 3, .Lbr014 # cc: 26321a
beqi a2, 7, .Lbr015 # cf: 267220
movi a5, 127 /* 0x0000007f */ # d2: 52a07f
bne a2, a5, .Lbr013 # d5: 57920d
bnez a3, .Lbr013 # d8: cca3
movi a2, .Lrel007 # da: 21f9ff
.Lbr012: addx4 a6, a3, a2 # dd: 2063a0
s32i a4, a6, 0 # e0: 4906
movi a2, 0 /* 0x00000000 */ # e2: 0c02
ret /* 0x00000000 */ # e4: 0df0
.Lbr013: movi a2, -1 /* 0xffffffff */ # e6: 7cf2
ret /* 0xffffffff */ # e8: 0df0
.Lbr014: bnez a3, .Lbr013 # ea: 5683ff
movi a2, .Lrel005 # ed: 21f5ff
j .Lbr012 # f0: 46faff
.Lbr015: bnez a3, .Lbr013 # f3: 56f3fe
movi a2, .Lrel006 # f6: 21f4ff
j .Lbr012 # f9: 06f8ff
.literal_position # fc: bc000000
# Function @ .irom0.text+0x100
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_recv_action_unregister
.type sdk_ieee80211_recv_action_unregister, @function
sdk_ieee80211_recv_action_unregister:
movi a4, .Lfunc002 # 100: 41ffff
addi sp, sp, -16 /* (local0) */ # 103: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 106: 0901
call0 sdk_ieee80211_recv_action_register # 108: 050000
l32i a0, sp, 0 /* [(local0)] */ # 10b: 0801
addi sp, sp, 16 /* (top of frame) */ # 10d: 12c110
ret # 110: 0df0
.literal_position # 114: bc000000
# 118: 18000000
# 11c: 14000000
# 120: 10000000
# Function @ .irom0.text+0x124
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_recv_action
.type sdk_ieee80211_recv_action, @function
sdk_ieee80211_recv_action:
addi sp, sp, -16 /* (local0) */ # 124: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 127: 0901
l8ui a0, a4, 0 /* [arg2] */ # 129: 020400
movi a8, .Lfunc002 # 12c: 81faff
beqi a0, 3, .Lbr016 # 12f: 26301a
beqi a0, 7, .Lbr020 # 132: 26702b
movi a6, 127 /* 0x0000007f */ # 135: 62a07f
bne a0, a6, .Lbr017 # 138: 679016
l8ui a0, a4, 1 /* [arg2+0x1] */ # 13b: 020401
mov a7, a8 /* .Lfunc002 */ # 13e: 7d08
bnez a0, .Lbr019 # 140: dca0
movi a7, .Lrel007 # 142: 71f5ff
addx4 a7, a0, a7 # 145: 7070a0
l32i a7, a7, 0 # 148: 7807
j .Lbr018 # 14a: 860100
.Lbr016: l8ui a0, a4, 1 /* [arg2+0x1] */ # 14d: 020401
beqz a0, .Lbr022 # 150: ac20
.Lbr017: mov a7, a8 /* .Lfunc002 */ # 152: 7d08
.Lbr018: callx0 a7 # 154: c00700
l32i a0, sp, 0 /* [(local0)] */ # 157: 0801
addi sp, sp, 16 /* (top of frame) */ # 159: 12c110
ret # 15c: 0df0
.Lbr019: j .Lbr018 # 15e: 86fcff
.Lbr020: l8ui a0, a4, 1 /* [arg2+0x1] */ # 161: 020401
mov a7, a8 /* .Lfunc002 */ # 164: 7d08
bnez a0, .Lbr021 # 166: cc90
movi a7, .Lrel006 # 168: 71edff
addx4 a7, a0, a7 # 16b: 7070a0
l32i a7, a7, 0 # 16e: 7807
j .Lbr018 # 170: 06f8ff
.Lbr021: j .Lbr018 # 173: 46f7ff
.Lbr022: movi a7, .Lrel005 # 176: 71eaff
addx4 a7, a0, a7 # 179: 7070a0
l32i a7, a7, 0 # 17c: 7807
j .Lbr018 # 17e: 86f4ff

View file

@ -0,0 +1,109 @@
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
.global sdk_ieee80211_crypto_attach
.type sdk_ieee80211_crypto_attach, @function
sdk_ieee80211_crypto_attach:
ret /* arg0 */ # 0: 0df0
.balign 4
# Function @ .irom0.text+0x4
.global sdk_ieee80211_crypto_available
.type sdk_ieee80211_crypto_available, @function
sdk_ieee80211_crypto_available:
movi a2, 0 /* 0x00000000 */ # 4: 0c02
ret /* 0x00000000 */ # 6: 0df0
# Function @ .irom0.text+0x8
.global sdk_ieee80211_crypto_setkey
.type sdk_ieee80211_crypto_setkey, @function
sdk_ieee80211_crypto_setkey:
movi a2, 0 /* 0x00000000 */ # 8: 0c02
ret /* 0x00000000 */ # a: 0df0
.literal_position # c: 00000000
# Function @ .irom0.text+0x10
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_ieee80211_crypto_encap
.type sdk_ieee80211_crypto_encap, @function
sdk_ieee80211_crypto_encap:
addi sp, sp, -16 /* (local0) */ # 10: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 13: 0911
l32i a4, a3, 32 /* [arg1+0x20] */ # 15: 4883
l32i a0, a2, 136 /* [arg0+0x88] */ # 17: 022222
l32i a4, a4, 0 /* [[arg1+0x20]] */ # 1a: 4804
movi a2, sdk_g_ic # 1c: 21fcff
bbci a4, 7, .Lbr003 # 1f: 776434
l8ui a0, a0, 233 /* [[arg0+0x88]+0xe9] */ # 22: 0200e9
bltui a0, 2, .Lbr001 # 25: b62004
addi a6, a0, -1 /* [[arg0+0x88]+0xe9]-0x1 */ # 28: 0b60
j .Lbr002 # 2a: 460000
.Lbr001: mov a6, a0 /* [[arg0+0x88]+0xe9] */ # 2d: 6d00
.Lbr002: addx4 a2, a0, a2 # 2f: 2020a0
l32i a2, a2, 0x190 # 32: 222264
slli a4, a6, 6 # 35: a04611
l32i a0, a2, 152 # 38: 022226
extui a4, a4, 0, 8 # 3b: 404074
l32i a0, a0, 16 # 3e: 0840
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 40: 2901
callx0 a0 # 42: c00000
l32i a4, sp, 0 /* [(local0)] */ # 45: 4801
l32i a3, sp, 4 /* [(local1)] */ # 47: 3811
movi a0, 0 /* 0x00000000 */ # 49: 0c00
addi sp, sp, 16 /* (top of frame) */ # 4b: 12c110
movnez a0, a4, a2 # 4e: 200493
mov a2, a0 # 51: 2d00
mov a0, a3 /* [(local1)] */ # 53: 0d03
ret # 55: 0df0
.Lbr003: movi a6, 0 /* 0x00000000 */ # 57: 0c06
l8ui a0, a0, 232 /* [[arg0+0x88]+0xe8] */ # 59: 0200e8
j .Lbr002 # 5c: c6f3ff
.literal_position # 60: 00000000
# Function @ .irom0.text+0x64
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_ieee80211_crypto_decap
.type sdk_ieee80211_crypto_decap, @function
sdk_ieee80211_crypto_decap:
addi sp, sp, -16 /* (local0) */ # 64: 12c1f0
l16ui a5, a3, 22 /* [arg1+0x16] */ # 67: 52130b
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 6a: 0911
l16ui a0, a3, 20 /* [arg1+0x14] */ # 6c: 02130a
movi a6, sdk_g_ic # 6f: 61fcff
add a0, a0, a5 # 72: 5a00
bltui a0, 32, .Lbr005 # 74: b6c020
l32i a0, a3, 4 /* [arg1+0x4] */ # 77: 0813
l32i a0, a0, 4 /* [[arg1+0x4]+0x4] */ # 79: 0810
l8ui a7, a0, 4 /* [[[arg1+0x4]+0x4]+0x4] */ # 7b: 720004
add a0, a4, a0 # 7e: 0a04
bbci a7, 0, .Lbr008 # 80: 076731
l8ui a0, a0, 3 # 83: 020003
extui a0, a0, 6, 2 # 86: 000614
addi a0, a0, -1 # 89: 0b00
extui a0, a0, 0, 8 # 8b: 000074
.Lbr004: addx4 a2, a0, a6 # 8e: 6020a0
l32i a2, a2, 0x190 # 91: 222264
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 94: 2901
bnez a2, .Lbr006 # 96: cc32
.Lbr005: movi a2, 0 /* 0x00000000 */ # 98: 0c02
j .Lbr007 # 9a: 060400
.Lbr006: l32i a0, a2, 152 # 9d: 022226
l32i a0, a0, 20 # a0: 0850
callx0 a0 # a2: c00000
mov a4, a2 # a5: 4d02
l32i a3, sp, 0 /* [(local0)] */ # a7: 3801
movi a2, 0 /* 0x00000000 */ # a9: 0c02
movnez a2, a3, a4 # ab: 402393
.Lbr007: l32i a0, sp, 4 /* [(local1)] */ # ae: 0811
addi sp, sp, 16 /* (top of frame) */ # b0: 12c110
ret # b3: 0df0
.Lbr008: l32i a0, a2, 136 /* [arg0+0x88] */ # b5: 022222
l8ui a0, a0, 232 /* [[arg0+0x88]+0xe8] */ # b8: 0200e8
j .Lbr004 # bb: c6f3ff

View file

@ -0,0 +1,140 @@
.section .data, "aw", @progbits
.global sdk_ccmp
.type sdk_ccmp, @object
sdk_ccmp: .word 0x00000003 # 0: 03000000
.Ldata001: .word 0x00000008 # 4: 08000000
# NOTE: The following is apparently unreferenced code/data
.word 0x00000008 # 8: 08000000
.word 0x00000000 # c: 00000000
.Lrel001: .word .Lfunc001 # 10: 04000000
.Lrel002: .word .Lfunc002 # 14: 80000000
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# Function @ .irom0.text+0x4
.Lfunc001: ssai 8 # 4: 004840
l32i a5, a2, 144 /* [arg0+0x90] */ # 7: 522224
l16ui a6, a3, 22 /* [arg1+0x16] */ # a: 62130b
movi a7, sdk_ccmp # d: 71fcff
l32i a9, a3, 4 /* [arg1+0x4] */ # 10: 9813
l32i a10, a7, 4 /* [.Ldata001] */ # 12: a817
l32i a7, a7, 4 /* [.Ldata001] */ # 14: 7817
l32i a8, a9, 4 /* [[arg1+0x4]+0x4] */ # 16: 8819
add a6, a6, a7 # 18: 7a66
sub a8, a8, a10 # 1a: a088c0
addi a7, a5, 1 /* [arg0+0x90]+0x1 */ # 1d: 1b75
s32i a8, a9, 4 /* a8 -> [[arg1+0x4]+0x4] */ # 1f: 8919
s16i a6, a3, 22 /* a6 -> [arg1+0x16] */ # 21: 62530b
movi a9, 32 /* 0x00000020 */ # 24: 2c09
or a11, a4, a9 # 26: 90b420
s32i a7, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 29: 726224
l32i a3, a2, 148 /* [arg0+0x94] */ # 2c: 322225
bgeu a7, a5, .Lbr001 # 2f: 57b701
addi a3, a3, 1 /* [arg0+0x94]+0x1 */ # 32: 1b33
.Lbr001: movi a5, 0 /* 0x00000000 */ # 34: 0c05
s32i a3, a2, 148 /* a3 -> [arg0+0x94] */ # 36: 326225
s8i a7, a8, 0 # 39: 724800
l32i a6, a2, 148 /* [arg0+0x94] */ # 3c: 622225
l32i a10, a2, 144 /* [arg0+0x90] */ # 3f: a22224
s8i a5, a8, 2 # 42: 524802
s8i a11, a8, 3 # 45: b24803
src a6, a6, a10 # 48: a06681
s8i a6, a8, 1 # 4b: 624801
l32i a11, a2, 144 /* [arg0+0x90] */ # 4e: b22224
l32i a10, a2, 148 /* [arg0+0x94] */ # 51: a22225
ssai 16 # 54: 104040
src a10, a10, a11 # 57: b0aa81
s8i a10, a8, 4 # 5a: a24804
l32i a6, a2, 144 /* [arg0+0x90] */ # 5d: 622224
l32i a5, a2, 148 /* [arg0+0x94] */ # 60: 522225
ssai 24 # 63: 104840
src a5, a5, a6 # 66: 605581
s8i a5, a8, 5 # 69: 524805
l32i a11, a2, 148 /* [arg0+0x94] */ # 6c: b22225
s8i a11, a8, 6 # 6f: b24806
l32i a10, a2, 148 /* [arg0+0x94] */ # 72: a22225
movi a2, 1 /* 0x00000001 */ # 75: 0c12
srli a10, a10, 8 # 77: a0a841
s8i a10, a8, 7 # 7a: a24807
ret /* 0x00000001 */ # 7d: 0df0
.balign 4
# Function @ .irom0.text+0x80
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 80: 12c1f0
l32i a8, a3, 4 /* [arg1+0x4] */ # 83: 8813
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 85: 0911
l32i a0, a8, 4 /* [[arg1+0x4]+0x4] */ # 87: 0818
add a7, a4, a0 # 89: 0a74
l8ui a5, a7, 3 # 8b: 520703
movi a9, 140 /* 0x0000008c */ # 8e: 92a08c
extui a5, a5, 5, 1 # 91: 505504
beqz a5, .Lbr006 # 94: 169508
l8ui a5, a7, 6 # 97: 520706
l8ui a11, a7, 7 # 9a: b20707
l8ui a6, a0, 0 /* [[[arg1+0x4]+0x4]] */ # 9d: 620000
slli a11, a11, 8 # a0: 80bb11
and a6, a6, a9 # a3: 906610
or a11, a11, a5 # a6: 50bb20
l8ui a5, a7, 4 # a9: 520704
movi a9, 136 /* 0x00000088 */ # ac: 92a088
slli a5, a5, 16 # af: 005511
bne a6, a9, .Lbr002 # b2: 979611
l8ui a10, a0, 1 /* [[[arg1+0x4]+0x4]+0x1] */ # b5: a20001
extui a10, a10, 0, 2 # b8: a0a014
addi a10, a10, -3 # bb: a2cafd
bnez a10, .Lbr008 # be: 56aa06
l8ui a0, a0, 30 /* [[[arg1+0x4]+0x4]+0x1e] */ # c1: 02001e
j .Lbr009 # c4: c61900
.Lbr002: movi a0, 16 /* 0x00000010 */ # c7: 1c00
.Lbr003: l8ui a9, a7, 0 # c9: 920700
l8ui a10, a7, 5 # cc: a20705
l8ui a6, a7, 1 # cf: 620701
slli a10, a10, 24 # d2: 80aa01
slli a6, a6, 8 # d5: 806611
or a6, a6, a9 # d8: 906620
extui a7, a11, 0, 16 # db: b070f4
addx8 a9, a0, a2 # de: 2090b0
or a5, a5, a6 # e1: 605520
movi a0, 0 /* 0x00000000 */ # e4: 0c00
s32i a9, sp, 0 /* a9 -> [(local0)] */ # e6: 9901
l32i a11, a9, 8 # e8: b829
l32i a9, a9, 12 # ea: 9839
or a10, a10, a5 # ec: 50aa20
bltu a9, a7, .Lbr005 # ef: 773907
bne a9, a7, .Lbr004 # f2: 779902
bltu a11, a10, .Lbr005 # f5: a73b01
.Lbr004: movi a0, 1 /* 0x00000001 */ # f8: 0c10
.Lbr005: bnez a0, .Lbr006 # fa: ec30
l32i a11, sp, 0 /* [(local0)] */ # fc: b801
l16ui a9, a3, 22 /* [arg1+0x16] */ # fe: 92130b
s32i a10, a11, 8 /* a10 -> [[(local0)]+0x8] */ # 101: a92b
s32i a7, a11, 12 /* a7 -> [[(local0)]+0xc] */ # 103: 793b
l32i a11, a2, 152 /* [arg0+0x98] */ # 105: b22226
l32i a5, a8, 4 /* [[arg1+0x4]+0x4] */ # 108: 5818
l32i a0, a11, 4 /* [[arg0+0x98]+0x4] */ # 10a: 081b
l32i a11, a11, 8 /* [[arg0+0x98]+0x8] */ # 10c: b82b
add a6, a4, a0 # 10e: 0a64
add a11, a11, a0 # 110: 0abb
add a5, a5, a6 # 112: 6a55
movi a0, 1 /* 0x00000001 */ # 114: 0c10
s32i a5, a8, 4 /* a5 -> [[arg1+0x4]+0x4] */ # 116: 5918
sub a9, a9, a11 # 118: b099c0
s16i a9, a3, 22 /* a9 -> [arg1+0x16] */ # 11b: 92530b
j .Lbr007 # 11e: 460000
.Lbr006: movi a0, 0 /* 0x00000000 */ # 121: 0c00
.Lbr007: mov a2, a0 # 123: 2d00
l32i a0, sp, 4 /* [(local1)] */ # 125: 0811
addi sp, sp, 16 /* (top of frame) */ # 127: 12c110
ret # 12a: 0df0
.Lbr008: l8ui a0, a0, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 12c: 020018
.Lbr009: extui a0, a0, 0, 4 # 12f: 000034
j .Lbr003 # 132: c6e4ff

View file

@ -0,0 +1,163 @@
.section .data, "aw", @progbits
.global sdk_tkip
.type sdk_tkip, @object
sdk_tkip: .word 0x00000002 # 0: 02000000
.Ldata001: .word 0x00000008 # 4: 08000000
# NOTE: The following is apparently unreferenced code/data
.word 0x0000000c # 8: 0c000000
.word 0x00000008 # c: 08000000
.Lrel001: .word .Lfunc001 # 10: 08000000
.Lrel002: .word .Lfunc002 # 14: a0000000
.section .bss, "aw", @nobits
.Ldata002: .word 0x00000000 # 0: 00000000
.Ldata003: .word 0x00000000 # 4: 00000000
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# Function @ .irom0.text+0x8
.Lfunc001: movi a5, sdk_g_ic # 8: 51feff
ssai 8 # b: 004840
l32i a5, a5, 28 /* [sdk_g_ic+0x1c] */ # e: 5875
movi a11, sdk_tkip # 10: b1fdff
bbci a5, 26, .Lbr001 # 13: a77503
movi a2, 0 /* 0x00000000 */ # 16: 0c02
ret /* 0x00000000 */ # 18: 0df0
.Lbr001: l32i a7, a2, 148 /* [arg0+0x94] */ # 1a: 722225
l16ui a10, a3, 22 /* [arg1+0x16] */ # 1d: a2130b
l32i a5, a3, 4 /* [arg1+0x4] */ # 20: 5813
l32i a9, a11, 4 /* [.Ldata001] */ # 22: 981b
l32i a8, a5, 4 /* [[arg1+0x4]+0x4] */ # 24: 8815
l32i a11, a11, 4 /* [.Ldata001] */ # 26: b81b
sub a8, a8, a9 # 28: 9088c0
l32i a9, a2, 144 /* [arg0+0x90] */ # 2b: 922224
add a10, a10, a11 # 2e: baaa
src a7, a7, a9 # 30: 907781
movi a9, 95 /* 0x0000005f */ # 33: 5cf9
s32i a8, a5, 4 /* a8 -> [[arg1+0x4]+0x4] */ # 35: 8915
s16i a10, a3, 22 /* a10 -> [arg1+0x16] */ # 37: a2530b
and a9, a7, a9 # 3a: 909710
movi a10, 32 /* 0x00000020 */ # 3d: 2c0a
or a6, a4, a10 # 3f: a06420
s8i a7, a8, 0 # 42: 724800
or a9, a9, a10 # 45: a09920
s8i a9, a8, 1 # 48: 924801
l32i a5, a2, 144 /* [arg0+0x90] */ # 4b: 522224
s8i a6, a8, 3 # 4e: 624803
s8i a5, a8, 2 # 51: 524802
l32i a4, a2, 144 /* [arg0+0x90] */ # 54: 422224
l32i a3, a2, 148 /* [arg0+0x94] */ # 57: 322225
ssai 16 # 5a: 104040
src a3, a3, a4 # 5d: 403381
s8i a3, a8, 4 # 60: 324804
l32i a11, a2, 144 /* [arg0+0x90] */ # 63: b22224
l32i a10, a2, 148 /* [arg0+0x94] */ # 66: a22225
ssai 24 # 69: 104840
src a10, a10, a11 # 6c: b0aa81
s8i a10, a8, 5 # 6f: a24805
l32i a9, a2, 148 /* [arg0+0x94] */ # 72: 922225
s8i a9, a8, 6 # 75: 924806
l32i a7, a2, 148 /* [arg0+0x94] */ # 78: 722225
srli a7, a7, 8 # 7b: 707841
s8i a7, a8, 7 # 7e: 724807
l32i a6, a2, 144 /* [arg0+0x90] */ # 81: 622224
l32i a3, a2, 148 /* [arg0+0x94] */ # 84: 322225
addi a4, a6, 1 /* [arg0+0x90]+0x1 */ # 87: 1b46
bgeu a4, a6, .Lbr002 # 89: 67b401
addi a3, a3, 1 /* [arg0+0x94]+0x1 */ # 8c: 1b33
.Lbr002: s32i a3, a2, 148 /* a3 -> [arg0+0x94] */ # 8e: 326225
s32i a4, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 91: 426224
movi a2, 1 /* 0x00000001 */ # 94: 0c12
ret /* 0x00000001 */ # 96: 0df0
.literal_position # 98: 00000000
# 9c: 00000000
# Function @ .irom0.text+0xa0
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.Lfunc002: addi sp, sp, -16 /* (local0) */ # a0: 12c1f0
l32i a8, a3, 4 /* [arg1+0x4] */ # a3: 8813
s32i a0, sp, 4 /* a0 -> [(local1)] */ # a5: 0911
l32i a0, a8, 4 /* [[arg1+0x4]+0x4] */ # a7: 0818
movi a6, sdk_g_ic # a9: 61fbff
add a7, a4, a0 # ac: 0a74
l8ui a5, a7, 3 # ae: 520703
l32i a6, a6, 28 /* [sdk_g_ic+0x1c] */ # b1: 6876
extui a5, a5, 5, 1 # b3: 505504
beqz a5, .Lbr007 # b6: 169509
extui a6, a6, 26, 1 # b9: 606a05
bnez a6, .Lbr007 # bc: 563609
l8ui a6, a7, 6 # bf: 620706
l8ui a5, a7, 7 # c2: 520707
l8ui a9, a0, 0 /* [[[arg1+0x4]+0x4]] */ # c5: 920000
movi a10, 140 /* 0x0000008c */ # c8: a2a08c
and a9, a9, a10 # cb: a09910
slli a5, a5, 8 # ce: 805511
or a5, a5, a6 # d1: 605520
movi a10, 136 /* 0x00000088 */ # d4: a2a088
l8ui a6, a7, 0 # d7: 620700
bne a9, a10, .Lbr003 # da: a79911
l8ui a11, a0, 1 /* [[[arg1+0x4]+0x4]+0x1] */ # dd: b20001
extui a11, a11, 0, 2 # e0: b0b014
addi a11, a11, -3 # e3: b2cbfd
bnez a11, .Lbr009 # e6: 564b07
l8ui a0, a0, 30 /* [[[arg1+0x4]+0x4]+0x1e] */ # e9: 02001e
j .Lbr010 # ec: 461c00
.Lbr003: movi a0, 16 /* 0x00000010 */ # ef: 1c00
.Lbr004: slli a6, a6, 8 # f1: 806611
l8ui a9, a7, 2 # f4: 920702
l8ui a10, a7, 5 # f7: a20705
l8ui a11, a7, 4 # fa: b20704
slli a10, a10, 24 # fd: 80aa01
slli a11, a11, 16 # 100: 00bb11
extui a7, a5, 0, 16 # 103: 5070f4
or a6, a6, a9 # 106: 906620
or a11, a11, a6 # 109: 60bb20
addx8 a9, a0, a2 # 10c: 2090b0
or a10, a10, a11 # 10f: b0aa20
movi a11, .Ldata002 # 112: b1e2ff
s32i a9, sp, 0 /* a9 -> [(local0)] */ # 115: 9901
s32i a7, a11, 4 /* a7 -> [.Ldata003] */ # 117: 791b
s32i a10, a11, 0 /* a10 -> [.Ldata002] */ # 119: a90b
l32i a11, a9, 8 # 11b: b829
l32i a9, a9, 12 # 11d: 9839
movi a0, 0 /* 0x00000000 */ # 11f: 0c00
bltu a9, a7, .Lbr006 # 121: 773907
bne a9, a7, .Lbr005 # 124: 779902
bltu a11, a10, .Lbr006 # 127: a73b01
.Lbr005: movi a0, 1 /* 0x00000001 */ # 12a: 0c10
.Lbr006: bnez a0, .Lbr007 # 12c: ec30
l32i a0, sp, 0 /* [(local0)] */ # 12e: 0801
l16ui a11, a3, 22 /* [arg1+0x16] */ # 130: b2130b
s32i a10, a0, 8 /* a10 -> [[(local0)]+0x8] */ # 133: a920
s32i a7, a0, 12 /* a7 -> [[(local0)]+0xc] */ # 135: 7930
l32i a0, a2, 152 /* [arg0+0x98] */ # 137: 022226
l32i a6, a8, 4 /* [[arg1+0x4]+0x4] */ # 13a: 6818
l32i a5, a0, 4 /* [[arg0+0x98]+0x4] */ # 13c: 5810
l32i a0, a0, 8 /* [[arg0+0x98]+0x8] */ # 13e: 0820
add a9, a4, a5 # 140: 5a94
add a6, a6, a9 # 142: 9a66
add a0, a0, a5 # 144: 5a00
sub a11, a11, a0 # 146: 00bbc0
s32i a6, a8, 4 /* a6 -> [[arg1+0x4]+0x4] */ # 149: 6918
movi a0, 1 /* 0x00000001 */ # 14b: 0c10
s16i a11, a3, 22 /* a11 -> [arg1+0x16] */ # 14d: b2530b
j .Lbr008 # 150: 460000
.Lbr007: movi a0, 0 /* 0x00000000 */ # 153: 0c00
.Lbr008: mov a2, a0 # 155: 2d00
l32i a0, sp, 4 /* [(local1)] */ # 157: 0811
addi sp, sp, 16 /* (top of frame) */ # 159: 12c110
ret # 15c: 0df0
.Lbr009: l8ui a0, a0, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 15e: 020018
.Lbr010: extui a0, a0, 0, 4 # 161: 000034
j .Lbr004 # 164: 46e2ff

View file

@ -0,0 +1,71 @@
.section .data, "aw", @progbits
.global sdk_wep
.type sdk_wep, @object
sdk_wep: .word 0x00000001 # 0: 01000000
.Ldata001: .word 0x00000004 # 4: 04000000
# NOTE: The following is apparently unreferenced code/data
.word 0x00000004 # 8: 04000000
.word 0x00000000 # c: 00000000
.Lrel001: .word .Lfunc001 # 10: 04000000
.Lrel002: .word .Lfunc002 # 14: 60000000
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# Function @ .irom0.text+0x4
.Lfunc001: bnez a3, .Lbr001 # 4: cc33
movi a3, 0 /* 0x00000000 */ # 6: 0c03
j .Lbr003 # 8: 461300
.Lbr001: l32i a5, a2, 144 /* [arg0+0x90] */ # b: 522224
l16ui a6, a3, 22 /* [arg1+0x16] */ # e: 62130b
movi a7, sdk_wep # 11: 71fbff
l32i a8, a3, 4 /* [arg1+0x4] */ # 14: 8813
l32i a10, a7, 4 /* [.Ldata001] */ # 16: a817
l32i a7, a7, 4 /* [.Ldata001] */ # 18: 7817
l32i a9, a8, 4 /* [[arg1+0x4]+0x4] */ # 1a: 9818
add a6, a6, a7 # 1c: 7a66
sub a9, a9, a10 # 1e: a099c0
l32i a7, a2, 148 /* [arg0+0x94] */ # 21: 722225
s32i a9, a8, 4 /* a9 -> [[arg1+0x4]+0x4] */ # 24: 9918
s16i a6, a3, 22 /* a6 -> [arg1+0x16] */ # 26: 62530b
addi a8, a5, 1 /* [arg0+0x90]+0x1 */ # 29: 1b85
bgeu a8, a5, .Lbr002 # 2b: 57b801
addi a7, a7, 1 /* [arg0+0x94]+0x1 */ # 2e: 1b77
.Lbr002: movi a3, 1 /* 0x00000001 */ # 30: 0c13
s32i a7, a2, 148 /* a7 -> [arg0+0x94] */ # 32: 726225
s32i a8, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 35: 826224
ssai 16 # 38: 104040
src a6, a7, a8 # 3b: 806781
s8i a6, a9, 2 # 3e: 624902
l32i a5, a2, 144 /* [arg0+0x90] */ # 41: 522224
l32i a11, a2, 148 /* [arg0+0x94] */ # 44: b22225
ssai 8 # 47: 004840
src a11, a11, a5 # 4a: 50bb81
s8i a11, a9, 1 # 4d: b24901
l32i a10, a2, 144 /* [arg0+0x90] */ # 50: a22224
s8i a10, a9, 0 # 53: a24900
s8i a4, a9, 3 # 56: 424903
.Lbr003: mov a2, a3 # 59: 2d03
ret # 5b: 0df0
.balign 4
# Function @ .irom0.text+0x60
.Lfunc002: l32i a5, a2, 152 /* [arg0+0x98] */ # 60: 522226
l32i a8, a3, 4 /* [arg1+0x4] */ # 63: 8813
l16ui a2, a3, 22 /* [arg1+0x16] */ # 65: 22130b
l32i a7, a8, 4 /* [[arg1+0x4]+0x4] */ # 68: 7818
l32i a6, a5, 4 /* [[arg0+0x98]+0x4] */ # 6a: 6815
l32i a5, a5, 8 /* [[arg0+0x98]+0x8] */ # 6c: 5825
add a9, a4, a6 # 6e: 6a94
add a7, a7, a9 # 70: 9a77
add a5, a5, a6 # 72: 6a55
sub a2, a2, a5 # 74: 5022c0
s32i a7, a8, 4 /* a7 -> [[arg1+0x4]+0x4] */ # 77: 7918
s16i a2, a3, 22 /* a2 -> [arg1+0x16] */ # 79: 22530b
movi a2, 1 /* 0x00000001 */ # 7c: 0c12
ret /* 0x00000001 */ # 7e: 0df0

View file

@ -0,0 +1,43 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# Function @ .irom0.text+0x4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_ieee80211_getmgtframe
.type sdk_ieee80211_getmgtframe, @function
sdk_ieee80211_getmgtframe:
movi a5, -4 /* 0xfffffffc */ # 4: 7cc5
addi sp, sp, -16 /* (local0) */ # 6: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 9: 0911
s32i a12, sp, 8 /* a12 -> [(local2)] */ # b: c921
movi a0, 256 /* 0x00000100 */ # d: 02a100
mov a12, a3 /* arg1 */ # 10: cd03
add a3, a3, a4 # 12: 4a33
addi a3, a3, 3 # 14: 3b33
and a4, a3, a5 # 16: 504310
bgeu a0, a4, .Lbr001 # 19: 47b004
movi a2, 0 /* 0x00000000 */ # 1c: 0c02
j .Lbr003 # 1e: 860700
.Lbr001: movi a3, 4 /* 0x00000004 */ # 21: 0c43
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 23: 2901
movi a5, 65 /* 0x00000041 */ # 25: 4c15
bgeu a4, a5, .Lbr002 # 27: 57b401
movi a3, 5 /* 0x00000005 */ # 2a: 0c53
.Lbr002: movi a2, 0 /* 0x00000000 */ # 2c: 0c02
call0 sdk_esf_buf_alloc # 2e: 01f4ffc0
# 32: 0000
beqz a2, .Lbr003 # 34: 8c82
l32i a6, a2, 4 # 36: 6812
l32i a6, a6, 4 # 38: 6816
l32i a7, sp, 0 /* [(local0)] */ # 3a: 7801
add a6, a12, a6 # 3c: 6a6c
s32i a6, a7, 0 /* a6 -> [[(local0)]] */ # 3e: 6907
.Lbr003: l32i a12, sp, 8 /* [(local2)] */ # 40: c821
l32i a0, sp, 4 /* [(local1)] */ # 42: 0811
addi sp, sp, 16 /* (top of frame) */ # 44: 12c110
ret # 47: 0df0

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

View file

@ -0,0 +1,993 @@
.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

View file

View file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,241 @@
.section .data, "aw", @progbits
.Ldata001: .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.word 0x00000000 # 14: 00000000
.byte 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00
.byte 0x3a, 0x01, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00
.byte 0xd0, 0x07, 0x00, 0x00, 0x04, 0x01, 0x84, 0x01
.byte 0x02, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x7c, 0x15, 0x00, 0x00, 0x04, 0x02, 0x8b, 0x02
.byte 0xdf, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xf8, 0x2a, 0x00, 0x00, 0x04, 0x03, 0x96, 0x03
.byte 0xd5, 0x00, 0x75, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x70, 0x17, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x04
.byte 0x3c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x28, 0x23, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x04
.byte 0x3c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xe0, 0x2e, 0x00, 0x00, 0x00, 0x0a, 0x18, 0x06
.byte 0x30, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x50, 0x46, 0x00, 0x00, 0x00, 0x0e, 0x24, 0x06
.byte 0x30, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x09, 0x30, 0x08
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xa0, 0x8c, 0x00, 0x00, 0x00, 0x0d, 0x48, 0x08
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x80, 0xbb, 0x00, 0x00, 0x00, 0x08, 0x60, 0x08
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xf0, 0xd2, 0x00, 0x00, 0x00, 0x0c, 0x6c, 0x08
.byte 0x2c, 0x00, 0x2c, 0x00
.Label001: .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00
.byte 0x3a, 0x01, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00
.byte 0xd0, 0x07, 0x00, 0x00, 0x04, 0x01, 0x84, 0x01
.byte 0x02, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x7c, 0x15, 0x00, 0x00, 0x04, 0x02, 0x8b, 0x01
.byte 0xdf, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xf8, 0x2a, 0x00, 0x00, 0x04, 0x03, 0x96, 0x01
.byte 0xd5, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# Function @ .irom0.text+0x4
.global sdk_ieee80211_get_11g_ratetable
.type sdk_ieee80211_get_11g_ratetable, @function
sdk_ieee80211_get_11g_ratetable:
movi a2, .Ldata001 # 4: 21ffff
ret /* .Ldata001 */ # 7: 0df0
.literal_position # c: d4000000
# 10: 00000000
# Function @ .irom0.text+0x14
.global sdk_ieee80211_get_ratetable
.type sdk_ieee80211_get_ratetable, @function
sdk_ieee80211_get_ratetable:
l32i a2, a2, 0 /* [arg0] */ # 14: 2802
movi a3, 192 /* 0x000000c0 */ # 16: 32a0c0
ball a2, a3, .Lbr001 # 19: 37420a
movi a4, 1152 /* 0x00000480 */ # 1c: 42a480
ball a2, a4, .Lbr001 # 1f: 474204
movi a2, .Label001 # 22: 21faff
ret /* .Label001 */ # 25: 0df0
.Lbr001: movi a2, .Ldata001 # 27: 21faff
ret /* .Ldata001 */ # 2a: 0df0
.literal_position # 2c: 00000000
# Function @ .irom0.text+0x30
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_ieee80211_phy_init
.type sdk_ieee80211_phy_init, @function
sdk_ieee80211_phy_init:
addi sp, sp, -16 /* (local0) */ # 30: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 33: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 35: 0901
mov a12, a2 /* arg0 */ # 37: cd02
call0 sdk_ieee80211_setup_ratetable # 39: 050000
movi a3, 12 /* 0x0000000c */ # 3c: 0cc3
movi a0, 3 /* 0x00000003 */ # 3e: 0c30
movi a5, 4 /* 0x00000004 */ # 40: 0c45
movi a2, sdk_g_ic # 42: 21faff
addi a4, a12, -1 /* arg0-0x1 */ # 45: 0b4c
movi a6, 0 /* 0x00000000 */ # 47: 0c06
l32i a12, sp, 4 /* [(local1)] */ # 49: c811
s8i a6, a2, 125 /* 0x00 -> [sdk_g_ic+0x7d] */ # 4b: 62427d
s8i a6, a2, 126 /* 0x00 -> [sdk_g_ic+0x7e] */ # 4e: 62427e
s8i a5, a2, 127 /* 0x04 -> [sdk_g_ic+0x7f] */ # 51: 52427f
movnez a0, a3, a4 # 54: 400393
s8i a0, a2, 124 /* a0 -> [sdk_g_ic+0x7c] */ # 57: 02427c
l32i a0, sp, 0 /* [(local0)] */ # 5a: 0801
addi sp, sp, 16 /* (top of frame) */ # 5c: 12c110
ret /* sdk_g_ic */ # 5f: 0df0
.literal_position # 64: 00000000
# Function @ .irom0.text+0x68
.global sdk_ieee80211_phy_type_get
.type sdk_ieee80211_phy_type_get, @function
sdk_ieee80211_phy_type_get:
movi a2, sdk_g_ic+0x200 # 68: 21ffff
l32i a2, a2, 0x31c /* [sdk_g_ic+0x51c] */ # 6b: 2222c7
movi a3, 1 /* 0x00000001 */ # 6e: 0c13
addi a2, a2, -1 /* [sdk_g_ic+0x51c]-0x1 */ # 70: 0b22
movnez a2, a3, a2 # 72: 202393
ret # 75: 0df0
.literal_position # 78: 00000000
# 7c: d4000000
# 80: 00000000
# Function @ .irom0.text+0x84
.global sdk_ieee80211_setup_ratetable
.type sdk_ieee80211_setup_ratetable, @function
sdk_ieee80211_setup_ratetable:
movi a4, .Ldata001 # 84: 41fdff
movi a5, .Label001 # 87: 51fdff
addi a6, a2, -1 /* arg0-0x1 */ # 8a: 0b62
movnez a5, a4, a6 # 8c: 605493
movi a6, sdk_g_ic # 8f: 61fcff
l8ui a3, a5, 0 # 92: 320500
s8i a3, a6, 44 /* a3 -> [sdk_g_ic+0x2c] */ # 95: 32462c
beqz a3, .Lbr003 # 98: 9c83
movi a2, 0 /* 0x00000000 */ # 9a: 0c02
.Lbr002: add a4, a2, a6 # 9c: 6a42
slli a3, a2, 4 # 9e: c03211
add a3, a5, a3 # a1: 3a35
addi a2, a2, 1 # a3: 1b22
l8ui a3, a3, 30 # a5: 32031e
s8i a3, a4, 45 # a8: 32442d
l8ui a7, a6, 44 /* [sdk_g_ic+0x2c] */ # ab: 72062c
extui a2, a2, 0, 8 # ae: 202074
bltu a2, a7, .Lbr002 # b1: 7732e7
.Lbr003: ret # b4: 0df0
.literal_position # b8: 00000000
# bc: 00000000
# c0: 00000000
# Function @ .irom0.text+0xc4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_ieee80211_compute_duration
.type sdk_ieee80211_compute_duration, @function
sdk_ieee80211_compute_duration:
addi sp, sp, -16 /* (local0) */ # c4: 12c1f0
s32i a0, sp, 8 /* a0 -> [(local2)] */ # c7: 0921
add a0, a4, a2 # c9: 2a04
l8ui a0, a0, 4 # cb: 020004
mov a7, a3 /* arg1 */ # ce: 7d03
slli a0, a0, 4 # d0: c00011
add a0, a2, a0 # d3: 0a02
l32i a3, a0, 24 # d5: 3860
l8ui a2, a0, 20 # d7: 220014
bnez a3, .Lbr004 # da: cc33
movi a2, 0 /* 0x00000000 */ # dc: 0c02
j .Lbr008 # de: 061400
.Lbr004: s32i a7, sp, 4 /* arg1 -> [(local1)] */ # e1: 7911
beqz a2, .Lbr005 # e3: ac52
bnei a2, 1, .Lbr007 # e5: 661246
slli a2, a3, 2 # e8: e02311
movi a3, 1000 /* 0x000003e8 */ # eb: 32a3e8
call0 __udivsi3 # ee: 01f2ffc0
# f2: 0000
mov a3, a2 # f4: 3d02
l32i a2, sp, 4 /* [(local1)] */ # f6: 2811
addx8 a2, a2, a3 # f8: 3022b0
addi a2, a2, 21 # fb: 22c215
call0 __udivsi3 # fe: 01efffc0
# 102: 0000
movi a0, 36 /* 0x00000024 */ # 104: 2c40
addx4 a0, a2, a0 # 106: 0002a0
j .Lbr007 # 109: 860800
.Lbr005: beqz a5, .Lbr009 # 10c: ac95
l8ui a2, a0, 28 # 10e: 22001c
movi a4, 96 /* 0x00000060 */ # 111: 42a060
beqz a2, .Lbr009 # 114: ac12
s32i a4, sp, 0 /* 0x00000060 -> [(local0)] */ # 116: 4901
.Lbr006: l32i a2, sp, 4 /* [(local1)] */ # 118: 2811
movi a4, 1000 /* 0x000003e8 */ # 11a: 42a3e8
slli a2, a2, 3 # 11d: d02211
mull a2, a2, a4 # 120: 402282
call0 __udivsi3 # 123: 01e7ffc0
# 127: 0000
l32i a0, sp, 0 /* [(local0)] */ # 129: 0801
add a0, a0, a2 # 12b: 2a00
addi a0, a0, 10 # 12d: ab00
.Lbr007: extui a2, a0, 0, 16 # 12f: 0020f4
.Lbr008: l32i a0, sp, 8 /* [(local2)] */ # 132: 0821
addi sp, sp, 16 /* (top of frame) */ # 134: 12c110
ret # 137: 0df0
.Lbr009: movi a2, 192 /* 0x000000c0 */ # 139: 22a0c0
s32i a2, sp, 0 /* 0x000000c0 -> [(local0)] */ # 13c: 2901
j .Lbr006 # 13e: 86f5ff
.literal_position # 144: 00000000
# Function @ .irom0.text+0x148
.global sdk_ieee80211_dot11Rate_rix
.type sdk_ieee80211_dot11Rate_rix, @function
sdk_ieee80211_dot11Rate_rix:
movi a6, 0 /* 0x00000000 */ # 148: 0c06
movi a8, .Ldata001 # 14a: 81feff
.Lbr010: slli a7, a6, 4 # 14d: c07611
add a7, a8, a7 # 150: 7a78
l8ui a4, a7, 30 # 152: 42071e
bne a4, a2, .Lbr011 # 155: 279409
mov a2, a6 # 158: 2d06
l8ui a8, a7, 29 # 15a: 82071d
s8i a8, a3, 0 /* a8 -> [arg1] */ # 15d: 824300
ret # 160: 0df0
.Lbr011: addi a6, a6, 1 # 162: 1b66
extui a6, a6, 0, 8 # 164: 606074
bnei a6, 12, .Lbr010 # 167: 66a6e2
movi a2, 255 /* 0x000000ff */ # 16a: 22a0ff
ret /* 0x000000ff */ # 16d: 0df0

View file

@ -0,0 +1,189 @@
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
.global sdk_ieee80211_psq_init
.type sdk_ieee80211_psq_init, @function
sdk_ieee80211_psq_init:
movi a6, 0 /* 0x00000000 */ # 0: 0c06
movi a5, 0 /* 0x00000000 */ # 2: 0c05
movi a4, 1 /* 0x00000001 */ # 4: 0c14
.Lbr001: addi a4, a4, -1 # 6: 0b44
add a3, a5, a2 # 8: 2a35
s32i a6, a3, 0 # a: 6903
addi a5, a5, 4 # c: 4b55
bgei a4, 1, .Lbr001 # e: e614f4
movi a4, 10 /* 0x0000000a */ # 11: 0ca4
s32i a4, a2, 4 /* 0x0000000a -> [arg0+0x4] */ # 13: 4912
ret /* arg0 */ # 15: 0df0
.balign 4
# Function @ .irom0.text+0x18
.global sdk_ieee80211_psq_cleanup
.type sdk_ieee80211_psq_cleanup, @function
sdk_ieee80211_psq_cleanup:
ret /* arg0 */ # 18: 0df0
.literal_position # 1c: 00000000
# Function @ .irom0.text+0x20
.global sdk_ieee80211_set_tim
.type sdk_ieee80211_set_tim, @function
sdk_ieee80211_set_tim:
movi a10, 1 /* 0x00000001 */ # 20: 0c1a
l16ui a6, a2, 26 /* [arg0+0x1a] */ # 22: 62120d
movi a8, sdk_g_ic+0x152 # 25: 81fdff
extui a7, a6, 0, 3 # 28: 607024
extui a6, a6, 3, 11 # 2b: 6063a4
add a6, a6, a8 # 2e: 8a66
l8ui a5, a6, 128 # 30: 520680
ssr a7 # 33: 000740
sra a4, a5 # 36: 5040b1
extui a4, a4, 0, 1 # 39: 404004
sub a2, a3, a4 # 3c: 4023c0
movnez a2, a10, a2 # 3f: 202a93
beqz a2, .Lbr002 # 42: 9c52
movi a11, -1 /* 0xffffffff */ # 44: 7cfb
ssl a7 # 46: 001740
sll a9, a10 # 49: 009aa1
or a8, a9, a5 # 4c: 508920
xor a9, a9, a11 # 4f: b09930
and a9, a5, a9 # 52: 909510
moveqz a8, a9, a3 # 55: 308983
s8i a8, a6, 128 # 58: 824680
.Lbr002: ret # 5b: 0df0
.literal_position # 60: 00000000
# 64: 00000000
# Function @ .irom0.text+0x68
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_ieee80211_pwrsave
.type sdk_ieee80211_pwrsave, @function
sdk_ieee80211_pwrsave:
mov a6, a2 /* arg0 */ # 68: 6d02
addi sp, sp, -16 /* (local0) */ # 6a: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 6d: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6f: 0901
l32i a2, a2, 196 /* [arg0+0xc4] */ # 71: 222231
l32i a0, a6, 192 /* [arg0+0xc0] */ # 74: 022630
mov a12, a3 /* arg1 */ # 77: cd03
blt a0, a2, .Lbr003 # 79: 27201e
l32i a3, a6, 200 /* [arg0+0xc8] */ # 7c: 322632
l32i a2, a12, 0 /* [arg1] */ # 7f: 280c
addi a3, a3, 1 /* [arg0+0xc8]+0x1 */ # 81: 1b33
s32i a3, a6, 200 /* [arg0+0xc8]+0x1 -> [arg0+0xc8] */ # 83: 326632
call0 pbuf_free # 86: 01f6ffc0
# 8a: 0000
mov a2, a12 /* arg1 */ # 8c: 2d0c
movi a3, 1 /* 0x00000001 */ # 8e: 0c13
call0 sdk_esf_buf_recycle # 90: 01f5ffc0
# 94: 0000
movi a2, 1 /* 0x00000001 */ # 96: 0c12
j .Lbr007 # 98: 060b00
.Lbr003: addi a4, a0, 1 /* [arg0+0xc0]+0x1 */ # 9b: 1b40
movi a7, 0 /* 0x00000000 */ # 9d: 0c07
l32i a5, a6, 212 /* [arg0+0xd4] */ # 9f: 522635
l32i a2, a6, 208 /* [arg0+0xd0] */ # a2: 222634
addi a5, a5, 1 /* [arg0+0xd4]+0x1 */ # a5: 1b55
bnez a2, .Lbr004 # a7: cc42
s32i a3, a6, 204 /* arg1 -> [arg0+0xcc] */ # a9: 326633
j .Lbr005 # ac: 460000
.Lbr004: s32i a3, a2, 28 /* arg1 -> [[arg0+0xd0]+0x1c] */ # af: 3972
.Lbr005: s32i a7, a12, 28 /* 0x00000000 -> [arg1+0x1c] */ # b1: 797c
s32i a12, a6, 208 /* arg1 -> [arg0+0xd0] */ # b3: c26634
s32i a4, a6, 192 /* [arg0+0xc0]+0x1 -> [arg0+0xc0] */ # b6: 426630
s32i a5, a6, 212 /* [arg0+0xd4]+0x1 -> [arg0+0xd4] */ # b9: 526635
bnei a4, 1, .Lbr006 # bc: 661406
mov a2, a6 /* arg0 */ # bf: 2d06
movi a3, 1 /* 0x00000001 */ # c1: 0c13
call0 sdk_ieee80211_set_tim # c3: 050000
.Lbr006: movi a2, 0 /* 0x00000000 */ # c6: 0c02
.Lbr007: l32i a12, sp, 4 /* [(local1)] */ # c8: c811
l32i a0, sp, 0 /* [(local0)] */ # ca: 0801
addi sp, sp, 16 /* (top of frame) */ # cc: 12c110
ret # cf: 0df0
.literal_position # d4: 00000000
# d8: 00000000
# dc: 00000000
# Function @ .irom0.text+0xe0
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.Lfunc001: addi sp, sp, -16 /* (local0) */ # e0: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e3: 0901
s32i a14, sp, 12 /* a14 -> [(local3)] */ # e5: e931
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # e9: d921
mov a12, a2 /* arg0 */ # eb: cd02
l32i a13, a2, 204 /* [arg0+0xcc] */ # ed: d22233
movi a14, 0 /* 0x00000000 */ # f0: 0c0e
bnez a13, .Lbr008 # f2: cc1d
j .Lbr012 # f4: 061000
.Lbr008: l32i a2, a13, 28 /* [[arg0+0xcc]+0x1c] */ # f7: 287d
s32i a2, a12, 204 /* [[arg0+0xcc]+0x1c] -> [arg0+0xcc] */ # f9: 226c33
call0 sdk_chm_check_same_channel # fc: 01f7ffc0
# 100: 0000
beqz a2, .Lbr009 # 102: 8c92
mov a2, a13 /* [arg0+0xcc] */ # 104: 2d0d
call0 sdk_ppTxPkt # 106: 01f5ffc0
# 10a: 0000
j .Lbr010 # 10c: c60300
.Lbr009: movi a5, sdk_g_ic # 10f: 51f1ff
addi a4, a13, 28 /* [arg0+0xcc]+0x1c */ # 112: 42cd1c
l32i a6, a5, 0x1c4 /* [sdk_g_ic+0x1c4] */ # 115: 622571
s32i a14, a13, 28 /* 0x00000000 -> [[arg0+0xcc]+0x1c] */ # 118: e97d
s32i a13, a6, 0 /* [arg0+0xcc] -> [[sdk_g_ic+0x1c4]] */ # 11a: d906
s32i a4, a5, 0x1c4 /* [arg0+0xcc]+0x1c -> [sdk_g_ic+0x1c4] */ # 11c: 426571
.Lbr010: l32i a7, a12, 192 /* [arg0+0xc0] */ # 11f: 722c30
l32i a13, a12, 204 /* [arg0+0xcc] */ # 122: d22c33
addi a7, a7, -1 /* [arg0+0xc0]-0x1 */ # 125: 0b77
s32i a7, a12, 192 /* [arg0+0xc0]-0x1 -> [arg0+0xc0] */ # 127: 726c30
beqz a13, .Lbr011 # 12a: 8c1d
j .Lbr008 # 12c: c6f1ff
.Lbr011: s32i a14, a12, 208 /* 0x00000000 -> [arg0+0xd0] */ # 12f: e26c34
s32i a14, a12, 204 /* 0x00000000 -> [arg0+0xcc] */ # 132: e26c33
s32i a14, a12, 212 /* 0x00000000 -> [arg0+0xd4] */ # 135: e26c35
.Lbr012: l32i a0, sp, 0 /* [(local0)] */ # 138: 0801
s32i a14, a12, 192 /* 0x00000000 -> [arg0+0xc0] */ # 13a: e26c30
l32i a13, sp, 8 /* [(local2)] */ # 13d: d821
l32i a12, sp, 4 /* [(local1)] */ # 13f: c811
l32i a14, sp, 12 /* [(local3)] */ # 141: e831
addi sp, sp, 16 /* (top of frame) */ # 143: 12c110
ret # 146: 0df0
# Function @ .irom0.text+0x148
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_ieee80211_node_pwrsave
.type sdk_ieee80211_node_pwrsave, @function
sdk_ieee80211_node_pwrsave:
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 14b: 0911
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 14d: 2901
l32i a0, a2, 8 /* [arg0+0x8] */ # 14f: 0822
beqz a3, .Lbr013 # 151: 8c83
movi a3, 16 /* 0x00000010 */ # 153: 1c03
or a3, a0, a3 # 155: 303020
s32i a3, a2, 8 /* a3 -> [arg0+0x8] */ # 158: 3922
j .Lbr014 # 15a: c60500
.Lbr013: movi a3, 0 /* 0x00000000 */ # 15d: 0c03
movi a4, -17 /* 0xffffffef */ # 15f: 6cf4
and a4, a0, a4 # 161: 404010
s32i a4, a2, 8 /* a4 -> [arg0+0x8] */ # 164: 4922
call0 sdk_ieee80211_set_tim # 166: 050000
l32i a0, sp, 0 /* [(local0)] */ # 169: 0801
l32i a5, a0, 192 /* [[(local0)]+0xc0] */ # 16b: 522030
beqz a5, .Lbr014 # 16e: 8c35
mov a2, a0 /* [(local0)] */ # 170: 2d00
call0 .Lfunc001 # 172: c5f6ff
.Lbr014: l32i a0, sp, 4 /* [(local1)] */ # 175: 0811
addi sp, sp, 16 /* (top of frame) */ # 177: 12c110
ret # 17a: 0df0

View file

@ -0,0 +1,227 @@
.section .data, "aw", @progbits
.global sdk_ieee80211_addr_bcast
.type sdk_ieee80211_addr_bcast, @object
sdk_ieee80211_addr_bcast:
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000400
# 8: 00000000
# Function @ .irom0.text+0xc
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_proto_attach
.type sdk_ieee80211_proto_attach, @function
sdk_ieee80211_proto_attach:
movi a3, 2 /* 0x00000002 */ # c: 0c23
movi a4, 0x00040000 # e: 41fdff
movi a6, 1 /* 0x00000001 */ # 11: 0c16
mov a5, a2 /* arg0 */ # 13: 5d02
addi sp, sp, -16 /* (local0) */ # 15: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 18: 0901
movi a2, sdk_ieee80211_tx_mgt_cb # 1a: 21f9ff
l32i a0, a5, 28 /* [arg0+0x1c] */ # 1d: 0875
s32i a6, a5, 12 /* 0x00000001 -> [arg0+0xc] */ # 1f: 6935
or a0, a0, a4 # 21: 400020
s32i a0, a5, 28 /* a0 -> [arg0+0x1c] */ # 24: 0975
call0 sdk_ppRegisterTxCallback # 26: 01f8ffc0
# 2a: 0000
l32i a0, sp, 0 /* [(local0)] */ # 2c: 0801
addi sp, sp, 16 /* (top of frame) */ # 2e: 12c110
ret # 31: 0df0
.balign 4
# Function @ .irom0.text+0x34
.global sdk_ieee80211_set_shortslottime
.type sdk_ieee80211_set_shortslottime, @function
sdk_ieee80211_set_shortslottime:
movi a6, 1024 /* 0x00000400 */ # 34: 62a400
l32i a5, a2, 28 /* [arg0+0x1c] */ # 37: 5872
movi a4, -1025 /* 0xfffffbff */ # 39: 42abff
and a4, a5, a4 # 3c: 404510
or a5, a5, a6 # 3f: 605520
moveqz a5, a4, a3 # 42: 305483
s32i a5, a2, 28 /* a5 -> [arg0+0x1c] */ # 45: 5972
ret /* arg0 */ # 47: 0df0
.literal_position # 4c: 00000000
# Function @ .irom0.text+0x50
.global sdk_ieee80211_iserp_rateset
.type sdk_ieee80211_iserp_rateset, @function
sdk_ieee80211_iserp_rateset:
l8ui a8, a2, 0 /* [arg0] */ # 50: 820200
bltui a8, 7, .Lbr003 # 53: b6781e
movi a9, .Ldata001 # 56: 91fdff
movi a10, 0 /* 0x00000000 */ # 59: 0c0a
.Lbr001: blti a8, 1, .Lbr003 # 5b: a61816
movi a5, 0 /* 0x00000000 */ # 5e: 0c05
l32i a6, a9, 0 # 60: 6809
.Lbr002: add a7, a5, a2 # 62: 2a75
l8ui a7, a7, 1 # 64: 720701
extui a7, a7, 0, 7 # 67: 707064
beq a6, a7, .Lbr004 # 6a: 77160b
blt a6, a7, .Lbr003 # 6d: 772604
addi a5, a5, 1 # 70: 1b55
bne a5, a8, .Lbr002 # 72: 8795ec
.Lbr003: movi a2, 0 /* 0x00000000 */ # 75: 0c02
ret /* 0x00000000 */ # 77: 0df0
.Lbr004: addi a9, a9, 4 # 79: 4b99
addi a10, a10, 1 # 7b: 1baa
bnei a10, 7, .Lbr001 # 7d: 667ada
movi a2, 1 /* 0x00000001 */ # 80: 0c12
ret /* 0x00000001 */ # 82: 0df0
.literal_position # 84: 20000000
# Function @ .irom0.text+0x88
# Local variables/stack:
# (local0): word[4] @ -0x10
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 88: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 8b: 0901
l8ui a0, a2, 0 /* [arg0] */ # 8d: 020200
beqz a0, .Lbr009 # 90: bcf0
movi a9, 0 /* 0x00000000 */ # 92: 0c09
movi a11, 128 /* 0x00000080 */ # 94: b2a080
movi a8, .Ldata002 # 97: 81fbff
slli a10, a3, 4 # 9a: c0a311
add a8, a8, a10 # 9d: aa88
l8ui a7, a8, 0 # 9f: 720800
.Lbr005: bnez a4, .Lbr006 # a2: cc94
add a3, a2, a9 # a4: 9a32
l8ui a0, a3, 1 # a6: 020301
extui a0, a0, 0, 7 # a9: 000064
s8i a0, a3, 1 # ac: 024301
.Lbr006: beqz a7, .Lbr008 # af: 9c57
movi a0, 0 /* 0x00000000 */ # b1: 0c00
add a10, a2, a9 # b3: 9aa2
l8ui a3, a10, 1 # b5: 320a01
.Lbr007: add a5, a8, a0 # b8: 0a58
l8ui a5, a5, 1 # ba: 520501
addi a0, a0, 1 # bd: 1b00
bne a5, a3, .Lbr010 # bf: 379517
or a6, a3, a11 # c2: b06320
s8i a6, a10, 1 # c5: 624a01
.Lbr008: l8ui a10, a2, 0 /* [arg0] */ # c8: a20200
addi a9, a9, 1 # cb: 1b99
extui a9, a9, 0, 8 # cd: 909074
bltu a9, a10, .Lbr005 # d0: a739ce
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
addi sp, sp, 16 /* (top of frame) */ # d5: 12c110
ret /* arg0 */ # d8: 0df0
.Lbr010: extui a0, a0, 0, 8 # da: 000074
bne a7, a0, .Lbr007 # dd: 0797d7
j .Lbr008 # e0: 06f9ff
.balign 4
# Function @ .irom0.text+0xe4
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_setbasicrates
.type sdk_ieee80211_setbasicrates, @function
sdk_ieee80211_setbasicrates:
movi a4, 0 /* 0x00000000 */ # e4: 0c04
addi sp, sp, -16 /* (local0) */ # e6: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
call0 .Lfunc001 # eb: c5f9ff
l32i a0, sp, 0 /* [(local0)] */ # ee: 0801
addi sp, sp, 16 /* (top of frame) */ # f0: 12c110
ret # f3: 0df0
.balign 4
# Function @ .irom0.text+0xf8
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_ieee80211_addbasicrates
.type sdk_ieee80211_addbasicrates, @function
sdk_ieee80211_addbasicrates:
movi a4, 1 /* 0x00000001 */ # f8: 0c14
addi sp, sp, -16 /* (local0) */ # fa: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # fd: 0901
call0 .Lfunc001 # ff: 85f8ff
l32i a0, sp, 0 /* [(local0)] */ # 102: 0801
addi sp, sp, 16 /* (top of frame) */ # 104: 12c110
ret # 107: 0df0
.balign 4
# Function @ .irom0.text+0x10c
.global sdk_ieee80211_wme_initparams
.type sdk_ieee80211_wme_initparams, @function
sdk_ieee80211_wme_initparams:
ret /* arg0 */ # 10c: 0df0
.balign 4
# Function @ .irom0.text+0x110
.global sdk_ieee80211_wme_updateparams
.type sdk_ieee80211_wme_updateparams, @function
sdk_ieee80211_wme_updateparams:
ret /* arg0 */ # 110: 0df0
.literal_position # 114: 00000000
# 118: 00000000
# 11c: 00000000
# 120: 00000000
# 124: 00000000
# Function @ .irom0.text+0x128
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_ieee80211_mlme_connect_bss
.type sdk_ieee80211_mlme_connect_bss, @function
sdk_ieee80211_mlme_connect_bss:
mov a3, a2 /* arg0 */ # 128: 3d02
addi sp, sp, -16 /* (local0) */ # 12a: 12c1f0
s32i a5, sp, 4 /* arg3 -> [(local1)] */ # 12d: 5911
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 12f: 0921
movi a2, sdk_g_ic # 131: 21f8ff
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 134: 4901
l32i a2, a2, 16 /* [sdk_g_ic+0x10] */ # 136: 2842
movi a4, 6 /* 0x00000006 */ # 138: 0c64
s32i a3, a2, 136 /* arg0 -> [[sdk_g_ic+0x10]+0x88] */ # 13a: 326222
addi a2, a2, 64 /* [sdk_g_ic+0x10]+0x40 */ # 13d: 22c240
call0 memcpy # 140: 01f7ffc0
# 144: 0000
l32i a3, sp, 4 /* [(local1)] */ # 146: 3811
movi a0, sdk_g_ic # 148: 01f4ff
beqz a3, .Lbr011 # 14b: 8ce3
movi a3, 2 /* 0x00000002 */ # 14d: 0c23
movi a4, 176 /* 0x000000b0 */ # 14f: 42a0b0
mov a2, a0 /* sdk_g_ic */ # 152: 2d00
call0 sdk_ieee80211_sta_new_state # 154: 01f3ffc0
# 158: 0000
j .Lbr012 # 15a: 860400
.Lbr011: movi a3, 3 /* 0x00000003 */ # 15d: 0c33
mov a2, a0 /* sdk_g_ic */ # 15f: 2d00
l32i a6, sp, 0 /* [(local0)] */ # 161: 6801
movi a5, 32 /* 0x00000020 */ # 163: 2c05
movi a4, 0 /* 0x00000000 */ # 165: 0c04
movnez a4, a5, a6 # 167: 604593
call0 sdk_ieee80211_sta_new_state # 16a: 01eeffc0
# 16e: 0000
.Lbr012: l32i a0, sp, 8 /* [(local2)] */ # 170: 0821
addi sp, sp, 16 /* (top of frame) */ # 172: 12c110
ret # 175: 0df0
.section .rodata, "a", @progbits
.Ldata001: .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x0b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
.byte 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
.byte 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.Ldata002: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x02, 0x04, 0x0b, 0x16, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

View file

@ -0,0 +1,486 @@
.section .text, "ax", @progbits
.literal_position # 0: 00000000
# Function @ .text+0x4
.global sdk_chm_get_current_channel
.type sdk_chm_get_current_channel, @function
sdk_chm_get_current_channel:
movi a2, .Ldata001 # 4: 21ffff
l32i a2, a2, 60 /* [.Ldata009] */ # 7: 28f2
ret /* [.Ldata009] */ # 9: 0df0
.section .bss, "aw", @nobits
.Ldata001: .word 0x00000000 # 0: 00000000
.Ldata002: .word 0x00000000 # 4: 00000000
.Ldata003: .word 0x00000000 # 8: 00000000
.Ldata004: .word 0x00000000 # c: 00000000
.Ldata005: .word 0x00000000 # 10: 00000000
.Ldata006: .word 0x00000000 # 14: 00000000
.Ldata007: .word 0x00000000 # 18: 00000000
.Ldata008: .word 0x00000000 # 1c: 00000000
.Label001: .space 28
.Ldata009: .word 0x00000000 # 3c: 00000000
.Ldata010: .byte 0x00
.Ldata011: .byte 0x00
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00feef3f
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 20000000
# 18: 48020000
# 1c: 00000000
# 20: 00000000
# 24: 00000000
# 28: 00000000
# Function @ .irom0.text+0x2c
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_chm_init
.type sdk_chm_init, @function
sdk_chm_init:
movi a4, -32 /* 0xffffffe0 */ # 2c: 6c04
movi a5, sdk_NMIIrqIsOn # 2e: 51f7ff
movi a3, sdk_g_ic+0x180 # 31: 31f4ff
movi a6, .Ldata001 # 34: 61f5ff
addi sp, sp, -32 /* (local0) */ # 37: 12c1e0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 3a: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 3c: d921
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 3e: 0901
movi a13, 0x3feffe00 # 40: d1f0ff
movi a0, 0 /* 0x00000000 */ # 43: 0c00
s32i a2, a6, 0 /* arg0 -> [.Ldata001] */ # 45: 2906
mov a12, a2 /* arg0 */ # 47: cd02
l8ui a6, a3, 96 /* [sdk_g_ic+0x1e0] */ # 49: 620360
l8ui a2, a5, 0 /* [sdk_NMIIrqIsOn] */ # 4c: 220500
addmi a3, a3, 256 /* sdk_g_ic+0x280 */ # 4f: 32d301
l8ui a3, a3, 141 /* [sdk_g_ic+0x30d] */ # 52: 32038d
addi a6, a6, -1 /* [sdk_g_ic+0x1e0]-0x1 */ # 55: 0b66
addi a3, a3, -1 /* [sdk_g_ic+0x30d]-0x1 */ # 57: 0b33
extui a3, a3, 0, 8 # 59: 303074
movnez a0, a3, a6 # 5c: 600393
s32i a0, sp, 16 /* a0 -> [(local4)] */ # 5f: 0941
bnez a2, .Lbr002 # 61: ec32
call0 vPortEnterCritical # 63: 01eeffc0
# 67: 0000
movi a4, -32 /* 0xffffffe0 */ # 69: 6c04
.Lbr001: memw # 6b: c02000
l32i a9, a13, 0x200 /* [0x3ff00000] */ # 6e: 922d80
and a9, a9, a4 # 71: 409910
memw # 74: c02000
s32i a9, a13, 0x200 /* a9 -> [0x3ff00000] */ # 77: 926d80
memw # 7a: c02000
l32i a8, a13, 0x200 /* [0x3ff00000] */ # 7d: 822d80
bbsi a8, 0, .Lbr001 # 80: 07e8e7
l32i a0, sp, 16 /* [(local4)] */ # 83: 0841
movi a5, sdk_NMIIrqIsOn # 85: 51e2ff
.Lbr002: movi a2, 132 /* 0x00000084 */ # 88: 22a084
addx2 a0, a0, a0 # 8b: 000090
addx4 a0, a0, a12 # 8e: c000a0
add a0, a0, a2 # 91: 2a00
s32i a0, a12, 0x14c /* a0 -> [arg0+0x14c] */ # 93: 026c53
l8ui a10, a5, 0 /* [sdk_NMIIrqIsOn] */ # 96: a20500
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 99: 0931
bnez a10, .Lbr003 # 9b: dcaa
memw # 9d: c02000
l32i a2, a13, 0x200 /* [0x3ff00000] */ # a0: 222d80
movi a3, 1 /* 0x00000001 */ # a3: 0c13
and a2, a2, a4 # a5: 402210
or a2, a2, a3 # a8: 302220
memw # ab: c02000
s32i a2, a13, 0x200 /* a2 -> [0x3ff00000] */ # ae: 226d80
call0 vPortExitCritical # b1: 01dbffc0
# b5: 0000
l32i a0, sp, 12 /* [(local3)] */ # b7: 0831
.Lbr003: mov a2, a0 # b9: 2d00
call0 sdk_chm_set_current_channel # bb: 01daffc0
# bf: 0000
movi a2, .Label001 # c1: 21d4ff
movi a3, .Lfunc002 # c4: 31d5ff
movi a4, 0 /* 0x00000000 */ # c7: 0c04
call0 sdk_os_timer_setfn # c9: 01d7ffc0
# cd: 0000
l32i a12, sp, 4 /* [(local1)] */ # cf: c811
l32i a13, sp, 8 /* [(local2)] */ # d1: d821
l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
addi sp, sp, 32 /* (top of frame) */ # d5: 12c120
ret # d8: 0df0
.literal_position # dc: 00000000
# e0: 00000000
# Function @ .irom0.text+0xe4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.global sdk_chm_acquire_lock
.type sdk_chm_acquire_lock, @function
sdk_chm_acquire_lock:
addi sp, sp, -16 /* (local0) */ # e4: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
mov a12, a2 /* arg0 */ # eb: cd02
movi a0, .Ldata001 # ed: 01fbff
mov a2, a4 /* arg2 */ # f0: 2d04
l8ui a4, a0, 64 /* [.Ldata010] */ # f2: 420040
l8ui a5, a0, 65 /* [.Ldata011] */ # f5: 520041
beqz a4, .Lbr005 # f8: 9c44
s32i a2, sp, 12 /* arg2 -> [(local3)] */ # fa: 2931
s32i a3, sp, 8 /* arg1 -> [(local2)] */ # fc: 3921
bgeu a5, a12, .Lbr004 # fe: c7b504
movi a2, 3 /* 0x00000003 */ # 101: 0c32
j .Lbr006 # 103: c60500
.Lbr004: call0 sdk_chm_cancel_op # 106: 050000
l32i a2, sp, 12 /* [(local3)] */ # 109: 2831
movi a0, .Ldata001 # 10b: 01f5ff
l32i a3, sp, 8 /* [(local2)] */ # 10e: 3821
.Lbr005: s8i a12, a0, 65 /* arg0 -> [.Ldata011] */ # 110: c24041
s32i a3, a0, 24 /* a3 -> [.Ldata007] */ # 113: 3960
s32i a2, a0, 28 /* a2 -> [.Ldata008] */ # 115: 2970
movi a6, 1 /* 0x00000001 */ # 117: 0c16
movi a2, 0 /* 0x00000000 */ # 119: 0c02
s8i a6, a0, 64 /* 0x01 -> [.Ldata010] */ # 11b: 624040
.Lbr006: l32i a12, sp, 4 /* [(local1)] */ # 11e: c811
l32i a0, sp, 0 /* [(local0)] */ # 120: 0801
addi sp, sp, 16 /* (top of frame) */ # 122: 12c110
ret # 125: 0df0
.literal_position # 128: 00000000
# Function @ .irom0.text+0x12c
.global sdk_chm_release_lock
.type sdk_chm_release_lock, @function
sdk_chm_release_lock:
movi a3, .Ldata001 # 12c: 31ffff
movi a2, 0 /* 0x00000000 */ # 12f: 0c02
s32i a2, a3, 28 /* 0x00000000 -> [.Ldata008] */ # 131: 2973
s32i a2, a3, 24 /* 0x00000000 -> [.Ldata007] */ # 133: 2963
s8i a2, a3, 64 /* 0x00 -> [.Ldata010] */ # 135: 224340
s8i a2, a3, 65 /* 0x00 -> [.Ldata011] */ # 138: 224341
ret /* 0x00000000 */ # 13b: 0df0
.literal_position # 140: 00000000
# 144: 00000000
# Function @ .irom0.text+0x148
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_chm_start_op
.type sdk_chm_start_op, @function
sdk_chm_start_op:
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 14b: 0901
movi a0, .Ldata001 # 14d: 01fcff
l32i a7, a0, 4 /* [.Ldata002] */ # 150: 7810
beqz a7, .Lbr010 # 152: 8cf7
movi a2, 3 /* 0x00000003 */ # 154: 0c32
j .Lbr009 # 156: 060100
.Lbr007: call0 .Lfunc001 # 159: 450400
.Lbr008: movi a2, 0 /* 0x00000000 */ # 15c: 0c02
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # 15e: 0801
addi sp, sp, 16 /* (top of frame) */ # 160: 12c110
ret # 163: 0df0
.Lbr010: s32i a2, a0, 4 /* arg0 -> [.Ldata002] */ # 165: 2910
s32i a4, a0, 16 /* arg2 -> [.Ldata005] */ # 167: 4940
movi a8, sdk_g_ic # 169: 81f6ff
s32i a5, a0, 20 /* arg3 -> [.Ldata006] */ # 16c: 5950
l32i a8, a8, 0 /* [sdk_g_ic] */ # 16e: 8808
s32i a3, a0, 8 /* arg1 -> [.Ldata003] */ # 170: 3920
l32i a8, a8, 0 /* [[sdk_g_ic]] */ # 172: 8808
s32i a6, a0, 12 /* arg4 -> [.Ldata004] */ # 174: 6930
bbci a8, 1, .Lbr007 # 176: 1768df
call0 .Lfunc001 # 179: 450200
j .Lbr008 # 17c: 06f7ff
.literal_position # 180: 00000000
# 184: 04000000
# 188: 20000000
# 18c: 00000000
# 190: 00000000
# 194: 00000000
# 198: 00000000
# 19c: 00000000
# Function @ .irom0.text+0x1a0
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 1a0: 12c1f0
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 1a3: d931
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 1a5: c921
movi a13, .Ldata001 # 1a7: d1f6ff
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1aa: 0911
l32i a12, a13, 16 /* [.Ldata005] */ # 1ac: c84d
l32i a0, a13, 12 /* [.Ldata004] */ # 1ae: 083d
s32i a0, sp, 0 /* [.Ldata004] -> [(local0)] */ # 1b0: 0901
call0 sdk_chm_get_current_channel # 1b2: 01f6ffc0
# 1b6: 0000
mov a3, a2 # 1b8: 3d02
l32i a2, a13, 4 /* [.Ldata002] */ # 1ba: 281d
l16ui a3, a3, 4 # 1bc: 321302
l16ui a4, a2, 4 /* [[.Ldata002]+0x4] */ # 1bf: 421202
beq a3, a4, .Lbr011 # 1c2: 471305
call0 sdk_chm_set_current_channel # 1c5: 01f2ffc0
# 1c9: 0000
.Lbr011: beqz a12, .Lbr012 # 1cb: 8c5c
l32i a2, sp, 0 /* [(local0)] */ # 1cd: 2801
movi a3, 0 /* 0x00000000 */ # 1cf: 0c03
callx0 a12 /* [.Ldata005] */ # 1d1: c00c00
.Lbr012: l32i a4, a13, 8 /* [.Ldata003] */ # 1d4: 482d
bnez a4, .Lbr013 # 1d6: ccc4
movi a2, .Ldata002 # 1d8: 21ebff
movi a3, 20 /* 0x00000014 */ # 1db: 1c43
call0 bzero # 1dd: 01edffc0
# 1e1: 0000
j .Lbr014 # 1e3: 860500
.Lbr013: movi a12, .Label001 # 1e6: c1e8ff
mov a2, a12 /* .Label001 */ # 1e9: 2d0c
call0 sdk_os_timer_disarm # 1eb: 01ebffc0
# 1ef: 0000
mov a2, a12 /* .Label001 */ # 1f1: 2d0c
l32i a3, a13, 8 /* [.Ldata003] */ # 1f3: 382d
movi a4, 0 /* 0x00000000 */ # 1f5: 0c04
call0 sdk_os_timer_arm # 1f7: 01e9ffc0
# 1fb: 0000
.Lbr014: l32i a12, sp, 8 /* [(local2)] */ # 1fd: c821
l32i a13, sp, 12 /* [(local3)] */ # 1ff: d831
l32i a0, sp, 4 /* [(local1)] */ # 201: 0811
addi sp, sp, 16 /* (top of frame) */ # 203: 12c110
ret # 206: 0df0
.literal_position # 208: 00000000
# 20c: 00000000
# 210: 00000000
# Function @ .irom0.text+0x214
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_chm_end_op
.type sdk_chm_end_op, @function
sdk_chm_end_op:
movi a3, -4 /* 0xfffffffc */ # 214: 7cc3
addi sp, sp, -16 /* (local0) */ # 216: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 219: 0911
movi a0, .Ldata001 # 21b: 01fbff
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 21e: 2901
beq a0, a3, .Lbr015 # 220: 37101d
mov a2, a0 /* .Ldata001 */ # 223: 2d00
l32i a3, a2, 20 /* [.Ldata006] */ # 225: 3852
s32i a3, sp, 8 /* [.Ldata006] -> [(local2)] */ # 227: 3921
addi a2, a2, 4 /* .Ldata002 */ # 229: 4b22
movi a3, 20 /* 0x00000014 */ # 22b: 1c43
call0 bzero # 22d: 01f8ffc0
# 231: 0000
l32i a5, sp, 8 /* [(local2)] */ # 233: 5821
beqz a5, .Lbr015 # 235: 8c85
movi a2, .Ldata001 # 237: 21f5ff
l32i a3, sp, 0 /* [(local0)] */ # 23a: 3801
l32i a2, a2, 12 /* [.Ldata004] */ # 23c: 2832
callx0 a5 /* [(local2)] */ # 23e: c00500
.Lbr015: l32i a0, sp, 4 /* [(local1)] */ # 241: 0811
addi sp, sp, 16 /* (top of frame) */ # 243: 12c110
ret # 246: 0df0
# Function @ .irom0.text+0x248
# Local variables/stack:
# (local0): word[4] @ -0x10
.Lfunc002: movi a2, 0 /* 0x00000000 */ # 248: 0c02
addi sp, sp, -16 /* (local0) */ # 24a: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 24d: 0901
call0 sdk_chm_end_op # 24f: 050000
l32i a0, sp, 0 /* [(local0)] */ # 252: 0801
addi sp, sp, 16 /* (top of frame) */ # 254: 12c110
ret # 257: 0df0
.literal_position # 25c: 00000000
# 260: 00000000
# 264: 00000000
# Function @ .irom0.text+0x268
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_chm_cancel_op
.type sdk_chm_cancel_op, @function
sdk_chm_cancel_op:
addi sp, sp, -16 /* (local0) */ # 268: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 26b: 0901
movi a0, .Ldata001 # 26d: 01fbff
l32i a2, a0, 4 /* [.Ldata002] */ # 270: 2810
beqz a2, .Lbr016 # 272: 9c12
mov a2, a0 /* .Ldata001 */ # 274: 2d00
addi a2, a2, 32 /* .Label001 */ # 276: 22c220
call0 sdk_os_timer_disarm # 279: 01faffc0
# 27d: 0000
movi a2, 4 /* 0x00000004 */ # 27f: 0c42
call0 sdk_chm_end_op # 281: 050000
movi a0, .Ldata001 # 284: 01f7ff
.Lbr016: l32i a5, a0, 24 /* [.Ldata007] */ # 287: 5860
beqz a5, .Lbr017 # 289: 8c55
movi a3, 4 /* 0x00000004 */ # 28b: 0c43
l32i a2, a0, 28 /* [.Ldata008] */ # 28d: 2870
callx0 a5 /* [.Ldata007] */ # 28f: c00500
.Lbr017: l32i a0, sp, 0 /* [(local0)] */ # 292: 0801
addi sp, sp, 16 /* (top of frame) */ # 294: 12c110
ret # 297: 0df0
.literal_position # 29c: 00000000
# 2a0: 00000000
# 2a4: 00000000
# Function @ .irom0.text+0x2a8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_chm_return_home_channel
.type sdk_chm_return_home_channel, @function
sdk_chm_return_home_channel:
addi sp, sp, -16 /* (local0) */ # 2a8: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2ab: c911
movi a12, sdk_g_ic # 2ad: c1fbff
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2b0: 0901
l32i a12, a12, 0x14c /* [sdk_g_ic+0x14c] */ # 2b2: c22c53
call0 sdk_chm_get_current_channel # 2b5: 01faffc0
# 2b9: 0000
l16ui a0, a2, 4 # 2bb: 021202
l16ui a2, a12, 4 /* [[sdk_g_ic+0x14c]+0x4] */ # 2be: 221c02
beq a0, a2, .Lbr018 # 2c1: 271007
mov a2, a12 /* [sdk_g_ic+0x14c] */ # 2c4: 2d0c
call0 sdk_chm_set_current_channel # 2c6: 01f7ffc0
# 2ca: 0000
.Lbr018: l32i a12, sp, 4 /* [(local1)] */ # 2cc: c811
l32i a0, sp, 0 /* [(local0)] */ # 2ce: 0801
addi sp, sp, 16 /* (top of frame) */ # 2d0: 12c110
ret # 2d3: 0df0
.literal_position # 2d8: 00000000
# 2dc: 00feef3f
# 2e0: 00000000
# 2e4: 00000000
# 2e8: 00000000
# 2ec: 00000000
# 2f0: 00000000
# Function @ .irom0.text+0x2f4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_chm_set_current_channel
.type sdk_chm_set_current_channel, @function
sdk_chm_set_current_channel:
movi a3, 1 /* 0x00000001 */ # 2f4: 0c13
movi a4, 0 /* 0x00000000 */ # 2f6: 0c04
addi sp, sp, -16 /* (local0) */ # 2f8: 12c1f0
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 2fb: d921
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2fd: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2ff: 0901
mov a12, a2 /* arg0 */ # 301: cd02
l16ui a2, a2, 4 /* [arg0+0x4] */ # 303: 221202
call0 sdk_phy_change_channel # 306: 01f8ffc0
# 30a: 0000
movi a2, sdk_NMIIrqIsOn # 30c: 21f3ff
movi a0, -32 /* 0xffffffe0 */ # 30f: 6c00
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 311: 220200
movi a13, 0x3feffe00 # 314: d1f2ff
bnez a2, .Lbr020 # 317: ec42
call0 vPortEnterCritical # 319: 01f4ffc0
# 31d: 0000
movi a0, -32 /* 0xffffffe0 */ # 31f: 6c00
.Lbr019: memw # 321: c02000
l32i a5, a13, 0x200 /* [0x3ff00000] */ # 324: 522d80
and a5, a5, a0 # 327: 005510
memw # 32a: c02000
s32i a5, a13, 0x200 /* a5 -> [0x3ff00000] */ # 32d: 526d80
memw # 330: c02000
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 333: 422d80
bbsi a4, 0, .Lbr019 # 336: 07e4e7
movi a2, sdk_NMIIrqIsOn # 339: 21e9ff
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 33c: 220200
.Lbr020: movi a3, .Ldata001 # 33f: 31e9ff
s32i a12, a3, 60 /* arg0 -> [.Ldata009] */ # 342: c9f3
bnez a2, .Lbr021 # 344: dc82
memw # 346: c02000
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 349: 422d80
movi a5, 1 /* 0x00000001 */ # 34c: 0c15
and a4, a4, a0 # 34e: 004410
or a4, a4, a5 # 351: 504420
memw # 354: c02000
s32i a4, a13, 0x200 /* a4 -> [0x3ff00000] */ # 357: 426d80
call0 vPortExitCritical # 35a: 01e5ffc0
# 35e: 0000
.Lbr021: l32i a12, sp, 4 /* [(local1)] */ # 360: c811
l32i a13, sp, 8 /* [(local2)] */ # 362: d821
l32i a0, sp, 0 /* [(local0)] */ # 364: 0801
addi sp, sp, 16 /* (top of frame) */ # 366: 12c110
ret # 369: 0df0
.literal_position # 36c: 00000000
# Function @ .irom0.text+0x370
.global sdk_chm_freq2index
.type sdk_chm_freq2index, @function
sdk_chm_freq2index:
movi a5, 0 /* 0x00000000 */ # 370: 0c05
movi a6, .Ldata001 # 372: 61feff
movi a7, 14 /* 0x0000000e */ # 375: 0ce7
l32i a6, a6, 0 /* [.Ldata001] */ # 377: 6806
.Lbr022: addx2 a8, a5, a5 # 379: 508590
addx4 a8, a8, a6 # 37c: 6088a0
l16ui a8, a8, 136 # 37f: 821844
bne a8, a2, .Lbr023 # 382: 279803
mov a2, a5 # 385: 2d05
ret # 387: 0df0
.Lbr023: addi a5, a5, 1 # 389: 1b55
extui a5, a5, 0, 8 # 38b: 505074
bne a5, a7, .Lbr022 # 38e: 7795e7
movi a2, 255 /* 0x000000ff */ # 391: 22a0ff
ret /* 0x000000ff */ # 394: 0df0
.literal_position # 398: 00000000
# 39c: 00000000
# 3a0: 00000000
# 3a4: 00000000
# Function @ .irom0.text+0x3a8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_chm_check_same_channel
.type sdk_chm_check_same_channel, @function
sdk_chm_check_same_channel:
movi a2, sdk_g_ic # 3a8: 21fcff
addi sp, sp, -16 /* (local0) */ # 3ab: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3ae: 0911
l32i a2, a2, 0x14c /* [sdk_g_ic+0x14c] */ # 3b0: 222253
call0 sdk_ieee80211_chan2ieee # 3b3: 01faffc0
# 3b7: 0000
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 3b9: 2901
call0 sdk_chm_get_current_channel # 3bb: 01f9ffc0
# 3bf: 0000
call0 sdk_ieee80211_chan2ieee # 3c1: 01f8ffc0
# 3c5: 0000
movi a3, 0 /* 0x00000000 */ # 3c7: 0c03
l32i a4, sp, 0 /* [(local0)] */ # 3c9: 4801
l32i a0, sp, 4 /* [(local1)] */ # 3cb: 0811
sub a4, a4, a2 # 3cd: 2044c0
addi sp, sp, 16 /* (top of frame) */ # 3d0: 12c110
movi a2, 1 /* 0x00000001 */ # 3d3: 0c12
movnez a2, a3, a4 # 3d5: 402393
ret # 3d8: 0df0

File diff suppressed because it is too large Load diff