Function at 0x1400a1500
Capabilities:
Continue service
Query service status
Stop service

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x140138010]
xor rax, rsp
mov qword [rbp + 0xd8], rax
mov rdi, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov rdx, qword [rax]
lea rsi, str.D:_apia_desktoppia_desktopdaemon_srcwin.._.._.._extras_installer_win_service.inl
lea r14, [0x1400fc9c5]
mov eax, dword [rcx + rdx]
cmp dword [0x140147200], eax
jg 0x1400a1a5e
mov eax, dword [0x140138870]
mov r12d, 0x7fffffff
cmp eax, r12d
sete bl
mov byte [rsp + 0x30], bl
mov ecx, 0x7530
test bl, bl
cmovne eax, ecx
mov dword [0x140138870], eax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
mov r8d, 0x73
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
lea rdx, str.Stopping_service
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
lea r15, [0x1400fc9c5]
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r15
mov r8d, 0x78
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
lea rdx, str.Sending_stop_signal_to_service
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
lea r8, [rbp - 0x80]
mov edx, 1
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x1400a1840
call qword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 0x41c
je 0x1400a1693
sub eax, 9
jne 0x1400a174d
mov ecx, dword [rbp - 0x7c]
lea eax, [rcx - 2]
cmp eax, 1
ja 0x1400a16d9
mov eax, dword [0x140138870]
test eax, eax
jle 0x1400a18ed
sub eax, 0x12c
mov dword [0x140138870], eax
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x1400a1884
jmp 0x1400a1693
cmp ecx, 4
je 0x1400a1600
cmp ecx, 1
je 0x1400a17c8
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
mov r8d, 0x9a
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
mov r8d, dword [rbp - 0x7c]
lea rdx, str.Service_in_unrecognized_state__d
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
jmp 0x1400a1a12
sub eax, 1
je 0x1400a17c8
cmp eax, 0xa
jne 0x1400a1884
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
mov r8d, 0xa2
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
lea rdx, str.Service_marked_for_deletion
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
mov eax, 0x32
jmp 0x1400a1a21
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
mov r8d, 0x9f
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
lea rdx, str.Service_already_stopped
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
mov eax, 0x20
jmp 0x1400a1a21
mov ecx, dword [rbp - 0x7c]
lea eax, [rcx - 3]
cmp eax, 1
ja 0x1400a195a
mov eax, dword [0x140138870]
test eax, eax
jle 0x1400a18ed
sub eax, 0x12c
mov dword [0x140138870], eax
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x1400a1840
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
mov r8d, reloc.msi.dll_MsiGetComponentPathW
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Failed_to_stop_service___d_
mov rcx, rdi
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
jmp 0x1400a1a12
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
mov r8d, MsiGetComponentPathW
lea rdx, [rsp + 0x20]
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
lea rdx, str.Service_stop_timed_out
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
mov eax, 0x33
jmp 0x1400a1a21
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
lea rdx, [rsp + 0x20]
cmp ecx, 1
lea rcx, [rsp + 0x60]
jne 0x1400a19c9
mov r8d, 0x83
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
lea rdx, str.Service_has_stopped
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
mov eax, 0x1e
jmp 0x1400a1a21
mov r8d, MsiSetPropertyW
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, [r9 + 3]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
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]
nop
mov r8d, dword [rbp - 0x7c]
lea rdx, str.Service_stop_failed__in_state__d
mov rcx, rax
call qword [sym.imp.kapps_core.dll_public:_class_kapps::core::LogWriter____ptr64___cdecl_kapps::core::LogWriter::macroParams_char_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogWriter::destructor_void____ptr64]
mov eax, 0x1f
mov ecx, dword [0x140138870]
test bl, bl
cmovne ecx, r12d
mov dword [0x140138870], ecx
mov rcx, qword [rbp + 0xd8]
xor rcx, rsp
call fcn.1400cdb50
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea rcx, [0x140147200]
call fcn.1400cdd3c
cmp dword [0x140147200], 0xffffffff
jne 0x1400a1563
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r14
lea rax, str.win.service
mov qword [rsp + 0x40], rax
lea rax, [0x1400fc7db]
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
lea rcx, [0x140147278]
call qword [sym.imp.kapps_core.dll_public:_void___cdecl_kapps::core::LogCategory::constructor_class_kapps::core::BasicStringSlice_char__struct_std::char_traits_char___const____ptr64__class_kapps::core::BasicStringSlice_char__struct_std::char_traits_char___const____ptr64____ptr64]
nop
lea rcx, [0x140147200]
call fcn.1400cdcdc
jmp 0x1400a1563