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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x208]
sub rsp, 0x308
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov rax, qword [0x14044b080]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov r13, r9
mov r12, r8
mov r15, rdx
mov rdi, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x78], rdx
mov dword [rsp + 0x50], 0
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp - 0x60]
call fcn.140222790
xor eax, eax
mov qword [r15], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x1400ffc91
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [r15], rax
mov dword [rsp + 0x50], 1
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x1400ffc9c
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.14003b370
mov rsi, 0xffffffffffffffff
test al, al
jne 0x1400ff8ac
test r12, r12
jne 0x1400ff88d
xor eax, eax
jmp 0x1400ff89b
mov rax, rsi
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400ff890
mov r8d, eax
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.14003beb0
nop
lea rdx, [0x14034fcd4]
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400ff8b6
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.14003c4a0
lea rdx, [rbp - 0x60]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r14, rax
mov qword [rsp + 0x68], rax
cmp rax, 0xffffffffffffffff
je 0x1400ffc37
mov eax, dword [rbp - 0x60]
and eax, 0x10
test al, al
je 0x1400ffaa9
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x1400ffcb2
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x34]
lea rcx, [rsp + 0x40]
call fcn.14003b370
test al, al
jne 0x1400ff95c
lea rcx, [rbp - 0x34]
mov rax, rsi
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400ff940
mov r8d, eax
lea rdx, [rbp - 0x34]
lea rcx, [rsp + 0x40]
call fcn.14003beb0
nop
lea rdx, [0x14034fcd0]
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1402389bc
test eax, eax
je 0x1400ffaa0
lea rdx, [0x14034fcc8]
mov rcx, rbx
call fcn.1402389bc
test eax, eax
je 0x1400ffaa0
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x1400ffca7
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea r9, [rbp - 0x34]
mov r8, r12
lea rdx, [0x1403280d8]
lea rcx, [rsp + 0x58]
call fcn.140058ab0
mov qword [rbp - 0x70], 0
mov r9, r13
mov r8, qword [rsp + 0x58]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.1400ff7b0
nop
mov rax, qword [rbp - 0x70]
mov r8d, dword [rax - 0x10]
test r8d, r8d
je 0x1400ffa55
lea rcx, [rax - 0x18]
mov rbx, qword [r15]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400ffa55
cmp dword [rbx + 0x10], 0
jl 0x1400ffa46
mov rdx, qword [rbx]
cmp qword [rcx], rdx
jne 0x1400ffa46
call fcn.14003c400
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400ffa3d
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
lea rax, [rdi + 0x18]
mov qword [r15], rax
jmp 0x1400ffa51
mov rdx, rax
mov rcx, r15
call fcn.14003beb0
mov rax, qword [rbp - 0x70]
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ffa76
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ffa9b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx - 0x18]
jmp 0x1400ffbe1
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x1400ffc86
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [rbp - 0x34]
lea rcx, [rsp + 0x60]
call fcn.14003b370
test al, al
jne 0x1400ffb0c
lea rcx, [rbp - 0x34]
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400ffaf0
mov r8d, eax
lea rdx, [rbp - 0x34]
lea rcx, [rsp + 0x60]
call fcn.14003beb0
nop
mov rdx, qword [0x140464910]
test rdx, rdx
je 0x1400ffc7b
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1402389bc
test eax, eax
jne 0x1400ffbdd
lea r9, [rbp - 0x34]
mov r8, r12
lea rdx, [0x1403280d8]
mov rcx, r15
call fcn.140058ab0
mov r14, qword [r15]
xor ebx, ebx
mov qword [rsp + 0x70], rbx
test r14, r14
je 0x1400ffbc4
mov rcx, r14
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400ffbc4
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [rbx + 1]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x1400ffbc4
mov qword [rbp - 0x68], rbx
lea r9, [rbp - 0x68]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
cmovne rbx, qword [rbp - 0x68]
mov qword [rsp + 0x70], rbx
test r14, r14
je 0x1400ffbc4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp rbx, qword [r13]
jbe 0x1400ffbd0
mov qword [r13], rbx
jmp 0x1400ffbd8
mov rcx, r15
call fcn.14003b590
mov r14, qword [rsp + 0x68]
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ffbfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp - 0x60]
call fcn.140222790
lea rdx, [rbp - 0x60]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400ffc29
mov rdi, qword [rsp + 0x78]
jmp 0x1400ff8f1
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rbx, qword [rsp + 0x48]
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1400ffc55
mov rcx, qword [rdx]
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
call qword [case.0x14004487d.0]
mov rax, r15
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.140202880
add rsp, 0x308
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
int3
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
int3