Function at 0x459740
Capabilities:
Check for vm using instruction vpcext

Disassembly:
in al, 7
add eax, 0x962
bound ecx, qword [ecx]
add byte [eax], al
bound ecx, qword [ecx]
add byte [eax], al
imul al
add esp, esp
wait
loope 0x45963b
loop 0x459696
add dword [esp + ebp - 0x40], esp
pop edi
add al, byte [0xe1ff9c60]
pop ds
popal
add dword [ecx - 0x74], esp
loope 0x459650
popal
add dword [ecx - 0x65], esp
add dword gs:[ebx + 0x37], esp
and bh, dl
bound eax, qword [edi]
add al, 0
or byte [edx + 0x10], ah
add byte es:[ecx], ch
shl dword [ebx - 0x1c], 0xf0
arpl word [0xff0ce008], ax
and byte [eax + 0x203002d], 4
pushal
add byte [ebx], al
add al, byte [eax]
and eax, dword [ecx]
pushal
add byte [edi], dl
loope 0x45967b
jecxz 0x45966a
popal
daa
call 0x812a33c5
pop ebp
adc eax, esp
push edx
push es
add byte [edi], cl
bound esp, qword [esi]
add dword [eax], ecx
in al, 0x2b
loopne 0x4596a2
loope 0x45968f
out dx, al
loop 0x4596ac
add eax, esp
or al, byte [eax]
add ah, ch
push ebp
and eax, 0x601e219
loopne 0x4596b4
loopne 0x45960d
loopne 0x459692
mov ah, 0xff
and byte [ebx + 0x33], 8
arpl word [ebx], si
or byte [eax + 0x26], ah
popal
pushal
popal
or edi, edi
loopne 0x4596a0
jmp eax
jecxz 0x4596fe
add ah, byte [ecx + 0x14]
push es
add byte [ebp - 0x20], dl
push ebp
loopne 0x4596a4
add dword [edx + 0x28], esp
bound ebp, qword [eax]
sub al, ah
add dh, ch
loopne 0x4596a7
out dx, al
add al, ah
psraw mm3, qword [eax - 0x1d]
test eax, 0x60426004
pop eax
jecxz 0x459658
add al, 0x60
inc edx
pushal
or dl, ah
add ch, al
add eax, 0xae00600
loop 0x4596b8
call 0xe04b96c0
or ch, byte [edx - 0x2d1ff69e]
add byte [esi], al
loopne 0x4596c6
stosb byte es:[edi], al
bound ecx, qword [ecx]
loopne 0x459693
bound ecx, qword [ecx]
ja 0x4596a5
dec edi
loopne 0x4596de
loop 0x4596ec
add esp, ecx
sbb ah, byte [eax - 0x53]
pushal
sbb edi, edi
out 0xe2, eax
sbb al, 0xe1
and ah, cl
sbb byte [edi], ah
add byte [edx + 0x618b4036], al
mov edi, 0xe081555c
push edi
loop 0x4596fb
mov esp, dword [ecx - 0x41]
pop esp
push ebp
and eax, 0x6113e257
popal
aas
add byte [edx + 0x1d], ah
stosb byte es:[edi], al
outsd dx, dword [esi]
popal
add ah, byte [eax + 0x41]
sbb eax, 0x2616faa
pushal
inc ecx
popal
mov al, 0x61
adc dword [eax], eax
popal
sbb byte [ebx + eax*2], ah
out dx, eax
inc ebx
add bh, ch
popal
add eax, 0x53e141e0
loope 0x459709
jmp eax
arpl word [eax], ax
adc dh, ch
inc eax
or dword [eax], ecx
pushal
adc edx, dword [ebp - 0x18]
add esp, edx
sbb esp, dword [edx + 0x45]
in eax, 0x51
jo 0x45971f
add byte [ebp - 0x74], dl
loope 0x459756
push ebp
mov ecx, fs
xor esp, dword [eax + 0x23]
in al, 4
add edx, dword [ebp + 0x60]
pushal
and esp, esp
add al, 3
push ebp
pushal
or al, ch
loope 0x459736
and ecx, 0xc1e24264
invalid
loopne 0x459739
pushal
arpl word [eax + 0x2a], sp
loope 0x45973f
pushal
mov cl, 0xe0
add esi, ebp
nop
mov esi, 0xe301e002
inc ebx
jecxz 0x459726
popal
dec eax
loop 0x459751
or ch, ah
add dword [edx + 0x1d6200], edx
or byte [ecx + 0x3a], ah
in eax, 1
xchg edx, eax
add byte [edx + 0x1d], ah
add byte [eax], cl
popal
cmp bh, bh
mov al, byte [0x5410b5e1]
push esp
sbb eax, 0x3a610800
jmp dword [eax + 0x5410b5e1]
push ebx
dec esi
inc ebx
mov al, 9
add byte [edx + 0x54], dl
or byte [ebx + 0x41], dl
or esi, dword [eax + 0x726f570f]
insb byte es:[edi], dx
and byte [ebp + ecx*2 + 0x61], 0x74
jb 0x4597e3
js 0x4597dc
inc ebp
je 0x45977f
inc eax
and byte [ecx], al
inc dword [eax]
add cl, ah
add dword [eax], esp
das
add byte [ebp - 0x1b], bh
dec ebp
adc byte [ecx + eax + 0x71], dh
add byte [ebp - 0x4aac9aff], dh
add dword [eax], esp
sti
xor byte [edx], al
mov cl, 1
pshufw mm0, qword [eax], 0x2c
push edi
and eax, 0x92019002
pop es
add cl, byte [esi]
add byte [eax], 0x56
imul esp, dword [ebp + 0x77], 0x6fbc7250
push 0xffffffffffffffc3
pop es
add dword [edi], 0x7c501d1
or eax, 0xb28300c0
or dword [eax], esi
pop ebx
push ebx
arpl word [ecx + 0x6c], sp
and dword gs:[esi + eax*8], eax
jo 0x459810
add dword [ecx], eax
add bl, byte [eax + 0x45]
push esp
adc dword [edi], edi
mov byte [0x32c0fd04], al
add ah, al
pop ecx
mov eax, dword [0x66021001]
add dword [ecx + ebx*2], esp
xor al, byte [eax]
les ebx, [ecx - 0x5f]
add dword [eax], edx
add ah, byte [esi + 1]
and al, 0x59
popal
add dword [edi], ebx
mov al, 0x18
add word [esi + ebx*2 + 0x61], dx
add eax, edx
sub eax, 0x3c4d5000
inc ecx
push ebx
xchg ecx, eax
mov eax, dword gs:[0xcf04cf0b]
add al, 0xff
jmp dword [ebp - 0x31]
or byte [esp + edx*4 + 0x48], al
push ebx
adc cl, byte [edx]
and al, 0x91
add eax, 0x71e0fe03
cli
cmp dh, ah
jno 0x4597ce
xor dword [edx], ecx
xor byte [ecx], al
mov eax, dword [0xe171e501]
imul esp, dword [edi + 0x20], 0x21
int1
inc edi
mov cl, 0x24
add byte [eax + 0x31], ch
add dh, byte [eax]
add byte [eax + 0x67], bh
xor byte [eax], al
loopne 0x459879
mov cl, 0x38
add byte [eax + 0x2100b0], cl
cwde
cmp eax, 0x50020040
add dh, cl
add esi, dword [ebp + 2]
retf
add ah, ah
and byte fs:[ebx], ch
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [0x73342028]
add dword [eax + 0x39e0eb2b], esp
mov bl, 0
or ch, byte [edi - 0x5c]
loopne 0x459903
add al, 0x31
add ah, byte [ecx + 0xb3f788]
and dword [ebx], edi
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
add eax, 0x95e14160
xor dword [edx], eax
jno 0x4598ab
std
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
add byte [eax + 0x51], ah
pushal
push ecx
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
loopne 0x4598f3
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
loop 0x4598ec
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
jmp dword [eax + 0x64a46f39]
pop esp
xor byte [edi], dl
jecxz 0x45989e
or dword [edx + 0xc], esi
sahf
or al, 0x9e
add dh, dl
add cl, ah
lodsd eax, dword [esi]
add cl, ah
invalid
in al, 0x90