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

Disassembly:
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
sub rsp, 0x6b8
mov rax, qword [0x14003b250]
xor rax, rsp
mov qword [rsp + Ordinal_1701], rax
mov byte [rsp + 0x20], 1
mov qword [rsp + 0x28], 0xffffffffffffffff
lea r8, str.
mov rdx, qword [rsp + 0x6c0]
lea rcx, [rsp + 0x490]
call qword [sym.imp.SHLWAPI.dll_PathCombineW]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x490]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
jne 0x140008b37
mov byte [rsp + 0x20], 0
jmp 0x140008d63
mov r8, qword [rsp + 0x6c0]
mov edx, 0x104
lea rcx, [rsp + 0x280]
call qword [sym.imp.MSVCR120.dll_wcscpy_s]
lea rcx, [rsp + 0x280]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea r8, [rsp + 0x280]
mov edx, 0x104
lea rcx, [rsp + 0x490]
call qword [sym.imp.MSVCR120.dll_wcscpy_s]
mov byte [rsp + 0x21], 1
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x140008d1c
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x140008cf3
mov eax, 2
imul rax, rax, 0
movzx eax, word [rsp + rax + 0x5c]
cmp eax, 0x2e
jne 0x140008bf1
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x5c]
test eax, eax
je 0x140008bef
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x5c]
cmp eax, 0x2e
jne 0x140008bf1
mov eax, 2
imul rax, rax, 2
movzx eax, word [rsp + rax + 0x5c]
test eax, eax
jne 0x140008bf1
jmp 0x140008b80
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x280]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov eax, dword [rsp + 0x30]
and eax, 0x10
test eax, eax
je 0x140008c6a
mov dl, 1
lea rcx, [rsp + 0x280]
call fcn.140008ac0
movzx eax, al
test eax, eax
jne 0x140008c3c
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov byte [rsp + 0x20], 0
jmp 0x140008d1c
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea r8, [rsp + 0x490]
mov edx, 0x104
lea rcx, [rsp + 0x280]
call qword [sym.imp.MSVCR120.dll_wcscpy_s]
jmp 0x140008cf1
mov eax, dword [rsp + 0x30]
and eax, 1
test eax, eax
je 0x140008cb0
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0xffffffff
je 0x140008cb0
mov eax, dword [rsp + 0x24]
and eax, 1
test eax, eax
je 0x140008cb0
mov eax, dword [rsp + 0x24]
and eax, 0xfffffffe
mov edx, eax
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140008cd6
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov byte [rsp + 0x20], 0
jmp 0x140008d1c
lea r8, [rsp + 0x490]
mov edx, 0x104
lea rcx, [rsp + 0x280]
call qword [sym.imp.MSVCR120.dll_wcscpy_s]
jmp 0x140008d17
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x140008d05
mov byte [rsp + 0x21], 0
jmp 0x140008d17
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov byte [rsp + 0x20], 0
jmp 0x140008d1c
jmp 0x140008b80
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
movzx eax, byte [rsp + 0x6c8]
test eax, eax
jne 0x140008d63
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x140008d63
mov rcx, qword [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x140008d55
mov byte [rsp + 0x22], 1
jmp 0x140008d5a
mov byte [rsp + 0x22], 0
movzx eax, byte [rsp + 0x22]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x6a0]
xor rcx, rsp
call fcn.140021890
add rsp, 0x6b8
ret