Function at 0x180001dc0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x30
lea rbx, [rcx + 0x4d0]
cmp rbx, 0x400000
jbe 0x180001fb0
mov qword [rsp + 0x48], rsi
lea rax, [rcx + 0x4d8]
movabs rsi, 0x7fffffff0000
cmp rax, rsi
jae 0x180001fab
mov rbx, qword [rbx]
test rbx, rbx
je 0x180001fab
mov rax, qword gs:[0x58]
mov ecx, dword [0x18016ca10]
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 [0x18016d3f8], eax
jg 0x180001fb6
mov eax, dword [rdi + rbp]
xorps xmm6, xmm6
cmp dword [0x18016d454], eax
jg 0x180002009
mov eax, dword [rdi + rbp]
cmp dword [0x18016d4a8], eax
jg 0x180002060
mov eax, dword [rdi + rbp]
cmp dword [0x18016d4ec], eax
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
jg 0x1800020b1
movzx eax, byte [0x18016cfed]
movaps xmm6, xmmword [rsp + 0x20]
test al, al
je 0x180001e97
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx eax, byte [0x18016cfed]
lea rcx, [rbx + 0x13c]
test al, al
je 0x180001f21
cmp rcx, 0x400000
jbe 0x180001eba
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x180001eba
mov byte [rcx], 1
lea rcx, [rbx + 0xb8]
xor edx, edx
cmp rcx, 0x400000
jbe 0x180001eda
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180001eda
mov dword [rcx], edx
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180001ef2
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180001ef2
mov dword [rcx], edx
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x180001fab
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x180001fab
mov rsi, qword [rsp + 0x48]
mov dword [rcx], 0x3f800000
add rsp, 0x30
pop rbx
ret
cmp rcx, 0x400000
jbe 0x180001f3f
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x180001f3f
movzx eax, byte [0x18016d4c0]
mov byte [rcx], al
lea rcx, [rbx + 0xb8]
cmp rcx, 0x400000
jbe 0x180001f67
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180001f67
movss xmm0, dword [0x18016d4e8]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180001f89
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180001f89
movss xmm0, dword [0x18016d488]
movss dword [rcx], xmm0
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x180001fab
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x180001fab
movss xmm0, dword [0x18016d420]
movss dword [rcx], xmm0
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rbx
ret
lea rcx, [0x18016d3f8]
call fcn.18003e464
cmp dword [0x18016d3f8], 0xffffffff
jne 0x180001e3b
lea rcx, [rbx + 0x13c]
cmp rcx, 0x400000
jbe 0x180001ff0
lea rax, [rbx + 0x13d]
cmp rax, rsi
jae 0x180001ff0
movzx eax, byte [rcx]
jmp 0x180001ff2
xor al, al
lea rcx, [0x18016d3f8]
mov byte [0x18016d4c0], al
call fcn.18003e404
jmp 0x180001e3b
lea rcx, [0x18016d454]
call fcn.18003e464
cmp dword [0x18016d454], 0xffffffff
jne 0x180001e4d
lea rcx, [rbx + 0xb8]
cmp rcx, 0x400000
jbe 0x180002044
lea rax, [rbx + 0xbc]
cmp rax, rsi
jae 0x180002044
movss xmm0, dword [rcx]
jmp 0x180002047
xorps xmm0, xmm0
lea rcx, [0x18016d454]
movss dword [0x18016d4e8], xmm0
call fcn.18003e404
jmp 0x180001e4d
lea rcx, [0x18016d4a8]
call fcn.18003e464
cmp dword [0x18016d4a8], 0xffffffff
jne 0x180001e5c
lea rcx, [rbx + 0x74]
cmp rcx, 0x400000
jbe 0x180002095
lea rax, [rbx + 0x78]
cmp rax, rsi
jae 0x180002095
movss xmm0, dword [rcx]
jmp 0x180002098
xorps xmm0, xmm0
lea rcx, [0x18016d4a8]
movss dword [0x18016d488], xmm0
call fcn.18003e404
jmp 0x180001e5c
lea rcx, [0x18016d4ec]
call fcn.18003e464
cmp dword [0x18016d4ec], 0xffffffff
jne 0x180001e75
lea rcx, [rbx + 0x78]
cmp rcx, 0x400000
jbe 0x1800020e4
lea rax, [rbx + 0x7c]
cmp rax, rsi
jae 0x1800020e4
movss xmm6, dword [rcx]
lea rcx, [0x18016d4ec]
movss dword [0x18016d420], xmm6
call fcn.18003e404
jmp 0x180001e75