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

Disassembly:
mov dword [esp], 0x4abe8a10
test ebx, ebx
call fcn.009a1f21
jl 0xbb95bc
jb 0xbb95be
out dx, al
pop ss
lahf
jo 0xbb9597
push ecx
sahf
lahf
jo 0xbb959d
sub esi, eax
aas
lahf
jo 0xbb95a3
pop ecx
out 0x1f, al
lahf
jo 0xbb95a9
jge 0xbb9603
scasd eax, dword es:[edi]
lahf
jo 0xbb95af
cdq
into
aaa
lahf
jo 0xbb95b5
insd dword es:[edi], dx
invalid
invalid
jbe 0xbb95df
cmc
or edi, dword [esi + 0x45a8c326]
stosd dword es:[edi], eax
add dword [ebx - 0x2ea6b647], eax
push 0x7c475b8d
jecxz 0xbb95b4
invalid
insd dword es:[edi], dx
test dword [edx], ecx
invalid
invalid
pop es
loopne 0xbb95fd
in eax, 0xae
sbb edx, ebp
sbb ebp, esi
nop
and dword [ecx - 0x6a], 0xffffff99
add byte [esi + 0x77], bh
jge 0xbb9672
push edx
lea eax, [eax]
clc
movsb byte es:[edi], byte [esi]
aas
leave
mov esp, 0x99571a80
push edi
cdq
xchg edi, eax
xor al, 9
jg 0xbb9671
sbb esp, dword [edx]
jnp 0xbb9620
adc al, 0xeb
add al, 0x8f
push esp
xchg eax, ebp
sbb eax, 0x68c18a00
aaa
xchg esi, eax
xchg esi, eax
cmpsb byte [esi], byte es:[edi]
sbb eax, 0x27a0bf71
or dword [edi + 0x72091b2b], ebp
popal
jb 0xbb96a8
cmp eax, 0xd052108d
cli
inc edi
std
mov dh, 8
clc
sub byte [ebx - 7], bl
ror dword [ecx - 0x319a4c89], 1
push eax
push ds
and byte [ebx], bl
dec esi
sar bh, 1
invalid
push ecx
salc
xchg dword [esi], esp
xchg ebx, eax
add dword [edx + 0x2b], ebx
mov dh, 0x2e
inc ecx
rcl ecx, 1
jne 0xbb96d6
aad 0x4a
js 0xbb969e
jmp 0xbb9645
pushal
fucompi st(7)
sub bh, byte [edi + 0x1e]
rcl dword [0x919cf41], cl
sbb dword [ecx], ecx
pop ecx
inc eax
insd dword es:[edi], dx
sti
out 0x83, eax
mov eax, 0x9aabf1be
ja 0xbb96b5
stosd dword es:[edi], eax
lcall 0xd13a, 0x7ff2fc77
mov ss, ebx
jle 0xbb96e1
bnd jg 0xbb96f6
ror dword [esi + 0x33207ed3], 1
rcr byte [ecx + eax*8 + 0x68], cl
push ebx
pop ss
xor edx, edx
pop esp
shr dword [eax + 0x53], 0x17
sti
pop edi
cmp ah, byte [ebx]
push es
test al, 0x8c
push ds
mov al, 0x9a
adc bh, byte [ebx - 0x76]
mov esp, 0xae8c3a9a
or al, 0x3f
mov bh, byte [edx + ebx*4 + 0xcae8c3a]
aas
fcom qword [edi + 0x63]
jne 0xbb9724
mov esi, 0x4144b235
jg 0xbb96fe
fnstcw word [edx]
mov ecx, 0xfde7d249
push dword [edi - 0x3d]
fdivr dword fs:[esi + 0x3ad1332a]
fdivr dword [esi + 0x3ad1332a]
inc esi
outsd dx, dword [esi]
in al, dx
out 0xd7, eax
adc byte [ebx + ebx*8 + 0xf], 0xb7
jg 0xbb9787
or byte [ebx + ebp], dh
retf
fnstenv [ebp - 0x15]
int1
out 0xc4, eax
xor dword [ecx + 0x57], esp
aas
stosd dword es:[edi], eax
sbb edi, dword [esi - 0x431098f6]
invalid
jae 0xbb97e6
add eax, 0xec1f20a2
dec eax
orps xmm5, xmm6
invalid
std
push ecx
setb byte [edx - 0x25]
xchg dl, bh
pop edi
cmp esp, dword [edi + 0x1d]
xor byte [edx], cl
inc al
insd dword es:[edi], dx
invalid
call 0xf2090986
cmp byte [eax - 0x3f48231f], 0x4f
pop edi
jo 0xbb97a8
xor bh, dl
sar dword [ecx + 0x62a62550], cl
jg 0xbb9820
invalid
xchg edx, eax
leave
inc ecx
jge 0xbb98a4
invalid
invalid
jns 0xbb9581
mov edx, 0xb737cb3f
add dx, 0x2b19
and dl, dh
movzx eax, byte [ebp]
sar edx, 0xa4
btr dx, 0x19
sub edx, edx
lea ebp, [ebp + edx + 1]
btc dx, 0x99
add edx, 0x23809fa5
xor al, bl
call fcn.0096e297
adc byte [esi - 0x4eb7d5f5], 0x23
or esi, edi
sti
cwde
popal
and ecx, dword [ecx]
dec byte [ebx]
and cl, bl
and ecx, dword [ecx]
invalid