Function at 0x140028870
Capabilities:
Create service
Delete service
Modify service
Persist via windows service
Query service status
Start service

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7b0]
sub rsp, 0x8b0
mov rax, qword [0x1402f2080]
xor rax, rsp
mov qword [rbp + 0x7a0], rax
xor ebx, ebx
lea rax, str.CGenericService::DefaultMainHandler.
mov qword [rsp + 0x30], rax
lea r15, [0x14022aa38]
mov r13, rcx
mov qword [rsp + 0x28], r15
lea r8, [0x140303c50]
mov qword [rsp + 0x20], rbx
lea r9d, [rbx + 2]
lea edx, [rbx + 0x73]
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
call fcn.1400189f0
lea edi, [rbx + 2]
call fcn.14017d6c0
mov r12d, 1
cmp dword [rax], r12d
jle 0x140028975
mov esi, r12d
call fcn.14017d6c0
cmp dword [rax], r12d
jle 0x140028975
lea r14d, [rbx + 8]
mov r15d, 0xfffd
nop
call fcn.14017d6c8
mov rcx, qword [rax]
mov rdx, qword [r14 + rcx]
movzx eax, word [rdx]
sub ax, 0x2d
test r15w, ax
jne 0x14002895f
lea r15, [rdx + 2]
mov rcx, r15
lea rdx, str.Install
call fcn.140172d7c
test eax, eax
jne 0x140028944
mov edi, ebx
jmp 0x140028959
lea rdx, str.Uninstall
mov rcx, r15
call fcn.140172d7c
test eax, eax
cmove edi, r12d
mov r15d, 0xfffd
inc esi
add r14, 8
call fcn.14017d6c0
cmp esi, dword [rax]
jl 0x140028910
lea r15, [0x14022aa38]
test edi, edi
je 0x140028bb6
sub edi, r12d
je 0x140028a8a
cmp edi, r12d
jne 0x140028fff
lea rax, str.Executing_service.
mov r9d, 2
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov edx, 0xa4
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
mov r9d, 2
lea rax, str.CGenericService::Run.
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov qword [rsp + 0x20], rbx
lea edx, [r9 + 0x1e]
call fcn.1400189f0
mov rdx, qword [r13 + 8]
lea rcx, [rbp - 0x60]
mov qword [0x140301200], r13
call fcn.140021410
mov rcx, qword [rax]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rbp - 0x60]
cmp rcx, rax
je 0x140028a24
call fcn.14016e4d0
lea rax, [0x1400285a0]
mov qword [rbp - 0x78], rbx
lea rcx, [rsp + 0x78]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rbx
call qword [sym.imp.api_ms_win_service_core_l1_1_0.dll_StartServiceCtrlDispatcherW]
mov edi, eax
test eax, eax
jne 0x140029001
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9d, [rdi + 2]
lea rax, str.Failed_to_start_the_service._Error_code___d.
mov edx, 0xa8
mov qword [rsp + 0x28], rax
lea r8, [0x140303c50]
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
mov eax, edi
jmp 0x140029001
lea rax, str.Un_installing_service.
mov r9d, 2
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov edx, 0x9f
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
mov r14, qword [r13 + 8]
xor eax, eax
mov r8d, r12d
mov qword [rsp + 0x78], rax
xor edx, edx
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], eax
mov rdi, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rsi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test rsi, rsi
jne 0x140028b40
mov r9d, eax
lea r8, str.OpenSCManager_failed.
lea rdx, str._s._Error_Code___d.
lea rcx, [rbp + 0x3a0]
call fcn.140029790
lea rax, [rbp + 0x3a0]
mov r9d, r12d
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea edx, [rsi + 0x31]
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.h
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
jmp 0x140028b55
mov r8d, 0x10024
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
mov rdi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test rdi, rdi
je 0x140028f8a
lea r8, [rsp + 0x78]
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_ControlService]
test eax, eax
je 0x140028ba6
nop dword [rax]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_QueryServiceStatus]
test eax, eax
je 0x140028ba6
cmp dword [rsp + 0x7c], 3
jne 0x140028ba6
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140028b80
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_DeleteService]
mov ebx, eax
jmp 0x140028fe8
lea rax, str.Installing_service.
mov r9d, 2
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov edx, 0x93
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
mov rdi, qword [r13 + 0x10]
lea rcx, [rbp + 0x3a0]
mov r14, qword [r13 + 8]
xor edx, edx
mov r8d, 0x208
call fcn.1401659c0
mov r8d, 0x104
lea rdx, [rbp + 0x3a0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140028d1e
cmp word [rbp + 0x3a0], bx
je 0x140028d1e
xor edx, edx
mov dword [rbp - 0x60], 0x22
mov r8d, 0x204
lea rcx, [rbp - 0x5c]
call fcn.1401659c0
lea r8, [rbp + 0x3a0]
mov edx, 0x104
lea rcx, [rbp - 0x60]
call fcn.14017d4b8
lea r8, [0x140230eac]
mov edx, 0x104
lea rcx, [rbp - 0x60]
call fcn.14017d4b8
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 3]
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rsi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea r8, str.OpenSCManager_failed.
mov rdx, rsi
mov r9d, eax
call fcn.1400284d0
test rsi, rsi
je 0x140028d1e
mov qword [rsp + 0x60], rbx
lea rax, [rbp - 0x60]
mov qword [rsp + 0x58], rbx
mov r9d, 4
mov qword [rsp + 0x50], rbx
mov r8, rdi
mov qword [rsp + 0x48], rbx
mov rdx, r14
mov qword [rsp + 0x40], rbx
mov rcx, rsi
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 0x10
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CreateServiceW]
mov rdi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea r8, str.CreateService_failed.
mov rdx, rdi
mov r9d, eax
call fcn.1400284d0
test rdi, rdi
je 0x140028d15
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
lea rax, str.Setting_service_description.
mov r9d, 2
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov edx, 0x96
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
mov r15, qword [r13 + 0x18]
mov r8d, r12d
mov r14, qword [r13 + 8]
xor edx, edx
xor ecx, ecx
mov rdi, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rsi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test rsi, rsi
jne 0x140028dcd
mov r9d, eax
lea r8, str.OpenSCManager_failed.
lea rdx, str._s._Error_Code___d.
lea rcx, [rbp + 0x3a0]
call fcn.140029790
lea rax, [rbp + 0x3a0]
mov r9d, r12d
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
lea rax, [0x14022aa38]
mov qword [rsp + 0x28], rax
lea edx, [rsi + 0x31]
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.h
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
jmp 0x140028de2
mov r8d, 2
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
mov rdi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test rdi, rdi
jne 0x140028e42
mov r9d, eax
lea r8, str.OpenService_failed.
lea rdx, str._s._Error_Code___d.
lea rcx, [rbp + 0x3a0]
call fcn.140029790
lea rax, [rbp + 0x3a0]
mov r9d, r12d
mov qword [rsp + 0x30], rax
lea r15, [0x14022aa38]
mov qword [rsp + 0x28], r15
lea r8, [0x140303c50]
lea edx, [rdi + 0x31]
mov qword [rsp + 0x20], rbx
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.h
call fcn.1400189f0
jmp 0x140028eb8
lea r8, [rsp + 0x70]
mov qword [rsp + 0x70], r15
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
test eax, eax
je 0x140028e6b
mov r14d, 0x1b1
lea r15, str.Service_description_has_been_updated.
jmp 0x140028e78
mov r14d, 0x1b6
lea r15, str.ChangeServiceConfig2_failed.
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov r9d, 2
mov qword [rsp + 0x28], r15
lea r8, [0x140303c50]
mov edx, r14d
mov qword [rsp + 0x20], rbx
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
call fcn.1400189f0
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
lea r15, [0x14022aa38]
test rsi, rsi
je 0x140028ec6
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
lea rax, str.Executing_service.
mov r9d, 2
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.cpp
mov edx, 0x99
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
mov r14, qword [r13 + 8]
mov r8d, r12d
xor edx, edx
xor ecx, ecx
mov rdi, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rsi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test rsi, rsi
jne 0x140028f6a
mov r9d, eax
lea r8, str.OpenSCManager_failed.
lea rdx, str._s._Error_Code___d.
lea rcx, [rbp + 0x3a0]
call fcn.140029790
lea rax, [rbp + 0x3a0]
mov r9d, r12d
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea edx, [rsi + 0x31]
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.h
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
jmp 0x140028f7f
mov r8d, 0x10
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
mov rdi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test rdi, rdi
jne 0x140028fd4
mov r9d, eax
lea r8, str.OpenService_failed.
lea rdx, str._s._Error_Code___d.
lea rcx, [rbp - 0x60]
call fcn.140029790
lea rax, [rbp - 0x60]
mov r9d, r12d
mov qword [rsp + 0x30], rax
lea r8, [0x140303c50]
mov qword [rsp + 0x28], r15
lea rcx, str.d:jenkinsworkspacemainrel4_dell_12818consumermainrel4_dell_12818consumerplatform_vista_sharedgenericservice.h
mov edx, 0x31
mov qword [rsp + 0x20], rbx
call fcn.1400189f0
jmp 0x140028ff1
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_StartServiceW]
test eax, eax
cmovne ebx, r12d
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
test rsi, rsi
je 0x140028fff
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
mov eax, ebx
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.140146480
lea r11, [rsp + 0x8b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret