Function at 0x40a640
Capabilities:
Move file

Disassembly:
push 0xffffffffffffffff
push 0x40bc48
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x44], esi
lea ebp, [esi + 4]
push 1
mov ecx, ebp
mov dword [esp + 0xa8], 0
mov dword [esi], vtable.LogManager::FileOutput.0
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_void_]
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0xc]
mov byte [esp + 0xa4], 1
mov dword [esi + 0x8c], eax
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_void_]
test byte [esi + 0x8c], 1
mov edi, dword [sym.imp.msvcp80.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
mov byte [esp + 0xa4], 2
je 0x40a747
lea ecx, [esp + 0x80]
push ecx
call fcn.00401000
push 0x40cd78
push eax
lea edx, [esp + 0x70]
push edx
mov byte [esp + 0xb4], 3
call edi
mov ecx, dword [esp + 0xbc]
push ecx
push eax
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0xc0], 4
call edi
add esp, 0x1c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0xa8], 5
call dword [sym.imp.msvcp80.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__]
lea ecx, [esp + 0x28]
mov byte [esp + 0xa4], 4
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x64]
mov byte [esp + 0xa4], 3
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0x80]
mov byte [esp + 0xa4], 2
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
jmp 0x40a759
mov eax, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.msvcp80.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x4c]
push edx
call fcn.00402910
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0xb0], 6
call fcn.00402750
add esp, 0xc
test al, al
jne 0x40a78e
lea ecx, [esp + 0x48]
push ecx
call fcn.00404160
add esp, 4
lea edx, [esp + 0xc]
push edx
call fcn.00402c30
add esp, 4
test al, al
je 0x40a80e
push str..old
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x30]
push ecx
call edi
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0xb4], 7
call fcn.00402c30
add esp, 0x10
test al, al
je 0x40a7dd
lea ecx, [esp + 0x28]
call dword [sym.imp.msvcp80.dll_protected:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Myptr_void_]
push eax
call dword [sym.imp.msvcr80.dll__wunlink]
add esp, 4
lea ecx, [esp + 0x28]
call dword [sym.imp.msvcp80.dll_protected:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Myptr_void_]
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.msvcp80.dll_protected:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Myptr_void_]
push eax
call dword [sym.imp.msvcr80.dll__wrename]
add esp, 8
lea ecx, [esp + 0x28]
mov byte [esp + 0xa4], 6
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
push 0x40
push 0x32
lea ecx, [esp + 0x14]
call dword [sym.imp.msvcp80.dll_protected:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Myptr_void_]
push eax
mov ecx, ebp
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::open_wchar_t_const___int__int_]
cmp dword [esi + 0x54], 0
jne 0x40a8b2
mov eax, dword [sym.imp.msvcp80.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
push str.__failed
push str.Cannot_create_log_file
push str.__:_AssertEx_
push 0x5e
push 0x40ce08
push str..StdFileOutput.cpp
call fcn.00409920
push eax
call fcn.00404fe0
add esp, 8
push eax
call fcn.00404fe0
add esp, 8
mov ecx, eax
call dword [sym.imp.msvcp80.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00404fe0
add esp, 8
push eax
call fcn.00404fe0
add esp, 8
push eax
call fcn.00404fe0
add esp, 8
mov ecx, eax
call dword [sym.imp.msvcp80.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_istream_char__struct_std::char_traits_char_______cdecl___class_std::basic_istream_char__struct_std::char_traits_char_____]
push 0x5e
push str.LogManager::FileOutput::FileOutput
push str..StdFileOutput.cpp
push str.Cannot_create_log_file
push str.fs.is_open__
push 0x40d61c
call fcn.00409040
lea ecx, [esp + 0x48]
mov byte [esp + 0xa4], 2
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [esp + 0xc]
mov byte [esp + 0xa4], 1
call dword [sym.imp.msvcp80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov ecx, dword [esp + 0x9c]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x9c
ret 8