Function at 0x14004ec30
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x29d0]
mov eax, 0x2ad0
call fcn.1400ef280
sub rsp, rax
movaps xmmword [rsp + 0x2ac0], xmm6
movaps xmmword [rsp + 0x2ab0], xmm7
movaps xmmword [rsp + 0x2aa0], xmm8
movaps xmmword [rsp + 0x2a90], xmm9
movaps xmmword [rsp + 0x2a80], xmm10
movaps xmmword [rsp + 0x2a70], xmm11
movaps xmmword [rsp + 0x2a60], xmm12
movaps xmmword [rsp + 0x2a50], xmm13
movaps xmmword [rsp + 0x2a40], xmm14
movaps xmmword [rsp + 0x2a30], xmm15
mov rax, qword [0x140135040]
xor rax, rsp
mov qword [rbp + 0x2920], rax
xor r12d, r12d
mov rcx, qword [0x14016c058]
call fcn.140012030
movss xmm0, dword [0x140123c5c]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x50], xmm0
mov qword [rbp - 0x70], r12
mov rax, qword [0x14016c000]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400096d0
mov r13, rax
call fcn.14004d0f0
mov r14, qword [0x14016c1a8]
mov r15, qword [0x14016c1b0]
mov qword [rbp + 0x100], r15
cmp r14, r15
je 0x140051e28
lea rsi, [0x14016c110]
movss xmm15, dword [0x140123ac0]
movss xmm13, dword [0x140123a18]
movss xmm14, dword [0x140123a4c]
movsd xmm9, qword [0x140123b08]
movsd xmm6, qword [0x140123b18]
movsd xmm10, qword [0x1401243a0]
xor r8d, r8d
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe8]
call fcn.14004afe0
movups xmm11, xmmword [rbp + 0xe8]
movaps xmmword [rbp + 0x6f0], xmm11
movsd xmm12, qword [rbp + 0xf8]
movsd qword [rbp + 0x700], xmm12
lea r8, [rbp + 0x6f0]
lea rdx, [rbp + 0xca8]
call fcn.14004b150
movsd xmm0, qword [rax]
movsd qword [0x14019d518], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019d520], xmm1
movaps xmm1, xmm12
addsd xmm1, xmm6
movaps xmm8, xmm11
unpckhpd xmm8, xmm11
movaps xmm0, xmm11
unpcklpd xmm0, xmm8
movaps xmmword [rbp + 0x710], xmm0
movsd qword [rbp + 0x720], xmm1
lea r8, [rbp + 0x710]
lea rdx, [rbp + 0xc98]
call fcn.14004b150
movsd xmm0, qword [rax]
movsd qword [0x14019d4a8], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019d4b0], xmm1
movaps xmm1, xmm12
subsd xmm1, xmm9
movaps xmm0, xmm11
unpcklpd xmm0, xmm8
movaps xmmword [rbp + 0x730], xmm0
movsd qword [rbp + 0x740], xmm1
lea r8, [rbp + 0x730]
lea rdx, [rbp + 0xcb8]
call fcn.14004b150
movsd xmm0, qword [rax]
movsd qword [0x14019d538], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019d540], xmm1
mov r8d, 0x6e
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x118]
call fcn.14004afe0
movups xmm6, xmmword [rbp + 0x118]
movaps xmmword [rbp + 0x750], xmm6
movsd xmm7, qword [rbp + 0x128]
movsd qword [rbp + 0x760], xmm7
lea r8, [rbp + 0x750]
lea rdx, [rbp + 0xcc8]
call fcn.14004b150
movsd xmm0, qword [rax]
movsd qword [0x14019d468], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019d470], xmm1
addsd xmm7, xmm9
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
movaps xmm0, xmm6
unpcklpd xmm0, xmm1
movaps xmmword [rbp + 0x770], xmm0
movsd qword [rbp + 0x780], xmm7
lea r8, [rbp + 0x770]
lea rdx, [rbp + 0xcd8]
call fcn.14004b150
movsd xmm0, qword [rax]
movsd qword [0x14019d4c0], xmm0
movsd xmm7, qword [rax + 8]
movsd qword [0x14019d4c8], xmm7
movsd xmm6, qword [0x14019d470]
movaps xmm0, xmm6
subsd xmm0, qword [0x14019d540]
andps xmm0, xmm10
cvtpd2ps xmm10, xmm0
movaps xmm9, xmm10
mulss xmm9, dword [0x140123a40]
subsd xmm8, qword [0x140169588]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
movaps xmm1, xmm15
call fcn.1400f3b70
movaps xmm8, xmm0
movaps xmm0, xmm11
subsd xmm0, qword [0x140169580]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm15
call fcn.1400f3b70
addss xmm8, xmm0
movaps xmm1, xmm12
subsd xmm1, qword [0x140169590]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm15
call fcn.1400f3b70
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x14004efb5
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x14004efbe
movaps xmm0, xmm8
call fcn.1400f50f0
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x140123a90]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movaps xmm1, xmm2
divss xmm1, dword [0x140123c0c]
addss xmm1, xmm1
movss xmm0, dword [0x140123b88]
subss xmm0, xmm1
movss xmm1, dword [0x140123b84]
maxss xmm1, xmm0
movss dword [rsp + 0x54], xmm1
comiss xmm2, dword [0x14013fee8]
jbe 0x14004f01b
cmp qword [0x14019d578], 0
jne 0x140051750
cmp byte [0x140169560], 0
je 0x14004f11c
mov eax, dword [0x1401a1e18]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x14019d468]
subsd xmm1, xmm0
mov eax, dword [0x1401a1ea8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm6, xmm0
mulsd xmm6, xmm6
mulsd xmm1, xmm1
addsd xmm6, xmm1
cvtpd2ps xmm2, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14004f081
xorps xmm8, xmm8
sqrtss xmm8, xmm2
jmp 0x14004f08d
movaps xmm0, xmm2
call fcn.1400f50f0
movaps xmm8, xmm0
cmp byte [0x140169544], 0
je 0x14004f0f4
mov rbx, qword [r14 + 8]
lea rdx, [rbx + 0x2e8]
call fcn.1400656c0
movaps xmm6, xmm0
lea rdx, [rbx + 0x2f0]
call fcn.1400656c0
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14004f0ea
movss xmm0, dword [0x140169578]
comiss xmm0, xmm8
jbe 0x14004f0ea
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm8
jbe 0x14004f0ea
mov rdi, qword [r14]
mov qword [rbp - 0x70], rdi
movsd xmm7, qword [0x14019d4c8]
jmp 0x14004f115
movsd xmm7, qword [0x14019d4c8]
jmp 0x14004f11c
movss xmm0, dword [0x140169578]
comiss xmm0, xmm8
jbe 0x14004f11c
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm8
jbe 0x14004f11c
mov rax, qword [r14]
mov qword [rbp - 0x70], rax
movss dword [rsp + 0x50], xmm8
movss xmm8, dword [0x140167c80]
movss xmm11, dword [0x140167c84]
movss xmm12, dword [0x140167c88]
movss xmm13, dword [0x140167c90]
movss xmm14, dword [0x140167c94]
movss xmm15, dword [0x140167c98]
cmp byte [0x140169544], 0
je 0x14004f1e4
cmp byte [0x140135d71], 0
je 0x14004f1e4
mov rbx, qword [r14 + 8]
lea rdx, [rbx + 0x2e8]
call fcn.1400656c0
movaps xmm6, xmm0
lea rdx, [rbx + 0x2f0]
call fcn.1400656c0
addss xmm0, dword [0x140123a18]
comiss xmm0, xmm6
movss xmm0, dword [0x140123a88]
movss dword [rbp - 0x74], xmm0
jb 0x14004f1b5
movss dword [rbp - 0x80], xmm8
movss dword [rbp - 0x7c], xmm11
movss dword [rbp - 0x78], xmm12
jmp 0x14004f1c7
movss dword [rbp - 0x80], xmm13
movss dword [rbp - 0x7c], xmm14
movss dword [rbp - 0x78], xmm15
movups xmm11, xmmword [rbp - 0x80]
movups xmmword [rsp + 0x70], xmm11
movsd xmm7, qword [0x14019d4c8]
movups xmm12, xmmword [0x140124350]
jmp 0x14004f1f7
movups xmm12, xmmword [0x140124350]
movdqa xmm11, xmm12
movups xmmword [rsp + 0x70], xmm12
cmp byte [0x1401a1ca4], 0
je 0x14004f389
cmp byte [0x140135d71], 0
je 0x14004f389
mov ecx, dword [0x1401a1cb0]
test ecx, ecx
je 0x14004f31b
sub ecx, 1
je 0x14004f2b1
cmp ecx, 1
jne 0x14004f389
movd xmm6, dword [0x140169540]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x70]
call fcn.140005b20
mov r9d, eax
movsd xmm1, qword [0x14019d4b0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14019d4a8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm1
movd xmm2, dword [0x1401a1ea8]
cvtdq2ps xmm2, xmm2
mov eax, dword [0x1401a1e18]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm2
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xc0]
jmp 0x14004f373
movd xmm6, dword [0x140169540]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x70]
call fcn.140005b20
mov r9d, eax
cvtpd2ps xmm1, xmm7
movsd xmm0, qword [0x14019d4c0]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
mov eax, dword [0x1401a1ea8]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401a1e18]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x24], xmm1
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x28]
jmp 0x14004f373
movd xmm6, dword [0x140169540]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x70]
call fcn.140005b20
mov r9d, eax
cvtpd2ps xmm1, xmm7
movsd xmm0, qword [0x14019d4c0]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
mov eax, dword [0x1401a1e18]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x18], xmm0
mov dword [rbp - 0x14], 0
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x18]
movss dword [rsp + 0x20], xmm6
mov rcx, r13
call fcn.140028900
movsd xmm7, qword [0x14019d4c8]
cmp byte [0x140135d60], 0
je 0x14004f8bd
cmp byte [0x140135d71], 0
je 0x14004f8bd
mov ecx, dword [0x140169574]
test ecx, ecx
je 0x14004f936
sub ecx, 1
je 0x14004f80b
sub ecx, 1
je 0x14004f6a4
sub ecx, 1
je 0x14004f5aa
cmp ecx, 1
jne 0x14004f8bd
movss xmm14, dword [0x140123a4c]
cmp byte [0x1401a1cac], 0
je 0x14004f4d3
movss xmm0, dword [0x140169548]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140123ad0]
cvttsd2si esi, xmm0
cvttsd2si edi, xmm7
movaps xmm0, xmm9
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x14019d4c0]
subsd xmm2, xmm1
cvttsd2si ebx, xmm2
movups xmm0, xmmword [0x140124020]
movdqa xmmword [rbp + 0xad0], xmm0
mov rax, qword [0x14016c000]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400096d0
mov r10, rax
lea rcx, [rbp + 0xad0]
call fcn.140005b20
cvttss2si ecx, xmm9
add ecx, ebx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x10], xmm0
cvttss2si ecx, xmm10
add ecx, edi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0xc], xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 8], xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 4], xmm0
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x30], xmm1
mov dword [rsp + 0x28], r12d
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x10]
lea rdx, [rbp - 8]
mov rcx, r10
call fcn.140028a60
movsd xmm7, qword [0x14019d4c8]
movdqa xmmword [rbp + 0xae0], xmm11
cvttss2si esi, dword [0x140169548]
cvttsd2si edi, xmm7
movaps xmm0, xmm9
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x14019d4c0]
subsd xmm2, xmm1
cvttsd2si ebx, xmm2
mov rax, qword [0x14016c000]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400096d0
mov r10, rax
lea rcx, [rbp + 0xae0]
call fcn.140005b20
cvttss2si ecx, xmm9
add ecx, ebx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp], xmm0
cvttss2si ecx, xmm10
add ecx, edi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 4], xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [rbp + 8], xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xc], xmm0
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x30], xmm1
mov dword [rsp + 0x28], r12d
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp]
lea rdx, [rbp + 8]
mov rcx, r10
call fcn.140028a60
lea rsi, [0x14016c110]
jmp 0x14004f8c6
cmp byte [0x1401a1cac], 0
je 0x14004f641
movss xmm0, dword [0x140169548]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140123ac8]
cvttsd2si r10d, xmm0
movups xmm0, xmmword [0x140124020]
movups xmmword [rbp + 0xaf0], xmm0
lea rcx, [rbp + 0xaf0]
call fcn.140005b20
mov dword [rbp - 0x68], eax
cvttss2si eax, xmm10
cvttss2si r9d, xmm9
cvttsd2si r8d, xmm7
movaps xmm0, xmm9
movss xmm14, dword [0x140123a4c]
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x14019d518]
subsd xmm2, xmm1
cvttsd2si edx, xmm2
mov dword [rsp + 0x30], r10d
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
call fcn.14004cab0
movsd xmm7, qword [0x14019d4c8]
jmp 0x14004f64a
movss xmm14, dword [0x140123a4c]
cvttss2si r10d, dword [0x140169548]
lea rcx, [rsp + 0x70]
call fcn.140005b20
mov dword [rbp - 0x60], eax
cvttss2si eax, xmm10
cvttss2si r9d, xmm9
cvttsd2si r8d, xmm7
mulss xmm9, xmm14
cvtps2pd xmm0, xmm9
movsd xmm1, qword [0x14019d518]
subsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [rsp + 0x30], r10d
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
call fcn.14004cab0
jmp 0x14004f8c6
cmp byte [0x1401a1cac], 0
je 0x14004f770
movss xmm0, dword [0x140169548]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140123ac8]
cvtpd2ps xmm6, xmm0
movups xmm0, xmmword [0x140124020]
movups xmmword [rbp + 0xb00], xmm0
lea rcx, [rbp + 0xb00]
call fcn.140005b20
cvtps2pd xmm0, xmm10
addsd xmm0, xmm7
cvtpd2ps xmm3, xmm0
movaps xmm1, xmm9
movss xmm14, dword [0x140123a4c]
mulss xmm1, xmm14
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x14019d4c0]
subsd xmm2, xmm0
cvtps2pd xmm1, xmm9
addsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm3
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x18], xmm0
movss dword [rbp + 0x1c], xmm1
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0xf0
movss xmm0, dword [0x140123b78]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
mov rcx, r13
call fcn.140028a60
movsd xmm7, qword [0x14019d4c8]
jmp 0x14004f779
movss xmm14, dword [0x140123a4c]
lea rcx, [rsp + 0x70]
call fcn.140005b20
cvtps2pd xmm0, xmm10
addsd xmm0, xmm7
cvtpd2ps xmm3, xmm0
movaps xmm1, xmm9
mulss xmm1, xmm14
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x14019d4c0]
subsd xmm2, xmm0
cvtps2pd xmm1, xmm9
addsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm3
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
movss xmm1, dword [0x140169548]
movss dword [rsp + 0x30], xmm1
mov dword [rsp + 0x28], 0xf0
movss xmm0, dword [0x140123b78]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
mov rcx, r13
call fcn.140028a60
jmp 0x14004f8c6
cmp byte [0x1401a1cac], 0
je 0x14004f878
movups xmm0, xmmword [0x140124020]
movups xmmword [rbp + 0xb10], xmm0
lea rcx, [rbp + 0xb10]
call fcn.140005b20
movss xmm0, dword [0x140169548]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140123ac8]
cvtpd2ps xmm1, xmm0
mov dword [rsp + 0x30], eax
movss dword [rsp + 0x28], xmm1
movss xmm0, dword [0x140123bdc]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140123bcc]
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0xe8]
call fcn.14004bfc0
lea rcx, [rsp + 0x70]
call fcn.140005b20
mov dword [rsp + 0x30], eax
movss xmm0, dword [0x140169548]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [0x140123bdc]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140123bcc]
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0xe8]
call fcn.14004bfc0
movss xmm14, dword [0x140123a4c]
cmp byte [0x140169558], 0
je 0x14004ff48
cmp byte [0x140135d71], 0
je 0x14004ff48
mov r8d, dword [r14 + 0x28]
lea r9, [rbp + 0x25ed]
test r8d, r8d
jns 0x14004fd10
neg r8d
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004f900
dec r9
mov byte [r9], 0x2d
jmp 0x14004fd3a
cmp byte [0x1401a1cac], 0
je 0x14004fb4e
movss xmm6, dword [0x140169548]
movss xmm10, dword [0x140123ac0]
addss xmm6, xmm10
movups xmm8, xmmword [0x140124020]
movups xmmword [rbp + 0xb20], xmm8
lea rcx, [rbp + 0xb20]
call fcn.140005b20
cvtpd2ps xmm2, xmm7
movaps xmm0, xmm9
movss xmm14, dword [0x140123a4c]
mulss xmm0, xmm14
cvtps2pd xmm7, xmm0
movaps xmm1, xmm7
addsd xmm1, qword [0x14019d518]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm2
movsd xmm1, qword [0x14019d4c0]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x38], xmm0
movss dword [rbp + 0x3c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, r13
call fcn.140028900
movss xmm6, dword [0x140169548]
addss xmm6, xmm10
movups xmmword [rbp + 0xb30], xmm8
lea rcx, [rbp + 0xb30]
call fcn.140005b20
movsd xmm2, qword [0x14019d520]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x14019d4c0]
subsd xmm0, xmm7
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x40], xmm1
movss dword [rbp + 0x44], xmm2
movsd xmm0, qword [0x14019d4c8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x48], xmm1
movss dword [rbp + 0x4c], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
mov rcx, r13
call fcn.140028900
movss xmm6, dword [0x140169548]
addss xmm6, xmm10
movups xmmword [rbp + 0x6e0], xmm8
lea rcx, [rbp + 0x6e0]
call fcn.140005b20
movsd xmm2, qword [0x14019d520]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm7
addsd xmm0, qword [0x14019d518]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm2
movsd xmm1, qword [0x14019d4c0]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r13
call fcn.140028900
movss xmm6, dword [0x140169548]
addss xmm6, xmm10
movups xmmword [rbp + 0xb40], xmm8
lea rcx, [rbp + 0xb40]
call fcn.140005b20
movsd xmm0, qword [0x14019d520]
cvtpd2ps xmm0, xmm0
addsd xmm7, qword [0x14019d518]
cvtpd2ps xmm1, xmm7
movss dword [rbp + 0x60], xmm1
movss dword [rbp + 0x64], xmm0
movsd xmm0, qword [0x14019d4c8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb4], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0xb0]
mov rcx, r13
call fcn.140028900
movsd xmm7, qword [0x14019d4c8]
jmp 0x14004fb57
movss xmm14, dword [0x140123a4c]
lea rcx, [rsp + 0x70]
call fcn.140005b20
mov ebx, eax
cvtpd2ps xmm2, xmm7
mulss xmm9, xmm14
cvtps2pd xmm6, xmm9
movaps xmm0, xmm6
addsd xmm0, qword [0x14019d518]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm2
movsd xmm1, qword [0x14019d4c0]
subsd xmm1, xmm6
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm2
movss xmm1, dword [0x140169548]
movss dword [rsp + 0x20], xmm1
mov r9d, eax
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.140028900
movsd xmm2, qword [0x14019d520]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x14019d4c0]
subsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x78], xmm1
movss dword [rbp + 0x7c], xmm2
movsd xmm0, qword [0x14019d4c8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x80], xmm1
movss dword [rbp + 0x84], xmm0
movss xmm0, dword [0x140169548]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x80]
mov rcx, r13
call fcn.140028900
movsd xmm2, qword [0x14019d520]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm6
addsd xmm0, qword [0x14019d518]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm2
movsd xmm1, qword [0x14019d4c0]
subsd xmm1, xmm6
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x90], xmm0
movss dword [rbp + 0x94], xmm2
movss xmm1, dword [0x140169548]
movss dword [rsp + 0x20], xmm1
mov r9d, ebx
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov rcx, r13
call fcn.140028900
movsd xmm0, qword [0x14019d520]
cvtpd2ps xmm0, xmm0
addsd xmm6, qword [0x14019d518]
cvtpd2ps xmm1, xmm6
movss dword [rbp + 0x98], xmm1
movss dword [rbp + 0x9c], xmm0
movsd xmm0, qword [0x14019d4c8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa0], xmm1
movss dword [rbp + 0xa4], xmm0
movss xmm0, dword [0x140169548]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xa0]
mov rcx, r13
call fcn.140028900
jmp 0x14004f8c6
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004fd10
lea r8, [rbp + 0x25ed]
mov rdx, r9
lea rcx, [rbp + 0xb78]
call fcn.140064d60
nop
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0xc40]
call fcn.14004a7f0
nop
mov r8d, 3
lea rdx, [0x14012169c]
mov rcx, rax
call fcn.140063ca0
mov rdx, rax
lea rcx, [rbp + 0xb50]
call fcn.140062060
nop
lea r9, [rbp + 0xb78]
lea r8, [rbp + 0xb50]
lea rcx, [rbp + 0x1150]
call fcn.1400672a0
nop
lea rcx, [rbp + 0xb50]
call fcn.14004d780
mov rcx, qword [rbp + 0xb50]
mov qword [rbp + 0xb50], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0xc40]
call fcn.14004d780
mov rcx, qword [rbp + 0xc40]
mov qword [rbp + 0xc40], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0xb78]
call fcn.14004d780
mov rcx, qword [rbp + 0xb78]
mov qword [rbp + 0xb78], r12
mov edx, 0x10
call fcn.1400658c0
cmp qword [rbp + 0x1168], 1
jbe 0x14004ff1c
lea rdx, [rbp + 0x1158]
cmp qword [rbp + 0x1170], 0xf
cmova rdx, qword [rbp + 0x1158]
mov qword [rbp + 0x180], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], r12
mov qword [rbp + 0x1a0], r12
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14004fe60
lea rcx, [rbp + 0x180]
call fcn.14004d600
movss xmm3, dword [0x1401680a0]
movss xmm4, dword [0x1401680a4]
movss xmm5, dword [0x1401680a8]
mov dword [rbp + 0xd4], 0x3f800000
movsd xmm0, qword [0x14019d4c8]
subsd xmm0, qword [0x140123b10]
cvttsd2si r9d, xmm0
movss xmm6, dword [rsp + 0x54]
cvtps2pd xmm1, xmm6
movsd xmm2, qword [0x14019d4c0]
subsd xmm2, xmm1
cvttsd2si r8d, xmm2
movups xmm0, xmmword [rbp + 0xc8]
movss xmm0, xmm3
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm4
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm5
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp + 0xc8], xmm0
movdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0x180]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2a0]
mov qword [rsp + 0x20], rax
movss xmm1, dword [0x140123b9c]
call fcn.14004c580
jmp 0x14004ff22
movss xmm6, dword [rsp + 0x54]
lea rcx, [rbp + 0x1150]
call fcn.14004d780
mov rcx, qword [rbp + 0x1150]
mov qword [rbp + 0x1150], r12
mov edx, 0x10
call fcn.1400658c0
jmp 0x14004ff4e
movss xmm6, dword [rsp + 0x54]
cmp byte [0x14016953c], 0
je 0x1400505c5
cmp byte [0x140135d71], 0
je 0x1400505c5
cmp qword [0x14019d578], 0
je 0x1400505c5
mov rdx, qword [r14]
lea rcx, [rbp + 0x1180]
call fcn.14004e130
nop
mov rdx, qword [0x14019d578]
lea rcx, [rbp + 0x10f0]
call fcn.14004e130
nop
mov eax, dword [rbp + 0x10f0]
mov dword [0x14016c100], eax
mov eax, dword [rbp + 0x10f4]
mov dword [0x14016c104], eax
movzx eax, byte [rbp + 0x10f8]
mov byte [0x14016c108], al
movzx eax, byte [rbp + 0x10f9]
mov byte [0x14016c109], al
lea rdx, [rbp + 0x1108]
cmp qword [rbp + 0x1120], 0xf
cmova rdx, qword [rbp + 0x1108]
mov r8, qword [rbp + 0x1118]
mov rcx, rsi
call fcn.140063b40
lea rdx, [rbp + 0x1130]
mov r8, qword [rbp + 0x1140]
lea rcx, [0x14016c138]
cmp qword [rbp + 0x1148], 0xf
jbe 0x140050026
mov rdx, qword [rbp + 0x1130]
call fcn.140063b40
lea rax, [0x14016c080]
jmp 0x140050037
call fcn.140063b40
lea rax, [0x14016c080]
cmp rax, rsi
je 0x14005005d
lea rdx, [0x14016c118]
cmp qword [0x14016c130], 0xf
cmova rdx, qword [0x14016c118]
mov r8, qword [0x14016c128]
mov rcx, rax
call fcn.140063b40
mov eax, dword [rbp + 0x1180]
mov dword [0x14016c100], eax
mov eax, dword [rbp + 0x1184]
mov dword [0x14016c104], eax
movzx eax, byte [rbp + 0x1188]
mov byte [0x14016c108], al
movzx eax, byte [rbp + 0x1189]
mov byte [0x14016c109], al
lea rdx, [rbp + 0x1198]
cmp qword [rbp + 0x11b0], 0xf
cmova rdx, qword [rbp + 0x1198]
mov r8, qword [rbp + 0x11a8]
mov rcx, rsi
call fcn.140063b40
lea rdx, [rbp + 0x11c0]
cmp qword [rbp + 0x11d8], 0xf
cmova rdx, qword [rbp + 0x11c0]
mov r8, qword [rbp + 0x11d0]
lea rcx, [0x14016c138]
call fcn.140063b40
mov r8d, dword [0x14016c100]
lea r9, [rbp + 0x261d]
test r8d, r8d
jns 0x140050140
neg r8d
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140050100
dec r9
mov byte [r9], 0x2d
jmp 0x14005016a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140050140
lea r8, [rbp + 0x261d]
mov rdx, r9
lea rcx, [rbp + 0xbc8]
call fcn.140064d60
nop
mov rsi, qword [0x14016c128]
movabs rax, 0x7fffffffffffffff
sub rax, rsi
cmp rax, 3
jb 0x140051e95
lea r12, [0x14016c118]
cmp qword [0x14016c130], 0xf
cmova r12, qword [0x14016c118]
xor eax, eax
mov qword [rbp - 0x58], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
lea r15, [rsi + 3]
mov ebx, 0xf
lea rdi, [rbp - 0x50]
lea rax, [rbp + 0x1058]
mov qword [rbp + 0x110], rax
mov ecx, 0x10
call fcn.1400702c0
mov qword [rbp + 0x108], rax
lea rcx, [rbp - 0x58]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x108]
mov qword [rbp - 0x58], rax
cmp r15, rbx
jbe 0x14005024e
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x140050231
mov rbx, rax
jmp 0x14005023e
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.140065b30
mov rdi, rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], rbx
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call fcn.1400f6e20
mov ecx, dword [0x1401216a4]
mov word [rdi + rsi], cx
movzx eax, byte [0x1401216a6]
mov byte [rdi + rsi + 2], al
mov byte [rdi + r15], 0
xor r12d, r12d
mov qword [rbp + 0x108], r12
lea r9, [rbp + 0xbc8]
lea r8, [rbp - 0x58]
lea rcx, [rbp + 0xba0]
call fcn.1400672a0
nop
mov r8d, 2
lea rdx, [0x1401216a0]
lea rcx, [rbp + 0xba0]
call fcn.140063ca0
mov rdx, rax
lea rcx, [rbp + 0x1080]
call fcn.140062060
nop
lea rcx, [rbp + 0xba0]
call fcn.14004d780
mov rcx, qword [rbp + 0xba0]
mov qword [rbp + 0xba0], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp - 0x58]
call fcn.1400487f0
mov rbx, qword [rbp - 0x38]
cmp rbx, 0xf
jbe 0x14005037a
mov rdi, qword [rbp - 0x50]
inc rbx
test rdi, rdi
jne 0x14005036f
test rbx, rbx
je 0x14005036f
lea rax, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
mov qword [rsp + 0x28], rax
lea rax, [0x14011b5a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x3b4
lea rdx, [0x140120d30]
mov ecx, 2
call fcn.1400a5070
cmp eax, 1
jne 0x14005034a
int3
mov qword [rsp + 0x20], r12
mov r9d, 0x3b4
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
lea rdx, [0x140120e64]
lea rcx, str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.1400a58a0
mov rdx, rbx
mov rcx, rdi
call fcn.1400658c0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rcx, qword [rbp - 0x58]
mov qword [rbp - 0x58], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0xbc8]
call fcn.14004d780
mov rcx, qword [rbp + 0xbc8]
mov qword [rbp + 0xbc8], r12
mov edx, 0x10
call fcn.1400658c0
lea rdx, [rbp + 0x1088]
mov r8, qword [rbp + 0x1088]
mov r9, qword [rbp + 0x10a0]
cmp r9, 0xf
cmova rdx, r8
mov rax, qword [0x14016c000]
test rdx, rdx
je 0x140050454
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x140123c84]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x60]
movss xmm2, dword [rax + 0x3c08]
lea rdx, [rbp + 0xa8]
mov rcx, qword [rax + 0x3c00]
call fcn.14002cde0
movss xmm0, dword [rbp + 0xa8]
addss xmm0, dword [0x140123a80]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xa8], xmm0
mov r9, qword [rbp + 0x10a0]
mov r8, qword [rbp + 0x1088]
lea rdx, [rbp + 0x1088]
cmp r9, 0xf
cmova rdx, r8
mov qword [rbp + 0x1a8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x1c8], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140050490
lea rcx, [rbp + 0x1a8]
call fcn.14004d600
movsd xmm0, qword [0x14019d520]
addsd xmm0, qword [0x140123b10]
cvttsd2si r9d, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
movsd xmm2, qword [0x14019d518]
subsd xmm2, xmm1
cvttsd2si r8d, xmm2
movups xmm11, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x2b0], xmm11
lea rax, [rbp + 0x1a8]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x20], rax
movss xmm1, dword [0x140123b9c]
call fcn.14004c580
nop
lea rcx, [rbp + 0x1080]
call fcn.14004d780
mov rcx, qword [rbp + 0x1080]
mov qword [rbp + 0x1080], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0x1128]
call fcn.14004d780
mov rcx, qword [rbp + 0x1128]
mov qword [rbp + 0x1128], r12
mov edx, 0x10
call fcn.1400658c0
lea rcx, [rbp + 0x1100]
call fcn.14004d780
mov rcx, qword [rbp + 0x1100]
mov qword [rbp + 0x1100], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0x11b8]
call fcn.14004d780
mov rcx, qword [rbp + 0x11b8]
mov qword [rbp + 0x11b8], r12
mov edx, 0x10
call fcn.1400658c0
lea rcx, [rbp + 0x1190]
call fcn.14004d780
mov rcx, qword [rbp + 0x1190]
mov qword [rbp + 0x1190], r12
mov edx, 0x10
call fcn.1400658c0
mov r15, qword [rbp + 0x100]
cmp byte [0x14016953d], 0
je 0x14005088d
cmp byte [0x140135d71], 0
je 0x14005088d
movss xmm1, dword [rsp + 0x58]
lea rcx, [rbp + 0xc18]
call fcn.14004a500
mov rsi, rax
mov r8, qword [rax + 0x18]
mov qword [rax + 0x18], r8
lea rbx, [rax + 8]
cmp qword [rax + 0x20], 0xf
jbe 0x14005060a
mov rbx, qword [rbx]
lea rcx, [0x14011a726]
cmp rcx, rbx
jbe 0x14005062c
lea rax, [rbx + r8]
cmp rcx, rax
ja 0x14005062c
cmp rbx, rcx
jbe 0x14005062c
mov rdi, rbx
sub rdi, rcx
jmp 0x14005062f
mov rdi, r12
inc r8
mov rdx, rbx
mov rcx, rbx
call fcn.1400f6e20
mov r8, rdi
lea rdx, [0x14011a726]
mov rcx, rbx
call fcn.1400f6e20
mov r8, rdi
neg r8
lea rdx, [0x14011a726]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.1400f6e20
mov rdx, rsi
lea rcx, [rbp + 0xbf0]
call fcn.140062060
nop
mov r8d, 1
lea rdx, [0x14011ab9c]
lea rcx, [rbp + 0xbf0]
call fcn.140063ca0
mov rdx, rax
lea rcx, [rbp + 0x10a8]
call fcn.140062060
nop
lea rcx, [rbp + 0xbf0]
call fcn.14004d780
mov rcx, qword [rbp + 0xbf0]
mov qword [rbp + 0xbf0], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0xc18]
call fcn.14004d780
mov rcx, qword [rbp + 0xc18]
mov qword [rbp + 0xc18], r12
mov edx, 0x10
call fcn.1400658c0
lea rdx, [rbp + 0x10b0]
mov r8, qword [rbp + 0x10b0]
mov r9, qword [rbp + 0x10c8]
cmp r9, 0xf
cmova rdx, r8
mov rax, qword [0x14016c000]
test rdx, rdx
je 0x140050777
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x140123c84]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x60]
movss xmm2, dword [rax + 0x3c08]
lea rdx, [rsp + 0x68]
mov rcx, qword [rax + 0x3c00]
call fcn.14002cde0
movss xmm0, dword [rsp + 0x68]
addss xmm0, dword [0x140123a80]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x68], xmm0
mov r9, qword [rbp + 0x10c8]
mov r8, qword [rbp + 0x10b0]
lea rdx, [rbp + 0x10b0]
cmp r9, 0xf
cmova rdx, r8
mov qword [rbp + 0x1d0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d8], xmm0
mov qword [rbp + 0x1e8], r12
mov qword [rbp + 0x1f0], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400507b0
lea rcx, [rbp + 0x1d0]
call fcn.14004d600
movss xmm3, dword [0x140167ca0]
movss xmm4, dword [0x140167ca4]
movss xmm5, dword [0x140167ca8]
mov dword [rbp + 0xe4], 0x3f800000
movsd xmm0, qword [0x14019d520]
addsd xmm0, qword [0x140123af0]
cvttsd2si r9d, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
movsd xmm2, qword [0x14019d518]
subsd xmm2, xmm1
cvttsd2si r8d, xmm2
movups xmm0, xmmword [rbp + 0xd8]
movss xmm0, xmm3
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm4
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm5
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp + 0xd8], xmm0
movdqa xmmword [rbp + 0x2c0], xmm0
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x20], rax
movss xmm1, dword [0x140123b9c]
call fcn.14004c580
nop
lea rcx, [rbp + 0x10a8]
call fcn.14004d780
mov rcx, qword [rbp + 0x10a8]
mov qword [rbp + 0x10a8], r12
mov edx, 0x10
call fcn.1400658c0
cmp byte [0x140169534], 0
je 0x1400508f6
mov rbx, qword [r14 + 8]
lea rdx, [rbx + 0x2e8]
call fcn.1400656c0
movaps xmm6, xmm0
lea rdx, [rbx + 0x2f0]
call fcn.1400656c0
movss xmm13, dword [0x140123a18]
addss xmm0, xmm13
comiss xmm0, xmm6
setae r8b
movups xmm0, xmmword [rbp + 0xe8]
movaps xmmword [rbp + 0x790], xmm0
movsd xmm1, qword [rbp + 0xf8]
movsd qword [rbp + 0x7a0], xmm1
lea rcx, [rbp + 0x790]
call fcn.14004bda0
jmp 0x1400508ff
movss xmm13, dword [0x140123a18]
cmp byte [0x140135d70], 0
je 0x140050da8
cmp byte [0x140135d71], 0
je 0x140050da8
mov ecx, dword [0x1401a1c98]
test ecx, ecx
je 0x140050ce8
cmp ecx, 1
jne 0x140050da8
movsx edi, byte [0x14019d5c4]
mov rbx, qword [r14]
lea rdx, [rbx + 0x2e8]
call fcn.1400656c0
movaps xmm6, xmm0
lea rdx, [rbx + 0x2f0]
call fcn.1400656c0
addss xmm0, xmm13
mov ebx, r12d
comiss xmm0, xmm6
setae bl
mov r8d, edi
lea r9, [rbp + 0x2605]
test dil, dil
jns 0x1400509c0
neg r8d
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140050980
dec r9
mov byte [r9], 0x2d
jmp 0x1400509ea
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1400509c0
lea r8, [rbp + 0x2605]
mov rdx, r9
lea rcx, [rbp + 0x1208]
call fcn.140064d60
nop
lea r9, [rbp + 0x25d5]
nop dword [rax + rax]
dec r9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov ebx, edx
test edx, edx
jne 0x140050a10
lea r8, [rbp + 0x25d5]
mov rdx, r9
lea rcx, [rbp + 0x11e0]
call fcn.140064d60
nop
mov rcx, qword [0x14016c1b0]
sub rcx, qword [0x14016c1a8]
movabs rdi, 0x6666666666666667
mov rax, rdi
imul rcx
sar rdx, 5
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.Enemies_Around:__d
lea rcx, [rbp + 0x2620]
call fcn.140065860
lea rdx, [0x140120628]
lea rcx, [rbp + 0x2720]
call fcn.140065860
mov rcx, qword [0x14016c1b0]
sub rcx, qword [0x14016c1a8]
mov rax, rdi
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140050af2
mov rbx, qword [r14 + 8]
lea rdx, [rbx + 0x2e8]
call fcn.1400656c0
movaps xmm6, xmm0
lea rdx, [rbx + 0x2f0]
call fcn.1400656c0
addss xmm0, xmm13
comiss xmm0, xmm6
mov r8d, 1
jae 0x140050af5
mov r8d, r12d
lea rdx, str.Visible:__d
lea rcx, [rbp + 0x2820]
call fcn.140065860
mov qword [rbp + 0x1f8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r12
mov qword [rbp + 0x218], r12
lea rax, [rbp + 0x2620]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050b35
lea rdx, [rbp + 0x2620]
lea rcx, [rbp + 0x1f8]
call fcn.14004d600
movups xmm0, xmmword [0x1401240a0]
movdqa xmmword [rbp + 0x2d0], xmm0
lea rax, [rbp + 0x1f8]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x20], rax
mov r9d, 0xe
mov r8d, 0x320
movss xmm6, dword [0x140123b94]
movaps xmm1, xmm6
call fcn.14004c580
mov qword [rbp + 0x220], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x228], xmm0
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x240], r12
lea rax, [rbp + 0x2720]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050bc2
lea rdx, [rbp + 0x2720]
lea rcx, [rbp + 0x220]
call fcn.14004d600
movdqa xmmword [rbp + 0x2e0], xmm12
lea rax, [rbp + 0x220]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
mov r9d, 0xe
mov r8d, 0x39f
movaps xmm1, xmm6
call fcn.14004c580
mov qword [rbp + 0x248], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], r12
mov qword [rbp + 0x268], r12
lea rax, [rbp + 0x2820]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050c41
lea rdx, [rbp + 0x2820]
lea rcx, [rbp + 0x248]
call fcn.14004d600
movups xmm0, xmmword [0x140124340]
movdqa xmmword [rbp + 0x2f0], xmm0
lea rax, [rbp + 0x248]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x20], rax
mov r9d, 0xe
mov r8d, 0x3a7
movaps xmm1, xmm6
call fcn.14004c580
nop
lea rcx, [rbp + 0x11e0]
call fcn.14004d780
mov rcx, qword [rbp + 0x11e0]
mov qword [rbp + 0x11e0], r12
mov edx, 0x10
call fcn.1400658c0
nop
lea rcx, [rbp + 0x1208]
call fcn.14004d780
mov rcx, qword [rbp + 0x1208]
mov qword [rbp + 0x1208], r12
mov edx, 0x10
call fcn.1400658c0
jmp 0x140050da8
mov rcx, qword [0x14016c1b0]
sub rcx, qword [0x14016c1a8]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 5
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.Players_Rendered:__d
lea rcx, [rbp + 0x2620]
call fcn.140065860
mov qword [rbp + 0x270], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], r12
mov qword [rbp + 0x290], r12
lea rax, [rbp + 0x2620]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050d51
lea rdx, [rbp + 0x2620]
lea rcx, [rbp + 0x270]
call fcn.14004d600
movdqa xmmword [rbp + 0x300], xmm12
lea rax, [rbp + 0x270]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x300]
mov qword [rsp + 0x20], rax
mov r9d, 0x12
mov r8d, 5
movss xmm1, dword [0x140123b9c]
call fcn.14004c580
cmp byte [0x140169528], 0
je 0x140051740
cmp byte [0x140135d71], 0
je 0x140051740
mov r8d, 0x25
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xef0]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x7b0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x7c0], xmm1
lea r8, [rbp + 0x7b0]
lea rdx, [rbp + 0x130]
call fcn.14004b150
mov r8d, 8
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xfc8]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x7d0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x7e0], xmm1
lea r8, [rbp + 0x7d0]
lea rdx, [rbp + 0x310]
call fcn.14004b150
movsd xmm10, qword [rbp + 0x310]
subsd xmm10, qword [rbp + 0x130]
mulsd xmm10, qword [0x140123aa8]
addsd xmm10, qword [rbp + 0x130]
mov r8d, 0x42
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xfe0]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x7f0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x800], xmm1
lea r8, [rbp + 0x7f0]
lea rdx, [rbp + 0x320]
call fcn.14004b150
mov r8d, 2
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xff8]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x810], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x820], xmm1
lea r8, [rbp + 0x810]
lea rdx, [rbp + 0x4b0]
call fcn.14004b150
mov r8d, 0x4f
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x1010]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x830], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x840], xmm1
lea r8, [rbp + 0x830]
lea rdx, [rbp + 0x5a0]
call fcn.14004b150
mov r8d, 0x48
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x1028]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x850], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x860], xmm1
lea r8, [rbp + 0x850]
lea rdx, [rbp + 0x560]
call fcn.14004b150
mov r8d, 0x4e
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd28]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x870], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x880], xmm1
lea r8, [rbp + 0x870]
lea rdx, [rbp + 0x4e0]
call fcn.14004b150
mov r8d, 0x47
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd40]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x890], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x8a0], xmm1
lea r8, [rbp + 0x890]
lea rdx, [rbp + 0x520]
call fcn.14004b150
mov r8d, 0x50
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd58]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x8b0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x8c0], xmm1
lea r8, [rbp + 0x8b0]
lea rdx, [rbp + 0x5e0]
call fcn.14004b150
mov r8d, 0x49
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd70]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x8d0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x8e0], xmm1
lea r8, [rbp + 0x8d0]
lea rdx, [rbp + 0x620]
call fcn.14004b150
mov r8d, 0x52
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd88]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x8f0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x900], xmm1
lea r8, [rbp + 0x8f0]
lea rdx, [rbp + 0x6a0]
call fcn.14004b150
mov r8d, 0x4b
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xda0]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x910], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x920], xmm1
lea r8, [rbp + 0x910]
lea rdx, [rbp + 0x660]
call fcn.14004b150
mov r8d, 0x26
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xdb8]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x930], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x940], xmm1
lea r8, [rbp + 0x930]
lea rdx, [rbp + 0x380]
call fcn.14004b150
mov r8d, 9
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xdd0]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x950], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x960], xmm1
lea r8, [rbp + 0x950]
lea rdx, [rbp + 0x350]
call fcn.14004b150
mov r8d, 0x27
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xde8]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x970], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x980], xmm1
lea r8, [rbp + 0x970]
lea rdx, [rbp + 0x3b0]
call fcn.14004b150
mov r8d, 0xa
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe00]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x990], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x9a0], xmm1
lea r8, [rbp + 0x990]
lea rdx, [rbp + 0x3f0]
call fcn.14004b150
mov r8d, 0x5b
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe18]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x9b0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x9c0], xmm1
lea r8, [rbp + 0x9b0]
lea rdx, [rbp + 0x470]
call fcn.14004b150
mov r8d, 0x21
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe30]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x9d0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x9e0], xmm1
lea r8, [rbp + 0x9d0]
lea rdx, [rbp + 0x430]
call fcn.14004b150
movdqa xmmword [rbp + 0x330], xmm11
movsd qword [rbp + 0x140], xmm10
movsd xmm9, qword [rbp + 0x138]
movsd qword [rbp + 0x148], xmm9
movups xmm0, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0x340], xmm0
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x330]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x340]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x360], xmm11
movups xmm8, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x370], xmm8
movsd qword [rbp + 0x150], xmm10
movsd qword [rbp + 0x158], xmm9
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x360]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x370]
lea rdx, [rbp + 0x150]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x390], xmm11
movups xmm6, xmmword [rbp + 0x380]
movdqa xmmword [rbp + 0x3a0], xmm6
movsd qword [rbp + 0x160], xmm10
movsd qword [rbp + 0x168], xmm9
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x3a0]
lea rdx, [rbp + 0x160]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x3c0], xmm11
movups xmm7, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0x3d0], xmm7
movdqa xmmword [rbp + 0x3e0], xmm6
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x3e0]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x400], xmm11
movups xmm6, xmmword [rbp + 0x3f0]
movdqa xmmword [rbp + 0x410], xmm6
movdqa xmmword [rbp + 0x420], xmm8
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x400]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x410]
lea rdx, [rbp + 0x420]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x440], xmm11
movups xmm0, xmmword [rbp + 0x430]
movdqa xmmword [rbp + 0x450], xmm0
movdqa xmmword [rbp + 0x460], xmm6
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x450]
lea rdx, [rbp + 0x460]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x480], xmm11
movups xmm0, xmmword [rbp + 0x470]
movdqa xmmword [rbp + 0x490], xmm0
movdqa xmmword [rbp + 0x4a0], xmm7
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x480]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x490]
lea rdx, [rbp + 0x4a0]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x4c0], xmm11
movups xmm7, xmmword [rbp + 0x4b0]
movdqa xmmword [rbp + 0x4d0], xmm7
movsd qword [rbp + 0x170], xmm10
movsd qword [rbp + 0x178], xmm9
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x4c0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x4d0]
lea rdx, [rbp + 0x170]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x4f0], xmm11
movups xmm8, xmmword [rbp + 0x4e0]
movdqa xmmword [rbp + 0x500], xmm8
movdqa xmmword [rbp + 0x510], xmm7
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x4f0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x500]
lea rdx, [rbp + 0x510]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x530], xmm11
movups xmm6, xmmword [rbp + 0x520]
movdqa xmmword [rbp + 0x540], xmm6
movdqa xmmword [rbp + 0x550], xmm7
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x530]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x540]
lea rdx, [rbp + 0x550]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x570], xmm11
movups xmm7, xmmword [rbp + 0x560]
movdqa xmmword [rbp + 0x580], xmm7
movdqa xmmword [rbp + 0x590], xmm6
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x570]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x580]
lea rdx, [rbp + 0x590]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x5b0], xmm11
movups xmm6, xmmword [rbp + 0x5a0]
movdqa xmmword [rbp + 0x5c0], xmm6
movdqa xmmword [rbp + 0x5d0], xmm8
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x5b0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x5c0]
lea rdx, [rbp + 0x5d0]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x5f0], xmm11
movups xmm8, xmmword [rbp + 0x5e0]
movdqa xmmword [rbp + 0x600], xmm8
movdqa xmmword [rbp + 0x610], xmm6
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x5f0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x600]
lea rdx, [rbp + 0x610]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x630], xmm11
movups xmm6, xmmword [rbp + 0x620]
movdqa xmmword [rbp + 0x640], xmm6
movdqa xmmword [rbp + 0x650], xmm7
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x630]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x650]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x670], xmm11
movups xmm0, xmmword [rbp + 0x660]
movdqa xmmword [rbp + 0x680], xmm0
movdqa xmmword [rbp + 0x690], xmm6
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x670]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x680]
lea rdx, [rbp + 0x690]
call fcn.14004c3c0
movdqa xmmword [rbp + 0x6b0], xmm11
movups xmm0, xmmword [rbp + 0x6a0]
movdqa xmmword [rbp + 0x6c0], xmm0
movdqa xmmword [rbp + 0x6d0], xmm8
movd xmm3, dword [0x140169564]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x6b0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x6c0]
lea rdx, [rbp + 0x6d0]
call fcn.14004c3c0
movss xmm15, dword [0x140123ac0]
lea rsi, [0x14016c110]
add r14, 0x50
cmp r14, r15
jne 0x14004ed54
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x140051e28
cmp byte [0x140169560], 0
je 0x140051e28
lea rdx, [rdi + 0x318]
call fcn.140065390
mov rbx, rax
xorps xmm6, xmm6
xorps xmm8, xmm8
movsd qword [rbp + 0x25d0], xmm8
mov eax, dword [0x1401a1ca0]
test eax, eax
je 0x1400519d2
sub eax, 1
je 0x140051984
sub eax, 1
je 0x140051933
cmp eax, 1
jne 0x140051926
xor ecx, ecx
call fcn.1400ad920
mov dword [rbp + 0x25b4], 0xffffffff
mov dword [rbp + 0x1234], eax
mov edx, 1
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul ecx, ecx, 0x6c078965
add ecx, edx
mov dword [rbp + rdx*4 + 0x1234], ecx
mov eax, ecx
inc rdx
cmp rdx, 0x270
jb 0x1400517e0
mov dword [rbp + 0x1230], 0x270
lea rcx, [rbp + 0x1230]
call fcn.140068a90
shr eax, 0x1e
test eax, eax
je 0x1400518d5
sub eax, 1
je 0x140051884
cmp eax, 1
jne 0x140051926
mov r8d, 0x26
mov rdx, rbx
lea rcx, [rbp + 0xe48]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x9f0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa00], xmm1
lea r8, [rbp + 0x9f0]
lea rdx, [rbp + 0xce8]
call fcn.14004b150
mov r8d, 0x26
lea rcx, [rbp + 0xe60]
jmp 0x140051a1e
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0xe78]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa10], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa20], xmm1
lea r8, [rbp + 0xa10]
lea rdx, [rbp + 0xcf8]
call fcn.14004b150
mov r8d, 0x42
lea rcx, [rbp + 0xe90]
jmp 0x140051a1e
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rbp + 0xea8]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa30], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa40], xmm1
lea r8, [rbp + 0xa30]
lea rdx, [rbp + 0xd08]
call fcn.14004b150
mov r8d, 0x43
lea rcx, [rbp + 0xec0]
jmp 0x140051a1e
movsd xmm7, qword [rbp + 0x25d0]
jmp 0x140051a36
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0xed8]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa60], xmm1
lea r8, [rbp + 0xa50]
lea rdx, [rbp + 0xd18]
call fcn.14004b150
mov r8d, 0x42
lea rcx, [rbp + 0x1040]
jmp 0x140051a1e
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rbp + 0xf08]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa80], xmm1
lea r8, [rbp + 0xa70]
lea rdx, [rbp + 0xc68]
call fcn.14004b150
mov r8d, 0x43
lea rcx, [rbp + 0xf20]
jmp 0x140051a1e
mov r8d, 0x6e
mov rdx, rbx
lea rcx, [rbp + 0xf38]
call fcn.14004afe0
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa90], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xaa0], xmm1
lea r8, [rbp + 0xa90]
lea rdx, [rbp + 0xc78]
call fcn.14004b150
mov r8d, 0x6e
lea rcx, [rbp + 0xf50]
mov rdx, rbx
call fcn.14004afe0
movsd xmm7, qword [rax + 0x10]
movsd qword [rbp + 0x25d0], xmm7
movups xmm6, xmmword [rax]
xorps xmm13, xmm13
xorps xmm9, xmm9
cmp byte [0x14016954c], 0
je 0x140051a5f
call fcn.14004e6b0
mov qword [rsp + 0x68], rax
movss xmm13, dword [rsp + 0x68]
movss xmm9, dword [rsp + 0x6c]
lea rdx, [rdi + 0x198]
call fcn.140065390
mov rdi, rax
movaps xmm11, xmm6
unpckhpd xmm11, xmm6
movaps xmm0, xmm11
subsd xmm0, qword [0x140169588]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm15
call fcn.1400f3b70
movaps xmm10, xmm0
movaps xmm12, xmm6
movaps xmm0, xmm6
subsd xmm0, qword [0x140169580]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm15
call fcn.1400f3b70
addss xmm10, xmm0
movsd xmm1, qword [rbp + 0x25d0]
subsd xmm1, qword [0x140169590]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm15
call fcn.1400f3b70
addss xmm10, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm10
ja 0x140051aea
xorps xmm0, xmm0
sqrtss xmm0, xmm10
jmp 0x140051af3
movaps xmm0, xmm10
call fcn.1400f50f0
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x10d0], xmm0
movsd qword [rbp + 0x10e0], xmm8
lea rdx, [rdi + 0x168]
mov r9d, 0x18
lea r8, [rbp + 0x10d0]
call fcn.140049b40
ucomiss xmm13, dword [0x1401239d8]
jp 0x140051b34
je 0x140051baf
cvtpd2ps xmm0, xmm10
divss xmm0, xmm13
cvtps2pd xmm3, xmm0
movsd xmm6, qword [rbp + 0x10d0]
mulsd xmm6, xmm3
addsd xmm6, xmm12
movsd xmm2, qword [rbp + 0x10d8]
mulsd xmm2, xmm3
addsd xmm2, xmm11
mulss xmm9, dword [0x140123cb0]
andps xmm9, xmmword [0x140124390]
mulss xmm9, xmm14
mulss xmm0, xmm0
mulss xmm9, xmm0
cvtps2pd xmm7, xmm9
movsd xmm0, qword [rbp + 0x10e0]
mulsd xmm0, xmm3
addsd xmm7, xmm0
addsd xmm7, qword [rbp + 0x25d0]
unpcklpd xmm6, xmm2
movaps xmm11, xmm6
unpckhpd xmm11, xmm6
movaps xmm12, xmm6
movaps xmmword [rbp + 0xab0], xmm6
movsd qword [rbp + 0xac0], xmm7
lea r8, [rbp + 0xab0]
lea rdx, [rbp + 0xc88]
call fcn.14004b150
movsd xmm7, qword [rax]
movsd xmm9, qword [rax + 8]
ucomisd xmm12, xmm8
jp 0x140051c86
jne 0x140051c86
ucomisd xmm11, xmm8
jp 0x140051bf9
je 0x140051e28
mov eax, dword [0x1401a1ea8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm11
cvtpd2ps xmm0, xmm0
movss xmm1, dword [0x140123ac0]
call fcn.1400efa00
movaps xmm6, xmm0
mov eax, dword [0x1401a1e18]
cdq
sub eax, edx
sar eax, 1
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm12
cvtpd2ps xmm0, xmm2
movaps xmm1, xmm15
call fcn.1400f3b70
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140051c62
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140051c6a
movaps xmm0, xmm1
call fcn.1400f50f0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [0x140169578]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x140051e28
lea rdx, [rbx + 0x2e8]
call fcn.1400656c0
movaps xmm6, xmm0
lea rdx, [rbx + 0x2f0]
call fcn.1400656c0
addss xmm0, dword [0x140123a18]
comiss xmm0, xmm6
jb 0x140051e28
mov ecx, dword [0x1401a1cf8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140051e28
cvtpd2ps xmm0, xmm7
cvtpd2ps xmm9, xmm9
movss xmm7, dword [0x140169538]
movd xmm5, dword [0x1401a1e18]
cvtdq2pd xmm5, xmm5
mulsd xmm5, qword [0x140123aa8]
movd xmm4, dword [0x1401a1ea8]
cvtdq2pd xmm4, xmm4
mulsd xmm4, qword [0x140123aa8]
movaps xmm3, xmm8
movaps xmm2, xmm8
movsd xmm10, qword [0x1401243b0]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x140051d1b
je 0x140051d77
cvtps2pd xmm6, xmm0
comisd xmm6, xmm5
jbe 0x140051d51
movaps xmm3, xmm5
subsd xmm3, xmm6
xorps xmm3, xmm10
cvtps2pd xmm0, xmm7
divsd xmm3, xmm0
movaps xmm1, xmm3
addsd xmm1, xmm5
movaps xmm0, xmm5
addsd xmm0, xmm5
comisd xmm1, xmm0
xorps xmm1, xmm1
jbe 0x140051d51
movaps xmm3, xmm8
comisd xmm5, xmm6
jbe 0x140051d77
movaps xmm3, xmm6
subsd xmm3, xmm5
cvtps2pd xmm0, xmm7
divsd xmm3, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm5
comisd xmm8, xmm0
jbe 0x140051d77
movaps xmm3, xmm8
ucomiss xmm9, xmm1
jp 0x140051d7f
je 0x140051dd9
cvtps2pd xmm5, xmm9
comisd xmm5, xmm4
jbe 0x140051db3
movaps xmm2, xmm4
subsd xmm2, xmm5
xorps xmm2, xmm10
cvtps2pd xmm0, xmm7
divsd xmm2, xmm0
movaps xmm1, xmm2
addsd xmm1, xmm4
movaps xmm0, xmm4
addsd xmm0, xmm4
comisd xmm1, xmm0
jbe 0x140051db3
movaps xmm2, xmm8
comisd xmm4, xmm5
jbe 0x140051dd9
movaps xmm2, xmm5
subsd xmm2, xmm4
cvtps2pd xmm0, xmm7
divsd xmm2, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm4
comisd xmm8, xmm0
jbe 0x140051dd9
movaps xmm2, xmm8
cmp dword [0x1401a1ce4], 0
jne 0x140051e28
mov qword [rbp + 0x1074], r12
mov dword [rbp + 0x107c], r12d
mov dword [rbp + 0x1068], r12d
mov qword [rbp + 0x106c], 1
cvttsd2si eax, xmm3
mov dword [rbp + 0x1060], eax
cvttsd2si eax, xmm2
mov dword [rbp + 0x1064], eax
mov edx, 1
lea rcx, [rbp + 0x1060]
call qword [0x14016c070]
call fcn.1400120d0
mov rcx, qword [rbp + 0x2920]
xor rcx, rsp
call fcn.14006fcc0
lea r11, [rsp + 0x2ad0]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400488e0
nop
int3