Function at 0x1400223c0
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x288
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm6
mov rax, qword [0x1400dd028]
xor rax, rsp
mov qword [rsp + 0x258], rax
mov rax, qword [0x1400e4538]
test rax, rax
jne 0x1400243e3
mov qword [rsp + 0x80], rax
mov ecx, 0x48
call fcn.14005aaac
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov ecx, 0x18
call fcn.14005aaac
mov qword [rsi + 0x10], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x20], rcx
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsi + 0x18], rcx
lea rax, [rsi + 0x30]
movups xmmword [rsi + 0x30], xmm6
mov qword [rsp + 0x68], rax
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x40], 1
mov r13, rsi
mov qword [0x1400e4538], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14002424b
mov rcx, rax
call fcn.140071888
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
lea rdx, [rsp + 0xd0]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rsi, [rsp + 0x230]
mov rcx, rsi
mov r8d, 3
call fcn.140027ad0
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xa0], xmm0
cmp qword [rsp + 0xa8], 0
je 0x1400243db
movaps xmm0, xmmword [rsp + 0xa0]
mov qword [rsp + 0x40], r13
movups xmmword [r13], xmm0
mov dword [rsp + 0xcc], 0
lea rcx, str.api_ms_win_downlevel_shell32_l1_1_0.dll
xor edx, edx
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
mov qword [rsp + 0x78], rax
je 0x140024252
lea rdx, [0x1400c99ce]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14002426d
mov rbp, rax
mov rcx, qword [rsp + 0xa0]
lea rdx, [rsp + 0xcc]
call rax
mov qword [rsp + 0x60], rax
movsxd r14, dword [rsp + 0xcc]
xorps xmm6, xmm6
movaps xmmword [rsp + 0xb0], xmm6
mov qword [rsp + 0xc0], 0
test r14, r14
je 0x140022662
test r14d, r14d
js 0x140024274
shl r14, 3
lea rsi, [r14 + r14*2]
mov rcx, rsi
call fcn.14005aaac
mov rbx, rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rax
add rax, rsi
mov qword [rsp + 0xc0], rax
xor edi, edi
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax + rdi]
mov rcx, rsi
call fcn.140071888
mov rbp, rax
movabs rax, 0x7fffffffffffffef
cmp rbp, rax
ja 0x140023e5e
cmp rbp, 0xb
jae 0x140022617
mov byte [rbx + 0x17], bpl
test rbp, rbp
je 0x1400225fe
cmp rbp, 3
jne 0x140023ee1
movzx eax, word [rsi + 4]
mov word [rbx + 4], ax
mov eax, dword [rsi]
mov dword [rbx], eax
mov r15, rbx
mov word [r15 + rbp*2], 0
add rbx, 0x18
add rdi, 8
cmp r14, rdi
jne 0x1400225b2
jmp 0x14002265a
lea r12, [rbp + 8]
and r12, 0xfffffffffffffff8
lea rcx, [r12 + r12]
call fcn.14005aaac
mov r15, rax
mov qword [rbx], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, r12
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], rbp
mov r8, rbp
add r8, rbp
mov rcx, r15
mov rdx, rsi
call fcn.14005dcd0
jmp 0x140022601
mov qword [rsp + 0xb8], rbx
mov ecx, 0x18
call fcn.14005aaac
mov rsi, rax
lea rdi, [rax + 0x18]
movups xmmword [rax], xmm6
xor r14d, r14d
mov qword [rax + 0x10], r14
mov rbp, r13
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x38], rcx
call fcn.140024ad0
mov rbx, qword [rsp + 0x40]
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x20], rdi
lea rcx, [rsp + 0x230]
mov qword [rcx + 0x10], r14
movaps xmmword [rcx], xmm6
call fcn.140041df0
add rbp, 0x28
mov rdx, qword [rbx + 0x30]
mov qword [rsp + 0x58], rbp
mov rcx, rbp
call fcn.140024a70
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x28], rax
movups xmmword [rbx + 0x30], xmm6
mov qword [rbx + 0x40], 1
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0xb8]
je 0x140024281
movzx ecx, byte [rax + 0x17]
test cl, cl
mov rbp, qword [rax]
cmovns rbp, rax
lea rdx, [rsp + 0xe8]
mov qword [rdx], rbp
cmovs rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
lea rcx, [rsp + 0x230]
call fcn.140041f30
lea rsi, [rsp + 0x230]
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.140022260
mov rcx, rsi
call fcn.140042030
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
sub rcx, rax
sar rcx, 3
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rdx
cmp rcx, 2
jb 0x1400243a8
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x88], rcx
mov r14b, 1
mov ebp, 1
movaps xmm6, xmmword [0x1400c48d0]
xorps xmm7, xmm7
mov qword [rsp + 0x90], rbp
lea rdx, [rbp*2]
add rdx, rbp
lea rcx, [rax + rdx*8]
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x190], rbp
movaps xmmword [rsp + 0x180], xmm6
cmp byte [rcx + 0x17], 0
jns 0x140023e69
mov r8, qword [rax + rdx*8 + 8]
mov rdx, qword [rcx]
lea rsi, [rsp + 0x180]
mov rcx, rsi
call fcn.140040540
movzx eax, byte [rsp + 0x197]
test al, al
mov rcx, qword [rsp + 0x180]
cmovns rcx, rsi
mov qword [rsp + 0x170], rcx
cmovs rax, qword [rsp + 0x188]
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0x170]
mov r8d, 3
call fcn.140027ad0
mov rbx, qword [rsp + 0x218]
test rbx, rbx
je 0x140023cdc
movabs rax, 0x7fffffffffffffef
cmp rbx, rax
ja 0x140023e1e
mov rsi, qword [rsp + 0x210]
cmp rbx, 0xa
jbe 0x140022d0b
lea rbp, [rbx + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.14005aaac
mov rdi, rax
mov qword [rsp + 0x230], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbp
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x238], rbx
lea r8, [rbx + rbx]
mov rcx, rdi
mov rdx, rsi
call fcn.14005dcd0
mov word [rdi + rbx*2], 0
cmp byte [rsp + 0x197], 0
jns 0x1400228ce
mov rcx, qword [rsp + 0x180]
call fcn.14005aae8
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x190], rax
movaps xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x180], xmm0
xor eax, eax
mov qword [rsp + 0x160], rax
movaps xmmword [rsp + 0x150], xmm7
mov qword [rsp + 0x140], rax
movaps xmmword [rsp + 0x130], xmm7
movzx eax, byte [rsp + 0x197]
test al, al
jns 0x140022924
mov rax, qword [rsp + 0x188]
mov cl, 1
cmp rax, 2
je 0x140023e8d
and r14b, cl
cmp r14b, 1
jne 0x140023c91
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x130]
call fcn.140041870
test al, al
je 0x140023c91
mov byte [rsp + 0x2f], r14b
cmp qword [rsp + 0x88], 0
je 0x140022ad9
movzx ebx, byte [rsp + 0x167]
lea r14, [rsp + 0x150]
test bl, bl
jns 0x14002299a
mov r14, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
xor ebp, ebp
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x240], rax
movaps xmmword [rsp + 0x230], xmm6
mov rax, rbp
shl rax, 4
lea rcx, [0x1400c9940]
mov rdx, qword [rax + rcx]
mov rsi, qword [rax + rcx + 8]
mov byte [rsp + 0x247], sil
lea r8, [rsi + rsi]
lea rcx, [rsp + 0x230]
call fcn.14005dcd0
mov word [rsp + rsi*2 + 0x230], 0
movzx eax, byte [rsp + 0x247]
mov rcx, rax
test al, al
jns 0x140022a07
mov rcx, qword [rsp + 0x238]
cmp rbx, rcx
jb 0x140022a6a
mov r12b, 1
test rcx, rcx
je 0x140023e56
lea rdx, [rsp + 0x230]
test al, al
jns 0x140022a2c
mov rdx, qword [rsp + 0x230]
xor edi, edi
movzx esi, word [r14 + rdi*2]
cmp si, word [rdx + rdi*2]
jne 0x140022a6a
inc rdi
cmp rcx, rdi
jne 0x140022a2e
mov r15, rcx
test al, al
js 0x140023e2b
test r12b, r12b
jne 0x140022a6f
inc rbp
movzx eax, byte [0x1400e4540]
xor rax, 3
cmp rbp, rax
jb 0x14002299c
jmp 0x140022ad9
xor r12d, r12d
jmp 0x140022a44
test r15, r15
je 0x140022ad9
cmp rbx, r15
je 0x140022ad9
lea rax, [0x1400c9970]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 1
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0x230]
xor r8d, r8d
call fcn.140045aa0
sub rbx, r15
jb 0x140023e66
sub rax, r15
cmp rbx, rax
cmovb rax, rbx
cmp rax, 0xf
je 0x140023b63
movzx eax, byte [rsp + 0x147]
test al, al
mov rcx, qword [rsp + 0x130]
lea rdx, [rsp + 0x130]
cmovns rcx, rdx
cmovs rax, qword [rsp + 0x138]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
movzx eax, byte [rsp + 0x167]
test al, al
mov rcx, qword [rsp + 0x150]
lea rdx, [rsp + 0x150]
cmovns rcx, rdx
mov qword [rsp + 0xf8], rcx
cmovs rax, qword [rsp + 0x158]
mov qword [rsp + 0x100], rax
lea rdi, [rsp + 0x108]
mov rcx, rdi
lea rdx, [rsp + 0xf8]
call fcn.140044d70
movabs rsi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x220], rsi
movaps xmmword [rsp + 0x210], xmm6
movzx eax, byte [rsp + 0x11f]
test al, al
mov rcx, qword [rsp + 0x108]
cmovns rcx, rdi
mov qword [rsp + 0x200], rcx
cmovs rax, qword [rsp + 0x110]
mov qword [rsp + 0x208], rax
lea rdi, [rsp + 0x210]
mov rcx, rdi
lea rdx, [rsp + 0x200]
call fcn.140045200
mov qword [rsp + 0x1f0], rsi
movaps xmmword [rsp + 0x1e0], xmm6
movzx eax, byte [rsp + 0x227]
test al, al
mov rcx, qword [rsp + 0x210]
cmovns rcx, rdi
mov qword [rsp + 0x1d0], rcx
cmovs rax, qword [rsp + 0x218]
mov qword [rsp + 0x1d8], rax
lea r15, [rsp + 0x1e0]
mov rcx, r15
lea rdx, [rsp + 0x1d0]
call fcn.140044a20
movzx r14d, byte [rsp + 0x1f7]
test r14b, r14b
jns 0x140022c35
mov r15, qword [rsp + 0x1e0]
mov r14, qword [rsp + 0x1e8]
xor ebx, ebx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x240], rax
movaps xmmword [rsp + 0x230], xmm6
mov rax, rbx
shl rax, 4
lea rcx, [0x1400c9940]
mov rdx, qword [rax + rcx]
mov rsi, qword [rax + rcx + 8]
mov byte [rsp + 0x247], sil
lea r8, [rsi + rsi]
lea rcx, [rsp + 0x230]
call fcn.14005dcd0
mov word [rsp + rsi*2 + 0x230], 0
movzx eax, byte [rsp + 0x247]
mov rcx, rax
test al, al
jns 0x140022ca2
mov rcx, qword [rsp + 0x238]
cmp r14, rcx
jb 0x140022d07
mov bpl, 1
test rcx, rcx
je 0x140023e4f
lea rdx, [rsp + 0x230]
test al, al
jns 0x140022cc7
mov rdx, qword [rsp + 0x230]
xor esi, esi
movzx edi, word [r15 + rsi*2]
cmp di, word [rdx + rsi*2]
jne 0x140022d07
inc rsi
cmp rcx, rsi
jne 0x140022cc9
mov qword [rsp + 0x48], rcx
test al, al
js 0x140023e3d
test bpl, bpl
jne 0x140022d3b
inc rbx
movzx eax, byte [0x1400e4540]
xor rax, 3
cmp rbx, rax
jb 0x140022c37
jmp 0x140022d34
xor ebp, ebp
jmp 0x140022ce1
mov byte [rsp + 0x247], bl
lea rdi, [rsp + 0x230]
jmp 0x1400228a2
mov rcx, qword [rax]
lea rax, [rcx + 0x10]
mov rsi, qword [rcx + 0x10]
cmp qword [rsi], rcx
jne 0x140022d1f
jmp 0x1400239eb
xor eax, eax
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x128]
test rbx, rbx
je 0x140023cf5
movabs rax, 0x7fffffffffffffef
cmp rbx, rax
ja 0x140023e1e
mov rsi, qword [rsp + 0x120]
cmp rbx, 0xa
jbe 0x14002307d
lea rbp, [rbx + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.14005aaac
mov rdi, rax
mov qword [rsp + 0x230], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbp
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x238], rbx
lea r8, [rbx + rbx]
mov rcx, rdi
mov rdx, rsi
call fcn.14005dcd0
mov word [rdi + rbx*2], 0
lea rax, [rsp + 0x228]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x210]
mov r8, qword [rsp + 0x48]
mov r9, 0xffffffffffffffff
call fcn.140021cd0
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax + 0x30]
mov rbp, qword [rsp + 0x68]
test rsi, rsi
je 0x140022f7e
movzx edi, byte [rsp + 0x1c7]
test dil, dil
cmovs rdi, qword [rsp + 0x1b8]
mov r14, qword [rsp + 0x1b0]
lea rax, [rsp + 0x1b0]
cmovns r14, rax
movzx ebx, byte [rsi + 0x37]
test bl, bl
js 0x140023051
lea rcx, [rsi + 0x20]
cmp rdi, rbx
setb bpl
mov r8, rbx
cmovb r8, rdi
test r8, r8
je 0x14002384c
mov rdx, r14
call fcn.14005dbd0
test eax, eax
je 0x14002384c
mov ecx, eax
shr ecx, 0x1f
test eax, eax
mov rbx, qword [rsi + rcx*8]
cmovs rsi, qword [rsp + 0x68]
test rbx, rbx
je 0x140022f1f
movzx ebp, byte [rbx + 0x37]
test bpl, bpl
js 0x1400230b0
lea rcx, [rbx + 0x20]
cmp rdi, rbp
setb r15b
mov r8, rbp
cmovb r8, rdi
test r8, r8
je 0x140023a61
mov rdx, r14
call fcn.14005dbd0
test eax, eax
je 0x140023a61
mov ecx, eax
shr ecx, 0x1f
test eax, eax
cmovns rsi, rbx
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
je 0x140022f1f
movzx ebp, byte [rbx + 0x37]
test bpl, bpl
js 0x140023939
lea rcx, [rbx + 0x20]
cmp rdi, rbp
setb r15b
mov r8, rbp
cmovb r8, rdi
test r8, r8
je 0x140023a81
mov rdx, r14
call fcn.14005dbd0
test eax, eax
je 0x140023a81
mov ecx, eax
shr ecx, 0x1f
test eax, eax
cmovns rsi, rbx
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
jne 0x1400238e4
cmp rsi, qword [rsp + 0x68]
je 0x140022f7b
movzx edi, byte [rsi + 0x37]
test dil, dil
jns 0x140022f39
mov rdi, qword [rsi + 0x28]
mov rdx, qword [rsi + 0x20]
jmp 0x140022f3d
lea rdx, [rsi + 0x20]
movzx ebx, byte [rsp + 0x1c7]
test bl, bl
js 0x14002305e
cmp rdi, rbx
mov r8, rbx
cmovb r8, rdi
lea rcx, [rsp + 0x1b0]
test r8, r8
je 0x140023860
call fcn.14005dbd0
test eax, eax
je 0x140023860
jns 0x140023869
mov rbp, rsi
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
add rax, 8
mov qword [rsp + 0x30], rax
cmp rax, rbp
je 0x14002300d
lea r15, [rbp + 0x20]
movzx r12d, byte [rbp + 0x37]
test r12b, r12b
mov r13, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x28]
mov rbx, r12
cmovs rbx, rsi
mov rdx, r15
cmovs rdx, r13
movzx r14d, byte [rsp + 0x1c7]
test r14b, r14b
js 0x140023091
cmp rbx, r14
mov r8, r14
cmovb r8, rbx
mov rdi, r14
lea rcx, [rsp + 0x1b0]
test r8, r8
je 0x140023952
call fcn.14005dbd0
test eax, eax
je 0x140023952
jns 0x14002395b
mov rax, qword [rsp + 0x58]
cmp qword [rax], rbp
je 0x140023a75
mov r14, qword [rbp]
test r14, r14
je 0x1400230bd
mov rcx, qword [r14 + 8]
mov rdi, r14
test rcx, rcx
je 0x1400230ca
mov rax, qword [rcx + 8]
mov rdi, rcx
test rax, rax
je 0x1400230ca
mov rdi, rax
mov rax, qword [rax + 8]
jmp 0x14002303f
mov rcx, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
jmp 0x140022e42
mov rcx, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
cmp rdi, rbx
mov r8, rbx
cmovb r8, rdi
jmp 0x140022f5f
mov byte [rsp + 0x247], bl
lea rdi, [rsp + 0x230]
jmp 0x140022db0
mov rcx, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b8]
cmp rbx, rdi
mov r8, rdi
cmovb r8, rbx
jmp 0x140022ff1
mov rcx, qword [rbx + 0x20]
mov rbp, qword [rbx + 0x28]
jmp 0x140022e94
mov rdi, qword [rbp + 0x10]
cmp qword [rdi], rbp
je 0x140023a95
movzx ebx, byte [rsp + 0x1c7]
test bl, bl
cmovs rbx, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x1b0]
lea rax, [rsp + 0x1b0]
cmovns rdx, rax
movzx esi, byte [rdi + 0x37]
test sil, sil
js 0x14002372b
lea rcx, [rdi + 0x20]
cmp rbx, rsi
mov r8, rsi
cmovb r8, rbx
test r8, r8
je 0x1400238b9
call fcn.14005dbd0
test eax, eax
je 0x1400238b9
jns 0x1400238c2
test r14, r14
je 0x1400233c6
mov qword [rsp + 0x1a0], rdi
add rdi, 8
mov rbp, rdi
mov rsi, qword [rbp]
test rsi, rsi
jne 0x1400231e3
mov ecx, 0x50
call fcn.14005aaac
mov rsi, rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsi + 0x30], rax
movaps xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rsi + 0x20], xmm0
xor ecx, ecx
mov qword [rsp + 0x1c0], rcx
movaps xmmword [rsp + 0x1b0], xmm7
mov rax, qword [rsp + 0x240]
mov qword [rsi + 0x48], rax
movaps xmm0, xmmword [rsp + 0x230]
movups xmmword [rsi + 0x38], xmm0
mov qword [rsp + 0x240], rcx
movaps xmmword [rsp + 0x230], xmm7
mov rax, qword [rsp + 0x1a0]
movups xmmword [rsi], xmm7
mov qword [rsi + 0x10], rax
mov qword [rbp], rsi
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
mov rax, qword [rax]
mov rdx, rsi
test rax, rax
jne 0x140023946
mov rcx, qword [rdi + 8]
call fcn.14003b640
inc qword [rdi + 0x10]
mov qword [rsp + 0x1a0], rsi
mov byte [rsp + 0x1a8], 1
cmp byte [rsp + 0x1c7], 0
js 0x140023ebd
cmp byte [rsp + 0x247], 0
js 0x140023ecf
cmp qword [rsp + 0x48], 0
jne 0x140023233
mov r9d, 2
lea rcx, [rsp + 0x1e0]
xor edx, edx
lea r8, [0x1400c99e2]
call fcn.1400405c0
cmp qword [rsp + 0x128], 0
je 0x14002329a
lea rax, [0x1400c9970]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 1
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0x1b0], 2
lea rax, [rsp + 0x230]
mov qword [rsp + 0x1b8], rax
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x1b0]
call fcn.140027cd0
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rcx + 0x10]
mov r14, qword [rcx + 0x40]
lea rax, [r14 + 1]
mov qword [rcx + 0x40], rax
lea r13, [r14 + r14*2]
lea r15, [r13*8]
add r15, rbp
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x20]
cmp rax, rcx
jae 0x1400233d3
cmp r15, rax
jne 0x14002375c
cmp byte [rsp + 0x1f7], 0
jns 0x140023ee9
mov rdx, qword [rsp + 0x1e0]
mov r8, qword [rsp + 0x1e8]
mov rcx, r15
call fcn.140040540
mov r14b, byte [rsp + 0x2f]
add r15, 0x18
mov rax, qword [rsp + 0x38]
mov qword [rax + 8], r15
cmp byte [rsp + 0x1f7], 0
jns 0x140023327
mov rcx, qword [rsp + 0x1e0]
call fcn.14005aae8
cmp byte [rsp + 0x227], 0
js 0x14002374a
cmp byte [rsp + 0x11f], 0
js 0x140023738
cmp byte [rsp + 0x147], 0
jns 0x14002335a
mov rcx, qword [rsp + 0x130]
call fcn.14005aae8
cmp byte [rsp + 0x167], 0
jns 0x140023371
mov rcx, qword [rsp + 0x150]
call fcn.14005aae8
cmp byte [rsp + 0x197], 0
jns 0x140023388
mov rcx, qword [rsp + 0x180]
call fcn.14005aae8
mov rbp, qword [rsp + 0x90]
inc rbp
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
sub rcx, rax
sar rcx, 3
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rdx
cmp rbp, rcx
jb 0x140022790
jmp 0x1400243a8
mov qword [rsp + 0x1a0], rbp
jmp 0x140023140
mov rdx, qword [rsp + 0x40]
mov r12, qword [rdx + 0x10]
sub rax, r12
sar rax, 3
movabs rbx, 0xaaaaaaaaaaaaaaab
imul rax, rbx
inc rax
movabs rdi, 0xaaaaaaaaaaaaaaa
cmp rax, rdi
ja 0x140023ff5
mov rdx, qword [rsp + 0x38]
add rdx, 0x18
sub rcx, r12
sar rcx, 3
imul rcx, rbx
lea rsi, [rcx + rcx]
cmp rsi, rax
cmovb rsi, rax
movabs rax, 0x555555555555555
cmp rcx, rax
cmovae rsi, rdi
mov qword [rsp + 0x250], rdx
test rsi, rsi
mov qword [rsp + 0x48], rbp
je 0x140023f06
cmp rsi, rdi
ja 0x14002421c
lea rax, [rsi*8]
lea rcx, [rax + rax*2]
call fcn.14005aaac
mov rbp, r15
sub rbp, r12
sar rbp, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rbp, rcx
mov qword [rsp + 0x230], rax
lea rcx, [rbp*8]
lea rcx, [rcx + rcx*2]
lea rbx, [rax + rcx]
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x238], rbx
shl rsi, 3
lea rdx, [rsi + rsi*2]
add rax, rdx
mov qword [rsp + 0x248], rax
cmp rcx, rdx
je 0x140023f0d
mov rcx, qword [rsp + 0x240]
cmp byte [rsp + 0x1f7], 0
jns 0x140023fd9
mov rdx, qword [rsp + 0x1e0]
mov r8, qword [rsp + 0x1e8]
call fcn.140040540
add qword [rsp + 0x240], 0x18
mov rdx, qword [rsp + 0x238]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
cmp r15, rax
je 0x140023654
lea rcx, [rbp*2]
add rcx, rbp
lea rdi, [r15 - 0x18]
mov rbx, qword [r15 - 8]
mov qword [rdx - 8], rbx
movups xmm0, xmmword [r15 - 0x18]
movups xmmword [rdx - 0x18], xmm0
movups xmmword [r12 + rcx*8 - 0x18], xmm7
mov qword [r12 + rcx*8 - 8], 0
mov rbx, qword [rsp + 0x238]
lea rdx, [rbx - 0x18]
mov qword [rsp + 0x238], rdx
cmp rdi, rax
je 0x140023654
lea rsi, [rdi - 0x18]
mov rdx, qword [rdi - 8]
mov qword [rbx - 0x20], rdx
movups xmm0, xmmword [rdi - 0x18]
movups xmmword [rbx - 0x30], xmm0
movups xmmword [r12 + rcx*8 - 0x30], xmm7
mov qword [r12 + rcx*8 - 0x20], 0
mov rbx, qword [rsp + 0x238]
lea rdx, [rbx - 0x18]
mov qword [rsp + 0x238], rdx
cmp rsi, rax
je 0x140023654
lea rdi, [rsi - 0x18]
mov rdx, qword [rsi - 8]
mov qword [rbx - 0x20], rdx
movups xmm0, xmmword [rsi - 0x18]
movups xmmword [rbx - 0x30], xmm0
movups xmmword [r12 + rcx*8 - 0x48], xmm7
mov qword [r12 + rcx*8 - 0x38], 0
mov rbx, qword [rsp + 0x238]
lea rdx, [rbx - 0x18]
mov qword [rsp + 0x238], rdx
cmp rdi, rax
je 0x140023654
lea rsi, [rdi - 0x18]
mov rdx, qword [rdi - 8]
mov qword [rbx - 0x20], rdx
movups xmm0, xmmword [rdi - 0x18]
movups xmmword [rbx - 0x30], xmm0
movups xmmword [r12 + rcx*8 - 0x60], xmm7
mov qword [r12 + rcx*8 - 0x50], 0
mov rbx, qword [rsp + 0x238]
lea rdx, [rbx - 0x18]
mov qword [rsp + 0x238], rdx
cmp rsi, rax
je 0x140023654
lea r8, [rsi - 0x18]
mov rdx, qword [rsi - 8]
mov qword [rbx - 0x20], rdx
movups xmm0, xmmword [rsi - 0x18]
movups xmmword [rbx - 0x30], xmm0
movups xmmword [r12 + rcx*8 - 0x78], xmm7
mov qword [r12 + rcx*8 - 0x68], 0
mov rdi, qword [rsp + 0x238]
lea rdx, [rdi - 0x18]
mov qword [rsp + 0x238], rdx
cmp r8, rax
jne 0x140023bac
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 8]
cmp r15, rcx
jne 0x140023ad9
mov rax, qword [rsp + 0x240]
mov r14b, byte [rsp + 0x2f]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rbx]
mov qword [rbx], rdx
mov qword [rsp + 0x238], rsi
mov qword [rbx + 8], rax
mov qword [rsp + 0x240], r15
mov rax, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x248]
mov qword [rbx + 0x10], rcx
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x230], rsi
cmp r15, rsi
je 0x140023715
lea rax, [r15 - 0x18]
mov qword [rsp + 0x240], rax
cmp byte [r15 - 1], 0
js 0x140023fff
cmp rax, rsi
je 0x14002370d
lea rcx, [rax - 0x18]
mov qword [rsp + 0x240], rcx
cmp byte [rax - 1], 0
js 0x140024221
cmp rcx, rsi
je 0x14002370d
lea rax, [rcx - 0x18]
mov qword [rsp + 0x240], rax
cmp byte [rcx - 1], 0
js 0x140024236
cmp rax, rsi
jne 0x140023c40
mov r15, qword [rsp + 0x230]
test r15, r15
je 0x140023310
mov rcx, r15
call fcn.14005aae8
jmp 0x140023310
mov rcx, qword [rdi + 0x20]
mov rsi, qword [rdi + 0x28]
jmp 0x140023102
mov rcx, qword [rsp + 0x108]
call fcn.14005aae8
jmp 0x140023343
mov rcx, qword [rsp + 0x210]
call fcn.14005aae8
jmp 0x140023335
mov rcx, qword [rsp + 0x38]
mov r12, qword [rcx + 8]
mov rcx, r12
sub rcx, r15
add rcx, 0xffffffffffffffe8
mov rsi, rcx
sar rsi, 3
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rsi, rdx
lea rdi, [r12 - 0x18]
mov rdx, r12
cmp rdi, rax
jae 0x1400237ef
mov rdx, qword [rdi + 0x10]
mov qword [r12 + 0x10], rdx
movups xmm0, xmmword [rdi]
movups xmmword [r12], xmm0
movups xmmword [rdi], xmm7
mov qword [rdi + 0x10], 0
lea r8, [rdi + 0x18]
lea rdx, [r12 + 0x18]
cmp r8, rax
jae 0x1400237ef
lea r9, [rsi + rsi*2]
mov rbx, qword [r8 + 0x10]
mov qword [rdx + 0x10], rbx
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
movups xmmword [r15 + r9*8 + 0x18], xmm7
mov qword [r15 + r9*8 + 0x28], 0
add r8, 0x18
lea rdx, [r12 + 0x30]
cmp r8, rax
jb 0x140023d9d
mov rax, qword [rsp + 0x38]
mov qword [rax + 8], rdx
test rcx, rcx
jne 0x140024014
lea rax, [rsp + 0x1e0]
mov rdx, rax
cmp r15, rax
jbe 0x140023b8a
cmp r15, rdx
mov r14b, byte [rsp + 0x2f]
je 0x140023310
cmp byte [r15 + 0x17], 0
js 0x140023abb
cmp byte [rdx + 0x17], 0
js 0x140023b4c
mov rax, qword [rdx + 0x10]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [r15], xmm0
jmp 0x140023310
cmp rbx, rdi
movzx eax, bpl
mov ecx, 0xffffffff
cmovb eax, ecx
jmp 0x140022e69
cmp rbx, rdi
jb 0x140022f7b
lea rdi, [rsi + 0x38]
cmp byte [rsi + 0x4f], 0
jns 0x14002387b
mov rcx, qword [rdi]
call fcn.14005aae8
mov rax, qword [rsp + 0x240]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x230]
movups xmmword [rdi], xmm0
xor eax, eax
mov byte [rsp + 0x247], al
mov word [rsp + 0x230], 0
mov qword [rsp + 0x1a0], rsi
mov byte [rsp + 0x1a8], al
jmp 0x1400231f3
cmp rsi, rbx
jb 0x140023128
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x1b0]
call fcn.1400a5e20
mov rbp, rax
jmp 0x140023140
movzx ebp, byte [rbx + 0x37]
test bpl, bpl
js 0x140023aae
lea rcx, [rbx + 0x20]
cmp rdi, rbp
setb r15b
mov r8, rbp
cmovb r8, rdi
test r8, r8
je 0x140023b38
mov rdx, r14
call fcn.14005dbd0
test eax, eax
je 0x140023b38
mov ecx, eax
shr ecx, 0x1f
test eax, eax
cmovns rsi, rbx
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
je 0x140022f1f
jmp 0x140023dc8
mov rcx, qword [rbx + 0x20]
mov rbp, qword [rbx + 0x28]
jmp 0x140022ee0
mov qword [rdi], rax
mov rdx, qword [rbp]
jmp 0x1400231d6
cmp rdi, rbx
jb 0x14002300d
test r14b, r14b
mov rax, qword [rsp + 0x1b8]
mov rbx, r14
mov qword [rsp + 0x50], rax
cmovs rbx, rax
mov rdi, qword [rsp + 0x1b0]
lea rax, [rsp + 0x1b0]
cmovns rdi, rax
cmp rbx, rsi
mov rax, rsi
cmovb rax, rbx
cmp rbx, r12
mov r8, r12
cmovb r8, rbx
test r12b, r12b
cmovs r8, rax
cmovns rsi, r12
test r8, r8
je 0x140023c20
test r12b, r12b
cmovs r15, r13
mov rcx, r15
mov rdx, rdi
call fcn.14005dbd0
test eax, eax
je 0x140023c20
jns 0x140023c29
mov rax, qword [rbp + 8]
test rax, rax
je 0x140023c64
mov rsi, rax
mov rax, qword [rax]
test rax, rax
jne 0x1400239db
mov rdx, qword [rsp + 0x30]
cmp rsi, rdx
je 0x140023a46
mov rcx, rdi
movzx eax, byte [rsi + 0x37]
mov rdi, rax
test al, al
jns 0x140023a02
mov rdi, qword [rsi + 0x28]
mov rdx, qword [rsp + 0x50]
cmp rdi, rdx
cmovb rdx, rdi
cmp rdi, r14
mov r8, r14
cmovb r8, rdi
test r14b, r14b
cmovs r8, rdx
test r8, r8
je 0x140023d0e
lea rdx, [rsi + 0x20]
test al, al
jns 0x140023a33
mov rdx, qword [rdx]
call fcn.14005dbd0
test eax, eax
je 0x140023d0e
jns 0x1400238c2
cmp qword [rbp + 8], 0
je 0x140023c77
mov qword [rsp + 0x1a0], rsi
mov rbp, rsi
jmp 0x140023140
cmp rbp, rdi
movzx eax, r15b
mov ecx, 0xffffffff
cmovb eax, ecx
jmp 0x140022ebb
mov r14, qword [rbp]
mov rdi, rbp
jmp 0x140023128
cmp rbp, rdi
movzx eax, r15b
mov ecx, 0xffffffff
cmovb eax, ecx
jmp 0x140022f07
mov rax, qword [rdi + 0x10]
cmp qword [rax], rdi
je 0x140023b74
add rdi, 0x10
mov rdi, qword [rdi]
jmp 0x1400230ca
mov rcx, qword [rbx + 0x20]
mov rbp, qword [rbx + 0x28]
jmp 0x1400238f5
movzx r8d, byte [rdx + 0x17]
test r8b, r8b
jns 0x140023acc
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, r15
call fcn.140040e00
jmp 0x140023310
mov rax, qword [rsp + 0x240]
mov rdx, qword [r15 + 0x10]
mov qword [rax + 0x10], rdx
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
movups xmmword [r15], xmm7
mov qword [r15 + 0x10], 0
lea rdx, [r15 + 0x18]
mov rax, qword [rsp + 0x240]
add rax, 0x18
mov qword [rsp + 0x240], rax
cmp rdx, rcx
jne 0x140023d1c
mov r14b, byte [rsp + 0x2f]
mov rdx, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x38]
mov r15, qword [rcx + 8]
jmp 0x140023673
cmp rbp, rdi
movzx eax, r15b
mov ecx, 0xffffffff
cmovb eax, ecx
jmp 0x14002391c
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, r15
mov rdx, rax
call fcn.140040f30
jmp 0x140023310
cmp word [r14 + r15*2], 0x73
jne 0x140022ad9
jmp 0x14002429b
lea rdi, [rax + 0x10]
mov rcx, qword [rax + 0x10]
cmp qword [rcx], rax
jne 0x140023aa6
jmp 0x140023e0c
mov rax, qword [rsp + 0x38]
lea rdx, [rsp + 0x1e0]
cmp qword [rax + 8], rdx
lea rax, [rsp + 0x1f8]
cmova rdx, rax
jmp 0x140023815
lea r8, [r12 + rcx*8]
mov rdx, 0xffffffffffffff70
add r8, rdx
lea rcx, [r14*8]
lea rcx, [rcx + rcx*2]
sub rax, rcx
mov rcx, qword [rsp + 0x48]
sub rax, rcx
add rax, 0x78
lea rsi, [rcx + r13*8]
add rsi, rdx
xor ecx, ecx
mov rdx, qword [rsi + rcx + 0x10]
mov qword [rdi - 0x20], rdx
movups xmm0, xmmword [rsi + rcx]
movups xmmword [rdi - 0x30], xmm0
movups xmmword [r8 + rcx], xmm7
mov qword [r8 + rcx + 0x10], 0
mov rdi, qword [rsp + 0x238]
lea rdx, [rdi - 0x18]
mov qword [rsp + 0x238], rdx
add rcx, 0xffffffffffffffe8
cmp rax, rcx
je 0x140023654
jmp 0x140023bde
cmp rsi, rbx
jb 0x1400239ce
mov qword [rsp + 0x1a0], rbp
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
jmp 0x140023140
lea rcx, [rax - 0x18]
mov qword [rsp + 0x240], rcx
cmp byte [rax - 1], 0
js 0x14002441f
mov rax, rcx
cmp rcx, rsi
je 0x14002370d
jmp 0x140023c40
mov rsi, qword [rbp + 0x10]
cmp qword [rsi], rbp
mov rdx, qword [rsp + 0x30]
jne 0x140023c88
jmp 0x1400239eb
mov qword [rsp + 0x1a0], rbp
add rbp, 8
jmp 0x140023140
lea rax, [rbp + 0x10]
jmp 0x140022d1f
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax + 0x18]
cmp rsi, qword [rax + 0x20]
je 0x140023d86
cmp byte [rsp + 0x197], 0
jns 0x140024451
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
mov rcx, rsi
call fcn.140040540
add rsi, 0x18
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x18], rsi
jmp 0x140023343
movaps xmmword [rsp + 0x230], xmm7
mov qword [rsp + 0x240], 0
jmp 0x1400228b7
movaps xmmword [rsp + 0x230], xmm7
mov qword [rsp + 0x240], 0
jmp 0x140022dc5
cmp rbx, rdi
jb 0x140023a46
jmp 0x1400238c2
lea rdx, [rbp*2]
add rdx, rbp
lea rdx, [r12 + rdx*8]
shl r14, 3
lea rbx, [r14 + r14*2]
sub rcx, rbx
sub rcx, qword [rsp + 0x48]
mov ebx, 0x18
mov r14b, byte [rsp + 0x2f]
mov rdi, qword [r15 + rbx + 0x10]
mov qword [rax + 0x10], rdi
movups xmm0, xmmword [r15 + rbx]
movups xmmword [rax], xmm0
movups xmmword [rdx + rbx], xmm7
mov qword [rdx + rbx + 0x10], 0
mov rax, qword [rsp + 0x240]
add rax, 0x18
mov qword [rsp + 0x240], rax
add rbx, 0x18
cmp rcx, rbx
je 0x140023b22
jmp 0x140023d45
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x180]
call fcn.140024d40
jmp 0x140023343
mov rbx, qword [r8 + 0x10]
mov qword [rdx + 0x10], rbx
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
xorps xmm0, xmm0
movups xmmword [r8], xmm0
mov qword [r8 + 0x10], 0
add r8, 0x18
add rdx, 0x18
jmp 0x1400237e6
movzx ebp, byte [rbx + 0x37]
test bpl, bpl
js 0x140023e14
lea rcx, [rbx + 0x20]
cmp rdi, rbp
setb r15b
mov r8, rbp
cmovb r8, rdi
test r8, r8
je 0x140023df8
mov rdx, r14
call fcn.14005dbd0
test eax, eax
jne 0x14002391c
cmp rbp, rdi
movzx ecx, r15b
mov eax, 0xffffffff
cmovae eax, ecx
jmp 0x14002391c
mov rax, qword [rdi]
jmp 0x140023b74
mov rcx, qword [rbx + 0x20]
mov rbp, qword [rbx + 0x28]
jmp 0x140023dd5
lea rcx, [rsp + 0x230]
call fcn.1400a4310
mov rcx, qword [rsp + 0x230]
call fcn.14005aae8
jmp 0x140022a4c
mov rcx, qword [rsp + 0x230]
call fcn.14005aae8
jmp 0x140022ce9
xor ecx, ecx
jmp 0x140022cdc
xor r15d, r15d
jmp 0x140022a44
mov rcx, rbx
call fcn.1400a4310
int3
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x190], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x180], xmm0
lea rsi, [rsp + 0x180]
jmp 0x1400227e3
mov qword [rsp + 0x20], 2
lea r9, [0x1400c9974]
lea rcx, [rsp + 0x180]
xor edx, edx
mov r8, 0xffffffffffffffff
call fcn.140041430
test eax, eax
setne cl
jmp 0x140022930
mov rcx, qword [rsp + 0x1b0]
call fcn.14005aae8
jmp 0x140023201
mov rcx, qword [rsp + 0x230]
call fcn.14005aae8
jmp 0x14002320f
mov r15, rbx
jmp 0x140022647
mov rax, qword [rsp + 0x1f0]
mov qword [r15 + 0x10], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [r15], xmm0
jmp 0x1400232fe
xor eax, eax
jmp 0x140023467
mov rcx, qword [rsp + 0x230]
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rcx
sub rax, rcx
jbe 0x1400240b2
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rax, rcx
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
sar rax, 1
neg rax
lea rsi, [rax + rax*2]
cmp qword [rsp + 0x30], rbx
je 0x140023fb7
shl rax, 3
lea rdi, [rax + rax*2]
mov rax, qword [rsp + 0x30]
cmp byte [rax + rdi + 0x17], 0
jns 0x140023f83
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + rdi]
call fcn.14005aae8
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 0x10]
mov qword [rcx + rdi + 0x10], rax
movups xmm0, xmmword [rcx]
movups xmmword [rcx + rdi], xmm0
mov byte [rcx + 0x17], 0
mov word [rcx], 0
add rcx, 0x18
mov qword [rsp + 0x30], rcx
cmp rbx, rcx
jne 0x140023f69
mov rbx, qword [rsp + 0x238]
mov rax, qword [rsp + 0x30]
lea rax, [rax + rsi*8]
mov qword [rsp + 0x240], rax
lea rax, [rbx + rsi*8]
mov qword [rsp + 0x238], rax
jmp 0x1400234c3
mov rax, qword [rsp + 0x1f0]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rcx], xmm0
jmp 0x1400234ee
mov rcx, qword [rsp + 0x38]
call fcn.1400846a0
mov rcx, qword [rax]
call fcn.14005aae8
mov rax, qword [rsp + 0x240]
jmp 0x1400236ce
lea rbx, [rdi - 0x18]
cmp byte [r12 - 1], 0
jns 0x140024028
mov rcx, qword [rdi]
call fcn.14005aae8
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
mov byte [rbx + 0x17], 0
mov word [rbx], 0
cmp rbx, r15
je 0x140023801
add r12, 0xffffffffffffffd0
lea rax, [rsi*8]
lea rax, [rax + rax*2]
mov ebx, 0x18
sub rbx, rax
add r14, rsi
lea rax, [r14 + r14*2]
lea rsi, [rax*8 - 0x30]
add rsi, rbp
xor edi, edi
cmp byte [r12 + rdi + 0x17], 0
jns 0x140024085
mov rcx, qword [r12 + rdi]
call fcn.14005aae8
mov rax, qword [rsi + rdi + 0x10]
mov qword [r12 + rdi + 0x10], rax
movups xmm0, xmmword [rsi + rdi]
movups xmmword [r12 + rdi], xmm0
mov byte [rsi + rdi + 0x17], 0
mov word [rsi + rdi], 0
add rdi, 0xffffffffffffffe8
cmp rbx, rdi
je 0x140023801
jmp 0x140024074
mov rax, rbx
sub rax, qword [rsp + 0x50]
mov rcx, rax
sar rcx, 3
movabs rdx, 0x5555555555555556
imul rdx, rcx
test rax, rax
mov eax, 1
cmovne rax, rdx
movabs rcx, 0xaaaaaaaaaaaaaaa
cmp rax, rcx
ja 0x14002421c
mov rsi, rax
shr rsi, 2
shl rax, 3
lea rdi, [rax + rax*2]
mov rcx, rdi
call fcn.14005aaac
lea rdx, [rsi + rsi*2]
lea r9, [rax + rdx*8]
add rdi, rax
mov r10, rdi
mov rdi, rbx
sub rdi, qword [rsp + 0x30]
je 0x140024293
lea r8, [r9 + rdi]
sar rdi, 3
movabs rbx, 0xaaaaaaaaaaaaaaab
imul rdi, rbx
shl rdi, 3
lea rdi, [rdi + rdi*2]
lea rsi, [rax + rdx*8]
xor edx, edx
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rcx + rdx + 0x10]
mov qword [rsi + rdx + 0x10], rbx
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rsi + rdx], xmm0
xorps xmm0, xmm0
movups xmmword [rcx + rdx], xmm0
mov qword [rcx + rdx + 0x10], 0
add rdx, 0x18
cmp rdi, rdx
jne 0x140024145
mov rcx, qword [rsp + 0x230]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x238]
mov qword [rsp + 0x30], rdx
mov rbx, qword [rsp + 0x240]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], r9
mov qword [rsp + 0x240], r8
mov qword [rsp + 0x248], r10
cmp rbx, qword [rsp + 0x30]
je 0x140024201
lea rsi, [rbx - 0x18]
cmp byte [rbx - 1], 0
js 0x14002446d
cmp rsi, qword [rsp + 0x30]
je 0x140024201
lea rsi, [rbx - 0x30]
cmp byte [rbx - 0x19], 0
js 0x14002447a
cmp rsi, qword [rsp + 0x30]
je 0x140024201
lea rsi, [rbx - 0x48]
cmp byte [rbx - 0x31], 0
js 0x140024487
cmp rsi, qword [rsp + 0x30]
jne 0x140024434
cmp qword [rsp + 0x50], 0
je 0x1400234c3
mov rcx, qword [rsp + 0x50]
call fcn.14005aae8
jmp 0x1400234c3
call fcn.14006b820
mov rcx, qword [rcx]
call fcn.14005aae8
mov rcx, qword [rsp + 0x240]
jmp 0x1400236e9
mov rcx, qword [rax]
call fcn.14005aae8
mov rax, qword [rsp + 0x240]
jmp 0x140023704
xor eax, eax
jmp 0x140022487
mov rcx, qword [rsp + 0xa0]
lea rdx, [rsp + 0xcc]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x14002254c
xor eax, eax
jmp 0x14002254c
lea rcx, [rsp + 0xb0]
call fcn.1400846a0
lea rcx, [rsp + 0x230]
call fcn.140041ef0
jmp 0x140022721
mov r8, r9
jmp 0x140024197
cmp word [r14 + r15*2 + 2], 0x69
jne 0x140022ad9
cmp word [r14 + r15*2 + 4], 0x6e
jne 0x140022ad9
cmp word [r14 + r15*2 + 6], 0x67
jne 0x140022ad9
cmp word [r14 + r15*2 + 8], 0x6c
jne 0x140022ad9
cmp word [r14 + r15*2 + 0xa], 0x65
jne 0x140022ad9
cmp word [r14 + r15*2 + 0xc], 0x2d
jne 0x140022ad9
cmp word [r14 + r15*2 + 0xe], 0x61
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x10], 0x72
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x12], 0x67
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x14], 0x75
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x16], 0x6d
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x18], 0x65
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x1a], 0x6e
jne 0x140022ad9
cmp word [r14 + r15*2 + 0x1c], 0x74
jne 0x140022ad9
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x40]
call fcn.1400a5c20
cmp byte [rsp + 0x147], 0
jns 0x14002437a
mov rcx, qword [rsp + 0x130]
call fcn.14005aae8
cmp byte [rsp + 0x167], 0
jns 0x140024391
mov rcx, qword [rsp + 0x150]
call fcn.14005aae8
cmp byte [rsp + 0x197], 0
jns 0x1400243a8
mov rcx, qword [rsp + 0x180]
call fcn.14005aae8
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400243ce
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rsp + 0xb0]
call fcn.140041df0
mov rax, qword [rsp + 0x80]
test rax, rax
sete bl
mov rcx, qword [rsp + 0x258]
xor rcx, rsp
call fcn.14005b820
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rcx]
call fcn.14005aae8
mov rcx, qword [rsp + 0x240]
jmp 0x140023c56
add qword [rsp + 0x30], 0x48
cmp byte [rbx - 0x49], 0
js 0x140024494
add rbx, 0xffffffffffffffe8
cmp qword [rsp + 0x30], rbx
je 0x140024201
jmp 0x14002443a
mov rax, qword [rsp + 0x190]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rsi], xmm0
jmp 0x140023cca
mov rcx, qword [rsi]
call fcn.14005aae8
jmp 0x1400241cc
mov rcx, qword [rsi]
call fcn.14005aae8
jmp 0x1400241e1
mov rcx, qword [rsi]
call fcn.14005aae8
jmp 0x1400241f6
mov rcx, qword [rbx - 0x60]
call fcn.14005aae8
jmp 0x140024440