Function at 0x14001cc50
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0x100
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm14
movaps xmmword [rsp + 0x70], xmm15
mov rax, qword [0x1400b7c40]
xor rax, rsp
mov qword [rsp + 0x68], rax
inc dword [0x140108458]
movss xmm1, dword [0x14010ab2c]
movaps xmm6, xmm1
movss xmm8, dword [0x1400a5404]
addss xmm6, xmm8
addss xmm6, dword [0x14010845c]
movss xmm7, dword [0x14010ab28]
movss xmm0, dword [0x1400a53ec]
addss xmm7, xmm0
addss xmm7, dword [0x140108454]
movq xmm12, rdx
shufps xmm12, xmm12, 0x55
mov qword [rsp + 0x40], rdx
movss xmm11, dword [0x1400a537c]
cmp byte [0x14010844f], 0
je 0x14001cd33
movss xmm7, dword [0x14010ab18]
addss xmm7, dword [0x14010ab48]
addss xmm7, xmm0
movss xmm6, dword [0x14010ab1c]
mulss xmm6, xmm11
addss xmm6, dword [0x14010ab4c]
movaps xmm0, xmm12
mulss xmm0, xmm11
subss xmm6, xmm0
xorps xmm15, xmm15
cmp byte [0x140108447], 0
je 0x14001cd68
movss xmm6, dword [0x140108450]
mov byte [0x140108447], 0
mov dword [0x140108450], 0
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [0x14010845c], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.14001b130
movzx ebx, al
lea r9, [rsp + 0x30]
movaps xmm2, xmm12
movss xmm14, dword [rsp + 0x40]
movaps xmm1, xmm14
test al, al
je 0x14001cdb9
movups xmm0, xmmword [0x1400a4130]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.14001b2c0
mov byte [0x14010844e], 1
jmp 0x14001cdd6
movups xmm0, xmmword [0x1400a40c0]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.14001b2c0
cmp byte [0x14010844f], 0
jne 0x14001cdfc
movaps xmm0, xmm12
addss xmm0, xmm8
movss xmm1, dword [0x14010845c]
addss xmm1, xmm0
movss dword [0x14010845c], xmm1
movups xmm0, xmmword [0x1400a40d0]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm3, xmm6
subss xmm3, dword [0x1400a53f0]
movaps xmm2, xmm14
movss xmm10, dword [0x1400a5408]
addss xmm2, xmm10
addss xmm2, xmm7
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
movaps xmm1, xmm10
lea rcx, str.Targeting_Key
call fcn.14001b1d0
mov eax, dword [0x140108458]
cmp dword [0x1400b7e84], eax
jne 0x14001cf1c
movups xmm0, xmmword [0x1400a40d0]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm3, xmm12
mulss xmm3, xmm11
addss xmm3, xmm6
subss xmm3, dword [0x1400a53f0]
movaps xmm2, xmm14
mulss xmm2, xmm11
addss xmm2, xmm7
subss xmm2, xmm10
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
movaps xmm1, xmm10
lea rcx, str._Press_Key_
call fcn.14001b1d0
cmp byte [0x140108448], 0
jne 0x14001ceda
cmp byte [0x140108449], 0
jne 0x14001ceda
cmp byte [0x14010844a], 0
jne 0x14001ceda
cmp byte [0x14010844b], 0
jne 0x14001ceda
cmp byte [0x14010844c], 0
jne 0x14001ceda
mov byte [0x14010844d], 0
jmp 0x14001cee7
cmp byte [0x14010844d], 0
jne 0x14001d076
xor ebx, ebx
nop dword [rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001cf0d
mov dword [0x140108404], ebx
mov dword [0x1400b7e84], 0xffffffff
inc ebx
cmp ebx, 0xff
jl 0x14001cef0
jmp 0x14001d076
movaps xmm8, xmm12
mulss xmm8, xmm11
addss xmm8, xmm6
movaps xmm9, xmm14
mulss xmm9, xmm11
addss xmm9, xmm7
movzx edx, byte [0x140108404]
lea rcx, [rsp + 0x48]
call fcn.14001ca10
nop
cmp qword [rax + 0x18], 0x10
jb 0x14001cf54
mov rax, qword [rax]
movups xmm0, xmmword [0x1400a40d0]
movdqa xmmword [rsp + 0x30], xmm0
subss xmm8, dword [0x1400a53f0]
subss xmm9, xmm10
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
movaps xmm3, xmm8
movaps xmm2, xmm9
movaps xmm1, xmm10
mov rcx, rax
call fcn.14001b1d0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14001cfcb
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cfc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d107
call fcn.140062a94
test bl, bl
je 0x14001d031
movsxd rdx, dword [0x140108458]
cmp byte [0x140108448], 0
je 0x14001d017
lea rax, [0x140108460]
cmp byte [rdx + rax], 0
jne 0x14001d076
mov byte [rdx + rax], 1
mov byte [0x14010844d], 1
mov dword [0x1400b7e84], edx
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x14001d003
jmp 0x14001d076
cmp rdx, 0x100
jae 0x14001d10d
lea rax, [0x140108460]
mov byte [rdx + rax], 0
jmp 0x14001d076
movsxd rcx, dword [0x140108458]
cmp byte [0x140108448], 0
je 0x14001d05e
lea rax, [0x140108460]
cmp byte [rcx + rax], 0
jne 0x14001d076
mov byte [rcx + rax], 1
mov dword [0x1400b7e84], 0xffffffff
jmp 0x14001d076
cmp rcx, 0x100
jae 0x14001d10d
lea rax, [0x140108460]
mov byte [rcx + rax], 0
mov byte [0x14010844f], 0
movss dword [0x14010ab48], xmm7
movss dword [0x14010ab4c], xmm6
movss dword [0x14010ab18], xmm14
movss dword [0x14010ab1c], xmm12
movss xmm0, dword [0x14010ab10]
ucomiss xmm0, xmm15
jp 0x14001d0bf
jne 0x14001d0bf
movss dword [0x14010ab10], xmm7
movss dword [0x14010ab14], xmm6
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140062540
lea r11, [rsp + 0x100]
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 xmm14, xmmword [r11 - 0x80]
movaps xmm15, xmmword [rsp + 0x70]
mov rsp, r11
pop rbx
ret
call fcn.14002de94
int3
call fcn.140062bd8
int3