Function at 0x14000cb60
Capabilities:
Create service
Delete service

Disassembly:
push r14
push r15
mov eax, 0x2088
call fcn.1400308c0
sub rsp, rax
mov rax, qword [0x140071500]
xor rax, rsp
mov qword [rsp + 0x2070], rax
call fcn.1400395f4
movsxd r15, dword [rax]
call fcn.1400395fc
mov r8d, 0x2000
lea rdx, [rsp + 0x70]
xor ecx, ecx
mov r14, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x14000cbc4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Cannot_install_service___d__n
call fcn.14000d0a0
call fcn.140034050
int3
mov qword [rsp + 0x20a0], rbx
xor edx, edx
mov qword [rsp + 0x20b0], rsi
xor ecx, ecx
mov r8d, 0xf003f
mov qword [rsp + 0x20b8], rdi
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rsi, rax
test rax, rax
jne 0x14000cc54
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 2
mov ebx, eax
mov ecx, edi
call fcn.1400341c8
mov rcx, rax
lea rdx, str.OpenSCManager_failed___d__n
mov r8d, ebx
call fcn.14000c6d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x14000cc4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, edi
mov ebx, eax
call fcn.1400341c8
mov rcx, rax
lea rdx, str.Error__you_need_admin_rights_to_install_the_service._n
mov r8d, ebx
call fcn.14000c6d0
mov ecx, edi
call fcn.1400395b8
int3
call fcn.140034050
int3
mov qword [rsp + 0x20a8], rbp
lea rdx, str.otis_bridge_guardian
mov r8d, 0xf01ff
mov qword [rsp + 0x2080], r12
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
xor r12d, r12d
mov rbp, rax
test rax, rax
je 0x14000ccf0
mov edi, r12d
nop dword [rax + rax]
lea rcx, str.Deleting_old_service._n
call fcn.14000d0a0
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x14000ccdb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Cannot_delete_old_service___d__n
mov ebx, eax
call fcn.14000d0a0
cmp ebx, 0x430
jne 0x14000ccf0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0xa
jl 0x14000cc90
jmp 0x14000ccf0
lea rcx, str.Deleted_old_service._n
call fcn.14000d0a0
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rbp, qword [rsp + 0x20a8]
cmp r15, 2
jle 0x14000cd31
mov edi, 2
mov r8d, 0x1000
lea rcx, [rsp + 0x70]
mov dl, 0x20
call fcn.14002a9c0
mov rdx, qword [r14 + rdi*8]
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call fcn.14002aa40
inc rdi
cmp rdi, r15
jl 0x14000cd03
mov qword [rsp + 0x60], r12
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], r12
lea r8, str.otis_bridge_guardian
mov qword [rsp + 0x50], r12
lea rdx, str.otis_bridge_guardian
mov qword [rsp + 0x48], r12
mov r9d, 0xf01ff
mov qword [rsp + 0x40], r12
mov rcx, rsi
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0x10
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov r12, qword [rsp + 0x2080]
mov rbx, rax
test rax, rax
jne 0x14000cdbc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CreateService_failed___d__n
call fcn.14000d0a0
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call fcn.140034050
int3
lea rcx, str.Service_installed_successfully_n
call fcn.14000d0a0
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor ecx, ecx
call fcn.1400395b8
int3