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

Disassembly:
movzx ecx, word [edi + ecx*2]
sub esp, 0xfffffff8
sbb di, di
mov edi, dword [edx + 0x1c]
clc
add edi, eax
call fcn.0051876b
add byte [eax], al
push ebx
je 0x4a15a8
push 0x64616572
inc esp
jae 0x4a15c8
je 0x4a15ce
jo 0x4a1561
add byte [eax], al
push ebx
push 0x456c6c65
js 0x4a15d0
arpl word [ebp + 0x74], si
inc ebp
js 0x4a15c9
add byte [eax], al
add byte [ecx + 0x6e], cl
je 0x4a15de
jb 0x4a15e9
je 0x4a15d1
je 0x4a15d0
jo 0x4a15f7
imul ebp, dword [edi + 0x6e], 0x80f90057
sti
or esi, ebp
movzx ecx, word [edi + ecx*2]
shl edi, cl
and di, 0x5aa1
bt bx, 6
sub di, 0xbeb
mov edi, dword [edx + 0x1c]
test ch, dh
pushfd
sub esp, 0xfffffff8
jb 0x4b600e
add edi, eax
test ah, ah
push 0x33039b25
stc
bt cx, dx
mov edi, dword [edi + ecx*4]
test edi, ecx
cmc
test edi, edi
push dword [esp]
xor al, 0x24
and al, 0xe8
iretd
call fcn.004b599e
add dh, bh
ret
bswap eax
bt eax, 5
or edi, dword [edx]
add byte [eax], al
clc
stc
repne scasb al, byte es:[edi]
call fcn.004b57f0
add byte [eax], al
inc edi
je 0x4b46ea
jne 0x4b471b
jb 0x4b4710
outsb dx, byte [esi]
je 0x4b46f2
imul esi, dword [edx + 0x65], 0x726f7463
jns 0x4b470e
add byte [ecx], al
invalid
je 0x4b4740
push 0x64616572
push eax
jb 0x4b475d
outsd dx, dword [esi]
jb 0x4b4760
je 0x4b4772
add byte [eax], al
add byte [esi + 0x72], al
inc ebp
outsb dx, byte [esi]
jbe 0x4b476d
jb 0x4b4775
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x4b475f
jae 0x4b476a
add cl, bh
nop
adc bh, dh
adc al, 0x20
adc eax, 0x298bbc5
and byte [0x298bbc5], dl
add bh, al
clc
shr byte [edx + 0x7e3c5ef2], 0x2b
lea esp, [esp + 0x24]
jne fcn.004b481b
neg ch
shld esi, esp, 1
setne ch
mov ch, 0x6d
mov ecx, edi
inc esi
pushal
bsr si, di
btc si, 0xf
sub ecx, ebx
sal si, 2
lea esi, [esp + 0x20]
stc
mov word [esp + 0x10], 0xf4b1
cmp cx, 0x1f92
sub edi, 4
test dl, dh
cmc
jmp 0x4e3513
bt dx, bx
cmp bl, 0x30
add edi, eax
jmp 0x5187b7
pushal
mov dword [esp + 8], 0x444917d6
mov dword [esp + 0xc], 0xa1df2e28
push 0x9d81d285
lea esp, [esp + 0x24]
ja 0x4da3ad
or al, ah
inc al
and al, dl
sub ebx, edi
or al, bl
sub di, 0x2896
add ebx, esp
and al, bh
rol al, 1
mov edi, ebx
ror al, 1
setle al
jmp 0x517b95
jmp 0x4b5333
cmc
push dword [edi]
pop dword [esp + 0x1c]
mov byte [esp + 8], 0x3a
cmp edi, ebx
lea esp, [esp + 0x1c]
jbe 0x4d74a2
pushfd
pushal
lea esp, [esp + 0x24]
ja 0x4da3ad
adc al, 0x8f
pushal
push edi
sub ebx, edi
not di
ror di, 0xf
add esp, 0x24
add ebx, esp
adc di, bp
btc di, 2
mov edi, ebx
adc al, bh
mov al, 0x2e
jmp 0x4b4698
pushfd
jmp 0x4a1539
mov al, 0x2e
pushfd
call fcn.00517b4c
add byte [eax], al
push ebx
je 0x517bf6
jb 0x517c1c
imul esp, dword [ebx + 0x65], 0x74617453
jne 0x517c22
add byte [eax], al
add byte [ebp + 0x6e], al
jne 0x517c23
push ebx
jns 0x517c2c
je 0x517c20
insd dword es:[edi], dx
dec esp
outsd dx, dword [esi]
arpl word [ecx + 0x6c], sp
jae 0x517c05
add dh, dh
shr cl, 1
xchg ecx, eax
wait
clc
inc dword [eax]
add byte [ebx + 0x79], dl
jae 0x517c46
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x69466f54
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0xf4ac2400
outsb dx, byte [esi]
jmp 0x6d761388
push edx
cmpsb byte [esi], byte es:[edi]
fcomp qword [ecx + esi*8 - 0x1a]
adc byte [edi - 0x43410c8], dh
fsubr dword [edi]
adc al, 0x73
jg 0x517b8f
jae 0x517c86
xchg ecx, edx
mov esp, 0xef83ad7c
sbb dh, al
mov gs, eax
mov bh, 0x80
hlt
sar dword [esp + edi*2 + 0x1aef83ad], 1
invalid
int3
or eax, 0x19a042fa
mov bh, 0xfc
sbb dword [edi - 0x590b8c04], esi
cld
jae 0x517c19
cmpsb byte [esi], byte es:[edi]
stosb byte es:[edi], al
lahf
add esi, dword [edx + esi]
into
cmpsd dword [esi], dword es:[edi]
mov word [edi - 0x7aed589e], gs
invalid
clc
adc byte [edx + 0x26], 0x3c
jnp 0x517cc5
push ss
call 0x56433287
add bl, ch
add bl, ch
push es
out 0xef, eax
add al, 0x5c
fld xword [ebx - 0x41]
xchg ecx, ebx
rcl ebx, 1
lea ebp, [ebx + 0x2adfa7a4]
jnp 0x517c54
imul esp, eax, 0x997255ba
wait
int3
inc ecx
into
xor eax, 0xe42b99b7
push ss
movsd dword es:[edi], dword [esi]
invalid
fidivr dword [edi + 0x5f]
xor ecx, dword [eax]
lcall 0xfb9f, 0xbc37818f
pop edi
sahf
insd dword es:[edi], dx
mov dword [0xba1ca8f6], eax
inc ebp
pop ss
push 0x49f7a863
jo 0x517d00
ret
pop edi
scasd eax, dword es:[edi]
fld st(7)
or al, 0xbe
xchg ebx, eax
lodsd eax, dword [esi]
insb byte es:[edi], dx
shr dword [ecx + 0xc], 1
outsb dx, byte [esi]
or cl, byte [edi - 0x2e]
loop 0x517d04
call dword [0x5514289f]
adc eax, 0x5514289f
cmp dword [ebp + 0x1fe449f2], ebp
sub dh, byte [eax + 0x2b]
insb byte es:[edi], dx
jo 0x517cf2
ret
call fcn.005185ff
push 0xd0b210e6
lea esp, [esp + 0x30]
jb fcn.004b4822
cmp ch, ch
cmp eax, dword [ebp - 0x10]
pushfd
lea esp, [esp + 4]
jae fcn.004b4822
xchg cl, bh
lea ecx, [edx - 0x18f75ca5]
mov ebx, eax
clc
or di, ax
bsr cx, ax
movsx cx, bl
mov edi, eax
sal ch, 2
shld cx, si, cl
sar cl, cl
pushfd
mov ecx, 0x104
cmp bl, bh
xor al, al
cmc
bt eax, 4
bt ax, sp
pushal
repne scasb al, byte es:[edi]
jmp 0x4e303b
mov edi, dword [edi + ecx*4]
cmp sp, 0xa9e0
test edi, edi
call fcn.004da924