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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, rcx
mov rax, qword [0x1401ee6a8]
xor rax, rsp
mov qword [rsp + 0x80], rax
call fcn.1400f1a14
mov ebp, 0x1126
test al, al
jne 0x1400f2014
xorps xmm0, xmm0
lea rsi, [rsp + 0x50]
movaps xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call fcn.1400f203a
mov ebx, eax
mov rcx, rsi
call fcn.1400f2120
mov edi, eax
mov rcx, rsi
mov rdx, rsi
call fcn.1400f215e
test bl, bl
jne 0x1400f1df3
test dil, dil
jne 0x1400f1df3
test al, al
jne 0x1400f1df3
mov ebp, 0x7b
jmp 0x1400f2004
test dil, dil
je 0x1400f1e08
lea rsi, [rsp + 0x50]
mov al, 1
mov dword [rsp + 0x34], eax
jmp 0x1400f1eea
lea rdx, [0x1401b46e0]
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.140003584
lea rbp, [rsp + 0x58]
movzx r8d, byte [rbp + 0xf]
test r8b, r8b
cmovs r8, qword [rbp]
lea rsi, [rsp + 0x50]
mov rdx, qword [rsi]
cmovns rdx, rsi
mov rcx, rdi
call fcn.14002ea96
mov rdi, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xf]
mov qword [rsp + 0x77], rdx
mov qword [rsp + 0x70], rcx
mov bl, byte [rax + 0x17]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
xor eax, eax
cmp byte [rsi + 0x17], al
js 0x1400f1e7d
mov word [rsp + 0x50], 0
mov byte [rsp + 0x67], 0
jmp 0x1400f1eaa
mov rax, qword [rsp + 0x50]
mov word [rax], 0
mov qword [rsp + 0x58], 0
cmp byte [rsp + 0x67], 0
jns 0x1400f1eaa
mov rcx, qword [rsp + 0x50]
call fcn.140163a8c
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x50], rdi
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x77]
mov qword [rbp + 7], rcx
mov qword [rbp], rax
mov byte [rsp + 0x67], bl
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x77], rax
cmp byte [rsp + 0x4f], 0
jns 0x1400f1ee2
mov rcx, qword [rsp + 0x38]
call fcn.140163a8c
mov dword [rsp + 0x34], 0
mov rax, 0xffffffffffffffff
lea r15, [rsp + 0x68]
xor r14d, r14d
lea r12, [rsp + 0x38]
lea rbx, [rsp + 0x50]
mov rdi, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x20], r15
mov rcx, r12
mov rdx, rbx
xor r8d, r8d
mov r9, rax
call fcn.14002e654
cmp byte [rsi + 0x17], 0
js 0x1400f1f3a
mov word [rsp + 0x50], 0
mov byte [rsi + 0x17], 0
jmp 0x1400f1f66
mov rax, qword [rsp + 0x50]
mov word [rax], 0
mov qword [rsp + 0x58], 0
cmp byte [rsi + 0x17], 0
jns 0x1400f1f66
mov rcx, qword [rsp + 0x50]
call fcn.140163a8c
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm0
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x1400f1f88
mov rcx, qword [rsp + 0x50]
call rdi
cmp eax, 0xffffffff
je 0x1400f1f97
bt eax, 0xa
jae 0x1400f1fb0
jmp 0x1400f1fd7
call r13
mov ebp, eax
cmp eax, 5
ja 0x1400f1fab
mov eax, 0x2c
bt eax, ebp
jb 0x1400f1fb0
cmp ebp, 0x7b
jne 0x1400f1fdb
mov rcx, rbx
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.14002f33e
mov r14b, 1
cmp rax, 2
ja 0x1400f1f11
mov ebp, 0x1126
jmp 0x1400f2004
xor ebp, ebp
jmp 0x1400f2004
test r14b, r14b
sete al
mov ecx, dword [rsp + 0x34]
or cl, al
jne 0x1400f2004
lea rcx, [rsp + 0x50]
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.14002f33e
cmp rax, 3
je 0x1400f1fd0
cmp byte [rsi + 0x17], 0
jns 0x1400f2014
mov rcx, qword [rsp + 0x50]
call fcn.140163a8c
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140163e00
mov eax, ebp
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret