Function at 0xa510b2
Capabilities:
Authenticate hmac

Disassembly:
jbe 0xa4f4cb
mov ecx, dword [esi + 0x58]
test ax, 0x71da
clc
cmp ecx, 5
jmp 0x8e1aa8
ret
jb 0xb4023e
cmp byte [esi + 0x5c], 0
jmp 0x8efae8
jmp 0x8e48d8
shl edx, 0x10
cmp esi, esp
clc
or eax, edx
shr ecx, 1
jmp 0x8f686d
je 0xa4cf98
mov ecx, eax
mov eax, 0x400
sub edi, 0x3b710bc6
bsf di, bx
mov edi, edx
mov dx, si
xor dx, cx
movzx edx, ax
inc eax
mov eax, edx
test edi, esp
jmp 0x8df9d9
mov dword [ecx], 4
sub bh, 0x95
movsx ebx, di
sub eax, eax
xchg bx, bx
jmp 0x8e1b69
jae 0xa4f4c4
mov eax, dword [ebp + 0xc]
mov dl, byte [eax]
jmp 0xb41080
cmp dword [esi + 0x20], 0
jmp 0xa506e4
pop ebx
jmp 0xb3f602
mov dword [esi + 0x58], 0
cmp ax, bp
sub dword [ebp - 4], eax
test esp, 0x36b661af
cmp dword [esi + 0x48], 0x112
je 0x8e1b60
mov edi, dword [ebp - 4]
movsx bx, ah
movsx ebx, cx
mov ebx, dword [ebp + 0x10]
jmp 0x8f393b
ret
ret
xor eax, eax
jmp 0x8f40d1
ret
mov ecx, 1
shr bh, cl
btc ebx, 0x25
inc bh
mov ebx, dword [esi + 0x58]
cmc
test ebx, ebx
jmp 0x8ea1d8
mov esp, ebp
pop ebp
jmp 0x8de5c1
mov eax, edi
movzx ecx, bx
setno ch
bswap cx
mov ecx, esi
jmp 0x8eb672
ret
mov byte [edx + eax], bl
jmp 0xa4c8be
mov esp, ebp
movsx ebp, si
mov bp, 0x205b
pop ebp
jmp 0x8e33fb
ret
mov dword [esi + 0x1c], 0xffffffff
ror dl, cl
mov dword [esi + 0x4c], 0
mov edx, edx
movzx dx, bh
mov dword [esi + 0x58], 0
mov edx, dword [ebp + 8]
cmp ax, 0x7d6
clc
cmp dword [esi + 0x24], edx
jmp 0x8eb6bc
jae 0xb4155b
cmp edi, dword [ebp - 4]
jmp 0xa4e158
jne 0x8f1914
mov ebx, dword [ebp + 0xc]
cmp edi, 0x14
jmp 0x8eef68
shl eax, 8
or eax, ecx
movzx ecx, sp
rol cl, cl
movzx ecx, byte [esi + 0x60]
clc
shl eax, 8
jmp 0x8f7011
push ebx
cmovg eax, ebx
jmp 0x8e53bc
call fcn.008ee058
lea esp, [esp + 4]
cmp eax, ebp
test eax, eax
mov eax, esi
nop
mov eax, ebx
jmp 0xb4418a
mov dword [ebx], 0
call fcn.008eb812
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0
cmp dh, 0xe9
test di, 0x256f
cmp dword [esi + 0x48], 0x112
je 0x8e1b60
cmp dword [esi + 0x4c], 0
jmp 0xb3dff2
jae 0xa4d160
cmp dword [esi + 0x50], 0
je 0x8e48cb
mov ecx, dword [esi + 4]
rcl edx, 0x9b
or dx, 0x60ca
btc edx, eax
add ecx, dword [esi]
mov edx, dword [esi + 0x10]
movsx eax, si
bts eax, ecx
neg eax
mov eax, 0x300
clc
cmc
shl eax, cl
jmp 0x8f7241
mov esp, ebp
pop ebp
jmp 0x8e48bb
mov esp, ebp
bswap ebp
pop ebp
jmp 0x8e2dca
mov dword [esi + 0x3c], ecx
jmp 0xb41051
jne 0x8ee1a4
cmp dword [esi + 0x20], 0
je 0xa4ecdb
mov edx, dword [ebp + 0x14]
pop edi
pop esi
sbb ebx, esp
mov dword [edx], 2
neg bx
sub eax, eax
mov bh, bl
jmp 0x8f68c3
jmp 0x8e219c
jb 0x8eb017
lea eax, [edi + ebx - 0x14]
jmp 0x8f6868
mov dword [ebp - 4], edi
jmp 0x8eb68a
jne 0xa4bc2e
movzx eax, byte [esi + 0x5d]
movzx ecx, byte [esi + 0x5e]
xchg dx, dx
movzx edx, byte [esi + 0x5f]
test ebp, 0x41642c14
jmp 0x8ea751
sub edi, edi
test ecx, 0x315b216b
mov dword [ebp - 8], edi
test esp, 0x252f6593
test edx, edi
cmp ebx, 0x14
jmp 0x8e8dc8
adc ecx, ecx
jmp 0xa4cf87
jmp 0x8eb6b3
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], ecx
jmp 0x8ec5a0
jae 0xb3d783
lea eax, [esi + 0x5c]
xchg ecx, ecx
movsx ecx, di
push eax
nop
cbw
mov eax, ebx
mov ecx, esi
call fcn.008ee058
add esp, 4
test eax, eax
jmp 0xb3d77d
mov dword [esi + 0x50], eax
jmp 0x8dedb0
add dword [ebp + 0xc], eax
jmp 0x8e2192
jmp 0xb44193
rep stosd dword es:[edi], eax
jmp 0x8f3082
lea edi, [edi + ecx]
test esi, ebp
cmp cl, 3
cmp ebx, 0x14
jmp 0xb41552
pop ebx
jmp 0x8e48ed
or eax, edx
btr dx, sp
shl edx, 0xc7
shl eax, 8
and dh, bh
or eax, ecx
dec edx
rol dl, 0xb
sub dx, 0x3a02
mov dword [esi + 0x20], eax
cmc
jmp 0x8e7ee6
add eax, 0x736
jmp 0x8dff78
mov eax, dword [ebp + 0x10]
shl ch, cl
add dword [eax], edi
mov ecx, dword [ebp + 0x14]
cmovb ebx, esi
sar ebx, cl
pop edi
and si, 0x3824
pop esi
xor ebx, ebp
ror bh, cl
mov dword [ecx], 3
btc bx, 0x1e
xor eax, eax
jmp 0xb3de0b
je 0xb40227
sub edx, ebx
mov bl, byte [eax]
jmp 0x8e5ab3
pop edi
not al
pop esi
xchg al, bl
bswap bx
mov eax, 1
movzx bx, bl
bswap bx
pop ebx
jmp 0x8e658d
inc eax
cmp eax, ecx
jmp 0xb40221
rep stosw word es:[edi], ax
btc edi, edx
xor di, 0x7cf2
cmovle ecx, esi
mov edi, dword [ebp - 4]
mov ecx, 1
test eax, 0x6d3342b1
clc
jmp 0x8e454d
cmp dword [esi + 0x48], 0
jmp 0x8ee194
jae 0xb41558
mov eax, dword [ebp + 0xc]
xadd dl, dl
sub dl, al
mov dl, byte [edi + eax]
mov byte [ebx + esi + 0x5c], dl
cmp dx, 0x4830
test bl, dh
clc
add ebx, ecx
jmp 0x8f68b3
mov ecx, dword [ebp + 0x14]
pop edi
sar bh, cl
test dl, 0x52
adc bh, bh
pop esi
movzx bx, ah
jmp 0x8e1413
mov dword [ebp + 0xc], eax
jne 0x8de39a
mov dword [ebp - 4], edi
cmp esi, edx
test cl, cl
cmp dword [esi + 0x58], 5
jmp 0x8de97a
jne 0xa506fb
mov edx, dword [ebp + 0x14]
movsx edi, dx
btc bx, 0xa5
mov dword [edx], 1
xor eax, eax
btc edi, 0xde
bt bx, 8
cmp dword [esi + 0x20], eax
movzx ebx, cx
pop edi
movzx bx, al
movsx esi, bx
movzx ebx, sp
pop esi
setne al
movzx bx, ch
pop ebx
jmp 0x8eb82e
push ebp
mov ebp, esp
clc
test cx, sp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0x10]
jmp 0xb4475d
je 0x8f786e
mov edi, dword [ebp + 8]
not eax
cmova eax, eax
xchg al, al
lea eax, [esi + 0x5c]
mov dword [esi + 0x18], eax
jmp 0xb405df
mov esp, ebp
not bp
mov ebp, edi
pop ebp
jmp 0x8e5a01
pop ebx
jmp 0x8eb7d4
je 0x8e7f03
test edi, edi
jmp 0x8de394
mov esp, ebp
pop ebp
jmp 0x8e65cd
lea ecx, [edi + ebx]
bts dx, dx
lea edx, [esi + 0x5c]
clc
test esi, 0x7e217526
test bh, bl
cmp ebx, ecx
jmp 0xa49bd5
inc eax
test bh, 0xb6
sub edi, 1
jmp 0xa4f4bb
jne 0xa49bdd
mov eax, dword [ebp + 0x10]
rol bx, cl
shr bh, cl
mov dword [esi + 0x58], edi
shrd ebx, eax, 0x52
add dword [eax], edi
rcr bl, 6
and si, sp
mov eax, dword [ebp + 0x14]
bsr esi, esp
pop edi
btc esi, esi
dec esi
pop esi
mov dword [eax], 3
xadd bl, bh
movsx ebx, cx
mov bx, 0x5d7b
xor eax, eax
cmovs ebx, ecx
pop ebx
jmp 0xb3d9ca
push eax
setp ah
mov ah, 0x36
mov eax, esi
call fcn.008ee01f
test eax, eax
jne 0xa4bc2e
mov ecx, dword [esi + 0x18]
jmp 0xb44934
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
jmp 0x8f6605
mov byte [ecx + esi + 0x5c], dl
inc dword [esi + 0x58]
inc dword [ebx]
jmp 0xb40215
jb 0x8e8dce
mov dword [ebp - 8], edi
mov dword [esi + 0x58], ebx
cmp ebx, 0x14
jmp 0x8f6458
je 0xb3ffd7
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push eax
movsx ax, cl
movzx eax, di
mov eax, esi
mov dword [esi + 0x18], ebx
call fcn.008ee01f
test eax, eax
jmp 0xb44917
push esi
push edi
bswap si
mov edi, dword [ebx]
xchg si, si
mov esi, eax
mov eax, dword [ebp + 8]
push eax
jmp 0x8eef91
jne 0xa4bc2e
mov eax, dword [esi + 0x18]
ror cl, cl
inc cl
not cl
mov ecx, dword [ebp + 0x10]
sub eax, ebx
add dword [ecx], eax
add ebx, eax
jmp 0xb45403
mov edx, dword [ebp - 8]
movsx eax, dx
sbb eax, ebx
sub ecx, ebx
sub ecx, esi
lea eax, [edx + ecx - 0x5c]
bt cx, sp
mov ecx, dword [ebp + 0x10]
add dword [ecx], eax
cmp ecx, eax
jmp 0x8f6696
mov dword [ebp + 0xc], ebx
jmp 0x8ee89e