Function at 0x140015930
Capabilities:
Create service
Modify service

Disassembly:
push rsi
sub rsp, 0x1a0
mov rax, qword [0x1400a0f20]
xor rax, rsp
mov qword [rsp + 0x190], rax
lea rdx, str.Installing_service_..._n
mov ecx, 1
call fcn.140002470
xor edx, edx
lea rcx, [rsp + 0x80]
mov r8d, 0x104
call sym.NetMonitor.exe_nocrt_memset
mov r8d, 0x104
lea rdx, [rsp + 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rsi, rax
test rax, rax
jne 0x1400159bb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Could_not_open_SCM__Error:__ld_n
call fcn.140001d30
lea eax, [rsi + 1]
jmp 0x140015b8e
mov qword [rsp + 0x1b0], rbx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x1b8], rbp
lea rbx, [0x140062360]
xor ebp, ebp
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x60], rbp
lea rdx, str.NetMonitor
mov qword [rsp + 0x58], rbp
mov r9d, 0xf01ff
mov qword [rsp + 0x50], rbp
mov r8, rbx
mov qword [rsp + 0x48], rbp
mov rcx, rsi
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0x110
call qword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov rdi, rax
test rax, rax
je 0x140015a4e
lea rdx, str.Service_successfully_installed__n
xor ecx, ecx
call fcn.140002470
jmp 0x140015b16
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
je 0x140015a67
lea rbx, str.Could_not_create_service__Error:__ld_n
jmp 0x140015b06
lea rdx, str.Service_already_exists__just_updating_the_service_config._n
mov ecx, 1
call fcn.140002470
mov r8d, 0xf01ff
lea rdx, str.NetMonitor
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rdi, rax
test rax, rax
je 0x140015af9
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x48], rbp
mov r9d, 1
mov qword [rsp + 0x40], rbp
mov edx, 0x110
mov qword [rsp + 0x38], rbp
mov rcx, rdi
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
lea r8d, [r9 + 2]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigA]
test eax, eax
je 0x140015af0
lea rdx, str.The_service_config_has_been_successfully_updated._n
mov ecx, 1
call fcn.140002470
jmp 0x140015b16
lea rbx, str.Could_not_change_service_config__Error:__ld_n
jmp 0x140015b00
lea rbx, str.Could_not_open_service__Error:__ld_n
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call fcn.140001d30
mov ebx, eax
test eax, eax
jne 0x140015b62
mov rax, qword [0x1400a4bd0]
test rax, rax
je 0x140015b60
lea rcx, str.Manages_VM_runtime_information__time_synchronization__guest_control_execution_and_miscellaneous_utilities_for_guest_operating_systems.
mov edx, 1
mov qword [rsp + 0x70], rcx
lea r8, [rsp + 0x70]
mov rcx, rdi
call qword [case.0x14004be35.0]
test eax, eax
jne 0x140015b60
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Cannot_set_the_service_description__Error:__ld_n
call fcn.140001d30
mov ebx, 1
jmp 0x140015b62
mov ebx, ebp
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rdi, qword [rsp + 0x1c0]
mov eax, ebx
mov rbx, qword [rsp + 0x1b0]
mov rbp, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.140001250
add rsp, 0x1a0
pop rsi
ret