Function at 0x40dd50
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0xcc]
mov ecx, 0x33
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x100
jne 0x40ddfc
mov esi, esp
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
cmp esi, esp
call fcn.006630d0
cwde
and eax, 0xff00
cmp eax, 0xff00
jne 0x40ddfc
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x53
je 0x40ddaf
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x73
jne 0x40ddfc
mov eax, dword [ebp - 8]
cmp dword [eax + 0xb8], 0
jne 0x40ddce
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
call fcn.00462bd0
jmp 0x40dfd5
mov esi, esp
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0xb8]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xb8]
mov edx, dword [edx]
mov eax, dword [edx + 0x114]
call eax
cmp esi, esp
call fcn.006630d0
jmp 0x40dfd5
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x104
jne 0x40dfc9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
and ecx, 0x20000000
je 0x40dfc9
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x52
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x72
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x44
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x64
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x43
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x63
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x42
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x62
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x4e
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x6e
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x46
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x66
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x50
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x70
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x4f
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x6f
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x45
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x65
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x31
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x32
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x33
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x34
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x35
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x36
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x37
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x61
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x62
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x63
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x64
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x65
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x66
je 0x40df82
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x67
jne 0x40dfc9
mov eax, dword [ebp - 8]
cmp dword [eax + 0xb8], 0
jne 0x40df9e
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
call fcn.00462bd0
jmp 0x40dfd5
mov esi, esp
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0xb8]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xb8]
mov edx, dword [edx]
mov eax, dword [edx + 0x114]
call eax
cmp esi, esp
call fcn.006630d0
jmp 0x40dfd5
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
call fcn.00462bd0
pop edi
pop esi
pop ebx
add esp, 0xcc
cmp ebp, esp
call fcn.006630d0
mov esp, ebp
pop ebp
ret 4