Function at 0x14000c720
Capabilities:
Start service

Disassembly:
mov dword ss:[rsp + 0x18], r8d
push rbx
push rbp
push rdi
push r12
push r13
sub rsp, 0x60
mov r12, rcx
mov ebp, r8d
lea rax, str.EnableServiceProgressDialog
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov r13, rdx
mov qword [rsp + 0x40], 0x36
mov dil, 1
call sym.SystemInformer.exe_Ordinal_1886
test ebp, ebp
je 0x14000c8ba
test eax, eax
je 0x14000c8c8
test ebp, ebp
je 0x14000c791
mov rcx, r13
mov edx, ebp
nop
mov rax, qword [rcx]
lock inc dword [rax - 8]
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x14000c780
test byte [0x1402bc328], dil
jne 0x14000c832
lock bts qword [0x1402bc328], 0x1f
setb al
test al, al
jne 0x14000c81b
mov rdx, qword [0x1402c5fd0]
mov ecx, 0x40
call sym.SystemInformer.exe_Ordinal_1240
xor ecx, ecx
mov r8, rax
mov word [rax], cx
mov eax, 1
lock xadd dword [0x1402c5f98], eax
movzx edx, al
lea rax, [0x14000c5e0]
mov qword [r8 + 8], rax
lea rax, str.ServiceProgressObjectType
mov qword [r8 + 0x10], rax
lea rax, [0x1402ca480]
mov dword [r8 + 4], ecx
lea rcx, [0x1402bc328]
mov qword [rax + rdx*8], r8
mov byte [r8 + 2], dl
mov qword [0x1402c62c8], r8
call sym.SystemInformer.exe_Ordinal_1386
jmp 0x14000c832
test byte [0x1402bc328], dil
jne 0x14000c832
xor edx, edx
lea rcx, [0x1402bc328]
call sym.SystemInformer.exe_Ordinal_1388
mov rdx, qword [0x1402c62c8]
mov ecx, 0x60
call sym.SystemInformer.exe_Ordinal_1240
mov rbx, rax
lea r9, str.Starting_a_service_might_prevent_the_system_from_functioning_properly.
xorps xmm0, xmm0
mov ecx, ebp
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
and byte [rbx + 0x45], 0xfe
mov qword [rax + 8], r12
lea rax, str.start
mov qword [rbx + 0x18], rax
lea rax, [0x14000c680]
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x20], r9
mov dword [rbx + 0x58], 1
call sym.SystemInformer.exe_Ordinal_1326
mov r8d, ebp
mov qword [rbx + 0x38], rax
mov rdx, r13
mov rcx, rax
call sym.SystemInformer.exe_Ordinal_1276
mov rdx, rbx
lea rcx, [0x14000c2e0]
call sym.SystemInformer.exe_Ordinal_1333
xor al, al
add rsp, 0x60
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
lea rax, str.EnableWarnings
mov qword [rsp + 0x40], 0x1c
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
call sym.SystemInformer.exe_Ordinal_1886
test eax, eax
je 0x14000c91f
lea rax, str.the_selected_services
mov byte [rsp + 0x20], 0
cmp ebp, 1
lea r8, str.the_selected_service
lea r9, str.Starting_a_service_might_prevent_the_system_from_functioning_properly.
mov rcx, r12
cmovne r8, rax
lea rdx, str.start
call sym.SystemInformer.exe_Ordinal_1695
test al, al
je 0x14000c8ba
xor ebx, ebx
mov dword [rsp + 0x38], ebx
test ebp, ebp
je 0x14000ce8d
mov qword [rsp + 0x90], rsi
lea rsi, str.Unable_to_start
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r15
nop word [rax + rax]
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14000c963
mov r8, qword [rcx + 8]
jmp 0x14000c966
mov r8, rbx
mov edx, 0x10
lea rcx, [rsp + 0x40]
call sym.SystemInformer.exe_Ordinal_1936
mov ebp, eax
test eax, eax
js 0x14000c9cf
mov rbx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, rbx
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x14000c9fe
cmp dword [0x1402bbf68], 0xffffffff
jae 0x14000c9ae
mov rax, qword gs:[0x30]
mov rbx, qword [rsp + 0x40]
mov eax, dword [rax + 0x68]
jmp 0x14000c9b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call sym.SystemInformer.exe_Ordinal_1343
mov ebp, eax
test eax, eax
jns 0x14000c9fe
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor ebx, ebx
xor dil, dil
mov byte [rsp + 0xa8], dil
cmp byte [rsp + 0x30], dil
jne 0x14000ce7b
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14000ca14
mov r14, qword [rcx + 8]
jmp 0x14000ca17
mov rcx, rbx
mov byte [rsp + 0xa8], 1
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14000ce53
mov r14, rbx
mov rax, rsi
mov rcx, rsi
and rax, 0xfffffffffffffff1
xorps xmm1, xmm1
and ecx, 0xf
je 0x14000ca4d
movdqu xmm0, xmmword ds:[rax]
pcmpeqw xmm0, xmm1
pmovmskb edx, xmm0
shr edx, cl
bsf ecx, edx
mov dword [rsp + 0x34], ecx
je 0x14000ca49
mov eax, ecx
shr rax, 1
jmp 0x14000ca8a
add rax, 0x10
movdqu xmm0, xmmword [rax]
pcmpeqw xmm0, xmm1
pmovmskb ecx, xmm0
bsf edx, ecx
mov dword [rsp + 0x34], edx
jne 0x14000ca7c
movdqu xmm0, xmmword [rax + 0x10]
add rax, 0x10
pcmpeqw xmm0, xmm1
pmovmskb ecx, xmm0
bsf edx, ecx
mov dword [rsp + 0x34], edx
je 0x14000ca62
sub rax, rsi
mov ecx, edx
sar rax, 1
shr rcx, 1
add rax, rcx
mov rsi, r14
lea r15, [rax + rax]
and rsi, 0xfffffffffffffff1
mov ecx, r14d
and ecx, 0xf
je 0x14000cabf
movdqu xmm0, xmmword [rsi]
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
shr eax, cl
bsf ecx, eax
mov dword [rsp + 0x34], ecx
je 0x14000cabb
mov esi, ecx
shr rsi, 1
jmp 0x14000cb08
add rsi, 0x10
movdqu xmm0, xmmword [rsi]
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rsp + 0x34], ecx
jne 0x14000cafa
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rsi + 0x10]
add rsi, 0x10
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rsp + 0x34], ecx
je 0x14000cae0
sub rsi, r14
mov eax, ecx
sar rsi, 1
shr rax, 1
add rsi, rax
mov rdx, qword [0x1402c5ff0]
add rsi, rsi
lea rbx, [rsi + r15]
lea rcx, [rbx + 0x12]
call sym.SystemInformer.exe_Ordinal_1240
mov rdi, rax
lea rdx, str.Unable_to_start
xor ecx, ecx
mov r8, r15
mov qword [rax], rbx
add rax, 0x10
mov qword [rdi + 8], rax
mov word [rax + rbx], cx
mov rcx, qword [rdi + 8]
call fcn.14020c7e0
mov rcx, qword [rdi + 8]
mov r8, rsi
add rcx, r15
mov rdx, r14
call fcn.14020c7e0
mov rcx, rdi
call sym.SystemInformer.exe_Ordinal_1238
lea rcx, ds:[rsp + 0x30]
mov r8d, ebp
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x31]
mov rcx, r12
mov rdx, qword [rax + 8]
call fcn.140001ae0
test al, al
je 0x14000cd19
cmp byte [rsp + 0x31], 0
je 0x14000cd0f
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14000cba9
mov rcx, qword [rcx + 8]
mov edx, 1
call fcn.1400a5000
mov ebx, eax
test eax, eax
js 0x14000cbcb
mov byte [rsp + 0xa8], 1
call sym.SystemInformer.exe_Ordinal_1190
jmp 0x14000ce4c
mov rax, qword [r13]
lea rdx, str.start
lea rcx, str.Unable_to__s__s.
mov r8, qword [rax + 0x10]
mov r8, qword [r8 + 8]
call fcn.140001a60
mov rdi, qword [rax + 8]
cmp ebx, 0xc0000022
je 0x14000cc23
cmp ebx, 0xc0000005
je 0x14000cc23
mov eax, ebx
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x14000cc11
movzx eax, bx
jmp 0x14000cc2e
mov eax, ebx
and eax, 0xfff0000
cmp eax, 0xb0000
jne 0x14000cc32
mov eax, ebx
jmp 0x14000cc2e
lfence
mov ecx, ebx
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosErrorNoTeb]
test eax, eax
jne 0x14000cc3e
lfence
mov ecx, ebx
call sym.SystemInformer.exe_Ordinal_1660
jmp 0x14000cc48
lfence
mov ecx, eax
call sym.SystemInformer.exe_Ordinal_1670
mov rbx, rax
mov rcx, r12
mov r8d, 0xfffe
test rdi, rdi
je 0x14000cc73
test rax, rax
je 0x14000cc65
mov edx, 0x21
jmp 0x14000cc84
mov qword [rsp + 0x28], rdi
lea r9, [0x14023aad8]
jmp 0x14000ccea
test rbx, rbx
je 0x14000ccd7
mov edx, 9
lea rdi, [0x14023aad8]
mov r10d, 8
lea r9, [0x14023c43c]
mov rax, rbx
lfence
mov rax, qword [rbx + r10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r9
mov r9, rdi
call sym.SystemInformer.exe_Ordinal_1699
lfence
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000cd05
lfence
call fcn.140143da0
call sym.SystemInformer.exe_Ordinal_1190
jmp 0x14000ce4c
lea rax, [0x14023aad8]
mov qword [rsp + 0x28], rax
lea r9, str.Unable_to_perform_the_operation.
lea rax, [0x14023c43c]
mov edx, 9
mov qword [rsp + 0x20], rax
call sym.SystemInformer.exe_Ordinal_1699
call sym.SystemInformer.exe_Ordinal_1190
jmp 0x14000ce4c
mov byte [rsp + 0x30], 1
jmp 0x14000ce4c
cmp byte ds:[rsp + 0x30], 0
jne 0x14000ce73
mov rax, qword [r13]
lea rdx, str.start
lea rcx, str.Unable_to__s__s.
mov r8, qword [rax + 0x10]
mov r8, qword [r8 + 8]
call fcn.140001a60
mov rdi, qword [rax + 8]
cmp ebp, 0xc0000022
je 0x14000cd7e
cmp ebp, 0xc0000005
je 0x14000cd7e
mov eax, ebp
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x14000cd6c
movzx eax, bp
jmp 0x14000cd86
mov eax, ebp
and eax, 0xfff0000
cmp eax, 0xb0000
jne 0x14000cd8a
mov eax, ebp
jmp 0x14000cd86
mov ecx, ebp
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosErrorNoTeb]
test eax, eax
jne 0x14000cd93
mov ecx, ebp
call sym.SystemInformer.exe_Ordinal_1660
jmp 0x14000cd9a
mov ecx, eax
call sym.SystemInformer.exe_Ordinal_1670
mov rbx, rax
mov rcx, r12
mov r8d, 0xfffe
test rdi, rdi
je 0x14000cdc5
test rax, rax
je 0x14000cdb7
mov edx, 0x21
jmp 0x14000cdd6
mov qword [rsp + 0x28], rdi
lea r9, [0x14023aad8]
jmp 0x14000ce2b
test rbx, rbx
je 0x14000ce18
mov edx, 9
lea rdi, [0x14023aad8]
mov r10d, 8
lea r9, [0x14023c43c]
mov rax, rbx
mov rax, qword [r10 + rbx]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r9
mov r9, rdi
call sym.SystemInformer.exe_Ordinal_1699
mov edi, eax
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000ce47
call fcn.140143da0
jmp 0x14000ce47
lea rax, [0x14023aad8]
mov qword [rsp + 0x28], rax
lea r9, str.Unable_to_perform_the_operation.
lea rax, [0x14023c43c]
mov edx, 9
mov qword [rsp + 0x20], rax
call sym.SystemInformer.exe_Ordinal_1699
mov edi, eax
cmp edi, 1
jne 0x14000ce73
lea rsi, str.Unable_to_start
mov edx, dword [rsp + 0x38]
add r13, 8
inc edx
mov ebx, 0
mov dword [rsp + 0x38], edx
cmp edx, dword [rsp + 0xa0]
jb 0x14000c950
movzx edi, byte [rsp + 0xa8]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x90]
movzx eax, dil
add rsp, 0x60
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret