Function at 0x180001f10
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x30
lea rbx, [rcx + 0x4d0]
cmp rbx, 0x400000
jbe 0x180002100
mov qword [rsp + 0x48], rsi
lea rax, [rcx + 0x4d8]
movabs rsi, 0x7fffffff0000
cmp rax, rsi
jae 0x1800020fb
mov rbx, qword [rbx]
test rbx, rbx
je 0x1800020fb
mov rax, qword gs:[0x58]
mov ecx, dword [0x1800891c4]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x50], rdi
mov ebp, 4
mov rdi, qword [rax + rcx*8]
movaps xmmword [rsp + 0x20], xmm6
mov eax, dword [rdi + rbp]
cmp dword [0x180089c50], eax
jg 0x180002106
mov eax, dword [rdi + rbp]
xorps xmm6, xmm6
cmp dword [0x180089cb4], eax
jg 0x180002159
mov eax, dword [rdi + rbp]
cmp dword [0x180089d04], eax
jg 0x1800021b0
mov eax, dword [rdi + rbp]
cmp dword [0x180089d5c], eax
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
jg 0x180002201
movzx eax, byte [0x180089782]
movaps xmm6, xmmword [rsp + 0x20]
test al, al
je 0x180001fe7
mov ecx, 0x58
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx eax, byte [0x180089782]
lea rcx, [rbx + 0x13c]
test al, al
je 0x180002071
cmp rcx, 0x400000
jbe 0x18000200a
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x18000200a
mov byte [rcx], 1
lea rcx, [rbx + 0xb8]
xor edx, edx
cmp rcx, 0x400000
jbe 0x18000202a
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x18000202a
mov dword [rcx], edx
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180002042
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180002042
mov dword [rcx], edx
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x1800020fb
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x1800020fb
mov rsi, qword [rsp + 0x48]
mov dword [rcx], 0x3f800000
add rsp, 0x30
pop rbx
ret
cmp rcx, 0x400000
jbe 0x18000208f
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x18000208f
movzx eax, byte [0x180089d30]
mov byte [rcx], al
lea rcx, [rbx + 0xb8]
cmp rcx, 0x400000
jbe 0x1800020b7
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x1800020b7
movss xmm0, dword [0x180089d58]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x1800020d9
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x1800020d9
movss xmm0, dword [0x180089ce0]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x1800020fb
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x1800020fb
movss xmm0, dword [0x180089c70]
movss dword [rcx], xmm0
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rbx
ret
lea rcx, [0x180089c50]
call fcn.18005b2d0
cmp dword [0x180089c50], 0xffffffff
jne 0x180001f8b
lea rcx, [rbx + 0x13c]
cmp rcx, 0x400000
jbe 0x180002140
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x180002140
movzx eax, byte [rcx]
jmp 0x180002142
xor al, al
lea rcx, [0x180089c50]
mov byte [0x180089d30], al
call fcn.18005b264
jmp 0x180001f8b
lea rcx, [0x180089cb4]
call fcn.18005b2d0
cmp dword [0x180089cb4], 0xffffffff
jne 0x180001f9d
lea rcx, [rbx + 0xb8]
cmp rcx, 0x400000
jbe 0x180002194
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180002194
movss xmm0, dword [rcx]
jmp 0x180002197
xorps xmm0, xmm0
lea rcx, [0x180089cb4]
movss dword [0x180089d58], xmm0
call fcn.18005b264
jmp 0x180001f9d
lea rcx, [0x180089d04]
call fcn.18005b2d0
cmp dword [0x180089d04], 0xffffffff
jne 0x180001fac
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x1800021e5
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x1800021e5
movss xmm0, dword [rcx]
jmp 0x1800021e8
xorps xmm0, xmm0
lea rcx, [0x180089d04]
movss dword [0x180089ce0], xmm0
call fcn.18005b264
jmp 0x180001fac
lea rcx, [0x180089d5c]
call fcn.18005b2d0
cmp dword [0x180089d5c], 0xffffffff
jne 0x180001fc5
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x180002234
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x180002234
movss xmm6, dword [rcx]
lea rcx, [0x180089d5c]
movss dword [0x180089c70], xmm6
call fcn.18005b264
jmp 0x180001fc5