Function at 0x208686a
Capabilities:
Authenticate hmac

Disassembly:
jmp 0x20917bc
jmp 0x2071cfc
cmp esi, eax
jmp 0x1ee09da
jae 0x1028f53
mov edi, dword [ebp - 4]
test ch, 0x1b
cmp esp, 0x472d3ffc
cmc
cmp dword [ebp + 8], edi
jmp 0x103f153
cmp edx, 0x1000000
jae 0x100aa3a
cmp eax, dword [ebp - 4]
jae 0x1efc2c4
movzx ecx, byte [eax]
clc
cmp al, 0xc8
shl esi, 8
stc
cmp ebx, edx
shl edx, 8
cmc
or esi, ecx
inc eax
sar cx, cl
mov dword [ebp + 8], eax
movzx eax, word [edi]
bts cx, bp
mov ecx, edx
test eax, 0x55732830
stc
shr ecx, 0xb
imul ecx, eax
cmp esi, ecx
jae 0x2077642
shl ebx, 4
movsx dx, cl
mov dl, 0x3c
not dh
mov edx, ecx
jmp 0x10a9e78
jmp 0x10b75d4
jae 0x1efc2c4
shl ecx, 8
mov edx, ecx
add cl, 0x62
movzx ecx, byte [eax]
shl esi, 8
or esi, ecx
xchg cl, ch
inc eax
sal ecx, 0xf6
movzx cx, dh
mov dword [ebp + 8], eax
shrd ecx, edi, 0xb1
mov ecx, edx
shr ecx, 0xb
test ebp, ebp
test edi, 0x6113517b
imul ecx, edi
test edx, 0x4530243c
cmp esi, ecx
jmp 0x103ae2e
jmp 0x105e361
cmp ecx, ebx
jmp 0x10367a1
mov eax, dword [ebp - 0xc]
bsf edi, eax
btc edi, 0x35
neg di
movzx edi, word [eax + ecx*2]
clc
cmc
cmp edx, 0x1000000
jmp 0x10b7004
jae 0x102c50a
mov ecx, 1
jmp 0x20bbd78
jmp 0x20832c8
jmp 0x1f12051
jae 0x1091735
mov eax, dword [ebp - 0xc]
cmp bp, 0x3488
rcl dh, 0xed
mov edi, dword [ebp - 8]
add eax, 0xf
not dx
bsr edx, edi
shl eax, 4
lea eax, [eax + ebx]
btr dx, dx
movzx edi, word [edi + eax*2]
rcr dh, 0xbb
mov edx, esi
rdtsc
mov eax, dword [ebp + 8]
mov edx, ecx
cmp al, 0x37
test esp, 0x7e485252
cmp ecx, 0x1000000
jae 0x100dab4
cmp eax, dword [ebp - 4]
jmp 0x100da8d
jmp 0x2091804
sub edx, eax
sub esi, eax
test ax, 0x140f
lea ecx, [ecx + ecx + 1]
clc
cmc
cmp ecx, 0x100
jb 0x1018ac1
mov eax, 1
jmp 0x101128a
jb 0x105e35d
mov ebx, edi
shr ebx, 1
dec ebx
jmp 0x1f0e0ed
shl esi, 8
cmp eax, ebp
clc
test cx, bp
or esi, ebx
mov ebx, dword [ebp - 0x14]
cmp edx, edi
test ecx, edi
shl edx, 8
inc edi
mov dword [ebp + 8], edi
mov edi, edx
shr edi, 0xb
cmp edx, 0x71b01b4b
imul edi, ecx
test ah, bh
cmp ax, sp
cmp esi, edi
jmp 0x102b44d
jae 0x209c526
mov eax, edi
mov cx, si
and eax, 1
sbb cx, bp
or eax, 2
sub ecx, edi
shrd cx, di, 0x5c
mov ecx, ebx
test edx, ebp
shl eax, cl
bts ecx, ebp
bsf cx, sp
rcr ch, cl
mov ecx, dword [ebp - 8]
sub eax, edi
jmp 0x1055185
add eax, 0xe6c
test sp, di
cmp sp, 0x644c
clc
cmp dword [edi + 0x30], 0
jmp 0x1f0491a
jae 0x105e33f
mov edx, edi
add eax, eax
jmp 0x10b00ab
mov ecx, dword [edi + 0x24]
neg bh
rol ebx, cl
sar bx, 0xec
mov ebx, dword [edi + 0x38]
jmp 0x10165bd
cmp esi, ecx
jmp 0x20bb0ef
jae 0x20917b7
mov eax, dword [edi + 0x28]
jmp 0x10064ae
jae 0x1f045d0
cmp ecx, 0x1000000
jmp 0x20b01f1
jmp 0x1028d00
jae 0x1efc2c4
movzx ecx, byte [eax]
shl esi, 8
stc
cmp edi, 0x647a5dd0
shl edx, 8
or esi, ecx
mov ecx, 0x49716731
xchg cl, ch
inc eax
mov dword [ebp + 8], eax
mov ecx, edx
shr ecx, 0xb
cmp ecx, ebx
imul ecx, edi
test esp, 0x43de2c40
cmp esi, ecx
jmp 0x102844f
jae 0x1efc2c4
mov edi, dword [ebp + 8]
btr ebx, 0x45
movzx ebx, byte [edi]
test dx, bp
jmp 0x1028f3a
jae 0x1efc2c4
movzx edi, byte [eax]
cmp dl, 0x64
shl esi, 8
stc
clc
shl edx, 8
cmp ax, bp
jmp 0x20a15b8
dec eax
and eax, dword [edi + 0x2c]
jmp 0x206373f
lea eax, [ecx + eax*2 + 0x55e]
jmp 0x20b09e3
jmp 0x1f045da
sub edx, edi
sub esi, edi
stc
cmp esi, eax
lea eax, [eax + eax + 1]
test dx, ax
stc
cmp dx, si
sub ebx, 1
mov dword [ebp - 0x14], ebx
jne 0x2071d13
mov eax, dword [ebp - 0x18]
cmc
cmp edx, 0x1000000
jmp 0x20690b0
jmp 0x20832c8
mov edi, dword [ebp - 0xc]
cmp dx, si
sub edx, ecx
cmp esi, ebp
test si, ax
sub esi, ecx
mov ecx, esi
ror ecx, cl
and cl, 0xd2
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1b0]
cmp edx, 0x1000000
jmp 0x10ac3eb
inc eax
mov ch, 0x7c
mov cx, bp
sal cx, 0x26
mov dword [ebp + 8], eax
bts ax, si
movzx eax, word [ebx + edi*2]
rcr cl, 0x79
ror cl, cl
mov ecx, edx
stc
test ax, sp
shr ecx, 0xb
imul ecx, eax
test bx, sp
cmp eax, 0x16af4de3
clc
cmp esi, ecx
jmp 0x10a9b25
jae 0x1efc2c4
pop edi
movzx esi, ax
bswap eax
pop esi
cwde
jmp 0x10aa118
sub edx, ecx
sub esi, ecx
inc ch
bt ecx, 0x29
ror cx, 0x86
lea edi, [edi + edi + 1]
mov ecx, dword [ebp - 0x10]
cmp edi, ecx
jmp 0x109f976
push edi
ror di, 0xb7
mov edi, ecx
neg ebx
btr dx, si
bswap si
mov ecx, dword [ebp + 8]
bswap bx
mov edx, dword [edi + 0x1c]
mov esi, dword [edi + 0x20]
ror bh, cl
add ecx, eax
shr bx, 0xcc
btc ebx, edx
mov eax, dword [edi + 0x10]
add bh, cl
btr bx, di
sbb ebx, 0x585d3603
mov dword [ebp - 4], ecx
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 8]
jmp 0x207dde1
jmp 0x100aa0c
jb 0x20832d2
mov eax, dword [ebp - 0x14]
sub eax, ecx
stc
add edi, eax
cmp dword [ebp - 0xc], 4
jmp 0x20952b6
jae 0x208151f
cmp eax, dword [ebp - 4]
jmp 0x2081502
mov dword [ebp - 0x10], 8
jmp 0x1090358
jae 0x10994c1
mov edx, ecx
add edi, edi
jmp 0x2092a30
lea ebx, [ebx + edi + 4]
mov dword [ebp - 0x14], 0
jmp 0x10a5906
jae 0x1f045d0
mov edx, ecx
jmp 0x1f045da
mov eax, 3
not ebx
pop ebx
mov esp, ebp
pop ebp
ret
jae 0x20a8bc5
cmp eax, dword [ebp - 4]
jmp 0x20a8ba6
mov dword [ebp + 8], ecx
mov ecx, edx
cmc
shr ecx, 0xb
clc
imul ecx, dword [ebp - 0x10]
jmp 0x2069117
jae 0x1efc2c4
movzx ecx, byte [eax]
cmp dx, di
clc
shl esi, 8
shl edx, 8
or esi, ecx
movzx ecx, bx
jmp 0x10931f2
jmp 0x105e351
jae 0x10adff5
mov ecx, dword [ebp + 8]
test si, sp
cmp ebp, esi
cmp ecx, dword [ebp - 4]
jae 0x1efc2c4
movzx ebx, byte [ecx]
cmc
cmp esp, esi
shl esi, 8
jmp 0x2075342
jae 0x1ed7c40
mov edx, eax
adc ax, bp
movsx ax, bl
mov eax, dword [ebp - 8]
jmp 0x102b0f2
jae 0x2099626
mov eax, dword [ebp + 8]
stc
cmp eax, dword [ebp - 4]
jmp 0x1ed8f83
sub edx, ecx
sub esi, ecx
lea edi, [edi + edi + 1]
test bp, dx
cmp di, cx
cmp edi, 0x40
jmp 0x20b787d
shr edi, 0x1f
dec edi
cmp esi, edx
and edi, edx
sub esi, edi
jmp 0x2071cba
mov ecx, dword [ebp - 0xc]
sub edx, eax
cmc
cmp bx, dx
sub esi, eax
not ah
cmp si, 0x60ce
mov eax, dword [ebp - 8]
movzx ecx, word [eax + ecx*2 + 0x180]
clc
stc
cmp ebx, 0x7b625134
cmp edx, 0x1000000
jmp 0x20592fb
jae 0x1efc2c4
movzx ebx, byte [eax]
test sp, bx
cmp bp, sp
shl esi, 8
shl edx, 8
test ebp, esi
cmp edx, edx
test edi, 0x3bbc1200
or esi, ebx
jmp 0x209961a
jae 0x1028cf2
mov edx, eax
add ecx, ecx
jmp 0x103d9d0
jae 0x103dcb2
cmp eax, dword [ebp - 4]
jmp 0x103dc8f
cmp dword [edi + 0x34], 7
jmp 0x1018df9
mov edi, dword [ebp - 0xc]
test bl, 0x16
sub edx, ecx
sub esi, ecx
sal ecx, 0x36
clc
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1c8]
jmp 0x20a05d0
jb 0x1efc2c9
sub eax, eax
movsx ebx, ax
pop edi
xchg esi, ebx
pop esi
not ebx
pop ebx
jmp 0x208704d
jae 0x2098443
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x20a3fb1
cmp esi, eax
jae 0x2074282
mov edi, dword [ebp - 8]
sar dx, 0x2e
shld edx, ebp, 0x99
cdq
mov edx, eax
not eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], 0
stc
cmp edx, 0x51e42df8
cmp al, al
add edi, 0x664
mov dword [ebp - 0x18], 2
jmp 0x109c6f7
shl ecx, 4
jmp 0x207892e
sub edx, ecx
test cx, si
neg di
sub esi, ecx
mov edi, dword [ebp - 8]
mov dword [ebp - 0xc], 0xc
test esi, edi
add edi, 0xa68
jmp 0x100aa0c
mov dword [ebp - 0xc], eax
jne 0x2071fc1
cmp dword [edi + 0x2c], 0
jmp 0x2071fbb
mov dword [ebp - 0x14], ebx
cmc
test di, 0x3875
cmp edi, 0xe
jmp 0x102a199
movzx ecx, word [ebx + edi*2]
jmp 0x2084bbc
jae 0x20a15be
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x103f547
jae 0x20a1812
cmp eax, dword [ebp - 4]
jmp 0x20a17e4
shl eax, cl
cmp ebp, ebx
add ebx, eax
test ebp, ecx
clc
imul ebx, ebx, 0x600
add dword [ebp - 0xc], ebx
jmp 0x1ef4e7d
jae 0x1efbf18
mov edx, ecx
jmp 0x1057e7e
jae 0x1efc2c9
mov edx, dword [ebp - 4]
cmp dword [ebp + 8], edx
jmp 0x1efc2be
cmp esi, ecx
jmp 0x2078464
jae 0x2070e3d
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x208ee8a
ret
inc eax
mov dword [ebp + 8], eax
setl ah
cmovbe ax, di
sal ah, cl
mov eax, edx
test esp, 0x54e50a66
shr eax, 0xb
jmp 0x209be5f
sub ebx, 1
jne 0x209c538
mov ecx, dword [ebp - 8]
rcr bl, 0xce
shrd ebx, edi, 0x6e
add ecx, 0x644
cmp dl, 0xd2
mov ebx, 4
cmc
test sp, 0x5062
mov dword [ebp + 8], eax
cbw
add eax, 0x7cfc21e0
mov dword [ebp - 0xc], ecx
bsr cx, ax
sar eax, 0x4a
mov dword [ebp - 0x14], ebx
sar ecx, cl
nop
mov eax, 1
add ch, 0x50
sub cx, di
cmc
mov edi, edi
sar ecx, 0xb3
movsx cx, dl
xor ch, al
mov ecx, dword [ebp - 0xc]
clc
movzx ecx, word [ecx + eax*2]
cmc
stc
cmp ecx, ebp
cmp edx, 0x1000000
jmp 0x10088ca
je 0x1ef4e7d
mov ecx, dword [edi + 0x24]
test esi, 0x73566f66
stc
test ecx, ecx
jne 0x2071fdc
mov ecx, dword [edi + 0x28]
sar al, cl
btc ax, di
mov ebx, dword [edi + 0x14]
shl ah, 0x4b
movzx ebx, byte [ebx + ecx - 1]
mov eax, dword [edi]
mov ecx, 8
sub cl, al
xor eax, 0x713b269f
shr ebx, cl
mov ecx, dword [edi + 4]
mov eax, ebp
clc
mov eax, 1
test bh, cl
shl eax, cl
bswap cx
cmovne ecx, eax
mov ecx, dword [edi]
jmp 0x1043fee
mov ecx, dword [ebp - 8]
rcl edi, 0x8b
cmovo edi, eax
sub edx, eax
ror di, 5
sub esi, eax
sar ax, cl
cmp edi, edx
mov eax, dword [ebp - 0xc]
movzx edi, word [ecx + eax*2 + 0x198]
shr al, 0x7d
rcr eax, 0xf5
movzx eax, cx
mov eax, dword [ebp + 8]
test sp, di
mov dword [ebp - 0x18], 3
cmp edx, 0x1000000
jmp 0x1ee1584
shl edx, 8
stc
clc
or esi, ebx
inc ecx
test esp, edi
jmp 0x10adff2
sub edx, ecx
test bp, 0x41d2
cmp esp, esp
sub esi, ecx
test bh, ah
cmp ax, bp
cmp edx, 0x1000000
jmp 0x1efc349
dec ebx
and ebx, dword [edi + 0x2c]
test edx, 0x4ca322f
cmp cl, bl
add ecx, ebx
stc
test edi, 0x473c43d2
movzx eax, word [eax + ecx*2]
cmp si, sp
mov dword [ebp - 0x10], eax
cmp ax, 0x2e28
test bl, 0xa3
cmp edx, 0x1000000
jmp 0x206ca10
jae 0x20b0228
mov edx, ecx
add edi, edi
not eax
jmp 0x2081af5
mov dword [ebp - 8], eax
jmp 0x2077efb
mov dword [ebp - 0x10], eax
jmp 0x10247d6
mov ebx, 1
shl ebx, cl
shl ch, cl
mov ecx, dword [ebp - 0xc]
jmp 0x1effe1c
jae 0x1efc2c4
movzx ecx, byte [eax]
test bh, al
shl esi, 8
cmp ax, 0x77f7
shl edx, 8
test ebp, edi
or esi, ecx
mov cx, si
inc eax
mov ecx, edx
clc
shr ecx, 0xb
imul ecx, dword [ebp - 0x10]
jmp 0x102f0b0
jmp 0x20b0230
sub edx, ecx
cmp ebp, 0x24464e2f
sub esi, ecx
test bx, 0x7249
adc ebx, 0x11fb231f
sal ebx, cl
lea ebx, [edi + 0x204]
bswap ax
mov dword [ebp - 0x14], 0x10
bt di, bp
seta ah
not ax
mov dword [ebp - 0x10], 0x100
mov edi, 1
rcl ah, 0xfd
xchg ah, ah
mov eax, dword [ebp + 8]
cmp edx, esi
test bx, di
test dl, 0x42
cmp edx, 0x1000000
jmp 0x20870d4
mov dword [ebp - 0x10], ecx
cmc
cmp edx, 0x1000000
jmp 0x10a2982
jae 0x1028d0c
mov ecx, dword [ebp - 0x18]
jmp 0x10284df
push ebp
sar dh, 0x79
mov ebp, esp
and dx, 0x306e
sub esp, 0x18
shrd edx, edx, 0x9a
push ebx
bsr edx, edx
cmp esi, 0x4911771c
push esi
shr dl, 0x3c
jmp 0x109b2b2
mov esp, ebp
cmovns bp, di
movsx ebp, dx
pop ebp
jmp 0x206d26f
jae 0x1093204
cmp eax, dword [ebp - 4]
jmp 0x10afcb1
jae 0x2083290
mov eax, 8
btr dx, di
shl ebx, 4
cmovnp edx, esi
xchg dl, dl
mov edx, ecx
lea ebx, [ebx + edi + 0x104]
mov dword [ebp - 0x14], eax
jmp 0x207bebe
jae 0x1efc2c4
movzx ecx, byte [eax]
cmc
clc
shl esi, 8
shl edx, 8
or esi, ecx
jmp 0x2070e30
mov edi, 1
jmp 0x1027c36
sub eax, eax
test ebp, edi
stc
mov edi, dword [edi + 0x14]
cmc
test di, ax
sub edi, ebx
add bh, al
movsx ebx, si
lea edi, [edi + ecx]
mov ecx, 0x1af913f9
bts cx, sp
bt bx, 0x1b
movzx ecx, byte [edi + eax]
bsf edi, esi
cmp eax, 0x6532a56
mov dword [ebp - 8], 0x100
ror bl, 0x4f
test edi, 0x59d742fe
mov edi, 1
mov edi, edi
btr eax, ebx
movsx ebx, dx
mov ebx, dword [ebp - 8]
btr eax, ebx
add ecx, ecx
mov eax, ebx
test esp, 0x4c73367b
and eax, ecx
mov dword [ebp - 0x18], ecx
lea ecx, [eax + edi]
lea ecx, [ecx + ebx]
seto bl
mov ebx, dword [ebp - 0xc]
movzx ecx, word [ebx + ecx*2]
mov dword [ebp - 0x10], ecx
stc
cmp edx, 0x1000000
jmp 0x10b042e
jmp 0x10994d3
jae 0x105e35d
cmp edi, 4
jb 0x20952cc
mov edi, 3
shr eax, cl
mov eax, dword [ebp - 8]
ror bx, cl
shl edi, 7
not bx
bswap ebx
seta bh
lea ebx, [edi + eax + 0x360]
bswap edi
not di
mov eax, dword [ebp + 8]
jmp 0x20900ea
inc eax
or ecx, 0x731e3b8f
cmp di, 0x60e2
add ecx, ebp
mov dword [ebp + 8], eax
movzx eax, word [edi + 2]
mov ecx, edx
shr ecx, 0xb
cmp esp, 0x336624cc
test ecx, esi
cmp bx, ax
imul ecx, eax
test dx, 0x5c29
cmp esi, ecx
jmp 0x208c9f9
inc eax
test ebp, ebx
clc
mov dword [ebp + 8], eax
xadd ah, al
shl eax, cl
mov eax, edx
shr eax, 0xb
imul eax, edi
jmp 0x1007657
imul eax, dword [ebp - 0x10]
cmp bp, bp
test sp, sp
jmp 0x20aa97c
mov ecx, dword [ebp - 4]
cmp eax, 0x5bc3712a
cmp dx, sp
test ah, 0x38
lea ebx, [ebx - 4]
stc
cmp edx, 0x1000000
jae 0x209c56a
cmp eax, ecx
jae 0x1efc2c4
movzx edi, byte [eax]
shl esi, 8
cmp sp, dx
shl edx, 8
test bx, 0x4290
or esi, edi
dec di
xchg di, di
inc eax
rol di, 0x93
shr edx, 1
mov edi, esi
sub edi, edx
clc
jmp 0x1ed72a6
cmp edx, 0x1000000
jmp 0x2060a91
or esi, edi
inc eax
mov dword [ebp + 8], eax
mov eax, edx
shr eax, 0xb
imul eax, ecx
jmp 0x1efcc26
jae 0x1efc2c4
movzx ecx, byte [eax]
shl esi, 8
shl edx, 8
test esi, 0x58ff0bf3
cmc
cmp si, cx
or esi, ecx
setl cl
cmovb cx, si
bswap ecx
inc eax
btr ecx, 0x3a
dec cl
mov dword [ebp + 8], eax
mov ecx, edx
cmp esi, edi
test ah, 0x29
test bx, si
shr ecx, 0xb
clc
cmp edi, 0x31d646c0
imul ecx, edi
cmp esi, ecx
jmp 0x10a9f49
jae 0x1efc2c4
movzx ecx, byte [eax]
stc
test bl, 0xbd
shl esi, 8
cmp di, 0x3907
test dx, sp
shl edx, 8
test si, bp
clc
cmc
or esi, ecx
movzx ecx, ax
jmp 0x2098432
jae 0x1efc2c4
movzx ecx, byte [eax]
clc
shl esi, 8
shl edx, 8
or esi, ecx
inc eax
mov dword [ebp + 8], eax
sbb cl, 0x37
not cx
or cx, di
mov ecx, edx
test di, 0x2b37
cmc
shr ecx, 0xb
test bx, 0x38a7
cmp edx, ecx
imul ecx, edi
stc
cmp esi, ecx
jmp 0x2064bd1
cmp esi, eax
jmp 0x10b42dd
jae 0x1097d09
cmp eax, dword [ebp - 4]
jmp 0x1097d03
sub edx, ecx
sub esi, ecx
lea edi, [edi + edi + 1]
and dword [ebp - 8], eax
test dx, dx
cmp edi, 0x100
jmp 0x2084d30
mov dword [ebp - 0xc], eax
jmp 0x1007508
jb 0x1f12051
sub edi, 0x40
stc
cmc
mov dword [ebp + 8], eax
cmp edi, 4
jmp 0x1028d9e
jae 0x10b75c6
mov edx, ecx
stc
add edi, edi
jmp 0x100d079
jmp 0x1018ac1