Function at 0x459824
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x14
mov eax, 0x50cfa8
call fcn.004f41ae
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x20]
call fcn.004d840a
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
xor esi, esi
push edi
mov dword [ebp - 4], esi
call fcn.004d8598
test al, al
je 0x459af1
mov ebx, dword [ebp + 0x10]
lea eax, [ebx - 0xabbe]
cmp eax, 0x2a
ja case.0x45986d.43967
movzx eax, byte [eax + 0x459b54]
jmp dword [eax*4 + 0x459b04]
mov ecx, dword [ebp - 0x10]
cmp byte [ecx + 0x14], 0
jne 0x4598a0
mov eax, dword [0x5a23ec]
cmp byte [eax + 0x110b4], 0
je 0x4598a0
push esi
push esi
push edi
call fcn.004d7c55
add esp, 0xc
test al, al
je 0x4598a0
push esi
jmp 0x459a1c
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00483eaa
jmp 0x459af1
push esi
push esi
push esi
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00485799
jmp 0x459af1
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.0049636e
jmp 0x459af1
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00485dab
jmp 0x459af1
push esi
push esi
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.0048322f
jmp 0x459af1
cmp ebx, 0xabd6
je 0x459936
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x459936
push esi
push esi
push esi
push esi
push esi
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00486208
jmp 0x459af1
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00482dbc
jmp 0x459af1
mov ecx, str.Split_0_0_50_
cmp ebx, 0xabe6
mov eax, str.Split_0_50_0_
cmovne eax, ecx
push esi
push eax
call fcn.004e230a
pop ecx
pop ecx
push esi
push esi
mov ecx, edi
mov ebx, eax
call fcn.004de78b
push eax
push ebx
call fcn.00455bbb
add esp, 0x10
mov esi, eax
test ebx, ebx
je 0x459987
push ebx
call fcn.004e1bea
pop ecx
test esi, esi
je 0x459af1
push esi
call fcn.004e1bea
pop ecx
jmp 0x459af1
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00483acf
jmp 0x459af1
push esi
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.004de78b
mov ecx, eax
call fcn.00495eca
jmp 0x459af1
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.004de78b
mov ecx, eax
call fcn.004960f9
jmp 0x459af1
push 1
push 1
push esi
mov ecx, edi
call fcn.004de78b
mov ecx, eax
call fcn.00483b92
jmp 0x459af1
cmp ebx, 0xabe0
sete al
movzx eax, al
push eax
push edi
call fcn.004d2589
pop ecx
jmp 0x459995
push esi
push esi
push esi
call fcn.004d2466
add esp, 0xc
jmp 0x459af1
push esi
push esi
push edi
jmp 0x459a2b
push esi
push 1
jmp 0x459a2a
push esi
push 2
jmp 0x459a3a
push esi
mov ecx, edi
call fcn.004e1974
test al, al
je 0x459af1
cmp ebx, 0xabde
je 0x459a71
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x459a74
xor esi, esi
inc esi
push 2
xor eax, eax
cmp ebx, 0xabd3
pop ecx
cmove eax, ecx
push eax
push esi
push 1
mov ecx, dword [0x5a22a0]
call fcn.0041897c
jmp 0x459af1
mov ecx, dword [0x5a23f0]
push esi
push 1
call fcn.0046aa38
push eax
jmp 0x459a86
push esi
push esi
push 0xabda
jmp 0x459ae3
cmp dword [ebp + 8], 2
jne 0x459ac8
lea eax, [ebx - 0xab40]
cmp eax, 0x60
ja 0x459ac8
push eax
mov ecx, edi
call fcn.004da9f7
jmp 0x459af1
cmp ebx, 0xabd1
jl 0x459ad8
cmp ebx, 0xabe8
jle 0x459af1
cmp ebx, 0xab00
jl 0x459af1
push esi
push esi
push ebx
push dword [0x5a22a4]
mov ecx, dword [ebp - 0x10]
call fcn.0045b47c
lea ecx, [ebp - 0x20]
call fcn.004d84a5
call fcn.004f4177
ret 0xc