Function at 0x40f2a9
Capabilities:
Accept command line arguments
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xb8
mov eax, dword [0x450970]
xor eax, ebp
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x70]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x78]
push str.kernel32.dll
mov dword [ebp - 0x50], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, eax
test ebx, ebx
je 0x40f32a
mov esi, 0x94
push esi
lea eax, [ebp - 0x30]
push 0
push eax
call fcn.00420080
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x30], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x2c], 6
jne 0x40f308
cmp dword [ebp - 0x28], 0
je 0x40f32a
push str.SetDefaultDllDirectories
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40f32a
push 0xc00
call eax
push str.restrict_DLL_directories
call fcn.0040b684
pop ecx
call fcn.0041b8d0
test edi, edi
je 0x40f36a
push edi
call fcn.0041d280
pop ecx
test eax, eax
jbe 0x40f36a
push str.__i4j_reboot
push edi
call fcn.0041ebd0
pop ecx
pop ecx
test eax, eax
jne 0x40f36a
call fcn.0040cd93
xor eax, eax
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041d798
add ebp, 0x68
leave
ret 0x10
mov esi, str.__i4j_lang_restart
push esi
mov byte [0x463865], 0
call fcn.0041d280
push eax
push esi
push edi
call fcn.0041e171
add esp, 0x10
test eax, eax
jne 0x40f3a4
push str.language_restart
call fcn.0040b684
pop ecx
mov byte [0x463841], 1
mov byte [0x463865], 1
mov esi, str.__i4j_extract_and_exit
push esi
call fcn.0041d280
push eax
push esi
push edi
call fcn.0041e171
add esp, 0x10
test eax, eax
jne 0x40f3d0
push str.extract_and_exit_mode
call fcn.0040b684
pop ecx
mov byte [0x463843], 1
call fcn.0040cfdd
lea ecx, [ebp - 0x4c]
call fcn.00417a42
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.0040d672
mov esi, str.__i4j_windel
push esi
call fcn.0041d280
push eax
push esi
push edi
call fcn.0041e171
add esp, 0x18
test eax, eax
jne 0x40f444
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
sar eax, 2
cmp eax, 3
jb 0x40f444
push 2
lea ecx, [ebp - 0x4c]
call fcn.00406931
push 0
push dword [eax]
call fcn.0041cce0
pop ecx
pop ecx
mov esi, eax
lea ecx, [ebp - 0x4c]
call fcn.00406cf9
push dword [ebp - 0x4c]
call fcn.0041d558
pop ecx
mov eax, esi
jmp 0x40f356
mov edi, dword [ebp - 0x50]
push 1
lea eax, [ebp - 0x4c]
push eax
push edi
call fcn.0040d045
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov ebx, dword [sym.imp.USER32.dll_MessageBoxA]
sar eax, 2
add esp, 0xc
xor esi, esi
mov byte [0x463867], 1
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x31], 0
test eax, eax
jbe 0x40f5ba
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push 0x43d1c0
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
jne 0x40f4aa
mov byte [0x463865], 1
call fcn.00403cb3
jmp 0x40f5a8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push str._console
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
jne 0x40f4d2
call fcn.0040ccb7
mov byte [ebp - 0x32], al
jmp 0x40f5a8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push str._splash
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
jne 0x40f4f6
mov byte [ebp - 0x31], 1
jmp 0x40f5a8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push str._nocheck
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
jne 0x40f51b
mov byte [0x463867], al
jmp 0x40f5a8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push 0x43d180
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
jne 0x40f56b
mov byte [0x463865], 1
call fcn.00403cb3
cmp byte [ebp - 0x32], 0
jne 0x40f5a8
call fcn.0040ccb7
test al, al
jne 0x40f5a8
push 0
push str.install4j
push str.Error:_Could_not_allocate_console.
push 0
call ebx
push 1
call fcn.00403e4b
pop ecx
jmp 0x40f5a8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push str._manual
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
je 0x40f5a1
push esi
lea ecx, [ebp - 0x4c]
call fcn.00406931
push 0x43d13c
push dword [eax]
call fcn.0041da65
pop ecx
pop ecx
test eax, eax
jne 0x40f5a8
mov byte [0x45f140], 1
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
inc esi
sar eax, 2
cmp esi, eax
jb 0x40f47e
cmp byte [0x463841], 0
jne 0x40f5cb
push 0
call fcn.0040bc03
pop ecx
push str.Init_done
mov dword [0x46383c], edi
call fcn.0040b684
cmp byte [0x463841], 0
pop ecx
jne 0x40f63c
call fcn.0040b31a
test al, al
jne 0x40f63c
push dword [0x463838]
call fcn.0041d280
mov esi, str.This_installer_was_created_with_an_evaluation_version_of
push esi
mov edi, eax
call fcn.0041d280
lea eax, [edi + eax + 1]
push eax
call fcn.0041d128
mov edi, eax
push esi
push edi
call fcn.0041d6a0
push dword [0x463838]
push edi
call fcn.0041d6b0
add esp, 0x1c
push 0x40
push dword [0x463838]
push edi
push 0
call ebx
push edi
call fcn.0041d558
pop ecx
cmp byte [0x463865], 0
je 0x40f658
cmp byte [ebp - 0x31], 0
jne 0x40f658
push str.Quiet_installer.
call fcn.0040b684
pop ecx
jmp 0x40f69d
push 0x6c
call fcn.00403858
pop ecx
test eax, eax
je 0x40f689
push 0x278b
call fcn.00403858
pop ecx
test eax, eax
jne 0x40f689
push str.Showing_splash_screen.
call fcn.0040b684
push dword [ebp + 0x7c]
call fcn.0040be88
pop ecx
pop ecx
jmp 0x40f698
push 0x9b
call fcn.00403858
pop ecx
test eax, eax
je 0x40f6a6
call fcn.0040dcd8
push 0
call fcn.0040ea84
jmp 0x40f6bf
call fcn.0040dcd8
push 0
push 0x40f170
push 0
push 0x67
push dword [ebp - 0x50]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
xor esi, esi
jmp 0x40f42c