Function at 0x180163b9e
Capabilities:
Log keystrokes via polling

Disassembly:
jl 0x180149b00
push rdx
push r12
movabs r12, 0x4f3d453b811b57a5
call fcn.1800a7581
mov rbp, qword [rsp + 0x28]
mov rbp, qword [rbp + r14 - 0x526f0000]
sub r14d, 0x7ca4e630
jae 0x1800aa3b8
test r13, 0x2b18ec8c
setns r13b
add qword [rsp + 0x20], 0x7fda8966
or r13b, r13b
xor r14, 0xffffffffad13d734
lea rbp, [rbp + r13 - 0x3ae8a55b]
mov qword [rsp + 0x28], r13
push r15
jne 0x180276179
shr si, 0x55
not si
movabs rbp, 0x65305da526b8d588
mov rbp, qword [rsp + 0x10]
mov rbp, qword [rbp + riz]
je 0x18021297e
add qword [rsp + 0x28], 0xffffffffdd15c1a9
mov r11, qword [rsp + r10 - 0x600202]
jns 0x1800b5aaf
ja 0x18009e730
shl di, 0x90
js 0x1801a37ae
xchg qword [rsp + r11 + 0x2bdc2f3c], rax
xor eax, eax
jmp 0x1800b5fa3
or eax, 0xffffffff
jmp 0x1800b5fa3
test sil, sil
jne 0x1800b5b5f
mov rdx, qword [rsp + 0x50]
mov cl, byte [rbx]
xor r14d, r14d
cmp cl, 0xa
lea rbp, [0x1800cb800]
mov rdx, qword [rbp + rdx*8]
sete r14b
cmp dword [r15 + rdx + 0x50], 0
je 0x1800b5a21
mov al, byte [r15 + rdx + 0x4c]
mov byte [rsp + 0x5d], cl
mov r8d, 2
mov byte [rsp + 0x5c], al
and dword [r15 + rdx + 0x50], 0
lea rdx, [rsp + 0x5c]
jmp 0x1800b5a6a
movsx ecx, cl
call fcn.1800b1a80
test eax, eax
je 0x1800b5a61
mov rax, r13
sub rax, rbx
add rax, r12
cmp rax, 1
jle 0x1800b5c0f
lea rcx, [rsp + 0x44]
mov r8d, 2
mov rdx, rbx
call fcn.1800b67d0
cmp eax, 0xffffffff
je 0x1800b5bd2
inc rbx
jmp 0x1800b5a7d
mov r8d, 1
mov rdx, rbx
lea rcx, [rsp + 0x44]
call fcn.1800b67d0
cmp eax, 0xffffffff
je 0x1800b5bd2
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
mov ecx, dword [rsp + 0x58]
lea rax, [rsp + 0x5c]
lea r8, [rsp + 0x44]
mov r9d, 1
xor edx, edx
mov dword [rsp + 0x28], 5
inc rbx
mov qword [rsp + 0x20], rax
push rdi
call fcn.1801c8409
mov ebp, eax
test eax, eax
je 0x1800b5bd2
mov rax, qword [rsp + 0x50]
and qword [rsp + 0x20], 0
lea rcx, [0x1800cb800]
mov rcx, qword [rcx + rax*8]
lea r9, [rsp + 0x4c]
lea rdx, [rsp + 0x5c]
mov rcx, qword [r15 + rcx]
mov r8d, ebp
push rdx
call fcn.180127cea
test eax, eax
je 0x1800b5c36
mov edi, ebx
sub edi, r12d
add edi, dword [rsp + 0x40]
cmp dword [rsp + 0x4c], ebp
jl 0x1800b5bd2
mov ebp, 0xd
test r14d, r14d
je 0x1800b5bc4
mov rax, qword [rsp + 0x50]
and qword [rsp + 0x20], 0
mov byte [rsp + 0x5c], bpl
lea rcx, [0x1800cb800]
lea r9, [rsp + 0x4c]
lea r8d, [rbp - 0xc]
mov rcx, qword [rcx + rax*8]
lea rdx, [rsp + 0x5c]
mov rcx, qword [r15 + rcx]
call fcn.180262d09
test al, 0x85
ror byte [rdi], 0x84
out 0, al
add byte [rax], al
cmp dword [rsp + 0x4c], 1
jl 0x1800b5bd2
inc dword [rsp + 0x40]
inc edi
jmp 0x1800b5bc4
cmp sil, 1
je 0x1800b5b6b
cmp sil, 2
jne 0x1800b5b82
movzx eax, word [rbx]
xor r14d, r14d
cmp ax, 0xa
mov word [rsp + 0x44], ax
sete r14b
add rbx, 2
cmp sil, 1
je 0x1800b5b8e
cmp sil, 2
jne 0x1800b5bc4
movzx ecx, word [rsp + 0x44]
call fcn.1800b72d0
cmp ax, word [rsp + 0x44]
jne 0x1800b5c36
add edi, 2
test r14d, r14d
je 0x1800b5bc4
mov ecx, ebp
mov word [rsp + 0x44], bp
call fcn.1800b72d0
cmp ax, word [rsp + 0x44]
jne 0x1800b5c36
inc edi
inc dword [rsp + 0x40]
mov eax, ebx
sub eax, r12d
cmp eax, r13d
jb 0x1800b59d3
mov ebx, dword [rsp + 0x4c]
mov r14, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x40]
test edi, edi
jne 0x1800b5f9f
test ebx, ebx
je 0x1800b5f69
cmp ebx, 5
jne 0x1800b5f5d
call fcn.1800b0c04
mov dword [rax], 9
call fcn.1800b0c24
mov dword [rax], ebx
jmp 0x1800b58e7
mov al, byte [rbx]
mov r14, qword [rsp + 0x50]
inc edi
mov rcx, qword [rbp + r14*8]
mov byte [r15 + rcx + 0x4c], al
mov rax, qword [rbp + r14*8]
mov dword [r15 + rax + 0x50], 1
mov ebx, dword [rsp + 0x4c]
jmp 0x1800b5bdb
push rsi
call fcn.18019d75c
mov ebx, eax
jmp 0x1800b5bd6
mov ecx, ebx
call fcn.1800b0c44
jmp 0x1800b58e7
lea rax, [0x1800cb800]
mov rax, qword [rax + r14*8]
test byte [r15 + rax + 8], 0x40
je 0x1800b5f87
cmp byte [r12], 0x1a
je 0x1800b58b5
call fcn.1800b0c04
mov dword [rax], 0x1c
call fcn.1800b0c24
and dword [rax], 0
jmp 0x1800b58e7
sub edi, ebp
mov eax, edi
mov rcx, qword [rsp + 0x1b20]
xor rcx, rsp
call fcn.1800b41c0
mov rbx, qword [rsp + 0x1b88]
add rsp, 0x1b30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push qword [rsp + 0x60]
popfq
lea rsp, [rsp + 0x98]
ret
xchg ebx, eax
cmc
jg 0x180163bc7
neg esi
mov r13, r14
lea rbp, [rbp + rbp + 0x392d202c]
jbe 0x1800a0c68
call fcn.18022cd7d
pushfq
movabs rdi, 0xb30b7b88b0b4483b
xchg qword [rsp + 0x20], rax
push r13
mov r13, rdi
xor r13d, r13d
not edi
push rbp
mov qword [rsp + 0x28], rax
cmp r13d, 0xecb83403
movabs rbp, 0xf107bba4e4381ea3
push r13
movabs dword [0x41f107bba4e4381e], eax
push rbp
call fcn.1801ceabd
jno 0x180163b82
or byte [rdx - 0xb], dl
or al, 0x42
push rsp
invalid
mov qword [rsp + 0x20], rcx
movabs r15, 0xd43f4e01dc8685b9
mov rdx, r15
movabs rdx, 0x7c2987b237811015
lea r15, [r15 + rdx*8 + 0x533e6435]
push rdi
add qword [rsp + 8], 0xfffffffffff538dd
bswap rdx
cmp r15w, 0x1410
jge 0x180151181
scasd eax, dword [rdi]
or dword [rax], eax
or si, si
mov byte [rsp + 0x20], 0x2c
xchg qword [rsp + 0x28], rbp
mov r13, qword [rsp]
jae 0x180246624
int1
jle 0x1801dbeca
invalid
cli
add eax, 0x7702cdb5
loop 0x1801dbe6d
out dx, eax
scasb al, byte [rdi]
vandps ymm7, ymm5, ymm4
xor esi, dword [rbp - 8]
jmp 0x15988b11c
call fcn.180174ce2
movsx si, sil
test esi, esi
mov qword [rsp + 0x10], rsi
push r12
lea rbp, [rbp + 0x57954e3d]
push r13
mov r13, rsi
mov r13d, dword [rsp + 0x20]
mov r13b, sil
jle 0x1801dbe70
call fcn.180259e6d
xor r14b, byte [r10 - 6]
push rdi
xor byte [rax - 0x58], dh
add eax, 0xaf02bafa
pop rax
sbb byte [rax - 0x3b], ch
adc dl, byte [rdx - 0x4e]
invalid
push r8
cmovno r13, qword [rsp + 0x38]
movabs r8, 0xdb9a3124b083af0b
not r14b
xchg qword [rsp + 0x40], rbp
mov r14, qword [rsp + 0x28]
jl 0x18020de85
or byte [rsp + 0x20], 0x2d
call fcn.1800a02c6
adc dword [rax - 0x67], ecx
std
adc eax, 0xe627f7f0
sar byte [rbx], cl
invalid