Function at 0x409300
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x724
push ebx
lea eax, [ebp + 0x1c]
push eax
push 0x20006
xor ebx, ebx
push ebx
push str.SOFTWARE
push 0x80000002
mov dword [ebp + 0x58], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40934a
push 0x10
push str.INSTALL_ERROR
push str.This_product_must_be_installed_using_an_administrator_account.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
inc eax
jmp 0x40a3dc
push esi
push edi
push dword [ebp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00408872
push 0xff
lea eax, [ebp - 0x6bc]
push eax
push dword [ebp + 0x70]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x6bc]
push eax
mov ecx, 0x42b28c
call fcn.00401738
push str.InstallerExePath
lea ecx, [ebp + 0x20]
call fcn.00401640
push 0x42b28c
lea eax, [ebp + 0x20]
mov esi, 0x42cd90
push eax
mov ecx, esi
call fcn.004105c0
push 1
lea ecx, [ebp + 0x20]
call fcn.004017f0
lea eax, [ebp - 0x6bc]
push 0x5c
push eax
call fcn.00417370
mov edi, eax
lea eax, [ebp - 0x6bc]
push 0x2f
push eax
call fcn.00417370
add esp, 0x10
cmp edi, eax
lea eax, [ebp - 0x6bc]
jbe 0x4093db
push 0x5c
jmp 0x4093dd
push 0x2f
push eax
call fcn.00417370
cmp eax, ebx
pop ecx
pop ecx
je 0x4093eb
mov byte [eax], bl
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401640
push str.InstallerExeDir
lea ecx, [ebp + 0x20]
call fcn.00401640
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x20]
push eax
mov ecx, esi
call fcn.004105c0
push 1
lea ecx, [ebp + 0x20]
call fcn.004017f0
push 1
lea ecx, [ebp - 0x20]
call fcn.004017f0
push str.popcfg
push 0x426815
call fcn.00417d5f
pop ecx
pop ecx
mov edi, eax
push edi
mov ecx, 0x42b270
call fcn.00401738
push edi
call fcn.00416698
lea ecx, [ebp + 0x20]
mov dword [esp], str.TempInstallerDir
call fcn.00401640
mov edi, 0x42b270
push edi
lea eax, [ebp + 0x20]
push eax
mov ecx, esi
call fcn.004105c0
push 1
lea ecx, [ebp + 0x20]
call fcn.004017f0
push str._files.cab
lea eax, [ebp - 4]
push edi
push eax
call fcn.004049a5
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x42cdc0
call fcn.004016a9
push 1
lea ecx, [ebp - 4]
call fcn.004017f0
cmp dword [0x42b2a4], 0x10
mov eax, dword [0x42b290]
jae 0x4094b5
mov eax, 0x42b290
push 0x425c6c
push eax
call fcn.004180f9
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x409511
push 0x4266a8
push 0x42b28c
lea eax, [ebp - 0x7c]
push str.Unable_to_Open_Installer_Exe_
push eax
call fcn.004049f1
add esp, 0xc
push eax
lea eax, [ebp - 4]
push eax
call fcn.004049a5
push eax
call fcn.00404c39
add esp, 0x10
push 1
lea ecx, [ebp - 4]
call fcn.004017f0
push 1
lea ecx, [ebp - 0x7c]
call fcn.004017f0
push 4
jmp 0x40a3d9
push 2
push ebx
push esi
call fcn.004182ee
push esi
call fcn.00417b06
mov edi, eax
push ebx
lea eax, [edi - 0x186a0]
push eax
push esi
call fcn.004182ee
add esp, 0x1c
push dword [0x42b268]
lea ecx, [ebp + 0x20]
call fcn.00401640
push 1
push esi
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x20]
call fcn.00401c69
push 1
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x60], eax
call fcn.004017f0
cmp dword [ebp + 0x60], 0xffffffff
jne 0x40956f
cmp edi, 0xffffffff
mov dword [ebp + 0x60], edi
je 0x40a3b6
mov eax, dword [ebp + 0x60]
add eax, 0xfffffffc
push eax
push esi
call fcn.00409070
test al, al
pop ecx
pop ecx
je 0x40a3b6
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0x2dadada
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [0x42cd4c], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov dword [ebp + 0x5c], eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x48
push 0x5a
push eax
mov dword [ebp + 0x60], eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push 0x12
call edi
push str.Arial
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x2bc
push ebx
push ebx
neg eax
push ebx
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push 0x48
push 0x5a
push dword [ebp + 0x60]
mov dword [0x42cd5c], eax
call esi
push eax
push 8
call edi
push str.Courier_New
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x190
push ebx
push ebx
neg eax
push ebx
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push 0x48
push 0x5a
push dword [ebp + 0x60]
mov dword [0x42cd58], eax
call esi
push eax
push 0x10
call edi
push str.Arial
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x2bc
push ebx
push ebx
neg eax
push ebx
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push dword [ebp + 0x60]
mov dword [0x42cd60], eax
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [0x42cd68], bl
jne 0x40a27a
xor edi, edi
inc edi
mov esi, 0x42cd90
mov eax, dword [0x42cd64]
sub eax, ebx
mov dword [ebp + 0x60], 2
je 0x40998a
dec eax
je 0x40996a
dec eax
je 0x409950
dec eax
je 0x409945
dec eax
je 0x409724
dec eax
jne 0x409e24
cmp dword [0x42ce5c], ebx
jbe 0x40a23e
push ebx
push 0x406344
push ebx
push 0x6c
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 6
mov dword [ebp + 0x60], eax
jne 0x409e24
lea eax, [ebp - 0x60]
push 0x42ce48
push eax
call fcn.00405135
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00413d40
mov ecx, dword [ebp - 0x1c]
add esp, 0x10
cmp dword [ebp - 8], 0x10
jae 0x4096f7
lea ecx, [ebp - 0x1c]
cmp dword [ebp - 0x48], 0x10
mov eax, dword [ebp - 0x5c]
jae 0x409703
lea eax, [ebp - 0x5c]
push edi
push ecx
push ebx
push eax
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push edi
lea ecx, [ebp - 0x20]
call fcn.004017f0
lea ecx, [ebp - 0x60]
jmp 0x409c1b
push str.InstallGroup
lea ecx, [ebp - 0x204]
call fcn.00401640
push str.CommonProgramGroup
lea ecx, [ebp - 0x274]
call fcn.00401640
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x514]
push eax
mov ecx, esi
call fcn.00410000
push eax
push 0x4266bc
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x5a0]
push eax
mov ecx, esi
call fcn.00410000
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.004049a5
add esp, 0xc
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040a9bc
add esp, 0xc
push edi
lea ecx, [ebp - 0x290]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x5a0]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x514]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x274]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x204]
call fcn.004017f0
push str.AppFolder
lea ecx, [ebp - 0x23c]
call fcn.00401640
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x2e4]
push eax
call fcn.00413a30
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x23c]
push eax
mov ecx, esi
call fcn.004105c0
push edi
lea ecx, [ebp - 0x2e4]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x23c]
call fcn.004017f0
push str.files_
mov ecx, 0x42b2c4
call fcn.00401738
push str.InstallPath
lea ecx, [ebp - 0xb4]
call fcn.00401640
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x31c]
push eax
mov ecx, esi
call fcn.00410000
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.00405135
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x42b2e0
call fcn.004016a9
push edi
lea ecx, [ebp - 0x46c]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x31c]
call fcn.004017f0
push edi
lea ecx, [ebp - 0xb4]
call fcn.004017f0
mov eax, dword [0x42b2f4]
cmp eax, ebx
jle 0x4098dd
mov ecx, dword [0x42b2f8]
cmp ecx, 0x10
mov edx, dword [0x42b2e4]
jae 0x4098b0
mov edx, 0x42b2e4
cmp byte [eax + edx - 1], 0x5c
je 0x4098dd
cmp ecx, 0x10
mov ecx, dword [0x42b2e4]
jae 0x4098c7
mov ecx, 0x42b2e4
cmp byte [eax + ecx - 1], 0x2f
je 0x4098dd
push 0x4266bc
mov ecx, 0x42b2e0
call fcn.00404af2
mov edx, 0x42cfe8
call fcn.0040a46d
call fcn.0040883c
push ebx
push 0x406d04
push ebx
push 0x68
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp byte [0x42cd69], bl
mov dword [ebp + 0x60], eax
je 0x40993a
cmp byte [0x42cd68], bl
jne 0x40993a
push str.Failed_to_decompress_files_
lea ecx, [ebp - 0x1b0]
call fcn.00401640
lea eax, [ebp - 0x1b0]
push eax
call fcn.00404c39
pop ecx
push edi
lea ecx, [ebp - 0x1b0]
call fcn.004017f0
lea ecx, [ebp - 0x108]
jmp 0x409c1b
push ebx
push 0x40661c
push ebx
push 0x65
jmp 0x409959
push ebx
push 0x40689a
push ebx
push 0x66
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov dword [ebp + 0x60], eax
jmp 0x409e24
push ebx
push 0x406531
push ebx
push 0x67
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
inc dword [0x42cd64]
mov dword [ebp + 0x60], eax
jmp 0x409e24
push str.cfg_
mov ecx, 0x42b2c4
call fcn.00401738
push 0x4266bc
lea eax, [ebp - 0x584]
push 0x42b270
push eax
call fcn.004049a5
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, 0x42b2e0
call fcn.004016a9
push edi
lea ecx, [ebp - 0x584]
call fcn.004017f0
call fcn.00407002
push ebx
push 0x40620c
push ebx
push 0x6b
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp byte [0x42cd69], bl
mov dword [ebp + 0x60], eax
je 0x409a23
cmp byte [0x42cd68], bl
jne 0x409e24
push str.Failed_to_decompress_setup_files_
lea ecx, [ebp - 0x220]
call fcn.00401640
lea eax, [ebp - 0x220]
push eax
call fcn.00404c39
pop ecx
push edi
lea ecx, [ebp - 0x220]
call fcn.004017f0
cmp byte [0x42cd68], bl
jne 0x409e24
push str.logo.bmp
lea eax, [ebp - 0x354]
push 0x42b2e0
push eax
call fcn.004049a5
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x409a53
mov eax, dword [eax + 4]
jmp 0x409a56
add eax, 4
push 0x50
push ebx
push ebx
push ebx
push eax
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_LoadImageA]
push edi
lea ecx, [ebp - 0x354]
mov dword [0x42cd50], eax
call fcn.004017f0
push str.product.bmp
lea eax, [ebp - 0x4a4]
push 0x42b2e0
push eax
call fcn.004049a5
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x409a9a
mov eax, dword [eax + 4]
jmp 0x409a9d
add eax, 4
push 0x50
push ebx
push ebx
push ebx
push eax
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_LoadImageA]
push edi
lea ecx, [ebp - 0x4a4]
mov dword [0x42cd54], eax
call fcn.004017f0
push str.props.xml
lea eax, [ebp - 0x38c]
push 0x42b270
push eax
call fcn.004049a5
add esp, 0xc
push eax
mov ecx, 0x42cfa8
call fcn.004154c0
neg al
sbb al, al
inc al
push edi
lea ecx, [ebp - 0x38c]
mov byte [ebp + 0x67], al
call fcn.004017f0
cmp byte [ebp + 0x67], bl
je 0x409b8e
push 0x4266a8
lea eax, [ebp - 0x4dc]
push eax
mov ecx, 0x42cfa8
call fcn.00414000
push eax
lea eax, [ebp - 0x3c4]
push str.Properties_file_error:_
push eax
call fcn.004049f1
add esp, 0xc
push eax
lea eax, [ebp - 0x54c]
push eax
call fcn.004049a5
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x409b45
mov eax, dword [eax + 4]
jmp 0x409b48
add eax, 4
push 0x10
push str.Fatal_Error_
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push edi
lea ecx, [ebp - 0x54c]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x3c4]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x4dc]
call fcn.004017f0
mov byte [0x42cd68], 1
mov byte [0x42cd74], 1
jmp 0x409e24
mov ecx, dword [0x42cfd4]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [ebp + 0x5c], eax
je 0x409bbf
lea ecx, [eax + 0x28]
push ecx
add eax, 0xc
push eax
mov ecx, esi
call fcn.004105c0
lea ecx, [ebp + 0x5c]
call fcn.0040496f
mov eax, dword [ebp + 0x5c]
cmp eax, dword [0x42cfd4]
jne 0x409b9d
push str.install.xml
lea eax, [ebp - 0x3fc]
push 0x42b2e0
push eax
call fcn.004049a5
add esp, 0xc
push eax
mov ecx, 0x42cde0
call fcn.00403ca2
neg al
sbb al, al
inc al
push edi
lea ecx, [ebp - 0x3fc]
mov byte [ebp + 0x67], al
call fcn.004017f0
cmp byte [ebp + 0x67], bl
je 0x409c26
lea eax, [ebp - 0x5bc]
push eax
mov eax, 0x42cde0
call fcn.00403eaa
push eax
call fcn.00404c39
pop ecx
lea ecx, [ebp - 0x5bc]
push edi
call fcn.004017f0
jmp 0x409e24
push str.defines.xml
lea eax, [ebp - 0x434]
push 0x42b2e0
push eax
call fcn.004049a5
add esp, 0xc
push eax
mov ecx, esi
call fcn.004111e0
neg al
sbb al, al
inc al
push edi
lea ecx, [ebp - 0x434]
mov byte [ebp + 0x67], al
call fcn.004017f0
cmp byte [ebp + 0x67], bl
je 0x409c7e
lea eax, [ebp - 0x2ac]
push eax
mov ecx, esi
call fcn.00414000
push eax
call fcn.00404c39
pop ecx
lea ecx, [ebp - 0x2ac]
jmp 0x409c1b
mov eax, dword [0x42cd88]
cmp eax, ebx
jne 0x409c8b
xor ecx, ecx
jmp 0x409c8d
mov ecx, dword [eax]
cmp ecx, eax
mov dword [ebp + 0x5c], ecx
je 0x409cf9
mov eax, dword [ebp + 0x5c]
add eax, 8
push eax
mov ecx, esi
call fcn.00411170
test al, al
je 0x409cb8
mov eax, dword [ebp + 0x5c]
mov eax, dword [eax]
cmp eax, dword [0x42cd88]
mov dword [ebp + 0x5c], eax
jne 0x409c94
jmp 0x409cf9
lea eax, [ebp - 0x300]
push eax
mov ecx, esi
call fcn.00414000
push eax
lea eax, [ebp - 0x2c8]
push str.Attached_Defines:
push eax
call fcn.004049f1
push eax
call fcn.00404c39
add esp, 0x10
push edi
lea ecx, [ebp - 0x2c8]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x300]
call fcn.004017f0
push str.MinDXVer
lea ecx, [ebp - 0x140]
call fcn.00401640
push 0x42cf20
lea eax, [ebp - 0x140]
push eax
mov ecx, esi
call fcn.004105c0
push edi
lea ecx, [ebp - 0x140]
call fcn.004017f0
push ebx
xor ebx, ebx
lea eax, [ebp + 0x18]
call fcn.00401d53
test eax, eax
pop ecx
jl 0x409d47
mov eax, dword [ebp + 0x18]
cmp eax, dword [0x42b26c]
jb 0x40a2ec
push str.InstallPath
lea ecx, [ebp - 0x1e8]
call fcn.00401640
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x338]
push eax
mov ecx, esi
call fcn.00410000
push 0xffffffffffffffff
push 0
push eax
mov ecx, 0x42b2fc
call fcn.004016a9
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x338]
call fcn.004017f0
push ebx
lea ecx, [ebp - 0x1e8]
call fcn.004017f0
push str.InstallGroup
lea ecx, [ebp - 0x178]
call fcn.00401640
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x370]
push eax
mov ecx, esi
call fcn.00410000
push 0xffffffffffffffff
push 0
push eax
mov ecx, 0x42b318
call fcn.004016a9
push ebx
lea ecx, [ebp - 0x370]
call fcn.004017f0
push ebx
lea ecx, [ebp - 0x178]
call fcn.004017f0
push str._PreEval_
lea ecx, [ebp - 0x258]
call fcn.00401640
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x3a8]
push eax
call fcn.00405135
pop ecx
pop ecx
push ebx
lea ecx, [ebp - 0x3a8]
call fcn.004017f0
push ebx
lea ecx, [ebp - 0x258]
call fcn.004017f0
xor edi, edi
inc edi
xor ebx, ebx
cmp dword [0x42cd64], 5
je 0x40a23e
cmp dword [ebp + 0x60], 0x3f6
jne 0x409e42
inc dword [0x42cd64]
jmp 0x409e59
cmp dword [ebp + 0x60], 0x6e
jne 0x409e4e
dec dword [0x42cd64]
cmp dword [ebp + 0x60], 2
jne 0x409e59
call fcn.00405c15
cmp dword [0x42cd64], 3
jne 0x40a232
cmp byte [0x42cd68], bl
jne 0x40a27a
push str.InstallPath
lea ecx, [ebp - 0xd0]
call fcn.00401640
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x3e0]
push eax
mov ecx, esi
call fcn.00410000
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00405135
pop ecx
pop ecx
push edi
lea ecx, [ebp - 0x3e0]
call fcn.004017f0
push edi
lea ecx, [ebp - 0xd0]
call fcn.004017f0
push 0x4266bc
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.004138d0
pop ecx
pop ecx
push eax
lea eax, [ebp + 0x20]
push eax
call fcn.004049a5
add esp, 0xc
push edi
lea ecx, [ebp - 0x418]
call fcn.004017f0
push 0x425b08
call fcn.00416b60
pop ecx
push eax
push ebx
push 0x425b08
lea ecx, [ebp + 0x3c]
call fcn.00401755
cmp eax, 0xffffffff
jne 0x40a203
push 0x425b04
call fcn.00416b60
pop ecx
push eax
push ebx
push 0x425b04
lea ecx, [ebp + 0x3c]
call fcn.00401755
cmp eax, 0xffffffff
jne 0x40a203
cmp dword [ebp + 0x50], 3
jb 0x40a1f5
mov eax, dword [ebp + 0x40]
push 0x10
pop edx
cmp dword [ebp + 0x54], edx
jae 0x409f49
lea eax, [ebp + 0x40]
cmp byte [eax + 1], 0x3a
jne 0x40a1f5
cmp dword [ebp + 0x54], edx
mov eax, dword [ebp + 0x40]
jae 0x409f5e
lea eax, [ebp + 0x40]
cmp byte [eax + 2], 0x2f
je 0x409f79
cmp dword [ebp + 0x54], edx
mov eax, dword [ebp + 0x40]
jae 0x409f6f
lea eax, [ebp + 0x40]
cmp byte [eax + 2], 0x5c
jne 0x40a1f5
push 2
pop ecx
cmp dword [ebp + 0x50], ecx
mov byte [ebp + 0x67], bl
jle 0x409fda
cmp dword [ebp + 0x54], edx
mov eax, dword [ebp + 0x40]
jae 0x409f8f
lea eax, [ebp + 0x40]
mov al, byte [ecx + eax]
cmp al, 0x22
je 0x409fba
cmp al, 0x2a
je 0x409fba
cmp al, 0x3a
je 0x409fba
cmp al, 0x3c
je 0x409fba
cmp al, 0x3e
je 0x409fba
cmp al, 0x3f
je 0x409fba
cmp al, 0x26
je 0x409fba
cmp al, 0x7c
je 0x409fba
cmp al, 0x25
je 0x409fba
cmp al, 0x20
jge 0x409fbe
mov byte [ebp + 0x67], 1
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x409f84
cmp byte [ebp + 0x67], bl
je 0x409fda
push 0x10
push str.Invalid_Path_
push str.The_path_specified_contains_an_invalid_character.__Please_select_a_different_path.
jmp 0x40a20f
push str.InstallGroup
lea ecx, [ebp - 0xec]
call fcn.00401640
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x450]
push eax
mov ecx, esi
call fcn.00410000
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00405135
pop ecx
pop ecx
push edi
lea ecx, [ebp - 0x450]
call fcn.004017f0
push edi
lea ecx, [ebp - 0xec]
call fcn.004017f0
xor ecx, ecx
cmp dword [ebp - 0x28], ebx
jle 0x40a081
cmp dword [ebp - 0x24], 0x10
mov eax, dword [ebp - 0x38]
jae 0x40a036
lea eax, [ebp - 0x38]
mov al, byte [ecx + eax]
cmp al, 0x22
je 0x40a061
cmp al, 0x2a
je 0x40a061
cmp al, 0x3a
je 0x40a061
cmp al, 0x3c
je 0x40a061
cmp al, 0x3e
je 0x40a061
cmp al, 0x3f
je 0x40a061
cmp al, 0x26
je 0x40a061
cmp al, 0x7c
je 0x40a061
cmp al, 0x25
je 0x40a061
cmp al, 0x20
jge 0x40a065
mov byte [ebp + 0x67], 1
inc ecx
cmp ecx, dword [ebp - 0x28]
jl 0x40a02a
cmp byte [ebp + 0x67], bl
je 0x40a081
push 0x10
push str.Invalid_Start_Menu_Location_
push str.The_start_menu_location_specified_contains_an_invalid_character.__Please_select_a_different_start_menu_location.
jmp 0x40a1d9
lea eax, [ebp + 0x20]
call fcn.00409266
mov ecx, edx
mov dword [ebp - 0x44], eax
and eax, ecx
cmp eax, 0xffffffff
je 0x40a1cd
cmp dword [ebp + 0x34], 2
jb 0x40a1cd
mov eax, dword [0x42cd80]
cdq
cmp ecx, edx
jg 0x40a0c5
jl 0x40a0b4
cmp dword [ebp - 0x44], eax
jae 0x40a0c5
push 0x10
push str.Insufficient_Space_
push str.The_drive_specified_does_not_have_sufficient_space.__Please_select_a_different_path.
jmp 0x40a1d9
push str.InstallGroup
lea ecx, [ebp - 0x15c]
call fcn.00401640
push str.InstallGroup
lea ecx, [ebp - 0x124]
call fcn.00401640
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x4c0]
push eax
mov ecx, esi
call fcn.00410000
push eax
lea eax, [ebp - 0x488]
push eax
call fcn.00413a30
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x124]
push eax
mov ecx, esi
call fcn.004105c0
push edi
lea ecx, [ebp - 0x488]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x4c0]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x124]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x15c]
call fcn.004017f0
push str.InstallPath
lea ecx, [ebp - 0x1cc]
call fcn.00401640
push str.InstallPath
lea ecx, [ebp - 0x194]
call fcn.00401640
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x530]
push eax
mov ecx, esi
call fcn.00410000
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.00413a30
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x194]
push eax
mov ecx, esi
call fcn.004105c0
push edi
lea ecx, [ebp - 0x4f8]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x530]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x194]
call fcn.004017f0
push edi
lea ecx, [ebp - 0x1cc]
call fcn.004017f0
jmp 0x40a1ea
push 0x10
push str.Invalid_Drive_
push str.The_drive_specified_is_not_valid.__Please_select_a_different_path.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [0x42cd64], 2
push edi
lea ecx, [ebp - 0x3c]
call fcn.004017f0
jmp 0x40a220
push 0x10
push str.Invalid_Path_
push str.Please_specify_a_path__including_the_drive_letter.
jmp 0x40a20f
push 0x10
push str.Invalid_Path_
push str.Please_specify_a_valid_local_path_to_install_to.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [0x42cd64], 2
push edi
lea ecx, [ebp + 0x20]
call fcn.004017f0
push edi
lea ecx, [ebp + 0x3c]
call fcn.004017f0
cmp byte [0x42cd68], bl
je 0x40966c
cmp byte [0x42cd68], bl
jne 0x40a27a
push str._PostEval_
lea ecx, [ebp - 4]
call fcn.00401640
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00405135
pop ecx
pop ecx
push edi
lea ecx, [ebp - 0x98]
call fcn.004017f0
push edi
lea ecx, [ebp - 4]
call fcn.004017f0
mov eax, dword [0x42cf40]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x42cf44]
cmp dword [eax + 0x4c], 0xffffffff
je 0x40a2a4
push str.__InstallLog_
mov ecx, 0x42cf4c
call fcn.00421451
push eax
call fcn.00404c20
pop ecx
push 0x42b270
call fcn.004132d0
cmp byte [0x42cd68], bl
pop ecx
je 0x40a2d8
cmp byte [0x42cd74], bl
jne 0x40a2d1
push ebx
push 0x4060ee
push ebx
push 0x6a
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov dword [ebp + 0x58], 0xa
push dword [0x42cd4c]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp + 0x58]
jmp 0x40a3da
push str._DX_UPGRADE_TITLE_
lea ecx, [ebp - 4]
call fcn.00401640
push str._DX_UPGRADE_TEXT_
lea ecx, [ebp - 0x7c]
call fcn.00401640
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00405135
cmp dword [eax + 0x18], 0x10
pop ecx
pop ecx
jb 0x40a323
mov edi, dword [eax + 4]
jmp 0x40a326
lea edi, [eax + 4]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x568]
push eax
call fcn.00405135
cmp dword [eax + 0x18], 0x10
pop ecx
pop ecx
jb 0x40a343
mov eax, dword [eax + 4]
jmp 0x40a346
add eax, 4
xor esi, esi
inc esi
push esi
push edi
push eax
xor edi, edi
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, eax
dec ebx
neg ebx
sbb bl, bl
push esi
lea ecx, [ebp - 0x568]
inc bl
call fcn.004017f0
push esi
lea ecx, [ebp - 0x98]
call fcn.004017f0
push esi
lea ecx, [ebp - 0x7c]
call fcn.004017f0
push esi
lea ecx, [ebp - 4]
call fcn.004017f0
test bl, bl
je 0x40a3af
cmp dword [0x42cf1c], 0x10
mov eax, dword [0x42cf08]
jae 0x40a39f
mov eax, 0x42cf08
push esi
push edi
push edi
push eax
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 2
call fcn.0041854e
push str.Unable_to_Read_Installer_Data
lea ecx, [ebp - 4]
call fcn.00401640
lea eax, [ebp - 4]
push eax
call fcn.00404c39
pop ecx
push 1
lea ecx, [ebp - 4]
call fcn.004017f0
push 5
pop eax
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10