Function at 0x1000678ac
Capabilities:
Delete service

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
mov eax, 0x1050
call fcn.10014f1d0
sub rsp, rax
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0x1040], rax
mov esi, 0xf003f
xor edx, edx
xor ecx, ecx
mov r8d, esi
xor edi, edi
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
lea r12d, [rdi + 1]
mov rbx, rax
test rax, rax
je 0x100067baf
lea r13, [0x1001667c8]
mov r8d, r12d
mov rcx, rax
mov rdx, r13
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x10006792a
mov rcx, rax
mov edi, r12d
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test edi, edi
je 0x100067baf
mov r8d, esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rsi, rax
test rax, rax
jne 0x1000679d6
mov edi, 0x400
lea rdx, [rsp + 0x40]
mov ecx, 0xd80a
mov r8d, edi
call fcn.100067e14
test eax, eax
jne 0x1000679bc
lea r8, [0x100007620]
lea rcx, [rsp + 0x40]
mov rdx, rdi
call sub.msvcrt.dll_wcscpy_s
test eax, eax
je 0x1000679bc
cmp eax, 0xc
je 0x1000679b1
cmp eax, 0x16
je 0x1000679a6
cmp eax, 0x22
je 0x1000679a6
cmp eax, 0x50
je 0x1000679bc
mov ecx, 0x80004005
call fcn.100019658
int3
mov ecx, 0x80070057
call fcn.100019658
int3
mov ecx, 0x8007000e
call fcn.100019658
int3
lea rdx, [rsp + 0x40]
mov r8, r13
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x100067bb2
mov r8d, 0x10020
mov rdx, r13
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rbp, rax
test rax, rax
jne 0x100067a65
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov edi, 0x400
lea rdx, [rsp + 0x40]
mov r8d, edi
mov ecx, 0xd80c
call fcn.100067e14
test eax, eax
jne 0x1000679bc
lea r8, [0x1000076a0]
lea rcx, [rsp + 0x40]
mov rdx, rdi
call sub.msvcrt.dll_wcscpy_s
test eax, eax
je 0x1000679bc
cmp eax, 0xc
je 0x100067a5a
cmp eax, 0x16
je 0x100067a4f
cmp eax, 0x22
je 0x100067a4f
cmp eax, 0x50
je 0x1000679bc
mov ecx, 0x80004005
call fcn.100019658
int3
mov ecx, 0x80070057
call fcn.100019658
int3
mov ecx, 0x8007000e
call fcn.100019658
int3
lea r8, [rsp + 0x20]
mov edx, r12d
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ControlService]
mov edi, 0x400
test eax, eax
jne 0x100067b18
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x426
je 0x100067b18
cmp eax, 0x425
jne 0x100067aa2
cmp dword [rsp + 0x24], 3
je 0x100067b18
lea rdx, [rsp + 0x40]
mov r8d, edi
mov ecx, 0xd80e
call fcn.100067e14
test eax, eax
jne 0x100067b05
lea r8, [0x1000076d0]
lea rcx, [rsp + 0x40]
mov rdx, rdi
call sub.msvcrt.dll_wcscpy_s
test eax, eax
je 0x100067b05
cmp eax, 0xc
je 0x100067afa
cmp eax, 0x16
je 0x100067aef
cmp eax, 0x22
je 0x100067aef
cmp eax, 0x50
je 0x100067b05
mov ecx, 0x80004005
call fcn.100019658
int3
mov ecx, 0x80070057
call fcn.100019658
int3
mov ecx, 0x8007000e
call fcn.100019658
int3
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov r8, r13
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_DeleteService]
mov rcx, rbp
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test ebx, ebx
jne 0x100067baf
lea rdx, [rsp + 0x840]
mov r8d, edi
mov ecx, 0xd80d
call fcn.100067e14
test eax, eax
jne 0x100067ba2
lea r8, [0x100007700]
lea rcx, [rsp + 0x840]
mov rdx, rdi
call sub.msvcrt.dll_wcscpy_s
test eax, eax
je 0x100067ba2
cmp eax, 0xc
je 0x100067b97
cmp eax, 0x16
je 0x100067b8c
cmp eax, 0x22
je 0x100067b8c
cmp eax, 0x50
je 0x100067ba2
mov ecx, 0x80004005
call fcn.100019658
int3
mov ecx, 0x80070057
call fcn.100019658
int3
mov ecx, 0x8007000e
call fcn.100019658
int3
lea rdx, [rsp + 0x840]
jmp 0x1000679c1
mov eax, r12d
mov rcx, qword [rsp + 0x1040]
xor rcx, rsp
call fcn.10014e480
lea r11, [rsp + 0x1050]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret