Function at 0xa06b80
Capabilities:
Authenticate hmac

Disassembly:
xor eax, 0x5ba686bd
btr edx, edx
or edx, edx
ror eax, 3
not eax
sub dx, 0x18b
jnp 0xb3e9b4
mov eax, 0x57b4402f
lea edi, [edi + eax - 0x57b44033]
shr eax, 0x5c
bts ax, ax
mov edx, eax
mov edx, dword [edi + eax*2 - 0x4a]
mov ecx, eax
xor edx, ebx
jmp 0xc490d3
push 0xa61dfc35
push 0xde01eabb
lea esp, [esp + 8]
jne 0xab8b87
jmp 0xbdfee8
ret
lea ebp, [ebp + edx*2 - 0x1c3fa]
jae 0xabcda4
add edx, eax
rol al, 0x47
xor ax, 0x1ea3
dec eax
not edx
inc eax
sub al, ah
xadd al, ah
xor ebx, edx
shl al, 0x46
adc edi, edx
movsx edx, al
btc edx, edx
movzx eax, byte [esi + eax*8 - 0x2e00]
btc edx, 0x3c
shr edx, 0xb7
and dl, dh
lea esi, [esi + edx*8 - 0x807]
and edx, 0xff36e89d
xor al, bl
sar edx, 0x76
add edx, 0xc93d3089
neg al
neg dx
shr edx, 0x7b
bswap edx
inc al
not dx
xor al, dl
add al, 0x10
xor dx, dx
neg al
neg dl
seto dl
xor al, 0xb9
push edx
not al
pop edx
xor bl, al
ror edx, 0x9e
or edx, 0xf8008db1
lea edx, [edx*8 - 0x22c933f1]
push esi
push edi
sbb dx, dx
shl dl, 0x21
push ebx
jno 0x95dcaa
shl dx, 0x25
mov ebx, eax
lea eax, [edx - 0x57e63543]
mov edx, ebx
sar eax, 0x98
sal edx, 2
shl eax, 0xf4
and eax, eax
mov eax, ebp
jne 0xb85669
not eax
sub dword [esp], ecx
call fcn.00981322
or dword [esp + eax*4 - 0x621e0000], ecx
pop ecx
dec edx
or ecx, eax
add al, 0xa2
btc ecx, ecx
xor edx, 0x21327a84
bts eax, 0x9f
call fcn.00c4ed2b
xor ecx, 0x362d46ad
xor edx, ebx
bts ax, cx
lea edx, [edx + eax - 0xc15bd77]
not edx
lea eax, [ecx + eax - 0x54f06df]
lea eax, [ecx + eax*2 + 0x548323a6]
inc edx
shl al, 0x86
xadd ecx, eax
bswap edx
cmovbe ecx, eax
inc edx
not ecx
xadd al, cl
shl ecx, cl
xor ebx, edx
sal ax, 0xcb
lea ebp, [eax + ebp - 0x551cf804]
mov dword [ebp + eax - 0x551cf800], edx
movzx edx, cl
xadd ecx, edx
mul edx
lea esi, [eax + esi - 4]
call fcn.00b4676a
ret
je 0xbb9326
pop edi
cmp si, 0xd038
stc
pop esi
btr bx, 0xa
or ebx, 0xaa0f9092
pop ebx
test di, dx
cmp edi, 0x9909b018
cmp cl, al
jmp 0xa5162e
mov dword [esp], 0x601561fc
call fcn.00ac48e7
inc ebp
mov eax, dword [edx]
inc ecx
mov ebp, 0x6f96613e
inc ebx
mov eax, dword [ebp + edx - 0x6f96613a]
inc esp
or eax, eax
inc ecx
sub ch, 0x39
inc ecx
movsx edi, ch
inc ecx
not eax
dec esi
lea ebx, [ebp*2 + 0x34235632]
dec edx
lea esi, [ebp*8 - 0x4feaa556]
dec ebp
add ebx, ebp
inc edi
mov dword [ebp + edx - 0x6f966101], eax
inc ecx
movzx edx, bp
inc ecx
mov eax, 0xbf235bb8
jno 0xbfd28a
jae 0xa06bbc
pop edx
lodsd eax, dword [esi]
fist dword [ebx + edx*8 + 0x56]
and byte [ebp + 0x4697362d], ah
test eax, 0xcb4a0bfc
xor ch, byte [ecx - 0x16c4f404]
jmp 0xa06c13
add bl, byte [ebx + 0xf]
mov bh, 0xca
shr cl, 0xe6
mov eax, dword [esi + ecx*8 - 0x1c010]
mov edx, dword [edx + eax - 0x5b023897]
not cx
movzx eax, cx
mov dword [ecx + esi - 0xc7fd], edx
sal ecx, cl
lea edx, [ecx + eax*8 - 0x7f47325a]
inc eax
mov ecx, dword [ebp + eax*8 - 0x63ff0]
jle 0xbf2153
bswap eax
mul ax
lea ebp, [ebp + edx - 0x20befffc]
xor ecx, ebx
sub al, 0x36
push eax
dec ecx
sal dword [esp + edx - 0x20bf0000], 0xe5
mov dword [esp + edx*2 - 0x417e0000], edx
cmova eax, edx
rol ecx, 1
jmp 0xbee56a
lea ecx, [ecx + eax + 0x513f609b]
cwde
or eax, dword [esp + eax*8 + 4]
shr dword [esp + eax + 7], 0x8b
rol ecx, 1
sal dx, 0x4d
lea edx, [eax + eax*4 + 0x7295cb15]
bswap ecx
or edx, dword [esp + edx - 0x7295cb16]
adc eax, dword [esp + eax*2 + 2]
sbb ecx, 0xcca5dda4
ror ecx, 1
inc edx
push edx
not ecx
not ax
shl eax, 0x75
sub word [esp + edx - 0x7295cb0e], 0xdd31
ror ecx, 2
xor ecx, 0xc292d235
btr edx, eax
imul eax
xor ebx, ecx
add edi, ecx
pop edx
pop eax
pop eax
pop eax
jmp fcn.009f96e8
jbe 0xbbd85c
or eax, 0xffffffff
jmp 0xc5bcae
ja 0xa94194
add al, 0x20
mov cl, byte [ebp - 1]
clc
shl bl, cl
mov bl, cl
sub bl, 0x41
test ecx, ebx
test ecx, 0xc4261014
cmp bl, 0x19
jmp 0xbea467
not word [esp + 2]
lea esp, [esp + 4]
call eax
mov ecx, 0x4818a24
mov edi, ecx
mov ebp, dword [ebp + ecx - 0x4818a28]
mov dword [ecx + ebp - 0x4818a24], eax
pop ebx
sal cx, cl
pop edi
sar cl, 0x26
jnp 0xc5d9be
and ecx, ecx
lea esi, [esi + ecx - 0x65911756]
bts cx, 0xbd
movsx eax, cl
mov edx, dword [esi + eax - 0x52]
sub al, al
and al, ah
bts cx, cx
xor edx, ebx
sar ax, 0xab
add ecx, eax
rol edx, 3
ror cl, 0x64
adc ecx, 0x3d0851a3
bswap eax
not edx
rol cx, 0x6e
call fcn.00b7b8dc
pop esi
push edi
xchg dword [esp], edi
pop ebp
pop edi
pop ebp
jmp 0xc5840d
inc edx
cmp eax, esp
cmp cl, 0x19
jmp 0xa9418c
lea esp, [esp + 4]
je 0x6ffe0e
mov eax, dword [ebp + ebx*4]
push eax
jmp 0xc0d0fe
push edx
mov byte es:[edx + eax - 0xe200], cl
mov dword [esp + edx - 0xe200], esi
ret 4
xor ecx, 0x91a5d15
or byte [esp + edx - 0x20bf0040], 0xa9
not ecx
pop eax
rol ecx, 3
sar edx, 0x38
xor ebx, ecx
sar edx, 0xb8
sbb ax, dx
adc edi, ecx
btc eax, edx
mul edx
bt ax, ax
or eax, edi
jmp eax
mov word [edx + ebp - 0x3c], cx
push edx
jmp 0xbc2bba
mov esp, ebp
not bp
movsx ebp, sp
pop ebp
jmp 0x979d1b
dec ebp
adc ecx, ebx
inc eax
ror bh, 0xc1
inc esp
adc ah, dl
cwde
inc ecx
pop esi
pop eax
js fcn.00a7cd20
dec dword [esp + eax - 0x70342818]
bswap ecx
btr dx, 0xb1
cwd
xor ebx, ecx
mul edx
add byte [esp + edx*4 + 2], 0x10
adc esi, ecx
add eax, dword [edi + eax]
ror byte [esp + edx*2 + 3], 1
setb byte [esp + edx]
mov cl, byte [edi + edx*2 + 4]
setae byte [esp + edx]
lea edi, [edi + edx + 6]
sal edx, 0xe6
shr word [esp + edx*2 + 1], 0x2f
shl dl, 0xe5
mov byte ss:[eax + edx*4], cl
not edx
adc word [esp + 1], dx
pop edx
jmp esi
inc esp
movzx eax, byte [ebp]
mov ecx, 0x512788bf
inc esp
xor al, bl
dec esp
lea esi, [ecx + ecx + 0x5a937023]
inc ecx
dec al
inc ecx
mov edi, 0x8423710e
inc ecx
neg al
inc ecx
sub al, 3
inc ecx
push esi
jmp 0xbe98ae
push edx
xor ebx, eax
add edi, eax
lea eax, [ecx + edx - 0x5ecc65d2]
mov edx, dword [esi + edx*4 - 0x3f9d4]
sar dword [esp + ecx*2 - 2], 0xb2
call fcn.00c4172a
movzx cx, byte [ebp]
mov eax, 0x2c91f7ab
mov dl, byte [ebp + eax - 0x2c91f7a9]
bswap eax
or eax, 0x93056e16
or cl, dl
movsx edx, al
not cl
jmp 0xad46c7
adc eax, edx
mov dword [ebp - 4], eax
push 0xbc3b9d2c
test ebx, ebx
jmp 0xab8b7d
sub cl, 0x41
jmp 0xaa9bfd
mov cl, byte [edi]
mov al, byte [esi]
mov ebx, esp
mov byte [ebp - 1], cl
cmova bx, ax
mov cl, dl
movsx ebx, sp
inc esi
xchg bh, bh
bswap bx
mov bx, sp
inc edi
btc ebx, 0x19
ror bh, 0xa6
mov bl, al
mov ebx, 0x799a8737
cmc
rol ebx, cl
add bl, dl
sar cl, cl
xor al, bl
rcr cl, 9
dec cl
mov cl, al
test edi, 0x499c9628
jmp 0xb968cb
sbb eax, eax
neg eax
jmp 0xadb4c0
lea ecx, [eax + eax*8 + 0x6c0901a5]
mov eax, dword [edx + esi - 0x42]
dec cl
bts dx, cx
xor eax, ebx
call fcn.00b99977
mov ecx, 0x14a7f3a6
mov esp, edi
pop ecx
mov eax, 0x9f1b32bb
rol eax, 0xc8
push eax
push dword [esp + 4]
popfd
movsx esi, ax
call fcn.00a92475
mov eax, dword [ebp]
push 0xe08dc0b3
jmp 0xaa724d
and dword [esp + ecx - 0x512788bc], 0x5982db1b
inc ecx
neg al
inc ecx
movsx edi, bh
inc ecx
xor bl, al
dec eax
lea eax, [edi*8 + 0x1a184329]
dec esi
lea eax, [esp + eax + 8]
inc ebp
movsx ebp, di
dec esp
or ebp, dword [esp + ecx - 0x512788bf]
dec esp
lea ebx, [eax*8 + 0x48a9202f]
dec ebp
mov edi, dword [eax + edi - 0xe]
mov esi, dword [esp + ecx - 0x512788bc]
dec ebp
mov dword [edx + ecx - 0x512788c7], edi
dec esi
lea esp, [ecx + edx - 0x512788c7]
cdq
xchg byte [esp + edi*4 - 0x38], dh
dec esi
mov dword [ecx + edx - 0x512788cf], esp
dec ebp
lea edx, [edx + edi*2 - 0x2c]
adc dword [esp + edi*4 - 0x34], 0xf6080f03
dec eax
xadd dword [esp + edi*2 - 0x1c], edi
inc esp
mov ebx, dword [ecx + ebp - 0x512788be]
inc ax
inc ecx
push ebp
inc esp
or esi, edi
dec eax
lea ebp, [ebp + eax - 0x1a184395]
dec ecx
neg esi
bswap edi
dec esp
lea edi, [edx + esi*8 - 0x9e34e6d]
inc esp
xor ebx, ebx
inc eax
or dh, 0xbd
dec eax
idiv edi
sal byte [esp + edi*4 - 0x2078859], 0x43
inc ecx
dec ebx
inc esp
movzx eax, byte [esp + edi - 0x81e215]
inc ecx
not ebx
inc ecx
xor edi, esi
inc ecx
xor ebx, 0x4eb0ed3f
dec esp
sub dword [esp + edi*4 - 0xe727118], eax
rol word [esp + edi - 0x39c9c3f], 0xc7
xchg byte [esp + ecx - 0x512788b7], cl
inc ecx
ror ebx, 3
inc ecx
bswap ebx
dec edx
lea eax, [edx + esi*8 - 0x7eddc86c]
dec ecx
idiv ebp
cwd
dec eax
mov dword [esp + edi*2 - 0x7393886], ebx
inc esp
movsx esp, byte [esp + edi - 0x39c9c47]
inc esp
xor dword [esp + edi - 0x39c9c3f], ebx
shl si, 0xaf
dec eax
sub edx, edx
dec eax
mov ebx, dword [esp + ecx - 0x512788b8]
cwde
inc ecx
bswap esi
dec edx
mov dword [esp + esi - 0x5f7e1cfb], esi
dec ebp
arpl bx, bx
dec eax
cwde
jle 0xae40a3
neg ecx
cwde
push eax
rol ecx, 3
btr dx, dx
inc edx
mul byte [esp + eax*4 - 0x17c4a]
not ecx
cwd
dec ecx
lea eax, [eax + eax*8 + 0x70342818]
jmp 0xb093e7
ja 0xbea477
add cl, 0x20
cmp di, 0x5c04
test esp, ebp
test al, al
jmp 0xc4d1ca
call 0x5d4a7d9d
and al, 0xc
sal dword [esp + 3], 0xb2
shr ax, 0xd
sub al, ah
pop eax
pop ecx
pop edx
pop ecx
jg fcn.00b0349b
jmp 0xb3dcef
add al, dl
lea ecx, [ecx + eax - 0x6932e527]
sbb dl, byte [esp + edx - 0x20befffe]
sub word [esp + edx*2 - 0x417e0080], 0xeca7
jno 0xac4788
pop dx
ja 0xbee5b8
test byte [ebp - 0x11], bh
jne 0xbee591
das
movsb byte es:[edi], byte [esi]
pop ebp
out dx, eax
jne 0xbee597
dec ebx
les edi, [0x4bfe75ef]
mov esp, 0xfe75ef45
imul ebx, dword [0x8bfe75ef], 0xffffffbc
inc ebp
out dx, eax
jne 0xbee5af
arpl word [ecx*8 - 0x4018a11], si
mov esp, 0xffb05fa3
out 0xc6, al
jae 0xbee549
mov esi, 0x27f7fd79
pop ebx
popfd
xor bl, al
push ds
mov byte ss:[ecx - 0x21], 0xc3
and al, 0x12
mov bl, byte [ebx - 1]
std
push ss
and eax, 0x326f38ed
jp 0xbee5e1
mov esi, 0x6365d7f9
in al, 0xc2
hlt
lea eax, [edx + eax - 0x7eea3ce5]
xor eax, 0xfbbf762c
not eax
xor ebx, eax
shr byte [esp + ecx - 0x443ea5c4], 0xa7
rol dx, 0x21
add edi, eax
push edx
mov eax, dword [esp + 8]
add eax, 0x755a4
jmp eax
dec ecx
mov ecx, dword [edx + edi - 1]
dec edi
mov eax, dword [edx + ebp - 0x6f9660f9]
dec esi
lea esi, [ebp*2 - 0x4ce7bcd4]
dec ecx
adc ecx, eax
dec ebx
mov dword [edx + ebp - 0x6f9660f9], ecx
inc ecx
movsx eax, bx
inc ecx
dec ebp
inc ecx
neg esi
dec edi
lea edx, [edx + ebp - 0x6f9660f8]
not edi
inc ebp
mov esp, dword [ebp + ebp - 0x6f966104]
inc ecx
mov ecx, esi
inc eax
xchg dl, bh
cwde
dec edx
lea ebp, [ebp + ebp - 0x6f966100]
setp al
dec eax
shr ecx, 0xde
inc esp
movsx eax, si
inc esp
xor esp, ebx
inc ecx
sar dh, cl
inc edi
lea esp, [esp + ebp*2 + 0xb653d1c]
inc ecx
not esp
bt eax, 0x2a
inc esp
sbb esp, ecx
inc ecx
xor esp, 0x9929869f
cdq
inc ecx
ror esp, cl
dec cx
inc ebp
movsx edi, ax
push ebx
dec edx
lea ebx, [esi*4 - 0x36cce5e7]
inc esi
xor dword [esp + ebp - 0x6f966104], esp
inc cx
bts ebx, ebx
dec esp
btr edi, ebx
inc ecx
setae bl
pop ebx
jae 0xc4ecd9
bts cx, cx
mov ecx, dword [edi + ecx - 0x56acd0b5]
mov eax, 0x148445bd
lea edi, [edi + eax - 0x148445b9]
lea edx, [eax*2 - 0x346b855f]
imul dx
xor ecx, ebx
sub al, 0x3c
lea eax, [edx*4 - 0x24cad3e2]
rol dl, 0x22
rol ecx, 2
neg eax
rol dx, 0xe5
or edx, edx
dec ecx
add edx, edx
dec eax
sub eax, edx
neg ecx
sub edx, eax
cwde
cdq
dec ecx
inc dl
cwde
ror ecx, 1
xor ecx, 0x588feebe
btc eax, 0xb
imul ax, ax
jno 0x6fe345
sbb ecx, 0xd7a9c1a0
sar al, 2
xor ebx, ecx
cdq
xchg dh, al
push eax
add esi, ecx
movsx ecx, word [esp + eax - 0x8900]
jmp 0xc4d1ae
dec ebx
jmp 0x6ffdfa
sal ecx, 0x22
dec edx
or ax, 0xcdb1
shr al, 0x63
bswap edx
not eax
sbb al, al
jae 0xa0e88d
neg edx
call fcn.00c14ddb
mov eax, dword [ebp + eax*4 - 0x22400]
add cl, byte [ebp + edx - 0xe1fc]
ror dword [esp + edx - 0xe200], 0xc8
jae 0x94d1db
je 0x9e3bf7
cmp al, cl
jmp 0x9e3bf1
dec ebp
xadd edi, esi
dec ebp
arpl sp, sp
dec esp
xchg edi, eax
dec eax
mul esi
inc ecx
sar ebx, 0x24
dec ebp
adc ecx, esp
dec ecx
add edx, ecx
jmp edx
pop ebx
pop ecx
mov edx, 0x85a8689d
lea edx, [edx*8 + 0x113e8001]
lea edx, [edx*4 + 0x2c3c4bbb]
pop edx
ret
mov esp, ebp
cmovne ebp, ebx
pop ebp
jmp 0x70d343
pop esi
movzx edx, cl
movzx eax, dl
inc eax
jmp edi