Function at 0x511d80
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, ecx
mov eax, dword [edi + 0x1b4]
test eax, eax
je 0x511da4
mov eax, dword [edi + 0x3d0]
test eax, eax
je 0x511da4
mov eax, 1
pop edi
pop ebp
ret 8
mov ecx, dword [ebp + 8]
cmp ecx, 0xe5
jne 0x511f61
mov eax, dword [ebp + 0xc]
cmp eax, 0x100001
jne 0x511dc7
mov ecx, 0x51
jmp 0x511f61
cmp eax, 0x110001
jne 0x511dd8
mov ecx, 0x57
jmp 0x511f61
cmp eax, 0x120001
jne 0x511de9
mov ecx, 0x45
jmp 0x511f61
cmp eax, 0x130001
jne 0x511dfa
mov ecx, 0x52
jmp 0x511f61
cmp eax, 0x140001
jne 0x511e0b
mov ecx, 0x54
jmp 0x511f61
cmp eax, 0x150001
jne 0x511e1c
mov ecx, 0x59
jmp 0x511f61
cmp eax, 0x160001
jne 0x511e2d
mov ecx, 0x55
jmp 0x511f61
cmp eax, 0x170001
jne 0x511e3e
mov ecx, 0x49
jmp 0x511f61
cmp eax, 0x180001
jne 0x511e4f
mov ecx, 0x4f
jmp 0x511f61
cmp eax, 0x1e0001
jne 0x511e60
mov ecx, 0x41
jmp 0x511f61
cmp eax, 0x1f0001
jne 0x511e71
mov ecx, 0x53
jmp 0x511f61
cmp eax, 0x200001
jne 0x511e82
mov ecx, 0x44
jmp 0x511f61
cmp eax, 0x210001
jne 0x511e93
mov ecx, 0x46
jmp 0x511f61
cmp eax, 0x220001
jne 0x511ea4
mov ecx, 0x47
jmp 0x511f61
cmp eax, 0x230001
jne 0x511eb5
mov ecx, 0x48
jmp 0x511f61
cmp eax, 0x240001
jne 0x511ec6
mov ecx, 0x4a
jmp 0x511f61
cmp eax, 0x250001
jne 0x511ed7
mov ecx, 0x4b
jmp 0x511f61
cmp eax, 0x260001
jne 0x511ee5
mov ecx, 0x4c
jmp 0x511f61
cmp eax, 0x2c0001
jne 0x511ef3
mov ecx, 0x5a
jmp 0x511f61
cmp eax, 0x2d0001
jne 0x511f01
mov ecx, 0x58
jmp 0x511f61
cmp eax, 0x2e0001
jne 0x511f0f
mov ecx, 0x43
jmp 0x511f61
cmp eax, 0x2f0001
jne 0x511f1d
mov ecx, 0x56
jmp 0x511f61
cmp eax, 0x300001
jne 0x511f2b
mov ecx, 0x42
jmp 0x511f61
cmp eax, 0x310001
jne 0x511f39
mov ecx, 0x4e
jmp 0x511f61
cmp eax, 0x320001
jne 0x511f47
mov ecx, 0x4d
jmp 0x511f61
cmp eax, 0x330001
jne 0x511f55
mov ecx, 0xbc
jmp 0x511f61
cmp eax, 0x340001
jne 0x511f61
mov ecx, 0xbe
cmp ecx, 0x1b
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], 0
jne 0x511f77
xor eax, eax
pop edi
pop ebp
ret 8
push esi
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x12
call esi
xor ecx, ecx
mov cl, ah
test cl, cl
je 0x511f9b
mov ecx, dword [edi + 0x14]
mov eax, 0x12
cmp ecx, eax
je 0x511f9b
mov dword [edi + 0x18], eax
jmp 0x511fee
push 0x10
call esi
xor edx, edx
mov dl, ah
test dl, dl
je 0x511fb8
mov ecx, dword [edi + 0x14]
mov eax, 0x10
cmp ecx, eax
je 0x511fb8
mov dword [edi + 0x18], eax
jmp 0x511fee
push 0x11
call esi
xor ecx, ecx
mov cl, ah
test cl, cl
je 0x511fd5
mov ecx, dword [edi + 0x14]
mov eax, 0x11
cmp ecx, eax
je 0x511fd5
mov dword [edi + 0x18], eax
jmp 0x511fee
push 9
call esi
xor edx, edx
mov dl, ah
test dl, dl
je 0x511fee
cmp dword [edi + 0x14], 9
je 0x511fee
mov dword [edi + 0x18], 9
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
test ecx, ecx
pop esi
jne 0x512017
cmp eax, 9
je 0x51200d
cmp eax, 0x12
je 0x51200d
cmp eax, 0x11
je 0x51200d
cmp eax, 0x10
jne 0x51203f
mov eax, 2
pop edi
pop ebp
ret 8
cmp eax, 9
jne 0x512021
cmp ecx, 0x11
jne 0x512035
cmp eax, 0x12
jne 0x51202b
cmp ecx, 9
je 0x512035
cmp eax, 0x10
jne 0x51203f
cmp ecx, 9
jne 0x51203f
mov eax, 3
pop edi
pop ebp
ret 8
cmp eax, 0x12
jne 0x51204e
cmp ecx, 0x11
je 0x51205d
cmp ecx, 0x10
je 0x51205d
cmp eax, 0x11
jne 0x512063
cmp ecx, 9
je 0x51205d
cmp ecx, 0x10
jne 0x512063
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], eax
mov eax, 4
pop edi
pop ebp
ret 8