Function at 0x1401dc8c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x60
mov rbx, rcx
xor edi, edi
mov ecx, dword [rcx + 0x1f0]
test ecx, ecx
je 0x1401dc920
sub ecx, 1
je 0x1401dc902
cmp ecx, 1
jne 0x1401dcd0a
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x180], rax
mov eax, ecx
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x188], rax
mov eax, 1
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
movaps xmmword [rsp + 0x50], xmm6
mov ecx, 0x12
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x20], xmm9
call qword [sym.imp.USER32.dll_GetKeyState]
movsd xmm8, qword [0x1404538b8]
test ax, ax
jns 0x1401dca02
movsd xmm1, qword [rbx + 0x180]
movsd xmm0, qword [rbx + 0x188]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movsd xmm1, qword [rbx + 0x88]
movaps xmm9, xmm0
movsd xmm0, qword [rbx + 0x90]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov ecx, 0x10
movaps xmm7, xmm0
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1401dc9a4
movaps xmm7, xmm8
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movsd xmm6, qword [0x140453a08]
movaps xmm1, xmm0
mulsd xmm1, xmm7
comisd xmm6, xmm1
jbe 0x1401dc9c7
movaps xmm0, xmm6
jmp 0x1401dc9cf
movaps xmm0, xmm8
minsd xmm0, xmm1
movsd qword [rbx + 0x180], xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movaps xmm1, xmm0
mulsd xmm1, xmm7
comisd xmm6, xmm1
ja 0x1401dc9f5
movaps xmm6, xmm8
minsd xmm6, xmm1
movsd qword [rbx + 0x188], xmm6
jmp 0x1401dcac1
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1401dcac6
movsd xmm6, qword [rbx + 0x88]
xorps xmm7, xmm7
ucomisd xmm6, xmm7
jp 0x1401dca3d
jne 0x1401dca3d
movsd xmm0, qword [rbx + 0x90]
ucomisd xmm0, xmm7
jp 0x1401dca3d
je 0x1401dcac6
movsd xmm9, qword [rbx + 0x90]
movaps xmm1, xmm6
mulsd xmm1, xmm6
movaps xmm0, xmm9
mulsd xmm0, xmm9
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
test byte [rbx], 0x80
divsd xmm9, xmm0
divsd xmm6, xmm0
movaps xmm1, xmm9
mulsd xmm1, qword [rbx + 0x188]
movaps xmm0, xmm6
mulsd xmm0, qword [rbx + 0x180]
addsd xmm1, xmm0
movsd xmm0, qword [0x140453a08]
je 0x1401dcd17
comisd xmm0, xmm1
ja 0x1401dcaa2
movaps xmm0, xmm8
minsd xmm0, xmm1
movaps xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm1, xmm9
mulsd xmm0, xmm6
movsd qword [rbx + 0x188], xmm1
movsd qword [rbx + 0x180], xmm0
mov edi, 1
test byte [rbx], 0x80
movaps xmm9, xmmword [rsp + 0x20]
je 0x1401dccfa
movsd xmm6, qword [rbx + 0x188]
movsd xmm7, qword [rbx + 0x180]
movaps xmm1, xmm6
mulsd xmm1, xmm6
movaps xmm0, xmm7
mulsd xmm0, xmm7
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
comisd xmm0, xmm8
jbe 0x1401dccfa
divsd xmm6, xmm0
divsd xmm7, xmm0
movsd qword [rbx + 0x188], xmm6
movsd qword [rbx + 0x180], xmm7
movsd xmm2, qword [rbx + 0x300]
movsd xmm1, qword [rbx + 0x308]
movaps xmm0, xmm2
subsd xmm0, xmm7
subsd xmm1, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rbx + 0x310]
comisd xmm0, xmm1
jb 0x1401dcb6f
movsd qword [rbx + 0x180], xmm2
movaps xmm7, xmm2
movsd xmm6, qword [rbx + 0x308]
movsd qword [rbx + 0x188], xmm6
movsd xmm2, qword [rbx + 0x318]
movsd xmm1, qword [rbx + 0x320]
movaps xmm0, xmm2
subsd xmm0, xmm7
subsd xmm1, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rbx + 0x328]
comisd xmm0, xmm1
jb 0x1401dcbbf
movsd qword [rbx + 0x180], xmm2
movaps xmm7, xmm2
movsd xmm6, qword [rbx + 0x320]
movsd qword [rbx + 0x188], xmm6
movsd xmm2, qword [rbx + 0x330]
movsd xmm1, qword [rbx + 0x338]
movaps xmm0, xmm2
subsd xmm0, xmm7
subsd xmm1, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rbx + 0x340]
comisd xmm0, xmm1
jb 0x1401dcc0f
movsd qword [rbx + 0x180], xmm2
movaps xmm7, xmm2
movsd xmm6, qword [rbx + 0x338]
movsd qword [rbx + 0x188], xmm6
movsd xmm2, qword [rbx + 0x360]
movsd xmm1, qword [rbx + 0x368]
movaps xmm0, xmm2
subsd xmm0, xmm7
subsd xmm1, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rbx + 0x370]
comisd xmm0, xmm1
jb 0x1401dcc5f
movsd qword [rbx + 0x180], xmm2
movaps xmm7, xmm2
movsd xmm6, qword [rbx + 0x368]
movsd qword [rbx + 0x188], xmm6
movsd xmm2, qword [rbx + 0x378]
movsd xmm1, qword [rbx + 0x380]
movaps xmm0, xmm2
subsd xmm0, xmm7
subsd xmm1, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rbx + 0x388]
comisd xmm0, xmm1
jb 0x1401dccaf
movsd qword [rbx + 0x180], xmm2
movaps xmm7, xmm2
movsd xmm6, qword [rbx + 0x380]
movsd qword [rbx + 0x188], xmm6
movsd xmm2, qword [rbx + 0x390]
movsd xmm1, qword [rbx + 0x398]
movaps xmm0, xmm2
subsd xmm0, xmm7
subsd xmm1, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rbx + 0x3a0]
comisd xmm0, xmm1
jb 0x1401dccfa
movsd qword [rbx + 0x180], xmm2
mov rax, qword [rbx + 0x398]
mov qword [rbx + 0x188], rax
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov eax, edi
add rsp, 0x60
pop rdi
ret
ucomisd xmm6, xmm7
jp 0x1401dcd1f
je 0x1401dcd55
movaps xmm2, xmm0
movaps xmm3, xmm8
divsd xmm2, xmm6
divsd xmm3, xmm6
comisd xmm3, xmm2
jbe 0x1401dcd43
comisd xmm2, xmm1
ja 0x1401dcd52
minsd xmm3, xmm1
movaps xmm1, xmm3
jmp 0x1401dcd55
comisd xmm3, xmm1
jbe 0x1401dcd4e
movaps xmm1, xmm3
jmp 0x1401dcd55
minsd xmm2, xmm1
movaps xmm1, xmm2
ucomisd xmm9, xmm7
jp 0x1401dcd62
je 0x1401dcaa5
movaps xmm2, xmm8
divsd xmm2, xmm6
divsd xmm0, xmm9
comisd xmm2, xmm0
jbe 0x1401dcd8b
comisd xmm0, xmm1
ja 0x1401dcaa2
minsd xmm2, xmm1
movaps xmm1, xmm2
jmp 0x1401dcaa5
comisd xmm2, xmm1
jbe 0x1401dca9e
movaps xmm1, xmm2
jmp 0x1401dcaa5