Function at 0x50a82c
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2218
call fcn.00412510
cmp dword [ebp - 8], 0x2710
jne 0x50a880
push 0x90
call sub.user32.dll_GetKeyState
test al, 1
je 0x50aa92
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
jmp 0x50aa92
cmp dword [ebp - 8], 0x2711
jne 0x50a8ae
push 0x14
call sub.user32.dll_GetKeyState
test al, 1
je 0x50aa92
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
jmp 0x50aa92
cmp dword [ebp - 8], 0x2712
jne 0x50a8df
push 0x91
call sub.user32.dll_GetKeyState
test al, 1
je 0x50aa92
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
jmp 0x50aa92
cmp dword [ebp - 8], 0x2713
jne 0x50a90d
push 0x15
call sub.user32.dll_GetKeyState
test al, 1
je 0x50aa92
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
jmp 0x50aa92
cmp dword [ebp - 8], 0x2714
jne 0x50a954
call sub.user32.dll_GetForegroundWindow
push eax
call sub.imm32.dll_ImmGetDefaultIMEWnd
mov dword [ebp - 0x10], eax
push 0
push 5
push 0x283
mov eax, dword [ebp - 0x10]
push eax
call sub.user32.dll_SendMessageA
test eax, eax
je 0x50aa92
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
jmp 0x50aa92
mov eax, dword [ebp - 4]
cmp byte [eax + 0x37c], 0
je 0x50a97c
cmp dword [ebp - 8], 1
jne 0x50a96f
mov dword [ebp - 8], 2
jmp 0x50a97c
cmp dword [ebp - 8], 2
jne 0x50a97c
mov dword [ebp - 8], 1
cmp dword [ebp - 8], 0x385
jne 0x50a98c
mov dword [ebp - 8], 0xd
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_GetAsyncKeyState
test ax, ax
je 0x50aa0b
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
cmp dword [ebp - 8], 8
jl 0x50aa0b
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_GetAsyncKeyState
test ax, ax
je 0x50aa0b
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0050a7fc
test al, al
jne 0x50aa0b
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_GetAsyncKeyState
test ax, ax
je 0x50aa0b
lea eax, [ebp - 0x110]
push eax
call sub.user32.dll_GetKeyboardState
mov eax, dword [ebp - 8]
cmp eax, 0xff
jbe 0x50a9f7
call fcn.00403a58
mov byte [ebp + eax - 0x110], 0
lea eax, [ebp - 0x110]
push eax
call sub.user32.dll_SetKeyboardState
cmp dword [ebp - 8], 1
jne 0x50aa38
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2248], 0
je 0x50aa2e
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
mov eax, dword [ebp - 4]
mov byte [eax + 0x2248], 0
cmp dword [ebp - 8], 2
jne 0x50aa65
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2249], 0
je 0x50aa5b
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
mov eax, dword [ebp - 4]
mov byte [eax + 0x2249], 0
cmp dword [ebp - 8], 4
jne 0x50aa92
mov eax, dword [ebp - 4]
cmp byte [eax + 0x224a], 0
je 0x50aa88
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
add edx, 0x2208
call fcn.00412510
mov eax, dword [ebp - 4]
mov byte [eax + 0x224a], 0
mov esp, ebp
pop ebp
ret