Function at 0x14007fc40
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r14, qword [rbp + 0x50]
lea rcx, [rbp - 0x28]
movsxd rsi, r9d
mov rdi, r8
call fcn.1400056a0
mov edx, dword [0x14012c2ec]
lea r8, [rbp - 0x30]
add rdx, qword [0x14012d928]
xor r15d, r15d
mov dword [rbp - 0x30], r15d
call fcn.140024dc0
test al, al
je 0x14007fea3
mov ebx, dword [rbp - 0x30]
cmp ebx, 0xffffffff
jne 0x14007fcab
mov rax, qword [rbp - 0x28]
mov qword [0x14012dd98], rax
jmp 0x14007fea3
mov eax, ebx
mov dword [rbp - 0x34], r15d
shr eax, 9
xorps xmm0, xmm0
mov ecx, 8
mov qword [rbp - 0x10], r15
movdqu xmmword [rbp - 0x20], xmm0
lea eax, [rax*8 + 0x10]
mov dword [rbp - 0x38], eax
call fcn.140088f30
mov rcx, qword [rbp - 0x38]
lea r8, [rbp - 0x20]
mov qword [rbp - 0x20], rax
lea rdx, [rax + 8]
mov qword [rbp - 0x10], rdx
mov qword [rax], rcx
mov qword [rbp - 0x18], rdx
mov rdx, qword [0x14012d810]
call fcn.14007fa60
nop dword [rax + rax]
test rax, rax
je 0x14007fea3
mov ecx, ebx
mov qword [rbp - 0x38], r15
and ecx, 0x1ff
lea r8, [rbp - 0x38]
imul rdx, rcx, 0x78
add rdx, rax
call fcn.1400041b0
test al, al
je 0x14007fea3
mov edx, dword [0x14012c2bc]
lea r8, [rbp - 0x30]
mov rbx, qword [rbp - 0x38]
add rdx, rbx
mov dword [rbp - 0x30], r15d
call fcn.1400229b0
test rbx, rbx
je 0x14007fd70
mov edx, dword [0x14012c30c]
lea r8, [rbp - 0x40]
add rdx, rbx
call fcn.140022920
mov edx, dword [0x14012c2f0]
lea r8, [rbp - 0x38]
add rdx, rbx
call fcn.1400229b0
mov edx, dword [rbp - 0x30]
movzx ecx, byte [rbp - 0x40]
test edx, edx
jle 0x14007fd83
test cl, cl
jne 0x14007fd83
mov al, 1
jmp 0x14007fd85
xor al, al
cmp byte [0x14012c10f], r15b
je 0x14007fdb2
mov eax, dword [rbp - 0x38]
cmp dword [0x14012d980], eax
je 0x14007fea3
nop dword [rax]
test edx, edx
jle 0x14007fea3
test cl, cl
jne 0x14007fea3
jmp 0x14007fdba
test al, al
je 0x14007fea3
mov rbx, qword [rbp - 0x28]
imul rdx, rsi, 0xf4240
mov rcx, rbx
sub rcx, qword [0x14012dd98]
cmp rcx, rdx
je 0x14007fdda
jl 0x14007fea3
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14007fe9c
cmp byte [rbp + 0x40], r15b
je 0x14007fe06
movd xmm0, dword [rbp + 0x48]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rdi]
jb 0x14007fea3
cmp byte [0x14012e200], r15b
je 0x14007fe6c
lea r8, [rbp - 0x38]
mov qword [rbp - 0x38], r15
mov rdx, r14
lea rcx, [0x14012d858]
call fcn.1400039d0
mov rcx, qword [0x14012e228]
movss xmm2, dword [rcx + 0xec]
mulss xmm2, dword [0x1401159c0]
movss xmm1, dword [rcx + 0xe8]
mulss xmm1, dword [0x1401159c0]
subss xmm2, dword [rbp - 0x34]
subss xmm1, dword [rbp - 0x38]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
comiss xmm1, dword [0x140115b10]
ja 0x14007fea3
xor edx, edx
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
xor edx, edx
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [0x14012dd98], rbx
lea r11, [rsp + 0x70]
mov al, 1
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret