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

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x3a0
mov rax, qword [0x140012008]
xor rax, rsp
mov qword [rsp + 0x390], rax
mov rsi, rcx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x281]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x280], 0
call fcn.1400043b0
lea rcx, [rsp + 0x171]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x170], 0
call fcn.1400043b0
lea rcx, [rsp + 0x280]
mov rdx, rsi
sub rcx, rsi
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x1400010a0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x280]
repne scasb al, byte [rdi]
movzx eax, word [0x14000e3f4]
lea rdx, [rsp + 0x170]
mov word [rdi - 1], ax
movzx eax, byte [0x14000e3f6]
mov rcx, rsi
mov byte [rdi + 1], al
sub rdx, rsi
movzx eax, byte [rcx]
inc rcx
mov byte [rdx + rcx - 1], al
test al, al
jne 0x1400010e1
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x170]
repne scasb al, byte [rdi]
movzx eax, word [0x14000e3f0]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x280]
mov word [rdi - 1], ax
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x140001141
lea rdx, [rsp + 0x280]
lea rcx, str._s_Not_Found_n
call fcn.140004290
xor al, al
jmp 0x140001345
mov qword [rsp + 0x3b8], rbx
xor ebx, ebx
mov rcx, rbx
nop
movzx eax, byte [rsp + rcx + 0x170]
inc rcx
mov byte [rsp + rcx + 0x27f], al
test al, al
jne 0x140001150
nop word [rax + rax]
lea rdx, [rsp + 0x30]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x14000130b
lea rsi, [rsp + 0x5c]
lea rdi, [0x14000e3d8]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
je 0x140001170
lea rsi, [rsp + 0x5c]
lea rdi, [0x14000e3d4]
mov ecx, 3
repe cmpsb byte [rsi], byte [rdi]
je 0x140001170
lea rdx, [0x14000e3d4]
lea rcx, [rsp + 0x5c]
xor sil, sil
call fcn.1400041b0
test rax, rax
je 0x140001201
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x5c]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 2
jbe 0x140001201
lea rcx, [rsp + rcx + 0x5a]
lea rdx, [0x14000e3d4]
call fcn.1400050dc
movzx esi, sil
test eax, eax
mov eax, 1
cmove esi, eax
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x170]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x5c]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140001220
test sil, sil
je 0x140001278
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x170]
repne scasb al, byte [rdi]
lea rax, [rsp + 0x170]
lea rdi, [rsp + 0x170]
not rcx
mov byte [rcx + rax - 3], bl
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x14000e3d0]
mov word [rdi - 1], ax
movzx eax, byte [0x14000e3d2]
mov byte [rdi + 1], al
test byte [rsp + 0x30], 0x10
je 0x1400012c0
lea rcx, [rsp + 0x170]
call fcn.140001020
test al, al
je 0x140001332
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov rdx, rbx
movzx eax, byte [rsp + rdx + 0x280]
inc rdx
mov byte [rsp + rdx + 0x16f], al
test al, al
jne 0x1400012a5
jmp 0x140001170
lea rcx, [rsp + 0x170]
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x140001332
mov rcx, rbx
nop dword [rax + rax]
movzx eax, byte [rsp + rcx + 0x280]
inc rcx
mov byte [rsp + rcx + 0x16f], al
test al, al
jne 0x1400012f0
jmp 0x140001170
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x140001332
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
cmp eax, 1
sete al
jmp 0x14000133d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
xor al, al
mov rbx, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x390]
xor rcx, rsp
call fcn.140004380
lea r11, [rsp + 0x3a0]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret