Function at 0x404298
Capabilities:
Create process on windows

Disassembly:
push 0x58c
mov eax, 0x438957
call fcn.0042501e
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x578], eax
mov eax, dword [ebp + 0x20]
xor ebx, ebx
push 0xff
mov dword [ebp - 0x580], eax
lea eax, [ebp - 0x10f]
mov esi, ecx
push ebx
push eax
mov dword [ebp - 0x584], esi
mov byte [ebp - 0x110], bl
call fcn.0041f900
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x110]
push str._auto
push eax
mov dword [ebp - 0x57c], ebx
mov byte [esi], bl
call edi
pop ecx
pop ecx
cmp dword [ebp + 8], ebx
je 0x404313
push str.__scheduled
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [ebp + 0x24], ebx
je 0x40432a
push str.__critical
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push ebx
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x578]
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor ecx, ecx
cmp eax, 0x20
setg cl
mov dword [ebp - 0x574], ecx
cmp ecx, ebx
jne 0x4044e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x4045ab
lea esi, [ebp - 0x570]
call fcn.004065a7
mov ecx, dword [0x44b430]
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 - 0x110]
cmp dword [ebp + 8], ebx
je 0x4043a2
push str.__scheduled
jmp 0x4043a7
push 0x43c7de
push eax
call edi
pop ecx
pop ecx
cmp dword [ebp + 0x24], ebx
je 0x4043c3
push str.__critical
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0xff
lea eax, [ebp - 0x30f]
push ebx
push eax
mov dword [ebp - 0x598], ebx
mov dword [ebp - 0x594], ebx
mov byte [ebp - 0x310], bl
call fcn.0041f900
add esp, 0xc
mov esi, 0x4c7
push esi
lea eax, [ebp - 0x310]
push str.Failed_to_start_UpdateChecker_process:_d_n
push eax
call edi
lea eax, [ebp - 0x310]
add esp, 0xc
push eax
call fcn.0041262c
pop ecx
push dword [ebp + 0x24]
lea eax, [ebp - 0x57c]
push dword [ebp + 0x18]
lea ecx, [ebp - 0x598]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.00403f21
mov eax, dword [ebp - 0x57c]
add esp, 0x18
push 1
mov dword [ebp - 0x53c], eax
push 1
lea eax, [ebp - 0x570]
push eax
call fcn.00406a1f
cmp dword [ebp - 0x544], ebx
jne 0x40454a
cmp eax, 0x2ee2
jne 0x40447f
push dword [ebp + 0x24]
mov ebx, dword [ebp - 0x584]
call fcn.004041ef
pop ecx
test eax, eax
jne 0x404562
xor ebx, ebx
jmp 0x4043c3
push 1
push ebx
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x578]
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor ecx, ecx
cmp eax, 0x20
setg cl
mov dword [ebp - 0x574], ecx
cmp ecx, ebx
jne 0x4044bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
je 0x4043c3
mov ecx, dword [ebp - 0x554]
cmp ecx, ebx
je 0x4044cc
push 2
call fcn.004071a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x570]
call fcn.00405c0a
cmp dword [ebp - 0x574], ebx
je 0x4045ab
push 0xff
lea eax, [ebp - 0x20f]
push ebx
push eax
mov byte [ebp - 0x210], bl
call fcn.0041f900
add esp, 0xc
push dword [ebp - 0x578]
lea eax, [ebp - 0x210]
push str.Started_UpdateChecker_process_Successfully:_s_n
push eax
call edi
add esp, 0xc
cmp dword [ebp + 8], ebx
je 0x404537
lea esi, [ebp - 0x598]
call fcn.00410ce4
mov ecx, eax
call fcn.00411164
mov ecx, esi
call fcn.00410d38
lea eax, [ebp - 0x210]
push eax
call fcn.0041262c
xor eax, eax
jmp 0x4045ee
push str.Cancelled_by_user_or_Received_shutdown_signal_n
call fcn.0041262c
mov eax, dword [ebp - 0x580]
pop ecx
mov dword [eax], ebx
jmp 0x4044bb
push 0xff
lea eax, [ebp - 0x20f]
push 0
push eax
mov byte [ebp - 0x210], 0
call fcn.0041f900
add esp, 0xc
lea eax, [ebp - 0x210]
push str.New_Update_Available_n
push eax
call edi
lea eax, [ebp - 0x210]
push eax
call fcn.0041262c
add esp, 0xc
lea ecx, [ebp - 0x570]
call fcn.00405c0a
xor eax, eax
jmp 0x4045ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xff
mov esi, eax
lea eax, [ebp - 0x30f]
push ebx
push eax
mov byte [ebp - 0x310], bl
call fcn.0041f900
add esp, 0xc
push esi
lea eax, [ebp - 0x310]
push str.Failed_to_start_UpdateChecker_process:_d_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x310]
push eax
call fcn.0041262c
mov eax, esi
pop ecx
call fcn.004250a1
ret