Function at 0x59e123
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
mov eax, 0x67c203
call fcn.006313fc
sub esp, 0x2a4
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x18]
mov edi, ecx
xor ebx, ebx
mov ecx, 0x75efd8
push eax
mov dword [esp + 0x18], ebx
call fcn.0046e2e7
xor ebp, ebp
cmp dword [eax + 0x14], 8
mov dword [esp + 0x2bc], ebp
jb 0x59e15f
mov eax, dword [eax]
push dword [esp + 0x2c8]
push 0x68a2e0
push eax
lea eax, [esp + 0x58]
push 0x68a2e4
push eax
call fcn.0047224d
add esp, 0x14
push ebp
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c4], 2
call fcn.0042341c
push 0x104
lea eax, [esp + 0xb0]
push eax
push ebp
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x98]
call fcn.004249e7
mov esi, 0x6db5c4
mov byte [esp + 0x2bc], 3
push esi
call fcn.004236bc
pop ecx
push eax
push ebp
push esi
lea ecx, [esp + 0xa0]
call fcn.00435701
cmp eax, 0xffffffff
jne 0x59e26c
cmp dword [esp + 0xa8], 8
mov eax, dword [esp + 0x94]
jae 0x59e1fe
lea eax, [esp + 0x94]
push eax
push str.Relocate_Version_didnt_find_updates_in_path:__S
push 0x40
call fcn.00484d2b
add esp, 0xc
lea ecx, [esp + 0x18]
push str.RelocateVersionFail
call fcn.00409ba7
lea eax, [esp + 0x64]
mov byte [esp + 0x2bc], 4
push str._status_:_Build_not_running_from_updates_dir_
push eax
call fcn.00472228
pop ecx
pop ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x2bc], 5
push ecx
push eax
mov ecx, edi
call fcn.0059eaf6
xor ebp, ebp
lea ecx, [esp + 0x64]
push 0
inc ebp
push ebp
call fcn.0040a0e9
push 0
push ebp
lea ecx, [esp + 0x20]
call fcn.0040a0e9
xor bl, bl
jmp 0x59e5d9
push dword [esp + 0x2c8]
mov ecx, edi
call fcn.0059c3fd
test al, al
jne 0x59e4bc
push dword [esp + 0x2c8]
push str.Failed_to_CopyVersionToInstallDir__S
push 0x40
call fcn.00484d2b
add esp, 0xc
mov dword [esp + 0x14], 9
lea eax, [esp + 0x14]
lea ecx, [edi + 0x38]
push eax
call fcn.0041a6a0
xor ebp, ebp
inc ebp
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.DLL_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
and dword [esp + 0x44], 0
mov ebx, eax
xor eax, eax
mov dword [esp + 0x48], 7
mov word [esp + 0x34], ax
mov esi, ebp
mov byte [esp + 0x2bc], 0xa
cmp dword [esp + 0x30], ebp
jle 0x59e39e
push dword [ebx + esi*4]
lea ecx, [esp + 0x1c]
call fcn.004249e7
push str._LOG
mov byte [esp + 0x2c0], 0xb
call fcn.004236bc
pop ecx
push eax
push str._LOG
push dword [esp + 0x30]
lea ecx, [esp + 0x24]
push 0
call fcn.00434bba
test eax, eax
jne 0x59e37f
push 0x689678
lea ecx, [esp + 0x68]
call fcn.004249e7
lea ecx, [esp + 0x18]
mov byte [esp + 0x2bc], 0xc
push ecx
push eax
lea eax, [esp + 0x84]
push eax
call fcn.00422e36
push 0xffffffffffffffff
xor ebp, ebp
mov byte [esp + 0x2c0], 0xd
push ebp
push eax
lea ecx, [esp + 0x40]
call fcn.00423462
push ebp
inc ebp
lea ecx, [esp + 0x80]
push ebp
call fcn.0042341c
push 0
push ebp
lea ecx, [esp + 0x6c]
call fcn.0042341c
push 0
push ebp
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c4], 0xa
call fcn.0042341c
inc esi
cmp esi, dword [esp + 0x30]
jl 0x59e2ec
mov esi, str.__RELOCATED
push esi
call fcn.004236bc
pop ecx
push eax
push esi
lea ecx, [esp + 0x3c]
call fcn.004234f9
mov ecx, dword [esp + 0x34]
push 8
pop ebx
cmp dword [esp + 0x48], ebx
jae 0x59e3c6
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x60], ebx
jae 0x59e3d4
lea eax, [esp + 0x4c]
push ecx
push eax
mov esi, str.Launching__S_with_command_line:__S_n
push esi
call fcn.00408ce1
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp dword [esp + 0x48], ebx
jae 0x59e3f2
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x60], ebx
jae 0x59e400
lea eax, [esp + 0x4c]
push ecx
push eax
push esi
push 0x40
call fcn.00484d2b
add esp, 0x10
mov ecx, edi
call fcn.0059f2b1
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x48], ebx
jae 0x59e422
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x60], ebx
jae 0x59e430
lea eax, [esp + 0x4c]
push ebp
xor ebx, ebx
push ebx
push ecx
push eax
push 0x689f9c
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov esi, eax
push esi
push str.RelocateVersion:_ShellExecute_returned__d.
push 0x40
call fcn.00484d2b
add esp, 0xc
cmp esi, 0x20
jg 0x59e5b2
push str.RelocateVersionFail
lea ecx, [esp + 0x1c]
call fcn.00409ba7
push esi
lea eax, [esp + 0x80]
mov byte [esp + 0x2c0], 0xe
push str._status_:_ShellExecute_returned__d_
push eax
call fcn.00472228
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x2bc], 0xf
push ecx
push eax
mov ecx, edi
call fcn.0059eaf6
push ebx
push ebp
lea ecx, [esp + 0x84]
call fcn.0040a0e9
push ebx
push ebp
lea ecx, [esp + 0x20]
call fcn.0040a0e9
jmp 0x59e5c7
mov ecx, edi
call fcn.0059d2b6
mov esi, eax
test esi, esi
je 0x59e4e1
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.0059d045
xor ebx, ebx
inc ebx
mov byte [esp + 0x13], bl
cmp dword [eax + 0x10], ebp
jne 0x59e4e6
mov byte [esp + 0x13], 0
test bl, 1
je 0x59e4fb
xor ebx, ebx
lea ecx, [esp + 0x64]
push ebx
push 1
call fcn.0042341c
jmp 0x59e4fd
xor ebx, ebx
cmp byte [esp + 0x13], 0
je 0x59e2ad
lea eax, [esp + 0x64]
mov ecx, 0x75efd8
push eax
call fcn.0046e2e7
cmp dword [eax + 0x14], 8
mov byte [esp + 0x2bc], 6
jb 0x59e527
mov eax, dword [eax]
push str..lng
push 0x690bac
push 0x68a2e0
push eax
lea eax, [esp + 0x28]
push 0x68a820
push eax
call fcn.0047224d
add esp, 0x18
xor ebp, ebp
mov byte [esp + 0x2bc], 8
push ebx
inc ebp
lea ecx, [esp + 0x68]
push ebp
call fcn.0042341c
lea eax, [esp + 0x7c]
mov ecx, esi
push eax
call fcn.0059d045
cmp dword [esp + 0x2c], 8
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x2bc], 9
jae 0x59e582
lea ecx, [esp + 0x18]
cmp dword [eax + 0x14], 8
jb 0x59e58a
mov eax, dword [eax]
push ebp
push ebp
push ebx
push ecx
push eax
call fcn.00468f55
push ebx
push ebp
lea ecx, [esp + 0x84]
call fcn.0042341c
push ebx
push ebp
lea ecx, [esp + 0x20]
call fcn.0042341c
jmp 0x59e2b0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 3
push eax
lea ecx, [edi + 0x38]
call fcn.0041a6a0
cmp esi, 0x20
lea ecx, [esp + 0x34]
push 0
push ebp
setg bl
call fcn.0042341c
push 0
push ebp
lea ecx, [esp + 0x9c]
call fcn.0042341c
push 0
push ebp
lea ecx, [esp + 0x54]
call fcn.0042341c
mov ecx, dword [esp + 0x2b4]
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret 4