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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5c8]
sub rsp, 0x6a0
xor ebx, ebx
mov r12d, r8d
mov r14, rdx
mov rdi, rcx
test rcx, rcx
je 0x1400217e0
cmp word [rcx], bx
je 0x1400217e0
mov rdx, rcx
mov esi, 0x104
mov r8d, esi
lea rcx, [rsp + 0x30]
call fcn.14003950c
mov rcx, rdi
mov word [rbp + 0x138], bx
call fcn.140037f38
test eax, eax
je 0x140021576
cmp eax, esi
jge 0x140021576
cdqe
cmp word [rdi + rax*2 - 2], 0x5c
je 0x140021576
lea rdx, [0x140138348]
lea rcx, [rsp + 0x30]
call fcn.1400394e0
mov r8, rsi
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x390]
call fcn.14003950c
mov word [rbp + 0x598], bx
test r14, r14
je 0x1400216a0
cmp word [r14], bx
je 0x1400216a0
lea rdx, [0x140147018]
mov rcx, r14
call fcn.1400383a8
test eax, eax
je 0x1400216a0
mov r15d, r12d
and r15d, 1
je 0x140021698
lea r9, [rbp + 0x390]
mov rdx, rsi
lea r8, str._s.
lea rcx, [rsp + 0x30]
call fcn.140021494
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140021691
lea rax, [rbp + 0x16c]
mov rdx, rsi
lea r9, [rbp + 0x390]
mov qword [rsp + 0x20], rax
lea r8, str._s_s
lea rcx, [rsp + 0x30]
call fcn.140021494
test byte [rbp + 0x140], 0x10
je 0x140021670
lea rdx, [0x1401383cc]
lea rcx, [rbp + 0x16c]
call fcn.1400383a8
test eax, eax
je 0x140021670
lea rdx, [0x1401383d4]
lea rcx, [rbp + 0x16c]
call fcn.1400383a8
test eax, eax
je 0x140021670
mov r8d, r12d
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.1400214ec
lea rdx, [rbp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140021602
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov edi, 1
jmp 0x1400216b0
mov edi, dword [rbp + 0x5d0]
jmp 0x1400216b0
mov r15d, r12d
lea r14, [0x140147018]
and r15d, 1
mov edi, ebx
lea r9, [rbp + 0x390]
mov qword [rsp + 0x20], r14
lea r8, str._s_s
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140021494
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x1400217e0
mov esi, r12d
and esi, 2
lea rax, [rbp + 0x16c]
mov edx, 0x104
lea r9, [rbp + 0x390]
mov qword [rsp + 0x20], rax
lea r8, str._s_s
lea rcx, [rsp + 0x30]
call fcn.140021494
test byte [rbp + 0x140], 0x10
je 0x140021770
test edi, edi
jne 0x14002178f
test r15d, r15d
je 0x14002178f
lea rdx, [0x1401383cc]
lea rcx, [rbp + 0x16c]
call fcn.1400383a8
test eax, eax
je 0x14002178f
lea rdx, [0x1401383d4]
lea rcx, [rbp + 0x16c]
call fcn.1400383a8
test eax, eax
je 0x14002178f
mov r8d, r12d
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.1400214ec
jmp 0x14002178f
test esi, esi
je 0x140021784
mov edx, 0x80
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rbp + 0x140]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400216f5
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
test esi, esi
je 0x1400217c6
mov edx, 0x80
lea rcx, [rbp + 0x390]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test edi, edi
je 0x1400217d1
mov ebx, 1
jmp 0x1400217e0
lea rcx, [rbp + 0x390]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ebx, eax
lea r11, [rsp + 0x6a0]
movsxd rax, ebx
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret