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

Disassembly:
push 0x29c
mov eax, 0x586f31
call fcn.0055ddbc
mov dword [ebp - 0x2a4], ecx
lea eax, [ebp + 8]
xor ebx, ebx
push eax
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], ebx
call fcn.0040e392
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
mov esi, str..
mov byte [ebp - 4], 2
push esi
call fcn.0040695b
pop ecx
push eax
push esi
lea ecx, [ebp - 0x144]
call fcn.00423041
cmp dword [ebp - 0x130], 0x10
lea ecx, [ebp - 0x29c]
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x520cdc
mov esi, ebx
jmp 0x520f55
mov bl, byte [ebp - 0x29d]
push 0xffffffffffffffff
push 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x144]
call fcn.00406721
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [ebp - 0x270], 0x2e
je 0x520f07
cmp dword [ebp - 0x29c], 0x2010
push 0x10
pop ebx
je 0x520db4
cmp dword [ebp - 0x29c], ebx
je 0x520db4
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00406721
push 0x59801c
call fcn.0040695b
pop ecx
push eax
push 0x59801c
lea ecx, [ebp - 0x12c]
call fcn.00423041
lea eax, [ebp - 0x270]
push eax
call fcn.0040695b
pop ecx
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00423041
cmp dword [ebp - 0x118], ebx
lea eax, [ebp - 0x12c]
push 0xfffffffffffffffe
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [ebp - 0x118], ebx
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x520f02
cmp dword [ebp - 0x130], ebx
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x134]
cmovae ecx, dword [ebp - 0x144]
cmp byte [ecx + eax - 1], 0x5c
jne 0x520e7a
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x15c]
call fcn.0040e392
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 3
push eax
call fcn.0040695b
pop ecx
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00423041
push 0x59801c
call fcn.0040695b
pop ecx
push eax
push 0x59801c
lea ecx, [ebp - 0x15c]
call fcn.00423041
cmp dword [ebp - 0x148], ebx
lea eax, [ebp - 0x15c]
cmovae eax, dword [ebp - 0x15c]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
sub esp, 0x18
lea eax, [ebp - 0x114]
mov ecx, esp
push eax
call fcn.00406217
mov ecx, dword [ebp - 0x2a4]
call fcn.00520c50
push 0
push 1
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 2
call fcn.004066dd
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00406721
push 0x59801c
call fcn.0040695b
pop ecx
push eax
push 0x59801c
lea ecx, [ebp - 0x12c]
call fcn.00423041
lea eax, [ebp - 0x270]
push eax
call fcn.0040695b
pop ecx
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00423041
cmp dword [ebp - 0x118], ebx
lea eax, [ebp - 0x12c]
push 0xfffffffffffffffe
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [ebp - 0x118], ebx
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
setne bl
lea eax, [ebp - 0x29c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x520ce2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x520f45
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov bl, 1
test esi, esi
je 0x520f50
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
movzx esi, bl
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.004066dd
push ebx
push 1
lea ecx, [ebp - 0x144]
call fcn.004066dd
push ebx
push 1
lea ecx, [ebp + 8]
call fcn.004066dd
mov eax, esi
call fcn.0055dd7a
ret 0x18