Function at 0x4110b9
Capabilities:
Accept command line arguments
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x91c
call fcn.0041e59b
push str.MAIN
call fcn.00412b41
mov eax, dword [ebp + 8]
push 0x4855dc
mov dword [0x4885c4], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [0x4885b4], eax
call fcn.0041800d
test al, al
je 0x411118
mov eax, dword [0x4885b4]
mov edx, dword [eax]
lea eax, [ebp - 0x20c]
call fcn.0040c173
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push ebx
push esi
xor bl, bl
cmp dword [0x4855dc], 3
push edi
mov byte [ebp + 8], bl
mov edi, 0x459720
jl 0x411198
mov eax, dword [0x4885b4]
mov eax, dword [eax + 4]
mov ecx, str._installer
call fcn.00401031
test eax, eax
jne 0x411198
lea eax, [ebp - 0x414]
push eax
push edi
push str.CurrentVersion
mov esi, str.Settings
push esi
inc bl
call fcn.004116a0
cmp word [ebp - 0x414], 0
push str.VersionCheckAfterCrash
sete al
push esi
mov byte [ebp + 8], al
call fcn.00411703
push str.OSCheck
push esi
call fcn.00411703
push str.OSCheckWinRelease
push esi
call fcn.00411703
push str.NewerVersion
push esi
call fcn.00411703
cmp dword [0x4855dc], 1
mov byte [ebp - 4], 0
jle 0x411309
mov eax, dword [0x4885b4]
mov esi, dword [eax + 4]
cmp word [esi], 0x2d
jne 0x411309
mov ecx, str._installsched
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x4111d5
call fcn.00427e23
jmp 0x411458
mov ecx, str._sevendays
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x4111ee
mov byte [ebp - 4], 1
call fcn.00410f4a
mov ecx, 0x46d1e4
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x411210
call fcn.0041028f
test al, al
je 0x411458
call fcn.00410f4a
cmp dword [0x4855dc], 2
jle 0x41125d
mov ecx, str._exe
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x411247
mov eax, dword [0x4885b4]
push dword [eax + 8]
lea eax, [ebp + 8]
push eax
call fcn.00418e9c
xor eax, eax
cmp dword [ebp + 8], eax
setne al
jmp 0x41145a
mov ecx, str._elevated
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x41125d
inc eax
jmp 0x41145a
mov ecx, str._extfind
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x411277
call fcn.00425ea4
jmp 0x411458
mov ecx, str._extsuite
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x4112a5
cmp dword [0x4855dc], 2
jle 0x411298
mov eax, dword [0x4885b4]
mov edi, dword [eax + 8]
push edi
push 0
call fcn.004036ff
jmp 0x411458
push 0xf
push str._installrelated
push esi
call fcn.0043fbc6
add esp, 0xc
test eax, eax
jne 0x4112cb
mov eax, dword [0x4885b4]
mov ecx, dword [eax + 8]
call fcn.0041b229
jmp 0x411458
mov ecx, str._suite
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x411309
call fcn.00403765
push 0
lea eax, [ebp - 0x919]
push eax
call fcn.0041cfd1
push 0x29
push 0
push eax
call fcn.004024f3
lea eax, [ebp - 0x919]
push eax
call fcn.0040361e
jmp 0x411458
mov eax, dword [0x4885c0]
test eax, eax
jne 0x411322
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4885c0], eax
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x411334
call eax
test bl, bl
je 0x411341
call fcn.0040f24c
test al, al
jne 0x411351
push dword [ebp + 8]
call fcn.0041fb7a
test al, al
je 0x411458
mov esi, dword [0x4855dc]
cmp esi, 2
jl 0x411420
mov edi, dword [0x4885b4]
mov ebx, dword [edi + 4]
mov ecx, str._uninstall
mov eax, ebx
call fcn.00401031
test eax, eax
jne 0x4113b1
cmp esi, 3
mov byte [ebp + 8], al
jl 0x411397
mov eax, dword [edi + 8]
mov ecx, str._quiet
call fcn.00401031
neg eax
sbb al, al
inc al
mov byte [ebp + 8], al
call fcn.00410f79
test al, al
je 0x411458
push dword [ebp + 8]
call fcn.0040f093
jmp 0x411458
mov ecx, str._uninstall2
mov eax, ebx
call fcn.00401031
test eax, eax
jne 0x4113e9
cmp esi, 3
mov byte [ebp + 8], al
jl 0x4113df
mov eax, dword [edi + 8]
mov ecx, str._quiet
call fcn.00401031
neg eax
sbb al, al
inc al
mov byte [ebp + 8], al
push dword [ebp + 8]
call fcn.0040f1aa
jmp 0x411458
mov ecx, str._bootstrap
mov eax, ebx
call fcn.00401031
test eax, eax
jne 0x411407
call fcn.00410f79
push 1
call fcn.00416520
jmp 0x41145a
mov ecx, str._installer
mov eax, ebx
call fcn.00401031
test eax, eax
jne 0x411420
call fcn.00410f79
push 0
jmp 0x411400
call fcn.004186fe
push 0x46b3ac
push str.NCHSoftware_InstanceWindow
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x411450
push 0
push 0
push 0x8068
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.00418795
jmp 0x411458
push dword [ebp - 4]
call fcn.00410e6d
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10