Function at 0x14002adc1
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.1400f3810
mov qword [rsp + 0x28], 0xc8
mov qword [rsp + 0x30], 0x96
push 0
pop rcx
call fcn.1400dadac
mov r15, rax
push 0
pop rcx
call fcn.1400db198
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.1400dae4c
mov r15, rax
push 0
pop rcx
call fcn.1400db1f0
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 [0x141247718]
push qword [rsp + 0x48]
push qword [rsp + 0x48]
push qword [rsp + 0x68]
push qword [rsp + 0x68]
push 0x60
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400da784
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x67
pop rcx
sub rsp, 0x20
call fcn.1400ea354
add rsp, 0x20
mov rax, rax
push rax
push 0x1a
push 0xaa
push 0xf
push 0xf
push 0x63
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400d2d70
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x65
pop rcx
sub rsp, 0x20
call fcn.1400ea354
add rsp, 0x20
mov rax, rax
push rax
push 0x1a
push 0xaa
push 0x2d
push 0xf
push 0x61
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400d2d70
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x66
pop rcx
sub rsp, 0x20
call fcn.1400ea354
add rsp, 0x20
mov rax, rax
push rax
push 0x1a
push 0xaa
push 0x4b
push 0xf
push 0x62
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400d2d70
add rsp, 0x40
push qword [0x141247990]
push 0x14
push 0xaa
push 0x78
push 0xf
push 0x64
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400cf794
add rsp, 0x30
call fcn.14006b2d8
call fcn.1400da74c
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x14002b0b7
call fcn.1400df0bc
mov rax, rax
push rax
mov r15, 0x60
cmp r15, qword [rsp]
jne 0x14002b0b4
push qword [rsp + 0x68]
mov r15, 0x332c
cmp r15, qword [rsp]
jne 0x14002b0b0
sub rsp, 0x20
call fcn.1400df0a0
add rsp, 0x20
mov rax, rax
push rax
mov r15, 0x63
cmp r15, qword [rsp]
jne 0x14002b06f
sub rsp, 8
movabs rax, 0x1401afc86
push rax
pop rcx
sub rsp, 0x20
call fcn.1400a7974
add rsp, 0x28
add rsp, 0x18
jmp 0x14002b119
mov r15, 0x61
cmp r15, qword [rsp]
jne 0x14002b087
add rsp, 0x18
jmp 0x14002b119
mov r15, 0x62
cmp r15, qword [rsp]
jne 0x14002b09c
add rsp, 0x18
jmp 0x14002b119
mov r15, 0x64
cmp r15, qword [rsp]
jne 0x14002b0af
add rsp, 0x18
jmp 0x14002b119
pop rax
add rsp, 8
pop rax
jmp 0x14002b0c2
push 0x60
pop rcx
call fcn.1400da724
push 0x1b
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002b0eb
call fcn.1400db280
mov r15, rax
cmp r15, 0x60
jne 0x14002b0eb
call fcn.14006b2d8
jmp 0x14002b119
push 0xd
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002b114
call fcn.1400db280
mov r15, rax
cmp r15, 0x60
jne 0x14002b114
call fcn.14006b2d8
jmp 0x14002b119
jmp 0x14002afe4
push 0x60
pop rcx
call fcn.1400da424
xor rax, rax
add rsp, 0x48
pop r14
pop r15
ret