Function at 0x140016714
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x8d0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x8c0], rax
mov rsi, qword [rsp + 0x920]
mov rdi, r9
mov ebx, r8d
mov rbp, rdx
mov rcx, qword [str.___t_]
lea r15, str.___t_
lea r12, [0x140002810]
cmp rcx, r15
je 0x140016781
test byte [rcx + 0x1c], 4
je 0x140016781
cmp byte [rcx + 0x19], 5
jb 0x140016781
mov rcx, qword [rcx + 0x10]
mov edx, SetErrorInfo
mov r8, r12
call fcn.14000e618
lea r9, [rsp + 0x290]
mov r8d, ebx
call fcn.140017480
mov ebx, eax
test eax, eax
je 0x1400167c5
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a43
test byte [rcx + 0x1c], 4
je 0x140016a43
cmp byte [rcx + 0x19], 2
jb 0x140016a43
mov edx, reloc.OLEAUT32.dll_SetErrorInfo
jmp 0x14001697d
test rdi, rdi
je 0x1400168cd
lea r9, [rsp + 0x4a0]
mov r8, rbp
mov rdx, rdi
call fcn.140015eac
mov ebx, eax
test eax, eax
je 0x140016815
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a43
test byte [rcx + 0x1c], 4
je 0x140016a43
cmp byte [rcx + 0x19], 2
jb 0x140016a43
mov edx, 0xc9
jmp 0x14001697d
lea rax, [rsp + 0x4a0]
lea r9, [rsp + 0x290]
lea r8, [0x1400022f8]
mov edx, 0x104
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14001000c
mov edi, eax
test eax, eax
jns 0x140016872
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a2d
test byte [rcx + 0x1c], 4
je 0x140016a2d
cmp byte [rcx + 0x19], 2
jb 0x140016a2d
mov edx, 0xca
jmp 0x140016a1e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140016a43
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a43
test byte [rcx + 0x1c], 4
je 0x140016a43
cmp byte [rcx + 0x19], 2
jb 0x140016a43
mov rcx, qword [rcx + 0x10]
mov edx, 0xcb
mov r9, rsi
mov r8, r12
mov dword [rsp + 0x20], eax
call fcn.14000e8e4
jmp 0x140016a43
lea rax, [0x140002378]
lea r9, [rsp + 0x290]
lea r8, [0x1400023d8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
mov ebp, 0x104
lea rcx, [rsp + 0x6b0]
mov edx, ebp
call fcn.14001000c
mov edi, eax
test eax, eax
jns 0x140016933
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a2d
test byte [rcx + 0x1c], 4
je 0x140016a2d
cmp byte [rcx + 0x19], 2
jb 0x140016a2d
lea edx, [rbp - 0x38]
jmp 0x140016a1e
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x6b0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x140016991
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a43
test byte [rcx + 0x1c], 4
je 0x140016a43
cmp byte [rcx + 0x19], 2
jb 0x140016a43
mov edx, 0xcd
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r12
call fcn.14000e63c
jmp 0x140016a43
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
jne 0x1400169d7
mov rax, qword [str.___t_]
cmp rax, r15
je 0x1400169d7
test byte [rax + 0x1c], 4
je 0x1400169d7
cmp byte [rax + 0x19], 3
jb 0x1400169d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
mov edx, 0xce
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r12
call fcn.14000e63c
lea rax, [rsp + 0x6c]
lea r9, [rsp + 0x290]
lea r8, [0x1400022f8]
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14001000c
mov edi, eax
test eax, eax
jns 0x140016a43
mov rcx, qword [str.___t_]
cmp rcx, r15
je 0x140016a2d
test byte [rcx + 0x1c], 4
je 0x140016a2d
cmp byte [rcx + 0x19], 2
jb 0x140016a2d
mov edx, 0xcf
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r12
call fcn.14000e63c
mov ecx, edi
mov ebx, edi
movzx eax, di
and ecx, 0x1fff0000
cmp ecx, 0x70000
cmove ebx, eax
mov eax, ebx
mov rcx, qword [rsp + 0x8c0]
xor rcx, rsp
call fcn.140088640
mov rbx, qword [rsp + 0x900]
add rsp, 0x8d0
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret