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

Disassembly:
add byte [eax], al
jg 0x637de1
aas
inc esp
outsd dx, dword [esi]
dec ebp
je 0x637e4b
je 0x637e4b
outsd dx, dword [esi]
inc eax
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x637e3e
jb 0x637e5f
js 0x637e6b
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
dec edx
dec eax
push eax
inc ebp
inc ecx
inc esp
inc eax
pop edx
add byte [ebx], ch
or dword [edi], edi
dec ecx
outsb dx, byte [esi]
imul esi, dword [eax + eax*2 + 0x45], 0x656d656c
outsb dx, byte [esi]
je 0x637e6a
jb 0x637e8b
js 0x637e97
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
dec ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push esi
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x637e7a
xor al, byte [eax + 0x40]
pop edx
add byte [eax], al
pushal
or al, 0x3f
push edx
imul esi, dword gs:[bp + di + 0x74], 0x54407265
inc eax
push esp
outsd dx, dword [esi]
jne 0x637eb3
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x637e9d
inc esp
imul esi, dword [edx + 0x65], 0x49557463
jb 0x637ec6
arpl word [ebp + edx*2 + 0x49], si
inc eax
inc eax
push ebx
inc ecx
dec edx
pop eax
pop edx
add byte [eax], al
salc
or dword [edi], edi
dec ecx
jae 0x637ec4
popal
je 0x637eeb
jb 0x637ee8
push ebx
jne 0x637eed
jo 0x637eee
jb 0x637ef5
inc eax
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x637edc
push eax
jb 0x637efd
js 0x637f09
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
push ebp
dec ecx
inc eax
inc eax
dec ecx
inc ebp
inc ecx
inc ecx
dec edx
push edi
xor al, 0x50
popal
je 0x637f1a
jb 0x637f17
inc eax
push ebx
arpl word [eax + 0x65], bp
insd dword es:[edi], dx
popal
inc eax
xor al, byte [eax + 0x50]
push eax
inc ebp
inc ecx
pop edi
dec esi
inc eax
pop edx
add byte [eax], al
sbb eax, dword [0x6572433f]
popal
je 0x637f2a
push eax
push eax
popal
je 0x637f3d
jb 0x637f3a
push eax
jb 0x637f3e
jbe 0x637f3a
jb 0x637f15
push ebx
arpl word [eax + 0x65], bp
insd dword es:[edi], dx
popal
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebx
inc ecx
dec edx
push edi
xor al, 0x50
push eax
popal
je 0x637f63
je 0x637f55
jb 0x637f60
jb 0x637f60
inc eax
xor dword [edx], esi
inc eax
push eax
inc ebp
inc ecx
push esi
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x637f52
jb 0x637f73
jbe 0x637f6f
jb 0x637f4a
inc eax
xor al, byte [eax + 0x50]
inc ebp
inc ecx
push eax
inc ebp
inc ecx
push ebp
dec ecx
push ebp
outsb dx, byte [esi]
imul ebp, dword [esi + 0x6f], 0x77
outsb dx, byte [esi]
outsd dx, dword [esi]
ja 0x637f89
outsb dx, byte [esi]
inc eax
inc eax
inc eax
pop edx
add byte [eax + 0x65473f06], al
je 0x637f6a
insb byte es:[edi], dx
popal
jae 0x637f9e
jae 0x637f75
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
push eax
je 0x637fa4
inc eax
push esp
outsd dx, dword [esi]
jne 0x637f9a
push 0x444e5748
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x637f84
inc esp
imul esi, dword [edx + 0x65], 0x49557463
push ebp
dec ecx
inc eax
inc eax
push ebx
inc ecx
push eax
inc ebp
inc ecx
push ebp
dec ecx
inc ebx
insb byte es:[edi], dx
popal
jae 0x637fcd
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
inc eax
xor al, byte [eax + 0x58]
inc eax
pop eax
pop edx
add dh, al
add byte [edi], bh
aas
xor byte [esi + 0x61], cl
popal
je 0x637fd6
jbe 0x637fd4
dec eax
push edi
dec esi
inc esp
dec eax
outsd dx, dword [esi]
jae 0x637feb
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ecx
inc ebp
inc ecx
inc ecx
inc eax
pop eax
pop edx
add byte [eax + 0x313f3f01], ch
dec esi
popal
je 0x637ffc
jbe 0x637ffa
dec eax
push edi
dec esi
inc esp
dec eax
outsd dx, dword [esi]
jae 0x638011
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
push ebp
dec ecx
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
inc eax
pop eax
pop edx
add byte [ebx], bh
add dword [edi], edi
aas
xor byte [edi + ebp*2 + 0x75], dl
arpl word [eax + 0x48], bp
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638006
inc esp
imul esi, dword [edx + 0x65], 0x49557463
dec ecx
inc eax
inc eax
push ecx
inc ebp
inc ecx
inc ecx
inc eax
pop eax
pop edx
add bh, cl
add dword [edi], edi
aas
xor dword [edi + ebp*2 + 0x75], edx
arpl word [eax + 0x48], bp
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x63802e
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
inc eax
pop eax
pop edx
add byte [ebx], ch
or edi, dword [edi]
dec edi
outsb dx, byte [esi]
push eax
jb 0x638077
jo 0x63806f
jb 0x638080
jns 0x638051
push 0x65676e61
inc eax
inc eax
push esp
outsd dx, dword [esi]
jne 0x63807c
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638066
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc edx
push ebp
push eax
jb 0x6380ab
jo 0x6380a3
jb 0x6380b4
jns 0x63808b
outsb dx, byte [esi]
outsw dx, word [esi]
inc eax
xor al, byte [eax + 0x48]
push eax
inc ebp
inc ecx
push esi
push esi
popal
insb byte es:[edi], dx
jne 0x6380b7
inc eax
inc eax
xor al, byte [eax + 0x31]
inc eax
pop edx
add byte [eax], al
sahf
or bh, byte [edi]
dec edi
outsb dx, byte [esi]
inc edi
jb 0x6380d1
jne 0x6380d4
inc ebx
push 0x65676e61
inc eax
popal
outsb dx, byte [esi]
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6380b8
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
arpl word [ebp + edx*2 + 0x49], si
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
dec eax
pop edi
dec esi
inc eax
pop edx
add byte [eax], al
ror byte [edx], 0x3f
dec edi
outsb dx, byte [esi]
dec ecx
outsb dx, byte [esi]
jo 0x63810c
je 0x6380d9
push esp
outsd dx, dword [esi]
jne 0x638100
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6380ea
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push ebp
dec ecx
outsb dx, byte [esi]
jo 0x638136
je 0x638108
jbe 0x63812a
outsb dx, byte [esi]
je 0x638108
xor al, byte [eax + 0x40]
pop edx
add byte [eax], al
int3
dec edi
outsb dx, byte [esi]
dec ebx
jns 0x63811d
outsd dx, dword [esi]
arpl word [ebp + 0x73], si
jne 0x63814e
dec ebp
outsd dx, dword [esi]
jbe 0x638144
inc eax
push esp
outsd dx, dword [esi]
jne 0x638148
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638132
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push esi
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x63814d
inc eax
xor al, byte [eax + 0x30]
inc eax
pop edx
add byte [eax], al
or dword [edx], 0x3f
dec edi
outsb dx, byte [esi]
inc esp
jae 0x638191
jb 0x63818e
jns 0x638161
push esp
outsd dx, dword [esi]
jne 0x638188
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638172
inc esp
imul esi, dword [edx + 0x65], 0x49557463
arpl word [ebp + edx*2 + 0x49], si
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
pop eax
pop edx
add byte [edx + ecx + 0x456e4f3f], dl
xchg esp, eax
or bh, byte [edi]
dec edi
outsb dx, byte [esi]
inc ebp
jbe 0x6381b1
outsb dx, byte [esi]
je 0x63818f
inc eax
push esp
outsd dx, dword [esi]
jne 0x6381b6
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6381a0
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push ebp
inc ebp
jbe 0x6381db
outsb dx, byte [esi]
je 0x6381b9
xor al, byte [eax + 0x40]
pop edx
add byte [eax + 0xa], cl
aas
dec ebp
jae 0x6381f8
popal
inc ebx
inc ebx
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
bound esp, qword [ecx + 0x63]
arpl word [ebx + 0x40], bp
imul eax, dword [eax + 0x54], 0x6f
push esp
outsd dx, dword [esi]
jne 0x6381f8
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6381e2
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
dec ecx
push eax
inc ebp
inc ecx
push ebp
je 0x638218
popal
inc edi
dec ebp
push ebx
inc edi
inc eax
inc eax
inc eax
pop edx
add byte [eax], al
invalid
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638224
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push esi
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x63823f
xor al, byte [eax + 0x40]
pop edx
add byte [edi + 0x63413f03], ah
je 0x638274
jbe 0x63826e
je 0x638274
push esp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
je 0x63827e
jo 0x638257
push esp
outsd dx, dword [esi]
jne 0x63827e
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638268
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push esi
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638283
xor al, byte [eax + 0x4b]
inc eax
pop edx
add byte [eax], al
cdq
or al, 0x3f
push edx
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x6382b8
push esp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
je 0x6382c2
jo 0x63829b
push esp
outsd dx, dword [esi]
jne 0x6382c2
push 0x444e5748
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6382ac
inc esp
imul esi, dword [edx + 0x65], 0x49557463
jb 0x6382d5
arpl word [ebp + edx*2 + 0x49], si
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push esi
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6382c7
xor al, byte [eax + 0x40]
pop edx
add byte [0x65473f06], al
je 0x6382d4
arpl word [ebx + 0x65], sp
jae 0x63830b
imul esp, dword [edx + 0x6c], 0x706d4965
insb byte es:[edi], dx
dec ecx
insd dword es:[edi], dx
jo 0x63830c
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6382ed
inc eax
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
dec edx
push eax
inc ebp
inc ecx
push eax
inc ebp
inc ecx
push ebp
dec ecx
inc ecx
arpl word [ebx + 0x65], sp
jae 0x63833d
jae 0x63833d
imul esp, dword [edx + 0x6c], 0x40404065
pop edx
add byte [eax], al
pop eax
or edi, dword [edi]
dec edi
outsb dx, byte [esi]
push esp
push 0x43656d65
push 0x65676e61
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638332
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push ebp
push esp
push 0x43656d65
push 0x65676e61
inc ebp
popal
outsb dx, byte [esi]
inc ebp
jbe 0x638379
outsb dx, byte [esi]
je 0x638357
xor al, byte [eax + 0x40]
pop edx
add byte [ebx + 0x6e4f3f0a], ch
dec ecx
insd dword es:[edi], dx
insd dword es:[edi], dx
jb 0x63839a
imul esi, dword [esi + 0x65], 0x6f6c6f43
jb 0x638383
arpl word [eax + 0x65], bp
insd dword es:[edi], dx
insd dword es:[edi], dx
inc ebx
push 0x65676e61
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638389
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
pop eax
pop edx
add byte [eax], al
sti
or bh, byte [edi]
dec edi
outsb dx, byte [esi]
dec esi
outsd dx, dword [esi]
inc ebx
push 0x57646c69
imul esi, dword [eax + ebp*2 + 0x53], 0x74726f68
arpl word [ebp + 0x74], si
inc esi
outsd dx, dword [esi]
jne 0x6383e6
inc eax
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x6383c6
inc esp
imul esi, dword [edx + 0x65], 0x49557463
arpl word gs:[ebp + edx*2 + 0x49], si
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push ebp
dec ebx
jns 0x6383ff
outsd dx, dword [esi]
popal
jb 0x638405
inc ebp
jbe 0x638409
outsb dx, byte [esi]
je 0x6383e7
xor al, byte [eax + 0x40]
pop edx
add byte [edx + ecx + 0x476e4f3f], bl
je 0x6383f9
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638408
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
push eax
inc ebp
inc ecx
push ebp
je 0x63843e
dec ebp
push ebx
inc edi
inc eax
inc eax
push eax
inc ebp
inc ecx
pop edi
dec edx
inc eax
pop edx
add byte [eax], al
or edi, dword [bx]
dec edi
outsb dx, byte [esi]
push edi
insd dword es:[edi], dx
push esp
push 0x43656d65
push 0x65676e61
inc eax
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x63844c
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
pop edi
dec ebx
pop edi
dec edx
inc eax
pop edx
add byte [esi + 0xb], ah
aas
dec edi
outsb dx, byte [esi]
push edi
insd dword es:[edi], dx
push ebx
je 0x6384a1
imul ebp, dword [esi + 0x67], 0x6e616843
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x638484
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
pop edi
dec ebx
pop edi
dec edx
inc eax
pop edx
add byte [esi + 0xa], dh
aas
dec edi
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x6384d3
jae 0x6384cf
je 0x6384d1
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ebx
push 0x65676e61
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6384be
inc esp
imul esi, dword [edx + 0x65], 0x49557463
push ebp
dec ecx
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop eax
pop eax
pop edx
add byte [esi], al
add al, 0x3f
inc ebx
popal
outsb dx, byte [esi]
push ebx
je 0x6384e0
outsd dx, dword [esi]
arpl word [ebp + 0x73], si
inc eax
dec eax
push edi
dec esi
inc esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x6384eb
inc esp
imul esi, dword [edx + 0x65], 0x49557463
inc eax
inc eax
push ebp
inc ebp
inc ecx
inc ecx
pop edi
dec esi
pop eax
pop edx
add cl, dl
or dword [edi], edi
ror dword [ecx], 1
aas
dec ecx
jae 0x638511
push ebx
inc ecx
inc ecx
inc ebp
outsb dx, byte [esi]
popal
bound ebp, qword [ebp + 0x64]
inc eax
push esp