Function at 0x14000c3bc
Capabilities:
Create service
Modify service

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r13
push rbp
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2b0
mov rax, qword [0x1400e6870]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
and qword [rsp + 0x70], 0
lea rcx, [rsp + 0x70]
call fcn.1400a2f80
mov rsi, qword [rsp + 0x70]
mov r14d, eax
test eax, eax
jns 0x14000c452
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c8bb
mov r15d, 1
test byte [rcx + 0x1c], r15b
je 0x14000c8bb
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x1a]
mov r9d, r14d
lea r8, [0x1400b7030]
call fcn.14000a9b0
jmp 0x14000c8bb
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
nop dword [rax + rax]
mov qword [rbp - 0x48], rax
mov rdi, rax
mov r13d, 0x80070000
test rax, rax
jne 0x14000c4d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
test r14d, r14d
jns 0x14000c4d6
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c8a7
lea r15d, [rdi + 1]
test byte [rcx + 0x1c], r15b
je 0x14000c8a7
mov rcx, qword [rcx + 0x10]
lea edx, [rdi + 0x1c]
mov r9d, r14d
lea r8, [0x1400b7030]
call fcn.14000a9b0
jmp 0x14000c8a7
and qword [rsp + 0x60], 0
lea rax, str.Rpcss
and qword [rsp + 0x58], 0
lea r8, str.__systemroot__system32SecurityHealthAgent.dll__1002
mov qword [rsp + 0x50], rax
lea rdx, [0x1400b5fc0]
and qword [rsp + 0x48], 0
mov r15d, 1
and qword [rsp + 0x40], 0
mov r9d, 0xf003f
mov qword [rsp + 0x38], rsi
mov rcx, rdi
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], SafeArrayGetLBound
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CreateServiceW]
nop dword [rax + rax]
mov qword [rbp - 0x40], rax
mov rbx, rax
test rax, rax
jne 0x14000c5a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
cmp r14d, 0x80070431
jne 0x14000c573
mov r14d, r15d
jmp 0x14000c893
test r14d, r14d
jns 0x14000c5a3
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c893
test byte [rcx + 0x1c], r15b
je 0x14000c893
mov edx, 0x1d
jmp 0x14000c87b
mov edx, 3
lea rcx, [rbp - 0x20]
lea rax, str.SeImpersonatePrivilege
lea r8d, [rdx + 0x7d]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
add rax, r8
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmmword [rcx - 0x10], xmm1
sub rdx, r15
jne 0x14000c5b7
movups xmm0, xmmword [rax]
lea r8, [rbp - 0x80]
mov edx, 6
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movzx eax, word [rax + 0x30]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx + 0x20], xmm0
mov word [rcx + 0x30], ax
lea rax, [rbp - 0x20]
mov rcx, rbx
mov qword [rbp - 0x80], rax
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
nop dword [rax + rax]
test eax, eax
jne 0x14000c68b
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
test r14d, r14d
jns 0x14000c68b
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c893
test byte [rcx + 0x1c], r15b
je 0x14000c893
mov edx, 0x1e
jmp 0x14000c87b
lea r8, [rsp + 0x78]
mov dword [rsp + 0x78], r15d
mov edx, 5
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
nop dword [rax + rax]
test eax, eax
jne 0x14000c6f6
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
test r14d, r14d
jns 0x14000c6f6
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c893
test byte [rcx + 0x1c], r15b
je 0x14000c893
mov edx, 0x1f
jmp 0x14000c87b
lea rax, str.__systemroot__system32SecurityHealthAgent.dll__1001
mov edx, r15d
lea r8, [rbp - 0x78]
mov qword [rbp - 0x78], rax
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
nop dword [rax + rax]
test eax, eax
jne 0x14000c764
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
test r14d, r14d
jns 0x14000c764
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c893
test byte [rcx + 0x1c], r15b
je 0x14000c893
mov edx, 0x20
jmp 0x14000c87b
xor edx, edx
lea rcx, str.SkipPPLRegistration
call fcn.14000cb88
test eax, eax
jne 0x14000c7e2
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], 2
lea edx, [rax + 0xc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
nop dword [rax + rax]
test eax, eax
jne 0x14000c7e2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
test r14d, r14d
jns 0x14000c7e2
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c893
test byte [rcx + 0x1c], r15b
je 0x14000c893
mov edx, 0x21
jmp 0x14000c87b
and dword [rbp - 0x6c], 0
lea r8, [rbp - 0x70]
and dword [rbp - 0x54], 0
mov eax, 0xea60
and dword [rbp - 0x24], 0
xorps xmm0, xmm0
and dword [rbp - 0x28], 0
mov edx, 2
mov dword [rbp - 0x34], eax
mov rcx, rbx
mov dword [rbp - 0x2c], eax
lea rax, [rbp - 0x38]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x38], r15d
mov dword [rbp - 0x30], r15d
mov dword [rbp - 0x70], 0x15180
movdqu xmmword [rbp - 0x68], xmm0
mov dword [rbp - 0x58], 3
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
nop dword [rax + rax]
test eax, eax
jne 0x14000c890
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r14d, ax
or r14d, r13d
test eax, eax
cmovle r14d, eax
test r14d, r14d
jns 0x14000c890
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
cmp rcx, rax
je 0x14000c893
test byte [rcx + 0x1c], r15b
je 0x14000c893
mov edx, 0x22
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400b7030]
mov r9d, r14d
call fcn.14000a9b0
jmp 0x14000c893
xor r14d, r14d
test rbx, rbx
je 0x14000c8a7
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
nop dword [rax + rax]
test rdi, rdi
je 0x14000c8bb
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
nop dword [rax + rax]
test rsi, rsi
je 0x14000c8c8
mov rcx, rsi
call fcn.1400ac0d0
mov eax, r14d
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.1400abb00
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r13, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret