Function at 0x14000c8f0
Capabilities:
Allocate thread local storage

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x40
mov rsi, rdx
movsxd rbx, ecx
call fcn.140001b00
call fcn.140016bd0
lea rcx, [rax + 0x30]
call fcn.14001864c
mov edx, 0x20000
mov ecx, eax
call fcn.1400184f4
call fcn.140016bd0
lea rcx, [rax + 0x60]
call fcn.14001864c
mov edx, 0x20000
mov ecx, eax
call fcn.1400184f4
call fcn.14000c600
call fcn.14000aa50
test eax, eax
je 0x14000c952
mov ecx, 0x6f
call fcn.140018384
int3
cmp ebx, 1
mov qword [rsp + 0x50], rdi
jle 0x14000cc2f
mov rcx, qword [rsi + 8]
lea rdx, str.start
call fcn.14000c460
test eax, eax
je 0x14000c98a
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
xor ecx, ecx
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.stop
call fcn.14000c460
test eax, eax
je 0x14000c9b7
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
mov ecx, 1
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.restart
call fcn.14000c460
test eax, eax
je 0x14000c9fe
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
mov ecx, 1
call fcn.140012af0
test eax, eax
je 0x14000c9e8
mov ecx, eax
call fcn.140018384
int3
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
xor ecx, ecx
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.pause
call fcn.14000c460
test eax, eax
je 0x14000ca2b
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
mov ecx, 2
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.continue
call fcn.14000c460
test eax, eax
je 0x14000ca58
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
mov ecx, 3
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.status
call fcn.14000c460
test eax, eax
je 0x14000ca85
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
mov ecx, 4
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.rotate
call fcn.14000c460
test eax, eax
je 0x14000cab2
lea r8, [rsi + 0x10]
lea edx, [rbx - 2]
mov ecx, 0x80
call fcn.140012af0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.install
call fcn.14000c460
test eax, eax
je 0x14000cafb
cmp byte [0x14002ad29], 0
jne 0x14000cae7
mov r8d, 0x400001f6
mov rdx, rsi
mov ecx, ebx
call fcn.14000c6b0
mov ecx, eax
call fcn.140018384
int3
lea rdx, [rsi + 0x10]
lea ecx, [rbx - 2]
call fcn.140013cf0
mov ecx, eax
call fcn.140018384
int3
mov rcx, qword [rsi + 8]
lea rdx, str.edit
call fcn.14000c460
test eax, eax
jne 0x14000cbb4
mov rcx, qword [rsi + 8]
lea rdx, [0x140023040]
call fcn.14000c460
test eax, eax
jne 0x14000cbb4
mov rcx, qword [rsi + 8]
lea rdx, [0x140023038]
call fcn.14000c460
test eax, eax
jne 0x14000cbb4
mov rcx, qword [rsi + 8]
lea rdx, str.reset
call fcn.14000c460
test eax, eax
jne 0x14000cbb4
mov rcx, qword [rsi + 8]
lea rdx, str.unset
call fcn.14000c460
test eax, eax
jne 0x14000cbb4
mov rcx, qword [rsi + 8]
lea rdx, str.remove
call fcn.14000c460
test eax, eax
je 0x14000cc2f
cmp byte [0x14002ad29], 0
jne 0x14000cba0
mov r8d, 0x400001f8
mov rdx, rsi
mov ecx, ebx
call fcn.14000c6b0
mov ecx, eax
call fcn.140018384
int3
lea rdx, [rsi + 0x10]
lea ecx, [rbx - 2]
call fcn.1400126b0
mov ecx, eax
call fcn.140018384
int3
lea ecx, [rbx - 1]
lea rdx, [rsi + 8]
call fcn.140011250
mov r11d, eax
cmp eax, 3
jne 0x14000cbed
cmp byte [0x14002ad29], 0
jne 0x14000cbed
cmp ebx, eax
jne 0x14000cbed
mov r8d, 0x400001f7
mov rdx, rsi
mov ecx, eax
call fcn.14000c6b0
mov ecx, eax
call fcn.140018384
int3
xor r8d, r8d
test ebx, ebx
jle 0x14000cc26
nop word [rax + rax]
mov rdx, qword [rsi + r8*8]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rdx
inc r8
repne scasw ax, word [rdi]
mov rdi, rdx
not rcx
dec rcx
add rcx, rcx
cmp r8, rbx
rep stosb byte [rdi], al
jl 0x14000cc00
mov ecx, r11d
call fcn.140018384
int3
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp byte [0x14002ad29], 0
mov dword [0x14002ac80], eax
je 0x14000cc49
call fcn.14000d7c0
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
jne 0x14000cce7
xor r8d, r8d
lea rax, str.NSSM
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rax, [0x140013f00]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], r8
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
test eax, eax
jne 0x14000ccdf
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x427
jne 0x14000ccb0
mov ecx, 1
call fcn.14000c580
mov ecx, eax
call fcn.140018384
int3
mov ecx, eax
call fcn.140006fa0
mov ecx, 1
xor r9d, r9d
mov r8, rax
mov edx, 0xc00003e9
movzx ecx, cx
call fcn.140007160
call fcn.14000abf0
mov ecx, 0x64
call fcn.140018384
int3
xor ecx, ecx
call fcn.140018384
int3
mov ecx, 1
call fcn.14000c580
mov ecx, eax
call fcn.140018384
int3