Function at 0x14008d2d0
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x288]
sub rsp, 0x388
mov rax, qword [0x140212c80]
xor rax, rsp
mov qword [rbp + 0x270], rax
mov r12, qword [rbp + 0x2d0]
mov r14, qword [rbp + 0x2d8]
mov rax, qword [rbp + 0x2e0]
mov qword [rsp + 0x40], rax
movzx r15d, byte [rbp + 0x2e8]
xor r13d, r13d
mov dword [rbp - 0x10], r13d
test r15b, r15b
je 0x14008d36f
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov esi, 1
mov r8d, esi
lea rdx, [0x1401db95c]
lea rcx, [rsp + 0x68]
call fcn.1400258d0
lea rbx, [rsp + 0x68]
jmp 0x14008d383
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.140025a20
mov rbx, rax
mov esi, 2
mov dword [rbp - 0x10], esi
mov r8d, 0x5c
mov rdx, r12
lea rcx, [rbp - 0x50]
call fcn.14004d6c0
nop
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 7
jbe 0x14008d3a7
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.1400237f0
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
or esi, 4
lea rcx, [rbp - 0x50]
call fcn.140025e80
nop
test sil, 2
je 0x14008d400
and esi, 0xfffffffd
lea rcx, [rbp - 0x30]
call fcn.140025e80
nop
test sil, 1
je 0x14008d413
and esi, 0xfffffffe
lea rcx, [rsp + 0x68]
call fcn.140025e80
lea rdx, [rsp + 0x30]
call fcn.140093f10
or esi, 0x10
mov dword [rbp - 0x10], esi
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 4], 6
jne 0x14008d503
cmp dword [rcx + 8], 1
jne 0x14008d50b
mov dil, 1
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14008d490
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14008d48d
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400cc851.0]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14008d48d
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cc851.0]
mov esi, dword [rbp - 0x10]
movzx edx, dil
lea rcx, [rbp - 8]
cmp qword [rbp + 0x10], 7
cmova rcx, qword [rbp - 8]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov rbx, rax
mov qword [rbp - 0x10], rax
cmp rax, 0xffffffffffffffff
jne 0x14008d51d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
cmp eax, 2
jne 0x14008d6d3
lea rcx, [rbp - 8]
call fcn.140025e80
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.140133600
add rsp, 0x388
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
ja 0x14008d43c
jne 0x14008d515
cmp dword [rcx + 8], 2
jae 0x14008d43c
xor dil, dil
jmp 0x14008d43f
movzx r13d, byte [rbp + 0x2f0]
nop word [rax + rax]
mov edi, dword [rbp + 0x20]
shr edi, 4
and dil, 1
je 0x14008d56d
movzx ecx, word [rbp + 0x4c]
movzx eax, word [rbp + 0x4e]
cmp cx, 0x2e
jne 0x14008d568
test ax, ax
je 0x14008d665
cmp cx, cx
jne 0x14008d568
cmp ax, cx
jne 0x14008d568
cmp word [rbp + 0x50], 0
je 0x14008d665
test r13b, r13b
jne 0x14008d5bc
test r15b, r15b
je 0x14008d58d
mov rdx, r14
cmp qword [r14 + 0x18], 7
jbe 0x14008d57f
mov rdx, qword [r14]
lea rcx, [rbp + 0x4c]
call qword [sym.imp.SHLWAPI.dll_PathMatchSpecW]
test eax, eax
je 0x14008d5b3
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x14008d6cd
mov rax, qword [rcx]
lea r8, [rbp + 0x20]
mov rdx, r12
mov rax, qword [rax + 0x10]
call qword [case.0x1400cc851.0]
test dil, dil
je 0x14008d665
test r15b, r15b
je 0x14008d665
mov r8d, 0x5c
mov rdx, r12
lea rcx, [rbp - 0x78]
call fcn.14004d6c0
nop
lea rcx, [rbp + 0x4c]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rcx + r8*2], 0
jne 0x14008d5e3
lea rdx, [rbp + 0x4c]
mov rcx, rax
call fcn.1400237f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], 7
mov word [rax], cx
or esi, 8
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x20], r13b
movzx r9d, r15b
mov r8, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.14008d2d0
nop
lea rcx, [rsp + 0x48]
call fcn.140025e80
nop
lea rcx, [rbp - 0x78]
call fcn.140025e80
lea rdx, [rbp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14008d530
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
cmp eax, 0x12
jne 0x14008d695
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x14008d4d7
lea rax, str.Unable_to_enumerate_directory__
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x23
lea r9, [rbp - 8]
lea r8, [rsp + 0x30]
lea rcx, [rbp - 0x78]
call fcn.140029f20
lea rdx, [0x14020e468]
lea rcx, [rbp - 0x78]
call fcn.140135f84
int3
call fcn.1401301e4
int3
lea rax, str.Unable_to_enumerate_directory__
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x23
lea r9, [rbp - 8]
lea r8, [rsp + 0x30]
lea rcx, [rbp - 0x78]
call fcn.140029f20
lea rdx, [0x14020e468]
lea rcx, [rbp - 0x78]
call fcn.140135f84
int3