Function at 0x1400310a4
Capabilities:
Delete service
Query service status
Stop service

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
mov qword [rbp], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1400ce148]
xor rax, rsp
mov qword [rbp + 0x28], rax
xor r13d, r13d
mov ebx, r13d
call fcn.14002ecdc
lea r15d, [r13 + 7]
lea rdi, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____38____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
lea r14d, [r13 + 6]
cmp dword [rax + 0x28], r14d
jl 0x1400311ca
lea rax, [rbp - 0x28]
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x18], r13
mov word [rbp - 0x28], r13w
lea rcx, [0x1400a05e8]
call fcn.14004a2f8
mov r8, rax
lea rdx, [0x1400a05e8]
lea rcx, [rbp - 0x28]
call fcn.140073170
nop
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea rax, str.Unregistering_AppId_for_ServiceModule
mov qword [rbp - 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x48], rdi
lea rax, [rbp - 0x38]
mov qword [rbp - 0x40], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x373
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x48]
mov edx, r14d
call fcn.14000d244
mov rax, qword [0x1400db280]
test rax, rax
je 0x1400311e0
call rax
test eax, eax
js 0x14003134f
mov ecx, r13d
mov rdi, qword [0x1400da610]
mov rax, qword [0x1400da618]
cmp rdi, rax
jae 0x14003123e
mov rsi, qword [rdi]
test rsi, rsi
je 0x14003122d
call qword [rsi + 0x38]
mov rdx, rax
xor r8d, r8d
mov rcx, qword [rsi]
call fcn.14002d63c
test eax, eax
js 0x14003134f
xor ecx, ecx
call qword [rsi + 8]
mov ecx, eax
test eax, eax
js 0x14003134f
mov rax, qword [0x1400da618]
add rdi, 8
cmp rdi, rax
jb 0x1400311f6
test ecx, ecx
js 0x14003134f
call fcn.14002ecdc
cmp dword [rax + 0x28], r14d
jl 0x140031321
lea rax, [rsp + 0x48]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, [0x1400a05e8]
call fcn.14004a2f8
mov r8, rax
lea rdx, [0x1400a05e8]
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea rax, str.Unregistering_server_for_ServiceModule
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____39____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x30], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x378
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x38]
mov edx, r14d
call fcn.14000d244
lea rax, str.APPID
mov qword [rbp - 0x28], rax
lea rax, str.C5EDFC9D_B018_41A4_9877_39AB18469C3A
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], r13
lea r8, [rbp - 0x28]
xor edx, edx
mov ecx, 0x3e9
call fcn.140003ce8
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov r12, rax
test rax, rax
je 0x140031aba
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8d, 0xf01ff
lea rdx, str.NVSvc
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rdi, rax
test rax, rax
je 0x1400318c0
call fcn.14002ecdc
cmp dword [rax + 0x28], r14d
jl 0x140031478
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
lea rcx, [0x1400a05e8]
call fcn.14004a2f8
mov r8, rax
lea rdx, [0x1400a05e8]
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea rax, str.Opened_service._Asking_it_to_stop
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____34____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x30], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x386
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x38]
mov edx, r14d
call fcn.14000d244
lea r8, [rbp + 8]
mov r15d, 1
mov edx, r15d
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
je 0x1400314d0
lea esi, [r15 + 0x63]
sub esi, r15d
cmp dword [rbp + 0xc], r15d
je 0x1400314c5
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp + 8]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x1400314bf
test esi, esi
jne 0x140031496
cmp dword [rbp + 0xc], r15d
jne 0x1400314d0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14002ecdc
mov esi, 7
lea r15, [0x1400a05e8]
cmp dword [rax + 0x28], r14d
jl 0x1400315d9
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
mov rcx, r15
call fcn.14004a2f8
mov r8, rax
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Service_state:
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x28]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0xc]
mov dword [rbp - 0x38], eax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x30], rax
lea rax, str.._Attempting_to_delete_service
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x38]
mov qword [rbp - 0x60], rax
lea rax, method.Nvidia::Logging::Loggable.virtual_0
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x40], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x398
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x38]
mov edx, r14d
call fcn.14000d244
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x1400317d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14002ecdc
cmp dword [rax + 0x28], 3
jl 0x1400316db
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
mov rcx, r15
call fcn.14004a2f8
mov r8, rax
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Service_deletion_failed._Error_code:
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x68], ebx
lea rax, [rsp + 0x38]
mov qword [rbp - 0x60], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_unsigned_long_int__class_Nvidia::Logging::Chain_char_const_____37____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x68]
mov qword [rbp - 0x40], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x39c
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x48]
mov edx, 3
call fcn.14000d244
cmp ebx, 0x430
jne 0x1400318b2
call fcn.14002ecdc
cmp dword [rax + 0x28], r14d
jl 0x1400317c3
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
mov rcx, r15
call fcn.14004a2f8
mov r8, rax
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Service_already_marked_for_deletion
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____36____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x60], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x3a0
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x68]
mov edx, r14d
call fcn.14000d244
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, r13d
jmp 0x1400318b2
call fcn.14002ecdc
cmp dword [rax + 0x28], r14d
jl 0x1400318b2
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
mov rcx, r15
call fcn.14004a2f8
mov r8, rax
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Successfully_deleted_service_from_SCM
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____38____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x60], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x3a8
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x68]
mov edx, r14d
call fcn.14000d244
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x140031aac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14002ecdc
cmp dword [rax + 0x28], 3
jl 0x1400319b9
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
lea rcx, [0x1400a05e8]
call fcn.14004a2f8
mov r8, rax
lea rdx, [0x1400a05e8]
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Unable_to_open_service._Error_code:
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x68], ebx
lea rax, [rsp + 0x38]
mov qword [rbp - 0x60], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_unsigned_long_int__class_Nvidia::Logging::Chain_char_const_____36____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x68]
mov qword [rbp - 0x40], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x3af
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x48]
mov edx, 3
call fcn.14000d244
cmp ebx, 0x424
jne 0x140031aac
call fcn.14002ecdc
cmp dword [rax + 0x28], r14d
jl 0x140031aa9
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
lea rcx, [0x1400a05e8]
call fcn.14004a2f8
mov r8, rax
lea rdx, [0x1400a05e8]
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Service_does_not_exist._Thats_ok._Exiting
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____43____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x60], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x3b3
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x68]
mov edx, r14d
call fcn.14000d244
mov ebx, r13d
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x140031ba5
call fcn.14002ecdc
cmp dword [rax + 0x28], 3
jl 0x140031ba0
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r13
mov word [rsp + 0x70], r13w
lea rcx, [0x1400a05e8]
call fcn.14004a2f8
mov r8, rax
lea rdx, [0x1400a05e8]
lea rcx, [rsp + 0x70]
call fcn.140073170
nop
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
lea rcx, str.UninstallService
call fcn.14004a2f8
mov r8, rax
lea rdx, str.UninstallService
lea rcx, [rsp + 0x48]
call fcn.140073170
nop
xor eax, eax
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
lea rax, str.Unable_to_connect_to_SCM._Bailing
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____34____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rbp - 0x68], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x60], rax
call fcn.14002ecdc
mov rcx, rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x3bb
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x68]
mov edx, 3
call fcn.14000d244
mov ebx, 0x427
mov eax, ebx
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140049cd0
lea r11, [rsp + 0x130]
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