Function at 0x1400044e0
Capabilities:
Delete service

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x140013028]
xor rax, rsp
mov qword [rbp + 0x30], rax
xor edi, edi
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], 2
lea r9, str.__verbose
mov r8, rdx
mov edx, ecx
lea rcx, [rbp - 0x30]
call qword [sym.imp.VBoxRT.dll_RTGetOptInit]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x30]
call qword [sym.imp.VBoxRT.dll_RTGetOpt]
test eax, eax
je 0x140004757
mov edx, eax
sub edx, 0x75
je 0x14000455d
cmp edx, 1
jne 0x1400045f4
inc dword [0x1400132e0]
jmp 0x140004561
mov rdi, qword [rbp + 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x30]
call qword [sym.imp.VBoxRT.dll_RTGetOpt]
test eax, eax
jne 0x140004545
test rdi, rdi
je 0x140004757
lea rcx, [rbp - 0x78]
call qword [sym.imp.VBoxRT.dll_public:_void___cdecl_RTCString::constructor_void____ptr64]
lea rbx, vtable.com::Utf8Str.0
mov qword [rbp - 0x78], rbx
mov rdx, rdi
lea rcx, [rbp - 0x58]
call qword [sym.imp.VBoxRT.dll_public:_void___cdecl_RTCString::constructor_char_const____ptr64____ptr64]
mov qword [rbp - 0x58], rbx
lea rcx, [rsp + 0x68]
call qword [sym.imp.VBoxRT.dll_public:_void___cdecl_RTCString::constructor_void____ptr64]
mov qword [rsp + 0x68], rbx
lea rcx, [rsp + 0x48]
call qword [sym.imp.VBoxRT.dll_public:_void___cdecl_RTCString::constructor_void____ptr64]
mov qword [rsp + 0x48], rbx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x58]
call fcn.1400036b0
mov ebx, eax
test eax, eax
jns 0x14000460b
lea rcx, [rsp + 0x48]
call qword [sym.imp.VBoxRT.dll_public_virtual:_void___cdecl_RTCString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.VBoxRT.dll_public_virtual:_void___cdecl_RTCString::destructor_void____ptr64]
jmp 0x14000465e
lea r8, [rbp + 0x20]
mov edx, eax
lea rcx, str.delete
call fcn.140003290
jmp 0x140004763
lea rcx, [rsp + 0x48]
call qword [sym.imp.VBoxRT.dll_public:_char_const____ptr64___cdecl_RTCString::c_str_void_const___ptr64]
mov rbx, rax
lea rcx, [rsp + 0x68]
call qword [sym.imp.VBoxRT.dll_public:_char_const____ptr64___cdecl_RTCString::c_str_void_const___ptr64]
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, str.VBoxAutostartSvc
lea rdx, str._s_s_s
lea rcx, [rbp - 0x78]
call qword [sym.imp.VBoxRT.dll_public:_class_RTCString____ptr64___cdecl_RTCString::printf_char_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.VBoxRT.dll_public_virtual:_void___cdecl_RTCString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.VBoxRT.dll_public_virtual:_void___cdecl_RTCString::destructor_void____ptr64]
xor ebx, ebx
lea rcx, [rbp - 0x58]
call qword [sym.imp.VBoxRT.dll_public_virtual:_void___cdecl_RTCString::destructor_void____ptr64]
test ebx, ebx
jns 0x140004682
mov rdx, rdi
lea rcx, str.delete___DeleteService_failed__service_name_for_user__s_cannot_be_constructed._n
call fcn.140003230
mov edi, eax
jmp 0x140004749
mov edi, 1
lea rcx, [rbp - 0x78]
call qword [sym.imp.VBoxRT.dll_public:_char_const____ptr64___cdecl_RTCString::c_str_void_const___ptr64]
mov r8, 0xffffffffffffffff
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140006cd0
mov rcx, qword [0x14000c750]
mov rax, qword [rsp + 0x40]
test rax, rax
cmovne rcx, rax
mov qword [rsp + 0x20], 0
mov r9d, 0x10000
lea r8d, [rdi + 1]
lea rdx, str.delete
call fcn.140004800
mov rsi, rax
lea rcx, [rsp + 0x40]
call fcn.140006bd0
nop
test rsi, rsi
je 0x140004749
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
je 0x14000471e
cmp dword [0x1400132e0], 0
je 0x14000471a
lea rcx, [rbp - 0x78]
call qword [sym.imp.VBoxRT.dll_public:_char_const____ptr64___cdecl_RTCString::c_str_void_const___ptr64]
mov rdx, rax
lea rcx, str.Successfully_deleted_the__s_service._n
call qword [sym.imp.VBoxRT.dll_RTPrintf]
xor edi, edi
jmp 0x14000473f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, eax
call qword [sym.imp.VBoxRT.dll_RTErrConvertFromWin32]
mov edx, eax
mov r8d, ebx
lea rcx, str.delete___DeleteService_failed__rc_Rrc___x__n
call fcn.140003230
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.VBoxRT.dll_public_virtual:_void___cdecl_RTCString::destructor_void____ptr64]
mov eax, edi
jmp 0x140004763
lea rcx, str.delete___DeleteService_failed__user_name_required._n
call fcn.140003230
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140005f70
mov rbx, qword [rsp + 0x170]
add rsp, 0x140
pop rdi
pop rsi
pop rbp
ret