Function at 0x140089860
Capabilities:
Accept command line arguments
Query or enumerate registry value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov rax, qword [0x14018c040]
xor rax, rsp
mov qword [rsp + 0xf8], rax
mov rdi, qword [0x14019e118]
test rdi, rdi
je 0x1400898bf
test rdi, rdi
sete bl
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.14008ffc0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 0x50
call fcn.14008eaa0
mov rsi, rax
mov rcx, rax
call fcn.140089c90
mov qword [0x14019e118], rsi
call fcn.14005e110
test al, al
jne 0x1400898f1
call fcn.140039350
test al, al
je 0x1400899f1
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x140089c26
mov rsi, rax
mov rcx, rax
call fcn.1400ac3d4
mov rcx, qword [0x14019e118]
lea rdx, [rsp + 0xa0]
mov qword [rdx], rsi
mov qword [rdx + 8], rax
call fcn.1400d36e0
mov rax, qword [0x14019e118]
cmp qword [rax + 0x40], 0
jne 0x140089892
xor eax, eax
lea rbx, [rsp + 0xf4]
mov dword [rbx], eax
lea r14, [rsp + 0xf0]
mov dword [r14], eax
movaps xmm6, xmmword [0x14015c510]
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov byte [rsp + 0x80], al
mov byte [rsp + 0x98], al
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
lea rdx, [0x14016d474]
lea r8, str.OverrideCommandLineArgs
mov rcx, 0xffffffff80000002
mov r9d, 2
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x1400899ba
cmp dword [rsp + 0xf4], 1
je 0x140089a73
mov al, byte [rsp + 0x98]
cmp al, 1
je 0x140089b13
test al, 1
je 0x140089892
cmp byte [rsp + 0x97], 0
jns 0x140089892
mov rcx, qword [rsp + 0x80]
call fcn.14008eadc
jmp 0x140089892
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x140089c26
mov rcx, rax
call fcn.1400ac3d4
lea rsi, [rsp + 0x80]
mov qword [rsi + 8], rax
lea rdx, str.single_argument
mov rcx, rsi
xor r8d, r8d
call fcn.140065e80
cmp rax, 0xffffffffffffffff
mov rcx, qword [0x14019e118]
setne byte [rcx + 0x10]
movups xmm0, xmmword [rsi]
lea rdx, [rsp + 0x40]
movaps xmmword [rdx], xmm0
call fcn.1400d36e0
jmp 0x140089892
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rsi
call fcn.14008eadc
mov al, byte [rsp + 0x98]
jmp 0x1400899c9
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0xd0]
mov qword [rsi + 0x10], rax
movaps xmmword [rsi], xmm6
mov edx, dword [rsp + 0xf0]
shr edx, 1
mov rcx, rsi
call fcn.140059fc6
mov rax, qword [rsi]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea rdx, [0x14016d474]
lea r8, str.OverrideCommandLineArgs
mov rcx, 0xffffffff80000002
mov r9d, 2
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x140089c28
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x1400899ba
mov rax, qword [rsp + 0xd8]
cmp rax, rcx
je 0x140089b01
add rax, 0xfffffffffffffffe
jne 0x140089af1
jmp 0x140089c26
mov qword [rsp + 0xd8], rcx
call fcn.14008eadc
jmp 0x1400899ba
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe0], rax
lea rax, [0x14016d3c8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x80]
movsx rcx, byte [rax + 0x17]
test rcx, rcx
cmovs rcx, qword [rax + 8]
movaps xmmword [rsp + 0xd0], xmm6
cmovs rax, qword [rax]
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
test rcx, rcx
js 0x140089c26
sete cl
test rax, rax
setne al
or al, cl
je 0x140089c26
mov dword [rsp + 0x20], 1
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x70]
mov rcx, rsi
mov r9d, 1
call fcn.140021060
mov rcx, qword [0x14019e118]
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
sub rdx, rax
sar rdx, 3
movabs r8, 0xaaaaaaaaaaaaaaab
imul r8, rdx
lea rdx, [rsp + 0x50]
mov qword [rdx], rax
mov qword [rdx + 8], r8
call fcn.1400d3860
mov rsi, qword [rsi]
test rsi, rsi
je 0x140089a67
mov rbx, qword [rsp + 0xd8]
mov rcx, rsi
cmp rbx, rsi
je 0x140089a5a
add rbx, 0xffffffffffffffe8
jmp 0x140089c19
mov rcx, qword [rbx]
call fcn.14008eadc
lea rax, [rbx - 0x18]
cmp rbx, rsi
mov rbx, rax
je 0x140089a52
test rbx, rbx
je 0x140089c26
cmp byte [rbx + 0x17], 0
jns 0x140089c09
jmp 0x140089c01
ud2
mov rdx, qword [rsp + 0xd0]
lea rsi, [rsp + 0xb0]
mov rcx, rsi
call fcn.14010b2c0
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov byte [rsp + 0x98], 1
cmp byte [rsi + 0x17], 0
jns 0x140089ad8
mov rcx, qword [rsp + 0xb0]
call fcn.14008eadc
jmp 0x140089ad8