Function at 0x140002050
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rdi, rcx
movaps xmmword [rsp + 0x50], xmm7
xor ecx, ecx
movaps xmmword [rsp + 0x40], xmm8
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov r12d, 1
sub eax, edx
mov ecx, r12d
sar eax, 1
mov r14d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [rdi + 0x20]
cdq
sub eax, edx
sar eax, 1
mov r15d, eax
test ecx, ecx
jne 0x1400020b1
xor ebx, ebx
jmp 0x1400020bf
mov ebx, dword [rsp + 0xa0]
cmp ecx, r12d
cmove ebx, r12d
mov rcx, rdi
call fcn.1400013e0
mov rcx, qword gs:[0x58]
mov rbp, rax
mov r13d, 4
mov rsi, qword [rcx]
mov ecx, dword [rsi + r13]
cmp dword [0x14019b730], ecx
jle 0x140002138
lea rcx, [0x14019b730]
call fcn.14005abf8
cmp dword [0x14019b730], 0xffffffff
jne 0x140002138
mov ecx, r12d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [0x14019b730]
movss dword [0x14019b73c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14019b738], xmm0
call fcn.14005ab8c
mov r9d, ebx
lea rdx, [rsp + 0x20]
mov r8, rbp
call fcn.140056cf0
mov eax, dword [rsi + r13]
cmp dword [0x14019b730], eax
jle 0x1400021a4
lea rcx, [0x14019b730]
call fcn.14005abf8
cmp dword [0x14019b730], 0xffffffff
jne 0x1400021a4
mov ecx, r12d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [0x14019b730]
movss dword [0x14019b73c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14019b738], xmm0
call fcn.14005ab8c
movsd xmm8, qword [rsp + 0x20]
lea r8, [rsp + 0x30]
mov ebx, dword [rsp + 0x28]
lea rdx, [rsp + 0xa0]
movsd qword [rsp + 0x30], xmm8
mov dword [rsp + 0x38], ebx
call fcn.140056e30
movss xmm0, dword [rsp + 0xa4]
movd xmm1, r15d
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movsd xmm1, qword [0x14009e450]
call fcn.1400860c0
movsd xmm1, qword [0x14009e450]
movaps xmm7, xmm0
movss xmm0, dword [rsp + 0xa0]
movd xmm2, r14d
cvtps2pd xmm0, xmm0
cvtdq2pd xmm2, xmm2
subsd xmm0, xmm2
call fcn.1400860c0
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x140002237
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x14000223f
call fcn.140088d28
movaps xmm6, xmm0
mov eax, dword [rsi + r13]
cmp dword [0x14019b488], eax
jle 0x140002276
lea rcx, [0x14019b488]
call fcn.14005abf8
cmp dword [0x14019b488], 0xffffffff
jne 0x140002276
lea rcx, [0x14019b488]
mov dword [0x14019b480], 0
call fcn.14005ab8c
mov ecx, dword [0x14019b484]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400022ab
movd xmm0, dword [rdi]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x1400022ab
lea rdx, [rsp + 0x30]
movsd qword [rsp + 0x30], xmm8
mov rcx, rdi
mov dword [rsp + 0x38], ebx
call fcn.140001d40
movaps xmm6, xmmword [rsp + 0x60]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm7, xmmword [rsp + 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret