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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x674
push ebx
push esi
push edi
call fcn.00454e3f
push str.MAIN
call fcn.00446edb
mov eax, dword [ebp + 8]
push 0x5a5314
mov dword [0x5a9cd0], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [0x5a9cc0], eax
call fcn.0044b365
test al, al
je 0x444293
mov eax, dword [0x5a9cc0]
mov ecx, dword [eax]
lea eax, [esp + 0x48]
call fcn.00401963
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str._installer
mov byte [esp + 0x17], 0
mov byte [esp + 0x10], 0
call fcn.0044b3a8
test al, al
mov ebx, 0x53ec98
je 0x44430f
lea eax, [esp + 0x48]
push eax
push ebx
push str.CurrentVersion
mov esi, str.Settings
push esi
mov byte [esp + 0x23], 1
call fcn.00444aef
cmp word [esp + 0x48], 0
push str.VersionCheckAfterCrash
sete al
push esi
mov byte [esp + 0x14], al
call fcn.00444b52
push str.LastCrashCheck
push esi
call fcn.00444b52
push str.OSCheck
push esi
call fcn.00444b52
push str.OSCheckWinRelease
push esi
call fcn.00444b52
push str.NewerVersion
push esi
call fcn.00444b52
cmp dword [0x5a5314], 1
mov byte [esp + 0x14], 0
jle 0x44461d
mov esi, dword [0x5a9cc0]
mov edi, dword [esi + 4]
cmp word [edi], 0x2d
jne 0x44461d
mov ecx, str._installsched
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x444353
call fcn.004760ae
call fcn.0047604c
jmp 0x4448a7
mov ecx, str._sevendays
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x44438a
push str.SevenDays
call fcn.00451db6
call fcn.0044f226
test al, al
je 0x4448a7
mov byte [esp + 0x14], 1
call fcn.004440c3
mov esi, dword [0x5a9cc0]
mov ecx, str._surveysched
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x4443b2
call fcn.0044305b
test al, al
je 0x4448a7
call fcn.004440c3
mov esi, dword [0x5a9cc0]
mov ecx, str._notifyinstalled
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x4443fa
push str.NotifyInstalledReminder
call fcn.00451db6
push str.LGXl
call fcn.00454a4f
test al, al
je 0x4448a7
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.004e15ca
call fcn.004e1bdb
call fcn.004e1a9d
jmp 0x4448a7
mov ecx, str._notifytrialextension
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x444414
call fcn.00487855
jmp 0x4448a7
mov ecx, str._systemnotifyevent
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x44442e
call fcn.004e166a
jmp 0x4448a7
mov ecx, str._downgrade
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x444451
call fcn.0047614a
test al, al
je 0x4448a7
mov esi, dword [0x5a9cc0]
cmp dword [0x5a5314], 2
jle 0x44449b
mov ecx, str._exe
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x444485
push dword [esi + 8]
lea eax, [esp + 0x18]
push eax
call fcn.0044c483
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
jmp 0x4448a9
mov ecx, str._elevated
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x44449b
inc eax
jmp 0x4448a9
mov ecx, str._extfind
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x4444b5
call fcn.00473f2f
jmp 0x4448a7
mov ecx, str._extsuite
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x4444e2
cmp dword [0x5a5314], 2
jle 0x4444d3
mov esi, dword [esi + 8]
jmp 0x4444d5
mov esi, ebx
push esi
push 0
call fcn.0044281c
jmp 0x4448a7
mov ebx, dword [0x5a5314]
cmp ebx, 5
jle 0x444592
mov ecx, str._addfiletyperunspecial
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x444523
push dword [esi + 0x14]
call fcn.00520546
pop ecx
push eax
mov eax, dword [0x5a9cc0]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [eax + 0x10]
call fcn.00459c86
jmp 0x4448a7
mov ecx, str._addremfiletyperunspecial
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x44455d
push dword [esi + 8]
mov eax, dword [esi + 0x10]
call fcn.00459d1d
mov eax, dword [0x5a9cc0]
push dword [eax + 0x18]
call fcn.00520546
pop ecx
push eax
mov eax, dword [0x5a9cc0]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [eax + 0x14]
jmp 0x444519
mov ecx, str._addremfiletyperun
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x444592
push dword [esi + 0x18]
call fcn.00520546
pop ecx
push eax
mov eax, dword [0x5a9cc0]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.0045945c
jmp 0x4448a7
cmp ebx, 3
jle 0x4445b7
mov ecx, str._remfiletyperunspecial
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x4445b7
push dword [esi + 8]
mov eax, dword [esi + 0xc]
call fcn.00459d1d
jmp 0x4448a7
push 0xf
push str._installrelated
push edi
call fcn.0052094c
add esp, 0xc
test eax, eax
jne 0x4445dd
mov eax, dword [0x5a9cc0]
mov ecx, dword [eax + 8]
call fcn.004514a2
jmp 0x4448a7
mov ecx, str._suite
mov eax, edi
call fcn.00401031
test eax, eax
jne 0x44461d
call fcn.00442882
push 0
lea eax, [esp + 0x25a]
push eax
call fcn.004535c5
push 0x29
push 0
push eax
call fcn.0040365e
lea eax, [esp + 0x256]
push eax
call fcn.00442748
jmp 0x4448a7
mov eax, dword [0x5a9ccc]
test eax, eax
jne 0x444636
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x5a9ccc], eax
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x444648
call eax
cmp byte [esp + 0x13], 0
je 0x444658
call fcn.0042ab0b
test al, al
jne 0x444669
push dword [esp + 0xc]
call fcn.0046e31d
test al, al
je 0x4448a7
mov esi, dword [0x5a5314]
cmp esi, 2
jl 0x44472f
push str._uninstall
call fcn.0044b3a8
test al, al
je 0x4446b9
cmp esi, 3
mov byte [esp + 0xc], 0
jl 0x44469e
push str._quiet
call fcn.0044b3a8
mov byte [esp + 0xc], al
call fcn.004440f2
test al, al
je 0x4448a7
push dword [esp + 0xc]
call fcn.0042a8dc
jmp 0x4448a7
push str._uninstall2
call fcn.0044b3a8
test al, al
je 0x4446ed
cmp esi, 3
mov byte [esp + 0xc], 0
jl 0x4446df
push str._quiet
call fcn.0044b3a8
mov byte [esp + 0xc], al
push dword [esp + 0xc]
call fcn.0042aa34
jmp 0x4448a7
mov eax, dword [0x5a9cc0]
mov esi, dword [eax + 4]
mov ecx, str._bootstrap
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x444716
call fcn.004440f2
push 1
call fcn.0045771b
jmp 0x4448a9
mov ecx, str._installer
mov eax, esi
call fcn.00401031
test eax, eax
jne 0x44472f
call fcn.004440f2
push 0
jmp 0x44470c
push 0x4e20
mov edi, 0x5aa818
call fcn.0044be94
push 0x548bf4
push str.NCHSoftware_InstanceWindow
call dword [sym.imp.USER32.dll_FindWindowW]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x44489e
cmp dword [0x5a5314], ebx
jle 0x444884
lea ecx, [esp + 0xc]
push ecx
push eax
mov dword [esp + 0x14], ebx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x444813
cmp dword [esp + 0xc], ebx
je 0x444813
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esp + 0x20], eax
xor eax, eax
lea edi, [esp + 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x1c]
push eax
call fcn.0045b024
cmp dword [esp + 0x1c], 0xffffffff
je 0x4447f4
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [esp + 0x30]
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
setne al
test al, al
je 0x4447f4
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x48]
push eax
lea esi, [esp + 0x24]
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], 0x5531a0
call fcn.0045b243
lea esi, [esp + 0x1c]
call fcn.0045b0ae
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0xc]
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
xor ebx, ebx
push 0x10404
call fcn.0044b085
mov edi, eax
mov eax, dword [0x5a5314]
mov dword [edi], eax
mov eax, 0x80
cmp dword [edi], eax
pop ecx
jle 0x444832
mov dword [edi], eax
cmp dword [edi], 0
jle 0x444857
lea esi, [edi + 4]
mov eax, dword [0x5a9cc0]
mov edx, dword [eax + ebx*4]
push 0x104
call fcn.0044b0f6
inc ebx
add esi, 0x208
cmp ebx, dword [edi]
jl 0x44483a
and dword [esp + 0x38], 0
lea eax, [esp + 0x38]
push eax
push 0
push 0x4a
push dword [esp + 0x24]
mov dword [esp + 0x4c], 0x10404
mov dword [esp + 0x50], edi
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
call fcn.0052009d
pop ecx
jmp 0x444892
push ebx
push ebx
push 0x8068
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 0x5aa818
call fcn.0044bf28
jmp 0x4448a7
push dword [esp + 0x14]
call fcn.00443ff4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10