Function at 0x410530
Capabilities:
Create directory
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x413ea9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
push ebp
push esi
push edi
xor esi, esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x170], esi
call fcn.004127f8
push 0x41b3c4
lea ecx, [esp + 0x10]
mov byte [esp + 0x174], 1
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x178]
lea eax, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x178], 2
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
mov eax, dword [esp + 0x28]
cmp eax, 0x10
jne 0x4105d5
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0xc]
mov byte [esp + 0x170], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x170], 0
call sub.MFC42.DLL_CStringArray::CStringArray
mov dword [esp + 0x170], 0xffffffff
jmp 0x410725
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CStringArray::SetSize
mov eax, dword [esp + 0x178]
cmp dword [eax - 8], esi
jle 0x41065a
mov al, byte [esi + eax]
cmp al, 0x5c
je 0x410608
mov byte [esp + 0x10], al
mov edx, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_2
jmp 0x410629
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
push 0x41a5d8
lea ecx, [esp + 0x10]
call fcn.00412a62
mov eax, dword [esp + 0x178]
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jne 0x410652
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xc]
push edx
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov eax, dword [esp + 0x178]
mov ecx, dword [eax - 8]
inc esi
cmp esi, ecx
jl 0x4105ed
mov ebp, dword [sym.imp.KERNEL32.dll_FindClose]
push edi
call ebp
mov eax, dword [esp + 0x1c]
mov esi, 1
cmp eax, esi
jle 0x4106ce
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [esp + 0x10]
push esi
push ecx
lea ecx, [esp + 0x1c]
call fcn.004023a0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x174], 3
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x10]
mov byte [esp + 0x170], 2
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0xc]
push 0
push edx
call edi
test eax, eax
je 0x4106c5
mov eax, dword [esp + 0xc]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [esp + 0x1c]
inc esi
cmp esi, eax
jl 0x410676
or esi, 0xffffffff
lea ecx, [esp + 0x14]
push esi
push 0
call sub.MFC42.DLL_CStringArray::SetSize
mov edx, dword [esp + 0x178]
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ecx, dword [esp + 0x28]
push eax
cmp ecx, 0x10
jne 0x410738
call ebp
lea ecx, [esp + 0xc]
mov byte [esp + 0x170], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x170], 0
call sub.MFC42.DLL_CStringArray::CStringArray
mov dword [esp + 0x170], esi
lea ecx, [esp + 0x178]
call sub.MFC42.DLL_CString::CString
mov eax, 1
jmp 0x410771
call ebp
lea ecx, [esp + 0xc]
mov byte [esp + 0x170], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x170], 0
call sub.MFC42.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x178]
mov dword [esp + 0x170], esi
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x168]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x168
ret