Function at 0x4589f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi]
mov eax, dword [eax + 0x110]
cmp eax, method.ui::Control.virtual_272
jne 0x458ce9
mov al, byte [esi + 0x300]
mov edi, dword [ebp + 8]
test al, al
jne 0x458a48
mov eax, dword [edi]
cmp eax, 8
jle 0x458a48
cmp eax, 0x14
jge 0x458a48
mov ecx, dword [esi + 0x190]
push edi
test ecx, ecx
je 0x458cd9
mov eax, dword [ecx]
call dword [eax + 0x1a0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi], 0x13
jne 0x458aa6
mov ecx, dword [esi + 0xeb8]
test ecx, ecx
je 0x458aa6
mov eax, dword [ecx]
mov eax, dword [eax + 0x268]
cmp eax, method.ui::ListContainerElement.2.virtual_616
jne 0x458cf0
mov eax, dword [ecx + 0xe50]
test eax, eax
jne 0x458a97
mov ecx, dword [esi + 0xeb8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x26c]
cmp eax, method.ui::ListContainerElement.2.virtual_620
jne 0x458cf7
mov eax, dword [ecx + 0xe54]
test eax, eax
je 0x458aa6
mov ecx, dword [esi + 0xeb8]
push edi
mov eax, dword [ecx]
call dword [eax + 0x1a0]
cmp dword [edi], 3
jne case.0x458ac6.37
movzx eax, word [edi + 0x18]
add eax, 0xffffffdf
cmp eax, 0x20
ja case.0x458ac6.37
movzx eax, byte [eax + 0x458d48]
jmp dword [eax*4 + 0x458d28]
cmp dword [esi + 0xea4], 0
jle 0x458ce0
mov ecx, esi
call fcn.00458950
mov edx, dword [esi + 0xe98]
add esi, 0xe98
mov ecx, esi
lea edi, [eax - 1]
call dword [edx + 0x44]
mov eax, dword [esi]
mov ecx, esi
push 1
test edi, edi
jle 0x458c1d
push edi
call dword [eax + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0xea4], 0
jle 0x458ce0
mov ecx, esi
call fcn.004589a0
mov edx, dword [esi + 0xe98]
lea edi, [esi + 0xe98]
mov ecx, edi
lea ebx, [eax + 1]
call dword [edx + 0x44]
mov ecx, dword [esi + 0xeb8]
add ecx, 0xe18
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
cmp eax, fcn.0047d920
jne 0x458cfe
mov eax, dword [ecx + 8]
lea ecx, [ebx + 1]
cmp ecx, eax
jle 0x458b81
mov eax, dword [esi + 0xe18]
lea ecx, [esi + 0xe18]
call dword [eax + 0xc]
mov edx, dword [edi]
dec eax
push 1
push eax
mov ecx, edi
call dword [edx + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi]
mov ecx, edi
push 1
push ebx
call dword [eax + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
mov eax, dword [eax + 0x23c]
cmp eax, method.ui::List.1.virtual_572
jne 0x458d05
mov ecx, dword [esi + 0xeb8]
mov eax, dword [ecx]
call dword [eax + 0x23c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
mov eax, dword [eax + 0x240]
cmp eax, method.ui::List.1.virtual_576
jne 0x458d05
mov ecx, dword [esi + 0xeb8]
mov eax, dword [ecx]
call dword [eax + 0x240]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0xeb8]
add ecx, 0xe18
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
cmp eax, fcn.0047d920
jne 0x458d12
mov eax, dword [ecx + 8]
test eax, eax
jle 0x458ce0
mov eax, dword [esi + 0xe98]
lea ecx, [esi + 0xe98]
push 1
push 0
call dword [eax + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0xeb8]
add ecx, 0xe18
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
cmp eax, fcn.0047d920
jne 0x458d19
mov eax, dword [ecx + 8]
test eax, eax
jle 0x458ce0
mov ecx, dword [esi + 0xeb8]
add ecx, 0xe18
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
cmp eax, fcn.0047d920
jne 0x458d20
mov eax, dword [ecx + 8]
lea ecx, [esi + 0xe98]
mov edx, dword [ecx]
dec eax
push 1
push eax
call dword [edx + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi + 0xe98]
lea ecx, [esi + 0xe98]
push 1
dec eax
push eax
call dword [edx + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esi + 0xe9d], 0
jne 0x458ce0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x458ce0
mov eax, dword [esi + 0xe98]
lea ecx, [esi + 0xe98]
call dword [eax + 0x40]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00478d40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call eax
jmp 0x458a15
call eax
jmp 0x458a70
call eax
jmp 0x458a93
call eax
jmp 0x458b57
mov ecx, esi
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call eax
jmp 0x458c07
call eax
jmp 0x458c4a
call eax
jmp 0x458c89