Function at 0x1400a0e20
Capabilities:
Query service status
Start 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 esi, edx
mov rdi, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov r8, qword [rax]
lea r14, str.D:_apia_desktoppia_desktopdaemon_srcwin.._.._.._extras_installer_win_service.inl
lea r15, [0x1400fc9c5]
mov eax, dword [rcx + r8]
cmp dword [0x140147290], eax
jg 0x1400a11b0
mov eax, dword [0x140138870]
mov r12d, 0x7fffffff
cmp eax, r12d
sete bl
mov byte [rsp + 0x30], bl
test bl, bl
cmovne eax, esi
mov dword [0x140138870], eax
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
je 0x1400a1039
nop dword [rax]
mov eax, dword [0x140138870]
test eax, eax
jle 0x1400a0fcc
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 0x1400a1039
mov eax, dword [rbp - 0x7c]
cmp eax, 2
je 0x1400a0ec0
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r15
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
cmp eax, 4
je 0x1400a0f73
mov r8d, 0x4b
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_didnt_start
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, 0x15
jmp 0x1400a1173
mov r8d, 0x4e
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_successfully_started
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, 0x14
jmp 0x1400a1173
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r15
mov r8d, 0x52
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_start_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 0x1400a1173
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, eax
sub ecx, 0x420
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r15
lea rdx, [rsp + 0x20]
je 0x1400a111a
cmp ecx, 0x10
lea rcx, [rsp + 0x60]
je 0x1400a10c4
mov r8d, 0x5f
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, edi
lea rdx, str.Failed_to_start_service___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, 0x15
jmp 0x1400a1173
mov r8d, 0x5c
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__reboot_needed
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 0x1400a1173
mov r8d, 0x59
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_running
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, 0x16
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, [0x140147290]
call fcn.1400cdd3c
cmp dword [0x140147290], 0xffffffff
jne 0x1400a0e86
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r15
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, [0x140147220]
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, [0x140147290]
call fcn.1400cdcdc
jmp 0x1400a0e86