Function at 0x140004e40
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xd0
movss xmm1, dword [rdx + 0x30]
mov rdi, rcx
addss xmm1, dword [rdx + 0x34]
movaps xmmword [rax - 0x28], xmm6
mov r14, r8
movaps xmmword [rax - 0x38], xmm7
mov rbx, rdx
mov eax, dword [rdx + 0x28]
mov dword [rcx], eax
mov eax, dword [rdx + 0x2c]
mov byte [r8], 0
mov dword [rsp + 0xf0], eax
movss xmm0, dword [rsp + 0xf0]
movss dword [rcx + 4], xmm0
movss dword [rcx + 8], xmm1
mov rcx, qword [0x14012d138]
movaps xmmword [rsp + 0x60], xmm12
cmp byte [rcx + 0x89], 0
je 0x1400051a8
cmp byte [rcx + 0xc8], 0
jne 0x1400051a8
mov ecx, dword [rcx + 0x5c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400051a8
movss xmm7, dword [rbx + 4]
movss xmm6, dword [rbx]
movaps xmm1, xmm7
mov eax, dword [rbx + 8]
movaps xmm0, xmm6
mulss xmm0, xmm6
mov dword [rsp + 0x28], eax
mulss xmm1, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140004f03
xorps xmm2, xmm2
sqrtss xmm2, xmm1
jmp 0x140004f0e
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm2, xmm0
movzx esi, byte [rbx + 0x18]
movzx ebp, word [rbx + 0x20]
movzx edx, sil
movzx ecx, bp
call fcn.140003ed0
movss xmm12, dword [0x1400dded8]
divss xmm0, xmm12
comiss xmm0, xmm2
jae 0x1400051a8
cmp dword [rbx + 0x24], 0
jne 0x1400051a8
comiss xmm2, xmm0
jbe 0x1400051a4
movss xmm0, dword [rdi + 4]
movaps xmmword [rsp + 0xa0], xmm8
movss xmm8, dword [rsp + 0x28]
movaps xmmword [rsp + 0x90], xmm9
xorps xmm9, xmm9
movaps xmmword [rsp + 0x80], xmm10
movss xmm10, dword [0x1400ddf8c]
movaps xmmword [rsp + 0x70], xmm11
movss xmm11, dword [0x1400ddd90]
movaps xmmword [rsp + 0x50], xmm13
movss xmm13, dword [0x1400ddf04]
movaps xmmword [rsp + 0x40], xmm14
movss xmm14, dword [0x1400ddf48]
movss dword [rsp + 0xf0], xmm0
movss xmm0, dword [rdi + 8]
movaps xmmword [rsp + 0x30], xmm15
movss xmm15, dword [rdi]
movss dword [rsp + 0xf8], xmm0
nop
movaps xmm0, xmm6
movaps xmm2, xmm7
mulss xmm2, xmm7
movaps xmm1, xmm8
mulss xmm0, xmm6
mulss xmm1, xmm8
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140005000
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140005008
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm10, xmm0
jbe 0x140005014
movaps xmm1, xmm10
jmp 0x140005017
movaps xmm1, xmm0
ucomiss xmm0, xmm9
mulss xmm1, xmm13
movaps xmm2, xmm0
mulss xmm1, xmm11
subss xmm2, xmm1
jp 0x14000503e
jne 0x14000503e
movaps xmm8, xmm9
movaps xmm6, xmm9
movaps xmm7, xmm9
jmp 0x14000504b
divss xmm6, xmm0
divss xmm7, xmm0
divss xmm8, xmm0
mulss xmm6, xmm2
mulss xmm8, xmm2
mulss xmm7, xmm2
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm1, xmm8
movaps xmm2, xmm7
mulss xmm1, xmm8
mulss xmm2, xmm7
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140005088
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140005090
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
ucomiss xmm0, xmm9
jp 0x1400050a6
jne 0x1400050a6
movaps xmm1, xmm9
movaps xmm2, xmm9
movaps xmm3, xmm9
jmp 0x1400050bc
movaps xmm2, xmm6
movaps xmm3, xmm7
movaps xmm1, xmm8
divss xmm2, xmm0
divss xmm3, xmm0
divss xmm1, xmm0
mulss xmm1, xmm14
mulss xmm2, xmm14
subss xmm8, xmm1
mulss xmm3, xmm14
subss xmm6, xmm2
subss xmm7, xmm3
movaps xmm0, xmm6
mulss xmm0, xmm11
movaps xmm1, xmm7
mulss xmm1, xmm11
addss xmm0, xmm15
addss xmm1, dword [rsp + 0xf0]
movss dword [rdi], xmm0
movaps xmm15, xmm0
movaps xmm0, xmm8
mulss xmm0, xmm11
movss dword [rsp + 0xf0], xmm1
movss dword [rdi + 4], xmm1
movaps xmm1, xmm7
addss xmm0, dword [rsp + 0xf8]
mulss xmm1, xmm7
movss dword [rsp + 0xf8], xmm0
movss dword [rdi + 8], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14000514c
sqrtss xmm1, xmm1
jmp 0x140005157
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
movzx edx, sil
movzx ecx, bp
call fcn.140003ed0
divss xmm0, xmm12
comiss xmm1, xmm0
ja 0x140004fd0
movaps xmm15, xmmword [rsp + 0x30]
movaps xmm14, xmmword [rsp + 0x40]
movaps xmm13, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
mov byte [r14], 1
lea r11, [rsp + 0xd0]
mov rax, rdi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret