Function at 0x10106227
Capabilities:
Authenticate hmac

Disassembly:
push ecx
mov esp, 0x44c70003
mov dword [esp + 0x18], 0xbb9c4aab
shr byte [esp + 0x18], 0x6e
mov dword [esp + 0x18], 0xbb9c4aab
shr byte [esp + 0x18], 0x6e
call fcn.1011f57e
mov eax, 0x2a931082
movsx edx, al
not dl
dec eax
lea ebx, [eax + ebx - 0x2a931083]
movzx eax, byte [ebx + eax*2 - 0x55262104]
inc ecx
xor al, cl
dec eax
ror edx, 0x50
push edx
adc word [esp + 6], dx
xor al, dl
sal byte [esp + 4], 0x82
dec eax
sal edx, 0xd7
xor al, 0x24
call fcn.10029a10
cmpsd dword [esi], dword es:[edi]
wait
push eax
dec eax
stosb byte es:[edi], al
loop 0x10106223
mov ch, bl
loop 0x10106278
xor esp, dword [ecx + 0x2d]
out dx, eax
mov dword [edx - 0x4187b35], 0xf45ee074
push ebp
jae 0x101062df
mov ch, 0x2f
xchg ebp, eax
mov dh, byte [0x82310195]
aam 0xeb
sti
mov al, 0xe5
daa
pcmpeqb mm0, qword [edi]
pop eax
or ecx, dword [ebx]
and dword [edi + eax*2 + 0x46], esi
add esp, esi
dec ebx
push edi
std
dec eax
cmc
dec edx
pop ds
cli
stc
jae 0x101062fc
jle 0x10106277
xor ebx, 0x6a
lahf
test dword [ebp + edx - 0x30cf31eb], esp
dec esi
inc esi
scasb al, byte es:[edi]
push ebp
pop ds
imul ecx, dword [ebx - 0x5af9464c], 0x27b9ba94
lea esp, [ebx]
out dx, eax
add byte [ebx], 0xbe
adc ecx, ebx
retf
test dword [ebx], esp
cmp esi, edx
sti
test byte [esi - 0x76bb93ac], 0x9c
fnsave dword [esp + esi*2]
das
push cs
loop 0x10106350
and edi, dword [esi - 0x76f6907a]
out dx, eax
pushfd
jae 0x10106373
jbe 0x10106324
xchg esp, eax
xchg esp, eax
ljmp 0x2f81:0xd867a969
call 0x495fc669
mov edi, dword [esi + 0x37]
dec esp
dec esp
out dx, eax
jmp [ebx]
dec esi
xor byte [esi], al
rol ebx, 0x93
inc ebx
lodsb al, byte [esi]
ret 0x56a9
shr dword [ecx + 0x1ebebe1f], 1
inc edi
fcomi st(0)
div esi
pushal
mov esp, 0xf0a3c339
sti
mov dl, 0x36
loope 0x10106341
fsub dword [ecx - 0x5ef17966]
test byte [eax + esi], cl
pop es
out dx, al
push ss
adc ch, byte [ebp - 0x50]
push eax
dec ebx
adc edi, dword es:[0xf03ddb5]
add edi, dword [edi - 0x52c0f8fe]
mov al, byte [0x64c95c7f]
jae 0x101063ea
scasd eax, dword es:[edi]
sbb eax, 0xd700961d
and bh, ch
jp 0x101063e0
aaa
push edx
out 0x91, al
pop es
aaa
sbb dl, byte [edi - 0x3f]
fisttp word [ebx]
adc byte [ecx + 0x4422502e], 0x55
jo 0x101063e7
int3
sar dword [ebx - 0x6ef17fa9], cl
loope 0x101063eb
out dx, al
sbb al, byte [esi - 0x7c8244d]
sbb ecx, dword [esi]
pop ebp
cdq
xchg dword [ecx + 0x2d], ebp
pushal
fisttp qword [esp + ebx*2 + 0x58]
dec esp
pop esp
pop eax
pop esp
pop esp
add eax, 0x63f779ab
lock xor dword [ecx - 0x77e5bba6], ebx
stosd dword es:[edi], eax
jns 0x101063da
arpl ax, si
xor dword [ecx - 0x77e5bba6], ebx
pop edx
inc esp
sbb cl, byte [eax + 0x48528e0f]
mov byte [edi], cl
mov ss, word [edx + 0x48]
jle 0x857ac43
inc edi
clc
and edi, esi
xor byte [edi + 0x714489cf], bh
xchg edi, eax
or byte [edi + 0x6b], ah
neg byte [ecx - 0x287fea62]
inc edx
imul ecx, dword [ecx], 0x2e5eee0b
lodsd eax, dword [esi]
popfd
jge 0x1010641c
stc
clc
mov word [ebx + 0x5b], ds
and eax, 0xf57a07ab
xor byte [eax - 0x5d88c78e], 0x52
jb 0x10106456
ja 0x101063c2
push edx
div dword [edi + ebx*4]
adc byte [ebp - 0x6b], ah
sub esi, dword [ebx + 0x4a]
lds esi, [eax - 0x559a7a80]
mov edi, 0xaf046dcf
and byte [ebp + 0x25], dl
pop ebx
add ebx, dword [eax + 0x7d]
pop eax
jge 0x101064b9
jl 0x1010646d
das
xor dword [eax + 0x7a], ecx
inc eax
rcr byte [ebx - 0x593a61d3], 0xad
adc dh, byte [edx + 0x1e8a1626]
push 0x7bccfa38
jecxz 0x101063e0
mov dword [eax], ebp
leave
sub cl, cl
retf
jb 0x1010643c
push ss
jae 0x1010643a
sbb ebp, dword [ebx + eax*2 - 0x1c]
mov ah, 0xcb
mov dh, 0xa9
test eax, 0x3aee9722
cmpsd dword [esi], dword es:[edi]
sub byte [ecx], ch
jb 0x101064f8
xchg edx, eax
add al, 0xfa
mov edi, 0x80c8750c
popfd
mov byte [0xc556a4ec], al
cmpsb byte [esi], byte es:[edi]
xor cl, byte [ebp - 0x52e0d2]
invalid
dec esi
shr dh, 9
cmp dword [ebp - 0x63], eax
into
pop eax
mov bl, 0x6d
out 0xde, al
ror dword [ecx - 0x35], cl
mov dh, 0xf6
imul byte [edi - 0x4fc017d1]
vpcmpeqd ymm3, ymm1, ymm5
xchg edx, eax
invalid
cmp ch, bh
pop ds
jge 0x101064e5
cmp dh, byte [ebp + 0x7832f0c0]
aaa
lock xor bh, byte [eax + 0x37]
xchg edx, eax
push ecx
das
pop edi
std
salc
pop edi
enter 0x3f3c, 0x5c
pop esi
frstor dword [edi - 0xb]
jno 0x101064dd
salc
adc ecx, dword [ecx + esi*2 - 0x75]
in eax, dx
push edx
pop es
loop 0x101064e5
dec ebp
fld st(1)
xchg edx, eax
dec eax
xor al, 0x42
sbb cl, dh
sub dword [edi + 0x7fc7a8d2], ebx
inc ebx
or bl, cl
aaa
jno 0x10106580
hlt
or eax, 0xbbdaa7ef
invalid