Function at 0x14004ef90
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 - 0x2a30]
mov eax, 0x2b30
call fcn.1400ed2b0
sub rsp, rax
movaps xmmword [rsp + 0x2b20], xmm6
movaps xmmword [rsp + 0x2b10], xmm7
movaps xmmword [rsp + 0x2b00], xmm8
movaps xmmword [rsp + 0x2af0], xmm9
movaps xmmword [rsp + 0x2ae0], xmm10
movaps xmmword [rsp + 0x2ad0], xmm11
movaps xmmword [rsp + 0x2ac0], xmm12
movaps xmmword [rsp + 0x2ab0], xmm13
movaps xmmword [rsp + 0x2aa0], xmm14
movaps xmmword [rsp + 0x2a90], xmm15
mov rax, qword [0x1401340c0]
xor rax, rsp
mov qword [rbp + 0x2980], rax
xor r12d, r12d
mov rcx, qword [0x14016b140]
call fcn.140012120
movss xmm0, dword [0x1401215ac]
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x50], xmm0
mov qword [rbp - 0x78], r12
mov rax, qword [0x14016b0f0]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400097c0
mov r13, rax
call fcn.14004d170
mov r14, qword [0x14016b288]
mov r15, qword [0x14016b290]
mov qword [rbp + 0xf0], r15
cmp r14, r15
je 0x140052243
lea rsi, [0x14016b1f0]
movss xmm15, dword [0x140121410]
movss xmm13, dword [0x140121368]
movss xmm14, dword [0x14012139c]
movsd xmm9, qword [0x140121458]
movsd xmm6, qword [0x140121468]
movsd xmm10, qword [0x140121cf0]
xor r8d, r8d
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd8]
call fcn.14004aff0
movups xmm11, xmmword [rbp + 0xd8]
movaps xmmword [rbp + 0x6f0], xmm11
movsd xmm12, qword [rbp + 0xe8]
movsd qword [rbp + 0x700], xmm12
lea r8, [rbp + 0x6f0]
lea rdx, [rbp + 0xcc8]
call fcn.14004b1d0
movsd xmm0, qword [rax]
movsd qword [0x14019c600], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019c608], 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 + 0xcd8]
call fcn.14004b1d0
movsd xmm0, qword [rax]
movsd qword [0x14019c590], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019c598], 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 + 0xce8]
call fcn.14004b1d0
movsd xmm0, qword [rax]
movsd qword [0x14019c620], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019c628], xmm1
mov r8d, 0x6e
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x108]
call fcn.14004aff0
movups xmm6, xmmword [rbp + 0x108]
movaps xmmword [rbp + 0x750], xmm6
movsd xmm7, qword [rbp + 0x118]
movsd qword [rbp + 0x760], xmm7
lea r8, [rbp + 0x750]
lea rdx, [rbp + 0xcf8]
call fcn.14004b1d0
movsd xmm0, qword [rax]
movsd qword [0x14019c548], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14019c550], 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 + 0xd08]
call fcn.14004b1d0
movsd xmm0, qword [rax]
movsd qword [0x14019c5a8], xmm0
movsd xmm7, qword [rax + 8]
movsd qword [0x14019c5b0], xmm7
movsd xmm6, qword [0x14019c550]
movaps xmm0, xmm6
subsd xmm0, qword [0x14019c628]
andps xmm0, xmm10
cvtpd2ps xmm10, xmm0
movaps xmm9, xmm10
mulss xmm9, dword [0x140121390]
subsd xmm8, qword [0x1401685a8]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
movaps xmm1, xmm15
call fcn.1400f3800
movaps xmm8, xmm0
movaps xmm0, xmm11
subsd xmm0, qword [0x1401685a0]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm15
call fcn.1400f3800
addss xmm8, xmm0
movaps xmm1, xmm12
subsd xmm1, qword [0x1401685b0]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm15
call fcn.1400f3800
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x14004f315
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x14004f31e
movaps xmm0, xmm8
call fcn.1400f4dd0
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x1401213e0]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movaps xmm1, xmm2
divss xmm1, dword [0x14012155c]
addss xmm1, xmm1
movss xmm0, dword [0x1401214d8]
subss xmm0, xmm1
movss xmm1, dword [0x1401214d4]
maxss xmm1, xmm0
movss dword [rbp + 0x10b8], xmm1
comiss xmm2, dword [0x14013eef8]
jbe 0x14004f37d
cmp qword [0x14019c658], 0
jne 0x140051aa0
cmp byte [0x140168580], 0
je 0x14004f47e
mov eax, dword [0x1401a0ef8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x14019c548]
subsd xmm1, xmm0
mov eax, dword [0x1401a0f88]
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 0x14004f3e3
xorps xmm8, xmm8
sqrtss xmm8, xmm2
jmp 0x14004f3ef
movaps xmm0, xmm2
call fcn.1400f4dd0
movaps xmm8, xmm0
cmp byte [0x140168564], 0
je 0x14004f456
mov rbx, qword [r14 + 8]
lea rcx, [rbx + 0x2e8]
call fcn.1400657d0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.1400657d0
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14004f44c
movss xmm0, dword [0x140168598]
comiss xmm0, xmm8
jbe 0x14004f44c
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm8
jbe 0x14004f44c
mov rdi, qword [r14]
mov qword [rbp - 0x78], rdi
movsd xmm7, qword [0x14019c5b0]
jmp 0x14004f477
movsd xmm7, qword [0x14019c5b0]
jmp 0x14004f47e
movss xmm0, dword [0x140168598]
comiss xmm0, xmm8
jbe 0x14004f47e
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm8
jbe 0x14004f47e
mov rax, qword [r14]
mov qword [rbp - 0x78], rax
movss dword [rsp + 0x50], xmm8
movss xmm8, dword [0x140166c98]
movss xmm11, dword [0x140166c9c]
movss xmm12, dword [0x140166ca0]
movss xmm13, dword [0x140166ca8]
movss xmm14, dword [0x140166cac]
movss xmm15, dword [0x140166cb0]
cmp byte [0x140168564], 0
je 0x14004f54f
cmp byte [0x140134d81], 0
je 0x14004f54f
mov rbx, qword [r14 + 8]
lea rcx, [rbx + 0x2e8]
call fcn.1400657d0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.1400657d0
addss xmm0, dword [0x140121368]
comiss xmm0, xmm6
movss xmm0, dword [0x1401213d8]
movss dword [rbp - 0x7c], xmm0
jb 0x14004f51d
movss dword [rsp + 0x78], xmm8
movss dword [rsp + 0x7c], xmm11
movss dword [rbp - 0x80], xmm12
jmp 0x14004f531
movss dword [rsp + 0x78], xmm13
movss dword [rsp + 0x7c], xmm14
movss dword [rbp - 0x80], xmm15
movups xmm11, xmmword [rsp + 0x78]
movups xmmword [rsp + 0x68], xmm11
movsd xmm7, qword [0x14019c5b0]
movups xmm12, xmmword [0x140121cb0]
jmp 0x14004f562
movups xmm12, xmmword [0x140121cb0]
movdqa xmm11, xmm12
movups xmmword [rsp + 0x68], xmm12
cmp byte [0x1401a0d84], 0
je 0x14004f6f4
cmp byte [0x140134d81], 0
je 0x14004f6f4
mov ecx, dword [0x1401a0d90]
test ecx, ecx
je 0x14004f686
sub ecx, 1
je 0x14004f61c
cmp ecx, 1
jne 0x14004f6f4
movd xmm6, dword [0x140168560]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x68]
call fcn.140005c10
mov r9d, eax
movsd xmm1, qword [0x14019c598]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14019c590]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa8], xmm0
movss dword [rbp + 0xac], xmm1
movd xmm2, dword [0x1401a0f88]
cvtdq2ps xmm2, xmm2
mov eax, dword [0x1401a0ef8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb0], xmm0
movss dword [rbp + 0xb4], xmm2
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
jmp 0x14004f6de
movd xmm6, dword [0x140168560]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x68]
call fcn.140005c10
mov r9d, eax
cvtpd2ps xmm1, xmm7
movsd xmm0, qword [0x14019c5a8]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm1
mov eax, dword [0x1401a0f88]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401a0ef8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x38]
jmp 0x14004f6de
movd xmm6, dword [0x140168560]
cvtdq2ps xmm6, xmm6
lea rcx, [rsp + 0x68]
call fcn.140005c10
mov r9d, eax
cvtpd2ps xmm1, xmm7
movsd xmm0, qword [0x14019c5a8]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
mov eax, dword [0x1401a0ef8]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x28], xmm0
mov dword [rbp - 0x24], 0
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x28]
movss dword [rsp + 0x20], xmm6
mov rcx, r13
call fcn.1400289f0
movsd xmm7, qword [0x14019c5b0]
cmp byte [0x140134d70], 0
je 0x14004fc28
cmp byte [0x140134d81], 0
je 0x14004fc28
mov ecx, dword [0x140168594]
test ecx, ecx
je 0x14004fc98
sub ecx, 1
je 0x14004fb76
sub ecx, 1
je 0x14004fa0f
sub ecx, 1
je 0x14004f915
cmp ecx, 1
jne 0x14004fc28
movss xmm14, dword [0x14012139c]
cmp byte [0x1401a0d8c], 0
je 0x14004f83e
movss xmm0, dword [0x140168568]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140121420]
cvttsd2si esi, xmm0
cvttsd2si edi, xmm7
movaps xmm0, xmm9
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x14019c5a8]
subsd xmm2, xmm1
cvttsd2si ebx, xmm2
movups xmm0, xmmword [0x140121980]
movdqa xmmword [rbp + 0xae0], xmm0
mov rax, qword [0x14016b0f0]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400097c0
mov r10, rax
lea rcx, [rbp + 0xae0]
call fcn.140005c10
cvttss2si ecx, xmm9
add ecx, ebx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x20], xmm0
cvttss2si ecx, xmm10
add ecx, edi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x1c], xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x18], xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x14], 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 - 0x20]
lea rdx, [rbp - 0x18]
mov rcx, r10
call fcn.140028b50
movsd xmm7, qword [0x14019c5b0]
movdqa xmmword [rbp + 0xaf0], xmm11
cvttss2si esi, dword [0x140168568]
cvttsd2si edi, xmm7
movaps xmm0, xmm9
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x14019c5a8]
subsd xmm2, xmm1
cvttsd2si ebx, xmm2
mov rax, qword [0x14016b0f0]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400097c0
mov r10, rax
lea rcx, [rbp + 0xaf0]
call fcn.140005c10
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.140028b50
lea rsi, [0x14016b1f0]
jmp 0x14004fc31
cmp byte [0x1401a0d8c], 0
je 0x14004f9ac
movss xmm0, dword [0x140168568]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140121418]
cvttsd2si r10d, xmm0
movups xmm0, xmmword [0x140121980]
movups xmmword [rbp + 0xb00], xmm0
lea rcx, [rbp + 0xb00]
call fcn.140005c10
mov dword [rbp - 0x70], eax
cvttss2si eax, xmm10
cvttss2si r9d, xmm9
cvttsd2si r8d, xmm7
movaps xmm0, xmm9
movss xmm14, dword [0x14012139c]
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x14019c600]
subsd xmm2, xmm1
cvttsd2si edx, xmm2
mov dword [rsp + 0x30], r10d
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
call fcn.14004cb30
movsd xmm7, qword [0x14019c5b0]
jmp 0x14004f9b5
movss xmm14, dword [0x14012139c]
cvttss2si r10d, dword [0x140168568]
lea rcx, [rsp + 0x68]
call fcn.140005c10
mov dword [rbp - 0x6c], eax
cvttss2si eax, xmm10
cvttss2si r9d, xmm9
cvttsd2si r8d, xmm7
mulss xmm9, xmm14
cvtps2pd xmm0, xmm9
movsd xmm1, qword [0x14019c600]
subsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [rsp + 0x30], r10d
lea rcx, [rbp - 0x6c]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
call fcn.14004cb30
jmp 0x14004fc31
cmp byte [0x1401a0d8c], 0
je 0x14004fadb
movss xmm0, dword [0x140168568]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140121418]
cvtpd2ps xmm6, xmm0
movups xmm0, xmmword [0x140121980]
movups xmmword [rbp + 0xb10], xmm0
lea rcx, [rbp + 0xb10]
call fcn.140005c10
cvtps2pd xmm0, xmm10
addsd xmm0, xmm7
cvtpd2ps xmm3, xmm0
movaps xmm1, xmm9
movss xmm14, dword [0x14012139c]
mulss xmm1, xmm14
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x14019c5a8]
subsd xmm2, xmm0
cvtps2pd xmm1, xmm9
addsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp], xmm0
movss dword [rbp + 4], xmm3
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm2
movss dword [rbp + 8], xmm0
movss dword [rbp + 0xc], xmm1
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0xf0
movss xmm0, dword [0x1401214c8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp]
lea rdx, [rbp + 8]
mov rcx, r13
call fcn.140028b50
movsd xmm7, qword [0x14019c5b0]
jmp 0x14004fae4
movss xmm14, dword [0x14012139c]
lea rcx, [rsp + 0x68]
call fcn.140005c10
cvtps2pd xmm0, xmm10
addsd xmm0, xmm7
cvtpd2ps xmm3, xmm0
movaps xmm1, xmm9
mulss xmm1, xmm14
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x14019c5a8]
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 xmm1, dword [0x140168568]
movss dword [rsp + 0x30], xmm1
mov dword [rsp + 0x28], 0xf0
movss xmm0, dword [0x1401214c8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
mov rcx, r13
call fcn.140028b50
jmp 0x14004fc31
cmp byte [0x1401a0d8c], 0
je 0x14004fbe3
movups xmm0, xmmword [0x140121980]
movups xmmword [rbp + 0xb20], xmm0
lea rcx, [rbp + 0xb20]
call fcn.140005c10
movss xmm0, dword [0x140168568]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x140121418]
cvtpd2ps xmm1, xmm0
mov dword [rsp + 0x30], eax
movss dword [rsp + 0x28], xmm1
movss xmm0, dword [0x14012152c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14012151c]
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0xd8]
call fcn.14004c040
lea rcx, [rsp + 0x68]
call fcn.140005c10
mov dword [rsp + 0x30], eax
movss xmm0, dword [0x140168568]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [0x14012152c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14012151c]
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0xd8]
call fcn.14004c040
movss xmm14, dword [0x14012139c]
cmp byte [0x140168578], 0
je 0x14005029c
cmp byte [0x140134d81], 0
je 0x14005029c
mov r8d, dword [r14 + 0x28]
lea r9, [rbp + 0x264d]
test r8d, r8d
jns 0x140050060
neg r8d
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 0x14004fc62
dec r9
mov byte [r9], 0x2d
jmp 0x14005008a
cmp byte [0x1401a0d8c], 0
je 0x14004fea7
movss xmm6, dword [0x140168568]
movss xmm10, dword [0x140121410]
addss xmm6, xmm10
movups xmm8, xmmword [0x140121980]
movups xmmword [rbp + 0xb30], xmm8
lea rcx, [rbp + 0xb30]
call fcn.140005c10
cvtpd2ps xmm2, xmm7
movaps xmm0, xmm9
movss xmm14, dword [0x14012139c]
mulss xmm0, xmm14
cvtps2pd xmm7, xmm0
movaps xmm1, xmm7
addsd xmm1, qword [0x14019c600]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm2
movsd xmm1, qword [0x14019c5a8]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
mov rcx, r13
call fcn.1400289f0
movss xmm6, dword [0x140168568]
addss xmm6, xmm10
movups xmmword [rbp + 0x288], xmm8
lea rcx, [rbp + 0x288]
call fcn.140005c10
movsd xmm2, qword [0x14019c608]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x14019c5a8]
subsd xmm0, xmm7
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x30], xmm1
movss dword [rbp + 0x34], xmm2
movsd xmm0, qword [0x14019c5b0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x38], xmm1
movss dword [rbp + 0x3c], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, r13
call fcn.1400289f0
movss xmm6, dword [0x140168568]
addss xmm6, xmm10
movups xmmword [rbp + 0x298], xmm8
lea rcx, [rbp + 0x298]
call fcn.140005c10
movsd xmm2, qword [0x14019c608]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm7
addsd xmm0, qword [0x14019c600]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm2
movsd xmm1, qword [0x14019c5a8]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x4c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
mov rcx, r13
call fcn.1400289f0
movss xmm6, dword [0x140168568]
addss xmm6, xmm10
movups xmmword [rbp + 0xad0], xmm8
lea rcx, [rbp + 0xad0]
call fcn.140005c10
movsd xmm0, qword [0x14019c608]
cvtpd2ps xmm0, xmm0
addsd xmm7, qword [0x14019c600]
cvtpd2ps xmm1, xmm7
movss dword [rbp + 0x50], xmm1
movss dword [rbp + 0x54], xmm0
movsd xmm0, qword [0x14019c5b0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x58], xmm1
movss dword [rbp + 0x5c], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r13
call fcn.1400289f0
movsd xmm7, qword [0x14019c5b0]
jmp 0x14004feb0
movss xmm14, dword [0x14012139c]
lea rcx, [rsp + 0x68]
call fcn.140005c10
mov ebx, eax
cvtpd2ps xmm2, xmm7
mulss xmm9, xmm14
cvtps2pd xmm6, xmm9
movaps xmm0, xmm6
addsd xmm0, qword [0x14019c600]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm2
movsd xmm1, qword [0x14019c5a8]
subsd xmm1, xmm6
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x60], xmm0
movss dword [rbp + 0x64], xmm2
movss xmm1, dword [0x140168568]
movss dword [rsp + 0x20], xmm1
mov r9d, eax
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x60]
mov rcx, r13
call fcn.1400289f0
movsd xmm2, qword [0x14019c608]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x14019c5a8]
subsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x68], xmm1
movss dword [rbp + 0x6c], xmm2
movsd xmm0, qword [0x14019c5b0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x70], xmm1
movss dword [rbp + 0x74], xmm0
movss xmm0, dword [0x140168568]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.1400289f0
movsd xmm2, qword [0x14019c608]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm6
addsd xmm0, qword [0x14019c600]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x78], xmm0
movss dword [rbp + 0x7c], xmm2
movsd xmm1, qword [0x14019c5a8]
subsd xmm1, xmm6
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x80], xmm0
movss dword [rbp + 0x84], xmm2
movss xmm1, dword [0x140168568]
movss dword [rsp + 0x20], xmm1
mov r9d, ebx
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x80]
mov rcx, r13
call fcn.1400289f0
movsd xmm0, qword [0x14019c608]
cvtpd2ps xmm0, xmm0
addsd xmm6, qword [0x14019c600]
cvtpd2ps xmm1, xmm6
movss dword [rbp + 0x88], xmm1
movss dword [rbp + 0x8c], xmm0
movsd xmm0, qword [0x14019c5b0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x90], xmm1
movss dword [rbp + 0x94], xmm0
movss xmm0, dword [0x140168568]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov rcx, r13
call fcn.1400289f0
jmp 0x14004fc31
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 0x140050060
lea r8, [rbp + 0x264d]
mov rdx, r9
lea rcx, [rbp + 0xb68]
call fcn.1400678f0
nop
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0xc30]
call fcn.14004a650
nop
mov r8d, 3
lea rdx, [0x14011f054]
mov rcx, rax
call fcn.140064050
mov rdx, rax
lea rcx, [rbp + 0xb40]
call fcn.140062410
nop
lea r9, [rbp + 0xb68]
lea r8, [rbp + 0xb40]
lea rcx, [rbp + 0x11b0]
call fcn.140067360
nop
lea rcx, [rbp + 0xb40]
call fcn.14004d800
mov rcx, qword [rbp + 0xb40]
mov qword [rbp + 0xb40], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0xc30]
call fcn.14004d800
mov rcx, qword [rbp + 0xc30]
mov qword [rbp + 0xc30], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0xb68]
call fcn.14004d800
mov rcx, qword [rbp + 0xb68]
mov qword [rbp + 0xb68], r12
mov edx, 0x10
call fcn.140065980
cmp qword [rbp + 0x11c8], 1
jbe 0x14005026e
lea rdx, [rbp + 0x11b8]
cmp qword [rbp + 0x11d0], 0xf
cmova rdx, qword [rbp + 0x11b8]
mov qword [rbp + 0x170], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x178], xmm0
mov qword [rbp + 0x188], r12
mov qword [rbp + 0x190], r12
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400501b0
lea rcx, [rbp + 0x170]
call fcn.14004d680
movss xmm3, dword [0x1401670c0]
movss xmm4, dword [0x1401670c4]
movss xmm5, dword [0x1401670c8]
mov dword [rbp + 0xc4], 0x3f800000
movsd xmm0, qword [0x14019c5b0]
subsd xmm0, qword [0x140121460]
cvttsd2si r9d, xmm0
movss xmm6, dword [rbp + 0x10b8]
cvtps2pd xmm1, xmm6
movsd xmm2, qword [0x14019c5a8]
subsd xmm2, xmm1
cvttsd2si r8d, xmm2
movups xmm0, xmmword [rbp + 0xb8]
movss xmm0, xmm3
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm4
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm5
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp + 0xb8], xmm0
movdqa xmmword [rbp + 0x2b0], xmm0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x20], rax
movss xmm1, dword [0x1401214ec]
call fcn.14004c600
jmp 0x140050276
movss xmm6, dword [rbp + 0x10b8]
lea rcx, [rbp + 0x11b0]
call fcn.14004d800
mov rcx, qword [rbp + 0x11b0]
mov qword [rbp + 0x11b0], r12
mov edx, 0x10
call fcn.140065980
jmp 0x1400502a4
movss xmm6, dword [rbp + 0x10b8]
cmp byte [0x14016855c], 0
je 0x140050915
cmp byte [0x140134d81], 0
je 0x140050915
cmp qword [0x14019c658], 0
je 0x140050915
mov rdx, qword [r14]
lea rcx, [rbp + 0x11e0]
call fcn.14004e390
nop
mov rdx, qword [0x14019c658]
lea rcx, [rbp + 0x1150]
call fcn.14004e390
nop
mov eax, dword [rbp + 0x1150]
mov dword [0x14016b1e0], eax
mov eax, dword [rbp + 0x1154]
mov dword [0x14016b1e4], eax
movzx eax, byte [rbp + 0x1158]
mov byte [0x14016b1e8], al
movzx eax, byte [rbp + 0x1159]
mov byte [0x14016b1e9], al
lea rdx, [rbp + 0x1168]
cmp qword [rbp + 0x1180], 0xf
cmova rdx, qword [rbp + 0x1168]
mov r8, qword [rbp + 0x1178]
mov rcx, rsi
call fcn.140063ef0
lea rdx, [rbp + 0x1190]
mov r8, qword [rbp + 0x11a0]
lea rcx, [0x14016b218]
cmp qword [rbp + 0x11a8], 0xf
jbe 0x14005037c
mov rdx, qword [rbp + 0x1190]
call fcn.140063ef0
lea rax, [0x14016b168]
jmp 0x14005038d
call fcn.140063ef0
lea rax, [0x14016b168]
cmp rax, rsi
je 0x1400503b3
lea rdx, [0x14016b1f8]
cmp qword [0x14016b210], 0xf
cmova rdx, qword [0x14016b1f8]
mov r8, qword [0x14016b208]
mov rcx, rax
call fcn.140063ef0
mov eax, dword [rbp + 0x11e0]
mov dword [0x14016b1e0], eax
mov eax, dword [rbp + 0x11e4]
mov dword [0x14016b1e4], eax
movzx eax, byte [rbp + 0x11e8]
mov byte [0x14016b1e8], al
movzx eax, byte [rbp + 0x11e9]
mov byte [0x14016b1e9], al
lea rdx, [rbp + 0x11f8]
cmp qword [rbp + 0x1210], 0xf
cmova rdx, qword [rbp + 0x11f8]
mov r8, qword [rbp + 0x1208]
mov rcx, rsi
call fcn.140063ef0
lea rdx, [rbp + 0x1220]
cmp qword [rbp + 0x1238], 0xf
cmova rdx, qword [rbp + 0x1220]
mov r8, qword [rbp + 0x1230]
lea rcx, [0x14016b218]
call fcn.140063ef0
mov r8d, dword [0x14016b1e0]
lea r9, [rbp + 0x2665]
test r8d, r8d
jns 0x140050490
neg r8d
nop dword [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 0x140050450
dec r9
mov byte [r9], 0x2d
jmp 0x1400504ba
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 0x140050490
lea r8, [rbp + 0x2665]
mov rdx, r9
lea rcx, [rbp + 0xbb8]
call fcn.1400678f0
nop
mov rsi, qword [0x14016b208]
movabs rax, 0x7fffffffffffffff
sub rax, rsi
cmp rax, 3
jb 0x1400522b0
lea r12, [0x14016b1f8]
cmp qword [0x14016b210], 0xf
cmova r12, qword [0x14016b1f8]
xor eax, eax
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
lea r15, [rsi + 3]
mov ebx, 0xf
lea rdi, [rbp - 0x60]
lea rax, [rbp + 0x10b0]
mov qword [rbp + 0x100], rax
mov ecx, 0x10
call fcn.140075830
mov qword [rbp + 0xf8], rax
lea rcx, [rbp - 0x68]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x68], rax
cmp r15, rbx
jbe 0x14005059e
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x140050581
mov rbx, rax
jmp 0x14005058e
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.140065bf0
mov rdi, rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], rbx
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call fcn.1400f5c00
mov ecx, dword [0x14011f05c]
mov word [rdi + rsi], cx
movzx eax, byte [0x14011f05e]
mov byte [rdi + rsi + 2], al
mov byte [rdi + r15], 0
xor r12d, r12d
mov qword [rbp + 0xf8], r12
lea r9, [rbp + 0xbb8]
lea r8, [rbp - 0x68]
lea rcx, [rbp + 0xb90]
call fcn.140067360
nop
mov r8d, 2
lea rdx, [0x14011f058]
lea rcx, [rbp + 0xb90]
call fcn.140064050
mov rdx, rax
lea rcx, [rbp + 0x10e0]
call fcn.140062410
nop
lea rcx, [rbp + 0xb90]
call fcn.14004d800
mov rcx, qword [rbp + 0xb90]
mov qword [rbp + 0xb90], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp - 0x68]
call fcn.1400488e0
mov rbx, qword [rbp - 0x48]
cmp rbx, 0xf
jbe 0x1400506ca
mov rdi, qword [rbp - 0x60]
inc rbx
test rdi, rdi
jne 0x1400506bf
test rbx, rbx
je 0x1400506bf
lea rax, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
mov qword [rsp + 0x28], rax
lea rax, [0x140118f60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x3b4
lea rdx, [0x14011e6f0]
mov ecx, 2
call fcn.1400a5120
cmp eax, 1
jne 0x14005069a
int3
mov qword [rsp + 0x20], r12
mov r9d, 0x3b4
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
lea rdx, [0x14011e824]
lea rcx, str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.1400a5920
mov rdx, rbx
mov rcx, rdi
call fcn.140065980
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rcx, qword [rbp - 0x68]
mov qword [rbp - 0x68], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0xbb8]
call fcn.14004d800
mov rcx, qword [rbp + 0xbb8]
mov qword [rbp + 0xbb8], r12
mov edx, 0x10
call fcn.140065980
lea rdx, [rbp + 0x10e8]
mov r8, qword [rbp + 0x10e8]
mov r9, qword [rbp + 0x1100]
cmp r9, 0xf
cmova rdx, r8
mov rax, qword [0x14016b0f0]
test rdx, rdx
je 0x1400507a4
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x1401215d4]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x54]
movss xmm2, dword [rax + 0x3c08]
lea rdx, [rbp + 0x98]
mov rcx, qword [rax + 0x3c00]
call fcn.14002ced0
movss xmm0, dword [rbp + 0x98]
addss xmm0, dword [0x1401213d0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x98], xmm0
mov r9, qword [rbp + 0x1100]
mov r8, qword [rbp + 0x10e8]
lea rdx, [rbp + 0x10e8]
cmp r9, 0xf
cmova rdx, r8
mov qword [rbp + 0x198], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400507e0
lea rcx, [rbp + 0x198]
call fcn.14004d680
movsd xmm0, qword [0x14019c608]
addsd xmm0, qword [0x140121460]
cvttsd2si r9d, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
movsd xmm2, qword [0x14019c600]
subsd xmm2, xmm1
cvttsd2si r8d, xmm2
movups xmm11, xmmword [rsp + 0x68]
movdqa xmmword [rbp + 0x2c0], xmm11
lea rax, [rbp + 0x198]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x20], rax
movss xmm1, dword [0x1401214ec]
call fcn.14004c600
nop
lea rcx, [rbp + 0x10e0]
call fcn.14004d800
mov rcx, qword [rbp + 0x10e0]
mov qword [rbp + 0x10e0], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0x1188]
call fcn.14004d800
mov rcx, qword [rbp + 0x1188]
mov qword [rbp + 0x1188], r12
mov edx, 0x10
call fcn.140065980
lea rcx, [rbp + 0x1160]
call fcn.14004d800
mov rcx, qword [rbp + 0x1160]
mov qword [rbp + 0x1160], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0x1218]
call fcn.14004d800
mov rcx, qword [rbp + 0x1218]
mov qword [rbp + 0x1218], r12
mov edx, 0x10
call fcn.140065980
lea rcx, [rbp + 0x11f0]
call fcn.14004d800
mov rcx, qword [rbp + 0x11f0]
mov qword [rbp + 0x11f0], r12
mov edx, 0x10
call fcn.140065980
mov r15, qword [rbp + 0xf0]
cmp byte [0x14016855d], 0
je 0x140050bdd
cmp byte [0x140134d81], 0
je 0x140050bdd
movss xmm1, dword [rsp + 0x58]
lea rcx, [rbp + 0xc08]
call fcn.14004a360
mov rsi, rax
mov r8, qword [rax + 0x18]
mov qword [rax + 0x18], r8
lea rbx, [rax + 8]
cmp qword [rax + 0x20], 0xf
jbe 0x14005095a
mov rbx, qword [rbx]
lea rcx, [0x1401180ee]
cmp rcx, rbx
jbe 0x14005097c
lea rax, [rbx + r8]
cmp rcx, rax
ja 0x14005097c
cmp rbx, rcx
jbe 0x14005097c
mov rdi, rbx
sub rdi, rcx
jmp 0x14005097f
mov rdi, r12
inc r8
mov rdx, rbx
mov rcx, rbx
call fcn.1400f5c00
mov r8, rdi
lea rdx, [0x1401180ee]
mov rcx, rbx
call fcn.1400f5c00
mov r8, rdi
neg r8
lea rdx, [0x1401180ee]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.1400f5c00
mov rdx, rsi
lea rcx, [rbp + 0xbe0]
call fcn.140062410
nop
mov r8d, 1
lea rdx, [0x14011855c]
lea rcx, [rbp + 0xbe0]
call fcn.140064050
mov rdx, rax
lea rcx, [rbp + 0x1108]
call fcn.140062410
nop
lea rcx, [rbp + 0xbe0]
call fcn.14004d800
mov rcx, qword [rbp + 0xbe0]
mov qword [rbp + 0xbe0], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0xc08]
call fcn.14004d800
mov rcx, qword [rbp + 0xc08]
mov qword [rbp + 0xc08], r12
mov edx, 0x10
call fcn.140065980
lea rdx, [rbp + 0x1110]
mov r8, qword [rbp + 0x1110]
mov r9, qword [rbp + 0x1128]
cmp r9, 0xf
cmova rdx, r8
mov rax, qword [0x14016b0f0]
test rdx, rdx
je 0x140050ac7
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x1401215d4]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x54]
movss xmm2, dword [rax + 0x3c08]
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0x3c00]
call fcn.14002ced0
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x1401213d0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x60], xmm0
mov r9, qword [rbp + 0x1128]
mov r8, qword [rbp + 0x1110]
lea rdx, [rbp + 0x1110]
cmp r9, 0xf
cmova rdx, r8
mov qword [rbp + 0x1c0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], r12
mov qword [rbp + 0x1e0], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140050b00
lea rcx, [rbp + 0x1c0]
call fcn.14004d680
movss xmm3, dword [0x140166cb8]
movss xmm4, dword [0x140166cbc]
movss xmm5, dword [0x140166cc0]
mov dword [rbp + 0xd4], 0x3f800000
movsd xmm0, qword [0x14019c608]
addsd xmm0, qword [0x140121440]
cvttsd2si r9d, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
movsd xmm2, qword [0x14019c600]
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 + 0x2d0], xmm0
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x20], rax
movss xmm1, dword [0x1401214ec]
call fcn.14004c600
nop
lea rcx, [rbp + 0x1108]
call fcn.14004d800
mov rcx, qword [rbp + 0x1108]
mov qword [rbp + 0x1108], r12
mov edx, 0x10
call fcn.140065980
cmp byte [0x140168554], 0
je 0x140050c46
mov rbx, qword [r14 + 8]
lea rcx, [rbx + 0x2e8]
call fcn.1400657d0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.1400657d0
movss xmm13, dword [0x140121368]
addss xmm0, xmm13
comiss xmm0, xmm6
setae r8b
movups xmm0, xmmword [rbp + 0xd8]
movaps xmmword [rbp + 0x790], xmm0
movsd xmm1, qword [rbp + 0xe8]
movsd qword [rbp + 0x7a0], xmm1
lea rcx, [rbp + 0x790]
call fcn.14004be20
jmp 0x140050c4f
movss xmm13, dword [0x140121368]
cmp byte [0x140134d80], 0
je 0x1400510f8
cmp byte [0x140134d81], 0
je 0x1400510f8
mov ecx, dword [0x1401a0d78]
test ecx, ecx
je 0x140051038
cmp ecx, 1
jne 0x1400510f8
movsx edi, byte [0x14019c6a4]
mov rbx, qword [r14]
lea rcx, [rbx + 0x2e8]
call fcn.1400657d0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.1400657d0
addss xmm0, xmm13
mov ebx, r12d
comiss xmm0, xmm6
setae bl
mov r8d, edi
lea r9, [rbp + 0x267d]
test dil, dil
jns 0x140050d10
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 0x140050cd0
dec r9
mov byte [r9], 0x2d
jmp 0x140050d3a
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 0x140050d10
lea r8, [rbp + 0x267d]
mov rdx, r9
lea rcx, [rbp + 0x1268]
call fcn.1400678f0
nop
lea r9, [rbp + 0x2635]
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 0x140050d60
lea r8, [rbp + 0x2635]
mov rdx, r9
lea rcx, [rbp + 0x1240]
call fcn.1400678f0
nop
mov rcx, qword [0x14016b290]
sub rcx, qword [0x14016b288]
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 + 0x2680]
call fcn.140065920
lea rdx, [0x14011dfe8]
lea rcx, [rbp + 0x2780]
call fcn.140065920
mov rcx, qword [0x14016b290]
sub rcx, qword [0x14016b288]
mov rax, rdi
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140050e42
mov rbx, qword [r14 + 8]
lea rcx, [rbx + 0x2e8]
call fcn.1400657d0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.1400657d0
addss xmm0, xmm13
comiss xmm0, xmm6
mov r8d, 1
jae 0x140050e45
mov r8d, r12d
lea rdx, str.Visible:__d
lea rcx, [rbp + 0x2880]
call fcn.140065920
mov qword [rbp + 0x1e8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], r12
lea rax, [rbp + 0x2680]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050e85
lea rdx, [rbp + 0x2680]
lea rcx, [rbp + 0x1e8]
call fcn.14004d680
movups xmm0, xmmword [0x140121a00]
movdqa xmmword [rbp + 0x2e0], xmm0
lea rax, [rbp + 0x1e8]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
mov r9d, 0xe
mov r8d, 0x320
movss xmm6, dword [0x1401214e4]
movaps xmm1, xmm6
call fcn.14004c600
mov qword [rbp + 0x210], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x218], xmm0
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x230], r12
lea rax, [rbp + 0x2780]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050f12
lea rdx, [rbp + 0x2780]
lea rcx, [rbp + 0x210]
call fcn.14004d680
movdqa xmmword [rbp + 0x2f0], xmm12
lea rax, [rbp + 0x210]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x20], rax
mov r9d, 0xe
mov r8d, 0x39f
movaps xmm1, xmm6
call fcn.14004c600
mov qword [rbp + 0x238], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x240], xmm0
mov qword [rbp + 0x250], r12
mov qword [rbp + 0x258], r12
lea rax, [rbp + 0x2880]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140050f91
lea rdx, [rbp + 0x2880]
lea rcx, [rbp + 0x238]
call fcn.14004d680
movups xmm0, xmmword [0x140121ca0]
movdqa xmmword [rbp + 0x300], xmm0
lea rax, [rbp + 0x238]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x300]
mov qword [rsp + 0x20], rax
mov r9d, 0xe
mov r8d, 0x3a7
movaps xmm1, xmm6
call fcn.14004c600
nop
lea rcx, [rbp + 0x1240]
call fcn.14004d800
mov rcx, qword [rbp + 0x1240]
mov qword [rbp + 0x1240], r12
mov edx, 0x10
call fcn.140065980
nop
lea rcx, [rbp + 0x1268]
call fcn.14004d800
mov rcx, qword [rbp + 0x1268]
mov qword [rbp + 0x1268], r12
mov edx, 0x10
call fcn.140065980
jmp 0x1400510f8
mov rcx, qword [0x14016b290]
sub rcx, qword [0x14016b288]
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 + 0x2680]
call fcn.140065920
mov qword [rbp + 0x260], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x268], xmm0
mov qword [rbp + 0x278], r12
mov qword [rbp + 0x280], r12
lea rax, [rbp + 0x2680]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400510a1
lea rdx, [rbp + 0x2680]
lea rcx, [rbp + 0x260]
call fcn.14004d680
movdqa xmmword [rbp + 0x310], xmm12
lea rax, [rbp + 0x260]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x310]
mov qword [rsp + 0x20], rax
mov r9d, 0x12
mov r8d, 5
movss xmm1, dword [0x1401214ec]
call fcn.14004c600
cmp byte [0x140168548], 0
je 0x140051a90
cmp byte [0x140134d81], 0
je 0x140051a90
mov r8d, 0x25
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xfe8]
call fcn.14004aff0
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 + 0x120]
call fcn.14004b1d0
mov r8d, 8
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x1000]
call fcn.14004aff0
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 + 0x320]
call fcn.14004b1d0
movsd xmm10, qword [rbp + 0x320]
subsd xmm10, qword [rbp + 0x120]
mulsd xmm10, qword [0x1401213f8]
addsd xmm10, qword [rbp + 0x120]
mov r8d, 0x42
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x1018]
call fcn.14004aff0
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 + 0x330]
call fcn.14004b1d0
mov r8d, 2
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0x1030]
call fcn.14004aff0
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 + 0x4c0]
call fcn.14004b1d0
mov r8d, 0x4f
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd18]
call fcn.14004aff0
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 + 0x5b0]
call fcn.14004b1d0
mov r8d, 0x48
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd30]
call fcn.14004aff0
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 + 0x570]
call fcn.14004b1d0
mov r8d, 0x4e
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd48]
call fcn.14004aff0
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 + 0x4f0]
call fcn.14004b1d0
mov r8d, 0x47
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd60]
call fcn.14004aff0
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 + 0x530]
call fcn.14004b1d0
mov r8d, 0x50
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd78]
call fcn.14004aff0
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 + 0x5f0]
call fcn.14004b1d0
mov r8d, 0x49
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xd90]
call fcn.14004aff0
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 + 0x630]
call fcn.14004b1d0
mov r8d, 0x52
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xda8]
call fcn.14004aff0
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 + 0x6b0]
call fcn.14004b1d0
mov r8d, 0x4b
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xdc0]
call fcn.14004aff0
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 + 0x670]
call fcn.14004b1d0
mov r8d, 0x26
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xdd8]
call fcn.14004aff0
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 + 0x390]
call fcn.14004b1d0
mov r8d, 9
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xdf0]
call fcn.14004aff0
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 + 0x360]
call fcn.14004b1d0
mov r8d, 0x27
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe08]
call fcn.14004aff0
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 + 0x3c0]
call fcn.14004b1d0
mov r8d, 0xa
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe20]
call fcn.14004aff0
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 + 0x400]
call fcn.14004b1d0
mov r8d, 0x5b
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe38]
call fcn.14004aff0
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 + 0x480]
call fcn.14004b1d0
mov r8d, 0x21
mov rdx, qword [r14 + 8]
lea rcx, [rbp + 0xe50]
call fcn.14004aff0
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 + 0x440]
call fcn.14004b1d0
movdqa xmmword [rbp + 0x340], xmm11
movsd qword [rbp + 0x130], xmm10
movsd xmm9, qword [rbp + 0x128]
movsd qword [rbp + 0x138], xmm9
movups xmm0, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x350], xmm0
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x340]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x350]
call fcn.14004c440
movdqa xmmword [rbp + 0x370], xmm11
movups xmm8, xmmword [rbp + 0x360]
movdqa xmmword [rbp + 0x380], xmm8
movsd qword [rbp + 0x140], xmm10
movsd qword [rbp + 0x148], xmm9
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x370]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x380]
lea rdx, [rbp + 0x140]
call fcn.14004c440
movdqa xmmword [rbp + 0x3a0], xmm11
movups xmm6, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x3b0], xmm6
movsd qword [rbp + 0x150], xmm10
movsd qword [rbp + 0x158], xmm9
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x3a0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x3b0]
lea rdx, [rbp + 0x150]
call fcn.14004c440
movdqa xmmword [rbp + 0x3d0], xmm11
movups xmm7, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp + 0x3e0], xmm7
movdqa xmmword [rbp + 0x3f0], xmm6
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x3e0]
lea rdx, [rbp + 0x3f0]
call fcn.14004c440
movdqa xmmword [rbp + 0x410], xmm11
movups xmm6, xmmword [rbp + 0x400]
movdqa xmmword [rbp + 0x420], xmm6
movdqa xmmword [rbp + 0x430], xmm8
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x410]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x420]
lea rdx, [rbp + 0x430]
call fcn.14004c440
movdqa xmmword [rbp + 0x450], xmm11
movups xmm0, xmmword [rbp + 0x440]
movdqa xmmword [rbp + 0x460], xmm0
movdqa xmmword [rbp + 0x470], xmm6
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x460]
lea rdx, [rbp + 0x470]
call fcn.14004c440
movdqa xmmword [rbp + 0x490], xmm11
movups xmm0, xmmword [rbp + 0x480]
movdqa xmmword [rbp + 0x4a0], xmm0
movdqa xmmword [rbp + 0x4b0], xmm7
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x490]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x4a0]
lea rdx, [rbp + 0x4b0]
call fcn.14004c440
movdqa xmmword [rbp + 0x4d0], xmm11
movups xmm7, xmmword [rbp + 0x4c0]
movdqa xmmword [rbp + 0x4e0], xmm7
movsd qword [rbp + 0x160], xmm10
movsd qword [rbp + 0x168], xmm9
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x4d0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x4e0]
lea rdx, [rbp + 0x160]
call fcn.14004c440
movdqa xmmword [rbp + 0x500], xmm11
movups xmm8, xmmword [rbp + 0x4f0]
movdqa xmmword [rbp + 0x510], xmm8
movdqa xmmword [rbp + 0x520], xmm7
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x500]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x510]
lea rdx, [rbp + 0x520]
call fcn.14004c440
movdqa xmmword [rbp + 0x540], xmm11
movups xmm6, xmmword [rbp + 0x530]
movdqa xmmword [rbp + 0x550], xmm6
movdqa xmmword [rbp + 0x560], xmm7
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x540]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x550]
lea rdx, [rbp + 0x560]
call fcn.14004c440
movdqa xmmword [rbp + 0x580], xmm11
movups xmm7, xmmword [rbp + 0x570]
movdqa xmmword [rbp + 0x590], xmm7
movdqa xmmword [rbp + 0x5a0], xmm6
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x580]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x590]
lea rdx, [rbp + 0x5a0]
call fcn.14004c440
movdqa xmmword [rbp + 0x5c0], xmm11
movups xmm6, xmmword [rbp + 0x5b0]
movdqa xmmword [rbp + 0x5d0], xmm6
movdqa xmmword [rbp + 0x5e0], xmm8
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x5c0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x5d0]
lea rdx, [rbp + 0x5e0]
call fcn.14004c440
movdqa xmmword [rbp + 0x600], xmm11
movups xmm8, xmmword [rbp + 0x5f0]
movdqa xmmword [rbp + 0x610], xmm8
movdqa xmmword [rbp + 0x620], xmm6
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x600]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x610]
lea rdx, [rbp + 0x620]
call fcn.14004c440
movdqa xmmword [rbp + 0x640], xmm11
movups xmm6, xmmword [rbp + 0x630]
movdqa xmmword [rbp + 0x650], xmm6
movdqa xmmword [rbp + 0x660], xmm7
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x640]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x650]
lea rdx, [rbp + 0x660]
call fcn.14004c440
movdqa xmmword [rbp + 0x680], xmm11
movups xmm0, xmmword [rbp + 0x670]
movdqa xmmword [rbp + 0x690], xmm0
movdqa xmmword [rbp + 0x6a0], xmm6
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x680]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x690]
lea rdx, [rbp + 0x6a0]
call fcn.14004c440
movdqa xmmword [rbp + 0x6c0], xmm11
movups xmm0, xmmword [rbp + 0x6b0]
movdqa xmmword [rbp + 0x6d0], xmm0
movdqa xmmword [rbp + 0x6e0], xmm8
movd xmm3, dword [0x140168584]
cvtdq2ps xmm3, xmm3
lea rax, [rbp + 0x6c0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x6d0]
lea rdx, [rbp + 0x6e0]
call fcn.14004c440
movss xmm15, dword [0x140121410]
lea rsi, [0x14016b1f0]
add r14, 0x50
cmp r14, r15
jne 0x14004f0b4
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x140052243
cmp byte [0x140168580], 0
je 0x140052243
mov qword [rbp + 0x10b8], r12
mov dword [rbp + 0x104c], r12d
mov eax, dword [0x14016c314]
mov dword [rbp + 0x1048], eax
lea rax, [rdi + 0x318]
mov qword [rbp + 0x1050], rax
lea rax, [rbp + 0x10b8]
mov qword [rbp + 0x1058], rax
mov qword [rbp + 0x1060], 8
mov edx, 4
lea rcx, [rbp + 0x1048]
call fcn.1400038c0
xorps xmm6, xmm6
xorps xmm8, xmm8
movsd qword [rbp + 0x2630], xmm8
mov ecx, dword [0x1401a0d80]
mov rbx, qword [rbp + 0x10b8]
test ecx, ecx
je 0x140051d72
sub ecx, 1
je 0x140051d24
sub ecx, 1
je 0x140051cd3
cmp ecx, 1
jne 0x140051cc6
xor ecx, ecx
call fcn.1400aba30
mov dword [rbp + 0x2614], 0xffffffff
mov dword [rbp + 0x1294], eax
mov edx, 1
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul ecx, ecx, 0x6c078965
add ecx, edx
mov dword [rbp + rdx*4 + 0x1294], ecx
mov eax, ecx
inc rdx
cmp rdx, 0x270
jb 0x140051b80
mov dword [rbp + 0x1290], 0x270
lea rcx, [rbp + 0x1290]
call fcn.140068cf0
shr eax, 0x1e
test eax, eax
je 0x140051c75
sub eax, 1
je 0x140051c24
cmp eax, 1
jne 0x140051cc6
mov r8d, 0x26
mov rdx, rbx
lea rcx, [rbp + 0xe68]
call fcn.14004aff0
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 + 0xc58]
call fcn.14004b1d0
mov r8d, 0x26
lea rcx, [rbp + 0xe80]
jmp 0x140051dbe
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0xe98]
call fcn.14004aff0
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 + 0xc68]
call fcn.14004b1d0
mov r8d, 0x42
lea rcx, [rbp + 0xeb0]
jmp 0x140051dbe
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rbp + 0xec8]
call fcn.14004aff0
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 + 0xc78]
call fcn.14004b1d0
mov r8d, 0x43
lea rcx, [rbp + 0xee0]
jmp 0x140051dbe
movsd xmm7, qword [rbp + 0x2630]
jmp 0x140051dd6
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0xef8]
call fcn.14004aff0
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 + 0xc88]
call fcn.14004b1d0
mov r8d, 0x42
lea rcx, [rbp + 0xf10]
jmp 0x140051dbe
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rbp + 0xf28]
call fcn.14004aff0
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 + 0xc98]
call fcn.14004b1d0
mov r8d, 0x43
lea rcx, [rbp + 0xf40]
jmp 0x140051dbe
mov r8d, 0x6e
mov rdx, rbx
lea rcx, [rbp + 0xf58]
call fcn.14004aff0
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 + 0xca8]
call fcn.14004b1d0
mov r8d, 0x6e
lea rcx, [rbp + 0xf70]
mov rdx, rbx
call fcn.14004aff0
movsd xmm7, qword [rax + 0x10]
movsd qword [rbp + 0x2630], xmm7
movups xmm6, xmmword [rax]
xorps xmm13, xmm13
xorps xmm9, xmm9
cmp byte [0x14016856c], 0
je 0x140051dff
call fcn.14004ea10
mov qword [rsp + 0x60], rax
movss xmm13, dword [rsp + 0x60]
movss xmm9, dword [rsp + 0x64]
mov qword [rbp + 0x10a8], r12
mov dword [rbp + 0x106c], r12d
mov eax, dword [0x14016c314]
mov dword [rbp + 0x1068], eax
lea rax, [rdi + 0x198]
mov qword [rbp + 0x1070], rax
lea rax, [rbp + 0x10a8]
mov qword [rbp + 0x1078], rax
mov qword [rbp + 0x1080], 8
mov edx, 4
lea rcx, [rbp + 0x1068]
call fcn.1400038c0
movaps xmm11, xmm6
unpckhpd xmm11, xmm6
movaps xmm0, xmm11
subsd xmm0, qword [0x1401685a8]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm15
call fcn.1400f3800
movaps xmm10, xmm0
movaps xmm12, xmm6
movaps xmm0, xmm6
subsd xmm0, qword [0x1401685a0]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm15
call fcn.1400f3800
addss xmm10, xmm0
movsd xmm1, qword [rbp + 0x2630]
subsd xmm1, qword [0x1401685b0]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm15
call fcn.1400f3800
addss xmm10, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm10
ja 0x140051ecd
xorps xmm0, xmm0
sqrtss xmm0, xmm10
jmp 0x140051ed6
movaps xmm0, xmm10
call fcn.1400f4dd0
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x1130], xmm0
movsd qword [rbp + 0x1140], xmm8
mov dword [rbp + 0x108c], r12d
mov eax, dword [0x14016c314]
mov dword [rbp + 0x1088], eax
mov rax, qword [rbp + 0x10a8]
add rax, 0x168
mov qword [rbp + 0x1090], rax
lea rax, [rbp + 0x1130]
mov qword [rbp + 0x1098], rax
mov qword [rbp + 0x10a0], 0x18
mov edx, 4
lea rcx, [rbp + 0x1088]
call fcn.1400038c0
ucomiss xmm13, dword [0x140121328]
jp 0x140051f4f
je 0x140051fca
cvtpd2ps xmm0, xmm10
divss xmm0, xmm13
cvtps2pd xmm3, xmm0
movsd xmm6, qword [rbp + 0x1130]
mulsd xmm6, xmm3
addsd xmm6, xmm12
movsd xmm2, qword [rbp + 0x1138]
mulsd xmm2, xmm3
addsd xmm2, xmm11
mulss xmm9, dword [0x140121600]
andps xmm9, xmmword [0x140121ce0]
mulss xmm9, xmm14
mulss xmm0, xmm0
mulss xmm9, xmm0
cvtps2pd xmm7, xmm9
movsd xmm0, qword [rbp + 0x1140]
mulsd xmm0, xmm3
addsd xmm7, xmm0
addsd xmm7, qword [rbp + 0x2630]
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 + 0xcb8]
call fcn.14004b1d0
movsd xmm7, qword [rax]
movsd xmm9, qword [rax + 8]
ucomisd xmm12, xmm8
jp 0x1400520a1
jne 0x1400520a1
ucomisd xmm11, xmm8
jp 0x140052014
je 0x140052243
mov eax, dword [0x1401a0f88]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm11
cvtpd2ps xmm0, xmm0
movss xmm1, dword [0x140121410]
call fcn.1400eda30
movaps xmm6, xmm0
mov eax, dword [0x1401a0ef8]
cdq
sub eax, edx
sar eax, 1
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm12
cvtpd2ps xmm0, xmm2
movaps xmm1, xmm15
call fcn.1400f3800
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14005207d
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140052085
movaps xmm0, xmm1
call fcn.1400f4dd0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [0x140168598]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x140052243
lea rcx, [rbx + 0x2e8]
call fcn.1400657d0
movaps xmm6, xmm0
lea rcx, [rbx + 0x2f0]
call fcn.1400657d0
addss xmm0, dword [0x140121368]
comiss xmm0, xmm6
jb 0x140052243
mov ecx, dword [0x1401a0dd8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052243
cvtpd2ps xmm0, xmm7
cvtpd2ps xmm9, xmm9
movss xmm7, dword [0x140168558]
movd xmm5, dword [0x1401a0ef8]
cvtdq2pd xmm5, xmm5
mulsd xmm5, qword [0x1401213f8]
movd xmm4, dword [0x1401a0f88]
cvtdq2pd xmm4, xmm4
mulsd xmm4, qword [0x1401213f8]
movaps xmm3, xmm8
movaps xmm2, xmm8
movsd xmm10, qword [0x140121d00]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x140052136
je 0x140052192
cvtps2pd xmm6, xmm0
comisd xmm6, xmm5
jbe 0x14005216c
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 0x14005216c
movaps xmm3, xmm8
comisd xmm5, xmm6
jbe 0x140052192
movaps xmm3, xmm6
subsd xmm3, xmm5
cvtps2pd xmm0, xmm7
divsd xmm3, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm5
comisd xmm8, xmm0
jbe 0x140052192
movaps xmm3, xmm8
ucomiss xmm9, xmm1
jp 0x14005219a
je 0x1400521f4
cvtps2pd xmm5, xmm9
comisd xmm5, xmm4
jbe 0x1400521ce
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 0x1400521ce
movaps xmm2, xmm8
comisd xmm4, xmm5
jbe 0x1400521f4
movaps xmm2, xmm5
subsd xmm2, xmm4
cvtps2pd xmm0, xmm7
divsd xmm2, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm4
comisd xmm8, xmm0
jbe 0x1400521f4
movaps xmm2, xmm8
cmp dword [0x1401a0dc4], 0
jne 0x140052243
mov qword [rbp + 0x10d4], r12
mov dword [rbp + 0x10dc], r12d
mov dword [rbp + 0x10c8], r12d
mov qword [rbp + 0x10cc], 1
cvttsd2si eax, xmm3
mov dword [rbp + 0x10c0], eax
cvttsd2si eax, xmm2
mov dword [rbp + 0x10c4], eax
mov edx, 1
lea rcx, [rbp + 0x10c0]
call qword [0x14016b158]
call fcn.1400121c0
mov rcx, qword [rbp + 0x2980]
xor rcx, rsp
call fcn.140075810
lea r11, [rsp + 0x2b30]
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.1400489d0
nop
int3