Function at 0x40251c
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x42afae
call fcn.00413008
sub esp, 0x574
push ebx
push esi
push edi
mov edi, 0xff
xor ebx, ebx
push edi
lea eax, [ebp - 0x11f]
push ebx
push eax
mov byte [ebp - 0x120], bl
call fcn.00412420
mov eax, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov byte [eax], bl
lea eax, [ebp - 0x120]
push str._auto
push eax
mov dword [ebp - 0x14], ebx
call esi
add esp, 0x14
cmp dword [ebp + 8], ebx
je 0x402580
push 0x42ca68
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
cmp dword [ebp + 0x28], ebx
je 0x402597
push 0x42ca74
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push 1
push ebx
lea eax, [ebp - 0x120]
push eax
push dword [ebp + 0x20]
push 0x42ca80
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor ecx, ecx
cmp eax, 0x20
setg cl
mov dword [ebp - 0x10], ecx
cmp ecx, ebx
jne 0x40277c
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x4027e7
lea ecx, [ebp - 0x580]
call fcn.0040c687
mov ecx, dword [0x43b204]
mov dword [ebp - method.ATL::CComObject_class_CDownloadTracker_.virtual_0], vtable.ATL::CComObject_class_CDownloadTracker_.0
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x120]
cmp dword [ebp + 8], ebx
je 0x402609
push str.__scheduled
jmp 0x40260e
push 0x42c65a
push eax
call esi
pop ecx
pop ecx
cmp dword [ebp + 0x28], ebx
je 0x40262a
push str.__critical
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push edi
lea eax, [ebp - 0x21f]
push ebx
push eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x220], bl
call fcn.00412420
push 0x4c7
lea eax, [ebp - 0x220]
push 0x42caa0
push eax
call esi
lea eax, [ebp - 0x220]
push eax
call main
push 1
push dword [ebp + 0x1c]
lea eax, [ebp - 0x14]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call main
mov eax, dword [ebp - 0x14]
add esp, 0x38
push 1
mov dword [ebp - 0x54c], eax
push 1
lea eax, [ebp - 0x580]
push eax
call main
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x580]
push eax
call main
test eax, eax
je 0x4027d2
cmp dword [ebp - 0x18], 0x2ee2
jne 0x402718
push dword [ebp + 0x28]
push 0x100
push dword [ebp + 0xc]
call main
add esp, 0xc
test eax, eax
je 0x40262a
push edi
lea eax, [ebp - 0x31f]
push ebx
push eax
mov byte [ebp - 0x320], bl
call fcn.00412420
lea eax, [ebp - 0x320]
push str.New_Update_Available_n
push eax
call esi
lea eax, [ebp - 0x320]
push eax
call main
add esp, 0x18
lea ecx, [ebp - 0x580]
call fcn.004023d8
xor eax, eax
jmp 0x402827
push 1
push ebx
lea eax, [ebp - 0x120]
push eax
push dword [ebp + 0x20]
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor ecx, ecx
cmp eax, 0x20
setg cl
mov dword [ebp - 0x10], ecx
cmp ecx, ebx
jne 0x402751
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x4c7
je 0x40262a
push ebx
lea ecx, [ebp - 0x580]
call fcn.0040bfb3
cmp eax, ebx
je 0x402768
mov ecx, eax
call fcn.0040c8d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x580]
call fcn.004023d8
cmp dword [ebp - 0x10], ebx
je 0x4027e7
push edi
lea eax, [ebp - 0x31f]
push ebx
push eax
mov byte [ebp - 0x320], bl
call fcn.00412420
push dword [ebp + 0x20]
lea eax, [ebp - 0x320]
push str.Started_UpdateChecker_process_Successfully:_s_n
push eax
call esi
add esp, 0x18
cmp dword [ebp + 8], ebx
je 0x4027c0
push 0x42cb4c
push 0x42cb74
push 0x80000001
call main
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
call main
pop ecx
jmp 0x402711
push str.Cancelled_by_user_or_Received_shutdown_signal_n
call main
mov eax, dword [ebp + 0x24]
pop ecx
mov dword [eax], ebx
jmp 0x402751
call dword [sym.imp.kernel32.dll_GetLastError]
push edi
mov dword [ebp + 0x28], eax
lea eax, [ebp - 0x21f]
push ebx
push eax
mov byte [ebp - 0x220], bl
call fcn.00412420
push dword [ebp + 0x28]
lea eax, [ebp - 0x220]
push str.Failed_to_start_UpdateChecker_process:_d_n
push eax
call esi
lea eax, [ebp - 0x220]
push eax
call main
mov eax, dword [ebp + 0x28]
add esp, 0x1c
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret