Function at 0x468f53
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
and dword [ebp - 0x18], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], 0xfffffff7
mov edi, ecx
mov dword [ebp - 0x10], 0
jmp 0x468f80
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x20], 0xd59e57ad
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x468f72
imul edx, dword [ebp - 0x1c], 0x5a03
mov eax, dword [ebp - 0x1c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
imul ecx, eax
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x468ffc
push 0x1184
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor esi, esi
inc esi
push esi
push edi
push 0x76e8
push esi
push esi
push esi
push 0x3f8f
push 0x6af
call fcn.0045b123
mov dword [ebp - 8], 5
add esp, 0x20
mov dword [ebp - 0xc], 7
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0xc], 0x1de9829c
mov dword [ebp - 0x10], ebx
jmp 0x46904a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2c], 0xbd42ca8c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x46903c
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x469067
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], 0x223f
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 0x79cc
je 0x469084
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x28], ebx
je 0x469094
cmp dword [ebp - 8], ebx
jne 0x469096
mov esi, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
imul eax, esi
cmp eax, 0x752
setne cl
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ebx
jmp 0x46913a
mov dword [ebp - 0x14], 0x71808adc
mov dword [ebp - 0x10], ebx
jmp 0x469118
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x38], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x4690bd
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x4690dc
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardState]
mov dword [ebp - 0xc], 0xa
jmp 0x46910f
mov dword [ebp - 0x18], 0x77dfcc86
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0xcbd4daed
mov eax, dword [ebp - 0x18]
sub eax, 0xb70d
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe6
jl 0x4690e5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
mov dword [ebp - 0xc], ebx
jge 0x4690c7
jmp 0x469131
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x469123
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x26
jne 0x4690b1
push edi
call fcn.004403ae
mov dword [ebp - 0x10], 0xe1757117
mov esi, eax
mov dword [ebp - 0x18], 0xe2c0d37a
pop ecx
mov dword [ebp - 0x10], ebx
jmp 0x469187
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x46917e
push 0x119c
push ebx
push 0xb3e
push 0x2066
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xc
jl 0x469160
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret