Function at 0x140003510
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, rdx
mov r15, rcx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x1400037e8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r15], rax
mov dword [rsp + 0x20], 1
lea rdx, [rsp + 0x80]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov r12, rax
test rax, rax
je 0x1400036b5
mov esi, r13d
cmp dword [rsp + 0x80], r13d
jle 0x1400036ac
mov r14, rax
mov rbp, 0xffffffffffffffff
mov rbx, qword [r14]
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x1400037dd
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.140002d90
test al, al
jne 0x1400035fc
test rbx, rbx
jne 0x1400035d9
mov r8d, r13d
jmp 0x1400035eb
mov r8, rbp
nop dword [rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400035e0
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.1400048b0
nop
mov rbx, qword [rsp + 0x88]
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x1400037d2
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140003638
mov edx, edi
lea rcx, [rsp + 0x88]
call fcn.1400045e0
mov rbx, qword [rsp + 0x88]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140024408
cmp edi, dword [rbx - 0xc]
jg 0x1400037d2
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r13w
mov rdx, qword [0x14005a700]
test rdx, rdx
je 0x140003680
cmp dword [rbx - 0x10], 0
jl 0x140003680
mov rcx, rbx
call fcn.14001ea78
test rax, rax
je 0x140003680
sub rax, rbx
sar rax, 1
test eax, eax
je 0x1400036cd
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140003699
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc esi
add r14, 8
cmp esi, dword [rsp + 0x80]
jl 0x140003595
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rax, r15
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [0x14005a700]
mov r8d, dword [rax - 0x10]
mov r9d, dword [rbx - 0x10]
sub r9d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x88]
call fcn.140004440
mov dword [rsp + 0x20], 3
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.140002590
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140003725
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov edx, 0x5c
mov rcx, qword [r15]
call fcn.14001e9c8
mov rcx, rax
test rax, rax
je 0x140003745
sub rcx, qword [r15]
sar rcx, 1
cmp ecx, 0xffffffff
jne 0x140003764
mov edx, 0x2f
mov rcx, qword [r15]
call fcn.14001e9c8
test rax, rax
je 0x1400037aa
sub rax, qword [r15]
sar rax, 1
mov ecx, eax
cmp eax, 0xffffffff
je 0x1400037aa
mov rax, qword [r15]
mov r8d, dword [rax - 0x10]
sub r8d, ecx
dec r8d
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.140004750
nop
mov rdx, rax
mov rcx, r15
call fcn.140002590
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400037aa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x1400036ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400036ac
mov ecx, 0x80070057
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
int3