Function at 0x4038d3
Capabilities:
Print debug messages

Disassembly:
mov eax, 0x405c69
call fcn.004026d0
sub esp, 0x1a4
push dword [0x4083a4]
lea eax, [ebp - 0x64]
push dword [ebp + 8]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
add esp, 0xc
mov eax, dword [eax + 4]
and dword [ebp - 4], 0
test eax, eax
jne 0x403908
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebx
push 1
pop ebx
lea ecx, [ebp - 0x1b0]
push ebx
push 0x20
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_char_const___int_]
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x1ac]
shr eax, 2
test bl, al
jne 0x403bbd
mov al, byte [ebp + 0xb]
push esi
push edi
push 0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x20], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov byte [ebp - 4], 3
mov edi, 0x4084d0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1b0]
push eax
call sub.MSVCP60.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_std::getline_class_std::basic_istream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____
pop ecx
test eax, eax
pop ecx
jne 0x40397e
xor ecx, ecx
jmp 0x403985
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx + 4]
and al, 6
neg al
sbb eax, eax
not eax
test ecx, eax
je 0x403baa
mov esi, str.ConfPath
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push 0
push esi
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
test eax, eax
jne 0x403964
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push edi
mov esi, dword [eax]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
push edi
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
push eax
xor esi, esi
lea eax, [ebp - 0x44]
push esi
push eax
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 4
push dword [ecx]
lea ecx, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push ebx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x20]
push dword [eax]
lea eax, [ebp - 0x94]
push 9
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 5
push dword [ecx]
lea ecx, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push ebx
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
jne 0x403a52
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push dword [0x4083b0]
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
pop ecx
test eax, eax
pop ecx
je 0x403964
mov al, byte [ebp + 0xb]
mov esi, dword [str.GameEn.dat]
push 0
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push 0x4082dc
lea eax, [ebp - 0x54]
push dword [ebp + 8]
mov byte [ebp - 4], 6
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x84]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
push dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 8
push ecx
lea ecx, [ebp - 0x34]
push ecx
push eax
call fcn.004033ee
add esp, 0x28
lea ecx, [ebp - 0x84]
test eax, eax
push ebx
mov byte [ebp - 4], 7
setne byte [ebp - 0xd]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push ebx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
cmp byte [ebp - 0xd], 0
je 0x403964
push ebx
push 3
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
lea eax, [ebp - 0x20]
push str._Failed
push eax
lea eax, [ebp - 0x120]
mov esi, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
lea ecx, [ebp - 0x118]
neg eax
sbb eax, eax
push str.CheckFileTrust:_Load_Game_File
and eax, ecx
mov byte [ebp - 4], 9
push eax
call esi
pop ecx
pop ecx
push eax
call sub.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
pop ecx
pop ecx
push eax
call esi
push eax
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 0xc
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x120]
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
mov eax, dword [eax + 4]
test eax, eax
jne 0x403b80
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ebx
lea ecx, [ebp - 0x74]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
and dword [ebp - 0x24], 0
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
jmp 0x403964
push ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ebx, dword [ebp - 0x24]
pop edi
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b0]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop ebx
mov dword fs:[0], ecx
leave
ret