Function at 0x14002f960
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 [0x14011f190]
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.14002f560
lea r8, [0x1401008f4]
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.1400313c0
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 0x14002fdc3
lea r13, [0x14012d0f0]
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.140031f50
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14002fa3a
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x48]
call fcn.14002b1d0
mov r8d, 1
lea rdx, [0x1401008f0]
lea rcx, [rsp + 0x48]
call fcn.14002b1d0
lea rax, [rbp - 0x24]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14002fa70
lea rdx, [rbp - 0x24]
lea rcx, [rsp + 0x48]
call fcn.14002b1d0
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 0x14002faf9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002faf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe3b
call fcn.14006f490
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
mov edx, dword [rbp - 0x50]
test dl, 0x10
je 0x14002fc6f
movzx edx, word [rbp - 0x24]
movzx ecx, word [rbp - 0x22]
cmp dx, word [0x1401008fc]
jne 0x14002fb40
cmp cx, word [0x1401008fe]
jne 0x14002fb40
movzx eax, word [rbp - 0x20]
cmp ax, word [0x140100900]
je 0x14002fb52
cmp dx, word [0x140100904]
jne 0x14002fb9b
cmp cx, word [0x140100906]
jne 0x14002fb9b
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14002fda4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fd9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe2f
jmp 0x14002fd9f
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 0x14002fbc0
lea rcx, [rsp + 0x20]
cmp rdx, 7
ja 0x14002fbf2
mov qword [rsp + 0x30], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp - 0x24]
call fcn.1400933b0
mov word [rsp + rbx + 0x20], r12w
jmp 0x14002fbfb
lea r9, [rbp - 0x24]
call fcn.14002d3d0
lea r8, [rsp + 0x20]
mov rdx, r13
lea rcx, [0x14012cd70]
call fcn.14002e610
mov rbx, rax
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14002fc54
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fc4f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe41
call fcn.14006f490
cmp rbx, r13
jne 0x14002fd63
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.14002f960
jmp 0x14002fd63
test dl, 1
je 0x14002fc8d
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 0x14002fcb0
lea rcx, [rsp + 0x20]
cmp rdx, 7
ja 0x14002fce2
mov qword [rsp + 0x30], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp - 0x24]
call fcn.1400933b0
mov word [rsp + rbx + 0x20], r12w
jmp 0x14002fceb
lea r9, [rbp - 0x24]
call fcn.14002d3d0
lea r8, [rsp + 0x20]
lea rdx, [0x14012d1d0]
lea rcx, [0x14012d0f0]
call fcn.14002e610
mov rbx, rax
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14002fd48
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fd43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe47
call fcn.14006f490
lea rax, [0x14012d1d0]
cmp rbx, rax
jne 0x14002fd63
mov r8d, dword [r14 + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140027c90
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14002fda4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fd9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe29
call fcn.14006f490
lea rdx, [rbp - 0x50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14002f9f6
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x14002fdff
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002fdfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002fe35
call fcn.14006f490
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14006f430
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.14009c704
nop
call fcn.14009c704
nop
call fcn.14009c704
nop
call fcn.14009c704
int3
call fcn.14009c704
int3
call fcn.14009c704
int3