Function at 0x100001d74
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x2a0
mov rax, qword [0x100005120]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x30], rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
mov rcx, rsi
lea rbx, [rsi + r8*2]
mov qword [rsp + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor edi, edi
cmp eax, 0xffffffff
jne 0x100001df1
cmp byte [0x1000056f3], dil
je 0x100001dd1
cmp byte [0x1000056f1], dil
jne 0x100001e09
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
mov edx, eax
call fcn.100001538
cmp byte [0x1000056f1], dil
jne 0x100001e09
xor al, al
jmp 0x10000201d
bt eax, 0xb
mov rdx, rsi
mov ecx, 6
jb 0x100001e04
mov ecx, 7
call fcn.100001458
mov rcx, qword [rsp + 0x30]
inc qword [0x100005948]
mov rbp, rbx
sub rbp, rsi
sar rbp, 1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov eax, 0x104
add rcx, rbp
cmp rcx, rax
jge 0x100001ef2
mov r8, qword [rsp + 0x30]
sub rax, rbp
mov rcx, rbx
mov rdx, rax
mov qword [rsp + 0x20], rax
call fcn.100003cfe
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x100001eed
lea rdx, [0x100001314]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, edi
je 0x100001ed2
lea rdx, [0x1000012a4]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, edi
je 0x100001ed2
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
add rcx, rbp
cmp rcx, 0x104
jge 0x100001ed2
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x6c]
call fcn.100003cfe
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.100001b10
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, edi
jne 0x100001e6b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rbx, qword [rsp + 0x28]
cmp byte [0x1000056f0], dil
je 0x10000201b
lea rcx, [0x10000131c]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov eax, 0x104
add rcx, rbp
cmp rcx, rax
jge 0x10000201b
sub rax, rbp
lea r8, [0x10000131c]
mov rcx, rbx
mov rdx, rax
mov qword [rsp + 0x38], rax
call fcn.100003cfe
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x20], rax
cmp rax, 0xffffffffffffffff
je 0x10000201b
mov rbx, rax
lea rdx, [0x1000012a4]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, edi
je 0x100001ffc
lea rdx, [0x100001314]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, edi
je 0x100001ffc
test byte [rsp + 0x40], 0x10
je 0x100001ffc
lea rcx, [0x100001320]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x6c]
movsxd rbx, eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
add rcx, rbp
add rcx, rbx
mov ebx, 0x104
cmp rcx, rbx
jge 0x100001ff7
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x6c]
call fcn.100003cfe
lea r8, [0x100001320]
mov rdx, rbx
mov rcx, rsi
call fcn.100003cf2
mov rdx, qword [rsp + 0x30]
mov rcx, rsi
call fcn.100001d74
cmp al, dil
je 0x100002040
mov rbx, qword [rsp + 0x20]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, edi
jne 0x100001f5a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov al, 1
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.100003cc0
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x2a0
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [0x1000056f1], dil
setne al
jmp 0x10000201d