Function at 0x14002da22
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3d8
movaps xmmword [rsp + 0x3c0], xmm7
movaps xmmword [rsp + 0x3b0], xmm6
mov r13, r9
mov rbp, r8
mov rbx, rdx
mov r12, rcx
mov rax, qword [0x14017e028]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
movzx eax, byte [rcx + 0x17]
test al, al
jns 0x14002da70
mov rax, qword [r12 + 8]
mov edi, 0x80070057
test rax, rax
je 0x14002dd31
mov r15d, dword [rsp + 0x440]
test r15d, r15d
je 0x14002dd31
cmp qword [rsp + 0x448], 0
je 0x14002dd31
movzx eax, byte [rbx + 0x17]
mov rcx, rax
test al, al
jns 0x14002daad
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002dadd
xorps xmm0, xmm0
movaps xmmword [rsp + 0x250], xmm0
mov rcx, rbx
test al, al
jns 0x14002dac7
mov rcx, qword [rbx]
lea rdx, [rsp + 0x250]
call qword [sym.imp.ole32.dll_IIDFromString]
test eax, eax
js 0x14002dd2f
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x250]
mov qword [rdi + 0x10], rax
movaps xmm6, xmmword [0x14015c320]
movaps xmmword [rdi], xmm6
movzx eax, byte [rbp + 0x17]
test al, al
mov rcx, qword [rbp]
cmovns rcx, rbp
lea rdx, [rsp + 0x1b0]
mov qword [rdx], rcx
cmovs rax, qword [rbp + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x200]
mov rcx, rsi
call fcn.140087650
movzx eax, byte [rsi + 0x17]
test al, al
mov rcx, qword [rsi]
cmovns rcx, rsi
lea r14, [rsp + 0x1d0]
mov qword [r14], rcx
cmovs rax, qword [rsi + 8]
mov qword [r14 + 8], rax
mov rcx, rdi
mov rdx, r14
call fcn.14005f910
cmp byte [rsi + 0x17], 0
jns 0x14002db6e
mov rcx, qword [rsp + 0x200]
call fcn.14008d2a8
lea rcx, [rsp + 0x250]
call fcn.14014a530
mov edi, 0x80070057
test al, al
je 0x14002dbad
xorps xmm0, xmm0
movaps xmmword [rsp + 0x200], xmm0
cmp byte [r13 + 0x17], 0
mov rcx, r13
jns 0x14002db9d
mov rcx, qword [r13]
lea rdx, [rsp + 0x200]
call qword [sym.imp.ole32.dll_IIDFromString]
mov edi, eax
lea rcx, [rsp + 0x250]
call fcn.1400108f0
test edi, edi
js 0x14002dd31
lea rcx, [rsp + 0x200]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rcx + 0x40], rax
movaps xmmword [rcx + 0x30], xmm6
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
xor edx, edx
call fcn.14010aae0
movzx ecx, byte [rbx + 0x17]
mov rax, rcx
test cl, cl
jns 0x14002dbfd
mov rax, qword [rbx + 8]
test rax, rax
je 0x14002dc3f
test cl, cl
jns 0x14002dc09
mov rbx, qword [rbx]
lea r8, [rsp + 0x110]
mov qword [r8], rbx
mov qword [r8 + 8], rax
lea rax, str.appguid
lea rdx, [rsp + 0x100]
mov qword [rdx], rax
mov qword [rdx + 8], 7
lea rcx, [rsp + 0x200]
call fcn.140054370
movzx eax, byte [rbp + 0x17]
test al, al
mov rcx, qword [rbp]
cmovns rcx, rbp
lea r8, [rsp + 0xf0]
mov qword [r8], rcx
cmovs rax, qword [rbp + 8]
mov qword [r8 + 8], rax
lea rax, str.browser_version
lea rdx, [rsp + 0xe0]
mov qword [rdx], rax
mov qword [rdx + 8], 0xf
lea rsi, [rsp + 0x200]
mov rcx, rsi
call fcn.140054370
movzx eax, byte [r13 + 0x17]
test al, al
mov rcx, qword [r13]
cmovns rcx, r13
lea r8, [rsp + 0xd0]
mov qword [r8], rcx
cmovs rax, qword [r13 + 8]
mov qword [r8 + 8], rax
lea rax, str.sessionid
lea rdx, [rsp + 0xc0]
mov qword [rdx], rax
mov qword [rdx + 8], 9
mov rcx, rsi
call fcn.140054370
lea rax, str.system
lea rdx, [rsp + 0xb0]
mov qword [rdx], rax
mov qword [rdx + 8], 6
mov rcx, rsi
call fcn.14010b270
xorps xmm0, xmm0
lea rcx, [rsp + 0x90]
movaps xmmword [rcx], xmm0
mov qword [rcx + 0x10], 0
call fcn.14002d7dd
mov edi, eax
test eax, eax
jns 0x14002dd67
lea rcx, [rsp + 0x90]
call fcn.14005b0c0
lea rcx, [rsp + 0x200]
call fcn.14010abb0
jmp 0x14002dd31
mov edi, eax
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.14008fec0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x3b0]
movaps xmm7, xmmword [rsp + 0x3c0]
add rsp, 0x3d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.msedgerecovery.exe
lea rdx, [rsp + 0x68]
mov qword [rdx], rax
mov qword [rdx + 8], 0x12
lea rcx, [rsp + 0x78]
call fcn.14005f360
lea rax, [0x14015c37d]
lea rdx, [rsp + 0x250]
mov qword [rdx], rax
mov qword [rdx + 8], 0x20
lea rcx, [rsp + 0x50]
call fcn.1400f48c6
mov dword [rsp + 0x4c], 2
lea rsi, [rsp + 0x140]
movaps xmmword [rsi], xmm6
mov rcx, rsi
xor edx, edx
call fcn.140005e10
mov ecx, r15d
mov rdx, rsi
call fcn.14002d3a8
test eax, eax
js 0x14002df30
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
xor eax, eax
ror byte [rax - 0x77], 0x84
and al, 0x30
add dword [rax], eax
add byte [rax - 0x73], cl
mov word [rax + rsi*4], fs
add dword [rax], eax
add byte [rax - 0x77], cl
adc byte [r15], cl
sub dword [rcx], eax
lea rdx, [rsp + 0x90]
call fcn.14010b710
test al, al
je 0x14002df37
lea rdx, [rsp + 0x190]
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x10], r13
movaps xmmword [rdx], xmm6
lea rax, str.recovery_component_inner.crx
lea r8, [rsp + 0x180]
mov qword [r8], rax
mov qword [r8 + 8], 0x1c
lea rcx, [rsp + 0x1b0]
call fcn.140009710
lea rcx, [rsp + 0x168]
mov rdx, r12
call fcn.14006e1f0
lea rcx, [rsp + 0x250]
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.1400896d0
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x14002df62
lea rsi, [rsp + 0x1d0]
mov qword [rsi], r13
mov ecx, 0x28
call fcn.14008d2b8
mov rdi, rax
lea rdx, [0x14002e580]
lea r8, [0x14002e590]
mov rcx, rax
call fcn.14004d320
lea rdx, [rsp + 0x150]
mov qword [rdx], rdi
mov rcx, rsi
call fcn.140035880
lea rsi, [rsp + 0x250]
lea rdx, [rsp + 0x168]
mov rcx, rsi
mov r8d, 0x80021
call fcn.14000f420
mov rcx, rsi
call fcn.140064d80
test al, al
je 0x14002df69
mov rcx, qword [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov edi, 0x80070057
cmp eax, 1
jne 0x14002df85
lea rcx, [rsp + 0x250]
call fcn.14010d700
dec rax
xor ecx, ecx
cmp rax, 0x98967f
mov edi, 0x80070057
cmovb edi, ecx
jmp 0x14002df85
mov edi, eax
jmp 0x14002e4b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov edi, 0x80004005
cmovne edi, ecx
movabs r13, 0xaaaaaaaaaaaaaaaa
jmp 0x14002e34d
mov edi, eax
jmp 0x14002e0a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov edi, 0x80004005
cmovne edi, ecx
lea rcx, [rsp + 0x1d0]
call fcn.140042160
test edi, edi
js 0x14002e0a6
lea rsi, [rsp + 0x1d0]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
call fcn.1400896d0
lea rdx, [rsp + 0x190]
mov rcx, rsi
mov r8d, 0x80048
call fcn.14000f420
mov rcx, rsi
call fcn.140064d80
test al, al
je 0x14002e04c
mov ecx, 0x10000
call fcn.14008d2b8
mov rsi, rax
xor ebx, ebx
mov r8d, 0x10000
mov rcx, rax
xor edx, edx
call fcn.1400924f0
lea rdi, [rsp + 0x250]
lea r15, [rsp + 0x1d0]
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x10000
call fcn.140048be0
test eax, eax
js 0x14002e06a
mov ebp, eax
test eax, eax
je 0x14002e088
mov eax, ebp
add rbx, rax
cmp rbx, 0x989680
ja 0x14002e08c
mov rcx, r15
mov rdx, rsi
mov r8d, ebp
call fcn.140087820
test eax, eax
js 0x14002e06a
cmp eax, ebp
je 0x14002e006
mov edi, 0x8000ffff
jmp 0x14002e091
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov edi, 0x80004005
cmovne edi, ecx
jmp 0x14002e099
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov edi, 0x80004005
cmovne edi, ecx
jmp 0x14002e091
xor edi, edi
jmp 0x14002e091
mov edi, 0x80070057
mov rcx, rsi
call fcn.14008d2a8
lea rcx, [rsp + 0x1d0]
call fcn.140065340
lea rcx, [rsp + 0x250]
call fcn.140065340
lea rcx, [rsp + 0x168]
call fcn.14005b0c0
test edi, edi
js 0x14002e340
xorps xmm7, xmm7
movaps xmmword [rsp + 0x1d0], xmm7
xor esi, esi
mov qword [rsp + 0x1e0], rsi
mov qword [rsp + 0x260], rsi
movaps xmmword [rsp + 0x250], xmm7
mov qword [rsp + 0x3a0], rsi
movaps xmmword [rsp + 0x390], xmm7
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov edi, 0
sub rbp, rbx
je 0x14002e157
test rbp, rbp
js 0x14002e569
mov rcx, rbp
call fcn.14008d2b8
mov rsi, rax
mov qword [rsp + 0x398], rax
mov qword [rsp + 0x390], rax
lea rdi, [rax + rbp]
mov qword [rsp + 0x3a0], rdi
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call fcn.140091e40
mov qword [rsp + 0x398], rdi
mov ecx, 0x18
call fcn.14008d2b8
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x150], rax
lea rbp, [rax + 0x18]
mov qword [rsp + 0x160], rbp
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
sub rdi, rsi
je 0x14002e1be
mov rbx, rax
test rdi, rdi
js 0x14002e576
mov rcx, rdi
call fcn.14008d2b8
mov qword [rbx], rax
lea r15, [rax + rdi]
mov qword [rbx + 0x10], r15
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call fcn.140091e40
mov qword [rbx + 8], r15
lea rdi, [rsp + 0x150]
mov qword [rdi + 8], rbp
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x4c]
lea r9, [rsp + 0x250]
mov r8, rdi
call fcn.14010e2a6
mov ebx, eax
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14002e50d
test rsi, rsi
je 0x14002e220
mov qword [rsp + 0x398], rsi
mov rcx, rsi
call fcn.14008d2a8
mov rcx, qword [rsp + 0x250]
test rcx, rcx
je 0x14002e23a
mov qword [rsp + 0x258], rcx
call fcn.14008d2a8
mov edi, 0x80092009
test ebx, ebx
jne 0x14002e329
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x1b0]
call fcn.14011029c
mov edi, 0x8000ffff
test al, al
je 0x14002e329
mov ecx, 1
call fcn.1400896f0
test al, al
je 0x14002e2b5
lea rcx, [rsp + 0x190]
xor edx, edx
call fcn.140006530
test al, al
jne 0x14002e2b5
lea rdx, str..._.._chrome_elevation_service_elevated_recovery_impl.cc
lea rsi, [rsp + 0x250]
mov rcx, rsi
mov r8d, 0xbd
mov r9d, 1
call fcn.14010bc50
mov rcx, rsi
call fcn.140001da0
mov ecx, 1
call fcn.1400896f0
xor edi, edi
test al, al
je 0x14002e329
lea rcx, [rsp + 0x1b0]
lea rsi, [rsp + 0x150]
mov rdx, rsi
call fcn.14010b600
lea rcx, [rsp + 0x120]
mov rdx, rsi
call fcn.14010bb90
test al, al
jne 0x14002e31c
lea rdx, str..._.._chrome_elevation_service_elevated_recovery_impl.cc
lea rsi, [rsp + 0x250]
mov rcx, rsi
mov r8d, 0xbf
mov r9d, 1
call fcn.14010bc50
mov rcx, rsi
call fcn.140001da0
lea rcx, [rsp + 0x150]
call fcn.14005b0c0
cmp byte [rsp + 0x1e7], 0
jns 0x14002e340
mov rcx, qword [rsp + 0x1d0]
call fcn.14008d2a8
lea rcx, [rsp + 0x190]
call fcn.14005b0c0
lea rcx, [rsp + 0x1b0]
call fcn.14010b6e0
test edi, edi
js 0x14002e4a7
lea rsi, [rsp + 0x1d0]
mov qword [rsi + 0x10], r13
movaps xmmword [rsi], xmm6
lea rcx, [rsp + 0x120]
lea r8, [rsp + 0x78]
mov rdx, rsi
call fcn.1400654f0
lea rdi, [rsp + 0x250]
mov qword [rdi + 0x40], r13
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rsi
call fcn.14010ab40
lea rdx, [rsp + 0x200]
mov rcx, rdi
xor r8d, r8d
call fcn.14010b2e0
lea r8, [rsp + 0x190]
mov qword [r8], 0
lea rdx, [rsp + 0x140]
mov rcx, rdi
call fcn.14002d491
mov edi, eax
test eax, eax
js 0x14002e46e
lea rcx, [rsp + 0x120]
lea rsi, [rsp + 0x1b0]
mov rdx, rsi
call fcn.14010b600
mov rcx, rsi
call fcn.14002d60d
mov rcx, rsi
call fcn.14005b0c0
mov rbx, qword [rsp + 0x190]
lea rbp, [rbx + 1]
cmp rbp, 2
jb 0x14002e427
call fcn.140041560
mov rax, qword [rsp + 0x448]
cmp qword [rax], rbx
je 0x14002e46a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x448]
mov esi, eax
mov rax, qword [rcx]
inc rax
cmp rax, 2
jae 0x14002e4e4
cmp rbp, 2
jb 0x14002e462
mov qword [rcx], rbx
call fcn.140041560
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
jmp 0x14002e476
mov rsi, qword [rsp + 0x190]
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14002e48d
call fcn.140041560
mov rcx, rsi
call fcn.140087ae0
lea rcx, [rsp + 0x250]
call fcn.14010abb0
lea rcx, [rsp + 0x1d0]
call fcn.14005b0c0
lea rcx, [rsp + 0x120]
call fcn.14010b6e0
lea rcx, [rsp + 0x140]
call fcn.140087980
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14002e4d5
mov qword [rsp + 0x58], rcx
call fcn.14008d2a8
lea rcx, [rsp + 0x78]
call fcn.14005b0c0
jmp 0x14002dd13
call fcn.140041560
mov rax, qword [rsp + 0x448]
mov rcx, qword [rax]
call fcn.140087ae0
mov rcx, qword [rsp + 0x448]
mov qword [rcx], 0
jmp 0x14002e454
mov rax, qword [rsp + 0x158]
cmp rax, rdi
je 0x14002e54a
lea rsi, [rax - 0x18]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14002e530
mov qword [rax - 0x10], rcx
call fcn.14008d2a8
mov rax, rsi
cmp rdi, rsi
jne 0x14002e51a
mov rcx, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x390]
jmp 0x14002e54d
mov rcx, rdi
mov qword [rsp + 0x158], rdi
call fcn.14008d2a8
movabs r13, 0xaaaaaaaaaaaaaaaa
jmp 0x14002e20b
lea rcx, [rsp + 0x390]
call fcn.1400f493c
mov rcx, rbx
call fcn.1400f493c
int3