Function at 0x5be05c
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov byte [ebp - 1], cl
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
mov edi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x5be385
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x5d659c], 0x7fffffff
mov byte [ebp - 0x11], 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, dword [ebp - 0x10]
call fcn.0041be60
mov esi, eax
cmp esi, dword [0x5d659c]
jle 0x5be0bc
mov esi, dword [0x5d659c]
test esi, esi
je 0x5be36f
cmp esi, ebx
jle 0x5be364
mov eax, dword [ebp - 0xc]
call fcn.005be414
test al, al
je 0x5be36f
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + ebx]
cmp eax, 0x2b
jg 0x5be0fc
je 0x5be148
sub eax, 0x25
je 0x5be12f
sub eax, 3
je 0x5be114
dec eax
je 0x5be11e
jmp 0x5be315
sub eax, 0x5e
je 0x5be161
sub eax, 0x1d
je 0x5be17a
sub eax, 3
je 0x5be2fc
jmp 0x5be315
mov byte [ebp - 2], 1
inc ebx
jmp 0x5be352
mov byte [ebp - 2], 0
push ebp
call fcn.005bdff8
pop ecx
inc ebx
jmp 0x5be352
mov byte [ebp - 5], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x12
call fcn.005bdcfc
pop ecx
inc ebx
jmp 0x5be352
mov byte [ebp - 3], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x10
call fcn.005bdcfc
pop ecx
inc ebx
jmp 0x5be352
mov byte [ebp - 4], 1
push ebp
xor ecx, ecx
mov dx, 1
mov al, 0x11
call fcn.005bdcfc
pop ecx
inc ebx
jmp 0x5be352
mov word [ebp - 0x16], 1
mov eax, dword [ebp - 0x10]
cmp byte [eax + ebx + 1], 0x7b
jne 0x5be1ba
mov word [ebp - 8], 0xdb
lea eax, [ebp - 7]
mov dl, 1
call fcn.005bdcac
push ebp
mov cl, 1
mov dx, 1
mov ax, word [ebp - 8]
call fcn.005bde30
pop ecx
push ebp
call fcn.005bdff8
pop ecx
add ebx, 3
jmp 0x5be35c
mov byte [ebp - 0x2b], 0
mov byte [ebp - 0x12], 0
cmp esi, ebx
jl 0x5be1fe
inc ebx
mov eax, dword [ebp - 0x10]
cmp byte [eax + ebx], 0x7d
jne 0x5be1d7
mov byte [ebp - 0x12], 1
inc ebx
jmp 0x5be1fe
mov eax, dword [ebp - 0x10]
mov al, byte [eax + ebx]
call fcn.00413590
mov edx, eax
lea eax, [ebp - 0x30]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x2b]
mov cl, 0x14
call fcn.004136ac
cmp esi, ebx
jge 0x5be1c6
cmp byte [ebp - 0x12], 0
jne 0x5be213
mov eax, 0x5be398
call fcn.005bdc88
jmp 0x5be36f
mov eax, dword [ebp - 0x10]
cmp byte [eax + ebx], 0x7d
jne 0x5be24a
mov word [ebp - 8], 0xdd
lea eax, [ebp - 7]
mov dl, 1
call fcn.005bdcac
push ebp
mov cl, 1
mov dx, 1
mov ax, word [ebp - 8]
call fcn.005bde30
pop ecx
push ebp
call fcn.005bdff8
pop ecx
inc ebx
jmp 0x5be35c
lea edx, [ebp - 0x2b]
mov eax, 0x5be3a4
call fcn.00413528
mov byte [ebp - 0x13], al
cmp byte [ebp - 0x13], 0
je 0x5be2b9
lea eax, [ebp - 0x4c]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x2b]
xor eax, eax
mov al, byte [ebp - 0x13]
sub ecx, eax
xor edx, edx
mov dl, byte [ebp - 0x13]
inc edx
lea eax, [ebp - 0x2b]
call fcn.004132bc
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x34]
call fcn.00414fd8
mov eax, dword [ebp - 0x34]
call fcn.0041b5cc
mov word [ebp - 0x16], ax
lea eax, [ebp - 0x4c]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x13]
dec ecx
mov edx, 1
lea eax, [ebp - 0x2b]
call fcn.004132bc
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x2b]
mov cl, 0x14
call fcn.004136e8
cmp byte [ebp - 0x2b], 1
jne 0x5be2ce
mov al, byte [ebp - 0x2a]
push eax
call sub.user32.dll_VkKeyScanA
mov word [ebp - 8], ax
jmp 0x5be2da
lea eax, [ebp - 0x2b]
call fcn.005bdf08
mov word [ebp - 8], ax
cmp word [ebp - 8], 0xffff
je 0x5be352
push ebp
mov cl, 1
mov dx, word [ebp - 0x16]
mov ax, word [ebp - 8]
call fcn.005bde30
pop ecx
push ebp
call fcn.005bdff8
pop ecx
jmp 0x5be35c
push ebp
mov cl, 1
mov dx, 1
mov al, 0xd
call fcn.005bdcfc
pop ecx
push ebp
call fcn.005bdff8
pop ecx
inc ebx
jmp 0x5be352
mov eax, dword [ebp - 0x10]
mov al, byte [eax + ebx]
push eax
call sub.user32.dll_VkKeyScanA
mov word [ebp - 8], ax
cmp word [ebp - 8], 0xffff
je 0x5be347
push ebp
mov cl, 1
mov dx, 1
mov ax, word [ebp - 8]
call fcn.005bde30
pop ecx
push ebp
call fcn.005bdff8
pop ecx
jmp 0x5be351
mov eax, 0x5be3a8
call fcn.005bdc88
inc ebx
test edi, edi
je 0x5be35c
push edi
call sub.kernel32.dll_Sleep
cmp esi, ebx
jg 0x5be0cc
mov byte [ebp - 0x11], 1
push ebp
call fcn.005bdff8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5be38c
lea eax, [ebp - 0x34]
call fcn.00414d74
ret