      	push   %eax
8d 5c 24 08          	lea    0x8(%esp),%ebx
8b 55 fc             	mov    0xfffffffc(%ebp),%edx
8b 65 f8             	mov    0xfffffff8(%ebp),%esp
8b 6d f4             	mov    0xfffffff4(%ebp),%ebp
ff 33                	pushl  (%ebx)
ff 73 fc             	pushl  0xfffffffc(%ebx)
ff 73 f8             	pushl  0xfffffff8(%ebx)
52                   	push   %edx
e9 xx xx xx xx          jmp    _char_betweenP_4
</pre></blockquote>

<p>That's only 28 bytes, a substantial improvement, but still ugl