Function at 0x140147be0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, rcx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0xc8], rax
test r8, r8
je 0x140147e6b
mov rdi, r8
lea r15, [r8 + 0xffff]
and r15, 0xffffffffffff0000
cmp r15, r8
jb 0x140147e6b
mov rax, r15
shr rax, 0x1f
jne 0x140147e6b
mov ebx, edx
test edx, edx
je 0x140147eb4
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xb0]
mov qword [rcx], r12
mov qword [rsp + 0xa0], r12
movaps xmm6, xmmword [0x14047fb40]
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
mov edx, 8
mov r8d, 2
call qword [sym.imp.ADVAPI32.dll_InitializeAcl]
test eax, eax
je 0x140147e6b
lea rcx, [rsp + 0x80]
mov edx, 1
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x140147e6b
lea r14, [rsp + 0x80]
lea r8, [rsp + 0xb0]
mov rcx, r14
mov edx, 1
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x140147e6b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
xor r13d, r13d
mov qword [rsp + 0x70], r13
lea rdx, [rsp + 0x40]
movaps xmmword [rdx], xmm6
mov qword [rdx + 0x10], r12
mov dword [rdx], SafeArrayCopy
mov qword [rdx + 8], r14
mov dword [rdx + 0x10], 0
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r15d
mov rcx, 0xffffffffffffffff
mov r8d, 4
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
test rax, rax
je 0x140147e75
mov r14, rax
lea r15, [rsp + 0xb8]
mov qword [r15], r12
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 7
mov rcx, rax
mov rdx, r14
mov r8, rax
mov r9, r15
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov ebp, eax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x140147e75
mov r14, qword [rsp + 0xb8]
test r14, r14
je 0x140147e75
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r14 + 1]
cmp rax, 2
jb 0x140147e63
call fcn.14026d530
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140147e7f
lea r15, [rsp + 0xb8]
mov rcx, r15
call fcn.14025bad0
mov qword [rsp + 0x38], 0
test r14, r14
je 0x140147e08
cmp r14, 0xffffffffffffffff
je 0x140147e89
call fcn.14026d530
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov qword [rsp + 0x38], r14
call fcn.14026d530
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x38]
mov rcx, rsi
mov r8d, ebx
mov r9, rdi
call fcn.1401478e0
xor r14d, r14d
lea rax, [r14 + 1]
cmp rax, 2
jae 0x140147ea2
cmp byte [rsp + 0x77], 0
js 0x140147e96
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1402ddd70
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
jmp 0x140147da8
mov rcx, rsi
call fcn.14026cac0
jmp 0x140147e34
mov rcx, rsi
call fcn.14026cac0
jmp 0x140147e2d
mov rcx, rsi
call fcn.14026cac0
jmp 0x140147e23
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x140147e00
mov rcx, qword [rsp + 0x60]
call fcn.1402dd16c
jmp 0x140147e34
call fcn.14026d530
mov rcx, r14
call fcn.140252540
jmp 0x140147e2d
int3