Function at 0x14009db40
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
xor edi, edi
lea rsi, [0x140000000]
cmp qword [0x14038c970], rdi
je 0x14009db93
cmp qword [0x14038c990], rdi
je 0x14009db93
cmp byte [0x14038c410], dil
je 0x14009db93
cmp byte [0x14038c47c], dil
jne 0x14009dba0
mov qword [0x140369b2c], rdi
mov dword [0x140369b34], edi
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14009db62
mov ecx, dword [0x14038c478]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14009dbd9
mov qword [0x140369b2c], rdi
mov dword [0x140369b34], edi
call fcn.14009e120
xor edx, edx
mov qword [0x140369b18], rdi
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_SleepEx]
jmp 0x14009db62
call fcn.14009e300
test al, al
je 0x14009dc84
mov rbx, qword [0x140369b18]
test rbx, rbx
je 0x14009dc84
cmp byte [0x14038c421], dil
je 0x14009dcff
test rbx, rbx
je 0x14009dc84
mov edx, dword [0x14038bb88]
add rdx, rbx
call fcn.140028da0
cmp al, 0x24
je 0x14009dc84
test al, al
je 0x14009dc84
cmp al, 4
jne 0x14009dca8
add rbx, 0x2c
je 0x14009dc7b
mov eax, dword [0x14038b270]
mov dword [rbp - 1], eax
mov eax, dword [0x14038b268]
mov dword [rbp - 0x35], eax
mov eax, dword [0x14038b26c]
mov dword [rbp - 0x31], eax
lea rax, [rbp + 0x67]
mov qword [rbp - 0x21], rax
mov rax, qword [0x14038bb00]
mov dword [rbp - 0x39], edi
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], 1
test rax, rax
je 0x14009dc7b
lea rcx, [rbp - 0x39]
call rax
test rax, rax
je 0x14009dc7b
movzx eax, byte [rbp + 0x67]
jmp 0x14009dc80
xor al, al
mov byte [rbp + 0x67], al
test al, 1
je 0x14009dcff
mov qword [0x140369b2c], rdi
mov dword [0x140369b34], edi
call fcn.14009e120
xor edx, edx
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_SleepEx]
jmp 0x14009db62
cmp al, 8
jne 0x14009dcff
add rbx, 0x2c
je 0x14009dcfb
mov eax, dword [0x14038b270]
mov dword [rbp + 0x3f], eax
mov eax, dword [0x14038b268]
mov dword [rbp + 0xb], eax
mov eax, dword [0x14038b26c]
mov dword [rbp + 0xf], eax
lea rax, [rbp + 0x6f]
mov qword [rbp + 0x1f], rax
mov rax, qword [0x14038bb00]
mov dword [rbp + 7], edi
mov qword [rbp + 0x17], rbx
mov qword [rbp + 0x27], 1
test rax, rax
je 0x14009dcfb
lea rcx, [rbp + 7]
call rax
test rax, rax
jne 0x14009dcff
mov byte [rbp + 0x6f], dil
movsxd rax, dword [0x14038c42c]
mov r8d, edi
cmp eax, 6
ja case.0x14009dd18.0
mov ecx, dword [rsi + rax*4 + 0x9dde4]
add rcx, rsi
jmp rcx
mov r8d, 7
jmp case.0x14009dd18.0
mov r8d, 8
jmp case.0x14009dd18.0
mov r8d, 6
jmp case.0x14009dd18.0
mov r8d, 5
jmp case.0x14009dd18.0
mov r8d, 4
jmp case.0x14009dd18.0
mov r8d, 3
mov rcx, qword [0x140369b18]
lea rdx, [rbp - 0x59]
call fcn.140110c70
cmp qword [0x140369b18], rdi
movss xmm0, dword [rbp - 0x59]
movss xmm1, dword [rbp - 0x55]
movss xmm2, dword [rbp - 0x51]
movss dword [0x140369b20], xmm0
movss dword [0x140369b24], xmm1
movss dword [0x140369b28], xmm2
movss dword [0x140369b2c], xmm0
movss dword [0x140369b30], xmm1
movss dword [0x140369b34], xmm2
je 0x14009ddca
lea rcx, [rbp - 0x49]
movss dword [rbp - 0x49], xmm0
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x41], xmm2
call fcn.14009de30
xor edx, edx
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_SleepEx]
jmp 0x14009db62
call fcn.14009e120
xor edx, edx
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_SleepEx]
jmp 0x14009db62