Function at 0x1400ca2bc
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 [0x1401b46a8]
xor rax, rsp
mov qword [rsp + 0x80], rax
call fcn.1400c9ef8
mov edi, 0x1126
test al, al
jne 0x1400ca555
xorps xmm0, xmm0
lea rsi, [rsp + 0x50]
movaps xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, rbx
mov rdx, rsi
call fcn.1400ca57b
mov ebx, eax
mov rcx, rsi
call fcn.1400ca668
mov ebp, eax
mov rcx, rsi
mov rdx, rsi
call fcn.1400ca6b3
test bl, bl
jne 0x1400ca341
test bpl, bpl
jne 0x1400ca341
mov edi, 0x7b
test al, al
je 0x1400ca544
test bpl, bpl
mov byte [rsp + 0x37], bpl
jne 0x1400ca42d
lea rdx, [0x14017af00]
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.1400028f4
movzx r8d, byte [rsp + 0x50]
test r8b, 1
je 0x1400ca37b
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
jmp 0x1400ca383
shr r8, 1
lea rdx, [rsp + 0x52]
mov rcx, rdi
call fcn.140023316
mov bl, byte [rax]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x77], rcx
mov rcx, qword [rax + 1]
mov qword [rsp + 0x70], rcx
mov rdi, qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0x50], 1
jne 0x1400ca3c6
mov word [rsp + 0x52], 0
mov byte [rsp + 0x50], 0
jmp 0x1400ca3f3
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x58], 0
test byte [rsp + 0x50], 1
je 0x1400ca3f3
mov rcx, qword [rsp + 0x60]
call fcn.1401321e4
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x50], bl
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x77]
mov qword [rsp + 0x51], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdi
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x77], rax
test byte [rsp + 0x38], 1
je 0x1400ca42d
mov rcx, qword [rsp + 0x48]
call fcn.1401321e4
lea r15, [rsp + 0x68]
add rsi, 2
mov r14b, 1
mov rax, 0xffffffffffffffff
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.140022ed2
test byte [rsp + 0x50], 1
jne 0x1400ca481
mov word [rsi], 0
mov byte [rsp + 0x50], 0
jmp 0x1400ca4ae
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x58], 0
test byte [rsp + 0x50], 1
je 0x1400ca4ae
mov rcx, qword [rsp + 0x60]
call fcn.1401321e4
mov qword [rsp + 0x50], 0
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x60], rcx
test byte [rsp + 0x50], 1
cmove rcx, rsi
call rdi
cmp eax, 0xffffffff
je 0x1400ca4da
bt eax, 0xa
jae 0x1400ca4ec
jmp 0x1400ca513
call r13
mov ebp, eax
lea eax, [rbp - 2]
cmp eax, 2
jb 0x1400ca4ec
cmp ebp, 0x7b
jne 0x1400ca517
mov rcx, rbx
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.140023bf2
xor r14d, r14d
cmp rax, 2
ja 0x1400ca458
mov edi, 0x1126
jmp 0x1400ca544
xor edi, edi
jmp 0x1400ca544
mov al, byte [rsp + 0x37]
or al, r14b
test al, 1
jne 0x1400ca542
lea rcx, [rsp + 0x50]
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.140023bf2
mov edi, 0x1126
cmp rax, 3
je 0x1400ca544
mov edi, ebp
test byte [rsp + 0x50], 1
je 0x1400ca555
mov rcx, qword [rsp + 0x60]
call fcn.1401321e4
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140132550
mov eax, edi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret