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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rbx, rcx
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000f718
or r12d, 0xffffffff
jmp 0x14000fa0e
call fcn.1402255b4
mov rdx, rax
xor ebp, ebp
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14000f739
mov ecx, 0x80004005
call fcn.1400042e0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x88], rdi
mov rcx, qword [rbx]
or r12d, 0xffffffff
cmp dword [rcx - 0x10], 0
jl 0x14000f981
lea rdx, [0x1405369f4]
call fcn.140360ee0
mov r15, rax
test rax, rax
je 0x14000f981
sub r15, qword [rbx]
sar r15, 1
cmp r15d, r12d
je 0x14000f981
mov r8d, r15d
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.140005000
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rsi, [rdi - 0x18]
cmp rcx, rsi
je 0x14000f8dc
cmp dword [rsi + 0x10], 0
jl 0x14000f7ef
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14000f7ef
call fcn.140003c60
mov rdi, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14000f7de
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x88], rax
jmp 0x14000f8dc
movsxd rbx, dword [r13 - 0x10]
test ebx, ebx
jne 0x14000f853
mov rbx, qword [rsi]
cmp dword [rsi + 8], 0
je 0x14000f8d4
cmp dword [rsi + 0x10], 0
jge 0x14000f81f
cmp dword [rdi - 0xc], 0
jl 0x14000f955
mov dword [rdi - 0x10], ebp
mov word [rdi], bp
jmp 0x14000f8d4
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x14000f839
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
jmp 0x14000f8d4
test r13, r13
je 0x14000f976
mov r14d, dword [rdi - 0x10]
mov rbp, r13
sub rbp, rdi
sar rbp, 1
test ebx, ebx
js 0x14000f96b
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, ebx
or eax, ecx
jge 0x14000f899
mov edx, ebx
lea rcx, [rsp + 0x88]
call fcn.1400040a0
mov rdi, qword [rsp + 0x88]
lea rsi, [rbx + rbx]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rsi
add rdx, rdx
cmp rbp, r14
ja 0x14000f8ba
lea r8, [rdi + rbp*2]
call fcn.1403606d8
jmp 0x14000f8c2
mov r8, r13
call fcn.140360650
cmp ebx, dword [rdi - 0xc]
jg 0x14000f960
mov dword [rdi - 0x10], ebx
xor ebp, ebp
mov word [rsi + rdi], bp
mov rbx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000f8ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x88]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14000f91d
mov rcx, rdi
call fcn.140362090
lea eax, [r15 + 1]
mov rcx, qword [rbx]
test eax, eax
js 0x14000f981
cmp eax, dword [rcx - 0x10]
jg 0x14000f981
cdqe
lea rcx, [rcx + rax*2]
lea rdx, [0x1405369f4]
call fcn.140360ee0
test rax, rax
je 0x14000f981
sub rax, qword [rbx]
sar rax, 1
mov r15d, eax
cmp eax, 0xffffffff
jmp 0x14000f780
mov ecx, 0x80070057
call fcn.1400042e0
int3
mov ecx, 0x80070057
call fcn.1400042e0
int3
mov ecx, 0x80070057
call fcn.1400042e0
int3
mov ecx, 0x80070057
call fcn.1400042e0
nop
mov r8d, 1
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140007e50
nop
xor edx, edx
lea rdi, [0x1405369f4]
mov rsi, qword [rax]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x14000f9b3
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
setne dil
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000f9dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dil, dil
je 0x14000f9ea
mov rcx, qword [rbx]
call fcn.140362090
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000fa0e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x14000fa2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret