Function at 0x49f563
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x278
mov eax, dword [0x52de80]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x258]
push ebx
push esi
push eax
xor ebx, ebx
call fcn.00425ac1
mov esi, dword [ebp - 0x258]
cmp dword [esi - 0xc], ebx
je 0x49f7b8
push 0x50cda8
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00442988
add esp, 0xc
lea ecx, [ebp - 0x254]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x278]
add ecx, 0xfffffff0
mov dword [ebp - 0x25c], eax
call fcn.0042095b
cmp dword [ebp - 0x25c], 0xffffffff
jne 0x49f5e5
inc ebx
jmp 0x49f7b1
push edi
test byte [ebp - 0x254], 0x10
lea eax, [ebp - 0x228]
je 0x49f691
push 0x50cdac
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x49f786
push 0x50cdb0
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x49f786
push 0x50c8fc
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.00442988
add esp, 0xc
push eax
lea eax, [ebp - 0x264]
push eax
call fcn.00442988
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [eax]
call fcn.0049f563
mov ecx, dword [ebp - 0x264]
add esp, 0x18
add ecx, 0xfffffff0
mov edi, eax
call fcn.0042095b
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
call fcn.0042095b
test edi, edi
je 0x49f7a4
jmp 0x49f786
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.00442988
add esp, 0xc
push 0x80
push dword [eax]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, dword [ebp - 0x274]
lea ecx, [ecx - 0x10]
call fcn.0042095b
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.00442988
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x268]
mov edi, eax
add ecx, 0xfffffff0
call fcn.0042095b
test edi, edi
jne 0x49f786
call fcn.00420e4a
push eax
lea ecx, [ebp - 0x260]
call fcn.00423e50
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x228]
push eax
push esi
lea eax, [ebp - 0x260]
push str._s_s_d__x
push eax
call fcn.0042443a
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.00442988
mov edi, dword [ebp - 0x260]
push edi
push dword [eax]
call fcn.004c0e0c
mov ecx, dword [ebp - 0x270]
add esp, 0x28
add ecx, 0xfffffff0
mov ebx, eax
call fcn.0042095b
test ebx, ebx
jne 0x49f77c
push 4
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x49f77e
xor ebx, ebx
lea ecx, [edi - 0x10]
call fcn.0042095b
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x49f5e6
xor ebx, ebx
inc ebx
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [esi - 0x10]
call fcn.0042095b
mov ecx, dword [ebp - 4]
mov eax, ebx
pop esi
xor ecx, ebp
pop ebx
call fcn.004bc45f
mov esp, ebp
pop ebp
ret