Function at 0x180001ca0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x30
lea rbx, [rcx + 0x4e8]
cmp rbx, 0x400000
jbe 0x180001eac
mov qword [rsp + 0x48], rsi
lea rax, [rcx + 0x4f0]
movabs rsi, 0x7fffffff0000
cmp rax, rsi
jae 0x180001ea7
mov rbx, qword [rbx]
test rbx, rbx
je 0x180001ea7
mov rax, qword gs:[0x58]
mov ecx, dword [0x18008b134]
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 [0x18008bbb8], eax
jg 0x180001eb2
mov eax, dword [rdi + rbp]
xorps xmm6, xmm6
cmp dword [0x18008bc24], eax
jg 0x180001f05
mov eax, dword [rdi + rbp]
cmp dword [0x18008bc78], eax
jg 0x180001f5c
mov eax, dword [rdi + rbp]
cmp dword [0x18008bcc4], eax
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
jg 0x180001fb3
movzx eax, byte [0x18008b702]
movaps xmm6, xmmword [rsp + 0x20]
test al, al
je 0x180001d77
mov ecx, 0x58
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx eax, byte [0x18008b702]
lea rcx, [rbx + 0x14c]
test al, al
je 0x180001e11
cmp rcx, 0x400000
jbe 0x180001d9e
lea rax, [rbx + 0x14d]
cmp rax, rsi
jae 0x180001d9e
mov byte [rcx], 1
lea rcx, [rbx + 0xc8]
xor edx, edx
cmp rcx, 0x400000
jbe 0x180001dbe
lea rax, [rbx + 0xcc]
cmp rax, rsi
jae 0x180001dbe
mov dword [rcx], edx
lea rcx, [rbx + 0x84]
cmp rcx, 0x400000
jbe 0x180001ddc
lea rax, [rbx + 0x88]
cmp rax, rsi
jae 0x180001ddc
mov dword [rcx], edx
lea rcx, [rbx + 0x88]
cmp rcx, 0x400000
jbe 0x180001ea7
lea rax, [rbx + 0x8c]
cmp rax, rsi
jae 0x180001ea7
mov rsi, qword [rsp + 0x48]
mov dword [rcx], 0x3f800000
add rsp, 0x30
pop rbx
ret
cmp rcx, 0x400000
jbe 0x180001e2f
lea rax, [rbx + 0x14d]
cmp rax, rsi
jae 0x180001e2f
movzx eax, byte [0x18008bc98]
mov byte [rcx], al
lea rcx, [rbx + 0xc8]
cmp rcx, 0x400000
jbe 0x180001e57
lea rax, [rbx + 0xcc]
cmp rax, rsi
jae 0x180001e57
movss xmm0, dword [0x18008bcc0]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x84]
cmp rcx, 0x400000
jbe 0x180001e7f
lea rax, [rbx + 0x88]
cmp rax, rsi
jae 0x180001e7f
movss xmm0, dword [0x18008bc58]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x88]
cmp rcx, 0x400000
jbe 0x180001ea7
lea rax, [rbx + 0x8c]
cmp rax, rsi
jae 0x180001ea7
movss xmm0, dword [0x18008bbe0]
movss dword [rcx], xmm0
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rbx
ret
lea rcx, [0x18008bbb8]
call fcn.18005c2b0
cmp dword [0x18008bbb8], 0xffffffff
jne 0x180001d1b
lea rcx, [rbx + 0x14c]
cmp rcx, 0x400000
jbe 0x180001eec
lea rax, [rbx + 0x14d]
cmp rax, rsi
jae 0x180001eec
movzx eax, byte [rcx]
jmp 0x180001eee
xor al, al
lea rcx, [0x18008bbb8]
mov byte [0x18008bc98], al
call fcn.18005c244
jmp 0x180001d1b
lea rcx, [0x18008bc24]
call fcn.18005c2b0
cmp dword [0x18008bc24], 0xffffffff
jne 0x180001d2d
lea rcx, [rbx + 0xc8]
cmp rcx, 0x400000
jbe 0x180001f40
lea rax, [rbx + 0xcc]
cmp rax, rsi
jae 0x180001f40
movss xmm0, dword [rcx]
jmp 0x180001f43
xorps xmm0, xmm0
lea rcx, [0x18008bc24]
movss dword [0x18008bcc0], xmm0
call fcn.18005c244
jmp 0x180001d2d
lea rcx, [0x18008bc78]
call fcn.18005c2b0
cmp dword [0x18008bc78], 0xffffffff
jne 0x180001d3c
lea rcx, [rbx + 0x84]
cmp rcx, 0x400000
jbe 0x180001f97
lea rax, [rbx + 0x88]
cmp rax, rsi
jae 0x180001f97
movss xmm0, dword [rcx]
jmp 0x180001f9a
xorps xmm0, xmm0
lea rcx, [0x18008bc78]
movss dword [0x18008bc58], xmm0
call fcn.18005c244
jmp 0x180001d3c
lea rcx, [0x18008bcc4]
call fcn.18005c2b0
cmp dword [0x18008bcc4], 0xffffffff
jne 0x180001d55
lea rcx, [rbx + 0x88]
cmp rcx, 0x400000
jbe 0x180001fec
lea rax, [rbx + 0x8c]
cmp rax, rsi
jae 0x180001fec
movss xmm6, dword [rcx]
lea rcx, [0x18008bcc4]
movss dword [0x18008bbe0], xmm6
call fcn.18005c244
jmp 0x180001d55