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

Disassembly:
sub esp, 0xc
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 8]
push eax
call edi
mov eax, dword [esp + 8]
cmp eax, 0x1b
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
jl 0x100021b7
cmp eax, 0x8e
jg 0x100021b7
mov eax, dword [esp + 0xc]
cmp eax, 0x3b
jl 0x100021b7
cmp eax, 0x4a
jg 0x100021b7
cmp byte [0x1000752c], 0
je 0x100021b7
push 2
call ebx
test al, 1
je 0x100021b7
cmp byte [0x1000752d], 0
sete cl
mov byte [0x1000752d], cl
lea edx, [esp + 8]
push edx
call edi
mov eax, dword [esp + 8]
cmp eax, 0x1b
jl 0x100021fc
cmp eax, 0x8e
jg 0x100021fc
mov eax, dword [esp + 0xc]
cmp eax, 0x4a
jl 0x100021fc
cmp eax, 0x59
jg 0x100021fc
cmp byte [0x1000752c], 0
je 0x100021fc
push 2
call ebx
test al, 1
je 0x100021fc
cmp byte [0x1000752e], 0
sete al
mov byte [0x1000752e], al
lea ecx, [esp + 8]
push ecx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x10002245
cmp eax, 0x124
jg 0x10002245
mov eax, dword [esp + 0xc]
cmp eax, 0x3b
jl 0x10002245
cmp eax, 0x4a
jg 0x10002245
cmp byte [0x1000752d], 0
je 0x10002245
push 2
call ebx
test al, 1
je 0x10002245
xor edx, edx
cmp dword [0x10007524], edx
sete dl
mov dword [0x10007524], edx
lea eax, [esp + 8]
push eax
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x10002290
cmp eax, 0x124
jg 0x10002290
mov eax, dword [esp + 0xc]
cmp eax, 0x4a
jl 0x10002290
cmp eax, 0x59
jg 0x10002290
cmp byte [0x1000752d], 0
je 0x10002290
push 2
call ebx
test al, 1
je 0x10002290
sub dword [0x100074f8], 1
jns 0x10002290
mov dword [0x100074f8], 5
lea ecx, [esp + 8]
push ecx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x100022db
cmp eax, 0x124
jg 0x100022db
mov eax, dword [esp + 0xc]
cmp eax, 0x59
jl 0x100022db
cmp eax, 0x68
jg 0x100022db
cmp byte [0x1000752d], 0
je 0x100022db
push 2
call ebx
test al, 1
je 0x100022db
sub dword [0x100074fc], 1
jns 0x100022db
mov dword [0x100074fc], 5
lea edx, [esp + 8]
push edx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x10002323
cmp eax, 0x124
jg 0x10002323
mov eax, dword [esp + 0xc]
cmp eax, 0x68
jl 0x10002323
cmp eax, 0x77
jg 0x10002323
cmp byte [0x1000752d], 0
je 0x10002323
push 2
call ebx
test al, 1
je 0x10002323
xor eax, eax
cmp dword [0x10007500], eax
sete al
mov dword [0x10007500], eax
lea ecx, [esp + 8]
push ecx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x1000236e
cmp eax, 0x124
jg 0x1000236e
mov eax, dword [esp + 0xc]
cmp eax, 0x77
jl 0x1000236e
cmp eax, 0x86
jg 0x1000236e
cmp byte [0x1000752d], 0
je 0x1000236e
push 2
call ebx
test al, 1
je 0x1000236e
xor edx, edx
cmp dword [0x1000750c], edx
sete dl
mov dword [0x1000750c], edx
lea eax, [esp + 8]
push eax
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x100023bd
cmp eax, 0x124
jg 0x100023bd
mov eax, dword [esp + 0xc]
cmp eax, 0x86
jl 0x100023bd
cmp eax, 0x95
jg 0x100023bd
cmp byte [0x1000752d], 0
je 0x100023bd
push 2
call ebx
test al, 1
je 0x100023bd
sub dword [0x10007508], 1
jns 0x100023bd
mov dword [0x10007508], 7
lea ecx, [esp + 8]
push ecx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x10002406
cmp eax, 0x124
jg 0x10002406
mov eax, dword [esp + 0xc]
cmp eax, 0x4a
jl 0x10002406
cmp eax, 0x59
jg 0x10002406
cmp byte [0x1000752e], 0
je 0x10002406
push 2
call ebx
test al, 1
je 0x10002406
xor edx, edx
cmp dword [0x10007528], edx
sete dl
mov dword [0x10007528], edx
lea eax, [esp + 8]
push eax
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x1000244f
cmp eax, 0x124
jg 0x1000244f
mov eax, dword [esp + 0xc]
cmp eax, 0x59
jl 0x1000244f
cmp eax, 0x68
jg 0x1000244f
cmp byte [0x1000752e], 0
je 0x1000244f
push 2
call ebx
test al, 1
je 0x1000244f
xor ecx, ecx
cmp dword [0x10007518], ecx
sete cl
mov dword [0x10007518], ecx
lea edx, [esp + 8]
push edx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x10002497
cmp eax, 0x124
jg 0x10002497
mov eax, dword [esp + 0xc]
cmp eax, 0x68
jl 0x10002497
cmp eax, 0x77
jg 0x10002497
cmp byte [0x1000752e], 0
je 0x10002497
push 2
call ebx
test al, 1
je 0x10002497
xor eax, eax
cmp dword [0x1000751c], eax
sete al
mov dword [0x1000751c], eax
lea ecx, [esp + 8]
push ecx
call edi
mov eax, dword [esp + 8]
cmp eax, 0xb1
jl 0x100024e2
cmp eax, 0x124
jg 0x100024e2
mov eax, dword [esp + 0xc]
cmp eax, 0x77
jl 0x100024e2
cmp eax, 0x86
jg 0x100024e2
cmp byte [0x1000752e], 0
je 0x100024e2
push 2
call ebx
test al, 1
je 0x100024e2
xor edx, edx
cmp dword [0x10007520], edx
sete dl
mov dword [0x10007520], edx
pop edi
pop ebx
add esp, 0xc
ret