Function at 0x414ac0
Capabilities:
Check for vm using instruction vpcext
Encode data using xor

Disassembly:
rol dword [edi - 0x786f6467], 1
pop edx
wait
lds ecx, [esi]
mov edi, 0xd18fd510
ficomp word [esp + ecx - 0x45ef74f1]
lcall 0xd7ee, 0x5a87d1ca
pushfd
or al, 0xf
mov edx, dword [eax]
mov edx, 0x87d1ca9a
pop edx
out dx, al
xlatb
add al, 0xa2
lcall 0xf391, 0x73d9c5e2
push esi
sbb byte [eax - 0x7a], bh
mov byte cs:[ebx], dl
outsd dx, dword [esi]
pop ebx
out dx, eax
invalid
outsd dx, dword fs:[esi]
insb byte es:[edi], dx
jg 0x414b0b
xchg esp, eax
in eax, 0xa5
sub byte fs:[edi + 0x6f919b5a], al
jo 0x414a68
outsd dx, dword [esi]
js 0x414a58
invalid
jae 0x414b1d
fsub dword fs:[ebp + 0x56455964]
fsub dword [ebp + 0x56455964]
wait
lds ecx, [esi]
push cs
mov edi, 0xb57955d
ficom dword [eax + 0x524b3286]
lds ebx, [edx - 0xf]
outsw dx, word [esi]
and byte [esi + 0x6e], bl
js 0x414ae1
jae 0x414b0d
inc ecx
movsb byte es:[edi], byte [esi]
sub dword fs:[edi + 0x3d90d9ba], eax
pop esi
jnp 0x414ab7
cmp eax, 0x87d27b5e
loop 0x414a93
xchg edx, esp
stosd dword es:[edi], eax
invalid
wait
nop
xchg dword [edx - 0x65], ebx
outsd dx, dword [esi]
js 0x414ab8
nop
xchg dword [edx - 0x65], ebx
outsd dx, dword [esi]
js entry0
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg ecx, ebx
ja 0x414ac1
xchg esp, eax
inc eax
pop esi
mov edi, 0x9b182f7c
cdq
jl 0x414b4c
pause
neg dword [ebx]
wait
faddp st(0)
loop 0x414b83
adc bh, byte [ebp - 0x29a0df24]
cmp bl, dh
mov ecx, 0x90221c78
nop
xchg edi, eax
sbb bl, byte [ebx - 0x64a4bfef]
nop
xchg ebx, ebx
jne 0x414bd2
int1
push edx
jns 0x414b6e
imul ebx, dword [ebx - 0x65], 0xbbe08790
fcmovnb st(0), st(6)
pop edx
sbb bh, byte [edi + 0x25]
xchg esi, eax
scasd eax, dword es:[edi]
mov ah, 0x86
movsd dword es:[edi], dword [esi]
jae 0x414b2c
xchg dword [edx - 0x65], ebx
sub ebp, dword [ebp - 0x21aabfc9]
jae 0x414be9
sbb edx, dword [ebx - 0x7cabe782]
fistp dword [eax + edx - 0x49]
insd dword es:[edi], dx
fstp xword [eax - 0x6b]
pop esp
adc byte [edi - 0x6a872493], dh
pop edx
wait
nop
xchg byte [edx + edx*4 + 0x52a58667], ah
fld xword [esi - 0x7863a67b]
jae 0x414c09
cdq
jo 0x414bb0
stosb byte es:[edi], al
xchg ecx, eax
cmp dword [ebp - 0x24bbb578], esp
pop edx
xchg esp, eax
xchg dword [edx - 0x65], ebx
mov cl, 0x7c
or eax, 0xbb6811c0
adc dword [eax - 0x45], ebp
adc bh, byte [eax - 7]
arpl word [edx - 0x1b], cx
invalid
pop edx
wait
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
nop
xchg dword [edx - 0x65], ebx
sub al, 0x12
sub dword gs:[edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
adc ah, byte [ebp - 0x7d]
sub al, 0x12
sub dword gs:[edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + edx], 0x65
sub dword [edx + ebp*2], 0xe
mov bh, 0x6c
push cs
and eax, 0xf80762bc
invalid