Function at 0x140088879
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov r13, rcx
call qword [sym.imp.kernel32.dll_GetCommandLineW]
mov rcx, qword [0x14043d8b0]
mov qword [rsp + 0x40], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
test rax, rax
je 0x140088ba0
movzx ebp, word [rax]
test bp, bp
je 0x140088ba0
mov rsi, qword [0x14043e2d0]
lea rdi, [rsp + 0x58]
mov qword [rdi], rsi
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
add rax, 2
xor r8d, r8d
mov rcx, rsi
xor ebx, ebx
mov r15, rax
cmp bp, 9
je 0x140088904
cmp bp, 0x20
je 0x140088904
cmp bp, 0x22
jne 0x140088909
not bl
and bl, 1
jmp 0x140088937
test bl, 1
je 0x14008894a
cmp r8, qword [rsp + 0x60]
jne 0x140088925
mov rcx, rdi
mov rdx, r8
call fcn.1400836d8
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
mov word [rcx + r8*2], bp
mov r8, qword [rsp + 0x68]
inc r8
mov qword [rsp + 0x68], r8
movzx ebp, word [r15]
lea rax, [r15 + 2]
test bp, bp
jne 0x1400888e8
jmp 0x14008894a
add r15, 2
movzx eax, word [r15]
cmp ax, 0x20
je 0x140088946
cmp ax, 9
je 0x140088946
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400852ea
mov rdi, qword [rsp + 0x50]
cmp rdi, qword [rsp + 0x48]
jne 0x140088989
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov rdx, rdi
call fcn.14004affc
mov rdi, qword [rbx + 0x10]
mov rbp, qword [rsp + 0x40]
lea rax, [rdi + rdi*2]
mov rcx, qword [rsp + 0x80]
mov qword [rbp + rax*8 + 0x10], rcx
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp + rax*8], xmm0
inc rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x28], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movzx ebx, word [r15]
test bx, bx
je 0x140088c0f
xor esi, esi
lea r12, [rsp + 0x28]
lea r14, [r15 + 2]
cmp bx, 0x21
jg 0x140088a77
cmp bx, 9
je 0x1400889f0
cmp bx, 0x20
jne 0x140088a9d
test sil, 1
jne 0x140088a9d
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
lea rcx, [rsp + 0x70]
call fcn.1400852ea
cmp rdi, qword [rsp + 0x48]
jne 0x140088a2c
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.14004affc
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
lea rax, [rdi + rdi*2]
mov rcx, qword [rsp + 0x80]
mov qword [rbp + rax*8 + 0x10], rcx
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp + rax*8], xmm0
mov rdi, qword [rsp + 0x50]
inc rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x38], 0
movzx ebx, word [r14]
cmp bx, 0x20
je 0x140088a71
cmp bx, 9
jne 0x140088b8d
add r14, 2
jmp 0x140088a5d
cmp bx, 0x22
je 0x140088acc
cmp bx, 0x5c
jne 0x140088a9d
movzx eax, word [r14]
xor ebx, ebx
inc rbx
cmp ax, 0x5c
jne 0x140088ada
movzx eax, word [r14 + 2]
add r14, 2
jmp 0x140088a89
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140088ab6
mov rcx, r12
call fcn.1400836d8
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov word [rax + rdx*2], bx
inc rdx
mov qword [rsp + 0x38], rdx
jmp 0x140088b89
test sil, 1
jne 0x140088b3c
mov sil, 1
jmp 0x140088b89
cmp ax, 0x22
jne 0x140088b2f
mov rdx, rbx
shr rdx, 1
mov rcx, r12
call fcn.140088cf2
test bl, 1
je 0x140088b89
xor ebx, ebx
cmp word [r14], 0
setne r15b
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140088b1b
mov rcx, r12
call fcn.1400836d8
mov rdx, qword [rsp + 0x38]
mov bl, r15b
lea r14, [r14 + rbx*2]
mov rax, qword [rsp + 0x28]
mov word [rax + rdx*2], 0x22
jmp 0x140088abf
mov rcx, r12
mov rdx, rbx
call fcn.140088cf2
jmp 0x140088b89
movzx ebx, word [r14]
cmp bx, 0x22
je 0x140088b4f
test bx, bx
je 0x140088b99
xor esi, esi
jmp 0x140088b8d
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140088b68
mov rcx, r12
call fcn.1400836d8
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0x38], rdx
lea rax, [r15 + 4]
cmp word [r15 + 2], 0
cmovne r14, rax
movzx ebx, word [r14]
mov r15, r14
test bx, bx
jne 0x1400889d2
mov r8, qword [rsp + 0x38]
jmp 0x140088c14
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.14008871a
mov rbp, qword [rdi + 8]
cmp dword [rdi], 1
jne 0x140088bd7
lea rcx, [rsp + 0x70]
mov rax, qword [rcx + 0x10]
mov qword [rcx], rbp
mov qword [rcx + 8], rax
mov rbp, qword [0x14043e3f8]
call fcn.140001eb0
xorps xmm6, xmm6
jmp 0x140088bdf
movups xmm6, xmmword [rsp + 0x80]
lea rdi, [rsp + 0x40]
mov rcx, rdi
xor edx, edx
call fcn.14004affc
mov rax, qword [rdi + 0x10]
mov rsi, qword [rdi]
mov rbx, qword [rdi + 8]
lea rdi, [rax + 1]
lea rax, [rax + rax*2]
mov qword [rsi + rax*8], rbp
movups xmmword [rsi + rax*8 + 8], xmm6
jmp 0x140088cbe
xor r8d, r8d
xor esi, esi
test r8, r8
jne 0x140088c26
and sil, 1
jne 0x140088c26
mov rsi, qword [rsp + 0x40]
jmp 0x140088c77
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x70]
call fcn.1400852ea
cmp rdi, qword [rsp + 0x48]
jne 0x140088c50
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov rdx, rdi
call fcn.14004affc
mov rdi, qword [rbx + 0x10]
mov rsi, qword [rsp + 0x40]
lea rax, [rdi + rdi*2]
mov rcx, qword [rsp + 0x80]
mov qword [rsi + rax*8 + 0x10], rcx
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + rax*8], xmm0
inc rdi
mov qword [rsp + 0x50], rdi
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
shl rax, 1
test rax, rax
je 0x140088c9d
mov r8, qword [rsp + 0x28]
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x60]
shl rax, 1
test rax, rax
je 0x140088cbe
mov r8, qword [rsp + 0x58]
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
lea rax, [rdi + rdi*2]
lea rax, [rsi + rax*8]
mov qword [r13], rsi
mov qword [r13 + 8], rbx
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], rax
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret