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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dff1a
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x67432c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x679464]
test eax, eax
jne 0x4388c6
push 0x15c
call fcn.0046d554
add esp, 4
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x4388b8
mov ecx, eax
call fcn.00443ec0
jmp 0x4388ba
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x679464], eax
push 0xffffffffffffffff
push str.InstallUnRegDate
push str.AppInfo
mov ecx, eax
call fcn.00471e63
mov esi, eax
test esi, esi
jle 0x438ad9
push 0
call fcn.0045a949
mov edi, eax
mov ecx, edx
mov eax, esi
add esp, 4
cdq
cmp ecx, edx
jl 0x438ad9
jg 0x438906
cmp edi, eax
jb 0x438ad9
call fcn.00402310
mov ecx, eax
call fcn.00471d04
push eax
lea ecx, [ebp - 0x40]
call fcn.00404060
push 0xd
push 0x5e76a0
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 1
call fcn.00405c20
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00464619
add esp, 8
mov byte [ebp - 4], 2
call fcn.0045250c
test al, al
je 0x438967
imul ebp, ebp, 0x458b2262
pop ecx
invalid
call fcn.00452215
test al, al
je 0x43898f
and al, 0xdd
xchg ecx, esp
stc
lcall 0x3ee7, 0x52f351f7
std
cmc
bound ebx, qword [ebx - 0xe]
push esp
push edx
jns 0x4389be
les ebp, [edx + 0x39]
ficom dword [edx]
inc ebx
mov ebp, 0xe81ef69e
sahf
xchg esi, eax
add dword [eax], eax
call fcn.00452032
test al, al
je 0x4389ae
jecxz 0x4389fb
and bh, byte es:[ebp + 0x64]
xchg edx, eax
adc byte [edx - 0x73], ch
sbb eax, dword [ecx - 0x5f]
sub dword [ebx + 0x3f77afa0], esp
adc byte [ebp + 0x6ae8bf4d], cl
sar ebp, 0xff
lea ecx, [ebp - 0x41]
call fcn.00414b20
mov byte [ebp - 4], 3
call fcn.0045fab8
mov esi, eax
call fcn.0045b329
add byte [ebx + 0x2963e8f0], cl
add al, byte [eax]
test esi, esi
jne 0x438a46
test eax, eax
jne 0x438a46
call fcn.00452620
test al, al
je 0x4389ea
or ch, byte [eax - 0x49]
pop esi
mov bh, 0xd0
adc eax, 0x9997feb0
rcl byte [0x9997feb0]
jno 0x4389dc
add edi, dword [ebx + ebx*2 - 0x78]
or dword [eax + ebp*8 - 0x59], 0xffffff9b
add dword [eax], eax
call fcn.00452596
test al, al
je 0x438a0e
test byte [ebp + edx + 0x5d2006bd], dh
sbb dword [edx], ebp
dec eax
cmpsb byte [esi], byte es:[edi]
sub cl, byte [eax - 0x5a]
mov eax, dword [0x9f2800f9]
fdecstp
jmp 0x4389a4
call fcn.00452551
test al, al
je 0x438a30
xor al, 0x5c
std
or eax, 0xc67acf10
mov edi, 0x1097cb16
mov bh, dh
stosb byte es:[edi], al
adc al, 0xd4
add dword [ebx + 0x5a], esi
pop ebp
xchg dword [eax + 0x11], ecx
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x41]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00419a30
jmp 0x438a7b
call fcn.00451fed
test al, al
je 0x438a63
dec esi
and byte [ebp + 0x4f], al
mov bl, 0x66
sub byte [esi - 0x30], dh
sub al, 0xe8
jg 0x438ad0
ret 0xd0fa
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 1
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x41]
push eax
push 0
call fcn.0041b490
push 0
push str.InstallUnRegDate
push str.AppInfo
call fcn.00402310
mov ecx, eax
call fcn.00473b38
lea ecx, [ebp - 0x41]
call fcn.00454ad0
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x438ab0
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402c10
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
cmp eax, 8
jb 0x438ad9
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402c10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046d802
mov esp, ebp
pop ebp
ret