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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x66c
mov eax, dword [0x1002e008]
xor eax, esp
mov dword [esp + 0x668], eax
push ebx
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x1000af03
mov edx, ebx
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x1000ace0
sub edx, ecx
sar edx, 1
je 0x1000af03
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1000af03
test al, 1
je 0x1000ad1c
and eax, 0xfffffffe
push eax
push ebx
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [esp + 0xc]
test al, 0x10
je 0x1000aee7
push 0x208
lea eax, [esp + 0x264]
push 0
push eax
call fcn.1000e420
lea edx, [esp + 0x26c]
add esp, 0xc
mov ecx, ebx
sub edx, ebx
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x1000ad50
lea ecx, [esp + 0x260]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x1000ad70
mov eax, dword [0x1002b35c]
mov dword [ecx], eax
mov ax, word [0x1002b360]
push 0x250
mov word [ecx + 4], ax
lea eax, [esp + 0x14]
push 0
push eax
call fcn.1000e420
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [esp + 0xc], edi
cmp edi, 0xffffffff
je 0x1000aecb
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
nop dword [eax]
push 0x1002b364
lea eax, [esp + 0x40]
push eax
call esi
test eax, eax
je 0x1000aeb0
push 0x1002b36c
lea eax, [esp + 0x40]
push eax
call esi
test eax, eax
je 0x1000aeb0
push 0x208
lea eax, [esp + 0x46c]
push 0
push eax
call fcn.1000e420
lea edx, [esp + 0x474]
add esp, 0xc
mov eax, ebx
sub edx, ebx
nop word [eax + eax]
movzx ecx, word [eax]
lea eax, [eax + 2]
mov word [edx + eax - 2], cx
test cx, cx
jne 0x1000ae20
lea edi, [esp + 0x260]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x1000ae40
mov eax, dword [0x10029dc0]
lea edx, [esp + 0x3c]
mov dword [edi], eax
mov esi, edx
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x1000ae60
lea edi, [esp + 0x260]
sub edx, esi
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x1000ae80
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x468]
call fcn.1000acb0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov edi, dword [esp + 0xc]
lea eax, [esp + 0x10]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1000add0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x668]
xor ecx, esp
call fcn.1000c02f
mov esp, ebp
pop ebp
ret
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x668]
xor ecx, esp
call fcn.1000c02f
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x674]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1000c02f
mov esp, ebp
pop ebp
ret