Function at 0x1400c0af0
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14025a030]
xor rax, rsp
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x78], rcx
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
lea rdx, [rsp + 0x70]
mov ecx, eax
call sub.WTSAPI32.dll_WTSQueryUserToken
mov r12, qword [rsp + 0x70]
xor ebx, ebx
test eax, eax
cmove r12, rbx
mov qword [rsp + 0xc0], r12
mov rcx, r12
call fcn.1400c61c0
mov r15, rax
mov rcx, qword [rax + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400c0b8d
test r12, r12
je 0x1400c0b86
cmp r12, 0xffffffffffffffff
je 0x1400c0b86
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400c10b9
mov qword [rsp + 0x28], rbx
lea rdx, [rsp + 0x28]
mov rcx, qword [r15 + 0x20]
call fcn.140150410
test eax, eax
jne 0x1400c0bbf
test r12, r12
je 0x1400c0bb8
cmp r12, 0xffffffffffffffff
je 0x1400c0bb8
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400c10b9
mov r13, qword [rsp + 0x28]
mov qword [rsp + 0x28], r13
xor r8d, r8d
lea rdx, str.extensions
mov rcx, r13
call fcn.1400b99e0
xor r8d, r8d
lea rdx, str.settings
mov rcx, rax
call fcn.1400b99e0
mov r14, rax
movzx ecx, byte [rax + 8]
test cl, cl
je 0x1400c0c2e
cmp cl, 7
je 0x1400c0c2e
test r13, r13
je 0x1400c0c13
mov rcx, r13
call fcn.1400b8ac0
mov rcx, r13
call sub.MSVCR90.dll_void___cdecl_operator_delete_void____ptr64_
nop
test r12, r12
je 0x1400c0c27
cmp r12, 0xffffffffffffffff
je 0x1400c0c27
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400c10b9
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.1400b9e30
nop
mov rbx, qword [rsp + 0x58]
cmp rbx, qword [rsp + 0x60]
jbe 0x1400c0c4e
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov rbp, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0x20]
mov rdi, qword [rsp + 0x38]
nop word [rax + rax]
mov rsi, qword [rsp + 0x60]
cmp qword [rsp + 0x58], rsi
jbe 0x1400c0c92
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test rbp, rbp
je 0x1400c0c9e
cmp rbp, qword [rsp + 0x40]
je 0x1400c0ca4
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp rdi, rsi
je 0x1400c1041
test rbp, rbp
jne 0x1400c0cbd
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x1400c0cc1
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x20]
jb 0x1400c0ccd
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp qword [rdi + 0x20], 0x10
jb 0x1400c0cda
mov rdx, qword [rdi + 8]
jmp 0x1400c0cde
lea rdx, [rdi + 8]
mov rcx, r14
call fcn.1400b9d10
mov rsi, rax
movzx eax, byte [rax + 8]
test al, al
je 0x1400c0cf9
cmp al, 7
jne 0x1400c0eeb
lea rdx, str.manifest
mov rcx, rsi
call fcn.1400b9d10
lea rcx, [0x140260a70]
cmp rax, rcx
je 0x1400c0eeb
lea rdx, str.manifest
mov rcx, rsi
call fcn.1400b9d10
movzx ecx, byte [rax + 8]
test cl, cl
je 0x1400c0d38
cmp cl, 7
jne 0x1400c0eeb
lea rdx, str.manifest
mov rcx, rsi
call fcn.1400b9d10
lea rdx, str.name
mov rcx, rax
call fcn.1400b9d10
lea rcx, [0x140260a70]
cmp rax, rcx
je 0x1400c0eeb
lea rdx, str.Search_Module_New_Tab
lea rcx, [rsp + 0x228]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
lea rdx, str.manifest
mov rcx, rsi
call fcn.1400b9d10
mov rcx, rax
lea rdx, str.name
call fcn.1400b9d10
mov rcx, rax
lea rdx, [rsp + 0x250]
call fcn.1400b8d30
nop
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x250]
call qword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void____ptr64]
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x250]
call qword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void____ptr64]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x200]
call qword [sym.imp.MSVCP90.dll_protected:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::_Tidy_bool__unsigned_long_long_unsigned___int64_____ptr64]
movaps xmm5, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x80], xmm5
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x90], xmm0
movzx r9d, bl
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x200]
call fcn.14001dc30
nop
mov r8, qword [rsp + 0x218]
cmp r8, qword [rsp + 0x240]
jne 0x1400c0ebf
lea rdx, [rsp + 0x230]
cmp qword [rsp + 0x248], 8
cmovae rdx, qword [rsp + 0x230]
lea rcx, [rsp + 0x208]
cmp qword [rsp + 0x220], 8
cmovae rcx, qword [rsp + 0x208]
call qword [sym.imp.MSVCR90.dll__wcsnicmp]
test eax, eax
jne 0x1400c0ebf
lea rdx, str.path
mov rcx, rsi
call fcn.1400b9d10
lea rcx, [0x140260a70]
cmp rax, rcx
jne 0x1400c0f14
lea rcx, [rsp + 0x200]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x250]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x228]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
test rbp, rbp
jne 0x1400c0efb
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x1400c0eff
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x20]
jb 0x1400c0f0b
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add rdi, 0x28
jmp 0x1400c0c80
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x110]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
lea rdx, str.path
mov rcx, rsi
call fcn.1400b9d10
mov rcx, rax
lea rdx, [rsp + 0xc8]
call fcn.1400b8d30
nop
cmp qword [rax + 0x20], 0x10
jb 0x1400c0f59
mov rbx, qword [rax + 8]
jmp 0x1400c0f5d
lea rbx, [rax + 8]
mov rdx, qword [r15 + 0x10]
lea rcx, [rsp + 0x110]
call fcn.140002150
mov rcx, rax
lea rdx, [0x1401e49b8]
call fcn.1400023c0
mov rcx, rax
mov rdx, rbx
call fcn.1400023c0
nop
lea rcx, [rsp + 0xc8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x110]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64]
nop
lea rcx, [rsp + 0xc8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x110]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
nop
lea rcx, [rsp + 0x200]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x250]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x228]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x40]
call fcn.140009ed0
nop
test r13, r13
je 0x1400c1029
mov rcx, r13
call fcn.1400b8ac0
mov rcx, r13
call sub.MSVCR90.dll_void___cdecl_operator_delete_void____ptr64_
nop
test r12, r12
je 0x1400c103d
cmp r12, 0xffffffffffffffff
je 0x1400c103d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x1400c10b9
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x1400c1071
mov rsi, qword [rsp + 0x60]
cmp rbx, rsi
je 0x1400c1067
mov rcx, rbx
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
add rbx, 0x28
cmp rbx, rsi
jne 0x1400c1055
mov rcx, qword [rsp + 0x58]
call sub.MSVCR90.dll_void___cdecl_operator_delete_void____ptr64_
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x40]
call sub.MSVCR90.dll_void___cdecl_operator_delete_void____ptr64_
nop
test r13, r13
je 0x1400c10a3
mov rcx, r13
call fcn.1400b8ac0
mov rcx, r13
call sub.MSVCR90.dll_void___cdecl_operator_delete_void____ptr64_
nop
test r12, r12
je 0x1400c10b7
cmp r12, 0xffffffffffffffff
je 0x1400c10b7
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.140155650
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret