Function at 0x140002790
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rdi
push r14
push r15
sub rsp, 0x78
movaps xmmword [rax - 0x58], xmm8
mov rdi, rcx
mov qword [rax + 0x10], rbp
xor ecx, ecx
mov qword [rax + 0x18], rsi
mov qword [rax - 0x28], r12
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, 1
sub eax, edx
sar eax, 1
mov r14d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [rdi + 0x24]
cdq
sub eax, edx
sar eax, 1
mov r15d, eax
test ecx, ecx
jne 0x1400027df
xor ebx, ebx
jmp 0x140002804
cmp ecx, 1
jne 0x1400027e8
mov ebx, ecx
jmp 0x140002804
mov ebx, dword [rsp + 0xa0]
cmp ecx, 2
jne 0x1400027f9
lea ebx, [rcx + 6]
jmp 0x140002804
cmp ecx, 3
mov eax, 7
cmove ebx, eax
mov rcx, rdi
movaps xmmword [rsp + 0x60], xmm6
call fcn.140001430
mov rcx, qword gs:[0x58]
mov rbp, rax
mov r12d, 4
mov rsi, qword [rcx]
mov ecx, dword [r12 + rsi]
cmp dword [0x14011f8d8], ecx
jle 0x140002884
lea rcx, [0x14011f8d8]
call fcn.1400d2068
cmp dword [0x14011f8d8], 0xffffffff
jne 0x140002884
mov ecx, 1
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, [0x14011f8d8]
movss dword [0x14011f8e4], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14011f8e0], xmm0
call fcn.1400d1ffc
mov r9d, ebx
lea rdx, [rsp + 0x20]
mov r8, rbp
call fcn.140078410
mov eax, dword [r12 + rsi]
cmp dword [0x14011f8d8], eax
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
jle 0x140002907
lea rcx, [0x14011f8d8]
call fcn.1400d2068
cmp dword [0x14011f8d8], 0xffffffff
jne 0x140002907
mov ecx, 1
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, [0x14011f8d8]
movss dword [0x14011f8e4], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14011f8e0], xmm0
call fcn.1400d1ffc
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.140078550
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400029dd
movss xmm0, dword [rsp + 0xa4]
xorps xmm1, xmm1
cvtsi2sd xmm1, r15d
cvtps2pd xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm7
subsd xmm0, xmm1
movsd xmm1, qword [0x1400f0ee8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x1400f0ee8]
movaps xmm7, xmm0
movss xmm0, dword [rsp + 0xa0]
xorps xmm2, xmm2
cvtps2pd xmm0, xmm0
cvtsi2sd xmm2, r14d
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movaps xmm7, xmmword [rsp + 0x50]
ucomiss xmm1, xmm0
ja 0x1400029b4
sqrtss xmm0, xmm0
jmp 0x1400029b9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [rdi]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1400029dd
lea rdx, [rsp + 0x30]
movsd qword [rsp + 0x30], xmm8
mov rcx, rdi
mov dword [rsp + 0x38], ebx
call fcn.140001a10
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x40]
add rsp, 0x78
pop r15
pop r14
pop rdi
pop rbx
ret