Function at 0x10908690
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x109418d2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x33
lea eax, [ebp - 0x90]
push 0x10944ec4
push eax
call dword [sym.imp.msvcr71.dll_strncpy]
mov ecx, dword [sym.imp.core.dll_int_GIsStarted]
mov edx, dword [ebp + 8]
mov dword [ecx], 1
add esp, 0xc
mov dword [ebp - 0x38], 0
mov dword [0x109545e0], edx
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov esi, eax
call dword [sym.imp.core.dll_char_const____fastcall_appPackage_void_]
mov edx, eax
mov ecx, sym.CT.exe_GPackage
call dword [sym.imp.core.dll_char____fastcall_appStrcpy_char___char_const__]
call dword [sym.imp.kernel32.dll_GetUserDefaultLCID]
and eax, 0xff
add eax, 0xfffffffc
cmp eax, 0x12
ja case.0x1090871c.5
movzx eax, byte [eax + 0x10908fa0]
jmp dword [eax*4 + 0x10908f78]
mov ecx, 0x10944ec0
jmp 0x10908760
mov ecx, 0x10944ebc
jmp 0x10908760
mov ecx, 0x10944eb8
jmp 0x10908760
mov ecx, 0x10944eb4
jmp 0x10908760
mov ecx, 0x10944eb0
jmp 0x10908760
mov ecx, 0x10944eac
jmp 0x10908760
mov ecx, 0x10944ea8
jmp 0x10908760
mov ecx, 0x10944ea4
jmp 0x10908760
mov ecx, 0x10944ea0
call dword [sym.imp.core.dll_public:_static_void___fastcall_UObject::SetLanguage_char_const__]
mov edi, dword [sym.imp.core.dll_char_const____fastcall_appStrfind_char_const___char_const__]
mov edx, 0x10944e94
mov ecx, esi
call edi
test eax, eax
jne 0x109087e6
mov edx, 0x10944e88
mov ecx, esi
call edi
test eax, eax
jne 0x109087e6
mov edx, 0x10944e7c
mov ecx, esi
call edi
test eax, eax
jne 0x109087e6
mov edx, 0x10944e74
lea ecx, [ebp - 0x190]
call fcn.10901240
mov ebx, dword [sym.imp.user32.dll_FindWindowExA]
push 0
lea ecx, [ebp - 0x190]
push ecx
push 0
push 0
call ebx
mov edi, eax
test edi, edi
je 0x109087e6
mov edi, edi
push 0x10944e68
push edi
call dword [sym.imp.user32.dll_GetPropA]
test eax, eax
jne 0x109088d0
push eax
lea edx, [ebp - 0x190]
push edx
push eax
push edi
call ebx
mov edi, eax
test edi, edi
jne 0x109087c0
mov eax, dword [sym.imp.core.dll_int_GIsGuarded]
mov dword [eax], 1
mov ecx, dword [sym.imp.core.dll_int_GIsClient]
mov dword [ecx], 1
cmp byte [esi], 0x22
mov dword [ebp - 4], 0
jne 0x10908820
mov al, byte [esi + 1]
inc esi
test al, al
je 0x1090882f
cmp al, 0x22
jne 0x10908809
test al, al
je 0x10908820
inc esi
lea ebx, [ebx]
mov al, byte [esi]
test al, al
je 0x1090882f
cmp al, 0x20
jne 0x10908819
test al, al
je 0x1090882f
inc esi
push 1
push 0x10908630
push 0x109548f0
push 0x1095491c
push 0x10954928
mov edx, esi
mov ecx, sym.CT.exe_GPackage
call dword [sym.imp.core.dll_void___fastcall_appInit_char_const___char_const___class_FOutputDevice___class_FOutputDeviceError___class_FFeedbackContext___class_FConfigCache_____fastcall___void___int_]
mov edx, dword [sym.imp.core.dll_int_GIsServer]
mov esi, dword [sym.imp.core.dll_char_const____fastcall_appCmdLine_void_]
mov dword [edx], 1
call esi
mov edi, dword [sym.imp.core.dll_int___fastcall_ParseParam_char_const___char_const__]
mov edx, 0x10944e60
mov ecx, eax
call edi
mov edx, dword [sym.imp.core.dll_int_GIsClient]
xor ecx, ecx
test eax, eax
sete cl
mov dword [edx], ecx
mov eax, dword [sym.imp.core.dll_int_GIsEditor]
mov dword [eax], 0
mov ecx, dword [sym.imp.core.dll_int_GIsScriptable]
mov dword [ecx], 1
call esi
mov edx, 0x10944e58
mov ecx, eax
call edi
xor edx, edx
test eax, eax
mov eax, dword [sym.imp.core.dll_int_GUseFrontEnd]
sete dl
mov dword [eax], edx
mov ecx, dword [sym.imp.core.dll_int_GIsClient]
cmp dword [ecx], 0
je 0x10908928
call esi
mov edx, 0x10944e50
mov ecx, eax
call edi
test eax, eax
jne 0x10908928
jmp 0x1090892d
mov al, byte [esi]
test al, al
je 0x109088e2
cmp al, 0x20
je 0x109088e7
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x109088d6
cmp byte [esi], 0x20
jne 0x109088e8
inc esi
mov eax, dword [sym.imp.window.dll_unsigned_int_WindowMessageOpen]
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
mov ecx, esi
call dword [sym.imp.core.dll_int___fastcall_appStrlen_char_const__]
lea edx, [eax*4 + 4]
lea eax, [ebp + 8]
push eax
push 0x7530
push 3
lea ecx, [ebp - 0x48]
push ecx
push 0
push 0x4a
push edi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], esi
call dword [sym.imp.user32.dll_SendMessageTimeoutA]
xor eax, eax
jmp 0x10908f42
mov eax, 1
mov edx, dword [sym.imp.core.dll_int_GLazyLoad]
mov dword [edx], eax
call esi
mov edx, 0x10944e4c
mov ecx, eax
call edi
xor esi, esi
push esi
push 0x10944e44
lea ecx, [ebp - 0x44]
mov ebx, eax
call dword [sym.imp.core.dll_public:_void___thiscall_FString::constructor_char_const___bool_]
push sym.CT.exe_GPackage
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 1
call dword [sym.imp.core.dll_public:_class_FStringTemp___thiscall_FString::operator_char_const__]
push 0x10944e38
lea edx, [ebp - 0x54]
push edx
mov ecx, eax
mov byte [ebp - 4], 2
call dword [0x10943040]
push esi
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call dword [sym.imp.core.dll_public:_void___thiscall_TArray_char_::constructor_class_TArray_char__const___bool_]
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 7
call dword [sym.imp.core.dll_public:_void___thiscall_FStringTemp::destructor_void_]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 6
call dword [sym.imp.core.dll_public:_void___thiscall_FStringTemp::destructor_void_]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call dword [sym.imp.core.dll_public:_void___thiscall_FString::destructor_void_]
lea ecx, [ebp - 0x34]
call dword [sym.imp.core.dll_public:_char_const____thiscall_FString::operator_void_const]
mov ecx, dword [sym.imp.core.dll_class_FFileManager__GFileManager]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
cmp eax, esi
jge 0x109089dc
push 0x109438b4
lea ecx, [ebp - 0x34]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
call dword [sym.imp.core.dll_char_const____fastcall_appPackage_void_]
mov edx, eax
mov ecx, sym.CT.exe_GPackage
call dword [sym.imp.core.dll_char____fastcall_appStrcpy_char___char_const__]
cmp ebx, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp + 8], esi
jne 0x10908a3f
mov esi, dword [sym.imp.core.dll_char_const____fastcall_appCmdLine_void_]
call esi
mov edx, 0x10944e30
mov ecx, eax
call edi
test eax, eax
jne 0x10908a3f
call esi
mov edx, 0x10944e7c
mov ecx, eax
call dword [sym.imp.core.dll_char_const____fastcall_appStrfind_char_const___char_const__]
test eax, eax
jne 0x10908a3f
lea ecx, [ebp - 0x34]
call dword [sym.imp.core.dll_public:_char_const____thiscall_FString::operator_void_const]
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x24]
mov ecx, eax
call fcn.109012e0
mov eax, dword [sym.imp.core.dll_class_FConfigCache__GConfig]
mov dword [ebp - 0x3c], 0
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x1094400c
push 0x1094400c
call dword [edx + 4]
mov ecx, dword [sym.imp.core.dll_int_GIsClient]
cmp dword [ecx], 0
je 0x10908a7e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x24]
push edx
push eax
push ecx
call fcn.109040b0
mov edx, dword [sym.imp.core.dll_int_GIsRequestingExit]
cmp dword [edx], 0
je 0x10908abc
call fcn.10901460
call dword [sym.imp.core.dll_void___fastcall_appPreExit_void_]
call dword [sym.imp.core.dll_void___fastcall_appExit_void_]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call dword [sym.imp.core.dll_public:_void___thiscall_FString::destructor_void_]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call dword [sym.imp.window.dll_void___fastcall_InitWindowing_void_]
lea ecx, [ebp - 0x4c]
call sub.gamespymgr.dll_public:_void___thiscall_GameSpyCDKeyResponseInterface::constructor_void_
mov eax, dword [sym.imp.core.dll_class_FMalloc__GMalloc]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x1b4
mov byte [ebp - 4], 8
call dword [edx + 4]
mov esi, eax
mov dword [ebp + 8], esi
test esi, esi
mov byte [ebp - 4], 9
je 0x10908b1b
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 1
push 0x10944e28
call dword [sym.imp.core.dll_public:_void___thiscall_FName::constructor_char_const___enum_EFindName_]
push 0x1095492c
push 0x10954930
mov ecx, esi
call dword [sym.imp.window.dll_public:_void___thiscall_WLog::constructor_char_const___class_FArchive____class_FName__class_WWindow__]
mov dword [esi], 0x10944d38
jmp 0x10908b1d
xor esi, esi
mov eax, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov dword [eax], esi
mov ecx, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [ecx]
push 0
push ebx
mov byte [ebp - 4], 8
call dword [sym.imp.window.dll_public:_void___thiscall_WLog::OpenWindow_int__int_]
push 0
mov edx, sym.CT.exe_GPackage
mov ecx, 0x10944d30
call dword [sym.imp.core.dll_char_const____fastcall_LocalizeGeneral_char_const___char_const___char_const__]
mov edx, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [edx]
push eax
push 0x314
add ecx, 0x38
call dword [sym.imp.core.dll_public:_void___thiscall_FOutputDevice::Log_enum_EName__char_const__]
mov eax, dword [sym.imp.core.dll_int_GIsClient]
cmp dword [eax], 0
je 0x10908b88
mov ecx, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [ecx]
call dword [sym.imp.window.dll_public:_struct_HWND______thiscall_WWindow::operator_struct_HWND____void_const]
push 1
push 0x10944e68
push eax
call dword [sym.imp.user32.dll_SetPropA]
mov ebx, dword [sym.imp.core.dll_char_const____fastcall_appCmdLine_void_]
call ebx
mov edx, 0x10944d24
mov ecx, eax
call edi
mov edx, dword [sym.imp.core.dll_int_GIsBenchmarking]
mov dword [edx], eax
mov eax, dword [sym.imp.core.dll_int_GIsBenchmarking]
cmp dword [eax], 0
je 0x10908bce
mov ecx, dword [sym.imp.core.dll_class_FConfigCache__GConfig]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0x10944d18
call dword [edx + 0x40]
mov eax, dword [sym.imp.core.dll_class_FConfigCache__GConfig]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x10944c38
call dword [edx + 0x40]
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_void___thiscall_FString::constructor_void_]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call dword [sym.imp.core.dll_public:_void___thiscall_FString::constructor_void_]
mov byte [ebp - 4], 0xb
xor esi, esi
call ebx
mov edx, 0x10944d10
mov ecx, eax
call edi
test eax, eax
je 0x10908c1a
push 0x10944d0c
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944d08
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944d00
mov ecx, eax
call edi
test eax, eax
je 0x10908c4a
push 0x10944cfc
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944cf8
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944cf0
mov ecx, eax
call edi
test eax, eax
je 0x10908c7a
push 0x10944cec
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944ce8
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944ce0
mov ecx, eax
call edi
test eax, eax
je 0x10908caa
push 0x10944cdc
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944cd8
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944ccc
mov ecx, eax
call edi
test eax, eax
je 0x10908cda
push 0x10944cc4
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944cc0
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944cb4
mov ecx, eax
call edi
test eax, eax
je 0x10908d0a
push 0x10944cac
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944ca8
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944c9c
mov ecx, eax
call edi
test eax, eax
je 0x10908d3a
push 0x10944cac
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944cc4
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
mov esi, 1
call ebx
mov edx, 0x10944c90
mov ecx, eax
call edi
test eax, eax
je 0x10908d67
push 0x10944c88
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
push 0x10944c80
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_class_FString____thiscall_FString::operator_char_const__]
jmp 0x10908d6b
test esi, esi
je 0x10908db1
lea ecx, [ebp - 0x18]
call dword [sym.imp.core.dll_public:_char_const____thiscall_FString::operator_void_const]
mov ecx, dword [sym.imp.core.dll_class_FConfigCache__GConfig]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0
push eax
push 0x10943d60
push 0x10943d88
call dword [edx + 0x30]
lea ecx, [ebp - 0x20]
call dword [sym.imp.core.dll_public:_char_const____thiscall_FString::operator_void_const]
mov ecx, dword [sym.imp.core.dll_class_FConfigCache__GConfig]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0
push eax
push 0x10943d4c
push 0x10943d88
call dword [edx + 0x30]
call fcn.10903880
mov ebx, eax
test ebx, ebx
je 0x10908e71
push 0
mov edx, sym.CT.exe_GPackage
mov ecx, 0x10943a04
call dword [sym.imp.core.dll_char_const____fastcall_LocalizeGeneral_char_const___char_const___char_const__]
push eax
mov eax, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [eax]
push 0x314
add ecx, 0x38
call dword [sym.imp.core.dll_public:_void___thiscall_FOutputDevice::Log_enum_EName__char_const__]
call fcn.10901460
lea ecx, [ebp - 0x28]
call dword [sym.imp.core.dll_public:_void___thiscall_FString::constructor_void_]
mov byte [ebp - 4], 0xc
call dword [sym.imp.core.dll_char_const____fastcall_appCmdLine_void_]
lea ecx, [ebp - 0x28]
push ecx
mov edx, 0x10944c78
mov ecx, eax
call dword [sym.imp.core.dll_int___fastcall_Parse_char_const___char_const___class_FString__]
test eax, eax
je 0x10908e54
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x10908e54
test dword [eax + 0x30], 0x1fffffff
je 0x10908e54
mov edx, dword [eax + 0x2c]
mov ecx, dword [edx]
test ecx, ecx
je 0x10908e54
mov eax, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov eax, dword [eax]
test eax, eax
je 0x10908e3e
lea edi, [eax + 0x38]
jmp 0x10908e40
xor edi, edi
lea esi, [ecx + 0x2c]
lea ecx, [ebp - 0x28]
call dword [sym.imp.core.dll_public:_char_const____thiscall_FString::operator_void_const]
mov edx, dword [esi]
push edi
push eax
mov ecx, esi
call dword [edx]
mov eax, dword [sym.imp.core.dll_int_GIsRequestingExit]
cmp dword [eax], 0
jne 0x10908e64
push ebx
call fcn.10906dc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call dword [sym.imp.core.dll_public:_void___thiscall_FString::destructor_void_]
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x10908e82
mov ecx, eax
mov edx, dword [ecx]
call dword [edx + 0x90]
mov eax, dword [sym.imp.core.dll_class_FFileManager__GFileManager]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0
push 0
push 0x10943f60
call dword [edx + 0x10]
mov eax, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [eax]
call dword [sym.imp.window.dll_public:_struct_HWND______thiscall_WWindow::operator_struct_HWND____void_const]
push 0x10944e68
push eax
call dword [sym.imp.user32.dll_RemovePropA]
push 0
mov edx, sym.CT.exe_GPackage
mov ecx, 0x10944c70
call dword [sym.imp.core.dll_char_const____fastcall_LocalizeGeneral_char_const___char_const___char_const__]
mov ecx, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [ecx]
push eax
push 0x314
add ecx, 0x38
call dword [sym.imp.core.dll_public:_void___thiscall_FOutputDevice::Log_enum_EName__char_const__]
mov edx, dword [sym.imp.window.dll_class_WLog__GLogWindow]
mov ecx, dword [edx]
test ecx, ecx
je 0x10908eec
mov eax, dword [ecx]
push 1
call dword [eax + 4]
call dword [sym.imp.core.dll_void___fastcall_appPreExit_void_]
mov ecx, dword [sym.imp.core.dll_int_GIsGuarded]
mov dword [ecx], 0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call dword [sym.imp.core.dll_public:_void___thiscall_FString::destructor_void_]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
call dword [sym.imp.core.dll_public:_void___thiscall_FString::destructor_void_]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call dword [sym.imp.engine.dll_public:_void___thiscall_CDKeyResponseInterface::destructor_void_]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call dword [sym.imp.core.dll_public:_void___thiscall_FString::destructor_void_]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.core.dll_void___fastcall_appExit_void_]
mov eax, dword [ebp - 0x38]
mov edx, dword [sym.imp.core.dll_int_GIsStarted]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword [edx], 0
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10