Function at 0x1400c5a90
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2e8
movaps xmmword [rsp + 0x2d0], xmm7
movaps xmmword [rsp + 0x2c0], xmm6
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov r15, rcx
mov rax, qword [0x14025e040]
xor rax, rsp
mov qword [rsp + 0x2b8], rax
movaps xmm6, xmmword [0x14022f060]
lea rcx, [rsp + 0xb0]
movaps xmmword [rcx], xmm6
xor edx, edx
call fcn.1400da9e0
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x1400c5b6e
mov edx, dword [rsp + 0x360]
lea r14, [rsp + 0xc0]
mov rcx, r14
mov r8d, 0x40
call fcn.1401b7a30
lea r12, [rsp + 0xb0]
mov rcx, r12
mov rdx, r14
call fcn.1400daa90
mov rcx, r14
call fcn.1400daa60
mov rcx, r12
call fcn.140121f90
test al, al
jne 0x1400c5bb5
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1400c5b60
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
call qword [sym.imp.ole32.dll_CoRevertToSelf]
test r14d, r14d
jns 0x1400c5bbb
jmp 0x1400c5b71
call qword [sym.imp.ole32.dll_CoRevertToSelf]
mov r14d, 0x80004005
jmp 0x1400c5b71
mov r14d, eax
lea rcx, [rsp + 0xb0]
call fcn.1400daa60
mov rcx, qword [rsp + 0x2b8]
xor rcx, rsp
call fcn.140156d40
mov eax, r14d
movaps xmm6, xmmword [rsp + 0x2c0]
movaps xmm7, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.ole32.dll_CoRevertToSelf]
mov r14, qword [rsp + 0x350]
movabs rbp, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x90]
mov qword [rcx + 0x10], rbp
movaps xmmword [rcx], xmm6
call fcn.1401b8d70
lea r12, [rsp + 0x250]
mov qword [r12 + 0x10], rbp
movaps xmmword [r12], xmm6
mov rcx, r12
call fcn.1401b8d70
mov rcx, r12
mov rdx, r14
call fcn.1401b8ea0
test al, al
je 0x1400c60cb
lea r14, [rsp + 0x230]
mov qword [r14 + 0x10], rbp
movaps xmmword [r14], xmm6
lea rcx, [rsp + 0x250]
call fcn.14018fef0
lea rcx, str.ChromeRecoveryCRX.crx
lea r8, [rsp + 0x220]
mov qword [r8], rcx
mov qword [r8 + 8], 0x15
mov rcx, rax
mov rdx, r14
call fcn.14012e480
lea rcx, [rsp + 0x208]
mov rdx, r15
call fcn.14012d3e0
lea rcx, [rsp + 0xc0]
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.1400e6740
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x1400c5e7d
lea r14, [rsp + 0xc0]
lea rdx, [rsp + 0x208]
mov rcx, r14
mov r8d, 0x80021
call fcn.1400e67d0
mov rcx, r14
call fcn.140122040
test al, al
je 0x1400c5cf9
lea rcx, [rsp + 0xc0]
call fcn.1400d7ed0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov r14d, 0x80070057
cmp eax, 1
jne 0x1400c5dff
lea rcx, [rsp + 0xc0]
call fcn.1400dbf20
dec rax
cmp rax, 0x98967e
ja 0x1400c5dff
call qword [sym.imp.ole32.dll_CoRevertToSelf]
jmp 0x1400c5d27
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1400c5df9
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
call qword [sym.imp.ole32.dll_CoRevertToSelf]
test r14d, r14d
js 0x1400c5e80
lea r14, [rsp + 0x270]
movaps xmmword [r14 + 0x20], xmm6
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rcx, r14
call fcn.1400e6740
lea rdx, [rsp + 0x230]
mov rcx, r14
mov r8d, 0x80048
call fcn.1400e67d0
mov rcx, r14
call fcn.140122040
test al, al
je 0x1400c5e50
mov ecx, 0x10000
call fcn.140155818
mov r15, rax
mov r13, 0xffffffffffffffff
lea rax, [r15 + r13]
cmp rax, 0xffffffffffffffff
je 0x1400c6485
mov byte [r15 + r13 + 1], 0
inc r13
cmp r13, 0xffff
jne 0x1400c5d7f
xor r12d, r12d
lea r14, [rsp + 0xc0]
mov rcx, r14
mov rdx, r15
mov r8d, 0x10000
call fcn.140122190
test eax, eax
js 0x1400c5e0f
je 0x1400c5df4
mov ebp, eax
mov eax, eax
add r12, rax
cmp r12, 0x989680
ja 0x1400c5e07
lea rcx, [rsp + 0x270]
mov rdx, r15
mov r8d, ebp
call fcn.1400dbdf0
test eax, eax
js 0x1400c5e0f
cmp eax, ebp
je 0x1400c5daa
mov r14d, 0x8000ffff
jmp 0x1400c5e2d
xor r14d, r14d
jmp 0x1400c5e2d
mov r14d, 0x80004005
call qword [sym.imp.ole32.dll_CoRevertToSelf]
jmp 0x1400c5e80
mov r14d, 0x80070057
jmp 0x1400c5e2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov r14d, 0x80004005
cmovne r14d, ecx
test r15, r15
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400c5e6e
mov rax, r15
add rax, r13
cmp r13, rax
jae 0x1400c6013
jmp 0x1400c64c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov r14d, 0x80004005
cmovne r14d, ecx
lea rcx, [rsp + 0x270]
call fcn.14012efe0
jmp 0x1400c5e80
mov r14d, eax
lea rcx, [rsp + 0xc0]
call fcn.14012efe0
lea rcx, [rsp + 0x208]
call fcn.14012d570
test r14d, r14d
js 0x1400c60bc
xorps xmm0, xmm0
movaps xmmword [rsp + 0x270], xmm0
xor r14d, r14d
mov qword [rsp + 0x280], r14
mov qword [rsp + 0xd0], r14
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0x2b0], r14
movaps xmmword [rsp + 0x2a0], xmm0
mov r15, qword [rbx]
mov r12, qword [rbx + 8]
mov ebx, 0
sub r12, r15
je 0x1400c5f25
js 0x1400c64d6
mov rcx, r12
call fcn.140155818
mov r14, rax
mov qword [rsp + 0x2a0], rax
lea rbx, [rax + r12]
mov qword [rsp + 0x2b0], rbx
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14018f480
mov qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin], rbx
mov ecx, 0x18
call fcn.140155818
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], rax
lea r12, [rax + 0x18]
mov qword [rsp + 0x200], r12
test rax, rax
je 0x1400c6485
mov r15, rax
xorps xmm7, xmm7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
sub rbx, r14
je 0x1400c5f99
js 0x1400c64e3
mov rcx, rbx
call fcn.140155818
mov qword [r15], rax
mov qword [r15 + 8], rax
lea r13, [rax + rbx]
mov qword [r15 + 0x10], r13
mov rcx, rax
mov rdx, r14
mov r8, rbx
call fcn.14018f480
mov qword [r15 + 8], r13
lea rbx, [rsp + 0x1f0]
mov qword [rbx + 8], r12
movups xmmword [rsp + 0x28], xmm7
lea rax, [rsp + 0x270]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x230]
lea r9, [rsp + 0xc0]
mov rdx, rdi
mov r8, rbx
call fcn.1400ec5a0
mov edi, eax
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400c6047
mov r14, qword [rsp + 0x1f8]
mov rcx, rbx
cmp r14, rbx
je 0x1400c603a
add r14, 0xffffffffffffffe8
test r14, r14
je 0x1400c6013
mov rcx, qword [r14]
test rcx, rcx
je 0x1400c6026
mov rax, qword [r14 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400c64a9
lea rcx, [0x140231db2]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.140194150
lea rax, [r14 - 0x18]
cmp r14, rbx
mov r14, rax
jne 0x1400c5ff0
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0x1f8], rbx
call fcn.140155854
mov rcx, qword [rsp + 0x2a0]
test rcx, rcx
je 0x1400c606f
mov rax, qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400c6013
jmp 0x1400c649f
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1400c6097
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400c6013
jmp 0x1400c64b7
mov r14d, 0x80092009
test edi, edi
je 0x1400c6374
cmp byte [rsp + 0x287], 0
jns 0x1400c60bc
mov rcx, qword [rsp + 0x270]
call fcn.140155854
lea rcx, [rsp + 0x230]
call fcn.14012d570
jmp 0x1400c60e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
je 0x1400c624d
lea rcx, [rsp + 0x250]
call fcn.1401b8e60
test r14d, r14d
js 0x1400c6342
mov rdi, qword [rsp + 0x358]
lea rbx, [rsp + 0x270]
mov qword [rbx + 0x10], rbp
movaps xmmword [rbx], xmm6
lea rcx, [rsp + 0x90]
call fcn.14018fef0
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call fcn.1400e6240
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.1400e7f30
xor ebp, ebp
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
call fcn.1401bdaa0
lea rsi, [rsp + 0xc0]
mov r8d, 0x98
mov rcx, rsi
mov dl, 0xaa
call fcn.14018fb20
mov rcx, rsi
call fcn.1400decb0
mov byte [rsi + 0x22], 1
lea rcx, [rsp + 0xc8]
call fcn.1400dcbc0
lea rbx, [rsp + 0x250]
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.1400dabf0
mov rcx, rbx
call fcn.140121f90
test al, al
je 0x1400c6265
lea rsi, [rsp + 0x230]
mov qword [rsi], 0
lea rcx, [rsp + 0xb0]
call fcn.140121fb0
mov rdi, rax
lea rcx, [rsp + 0x250]
call fcn.140121fb0
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 0x1400c6265
mov rsi, qword [rsp + 0x230]
test rsi, rsi
je 0x1400c636a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor r14d, r14d
cmp rsi, 0xffffffffffffffff
je 0x1400c6498
call fcn.14012d270
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1400c6285
lea rcx, [rsp + 0x250]
call fcn.1401b8e60
mov r14d, 0x80004005
jmp 0x1400c6342
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov r14d, 0x80004005
cmovne r14d, ecx
xor esi, esi
lea rcx, [rsp + 0x250]
call fcn.1400daa60
lea rcx, [rsp + 0xc0]
call fcn.1400ded20
test r14d, r14d
js 0x1400c6314
mov rbx, qword [rsp + 0x368]
lea rcx, [rsp + 0x90]
lea rdi, [rsp + 0xc0]
mov rdx, rdi
call fcn.1401b8d80
mov rcx, rdi
call fcn.1400c64f0
mov rcx, rdi
call fcn.14012d570
lea r15, [rsi + 1]
cmp r15, 2
jb 0x1400c62e3
call fcn.14012d270
cmp qword [rbx], rsi
je 0x1400c6312
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rbx]
inc rax
cmp rax, 2
jae 0x1400c6354
cmp r15, 2
jb 0x1400c630a
mov qword [rbx], rsi
call fcn.14012d270
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea rax, [rsi + 1]
cmp rax, 2
jb 0x1400c632b
call fcn.14012d270
mov rcx, rsi
call fcn.140121480
lea rcx, [rsp + 0x40]
call fcn.1400e8510
lea rcx, [rsp + 0x270]
call fcn.14012d570
lea rcx, [rsp + 0x90]
call fcn.1401b8e60
jmp 0x1400c5b71
call fcn.14012d270
mov rcx, qword [rbx]
call fcn.140121480
mov qword [rbx], 0
jmp 0x1400c62fc
xor esi, esi
xor r14d, r14d
jmp 0x1400c6285
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 + 0x250]
call fcn.14018fef0
lea rcx, [rsp + 0x230]
mov rdx, rax
mov r8, rdi
call fcn.1401bf290
mov r14d, 0x8000ffff
test al, al
je 0x1400c60a5
mov ecx, 1
call fcn.14012cfa0
test al, al
je 0x1400c6407
lea rcx, [rsp + 0x230]
call fcn.1400dc600
test al, al
jne 0x1400c6407
lea rdx, str.....chromeelevation_serviceelevated_recovery_impl.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xbc
mov r9d, 1
call fcn.1400e3be0
mov rcx, rdi
call fcn.1400e41f0
mov ecx, 1
call fcn.14012cfa0
xor r14d, r14d
test al, al
je 0x1400c60a5
lea rcx, [rsp + 0x250]
lea rdi, [rsp + 0x1f0]
mov rdx, rdi
call fcn.1401b8d80
lea rcx, [rsp + 0x90]
mov rdx, rdi
call fcn.1401b8f30
test al, al
jne 0x1400c6473
lea rdx, str.....chromeelevation_serviceelevated_recovery_impl.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xbe
mov r9d, 1
call fcn.1400e3be0
mov rcx, rdi
call fcn.1400e41f0
lea rcx, [rsp + 0x1f0]
call fcn.14012d570
jmp 0x1400c60a5
lea rcx, [0x140231db2]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.140194150
xor esi, esi
jmp 0x1400c6243
call fcn.140155854
jmp 0x1400c606f
mov qword [r14 + 8], rcx
call fcn.140155854
jmp 0x1400c6026
mov qword [rsp + 0xc8], rcx
call fcn.140155854
jmp 0x1400c6097
mov rcx, r15
call fcn.140155854
jmp 0x1400c5e6e
lea rcx, [rsp + 0x2a0]
call fcn.140190970
mov rcx, r15
call fcn.140190970
int3