Function at 0x140088210
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [0x140131028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov r14, qword [0x1401494f0]
test r14, r14
jne 0x1400886fb
mov ecx, 0x50
call fcn.140094aec
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.140094aec
mov qword [rsi + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x28], rcx
test rax, rax
je 0x140088f1c
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsi + 0x20], rcx
mov rdi, rsi
add rdi, 0x38
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x48], 1
mov qword [0x1401494f0], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x140088f1f
mov rbx, rax
mov rcx, rax
call fcn.140095254
lea rbp, [rsp + 0xf0]
mov qword [rbp], rbx
mov qword [rbp + 8], rax
lea rax, [0x14011f4f0]
lea r8, [rsp + 0x108]
mov qword [r8], rax
mov qword [r8 + 8], 0x19
lea rbx, [rsp + 0xd0]
mov rcx, rbx
mov rdx, rbp
mov r9d, 3
call fcn.14007a7d0
mov rax, qword [rbx + 8]
test rax, rax
je 0x1400886fb
mov rbx, qword [rsp + 0xd0]
mov qword [rsi], rbx
mov qword [rsi + 8], rax
mov dword [rsp + 0x5c], 0
lea rcx, [0x14011ba94]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x38], rax
je 0x140088f6c
lea rdx, [0x14011bae4]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140088f22
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [0x140154008]
mov r12, rax
movsxd rbx, dword [rsp + 0x5c]
test rbx, rbx
mov qword [rsp + 0x40], r14
je 0x140088f3f
test ebx, ebx
js 0x140088f2a
shl rbx, 3
lea rcx, [rbx + rbx*2]
call fcn.140094aec
mov r13, rax
xor r15d, r15d
xor r14d, r14d
mov rcx, r13
add rcx, r15
je 0x140088eb6
mov rdx, qword [r12 + r14]
call fcn.1400121c0
add r14, 8
add r15, 0x18
cmp rbx, r14
jne 0x1400883b7
mov r14, r13
add r14, r15
mov ecx, 0x18
call fcn.140094aec
test rax, rax
je 0x140088f2d
mov rbx, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov r15, qword [rsi + 0x18]
test r15, r15
je 0x140088459
mov rbp, r12
mov r12, qword [rsi + 0x20]
mov rcx, r15
cmp r12, r15
je 0x140088445
add r12, 0xffffffffffffffe8
test r12, r12
je 0x140088f39
cmp byte [r12 + 0x17], 0
js 0x140088ea8
lea rax, [r12 - 0x18]
cmp r12, r15
mov r12, rax
jne 0x14008841f
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x20], r15
call fcn.140094ae4
mov r12, rbp
lea rbp, [rsp + 0xf0]
mov rax, rbx
add rax, 0x18
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rax
mov rcx, qword [rsi + 0x38]
call fcn.140012350
mov qword [rsi + 0x30], rdi
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x48], 1
cmp r13, r14
je 0x140088f4a
movzx eax, byte [r13 + 0x17]
test al, al
jns 0x140088f7f
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
test rax, rax
js 0x140088f30
test rcx, rcx
jne 0x1400884c4
test rax, rax
jne 0x140088f91
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x60]
call fcn.140085e10
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, rbp
test rax, rax
js 0x140088f33
test rcx, rcx
jne 0x140088511
test rax, rax
jne 0x140088f94
movabs rdi, 0x7fffffffffffffef
lea r8, [rsp + 0x108]
lea rdx, [0x14011f4f0]
mov qword [r8], rdx
mov qword [r8 + 8], 0x19
lea rdx, [rsp + 0xd0]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov r9d, 3
call fcn.14007a7d0
mov rbx, qword [rbx + 8]
cmp rbx, rdi
ja 0x140088f36
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x140088687
mov rdi, rbx
or rdi, 7
inc rdi
js 0x140088f69
lea rcx, [rdi + rdi]
call fcn.140094aec
mov rcx, rax
mov qword [rsp + 0x108], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rdi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rbx
lea rdi, [rcx + rbx*2]
cmp rcx, rbp
ja 0x1400885d0
cmp rdi, rbp
ja 0x140088f97
test rbx, rbx
je 0x1400885e3
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.1400986f0
mov word [rdi], 0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], rdi
je 0x140088f3c
mov qword [rsp + 0x30], r12
cmp byte [rdi + 0x17], 0
lea rbp, [rsp + 0xf0]
js 0x140088f5c
mov rax, qword [rsp + 0x118]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [rdi], xmm0
cmp byte [rsp + 0x107], 0
jns 0x14008863b
mov rcx, qword [rsp + 0xf0]
call fcn.140094ae4
mov rax, r14
sub rax, r13
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
mov qword [rsp + 0x50], rcx
cmp rcx, 2
lea rdi, [rsp + 0x108]
jb 0x140088697
mov rax, qword [rsi + 8]
mov qword [rsp + 0x48], rax
mov r12b, 1
mov r15d, 1
movaps xmm6, xmmword [0x140115d80]
xorps xmm7, xmm7
jmp 0x1400887fc
lea rcx, [rsp + 0x108]
mov byte [rcx + 0x17], bl
jmp 0x1400885be
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400886b8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
je 0x1400886f6
cmp r13, r14
je 0x1400886ee
add r14, 0xffffffffffffffe8
jmp 0x1400886dc
mov rcx, qword [r14]
call fcn.140094ae4
lea rax, [r14 - 0x18]
cmp r14, r13
mov r14, rax
je 0x1400886ee
test r14, r14
je 0x140088ebf
cmp byte [r14 + 0x17], 0
jns 0x1400886d0
jmp 0x1400886c8
mov rcx, r13
call fcn.140094ae4
mov r14, qword [rsp + 0x40]
test r14, r14
sete bl
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140096c60
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rcx, rbp
call fcn.14000cfd0
jmp 0x140088846
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, rbp
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
test rax, rax
js 0x140088ee9
test rcx, rcx
jne 0x140088790
test rax, rax
jne 0x140088f0a
mov rcx, rsi
lea rdx, [rsp + 0x70]
call fcn.1400123b0
xor ebx, ebx
cmp byte [rsp + 0xc7], 0
jns 0x1400887b6
mov rcx, qword [rsp + 0xb0]
call fcn.140094ae4
cmp byte [rsp + 0xe7], 0
jns 0x1400887cd
mov rcx, qword [rsp + 0xd0]
call fcn.140094ae4
mov cl, byte [rsp + 0x107]
test cl, cl
jns 0x1400887e5
mov rcx, qword [rsp + 0xf0]
call fcn.140094ae4
test bl, 3
jne 0x140088697
inc r15
cmp r15, qword [rsp + 0x50]
je 0x140088697
lea rax, [r15 + r15*2]
lea rax, [rax*8]
add rax, r13
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rcx
movaps xmmword [rsp + 0xf0], xmm6
cmp byte [rax + 0x17], 0
js 0x140088737
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
movzx ecx, byte [rsp + 0x107]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmovns rcx, rbp
test rax, rax
js 0x140088eb9
test rcx, rcx
jne 0x140088881
test rax, rax
jne 0x140088ecb
lea rdx, [0x14011f4f0]
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0x19
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0xd0]
mov r8, rdi
mov r9d, 3
call fcn.14007a7d0
mov rbx, qword [rsp + 0xb8]
movabs rax, 0x7fffffffffffffef
cmp rbx, rax
ja 0x140088ebc
mov rbp, qword [rsp + 0xb0]
cmp rbx, 0xa
jbe 0x1400889c0
mov rdi, rbx
or rdi, 7
inc rdi
js 0x140088ec8
lea rcx, [rdi + rdi]
call fcn.140094aec
mov rcx, rax
mov qword [rsp + 0x108], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rdi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], rbx
lea rdi, [rcx + rbx*2]
cmp rcx, rbp
ja 0x14008894e
cmp rdi, rbp
ja 0x140088ece
test rbx, rbx
je 0x140088961
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.1400986f0
mov word [rdi], 0
cmp byte [rsp + 0x107], 0
jns 0x14008897d
mov rcx, qword [rsp + 0xf0]
call fcn.140094ae4
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xf0], xmm0
movzx ecx, byte [rsp + 0x107]
test cl, cl
lea rbp, [rsp + 0xf0]
lea rdi, [rsp + 0x108]
js 0x1400889d9
mov eax, ecx
and eax, 0x7f
jmp 0x1400889e1
mov byte [rsp + 0x11f], bl
mov rcx, rdi
jmp 0x14008893c
mov ebx, 4
jmp 0x1400887d4
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x1400889cf
test cl, cl
movaps xmmword [rsp + 0xd0], xmm7
mov edx, 0
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xc0], rdx
movaps xmmword [rsp + 0xb0], xmm7
mov r8, qword [rsp + 0xf0]
mov rdx, rbp
cmovs rdx, r8
test rax, rax
js 0x140088ec2
test rdx, rdx
je 0x140088ec5
cmp rax, 2
jne 0x140088a4b
cmp word [rdx], 0x2d
jne 0x140088a4b
test cl, cl
cmovns r8, rbp
cmp word [r8 + 2], 0x2d
sete cl
jmp 0x140088a4d
xor ecx, ecx
xor cl, 1
and r12b, cl
xor ecx, ecx
mov word [rsp + 0xd0], cx
mov byte [rsp + 0xe7], cl
mov word [rsp + 0xb0], cx
mov byte [rsp + 0xc7], cl
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rax
lea rcx, [rsp + 0x120]
call fcn.140089160
test rax, rax
je 0x14008874b
movzx edx, byte [rsp + 0x107]
test dl, dl
js 0x140088aac
mov ecx, edx
and ecx, 0x7f
jmp 0x140088ab4
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
je 0x14008874b
mov rax, rbp
test dl, dl
jns 0x140088acc
mov rax, qword [rsp + 0xf0]
lea rdx, [rax + rcx*2]
mov r8, rdx
test rcx, rcx
jle 0x140088af5
mov r8, rax
cmp word [r8], 0x3d
je 0x140088af0
add r8, 2
dec rcx
jne 0x140088adb
mov r8, rdx
jmp 0x140088af5
test r8, r8
je 0x140088aeb
mov rbx, r8
sub rbx, rax
sar rbx, 1
cmp r8, rdx
mov rax, 0xffffffffffffffff
cmove rbx, rax
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
mov r9, rbx
call fcn.140012270
cmp byte [rsp + 0xe7], 0
js 0x140088ed1
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xd0], xmm0
cmp rbx, 0xffffffffffffffff
je 0x140088bb1
inc rbx
lea rax, [rsp + 0x137]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbp
mov r8, rbx
mov r9, 0xffffffffffffffff
call fcn.140012270
cmp byte [rsp + 0xc7], 0
js 0x140088eef
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xb0], xmm0
test r12b, r12b
je 0x14008874b
cmp qword [rsp + 0x48], 0
je 0x140088ca2
movzx eax, byte [rsp + 0xe7]
mov ebx, eax
and ebx, 0x7f
test al, al
cmovs rbx, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xd0]
lea rax, [rsp + 0xd0]
cmovns r12, rax
test rbx, rbx
js 0x140088f01
test r12, r12
jne 0x140088c09
test rbx, rbx
jne 0x140088f0d
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], rbx
mov rcx, rdi
call fcn.140089160
test rax, rax
je 0x140088ca2
cmp rbx, rax
je 0x140088ca2
lea rcx, [r12 + rbx*2]
mov rdx, rcx
test rbx, rbx
je 0x140088c53
mov rdx, r12
mov r8, rbx
cmp word [rdx], 0x3d
je 0x140088ddc
add rdx, 2
dec r8
jne 0x140088c3d
mov rdx, rcx
sub rbx, rax
jb 0x140088f04
mov r8, rdx
sub r8, r12
sar r8, 1
cmp rdx, rcx
mov rcx, 0xffffffffffffffff
cmove r8, rcx
sub r8, rax
cmp rbx, r8
cmovb r8, rbx
test r8, r8
js 0x140088f07
lea rax, [r12 + rax*2]
test rax, rax
jne 0x140088c98
test r8, r8
jne 0x140088f10
cmp r8, 0xf
je 0x140088dea
movzx ecx, byte [rsp + 0xc7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0xb0]
cmovns rcx, rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
test rax, rax
js 0x140088ee3
test rcx, rcx
jne 0x140088cf5
test rax, rax
jne 0x140088f13
movzx ecx, byte [rsp + 0xe7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0xd0]
cmovns rcx, rdx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
test rax, rax
js 0x140088ee6
test rcx, rcx
jne 0x140088d48
test rax, rax
jne 0x140088f16
mov rcx, rdi
lea rdx, [rsp + 0x80]
call fcn.14007cee0
movzx eax, byte [rsp + 0x11f]
test al, al
js 0x140088d6c
and eax, 0x7f
mov rcx, rdi
jmp 0x140088d7c
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
test rax, rax
js 0x140088eec
test rcx, rcx
jne 0x140088da3
test rax, rax
jne 0x140088f19
mov rcx, rsi
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0xa0]
call fcn.140012680
cmp byte [rsp + 0x11f], 0
jns 0x140088dd2
mov rcx, qword [rsp + 0x108]
call fcn.140094ae4
xor ebx, ebx
mov r12b, 1
jmp 0x14008879f
test rdx, rdx
jne 0x140088c53
jmp 0x140088c50
cmp word [rax], 0x73
jne 0x140088ca2
cmp word [rax + 2], 0x69
jne 0x140088ca2
cmp word [rax + 4], 0x6e
jne 0x140088ca2
cmp word [rax + 6], 0x67
jne 0x140088ca2
cmp word [rax + 8], 0x6c
jne 0x140088ca2
cmp word [rax + 0xa], 0x65
jne 0x140088ca2
cmp word [rax + 0xc], 0x2d
jne 0x140088ca2
cmp word [rax + 0xe], 0x61
jne 0x140088ca2
cmp word [rax + 0x10], 0x72
jne 0x140088ca2
cmp word [rax + 0x12], 0x67
jne 0x140088ca2
cmp word [rax + 0x14], 0x75
jne 0x140088ca2
cmp word [rax + 0x16], 0x6d
jne 0x140088ca2
cmp word [rax + 0x18], 0x65
jne 0x140088ca2
cmp word [rax + 0x1a], 0x6e
jne 0x140088ca2
cmp word [rax + 0x1c], 0x74
jne 0x140088ca2
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400c8b90
mov ebx, 1
jmp 0x140088dd4
mov rcx, qword [r12]
call fcn.140094ae4
jmp 0x140088434
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rsp + 0xd0]
call fcn.140094ae4
jmp 0x140088b38
int3
int3
int3
int3
mov rcx, qword [rsp + 0xb0]
call fcn.140094ae4
jmp 0x140088b91
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor r12d, r12d
jmp 0x140088386
int3
int3
int3
int3
int3
int3
int3
xor r13d, r13d
xor r14d, r14d
jmp 0x1400883df
lea rcx, [rsp + 0xf0]
call fcn.140094370
jmp 0x1400884d6
mov rcx, qword [rdi]
call fcn.140094ae4
jmp 0x14008860d
int3
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x140088383
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], rax
mov rcx, r13
jmp 0x1400884b6
int3
int3
int3