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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x6d0
mov rax, qword [0x1801003f0]
xor rax, rsp
mov qword [rsp + 0x6c0], rax
mov ebp, edx
mov dword [rsp + 0x44], edx
mov rbx, rcx
test rcx, rcx
je 0x18000c1f0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x18000c1f0
mov qword [rsp + 0x6e8], rsi
xor esi, esi
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rsi
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x20], rsi
call fcn.180008bf0
test eax, eax
je 0x18000c1ec
mov edi, dword [rsp + 0x40]
cmp edi, 0xffffffff
je 0x18000c1ec
test dil, 1
je 0x18000bff7
and edi, 0xfffffffe
mov rcx, rbx
mov edx, edi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test dil, 0x10
je 0x18000c19f
lea rcx, [rsp + 0x4b2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x4b0], si
call fcn.1800369b0
lea rcx, [rsp + 0x4b0]
sub rcx, rbx
mov rdx, rbx
nop dword [rax]
movzx eax, word [rdx]
add rdx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x18000c030
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x4b0]
repne scasw ax, word [rdi]
mov eax, dword [0x1800c3f50]
lea rcx, [rsp + 0x54]
mov dword [rdi - 2], eax
movzx eax, word [0x1800c3f54]
xor edx, edx
mov r8d, 0x24c
mov dword [rsp + 0x50], esi
mov word [rdi + 2], ax
call fcn.1800369b0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x18000c194
xor ebp, ebp
nop
lea rdx, [0x1800c42d8]
lea rcx, [rsp + 0x7c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x18000c171
lea rdx, [0x1800c42d4]
lea rcx, [rsp + 0x7c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x18000c171
lea rcx, [rsp + 0x2a2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x2a0], bp
call fcn.1800369b0
lea rcx, [rsp + 0x2a0]
sub rcx, rbx
mov rdx, rbx
nop
movzx eax, word [rdx]
add rdx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x18000c100
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x2a0]
repne scasw ax, word [rdi]
mov eax, dword [0x1800c42d0]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], eax
xor eax, eax
lea rdi, [rsp + 0x2a0]
repne scasw ax, word [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x7c]
nop word [rax + rax]
movzx eax, word [rdx + rcx]
add rcx, 2
mov word [rdi + rcx - 4], ax
test ax, ax
jne 0x18000c150
lea rcx, [rsp + 0x2a0]
xor edx, edx
call fcn.18000bf50
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x18000c0a0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov ebp, dword [rsp + 0x44]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x18000c1a8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x18000c1bf
test ebp, ebp
je 0x18000c1bf
lea r8d, [rax + 4]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov rsi, qword [rsp + 0x6e8]
mov rcx, qword [rsp + 0x6c0]
xor rcx, rsp
call fcn.180036980
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
xor eax, eax
jmp 0x18000c1bf
xor eax, eax
jmp 0x18000c1c7