Function at 0x4bb971
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, 0x637835
call fcn.00600064
sub esp, 0x4d4
mov eax, dword [0x6b55d0]
and dword [ebp - 0x144], 0
push ebx
push edi
push 0x6551e8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x10], eax
call fcn.00493e85
mov ebx, dword [ebp + 0xc]
xor edi, edi
inc edi
cmp ebx, 0xffffffff
mov dword [ebp - 4], edi
jne 0x4bb9be
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
call fcn.00493bdb
jmp 0x4bc111
cmp ebx, 0x27
jg 0x4bbd1b
je 0x4bbced
cmp ebx, 0x14
jg 0x4bbb7e
je 0x4bbb50
cmp ebx, 0xd
jg 0x4bbab5
je 0x4bba87
test ebx, ebx
je 0x4bba59
cmp ebx, 8
je 0x4bba2b
cmp ebx, 9
jne 0x4bbf28
push str._60116_
lea ecx, [ebp - 0x304]
call fcn.00493e85
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
call fcn.00494014
lea ecx, [ebp - 0x304]
jmp 0x4bc0fc
push str._60109_
lea ecx, [ebp - 0x41c]
call fcn.00493e85
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.00494014
lea ecx, [ebp - 0x41c]
jmp 0x4bc0fc
push 0x64f2d8
lea ecx, [ebp - 0x33c]
call fcn.00493e85
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.00494014
lea ecx, [ebp - 0x33c]
jmp 0x4bc0fc
push str._60108_
lea ecx, [ebp - 0x1b4]
call fcn.00493e85
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.00494014
lea ecx, [ebp - 0x1b4]
jmp 0x4bc0fc
mov eax, ebx
sub eax, 0x10
je 0x4bbb22
dec eax
je 0x4bbaf4
dec eax
jne 0x4bbf28
push str._60106_
lea ecx, [ebp - 0x470]
call fcn.00493e85
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.00494014
lea ecx, [ebp - 0x470]
jmp 0x4bc0fc
push str._60104_
lea ecx, [ebp - 0x1ec]
call fcn.00493e85
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.00494014
lea ecx, [ebp - 0x1ec]
jmp 0x4bc0fc
push str._60105_
lea ecx, [ebp - 0x374]
call fcn.00493e85
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.00494014
lea ecx, [ebp - 0x374]
jmp 0x4bc0fc
push str._60117_
lea ecx, [ebp - 0x224]
call fcn.00493e85
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
call fcn.00494014
lea ecx, [ebp - 0x224]
jmp 0x4bc0fc
mov eax, ebx
sub eax, 0x20
je 0x4bbcbf
dec eax
je 0x4bbc91
dec eax
je 0x4bbc63
dec eax
je 0x4bbc35
dec eax
je 0x4bbc07
dec eax
je 0x4bbbd9
dec eax
jne 0x4bbf28
push str._60100_
lea ecx, [ebp - 0x454]
call fcn.00493e85
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00494014
lea ecx, [ebp - 0x454]
jmp 0x4bc0fc
push str._60102_
lea ecx, [ebp - 0x25c]
call fcn.00493e85
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00494014
lea ecx, [ebp - 0x25c]
jmp 0x4bc0fc
push str._60112_
lea ecx, [ebp - 0x3ac]
call fcn.00493e85
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
call fcn.00494014
lea ecx, [ebp - 0x3ac]
jmp 0x4bc0fc
push str._60113_
lea ecx, [ebp - 0x294]
call fcn.00493e85
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.00494014
lea ecx, [ebp - 0x294]
jmp 0x4bc0fc
push str._60115_
lea ecx, [ebp - 0x400]
call fcn.00493e85
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x13
call fcn.00494014
lea ecx, [ebp - 0x400]
jmp 0x4bc0fc
push str._60114_
lea ecx, [ebp - 0x2cc]
call fcn.00493e85
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.00494014
lea ecx, [ebp - 0x2cc]
jmp 0x4bc0fc
push str._60107_
lea ecx, [ebp - 0x3e4]
call fcn.00493e85
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.00494014
lea ecx, [ebp - 0x3e4]
jmp 0x4bc0fc
push str._60103_
lea ecx, [ebp - 0x160]
call fcn.00493e85
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.00494014
lea ecx, [ebp - 0x160]
jmp 0x4bc0fc
mov eax, 0xa2
cmp ebx, eax
jg 0x4bbeef
je 0x4bbec1
cmp ebx, 0x69
jg 0x4bbe10
cmp ebx, 0x60
jge 0x4bbddd
mov eax, ebx
sub eax, 0x28
je 0x4bbdaf
sub eax, 5
je 0x4bbd81
dec eax
jne 0x4bbf28
push str._60111_
lea ecx, [ebp - 0x438]
call fcn.00493e85
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.00494014
lea ecx, [ebp - 0x438]
jmp 0x4bc0fc
push str._60110_
lea ecx, [ebp - 0x17c]
call fcn.00493e85
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.00494014
lea ecx, [ebp - 0x17c]
jmp 0x4bc0fc
push str._60101_
lea ecx, [ebp - 0x198]
call fcn.00493e85
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.00494014
lea ecx, [ebp - 0x198]
jmp 0x4bc0fc
add ebx, 0xea7f
push ebx
lea eax, [ebp - 0x48c]
push str.___d__
push eax
call fcn.00493ef3
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1a
call fcn.00494014
lea ecx, [ebp - 0x48c]
jmp 0x4bc0fc
cmp ebx, 0x70
jl 0x4bbf28
cmp ebx, 0x7b
jle 0x4bbe8e
cmp ebx, 0xa0
je 0x4bbe60
cmp ebx, 0xa1
jne 0x4bbf28
push str._60138_
lea ecx, [ebp - 0x1d0]
call fcn.00493e85
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
call fcn.00494014
lea ecx, [ebp - 0x1d0]
jmp 0x4bc0fc
push str._60137_
lea ecx, [ebp - 0x208]
call fcn.00493e85
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1c
call fcn.00494014
lea ecx, [ebp - 0x208]
jmp 0x4bc0fc
add ebx, 0xea7f
push ebx
lea eax, [ebp - 0x4e0]
push str.___d__
push eax
call fcn.00493ef3
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1b
call fcn.00494014
lea ecx, [ebp - 0x4e0]
jmp 0x4bc0fc
push str._60139_
lea ecx, [ebp - 0x240]
call fcn.00493e85
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1e
call fcn.00494014
lea ecx, [ebp - 0x240]
jmp 0x4bc0fc
mov eax, ebx
sub eax, 0xa3
je 0x4bc0d3
dec eax
je 0x4bc0a8
dec eax
je 0x4bc07d
sub eax, 0x16
je 0x4bc052
dec eax
je 0x4bc024
dec eax
je 0x4bbff6
dec eax
je 0x4bbfc8
cmp ebx, 0x41
jl 0x4bbf32
cmp ebx, 0x5a
jle 0x4bbf3c
cmp ebx, 0x30
jl 0x4bbf6a
cmp ebx, 0x39
jg 0x4bbf6a
lea eax, [ebp + 0xe]
push eax
lea ecx, [ebp - 0x4c4]
mov byte [ebp + 0xe], bl
mov byte [ebp + 0xf], 0
call fcn.00493e85
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x22
call fcn.00494014
lea ecx, [ebp - 0x4c4]
jmp 0x4bc0fc
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.USER32.dll_GetKeyboardState]
push 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x140]
push eax
push 0
push ebx
call dword [sym.imp.USER32.dll_ToAscii]
test eax, eax
jne 0x4bbf97
mov word [ebp - 0x40], 0x3f
mov al, byte [ebp - 0x40]
mov byte [ebp + 0xe], al
lea eax, [ebp + 0xe]
push eax
lea ecx, [ebp - 0x4a8]
mov byte [ebp + 0xf], 0
call fcn.00493e85
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x23
call fcn.00494014
lea ecx, [ebp - 0x4a8]
jmp 0x4bc0fc
push 0x6509c0
lea ecx, [ebp - 0x278]
call fcn.00493e85
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
call fcn.00494014
lea ecx, [ebp - 0x278]
jmp 0x4bc0fc
push 0x64f2d8
lea ecx, [ebp - 0x2b0]
call fcn.00493e85
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
call fcn.00494014
lea ecx, [ebp - 0x2b0]
jmp 0x4bc0fc
push 0x654590
lea ecx, [ebp - 0x2e8]
call fcn.00493e85
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
call fcn.00494014
lea ecx, [ebp - 0x2e8]
jmp 0x4bc0fc
push 0x65319c
lea ecx, [ebp - 0x320]
call fcn.00493e85
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x16
call fcn.00494014
lea ecx, [ebp - 0x320]
jmp 0x4bc0fc
push str._60142_
lea ecx, [ebp - 0x358]
call fcn.00493e85
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x21
call fcn.00494014
lea ecx, [ebp - 0x358]
jmp 0x4bc0fc
push str._60141_
lea ecx, [ebp - 0x390]
call fcn.00493e85
lea eax, [ebp - 0x390]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
call fcn.00494014
lea ecx, [ebp - 0x390]
jmp 0x4bc0fc
push 0x655128
lea ecx, [ebp - 0x3c8]
call fcn.00493e85
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1f
call fcn.00494014
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 1
call fcn.00402a58
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
call fcn.00493bdb
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
mov dword [ebp - 0x144], edi
call fcn.00402a58
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.006009d4
leave
ret 8