Function at 0x180001e90
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x30
lea rbx, [rcx + 0x4d0]
cmp rbx, 0x400000
jbe 0x180002080
mov qword [rsp + 0x48], rsi
lea rax, [rcx + 0x4d8]
movabs rsi, 0x7fffffff0000
cmp rax, rsi
jae 0x18000207b
mov rbx, qword [rbx]
test rbx, rbx
je 0x18000207b
mov rax, qword gs:[0x58]
mov ecx, dword [0x18009359c]
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 [0x180093ff0], eax
jg 0x180002086
mov eax, dword [rdi + rbp]
xorps xmm6, xmm6
cmp dword [0x180094028], eax
jg 0x1800020d9
mov eax, dword [rdi + rbp]
cmp dword [0x180094058], eax
jg 0x180002130
mov eax, dword [rdi + rbp]
cmp dword [0x1800940a8], eax
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
jg 0x180002181
movzx eax, byte [0x180093d39]
movaps xmm6, xmmword [rsp + 0x20]
test al, al
je 0x180001f67
mov ecx, 0x56
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx eax, byte [0x180093d39]
lea rcx, [rbx + 0x13c]
test al, al
je 0x180001ff1
cmp rcx, 0x400000
jbe 0x180001f8a
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x180001f8a
mov byte [rcx], 1
lea rcx, [rbx + 0xb8]
xor edx, edx
cmp rcx, 0x400000
jbe 0x180001faa
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180001faa
mov dword [rcx], edx
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180001fc2
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180001fc2
mov dword [rcx], edx
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x18000207b
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x18000207b
mov rsi, qword [rsp + 0x48]
mov dword [rcx], 0x3f800000
add rsp, 0x30
pop rbx
ret
cmp rcx, 0x400000
jbe 0x18000200f
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x18000200f
movzx eax, byte [0x180094068]
mov byte [rcx], al
lea rcx, [rbx + 0xb8]
cmp rcx, 0x400000
jbe 0x180002037
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180002037
movss xmm0, dword [0x180094098]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180002059
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180002059
movss xmm0, dword [0x180094038]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x18000207b
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x18000207b
movss xmm0, dword [0x180094000]
movss dword [rcx], xmm0
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rbx
ret
lea rcx, [0x180093ff0]
call fcn.18005d0cc
cmp dword [0x180093ff0], 0xffffffff
jne 0x180001f0b
lea rcx, [rbx + 0x13c]
cmp rcx, 0x400000
jbe 0x1800020c0
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x1800020c0
movzx eax, byte [rcx]
jmp 0x1800020c2
xor al, al
lea rcx, [0x180093ff0]
mov byte [0x180094068], al
call fcn.18005d06c
jmp 0x180001f0b
lea rcx, [0x180094028]
call fcn.18005d0cc
cmp dword [0x180094028], 0xffffffff
jne 0x180001f1d
lea rcx, [rbx + 0xb8]
cmp rcx, 0x400000
jbe 0x180002114
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180002114
movss xmm0, dword [rcx]
jmp 0x180002117
xorps xmm0, xmm0
lea rcx, [0x180094028]
movss dword [0x180094098], xmm0
call fcn.18005d06c
jmp 0x180001f1d
lea rcx, [0x180094058]
call fcn.18005d0cc
cmp dword [0x180094058], 0xffffffff
jne 0x180001f2c
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180002165
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180002165
movss xmm0, dword [rcx]
jmp 0x180002168
xorps xmm0, xmm0
lea rcx, [0x180094058]
movss dword [0x180094038], xmm0
call fcn.18005d06c
jmp 0x180001f2c
lea rcx, [0x1800940a8]
call fcn.18005d0cc
cmp dword [0x1800940a8], 0xffffffff
jne 0x180001f45
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x1800021b4
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x1800021b4
movss xmm6, dword [rcx]
lea rcx, [0x1800940a8]
movss dword [0x180094000], xmm6
call fcn.18005d06c
jmp 0x180001f45