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,566 @@
.section .bss, "aw", @nobits
.Ldata001: .space 176
.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[3] @ -0xc
.global sdk_rijndaelKeySetupDec
.type sdk_rijndaelKeySetupDec, @function
sdk_rijndaelKeySetupDec:
addi sp, sp, -16 /* (local0) */ # c: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # f: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 11: 0901
mov a12, a2 /* arg0 */ # 13: cd02
call0 sdk_rijndaelKeySetupEnc # 15: 01fcffc0
# 19: 0000
mov a6, a12 /* arg0 */ # 1b: 6d0c
movi a3, 40 /* 0x00000028 */ # 1d: 2c83
movi a2, 0 /* 0x00000000 */ # 1f: 0c02
movi a0, 160 /* 0x000000a0 */ # 21: 02a0a0
add a0, a12, a0 /* arg0+0xa0 */ # 24: 0a0c
.Lbr001: addi a3, a3, -4 # 26: 32c3fc
addi a2, a2, 4 # 29: 4b22
l32i a11, a6, 0 # 2b: b806
l32i a4, a0, 0 # 2d: 4800
addi a0, a0, -16 # 2f: 02c0f0
s32i a4, a6, 0 # 32: 4906
l32i a10, a0, 20 # 34: a850
s32i a11, a0, 16 # 36: b940
l32i a9, a6, 4 # 38: 9816
s32i a10, a6, 4 # 3a: a916
l32i a8, a0, 24 # 3c: 8860
s32i a9, a0, 20 # 3e: 9950
l32i a7, a6, 8 # 40: 7826
s32i a8, a6, 8 # 42: 8926
l32i a5, a0, 28 # 44: 5870
s32i a7, a0, 24 # 46: 7960
l32i a4, a6, 12 # 48: 4836
s32i a5, a6, 12 # 4a: 5936
s32i a4, a0, 28 # 4c: 4970
addi a6, a6, 16 # 4e: 62c610
blt a2, a3, .Lbr001 # 51: 3722d1
movi a2, 1 /* 0x00000001 */ # 54: 0c12
movi a9, sdk_Te0 # 56: 91eaff
movi a8, sdk_Td0 # 59: 81eaff
addi a12, a12, 16 /* arg0+0x10 */ # 5c: c2cc10
mov a0, a12 /* arg0+0x10 */ # 5f: 0d0c
.Lbr002: addi a2, a2, 1 # 61: 1b22
addi a6, a12, 16 # 63: 62cc10
addi a12, a12, 16 # 66: c2cc10
.Lbr003: l32i a10, a0, 0 # 69: a800
ssai 24 # 6b: 104840
extui a11, a10, 0, 8 # 6e: a0b074
extui a7, a10, 8, 8 # 71: a07874
extui a5, a10, 24, 8 # 74: a05875
addx4 a5, a5, a9 # 77: 9055a0
addx4 a7, a7, a9 # 7a: 9077a0
addx4 a11, a11, a9 # 7d: 90bba0
l32i a11, a11, 0 # 80: b80b
l32i a7, a7, 0 # 82: 7807
l32i a5, a5, 0 # 84: 5805
extui a10, a10, 16, 8 # 86: a0a075
extui a5, a5, 8, 8 # 89: 505874
extui a7, a7, 8, 8 # 8c: 707874
extui a11, a11, 8, 8 # 8f: b0b874
addx4 a10, a10, a9 # 92: 90aaa0
l32i a10, a10, 0 # 95: a80a
addx4 a11, a11, a8 # 97: 80bba0
addx4 a7, a7, a8 # 9a: 8077a0
addx4 a5, a5, a8 # 9d: 8055a0
l32i a5, a5, 0 # a0: 5805
l32i a7, a7, 0 # a2: 7807
l32i a11, a11, 0 # a4: b80b
extui a10, a10, 8, 8 # a6: a0a874
src a11, a11, a11 # a9: b0bb81
addx4 a10, a10, a8 # ac: 80aaa0
l32i a10, a10, 0 # af: a80a
ssai 16 # b1: 104040
src a7, a7, a7 # b4: 707781
xor a7, a7, a11 # b7: b07730
ssai 8 # ba: 004840
src a10, a10, a10 # bd: a0aa81
xor a5, a5, a10 # c0: a05530
xor a5, a5, a7 # c3: 705530
s32i a5, a0, 0 # c6: 5900
addi a0, a0, 4 # c8: 4b00
bne a0, a6, .Lbr003 # ca: 67909b
mov a0, a12 # cd: 0d0c
bnei a2, 10, .Lbr002 # cf: 66928e
l32i a12, sp, 4 /* [(local1)] */ # d2: c811
l32i a0, sp, 0 /* [(local0)] */ # d4: 0801
addi sp, sp, 16 /* (top of frame) */ # d6: 12c110
ret # d9: 0df0
.literal_position # dc: 00000000
# e0: 00000000
# Function @ .irom0.text+0xe4
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_aes_decrypt_init
.type sdk_aes_decrypt_init, @function
sdk_aes_decrypt_init:
addi sp, sp, -16 /* (local0) */ # e4: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e7: 0901
beqi a3, 16, .Lbr004 # e9: 26b304
movi a2, 0 /* 0x00000000 */ # ec: 0c02
j .Lbr005 # ee: 860200
.Lbr004: mov a3, a2 /* arg0 */ # f1: 3d02
movi a2, .Ldata001 # f3: 21faff
call0 sdk_rijndaelKeySetupDec # f6: 050000
movi a2, .Ldata001 # f9: 21f9ff
.Lbr005: l32i a0, sp, 0 /* [(local0)] */ # fc: 0801
addi sp, sp, 16 /* (top of frame) */ # fe: 12c110
ret # 101: 0df0
.literal_position # 104: 00000000
# 108: 00000000
# 10c: 00000000
# 110: 00000000
# 114: 00000000
# Function @ .irom0.text+0x118
# Local variables/stack:
# (local0): word @ -0x40
# (local1): word @ -0x3c
# (local2): word @ -0x38
# (local3): word @ -0x34
# (local4): word @ -0x30
# (local5): word @ -0x2c
# (local6): word @ -0x28
# (local7): word @ -0x24
# (local8): word @ -0x20
# (local9): word @ -0x1c
# (local10): word[4] @ -0x18
# (local11): word[2] @ -0x8
.Lfunc001: movi a11, sdk_Td0 # 118: b1fbff
mov a5, a12 # 11b: 5d0c
addi sp, sp, -64 /* (local0) */ # 11d: 12c1c0
mov a12, a2 /* arg0 */ # 120: cd02
l8ui a6, a3, 1 /* [arg1+0x1] */ # 122: 620301
l8ui a7, a3, 9 /* [arg1+0x9] */ # 125: 720309
l8ui a8, a3, 14 /* [arg1+0xe] */ # 128: 82030e
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 12b: 0921
s32i a15, sp, 24 /* a15 -> [(local6)] */ # 12d: f961
s32i a4, sp, 4 /* arg2 -> [(local1)] */ # 12f: 4911
s32i a14, sp, 20 /* a14 -> [(local5)] */ # 131: e951
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 133: d941
s32i a5, sp, 12 /* a5 -> [(local3)] */ # 135: 5931
l8ui a13, a3, 3 /* [arg1+0x3] */ # 137: d20303
l8ui a14, a3, 11 /* [arg1+0xb] */ # 13a: e2030b
l8ui a4, a3, 0 /* [arg1] */ # 13d: 420300
l32i a15, a2, 8 /* [arg0+0x8] */ # 140: f822
l32i a0, a2, 0 /* [arg0] */ # 142: 0802
slli a8, a8, 8 # 144: 808811
slli a7, a7, 16 # 147: 007711
slli a6, a6, 16 # 14a: 006611
l32i a2, a2, 4 /* [arg0+0x4] */ # 14d: 2812
slli a4, a4, 24 # 14f: 804401
xor a14, a14, a15 # 152: f0ee30
xor a4, a4, a6 # 155: 604430
xor a13, a13, a0 # 158: 00dd30
l8ui a6, a3, 8 /* [arg1+0x8] */ # 15b: 620308
l8ui a0, a3, 4 /* [arg1+0x4] */ # 15e: 020304
l8ui a15, a3, 7 /* [arg1+0x7] */ # 161: f20307
slli a0, a0, 24 # 164: 800001
xor a15, a15, a2 # 167: 20ff30
slli a6, a6, 24 # 16a: 806601
xor a6, a6, a7 # 16d: 706630
l8ui a2, a3, 5 /* [arg1+0x5] */ # 170: 220305
l8ui a7, a3, 13 /* [arg1+0xd] */ # 173: 72030d
slli a2, a2, 16 # 176: 002211
xor a0, a0, a2 # 179: 200030
l8ui a2, a3, 12 /* [arg1+0xc] */ # 17c: 22030c
slli a7, a7, 16 # 17f: 007711
slli a2, a2, 24 # 182: 802201
xor a2, a2, a7 # 185: 702230
xor a2, a2, a8 # 188: 802230
l8ui a7, a3, 10 /* [arg1+0xa] */ # 18b: 72030a
l8ui a8, a3, 6 /* [arg1+0x6] */ # 18e: 820306
slli a7, a7, 8 # 191: 807711
xor a6, a6, a7 # 194: 706630
slli a8, a8, 8 # 197: 808811
l8ui a7, a3, 2 /* [arg1+0x2] */ # 19a: 720302
xor a0, a0, a8 # 19d: 800030
xor a15, a15, a0 # 1a0: 00ff30
slli a7, a7, 8 # 1a3: 807711
l8ui a0, a3, 15 /* [arg1+0xf] */ # 1a6: 02030f
xor a4, a4, a7 # 1a9: 704430
xor a13, a13, a4 # 1ac: 40dd30
l32i a4, a12, 12 /* [arg0+0xc] */ # 1af: 483c
xor a14, a14, a6 # 1b1: 60ee30
xor a0, a0, a4 # 1b4: 400030
xor a0, a0, a2 # 1b7: 200030
movi a2, 5 /* 0x00000005 */ # 1ba: 0c52
.Lbr006: addi a2, a2, -1 # 1bc: 0b22
ssai 8 # 1be: 004840
extui a5, a14, 24, 8 # 1c1: e05875
extui a7, a15, 16, 8 # 1c4: f07075
extui a8, a14, 0, 8 # 1c7: e08074
extui a6, a0, 8, 8 # 1ca: 006874
extui a10, a13, 16, 8 # 1cd: d0a075
extui a3, a15, 0, 8 # 1d0: f03074
extui a9, a0, 16, 8 # 1d3: 009075
extui a4, a14, 8, 8 # 1d6: e04874
addx4 a4, a4, a11 # 1d9: b044a0
addx4 a9, a9, a11 # 1dc: b099a0
addx4 a3, a3, a11 # 1df: b033a0
addx4 a10, a10, a11 # 1e2: b0aaa0
addx4 a6, a6, a11 # 1e5: b066a0
addx4 a8, a8, a11 # 1e8: b088a0
addx4 a7, a7, a11 # 1eb: b077a0
addx4 a5, a5, a11 # 1ee: b055a0
l32i a5, a5, 0 # 1f1: 5805
l32i a7, a7, 0 # 1f3: 7807
l32i a8, a8, 0 # 1f5: 8808
l32i a6, a6, 0 # 1f7: 6806
l32i a10, a10, 0 # 1f9: a80a
l32i a3, a3, 0 # 1fb: 3803
l32i a9, a9, 0 # 1fd: 9809
l32i a4, a4, 0 # 1ff: 4804
src a9, a9, a9 # 201: 909981
ssai 16 # 204: 104040
src a4, a4, a4 # 207: 404481
s32i a4, sp, 32 /* a4 -> [(local8)] */ # 20a: 4981
ssai 24 # 20c: 104840
extui a4, a13, 8, 8 # 20f: d04874
src a3, a3, a3 # 212: 303381
s32i a3, sp, 36 /* a3 -> [(local9)] */ # 215: 3991
ssai 8 # 217: 004840
addx4 a4, a4, a11 # 21a: b044a0
l32i a4, a4, 0 # 21d: 4804
src a10, a10, a10 # 21f: a0aa81
extui a3, a15, 8, 8 # 222: f03874
addx4 a3, a3, a11 # 225: b033a0
ssai 16 # 228: 104040
src a6, a6, a6 # 22b: 606681
l32i a3, a3, 0 # 22e: 3803
ssai 24 # 230: 104840
src a8, a8, a8 # 233: 808881
s32i a8, sp, 40 /* a8 -> [(local10)] */ # 236: 89a1
ssai 8 # 238: 004840
extui a8, a14, 16, 8 # 23b: e08075
src a7, a7, a7 # 23e: 707781
l32i a14, a12, 24 # 241: e86c
xor a5, a5, a7 # 243: 705530
ssai 16 # 246: 104040
addx4 a8, a8, a11 # 249: b088a0
l32i a8, a8, 0 # 24c: 8808
src a4, a4, a4 # 24e: 404481
extui a7, a0, 24, 8 # 251: 007875
ssai 24 # 254: 104840
xor a4, a4, a5 # 257: 504430
addx4 a7, a7, a11 # 25a: b077a0
l32i a7, a7, 0 # 25d: 7807
extui a5, a0, 0, 8 # 25f: 005074
addx4 a5, a5, a11 # 262: b055a0
l32i a5, a5, 0 # 265: 5805
l32i a0, a12, 16 # 267: 084c
src a5, a5, a5 # 269: 505581
xor a14, a14, a5 # 26c: 50ee30
ssai 8 # 26f: 004840
src a8, a8, a8 # 272: 808881
xor a14, a14, a4 # 275: 40ee30
ssai 16 # 278: 104040
xor a7, a7, a8 # 27b: 807730
extui a4, a13, 0, 8 # 27e: d04074
addx4 a4, a4, a11 # 281: b044a0
extui a8, a15, 24, 8 # 284: f08875
src a3, a3, a3 # 287: 303381
l32i a15, a12, 20 # 28a: f85c
ssai 24 # 28c: 104840
l32i a4, a4, 0 # 28f: 4804
xor a3, a3, a7 # 291: 703330
addx4 a8, a8, a11 # 294: b088a0
l32i a8, a8, 0 # 297: 8808
l32i a7, sp, 32 /* [(local8)] */ # 299: 7881
xor a8, a8, a10 # 29b: a08830
src a4, a4, a4 # 29e: 404481
xor a6, a6, a8 # 2a1: 806630
extui a8, a13, 24, 8 # 2a4: d08875
l32i a13, a12, 28 # 2a7: d87c
addx4 a8, a8, a11 # 2a9: b088a0
addi a12, a12, 32 # 2ac: c2cc20
l32i a8, a8, 0 # 2af: 8808
xor a13, a13, a4 # 2b1: 40dd30
xor a8, a8, a9 # 2b4: 908830
xor a7, a7, a8 # 2b7: 807730
l32i a8, sp, 36 /* [(local9)] */ # 2ba: 8891
xor a13, a13, a3 # 2bc: 30dd30
xor a0, a0, a8 # 2bf: 800030
xor a0, a0, a7 # 2c2: 700030
l32i a7, sp, 40 /* [(local10)] */ # 2c5: 78a1
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2c7: 0901
xor a15, a15, a7 # 2c9: 70ff30
xor a15, a15, a6 # 2cc: 60ff30
beqz a2, .Lbr007 # 2cf: 162210
ssai 8 # 2d2: 004840
extui a5, a14, 24, 8 # 2d5: e05875
extui a4, a15, 16, 8 # 2d8: f04075
extui a7, a14, 0, 8 # 2db: e07074
extui a6, a13, 8, 8 # 2de: d06874
extui a3, a0, 16, 8 # 2e1: 003075
extui a8, a15, 0, 8 # 2e4: f08074
extui a9, a14, 8, 8 # 2e7: e09874
extui a10, a13, 16, 8 # 2ea: d0a075
addx4 a10, a10, a11 # 2ed: b0aaa0
addx4 a9, a9, a11 # 2f0: b099a0
addx4 a8, a8, a11 # 2f3: b088a0
addx4 a3, a3, a11 # 2f6: b033a0
addx4 a6, a6, a11 # 2f9: b066a0
addx4 a7, a7, a11 # 2fc: b077a0
addx4 a4, a4, a11 # 2ff: b044a0
addx4 a5, a5, a11 # 302: b055a0
l32i a5, a5, 0 # 305: 5805
l32i a4, a4, 0 # 307: 4804
l32i a7, a7, 0 # 309: 7807
l32i a6, a6, 0 # 30b: 6806
l32i a3, a3, 0 # 30d: 3803
l32i a8, a8, 0 # 30f: 8808
l32i a9, a9, 0 # 311: 9809
l32i a10, a10, 0 # 313: a80a
extui a14, a14, 16, 8 # 315: e0e075
src a10, a10, a10 # 318: a0aa81
addx4 a14, a14, a11 # 31b: b0eea0
ssai 16 # 31e: 104040
src a9, a9, a9 # 321: 909981
ssai 24 # 324: 104840
src a8, a8, a8 # 327: 808881
l32i a14, a14, 0 # 32a: e80e
ssai 8 # 32c: 004840
src a3, a3, a3 # 32f: 303381
ssai 16 # 332: 104040
src a6, a6, a6 # 335: 606681
ssai 24 # 338: 104840
src a7, a7, a7 # 33b: 707781
ssai 8 # 33e: 004840
src a4, a4, a4 # 341: 404481
xor a5, a5, a4 # 344: 405530
extui a4, a0, 8, 8 # 347: 004874
addx4 a4, a4, a11 # 34a: b044a0
l32i a4, a4, 0 # 34d: 4804
ssai 16 # 34f: 104040
src a4, a4, a4 # 352: 404481
xor a4, a4, a5 # 355: 504430
ssai 24 # 358: 104840
extui a5, a13, 0, 8 # 35b: d05074
extui a13, a13, 24, 8 # 35e: d0d875
addx4 a5, a5, a11 # 361: b055a0
l32i a5, a5, 0 # 364: 5805
addx4 a13, a13, a11 # 366: b0dda0
src a5, a5, a5 # 369: 505581
l32i a13, a13, 0 # 36c: d80d
ssai 8 # 36e: 004840
src a14, a14, a14 # 371: e0ee81
xor a13, a13, a14 # 374: e0dd30
extui a14, a15, 24, 8 # 377: f0e875
addx4 a14, a14, a11 # 37a: b0eea0
l32i a14, a14, 0 # 37d: e80e
ssai 16 # 37f: 104040
xor a14, a14, a3 # 382: 30ee30
extui a3, a15, 8, 8 # 385: f03874
xor a6, a6, a14 # 388: e06630
l32i a15, a12, 4 # 38b: f81c
extui a14, a0, 24, 8 # 38d: 00e875
addx4 a3, a3, a11 # 390: b033a0
l32i a3, a3, 0 # 393: 3803
addx4 a14, a14, a11 # 395: b0eea0
l32i a14, a14, 0 # 398: e80e
xor a15, a15, a7 # 39a: 70ff30
xor a15, a15, a6 # 39d: 60ff30
src a3, a3, a3 # 3a0: 303381
xor a3, a3, a13 # 3a3: d03330
xor a14, a14, a10 # 3a6: a0ee30
l32i a13, a12, 0 # 3a9: d80c
xor a14, a9, a14 # 3ab: e0e930
xor a13, a13, a8 # 3ae: 80dd30
xor a13, a13, a14 # 3b1: e0dd30
l32i a14, a12, 8 # 3b4: e82c
ssai 24 # 3b6: 104840
xor a14, a14, a5 # 3b9: 50ee30
xor a14, a14, a4 # 3bc: 40ee30
extui a4, a0, 0, 8 # 3bf: 004074
addx4 a4, a4, a11 # 3c2: b044a0
l32i a4, a4, 0 # 3c5: 4804
l32i a0, a12, 12 # 3c7: 083c
src a4, a4, a4 # 3c9: 404481
xor a0, a0, a4 # 3cc: 400030
xor a0, a0, a3 # 3cf: 300030
j .Lbr006 # 3d2: 8679ff
.Lbr007: movi a2, 256 /* 0x00000100 */ # 3d5: 22a100
call0 malloc # 3d8: 014dffc0
# 3dc: 0000
s32i a2, sp, 28 /* a2 -> [(local7)] */ # 3de: 2971
movi a3, sdk_Td4s_rom # 3e0: 314aff
movi a4, 256 /* 0x00000100 */ # 3e3: 42a100
call0 memcpy # 3e6: 014affc0
# 3ea: 0000
extui a6, a13, 24, 8 # 3ec: d06875
extui a0, a14, 24, 8 # 3ef: e00875
extui a4, a13, 0, 8 # 3f2: d04074
extui a3, a15, 16, 8 # 3f5: f03075
extui a11, a15, 8, 8 # 3f8: f0b874
extui a10, a14, 16, 8 # 3fb: e0a075
l32i a9, sp, 0 /* [(local0)] */ # 3fe: 9801
l32i a2, sp, 28 /* [(local7)] */ # 400: 2871
extui a5, a9, 24, 8 # 402: 905875
extui a7, a9, 16, 8 # 405: 907075
extui a8, a9, 8, 8 # 408: 908874
add a10, a2, a10 # 40b: aaa2
add a11, a2, a11 # 40d: bab2
add a3, a2, a3 # 40f: 3a32
add a4, a2, a4 # 411: 4a42
add a0, a2, a0 # 413: 0a02
add a8, a2, a8 # 415: 8a82
add a7, a2, a7 # 417: 7a72
add a6, a2, a6 # 419: 6a62
add a5, a2, a5 # 41b: 5a52
l8ui a5, a5, 0 # 41d: 520500
s32i a6, sp, 32 /* a6 -> [(local8)] */ # 420: 6981
s32i a7, sp, 56 /* a7 -> [(local11)] */ # 422: 79e1
s32i a8, sp, 36 /* a8 -> [(local9)] */ # 424: 8991
extui a9, a9, 0, 8 # 426: 909074
extui a8, a13, 16, 8 # 429: d08075
extui a7, a13, 8, 8 # 42c: d07874
extui a6, a14, 0, 8 # 42f: e06074
add a6, a2, a6 # 432: 6a62
add a7, a2, a7 # 434: 7a72
slli a5, a5, 24 # 436: 805501
add a8, a2, a8 # 439: 8a82
add a9, a2, a9 # 43b: 9a92
s32i a9, sp, 40 /* a9 -> [(local10)] */ # 43d: 99a1
extui a13, a15, 0, 8 # 43f: f0d074
extui a9, a15, 24, 8 # 442: f09875
add a13, a2, a13 # 445: dad2
extui a15, a14, 8, 8 # 447: e0f874
add a9, a2, a9 # 44a: 9a92
l8ui a14, a13, 0 # 44c: e20d00
add a15, a2, a15 # 44f: faf2
l8ui a15, a15, 0 # 451: f20f00
l32i a13, a12, 0 # 454: d80c
slli a15, a15, 8 # 456: 80ff11
xor a14, a14, a15 # 459: f0ee30
l8ui a15, a8, 0 # 45c: f20800
l32i a8, sp, 4 /* [(local1)] */ # 45f: 8811
slli a15, a15, 16 # 461: 00ff11
xor a15, a15, a5 # 464: 50ff30
xor a14, a14, a15 # 467: f0ee30
xor a13, a13, a14 # 46a: e0dd30
s8i a13, a8, 3 /* a13 -> [[(local1)]+0x3] */ # 46d: d24803
extui a14, a13, 16, 16 # 470: d0e0f5
extui a15, a13, 24, 8 # 473: d0f875
s8i a15, a8, 0 /* a15 -> [[(local1)]] */ # 476: f24800
s8i a14, a8, 1 /* a14 -> [[(local1)]+0x1] */ # 479: e24801
l32i a15, sp, 36 /* [(local9)] */ # 47c: f891
srli a13, a13, 8 # 47e: d0d841
s8i a13, a8, 2 /* a13 -> [[(local1)]+0x2] */ # 481: d24802
l32i a5, a12, 4 # 484: 581c
l8ui a7, a7, 0 # 486: 720700
l8ui a6, a6, 0 # 489: 620600
slli a7, a7, 8 # 48c: 807711
xor a6, a6, a7 # 48f: 706630
l32i a7, sp, 56 /* [(local11)] */ # 492: 78e1
l8ui a9, a9, 0 # 494: 920900
l8ui a7, a7, 0 /* [[(local11)]] */ # 497: 720700
slli a9, a9, 24 # 49a: 809901
slli a7, a7, 16 # 49d: 007711
xor a7, a7, a9 # 4a0: 907730
l32i a9, sp, 40 /* [(local10)] */ # 4a3: 98a1
xor a6, a6, a7 # 4a5: 706630
xor a5, a5, a6 # 4a8: 605530
s8i a5, a8, 7 /* a5 -> [[(local1)]+0x7] */ # 4ab: 524807
extui a6, a5, 16, 16 # 4ae: 5060f5
extui a7, a5, 24, 8 # 4b1: 507875
s8i a7, a8, 4 /* a7 -> [[(local1)]+0x4] */ # 4b4: 724804
s8i a6, a8, 5 /* a6 -> [[(local1)]+0x5] */ # 4b7: 624805
srli a5, a5, 8 # 4ba: 505841
s8i a5, a8, 6 /* a5 -> [[(local1)]+0x6] */ # 4bd: 524806
l32i a13, a12, 8 # 4c0: d82c
l8ui a0, a0, 0 # 4c2: 020000
l8ui a15, a15, 0 /* [[(local9)]] */ # 4c5: f20f00
l8ui a14, a4, 0 # 4c8: e20400
slli a15, a15, 8 # 4cb: 80ff11
xor a14, a14, a15 # 4ce: f0ee30
l8ui a15, a3, 0 # 4d1: f20300
slli a0, a0, 24 # 4d4: 800001
slli a15, a15, 16 # 4d7: 00ff11
xor a15, a15, a0 # 4da: 00ff30
xor a14, a14, a15 # 4dd: f0ee30
xor a13, a13, a14 # 4e0: e0dd30
s8i a13, a8, 11 /* a13 -> [[(local1)]+0xb] */ # 4e3: d2480b
extui a14, a13, 16, 16 # 4e6: d0e0f5
extui a15, a13, 24, 8 # 4e9: d0f875
s8i a15, a8, 8 /* a15 -> [[(local1)]+0x8] */ # 4ec: f24808
s8i a14, a8, 9 /* a14 -> [[(local1)]+0x9] */ # 4ef: e24809
srli a13, a13, 8 # 4f2: d0d841
s8i a13, a8, 10 /* a13 -> [[(local1)]+0xa] */ # 4f5: d2480a
l32i a7, a12, 12 # 4f8: 783c
l8ui a11, a11, 0 # 4fa: b20b00
l8ui a9, a9, 0 /* [[(local10)]] */ # 4fd: 920900
slli a11, a11, 8 # 500: 80bb11
xor a9, a9, a11 # 503: b09930
l32i a11, sp, 32 /* [(local8)] */ # 506: b881
l8ui a10, a10, 0 # 508: a20a00
l8ui a11, a11, 0 /* [[(local8)]] */ # 50b: b20b00
slli a10, a10, 16 # 50e: 00aa11
slli a11, a11, 24 # 511: 80bb01
xor a10, a10, a11 # 514: b0aa30
xor a9, a9, a10 # 517: a09930
xor a7, a7, a9 # 51a: 907730
s8i a7, a8, 15 /* a7 -> [[(local1)]+0xf] */ # 51d: 72480f
extui a9, a7, 16, 16 # 520: 7090f5
extui a10, a7, 24, 8 # 523: 70a875
s8i a10, a8, 12 /* a10 -> [[(local1)]+0xc] */ # 526: a2480c
s8i a9, a8, 13 /* a9 -> [[(local1)]+0xd] */ # 529: 92480d
srli a7, a7, 8 # 52c: 707841
s8i a7, a8, 14 /* a7 -> [[(local1)]+0xe] */ # 52f: 72480e
call0 free # 532: 01f8fec0
# 536: 0000
l32i a12, sp, 12 /* [(local3)] */ # 538: c831
l32i a13, sp, 16 /* [(local4)] */ # 53a: d841
l32i a14, sp, 20 /* [(local5)] */ # 53c: e851
l32i a15, sp, 24 /* [(local6)] */ # 53e: f861
l32i a0, sp, 8 /* [(local2)] */ # 540: 0821
addi sp, sp, 64 /* (top of frame) */ # 542: 12c140
ret # 545: 0df0
.balign 4
# Function @ .irom0.text+0x548
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_aes_decrypt
.type sdk_aes_decrypt, @function
sdk_aes_decrypt:
addi sp, sp, -16 /* (local0) */ # 548: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 54b: 0901
call0 .Lfunc001 # 54d: 85bcff
l32i a0, sp, 0 /* [(local0)] */ # 550: 0801
addi sp, sp, 16 /* (top of frame) */ # 552: 12c110
ret # 555: 0df0
.literal_position # 558: 00000000
# Function @ .irom0.text+0x55c
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_aes_decrypt_deinit
.type sdk_aes_decrypt_deinit, @function
sdk_aes_decrypt_deinit:
movi a3, 0 /* 0x00000000 */ # 55c: 0c03
movi a4, 176 /* 0x000000b0 */ # 55e: 42a0b0
addi sp, sp, -16 /* (local0) */ # 561: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 564: 0901
call0 memset # 566: 01fcffc0
# 56a: 0000
l32i a0, sp, 0 /* [(local0)] */ # 56c: 0801
addi sp, sp, 16 /* (top of frame) */ # 56e: 12c110
ret # 571: 0df0

View file

@ -0,0 +1,468 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 0000ff00
# 8: 000000ff
# c: 00ff0000
# 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 @ -0x8
# (local7): word @ -0x4
.global sdk_rijndaelEncrypt
.type sdk_rijndaelEncrypt, @function
sdk_rijndaelEncrypt:
mov a6, a4 /* arg2 */ # 10: 6d04
addi sp, sp, -32 /* (local0) */ # 12: 12c1e0
s32i a15, sp, 20 /* a15 -> [(local5)] */ # 15: f951
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 17: c921
l32i a5, a2, 8 /* [arg0+0x8] */ # 19: 5822
l32i a9, a2, 0 /* [arg0] */ # 1b: 9802
l8ui a8, a3, 3 /* [arg1+0x3] */ # 1d: 820303
l32i a10, a2, 4 /* [arg0+0x4] */ # 20: a812
l8ui a7, a3, 7 /* [arg1+0x7] */ # 22: 720307
l8ui a11, a3, 0 /* [arg1] */ # 25: b20300
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 28: e941
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 2a: 0911
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 2c: d931
movi a0, 5 /* 0x00000005 */ # 2e: 0c50
l8ui a4, a3, 11 /* [arg1+0xb] */ # 30: 42030b
l8ui a13, a3, 1 /* [arg1+0x1] */ # 33: d20301
l8ui a14, a3, 13 /* [arg1+0xd] */ # 36: e2030d
s32i a6, sp, 0 /* arg2 -> [(local0)] */ # 39: 6901
slli a11, a11, 24 # 3b: 80bb01
l8ui a6, a3, 9 /* [arg1+0x9] */ # 3e: 620309
slli a14, a14, 16 # 41: 00ee11
xor a7, a7, a10 # 44: a07730
slli a13, a13, 16 # 47: 00dd11
xor a8, a8, a9 # 4a: 908830
xor a4, a4, a5 # 4d: 504430
slli a6, a6, 16 # 50: 006611
l8ui a5, a3, 8 /* [arg1+0x8] */ # 53: 520308
l8ui a9, a3, 4 /* [arg1+0x4] */ # 56: 920304
xor a11, a11, a13 # 59: d0bb30
l8ui a10, a3, 5 /* [arg1+0x5] */ # 5c: a20305
l8ui a13, a3, 14 /* [arg1+0xe] */ # 5f: d2030e
slli a10, a10, 16 # 62: 00aa11
slli a9, a9, 24 # 65: 809901
slli a5, a5, 24 # 68: 805501
slli a13, a13, 8 # 6b: 80dd11
xor a5, a5, a6 # 6e: 605530
xor a9, a9, a10 # 71: a09930
l8ui a6, a3, 10 /* [arg1+0xa] */ # 74: 62030a
l8ui a10, a3, 12 /* [arg1+0xc] */ # 77: a2030c
slli a6, a6, 8 # 7a: 806611
xor a5, a5, a6 # 7d: 605530
slli a10, a10, 24 # 80: 80aa01
xor a10, a10, a14 # 83: e0aa30
xor a10, a10, a13 # 86: d0aa30
l8ui a14, a3, 6 /* [arg1+0x6] */ # 89: e20306
l8ui a13, a3, 2 /* [arg1+0x2] */ # 8c: d20302
slli a14, a14, 8 # 8f: 80ee11
slli a13, a13, 8 # 92: 80dd11
xor a9, a9, a14 # 95: e09930
xor a7, a7, a9 # 98: 907730
xor a11, a11, a13 # 9b: d0bb30
xor a8, a8, a11 # 9e: b08830
l8ui a9, a3, 15 /* [arg1+0xf] */ # a1: 92030f
l32i a11, a2, 12 /* [arg0+0xc] */ # a4: b832
xor a4, a4, a5 # a6: 504430
xor a9, a9, a11 # a9: b09930
xor a3, a9, a10 # ac: a03930
movi a9, sdk_Te0 # af: 91d4ff
.Lbr001: addi a0, a0, -1 # b2: 0b00
ssai 8 # b4: 004840
extui a11, a7, 0, 8 # b7: 70b074
extui a13, a3, 16, 8 # ba: 30d075
extui a12, a8, 0, 8 # bd: 80c074
extui a14, a3, 8, 8 # c0: 30e874
extui a15, a3, 0, 8 # c3: 30f074
extui a5, a4, 8, 8 # c6: 405874
extui a10, a7, 16, 8 # c9: 70a075
extui a6, a8, 24, 8 # cc: 806875
addx4 a6, a6, a9 # cf: 9066a0
addx4 a10, a10, a9 # d2: 90aaa0
addx4 a5, a5, a9 # d5: 9055a0
addx4 a15, a15, a9 # d8: 90ffa0
addx4 a14, a14, a9 # db: 90eea0
addx4 a12, a12, a9 # de: 90cca0
addx4 a13, a13, a9 # e1: 90dda0
addx4 a11, a11, a9 # e4: 90bba0
l32i a11, a11, 0 # e7: b80b
l32i a13, a13, 0 # e9: d80d
l32i a12, a12, 0 # eb: c80c
l32i a14, a14, 0 # ed: e80e
l32i a15, a15, 0 # ef: f80f
l32i a5, a5, 0 # f1: 5805
l32i a10, a10, 0 # f3: a80a
l32i a6, a6, 0 # f5: 6806
src a10, a10, a10 # f7: a0aa81
xor a6, a6, a10 # fa: a06630
ssai 16 # fd: 104040
extui a10, a8, 8, 8 # 100: 80a874
src a5, a5, a5 # 103: 505581
extui a8, a8, 16, 8 # 106: 808075
ssai 24 # 109: 104840
xor a5, a5, a6 # 10c: 605530
addx4 a10, a10, a9 # 10f: 90aaa0
l32i a10, a10, 0 # 112: a80a
extui a6, a3, 24, 8 # 114: 306875
s32i a5, sp, 24 /* a5 -> [(local6)] */ # 117: 5961
src a15, a15, a15 # 119: f0ff81
addx4 a8, a8, a9 # 11c: 9088a0
l32i a8, a8, 0 # 11f: 8808
ssai 8 # 121: 004840
extui a5, a4, 16, 8 # 124: 405075
extui a3, a7, 24, 8 # 127: 703875
addx4 a6, a6, a9 # 12a: 9066a0
l32i a6, a6, 0 # 12d: 6806
addx4 a3, a3, a9 # 12f: 9033a0
addx4 a5, a5, a9 # 132: 9055a0
l32i a5, a5, 0 # 135: 5805
l32i a3, a3, 0 # 137: 3803
src a5, a5, a5 # 139: 505581
xor a3, a3, a5 # 13c: 503330
ssai 16 # 13f: 104040
extui a5, a7, 8, 8 # 142: 705874
src a14, a14, a14 # 145: e0ee81
l32i a7, a2, 20 # 148: 7852
addx4 a5, a5, a9 # 14a: 9055a0
xor a14, a14, a3 # 14d: 30ee30
ssai 24 # 150: 104840
l32i a3, a2, 28 # 153: 3872
src a12, a12, a12 # 155: c0cc81
l32i a5, a5, 0 # 158: 5805
ssai 8 # 15a: 004840
xor a7, a7, a12 # 15d: c07730
xor a7, a7, a14 # 160: e07730
src a13, a13, a13 # 163: d0dd81
extui a12, a4, 24, 8 # 166: 40c875
addx4 a12, a12, a9 # 169: 90cca0
ssai 16 # 16c: 104040
src a10, a10, a10 # 16f: a0aa81
l32i a12, a12, 0 # 172: c80c
ssai 24 # 174: 104840
src a11, a11, a11 # 177: b0bb81
xor a12, a12, a13 # 17a: d0cc30
xor a10, a10, a12 # 17d: c0aa30
ssai 8 # 180: 004840
src a8, a8, a8 # 183: 808881
xor a6, a6, a8 # 186: 806630
ssai 16 # 189: 104040
l32i a8, a2, 16 # 18c: 8842
src a5, a5, a5 # 18e: 505581
xor a5, a5, a6 # 191: 605530
ssai 24 # 194: 104840
l32i a6, a2, 24 # 197: 6862
xor a8, a8, a15 # 199: f08830
addi a2, a2, 32 # 19c: 22c220
l32i a15, sp, 24 /* [(local6)] */ # 19f: f861
xor a6, a6, a11 # 1a1: b06630
xor a6, a6, a10 # 1a4: a06630
extui a10, a4, 0, 8 # 1a7: 40a074
addx4 a10, a10, a9 # 1aa: 90aaa0
l32i a10, a10, 0 # 1ad: a80a
xor a8, a8, a15 # 1af: f08830
src a10, a10, a10 # 1b2: a0aa81
xor a3, a3, a10 # 1b5: a03330
xor a3, a3, a5 # 1b8: 503330
beqz a0, .Lbr002 # 1bb: 166010
ssai 8 # 1be: 004840
extui a11, a7, 0, 8 # 1c1: 70b074
extui a10, a8, 8, 8 # 1c4: 80a874
extui a13, a3, 16, 8 # 1c7: 30d075
extui a12, a8, 0, 8 # 1ca: 80c074
extui a14, a3, 8, 8 # 1cd: 30e874
extui a5, a6, 16, 8 # 1d0: 605075
extui a15, a6, 8, 8 # 1d3: 60f874
s32i a0, sp, 28 /* a0 -> [(local7)] */ # 1d6: 0971
extui a4, a7, 16, 8 # 1d8: 704075
extui a0, a8, 24, 8 # 1db: 800875
addx4 a4, a4, a9 # 1de: 9044a0
addx4 a15, a15, a9 # 1e1: 90ffa0
addx4 a5, a5, a9 # 1e4: 9055a0
addx4 a14, a14, a9 # 1e7: 90eea0
addx4 a12, a12, a9 # 1ea: 90cca0
addx4 a13, a13, a9 # 1ed: 90dda0
addx4 a10, a10, a9 # 1f0: 90aaa0
addx4 a11, a11, a9 # 1f3: 90bba0
l32i a11, a11, 0 # 1f6: b80b
l32i a10, a10, 0 # 1f8: a80a
l32i a13, a13, 0 # 1fa: d80d
l32i a12, a12, 0 # 1fc: c80c
l32i a14, a14, 0 # 1fe: e80e
l32i a5, a5, 0 # 200: 5805
l32i a15, a15, 0 # 202: f80f
l32i a4, a4, 0 # 204: 4804
addx4 a0, a0, a9 # 206: 9000a0
l32i a0, a0, 0 # 209: 0800
src a4, a4, a4 # 20b: 404481
xor a0, a0, a4 # 20e: 400030
ssai 16 # 211: 104040
extui a4, a8, 16, 8 # 214: 804075
src a15, a15, a15 # 217: f0ff81
l32i a8, a2, 0 # 21a: 8802
ssai 24 # 21c: 104840
xor a15, a15, a0 # 21f: 00ff30
addx4 a4, a4, a9 # 222: 9044a0
extui a0, a3, 0, 8 # 225: 300074
l32i a4, a4, 0 # 228: 4804
extui a3, a3, 24, 8 # 22a: 303875
addx4 a0, a0, a9 # 22d: 9000a0
l32i a0, a0, 0 # 230: 0800
addx4 a3, a3, a9 # 232: 9033a0
l32i a3, a3, 0 # 235: 3803
src a0, a0, a0 # 237: 000081
xor a8, a8, a0 # 23a: 008830
ssai 8 # 23d: 004840
src a5, a5, a5 # 240: 505581
xor a8, a8, a15 # 243: f08830
ssai 16 # 246: 104040
src a14, a14, a14 # 249: e0ee81
ssai 24 # 24c: 104840
src a12, a12, a12 # 24f: c0cc81
l32i a0, sp, 28 /* [(local7)] */ # 252: 0871
ssai 8 # 254: 004840
src a13, a13, a13 # 257: d0dd81
ssai 16 # 25a: 104040
src a10, a10, a10 # 25d: a0aa81
ssai 24 # 260: 104840
src a11, a11, a11 # 263: b0bb81
ssai 8 # 266: 004840
src a4, a4, a4 # 269: 404481
xor a3, a3, a4 # 26c: 403330
extui a4, a7, 24, 8 # 26f: 704875
addx4 a4, a4, a9 # 272: 9044a0
l32i a4, a4, 0 # 275: 4804
ssai 16 # 277: 104040
xor a4, a4, a5 # 27a: 504430
extui a5, a7, 8, 8 # 27d: 705874
xor a14, a14, a4 # 280: 40ee30
l32i a7, a2, 4 # 283: 7812
l32i a4, a2, 8 # 285: 4822
addx4 a5, a5, a9 # 287: 9055a0
l32i a5, a5, 0 # 28a: 5805
xor a4, a4, a11 # 28c: b04430
xor a7, a7, a12 # 28f: c07730
xor a7, a7, a14 # 292: e07730
src a5, a5, a5 # 295: 505581
extui a12, a6, 24, 8 # 298: 60c875
ssai 24 # 29b: 104840
addx4 a12, a12, a9 # 29e: 90cca0
l32i a12, a12, 0 # 2a1: c80c
xor a5, a5, a3 # 2a3: 305530
xor a12, a12, a13 # 2a6: d0cc30
xor a10, a10, a12 # 2a9: c0aa30
xor a4, a4, a10 # 2ac: a04430
extui a10, a6, 0, 8 # 2af: 60a074
addx4 a10, a10, a9 # 2b2: 90aaa0
l32i a10, a10, 0 # 2b5: a80a
l32i a3, a2, 12 # 2b7: 3832
src a10, a10, a10 # 2b9: a0aa81
xor a3, a3, a10 # 2bc: a03330
xor a3, a3, a5 # 2bf: 503330
j .Lbr001 # 2c2: 067bff
.Lbr002: l32i a11, sp, 0 /* [(local0)] */ # 2c5: b801
movi a15, 0xff000000 # 2c7: f150ff
l32i a13, a2, 0 # 2ca: d802
movi a0, 0x0000ff00 # 2cc: 0150ff
extui a5, a7, 16, 8 # 2cf: 705075
extui a10, a8, 24, 8 # 2d2: 80a875
extui a4, a6, 8, 8 # 2d5: 604874
extui a14, a3, 0, 8 # 2d8: 30e074
extui a12, a8, 0, 8 # 2db: 80c074
addx4 a12, a12, a9 # 2de: 90cca0
addx4 a14, a14, a9 # 2e1: 90eea0
addx4 a4, a4, a9 # 2e4: 9044a0
addx4 a10, a10, a9 # 2e7: 90aaa0
addx4 a5, a5, a9 # 2ea: 9055a0
l32i a5, a5, 0 # 2ed: 5805
l32i a10, a10, 0 # 2ef: a80a
l32i a4, a4, 0 # 2f1: 4804
l32i a14, a14, 0 # 2f3: e80e
and a4, a4, a0 # 2f5: 004410
extui a14, a14, 8, 8 # 2f8: e0e874
slli a10, a10, 8 # 2fb: 80aa11
xor a13, a13, a14 # 2fe: e0dd30
movi a14, 0x00ff0000 # 301: e140ff
and a10, a10, a15 # 304: f0aa10
and a5, a5, a14 # 307: e05510
xor a5, a5, a10 # 30a: a05530
xor a4, a4, a5 # 30d: 504430
xor a13, a13, a4 # 310: 40dd30
s8i a13, a11, 3 /* a13 -> [[(local0)]+0x3] */ # 313: d24b03
extui a5, a13, 24, 8 # 316: d05875
extui a4, a13, 16, 16 # 319: d040f5
s8i a4, a11, 1 /* a4 -> [[(local0)]+0x1] */ # 31c: 424b01
s8i a5, a11, 0 /* a5 -> [[(local0)]] */ # 31f: 524b00
extui a4, a7, 24, 8 # 322: 704875
extui a5, a7, 0, 8 # 325: 705074
addx4 a5, a5, a9 # 328: 9055a0
addx4 a4, a4, a9 # 32b: 9044a0
srli a13, a13, 8 # 32e: d0d841
s8i a13, a11, 2 /* a13 -> [[(local0)]+0x2] */ # 331: d24b02
l32i a10, a2, 4 # 334: a812
l32i a4, a4, 0 # 336: 4804
l32i a12, a12, 0 # 338: c80c
extui a13, a6, 16, 8 # 33a: 60d075
addx4 a13, a13, a9 # 33d: 90dda0
l32i a13, a13, 0 # 340: d80d
extui a12, a12, 8, 8 # 342: c0c874
slli a4, a4, 8 # 345: 804411
and a4, a4, a15 # 348: f04410
xor a10, a10, a12 # 34b: c0aa30
and a13, a13, a14 # 34e: e0dd10
extui a12, a3, 8, 8 # 351: 30c874
addx4 a12, a12, a9 # 354: 90cca0
l32i a12, a12, 0 # 357: c80c
xor a13, a13, a4 # 359: 40dd30
and a12, a12, a0 # 35c: 00cc10
xor a12, a12, a13 # 35f: d0cc30
xor a10, a10, a12 # 362: c0aa30
s8i a10, a11, 7 /* a10 -> [[(local0)]+0x7] */ # 365: a24b07
extui a13, a10, 24, 8 # 368: a0d875
extui a12, a10, 16, 16 # 36b: a0c0f5
s8i a12, a11, 5 /* a12 -> [[(local0)]+0x5] */ # 36e: c24b05
s8i a13, a11, 4 /* a13 -> [[(local0)]+0x4] */ # 371: d24b04
extui a12, a6, 24, 8 # 374: 60c875
extui a13, a8, 16, 8 # 377: 80d075
addx4 a13, a13, a9 # 37a: 90dda0
addx4 a12, a12, a9 # 37d: 90cca0
srli a10, a10, 8 # 380: a0a841
s8i a10, a11, 6 /* a10 -> [[(local0)]+0x6] */ # 383: a24b06
l32i a4, a2, 8 # 386: 4822
l32i a5, a5, 0 # 388: 5805
l32i a12, a12, 0 # 38a: c80c
extui a10, a3, 16, 8 # 38c: 30a075
addx4 a10, a10, a9 # 38f: 90aaa0
l32i a10, a10, 0 # 392: a80a
slli a12, a12, 8 # 394: 80cc11
extui a5, a5, 8, 8 # 397: 505874
xor a4, a4, a5 # 39a: 504430
and a12, a12, a15 # 39d: f0cc10
extui a5, a8, 8, 8 # 3a0: 805874
and a10, a10, a14 # 3a3: e0aa10
xor a10, a10, a12 # 3a6: c0aa30
addx4 a5, a5, a9 # 3a9: 9055a0
l32i a5, a5, 0 # 3ac: 5805
extui a12, a7, 8, 8 # 3ae: 70c874
addx4 a12, a12, a9 # 3b1: 90cca0
and a5, a5, a0 # 3b4: 005510
xor a5, a5, a10 # 3b7: a05530
xor a4, a4, a5 # 3ba: 504430
s8i a4, a11, 11 /* a4 -> [[(local0)]+0xb] */ # 3bd: 424b0b
extui a10, a4, 24, 8 # 3c0: 40a875
extui a5, a4, 16, 16 # 3c3: 4050f5
s8i a5, a11, 9 /* a5 -> [[(local0)]+0x9] */ # 3c6: 524b09
s8i a10, a11, 8 /* a10 -> [[(local0)]+0x8] */ # 3c9: a24b08
srli a4, a4, 8 # 3cc: 404841
s8i a4, a11, 10 /* a4 -> [[(local0)]+0xa] */ # 3cf: 424b0a
l32i a10, a2, 12 # 3d2: a832
l32i a13, a13, 0 # 3d4: d80d
l32i a12, a12, 0 # 3d6: c80c
and a13, a13, a14 # 3d8: e0dd10
and a12, a12, a0 # 3db: 00cc10
extui a14, a3, 24, 8 # 3de: 30e875
extui a0, a6, 0, 8 # 3e1: 600074
addx4 a0, a0, a9 # 3e4: 9000a0
addx4 a14, a14, a9 # 3e7: 90eea0
l32i a14, a14, 0 # 3ea: e80e
l32i a0, a0, 0 # 3ec: 0800
slli a14, a14, 8 # 3ee: 80ee11
extui a0, a0, 8, 8 # 3f1: 000874
xor a10, a10, a0 # 3f4: 00aa30
and a14, a14, a15 # 3f7: f0ee10
l32i a0, sp, 4 /* [(local1)] */ # 3fa: 0811
xor a13, a13, a14 # 3fc: e0dd30
l32i a15, sp, 20 /* [(local5)] */ # 3ff: f851
l32i a14, sp, 16 /* [(local4)] */ # 401: e841
xor a12, a12, a13 # 403: d0cc30
xor a10, a10, a12 # 406: c0aa30
s8i a10, a11, 15 /* a10 -> [[(local0)]+0xf] */ # 409: a24b0f
extui a13, a10, 24, 8 # 40c: a0d875
extui a12, a10, 16, 16 # 40f: a0c0f5
s8i a12, a11, 13 /* a12 -> [[(local0)]+0xd] */ # 412: c24b0d
s8i a13, a11, 12 /* a13 -> [[(local0)]+0xc] */ # 415: d24b0c
l32i a12, sp, 8 /* [(local2)] */ # 418: c821
l32i a13, sp, 12 /* [(local3)] */ # 41a: d831
srli a10, a10, 8 # 41c: a0a841
s8i a10, a11, 14 /* a10 -> [[(local0)]+0xe] */ # 41f: a24b0e
addi sp, sp, 32 /* (top of frame) */ # 422: 12c120
ret # 425: 0df0
.literal_position # 428: 00000000
# 42c: 00000000
# Function @ .irom0.text+0x430
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_aes_encrypt_init
.type sdk_aes_encrypt_init, @function
sdk_aes_encrypt_init:
addi sp, sp, -16 /* (local0) */ # 430: 12c1f0
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 433: 0921
s32i a2, sp, 4 /* arg0 -> [(local1)] */ # 435: 2911
bnei a3, 16, .Lbr003 # 437: 66b30c
movi a2, 176 /* 0x000000b0 */ # 43a: 22a0b0
call0 malloc # 43d: 01faffc0
# 441: 0000
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 443: 2901
bnez a2, .Lbr004 # 445: cc32
.Lbr003: movi a2, 0 /* 0x00000000 */ # 447: 0c02
j .Lbr005 # 449: 460200
.Lbr004: l32i a3, sp, 4 /* [(local1)] */ # 44c: 3811
call0 sdk_rijndaelKeySetupEnc # 44e: 01f7ffc0
# 452: 0000
l32i a2, sp, 0 /* [(local0)] */ # 454: 2801
.Lbr005: l32i a0, sp, 8 /* [(local2)] */ # 456: 0821
addi sp, sp, 16 /* (top of frame) */ # 458: 12c110
ret # 45b: 0df0
.balign 4
# Function @ .irom0.text+0x460
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_aes_encrypt
.type sdk_aes_encrypt, @function
sdk_aes_encrypt:
addi sp, sp, -16 /* (local0) */ # 460: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 463: 0901
call0 sdk_rijndaelEncrypt # 465: 050000
l32i a0, sp, 0 /* [(local0)] */ # 468: 0801
addi sp, sp, 16 /* (top of frame) */ # 46a: 12c110
ret # 46d: 0df0
.literal_position # 470: 00000000
# 474: 00000000
# Function @ .irom0.text+0x478
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_aes_encrypt_deinit
.type sdk_aes_encrypt_deinit, @function
sdk_aes_encrypt_deinit:
movi a3, 0 /* 0x00000000 */ # 478: 0c03
movi a4, 176 /* 0x000000b0 */ # 47a: 42a0b0
addi sp, sp, -16 /* (local0) */ # 47d: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 480: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 482: 0901
mov a12, a2 /* arg0 */ # 484: cd02
call0 memset # 486: 01faffc0
# 48a: 0000
mov a2, a12 /* arg0 */ # 48c: 2d0c
call0 free # 48e: 01f9ffc0
# 492: 0000
l32i a12, sp, 4 /* [(local1)] */ # 494: c811
l32i a0, sp, 0 /* [(local0)] */ # 496: 0801
addi sp, sp, 16 /* (top of frame) */ # 498: 12c110
ret # 49b: 0df0

View file

@ -0,0 +1,450 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 0000ff00
# 4: 00ff0000
# 8: 000000ff
# c: 00000000
# 10: 00000000
# Function @ .irom0.text+0x14
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_rijndaelKeySetupEnc
.type sdk_rijndaelKeySetupEnc, @function
sdk_rijndaelKeySetupEnc:
movi a8, 0x00ff0000 # 14: 81fbff
movi a7, 0x0000ff00 # 17: 71fbff
movi a6, 0xff000000 # 1a: 61fbff
addi sp, sp, -16 /* (local0) */ # 1d: 12c1f0
movi a11, sdk_Te0 # 20: b1fbff
l8ui a5, a3, 3 /* [arg1+0x3] */ # 23: 520303
l8ui a4, a3, 2 /* [arg1+0x2] */ # 26: 420302
l8ui a9, a3, 0 /* [arg1] */ # 29: 920300
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2c: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2e: 0901
l8ui a12, a3, 1 /* [arg1+0x1] */ # 30: c20301
movi a0, sdk_rcons # 33: 01f7ff
slli a9, a9, 24 # 36: 809901
slli a4, a4, 8 # 39: 804411
addi a10, a0, 10 /* .rodata+0xa */ # 3c: aba0
xor a5, a5, a4 # 3e: 405530
slli a12, a12, 16 # 41: 00cc11
xor a9, a9, a12 # 44: c09930
xor a5, a5, a9 # 47: 905530
s32i a5, a2, 0 /* a5 -> [arg0] */ # 4a: 5902
l8ui a9, a3, 7 /* [arg1+0x7] */ # 4c: 920307
l8ui a5, a3, 6 /* [arg1+0x6] */ # 4f: 520306
l8ui a4, a3, 5 /* [arg1+0x5] */ # 52: 420305
l8ui a12, a3, 4 /* [arg1+0x4] */ # 55: c20304
slli a4, a4, 16 # 58: 004411
slli a12, a12, 24 # 5b: 80cc01
slli a5, a5, 8 # 5e: 805511
xor a9, a9, a5 # 61: 509930
xor a12, a12, a4 # 64: 40cc30
xor a9, a9, a12 # 67: c09930
s32i a9, a2, 4 /* a9 -> [arg0+0x4] */ # 6a: 9912
l8ui a12, a3, 11 /* [arg1+0xb] */ # 6c: c2030b
l8ui a9, a3, 10 /* [arg1+0xa] */ # 6f: 92030a
l8ui a5, a3, 9 /* [arg1+0x9] */ # 72: 520309
l8ui a4, a3, 8 /* [arg1+0x8] */ # 75: 420308
slli a5, a5, 16 # 78: 005511
slli a4, a4, 24 # 7b: 804401
slli a9, a9, 8 # 7e: 809911
xor a12, a12, a9 # 81: 90cc30
xor a4, a4, a5 # 84: 504430
xor a12, a12, a4 # 87: 40cc30
s32i a12, a2, 8 /* a12 -> [arg0+0x8] */ # 8a: c922
l8ui a4, a3, 15 /* [arg1+0xf] */ # 8c: 42030f
l8ui a12, a3, 14 /* [arg1+0xe] */ # 8f: c2030e
l8ui a9, a3, 13 /* [arg1+0xd] */ # 92: 92030d
l8ui a5, a3, 12 /* [arg1+0xc] */ # 95: 52030c
slli a9, a9, 16 # 98: 009911
slli a5, a5, 24 # 9b: 805501
slli a12, a12, 8 # 9e: 80cc11
xor a4, a4, a12 # a1: c04430
xor a5, a5, a9 # a4: 905530
xor a4, a4, a5 # a7: 504430
s32i a4, a2, 12 /* a4 -> [arg0+0xc] */ # aa: 4932
.Lbr001: l32i a4, a2, 12 # ac: 4832
l8ui a9, a0, 0 # ae: 920000
addi a0, a0, 1 # b1: 1b00
slli a9, a9, 24 # b3: 809901
extui a3, a4, 0, 8 # b6: 403074
extui a12, a4, 24, 8 # b9: 40c875
extui a5, a4, 16, 8 # bc: 405075
addx4 a5, a5, a11 # bf: b055a0
addx4 a12, a12, a11 # c2: b0cca0
addx4 a3, a3, a11 # c5: b033a0
l32i a3, a3, 0 # c8: 3803
l32i a12, a12, 0 # ca: c80c
l32i a5, a5, 0 # cc: 5805
extui a12, a12, 8, 8 # ce: c0c874
slli a5, a5, 8 # d1: 805511
xor a9, a9, a12 # d4: c09930
extui a12, a4, 8, 8 # d7: 40c874
addx4 a12, a12, a11 # da: b0cca0
l32i a12, a12, 0 # dd: c80c
and a3, a3, a7 # df: 703310
and a12, a12, a8 # e2: 80cc10
xor a3, a3, a12 # e5: c03330
l32i a12, a2, 0 # e8: c802
and a5, a5, a6 # ea: 605510
xor a12, a12, a5 # ed: 50cc30
xor a12, a12, a3 # f0: 30cc30
l32i a5, a2, 4 # f3: 5812
l32i a3, a2, 8 # f5: 3822
xor a9, a9, a12 # f7: c09930
s32i a9, a2, 16 # fa: 9942
xor a5, a5, a9 # fc: 905530
xor a3, a3, a5 # ff: 503330
s32i a5, a2, 20 # 102: 5952
s32i a3, a2, 24 # 104: 3962
xor a3, a3, a4 # 106: 403330
s32i a3, a2, 28 # 109: 3972
addi a2, a2, 16 # 10b: 22c210
bne a0, a10, .Lbr001 # 10e: a7909a
l32i a12, sp, 4 /* [(local1)] */ # 111: c811
l32i a0, sp, 0 /* [(local0)] */ # 113: 0801
addi sp, sp, 16 /* (top of frame) */ # 115: 12c110
ret # 118: 0df0
.section .rodata, "a", @progbits
.global sdk_rcons
.type sdk_rcons, @object
sdk_rcons: .byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
.byte 0x1b, 0x36
.section .irom.text, "ax", @progbits
.global sdk_Te0
.type sdk_Te0, @object
sdk_Te0: .byte 0xa5, 0x63, 0x63, 0xc6, 0x84, 0x7c, 0x7c, 0xf8
.byte 0x99, 0x77, 0x77, 0xee, 0x8d, 0x7b, 0x7b, 0xf6
.byte 0x0d, 0xf2, 0xf2, 0xff, 0xbd, 0x6b, 0x6b, 0xd6
.byte 0xb1, 0x6f, 0x6f, 0xde, 0x54, 0xc5, 0xc5, 0x91
.byte 0x50, 0x30, 0x30, 0x60, 0x03, 0x01, 0x01, 0x02
.byte 0xa9, 0x67, 0x67, 0xce, 0x7d, 0x2b, 0x2b, 0x56
.byte 0x19, 0xfe, 0xfe, 0xe7, 0x62, 0xd7, 0xd7, 0xb5
.byte 0xe6, 0xab, 0xab, 0x4d, 0x9a, 0x76, 0x76, 0xec
.byte 0x45, 0xca, 0xca, 0x8f, 0x9d, 0x82, 0x82, 0x1f
.byte 0x40, 0xc9, 0xc9, 0x89, 0x87, 0x7d, 0x7d, 0xfa
.byte 0x15, 0xfa, 0xfa, 0xef, 0xeb, 0x59, 0x59, 0xb2
.byte 0xc9, 0x47, 0x47, 0x8e, 0x0b, 0xf0, 0xf0, 0xfb
.byte 0xec, 0xad, 0xad, 0x41, 0x67, 0xd4, 0xd4, 0xb3
.byte 0xfd, 0xa2, 0xa2, 0x5f, 0xea, 0xaf, 0xaf, 0x45
.byte 0xbf, 0x9c, 0x9c, 0x23, 0xf7, 0xa4, 0xa4, 0x53
.byte 0x96, 0x72, 0x72, 0xe4, 0x5b, 0xc0, 0xc0, 0x9b
.byte 0xc2, 0xb7, 0xb7, 0x75, 0x1c, 0xfd, 0xfd, 0xe1
.byte 0xae, 0x93, 0x93, 0x3d, 0x6a, 0x26, 0x26, 0x4c
.byte 0x5a, 0x36, 0x36, 0x6c, 0x41, 0x3f, 0x3f, 0x7e
.byte 0x02, 0xf7, 0xf7, 0xf5, 0x4f, 0xcc, 0xcc, 0x83
.byte 0x5c, 0x34, 0x34, 0x68, 0xf4, 0xa5, 0xa5, 0x51
.byte 0x34, 0xe5, 0xe5, 0xd1, 0x08, 0xf1, 0xf1, 0xf9
.byte 0x93, 0x71, 0x71, 0xe2, 0x73, 0xd8, 0xd8, 0xab
.byte 0x53, 0x31, 0x31, 0x62, 0x3f, 0x15, 0x15, 0x2a
.byte 0x0c, 0x04, 0x04, 0x08, 0x52, 0xc7, 0xc7, 0x95
.byte 0x65, 0x23, 0x23, 0x46, 0x5e, 0xc3, 0xc3, 0x9d
.byte 0x28, 0x18, 0x18, 0x30, 0xa1, 0x96, 0x96, 0x37
.byte 0x0f, 0x05, 0x05, 0x0a, 0xb5, 0x9a, 0x9a, 0x2f
.byte 0x09, 0x07, 0x07, 0x0e, 0x36, 0x12, 0x12, 0x24
.byte 0x9b, 0x80, 0x80, 0x1b, 0x3d, 0xe2, 0xe2, 0xdf
.byte 0x26, 0xeb, 0xeb, 0xcd, 0x69, 0x27, 0x27, 0x4e
.byte 0xcd, 0xb2, 0xb2, 0x7f, 0x9f, 0x75, 0x75, 0xea
.byte 0x1b, 0x09, 0x09, 0x12, 0x9e, 0x83, 0x83, 0x1d
.byte 0x74, 0x2c, 0x2c, 0x58, 0x2e, 0x1a, 0x1a, 0x34
.byte 0x2d, 0x1b, 0x1b, 0x36, 0xb2, 0x6e, 0x6e, 0xdc
.byte 0xee, 0x5a, 0x5a, 0xb4, 0xfb, 0xa0, 0xa0, 0x5b
.byte 0xf6, 0x52, 0x52, 0xa4, 0x4d, 0x3b, 0x3b, 0x76
.byte 0x61, 0xd6, 0xd6, 0xb7, 0xce, 0xb3, 0xb3, 0x7d
.byte 0x7b, 0x29, 0x29, 0x52, 0x3e, 0xe3, 0xe3, 0xdd
.byte 0x71, 0x2f, 0x2f, 0x5e, 0x97, 0x84, 0x84, 0x13
.byte 0xf5, 0x53, 0x53, 0xa6, 0x68, 0xd1, 0xd1, 0xb9
.byte 0x00, 0x00, 0x00, 0x00, 0x2c, 0xed, 0xed, 0xc1
.byte 0x60, 0x20, 0x20, 0x40, 0x1f, 0xfc, 0xfc, 0xe3
.byte 0xc8, 0xb1, 0xb1, 0x79, 0xed, 0x5b, 0x5b, 0xb6
.byte 0xbe, 0x6a, 0x6a, 0xd4, 0x46, 0xcb, 0xcb, 0x8d
.byte 0xd9, 0xbe, 0xbe, 0x67, 0x4b, 0x39, 0x39, 0x72
.byte 0xde, 0x4a, 0x4a, 0x94, 0xd4, 0x4c, 0x4c, 0x98
.byte 0xe8, 0x58, 0x58, 0xb0, 0x4a, 0xcf, 0xcf, 0x85
.byte 0x6b, 0xd0, 0xd0, 0xbb, 0x2a, 0xef, 0xef, 0xc5
.byte 0xe5, 0xaa, 0xaa, 0x4f, 0x16, 0xfb, 0xfb, 0xed
.byte 0xc5, 0x43, 0x43, 0x86, 0xd7, 0x4d, 0x4d, 0x9a
.byte 0x55, 0x33, 0x33, 0x66, 0x94, 0x85, 0x85, 0x11
.byte 0xcf, 0x45, 0x45, 0x8a, 0x10, 0xf9, 0xf9, 0xe9
.byte 0x06, 0x02, 0x02, 0x04, 0x81, 0x7f, 0x7f, 0xfe
.byte 0xf0, 0x50, 0x50, 0xa0, 0x44, 0x3c, 0x3c, 0x78
.byte 0xba, 0x9f, 0x9f, 0x25, 0xe3, 0xa8, 0xa8, 0x4b
.byte 0xf3, 0x51, 0x51, 0xa2, 0xfe, 0xa3, 0xa3, 0x5d
.byte 0xc0, 0x40, 0x40, 0x80, 0x8a, 0x8f, 0x8f, 0x05
.byte 0xad, 0x92, 0x92, 0x3f, 0xbc, 0x9d, 0x9d, 0x21
.byte 0x48, 0x38, 0x38, 0x70, 0x04, 0xf5, 0xf5, 0xf1
.byte 0xdf, 0xbc, 0xbc, 0x63, 0xc1, 0xb6, 0xb6, 0x77
.byte 0x75, 0xda, 0xda, 0xaf, 0x63, 0x21, 0x21, 0x42
.byte 0x30, 0x10, 0x10, 0x20, 0x1a, 0xff, 0xff, 0xe5
.byte 0x0e, 0xf3, 0xf3, 0xfd, 0x6d, 0xd2, 0xd2, 0xbf
.byte 0x4c, 0xcd, 0xcd, 0x81, 0x14, 0x0c, 0x0c, 0x18
.byte 0x35, 0x13, 0x13, 0x26, 0x2f, 0xec, 0xec, 0xc3
.byte 0xe1, 0x5f, 0x5f, 0xbe, 0xa2, 0x97, 0x97, 0x35
.byte 0xcc, 0x44, 0x44, 0x88, 0x39, 0x17, 0x17, 0x2e
.byte 0x57, 0xc4, 0xc4, 0x93, 0xf2, 0xa7, 0xa7, 0x55
.byte 0x82, 0x7e, 0x7e, 0xfc, 0x47, 0x3d, 0x3d, 0x7a
.byte 0xac, 0x64, 0x64, 0xc8, 0xe7, 0x5d, 0x5d, 0xba
.byte 0x2b, 0x19, 0x19, 0x32, 0x95, 0x73, 0x73, 0xe6
.byte 0xa0, 0x60, 0x60, 0xc0, 0x98, 0x81, 0x81, 0x19
.byte 0xd1, 0x4f, 0x4f, 0x9e, 0x7f, 0xdc, 0xdc, 0xa3
.byte 0x66, 0x22, 0x22, 0x44, 0x7e, 0x2a, 0x2a, 0x54
.byte 0xab, 0x90, 0x90, 0x3b, 0x83, 0x88, 0x88, 0x0b
.byte 0xca, 0x46, 0x46, 0x8c, 0x29, 0xee, 0xee, 0xc7
.byte 0xd3, 0xb8, 0xb8, 0x6b, 0x3c, 0x14, 0x14, 0x28
.byte 0x79, 0xde, 0xde, 0xa7, 0xe2, 0x5e, 0x5e, 0xbc
.byte 0x1d, 0x0b, 0x0b, 0x16, 0x76, 0xdb, 0xdb, 0xad
.byte 0x3b, 0xe0, 0xe0, 0xdb, 0x56, 0x32, 0x32, 0x64
.byte 0x4e, 0x3a, 0x3a, 0x74, 0x1e, 0x0a, 0x0a, 0x14
.byte 0xdb, 0x49, 0x49, 0x92, 0x0a, 0x06, 0x06, 0x0c
.byte 0x6c, 0x24, 0x24, 0x48, 0xe4, 0x5c, 0x5c, 0xb8
.byte 0x5d, 0xc2, 0xc2, 0x9f, 0x6e, 0xd3, 0xd3, 0xbd
.byte 0xef, 0xac, 0xac, 0x43, 0xa6, 0x62, 0x62, 0xc4
.byte 0xa8, 0x91, 0x91, 0x39, 0xa4, 0x95, 0x95, 0x31
.byte 0x37, 0xe4, 0xe4, 0xd3, 0x8b, 0x79, 0x79, 0xf2
.byte 0x32, 0xe7, 0xe7, 0xd5, 0x43, 0xc8, 0xc8, 0x8b
.byte 0x59, 0x37, 0x37, 0x6e, 0xb7, 0x6d, 0x6d, 0xda
.byte 0x8c, 0x8d, 0x8d, 0x01, 0x64, 0xd5, 0xd5, 0xb1
.byte 0xd2, 0x4e, 0x4e, 0x9c, 0xe0, 0xa9, 0xa9, 0x49
.byte 0xb4, 0x6c, 0x6c, 0xd8, 0xfa, 0x56, 0x56, 0xac
.byte 0x07, 0xf4, 0xf4, 0xf3, 0x25, 0xea, 0xea, 0xcf
.byte 0xaf, 0x65, 0x65, 0xca, 0x8e, 0x7a, 0x7a, 0xf4
.byte 0xe9, 0xae, 0xae, 0x47, 0x18, 0x08, 0x08, 0x10
.byte 0xd5, 0xba, 0xba, 0x6f, 0x88, 0x78, 0x78, 0xf0
.byte 0x6f, 0x25, 0x25, 0x4a, 0x72, 0x2e, 0x2e, 0x5c
.byte 0x24, 0x1c, 0x1c, 0x38, 0xf1, 0xa6, 0xa6, 0x57
.byte 0xc7, 0xb4, 0xb4, 0x73, 0x51, 0xc6, 0xc6, 0x97
.byte 0x23, 0xe8, 0xe8, 0xcb, 0x7c, 0xdd, 0xdd, 0xa1
.byte 0x9c, 0x74, 0x74, 0xe8, 0x21, 0x1f, 0x1f, 0x3e
.byte 0xdd, 0x4b, 0x4b, 0x96, 0xdc, 0xbd, 0xbd, 0x61
.byte 0x86, 0x8b, 0x8b, 0x0d, 0x85, 0x8a, 0x8a, 0x0f
.byte 0x90, 0x70, 0x70, 0xe0, 0x42, 0x3e, 0x3e, 0x7c
.byte 0xc4, 0xb5, 0xb5, 0x71, 0xaa, 0x66, 0x66, 0xcc
.byte 0xd8, 0x48, 0x48, 0x90, 0x05, 0x03, 0x03, 0x06
.byte 0x01, 0xf6, 0xf6, 0xf7, 0x12, 0x0e, 0x0e, 0x1c
.byte 0xa3, 0x61, 0x61, 0xc2, 0x5f, 0x35, 0x35, 0x6a
.byte 0xf9, 0x57, 0x57, 0xae, 0xd0, 0xb9, 0xb9, 0x69
.byte 0x91, 0x86, 0x86, 0x17, 0x58, 0xc1, 0xc1, 0x99
.byte 0x27, 0x1d, 0x1d, 0x3a, 0xb9, 0x9e, 0x9e, 0x27
.byte 0x38, 0xe1, 0xe1, 0xd9, 0x13, 0xf8, 0xf8, 0xeb
.byte 0xb3, 0x98, 0x98, 0x2b, 0x33, 0x11, 0x11, 0x22
.byte 0xbb, 0x69, 0x69, 0xd2, 0x70, 0xd9, 0xd9, 0xa9
.byte 0x89, 0x8e, 0x8e, 0x07, 0xa7, 0x94, 0x94, 0x33
.byte 0xb6, 0x9b, 0x9b, 0x2d, 0x22, 0x1e, 0x1e, 0x3c
.byte 0x92, 0x87, 0x87, 0x15, 0x20, 0xe9, 0xe9, 0xc9
.byte 0x49, 0xce, 0xce, 0x87, 0xff, 0x55, 0x55, 0xaa
.byte 0x78, 0x28, 0x28, 0x50, 0x7a, 0xdf, 0xdf, 0xa5
.byte 0x8f, 0x8c, 0x8c, 0x03, 0xf8, 0xa1, 0xa1, 0x59
.byte 0x80, 0x89, 0x89, 0x09, 0x17, 0x0d, 0x0d, 0x1a
.byte 0xda, 0xbf, 0xbf, 0x65, 0x31, 0xe6, 0xe6, 0xd7
.byte 0xc6, 0x42, 0x42, 0x84, 0xb8, 0x68, 0x68, 0xd0
.byte 0xc3, 0x41, 0x41, 0x82, 0xb0, 0x99, 0x99, 0x29
.byte 0x77, 0x2d, 0x2d, 0x5a, 0x11, 0x0f, 0x0f, 0x1e
.byte 0xcb, 0xb0, 0xb0, 0x7b, 0xfc, 0x54, 0x54, 0xa8
.byte 0xd6, 0xbb, 0xbb, 0x6d, 0x3a, 0x16, 0x16, 0x2c
.global sdk_Td0
.type sdk_Td0, @object
sdk_Td0: .byte 0x50, 0xa7, 0xf4, 0x51, 0x53, 0x65, 0x41, 0x7e
.byte 0xc3, 0xa4, 0x17, 0x1a, 0x96, 0x5e, 0x27, 0x3a
.byte 0xcb, 0x6b, 0xab, 0x3b, 0xf1, 0x45, 0x9d, 0x1f
.byte 0xab, 0x58, 0xfa, 0xac, 0x93, 0x03, 0xe3, 0x4b
.byte 0x55, 0xfa, 0x30, 0x20, 0xf6, 0x6d, 0x76, 0xad
.byte 0x91, 0x76, 0xcc, 0x88, 0x25, 0x4c, 0x02, 0xf5
.byte 0xfc, 0xd7, 0xe5, 0x4f, 0xd7, 0xcb, 0x2a, 0xc5
.byte 0x80, 0x44, 0x35, 0x26, 0x8f, 0xa3, 0x62, 0xb5
.byte 0x49, 0x5a, 0xb1, 0xde, 0x67, 0x1b, 0xba, 0x25
.byte 0x98, 0x0e, 0xea, 0x45, 0xe1, 0xc0, 0xfe, 0x5d
.byte 0x02, 0x75, 0x2f, 0xc3, 0x12, 0xf0, 0x4c, 0x81
.byte 0xa3, 0x97, 0x46, 0x8d, 0xc6, 0xf9, 0xd3, 0x6b
.byte 0xe7, 0x5f, 0x8f, 0x03, 0x95, 0x9c, 0x92, 0x15
.byte 0xeb, 0x7a, 0x6d, 0xbf, 0xda, 0x59, 0x52, 0x95
.byte 0x2d, 0x83, 0xbe, 0xd4, 0xd3, 0x21, 0x74, 0x58
.byte 0x29, 0x69, 0xe0, 0x49, 0x44, 0xc8, 0xc9, 0x8e
.byte 0x6a, 0x89, 0xc2, 0x75, 0x78, 0x79, 0x8e, 0xf4
.byte 0x6b, 0x3e, 0x58, 0x99, 0xdd, 0x71, 0xb9, 0x27
.byte 0xb6, 0x4f, 0xe1, 0xbe, 0x17, 0xad, 0x88, 0xf0
.byte 0x66, 0xac, 0x20, 0xc9, 0xb4, 0x3a, 0xce, 0x7d
.byte 0x18, 0x4a, 0xdf, 0x63, 0x82, 0x31, 0x1a, 0xe5
.byte 0x60, 0x33, 0x51, 0x97, 0x45, 0x7f, 0x53, 0x62
.byte 0xe0, 0x77, 0x64, 0xb1, 0x84, 0xae, 0x6b, 0xbb
.byte 0x1c, 0xa0, 0x81, 0xfe, 0x94, 0x2b, 0x08, 0xf9
.byte 0x58, 0x68, 0x48, 0x70, 0x19, 0xfd, 0x45, 0x8f
.byte 0x87, 0x6c, 0xde, 0x94, 0xb7, 0xf8, 0x7b, 0x52
.byte 0x23, 0xd3, 0x73, 0xab, 0xe2, 0x02, 0x4b, 0x72
.byte 0x57, 0x8f, 0x1f, 0xe3, 0x2a, 0xab, 0x55, 0x66
.byte 0x07, 0x28, 0xeb, 0xb2, 0x03, 0xc2, 0xb5, 0x2f
.byte 0x9a, 0x7b, 0xc5, 0x86, 0xa5, 0x08, 0x37, 0xd3
.byte 0xf2, 0x87, 0x28, 0x30, 0xb2, 0xa5, 0xbf, 0x23
.byte 0xba, 0x6a, 0x03, 0x02, 0x5c, 0x82, 0x16, 0xed
.byte 0x2b, 0x1c, 0xcf, 0x8a, 0x92, 0xb4, 0x79, 0xa7
.byte 0xf0, 0xf2, 0x07, 0xf3, 0xa1, 0xe2, 0x69, 0x4e
.byte 0xcd, 0xf4, 0xda, 0x65, 0xd5, 0xbe, 0x05, 0x06
.byte 0x1f, 0x62, 0x34, 0xd1, 0x8a, 0xfe, 0xa6, 0xc4
.byte 0x9d, 0x53, 0x2e, 0x34, 0xa0, 0x55, 0xf3, 0xa2
.byte 0x32, 0xe1, 0x8a, 0x05, 0x75, 0xeb, 0xf6, 0xa4
.byte 0x39, 0xec, 0x83, 0x0b, 0xaa, 0xef, 0x60, 0x40
.byte 0x06, 0x9f, 0x71, 0x5e, 0x51, 0x10, 0x6e, 0xbd
.byte 0xf9, 0x8a, 0x21, 0x3e, 0x3d, 0x06, 0xdd, 0x96
.byte 0xae, 0x05, 0x3e, 0xdd, 0x46, 0xbd, 0xe6, 0x4d
.byte 0xb5, 0x8d, 0x54, 0x91, 0x05, 0x5d, 0xc4, 0x71
.byte 0x6f, 0xd4, 0x06, 0x04, 0xff, 0x15, 0x50, 0x60
.byte 0x24, 0xfb, 0x98, 0x19, 0x97, 0xe9, 0xbd, 0xd6
.byte 0xcc, 0x43, 0x40, 0x89, 0x77, 0x9e, 0xd9, 0x67
.byte 0xbd, 0x42, 0xe8, 0xb0, 0x88, 0x8b, 0x89, 0x07
.byte 0x38, 0x5b, 0x19, 0xe7, 0xdb, 0xee, 0xc8, 0x79
.byte 0x47, 0x0a, 0x7c, 0xa1, 0xe9, 0x0f, 0x42, 0x7c
.byte 0xc9, 0x1e, 0x84, 0xf8, 0x00, 0x00, 0x00, 0x00
.byte 0x83, 0x86, 0x80, 0x09, 0x48, 0xed, 0x2b, 0x32
.byte 0xac, 0x70, 0x11, 0x1e, 0x4e, 0x72, 0x5a, 0x6c
.byte 0xfb, 0xff, 0x0e, 0xfd, 0x56, 0x38, 0x85, 0x0f
.byte 0x1e, 0xd5, 0xae, 0x3d, 0x27, 0x39, 0x2d, 0x36
.byte 0x64, 0xd9, 0x0f, 0x0a, 0x21, 0xa6, 0x5c, 0x68
.byte 0xd1, 0x54, 0x5b, 0x9b, 0x3a, 0x2e, 0x36, 0x24
.byte 0xb1, 0x67, 0x0a, 0x0c, 0x0f, 0xe7, 0x57, 0x93
.byte 0xd2, 0x96, 0xee, 0xb4, 0x9e, 0x91, 0x9b, 0x1b
.byte 0x4f, 0xc5, 0xc0, 0x80, 0xa2, 0x20, 0xdc, 0x61
.byte 0x69, 0x4b, 0x77, 0x5a, 0x16, 0x1a, 0x12, 0x1c
.byte 0x0a, 0xba, 0x93, 0xe2, 0xe5, 0x2a, 0xa0, 0xc0
.byte 0x43, 0xe0, 0x22, 0x3c, 0x1d, 0x17, 0x1b, 0x12
.byte 0x0b, 0x0d, 0x09, 0x0e, 0xad, 0xc7, 0x8b, 0xf2
.byte 0xb9, 0xa8, 0xb6, 0x2d, 0xc8, 0xa9, 0x1e, 0x14
.byte 0x85, 0x19, 0xf1, 0x57, 0x4c, 0x07, 0x75, 0xaf
.byte 0xbb, 0xdd, 0x99, 0xee, 0xfd, 0x60, 0x7f, 0xa3
.byte 0x9f, 0x26, 0x01, 0xf7, 0xbc, 0xf5, 0x72, 0x5c
.byte 0xc5, 0x3b, 0x66, 0x44, 0x34, 0x7e, 0xfb, 0x5b
.byte 0x76, 0x29, 0x43, 0x8b, 0xdc, 0xc6, 0x23, 0xcb
.byte 0x68, 0xfc, 0xed, 0xb6, 0x63, 0xf1, 0xe4, 0xb8
.byte 0xca, 0xdc, 0x31, 0xd7, 0x10, 0x85, 0x63, 0x42
.byte 0x40, 0x22, 0x97, 0x13, 0x20, 0x11, 0xc6, 0x84
.byte 0x7d, 0x24, 0x4a, 0x85, 0xf8, 0x3d, 0xbb, 0xd2
.byte 0x11, 0x32, 0xf9, 0xae, 0x6d, 0xa1, 0x29, 0xc7
.byte 0x4b, 0x2f, 0x9e, 0x1d, 0xf3, 0x30, 0xb2, 0xdc
.byte 0xec, 0x52, 0x86, 0x0d, 0xd0, 0xe3, 0xc1, 0x77
.byte 0x6c, 0x16, 0xb3, 0x2b, 0x99, 0xb9, 0x70, 0xa9
.byte 0xfa, 0x48, 0x94, 0x11, 0x22, 0x64, 0xe9, 0x47
.byte 0xc4, 0x8c, 0xfc, 0xa8, 0x1a, 0x3f, 0xf0, 0xa0
.byte 0xd8, 0x2c, 0x7d, 0x56, 0xef, 0x90, 0x33, 0x22
.byte 0xc7, 0x4e, 0x49, 0x87, 0xc1, 0xd1, 0x38, 0xd9
.byte 0xfe, 0xa2, 0xca, 0x8c, 0x36, 0x0b, 0xd4, 0x98
.byte 0xcf, 0x81, 0xf5, 0xa6, 0x28, 0xde, 0x7a, 0xa5
.byte 0x26, 0x8e, 0xb7, 0xda, 0xa4, 0xbf, 0xad, 0x3f
.byte 0xe4, 0x9d, 0x3a, 0x2c, 0x0d, 0x92, 0x78, 0x50
.byte 0x9b, 0xcc, 0x5f, 0x6a, 0x62, 0x46, 0x7e, 0x54
.byte 0xc2, 0x13, 0x8d, 0xf6, 0xe8, 0xb8, 0xd8, 0x90
.byte 0x5e, 0xf7, 0x39, 0x2e, 0xf5, 0xaf, 0xc3, 0x82
.byte 0xbe, 0x80, 0x5d, 0x9f, 0x7c, 0x93, 0xd0, 0x69
.byte 0xa9, 0x2d, 0xd5, 0x6f, 0xb3, 0x12, 0x25, 0xcf
.byte 0x3b, 0x99, 0xac, 0xc8, 0xa7, 0x7d, 0x18, 0x10
.byte 0x6e, 0x63, 0x9c, 0xe8, 0x7b, 0xbb, 0x3b, 0xdb
.byte 0x09, 0x78, 0x26, 0xcd, 0xf4, 0x18, 0x59, 0x6e
.byte 0x01, 0xb7, 0x9a, 0xec, 0xa8, 0x9a, 0x4f, 0x83
.byte 0x65, 0x6e, 0x95, 0xe6, 0x7e, 0xe6, 0xff, 0xaa
.byte 0x08, 0xcf, 0xbc, 0x21, 0xe6, 0xe8, 0x15, 0xef
.byte 0xd9, 0x9b, 0xe7, 0xba, 0xce, 0x36, 0x6f, 0x4a
.byte 0xd4, 0x09, 0x9f, 0xea, 0xd6, 0x7c, 0xb0, 0x29
.byte 0xaf, 0xb2, 0xa4, 0x31, 0x31, 0x23, 0x3f, 0x2a
.byte 0x30, 0x94, 0xa5, 0xc6, 0xc0, 0x66, 0xa2, 0x35
.byte 0x37, 0xbc, 0x4e, 0x74, 0xa6, 0xca, 0x82, 0xfc
.byte 0xb0, 0xd0, 0x90, 0xe0, 0x15, 0xd8, 0xa7, 0x33
.byte 0x4a, 0x98, 0x04, 0xf1, 0xf7, 0xda, 0xec, 0x41
.byte 0x0e, 0x50, 0xcd, 0x7f, 0x2f, 0xf6, 0x91, 0x17
.byte 0x8d, 0xd6, 0x4d, 0x76, 0x4d, 0xb0, 0xef, 0x43
.byte 0x54, 0x4d, 0xaa, 0xcc, 0xdf, 0x04, 0x96, 0xe4
.byte 0xe3, 0xb5, 0xd1, 0x9e, 0x1b, 0x88, 0x6a, 0x4c
.byte 0xb8, 0x1f, 0x2c, 0xc1, 0x7f, 0x51, 0x65, 0x46
.byte 0x04, 0xea, 0x5e, 0x9d, 0x5d, 0x35, 0x8c, 0x01
.byte 0x73, 0x74, 0x87, 0xfa, 0x2e, 0x41, 0x0b, 0xfb
.byte 0x5a, 0x1d, 0x67, 0xb3, 0x52, 0xd2, 0xdb, 0x92
.byte 0x33, 0x56, 0x10, 0xe9, 0x13, 0x47, 0xd6, 0x6d
.byte 0x8c, 0x61, 0xd7, 0x9a, 0x7a, 0x0c, 0xa1, 0x37
.byte 0x8e, 0x14, 0xf8, 0x59, 0x89, 0x3c, 0x13, 0xeb
.byte 0xee, 0x27, 0xa9, 0xce, 0x35, 0xc9, 0x61, 0xb7
.byte 0xed, 0xe5, 0x1c, 0xe1, 0x3c, 0xb1, 0x47, 0x7a
.byte 0x59, 0xdf, 0xd2, 0x9c, 0x3f, 0x73, 0xf2, 0x55
.byte 0x79, 0xce, 0x14, 0x18, 0xbf, 0x37, 0xc7, 0x73
.byte 0xea, 0xcd, 0xf7, 0x53, 0x5b, 0xaa, 0xfd, 0x5f
.byte 0x14, 0x6f, 0x3d, 0xdf, 0x86, 0xdb, 0x44, 0x78
.byte 0x81, 0xf3, 0xaf, 0xca, 0x3e, 0xc4, 0x68, 0xb9
.byte 0x2c, 0x34, 0x24, 0x38, 0x5f, 0x40, 0xa3, 0xc2
.byte 0x72, 0xc3, 0x1d, 0x16, 0x0c, 0x25, 0xe2, 0xbc
.byte 0x8b, 0x49, 0x3c, 0x28, 0x41, 0x95, 0x0d, 0xff
.byte 0x71, 0x01, 0xa8, 0x39, 0xde, 0xb3, 0x0c, 0x08
.byte 0x9c, 0xe4, 0xb4, 0xd8, 0x90, 0xc1, 0x56, 0x64
.byte 0x61, 0x84, 0xcb, 0x7b, 0x70, 0xb6, 0x32, 0xd5
.byte 0x74, 0x5c, 0x6c, 0x48, 0x42, 0x57, 0xb8, 0xd0
# NOTE: The following is apparently unreferenced code/data
.global sdk_Td4s_rom
.type sdk_Td4s_rom, @object
sdk_Td4s_rom:
.word 0xd56a0952 # 800: 52096ad5
.word 0x38a53630 # 804: 3036a538
.word 0x9ea340bf # 808: bf40a39e
.word 0xfbd7f381 # 80c: 81f3d7fb
.word 0x8239e37c # 810: 7ce33982
.word 0x87ff2f9b # 814: 9b2fff87
.word 0x44438e34 # 818: 348e4344
.word 0xcbe9dec4 # 81c: c4dee9cb
.word 0x32947b54 # 820: 547b9432
.word 0x3d23c2a6 # 824: a6c2233d
.word 0x0b954cee # 828: ee4c950b
.word 0x4ec3fa42 # 82c: 42fac34e
.word 0x66a12e08 # 830: 082ea166
.word 0xb224d928 # 834: 28d924b2
.word 0x49a25b76 # 838: 765ba249
.word 0x25d18b6d # 83c: 6d8bd125
.word 0x64f6f872 # 840: 72f8f664
.word 0x16986886 # 844: 86689816
.word 0xcc5ca4d4 # 848: d4a45ccc
.word 0x92b6655d # 84c: 5d65b692
.word 0x5048706c # 850: 6c704850
.word 0xdab9edfd # 854: fdedb9da
.word 0x5746155e # 858: 5e154657
.word 0x849d8da7 # 85c: a78d9d84
.word 0x00abd890 # 860: 90d8ab00
.word 0x0ad3bc8c # 864: 8cbcd30a
.word 0x0558e4f7 # 868: f7e45805
.word 0x0645b3b8 # 86c: b8b34506
.word 0x8f1e2cd0 # 870: d02c1e8f
.word 0x020f3fca # 874: ca3f0f02
.word 0x03bdafc1 # 878: c1afbd03
.word 0x6b8a1301 # 87c: 01138a6b
.word 0x4111913a # 880: 3a911141
.word 0xeadc674f # 884: 4f67dcea
.word 0xcecff297 # 888: 97f2cfce
.word 0x73e6b4f0 # 88c: f0b4e673
.word 0x2274ac96 # 890: 96ac7422
.word 0x8535ade7 # 894: e7ad3585
.word 0xe837f9e2 # 898: e2f937e8
.word 0x6edf751c # 89c: 1c75df6e
.word 0x711af147 # 8a0: 47f11a71
.word 0x89c5291d # 8a4: 1d29c589
.word 0x0e62b76f # 8a8: 6fb7620e
.word 0x1bbe18aa # 8ac: aa18be1b
.word 0x4b3e56fc # 8b0: fc563e4b
.word 0x2079d2c6 # 8b4: c6d27920
.word 0xfec0db9a # 8b8: 9adbc0fe
.word 0xf45acd78 # 8bc: 78cd5af4
.word 0x33a8dd1f # 8c0: 1fdda833
.word 0x31c70788 # 8c4: 8807c731
.word 0x591012b1 # 8c8: b1121059
.word 0x5fec8027 # 8cc: 2780ec5f
.word 0xa97f5160 # 8d0: 60517fa9
.word 0x0d4ab519 # 8d4: 19b54a0d
.word 0x9f7ae52d # 8d8: 2de57a9f
.word 0xef9cc993 # 8dc: 93c99cef
.word 0x4d3be0a0 # 8e0: a0e03b4d
.word 0xb0f52aae # 8e4: ae2af5b0
.word 0x3cbbebc8 # 8e8: c8ebbb3c
.word 0x61995383 # 8ec: 83539961
.word 0x7e042b17 # 8f0: 172b047e
.word 0x26d677ba # 8f4: ba77d626
.word 0x631469e1 # 8f8: e1691463
.word 0x7d0c2155 # 8fc: 55210c7d

View file

@ -0,0 +1,126 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 00000000
# 18: 00000000
# 1c: 00000000
# 20: 00000000
# Function @ .irom0.text+0x24
# Local variables/stack:
# (local0): byte[9] @ -0x39
# (local1): word @ -0x30
# (local2): word @ -0x2c
# (local3): word @ -0x28
# (local4): word @ -0x24
# (local5): word @ -0x20
# (local6): word @ -0x1c
# (local7): word @ -0x18
# (local8): word @ -0x14
# (local9): word[4] @ -0x10
.global sdk_aes_unwrap
.type sdk_aes_unwrap, @function
sdk_aes_unwrap:
addi sp, sp, -80 /* (FP)-0x50 */ # 24: 12c1b0
s32i a15, sp, 48 /* a15 -> [(local5)] */ # 27: f9c1
s32i a0, sp, 32 /* a0 -> [(local1)] */ # 29: 0981
s32i a12, sp, 36 /* a12 -> [(local2)] */ # 2b: c991
s32i a14, sp, 44 /* a14 -> [(local4)] */ # 2d: e9b1
s32i a13, sp, 40 /* a13 -> [(local3)] */ # 2f: d9a1
s32i a3, sp, 60 /* arg1 -> [(local8)] */ # 31: 39f1
mov a13, a5 /* arg3 */ # 33: dd05
mov a3, a4 /* arg2 */ # 35: 3d04
mov a14, a2 /* arg0 */ # 37: ed02
mov a12, a4 /* arg2 */ # 39: cd04
mov a2, sp /* (FP)-0x50 */ # 3b: 2d01
movi a4, 8 /* 0x00000008 */ # 3d: 0c84
call0 memcpy # 3f: 01f0ffc0
# 43: 0000
addi a3, a12, 8 /* arg2+0x8 */ # 45: 8b3c
l32i a12, sp, 60 /* [(local8)] */ # 47: c8f1
mov a2, a13 /* arg3 */ # 49: 2d0d
slli a12, a12, 3 # 4b: d0cc11
mov a4, a12 # 4e: 4d0c
call0 memcpy # 50: 01edffc0
# 54: 0000
mov a2, a14 /* arg0 */ # 56: 2d0e
movi a3, 16 /* 0x00000010 */ # 58: 1c03
call0 sdk_aes_decrypt_init # 5a: 01ebffc0
# 5e: 0000
mov a0, a2 # 60: 0d02
beqz a2, .Lbr006 # 62: 16920a
addi a14, sp, 24 /* (FP)-0x38 */ # 65: e2c118
s32i a0, sp, 64 /* a0 -> [(local9)] */ # 68: 026110
l32i a15, sp, 60 /* [(local8)] */ # 6b: f8f1
add a2, a12, a13 # 6d: da2c
movi a3, 5 /* 0x00000005 */ # 6f: 0c53
s32i a3, sp, 56 /* 0x00000005 -> [(local7)] */ # 71: 39e1
addi a2, a2, -8 # 73: 22c2f8
addx4 a15, a15, a15 # 76: f0ffa0
s32i a2, sp, 52 /* a2 -> [(local6)] */ # 79: 29d1
.Lbr001: l32i a0, sp, 60 /* [(local8)] */ # 7b: 08f1
l32i a12, sp, 52 /* [(local6)] */ # 7d: c8d1
blti a0, 1, .Lbr003 # 7f: a61052
add a13, a15, a0 # 82: 0adf
.Lbr002: addi a2, sp, 16 /* (FP)-0x40 */ # 84: 22c110
mov a3, sp /* (FP)-0x50 */ # 87: 3d01
movi a4, 8 /* 0x00000008 */ # 89: 0c84
call0 memcpy # 8b: 01e0ffc0
# 8f: 0000
mov a2, a14 /* (FP)-0x38 */ # 91: 2d0e
mov a3, a12 # 93: 3d0c
l8ui a0, sp, 23 /* [(local0)] */ # 95: 020117
movi a4, 8 /* 0x00000008 */ # 98: 0c84
xor a0, a13, a0 # 9a: 000d30
s8i a0, sp, 23 /* a0 -> [(local0)] */ # 9d: 024117
call0 memcpy # a0: 01dcffc0
# a4: 0000
l32i a2, sp, 64 /* [(local9)] */ # a6: 222110
addi a3, sp, 16 /* (FP)-0x40 */ # a9: 32c110
mov a4, a3 /* (FP)-0x40 */ # ac: 4d03
call0 sdk_aes_decrypt # ae: 01d9ffc0
# b2: 0000
mov a2, sp /* (FP)-0x50 */ # b4: 2d01
addi a3, sp, 16 /* (FP)-0x40 */ # b6: 32c110
movi a4, 8 /* 0x00000008 */ # b9: 0c84
call0 memcpy # bb: 01d7ffc0
# bf: 0000
mov a2, a12 # c1: 2d0c
mov a3, a14 /* (FP)-0x38 */ # c3: 3d0e
movi a4, 8 /* 0x00000008 */ # c5: 0c84
call0 memcpy # c7: 01d5ffc0
# cb: 0000
addi a12, a12, -8 # cd: c2ccf8
addi a13, a13, -1 # d0: 0bdd
bne a15, a13, .Lbr002 # d2: d79fae
.Lbr003: l32i a3, sp, 60 /* [(local8)] */ # d5: 38f1
l32i a2, sp, 56 /* [(local7)] */ # d7: 28e1
sub a15, a15, a3 # d9: 30ffc0
addi a2, a2, -1 /* [(local7)]-0x1 */ # dc: 0b22
s32i a2, sp, 56 /* [(local7)]-0x1 -> [(local7)] */ # de: 29e1
bnei a2, -1, .Lbr001 # e0: 660297
l32i a2, sp, 64 /* [(local9)] */ # e3: 222110
call0 sdk_aes_decrypt_deinit # e6: 01ceffc0
# ea: 0000
mov a0, sp /* (FP)-0x50 */ # ec: 0d01
addi a2, sp, 8 /* (FP)-0x48 */ # ee: 8b21
movi a3, 166 /* 0x000000a6 */ # f0: 32a0a6
.Lbr004: l8ui a4, a0, 0 # f3: 420000
addi a0, a0, 1 # f6: 1b00
bne a4, a3, .Lbr006 # f8: 379413
bne a0, a2, .Lbr004 # fb: 2790f4
movi a2, 0 /* 0x00000000 */ # fe: 0c02
.Lbr005: l32i a12, sp, 36 /* [(local2)] */ # 100: c891
l32i a13, sp, 40 /* [(local3)] */ # 102: d8a1
l32i a14, sp, 44 /* [(local4)] */ # 104: e8b1
l32i a15, sp, 48 /* [(local5)] */ # 106: f8c1
l32i a0, sp, 32 /* [(local1)] */ # 108: 0881
addi sp, sp, 80 /* (top of frame) */ # 10a: 12c150
ret # 10d: 0df0
.Lbr006: movi a2, -1 /* 0xffffffff */ # 10f: 7cf2
j .Lbr005 # 111: c6faff

View file

@ -0,0 +1,127 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 00000000
# 18: 00000000
# 1c: 00000000
# 20: 00000000
# Function @ .irom0.text+0x24
# Local variables/stack:
# (local0): word @ -0x30
# (local1): word @ -0x2c
# (local2): word @ -0x28
# (local3): word @ -0x24
# (local4): word @ -0x20
# (local5): word @ -0x1c
# (local6): word @ -0x18
# (local7): word @ -0x14
# (local8): word @ -0x10
# (local9): word @ -0xc
# (local10): word @ -0x8
# (local11): word @ -0x4
.global sdk_aes_wrap
.type sdk_aes_wrap, @function
sdk_aes_wrap:
addi sp, sp, -64 /* (FP)-0x40 */ # 24: 12c1c0
s32i a15, sp, 32 /* a15 -> [(local4)] */ # 27: f981
s32i a0, sp, 16 /* a0 -> [(local0)] */ # 29: 0941
s32i a12, sp, 20 /* a12 -> [(local1)] */ # 2b: c951
s32i a13, sp, 24 /* a13 -> [(local2)] */ # 2d: d961
s32i a14, sp, 28 /* a14 -> [(local3)] */ # 2f: e971
s32i a3, sp, 48 /* arg1 -> [(local8)] */ # 31: 39c1
mov a14, a5 /* arg3 */ # 33: ed05
movi a3, 166 /* 0x000000a6 */ # 35: 32a0a6
mov a13, a2 /* arg0 */ # 38: dd02
mov a12, a4 /* arg2 */ # 3a: cd04
mov a2, a5 /* arg3 */ # 3c: 2d05
movi a4, 8 /* 0x00000008 */ # 3e: 0c84
call0 memset # 40: 01f0ffc0
# 44: 0000
mov a3, a12 /* arg2 */ # 46: 3d0c
l32i a4, sp, 48 /* [(local8)] */ # 48: 48c1
addi a2, a14, 8 /* arg3+0x8 */ # 4a: 8b2e
s32i a2, sp, 40 /* arg3+0x8 -> [(local6)] */ # 4c: 29a1
slli a4, a4, 3 # 4e: d04411
call0 memcpy # 51: 01ecffc0
# 55: 0000
mov a2, a13 /* arg0 */ # 57: 2d0d
movi a3, 16 /* 0x00000010 */ # 59: 1c03
call0 sdk_aes_encrypt_init # 5b: 01ebffc0
# 5f: 0000
bnez a2, .Lbr001 # 61: cc32
movi a2, -1 /* 0xffffffff */ # 63: 7cf2
j .Lbr005 # 65: c62200
.Lbr001: addi a15, sp, 8 /* (FP)-0x38 */ # 68: 8bf1
s32i a2, sp, 56 /* a2 -> [(local10)] */ # 6a: 29e1
l32i a6, sp, 48 /* [(local8)] */ # 6c: 68c1
movi a5, 0 /* 0x00000000 */ # 6e: 0c05
movi a7, 0 /* 0x00000000 */ # 70: 0c07
s32i a7, sp, 52 /* 0x00000000 -> [(local9)] */ # 72: 79d1
s32i a5, sp, 44 /* 0x00000000 -> [(local7)] */ # 74: 59b1
addi a6, a6, 1 /* [(local8)]+0x1 */ # 76: 1b66
s32i a6, sp, 36 /* [(local8)]+0x1 -> [(local5)] */ # 78: 6991
.Lbr002: l32i a8, sp, 48 /* [(local8)] */ # 7a: 88c1
l32i a12, sp, 40 /* [(local6)] */ # 7c: c8a1
blti a8, 1, .Lbr004 # 7e: a61857
l32i a9, sp, 52 /* [(local9)] */ # 81: 98d1
l32i a10, sp, 36 /* [(local5)] */ # 83: a891
addi a13, a9, 1 /* [(local9)]+0x1 */ # 85: 1bd9
add a9, a9, a10 # 87: aa99
s32i a9, sp, 60 /* a9 -> [(local11)] */ # 89: 99f1
.Lbr003: mov a2, sp /* (FP)-0x40 */ # 8b: 2d01
mov a3, a14 /* arg3 */ # 8d: 3d0e
movi a4, 8 /* 0x00000008 */ # 8f: 0c84
call0 memcpy # 91: 01deffc0
# 95: 0000
mov a2, a15 /* (FP)-0x38 */ # 97: 2d0f
mov a3, a12 # 99: 3d0c
movi a4, 8 /* 0x00000008 */ # 9b: 0c84
call0 memcpy # 9d: 01dcffc0
# a1: 0000
l32i a2, sp, 56 /* [(local10)] */ # a3: 28e1
mov a3, sp /* (FP)-0x40 */ # a5: 3d01
mov a4, sp /* (FP)-0x40 */ # a7: 4d01
call0 sdk_aes_encrypt # a9: 01daffc0
# ad: 0000
mov a2, a14 /* arg3 */ # af: 2d0e
mov a3, sp /* (FP)-0x40 */ # b1: 3d01
movi a4, 8 /* 0x00000008 */ # b3: 0c84
call0 memcpy # b5: 01d8ffc0
# b9: 0000
mov a2, a12 # bb: 2d0c
mov a3, a15 /* (FP)-0x38 */ # bd: 3d0f
l8ui a11, a14, 7 /* [arg3+0x7] */ # bf: b20e07
movi a4, 8 /* 0x00000008 */ # c2: 0c84
xor a11, a13, a11 # c4: b0bd30
s8i a11, a14, 7 /* a11 -> [arg3+0x7] */ # c7: b24e07
call0 memcpy # ca: 01d4ffc0
# ce: 0000
addi a12, a12, 8 # d0: 8bcc
l32i a0, sp, 60 /* [(local11)] */ # d2: 08f1
addi a13, a13, 1 # d4: 1bdd
bne a13, a0, .Lbr003 # d6: 079db1
.Lbr004: l32i a4, sp, 48 /* [(local8)] */ # d9: 48c1
l32i a2, sp, 44 /* [(local7)] */ # db: 28b1
l32i a3, sp, 52 /* [(local9)] */ # dd: 38d1
addi a2, a2, 1 /* [(local7)]+0x1 */ # df: 1b22
s32i a2, sp, 44 /* [(local7)]+0x1 -> [(local7)] */ # e1: 29b1
add a3, a3, a4 # e3: 4a33
s32i a3, sp, 52 /* a3 -> [(local9)] */ # e5: 39d1
bnei a2, 6, .Lbr002 # e7: 66628f
l32i a2, sp, 56 /* [(local10)] */ # ea: 28e1
call0 sdk_aes_encrypt_deinit # ec: 01cdffc0
# f0: 0000
movi a2, 0 /* 0x00000000 */ # f2: 0c02
.Lbr005: l32i a12, sp, 20 /* [(local1)] */ # f4: c851
l32i a13, sp, 24 /* [(local2)] */ # f6: d861
l32i a14, sp, 28 /* [(local3)] */ # f8: e871
l32i a15, sp, 32 /* [(local4)] */ # fa: f881
l32i a0, sp, 16 /* [(local0)] */ # fc: 0841
addi sp, sp, 64 /* (top of frame) */ # fe: 12c140
ret # 101: 0df0

View file

@ -0,0 +1,376 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 80510100
# 4: ffff0000
# Function @ .irom0.text+0x8
.global sdk_hostapd_config_defaults_bss
.type sdk_hostapd_config_defaults_bss, @function
sdk_hostapd_config_defaults_bss:
movi a4, 0x0000ffff # 8: 41ffff
movi a3, 300 /* 0x0000012c */ # b: 32a12c
movi a5, 4 /* 0x00000004 */ # e: 0c45
movi a6, 0 /* 0x00000000 */ # 10: 0c06
movi a7, 0x00015180 # 12: 71fbff
movi a8, 600 /* 0x00000258 */ # 15: 82a258
movi a9, 1 /* 0x00000001 */ # 18: 0c19
movi a10, 3 /* 0x00000003 */ # 1a: 0c3a
movi a11, 2 /* 0x00000002 */ # 1c: 0c2b
s32i a11, a2, 116 /* 0x00000002 -> [arg0+0x74] */ # 1e: b2621d
s32i a11, a2, 132 /* 0x00000002 -> [arg0+0x84] */ # 21: b26221
s32i a11, a2, 140 /* 0x00000002 -> [arg0+0x8c] */ # 24: b26223
s32i a11, a2, 144 /* 0x00000002 -> [arg0+0x90] */ # 27: b26224
s32i a11, a2, 4 /* 0x00000002 -> [arg0+0x4] */ # 2a: b912
s32i a11, a2, 12 /* 0x00000002 -> [arg0+0xc] */ # 2c: b932
s32i a10, a2, 124 /* 0x00000003 -> [arg0+0x7c] */ # 2e: a2621f
s32i a9, a2, 112 /* 0x00000001 -> [arg0+0x70] */ # 31: 92621c
s32i a8, a2, 148 /* 0x00000258 -> [arg0+0x94] */ # 34: 826225
s32i a7, a2, 156 /* 0x00015180 -> [arg0+0x9c] */ # 37: 726227
s32i a6, a2, 164 /* 0x00000000 -> [arg0+0xa4] */ # 3a: 626229
s32i a5, a2, 0 /* 0x00000004 -> [arg0] */ # 3d: 5902
s32i a3, a2, 108 /* 0x0000012c -> [arg0+0x6c] */ # 3f: 32621b
s32i a3, a2, 180 /* 0x0000012c -> [arg0+0xb4] */ # 42: 32622d
s16i a4, a2, 202 /* 0xffff -> [arg0+0xca] */ # 45: 425265
movi a3, -1 /* 0xffffffff */ # 48: 7cf3
s32i a3, a2, 188 /* 0xffffffff -> [arg0+0xbc] */ # 4a: 32622f
ret /* arg0 */ # 4d: 0df0
.literal_position # 50: 00000000
# 54: 00000000
# 58: 00000000
# 5c: 00000000
# Function @ .irom0.text+0x60
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_hostapd_config_defaults
.type sdk_hostapd_config_defaults, @function
sdk_hostapd_config_defaults:
movi a2, 100 /* 0x00000064 */ # 60: 22a064
addi sp, sp, -16 /* (local0) */ # 63: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 66: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 68: d921
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6a: 0901
call0 zalloc # 6c: 01f9ffc0
# 70: 0000
mov a13, a2 # 72: dd02
movi a2, 204 /* 0x000000cc */ # 74: 22a0cc
call0 zalloc # 77: 01f7ffc0
# 7b: 0000
mov a12, a2 # 7d: cd02
beqz a13, .Lbr002 # 7f: bc3d
beqz a2, .Lbr002 # 81: bc12
call0 sdk_hostapd_config_defaults_bss # 83: 050000
s32i a12, a13, 0 # 86: c90d
movi a0, 60 /* 0x0000003c */ # 88: 3cc0
movi a2, 255 /* 0x000000ff */ # 8a: 22a0ff
movi a3, 12 /* 0x0000000c */ # 8d: 0cc3
movi a4, 100 /* 0x00000064 */ # 8f: 42a064
movi a5, 1 /* 0x00000001 */ # 92: 0c15
movi a6, -1 /* 0xffffffff */ # 94: 7cf6
s32i a6, a13, 16 # 96: 694d
s32i a6, a13, 20 # 98: 695d
s32i a5, a13, 8 # 9a: 592d
s8i a5, a13, 24 # 9c: 524d18
s16i a4, a13, 12 # 9f: 425d06
s16i a3, a13, 68 # a2: 325d22
s32i a2, a13, 48 # a5: 29cd
s32i a0, a13, 52 # a7: 09dd
.Lbr001: l32i a0, sp, 0 /* [(local0)] */ # a9: 0801
mov a2, a13 # ab: 2d0d
l32i a12, sp, 4 /* [(local1)] */ # ad: c811
l32i a13, sp, 8 /* [(local2)] */ # af: d821
addi sp, sp, 16 /* (top of frame) */ # b1: 12c110
ret # b4: 0df0
.Lbr002: mov a2, a13 # b6: 2d0d
call0 free # b8: 01e8ffc0
# bc: 0000
mov a2, a12 # be: 2d0c
call0 free # c0: 01e7ffc0
# c4: 0000
movi a13, 0 /* 0x00000000 */ # c6: 0c0d
j .Lbr001 # c8: 46f7ff
.literal_position # cc: 00000000
# Function @ .irom0.text+0xd0
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_hostapd_mac_comp
.type sdk_hostapd_mac_comp, @function
sdk_hostapd_mac_comp:
movi a4, 6 /* 0x00000006 */ # d0: 0c64
addi sp, sp, -16 /* (local0) */ # d2: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # d5: 0901
call0 memcmp # d7: 01fdffc0
# db: 0000
l32i a0, sp, 0 /* [(local0)] */ # dd: 0801
addi sp, sp, 16 /* (top of frame) */ # df: 12c110
ret # e2: 0df0
.literal_position # e4: 00000000
# e8: 00000000
# ec: 00000000
# Function @ .irom0.text+0xf0
# Local variables/stack:
# (local0): word @ -0x8
# (local1): word @ -0x4
.global sdk_hostapd_mac_comp_empty
.type sdk_hostapd_mac_comp_empty, @function
sdk_hostapd_mac_comp_empty:
movi a3, .Ldata001 # f0: 31fdff
movi a4, 6 /* 0x00000006 */ # f3: 0c64
addi sp, sp, -16 /* (FP)-0x10 */ # f5: 12c1f0
s32i a2, sp, 8 /* arg0 -> [(local0)] */ # f8: 2921
s32i a0, sp, 12 /* a0 -> [(local1)] */ # fa: 0931
mov a2, sp /* (FP)-0x10 */ # fc: 2d01
call0 memcpy # fe: 01faffc0
# 102: 0000
l32i a2, sp, 8 /* [(local0)] */ # 104: 2821
mov a3, sp /* (FP)-0x10 */ # 106: 3d01
movi a4, 6 /* 0x00000006 */ # 108: 0c64
call0 memcmp # 10a: 01f8ffc0
# 10e: 0000
l32i a0, sp, 12 /* [(local1)] */ # 110: 0831
addi sp, sp, 16 /* (top of frame) */ # 112: 12c110
ret # 115: 0df0
.literal_position # 118: 00000000
# 11c: 00000000
# 120: 00000000
# Function @ .irom0.text+0x124
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 124: 12c1f0
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 127: 2901
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 129: 0911
movi a2, 48 /* 0x00000030 */ # 12b: 3c02
call0 zalloc # 12d: 01fbffc0
# 131: 0000
l32i a0, sp, 0 /* [(local0)] */ # 133: 0801
s32i a2, a0, 40 /* a2 -> [[(local0)]+0x28] */ # 135: 29a0
bnez a2, .Lbr003 # 137: cc32
movi a2, -1 /* 0xffffffff */ # 139: 7cf2
j .Lbr004 # 13b: 860300
.Lbr003: addi a2, a2, 8 # 13e: 8b22
movi a3, sdk_g_ic+0x2ed # 140: 31f6ff
movi a4, 32 /* 0x00000020 */ # 143: 2c04
call0 memcpy # 145: 01f6ffc0
# 149: 0000
movi a2, 0 /* 0x00000000 */ # 14b: 0c02
.Lbr004: l32i a0, sp, 4 /* [(local1)] */ # 14d: 0811
addi sp, sp, 16 /* (top of frame) */ # 14f: 12c110
ret # 152: 0df0
# Function @ .irom0.text+0x154
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_hostapd_setup_wpa_psk
.type sdk_hostapd_setup_wpa_psk, @function
sdk_hostapd_setup_wpa_psk:
addi sp, sp, -16 /* (local0) */ # 154: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 157: 0911
l32i a0, a2, 60 /* [arg0+0x3c] */ # 159: 08f2
beqz a0, .Lbr007 # 15b: 9ca0
l32i a0, a2, 56 /* [arg0+0x38] */ # 15d: 08e2
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 15f: 2901
bnez a0, .Lbr006 # 161: dc00
addi a2, a2, 16 /* arg0+0x10 */ # 163: 22c210
call0 .Lfunc001 # 166: c5fbff
bgez a2, .Lbr005 # 169: d64200
movi a2, -1 /* 0xffffffff */ # 16c: 7cf2
j .Lbr008 # 16e: 460200
.Lbr005: l32i a0, sp, 0 /* [(local0)] */ # 171: 0801
l32i a0, a0, 56 /* [[(local0)]+0x38] */ # 173: 08e0
.Lbr006: movi a2, 1 /* 0x00000001 */ # 175: 0c12
s32i a2, a0, 4 # 177: 2910
.Lbr007: movi a2, 0 /* 0x00000000 */ # 179: 0c02
.Lbr008: l32i a0, sp, 4 /* [(local1)] */ # 17b: 0811
addi sp, sp, 16 /* (top of frame) */ # 17d: 12c110
ret # 180: 0df0
.literal_position # 184: 00000000
# Function @ .irom0.text+0x188
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.global sdk_hostapd_wep_key_cmp
.type sdk_hostapd_wep_key_cmp, @function
sdk_hostapd_wep_key_cmp:
addi sp, sp, -16 /* (local0) */ # 188: 12c1f0
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 18b: c921
l8ui a4, a3, 0 /* [arg1] */ # 18d: 420300
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 190: 0911
l8ui a0, a2, 0 /* [arg0] */ # 192: 020200
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 195: d931
bne a0, a4, .Lbr011 # 197: 479038
l32i a6, a3, 40 /* [arg1+0x28] */ # 19a: 68a3
l32i a5, a2, 40 /* [arg0+0x28] */ # 19c: 58a2
mov a12, a3 /* arg1 */ # 19e: cd03
bne a5, a6, .Lbr011 # 1a0: 67952f
mov a13, a2 /* arg0 */ # 1a3: dd02
addi a7, a2, 16 /* arg0+0x10 */ # 1a5: 72c210
s32i a7, sp, 0 /* arg0+0x10 -> [(local0)] */ # 1a8: 7901
.Lbr009: l32i a4, a13, 20 # 1aa: 485d
l32i a8, a12, 20 # 1ac: 885c
bne a8, a4, .Lbr011 # 1ae: 479821
l32i a2, a13, 4 # 1b1: 281d
l32i a3, a12, 4 # 1b3: 381c
call0 memcmp # 1b5: 01f3ffc0
# 1b9: 0000
bnez a2, .Lbr011 # 1bb: dc42
addi a12, a12, 4 # 1bd: 4bcc
l32i a9, sp, 0 /* [(local0)] */ # 1bf: 9801
addi a13, a13, 4 # 1c1: 4bdd
bne a13, a9, .Lbr009 # 1c3: 979de3
movi a2, 0 /* 0x00000000 */ # 1c6: 0c02
.Lbr010: l32i a12, sp, 8 /* [(local2)] */ # 1c8: c821
l32i a13, sp, 12 /* [(local3)] */ # 1ca: d831
l32i a0, sp, 4 /* [(local1)] */ # 1cc: 0811
addi sp, sp, 16 /* (top of frame) */ # 1ce: 12c110
ret # 1d1: 0df0
.Lbr011: movi a2, 1 /* 0x00000001 */ # 1d3: 0c12
j .Lbr010 # 1d5: c6fbff
.literal_position # 1d8: 00000000
# Function @ .irom0.text+0x1dc
# Local variables/stack:
# (local0): word @ -0x30
# (local1): word @ -0x2c
# (local2): word @ -0x28
# (local3): word @ -0x24
# (local4): word @ -0x20
# (local5): word @ -0x1c
# (local6): word @ -0x18
# (local7): word @ -0x14
# (local8): word[4] @ -0x10
.global sdk_hostapd_maclist_found
.type sdk_hostapd_maclist_found, @function
sdk_hostapd_maclist_found:
addi sp, sp, -48 /* (local0) */ # 1dc: 12c1d0
s32i a14, sp, 20 /* a14 -> [(local5)] */ # 1df: e951
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 1e1: 0921
s32i a4, sp, 32 /* arg2 -> [(local8)] */ # 1e3: 4981
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 1e5: d941
s32i a15, sp, 24 /* a15 -> [(local6)] */ # 1e7: f961
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 1e9: c931
mov a15, a4 /* arg2 */ # 1eb: fd04
addi a12, a3, -1 /* arg1-0x1 */ # 1ed: 0bc3
bltz a12, .Lbr017 # 1ef: 961c04
movi a13, 0 /* 0x00000000 */ # 1f2: 0c0d
s32i a5, sp, 4 /* arg3 -> [(local1)] */ # 1f4: 5911
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 1f6: 2901
.Lbr012: movi a4, 6 /* 0x00000006 */ # 1f8: 0c64
add a0, a12, a13 # 1fa: da0c
l32i a3, sp, 0 /* [(local0)] */ # 1fc: 3801
addi a14, a0, 1 # 1fe: 1be0
movgez a14, a0, a0 # 200: 00e0b3
srai a14, a14, 1 # 203: e0e121
addx2 a2, a14, a14 # 206: e02e90
addx4 a2, a2, a3 # 209: 3022a0
mov a3, a15 /* arg2 */ # 20c: 3d0f
s32i a2, sp, 28 /* a2 -> [(local7)] */ # 20e: 2971
call0 memcmp # 210: 01f2ffc0
# 214: 0000
bnez a2, .Lbr014 # 216: ccd2
l32i a2, sp, 4 /* [(local1)] */ # 218: 2811
l32i a3, sp, 28 /* [(local7)] */ # 21a: 3871
beqz a2, .Lbr013 # 21c: 8c22
l32i a3, a3, 8 /* [[(local7)]+0x8] */ # 21e: 3823
s32i a3, a2, 0 /* [[(local7)]+0x8] -> [[(local1)]] */ # 220: 3902
.Lbr013: movi a2, 1 /* 0x00000001 */ # 222: 0c12
j .Lbr018 # 224: 860300
.Lbr014: bgez a2, .Lbr015 # 227: d64200
addi a13, a14, 1 # 22a: 1bde
j .Lbr016 # 22c: 460000
.Lbr015: addi a12, a14, -1 # 22f: 0bce
.Lbr016: bge a12, a13, .Lbr012 # 231: d7acc3
.Lbr017: movi a2, 0 /* 0x00000000 */ # 234: 0c02
.Lbr018: l32i a12, sp, 12 /* [(local3)] */ # 236: c831
l32i a13, sp, 16 /* [(local4)] */ # 238: d841
l32i a14, sp, 20 /* [(local5)] */ # 23a: e851
l32i a15, sp, 24 /* [(local6)] */ # 23c: f861
l32i a0, sp, 8 /* [(local2)] */ # 23e: 0821
addi sp, sp, 48 /* (top of frame) */ # 240: 12c130
ret # 243: 0df0
.balign 4
# Function @ .irom0.text+0x248
.global sdk_hostapd_rate_found
.type sdk_hostapd_rate_found, @function
sdk_hostapd_rate_found:
beqz a2, .Lbr021 # 248: 9c12
l32i a6, a2, 0 /* [arg0] */ # 24a: 6802
bltz a6, .Lbr021 # 24c: 96d600
.Lbr019: bne a6, a3, .Lbr020 # 24f: 379603
movi a2, 1 /* 0x00000001 */ # 252: 0c12
ret /* 0x00000001 */ # 254: 0df0
.Lbr020: l32i a6, a2, 4 # 256: 6812
addi a2, a2, 4 # 258: 4b22
bgez a6, .Lbr019 # 25a: d616ff
.Lbr021: movi a2, 0 /* 0x00000000 */ # 25d: 0c02
ret /* 0x00000000 */ # 25f: 0df0
.literal_position # 264: 00000000
# Function @ .irom0.text+0x268
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_hostapd_get_psk
.type sdk_hostapd_get_psk, @function
sdk_hostapd_get_psk:
addi sp, sp, -32 /* (local0) */ # 268: 12c1e0
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 26b: c921
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 26d: d931
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 26f: e941
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 271: 0911
mov a14, a4 /* arg2 */ # 273: ed04
movi a0, 1 /* 0x00000001 */ # 275: 0c10
movi a13, 0 /* 0x00000000 */ # 277: 0c0d
l32i a12, a2, 56 /* [arg0+0x38] */ # 279: c8e2
moveqz a13, a0, a4 # 27b: 40d083
beqz a12, .Lbr025 # 27e: ac9c
s32i a3, sp, 0 /* arg1 -> [(local0)] */ # 280: 3901
.Lbr022: beqz a13, .Lbr024 # 282: 9c8d
l32i a2, a12, 4 # 284: 281c
bnez a2, .Lbr023 # 286: ccf2
addi a2, a12, 40 # 288: 22cc28
l32i a3, sp, 0 /* [(local0)] */ # 28b: 3801
movi a4, 6 /* 0x00000006 */ # 28d: 0c64
call0 memcmp # 28f: 01f5ffc0
# 293: 0000
movi a0, 1 /* 0x00000001 */ # 295: 0c10
bnez a2, .Lbr024 # 297: cc32
.Lbr023: addi a2, a12, 8 # 299: 8b2c
j .Lbr026 # 29b: 860300
.Lbr024: addi a3, a12, 8 # 29e: 8b3c
sub a3, a14, a3 # 2a0: 303ec0
l32i a12, a12, 0 # 2a3: c80c
moveqz a13, a0, a3 # 2a5: 30d083
bnez a12, .Lbr022 # 2a8: 566cfd
.Lbr025: movi a2, 0 /* 0x00000000 */ # 2ab: 0c02
.Lbr026: l32i a12, sp, 8 /* [(local2)] */ # 2ad: c821
l32i a13, sp, 12 /* [(local3)] */ # 2af: d831
l32i a14, sp, 16 /* [(local4)] */ # 2b1: e841
l32i a0, sp, 4 /* [(local1)] */ # 2b3: 0811
addi sp, sp, 32 /* (top of frame) */ # 2b5: 12c120
ret # 2b8: 0df0
.section .rodata, "a", @progbits
.Ldata001: .space 6

308
binary_sdk/libwpa/common.S Normal file
View file

@ -0,0 +1,308 @@
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
.global sdk_inc_byte_array
.type sdk_inc_byte_array, @function
sdk_inc_byte_array:
addi a3, a3, -1 /* arg1-0x1 */ # 0: 0b33
bltz a3, .Lbr002 # 2: 965301
add a3, a3, a2 # 5: 2a33
addi a2, a2, -1 /* arg0-0x1 */ # 7: 0b22
.Lbr001: l8ui a4, a3, 0 # 9: 420300
addi a4, a4, 1 # c: 1b44
extui a4, a4, 0, 8 # e: 404074
s8i a4, a3, 0 # 11: 424300
bnez a4, .Lbr002 # 14: cc34
addi a3, a3, -1 # 16: 0b33
bne a3, a2, .Lbr001 # 18: 2793ed
.Lbr002: ret # 1b: 0df0
.balign 4
# Function @ .irom0.text+0x20
.Lfunc001: movi a3, 47 /* 0x0000002f */ # 20: 2cf3
bgeu a3, a2, .Lbr003 # 22: 27b309
movi a4, 57 /* 0x00000039 */ # 25: 3c94
bltu a4, a2, .Lbr003 # 27: 273404
addi a2, a2, -48 /* arg0-0x30 */ # 2a: 22c2d0
ret /* arg0-0x30 */ # 2d: 0df0
.Lbr003: movi a5, 96 /* 0x00000060 */ # 2f: 52a060
bgeu a5, a2, .Lbr004 # 32: 27b50a
movi a6, 102 /* 0x00000066 */ # 35: 62a066
bltu a6, a2, .Lbr004 # 38: 273604
addi a2, a2, -87 /* arg0-0x57 */ # 3b: 22c2a9
ret /* arg0-0x57 */ # 3e: 0df0
.Lbr004: movi a7, 64 /* 0x00000040 */ # 40: 4c07
bgeu a7, a2, .Lbr005 # 42: 27b709
movi a8, 70 /* 0x00000046 */ # 45: 4c68
bltu a8, a2, .Lbr005 # 47: 273804
addi a2, a2, -55 /* arg0-0x37 */ # 4a: 22c2c9
ret /* arg0-0x37 */ # 4d: 0df0
.Lbr005: movi a2, -1 /* 0xffffffff */ # 4f: 7cf2
ret /* 0xffffffff */ # 51: 0df0
.balign 4
# Function @ .irom0.text+0x54
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_hex2byte
.type sdk_hex2byte, @function
.literal_position
sdk_hex2byte:
addi sp, sp, -16 /* (local0) */ # 54: 12c1f0
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 57: c921
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 59: 0911
mov a12, a2 /* arg0 */ # 5b: cd02
l8ui a2, a2, 0 /* [arg0] */ # 5d: 220200
call0 .Lfunc001 # 60: c5fbff
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 63: 2901
bltz a2, .Lbr007 # 65: 969201
l8ui a2, a12, 1 /* [arg0+0x1] */ # 68: 220c01
call0 .Lfunc001 # 6b: 45fbff
bltz a2, .Lbr007 # 6e: 960201
l32i a0, sp, 0 /* [(local0)] */ # 71: 0801
slli a0, a0, 4 # 73: c00011
or a2, a2, a0 # 76: 002220
.Lbr006: l32i a12, sp, 8 /* [(local2)] */ # 79: c821
l32i a0, sp, 4 /* [(local1)] */ # 7b: 0811
addi sp, sp, 16 /* (top of frame) */ # 7d: 12c110
ret # 80: 0df0
.Lbr007: movi a2, -1 /* 0xffffffff */ # 82: 7cf2
j .Lbr006 # 84: 46fcff
.balign 4
# Function @ .irom0.text+0x88
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word @ -0x10
# (local5): word[3] @ -0xc
.global sdk_hexstr2bin
.type sdk_hexstr2bin, @function
sdk_hexstr2bin:
addi sp, sp, -32 /* (local0) */ # 88: 12c1e0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 8b: 0901
s32i a4, sp, 20 /* arg2 -> [(local5)] */ # 8d: 4951
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 8f: e931
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 91: f941
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 93: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 95: d921
mov a12, a2 /* arg0 */ # 97: cd02
mov a13, a3 /* arg1 */ # 99: dd03
mov a15, a4 /* arg2 */ # 9b: fd04
beqz a4, .Lbr010 # 9d: 9c94
movi a14, 0 /* 0x00000000 */ # 9f: 0c0e
.Lbr008: mov a2, a12 # a1: 2d0c
call0 sdk_hex2byte # a3: 050000
bgez a2, .Lbr009 # a6: d64200
movi a2, -1 /* 0xffffffff */ # a9: 7cf2
j .Lbr011 # ab: 460300
.Lbr009: addi a12, a12, 2 # ae: 2bcc
s8i a2, a13, 0 # b0: 224d00
addi a14, a14, 1 # b3: 1bee
addi a13, a13, 1 # b5: 1bdd
bne a15, a14, .Lbr008 # b7: e79fe6
.Lbr010: movi a2, 0 /* 0x00000000 */ # ba: 0c02
.Lbr011: l32i a12, sp, 4 /* [(local1)] */ # bc: c811
l32i a13, sp, 8 /* [(local2)] */ # be: d821
l32i a14, sp, 12 /* [(local3)] */ # c0: e831
l32i a15, sp, 16 /* [(local4)] */ # c2: f841
l32i a0, sp, 0 /* [(local0)] */ # c4: 0801
addi sp, sp, 32 /* (top of frame) */ # c6: 12c120
ret # c9: 0df0
.literal_position # cc: 00ff0000
# d0: 807eaa83
# d4: c7100000
# d8: 00ff0000
# dc: 00000000
# e0: 00000000
# e4: 00000000
# Function @ .irom0.text+0xe8
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word @ -0x10
# (local5): word[3] @ -0xc
.global sdk_wpa_get_ntp_timestamp
.type sdk_wpa_get_ntp_timestamp, @function
sdk_wpa_get_ntp_timestamp:
addi sp, sp, -32 /* (local0) */ # e8: 12c1e0
s32i a12, sp, 20 /* a12 -> [(local5)] */ # eb: c951
s32i a0, sp, 16 /* a0 -> [(local4)] */ # ed: 0941
mov a12, a2 /* arg0 */ # ef: cd02
mov a2, sp /* (local0) */ # f1: 2d01
call0 sdk_os_get_time # f3: 01faffc0
# f7: 0000
mov a2, a12 /* arg0 */ # f9: 2d0c
addi a3, sp, 8 /* (local2) */ # fb: 8b31
movi a4, 4 /* 0x00000004 */ # fd: 0c44
movi a8, 0x0000ff00 # ff: 81f3ff
movi a6, 0x000010c7 # 102: 61f4ff
movi a5, 0x83aa7e80 # 105: 51f2ff
l32i a9, sp, 4 /* [(local1)] */ # 108: 9811
l32i a0, sp, 0 /* [(local0)] */ # 10a: 0801
srli a10, a9, 9 # 10c: 90a941
srli a11, a9, 5 # 10f: 90b541
add a0, a0, a5 /* [(local0)]+0x83aa7e80 */ # 112: 5a00
slli a5, a0, 24 # 114: 805001
mull a9, a9, a6 # 117: 609982
and a7, a0, a8 # 11a: 807010
extui a6, a0, 24, 8 # 11d: 006875
sub a9, a9, a11 # 120: b099c0
slli a7, a7, 8 # 123: 807711
or a5, a5, a7 # 126: 705520
sub a9, a9, a10 # 129: a099c0
s32i a9, sp, 12 /* a9 -> [(local3)] */ # 12c: 9931
srli a0, a0, 8 # 12e: 000841
and a0, a0, a8 # 131: 800010
or a0, a0, a6 # 134: 600020
or a0, a0, a5 # 137: 500020
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 13a: 0921
call0 memcpy # 13c: 01e9ffc0
# 140: 0000
addi a2, a12, 4 /* arg0+0x4 */ # 142: 4b2c
addi a3, sp, 8 /* (local2) */ # 144: 8b31
movi a4, 4 /* 0x00000004 */ # 146: 0c44
l32i a9, sp, 12 /* [(local3)] */ # 148: 9831
movi a8, 0x0000ff00 # 14a: 81e3ff
srli a7, a9, 8 # 14d: 907841
and a7, a7, a8 # 150: 807710
and a10, a9, a8 # 153: 80a910
slli a10, a10, 8 # 156: 80aa11
slli a8, a9, 24 # 159: 808901
or a8, a8, a10 # 15c: a08820
extui a9, a9, 24, 8 # 15f: 909875
or a7, a7, a9 # 162: 907720
or a7, a7, a8 # 165: 807720
s32i a7, sp, 8 /* a7 -> [(local2)] */ # 168: 7921
call0 memcpy # 16a: 01deffc0
# 16e: 0000
l32i a12, sp, 20 /* [(local5)] */ # 170: c851
l32i a0, sp, 16 /* [(local4)] */ # 172: 0841
addi sp, sp, 32 /* (top of frame) */ # 174: 12c120
ret # 177: 0df0
.literal_position # 17c: 00000000
# 180: 00000000
# 184: 00000000
# 188: 00000000
# 18c: 00000000
# 190: 00000000
# 194: 00000000
# 198: 00000000
# 19c: 00000000
# 1a0: 00000000
# Function @ .irom0.text+0x1a4
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_wpa_config_parse_string
.type sdk_wpa_config_parse_string, @function
sdk_wpa_config_parse_string:
addi sp, sp, -32 /* (local0) */ # 1a4: 12c1e0
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 1a7: e941
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1a9: 0911
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 1ab: d931
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 1ad: c921
mov a13, a3 /* arg1 */ # 1af: dd03
mov a12, a2 /* arg0 */ # 1b1: cd02
l8ui a0, a2, 0 /* [arg0] */ # 1b3: 020200
movi a2, 34 /* 0x00000022 */ # 1b6: 2c22
bne a0, a2, .Lbr012 # 1b8: 27901a
mov a2, a12 /* arg0 */ # 1bb: 2d0c
call0 strlen # 1bd: 01efffc0
# 1c1: 0000
addi a3, a2, -7 # 1c3: 32c2f9
beqz a3, .Lbr018 # 1c6: 169308
mov a2, a12 /* arg0 */ # 1c9: 2d0c
call0 strlen # 1cb: 01edffc0
# 1cf: 0000
movi a4, 15 /* 0x0000000f */ # 1d1: 0cf4
beq a2, a4, .Lbr018 # 1d3: 47127c
.Lbr012: mov a2, a12 /* arg0 */ # 1d6: 2d0c
call0 strlen # 1d8: 01ebffc0
# 1dc: 0000
beqi a2, 5, .Lbr017 # 1de: 26524f
movi a5, 13 /* 0x0000000d */ # 1e1: 0cd5
beq a2, a5, .Lbr017 # 1e3: 57124a
beqi a2, 10, .Lbr013 # 1e6: 269204
movi a6, 26 /* 0x0000001a */ # 1e9: 1ca6
bne a2, a6, .Lbr014 # 1eb: 679223
.Lbr013: srli a2, a2, 1 # 1ee: 202141
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 1f1: 2901
addi a2, a2, 1 # 1f3: 1b22
call0 malloc # 1f5: 01e4ffc0
# 1f9: 0000
mov a14, a2 # 1fb: ed02
beqz a2, .Lbr014 # 1fd: 9c12
mov a2, a12 /* arg0 */ # 1ff: 2d0c
mov a3, a14 # 201: 3d0e
l32i a4, sp, 0 /* [(local0)] */ # 203: 4801
call0 sdk_hexstr2bin # 205: 050000
beqz a2, .Lbr015 # 208: 8cb2
mov a2, a14 # 20a: 2d0e
call0 free # 20c: 01e0ffc0
# 210: 0000
.Lbr014: movi a14, 0 /* 0x00000000 */ # 212: 0c0e
j .Lbr016 # 214: 860200
.Lbr015: l32i a3, sp, 0 /* [(local0)] */ # 217: 3801
movi a4, 0 /* 0x00000000 */ # 219: 0c04
add a5, a3, a14 # 21b: ea53
s8i a4, a5, 0 # 21d: 424500
s32i a3, a13, 0 /* [(local0)] -> [arg1] */ # 220: 390d
.Lbr016: l32i a0, sp, 4 /* [(local1)] */ # 222: 0811
l32i a12, sp, 8 /* [(local2)] */ # 224: c821
mov a2, a14 # 226: 2d0e
l32i a13, sp, 12 /* [(local3)] */ # 228: d831
l32i a14, sp, 16 /* [(local4)] */ # 22a: e841
addi sp, sp, 32 /* (top of frame) */ # 22c: 12c120
ret # 22f: 0df0
.Lbr017: s32i a2, a13, 0 /* a2 -> [arg1] */ # 231: 290d
addi a2, a2, 1 # 233: 1b22
call0 malloc # 235: 01d6ffc0
# 239: 0000
mov a3, a12 /* arg0 */ # 23b: 3d0c
mov a14, a2 # 23d: ed02
l32i a4, a13, 0 /* [arg1] */ # 23f: 480d
call0 memcpy # 241: 01d4ffc0
# 245: 0000
l32i a7, a13, 0 /* [arg1] */ # 247: 780d
movi a6, 0 /* 0x00000000 */ # 249: 0c06
add a7, a7, a14 # 24b: ea77
s8i a6, a7, 0 # 24d: 624700
j .Lbr016 # 250: 86f3ff
.Lbr018: movi a3, 34 /* 0x00000022 */ # 253: 2c23
addi a14, a12, 1 /* arg0+0x1 */ # 255: 1bec
mov a2, a14 /* arg0+0x1 */ # 257: 2d0e
call0 strrchr # 259: 01cfffc0
# 25d: 0000
beqz a2, .Lbr014 # 25f: 16f2fa
sub a2, a2, a12 # 262: c022c0
addi a8, a2, -1 # 265: 0b82
s32i a8, a13, 0 /* a8 -> [arg1] */ # 267: 890d
call0 malloc # 269: 01ccffc0
# 26d: 0000
mov a12, a2 # 26f: cd02
beqz a2, .Lbr014 # 271: 16d2f9
mov a3, a14 /* arg0+0x1 */ # 274: 3d0e
l32i a4, a13, 0 /* [arg1] */ # 276: 480d
call0 memcpy # 278: 01caffc0
# 27c: 0000
mov a14, a12 # 27e: ed0c
l32i a10, a13, 0 /* [arg1] */ # 280: a80d
movi a9, 0 /* 0x00000000 */ # 282: 0c09
add a10, a10, a12 # 284: caaa
s8i a9, a10, 0 # 286: 924a00
j .Lbr016 # 289: 46e5ff

View file

@ -0,0 +1,62 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# Function @ .irom0.text+0x8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.global sdk_ieee802_1x_receive
.type sdk_ieee802_1x_receive, @function
sdk_ieee802_1x_receive:
addi sp, sp, -16 /* (local0) */ # 8: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b: 0901
s32i a13, sp, 8 /* a13 -> [(local2)] */ # d: d921
s32i a12, sp, 4 /* a12 -> [(local1)] */ # f: c911
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 11: e931
mov a12, a4 /* arg2 */ # 13: cd04
mov a14, a5 /* arg3 */ # 15: ed05
mov a13, a2 /* arg0 */ # 17: dd02
call0 ap_get_sta # 19: 01f9ffc0
# 1d: 0000
mov a0, a2 # 1f: 0d02
beqz a2, .Lbr002 # 21: 161205
l32i a2, a2, 16 # 24: 2842
movi a3, 258 /* 0x00000102 */ # 26: 32a102
bnone a2, a3, .Lbr002 # 29: 370249
bltui a14, 4, .Lbr002 # 2c: b64e46
addi a4, a14, -4 /* arg3-0x4 */ # 2f: 42cefc
l8ui a6, a12, 3 /* [arg2+0x3] */ # 32: 620c03
l8ui a7, a12, 2 /* [arg2+0x2] */ # 35: 720c02
slli a6, a6, 8 # 38: 806611
or a6, a6, a7 # 3b: 706620
extui a5, a6, 8, 8 # 3e: 605874
extui a6, a6, 0, 8 # 41: 606074
slli a6, a6, 8 # 44: 806611
or a5, a5, a6 # 47: 605520
extui a5, a5, 0, 16 # 4a: 5050f4
bltu a4, a5, .Lbr002 # 4d: 573425
movi a7, 43 /* 0x0000002b */ # 50: 2cb7
bgeu a7, a5, .Lbr002 # 52: 57b720
l8ui a8, a12, 1 /* [arg2+0x1] */ # 55: 820c01
l8ui a2, a12, 4 /* [arg2+0x4] */ # 58: 220c04
bnei a8, 3, .Lbr002 # 5b: 663817
movi a9, 254 /* 0x000000fe */ # 5e: 92a0fe
beq a2, a9, .Lbr001 # 61: 971202
bnei a2, 2, .Lbr002 # 64: 66220e
.Lbr001: mov a4, a12 /* arg2 */ # 67: 4d0c
l32i a2, a13, 24 /* [arg0+0x18] */ # 69: 286d
addi a5, a5, 4 # 6b: 4b55
l32i a3, a0, 68 # 6d: 322011
call0 sdk_wpa_receive # 70: 01e5ffc0
# 74: 0000
.Lbr002: l32i a12, sp, 4 /* [(local1)] */ # 76: c811
l32i a13, sp, 8 /* [(local2)] */ # 78: d821
l32i a14, sp, 12 /* [(local3)] */ # 7a: e831
l32i a0, sp, 0 /* [(local0)] */ # 7c: 0801
addi sp, sp, 16 /* (top of frame) */ # 7e: 12c110
ret # 81: 0df0

File diff suppressed because it is too large Load diff

164
binary_sdk/libwpa/md5.S Normal file
View file

@ -0,0 +1,164 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 00000000
# 18: 00000000
# Function @ .irom0.text+0x1c
# Local variables/stack:
# (local0): word @ -0x80
# (local1): word[7] @ -0x7c
# (local2): word @ -0x60
# (local3): word[7] @ -0x5c
# (local4): word @ -0x40
# (local5): word @ -0x3c
# (local6): word @ -0x38
# (local7): word @ -0x34
# (local8): word @ -0x30
# (local9): word[3] @ -0x2c
# (local10): word @ -0x20
# (local11): word[7] @ -0x1c
.global sdk_hmac_md5_vector
.type sdk_hmac_md5_vector, @function
sdk_hmac_md5_vector:
movi a8, 208 /* 0x000000d0 */ # 1c: 82a0d0
sub sp, sp, a8 /* (FP)-0xd0 */ # 1f: 8011c0
s32i a3, sp, 180 /* arg1 -> [(local11)] */ # 22: 32612d
s32i a2, sp, 176 /* arg0 -> [(local10)] */ # 25: 22612c
s32i a0, sp, 148 /* a0 -> [(local5)] */ # 28: 026125
s32i a13, sp, 156 /* a13 -> [(local7)] */ # 2b: d26127
s32i a12, sp, 152 /* a12 -> [(local6)] */ # 2e: c26126
s32i a14, sp, 160 /* a14 -> [(local8)] */ # 31: e26128
mov a12, a5 /* arg3 */ # 34: cd05
mov a14, a4 /* arg2 */ # 36: ed04
mov a13, a6 /* arg4 */ # 38: dd06
movi a0, 180 /* 0x000000b4 */ # 3a: 02a0b4
add a0, sp, a0 /* (local11) */ # 3d: 0a01
movi a6, 176 /* 0x000000b0 */ # 3f: 62a0b0
add a6, sp, a6 /* (local10) */ # 42: 6a61
bltui a4, 6, .Lbr001 # 44: b66402
j .Lbr006 # 47: 062500
.Lbr001: s32i a7, sp, 144 /* arg5 -> [(local4)] */ # 4a: 726124
movi a2, 64 /* 0x00000040 */ # 4d: 4c02
bgeu a2, a3, .Lbr002 # 4f: 37b218
mov a3, a6 /* (local10) */ # 52: 3d06
movi a2, 1 /* 0x00000001 */ # 54: 0c12
mov a5, sp /* (FP)-0xd0 */ # 56: 5d01
mov a4, a0 /* (local11) */ # 58: 4d00
call0 sdk_md5_vector # 5a: 01e9ffc0
# 5e: 0000
bnez a2, .Lbr006 # 60: 56b207
s32i sp, sp, 176 /* (FP)-0xd0 -> [(local10)] */ # 63: 12612c
movi a6, 16 /* 0x00000010 */ # 66: 1c06
s32i a6, sp, 180 /* 0x00000010 -> [(local11)] */ # 68: 62612d
.Lbr002: addi a2, sp, 16 /* (FP)-0xc0 */ # 6b: 22c110
movi a3, 0 /* 0x00000000 */ # 6e: 0c03
movi a4, 64 /* 0x00000040 */ # 70: 4c04
call0 memset # 72: 01e4ffc0
# 76: 0000
l32i a3, sp, 176 /* [(local10)] */ # 78: 32212c
l32i a4, sp, 180 /* [(local11)] */ # 7b: 42212d
addi a2, sp, 16 /* (FP)-0xc0 */ # 7e: 22c110
s32i a14, sp, 164 /* arg2 -> [(local9)] */ # 81: e26129
call0 memcpy # 84: 01e1ffc0
# 88: 0000
l32i a4, sp, 164 /* [(local9)] */ # 8a: 422129
addi a0, sp, 16 /* (FP)-0xc0 */ # 8d: 02c110
addi a14, sp, 80 /* (local0) */ # 90: e2c150
movi a2, 54 /* 0x00000036 */ # 93: 3c62
movi a6, 64 /* 0x00000040 */ # 95: 4c06
s32i a6, sp, 112 /* 0x00000040 -> [(local2)] */ # 97: 62611c
addi a6, sp, 16 /* (FP)-0xc0 */ # 9a: 62c110
s32i a6, sp, 80 /* (FP)-0xc0 -> [(local0)] */ # 9d: 626114
.Lbr003: l8ui a5, a0, 0 # a0: 520000
xor a5, a5, a2 # a3: 205530
s8i a5, a0, 0 # a6: 524000
addi a0, a0, 1 # a9: 1b00
bne a0, a14, .Lbr003 # ab: e790f1
beqz a4, .Lbr005 # ae: 9ca4
addi a0, sp, 112 /* (local2) */ # b0: 02c170
addi a2, sp, 80 /* (local0) */ # b3: 22c150
addx4 a3, a4, a12 # b6: c034a0
.Lbr004: l32i a7, a13, 0 # b9: 780d
l32i a8, a12, 0 # bb: 880c
addi a13, a13, 4 # bd: 4bdd
addi a12, a12, 4 # bf: 4bcc
s32i a8, a2, 4 # c1: 8912
s32i a7, a0, 4 # c3: 7910
addi a2, a2, 4 # c5: 4b22
addi a0, a0, 4 # c7: 4b00
bne a12, a3, .Lbr004 # c9: 379cec
.Lbr005: addi a3, sp, 80 /* (local0) */ # cc: 32c150
addi a2, a4, 1 /* [(local9)]+0x1 */ # cf: 1b24
l32i a5, sp, 144 /* [(local4)] */ # d1: 522124
addi a4, sp, 112 /* (local2) */ # d4: 42c170
call0 sdk_md5_vector # d7: 01cdffc0
# db: 0000
beqz a2, .Lbr007 # dd: 8c32
.Lbr006: movi a2, -1 /* 0xffffffff */ # df: 7cf2
j .Lbr009 # e1: 861400
.Lbr007: addi a2, sp, 16 /* (FP)-0xc0 */ # e4: 22c110
movi a3, 0 /* 0x00000000 */ # e7: 0c03
movi a4, 64 /* 0x00000040 */ # e9: 4c04
call0 memset # eb: 01c9ffc0
# ef: 0000
l32i a3, sp, 176 /* [(local10)] */ # f1: 32212c
l32i a4, sp, 180 /* [(local11)] */ # f4: 42212d
addi a2, sp, 16 /* (FP)-0xc0 */ # f7: 22c110
call0 memcpy # fa: 01c6ffc0
# fe: 0000
addi a0, sp, 16 /* (FP)-0xc0 */ # 100: 02c110
movi a2, 92 /* 0x0000005c */ # 103: 5cc2
.Lbr008: l8ui a5, a0, 0 # 105: 520000
xor a5, a5, a2 # 108: 205530
s8i a5, a0, 0 # 10b: 524000
addi a0, a0, 1 # 10e: 1b00
bne a0, a14, .Lbr008 # 110: e790f1
movi a2, 2 /* 0x00000002 */ # 113: 0c22
addi a3, sp, 80 /* (local0) */ # 115: 32c150
addi a4, sp, 112 /* (local2) */ # 118: 42c170
movi a6, 16 /* 0x00000010 */ # 11b: 1c06
l32i a5, sp, 144 /* [(local4)] */ # 11d: 522124
movi a7, 64 /* 0x00000040 */ # 120: 4c07
addi a8, sp, 16 /* (FP)-0xc0 */ # 122: 82c110
s32i a8, sp, 80 /* (FP)-0xc0 -> [(local0)] */ # 125: 826114
s32i a7, sp, 112 /* 0x00000040 -> [(local2)] */ # 128: 72611c
s32i a5, sp, 84 /* [(local4)] -> [(local1)] */ # 12b: 526115
s32i a6, sp, 116 /* 0x00000010 -> [(local3)] */ # 12e: 62611d
call0 sdk_md5_vector # 131: 01b9ffc0
# 135: 0000
.Lbr009: l32i a12, sp, 152 /* [(local6)] */ # 137: c22126
l32i a13, sp, 156 /* [(local7)] */ # 13a: d22127
l32i a14, sp, 160 /* [(local8)] */ # 13d: e22128
movi a3, 208 /* 0x000000d0 */ # 140: 32a0d0
l32i a0, sp, 148 /* [(local5)] */ # 143: 022125
add sp, sp, a3 /* (top of frame) */ # 146: 3a11
ret # 148: 0df0
.balign 4
# Function @ .irom0.text+0x14c
# Local variables/stack:
# (local0): word[6] @ -0x30
# (local1): word @ -0x18
# (local2): word[5] @ -0x14
.global sdk_hmac_md5
.type sdk_hmac_md5, @function
sdk_hmac_md5:
mov a7, a6 /* arg4 */ # 14c: 7d06
mov a9, a5 /* arg3 */ # 14e: 9d05
addi sp, sp, -48 /* (local0) */ # 150: 12c1d0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 153: 0901
s32i a4, sp, 24 /* arg2 -> [(local1)] */ # 155: 4961
addi a5, sp, 24 /* (local1) */ # 157: 52c118
addi a6, sp, 28 /* (local2) */ # 15a: 62c11c
s32i a9, sp, 28 /* arg3 -> [(local2)] */ # 15d: 9971
movi a4, 1 /* 0x00000001 */ # 15f: 0c14
call0 sdk_hmac_md5_vector # 161: 050000
l32i a0, sp, 0 /* [(local0)] */ # 164: 0801
addi sp, sp, 48 /* (top of frame) */ # 166: 12c130
ret # 169: 0df0

View file

@ -0,0 +1,65 @@
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
.global sdk_os_get_time
.type sdk_os_get_time, @function
sdk_os_get_time:
movi a2, 0 /* 0x00000000 */ # 0: 0c02
ret /* 0x00000000 */ # 2: 0df0
.literal_position # 4: 00000000
# Function @ .irom0.text+0x8
# Local variables/stack:
# (local0): word[4] @ -0x10
.global os_random
.type os_random, @function
os_random: addi sp, sp, -16 /* (local0) */ # 8: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b: 0901
call0 rand # d: 01fdffc0
# 11: 0000
l32i a0, sp, 0 /* [(local0)] */ # 13: 0801
addi sp, sp, 16 /* (top of frame) */ # 15: 12c110
ret # 18: 0df0
.literal_position # 1c: 00000000
# 20: 00000000
# Function @ .irom0.text+0x24
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global os_get_random
.type os_get_random, @function
os_get_random:
addi sp, sp, -32 /* (local0) */ # 24: 12c1e0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 27: 0911
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 29: d931
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 2b: c921
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 2d: e941
mov a12, a2 /* arg0 */ # 2f: cd02
srli a14, a3, 2 # 31: 30e241
blti a14, 1, .Lbr002 # 34: a61e1c
movi a13, 0 /* 0x00000000 */ # 37: 0c0d
.Lbr001: call0 rand # 39: 01f8ffc0
# 3d: 0000
mov a3, sp /* (local0) */ # 3f: 3d01
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 41: 2901
movi a4, 4 /* 0x00000004 */ # 43: 0c44
mov a2, a12 # 45: 2d0c
call0 memcpy # 47: 01f6ffc0
# 4b: 0000
addi a12, a12, 4 # 4d: 4bcc
addi a13, a13, 1 # 4f: 1bdd
bne a13, a14, .Lbr001 # 51: e79de4
.Lbr002: movi a2, 0 /* 0x00000000 */ # 54: 0c02
l32i a12, sp, 8 /* [(local2)] */ # 56: c821
l32i a13, sp, 12 /* [(local3)] */ # 58: d831
l32i a14, sp, 16 /* [(local4)] */ # 5a: e841
l32i a0, sp, 4 /* [(local1)] */ # 5c: 0811
addi sp, sp, 32 /* (top of frame) */ # 5e: 12c120
ret /* 0x00000000 */ # 61: 0df0

100
binary_sdk/libwpa/rc4.S Normal file
View file

@ -0,0 +1,100 @@
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_rc4_skip
.type sdk_rc4_skip, @function
sdk_rc4_skip:
movi a10, 0 /* 0x00000000 */ # 0: 0c0a
movi a9, 0 /* 0x00000000 */ # 2: 0c09
movi a7, 288 /* 0x00000120 */ # 4: 72a120
sub sp, sp, a7 /* (FP)-0x120 */ # 7: 7011c0
s32i a12, sp, 0x108 /* a12 -> [(local2)] */ # a: c26142
s32i a14, sp, 0x110 /* a14 -> [(local4)] */ # d: e26144
s32i a13, sp, 0x10c /* a13 -> [(local3)] */ # 10: d26143
s32i a5, sp, 0x100 /* arg3 -> [(local0)] */ # 13: 526140
s32i a0, sp, 0x104 /* a0 -> [(local1)] */ # 16: 026141
mov a0, sp /* (FP)-0x120 */ # 19: 0d01
.Lbr001: s8i a10, a0, 0 # 1b: a24000
addi a0, a0, 1 # 1e: 1b00
addi a10, a10, 1 # 20: 1baa
bnei a10, 0x100, .Lbr001 # 22: 66faf5
movi a5, 0 /* 0x00000000 */ # 25: 0c05
mov a13, sp /* (FP)-0x120 */ # 27: dd01
addmi a14, sp, 256 /* (local0) */ # 29: e2d101
mov a0, sp /* (FP)-0x120 */ # 2c: 0d01
movi a10, 0 /* 0x00000000 */ # 2e: 0c0a
add a12, a2, a10 /* arg0 */ # 30: aac2
.Lbr002: l8ui a11, a0, 0 # 32: b20000
l8ui a12, a12, 0 # 35: c20c00
add a9, a11, a9 # 38: 9a9b
add a9, a12, a9 # 3a: 9a9c
addi a12, a10, 1 # 3c: 1bca
extui a9, a9, 0, 8 # 3e: 909074
mov a10, a5 /* 0x00000000 */ # 41: ad05
add a7, a9, a13 # 43: da79
l8ui a8, a7, 0 # 45: 820700
s8i a8, a0, 0 # 48: 824000
s8i a11, a7, 0 # 4b: b24700
addi a0, a0, 1 # 4e: 1b00
bgeu a12, a3, .Lbr003 # 50: 37bc01
mov a10, a12 # 53: ad0c
.Lbr003: add a12, a2, a10 # 55: aac2
bne a0, a14, .Lbr002 # 57: e790d7
l32i a5, sp, 0x100 /* [(local0)] */ # 5a: 522140
beqz a4, .Lbr005 # 5d: ac64
movi a10, 0 /* 0x00000000 */ # 5f: 0c0a
movi a9, 0 /* 0x00000000 */ # 61: 0c09
movi a0, 0 /* 0x00000000 */ # 63: 0c00
.Lbr004: addi a10, a10, 1 # 65: 1baa
extui a10, a10, 0, 8 # 67: a0a074
add a2, a10, a13 # 6a: da2a
l8ui a11, a2, 0 # 6c: b20200
addi a0, a0, 1 # 6f: 1b00
add a9, a11, a9 # 71: 9a9b
extui a9, a9, 0, 8 # 73: 909074
add a12, a9, a13 # 76: dac9
l8ui a14, a12, 0 # 78: e20c00
s8i a14, a2, 0 # 7b: e24200
s8i a11, a12, 0 # 7e: b24c00
bne a4, a0, .Lbr004 # 81: 0794e0
j .Lbr006 # 84: c60000
.Lbr005: movi a9, 0 /* 0x00000000 */ # 87: 0c09
movi a10, 0 /* 0x00000000 */ # 89: 0c0a
.Lbr006: beqz a6, .Lbr008 # 8b: bc76
movi a0, 0 /* 0x00000000 */ # 8d: 0c00
.Lbr007: addi a10, a10, 1 # 8f: 1baa
extui a10, a10, 0, 8 # 91: a0a074
add a12, a10, a13 # 94: daca
l8ui a14, a12, 0 # 96: e20c00
add a9, a14, a9 # 99: 9a9e
extui a9, a9, 0, 8 # 9b: 909074
add a2, a9, a13 # 9e: da29
l8ui a3, a2, 0 # a0: 320200
s8i a3, a12, 0 # a3: 324c00
s8i a14, a2, 0 # a6: e24200
l8ui a12, a12, 0 # a9: c20c00
l8ui a11, a5, 0 # ac: b20500
add a12, a12, a14 # af: eacc
extui a12, a12, 0, 8 # b1: c0c074
add a12, a13, a12 # b4: cacd
l8ui a12, a12, 0 # b6: c20c00
addi a0, a0, 1 # b9: 1b00
xor a11, a11, a12 # bb: c0bb30
s8i a11, a5, 0 # be: b24500
addi a5, a5, 1 # c1: 1b55
bne a6, a0, .Lbr007 # c3: 0796c8
.Lbr008: movi a2, 0 /* 0x00000000 */ # c6: 0c02
l32i a12, sp, 0x108 /* [(local2)] */ # c8: c22142
l32i a13, sp, 0x10c /* [(local3)] */ # cb: d22143
l32i a14, sp, 0x110 /* [(local4)] */ # ce: e22144
movi a3, 288 /* 0x00000120 */ # d1: 32a120
l32i a0, sp, 0x104 /* [(local1)] */ # d4: 022141
add sp, sp, a3 /* (top of frame) */ # d7: 3a11
ret /* 0x00000000 */ # d9: 0df0

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,176 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# Function @ .irom0.text+0x14
# Local variables/stack:
# (local0): word @ -0x90
# (local1): word @ -0x8c
# (local2): word @ -0x88
# (local3): word @ -0x84
# (local4): byte @ -0x80
# (local5): byte @ -0x7f
# (local6): byte @ -0x7e
# (local7): byte[77] @ -0x7d
# (local8): word @ -0x30
# (local9): word @ -0x2c
# (local10): word @ -0x28
# (local11): word @ -0x24
# (local12): word @ -0x20
# (local13): word @ -0x1c
# (local14): word @ -0x18
# (local15): word @ -0x14
# (local16): word[4] @ -0x10
.Lfunc001: movi a8, 144 /* 0x00000090 */ # 14: 82a090
sub sp, sp, a8 /* (local0) */ # 17: 8011c0
s32i a5, sp, 124 /* arg3 -> [(local15)] */ # 1a: 52611f
s32i a7, sp, 96 /* arg5 -> [(local8)] */ # 1d: 726118
s32i a0, sp, 100 /* a0 -> [(local9)] */ # 20: 026119
s32i a3, sp, 128 /* arg1 -> [(local16)] */ # 23: 326120
s32i a15, sp, 116 /* a15 -> [(local13)] */ # 26: f2611d
s32i a14, sp, 112 /* a14 -> [(local12)] */ # 29: e2611c
s32i a12, sp, 104 /* a12 -> [(local10)] */ # 2c: c2611a
s32i a13, sp, 108 /* a13 -> [(local11)] */ # 2f: d2611b
mov a12, a6 /* arg4 */ # 32: cd06
mov a13, a4 /* arg2 */ # 34: dd04
mov a14, a2 /* arg0 */ # 36: ed02
l32i a15, sp, 128 /* [(local16)] */ # 38: f22120
call0 strlen # 3b: 01f1ffc0
# 3f: 0000
s32i a15, sp, 0 /* [(local16)] -> [(local0)] */ # 41: f901
s32i a13, sp, 8 /* arg2 -> [(local2)] */ # 43: d921
addi a6, sp, 8 /* (local2) */ # 45: 8b61
addi a7, sp, 32 /* (FP)-0x70 */ # 47: 72c120
s8i a12, sp, 19 /* arg4 -> [(local7)] */ # 4a: c24113
extui a5, a12, 24, 8 # 4d: c05875
extui a4, a12, 16, 16 # 50: c040f5
srli a3, a12, 8 # 53: c03841
movi a0, 4 /* 0x00000004 */ # 56: 0c40
s32i a0, sp, 12 /* 0x00000004 -> [(local3)] */ # 58: 0931
s8i a3, sp, 18 /* a3 -> [(local6)] */ # 5a: 324112
s8i a4, sp, 17 /* a4 -> [(local5)] */ # 5d: 424111
s8i a5, sp, 16 /* a5 -> [(local4)] */ # 60: 524110
movi a4, 2 /* 0x00000002 */ # 63: 0c24
mov a5, sp /* (local0) */ # 65: 5d01
mov a12, a2 # 67: cd02
addi a2, sp, 16 /* (local4) */ # 69: 22c110
mov a3, a12 # 6c: 3d0c
s32i a2, sp, 4 /* (local4) -> [(local1)] */ # 6e: 2911
mov a2, a14 /* arg0 */ # 70: 2d0e
call0 sdk_hmac_sha1_vector # 72: 01e4ffc0
# 76: 0000
bnez a2, .Lbr005 # 78: 569207
addi a3, sp, 32 /* (FP)-0x70 */ # 7b: 32c120
movi a4, 20 /* 0x00000014 */ # 7e: 1c44
l32i a15, sp, 96 /* [(local8)] */ # 80: f22118
s32i a12, sp, 120 /* a12 -> [(local14)] */ # 83: c2611e
mov a2, a15 /* [(local8)] */ # 86: 2d0f
call0 memcpy # 88: 01e0ffc0
# 8c: 0000
l32i a6, sp, 124 /* [(local15)] */ # 8e: 62211f
blti a6, 2, .Lbr003 # 91: a62648
addi a12, a15, 20 /* [(local8)]+0x14 */ # 94: c2cf14
movi a13, 1 /* 0x00000001 */ # 97: 0c1d
.Lbr001: mov a2, a14 /* arg0 */ # 99: 2d0e
l32i a3, sp, 120 /* [(local14)] */ # 9b: 32211e
addi a4, sp, 32 /* (FP)-0x70 */ # 9e: 42c120
movi a5, 20 /* 0x00000014 */ # a1: 1c45
addi a6, sp, 64 /* (FP)-0x50 */ # a3: 62c140
call0 sdk_hmac_sha1 # a6: 01d9ffc0
# aa: 0000
bnez a2, .Lbr005 # ac: 565204
addi a2, sp, 32 /* (FP)-0x70 */ # af: 22c120
addi a3, sp, 64 /* (FP)-0x50 */ # b2: 32c140
movi a4, 20 /* 0x00000014 */ # b5: 1c44
call0 memcpy # b7: 01d6ffc0
# bb: 0000
mov a2, a15 /* [(local8)] */ # bd: 2d0f
addi a0, sp, 64 /* (FP)-0x50 */ # bf: 02c140
l32i a9, sp, 124 /* [(local15)] */ # c2: 92211f
addi a13, a13, 1 # c5: 1bdd
.Lbr002: l8ui a7, a2, 0 # c7: 720200
l8ui a8, a0, 0 # ca: 820000
addi a0, a0, 1 # cd: 1b00
xor a7, a7, a8 # cf: 807730
s8i a7, a2, 0 # d2: 724200
addi a2, a2, 1 # d5: 1b22
bne a2, a12, .Lbr002 # d7: c792ec
bne a9, a13, .Lbr001 # da: d799bb
.Lbr003: movi a2, 0 /* 0x00000000 */ # dd: 0c02
.Lbr004: l32i a12, sp, 104 /* [(local10)] */ # df: c2211a
l32i a13, sp, 108 /* [(local11)] */ # e2: d2211b
l32i a14, sp, 112 /* [(local12)] */ # e5: e2211c
l32i a15, sp, 116 /* [(local13)] */ # e8: f2211d
movi a3, 144 /* 0x00000090 */ # eb: 32a090
l32i a0, sp, 100 /* [(local9)] */ # ee: 022119
add sp, sp, a3 /* (top of frame) */ # f1: 3a11
ret # f3: 0df0
.Lbr005: movi a2, -1 /* 0xffffffff */ # f5: 7cf2
j .Lbr004 # f7: 06f9ff
.literal_position # fc: 00000000
# Function @ .irom0.text+0x100
# Local variables/stack:
# (local0): word @ -0x30
# (local1): word @ -0x2c
# (local2): word @ -0x28
# (local3): word @ -0x24
# (local4): word @ -0x20
# (local5): word @ -0x1c
# (local6): word @ -0x18
# (local7): word @ -0x14
# (local8): word[4] @ -0x10
.global sdk_pbkdf2_sha1
.type sdk_pbkdf2_sha1, @function
sdk_pbkdf2_sha1:
addi sp, sp, -80 /* (FP)-0x50 */ # 100: 12c1b0
s32i a14, sp, 44 /* a14 -> [(local3)] */ # 103: e9b1
s32i a0, sp, 32 /* a0 -> [(local0)] */ # 105: 0981
s32i a2, sp, 52 /* arg0 -> [(local5)] */ # 107: 29d1
s32i a3, sp, 56 /* arg1 -> [(local6)] */ # 109: 39e1
s32i a4, sp, 60 /* arg2 -> [(local7)] */ # 10b: 49f1
s32i a5, sp, 64 /* arg3 -> [(local8)] */ # 10d: 526110
s32i a15, sp, 48 /* a15 -> [(local4)] */ # 110: f9c1
s32i a13, sp, 40 /* a13 -> [(local2)] */ # 112: d9a1
s32i a12, sp, 36 /* a12 -> [(local1)] */ # 114: c991
mov a13, a6 /* arg4 */ # 116: dd06
mov a12, a7 /* arg5 */ # 118: cd07
beqz a7, .Lbr009 # 11a: bc67
movi a15, 0 /* 0x00000000 */ # 11c: 0c0f
.Lbr006: l32i a2, sp, 52 /* [(local5)] */ # 11e: 28d1
l32i a3, sp, 56 /* [(local6)] */ # 120: 38e1
l32i a4, sp, 60 /* [(local7)] */ # 122: 48f1
l32i a5, sp, 64 /* [(local8)] */ # 124: 522110
mov a7, sp /* (FP)-0x50 */ # 127: 7d01
addi a15, a15, 1 # 129: 1bff
mov a6, a15 # 12b: 6d0f
call0 .Lfunc001 # 12d: 45eeff
beqz a2, .Lbr007 # 130: 8c32
movi a2, -1 /* 0xffffffff */ # 132: 7cf2
j .Lbr010 # 134: 860700
.Lbr007: movi a2, 20 /* 0x00000014 */ # 137: 1c42
mov a14, a2 /* 0x00000014 */ # 139: ed02
bltu a2, a12, .Lbr008 # 13b: c73201
mov a14, a12 # 13e: ed0c
.Lbr008: mov a2, a13 # 140: 2d0d
mov a3, sp /* (FP)-0x50 */ # 142: 3d01
mov a4, a14 # 144: 4d0e
call0 memcpy # 146: 01edffc0
# 14a: 0000
add a13, a13, a14 # 14c: eadd
sub a12, a12, a14 # 14e: e0ccc0
bnez a12, .Lbr006 # 151: 569cfc
.Lbr009: movi a2, 0 /* 0x00000000 */ # 154: 0c02
.Lbr010: l32i a12, sp, 36 /* [(local1)] */ # 156: c891
l32i a13, sp, 40 /* [(local2)] */ # 158: d8a1
l32i a14, sp, 44 /* [(local3)] */ # 15a: e8b1
l32i a15, sp, 48 /* [(local4)] */ # 15c: f8c1
l32i a0, sp, 32 /* [(local0)] */ # 15e: 0881
addi sp, sp, 80 /* (top of frame) */ # 160: 12c150
ret # 163: 0df0

266
binary_sdk/libwpa/sha1.S Normal file
View file

@ -0,0 +1,266 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 00000000
# 18: 00000000
# Function @ .irom0.text+0x1c
# Local variables/stack:
# (local0): word @ -0x80
# (local1): word[7] @ -0x7c
# (local2): word @ -0x60
# (local3): word[7] @ -0x5c
# (local4): word @ -0x40
# (local5): word @ -0x3c
# (local6): word @ -0x38
# (local7): word @ -0x34
# (local8): word @ -0x30
# (local9): word[3] @ -0x2c
# (local10): word @ -0x20
# (local11): word[7] @ -0x1c
.global sdk_hmac_sha1_vector
.type sdk_hmac_sha1_vector, @function
sdk_hmac_sha1_vector:
movi a8, 224 /* 0x000000e0 */ # 1c: 82a0e0
sub sp, sp, a8 /* (FP)-0xe0 */ # 1f: 8011c0
s32i a3, sp, 196 /* arg1 -> [(local11)] */ # 22: 326131
s32i a2, sp, 192 /* arg0 -> [(local10)] */ # 25: 226130
s32i a0, sp, 164 /* a0 -> [(local5)] */ # 28: 026129
s32i a13, sp, 172 /* a13 -> [(local7)] */ # 2b: d2612b
s32i a12, sp, 168 /* a12 -> [(local6)] */ # 2e: c2612a
s32i a14, sp, 176 /* a14 -> [(local8)] */ # 31: e2612c
mov a12, a5 /* arg3 */ # 34: cd05
mov a14, a4 /* arg2 */ # 36: ed04
mov a13, a6 /* arg4 */ # 38: dd06
movi a0, 196 /* 0x000000c4 */ # 3a: 02a0c4
add a0, sp, a0 /* (local11) */ # 3d: 0a01
movi a6, 192 /* 0x000000c0 */ # 3f: 62a0c0
add a6, sp, a6 /* (local10) */ # 42: 6a61
bltui a4, 6, .Lbr001 # 44: b66402
j .Lbr006 # 47: 062600
.Lbr001: s32i a7, sp, 160 /* arg5 -> [(local4)] */ # 4a: 726128
movi a2, 64 /* 0x00000040 */ # 4d: 4c02
bgeu a2, a3, .Lbr002 # 4f: 37b218
mov a3, a6 /* (local10) */ # 52: 3d06
movi a2, 1 /* 0x00000001 */ # 54: 0c12
mov a5, sp /* (FP)-0xe0 */ # 56: 5d01
mov a4, a0 /* (local11) */ # 58: 4d00
call0 sdk_sha1_vector # 5a: 01e9ffc0
# 5e: 0000
bnez a2, .Lbr006 # 60: 56f207
s32i sp, sp, 192 /* (FP)-0xe0 -> [(local10)] */ # 63: 126130
movi a6, 20 /* 0x00000014 */ # 66: 1c46
s32i a6, sp, 196 /* 0x00000014 -> [(local11)] */ # 68: 626131
.Lbr002: addi a2, sp, 32 /* (FP)-0xc0 */ # 6b: 22c120
movi a3, 0 /* 0x00000000 */ # 6e: 0c03
movi a4, 64 /* 0x00000040 */ # 70: 4c04
call0 memset # 72: 01e4ffc0
# 76: 0000
l32i a3, sp, 192 /* [(local10)] */ # 78: 322130
l32i a4, sp, 196 /* [(local11)] */ # 7b: 422131
addi a2, sp, 32 /* (FP)-0xc0 */ # 7e: 22c120
s32i a14, sp, 180 /* arg2 -> [(local9)] */ # 81: e2612d
call0 memcpy # 84: 01e1ffc0
# 88: 0000
l32i a4, sp, 180 /* [(local9)] */ # 8a: 42212d
addi a0, sp, 32 /* (FP)-0xc0 */ # 8d: 02c120
addi a14, sp, 96 /* (local0) */ # 90: e2c160
movi a2, 54 /* 0x00000036 */ # 93: 3c62
movi a6, 64 /* 0x00000040 */ # 95: 4c06
s32i a6, sp, 128 /* 0x00000040 -> [(local2)] */ # 97: 626120
addi a6, sp, 32 /* (FP)-0xc0 */ # 9a: 62c120
s32i a6, sp, 96 /* (FP)-0xc0 -> [(local0)] */ # 9d: 626118
.Lbr003: l8ui a5, a0, 0 # a0: 520000
xor a5, a5, a2 # a3: 205530
s8i a5, a0, 0 # a6: 524000
addi a0, a0, 1 # a9: 1b00
bne a0, a14, .Lbr003 # ab: e790f1
beqz a4, .Lbr005 # ae: 9cc4
addi a2, sp, 96 /* (local0) */ # b0: 22c160
addx4 a3, a4, a12 # b3: c034a0
addi a0, sp, 127 /* (FP)-0x61 */ # b6: 02c17f
addi a0, a0, 1 /* (local2) */ # b9: 1b00
.Lbr004: l32i a5, a13, 0 # bb: 580d
l32i a6, a12, 0 # bd: 680c
addi a13, a13, 4 # bf: 4bdd
addi a12, a12, 4 # c1: 4bcc
s32i a6, a2, 4 # c3: 6912
s32i a5, a0, 4 # c5: 5910
addi a2, a2, 4 # c7: 4b22
addi a0, a0, 4 # c9: 4b00
bne a12, a3, .Lbr004 # cb: 379cec
.Lbr005: addi a3, sp, 96 /* (local0) */ # ce: 32c160
addi a2, a4, 1 /* [(local9)]+0x1 */ # d1: 1b24
l32i a5, sp, 160 /* [(local4)] */ # d3: 522128
addi a4, sp, 127 /* (FP)-0x61 */ # d6: 42c17f
addi a4, a4, 1 /* (local2) */ # d9: 1b44
call0 sdk_sha1_vector # db: 01ccffc0
# df: 0000
beqz a2, .Lbr007 # e1: 8c32
.Lbr006: movi a2, -1 /* 0xffffffff */ # e3: 7cf2
j .Lbr009 # e5: 061500
.Lbr007: addi a2, sp, 32 /* (FP)-0xc0 */ # e8: 22c120
movi a3, 0 /* 0x00000000 */ # eb: 0c03
movi a4, 64 /* 0x00000040 */ # ed: 4c04
call0 memset # ef: 01c8ffc0
# f3: 0000
l32i a3, sp, 192 /* [(local10)] */ # f5: 322130
l32i a4, sp, 196 /* [(local11)] */ # f8: 422131
addi a2, sp, 32 /* (FP)-0xc0 */ # fb: 22c120
call0 memcpy # fe: 01c5ffc0
# 102: 0000
addi a0, sp, 32 /* (FP)-0xc0 */ # 104: 02c120
movi a2, 92 /* 0x0000005c */ # 107: 5cc2
.Lbr008: l8ui a5, a0, 0 # 109: 520000
xor a5, a5, a2 # 10c: 205530
s8i a5, a0, 0 # 10f: 524000
addi a0, a0, 1 # 112: 1b00
bne a0, a14, .Lbr008 # 114: e790f1
movi a2, 2 /* 0x00000002 */ # 117: 0c22
addi a3, sp, 96 /* (local0) */ # 119: 32c160
addi a4, sp, 127 /* (FP)-0x61 */ # 11c: 42c17f
movi a6, 20 /* 0x00000014 */ # 11f: 1c46
l32i a5, sp, 160 /* [(local4)] */ # 121: 522128
movi a7, 64 /* 0x00000040 */ # 124: 4c07
addi a8, sp, 32 /* (FP)-0xc0 */ # 126: 82c120
s32i a8, sp, 96 /* (FP)-0xc0 -> [(local0)] */ # 129: 826118
s32i a7, sp, 128 /* 0x00000040 -> [(local2)] */ # 12c: 726120
s32i a5, sp, 100 /* [(local4)] -> [(local1)] */ # 12f: 526119
s32i a6, sp, 132 /* 0x00000014 -> [(local3)] */ # 132: 626121
addi a4, a4, 1 /* (local2) */ # 135: 1b44
call0 sdk_sha1_vector # 137: 01b8ffc0
# 13b: 0000
.Lbr009: l32i a12, sp, 168 /* [(local6)] */ # 13d: c2212a
l32i a13, sp, 172 /* [(local7)] */ # 140: d2212b
l32i a14, sp, 176 /* [(local8)] */ # 143: e2212c
movi a3, 224 /* 0x000000e0 */ # 146: 32a0e0
l32i a0, sp, 164 /* [(local5)] */ # 149: 022129
add sp, sp, a3 /* (top of frame) */ # 14c: 3a11
ret # 14e: 0df0
# Function @ .irom0.text+0x150
# Local variables/stack:
# (local0): word[6] @ -0x30
# (local1): word @ -0x18
# (local2): word[5] @ -0x14
.global sdk_hmac_sha1
.type sdk_hmac_sha1, @function
sdk_hmac_sha1:
mov a7, a6 /* arg4 */ # 150: 7d06
mov a9, a5 /* arg3 */ # 152: 9d05
addi sp, sp, -48 /* (local0) */ # 154: 12c1d0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 157: 0901
s32i a4, sp, 24 /* arg2 -> [(local1)] */ # 159: 4961
addi a5, sp, 24 /* (local1) */ # 15b: 52c118
addi a6, sp, 28 /* (local2) */ # 15e: 62c11c
s32i a9, sp, 28 /* arg3 -> [(local2)] */ # 161: 9971
movi a4, 1 /* 0x00000001 */ # 163: 0c14
call0 sdk_hmac_sha1_vector # 165: 050000
l32i a0, sp, 0 /* [(local0)] */ # 168: 0801
addi sp, sp, 48 /* (top of frame) */ # 16a: 12c130
ret # 16d: 0df0
.literal_position # 170: 00000000
# 174: 00000000
# Function @ .irom0.text+0x178
# Local variables/stack:
# (local0): byte[16] @ -0x80
# (local1): word @ -0x70
# (local2): word @ -0x6c
# (local3): word[2] @ -0x68
# (local4): word @ -0x60
# (local5): word @ -0x5c
# (local6): word[10] @ -0x58
# (local7): word @ -0x30
# (local8): word @ -0x2c
# (local9): word @ -0x28
# (local10): word @ -0x24
# (local11): word @ -0x20
# (local12): word @ -0x1c
# (local13): word @ -0x18
# (local14): word @ -0x14
# (local15): word[4] @ -0x10
.global sdk_sha1_prf
.type sdk_sha1_prf, @function
sdk_sha1_prf:
addi sp, sp, -128 /* (local0) */ # 178: 12c180
s32i a5, sp, 88 /* arg3 -> [(local9)] */ # 17b: 526116
s32i a7, sp, 84 /* arg5 -> [(local8)] */ # 17e: 726115
s32i a15, sp, 108 /* a15 -> [(local14)] */ # 181: f2611b
s32i a0, sp, 92 /* a0 -> [(local10)] */ # 184: 026117
s32i a12, sp, 96 /* a12 -> [(local11)] */ # 187: c26118
s32i a2, sp, 112 /* arg0 -> [(local15)] */ # 18a: 22611c
s32i a13, sp, 100 /* a13 -> [(local12)] */ # 18d: d26119
s32i a14, sp, 104 /* a14 -> [(local13)] */ # 190: e2611a
mov a13, a6 /* arg4 */ # 193: dd06
mov a14, a3 /* arg1 */ # 195: ed03
mov a2, a4 /* arg2 */ # 197: 2d04
mov a12, a4 /* arg2 */ # 199: cd04
movi a0, 0 /* 0x00000000 */ # 19b: 0c00
l32i a15, sp, 112 /* [(local15)] */ # 19d: f2211c
s8i a0, sp, 0 /* 0x00 -> [(local0)] */ # 1a0: 024100
call0 strlen # 1a3: 01f3ffc0
# 1a7: 0000
s32i sp, sp, 24 /* (local0) -> [(local3)] */ # 1a9: 1961
s32i a12, sp, 16 /* arg2 -> [(local1)] */ # 1ab: c941
s32i a13, sp, 36 /* arg4 -> [(local5)] */ # 1ad: d991
addi a2, a2, 1 # 1af: 1b22
l32i a3, sp, 88 /* [(local9)] */ # 1b1: 322116
s32i a3, sp, 20 /* [(local9)] -> [(local2)] */ # 1b4: 3951
s32i a2, sp, 32 /* a2 -> [(local4)] */ # 1b6: 2981
l32i a13, sp, 128 /* [(local16)] */ # 1b8: d22120
movi a2, 1 /* 0x00000001 */ # 1bb: 0c12
s32i a2, sp, 40 /* 0x00000001 -> [(local6)] */ # 1bd: 29a1
beqz a13, .Lbr014 # 1bf: 16fd05
movi a0, 19 /* 0x00000013 */ # 1c2: 1c30
movi a12, 0 /* 0x00000000 */ # 1c4: 0c0c
.Lbr010: sub a4, a13, a12 # 1c6: c04dc0
s32i a4, sp, 80 /* a4 -> [(local7)] */ # 1c9: 426114
bgeu a0, a4, .Lbr011 # 1cc: 47b028
mov a2, a15 /* [(local15)] */ # 1cf: 2d0f
mov a3, a14 /* arg1 */ # 1d1: 3d0e
movi a4, 3 /* 0x00000003 */ # 1d3: 0c34
addi a5, sp, 16 /* (local1) */ # 1d5: 52c110
l32i a7, sp, 84 /* [(local8)] */ # 1d8: 722115
addi a6, sp, 32 /* (local4) */ # 1db: 62c120
add a7, a7, a12 # 1de: ca77
call0 sdk_hmac_sha1_vector # 1e0: 050000
bnez a2, .Lbr012 # 1e3: ec52
movi a0, 19 /* 0x00000013 */ # 1e5: 1c30
l8ui a8, sp, 0 /* [(local0)] */ # 1e7: 820100
addi a12, a12, 20 # 1ea: c2cc14
addi a8, a8, 1 /* [(local0)]+0x1 */ # 1ed: 1b88
s8i a8, sp, 0 /* [(local0)]+0x1 -> [(local0)] */ # 1ef: 824100
bltu a12, a13, .Lbr010 # 1f2: d73cd0
j .Lbr014 # 1f5: 460a00
.Lbr011: mov a3, a14 /* arg1 */ # 1f8: 3d0e
mov a2, a15 /* [(local15)] */ # 1fa: 2d0f
movi a4, 3 /* 0x00000003 */ # 1fc: 0c34
addi a5, sp, 16 /* (local1) */ # 1fe: 52c110
addi a6, sp, 32 /* (local4) */ # 201: 62c120
addi a7, sp, 48 /* (FP)-0x50 */ # 204: 72c130
call0 sdk_hmac_sha1_vector # 207: 050000
beqz a2, .Lbr013 # 20a: 8c32
.Lbr012: movi a2, -1 /* 0xffffffff */ # 20c: 7cf2
j .Lbr015 # 20e: 860400
.Lbr013: addi a3, sp, 48 /* (FP)-0x50 */ # 211: 32c130
l32i a2, sp, 84 /* [(local8)] */ # 214: 222115
l32i a4, sp, 80 /* [(local7)] */ # 217: 422114
add a2, a2, a12 # 21a: ca22
call0 memcpy # 21c: 01d6ffc0
# 220: 0000
.Lbr014: movi a2, 0 /* 0x00000000 */ # 222: 0c02
.Lbr015: l32i a12, sp, 96 /* [(local11)] */ # 224: c22118
l32i a13, sp, 100 /* [(local12)] */ # 227: d22119
l32i a14, sp, 104 /* [(local13)] */ # 22a: e2211a
l32i a15, sp, 108 /* [(local14)] */ # 22d: f2211b
movi a3, 128 /* 0x00000080 */ # 230: 32a080
l32i a0, sp, 92 /* [(local10)] */ # 233: 022117
add sp, sp, a3 /* (local16) */ # 236: 3a11
ret # 238: 0df0

View file

2653
binary_sdk/libwpa/wpa.S Normal file

File diff suppressed because it is too large Load diff

3524
binary_sdk/libwpa/wpa_auth.S Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,658 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# Function @ .irom0.text+0x8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.Lfunc001: movi a4, -35 /* 0xffffffdd */ # 8: 42afdd
movi a5, 0 /* 0x00000000 */ # b: 0c05
addi sp, sp, -16 /* (local0) */ # d: 12c1f0
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 10: d921
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 12: 0901
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 14: c911
movi a0, 80 /* 0x00000050 */ # 16: 5c00
mov a12, a3 /* arg1 */ # 18: cd03
s8i a5, a3, 7 /* 0x00 -> [arg1+0x7] */ # 1a: 524307
s8i a5, a3, 2 /* 0x00 -> [arg1+0x2] */ # 1d: 524302
mov a13, a2 /* arg0 */ # 20: dd02
s8i a4, a3, 0 /* 0xdd -> [arg1] */ # 22: 424300
movi a2, 1 /* 0x00000001 */ # 25: 0c12
s8i a2, a3, 6 /* 0x01 -> [arg1+0x6] */ # 27: 224306
s8i a2, a3, 5 /* 0x01 -> [arg1+0x5] */ # 2a: 224305
movi a3, -14 /* 0xfffffff2 */ # 2d: 7c23
s8i a0, a12, 3 /* 0x50 -> [arg1+0x3] */ # 2f: 024c03
s8i a3, a12, 4 /* 0xf2 -> [arg1+0x4] */ # 32: 324c04
l32i a3, a13, 12 /* [arg0+0xc] */ # 35: 383d
call0 sdk_wpa_cipher_to_suite # 37: 01f2ffc0
# 3b: 0000
beqz a2, .Lbr005 # 3d: 169208
s8i a2, a12, 11 /* a2 -> [arg1+0xb] */ # 40: 224c0b
extui a6, a2, 24, 8 # 43: 206875
extui a7, a2, 16, 16 # 46: 2070f5
srli a8, a2, 8 # 49: 208841
s8i a8, a12, 10 /* a8 -> [arg1+0xa] */ # 4c: 824c0a
s8i a7, a12, 9 /* a7 -> [arg1+0x9] */ # 4f: 724c09
s8i a6, a12, 8 /* a6 -> [arg1+0x8] */ # 52: 624c08
addi a2, a12, 14 /* arg1+0xe */ # 55: eb2c
l32i a3, a13, 8 /* [arg0+0x8] */ # 57: 382d
call0 sdk_wpa_cipher_put_suites # 59: 01eaffc0
# 5d: 0000
movi a0, 80 /* 0x00000050 */ # 5f: 5c00
movi a3, -14 /* 0xfffffff2 */ # 61: 7c23
movi a5, 0 /* 0x00000000 */ # 63: 0c05
beqz a2, .Lbr005 # 65: 161206
s8i a2, a12, 12 /* a2 -> [arg1+0xc] */ # 68: 224c0c
srli a9, a2, 8 # 6b: 209841
addx4 a8, a2, a12 # 6e: c082a0
addi a6, a8, 16 # 71: 62c810
s8i a9, a12, 13 /* a9 -> [arg1+0xd] */ # 74: 924c0d
l32i a7, a13, 4 /* [arg0+0x4] */ # 77: 781d
movi a9, 2 /* 0x00000002 */ # 79: 0c29
bbci a7, 0, .Lbr001 # 7b: 076717
movi a2, 1 /* 0x00000001 */ # 7e: 0c12
addi a6, a8, 20 # 80: 62c814
s8i a3, a8, 18 # 83: 324812
s8i a0, a8, 17 # 86: 024811
s8i a5, a8, 16 # 89: 524810
movi a10, 1 /* 0x00000001 */ # 8c: 0c1a
s8i a10, a8, 19 # 8e: a24813
l32i a7, a13, 4 /* [arg0+0x4] */ # 91: 781d
j .Lbr002 # 93: 460000
.Lbr001: movi a2, 0 /* 0x00000000 */ # 96: 0c02
.Lbr002: bbci a7, 1, .Lbr003 # 98: 17670f
addi a2, a2, 1 # 9b: 1b22
s8i a5, a6, 0 # 9d: 524600
s8i a0, a6, 1 # a0: 024601
s8i a3, a6, 2 # a3: 324602
s8i a9, a6, 3 # a6: 924603
addi a6, a6, 4 # a9: 4b66
.Lbr003: beqz a2, .Lbr005 # ab: 9cb2
s8i a2, a8, 14 # ad: 22480e
srli a13, a2, 8 # b0: 20d841
s8i a13, a8, 15 # b3: d2480f
sub a2, a6, a12 # b6: c026c0
addi a11, a2, -2 # b9: b2c2fe
s8i a11, a12, 1 /* a11 -> [arg1+0x1] */ # bc: b24c01
.Lbr004: l32i a12, sp, 4 /* [(local1)] */ # bf: c811
l32i a13, sp, 8 /* [(local2)] */ # c1: d821
l32i a0, sp, 0 /* [(local0)] */ # c3: 0801
addi sp, sp, 16 /* (top of frame) */ # c5: 12c110
ret # c8: 0df0
.Lbr005: movi a2, -1 /* 0xffffffff */ # ca: 7cf2
j .Lbr004 # cc: c6fbff
.literal_position # d0: 00000000
# d4: 00000000
# d8: 00000000
# Function @ .irom0.text+0xdc
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_wpa_write_rsn_ie
.type sdk_wpa_write_rsn_ie, @function
sdk_wpa_write_rsn_ie:
addi sp, sp, -32 /* (local0) */ # dc: 12c1e0
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # df: 4901
s32i a12, sp, 8 /* a12 -> [(local2)] */ # e1: c921
s32i a13, sp, 12 /* a13 -> [(local3)] */ # e3: d931
s32i a14, sp, 16 /* a14 -> [(local4)] */ # e5: e941
s32i a0, sp, 4 /* a0 -> [(local1)] */ # e7: 0911
mov a14, a5 /* arg3 */ # e9: ed05
movi a0, 0 /* 0x00000000 */ # eb: 0c00
mov a13, a3 /* arg1 */ # ed: dd03
mov a12, a2 /* arg0 */ # ef: cd02
movi a3, 48 /* 0x00000030 */ # f1: 3c03
movi a2, 1 /* 0x00000001 */ # f3: 0c12
s8i a0, a13, 3 /* 0x00 -> [arg1+0x3] */ # f5: 024d03
s8i a2, a13, 2 /* 0x01 -> [arg1+0x2] */ # f8: 224d02
s8i a3, a13, 0 /* 0x30 -> [arg1] */ # fb: 324d00
movi a2, 2 /* 0x00000002 */ # fe: 0c22
l32i a3, a12, 12 /* [arg0+0xc] */ # 100: 383c
call0 sdk_wpa_cipher_to_suite # 102: 01f3ffc0
# 106: 0000
beqz a2, .Lbr011 # 108: 16520d
s8i a2, a13, 7 /* a2 -> [arg1+0x7] */ # 10b: 224d07
extui a4, a2, 24, 8 # 10e: 204875
extui a5, a2, 16, 16 # 111: 2050f5
srli a6, a2, 8 # 114: 206841
s8i a6, a13, 6 /* a6 -> [arg1+0x6] */ # 117: 624d06
s8i a5, a13, 5 /* a5 -> [arg1+0x5] */ # 11a: 524d05
s8i a4, a13, 4 /* a4 -> [arg1+0x4] */ # 11d: 424d04
addi a2, a13, 10 /* arg1+0xa */ # 120: ab2d
l32i a3, a12, 32 /* [arg0+0x20] */ # 122: 388c
call0 sdk_rsn_cipher_put_suites # 124: 01ecffc0
# 128: 0000
movi a0, 0 /* 0x00000000 */ # 12a: 0c00
movi a10, 1 /* 0x00000001 */ # 12c: 0c1a
beqz a2, .Lbr011 # 12e: 16f20a
movi a8, -84 /* 0xffffffac */ # 131: 82afac
movi a9, 15 /* 0x0000000f */ # 134: 0cf9
movi a11, 2 /* 0x00000002 */ # 136: 0c2b
addx4 a5, a2, a13 # 138: d052a0
s8i a2, a13, 8 /* a2 -> [arg1+0x8] */ # 13b: 224d08
srli a7, a2, 8 # 13e: 207841
s8i a7, a13, 9 /* a7 -> [arg1+0x9] */ # 141: 724d09
l32i a7, a12, 4 /* [arg0+0x4] */ # 144: 781c
addi a2, a5, 12 # 146: cb25
bbci a7, 0, .Lbr006 # 148: 076715
movi a3, 1 /* 0x00000001 */ # 14b: 0c13
addi a2, a5, 16 # 14d: 22c510
s8i a0, a5, 12 # 150: 02450c
s8i a9, a5, 13 # 153: 92450d
s8i a8, a5, 14 # 156: 82450e
s8i a10, a5, 15 # 159: a2450f
l32i a7, a12, 4 /* [arg0+0x4] */ # 15c: 781c
j .Lbr007 # 15e: 460000
.Lbr006: movi a3, 0 /* 0x00000000 */ # 161: 0c03
.Lbr007: bbci a7, 1, .Lbr008 # 163: 17670f
addi a3, a3, 1 # 166: 1b33
s8i a9, a2, 1 # 168: 924201
s8i a8, a2, 2 # 16b: 824202
s8i a11, a2, 3 # 16e: b24203
s8i a0, a2, 0 # 171: 024200
addi a2, a2, 4 # 174: 4b22
.Lbr008: beqz a3, .Lbr011 # 176: 167306
movi a9, 12 /* 0x0000000c */ # 179: 0cc9
movi a4, 0 /* 0x00000000 */ # 17b: 0c04
movi a8, 1 /* 0x00000001 */ # 17d: 0c18
s8i a3, a5, 10 # 17f: 32450a
srli a7, a3, 8 # 182: 307841
s8i a7, a5, 11 # 185: 72450b
l32i a6, a12, 36 /* [arg0+0x24] */ # 188: 689c
movi a11, 512 /* 0x00000200 */ # 18a: b2a200
moveqz a8, a4, a6 # 18d: 608483
l32i a4, a12, 44 /* [arg0+0x2c] */ # 190: 48bc
or a11, a8, a11 # 192: b0b820
movnez a8, a11, a4 # 195: 408b93
l32i a11, a12, 48 /* [arg0+0x30] */ # 198: b8cc
or a9, a8, a9 # 19a: 909820
movnez a8, a9, a11 # 19d: b08993
s8i a8, a2, 0 # 1a0: 824200
srli a8, a8, 8 # 1a3: 808841
s8i a8, a2, 1 # 1a6: 824201
addi a2, a2, 2 # 1a9: 2b22
beqz a14, .Lbr009 # 1ab: 9cce
l32i a8, sp, 0 /* [(local0)] */ # 1ad: 8801
addi a12, a2, 18 # 1af: c2c212
add a8, a13, a8 # 1b2: 8a8d
bltu a8, a12, .Lbr011 # 1b4: c73829
mov a3, a14 /* arg3 */ # 1b7: 3d0e
s8i a0, a2, 1 # 1b9: 024201
s8i a10, a2, 0 # 1bc: a24200
movi a4, 16 /* 0x00000010 */ # 1bf: 1c04
addi a2, a2, 2 # 1c1: 2b22
call0 memcpy # 1c3: 01c5ffc0
# 1c7: 0000
mov a2, a12 # 1c9: 2d0c
.Lbr009: sub a2, a2, a13 # 1cb: d022c0
addi a9, a2, -2 # 1ce: 92c2fe
s8i a9, a13, 1 /* a9 -> [arg1+0x1] */ # 1d1: 924d01
.Lbr010: l32i a12, sp, 8 /* [(local2)] */ # 1d4: c821
l32i a13, sp, 12 /* [(local3)] */ # 1d6: d831
l32i a14, sp, 16 /* [(local4)] */ # 1d8: e841
l32i a0, sp, 4 /* [(local1)] */ # 1da: 0811
addi sp, sp, 32 /* (top of frame) */ # 1dc: 12c120
ret # 1df: 0df0
.Lbr011: movi a2, -1 /* 0xffffffff */ # 1e1: 7cf2
j .Lbr010 # 1e3: 46fbff
.literal_position # 1e8: 00000000
# 1ec: 00000000
# 1f0: 00000000
# Function @ .irom0.text+0x1f4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_wpa_auth_gen_wpa_ie
.type sdk_wpa_auth_gen_wpa_ie, @function
sdk_wpa_auth_gen_wpa_ie:
movi a3, 144 /* 0x00000090 */ # 1f4: 32a090
sub sp, sp, a3 /* (FP)-0x90 */ # 1f7: 3011c0
s32i a12, sp, 132 /* a12 -> [(local1)] */ # 1fa: c26121
s32i a0, sp, 128 /* a0 -> [(local0)] */ # 1fd: 026120
mov a12, a2 /* arg0 */ # 200: cd02
l32i a2, a2, 4 /* [arg0+0x4] */ # 202: 2812
s32i a13, sp, 136 /* a13 -> [(local2)] */ # 204: d26122
bbci a2, 1, .Lbr012 # 207: 176215
addi a2, a12, 4 /* arg0+0x4 */ # 20a: 4b2c
mov a3, sp /* (FP)-0x90 */ # 20c: 3d01
movi a4, 128 /* 0x00000080 */ # 20e: 42a080
movi a5, 0 /* 0x00000000 */ # 211: 0c05
call0 sdk_wpa_write_rsn_ie # 213: 050000
bltz a2, .Lbr016 # 216: 96c204
add a13, a2, sp # 219: 1ad2
l32i a2, a12, 4 /* [arg0+0x4] */ # 21b: 281c
j .Lbr013 # 21d: 460000
.Lbr012: mov a13, sp /* (FP)-0x90 */ # 220: dd01
.Lbr013: bbci a2, 0, .Lbr014 # 222: 076213
addi a2, a12, 4 /* arg0+0x4 */ # 225: 4b2c
mov a3, a13 # 227: 3d0d
movi a5, 128 /* 0x00000080 */ # 229: 52a080
sub a4, sp, a13 # 22c: d041c0
add a4, a4, a5 # 22f: 5a44
call0 .Lfunc001 # 231: 45ddff
bltz a2, .Lbr016 # 234: 96e202
add a13, a2, a13 # 237: dad2
.Lbr014: l32i a2, a12, 80 /* [arg0+0x50] */ # 239: 222c14
call0 free # 23c: 01ebffc0
# 240: 0000
sub a13, a13, sp # 242: 10ddc0
mov a2, a13 # 245: 2d0d
call0 malloc # 247: 01e9ffc0
# 24b: 0000
s32i a2, a12, 80 /* a2 -> [arg0+0x50] */ # 24d: 226c14
bnez a2, .Lbr015 # 250: cc32
movi a2, -1 /* 0xffffffff */ # 252: 7cf2
j .Lbr016 # 254: 860300
.Lbr015: mov a3, sp /* (FP)-0x90 */ # 257: 3d01
mov a4, a13 # 259: 4d0d
call0 memcpy # 25b: 01e5ffc0
# 25f: 0000
s32i a13, a12, 84 /* a13 -> [arg0+0x54] */ # 261: d26c15
movi a2, 0 /* 0x00000000 */ # 264: 0c02
.Lbr016: l32i a12, sp, 132 /* [(local1)] */ # 266: c22121
l32i a13, sp, 136 /* [(local2)] */ # 269: d22122
movi a3, 144 /* 0x00000090 */ # 26c: 32a090
l32i a0, sp, 128 /* [(local0)] */ # 26f: 022120
add sp, sp, a3 /* (top of frame) */ # 272: 3a11
ret # 274: 0df0
.literal_position # 278: 00000000
# 27c: 00000000
# Function @ .irom0.text+0x280
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word @ -0x10
# (local5): word[3] @ -0xc
.global sdk_wpa_add_kde
.type sdk_wpa_add_kde, @function
sdk_wpa_add_kde:
addi sp, sp, -32 /* (local0) */ # 280: 12c1e0
s32i a6, sp, 20 /* arg4 -> [(local5)] */ # 283: 6951
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 285: 0901
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 287: d921
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 289: c911
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 28b: f941
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 28d: e931
mov a15, a6 /* arg4 */ # 28f: fd06
mov a14, a5 /* arg3 */ # 291: ed05
mov a12, a2 /* arg0 */ # 293: cd02
mov a13, a7 /* arg5 */ # 295: dd07
mov a2, a3 /* arg1 */ # 297: 2d03
movi a7, -35 /* 0xffffffdd */ # 299: 72afdd
s8i a7, a12, 0 /* 0xdd -> [arg0] */ # 29c: 724c00
s8i a2, a12, 5 /* arg1 -> [arg0+0x5] */ # 29f: 224c05
mov a3, a4 /* arg2 */ # 2a2: 3d04
add a0, a14, a13 # 2a4: da0e
extui a5, a2, 16, 16 # 2a6: 2050f5
extui a6, a2, 24, 8 # 2a9: 206875
s8i a6, a12, 2 /* a6 -> [arg0+0x2] */ # 2ac: 624c02
s8i a5, a12, 3 /* a5 -> [arg0+0x3] */ # 2af: 524c03
addi a0, a0, 4 # 2b2: 4b00
srli a4, a2, 8 # 2b4: 204841
s8i a4, a12, 4 /* a4 -> [arg0+0x4] */ # 2b7: 424c04
s8i a0, a12, 1 /* a0 -> [arg0+0x1] */ # 2ba: 024c01
mov a4, a14 /* arg3 */ # 2bd: 4d0e
addi a2, a12, 6 /* arg0+0x6 */ # 2bf: 6b2c
call0 memcpy # 2c1: 01edffc0
# 2c5: 0000
add a12, a12, a14 # 2c7: eacc
addi a12, a12, 6 # 2c9: 6bcc
beqz a15, .Lbr017 # 2cb: 8ccf
mov a3, a15 /* arg4 */ # 2cd: 3d0f
mov a2, a12 # 2cf: 2d0c
mov a4, a13 /* arg5 */ # 2d1: 4d0d
call0 memcpy # 2d3: 01eaffc0
# 2d7: 0000
add a12, a12, a13 # 2d9: dacc
.Lbr017: l32i a0, sp, 0 /* [(local0)] */ # 2db: 0801
l32i a13, sp, 8 /* [(local2)] */ # 2dd: d821
l32i a14, sp, 12 /* [(local3)] */ # 2df: e831
mov a2, a12 # 2e1: 2d0c
l32i a15, sp, 16 /* [(local4)] */ # 2e3: f841
l32i a12, sp, 4 /* [(local1)] */ # 2e5: c811
addi sp, sp, 32 /* (top of frame) */ # 2e7: 12c120
ret # 2ea: 0df0
.literal_position # 2ec: 00000000
# 2f0: 00000000
# 2f4: 00000000
# 2f8: 00000000
# 2fc: 00000000
# 300: 00000000
# 304: 00000000
# 308: 00000000
# 30c: 00000000
# Function @ .irom0.text+0x310
# Local variables/stack:
# (local0): word @ -0x3c
# (local1): word @ -0x38
# (local2): word[5] @ -0x34
# (local3): word @ -0x20
# (local4): word @ -0x1c
# (local5): word @ -0x18
# (local6): word @ -0x14
# (local7): word @ -0x10
# (local8): word @ -0xc
# (local9): word @ -0x8
# (local10): word @ -0x4
.global sdk_wpa_validate_wpa_ie
.type sdk_wpa_validate_wpa_ie, @function
sdk_wpa_validate_wpa_ie:
addi sp, sp, -64 /* (FP)-0x40 */ # 310: 12c1c0
s32i a15, sp, 60 /* a15 -> [(local10)] */ # 313: f9f1
s32i a0, sp, 44 /* a0 -> [(local6)] */ # 315: 09b1
s32i a13, sp, 52 /* a13 -> [(local8)] */ # 317: d9d1
s32i a12, sp, 48 /* a12 -> [(local7)] */ # 319: c9c1
s32i a14, sp, 56 /* a14 -> [(local9)] */ # 31b: e9e1
mov a12, a3 /* arg1 */ # 31d: cd03
mov a14, a4 /* arg2 */ # 31f: ed04
mov a13, a2 /* arg0 */ # 321: dd02
mov a2, a5 /* arg3 */ # 323: 2d05
beqz a13, .Lbr018 # 325: 9cdd
beqz a3, .Lbr018 # 327: 9cb3
beqz a4, .Lbr019 # 329: 9ce4
beqz a5, .Lbr019 # 32b: 9cc5
l32i a5, a13, 4 /* [arg0+0x4] */ # 32d: 581d
movi a15, 2 /* 0x00000002 */ # 32f: 0c2f
l8ui a6, a4, 0 /* [arg2] */ # 331: 620400
movi a3, 1 /* 0x00000001 */ # 334: 0c13
addi a6, a6, -48 /* [arg2]-0x30 */ # 336: 62c6d0
moveqz a3, a15, a6 # 339: 603f83
mov a0, a3 # 33c: 0d03
bany a5, a3, .Lbr021 # 33e: 37851a
movi a2, 10 /* 0x0000000a */ # 341: 0ca2
j .Lbr020 # 343: 860100
.Lbr018: movi a2, 5 /* 0x00000005 */ # 346: 0c52
j .Lbr020 # 348: 460000
.Lbr019: movi a2, 1 /* 0x00000001 */ # 34b: 0c12
.Lbr020: l32i a12, sp, 48 /* [(local7)] */ # 34d: c8c1
l32i a13, sp, 52 /* [(local8)] */ # 34f: d8d1
l32i a14, sp, 56 /* [(local9)] */ # 351: e8e1
l32i a15, sp, 60 /* [(local10)] */ # 353: f8f1
l32i a0, sp, 44 /* [(local6)] */ # 355: 08b1
addi sp, sp, 64 /* (top of frame) */ # 357: 12c140
ret # 35a: 0df0
.Lbr021: s32i a0, sp, 32 /* a0 -> [(local3)] */ # 35c: 0981
s32i a2, sp, 40 /* arg3 -> [(local5)] */ # 35e: 29a1
bnei a3, 2, .Lbr022 # 360: 662324
mov a2, a4 /* arg2 */ # 363: 2d04
l32i a3, sp, 40 /* [(local5)] */ # 365: 38a1
mov a4, sp /* (FP)-0x40 */ # 367: 4d01
call0 sdk_wpa_parse_wpa_ie_rsn # 369: 01e0ffc0
# 36d: 0000
s32i a2, sp, 36 /* a2 -> [(local4)] */ # 36f: 2991
l32i a3, sp, 4 /* [(local0)] */ # 371: 3811
movi a2, 2 /* 0x00000002 */ # 373: 0c22
call0 sdk_wpa_cipher_to_suite # 375: 01deffc0
# 379: 0000
movi a2, 2 /* 0x00000002 */ # 37b: 0c22
l32i a3, sp, 8 /* [(local1)] */ # 37d: 3821
call0 sdk_wpa_cipher_to_suite # 37f: 01ddffc0
# 383: 0000
j .Lbr023 # 385: 460800
.Lbr022: mov a2, a4 /* arg2 */ # 388: 2d04
l32i a3, sp, 40 /* [(local5)] */ # 38a: 38a1
mov a4, sp /* (FP)-0x40 */ # 38c: 4d01
call0 sdk_wpa_parse_wpa_ie_wpa # 38e: 01daffc0
# 392: 0000
s32i a2, sp, 36 /* a2 -> [(local4)] */ # 394: 2991
l32i a3, sp, 4 /* [(local0)] */ # 396: 3811
movi a2, 1 /* 0x00000001 */ # 398: 0c12
call0 sdk_wpa_cipher_to_suite # 39a: 01d8ffc0
# 39e: 0000
movi a2, 1 /* 0x00000001 */ # 3a0: 0c12
l32i a3, sp, 8 /* [(local1)] */ # 3a2: 3821
call0 sdk_wpa_cipher_to_suite # 3a4: 01d7ffc0
# 3a8: 0000
.Lbr023: l32i a7, sp, 36 /* [(local4)] */ # 3aa: 7891
l32i a9, sp, 8 /* [(local1)] */ # 3ac: 9821
bnez a7, .Lbr019 # 3ae: 5697f9
l32i a8, a13, 16 /* [arg0+0x10] */ # 3b1: 884d
l32i a11, sp, 12 /* [(local2)] */ # 3b3: b831
beq a8, a9, .Lbr024 # 3b5: 971804
movi a2, 2 /* 0x00000002 */ # 3b8: 0c22
j .Lbr020 # 3ba: c6e3ff
.Lbr024: l32i a10, a13, 8 /* [arg0+0x8] */ # 3bd: a82d
and a0, a10, a11 # 3bf: b00a10
bany a10, a11, .Lbr025 # 3c2: b78a04
movi a2, 4 /* 0x00000004 */ # 3c5: 0c42
j .Lbr020 # 3c7: 86e0ff
.Lbr025: l32i a2, sp, 32 /* [(local3)] */ # 3ca: 2881
bbci a0, 0, .Lbr026 # 3cc: 076007
movi a0, 1 /* 0x00000001 */ # 3cf: 0c10
s32i a0, a12, 0x194 /* 0x00000001 -> [arg1+0x194] */ # 3d1: 026c65
j .Lbr027 # 3d4: 860000
.Lbr026: s32i a15, a12, 0x194 /* 0x00000002 -> [arg1+0x194] */ # 3d7: f26c65
.Lbr027: l32i a0, sp, 4 /* [(local0)] */ # 3da: 0811
bnei a2, 2, .Lbr032 # 3dc: 662248
l32i a9, a13, 36 /* [arg0+0x24] */ # 3df: 989d
.Lbr028: and a8, a9, a0 # 3e1: 008910
bnone a9, a0, .Lbr034 # 3e4: 070959
movi a0, 8 /* 0x00000008 */ # 3e7: 0c80
bbsi a8, 3, .Lbr029 # 3e9: 37e806
movi a0, 64 /* 0x00000040 */ # 3ec: 4c00
bbsi a8, 6, .Lbr029 # 3ee: 67e801
mov a0, a15 /* 0x00000002 */ # 3f1: 0d0f
.Lbr029: s32i a0, a12, 0x190 /* a0 -> [arg1+0x190] */ # 3f3: 026c64
l8ui a3, a14, 0 /* [arg2] */ # 3f6: 320e00
movi a4, 48 /* 0x00000030 */ # 3f9: 3c04
beq a3, a4, .Lbr030 # 3fb: 471301
movi a15, 1 /* 0x00000001 */ # 3fe: 0c1f
.Lbr030: l32i a2, a12, 0x184 /* [arg1+0x184] */ # 400: 222c61
s32i a15, a12, 0x18c /* a15 -> [arg1+0x18c] */ # 403: f26c63
beqz a2, .Lbr031 # 406: 8c62
l32i a6, sp, 40 /* [(local5)] */ # 408: 68a1
l32i a5, a12, 0x188 /* [arg1+0x188] */ # 40a: 522c62
bgeu a5, a6, .Lbr033 # 40d: 67b51c
.Lbr031: call0 free # 410: 01bdffc0
# 414: 0000
l32i a2, sp, 40 /* [(local5)] */ # 416: 28a1
call0 malloc # 418: 01bcffc0
# 41c: 0000
s32i a2, a12, 0x184 /* a2 -> [arg1+0x184] */ # 41e: 226c61
bnez a2, .Lbr033 # 421: cc82
movi a2, 6 /* 0x00000006 */ # 423: 0c62
j .Lbr020 # 425: 06c9ff
.Lbr032: l32i a9, a13, 12 /* [arg0+0xc] */ # 428: 983d
j .Lbr028 # 42a: c6ecff
.Lbr033: mov a3, a14 /* arg2 */ # 42d: 3d0e
l32i a4, sp, 40 /* [(local5)] */ # 42f: 48a1
call0 memcpy # 431: 01b6ffc0
# 435: 0000
movi a2, 0 /* 0x00000000 */ # 437: 0c02
l32i a7, sp, 40 /* [(local5)] */ # 439: 78a1
s32i a7, a12, 0x188 /* [(local5)] -> [arg1+0x188] */ # 43b: 726c62
j .Lbr020 # 43e: c6c2ff
.Lbr034: movi a2, 3 /* 0x00000003 */ # 441: 0c32
j .Lbr020 # 443: 86c1ff
.literal_position # 448: 01f25000
# 44c: 04ac0f00
# 450: 01ac0f00
# 454: 03ac0f00
# Function @ .irom0.text+0x458
.Lfunc002: l8ui a7, a2, 1 /* [arg0+0x1] */ # 458: 720201
l8ui a5, a2, 5 /* [arg0+0x5] */ # 45b: 520205
bnez a7, .Lbr035 # 45e: cc27
movi a2, 1 /* 0x00000001 */ # 460: 0c12
ret /* 0x00000001 */ # 462: 0df0
.Lbr035: bltui a7, 6, .Lbr036 # 464: b66737
l8ui a8, a2, 2 /* [arg0+0x2] */ # 467: 820202
l8ui a9, a2, 3 /* [arg0+0x3] */ # 46a: 920203
l8ui a6, a2, 4 /* [arg0+0x4] */ # 46d: 620204
slli a9, a9, 16 # 470: 009911
slli a6, a6, 8 # 473: 806611
slli a8, a8, 24 # 476: 808801
or a5, a5, a6 # 479: 605520
movi a6, 0x0050f201 # 47c: 61f3ff
or a8, a8, a9 # 47f: 908820
or a5, a5, a8 # 482: 805520
bne a5, a6, .Lbr036 # 485: 679516
l8ui a8, a2, 6 /* [arg0+0x6] */ # 488: 820206
bnei a8, 1, .Lbr036 # 48b: 661810
l8ui a9, a2, 7 /* [arg0+0x7] */ # 48e: 920207
bnez a9, .Lbr036 # 491: cca9
s32i a2, a4, 0 /* arg0 -> [arg2] */ # 493: 2904
l8ui a10, a2, 1 /* [arg0+0x1] */ # 495: a20201
addi a10, a10, 2 /* [arg0+0x1]+0x2 */ # 498: 2baa
s32i a10, a4, 4 /* [arg0+0x1]+0x2 -> [arg2+0x4] */ # 49a: a914
j .Lbr039 # 49c: c61f00
.Lbr036: addi a11, a2, 5 /* arg0+0x5 */ # 49f: 5bb2
bgeu a11, a3, .Lbr037 # 4a1: 37bb2f
movi a3, 19 /* 0x00000013 */ # 4a4: 1c33
bgeu a3, a7, .Lbr037 # 4a6: 77b32a
l8ui a5, a2, 5 /* [arg0+0x5] */ # 4a9: 520205
l8ui a8, a2, 2 /* [arg0+0x2] */ # 4ac: 820202
l8ui a9, a2, 3 /* [arg0+0x3] */ # 4af: 920203
l8ui a6, a2, 4 /* [arg0+0x4] */ # 4b2: 620204
slli a9, a9, 16 # 4b5: 009911
slli a6, a6, 8 # 4b8: 806611
slli a8, a8, 24 # 4bb: 808801
or a5, a5, a6 # 4be: 605520
movi a6, 0x000fac04 # 4c1: 61e2ff
or a8, a8, a9 # 4c4: 908820
or a5, a5, a8 # 4c7: 805520
bne a5, a6, .Lbr037 # 4ca: 679506
addi a7, a2, 6 /* arg0+0x6 */ # 4cd: 6b72
s32i a7, a4, 16 /* arg0+0x6 -> [arg2+0x10] */ # 4cf: 7944
j .Lbr039 # 4d1: 861200
.Lbr037: bltui a7, 7, .Lbr039 # 4d4: b67747
movi a8, 0x000fac01 # 4d7: 81deff
l8ui a6, a2, 3 /* [arg0+0x3] */ # 4da: 620203
l8ui a5, a2, 4 /* [arg0+0x4] */ # 4dd: 520204
l8ui a3, a2, 5 /* [arg0+0x5] */ # 4e0: 320205
slli a5, a5, 8 # 4e3: 805511
or a3, a3, a5 # 4e6: 503320
l8ui a5, a2, 2 /* [arg0+0x2] */ # 4e9: 520202
slli a6, a6, 16 # 4ec: 006611
slli a5, a5, 24 # 4ef: 805501
or a5, a5, a6 # 4f2: 605520
or a3, a3, a5 # 4f5: 503320
bne a3, a8, .Lbr038 # 4f8: 87930e
addi a7, a2, 6 /* arg0+0x6 */ # 4fb: 6b72
s32i a7, a4, 20 /* arg0+0x6 -> [arg2+0x14] */ # 4fd: 7954
l8ui a6, a2, 1 /* [arg0+0x1] */ # 4ff: 620201
addi a6, a6, -4 /* [arg0+0x1]-0x4 */ # 502: 62c6fc
s32i a6, a4, 24 /* [arg0+0x1]-0x4 -> [arg2+0x18] */ # 505: 6964
j .Lbr039 # 507: 060500
.Lbr038: bltui a7, 7, .Lbr039 # 50a: b67711
movi a8, 0x000fac03 # 50d: 81d1ff
bne a3, a8, .Lbr039 # 510: 87930b
addi a10, a2, 6 /* arg0+0x6 */ # 513: 6ba2
s32i a10, a4, 28 /* arg0+0x6 -> [arg2+0x1c] */ # 515: a974
l8ui a9, a2, 1 /* [arg0+0x1] */ # 517: 920201
addi a9, a9, -4 /* [arg0+0x1]-0x4 */ # 51a: 92c9fc
s32i a9, a4, 32 /* [arg0+0x1]-0x4 -> [arg2+0x20] */ # 51d: 9984
.Lbr039: movi a2, 0 /* 0x00000000 */ # 51f: 0c02
ret /* 0x00000000 */ # 521: 0df0
.literal_position # 524: 00000000
# Function @ .irom0.text+0x528
# 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
.global sdk_wpa_parse_kde_ies
.type sdk_wpa_parse_kde_ies, @function
sdk_wpa_parse_kde_ies:
addi sp, sp, -32 /* (local0) */ # 528: 12c1e0
s32i a15, sp, 24 /* a15 -> [(local6)] */ # 52b: f961
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 52d: 0921
s32i a14, sp, 20 /* a14 -> [(local5)] */ # 52f: e951
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 531: d941
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 533: c931
mov a13, a4 /* arg2 */ # 535: dd04
mov a12, a2 /* arg0 */ # 537: cd02
mov a14, a3 /* arg1 */ # 539: ed03
mov a2, a4 /* arg2 */ # 53b: 2d04
movi a3, 0 /* 0x00000000 */ # 53d: 0c03
movi a4, 36 /* 0x00000024 */ # 53f: 2c44
call0 memset # 541: 01f8ffc0
# 545: 0000
s32i a13, sp, 4 /* arg2 -> [(local1)] */ # 547: d911
blti a14, 2, .Lbr047 # 549: a62e70
movi a15, 48 /* 0x00000030 */ # 54c: 3c0f
movi a2, 0 /* 0x00000000 */ # 54e: 0c02
add a13, a12, a14 # 550: eadc
movi a14, 221 /* 0x000000dd */ # 552: e2a0dd
addi a0, a13, -1 # 555: 0b0d
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 557: 0901
.Lbr040: l8ui a0, a12, 0 # 559: 020c00
l8ui a3, a12, 1 # 55c: 320c01
bne a0, a14, .Lbr041 # 55f: e7900c
l32i a3, sp, 0 /* [(local0)] */ # 562: 3801
beq a3, a12, .Lbr046 # 564: c71346
l8ui a3, a12, 1 # 567: 320c01
bnez a3, .Lbr041 # 56a: cc13
j .Lbr046 # 56c: 860f00
.Lbr041: add a3, a3, a12 # 56f: ca33
addi a3, a3, 2 # 571: 2b33
bltu a13, a3, .Lbr045 # 573: 373d35
bne a0, a15, .Lbr044 # 576: f7901b
l32i a5, sp, 4 /* [(local1)] */ # 579: 5811
s32i a12, a5, 8 /* a12 -> [[(local1)]+0x8] */ # 57b: c925
l8ui a4, a12, 1 # 57d: 420c01
addi a4, a4, 2 # 580: 2b44
s32i a4, a5, 12 /* a4 -> [[(local1)]+0xc] */ # 582: 4935
.Lbr042: l8ui a3, a12, 1 # 584: 320c01
add a3, a3, a12 # 587: ca33
addi a3, a3, 2 # 589: 2b33
.Lbr043: mov a12, a3 # 58b: cd03
addi a4, a3, 1 # 58d: 1b43
bltu a4, a13, .Lbr040 # 58f: d734c6
j .Lbr046 # 592: 060600
.Lbr044: bne a0, a14, .Lbr043 # 595: e790f2
mov a2, a12 # 598: 2d0c
mov a3, a13 # 59a: 3d0d
l32i a4, sp, 4 /* [(local1)] */ # 59c: 4811
call0 .Lfunc002 # 59e: 85ebff
bltz a2, .Lbr046 # 5a1: 969200
blti a2, 1, .Lbr042 # 5a4: a612dc
movi a2, 0 /* 0x00000000 */ # 5a7: 0c02
j .Lbr046 # 5a9: 460000
.Lbr045: movi a2, -1 /* 0xffffffff */ # 5ac: 7cf2
.Lbr046: l32i a12, sp, 12 /* [(local3)] */ # 5ae: c831
l32i a13, sp, 16 /* [(local4)] */ # 5b0: d841
l32i a14, sp, 20 /* [(local5)] */ # 5b2: e851
l32i a15, sp, 24 /* [(local6)] */ # 5b4: f861
l32i a0, sp, 8 /* [(local2)] */ # 5b6: 0821
addi sp, sp, 32 /* (top of frame) */ # 5b8: 12c120
ret # 5bb: 0df0
.Lbr047: movi a2, 0 /* 0x00000000 */ # 5bd: 0c02
j .Lbr046 # 5bf: c6faff
.balign 4
# Function @ .irom0.text+0x5c4
.global sdk_wpa_auth_uses_mfp
.type sdk_wpa_auth_uses_mfp, @function
sdk_wpa_auth_uses_mfp:
beqz a2, .Lbr048 # 5c4: 8c92
addmi a2, a2, 256 /* arg0+0x100 */ # 5c6: 22d201
l8ui a2, a2, 116 /* [arg0+0x174] */ # 5c9: 220274
extui a2, a2, 4, 1 # 5cc: 202404
ret # 5cf: 0df0
.Lbr048: movi a2, 0 /* 0x00000000 */ # 5d1: 0c02
ret /* 0x00000000 */ # 5d3: 0df0

View file

@ -0,0 +1,864 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00ac0f00
# 4: 01ac0f00
# 8: 02ac0f00
# c: 04ac0f00
# 10: 05ac0f00
# Function @ .irom0.text+0x14
.Lfunc001: movi a3, 0x000fac00 # 14: 31fbff
l8ui a7, a2, 1 /* [arg0+0x1] */ # 17: 720201
l8ui a6, a2, 2 /* [arg0+0x2] */ # 1a: 620202
l8ui a5, a2, 3 /* [arg0+0x3] */ # 1d: 520203
slli a6, a6, 8 # 20: 806611
or a5, a5, a6 # 23: 605520
l8ui a6, a2, 0 /* [arg0] */ # 26: 620200
slli a7, a7, 16 # 29: 007711
slli a6, a6, 24 # 2c: 806601
or a6, a6, a7 # 2f: 706620
or a5, a5, a6 # 32: 605520
bne a5, a3, .Lbr001 # 35: 379503
movi a2, 1 /* 0x00000001 */ # 38: 0c12
ret /* 0x00000001 */ # 3a: 0df0
.Lbr001: movi a7, 0x000fac01 # 3c: 71f2ff
movi a8, 0x000fac02 # 3f: 81f2ff
bne a5, a7, .Lbr002 # 42: 779504
movi a2, 128 /* 0x00000080 */ # 45: 22a080
ret /* 0x00000080 */ # 48: 0df0
.Lbr002: bne a5, a8, .Lbr003 # 4a: 879503
movi a2, 2 /* 0x00000002 */ # 4d: 0c22
ret /* 0x00000002 */ # 4f: 0df0
.Lbr003: movi a9, 0x000fac04 # 51: 91eeff
movi a10, 0 /* 0x00000000 */ # 54: 0c0a
beq a5, a9, .Lbr004 # 56: 97150d
movi a11, 0x000fac05 # 59: b1edff
movi a2, 256 /* 0x00000100 */ # 5c: 22a100
sub a11, a5, a11 # 5f: b0b5c0
movnez a2, a10, a11 # 62: b02a93
ret # 65: 0df0
.Lbr004: movi a2, 8 /* 0x00000008 */ # 67: 0c82
ret /* 0x00000008 */ # 69: 0df0
.literal_position # 6c: 01ac0f00
# 70: 02ac0f00
# Function @ .irom0.text+0x74
.Lfunc002: movi a3, 0x000fac01 # 74: 31feff
l8ui a7, a2, 1 /* [arg0+0x1] */ # 77: 720201
l8ui a6, a2, 2 /* [arg0+0x2] */ # 7a: 620202
l8ui a5, a2, 3 /* [arg0+0x3] */ # 7d: 520203
slli a6, a6, 8 # 80: 806611
or a5, a5, a6 # 83: 605520
l8ui a6, a2, 0 /* [arg0] */ # 86: 620200
slli a7, a7, 16 # 89: 007711
slli a6, a6, 24 # 8c: 806601
or a6, a6, a7 # 8f: 706620
or a5, a5, a6 # 92: 605520
beq a5, a3, .Lbr005 # 95: 37150e
movi a7, 0 /* 0x00000000 */ # 98: 0c07
movi a8, 0x000fac02 # 9a: 81f5ff
movi a2, 2 /* 0x00000002 */ # 9d: 0c22
sub a8, a5, a8 # 9f: 8085c0
movnez a2, a7, a8 # a2: 802793
ret # a5: 0df0
.Lbr005: movi a2, 1 /* 0x00000001 */ # a7: 0c12
ret /* 0x00000001 */ # a9: 0df0
.literal_position # ac: 00f25000
# b0: 01f25000
# b4: 02f25000
# b8: 04f25000
# bc: 05f25000
# Function @ .irom0.text+0xc0
.Lfunc003: movi a3, 0x0050f200 # c0: 31fbff
l8ui a7, a2, 1 /* [arg0+0x1] */ # c3: 720201
l8ui a6, a2, 2 /* [arg0+0x2] */ # c6: 620202
l8ui a5, a2, 3 /* [arg0+0x3] */ # c9: 520203
slli a6, a6, 8 # cc: 806611
or a5, a5, a6 # cf: 605520
l8ui a6, a2, 0 /* [arg0] */ # d2: 620200
slli a7, a7, 16 # d5: 007711
slli a6, a6, 24 # d8: 806601
or a6, a6, a7 # db: 706620
or a5, a5, a6 # de: 605520
bne a5, a3, .Lbr006 # e1: 379503
movi a2, 1 /* 0x00000001 */ # e4: 0c12
ret /* 0x00000001 */ # e6: 0df0
.Lbr006: movi a7, 0x0050f201 # e8: 71f2ff
movi a8, 0x0050f202 # eb: 81f2ff
bne a5, a7, .Lbr007 # ee: 779504
movi a2, 128 /* 0x00000080 */ # f1: 22a080
ret /* 0x00000080 */ # f4: 0df0
.Lbr007: bne a5, a8, .Lbr008 # f6: 879503
movi a2, 2 /* 0x00000002 */ # f9: 0c22
ret /* 0x00000002 */ # fb: 0df0
.Lbr008: movi a9, 0x0050f204 # fd: 91eeff
movi a10, 0 /* 0x00000000 */ # 100: 0c0a
beq a5, a9, .Lbr009 # 102: 97150d
movi a11, 0x0050f205 # 105: b1edff
movi a2, 256 /* 0x00000100 */ # 108: 22a100
sub a11, a5, a11 # 10b: b0b5c0
movnez a2, a10, a11 # 10e: b02a93
ret # 111: 0df0
.Lbr009: movi a2, 8 /* 0x00000008 */ # 113: 0c82
ret /* 0x00000008 */ # 115: 0df0
.literal_position # 118: 01f25000
# 11c: 02f25000
# 120: 00f25000
# Function @ .irom0.text+0x124
.Lfunc004: movi a3, 0x0050f201 # 124: 31fdff
l8ui a7, a2, 1 /* [arg0+0x1] */ # 127: 720201
l8ui a6, a2, 2 /* [arg0+0x2] */ # 12a: 620202
l8ui a5, a2, 3 /* [arg0+0x3] */ # 12d: 520203
slli a6, a6, 8 # 130: 806611
or a5, a5, a6 # 133: 605520
l8ui a6, a2, 0 /* [arg0] */ # 136: 620200
slli a7, a7, 16 # 139: 007711
slli a6, a6, 24 # 13c: 806601
or a6, a6, a7 # 13f: 706620
or a5, a5, a6 # 142: 605520
bne a5, a3, .Lbr010 # 145: 379503
movi a2, 1 /* 0x00000001 */ # 148: 0c12
ret /* 0x00000001 */ # 14a: 0df0
.Lbr010: movi a7, 0x0050f202 # 14c: 71f4ff
movi a8, 0 /* 0x00000000 */ # 14f: 0c08
beq a5, a7, .Lbr011 # 151: 77150c
movi a9, 0x0050f200 # 154: 91f3ff
movi a2, 16 /* 0x00000010 */ # 157: 1c02
sub a9, a5, a9 # 159: 9095c0
movnez a2, a8, a9 # 15c: 902893
ret # 15f: 0df0
.Lbr011: movi a2, 2 /* 0x00000002 */ # 161: 0c22
ret /* 0x00000002 */ # 163: 0df0
.literal_position # 168: 00000000
# Function @ .irom0.text+0x16c
# 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
.global sdk_wpa_parse_wpa_ie_rsn
.type sdk_wpa_parse_wpa_ie_rsn, @function
sdk_wpa_parse_wpa_ie_rsn:
addi sp, sp, -32 /* (local0) */ # 16c: 12c1e0
s32i a15, sp, 20 /* a15 -> [(local5)] */ # 16f: f951
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 171: 0911
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 173: c921
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 175: e941
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 177: d931
mov a14, a4 /* arg2 */ # 179: ed04
mov a13, a2 /* arg0 */ # 17b: dd02
mov a12, a3 /* arg1 */ # 17d: cd03
mov a2, a4 /* arg2 */ # 17f: 2d04
movi a3, 0 /* 0x00000000 */ # 181: 0c03
movi a4, 32 /* 0x00000020 */ # 183: 2c04
call0 memset # 185: 01f8ffc0
# 189: 0000
movi a15, 0 /* 0x00000000 */ # 18b: 0c0f
movi a0, 1 /* 0x00000001 */ # 18d: 0c10
movi a2, 2 /* 0x00000002 */ # 18f: 0c22
movi a3, 8 /* 0x00000008 */ # 191: 0c83
s32i a3, a14, 4 /* 0x00000008 -> [arg2+0x4] */ # 193: 391e
s32i a3, a14, 8 /* 0x00000008 -> [arg2+0x8] */ # 195: 392e
s32i a2, a14, 0 /* 0x00000002 -> [arg2] */ # 197: 290e
s32i a0, a14, 12 /* 0x00000001 -> [arg2+0xc] */ # 199: 093e
s32i a15, a14, 16 /* 0x00000000 -> [arg2+0x10] */ # 19b: f94e
s32i a15, a14, 24 /* 0x00000000 -> [arg2+0x18] */ # 19d: f96e
s32i a15, a14, 20 /* 0x00000000 -> [arg2+0x14] */ # 19f: f95e
s32i a15, a14, 28 /* 0x00000000 -> [arg2+0x1c] */ # 1a1: f97e
beqz a12, .Lbr014 # 1a3: bc8c
bltui a12, 4, .Lbr014 # 1a5: b64c36
l8ui a4, a13, 0 /* [arg0] */ # 1a8: 420d00
movi a5, 48 /* 0x00000030 */ # 1ab: 3c05
bne a4, a5, .Lbr012 # 1ad: 57941d
l8ui a6, a13, 1 /* [arg0+0x1] */ # 1b0: 620d01
addi a7, a12, -2 /* arg1-0x2 */ # 1b3: 72ccfe
bne a6, a7, .Lbr012 # 1b6: 779614
l8ui a9, a13, 3 /* [arg0+0x3] */ # 1b9: 920d03
l8ui a8, a13, 2 /* [arg0+0x2] */ # 1bc: 820d02
slli a9, a9, 8 # 1bf: 809911
or a8, a8, a9 # 1c2: 908820
slli a8, a8, 16 # 1c5: 008811
srai a8, a8, 16 # 1c8: 808031
beqi a8, 1, .Lbr015 # 1cb: 261815
.Lbr012: movi a2, -2 /* 0xfffffffe */ # 1ce: 7ce2
.Lbr013: l32i a12, sp, 8 /* [(local2)] */ # 1d0: c821
l32i a13, sp, 12 /* [(local3)] */ # 1d2: d831
l32i a14, sp, 16 /* [(local4)] */ # 1d4: e841
l32i a15, sp, 20 /* [(local5)] */ # 1d6: f851
l32i a0, sp, 4 /* [(local1)] */ # 1d8: 0811
addi sp, sp, 32 /* (top of frame) */ # 1da: 12c120
ret # 1dd: 0df0
.Lbr014: movi a2, -1 /* 0xffffffff */ # 1df: 7cf2
j .Lbr013 # 1e1: c6faff
.Lbr015: addi a13, a13, 4 /* arg0+0x4 */ # 1e4: 4bdd
addi a10, a12, -4 /* arg1-0x4 */ # 1e6: a2ccfc
s32i a10, sp, 0 /* arg1-0x4 -> [(local0)] */ # 1e9: a901
mov a12, a10 /* arg1-0x4 */ # 1eb: cd0a
bgei a10, 4, .Lbr016 # 1ed: e64a02
j .Lbr026 # 1f0: 063700
.Lbr016: mov a2, a13 /* arg0+0x4 */ # 1f3: 2d0d
call0 .Lfunc001 # 1f5: c5e1ff
addi a13, a13, 4 /* arg0+0x8 */ # 1f8: 4bdd
l32i a12, sp, 0 /* [(local0)] */ # 1fa: c801
s32i a2, a14, 8 /* a2 -> [arg2+0x8] */ # 1fc: 292e
addi a12, a12, -4 /* [(local0)]-0x4 */ # 1fe: c2ccfc
.Lbr017: bgei a12, 2, .Lbr018 # 201: e62c02
j .Lbr030 # 204: 063700
.Lbr018: addi a12, a12, -2 # 207: c2ccfe
s32i a15, a14, 4 /* 0x00000000 -> [arg2+0x4] */ # 20a: f91e
l8ui a0, a13, 0 # 20c: 020d00
l8ui a2, a13, 1 # 20f: 220d01
addi a13, a13, 2 # 212: 2bdd
slli a2, a2, 8 # 214: 802211
or a0, a0, a2 # 217: 200020
extui a0, a0, 0, 16 # 21a: 0000f4
s32i a0, sp, 24 /* a0 -> [(local6)] */ # 21d: 0961
beqz a0, .Lbr032 # 21f: 16300d
slli a3, a0, 2 # 222: e03011
bge a12, a3, .Lbr019 # 225: 37ac02
j .Lbr032 # 228: 863200
.Lbr019: blti a0, 1, .Lbr021 # 22b: a61019
movi a15, 0 /* 0x00000000 */ # 22e: 0c0f
.Lbr020: mov a2, a13 # 230: 2d0d
call0 .Lfunc001 # 232: 05deff
addi a13, a13, 4 # 235: 4bdd
addi a12, a12, -4 # 237: c2ccfc
addi a15, a15, 1 # 23a: 1bff
l32i a6, a14, 4 /* [arg2+0x4] */ # 23c: 681e
l32i a5, sp, 24 /* [(local6)] */ # 23e: 5861
or a6, a6, a2 # 240: 206620
s32i a6, a14, 4 /* a6 -> [arg2+0x4] */ # 243: 691e
bne a5, a15, .Lbr020 # 245: f795e7
.Lbr021: movi a15, 0 /* 0x00000000 */ # 248: 0c0f
bgei a12, 2, .Lbr022 # 24a: e62c02
j .Lbr031 # 24d: 462700
.Lbr022: addi a12, a12, -2 # 250: c2ccfe
s32i a15, a14, 12 /* 0x00000000 -> [arg2+0xc] */ # 253: f93e
l8ui a7, a13, 0 # 255: 720d00
l8ui a8, a13, 1 # 258: 820d01
addi a13, a13, 2 # 25b: 2bdd
slli a8, a8, 8 # 25d: 808811
or a7, a7, a8 # 260: 807720
extui a7, a7, 0, 16 # 263: 7070f4
s32i a7, sp, 24 /* a7 -> [(local6)] */ # 266: 7961
beqz a7, .Lbr033 # 268: 16f708
slli a9, a7, 2 # 26b: e09711
bge a12, a9, .Lbr023 # 26e: 97ac02
j .Lbr033 # 271: 862100
.Lbr023: blti a7, 1, .Lbr025 # 274: a61719
movi a15, 0 /* 0x00000000 */ # 277: 0c0f
.Lbr024: mov a2, a13 # 279: 2d0d
call0 .Lfunc002 # 27b: 85dfff
addi a13, a13, 4 # 27e: 4bdd
addi a12, a12, -4 # 280: c2ccfc
addi a15, a15, 1 # 283: 1bff
l32i a0, a14, 12 /* [arg2+0xc] */ # 285: 083e
l32i a11, sp, 24 /* [(local6)] */ # 287: b861
or a0, a0, a2 # 289: 200020
s32i a0, a14, 12 /* a0 -> [arg2+0xc] */ # 28c: 093e
bne a11, a15, .Lbr024 # 28e: f79be7
.Lbr025: movi a15, 0 /* 0x00000000 */ # 291: 0c0f
blti a12, 2, .Lbr029 # 293: a62c48
addi a12, a12, -2 # 296: c2ccfe
l8ui a2, a13, 0 # 299: 220d00
l8ui a3, a13, 1 # 29c: 320d01
addi a13, a13, 2 # 29f: 2bdd
slli a3, a3, 8 # 2a1: 803311
or a2, a2, a3 # 2a4: 302220
extui a2, a2, 0, 16 # 2a7: 2020f4
s32i a2, a14, 16 /* a2 -> [arg2+0x10] */ # 2aa: 294e
blti a12, 2, .Lbr029 # 2ac: a62c2f
addi a4, a12, -2 # 2af: 42ccfe
l8ui a6, a13, 1 # 2b2: 620d01
l8ui a5, a13, 0 # 2b5: 520d00
slli a6, a6, 8 # 2b8: 806611
or a5, a5, a6 # 2bb: 605520
extui a5, a5, 0, 16 # 2be: 5050f4
s32i a5, a14, 20 /* a5 -> [arg2+0x14] */ # 2c1: 595e
slli a5, a5, 4 # 2c3: c05511
bge a4, a5, .Lbr028 # 2c6: 57a411
s32i a15, a14, 20 /* 0x00000000 -> [arg2+0x14] */ # 2c9: f95e
movi a2, -9 /* 0xfffffff7 */ # 2cb: 7c72
j .Lbr013 # 2cd: c6bfff
.Lbr026: bgei a10, 1, .Lbr027 # 2d0: e61a02
j .Lbr017 # 2d3: 86caff
.Lbr027: movi a2, -3 /* 0xfffffffd */ # 2d6: 7cd2
j .Lbr013 # 2d8: 06bdff
.Lbr028: addi a7, a13, 2 # 2db: 2b7d
s32i a7, a14, 24 /* a7 -> [arg2+0x18] */ # 2dd: 796e
.Lbr029: movi a2, 0 /* 0x00000000 */ # 2df: 0c02
j .Lbr013 # 2e1: c6baff
.Lbr030: addi a8, a12, -1 # 2e4: 0b8c
bnez a8, .Lbr021 # 2e6: 56e8f5
movi a2, -5 /* 0xfffffffb */ # 2e9: 7cb2
j .Lbr013 # 2eb: 46b8ff
.Lbr031: bnei a12, 1, .Lbr025 # 2ee: 661c9f
movi a2, -7 /* 0xfffffff9 */ # 2f1: 7c92
j .Lbr013 # 2f3: 46b6ff
.Lbr032: movi a2, -4 /* 0xfffffffc */ # 2f6: 7cc2
j .Lbr013 # 2f8: 06b5ff
.Lbr033: movi a2, -6 /* 0xfffffffa */ # 2fb: 7ca2
j .Lbr013 # 2fd: c6b3ff
.literal_position # 300: 01f25000
# 304: 00000000
# Function @ .irom0.text+0x308
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word @ -0x10
# (local5): word[3] @ -0xc
.global sdk_wpa_parse_wpa_ie_wpa
.type sdk_wpa_parse_wpa_ie_wpa, @function
sdk_wpa_parse_wpa_ie_wpa:
addi sp, sp, -32 /* (local0) */ # 308: 12c1e0
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 30b: f941
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 30d: 0901
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 30f: c911
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 311: e931
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 313: d921
mov a14, a4 /* arg2 */ # 315: ed04
mov a13, a2 /* arg0 */ # 317: dd02
mov a12, a3 /* arg1 */ # 319: cd03
mov a2, a4 /* arg2 */ # 31b: 2d04
movi a3, 0 /* 0x00000000 */ # 31d: 0c03
movi a4, 32 /* 0x00000020 */ # 31f: 2c04
call0 memset # 321: 01f8ffc0
# 325: 0000
movi a0, 1 /* 0x00000001 */ # 327: 0c10
movi a2, 2 /* 0x00000002 */ # 329: 0c22
s32i a2, a14, 4 /* 0x00000002 -> [arg2+0x4] */ # 32b: 291e
s32i a0, a14, 0 /* 0x00000001 -> [arg2] */ # 32d: 090e
s32i a0, a14, 12 /* 0x00000001 -> [arg2+0xc] */ # 32f: 093e
s32i a2, a14, 8 /* 0x00000002 -> [arg2+0x8] */ # 331: 292e
movi a0, 0 /* 0x00000000 */ # 333: 0c00
s32i a0, a14, 16 /* 0x00000000 -> [arg2+0x10] */ # 335: 094e
s32i a0, a14, 24 /* 0x00000000 -> [arg2+0x18] */ # 337: 096e
s32i a0, a14, 20 /* 0x00000000 -> [arg2+0x14] */ # 339: 095e
s32i a0, a14, 28 /* 0x00000000 -> [arg2+0x1c] */ # 33b: 097e
beqz a12, .Lbr036 # 33d: 16ec05
bltui a12, 8, .Lbr036 # 340: b68c5b
l8ui a3, a13, 0 /* [arg0] */ # 343: 320d00
movi a4, 221 /* 0x000000dd */ # 346: 42a0dd
bne a3, a4, .Lbr034 # 349: 479341
l8ui a5, a13, 1 /* [arg0+0x1] */ # 34c: 520d01
addi a6, a12, -2 /* arg1-0x2 */ # 34f: 62ccfe
bne a5, a6, .Lbr034 # 352: 679538
l8ui a7, a13, 5 /* [arg0+0x5] */ # 355: 720d05
l8ui a9, a13, 2 /* [arg0+0x2] */ # 358: 920d02
l8ui a10, a13, 3 /* [arg0+0x3] */ # 35b: a20d03
l8ui a8, a13, 4 /* [arg0+0x4] */ # 35e: 820d04
slli a10, a10, 16 # 361: 00aa11
slli a8, a8, 8 # 364: 808811
slli a9, a9, 24 # 367: 809901
or a7, a7, a8 # 36a: 807720
movi a8, 0x0050f201 # 36d: 81e4ff
or a9, a9, a10 # 370: a09920
or a7, a7, a9 # 373: 907720
bne a7, a8, .Lbr034 # 376: 879714
l8ui a10, a13, 7 /* [arg0+0x7] */ # 379: a20d07
l8ui a9, a13, 6 /* [arg0+0x6] */ # 37c: 920d06
slli a10, a10, 8 # 37f: 80aa11
or a9, a9, a10 # 382: a09920
slli a9, a9, 16 # 385: 009911
srai a9, a9, 16 # 388: 909031
beqi a9, 1, .Lbr037 # 38b: 261915
.Lbr034: movi a2, -2 /* 0xfffffffe */ # 38e: 7ce2
.Lbr035: l32i a12, sp, 4 /* [(local1)] */ # 390: c811
l32i a13, sp, 8 /* [(local2)] */ # 392: d821
l32i a14, sp, 12 /* [(local3)] */ # 394: e831
l32i a15, sp, 16 /* [(local4)] */ # 396: f841
l32i a0, sp, 0 /* [(local0)] */ # 398: 0801
addi sp, sp, 32 /* (top of frame) */ # 39a: 12c120
ret # 39d: 0df0
.Lbr036: movi a2, -1 /* 0xffffffff */ # 39f: 7cf2
j .Lbr035 # 3a1: c6faff
.Lbr037: addi a13, a13, 8 /* arg0+0x8 */ # 3a4: 8bdd
addi a15, a12, -8 /* arg1-0x8 */ # 3a6: f2ccf8
mov a12, a15 /* arg1-0x8 */ # 3a9: cd0f
bgei a15, 4, .Lbr038 # 3ab: e64f02
j .Lbr047 # 3ae: 062d00
.Lbr038: mov a2, a13 /* arg0+0x8 */ # 3b1: 2d0d
call0 .Lfunc003 # 3b3: c5d0ff
movi a0, 0 /* 0x00000000 */ # 3b6: 0c00
addi a13, a13, 4 /* arg0+0xc */ # 3b8: 4bdd
addi a12, a15, -4 /* arg1-0xc */ # 3ba: c2cffc
s32i a2, a14, 8 /* a2 -> [arg2+0x8] */ # 3bd: 292e
.Lbr039: bgei a12, 2, .Lbr040 # 3bf: e62c02
j .Lbr049 # 3c2: c62a00
.Lbr040: addi a12, a12, -2 # 3c5: c2ccfe
s32i a0, a14, 4 /* 0x00000000 -> [arg2+0x4] */ # 3c8: 091e
l8ui a15, a13, 0 # 3ca: f20d00
l8ui a2, a13, 1 # 3cd: 220d01
addi a13, a13, 2 # 3d0: 2bdd
slli a2, a2, 8 # 3d2: 802211
or a15, a15, a2 # 3d5: 20ff20
extui a15, a15, 0, 16 # 3d8: f0f0f4
beqz a15, .Lbr051 # 3db: 162f0a
slli a3, a15, 2 # 3de: e03f11
bge a12, a3, .Lbr041 # 3e1: 37ac02
j .Lbr051 # 3e4: 462600
.Lbr041: blti a15, 1, .Lbr043 # 3e7: a61f1f
movi a4, 0 /* 0x00000000 */ # 3ea: 0c04
s32i a4, sp, 20 /* 0x00000000 -> [(local5)] */ # 3ec: 4951
.Lbr042: mov a2, a13 # 3ee: 2d0d
call0 .Lfunc003 # 3f0: c5ccff
addi a13, a13, 4 # 3f3: 4bdd
addi a12, a12, -4 # 3f5: c2ccfc
l32i a5, sp, 20 /* [(local5)] */ # 3f8: 5851
l32i a6, a14, 4 /* [arg2+0x4] */ # 3fa: 681e
addi a5, a5, 1 /* [(local5)]+0x1 */ # 3fc: 1b55
or a6, a6, a2 # 3fe: 206620
s32i a6, a14, 4 /* a6 -> [arg2+0x4] */ # 401: 691e
s32i a5, sp, 20 /* [(local5)]+0x1 -> [(local5)] */ # 403: 5951
bne a15, a5, .Lbr042 # 405: 579fe5
movi a0, 0 /* 0x00000000 */ # 408: 0c00
.Lbr043: blti a12, 2, .Lbr050 # 40a: a62c6b
addi a12, a12, -2 # 40d: c2ccfe
s32i a0, a14, 12 /* 0x00000000 -> [arg2+0xc] */ # 410: 093e
l8ui a15, a13, 0 # 412: f20d00
l8ui a2, a13, 1 # 415: 220d01
addi a13, a13, 2 # 418: 2bdd
slli a2, a2, 8 # 41a: 802211
or a15, a15, a2 # 41d: 20ff20
extui a15, a15, 0, 16 # 420: f0f0f4
beqz a15, .Lbr052 # 423: 16ff05
slli a3, a15, 2 # 426: e03f11
blt a12, a3, .Lbr052 # 429: 372c59
blti a15, 1, .Lbr045 # 42c: a61f1d
movi a4, 0 /* 0x00000000 */ # 42f: 0c04
s32i a4, sp, 20 /* 0x00000000 -> [(local5)] */ # 431: 4951
.Lbr044: mov a2, a13 # 433: 2d0d
call0 .Lfunc004 # 435: c5ceff
addi a13, a13, 4 # 438: 4bdd
addi a12, a12, -4 # 43a: c2ccfc
l32i a5, sp, 20 /* [(local5)] */ # 43d: 5851
l32i a6, a14, 12 /* [arg2+0xc] */ # 43f: 683e
addi a5, a5, 1 /* [(local5)]+0x1 */ # 441: 1b55
or a6, a6, a2 # 443: 206620
s32i a6, a14, 12 /* a6 -> [arg2+0xc] */ # 446: 693e
s32i a5, sp, 20 /* [(local5)]+0x1 -> [(local5)] */ # 448: 5951
bne a15, a5, .Lbr044 # 44a: 579fe5
.Lbr045: blti a12, 2, .Lbr046 # 44d: a62c10
l8ui a8, a13, 1 # 450: 820d01
l8ui a7, a13, 0 # 453: 720d00
slli a8, a8, 8 # 456: 808811
or a7, a7, a8 # 459: 807720
extui a7, a7, 0, 16 # 45c: 7070f4
s32i a7, a14, 16 /* a7 -> [arg2+0x10] */ # 45f: 794e
.Lbr046: movi a2, 0 /* 0x00000000 */ # 461: 0c02
j .Lbr035 # 463: 46caff
.Lbr047: bgei a15, 1, .Lbr048 # 466: e61f02
j .Lbr039 # 469: 86d4ff
.Lbr048: movi a2, -3 /* 0xfffffffd */ # 46c: 7cd2
j .Lbr035 # 46e: 86c7ff
.Lbr049: bnei a12, 1, .Lbr043 # 471: 661c95
movi a2, -5 /* 0xfffffffb */ # 474: 7cb2
j .Lbr035 # 476: 86c5ff
.Lbr050: bnei a12, 1, .Lbr045 # 479: 661cd0
movi a2, -7 /* 0xfffffff9 */ # 47c: 7c92
j .Lbr035 # 47e: 86c3ff
.Lbr051: movi a2, -4 /* 0xfffffffc */ # 481: 7cc2
j .Lbr035 # 483: 46c2ff
.Lbr052: movi a2, -6 /* 0xfffffffa */ # 486: 7ca2
j .Lbr035 # 488: 06c1ff
.literal_position # 48c: 00000000
# 490: 00000000
# 494: 00000000
# Function @ .irom0.text+0x498
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_wpa_eapol_key_mic
.type sdk_wpa_eapol_key_mic, @function
sdk_wpa_eapol_key_mic:
addi sp, sp, -48 /* (FP)-0x30 */ # 498: 12c1d0
s32i a0, sp, 36 /* a0 -> [(local1)] */ # 49b: 0991
beqi a3, 1, .Lbr054 # 49d: 261309
s32i a6, sp, 32 /* arg4 -> [(local0)] */ # 4a0: 6981
beqi a3, 2, .Lbr056 # 4a2: 262313
.Lbr053: movi a2, -1 /* 0xffffffff */ # 4a5: 7cf2
j .Lbr055 # 4a7: c60100
.Lbr054: movi a3, 16 /* 0x00000010 */ # 4aa: 1c03
call0 sdk_hmac_md5 # 4ac: 01f8ffc0
# 4b0: 0000
.Lbr055: l32i a0, sp, 36 /* [(local1)] */ # 4b2: 0891
addi sp, sp, 48 /* (top of frame) */ # 4b4: 12c130
ret # 4b7: 0df0
.Lbr056: movi a3, 16 /* 0x00000010 */ # 4b9: 1c03
mov a6, sp /* (FP)-0x30 */ # 4bb: 6d01
call0 sdk_hmac_sha1 # 4bd: 01f4ffc0
# 4c1: 0000
bnez a2, .Lbr053 # 4c3: 56e2fd
l32i a2, sp, 32 /* [(local0)] */ # 4c6: 2881
mov a3, sp /* (FP)-0x30 */ # 4c8: 3d01
movi a4, 16 /* 0x00000010 */ # 4ca: 1c04
call0 memcpy # 4cc: 01f2ffc0
# 4d0: 0000
movi a2, 0 /* 0x00000000 */ # 4d2: 0c02
j .Lbr055 # 4d4: 86f6ff
.literal_position # 4d8: 00000000
# Function @ .irom0.text+0x4dc
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_wpa_compare_rsn_ie
.type sdk_wpa_compare_rsn_ie, @function
sdk_wpa_compare_rsn_ie:
addi sp, sp, -16 /* (local0) */ # 4dc: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 4df: 0901
beqz a3, .Lbr057 # 4e1: 9c43
beqz a5, .Lbr057 # 4e3: 9c25
bne a4, a6, .Lbr057 # 4e5: 679410
mov a2, a3 /* arg1 */ # 4e8: 2d03
mov a3, a5 /* arg3 */ # 4ea: 3d05
call0 memcmp # 4ec: 01fbffc0
# 4f0: 0000
bnez a2, .Lbr057 # 4f2: cc32
movi a2, 0 /* 0x00000000 */ # 4f4: 0c02
j .Lbr058 # 4f6: 460000
.Lbr057: movi a2, -1 /* 0xffffffff */ # 4f9: 7cf2
.Lbr058: l32i a0, sp, 0 /* [(local0)] */ # 4fb: 0801
addi sp, sp, 16 /* (top of frame) */ # 4fd: 12c110
ret # 500: 0df0
.literal_position # 504: 00000000
# 508: 00000000
# 50c: 00000000
# 510: 00000000
# 514: 00000000
# 518: 00000000
# 51c: 00000000
# 520: 00000000
# 524: 00000000
# 528: 00000000
# 52c: 00000000
# Function @ .irom0.text+0x530
# Local variables/stack:
# (local0): word[24] @ -0x80
# (local1): word @ -0x20
# (local2): word @ -0x1c
# (local3): word @ -0x18
# (local4): word @ -0x14
# (local5): word @ -0x10
# (local6): word @ -0xc
# (local7): word @ -0x8
# (local8): word @ -0x4
.global sdk_wpa_pmk_to_ptk
.type sdk_wpa_pmk_to_ptk, @function
sdk_wpa_pmk_to_ptk:
addi sp, sp, -128 /* (local0) */ # 530: 12c180
s32i a15, sp, 124 /* a15 -> [(local8)] */ # 533: f2611f
s32i a0, sp, 108 /* a0 -> [(local4)] */ # 536: 02611b
s32i a4, sp, 104 /* arg2 -> [(local3)] */ # 539: 42611a
s32i a13, sp, 116 /* a13 -> [(local6)] */ # 53c: d2611d
s32i a14, sp, 120 /* a14 -> [(local7)] */ # 53f: e2611e
s32i a3, sp, 100 /* arg1 -> [(local2)] */ # 542: 326119
s32i a12, sp, 112 /* a12 -> [(local5)] */ # 545: c2611c
s32i a2, sp, 96 /* arg0 -> [(local1)] */ # 548: 226118
mov a12, a7 /* arg5 */ # 54b: cd07
mov a2, a5 /* arg3 */ # 54d: 2d05
mov a3, a6 /* arg4 */ # 54f: 3d06
mov a14, a5 /* arg3 */ # 551: ed05
mov a13, a6 /* arg4 */ # 553: dd06
movi a4, 6 /* 0x00000006 */ # 555: 0c64
call0 memcmp # 557: 01ebffc0
# 55b: 0000
addi a15, sp, 22 /* (FP)-0x6a */ # 55d: f2c116
bgez a2, .Lbr059 # 560: d6b201
mov a3, a14 /* arg3 */ # 563: 3d0e
addi a2, sp, 16 /* (FP)-0x70 */ # 565: 22c110
movi a4, 6 /* 0x00000006 */ # 568: 0c64
call0 memcpy # 56a: 01e7ffc0
# 56e: 0000
mov a3, a13 /* arg4 */ # 570: 3d0d
mov a2, a15 /* (FP)-0x6a */ # 572: 2d0f
movi a4, 6 /* 0x00000006 */ # 574: 0c64
call0 memcpy # 576: 01e5ffc0
# 57a: 0000
j .Lbr060 # 57c: 060600
.Lbr059: mov a3, a13 /* arg4 */ # 57f: 3d0d
addi a2, sp, 16 /* (FP)-0x70 */ # 581: 22c110
movi a4, 6 /* 0x00000006 */ # 584: 0c64
call0 memcpy # 586: 01e2ffc0
# 58a: 0000
mov a3, a14 /* arg3 */ # 58c: 3d0e
mov a2, a15 /* (FP)-0x6a */ # 58e: 2d0f
movi a4, 6 /* 0x00000006 */ # 590: 0c64
call0 memcpy # 592: 01e0ffc0
# 596: 0000
.Lbr060: mov a2, a12 /* arg5 */ # 598: 2d0c
l32i a14, sp, 128 /* [(local9)] */ # 59a: e22120
movi a4, 32 /* 0x00000020 */ # 59d: 2c04
mov a3, a14 /* [(local9)] */ # 59f: 3d0e
call0 memcmp # 5a1: 01ddffc0
# 5a5: 0000
addi a13, sp, 60 /* (FP)-0x44 */ # 5a7: d2c13c
mov a15, a2 # 5aa: fd02
addi a2, sp, 28 /* (FP)-0x64 */ # 5ac: 22c11c
bgez a15, .Lbr061 # 5af: d68f01
mov a3, a12 /* arg5 */ # 5b2: 3d0c
movi a4, 32 /* 0x00000020 */ # 5b4: 2c04
call0 memcpy # 5b6: 01d9ffc0
# 5ba: 0000
mov a3, a14 /* [(local9)] */ # 5bc: 3d0e
mov a2, a13 /* (FP)-0x44 */ # 5be: 2d0d
movi a4, 32 /* 0x00000020 */ # 5c0: 2c04
call0 memcpy # 5c2: 01d7ffc0
# 5c6: 0000
j .Lbr062 # 5c8: 460500
.Lbr061: mov a3, a14 /* [(local9)] */ # 5cb: 3d0e
movi a4, 32 /* 0x00000020 */ # 5cd: 2c04
call0 memcpy # 5cf: 01d5ffc0
# 5d3: 0000
mov a3, a12 /* arg5 */ # 5d5: 3d0c
mov a2, a13 /* (FP)-0x44 */ # 5d7: 2d0d
movi a4, 32 /* 0x00000020 */ # 5d9: 2c04
call0 memcpy # 5db: 01d3ffc0
# 5df: 0000
.Lbr062: l32i a2, sp, 96 /* [(local1)] */ # 5e1: 222118
l32i a3, sp, 100 /* [(local2)] */ # 5e4: 322119
l32i a4, sp, 104 /* [(local3)] */ # 5e7: 42211a
l32i a7, sp, 132 /* [(FP)+0x4] */ # 5ea: 722121
addi a5, sp, 16 /* (FP)-0x70 */ # 5ed: 52c110
movi a6, 76 /* 0x0000004c */ # 5f0: 4cc6
l32i a0, sp, 136 /* [(FP)+0x8] */ # 5f2: 022122
s32i a0, sp, 0 /* [(FP)+0x8] -> [(local0)] */ # 5f5: 0901
call0 sdk_sha1_prf # 5f7: 01cdffc0
# 5fb: 0000
l32i a12, sp, 112 /* [(local5)] */ # 5fd: c2211c
l32i a13, sp, 116 /* [(local6)] */ # 600: d2211d
l32i a14, sp, 120 /* [(local7)] */ # 603: e2211e
l32i a15, sp, 124 /* [(local8)] */ # 606: f2211f
movi a2, 128 /* 0x00000080 */ # 609: 22a080
l32i a0, sp, 108 /* [(local4)] */ # 60c: 02211b
add sp, sp, a2 /* (local9) */ # 60f: 2a11
ret /* 0x00000080 */ # 611: 0df0
.literal_position # 614: 00000000
# 618: 00000000
# 61c: 00000000
# 620: 00000000
# Function @ .irom0.text+0x624
# Local variables/stack:
# (local0): word @ -0x40
# (local1): word @ -0x3c
# (local2): word[10] @ -0x38
# (local3): word @ -0x10
# (local4): word[3] @ -0xc
.global sdk_rsn_pmkid
.type sdk_rsn_pmkid, @function
sdk_rsn_pmkid:
addi sp, sp, -64 /* (local0) */ # 624: 12c1c0
addi a7, sp, 16 /* (FP)-0x30 */ # 627: 72c110
s32i a0, sp, 52 /* a0 -> [(local4)] */ # 62a: 09d1
s32i a6, sp, 48 /* arg4 -> [(local3)] */ # 62c: 69c1
s32i a4, sp, 4 /* arg2 -> [(local1)] */ # 62e: 4911
s32i a5, sp, 8 /* arg3 -> [(local2)] */ # 630: 5921
movi a4, 3 /* 0x00000003 */ # 632: 0c34
mov a5, sp /* (local0) */ # 634: 5d01
movi a6, .Ldata001 # 636: 61f8ff
movi a0, .Lstr001 # 639: 01f6ff
s32i a0, sp, 0 /* .Lstr001 -> [(local0)] */ # 63c: 0901
call0 sdk_hmac_sha1_vector # 63e: 01f7ffc0
# 642: 0000
l32i a2, sp, 48 /* [(local3)] */ # 644: 28c1
addi a3, sp, 16 /* (FP)-0x30 */ # 646: 32c110
movi a4, 16 /* 0x00000010 */ # 649: 1c04
call0 memcpy # 64b: 01f5ffc0
# 64f: 0000
l32i a0, sp, 52 /* [(local4)] */ # 651: 08d1
addi sp, sp, 64 /* (top of frame) */ # 653: 12c140
ret # 656: 0df0
# Function @ .irom0.text+0x658
.global sdk_wpa_cipher_key_len
.type sdk_wpa_cipher_key_len, @function
sdk_wpa_cipher_key_len:
beqi a2, 2, .Lbr063 # 658: 262214
beqi a2, 8, .Lbr064 # 65b: 268215
beqi a2, 64, .Lbr064 # 65e: 26d212
beqi a2, 128, .Lbr065 # 661: 26e213
addmi a4, a2, -256 /* arg0-0x100 */ # 664: 42d2ff
movi a3, 13 /* 0x0000000d */ # 667: 0cd3
movi a2, 0 /* 0x00000000 */ # 669: 0c02
moveqz a2, a3, a4 # 66b: 402383
ret # 66e: 0df0
.Lbr063: movi a2, 32 /* 0x00000020 */ # 670: 2c02
ret /* 0x00000020 */ # 672: 0df0
.Lbr064: movi a2, 16 /* 0x00000010 */ # 674: 1c02
ret /* 0x00000010 */ # 676: 0df0
.Lbr065: movi a2, 5 /* 0x00000005 */ # 678: 0c52
ret /* 0x00000005 */ # 67a: 0df0
# Function @ .irom0.text+0x67c
.global sdk_wpa_cipher_to_alg
.type sdk_wpa_cipher_to_alg, @function
sdk_wpa_cipher_to_alg:
beqi a2, 2, .Lbr066 # 67c: 26220f
beqi a2, 8, .Lbr068 # 67f: 268214
beqi a2, 64, .Lbr069 # 682: 26d215
beqi a2, 128, .Lbr067 # 685: 26e20a
beqi a2, 0x100, .Lbr067 # 688: 26f207
movi a2, 0 /* 0x00000000 */ # 68b: 0c02
ret /* 0x00000000 */ # 68d: 0df0
.Lbr066: movi a2, 2 /* 0x00000002 */ # 68f: 0c22
ret /* 0x00000002 */ # 691: 0df0
.Lbr067: movi a2, 6 /* 0x00000006 */ # 693: 0c62
ret /* 0x00000006 */ # 695: 0df0
.Lbr068: movi a2, 3 /* 0x00000003 */ # 697: 0c32
ret /* 0x00000003 */ # 699: 0df0
.Lbr069: movi a2, 9 /* 0x00000009 */ # 69b: 0c92
ret /* 0x00000009 */ # 69d: 0df0
.literal_position # 6a0: 04f25000
# 6a4: 04ac0f00
# 6a8: 08ac0f00
# 6ac: 02f25000
# 6b0: 02ac0f00
# 6b4: 05f25000
# 6b8: 05ac0f00
# 6bc: 01f25000
# 6c0: 01ac0f00
# 6c4: 00f25000
# 6c8: 00ac0f00
# Function @ .irom0.text+0x6cc
.global sdk_wpa_cipher_to_suite
.type sdk_wpa_cipher_to_suite, @function
sdk_wpa_cipher_to_suite:
bbci a3, 3, .Lbr073 # 6cc: 376314
movi a5, 0x000fac04 # 6cf: 51f5ff
movi a3, 0x0050f204 # 6d2: 31f3ff
.Lbr070: addi a4, a2, -2 /* arg0-0x2 */ # 6d5: 42c2fe
moveqz a3, a5, a4 # 6d8: 403583
j .Lbr072 # 6db: 460000
.Lbr071: movi a3, 0 /* 0x00000000 */ # 6de: 0c03
.Lbr072: mov a2, a3 # 6e0: 2d03
ret # 6e2: 0df0
.Lbr073: bbci a3, 6, .Lbr074 # 6e4: 676305
movi a3, 0x000fac08 # 6e7: 31f0ff
j .Lbr072 # 6ea: 86fcff
.Lbr074: bbci a3, 1, .Lbr075 # 6ed: 176308
movi a5, 0x000fac02 # 6f0: 51f0ff
movi a3, 0x0050f202 # 6f3: 31eeff
j .Lbr070 # 6f6: c6f6ff
.Lbr075: bbci a3, 8, .Lbr076 # 6f9: 876308
movi a5, 0x000fac05 # 6fc: 51efff
movi a3, 0x0050f205 # 6ff: 31edff
j .Lbr070 # 702: c6f3ff
.Lbr076: bbci a3, 7, .Lbr077 # 705: 776308
movi a5, 0x000fac01 # 708: 51eeff
movi a3, 0x0050f201 # 70b: 31ecff
j .Lbr070 # 70e: c6f0ff
.Lbr077: bbci a3, 0, .Lbr071 # 711: 0763c9
movi a5, 0x000fac00 # 714: 51edff
movi a3, 0x0050f200 # 717: 31ebff
j .Lbr070 # 71a: c6edff
.balign 4
# Function @ .irom0.text+0x720
.global sdk_rsn_cipher_put_suites
.type sdk_rsn_cipher_put_suites, @function
sdk_rsn_cipher_put_suites:
movi a8, 15 /* 0x0000000f */ # 720: 0cf8
movi a9, 8 /* 0x00000008 */ # 722: 0c89
movi a7, -84 /* 0xffffffac */ # 724: 72afac
movi a6, 0 /* 0x00000000 */ # 727: 0c06
bbci a3, 3, .Lbr078 # 729: 376314
movi a5, 1 /* 0x00000001 */ # 72c: 0c15
s8i a6, a2, 0 /* 0x00 -> [arg0] */ # 72e: 624200
s8i a8, a2, 1 /* 0x0f -> [arg0+0x1] */ # 731: 824201
movi a4, 4 /* 0x00000004 */ # 734: 0c44
s8i a7, a2, 2 /* 0xac -> [arg0+0x2] */ # 736: 724202
s8i a4, a2, 3 /* 0x04 -> [arg0+0x3] */ # 739: 424203
addi a2, a2, 4 /* arg0+0x4 */ # 73c: 4b22
j .Lbr079 # 73e: 460000
.Lbr078: mov a5, a6 /* 0x00000000 */ # 741: 5d06
.Lbr079: bbci a3, 6, .Lbr080 # 743: 67630f
addi a5, a5, 1 # 746: 1b55
s8i a9, a2, 3 # 748: 924203
s8i a6, a2, 0 # 74b: 624200
s8i a8, a2, 1 # 74e: 824201
s8i a7, a2, 2 # 751: 724202
addi a2, a2, 4 # 754: 4b22
.Lbr080: movi a9, 2 /* 0x00000002 */ # 756: 0c29
bbci a3, 1, .Lbr081 # 758: 17630f
addi a5, a5, 1 # 75b: 1b55
s8i a9, a2, 3 # 75d: 924203
s8i a6, a2, 0 # 760: 624200
s8i a8, a2, 1 # 763: 824201
s8i a7, a2, 2 # 766: 724202
addi a2, a2, 4 # 769: 4b22
.Lbr081: bbci a3, 0, .Lbr082 # 76b: 07630d
s8i a8, a2, 1 # 76e: 824201
s8i a7, a2, 2 # 771: 724202
s8i a6, a2, 0 # 774: 624200
s8i a6, a2, 3 # 777: 624203
addi a5, a5, 1 # 77a: 1b55
.Lbr082: mov a2, a5 # 77c: 2d05
ret # 77e: 0df0
# Function @ .irom0.text+0x780
.global sdk_wpa_cipher_put_suites
.type sdk_wpa_cipher_put_suites, @function
sdk_wpa_cipher_put_suites:
movi a8, -14 /* 0xfffffff2 */ # 780: 7c28
movi a7, 80 /* 0x00000050 */ # 782: 5c07
movi a9, 2 /* 0x00000002 */ # 784: 0c29
movi a6, 0 /* 0x00000000 */ # 786: 0c06
bbci a3, 3, .Lbr083 # 788: 376314
movi a5, 1 /* 0x00000001 */ # 78b: 0c15
s8i a6, a2, 0 /* 0x00 -> [arg0] */ # 78d: 624200
s8i a7, a2, 1 /* 0x50 -> [arg0+0x1] */ # 790: 724201
movi a4, 4 /* 0x00000004 */ # 793: 0c44
s8i a8, a2, 2 /* 0xf2 -> [arg0+0x2] */ # 795: 824202
s8i a4, a2, 3 /* 0x04 -> [arg0+0x3] */ # 798: 424203
addi a2, a2, 4 /* arg0+0x4 */ # 79b: 4b22
j .Lbr084 # 79d: 460000
.Lbr083: mov a5, a6 /* 0x00000000 */ # 7a0: 5d06
.Lbr084: bbci a3, 1, .Lbr085 # 7a2: 17630f
addi a5, a5, 1 # 7a5: 1b55
s8i a9, a2, 3 # 7a7: 924203
s8i a6, a2, 0 # 7aa: 624200
s8i a7, a2, 1 # 7ad: 724201
s8i a8, a2, 2 # 7b0: 824202
addi a2, a2, 4 # 7b3: 4b22
.Lbr085: bbci a3, 0, .Lbr086 # 7b5: 07630d
s8i a7, a2, 1 # 7b8: 724201
s8i a8, a2, 2 # 7bb: 824202
s8i a6, a2, 0 # 7be: 624200
s8i a6, a2, 3 # 7c1: 624203
addi a5, a5, 1 # 7c4: 1b55
.Lbr086: mov a2, a5 # 7c6: 2d05
ret # 7c8: 0df0
.section .rodata.str1.4, "MSa", @progbits, 1
.Lstr001: .asciz "PMK Name" # 0: 504d4b20
# 4: 4e616d65
# 8: 00
.section .rodata, "a", @progbits
.Ldata001: .byte 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00

View file

@ -0,0 +1,16 @@
.section .irom0.text, "ax", @progbits
# Function @ .irom0.text+0x0
.global sdk_eloop_cancel_timeout
.type sdk_eloop_cancel_timeout, @function
sdk_eloop_cancel_timeout:
movi a2, 0 /* 0x00000000 */ # 0: 0c02
ret /* 0x00000000 */ # 2: 0df0
# Function @ .irom0.text+0x4
.global sdk_eloop_register_timeout
.type sdk_eloop_register_timeout, @function
sdk_eloop_register_timeout:
movi a2, 0 /* 0x00000000 */ # 4: 0c02
ret /* 0x00000000 */ # 6: 0df0

350
binary_sdk/libwpa/wpa_ie.S Normal file
View file

@ -0,0 +1,350 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# Function @ .irom0.text+0x8
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_wpa_parse_wpa_ie
.type sdk_wpa_parse_wpa_ie, @function
sdk_wpa_parse_wpa_ie:
addi sp, sp, -16 /* (local0) */ # 8: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b: 0901
beqz a3, .Lbr001 # d: 8cf3
l8ui a0, a2, 0 /* [arg0] */ # f: 020200
movi a5, 48 /* 0x00000030 */ # 12: 3c05
bne a0, a5, .Lbr001 # 14: 579008
call0 sdk_wpa_parse_wpa_ie_rsn # 17: 01faffc0
# 1b: 0000
j .Lbr002 # 1d: 460100
.Lbr001: call0 sdk_wpa_parse_wpa_ie_wpa # 20: 01f9ffc0
# 24: 0000
.Lbr002: l32i a0, sp, 0 /* [(local0)] */ # 26: 0801
addi sp, sp, 16 /* (top of frame) */ # 28: 12c110
ret # 2b: 0df0
.literal_position # 30: 01f25000
# 34: 04ac0f00
# 38: 01ac0f00
# 3c: 03ac0f00
# Function @ .irom0.text+0x40
.Lfunc001: l8ui a7, a2, 1 /* [arg0+0x1] */ # 40: 720201
l8ui a5, a2, 5 /* [arg0+0x5] */ # 43: 520205
bnez a7, .Lbr003 # 46: cc27
movi a2, 1 /* 0x00000001 */ # 48: 0c12
ret /* 0x00000001 */ # 4a: 0df0
.Lbr003: bltui a7, 6, .Lbr004 # 4c: b66737
l8ui a8, a2, 2 /* [arg0+0x2] */ # 4f: 820202
l8ui a9, a2, 3 /* [arg0+0x3] */ # 52: 920203
l8ui a6, a2, 4 /* [arg0+0x4] */ # 55: 620204
slli a9, a9, 16 # 58: 009911
slli a6, a6, 8 # 5b: 806611
slli a8, a8, 24 # 5e: 808801
or a5, a5, a6 # 61: 605520
movi a6, 0x0050f201 # 64: 61f3ff
or a8, a8, a9 # 67: 908820
or a5, a5, a8 # 6a: 805520
bne a5, a6, .Lbr004 # 6d: 679516
l8ui a8, a2, 6 /* [arg0+0x6] */ # 70: 820206
bnei a8, 1, .Lbr004 # 73: 661810
l8ui a9, a2, 7 /* [arg0+0x7] */ # 76: 920207
bnez a9, .Lbr004 # 79: cca9
s32i a2, a4, 0 /* arg0 -> [arg2] */ # 7b: 2904
l8ui a10, a2, 1 /* [arg0+0x1] */ # 7d: a20201
addi a10, a10, 2 /* [arg0+0x1]+0x2 */ # 80: 2baa
s32i a10, a4, 4 /* [arg0+0x1]+0x2 -> [arg2+0x4] */ # 82: a914
j .Lbr007 # 84: c61f00
.Lbr004: addi a11, a2, 5 /* arg0+0x5 */ # 87: 5bb2
bgeu a11, a3, .Lbr005 # 89: 37bb2f
movi a3, 19 /* 0x00000013 */ # 8c: 1c33
bgeu a3, a7, .Lbr005 # 8e: 77b32a
l8ui a5, a2, 5 /* [arg0+0x5] */ # 91: 520205
l8ui a8, a2, 2 /* [arg0+0x2] */ # 94: 820202
l8ui a9, a2, 3 /* [arg0+0x3] */ # 97: 920203
l8ui a6, a2, 4 /* [arg0+0x4] */ # 9a: 620204
slli a9, a9, 16 # 9d: 009911
slli a6, a6, 8 # a0: 806611
slli a8, a8, 24 # a3: 808801
or a5, a5, a6 # a6: 605520
movi a6, 0x000fac04 # a9: 61e2ff
or a8, a8, a9 # ac: 908820
or a5, a5, a8 # af: 805520
bne a5, a6, .Lbr005 # b2: 679506
addi a7, a2, 6 /* arg0+0x6 */ # b5: 6b72
s32i a7, a4, 16 /* arg0+0x6 -> [arg2+0x10] */ # b7: 7944
j .Lbr007 # b9: 861200
.Lbr005: bltui a7, 7, .Lbr007 # bc: b67747
movi a8, 0x000fac01 # bf: 81deff
l8ui a6, a2, 3 /* [arg0+0x3] */ # c2: 620203
l8ui a5, a2, 4 /* [arg0+0x4] */ # c5: 520204
l8ui a3, a2, 5 /* [arg0+0x5] */ # c8: 320205
slli a5, a5, 8 # cb: 805511
or a3, a3, a5 # ce: 503320
l8ui a5, a2, 2 /* [arg0+0x2] */ # d1: 520202
slli a6, a6, 16 # d4: 006611
slli a5, a5, 24 # d7: 805501
or a5, a5, a6 # da: 605520
or a3, a3, a5 # dd: 503320
bne a3, a8, .Lbr006 # e0: 87930e
addi a7, a2, 6 /* arg0+0x6 */ # e3: 6b72
s32i a7, a4, 20 /* arg0+0x6 -> [arg2+0x14] */ # e5: 7954
l8ui a6, a2, 1 /* [arg0+0x1] */ # e7: 620201
addi a6, a6, -4 /* [arg0+0x1]-0x4 */ # ea: 62c6fc
s32i a6, a4, 24 /* [arg0+0x1]-0x4 -> [arg2+0x18] */ # ed: 6964
j .Lbr007 # ef: 060500
.Lbr006: bltui a7, 7, .Lbr007 # f2: b67711
movi a8, 0x000fac03 # f5: 81d1ff
bne a3, a8, .Lbr007 # f8: 87930b
addi a10, a2, 6 /* arg0+0x6 */ # fb: 6ba2
s32i a10, a4, 28 /* arg0+0x6 -> [arg2+0x1c] */ # fd: a974
l8ui a9, a2, 1 /* [arg0+0x1] */ # ff: 920201
addi a9, a9, -4 /* [arg0+0x1]-0x4 */ # 102: 92c9fc
s32i a9, a4, 32 /* [arg0+0x1]-0x4 -> [arg2+0x20] */ # 105: 9984
.Lbr007: movi a2, 0 /* 0x00000000 */ # 107: 0c02
ret /* 0x00000000 */ # 109: 0df0
.literal_position # 10c: 00000000
# Function @ .irom0.text+0x110
# 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
.global sdk_wpa_supplicant_parse_ies
.type sdk_wpa_supplicant_parse_ies, @function
sdk_wpa_supplicant_parse_ies:
addi sp, sp, -32 /* (local0) */ # 110: 12c1e0
s32i a15, sp, 24 /* a15 -> [(local6)] */ # 113: f961
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 115: 0921
s32i a14, sp, 20 /* a14 -> [(local5)] */ # 117: e951
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 119: d941
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 11b: c931
mov a13, a4 /* arg2 */ # 11d: dd04
mov a12, a2 /* arg0 */ # 11f: cd02
mov a14, a3 /* arg1 */ # 121: ed03
mov a2, a4 /* arg2 */ # 123: 2d04
movi a3, 0 /* 0x00000000 */ # 125: 0c03
movi a4, 36 /* 0x00000024 */ # 127: 2c44
call0 memset # 129: 01f8ffc0
# 12d: 0000
s32i a13, sp, 4 /* arg2 -> [(local1)] */ # 12f: d911
blti a14, 2, .Lbr015 # 131: a62e70
movi a15, 48 /* 0x00000030 */ # 134: 3c0f
movi a2, 0 /* 0x00000000 */ # 136: 0c02
add a13, a12, a14 # 138: eadc
movi a14, 221 /* 0x000000dd */ # 13a: e2a0dd
addi a0, a13, -1 # 13d: 0b0d
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 13f: 0901
.Lbr008: l8ui a0, a12, 0 # 141: 020c00
l8ui a3, a12, 1 # 144: 320c01
bne a0, a14, .Lbr009 # 147: e7900c
l32i a3, sp, 0 /* [(local0)] */ # 14a: 3801
beq a3, a12, .Lbr014 # 14c: c71346
l8ui a3, a12, 1 # 14f: 320c01
bnez a3, .Lbr009 # 152: cc13
j .Lbr014 # 154: 860f00
.Lbr009: add a3, a3, a12 # 157: ca33
addi a3, a3, 2 # 159: 2b33
bltu a13, a3, .Lbr013 # 15b: 373d35
bne a0, a15, .Lbr012 # 15e: f7901b
l32i a5, sp, 4 /* [(local1)] */ # 161: 5811
s32i a12, a5, 8 /* a12 -> [[(local1)]+0x8] */ # 163: c925
l8ui a4, a12, 1 # 165: 420c01
addi a4, a4, 2 # 168: 2b44
s32i a4, a5, 12 /* a4 -> [[(local1)]+0xc] */ # 16a: 4935
.Lbr010: l8ui a3, a12, 1 # 16c: 320c01
add a3, a3, a12 # 16f: ca33
addi a3, a3, 2 # 171: 2b33
.Lbr011: mov a12, a3 # 173: cd03
addi a4, a3, 1 # 175: 1b43
bltu a4, a13, .Lbr008 # 177: d734c6
j .Lbr014 # 17a: 060600
.Lbr012: bne a0, a14, .Lbr011 # 17d: e790f2
mov a2, a12 # 180: 2d0c
mov a3, a13 # 182: 3d0d
l32i a4, sp, 4 /* [(local1)] */ # 184: 4811
call0 .Lfunc001 # 186: 85ebff
bltz a2, .Lbr014 # 189: 969200
blti a2, 1, .Lbr010 # 18c: a612dc
movi a2, 0 /* 0x00000000 */ # 18f: 0c02
j .Lbr014 # 191: 460000
.Lbr013: movi a2, -1 /* 0xffffffff */ # 194: 7cf2
.Lbr014: l32i a12, sp, 12 /* [(local3)] */ # 196: c831
l32i a13, sp, 16 /* [(local4)] */ # 198: d841
l32i a14, sp, 20 /* [(local5)] */ # 19a: e851
l32i a15, sp, 24 /* [(local6)] */ # 19c: f861
l32i a0, sp, 8 /* [(local2)] */ # 19e: 0821
addi sp, sp, 32 /* (top of frame) */ # 1a0: 12c120
ret # 1a3: 0df0
.Lbr015: movi a2, 0 /* 0x00000000 */ # 1a5: 0c02
j .Lbr014 # 1a7: c6faff
.balign 4
# Function @ .irom0.text+0x1ac
.Lfunc002: movi a7, 23 /* 0x00000017 */ # 1ac: 1c77
bgeu a7, a3, .Lbr023 # 1ae: 37b774
movi a9, 4 /* 0x00000004 */ # 1b1: 0c49
movi a8, -35 /* 0xffffffdd */ # 1b3: 82afdd
movi a3, 1 /* 0x00000001 */ # 1b6: 0c13
movi a11, -14 /* 0xfffffff2 */ # 1b8: 7c2b
movi a10, 80 /* 0x00000050 */ # 1ba: 5c0a
s8i a10, a2, 3 /* 0x50 -> [arg0+0x3] */ # 1bc: a24203
s8i a11, a2, 4 /* 0xf2 -> [arg0+0x4] */ # 1bf: b24204
s8i a3, a2, 5 /* 0x01 -> [arg0+0x5] */ # 1c2: 324205
s8i a8, a2, 0 /* 0xdd -> [arg0] */ # 1c5: 824200
s8i a3, a2, 6 /* 0x01 -> [arg0+0x6] */ # 1c8: 324206
movi a8, 0 /* 0x00000000 */ # 1cb: 0c08
s8i a8, a2, 2 /* 0x00 -> [arg0+0x2] */ # 1cd: 824202
s8i a8, a2, 7 /* 0x00 -> [arg0+0x7] */ # 1d0: 824207
bnei a5, 8, .Lbr017 # 1d3: 66850e
s8i a9, a2, 11 /* 0x04 -> [arg0+0xb] */ # 1d6: 92420b
.Lbr016: s8i a8, a2, 8 /* 0x00 -> [arg0+0x8] */ # 1d9: 824208
s8i a10, a2, 9 /* 0x50 -> [arg0+0x9] */ # 1dc: a24209
s8i a11, a2, 10 /* 0xf2 -> [arg0+0xa] */ # 1df: b2420a
j .Lbr020 # 1e2: c60600
.Lbr017: bnei a5, 2, .Lbr018 # 1e5: 662507
movi a5, 2 /* 0x00000002 */ # 1e8: 0c25
s8i a5, a2, 11 /* 0x02 -> [arg0+0xb] */ # 1ea: 52420b
j .Lbr016 # 1ed: 06faff
.Lbr018: bnei a5, 0x100, .Lbr021 # 1f0: 66f51e
s8i a8, a2, 8 /* 0x00 -> [arg0+0x8] */ # 1f3: 824208
s8i a10, a2, 9 /* 0x50 -> [arg0+0x9] */ # 1f6: a24209
s8i a11, a2, 10 /* 0xf2 -> [arg0+0xa] */ # 1f9: b2420a
movi a5, 5 /* 0x00000005 */ # 1fc: 0c55
.Lbr019: s8i a5, a2, 11 /* a5 -> [arg0+0xb] */ # 1fe: 52420b
.Lbr020: s8i a3, a2, 12 /* 0x01 -> [arg0+0xc] */ # 201: 32420c
s8i a8, a2, 13 /* 0x00 -> [arg0+0xd] */ # 204: 82420d
beqi a4, 8, .Lbr025 # 207: 268424
bnei a4, 2, .Lbr024 # 20a: 66241c
movi a9, 2 /* 0x00000002 */ # 20d: 0c29
j .Lbr025 # 20f: 060700
.Lbr021: bnei a5, 128, .Lbr023 # 212: 66e510
s8i a8, a2, 8 /* 0x00 -> [arg0+0x8] */ # 215: 824208
s8i a10, a2, 9 /* 0x50 -> [arg0+0x9] */ # 218: a24209
s8i a11, a2, 10 /* 0xf2 -> [arg0+0xa] */ # 21b: b2420a
mov a5, a3 /* 0x00000001 */ # 21e: 5d03
j .Lbr019 # 220: 86f6ff
.Lbr022: beqi a6, 16, .Lbr026 # 223: 26b625
.Lbr023: movi a2, -1 /* 0xffffffff */ # 226: 7cf2
ret /* 0xffffffff */ # 228: 0df0
.Lbr024: bnei a4, 1, .Lbr023 # 22a: 6614f8
mov a9, a8 /* 0x00000000 */ # 22d: 9d08
.Lbr025: s8i a9, a2, 17 /* a9 -> [arg0+0x11] */ # 22f: 924211
s8i a8, a2, 14 /* 0x00 -> [arg0+0xe] */ # 232: 82420e
s8i a10, a2, 15 /* 0x50 -> [arg0+0xf] */ # 235: a2420f
s8i a11, a2, 16 /* 0xf2 -> [arg0+0x10] */ # 238: b24210
s8i a3, a2, 18 /* 0x01 -> [arg0+0x12] */ # 23b: 324212
s8i a8, a2, 19 /* 0x00 -> [arg0+0x13] */ # 23e: 824213
beqi a6, 1, .Lbr027 # 241: 261609
bnei a6, 2, .Lbr022 # 244: 6626db
movi a3, 2 /* 0x00000002 */ # 247: 0c23
j .Lbr027 # 249: 460000
.Lbr026: mov a3, a8 /* 0x00000000 */ # 24c: 3d08
.Lbr027: s8i a8, a2, 20 /* 0x00 -> [arg0+0x14] */ # 24e: 824214
s8i a10, a2, 21 /* 0x50 -> [arg0+0x15] */ # 251: a24215
s8i a11, a2, 22 /* 0xf2 -> [arg0+0x16] */ # 254: b24216
movi a6, 22 /* 0x00000016 */ # 257: 1c66
s8i a3, a2, 23 /* a3 -> [arg0+0x17] */ # 259: 324217
s8i a6, a2, 1 /* 0x16 -> [arg0+0x1] */ # 25c: 624201
movi a2, 24 /* 0x00000018 */ # 25f: 1c82
ret /* 0x00000018 */ # 261: 0df0
.balign 4
# Function @ .irom0.text+0x264
.Lfunc003: movi a7, 21 /* 0x00000015 */ # 264: 1c57
bgeu a7, a3, .Lbr035 # 266: 37b771
movi a10, -84 /* 0xffffffac */ # 269: a2afac
movi a9, 4 /* 0x00000004 */ # 26c: 0c49
movi a3, 1 /* 0x00000001 */ # 26e: 0c13
movi a11, 48 /* 0x00000030 */ # 270: 3c0b
movi a8, 0 /* 0x00000000 */ # 272: 0c08
s8i a8, a2, 3 /* 0x00 -> [arg0+0x3] */ # 274: 824203
s8i a11, a2, 0 /* 0x30 -> [arg0] */ # 277: b24200
s8i a3, a2, 2 /* 0x01 -> [arg0+0x2] */ # 27a: 324202
movi a11, 15 /* 0x0000000f */ # 27d: 0cfb
bnei a5, 8, .Lbr029 # 27f: 66850e
s8i a9, a2, 7 /* 0x04 -> [arg0+0x7] */ # 282: 924207
.Lbr028: s8i a8, a2, 4 /* 0x00 -> [arg0+0x4] */ # 285: 824204
s8i a11, a2, 5 /* 0x0f -> [arg0+0x5] */ # 288: b24205
s8i a10, a2, 6 /* 0xac -> [arg0+0x6] */ # 28b: a24206
j .Lbr032 # 28e: c60600
.Lbr029: bnei a5, 2, .Lbr030 # 291: 662507
movi a5, 2 /* 0x00000002 */ # 294: 0c25
s8i a5, a2, 7 /* 0x02 -> [arg0+0x7] */ # 296: 524207
j .Lbr028 # 299: 06faff
.Lbr030: bnei a5, 0x100, .Lbr036 # 29c: 66f53f
s8i a8, a2, 4 /* 0x00 -> [arg0+0x4] */ # 29f: 824204
s8i a11, a2, 5 /* 0x0f -> [arg0+0x5] */ # 2a2: b24205
s8i a10, a2, 6 /* 0xac -> [arg0+0x6] */ # 2a5: a24206
movi a5, 5 /* 0x00000005 */ # 2a8: 0c55
.Lbr031: s8i a5, a2, 7 /* a5 -> [arg0+0x7] */ # 2aa: 524207
.Lbr032: s8i a3, a2, 8 /* 0x01 -> [arg0+0x8] */ # 2ad: 324208
s8i a8, a2, 9 /* 0x00 -> [arg0+0x9] */ # 2b0: 824209
beqi a4, 8, .Lbr034 # 2b3: 26840c
bnei a4, 2, .Lbr033 # 2b6: 662404
movi a9, 2 /* 0x00000002 */ # 2b9: 0c29
j .Lbr034 # 2bb: 060100
.Lbr033: bnei a4, 1, .Lbr035 # 2be: 661419
mov a9, a8 /* 0x00000000 */ # 2c1: 9d08
.Lbr034: s8i a9, a2, 13 /* a9 -> [arg0+0xd] */ # 2c3: 92420d
s8i a8, a2, 10 /* 0x00 -> [arg0+0xa] */ # 2c6: 82420a
s8i a11, a2, 11 /* 0x0f -> [arg0+0xb] */ # 2c9: b2420b
s8i a10, a2, 12 /* 0xac -> [arg0+0xc] */ # 2cc: a2420c
s8i a3, a2, 14 /* 0x01 -> [arg0+0xe] */ # 2cf: 32420e
s8i a8, a2, 15 /* 0x00 -> [arg0+0xf] */ # 2d2: 82420f
beqi a6, 1, .Lbr038 # 2d5: 261619
beqi a6, 2, .Lbr037 # 2d8: 262614
.Lbr035: movi a2, -1 /* 0xffffffff */ # 2db: 7cf2
ret /* 0xffffffff */ # 2dd: 0df0
.Lbr036: bnei a5, 128, .Lbr035 # 2df: 66e5f8
s8i a8, a2, 4 /* 0x00 -> [arg0+0x4] */ # 2e2: 824204
s8i a11, a2, 5 /* 0x0f -> [arg0+0x5] */ # 2e5: b24205
s8i a10, a2, 6 /* 0xac -> [arg0+0x6] */ # 2e8: a24206
mov a5, a3 /* 0x00000001 */ # 2eb: 5d03
j .Lbr031 # 2ed: 46eeff
.Lbr037: movi a3, 2 /* 0x00000002 */ # 2f0: 0c23
.Lbr038: s8i a11, a2, 17 /* 0x0f -> [arg0+0x11] */ # 2f2: b24211
s8i a10, a2, 18 /* 0xac -> [arg0+0x12] */ # 2f5: a24212
s8i a3, a2, 19 /* a3 -> [arg0+0x13] */ # 2f8: 324213
s8i a8, a2, 16 /* 0x00 -> [arg0+0x10] */ # 2fb: 824210
s8i a8, a2, 21 /* 0x00 -> [arg0+0x15] */ # 2fe: 824215
movi a6, 20 /* 0x00000014 */ # 301: 1c46
s8i a8, a2, 20 /* 0x00 -> [arg0+0x14] */ # 303: 824214
s8i a6, a2, 1 /* 0x14 -> [arg0+0x1] */ # 306: 624201
movi a2, 22 /* 0x00000016 */ # 309: 1c62
ret /* 0x00000016 */ # 30b: 0df0
.balign 4
# Function @ .irom0.text+0x310
# Local variables/stack:
# (local0): word[4] @ -0x20
# (local1): word[4] @ -0x10
.global sdk_wpa_gen_wpa_ie
.type sdk_wpa_gen_wpa_ie, @function
sdk_wpa_gen_wpa_ie:
addi sp, sp, -32 /* (local0) */ # 310: 12c1e0
mov a9, a3 /* arg1 */ # 313: 9d03
l32i a5, a2, 0x118 /* [arg0+0x118] */ # 315: 522246
l32i a6, a2, 0x11c /* [arg0+0x11c] */ # 318: 622247
mov a3, a4 /* arg2 */ # 31b: 3d04
s32i a0, sp, 16 /* a0 -> [(local1)] */ # 31d: 0941
l32i a0, a2, 0x164 /* [arg0+0x164] */ # 31f: 022259
l32i a4, a2, 0x114 /* [arg0+0x114] */ # 322: 422245
bnei a0, 2, .Lbr039 # 325: 66200c
l32i a7, a2, 0x120 /* [arg0+0x120] */ # 328: 722248
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 32b: 2901
mov a2, a9 /* arg1 */ # 32d: 2d09
call0 .Lfunc003 # 32f: 45f3ff
j .Lbr040 # 332: 060100
.Lbr039: mov a2, a9 /* arg1 */ # 335: 2d09
call0 .Lfunc002 # 337: 45e7ff
.Lbr040: l32i a0, sp, 16 /* [(local1)] */ # 33a: 0841
addi sp, sp, 32 /* (top of frame) */ # 33c: 12c120
ret # 33f: 0df0

View file

@ -0,0 +1,414 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 00000000
# 18: 00000000
# 1c: 00000000
# 20: 00000000
# 24: 00000000
# Function @ .irom0.text+0x28
# Local variables/stack:
# (local0): word[4] @ -0x30
# (local1): word @ -0x20
# (local2): word @ -0x1c
# (local3): word @ -0x18
# (local4): word @ -0x14
# (local5): word @ -0x10
# (local6): word[3] @ -0xc
.global sdk_ppInstallKey
.type sdk_ppInstallKey, @function
sdk_ppInstallKey:
mov a5, a3 /* arg1 */ # 28: 5d03
addi sp, sp, -48 /* (local0) */ # 2a: 12c1d0
s32i a14, sp, 36 /* a14 -> [(local6)] */ # 2d: e991
l32i a7, sp, 48 /* [(local7)] */ # 2f: 78c1
s32i a6, sp, 16 /* arg4 -> [(local1)] */ # 31: 6941
s32i a0, sp, 24 /* a0 -> [(local3)] */ # 33: 0961
s32i a13, sp, 32 /* a13 -> [(local5)] */ # 35: d981
s32i a12, sp, 28 /* a12 -> [(local4)] */ # 37: c971
l32i a13, sp, 56 /* [(FP)+0x8] */ # 39: d8e1
mov a12, a2 /* arg0 */ # 3b: cd02
l32i a0, sp, 52 /* [(FP)+0x4] */ # 3d: 08d1
movi a2, 0 /* 0x00000000 */ # 3f: 0c02
mov a3, a12 /* arg0 */ # 41: 3d0c
s32i a0, sp, 0 /* [(FP)+0x4] -> [(local0)] */ # 43: 0901
addi a6, a13, 1 /* [(FP)+0x8]+0x1 */ # 45: 1b6d
s32i a6, sp, 20 /* [(FP)+0x8]+0x1 -> [(local2)] */ # 47: 6951
call0 sdk_ic_set_key # 49: 01f1ffc0
# 4d: 0000
movi a0, sdk_g_ic # 4f: 01ecff
addi a2, a13, -1 /* [(FP)+0x8]-0x1 */ # 52: 0b2d
addx4 a14, a13, a0 # 54: 00eda0
bgei a13, 4, .Lbr001 # 57: e64d1d
l32i a3, a0, 16 /* [sdk_g_ic+0x10] */ # 5a: 3840
l32i a3, a3, 136 /* [[sdk_g_ic+0x10]+0x88] */ # 5c: 322322
s8i a2, a3, 233 /* [(FP)+0x8]-0x1 -> [[[sdk_g_ic+0x10]+0x88]+0xe9] */ # 5f: 2243e9
l32i a13, a14, 0x18c # 62: d22e63
bnez a13, .Lbr003 # 65: ecad
movi a2, 160 /* 0x000000a0 */ # 67: 22a0a0
call0 malloc # 6a: 01eaffc0
# 6e: 0000
mov a13, a2 # 70: dd02
s32i a2, a14, 0x18c # 72: 226e63
j .Lbr003 # 75: 860600
.Lbr001: l32i a13, a14, 0x18c # 78: d22e63
beqz a13, .Lbr002 # 7b: 8c6d
mov a2, a13 # 7d: 2d0d
call0 free # 7f: 01e6ffc0
# 83: 0000
.Lbr002: movi a2, 160 /* 0x000000a0 */ # 85: 22a0a0
call0 malloc # 88: 01e5ffc0
# 8c: 0000
mov a13, a2 # 8e: dd02
s32i a2, a14, 0x18c # 90: 226e63
.Lbr003: mov a2, a13 # 93: 2d0d
movi a3, 160 /* 0x000000a0 */ # 95: 32a0a0
call0 bzero # 98: 01e2ffc0
# 9c: 0000
bnei a12, 2, .Lbr006 # 9e: 662c26
movi a0, sdk_tkip # a1: 01d8ff
.Lbr004: s32i a0, a13, 152 # a4: 026d26
.Lbr005: movi a4, 8 /* 0x00000008 */ # a7: 0c84
movi a2, 144 /* 0x00000090 */ # a9: 22a090
l32i a3, sp, 20 /* [(local2)] */ # ac: 3851
s16i a3, a13, 0 # ae: 325d00
add a2, a13, a2 # b1: 2a2d
l32i a3, sp, 16 /* [(local1)] */ # b3: 3841
call0 memcpy # b5: 01dbffc0
# b9: 0000
l32i a12, sp, 28 /* [(local4)] */ # bb: c871
l32i a13, sp, 32 /* [(local5)] */ # bd: d881
l32i a14, sp, 36 /* [(local6)] */ # bf: e891
l32i a0, sp, 24 /* [(local3)] */ # c1: 0861
addi sp, sp, 48 /* (local7) */ # c3: 12c130
ret # c6: 0df0
.Lbr006: bnei a12, 3, .Lbr007 # c8: 663c05
movi a0, sdk_ccmp # cb: 01cfff
j .Lbr004 # ce: 86f4ff
.Lbr007: beqi a12, 1, .Lbr008 # d1: 261c02
bnei a12, 5, .Lbr005 # d4: 665ccf
.Lbr008: movi a0, sdk_wep # d7: 01cdff
j .Lbr004 # da: 86f1ff
.literal_position # e0: 00000000
# e4: 00000000
# Function @ .irom0.text+0xe8
# Local variables/stack:
# (local0): word[4] @ -0x10
.Lfunc001: mov a3, a2 /* arg0 */ # e8: 3d02
movi a2, sdk_g_ic # ea: 21fdff
addi sp, sp, -16 /* (local0) */ # ed: 12c1f0
l32i a2, a2, 16 /* [sdk_g_ic+0x10] */ # f0: 2842
s32i a0, sp, 0 /* a0 -> [(local0)] */ # f2: 0901
l32i a2, a2, 0 /* [[sdk_g_ic+0x10]] */ # f4: 2802
call0 sdk_ieee80211_output_pbuf # f6: 01fbffc0
# fa: 0000
l32i a0, sp, 0 /* [(local0)] */ # fc: 0801
addi sp, sp, 16 /* (top of frame) */ # fe: 12c110
ret # 101: 0df0
.literal_position # 104: 00000000
# 108: 00000000
# 10c: 00000000
# 110: 00000000
# Function @ .irom0.text+0x114
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.Lfunc002: movi a3, 192 /* 0x000000c0 */ # 114: 32a0c0
addi sp, sp, -16 /* (local0) */ # 117: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 11a: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 11c: 0901
mov a12, a2 /* arg0 */ # 11e: cd02
movi a2, sdk_g_ic # 120: 21f9ff
mov a4, a12 /* arg0 */ # 123: 4d0c
l32i a2, a2, 16 /* [sdk_g_ic+0x10] */ # 125: 2842
call0 sdk_ieee80211_send_mgmt # 127: 01f9ffc0
# 12b: 0000
movi a2, sdk_g_ic # 12d: 21f6ff
movi a3, 2 /* 0x00000002 */ # 130: 0c23
movi a5, 192 /* 0x000000c0 */ # 132: 52a0c0
slli a4, a12, 8 # 135: 804c11
or a4, a4, a5 # 138: 504420
call0 sdk_ieee80211_sta_new_state # 13b: 01f5ffc0
# 13f: 0000
l32i a12, sp, 4 /* [(local1)] */ # 141: c811
l32i a0, sp, 0 /* [(local0)] */ # 143: 0801
addi sp, sp, 16 /* (top of frame) */ # 145: 12c110
ret # 148: 0df0
.literal_position # 14c: 00000000
# 150: 00000000
# Function @ .irom0.text+0x154
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_wpa_config_profile
.type sdk_wpa_config_profile, @function
sdk_wpa_config_profile:
addi sp, sp, -16 /* (local0) */ # 154: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 157: 0901
addmi a0, a2, 512 /* arg0+0x200 */ # 159: 02d202
l8ui a0, a0, 9 /* [arg0+0x209] */ # 15c: 020009
beqi a0, 2, .Lbr011 # 15f: 26201d
beqi a0, 3, .Lbr011 # 162: 26301a
beqi a0, 6, .Lbr011 # 165: 266017
beqi a0, 4, .Lbr009 # 168: 264005
beqi a0, 5, .Lbr009 # 16b: 265002
bnei a0, 7, .Lbr010 # 16e: 667007
.Lbr009: movi a2, 2 /* 0x00000002 */ # 171: 0c22
call0 sdk_wpa_set_profile # 173: 01f6ffc0
# 177: 0000
.Lbr010: l32i a0, sp, 0 /* [(local0)] */ # 179: 0801
addi sp, sp, 16 /* (top of frame) */ # 17b: 12c110
ret # 17e: 0df0
.Lbr011: movi a2, 1 /* 0x00000001 */ # 180: 0c12
call0 sdk_wpa_set_profile # 182: 01f3ffc0
# 186: 0000
j .Lbr010 # 188: 46fbff
.literal_position # 18c: 00000000
# Function @ .irom0.text+0x190
# Local variables/stack:
# (local0): word[4] @ -0x20
# (local1): word[4] @ -0x10
.global sdk_wpa_config_bss
.type sdk_wpa_config_bss, @function
sdk_wpa_config_bss:
mov a7, a2 /* arg0 */ # 190: 7d02
addi sp, sp, -32 /* (local0) */ # 192: 12c1e0
movi a4, 394 /* 0x0000018a */ # 195: 42a18a
l16ui a8, a2, 0x1e4 /* [arg0+0x1e4] */ # 198: 8212f2
l16ui a6, a2, 0x1e6 /* [arg0+0x1e6] */ # 19b: 6212f3
s32i a0, sp, 16 /* a0 -> [(local1)] */ # 19e: 0941
add a4, a2, a4 /* arg0+0x18a */ # 1a0: 4a42
l8ui a5, a4, 130 /* [arg0+0x20c] */ # 1a2: 520482
movi a0, 488 /* 0x000001e8 */ # 1a5: 02a1e8
l8ui a4, a4, 128 /* [arg0+0x20a] */ # 1a8: 420480
slli a6, a6, 16 # 1ab: 006611
l32i a2, a2, 16 /* [arg0+0x10] */ # 1ae: 2842
or a6, a6, a8 # 1b0: 806620
l32i a2, a2, 0 /* [[arg0+0x10]] */ # 1b3: 2802
s32i a6, sp, 0 /* a6 -> [(local0)] */ # 1b5: 6901
movi a6, 527 /* 0x0000020f */ # 1b7: 62a20f
addi a2, a2, 41 /* [[arg0+0x10]]+0x29 */ # 1ba: 22c229
add a6, a7, a6 /* arg0+0x20f */ # 1bd: 6a67
add a7, a7, a0 /* arg0+0x1e8 */ # 1bf: 0a77
call0 sdk_wpa_set_bss # 1c1: 01f2ffc0
# 1c5: 0000
l32i a0, sp, 16 /* [(local1)] */ # 1c7: 0841
addi sp, sp, 32 /* (top of frame) */ # 1c9: 12c120
ret # 1cc: 0df0
.literal_position # 1d0: 00000000
# Function @ .irom0.text+0x1d4
.global sdk_wpa_config_assoc_ie
.type sdk_wpa_config_assoc_ie, @function
sdk_wpa_config_assoc_ie:
movi a6, sdk_g_ic # 1d4: 61ffff
bnei a2, 1, .Lbr013 # 1d7: 661207
s32i a3, a6, 0x174 /* arg1 -> [sdk_g_ic+0x174] */ # 1da: 32665d
.Lbr012: s16i a4, a3, 0 /* arg2 -> [arg1] */ # 1dd: 425300
ret /* arg0 */ # 1e0: 0df0
.Lbr013: s32i a3, a6, 0x178 /* arg1 -> [sdk_g_ic+0x178] */ # 1e2: 32665e
j .Lbr012 # 1e5: 06fdff
.literal_position # 1e8: 00000000
# 1ec: 00000000
# Function @ .irom0.text+0x1f0
.global sdk_dhcp_bind_check
.type sdk_dhcp_bind_check, @function
sdk_dhcp_bind_check:
movi a4, sdk_g_ic # 1f0: 41feff
l32i a4, a4, 16 /* [sdk_g_ic+0x10] */ # 1f3: 4844
movi a3, sdk_g_ic+0x180 # 1f5: 31fdff
l8ui a2, a4, 186 /* [[sdk_g_ic+0x10]+0xba] */ # 1f8: 2204ba
l8ui a3, a3, 138 /* [sdk_g_ic+0x20a] */ # 1fb: 32038a
beqi a2, 5, .Lbr015 # 1fe: 26520a
beqi a3, 7, .Lbr014 # 201: 267302
bnei a3, 8, .Lbr015 # 204: 668304
.Lbr014: movi a5, 2 /* 0x00000002 */ # 207: 0c25
s8i a5, a4, 186 /* 0x02 -> [[sdk_g_ic+0x10]+0xba] */ # 209: 5244ba
.Lbr015: ret /* [[sdk_g_ic+0x10]+0xba] */ # 20c: 0df0
.literal_position # 210: 00000000
# 214: 00000000
# 218: 00000000
# 21c: 00000100
# 220: 000e0060
# 224: 00000000
# 228: 983a0000
# 22c: 00000000
# 230: 00000000
# 234: 20000000
# 238: 00000000
# 23c: 00000000
# 240: 00000000
# 244: 00000000
# 248: 00000000
# 24c: 00000000
# 250: 00000000
# 254: 00000000
# Function @ .irom0.text+0x258
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_eagle_auth_done
.type sdk_eagle_auth_done, @function
sdk_eagle_auth_done:
addi sp, sp, -16 /* (local0) */ # 258: 12c1f0
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 25b: c921
movi a12, sdk_g_ic # 25d: c1ecff
l32i a12, a12, 16 /* [sdk_g_ic+0x10] */ # 260: c84c
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 262: 0911
l32i a0, a12, 136 /* [[sdk_g_ic+0x10]+0x88] */ # 264: 022c22
l32i a2, a0, 8 /* [[[sdk_g_ic+0x10]+0x88]+0x8] */ # 267: 2820
extui a2, a2, 0, 1 # 269: 202004
bnez a2, .Lbr017 # 26c: 56220a
movi a2, .Lstr001 # 26f: 21e9ff
l32i a4, a0, 120 /* [[[sdk_g_ic+0x10]+0x88]+0x78] */ # 272: 42201e
movi a3, sdk_g_ic+0x1e8 # 275: 31e8ff
l8ui a4, a4, 6 /* [[[[sdk_g_ic+0x10]+0x88]+0x78]+0x6] */ # 278: 420406
call0 printf # 27b: 01efffc0
# 27f: 0000
l32i a5, a12, 136 /* [[sdk_g_ic+0x10]+0x88] */ # 281: 522c22
l32i a5, a5, 120 /* [[[sdk_g_ic+0x10]+0x88]+0x78] */ # 284: 52251e
movi a6, 0x00010000 # 287: 61e5ff
l8ui a5, a5, 6 /* [[[[sdk_g_ic+0x10]+0x88]+0x78]+0x6] */ # 28a: 520506
or a5, a5, a6 # 28d: 605520
movi a6, 0x60000e00 # 290: 61e4ff
memw # 293: c02000
s32i a5, a6, 0x3f4 /* a5 -> [0x600011f4] */ # 296: 5266fd
addi a2, a12, 4 /* [sdk_g_ic+0x10]+0x4 */ # 299: 4b2c
s32i a2, sp, 0 /* [sdk_g_ic+0x10]+0x4 -> [(local0)] */ # 29b: 2901
call0 sdk_os_timer_disarm # 29d: 01e7ffc0
# 2a1: 0000
l32i a2, sp, 0 /* [(local0)] */ # 2a3: 2801
movi a3, sdk_dhcp_bind_check # 2a5: 31dfff
movi a4, 0 /* 0x00000000 */ # 2a8: 0c04
call0 sdk_os_timer_setfn # 2aa: 01e5ffc0
# 2ae: 0000
l32i a2, sp, 0 /* [(local0)] */ # 2b0: 2801
movi a3, 0x00003a98 # 2b2: 31ddff
movi a4, 0 /* 0x00000000 */ # 2b5: 0c04
call0 sdk_os_timer_arm # 2b7: 01e3ffc0
# 2bb: 0000
movi a9, 1 /* 0x00000001 */ # 2bd: 0c19
movi a11, sdk_g_ic # 2bf: b1dbff
l32i a8, a12, 136 /* [[sdk_g_ic+0x10]+0x88] */ # 2c2: 822c22
l32i a11, a11, 16 /* [sdk_g_ic+0x10] */ # 2c5: b84b
movi a10, 0 /* 0x00000000 */ # 2c7: 0c0a
s8i a10, a11, 185 /* 0x00 -> [[sdk_g_ic+0x10]+0xb9] */ # 2c9: a24bb9
s8i a10, a8, 24 /* 0x00 -> [[[sdk_g_ic+0x10]+0x88]+0x18] */ # 2cc: a24818
l32i a7, a8, 8 /* [[[sdk_g_ic+0x10]+0x88]+0x8] */ # 2cf: 7828
l32i a0, a12, 0 /* [[sdk_g_ic+0x10]] */ # 2d1: 080c
or a7, a7, a9 # 2d3: 907720
s32i a7, a8, 8 /* a7 -> [[[sdk_g_ic+0x10]+0x88]+0x8] */ # 2d6: 7928
l8ui a6, a0, 47 /* [[[sdk_g_ic+0x10]]+0x2f] */ # 2d8: 62002f
bbsi a6, 3, .Lbr017 # 2db: 37e633
l32i a2, a0, 4 /* [[[sdk_g_ic+0x10]]+0x4] */ # 2de: 2810
movi a3, sdk_dhcpc_flag # 2e0: 31d4ff
bnez a2, .Lbr016 # 2e3: dc72
l8ui a3, a3, 0 /* [sdk_dhcpc_flag] */ # 2e5: 320300
beqz a3, .Lbr017 # 2e8: ac63
movi a2, .Lstr002 # 2ea: 21d2ff
call0 printf # 2ed: 01d6ffc0
# 2f1: 0000
l32i a2, a12, 0 /* [[sdk_g_ic+0x10]] */ # 2f3: 280c
call0 dhcp_start # 2f5: 01d5ffc0
# 2f9: 0000
j .Lbr017 # 2fb: c60400
.Lbr016: addi a2, a0, 4 /* [[sdk_g_ic+0x10]]+0x4 */ # 2fe: 4b20
addi a3, a0, 8 /* [[sdk_g_ic+0x10]]+0x8 */ # 300: 8b30
addi a4, a0, 12 /* [[sdk_g_ic+0x10]]+0xc */ # 302: cb40
call0 sdk_system_station_got_ip_set # 304: 01d3ffc0
# 308: 0000
l32i a2, a12, 0 /* [[sdk_g_ic+0x10]] */ # 30a: 280c
call0 netif_set_up # 30c: 01d2ffc0
# 310: 0000
.Lbr017: l32i a12, sp, 8 /* [(local2)] */ # 312: c821
l32i a0, sp, 4 /* [(local1)] */ # 314: 0811
addi sp, sp, 16 /* (top of frame) */ # 316: 12c110
ret # 319: 0df0
.balign 4
# Function @ .irom0.text+0x31c
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_wpa_neg_complete
.type sdk_wpa_neg_complete, @function
sdk_wpa_neg_complete:
addi sp, sp, -16 /* (local0) */ # 31c: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 31f: 0901
call0 sdk_eagle_auth_done # 321: 050000
l32i a0, sp, 0 /* [(local0)] */ # 324: 0801
addi sp, sp, 16 /* (top of frame) */ # 326: 12c110
ret # 329: 0df0
.literal_position # 32c: e8000000
# 330: 00000000
# 334: 00000000
# 338: 14010000
# 33c: 00000000
# 340: 00000000
# 344: 00000000
# 348: 00000000
# Function @ .irom0.text+0x34c
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_wpa_attach
.type sdk_wpa_attach, @function
sdk_wpa_attach:
movi a3, .Lfunc001 # 34c: 31f8ff
movi a5, sdk_ppInstallKey # 34f: 51f9ff
movi a6, .Lfunc002 # 352: 61f9ff
movi a7, sdk_wpa_neg_complete # 355: 71f9ff
mov a4, a2 /* arg0 */ # 358: 4d02
addi sp, sp, -16 /* (local0) */ # 35a: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 35d: 0901
movi a2, 0 /* 0x00000000 */ # 35f: 0c02
movi a0, 384 /* 0x00000180 */ # 361: 02a180
add a0, a4, a0 /* arg0+0x180 */ # 364: 0a04
s32i a2, a4, 0x180 /* 0x00000000 -> [arg0+0x180] */ # 366: 226460
s32i a0, a4, 0x184 /* arg0+0x180 -> [arg0+0x184] */ # 369: 026461
movi a4, sdk_wpa_config_assoc_ie # 36c: 41f1ff
call0 sdk_wpa_register # 36f: 01f5ffc0
# 373: 0000
movi a2, sdk_eapol_txcb # 375: 21f2ff
movi a3, 3 /* 0x00000003 */ # 378: 0c33
call0 sdk_ppRegisterTxCallback # 37a: 01f3ffc0
# 37e: 0000
l32i a0, sp, 0 /* [(local0)] */ # 380: 0801
addi sp, sp, 16 /* (top of frame) */ # 382: 12c110
ret # 385: 0df0
.section .rodata.str1.4, "MSa", @progbits, 1
.Lstr001: .asciz "\nconnected with %s, channel %d\n" # 0: 0a636f6e
# 4: 6e656374
# 8: 65642077
# c: 69746820
# 10: 25732c20
# 14: 6368616e
# 18: 6e656c20
# 1c: 25640a00
.Lstr002: .asciz "dhcp client start...\n" # 20: 64686370
# 24: 20636c69
# 28: 656e7420
# 2c: 73746172
# 30: 742e2e2e
# 34: 0a00

503
binary_sdk/libwpa/wpabuf.S Normal file
View file

@ -0,0 +1,503 @@
.section .text, "ax", @progbits
# Function @ .text+0x0
.Lfunc001: l32i a4, a2, 8 /* [arg0+0x8] */ # 0: 4822
addi a3, a2, 12 /* arg0+0xc */ # 2: cb32
moveqz a4, a3, a4 # 4: 404383
mov a2, a4 # 7: 2d04
ret # 9: 0df0
.literal_position # c: 00000000
# 10: 00000000
# Function @ .text+0x14
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 14: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 17: 0901
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 19: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1b: d921
mov a12, a3 /* arg1 */ # 1d: cd03
mov a13, a4 /* arg2 */ # 1f: dd04
beqz a3, .Lbr001 # 21: 9c03
mov a3, a4 /* arg2 */ # 23: 3d04
call0 sdk_wpabuf_put # 25: 01f9ffc0
# 29: 0000
mov a4, a13 /* arg2 */ # 2b: 4d0d
mov a3, a12 /* arg1 */ # 2d: 3d0c
call0 memcpy # 2f: 01f8ffc0
# 33: 0000
.Lbr001: l32i a12, sp, 4 /* [(local1)] */ # 35: c811
l32i a13, sp, 8 /* [(local2)] */ # 37: d821
l32i a0, sp, 0 /* [(local0)] */ # 39: 0801
addi sp, sp, 16 /* (top of frame) */ # 3b: 12c110
ret # 3e: 0df0
# Function @ .text+0x40
# Local variables/stack:
# (local0): word[4] @ -0x10
.Lfunc003: mov a6, a3 /* arg1 */ # 40: 6d03
addi sp, sp, -16 /* (local0) */ # 42: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 45: 0901
l32i a4, a6, 4 /* [arg1+0x4] */ # 47: 4816
l32i a3, a3, 8 /* [arg1+0x8] */ # 49: 3823
addi a0, a6, 12 /* arg1+0xc */ # 4b: cb06
moveqz a3, a0, a3 # 4d: 303083
call0 .Lfunc002 # 50: 05fcff
l32i a0, sp, 0 /* [(local0)] */ # 53: 0801
addi sp, sp, 16 /* (top of frame) */ # 55: 12c110
ret # 58: 0df0
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# Function @ .irom0.text+0x8
# Local variables/stack:
# (local0): word[4] @ -0x10
.Lfunc004: movi a2, .Lstr001 # 8: 21feff
addi sp, sp, -16 /* (local0) */ # b: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e: 0901
call0 ets_printf # 10: 01fdffc0
# 14: 0000
l32i a0, sp, 0 /* [(local0)] */ # 16: 0801
addi sp, sp, 16 /* (top of frame) */ # 18: 12c110
ret # 1b: 0df0
.literal_position # 20: 00000000
# 24: 00000000
# 28: 00000000
# 2c: 00000000
# Function @ .irom0.text+0x30
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.global sdk_wpabuf_resize
.type sdk_wpabuf_resize, @function
sdk_wpabuf_resize:
addi sp, sp, -16 /* (local0) */ # 30: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 33: 0901
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 35: d921
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 37: e931
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 39: c911
mov a14, a2 /* arg0 */ # 3b: ed02
l32i a12, a2, 0 /* [arg0] */ # 3d: c802
mov a13, a3 /* arg1 */ # 3f: dd03
bnez a12, .Lbr002 # 41: dc1c
mov a2, a3 /* arg1 */ # 43: 2d03
call0 sdk_wpabuf_alloc # 45: 050000
mov a3, a2 # 48: 3d02
s32i a2, a14, 0 /* a2 -> [arg0] */ # 4a: 290e
movi a0, -1 /* 0xffffffff */ # 4c: 7cf0
movi a2, 0 /* 0x00000000 */ # 4e: 0c02
moveqz a2, a0, a3 # 50: 302083
j .Lbr006 # 53: 461100
.Lbr002: l32i a3, a12, 4 /* [[arg0]+0x4] */ # 56: 381c
l32i a4, a12, 0 /* [[arg0]] */ # 58: 480c
add a3, a3, a13 # 5a: da33
bgeu a4, a3, .Lbr005 # 5c: 37b43a
l32i a2, a12, 8 /* [[arg0]+0x8] */ # 5f: 282c
beqz a2, .Lbr007 # 61: 164204
call0 realloc # 64: 01efffc0
# 68: 0000
mov a14, a2 # 6a: ed02
beqz a2, .Lbr008 # 6c: 168204
movi a3, 0 /* 0x00000000 */ # 6f: 0c03
l32i a2, a12, 4 /* [[arg0]+0x4] */ # 71: 281c
mov a4, a13 /* arg1 */ # 73: 4d0d
add a2, a2, a14 # 75: ea22
call0 memset # 77: 01ebffc0
# 7b: 0000
s32i a14, a12, 8 /* a14 -> [[arg0]+0x8] */ # 7d: e92c
j .Lbr004 # 7f: 460400
.Lbr003: movi a3, 0 /* 0x00000000 */ # 82: 0c03
l32i a2, a2, 4 # 84: 2812
mov a4, a13 /* arg1 */ # 86: 4d0d
add a2, a2, a12 # 88: ca22
addi a2, a2, 12 # 8a: cb22
call0 memset # 8c: 01e7ffc0
# 90: 0000
s32i a12, a14, 0 /* a12 -> [arg0] */ # 92: c90e
.Lbr004: l32i a3, a12, 4 # 94: 381c
add a3, a3, a13 # 96: da33
s32i a3, a12, 0 # 98: 390c
.Lbr005: movi a2, 0 /* 0x00000000 */ # 9a: 0c02
.Lbr006: l32i a12, sp, 4 /* [(local1)] */ # 9c: c811
l32i a13, sp, 8 /* [(local2)] */ # 9e: d821
l32i a14, sp, 12 /* [(local3)] */ # a0: e831
l32i a0, sp, 0 /* [(local0)] */ # a2: 0801
addi sp, sp, 16 /* (top of frame) */ # a4: 12c110
ret # a7: 0df0
.Lbr007: mov a2, a12 /* [arg0] */ # a9: 2d0c
addi a3, a3, 12 # ab: cb33
call0 realloc # ad: 01dfffc0
# b1: 0000
mov a12, a2 # b3: cd02
bnez a2, .Lbr003 # b5: 5692fc
.Lbr008: movi a2, -1 /* 0xffffffff */ # b8: 7cf2
j .Lbr006 # ba: 86f7ff
.literal_position # c0: 00000000
# Function @ .irom0.text+0xc4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_wpabuf_alloc
.type sdk_wpabuf_alloc, @function
sdk_wpabuf_alloc:
addi sp, sp, -16 /* (local0) */ # c4: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # c7: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # c9: 0901
mov a12, a2 /* arg0 */ # cb: cd02
addi a2, a2, 12 /* arg0+0xc */ # cd: cb22
call0 zalloc # cf: 01fcffc0
# d3: 0000
l32i a0, sp, 0 /* [(local0)] */ # d5: 0801
bnez a2, .Lbr009 # d7: cc32
movi a2, 0 /* 0x00000000 */ # d9: 0c02
j .Lbr010 # db: 460000
.Lbr009: s32i a12, a2, 0 # de: c902
.Lbr010: l32i a12, sp, 4 /* [(local1)] */ # e0: c811
addi sp, sp, 16 /* (top of frame) */ # e2: 12c110
ret # e5: 0df0
.literal_position # e8: 00000000
# Function @ .irom0.text+0xec
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_wpabuf_alloc_ext_data
.type sdk_wpabuf_alloc_ext_data, @function
sdk_wpabuf_alloc_ext_data:
addi sp, sp, -16 /* (local0) */ # ec: 12c1f0
s32i a3, sp, 4 /* arg1 -> [(local1)] */ # ef: 3911
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # f1: 2901
s32i a0, sp, 8 /* a0 -> [(local2)] */ # f3: 0921
movi a2, 12 /* 0x0000000c */ # f5: 0cc2
call0 zalloc # f7: 01fcffc0
# fb: 0000
bnez a2, .Lbr011 # fd: cc32
movi a2, 0 /* 0x00000000 */ # ff: 0c02
j .Lbr012 # 101: 460200
.Lbr011: l32i a0, sp, 0 /* [(local0)] */ # 104: 0801
l32i a3, sp, 4 /* [(local1)] */ # 106: 3811
s32i a3, a2, 0 # 108: 3902
s32i a3, a2, 4 # 10a: 3912
s32i a0, a2, 8 # 10c: 0922
.Lbr012: l32i a0, sp, 8 /* [(local2)] */ # 10e: 0821
addi sp, sp, 16 /* (top of frame) */ # 110: 12c110
ret # 113: 0df0
.literal_position # 118: 14000000
# Function @ .irom0.text+0x11c
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.global sdk_wpabuf_alloc_copy
.type sdk_wpabuf_alloc_copy, @function
sdk_wpabuf_alloc_copy:
mov a9, a2 /* arg0 */ # 11c: 9d02
addi sp, sp, -16 /* (local0) */ # 11e: 12c1f0
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 121: c921
mov a2, a3 /* arg1 */ # 123: 2d03
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 125: d931
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 127: 0911
mov a13, a3 /* arg1 */ # 129: dd03
s32i a9, sp, 0 /* arg0 -> [(local0)] */ # 12b: 9901
call0 sdk_wpabuf_alloc # 12d: 050000
mov a12, a2 # 130: cd02
beqz a2, .Lbr013 # 132: 8c82
mov a4, a13 /* arg1 */ # 134: 4d0d
l32i a3, sp, 0 /* [(local0)] */ # 136: 3801
call0 .Lfunc002 # 138: 01f8ffc0
# 13c: 0000
.Lbr013: l32i a0, sp, 4 /* [(local1)] */ # 13e: 0811
mov a2, a12 # 140: 2d0c
l32i a13, sp, 12 /* [(local3)] */ # 142: d831
l32i a12, sp, 8 /* [(local2)] */ # 144: c821
addi sp, sp, 16 /* (top of frame) */ # 146: 12c110
ret # 149: 0df0
.literal_position # 14c: 14000000
# Function @ .irom0.text+0x150
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.global sdk_wpabuf_dup
.type sdk_wpabuf_dup, @function
sdk_wpabuf_dup:
addi sp, sp, -16 /* (local0) */ # 150: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 153: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 155: d921
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 157: 0901
mov a13, a2 /* arg0 */ # 159: dd02
l32i a2, a2, 4 /* [arg0+0x4] */ # 15b: 2812
call0 sdk_wpabuf_alloc # 15d: 050000
mov a12, a2 # 160: cd02
beqz a2, .Lbr014 # 162: 8cd2
l32i a4, a13, 4 /* [arg0+0x4] */ # 164: 481d
l32i a3, a13, 8 /* [arg0+0x8] */ # 166: 382d
addi a0, a13, 12 /* arg0+0xc */ # 168: cb0d
moveqz a3, a0, a3 # 16a: 303083
call0 .Lfunc002 # 16d: 01f7ffc0
# 171: 0000
.Lbr014: l32i a0, sp, 0 /* [(local0)] */ # 173: 0801
mov a2, a12 # 175: 2d0c
l32i a13, sp, 8 /* [(local2)] */ # 177: d821
l32i a12, sp, 4 /* [(local1)] */ # 179: c811
addi sp, sp, 16 /* (top of frame) */ # 17b: 12c110
ret # 17e: 0df0
.literal_position # 180: 00000000
# 184: 00000000
# Function @ .irom0.text+0x188
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.global sdk_wpabuf_free
.type sdk_wpabuf_free, @function
sdk_wpabuf_free:
addi sp, sp, -16 /* (local0) */ # 188: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 18b: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 18d: 0901
mov a12, a2 /* arg0 */ # 18f: cd02
beqz a2, .Lbr015 # 191: 8ce2
l32i a2, a2, 8 /* [arg0+0x8] */ # 193: 2822
call0 free # 195: 01faffc0
# 199: 0000
mov a2, a12 /* arg0 */ # 19b: 2d0c
call0 free # 19d: 01f9ffc0
# 1a1: 0000
.Lbr015: l32i a12, sp, 4 /* [(local1)] */ # 1a3: c811
l32i a0, sp, 0 /* [(local0)] */ # 1a5: 0801
addi sp, sp, 16 /* (top of frame) */ # 1a7: 12c110
ret # 1aa: 0df0
.literal_position # 1ac: 00000000
# Function @ .irom0.text+0x1b0
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_wpabuf_put
.type sdk_wpabuf_put, @function
sdk_wpabuf_put:
addi sp, sp, -32 /* (local0) */ # 1b0: 12c1e0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b3: 0901
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1b5: d921
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1b7: c911
mov a13, a3 /* arg1 */ # 1b9: dd03
mov a12, a2 /* arg0 */ # 1bb: cd02
call0 .Lfunc001 # 1bd: 01fbffc0
# 1c1: 0000
s32i a2, sp, 12 /* a2 -> [(local3)] */ # 1c3: 2931
l32i a3, a12, 0 /* [arg0] */ # 1c5: 380c
l32i a0, a12, 4 /* [arg0+0x4] */ # 1c7: 081c
s32i a0, sp, 16 /* [arg0+0x4] -> [(local4)] */ # 1c9: 0941
add a4, a0, a13 # 1cb: da40
s32i a4, a12, 4 /* a4 -> [arg0+0x4] */ # 1cd: 491c
bgeu a3, a4, .Lbr016 # 1cf: 47b30a
mov a3, a13 /* arg1 */ # 1d2: 3d0d
mov a2, a12 /* arg0 */ # 1d4: 2d0c
call0 .Lfunc004 # 1d6: 05e3ff
l32i a0, sp, 16 /* [(local4)] */ # 1d9: 0841
l32i a2, sp, 12 /* [(local3)] */ # 1db: 2831
.Lbr016: l32i a12, sp, 4 /* [(local1)] */ # 1dd: c811
l32i a13, sp, 8 /* [(local2)] */ # 1df: d821
add a2, a2, a0 # 1e1: 0a22
l32i a0, sp, 0 /* [(local0)] */ # 1e3: 0801
addi sp, sp, 32 /* (top of frame) */ # 1e5: 12c120
ret # 1e8: 0df0
.literal_position # 1ec: 40000000
# 1f0: 40000000
# Function @ .irom0.text+0x1f4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.global sdk_wpabuf_concat
.type sdk_wpabuf_concat, @function
sdk_wpabuf_concat:
addi sp, sp, -16 /* (local0) */ # 1f4: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1f7: 0901
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 1f9: e931
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1fb: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1fd: d921
mov a12, a2 /* arg0 */ # 1ff: cd02
mov a13, a3 /* arg1 */ # 201: dd03
bnez a3, .Lbr017 # 203: cc33
mov a14, a2 /* arg0 */ # 205: ed02
j .Lbr022 # 207: 460c00
.Lbr017: bnez a2, .Lbr018 # 20a: cc32
movi a0, 0 /* 0x00000000 */ # 20c: 0c00
j .Lbr019 # 20e: 460000
.Lbr018: l32i a0, a2, 4 /* [arg0+0x4] */ # 211: 0812
.Lbr019: l32i a2, a13, 4 /* [arg1+0x4] */ # 213: 281d
add a2, a2, a0 # 215: 0a22
call0 sdk_wpabuf_alloc # 217: 050000
mov a14, a2 # 21a: ed02
beqz a2, .Lbr021 # 21c: 9c22
beqz a12, .Lbr020 # 21e: 8c6c
mov a3, a12 /* arg0 */ # 220: 3d0c
call0 .Lfunc003 # 222: 01f2ffc0
# 226: 0000
.Lbr020: mov a2, a14 # 228: 2d0e
mov a3, a13 /* arg1 */ # 22a: 3d0d
call0 .Lfunc003 # 22c: 01f1ffc0
# 230: 0000
.Lbr021: mov a2, a12 /* arg0 */ # 232: 2d0c
call0 sdk_wpabuf_free # 234: 050000
mov a2, a13 /* arg1 */ # 237: 2d0d
call0 sdk_wpabuf_free # 239: 050000
.Lbr022: l32i a0, sp, 0 /* [(local0)] */ # 23c: 0801
l32i a12, sp, 4 /* [(local1)] */ # 23e: c811
mov a2, a14 # 240: 2d0e
l32i a13, sp, 8 /* [(local2)] */ # 242: d821
l32i a14, sp, 12 /* [(local3)] */ # 244: e831
addi sp, sp, 16 /* (top of frame) */ # 246: 12c110
ret # 249: 0df0
.literal_position # 24c: 00000000
# 250: 40000000
# Function @ .irom0.text+0x254
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.global sdk_wpabuf_zeropad
.type sdk_wpabuf_zeropad, @function
sdk_wpabuf_zeropad:
addi sp, sp, -32 /* (local0) */ # 254: 12c1e0
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 257: 0921
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 259: c931
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 25b: d941
mov a12, a2 /* arg0 */ # 25d: cd02
mov a13, a3 /* arg1 */ # 25f: dd03
bnez a2, .Lbr023 # 261: cc32
movi a12, 0 /* 0x00000000 */ # 263: 0c0c
j .Lbr025 # 265: 060e00
.Lbr023: l32i a0, a2, 4 /* [arg0+0x4] */ # 268: 0812
s32i a0, sp, 0 /* [arg0+0x4] -> [(local0)] */ # 26a: 0901
bgeu a0, a3, .Lbr025 # 26c: 37b031
mov a2, a3 /* arg1 */ # 26f: 2d03
call0 sdk_wpabuf_alloc # 271: 050000
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 274: 2911
beqz a2, .Lbr024 # 276: 9ce2
l32i a2, sp, 0 /* [(local0)] */ # 278: 2801
sub a13, a13, a2 # 27a: 20ddc0
l32i a2, sp, 4 /* [(local1)] */ # 27d: 2811
mov a3, a13 # 27f: 3d0d
call0 sdk_wpabuf_put # 281: 050000
mov a4, a13 # 284: 4d0d
movi a3, 0 /* 0x00000000 */ # 286: 0c03
call0 memset # 288: 01f1ffc0
# 28c: 0000
l32i a2, sp, 4 /* [(local1)] */ # 28e: 2811
mov a3, a12 /* arg0 */ # 290: 3d0c
call0 .Lfunc003 # 292: 01efffc0
# 296: 0000
.Lbr024: mov a2, a12 /* arg0 */ # 298: 2d0c
l32i a13, sp, 4 /* [(local1)] */ # 29a: d811
call0 sdk_wpabuf_free # 29c: 050000
mov a12, a13 /* [(local1)] */ # 29f: cd0d
.Lbr025: l32i a0, sp, 8 /* [(local2)] */ # 2a1: 0821
mov a2, a12 # 2a3: 2d0c
l32i a13, sp, 16 /* [(local4)] */ # 2a5: d841
l32i a12, sp, 12 /* [(local3)] */ # 2a7: c831
addi sp, sp, 32 /* (top of frame) */ # 2a9: 12c120
ret # 2ac: 0df0
.literal_position # 2b0: 00000000
# 2b4: 00000000
# Function @ .irom0.text+0x2b8
# Local variables/stack:
# (local0): word @ -0x40
# (local1): word @ -0x3c
# (local2): word @ -0x38
# (local3): word @ -0x34
# (local4): word @ -0x30
# (local5): word[5] @ -0x2c
# (local6): word @ -0x18
# (local7): word @ -0x14
# (local8): word @ -0x10
# (local9): word[3] @ -0xc
.global wpabuf_printf
.type wpabuf_printf, @function
wpabuf_printf:
addi sp, sp, -64 /* (local0) */ # 2b8: 12c1c0
s32i a4, sp, 40 /* arg2 -> [(local6)] */ # 2bb: 49a1
s32i a5, sp, 44 /* arg3 -> [(local7)] */ # 2bd: 59b1
s32i a6, sp, 48 /* arg4 -> [(local8)] */ # 2bf: 69c1
s32i a7, sp, 52 /* arg5 -> [(local9)] */ # 2c1: 79d1
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 2c3: 0931
s32i a12, sp, 16 /* a12 -> [(local4)] */ # 2c5: c941
s32i a13, sp, 20 /* a13 -> [(local5)] */ # 2c7: d951
mov a12, a2 /* arg0 */ # 2c9: cd02
mov a13, a3 /* arg1 */ # 2cb: dd03
call0 .Lfunc001 # 2cd: 01f8ffc0
# 2d1: 0000
mov a4, a13 /* arg1 */ # 2d3: 4d0d
l32i a3, a12, 0 /* [arg0] */ # 2d5: 380c
l32i a5, a12, 4 /* [arg0+0x4] */ # 2d7: 581c
movi a6, 8 /* 0x00000008 */ # 2d9: 0c86
addi a9, sp, 32 /* (FP)-0x20 */ # 2db: 92c120
s32i a9, sp, 4 /* (FP)-0x20 -> [(local1)] */ # 2de: 9911
s32i a9, sp, 0 /* (FP)-0x20 -> [(local0)] */ # 2e0: 9901
s32i a6, sp, 8 /* 0x00000008 -> [(local2)] */ # 2e2: 6921
add a2, a2, a5 # 2e4: 5a22
sub a3, a3, a5 # 2e6: 5033c0
mov a6, a9 /* (FP)-0x20 */ # 2e9: 6d09
mov a5, a9 /* (FP)-0x20 */ # 2eb: 5d09
l32i a7, sp, 8 /* [(local2)] */ # 2ed: 7821
call0 ets_vsnprintf # 2ef: 01f1ffc0
# 2f3: 0000
mov a13, a2 # 2f5: dd02
bltz a2, .Lbr026 # 2f7: 969200
l32i a0, a12, 4 /* [arg0+0x4] */ # 2fa: 081c
l32i a7, a12, 0 /* [arg0] */ # 2fc: 780c
sub a7, a7, a0 # 2fe: 0077c0
bltu a2, a7, .Lbr027 # 301: 773208
.Lbr026: mov a2, a12 /* arg0 */ # 304: 2d0c
mov a3, a13 # 306: 3d0d
call0 .Lfunc004 # 308: c5cfff
l32i a0, a12, 4 /* [arg0+0x4] */ # 30b: 081c
.Lbr027: add a8, a13, a0 # 30d: 0a8d
s32i a8, a12, 4 /* a8 -> [arg0+0x4] */ # 30f: 891c
l32i a13, sp, 20 /* [(local5)] */ # 311: d851
l32i a12, sp, 16 /* [(local4)] */ # 313: c841
l32i a0, sp, 12 /* [(local3)] */ # 315: 0831
addi sp, sp, 64 /* (top of frame) */ # 317: 12c140
ret # 31a: 0df0
.section .rodata.str1.4, "MSa", @progbits, 1
.Lstr001: .asciz "wpabuf overflow" # 0: 77706162
# 4: 7566206f
# 8: 76657266
# c: 6c6f7700

View file

@ -0,0 +1,138 @@
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# Function @ .irom0.text+0x8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 8: 12c1f0
s32i a12, sp, 8 /* a12 -> [(local2)] */ # b: c921
l32i a8, a2, 0x210 /* [arg0+0x210] */ # d: 822284
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 10: d931
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 12: 0911
mov a13, a7 /* arg5 */ # 14: dd07
addi a0, a5, 4 /* arg3+0x4 */ # 16: 4b05
movi a7, 208 /* 0x000000d0 */ # 18: 72a0d0
add a7, a2, a7 /* arg0+0xd0 */ # 1b: 7a72
l32i a2, a8, 4 /* [[arg0+0x210]+0x4] */ # 1d: 2818
s32i a0, a6, 0 /* arg3+0x4 -> [arg4] */ # 1f: 0906
addi a0, a2, 14 /* [[arg0+0x210]+0x4]+0xe */ # 21: eb02
bnez a0, .Lbr001 # 23: cc30
movi a2, 0 /* 0x00000000 */ # 25: 0c02
j .Lbr005 # 27: 461100
.Lbr001: addi a12, a2, 18 /* [[arg0+0x210]+0x4]+0x12 */ # 2a: c2c212
s32i a0, sp, 0 /* [[arg0+0x210]+0x4]+0xe -> [(local0)] */ # 2d: 0901
extui a8, a5, 8, 8 # 2f: 508874
extui a9, a5, 0, 8 # 32: 509074
l8ui a10, a7, 128 /* [arg0+0x150] */ # 35: a20780
s8i a10, a2, 14 /* [arg0+0x150] -> [[[arg0+0x210]+0x4]+0xe] */ # 38: a2420e
slli a9, a9, 8 # 3b: 809911
s8i a3, a2, 15 /* arg1 -> [[[arg0+0x210]+0x4]+0xf] */ # 3e: 32420f
or a8, a8, a9 # 41: 908820
s8i a8, a2, 16 /* a8 -> [[[arg0+0x210]+0x4]+0x10] */ # 44: 824210
srli a8, a8, 8 # 47: 808841
s8i a8, a2, 17 /* a8 -> [[[arg0+0x210]+0x4]+0x11] */ # 4a: 824211
beqz a4, .Lbr002 # 4d: 8cd4
mov a3, a4 /* arg2 */ # 4f: 3d04
mov a2, a12 /* [[arg0+0x210]+0x4]+0x12 */ # 51: 2d0c
mov a4, a5 /* arg3 */ # 53: 4d05
call0 memcpy # 55: 01eaffc0
# 59: 0000
j .Lbr003 # 5b: c60200
.Lbr002: mov a4, a5 /* arg3 */ # 5e: 4d05
mov a2, a12 /* [[arg0+0x210]+0x4]+0x12 */ # 60: 2d0c
movi a3, 0 /* 0x00000000 */ # 62: 0c03
call0 memset # 64: 01e8ffc0
# 68: 0000
.Lbr003: beqz a13, .Lbr004 # 6a: 8c0d
s32i a12, a13, 0 /* [[arg0+0x210]+0x4]+0x12 -> [arg5] */ # 6c: c90d
.Lbr004: l32i a2, sp, 0 /* [(local0)] */ # 6e: 2801
.Lbr005: l32i a12, sp, 8 /* [(local2)] */ # 70: c821
l32i a13, sp, 12 /* [(local3)] */ # 72: d831
l32i a0, sp, 4 /* [(local1)] */ # 74: 0811
addi sp, sp, 16 /* (top of frame) */ # 76: 12c110
ret # 79: 0df0
.literal_position # 7c: 00000000
# Function @ .irom0.text+0x80
# 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
.global sdk_wpa_sm_alloc_eapol
.type sdk_wpa_sm_alloc_eapol, @function
sdk_wpa_sm_alloc_eapol:
addi sp, sp, -32 /* (local0) */ # 80: 12c1e0
s32i a5, sp, 12 /* arg3 -> [(local3)] */ # 83: 5931
s32i a6, sp, 16 /* arg4 -> [(local4)] */ # 85: 6941
s32i a7, sp, 20 /* arg5 -> [(local5)] */ # 87: 7951
s32i a0, sp, 24 /* a0 -> [(local6)] */ # 89: 0961
s32i a4, sp, 8 /* arg2 -> [(local2)] */ # 8b: 4921
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 8d: 2901
s32i a3, sp, 4 /* arg1 -> [(local1)] */ # 8f: 3911
movi a2, 3 /* 0x00000003 */ # 91: 0c32
movi a3, 256 /* 0x00000100 */ # 93: 32a100
movi a4, 0 /* 0x00000000 */ # 96: 0c04
call0 pbuf_alloc # 98: 01f9ffc0
# 9c: 0000
l32i a3, sp, 4 /* [(local1)] */ # 9e: 3811
l32i a4, sp, 8 /* [(local2)] */ # a0: 4821
l32i a5, sp, 12 /* [(local3)] */ # a2: 5831
mov a0, a2 # a4: 0d02
l32i a6, sp, 16 /* [(local4)] */ # a6: 6841
l32i a2, sp, 0 /* [(local0)] */ # a8: 2801
l32i a7, sp, 20 /* [(local5)] */ # aa: 7851
s32i a0, a2, 0x210 /* a0 -> [[(local0)]+0x210] */ # ac: 026284
call0 .Lfunc001 # af: 85f5ff
l32i a0, sp, 24 /* [(local6)] */ # b2: 0861
addi sp, sp, 32 /* (top of frame) */ # b4: 12c120
ret # b7: 0df0
.balign 4
# Function @ .irom0.text+0xbc
# Local variables/stack:
# (local0): word[4] @ -0x10
.global sdk_wpa_sm_deauthenticate
.type sdk_wpa_sm_deauthenticate, @function
sdk_wpa_sm_deauthenticate:
addi sp, sp, -16 /* (local0) */ # bc: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # bf: 0901
l32i a0, a2, 0x168 /* [arg0+0x168] */ # c1: 02225a
bltui a0, 5, .Lbr006 # c4: b65007
l32i a0, a2, 0x220 /* [arg0+0x220] */ # c7: 022288
mov a2, a3 /* arg1 */ # ca: 2d03
callx0 a0 /* [arg0+0x220] */ # cc: c00000
.Lbr006: l32i a0, sp, 0 /* [(local0)] */ # cf: 0801
addi sp, sp, 16 /* (top of frame) */ # d1: 12c110
ret # d4: 0df0
.balign 4
# Function @ .irom0.text+0xd8
.global sdk_wpa_sm_mlme_setprotection
.type sdk_wpa_sm_mlme_setprotection, @function
sdk_wpa_sm_mlme_setprotection:
movi a2, 0 /* 0x00000000 */ # d8: 0c02
ret /* 0x00000000 */ # da: 0df0
# Function @ .irom0.text+0xdc
.global sdk_wpa_sm_get_beacon_ie
.type sdk_wpa_sm_get_beacon_ie, @function
sdk_wpa_sm_get_beacon_ie:
movi a2, 0 /* 0x00000000 */ # dc: 0c02
ret /* 0x00000000 */ # de: 0df0
# Function @ .irom0.text+0xe0
.global sdk_wpa_sm_disassociate
.type sdk_wpa_sm_disassociate, @function
sdk_wpa_sm_disassociate:
ret /* arg0 */ # e0: 0df0