Function at 0x1400294d6
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x398
movaps xmmword [rsp + 0x380], xmm7
movaps xmmword [rsp + 0x370], xmm6
mov r13, r9
mov rbp, r8
mov rdi, rdx
mov r12, rcx
mov rax, qword [0x14016e028]
xor rax, rsp
mov qword [rsp + 0x368], rax
movzx eax, byte [rcx + 0x17]
test al, al
jns 0x140029524
mov rax, qword [r12 + 8]
mov ebx, 0x80070057
cmp qword [rsp + 0x408], 0
je 0x14002985f
mov r15d, dword [rsp + 0x400]
test r15d, r15d
je 0x14002985f
test rax, rax
je 0x14002985f
movzx eax, byte [rdi + 0x17]
mov rcx, rax
test al, al
jns 0x140029561
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140029591
xorps xmm0, xmm0
movaps xmmword [rsp + 0x210], xmm0
mov rcx, rdi
test al, al
jns 0x14002957b
mov rcx, qword [rdi]
lea rdx, [rsp + 0x210]
call qword [sym.imp.ole32.dll_IIDFromString]
test eax, eax
js 0x14002985d
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x210]
mov qword [rbx + 0x10], rax
movaps xmm6, xmmword [0x140147b90]
movaps xmmword [rbx], xmm6
movzx eax, byte [rbp + 0x17]
test al, al
mov rcx, qword [rbp]
cmovns rcx, rbp
lea rdx, [rsp + 0x170]
mov qword [rdx], rcx
cmovs rax, qword [rbp + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x1c0]
mov rcx, rsi
call fcn.140075600
movzx eax, byte [rsi + 0x17]
test al, al
mov rcx, qword [rsi]
cmovns rcx, rsi
lea r14, [rsp + 0x190]
mov qword [r14], rcx
cmovs rax, qword [rsi + 8]
mov qword [r14 + 8], rax
mov rcx, rbx
mov rdx, r14
call fcn.14004afb0
cmp byte [rsi + 0x17], 0
jns 0x140029622
mov rcx, qword [rsp + 0x1c0]
call fcn.14007a98c
lea rcx, [rsp + 0x210]
call fcn.140137970
mov ebx, 0x80070057
test al, al
je 0x140029661
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1c0], xmm0
cmp byte [r13 + 0x17], 0
mov rcx, r13
jns 0x140029651
mov rcx, qword [r13]
lea rdx, [rsp + 0x1c0]
call qword [sym.imp.ole32.dll_IIDFromString]
mov ebx, eax
lea rcx, [rsp + 0x210]
call fcn.140075700
test ebx, ebx
js 0x14002985f
lea rcx, [rsp + 0x1c0]
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.1400f53e0
movzx ecx, byte [rdi + 0x17]
mov rax, rcx
test cl, cl
jns 0x1400296b1
mov rax, qword [rdi + 8]
test rax, rax
je 0x14002970c
test cl, cl
jns 0x1400296bd
mov rdi, qword [rdi]
lea r8, [rsp + 0xd0]
mov qword [r8], rdi
mov qword [r8 + 8], rax
lea rsi, [rsp + 0x210]
mov byte [rsi + 0x17], 7
mov dword [rsi], 0x67707061
mov dword [rsi + 3], 0x64697567
mov byte [rsi + 7], 0
lea rcx, [rsp + 0x1c0]
mov rdx, rsi
call fcn.140060320
cmp byte [rsi + 0x17], 0
jns 0x14002970c
mov rcx, qword [rsp + 0x210]
call fcn.14007a98c
movzx eax, byte [rbp + 0x17]
test al, al
mov rcx, qword [rbp]
cmovns rcx, rbp
lea r8, [rsp + 0xc0]
mov qword [r8], rcx
cmovs rax, qword [rbp + 8]
mov qword [r8 + 8], rax
lea rsi, [rsp + 0x210]
mov byte [rsi + 0x17], 0xf
movabs rax, 0x2d726573776f7262
mov qword [rsi], rax
movabs rax, 0x6e6f69737265762d
mov qword [rsi + 7], rax
mov byte [rsi + 0xf], 0
lea rcx, [rsp + 0x1c0]
mov rdx, rsi
call fcn.140060320
cmp byte [rsi + 0x17], 0
jns 0x14002977c
mov rcx, qword [rsp + 0x210]
call fcn.14007a98c
movzx eax, byte [r13 + 0x17]
test al, al
mov rcx, qword [r13]
cmovns rcx, r13
lea r8, [rsp + 0xb0]
mov qword [r8], rcx
cmovs rax, qword [r13 + 8]
mov qword [r8 + 8], rax
lea rsi, [rsp + 0x210]
mov byte [rsi + 0x17], 9
movabs rax, 0x696e6f6973736573
mov qword [rsi], rax
mov word [rsi + 8], 0x64
lea rcx, [rsp + 0x1c0]
mov rdx, rsi
call fcn.140060320
cmp byte [rsi + 0x17], 0
jns 0x1400297e1
mov rcx, qword [rsp + 0x210]
call fcn.14007a98c
lea rsi, [rsp + 0x210]
mov byte [rsi + 0x17], 6
mov dword [rsi], 0x74737973
mov word [rsi + 4], 0x6d65
mov byte [rsi + 6], 0
lea rcx, [rsp + 0x1c0]
mov rdx, rsi
call fcn.1400f5680
cmp byte [rsi + 0x17], 0
jns 0x140029820
mov rcx, qword [rsp + 0x210]
call fcn.14007a98c
xorps xmm0, xmm0
lea rcx, [rsp + 0x90]
movaps xmmword [rcx], xmm0
mov qword [rcx + 0x10], 0
call fcn.140029291
mov ebx, eax
test eax, eax
jns 0x140029895
lea rcx, [rsp + 0x90]
call fcn.14004f070
lea rcx, [rsp + 0x1c0]
call fcn.1400f54b0
jmp 0x14002985f
mov ebx, eax
mov rcx, qword [rsp + 0x368]
xor rcx, rsp
call fcn.14007d5a0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x370]
movaps xmm7, xmmword [rsp + 0x380]
add rsp, 0x398
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.14006d500
lea rax, [0x14014ada5]
lea rdx, [rsp + 0x210]
mov qword [rdx], rax
mov qword [rdx + 8], 0x20
lea rcx, [rsp + 0x50]
call fcn.1400d9fc6
mov dword [rsp + 0x4c], 2
lea rsi, [rsp + 0x100]
movaps xmmword [rsi], xmm6
mov rcx, rsi
xor edx, edx
call fcn.140006c60
mov ecx, r15d
mov rdx, rsi
call fcn.140028e5c
test eax, eax
js 0x140029a5e
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
xor eax, eax
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0x170]
mov qword [rcx + 0x10], rax
movaps xmmword [rcx], xmm0
lea rdx, [rsp + 0x90]
call fcn.1400f5b20
test al, al
je 0x140029a65
lea rdx, [rsp + 0x150]
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x10], rbp
movaps xmmword [rdx], xmm6
lea rax, str.recovery_component_inner.crx
lea r8, [rsp + 0x140]
mov qword [r8], rax
mov qword [r8 + 8], 0x1c
lea rcx, [rsp + 0x170]
call fcn.1400089e0
lea rcx, [rsp + 0x128]
mov rdx, r12
call fcn.14004eb30
lea rcx, [rsp + 0x210]
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.140077000
call qword [sym.imp.ole32.dll_CoImpersonateClient]
test eax, eax
js 0x140029a90
lea rsi, [rsp + 0x190]
mov qword [rsi], rbp
mov ecx, 0x28
call fcn.14007a994
mov rdi, rax
lea rdx, [0x14002a070]
lea r8, [0x14002a080]
mov rcx, rax
call fcn.140037740
lea rdx, [rsp + 0x110]
mov qword [rdx], rdi
mov rcx, rsi
call fcn.140078e70
lea rsi, [rsp + 0x210]
lea rdx, [rsp + 0x128]
mov rcx, rsi
mov r8d, 0x80021
call fcn.140043060
mov rcx, rsi
call fcn.1400759f0
test al, al
je 0x140029a97
mov rcx, qword [rsp + 0x210]
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov ebx, 0x80070057
cmp eax, 1
jne 0x140029ab3
lea rcx, [rsp + 0x210]
call fcn.1400f7be0
dec rax
xor ecx, ecx
cmp rax, 0x98967f
mov ebx, 0x80070057
cmovb ebx, ecx
jmp 0x140029ab3
mov ebx, eax
jmp 0x140029d68
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
movabs rbp, 0xaaaaaaaaaaaaaaaa
jmp 0x140029c0d
mov ebx, eax
jmp 0x140029bde
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 + 0x190]
call fcn.140034f20
test ebx, ebx
js 0x140029bde
lea rsi, [rsp + 0x190]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
call fcn.140077000
lea rdx, [rsp + 0x150]
mov rcx, rsi
mov r8d, 0x80048
call fcn.140043060
mov rcx, rsi
call fcn.1400759f0
test al, al
je 0x140029b7a
mov ecx, 0x10000
call fcn.14007a994
mov rsi, rax
xor ebx, ebx
mov r8d, 0x10000
mov rcx, rax
xor edx, edx
call fcn.14007f940
lea rdi, [rsp + 0x210]
lea r15, [rsp + 0x190]
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x10000
call fcn.1400f79d0
test eax, eax
js 0x140029b98
mov ebp, eax
test eax, eax
je 0x140029bb6
mov eax, ebp
add rbx, rax
cmp rbx, 0x989680
ja 0x140029bba
mov rcx, r15
mov rdx, rsi
mov r8d, ebp
call fcn.140075720
test eax, eax
js 0x140029b98
cmp eax, ebp
je 0x140029b34
mov ebx, 0x8000ffff
jmp 0x140029bbf
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 0x140029bd1
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 0x140029bbf
xor ebx, ebx
jmp 0x140029bbf
mov ebx, 0x80070057
mov rcx, rsi
call fcn.14007a98c
movabs rbp, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x190]
call fcn.140048220
lea rcx, [rsp + 0x210]
call fcn.140048220
lea rcx, [rsp + 0x128]
call fcn.14004f070
test ebx, ebx
jns 0x140029d98
lea rcx, [rsp + 0x150]
call fcn.14004f070
lea rcx, [rsp + 0x170]
call fcn.1400f5af0
test ebx, ebx
mov r14, qword [rsp + 0x408]
js 0x140029d5b
lea rsi, [rsp + 0x190]
mov qword [rsi + 0x10], rbp
movaps xmmword [rsi], xmm6
lea rcx, [rsp + 0xe0]
lea r8, [rsp + 0x78]
mov rdx, rsi
call fcn.14005d210
lea rdi, [rsp + 0x210]
mov qword [rdi + 0x40], rbp
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.1400f5440
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
xor r8d, r8d
call fcn.1400f56e0
lea r8, [rsp + 0x150]
mov qword [r8], 0
lea rdx, [rsp + 0x100]
mov rcx, rdi
call fcn.140028f45
mov ebx, eax
test eax, eax
js 0x140029d22
lea rcx, [rsp + 0xe0]
lea rsi, [rsp + 0x170]
mov rdx, rsi
call fcn.1400f5a10
mov rcx, rsi
call fcn.1400290c1
mov rcx, rsi
call fcn.14004f070
mov rdi, qword [rsp + 0x150]
lea rbp, [rdi + 1]
cmp rbp, 2
jb 0x140029ceb
call fcn.14003af20
cmp qword [r14], rdi
je 0x140029d1e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [r14]
inc rax
cmp rax, 2
jae 0x14002a02d
cmp rbp, 2
jb 0x140029d16
mov qword [r14], rdi
call fcn.14003af20
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
jmp 0x140029d2a
mov rsi, qword [rsp + 0x150]
lea rax, [rsi + 1]
cmp rax, 2
jb 0x140029d41
call fcn.14003af20
mov rcx, rsi
call fcn.1400337d0
lea rcx, [rsp + 0x210]
call fcn.1400f54b0
lea rcx, [rsp + 0x190]
call fcn.14004f070
lea rcx, [rsp + 0xe0]
call fcn.1400f5af0
lea rcx, [rsp + 0x100]
call fcn.140075920
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140029d89
mov qword [rsp + 0x58], rcx
call fcn.14007a98c
lea rcx, [rsp + 0x78]
call fcn.14004f070
jmp 0x140029841
xorps xmm7, xmm7
movaps xmmword [rsp + 0x190], xmm7
xor esi, esi
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x220], rsi
movaps xmmword [rsp + 0x210], xmm7
mov qword [rsp + 0x360], rsi
movaps xmmword [rsp + 0x350], xmm7
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
sub rbp, rbx
je 0x14002a046
test rbp, rbp
js 0x14002a04d
mov rcx, rbp
call fcn.14007a994
mov rdi, rax
mov qword [rsp + 0x358], rax
mov qword [rsp + 0x350], rax
lea rsi, [rax + rbp]
mov qword [rsp + 0x360], rsi
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call fcn.14007f530
mov qword [rsp + 0x358], rsi
mov ecx, 0x18
call fcn.14007a994
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rax
lea r15, [rax + 0x18]
mov qword [rsp + 0x120], r15
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
sub rsi, rdi
je 0x140029e8d
mov rbx, rax
test rsi, rsi
js 0x14002a05a
mov rcx, rsi
call fcn.14007a994
mov qword [rbx], rax
lea rbp, [rax + rsi]
mov qword [rbx + 0x10], rbp
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call fcn.14007f530
mov qword [rbx + 8], rbp
lea rdi, [rsp + 0x110]
mov qword [rdi + 8], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x4c]
lea r9, [rsp + 0x210]
mov r8, rdi
call fcn.1400f8a70
mov esi, eax
mov rcx, rdi
call fcn.1400da04e
mov rcx, qword [rsp + 0x350]
test rcx, rcx
je 0x140029ef0
mov qword [rsp + 0x358], rcx
call fcn.14007a98c
mov rcx, qword [rsp + 0x210]
test rcx, rcx
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x140029f14
mov qword [rsp + 0x218], rcx
call fcn.14007a98c
mov ebx, 0x80092009
test esi, esi
jne 0x14002a00d
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x170]
call fcn.1400fab31
mov ebx, 0x8000ffff
test al, al
je 0x14002a00d
mov ecx, 1
call fcn.14003c850
test al, al
je 0x140029f8f
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.14004e080
test al, al
jne 0x140029f8f
lea rdx, str..._.._chrome_elevation_service_elevated_recovery_impl.cc
lea rsi, [rsp + 0x210]
mov rcx, rsi
mov r8d, 0xbd
mov r9d, 1
call fcn.1400a96d0
mov rcx, rsi
call fcn.14000bec0
mov ecx, 1
call fcn.14003c850
xor ebx, ebx
test al, al
je 0x14002a003
lea rcx, [rsp + 0x170]
lea rsi, [rsp + 0x110]
mov rdx, rsi
call fcn.1400f5a10
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.1400f5fe0
test al, al
jne 0x140029ff6
lea rdx, str..._.._chrome_elevation_service_elevated_recovery_impl.cc
lea rsi, [rsp + 0x210]
mov rcx, rsi
mov r8d, 0xbf
mov r9d, 1
call fcn.1400a96d0
mov rcx, rsi
call fcn.14000bec0
lea rcx, [rsp + 0x110]
call fcn.14004f070
movabs rbp, 0xaaaaaaaaaaaaaaaa
cmp byte [rsp + 0x1a7], 0
jns 0x140029c00
mov rcx, qword [rsp + 0x190]
call fcn.14007a98c
jmp 0x140029c00
call fcn.14003af20
mov rcx, qword [r14]
call fcn.1400337d0
mov qword [r14], 0
jmp 0x140029d08
xor edi, edi
jmp 0x140029e26
lea rcx, [rsp + 0x350]
call fcn.1400da03c
mov rcx, rbx
call fcn.1400da03c
int3