Function at 0x458e09
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x7620], edi
jne 0x458e2c
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jge 0x458e2c
mov ecx, esi
call fcn.0044c611
cmp dword [esi + 0x1b88], edi
je 0x458e42
mov eax, dword [esi + 0x1b94]
mov dword [esi + 0x1ba0], eax
jmp 0x458e56
cmp dword [esi + 0x1ba8], edi
je 0x458e56
mov eax, dword [esi + 0x1bac]
mov dword [esi + 0x1bb8], eax
cmp dword [esi + 0x1bc4], edi
je 0x458e6c
mov eax, dword [esi + 0x1bcc]
mov dword [esi + 0x1bd8], eax
jmp 0x458e80
cmp dword [esi + 0x1be0], edi
je 0x458e80
mov eax, dword [esi + 0x1be4]
mov dword [esi + 0x1bf0], eax
cmp dword [esi + 0x1bf8], edi
je 0x458e96
mov eax, dword [esi + 0x1c00]
mov dword [esi + 0x1c0c], eax
jmp 0x458eaa
cmp dword [esi + 0x1c14], edi
je 0x458eaa
mov eax, dword [esi + 0x1c18]
mov dword [esi + 0x1c24], eax
cmp dword [esi + 0x1c2c], edi
je 0x458ec0
mov eax, dword [esi + 0x1c34]
mov dword [esi + 0x1c40], eax
jmp 0x458ed4
cmp dword [esi + 0x1c48], edi
je 0x458ed4
mov eax, dword [esi + 0x1c4c]
mov dword [esi + 0x1c58], eax
cmp dword [esi + 0x1c60], edi
je 0x458ee8
mov eax, dword [esi + 0x1c64]
mov dword [esi + 0x1c70], eax
mov eax, dword [esi + 0x1af4]
cmp eax, edi
je 0x458efe
mov ecx, dword [esi + 0x1af8]
mov dword [esi + 0x1b04], ecx
cmp dword [esi + 0x1c78], edi
je 0x458f12
mov ecx, dword [esi + 0x1c7c]
mov dword [esi + 0x1c88], ecx
cmp dword [esi + 0x1b34], edi
je 0x458f26
mov ecx, dword [esi + 0x1b38]
mov dword [esi + 0x1b44], ecx
cmp dword [esi + 0x1c90], edi
je 0x458f3a
mov ecx, dword [esi + 0x1c94]
mov dword [esi + 0x1ca0], ecx
xor ebx, ebx
inc ebx
cmp dword [esi + 0x1b14], edi
je 0x458f5b
mov ecx, dword [esi + 0x1b1c]
mov dword [esi + 0x1b28], ecx
cmp eax, edi
je 0x458f5b
mov dword [esi + 0x1ce2c], ebx
cmp dword [esi + 0x1b4c], edi
je 0x458f98
mov ecx, esi
mov dword [esi + 0x1cdbc], edi
call fcn.0044cf56
lea eax, [esi + 0x1b54]
xor edx, edx
cmp dword [eax], edi
jbe 0x458f8c
lea ecx, [esi + 0x1b78]
mov dword [ecx], ebx
inc edx
add ecx, 4
cmp edx, dword [eax]
jb 0x458f82
mov dword [esi + 0x1cdc4], ebx
mov dword [esi + 0x380c], edi
cmp dword [esi + 0x1ca8], edi
je 0x458fba
mov eax, dword [esi + 0x1cac]
mov dword [esi + 0x1cb8], eax
cmp dword [esi + 0x1c60], edi
je 0x458fba
mov dword [esi + 0x1ce30], ebx
cmp dword [esi + 0x1cc0], edi
je 0x458fce
mov eax, dword [esi + 0x1cc4]
mov dword [esi + 0x1cc8], eax
cmp dword [esi + 0x1cf0], edi
je 0x45909f
cmp dword [esi + 0x1cf8], edi
jne 0x459012
cmp dword [esi + 0x1cfc], edi
jne 0x459012
xor ecx, ecx
cmp dword [esi + 0x1d08], edi
jbe 0x45900a
lea eax, [esi + 0x1d18]
fldz
inc ecx
fstp dword [eax]
add eax, 0xc
cmp ecx, dword [esi + 0x1d08]
jb 0x458ffa
mov dword [esi + 0x1cf4], edi
jmp 0x45903f
xor ecx, ecx
cmp dword [esi + 0x1d08], edi
jbe 0x45903f
lea eax, [esi + 0x1d14]
fld dword [eax + 0x600]
inc ecx
fstp dword [eax]
add eax, 0xc
fld dword [eax + 0x5f0]
fstp dword [eax - 0x10]
cmp ecx, dword [esi + 0x1d08]
jb 0x459022
mov eax, dword [esi + 0x2914]
cmp eax, edi
je 0x45906c
xor ecx, ecx
cmp eax, edi
jbe 0x45906c
lea eax, [esi + 0x2920]
fld dword [eax - 8]
inc ecx
fstp dword [eax]
add eax, 0x10
fld dword [eax - 0x14]
fstp dword [eax - 0xc]
cmp ecx, dword [esi + 0x2914]
jb 0x459055
mov eax, dword [esi + 0x2958]
cmp eax, edi
je 0x459099
xor ecx, ecx
cmp eax, edi
jbe 0x459099
lea eax, [esi + 0x2964]
fld dword [eax - 8]
inc ecx
fstp dword [eax]
add eax, 0x10
fld dword [eax - 0x14]
fstp dword [eax - 0xc]
cmp ecx, dword [esi + 0x2958]
jb 0x459082
mov dword [esi + 0x2910], edi
push 0xffffffffffffffff
mov ecx, esi
call fcn.0044a289
push ebx
push ebx
push edi
mov ecx, esi
call fcn.004560c8
cmp dword [esi + 0x1cf8], edi
jne 0x4590c5
cmp dword [esi + 0x1cfc], edi
jne 0x4590c5
push ebx
jmp 0x4590c6
push edi
mov ecx, esi
call fcn.00446ecd
mov ecx, esi
call fcn.00448ac8
mov ecx, esi
call fcn.00448ee4
mov ecx, esi
call fcn.0044d00d
mov ecx, esi
call fcn.00445a96
mov ecx, esi
call fcn.00445ab3
mov ecx, esi
call fcn.00445ad7
mov ecx, esi
call fcn.0044e933
mov ecx, esi
call fcn.0044e9f6
mov ecx, esi
call fcn.00449627
mov ecx, esi
call fcn.0044411e
mov ecx, esi
call fcn.004451e3
mov ecx, esi
call fcn.004457c0
push edi
mov ecx, esi
call fcn.00453d8f
pop edi
pop esi
pop ebx
ret