Function at 0x109288e0
Capabilities:
Accept command line arguments
Check mutex on windows
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1092b36d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1228
call fcn.109225b0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
call fcn.109052bd
call dword [sym.imp.kernel32.dll_GetCommandLineW]
mov edi, eax
push 0x10936a2c
push edi
mov ebx, dword [sym.imp.Core.dll_wchar_t_const____cdecl_appStrfind_wchar_t_const___wchar_t_const__]
call ebx
add esp, 8
test eax, eax
jne 0x10929448
push 0x10936a54
push edi
call ebx
add esp, 8
test eax, eax
jne 0x10929448
push 0x10929500
call fcn.10915aa4
push 0x109294d0
push 0x16
call fcn.10915dca
add esp, 0xc
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 4], 0
lea eax, [ebp - 0xa38]
push eax
push 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
test eax, eax
je 0x10928994
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x109294b3
mov dword [ebp - 0x18], 0
mov eax, dword [sym.imp.Core.dll_int_GIsStarted]
mov dword [eax], 1
mov eax, dword [ebp + 8]
mov dword [0x1098b7a0], eax
call dword [sym.imp.Core.dll_wchar_t_const____cdecl_appPackage_void_]
push eax
push sym.L2.exe_GPackage
mov esi, dword [sym.imp.Core.dll_wchar_t____cdecl_appStrcpy_wchar_t___wchar_t_const__]
call esi
push 0x10936adc
push edi
call ebx
add esp, 0x10
test eax, eax
je 0x109289dc
mov eax, dword [sym.imp.Core.dll_int_GL2ReplayMode]
mov dword [eax], 1
push 0x10936aec
push edi
call ebx
add esp, 8
test eax, eax
jne 0x109289fa
push 0x10936b10
push edi
call ebx
add esp, 8
test eax, eax
je 0x10928a05
mov eax, dword [sym.imp.Core.dll_int_GL2CheckResource]
mov dword [eax], 1
push 0x10936b1c
push edi
call ebx
add esp, 8
test eax, eax
je 0x10928a1f
mov eax, dword [sym.imp.Core.dll_int_GL2NPGEPacking]
mov dword [eax], 1
push 0x10936b2c
push edi
call ebx
add esp, 8
test eax, eax
je 0x10928a39
mov eax, dword [sym.imp.Core.dll_int_GL2NVPerfHUD]
mov dword [eax], 1
mov byte [ebp - 4], 1
wait
xor al, al
mov byte [ebp - 0x11], al
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
xor ecx, ecx
mov eax, dword [sym.imp.Core.dll_enum_ERunningOS_GRunningOS]
cmp dword [eax], 5
sete cl
mov dword [ebp - 0x34], ecx
mov byte [ebp - 4], 2
mov eax, dword [sym.imp.Core.dll_int_GIsGuarded]
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GIsClient]
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GL2ClientOrder]
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GUnicodeOS]
push 0x10936b40
cmp dword [eax], 0
je 0x10928aa8
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateMutexW]
jmp 0x10928afd
mov ebx, dword [sym.imp.Core.dll_int___cdecl_winGetSizeANSI_wchar_t_const__]
call ebx
add esp, 4
test eax, eax
jne 0x10928abb
xor esi, esi
jmp 0x10928ad5
push 0x10936b40
call ebx
add esp, 4
add eax, 7
and eax, 0xfffffff8
call fcn.10924dc0
mov dword [ebp - 0x10], esp
mov esi, esp
push 0x10936b40
call ebx
push eax
push 0x10936b40
push esi
call dword [sym.imp.Core.dll_char____cdecl_winToANSI_char___wchar_t_const___int_]
add esp, 0x10
push eax
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateMutexA]
mov esi, dword [sym.imp.Core.dll_wchar_t____cdecl_appStrcpy_wchar_t___wchar_t_const__]
mov ecx, eax
mov eax, dword [sym.imp.Core.dll_void__GL2RunningFirstHandle]
mov dword [eax], ecx
call dword [sym.imp.kernel32.dll_GetLastError]
xor ecx, ecx
cmp eax, 0xb7
sete cl
test ecx, ecx
je 0x10928b25
mov eax, dword [sym.imp.Core.dll_int_GL2ClientOrder]
mov dword [eax], 2
push 0x10943f20
push 1
push dword [sym.imp.Core.dll_public:_static_class_FConfigCache____cdecl_FConfigCacheIni::Factory_void_]
push 0x109892e8
push 0x10944738
push 0x109892d8
push 0x10984ec8
push 0x10944758
push edi
push sym.L2.exe_GPackage
call dword [sym.imp.Core.dll_void___cdecl_appInit_wchar_t_const___wchar_t_const___class_FMalloc___class_FOutputDevice___class_FOutputDeviceError___class_FFeedbackContext___class_FFileManager___class_FConfigCache_____cdecl___void___int__class_FCodec__]
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GNetworkLog]
mov dword [eax], 0x10943f24
mov dword [ebp - 0x588], 0
push 0x1fc
push 0
lea eax, [ebp - 0x584]
push eax
call fcn.10916830
add esp, 0x34
push 0x10936b74
call dword [sym.imp.Core.dll_wchar_t_const____cdecl_appBaseDir_void_]
push eax
push 0x10932cfc
lea eax, [ebp - 0x588]
push eax
call dword [sym.imp.Core.dll_int___cdecl_appSprintf_wchar_t___wchar_t_const__]
lea eax, [ebp - 0x588]
push eax
push 0x10989b10
call esi
add esp, 0x18
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GCheckGrpLog]
mov dword [eax], 0x10989b08
mov eax, dword [sym.imp.Core.dll_class_FCodec__GL2DESCodec]
mov dword [eax], 0x1098bdc0
mov eax, dword [sym.imp.Core.dll_int_GIsServer]
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GIsClient]
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GIsEditor]
mov dword [eax], 0
mov eax, dword [sym.imp.Core.dll_int_GIsScriptable]
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GIsClient]
cmp dword [eax], 0
je 0x10928c1a
push 0x10936b90
call dword [sym.imp.Core.dll_wchar_t_const____cdecl_appCmdLine_void_]
push eax
call dword [sym.imp.Core.dll_int___cdecl_ParseParam_wchar_t_const___wchar_t_const__]
add esp, 8
test eax, eax
jne 0x10928c1a
xor ecx, ecx
jmp 0x10928c1f
mov ecx, 1
mov eax, dword [sym.imp.Core.dll_int_GLazyLoad]
mov dword [eax], ecx
xor esi, esi
mov dword [ebp - 0x1c], esi
xor ebx, ebx
mov dword [ebp - 0x40], ebx
rdtsc
push eax
call dword [sym.imp.Core.dll_void___cdecl_appRandInit_int_]
add esp, 4
mov ecx, 1
mov eax, dword [sym.imp.Core.dll_enum_ERunningOS_GRunningOS]
cmp dword [eax], 8
cmovge esi, ecx
mov dword [ebp + 8], esi
xor esi, esi
mov dword [ebp - 0x50], esi
cmp esi, 0x64
jge 0x10928ce4
push esi
push 0x10936b9c
lea eax, [ebp - 0x180]
push eax
call fcn.10915345
push 0x10936bbc
lea eax, [ebp - 0x180]
push eax
call fcn.109162d1
add esp, 0x14
test eax, eax
je 0x10928c9b
mov dword [ebp + ebx*4 - 0x8a8], esi
inc ebx
mov dword [ebp - 0x40], ebx
push eax
call fcn.1091656c
add esp, 4
push esi
push 0x10936bc0
lea eax, [ebp - 0x180]
push eax
call fcn.10915345
push 0x10936bbc
lea eax, [ebp - 0x180]
push eax
call fcn.109162d1
add esp, 0x14
mov ecx, eax
test ecx, ecx
je 0x10928cde
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x718], esi
inc eax
mov dword [ebp - 0x1c], eax
push ecx
call fcn.1091656c
add esp, 4
inc esi
jmp 0x10928c51
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::constructor_void_]
mov byte [ebp - 4], 3
cmp dword [ebp + 8], 0
je 0x10928d7d
test ebx, ebx
jle 0x10928d7d
call dword [sym.imp.Core.dll_int___cdecl_appRand_void_]
cdq
idiv ebx
push dword [ebp + edx*4 - 0x8a8]
push 0x10936be0
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.Core.dll_public:_static_class_FString___cdecl_FString::Printf_wchar_t_const__]
add esp, 0xc
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Core.dll_public:_class_FString____thiscall_FString::operator_class_FString_const__]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x74]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
xor eax, eax
jne 0x10928d73
push 0x10936c20
push edi
call dword [sym.imp.Core.dll_int___cdecl_ParseParam_wchar_t_const___wchar_t_const__]
add esp, 8
test eax, eax
jne 0x10928d73
push 0x10936c30
push edi
mov eax, dword [sym.imp.Core.dll_wchar_t_const____cdecl_appStrfind_wchar_t_const___wchar_t_const__]
call eax
add esp, 8
test eax, eax
jne 0x10928d73
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x3c]
call fcn.10908850
mov bl, 1
mov byte [ebp - 0x11], bl
jmp 0x10928dff
mov esi, dword [ebp - 0x1c]
test esi, esi
jle 0x10928dfc
call dword [sym.imp.Core.dll_int___cdecl_appRand_void_]
cdq
idiv esi
push dword [ebp + edx*4 - 0x718]
push 0x10936c48
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.Core.dll_public:_static_class_FString___cdecl_FString::Printf_wchar_t_const__]
add esp, 0xc
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Core.dll_public:_class_FString____thiscall_FString::operator_class_FString_const__]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x68]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
xor eax, eax
jne 0x10928dfc
push 0x10936c20
push edi
call dword [sym.imp.Core.dll_int___cdecl_ParseParam_wchar_t_const___wchar_t_const__]
add esp, 8
test eax, eax
jne 0x10928dfc
push 0x10936c30
push edi
mov eax, dword [sym.imp.Core.dll_wchar_t_const____cdecl_appStrfind_wchar_t_const___wchar_t_const__]
call eax
add esp, 8
test eax, eax
jne 0x10928dfc
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Core.dll_public:_wchar_t_const____thiscall_FString::operator_void_const]
mov ecx, eax
call fcn.1092a1c0
mov bl, byte [ebp - 0x11]
call fcn.10927d30
call dword [sym.imp.Core.dll_double___cdecl_appSecondsQPC_void_]
mov eax, dword [sym.imp.Core.dll_double_GInitLocalTime]
fstp qword [eax]
call dword [sym.imp.kernel32.dll_GetSystemDefaultLCID]
mov esi, eax
mov ecx, dword [sym.imp.Core.dll_class_FConfigCache__GConfig]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0x10936c88
push dword [sym.imp.Core.dll_int_GLanguageType]
push 0x10936cac
push 0x10936cc0
call dword [edx + 8]
mov eax, dword [sym.imp.Core.dll_int_GLanguageType]
cmp dword [eax], 8
jne 0x10928e97
cmp esi, 0x412
je 0x10928e97
cmp esi, 0x419
je 0x10928e97
push 0
push 0x10936cd8
push 0x10936ce4
push 0
call dword [sym.imp.user32.dll_MessageBoxW]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.10908980
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
wait
jmp 0x109294b5
call dword [sym.imp.Engine.dll_public:_static_class_ConnectInfo____cdecl_TSingleton_class_ConnectInfo_::GetObj_void_]
mov ecx, eax
call dword [sym.imp.Engine.dll_public:_void___thiscall_ConnectInfo::InitAuthnTokenFromCmdLine_void_]
mov eax, dword [sym.imp.Core.dll_int_GL2UseSteam]
cmp dword [eax], 0
je 0x10928f3a
push 0
call dword [sym.imp.steam_api.dll_SteamAPI_RestartAppIfNecessary]
add esp, 4
test al, al
jne 0x10928e69
call dword [sym.imp.steam_api.dll_SteamAPI_Init]
test al, al
jne 0x10928eda
push 0
push 0x10936d18
push 0x10936d24
jmp 0x10928e61
push 0x400
lea eax, [ebp - 0xe38]
push eax
call fcn.10916308
push 0x10936d44
lea eax, [ebp - 0xe38]
push eax
push 0x10936d54
push 0x400
lea eax, [ebp - 0x1238]
push eax
call fcn.10916021
add esp, 0x1c
call dword [sym.imp.steam_api.dll_SteamController]
mov edx, dword [eax]
lea ecx, [ebp - 0x1238]
push ecx
mov ecx, eax
mov eax, dword [edx]
call eax
test al, al
jne 0x10928f3a
push 0
push 0x10936d18
push 0x10936d5c
jmp 0x10928e61
mov eax, dword [sym.imp.Core.dll_int_GIsRequestingExit]
cmp dword [eax], 0
je 0x10928f77
test bl, bl
je 0x10928f61
lea ecx, [ebp - 0x3c]
call fcn.10908980
call dword [sym.imp.Core.dll_void___cdecl_appPreExit_void_]
call dword [sym.imp.Core.dll_void___cdecl_appExit_void_]
jmp 0x10928e69
call fcn.1092a110
call dword [sym.imp.Core.dll_void___cdecl_appPreExit_void_]
call dword [sym.imp.Core.dll_void___cdecl_appExit_void_]
jmp 0x10928e69
call dword [sym.imp.Window.dll_void___cdecl_InitWindowing_void_]
push 0x10936d88
mov esi, dword [sym.imp.Core.dll_wchar_t_const____cdecl_appCmdLine_void_]
call esi
push eax
call dword [sym.imp.Core.dll_int___cdecl_ParseParam_wchar_t_const___wchar_t_const__]
add esp, 8
mov ecx, dword [sym.imp.Core.dll_int_GIsBenchmarking]
mov dword [ecx], eax
mov eax, dword [sym.imp.Core.dll_int_GIsBenchmarking]
cmp dword [eax], 0
je 0x10928fca
mov eax, dword [sym.imp.Core.dll_class_FConfigCache__GConfig]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [sym.imp.Core.dll_wchar_t__GIni]
call dword [eax + 0x4c]
mov eax, dword [sym.imp.Core.dll_class_FConfigCache__GConfig]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [sym.imp.Core.dll_wchar_t__GUserIni]
call dword [eax + 0x4c]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
call fcn.10929910
mov ebx, eax
test ebx, ebx
je 0x1092917f
call fcn.109057d0
test eax, eax
je 0x1092905a
mov ecx, dword [sym.imp.Core.dll_int_GIsL2NetLog]
cmp dword [ecx], 0
je 0x1092905a
mov dword [ebp - 0x380], 0
push 0x1fc
push 0
lea eax, [ebp - 0x37c]
push eax
call fcn.10916830
add esp, 0xc
push 0x10936d9c
call dword [sym.imp.Core.dll_wchar_t_const____cdecl_appBaseDir_void_]
push eax
push 0x10932cfc
lea eax, [ebp - 0x380]
push eax
call dword [sym.imp.Core.dll_int___cdecl_appSprintf_wchar_t___wchar_t_const__]
lea eax, [ebp - 0x380]
push eax
push 0x10943f30
call dword [sym.imp.Core.dll_wchar_t____cdecl_appStrcpy_wchar_t___wchar_t_const__]
add esp, 0x18
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GNetworkLog]
mov dword [eax], 0x10943f28
jmp 0x10929065
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GNetworkLog]
mov dword [eax], 0x10943f24
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
cmp dword [eax], 0
je 0x1092909a
push 0
push sym.L2.exe_GPackage
push 0x10934d20
call dword [sym.imp.Core.dll_wchar_t_const____cdecl_LocalizeGeneral_wchar_t_const___wchar_t_const___wchar_t_const__]
add esp, 0xc
push eax
push 0x314
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
mov ecx, dword [eax]
add ecx, 0x40
call dword [sym.imp.Core.dll_public:_void___thiscall_FOutputDevice::Log_enum_EName__wchar_t_const__]
mov al, byte [ebp - 0x11]
test al, al
je 0x109290ab
lea ecx, [ebp - 0x3c]
call fcn.10908980
jmp 0x109290b0
call fcn.1092a110
lea ecx, [ebp - 0x4c]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::constructor_void_]
mov byte [ebp - 4], 6
push 0
lea eax, [ebp - 0x4c]
push eax
push 0x10936db4
call esi
push eax
call dword [sym.imp.Core.dll_int___cdecl_Parse_wchar_t_const___wchar_t_const___class_FString___int_]
add esp, 0x10
test eax, eax
je 0x10929161
push 0x10936dc0
lea ecx, [ebp - 0x80]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::constructor_wchar_t_const__]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, eax
call dword [sym.imp.Core.dll_public:_class_FString___thiscall_FString::operator_class_FString_const__]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.Core.dll_public:_class_FString____thiscall_FString::operator_class_FString_const__]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x5c]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x80]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x10929161
cmp dword [eax + 0x3c], 0
je 0x10929161
mov eax, dword [eax + 0x38]
mov esi, dword [eax]
test esi, esi
je 0x10929161
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
mov eax, dword [eax]
test eax, eax
je 0x1092914c
add eax, 0x40
jmp 0x1092914e
xor eax, eax
mov edi, dword [esi + 0x38]
push eax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.Core.dll_public:_wchar_t_const____thiscall_FString::operator_void_const]
push eax
lea ecx, [esi + 0x38]
call dword [edi]
mov eax, dword [sym.imp.Core.dll_int_GIsRequestingExit]
cmp dword [eax], 0
jne 0x10929172
mov ecx, ebx
call fcn.10929580
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call dword [sym.imp.Core.dll_public:_void___thiscall_FString::destructor_void_]
mov eax, dword [sym.imp.Core.dll_class_FFileManager__GFileManager]
mov ecx, dword [eax]
mov eax, dword [ecx]
push 0
push 0
push 0x109351a4
call dword [eax + 0x18]
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
mov ecx, dword [eax]
test ecx, ecx
je 0x10929254
mov eax, dword [sym.imp.Core.dll_int_GUnicodeOS]
push 0x10936dcc
cmp dword [eax], 0
je 0x109291bd
push dword [ecx + 4]
call dword [sym.imp.user32.dll_RemovePropW]
jmp 0x10929217
mov esi, dword [sym.imp.Core.dll_int___cdecl_winGetSizeANSI_wchar_t_const__]
call esi
add esp, 4
test eax, eax
jne 0x109291d0
xor edi, edi
jmp 0x109291ea
push 0x10936dcc
call esi
add esp, 4
add eax, 7
and eax, 0xfffffff8
call fcn.10924dc0
mov dword [ebp - 0x10], esp
mov edi, esp
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
mov eax, dword [eax]
mov esi, dword [eax + 4]
push 0x10936dcc
call dword [sym.imp.Core.dll_int___cdecl_winGetSizeANSI_wchar_t_const__]
push eax
push 0x10936dcc
push edi
call dword [sym.imp.Core.dll_char____cdecl_winToANSI_char___wchar_t_const___int_]
add esp, 0x10
push eax
push esi
call dword [sym.imp.user32.dll_RemovePropA]
push 0
push sym.L2.exe_GPackage
push 0x10936de0
call dword [sym.imp.Core.dll_wchar_t_const____cdecl_LocalizeGeneral_wchar_t_const___wchar_t_const___wchar_t_const__]
add esp, 0xc
push eax
push 0x314
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
mov ecx, dword [eax]
add ecx, 0x40
call dword [sym.imp.Core.dll_public:_void___thiscall_FOutputDevice::Log_enum_EName__wchar_t_const__]
mov eax, dword [sym.imp.Window.dll_class_WLog__GLogWindow]
mov ecx, dword [eax]
test ecx, ecx
je 0x10929254
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
call dword [sym.imp.Core.dll_void___cdecl_appPreExit_void_]
mov eax, dword [sym.imp.Core.dll_int_GIsGuarded]
mov dword [eax], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.10908980
wait
mov dword [ebp - 4], 0
mov eax, dword [sym.imp.Core.dll_int_GL2UseSteam]
cmp dword [eax], 0
je 0x109292a5
mov ebx, dword [sym.imp.steam_api.dll_SteamController]
call ebx
test eax, eax
je 0x1092929f
call ebx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
call dword [sym.imp.steam_api.dll_SteamAPI_Shutdown]
mov byte [ebp - 4], 0xa
wait
mov ecx, dword [sym.imp.Engine.dll_class_FStats_GStats]
call dword [sym.imp.Engine.dll_public:_void___thiscall_FStats::Release_void_]
call dword [sym.imp.Core.dll_void___cdecl_appExit_void_]
wait
mov dword [ebp - 4], 0
mov eax, dword [sym.imp.Core.dll_int_GIsStarted]
mov dword [eax], 0
call dword [sym.imp.ws2_32.dll_WSACleanup]
mov eax, dword [sym.imp.Core.dll_int_GL2ShowCMViewer]
cmp dword [eax], 0
je 0x109292f3
push 0
push 0x10936dec
push 0x10936dec
call fcn.10915ac6
add esp, 0xc
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GNetworkLog]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [sym.imp.Core.dll_wchar_t_const____cdecl_appTimestamp_void_]
cmp dword [0x10984ecc], 0
je 0x10929372
call esi
push eax
push 0x1093605c
push 0x2f8
push 0x10984ec8
mov edi, dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf_enum_EName__wchar_t_const__]
call edi
add esp, 0x10
mov ecx, dword [0x10984ecc]
test ecx, ecx
je 0x10929378
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x10929378
mov edi, dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf_enum_EName__wchar_t_const__]
mov dword [0x10984ecc], 0
cmp dword [0x10943f2c], 0
je 0x109293b2
call esi
push eax
push 0x1093605c
push 0x2f8
push 0x10943f28
call edi
add esp, 0x10
mov ecx, dword [0x10943f2c]
test ecx, ecx
je 0x109293b2
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x10943f2c], 0
cmp dword [0x10989b0c], 0
je 0x109293ec
call esi
push eax
push 0x1093605c
push 0x2f8
push 0x10989b08
call edi
add esp, 0x10
mov ecx, dword [0x10989b0c]
test ecx, ecx
je 0x109293ec
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x10989b0c], 0
cmp dword [0x109892fc], 0
je 0x10929426
call esi
push eax
push 0x1093605c
push 0x2f8
push 0x109892f8
call edi
add esp, 0x10
mov ecx, dword [0x109892fc]
test ecx, ecx
je 0x10929426
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x109892fc], 0
call dword [sym.imp.Core.dll_void___cdecl_appDumpAlloc_void_]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x18]
jmp 0x109294b5
mov dword [ebp - 0x18], 0
lea eax, [ebp + 0xb]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1d]
push eax
push 0x10936a60
push 0x10936a74
call fcn.109153c9
xor eax, eax
mov word [ebp - 0x388], ax
push 0x206
push eax
lea eax, [ebp - 0x386]
push eax
call fcn.10916830
push dword [ebp - 0x18]
push 0x10936a88
lea eax, [ebp - 0x388]
push eax
call dword [sym.imp.Core.dll_int___cdecl_appSprintf_wchar_t___wchar_t_const__]
add esp, 0x2c
push 0
push 0x10936ab8
lea eax, [ebp - 0x388]
push eax
push 0
call dword [sym.imp.user32.dll_MessageBoxW]
xor eax, eax
lea esp, [ebp - 0x1244]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10