Function at 0x14001ace0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movaps xmmword [rsp + 0x2e0], xmm7
movaps xmmword [rsp + 0x2d0], xmm6
mov r14, r9
mov rdi, r8
mov rsi, rdx
mov r12, rcx
mov rax, qword [0x14018f028]
xor rax, rsp
mov qword [rsp + 0x2c8], rax
movaps xmm6, xmmword [0x140167260]
lea rcx, [rsp + 0xb0]
movaps xmmword [rcx], xmm6
xor edx, edx
call fcn.14002e1d0
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14001ae18
mov ebp, dword [rsp + 0x370]
movabs rbx, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x40]
mov qword [r15], rbx
mov ecx, 0x28
call fcn.1400b8abc
mov r13, rax
lea rdx, [0x14001ba40]
lea r8, [0x14001ba50]
mov rcx, rax
call fcn.1400801b0
lea rdx, [rsp + 0x280]
mov qword [rdx], r13
mov rcx, r15
call fcn.1400802b0
lea r15, [rsp + 0xc0]
mov rcx, r15
mov edx, ebp
mov r8d, 0x40
call fcn.14010f020
lea r13, [rsp + 0xb0]
mov rcx, r13
mov rdx, r15
call fcn.14002e250
mov rcx, r15
call fcn.14007c6d0
mov rcx, r13
call fcn.14007c700
test al, al
jne 0x14001ae5f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14001ae06
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
lea rcx, [rsp + 0x40]
call fcn.1400802e0
test r15d, r15d
jns 0x14001ae69
jmp 0x14001ae1b
lea rcx, [rsp + 0x40]
call fcn.1400802e0
mov r15d, 0x80004005
jmp 0x14001ae1b
mov r15d, eax
lea rcx, [rsp + 0xb0]
call fcn.14007c6d0
mov rcx, qword [rsp + 0x2c8]
xor rcx, rsp
call fcn.1400b9f70
mov eax, r15d
movaps xmm6, xmmword [rsp + 0x2d0]
movaps xmm7, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x40]
call fcn.1400802e0
mov r15, qword [rsp + 0x360]
lea rcx, [rsp + 0x90]
mov qword [rcx + 0x10], rbx
movaps xmmword [rcx], xmm6
call fcn.14010fb30
lea r13, [rsp + 0x260]
mov qword [r13 + 0x10], rbx
movaps xmmword [r13], xmm6
mov rcx, r13
call fcn.14010fb30
mov rcx, r13
mov rdx, r15
call fcn.14010fc50
test al, al
je 0x14001b404
lea r15, [rsp + 0x240]
mov qword [r15 + 0x10], rbx
movaps xmmword [r15], xmm6
lea rcx, [rsp + 0x260]
call fcn.1400eb9c0
lea rcx, str.ChromeRecoveryCRX.crx
lea r8, [rsp + 0x230]
mov qword [r8], rcx
mov qword [r8 + 8], 0x15
mov rcx, rax
mov rdx, r15
call fcn.140081ef0
lea rcx, [rsp + 0x218]
mov rdx, r12
call fcn.140080360
lea rcx, [rsp + 0xc0]
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.140035040
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14001b1b5
lea r15, [rsp + 0x280]
mov qword [r15], rbx
mov ecx, 0x28
call fcn.1400b8abc
mov r12, rax
lea rdx, [0x14001ba40]
lea r8, [0x14001ba50]
mov rcx, rax
call fcn.1400801b0
lea rdx, [rsp + 0x200]
mov qword [rdx], r12
mov rcx, r15
call fcn.1400802b0
lea r15, [rsp + 0xc0]
lea rdx, [rsp + 0x218]
mov rcx, r15
mov r8d, 0x80021
call fcn.1400350d0
mov rcx, r15
call fcn.14007c740
test al, al
je 0x14001afe4
lea rcx, [rsp + 0xc0]
call fcn.14002ed70
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov r15d, 0x80070057
cmp eax, 1
jne 0x14001b0f5
lea rcx, [rsp + 0xc0]
call fcn.14002eeb0
dec rax
cmp rax, 0x98967e
ja 0x14001b0f5
lea rcx, [rsp + 0x280]
call fcn.1400802e0
jmp 0x14001b019
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14001b0ef
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
lea rcx, [rsp + 0x280]
call fcn.1400802e0
test r15d, r15d
js 0x14001b1b8
lea r15, [rsp + 0x280]
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, r15
call fcn.140035040
lea rdx, [rsp + 0x240]
mov rcx, r15
mov r8d, 0x80048
call fcn.1400350d0
mov rcx, r15
call fcn.14007c740
test al, al
je 0x14001b14b
mov ecx, 0x10000
call fcn.1400b8abc
mov r12, rax
lea rdx, [rax + 0x10000]
neg rax
xor ecx, ecx
cmp rax, rcx
je 0x14001b807
mov byte [r12 + rcx], 0
inc rcx
cmp rcx, 0x10000
jne 0x14001b076
mov qword [rsp + 0x38], rdx
xor r13d, r13d
lea r15, [rsp + 0xc0]
mov rcx, r15
mov rdx, r12
mov r8d, 0x10000
call fcn.14007c890
test eax, eax
js 0x14001b10f
je 0x14001b0ea
mov ebp, eax
mov eax, eax
add r13, rax
cmp r13, 0x989680
ja 0x14001b107
lea rcx, [rsp + 0x280]
mov rdx, r12
mov r8d, ebp
call fcn.14002ed80
test eax, eax
js 0x14001b10f
cmp eax, ebp
je 0x14001b0a0
mov r15d, 0x8000ffff
jmp 0x14001b12d
xor r15d, r15d
jmp 0x14001b12d
mov r15d, 0x80004005
lea rcx, [rsp + 0x280]
call fcn.1400802e0
jmp 0x14001b1b8
mov r15d, 0x80070057
jmp 0x14001b12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov r15d, 0x80004005
cmovne r15d, ecx
test r12, r12
je 0x14001b169
mov rax, qword [rsp + 0x38]
dec rax
cmp rax, 0xffff
jbe 0x14001b373
jmp 0x14001b7fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov r15d, 0x80004005
cmovne r15d, ecx
lea rcx, [rsp + 0x280]
call fcn.140082d70
jmp 0x14001b1b8
js 0x14001b833
mov rcx, r14
call fcn.1400b8abc
mov r15, rax
mov qword [rsp + 0x2b0], rax
lea r13, [rax + r14]
mov qword [rsp + 0x2c0], r13
mov rcx, rax
mov rdx, r12
mov r8, r14
call fcn.1400bba10
mov qword [rsp + 0x2b8], r13
jmp 0x14001b227
mov r15d, eax
lea rcx, [rsp + 0xc0]
call fcn.140082d70
lea rcx, [rsp + 0x218]
call fcn.1400805d0
test r15d, r15d
js 0x14001b301
xorps xmm0, xmm0
movaps xmmword [rsp + 0x280], xmm0
xor r15d, r15d
mov qword [rsp + 0x290], r15
mov qword [rsp + 0xd0], r15
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0x2c0], r15
movaps xmmword [rsp + 0x2b0], xmm0
mov r12, qword [r14]
mov r14, qword [r14 + 8]
mov r13d, 0
sub r14, r12
jne 0x14001b178
mov ecx, 0x18
call fcn.1400b8abc
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], rax
lea rbp, [rax + 0x18]
mov qword [rsp + 0x210], rbp
test rax, rax
je 0x14001b807
mov r12, rax
mov r14, r13
xorps xmm7, xmm7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
sub r14, r15
jne 0x14001b313
lea r12, [rsp + 0x200]
mov qword [r12 + 8], rbp
movups xmmword [rsp + 0x28], xmm7
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x240]
lea r9, [rsp + 0xc0]
mov rdx, rdi
mov r8, r12
call fcn.1400393f0
mov edi, eax
mov rbx, qword [r12]
test rbx, rbx
jne 0x14001b39f
test r15, r15
jne 0x14001b367
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
movabs rbx, 0xaaaaaaaaaaaaaaaa
jne 0x14001b34c
mov r15d, 0x80092009
test edi, edi
je 0x14001b69b
cmp byte [rsp + 0x297], 0
jns 0x14001b301
mov rcx, qword [rsp + 0x280]
call fcn.1400b8af8
lea rcx, [rsp + 0x240]
call fcn.1400805d0
jmp 0x14001b421
js 0x14001b840
mov rbx, rsi
mov rcx, r14
call fcn.1400b8abc
mov qword [r12], rax
lea rsi, [rax + r14]
mov qword [r12 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r14
call fcn.1400bba10
mov qword [r12 + 8], rsi
mov rsi, rbx
jmp 0x14001b273
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b373
jmp 0x14001b7d9
dec r13
cmp r14, r13
jbe 0x14001b7cc
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x44
call fcn.1400f79e0
mov r12, qword [rsp + 0x208]
mov rcx, rbx
cmp r12, rbx
je 0x14001b3d6
add r12, 0xffffffffffffffe8
test r12, r12
je 0x14001b373
mov rcx, qword [r12]
test rcx, rcx
jne 0x14001b3e8
lea rax, [r12 - 0x18]
cmp r12, rbx
mov r12, rax
jne 0x14001b3b3
mov rcx, qword [rsp + 0x200]
mov qword [rsp + 0x208], rbx
call fcn.1400b8af8
jmp 0x14001b2bc
mov rax, qword [r12 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b373
jmp 0x14001b7eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
je 0x14001b67c
lea rcx, [rsp + 0x260]
call fcn.14010fc20
test r15d, r15d
js 0x14001b66a
mov rdi, qword [rsp + 0x368]
mov rax, rbx
lea rbx, [rsp + 0x280]
mov qword [rbx + 0x10], rax
movaps xmmword [rbx], xmm6
lea rcx, [rsp + 0x90]
call fcn.1400eb9c0
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call fcn.140034a80
lea rdi, [rsp + 0x40]
movaps xmmword [rdi + 0x40], xmm6
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.140035230
xor ebp, ebp
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
call fcn.1401117a0
lea rsi, [rsp + 0xc0]
mov r8d, 0x98
mov rcx, rsi
mov dl, 0xaa
call fcn.1400bc0c0
mov rcx, rsi
call fcn.140031a80
mov byte [rsi + 0x22], 1
lea rcx, [rsp + 0xc8]
call fcn.14002fb10
lea rbx, [rsp + 0x260]
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.14002e380
mov rcx, rbx
call fcn.14007c700
test al, al
je 0x14001b589
lea rsi, [rsp + 0x240]
mov qword [rsi], 0
lea rcx, [rsp + 0xb0]
call fcn.14007c720
mov rdi, rax
lea rcx, [rsp + 0x260]
call fcn.14007c720
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 0x101000
mov rcx, rax
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x14001b589
mov rsi, qword [rsp + 0x240]
test rsi, rsi
je 0x14001b691
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor r15d, r15d
cmp rsi, 0xffffffffffffffff
je 0x14001b7ac
call fcn.1400801a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001b5a9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov r15d, 0x80004005
cmovne r15d, ecx
xor esi, esi
lea rcx, [rsp + 0x260]
call fcn.14007c6d0
lea rcx, [rsp + 0xc0]
call fcn.140031af0
test r15d, r15d
js 0x14001b63c
mov rbx, qword [rsp + 0x378]
lea rcx, [rsp + 0x90]
lea rdi, [rsp + 0xc0]
mov rdx, rdi
call fcn.14010fb40
mov rcx, rdi
call fcn.14001b850
mov rcx, rdi
call fcn.1400805d0
lea r14, [rsi + 1]
cmp r14, 2
jb 0x14001b607
call fcn.1400801a0
cmp qword [rbx], rsi
je 0x14001b63a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rbx]
inc rax
cmp rax, 2
jae 0x14001b7b3
cmp r14, 2
jb 0x14001b632
mov qword [rbx], rsi
call fcn.1400801a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14001b653
call fcn.1400801a0
mov rcx, rsi
call fcn.14007c3f0
lea rcx, [rsp + 0x40]
call fcn.140035720
lea rcx, [rsp + 0x280]
call fcn.1400805d0
lea rcx, [rsp + 0x90]
call fcn.14010fc20
jmp 0x14001ae1b
lea rcx, [rsp + 0x260]
call fcn.14010fc20
mov r15d, 0x80004005
jmp 0x14001b66a
xor esi, esi
xor r15d, r15d
jmp 0x14001b5a9
xorps xmm0, xmm0
lea rdi, [rsp + 0x40]
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
mov byte [rdi + 0x40], 0
lea rcx, [rsp + 0x260]
call fcn.1400eb9c0
lea rcx, [rsp + 0x240]
mov rdx, rax
mov r8, rdi
call fcn.14003a4c0
mov r15d, 0x8000ffff
test al, al
je 0x14001b2ea
mov ecx, 1
call fcn.14007eb10
test al, al
je 0x14001b72e
lea rcx, [rsp + 0x240]
call fcn.14002f5a0
test al, al
jne 0x14001b72e
lea rdx, str.....chromeelevation_serviceelevated_recovery_impl.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xbe
mov r9d, 1
call fcn.1400330a0
mov rcx, rdi
call fcn.1400336f0
mov ecx, 1
call fcn.14007eb10
xor r15d, r15d
test al, al
je 0x14001b2ea
lea rcx, [rsp + 0x260]
lea rdi, [rsp + 0x200]
mov rdx, rdi
call fcn.14010fb40
lea rcx, [rsp + 0x90]
mov rdx, rdi
call fcn.14010fce0
test al, al
jne 0x14001b79a
lea rdx, str.....chromeelevation_serviceelevated_recovery_impl.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xc0
mov r9d, 1
call fcn.1400330a0
mov rcx, rdi
call fcn.1400336f0
lea rcx, [rsp + 0x200]
call fcn.1400805d0
jmp 0x14001b2ea
xor esi, esi
jmp 0x14001b57f
call fcn.1400801a0
mov rcx, qword [rbx]
call fcn.14007c3f0
mov qword [rbx], 0
jmp 0x14001b624
mov rcx, r15
call fcn.1400b8af8
jmp 0x14001b2c5
mov qword [rsp + 0xc8], rcx
call fcn.1400b8af8
jmp 0x14001b2dc
mov qword [r12 + 8], rcx
call fcn.1400b8af8
jmp 0x14001b3c1
mov rcx, r12
call fcn.1400b8af8
jmp 0x14001b169
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.1400f79e0
lea rcx, [rsp + 0x2b0]
call fcn.1400ec040
mov rcx, r12
call fcn.1400ec040
int3