Function at 0x180087a20
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x90
mov rax, qword [0x1800ee010]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov r15, rcx
xor r12d, r12d
mov ebx, r12d
mov dword [rbp + 0x27], ebx
mov edx, dword [0x1800ef3ac]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov eax, dword [rcx + rax]
cmp dword [0x1800f1204], eax
jle 0x180087ac3
lea rcx, [0x1800f1204]
call fcn.18009145c
cmp dword [0x1800f1204], 0xffffffff
jne 0x180087ac3
mov eax, 0x3e8
cdq
idiv dword [r15 + 0x10]
movsxd rdx, eax
mov qword [0x1800f1208], r12
lea rcx, [0x1800f1208]
call fcn.180091340
lea rcx, [0x1800f1204]
call fcn.1800913f0
cmp byte [r15 + 8], bl
je 0x180087b01
cmp byte [0x1800ef7c9], bl
jne 0x180087b01
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x180087b01
lea rdx, [rbp - 0x29]
mov rcx, qword [0x1800efe00]
call fcn.180066900
mov ebx, 1
cmp qword [rax + 8], r12
jne 0x180087b01
xor dil, dil
jmp 0x180087b04
mov dil, 1
test bl, 1
je 0x180087b2e
cmp qword [0x1800ef7c0], 0
je 0x180087b2e
mov rdx, qword [rbp - 0x21]
test rdx, rdx
je 0x180087b2e
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test dil, dil
jne 0x180087f69
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180087b55
imul rcx, rax, 0x64
jmp 0x180087b70
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov rdx, rcx
sub rdx, qword [0x1800f1208]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x1800f1210]
je 0x180087bb7
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x180087f69
mov qword [0x1800f1208], rcx
mov rdi, qword [0x1800efe00]
mov rbx, qword [rdi]
cmp qword [rdi + 8], 0
jne 0x180087bdc
mov qword [rbp + 0x37], r12
mov qword [rbp + 0x2f], rbx
jmp 0x180087ccc
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0xf
lea rdx, str.objectMouseOver
lea rcx, [rbp - 0x19]
call fcn.1800631b0
nop
lea rdx, [rbp - 0x19]
lea rcx, [0x1800efc40]
call fcn.1800702c0
mov rcx, qword [rbx]
mov r9, qword [rcx + 0x2f8]
mov r8, rax
mov rdx, qword [rdi + 8]
mov rcx, rbx
call r9
mov rdi, rax
test rax, rax
je 0x180087c75
mov rcx, qword [rbx]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rbx
call r8
mov qword [rbp + 0x37], rax
mov rcx, qword [rbx]
mov r8, qword [rcx + 0x740]
mov rdx, rdi
mov rcx, rbx
call r8
cmp eax, 1
jne 0x180087c79
mov rax, qword [rbx]
mov r8, qword [rax + 0xb8]
mov rdx, rdi
mov rcx, rbx
call r8
jmp 0x180087c79
mov qword [rbp + 0x37], r12
mov qword [rbp + 0x2f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x180087cbb
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180087cb6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180087cb6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180091aa0
movdqa xmm0, xmmword [0x1800de2b0]
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], 0
lea rdx, [rbp - 0x29]
lea rcx, [rbp + 0x2f]
call fcn.180068800
mov r14, rax
mov rdi, qword [0x1800ef7c0]
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rbp + 7]
call fcn.1800631b0
nop
lea rdx, [rbp + 7]
lea rcx, [0x1800efd80]
call fcn.1800702c0
mov rbx, rax
mov rdx, qword [0x1800ef7c0]
lea rcx, [0x1800efd80]
call fcn.1800701c0
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rdi
call r9
mov rsi, rax
test rax, rax
je 0x180087d94
mov rcx, qword [rdi]
mov r8, qword [rcx + 0xa8]
mov rdx, rax
mov rcx, rdi
call r8
mov rbx, rax
mov qword [rbp - 0x11], rax
mov rcx, qword [rdi]
mov r8, qword [rcx + 0x740]
mov rdx, rsi
mov rcx, rdi
call r8
cmp eax, 1
jne 0x180087d9b
mov rcx, qword [rdi]
mov r8, qword [rcx + 0xb8]
mov rdx, rsi
mov rcx, rdi
call r8
jmp 0x180087d9b
mov rbx, r12
mov qword [rbp - 0x11], rbx
mov qword [rbp - 0x19], rdi
mov rdx, qword [r14 + 8]
cmp rdx, rbx
jne 0x180087dad
mov sil, 1
jmp 0x180087dd5
test rdx, rdx
je 0x180087dd2
test rbx, rbx
je 0x180087dd2
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rbx
call r9
cmp al, 1
sete sil
jmp 0x180087dd5
xor sil, sil
cmp qword [0x1800ef7c0], 0
je 0x180087df8
test rbx, rbx
je 0x180087df8
mov rax, qword [rdi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rdi
call r8
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x180087e36
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180087e31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180087e31
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180091aa0
movdqa xmm0, xmmword [0x1800de2b0]
movdqu xmmword [rbp + 0x17], xmm0
mov byte [rbp + 7], 0
cmp qword [0x1800ef7c0], 0
je 0x180087e6f
mov rdx, qword [rbp - 0x21]
test rdx, rdx
je 0x180087e6f
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rbp - 0x21], r12
cmp qword [0x1800ef7c0], 0
je 0x180087e94
mov rdx, qword [rbp + 0x37]
test rdx, rdx
je 0x180087e94
mov rcx, qword [rbp + 0x2f]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test sil, sil
jne 0x180087f69
mov qword [rbp + 0x27], r12
lea rcx, [rbp + 0x27]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0x2b]
shl r9d, 0x10
movzx eax, word [rbp + 0x27]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x1800ef7d0]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp + 0x2b]
shl r9d, 0x10
movzx ecx, word [rbp + 0x27]
or r9, rcx
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x1800ef7d0]
call qword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [r15 + 0x10]
mov dword [rbp + 0x2f], ecx
mov ecx, dword [r15 + 0x14]
mov dword [rbp + 0x33], ecx
lea rcx, [rbp + 0x2f]
call fcn.1800851f0
mov ecx, eax
mov eax, 0x3e8
cdq
idiv ecx
movsxd rbx, eax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x180087f3d
imul rax, rax, 0x64
jmp 0x180087f5b
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rcx, rcx, 0x3b9aca00
add rax, rcx
mov qword [0x1800f1208], rax
mov qword [0x1800f1210], rbx
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1800913d0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret