Function at 0x140120d50
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x220
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402bb010]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov rdi, rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x10]
call fcn.1401706d2
lea rcx, [rbp + 0x10]
call fcn.14006ed80
nop
lea rdx, str.Command_line:
lea rcx, [rbp + 0x20]
call fcn.14006f5a0
mov rcx, rax
mov rdx, rdi
call fcn.14006f5a0
mov rcx, rax
lea rdx, [0x140228ddc]
call fcn.14006f5a0
mov rcx, rax
lea rdx, str.ParseCmdLine
call fcn.14006f790
mov rcx, rax
lea rdx, [0x140228db8]
call fcn.14006f5a0
mov rcx, rax
mov edx, 0xae
call qword [0x1401a93c0]
mov rcx, rax
lea rdx, [0x140228db4]
call fcn.14006f5a0
nop
movdqa xmm0, xmmword [0x14024d4b0]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], r15w
mov dword [rsp + 0x30], 2
mov rcx, qword [rbp + 0x98]
test cl, 2
jne 0x140120e66
mov rax, qword [rbp + 0x68]
mov r8, qword [rax]
test r8, r8
je 0x140120e66
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x90]
cmovb r8, qword [rbp + 0x90]
sub r8, rdx
jmp 0x140120e8e
test cl, 4
jne 0x140120e9c
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
test rcx, rcx
je 0x140120e9c
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x78]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
lea rcx, [rsp + 0x38]
call fcn.140053f60
nop
mov r14d, 1
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x18]
call qword [0x1401a9800]
nop
lea rcx, [rsp + 0x38]
call fcn.1400524a0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x78]
call fcn.140054ae0
mov rbx, rax
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
lea r8d, [r14 + 0xa]
lea rdx, str.HWAccountUI
lea rcx, [rsp + 0x58]
call fcn.140047980
nop
mov rdx, rbx
lea rcx, [rsp + 0x58]
call qword [0x1401a9e98]
nop
lea rcx, [rbp - 0x18]
call fcn.140047920
nop
mov rax, qword [rbp + 0x10]
movsxd rdx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rdx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rdx, dword [rax + 4]
lea r8d, [rdx - 0x98]
mov dword [rbp + rdx + 0xc], r8d
lea rcx, [rbp + 0x28]
call fcn.14006f390
lea rcx, [rbp + 0x30]
call qword [0x1401a93c8]
lea rcx, [rbp + 0xa8]
call qword [0x1401a9368]
mov dword [rbp - 0x20], r15d
lea rdx, [rbp - 0x20]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rdi, rax
test rax, rax
jne 0x1401210f3
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x10]
call fcn.1401706d2
lea rax, [0x140227eb8]
mov qword [rbp + 0x10], rax
lea rax, [0x140227c80]
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0xa8]
call qword [0x1401a9250]
nop
mov dword [rsp + 0x30], 5
xor r8d, r8d
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x10]
call qword [0x1401a91b0]
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x10], rbx
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0xc], edx
lea edx, [rdi + 3]
lea rcx, [rbp + 0x28]
call fcn.140057c70
nop
lea rdx, str.There_is_no_param__exit_
lea rcx, [rbp + 0x20]
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5868]
call fcn.140058ba0
mov rcx, rax
lea rdx, str.ParseCmdLine
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5844]
call fcn.140058ba0
mov rcx, rax
mov edx, 0xb2
call qword [0x1401a9130]
mov rcx, rax
lea rdx, [0x1401b5840]
call fcn.140058ba0
lea rax, [rbp - 0x18]
mov qword [rsp + 0x78], rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x28]
call fcn.140057bc0
nop
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], dil
lea r8d, [r14 + 0xa]
lea rdx, str.HWAccountUI
lea rcx, [rsp + 0x38]
call fcn.140047980
nop
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x38]
call qword [0x1401a9e90]
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x10], rbx
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x28]
call fcn.140055cb0
lea rcx, [rbp + 0x30]
call qword [0x1401a9120]
lea rcx, [rbp + 0xa8]
call qword [0x1401a9198]
mov eax, 0x57
jmp 0x1401213af
mov ecx, dword [rbp - 0x20]
mov eax, ecx
and eax, 0x80000001
jge 0x140121106
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140121262
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x10]
call fcn.1401706d2
lea rax, [0x140227eb8]
mov qword [rbp + 0x10], rax
lea rax, [0x140227c80]
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0xa8]
call qword [0x1401a9250]
nop
mov dword [rsp + 0x30], 0x11
xor r8d, r8d
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x10]
call qword [0x1401a91b0]
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x10], rbx
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0xc], edx
mov edx, 3
lea rcx, [rbp + 0x28]
call fcn.140057c70
nop
lea rdx, str.Argument_counts_should_be_even_number__exit_
lea rcx, [rbp + 0x20]
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5868]
call fcn.140058ba0
mov rcx, rax
lea rdx, str.ParseCmdLine
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5844]
call fcn.140058ba0
mov rcx, rax
mov edx, 0xb8
call qword [0x1401a9130]
mov rcx, rax
lea rdx, [0x1401b5840]
call fcn.140058ba0
lea rax, [rbp - 0x18]
mov qword [rsp + 0x78], rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x28]
call fcn.140057bc0
nop
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov r8d, SHCreateMemStream
lea rdx, str.HWAccountUI
lea rcx, [rsp + 0x38]
call fcn.140047980
nop
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x38]
call qword [0x1401a9e90]
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x10], rbx
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0xc], edx
jmp 0x1401210c9
mov esi, r15d
lea eax, [rcx - 2]
test eax, eax
js 0x1401213ad
mov rax, qword [rdi]
cmp word [rax], 0x2d
jne 0x1401210e9
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r15w
mov rdx, qword [rdi + 8]
lea rcx, [rsp + 0x38]
call fcn.140053ee0
nop
mov qword [rbp - 8], r15
mov qword [rbp], 7
mov word [rbp - 0x18], r15w
mov rdx, qword [rdi]
lea rcx, [rbp - 0x18]
call fcn.140053ee0
nop
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r15w
mov r9, 0xffffffffffffffff
lea r8d, [r9 + 2]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x58]
call fcn.140053fd0
or r14d, 0x40
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rbp - 0x50], xmm1
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r15w
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rbp - 0x30], xmm1
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r15w
call fcn.140120cd0
mov rbx, rax
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.140124800
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14008ee60
nop
lea rcx, [rbp - 0x40]
call fcn.1400524a0
lea rcx, [rbp - 0x60]
call fcn.1400524a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400524a0
nop
lea rcx, [rbp - 0x18]
call fcn.1400524a0
nop
lea rcx, [rsp + 0x38]
call fcn.1400524a0
add esi, 2
add rdi, 0x10
mov eax, dword [rbp - 0x20]
add eax, 0xfffffffe
cmp esi, eax
jle 0x140121270
xor eax, eax
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14016ee40
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret