Function at 0x1400f4c70
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 - 0x1c8]
sub rsp, 0x2c8
mov rax, qword [0x140170608]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov qword [rsp + 0x38], r9
mov r13d, edx
mov qword [rsp + 0x40], r8
mov rsi, rcx
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f4ce1
test byte [rcx + 0x1c], 1
je 0x1400f4ce1
cmp byte [rcx + 0x19], 5
jb 0x1400f4ce1
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157120]
mov edx, 0x1b
call fcn.140004c54
xor ecx, ecx
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x48], rcx
mov r14d, ecx
mov qword [rsp + 0x50], rdi
mov r12d, ecx
mov dword [rsp + 0x30], ecx
test rsi, rsi
jne 0x1400f4d0a
mov ebx, 0x80070057
jmp 0x1400f4e19
mov rax, rdi
inc rax
cmp word [rsi + rax*2], cx
jne 0x1400f4d0d
test eax, eax
je 0x1400f4d23
dec eax
cmp word [rsi + rax*2], 0x5c
jne 0x1400f4d00
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x250
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140088e64
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x1400f4d8f
mov rcx, qword [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov edx, 0x1c
mov dword [rsp + 0x20], eax
mov r9, rsi
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157120]
call fcn.140005c44
jmp 0x1400f4e19
test dword [rsp + 0x30], 0x400
je 0x1400f4dc5
mov ebx, 0x80070005
mov rcx, qword [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov edx, 0x1d
mov dword [rsp + 0x20], 0x80070005
jmp 0x1400f4d77
lea eax, [r13 - 1]
cmp eax, 0x13
ja 0x1400f5204
mov rax, rdi
inc rax
cmp word [rsi + rax*2], cx
jne 0x1400f4dd5
add eax, 0x106
mov ecx, 0xffffffff
mov r15d, eax
add rax, rax
cmp rax, rcx
ja 0x1400f51fa
mov ecx, eax
mov ebx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov r14, rax
test rax, rax
jne 0x1400f4e92
mov ebx, 0x8007000e
lea r15, [0x140170048]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindClose]
test r12, r12
je 0x1400f4e32
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r14, r14
je 0x1400f4e40
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x140170048]
cmp rcx, r15
je 0x1400f4e6d
test byte [rcx + 0x1c], 1
je 0x1400f4e6d
cmp byte [rcx + 0x19], 5
jb 0x1400f4e6d
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157120]
mov edx, 0x26
call fcn.140004c54
mov eax, ebx
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140141360
add rsp, 0x2c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8, rbx
xor edx, edx
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8, rsi
mov rdx, r15
mov rcx, r14
call fcn.14003a4d0
mov ebx, eax
test eax, eax
js 0x1400f4e12
lea r8, [rsp + 0x48]
mov rcx, rsi
lea rdx, [0x14014abe0]
call fcn.140084760
mov r12, qword [rsp + 0x48]
mov ebx, eax
test eax, eax
js 0x1400f4e12
lea rdx, [rsp + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x50], rax
cmp rax, rdi
jne 0x1400f4f89
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 2
je 0x1400f4f38
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f5110
test byte [rcx + 0x1c], 1
je 0x1400f5110
cmp byte [rcx + 0x19], 2
jb 0x1400f5110
mov edx, 0x1f
jmp 0x1400f50f9
mov r8, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
call fcn.1400f47ec
mov ebx, eax
test eax, eax
jns 0x1400f4e12
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov edx, 0x20
jmp 0x1400f4d73
xor edx, edx
inc rdi
cmp word [r14 + rdi*2], dx
jne 0x1400f4f8b
movzx ecx, word [rbp - 0x74]
cmp cx, word [0x14014eed4]
movzx eax, word [rbp - 0x72]
jne 0x1400f4fb3
cmp ax, word [0x14014eed6]
je 0x1400f50aa
cmp cx, word [0x14014eed8]
jne 0x1400f4fd6
cmp ax, word [0x14014eeda]
jne 0x1400f4fd6
movzx eax, word [rbp - 0x70]
cmp ax, word [0x14014eedc]
je 0x1400f50aa
mov eax, edi
lea r8, [rbp - 0x74]
mov rcx, r14
mov word [r14 + rax*2], dx
mov rdx, r15
call fcn.1400512d4
mov ebx, eax
test eax, eax
js 0x1400f4e12
test dword [rsp + 0x60], 0x400
je 0x1400f500d
cmp dword [rbp - 0x7c], 0x80000013
jne 0x1400f5123
test byte [rsp + 0x60], 0x10
je 0x1400f508e
cmp r13d, 0x14
jae 0x1400f508e
lea r8, [0x1401487f8]
mov rdx, r15
mov rcx, r14
call fcn.1400512d4
mov ebx, eax
test eax, eax
js 0x1400f4e12
mov r9, qword [rsp + 0x38]
lea edx, [r13 + 1]
mov r8, qword [rsp + 0x40]
mov rcx, r14
call fcn.1400f4c70
mov ebx, eax
test eax, eax
jns 0x1400f50aa
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov edx, 0x22
mov dword [rsp + 0x20], ebx
mov r9, r14
jmp 0x1400f4d7a
mov r8, qword [rsp + 0x38]
mov rcx, r14
mov rdx, qword [rsp + 0x40]
call fcn.1400f47ec
mov ebx, eax
test eax, eax
js 0x1400f51c5
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
xor edx, edx
test eax, eax
jne 0x1400f4f95
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 0x12
je 0x1400f5170
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f5110
test byte [rcx + 0x1c], 1
je 0x1400f5110
cmp byte [rcx + 0x19], 2
jb 0x1400f5110
mov edx, 0x24
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157120]
mov r9, r12
mov dword [rsp + 0x20], edi
call fcn.140005c44
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
jmp 0x1400f4e19
mov ebx, 0x80070005
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157120]
mov edx, 0x21
mov r9, r14
call fcn.140005bdc
jmp 0x1400f4e19
mov r8, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
call fcn.1400f47ec
mov ebx, eax
test eax, eax
jns 0x1400f4e12
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov edx, 0x25
mov dword [rsp + 0x20], eax
jmp 0x1400f4d77
mov rcx, qword [0x140170048]
lea r15, [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov edx, 0x23
jmp 0x1400f5082
mov ebx, 0x80070216
jmp 0x1400f4e12
mov ebx, 0x80070057
mov rcx, qword [0x140170048]
cmp rcx, r15
je 0x1400f4e19
test byte [rcx + 0x1c], 1
je 0x1400f4e19
cmp byte [rcx + 0x19], 2
jb 0x1400f4e19
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157120]
mov edx, 0x1e
mov dword [rsp + 0x20], 0x80070057
mov r9d, r13d
call fcn.14000fe18
jmp 0x1400f4e19