Function at 0x140003660
Capabilities:
Query service status
Stop service

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x418
mov qword [rsp + 0x398], 0xfffffffffffffffe
mov byte [rsp + 0x20], 0
mov r8d, 4
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x1400036a1
xor al, al
jmp 0x140003cec
mov rax, qword [rsp + 0x420]
cmp qword [rax + 0x20], 0x10
jb 0x1400036c6
mov rax, qword [rsp + 0x420]
mov rax, qword [rax + 8]
mov qword [rsp + 0x3a0], rax
jmp 0x1400036da
mov rax, qword [rsp + 0x420]
add rax, 8
mov qword [rsp + 0x3a0], rax
mov r8d, 0xf01ff
mov rdx, qword [rsp + 0x3a0]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x1400037ab
mov r8, qword [rsp + 0x420]
lea rdx, [0x14003aca0]
lea rcx, [rsp + 0x68]
call fcn.14000dd40
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x3b0], rax
lea r8, str.__was_not_registered_as_a_NT_Service
mov rdx, qword [rsp + 0x3b0]
lea rcx, [rsp + 0x90]
call fcn.14000de50
mov qword [rsp + 0x3b8], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x3c0], rax
mov rcx, qword [rsp + 0x3c0]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x90]
call fcn.1400099b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x68]
call fcn.1400099b0
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x140003cec
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x140003853
lea rax, [rsp + 0x248]
mov qword [rsp + 0x250], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xb8]
call fcn.1400099b0
lea rcx, str.__failed_to_query_service_status
call fcn.140018050
mov qword [rsp + 0x258], rax
mov r8, qword [rsp + 0x258]
lea rdx, str.__failed_to_query_service_status
lea rcx, [rsp + 0xb8]
call fcn.14000aae0
nop
lea rcx, [rsp + 0xb8]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xb8]
call fcn.1400099b0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x140003cec
cmp dword [rsp + 0x44], 1
jne 0x140003916
mov r8, qword [rsp + 0x420]
lea rdx, [0x14003ac48]
lea rcx, [rsp + 0xe0]
call fcn.14000dd40
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0x3d0], rax
lea r8, str._has_already_stopped
mov rdx, qword [rsp + 0x3d0]
lea rcx, [rsp + 0x108]
call fcn.14000de50
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x3d8]
mov qword [rsp + 0x3e0], rax
mov rcx, qword [rsp + 0x3e0]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x108]
call fcn.1400099b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xe0]
call fcn.1400099b0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov al, 1
jmp 0x140003cec
mov r8, qword [rsp + 0x420]
lea rdx, str.__stopping_:
lea rcx, [rsp + 0x130]
call fcn.14000dd40
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x3f0], rax
mov rcx, qword [rsp + 0x3f0]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x130]
call fcn.1400099b0
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_ControlService]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x1400039fb
mov r8, qword [rsp + 0x420]
lea rdx, str.__Failed_to_stop:
lea rcx, [rsp + 0x158]
call fcn.14000dd40
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x400], rax
mov rcx, qword [rsp + 0x400]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x158]
call fcn.1400099b0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x140003cec
lea rax, [rsp + 0x260]
mov qword [rsp + 0x268], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x180]
call fcn.1400099b0
lea rcx, str.__waiting_for_the_state_change
call fcn.140018050
mov qword [rsp + 0x270], rax
mov r8, qword [rsp + 0x270]
lea rdx, str.__waiting_for_the_state_change
lea rcx, [rsp + 0x180]
call fcn.14000aae0
nop
lea rcx, [rsp + 0x180]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x180]
call fcn.1400099b0
mov dword [rsp + 0x60], 0
jmp 0x140003a83
mov eax, dword [rsp + 0x60]
add eax, 1
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x1e
jge 0x140003c61
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x140003b36
lea rax, [rsp + 0x290]
mov qword [rsp + 0x298], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1a8]
call fcn.1400099b0
lea rcx, str.__failed_to_query_service_status_while_waiting_for_the_status_change
call fcn.140018050
mov qword [rsp + 0x2a0], rax
mov r8, qword [rsp + 0x2a0]
lea rdx, str.__failed_to_query_service_status_while_waiting_for_the_status_change
lea rcx, [rsp + 0x1a8]
call fcn.14000aae0
nop
lea rcx, [rsp + 0x1a8]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x1a8]
call fcn.1400099b0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x140003cec
cmp dword [rsp + 0x44], 1
jne 0x140003bde
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x2c8], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1d0]
call fcn.1400099b0
lea rcx, str.__stopped.
call fcn.140018050
mov qword [rsp + 0x2f0], rax
mov r8, qword [rsp + 0x2f0]
lea rdx, str.__stopped.
lea rcx, [rsp + 0x1d0]
call fcn.14000aae0
nop
lea rcx, [rsp + 0x1d0]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x1d0]
call fcn.1400099b0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov al, 1
jmp 0x140003cec
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rsp + 0x318]
mov qword [rsp + 0x320], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1f8]
call fcn.1400099b0
lea rcx, [0x14003ab80]
call fcn.140018050
mov qword [rsp + 0x328], rax
mov r8, qword [rsp + 0x328]
lea rdx, [0x14003ab80]
lea rcx, [rsp + 0x1f8]
call fcn.14000aae0
nop
lea rcx, [rsp + 0x1f8]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x1f8]
call fcn.1400099b0
jmp 0x140003a78
lea rax, [rsp + 0x348]
mov qword [rsp + 0x350], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.1400099b0
lea rcx, str.__Failed_to_stop_the_service
call fcn.140018050
mov qword [rsp + 0x358], rax
mov r8, qword [rsp + 0x358]
lea rdx, str.__Failed_to_stop_the_service
lea rcx, [rsp + 0x220]
call fcn.14000aae0
nop
lea rcx, [rsp + 0x220]
call fcn.1400019b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x220]
call fcn.1400099b0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
add rsp, 0x418
ret