Function at 0x423a00
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 0x423a4b
test ebp, ebp
jne 0x423a4b
test ecx, ecx
jne 0x423a4b
mov edi, 1
jmp 0x423a4d
xor edi, edi
test ebx, ebx
jne 0x423a73
test ebp, ebp
jne 0x423a73
test ecx, ecx
je 0x423a73
mov eax, 1
xor edx, edx
test ebx, ebx
je 0x423a86
test ebp, ebp
je 0x423a86
test ecx, ecx
jne 0x423a86
mov ecx, 1
jmp 0x423a88
xor eax, eax
test ebx, ebx
jne 0x423a5e
test ebp, ebp
je 0x423a5e
test ecx, ecx
jne 0x423a5e
mov edx, 1
xor ecx, ecx
mov ebx, dword [esp + 0x14]
lea ebp, [ebx - 0x1b]
cmp ebp, 0xa2
ja case.0x423aa3.51
xor ebx, ebx
mov bl, byte [ebp + 0x42402c]
jmp dword [ebx*4 + 0x423fc8]
mov eax, dword [0x742a68]
test eax, eax
je case.0x423aa3.51
mov ecx, esi
call fcn.00422bb0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
push 0
je 0x423af0
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 0x423b36
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 0x423bdc
mov ecx, esi
call fcn.00422620
mov esi, eax
test esi, esi
je case.0x423aa3.51
mov eax, dword [esi + 0xc8]
push ecx
add eax, 0x34
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00628589
mov ecx, dword [esi + 0xc8]
call fcn.00439490
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 0x423c24
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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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 0x423d9a
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.0x423aa3.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 0x423dea
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.0x423aa3.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 0x423e3a
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.0x423aa3.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 0x423e8a
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.0x423aa3.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 0x423eda
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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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.0x423aa3.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