Function at 0x1400282e1
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push r15
push r14
xor rax, rax
push rax
push rax
push rax
push rax
sub rsp, 0x28
call fcn.1400e4810
mov qword [rsp + 0x28], 0xc8
mov qword [rsp + 0x30], 0x96
push 0
pop rcx
call fcn.1400cbdac
mov r15, rax
push 0
pop rcx
call fcn.1400cc198
mov r14, rax
mov rax, r14
mov rcx, 2
cqo
idiv rcx
mov r14, rax
add r15, r14
mov r14, qword [rsp + 0x28]
mov rax, r14
mov rcx, 2
cqo
idiv rcx
mov r14, rax
sub r15, r14
mov qword [rsp + 0x38], r15
push 0
pop rcx
call fcn.1400cbe4c
mov r15, rax
push 0
pop rcx
call fcn.1400cc1f0
mov r14, rax
mov rax, r14
mov rcx, 2
cqo
idiv rcx
mov r14, rax
add r15, r14
mov r14, qword [rsp + 0x30]
mov rax, r14
mov rcx, 2
cqo
idiv rcx
mov r14, rax
sub r15, r14
mov qword [rsp + 0x40], r15
sub rsp, 8
movabs rax, 0x80000004
push rax
push qword [0x141a442c8]
push qword [rsp + 0x48]
push qword [rsp + 0x48]
push qword [rsp + 0x68]
push qword [rsp + 0x68]
push 0x5d
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400cb784
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x64
pop rcx
sub rsp, 0x20
call fcn.1400db354
add rsp, 0x20
mov rax, rax
push rax
push 0x1a
push 0xaa
push 0xf
push 0xf
push 0x60
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400c3d70
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x62
pop rcx
sub rsp, 0x20
call fcn.1400db354
add rsp, 0x20
mov rax, rax
push rax
push 0x1a
push 0xaa
push 0x2d
push 0xf
push 0x5e
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400c3d70
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x63
pop rcx
sub rsp, 0x20
call fcn.1400db354
add rsp, 0x20
mov rax, rax
push rax
push 0x1a
push 0xaa
push 0x4b
push 0xf
push 0x5f
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400c3d70
add rsp, 0x40
push qword [0x141a44528]
push 0x14
push 0xaa
push 0x78
push 0xf
push 0x61
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400c0794
add rsp, 0x30
call fcn.14005c76c
call fcn.1400cb74c
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x1400285d7
call fcn.1400d00bc
mov rax, rax
push rax
mov r15, 0x5d
cmp r15, qword [rsp]
jne 0x1400285d4
push qword [rsp + 0x68]
mov r15, 0x332c
cmp r15, qword [rsp]
jne 0x1400285d0
sub rsp, 0x20
call fcn.1400d00a0
add rsp, 0x20
mov rax, rax
push rax
mov r15, 0x60
cmp r15, qword [rsp]
jne 0x14002858f
sub rsp, 8
movabs rax, 0x14019fb4e
push rax
pop rcx
sub rsp, 0x20
call fcn.140098974
add rsp, 0x28
add rsp, 0x18
jmp 0x140028639
mov r15, 0x5e
cmp r15, qword [rsp]
jne 0x1400285a7
add rsp, 0x18
jmp 0x140028639
mov r15, 0x5f
cmp r15, qword [rsp]
jne 0x1400285bc
add rsp, 0x18
jmp 0x140028639
mov r15, 0x61
cmp r15, qword [rsp]
jne 0x1400285cf
add rsp, 0x18
jmp 0x140028639
pop rax
add rsp, 8
pop rax
jmp 0x1400285e2
push 0x5d
pop rcx
call fcn.1400cb724
push 0x1b
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002860b
call fcn.1400cc280
mov r15, rax
cmp r15, 0x5d
jne 0x14002860b
call fcn.14005c76c
jmp 0x140028639
push 0xd
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x140028634
call fcn.1400cc280
mov r15, rax
cmp r15, 0x5d
jne 0x140028634
call fcn.14005c76c
jmp 0x140028639
jmp 0x140028504
push 0x5d
pop rcx
call fcn.1400cb424
xor rax, rax
add rsp, 0x48
pop r14
pop r15
ret