Function at 0x14001af20
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 [0x140188028]
xor rax, rsp
mov qword [rsp + 0x2c8], rax
movaps xmm6, xmmword [0x140160b90]
lea rcx, [rsp + 0xb0]
movaps xmmword [rcx], xmm6
xor edx, edx
call fcn.14002aa80
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14001b151
mov qword [rsp + 0x38], rsi
mov ebp, dword [rsp + 0x370]
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x40]
mov qword [r15], rsi
mov ecx, 0x28
call fcn.1400b5aac
mov r13, rax
lea rdx, [0x14001bbe0]
lea r8, [0x14001bbf0]
mov rcx, rax
call fcn.14007ea70
lea rbx, [rsp + 0x280]
mov qword [rbx], r13
mov rcx, r15
mov rdx, rbx
call fcn.14007eb70
lea r15, [rsp + 0xc0]
mov rcx, r15
mov edx, ebp
mov r8d, 0x40
call fcn.140100e80
lea r13, [rsp + 0xb0]
mov rcx, r13
mov rdx, r15
call fcn.14002ab30
mov rcx, r15
call fcn.14002ab00
mov rcx, r13
call fcn.14007b060
test al, al
jne 0x14001b198
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14001b04c
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
lea rcx, [rsp + 0x40]
call fcn.14007eba0
jmp 0x14001b154
lea rcx, [rsp + 0x40]
call fcn.14007eba0
mov r15d, 0x80004005
jmp 0x14001b154
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.14002ab00
lea rcx, [rsp + 0xc0]
call fcn.14002e450
test r15d, r15d
js 0x14001b114
mov rbx, qword [rsp + 0x378]
lea rcx, [rsp + 0x90]
lea rdi, [rsp + 0xc0]
mov rdx, rdi
call fcn.140101a60
mov rcx, rdi
call fcn.14001b9f0
mov rcx, rdi
call fcn.14007eef0
lea r14, [rsi + 1]
cmp r14, 2
jb 0x14001b0df
call fcn.14007ea60
cmp qword [rbx], rsi
je 0x14001b112
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rbx]
inc rax
cmp rax, 2
jae 0x14001b9b7
cmp r14, 2
jb 0x14001b10a
mov qword [rbx], rsi
call fcn.14007ea60
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14001b12b
call fcn.14007ea60
mov rcx, rsi
call fcn.14007ad70
lea rcx, [rsp + 0x40]
call fcn.140031e10
lea rcx, [rsp + 0x280]
call fcn.14007eef0
lea rcx, [rsp + 0x90]
call fcn.140101b40
jmp 0x14001b154
mov r15d, eax
lea rcx, [rsp + 0xb0]
call fcn.14002ab00
mov rcx, qword [rsp + 0x2c8]
xor rcx, rsp
call fcn.1400b6f60
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
mov r15, qword [rsp + 0x360]
lea rcx, [rsp + 0x40]
call fcn.14007eba0
lea rcx, [rsp + 0x90]
mov qword [rcx + 0x10], rsi
movaps xmmword [rcx], xmm6
call fcn.140101a50
lea r13, [rsp + 0x260]
mov qword [r13 + 0x10], rsi
movaps xmmword [r13], xmm6
mov rcx, r13
call fcn.140101a50
mov rcx, r13
mov rdx, r15
call fcn.140101b70
test al, al
jne 0x14001b21b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
jne 0x14001b5a2
lea rcx, [rsp + 0x260]
call fcn.140101b40
mov r15d, 0x80004005
jmp 0x14001b142
lea r15, [rsp + 0x240]
mov qword [r15 + 0x10], rsi
movaps xmmword [r15], xmm6
lea rcx, [rsp + 0x260]
call fcn.1400e7940
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.1400802a0
lea rcx, [rsp + 0x218]
mov rdx, r12
call fcn.14007ec20
lea rcx, [rsp + 0xc0]
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.140031920
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14001b3c7
lea r15, [rsp + 0x280]
mov qword [r15], rsi
mov ecx, 0x28
call fcn.1400b5aac
mov r12, rax
lea rdx, [0x14001bbe0]
lea r8, [0x14001bbf0]
mov rcx, rax
call fcn.14007ea70
lea rdx, [rsp + 0x200]
mov qword [rdx], r12
mov rcx, r15
call fcn.14007eb70
lea r15, [rsp + 0xc0]
lea rdx, [rsp + 0x218]
mov rcx, r15
mov r8d, 0x80021
call fcn.1400319b0
mov rcx, r15
call fcn.14007b1f0
test al, al
je 0x14001b427
lea rcx, [rsp + 0xc0]
call fcn.14002b660
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov r15d, 0x80070057
cmp eax, 1
jne 0x14001b442
lea rcx, [rsp + 0xc0]
call fcn.14002b7a0
dec rax
cmp rax, 0x98967e
ja 0x14001b442
lea r15, [rsp + 0x280]
mov rcx, r15
call fcn.14007eba0
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
lea r15, [rsp + 0x280]
mov rcx, r15
call fcn.140031920
lea rdx, [rsp + 0x240]
mov rcx, r15
mov r8d, 0x80048
call fcn.1400319b0
mov rcx, r15
call fcn.14007b1f0
test al, al
jne 0x14001b8f9
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.140081030
jmp 0x14001b44f
mov r15d, eax
jmp 0x14001b44f
js 0x14001b9d0
mov rcx, r14
call fcn.1400b5aac
mov r15, rax
mov qword [rsp + 0x2b0], rax
add rax, r14
mov qword [rsp + 0x2c0], rax
mov r13, r15
test r13, r13
je 0x14001b8cd
mov al, byte [r12]
mov byte [r13], al
inc r12
inc r13
cmp r12, rbp
jne 0x14001b3f6
mov qword [rsp + 0x2b8], r13
jmp 0x14001b4c1
mov r15d, 0x80004005
jmp 0x14001b442
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14001b41f
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
lea rcx, [rsp + 0x280]
call fcn.14007eba0
lea rcx, [rsp + 0xc0]
call fcn.140081030
lea rcx, [rsp + 0x218]
call fcn.14007eef0
test r15d, r15d
js 0x14001b595
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 rbp, qword [r14 + 8]
mov r14, rbp
mov r13d, 0
sub r14, r12
jne 0x14001b3cf
mov ecx, 0x18
call fcn.1400b5aac
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], rax
lea rbp, [rax + 0x18]
mov qword [rsp + 0x210], rbp
test rax, rax
je 0x14001b8cd
mov r14, rax
xorps xmm7, xmm7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
cmp r13, r15
jne 0x14001b716
lea r14, [rsp + 0x200]
mov qword [r14 + 8], rbp
movups xmmword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x240]
lea r9, [rsp + 0xc0]
mov rdx, rdi
mov r8, r14
call fcn.140035810
mov edi, eax
mov rbx, qword [r14]
test rbx, rbx
jne 0x14001b876
test r15, r15
je 0x14001b556
mov rcx, r15
call fcn.1400b5ae8
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14001b570
mov qword [rsp + 0xc8], rcx
call fcn.1400b5ae8
mov r15d, 0x80092009
test edi, edi
je 0x14001b75f
cmp byte [rsp + 0x297], 0
jns 0x14001b595
mov rcx, qword [rsp + 0x280]
call fcn.1400b5ae8
lea rcx, [rsp + 0x240]
call fcn.14007eef0
lea rcx, [rsp + 0x260]
call fcn.140101b40
test r15d, r15d
js 0x14001b142
mov rdi, qword [rsp + 0x368]
lea rbx, [rsp + 0x280]
mov qword [rbx + 0x10], rsi
movaps xmmword [rbx], xmm6
lea rcx, [rsp + 0x90]
call fcn.1400e7940
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call fcn.1400315b0
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.140031b10
xor ebp, ebp
mov rcx, rdi
mov rdx, qword [rsp + 0x38]
xor r8d, r8d
call fcn.140103610
lea rsi, [rsp + 0xc0]
mov r8d, 0x98
mov rcx, rsi
mov dl, 0xaa
call fcn.1400b90b0
mov rcx, rsi
call fcn.14002e3e0
mov byte [rsi + 0x22], 1
lea rcx, [rsp + 0xc8]
call fcn.14002c440
lea rbx, [rsp + 0x260]
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.14002ac60
mov rcx, rbx
call fcn.14007b060
test al, al
je 0x14001b061
lea rsi, [rsp + 0x240]
mov qword [rsi], 0
lea rcx, [rsp + 0xb0]
call fcn.14007b080
mov rdi, rax
lea rcx, [rsp + 0x260]
call fcn.14007b080
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 0x14001b061
mov rsi, qword [rsp + 0x240]
test rsi, rsi
je 0x14001b70c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor r15d, r15d
cmp rsi, 0xffffffffffffffff
je 0x14001b8c6
call fcn.14007ea60
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001b081
xor esi, esi
xor r15d, r15d
jmp 0x14001b081
mov r12, r13
sub r12, r15
js 0x14001b9dd
mov rcx, r12
call fcn.1400b5aac
mov qword [r14], rax
mov qword [r14 + 8], rax
mov rcx, rax
add rcx, r12
mov qword [r14 + 0x10], rcx
mov rcx, r15
test rax, rax
je 0x14001b8cd
mov dl, byte [rcx]
mov byte [rax], dl
inc rcx
inc rax
cmp rcx, r13
jne 0x14001b73e
mov qword [r14 + 8], rax
jmp 0x14001b50a
xorps xmm0, xmm0
lea rdi, [rsp + 0x40]
movaps xmmword [rdi], xmm0
xor eax, eax
mov qword [rdi + 0x10], rax
movups xmmword [rdi + 0x18], xmm0
movups xmmword [rdi + 0x28], xmm0
mov qword [rdi + 0x38], rax
mov byte [rdi + 0x40], 0
lea rcx, [rsp + 0x260]
call fcn.1400e7940
lea rcx, [rsp + 0x240]
mov rdx, rax
mov r8, rdi
call fcn.140036b30
mov r15d, 0x8000ffff
test al, al
je 0x14001b57e
mov ecx, 1
call fcn.14007d910
test al, al
je 0x14001b7f8
lea rcx, [rsp + 0x240]
call fcn.14002bea0
test al, al
jne 0x14001b7f8
lea rdx, str.....chromeelevation_serviceelevated_recovery_impl.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xbe
mov r9d, 1
call fcn.14002f8d0
mov rcx, rdi
call fcn.14002fdb0
mov ecx, 1
call fcn.14007d910
xor r15d, r15d
test al, al
je 0x14001b57e
lea rcx, [rsp + 0x260]
lea rdi, [rsp + 0x200]
mov rdx, rdi
call fcn.140101a60
lea rcx, [rsp + 0x90]
mov rdx, rdi
call fcn.140101c00
test al, al
jne 0x14001b864
lea rdx, str.....chromeelevation_serviceelevated_recovery_impl.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xc0
mov r9d, 1
call fcn.14002f8d0
mov rcx, rdi
call fcn.14002fdb0
lea rcx, [rsp + 0x200]
call fcn.14007eef0
jmp 0x14001b57e
mov rax, qword [rsp + 0x208]
mov rcx, rbx
cmp rax, rbx
je 0x14001b8ac
lea r14, [rax - 0x18]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14001b89c
mov qword [rax - 0x10], rcx
call fcn.1400b5ae8
mov rax, r14
cmp r14, rbx
jne 0x14001b886
mov rcx, qword [rsp + 0x200]
mov qword [rsp + 0x208], rbx
call fcn.1400b5ae8
mov r15, qword [rsp + 0x2b0]
jmp 0x14001b549
xor esi, esi
jmp 0x14001b6ff
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x25
call fcn.1400ea040
mov ecx, 0x10000
call fcn.1400b5aac
mov r12, rax
neg rax
xor ecx, ecx
cmp rax, rcx
je 0x14001b8cd
mov byte [r12 + rcx], 0
inc rcx
cmp rcx, 0x10000
jne 0x14001b90b
xor r13d, r13d
lea r15, [rsp + 0xc0]
mov rcx, r15
mov rdx, r12
mov r8d, 0x10000
call fcn.14007b340
test eax, eax
js 0x14001b983
je 0x14001b976
mov ebp, eax
mov eax, eax
add r13, rax
cmp r13, 0x989680
ja 0x14001b97b
lea rcx, [rsp + 0x280]
mov rdx, r12
mov r8d, ebp
call fcn.14002b670
test eax, eax
js 0x14001b983
cmp eax, ebp
je 0x14001b92c
mov r15d, 0x8000ffff
jmp 0x14001b9a1
xor r15d, r15d
jmp 0x14001b9a1
mov r15d, 0x80070057
jmp 0x14001b9a1
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 0x14001b3b5
mov rcx, r12
call fcn.1400b5ae8
jmp 0x14001b3b5
call fcn.14007ea60
mov rcx, qword [rbx]
call fcn.14007ad70
mov qword [rbx], 0
jmp 0x14001b0fc
lea rcx, [rsp + 0x2b0]
call fcn.1400e87d0
mov rcx, r14
call fcn.1400e87d0
int3