Function at 0x40c500
Capabilities:
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x48bb0a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4b8
push ebp
push esi
lea eax, [esp + 0x4d0]
push str..bak
lea ecx, [esp + 0x10]
push eax
push ecx
mov dword [esp + 0x4d4], 0
call sub.MFC42u.DLL_operator_2
mov eax, dword [esp + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea edx, [esp + 0x270]
mov byte [esp + 0x4c8], 1
push edx
push eax
call esi
or ebp, 0xffffffff
cmp eax, ebp
jne 0x40c5b0
lea ecx, [esp + 0x4d0]
push 0x4b0cec
lea edx, [esp + 0xc]
push ecx
push edx
call sub.MFC42u.DLL_operator_2
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x4cc], 2
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 8]
mov byte [esp + 0x4c8], 1
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x270]
push eax
push ecx
call esi
cmp eax, ebp
je 0x40c5e0
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0xc]
mov byte [esp + 0x4c8], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4d0]
mov dword [esp + 0x4c8], ebp
call sub.MFC42u.DLL_CString::CString
jmp 0x40c7a5
mov edx, dword [esp + 0x4d0]
push ebx
mov ebx, 3
mov eax, dword [edx - 8]
cmp eax, ebx
jle 0x40c780
lea eax, [esp + 0x4d4]
push edi
push eax
lea ecx, [esp + 0x14]
call fcn.00436032
mov ecx, dword [esp + 0x10]
push 0x5c
mov byte [esp + 0x4d4], bl
mov edi, dword [ecx - 8]
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::ReverseFind
dec edi
cmp eax, edi
jne 0x40c62f
push 0x4b0b74
jmp 0x40c634
push 0x4b00b4
lea ecx, [esp + 0x14]
call fcn.0043606e
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
push eax
call esi
mov edi, eax
xor eax, eax
cmp edi, ebp
setne al
test eax, eax
je 0x40c759
mov ebp, dword [sym.imp.MSVCRT.dll_wcscmp]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0x54]
push 0x4b0b70
push ecx
call ebp
add esp, 8
test eax, eax
je 0x40c742
lea edx, [esp + 0x54]
push 0x4b0b7c
push edx
call ebp
add esp, 8
test eax, eax
je 0x40c742
mov al, byte [esp + 0x28]
push 0x4b00b0
test al, 0x10
je 0x40c6fa
lea eax, [esp + 0x4dc]
lea ecx, [esp + 0x1c]
push eax
push ecx
call sub.MFC42u.DLL_operator_2
lea edx, [esp + 0x54]
mov byte [esp + 0x4d0], 4
push edx
push eax
lea eax, [esp + 0x28]
push eax
call sub.MFC42u.DLL_operator_2
push eax
mov byte [esp + 0x4d4], 5
call fcn.0040b280
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x4d0], 4
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x4d0], bl
lea ecx, [esp + 0x18]
jmp 0x40c73d
lea ecx, [esp + 0x4dc]
lea edx, [esp + 0x20]
push ecx
push edx
call sub.MFC42u.DLL_operator_2
lea ecx, [esp + 0x54]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x4dc], 6
call sub.MFC42u.DLL_operator_2
mov eax, dword [eax]
push eax
call esi
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x4d0], bl
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
lea eax, [esp + 0x28]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40c666
or ebp, 0xffffffff
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [esp + 0x4d8]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [esp + 0x10]
mov byte [esp + 0x4d0], 1
call sub.MFC42u.DLL_CString::CString
pop edi
lea ecx, [esp + 0x10]
mov byte [esp + 0x4cc], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4d4]
mov dword [esp + 0x4cc], ebp
call sub.MFC42u.DLL_CString::CString
pop ebx
mov ecx, dword [esp + 0x4c0]
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x4c4
ret 4