Function at 0x1000ca27
Capabilities:
Check if file exists
Delete directory
Enumerate files on windows
Enumerate files recursively
Get file attributes
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x564
lea ecx, [ebp - 0x14c]
call fcn.1000d032
mov dword [ebp - 0x148], 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x1000caa7
push 0x400
push 0x160
lea ecx, [ebp - 0x2ac]
push ecx
push 0x80
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x1000caa7
mov dword [ebp - 0x548], 1
lea ecx, [ebp - 0x14c]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x548]
jmp 0x1000cdf7
cmp dword [ebp - 4], 0
jne 0x1000cb77
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x3f4]
call sub.MFC42.DLL_CString::CString_2
push 0x100fff5c
lea edx, [ebp - 0x3f4]
push edx
lea eax, [ebp - 0x54c]
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [ebp - 0x3f4]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x54c]
call sub.MFC42.DLL_CString::CString
push 0x100fff60
push 0x100fff64
lea ecx, [ebp - 0x3f4]
call sub.MFC42.DLL_CString::Replace
lea ecx, [ebp - 0x3ec]
push ecx
push 0x100fff68
lea edx, [ebp - 0x3f4]
push edx
lea eax, [ebp - 0x550]
push eax
call sub.MFC42.DLL_operator
mov ecx, eax
call fcn.10003420
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x3f0], eax
lea ecx, [ebp - 0x550]
call sub.MFC42.DLL_CString::CString
cmp dword [ebp - 0x3f0], 0xffffffff
je 0x1000cb6c
mov ecx, dword [ebp - 0x3ec]
and ecx, 0x10
test ecx, ecx
je 0x1000cb5f
mov dword [ebp - 4], 0x10
mov edx, dword [ebp - 0x3f0]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x3f4]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 4]
and eax, 0x10
test eax, eax
je 0x1000cd6c
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x53c]
call sub.MFC42.DLL_CString::CString_2
push 0x100fff6c
lea edx, [ebp - 0x53c]
push edx
lea eax, [ebp - 0x554]
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [ebp - 0x53c]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x554]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x534]
push ecx
push 0x100fff70
lea edx, [ebp - 0x53c]
push edx
lea eax, [ebp - 0x558]
push eax
call sub.MFC42.DLL_operator
mov ecx, eax
call fcn.10003420
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x538], eax
lea ecx, [ebp - 0x558]
call sub.MFC42.DLL_CString::CString
cmp dword [ebp - 0x538], 0xffffffff
je 0x1000cd55
lea ecx, [ebp - 0x534]
push ecx
mov edx, dword [ebp - 0x538]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x1000cd48
xor eax, eax
mov al, byte [0x10102df8]
test eax, eax
je 0x1000cc3a
jmp 0x1000cd48
mov ecx, dword [ebp - 0x534]
and ecx, 0x10
test ecx, ecx
je 0x1000ccee
mov edx, dword [ebp + 0xc]
and edx, 0xff
test edx, edx
je 0x1000ccec
lea ecx, [ebp - 0x540]
call fcn.1000d032
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x540]
call sub.MFC42.DLL_CString::operator_2
push 0x100fff74
lea ecx, [ebp - 0x540]
push ecx
call fcn.10009dd0
and eax, 0xff
test eax, eax
je 0x1000cce1
push 0x100fff78
lea edx, [ebp - 0x540]
push edx
call fcn.10009dd0
and eax, 0xff
test eax, eax
je 0x1000cce1
push 1
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x53c]
push ecx
lea edx, [ebp - 0x55c]
push edx
call sub.MFC42.DLL_operator
mov ecx, eax
call fcn.10003420
push eax
call fcn.1000ca27
lea ecx, [ebp - 0x55c]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x540]
call sub.MFC42.DLL_CString::CString
jmp 0x1000cd43
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x53c]
push ecx
lea edx, [ebp - 0x544]
push edx
call sub.MFC42.DLL_operator
push 0x100fff7c
push 0x100fff80
lea ecx, [ebp - 0x544]
call sub.MFC42.DLL_CString::Replace
lea ecx, [ebp - 0x544]
call fcn.10003420
push eax
lea eax, [ebp - 0x534]
push eax
call fcn.1000b4cd
add esp, 8
lea ecx, [ebp - 0x544]
call sub.MFC42.DLL_CString::CString
jmp 0x1000cc0e
mov ecx, dword [ebp - 0x538]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea ecx, [ebp - 0x53c]
call sub.MFC42.DLL_CString::CString
jmp 0x1000cdc9
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0xffffffff
jne 0x1000cda9
mov dword [ebp - 0x560], 0
lea ecx, [ebp - 0x14c]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x560]
jmp 0x1000cdf7
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.1000b4cd
add esp, 8
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
mov edx, dword [ebp + 8]
push edx
push 0x2001
push 4
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov dword [ebp - 0x564], 1
lea ecx, [ebp - 0x14c]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x564]
mov esp, ebp
pop ebp
ret 8