Function at 0x1400b4b10
Capabilities:
Get process image filename

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x140138010]
xor rax, rsp
mov qword [rbp + 0xf8], rax
mov rsi, r9
mov r14d, r8d
mov rbx, rdx
mov qword [rsp + 0x28], rdx
test r8d, r8d
jne 0x1400b4bf1
lea rax, str.D:_a_pia_desktop_pia_desktop_daemon_src_win_win_dnscachecontrol.cpp
mov qword [rsp + 0x28], rax
lea rax, [0x1400ffeb3]
mov qword [rsp + 0x30], rax
mov r8d, 0xc3
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::SourceLocation::constructor_class_kapps::core::BasicStringSlice_char__struct_std::char_traits_char___const____ptr64__int____ptr64]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm1
xor r9d, r9d
lea r8d, [r14 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::constructor_class_kapps::core::SourceLocation__enum_kapps::core::LogMessage::Level__class_kapps::core::LogCategory_const____ptr64____ptr64]
mov rdi, rax
cmp byte [rax + 0x128], r14b
je 0x1400b4bce
mov rcx, rax
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rcx, [rdi + 0x40]
lea rdx, str.Dnscache_service_is_not_running
call fcn.140008d80
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
xor edi, edi
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
jmp 0x1400b4f34
xor edx, edx
mov ecx, 0x1001
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdx, qword [rsi]
mov qword [rsi], rax
test rdx, rdx
je 0x1400b4c1c
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_WinCloseHandle::operator___void____ptr64____ptr64]
mov rax, qword [rsi]
test rax, rax
jne 0x1400b4d2e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
lea rax, str.D:_a_pia_desktop_pia_desktop_daemon_src_win_win_dnscachecontrol.cpp
mov qword [rsp + 0x40], rax
lea rax, [0x1400ffeb3]
mov qword [rsp + 0x48], rax
mov r8d, reloc.msi.dll_MsiSourceListClearAllW
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::SourceLocation::constructor_class_kapps::core::BasicStringSlice_char__struct_std::char_traits_char___const____ptr64__int____ptr64]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
xor r9d, r9d
lea r8d, [r9 + 3]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::constructor_class_kapps::core::SourceLocation__enum_kapps::core::LogMessage::Level__class_kapps::core::LogCategory_const____ptr64____ptr64]
mov rdi, rax
cmp byte [rax + 0x128], 0
je 0x1400b4d0b
mov rcx, rax
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rcx, [rdi + 0x40]
lea rdx, str.Cant_determine_state_of_Dnscache__unable_to_open_process
call fcn.140008d80
cmp byte [rdi + 0x128], 0
je 0x1400b4d0b
mov rcx, rdi
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
mov edx, r14d
lea rcx, [rdi + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
cmp byte [rdi + 0x128], 0
je 0x1400b4d0b
mov rcx, rdi
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rdx, [0x1400eb5b0]
lea rcx, [rdi + 0x40]
call fcn.140008d80
cmp byte [rdi + 0x128], 0
je 0x1400b4d0b
mov rcx, rdi
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rdx, [rsp + 0x28]
lea rcx, [rdi + 0x40]
call qword [sym.imp.kapps_core.dll_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_kapps::core::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64__class_kapps::core::WinErrTracer_const____ptr64_]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
xor edi, edi
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
jmp 0x1400b4f34
xor edi, edi
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], di
mov edx, 0x800
lea rcx, [rbp - 0x60]
call fcn.1400a3ef0
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rdx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x50]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameW]
test eax, eax
jne 0x1400b4ec0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
lea rax, str.D:_a_pia_desktop_pia_desktop_daemon_src_win_win_dnscachecontrol.cpp
mov qword [rsp + 0x40], rax
lea rax, [0x1400ffeb3]
mov qword [rsp + 0x48], rax
mov r8d, 0xdd
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::SourceLocation::constructor_class_kapps::core::BasicStringSlice_char__struct_std::char_traits_char___const____ptr64__int____ptr64]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
xor r9d, r9d
lea r8d, [rdi + 3]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::constructor_class_kapps::core::SourceLocation__enum_kapps::core::LogMessage::Level__class_kapps::core::LogCategory_const____ptr64____ptr64]
mov rsi, rax
cmp byte [rax + 0x128], dil
je 0x1400b4e5b
mov rcx, rax
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rcx, [rsi + 0x40]
lea rdx, str.Cant_determine_state_of_Dnscache__cant_get_name_of_process
call fcn.140008d80
cmp byte [rsi + 0x128], dil
je 0x1400b4e5b
mov rcx, rsi
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
mov edx, r14d
lea rcx, [rsi + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
cmp byte [rsi + 0x128], dil
je 0x1400b4e5b
mov rcx, rsi
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rdx, [0x1400eb5b0]
lea rcx, [rsi + 0x40]
call fcn.140008d80
cmp byte [rsi + 0x128], dil
je 0x1400b4e5b
mov rcx, rsi
call qword [sym.imp.kapps_core.dll_private:_void___cdecl_kapps::core::LogWriter::prepareForInsert_void____ptr64]
lea rdx, [rsp + 0x28]
lea rcx, [rsi + 0x40]
call qword [sym.imp.kapps_core.dll_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_kapps::core::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64__class_kapps::core::WinErrTracer_const____ptr64_]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400b4f34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b4eb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400b4eb9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cdbac
jmp 0x1400b4f34
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rcx, qword [rbp - 0x60]
call qword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea rax, [rbp - 0x60]
mov rcx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x48]
cmp r8, 8
cmovae rax, rcx
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1400b4ef0
mov rax, qword [rbp - 0x50]
cmp rdx, rax
ja 0x1400b4f19
lea rax, [rbp - 0x60]
cmp r8, 8
cmovae rax, rcx
mov qword [rbp - 0x50], rdx
mov word [rax + rdx*2], di
jmp 0x1400b4f25
sub rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400a3ef0
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbx + 0x10], xmm1
mov rax, rbx
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.1400cdb50
mov rbx, qword [rsp + 0x230]
add rsp, 0x200
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret