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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x5d
push 0
push 0
dec ecx
jne 0xb5154
push ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0xb5901
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
inc dword [eax - 4]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.000732d4
lea eax, [ebp - 0x264]
xor ecx, ecx
mov edx, 0x250
call fcn.00012b24
xor eax, eax
push ebp
push 0xb55e2
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x268]
mov ecx, 0xb5914
mov edx, dword [ebp - 0x14]
call fcn.00014534
mov eax, dword [ebp - 0x268]
call fcn.000144b8
push eax
call sub.kernel32.dll_FindFirstFileW
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0xb55be
test byte [ebp - 0x264], 0x10
jne 0xb5350
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x238]
mov ecx, 0x104
call fcn.00014428
mov ecx, dword [ebp - 0x26c]
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00014534
push 0x80
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_DeleteFileW
test eax, eax
jne 0xb55a6
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 8], eax
push 0xb5920
push dword [ebp - 0x10]
lea edx, [ebp - 0x278]
mov eax, 0xb5944
call fcn.00078120
lea eax, [ebp - 0x278]
push eax
lea edx, [ebp - 0x27c]
mov eax, dword [ebp - 8]
call fcn.000747a0
mov edx, dword [ebp - 0x27c]
pop eax
call fcn.00013eec
mov edx, dword [ebp - 0x278]
lea eax, [ebp - 0x274]
call fcn.00014444
push dword [ebp - 0x274]
lea eax, [ebp - 0x270]
mov edx, 3
call fcn.00014598
mov eax, dword [ebp - 0x270]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.00079624
push 0
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_DeleteFileW
test eax, eax
jne 0xb55a6
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 8], eax
push 0xb594c
push dword [ebp - 0x10]
lea edx, [ebp - 0x288]
mov eax, 0xb5944
call fcn.00078120
lea eax, [ebp - 0x288]
push eax
lea edx, [ebp - 0x28c]
mov eax, dword [ebp - 8]
call fcn.000747a0
mov edx, dword [ebp - 0x28c]
pop eax
call fcn.00013eec
mov edx, dword [ebp - 0x288]
lea eax, [ebp - 0x284]
call fcn.00014444
push dword [ebp - 0x284]
lea eax, [ebp - 0x280]
mov edx, 3
call fcn.00014598
mov eax, dword [ebp - 0x280]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.00079624
jmp 0xb55a6
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x238]
mov ecx, 0x104
call fcn.00014428
mov eax, dword [ebp - 0x10]
mov edx, 0xb5974
call fcn.000145e0
je 0xb55a6
mov eax, dword [ebp - 0x10]
mov edx, 0xb597c
call fcn.000145e0
je 0xb55a6
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0x3e8
jae 0xb55a6
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00014534
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x10]
call fcn.000b514c
pop ecx
push 0x80
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_RemoveDirectoryW
test eax, eax
jne 0xb55a6
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
je 0xb55a6
push 0xb5988
push dword [ebp - 0x10]
lea edx, [ebp - 0x298]
mov eax, 0xb5944
call fcn.00078120
lea eax, [ebp - 0x298]
push eax
lea edx, [ebp - 0x29c]
mov eax, dword [ebp - 8]
call fcn.000747a0
mov edx, dword [ebp - 0x29c]
pop eax
call fcn.00013eec
mov edx, dword [ebp - 0x298]
lea eax, [ebp - 0x294]
call fcn.00014444
push dword [ebp - 0x294]
lea eax, [ebp - 0x290]
mov edx, 3
call fcn.00014598
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.00079624
push 0x10
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_RemoveDirectoryW
test eax, eax
jne 0xb55a6
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
je 0xb5505
push 0xb59b8
push dword [ebp - 0x10]
lea edx, [ebp - 0x2a8]
mov eax, 0xb5944
call fcn.00078120
lea eax, [ebp - 0x2a8]
push eax
lea edx, [ebp - 0x2ac]
mov eax, dword [ebp - 8]
call fcn.000747a0
mov edx, dword [ebp - 0x2ac]
pop eax
call fcn.00013eec
mov edx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x2a4]
call fcn.00014444
push dword [ebp - 0x2a4]
lea eax, [ebp - 0x2a0]
mov edx, 3
call fcn.00014598
mov eax, dword [ebp - 0x2a0]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.00079624
push 0
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x10]
call fcn.000144b8
push eax
call sub.kernel32.dll_RemoveDirectoryW
test eax, eax
jne 0xb55a6
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
je 0xb55a6
push 0xb59e8
push dword [ebp - 0x10]
lea edx, [ebp - 0x2b8]
mov eax, 0xb5944
call fcn.00078120
lea eax, [ebp - 0x2b8]
push eax
lea edx, [ebp - 0x2bc]
mov eax, dword [ebp - 8]
call fcn.000747a0
mov edx, dword [ebp - 0x2bc]
pop eax
call fcn.00013eec
mov edx, dword [ebp - 0x2b8]
lea eax, [ebp - 0x2b4]
call fcn.00014444
push dword [ebp - 0x2b4]
lea eax, [ebp - 0x2b0]
mov edx, 3
call fcn.00014598
mov eax, dword [ebp - 0x2b0]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.00079624
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_FindNextFileW
test eax, eax
jne 0xb51d6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xb55e9
cmp dword [ebp - 0xc], 0xffffffff
je 0xb55da
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_FindClose_1
mov dword [ebp - 0xc], 0xffffffff
ret