Function at 0x42f39c
Capabilities:
Authenticate hmac

Disassembly:
mov bl, 0x80
add dword [eax], eax
add al, 0
add byte [eax], al
add eax, dword [eax]
xor byte [edx], ch
add al, byte [edx]
nop
or dword [eax], eax
jo 0x42f3c3
push es
dec eax
add eax, dword [eax]
add byte [edx], 0
in al, 4
add al, 0
pop es
add byte [eax + eax], bl
push eax
jb 0x42f431
push 0x65
arpl word [ebp + eax + 0x51], si
arpl word gs:[ebp + eax + 0x51], si
add byte [eax], ch
add byte [eax], al
inc eax
add dl, byte [esi + eax]
add dl, byte [edi + 0x70a02ad]
add ch, byte [ecx + eax + 0x14]
or byte [esi], al
adc cl, byte [ecx]
add dl, byte [edx]
add bh, 0x4e
dec esi
rcr byte [eax + ecx], 1
or al, 2
dec edx
adc bh, byte [edx + eax]
or dl, byte [esi]
add byte [ecx], al
jb 0x42f467
je 0x42f45a
adc byte [edi + 0x6c], ch
add bl, byte ds:[ecx]
jae 0x42f3ff
je 0x42f401
add byte [eax + eax + 0x6f], ah
add byte [eax + eax + 0x65], ch
push eax
add byte [0x25006800], cl
pop esi
add byte [ebx], al
sub al, byte [eax]
pop esp
inc edi
jnp 0x42f449
xor byte [eax], dh
xor dh, byte [eax]
mov al, 0x34
xor esi, dword [eax]
sub eax, 0x4040800
inc ebx
add byte [edx], cl
add eax, dword [edx]
push cs
add dword [edx], edx
xor byte [eax], dh
xor al, 0x36
jge 0x42f457
jge 0x42f457
add byte [edx], dh
xor byte cs:[ebx], ah
xor byte [ebx], ah
inc ebx
cmp al, byte [eax]
pop esp
push edi
imul ebp, dword [esi + 0x64], 0x73776f
pop esp
push ebx
jns 0x42f4be
je 0x42f4b2
insd dword es:[edi], dx
xor eax, dword [edx + esi]
pop esp
add esp, dword [ebp + 0x32]
je 0x42f4c4
insb byte es:[edi], dx
bound eax, qword [eax]
and ecx, dword [edi + 0x4c]
inc ebp
and byte [ecx + 0x75], al
je 0x42f3e3
outsd dx, dword [esi]
insd dword es:[edi], dx
popal
je 0x42f4d1
imul ebp, dword [edi + 0x6e], 0x36000
add al, byte [ebx + 0x726f4e45]
insd dword es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [eax + 3], ah
add byte [edx], al
add dword [ebp + 0x4e], 0x6f
jb 0x42f4e2
popal
insb byte es:[edi], dx
add eax, 0x804e4583
inc ebx
jb 0x42f47f
insd dword es:[edi], dx
add byte [ecx + 0x51], ah
add byte [esi + 0xe], 0
sub al, 0x80
adc dword [ecx], ecx
add byte [ecx], 0x2a
adc al, 0x5c
inc ebx
add edx, dword [edx]
adc eax, 0x2e2e0603
pop esp
arpl word [esi], ax
add dword [ebx], eax
or al, 0xa0
sub eax, esp
xor byte [ebx - 0x7d], 0x27
dec edi
adc byte [esi + 0x66], ah
imul esp, dword [ebx - 0x7c], 0x66004f6d
push ecx
add byte [eax], 0x69
add byte [ebx - 0x7e], ah
insd dword es:[edi], dx
sahf
add byte [edi], bl
add byte [ecx], ch
arpl word [edx + 0x1f009e6d], ax
xchg esp, eax
add dword [edx], eax
and dword [edi + 0x7b], eax
xor al, byte [esi + eax*2 + 0x38]
inc esp
add byte [eax], dh
cmp byte [eax + eax + 0x30], al
xor al, 0x43
sub eax, 0x41464235
add byte [0x42313031], ch
sub eax, 0x45a44442
xor dword [eax], esi
xor dword [edx + 0x2d], eax
inc edx
inc esp
movsb byte es:[edi], byte [esi]
inc ebp
xor eax, 0x41416d80
sub byte [ebx + 0x34], 0x80
add eax, 0x6d883206
add al, 0x67
jb 0x42f54e
add byte [0x6d883206], 0x80
shl byte [edi + 0x72], 0x61
insd dword es:[edi], dx
and byte [eax], al
inc esi
imul ebp, dword [ebp + 0x73], 0x106f435c
insd dword es:[edi], dx
insd dword es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, 6
dec ebp
imul esp, dword [ebx], 0x6f736f72
je 0x42f52a
push ebx
add byte [eax + 0x61], ch
jb 0x42f575
pop esp
dec edi
inc esi
add byte [esi + 0x49], al
inc ebx
inc ebp
xor dword [esi], esi
pop esp
dec ebp
adc byte [ebx + 0x4f], 0x2e
inc esp
dec esp
dec esp
and eax, dword [edi + 0x4d830110]
and byte [ecx], dh
xor byte cs:[eax], ah
dec edi
add ah, byte [edx - 0x3f]
je 0x42f556
dec esp
imul esp, dword [edx + 0x72], 0x79722c61
and byte [0x82160080], 0x7b
dec ebp
push ebx
inc edx
inc esi
rol byte [ebx + esi*2 + 0x3e], 0
push cs
add byte [ecx*2 + 0x530010], 0x46
inc esi
test byte [ebp + 0x73], al
add byte [ebx], dh
or dword [eax + 2], eax
add byte [eax], al
add ah, byte [edi + 0x44]
xor al, 0x35
xor al, byte [eax]
inc ebp
inc ebp
xor dword [0x46383045], ebp
adc dword [ecx], eax
xor byte [ecx + 0x2d], al
cmp byte [eax], al
add al, 0x2d
xor byte [edx], dh