Function at 0x1400623c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4b8]
sub rsp, 0x590
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1401ad010]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
xor r14d, r14d
movss xmm6, dword [0x14018a9f8]
cmp byte [0x1401b1f00], r14b
je 0x140062541
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
lea edx, [r14 + 1]
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
mov rcx, qword [0x1401b1e80]
mov dword [rbp + 0x250], 0x437f0000
mov dword [rbp + 0x254], 0x437f0000
mov dword [rbp + 0x258], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x25c], xmm0
lea rcx, [rbp + 0x250]
call fcn.140005170
mov edx, dword [0x1401add8c]
lea ecx, [rdx + 0x21c]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm1, dword [0x14018a8b8]
lea ecx, [rdx + 0x3c0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
mov ecx, 0x21c
sub ecx, edx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov ecx, 0x3c0
sub ecx, edx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movss xmm11, dword [0x14018a898]
movss dword [rsp + 0x30], xmm11
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400301c0
jmp 0x14006254a
movss xmm11, dword [0x14018a898]
cmp byte [0x1401b1e7c], r14b
je 0x14006260b
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r8, rax
mov rcx, qword [0x1401b1e80]
mov dword [rbp + 0x250], 0x437f0000
mov dword [rbp + 0x254], 0x437f0000
mov dword [rbp + 0x258], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x25c], xmm0
lea rcx, [rbp + 0x250]
call fcn.140005170
movd xmm2, dword [0x1401add8c]
cvtdq2ps xmm2, xmm2
mov ecx, dword [0x1401b1e90]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mov ecx, dword [0x1401b1edc]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea rdx, [rsp + 0x40]
mov rcx, r8
call fcn.140030e30
movaps xmm0, xmmword [0x14018b120]
movups xmmword [rbp - 0x18], xmm0
cmp byte [0x1401b1efd], r14b
je 0x1400626ce
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
lea rcx, [rbp - 0x18]
call fcn.140005170
mov ecx, dword [0x1401b1e90]
xorps xmm4, xmm4
cvtsi2ss xmm4, rcx
movd xmm3, dword [0x1401add8c]
cvtdq2ps xmm3, xmm3
movaps xmm1, xmm4
addss xmm1, xmm3
addss xmm1, xmm11
mov ecx, dword [0x1401b1edc]
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
subss xmm4, xmm3
subss xmm2, xmm3
movss dword [rsp + 0x48], xmm2
movss dword [rsp + 0x4c], xmm4
movss dword [rsp + 0x30], xmm11
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400301c0
cmp byte [0x1401b1efe], r14b
je 0x140062a15
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
mov rcx, qword [0x1401b1e80]
mov dword [rbp + 0x250], 0x437f0000
mov dword [rbp + 0x254], 0x437f0000
mov dword [rbp + 0x258], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x25c], xmm0
lea rcx, [rbp + 0x250]
call fcn.140005170
mov r9d, eax
mov eax, dword [0x1401b1f08]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + 1]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
add eax, 0xfffffff5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x20], xmm11
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140030060
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
mov rcx, qword [0x1401b1e80]
mov dword [rbp + 0x250], 0x437f0000
mov dword [rbp + 0x254], 0x437f0000
mov dword [rbp + 0x258], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x25c], xmm0
lea rcx, [rbp + 0x250]
call fcn.140005170
mov r9d, eax
mov eax, dword [0x1401b1f08]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + 1]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
add eax, 0xc
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x20], xmm11
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140030060
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
mov rcx, qword [0x1401b1e80]
mov dword [rbp + 0x250], 0x437f0000
mov dword [rbp + 0x254], 0x437f0000
mov dword [rbp + 0x258], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x25c], xmm0
lea rcx, [rbp + 0x250]
call fcn.140005170
mov r9d, eax
mov eax, dword [0x1401b1f08]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x44], xmm0
lea eax, [rcx - 0xb]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x20], xmm11
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140030060
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
mov rcx, qword [0x1401b1e80]
mov dword [rbp + 0x250], 0x437f0000
mov dword [rbp + 0x254], 0x437f0000
mov dword [rbp + 0x258], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x25c], xmm0
lea rcx, [rbp + 0x250]
call fcn.140005170
mov r9d, eax
mov eax, dword [0x1401b1f08]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x44], xmm0
lea eax, [rcx + 0xc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x20], xmm11
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140030060
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2c8], xmm1
mov qword [rbp + 0x2d8], r14
mov rdi, qword [0x1401b1fc0]
sub rdi, qword [0x1401b1fb8]
sar rdi, 6
test rdi, rdi
je 0x140062b63
movabs rax, 0x3ffffffffffffff
cmp rdi, rax
ja 0x140064b7b
shl rdi, 6
cmp rdi, 0x1000
jb 0x140062a8b
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x140064b81
call fcn.140073c64
test rax, rax
je 0x140064b87
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140062aa0
test rdi, rdi
je 0x140062a9d
mov rcx, rdi
call fcn.140073c64
mov rbx, rax
jmp 0x140062aa0
mov rbx, r14
mov qword [rbp + 0x2c8], rbx
mov qword [rbp + 0x2d0], rbx
lea rax, [rdi + rbx]
mov qword [rbp + 0x2d8], rax
lea rax, [rbp + 0x2c8]
mov qword [rbp + 0x130], rax
mov rsi, qword [0x1401b1fc0]
mov rdi, qword [0x1401b1fb8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x270], xmm0
mov qword [rbp + 0x270], rbx
mov qword [rbp + 0x278], rbx
lea rax, [rbp + 0x2c8]
mov qword [rbp + 0x280], rax
cmp rdi, rsi
je 0x140062b51
add rdi, 0x10
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi - 0x10]
mov qword [rbx], rax
mov eax, dword [rdi - 8]
mov dword [rbx + 8], eax
mov rax, qword [rdi]
mov qword [rbx + 0x10], rax
mov rax, qword [rdi + 8]
mov qword [rbx + 0x18], rax
lea rcx, [rbx + 0x20]
lea rdx, [rdi + 0x10]
call fcn.1400698f0
add rbx, 0x40
mov qword [rbp + 0x278], rbx
lea rdi, [rdi + 0x40]
lea rax, [rdi - 0x10]
cmp rax, rsi
jne 0x140062b10
mov rdx, rbx
mov rcx, rbx
call fcn.14006f080
mov qword [rbp + 0x2d0], rbx
mov rdx, qword [0x1401b1f18]
add rdx, 0x98
call fcn.14006e010
mov rdi, rax
mov qword [rbp + 0x130], rax
mov r10, qword [0x1401b1fa8]
mov ecx, dword [r10 + 8]
mov dword [rbp + 0x2ac], r14d
mov dword [rbp + 0x2a8], ecx
mov qword [rbp + 0x2b0], 0x18
lea rax, [rbp + 0x294]
mov qword [rbp + 0x2b8], rax
mov qword [rbp + 0x2c0], 4
mov dword [rbp + 0x290], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x290]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x2a8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x2a8]
mov edx, 0x21a68c90
mov rcx, qword [r10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r12d, r14d
mov dword [rbp + 0x290], r14d
mov rax, qword [rbp + 0x2d0]
mov rcx, qword [rbp + 0x2c8]
sub rax, rcx
sar rax, 6
test rax, rax
je 0x140064b01
mov rbx, r14
nop
shufps xmm11, xmm11, 0
mov rdx, rbx
shl rdx, 6
add rdx, rcx
mov rax, qword [rdx]
mov qword [rbp + 0x210], rax
mov eax, dword [rdx + 8]
mov dword [rbp + 0x218], eax
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x220], rax
mov rax, qword [rdx + 0x18]
mov qword [rbp + 0x228], rax
add rdx, 0x20
lea rcx, [rbp + 0x230]
call fcn.1400698f0
nop
lea rdx, [rdi + rbx*8]
call fcn.14006e010
mov rdi, rax
mov r13, qword [rbp + 0x210]
mov qword [rbp + 0x128], r13
lea rdx, [r13 + 0x190]
call fcn.14006e010
mov r10, qword [0x1401b1fa8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
xorps xmm6, xmm6
movsd qword [rbp + 0x390], xmm6
mov ecx, dword [r10 + 8]
mov dword [rbp + 0x3a4], r14d
mov dword [rbp + 0x3a0], ecx
lea rdx, [rax + 0x128]
mov qword [rbp + 0x3a8], rdx
lea rax, [rbp + 0x380]
mov qword [rbp + 0x3b0], rax
mov qword [rbp + 0x3b8], 0x18
mov dword [rbp + 0x260], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x260]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x3a0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x3a0]
mov edx, 0x21a68c90
mov rcx, qword [r10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rbp + 0x380]
movaps xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rbp + 0x390]
movsd qword [rbp - 0x40], xmm1
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x2e0]
call fcn.1400601c0
lea rdx, [r13 + 0x2a8]
call fcn.14006e010
mov rbx, rax
lea rdx, [r13 + 0x2b0]
call fcn.14006e010
mov rsi, rax
lea rdx, [rbx + 0x10b0]
call fcn.14006e470
mov rdx, qword [0x1401b1f78]
add rdx, 0x128
mov r10, qword [0x1401b1fa8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x270], xmm0
movsd qword [rbp + 0x280], xmm6
mov ecx, dword [r10 + 8]
mov dword [rbp + 0x2e4], r14d
mov dword [rbp + 0x2e0], ecx
mov qword [rbp + 0x2e8], rdx
lea rax, [rbp + 0x270]
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], 0x18
mov dword [rbp + 0x260], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x260]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x2e0]
mov edx, 0x21a68c90
mov rcx, qword [r10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rbp + 0x270]
movups xmmword [0x1401b2040], xmm0
movsd xmm0, qword [rbp + 0x280]
movsd qword [0x1401b2050], xmm0
mov r8d, 0x44
mov rbx, qword [rbp + 0x220]
mov rdx, rbx
lea rcx, [rbp + 0x148]
call fcn.14005f4d0
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0x188]
call fcn.14005f4d0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.14005f4d0
mov r8d, 0x44
mov rdx, rbx
lea rcx, [rbp + 0x170]
call fcn.14005f4d0
movups xmm7, xmmword [rbp + 0x148]
movaps xmmword [rbp - 0x50], xmm7
movsd xmm8, qword [rbp + 0x158]
movsd qword [rbp - 0x40], xmm8
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x360]
call fcn.1400601c0
movaps xmmword [rbp + 0x270], xmm7
movsd qword [rbp + 0x280], xmm8
lea rdx, [rbp + 0x270]
lea rcx, [rbp - 0x78]
call fcn.1400601c0
movups xmm0, xmmword [rbp + 0x188]
movaps xmmword [rbp + 0x1a0], xmm0
movsd xmm1, qword [rbp + 0x198]
movsd qword [rbp + 0x1b0], xmm1
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x1f8]
call fcn.1400601c0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x148], xmm0
movaps xmmword [rbp + 0x3a0], xmm0
movsd xmm1, qword [rsp + 0x70]
movsd qword [rbp + 0x3b0], xmm1
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x1e0]
call fcn.1400601c0
movups xmm15, xmmword [rbp + 0x170]
movaps xmmword [rbp + 0x2e0], xmm15
movsd xmm9, qword [rbp + 0x180]
movsd qword [rbp - 0x28], xmm9
movsd qword [rbp + 0x2f0], xmm9
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp - 8]
call fcn.1400601c0
movaps xmm0, xmm8
addsd xmm0, qword [0x14018a900]
cvtpd2ps xmm3, xmm0
movaps xmm6, xmm7
unpckhpd xmm6, xmm7
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm6
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
cvtps2pd xmm1, xmm0
movsd qword [rbp + 0x270], xmm1
cvtps2pd xmm2, xmm2
movsd qword [rbp + 0x278], xmm2
cvtps2pd xmm0, xmm3
movsd qword [rbp + 0x280], xmm0
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x1c8]
call fcn.1400601c0
subsd xmm6, qword [0x1401b2048]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movss xmm10, dword [0x14018a8d8]
movaps xmm1, xmm10
call fcn.140129a60
movaps xmm6, xmm0
subsd xmm7, qword [0x1401b2040]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movaps xmm1, xmm10
call fcn.140129a60
addss xmm6, xmm0
subsd xmm8, qword [0x1401b2050]
cvtpd2ps xmm0, xmm8
movaps xmm1, xmm10
call fcn.140129a60
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14006304d
xorps xmm13, xmm13
sqrtss xmm13, xmm6
jmp 0x140063059
movaps xmm0, xmm6
call fcn.14012b0f4
movaps xmm13, xmm0
divss xmm13, dword [0x14018a9e4]
movss dword [rbp + 0x294], xmm13
movsd xmm12, qword [rbp + 0x1d0]
movaps xmm2, xmm12
movsd xmm14, qword [rbp + 0x1e8]
subsd xmm2, xmm14
cvtpd2ps xmm1, xmm2
andps xmm2, xmmword [0x14018b180]
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x260], xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x14018a8c0]
cvtpd2ps xmm10, xmm0
movss dword [rbp - 0x20], xmm10
movaps xmm0, xmm9
addsd xmm0, qword [0x14018a8f0]
cvtpd2ps xmm3, xmm0
movaps xmm0, xmm15
unpckhpd xmm0, xmm15
movaps xmmword [rbp + 0x270], xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm15
cvtps2pd xmm1, xmm0
movsd qword [rbp - 0x50], xmm1
cvtps2pd xmm2, xmm2
movsd qword [rbp - 0x48], xmm2
cvtps2pd xmm0, xmm3
movsd qword [rbp - 0x40], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x340]
call fcn.1400601c0
mov rdx, qword [0x1401b1ee0]
add rdx, 0x10d8
call fcn.14006e470
mov r14d, eax
lea rdx, [rsi + 0x10d8]
call fcn.14006e470
mov r15d, eax
lea rdx, [rdi + 0x18]
call fcn.14006e470
movss xmm7, dword [0x1401b2070]
movss xmm8, dword [0x1401b206c]
movss xmm9, dword [0x1401b2068]
movss dword [rbp + 0x298], xmm9
movss dword [rbp + 0x29c], xmm8
movss dword [rbp + 0x2a0], xmm7
mov dword [rbp + 0x2a4], 0x3f800000
movss dword [rbp + 0x250], xmm9
movss dword [rbp + 0x254], xmm8
movss dword [rbp + 0x258], xmm7
mov dword [rbp + 0x25c], 0x3f800000
cmp byte [0x1401b1e7d], 0
je 0x140063222
lea rdx, [rbx + 0x360]
call fcn.14006e350
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.14006e350
addss xmm0, dword [0x14018a824]
comiss xmm0, xmm6
setae al
test al, al
je 0x140063d7c
movss xmm7, dword [0x1401b2060]
movss xmm8, dword [0x1401b205c]
movss xmm9, dword [0x1401b2058]
movss dword [rbp + 0x250], xmm9
movss dword [rbp + 0x254], xmm8
movss dword [rbp + 0x258], xmm7
movss dword [rbp + 0x298], xmm9
movss dword [rbp + 0x29c], xmm8
movss dword [rbp + 0x2a0], xmm7
cmp r14d, r15d
je 0x140064a81
movss xmm0, dword [0x1401add80]
comiss xmm0, xmm13
jbe 0x140064a55
inc dword [0x1401b1f90]
movsd xmm6, qword [rbp + 0x1c8]
movsd qword [rbp + 0x1c0], xmm6
cmp byte [0x1401b1efc], 0
je 0x1400632ca
movss dword [rbp + 0x160], xmm9
movss dword [rbp + 0x164], xmm8
movss dword [rbp + 0x168], xmm7
mov dword [rbp + 0x16c], 0x3f800000
lea rcx, [rbp + 0x160]
call fcn.140005170
mov dword [rbp - 0x80], eax
cvttss2si r9d, dword [rbp + 0x260]
cvttss2si r8d, xmm10
cvttsd2si edx, xmm12
movaps xmm0, xmm10
mulss xmm0, dword [0x14018a858]
cvtps2pd xmm1, xmm0
movaps xmm2, xmm6
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call fcn.14005ee30
cmp byte [0x1401b1f01], 0
je 0x14006337e
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
movups xmmword [rbp - 0x18], xmm11
lea rcx, [rbp - 0x18]
call fcn.140005170
mov r9d, eax
cvtpd2ps xmm1, xmm12
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0x138], xmm0
movss dword [rbp + 0x13c], xmm1
mov eax, dword [0x1401b1f08]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x140], xmm0
movss dword [rbp + 0x144], xmm1
movss xmm1, dword [0x14018a8b8]
movss dword [rsp + 0x20], xmm1
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x140]
mov rcx, r10
call fcn.140030060
cmp byte [0x1401b1e94], 0
je 0x140063b9b
movsd xmm2, qword [rsp + 0x70]
cvtpd2ps xmm2, xmm2
movups xmm7, xmmword [rbp + 0x148]
movaps xmm10, xmm7
unpckhpd xmm10, xmm7
movaps xmm0, xmm10
movsd xmm11, qword [0x14018a910]
subsd xmm0, xmm11
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
addsd xmm0, xmm11
cvtsd2ss xmm0, xmm0
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
cvtps2pd xmm6, xmm1
cvtps2pd xmm9, xmm2
movsd qword [rsp + 0x60], xmm8
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x170]
call fcn.1400601c0
subsd xmm7, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
cvtps2pd xmm7, xmm0
movsd qword [rsp + 0x60], xmm7
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x1a0]
call fcn.1400601c0
addsd xmm10, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
cvtps2pd xmm6, xmm0
movsd qword [rsp + 0x60], xmm7
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.1400601c0
movsd qword [rsp + 0x60], xmm8
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x148]
call fcn.1400601c0
movsd xmm0, qword [rbp - 0x28]
addsd xmm0, qword [0x14018a900]
cvtpd2ps xmm3, xmm0
movaps xmm10, xmmword [rbp + 0x270]
movaps xmm0, xmm10
subsd xmm0, xmm11
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movaps xmm1, xmm15
addsd xmm1, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
cvtps2pd xmm8, xmm0
cvtps2pd xmm6, xmm2
cvtps2pd xmm9, xmm3
movsd qword [rsp + 0x60], xmm8
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2e0]
call fcn.1400601c0
subsd xmm15, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm15
cvtps2pd xmm7, xmm0
movsd qword [rsp + 0x60], xmm7
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x3a0]
call fcn.1400601c0
addsd xmm10, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
cvtps2pd xmm6, xmm0
movsd qword [rsp + 0x60], xmm7
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x188]
call fcn.1400601c0
movsd qword [rsp + 0x60], xmm8
movsd qword [rsp + 0x68], xmm6
movsd qword [rsp + 0x70], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x270]
call fcn.1400601c0
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movsd xmm1, qword [rbp + 0x2e8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x260], xmm1
movsd xmm0, qword [rbp + 0x2e0]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movsd xmm13, qword [rbp + 0x178]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0x170]
cvtpd2ps xmm12, xmm12
movss dword [rbp + 0x18], xmm12
movss dword [rbp + 0x1c], xmm13
movss xmm6, dword [0x14018a834]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x18]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movsd xmm1, qword [rbp + 0x3a8]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x80], xmm1
movsd xmm0, qword [rbp + 0x3a0]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movsd xmm11, qword [rbp + 0x1a8]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x1a0]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x20], xmm10
movss dword [rbp + 0x24], xmm11
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x20]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movsd xmm0, qword [rbp + 0x190]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movsd xmm15, qword [rbp + 0x188]
cvtpd2ps xmm15, xmm15
movss dword [rbp + 0x28], xmm15
movss dword [rbp + 0x2c], xmm0
movsd xmm9, qword [rbp - 0x48]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp - 0x50]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x30], xmm7
movss dword [rbp + 0x34], xmm9
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movsd xmm0, qword [rbp + 0x278]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x28], xmm0
movsd xmm14, qword [rbp + 0x270]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 0x38], xmm14
movss dword [rbp + 0x3c], xmm0
movsd xmm8, qword [rbp + 0x150]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x148]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x40], xmm6
movss dword [rbp + 0x44], xmm8
movss xmm0, dword [0x14018a834]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0x48], xmm10
movss dword [rbp + 0x4c], xmm11
movss dword [rbp + 0x50], xmm12
movss dword [rbp + 0x54], xmm13
movss xmm0, dword [0x14018a834]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0x58], xmm7
movss dword [rbp + 0x5c], xmm9
movss dword [rbp + 0x60], xmm10
movss dword [rbp + 0x64], xmm11
movss xmm11, dword [0x14018a834]
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0x68], xmm6
movss dword [rbp + 0x6c], xmm8
movss dword [rbp + 0x70], xmm7
movss dword [rbp + 0x74], xmm9
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0x78], xmm12
movss dword [rbp + 0x7c], xmm13
movss dword [rbp + 0x80], xmm6
movss dword [rbp + 0x84], xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x80]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss xmm6, dword [rsp + 0x48]
movss dword [rbp + 0x88], xmm6
movss xmm8, dword [rbp - 0x80]
movss dword [rbp + 0x8c], xmm8
movss xmm9, dword [rsp + 0x40]
movss dword [rbp + 0x90], xmm9
movss xmm10, dword [rbp + 0x260]
movss dword [rbp + 0x94], xmm10
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0x98], xmm15
movss xmm7, dword [rbp - 0x30]
movss dword [rbp + 0x9c], xmm7
movss dword [rbp + 0xa0], xmm6
movss dword [rbp + 0xa4], xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xa0]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0xa8], xmm14
movss xmm6, dword [rbp - 0x28]
movss dword [rbp + 0xac], xmm6
movss dword [rbp + 0xb0], xmm15
movss dword [rbp + 0xb4], xmm7
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
mov rcx, r10
call fcn.140030060
mov rcx, qword [0x1401b1e80]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401ae678]
call fcn.140005170
movss dword [rbp + 0xb8], xmm9
movss dword [rbp + 0xbc], xmm10
movss dword [rbp + 0xc0], xmm14
movss dword [rbp + 0xc4], xmm6
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xc0]
mov rcx, r10
call fcn.140030060
movss xmm10, dword [rbp - 0x20]
movsd xmm6, qword [rbp + 0x1c0]
movsd xmm12, qword [rbp + 0x1d0]
movss xmm13, dword [rbp + 0x294]
movsd xmm14, qword [rbp + 0x1e8]
cmp byte [0x1401b1e7b], 0
je 0x140063c07
xorps xmm2, xmm2
cvtss2sd xmm2, xmm13
movq r8, xmm2
lea rdx, str.__2.fm_
lea rcx, [rbp + 0x3a0]
call fcn.14006e500
movaps xmm0, xmm12
subsd xmm0, qword [0x14018a900]
cvttsd2si r8d, xmm0
cvttsd2si edx, xmm6
lea rax, [rbp + 0x3a0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [0x1401adf90]
movss xmm0, dword [0x14018a998]
movd ecx, xmm0
call fcn.14005e410
movups xmm9, xmmword [rbp + 0x298]
cmp byte [0x1401b1e7a], 0
je 0x140063cd3
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
movups xmmword [rbp + 0x270], xmm9
lea rcx, [rbp + 0x270]
call fcn.140005170
mov r9d, eax
cvtpd2ps xmm1, xmm12
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0xc8], xmm0
movss dword [rbp + 0xcc], xmm1
mov eax, 0x51eb851f
imul dword [0x1401b1f08]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xd0], xmm0
movss dword [rbp + 0xd4], xmm1
movss xmm1, dword [0x14018a8b8]
movss dword [rsp + 0x20], xmm1
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0xd0]
mov rcx, r10
call fcn.140030060
movsd xmm8, qword [rbp + 0x1e0]
cmp byte [0x1401b1e7f], 0
je 0x140063e44
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
movups xmmword [rbp + 0x270], xmm9
lea rcx, [rbp + 0x270]
call fcn.140005170
cvtpd2ps xmm1, xmm14
cvtpd2ps xmm0, xmm8
movss dword [rbp + 0xd8], xmm0
movss dword [rbp + 0xdc], xmm1
mov dword [rbp + 0xe0], 0x44700000
mov dword [rbp + 0xe4], 0x44848000
movss xmm7, dword [0x14018a898]
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0xe0]
mov rcx, r10
call fcn.140030060
jmp 0x140063e4c
cmp r14d, r15d
jne 0x140063dc0
mov dword [rbp + 0x250], 0x3f20a0a1
movss dword [rbp + 0x254], xmm11
mov dword [rbp + 0x258], 0x3f008081
mov dword [rbp + 0x298], 0
mov dword [rbp + 0x29c], 0x3e189899
movss dword [rbp + 0x2a0], xmm11
jmp 0x140064a81
lea rdx, [rbx + 0x360]
call fcn.14006e350
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.14006e350
addss xmm0, dword [0x14018a824]
comiss xmm0, xmm6
setae al
test al, al
jne 0x14006322b
movss xmm7, dword [0x1401b2080]
movss xmm8, dword [0x1401b207c]
movss xmm9, dword [0x1401b2078]
movss dword [rbp + 0x250], xmm9
movss dword [rbp + 0x254], xmm8
movss dword [rbp + 0x258], xmm7
movss dword [rbp + 0x298], xmm9
movss dword [rbp + 0x29c], xmm8
movss dword [rbp + 0x2a0], xmm7
jmp 0x14006322b
movss xmm7, dword [0x14018a898]
movups xmm11, xmmword [rbp + 0x250]
cmp byte [0x1401b1e79], 0
je 0x140063eea
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r8, rax
movups xmmword [rbp + 0x270], xmm11
lea rcx, [rbp + 0x270]
call fcn.140005170
movsd xmm1, qword [rbp + 0x348]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x340]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe8], xmm0
movss dword [rbp + 0xec], xmm1
movss xmm0, dword [0x14018a8d8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
movss xmm2, dword [0x14018a9b8]
lea rdx, [rbp + 0xe8]
mov rcx, r8
call fcn.140030e30
cmp byte [0x1401b1e95], 0
je 0x140063fab
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
movaps xmm0, xmmword [0x14018ae70]
movups xmmword [rbp + 0x270], xmm0
lea rcx, [rbp + 0x270]
call fcn.140005170
cvtpd2ps xmm1, xmm14
mulss xmm10, dword [0x14018a844]
cvtps2pd xmm2, xmm10
movaps xmm0, xmm2
addsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf0], xmm0
movss dword [rbp + 0xf4], xmm1
cvtpd2ps xmm1, xmm12
movaps xmm0, xmm6
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf8], xmm0
movss dword [rbp + 0xfc], xmm1
xor edi, edi
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xf8]
mov rcx, r10
call fcn.1400302d0
jmp 0x140063fb6
mulss xmm10, dword [0x14018a844]
xor edi, edi
cmp byte [0x1401b1e97], 0
je 0x140064069
mov rax, qword [0x1401b1e80]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e30
mov r10, rax
movups xmmword [rbp + 0x270], xmm9
lea rcx, [rbp + 0x270]
call fcn.140005170
cvtpd2ps xmm1, xmm14
cvtps2pd xmm2, xmm10
addsd xmm8, xmm2
cvtpd2ps xmm0, xmm8
movss dword [rbp + 0x100], xmm0
movss dword [rbp + 0x104], xmm1
cvtpd2ps xmm1, xmm12
subsd xmm6, xmm2
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0x108], xmm0
movss dword [rbp + 0x10c], xmm1
movss dword [rsp + 0x30], xmm7
movss xmm0, dword [0x14018a8ac]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x108]
mov rcx, r10
call fcn.1400301c0
cmp byte [0x1401b1e7e], 0
je 0x14006408a
movdqa xmmword [rbp + 0x270], xmm11
lea rdx, [rbp + 0x270]
mov rcx, rbx
call fcn.1400608c0
cmp byte [0x1401b1eff], 0
je 0x140064948
mov edx, dword [0x1401b1f90]
test edx, edx
jle 0x140064948
lea rcx, [rbp + 0x2e0]
call fcn.14006ddc0
nop
mov edx, dword [0x1401b1f0c]
lea rcx, [rbp + 0x340]
call fcn.14006ddc0
nop
mov edx, dword [0x1401b1f04]
lea rcx, [rbp + 0x360]
call fcn.14006ddc0
nop
lea r8, [rbp + 0x2e0]
lea rcx, [rbp - 0x78]
call fcn.14006e560
nop
mov r8d, 0x14
lea rdx, str._ennemies_around_you
mov rcx, rax
call fcn.14006b8f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a8], xmm0
mov qword [rbp + 0x2b8], rdi
mov qword [rbp + 0x2c0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2a8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x2b8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x140064175
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064170
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064b8d
call fcn.140073a78
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
movabs r13, 0x7fffffffffffffff
mov rax, r13
mov r14, qword [rbp + 0x350]
sub rax, r14
cmp rax, 9
jb 0x140064be1
lea r12, [rbp + 0x340]
cmp qword [rbp + 0x358], 0x10
setae byte [rsp + 0x50]
mov r15, qword [rbp + 0x340]
cmovae r12, r15
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
lea rsi, [r14 + 9]
mov ebx, 0xf
lea rdi, [rbp - 8]
cmp rsi, rbx
jbe 0x140064260
mov rbx, rsi
or rbx, 0xf
cmp rbx, r13
jbe 0x140064205
mov rbx, r13
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14006422c
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14006424b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140064b99
mov rcx, rax
call fcn.140073c64
test rax, rax
je 0x140064b93
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14006425c
test rcx, rcx
je 0x14006425a
call fcn.140073c64
mov rdi, rax
jmp 0x14006425c
xor edi, edi
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rbx
movsd xmm0, qword [str.You_have]
movsd qword [rdi], xmm0
movzx eax, byte [0x14018a3b0]
mov byte [rdi + 8], al
lea rcx, [rdi + 9]
mov r8, r14
mov rdx, r12
call fcn.1400a9f70
mov byte [rdi + rsi], 0
mov r8d, 0x15
lea rdx, str._close_range_ennemies
lea rcx, [rbp - 8]
call fcn.14006b8f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x320], xmm0
xor r8d, r8d
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], r8
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x320], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x330], xmm1
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], 0xf
mov byte [rax], r8b
mov rdx, qword [rbp + 0x10]
cmp rdx, 0x10
jb 0x140064324
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006431c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064b9f
call fcn.140073a78
xor r8d, r8d
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], 0xf
mov byte [rbp - 8], 0
mov rax, r13
mov r13, qword [rbp + 0x370]
sub rax, r13
cmp rax, 9
jb 0x140064bdb
lea r12, [rbp + 0x360]
cmp qword [rbp + 0x378], 0x10
setae byte [rsp + 0x51]
mov rsi, qword [rbp + 0x360]
cmovae r12, rsi
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x60], r8
lea r14, [r13 + 9]
mov ebx, 0xf
lea rdi, [rbp - 0x78]
cmp r14, rbx
jbe 0x140064414
mov rbx, r14
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x1400643b8
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400643df
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400643fe
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140064bab
mov rcx, rax
call fcn.140073c64
test rax, rax
je 0x140064ba5
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140064410
test rcx, rcx
je 0x14006440d
call fcn.140073c64
mov rdi, rax
jmp 0x140064410
mov rdi, r8
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], rbx
movsd xmm0, qword [str.You_have]
movsd qword [rdi], xmm0
movzx eax, byte [0x14018a3b0]
mov byte [rdi + 8], al
lea rcx, [rdi + 9]
mov r8, r13
mov rdx, r12
call fcn.1400a9f70
mov byte [rdi + r14], 0
mov r8d, 0x11
lea rdx, str._visible_ennemies
lea rcx, [rbp - 0x78]
call fcn.14006b8f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x300], xmm0
xor edi, edi
mov qword [rbp + 0x310], rdi
mov qword [rbp + 0x318], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x300], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x310], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1400644d5
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400644d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bb1
call fcn.140073a78
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
lea rax, [rbp + 0x2a8]
cmp qword [rbp + 0x2c0], 0x10
cmovae rax, qword [rbp + 0x2a8]
mov rbx, qword [0x1401b1e80]
mov rcx, qword [rbx + 0x3bf8]
movss xmm2, dword [rbx + 0x3c00]
movss xmm6, dword [0x14018aa58]
movss xmm9, dword [0x14018aa34]
test rax, rax
jne 0x140064537
xorps xmm8, xmm8
movss xmm10, dword [0x14018a890]
jmp 0x140064592
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm9
lea rdx, [rbp + 0x110]
call fcn.140036230
movss xmm0, dword [rbp + 0x110]
movss xmm10, dword [0x14018a890]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
movss dword [rbp + 0x110], xmm8
mov rcx, qword [rbx + 0x3bf8]
movss xmm2, dword [rbx + 0x3c00]
lea rax, [rbp + 0x320]
cmp qword [rbp + 0x338], 0x10
cmovae rax, qword [rbp + 0x320]
test rax, rax
jne 0x1400645b3
xorps xmm7, xmm7
jmp 0x140064602
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm9
lea rdx, [rbp + 0x118]
call fcn.140036230
movss xmm0, dword [rbp + 0x118]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp + 0x118], xmm7
mov rcx, qword [rbx + 0x3bf8]
movss xmm2, dword [rbx + 0x3c00]
lea rax, [rbp + 0x300]
cmp qword [rbp + 0x318], 0x10
cmovae rax, qword [rbp + 0x300]
test rax, rax
jne 0x140064623
xorps xmm6, xmm6
jmp 0x140064663
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm9
lea rdx, [rbp + 0x120]
call fcn.140036230
movss xmm0, dword [rbp + 0x120]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x120], xmm6
lea r8, [rbp + 0x2a8]
cmp qword [rbp + 0x2c0], 0x10
cmovae r8, qword [rbp + 0x2a8]
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm9, dword [0x14018a858]
mulss xmm8, xmm9
subss xmm0, xmm8
cvttss2si ecx, xmm0
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x64]
call fcn.140062030
lea r8, [rbp + 0x320]
cmp qword [rbp + 0x338], 0x10
cmovae r8, qword [rbp + 0x320]
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm9
subss xmm0, xmm7
cvttss2si ecx, xmm0
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x20], 0xff
mov edx, 0x78
mov r9d, 0xff
mov r8d, r9d
call fcn.140062030
lea r8, [rbp + 0x300]
cmp qword [rbp + 0x318], 0x10
cmovae r8, qword [rbp + 0x300]
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm6, xmm9
subss xmm0, xmm6
cvttss2si ecx, xmm0
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov edx, 0x8c
lea r8d, [rdx + 0x73]
call fcn.140062030
nop
mov rdx, qword [rbp + 0x318]
cmp rdx, 0x10
jb 0x1400647a7
inc rdx
mov rcx, qword [rbp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400647a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bb7
call fcn.140073a78
mov qword [rbp + 0x310], rdi
mov qword [rbp + 0x318], 0xf
mov byte [rbp + 0x300], 0
mov rdx, qword [rbp + 0x338]
cmp rdx, 0x10
jb 0x140064801
inc rdx
mov rcx, qword [rbp + 0x320]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400647fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bbd
call fcn.140073a78
mov qword [rbp + 0x330], rdi
mov qword [rbp + 0x338], 0xf
mov byte [rbp + 0x320], 0
mov rdx, qword [rbp + 0x2c0]
cmp rdx, 0x10
jb 0x14006485b
inc rdx
mov rcx, qword [rbp + 0x2a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064856
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bc3
call fcn.140073a78
mov qword [rbp + 0x2b8], rdi
mov qword [rbp + 0x2c0], 0xf
mov byte [rbp + 0x2a8], 0
cmp byte [rsp + 0x51], 0
je 0x1400648b3
mov rdx, qword [rbp + 0x378]
inc rdx
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400648aa
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bc9
mov rcx, rsi
call fcn.140073a78
nop
cmp byte [rsp + 0x50], 0
je 0x1400648f2
mov rdx, qword [rbp + 0x358]
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x1400648e9
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bcf
mov rcx, r15
call fcn.140073a78
nop
mov rdx, qword [rbp + 0x2f8]
cmp rdx, 0x10
jb 0x140064933
inc rdx
mov rcx, qword [rbp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006492e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064bd5
call fcn.140073a78
mov r12d, dword [rbp + 0x290]
mov r13, qword [rbp + 0x128]
mov rbx, qword [rbp + 0x220]
cmp dword [0x1401b1f90], 0
je 0x140064957
mov dword [0x1401b1f90], edi
cmp dword [0x1401b1f0c], 0
je 0x140064966
mov dword [0x1401b1f0c], edi
cmp dword [0x1401b1f04], 0
je 0x140064975
mov dword [0x1401b1f04], edi
lea rdx, [rbx + 0x360]
call fcn.14006e350
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.14006e350
addss xmm0, dword [0x14018a824]
comiss xmm0, xmm6
setae al
test al, al
je 0x140064a55
mov eax, dword [0x1401b1f70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm3, qword [rbp + 0x1f8]
subsd xmm3, xmm0
mov eax, dword [0x1401b1f08]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x200]
subsd xmm2, xmm0
mov eax, dword [0x1401b1f74]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x208]
subsd xmm1, xmm0
mulsd xmm2, xmm2
mulsd xmm3, xmm3
addsd xmm2, xmm3
mulsd xmm1, xmm1
addsd xmm2, xmm1
cvtpd2ps xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x140064a2c
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x140064a34
movaps xmm0, xmm3
call fcn.14012b0f4
divss xmm0, dword [0x14018a9e4]
movd xmm1, dword [0x1401add8c]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x140064a55
mov qword [0x1401b1f80], r13
jmp 0x140064a5c
mov r13, qword [0x1401b1f80]
cmp byte [0x1401add84], 0
je 0x140064a81
test r13, r13
je 0x140064a81
mov ecx, dword [0x1401b1f94]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140064a81
call fcn.140060620
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0x10
jb 0x140064ac2
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064abd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064b75
call fcn.140073a78
inc r12d
mov dword [rbp + 0x290], r12d
mov rax, qword [rbp + 0x2d0]
mov rcx, qword [rbp + 0x2c8]
sub rax, rcx
sar rax, 6
mov ebx, r12d
cmp rbx, rax
jae 0x140064b01
movss xmm11, dword [0x14018a898]
mov rdi, qword [rbp + 0x130]
xor r14d, r14d
jmp 0x140062c30
lea rcx, [rbp + 0x2c8]
call fcn.14006b4d0
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.140073940
lea r11, [rsp + 0x590]
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.1400f2144
nop
call fcn.140071470
int3
call fcn.14003b1c0
int3
call fcn.1400f2144
nop
call fcn.1400f2144
int3
call fcn.1400f2144
int3
call fcn.14003b1c0
nop
call fcn.1400f2144
int3
call fcn.1400f2144
int3
call fcn.14003b1c0
nop
call fcn.1400f2144
nop
call fcn.1400f2144
nop
call fcn.1400f2144
nop
call fcn.1400f2144
nop
call fcn.1400f2144
nop
call fcn.1400f2144
nop
call fcn.1400f2144
nop
call fcn.14005b8f0
nop
call fcn.14005b8f0
int3