Function at 0x14010fa9e
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 [0x1401c2c08]
xor rax, rsp
mov qword [rsp + 0x80], rax
call fcn.14010f698
mov esi, 0x1126
test al, al
jne 0x14010fd47
xorps xmm0, xmm0
lea r14, [rsp + 0x50]
movaps xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov rcx, rdi
mov rdx, r14
call fcn.14010fd7d
mov esi, eax
mov rcx, r14
call fcn.14010fe3e
mov ebp, eax
mov rcx, r14
mov rdx, r14
call fcn.14010fea5
test bpl, bpl
jne 0x14010fb25
test sil, sil
jne 0x14010fb25
mov esi, 0x7b
test al, al
je 0x14010fd36
test bpl, bpl
jne 0x14010fbdd
lea rdx, str.._
lea rsi, [rsp + 0x38]
mov rcx, rsi
call fcn.140001b3c
movzx r8d, byte [rsp + 0x50]
test r8b, 1
je 0x14010fb5a
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
jmp 0x14010fb62
shr r8d, 1
lea rdx, [rsp + 0x52]
mov rcx, rsi
call fcn.14002b8a8
mov bl, byte [rax]
mov sil, byte [rax + 1]
movzx edi, word [rax + 2]
mov ecx, dword [rax + 0xc]
mov dword [rsp + 0x78], ecx
mov rcx, qword [rax + 4]
mov qword [rsp + 0x70], rcx
mov r14, qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0x50], 1
je 0x14010fba7
mov rcx, qword [rsp + 0x60]
call fcn.1401438d8
mov byte [rsp + 0x50], bl
mov byte [rsp + 0x51], sil
mov word [rsp + 0x52], di
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x54], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0x60], r14
test byte [rsp + 0x38], 1
je 0x14010fbdd
mov rcx, qword [rsp + 0x48]
call fcn.1401438d8
mov byte [rsp + 0x33], bpl
mov r14, 0xffffffffffffffff
lea r15, [rsp + 0x52]
xor ebp, ebp
lea r12, [rsp + 0x70]
lea rsi, [rsp + 0x38]
lea rdi, [rsp + 0x50]
mov r13, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov qword [rsp + 0x20], r12
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
mov r9, r14
call fcn.14002ba6c
test byte [rsp + 0x50], 1
je 0x14010fc2d
mov rcx, qword [rsp + 0x60]
call fcn.1401438d8
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm0
test byte [rsp + 0x50], 1
cmove rcx, r15
call r13
cmp eax, 0xffffffff
je 0x14010fc5d
bt eax, 0xa
jae 0x14010fcd7
jmp 0x14010fd34
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x14010fccd
cmp eax, 0x7b
je 0x14010fccd
test bpl, 1
sete dl
or dl, byte [rsp + 0x33]
jne 0x14010fcc2
movzx edx, byte [rsp + 0x50]
test dl, 1
je 0x14010fc95
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
jmp 0x14010fc9a
shr edx, 1
mov r8, r15
test rdx, rdx
je 0x14010fcc2
add rdx, rdx
test rdx, rdx
je 0x14010fcc2
lea r9, [rdx - 2]
cmp word [r8 + rdx - 2], 0x5c
mov rdx, r9
jne 0x14010fca2
mov ebx, 2
cmp r9, 6
je 0x14010fccd
mov ebx, 1
mov edx, eax
mov dword [rsp + 0x34], eax
cmp ecx, 2
jb 0x14010fcd7
cmp eax, 0x7b
jne 0x14010fd1f
movzx eax, byte [rsp + 0x50]
test al, 1
je 0x14010fcec
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
jmp 0x14010fcf1
shr eax, 1
mov rcx, r15
mov r14, 0xffffffffffffffff
mov bpl, 1
test rax, rax
je 0x14010fd23
add rax, rax
test rax, rax
je 0x14010fd23
lea rdx, [rax - 2]
cmp word [rcx + rax - 2], 0x5c
mov rax, rdx
jne 0x14010fd03
sar rdx, 1
mov r14, rdx
jmp 0x14010fd23
test ebx, ebx
jne 0x14010fd6d
cmp r14, 2
ja 0x14010fc06
mov esi, 0x1126
jmp 0x14010fd36
xor esi, esi
test byte [rsp + 0x50], 1
je 0x14010fd47
mov rcx, qword [rsp + 0x60]
call fcn.1401438d8
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140143c30
mov eax, esi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 0x1126
cmp ebx, 2
je 0x14010fd36
mov esi, dword [rsp + 0x34]
jmp 0x14010fd36