Function at 0x1400191d0
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, 0x360
mov rsi, rcx
xor r12d, r12d
mov rcx, qword [rcx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 2
jb 0x140019bb8
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x140019215
mov r9, qword [rsi]
mov qword [rsp + 0x30], 2
lea rax, [0x140056278]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.1400087a0
nop
mov rbx, qword [0x140069608]
mov rdi, qword [0x140069610]
nop dword [rax + rax]
cmp rbx, rdi
je 0x140019364
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140019266
mov rdx, qword [rbx]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
je 0x14001935b
cmp qword [rbx + 0x18], 8
jb 0x140019290
mov rbx, qword [rbx]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov r8, rbx
lea rcx, str.____Scan__Skip_directory:__s__found__s_n
call fcn.140001db0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400192f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400192ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019c02
call fcn.140024d14
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140019346
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140019341
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140019bc4
mov rcx, r8
call fcn.140024d14
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
jmp 0x140019b9f
add rbx, 0x20
jmp 0x140019250
xor edx, edx
mov r8d, 0x250
lea rcx, [rsp + 0x110]
call fcn.140027290
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rsp + 0x110]
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x14001948a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov r8d, eax
lea rcx, str.____Scan__Can_t_open_directory__s__error_0x_X_n
call fcn.140001db0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140019422
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001941d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019c02
call fcn.140024d14
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140019475
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140019470
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140019bc4
mov rcx, r8
call fcn.140024d14
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
jmp 0x140019b9f
mov ecx, 0x20
call fcn.140024d1c
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rcx, qword [rsi + 0x10]
movabs r14, 0x7ffffffffffffffe
mov rax, r14
sub rax, rcx
cmp rax, 1
jb 0x140019bbe
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400194d8
mov r9, qword [rsi]
mov qword [rsp + 0x30], 1
lea rdi, [0x140056330]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x80]
call fcn.1400087a0
nop
lea rdx, [0x140061c20]
cmp qword [0x140061c38], 8
cmovae rdx, qword [0x140061c20]
mov r8, qword [0x140061c30]
lea rcx, [rsp + 0x80]
call fcn.1400061c0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.1400062b0
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14001959c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019596
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019bca
call fcn.140024d14
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 8
jb 0x1400195e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400195df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019bd0
call fcn.140024d14
mov rcx, rbx
call fcn.140018040
nop dword [rax]
movzx ecx, word [rsp + 0x13c]
movzx eax, word [rsp + 0x13e]
cmp cx, 0x2e
jne 0x140019629
cmp ax, cx
jne 0x14001961a
cmp word [rsp + 0x140], 0
je 0x140019ad0
cmp cx, 0x2e
jne 0x140019629
test ax, ax
je 0x140019ad0
mov rcx, qword [rsi + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 1
jb 0x140019bd6
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x14001964a
mov r9, qword [rsi]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xa0]
call fcn.1400087a0
nop
lea rax, [rsp + 0x13c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140019680
lea rdx, [rsp + 0x13c]
lea rcx, [rsp + 0xa0]
call fcn.1400061c0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140019713
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019701
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019bdc
call fcn.140024d14
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
mov rdx, qword [rsp + 0xb8]
cmp rdx, 8
jb 0x140019765
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019760
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019be2
call fcn.140024d14
test byte [rsp + 0x110], 0x10
je 0x1400197c5
lea rdx, [0x140061ce0]
cmp qword [0x140061cf8], 8
cmovae rdx, qword [0x140061ce0]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140019ad0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa0]
call fcn.140002140
mov rcx, rax
call fcn.1400191d0
jmp 0x140019ad0
lea rdx, [0x140061c20]
cmp qword [0x140061c38], 8
cmovae rdx, qword [0x140061c20]
lea rcx, [rsp + 0x13c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140019ad0
lea rcx, [0x140061cc0]
cmp qword [0x140061cd8], 8
cmovae rcx, qword [0x140061cc0]
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [0x140061cd0]
jne 0x14001984d
test rdx, rdx
je 0x140019ad0
sub r8, rcx
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x14001984d
add rcx, 2
sub rdx, 1
jne 0x140019834
jmp 0x140019ad0
lea rcx, [rsp + 0x13c]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov r14, rax
mov rbx, qword [0x140061d38]
mov rdi, qword [0x140061d40]
cmp rbx, rdi
je 0x140019898
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14001987e
mov rdx, qword [rbx]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140019ad0
add rbx, 0x20
cmp rbx, rdi
jne 0x140019871
lea rdx, [0x140061d70]
cmp qword [0x140061d88], 8
cmovae rdx, qword [0x140061d70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140019ad0
mov edx, dword [rsp + 0x110]
test dl, 1
je 0x140019913
and edx, 0xfffffffe
mov dword [rsp + 0x110], edx
lea rcx, [rsp + 0x13c]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140019913
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov r8d, eax
lea rcx, str.____Scan__Can_t_unset_attributes_for:__s__error:_0x_X_n
call fcn.140001db0
jmp 0x140019ad0
mov ecx, 0x28
call fcn.140024d1c
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
xor eax, eax
mov qword [rdi + 0x20], rax
lea rax, [rsp + 0x40]
cmp rdi, rax
je 0x140019996
mov rdx, qword [rsp + 0x50]
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r9, qword [rsp + 0x40]
mov rax, qword [rdi + 0x18]
cmp rdx, rax
ja 0x14001998e
mov r14, rdi
cmp rax, 8
jb 0x140019971
mov r14, qword [rdi]
mov qword [rdi + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, r14
call fcn.140026bf0
mov word [r14 + rbx], r12w
jmp 0x140019996
mov rcx, rdi
call fcn.1400079b0
mov eax, dword [rsp + 0x130]
mov dword [rdi + 0x20], eax
mov eax, dword [rsp + 0x12c]
mov dword [rdi + 0x24], eax
mov r15, qword [0x140069540]
test r15, r15
je 0x140019ac8
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___::_45::_lambda_1___void___.0
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rdi
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x100], rax
lea rbx, [r15 + 0x40]
mov qword [rsp + 0x3a8], rbx
mov rcx, rbx
call fcn.140024b88
test eax, eax
jne 0x140019be8
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x140019bf2
mov rax, qword [r15 + 0x38]
inc rax
cmp qword [r15 + 0x28], rax
ja 0x140019a21
lea rcx, [r15 + 0x18]
call fcn.14001e9a0
mov rdx, qword [r15 + 0x28]
dec rdx
mov rcx, rdx
and rcx, qword [r15 + 0x30]
mov qword [r15 + 0x30], rcx
add rcx, qword [r15 + 0x38]
and rdx, rcx
lea r14, [rdx*8]
mov rax, qword [r15 + 0x20]
cmp qword [r14 + rax], 0
jne 0x140019a5f
mov ecx, 0x40
call fcn.140024d1c
mov rcx, qword [r15 + 0x20]
mov qword [r14 + rcx], rax
mov rax, qword [r15 + 0x20]
mov r14, qword [r14 + rax]
mov qword [rsp + 0x3b0], r14
mov qword [r14 + 0x38], r12
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140019a8c
mov rax, qword [rcx]
mov rdx, r14
call qword [rax]
mov qword [r14 + 0x38], rax
inc qword [r15 + 0x38]
mov rcx, rbx
call fcn.140024bac
lea rcx, [r15 + 0x90]
call fcn.140023234
nop
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140019ad0
mov rax, qword [rcx]
lea rdx, [rsp + 0xc8]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x140019ad0
mov rcx, rdi
call fcn.1400181e0
lea rdx, [rsp + 0x110]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
movabs r14, 0x7ffffffffffffffe
lea rdi, [0x140056330]
jne 0x1400195f0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140019b47
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019b41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019c02
call fcn.140024d14
nop
jmp 0x140019b54
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140019b8f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140019b8a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140019bb2
mov rcx, r8
call fcn.140024d14
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
add rsp, 0x360
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140035a34
nop
call fcn.1400016c0
nop
call fcn.1400016c0
nop
call fcn.140035a34
nop
call fcn.140035a34
nop
call fcn.140035a34
int3
call fcn.1400016c0
nop
call fcn.140035a34
nop
call fcn.140035a34
nop
mov ecx, 5
call fcn.1400248f0
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1400248f0
nop
call fcn.140035a34
int3