Function at 0x1801f17af
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x180382b90
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x2f0
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x80
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x318]
mov rax, qword [0x1807d8f00]
xor rax, rbp
mov qword [rbp + 0x2b8], rax
lea rcx, [0x180829160]
call fcn.1801f166f
nop
mov dl, 1
mov ecx, 0x20e
call fcn.1801e950a
movzx eax, al
test eax, eax
je 0x180382c05
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x42
mov al, 1
jmp 0x180382f1e
call fcn.1801ef65d
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0x118]
jbe 0x180382c2d
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x3f
mov al, 1
jmp 0x180382f1e
call fcn.1801ef65d
movss xmm0, dword [rax + 0x118]
comiss xmm0, dword [0x1805fbe1c]
jbe 0x180382c5a
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x40
mov al, 1
jmp 0x180382f1e
mov edx, 0x37
lea rcx, str.___0123456789_A
call fcn.1801eb08f
mov ecx, dword [rax + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x180382c95
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x37
mov al, 1
jmp 0x180382f1e
mov edx, 0x34
lea rcx, str.___0123456789_A
call fcn.1801eb08f
mov ecx, dword [rax + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x180382cd0
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x34
mov al, 1
jmp 0x180382f1e
mov edx, 0x35
lea rcx, str.___0123456789_A
call fcn.1801eb08f
mov ecx, dword [rax + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x180382d08
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x35
mov al, 1
jmp 0x180382f1e
mov edx, 0x3c
lea rcx, str.___0123456789_A
call fcn.1801eb08f
mov ecx, dword [rax + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x180382d40
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x3c
mov al, 1
jmp 0x180382f1e
mov edx, 0x3d
lea rcx, str.___0123456789_A
call fcn.1801eb08f
mov ecx, dword [rax + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x180382d76
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x3d
mov al, 1
jmp 0x180382f1e
mov dword [rbp + 4], 0
jmp 0x180382d87
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 5
jge 0x180382db7
xor edx, edx
mov ecx, dword [rbp + 4]
call fcn.1801f0071
movzx eax, al
test eax, eax
je 0x180382db5
mov eax, dword [rbp + 4]
add eax, 0x39
mov rcx, qword [rbp + 0x2e0]
mov byte [rcx + 0x28], al
mov al, 1
jmp 0x180382f1e
jmp 0x180382d7f
mov dword [rbp + 0x24], 0
jmp 0x180382dc8
mov eax, dword [rbp + 0x24]
inc eax
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0x29a
jge 0x180382f1c
mov dl, 1
mov ecx, dword [rbp + 0x24]
call fcn.1801e950a
movzx eax, al
test eax, eax
jne 0x180382de8
jmp 0x180382dc0
mov edx, 0x20
lea rcx, [rbp + 0x48]
call fcn.1801efedc
mov dword [rsp + 0x20], 0x10
lea r9, [rbp + 0x24]
lea r8, str.___0123456789_A
lea rdx, [rbp + 0x48]
lea rcx, [0x180638345]
call fcn.1801e9735
nop
lea rdx, [rbp + 0x148]
lea rcx, str.___0123456789_A
call fcn.1801f14d0
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.1801ea87e
movzx eax, al
test eax, eax
jne 0x180382f17
lea rax, [rbp + 0x208]
lea rcx, [rbp + 0x48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x188]
lea rcx, str.___0123456789_A
call fcn.1801ecb6f
lea rcx, [rbp + 0x1c8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x290]
lea rcx, [rbp + 0x208]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x250]
lea rcx, [rbp + 0x1c8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x250]
call fcn.1801eadb5
mov rcx, qword [rbp + 0x2e0]
mov byte [rcx + 0x28], al
mov rax, qword [rbp + 0x2e0]
movzx eax, byte [rax + 0x28]
cmp eax, 0x35
jne 0x180382f13
mov edx, 0x53
lea rcx, str.___0123456789_A
call fcn.1801eb08f
mov dl, 1
mov ecx, dword [rax + 0x10]
call fcn.1801e950a
movzx eax, al
test eax, eax
je 0x180382f13
mov rax, qword [rbp + 0x2e0]
mov byte [rax + 0x28], 0x53
mov al, 1
jmp 0x180382f1e
jmp 0x180382dc0
xor al, al
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x180637a30]
call fcn.1801eff8b
mov rax, rdi
mov rcx, qword [rbp + 0x2b8]
xor rcx, rbp
call fcn.1801ed033
lea rsp, [rbp + 0x2c0]
pop rdi
pop rsi
pop rbp
ret