esp-open-rtos/binary_sdk/libwpa/sha1-pbkdf2.S

179 lines
12 KiB
ArmAsm
Raw Normal View History

.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
2015-10-04 08:11:33 +00:00
.balign 4
.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
2015-10-04 08:11:33 +00:00
.balign 4
.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