Function at 0x41cee0
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [0x47a008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor esi, esi
lea eax, [ebp - 0x254]
push 0x24c
push esi
or edi, 0xffffffff
mov dword [ebp - 0x26c], esi
push eax
mov ebx, ecx
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x258], esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x25c], esi
push 0x2000
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
jne 0x41cf5b
mov ebx, 0x8007000e
jmp 0x41d17b
lea edx, [ebp - 0x25c]
mov ecx, ebx
call fcn.004275e9
mov ebx, eax
test ebx, ebx
js 0x41d17b
lea eax, [ebp - 0x25c]
push eax
push 0
jmp 0x41d147
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + ecx*4 - 4]
push eax
push 0x409178
push 0x1000
push esi
mov dword [ebp - 0x260], eax
call fcn.0041e088
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x41d17b
lea eax, [ebp - 0x258]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push eax
lea ecx, [ebp - 0x270]
call fcn.0041e1d1
mov edi, dword [ebp - 0x270]
test edi, edi
je 0x41d16c
cmp edi, 0xffffffff
je 0x41d16c
mov ecx, 0x408a9c
lea eax, [ebp - 0x22c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41d010
test dx, dx
je 0x41d00c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41d010
add eax, 4
add ecx, 4
test dx, dx
jne 0x41cfea
xor eax, eax
jmp 0x41d015
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d0c6
mov ecx, 0x408aa0
lea eax, [ebp - 0x22c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41d04e
test dx, dx
je 0x41d04a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41d04e
add eax, 4
add ecx, 4
test dx, dx
jne 0x41d028
xor eax, eax
jmp 0x41d053
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d0c6
lea eax, [ebp - 0x22c]
push eax
push dword [ebp - 0x260]
push 0x4092c0
push 0x1000
push esi
call fcn.0041e088
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x41d17b
test byte [ebp - 0x258], 0x10
jne 0x41d09f
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x41d0be
test dword [ebp - 0x258], 0x400
je 0x41d127
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x41d16c
lea eax, [ebp - 0x258]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x41cfdf
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x41d16c
push 0x80
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x41d16c
lea ecx, [ebp - 0x26c]
call fcn.0041da09
mov ecx, dword [ebp - 0x268]
test ecx, ecx
jne 0x41cf80
jmp 0x41d182
lea edx, [ebp - 0x25c]
mov ecx, esi
call fcn.004275e9
mov ebx, eax
test ebx, ebx
js 0x41d17b
lea eax, [ebp - 0x25c]
push eax
push dword [ebp - 0x268]
lea ecx, [ebp - 0x26c]
call fcn.00426157
mov ebx, eax
test ebx, ebx
jns 0x41d15f
mov ecx, ebx
call fcn.004298bc
mov ecx, ebx
call fcn.004298d9
test ebx, ebx
js 0x41d17b
jmp 0x41d117
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.004263e0
mov ebx, eax
mov ecx, ebx
call fcn.004298bc
mov ecx, ebx
call fcn.004298d9
mov ecx, dword [ebp - 0x25c]
test ecx, ecx
je 0x41d198
call fcn.0042986c
test esi, esi
je 0x41d1ac
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
je 0x41d1bc
cmp edi, 0xffffffff
je 0x41d1bc
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
lea ecx, [ebp - 0x26c]
call fcn.004296bb
lea ecx, [ebp - 0x264]
call fcn.0041f31d
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00459020
mov esp, ebp
pop ebp
ret