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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41aa40
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x422084]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x2a0], esi
cmp dword [esi + 0x10], edi
je 0x40825a
xor eax, eax
push edi
mov word [ebp - 0x4c], ax
mov ebx, 7
push esi
or eax, 0xffffffff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], edi
call fcn.00406960
mov dword [ebp - 4], edi
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], cx
push 4
mov eax, str._.
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00406390
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x40808e
lea eax, [ebp - 0x4c]
lea edx, [ebp - 0x29c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2a4], eax
cmp eax, 0xffffffff
jne 0x4080db
mov esi, 8
cmp dword [ebp - 0x1c], esi
jb 0x4080bd
mov eax, dword [ebp - 0x30]
push eax
call fcn.0040b23d
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], cx
cmp dword [ebp - 0x38], esi
jb 0x40825a
mov edx, dword [ebp - 0x4c]
push edx
jmp 0x408252
lea ecx, [ebp - 0x29c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x408227
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x408100
push 0x41eea0
lea edx, [ebp - 0x270]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x408208
push 0x41eea4
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x408208
push 0x41eeac
lea ecx, [ebp - 0x270]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
je 0x408208
push edi
push esi
or eax, 0xffffffff
lea esi, [ebp - 0x30]
call fcn.00406580
push 1
mov eax, 0x41ec24
mov ecx, esi
call fcn.00406390
lea eax, [ebp - 0x270]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x408172
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x270]
lea ecx, [ebp - 0x30]
call fcn.00406390
test byte [ebp - 0x29c], 0x10
je 0x4081c5
lea edx, [ebp - 0x30]
push edx
call fcn.00408000
mov eax, dword [ebp - 0x30]
mov esi, 8
add esp, 4
cmp dword [ebp - 0x1c], esi
jae 0x4081b5
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x4081ee
cmp dword [ebp - 0x1c], esi
jmp 0x4081e0
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x4081d1
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4081ee
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x4081e8
lea eax, [ebp - 0x30]
push 5
push edi
push eax
call ebx
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], edi
jae 0x4081fd
lea eax, [ebp - 0x30]
mov esi, dword [ebp - 0x2a0]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x2a4]
lea edx, [ebp - 0x29c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x408100
lea ebx, [eax + 7]
mov esi, 8
cmp dword [ebp - 0x1c], esi
jb 0x40823d
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0040b23d
add esp, 4
xor edx, edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], dx
cmp dword [ebp - 0x38], esi
jb 0x40825a
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040b23d
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040b177
mov esp, ebp
pop ebp
ret