Function at 0x140009b60
Capabilities:
Create service
Start service

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xd8
mov rcx, qword [rsp + 0xe0]
call fcn.140009720
movzx eax, al
test eax, eax
jne 0x140009b99
mov rcx, qword [rsp + 0xe8]
call fcn.140009720
movzx eax, al
test eax, eax
je 0x140009bc2
mov byte [rsp + 0x70], 0
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x70]
jmp 0x140009fcf
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x78], 0
mov r8d, 0xf003f
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x140009c37
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.___hServiceMgrFalse
call fcn.140009b00
mov byte [rsp + 0x71], 0
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x71]
jmp 0x140009fcf
mov rcx, qword [rsp + 0xe0]
call fcn.140009710
mov r8d, 0xf01ff
mov rdx, rax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
jne 0x140009d67
mov rcx, qword [rsp + 0xe8]
call fcn.140009710
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0xe0]
call fcn.140009710
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0xe0]
call fcn.140009710
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 1
mov r9d, 0xf01ff
mov rcx, qword [rsp + 0xa0]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
jne 0x140009d67
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, [0x14016fae8]
call fcn.140009b00
mov byte [rsp + 0x72], 0
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x72]
jmp 0x140009fcf
lea r8, [rsp + 0xa8]
mov edx, 4
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x140009dde
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x426
je 0x140009dde
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, str.___ERROR_SERVICE_NOT_ACTIVE_r_n
call fcn.140009b00
mov byte [rsp + 0x73], 0
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x73]
jmp 0x140009fcf
cmp dword [rsp + 0xac], 4
jne 0x140009e3b
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, [0x14016fb20]
call fcn.140009b00
mov byte [rsp + 0x74], 1
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x74]
jmp 0x140009fcf
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_StartServiceA]
test eax, eax
jne 0x140009ea5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.___go__llx_r_n
call fcn.140009b00
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov byte [rsp + 0x75], 0
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x75]
jmp 0x140009fcf
mov qword [rsp + 0x90], 0
jmp 0x140009ec6
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0xa
jae 0x140009f5d
lea r8, [rsp + 0xa8]
mov edx, 4
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x140009f41
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, [0x14016fb40]
call fcn.140009b00
mov byte [rsp + 0x76], 0
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x76]
jmp 0x140009fcf
cmp dword [rsp + 0xac], 4
jne 0x140009f4d
jmp 0x140009f5d
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140009eb3
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, [0x14016fb58]
call fcn.140009b00
cmp dword [rsp + 0xac], 4
jne 0x140009f99
mov dword [rsp + 0x88], 1
jmp 0x140009fa4
mov dword [rsp + 0x88], 0
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x77], al
mov rcx, qword [rsp + 0xe0]
call fcn.14000963c
mov rcx, qword [rsp + 0xe8]
call fcn.14000963c
movzx eax, byte [rsp + 0x77]
add rsp, 0xd8
ret