Function at 0x1400afcb0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x20
mov eax, dword [rdx + 8]
mov rdi, rcx
mov ecx, 0x104
xor esi, esi
mov rbx, rdx
mov r15d, 0x203
cmp eax, ecx
ja 0x1400afee1
je 0x1400aff05
cmp eax, 0xa1
jb 0x1400aff53
cmp eax, 0xa2
jbe 0x1400aff05
cmp eax, 0xa3
jbe 0x1400aff53
cmp eax, 0xa5
jbe 0x1400aff05
cmp eax, 0xa6
jbe 0x1400aff53
cmp eax, 0xa8
jbe 0x1400aff05
cmp eax, 0x100
jne 0x1400aff53
cmp dword [rdi + 0x154], 0xffffffff
je 0x1400aff05
lea ecx, [rsi + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400aff05
mov rax, qword [rbx + 0x10]
sub rax, 0x21
je 0x1400afe40
cmp rax, 1
jne 0x1400aff05
mov ecx, dword [rdi + 0x154]
lea r14d, [rcx + 1]
add ecx, dword [rdi + 0x150]
cmp r14d, ecx
jge 0x1400afe36
mov eax, r14d
cdq
idiv dword [rdi + 0x150]
mov rax, qword [rdi]
mov r15d, edx
mov rbx, qword [rax + 0x4f8]
mov rcx, rbx
call fcn.1401cc2e4
mov edx, r15d
mov rcx, rdi
call rbx
test eax, eax
jne 0x1400afdd0
mov eax, dword [rdi + 0x150]
inc r14d
add eax, dword [rdi + 0x154]
cmp r14d, eax
jl 0x1400afd8f
jmp 0x1400afe36
mov rax, qword [rdi]
mov dword [rdi + 0x3b8], 1
mov rbx, qword [rax + 0x428]
mov rcx, rbx
call fcn.1401cc2e4
mov edx, r15d
mov rcx, rdi
call rbx
mov rax, qword [rdi]
mov rbx, qword [rax + 0x420]
mov rcx, rbx
call fcn.1401cc2e4
mov rcx, rdi
call rbx
mov rcx, rax
call fcn.14003acdc
mov rcx, qword [rdi]
mov rbx, qword [rcx + 0x4e0]
mov rcx, rbx
call fcn.1401cc2e4
mov edx, dword [rdi + 0x154]
mov rcx, rdi
call rbx
mov dword [rdi + 0x3b8], esi
mov eax, 1
jmp 0x1400aff7d
mov ecx, dword [rdi + 0x154]
lea r14d, [rcx - 1]
add r14d, dword [rdi + 0x150]
cmp r14d, ecx
jle 0x1400afe36
mov eax, r14d
cdq
idiv dword [rdi + 0x150]
mov rax, qword [rdi]
mov r15d, edx
mov rbx, qword [rax + 0x4f8]
mov rcx, rbx
call fcn.1401cc2e4
mov edx, r15d
mov rcx, rdi
call rbx
test eax, eax
jne 0x1400afe8f
dec r14d
cmp r14d, dword [rdi + 0x154]
jg 0x1400afe56
jmp 0x1400afe36
mov rax, qword [rdi]
mov dword [rdi + 0x3b8], 1
mov rbx, qword [rax + 0x428]
mov rcx, rbx
call fcn.1401cc2e4
mov edx, r15d
mov rcx, rdi
call rbx
mov rax, qword [rdi]
mov rbx, qword [rax + 0x420]
mov rcx, rbx
call fcn.1401cc2e4
mov rcx, rdi
call rbx
mov rcx, rax
call fcn.14003acdc
mov rax, qword [rdi]
mov rbx, qword [rax + 0x4e0]
jmp 0x1400afe1d
cmp eax, 0x200
jb 0x1400aff53
cmp eax, 0x202
jbe 0x1400aff05
cmp eax, r15d
jbe 0x1400aff53
cmp eax, 0x205
jbe 0x1400aff05
add eax, 0xfffffdf9
cmp eax, 1
ja 0x1400aff53
mov rax, qword [rdi + 0x1c0]
mov r14d, 0x407
test rax, rax
je 0x1400aff2f
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x1400aff2f
mov r9, rbx
xor r8d, r8d
mov edx, r14d
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [rdi + 0x1b8]
test rax, rax
je 0x1400aff53
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x1400aff53
mov r9, rbx
xor r8d, r8d
mov edx, r14d
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rbx + 8], r15d
jne 0x1400aff72
lea rax, [rdi + 0x3208]
test rax, rax
je 0x1400aff69
mov rsi, qword [rax + 0x40]
cmp qword [rbx], rsi
je 0x1400afe36
mov rdx, rbx
mov rcx, rdi
call fcn.1400a4e4c
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret