Function at 0x14000c380
Capabilities:
Create service
Delete service

Disassembly:
push r14
push r15
mov eax, 0x2088
call fcn.140030670
sub rsp, rax
mov rax, qword [0x140071540]
xor rax, rsp
mov qword [rsp + 0x2070], rax
call fcn.1400393a4
movsxd r15, dword [rax]
call fcn.1400393ac
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 0x14000c3e4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Cannot_install_service___d__n
call fcn.14000c8d0
call fcn.140033e00
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 0x14000c474
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 2
mov ebx, eax
mov ecx, edi
call fcn.140033f78
mov rcx, rax
lea rdx, str.OpenSCManager_failed___d__n
mov r8d, ebx
call fcn.14000bef0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x14000c46e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, edi
mov ebx, eax
call fcn.140033f78
mov rcx, rax
lea rdx, str.Error__you_need_admin_rights_to_install_the_service._n
mov r8d, ebx
call fcn.14000bef0
mov ecx, edi
call fcn.140039368
int3
call fcn.140033e00
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 0x14000c510
mov edi, r12d
nop dword [rax + rax]
lea rcx, str.Deleting_old_service._n
call fcn.14000c8d0
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x14000c4fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Cannot_delete_old_service___d__n
mov ebx, eax
call fcn.14000c8d0
cmp ebx, 0x430
jne 0x14000c510
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0xa
jl 0x14000c4b0
jmp 0x14000c510
lea rcx, str.Deleted_old_service._n
call fcn.14000c8d0
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rbp, qword [rsp + 0x20a8]
cmp r15, 2
jle 0x14000c561
mov edi, 2
nop dword [rax]
nop word [rax + rax]
mov edx, 0x20
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call fcn.14002a8e0
mov rdx, qword [r14 + rdi*8]
lea rcx, [rsp + 0x70]
mov r8d, 0x1000
call fcn.14002a920
inc rdi
cmp rdi, r15
jl 0x14000c530
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 0x14000c5ec
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CreateService_failed___d__n
call fcn.14000c8d0
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call fcn.140033e00
int3
lea rcx, str.Service_installed_successfully_n
call fcn.14000c8d0
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.140039368
int3