Function at 0x180007730
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push r13
sub rsp, 0x78
movaps xmmword [rax - 0x38], xmm6
mov rsi, rcx
mov rcx, qword [0x180187dd8]
mov r13, r9
mov qword [rax + 0x10], r12
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [rcx]
mov rdx, qword [rax + 0xe8]
call rdx
mov rbp, rax
mov rbx, qword [rax + 0x290]
movss xmm0, dword [rbx + 0x1c]
movss xmm7, dword [rbx + 0x20]
movss xmm1, dword [rbx + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1800077a6
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1800077ae
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm6, xmm6
ucomiss xmm0, xmm6
jp 0x1800077bd
jne 0x1800077bd
xorps xmm7, xmm7
jmp 0x1800077ca
movss xmm6, dword [rbx + 0x18]
divss xmm6, xmm0
divss xmm7, xmm0
mov qword [rsp + 0xa0], rdi
mov rcx, rbp
mov qword [rsp + 0xb0], r14
call fcn.180017020
test al, al
jne 0x1800078a2
movss xmm0, dword [rsi + 0xb4]
addss xmm0, dword [0x180107dfc]
comiss xmm0, dword [rbx + 4]
ja 0x1800078a2
mov rcx, qword [0x180187dd8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xe8]
call rdx
test rax, rax
je 0x180007865
mov rax, qword [rax + 0x290]
test rax, rax
je 0x180007865
movss xmm0, dword [rax + 0x20]
movss xmm1, dword [rax + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18000784f
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x180007857
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, dword [0x180107db8]
setae al
test al, al
jne 0x180007875
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800078a2
cmp byte [rsi + 0xcc], 0
lea r15, [rbx + 4]
lea r12, [rsi + 0xb4]
jne 0x1800078c5
movss xmm0, dword [rbx + 4]
lea r15, [rbx + 4]
comiss xmm0, dword [rsi + 0xb4]
lea r12, [rsi + 0xb4]
jbe 0x1800078c5
movss xmm0, dword [rbx + 4]
lea r15, [rbx + 4]
lea r12, [rsi + 0xb4]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
subss xmm0, dword [0x180107e5c]
movss dword [r12], xmm0
movss xmm1, dword [rbx]
movss xmm2, dword [rsi + 0xdc]
mov r14, qword [rsp + 0xb0]
movaps xmm0, xmm2
movss dword [rsi + 0xbc], xmm1
mov eax, dword [r15]
mov r15, qword [rsp + 0x70]
mov dword [rsi + 0xc0], eax
mov eax, dword [rbx + 8]
mov dword [rsi + 0xc4], eax
mov eax, dword [r12]
mov r12, qword [rsp + 0xa8]
mulss xmm0, xmm6
mov dword [rsi + 0xc0], eax
mov eax, dword [rsi + 0xd0]
inc eax
mulss xmm2, xmm7
mov dword [rsi + 0xd0], eax
movaps xmm7, xmmword [rsp + 0x50]
addss xmm0, xmm1
addss xmm2, dword [rsi + 0xc4]
movss dword [rsi + 0xbc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0xc4], xmm2
comiss xmm0, dword [rsi + 0xd4]
jb 0x180007a20
mov rbx, qword [0x180187dd8]
movsd xmm6, qword [rsi + 0xbc]
mov rcx, rbx
mov edi, dword [rsi + 0xc4]
mov dword [rsi + 0xd0], 0
mov rax, qword [rbx]
call qword [rax + 0xe8]
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rax + 0xe0]
call rdx
movaps xmm0, xmm6
mov rbx, rax
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si ecx, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
mov dword [rsp + 0x20], ecx
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si ecx, xmm0
movd xmm0, edi
mov dword [rsp + 0x24], ecx
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movsd xmm1, qword [rsp + 0x20]
lea rdx, [rsp + 0x30]
cvttss2si eax, xmm0
mov rcx, rbx
movsd qword [rsp + 0x30], xmm1
mov dword [rsp + 0x38], eax
mov rax, qword [rbx]
mov r8, qword [rax + 0x10]
call r8
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx + 0x128]
cmp dword [rax], 0
jne 0x180007a20
movsd xmm0, qword [rsi + 0xbc]
lea rdx, [rsp + 0x30]
mov eax, dword [rsi + 0xc4]
mov r8, r13
mov rcx, rsi
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
call fcn.180007480
mov rax, qword [rbp + 0x2a0]
mov rdi, qword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0x60]
mov dword [rax], 0x42960000
add rsp, 0x78
pop r13
pop rsi
pop rbp
pop rbx
ret