Function at 0x408cc0
Capabilities:
Accept command line arguments
Create process on windows
Create process suspended
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55f1bc
mov eax, dword fs:[0]
push eax
mov eax, 0x135c
call fcn.00537af0
mov eax, dword [0x5b5be8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov al, 1
mov edi, ecx
mov dword [ebp - 0x1354], edi
cmp byte [0x5be5e0], al
jne 0x408e86
push str.update.launcher.auto_restart
call fcn.00424920
xor ebx, ebx
mov ecx, eax
call fcn.004247d0
cmp eax, 1
jne 0x408e14
push str.auto:_launch_launcher.exe_for_update.
push 2
mov eax, 0x5be6a0
call fcn.00401690
push 0x44
lea eax, [ebp - 0x58]
push ebx
push eax
call fcn.00535390
xor eax, eax
add esp, 0x14
push 0x7ff
push eax
lea ecx, [ebp - 0xb0f]
push ecx
mov dword [ebp - 0x58], 0x44
mov dword [ebp - 0x1368], eax
mov dword [ebp - 0x1364], eax
mov dword [ebp - 0x1360], eax
mov dword [ebp - 0x135c], eax
mov byte [ebp - 0xb10], al
call fcn.00535390
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
push 0x58d304
lea edx, [ebp - 0xb10]
push 0x800
push edx
call fcn.005327fd
add esp, 0x10
lea eax, [ebp - 0x310]
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x1368]
push ecx
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x310]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0xb10]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x408df7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x5be6a0
xor edx, edx
mov ecx, eax
call fcn.00414330
add esp, 4
jmp 0x4093ea
mov edx, dword [ebp - 0x1368]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [ebp - 0x1364]
push eax
call esi
jmp 0x4093e2
push str.update.launcher.alarm
call fcn.00424920
mov ebx, 1
mov ecx, eax
call fcn.004247d0
cmp eax, ebx
jne 0x4093e2
mov ecx, dword [edi + 0x1b8]
push ecx
lea edx, [ebp - 0x132c]
push edx
call fcn.00401320
mov esi, 8
add esp, 8
cmp dword [eax + 0x14], esi
jb 0x408e54
mov eax, dword [eax]
mov edi, dword [edi + 0x20]
push 0x40
push 0x58c80c
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [ebp - 0x1318], esi
jb 0x4093e2
mov eax, dword [ebp - 0x132c]
push eax
call fcn.004310e1
add esp, 4
jmp 0x4093e2
cmp byte [0x5be6ad], al
jne 0x408f14
mov ecx, dword [edi + 0x20]
push 0
push 0x14
push 0
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
push str.NavigateMainPage___n
call fcn.00418dd0
mov edx, dword [edi + 0x1d4]
add esp, 4
push 0
push 0
push 0
push 0
push 0
push edx
mov ecx, edi
call fcn.00436f70
cmp dword [0x5b75e4], 0x10
mov eax, dword [0x5b75d0]
mov dword [0x5be6a4], 0
mov dword [0x5be6a0], 0x5b7664
mov dword [0x5be6a8], 0x5b7608
mov ecx, dword [edi + 0x1d8]
jae 0x408efe
mov eax, 0x5b75d0
mov edx, dword [edi + 0x1d0]
push 0xdbc
push eax
call fcn.00411490
jmp 0x4093ea
push str.checking.need
call fcn.00424920
xor ebx, ebx
mov ecx, eax
call fcn.004247d0
test eax, eax
je 0x408f48
push str.checking.need
call fcn.00424920
mov ecx, eax
call fcn.00424440
mov ecx, edi
call fcn.004040a0
jmp 0x4093ea
push str.repacking.need
call fcn.00424920
xor ebx, ebx
mov ecx, eax
call fcn.004247d0
test eax, eax
je 0x409034
push str.repacking.need
call fcn.00424920
mov ecx, eax
call fcn.00424440
mov esi, dword [0x5be5dc]
test esi, esi
je 0x408f85
call fcn.00414aa0
jmp 0x408f89
xor eax, eax
xor edx, edx
shrd eax, edx, 0x14
shr edx, 0x14
mov ebx, eax
test esi, esi
je 0x408f9d
call fcn.00414af0
jmp 0x408fa1
xor eax, eax
xor edx, edx
shrd eax, edx, 0x14
push 0x7ff
mov esi, eax
lea eax, [ebp - 0xb0f]
push 0
push eax
shr edx, 0x14
mov byte [ebp - 0xb10], 0
call fcn.00535390
mov eax, dword [edi + 0x1cc]
add esp, 0xc
push esi
push ebx
push eax
mov eax, 0x800
lea edx, [ebp - 0xb10]
call fcn.00422400
add esp, 0xc
lea ecx, [ebp - 0xb10]
push ecx
lea edx, [ebp - 0x132c]
push edx
call fcn.00401320
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x409001
mov eax, dword [eax]
mov ecx, dword [edi + 0x20]
push 0x44
push 0x58c80c
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
lea ecx, [ebp - 0x132c]
sete bl
call fcn.00409840
test bl, bl
je 0x409034
mov eax, edi
call fcn.004042e0
jmp 0x4093ea
cmp dword [edi + 0x1e8], 0
je 0x4091bd
lea esi, [ebp - 0x134c]
call fcn.004243b0
push 1
mov eax, esi
push eax
mov ecx, str.launcher_conf.temp
mov dword [ebp - 4], 0
call fcn.00424e40
push str.auto_checking.last_question_day
lea ecx, [ebp - 0x132c]
push ecx
mov edx, esi
push edx
mov ecx, 0x58cb20
call fcn.00424710
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1318], 0x10
mov eax, dword [ebp - 0x132c]
jae 0x409094
lea eax, [ebp - 0x132c]
push eax
call fcn.00532dda
add esp, 4
push 0
mov ebx, eax
mov dword [ebp - 0x135c], edx
call fcn.00532a03
mov esi, eax
mov eax, dword [edi + 0x1ec]
imul eax, eax, 0x15180
mov ecx, edx
cdq
add esp, 4
add eax, ebx
adc edx, dword [ebp - 0x135c]
cmp edx, ecx
jg 0x4091a0
jl 0x4090da
cmp eax, esi
ja 0x4091a0
push ecx
push esi
push str._I64d
mov eax, 0x80
lea edx, [ebp - 0x90]
call fcn.00422400
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
mov edi, str.auto_checking.last_question_day
lea ecx, [ebp - 0x134c]
call fcn.00424550
lea ecx, [ebp - 0x134c]
call fcn.00424a40
mov esi, dword [ebp - 0x1354]
mov eax, dword [esi + 0x1c4]
push eax
lea ecx, [ebp - 0x1348]
push ecx
call fcn.00401320
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40913a
mov eax, dword [eax]
mov ecx, dword [esi + 0x20]
push 0x44
push 0x58c80c
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
lea ecx, [ebp - 0x1348]
sete bl
call fcn.00409840
test bl, bl
je 0x40919e
push str.auto:_checking_yes.
push 2
mov eax, 0x5be6a0
call fcn.00401690
add esp, 8
mov ecx, esi
call fcn.004040a0
lea esi, [ebp - 0x132c]
call fcn.004097a0
lea eax, [ebp - 0x134c]
mov dword [ebp - 4], 0xffffffff
call fcn.00424420
jmp 0x4093ea
mov edi, esi
lea esi, [ebp - 0x132c]
call fcn.004097a0
lea eax, [ebp - 0x134c]
mov dword [ebp - 4], 0xffffffff
call fcn.00424420
cmp dword [edi + 0x1f0], 0
je 0x4093cb
lea esi, [ebp - 0x134c]
call fcn.004243b0
push 1
mov edx, esi
push edx
mov ecx, str.launcher_conf.temp
mov dword [ebp - 4], 2
call fcn.00424e40
push str.auto_checking.last_question_day
lea eax, [ebp - 0x1348]
push eax
mov ecx, esi
push ecx
mov ecx, 0x58cb20
call fcn.00424710
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1334], 0x10
mov eax, dword [ebp - 0x1348]
jae 0x40921d
lea eax, [ebp - 0x1348]
push eax
call fcn.00532dda
add esp, 4
push 0
mov esi, eax
mov ebx, edx
call fcn.00532a03
mov dword [ebp - 0x1358], eax
mov eax, dword [edi + 0x1f4]
imul eax, eax, 0x15180
mov ecx, edx
cdq
add esp, 4
add eax, esi
adc edx, ebx
mov dword [ebp - 0x1354], ecx
cmp edx, ecx
jg 0x4093ae
jl 0x409269
cmp eax, dword [ebp - 0x1358]
ja 0x4093ae
mov esi, dword [0x5be5dc]
test esi, esi
je 0x40927a
call fcn.00414aa0
jmp 0x40927e
xor eax, eax
xor edx, edx
shrd eax, edx, 0x14
mov ebx, eax
shr edx, 0x14
cmp ebx, dword [edi + 0x1f0]
jl 0x4093ae
test esi, esi
je 0x40929e
call fcn.00414af0
jmp 0x4092a2
xor eax, eax
xor edx, edx
shrd eax, edx, 0x14
push 0x7ff
shr edx, 0x14
lea edx, [ebp - 0x130f]
push 0
push edx
mov esi, eax
mov byte [ebp - 0x1310], 0
call fcn.00535390
mov eax, dword [edi + 0x1cc]
add esp, 0xc
push esi
push ebx
push eax
mov eax, 0x800
lea edx, [ebp - 0x1310]
call fcn.00422400
add esp, 0xc
lea eax, [ebp - 0x1310]
push eax
lea ecx, [ebp - 0x132c]
push ecx
call fcn.00401320
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x409302
mov eax, dword [eax]
mov ecx, dword [edi + 0x20]
push 0x44
push 0x58c80c
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
lea ecx, [ebp - 0x132c]
sete bl
call fcn.00409840
test bl, bl
je 0x409366
push str.auto:_repacking_yes.
push 2
mov eax, 0x5be6a0
call fcn.00401690
add esp, 8
mov eax, edi
call fcn.004042e0
lea esi, [ebp - 0x1348]
call fcn.004097a0
lea eax, [ebp - 0x134c]
mov dword [ebp - 4], 0xffffffff
call fcn.00424420
jmp 0x4093ea
mov edx, dword [ebp - 0x1354]
mov eax, dword [ebp - 0x1358]
push edx
push eax
push str._I64d
mov eax, 0x80
lea edx, [ebp - 0x110]
call fcn.00422400
add esp, 0xc
lea ecx, [ebp - 0x110]
push ecx
mov edi, str.auto_checking.last_question_day
lea ecx, [ebp - 0x134c]
call fcn.00424550
lea ecx, [ebp - 0x134c]
call fcn.00424a40
lea esi, [ebp - 0x1348]
call fcn.004097a0
lea eax, [ebp - 0x134c]
mov dword [ebp - 4], 0xffffffff
call fcn.00424420
push str.update.complete.auto_exit
call fcn.00424920
xor ebx, ebx
mov ecx, eax
call fcn.004247d0
test eax, eax
je 0x4093ea
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005320a3
mov esp, ebp
pop ebp
ret