Function at 0x14000a260
Capabilities:
Allocate thread local storage

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x50
mov rbx, rdx
mov esi, ecx
call fcn.140001e10
test al, al
je 0x14000a27d
call fcn.140017db0
call fcn.140009ab0
call fcn.140007ad0
test eax, eax
je 0x14000a296
mov ecx, 0x6f
call fcn.140009db0
int3
mov rax, qword [rbx]
lea r9, [0x14002ecd8]
mov edx, 0x7fff
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x60], rdi
lea rcx, [0x14005f740]
call fcn.140001d80
lea rcx, [0x14005f740]
call qword [sym.imp.SHLWAPI.dll_PathQuoteSpacesW]
mov r8d, 0x7fff
lea rdx, [0x14003f740]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r8d, 0x7fff
lea rdx, [0x14004f740]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [0x14004f740]
call qword [sym.imp.SHLWAPI.dll_PathQuoteSpacesW]
cmp esi, 1
jle 0x14000a6c4
mov rcx, qword [rbx + 8]
call fcn.140009ce0
test al, al
je 0x14000a351
lea rax, str.Thu_04_25_2019
lea r9, str.64_bit
mov qword [rsp + 0x20], rax
lea r8, [0x14002f008]
lea rdx, str.NSSM
lea rcx, str._s__s__s__s_n
call fcn.14000a790
xor ecx, ecx
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.start
call fcn.14000a0a0
test eax, eax
je 0x14000a37b
lea r8, [rbx + 0x10]
xor ecx, ecx
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.stop
call fcn.14000a0a0
test eax, eax
je 0x14000a3a8
lea r8, [rbx + 0x10]
mov ecx, 1
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.restart
call fcn.14000a0a0
test eax, eax
je 0x14000a3ef
lea r8, [rbx + 0x10]
mov ecx, 1
lea edx, [rsi - 2]
call fcn.14000f490
test eax, eax
je 0x14000a3d9
mov ecx, eax
call fcn.140009db0
int3
lea r8, [rbx + 0x10]
xor ecx, ecx
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.pause
call fcn.14000a0a0
test eax, eax
je 0x14000a41c
lea r8, [rbx + 0x10]
mov ecx, 2
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.continue
call fcn.14000a0a0
test eax, eax
je 0x14000a449
lea r8, [rbx + 0x10]
mov ecx, 3
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.status
call fcn.14000a0a0
test eax, eax
je 0x14000a476
lea r8, [rbx + 0x10]
mov ecx, 4
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.statuscode
call fcn.14000a0a0
test eax, eax
je 0x14000a4a6
lea r8, [rbx + 0x10]
mov r9b, 1
lea edx, [rsi - 2]
mov ecx, 4
call fcn.14000f4a0
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.rotate
call fcn.14000a0a0
test eax, eax
je 0x14000a4d3
lea r8, [rbx + 0x10]
mov ecx, 0x80
lea edx, [rsi - 2]
call fcn.14000f490
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.install
call fcn.14000a0a0
test eax, eax
je 0x14000a521
cmp byte [0x14006f740], 0
jne 0x14000a508
mov r8d, 0x400001f6
mov rdx, rbx
mov ecx, esi
call fcn.140009b50
mov ecx, eax
call fcn.140009db0
int3
call fcn.14000bc00
lea rdx, [rbx + 0x10]
lea ecx, [rsi - 2]
call fcn.140011f10
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.edit
call fcn.14000a0a0
test eax, eax
jne 0x14000a64e
mov rcx, qword [rbx + 8]
lea rdx, [0x14002f7e8]
call fcn.14000a0a0
test eax, eax
jne 0x14000a64e
mov rcx, qword [rbx + 8]
lea rdx, [0x14002f7f0]
call fcn.14000a0a0
test eax, eax
jne 0x14000a64e
mov rcx, qword [rbx + 8]
lea rdx, str.reset
call fcn.14000a0a0
test eax, eax
jne 0x14000a64e
mov rcx, qword [rbx + 8]
lea rdx, str.unset
call fcn.14000a0a0
test eax, eax
jne 0x14000a64e
mov rcx, qword [rbx + 8]
lea rdx, str.dump
call fcn.14000a0a0
test eax, eax
jne 0x14000a64e
mov rcx, qword [rbx + 8]
lea rdx, str.list
call fcn.14000a0a0
test eax, eax
je 0x14000a5d9
lea rdx, [rbx + 0x10]
lea ecx, [rsi - 2]
call fcn.1400109f0
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.processes
call fcn.14000a0a0
test eax, eax
je 0x14000a601
lea rdx, [rbx + 0x10]
lea ecx, [rsi - 2]
call fcn.140012f90
mov ecx, eax
call fcn.140009db0
int3
mov rcx, qword [rbx + 8]
lea rdx, str.remove
call fcn.14000a0a0
test eax, eax
je 0x14000a6c4
cmp byte [0x14006f740], 0
jne 0x14000a63a
mov r8d, 0x400001f8
mov rdx, rbx
mov ecx, esi
call fcn.140009b50
mov ecx, eax
call fcn.140009db0
int3
lea rdx, [rbx + 0x10]
lea ecx, [rsi - 2]
call fcn.140012120
mov ecx, eax
call fcn.140009db0
int3
lea ecx, [rsi - 1]
lea rdx, [rbx + 8]
call fcn.140011380
mov r8d, eax
cmp eax, 3
jne 0x14000a687
cmp byte [0x14006f740], 0
jne 0x14000a687
cmp esi, eax
jne 0x14000a687
mov r8d, 0x400001f7
mov rdx, rbx
mov ecx, eax
call fcn.140009b50
mov ecx, eax
call fcn.140009db0
int3
mov rdx, rsi
nop word [rax + rax]
mov rdi, qword [rbx]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x14000a6a0
add rcx, rcx
xor eax, eax
add rbx, 8
rep stosb byte [rdi], al
sub rdx, 1
jne 0x14000a690
mov ecx, r8d
call fcn.140009db0
int3
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp byte [0x14006f740], 0
mov dword [0x14003f688], eax
je 0x14000a6de
call fcn.14000bc00
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
jne 0x14000a773
lea rax, str.NSSM
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
lea rax, [0x140012bf0]
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
test eax, eax
jne 0x14000a76b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x427
jne 0x14000a744
mov ecx, 1
call fcn.14000a1c0
mov ecx, eax
call fcn.140009db0
int3
mov ecx, eax
call fcn.140002510
mov r8, rax
mov ecx, 1
xor r9d, r9d
mov edx, 0xc00003e9
call fcn.140002610
mov ecx, 0x64
call fcn.140009db0
int3
xor ecx, ecx
call fcn.140009db0
int3
mov ecx, 1
call fcn.14000a1c0
mov ecx, eax
call fcn.140009db0
int3