Function at 0x14002f990
Capabilities:
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x360], rbx
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rdi, rdx
mov r14, rcx
xor r12d, r12d
mov esi, r12d
mov dword [rsp + 0x40], r12d
mov rcx, rdx
call fcn.14002f590
lea r8, [0x1401049f4]
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.1400313f0
nop
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x14002fdf3
lea r13, [0x1401321b0]
lea rcx, [rbp - 0x24]
call qword [sym.imp.USER32.dll_CharLowerW]
nop
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
or esi, 2
mov dword [rsp + 0x40], esi
mov rdx, qword [rdi + 0x10]
inc rdx
lea rcx, [rsp + 0x48]
call fcn.140031f80
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14002fa6a
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x48]
call fcn.14002b200
mov r8d, 1
lea rdx, [0x1401049f0]
lea rcx, [rsp + 0x48]
call fcn.14002b200
lea rax, [rbp - 0x24]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14002faa0
lea rdx, [rbp - 0x24]
lea rcx, [rsp + 0x48]
call fcn.14002b200
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
or esi, 4
and esi, 0xfffffffd
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14002fb29
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fb24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe6b
call fcn.140072f50
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
mov edx, dword [rbp - 0x50]
test dl, 0x10
je 0x14002fc9f
movzx edx, word [rbp - 0x24]
movzx ecx, word [rbp - 0x22]
cmp dx, word [0x1401049fc]
jne 0x14002fb70
cmp cx, word [0x1401049fe]
jne 0x14002fb70
movzx eax, word [rbp - 0x20]
cmp ax, word [0x140104a00]
je 0x14002fb82
cmp dx, word [0x140104a04]
jne 0x14002fbcb
cmp cx, word [0x140104a06]
jne 0x14002fbcb
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14002fdd4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fdcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe5f
jmp 0x14002fdcf
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], r12w
lea rax, [rbp - 0x24]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14002fbf0
lea rcx, [rsp + 0x20]
cmp rdx, 7
ja 0x14002fc22
mov qword [rsp + 0x30], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp - 0x24]
call fcn.140096e70
mov word [rsp + rbx + 0x20], r12w
jmp 0x14002fc2b
lea r9, [rbp - 0x24]
call fcn.14002d400
lea r8, [rsp + 0x20]
mov rdx, r13
lea rcx, [0x140131e30]
call fcn.14002e640
mov rbx, rax
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14002fc84
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fc7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe71
call fcn.140072f50
cmp rbx, r13
jne 0x14002fd93
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.14002f990
jmp 0x14002fd93
test dl, 1
je 0x14002fcbd
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rcx, qword [rsp + 0x70]
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], r12w
lea rax, [rbp - 0x24]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14002fce0
lea rcx, [rsp + 0x20]
cmp rdx, 7
ja 0x14002fd12
mov qword [rsp + 0x30], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp - 0x24]
call fcn.140096e70
mov word [rsp + rbx + 0x20], r12w
jmp 0x14002fd1b
lea r9, [rbp - 0x24]
call fcn.14002d400
lea r8, [rsp + 0x20]
lea rdx, [0x140132290]
lea rcx, [0x1401321b0]
call fcn.14002e640
mov rbx, rax
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14002fd78
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fd73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe77
call fcn.140072f50
lea rax, [0x140132290]
cmp rbx, rax
jne 0x14002fd93
mov r8d, dword [r14 + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140027cb0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14002fdd4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fdcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe59
call fcn.140072f50
lea rdx, [rbp - 0x50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14002fa26
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x14002fe2f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fe2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe65
call fcn.140072f50
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.140072ef0
mov rbx, qword [rsp + 0x360]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400a01c4
nop
call fcn.1400a01c4
nop
call fcn.1400a01c4
nop
call fcn.1400a01c4
int3
call fcn.1400a01c4
int3
call fcn.1400a01c4
int3