Function at 0x492720
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x492a68
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x53cc34], 0x7fffffff
mov byte [ebp - 9], 0
mov byte [ebp - 2], 0
mov byte [ebp - 3], 0
mov byte [ebp - 4], 0
mov byte [ebp - 5], 0
xor ebx, ebx
mov eax, esi
call fcn.00491f0c
mov edi, eax
cmp edi, dword [0x53cc34]
jle 0x492778
mov edi, dword [0x53cc34]
test edi, edi
je 0x492a52
cmp edi, ebx
jle 0x492a47
xor eax, eax
mov al, byte [esi + ebx]
cmp eax, 0x29
jg 0x4927ac
je 0x4927ca
sub eax, 0xd
je 0x492a00
sub eax, 0x18
je 0x4927db
sub eax, 3
je 0x4927c0
jmp 0x492a19
sub eax, 0x2b
je 0x4927f4
sub eax, 0x33
je 0x49280d
sub eax, 0x1d
je 0x492826
jmp 0x492a19
mov byte [ebp - 2], 1
inc ebx
jmp 0x492a3f
mov byte [ebp - 2], 0
push ebp
call fcn.004926bc
pop ecx
inc ebx
jmp 0x492a3f
mov byte [ebp - 5], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x12
call fcn.00492434
pop ecx
inc ebx
jmp 0x492a3f
mov byte [ebp - 3], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x10
call fcn.00492434
pop ecx
inc ebx
jmp 0x492a3f
mov byte [ebp - 4], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x11
call fcn.00492434
pop ecx
inc ebx
jmp 0x492a3f
mov word [ebp - 0xe], 1
cmp byte [esi + ebx + 1], 0x7b
jne 0x492863
mov word [ebp - 8], 0xdb
lea eax, [ebp - 7]
mov dl, 1
call fcn.004923e4
push ebp
mov cl, 1
mov dx, 1
mov ax, word [ebp - 8]
call fcn.00492568
pop ecx
push ebp
call fcn.004926bc
pop ecx
add ebx, 3
jmp 0x492a3f
mov byte [ebp - 0x23], 0
mov byte [ebp - 0xa], 0
cmp edi, ebx
jl 0x4928a1
inc ebx
cmp byte [esi + ebx], 0x7d
jne 0x49287d
mov byte [ebp - 0xa], 1
inc ebx
jmp 0x4928a1
mov al, byte [esi + ebx]
call fcn.00402b24
mov edx, eax
lea eax, [ebp - 0x28]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x23]
mov cl, 0x14
call fcn.00402c64
cmp edi, ebx
jge 0x49286f
cmp byte [ebp - 0xa], 0
jne 0x4928b6
mov eax, 0x492a7c
call fcn.004923c0
jmp 0x492a52
cmp byte [esi + ebx], 0x7d
jne 0x4928ea
mov word [ebp - 8], 0xdd
lea eax, [ebp - 7]
mov dl, 1
call fcn.004923e4
push ebp
mov cl, 1
mov dx, 1
mov ax, word [ebp - 8]
call fcn.00492568
pop ecx
push ebp
call fcn.004926bc
pop ecx
inc ebx
jmp 0x492a3f
lea edx, [ebp - 0x23]
mov eax, 0x492a88
call fcn.00402abc
mov byte [ebp - 0xb], al
cmp byte [ebp - 0xb], 0
je 0x492959
lea eax, [ebp - 0x44]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x23]
xor eax, eax
mov al, byte [ebp - 0xb]
sub ecx, eax
xor edx, edx
mov dl, byte [ebp - 0xb]
inc edx
lea eax, [ebp - 0x23]
call fcn.004028cc
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x2c]
call fcn.004044d0
mov eax, dword [ebp - 0x2c]
call fcn.004921a8
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x44]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0xb]
dec ecx
mov edx, 1
lea eax, [ebp - 0x23]
call fcn.004028cc
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x23]
mov cl, 0x14
call fcn.00402ca0
cmp byte [ebp - 0x23], 1
jne 0x49296e
mov al, byte [ebp - 0x22]
push eax
call sub.user32.dll_VkKeyScanA
mov word [ebp - 8], ax
jmp 0x49297a
lea eax, [ebp - 0x23]
call fcn.00492640
mov word [ebp - 8], ax
cmp word [ebp - 8], 0xffff
je 0x492a3f
cmp word [ebp - 8], 0x12
jne 0x4929a0
mov byte [ebp - 5], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x12
call fcn.00492434
pop ecx
cmp word [ebp - 8], 0x10
jne 0x4929ba
mov byte [ebp - 3], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x10
call fcn.00492434
pop ecx
cmp word [ebp - 8], 0x11
jne 0x4929d4
mov byte [ebp - 4], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x11
call fcn.00492434
pop ecx
mov ax, word [ebp - 8]
add eax, 0xfffffff0
sub ax, 3
setb al
test al, al
jne 0x492a3f
push ebp
mov cl, 1
mov dx, word [ebp - 0xe]
mov ax, word [ebp - 8]
call fcn.00492568
pop ecx
push ebp
call fcn.004926bc
pop ecx
jmp 0x492a3f
push ebp
mov cl, 1
mov dx, 1
mov al, 0xd
call fcn.00492434
pop ecx
push ebp
call fcn.004926bc
pop ecx
inc ebx
jmp 0x492a3f
mov al, byte [esi + ebx]
push eax
call sub.user32.dll_VkKeyScanA
mov word [ebp - 8], ax
push ebp
mov cl, 1
mov dx, 1
mov ax, word [ebp - 8]
call fcn.00492568
pop ecx
push ebp
call fcn.004926bc
pop ecx
inc ebx
cmp edi, ebx
jg 0x492788
mov byte [ebp - 9], 1
push ebp
call fcn.004926bc
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x492a6f
lea eax, [ebp - 0x2c]
call fcn.0040426c
ret