Function at 0x1400449e0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x510]
sub rsp, 0x610
mov rax, qword [0x1400f0158]
xor rax, rsp
mov qword [rbp + 0x500], rax
mov rdi, rcx
xor r15d, r15d
mov dword [rsp + 0x24], r15d
lea rax, [0x1400b6398]
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x30], r15
mov qword [rbp - 8], r15
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp - 0x38], rax
mov dword [rsp + 0x24], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.140007fe0
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea r12, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x40], r12
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x3c], edx
lea rax, vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x48], rax
lea ecx, [r15 + 0x10]
call fcn.140071a00
mov rbx, rax
test rax, rax
je 0x140044ab4
mov cl, 1
call fcn.1400504ac
mov qword [rbx + 8], rax
jmp 0x140044ab7
mov rbx, r15
mov qword [rbp - 0x58], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x78]
mov qword [rbp - 0x78], rax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x6c]
mov qword [rbp - 0x60], rax
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x70], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x70], r15
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x48], 4
mov dword [rsp + 0x28], r15d
lea rdx, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetNamedPipeClientProcessId]
test eax, eax
jne 0x140044c62
lea rdx, str.GetNamedPipeClientProcessId_failed._Err_
lea rcx, [rsp + 0x40]
call fcn.14001d460
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call fcn.140042640
call fcn.140005b40
mov rbx, rax
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x48], r15
mov esi, 7
mov qword [rbp + 0x50], rsi
mov word [rbp + 0x38], r15w
mov dword [rsp + 0x24], 5
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov ecx, dword [rbp - 0x48]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140044bbc
mov rax, qword [rbp - 0x78]
mov r8, qword [rax]
test r8, r8
je 0x140044bbc
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
cmp r8, qword [rbp - 0x50]
cmovb r8, qword [rbp - 0x50]
sub r8, rdx
sar r8, 1
jmp 0x140044bf2
test cl, 4
jne 0x140044bea
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
test rcx, rcx
je 0x140044bea
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x68]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
jmp 0x140044bf2
mov r8, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
test rdx, rdx
je 0x140044c04
lea rcx, [rbp + 0x38]
call fcn.140003fa0
mov rsi, qword [rbp + 0x50]
lea rdx, [rbp + 0x38]
cmp rsi, 8
cmovae rdx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.14001ed30
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x140044c5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044c55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045574
call fcn.140071a3c
xor dil, dil
jmp 0x1400454d2
mov r8d, dword [rsp + 0x28]
test r8d, r8d
je 0x140044c7d
cmp r8d, dword [0x1400fa0e8]
jne 0x140044c7d
mov dil, 1
jmp 0x1400454d2
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
mov qword [rbp + 0x30], rax
inc rax
test rax, 0xfffffffffffffffe
jne 0x140044dc9
lea rdx, str.OpenProcess_failed._Err_
lea rcx, [rsp + 0x40]
call fcn.14001d460
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rdi
call fcn.140042640
call fcn.140005b40
mov rdi, rax
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x48], r15
mov esi, 7
mov qword [rbp + 0x50], rsi
mov word [rbp + 0x38], r15w
mov dword [rsp + 0x24], select
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov ecx, dword [rbp - 0x48]
test cl, 2
je 0x140044cfe
test cl, 0x20
je 0x140044d23
mov rax, qword [rbp - 0x78]
mov r8, qword [rax]
test r8, r8
je 0x140044d23
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
cmp r8, qword [rbp - 0x50]
cmovb r8, qword [rbp - 0x50]
sub r8, rdx
sar r8, 1
jmp 0x140044d59
test cl, 4
jne 0x140044d51
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
test rcx, rcx
je 0x140044d51
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x68]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
jmp 0x140044d59
mov r8, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
test rdx, rdx
je 0x140044d6b
lea rcx, [rbp + 0x38]
call fcn.140003fa0
mov rsi, qword [rbp + 0x50]
lea rdx, [rbp + 0x38]
cmp rsi, 8
cmovae rdx, qword [rbp + 0x38]
mov rcx, rdi
call fcn.14001ed30
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x140044e7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044e77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004556e
jmp 0x140044e77
mov r9d, 0x104
lea r8, [rbp + 0xe0]
xor edx, edx
mov rcx, rbx
call sub.KERNEL32.dll_K32GetModuleFileNameExW
test eax, eax
jne 0x140044e84
lea rdx, str.GetModuleFileNameEx_failed._Err_
lea rcx, [rsp + 0x40]
call fcn.14001d460
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rdi
call fcn.140042640
call fcn.140005b40
mov rdi, rax
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.140010260
nop
cmp qword [rax + 0x18], 8
jb 0x140044e2d
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14001ed30
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x140044e7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044e77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004557a
call fcn.140071a3c
xor dil, dil
jmp 0x1400454be
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x88], r15
mov esi, 7
mov qword [rbp + 0x90], rsi
mov word [rbp + 0x78], r15w
lea r8d, [rsi + 8]
lea rdx, str.Windscribe.exe
lea rcx, [rbp + 0x78]
call fcn.140003fa0
nop
mov r8d, 0x104
lea rdx, [rbp + 0x2f0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], rsi
lea rax, [rbp + 0x2f0]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140044ef0
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x38]
call fcn.140003fa0
mov r8, rdi
lea rdx, [0x1400b847c]
lea rcx, [rbp + 0x38]
call fcn.14001e5d0
mov r14, rax
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x140044f61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044f5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045580
call fcn.140071a3c
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], rsi
mov word [rbp + 0x38], r15w
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], rsi
mov word [rbp + 0x58], r15w
lea rax, [rbp + 0x2f0]
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140044f90
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x58]
call fcn.140003fa0
nop
mov qword [rbp + 0xb8], r15
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], rsi
mov word [rbp + 0xb8], r15w
cmp qword [rbp + 0x68], r14
cmovb r14, qword [rbp + 0x68]
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 8
cmovae rdx, qword [rbp + 0x58]
mov r8, r14
lea rcx, [rbp + 0xb8]
call fcn.140003fa0
nop
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x140045031
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004502b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045580
call fcn.140071a3c
nop
lea r9, [rbp + 0x78]
lea r8, [rbp + 0xb8]
movzx edx, byte [rsp + 0x20]
lea rcx, [rbp + 0x98]
call fcn.140024290
nop
mov rdx, qword [rbp + 0xd0]
cmp rdx, 8
jb 0x140045095
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004508f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045586
call fcn.140071a3c
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x1400450d8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400450d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004558c
call fcn.140071a3c
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], rsi
lea rax, [rbp + 0xe0]
mov r8, rdi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400450f0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x38]
call fcn.140003fa0
mov r8, qword [rbp + 0xa8]
cmp qword [rbp + 0x48], r8
je 0x14004511d
mov r14b, 1
jmp 0x14004514d
lea rdx, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae rdx, qword [rbp + 0x38]
lea rcx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 8
cmovae rcx, qword [rbp + 0x98]
call fcn.140093bf4
test eax, eax
setne r14b
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x14004518d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045188
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045592
call fcn.140071a3c
test r14b, r14b
je 0x1400452b3
lea rdx, str.verifyWindscribeProcessPath_invalid_process_path:
lea rcx, [rsp + 0x40]
call fcn.14001d460
mov r14, rax
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], rsi
mov word [rbp + 0x58], r15w
lea rax, [rbp + 0xe0]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400451c2
mov r8, rdi
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x58]
call fcn.140003fa0
nop
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 8
cmovae rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x68]
mov rcx, r14
call fcn.14001dc10
nop
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x14004523b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045236
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045598
call fcn.140071a3c
call fcn.140005b40
mov rdi, rax
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.140010260
nop
cmp qword [rax + 0x18], 8
jb 0x14004525c
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14001ed30
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x1400452ab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400452a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004559e
call fcn.140071a3c
xor dil, dil
jmp 0x140045462
lea rcx, [rsp + 0x30]
call fcn.14004cac0
nop
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], rsi
mov word [rbp + 0x78], r15w
lea rax, [rbp + 0xe0]
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400452e0
mov r8, rdi
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x78]
call fcn.140003fa0
nop
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.14004cc00
test al, al
sete dil
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x140045355
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045350
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400455a4
call fcn.140071a3c
test dil, dil
je 0x14004544a
lea rdx, str.verifyWindscribeProcessPath_signature_verify_failed._Err_
lea rcx, [rsp + 0x40]
call fcn.14001d460
mov rdi, rax
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.14004cb00
nop
cmp qword [rax + 0x18], 0x10
jb 0x14004538b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14001d460
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x1400453d5
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400453d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400455aa
call fcn.140071a3c
call fcn.140005b40
mov rdi, rax
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.140010260
nop
cmp qword [rax + 0x18], 8
jb 0x1400453f6
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14001ed30
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x140045445
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045440
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400455b0
call fcn.140071a3c
xor dil, dil
jmp 0x140045457
mov eax, dword [rsp + 0x28]
mov dword [0x1400fa0e8], eax
mov dil, 1
lea rcx, [rsp + 0x30]
call fcn.1400090f0
nop
mov rdx, qword [rbp + 0xb0]
cmp rdx, 8
jb 0x1400454a8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400454a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045568
call fcn.140071a3c
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], rsi
mov word [rbp + 0x98], r15w
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400454d2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x40], r12
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x48]
call fcn.140008fe0
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x40], rax
mov rcx, qword [rsp + 0x40]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x10]
mov dword [rsp + rdx + 0x3c], r8d
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x38]
call fcn.140050f54
nop
movzx eax, dil
mov rcx, qword [rbp + 0x500]
xor rcx, rsp
call fcn.140071b40
lea r11, [rsp + 0x610]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140085c7c
nop
call fcn.140085c7c
nop
call fcn.140085c7c
nop
call fcn.140085c7c
nop
call fcn.140085c7c
nop
call fcn.140085c7c
nop
call fcn.140085c7c
int3
call fcn.140085c7c
int3
call fcn.140085c7c
int3
call fcn.140085c7c
nop
call fcn.140085c7c
int3
call fcn.140085c7c
int3
call fcn.140085c7c
int3