Function at 0x410790
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c2387
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x18c]
push edi
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x18], esi
call fcn.00417890
push 0
call fcn.00481a60
add esp, 8
push 0
call dword [sym.imp.user32.dll_GetSystemMetrics]
push 0x40db10
mov ecx, esi
mov dword [esi + 0xc], eax
call fcn.0040ac40
push 1
push 1
mov ecx, esi
call fcn.0040f4e0
mov eax, dword [esi + 0x190]
push eax
call fcn.004960d0
mov edi, dword [sym.imp.engine.dll_void___cdecl_CPrintF_char_const__]
push 0x4d1fb0
call edi
add esp, 8
push 0x4d1fc4
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0
call fcn.00417a60
or ebx, 0xffffffff
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4feee4
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_class_CTString_const__]
call dword [sym.imp.engine.dll_void___cdecl_SE_InitEngine_class_CTString_]
call fcn.00409d40
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4d1fd8
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, esi
call fcn.0040fa20
test al, al
jne 0x41088a
push 0
push 0x4d1ff0
push 0x4d1ffc
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
call dword [sym.imp.msvcr71.dll_exit]
mov ecx, esi
call fcn.0040c410
mov eax, dword [esi + 0x74]
push eax
call fcn.00496300
push 0x4d2014
call edi
add esp, 8
push 0x4d2020
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 1
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
call dword [sym.imp.engine.dll_void___cdecl_SE_LoadDefaultFonts_void_]
mov ecx, esi
call fcn.0040aad0
push 0x4d202c
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 2
call dword [sym.imp.engine.dll_public:_void___thiscall_CShell::Execute_class_CTString_const__]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2040
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
mov edi, dword [sym.imp.engine.dll_public:_void___thiscall_CShell::DeclareSymbol_class_CTString_const___void__]
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 3
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2064
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
lea eax, [esi + 0x14]
push eax
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 4
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2088
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
lea ecx, [esi + 0x24]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 5
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d20ac
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
lea ecx, [esi + 0x20]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 6
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d20d0
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.engine.dll_class_CShell___pShell]
lea eax, [esi + 0x2c]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [edx]
mov dword [ebp - 4], 7
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d20f8
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
lea eax, [esi + 0x88]
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 8
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2120
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
lea eax, [esi + 0x18]
push eax
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 9
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2144
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.engine.dll_class_CShell___pShell]
lea eax, [esi + 0x84]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [edx]
mov dword [ebp - 4], 0xa
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d216c
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov dword [ebp - 4], 0xb
lea eax, [esi + 0x34]
mov edx, dword [sym.imp.engine.dll_class_CShell___pShell]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [edx]
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2194
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
lea eax, [esi + 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0xc
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d21b8
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
lea edx, [esi + 0x28]
push edx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0xd
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d21e8
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [eax]
push 0x4feee4
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 0xe
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2210
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
lea ecx, [esi + 0x4c]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 0xf
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2240
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov eax, dword [sym.imp.engine.dll_class_CShell___pShell]
lea ecx, [esi + 0x8c]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 0x10
call edi
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2268
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.engine.dll_class_CShell___pShell]
lea eax, [esi + 0x84]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [edx]
mov dword [ebp - 4], 0x11
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2290
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.engine.dll_class_CShell___pShell]
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [edx]
mov dword [ebp - 4], 0x12
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d22b0
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
push 0x4feecc
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0x13
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d22d4
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
lea edx, [esi + 0x3c]
push edx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0x14
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d22f8
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.entitiesmp.dll_long_int_g_EffectLevel]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
push edx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0x15
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2320
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov dword [ebp - 4], 0x16
mov edx, dword [sym.imp.entitiesmp.dll_float__fCameraSpeed]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
push edx
lea eax, [ebp - 0x14]
push eax
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
push 0x4d2348
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.entitiesmp.dll_int__bSkipRangeShoot]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
push edx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0x17
call edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov edi, dword [sym.imp.engine.dll_void___cdecl_CPrintF_char_const__]
push 0x4d2370
call edi
add esp, 4
push 0x4d2380
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x18
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, esi
call fcn.0040bc60
mov edx, dword [sym.imp.engine.dll_class_CNetworkLibrary___pNetwork]
mov ecx, dword [edx]
push 0x4feee4
add ecx, 0x10
call dword [0x4d04f4]
push 0x4d2390
call edi
add esp, 4
push 0x4d23a4
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x19
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
call fcn.00408b60
push 0x4d23b8
call edi
add esp, 4
push 0x4d23dc
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x1a
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, dword [sym.imp.engine.dll_long_int_snd_iFormat]
mov eax, dword [ecx]
test eax, eax
jl 0x410e2f
cmp eax, 3
jle 0x410e31
mov eax, 3
jmp 0x410e31
xor eax, eax
mov dword [ecx], eax
mov eax, dword [sym.imp.engine.dll_long_int_snd_iFormat]
mov ecx, dword [eax]
mov edx, dword [sym.imp.engine.dll_class_CSoundLibrary___pSound]
push 0
push ecx
mov ecx, dword [edx]
call dword [sym.imp.engine.dll_public:_void___thiscall_CSoundLibrary::SetFormat_enum_CSoundLibrary::SoundFormat__int_]
push 0xa0
call fcn.004bf8c2
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
mov dword [ebp - 4], 0x1b
je 0x410e70
mov ecx, eax
call dword [sym.imp.engine.dll_public:_void___thiscall_CSoundObject::constructor_void_]
jmp 0x410e72
xor eax, eax
mov ecx, dword [sym.imp.uitoolkit.dll_class_CSoundObject___psoMenuSound]
mov dword [ecx], eax
mov eax, dword [esi + 0x88]
test eax, eax
mov dword [ebp - 4], ebx
je 0x410eba
push 0x4d23f0
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [edx]
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], 0x1c
call dword [sym.imp.engine.dll_public:_void___thiscall_CShell::Execute_class_CTString_const__]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esi + 0x68]
push 0x4d241c
call dword [sym.imp.engine.dll_public:_int___thiscall_CTString::operator__char_const__const]
test eax, eax
je 0x410f1e
mov ecx, dword [esi + 0x68]
push ecx
push 0x4d2420
call edi
add esp, 8
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_void_]
mov edx, dword [esi + 0x68]
push edx
lea eax, [ebp - 0x14]
push 0x4d243c
push eax
mov dword [ebp - 4], 0x1d
call dword [sym.imp.engine.dll_public:_long_int___cdecl_CTString::PrintF_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
add esp, 0xc
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.engine.dll_public:_void___thiscall_CShell::Execute_class_CTString_const__]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
movzx eax, word [esi + 0x7c]
push eax
push 0x4d244c
call edi
add esp, 8
lea ecx, [esi + 0x44]
push 0x4d2460
call dword [sym.imp.engine.dll_public:_class_CTString____thiscall_CTString::operator_char_const__]
lea ecx, [esi + 0x48]
push 0x4d2468
call dword [sym.imp.engine.dll_public:_class_CTString____thiscall_CTString::operator_char_const__]
mov ecx, dword [esi + 0x44]
push ecx
push 4
push 0x4d2470
call dword [sym.imp.engine.dll_char____cdecl_Translate_char___long_int_]
add esp, 8
push eax
call edi
mov edx, dword [esi + 0x48]
add esp, 8
push edx
push 4
push 0x4d2484
call dword [sym.imp.engine.dll_char____cdecl_Translate_char___long_int_]
add esp, 8
push eax
call edi
push 0x4d2498
call edi
add esp, 0xc
push 0x4d24b4
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x1e
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
call fcn.00407a10
push 0x4d24d0
call edi
add esp, 4
push 0x4d24e0
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x1f
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
call fcn.004095c0
push 0x4d24f0
call edi
add esp, 4
push 0x4d2500
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x20
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, esi
call fcn.0040b0e0
mov eax, dword [esi + 0x2c]
push eax
mov ecx, esi
call fcn.0040d7b0
push 0x4d2510
call edi
add esp, 4
push 0x4d252c
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x21
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x198]
mov edx, dword [ecx]
push 1
push eax
mov eax, dword [esi]
push eax
call dword [edx + 0x24]
mov ecx, dword [esi + 0x198]
mov edx, dword [ecx]
call dword [edx + 0x34]
mov ecx, dword [esi + 0x14]
mov edx, dword [eax]
mov dword [ebp - 0x14], ecx
push dword [ebp - 0x14]
mov ecx, dword [esi + 0x10]
push ecx
push 0
push 0
mov ecx, eax
mov dword [ebp - 0x1c], eax
call dword [edx + 0x58]
push 0x154
call fcn.004bf8c2
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
mov dword [ebp - 4], 0x22
je 0x4110cb
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.0044bff0
jmp 0x4110cd
xor eax, eax
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, dword [esi + 0x10]
push ecx
push 0
mov dword [esi + 0x4a4c], eax
mov edx, dword [eax]
push 0
mov ecx, eax
mov dword [ebp - 4], ebx
call dword [edx + 0x58]
mov eax, dword [esi]
push eax
mov ecx, esi
call fcn.0040abe0
mov ecx, esi
call fcn.0040a7a0
push 0x4d2548
call edi
add esp, 4
push 0x4d255c
lea ecx, [ebp - 0x1c]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push eax
mov dword [ebp - 4], 0x23
call fcn.00417a60
add esp, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, esi
call fcn.0040bf10
lea ecx, [esi + 0x70]
push 0x4d256f
call dword [sym.imp.engine.dll_public:_int___thiscall_CTString::operator__char_const__const]
test eax, eax
je 0x41117e
push 0x4d2570
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
lea eax, [esi + 0x70]
push eax
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 4], 0x24
call dword [sym.imp.engine.dll_public:_void___thiscall_CShell::SetString_class_CTString_const___class_CTString_const__]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, dword [esi + 0x198]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x88]
test al, al
jne 0x4111aa
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
mov eax, dword [esi + 0x198]
mov eax, dword [eax + 0x470]
lea ecx, [esi + 0x6c]
push 0x4d2587
mov dword [esi + 0xd4], eax
call dword [sym.imp.engine.dll_public:_int___thiscall_CTString::operator__char_const__const]
test eax, eax
je 0x411292
push 0x4d2588
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov eax, dword [esi + 0x50]
test eax, eax
mov dword [ebp - 4], 0x25
jle 0x411239
push 0x4d258c
lea ecx, [ebp - 0x18]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [esi + 0x50]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
push edx
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x26
call dword [sym.imp.engine.dll_public:_void___thiscall_CShell::SetINDEX_class_CTString_const___long_int_]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x25
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, dword [esi + 0x50]
push ecx
lea edx, [ebp - 0x14]
push 0x4d259c
push edx
call dword [sym.imp.engine.dll_public:_long_int___cdecl_CTString::PrintF_char_const__]
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0x6c]
push eax
push ecx
push 4
push 0x4d25a0
call dword [sym.imp.engine.dll_char____cdecl_Translate_char___long_int_]
add esp, 8
push eax
call edi
mov eax, dword [esi + 0x198]
add esp, 0xc
lea ecx, [esi + 0x6c]
push ecx
lea ecx, [eax + 0x58]
call dword [0x4d04f4]
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x411281
mov ecx, dword [esi + 0x198]
mov edx, dword [ecx]
push 4
call dword [edx + 0x8c]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
jmp 0x4113ab
lea ecx, [esi + 0x64]
push 0x4d25c5
call dword [sym.imp.engine.dll_public:_int___thiscall_CTString::operator__char_const__const]
test eax, eax
je 0x4113ab
mov eax, dword [esi + 0x64]
push eax
push 4
push 0x4d25c8
call dword [sym.imp.engine.dll_char____cdecl_Translate_char___long_int_]
add esp, 8
push eax
call edi
mov eax, dword [esi + 0x54]
add esp, 8
test eax, eax
mov dword [ebp - 4], 0x27
jl 0x41132c
push 4
push 0x4d25e8
call dword [sym.imp.engine.dll_char____cdecl_Translate_char___long_int_]
mov ecx, dword [esi + 0x54]
add esp, 8
push ecx
push eax
call edi
add esp, 8
lea ecx, [ebp - 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_void_]
mov edx, dword [esi + 0x54]
push edx
lea eax, [ebp - 0x14]
push 0x4d2608
push eax
mov byte [ebp - 4], 0x28
call dword [sym.imp.engine.dll_public:_long_int___cdecl_CTString::PrintF_char_const__]
mov ecx, dword [sym.imp.engine.dll_class_CShell___pShell]
mov ecx, dword [ecx]
add esp, 0xc
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.engine.dll_public:_void___thiscall_CShell::Execute_class_CTString_const__]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x27
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov eax, dword [esi + 0x198]
lea ecx, [esi + 0x64]
push ecx
lea ecx, [eax + 0x48]
call dword [0x4d04f4]
mov eax, dword [esi + 0x58]
test eax, eax
je 0x411358
mov ecx, dword [esi + 0x198]
mov eax, dword [ecx]
push 2
call dword [eax + 0x8c]
jmp 0x4113ab
mov ecx, esi
call fcn.0040bd90
push 0x12
mov ecx, esi
call fcn.0040a380
mov ecx, dword [esi + 0x198]
mov edx, dword [ecx]
push 1
call dword [edx + 0x8c]
jmp 0x4113ab
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.0040be60
call fcn.00417a30
mov ecx, esi
call fcn.0040aa40
mov eax, dword [esi + 0x198]
mov edi, dword [sym.imp.engine.dll_public:_static_class_CQMSLog____cdecl_CQMSLog::getInstance_void_]
mov dword [eax + 0x28], 3
lea eax, [esi + 0x74]
push eax
mov dword [esi + 0x42ec], 1
call edi
mov ecx, eax
add ecx, 0xc
call dword [0x4d04f4]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4d263d
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x4d2640
mov dword [ebp - 4], 0x2a
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x4d2648
mov byte [ebp - 4], 0x2b
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov dword [ebp - 4], ebx
call edi
mov ecx, eax
call dword [sym.imp.engine.dll_public:_void___thiscall_CQMSLog::SendQMS_Ver1_class_CTString__class_CTString__class_CTString_]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4d264c
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x4d2650
mov dword [ebp - 4], 0x2d
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_char_const__]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push edx
push eax
push 0x4d2658
push 1
push ecx
mov byte [ebp - 4], 0x2e
call dword [sym.imp.engine.dll_public:_void___cdecl_CTString::constructor_long_int__char_const__]
add esp, 0x14
mov dword [ebp - 4], ebx
call edi
mov ecx, eax
call dword [sym.imp.engine.dll_public:_void___thiscall_CQMSLog::SendQMS_Ver1_class_CTString__class_CTString__class_CTString_]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret