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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
xor ebx, ebx
push esi
push edi
mov dword [0x453378], ebx
mov dword [esp + 0x14], ebx
mov dword [0x45334c], ebx
mov dword [0x453350], ebx
mov dword [0x453354], ebx
mov byte [0x452f70], bl
mov word [0x453070], bx
call fcn.00407760
mov esi, dword [ebp + 8]
mov ecx, dword [0x434240]
lea eax, [esp + 0xc]
push eax
push esi
mov edi, 0x14
push ecx
mov dword [0x453358], ebx
mov dword [0x45335c], ebx
mov dword [0x453360], ebx
mov dword [0x453364], ebx
mov dword [0x453368], ebx
mov dword [0x45336c], ebx
mov dword [0x453370], ebx
mov dword [esp + 0x18], edi
call fcn.00412cc0
mov ecx, dword [0x434240]
movzx edx, ax
lea eax, [esp + 0x18]
push eax
push esi
push ecx
mov dword [0x453364], edx
call fcn.00412cc0
mov ecx, dword [0x434240]
movzx edx, ax
lea eax, [esp + 0x24]
push eax
push esi
push ecx
mov dword [0x453368], edx
call fcn.00412cc0
mov ecx, dword [0x434240]
movzx edx, ax
lea eax, [esp + 0x30]
push eax
push esi
push ecx
mov dword [0x45336c], edx
call fcn.00412cc0
movzx edx, ax
add esp, 0x30
mov dword [0x453370], edx
mov dword [0x453334], esi
call fcn.00409480
xor eax, eax
mov dword [0x43420c], 1
mov dword [0x434214], ebx
mov dword [0x453340], eax
mov eax, dword [eax*4 + str.1234567890QWERTYUIOPASDFGHJKLZXCVBNM]
push eax
call fcn.004095a0
add esp, 4
cmp eax, ebx
mov dword [0x45333c], eax
je 0x41410c
mov cx, word [eax]
mov edx, dword [0x453340]
push eax
mov word [edx*2 + 0x4532d8], cx
call fcn.0042351a
add esp, 4
mov dword [0x45333c], ebx
mov eax, dword [0x453340]
inc eax
cmp eax, 0x2e
mov dword [0x453340], eax
jl 0x4140d3
mov esi, 1
xor eax, eax
mov dword [0x434214], esi
mov dword [0x453340], eax
mov edi, edi
mov eax, dword [eax*4 + str.1234567890QWERTYUIOPASDFGHJKLZXCVBNM]
push eax
call fcn.004095a0
add esp, 4
cmp eax, ebx
mov dword [0x45333c], eax
je 0x414169
mov cx, word [eax]
mov edx, dword [0x453340]
push eax
mov word [edx*2 + 0x453278], cx
call fcn.0042351a
add esp, 4
mov dword [0x45333c], ebx
mov eax, dword [0x453340]
inc eax
cmp eax, 0x2e
mov dword [0x453340], eax
jl 0x414130
mov dword [0x43420c], ebx
mov dword [0x434214], ebx
call fcn.00409470
mov dword [0x908dd0], ebx
call fcn.00413b70
mov dword [0x908dd0], 0x413380
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x10], eax
mov dword [0x453270], esi
call fcn.00405ca0
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
lea ebx, [ebx]
cmp dword [0xc27124], 1
je 0x414bf9
fld dword [0x42c7f4]
fld dword [0x45334c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x414203
fld dword [0x42c7f4]
fld dword [0x453350]
fucompp
fnstsw ax
test ah, 0x44
jp 0x414203
mov dword [0x453354], 0
jmp 0x414221
fld dword [0x453350]
fadd dword [0x45334c]
fdivr dword [0x45334c]
fmul dword [0x42c6c0]
fstp dword [0x453354]
call fcn.0041f360
cmp eax, 0x1b
mov dword [0x453270], eax
je 0x414bf9
cmp eax, 0x10
je 0x414bdd
cmp eax, 0xa1
je 0x414bdd
cmp eax, ebx
jge 0x4147d8
cmp eax, 0xfffffffe
jne 0x414332
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [0x4596d8]
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x1c]
cmp eax, 5
jl 0x4142d4
cmp eax, edi
jg 0x4142d4
mov eax, dword [esp + 0x18]
cmp eax, 0x2fa
jl 0x4142a7
cmp eax, 0x309
jg 0x4142a7
mov eax, dword [0x4596d8]
push 6
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 0x18]
cmp eax, 0x30c
jl 0x414318
cmp eax, 0x31b
jg 0x414318
mov edx, dword [0x4596d8]
push 0x113
push edx
mov dword [esp + 0x1c], 1
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x4147d8
cmp eax, 0x13
jl 0x414318
cmp eax, 0x38
jg 0x414318
mov eax, dword [esp + 0x18]
cmp eax, 0x28c
jl 0x4142f4
cmp eax, 0x2ab
jle 0x4143e5
cmp eax, 0x25b
jl 0x414306
cmp eax, 0x27a
jle 0x414403
cmp eax, 0x2b6
jl 0x414318
cmp eax, 0x2d5
jle 0x414582
mov dword [0x908dd0], 0x413380
call fcn.00413b70
mov dword [0x453270], ebx
jmp 0x4143ce
cmp eax, 0xfffffffd
jne 0x4143ce
lea ecx, [esp + 0x18]
push ecx
mov dword [0x453270], 0xffffffff
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x4596d8]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x1c]
cmp eax, 5
jl 0x4143a2
cmp eax, edi
jg 0x4143a2
mov ecx, dword [esp + 0x18]
cmp ecx, 0x2fa
jl 0x414386
cmp ecx, 0x309
jle 0x41468d
cmp ecx, 0x30c
jl 0x41439a
cmp ecx, 0x31b
jle 0x4146bb
movzx edx, ax
movzx eax, cx
jmp 0x4143b8
cmp eax, 0x13
jl 0x4143b0
cmp eax, 0x38
jle 0x4146e8
movzx edx, ax
movzx eax, word [esp + 0x18]
mov ecx, dword [0x4596d8]
shl edx, 0x10
or edx, eax
push edx
push 2
push 0xa1
push ecx
call esi
call fcn.0041f360
cmp eax, ebx
mov dword [0x453270], eax
jl 0x414250
jmp 0x4147d8
mov eax, dword [0x4596d8]
push 0x113
push eax
mov dword [esp + 0x1c], 1
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x4147d8
mov dword [0x453354], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x908dd0], 0x413380
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x10], eax
cmp dword [0x434244], ebx
mov eax, dword [0x453334]
mov dword [0x45334c], 0
mov dword [0x453350], 0
jne 0x4144e7
dec eax
mov dword [0x453334], eax
jns 0x41445e
mov dword [0x453334], 5
mov edx, dword [0x453334]
mov eax, dword [0x434240]
lea ecx, [esp + 0xc]
push ecx
push edx
push eax
mov dword [esp + 0x18], edi
call fcn.00412cc0
movzx ecx, ax
mov eax, dword [0x453334]
lea edx, [esp + 0x18]
push edx
mov dword [0x453364], ecx
mov ecx, dword [0x434240]
push eax
push ecx
call fcn.00412cc0
mov ecx, dword [0x453334]
movzx edx, ax
lea eax, [esp + 0x24]
push eax
mov dword [0x453368], edx
mov edx, dword [0x434240]
push ecx
push edx
call fcn.00412cc0
mov edx, dword [0x453334]
movzx eax, ax
lea ecx, [esp + 0x30]
push ecx
mov dword [0x45336c], eax
mov eax, dword [0x434240]
push edx
push eax
call fcn.00412cc0
movzx ecx, ax
mov dword [0x453370], ecx
jmp 0x41465b
dec eax
mov dword [0x453334], eax
jns 0x4144f9
mov dword [0x453334], 7
mov eax, dword [0x453334]
mov ecx, dword [0x434240]
lea edx, [esp + 0xc]
push edx
push eax
push ecx
mov dword [esp + 0x18], edi
call fcn.00412cc0
mov ecx, dword [0x453334]
movzx edx, ax
lea eax, [esp + 0x18]
push eax
mov dword [0x453364], edx
mov edx, dword [0x434240]
push ecx
push edx
call fcn.00412cc0
mov edx, dword [0x453334]
movzx eax, ax
lea ecx, [esp + 0x24]
push ecx
mov dword [0x453368], eax
mov eax, dword [0x434240]
push edx
push eax
call fcn.00412cc0
movzx ecx, ax
mov eax, dword [0x453334]
lea edx, [esp + 0x30]
push edx
mov dword [0x45336c], ecx
mov ecx, dword [0x434240]
push eax
push ecx
call fcn.00412cc0
movzx edx, ax
mov dword [0x453370], edx
jmp 0x41465b
mov dword [0x453354], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x908dd0], 0x413380
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x10], eax
cmp dword [0x434244], ebx
mov eax, dword [0x453334]
mov dword [0x45334c], 0
mov dword [0x453350], 0
jne 0x414684
inc eax
cmp eax, 5
mov dword [0x453334], eax
jle 0x4145dd
xor eax, eax
mov dword [0x453334], eax
mov edx, dword [0x434240]
lea ecx, [esp + 0xc]
push ecx
push eax
push edx
mov dword [esp + 0x18], edi
call fcn.00412cc0
mov edx, dword [0x453334]
movzx eax, ax
lea ecx, [esp + 0x18]
push ecx
mov dword [0x453364], eax
mov eax, dword [0x434240]
push edx
push eax
call fcn.00412cc0
movzx ecx, ax
mov eax, dword [0x453334]
lea edx, [esp + 0x24]
push edx
mov dword [0x453368], ecx
mov ecx, dword [0x434240]
push eax
push ecx
call fcn.00412cc0
mov ecx, dword [0x453334]
movzx edx, ax
lea eax, [esp + 0x30]
push eax
mov dword [0x45336c], edx
mov edx, dword [0x434240]
push ecx
push edx
call fcn.00412cc0
movzx eax, ax
mov dword [0x453370], eax
add esp, 0x30
mov dword [0x453360], ebx
mov dword [0x45335c], ebx
mov dword [0x453358], ebx
mov dword [0x908dd0], 0x413380
call fcn.00413b70
jmp 0x4147d8
inc eax
cmp eax, 7
jmp 0x4145cf
mov ecx, dword [0xc24b78]
push 5
push 0x2fa
push ecx
call fcn.00406770
mov edx, dword [0xc24b78]
push 5
push 0x2fa
push edx
call fcn.00406870
add esp, 0x18
jmp 0x4147d8
mov eax, dword [0x4596b0]
push 5
push 0x30c
push eax
call fcn.00406770
mov ecx, dword [0x4596b0]
push 5
push 0x30c
push ecx
call fcn.00406870
add esp, 0x18
jmp 0x4147d8
mov ecx, dword [esp + 0x18]
cmp ecx, 0x28c
jl 0x414733
cmp ecx, 0x2ab
jg 0x414733
mov edx, dword [0x4596bc]
push 0xff00
push 0x13
push 0x28c
push edx
call fcn.00406210
mov eax, dword [0x4596bc]
push 0xff00
push 0x13
push 0x28c
push eax
call fcn.004064b0
add esp, 0x20
jmp 0x4147d8
cmp ecx, 0x25b
jl 0x414778
cmp ecx, 0x27a
jg 0x414778
mov ecx, dword [0x908e6c]
push 0xff00
push 0x13
push 0x25b
push ecx
call fcn.00406210
mov edx, dword [0x908e6c]
push 0xff00
push 0x13
push 0x25b
push edx
call fcn.004064b0
add esp, 0x20
jmp 0x4147d8
cmp ecx, 0x2b6
jl 0x4147bc
cmp ecx, 0x2d5
jg 0x4147bc
mov eax, dword [0x8efc7c]
push 0xff00
push 0x13
push 0x2b6
push eax
call fcn.00406210
mov ecx, dword [0x8efc7c]
push 0xff00
push 0x13
push 0x2b6
push ecx
call fcn.004064b0
add esp, 0x20
jmp 0x4147d8
movzx edx, ax
movzx eax, cx
mov ecx, dword [0x4596d8]
shl edx, 0x10
or edx, eax
push edx
push 2
push 0xa1
push ecx
call esi
mov eax, dword [0x453364]
mov ecx, dword [0x453270]
cmp ecx, eax
je 0x414851
test ah, 0xa0
je 0x41480f
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x41480f
mov edx, dword [0x453364]
mov ecx, dword [0x453270]
and edx, 0xffff5fff
cmp ecx, edx
je 0x414851
mov eax, dword [0x453270]
push eax
call fcn.00409490
add esp, 4
test eax, eax
je 0x414be3
push 0xffffffffffffffff
call fcn.0041f260
fld dword [0x453350]
fadd dword [0x42c348]
add esp, 4
mov dword [0x430ba8], ebx
fstp dword [0x453350]
call fcn.00405ca0
jmp 0x414be3
push ecx
call fcn.0041f260
mov ecx, dword [0x45335c]
mov edx, dword [0x453360]
mov eax, dword [0x453364]
mov dword [0x453358], ecx
mov ecx, dword [0x453368]
mov dword [0x45335c], edx
mov edx, dword [0x45336c]
mov dword [0x453360], eax
mov eax, dword [0x453370]
mov dword [0x453364], ecx
lea ecx, [esp + 0x10]
mov dword [0x453368], edx
mov edx, dword [0x453334]
push ecx
mov dword [0x45336c], eax
mov eax, dword [0x434240]
push edx
push eax
mov dword [0x430ba8], 1
call fcn.00412cc0
fld dword [0x45334c]
fadd dword [0x42c348]
movzx ecx, ax
add esp, 0x10
mov dword [0x453370], ecx
fstp dword [0x45334c]
fld dword [0x42c864]
fld dword [0x45334c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x414bd6
fld dword [0x42c7f4]
fld dword [0x45334c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x414929
fld dword [0x42c7f4]
fld dword [0x453350]
fucompp
fnstsw ax
test ah, 0x44
jp 0x414929
mov dword [0x453354], 0
jmp 0x414947
fld dword [0x453350]
fadd dword [0x45334c]
fdivr dword [0x45334c]
fmul dword [0x42c6c0]
fstp dword [0x453354]
call dword [sym.imp.WINMM.dll_timeGetTime]
fld dword [0x453354]
sub eax, dword [esp + 0x10]
push eax
call fcn.004232f4
fld dword [0x453350]
push eax
call fcn.004232f4
fld dword [0x45334c]
push eax
call fcn.004232f4
push eax
call fcn.004123d0
add esp, 0x10
test eax, eax
je 0x414bf9
mov dword [0x908dd0], 0x413380
call fcn.00413b70
call dword [sym.imp.WINMM.dll_timeGetTime]
fild dword [0xc270dc]
mov dword [esp + 0x10], eax
mov dword [0x45334c], 0
fcomp dword [0x453354]
mov dword [0x453350], 0
fnstsw ax
test ah, 0x41
jne 0x4149de
mov edx, dword [0x4596d8]
push ebx
push 0x42c858
push 0x42c824
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
fild dword [0xc270dc]
mov eax, dword [0x434244]
cmp eax, ebx
fcomp dword [0x453354]
fnstsw ax
jne 0x414aea
test ah, 0x41
jp 0x414a04
inc dword [0x453334]
mov eax, dword [0x453334]
cmp eax, 5
jg 0x414bf4
mov edx, dword [0x434240]
lea ecx, [esp + 0xc]
push ecx
push eax
push edx
mov dword [esp + 0x18], edi
call fcn.00412cc0
mov edx, dword [0x453334]
movzx eax, ax
lea ecx, [esp + 0x18]
push ecx
mov dword [0x453364], eax
mov eax, dword [0x434240]
push edx
push eax
call fcn.00412cc0
movzx ecx, ax
mov eax, dword [0x453334]
lea edx, [esp + 0x24]
push edx
mov dword [0x453368], ecx
mov ecx, dword [0x434240]
push eax
push ecx
call fcn.00412cc0
mov ecx, dword [0x453334]
movzx edx, ax
lea eax, [esp + 0x30]
push eax
mov dword [0x45336c], edx
mov edx, dword [0x434240]
push ecx
push edx
call fcn.00412cc0
movzx eax, ax
add esp, 0x30
mov dword [0x453370], eax
mov dword [0x453360], ebx
mov dword [0x45335c], ebx
mov dword [0x453358], ebx
call fcn.00413b70
mov eax, dword [0xc270e0]
inc eax
cdq
mov ecx, 6
idiv ecx
mov ecx, dword [0xc3603c]
mov eax, dword [ecx*4 + 0xd61140]
inc eax
mov edi, 6
mov dword [0xc270e0], edx
cdq
idiv edi
mov edi, 0x14
mov dword [ecx*4 + 0xd61140], edx
call fcn.00405ca0
jmp 0x414be3
test ah, 0x41
jp 0x414af5
inc dword [0x453334]
mov eax, dword [0x453334]
cmp eax, 7
jg 0x414bf4
lea edx, [esp + 0xc]
push edx
push eax
mov eax, dword [0x434240]
push eax
mov dword [esp + 0x18], edi
call fcn.00412cc0
movzx ecx, ax
mov eax, dword [0x453334]
lea edx, [esp + 0x18]
push edx
mov dword [0x453364], ecx
mov ecx, dword [0x434240]
push eax
push ecx
call fcn.00412cc0
mov ecx, dword [0x453334]
movzx edx, ax
lea eax, [esp + 0x24]
push eax
mov dword [0x453368], edx
mov edx, dword [0x434240]
push ecx
push edx
call fcn.00412cc0
mov edx, dword [0x453334]
movzx eax, ax
lea ecx, [esp + 0x30]
push ecx
mov dword [0x45336c], eax
mov eax, dword [0x434240]
push edx
push eax
call fcn.00412cc0
movzx ecx, ax
add esp, 0x30
mov dword [0x453370], ecx
mov dword [0x453360], ebx
mov dword [0x45335c], ebx
mov dword [0x453358], ebx
call fcn.00413b70
mov edx, dword [0xc270e0]
inc edx
and edx, 0x80000007
jns 0x414baf
dec edx
or edx, 0xfffffff8
inc edx
mov eax, dword [0xc3603c]
mov ecx, dword [eax*4 + 0xd61140]
inc ecx
and ecx, 0x80000007
mov dword [0xc270e0], edx
jns 0x414bcf
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [eax*4 + 0xd61140], ecx
call fcn.00405ca0
jmp 0x414be3
mov dword [0x453270], ebx
cmp dword [esp + 0x14], ebx
je 0x4141c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00422c10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret