Function at 0x4829cc
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
xor ebx, ebx
cmp dword [ebp + 0x1c], ebx
push edi
mov edi, eax
je 0x482a31
cmp dword [ebp + 0x1c], 0x6a
jne 0x482b8a
cmp dword [ebp + 0xc], 0x100
jne 0x482b8a
movzx eax, word [ebp + 0x10]
cmp eax, 0x61
mov dword [edi + 0x5c4], ebx
je 0x482a0a
cmp eax, 0x41
jne 0x482a21
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test al, al
jns 0x482a21
lea esi, [edi + 0x598]
call fcn.0048561f
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
cmp dword [edi + 0x5c4], ebx
jmp 0x482b84
mov eax, dword [ebp + 0xc]
cmp eax, 0x113
jne 0x482a91
mov eax, dword [ebp + 0x10]
dec eax
mov dword [edi + 0x5c4], 1
je 0x482a71
dec eax
je 0x482a68
dec eax
jne 0x482a78
push ebx
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push 3
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x482a78
mov esi, edi
call fcn.004846d3
jmp 0x482a78
mov esi, edi
call fcn.00484172
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
cmp dword [edi + 0x5c4], ebx
je 0x482b6b
xor eax, eax
inc eax
jmp 0x482b8c
cmp eax, 0x4e
jne 0x482abf
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], 0xffffffff
jne 0x482b6b
lea esi, [edi + 0x5c4]
mov ecx, edi
mov dword [esi], 1
call fcn.0048286c
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
cmp dword [esi], ebx
jmp 0x482a83
cmp eax, 0x110
jne 0x482adb
lea esi, [edi + 0x5c4]
mov ecx, edi
mov dword [esi], 1
call fcn.0048345c
jmp 0x482ab6
cmp eax, 0x10
jne 0x482b04
push ebx
push 2
push 0x111
push dword [edi + 4]
lea esi, [edi + 0x5c4]
mov dword [esi], 1
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
jmp 0x482abb
push 2
pop ecx
cmp eax, ecx
jne 0x482b2e
lea eax, [edi + 0x648]
push eax
lea esi, [edi + 0x5c4]
push ecx
mov dword [esi], 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, edi
call fcn.00411f64
jmp 0x482afd
cmp eax, 0x112
jne 0x482b95
mov eax, dword [ebp + 0x10]
lea ebx, [edi + 0x5c4]
and dword [ebx], 0
and eax, 0xfff0
cmp eax, 0xf060
jne 0x482b5a
mov esi, edi
mov dword [ebx], 1
call fcn.00483c52
mov eax, dword [ebp + 0x18]
and dword [eax], 0
cmp dword [ebx], 0
jne 0x482a89
xor ebx, ebx
push ebx
push dword [ebp + 0x18]
mov ecx, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040e85f
test eax, eax
jne 0x482a89
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x111
jne 0x482bc2
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cmp ax, 0x300
lea esi, [edi + 0x5c4]
mov dword [esi], ebx
jne 0x482afd
mov ebx, edi
call fcn.00484c50
xor ebx, ebx
jmp 0x482afd
cmp eax, 0x133
jne 0x482bfc
push ecx
mov ecx, dword [ebp + 0x14]
mov eax, esp
mov dword [esp + 0x10], esp
push ecx
mov dword [edi + 0x5c4], 1
mov dword [eax], ecx
mov ecx, dword [ebp + 0x10]
mov eax, esp
mov dword [eax], ecx
mov ecx, edi
mov dword [esp + 0x14], esp
call fcn.00484ad6
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jmp 0x482a7d
cmp eax, 0x467
jne 0x482c32
mov ebx, dword [ebp + 0x10]
lea esi, [edi + 0x5c4]
push ebx
mov ecx, edi
mov dword [esi], 1
call fcn.00484220
xor ecx, ecx
inc ecx
mov edx, edi
call fcn.0048402a
mov eax, dword [ebp + 0x18]
and dword [eax], 0
cmp dword [esi], 0
jmp 0x482b63
cmp eax, 0x46b
jne 0x482c59
push dword [ebp + 0x10]
lea ebx, [edi + 0x5c4]
mov esi, edi
mov dword [ebx], 1
call fcn.00483789
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jmp 0x482b60
cmp eax, 0x46e
jne 0x482c95
xor esi, esi
inc esi
mov dword [edi + 0x5c4], esi
mov dword [edi + 0x628], 0x14
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.004aa217
pop ecx
push ebx
push 0x96
push esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x482a78
cmp eax, 0x46d
jne 0x482cbb
push ebx
lea esi, [edi + 0x5c4]
push 0xc8
lea eax, [edi + 0x28]
mov dword [esi], 1
call fcn.0040e937
jmp 0x482afd
cmp eax, 0x470
jne 0x482ced
push 5
lea esi, [edi + 0x5c4]
xor ebx, ebx
pop ecx
mov edx, edi
mov dword [esi], 1
call fcn.0048402a
mov eax, edi
call fcn.0048429d
mov eax, dword [ebp + 0x18]
and dword [eax], ebx
cmp dword [esi], ebx
jmp 0x482b63
cmp eax, 0x471
jne 0x482d0c
lea ebx, [edi + 0x5c4]
mov esi, edi
mov dword [ebx], 1
call fcn.0048381f
jmp 0x482c4f
cmp eax, 0x46c
jne 0x482d2e
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x5c4]
mov edx, edi
mov dword [esi], 1
call fcn.00483995
jmp 0x482ab6
cmp eax, 0x468
jne 0x482d77
cmp dword [ebp + 0x10], ecx
jne 0x482d6d
cmp dword [ebp + 0x14], 0x204
je 0x482d4c
cmp dword [ebp + 0x14], 0x201
jne 0x482d6d
lea eax, [edi + 0x600]
cmp byte [eax], bl
jne 0x482d59
mov byte [eax], 1
push 9
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
jmp 0x482a89
cmp eax, 0x46a
jne 0x482d96
lea esi, [edi + 0x5c4]
mov eax, edi
mov dword [esi], 1
call fcn.0040e7c2
jmp 0x482afd
cmp eax, 0x472
jne 0x482db3
lea esi, [edi + 0x5c4]
mov dword [esi], 1
call fcn.00483cef
jmp 0x482afd
cmp eax, 0x474
jne 0x482dd2
lea esi, [edi + 0x5c4]
mov eax, edi
mov dword [esi], 1
call fcn.004839e4
jmp 0x482ab6
cmp eax, 0x476
jne 0x482b6b
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
lea esi, [edi + 0x5c4]
mov edx, edi
mov dword [esi], 1
call fcn.00483a42
jmp 0x482ab6