Function at 0x180019370
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x70
call fcn.18000d340
mov rcx, rax
call fcn.18000d1d0
mov rbx, rax
test rax, rax
je 0x18001968b
add rax, 0x20
mov qword [rsp + 0x80], rdi
xor r9d, r9d
movabs rdi, 0x7fffffff0000
cmp rax, 0x40000
jbe 0x1800193d6
lea rcx, [rax + 8]
cmp rcx, rdi
jae 0x1800193d6
mov rcx, qword [rax]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x1800193d6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800193d6
mov edx, dword [rcx]
jmp 0x1800193d9
mov edx, r9d
lea rcx, [0x1801c8550]
lea r8, [0x1801c9510]
nop word [rax + rax]
movups xmm2, xmmword [rcx]
movsd xmm1, qword [rcx + 0x40]
movd eax, xmm2
movsd qword [rsp + 0x60], xmm1
cmp eax, edx
je 0x18001941b
add rcx, 0x48
cmp rcx, r8
jne 0x1800193f0
xor eax, eax
xorps xmm2, xmm2
mov qword [rsp + 0x60], rax
jmp 0x180019421
movsd qword [rsp + 0x60], xmm1
movd eax, xmm2
test eax, eax
je 0x180019683
mov ecx, dword [rsp + 0x60]
test ecx, ecx
je 0x180019683
add rbx, 0x98
cmp rbx, 0x40000
jbe 0x180019457
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x180019457
mov rdx, qword [rbx]
jmp 0x18001945a
mov rdx, r9
cmp byte [0x1801ca202], r9b
je 0x18001949b
lea r8, [rdx + 0x2b8]
cmp r8, 0x40000
jbe 0x18001947f
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x18001947f
mov dword [r8], r9d
add rdx, 0x2bc
cmp rdx, 0x40000
jbe 0x18001949b
lea rax, [rdx + 4]
cmp rax, rdi
jae 0x18001949b
mov dword [rdx], r9d
cmp ecx, 0xfffffffe
je 0x1800195cf
cmp ecx, 0xffffffff
je 0x180019564
cmp ecx, 2
je 0x180019511
cmp ecx, 3
jne 0x18001962c
cmp byte [0x1801ca20a], r9b
je 0x18001962c
cmp rbx, 0x40000
jbe 0x18001962c
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x18001962c
mov rcx, qword [rbx]
add rcx, 0x1dc
cmp rcx, 0x40000
jbe 0x18001962c
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18001962c
mov dword [rcx], 0x3db851ec
jmp 0x18001962c
cmp byte [0x1801ca203], r9b
je 0x18001962c
cmp rbx, 0x40000
jbe 0x18001962c
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x18001962c
mov rcx, qword [rbx]
add rcx, 0x270
cmp rcx, 0x40000
jbe 0x18001962c
lea rax, [rcx + 1]
cmp rax, rdi
jae 0x18001962c
mov byte [rcx], 1
jmp 0x18001962c
cmp byte [0x1801ca212], r9b
je 0x18001962c
cmp rbx, 0x40000
jbe 0x18001962c
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x18001962c
mov rcx, qword [rbx]
mov rdx, rcx
lea r8, [rcx + 0x340]
cmp r8, 0x40000
jbe 0x1800195b1
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x1800195b1
mov dword [r8], 0x3f800000
lea rcx, [rdx + 0x350]
cmp rcx, 0x40000
jbe 0x18001962c
lea rax, [rcx + 1]
cmp rax, rdi
jae 0x18001962c
mov byte [rcx], 1
jmp 0x18001962c
cmp byte [0x1801ca205], r9b
je 0x18001962c
cmp rbx, 0x40000
jbe 0x18001962c
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x18001962c
mov rcx, qword [rbx]
mov rdx, rcx
lea r8, [rcx + 0x340]
cmp r8, 0x40000
jbe 0x18001960d
lea rax, [r8 + 1]
cmp rax, rdi
jae 0x18001960d
mov byte [r8], 1
lea rcx, [rdx + 0x344]
cmp rcx, 0x40000
jbe 0x18001962c
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18001962c
mov dword [rcx], 0x3f800000
cmp byte [0x1801ca225], r9b
je 0x180019683
mov ecx, dword [0x1801ca434]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180019683
cmp dword [0x1801ca244], 1
jne 0x180019683
cmp rbx, 0x40000
jbe 0x180019683
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x180019683
mov rcx, qword [rbx]
add rcx, 0x1dc
cmp rcx, 0x40000
jbe 0x180019683
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180019683
mov dword [rcx], 0x3c23d70a
mov rdi, qword [rsp + 0x80]
add rsp, 0x70
pop rbx
ret