Function at 0x493140
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4bf660
push eax
mov dword fs:[0], esp
push esi
mov esi, ecx
test esi, esi
je 0x4933e1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0xc]
jne 0x4933e1
mov ecx, dword [0x50b3a0]
cmp byte [ecx + 0x11407], 0
je 0x4933e1
mov eax, dword [ebp + 8]
cmp eax, 1
jne 0x4931a2
mov ecx, esi
call fcn.004925e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 2
jne 0x49323f
mov ecx, dword [0x50b39c]
add ecx, 0xe8
call fcn.004318b0
test al, al
je 0x4931e6
mov edx, dword [0x50b39c]
mov ecx, dword [edx + 0x4230]
push 0
push 0
call fcn.0043f450
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [0x50b3a0]
cmp byte [eax + 0x1141c], 0
jne 0x49320f
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
and ax, cx
mov edx, ecx
cmp ax, dx
je 0x49320f
xor eax, eax
jmp 0x493214
mov eax, 1
mov ecx, dword [0x50b3a0]
push 0
push eax
call fcn.00442960
mov ecx, dword [0x50b39c]
push eax
call fcn.0040bd90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 3
jne 0x4932c3
lea ecx, [ebp + 0xc]
call fcn.004a4720
mov ecx, dword [0x50b39c]
push 0
lea eax, [ebp + 0xc]
push eax
mov dword [ebp - 4], 0
call fcn.004065f0
test eax, eax
jl 0x493284
lea ecx, [ebp + 0xc]
call fcn.004a4800
test eax, eax
je 0x493284
mov ecx, eax
call fcn.004a4a70
mov ecx, eax
call fcn.00476e70
jmp 0x493286
xor eax, eax
mov ecx, dword [esi + 8]
push eax
push 3
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [0x50b39c]
call fcn.00409c30
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.004a4770
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 4
jne 0x493347
lea ecx, [ebp + 8]
call fcn.004a4720
mov ecx, dword [0x50b39c]
push 0
lea edx, [ebp + 8]
push edx
mov dword [ebp - 4], 1
call fcn.004065f0
test eax, eax
jl 0x493308
lea ecx, [ebp + 8]
call fcn.004a4800
test eax, eax
je 0x493308
mov ecx, eax
call fcn.004a4a70
mov ecx, eax
call fcn.00476e20
jmp 0x49330a
xor eax, eax
push eax
mov eax, dword [esi + 8]
push 4
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [0x50b39c]
call fcn.00409ae0
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0xffffffff
call fcn.004a4770
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 5
jne 0x493376
mov ecx, dword [0x50b384]
push 0
push 0xf020
push 0x112
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 6
jne 0x4933aa
mov eax, dword [0x50b39c]
mov edx, 0x200
or word [eax + 0x42c0], dx
mov ecx, dword [0x50b39c]
push 1
call fcn.0041a870
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 7
jne 0x4933d1
mov ecx, dword [0x50b39c]
add ecx, 0xb0
call fcn.00430710
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 8
jne 0x4933e1
mov ecx, dword [0x50b39c]
call fcn.004a18f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8