Function at 0x180033670
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
push rbp
push r14
sub rsp, 0x88
mov rax, qword [0x18011c028]
xor rax, rsp
mov qword [rsp + 0x48], rax
movzx eax, byte [0x18011f0a5]
mov r14, rdx
mov byte [rcx + 0x31], al
mov rbp, rcx
cmp byte [0x18011f0a5], 0
jne 0x1800336bb
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xfa
call fcn.1800048d0
jmp 0x180033bae
movzx eax, byte [0x18011f0b8]
test al, al
je 0x1800336e7
cmp dword [0x18011c344], 1
jne 0x1800336e7
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xa
call fcn.1800048d0
jmp 0x180033bae
movzx eax, byte [0x18011f0b8]
test al, al
jne 0x1800336fb
cmp dword [0x18011c344], 0
je 0x1800336cf
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x78], rdi
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x18011f0e0]
jne 0x180033bc6
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180033bc6
movzx eax, byte [0x18011f0b8]
test al, al
jne 0x180033bc6
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 0x180033764
imul rax, rax, 0x64
jmp 0x180033782
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [rbp + 0x58], rax
mov eax, dword [0x18011f0dc]
mov qword [rsp + 0x70], r15
xor esi, esi
mov dword [rbp + 0x68], eax
cmp byte [0x18011f0db], sil
jne 0x18003386b
movss xmm0, dword [0x180120860]
lea rcx, [rsp + 0x30]
movss xmm1, dword [0x180120864]
movss dword [0x180120868], xmm0
movss dword [0x18012086c], xmm1
mov qword [rsp + 0x30], rsi
call fcn.18000a9b0
mov rbx, qword [rsp + 0x30]
movabs r15, 0x431bde82d7b634db
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 0x1800337ff
imul rcx, rax, 0x64
jmp 0x180033820
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rcx, rax
imul rax, r8, 0x3b9aca00
add rcx, rax
movd xmm0, dword [0x18011c340]
sub rcx, rbx
mov rax, r15
xorps xmm1, xmm1
imul rcx
cvtdq2ps xmm0, xmm0
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2ss xmm1, rdx
comiss xmm0, xmm1
jbe 0x180033864
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800337e1
jmp 0x180033b94
mov byte [0x18011f0db], 1
cmp byte [0x18011f0a4], sil
je 0x1800338a8
mov rcx, qword [r14]
add rcx, 0x68
cmp qword [rcx + 0x18], 0x10
mov rdx, qword [rcx + 0x10]
jb 0x180033889
mov rcx, qword [rcx]
lea r9, str.tile
mov qword [rsp + 0x20], 4
call fcn.1800064b0
cmp rax, 0xffffffffffffffff
je 0x180033b94
movss xmm1, dword [0x18012086c]
lea rcx, [0x18011f400]
movaps xmmword [rsp + 0x60], xmm6
lea rbx, [rbp + 0x50]
movaps xmmword [rsp + 0x50], xmm7
call fcn.180005b10
subss xmm1, dword [0x180120868]
xorps xmm0, xmm0
mov eax, eax
xorps xmm6, xmm6
lea rdx, [0x180120878]
mov rcx, rbx
cvtsi2ss xmm0, rax
subss xmm0, xmm6
addss xmm0, xmm6
mulss xmm0, dword [0x180106098]
mulss xmm0, xmm1
addss xmm0, dword [0x180120868]
movss dword [0x180120870], xmm0
call fcn.18000a640
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 0x180033930
imul rdx, rax, 0x64
jmp 0x18003394e
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
movss xmm7, dword [0x1801062b8]
xorps xmm1, xmm1
mov qword [rbx + 0x10], rdx
movabs rbp, 0x20c49ba5e353f7cf
sub rdx, qword [rbx + 8]
mov rax, rbp
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2ss xmm1, rdx
divss xmm1, xmm7
movss dword [rbx + 0x1c], xmm1
movss xmm0, dword [0x180120874]
addss xmm0, dword [0x180120870]
subss xmm0, xmm1
divss xmm0, xmm7
cvtps2pd xmm0, xmm0
call fcn.180033450
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180033b8a
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rsi
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rsp + 0x44]
mov edx, 0x204
mov rcx, qword [0x18011f0e0]
mov r8d, 0x2000000
call qword [sym.imp.USER32.dll_PostMessageW]
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 0x180033a0c
imul rax, rax, 0x64
jmp 0x180033a2a
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, r8, 0x3b9aca00
add rax, rdx
mov rcx, rbx
mov qword [rbx + 8], rax
call fcn.18000a470
movss xmm1, dword [0x18012086c]
lea rcx, [0x18011f400]
call fcn.180005b10
subss xmm1, dword [0x180120868]
xorps xmm0, xmm0
mov eax, eax
lea rdx, [0x180120890]
mov rcx, rbx
cvtsi2ss xmm0, rax
subss xmm0, xmm6
addss xmm0, xmm6
mulss xmm0, dword [0x180106098]
mulss xmm0, xmm1
addss xmm0, dword [0x180120868]
movss dword [0x180120870], xmm0
call fcn.18000a640
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 0x180033aad
imul rdx, rax, 0x64
jmp 0x180033acb
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
mov qword [rbx + 0x10], rdx
xorps xmm1, xmm1
sub rdx, qword [rbx + 8]
mov rax, rbp
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2ss xmm1, rdx
divss xmm1, xmm7
movss dword [rbx + 0x1c], xmm1
movss xmm0, dword [0x180120874]
addss xmm0, dword [0x180120870]
subss xmm0, xmm1
divss xmm0, xmm7
cvtps2pd xmm0, xmm0
call fcn.180033450
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], rsi
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rsp + 0x3c]
xor r8d, r8d
mov rcx, qword [0x18011f0e0]
mov edx, 0x205
call qword [sym.imp.USER32.dll_PostMessageW]
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 0x180033b60
imul rax, rax, 0x64
jmp 0x180033b7e
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdx, r8, 0x3b9aca00
add rax, rdx
mov rcx, rbx
mov qword [rbx + 8], rax
call fcn.18000a470
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800a6c70
add rsp, 0x88
pop r14
pop rbp
ret
cmp byte [0x18011f0db], 0
je 0x180033c3e
mov rdi, qword [0x1801208b0]
mov rbx, qword [0x1801208a8]
cmp rbx, rdi
je 0x180033c37
movss xmm3, dword [0x180106124]
xor esi, esi
nop dword [rax]
movd xmm2, dword [rbx + 0x24]
movd xmm0, dword [rbx + 0x10]
mov edx, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x14]
cvtdq2ps xmm2, xmm2
mov word [rbx], si
mov dword [rbx + 0x20], esi
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
divss xmm1, xmm0
mulss xmm1, xmm3
mulss xmm1, xmm2
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbx + 0x24], eax
call fcn.180003e30
mov dword [rbx + 0x10], eax
add rbx, 0x28
cmp rbx, rdi
jne 0x180033bf0
mov byte [0x18011f0db], 0
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x32
call fcn.1800048d0
jmp 0x180033b99