Function at 0x140002140
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, rcx
xor r14d, r14d
mov dword [rbp - 0x10], r14d
mov qword [rbp + 0x38], r14
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.140004430
nop
mov rbx, qword [rbp + 0x38]
mov edi, r14d
movzx eax, word [rbx]
test ax, ax
je 0x14000220d
nop
movzx ecx, ax
call fcn.1400e8fe4
test eax, eax
je 0x1400021ab
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x1400021ae
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140002190
test rdi, rdi
je 0x140002209
mov rax, qword [rbp + 0x38]
sub rdi, rax
sar rdi, 1
test edi, edi
js 0x140002446
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x1400021f1
mov edx, edi
lea rcx, [rbp + 0x38]
call fcn.140004870
mov rax, qword [rbp + 0x38]
cmp edi, dword [rax - 0xc]
jg 0x14000245c
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rbp + 0x38]
mov word [rax + rcx*2], r14w
mov rbx, qword [rbp + 0x38]
movzx ecx, word [rbx]
call fcn.1400e8fe4
test eax, eax
je 0x140002230
nop dword [rax]
add rbx, 2
movzx ecx, word [rbx]
call fcn.1400e8fe4
test eax, eax
jne 0x140002220
mov rax, qword [rbp + 0x38]
cmp rbx, rax
je 0x1400022de
sub rbx, rax
sar rbx, 1
mov edx, dword [rax - 0x10]
test edx, edx
js 0x140002451
mov r8d, 1
sub r8d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edx
or ecx, r8d
jge 0x14000226f
lea rcx, [rbp + 0x38]
call fcn.140004870
mov rax, qword [rbp + 0x38]
movsxd rcx, ebx
lea r9, [rax + rcx*2]
mov edx, dword [rax - 0x10]
mov edi, edx
sub edi, ebx
lea ecx, [rdi + 1]
movsxd r8, ecx
add r8, r8
je 0x1400022be
test r9, r9
jne 0x14000229d
call fcn.1400e4174
mov dword [rax], socket
jmp 0x140002472
lea ecx, [rdx + 1]
movsxd rdx, ecx
add rdx, rdx
cmp rdx, r8
jb 0x140002467
mov rdx, r9
mov rcx, rax
call fcn.1400e1360
mov rax, qword [rbp + 0x38]
test edi, edi
js 0x140002488
cmp edi, dword [rax - 0xc]
jg 0x140002488
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rbp + 0x38]
mov word [rax + rcx*2], r14w
xor eax, eax
mov qword [rsi], rax
call fcn.1400c82b4
mov rcx, rax
test rax, rax
je 0x14000247d
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsi], rax
mov dword [rbp - 0x10], 1
mov rax, qword [rbp + 0x38]
mov ecx, dword [rax - 0x10]
test ecx, ecx
js 0x14000243b
mov ebx, 0xffffffff
cmp word [rax], 0x22
jne 0x1400023a1
cmp ecx, 1
jle 0x140002415
lea edx, [rbx + 0x23]
lea rcx, [rax + 2]
call fcn.1400e11bc
mov rcx, rax
test rax, rax
je 0x140002411
mov rax, qword [rbp + 0x38]
sub rcx, rax
sar rcx, 1
cmp ecx, ebx
je 0x140002415
lea r8d, [rcx + 1]
mov r9d, dword [rax - 0x10]
sub r9d, r8d
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x38]
call fcn.140003ae0
mov dword [rbp - 0x10], 3
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.140004a90
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000239f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140002411
test ecx, ecx
jle 0x140002415
mov edx, 0x20
mov rcx, rax
call fcn.1400e11bc
mov rcx, rax
test rax, rax
je 0x140002411
mov rax, qword [rbp + 0x38]
sub rcx, rax
sar rcx, 1
cmp ecx, ebx
je 0x140002415
mov r9d, dword [rax - 0x10]
sub r9d, ecx
mov r8d, ecx
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x38]
call fcn.140003ae0
mov dword [rbp - 0x10], 5
lea rdx, [rbp + 0x48]
mov rcx, rsi
call fcn.140004a90
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140002411
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp + 0x38]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14000242d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, rsi
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.140004d90
int3
mov ecx, 0x80070057
call fcn.140004d90
int3
mov ecx, 0x80070057
call fcn.140004d90
int3
mov ecx, 0x80070057
call fcn.140004d90
int3
call fcn.1400e4174
mov dword [rax], 0x22
call fcn.1400e4024
call fcn.1400c8068
nop
mov ecx, 0x80004005
call fcn.140004d90
nop
mov ecx, 0x80070057
call fcn.140004d90
int3