Function at 0x474596
Capabilities:
Create process on windows
Create process suspended
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x526944
mov eax, dword fs:[0]
push eax
mov eax, 0x18fc
call fcn.004ade10
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x186c], ecx
push str._TCLS_Launcher::RealLaunchByNetbar_
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
pop ecx
pop ecx
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x70], 0
jne 0x4745f6
xor eax, eax
jmp 0x47510d
and dword [ebp - 0x1870], 0
and dword [ebp - 0x1880], 0
push 0x44
push 0
lea eax, [ebp - 0x1908]
push eax
call fcn.004b0090
add esp, 0xc
mov dword [ebp - 0x1908], 0x44
xor eax, eax
lea edi, [ebp - 0x18b0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.004b0090
add esp, 0xc
mov ecx, dword [ebp - 0x186c]
call fcn.00475154
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x619a0], 0
je 0x4746da
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x6199c], 0
je 0x4746da
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x70]
call dword [eax + 0x6c]
mov dword [ebp - 0x1888], eax
cmp dword [ebp - 0x1888], 0
je 0x4746b7
push 0
push 1
push 6
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x6199c]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x6199c]
call dword [eax + 0xc]
jmp 0x4746da
push 0
push 2
push 6
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x6199c]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x6199c]
call dword [eax + 0xc]
mov eax, dword [ebp - 0x186c]
add eax, 0x61fc8
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x61dc8
push eax
mov ecx, dword [ebp - 0x186c]
call fcn.0046fe0f
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x6199c], 0
je 0x474763
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x61fc8], 0
jne 0x474740
push 0
push 1
push 7
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x6199c]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x6199c]
call dword [eax + 0xc]
jmp 0x474763
push 0
push 2
push 7
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x6199c]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x6199c]
call dword [eax + 0xc]
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
push str._Launch__TCLS_Launcher::RealLaunchByNetbar_CMain::StartNetbarClient__s_
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
mov ecx, dword [ebp - 0x186c]
call fcn.00472c4c
push 0x100
mov eax, dword [ebp - 0x186c]
add eax, 0x6fa4c
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
mov ecx, dword [ebp - 0x186c]
add ecx, 0x58
call fcn.0047b821
mov eax, dword [ebp - 0x186c]
add eax, 0x6fa4c
push eax
push str._Launch__TCLS_Launcher::RealLaunchByNetbar_Set_Cliet_work_directory_:__s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
mov dword [ebp - 0x1908], 0x44
mov ecx, dword [ebp - 0x186c]
call fcn.0047624e
push 1
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
mov ecx, dword [ebp - 0x186c]
add ecx, 0x58
call fcn.0047cd13
mov dword [ebp - 0x1870], eax
cmp dword [ebp - 0x1870], 0
je 0x474f66
push 0x585ec8
lea eax, [ebp - 0x1868]
push eax
call fcn.0044ae06
pop ecx
pop ecx
and dword [ebp - 4], 0
call fcn.004cf563
cdq
push 0x64
pop ecx
idiv ecx
mov dword [ebp - 0x188c], edx
lea ecx, [ebp - 0x1868]
call fcn.004059a0
mov dword [ebp - 0x1890], eax
push dword [ebp - 0x188c]
mov eax, dword [ebp - 0x186c]
add eax, 0x5e1ec
push eax
push dword [ebp - 0x1890]
push str._s_s_d
push 0
push 0x104
mov eax, dword [ebp - 0x186c]
add eax, 0x5e3f4
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x68
push eax
call fcn.0047e608
add esp, 0x20
cmp dword [ebp - 0x1870], 0
je 0x474966
mov eax, dword [ebp - 0x186c]
add eax, 0x5e3f4
push eax
mov ecx, dword [ebp - 0x186c]
call fcn.0046e737
mov dword [ebp - 0x1870], eax
cmp dword [ebp - 0x1870], 0
jne 0x474966
and dword [ebp - 0x1894], 0
lea eax, [ebp - 0x218]
test eax, eax
je 0x474950
mov eax, 0x104
test eax, eax
jle 0x474950
mov eax, 0x53a9ec
test eax, eax
je 0x474950
and dword [ebp - 0x1884], 0
mov eax, 0x53a9ec
test eax, eax
je 0x474924
push 0x53a9ec
call fcn.004cc4f3
pop ecx
cmp eax, 0x104
jae 0x474924
mov dword [ebp - 0x1884], 1
cmp dword [ebp - 0x1884], 0
je 0x474950
push 0x53a9ec
push 0x104
lea eax, [ebp - 0x218]
push eax
call fcn.004cc3b7
add esp, 0xc
mov dword [ebp - 0x1894], 1
push 0x53aabc
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d5fa
pop ecx
pop ecx
cmp dword [ebp - 0x1870], 0
je 0x474f26
push 0x410
push 0
lea eax, [ebp - 0xc40]
push eax
call fcn.004b0090
add esp, 0xc
push 0x53ab94
push 0x208
lea eax, [ebp - 0xc40]
push eax
push str.commandline
push 0x53ae04
mov ecx, dword [ebp - 0x186c]
add ecx, 0x619b0
call fcn.0040eeb4
lea eax, [ebp - 0xc40]
push eax
push str._TCLS_Launcher__RealLaunchByNetbar_got_cmd_in_cfg:_s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
push 0x410
push 0
lea eax, [ebp - 0x830]
push eax
call fcn.004b0090
add esp, 0xc
push 0x53abf4
push 0x208
lea eax, [ebp - 0x830]
push eax
push str.railtclsoption
push 0x53aea4
mov ecx, dword [ebp - 0x186c]
add ecx, 0x619b0
call fcn.0040eeb4
lea eax, [ebp - 0x830]
push eax
push str._TCLS_Launcher__RealLaunchByTGP_got_rail_tcls_option:_s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
push 0x800
push 0
lea eax, [ebp - 0x1850]
push eax
call fcn.004b0090
add esp, 0xc
lea eax, [ebp - 0x830]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x6f94c
push eax
lea eax, [ebp - 0xc40]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
push str.__s___s__s__s
push 0x400
lea eax, [ebp - 0x1850]
push eax
call fcn.0041cdb4
add esp, 0x1c
lea eax, [ebp - 0x1850]
push eax
push str.__TCLS_Launcher__RealLaunchByNetbar_finial_cmd:_s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
lea eax, [ebp - 0x18b0]
push eax
lea eax, [ebp - 0x1908]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x6fa4c
push eax
push 0
push 4
push 1
push 0
push 0
lea eax, [ebp - 0x1850]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x1880], eax
mov eax, dword [ebp - 0x1880]
mov dword [ebp - 0x1870], eax
cmp dword [ebp - 0x1870], 0
je 0x474b34
mov eax, dword [ebp - 0x186c]
mov ecx, dword [ebp - 0x18b0]
mov dword [eax + 0x88], ecx
mov eax, dword [ebp - 0x186c]
mov ecx, dword [ebp - 0x18a8]
mov dword [eax + 0x8c], ecx
mov eax, dword [ebp - 0x186c]
mov ecx, dword [ebp - 0x18a8]
mov dword [eax + 0x6f748], ecx
cmp dword [ebp - 0x1870], 0
je 0x474e9e
mov eax, dword [ebp - 0x186c]
and dword [eax + 0x61fec], 0
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
push str._Launch__TCLS_Launcher::RealLaunchByNetbar_Create_Process__s_Success
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
mov eax, dword [ebp - 0x186c]
add eax, 0x6f94c
push eax
call fcn.004cc4f3
pop ecx
test eax, eax
jbe 0x474baa
mov eax, dword [ebp - 0x186c]
add eax, 0x6f94c
push eax
push str._Launch__TCLS_Launcher::RealLaunchByNetbar_CommandLine_:__s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
and dword [ebp - 0x187c], 0
and dword [ebp - 0x1878], 0
and dword [ebp - 0x1874], 0
lea eax, [ebp - 0x1874]
push eax
push 5
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x70]
call dword [eax + 0x28]
cmp dword [ebp - 0x1874], 0
je 0x474c19
mov eax, dword [ebp - 0x1874]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1874]
call dword [eax + 0x78]
mov dword [ebp - 0x187c], eax
mov eax, dword [ebp - 0x1874]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1874]
call dword [eax + 0x84]
mov dword [ebp - 0x1878], eax
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x6fc88], 0
je 0x474c6b
push dword [ebp - 0x1878]
push dword [ebp - 0x187c]
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x8c]
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x61fc8]
mov eax, dword [ebp - 0x186c]
add eax, 0x61dc8
push eax
mov ecx, dword [ebp - 0x186c]
call fcn.004713ec
mov dword [ebp - 0x1870], eax
jmp 0x474cac
push dword [ebp - 0x1878]
push dword [ebp - 0x187c]
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x8c]
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x61fc8]
mov eax, dword [ebp - 0x186c]
add eax, 0x61dc8
push eax
mov ecx, dword [ebp - 0x186c]
call fcn.004701e3
mov dword [ebp - 0x1870], eax
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004b0090
add esp, 0xc
push 0x53ae14
push 0x104
lea eax, [ebp - 0x420]
push eax
push str.Path
push str.Cross
mov ecx, dword [ebp - 0x186c]
add ecx, 0x619b0
call fcn.0040eeb4
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x186c]
add ecx, 0x68
call fcn.0047cfd0
test eax, eax
jne 0x474d9d
push 0x410
push 0
lea eax, [ebp - 0x1050]
push eax
call fcn.004b0090
add esp, 0xc
mov eax, dword [ebp - 0x186c]
add eax, 0x623fc
push eax
push 0x208
lea eax, [ebp - 0x1050]
push eax
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x186c]
add ecx, 0x58
call fcn.0047e1a4
push 0x208
lea eax, [ebp - 0x1050]
push eax
mov ecx, dword [ebp - 0x186c]
add ecx, 0x58
call fcn.0047e6c6
mov ecx, dword [ebp - 0x186c]
call fcn.0047693d
mov dword [ebp - 0x1898], eax
push dword [ebp - 0x1898]
lea eax, [ebp - 0x1050]
push eax
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x6f748]
mov ecx, dword [ebp - 0x186c]
call fcn.00476cb0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x186c]
mov dword [ecx + 0x78], eax
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x7c], 0
jne 0x474e08
mov dword [ebp - 0x18c0], 0x47aa3e
mov dword [ebp - 0x18bc], 0x24
and dword [ebp - 0x18b8], 0
and dword [ebp - 0x18b4], 0
sub esp, 0x10
lea esi, [ebp - 0x18c0]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push 0x64
mov ecx, dword [ebp - 0x186c]
add ecx, 0x20
call fcn.0047e3cf
mov eax, dword [ebp - 0x186c]
mov dword [eax + 0x7c], 1
cmp dword [ebp - 0x1870], 0
jne 0x474e55
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x53b0c8
push 0
push 0x104
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x68
push eax
call fcn.0047e608
add esp, 0x18
push str._Launch__TCLS_Launcher::RealLaunchByNetbar_Save_Game_Info_Fail_
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d5fa
pop ecx
pop ecx
jmp 0x474e8d
push dword [ebp - 0x18ac]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0x189c], eax
cmp dword [ebp - 0x189c], 0xffffffff
jne 0x474e8d
push dword [sym.imp.KERNEL32.dll_GetLastError]
push str._Launch__TCLS_Launcher::RealLaunchByNetbar_Resume_Thread_Fail_GetLastError_____d
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d5fa
add esp, 0xc
push dword [ebp - 0x18ac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x474f26
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
push 0x53b02c
push 0
push 0x104
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x68
push eax
call fcn.0047e608
add esp, 0x1c
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x6199c], 0
je 0x474f08
push 0
push 0x1e
push 2
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x6199c]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x6199c]
call dword [eax + 0xc]
lea eax, [ebp - 0x218]
push eax
push str._Launch__TCLS_Launcher::RealLaunchByNetbar__s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d5fa
add esp, 0xc
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1868]
call fcn.00405a40
mov dword [ebp - 4], 2
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1868]
mov dword [ebp - 0x18c4], eax
mov dword [ebp - 4], 3
mov dword [ebp - 4], 4
or dword [ebp - 4], 0xffffffff
jmp 0x474fec
mov eax, dword [ebp - 0x186c]
cmp dword [eax + 0x6199c], 0
je 0x474f98
push 0
push 3
push 2
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x6199c]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x6199c]
call dword [eax + 0xc]
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
push str.b_rN0R
push 0
push 0x104
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x186c]
add eax, 0x68
push eax
call fcn.0047e608
add esp, 0x18
mov eax, dword [ebp - 0x186c]
add eax, 0x6f74c
push eax
push str._Launch__TCLS_Launcher::Launch__s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d5fa
add esp, 0xc
cmp dword [ebp - 0x1870], 0
je 0x475071
and dword [ebp - 0x18a0], 0
lea eax, [ebp - 0x18a0]
push eax
push 3
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x70]
call dword [eax + 0x28]
push 0
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x78]
mov eax, dword [ebp - 0x186c]
add eax, 0x623fc
push eax
mov eax, 0xba0
imul eax, eax, 0
mov ecx, dword [ebp - 0x186c]
push dword [ecx + eax + 0xe50]
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x61dc4]
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x9c]
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x186c]
call dword [eax + 0x70]
cmp dword [ebp - 0x1870], 0
je 0x4750ae
push str._Launcher__TCLS_Launcher::RealLaunchByNetbar_OnMessage__CommandID_:_SC_LAUNCHGAMESUCCESS
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
pop ecx
pop ecx
mov eax, dword [ebp - 0x186c]
push dword [eax + 0x8c]
push 0x10000400
mov ecx, dword [ebp - 0x186c]
call fcn.00479528
jmp 0x4750e3
lea eax, [ebp - 0x218]
push eax
push str._Launcher__TCLS_Launcher::RealLaunchByNetbar_OnMessage__CommandID_:_SC_LAUNCHGAMESUCCESS__Error_:__s
mov eax, dword [ebp - 0x186c]
add eax, 0x69
push eax
call fcn.0047d64c
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x10000401
mov ecx, dword [ebp - 0x186c]
call fcn.004795a0
cmp dword [ebp - 0x1880], 0
jne 0x475107
mov eax, dword [ebp - 0x186c]
mov eax, dword [eax + 0x61ff4]
or eax, 0x40
mov ecx, dword [ebp - 0x186c]
mov dword [ecx + 0x61ff4], eax
mov eax, dword [ebp - 0x1870]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ad99f
leave
ret 4