Function at 0x140062580
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 - 0x4a8]
sub rsp, 0x580
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 [0x1401af040]
xor rax, rsp
mov qword [rbp + 0x3d0], rax
xor r14d, r14d
movss xmm6, dword [0x14018c9f8]
cmp byte [0x1401b3f70], r14b
je 0x140062701
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
lea edx, [r14 + 1]
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
mov rcx, qword [0x1401b3ef0]
mov dword [rbp + 0x240], 0x437f0000
mov dword [rbp + 0x244], 0x437f0000
mov dword [rbp + 0x248], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x24c], xmm0
lea rcx, [rbp + 0x240]
call fcn.140005180
mov edx, dword [0x1401afdfc]
lea ecx, [rdx + 0x21c]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm1, dword [0x14018c8b8]
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 xmm10, dword [0x14018c898]
movss dword [rsp + 0x30], xmm10
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140030340
jmp 0x14006270a
movss xmm10, dword [0x14018c898]
cmp byte [0x1401b3eec], r14b
je 0x1400627cb
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r8, rax
mov rcx, qword [0x1401b3ef0]
mov dword [rbp + 0x240], 0x437f0000
mov dword [rbp + 0x244], 0x437f0000
mov dword [rbp + 0x248], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x24c], xmm0
lea rcx, [rbp + 0x240]
call fcn.140005180
movd xmm2, dword [0x1401afdfc]
cvtdq2ps xmm2, xmm2
mov ecx, dword [0x1401b3f00]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mov ecx, dword [0x1401b3f4c]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea rdx, [rsp + 0x40]
mov rcx, r8
call fcn.140030fa0
movaps xmm0, xmmword [0x14018d0f0]
movups xmmword [rbp - 0x28], xmm0
cmp byte [0x1401b3f6d], r14b
je 0x14006288e
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
lea rcx, [rbp - 0x28]
call fcn.140005180
mov ecx, dword [0x1401b3f00]
xorps xmm4, xmm4
cvtsi2ss xmm4, rcx
movd xmm3, dword [0x1401afdfc]
cvtdq2ps xmm3, xmm3
movaps xmm1, xmm4
addss xmm1, xmm3
addss xmm1, xmm10
mov ecx, dword [0x1401b3f4c]
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], xmm10
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140030340
cmp byte [0x1401b3f6e], r14b
je 0x140062bd5
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
mov rcx, qword [0x1401b3ef0]
mov dword [rbp + 0x240], 0x437f0000
mov dword [rbp + 0x244], 0x437f0000
mov dword [rbp + 0x248], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x24c], xmm0
lea rcx, [rbp + 0x240]
call fcn.140005180
mov r9d, eax
mov eax, dword [0x1401b3f78]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b3fe0]
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], xmm10
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400301e0
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
mov rcx, qword [0x1401b3ef0]
mov dword [rbp + 0x240], 0x437f0000
mov dword [rbp + 0x244], 0x437f0000
mov dword [rbp + 0x248], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x24c], xmm0
lea rcx, [rbp + 0x240]
call fcn.140005180
mov r9d, eax
mov eax, dword [0x1401b3f78]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b3fe0]
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], xmm10
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400301e0
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
mov rcx, qword [0x1401b3ef0]
mov dword [rbp + 0x240], 0x437f0000
mov dword [rbp + 0x244], 0x437f0000
mov dword [rbp + 0x248], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x24c], xmm0
lea rcx, [rbp + 0x240]
call fcn.140005180
mov r9d, eax
mov eax, dword [0x1401b3f78]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1401b3fe0]
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], xmm10
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400301e0
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
mov rcx, qword [0x1401b3ef0]
mov dword [rbp + 0x240], 0x437f0000
mov dword [rbp + 0x244], 0x437f0000
mov dword [rbp + 0x248], 0x437f0000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, xmm6
movss dword [rbp + 0x24c], xmm0
lea rcx, [rbp + 0x240]
call fcn.140005180
mov r9d, eax
mov eax, dword [0x1401b3f78]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1401b3fe0]
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], xmm10
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400301e0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2b8], xmm1
mov qword [rbp + 0x2c8], r14
mov rdi, qword [0x1401b4030]
sub rdi, qword [0x1401b4028]
sar rdi, 6
test rdi, rdi
je 0x140062d23
movabs rax, 0x3ffffffffffffff
cmp rdi, rax
ja 0x140064d34
shl rdi, 6
cmp rdi, 0x1000
jb 0x140062c4b
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x140064d3a
call fcn.140074124
test rax, rax
je 0x140064d40
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140062c60
test rdi, rdi
je 0x140062c5d
mov rcx, rdi
call fcn.140074124
mov rbx, rax
jmp 0x140062c60
mov rbx, r14
mov qword [rbp + 0x2b8], rbx
mov qword [rbp + 0x2c0], rbx
lea rax, [rdi + rbx]
mov qword [rbp + 0x2c8], rax
lea rax, [rbp + 0x2b8]
mov qword [rbp + 0x120], rax
mov rsi, qword [0x1401b4030]
mov rdi, qword [0x1401b4028]
xorps xmm0, xmm0
movups xmmword [rbp + 0x260], xmm0
mov qword [rbp + 0x260], rbx
mov qword [rbp + 0x268], rbx
lea rax, [rbp + 0x2b8]
mov qword [rbp + 0x270], rax
cmp rdi, rsi
je 0x140062d11
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.140069a10
add rbx, 0x40
mov qword [rbp + 0x268], rbx
lea rdi, [rdi + 0x40]
lea rax, [rdi - 0x10]
cmp rax, rsi
jne 0x140062cd0
mov rdx, rbx
mov rcx, rbx
call fcn.14006ebf0
mov qword [rbp + 0x2c0], rbx
mov rdx, qword [0x1401b3f88]
add rdx, 0x98
call fcn.14006db80
mov rdi, rax
mov qword [rbp + 0x120], rax
mov r10, qword [0x1401b4018]
mov ecx, dword [r10 + 8]
mov dword [rbp + 0x29c], r14d
mov dword [rbp + 0x298], ecx
mov qword [rbp + 0x2a0], 0x18
lea rax, [rbp + 0x280]
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x2b0], 4
mov dword [rbp + 0x254], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x254]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x298]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x298]
mov edx, 0x21a68c90
mov rcx, qword [r10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r12d, r14d
mov dword [rbp + 0x254], r14d
mov rax, qword [rbp + 0x2c0]
mov rcx, qword [rbp + 0x2b8]
sub rax, rcx
sar rax, 6
test rax, rax
je 0x140064cba
mov rbx, r14
nop
shufps xmm10, xmm10, 0
mov rdx, rbx
shl rdx, 6
add rdx, rcx
mov rax, qword [rdx]
mov qword [rbp + 0x200], rax
mov eax, dword [rdx + 8]
mov dword [rbp + 0x208], eax
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x210], rax
mov rax, qword [rdx + 0x18]
mov qword [rbp + 0x218], rax
add rdx, 0x20
lea rcx, [rbp + 0x220]
call fcn.140069a10
nop
lea rdx, [rdi + rbx*8]
call fcn.14006db80
mov rsi, rax
mov r13, qword [rbp + 0x200]
mov qword [rbp + 0x118], r13
lea rdx, [r13 + 0x190]
call fcn.14006db80
mov r10, qword [0x1401b4018]
xorps xmm0, xmm0
movups xmmword [rbp + 0x370], xmm0
xorps xmm6, xmm6
movsd qword [rbp + 0x380], xmm6
mov ecx, dword [r10 + 8]
mov dword [rbp + 0x394], r14d
mov dword [rbp + 0x390], ecx
lea rdx, [rax + 0x128]
mov qword [rbp + 0x398], rdx
lea rax, [rbp + 0x370]
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], 0x18
mov dword [rbp + 0x250], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x390]
mov edx, 0x21a68c90
mov rcx, qword [r10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rbp + 0x370]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rbp + 0x380]
movsd qword [rbp - 0x50], xmm1
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x2d0]
call fcn.140060380
lea rdx, [r13 + 0x2a8]
call fcn.14006db80
mov rdi, rax
lea rdx, [r13 + 0x2a8]
call fcn.14006db80
mov r15, rax
lea rdx, [rdi + 0x10b0]
call fcn.14006dfe0
mov rdx, qword [0x1401b3fe8]
add rdx, 0x128
mov r10, qword [0x1401b4018]
xorps xmm0, xmm0
movups xmmword [rbp + 0x260], xmm0
movsd qword [rbp + 0x270], xmm6
mov ecx, dword [r10 + 8]
mov dword [rbp + 0x2d4], r14d
mov dword [rbp + 0x2d0], ecx
mov qword [rbp + 0x2d8], rdx
lea rax, [rbp + 0x260]
mov qword [rbp + 0x2e0], rax
mov qword [rbp + 0x2e8], 0x18
mov dword [rbp + 0x250], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rbp + 0x2d0]
mov edx, 0x21a68c90
mov rcx, qword [r10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rbp + 0x260]
movups xmmword [0x1401b40b0], xmm0
movsd xmm0, qword [rbp + 0x270]
movsd qword [0x1401b40c0], xmm0
mov r8d, 0x44
mov rbx, qword [rbp + 0x210]
mov rdx, rbx
lea rcx, [rbp + 0x138]
call fcn.14005f690
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0x178]
call fcn.14005f690
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14005f690
mov r8d, 0x44
mov rdx, rbx
lea rcx, [rbp + 0x160]
call fcn.14005f690
movups xmm7, xmmword [rbp + 0x138]
movaps xmmword [rbp - 0x60], xmm7
movsd xmm8, qword [rbp + 0x148]
movsd qword [rbp - 0x50], xmm8
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x350]
call fcn.140060380
movaps xmmword [rbp + 0x260], xmm7
movsd qword [rbp + 0x270], xmm8
lea rdx, [rbp + 0x260]
lea rcx, [rsp + 0x78]
call fcn.140060380
movups xmm0, xmmword [rbp + 0x178]
movaps xmmword [rbp + 0x190], xmm0
movsd xmm1, qword [rbp + 0x188]
movsd qword [rbp + 0x1a0], xmm1
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x1e8]
call fcn.140060380
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rbp + 0x138], xmm0
movaps xmmword [rbp + 0x390], xmm0
movsd xmm1, qword [rsp + 0x60]
movsd qword [rbp + 0x3a0], xmm1
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x1d0]
call fcn.140060380
movups xmm15, xmmword [rbp + 0x160]
movaps xmmword [rbp + 0x2d0], xmm15
movsd xmm9, qword [rbp + 0x170]
movsd qword [rbp - 0x38], xmm9
movsd qword [rbp + 0x2e0], xmm9
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp - 0x18]
call fcn.140060380
movaps xmm0, xmm8
addsd xmm0, qword [0x14018c900]
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 + 0x260], xmm1
cvtps2pd xmm2, xmm2
movsd qword [rbp + 0x268], xmm2
cvtps2pd xmm0, xmm3
movsd qword [rbp + 0x270], xmm0
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x1b8]
call fcn.140060380
subsd xmm6, qword [0x1401b40b8]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movss xmm11, dword [0x14018c8d8]
movaps xmm1, xmm11
call fcn.14012aa30
movaps xmm6, xmm0
subsd xmm7, qword [0x1401b40b0]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movaps xmm1, xmm11
call fcn.14012aa30
addss xmm6, xmm0
subsd xmm8, qword [0x1401b40c0]
cvtpd2ps xmm0, xmm8
movaps xmm1, xmm11
call fcn.14012aa30
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14006320e
xorps xmm13, xmm13
sqrtss xmm13, xmm6
jmp 0x14006321a
movaps xmm0, xmm6
call fcn.14012c0c4
movaps xmm13, xmm0
divss xmm13, dword [0x14018c9e4]
movss dword [rbp + 0x280], xmm13
movsd xmm11, qword [rbp + 0x1c0]
movaps xmm2, xmm11
movsd xmm14, qword [rbp + 0x1d8]
subsd xmm2, xmm14
cvtpd2ps xmm1, xmm2
andps xmm2, xmmword [0x14018d140]
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x250], xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x14018c8c0]
cvtpd2ps xmm12, xmm0
movss dword [rbp - 0x30], xmm12
movaps xmm0, xmm9
addsd xmm0, qword [0x14018c8f0]
cvtpd2ps xmm3, xmm0
movaps xmm0, xmm15
unpckhpd xmm0, xmm15
movaps xmmword [rbp + 0x260], xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm15
cvtps2pd xmm1, xmm0
movsd qword [rbp - 0x60], xmm1
cvtps2pd xmm2, xmm2
movsd qword [rbp - 0x58], xmm2
cvtps2pd xmm0, xmm3
movsd qword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x330]
call fcn.140060380
mov rdx, qword [0x1401b3f50]
add rdx, 0x10b0
call fcn.14006dfe0
mov r14d, eax
lea rdx, [r15 + 0x10b0]
call fcn.14006dfe0
mov r15d, eax
lea rdx, [rsi + 0x18]
call fcn.14006dfe0
movss xmm7, dword [0x1401b40e0]
movss xmm8, dword [0x1401b40dc]
movss xmm9, dword [0x1401b40d8]
movss dword [rbp + 0x288], xmm9
movss dword [rbp + 0x28c], xmm8
movss dword [rbp + 0x290], xmm7
mov dword [rbp + 0x294], 0x3f800000
movss dword [rbp + 0x240], xmm9
movss dword [rbp + 0x244], xmm8
movss dword [rbp + 0x248], xmm7
mov dword [rbp + 0x24c], 0x3f800000
movaps xmm1, xmm10
cmp byte [0x1401b3eed], 0
je 0x1400633ef
lea rdx, [rbx + 0x360]
call fcn.14006dec0
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.14006dec0
addss xmm0, dword [0x14018c824]
comiss xmm0, xmm6
setae al
test al, al
je 0x14006409e
movss xmm7, dword [0x1401b40d0]
movss xmm8, dword [0x1401b40cc]
movss xmm9, dword [0x1401b40c8]
movss dword [rbp + 0x240], xmm9
movss dword [rbp + 0x244], xmm8
movss dword [rbp + 0x248], xmm7
movss dword [rbp + 0x288], xmm9
movss dword [rbp + 0x28c], xmm8
movss dword [rbp + 0x290], xmm7
movaps xmm1, xmm10
cmp r14d, r15d
je 0x140064c43
movss xmm0, dword [0x1401afdf0]
comiss xmm0, xmm13
jbe 0x140064c17
inc dword [0x1401b4000]
movsd xmm6, qword [rbp + 0x1b8]
movsd qword [rbp + 0x1b0], xmm6
cmp byte [0x1401b3f6c], 0
je 0x140063497
movss dword [rbp + 0x150], xmm9
movss dword [rbp + 0x154], xmm8
movss dword [rbp + 0x158], xmm7
movss dword [rbp + 0x15c], xmm1
lea rcx, [rbp + 0x150]
call fcn.140005180
mov dword [rsp + 0x70], eax
cvttss2si r9d, dword [rbp + 0x250]
cvttss2si r8d, xmm12
cvttsd2si edx, xmm11
movaps xmm0, xmm12
mulss xmm0, dword [0x14018c858]
cvtps2pd xmm1, xmm0
movaps xmm2, xmm6
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.14005eff0
cmp byte [0x1401b3f71], 0
je 0x140063542
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
movups xmmword [rbp - 0x28], xmm10
lea rcx, [rbp - 0x28]
call fcn.140005180
mov r9d, eax
cvtpd2ps xmm1, xmm11
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0x128], xmm0
movss dword [rbp + 0x12c], xmm1
mov eax, dword [0x1401b3f78]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b3fe0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 8], xmm0
movss dword [rbp + 0xc], xmm1
movss xmm1, dword [0x14018c8b8]
movss dword [rsp + 0x20], xmm1
lea r8, [rbp + 0x128]
lea rdx, [rbp + 8]
mov rcx, r10
call fcn.1400301e0
cmp byte [0x1401b3f04], 0
je 0x140063d61
movsd xmm2, qword [rsp + 0x60]
cvtpd2ps xmm2, xmm2
movups xmm7, xmmword [rbp + 0x138]
movaps xmm10, xmm7
unpckhpd xmm10, xmm7
movaps xmm0, xmm10
movsd xmm11, qword [0x14018c910]
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 + 0x50], xmm8
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x160]
call fcn.140060380
subsd xmm7, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
cvtps2pd xmm7, xmm0
movsd qword [rsp + 0x50], xmm7
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x190]
call fcn.140060380
addsd xmm10, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
cvtps2pd xmm6, xmm0
movsd qword [rsp + 0x50], xmm7
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.140060380
movsd qword [rsp + 0x50], xmm8
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x138]
call fcn.140060380
movsd xmm0, qword [rbp - 0x38]
addsd xmm0, qword [0x14018c900]
cvtpd2ps xmm3, xmm0
movaps xmm10, xmmword [rbp + 0x260]
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 + 0x50], xmm8
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x2d0]
call fcn.140060380
subsd xmm15, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm15
cvtps2pd xmm7, xmm0
movsd qword [rsp + 0x50], xmm7
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x390]
call fcn.140060380
addsd xmm10, xmm11
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
cvtps2pd xmm6, xmm0
movsd qword [rsp + 0x50], xmm7
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x178]
call fcn.140060380
movsd qword [rsp + 0x50], xmm8
movsd qword [rsp + 0x58], xmm6
movsd qword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x260]
call fcn.140060380
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movsd xmm1, qword [rbp + 0x2d8]
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x250], xmm1
movsd xmm0, qword [rbp + 0x2d0]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movsd xmm13, qword [rbp + 0x168]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0x160]
cvtpd2ps xmm12, xmm12
movss dword [rbp + 0x10], xmm12
movss dword [rbp + 0x14], xmm13
movss xmm6, dword [0x14018c834]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x10]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movsd xmm1, qword [rbp + 0x398]
cvtpd2ps xmm1, xmm1
movss dword [rsp + 0x70], xmm1
movsd xmm0, qword [rbp + 0x390]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movsd xmm11, qword [rbp + 0x198]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x190]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x18], xmm10
movss dword [rbp + 0x1c], xmm11
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x18]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movsd xmm0, qword [rbp + 0x180]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x40], xmm0
movsd xmm15, qword [rbp + 0x178]
cvtpd2ps xmm15, xmm15
movss dword [rbp + 0x20], xmm15
movss dword [rbp + 0x24], xmm0
movsd xmm9, qword [rbp - 0x58]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp - 0x60]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x28], xmm7
movss dword [rbp + 0x2c], xmm9
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movsd xmm0, qword [rbp + 0x268]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
movsd xmm14, qword [rbp + 0x260]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 0x30], xmm14
movss dword [rbp + 0x34], xmm0
movsd xmm8, qword [rbp + 0x140]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x138]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x38], xmm6
movss dword [rbp + 0x3c], xmm8
movss xmm0, dword [0x14018c834]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0x40], xmm10
movss dword [rbp + 0x44], xmm11
movss dword [rbp + 0x130], xmm12
movss dword [rbp + 0x134], xmm13
movss xmm0, dword [0x14018c834]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x130]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0x48], xmm7
movss dword [rbp + 0x4c], xmm9
movss dword [rbp + 0x50], xmm10
movss dword [rbp + 0x54], xmm11
movss xmm11, dword [0x14018c834]
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0x58], xmm6
movss dword [rbp + 0x5c], xmm8
movss dword [rbp + 0x60], xmm7
movss dword [rbp + 0x64], xmm9
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0x68], xmm12
movss dword [rbp + 0x6c], xmm13
movss dword [rbp + 0x70], xmm6
movss dword [rbp + 0x74], xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss xmm6, dword [rsp + 0x48]
movss dword [rbp + 0x78], xmm6
movss xmm8, dword [rsp + 0x70]
movss dword [rbp + 0x7c], xmm8
movss xmm9, dword [rsp + 0x40]
movss dword [rbp + 0x80], xmm9
movss xmm10, dword [rbp + 0x250]
movss dword [rbp + 0x84], xmm10
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x80]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0x88], xmm15
movss xmm7, dword [rbp - 0x40]
movss dword [rbp + 0x8c], xmm7
movss dword [rbp + 0x90], xmm6
movss dword [rbp + 0x94], xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0x98], xmm14
movss xmm6, dword [rbp - 0x38]
movss dword [rbp + 0x9c], xmm6
movss dword [rbp + 0xa0], xmm15
movss dword [rbp + 0xa4], xmm7
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xa0]
mov rcx, r10
call fcn.1400301e0
mov rcx, qword [0x1401b3ef0]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
mov r10, qword [rax + 0x280]
lea rcx, [0x1401b06e8]
call fcn.140005180
movss dword [rbp + 0xa8], xmm9
movss dword [rbp + 0xac], xmm10
movss dword [rbp + 0xb0], xmm14
movss dword [rbp + 0xb4], xmm6
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
mov rcx, r10
call fcn.1400301e0
movss xmm10, dword [0x14018c898]
movsd xmm6, qword [rbp + 0x1b0]
movsd xmm11, qword [rbp + 0x1c0]
movss xmm12, dword [rbp - 0x30]
movss xmm13, dword [rbp + 0x280]
movsd xmm14, qword [rbp + 0x1d8]
cmp byte [0x1401b3eeb], 0
je 0x140063dcd
xorps xmm2, xmm2
cvtss2sd xmm2, xmm13
movq r8, xmm2
lea rdx, str.__2.fm_
lea rcx, [rbp + 0x390]
call fcn.14006e070
movaps xmm0, xmm11
subsd xmm0, qword [0x14018c900]
cvttsd2si r8d, xmm0
cvttsd2si edx, xmm6
lea rax, [rbp + 0x390]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [0x1401b0000]
movss xmm0, dword [0x14018c998]
movd ecx, xmm0
call fcn.14005e5f0
movups xmm8, xmmword [rbp + 0x288]
cmp byte [0x1401b3eea], 0
je 0x140063e99
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
movups xmmword [rbp + 0x260], xmm8
lea rcx, [rbp + 0x260]
call fcn.140005180
mov r9d, eax
cvtpd2ps xmm1, xmm11
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm1
mov eax, 0x51eb851f
imul dword [0x1401b3f78]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1401b3fe0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
movss xmm1, dword [0x14018c8b8]
movss dword [rsp + 0x20], xmm1
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xc0]
mov rcx, r10
call fcn.1400301e0
movsd xmm7, qword [rbp + 0x1d0]
cmp byte [0x1401b3eef], 0
je 0x140063f34
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
movups xmmword [rbp + 0x260], xmm8
lea rcx, [rbp + 0x260]
call fcn.140005180
cvtpd2ps xmm1, xmm14
cvtpd2ps xmm0, xmm7
movss dword [rbp + 0xc8], xmm0
movss dword [rbp + 0xcc], xmm1
mov dword [rbp + 0xd0], 0x44700000
mov dword [rbp + 0xd4], 0x44848000
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0xd0]
mov rcx, r10
call fcn.1400301e0
movups xmm9, xmmword [rbp + 0x240]
cmp byte [0x1401b3ee9], 0
je 0x140063fd2
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r8, rax
movups xmmword [rbp + 0x260], xmm9
lea rcx, [rbp + 0x260]
call fcn.140005180
movsd xmm1, qword [rbp + 0x338]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x330]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd8], xmm0
movss dword [rbp + 0xdc], xmm1
movss xmm0, dword [0x14018c8d8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
movss xmm2, dword [0x14018c9b8]
lea rdx, [rbp + 0xd8]
mov rcx, r8
call fcn.140030fa0
cmp byte [0x1401b3f05], 0
je 0x14006416a
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
movaps xmm0, xmmword [0x14018ce40]
movups xmmword [rbp + 0x260], xmm0
lea rcx, [rbp + 0x260]
call fcn.140005180
cvtpd2ps xmm2, xmm14
movaps xmm0, xmm12
movss xmm13, dword [0x14018c844]
mulss xmm0, xmm13
cvtps2pd xmm3, xmm0
movaps xmm1, xmm7
addsd xmm1, xmm3
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0xe0], xmm0
movss dword [rbp + 0xe4], xmm2
cvtpd2ps xmm1, xmm11
movaps xmm0, xmm6
subsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe8], xmm0
movss dword [rbp + 0xec], xmm1
xor edi, edi
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0xe8]
mov rcx, r10
call fcn.140030450
jmp 0x140064175
cmp r14d, r15d
jne 0x1400640e2
mov dword [rbp + 0x240], 0x3f20a0a1
movss dword [rbp + 0x244], xmm10
mov dword [rbp + 0x248], 0x3f008081
mov dword [rbp + 0x288], 0
mov dword [rbp + 0x28c], 0x3e189899
movss dword [rbp + 0x290], xmm10
jmp 0x140064c43
lea rdx, [rbx + 0x360]
call fcn.14006dec0
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.14006dec0
addss xmm0, dword [0x14018c824]
comiss xmm0, xmm6
setae al
movaps xmm1, xmm10
test al, al
jne 0x1400633f8
movss xmm7, dword [0x1401b40f0]
movss xmm8, dword [0x1401b40ec]
movss xmm9, dword [0x1401b40e8]
movss dword [rbp + 0x240], xmm9
movss dword [rbp + 0x244], xmm8
movss dword [rbp + 0x248], xmm7
movss dword [rbp + 0x288], xmm9
movss dword [rbp + 0x28c], xmm8
movss dword [rbp + 0x290], xmm7
jmp 0x1400633f8
movss xmm13, dword [0x14018c844]
xor edi, edi
cmp byte [0x1401b3f07], 0
je 0x14006422c
mov rax, qword [0x1401b3ef0]
mov rax, qword [rax + 0x4090]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140008e40
mov r10, rax
movups xmmword [rbp + 0x260], xmm8
lea rcx, [rbp + 0x260]
call fcn.140005180
cvtpd2ps xmm1, xmm14
mulss xmm12, xmm13
cvtps2pd xmm2, xmm12
addsd xmm7, xmm2
cvtpd2ps xmm0, xmm7
movss dword [rbp + 0xf0], xmm0
movss dword [rbp + 0xf4], xmm1
cvtpd2ps xmm1, xmm11
subsd xmm6, xmm2
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0xf8], xmm0
movss dword [rbp + 0xfc], xmm1
movss dword [rsp + 0x30], xmm10
movss xmm0, dword [0x14018c8ac]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xf8]
mov rcx, r10
call fcn.140030340
cmp byte [0x1401b3eee], 0
je 0x14006424d
movdqa xmmword [rbp + 0x260], xmm9
lea rdx, [rbp + 0x260]
mov rcx, rbx
call fcn.140060a80
cmp byte [0x1401b3f6f], 0
je 0x140064b0a
mov edx, dword [0x1401b4000]
test edx, edx
jle 0x140064b0a
lea rcx, [rbp + 0x2d0]
call fcn.14006d930
nop
mov edx, dword [0x1401b3f7c]
lea rcx, [rbp + 0x330]
call fcn.14006d930
nop
mov edx, dword [0x1401b3f74]
lea rcx, [rbp + 0x350]
call fcn.14006d930
nop
lea r8, [rbp + 0x2d0]
lea rcx, [rsp + 0x78]
call fcn.14006e0d0
nop
mov r8d, 0x14
lea rdx, str._ennemies_around_you
mov rcx, rax
call fcn.14006ba30
xorps xmm0, xmm0
movups xmmword [rbp + 0x298], xmm0
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x298], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x2a8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x14006433a
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064335
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d46
call fcn.140073f38
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
movabs r13, 0x7fffffffffffffff
mov rax, r13
mov r14, qword [rbp + 0x340]
sub rax, r14
cmp rax, 9
jb 0x140064d9a
lea r12, [rbp + 0x330]
mov r15, qword [rbp + 0x330]
cmp qword [rbp + 0x348], 0xf
cmova r12, r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
lea rsi, [r14 + 9]
mov ebx, 0xf
lea rdi, [rbp - 0x18]
cmp rsi, rbx
jbe 0x140064421
mov rbx, rsi
or rbx, 0xf
cmp rbx, r13
jbe 0x1400643c6
mov rbx, r13
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400643ed
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14006440c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140064d52
mov rcx, rax
call fcn.140074124
test rax, rax
je 0x140064d4c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14006441d
test rcx, rcx
je 0x14006441b
call fcn.140074124
mov rdi, rax
jmp 0x14006441d
xor edi, edi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 8], rsi
mov qword [rbp], rbx
movsd xmm0, qword [str.You_have]
movsd qword [rdi], xmm0
movzx eax, byte [0x14018c3b0]
mov byte [rdi + 8], al
lea rcx, [rdi + 9]
mov r8, r14
mov rdx, r12
call fcn.14012d640
mov byte [rdi + rsi], 0
mov r8d, 0x15
lea rdx, str._close_range_ennemies
lea rcx, [rbp - 0x18]
call fcn.14006ba30
xorps xmm0, xmm0
movups xmmword [rbp + 0x310], xmm0
xor r8d, r8d
mov qword [rbp + 0x320], r8
mov qword [rbp + 0x328], r8
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x310], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x320], xmm1
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], 0xf
mov byte [rax], r8b
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x1400644e5
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400644dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d58
call fcn.140073f38
xor r8d, r8d
mov qword [rbp - 8], r8
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov rax, r13
mov r13, qword [rbp + 0x360]
sub rax, r13
cmp rax, 9
jb 0x140064d94
lea r12, [rbp + 0x350]
mov rsi, qword [rbp + 0x350]
cmp qword [rbp + 0x368], 0xf
cmova r12, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r8
mov qword [rbp - 0x70], r8
lea r14, [r13 + 9]
mov ebx, 0xf
lea rdi, [rsp + 0x78]
cmp r14, rbx
jbe 0x1400645d3
mov rbx, r14
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x140064576
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14006459d
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400645bc
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140064d64
mov rcx, rax
call fcn.140074124
test rax, rax
je 0x140064d5e
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400645ce
test rcx, rcx
je 0x1400645cb
call fcn.140074124
mov rdi, rax
jmp 0x1400645ce
mov rdi, r8
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], rbx
movsd xmm0, qword [str.You_have]
movsd qword [rdi], xmm0
movzx eax, byte [0x14018c3b0]
mov byte [rdi + 8], al
lea rcx, [rdi + 9]
mov r8, r13
mov rdx, r12
call fcn.14012d640
mov byte [rdi + r14], 0
mov r8d, 0x11
lea rdx, str._visible_ennemies
lea rcx, [rsp + 0x78]
call fcn.14006ba30
xorps xmm0, xmm0
movups xmmword [rbp + 0x2f0], xmm0
xor edi, edi
mov qword [rbp + 0x300], rdi
mov qword [rbp + 0x308], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2f0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x300], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140064696
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064691
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d6a
call fcn.140073f38
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
lea rax, [rbp + 0x298]
cmp qword [rbp + 0x2b0], 0xf
cmova rax, qword [rbp + 0x298]
mov rbx, qword [0x1401b3ef0]
mov rcx, qword [rbx + 0x3bf8]
movss xmm2, dword [rbx + 0x3c00]
movss xmm6, dword [0x14018ca58]
movss xmm9, dword [0x14018ca34]
test rax, rax
jne 0x1400646f9
xorps xmm8, xmm8
movss xmm11, dword [0x14018c890]
jmp 0x140064754
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm9
lea rdx, [rbp + 0x100]
call fcn.1400363a0
movss xmm0, dword [rbp + 0x100]
movss xmm11, dword [0x14018c890]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
movss dword [rbp + 0x100], xmm8
mov rcx, qword [rbx + 0x3bf8]
movss xmm2, dword [rbx + 0x3c00]
lea rax, [rbp + 0x310]
cmp qword [rbp + 0x328], 0xf
cmova rax, qword [rbp + 0x310]
test rax, rax
jne 0x140064775
xorps xmm7, xmm7
jmp 0x1400647b5
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm9
lea rdx, [rbp + 0x108]
call fcn.1400363a0
movss xmm0, dword [rbp + 0x108]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp + 0x108], xmm7
lea rax, [rbp + 0x2f0]
cmp qword [rbp + 0x308], 0xf
cmova rax, qword [rbp + 0x2f0]
test rax, rax
jne 0x1400647d6
xorps xmm6, xmm6
jmp 0x140064825
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm9
movss xmm2, dword [rbx + 0x3c00]
lea rdx, [rbp + 0x110]
mov rcx, qword [rbx + 0x3bf8]
call fcn.1400363a0
movss xmm0, dword [rbp + 0x110]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x110], xmm6
lea r8, [rbp + 0x298]
cmp qword [rbp + 0x2b0], 0xf
cmova r8, qword [rbp + 0x298]
mov eax, dword [0x1401b3fe0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm9, dword [0x14018c858]
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.1400621f0
lea r8, [rbp + 0x310]
cmp qword [rbp + 0x328], 0xf
cmova r8, qword [rbp + 0x310]
mov eax, dword [0x1401b3fe0]
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.1400621f0
lea r8, [rbp + 0x2f0]
cmp qword [rbp + 0x308], 0xf
cmova r8, qword [rbp + 0x2f0]
mov eax, dword [0x1401b3fe0]
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.1400621f0
nop
mov rdx, qword [rbp + 0x308]
cmp rdx, 0xf
jbe 0x140064969
inc rdx
mov rcx, qword [rbp + 0x2f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064964
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d70
call fcn.140073f38
mov qword [rbp + 0x300], rdi
mov qword [rbp + 0x308], 0xf
mov byte [rbp + 0x2f0], 0
mov rdx, qword [rbp + 0x328]
cmp rdx, 0xf
jbe 0x1400649c3
inc rdx
mov rcx, qword [rbp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400649be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d76
call fcn.140073f38
mov qword [rbp + 0x320], rdi
mov qword [rbp + 0x328], 0xf
mov byte [rbp + 0x310], 0
mov rdx, qword [rbp + 0x2b0]
cmp rdx, 0xf
jbe 0x140064a1d
inc rdx
mov rcx, qword [rbp + 0x298]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064a18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d7c
call fcn.140073f38
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], 0xf
mov byte [rbp + 0x298], 0
mov rax, qword [rbp + 0x368]
cmp rax, 0xf
jbe 0x140064a75
lea rdx, [rax + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140064a6c
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d82
mov rcx, rsi
call fcn.140073f38
nop
mov rax, qword [rbp + 0x348]
cmp rax, 0xf
jbe 0x140064ab4
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140064aab
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d88
mov rcx, r15
call fcn.140073f38
nop
mov rdx, qword [rbp + 0x2e8]
cmp rdx, 0xf
jbe 0x140064af5
inc rdx
mov rcx, qword [rbp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064af0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d8e
call fcn.140073f38
mov r12d, dword [rbp + 0x254]
mov r13, qword [rbp + 0x118]
mov rbx, qword [rbp + 0x210]
cmp dword [0x1401b4000], 0
je 0x140064b19
mov dword [0x1401b4000], edi
cmp dword [0x1401b3f7c], 0
je 0x140064b28
mov dword [0x1401b3f7c], edi
cmp dword [0x1401b3f74], 0
je 0x140064b37
mov dword [0x1401b3f74], edi
lea rdx, [rbx + 0x360]
call fcn.14006dec0
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.14006dec0
addss xmm0, dword [0x14018c824]
comiss xmm0, xmm6
setae al
test al, al
je 0x140064c17
mov eax, dword [0x1401b3fe0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm3, qword [rbp + 0x1e8]
subsd xmm3, xmm0
mov eax, dword [0x1401b3f78]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x1f0]
subsd xmm2, xmm0
mov eax, dword [0x1401b3fe4]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x1f8]
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 0x140064bee
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x140064bf6
movaps xmm0, xmm3
call fcn.14012c0c4
divss xmm0, dword [0x14018c9e4]
movd xmm1, dword [0x1401afdfc]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x140064c17
mov qword [0x1401b3ff0], r13
jmp 0x140064c1e
mov r13, qword [0x1401b3ff0]
cmp byte [0x1401afdf4], 0
je 0x140064c43
test r13, r13
je 0x140064c43
mov ecx, dword [0x1401b4004]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140064c43
call fcn.1400607e0
nop
mov rdx, qword [rbp + 0x238]
cmp rdx, 0xf
jbe 0x140064c84
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064c7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d2e
call fcn.140073f38
inc r12d
mov dword [rbp + 0x254], r12d
mov rax, qword [rbp + 0x2c0]
mov rcx, qword [rbp + 0x2b8]
sub rax, rcx
sar rax, 6
mov ebx, r12d
cmp rbx, rax
jae 0x140064cba
mov rdi, qword [rbp + 0x120]
xor r14d, r14d
jmp 0x140062df0
lea rcx, [rbp + 0x2b8]
call fcn.14006b610
mov rcx, qword [rbp + 0x3d0]
xor rcx, rsp
call fcn.140073e00
lea r11, [rsp + 0x580]
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.1400f3074
nop
call fcn.140071620
int3
call fcn.14003b340
int3
call fcn.1400f3074
nop
call fcn.1400f3074
int3
call fcn.1400f3074
int3
call fcn.14003b340
nop
call fcn.1400f3074
int3
call fcn.1400f3074
int3
call fcn.14003b340
nop
call fcn.1400f3074
nop
call fcn.1400f3074
nop
call fcn.1400f3074
nop
call fcn.1400f3074
nop
call fcn.1400f3074
nop
call fcn.1400f3074
nop
call fcn.1400f3074
nop
call fcn.14005bab0
nop
call fcn.14005bab0
int3