Function at 0x1400c1ee0
Capabilities:
Query service status
Start service

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x140467f78]
xor rax, rsp
mov qword [rbp + 0x47], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xor r14d, r14d
mov qword [rbp - 9], r14
xor edx, edx
xor ecx, ecx
lea r8d, [r14 + 0x17]
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov qword [rbp - 0x11], rax
test rax, rax
jne 0x1400c1f4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.SEUtilServiceControlManager::SEUtilServiceControlManager_OpenSCManager_failed__LastError:_d__n
lea ecx, [r14 + 1]
call fcn.1400ab7f0
nop
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x19], rax
lea rdx, str.spacedeskHookKmode
lea rcx, [rbp + 0x1f]
call fcn.14008f3f0
nop
mov r8d, 0x17
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.1400c6960
test al, al
jne 0x1400c1fa0
lea r8, str.spacedeskHookKmode
lea rdx, str.SEDriverLegacyEnable_ServiceControlManager.ServiceOpen_failed___s_n
mov ecx, 1
call fcn.1400ab7f0
xor bl, bl
mov rdi, qword [rbp - 9]
jmp 0x1400c21cd
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], r14
mov qword [rbp + 0x17], r14
mov qword [rbp + 0xf], r14
mov qword [rbp + 0x17], 7
mov word [rbp - 1], r14w
mov dword [rbp - 0x19], r14d
lea r9, [rbp - 0x19]
xor r8d, r8d
xor edx, edx
mov rdi, qword [rbp - 9]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
jne 0x1400c201b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400c201b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.SEUtilServiceControlManager::ServiceConfigQuery_QueryServiceConfig__1__failed___d__n
mov ecx, 1
call fcn.1400ab7f0
lea rdx, str.SEDriverLegacyIsEnabled_ServiceConfigQuery_failed__n
mov ecx, 1
call fcn.1400ab7f0
xor bl, bl
jmp 0x1400c2180
mov ecx, dword [rbp - 0x19]
call fcn.1402ab3b0
mov rsi, rax
lea r9, [rbp - 0x19]
mov r8d, dword [rbp - 0x19]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
jne 0x1400c2078
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.SEUtilServiceControlManager::ServiceConfigQuery_QueryServiceConfig__2__failed___d__n
mov ecx, 1
call fcn.1400ab7f0
mov rcx, rsi
call fcn.1402ab340
lea rdx, str.SEDriverLegacyIsEnabled_ServiceConfigQuery_failed__n
mov ecx, 1
call fcn.1400ab7f0
xor bl, bl
jmp 0x1400c2180
mov ebx, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
lea rcx, [rbp - 1]
call fcn.14008fef0
mov rcx, rsi
call fcn.1402ab340
cmp ebx, 1
jbe 0x1400c20c9
lea rcx, [rbp - 0x11]
call fcn.1400c6b10
test al, al
jne 0x1400c20c5
lea r8, str.spacedeskHookKmode
lea rdx, str.SEDriverLegacyEnable_ServiceControlManager.ServiceConfigChange_failed___s_n
mov ecx, 1
call fcn.1400ab7f0
mov rdi, qword [rbp - 9]
xor bl, bl
jmp 0x1400c2180
mov rdi, qword [rbp - 9]
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r9d, 0x24
lea r8, [rbp + 0x1f]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x1400c211a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.SEUtilServiceControlManager::ServiceStatusQuery_QueryServiceStatusEx_failed___d__n
mov ecx, 1
call fcn.1400ab7f0
lea rdx, str.SEDriverLegacyIsEnabled_ServiceStatusQuery_failed__n
mov ecx, 1
call fcn.1400ab7f0
xor bl, bl
jmp 0x1400c2180
test byte [rbp + 0x23], 4
jne 0x1400c217e
test rdi, rdi
jne 0x1400c2136
lea rdx, str.SEUtilServiceControlManager::ServiceStart_Service_handle_invalid__n
lea ecx, [rdi + 1]
call fcn.1400ab7f0
jmp 0x1400c2162
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x1400c217e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.SEUtilServiceControlManager::ServiceStart_StartService_failed___d_n
mov ecx, 1
call fcn.1400ab7f0
lea r8, str.spacedeskHookKmode
lea rdx, str.SEDriverLegacyEnable_ServiceControlManager.ServiceStart_failed___s_n
mov ecx, 1
call fcn.1400ab7f0
xor bl, bl
jmp 0x1400c2180
mov bl, 1
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x1400c21bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c21b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c221e
call fcn.1402ab340
mov qword [rbp + 0xf], r14
mov qword [rbp + 0x17], 7
mov word [rbp - 1], r14w
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1400c21e0
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov qword [rbp - 0x11], r14
test rdi, rdi
je 0x1400c21f2
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov qword [rbp - 9], r14
movzx eax, bl
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1402ab320
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.1402b2324
nop
int3