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

Disassembly:
push 0x29c
mov eax, 0x589df9
call fcn.00560e5c
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.0040e3a9
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.00406951
pop ecx
push eax
push esi
lea ecx, [ebp - 0x144]
call fcn.0042327a
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 0x523c87
mov esi, ebx
jmp 0x523f00
mov bl, byte [ebp - 0x29d]
push 0xffffffffffffffff
push 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x144]
call fcn.00406717
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [ebp - 0x270], 0x2e
je 0x523eb2
cmp dword [ebp - 0x29c], 0x2010
push 0x10
pop ebx
je 0x523d5f
cmp dword [ebp - 0x29c], ebx
je 0x523d5f
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00406717
push 0x599d8c
call fcn.00406951
pop ecx
push eax
push 0x599d8c
lea ecx, [ebp - 0x12c]
call fcn.0042327a
lea eax, [ebp - 0x270]
push eax
call fcn.00406951
pop ecx
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0042327a
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 0x523ead
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 0x523e25
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x15c]
call fcn.0040e3a9
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 3
push eax
call fcn.00406951
pop ecx
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x15c]
call fcn.0042327a
push 0x599d8c
call fcn.00406951
pop ecx
push eax
push 0x599d8c
lea ecx, [ebp - 0x15c]
call fcn.0042327a
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.00523bfb
push 0
push 1
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 2
call fcn.004066d3
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00406717
push 0x599d8c
call fcn.00406951
pop ecx
push eax
push 0x599d8c
lea ecx, [ebp - 0x12c]
call fcn.0042327a
lea eax, [ebp - 0x270]
push eax
call fcn.00406951
pop ecx
push eax
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0042327a
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 0x523c8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x523ef0
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 0x523efb
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.004066d3
push ebx
push 1
lea ecx, [ebp - 0x144]
call fcn.004066d3
push ebx
push 1
lea ecx, [ebp + 8]
call fcn.004066d3
mov eax, esi
call fcn.00560e1a
ret 0x18