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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
mov eax, dword [0x42c3f8]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 4]
call fcn.00405f90
push str..
lea ecx, [ebp - 4]
call fcn.00406010
lea ecx, [ebp - 0x258]
push ecx
lea ecx, [ebp - 4]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0xffffffff
je 0x4043cc
lea edx, [ebp - 0x22c]
push edx
lea ecx, [ebp - 0x26c]
call fcn.00405d60
push 0x4257dc
lea ecx, [ebp - 0x26c]
call fcn.00406040
test eax, eax
je 0x40417f
push 0x4257e0
lea ecx, [ebp - 0x26c]
call fcn.00406040
test eax, eax
jne 0x404191
lea ecx, [ebp - 0x26c]
call fcn.00405690
jmp 0x404354
mov eax, dword [ebp - 0x258]
and eax, 0x10
je 0x40420d
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x270]
call fcn.00405f90
push 0x4257e8
lea ecx, [ebp - 0x270]
call fcn.00406010
lea edx, [ebp - 0x26c]
push edx
lea ecx, [ebp - 0x270]
call fcn.00405fe0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x270]
push ecx
call fcn.004040f0
add esp, 8
lea ecx, [ebp - 0x270]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x270]
call fcn.00405690
lea ecx, [ebp - 0x26c]
call fcn.00405690
jmp 0x404354
lea edx, [ebp - 0x26c]
push edx
push 0x4257ec
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x284]
push ecx
call fcn.00406270
push eax
lea edx, [ebp - 0x264]
push edx
call fcn.00406210
lea ecx, [ebp - 0x284]
call fcn.00405690
lea ecx, [ebp - 0x264]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
je 0x40433e
push 0x3e9
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [ebp - 0x268]
add ecx, 4
call fcn.004032b0
mov ecx, eax
call fcn.004032a0
push eax
lea ecx, [ebp - 0x27c]
call fcn.00403540
mov edx, dword [0x42c1c8]
add edx, 1
mov dword [0x42c1c8], edx
mov eax, dword [0x42c1c8]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00406a00
push 0x3f1
lea ecx, [ebp - 0x28c]
push ecx
mov ecx, dword [ebp - 0x268]
add ecx, 4
call fcn.004032b0
mov ecx, eax
call fcn.004032a0
push eax
lea ecx, [ebp - 0x278]
call fcn.00403540
lea ecx, [ebp - 0x264]
call fcn.004032a0
push eax
lea ecx, [ebp - 0x278]
call fcn.004053b0
push 0x3ea
lea edx, [ebp - 0x290]
push edx
mov ecx, dword [ebp - 0x268]
add ecx, 4
call fcn.004032b0
mov ecx, eax
call fcn.004032a0
push eax
lea ecx, [ebp - 0x274]
call fcn.00403540
lea ecx, [ebp - 0x264]
call fcn.004032a0
push eax
lea ecx, [ebp - 0x274]
call fcn.00406a30
lea ecx, [ebp - 0x264]
call fcn.00405690
lea ecx, [ebp - 0x26c]
call fcn.00405690
lea eax, [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x404145
mov edx, dword [ebp - 0x25c]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
je 0x4043cc
push 0x3e9
lea ecx, [ebp - 0x294]
push ecx
mov ecx, dword [ebp - 0x260]
add ecx, 4
call fcn.004032b0
mov ecx, eax
call fcn.004032a0
push eax
lea ecx, [ebp - 0x280]
call fcn.00403540
push 0x258
lea ecx, [ebp - 0x280]
call fcn.00406a00
mov dword [ebp - 0x298], 0
lea ecx, [ebp - 4]
call fcn.00405690
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00411eb4
mov esp, ebp
pop ebp
ret