Function at 0x402730
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x416ecd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
push esi
mov esi, ecx
mov dword [esp + 4], 0
lea eax, [esp + 0xc0]
lea ecx, [esi + 0x34]
push eax
mov dword [esp + 0xbc], 0
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [esi + 0x90]
push 0
push 0
push 0x7f7
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esp + 0xc]
push edx
call sub.MFC42.DLL_CTime::GetTickCount
mov eax, dword [eax]
lea ecx, [esp + 8]
mov dword [esp + 0x10], eax
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 0x8c]
push 0
push eax
mov byte [esp + 0xc0], 1
call dword [sym.imp.MSVCRT.dll__access]
add esp, 8
test eax, eax
jge 0x4027cd
mov eax, dword [esi + 0x8c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [esp + 4]
push str._y__m__d
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CTime::Format
mov edx, dword [eax]
mov eax, dword [esi + 0x8c]
push edx
push eax
lea ecx, [esp + 0x10]
push str._s_s.txt
push ecx
mov byte [esp + 0xc8], 2
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 4]
mov byte [esp + 0xb8], 1
call sub.MFC42.DLL_CString::CString
mov edx, dword [sym.imp.MSVCP60.dll_const_std::basic_fstream_char__struct_std::char_traits_char__::vbtablefor__std::basic_istream_char__struct_std::char_traits_char__]
mov eax, dword [sym.imp.MSVCP60.dll_const_std::basic_fstream_char__struct_std::char_traits_char__::vbtablefor__std::basic_ostream_char__struct_std::char_traits_char__]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], eax
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov ecx, dword [sym.imp.MSVCP60.dll_const_std::basic_ios_char__struct_std::char_traits_char__::vftable]
mov dword [esp + 4], 1
mov dword [esp + 0x7c], ecx
lea edx, [esp + 0x28]
push 0
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0xc0], 3
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char____]
push 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0xbc], 4
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::constructor_struct__iobuf__]
mov eax, dword [esp + 0x1c]
mov edx, dword [sym.imp.MSVCP60.dll_const_std::basic_fstream_char__struct_std::char_traits_char__::vftable]
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0x1c], edx
push 0
lea ecx, [esp + 0xc]
mov byte [esp + 0xbc], 5
call sub.MFC42.DLL_CString::GetBuffer
mov ecx, dword [esp + 0x78]
test ecx, ecx
jne 0x4028cf
push 0xa
push eax
call dword [sym.imp.MSVCP60.dll_struct__iobuf____cdecl_std::__Fiopen_char_const___int_]
add esp, 8
test eax, eax
je 0x4028cf
push 1
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::_Init_struct__iobuf___enum_std::basic_filebuf_char__struct_std::char_traits_char__::_Initfl_]
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::_Initcvt_void_]
lea eax, [esp + 0x28]
test eax, eax
jne 0x4028e9
mov ecx, dword [esp + 0x1c]
push 0
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x24]
lea ecx, [esp + edx + 0x20]
or al, 2
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0x20]
test al, 6
jne 0x4029f2
lea ecx, [esp + 4]
call sub.MFC42.DLL_CString::CString_3
lea edx, [esp + 0xc]
push str._H:_M:_S
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0xc0], 6
call sub.MFC42.DLL_CTime::Format
mov eax, dword [eax]
lea ecx, [esp + 4]
push eax
push str.__s_
push ecx
mov byte [esp + 0xc4], 7
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0xc]
mov byte [esp + 0xb8], 6
call sub.MFC42.DLL_CString::CString
lea esi, [esp + 0x1c]
lea edx, [esp + 0x24]
neg esi
sbb esi, esi
push 0
lea ecx, [esp + 0xc4]
and esi, edx
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push esi
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__]
call esi
add esp, 8
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____]
mov eax, dword [esp + 0x84]
add esp, 0xc
test eax, eax
je 0x4029be
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
test eax, eax
jne 0x4029be
push 2
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::_Init_struct__iobuf___enum_std::basic_filebuf_char__struct_std::char_traits_char__::_Initfl_]
lea eax, [esp + 0x28]
test eax, eax
jne 0x4029e1
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x20]
lea ecx, [esp + edx + 0x1c]
or al, 2
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x4029d8
or al, 4
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::ios_base::clear_int__bool_]
lea ecx, [esp + 4]
mov byte [esp + 0xb8], 5
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [sym.imp.MSVCP60.dll_const_std::basic_fstream_char__struct_std::char_traits_char__::vftable]
mov edx, dword [ecx + 4]
mov dword [esp + edx + 0x1c], eax
mov edx, dword [sym.imp.MSVCP60.dll_const_std::basic_filebuf_char__struct_std::char_traits_char__::vftable]
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], edx
mov al, byte [esp + 0x70]
mov byte [esp + 0xb8], 0xa
test al, al
pop esi
je 0x402a37
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_filebuf_char__struct_std::char_traits_char______thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::close_void_]
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x402a46
push 1
call fcn.00403150
lea ecx, [esp + 0x70]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::locale::destructor_void_]
lea ecx, [esp + 0x24]
mov byte [esp + 0xb4], 8
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0x24]
mov byte [esp + 0xb4], 1
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [sym.imp.MSVCP60.dll_const_std::basic_ios_char__struct_std::char_traits_char__::vftable]
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], eax
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
lea ecx, [esp + 4]
mov byte [esp + 0xb4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xbc]
mov dword [esp + 0xb4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xac]
mov dword fs:[0], ecx
add esp, 0xb8
ret 4