Function at 0x4067d0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push edi
push 0x10
movzx edi, bx
call esi
and eax, 0x8000
push 0x14
mov dword [ebp - 4], eax
call esi
and eax, 0x8000
push 0x11
mov dword [ebp + 8], eax
call esi
mov ecx, 0x8000
test cx, ax
je 0x406814
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [ebp - 4], 0
je 0x40684b
cmp dword [ebp + 8], 0
je 0x406851
lea eax, [ebx - 0x41]
cmp ax, 0x19
ja 0x406a9d
movzx eax, bx
mov ax, word [eax*2 + 0x4cbf96]
add ax, 0x20
movzx edi, ax
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [ebp + 8], 0
je 0x406820
lea eax, [ebx - 0x41]
cmp ax, 0x19
ja 0x406871
movzx eax, bx
movzx edi, word [eax*2 + 0x4cbf96]
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xba
cmp bx, ax
jne 0x40688c
mov edi, 0x416
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbf
cmp bx, ax
je 0x406979
mov eax, 0xc0
cmp bx, ax
jne 0x4068b5
mov edi, 0x401
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdb
cmp bx, ax
jne 0x4068d0
mov edi, 0x425
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdc
cmp bx, ax
jne 0x4068eb
mov edi, 0x7c
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdd
cmp bx, ax
jne 0x406906
mov edi, 0x42a
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xde
cmp bx, ax
jne 0x406921
mov edi, 0x42d
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdf
cmp bx, ax
je 0x406b57
mov eax, 0xe2
cmp bx, ax
je 0x406b6f
mov eax, 0xbc
cmp bx, ax
jne 0x406958
mov edi, 0x411
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbe
cmp bx, ax
jne 0x406973
mov edi, 0x42e
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x3f
jne 0x40698a
mov edi, 0x2c
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x30
jne 0x4069a1
mov edi, 0x29
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x31
jne 0x4069b8
mov edi, 0x21
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x32
jne 0x4069cf
mov edi, 0x22
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x33
jne 0x4069e6
mov edi, 0x2116
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x34
jne 0x4069fd
mov edi, 0x3b
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x35
jne 0x406a14
mov edi, 0x25
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x36
jne 0x406a2b
mov edi, 0x3a
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x37
jne 0x406a42
mov edi, 0x3f
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x38
je 0x406cd5
cmp bx, 0x39
jne 0x406a63
mov edi, 0x28
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbd
cmp bx, ax
jne 0x406a7e
mov edi, 0x5f
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbb
cmp bx, ax
jne 0x406d2a
mov edi, 0x2b
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xba
cmp bx, ax
jne 0x406ab8
mov edi, 0x436
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbf
cmp bx, ax
je 0x406d0d
mov eax, 0xc0
cmp bx, ax
jne 0x406ae1
mov edi, 0x451
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdb
cmp bx, ax
jne 0x406afc
mov edi, 0x445
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdc
cmp bx, ax
jne 0x406b17
mov edi, 0x2f
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdd
cmp bx, ax
jne 0x406b32
mov edi, 0x44a
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xde
cmp bx, ax
jne 0x406b4d
mov edi, 0x44d
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xdf
cmp bx, ax
jne 0x406b65
mov edi, eax
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xe2
cmp bx, ax
jne 0x406b80
mov edi, 0x3e
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbc
cmp bx, ax
jne 0x406b9b
mov edi, 0x431
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbe
cmp bx, ax
jne 0x406bb6
mov edi, 0x44e
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0xbd
cmp bx, ax
je 0x406cf6
mov eax, 0xbb
cmp bx, ax
jne 0x406bdf
mov edi, 0x3d
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x3f
je 0x406d0d
cmp bx, 0x60
jne 0x406c00
mov edi, 0x30
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x61
jne 0x406c17
mov edi, 0x31
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x62
jne 0x406c2e
mov edi, 0x32
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x63
jne 0x406c45
mov edi, 0x33
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x64
jne 0x406c5c
mov edi, 0x34
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x65
jne 0x406c73
mov edi, 0x35
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x66
jne 0x406c8a
mov edi, 0x36
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x67
jne 0x406ca1
mov edi, 0x37
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x68
jne 0x406cb8
mov edi, 0x38
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x69
jne 0x406ccf
mov edi, 0x39
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x6a
jne 0x406ce6
mov edi, 0x2a
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x6b
je 0x406a8c
cmp bx, 0x6d
jne 0x406d07
mov edi, 0x2d
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x6e
jne 0x406d1e
mov edi, 0x2e
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bx, 0x6f
mov eax, 0x2f
cmove edi, eax
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4