Function at 0x14003d6d0
Capabilities:
Query service status
Start service
Stop service

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x1400de1e0]
xor rax, rsp
mov qword [rbp + 0x47], rax
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov r8d, 0x16
lea rdx, str.IntelArcControlService
lea rcx, [rbp + 7]
call fcn.140012c90
nop
xor edx, edx
xor ecx, ecx
mov r8d, 0x20015
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rdi, rax
test rax, rax
jne 0x14003d7e9
mov edx, 8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e35b0], eax
jle 0x14003d79e
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003d79e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x15
lea rdx, str.OpenSCManager_FAILED.
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 4
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
lea rcx, [rbp - 0x19]
call fcn.14000ad90
jmp 0x14003dcf8
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 8
cmovae rdx, qword [rbp + 7]
mov r8d, 0xb4
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rbx, rax
test rax, rax
jne 0x14003d8c2
mov edx, 8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e35b0], eax
jle 0x14003d874
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003d874
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x13
lea rdx, str.OpenService_FAILED.
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 4
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
lea rcx, [rbp - 0x19]
call fcn.14000ad90
mov rcx, rdi
jmp 0x14003dcf1
lea rdx, [rbp + 0x27]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x14003d97b
mov edx, 8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e35b0], eax
jle 0x14003d939
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003d939
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x22
lea rdx, str.Failed_to_check_the_service_status
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 4
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
jmp 0x14003dcdc
cmp dword [rbp + 0x2b], 1
je 0x14003da43
lea r8, [rbp + 0x27]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x14003da43
mov edx, 8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e35b0], eax
jle 0x14003da01
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003da01
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x1a
lea rdx, str.Failed_to_stop_the_service
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 4
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
jmp 0x14003dcdc
lea rdx, [rbp + 0x27]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x14003dc3d
cmp dword [rbp + 0x2b], 1
jne 0x14003da43
mov esi, 8
mov rax, qword gs:[0x58]
add rsi, qword [rax]
mov eax, dword [rsi]
cmp dword [0x1400e35b0], eax
jle 0x14003dabf
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003dabf
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x16
lea rdx, str.ArcControl_Svc_stopped
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 1
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
lea rcx, [rbp - 0x19]
call fcn.14000ad90
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
mov ecx, dword [rsi]
test eax, eax
jne 0x14003dbad
cmp dword [0x1400e35b0], ecx
jle 0x14003db6b
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003db6b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x1f
lea rdx, str.ArcControl_SERVICE_start_failed
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 4
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
jmp 0x14003dcdc
cmp dword [0x1400e35b0], ecx
jle 0x14003dbfb
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003dbfb
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x16
lea rdx, str.ArcControl_Svc_Started
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 1
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
jmp 0x14003dcdc
mov edx, 8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e35b0], eax
jle 0x14003dc9f
lea rcx, [0x1400e35b0]
call fcn.1400a50d0
cmp dword [0x1400e35b0], 0xffffffff
jne 0x14003dc9f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400e3598], xmm0
mov qword [0x1400e35a8], rax
call fcn.1400444b0
lea rcx, [0x1400ad430]
call fcn.1400a4fc4
nop
lea rcx, [0x1400e35b0]
call fcn.1400a5064
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x22
lea rdx, str.Failed_to_check_the_service_status
lea rcx, [rbp - 0x19]
call fcn.14000b750
nop
mov r8d, 4
lea rdx, [rbp - 0x19]
lea rcx, [0x1400e3598]
call fcn.14003e280
nop
lea rcx, [rbp - 0x19]
call fcn.14000ad90
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
nop
lea rcx, [rbp + 7]
call fcn.14000ad20
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1400a4d30
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret