Function at 0x14001b540
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2c8
movaps xmmword [rsp + 0x2b0], xmm7
movaps xmmword [rsp + 0x2a0], xmm6
mov r14, r9
mov r12, r8
mov r13, rdx
mov r15, rcx
mov rax, qword [0x140154028]
xor rax, rsp
mov qword [rsp + 0x298], rax
movaps xmm6, xmmword [0x140133080]
lea rcx, [rsp + 0xb0]
movaps xmmword [rcx], xmm6
xor ebx, ebx
xor edx, edx
call fcn.14006bc20
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14001b7d7
mov ebp, dword [rsp + 0x340]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x40]
mov qword [rsi], rax
mov ecx, 0x28
call fcn.1400967c4
mov rdi, rax
lea rdx, [0x14001c0e0]
lea r8, [0x14001c0f0]
mov rcx, rax
call fcn.140067420
lea rdx, [rsp + 0x260]
mov qword [rdx], rdi
mov rcx, rsi
call fcn.140067390
lea rsi, [rsp + 0xc0]
mov rcx, rsi
mov edx, ebp
mov r8d, 0x40
call fcn.1400dcff0
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov rdx, rsi
call fcn.14006bcd0
mov rcx, rsi
call fcn.14006bca0
mov rcx, rdi
call fcn.14006bd80
test al, al
jne 0x14001b654
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
cmovne ebx, ecx
lea rcx, [rsp + 0x40]
call fcn.1400673c0
test ebx, ebx
js 0x14001be8a
mov rsi, qword [rsp + 0x330]
lea rcx, [rsp + 0x90]
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rcx + 0x10], rbp
movaps xmmword [rcx], xmm6
call fcn.1400da8e0
lea rdi, [rsp + 0x260]
mov qword [rdi + 0x10], rbp
movaps xmmword [rdi], xmm6
mov rcx, rdi
call fcn.1400da8e0
mov rcx, rdi
mov rdx, rsi
call fcn.1400daa00
test al, al
je 0x14001b7de
lea rsi, [rsp + 0x240]
mov qword [rsi + 0x10], rbp
movaps xmmword [rsi], xmm6
lea rcx, [rsp + 0x260]
call fcn.1400c2480
lea rcx, str.ChromeRecoveryCRX.crx
lea r8, [rsp + 0x230]
mov qword [r8], rcx
mov qword [r8 + 8], 0x15
mov rcx, rax
mov rdx, rsi
call fcn.140069480
lea rcx, [rsp + 0x218]
mov rdx, r15
call fcn.1400682b0
lea rcx, [rsp + 0xc0]
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.14002cd50
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14001b7ff
lea rsi, [rsp + 0x40]
mov qword [rsi], rbp
mov ecx, 0x28
call fcn.1400967c4
mov rdi, rax
lea rdx, [0x14001c0e0]
lea r8, [0x14001c0f0]
mov rcx, rax
call fcn.140067420
lea rdx, [rsp + 0x200]
mov qword [rdx], rdi
mov rcx, rsi
call fcn.140067390
lea rsi, [rsp + 0xc0]
lea rdx, [rsp + 0x218]
mov rcx, rsi
mov r8d, 0x80021
call fcn.14002cde0
mov rcx, rsi
call fcn.14006b9c0
test al, al
je 0x14001b806
lea rcx, [rsp + 0xc0]
call fcn.14002f9f0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov ebx, 0x80070057
cmp eax, 1
jne 0x14001b822
lea rcx, [rsp + 0xc0]
call fcn.14002fb30
dec rax
xor ecx, ecx
cmp rax, 0x98967f
mov ebx, 0x80070057
cmovb ebx, ecx
jmp 0x14001b822
mov ebx, eax
jmp 0x14001be8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
cmovne ebx, ecx
jmp 0x14001bc3c
mov ebx, eax
jmp 0x14001b951
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
cmovne ebx, ecx
lea rcx, [rsp + 0x40]
call fcn.1400673c0
test ebx, ebx
js 0x14001b951
lea rsi, [rsp + 0x40]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
call fcn.14002cd50
lea rdx, [rsp + 0x240]
mov rcx, rsi
mov r8d, 0x80048
call fcn.14002cde0
mov rcx, rsi
call fcn.14006b9c0
test al, al
je 0x14001b8eb
mov qword [rsp + 0x38], r13
mov ecx, 0x10000
call fcn.1400967c4
mov rdi, rax
xor esi, esi
mov r8d, 0x10000
mov rcx, rax
xor edx, edx
call fcn.140099ee0
lea r13, [rsp + 0xc0]
lea rbp, [rsp + 0x40]
mov rcx, r13
mov rdx, rdi
mov r8d, 0x10000
call fcn.14006bae0
test eax, eax
js 0x14001b909
mov r15d, eax
test eax, eax
je 0x14001b927
mov eax, r15d
add rsi, rax
cmp rsi, 0x989680
ja 0x14001b92b
mov rcx, rbp
mov rdx, rdi
mov r8d, r15d
call fcn.14002fa00
test eax, eax
js 0x14001b909
cmp eax, r15d
mov eax, 0x8000ffff
cmovne ebx, eax
je 0x14001b89f
jmp 0x14001b930
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
cmovne ebx, ecx
jmp 0x14001b947
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
cmovne ebx, ecx
jmp 0x14001b930
xor ebx, ebx
jmp 0x14001b930
mov ebx, 0x80070057
mov rcx, rdi
call fcn.140096800
mov r13, qword [rsp + 0x38]
movabs rbp, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x40]
call fcn.1400681d0
lea rcx, [rsp + 0xc0]
call fcn.1400681d0
lea rcx, [rsp + 0x218]
call fcn.1400683f0
test ebx, ebx
js 0x14001bc2f
xorps xmm7, xmm7
movaps xmmword [rsp + 0x40], xmm7
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0xd0], rdi
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0x290], rdi
movaps xmmword [rsp + 0x280], xmm7
mov rbx, qword [r14]
mov rbp, qword [r14 + 8]
mov esi, 0
sub rbp, rbx
je 0x14001b9f9
test rbp, rbp
js 0x14001bef6
mov rcx, rbp
call fcn.1400967c4
mov rdi, rax
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x280], rax
lea rsi, [rax + rbp]
mov qword [rsp + 0x290], rsi
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call fcn.140099ad0
mov qword [rsp + 0x288], rsi
mov ecx, 0x18
call fcn.1400967c4
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x200], rax
lea rbp, [rax + 0x18]
mov qword [rsp + 0x210], rbp
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
sub rsi, rdi
je 0x14001ba60
mov rbx, rax
test rsi, rsi
js 0x14001bf03
mov rcx, rsi
call fcn.1400967c4
mov qword [rbx], rax
lea r14, [rax + rsi]
mov qword [rbx + 0x10], r14
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call fcn.140099ad0
mov qword [rbx + 8], r14
lea rbx, [rsp + 0x200]
mov qword [rbx + 8], rbp
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x240]
lea r9, [rsp + 0xc0]
mov rdx, r12
mov r8, rbx
call fcn.140032890
mov esi, eax
mov rbx, qword [rbx]
test rbx, rbx
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x14001bafa
mov rax, qword [rsp + 0x208]
cmp rax, rbx
je 0x14001bae2
lea rdi, [rax - 0x18]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14001bad0
mov qword [rax - 0x10], rcx
call fcn.140096800
mov rax, rdi
cmp rbx, rdi
jne 0x14001baba
mov rcx, qword [rsp + 0x200]
jmp 0x14001bae5
mov rcx, rbx
mov qword [rsp + 0x208], rbx
call fcn.140096800
mov rdi, qword [rsp + 0x280]
test rdi, rdi
je 0x14001bb0f
mov qword [rsp + 0x288], rdi
mov rcx, rdi
call fcn.140096800
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14001bb29
mov qword [rsp + 0xc8], rcx
call fcn.140096800
mov ebx, 0x80092009
test esi, esi
jne 0x14001bc1e
lea rcx, [rsp + 0x260]
call fcn.1400c2480
lea rcx, [rsp + 0x240]
mov rdx, rax
call fcn.1400ddec0
mov ebx, 0x8000ffff
test al, al
je 0x14001bc1e
mov ecx, 1
call fcn.140069e10
test al, al
je 0x14001bbaa
lea rcx, [rsp + 0x240]
call fcn.14002f0c0
test al, al
jne 0x14001bbaa
lea rdx, str..._.._chrome_elevation_service_elevated_recovery_impl.cc
lea rsi, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 0xbe
mov r9d, 1
call fcn.14002d450
mov rcx, rsi
call fcn.14002d8e0
mov ecx, 1
call fcn.140069e10
xor ebx, ebx
test al, al
je 0x14001bc1e
lea rcx, [rsp + 0x260]
lea rsi, [rsp + 0x200]
mov rdx, rsi
call fcn.1400da8f0
lea rcx, [rsp + 0x90]
mov rdx, rsi
call fcn.1400daa90
test al, al
jne 0x14001bc11
lea rdx, str..._.._chrome_elevation_service_elevated_recovery_impl.cc
lea rsi, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 0xc0
mov r9d, 1
call fcn.14002d450
mov rcx, rsi
call fcn.14002d8e0
lea rcx, [rsp + 0x200]
call fcn.1400683f0
cmp byte [rsp + 0x57], 0
jns 0x14001bc2f
mov rcx, qword [rsp + 0x40]
call fcn.140096800
lea rcx, [rsp + 0x240]
call fcn.1400683f0
lea rcx, [rsp + 0x260]
call fcn.1400da9d0
test ebx, ebx
js 0x14001be7d
mov rsi, qword [rsp + 0x338]
lea rdi, [rsp + 0x260]
mov qword [rdi + 0x10], rbp
movaps xmmword [rdi], xmm6
lea rcx, [rsp + 0x90]
call fcn.1400c2480
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call fcn.14002cf00
lea rsi, [rsp + 0x40]
mov qword [rsi + 0x40], rbp
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
mov rdx, rdi
call fcn.14002a730
xor ebp, ebp
mov rcx, rsi
mov rdx, r13
xor r8d, r8d
call fcn.1400da2b0
lea rdi, [rsp + 0xc0]
mov r8d, 0x98
mov rcx, rdi
mov dl, 0xaa
call fcn.140099ee0
mov rcx, rdi
call fcn.14002ead0
mov byte [rdi + 0x21], 1
lea rcx, [rsp + 0xc8]
call fcn.14002f270
lea rbx, [rsp + 0x240]
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.14002ffe0
mov rcx, rbx
call fcn.14006bd80
test al, al
je 0x14001bd9f
lea rsi, [rsp + 0x218]
mov qword [rsi], 0
lea rcx, [rsp + 0xb0]
call fcn.14006bda0
mov rdi, rax
lea rcx, [rsp + 0x240]
call fcn.14006bda0
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 0x14001bd9f
mov rsi, qword [rsp + 0x218]
test rsi, rsi
je 0x14001becd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor ebx, ebx
cmp rsi, 0xffffffffffffffff
je 0x14001beef
call fcn.140069e00
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001bdbd
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov ebx, 0x80004005
cmovne ebx, ecx
xor esi, esi
lea rcx, [rsp + 0x240]
call fcn.14006bca0
lea rcx, [rsp + 0xc0]
call fcn.14002eb40
test ebx, ebx
js 0x14001be4f
mov r14, qword [rsp + 0x348]
lea rcx, [rsp + 0x90]
lea rdi, [rsp + 0xc0]
mov rdx, rdi
call fcn.1400da8f0
mov rcx, rdi
call fcn.14001bf10
mov rcx, rdi
call fcn.1400683f0
lea rbp, [rsi + 1]
cmp rbp, 2
jb 0x14001be1a
call fcn.140069e00
cmp qword [r14], rsi
je 0x14001be4d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r14]
inc rax
cmp rax, 2
jae 0x14001bed6
cmp rbp, 2
jb 0x14001be45
mov qword [r14], rsi
call fcn.140069e00
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14001be66
call fcn.140069e00
mov rcx, rsi
call fcn.14006c2f0
lea rcx, [rsp + 0x40]
call fcn.14002aa10
lea rcx, [rsp + 0x260]
call fcn.1400683f0
lea rcx, [rsp + 0x90]
call fcn.1400da9d0
lea rcx, [rsp + 0xb0]
call fcn.14006bca0
mov rcx, qword [rsp + 0x298]
xor rcx, rsp
call fcn.140097620
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x2a0]
movaps xmm7, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
xor ebx, ebx
jmp 0x14001bdbd
call fcn.140069e00
mov rcx, qword [r14]
call fcn.14006c2f0
mov qword [r14], 0
jmp 0x14001be37
xor esi, esi
jmp 0x14001bd95
lea rcx, [rsp + 0x280]
call fcn.1400c2b70
mov rcx, rbx
call fcn.1400c2b70
int3