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

Disassembly:
bsr bx, sp
mov bx, word [esi]
bt di, bp
call fcn.006d88ba
push 0x43b4af5b
pushfd
lea esp, [esp + 0x34]
je 0x6ca937
jne 0x740b8c
test dx, 0x1e5d
clc
add eax, edi
pushfd
clc
cmp dh, bl
cmp eax, edx
push esi
push esi
lea esp, [esp + 0xc]
jb 0x6ca93d
cmp dl, 0xfe
cmp eax, dword [esp]
push 0x8b830738
push eax
call fcn.006d019d
add byte [eax], al
push ebx
outsb dx, byte gs:[esi]
inc esp
insb byte es:[edi], dx
dec ecx
je 0x6ca173
insd dword es:[edi], dx
dec ebp
jae 0x6ca186
popal
inc ecx
add byte [eax], al
add byte [ebp + 0x6e], dl
jb 0x6ca183
imul esi, dword [bp + di + 0x74], 0x6c437265
popal
jae 0x6ca19c
inc ecx
add byte [eax], al
add byte [edi + 0x65], al
je 0x6ca184
jne 0x6ca195
dec ebp
outsb dx, byte gs:[esi]
jne 0x6ca138
add byte [eax], al
push esi
imul esi, dword [edx + 0x74], 0x506c6175
jb 0x6ca1b3
je 0x6ca1ab
arpl word [eax + eax], si
add byte [ecx + 0x6d], cl
popal
dec esp
imul esi, dword [ebx + 0x74], 0x6172445f
ja 0x6ca15a
shr dword [ebx - 0x34], cl
arpl word [ecx + ebx*2 - 0x20084c42], ax
nop
mov dh, dl
mov dword [0x7a22aad3], eax
push ecx
xchg esp, eax
push 0xfffffffffffffffe
lcall 0xd2a3, 0x1540b93c
sbb dword [ebx], esi
inc eax
adc eax, 0x3319d2a3
jge 0x6ca1d1
jnp 0x6ca16c
hlt
mov ebx, ecx
lcall 0xa869, 0xdd9c7e12
retf
lcall 0xa869, 0xdd9c7e12
jg 0x6ca205
adc al, 0xd2
add al, 0xd5
cdq
invalid
leave
in eax, dx
push edi
xor dword [eax], ebx
rcr esi, 0xeb
cmp eax, 0x213f0fec
push ebp
jmp 0x6ca1db
push ebp
ja 0x6ca1a3
std
inc ebx
cmpsd dword [esi], dword es:[edi]
inc ebx
div dword [esi]
retf 0xa62e
scasd eax, dword es:[edi]
adc dword [edx - 0x470446dc], ecx
pop eax
inc esi
int3
imul ecx, dword [ecx + 0x7f], 0x2a06858d
jg 0x6ca221
retf
pushfd
xchg ecx, eax
sub eax, 0xae641a40
xor dword [esp + eax*4 + 0x52], 0x4f
mov cl, 0xa6
or esi, dword [eax + 0x1c562d00]
mov eax, dword [0x959792ac]
aaa
das
adc byte [eax + 0x3f3908c8], bh
xlatb
and dword [ecx + ebp*8], esp
stosd dword es:[edi], eax
cmp al, ah
sbb eax, 0x1d8870d
lodsb al, byte [esi]
imul ebp, dword [edx + 0x715cb026], 0x48
xchg eax, ebx
add dword [ebx + ebp*2 + 0x5cb026aa], ebp
jno 0x6ca258
lahf
dec edx
inc ecx
and al, 0x50
push edx
les ebp, [ebx - 0x4e]
js 0x6ca1a5
sbb ah, al
sal cl, 1
cli
and byte [ecx], ch
jecxz 0x6ca1f6
invalid
and esp, dword [ebx]
mov esp, 0x5d549498
sub ch, bh
add byte [eax], al
insd dword es:[edi], dx
imul esp, dword [ecx + ebp*2 + 0x4f], 0x72507475
jo 0x6ca2d0
jb 0x6ca2d6
dec eax
popal
jb 0x6ca278
add byte [eax], al
inc edi
je 0x6ca2d4
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x6ca2ef
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
jb 0x6ca2f6
insd dword es:[edi], dx
popal
je 0x6ca2f5
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ecx
add byte [ecx], ch
loope 0x6ca288
cmpsb byte [esi], byte es:[edi]
sbb esi, dword [ebx + 8]
cmp ah, byte [edx - 0x3a]
invalid
push edx
jmp 0x6ca2e1
or al, 0x3f
mov byte [0xfec3dc9], al
invalid
outsb dx, byte [esi]
shl ch, 0xee
push cs
dec edx
popfd
int3
xlatb
pop ss
ljmp 0xf162
mov bh, 0x62
int1
sub al, 0x5d
lodsd eax, dword [esi]
sub al, 0xc
in eax, 0xe6
popal
push esi
fsub dword [edx + 0x5d202864]
or eax, 0xdbbfc229
stosd dword es:[edi], eax
daa
xchg ebx, eax
insb byte es:[edi], dx
jmp 0xf8cd5d1b
pushal
clc
invalid
clc
jmp 0x6d8279
push ebp
lea esp, [esp + 0x10]
je 0x6ca0b1
pushal
pushfd
lea esp, [esp + 0x24]
jmp 0x740e68
push 0xc67256a0
cmp ebx, 3
pushfd
jmp 0x84c081