Function at 0x454864
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
call fcn.00465c90
test eax, eax
je 0x454e0b
push 0xa0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x45495d
mov dword [ebp - 0x110], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x10c], 0x4c2560
mov dword [ebp - 0x108], 0xa0
mov dword [ebp - 0x104], 0x4c24a0
mov dword [ebp - 0x100], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x4548e9
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x10c]
call fcn.0045763c
push 0
push 0xa0
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0xa0
call dword [sym.imp.USER32.dll_keybd_event]
push 0xa0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454922
mov eax, 0x4c24a0
jmp 0x454927
mov eax, 0x4c25c0
mov dword [ebp - 0x4c], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x48], 0x4c25e0
mov dword [ebp - 0x44], 0xa0
mov dword [ebp - 0x40], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x45495d
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x48]
call fcn.0045763c
push 0xa2
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454a40
mov dword [ebp - 0x128], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x124], 0x4c2560
mov dword [ebp - 0x120], 0xa2
mov dword [ebp - 0x11c], 0x4c24a0
mov dword [ebp - 0x118], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x4549cc
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x124]
call fcn.0045763c
push 0
push 0xa2
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0xa2
call dword [sym.imp.USER32.dll_keybd_event]
push 0xa2
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454a05
mov eax, 0x4c24a0
jmp 0x454a0a
mov eax, 0x4c25c0
mov dword [ebp - 0x60], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x5c], 0x4c25e0
mov dword [ebp - 0x58], 0xa2
mov dword [ebp - 0x54], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454a40
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x5c]
call fcn.0045763c
push 0xa4
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454b23
mov dword [ebp - 0x140], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x13c], 0x4c2560
mov dword [ebp - 0x138], 0xa4
mov dword [ebp - 0x134], 0x4c24a0
mov dword [ebp - 0x130], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454aaf
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x13c]
call fcn.0045763c
push 0
push 0xa4
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0xa4
call dword [sym.imp.USER32.dll_keybd_event]
push 0xa4
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454ae8
mov eax, 0x4c24a0
jmp 0x454aed
mov eax, 0x4c25c0
mov dword [ebp - 0x74], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x70], 0x4c25e0
mov dword [ebp - 0x6c], 0xa4
mov dword [ebp - 0x68], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454b23
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x70]
call fcn.0045763c
push 0xa1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454c12
mov dword [ebp - 0x158], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x154], 0x4c2560
mov dword [ebp - 0x150], 0xa1
mov dword [ebp - 0x14c], 0x4c24a0
mov dword [ebp - 0x148], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454b92
lea eax, [ebp - 0x150]
push eax
push dword [ebp - 0x154]
call fcn.0045763c
push 0
push 0xa1
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0xa1
call dword [sym.imp.USER32.dll_keybd_event]
push 0xa1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454bcb
mov eax, 0x4c24a0
jmp 0x454bd0
mov eax, 0x4c25c0
mov dword [ebp - 0x88], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x84], 0x4c25e0
mov dword [ebp - 0x80], 0xa1
mov dword [ebp - 0x7c], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454c12
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x84]
call fcn.0045763c
push 0xa3
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454d0a
mov dword [ebp - 0x170], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], 0x4c2560
mov dword [ebp - 0x168], 0xa3
mov dword [ebp - 0x164], 0x4c24a0
mov dword [ebp - 0x160], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454c81
lea eax, [ebp - 0x168]
push eax
push dword [ebp - 0x16c]
call fcn.0045763c
push 0
push 0xa3
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0xa3
call dword [sym.imp.USER32.dll_keybd_event]
push 0xa3
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454cba
mov eax, 0x4c24a0
jmp 0x454cbf
mov eax, 0x4c25c0
mov dword [ebp - 0x9c], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x98], 0x4c25e0
mov dword [ebp - 0x94], 0xa3
mov dword [ebp - 0x90], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454d0a
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x98]
call fcn.0045763c
push 0xa5
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x455090
mov dword [ebp - 0x188], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x184], 0x4c2560
mov dword [ebp - 0x180], 0xa5
mov dword [ebp - 0x17c], 0x4c24a0
mov dword [ebp - 0x178], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454d79
lea eax, [ebp - 0x180]
push eax
push dword [ebp - 0x184]
call fcn.0045763c
push 0
push 0xa5
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0xa5
call dword [sym.imp.USER32.dll_keybd_event]
push 0xa5
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454db2
mov eax, 0x4c24a0
jmp 0x454db7
mov eax, 0x4c25c0
mov dword [ebp - 0xb0], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xac], 0x4c25e0
mov dword [ebp - 0xa8], 0xa5
mov dword [ebp - 0xa4], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x455090
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xac]
call fcn.0045763c
jmp 0x455090
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454ee2
mov dword [ebp - 0xc8], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc4], 0x4c2560
mov dword [ebp - 0xc0], 0x10
mov dword [ebp - 0xbc], 0x4c24a0
mov dword [ebp - 0xb8], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454e77
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc4]
call fcn.0045763c
push 0
push 0x10
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0x10
call dword [sym.imp.USER32.dll_keybd_event]
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454ea7
mov eax, 0x4c24a0
jmp 0x454eac
mov eax, 0x4c25c0
mov dword [ebp - 0x10], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xc], 0x4c25e0
mov dword [ebp - 8], 0x10
mov dword [ebp - 4], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454ee2
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
call fcn.0045763c
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454fb9
mov dword [ebp - 0xe0], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xdc], 0x4c2560
mov dword [ebp - 0xd8], 0x11
mov dword [ebp - 0xd4], 0x4c24a0
mov dword [ebp - 0xd0], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454f4e
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xdc]
call fcn.0045763c
push 0
push 0x11
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0x11
call dword [sym.imp.USER32.dll_keybd_event]
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x454f7e
mov eax, 0x4c24a0
jmp 0x454f83
mov eax, 0x4c25c0
mov dword [ebp - 0x24], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], 0x4c25e0
mov dword [ebp - 0x1c], 0x11
mov dword [ebp - 0x18], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x454fb9
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x20]
call fcn.0045763c
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x455090
mov dword [ebp - 0xf8], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf4], 0x4c2560
mov dword [ebp - 0xf0], 0x12
mov dword [ebp - 0xec], 0x4c24a0
mov dword [ebp - 0xe8], 0x4c25c0
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x455025
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0xf4]
call fcn.0045763c
push 0
push 0x12
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
movzx eax, al
push 2
push eax
push 0x12
call dword [sym.imp.USER32.dll_keybd_event]
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test eax, 0x8000
je 0x455055
mov eax, 0x4c24a0
jmp 0x45505a
mov eax, 0x4c25c0
mov dword [ebp - 0x38], 9
mov ecx, 0x4a3b98
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], 0x4c25e0
mov dword [ebp - 0x30], 0x12
mov dword [ebp - 0x2c], eax
mov eax, dword [0x4a3ba4]
cmp eax, 9
jl 0x455090
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x34]
call fcn.0045763c
mov esp, ebp
pop ebp
ret