Function at 0x412c83
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
pop dword [esp - 4]
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov bh, bh
jno 0x422847
jo 0x412c9b
nop
cpuid
ret
jo 0x422847
xor ecx, ecx
jb 0x41e78f
xchg cl, dh
xchg dh, cl
ja 0x40d9d1
jbe 0x41d1cf
fbld tbyte [esi]
pushal
push ecx
push 0xfc860fea
pop es
invalid
jbe 0x40d9d1
xor eax, 0x4326a0a0
add byte [eax], al
inc ecx
add byte [eax + 0x24], al
add byte [ecx], al
add byte [eax], al
in al, dx
add al, 0
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc ecx
add byte [eax], al
cmp al, 0
add byte [eax], al
hlt
sub ah, 0x8b
push es
jb 0x4368a1
mov bh, bh
je 0x4399e4
jne 0x422804
or al, 0xda
xchg ebp, eax
push 0xa
xchg cx, ax
xchg cx, ax
push esi
call fcn.00443cfe
add esp, 8
xor ax, ax
xor eax, eax
jb 0x422e72
shl ebx, 0x20
pop edi
pop esi
pop ebp
ret
lea esi, [esi + 0xc]
mov dword [ebx], eax
jne 0x44131a
je 0x422859
scasd eax, dword es:[edi]
jp 0x422817
scasd eax, dword es:[edi]
ror byte [edi], cl
test byte [ebx - 0x7dfffe16], bh
jb 0x4227f1
je 0x44131a
inc esp
push ebx
mov ebx, dword [ebp + 0x14]
jmp 0x42286c
push edi
jmp 0x42286f
push ebx
lea ecx, [ecx]
jmp 0x422874
push eax
call fcn.00454990
push edi
mov esi, eax
call fcn.0042b226
and eax, eax
add esp, 0x14
test esi, esi
jb 0x438c9c
jmp fcn.0040cdc3
div dword [ebx + edi]
mov dword [ebp + 0x24], eax
xchg bx, bp
xchg bp, bx
mov ax, ax
mov dword [ebp + 0x2c], edx
jmp dword [esi]
stosd dword es:[edi], eax
jecxz 0x422e5e
clc
mov eax, 0x7825ffff
xchg bx, bp
and eax, 0xeb876678
xchg bp, bx
push 0x18
jmp 0x42f1e2
push esi
pop edi
mov dh, dh
pop esi
push 0x40f454
ret
fiadd dword [ebx - 0x79]
mov byte [ecx], al
sub al, 0
add byte [eax], al
and al, 0
add byte [eax], al
and byte [eax], dh
inc ebx
add byte [edi - 0x5fffbea1], ah
inc ebx
add byte [eax], al
popal
add byte [eax + 0x28], al
add byte [ecx], ah
add byte [eax], al
inc dword [eax]
add byte [eax], al
add byte [edx], dl
add byte [eax], al
add byte [edx], al
add byte [eax + eax], ch
add byte [eax], al
dec esi
mov ecx, 0xf51d0040
inc ecx
add byte [eax + eax], bh
add byte [eax], al
cmp al, 0
add byte [eax], al
lcall 0, 0x2c00429a
add byte [eax + eax], ah
add byte [eax], al
and byte [eax], dh
inc ebx
add byte [eax], dl
xor dword [eax + eax + 0x31], eax
xor dword [ecx], eax
cmp al, 0
add byte [eax], al
cmp al, 0
add byte [eax], al
inc edx
mov dword [edx], 0xf1
and al, 0
add byte [eax], al
and byte [eax], dh
inc ebx
add byte [eax], ah
xor dword [eax + eax + 0x3b], eax
sbb eax, dword [ebx]
push edx
add byte [eax], al
add byte [eax + eax], ah
add byte [eax], al
loop 0x436905
inc edx
add bh, bh
add byte [eax], al
add byte [eax + eax], ah
add byte [eax], al
and byte [eax], dh
inc ebx
add byte [edi], bl
call 0x5ced6980
inc edx
add byte [eax], bh
add byte [eax], al
add byte [edx + 0x40004327], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
xchg ebp, eax
rol dword [ebx], 0x17
out 0xb4, al
sti
inc ebx
add byte [eax], bh
add byte [eax], al
add byte [eax + eax], ah
add byte [eax], al
mov ah, 0xfb
inc ebx
add byte [eax + eax], ah
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
in eax, dx
aaa
inc edx
add byte [edi - 0x3fffbfb3], bl
std
inc eax
add byte [ebx + 0x51004369], al
pop esi
cmp esi, dword [edx + 0x7e]
sar ch, 0x40
add byte [edi - 0x27ffbfb3], bl
mov sp, bp
invalid
cmp dword [edi + 0x3c], 8
jae 0x41d1b5
jb 0x4399f5
pop ss
sbb eax, 0x57e4850f
invalid
jne 0x42f1df
je 0x439a01
cpuid
inc edx
ret
je 0x42f1df
mov edx, dword [esi + 8]
mov eax, dword [ebp + eax]
shr bp, 0x40
lea esi, [esi + 0xc]
sub dword [ebx + edx], eax
shr edi, 0x40
jmp dword [esi]
jmp dword [esi]