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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1402fa010]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r14, rcx
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x38], 0
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x140026237
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rbp - 0x38], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x140026242
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x20], rax
lea r12, [0x1402624f4]
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.140018bd0
mov rdi, 0xffffffffffffffff
test al, al
jne 0x140025c69
mov r8, rdi
nop
inc r8
cmp word [r12 + r8*2], 0
jne 0x140025c50
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.140018f70
nop
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x14002624d
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rbx, [0x140262070]
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140018bd0
test al, al
jne 0x140025cc9
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140025cb0
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140018f70
nop
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.1400191a0
add rax, 0x18
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x80]
call fcn.140025220
nop
lea rdx, [rbp - 0x30]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r15, rax
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x140025d2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
cmp r15, 0xffffffffffffffff
jne 0x140025daf
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ebx, eax
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x140025d61
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rdx, qword [r14]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140025d82
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
mov eax, ebx
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1401f3bf0
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov rbx, qword [rbp - 0x38]
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rbp - 4]
movzx eax, word [rbp - 2]
cmp cx, 0x2e
jne 0x140025dec
test ax, ax
je 0x140026160
cmp cx, cx
jne 0x140025dec
cmp ax, cx
jne 0x140025dec
cmp word [rbp], 0
je 0x140026160
lea rax, [rsp + 0x30]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x60]
mov qword [rbp - 0x60], rax
call fcn.1400195b0
mov rdx, rax
test rax, rax
je 0x14002622c
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdx, r12
lea rcx, [rsp + 0x30]
call fcn.140018bd0
test al, al
jne 0x140025e56
mov r8d, 1
mov rdx, r12
lea rcx, [rsp + 0x30]
call fcn.140018f70
nop
call fcn.1400195b0
mov rdx, rax
test rax, rax
je 0x140026221
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 4]
lea rcx, [rsp + 0x38]
call fcn.140018bd0
test al, al
jne 0x140025eba
lea rax, [rbp - 4]
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140025ea0
lea rdx, [rbp - 4]
lea rcx, [rsp + 0x38]
call fcn.140018f70
nop
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.1400191a0
add rax, 0x18
mov qword [rsp + 0x60], rax
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.140025220
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140025f46
cmp dword [rbx + 0x10], 0
jl 0x140025f38
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140025f38
call fcn.1400191a0
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140025f2e
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [case.0x140038716.0]
lea rax, [rsi + 0x18]
mov qword [rbp - 0x38], rax
jmp 0x140025f46
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x38]
call fcn.140018f70
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140025f6b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
mov eax, dword [rbp - 0x30]
test al, 0x10
je 0x140025fb4
mov rbx, qword [rbp - 0x38]
bt eax, 0xa
jae 0x140025f8a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x140026160
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
lea rcx, [rbx - 0x18]
call fcn.1400191a0
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x68]
call fcn.140025b80
jmp 0x140026160
lea rax, [rsp + 0x40]
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x40], rax
call fcn.1400195b0
mov rdx, rax
test rax, rax
je 0x140026263
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140018bd0
test al, al
jne 0x14002601e
mov r8d, 1
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140018f70
nop
call fcn.1400195b0
mov rdx, rax
test rax, rax
je 0x140026258
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 4]
lea rcx, [rsp + 0x48]
call fcn.140018bd0
test al, al
jne 0x14002607b
lea rax, [rbp - 4]
mov r8, rdi
inc r8
cmp word [rax + r8*2], 0
jne 0x140026061
lea rdx, [rbp - 4]
lea rcx, [rsp + 0x48]
call fcn.140018f70
nop
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.1400191a0
add rax, 0x18
mov qword [rsp + 0x50], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.140025220
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x38]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14002610b
cmp dword [rbx + 0x10], 0
jl 0x1400260fd
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400260fd
call fcn.1400191a0
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400260f3
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [case.0x140038716.0]
lea rax, [rsi + 0x18]
mov qword [rbp - 0x38], rax
jmp 0x14002610b
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x38]
call fcn.140018f70
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140026130
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
mov rbx, qword [rbp - 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140026160
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x140026160
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rbp - 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140025dc0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
test eax, eax
jne 0x1400261d5
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400261ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rdx, qword [r14]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400261ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
xor eax, eax
jmp 0x140025d84
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400261f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rdx, qword [r14]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140026217
mov rcx, qword [rdx]
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
call qword [case.0x140038716.0]
mov eax, 1
jmp 0x140025d84
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
int3