Function at 0x405070
Capabilities:
Create directory
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x454331
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 4]
mov dword [esp + 0x70], 0
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0xc]
mov ebx, 1
push 3
push eax
mov ecx, 0x4692a4
mov byte [esp + 0x78], bl
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x74], 2
call fcn.004149b6
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
push ebx
push ecx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 8]
mov byte [esp + 0x74], 3
call fcn.004149b6
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42.DLL_CString::CString
push str.DirRecycler_
lea edx, [esp + 0x10]
push 0x46925c
push edx
call sub.MFC42.DLL_operator_2
push eax
mov ecx, 0x4690a0
mov byte [esp + 0x74], 4
call fcn.004149b6
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [0x4690a0]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, dword [0x4690a0]
push 2
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea edx, [esp + 4]
push 0x4692a0
lea eax, [esp + 0x10]
push edx
push eax
call sub.MFC42.DLL_operator
push eax
mov ecx, 0x46909c
mov byte [esp + 0x74], 5
call fcn.004149b6
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42.DLL_CString::CString
push str..ini
mov ecx, 0x46909c
call sub.MFC42.DLL_CString::operator
push 0x46909c
lea ecx, [esp + 0x10]
push 0x4690a0
push ecx
call sub.MFC42.DLL_operator
mov byte [esp + 0x70], 6
push eax
mov ecx, 0x4690a0
call fcn.004149b6
lea ecx, [esp + 0xc]
mov byte [esp + 0x70], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
mov ecx, dword [0x4690a0]
push ebx
mov eax, dword [edx]
push eax
push 0x40
push ecx
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ofstream::constructor_char_const___int__int_]
mov edx, dword [esp + 0x10]
mov byte [esp + 0x70], 7
mov eax, dword [edx + 4]
test byte [esp + eax + 0x18], 6
je 0x405254
lea ecx, [esp + 0x10]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ofstream::close_void_]
push 0
push 0
push 0x46564c
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], bl
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ofstream::destructor_void_]
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
lea ecx, [esp + 4]
mov byte [esp + 0x70], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
mov ecx, dword [0x4690a8]
push esi
mov esi, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___unsigned_long_int_]
push edi
push 0x465648
push ecx
lea ecx, [esp + 0x20]
call esi
mov edi, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___char_const__]
mov ecx, eax
call edi
mov edx, dword [0x4690ac]
push 0x465648
push edx
lea ecx, [esp + 0x20]
call esi
mov ecx, eax
call edi
mov eax, dword [0x4690b0]
push 0x465648
push eax
lea ecx, [esp + 0x20]
call esi
mov ecx, eax
call edi
mov ecx, dword [0x4690b4]
push 0x465648
push ecx
lea ecx, [esp + 0x20]
call esi
mov ecx, eax
call edi
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_ofstream::close_void_]
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], bl
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ofstream::destructor_void_]
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
lea ecx, [esp + 0xc]
mov byte [esp + 0x78], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x78], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x70]
pop edi
mov eax, ebx
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret