Function at 0x712cf3c2
Capabilities:
Authenticate hmac

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
and dword [ebp - 4], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
lea edx, [ebp - 4]
push edx
push 0x713e151c
mov dword [ebx], 1
mov ecx, dword [eax]
push eax
call dword [ecx]
mov edi, 0x713e193c
mov esi, 0x100002
test eax, eax
jne 0x712cf44c
lea eax, [ebp - 0x18]
push eax
call dword [0x714470f0]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push 0
lea edx, [ebp - 0x18]
push edx
push 0x713e191c
push eax
call dword [ecx + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 8], 0
jne 0x712ed797
cmp dword [ebp - 0x10], 1
jne 0x712d630a
push edi
push 0x713e18d0
push esi
push dword [0x71447210]
call fcn.712cf0c1
add esp, 0x10
push dword [ebx]
push dword [ebp + 8]
push edi
push 0x713e1870
push esi
push dword [0x71447210]
call fcn.712cf0c1
add esp, 0x18
push 0x15
pop eax
pop edi
pop esi
pop ebx
leave
ret 8
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], cl
adc al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x7f], al
add al, 0
and al, 0
add byte [eax], al
push ebx
add byte [ebp], dh
bound eax, qword [eax]
push 0
add byte gs:[ebx], ah
je 0x712ed7be
push ebp
add byte [ebx], dh
add byte gs:[edx], dh
push ebx
add byte [ecx], ch
add byte fs:[eax], al
add byte [eax], al
add byte [eax + eax], ah
add byte [eax], al
push ebx
add byte [ebp], dh
bound eax, qword [eax]
push 0
add byte gs:[ebx], ah
je 0x712ed7e2
push ebp
add byte [ebx], dh
add byte gs:[edx], dh
dec esi
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
add byte [eax], al
sub byte [eax], al
add byte [eax], al
push ebx
add byte [ebp], dh
bound eax, qword [eax]
push 0
add byte gs:[ebx], ah
je 0x712ed806
inc esp
add byte [edi], ch
insd dword es:[edi], dx
add byte [ecx], ah
imul eax, dword [eax], 0x4e006e
popal
add byte [ebp], ch
add byte gs:[eax], al
add byte [eax + eax], ah
add byte [eax], al
push ebx
add byte [ebp], dh
bound eax, qword [eax]
push 0
add byte gs:[ebx], ah
je 0x712ed82e
dec esp
add byte [edi], ch
add byte [bx], ch
outsb dx, byte [esi]
add byte [ecx], cl
add byte fs:[eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [ebx], dl
arpl word [eax], ax
outsd dx, dword [esi]
add byte [eax], dh
add byte gs:[eax], al
add byte [eax + eax], bl
add byte [eax], al
inc ebx
add byte [edi], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x65], dh
add byte [eax], bh
je 0x712ed862
dec esi
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
add byte [eax], al
sbb al, 0
add byte [eax], al
dec ecx
add byte [esi], ch
je 0x712ed876
add byte gs:[edx], dh
add byte [ecx], ah
arpl word [eax], ax
add byte gs:[ecx], cl
add byte fs:[eax], al
add byte [eax], ah
add byte [eax], al
add byte [esi], al
jne 0x712ed890
outsb dx, byte [esi]
add byte [ebx], ah
je 0x712ed896
imul eax, dword [eax], 0x6e006f
dec esi
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
add byte [eax], al
add byte [eax], al
sbb byte [eax], al
add byte [eax], al
dec edi
add byte [eax + eax + 0x64], ch
add byte [esi], dl
popal
add byte [eax + eax + 0x75], ch
add byte [ebp], ah
add byte [eax], al
add byte [eax], al
sbb byte [eax], al
add byte [eax], al
dec esi
add byte [ebp], ah
ja 0x712ed8ca
push esi
add byte [ecx], ah
insb byte es:[edi], dx
add byte [ebp], dh
add byte gs:[eax], al
add byte [eax], al
add byte [eax + eax], bl
add byte [eax], al
push edx
add byte [ebp], ah
je 0x712ed8e2
jne 0x712ed8e4
jb 0x712ed8e6
outsb dx, byte [esi]
add byte [ebx], al
outsd dx, dword [esi]
add byte [eax + eax + 0x65], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx - 0x66], dh
aad 0xcb
add eax, 0xf0c0171
add dword [ecx], eax
add byte [ecx], al
invalid