Function at 0x402b60
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x40fad0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push eax
mov dword [esp + 0x30], 0
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x14]
mov ebx, 1
push ecx
mov byte [esp + 0x30], bl
call fcn.00402730
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x13], 0
mov byte [esp + 0x34], bl
push 0x415a1c
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
je 0x402c23
lea esi, [eax + 2]
lea edx, [esp + 0x1c]
push esi
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x30], 2
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c], bl
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x1c]
push esi
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 3
call sub.MFC42.DLL_CString::operator_1
mov byte [esp + 0x2c], bl
lea ecx, [esp + 0x1c]
jmp 0x402c8a
push 0x415a18
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
je 0x402c8f
lea esi, [eax + 2]
lea ecx, [esp + 0x1c]
push esi
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x30], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x1c]
push esi
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 5
call sub.MFC42.DLL_CString::operator_1
mov byte [esp + 0x2c], bl
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebp, dword [sym.imp.MSVCRT.dll__mkdir]
mov al, byte [esp + 0x34]
test al, al
je 0x402d4f
push ebx
push 0x5c
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Find_1
mov esi, eax
cmp esi, 0xffffffff
jne 0x402cce
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
mov byte [esp + 0x17], bl
call sub.MFC42.DLL_CString::operator
jmp 0x402d24
lea ecx, [esp + 0x1c]
push esi
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x30], 6
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c], bl
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x20]
push esi
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 7
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x20]
mov byte [esp + 0x2c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x18]
push eax
call edi
cmp eax, 0xffffffff
jne 0x402d43
mov ecx, dword [esp + 0x18]
push ecx
call ebp
add esp, 4
test eax, eax
je 0x402d43
mov byte [esp + 0x34], 0
mov al, byte [esp + 0x13]
test al, al
je 0x402c9b
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x24]
mov al, byte [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret