Function at 0x1401f162d
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 rbx, rcx
mov rax, qword [0x1403ac028]
xor rax, rsp
mov qword [rsp + 0x80], rax
call fcn.1401f1218
mov edi, 0x1126
test al, al
jne 0x1401f18ac
xorps xmm0, xmm0
lea rsi, [rsp + 0x50]
movaps xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, rbx
mov rdx, rsi
call fcn.1401f18d9
mov edi, eax
mov rcx, rsi
call fcn.1401f1994
mov ebx, eax
mov rcx, rsi
mov rdx, rsi
call fcn.1401f19f8
mov byte [rsp + 0x37], bl
test bl, bl
jne 0x1401f16b6
test dil, dil
jne 0x1401f16b6
mov edi, 0x7b
test al, al
je 0x1401f189b
cmp byte [rsp + 0x37], 0
jne 0x1401f1758
lea r14, [rsp + 0x58]
lea rdx, [0x140399a50]
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.14003f01a
movzx r8d, byte [r14 + 0xf]
test r8b, r8b
cmovs r8, qword [r14]
mov rdx, qword [r14 - 8]
cmovns rdx, rsi
mov rcx, rdi
call fcn.1400e9650
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
cmp byte [r14 + 0xf], 0
jns 0x1401f172d
mov rcx, qword [rsp + 0x50]
call fcn.1402021a8
mov qword [rsp + 0x50], rdi
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x77]
mov qword [r14 + 7], rcx
mov qword [r14], rax
mov byte [rsp + 0x67], bl
cmp byte [rsp + 0x4f], 0
jns 0x1401f1758
mov rcx, qword [rsp + 0x38]
call fcn.1402021a8
mov r15, 0xffffffffffffffff
xor ebp, ebp
lea r12, [rsp + 0x70]
lea r14, [rsp + 0x38]
mov r13, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov qword [rsp + 0x20], r12
mov rcx, r14
mov rdx, rsi
xor r8d, r8d
mov r9, r15
call fcn.1400e9882
cmp byte [rsp + 0x67], 0
jns 0x1401f1799
mov rcx, qword [rsp + 0x50]
call fcn.1402021a8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm0
cmp byte [rsp + 0x67], 0
mov rcx, rsi
jns 0x1401f17bc
mov rcx, qword [rsp + 0x50]
call r13
cmp eax, 0xffffffff
je 0x1401f17cf
bt eax, 0xa
jae 0x1401f1840
jmp 0x1401f1899
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x1401f1836
cmp eax, 0x7b
je 0x1401f1836
test bpl, 1
sete dl
or dl, byte [rsp + 0x37]
jne 0x1401f182f
movzx edx, byte [rsp + 0x67]
test dl, dl
cmovs rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
cmovns r8, rsi
test rdx, rdx
je 0x1401f182f
add rdx, rdx
test rdx, rdx
je 0x1401f182f
lea r9, [rdx - 2]
cmp word [r8 + rdx - 2], 0x5c
mov rdx, r9
jne 0x1401f180f
mov ebx, 2
cmp r9, 6
je 0x1401f1836
mov ebx, 1
mov edi, eax
cmp ecx, 2
jb 0x1401f1840
cmp eax, 0x7b
jne 0x1401f1884
movzx eax, byte [rsp + 0x67]
test al, al
cmovs rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
cmovns rcx, rsi
mov r15, 0xffffffffffffffff
mov bpl, 1
test rax, rax
je 0x1401f1888
add rax, rax
test rax, rax
je 0x1401f1888
lea rdx, [rax - 2]
cmp word [rcx + rax - 2], 0x5c
mov rax, rdx
jne 0x1401f1868
sar rdx, 1
mov r15, rdx
jmp 0x1401f1888
test ebx, ebx
jne 0x1401f18d2
cmp r15, 2
ja 0x1401f1772
mov edi, 0x1126
jmp 0x1401f189b
xor edi, edi
cmp byte [rsp + 0x67], 0
jns 0x1401f18ac
mov rcx, qword [rsp + 0x50]
call fcn.1402021a8
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140203460
mov eax, edi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 2
je 0x1401f1892
jmp 0x1401f189b