Function at 0x49f935
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 [0x52fe80]
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.00425b88
push 0x50f8e8
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00442e1f
add esp, 0xc
lea ecx, [ebp - 0x254]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x278]
mov esi, eax
add ecx, 0xfffffff0
mov dword [ebp - 0x260], esi
call fcn.004206ab
cmp esi, 0xffffffff
mov esi, dword [ebp - 0x258]
jne 0x49f9ac
inc ebx
jmp 0x49fb78
push edi
test byte [ebp - 0x254], 0x10
lea eax, [ebp - 0x228]
je 0x49fa58
push 0x50f8fc
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x49fb4d
push 0x50f900
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x49fb4d
push 0x50f8e4
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.00442e1f
add esp, 0xc
push eax
lea eax, [ebp - 0x264]
push eax
call fcn.00442e1f
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [eax]
call fcn.0049f935
mov ecx, dword [ebp - 0x264]
add esp, 0x18
add ecx, 0xfffffff0
mov edi, eax
call fcn.004206ab
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
call fcn.004206ab
test edi, edi
je 0x49fb6b
jmp 0x49fb4d
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.00442e1f
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.004206ab
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.00442e1f
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.004206ab
test edi, edi
jne 0x49fb4d
call fcn.00420bd2
push eax
lea ecx, [ebp - 0x25c]
call fcn.00423e41
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x228]
push eax
push esi
lea eax, [ebp - 0x25c]
push str._s_s_d__x
push eax
call fcn.00424501
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.00442e1f
mov edi, dword [ebp - 0x25c]
push edi
push dword [eax]
call fcn.004c0b5c
mov ecx, dword [ebp - 0x270]
add esp, 0x28
add ecx, 0xfffffff0
mov ebx, eax
call fcn.004206ab
test ebx, ebx
jne 0x49fb43
push 4
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x49fb45
xor ebx, ebx
lea ecx, [edi - 0x10]
call fcn.004206ab
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x49f9ad
xor ebx, ebx
inc ebx
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [esi - 0x10]
call fcn.004206ab
mov ecx, dword [ebp - 4]
mov eax, ebx
pop esi
xor ecx, ebp
pop ebx
call fcn.004bc1bd
mov esp, ebp
pop ebp
ret