Function at 0x586740
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x586ebf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.0057356c
movzx eax, si
add eax, 0xfffffff7
cmp eax, 0xf2
ja case.0x58677e.9
mov al, byte [eax + 0x586785]
jmp dword [eax*4 + 0x586878]
mov eax, edi
mov edx, 0x586ed8
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586ee8
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586ef4
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f04
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f14
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f20
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f34
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f48
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x5869dd
mov eax, edi
mov edx, 0x586f5c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f68
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586a03
mov eax, edi
mov edx, 0x586f74
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f80
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586a29
mov eax, edi
mov edx, 0x586f8c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f98
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586a4f
mov eax, edi
mov edx, 0x586fa4
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586fb0
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586a75
mov eax, edi
mov edx, 0x586fbc
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586fc8
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586a9b
mov eax, edi
mov edx, 0x586fd4
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586fe0
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586ac1
mov eax, edi
mov edx, 0x586fec
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586ff8
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586ae7
mov eax, edi
mov edx, 0x587004
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587010
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586b0d
mov eax, edi
mov edx, 0x58701c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587028
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586b33
mov eax, edi
mov edx, 0x587034
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587040
call fcn.005735c0
jmp 0x586ea4
push 0x14
call sub.user32.dll_GetKeyState
call fcn.005803b8
test al, al
je 0x586b86
test bl, bl
je 0x586b71
lea eax, [ebp - 4]
mov edx, esi
call fcn.00573754
mov eax, dword [ebp - 4]
mov edx, edi
call fcn.00579c60
jmp 0x586ea4
mov eax, esi
call fcn.00572660
mov edx, eax
mov eax, edi
call fcn.00573754
jmp 0x586ea4
test bl, bl
je 0x586b9f
mov eax, esi
call fcn.00572660
mov edx, eax
mov eax, edi
call fcn.00573754
jmp 0x586ea4
lea eax, [ebp - 8]
mov edx, esi
call fcn.00573754
mov eax, dword [ebp - 8]
mov edx, edi
call fcn.00579c60
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f80
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586f98
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586fb0
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586fc8
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586fe0
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x586ff8
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587010
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587028
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587040
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58701c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587004
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58704c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587060
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58706c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587078
call fcn.005735c0
jmp 0x586ea4
push 0x587084
lea edx, [ebp - 0xc]
movzx eax, si
sub eax, 0x6f
call fcn.00575bc4
push dword [ebp - 0xc]
push 0x587090
mov eax, edi
mov edx, 3
call fcn.005738e0
jmp 0x586ea4
test bl, bl
je 0x586cf8
mov eax, edi
mov edx, 0x58709c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x5870a8
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586d1e
mov eax, edi
mov edx, 0x5870b4
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x5870c0
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586d44
mov eax, edi
mov edx, 0x5870cc
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x5870d8
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586d6a
mov eax, edi
mov edx, 0x5870e4
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587060
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586d90
mov eax, edi
mov edx, 0x5870f0
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58706c
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586db6
mov eax, edi
mov edx, 0x5870fc
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587078
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586ddc
mov eax, edi
mov edx, 0x587108
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587114
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586e02
mov eax, edi
mov edx, 0x587120
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58712c
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586e25
mov eax, edi
mov edx, 0x587138
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587144
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586e45
mov eax, edi
mov edx, 0x587150
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587090
call fcn.005735c0
jmp 0x586ea4
test bl, bl
je 0x586e65
mov eax, edi
mov edx, 0x58715c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587168
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x587174
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58718c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
mov edx, 0x58719c
call fcn.005735c0
jmp 0x586ea4
mov eax, edi
call fcn.0057356c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x586ec6
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00573590
ret