Function at 0x1800b4be0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x100
mov rax, qword [0x1802953c0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
xor ebx, ebx
mov dword [0x1802bec58], 1
cmp byte [0x180333bf8], bl
mov dword [0x1802bec68], ebx
mov qword [0x1802bed30], rbx
je 0x1800b4e60
movabs rdi, 0x5f4b6931816e599b
mov qword [0x18033d960], rdi
call fcn.1800ce2a0
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x20], 1
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rdi
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x20], 2
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rdi
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movabs rax, 0x8db8cffd58b62552
mov qword [rsp + 0x20], rbx
mov qword [0x18033d960], rax
mov dword [rsp + 0x20], 5
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movabs rax, 0xaae7ce1d63167423
mov dword [0x1802bec58], ebx
mov qword [0x18033d960], rax
mov dword [0x1802bec68], ebx
call fcn.1800ce2a0
call fcn.1800b4f10
test al, al
je 0x1800b4ee0
cmp dword [0x180335d54], 0x29
mov eax, dword [0x180335e88]
movaps xmmword [rsp + 0xf0], xmm6
jl 0x1800b4d37
cmp eax, 0x29
jl 0x1800b4d37
add eax, 0xffffffd7
mov dword [rsp + 0x30], eax
jmp 0x1800b4d3f
mov dword [rsp + 0x30], 1
mov edx, 1
lea rcx, [rsp + 0x34]
nop dword [rax]
mov eax, dword [rcx - 4]
lea rcx, [rcx + 4]
inc eax
inc edx
mov dword [rcx - 4], eax
cmp edx, 0x29
jb 0x1800b4d50
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x1800b4d7f
cmp byte [0x180333bf8], bl
mov rax, qword [rsp + 0x20]
jne 0x1800b4d82
mov rax, rbx
shr rax, 0x20
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.1800b4f10
test al, al
je 0x1800b4e03
movss xmm1, dword [0x18026bf18]
movss xmm2, dword [0x18026c04c]
nop word [rax + rax]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
jbe 0x1800b4df1
lea eax, [rbx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
ja 0x1800b4dfe
inc ebx
cmp ebx, 0x29
jl 0x1800b4db0
mov eax, dword [rsp + 0x20]
jmp 0x1800b4e08
lea eax, [rbx + 1]
jmp 0x1800b4e08
mov eax, 0xffffffff
cdqe
mov ecx, 1
mov edx, dword [rsp + rax*4 + 0x2c]
mov dword [0x180335e88], edx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm6, xmmword [rsp + 0xf0]
test ax, ax
je 0x1800b4e54
mov byte [0x180334bb3], 1
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rcx, qword [0x180334bd0]
add eax, 0x64
mov dword [0x180334bb4], eax
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
jmp 0x1800b4ee0
mov byte [0x180334bb3], 0
jmp 0x1800b4ee0
movabs rdi, 0xa5ffe9b05f199de7
mov qword [0x18033d960], rdi
call fcn.1800ce2a0
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x20], 1
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rdi
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x20], 2
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rdi
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1801e6af0
mov rbx, qword [rsp + 0x110]
add rsp, 0x100
pop rdi
ret