Function at 0x180029cc0
Capabilities:
Pause service
Query service status
Stop service

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x180112440]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov r14, rcx
xor r15d, r15d
mov qword [rbp - 0x41], r15
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x39], r15
lea rax, str.Try_to_stop_service..
mov qword [rbp - 9], rax
mov qword [rbp - 1], 0x15
movups xmm0, xmmword [rbp - 0x49]
movaps xmmword [rbp - 0x79], xmm0
movsd xmm1, qword [rbp - 0x39]
movsd qword [rbp - 0x69], xmm1
lea r9, [rbp - 9]
lea r8d, [r15 + 2]
lea rdx, [rbp - 0x79]
mov rcx, qword [rcx]
call fcn.180016360
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rdi, rax
mov qword [rbp + 0x37], rax
test rax, rax
jne 0x180029dc0
mov rbx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x59], eax
mov qword [rbp - 0x71], r15
lea rax, str._:x__Failed_to_open_SCManager
mov qword [rbp - 9], rax
mov qword [rbp - 1], 0x1f
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
movaps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x49], xmm0
movups xmm1, xmmword [rbp - 0x79]
movaps xmmword [rbp - 9], xmm1
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbp + 7], xmm0
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x49]
lea r8d, [r15 + 4]
lea rdx, [rbp - 9]
mov rcx, rbx
call fcn.18000c6c0
xor sil, sil
jmp 0x18002a035
lea rdx, [r14 + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x180029dce
mov rdx, qword [rdx]
mov r8d, 0x24
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rbx, rax
mov qword [rbp - 9], rax
test rax, rax
jne 0x180029e38
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x59], eax
mov rcx, qword [r14]
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
lea r9, [rbp - 0x49]
lea rdx, [rbp - 0x29]
cmp eax, 0x424
jne 0x180029e24
lea rax, str.Service_not_found._No_need_to_stop.
mov qword [rbp - 0x41], 0x23
jmp 0x18002a002
lea rax, str.___Failed_to_open_service._Cannot_stop.
mov qword [rbp - 0x41], 0x29
jmp 0x180029f12
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x27], rax
mov dword [rbp + 0x2f], eax
lea rdx, [rbp + 0x17]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x180029e79
mov rsi, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x59], eax
lea rax, str._:x__Unable_to_query_service_status
mov qword [rbp - 0x41], 0x25
jmp 0x180029efb
cmp dword [rbp + 0x1b], 1
je 0x180029fdc
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
lea rax, str.Service_is_still_running__stopping_it_first.
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0x2c
movups xmm0, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x29], xmm0
movsd xmm1, qword [rbp - 0x69]
movsd qword [rbp - 0x19], xmm1
lea r9, [rbp - 0x49]
mov r8d, 2
lea rdx, [rbp - 0x29]
mov rcx, qword [r14]
call fcn.180016360
lea r8, [rbp + 0x17]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x180029f4d
mov rsi, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x59], eax
lea rax, str._:x__Unable_to_stop_service.
mov qword [rbp - 0x41], 0x1e
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
lea r9, [rbp - 0x49]
lea rdx, [rbp - 0x29]
mov rcx, rsi
mov qword [rbp - 0x49], rax
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
lea rax, [rbp - 0x59]
movsd xmm0, qword [rbp - 0x69]
movups xmm1, xmmword [rbp - 0x79]
mov r8d, 4
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x19], xmm0
movaps xmmword [rbp - 0x29], xmm1
call fcn.18000c6c0
xor sil, sil
jmp 0x18002a026
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rsi, rax
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
lea rax, str.Waiting_for_service_to_stop.
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0x1c
movups xmm0, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x29], xmm0
movsd xmm1, qword [rbp - 0x69]
movsd qword [rbp - 0x19], xmm1
lea r9, [rbp - 0x49]
mov r8d, 2
lea rdx, [rbp - 0x29]
mov rcx, qword [r14]
call fcn.180016360
cmp dword [rbp + 0x1b], 1
je 0x180029fdc
mov ecx, dword [rbp + 0x2f]
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp + 0x17]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x18002a0b9
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, rsi
cmp rax, 0x2710
ja 0x18002a070
cmp dword [rbp + 0x1b], 1
jne 0x180029fa3
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
lea rax, str.Service_stopped_successfully.
mov qword [rbp - 0x41], 0x1d
lea r9, [rbp - 0x49]
lea rdx, [rbp - 0x29]
mov rcx, qword [r14]
movups xmm0, xmmword [rbp - 0x79]
movsd xmm1, qword [rbp - 0x69]
mov qword [rbp - 0x49], rax
movaps xmmword [rbp - 0x29], xmm0
movsd qword [rbp - 0x19], xmm1
mov r8d, 2
call fcn.180016360
mov sil, 1
test rbx, rbx
je 0x18002a035
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
nop
test rdi, rdi
je 0x18002a043
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
movzx eax, sil
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.180085510
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov qword [rbp - 0x71], r15
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
lea rax, str.Waited_for_more_than_10_seconds__giving_up.
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0x2b
movups xmm0, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x29], xmm0
movsd xmm1, qword [rbp - 0x69]
movsd qword [rbp - 0x19], xmm1
lea r9, [rbp - 0x49]
mov r8d, 4
lea rdx, [rbp - 0x29]
mov rcx, qword [r14]
call fcn.180016360
jmp 0x18002a11e
mov rsi, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x59], eax
mov qword [rbp - 0x71], r15
lea rax, str._:x__Unable_to_obtain_current_service_status.
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0x2f
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
movups xmm1, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x29], xmm1
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbp - 0x19], xmm0
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x49]
mov r8d, 4
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.18000c6c0
cmp dword [rbp + 0x1b], 1
je 0x180029fdc
xor sil, sil
jmp 0x18002a026