Function at 0x404f70
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51cd08
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x573c28]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [ebp - 0x44]
call fcn.0040b44e
xor edi, edi
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], edi
call fcn.004055ee
mov dword [ebp - 0x30], vtable.CFileException.0
call fcn.0040809e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x404fd0
push 0x80004005
call fcn.004010e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
or esi, 0xffffffff
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], esi
call fcn.00401b30
push section.Shared
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp dword [section.Shared], 1
jl 0x405053
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
mov dword [ebp - 0x30], vtable.CFileException.0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405031
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], esi
call fcn.0040b57e
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push edi
call fcn.0040c3ee
add esp, 4
mov ecx, ebx
call fcn.00403770
mov ecx, ebx
call fcn.004038f0
lea eax, [ebx + 0xbd]
push eax
lea esi, [ebx + 0xbc]
push esi
mov ecx, ebx
mov byte [eax], 0
call fcn.004041b0
cmp byte [ebx + 0xbe], 0
jne 0x40539a
mov ecx, ebx
call fcn.004019a0
test al, al
jne 0x40539a
mov al, byte [esi]
cmp al, 0x1b
je 0x4050c6
cmp al, 0x19
je 0x4050c6
cmp al, 0x14
je 0x4050c6
cmp al, 0x15
je 0x4050c6
push edi
push str.Driver_CD
push str.Xpress_Install_does_not_support_this_version_of_windows.
jmp 0x4053a5
mov ecx, ebx
lea esi, [ebx + 0xb8]
call fcn.004030c0
push eax
mov ecx, esi
call fcn.004023f0
mov ecx, esi
call fcn.004021b0
mov eax, dword [esi]
cmp dword [eax - 0xc], edi
jge 0x4050f3
push 0x80070057
call fcn.004010e0
mov al, byte [eax]
mov ecx, esi
cmp al, 0x5c
jne 0x405107
call fcn.004021b0
push str.G1.exe
jmp 0x405111
call fcn.004021b0
push 0x52c330
mov ecx, esi
call fcn.00403510
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
push 1
push eax
lea ecx, [ebp - 0x44]
call fcn.0040b949
cmp eax, 1
jne 0x405159
lea ecx, [ebp - 0x44]
call fcn.0040b3e9
mov eax, dword [esi]
push 5
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0x3a98
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.G1.exe
call fcn.00401560
add esp, 4
mov ecx, ebx
call fcn.00404e00
mov ecx, ebx
call fcn.004030c0
push eax
mov ecx, esi
call fcn.004023f0
mov ecx, dword [esi]
mov edi, dword [ecx - 0xc]
test edi, edi
js 0x405382
lea esp, [esp]
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
sub ecx, edi
or eax, ecx
jge 0x405199
push edi
mov ecx, esi
call fcn.00401b90
mov eax, dword [esi]
push eax
call fcn.00504a9f
add esp, 4
test edi, edi
js 0x4050e9
mov eax, dword [esi]
cmp edi, dword [eax - 8]
jg 0x4050e9
mov dword [eax - 0xc], edi
mov edx, dword [esi]
mov byte [edi + edx], 0
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jl 0x4050e9
cmp byte [eax], 0x5c
mov ecx, esi
jne 0x405283
call fcn.004021b0
push esi
lea eax, [ebp - 0x10]
push 0x52c170
push eax
call fcn.00402880
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.004024f0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40521d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 5
push 0x52c1fc
mov ecx, esi
call fcn.004022e0
mov ecx, ebx
call fcn.00404890
push eax
mov ecx, esi
call fcn.00403550
mov ecx, ebx
call fcn.00401720
mov ecx, esi
cmp eax, 1
jne 0x405251
push 0xe
push str.VistaCheck.htm
jmp 0x405258
push 9
push str.Setup.htm
call fcn.004022e0
push esi
lea ecx, [ebp - 0x14]
push str.JBrowser.exe
push ecx
call fcn.00402880
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.004024f0
mov eax, dword [ebp - 0x14]
jmp 0x40532a
call fcn.004021b0
push esi
lea ecx, [ebp - 0x18]
push 0x52c170
push ecx
call fcn.00402880
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.004024f0
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4052c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 6
push str.lang_
mov ecx, esi
call fcn.004022e0
mov ecx, ebx
call fcn.00404890
push eax
mov ecx, esi
call fcn.00403550
mov ecx, ebx
call fcn.00401720
mov ecx, esi
cmp eax, 1
jne 0x4052fd
push 0xe
push str.VistaCheck.htm
jmp 0x405304
push 9
push str.Setup.htm
call fcn.004022e0
push esi
lea ecx, [ebp - 0x1c]
push str.JBrowser.exe
push ecx
call fcn.00402880
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.004024f0
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
mov byte [ebp - 4], 2
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40534a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi]
push 5
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push str.JBROWSER.EXE
mov ecx, ebx
call fcn.00402f30
cmp eax, 1
je 0x40538c
mov ecx, ebx
call fcn.004030c0
push eax
mov ecx, esi
call fcn.004023f0
mov ecx, dword [esi]
mov edi, dword [ecx - 0xc]
test edi, edi
jns 0x405180
push 0x80070057
call fcn.004010e0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.00401e50
jmp 0x4053d6
push edi
push str.Driver_CD
push str.Xpress_Install_does_not_support_this_version_of_windows
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
mov dword [ebp - 0x30], vtable.CFileException.0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4053d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.0040b57e
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret