Function at 0x404940
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
push 0x416d97
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x42301c]
xor eax, esp
mov dword [esp + 0xa4], eax
push ebx
push esi
push edi
mov eax, dword [0x42301c]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea eax, [esp + 0x10]
push eax
mov edi, ecx
call esi
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
lea ecx, [esp + 0x6c]
mov ebx, eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov dword [esp + 0xc0], 0
cmp dword [esp + 0x10], 1
jle 0x4049bb
mov ecx, dword [ebx]
push ecx
lea ecx, [esp + 0x70]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
call esi
push eax
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0xc0], 1
cmp dword [esp + 0x4c], 8
mov eax, dword [esp + 0x38]
jae 0x4049df
lea eax, [esp + 0x38]
push 0
push eax
lea ecx, [esp + 0x90]
call sub.K8Common.dll_public:_void___thiscall_GameMgr::GMCmdLineParser::constructor_wchar_t_const___bool_
push str._content
lea ecx, [esp + 0x54]
mov byte [esp + 0xc4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc4], 3
call sub.K8Common.dll_public:_bool___thiscall_GameMgr::GMCmdLineParser::HasKey_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__const
lea ecx, [esp + 0x50]
mov bl, al
mov byte [esp + 0xc0], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
test bl, bl
je 0x404a95
push str._content
lea ecx, [esp + 0x1c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x90]
mov byte [esp + 0xc8], 4
call sub.K8Common.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_GameMgr::GMCmdLineParser::GetValue_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
lea ecx, [esp + 0x18]
mov byte [esp + 0xc0], 6
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [edi + 0x40]
lea esi, [esp + 0x50]
call fcn.00401090
test al, al
mov byte [esp + 0xc0], 2
mov ecx, esi
je 0x404ae8
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov esi, edi
call fcn.00404ba0
test al, al
jne 0x404b2d
mov edx, dword [0x423698]
mov eax, dword [edx + 0x120]
push eax
sub esp, 0x1c
lea eax, [edi + 0x4c]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov byte [esp + 0xe0], 7
mov ecx, dword [edi + 0x40]
push ecx
push 0xd
call fcn.004041a0
mov edi, eax
mov byte [esp + 0xe8], 2
call fcn.004115a0
jmp 0x404aee
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x88]
mov byte [esp + 0xc0], 1
call sub.K8Common.dll_public:_void___thiscall_GameMgr::GMCmdLineParser::destructor_void_
lea ecx, [esp + 0x34]
mov byte [esp + 0xc0], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x6c]
mov dword [esp + 0xc0], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor al, al
jmp 0x404b6a
lea ecx, [esp + 0x88]
mov byte [esp + 0xc0], 1
call sub.K8Common.dll_public:_void___thiscall_GameMgr::GMCmdLineParser::destructor_void_
lea ecx, [esp + 0x34]
mov byte [esp + 0xc0], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x6c]
mov dword [esp + 0xc0], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, 1
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.00413592
add esp, 0xb4
ret