Function at 0x5840a0
Capabilities:
Create process on windows
Create process suspended
Get common file path
Resume thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e5fbb
mov eax, dword fs:[0]
push eax
mov eax, 0x25f4
call fcn.005c4dc0
mov eax, dword [0x6cdf60]
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 esi, ecx
push str.Starting_game_n
call fcn.00599f60
inc dword [0x7e9258]
add esp, 4
push 6
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [ebp - 0x25f8]
push eax
lea eax, [ebp - 0x25fc]
push eax
push str.siamexe.exe
call fcn.0059af30
add esp, 0xc
test al, al
jne 0x584126
push str.failed1_n
call fcn.00599f60
add esp, 4
jmp 0x58413f
push dword [ebp - 0x25f8]
push dword [ebp - 0x25fc]
push str._08x__d_n
call fcn.00599f60
add esp, 0xc
lea eax, [ebp - 0x618]
push eax
lea ecx, [esi + 0x215d0]
call fcn.0058b4c0
lea ecx, [ebp - 0x618]
call fcn.00584020
test al, al
je 0x58418a
push 0xffffffffffffffff
call fcn.005a8220
add esp, 4
push eax
push 0xffffffffffffffff
call fcn.005a8220
add esp, 4
push eax
lea eax, [ebp - 0x618]
push str._08X_08X
push eax
call fcn.0057e490
add esp, 0x10
lea eax, [ebp - 0x618]
push eax
push 0x7ea8c0
lea eax, [ebp - 0xe18]
push str._WOUpdatedOk__s__WOLogin___s_
push eax
call fcn.00584d50
add esp, 0x10
cmp dword [esi + 0x21c58], 0
jbe 0x5841fd
lea ecx, [ebp - 0xe18]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5841c0
sub ecx, edx
lea eax, [ebp - 0xe18]
add eax, ecx
cmp dword [esi + 0x21c5c], 0x10
mov dword [ebp - 0x2594], eax
lea eax, [esi + 0x21c48]
jb 0x5841e8
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2594]
push str.__survey___s_
push eax
call fcn.00584d90
add esp, 0xc
jmp 0x584263
mov eax, dword [0x890a7c]
lea edx, [ebp - 0x25f3]
push dword [0x890a78]
mov dword [ebp - 0x25f4], eax
lea ecx, [ebp - 0x25f4]
lea eax, [ebp - 0x25f1]
push eax
lea eax, [ebp - 0x25f2]
push eax
call fcn.0058bdf0
add esp, 0xc
cmp byte [ebp - 0x25f4], 0
jne 0x584314
jmp 0x584305
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push 0
call fcn.005c1bd2
jmp 0x58437a
cmp dword [0x88f814], 0
je 0x5843a5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x88f814]
cmp eax, 0x493e0
jbe 0x5843a5
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push 0
call fcn.005c1bd2
jmp 0x58440b
mov esi, dword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
lea eax, [ebp - 0x2594]
push eax
push 0
push 1
push 0
mov dword [ebp - 0x2594], 0
call esi
push dword [ebp - 0x2594]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
lea eax, [ebp - 0x2594]
push eax
push 0
push 1
push edi
call esi
push 0
push 0
push 8
lea eax, [ebp - 0x2590]
mov dword [ebp - 0x2590], 0
push eax
push 0x20007
push 0
push edi
mov dword [ebp - 0x258c], 1
call dword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
push 0x44
lea eax, [ebp - 0x25ec]
push 0
push eax
call fcn.005c3c50
add esp, 0xc
mov dword [ebp - 0x25f0], 0x48
lea eax, [ebp - 0x218]
mov dword [ebp - 0x25ac], edi
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0xe18]
push eax
push str.siamexe.exe
lea eax, [ebp - 0x218]
push eax
push str.__s_hs___hs
lea eax, [ebp - 0x2588]
push 0xbb8
push eax
call fcn.0058b5d0
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add esp, 0x18
push 0
push 0
push 0xffffffffffffffff
push str.siamexe.exe
push 0
push 0xfde9
call edi
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0059c090
add esp, 4
mov ebx, eax
push esi
push ebx
push 0xffffffffffffffff
push str.siamexe.exe
push 0
push 0xfde9
call edi
lea eax, [ebp - 0x25a4]
push eax
lea eax, [ebp - 0x25f0]
push eax
lea eax, [ebp - 0x218]
push eax
push 0
push 0x80004
push 0
push 0
push 0
lea eax, [ebp - 0x2588]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push dword [ebp - 0x25a0]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [0x7e9258]
test eax, eax
je 0x584573
dec eax
mov dword [0x7e9258], eax
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.005bf536
mov esp, ebp
pop ebp
ret