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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x444
push ebx
push esi
push edi
call fcn.005427bb
push str.MAIN
call fcn.005343ef
mov eax, dword [ebp + 8]
push 0x6a53b8
mov dword [0x6a9b40], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [0x6a9b2c], eax
call fcn.00538682
test al, al
je 0x53166d
mov eax, dword [0x6a9b2c]
mov ecx, dword [eax]
lea eax, [esp + 0x48]
call fcn.00401ad4
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.005386c5
test al, al
mov ebx, 0x631a7c
je 0x5316ec
lea eax, [esp + 0x48]
push eax
push ebx
push str.CurrentVersion
mov esi, str.Settings
push esi
mov byte [esp + 0x23], 1
call fcn.00531ec3
xor edi, edi
cmp word [esp + 0x48], di
push str.VersionCheckAfterCrash
sete al
push esi
mov byte [esp + 0x14], al
call fcn.00531f86
push str.LastCrashCheck
push esi
call fcn.00531f86
push str.OSCheck
push esi
call fcn.00531f86
push str.OSCheckWinRelease
push esi
call fcn.00531f86
push str.NewerVersion
push esi
call fcn.00531f86
jmp 0x5316ee
xor edi, edi
cmp dword [0x6a53b8], 1
mov byte [esp + 0x14], 0
jle 0x5319f5
mov esi, dword [0x6a9b2c]
mov edi, dword [esi + 4]
cmp word [edi], 0x2d
jne 0x5319f3
mov ecx, str._installsched
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531732
call fcn.0055ff64
call fcn.0055ff03
jmp 0x531c7d
mov ecx, str._sevendays
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531769
push str.SevenDays
call fcn.0053f6a7
call fcn.0053c992
test al, al
je 0x531c7d
mov byte [esp + 0x14], 1
call fcn.0053149d
mov esi, dword [0x6a9b2c]
mov ecx, str._surveysched
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531791
call fcn.005304ee
test al, al
je 0x531c7d
call fcn.0053149d
mov esi, dword [0x6a9b2c]
mov ecx, str._notifyinstalled
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x5317d9
push str.NotifyInstalledReminder
call fcn.0053f6a7
push str.LGXl
call fcn.005423e3
test al, al
je 0x531c7d
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.0058175a
call fcn.00581d4f
call fcn.00581c11
jmp 0x531c7d
mov ecx, str._notifytrialextension
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x5317f3
call fcn.0057e925
jmp 0x531c7d
mov ecx, str._systemnotifyevent
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x53180d
call fcn.005817de
jmp 0x531c7d
mov ecx, str._downgrade
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531830
call fcn.0055fffe
test al, al
je 0x531c7d
mov esi, dword [0x6a9b2c]
cmp dword [0x6a53b8], 2
jle 0x53187a
mov ecx, str._exe
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531864
push dword [esi + 8]
lea eax, [esp + 0x18]
push eax
call fcn.00539b06
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
jmp 0x531c7f
mov ecx, str._elevated
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x53187a
inc eax
jmp 0x531c7f
mov ecx, str._extfind
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531894
call fcn.0055dc8c
jmp 0x531c7d
mov ecx, str._extsuite
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x5318c1
cmp dword [0x6a53b8], 2
jle 0x5318b2
mov esi, dword [esi + 8]
jmp 0x5318b4
mov esi, ebx
push esi
push 0
call fcn.00421e61
jmp 0x531c7d
mov ebx, dword [0x6a53b8]
cmp ebx, 5
jle 0x531971
mov ecx, str._addfiletyperunspecial
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531902
push dword [esi + 0x14]
call fcn.005f9ab3
pop ecx
push eax
mov eax, dword [0x6a9b2c]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [eax + 0x10]
call fcn.005472fd
jmp 0x531c7d
mov ecx, str._addremfiletyperunspecial
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x53193c
push dword [esi + 8]
mov eax, dword [esi + 0x10]
call fcn.00547394
mov eax, dword [0x6a9b2c]
push dword [eax + 0x18]
call fcn.005f9ab3
pop ecx
push eax
mov eax, dword [0x6a9b2c]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [eax + 0x14]
jmp 0x5318f8
mov ecx, str._addremfiletyperun
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531971
push dword [esi + 0x18]
call fcn.005f9ab3
pop ecx
push eax
mov eax, dword [0x6a9b2c]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00546bf9
jmp 0x531c7d
cmp ebx, 3
jle 0x531996
mov ecx, str._remfiletyperunspecial
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x531996
push dword [esi + 8]
mov eax, dword [esi + 0xc]
call fcn.00547394
jmp 0x531c7d
push 0xf
push str._installrelated
push edi
call fcn.005f9a6d
add esp, 0xc
test eax, eax
jne 0x5319bc
mov eax, dword [0x6a9b2c]
mov ecx, dword [eax + 8]
call fcn.0053ecb8
jmp 0x531c7d
mov ecx, str._suite
mov eax, edi
call fcn.0040106b
test eax, eax
jne 0x5319f3
call fcn.00421ec4
push 0
push 0
lea eax, [esp + 0x50]
push eax
call fcn.00540f44
call fcn.005410bc
lea eax, [esp + 0x48]
push eax
call fcn.00421d9c
jmp 0x531c7d
xor edi, edi
mov eax, dword [0x6a9b38]
cmp eax, edi
jne 0x531a0e
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6a9b38], eax
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, edi
je 0x531a20
call eax
cmp byte [esp + 0x13], 0
je 0x531a30
call fcn.004f410f
test al, al
jne 0x531a41
push dword [esp + 0xc]
call fcn.00558f74
test al, al
je 0x531c7d
mov esi, dword [0x6a53b8]
cmp esi, 2
jl 0x531b06
push str._uninstall
call fcn.005386c5
test al, al
je 0x531a91
cmp esi, 3
mov byte [esp + 0xc], 0
jl 0x531a76
push str._quiet
call fcn.005386c5
mov byte [esp + 0xc], al
call fcn.005314cc
test al, al
je 0x531c7d
push dword [esp + 0xc]
call fcn.004f3ee3
jmp 0x531c7d
push str._uninstall2
call fcn.005386c5
test al, al
je 0x531ac5
cmp esi, 3
mov byte [esp + 0xc], 0
jl 0x531ab7
push str._quiet
call fcn.005386c5
mov byte [esp + 0xc], al
push dword [esp + 0xc]
call fcn.004f4039
jmp 0x531c7d
mov eax, dword [0x6a9b2c]
mov esi, dword [eax + 4]
mov ecx, str._bootstrap
mov eax, esi
call fcn.0040106b
test eax, eax
jne 0x531aee
call fcn.005314cc
push 1
call fcn.00544d6d
jmp 0x531c7f
mov ecx, str._installer
mov eax, esi
call fcn.0040106b
test eax, eax
jne 0x531b06
call fcn.005314cc
push edi
jmp 0x531ae4
push 0x4e20
mov esi, 0x6ac018
call fcn.00539570
push 0x631ae0
push str.NCHSoftware_InstanceWindow
call dword [sym.imp.USER32.dll_FindWindowW]
cmp eax, edi
mov dword [esp + 0x18], eax
je 0x531c74
cmp dword [0x6a53b8], edi
jle 0x531c5a
lea ecx, [esp + 0xc]
push ecx
push eax
mov dword [esp + 0x14], edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x531be8
cmp dword [esp + 0xc], edi
je 0x531be8
push edi
push edi
push 1
push edi
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.00589931
cmp dword [esp + 0x1c], 0xffffffff
je 0x531bcb
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push dword [esp + 0x30]
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
setne al
test al, al
je 0x531bcb
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x48]
push eax
lea esi, [esp + 0x24]
lea edi, [esp + 0x1c]
mov dword [esp + 0x1c], 0x646540
call fcn.00589b50
lea esi, [esp + 0x1c]
call fcn.005899bb
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0xc]
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
push 0x10404
call fcn.00538281
mov edi, eax
mov eax, dword [0x6a53b8]
mov dword [edi], eax
mov eax, 0x80
cmp dword [edi], eax
pop ecx
jle 0x531c07
mov dword [edi], eax
xor ebx, ebx
cmp dword [edi], ebx
jle 0x531c2d
lea esi, [edi + 4]
mov eax, dword [0x6a9b2c]
mov edx, dword [eax + ebx*4]
push 0x104
call fcn.0053838b
inc ebx
add esi, 0x208
cmp ebx, dword [edi]
jl 0x531c10
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.005f9fb5
pop ecx
jmp 0x531c68
push edi
push edi
push 0x8068
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 0x6ac018
call fcn.00539622
jmp 0x531c7d
push dword [esp + 0x14]
call fcn.005313ce
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10