Function at 0x49b9e0
Capabilities:
Check if file exists
Delete directory
Enumerate files on windows
Enumerate files recursively
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push eax
call fcn.004b5f60
add esp, 4
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax - 1]
cmp edx, 0x5c
jne 0x49ba20
mov eax, dword [ebp + 8]
push eax
call fcn.004b5f60
add esp, 4
mov ecx, dword [ebp + 8]
mov byte [ecx + eax - 1], 0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x404]
push eax
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x304]
push edx
call fcn.004b5e60
add esp, 8
lea eax, [ebp - 0x304]
push eax
call fcn.00429ab0
add esp, 4
push 0x4f3704
lea ecx, [ebp - 0x304]
push ecx
call fcn.004b5e70
add esp, 8
lea edx, [ebp - 0x644]
push edx
lea eax, [ebp - 0x304]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0xffffffff
je 0x49bc32
lea ecx, [ebp - 0x618]
push ecx
lea edx, [ebp - 0x504]
push edx
call fcn.004b5e60
add esp, 8
mov eax, dword [ebp - 0x644]
and eax, 0x10
je 0x49babd
mov dword [ebp - 0x650], 1
jmp 0x49bac7
mov dword [ebp - 0x650], 0
push 0x4f3708
lea ecx, [ebp - 0x504]
push ecx
call fcn.004b68e0
add esp, 8
test eax, eax
je 0x49bc16
push 0x4f370c
lea edx, [ebp - 0x504]
push edx
call fcn.004b68e0
add esp, 8
test eax, eax
je 0x49bc16
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b5e60
add esp, 8
lea edx, [ebp - 0x104]
push edx
call fcn.00429ab0
add esp, 4
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b5e70
add esp, 8
cmp dword [ebp - 0x650], 1
jne 0x49bb57
lea edx, [ebp - 0x104]
push edx
call fcn.0049b9e0
add esp, 4
jmp 0x49bc16
lea eax, [ebp - 0x104]
push eax
call fcn.004b9887
add esp, 4
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0
je 0x49bbda
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x49bbda
lea edx, [ebp - 0x104]
push edx
push str.WARNING:_File_was_ReadOnly__s
lea eax, [ebp - 0x204]
push eax
call fcn.004b6e08
add esp, 0xc
lea ecx, [ebp - 0x204]
push ecx
push 0
call fcn.00440830
add esp, 8
push 0x80
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x104]
push eax
call fcn.004b9887
add esp, 4
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0xffffffff
jne 0x49bc16
mov ecx, dword [ebp - 0x648]
push ecx
lea edx, [ebp - 0x104]
push edx
push str.ERROR:_Could_not_delete_the_file:__s___d_
lea eax, [ebp - 0x204]
push eax
call fcn.004b6e08
add esp, 0x10
lea ecx, [ebp - 0x204]
push ecx
push 1
call fcn.00440830
add esp, 8
lea edx, [ebp - 0x644]
push edx
mov eax, dword [ebp - 0x64c]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x49ba90
mov ecx, dword [ebp - 0x64c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea edx, [ebp - 0x404]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0
jne 0x49bca1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x648]
push ecx
lea edx, [ebp - 0x404]
push edx
push str.ERROR:_Could_not_delete_the_directory:__s___d__d_
lea eax, [ebp - 0x204]
push eax
call fcn.004b6e08
add esp, 0x14
lea ecx, [ebp - 0x204]
push ecx
push 1
call fcn.00440830
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret