Function at 0x14002bf96
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.1400f55c0
mov qword [rsp + 0x28], 0xc8
mov qword [rsp + 0x30], 0x96
push 0
pop rcx
call fcn.1400dcd30
mov r15, rax
push 0
pop rcx
call fcn.1400dd11c
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.1400dcdd0
mov r15, rax
push 0
pop rcx
call fcn.1400dd174
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 [0x1410fbdc0]
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.1400dc708
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x67
pop rcx
sub rsp, 0x20
call fcn.1400ec154
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.1400d4c38
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x65
pop rcx
sub rsp, 0x20
call fcn.1400ec154
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.1400d4c38
add rsp, 0x40
sub rsp, 8
push 0xb
push 0x66
pop rcx
sub rsp, 0x20
call fcn.1400ec154
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.1400d4c38
add rsp, 0x40
push qword [0x1410fc048]
push 0x14
push 0xaa
push 0x78
push 0xf
push 0x64
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400d165c
add rsp, 0x30
call fcn.14006dccc
call fcn.1400dc6d0
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x14002c2c6
call fcn.1400e100c
mov rax, rax
push rax
mov r15, 0x60
cmp r15, qword [rsp]
jne 0x14002c2c3
push qword [rsp + 0x68]
mov r15, 0x332c
cmp r15, qword [rsp]
jne 0x14002c2bf
sub rsp, 0x20
call fcn.1400e0ff0
add rsp, 0x20
mov rax, rax
push rax
mov r15, 0x63
cmp r15, qword [rsp]
jne 0x14002c244
sub rsp, 8
movabs rax, 0x1401b379a
push rax
pop rcx
sub rsp, 0x20
call fcn.1400a98c4
add rsp, 0x28
add rsp, 0x18
jmp 0x14002c328
mov r15, 0x61
cmp r15, qword [rsp]
jne 0x14002c279
sub rsp, 8
movabs rax, 0x1401b379a
push rax
pop rcx
sub rsp, 0x20
call fcn.1400a98c4
add rsp, 0x28
add rsp, 0x18
jmp 0x14002c328
mov r15, 0x62
cmp r15, qword [rsp]
jne 0x14002c2ab
sub rsp, 8
movabs rax, 0x1401b379a
push rax
pop rcx
sub rsp, 0x20
call fcn.1400a98c4
add rsp, 0x28
add rsp, 0x18
jmp 0x14002c328
mov r15, 0x64
cmp r15, qword [rsp]
jne 0x14002c2be
add rsp, 0x18
jmp 0x14002c328
pop rax
add rsp, 8
pop rax
jmp 0x14002c2d1
push 0x60
pop rcx
call fcn.1400dc6a8
push 0x1b
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002c2fa
call fcn.1400dd204
mov r15, rax
cmp r15, 0x60
jne 0x14002c2fa
call fcn.14006dccc
jmp 0x14002c328
push 0xd
pop rcx
call sub.USER32.dll_GetKeyState
mov r15, rax
cmp r15, 1
jle 0x14002c323
call fcn.1400dd204
mov r15, rax
cmp r15, 0x60
jne 0x14002c323
call fcn.14006dccc
jmp 0x14002c328
jmp 0x14002c1b9
push 0x60
pop rcx
call fcn.1400dc3a8
xor rax, rax
add rsp, 0x48
pop r14
pop r15
ret