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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x340
mov rsi, rcx
xor r15d, r15d
mov rcx, qword [rcx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 2
jb 0x14001a125
mov r9, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140019735
mov r9, qword [rsi]
mov qword [rsp + 0x30], 2
lea rax, [0x140058344]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.140008a80
nop
mov rbx, qword [0x14006b088]
mov rdi, qword [0x14006b090]
nop dword [rax + rax]
cmp rbx, rdi
je 0x140019884
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x140019786
mov rdx, qword [rbx]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
je 0x14001987b
cmp qword [rbx + 0x18], 7
jbe 0x1400197b0
mov rbx, qword [rbx]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rdx, qword [rsp + 0x40]
mov r8, rbx
lea rcx, str.____Scan__Skip_directory:__s__found__s_n
call fcn.140001dd0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140019813
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001980e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a15d
call fcn.1400256e4
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140019866
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140019861
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001a13d
mov rcx, r8
call fcn.1400256e4
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
jmp 0x14001a10c
add rbx, 0x20
jmp 0x140019770
xor edx, edx
mov r8d, 0x250
lea rcx, [rsp + 0xf0]
call fcn.140047b00
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], r15
xor r9d, r9d
lea r8, [rsp + 0xf0]
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov r13, rax
mov qword [rsp + 0x388], rax
cmp rax, 0xffffffffffffffff
jne 0x1400199b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rdx, qword [rsp + 0x40]
mov r8d, eax
lea rcx, str.____Scan__Can_t_open_directory__s__error_0x_X_n
call fcn.140001dd0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14001994a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019945
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a15d
call fcn.1400256e4
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x14001999d
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140019998
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001a13d
mov rcx, r8
call fcn.1400256e4
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
jmp 0x14001a10c
lea rdx, [0x140058400]
nop dword [rax]
movzx ecx, word [rsp + 0x11c]
movzx eax, word [rsp + 0x11e]
cmp cx, 0x2e
jne 0x1400199f9
cmp ax, cx
jne 0x1400199ea
cmp word [rsp + 0x120], 0
je 0x14001a047
cmp cx, 0x2e
jne 0x1400199f9
test ax, ax
je 0x14001a047
mov rcx, qword [rsi + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 1
jb 0x14001a12b
mov r9, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140019a21
mov r9, qword [rsi]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x70]
call fcn.140008a80
nop
lea rax, [rsp + 0x11c]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x140019a50
lea rdx, [rsp + 0x11c]
lea rcx, [rsp + 0x70]
call fcn.140006470
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x98], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140019ae0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019ace
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a131
call fcn.1400256e4
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x98]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
mov rdx, qword [rsp + 0x88]
cmp rdx, 7
jbe 0x140019b2f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019b2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a137
call fcn.1400256e4
mov ecx, dword [rsp + 0xf0]
bt ecx, 0xa
jb 0x14001a047
mov rax, qword [0x140063cd0]
cmp qword [0x140063cc8], rax
je 0x140019cee
lea rdx, str.Program_Files
lea rcx, [rsp + 0x11c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x140019b8a
lea rdx, str.Program_Files__x86_
lea rcx, [rsp + 0x11c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140019d46
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
lea rdx, str.Program_Files_
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140019bd4
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
lea rdx, str.Program_Files__x86__
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
je 0x140019d46
mov rbx, qword [0x140063cc8]
mov rdi, qword [0x140063cd0]
cmp rbx, rdi
je 0x140019c26
nop word [rax + rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x140019bfd
mov rdx, qword [rbx]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140019d46
add rbx, 0x20
cmp rbx, rdi
jne 0x140019bf0
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rdx, qword [rsp + 0x40]
lea rcx, str.____Scan__Skip:__s_n
call fcn.140001dd0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140019c86
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019c81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a15d
call fcn.1400256e4
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140019cd9
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140019cd4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001a13d
mov rcx, r8
call fcn.1400256e4
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
jmp 0x14001a10c
test cl, 0x10
je 0x140019d4f
lea rdx, [0x140063d68]
cmp qword [0x140063d80], 7
cmova rdx, qword [0x140063d68]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x14001a047
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.1400021c0
mov rcx, rax
call fcn.1400196f0
jmp 0x14001a047
mov ecx, dword [rsp + 0xf0]
jmp 0x140019cee
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x390], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x394], eax
mov rbx, qword [rsp + 0x390]
cmp rbx, 0x3e8
jl 0x14001a047
lea rdx, [0x140063c90]
cmp qword [0x140063ca8], 7
cmova rdx, qword [0x140063c90]
lea rcx, [rsp + 0x11c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14001a047
lea rcx, [0x140063d48]
cmp qword [0x140063d60], 7
cmova rcx, qword [0x140063d48]
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [0x140063d58]
jne 0x140019e09
test rdx, rdx
je 0x14001a047
sub r8, rcx
nop
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x140019e09
add rcx, 2
sub rdx, 1
jne 0x140019df0
jmp 0x14001a047
lea rcx, [rsp + 0x11c]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov r12, rax
mov rdi, qword [0x140063dc0]
mov r14, qword [0x140063dc8]
cmp rdi, r14
je 0x140019e57
nop dword [rax]
mov rdx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140019e3d
mov rdx, qword [rdi]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14001a047
add rdi, 0x20
cmp rdi, r14
jne 0x140019e30
lea rdx, [0x140063df8]
cmp qword [0x140063e10], 7
cmova rdx, qword [0x140063df8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14001a047
mov edx, dword [rsp + 0xf0]
test dl, 1
je 0x140019ed2
and edx, 0xfffffffe
mov dword [rsp + 0xf0], edx
lea rcx, [rsp + 0x11c]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140019ed2
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rdx, qword [rsp + 0x40]
mov r8d, eax
lea rcx, str.____Scan__Can_t_unset_attributes_for:__s__error:_0x_X_n
call fcn.140001dd0
jmp 0x14001a047
mov ecx, 0x28
call fcn.1400256ec
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
xor eax, eax
mov qword [rdi + 0x20], rax
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400064f0
mov qword [rdi + 0x20], rbx
mov r13, qword [0x14006afc0]
test r13, r13
je 0x14001a037
lea rax, vtable.std::_Func_impl_no_alloc_class__void___cdecl_ScanDirectory_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___::_62::_lambda_1___void___.0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdi
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xe0], rax
lea rbx, [r13 + 0x40]
mov qword [rsp + 0x398], rbx
mov rcx, rbx
call fcn.14002543c
test eax, eax
jne 0x14001a143
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x14001a14d
mov rax, qword [r13 + 0x38]
inc rax
cmp qword [r13 + 0x28], rax
ja 0x140019f83
lea rcx, [r13 + 0x18]
call fcn.14001f520
mov rdx, qword [r13 + 0x28]
dec rdx
mov rcx, rdx
and rcx, qword [r13 + 0x30]
mov qword [r13 + 0x30], rcx
mov r12, qword [r13 + 0x38]
add r12, rcx
mov rax, r12
and rax, rdx
lea r14, [rax*8]
mov rax, qword [r13 + 0x20]
cmp qword [r14 + rax], 0
jne 0x140019fc7
mov ecx, 0x40
call fcn.1400256ec
mov rcx, qword [r13 + 0x20]
mov qword [r14 + rcx], rax
mov rcx, qword [r13 + 0x28]
dec rcx
and rcx, r12
mov rax, qword [r13 + 0x20]
mov r14, qword [rax + rcx*8]
mov qword [rsp + 0x60], r14
mov qword [r14 + 0x38], r15
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x140019ffb
mov rax, qword [rcx]
mov rdx, r14
call qword [rax]
mov qword [r14 + 0x38], rax
inc qword [r13 + 0x38]
mov rcx, rbx
call fcn.140025444
lea rcx, [r13 + 0x90]
call fcn.140023e0c
nop
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x14001a03f
mov rax, qword [rcx]
lea rdx, [rsp + 0xa8]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x14001a03f
mov rcx, rdi
call fcn.140018500
mov r13, qword [rsp + 0x388]
lea rdx, [rsp + 0xf0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
lea rdx, [0x140058400]
jne 0x1400199c0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14001a0b4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a0ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a15d
call fcn.1400256e4
nop
jmp 0x14001a0c1
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x14001a0fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001a0f7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001a11f
mov rcx, r8
call fcn.1400256e4
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
add rsp, 0x340
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140036a34
nop
call fcn.1400016e0
nop
call fcn.1400016e0
nop
call fcn.140036a34
nop
call fcn.140036a34
nop
call fcn.140036a34
nop
mov ecx, 5
call fcn.1400253a0
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1400253a0
nop
call fcn.140036a34
int3