Function at 0x422f50
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
mov esi, ecx
push 0x11
call edi
xor ebx, ebx
push 0x10
mov bl, ah
neg bl
sbb ebx, ebx
neg ebx
call edi
xor ecx, ecx
push 0x12
mov cl, ah
neg cl
sbb ecx, ecx
neg ecx
mov ebp, ecx
call edi
xor ecx, ecx
mov cl, ah
neg cl
sbb ecx, ecx
neg ecx
test ebx, ebx
je 0x422f9b
test ebp, ebp
jne 0x422f9b
test ecx, ecx
jne 0x422f9b
mov edi, 1
jmp 0x422f9d
xor edi, edi
test ebx, ebx
jne 0x422fc3
test ebp, ebp
jne 0x422fc3
test ecx, ecx
je 0x422fc3
mov eax, 1
xor edx, edx
test ebx, ebx
je 0x422fd6
test ebp, ebp
je 0x422fd6
test ecx, ecx
jne 0x422fd6
mov ecx, 1
jmp 0x422fd8
xor eax, eax
test ebx, ebx
jne 0x422fae
test ebp, ebp
je 0x422fae
test ecx, ecx
jne 0x422fae
mov edx, 1
xor ecx, ecx
mov ebx, dword [esp + 0x14]
lea ebp, [ebx - 0x1b]
cmp ebp, 0xa2
ja case.0x422ff3.51
xor ebx, ebx
mov bl, byte [ebp + 0x42357c]
jmp dword [ebx*4 + 0x423518]
mov eax, dword [0x730788]
test eax, eax
je case.0x422ff3.51
mov ecx, esi
call fcn.00422100
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
push 0
je 0x423040
mov edx, dword [esi + 0x1c]
push 0x8149
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov eax, dword [esi + 0x1c]
push 0x800a
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
push 0
je 0x423086
mov ecx, dword [esi + 0x1c]
push 0x814a
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov edx, dword [esi + 0x1c]
push 0x800b
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov eax, dword [esi + 0x1c]
push 0
push 0x8009
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov ecx, dword [esi + 0x1c]
push 0
push 0x800c
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edx, edx
je 0x42312c
mov ecx, esi
call fcn.00421b70
mov esi, eax
test esi, esi
je case.0x422ff3.51
mov eax, dword [esi + 0xc8]
push ecx
add eax, 0x34
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00618585
mov ecx, dword [esi + 0xc8]
call fcn.004388f0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov edx, dword [esi + 0x1c]
push 0
push 0x8087
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test ecx, ecx
je 0x423174
mov eax, dword [esi + 0x1c]
push 0
push 0x80a4
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0xe103
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov edx, dword [esi + 0x1c]
push 0
push 0xe107
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov eax, dword [esi + 0x1c]
push 0
push 0xe102
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0xe122
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov edx, dword [esi + 0x1c]
push 0
push 0xe124
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov eax, dword [esi + 0x1c]
push 0
push 0x800d
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0x8015
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test ecx, ecx
je case.0x422ff3.51
mov edx, dword [esi + 0x1c]
push 0
push 0x800d
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test ecx, ecx
je 0x4232ea
mov eax, dword [esi + 0x1c]
push 0
push 0x80a7
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0x8013
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test ecx, ecx
je 0x42333a
mov edx, dword [esi + 0x1c]
push 0
push 0x80ad
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov eax, dword [esi + 0x1c]
push 0
push 0x8014
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je 0x42338a
mov ecx, dword [esi + 0x1c]
push 0
push 0x800e
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov edx, dword [esi + 0x1c]
push 0
push 0x8016
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je 0x4233da
mov eax, dword [esi + 0x1c]
push 0
push 0x800f
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0x8017
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je 0x42342a
mov edx, dword [esi + 0x1c]
push 0
push 0x8010
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test edi, edi
je case.0x422ff3.51
mov eax, dword [esi + 0x1c]
push 0
push 0x8018
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0x8011
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je case.0x422ff3.51
mov edx, dword [esi + 0x1c]
push 0
push 0x8012
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je case.0x422ff3.51
mov eax, dword [esi + 0x1c]
push 0
push 0x80d1
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je case.0x422ff3.51
mov ecx, dword [esi + 0x1c]
push 0
push 0x80db
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
je case.0x422ff3.51
mov edx, dword [esi + 0x1c]
push 0
push 0x8019
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret 4