Function at 0x1401390f0
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 0x140139321
je 0x140139345
cmp eax, 0xa1
jb 0x140139393
cmp eax, 0xa2
jbe 0x140139345
cmp eax, 0xa3
jbe 0x140139393
cmp eax, 0xa5
jbe 0x140139345
cmp eax, 0xa6
jbe 0x140139393
cmp eax, 0xa8
jbe 0x140139345
cmp eax, 0x100
jne 0x140139393
cmp dword [rdi + 0x154], 0xffffffff
je 0x140139345
lea ecx, [rsi + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x140139345
mov rax, qword [rbx + 0x10]
sub rax, 0x21
je 0x140139280
cmp rax, 1
jne 0x140139345
mov ecx, dword [rdi + 0x154]
lea r14d, [rcx + 1]
add ecx, dword [rdi + 0x150]
cmp r14d, ecx
jge 0x140139276
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.1401cb730
mov edx, r15d
mov rcx, rdi
call rbx
test eax, eax
jne 0x140139210
mov eax, dword [rdi + 0x150]
inc r14d
add eax, dword [rdi + 0x154]
cmp r14d, eax
jl 0x1401391cf
jmp 0x140139276
mov rax, qword [rdi]
mov dword [rdi + 0x3b8], 1
mov rbx, qword [rax + 0x428]
mov rcx, rbx
call fcn.1401cb730
mov edx, r15d
mov rcx, rdi
call rbx
mov rax, qword [rdi]
mov rbx, qword [rax + 0x420]
mov rcx, rbx
call fcn.1401cb730
mov rcx, rdi
call rbx
mov rcx, rax
call fcn.140037498
mov rcx, qword [rdi]
mov rbx, qword [rcx + 0x4e0]
mov rcx, rbx
call fcn.1401cb730
mov edx, dword [rdi + 0x154]
mov rcx, rdi
call rbx
mov dword [rdi + 0x3b8], esi
mov eax, 1
jmp 0x1401393bd
mov ecx, dword [rdi + 0x154]
lea r14d, [rcx - 1]
add r14d, dword [rdi + 0x150]
cmp r14d, ecx
jle 0x140139276
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.1401cb730
mov edx, r15d
mov rcx, rdi
call rbx
test eax, eax
jne 0x1401392cf
dec r14d
cmp r14d, dword [rdi + 0x154]
jg 0x140139296
jmp 0x140139276
mov rax, qword [rdi]
mov dword [rdi + 0x3b8], 1
mov rbx, qword [rax + 0x428]
mov rcx, rbx
call fcn.1401cb730
mov edx, r15d
mov rcx, rdi
call rbx
mov rax, qword [rdi]
mov rbx, qword [rax + 0x420]
mov rcx, rbx
call fcn.1401cb730
mov rcx, rdi
call rbx
mov rcx, rax
call fcn.140037498
mov rax, qword [rdi]
mov rbx, qword [rax + 0x4e0]
jmp 0x14013925d
cmp eax, 0x200
jb 0x140139393
cmp eax, 0x202
jbe 0x140139345
cmp eax, r15d
jbe 0x140139393
cmp eax, 0x205
jbe 0x140139345
add eax, 0xfffffdf9
cmp eax, 1
ja 0x140139393
mov rax, qword [rdi + 0x1c0]
mov r14d, 0x407
test rax, rax
je 0x14013936f
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x14013936f
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 0x140139393
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x140139393
mov r9, rbx
xor r8d, r8d
mov edx, r14d
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rbx + 8], r15d
jne 0x1401393b2
lea rax, [rdi + 0x3208]
test rax, rax
je 0x1401393a9
mov rsi, qword [rax + 0x40]
cmp qword [rbx], rsi
je 0x140139276
mov rdx, rbx
mov rcx, rdi
call fcn.1400a8578
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