Function at 0x14002b7ec
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor ebp, ebp
mov r12, rax
cmp dword [0x14005170c], ebp
jne 0x14002bade
lea eax, [rbp + 1]
mov dword [0x14005170c], eax
test r12, r12
je 0x14002bade
and dword [rsp + 0x68], ebp
lea rdx, [rsp + 0x68]
mov rcx, r12
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov r13, rax
test rax, rax
je 0x14002bade
and dword [rsp + 0x70], ebp
cmp dword [rsp + 0x68], ebp
jle 0x14002bad5
mov rsi, rax
mov rcx, qword [rsi]
lea rdx, str._RunOnce:
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x14002b8ab
lea rdx, str._prefetch
mov rcx, r12
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x14002babd
lea rdx, str._prefetch:1
mov rcx, r12
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
jne 0x14002babd
and dword [rdi + 0x68], 0
jmp 0x14002bade
mov rcx, qword [rsi]
lea rdx, str._NoService
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
jne 0x14002b8a2
mov rcx, qword [rsi]
lea rdx, str._DefaultService
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
jne 0x14002ba59
mov rcx, qword [rsi]
lea rdx, str._DownloadService
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
jne 0x14002ba59
mov rcx, qword [rsi]
lea rdx, str._ServiceInfo
call qword [sym.imp.msvcrt.dll_wcsstr]
mov rcx, qword [rsi]
test rax, rax
je 0x14002ba21
mov edx, 0x3a
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
je 0x14002babd
lea r15, [rax + 2]
mov rcx, r15
call fcn.140017448
test eax, eax
je 0x14002babd
xor r14d, r14d
test rbp, rbp
je 0x14002b951
mov rdx, rbp
mov rcx, rdi
call fcn.14002a0d4
mov rbx, rax
test rax, rax
jne 0x14002b975
mov ecx, 0x140
call fcn.14003c2c4
test rax, rax
je 0x14002b96d
mov rcx, rax
call fcn.140026734
mov rbx, rax
jmp 0x14002b96f
xor ebx, ebx
mov r14d, 1
and dword [rdi + 0x68], 0
test rbx, rbx
je 0x14002babd
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.14002b76c
mov r15d, eax
test eax, eax
js 0x14002b9ef
xor edx, edx
mov rcx, rbx
call fcn.140026dcc
test eax, eax
je 0x14002b9ef
mov rdx, rbx
mov rcx, rdi
call fcn.140028118
mov r15d, eax
test eax, eax
js 0x14002b9c2
xor r14d, r14d
mov rcx, rdi
call fcn.14002a320
test r14d, r14d
jne 0x14002b9e1
test r15d, r15d
jns 0x14002b9e1
mov rdx, rbx
mov rcx, rdi
call fcn.1400281b0
lea ecx, [r14 + 1]
cmp eax, ecx
cmove r14d, ecx
mov ecx, 4
lea rdx, str.__Service_added_from_command_line:_0x_x._r_n
jmp 0x14002b9fb
mov ecx, 2
lea rdx, str.__Specified_service_is_not_valid:_0x_x._r_n
mov r8d, r15d
call fcn.140016868
test r14d, r14d
je 0x14002babd
mov rcx, rbx
call fcn.140026828
mov rcx, rbx
call fcn.14003c304
jmp 0x14002babd
lea rdx, str._ServiceExtra
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x14002babd
mov rcx, qword [rsi]
mov edx, 0x3a
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
je 0x14002babd
lea rdx, [rax + 2]
lea rcx, [rdi + 0x40]
call fcn.140016cd8
jmp 0x14002babd
mov rcx, qword [rsi]
mov edx, 0x3a
call qword [sym.imp.msvcrt.dll_wcschr]
mov rbp, rax
test rax, rax
je 0x14002babd
add rbp, 2
je 0x14002ba80
mov rdx, rbp
mov rcx, rdi
call fcn.14002a234
lea rcx, [rdi + 0x20]
mov rdx, rbp
call fcn.140016cd8
mov rcx, qword [rsi]
lea rdx, str._DownloadService
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x14002baa9
mov eax, 1
mov dword [rdi + 0x6c], eax
mov r8, rbp
lea rdx, str.__Command_line_specified_default_service_is:__S._r_n
mov ecx, 3
call fcn.140016868
mov eax, dword [rsp + 0x70]
add rsi, 8
inc eax
mov dword [rsp + 0x70], eax
cmp eax, dword [rsp + 0x68]
jl 0x14002b85b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret