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

Disassembly:
add byte [eax + 0x17], dh
lea eax, [ecx]
add byte [eax], al
add dword [edx], ecx
push es
push ss
add bh, byte [ebx + 0x30]
add byte [eax], al
add al, 0x6f
sub al, 0
add byte [edx], cl
mov byte [0x292806], al
add byte [esi], al
sub al, byte [eax]
add byte [eax], al
adc esi, dword [eax]
add al, 0
and dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [ecx], dl
jb 0x427f09
adc al, byte [eax]
jo 0x427eb1
lea eax, [ecx]
add byte [eax], al
add dword [edx], ecx
push es
push ss
add bh, byte [ebx + 0x2d]
add byte [eax], al
add al, 0x6f
sub al, 0
add byte [eax], al
or ah, byte [edx + 0x292806]
add byte [eax], al
push es
add byte [esi], al
sub al, byte [eax]
add byte [eax], al
adc esi, dword [eax]
add al, 0
and byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [ecx], dl
jb 0x427e67
adc al, byte [eax]
jo 0x427ee1
lea eax, [ecx]
add byte [eax], al
add dword [edx], ecx
push es
push ss
sub byte [0x8c0a0000], ch
daa
add byte [eax], al
add dword [edx + 0x292806], esp
add byte [esi], al
sub bl, byte [ebx]
xor byte [esi], al
add byte [eax + 6], cl
add byte [eax], al
add eax, dword [eax]
add byte [ecx], dl
adc al, 0x13
or dword [ebx + edx], edx
or dh, byte [ebx + 0x2d]
add byte [eax], al
push es
adc ecx, dword [ebx]
add bh, byte [esi + 6]
add byte [eax], al
add al, 0x2d
adc dword [esi + edi*8], edx
push es
or eax, 0x73060000
add byte cs:[eax], al
add byte [eax], al
push es
jae 0x427f3c
add byte [eax], al
or al, byte [eax + 0x4000006]
jle 0x427f1e
add byte [eax], al
add al, 0x28
add dword [eax], eax
add byte [ebx], ch
sub eax, 0x77e0225
add byte [eax], al
add al, 0x2d
adc dword [esi + edi*8], edx
push es
push cs
add byte [eax], al
push es
jae 0x427f61
add byte [eax], al
or al, byte [eax + 0x4000007]
jle 0x427f44
pop es
add byte [eax], al
add al, 0x28
add dword [eax], eax
add byte [ebx], ch
sub al, 0xa
sub ebp, dword [edx + ecx]
jb 0x427fb4
add byte [eax], al
jo 0x427f75
daa
add byte [eax], al
push es
adc dword [ebx], ecx
jb 0x427f1e
or esi, dword [edx - 0x37]
adc al, byte [eax]
jo 0x427fd7
xor byte [eax], al
add byte [edx], cl
sbb dword [edi + 0x31], ebp
add byte [eax], al
or bh, byte [ebp + 0x25]
add byte [edx], cl
jge 0x427f8a
add byte [eax], al
add al, 0x28
xor al, byte [eax]
add byte [edx], cl
outsd dx, dword [esi]
xor eax, dword [eax]
add byte [edx], cl
sub byte [eax + eax], dh
add byte [edx], cl
or dl, byte [ecx]
or eax, dword [esi]
jb 0x427f52
adc al, byte [eax]
jo 0x427fa9
xor eax, 0x280a0000
add byte ss:[eax], al
or bh, byte [ebp + 0x26]
jge 0x427fb2
add byte [eax], al
add al, 0x11
or ebp, dword [eax]
aaa
add byte [eax], al
or bh, byte [ebp + 0x27]
add byte [eax], al
add al, 0x11
or edx, dword [ecx]
or edi, dword [ebx + 0x25]
add byte [eax], al
add al, 0x16
inc byte [ecx]
jge 0x427fd1
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x427fc3
or edi, esi
push es
add byte cs:[eax], al
push es
jae 0x427fd0
add byte [eax], al
or ch, byte [eax]
sub byte [eax], al
add byte [esi], al
adc dword [ebx], ecx
sub byte [eax], bh
add byte [eax], al
or bh, byte [ebp + 0x29]
add byte [eax], al
add al, 0x11
or edi, dword [ebx + 0x29]
jnp 0x427ffc
add byte [eax], al
add al, 0x6f
cmp dword [eax], eax
add byte [edx], cl
or esi, dword [edx + 0x6b]
add byte [eax], al
jo 0x427ff3
or edi, esi
push es
das
add byte [eax], al
push es
jae 0x428000
add byte [eax], al
or ch, byte [eax]
sub byte [eax], al
add byte [esi], al
adc dword [ebx], ecx
jb 0x427fe6
adc al, byte [eax]
jo 0x428023
xor al, byte [eax]
add byte [edx], cl
outsd dx, dword [esi]
add byte [eax], al
or ch, byte [edi + 0x33]
add byte [eax], al
or dh, byte [edx - 0x11]
xor eax, dword [eax]
add byte [edx], cl
jb 0x427ff5
adc al, byte [eax]
jo 0x428032
cmp al, byte [eax]
add byte [edx], cl
jge 0x42803a
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x42802a
or edi, esi
push es
xor byte [eax], al
add byte [esi], al
jae 0x428037
add byte [eax], al
or ch, byte [eax]
sub byte [eax], al
add byte [esi], al
add byte [edx], cl
sub byte [eax], ch
add byte [eax], al
push es
adc dword [ebx], ecx
adc dword [ebx], ecx
jnp 0x428059
add byte [eax], al
add al, 0x11
or edi, dword [ebx + 0x2a]
add byte [eax], al
add al, 0x7e
cmp eax, dword [eax]
add byte [edx], cl
outsd dx, dword [esi]
cmp al, 0
add byte [edx], cl
jge 0x42806f
jle 0x428077
add byte [eax], al
or ch, byte [edi + 0x3c]
add byte [eax], al
or bh, byte [ebp + 0x29]
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x428060
or edi, esi
push es
xor dword [eax], eax
add byte [esi], al
jae 0x42806d
add byte [eax], al
or ch, byte [eax]
sub byte [eax], al
add byte [esi], al
add byte [edx], cl
sub byte [eax], ch
add byte [eax], al
push es
push ss
or al, 7
adc dword [ebx], ecx
jnp 0x428090
add byte [eax], al
add al, 0x6f
cmp dword [eax], eax
add byte [edx], cl
xor ebp, dword [ecx]
jb 0x4280de
add byte [eax], al
jo 0x4280f5
or byte [eax], al
add byte [ebp + 0x6fe1411], al
sldt word [eax]
push es
jae 0x42809b
add byte [eax], al
or al, byte [eax + 0x4000008]
jle 0x428098
add byte [eax], al
add al, 0x28
sub byte [eax], al
add byte [esi], al
pop ss
or al, 0x11
or esi, dword [edx - 0xd]
adc al, byte [eax]
jo 0x4280b3
or edi, dword [ebx + 0x29]
add byte [eax], al
add al, 0x17
pop ss
lea esp, [eax + eax]
add byte [ecx], al
adc ecx, dword [ecx + edx]
or al, 0x16
jb 0x4280a8
adc al, byte [eax]
jo 0x42805b
adc dword [esi + edx], ecx
outsd dx, dword [esi]
cmp eax, 0x80a0000
sub byte [edx], al
add byte [eax], al
sub edi, dword [esi + 9]
add byte [eax], al
add al, 0x2d
adc dword [esi + edi*8], edx
push es
adc byte [eax], al
add byte [esi], al
jae 0x428105
add byte [eax], al
or al, byte [eax + 0x4000009]
jle 0x4280ea
add al, 0x7e
or dword [eax], eax
add byte [eax + ebp], al
add byte [eax], al
add al, 0x28
add eax, dword [eax]
add byte [ebx], ch
sub byte [eax], al
add byte [edx], cl
push ss
inc eax
add byte [eax], al
or dl, byte [esi]
lea ebp, [0x6f010000]
inc ecx
add byte [eax], al
or bh, byte [ebp + 0x2b]
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x428115
or edi, esi
push es
inc byte [esi]
xor al, byte [eax]
add byte [esi], al
jae 0x428122
add byte [eax], al
or ch, byte [eax]
sub byte [eax], al
add byte [esi], al
jb 0x428123
add al, byte [eax]
jo 0x428143
inc edx
add byte [eax], al
or ch, byte [0x6b723f]
add byte [eax + 0x7e], dh
imul eax, dword [eax], 0
add byte [eax], al
jo 0x4281a5
or al, byte [eax]
add byte [ebp + 0x6fe1411], al
adc dword [eax], eax
add byte [esi], al
jae 0x42814b
add byte [eax], al
or al, byte [eax + 0x400000a]
jle 0x42814a
add byte [eax], al
add al, 0x28
sub byte [eax], al
add byte [esi], al
sub byte [eax], ch
add byte [eax], al
push es
adc dword [ebx], ecx
jb 0x428143
not dword [edx]
add byte [eax + 0x11], dh
adc al, byte [eax]
jo 0x428161
or edi, dword [ebx + 0x2b]
add byte [eax], al
add al, 0x28
inc ebx
add byte [eax], al
or bh, byte [ebp + 0x2b]
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x428177
or edi, esi
push es
xor eax, dword [eax]
add byte [esi], al
jae 0x428184
add byte [eax], al
or ch, byte [eax]
sub byte [eax], al
add byte [esi], al
add bh, byte [esi + 0xb]
add byte [eax], al
add al, 0x2d
adc dword [esi + edi*8], edx
push es
adc al, byte [eax]
add byte [esi], al
jae 0x4281b6
add byte [eax], al
or al, byte [eax + 0x400000b]
jle 0x42819d
add byte [eax], al
add al, 0x28
add dword [eax], eax
add byte [ebx], ch
sub al, 0x32
adc dword [ebx], ecx
adc dword [ebx], ecx
jnp 0x4281c8
or edx, dword [ecx]
or edi, dword [ebx + 0x26]
add byte [eax], al
add al, 0x28
xor al, 0
sub byte [eax + eax], dh
add byte [edx], cl
jge 0x4281d3
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x4281c6
or dword [0xfe0b110f], ebp
sub eax, 0xfe0b110f
push es
xor al, 0
add byte [esi], al
jae 0x4281d7
add byte [eax], al
or dl, byte [ebx]
or dword [ecx], edx
or dword [eax], ebp
sub byte [eax], al
add byte [esi], al
add bh, byte [esi + 0xc]
add byte [eax], al
add al, 0x2d
adc dword [esi + edi*8], edx
push es
inc byte [esi]
adc eax, dword [eax]
add byte [esi], al
jae 0x42820d
add byte [eax], al
or al, byte [eax + 0x400000c]
jle 0x4281f5
add byte [eax], al
add al, 0x28
add dword [eax], eax
add byte [ebx], ch
sub al, 0x37
adc dword [ebx], ecx
pop ss
jge 0x42821d
add byte [eax], al
add al, 0x11
or edx, dword [esi]
jge 0x428228
add byte [eax], al
add al, 0x72
imul eax, dword [eax], 0
jo 0x428287
or eax, 0x2d040000
adc dword [esi + edi*8], edx
push es
sub eax, 0x6fe1411
adc al, 0
add byte [esi], al
jae 0x42822d
add byte [eax], al
or al, byte [eax + 0x400000d]
jle 0x42822f
invalid
add byte [eax], al
add al, 0x7e
add byte [eax], al
add al, 0x28
inc byte [esi]