Function at 0x140028fe0
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm6
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov r14, qword [0x1402b0d20]
test r14, r14
jne 0x1400299cc
mov ecx, 0x50
call fcn.140184834
mov rbp, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.140184834
mov qword [rbp + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rbp + 0x28], rcx
test rax, rax
je 0x140029c09
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rbp + 0x20], rcx
lea rsi, [rbp + 0x38]
movups xmmword [rbp + 0x38], xmm6
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x48], 1
mov qword [0x1402b0d20], rbp
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
test rax, rax
je 0x140029c0c
mov rdi, rax
mov rcx, rax
call fcn.1401855e4
lea rdx, [rsp + 0x70]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
lea rdi, [rsp + 0x140]
mov rcx, rdi
mov r8d, 3
call fcn.140029c50
mov rax, qword [rdi + 8]
test rax, rax
je 0x1400299cc
mov rdi, qword [rsp + 0x140]
mov qword [rbp], rdi
mov qword [rbp + 8], rax
mov dword [rsp + 0x6c], 0
lea rcx, [0x14027b518]
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x48], rax
je 0x140029c0f
lea rdx, [0x14027b568]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140029c22
lea rdx, [rsp + 0x6c]
mov rcx, rdi
call qword [case.0x1401eda70.0]
mov qword [rsp + 0x38], rax
movsxd rdi, dword [rsp + 0x6c]
test rdi, rdi
je 0x140029c29
shl rdi, 3
movabs rax, 0x5555555555555551
cmp rdi, rax
jae 0x140029c38
lea rcx, [rdi + rdi*2]
call fcn.140184834
mov r15, rax
xor ebx, ebx
mov rcx, rax
mov qword [rsp + 0x30], rax
test r15, r15
je 0x140029b65
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + rbx]
mov rcx, r15
call fcn.1401c4820
add r15, 0x18
add rbx, 8
cmp rdi, rbx
jne 0x140029170
mov qword [rsp + 0x50], r14
mov ecx, 0x18
call fcn.140184834
test rax, rax
je 0x140029c3b
mov rdi, rax
lea rax, [rbp + 0x18]
mov rbx, rbp
add rbx, 0x30
mov r14, rdi
add r14, 0x18
xorps xmm6, xmm6
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
mov qword [rsp + 0x40], rax
mov r12, qword [rax]
test r12, r12
je 0x14002921b
mov rax, qword [rbp + 0x20]
mov rcx, r12
cmp rax, r12
je 0x140029212
lea r13, [rax - 0x18]
cmp byte [rax - 1], 0
js 0x1400291ff
mov rax, r13
cmp r13, r12
jne 0x1400291eb
jmp 0x14002920a
mov rcx, qword [rax - 0x18]
call fcn.14018482c
jmp 0x1400291f5
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov qword [rbp + 0x20], r12
call fcn.14018482c
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], r14
mov rdx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.140028f80
mov qword [rbp + 0x30], rsi
movups xmmword [rbp + 0x38], xmm6
mov qword [rbp + 0x48], 1
mov rsi, qword [rsp + 0x30]
cmp rsi, r15
je 0x140029c3e
movzx eax, byte [rsi + 0x17]
test al, al
mov rcx, qword [rsi]
cmovns rcx, rsi
lea rdx, [rsp + 0x80]
mov qword [rdx], rcx
cmovs rax, qword [rsi + 8]
mov qword [rdx + 8], rax
lea rcx, [rsp + 0x140]
call fcn.140125070
lea rdi, [rsp + 0x140]
mov rcx, rbp
mov rdx, rdi
call fcn.14002aa60
cmp byte [rdi + 0x17], 0
jns 0x1400292a5
mov rcx, qword [rsp + 0x140]
call fcn.14018482c
mov rax, r15
sub rax, rsi
sar rax, 3
movabs r9, 0xaaaaaaaaaaaaaaab
imul r9, rax
cmp r9, 2
jb 0x14002996e
mov rax, qword [rbp + 8]
mov qword [rsp + 0x58], rax
lea rax, [0x14027b5a0]
lea r8, [rsp + 0x140]
cmp r8, rax
seta cl
lea rdx, [rsp + 0x144]
cmp rdx, rax
setbe al
or al, cl
mov byte [rsp + 0x2b], al
lea rax, [0x14027b5d8]
cmp r8, rax
seta cl
lea rdx, [rsp + 0x142]
cmp rdx, rax
setbe al
or al, cl
mov byte [rsp + 0x2a], al
lea rax, [0x14027b5dc]
cmp r8, rax
seta cl
cmp rdx, rax
setbe al
or al, cl
mov byte [rsp + 0x29], al
dec r9
mov rax, qword [rsp + 0x30]
lea r14, [rax + 0x18]
mov dil, 1
movabs r12, 0xaaaaaaaaaaaaaaaa
movaps xmm6, xmmword [0x1402724c0]
lea rsi, [rsp + 0x110]
xorps xmm7, xmm7
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x120], r12
movaps xmmword [rsp + 0x110], xmm6
cmp byte [r14 + 0x17], 0
jns 0x140029b68
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
mov rcx, rsi
call fcn.14001f360
movzx eax, byte [rsp + 0x127]
test al, al
mov rcx, qword [rsp + 0x110]
cmovns rcx, rsi
mov qword [rsp + 0x100], rcx
cmovs rax, qword [rsp + 0x118]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x100]
mov r8d, 3
call fcn.140029c50
mov r12, qword [rsp + 0xe8]
test r12, r12
js 0x140029bb6
mov rbx, qword [rsp + 0xe0]
je 0x1400293fb
test rbx, rbx
je 0x140029bc8
movabs rax, 0x7fffffffffffffef
cmp r12, rax
ja 0x140029bb9
cmp r12, 0xa
jbe 0x1400297ce
mov rsi, rbp
mov rbp, r12
or rbp, 7
inc rbp
js 0x140029bc5
lea rcx, [rbp*2]
call fcn.140184834
mov r13, rax
mov qword [rsp + 0x140], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbp
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x148], r12
mov rbp, rsi
lea rsi, [rsp + 0x110]
cmp r13, rbx
ja 0x140029488
lea rax, [r12*2]
add rax, r13
cmp rax, rbx
ja 0x140029bcb
lea r8, [r12 + r12]
mov rcx, r13
mov rdx, rbx
call fcn.140188f50
mov word [r13 + r12*2], 0
cmp byte [rsp + 0x127], 0
jns 0x1400294b6
mov rcx, qword [rsp + 0x110]
call fcn.14018482c
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x110], xmm0
xor eax, eax
mov qword [rsp + 0xf0], rax
movaps xmmword [rsp + 0xe0], xmm7
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0xc0], xmm7
mov al, byte [rsp + 0x127]
test al, al
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
movzx r13d, al
mov r8, r13
cmovs r8, rcx
mov rdx, rsi
cmovs rdx, rbx
test r8, r8
movabs r12, 0xaaaaaaaaaaaaaaaa
js 0x140029bbc
je 0x140029541
test rdx, rdx
je 0x140029bce
cmp r8, 2
je 0x140029b85
test dil, 1
je 0x140029ba9
mov rcx, rsi
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0xc0]
call fcn.14014b240
test al, al
je 0x140029a08
cmp qword [rsp + 0x58], 0
je 0x140029683
movzx eax, byte [rsp + 0xf7]
mov rcx, qword [rsp + 0xe0]
lea rsi, [rsp + 0xe0]
mov r13, rax
test al, al
jns 0x1400295ab
mov r13, qword [rsp + 0xe8]
mov rsi, rcx
mov qword [rsp + 0x150], r12
movaps xmmword [rsp + 0x140], xmm6
mov byte [rsp + 0x157], 2
cmp byte [rsp + 0x2b], 0
je 0x140029bf4
mov dword [rsp + 0x140], 0x2d002d
mov word [rsp + 0x144], 0
cmp r13, 2
jb 0x1400297e3
cmp word [rsi], 0x2d
jne 0x1400297e3
test al, al
lea rax, [rsp + 0xe0]
cmovns rcx, rax
cmp word [rcx + 2], 0x2d
jne 0x1400297e3
mov ebx, 2
cmp r13, rbx
je 0x140029683
lea rax, [0x14027b514]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 1
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], r13
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0x140]
xor r8d, r8d
call fcn.14015dc50
sub r13, rbx
jb 0x140029bbf
sub rax, rbx
cmp r13, rax
cmovb rax, r13
test rax, rax
js 0x140029bc2
cmp rax, 0xf
je 0x140029866
movzx eax, byte [rsp + 0xd7]
test al, al
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0xc0]
cmovns rcx, rdx
cmovs rax, qword [rsp + 0xc8]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
movzx eax, byte [rsp + 0xf7]
test al, al
mov rcx, qword [rsp + 0xe0]
lea rdx, [rsp + 0xe0]
cmovns rcx, rdx
mov qword [rsp + 0x90], rcx
cmovs rax, qword [rsp + 0xe8]
mov qword [rsp + 0x98], rax
lea rsi, [rsp + 0x140]
mov rcx, rsi
lea rdx, [rsp + 0x90]
call fcn.140149600
movzx eax, byte [rsp + 0x157]
test al, al
mov rcx, qword [rsp + 0x140]
cmovns rcx, rsi
mov qword [rsp + 0xa0], rcx
cmovs rax, qword [rsp + 0x148]
mov qword [rsp + 0xa8], rax
mov rcx, rbp
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0xb0]
call fcn.140029dc0
cmp byte [rsp + 0x157], 0
jns 0x140029767
mov rcx, qword [rsp + 0x140]
call fcn.14018482c
mov dil, 1
lea rsi, [rsp + 0x110]
cmp byte [rsp + 0xd7], 0
jns 0x140029789
mov rcx, qword [rsp + 0xc0]
call fcn.14018482c
cmp byte [rsp + 0xf7], 0
jns 0x1400297a0
mov rcx, qword [rsp + 0xe0]
call fcn.14018482c
cmp byte [rsp + 0x127], 0
jns 0x1400297b7
mov rcx, qword [rsp + 0x110]
call fcn.14018482c
add r14, 0x18
mov r9, qword [rsp + 0x60]
dec r9
jne 0x14002935e
jmp 0x14002996e
mov byte [rsp + 0x157], r12b
lea r13, [rsp + 0x140]
jmp 0x14002946f
mov qword [rsp + 0x150], r12
movaps xmmword [rsp + 0x140], xmm6
mov byte [rsp + 0x157], 1
cmp byte [rsp + 0x2a], 0
je 0x140029bf4
mov dword [rsp + 0x140], 0x2d
test r13, r13
je 0x140029bd1
cmp word [rsi], 0x2d
mov ebx, 1
je 0x140029615
mov qword [rsp + 0x150], r12
movaps xmmword [rsp + 0x140], xmm6
mov byte [rsp + 0x157], 1
cmp byte [rsp + 0x29], 0
je 0x140029bf4
mov dword [rsp + 0x140], 0x2f
cmp word [rsi], 0x2f
je 0x140029615
jmp 0x140029683
cmp word [rsi + rbx*2], 0x73
jne 0x140029683
cmp word [rsi + rbx*2 + 2], 0x69
jne 0x140029683
cmp word [rsi + rbx*2 + 4], 0x6e
jne 0x140029683
cmp word [rsi + rbx*2 + 6], 0x67
jne 0x140029683
cmp word [rsi + rbx*2 + 8], 0x6c
jne 0x140029683
cmp word [rsi + rbx*2 + 0xa], 0x65
jne 0x140029683
cmp word [rsi + rbx*2 + 0xc], 0x2d
jne 0x140029683
cmp word [rsi + rbx*2 + 0xe], 0x61
jne 0x140029683
cmp word [rsi + rbx*2 + 0x10], 0x72
jne 0x140029683
cmp word [rsi + rbx*2 + 0x12], 0x67
jne 0x140029683
cmp word [rsi + rbx*2 + 0x14], 0x75
jne 0x140029683
cmp word [rsi + rbx*2 + 0x16], 0x6d
jne 0x140029683
cmp word [rsi + rbx*2 + 0x18], 0x65
jne 0x140029683
cmp word [rsi + rbx*2 + 0x1a], 0x6e
jne 0x140029683
cmp word [rsi + rbx*2 + 0x1c], 0x74
jne 0x140029683
lea rdx, [rsp + 0xe0]
mov rcx, rbp
call fcn.1401c48e0
cmp byte [rsp + 0xd7], 0
jns 0x140029940
mov rcx, qword [rsp + 0xc0]
call fcn.14018482c
cmp byte [rsp + 0xf7], 0
jns 0x140029957
mov rcx, qword [rsp + 0xe0]
call fcn.14018482c
cmp byte [rsp + 0x127], 0
jns 0x14002996e
mov rcx, qword [rsp + 0x110]
call fcn.14018482c
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140029990
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rdi, qword [rsp + 0x30]
test rdi, rdi
mov r14, qword [rsp + 0x50]
je 0x1400299cc
cmp rdi, r15
je 0x1400299c4
lea rsi, [r15 - 0x18]
cmp byte [r15 - 1], 0
js 0x1400299b9
mov r15, rsi
cmp rsi, rdi
jne 0x1400299a4
jmp 0x1400299c4
mov rcx, qword [r15 - 0x18]
call fcn.14018482c
jmp 0x1400299af
mov rcx, rdi
call fcn.14018482c
test r14, r14
sete bl
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.1401874c0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, byte [rsp + 0x127]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
movzx r13d, al
mov dl, 1
mov dword [rsp + 0x2c], edx
test al, al
cmovns rbx, rsi
cmovs r13, rcx
test r13, r13
js 0x140029bf7
je 0x140029a47
test rbx, rbx
je 0x140029bfa
movabs rax, 0x7fffffffffffffef
cmp r13, rax
ja 0x140029bfd
cmp r13, 0xa
jbe 0x140029b50
mov r12, r13
or r12, 7
inc r12
js 0x140029c00
lea rcx, [r12 + r12]
call fcn.140184834
mov rdi, rax
mov qword [rsp + 0x140], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, r12
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x148], r13
movabs r12, 0xaaaaaaaaaaaaaaaa
cmp rdi, rbx
ja 0x140029ac5
lea rax, [rdi + r13*2]
cmp rax, rbx
ja 0x140029c03
lea r8, [r13*2]
mov rcx, rdi
mov rdx, rbx
call fcn.140188f50
mov word [rdi + r13*2], 0
mov rax, qword [rbp + 0x20]
cmp rax, qword [rbp + 0x28]
jb 0x140029b1f
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x140]
call fcn.14001e190
cmp byte [rsp + 0x157], 0
mov edi, dword [rsp + 0x2c]
jns 0x140029772
mov rcx, qword [rsp + 0x140]
call fcn.14018482c
jmp 0x140029772
test rax, rax
mov edi, dword [rsp + 0x2c]
je 0x140029c06
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x140]
movups xmmword [rax], xmm0
add rax, 0x18
mov qword [rbp + 0x20], rax
jmp 0x140029772
mov byte [rsp + 0x157], r13b
lea rdi, [rsp + 0x140]
jmp 0x140029ab3
int3
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x110], xmm0
jmp 0x14002938d
cmp word [rdx], 0x2d
jne 0x14002954b
test al, al
mov rdx, rsi
cmovs rdx, rbx
cmp word [rdx + 2], 0x2d
setne dl
test dil, dl
jne 0x140029555
mov dword [rsp + 0x2c], 0
jmp 0x140029a29
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov qword [rsp + 0x150], r12
movaps xmmword [rsp + 0x140], xmm6
mov byte [rsp + 0x157], 1
cmp byte [rsp + 0x29], 0
jne 0x140029683
int3
int3
int3
int3
int3
int3
int3
int3
int3
lea rdx, [rsp + 0x6c]
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x140029130
xor eax, eax
jmp 0x140029130
xor eax, eax
mov qword [rsp + 0x30], rax
xor r15d, r15d
jmp 0x140029197
int3
int3
lea rcx, [rsp + 0x140]
call fcn.1401838a0
jmp 0x14002927f