Function at 0x14000f4a0
Capabilities:
Query service status
Start service

Disassembly:
push rbp
push rsi
push r14
push r15
sub rsp, 0x288
mov rax, qword [0x14003ebd8]
xor rax, rsp
mov qword [rsp + 0x260], rax
movzx ebp, r9b
mov r14, r8
mov r15d, edx
mov esi, ecx
cmp edx, 1
jge 0x14000f4e0
mov ecx, 1
call fcn.14000a1c0
jmp 0x14000f6ca
mov qword [rsp + 0x280], rbx
mov ecx, 5
mov qword [rsp + 0x278], rdi
mov qword [rsp + 0x270], r12
mov r12, qword [r8]
call fcn.140011340
mov rbx, rax
test rax, rax
jne 0x14000f533
lea ecx, [rax + 2]
call fcn.14001c1d0
mov rcx, rax
mov edx, 0x400001fb
call fcn.140002950
test bpl, bpl
jne 0x14000f707
lea eax, [rbx + 2]
jmp 0x14000f6b2
mov r8d, 4
test esi, esi
je 0x14000f569
cmp esi, 1
je 0x14000f561
jbe 0x14000f56f
cmp esi, 3
jbe 0x14000f559
cmp esi, 0x80
jne 0x14000f56f
mov r8d, 0x104
jmp 0x14000f56f
mov r8d, 0x44
jmp 0x14000f56f
mov r8d, 0x24
jmp 0x14000f56f
mov r8d, 0x14
lea r9, [rsp + 0x60]
mov dword [rsp + 0x20], 0x100
mov rdx, r12
mov rcx, rbx
call fcn.140010fa0
mov rdi, rax
test rax, rax
jne 0x14000f5a9
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test bpl, bpl
jne 0x14000f707
lea eax, [rdi + 3]
jmp 0x14000f6b2
mov rcx, rdi
test esi, esi
jne 0x14000f754
mov r8, r14
mov edx, r15d
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov r14d, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp r14d, 0x3e5
jne 0x14000f5e3
xor r14d, r14d
jmp 0x14000f5ec
test r15d, r15d
je 0x14000f70b
xor r9d, r9d
mov dword [rsp + 0x30], 0
xor edx, edx
mov r8d, 0x20019
mov rcx, r12
call fcn.14000db00
mov rbx, rax
test rax, rax
je 0x14000f642
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, str.AppThrottle
mov rcx, rax
call fcn.14000cf50
mov ecx, dword [rsp + 0x30]
cmp eax, 1
mov edx, 0x5dc
cmovne ecx, edx
mov dword [rsp + 0x30], ecx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x30]
lea r8, [rsp + 0x38]
mov r9d, 1
mov dword [rsp + 0x20], eax
mov rdx, rdi
xor ecx, ecx
call fcn.14000ef10
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, esi
call fcn.140012ae0
mov rdi, rax
test ebx, ebx
je 0x14000f6e8
mov ecx, dword [rsp + 0x3c]
call fcn.140013280
mov ecx, 2
mov rbx, rax
call fcn.14001c1d0
mov rcx, rax
mov qword [rsp + 0x20], rdi
mov r9, rbx
lea r8, [rsp + 0x60]
mov edx, 0x40000227
call fcn.140002950
test bpl, bpl
jne 0x14000f707
mov eax, 1
mov rdi, qword [rsp + 0x278]
mov rbx, qword [rsp + 0x280]
mov r12, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400180d0
add rsp, 0x288
pop r15
pop r14
pop rsi
pop rbp
ret
mov ecx, r14d
call fcn.140002510
mov r9, rax
lea rdx, [rsp + 0x60]
mov r8, rdi
lea rcx, str._s:__s:__s
call fcn.14000a790
xor eax, eax
jmp 0x14000f6b2
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, r14d
call fcn.140002510
xor ecx, ecx
mov rdi, rax
call fcn.140012ae0
mov ecx, 2
mov rbx, rax
call fcn.14001c1d0
mov rcx, rax
mov qword [rsp + 0x20], rdi
mov r9, rbx
lea r8, [rsp + 0x60]
lea rdx, str._s:__s:__s
call fcn.140007920
jmp 0x14000f6a8
cmp esi, 4
jne 0x14000f7bd
lea rdx, [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test ebx, ebx
je 0x14000f78d
mov ecx, dword [rsp + 0x3c]
call fcn.140013280
mov rdx, rax
lea rcx, [0x14002ee78]
call fcn.14000a790
jmp 0x14000f84d
mov ecx, eax
call fcn.140002510
mov ecx, 2
mov rbx, rax
call fcn.14001c1d0
mov rcx, rax
lea r8, [rsp + 0x60]
mov r9, rbx
lea rdx, str._s:__s_n
call fcn.140007920
jmp 0x14000f6a8
lea r8, [rsp + 0x38]
mov edx, esi
call qword [sym.imp.ADVAPI32.dll_ControlService]
mov r12d, dword [rsp + 0x3c]
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov r14d, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp r14d, 0x3e5
jne 0x14000f7f2
xor r14d, r14d
jmp 0x14000f7f7
test r15d, r15d
je 0x14000f85f
mov r9d, r12d
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x38]
mov rdx, rdi
mov ecx, esi
call fcn.14000ef10
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, esi
call fcn.140012ae0
mov rdi, rax
test ebx, ebx
jne 0x14000f678
mov ecx, r14d
call fcn.140002510
mov r9, rax
lea rdx, [rsp + 0x60]
mov r8, rdi
lea rcx, str._s:__s:__s
call fcn.14000a790
test bpl, bpl
je 0x14000f707
mov eax, dword [rsp + 0x3c]
jmp 0x14000f6b2
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, r14d
call fcn.140002510
mov ecx, esi
mov rdi, rax
call fcn.140012ae0
mov ecx, 2
mov rbx, rax
call fcn.14001c1d0
mov rcx, rax
mov qword [rsp + 0x20], rdi
mov r9, rbx
lea r8, [rsp + 0x60]
lea rdx, str._s:__s:__s
call fcn.140007920
cmp r14d, 0x426
jne 0x14000f6a8
lea eax, [rsi - 1]
test eax, 0xfffffffb
jne 0x14000f6a8
test bpl, bpl
je 0x14000f707
jmp 0x14000f6ad