Function at 0x140021c70
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0xb0
mov rsi, qword [0x14005ef88]
mov rdi, rcx
mov rbx, qword [0x14005ef80]
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
xorps xmm7, xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
xorps xmm9, xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rsp + 0x30], xmm13
movss xmm13, dword [0x140059914]
movss dword [0x14005f070], xmm7
mov qword [0x14005f074], 0
cmp rbx, rsi
je 0x140021f07
mov rbp, qword [0x14005f068]
xorps xmm6, xmm6
mov qword [rax + 0x10], r14
xorps xmm8, xmm8
mov qword [rax + 0x18], r15
movss dword [0x14005f074], xmm6
movss dword [0x14005f078], xmm8
movaps xmmword [rsp + 0x40], xmm12
nop dword [rax]
movss xmm10, dword [rbx]
lea r8, [rsp + 0x20]
movss xmm11, dword [rbx + 4]
lea rdx, [rbp + 0xfa0]
movss xmm12, dword [rbx + 8]
lea rcx, [rbp + 0xfac]
movss dword [rsp + 0x20], xmm10
movss dword [rsp + 0x24], xmm11
movss dword [rsp + 0x28], xmm12
call fcn.1400219d0
comiss xmm13, xmm0
jbe 0x140021d7d
movaps xmm7, xmm10
movss dword [0x14005f078], xmm12
movaps xmm6, xmm11
movss dword [0x14005f070], xmm7
movss dword [0x14005f074], xmm6
movaps xmm13, xmm0
movaps xmm8, xmm12
add rbx, 0xc
cmp rbx, rsi
jne 0x140021d10
movss xmm0, dword [0x14004a7ec]
comiss xmm7, xmm0
mov r15, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xd8]
movaps xmm12, xmmword [rsp + 0x40]
jbe 0x140021dd0
movss xmm1, dword [0x14004a6f0]
comiss xmm1, xmm7
jbe 0x140021dd0
comiss xmm6, xmm0
jbe 0x140021dd0
comiss xmm1, xmm6
jbe 0x140021dd0
comiss xmm8, xmm0
jbe 0x140021dd0
comiss xmm1, xmm8
ja 0x140021f07
subss xmm7, dword [rbp + 0xfa0]
subss xmm6, dword [rbp + 0xfa4]
subss xmm8, dword [rbp + 0xfa8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm2, xmm6
mulss xmm2, xmm6
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140021e19
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140021e21
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
ucomiss xmm0, xmm9
jp 0x140021e3a
jne 0x140021e3a
movaps xmm10, xmm9
movss xmm6, dword [0x14004a784]
jmp 0x140021ec1
divss xmm6, xmm0
divss xmm7, xmm0
ucomiss xmm6, xmm9
divss xmm8, xmm0
jp 0x140021e6b
jne 0x140021e6b
ucomiss xmm7, xmm9
jp 0x140021e6b
jne 0x140021e6b
comiss xmm8, xmm9
movaps xmm10, xmm9
jbe 0x140021e2d
movss xmm6, dword [0x14004a7b4]
jmp 0x140021ec1
movaps xmm1, xmm7
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm11, dword [0x14004a778]
xorps xmm1, xmm1
mulss xmm6, xmm6
movaps xmm10, xmm0
mulss xmm7, xmm7
mulss xmm10, xmm11
addss xmm6, xmm7
ucomiss xmm1, xmm6
ja 0x140021ea5
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140021ead
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm6, xmm0
mulss xmm6, xmm11
mov ecx, dword [0x1400598b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x140021f07
mov rcx, qword [0x14005f068]
subss xmm6, dword [rcx + 0xfac]
subss xmm10, dword [rcx + 0xfb0]
subss xmm9, dword [rcx + 0xfb4]
movss dword [rdi], xmm6
movss dword [rdi + 4], xmm10
movss dword [rdi + 8], xmm9
jmp 0x140021f0f
xor eax, eax
mov qword [rdi + 4], rax
mov dword [rdi], eax
lea r11, [rsp + 0xb0]
mov rax, rdi
mov rbx, qword [r11 + 0x38]
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 xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret