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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x260]
sub rsp, 0x360
mov rax, qword [0x14058f6b8]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov rbx, rdx
mov qword [rsp + 0x68], rdx
mov r13, rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rdx
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x20], r14d
mov esi, dword [rdx + 8]
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r14d
mov eax, dword [rcx + 8]
cmp eax, 1
jl 0x1401243a2
dec eax
movsxd rcx, eax
mov rax, qword [r13]
lea rcx, [rax + rcx*2]
lea r8d, [r14 + 1]
lea rdx, [0x1405138a4]
call fcn.1403bb584
test eax, eax
je 0x1401243b1
lea rdx, [0x1405138a4]
mov rcx, r13
call fcn.140123c50
mov r8, qword [r13]
test r8, r8
je 0x1401243c1
cmp word [r8], 0
jne 0x1401243c8
lea r8, [0x1404d345c]
lea rdx, str._s.
lea rcx, [rsp + 0x48]
call fcn.140123e50
mov r15, qword [rsp + 0x48]
test r15, r15
je 0x1401243ed
cmp word [r15], 0
mov rcx, r15
jne 0x1401243f4
lea rcx, [0x1404d345c]
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
mov qword [rbp - 0x68], rax
cmp rax, 0xffffffffffffffff
jne 0x140124440
test r15, r15
je 0x14012441d
mov rcx, r15
call fcn.1403a7ac0
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14012443b
call fcn.1403a7ac0
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r14d
jmp 0x140124801
mov r8d, 0xff
lea rdx, [0x14052a320]
lea rcx, [rbp + 0x2c]
call fcn.1403bb584
test eax, eax
je 0x1401247ae
mov r8d, 0xff
lea rdx, [0x14052a38c]
lea rcx, [rbp + 0x2c]
call fcn.1403bb584
test eax, eax
je 0x1401247ae
test esi, esi
jle 0x140124514
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x78], r14
mov dword [rbp - 0x70], r14d
mov r8d, 0xffffffff
lea rdx, [rbp + 0x2c]
lea rcx, [rsp + 0x78]
call fcn.140123b70
nop
or r12d, 1
mov dword [rsp + 0x20], r12d
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x140124502
cmp word [r8], 0
je 0x140124502
mov rax, qword [rbx]
test rax, rax
je 0x140124519
cmp word [rax], 0
je 0x140124519
mov rdx, r8
sub rdx, rax
nop dword [rax]
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x1401244f9
add rax, 2
test cx, cx
jne 0x1401244e0
mov eax, r14d
test eax, eax
jmp 0x14012450e
sbb eax, eax
or eax, 1
test eax, eax
jmp 0x14012450e
mov rax, qword [rbx]
test rax, rax
je 0x140124510
cmp word [rax], 0
jne 0x140124519
mov bl, 1
jmp 0x14012451b
mov r8, qword [rsp + 0x78]
xor bl, bl
test r12b, 1
je 0x14012456f
and r12d, 0xfffffffe
mov dword [rsp + 0x20], r12d
test r8, r8
je 0x14012453c
mov rcx, r8
call fcn.1403a7ac0
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 0
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14012455d
call fcn.1403a7ac0
mov rcx, r14
mov qword [rbp - 0x78], rcx
mov dword [rbp - 0x70], r14d
test rcx, rcx
je 0x14012456f
call fcn.1403a7ac0
mov qword [rbp - 0x78], r14
mov dword [rbp - 0x70], r14d
test bl, bl
jne 0x1401247a9
test byte [rbp], 0x10
je 0x140124741
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x40], r14d
mov r8d, 0xffffffff
mov rdx, qword [r13]
lea rcx, [rsp + 0x28]
call fcn.140123b70
nop
cmp word [rbp + 0x2c], 0
je 0x140124664
lea rcx, [rbp + 0x2c]
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x1401245c4
movsxd rsi, dword [rsp + 0x30]
lea r14d, [rsi + rax]
mov ecx, dword [rsp + 0x34]
cmp ecx, r14d
jge 0x140124623
mov eax, ecx
test ecx, ecx
jns 0x1401245ea
lea eax, [rcx + 1]
sar eax, 1
lea edi, [rax + rcx]
cmp edi, r14d
cmovle edi, r14d
cmp edi, ecx
jle 0x140124623
movsxd rdx, edi
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
call fcn.1403a8174
mov rbx, rax
mov qword [rsp + 0x28], rax
xor eax, eax
mov word [rbx + rsi*2], ax
mov dword [rsp + 0x34], edi
jmp 0x140124628
mov rbx, qword [rsp + 0x28]
lea rcx, [rbx - 2]
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140124630
lea r8, [rbp + 0x2c]
xor edx, edx
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x140124640
mov dword [rsp + 0x30], r14d
mov rdi, qword [rbp - 0x68]
mov esi, dword [rsp + 0x70]
xor r14d, r14d
jmp 0x140124669
mov rbx, qword [rsp + 0x28]
lea rax, [rbp - 0x60]
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], r14
mov dword [rbp - 0x48], r14d
mov r8d, 0xffffffff
lea rdx, [0x1404d345c]
lea rcx, [rbp - 0x60]
call fcn.140123b70
nop
lea rax, [rbp - 0x40]
mov qword [rbp - 8], rax
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x30], r14
mov dword [rbp - 0x28], r14d
mov r8d, 0xffffffff
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.140123b70
nop
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x40]
call fcn.140124310
test rbx, rbx
je 0x1401246e6
cmp word [rbx], 0
mov rcx, rbx
jne 0x1401246ed
lea rcx, [0x1404d345c]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
test rbx, rbx
je 0x140124706
mov rcx, rbx
call fcn.1403a7ac0
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14012472b
call fcn.1403a7ac0
mov rcx, r14
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x40], r14d
test rcx, rcx
je 0x1401247a9
call fcn.1403a7ac0
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x40], r14d
jmp 0x1401247a9
mov rcx, r13
call fcn.140123d20
mov r8, rax
lea r9, [rbp + 0x2c]
lea rdx, str._s_s
lea rcx, [rsp + 0x48]
call fcn.140123e50
mov edx, dword [rbp]
mov r15, qword [rsp + 0x48]
test dl, 1
je 0x14012478d
test r15, r15
je 0x14012477d
cmp word [r15], 0
mov rcx, r15
jne 0x140124784
lea rcx, [0x1404d345c]
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test r15, r15
je 0x14012479c
cmp word [r15], 0
mov rcx, r15
jne 0x1401247a3
lea rcx, [0x1404d345c]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rbx, qword [rsp + 0x68]
lea rdx, [rbp]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140124440
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
test r15, r15
je 0x1401247df
mov rcx, r15
call fcn.1403a7ac0
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], 0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140124801
call fcn.1403a7ac0
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r14d
mov rcx, r13
call fcn.140123b10
nop
mov rcx, rbx
call fcn.140123b10
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.140398000
mov rbx, qword [rsp + 0x3b0]
add rsp, 0x360
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret