Function at 0x21a4cee
Capabilities:
Authenticate hmac

Disassembly:
pushal
lea esp, [esp + 0x20]
ja 0x1edfbb3
pushfd
call fcn.021a4e9c
or al, ah
mov al, byte [edi]
test ax, dx
cmc
test al, al
mov byte [esp + 4], bl
pushal
mov word [esp + 4], bp
lea esp, [esp + 0x28]
je 0x21ac8c1
push 0xa014166a
lea esp, [esp + 4]
jmp 0x21b2373
bt sp, 9
pushal
cmc
sub al, 0xb8
push dword [esp]
add esp, 0x2c
jp 0x21ac79e
cmp al, byte [edi]
not ah
lea edi, [edi + 1]
pushfd
pushal
not ax
mov byte [esp + 0x18], cl
mov eax, dword [esp + 0x24]
mov byte [esp], ah
pushfd
lea esp, [esp + 0x2c]
jnp 0x21a699e
ja 0x1edfbb3
pushfd
call fcn.012461dd
add byte [eax], al
push ebx
push 0x456c6c65
js 0x1edeac9
arpl word [ebp + 0x74], si
inc ebp
js 0x1edeaac
add byte [ecx - 0x2e], ch
or al, byte [eax]
add byte [eax], al
and al, 0xaa
rcl edx, cl
lds ecx, [ebp - 0x16cbdb9c]
or dword [ebx + 0x2d], ebx
add byte [ebp + 0xf042464], cl
test dword [0x88002cde], eax
clc
or ah, 0xa1
sub edx, edx
daa
mov eax, edx
cmc
rcr al, cl
pushal
mov byte [esp], dh
add edi, 1
sar al, 7
inc al
bt dx, 1
mov al, byte [edi]
stc
test al, al
mov dword [esp], ebp
call fcn.021ad942
jmp 0x1ee7855
pushal
push esp
lea esp, [esp + 0x24]
jo 0x21a5075
jne 0x1ee0fe4
movsx ax, al
call fcn.021b3850
jmp 0x1ee0fae
ror dl, 5
mov byte [esp], dl
jmp 0x21b3c5e
push 0x268abb3
pushfd
mov dword [esp], edi
mov dword [esp + 4], 0xc34a5123
pushfd
pushfd
pushal
mov byte [esp], 0xb0
mov dword [esp + 0x28], 0x164833d4
mov byte [esp], 0x67
pushfd
mov byte [esp + 0x18], ah
mov byte [esp], 0xcf
lea esp, [esp + 0x2c]
jmp 0x21b5227
test cl, 0xcf
call fcn.021b20cf
mov dl, byte [esi]
cmc
push 0x6880170a
jmp 0x1ee3b91
test al, al
pushfd
push 0xd1cd1ea4
lea esp, [esp + 0x2c]
je 0x21ac8c1
pushfd
pushfd
lea esp, [esp + 8]
jmp 0x21b2373
jmp 0x1edf76e
pushal
pushfd
lea esp, [esp + 0x28]
je 0x21a9fa3
pushal
lea edx, [ebx + 4]
lea esp, [esp + 0x20]
not di
movzx esi, word [edx + 0x1a]
pushfd
lea esi, [esi + edx + 0x1c]
movzx edi, cl
not di
bswap di
not di
mov edi, dword [ebp + 8]
pushal
lea esp, [esp + 0x24]
jae 0x21aaf6c
push esp
lea esp, [esp + 4]
call fcn.0124566d
jmp 0x1edf653
or ecx, ecx
jmp 0x1ee6f2e
clc
stc
rol al, 7
jmp 0x1edea17
fidivr dword [0x25584516]
bound esp, qword [ebx]
lahf
xchg esi, eax
dec edi
fsub qword [edi]
in al, 0xf
pop esp
pushal
pushal
call fcn.021ace67
cmp byte [ebx - 8], 0xde
push edx
arpl sp, dx
cmp al, 0x56
lahf
pop ebp
nop
pushal
jne 0x21a5065
ror dword [ebx], 1
ljmp 0x54e7
jmp 0x12461ae
push esp
pushfd
pushfd
lea esp, [esp + 0x14]
jne 0x21ac8c9
pushfd
xor edx, edx
ror ax, cl
movsx ax, cl
mov eax, edx
cmc
pushfd
shl al, cl
add edi, 1
and al, dl
cmp dl, 0x16
jmp 0x1edd0ac
lea edi, [edi + 1]
not ax
mov eax, dword [esp + 8]
mov word [esp + 8], ax
pushal
call fcn.021b316a
ror al, 5
mov al, byte [edi]
pushal
call fcn.021ac7af
test bl, ch
cmp byte [edi], 0x23
jmp 0x21a6de1
bt ax, sp
pushfd
pushfd
clc
cmp al, byte [edi]
setg al
jmp 0x21a7eb0
sub al, 0x30
bt sp, 5
cmp al, 9
pushfd
push dword [esp]
pushfd
pushal
lea esp, [esp + 0x2c]
ja 0x1ee4247
call fcn.021ac91e
lea esp, [esp + 0x28]
jne 0x21ac8c9
aas
clc
movsx ax, bl
sub edx, edx
sar ax, cl
mov eax, edx
ror al, 3
or al, dh
and al, dh
add edi, 1
push esi
neg al
stc
rol al, cl
mov al, byte [edi]
mov word [esp], si
pushal
jmp 0x1ee2a2a
cmp bh, dl
jmp 0x21b0d76
pushal
mov word [esp + 4], cx
jmp 0x21b527c
push 0x333e3e3
push 0x26fdd940
push ebp
mov dword [esp + 8], ebx
jmp 0x21b43ed
jmp 0x21b4b60
mov dword [esp + 0x24], ebp
call fcn.021b3ea1
pushal
mov dword [esp + 0x1c], ebx
jmp 0x21b5896
mov dword [esp + 0x40], eax
call fcn.021b5030
mov dword [esp + 0x18], ebp
pushal
mov dword [esp + 0x34], edx
pushfd
pushfd
jmp 0x21b623b
pushfd
mov dword [esp + 0x3c], esi
pushfd
push ebx
mov word [esp + 0xc], 0x6ea0
jmp 0x21b5490