Function at 0x1400044d0
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 0x140004747
mov edx, eax
sub edx, 0x75
je 0x14000454d
cmp edx, 1
jne 0x1400045e4
inc dword [0x1400132e0]
jmp 0x140004551
mov rdi, qword [rbp + 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x30]
call qword [sym.imp.VBoxRT.dll_RTGetOpt]
test eax, eax
jne 0x140004535
test rdi, rdi
je 0x140004747
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.1400036a0
mov ebx, eax
test eax, eax
jns 0x1400045fb
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 0x14000464e
lea r8, [rbp + 0x20]
mov edx, eax
lea rcx, str.delete
call fcn.140003280
jmp 0x140004753
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 0x140004672
mov rdx, rdi
lea rcx, str.delete___DeleteService_failed__service_name_for_user__s_cannot_be_constructed._n
call fcn.140003220
mov edi, eax
jmp 0x140004739
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.140006cc0
mov rcx, qword [0x14000c6e0]
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.1400047f0
mov rsi, rax
lea rcx, [rsp + 0x40]
call fcn.140006bc0
nop
test rsi, rsi
je 0x140004739
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
je 0x14000470e
cmp dword [0x1400132e0], 0
je 0x14000470a
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 0x14000472f
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.140003220
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 0x140004753
lea rcx, str.delete___DeleteService_failed__user_name_required._n
call fcn.140003220
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140005f60
mov rbx, qword [rsp + 0x170]
add rsp, 0x140
pop rdi
pop rsi
pop rbp
ret