Function at 0x140037250
Capabilities:
Query service status
Resolve function by parsing pe exports
Stop service

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x4c8
mov rax, qword [0x1400dd078]
xor rax, rsp
mov qword [rsp + 0x4b0], rax
mov byte [rsp + 0x20], 0
xor edx, edx
lea rcx, [rsp + 0x24]
call fcn.14004b8b0
nop
mov r8d, 0xf003f
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jne 0x140037359
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
mov edx, 1
lea rcx, [rsp + 0x120]
call fcn.14003aba0
nop
lea rdx, [0x1400c6828]
lea rcx, [rsp + 0x120]
call fcn.14001d2a0
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
call fcn.140005ba0
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0x120]
call fcn.14003aac0
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0xd8]
call fcn.14002d0f0
lea rdx, [0x1400da9c8]
lea rcx, [rsp + 0xd8]
call fcn.140065380
nop
lea rcx, [rsp + 0x410]
call fcn.140019710
lea rcx, [rsp + 0x120]
call fcn.14002d320
jmp 0x1400376e5
mov rcx, qword [rsp + 0x4d8]
call fcn.1400196d0
mov r8d, 0x24
mov rdx, rax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x1400374d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x424
jne 0x1400373a2
mov byte [rsp + 0x20], 1
jmp 0x1400374cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x3c], eax
mov edx, 1
lea rcx, [rsp + 0x210]
call fcn.14003aba0
nop
lea rdx, [0x1400c68e0]
lea rcx, [rsp + 0x210]
call fcn.14001d2a0
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x4d8]
call fcn.1400196d0
mov rdx, rax
lea rcx, [rsp + 0x430]
call fcn.1400426d0
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.140017ba0
lea rdx, [0x1400c6818]
mov rcx, rax
call fcn.14001d2a0
mov qword [rsp + 0x88], rax
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x88]
call fcn.140005ba0
nop
lea rcx, [rsp + 0x430]
call fcn.140019710
lea rdx, [rsp + 0x450]
lea rcx, [rsp + 0x210]
call fcn.14003aac0
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0xf0]
call fcn.14002d0f0
lea rdx, [0x1400da9c8]
lea rcx, [rsp + 0xf0]
call fcn.140065380
nop
lea rcx, [rsp + 0x450]
call fcn.140019710
lea rcx, [rsp + 0x210]
call fcn.14002d320
nop
jmp 0x1400376da
lea r8, [rsp + 0x3f0]
mov edx, 1
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x140037647
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x426
je 0x14003763d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x40], eax
mov edx, 1
lea rcx, [rsp + 0x300]
call fcn.14003aba0
nop
lea rdx, [0x1400c68a8]
lea rcx, [rsp + 0x300]
call fcn.14001d2a0
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x4d8]
call fcn.1400196d0
mov rdx, rax
lea rcx, [rsp + 0x470]
call fcn.1400426d0
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
call fcn.140017ba0
lea rdx, [0x1400c68c8]
mov rcx, rax
call fcn.14001d2a0
mov qword [rsp + 0xc0], rax
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0xc0]
call fcn.140005ba0
nop
lea rcx, [rsp + 0x470]
call fcn.140019710
lea rdx, [rsp + 0x490]
lea rcx, [rsp + 0x300]
call fcn.14003aac0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x108]
call fcn.14002d0f0
lea rdx, [0x1400da9c8]
lea rcx, [rsp + 0x108]
call fcn.140065380
nop
lea rcx, [rsp + 0x490]
call fcn.140019710
lea rcx, [rsp + 0x300]
call fcn.14002d320
jmp 0x140037642
mov byte [rsp + 0x20], 1
jmp 0x1400376cf
cmp dword [rsp + 0x3f4], 1
jne 0x140037658
mov byte [rsp + 0x20], 1
jmp 0x1400376cf
cmp dword [rsp + 0x4e0], 0
jle 0x1400376cf
mov eax, dword [rsp + 0x4e0]
cdq
mov ecx, 0x64
idiv ecx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x28], 0
jmp 0x140037689
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x28], eax
jae 0x1400376cf
lfence
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rsp + 0x3f0]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x1400376bc
jmp 0x1400376cf
cmp dword [rsp + 0x3f4], 1
jne 0x1400376cd
mov byte [rsp + 0x20], 1
jmp 0x1400376cf
jmp 0x14003767f
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
movzx eax, byte [rsp + 0x20]
mov byte [rsp + 0x21], al
lea rcx, [rsp + 0x24]
call fcn.14004bc00
movzx eax, byte [rsp + 0x21]
mov rcx, qword [rsp + 0x4b0]
xor rcx, rsp
call fcn.1400620b0
add rsp, 0x4c8
ret