Function at 0x14005fc6c
Capabilities:
Delete service

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf78]
mov eax, 0x1050
call fcn.140141f40
sub rsp, rax
mov rax, qword [0x140170608]
xor rax, rsp
mov qword [rbp + 0xf40], rax
mov esi, 0xf003f
xor edx, edx
mov r8d, esi
xor ecx, ecx
xor edi, edi
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
lea r12d, [rdi + 1]
mov rbx, rax
test rax, rax
je 0x14005fff2
lea r13, [0x1401713a8]
mov r8d, r12d
mov rdx, r13
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x14005fcf4
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 0x14005fff2
mov r8d, esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rsi, rax
test rax, rax
jne 0x14005fdba
xor edx, edx
call fcn.1400834a0
xor ebx, ebx
mov esi, r12d
mov edi, 0x400
test rax, rax
je 0x14005fd63
test ebx, ebx
jne 0x14005fda0
mov r9d, edi
lea r8, [rsp + 0x40]
mov edx, 0xd80a
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
mov edx, esi
mov ebx, eax
call fcn.1400834a0
add esi, r12d
test rax, rax
jne 0x14005fd34
test ebx, ebx
jne 0x14005fda0
lea r8, str.Could_not_open_Service_Manager
mov rdx, rdi
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_wcscpy_s]
test eax, eax
je 0x14005fda0
cmp eax, 0xc
je 0x14006003b
cmp eax, 0x16
je 0x140060030
cmp eax, 0x22
je 0x140060030
cmp eax, 0x50
jne 0x140060025
lea rdx, [rsp + 0x40]
mov r8, r13
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x14005fff5
mov r8d, 0x10020
mov rdx, r13
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov r14, rax
test rax, rax
jne 0x14005fe70
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor edx, edx
call fcn.1400834a0
xor ebx, ebx
mov esi, r12d
mov edi, 0x400
test rax, rax
je 0x14005fe2a
test ebx, ebx
jne 0x14005fda0
mov r9d, edi
lea r8, [rsp + 0x40]
mov edx, 0xd80c
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
mov edx, esi
mov ebx, eax
call fcn.1400834a0
add esi, r12d
test rax, rax
jne 0x14005fdf7
test ebx, ebx
jne 0x14005fda0
lea r8, str.Could_not_open_service
mov rdx, rdi
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_wcscpy_s]
test eax, eax
je 0x14005fda0
cmp eax, 0xc
je 0x14006005c
cmp eax, 0x16
je 0x140060051
cmp eax, 0x22
je 0x140060051
cmp eax, 0x50
jne 0x140060046
jmp 0x14005fda0
lea r8, [rsp + 0x20]
mov edx, r12d
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_ControlService]
mov edi, 0x400
test eax, eax
jne 0x14005ff42
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x426
je 0x14005ff42
cmp eax, 0x425
jne 0x14005feb1
cmp dword [rsp + 0x24], 3
je 0x14005ff42
xor edx, edx
call fcn.1400834a0
xor ebx, ebx
mov r15d, r12d
test rax, rax
je 0x14005fef2
test ebx, ebx
jne 0x14005ff2f
mov r9d, edi
lea r8, [rsp + 0x40]
mov edx, 0xd80e
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
mov edx, r15d
mov ebx, eax
call fcn.1400834a0
add r15d, r12d
test rax, rax
jne 0x14005fec2
test ebx, ebx
jne 0x14005ff2f
lea r8, str.Could_not_stop_service
mov rdx, rdi
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_wcscpy_s]
test eax, eax
je 0x14005ff2f
cmp eax, 0xc
je 0x14006007d
cmp eax, 0x16
je 0x140060072
cmp eax, 0x22
je 0x140060072
cmp eax, 0x50
jne 0x140060067
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, r13
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_DeleteService]
mov rcx, r14
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test ebx, ebx
jne 0x14005fff2
xor edx, edx
call fcn.1400834a0
mov esi, r12d
test rax, rax
je 0x14005ffa7
test ebx, ebx
jne 0x14005ffe6
mov r9d, edi
lea r8, [rbp + 0x740]
mov edx, 0xd80d
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
mov edx, esi
mov ebx, eax
call fcn.1400834a0
add esi, r12d
test rax, rax
jne 0x14005ff76
test ebx, ebx
jne 0x14005ffe6
lea r8, str.Could_not_delete_service
mov rdx, rdi
lea rcx, [rbp + 0x740]
call qword [sym.imp.msvcrt.dll_wcscpy_s]
test eax, eax
je 0x14005ffe6
cmp eax, 0xc
je 0x14006009e
cmp eax, 0x16
je 0x140060093
cmp eax, 0x22
je 0x140060093
cmp eax, 0x50
jne 0x140060088
lea rdx, [rbp + 0x740]
jmp 0x14005fda5
mov eax, r12d
mov rcx, qword [rbp + 0xf40]
xor rcx, rsp
call fcn.140141340
lea r11, [rsp + 0x1050]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140001c2c
int3
mov ecx, 0x80070057
call fcn.140001c2c
int3
mov ecx, 0x8007000e
call fcn.140001c2c
int3
mov ecx, 0x80004005
call fcn.140001c2c
int3
mov ecx, 0x80070057
call fcn.140001c2c
int3
mov ecx, 0x8007000e
call fcn.140001c2c
int3
mov ecx, 0x80004005
call fcn.140001c2c
int3
mov ecx, 0x80070057
call fcn.140001c2c
int3
mov ecx, 0x8007000e
call fcn.140001c2c
int3
mov ecx, 0x80004005
call fcn.140001c2c
int3
mov ecx, 0x80070057
call fcn.140001c2c
int3
mov ecx, 0x8007000e
call fcn.140001c2c
int3