Function at 0x14e6da0
Capabilities:
Authenticate hmac

Disassembly:
mov ebx, edi
mov edx, 0x9639e2ad
movzx ecx, dx
mov ecx, 0
lea esi, [edx*2 + 0x22b273a6]
sub ebx, ecx
lea esi, [0x12fbc07]
mov ecx, 0xa21c9a81
lea edx, [ecx - 0x7d49a54]
movsx eax, cl
mov ecx, dword [edi]
call fcn.0150b92a
xor ecx, edx
mov edx, dword [ebp]
push ecx
mov eax, ecx
shr dword [esp], 0xcc
xor edx, ebx
pop eax
sal eax, 0x5f
neg edx
sar ax, cl
push ecx
add dword [esp + eax - 0x80000000], ecx
dec edx
btr ecx, eax
xor edx, 0x35b92e03
sar word [esp + eax - 0x80000000], cl
neg edx
rol edx, 3
cbw
xor ebx, edx
and ecx, dword [esp + eax - 0x80000000]
adc edi, edx
movzx edx, byte [esp + eax - 0x80000000]
add cl, ah
rol eax, cl
mov eax, dword [esi + eax*4 - 0x20]
bt ecx, ecx
bts ecx, ecx
dec dword [esp + edx - 0x9c]
mov cl, byte [esi + edx*2 - 0x134]
shl dword [esp + edx*8 - 0x4e0], 0x36
rol dword [esp + edx - 0x9c], 0x96
or dx, dx
lea esi, [esi + edx*8 - 0x4de]
lea edx, [edx + 0x70a88231]
rol word [esp + edx - 0x70a882cc], 0xc7
xor edx, edx
shr eax, cl
movzx ecx, dx
dec cl
and edx, 0x82b7edb5
mov dword [esi + edx*2], eax
imul edx, ecx
ror cl, 0x86
mov dword [esp + edx], edi
ret
mov ax, word [ebp]
mov dword [esp], ecx
and dword [esp + 4], 0x542e4981
or ecx, dword [esp + 4]
mov cx, word [ebp + 2]
jge 0x14eac7b
dec dword [esp + 4]
adc ebp, 2
not ax
or dword [esp + 2], 0x6f903483
not cx
mov edx, 0x1519b4bf
or edx, edx
and ax, cx
add dl, byte [esp + edx*4 - 0x5466d2f8]
not byte [esp + edx*4 - 0x5466d13a]
jnp 0x104e667
xchg esp, eax
xchg esp, eax
or byte [0x94f6ab99], ch
xchg esp, eax
invalid
jne 0x14e6e28
into
mov eax, dword [0xa204829a]
cmp byte [ebx - 0x1f], dh
wait
cmp byte [ebp - 0x7741bb37], dl
cmp byte [edi - 0x16], bl
xchg ebp, eax
leave
inc esp
mov esi, 0xea5f3888
xchg ecx, eax
cmp byte [ecx - 0x66160e73], bl
cmp byte [ebp + 0x1d], ah
arpl di, ax
std
inc eax
xchg esi, eax
jg 0x14e6de3
mov es, word [edx + 0x38c7f35d]
lahf
fcmovnb st(0), st(1)
cmp byte [edi], cl
scasb al, byte es:[edi]
loopne 0x14e6e03
or esp, dword [edi + 0x56]
pop ds
pop ss
outsb dx, byte [esi]
or bh, byte [ebp + 0x279850d2]
mov bl, 0x18
rcl byte [ebp + 0x4bac5aed], 0xc0
jp 0x14e6ea9
push ecx
push 0x2f
cmp bh, dl
scasd eax, dword es:[edi]
cmp cl, byte [edx + ebp*8 + 0x14]
fisttp word [ecx + 0x20]
loope 0x14e6e03
ljmp 0xb3e1:0x2049df14
dec ebx
sbb ecx, esp
clc
inc edx
pop edi
sbb dword [esi + 0x39222958], esi
mov dh, dh
lds ebp, [ecx - 0x76dbf79a]
sub al, 0x5c
or al, 0xe7
pushfd
adc ebx, dword [ecx - 0x1c3a1d2b]
les ebx, [ebp + ebx*4 - 0x48991260]
mov bl, byte [edx + 0xc]
jno 0x14e6e9e
lcall 0x8153, 0xa09970a6
outsd dx, dword [esi]
cdq
sub dword [eax - 0x34240c28], ebx
push eax
test eax, 0x33130c22
into
mov eax, dword [0xa207948c]
cmp byte [ebp - 0x1e], ah
wait
cmp bl, ch
out dx, eax
bound edi, qword [ebp - 0x1686c778]
xchg ecx, eax
cmp byte [ebx - 0x66150479], bh
cmp byte [edi + 0x1e], ch
arpl di, ax
jbe 0x14e6e49
sti
ljmp 0xc763
jg 0x14e6e7d
mov al, 0x8c
push ebx
invalid
call fcn.010b2217
mov edx, 0x16b62983
lea edi, [edx + edx*2 - 0x2540c568]
mov ebp, 0x81b385b0
mov ecx, dword [esi + edx*2 - 0x2d6c5306]
bts edx, edi
lea esi, [esi + edx*2 - 0x2d6c5302]
lea edi, [edi + edx*2 - 0x3eefef5d]
rol di, 0x21
mov edi, ecx
movsx eax, dx
mov ebp, esi
jae 0x12fbbef
mov edx, 0xf9bdd39e
movzx ecx, dl
lea ebp, [ebp + ecx*8 - 0x4f4]
and ecx, 0xff3b3b38
jg 0x136a84a
xor edx, ebx
lea edx, [eax + edx + 0x7b814d2e]
mov ecx, eax
xor cl, 0x8d
sub cl, al
bswap edx
inc edx
lea ecx, [ecx*2 - 0x2aea19f7]
neg edx
call fcn.01090e25