Function at 0xbb780
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, 0x5e
push 0
push 0
dec ecx
jne 0xbb788
push ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0xbbf67
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
inc dword [eax - 4]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0006b234
lea eax, [ebp - 0x264]
xor ecx, ecx
mov edx, 0x250
call fcn.00012b38
xor eax, eax
push ebp
push 0xbbc48
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x268]
mov ecx, 0xbbf7c
mov edx, dword [ebp - 0x10]
call fcn.00014548
mov eax, dword [ebp - 0x268]
call fcn.000144cc
push eax
call sub.kernel32.dll_FindFirstFileW
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
je 0xbbc24
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x238]
mov ecx, 0x104
call fcn.0001443c
mov eax, dword [ebp - 0x26c]
mov edx, 0xbbf84
call fcn.000145f4
je 0xbbc0c
lea eax, [ebp - 0x270]
lea edx, [ebp - 0x238]
mov ecx, 0x104
call fcn.0001443c
mov eax, dword [ebp - 0x270]
mov edx, 0xbbf8c
call fcn.000145f4
je 0xbbc0c
test byte [ebp - 0x264], 0x10
jne 0xbb9dc
lea eax, [ebp - 0x274]
lea edx, [ebp - 0x238]
mov ecx, 0x104
call fcn.0001443c
mov ecx, dword [ebp - 0x274]
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00014548
push 0x80
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_DeleteFileW
test eax, eax
jne 0xbbc0c
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0xc], eax
push 0xbbf98
push dword [ebp - 0x14]
lea edx, [ebp - 0x280]
mov eax, 0xbbfbc
call fcn.0007a2b0
lea eax, [ebp - 0x280]
push eax
lea edx, [ebp - 0x284]
mov eax, dword [ebp - 0xc]
call fcn.000766dc
mov edx, dword [ebp - 0x284]
pop eax
call fcn.00013f00
mov edx, dword [ebp - 0x280]
lea eax, [ebp - 0x27c]
call fcn.00014458
push dword [ebp - 0x27c]
lea eax, [ebp - 0x278]
mov edx, 3
call fcn.000145ac
mov eax, dword [ebp - 0x278]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.0007b7c8
push 0
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_DeleteFileW
test eax, eax
jne 0xbbc0c
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0xc], eax
push 0xbbfc4
push dword [ebp - 0x14]
lea edx, [ebp - 0x290]
mov eax, 0xbbfbc
call fcn.0007a2b0
lea eax, [ebp - 0x290]
push eax
lea edx, [ebp - 0x294]
mov eax, dword [ebp - 0xc]
call fcn.000766dc
mov edx, dword [ebp - 0x294]
pop eax
call fcn.00013f00
mov edx, dword [ebp - 0x290]
lea eax, [ebp - 0x28c]
call fcn.00014458
push dword [ebp - 0x28c]
lea eax, [ebp - 0x288]
mov edx, 3
call fcn.000145ac
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.0007b7c8
jmp 0xbbc0c
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0x3e8
jae 0xbbc0c
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x238]
mov ecx, 0x104
call fcn.0001443c
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00014548
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x14]
call fcn.000bb780
pop ecx
push 0x80
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_RemoveDirectoryW
test eax, eax
jne 0xbbc0c
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
je 0xbbc0c
push 0xbbfec
push dword [ebp - 0x14]
lea edx, [ebp - 0x2a0]
mov eax, 0xbbfbc
call fcn.0007a2b0
lea eax, [ebp - 0x2a0]
push eax
lea edx, [ebp - 0x2a4]
mov eax, dword [ebp - 0xc]
call fcn.000766dc
mov edx, dword [ebp - 0x2a4]
pop eax
call fcn.00013f00
mov edx, dword [ebp - 0x2a0]
lea eax, [ebp - 0x29c]
call fcn.00014458
push dword [ebp - 0x29c]
lea eax, [ebp - 0x298]
mov edx, 3
call fcn.000145ac
mov eax, dword [ebp - 0x298]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.0007b7c8
push 0x10
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_RemoveDirectoryW
test eax, eax
jne 0xbbc0c
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
je 0xbbb6b
push 0xbc01c
push dword [ebp - 0x14]
lea edx, [ebp - 0x2b0]
mov eax, 0xbbfbc
call fcn.0007a2b0
lea eax, [ebp - 0x2b0]
push eax
lea edx, [ebp - 0x2b4]
mov eax, dword [ebp - 0xc]
call fcn.000766dc
mov edx, dword [ebp - 0x2b4]
pop eax
call fcn.00013f00
mov edx, dword [ebp - 0x2b0]
lea eax, [ebp - 0x2ac]
call fcn.00014458
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
mov edx, 3
call fcn.000145ac
mov eax, dword [ebp - 0x2a8]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.0007b7c8
push 0
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_SetFileAttributesW
mov eax, dword [ebp - 0x14]
call fcn.000144cc
push eax
call sub.kernel32.dll_RemoveDirectoryW
test eax, eax
jne 0xbbc0c
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
je 0xbbc0c
push 0xbc04c
push dword [ebp - 0x14]
lea edx, [ebp - 0x2c0]
mov eax, 0xbbfbc
call fcn.0007a2b0
lea eax, [ebp - 0x2c0]
push eax
lea edx, [ebp - 0x2c4]
mov eax, dword [ebp - 0xc]
call fcn.000766dc
mov edx, dword [ebp - 0x2c4]
pop eax
call fcn.00013f00
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x2bc]
call fcn.00014458
push dword [ebp - 0x2bc]
lea eax, [ebp - 0x2b8]
mov edx, 3
call fcn.000145ac
mov eax, dword [ebp - 0x2b8]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 8]
call fcn.0007b7c8
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_FindNextFileW
test eax, eax
jne 0xbb80a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xbbc4f
cmp dword [ebp - 8], 0xffffffff
je 0xbbc40
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_FindClose_1
mov dword [ebp - 8], 0xffffffff
ret