Function at 0x44c2a7
Capabilities:
Authenticate hmac

Disassembly:
inc ebx
sub eax, 0x1e890f43
cwde
add byte [eax], al
push edi
call fcn.00427d32
mov ecx, dword [ebp + 0x24]
jne 0x42e4bc
je 0x42d1c4
nop
cpuid
ret
je 0x42e4bc
xor eax, 0xdd850f65
sar esi, 1
push dword [edx + eax + 0x3c]
das
je 0x41a3af
push edi
mov bh, bh
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax]
js 0x420dde
jns 0x42e274
mov edx, dword [ebp + 0x20]
shl ah, 0x20
mov eax, dword [ebp + 0x1c]
clc
add esp, 4
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
jne 0x41536d
push esi
pop esi
je 0x42e4e3
or eax, 0xf24ef46
test byte [esi + ebp*2 + 0x7f82fffe], al
mov ebp, dword [esi + 0x41000043]
je 0x41536d
cmp byte [edi - 0x75], 0xae
inc ebx
add byte [eax], al
inc ecx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], ah
xor byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add byte [edx], dl
add byte [eax], al
add byte [edi + 0x6b], bl
inc edx
add byte [ebx + 0x6f004214], al
salc
inc ebx
add byte [ebp + 0x1e], ch
inc ebx
add byte [ecx], ah
in eax, 0x42
add byte [ebp + 0x431e6d65], cl
add byte [edi - 0x2a], ch
inc ebx
add byte [0x3e9c185], ah
and ecx, 7
jb 0x42e25f
jno 0x447135
mov ch, ch
jo 0x42e548
cpuid
nop
ret
jo 0x447135
xor byte [esi + 0x45], 0xb9
inc ebx
add byte [eax + eax], cl
add byte [eax], al
xor byte [eax], al
add byte [eax], al
int 6
inc edx
add byte [eax], cl
add byte [eax], al
salc
enter 0x43, 0x30
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
cmp dword [ebx + eax*2 + 0xffff00], 0
xor al, 0
add byte [eax], al
mov ah, 0x59
inc edx
add ch, cl
mov esp, 0x73b0044
inc edx
add byte [eax], al
add byte [eax], al
xor eax, 0x8b000000
scasb al, byte es:[edi]
inc ebx
add byte [eax], al
inc eax
add byte [eax], al
xor al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
cmp byte [eax], 0
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
add byte ds:[eax], al
add byte [eax], cl
das
inc esp
add byte [edx], bh
salc
inc ecx
add byte [0x3d000000], bh
add byte [eax], al
add ch, cl
push es
inc edx
add byte [eax + eax], al
add byte [esi - 0x43ffbaf7], ch
sbb eax, 0xfdc70043
add edi, eax
test ecx, 0x80000000
jb 0x41ed49
shr si, 0x40
jne 0x433f2a
je 0x42e5ee
shr ax, 0x40
mov esi, esi
mov bx, bx
mov ecx, dword [esi]
or ah, ah
add esi, 8
test ecx, 0x1000
jb 0x41ed51
mov al, al
jne 0x42378e
je 0x42e61b
outsd dx, dword [esi]
sbb cl, 0x5c
clc
popfd
jmp dword [esi - 4]
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
dec ecx
jne 0x43a90d
mov dword [ebp + 0x40], esp
mov dword [esp], 0x43a92b
mov esi, 0x43a949
jmp dword [esi]
mov eax, 0x81
call fcn.0044ffc8
xor al, 0x10
inc eax
add ebx, 0xc
cmp eax, ecx
mov dx, dx
jb 0x41866d
jae 0x441735
mov dword [ecx + ebp*8 + 9], edx
xchg esi, eax
outsb dx, byte [esi]
jmp 0x441743
mov eax, ebx
cmp ecx, 3
mov ah, ah
jmp 0x441713
xchg esi, eax
scasb al, byte es:[edi]
std
inc edi
cmpsb byte [esi], byte es:[edi]
js 0x421b94
jns 0x44c29f
call 0xfeedf66
mov edi, ebp
pop eax
std
push dword [eax + ebx]
jns 0x421b94
xor al, 0x18
pop dword [esp - 4]
xchg di, cx
xchg cx, di
lea ebx, [ebx]
jne 0x44b364
je 0x44c2be
dec ebp
rcr dword [edi], 0xc0
out 0x20, al
shl dh, 0x20
xchg ah, dh
xchg dh, ah
ja 0x428938
jbe 0x44c2d1
mov al, byte [0xf004afe]
xchg byte [ecx - 0x3a], ah
std
push dword [0x41ada3eb]
jbe 0x428938
xor eax, 0x41ada3eb
add byte [0x38000000], bh
add byte [eax], al
add byte [ebx + 0x380041ad], ah
add byte [eax], al
add byte [0xcd000000], bh
push es
inc edx
add byte [eax + eax], al
add byte [edx + ecx*2], ah
inc edx
add byte [esi], dh
jp 0x44c28d
invalid
and al, 0x9c
push ebp
lea ebp, [esp + 8]
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], edi
pop dword [ebp + 0x44]
lea esi, [esp + 0x68]
lea edi, [esp + 4]
mov ecx, 4
or ecx, ecx
je 0x44c333
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
dec ecx
jne 0x44c32a
mov dword [ebp + 0x40], esp
mov dword [esp], 0x44c348
mov esi, 0x44c366
jmp dword [esi]