Function at 0x140004f80
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2a0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x14008d598]
xor rax, rsp
mov qword [rbp + 0x190], rax
lea rdx, str.service_log.txt
mov ecx, 1
call fcn.14000e7d0
movzx ebx, al
test al, al
je 0x140004fe4
lea rcx, [0x140055f00]
call fcn.14000e970
mov r8d, 0x104
lea rdx, [rbp - 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r14d, r14d
test eax, eax
je 0x140005105
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
movdqa xmm0, xmmword [0x140055c40]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r14w
lea rax, [rbp - 0x80]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], r14w
jne 0x140005030
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.140005ed0
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.140019f90
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140005099
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005094
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005444
call fcn.140028ef4
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x28]
call fcn.140005a20
cmp qword [rax + 0x18], 8
jb 0x1400050b2
mov rax, qword [rax]
mov rdx, rax
lea rcx, str.Version:__ls
call fcn.14000e970
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140005111
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400050fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000544a
call fcn.140028ef4
jmp 0x140005111
lea rcx, str.Version:_unknown
call fcn.14000e970
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rsp + 0x24]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rdi, rax
mov qword [rsp + 0x28], rax
movsxd rdx, dword [rsp + 0x24]
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.1400057b0
mov r15d, r14d
mov r13, qword [rsp + 0x40]
cmp dword [rsp + 0x24], r14d
jle 0x140005234
mov r12, rdi
mov rdi, r13
nop word [rax + rax]
mov rdx, qword [r12]
lea rcx, [rsp + 0x60]
call fcn.1400104f0
mov rsi, rax
cmp rdi, rax
je 0x1400051dc
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1400051b0
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1400051ab
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005450
mov rcx, r8
call fcn.140028ef4
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], r14b
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r14b
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140005219
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005214
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005456
call fcn.140028ef4
inc r15d
add rdi, 0x20
add r12, 8
cmp r15d, dword [rsp + 0x24]
jl 0x140005160
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r12, qword [rsp + 0x48]
mov rdx, r12
sub rdx, r13
sar rdx, 5
cmp rdx, 1
ja 0x14000525f
call fcn.140006ca0
mov dil, 1
jmp 0x14000538a
cmp rdx, 2
jne 0x14000537b
lea rdi, [r13 + 0x20]
mov rcx, rdi
mov rsi, qword [rdi + 0x18]
cmp rsi, 0x10
jb 0x14000527d
mov rcx, qword [rdi]
mov r15, qword [rdi + 0x10]
cmp r15, 7
jne 0x1400052a7
mov r8, r15
lea rdx, str.install
call fcn.140030280
test eax, eax
jne 0x1400052a7
call fcn.1400060f0
movzx edi, al
jmp 0x14000538a
mov rcx, rdi
cmp rsi, 0x10
jb 0x1400052b3
mov rcx, qword [rdi]
cmp r15, 9
jne 0x1400052d9
mov r8, r15
lea rdx, str.uninstall
call fcn.140030280
test eax, eax
jne 0x1400052d9
call fcn.1400067a0
movzx edi, al
jmp 0x14000538a
mov rdx, rdi
cmp rsi, 0x10
jb 0x1400052e5
mov rdx, qword [rdi]
cmp r15, 5
jne 0x14000532c
mov rcx, r14
lea r8, str.start
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140005319
cmp rcx, 5
jne 0x140005300
mov eax, r14d
jmp 0x14000531e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14000532c
call fcn.1400069c0
movzx edi, al
jmp 0x14000538a
cmp rsi, 0x10
jb 0x140005335
mov rdi, qword [rdi]
cmp r15, 4
jne 0x140005387
mov rcx, r14
lea rdx, str.stop
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140005365
cmp rcx, 4
jne 0x140005350
jmp 0x14000536c
sbb r14d, r14d
or r14d, 1
test r14d, r14d
jne 0x140005387
call fcn.140006ad0
movzx edi, al
jmp 0x14000538a
lea rcx, str.Too_many_arguments___d_
call fcn.14000e970
xor dil, dil
mov dl, 1
lea rcx, str.Exiting
call fcn.14000e9c0
lea rcx, str.Process_exiting.
call fcn.14000e970
lea rcx, str._________________________________
call fcn.14000e970
movzx edi, dil
xor edi, 1
test r13, r13
je 0x140005402
lea r8, [rsp + 0x40]
mov rdx, r12
mov rcx, r13
call fcn.140005720
mov rdx, qword [rsp + 0x50]
sub rdx, r13
and rdx, 0xffffffffffffffe0
mov rax, r13
cmp rdx, 0x1000
jb 0x1400053f9
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000543e
mov rcx, r13
call fcn.140028ef4
nop
test bl, bl
je 0x14000540c
call fcn.14000e910
nop
mov eax, edi
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.140028f90
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140033494
int3
call fcn.140033494
int3
call fcn.140033494
int3
call fcn.140033494
int3
call fcn.140033494
int3