Index: /trunk/aclocal.m4
===================================================================
--- /trunk/aclocal.m4	(revision 200)
+++ /trunk/aclocal.m4	(revision 201)
@@ -1309,9 +1309,12 @@
             $CC -E -dM - < /dev/null | egrep '(__sun__|__APPLE__|__CYGWIN__)' >/dev/null 2>&1 || samhain_i386=yes
           fi
+	  AC_MSG_RESULT([$samhain_i386])
 	  if test "x$samhain_i386" = xyes; then
-	    tiger_src=sh_tiger1.s
-	    AC_DEFINE([TIGER_32_BIT_S],1,[Define to use tiger 32 bit i386 assembler])
+	    GCC_PIE_CC
+	    if test $pie_cv_cc = yes; then
+	       tiger_src=sh_tiger1.s
+	       AC_DEFINE([TIGER_32_BIT_S],1,[Define to use tiger 32 bit i386 assembler])
+	    fi
           fi
-	  AC_MSG_RESULT([$samhain_i386])
 	fi
 	#
Index: /trunk/src/sh_tiger1.s
===================================================================
--- /trunk/src/sh_tiger1.s	(revision 200)
+++ /trunk/src/sh_tiger1.s	(revision 201)
@@ -5,794 +5,473 @@
 tiger_compress:
 	pushl	%ebp
+	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
-	subl	$544, %esp
-	movl	568(%esp), %ebp
-	movl	568(%esp), %eax
-	movl	568(%esp), %ebx
-	movl	(%ebp), %ecx
-	movl	564(%esp), %edi
-	movl	%ecx, 12(%esp)
-	movl	4(%eax), %esi
-	movl	%esi, 8(%esp)
-	movl	12(%ebx), %edx
-	movl	8(%ebx), %ecx
-	movl	%edx, 4(%esp)
-	movl	16(%ebx), %eax
-	movl	20(%ebx), %ebp
-	movl	%ecx, 540(%esp)
-	movl	%eax, 536(%esp)
-	movl	%ebp, (%esp)
-	movl	(%edi), %esi
-	movl	%esi, 532(%esp)
-	movl	4(%edi), %edx
-	movl	%edx, 528(%esp)
-	movl	8(%edi), %ebx
-	movl	%ebx, 524(%esp)
-	movl	12(%edi), %ebp
-	movl	%ebp, 520(%esp)
-	movl	16(%edi), %eax
-	movl	%eax, 516(%esp)
-	movl	20(%edi), %ecx
-	movl	%ecx, 512(%esp)
-	movl	24(%edi), %esi
-	movl	%esi, 508(%esp)
-	movl	28(%edi), %edx
-	movl	%edx, 504(%esp)
-	movl	32(%edi), %ebx
-	movl	%ebx, 500(%esp)
-	movl	36(%edi), %ebp
-	movl	%ebp, 496(%esp)
-	movl	40(%edi), %eax
-	movl	%eax, 492(%esp)
-	movl	44(%edi), %ecx
-	movl	532(%esp), %eax
-	movl	%ecx, 488(%esp)
-	movl	48(%edi), %esi
-	movl	528(%esp), %ecx
-	movl	%esi, 484(%esp)
-	movl	52(%edi), %edx
-	movl	(%esp), %esi
-	movl	%edx, 480(%esp)
-	movl	56(%edi), %ebx
-	xorl	%ecx, %esi
-	movl	%ebx, 476(%esp)
-	movl	60(%edi), %ebp
-	movl	%esi, 468(%esp)
-	movl	$tiger_table, %esi
-	movl	%ebp, 472(%esp)
-	movl	536(%esp), %ebp
-	xorl	%eax, %ebp
-	movl	%ebp, %edi
-	movl	%ebp, %ebx
-	shrl	$16, %edi
-	andl	$255, %ebx
-	andl	$255, %edi
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%edi,8), %ecx
-	movl	4(%esi,%ebx,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%edi,8), %edx
-	xorl	%eax, %edx
-	movzbl	468(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %edi
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	468(%esp), %eax
-	xorl	%edi, %ecx
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %edi
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%edi, %ecx
-	xorl	%ebx, %edx
-	cmpl	%ecx, 12(%esp)
-	movl	12(%esp), %edi
+	subl	$1140, %esp
+	movl	12(%ebp), %ecx
+	movl	12(%ebp), %esi
+	call	__i686.get_pc_thunk.bx
+	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
+	movl	8(%ebp), %eax
+	movl	(%ecx), %edi
+	movl	12(%ebp), %ecx
+	movl	%edi, -1088(%ebp)
+	movl	4(%esi), %edx
+	movl	12(%ebp), %esi
+	movl	%edx, -1092(%ebp)
+	movl	8(%ecx), %edi
+	movl	12(%ebp), %ecx
+	movl	%edi, -1096(%ebp)
+	movl	12(%esi), %edx
+	movl	-1096(%ebp), %esi
+	movl	%edx, -1100(%ebp)
+	movl	16(%ecx), %edx
+	movl	20(%ecx), %edi
+	movl	%esi, -16(%ebp)
+	movl	%edx, -20(%ebp)
+	movl	%edi, -1104(%ebp)
+	movl	(%eax), %ecx
+	movl	%ecx, -24(%ebp)
+	movl	4(%eax), %edi
+	movl	%edi, -28(%ebp)
+	movl	8(%eax), %esi
+	movl	%esi, -32(%ebp)
+	movl	12(%eax), %ecx
+	movl	%ecx, -36(%ebp)
+	movl	16(%eax), %edi
+	movl	%edi, -40(%ebp)
+	movl	20(%eax), %esi
+	movl	%esi, -44(%ebp)
+	movl	24(%eax), %ecx
+	movl	%ecx, -48(%ebp)
+	movl	28(%eax), %edi
+	movl	%edi, -52(%ebp)
+	movl	32(%eax), %esi
+	movl	%esi, -56(%ebp)
+	movl	36(%eax), %ecx
+	movl	%ecx, -60(%ebp)
+	movl	40(%eax), %edi
+	movl	%edi, -64(%ebp)
+	movl	44(%eax), %esi
+	movl	%esi, -68(%ebp)
+	movl	48(%eax), %ecx
+	movl	%ecx, -72(%ebp)
+	movl	52(%eax), %edi
+	movl	%edi, -76(%ebp)
+	movl	56(%eax), %esi
+	movl	-28(%ebp), %edi
+	movl	%esi, -80(%ebp)
+	movl	60(%eax), %ecx
+	movl	-24(%ebp), %eax
+	movl	-1104(%ebp), %esi
+	movl	%ecx, -84(%ebp)
+	xorl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	movl	%edx, -152(%ebp)
+	movl	%edx, %eax
+	xorl	%edi, %esi
+	movl	%esi, -156(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	%ecx, %esi
+	movl	2048(%eax,%ecx), %edx
+	movl	(%ecx,%edi,8), %ecx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-156(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-156(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-1088(%ebp), %edi
+	cmpl	%ecx, -1088(%ebp)
 	setb	%al
 	subl	%ecx, %edi
-	addl	%eax, %edx
-	movl	%edi, 464(%esp)
-	movl	8(%esp), %eax
-	subl	%edx, %eax
-	movl	%eax, 460(%esp)
-	movl	%ebp, %edx
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	xorl	%ebx, %eax
-	movl	tiger_table+4100(,%edx,8), %ebx
-	movl	tiger_table+6148(,%ecx,8), %edx
-	movl	468(%esp), %ecx
-	xorl	%edx, %ebx
-	movzbl	%ch, %edx
-	movl	tiger_table+2048(,%edx,8), %edi
-	xorl	%edi, %eax
-	movl	tiger_table+2052(,%edx,8), %edi
-	movl	%ecx, %edx
-	shrl	$24, %edx
-	xorl	%edi, %ebx
-	movl	4(%esi,%edx,8), %edi
-	movl	(%esi,%edx,8), %ecx
-	xorl	%edi, %ebx
-	movl	540(%esp), %edi
-	xorl	%ecx, %eax
-	addl	%eax, %edi
-	cmpl	%eax, %edi
-	setb	%al
-	movzbl	%al, %ecx
-	leal	(%ebx,%ecx), %edx
-	movl	4(%esp), %ebx
+	movl	%edi, -168(%ebp)
+	movl	-1092(%ebp), %ecx
+	addl	%eax, %edx
+	subl	%edx, %ecx
+	movl	-152(%ebp), %edx
+	movl	%ecx, -172(%ebp)
+	movzbl	%dh, %eax
+	leal	0(,%eax,8), %ecx
+	movl	%edx, %eax
+	movl	6144(%ecx,%esi), %edi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6148(%ecx,%esi), %ecx
+	movl	4096(%eax,%esi), %edx
+	xorl	%edi, %edx
+	movl	4100(%eax,%esi), %edi
+	movl	-156(%ebp), %eax
+	xorl	%edi, %ecx
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %edx
+	movl	2052(%eax,%esi), %edi
+	movl	-156(%ebp), %eax
+	xorl	%edi, %ecx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %edx
+	movl	4(%esi,%eax,8), %edi
+	movl	-1096(%ebp), %esi
+	xorl	%eax, %eax
+	xorl	%edi, %ecx
+	addl	%edx, %esi
+	cmpl	%edx, %esi
+	movl	-1100(%ebp), %edx
+	setb	%al
+	movl	%esi, %edi
+	leal	(%ecx,%eax), %eax
+	addl	%edx, %eax
+	leal	0(,%esi,4), %ecx
+	movl	%eax, %edx
+	movl	%eax, -160(%ebp)
+	addl	%ecx, %esi
+	shrl	$30, %edi
+	movl	%esi, -164(%ebp)
+	sall	$2, %edx
+	xorl	%eax, %eax
+	orl	%edi, %edx
+	cmpl	%ecx, %esi
+	movl	-80(%ebp), %edi
+	setb	%al
+	xorl	%ecx, %ecx
+	addl	%eax, %edx
+	movl	-160(%ebp), %eax
+	xorl	$-1515870811, %edi
+	movl	-24(%ebp), %esi
+	addl	%eax, %edx
+	movl	-84(%ebp), %eax
+	cmpl	%edi, -24(%ebp)
+	movl	%edx, -184(%ebp)
+	movl	-32(%ebp), %edx
+	setb	%cl
+	xorl	$-1515870811, %eax
+	subl	%edi, %esi
+	addl	%ecx, %eax
+	movl	%esi, -196(%ebp)
+	movl	-28(%ebp), %ecx
+	movl	-36(%ebp), %edi
+	movl	-172(%ebp), %esi
+	subl	%eax, %ecx
+	movl	-168(%ebp), %eax
+	movl	%ecx, -200(%ebp)
+	movl	tiger_table@GOT(%ebx), %ecx
+	xorl	%edi, %esi
+	movl	%esi, -180(%ebp)
+	xorl	%edx, %eax
+	movzbl	%al,%edi
+	movl	%eax, -176(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	%ecx, %esi
+	movl	2048(%eax,%ecx), %edx
+	movl	(%ecx,%edi,8), %ecx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-180(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-180(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-164(%ebp), %edi
+	cmpl	%ecx, -164(%ebp)
+	setb	%al
+	subl	%ecx, %edi
+	movl	%edi, -204(%ebp)
+	movl	-176(%ebp), %ecx
+	movl	-184(%ebp), %edi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %edi
+	movl	%edi, -208(%ebp)
+	leal	0(,%eax,8), %edi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%edi,%esi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-180(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-180(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-152(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-156(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -188(%ebp)
 	leal	0(,%edi,4), %ecx
+	addl	%ecx, %edi
+	movl	%edi, -192(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-188(%ebp), %edi
+	setb	%al
+	addl	%eax, %edx
+	movl	-32(%ebp), %ecx
+	addl	%edi, %edx
+	movl	-200(%ebp), %eax
+	movl	%edx, -220(%ebp)
+	movl	-36(%ebp), %edi
+	movl	-196(%ebp), %edx
+	xorl	%eax, %edi
+	xorl	%edx, %ecx
+	movl	%edi, -240(%ebp)
+	movl	-40(%ebp), %edx
+	movl	%ecx, -232(%ebp)
+	movl	-204(%ebp), %eax
+	movl	-44(%ebp), %ecx
+	movl	-208(%ebp), %edi
+	xorl	%edx, %eax
+	movl	%eax, -212(%ebp)
+	xorl	%ecx, %edi
+	movl	%edi, -216(%ebp)
+	movzbl	%al,%edi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-216(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-216(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-192(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -192(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -244(%ebp)
+	movl	-220(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-212(%ebp), %edx
+	movl	%edi, -248(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-216(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-216(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-176(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-180(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
 	movl	%edi, %eax
-	addl	%edx, %ebx
+	addl	%ecx, %edx
+	leal	0(,%edi,4), %ecx
+	movl	%edx, -224(%ebp)
 	addl	%ecx, %edi
 	shrl	$30, %eax
-	leal	0(,%ebx,4), %edx
+	movl	%edi, -228(%ebp)
+	sall	$2, %edx
 	orl	%eax, %edx
 	xorl	%eax, %eax
 	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	xorl	%ecx, %ecx
-	addl	%edx, %ebx
-	movl	%ebx, 444(%esp)
-	movl	476(%esp), %edx
-	movl	532(%esp), %ebx
-	movl	472(%esp), %eax
-	xorl	$-1515870811, %edx
-	cmpl	%edx, 532(%esp)
+	movl	-224(%ebp), %ecx
+	setb	%al
+	movl	-232(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-232(%ebp), %eax
+	movl	-240(%ebp), %ecx
+	movl	%edx, -260(%ebp)
+	movl	-40(%ebp), %edx
+	addl	%eax, %edx
+	movl	%edx, -236(%ebp)
+	xorl	%eax, %eax
+	cmpl	%edi, %edx
+	movl	-44(%ebp), %edi
+	setb	%al
+	addl	%ecx, %eax
+	movl	-48(%ebp), %edx
+	addl	%edi, %eax
+	movl	-52(%ebp), %ecx
+	movl	%eax, -272(%ebp)
+	movl	-248(%ebp), %edi
+	movl	-244(%ebp), %eax
+	xorl	%ecx, %edi
+	xorl	%edx, %eax
+	movl	%edi, -256(%ebp)
+	movzbl	%al,%edi
+	movl	%eax, -252(%ebp)
+	shrl	$13, %eax
+	movl	(%esi,%edi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-256(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-256(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-228(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -228(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -276(%ebp)
+	movl	-260(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-252(%ebp), %edx
+	movl	%edi, -280(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-256(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-256(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-212(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-216(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,4), %ecx
+	movl	%edx, -264(%ebp)
+	addl	%ecx, %edi
+	shrl	$30, %eax
+	movl	%edi, -268(%ebp)
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	setb	%al
+	addl	%eax, %edx
+	movl	-264(%ebp), %eax
+	movl	-236(%ebp), %edi
+	addl	%eax, %edx
+	movl	-232(%ebp), %eax
+	movl	%edx, -292(%ebp)
+	movl	-48(%ebp), %edx
+	notl	%eax
+	sall	$19, %eax
+	xorl	%edi, %eax
+	cmpl	%eax, -48(%ebp)
 	setb	%cl
-	subl	%edx, %ebx
-	movl	%ebx, 456(%esp)
-	movl	524(%esp), %ebx
-	xorl	$-1515870811, %eax
-	xorl	%ebx, 464(%esp)
-	addl	%ecx, %eax
-	movl	528(%esp), %edx
-	movl	520(%esp), %ecx
-	movzbl	464(%esp),%ebx
+	movzbl	%cl, %edi
 	subl	%eax, %edx
-	movl	464(%esp), %eax
-	xorl	%ecx, 460(%esp)
-	movl	%edx, 452(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%esi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	460(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	460(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%ebx, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %edi
-	setb	%bl
-	subl	%ecx, %edi
-	addl	%ebx, %edx
-	movl	%edi, 448(%esp)
-	movl	464(%esp), %eax
-	subl	%edx, 444(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ecx,8), %edi
-	xorl	%ebx, %edx
-	movl	460(%esp), %ebx
-	xorl	%edi, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %edi
-	xorl	%edi, %eax
-	movl	tiger_table+2052(,%ecx,8), %edi
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%edi, %edx
-	movl	(%esi,%ecx,8), %edi
-	movl	4(%esi,%ecx,8), %ebx
-	xorl	%edi, %eax
-	xorl	%ebx, %edx
-	leal	(%ebp,%eax), %ebx
-	cmpl	%eax, %ebx
-	setb	%al
-	movl	%ebx, %edi
-	movzbl	%al, %ebp
-	addl	%ebp, %edx
-	movl	468(%esp), %ebp
-	leal	0(,%ebx,4), %ecx
-	shrl	$30, %edi
-	xorl	%eax, %eax
-	addl	%edx, %ebp
-	leal	0(,%ebp,4), %edx
-	orl	%edi, %edx
-	leal	(%ebx,%ecx), %edi
-	cmpl	%ecx, %edi
-	setb	%al
-	movl	456(%esp), %ecx
-	addl	%eax, %edx
-	leal	(%ebp,%edx), %ebx
-	movl	516(%esp), %ebp
-	xorl	%ebp, 448(%esp)
-	movl	452(%esp), %eax
-	movl	%ebx, 424(%esp)
-	movl	520(%esp), %ebx
-	movl	524(%esp), %edx
-	xorl	%eax, %ebx
-	movl	448(%esp), %eax
-	movl	%ebx, 432(%esp)
-	xorl	%ecx, %edx
-	movl	512(%esp), %ecx
-	movzbl	448(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ecx, 444(%esp)
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	%edx, 440(%esp)
-	movl	(%esi,%ebx,8), %edx
-	movl	4(%esi,%ebx,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	444(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	444(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %edi
-	setb	%bl
-	subl	%ecx, %edi
-	addl	%ebx, %edx
-	movl	%edi, 428(%esp)
-	movl	448(%esp), %eax
-	subl	%edx, 424(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ecx,8), %edi
-	xorl	%ebx, %edx
-	movl	444(%esp), %ebx
-	xorl	%edi, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %edi
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	(%esi,%ecx,8), %ebp
-	xorl	%edi, %edx
-	xorl	%ebx, %edx
-	movl	464(%esp), %ebx
-	xorl	%ebp, %eax
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%al
-	movzbl	%al, %edi
-	leal	0(,%ebx,4), %ecx
-	addl	%edi, %edx
-	movl	460(%esp), %edi
-	shrl	$30, %ebp
-	xorl	%eax, %eax
-	addl	%edx, %edi
-	leal	0(,%edi,4), %edx
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	440(%esp), %ebx
-	setb	%al
-	addl	%eax, %edx
-	movl	516(%esp), %eax
-	leal	(%edi,%edx), %edx
-	movl	440(%esp), %edi
-	addl	%ebx, %eax
-	movl	%edx, 412(%esp)
-	movl	432(%esp), %edx
-	cmpl	%edi, %eax
-	movl	%eax, 436(%esp)
-	setb	%cl
-	movl	512(%esp), %ebx
-	movl	508(%esp), %edi
-	movzbl	%cl, %eax
-	addl	%edx, %eax
-	xorl	%edi, 428(%esp)
-	addl	%ebx, %eax
-	movl	504(%esp), %ecx
-	movl	%eax, 420(%esp)
-	movl	428(%esp), %eax
-	movzbl	428(%esp),%ebx
-	xorl	%ecx, 424(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	4(%esi,%ebx,8), %edi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	424(%esp),%eax
-	xorl	%edi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %edi
-	movl	424(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%edi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %edi
-	xorl	%ebx, %ecx
-	xorl	%edi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 416(%esp)
-	movl	428(%esp), %eax
-	subl	%edx, 412(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %edi
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%edi,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%edi,8), %ecx
-	xorl	%ebx, %edx
-	movl	424(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %edi
-	xorl	%ebp, %eax
-	movl	%ebx, %ebp
-	xorl	%edi, %edx
-	shrl	$24, %ebp
-	movl	(%esi,%ebp,8), %ebx
-	movl	4(%esi,%ebp,8), %edi
-	xorl	%ebx, %eax
-	movl	448(%esp), %ebx
-	xorl	%edi, %edx
-	movl	444(%esp), %edi
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%cl
-	movzbl	%cl, %eax
-	shrl	$30, %ebp
-	addl	%eax, %edx
-	leal	0(,%ebx,4), %ecx
-	addl	%edx, %edi
-	leal	0(,%edi,4), %edx
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	addl	%ebx, %edx
-	movl	436(%esp), %ebx
-	leal	(%edi,%edx), %eax
-	movl	%eax, 396(%esp)
-	movl	440(%esp), %edx
-	movl	508(%esp), %edi
-	movl	432(%esp), %eax
-	notl	%edx
-	movl	440(%esp), %ecx
-	sall	$19, %edx
-	xorl	%ebx, %edx
-	xorl	%ebx, %ebx
-	cmpl	%edx, 508(%esp)
-	setb	%bl
-	subl	%edx, %edi
-	movl	%edi, 408(%esp)
-	movl	420(%esp), %edx
-	shrl	$13, %ecx
-	sall	$19, %eax
-	movl	500(%esp), %edi
-	orl	%ecx, %eax
-	xorl	%edi, 416(%esp)
-	notl	%edx
-	xorl	%eax, %edx
-	addl	%ebx, %edx
-	movl	504(%esp), %ebx
-	movl	416(%esp), %eax
-	movl	496(%esp), %ecx
-	subl	%edx, %ebx
-	shrl	$16, %eax
-	movl	%ebx, 404(%esp)
-	movzbl	416(%esp),%ebx
-	andl	$255, %eax
-	xorl	%ecx, 412(%esp)
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	(%esi,%ebx,8), %edx
-	movl	4(%esi,%ebx,8), %edi
-	movzbl	412(%esp),%ebx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4096(,%ebx,8), %eax
-	xorl	%edi, %edx
-	movl	tiger_table+4100(,%ebx,8), %edi
-	movl	412(%esp), %ebx
-	xorl	%eax, %ecx
-	xorl	%edi, %edx
-	shrl	$16, %ebx
-	andl	$255, %ebx
-	movl	tiger_table+6144(,%ebx,8), %eax
-	movl	tiger_table+6148(,%ebx,8), %edi
-	xorl	%eax, %ecx
-	xorl	%edi, %edx
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebp
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebp
-	movl	%ebp, 400(%esp)
-	subl	%edx, 396(%esp)
-	movl	416(%esp), %edx
-	movzbl	%dh, %ebp
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ebp,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ebp,8), %ecx
-	xorl	%ebx, %edx
-	movl	412(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %edi
-	movl	tiger_table+2052(,%ecx,8), %ebp
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%edi, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	(%esi,%ecx,8), %edi
-	xorl	%ebp, %edx
-	xorl	%ebx, %edx
-	movl	428(%esp), %ebx
-	xorl	%edi, %eax
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %edi
-	setb	%al
-	movzbl	%al, %ebp
-	leal	0(,%ebx,4), %ecx
-	addl	%ebp, %edx
-	movl	424(%esp), %ebp
-	shrl	$30, %edi
-	xorl	%eax, %eax
-	addl	%edx, %ebp
-	leal	0(,%ebp,4), %edx
-	orl	%edi, %edx
-	leal	(%ebx,%ecx), %edi
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	movl	404(%esp), %eax
-	leal	(%ebp,%edx), %ebx
-	movl	%ebx, 376(%esp)
-	movl	492(%esp), %ebp
-	movl	496(%esp), %ebx
-	xorl	%ebp, 400(%esp)
-	movl	408(%esp), %ecx
-	movl	500(%esp), %edx
-	xorl	%eax, %ebx
-	movl	400(%esp), %eax
-	xorl	%ecx, %edx
-	movl	%ebx, 384(%esp)
-	movl	488(%esp), %ecx
-	shrl	$16, %eax
-	movzbl	400(%esp),%ebx
-	movl	%edx, 392(%esp)
-	andl	$255, %eax
-	xorl	%ecx, 396(%esp)
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	(%esi,%ebx,8), %edx
-	movl	4(%esi,%ebx,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	396(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	396(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %edi
-	setb	%bl
-	subl	%ecx, %edi
-	addl	%ebx, %edx
-	movl	%edi, 380(%esp)
-	movl	400(%esp), %eax
-	subl	%edx, 376(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ecx,8), %edi
-	xorl	%ebx, %edx
-	movl	396(%esp), %ebx
-	xorl	%edi, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %edi
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	(%esi,%ecx,8), %ebp
-	xorl	%edi, %edx
-	xorl	%ebx, %edx
-	movl	416(%esp), %ebx
-	xorl	%ebp, %eax
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%al
-	movzbl	%al, %edi
-	leal	0(,%ebx,4), %ecx
-	addl	%edi, %edx
-	movl	412(%esp), %edi
-	shrl	$30, %ebp
-	xorl	%eax, %eax
-	addl	%edx, %edi
-	leal	0(,%edi,4), %edx
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	392(%esp), %ebx
-	setb	%al
-	addl	%eax, %edx
-	movl	492(%esp), %eax
-	leal	(%edi,%edx), %edx
-	movl	392(%esp), %edi
-	addl	%ebx, %eax
-	movl	%edx, 364(%esp)
-	movl	384(%esp), %edx
-	cmpl	%edi, %eax
-	movl	%eax, 388(%esp)
-	setb	%cl
-	movl	488(%esp), %ebx
-	movl	484(%esp), %edi
-	movzbl	%cl, %eax
-	addl	%edx, %eax
-	xorl	%edi, 380(%esp)
-	addl	%ebx, %eax
-	movl	480(%esp), %ecx
-	movl	%eax, 372(%esp)
-	movl	380(%esp), %eax
-	movzbl	380(%esp),%ebx
-	xorl	%ecx, 376(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	4(%esi,%ebx,8), %edi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	376(%esp),%eax
-	xorl	%edi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %edi
-	movl	376(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%edi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %edi
-	xorl	%ebx, %ecx
-	xorl	%edi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 368(%esp)
-	movl	380(%esp), %eax
-	subl	%edx, 364(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %edi
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%edi,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%edi,8), %ecx
-	xorl	%ebx, %edx
-	movl	376(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %edi
-	xorl	%ebp, %eax
-	movl	%ebx, %ebp
-	xorl	%edi, %edx
-	shrl	$24, %ebp
-	movl	(%esi,%ebp,8), %ebx
-	movl	4(%esi,%ebp,8), %edi
-	xorl	%ebx, %eax
-	movl	400(%esp), %ebx
-	xorl	%edi, %edx
-	movl	396(%esp), %edi
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%cl
-	movzbl	%cl, %eax
-	shrl	$30, %ebp
-	addl	%eax, %edx
-	leal	0(,%ebx,4), %ecx
-	addl	%edx, %edi
-	leal	0(,%edi,4), %edx
-	movl	392(%esp), %eax
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	addl	%ebx, %edx
-	movl	388(%esp), %ebx
-	leal	(%edi,%edx), %ecx
-	movl	384(%esp), %edx
-	shrl	$23, %eax
-	movl	%ecx, 288(%esp)
-	notl	%ebx
-	movl	484(%esp), %edi
-	sall	$9, %edx
-	movl	372(%esp), %ecx
-	orl	%edx, %eax
-	xorl	%eax, %ebx
-	xorl	%edx, %edx
-	movl	384(%esp), %eax
-	cmpl	%ebx, 484(%esp)
-	notl	%eax
-	setb	%dl
-	subl	%ebx, %edi
-	shrl	$23, %eax
-	movl	480(%esp), %ebx
-	movl	%edi, 356(%esp)
-	movl	476(%esp), %edi
-	xorl	%ecx, %eax
-	xorl	%edi, 368(%esp)
-	addl	%edx, %eax
-	subl	%eax, %ebx
-	movl	%ebx, 352(%esp)
-	movl	472(%esp), %ecx
-	movl	368(%esp), %eax
-	movzbl	368(%esp),%ebx
-	xorl	%ecx, 364(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	4(%esi,%ebx,8), %edi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	364(%esp),%eax
-	xorl	%edi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %edi
-	movl	364(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%edi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %edi
-	xorl	%ebx, %ecx
-	xorl	%edi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 292(%esp)
-	movl	368(%esp), %eax
-	subl	%edx, 288(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %edi
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%edi,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%edi,8), %ecx
-	xorl	%ebx, %edx
-	movl	364(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %edi
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	(%esi,%ecx,8), %ebp
-	xorl	%edi, %edx
-	xorl	%ebx, %edx
-	movl	380(%esp), %ebx
-	xorl	%ebp, %eax
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	leal	0(,%ebx,4), %ecx
-	setb	%al
-	movzbl	%al, %edi
-	movl	%ebx, %ebp
-	addl	%edi, %edx
-	movl	376(%esp), %edi
-	addl	%ecx, %ebx
-	shrl	$30, %ebp
-	movl	%ebx, 360(%esp)
-	xorl	%eax, %eax
-	addl	%edx, %edi
-	leal	0(,%edi,4), %edx
-	orl	%ebp, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	movl	356(%esp), %ebp
-	addl	%eax, %edx
-	leal	(%edi,%edx), %eax
-	movl	476(%esp), %edi
-	movl	456(%esp), %edx
-	movl	%eax, 268(%esp)
-	movl	352(%esp), %ecx
-	xorl	%ebp, %edi
-	movl	472(%esp), %ebp
-	addl	%edi, %edx
-	movl	%edx, 348(%esp)
-	xorl	%ecx, %ebp
-	cmpl	%edi, %edx
-	setb	%bl
-	movl	452(%esp), %ecx
-	movzbl	%bl, %eax
-	leal	(%ebp,%eax), %edx
-	movl	348(%esp), %ebx
-	movl	%edi, %eax
-	notl	%eax
-	addl	%ecx, %edx
-	sall	$19, %eax
-	movl	%edx, 344(%esp)
-	xorl	%ebx, %eax
-	xorl	%ebx, %ebx
-	cmpl	%eax, 440(%esp)
-	movl	%edi, %ecx
-	movl	440(%esp), %edx
-	setb	%bl
-	subl	%eax, %edx
-	movl	%ebp, %eax
-	movl	%edx, 340(%esp)
-	movl	344(%esp), %edx
+	movl	-232(%ebp), %ecx
+	movl	-240(%ebp), %eax
+	movl	%edx, -304(%ebp)
+	movl	-272(%ebp), %edx
 	shrl	$13, %ecx
 	sall	$19, %eax
@@ -800,841 +479,476 @@
 	notl	%edx
 	xorl	%eax, %edx
-	movl	432(%esp), %ecx
-	addl	%ebx, %edx
-	movl	340(%esp), %eax
-	movl	436(%esp), %ebx
-	subl	%edx, %ecx
-	movl	%ecx, 336(%esp)
-	xorl	%eax, %ebx
-	xorl	%eax, %eax
-	movl	%ebx, 332(%esp)
-	movl	420(%esp), %edx
+	movl	-52(%ebp), %eax
+	addl	%edi, %edx
+	movl	-60(%ebp), %ecx
+	subl	%edx, %eax
+	movl	-280(%ebp), %edi
+	movl	%eax, -308(%ebp)
+	movl	-56(%ebp), %edx
+	movl	-276(%ebp), %eax
+	xorl	%ecx, %edi
+	xorl	%edx, %eax
+	movl	%eax, -284(%ebp)
+	movl	%edi, -288(%ebp)
+	movzbl	%al,%edi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-288(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-288(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-268(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -268(%ebp)
+	movl	-292(%ebp), %edi
+	setb	%al
+	addl	%eax, %edx
+	subl	%ecx, %esi
+	subl	%edx, %edi
+	movl	%esi, -312(%ebp)
+	movl	-284(%ebp), %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	movl	%edi, -316(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-288(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-288(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-252(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-256(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,4), %ecx
+	movl	%edx, -296(%ebp)
+	addl	%ecx, %edi
+	shrl	$30, %eax
+	movl	%edi, -300(%ebp)
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-296(%ebp), %edi
+	setb	%al
+	movl	-56(%ebp), %ecx
+	addl	%eax, %edx
+	addl	%edi, %edx
+	movl	%edx, -328(%ebp)
+	movl	-304(%ebp), %edx
+	xorl	%edx, %ecx
+	movl	%ecx, -340(%ebp)
+	movl	-308(%ebp), %eax
+	movl	-60(%ebp), %edi
+	movl	-64(%ebp), %edx
+	movl	-68(%ebp), %ecx
+	xorl	%eax, %edi
+	movl	%edi, -348(%ebp)
+	movl	-312(%ebp), %eax
+	movl	-316(%ebp), %edi
+	xorl	%edx, %eax
+	xorl	%ecx, %edi
+	movl	%edi, -324(%ebp)
+	movzbl	%al,%edi
+	movl	%eax, -320(%ebp)
+	shrl	$13, %eax
+	movl	(%esi,%edi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-324(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-324(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-300(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -300(%ebp)
+	movl	-328(%ebp), %edi
+	setb	%al
+	addl	%eax, %edx
+	subl	%ecx, %esi
+	subl	%edx, %edi
+	movl	%esi, -352(%ebp)
+	movl	-320(%ebp), %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	movl	%edi, -356(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-324(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-324(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-284(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-288(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,4), %ecx
+	movl	%edx, -332(%ebp)
+	addl	%ecx, %edi
+	shrl	$30, %eax
+	movl	%edi, -336(%ebp)
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-332(%ebp), %ecx
+	setb	%al
+	movl	-340(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-340(%ebp), %eax
+	movl	-348(%ebp), %ecx
+	movl	%edx, -368(%ebp)
+	movl	-64(%ebp), %edx
+	addl	%eax, %edx
+	movl	%edx, -344(%ebp)
+	xorl	%eax, %eax
+	cmpl	%edi, %edx
+	movl	-68(%ebp), %edi
+	setb	%al
+	addl	%ecx, %eax
+	movl	-72(%ebp), %edx
+	addl	%edi, %eax
+	movl	-76(%ebp), %ecx
+	movl	%eax, -380(%ebp)
+	movl	-356(%ebp), %edi
+	movl	-352(%ebp), %eax
+	xorl	%ecx, %edi
+	xorl	%edx, %eax
+	movl	%edi, -364(%ebp)
+	movzbl	%al,%edi
+	movl	%eax, -360(%ebp)
+	shrl	$13, %eax
+	movl	(%esi,%edi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-364(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-364(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-336(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -336(%ebp)
+	movl	-368(%ebp), %edi
+	setb	%al
+	addl	%eax, %edx
+	subl	%ecx, %esi
+	subl	%edx, %edi
+	movl	%esi, -384(%ebp)
+	movl	-360(%ebp), %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	movl	%edi, -388(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-364(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-364(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-320(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	setb	%al
+	leal	0(,%edi,4), %ecx
+	addl	%eax, %edx
+	movl	-324(%ebp), %eax
+	movl	%edi, %esi
+	shrl	$30, %esi
+	addl	%ecx, %edi
+	addl	%eax, %edx
+	xorl	%eax, %eax
+	movl	%edx, -372(%ebp)
+	sall	$2, %edx
+	orl	%esi, %edx
+	movl	%edi, -376(%ebp)
+	cmpl	%ecx, %edi
+	movl	-372(%ebp), %esi
+	setb	%al
+	movl	-344(%ebp), %ecx
+	addl	%eax, %edx
+	addl	%esi, %edx
+	movl	-340(%ebp), %eax
+	notl	%ecx
+	movl	%edx, -400(%ebp)
+	movl	-348(%ebp), %edx
+	shrl	$23, %eax
+	movl	-72(%ebp), %edi
+	sall	$9, %edx
+	movl	-380(%ebp), %esi
+	orl	%edx, %eax
+	xorl	%eax, %ecx
+	xorl	%edx, %edx
+	cmpl	%ecx, -72(%ebp)
+	movl	-348(%ebp), %eax
+	notl	%eax
+	setb	%dl
+	subl	%ecx, %edi
+	shrl	$23, %eax
+	movl	%edi, -412(%ebp)
+	movl	-76(%ebp), %ecx
+	xorl	%esi, %eax
+	addl	%edx, %eax
+	movl	-80(%ebp), %edx
+	movl	-84(%ebp), %edi
+	subl	%eax, %ecx
+	movl	-384(%ebp), %eax
+	movl	-388(%ebp), %esi
+	movl	%ecx, -416(%ebp)
+	xorl	%edx, %eax
+	movl	tiger_table@GOT(%ebx), %ecx
+	movl	%eax, -392(%ebp)
+	xorl	%edi, %esi
+	movzbl	%al,%edi
+	movl	%esi, -396(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	%ecx, %esi
+	movl	2048(%eax,%ecx), %edx
+	movl	(%ecx,%edi,8), %ecx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-396(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-396(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-376(%ebp), %edi
+	cmpl	%ecx, -376(%ebp)
+	setb	%al
+	addl	%eax, %edx
+	movl	-400(%ebp), %eax
+	subl	%ecx, %edi
+	movl	%edi, -488(%ebp)
+	subl	%edx, %eax
+	movl	%eax, -492(%ebp)
+	movl	-392(%ebp), %ecx
+	movzbl	%ch, %edi
+	movl	%ecx, %eax
+	sall	$3, %edi
+	shrl	$24, %eax
+	movl	%edi, -88(%ebp)
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %ecx
+	movl	-88(%ebp), %edx
+	movl	%esi, %edi
+	movl	%ecx, -1116(%ebp)
+	movl	4100(%eax,%esi), %eax
+	xorl	6144(%edx,%esi), %ecx
+	movl	%eax, %edx
+	movl	-88(%ebp), %eax
+	xorl	6148(%eax,%esi), %edx
+	movl	-396(%ebp), %eax
+	movzbl	%ah, %eax
+	movl	%eax, -1112(%ebp)
+	sall	$3, %eax
+	xorl	2048(%eax,%esi), %ecx
+	xorl	2052(%eax,%esi), %edx
+	movl	-396(%ebp), %eax
+	shrl	$24, %eax
+	xorl	(%esi,%eax,8), %ecx
+	xorl	4(%esi,%eax,8), %edx
+	movl	-360(%ebp), %esi
+	xorl	%eax, %eax
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-364(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	%edx, -404(%ebp)
+	leal	0(,%esi,4), %ecx
+	movl	%esi, %eax
+	shrl	$30, %eax
+	addl	%ecx, %esi
+	sall	$2, %edx
+	movl	%esi, -408(%ebp)
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	setb	%al
+	movl	-412(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-404(%ebp), %eax
+	movl	-416(%ebp), %esi
+	addl	%eax, %edx
+	xorl	%eax, %eax
+	movl	%edx, -504(%ebp)
+	movl	-80(%ebp), %edx
 	xorl	%ecx, %edx
-	movl	%edx, 324(%esp)
-	movl	408(%esp), %edx
-	movl	324(%esp), %ecx
-	addl	%ebx, %edx
-	cmpl	%ebx, %edx
-	setb	%al
-	movl	%edx, 328(%esp)
+	movl	%edx, -420(%ebp)
+	movl	-84(%ebp), %ecx
+	xorl	%esi, %ecx
+	movl	%ecx, -428(%ebp)
+	movl	-196(%ebp), %esi
+	addl	%edx, %esi
+	movl	%esi, -424(%ebp)
+	cmpl	%edx, %esi
+	setb	%al
 	addl	%ecx, %eax
-	movl	404(%esp), %ecx
+	addl	-200(%ebp), %eax
+	movl	%eax, -432(%ebp)
+	movl	%edx, %eax
+	notl	%eax
+	sall	$19, %eax
+	xorl	%edx, %edx
+	xorl	%esi, %eax
+	cmpl	%eax, -232(%ebp)
+	setb	%dl
+	movl	%edx, -436(%ebp)
+	movl	-232(%ebp), %esi
+	movl	-436(%ebp), %edx
+	subl	%eax, %esi
+	movl	%ecx, %eax
+	movl	-420(%ebp), %ecx
+	movl	%esi, -440(%ebp)
+	movl	-432(%ebp), %esi
+	sall	$19, %eax
+	shrl	$13, %ecx
+	orl	%ecx, %eax
+	notl	%esi
+	xorl	%eax, %esi
+	movl	-240(%ebp), %ecx
+	addl	%edx, %esi
+	movl	-272(%ebp), %edx
+	subl	%esi, %ecx
+	movl	-440(%ebp), %eax
+	movl	%ecx, -444(%ebp)
+	movl	-236(%ebp), %esi
+	xorl	%ecx, %edx
+	movl	%edx, -456(%ebp)
+	movl	-304(%ebp), %edx
+	xorl	%eax, %esi
+	movl	%esi, -448(%ebp)
+	movl	-456(%ebp), %ecx
+	xorl	%eax, %eax
+	addl	%esi, %edx
+	cmpl	%esi, %edx
+	setb	%al
+	movl	%edx, -452(%ebp)
+	addl	%ecx, %eax
+	movl	-308(%ebp), %ecx
 	addl	%ecx, %eax
 	movl	%edx, %ecx
 	notl	%ecx
-	movl	%eax, 320(%esp)
-	movl	%ebx, %eax
-	movl	324(%esp), %ebx
-	shrl	$23, %eax
-	xorl	%edx, %edx
-	sall	$9, %ebx
-	orl	%ebx, %eax
-	xorl	%eax, %ecx
-	movl	392(%esp), %ebx
-	cmpl	%ecx, 392(%esp)
-	movl	324(%esp), %eax
-	setb	%dl
-	subl	%ecx, %ebx
-	movl	320(%esp), %ecx
-	notl	%eax
-	movl	%ebx, 316(%esp)
-	shrl	$23, %eax
-	xorl	%ecx, %eax
-	addl	%edx, %eax
-	movl	384(%esp), %edx
-	movl	388(%esp), %ecx
-	subl	%eax, %edx
-	movl	356(%esp), %eax
-	xorl	%ebx, %ecx
-	movl	%edx, 312(%esp)
-	movl	372(%esp), %ebx
-	movl	%ecx, 308(%esp)
-	addl	%ecx, %eax
-	xorl	%edx, %ebx
-	movl	%eax, 304(%esp)
-	cmpl	%ecx, %eax
-	setb	%dl
-	movl	%ebx, 300(%esp)
-	movl	352(%esp), %ecx
-	movzbl	%dl, %eax
-	movl	304(%esp), %edx
-	addl	%ebx, %eax
-	xorl	%ebx, %ebx
-	addl	%ecx, %eax
-	xorl	$-1985229329, %edx
-	movl	%eax, 296(%esp)
-	cmpl	%edx, %edi
-	movl	296(%esp), %eax
-	setb	%bl
-	subl	%edx, %edi
-	movl	344(%esp), %ecx
-	movl	%edi, 280(%esp)
-	movl	348(%esp), %edi
-	xorl	$19088743, %eax
-	xorl	%edi, 292(%esp)
-	addl	%ebx, %eax
-	subl	%eax, %ebp
-	movl	%ebp, 276(%esp)
-	movl	292(%esp), %ebx
-	movzbl	292(%esp),%ebp
-	xorl	%ecx, 288(%esp)
-	shrl	$16, %ebx
-	andl	$255, %ebx
-	movl	(%esi,%ebp,8), %edx
-	movl	tiger_table+2048(,%ebx,8), %ecx
-	movl	4(%esi,%ebp,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%ebx,8), %edx
-	movzbl	288(%esp),%ebx
-	xorl	%eax, %edx
-	movl	tiger_table+4096(,%ebx,8), %edi
-	movl	tiger_table+4100(,%ebx,8), %ebp
-	xorl	%edi, %ecx
-	movl	288(%esp), %edi
-	xorl	%ebp, %edx
-	movl	360(%esp), %ebp
-	shrl	$16, %edi
-	andl	$255, %edi
-	movl	tiger_table+6144(,%edi,8), %eax
-	movl	tiger_table+6148(,%edi,8), %ebx
-	xorl	%eax, %ecx
-	xorl	%ebx, %edx
-	xorl	%eax, %eax
-	cmpl	%ecx, 360(%esp)
-	setb	%al
-	subl	%ecx, %ebp
-	movl	%ebp, 272(%esp)
-	addl	%eax, %edx
-	movl	292(%esp), %eax
-	subl	%edx, 268(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ecx,8), %edi
-	xorl	%ebx, %edx
-	movl	288(%esp), %ebx
-	xorl	%edi, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %edi
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	(%esi,%ecx,8), %ebx
-	movl	4(%esi,%ecx,8), %ebp
-	xorl	%edi, %edx
-	movl	368(%esp), %ecx
-	xorl	%ebx, %eax
-	movl	%esi, %edi
-	xorl	%ebp, %edx
-	addl	%eax, %ecx
-	movl	364(%esp), %ebp
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	addl	%ebp, %edx
-	movl	%ecx, %eax
-	leal	0(,%ecx,8), %ebx
-	shrl	$29, %eax
-	leal	0(,%edx,8), %ebp
-	orl	%eax, %ebp
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	leal	(%edx,%eax), %eax
-	movl	280(%esp), %edx
-	subl	%ecx, %ebx
-	movl	%ebx, 284(%esp)
-	subl	%eax, %ebp
-	xorl	%ecx, %ecx
-	xorl	$-1515870811, %edx
-	movl	348(%esp), %ebx
-	movl	276(%esp), %eax
-	cmpl	%edx, 348(%esp)
-	setb	%cl
-	subl	%edx, %ebx
-	movl	%ebx, 260(%esp)
-	movl	340(%esp), %ebx
-	xorl	$-1515870811, %eax
-	xorl	%ebx, 272(%esp)
-	addl	%ecx, %eax
-	movl	344(%esp), %edx
-	movl	336(%esp), %ecx
-	movzbl	272(%esp),%ebx
-	subl	%eax, %edx
-	movl	272(%esp), %eax
-	xorl	%ecx, 268(%esp)
-	movl	%edx, 256(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%esi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	268(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	268(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	284(%esp), %ebx
-	cmpl	%ecx, 284(%esp)
-	setb	%al
-	subl	%ecx, %ebx
-	movl	%ebx, 252(%esp)
-	addl	%eax, %edx
-	movl	272(%esp), %eax
-	subl	%edx, %ebp
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	268(%esp), %ebx
-	movzbl	%bh, %ecx
-	xorl	tiger_table+2048(,%ecx,8), %eax
-	xorl	tiger_table+2052(,%ecx,8), %edx
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	movl	(%esi,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	292(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%bl
-	movzbl	%bl, %eax
-	movl	288(%esp), %ebx
-	addl	%eax, %edx
-	addl	%ebx, %edx
-	leal	0(,%edx,8), %eax
-	leal	0(,%ecx,8), %ebx
-	movl	%eax, 228(%esp)
-	movl	%ecx, %eax
-	shrl	$29, %eax
-	orl	%eax, 228(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	subl	%ecx, %ebx
-	movl	340(%esp), %ecx
-	movl	%ebx, 264(%esp)
-	movl	260(%esp), %ebx
-	leal	(%edx,%eax), %eax
-	subl	%eax, 228(%esp)
-	xorl	%ebx, %ecx
-	movl	256(%esp), %edx
-	movl	%ecx, 244(%esp)
-	movl	332(%esp), %ebx
-	movl	336(%esp), %eax
-	xorl	%ebx, 252(%esp)
-	movl	324(%esp), %ecx
-	xorl	%edx, %eax
-	movl	%eax, 236(%esp)
-	movl	252(%esp), %eax
-	xorl	%ecx, %ebp
-	movzbl	252(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%esi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movl	%ebp, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	%ebp, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ebx, %edx
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	264(%esp), %ebx
-	cmpl	%ecx, 264(%esp)
-	setb	%al
-	subl	%ecx, %ebx
-	movl	%ebx, 232(%esp)
-	addl	%eax, %edx
-	movl	252(%esp), %eax
-	subl	%edx, 228(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	%ebp, %ebx
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebx
-	movl	%ebp, %ecx
-	shrl	$24, %ecx
-	xorl	%ebx, %edx
-	movl	(%esi,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	272(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%bl
-	movzbl	%bl, %eax
-	movl	268(%esp), %ebx
-	addl	%eax, %edx
-	addl	%ebx, %edx
-	leal	0(,%edx,8), %eax
-	leal	0(,%ecx,8), %ebx
-	movl	%eax, 212(%esp)
-	movl	%ecx, %eax
-	shrl	$29, %eax
-	orl	%eax, 212(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	subl	%ecx, %ebx
-	leal	(%edx,%eax), %ecx
-	movl	%ebx, 248(%esp)
-	movl	244(%esp), %eax
-	movl	332(%esp), %edx
-	subl	%ecx, 212(%esp)
-	movl	244(%esp), %ebx
-	addl	%eax, %edx
-	movl	%edx, 240(%esp)
-	movl	236(%esp), %ecx
-	xorl	%eax, %eax
-	cmpl	%ebx, %edx
-	movl	324(%esp), %edx
-	setb	%al
-	movl	328(%esp), %ebx
-	addl	%ecx, %eax
-	movl	320(%esp), %ecx
-	xorl	%ebx, 232(%esp)
-	addl	%edx, %eax
-	movl	%eax, 220(%esp)
-	xorl	%ecx, 228(%esp)
-	movl	232(%esp), %eax
-	movzbl	232(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%esi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	228(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	228(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	248(%esp), %ebx
-	cmpl	%ecx, 248(%esp)
-	setb	%al
-	subl	%ecx, %ebx
-	movl	%ebx, 216(%esp)
-	addl	%eax, %edx
-	movl	232(%esp), %eax
-	subl	%edx, 212(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	228(%esp), %ebx
-	movzbl	%bh, %ecx
-	xorl	tiger_table+2048(,%ecx,8), %eax
-	xorl	tiger_table+2052(,%ecx,8), %edx
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	movl	(%esi,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	4(%esi,%ecx,8), %ebx
-	movl	252(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	movl	%ecx, %eax
-	leal	(%ebp,%edx), %ebx
-	shrl	$29, %eax
-	leal	0(,%ecx,8), %edx
-	leal	0(,%ebx,8), %ebp
-	orl	%eax, %ebp
-	xorl	%eax, %eax
-	cmpl	%ecx, %edx
-	setb	%al
-	subl	%ecx, %edx
-	leal	(%ebx,%eax), %ecx
-	movl	%edx, 224(%esp)
-	movl	244(%esp), %eax
-	subl	%ecx, %ebp
-	movl	240(%esp), %ebx
-	movl	328(%esp), %edx
-	notl	%eax
-	sall	$19, %eax
-	movl	244(%esp), %ecx
-	xorl	%ebx, %eax
-	xorl	%ebx, %ebx
-	cmpl	%eax, 328(%esp)
-	setb	%bl
-	subl	%eax, %edx
-	movl	%edx, 204(%esp)
-	movl	236(%esp), %eax
-	shrl	$13, %ecx
-	movl	220(%esp), %edx
-	sall	$19, %eax
-	orl	%ecx, %eax
-	notl	%edx
-	movl	312(%esp), %ecx
-	xorl	%eax, %edx
-	xorl	%ecx, 212(%esp)
-	addl	%ebx, %edx
-	movl	320(%esp), %eax
-	movl	316(%esp), %ebx
-	xorl	%ebx, 216(%esp)
-	subl	%edx, %eax
-	movl	%eax, 200(%esp)
-	movl	216(%esp), %eax
-	movzbl	216(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%esi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%esi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	212(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	212(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	movl	224(%esp), %esi
-	cmpl	%ecx, 224(%esp)
-	setb	%al
-	addl	%eax, %edx
-	subl	%edx, %ebp
-	movl	216(%esp), %edx
-	subl	%ecx, %esi
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	212(%esp), %ebx
-	movzbl	%bh, %ecx
-	xorl	tiger_table+2048(,%ecx,8), %eax
-	xorl	tiger_table+2052(,%ecx,8), %edx
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	movl	(%edi,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	4(%edi,%ecx,8), %ebx
-	movl	232(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	movl	228(%esp), %ebx
-	addl	%edx, %ebx
-	leal	0(,%ebx,8), %eax
-	leal	0(,%ecx,8), %edx
-	movl	%eax, 176(%esp)
-	movl	%ecx, %eax
-	shrl	$29, %eax
-	orl	%eax, 176(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %edx
-	setb	%al
-	subl	%ecx, %edx
-	movl	316(%esp), %ecx
-	movl	%edx, 208(%esp)
-	leal	(%ebx,%eax), %edx
-	movl	204(%esp), %ebx
-	subl	%edx, 176(%esp)
-	movl	200(%esp), %eax
-	xorl	%ebx, %ecx
-	movl	%ecx, 192(%esp)
-	movl	308(%esp), %ebx
-	movl	312(%esp), %edx
-	movl	300(%esp), %ecx
-	xorl	%ebx, %esi
-	xorl	%eax, %edx
-	movl	%edx, 184(%esp)
+	movl	%eax, -460(%ebp)
 	movl	%esi, %eax
-	movl	%esi, %ebx
-	shrl	$16, %eax
-	andl	$255, %ebx
-	andl	$255, %eax
-	xorl	%ecx, %ebp
-	movl	(%edi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movl	%ebp, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	%ebp, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ebx, %edx
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	cmpl	%ecx, 208(%esp)
-	movl	208(%esp), %ebx
-	setb	%al
-	addl	%eax, %edx
-	movl	%esi, %eax
-	subl	%ecx, %ebx
-	subl	%edx, 176(%esp)
-	movl	%esi, %edx
-	movzbl	%ah, %ecx
-	movl	%ebx, 180(%esp)
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	%ebp, %ebx
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebx
-	movl	%ebp, %ecx
-	shrl	$24, %ecx
-	xorl	%ebx, %edx
-	movl	(%edi,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	4(%edi,%ecx,8), %ebx
-	movl	216(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	movl	212(%esp), %ebx
-	addl	%edx, %ebx
-	leal	0(,%ebx,8), %eax
-	leal	0(,%ecx,8), %edx
-	movl	%eax, 164(%esp)
-	movl	%ecx, %eax
-	shrl	$29, %eax
-	orl	%eax, 164(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %edx
-	setb	%al
-	subl	%ecx, %edx
-	leal	(%ebx,%eax), %ecx
-	movl	%edx, 196(%esp)
-	movl	192(%esp), %eax
-	movl	308(%esp), %edx
-	subl	%ecx, 164(%esp)
-	movl	192(%esp), %ebx
-	addl	%eax, %edx
-	movl	%edx, 188(%esp)
-	movl	184(%esp), %ecx
-	xorl	%eax, %eax
-	cmpl	%ebx, %edx
-	movl	300(%esp), %edx
-	setb	%al
-	movl	304(%esp), %ebx
-	addl	%ecx, %eax
-	movl	296(%esp), %ecx
-	xorl	%ebx, 180(%esp)
-	addl	%edx, %eax
-	movl	%eax, 172(%esp)
-	xorl	%ecx, 176(%esp)
-	movl	180(%esp), %eax
-	movzbl	180(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%edi,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	176(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	176(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	196(%esp), %ebx
-	cmpl	%ecx, 196(%esp)
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	movl	%ebx, 168(%esp)
-	subl	%edx, 164(%esp)
-	movl	180(%esp), %eax
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	176(%esp), %ebx
-	movzbl	%bh, %ecx
-	xorl	tiger_table+2048(,%ecx,8), %eax
-	xorl	tiger_table+2052(,%ecx,8), %edx
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	movl	(%edi,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	4(%edi,%ecx,8), %ebx
-	leal	(%esi,%eax), %ecx
-	xorl	%ebx, %edx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	leal	(%ebp,%edx), %esi
-	movl	%ecx, %ebp
-	leal	0(,%esi,8), %eax
-	movl	%eax, 88(%esp)
-	leal	0(,%ecx,8), %ebx
-	xorl	%eax, %eax
-	shrl	$29, %ebp
-	movl	184(%esp), %edx
-	orl	%ebp, 88(%esp)
-	cmpl	%ecx, %ebx
-	movl	192(%esp), %ebp
-	setb	%al
-	subl	%ecx, %ebx
-	leal	(%esi,%eax), %ecx
-	subl	%ecx, 88(%esp)
-	sall	$9, %edx
-	movl	188(%esp), %esi
-	shrl	$23, %ebp
-	movl	304(%esp), %eax
-	orl	%edx, %ebp
-	notl	%esi
-	xorl	%edx, %edx
-	movl	172(%esp), %ecx
-	xorl	%ebp, %esi
-	movl	184(%esp), %ebp
-	cmpl	%esi, 304(%esp)
-	notl	%ebp
-	setb	%dl
-	subl	%esi, %eax
-	shrl	$23, %ebp
-	movl	296(%esp), %esi
-	movl	%eax, 156(%esp)
-	movl	280(%esp), %eax
-	xorl	%ecx, %ebp
-	xorl	%eax, 168(%esp)
-	addl	%edx, %ebp
-	subl	%ebp, %esi
-	movl	%esi, 152(%esp)
-	movl	276(%esp), %ecx
-	movl	168(%esp), %ebp
-	movzbl	168(%esp),%esi
-	xorl	%ecx, 164(%esp)
-	shrl	$16, %ebp
-	andl	$255, %ebp
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%ebp,8), %ecx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%ebp,8), %edx
-	xorl	%eax, %edx
-	movzbl	164(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebp
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	164(%esp), %eax
-	xorl	%ebp, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebp
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%ebp, %ecx
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	subl	%edx, 88(%esp)
-	movl	168(%esp), %eax
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	164(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	4(%edi,%ecx,8), %ebp
-	xorl	%esi, %eax
-	movl	180(%esp), %ecx
-	xorl	%ebp, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	leal	0(,%ecx,8), %ebp
-	setb	%al
-	movzbl	%al, %esi
-	addl	%esi, %edx
-	movl	176(%esp), %esi
-	addl	%edx, %esi
-	leal	0(,%esi,8), %eax
-	movl	%ecx, %edx
-	movl	%eax, 76(%esp)
-	shrl	$29, %edx
-	xorl	%eax, %eax
-	orl	%edx, 76(%esp)
-	cmpl	%ecx, %ebp
-	setb	%al
-	leal	(%esi,%eax), %edx
-	subl	%ecx, %ebp
-	movl	156(%esp), %ecx
-	subl	%edx, 76(%esp)
-	xorl	%eax, %eax
-	movl	280(%esp), %edx
-	movl	%ebp, 160(%esp)
-	movl	152(%esp), %ebp
-	movl	256(%esp), %esi
-	xorl	%ecx, %edx
-	movl	276(%esp), %ecx
-	movl	%edx, 148(%esp)
-	xorl	%ebp, %ecx
-	movl	260(%esp), %ebp
-	movl	%ecx, 144(%esp)
-	addl	%edx, %ebp
-	cmpl	%edx, %ebp
-	setb	%al
-	addl	%ecx, %eax
-	addl	%esi, %eax
-	movl	%eax, 140(%esp)
-	movl	%edx, %eax
-	notl	%eax
-	sall	$19, %eax
-	xorl	%ebp, %eax
-	cmpl	%eax, 244(%esp)
-	setb	%dl
-	movzbl	%dl, %esi
-	movl	244(%esp), %edx
-	subl	%eax, %edx
-	movl	%ecx, %eax
-	movl	%edx, 136(%esp)
-	movl	148(%esp), %ecx
-	sall	$19, %eax
-	movl	140(%esp), %edx
-	shrl	$13, %ecx
-	orl	%ecx, %eax
-	notl	%edx
-	movl	236(%esp), %ecx
-	xorl	%eax, %edx
-	addl	%esi, %edx
-	subl	%edx, %ecx
-	movl	%ecx, 132(%esp)
-	movl	220(%esp), %edx
-	movl	136(%esp), %eax
-	movl	240(%esp), %esi
-	xorl	%ecx, %edx
-	movl	%edx, 120(%esp)
-	movl	204(%esp), %edx
-	xorl	%eax, %esi
-	movl	%esi, 128(%esp)
-	movl	120(%esp), %ecx
-	xorl	%eax, %eax
-	addl	%esi, %edx
-	cmpl	%esi, %edx
-	setb	%al
-	movl	%edx, 124(%esp)
-	addl	%ecx, %eax
-	movl	200(%esp), %ecx
-	addl	%ecx, %eax
-	movl	%edx, %ecx
-	notl	%ecx
-	movl	%eax, 116(%esp)
-	movl	%esi, %eax
-	movl	120(%esp), %esi
+	movl	-456(%ebp), %esi
 	shrl	$23, %eax
 	xorl	%edx, %edx
@@ -1642,660 +956,1752 @@
 	orl	%esi, %eax
 	xorl	%eax, %ecx
-	movl	192(%esp), %esi
-	cmpl	%ecx, 192(%esp)
-	movl	120(%esp), %eax
+	movl	-340(%ebp), %esi
+	cmpl	%ecx, -340(%ebp)
+	movl	-456(%ebp), %eax
 	setb	%dl
 	subl	%ecx, %esi
-	movl	116(%esp), %ecx
+	movl	-460(%ebp), %ecx
 	notl	%eax
-	movl	%esi, 112(%esp)
+	movl	%esi, -464(%ebp)
 	shrl	$23, %eax
 	xorl	%ecx, %eax
+	movl	-344(%ebp), %ecx
 	addl	%edx, %eax
-	movl	184(%esp), %edx
-	movl	188(%esp), %ecx
+	movl	-348(%ebp), %edx
+	xorl	%esi, %ecx
+	movl	-380(%ebp), %esi
 	subl	%eax, %edx
-	movl	156(%esp), %eax
-	xorl	%esi, %ecx
-	movl	%edx, 108(%esp)
-	movl	172(%esp), %esi
-	movl	%ecx, 104(%esp)
-	addl	%ecx, %eax
+	movl	%edx, -468(%ebp)
+	movl	%ecx, -472(%ebp)
 	xorl	%edx, %esi
-	movl	%eax, 100(%esp)
-	cmpl	%ecx, %eax
-	setb	%dl
-	movl	%esi, 96(%esp)
-	movl	152(%esp), %ecx
-	movzbl	%dl, %eax
-	movl	100(%esp), %edx
-	addl	%esi, %eax
-	addl	%ecx, %eax
-	movl	%eax, 92(%esp)
-	xorl	$-1985229329, %edx
-	xorl	%eax, %eax
-	cmpl	%edx, 148(%esp)
-	movl	92(%esp), %esi
-	movl	140(%esp), %ecx
-	setb	%al
-	xorl	%ebp, %ebx
-	xorl	$19088743, %esi
-	subl	%edx, 148(%esp)
-	addl	%eax, %esi
-	movl	%ebx, %eax
-	subl	%esi, 144(%esp)
-	shrl	$16, %eax
-	movzbl	%bl,%esi
-	xorl	%ecx, 88(%esp)
-	andl	$255, %eax
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	4(%edi,%esi,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	88(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	88(%esp), %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	cmpl	%ecx, 160(%esp)
-	movl	160(%esp), %esi
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %esi
-	movzbl	%bh, %ecx
-	subl	%edx, 76(%esp)
-	movl	%ebx, %edx
-	shrl	$24, %edx
-	movl	%esi, 80(%esp)
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	88(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	4(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	(%edi,%ecx,8), %ebp
-	xorl	%esi, %edx
-	movl	168(%esp), %esi
-	xorl	%ebp, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %ebp
-	movzbl	%al, %ecx
-	movl	164(%esp), %eax
+	movl	-412(%ebp), %edx
+	movl	%esi, -480(%ebp)
 	addl	%ecx, %edx
-	shrl	$29, %ebp
-	leal	0(,%esi,8), %ecx
-	addl	%eax, %edx
-	xorl	%eax, %eax
-	movl	%edx, 84(%esp)
-	sall	$3, %edx
-	orl	%ebp, %edx
-	leal	(%esi,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	136(%esp), %esi
-	setb	%al
-	movl	132(%esp), %ecx
-	addl	%eax, %edx
-	xorl	%esi, 80(%esp)
-	movl	84(%esp), %eax
-	addl	%eax, %edx
-	movl	%edx, 68(%esp)
-	xorl	%ecx, 76(%esp)
-	movl	80(%esp), %eax
-	movzbl	80(%esp),%esi
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	76(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	76(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebp
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebp
-	subl	%edx, 68(%esp)
-	movl	80(%esp), %edx
-	movl	%ebp, 72(%esp)
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	76(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	4(%edi,%ecx,8), %ebp
-	xorl	%esi, %eax
-	addl	%eax, %ebx
-	xorl	%ebp, %edx
-	cmpl	%eax, %ebx
-	leal	0(,%ebx,8), %ecx
-	setb	%al
-	movzbl	%al, %esi
-	movl	%ebx, %ebp
-	addl	%esi, %edx
-	movl	88(%esp), %esi
-	addl	%ecx, %ebx
-	shrl	$29, %ebp
-	xorl	%eax, %eax
-	addl	%edx, %esi
-	leal	0(,%esi,8), %edx
-	orl	%ebp, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	movl	128(%esp), %eax
-	leal	(%esi,%edx), %ebp
-	xorl	%eax, 72(%esp)
-	movl	120(%esp), %ecx
-	movl	%ebp, 60(%esp)
-	movl	72(%esp), %ebp
-	movzbl	72(%esp),%esi
-	xorl	%ecx, 68(%esp)
-	shrl	$16, %ebp
-	andl	$255, %ebp
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%ebp,8), %ecx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%ebp,8), %edx
-	xorl	%eax, %edx
-	movzbl	68(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebp
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	68(%esp), %eax
-	xorl	%ebp, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebp
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%ebp, %ecx
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	subl	%edx, 60(%esp)
-	movl	72(%esp), %edx
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	68(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	4(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	(%edi,%ecx,8), %ebp
-	xorl	%esi, %edx
-	movl	80(%esp), %esi
-	xorl	%ebp, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %ebp
-	movzbl	%al, %ecx
-	movl	76(%esp), %eax
-	addl	%ecx, %edx
-	shrl	$29, %ebp
-	leal	0(,%esi,8), %ecx
-	addl	%eax, %edx
-	xorl	%eax, %eax
-	movl	%edx, 64(%esp)
-	sall	$3, %edx
-	orl	%ebp, %edx
-	leal	(%esi,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	124(%esp), %esi
-	setb	%al
-	movl	116(%esp), %ecx
-	addl	%eax, %edx
-	xorl	%ecx, 60(%esp)
-	xorl	%esi, %ebx
-	movl	64(%esp), %eax
-	movzbl	%bl,%esi
-	addl	%eax, %edx
-	movl	%ebx, %eax
-	movl	%edx, 48(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	60(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	60(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebp
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebp
-	movzbl	%bh, %ecx
-	subl	%edx, 48(%esp)
-	movl	%ebx, %edx
-	shrl	$24, %edx
-	movl	%ebp, 52(%esp)
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	60(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	4(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	(%edi,%ecx,8), %ebp
-	xorl	%esi, %edx
-	movl	72(%esp), %esi
-	xorl	%ebp, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %ebp
-	movzbl	%al, %ecx
-	movl	68(%esp), %eax
-	addl	%ecx, %edx
-	shrl	$29, %ebp
-	leal	0(,%esi,8), %ecx
-	addl	%eax, %edx
-	xorl	%eax, %eax
-	movl	%edx, 56(%esp)
-	sall	$3, %edx
-	orl	%ebp, %edx
-	leal	(%esi,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	112(%esp), %esi
-	setb	%al
-	xorl	%esi, 52(%esp)
-	addl	%eax, %edx
-	movl	56(%esp), %eax
-	movl	108(%esp), %ecx
-	movzbl	52(%esp),%esi
-	addl	%eax, %edx
-	movl	52(%esp), %eax
-	xorl	%ecx, 48(%esp)
-	movl	%edx, 40(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	48(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	48(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebp
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebp
-	subl	%edx, 40(%esp)
-	movl	52(%esp), %edx
-	movl	%ebp, 44(%esp)
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	48(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	4(%edi,%ecx,8), %ebp
-	xorl	%esi, %eax
-	addl	%eax, %ebx
-	xorl	%ebp, %edx
-	cmpl	%eax, %ebx
-	leal	0(,%ebx,8), %ecx
-	setb	%al
-	movzbl	%al, %esi
-	movl	%ebx, %ebp
-	addl	%esi, %edx
-	movl	60(%esp), %esi
-	addl	%ecx, %ebx
-	shrl	$29, %ebp
-	xorl	%eax, %eax
-	addl	%edx, %esi
-	leal	0(,%esi,8), %edx
-	orl	%ebp, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	leal	(%esi,%edx), %ebp
-	movl	%ebp, 32(%esp)
-	movl	104(%esp), %eax
-	movl	96(%esp), %ecx
-	xorl	%eax, 44(%esp)
-	xorl	%ecx, 40(%esp)
-	movl	44(%esp), %ebp
-	movzbl	44(%esp),%esi
-	shrl	$16, %ebp
-	andl	$255, %ebp
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%ebp,8), %ecx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%ebp,8), %edx
-	xorl	%eax, %edx
-	movzbl	40(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebp
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	40(%esp), %eax
-	xorl	%ebp, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebp
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%ebp, %ecx
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	subl	%edx, 32(%esp)
-	movl	44(%esp), %edx
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	40(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	4(%edi,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	(%edi,%ecx,8), %ebp
-	xorl	%esi, %edx
-	movl	52(%esp), %esi
-	xorl	%ebp, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %ebp
-	movzbl	%al, %ecx
-	movl	48(%esp), %eax
-	addl	%ecx, %edx
-	shrl	$29, %ebp
-	leal	0(,%esi,8), %ecx
-	addl	%eax, %edx
-	xorl	%eax, %eax
-	movl	%edx, 36(%esp)
-	sall	$3, %edx
-	orl	%ebp, %edx
-	leal	(%esi,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	setb	%al
-	addl	%eax, %edx
-	movl	36(%esp), %eax
-	addl	%eax, %edx
-	movl	%edx, 20(%esp)
-	movl	100(%esp), %esi
-	movl	92(%esp), %ecx
-	xorl	%ecx, 32(%esp)
-	xorl	%esi, %ebx
-	movl	%ebx, %eax
-	shrl	$16, %eax
-	movzbl	%bl,%esi
-	andl	$255, %eax
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	32(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	32(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebp
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebp
-	movzbl	%bh, %ecx
-	subl	%edx, 20(%esp)
-	movl	%ebx, %edx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	32(%esp), %ecx
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	shrl	$24, %ecx
-	xorl	tiger_table+2048(,%esi,8), %eax
-	xorl	tiger_table+2052(,%esi,8), %edx
-	movl	(%edi,%ecx,8), %esi
-	xorl	%esi, %eax
-	movl	4(%edi,%ecx,8), %esi
-	xorl	%esi, %edx
-	movl	44(%esp), %esi
-	addl	%eax, %esi
-	cmpl	%eax, %esi
+	cmpl	%ecx, %edx
+	movl	%edx, -476(%ebp)
 	setb	%cl
 	movzbl	%cl, %eax
-	movl	40(%esp), %ecx
-	addl	%eax, %edx
+	addl	%esi, %eax
+	movl	-476(%ebp), %edx
+	movl	-416(%ebp), %esi
+	movl	-420(%ebp), %ecx
+	xorl	$-1985229329, %edx
+	addl	%esi, %eax
+	movl	%eax, -484(%ebp)
+	xorl	%eax, %eax
+	cmpl	%edx, -420(%ebp)
+	setb	%al
+	subl	%edx, %ecx
+	movl	%ecx, -524(%ebp)
+	movl	-484(%ebp), %esi
+	movl	-428(%ebp), %ecx
+	movl	-424(%ebp), %edx
+	xorl	$19088743, %esi
+	addl	%eax, %esi
+	subl	%esi, %ecx
+	movl	-432(%ebp), %eax
+	movl	-492(%ebp), %esi
+	movl	%ecx, -528(%ebp)
+	movl	-488(%ebp), %ecx
+	xorl	%eax, %esi
+	movl	%esi, -500(%ebp)
+	xorl	%edx, %ecx
+	movl	-408(%ebp), %esi
+	movl	%ecx, -496(%ebp)
+	movl	%ecx, %eax
+	movzbl	%cl,%edx
+	movl	%edx, -92(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %ecx
+	movl	%ecx, -1120(%ebp)
+	movl	2052(%eax,%edi), %eax
+	xorl	(%edi,%edx,8), %ecx
+	movl	%eax, %edx
+	movl	-92(%ebp), %eax
+	xorl	4(%edi,%eax,8), %edx
+	movzbl	-500(%ebp),%eax
+	sall	$3, %eax
+	xorl	4096(%eax,%edi), %ecx
+	xorl	4100(%eax,%edi), %edx
+	movl	-500(%ebp), %eax
+	shrl	$13, %eax
+	andl	$2040, %eax
+	xorl	6144(%eax,%edi), %ecx
+	xorl	6148(%eax,%edi), %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, -408(%ebp)
+	setb	%al
+	addl	%eax, %edx
+	movl	-504(%ebp), %eax
+	subl	%ecx, %esi
+	movl	%esi, -532(%ebp)
+	subl	%edx, %eax
+	movl	-496(%ebp), %edx
+	movl	%eax, -536(%ebp)
+	movzbl	%dh, %esi
+	movl	%edx, %eax
+	sall	$3, %esi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	%esi, -96(%ebp)
+	movl	4096(%eax,%edi), %ecx
+	movl	-96(%ebp), %esi
+	movl	%ecx, -1124(%ebp)
+	movl	4100(%eax,%edi), %eax
+	xorl	6144(%esi,%edi), %ecx
+	movl	%eax, %edx
+	movl	-500(%ebp), %eax
+	xorl	6148(%esi,%edi), %edx
+	movzbl	%ah, %eax
+	movl	%eax, -1112(%ebp)
+	sall	$3, %eax
+	movl	-392(%ebp), %esi
+	xorl	2048(%eax,%edi), %ecx
+	xorl	2052(%eax,%edi), %edx
+	movl	-500(%ebp), %eax
+	shrl	$24, %eax
+	xorl	(%edi,%eax,8), %ecx
+	xorl	4(%edi,%eax,8), %edx
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	%esi, -508(%ebp)
+	setb	%al
+	movl	-396(%ebp), %ecx
+	movzbl	%al, %esi
+	addl	%esi, %edx
+	movl	-508(%ebp), %eax
+	addl	%ecx, %edx
+	movl	-508(%ebp), %esi
+	movl	%edx, -512(%ebp)
+	movl	-512(%ebp), %ecx
+	shrl	$29, %eax
+	movl	-508(%ebp), %edx
+	sall	$3, %ecx
+	sall	$3, %edx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	-508(%ebp), %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	%edx, -516(%ebp)
+	movl	-512(%ebp), %esi
+	movl	-524(%ebp), %edx
+	addl	%esi, %eax
+	xorl	$-1515870811, %edx
+	subl	%eax, %ecx
+	movl	%ecx, -520(%ebp)
+	xorl	%eax, %eax
+	cmpl	%edx, -424(%ebp)
+	movl	-424(%ebp), %ecx
+	movl	-528(%ebp), %esi
+	setb	%al
+	subl	%edx, %ecx
+	xorl	$-1515870811, %esi
+	movl	%ecx, -564(%ebp)
+	movl	-432(%ebp), %ecx
+	addl	%eax, %esi
+	movl	-440(%ebp), %edx
+	movl	-444(%ebp), %eax
+	subl	%esi, %ecx
+	movl	%ecx, -568(%ebp)
+	movl	-532(%ebp), %ecx
+	movl	-536(%ebp), %esi
+	xorl	%edx, %ecx
+	xorl	%eax, %esi
+	movl	%ecx, %eax
+	movl	%esi, -544(%ebp)
+	movzbl	%cl,%edx
+	shrl	$13, %eax
+	movl	%edx, -100(%ebp)
+	andl	$2040, %eax
+	movl	-516(%ebp), %esi
+	movl	%ecx, -540(%ebp)
+	movl	2048(%eax,%edi), %ecx
+	movl	%ecx, -1128(%ebp)
+	movl	2052(%eax,%edi), %eax
+	xorl	(%edi,%edx,8), %ecx
+	movl	%eax, %edx
+	movl	-100(%ebp), %eax
+	xorl	4(%edi,%eax,8), %edx
+	movzbl	-544(%ebp),%eax
+	sall	$3, %eax
+	xorl	4096(%eax,%edi), %ecx
+	xorl	4100(%eax,%edi), %edx
+	movl	-544(%ebp), %eax
+	shrl	$13, %eax
+	andl	$2040, %eax
+	xorl	6144(%eax,%edi), %ecx
+	xorl	6148(%eax,%edi), %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, -516(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -572(%ebp)
+	addl	%eax, %edx
+	movl	-520(%ebp), %eax
+	subl	%edx, %eax
+	movl	-540(%ebp), %edx
+	movl	%eax, -576(%ebp)
+	movzbl	%dh, %esi
+	movl	%edx, %eax
+	sall	$3, %esi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	%esi, -104(%ebp)
+	movl	4096(%eax,%edi), %ecx
+	movl	-104(%ebp), %esi
+	movl	%ecx, -1132(%ebp)
+	movl	4100(%eax,%edi), %eax
+	xorl	6144(%esi,%edi), %ecx
+	movl	%eax, %edx
+	movl	-544(%ebp), %eax
+	xorl	6148(%esi,%edi), %edx
+	movzbl	%ah, %eax
+	movl	%eax, -1112(%ebp)
+	sall	$3, %eax
+	xorl	2048(%eax,%edi), %ecx
+	xorl	2052(%eax,%edi), %edx
+	movl	-544(%ebp), %eax
+	shrl	$24, %eax
+	xorl	(%edi,%eax,8), %ecx
+	xorl	4(%edi,%eax,8), %edx
+	movl	-496(%ebp), %eax
+	addl	%ecx, %eax
+	movl	%eax, -548(%ebp)
+	cmpl	%ecx, %eax
+	setb	%cl
+	movzbl	%cl, %eax
+	movl	-500(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-548(%ebp), %eax
+	addl	%ecx, %edx
+	shrl	$29, %eax
+	movl	%edx, -552(%ebp)
+	movl	-552(%ebp), %ecx
+	movl	-548(%ebp), %edx
+	sall	$3, %ecx
+	sall	$3, %edx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	-548(%ebp), %edx
+	setb	%al
+	subl	-548(%ebp), %edx
+	movl	%edx, -556(%ebp)
+	movl	-552(%ebp), %edx
+	addl	%edx, %eax
+	subl	%eax, %ecx
+	movl	-440(%ebp), %edx
+	movl	-568(%ebp), %eax
+	movl	%ecx, -560(%ebp)
+	movl	-564(%ebp), %ecx
+	xorl	%ecx, %edx
+	movl	%edx, -604(%ebp)
+	movl	-444(%ebp), %ecx
+	xorl	%eax, %ecx
+	movl	%ecx, -612(%ebp)
+	movl	-448(%ebp), %edx
+	movl	-572(%ebp), %eax
+	movl	-456(%ebp), %ecx
+	xorl	%edx, %eax
+	movl	-576(%ebp), %edx
+	movl	%eax, -580(%ebp)
+	xorl	%ecx, %edx
+	movzbl	%al,%ecx
+	movl	%edx, -584(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	%ecx, -108(%ebp)
+	movl	2048(%eax,%edi), %esi
+	movl	-108(%ebp), %edx
+	movl	2052(%eax,%edi), %eax
+	movl	%esi, %ecx
+	movl	-556(%ebp), %esi
+	xorl	(%edi,%edx,8), %ecx
+	movl	%eax, %edx
+	movl	-108(%ebp), %eax
+	xorl	4(%edi,%eax,8), %edx
+	movzbl	-584(%ebp),%eax
+	sall	$3, %eax
+	xorl	4096(%eax,%edi), %ecx
+	xorl	4100(%eax,%edi), %edx
+	movl	-584(%ebp), %eax
+	shrl	$13, %eax
+	andl	$2040, %eax
+	xorl	6144(%eax,%edi), %ecx
+	xorl	6148(%eax,%edi), %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, -556(%ebp)
+	setb	%al
+	addl	%eax, %edx
+	movl	-560(%ebp), %eax
+	subl	%ecx, %esi
+	movl	%esi, -616(%ebp)
+	subl	%edx, %eax
+	movl	-580(%ebp), %edx
+	movl	%eax, -620(%ebp)
+	movzbl	%dh, %esi
+	movl	%edx, %eax
+	sall	$3, %esi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	%esi, -112(%ebp)
+	movl	4096(%eax,%edi), %ecx
+	movl	-112(%ebp), %esi
+	movl	%ecx, -1140(%ebp)
+	movl	4100(%eax,%edi), %eax
+	xorl	6144(%esi,%edi), %ecx
+	movl	%eax, %edx
+	movl	-584(%ebp), %eax
+	xorl	6148(%esi,%edi), %edx
+	movzbl	%ah, %eax
+	movl	%eax, -1112(%ebp)
+	sall	$3, %eax
+	xorl	2048(%eax,%edi), %ecx
+	xorl	2052(%eax,%edi), %edx
+	movl	-584(%ebp), %eax
+	shrl	$24, %eax
+	xorl	(%edi,%eax,8), %ecx
+	xorl	4(%edi,%eax,8), %edx
+	movl	-540(%ebp), %eax
+	addl	%ecx, %eax
+	movl	%eax, -588(%ebp)
+	cmpl	%ecx, %eax
+	setb	%cl
+	movzbl	%cl, %eax
+	movl	-544(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-588(%ebp), %eax
+	addl	%ecx, %edx
+	shrl	$29, %eax
+	movl	%edx, -592(%ebp)
+	movl	-592(%ebp), %ecx
+	movl	-588(%ebp), %edx
+	sall	$3, %ecx
+	sall	$3, %edx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	-588(%ebp), %edx
+	setb	%al
+	subl	-588(%ebp), %edx
+	movl	%edx, -596(%ebp)
+	movl	-592(%ebp), %edx
+	addl	%edx, %eax
+	subl	%eax, %ecx
+	movl	-448(%ebp), %edx
+	movl	-604(%ebp), %eax
+	movl	%ecx, -600(%ebp)
+	movl	-604(%ebp), %ecx
+	addl	%eax, %edx
+	movl	%edx, -608(%ebp)
+	xorl	%eax, %eax
+	cmpl	%ecx, %edx
+	movl	-612(%ebp), %edx
+	setb	%al
+	movl	-456(%ebp), %ecx
+	addl	%edx, %eax
+	addl	%ecx, %eax
+	movl	-452(%ebp), %edx
+	movl	%eax, -644(%ebp)
+	movl	-616(%ebp), %eax
+	movl	-460(%ebp), %ecx
+	xorl	%edx, %eax
+	movl	-620(%ebp), %edx
+	movl	%eax, -624(%ebp)
+	xorl	%ecx, %edx
+	movzbl	%al,%ecx
+	movl	%edx, -628(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	%ecx, -116(%ebp)
+	movl	2048(%eax,%edi), %esi
+	movl	-116(%ebp), %edx
+	movl	2052(%eax,%edi), %eax
+	movl	%esi, %ecx
+	movl	-596(%ebp), %esi
+	xorl	(%edi,%edx,8), %ecx
+	movl	%eax, %edx
+	movl	-116(%ebp), %eax
+	xorl	4(%edi,%eax,8), %edx
+	movzbl	-628(%ebp),%eax
+	sall	$3, %eax
+	xorl	4096(%eax,%edi), %ecx
+	xorl	4100(%eax,%edi), %edx
+	movl	-628(%ebp), %eax
+	shrl	$13, %eax
+	andl	$2040, %eax
+	xorl	6144(%eax,%edi), %ecx
+	xorl	6148(%eax,%edi), %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, -596(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -652(%ebp)
+	addl	%eax, %edx
+	movl	-600(%ebp), %eax
+	subl	%edx, %eax
+	movl	-624(%ebp), %edx
+	movl	%eax, -656(%ebp)
+	movzbl	%dh, %esi
+	movl	%edx, %eax
+	sall	$3, %esi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	%esi, -120(%ebp)
+	movl	4096(%eax,%edi), %ecx
+	movl	-120(%ebp), %esi
+	movl	%ecx, -1148(%ebp)
+	movl	4100(%eax,%edi), %eax
+	xorl	6144(%esi,%edi), %ecx
+	movl	%eax, %edx
+	movl	-628(%ebp), %eax
+	xorl	6148(%esi,%edi), %edx
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-628(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-580(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-584(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	%edx, -632(%ebp)
 	movl	%esi, %eax
+	movl	-632(%ebp), %ecx
+	leal	0(,%esi,8), %edx
 	shrl	$29, %eax
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-632(%ebp), %esi
+	movl	%edx, -636(%ebp)
+	xorl	%edx, %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-604(%ebp), %eax
+	movl	-452(%ebp), %esi
+	movl	%ecx, -640(%ebp)
+	movl	-608(%ebp), %ecx
+	notl	%eax
+	sall	$19, %eax
+	xorl	%ecx, %eax
+	movl	-604(%ebp), %ecx
+	cmpl	%eax, -452(%ebp)
+	setb	%dl
+	subl	%eax, %esi
+	movl	%esi, -680(%ebp)
+	movl	-612(%ebp), %eax
+	shrl	$13, %ecx
+	movl	%edx, -648(%ebp)
+	movl	-644(%ebp), %esi
+	movl	-648(%ebp), %edx
+	sall	$19, %eax
+	orl	%ecx, %eax
+	notl	%esi
+	xorl	%eax, %esi
+	movl	-460(%ebp), %eax
+	addl	%edx, %esi
+	subl	%esi, %eax
+	movl	%eax, -684(%ebp)
+	movl	-464(%ebp), %ecx
+	movl	-652(%ebp), %eax
+	movl	-468(%ebp), %edx
+	movl	-656(%ebp), %esi
+	xorl	%ecx, %eax
+	movl	%eax, -660(%ebp)
+	movzbl	%al,%ecx
+	xorl	%edx, %esi
+	movl	%esi, -664(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	%ecx, -124(%ebp)
+	movl	%ecx, %esi
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%ecx,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-664(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-664(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-636(%ebp), %esi
+	cmpl	%ecx, -636(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -688(%ebp)
+	movl	-660(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-640(%ebp), %eax
+	movzbl	%ch, %esi
+	sall	$3, %esi
+	movl	%esi, -128(%ebp)
+	subl	%edx, %eax
+	movl	-128(%ebp), %esi
+	movl	%eax, -692(%ebp)
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6144(%esi,%edi), %ecx
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-664(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-664(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-624(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-628(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
 	addl	%ecx, %edx
-	movl	%edx, 28(%esp)
-	leal	0(,%esi,8), %ecx
+	shrl	$29, %eax
+	movl	%edx, -668(%ebp)
+	movl	-668(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	%edx, -672(%ebp)
+	movl	-668(%ebp), %esi
+	movl	-464(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-468(%ebp), %esi
+	movl	%ecx, -676(%ebp)
+	movl	-684(%ebp), %eax
+	movl	-680(%ebp), %ecx
+	xorl	%eax, %esi
+	xorl	%ecx, %edx
+	movl	-688(%ebp), %eax
+	movl	%edx, -716(%ebp)
+	movl	-472(%ebp), %ecx
+	movl	-480(%ebp), %edx
+	movl	%esi, -724(%ebp)
+	movl	-692(%ebp), %esi
+	xorl	%ecx, %eax
+	movl	%eax, -696(%ebp)
+	movzbl	%al,%ecx
+	shrl	$13, %eax
+	movl	%ecx, -132(%ebp)
+	xorl	%edx, %esi
+	andl	$2040, %eax
+	movl	%esi, -700(%ebp)
+	movl	2048(%eax,%edi), %edx
+	movl	%ecx, %esi
+	movl	(%edi,%ecx,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-700(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-700(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-672(%ebp), %esi
+	cmpl	%ecx, -672(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -728(%ebp)
+	movl	-696(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-676(%ebp), %eax
+	movzbl	%ch, %esi
+	subl	%edx, %eax
+	movl	%eax, -732(%ebp)
+	sall	$3, %esi
+	movl	%ecx, %eax
+	movl	%esi, -136(%ebp)
+	movl	-136(%ebp), %esi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	6144(%esi,%edi), %ecx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-700(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-700(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-660(%ebp), %esi
 	addl	%ecx, %esi
-	movl	%esi, 24(%esp)
+	cmpl	%ecx, %esi
+	movl	-664(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	shrl	$29, %eax
+	movl	%edx, -704(%ebp)
+	movl	-704(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	%edx, -708(%ebp)
+	movl	-704(%ebp), %esi
+	movl	-472(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-716(%ebp), %eax
+	movl	%ecx, -712(%ebp)
+	movl	-716(%ebp), %ecx
+	movl	-480(%ebp), %esi
+	addl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edx
+	movl	%edx, -720(%ebp)
+	movl	-724(%ebp), %edx
+	setb	%al
+	movl	-476(%ebp), %ecx
+	addl	%edx, %eax
+	addl	%esi, %eax
+	movl	%eax, -756(%ebp)
+	movl	-728(%ebp), %eax
+	movl	-484(%ebp), %edx
+	movl	-732(%ebp), %esi
+	xorl	%ecx, %eax
+	movzbl	%al,%ecx
+	movl	%eax, -736(%ebp)
+	xorl	%edx, %esi
+	shrl	$13, %eax
+	movl	%esi, -740(%ebp)
+	andl	$2040, %eax
+	movl	%ecx, %esi
+	movl	%ecx, -140(%ebp)
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%ecx,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-740(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-740(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-708(%ebp), %esi
+	cmpl	%ecx, -708(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -760(%ebp)
+	movl	-736(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-712(%ebp), %eax
+	movzbl	%ch, %esi
+	sall	$3, %esi
+	movl	%esi, -144(%ebp)
+	subl	%edx, %eax
+	movl	-144(%ebp), %esi
+	movl	%eax, -764(%ebp)
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6144(%esi,%edi), %ecx
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-740(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	%edi, %esi
+	movl	2048(%eax,%edi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-740(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-696(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-700(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -744(%ebp)
+	shrl	$29, %eax
+	movl	-744(%ebp), %ecx
+	leal	0(,%edi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%edi, %edx
+	setb	%al
+	subl	%edi, %edx
+	movl	-744(%ebp), %edi
+	movl	%edx, -748(%ebp)
+	movl	-724(%ebp), %edx
+	addl	%edi, %eax
+	subl	%eax, %ecx
+	movl	-716(%ebp), %eax
+	sall	$9, %edx
+	movl	%ecx, -752(%ebp)
+	movl	-720(%ebp), %ecx
+	shrl	$23, %eax
+	orl	%edx, %eax
+	movl	-476(%ebp), %edi
+	notl	%ecx
+	xorl	%eax, %ecx
+	xorl	%eax, %eax
+	movl	-756(%ebp), %edx
+	cmpl	%ecx, -476(%ebp)
+	setb	%al
+	subl	%ecx, %edi
+	movl	%edi, -788(%ebp)
+	movl	-724(%ebp), %edi
+	movl	-484(%ebp), %ecx
+	notl	%edi
+	shrl	$23, %edi
+	xorl	%edx, %edi
+	addl	%eax, %edi
+	movl	-524(%ebp), %edx
+	subl	%edi, %ecx
+	movl	%ecx, -792(%ebp)
+	movl	-760(%ebp), %ecx
+	xorl	%edx, %ecx
+	movl	%ecx, -768(%ebp)
+	movl	-528(%ebp), %eax
+	movl	-764(%ebp), %edi
+	xorl	%eax, %edi
+	movl	%ecx, %eax
+	shrl	$13, %eax
+	movl	%edi, -772(%ebp)
+	andl	$2040, %eax
+	movzbl	%cl,%edi
+	movl	2048(%eax,%esi), %edx
+	movl	(%esi,%edi,8), %ecx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-772(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-772(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-748(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -748(%ebp)
+	movl	-752(%ebp), %edi
+	setb	%al
+	addl	%eax, %edx
+	subl	%ecx, %esi
+	subl	%edx, %edi
+	movl	%esi, -860(%ebp)
+	movl	-768(%ebp), %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	movl	%edi, -864(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-772(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-772(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	movl	-740(%ebp), %esi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-736(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	setb	%al
+	leal	0(,%edi,8), %ecx
+	addl	%eax, %edx
+	addl	%esi, %edx
+	movl	%edi, %eax
+	movl	%edx, -776(%ebp)
+	shrl	$29, %eax
+	movl	-776(%ebp), %esi
+	sall	$3, %esi
+	orl	%eax, %esi
+	xorl	%eax, %eax
+	cmpl	%edi, %ecx
+	setb	%al
+	subl	%edi, %ecx
+	movl	%ecx, -780(%ebp)
+	movl	-776(%ebp), %edx
+	movl	-788(%ebp), %ecx
+	movl	-568(%ebp), %edi
+	addl	%edx, %eax
+	movl	-524(%ebp), %edx
+	subl	%eax, %esi
+	xorl	%eax, %eax
+	xorl	%ecx, %edx
+	movl	%esi, -784(%ebp)
+	movl	-528(%ebp), %ecx
+	movl	-792(%ebp), %esi
+	movl	%edx, -796(%ebp)
+	xorl	%esi, %ecx
+	movl	-564(%ebp), %esi
+	movl	%ecx, -804(%ebp)
+	addl	%edx, %esi
+	cmpl	%edx, %esi
+	movl	%esi, -800(%ebp)
+	setb	%al
+	addl	%ecx, %eax
+	addl	%edi, %eax
+	movl	%eax, -808(%ebp)
+	movl	%edx, %eax
+	notl	%eax
+	sall	$19, %eax
+	xorl	%esi, %eax
+	movl	-604(%ebp), %esi
+	cmpl	%eax, -604(%ebp)
+	setb	%dl
+	movzbl	%dl, %edi
+	subl	%eax, %esi
+	movl	%ecx, %edx
+	movl	-796(%ebp), %ecx
+	movl	%esi, -812(%ebp)
+	movl	-808(%ebp), %esi
+	sall	$19, %edx
+	movl	-612(%ebp), %eax
+	shrl	$13, %ecx
+	orl	%ecx, %edx
+	notl	%esi
+	movl	-680(%ebp), %ecx
+	xorl	%edx, %esi
+	addl	%edi, %esi
+	movl	-812(%ebp), %edi
+	subl	%esi, %eax
+	movl	%eax, -816(%ebp)
+	movl	-608(%ebp), %esi
+	movl	-684(%ebp), %edx
+	xorl	%edi, %esi
+	movl	-644(%ebp), %edi
+	addl	%esi, %ecx
+	movl	%ecx, -824(%ebp)
+	movl	%esi, -820(%ebp)
+	xorl	%eax, %edi
+	cmpl	%esi, %ecx
+	movl	%edi, -828(%ebp)
+	setb	%al
+	movzbl	%al, %ecx
+	addl	%edi, %ecx
+	movl	%esi, %eax
+	addl	%edx, %ecx
+	movl	%ecx, -832(%ebp)
+	movl	-824(%ebp), %ecx
+	movl	%edi, %esi
+	sall	$9, %esi
+	xorl	%edx, %edx
+	shrl	$23, %eax
+	orl	%esi, %eax
+	notl	%ecx
+	xorl	%eax, %ecx
+	cmpl	%ecx, -716(%ebp)
+	movl	%edi, %eax
+	movl	-716(%ebp), %esi
+	notl	%eax
+	movl	-724(%ebp), %edi
+	setb	%dl
+	subl	%ecx, %esi
+	movl	-832(%ebp), %ecx
+	shrl	$23, %eax
+	movl	%esi, -836(%ebp)
+	xorl	%ecx, %eax
+	addl	%edx, %eax
+	subl	%eax, %edi
+	movl	%edi, -840(%ebp)
+	movl	-720(%ebp), %edx
+	movl	-788(%ebp), %ecx
+	xorl	%esi, %edx
+	movl	-756(%ebp), %esi
+	addl	%edx, %ecx
+	movl	%edx, -844(%ebp)
+	movl	%ecx, -848(%ebp)
+	xorl	%edi, %esi
+	cmpl	%edx, %ecx
+	movl	%esi, -852(%ebp)
+	setb	%al
+	movl	-792(%ebp), %edx
+	movzbl	%al, %eax
+	movl	%ecx, %edi
+	addl	%esi, %eax
+	addl	%edx, %eax
+	xorl	$-1985229329, %edi
+	movl	-796(%ebp), %esi
+	movl	%eax, -856(%ebp)
+	xorl	%ecx, %ecx
+	cmpl	%edi, -796(%ebp)
+	movl	-856(%ebp), %eax
+	movl	-800(%ebp), %edx
+	setb	%cl
+	xorl	$19088743, %eax
+	subl	%edi, %esi
+	movl	%esi, -884(%ebp)
+	addl	%ecx, %eax
+	movl	-804(%ebp), %ecx
+	movl	-808(%ebp), %edi
+	movl	-864(%ebp), %esi
+	subl	%eax, %ecx
+	movl	%ecx, -888(%ebp)
+	movl	-860(%ebp), %eax
+	movl	tiger_table@GOT(%ebx), %ecx
+	xorl	%edi, %esi
+	xorl	%edx, %eax
+	movzbl	%al,%edi
+	movl	%eax, -868(%ebp)
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	%esi, -872(%ebp)
+	movl	2048(%eax,%ecx), %edx
+	movl	%ecx, %esi
+	movl	(%ecx,%edi,8), %ecx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-872(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-872(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-780(%ebp), %edi
+	cmpl	%ecx, -780(%ebp)
+	setb	%al
+	subl	%ecx, %edi
+	movl	%edi, -892(%ebp)
+	movl	-868(%ebp), %ecx
+	movl	-784(%ebp), %edi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %edi
+	movl	%edi, -896(%ebp)
+	leal	0(,%eax,8), %edi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%edi,%esi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-872(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-872(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-768(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-772(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -876(%ebp)
+	leal	0(,%edi,8), %ecx
+	addl	%ecx, %edi
+	movl	%edi, -880(%ebp)
+	shrl	$29, %eax
 	sall	$3, %edx
 	orl	%eax, %edx
 	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-876(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	-812(%ebp), %eax
+	addl	%ecx, %edx
+	movl	-816(%ebp), %edi
+	movl	%edx, -908(%ebp)
+	movl	-892(%ebp), %edx
+	movl	-896(%ebp), %ecx
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%edi, %ecx
+	movl	%ecx, -904(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	movl	%edx, -900(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%esi), %edx
+	movl	(%esi,%edi,8), %ecx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-904(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-904(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-880(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -880(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -920(%ebp)
+	movl	-908(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-900(%ebp), %edx
+	movl	%edi, -924(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-904(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-904(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-868(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-872(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,8), %ecx
+	movl	%edx, -912(%ebp)
+	addl	%ecx, %edi
+	shrl	$29, %eax
+	movl	%edi, -916(%ebp)
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-912(%ebp), %ecx
+	setb	%al
+	movl	-828(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-820(%ebp), %eax
+	movl	-924(%ebp), %ecx
+	movl	%edx, -936(%ebp)
+	movl	-920(%ebp), %edx
+	xorl	%edi, %ecx
+	movl	%ecx, -932(%ebp)
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	movl	%edx, -928(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-932(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-932(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-916(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -916(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -948(%ebp)
+	movl	-936(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-928(%ebp), %edx
+	movl	%edi, -952(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-932(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-932(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-900(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-904(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,8), %ecx
+	movl	%edx, -940(%ebp)
+	addl	%ecx, %edi
+	shrl	$29, %eax
+	movl	%edi, -944(%ebp)
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-940(%ebp), %ecx
+	setb	%al
+	movl	-832(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-824(%ebp), %eax
+	movl	-952(%ebp), %ecx
+	movl	%edx, -964(%ebp)
+	movl	-948(%ebp), %edx
+	xorl	%edi, %ecx
+	movl	%ecx, -960(%ebp)
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	movl	%edx, -956(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-960(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-960(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-944(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -944(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -976(%ebp)
+	movl	-964(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-956(%ebp), %edx
+	movl	%edi, -980(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-960(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-960(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-928(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-932(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,8), %ecx
+	movl	%edx, -968(%ebp)
+	addl	%ecx, %edi
+	shrl	$29, %eax
+	movl	%edi, -972(%ebp)
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-968(%ebp), %ecx
+	setb	%al
+	movl	-840(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-836(%ebp), %eax
+	movl	-980(%ebp), %ecx
+	movl	%edx, -992(%ebp)
+	movl	-976(%ebp), %edx
+	xorl	%edi, %ecx
+	movl	%ecx, -988(%ebp)
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	movl	%edx, -984(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-988(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-988(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-972(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -972(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -1004(%ebp)
+	movl	-992(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-984(%ebp), %edx
+	movl	%edi, -1008(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-988(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-988(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-956(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-960(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,8), %ecx
+	movl	%edx, -996(%ebp)
+	addl	%ecx, %edi
+	shrl	$29, %eax
+	movl	%edi, -1000(%ebp)
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-996(%ebp), %ecx
+	setb	%al
+	movl	-852(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-844(%ebp), %eax
+	movl	-1008(%ebp), %ecx
+	movl	%edx, -1020(%ebp)
+	movl	-1004(%ebp), %edx
+	xorl	%edi, %ecx
+	movl	%ecx, -1016(%ebp)
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	movl	%edx, -1012(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-1016(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-1016(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-1000(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -1000(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -1032(%ebp)
+	movl	-1020(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-1012(%ebp), %edx
+	movl	%edi, -1036(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-1016(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-1016(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	movl	%esi, -148(%ebp)
+	xorl	%edi, %edx
+	movl	-984(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-988(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	%edx, -1024(%ebp)
+	leal	0(,%edi,8), %ecx
+	movl	%edi, %eax
+	shrl	$29, %eax
+	addl	%ecx, %edi
+	sall	$3, %edx
+	movl	%edi, -1028(%ebp)
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-1024(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	-848(%ebp), %eax
+	movl	-856(%ebp), %edi
+	addl	%ecx, %edx
+	movl	-1036(%ebp), %ecx
+	movl	%edx, -1048(%ebp)
+	movl	-1032(%ebp), %edx
+	xorl	%edi, %ecx
+	movl	%ecx, -1044(%ebp)
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	movl	%edx, -1040(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-1044(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-1044(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-1028(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -1028(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -1060(%ebp)
+	movl	-1048(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-1040(%ebp), %edx
+	movl	%edi, -1064(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-1044(%ebp), %eax
+	movzbl	%ah, %edi
+	leal	0(,%edi,8), %eax
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-1044(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	movl	-1012(%ebp), %edi
+	addl	%ecx, %edi
+	cmpl	%ecx, %edi
+	movl	-1016(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%edi, %eax
+	addl	%ecx, %edx
+	leal	0(,%edi,8), %ecx
+	movl	%edx, -1052(%ebp)
+	addl	%ecx, %edi
+	shrl	$29, %eax
+	movl	%edi, -1056(%ebp)
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %edi
+	movl	-1052(%ebp), %ecx
+	setb	%al
+	movl	-888(%ebp), %edi
+	addl	%eax, %edx
+	addl	%ecx, %edx
+	movl	-884(%ebp), %eax
+	movl	-1064(%ebp), %ecx
+	movl	%edx, -1076(%ebp)
+	movl	-1060(%ebp), %edx
+	xorl	%edi, %ecx
+	movl	%ecx, -1072(%ebp)
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	movl	%edx, -1068(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%edi
+	andl	$2040, %eax
+	movl	(%esi,%edi,8), %ecx
+	movl	2048(%eax,%esi), %edx
+	movl	2052(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	4(%esi,%edi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-1072(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	4100(%eax,%esi), %edi
+	movl	-1072(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	6148(%eax,%esi), %edi
+	xorl	%eax, %eax
+	movl	-1056(%ebp), %esi
+	xorl	%edi, %edx
+	cmpl	%ecx, -1056(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -1080(%ebp)
+	movl	-1076(%ebp), %edi
+	addl	%eax, %edx
+	movl	tiger_table@GOT(%ebx), %ecx
+	subl	%edx, %edi
+	movl	-1068(%ebp), %edx
+	movl	%edi, -1084(%ebp)
+	movl	%edx, %eax
+	movzbl	%dh, %esi
+	shrl	$24, %eax
+	leal	0(,%esi,8), %edi
+	movl	%ecx, %esi
+	sall	$3, %eax
+	movl	4096(%eax,%ecx), %edx
+	movl	6144(%edi,%ecx), %ecx
+	movl	4100(%eax,%esi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%edi,%esi), %edx
+	xorl	%eax, %edx
+	movl	-1072(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	-148(%ebp), %esi
+	movl	2048(%eax,%esi), %edi
+	xorl	%edi, %ecx
+	movl	2052(%eax,%esi), %edi
+	movl	-1072(%ebp), %eax
+	xorl	%edi, %edx
+	shrl	$24, %eax
+	movl	(%esi,%eax,8), %edi
+	xorl	%edi, %ecx
+	movl	4(%esi,%eax,8), %edi
+	movl	-1040(%ebp), %esi
+	xorl	%eax, %eax
+	xorl	%edi, %edx
+	addl	%ecx, %esi
 	cmpl	%ecx, %esi
-	setb	%al
-	movl	148(%esp), %esi
-	addl	%eax, %edx
-	movl	28(%esp), %eax
-	movl	144(%esp), %ecx
-	xorl	%esi, %ebp
-	addl	%eax, %edx
-	movl	%edx, 16(%esp)
-	movl	%ebp, %eax
-	movl	%ebp, %esi
-	xorl	%ecx, 20(%esp)
-	shrl	$16, %eax
-	andl	$255, %esi
-	andl	$255, %eax
-	movl	(%edi,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	4(%edi,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	20(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	20(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, 24(%esp)
-	setb	%al
-	addl	%eax, %edx
-	subl	%edx, 16(%esp)
-	movl	%ebp, %eax
-	movl	%ebp, %edx
-	subl	%ecx, 24(%esp)
-	shrl	$24, %edx
-	movzbl	%ah, %ecx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	20(%esp), %ecx
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	shrl	$24, %ecx
-	xorl	tiger_table+2048(,%esi,8), %eax
-	xorl	tiger_table+2052(,%esi,8), %edx
-	movl	(%edi,%ecx,8), %esi
-	xorl	%esi, %eax
-	movl	4(%edi,%ecx,8), %esi
-	addl	%eax, %ebx
-	leal	0(,%ebx,8), %ecx
-	xorl	%esi, %edx
-	cmpl	%eax, %ebx
-	movl	%ebx, %esi
-	setb	%al
-	movzbl	%al, %edi
-	shrl	$29, %esi
-	addl	%edi, %edx
-	movl	32(%esp), %edi
-	addl	%ecx, %ebx
-	xorl	%eax, %eax
+	movl	-1044(%ebp), %edi
+	setb	%al
+	addl	%eax, %edx
+	leal	0(,%esi,8), %ecx
 	addl	%edx, %edi
+	movl	%esi, %eax
 	leal	0(,%edi,8), %edx
-	orl	%esi, %edx
-	cmpl	%ecx, %ebx
-	movl	8(%esp), %esi
-	setb	%al
-	movl	4(%esp), %ecx
-	addl	%eax, %edx
-	movl	12(%esp), %eax
-	leal	(%edi,%edx), %edx
-	xorl	%esi, %edx
-	movl	540(%esp), %edi
-	xorl	%eax, %ebx
-	xorl	%eax, %eax
-	cmpl	540(%esp), %ebp
-	movl	(%esp), %esi
-	setb	%al
+	addl	%ecx, %esi
+	shrl	$29, %eax
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	setb	%al
+	addl	%eax, %edx
+	leal	(%edi,%edx), %ecx
+	movl	-1088(%ebp), %edi
+	movl	-1092(%ebp), %edx
+	xorl	%esi, %edi
+	movl	-16(%ebp), %esi
+	xorl	%edx, %ecx
+	cmpl	%esi, -1068(%ebp)
+	movl	%ecx, -1108(%ebp)
+	movl	-16(%ebp), %edx
+	movl	-1068(%ebp), %esi
+	movl	-1100(%ebp), %ecx
+	setb	%al
+	subl	%edx, %esi
+	movl	-1072(%ebp), %edx
+	movzbl	%al, %eax
 	addl	%ecx, %eax
-	movl	24(%esp), %ecx
-	subl	%edi, %ebp
-	subl	%eax, 20(%esp)
-	movl	536(%esp), %eax
-	movl	16(%esp), %edi
+	movl	-1080(%ebp), %ecx
+	subl	%eax, %edx
+	movl	-20(%ebp), %eax
 	addl	%eax, %ecx
 	xorl	%eax, %eax
-	cmpl	536(%esp), %ecx
-	setb	%al
-	addl	%esi, %eax
-	movl	568(%esp), %esi
-	addl	%edi, %eax
-	movl	%ebx, (%esi)
-	movl	%edx, 4(%esi)
-	movl	%ebp, 8(%esi)
-	movl	20(%esp), %edx
-	movl	%ecx, 16(%esi)
-	movl	%eax, 20(%esi)
-	movl	%edx, 12(%esi)
-	addl	$544, %esp
+	cmpl	-20(%ebp), %ecx
+	setb	%al
+	addl	-1104(%ebp), %eax
+	addl	-1084(%ebp), %eax
+	movl	%eax, -1152(%ebp)
+	movl	12(%ebp), %eax
+	movl	%edi, (%eax)
+	movl	-1108(%ebp), %edi
+	movl	%esi, 8(%eax)
+	movl	%edx, 12(%eax)
+	movl	%edi, 4(%eax)
+	movl	%ecx, 16(%eax)
+	movl	-1152(%ebp), %edx
+	movl	%edx, 20(%eax)
+	addl	$1140, %esp
 	popl	%ebx
 	popl	%esi
@@ -2308,145 +2714,165 @@
 tiger_t:
 	pushl	%ebp
+	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
-	subl	$504, %esp
-	movl	528(%esp), %eax
-	movl	%eax, 500(%esp)
+	subl	$1032, %esp
+	movl	12(%ebp), %eax
+	call	__i686.get_pc_thunk.bx
+	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
+	movl	%eax, -16(%ebp)
 	cmpl	$63, %eax
 	jbe	.L8
+	movl	tiger_table@GOT(%ebx), %edi
 .L6:
-	movl	532(%esp), %edx
-	movl	532(%esp), %ebx
-	movl	532(%esp), %edi
-	movl	(%edx), %esi
-	movl	%esi, 72(%esp)
-	movl	4(%ebx), %ebp
-	movl	524(%esp), %ebx
-	movl	%ebp, 68(%esp)
-	movl	12(%edi), %ecx
-	movl	8(%edi), %edx
-	movl	%ecx, 64(%esp)
-	movl	16(%edi), %esi
-	movl	20(%edi), %eax
-	movl	%edx, 496(%esp)
-	movl	524(%esp), %ecx
-	movl	%esi, 492(%esp)
-	movl	%eax, 60(%esp)
-	movl	(%ebx), %ebp
-	movl	%ebp, 56(%esp)
-	movl	4(%ecx), %edi
-	movl	524(%esp), %ebp
-	movl	%edi, 52(%esp)
-	movl	12(%ebp), %eax
-	movl	8(%ebp), %edi
-	movl	%eax, 48(%esp)
+	movl	16(%ebp), %esi
 	movl	16(%ebp), %edx
-	movl	524(%esp), %eax
-	movl	%edx, 44(%esp)
-	movl	20(%ebp), %esi
-	movl	%esi, 40(%esp)
-	movl	24(%ebp), %ebx
-	movl	%ebx, 36(%esp)
-	movl	28(%ebp), %ecx
-	movl	%ecx, 32(%esp)
-	movl	32(%eax), %edx
-	movl	%edx, 28(%esp)
-	movl	524(%esp), %esi
-	movl	524(%esp), %ebx
-	movl	524(%esp), %eax
-	movl	36(%esi), %ebp
-	movl	524(%esp), %esi
-	movl	%ebp, 24(%esp)
-	movl	40(%ebx), %ecx
-	movl	524(%esp), %ebx
-	movl	%ecx, 20(%esp)
-	movl	44(%eax), %edx
-	movl	524(%esp), %eax
-	movl	%edx, 16(%esp)
-	movl	48(%esi), %ebp
-	movl	524(%esp), %esi
-	movl	%ebp, 12(%esp)
-	movl	52(%ebx), %ecx
-	movl	56(%esp), %ebx
-	movl	%ecx, 8(%esp)
-	movl	56(%eax), %edx
-	movl	52(%esp), %ecx
-	movl	60(%esp), %eax
-	movl	%edx, 4(%esp)
-	movl	60(%esi), %ebp
-	xorl	%ecx, %eax
-	movl	%eax, 488(%esp)
-	movl	%ebp, (%esp)
-	movl	492(%esp), %ebp
-	xorl	%ebx, %ebp
-	movl	%ebp, %esi
-	movl	%ebp, %ebx
-	shrl	$16, %esi
-	andl	$255, %ebx
-	andl	$255, %esi
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%esi,8), %ecx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%esi,8), %edx
-	xorl	%eax, %edx
-	movzbl	488(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	488(%esp), %eax
-	xorl	%esi, %ecx
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	xorl	%ebx, %edx
-	cmpl	%ecx, 72(%esp)
-	movl	72(%esp), %esi
+	movl	(%esi), %ecx
+	movl	16(%ebp), %esi
+	movl	%ecx, -948(%ebp)
+	movl	4(%edx), %eax
+	movl	16(%ebp), %edx
+	movl	%eax, -952(%ebp)
+	movl	8(%esi), %ecx
+	movl	16(%ebp), %esi
+	movl	%ecx, -956(%ebp)
+	movl	12(%edx), %eax
+	movl	-956(%ebp), %edx
+	movl	%eax, -960(%ebp)
+	movl	16(%esi), %eax
+	movl	20(%esi), %ecx
+	movl	%edx, -20(%ebp)
+	movl	8(%ebp), %esi
+	movl	8(%ebp), %edx
+	movl	%eax, -24(%ebp)
+	movl	%ecx, -964(%ebp)
+	movl	(%esi), %ecx
+	movl	%ecx, -968(%ebp)
+	movl	4(%edx), %esi
+	movl	8(%ebp), %ecx
+	movl	%esi, -972(%ebp)
+	movl	8(%ecx), %edx
+	movl	8(%ebp), %esi
+	movl	%edx, -976(%ebp)
+	movl	12(%esi), %ecx
+	movl	8(%ebp), %edx
+	movl	%ecx, -980(%ebp)
+	movl	16(%edx), %esi
+	movl	%esi, -984(%ebp)
+	movl	8(%ebp), %ecx
+	movl	8(%ebp), %esi
+	movl	20(%ecx), %edx
+	movl	%edx, -988(%ebp)
+	movl	24(%esi), %ecx
+	movl	8(%ebp), %edx
+	movl	%ecx, -992(%ebp)
+	movl	28(%edx), %esi
+	movl	8(%ebp), %ecx
+	movl	%esi, -996(%ebp)
+	movl	32(%ecx), %edx
+	movl	8(%ebp), %esi
+	movl	%edx, -1000(%ebp)
+	movl	36(%esi), %ecx
+	movl	8(%ebp), %edx
+	movl	%ecx, -1004(%ebp)
+	movl	40(%edx), %esi
+	movl	8(%ebp), %ecx
+	movl	%esi, -1008(%ebp)
+	movl	44(%ecx), %edx
+	movl	8(%ebp), %esi
+	movl	%edx, -1012(%ebp)
+	movl	48(%esi), %ecx
+	movl	8(%ebp), %edx
+	movl	%ecx, -1016(%ebp)
+	movl	52(%edx), %esi
+	movl	8(%ebp), %ecx
+	movl	%esi, -1020(%ebp)
+	movl	56(%ecx), %edx
+	movl	8(%ebp), %esi
+	movl	%edx, -1024(%ebp)
+	movl	-968(%ebp), %edx
+	movl	60(%esi), %ecx
+	xorl	%edx, %eax
+	movl	%ecx, -1028(%ebp)
+	movl	%eax, -28(%ebp)
+	movl	-972(%ebp), %esi
+	movl	-964(%ebp), %ecx
+	movl	-28(%ebp), %eax
+	xorl	%esi, %ecx
+	shrl	$13, %eax
+	movzbl	-28(%ebp),%esi
+	movl	%ecx, -32(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	movl	(%edi,%esi,8), %ecx
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-32(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-32(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-948(%ebp), %esi
+	cmpl	%ecx, -948(%ebp)
 	setb	%al
 	subl	%ecx, %esi
-	addl	%eax, %edx
-	movl	%ebp, %eax
-	movl	%esi, 484(%esp)
-	movl	68(%esp), %ecx
-	movl	%ebp, %esi
-	shrl	$24, %esi
+	movl	%esi, -44(%ebp)
+	movl	-952(%ebp), %ecx
+	addl	%eax, %edx
 	subl	%edx, %ecx
-	movl	%ecx, 480(%esp)
-	movzbl	%ah, %ecx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%esi,8), %eax
-	movl	tiger_table+6148(,%ecx,8), %edx
-	movl	488(%esp), %ecx
-	xorl	%ebx, %eax
-	movl	tiger_table+4100(,%esi,8), %ebx
-	xorl	%edx, %ebx
-	movzbl	%ch, %edx
-	movl	tiger_table+2048(,%edx,8), %esi
-	xorl	%esi, %eax
-	movl	tiger_table+2052(,%edx,8), %esi
-	movl	%ecx, %edx
-	shrl	$24, %edx
-	xorl	%esi, %ebx
-	movl	tiger_table+4(,%edx,8), %esi
-	movl	tiger_table(,%edx,8), %ecx
-	xorl	%esi, %ebx
-	movl	496(%esp), %esi
-	xorl	%ecx, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movzbl	%al, %ecx
-	leal	(%ebx,%ecx), %edx
-	movl	64(%esp), %ebx
+	movl	-28(%ebp), %edx
+	movl	%ecx, -48(%ebp)
+	movzbl	%dh, %eax
+	leal	0(,%eax,8), %ecx
+	movl	%edx, %eax
+	movl	6144(%ecx,%edi), %esi
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6148(%ecx,%edi), %ecx
+	movl	4096(%eax,%edi), %edx
+	xorl	%esi, %edx
+	movl	4100(%eax,%edi), %esi
+	movl	-32(%ebp), %eax
+	xorl	%esi, %ecx
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %edx
+	movl	2052(%eax,%edi), %esi
+	movl	-32(%ebp), %eax
+	xorl	%esi, %ecx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %edx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %ecx
+	movl	-956(%ebp), %esi
+	addl	%edx, %esi
+	cmpl	%edx, %esi
+	movl	-960(%ebp), %edx
+	setb	%al
+	leal	(%ecx,%eax), %eax
+	addl	%edx, %eax
+	movl	%eax, -36(%ebp)
 	leal	0(,%esi,4), %ecx
+	movl	%eax, %edx
 	movl	%esi, %eax
+	sall	$2, %edx
+	addl	%ecx, %esi
+	movl	%esi, -40(%ebp)
 	shrl	$30, %eax
-	addl	%edx, %ebx
-	addl	%ecx, %esi
-	leal	0(,%ebx,4), %edx
 	orl	%eax, %edx
 	xorl	%eax, %eax
@@ -2454,656 +2880,320 @@
 	setb	%al
 	addl	%eax, %edx
+	movl	-36(%ebp), %eax
 	xorl	%ecx, %ecx
-	addl	%edx, %ebx
-	movl	4(%esp), %edx
-	movl	(%esp), %eax
-	movl	%ebx, 464(%esp)
+	movl	-968(%ebp), %esi
+	addl	%eax, %edx
+	movl	-1028(%ebp), %eax
+	movl	%edx, -60(%ebp)
+	movl	-1024(%ebp), %edx
 	xorl	$-1515870811, %edx
-	movl	56(%esp), %ebx
-	cmpl	%edx, 56(%esp)
+	cmpl	%edx, -968(%ebp)
 	setb	%cl
-	subl	%edx, %ebx
-	xorl	%edi, 484(%esp)
+	subl	%edx, %esi
+	movl	%esi, -72(%ebp)
+	movl	-972(%ebp), %esi
 	xorl	$-1515870811, %eax
 	addl	%ecx, %eax
-	movl	%ebx, 476(%esp)
-	movl	52(%esp), %ebx
-	movl	48(%esp), %ecx
-	xorl	%ecx, 480(%esp)
-	subl	%eax, %ebx
-	movl	484(%esp), %eax
-	movl	%ebx, 472(%esp)
-	movzbl	484(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table(,%ebx,8), %edx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	480(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	480(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%ebx, %edx
-	xorl	%ebx, %ebx
+	movl	-976(%ebp), %edx
+	movl	-980(%ebp), %ecx
+	subl	%eax, %esi
+	movl	-44(%ebp), %eax
+	movl	%esi, -76(%ebp)
+	movl	-48(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -52(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -56(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-56(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-56(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-40(%ebp), %esi
+	cmpl	%ecx, -40(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -80(%ebp)
+	movl	-52(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-60(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -84(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-56(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-56(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-28(%ebp), %esi
+	addl	%ecx, %esi
 	cmpl	%ecx, %esi
-	setb	%bl
+	movl	-32(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -64(%ebp)
+	leal	0(,%esi,4), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -68(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-64(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-976(%ebp), %ecx
+	addl	%esi, %edx
+	movl	-76(%ebp), %eax
+	movl	%edx, -96(%ebp)
+	movl	-980(%ebp), %esi
+	movl	-72(%ebp), %edx
+	xorl	%eax, %esi
+	xorl	%edx, %ecx
+	movl	%esi, -116(%ebp)
+	movl	-984(%ebp), %edx
+	movl	%ecx, -108(%ebp)
+	movl	-80(%ebp), %eax
+	movl	-988(%ebp), %ecx
+	movl	-84(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -88(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -92(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-92(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-92(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-68(%ebp), %esi
+	cmpl	%ecx, -68(%ebp)
+	setb	%al
 	subl	%ecx, %esi
-	addl	%ebx, %edx
-	movl	%esi, 468(%esp)
-	movl	484(%esp), %eax
-	subl	%edx, 464(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	xorl	%ebx, %edx
-	movl	480(%esp), %ebx
+	movl	%esi, -120(%ebp)
+	movl	-88(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-96(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -124(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-92(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-92(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-52(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-56(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -100(%ebp)
+	leal	0(,%esi,4), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -104(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-100(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	-108(%ebp), %eax
+	addl	%ecx, %edx
+	movl	-108(%ebp), %esi
+	movl	%edx, -136(%ebp)
+	movl	-984(%ebp), %edx
+	movl	-116(%ebp), %ecx
+	addl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	movl	%edx, -112(%ebp)
+	movl	-988(%ebp), %esi
+	setb	%al
+	addl	%ecx, %eax
+	movl	-992(%ebp), %edx
+	movl	-996(%ebp), %ecx
+	addl	%esi, %eax
+	movl	-124(%ebp), %esi
+	movl	%eax, -148(%ebp)
+	movl	-120(%ebp), %eax
+	xorl	%ecx, %esi
+	movl	%esi, -132(%ebp)
+	xorl	%edx, %eax
+	movzbl	%al,%esi
+	movl	%eax, -128(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-132(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-132(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-104(%ebp), %esi
+	cmpl	%ecx, -104(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -152(%ebp)
+	movl	-128(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-136(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -156(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-132(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-132(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-88(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-92(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -140(%ebp)
+	leal	0(,%esi,4), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -144(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	setb	%al
+	movl	-112(%ebp), %esi
+	addl	%eax, %edx
+	movl	-140(%ebp), %eax
+	addl	%eax, %edx
+	movl	-108(%ebp), %eax
+	movl	%edx, -168(%ebp)
+	movl	-992(%ebp), %edx
+	notl	%eax
+	sall	$19, %eax
 	xorl	%esi, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %esi
-	xorl	%esi, %eax
-	movl	tiger_table+2052(,%ecx,8), %esi
-	xorl	%esi, %edx
-	movl	%ebx, %esi
-	shrl	$24, %esi
-	movl	tiger_table(,%esi,8), %ecx
-	movl	tiger_table+4(,%esi,8), %ebx
-	xorl	%ecx, %eax
-	xorl	%ebx, %edx
-	leal	(%ebp,%eax), %ebx
-	cmpl	%eax, %ebx
+	cmpl	%eax, -992(%ebp)
 	setb	%cl
-	movl	488(%esp), %ebp
-	movl	%ebx, %esi
-	movzbl	%cl, %eax
-	shrl	$30, %esi
-	addl	%eax, %edx
-	addl	%edx, %ebp
-	leal	0(,%ebx,4), %ecx
-	movl	472(%esp), %eax
-	leal	0(,%ebp,4), %edx
-	orl	%esi, %edx
-	leal	(%ebx,%ecx), %esi
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %esi
-	setb	%bl
-	addl	%ebx, %edx
-	leal	(%ebp,%edx), %ecx
-	movl	44(%esp), %ebp
-	xorl	%ebp, 468(%esp)
-	movl	48(%esp), %ebx
-	movl	%ecx, 448(%esp)
-	movl	476(%esp), %edx
-	movl	40(%esp), %ecx
-	xorl	%ecx, 464(%esp)
-	xorl	%eax, %ebx
-	movl	468(%esp), %eax
-	movl	%ebx, 456(%esp)
-	movzbl	468(%esp),%ebx
-	xorl	%edx, %edi
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%ebx,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	464(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	464(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %esi
-	setb	%bl
-	subl	%ecx, %esi
-	addl	%ebx, %edx
-	movl	%esi, 452(%esp)
-	movl	468(%esp), %eax
-	subl	%edx, 448(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ebp
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ebp,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ebp,8), %esi
-	xorl	%ebx, %edx
-	movl	464(%esp), %ebx
-	xorl	%esi, %eax
-	movzbl	%bh, %esi
-	movl	tiger_table+2048(,%esi,8), %ecx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	xorl	%ecx, %eax
-	movl	%ebx, %ecx
-	xorl	%ebp, %edx
-	shrl	$24, %ecx
-	movl	tiger_table(,%ecx,8), %ebx
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%ebx, %eax
-	movl	484(%esp), %ebx
-	xorl	%esi, %edx
-	movl	480(%esp), %esi
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%cl
-	movzbl	%cl, %eax
-	shrl	$30, %ebp
-	addl	%eax, %edx
-	leal	0(,%ebx,4), %ecx
-	addl	%edx, %esi
-	leal	0(,%esi,4), %edx
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	movl	44(%esp), %ecx
-	setb	%bl
-	addl	%ebx, %edx
-	leal	(%esi,%edx), %eax
-	movl	%eax, 436(%esp)
-	addl	%edi, %ecx
-	movl	456(%esp), %edx
-	movl	%ecx, 460(%esp)
-	movl	40(%esp), %ebx
-	xorl	%eax, %eax
-	movl	36(%esp), %esi
-	cmpl	%edi, %ecx
-	setb	%al
-	xorl	%esi, 452(%esp)
-	addl	%edx, %eax
-	addl	%ebx, %eax
-	movl	%eax, 444(%esp)
-	movl	32(%esp), %ecx
-	movl	452(%esp), %eax
-	movzbl	452(%esp),%ebx
-	xorl	%ecx, 448(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%ebx,8), %esi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	448(%esp),%eax
-	xorl	%esi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	448(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 440(%esp)
-	movl	452(%esp), %eax
-	subl	%edx, 436(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %esi
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%esi,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%esi,8), %ecx
-	xorl	%ebx, %edx
-	movl	448(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %esi
-	xorl	%ebp, %eax
-	movl	%ebx, %ebp
-	xorl	%esi, %edx
-	shrl	$24, %ebp
-	movl	tiger_table(,%ebp,8), %ebx
-	movl	tiger_table+4(,%ebp,8), %esi
-	xorl	%ebx, %eax
-	movl	468(%esp), %ebx
-	xorl	%esi, %edx
-	movl	464(%esp), %esi
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%cl
-	movzbl	%cl, %eax
-	shrl	$30, %ebp
-	addl	%eax, %edx
-	leal	0(,%ebx,4), %ecx
-	addl	%edx, %esi
-	leal	0(,%esi,4), %edx
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	addl	%ebx, %edx
-	movl	460(%esp), %ebx
-	leal	(%esi,%edx), %eax
-	movl	%eax, 420(%esp)
-	movl	%edi, %edx
-	movl	36(%esp), %esi
-	notl	%edx
-	movl	456(%esp), %eax
-	movl	%edi, %ecx
-	sall	$19, %edx
-	xorl	%ebx, %edx
-	xorl	%ebx, %ebx
-	cmpl	%edx, 36(%esp)
-	setb	%bl
-	subl	%edx, %esi
-	movl	%esi, 432(%esp)
-	movl	444(%esp), %edx
-	shrl	$13, %ecx
-	sall	$19, %eax
-	movl	28(%esp), %esi
-	orl	%ecx, %eax
-	xorl	%esi, 440(%esp)
-	notl	%edx
-	xorl	%eax, %edx
-	addl	%ebx, %edx
-	movl	32(%esp), %ebx
-	movl	440(%esp), %eax
-	movl	24(%esp), %ecx
-	subl	%edx, %ebx
-	shrl	$16, %eax
-	movl	%ebx, 428(%esp)
-	movzbl	440(%esp),%ebx
-	andl	$255, %eax
-	xorl	%ecx, 436(%esp)
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+4(,%ebx,8), %esi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	436(%esp),%eax
-	xorl	%esi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	436(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 424(%esp)
-	movl	440(%esp), %eax
-	subl	%edx, 420(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ebp
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ebp,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ebp,8), %ecx
-	xorl	%ebx, %edx
-	movl	436(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %esi
-	movl	tiger_table+2052(,%ecx,8), %ebp
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%esi, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%ebp, %edx
-	xorl	%ebx, %edx
-	movl	452(%esp), %ebx
-	xorl	%esi, %eax
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %esi
-	setb	%al
-	movzbl	%al, %ebp
-	leal	0(,%ebx,4), %ecx
-	addl	%ebp, %edx
-	movl	448(%esp), %ebp
-	shrl	$30, %esi
-	xorl	%eax, %eax
-	addl	%edx, %ebp
-	leal	0(,%ebp,4), %edx
-	orl	%esi, %edx
-	leal	(%ebx,%ecx), %esi
-	cmpl	%ecx, %esi
-	setb	%al
-	addl	%eax, %edx
-	movl	428(%esp), %eax
-	leal	(%ebp,%edx), %ebx
-	movl	%ebx, 400(%esp)
-	movl	20(%esp), %ebp
-	movl	24(%esp), %ebx
-	xorl	%ebp, 424(%esp)
-	movl	432(%esp), %ecx
-	xorl	%eax, %ebx
-	movl	%ebx, 408(%esp)
-	movl	424(%esp), %eax
-	movl	28(%esp), %edx
-	movzbl	424(%esp),%ebx
-	shrl	$16, %eax
-	xorl	%ecx, %edx
-	movl	%edx, 416(%esp)
-	andl	$255, %eax
-	movl	16(%esp), %ecx
-	xorl	%ecx, 420(%esp)
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%ebx,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	420(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	420(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%ebx, %ecx
-	xorl	%ebp, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %esi
-	setb	%bl
-	subl	%ecx, %esi
-	addl	%ebx, %edx
-	movl	%esi, 404(%esp)
-	movl	424(%esp), %eax
-	subl	%edx, 400(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %esi
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%esi,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%esi,8), %ecx
-	xorl	%ebx, %edx
-	movl	420(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %esi
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	tiger_table(,%ecx,8), %ebp
-	xorl	%esi, %edx
-	xorl	%ebx, %edx
-	movl	440(%esp), %ebx
-	xorl	%ebp, %eax
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%al
-	movzbl	%al, %esi
-	leal	0(,%ebx,4), %ecx
-	addl	%esi, %edx
-	movl	436(%esp), %esi
-	shrl	$30, %ebp
-	xorl	%eax, %eax
-	addl	%edx, %esi
-	leal	0(,%esi,4), %edx
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	416(%esp), %ebx
-	setb	%al
-	addl	%eax, %edx
-	leal	(%esi,%edx), %edx
-	movl	%edx, 388(%esp)
-	movl	20(%esp), %esi
-	movl	416(%esp), %eax
-	movl	408(%esp), %edx
-	addl	%ebx, %esi
-	cmpl	%eax, %esi
-	movl	%esi, 412(%esp)
-	setb	%cl
-	movl	16(%esp), %ebx
-	movl	12(%esp), %esi
-	movzbl	%cl, %eax
-	addl	%edx, %eax
-	xorl	%esi, 404(%esp)
-	addl	%ebx, %eax
-	movl	8(%esp), %ecx
-	movl	%eax, 396(%esp)
-	movl	404(%esp), %eax
-	movzbl	404(%esp),%ebx
-	xorl	%ecx, 400(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%ebx,8), %esi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	400(%esp),%eax
-	xorl	%esi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	400(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 392(%esp)
-	movl	404(%esp), %eax
-	subl	%edx, 388(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %esi
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%esi,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%esi,8), %ecx
-	xorl	%ebx, %edx
-	movl	400(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	movl	tiger_table+2052(,%ecx,8), %esi
-	xorl	%ebp, %eax
-	movl	%ebx, %ebp
-	xorl	%esi, %edx
-	shrl	$24, %ebp
-	movl	tiger_table(,%ebp,8), %ebx
-	movl	tiger_table+4(,%ebp,8), %esi
-	xorl	%ebx, %eax
-	movl	424(%esp), %ebx
-	xorl	%esi, %edx
-	movl	420(%esp), %esi
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	movl	%ebx, %ebp
-	setb	%cl
-	movzbl	%cl, %eax
-	shrl	$30, %ebp
-	addl	%eax, %edx
-	leal	0(,%ebx,4), %ecx
-	addl	%edx, %esi
-	leal	0(,%esi,4), %edx
-	movl	416(%esp), %eax
-	orl	%ebp, %edx
-	leal	(%ebx,%ecx), %ebp
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	addl	%ebx, %edx
-	movl	412(%esp), %ebx
-	leal	(%esi,%edx), %ecx
-	movl	408(%esp), %edx
-	shrl	$23, %eax
-	movl	%ecx, 316(%esp)
-	notl	%ebx
-	movl	12(%esp), %esi
-	sall	$9, %edx
-	movl	396(%esp), %ecx
-	orl	%edx, %eax
-	xorl	%eax, %ebx
-	xorl	%edx, %edx
-	movl	408(%esp), %eax
-	cmpl	%ebx, 12(%esp)
-	notl	%eax
-	setb	%dl
-	subl	%ebx, %esi
-	shrl	$23, %eax
-	movl	8(%esp), %ebx
-	movl	%esi, 380(%esp)
-	movl	4(%esp), %esi
-	xorl	%ecx, %eax
-	xorl	%esi, 392(%esp)
-	addl	%edx, %eax
-	subl	%eax, %ebx
-	movl	%ebx, 376(%esp)
-	movl	(%esp), %ecx
-	movl	392(%esp), %eax
-	movzbl	392(%esp),%ebx
-	xorl	%ecx, 388(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%ebx,8), %esi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	388(%esp),%eax
-	xorl	%esi, %edx
-	movl	tiger_table+4096(,%eax,8), %ebx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	388(%esp), %eax
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%ebx, %ecx
-	xorl	%esi, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	movl	%ebp, 320(%esp)
-	movl	392(%esp), %eax
-	subl	%edx, 316(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ebp
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ebp,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ebp,8), %esi
-	xorl	%ebx, %edx
-	movl	388(%esp), %ebx
-	xorl	%esi, %eax
-	movzbl	%bh, %esi
-	movl	tiger_table+2048(,%esi,8), %ecx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	xorl	%ecx, %eax
-	movl	%ebx, %ecx
-	xorl	%ebp, %edx
-	shrl	$24, %ecx
-	movl	tiger_table(,%ecx,8), %ebx
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%ebx, %eax
-	movl	404(%esp), %ebx
-	xorl	%esi, %edx
-	movl	400(%esp), %esi
-	addl	%eax, %ebx
-	cmpl	%eax, %ebx
-	leal	0(,%ebx,4), %ecx
-	setb	%al
-	movzbl	%al, %ebp
-	addl	%ebp, %edx
-	addl	%edx, %esi
-	movl	%ebx, %edx
-	shrl	$30, %edx
-	addl	%ecx, %ebx
-	leal	0(,%esi,4), %ebp
-	orl	%edx, %ebp
-	movl	%ebx, 384(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	movl	376(%esp), %ecx
-	addl	%eax, %ebp
-	leal	(%esi,%ebp), %edx
-	movl	380(%esp), %ebp
-	movl	4(%esp), %esi
-	movl	%edx, 300(%esp)
-	movl	476(%esp), %eax
-	xorl	%ebp, %esi
-	movl	(%esp), %ebp
-	addl	%esi, %eax
-	movl	%eax, 372(%esp)
-	xorl	%ecx, %ebp
-	cmpl	%esi, %eax
-	setb	%bl
-	movl	472(%esp), %ecx
-	movzbl	%bl, %edx
-	leal	(%ebp,%edx), %eax
-	movl	372(%esp), %ebx
-	movl	%esi, %edx
-	notl	%edx
-	addl	%ecx, %eax
-	sall	$19, %edx
-	movl	%eax, 368(%esp)
-	xorl	%ebx, %edx
-	xorl	%ebx, %ebx
-	cmpl	%edx, %edi
-	movl	%ebp, %eax
-	setb	%bl
-	subl	%edx, %edi
-	movl	368(%esp), %edx
-	movl	%esi, %ecx
+	movzbl	%cl, %esi
+	subl	%eax, %edx
+	movl	-108(%ebp), %ecx
+	movl	-116(%ebp), %eax
+	movl	%edx, -180(%ebp)
+	movl	-148(%ebp), %edx
 	shrl	$13, %ecx
 	sall	$19, %eax
@@ -3111,1490 +3201,2194 @@
 	notl	%edx
 	xorl	%eax, %edx
-	movl	456(%esp), %eax
-	addl	%ebx, %edx
-	movl	460(%esp), %ebx
+	movl	-996(%ebp), %eax
+	addl	%esi, %edx
+	movl	-1004(%ebp), %ecx
 	subl	%edx, %eax
-	movl	%eax, 364(%esp)
-	movl	444(%esp), %edx
-	xorl	%edi, %ebx
-	movl	%ebx, 360(%esp)
-	xorl	%eax, %edx
-	xorl	%eax, %eax
-	movl	%edx, 352(%esp)
-	movl	432(%esp), %edx
-	addl	%ebx, %edx
-	movl	%edx, 356(%esp)
-	movl	352(%esp), %ecx
-	cmpl	%ebx, %edx
+	movl	-156(%ebp), %esi
+	movl	%eax, -184(%ebp)
+	movl	-1000(%ebp), %edx
+	movl	-152(%ebp), %eax
+	xorl	%ecx, %esi
+	movl	%esi, -164(%ebp)
+	xorl	%edx, %eax
+	movzbl	%al,%esi
+	movl	%eax, -160(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-164(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-164(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-144(%ebp), %esi
+	cmpl	%ecx, -144(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -188(%ebp)
+	movl	-168(%ebp), %esi
+	addl	%eax, %edx
+	subl	%edx, %esi
+	movl	%esi, -192(%ebp)
+	movl	-160(%ebp), %ecx
+	movzbl	%ch, %eax
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6144(%esi,%edi), %ecx
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-164(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-164(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-128(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-132(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	leal	0(,%esi,4), %ecx
+	movl	%edx, -172(%ebp)
+	addl	%ecx, %esi
+	shrl	$30, %eax
+	movl	%esi, -176(%ebp)
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-172(%ebp), %esi
+	setb	%al
+	movl	-1000(%ebp), %ecx
+	addl	%eax, %edx
+	addl	%esi, %edx
+	movl	-184(%ebp), %eax
+	movl	-1004(%ebp), %esi
+	movl	%edx, -204(%ebp)
+	movl	-180(%ebp), %edx
+	xorl	%eax, %esi
+	movl	%esi, -224(%ebp)
+	movl	-188(%ebp), %eax
+	xorl	%edx, %ecx
+	movl	%ecx, -216(%ebp)
+	movl	-1008(%ebp), %edx
+	movl	-1012(%ebp), %ecx
+	movl	-192(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -196(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -200(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-200(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-200(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-176(%ebp), %esi
+	cmpl	%ecx, -176(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -228(%ebp)
+	movl	-196(%ebp), %ecx
+	movl	-204(%ebp), %esi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -232(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-200(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-200(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-160(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-164(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -208(%ebp)
+	leal	0(,%esi,4), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -212(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-208(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	-216(%ebp), %eax
+	addl	%ecx, %edx
+	movl	-216(%ebp), %esi
+	movl	%edx, -244(%ebp)
+	movl	-1008(%ebp), %edx
+	movl	-224(%ebp), %ecx
+	addl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	movl	%edx, -220(%ebp)
+	movl	-1012(%ebp), %esi
 	setb	%al
 	addl	%ecx, %eax
-	movl	428(%esp), %ecx
+	movl	-1016(%ebp), %edx
+	movl	-1020(%ebp), %ecx
+	addl	%esi, %eax
+	movl	-232(%ebp), %esi
+	movl	%eax, -256(%ebp)
+	movl	-228(%ebp), %eax
+	xorl	%ecx, %esi
+	movl	%esi, -240(%ebp)
+	xorl	%edx, %eax
+	movzbl	%al,%esi
+	movl	%eax, -236(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-240(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-240(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-212(%ebp), %esi
+	cmpl	%ecx, -212(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -260(%ebp)
+	movl	-236(%ebp), %ecx
+	movl	-244(%ebp), %esi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -264(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-240(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-240(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-196(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-200(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -248(%ebp)
+	leal	0(,%esi,4), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -252(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-248(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-216(%ebp), %eax
+	addl	%esi, %edx
+	movl	-220(%ebp), %ecx
+	movl	%edx, -276(%ebp)
+	movl	-224(%ebp), %edx
+	shrl	$23, %eax
+	notl	%ecx
+	movl	-1016(%ebp), %esi
+	sall	$9, %edx
+	orl	%edx, %eax
+	xorl	%eax, %ecx
+	xorl	%edx, %edx
+	cmpl	%ecx, -1016(%ebp)
+	movl	-224(%ebp), %eax
+	setb	%dl
+	subl	%ecx, %esi
+	movl	-256(%ebp), %ecx
+	notl	%eax
+	movl	%esi, -288(%ebp)
+	shrl	$23, %eax
+	movl	-1020(%ebp), %esi
+	xorl	%ecx, %eax
+	addl	%edx, %eax
+	movl	-1028(%ebp), %ecx
+	subl	%eax, %esi
+	movl	-1024(%ebp), %edx
+	movl	-260(%ebp), %eax
+	movl	%esi, -292(%ebp)
+	movl	-264(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -268(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -272(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-272(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-272(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-252(%ebp), %esi
+	cmpl	%ecx, -252(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -360(%ebp)
+	movl	-268(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-276(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -364(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-272(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-272(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-236(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-240(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -280(%ebp)
+	leal	0(,%esi,4), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -284(%ebp)
+	shrl	$30, %eax
+	sall	$2, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-280(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	-288(%ebp), %esi
+	addl	%ecx, %edx
+	movl	%edx, -376(%ebp)
+	movl	-1024(%ebp), %edx
+	xorl	%esi, %edx
+	movl	%edx, -296(%ebp)
+	movl	-72(%ebp), %ecx
+	movl	-292(%ebp), %eax
+	movl	-1028(%ebp), %esi
+	addl	%edx, %ecx
+	movl	%ecx, -300(%ebp)
+	xorl	%eax, %esi
+	cmpl	%edx, %ecx
+	movl	%esi, -304(%ebp)
+	setb	%al
+	movl	-76(%ebp), %ecx
+	movzbl	%al, %eax
+	addl	%esi, %eax
 	addl	%ecx, %eax
-	movl	%edx, %ecx
+	movl	%eax, -308(%ebp)
+	movl	-300(%ebp), %esi
+	movl	%edx, %eax
+	notl	%eax
+	movl	-108(%ebp), %edx
+	sall	$19, %eax
+	xorl	%esi, %eax
+	cmpl	%eax, -108(%ebp)
+	setb	%cl
+	movzbl	%cl, %esi
+	subl	%eax, %edx
+	movl	-296(%ebp), %ecx
+	movl	-304(%ebp), %eax
+	movl	%edx, -312(%ebp)
+	movl	-308(%ebp), %edx
+	shrl	$13, %ecx
+	sall	$19, %eax
+	orl	%ecx, %eax
+	notl	%edx
+	xorl	%eax, %edx
+	movl	-112(%ebp), %ecx
+	addl	%esi, %edx
+	movl	-116(%ebp), %esi
+	subl	%edx, %esi
+	movl	-312(%ebp), %edx
+	movl	%esi, -316(%ebp)
+	xorl	%edx, %ecx
+	movl	-148(%ebp), %edx
+	movl	%ecx, -320(%ebp)
+	xorl	%esi, %edx
+	movl	-180(%ebp), %esi
+	movl	%edx, -328(%ebp)
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	%esi, -324(%ebp)
+	setb	%al
+	movl	-184(%ebp), %ecx
+	movzbl	%al, %eax
+	addl	%edx, %eax
+	addl	%ecx, %eax
+	movl	%eax, -332(%ebp)
+	movl	-320(%ebp), %eax
+	sall	$9, %edx
+	movl	%esi, %ecx
 	notl	%ecx
-	movl	%eax, 348(%esp)
-	movl	%ebx, %eax
-	movl	352(%esp), %ebx
+	movl	-216(%ebp), %esi
 	shrl	$23, %eax
+	orl	%edx, %eax
+	xorl	%eax, %ecx
 	xorl	%edx, %edx
-	sall	$9, %ebx
-	orl	%ebx, %eax
-	xorl	%eax, %ecx
-	movl	416(%esp), %ebx
-	cmpl	%ecx, 416(%esp)
-	movl	352(%esp), %eax
+	cmpl	%ecx, -216(%ebp)
+	movl	-328(%ebp), %eax
 	setb	%dl
-	subl	%ecx, %ebx
-	movl	348(%esp), %ecx
+	subl	%ecx, %esi
+	movl	-332(%ebp), %ecx
 	notl	%eax
-	movl	%ebx, 344(%esp)
+	movl	%esi, -336(%ebp)
 	shrl	$23, %eax
 	xorl	%ecx, %eax
 	addl	%edx, %eax
-	movl	408(%esp), %edx
-	movl	412(%esp), %ecx
+	movl	-336(%ebp), %esi
+	movl	-224(%ebp), %edx
+	movl	-220(%ebp), %ecx
 	subl	%eax, %edx
-	movl	380(%esp), %eax
-	xorl	%ebx, %ecx
-	movl	%edx, 340(%esp)
-	movl	396(%esp), %ebx
-	movl	%ecx, 336(%esp)
+	xorl	%esi, %ecx
+	movl	%edx, -340(%ebp)
+	movl	%ecx, -344(%ebp)
+	movl	-256(%ebp), %eax
+	xorl	%edx, %eax
+	movl	%eax, -352(%ebp)
+	movl	-288(%ebp), %edx
+	movl	-352(%ebp), %esi
+	xorl	%eax, %eax
+	addl	%ecx, %edx
+	cmpl	%ecx, %edx
+	movl	%edx, -348(%ebp)
+	movl	-292(%ebp), %ecx
+	setb	%al
+	addl	%esi, %eax
+	xorl	$-1985229329, %edx
+	movl	-296(%ebp), %esi
 	addl	%ecx, %eax
-	xorl	%edx, %ebx
-	movl	%eax, 332(%esp)
-	cmpl	%ecx, %eax
-	setb	%dl
-	movl	%ebx, 328(%esp)
-	movl	376(%esp), %ecx
-	movzbl	%dl, %eax
-	addl	%ebx, %eax
-	movl	332(%esp), %edx
-	xorl	%ebx, %ebx
+	xorl	%ecx, %ecx
+	cmpl	%edx, -296(%ebp)
+	movl	%eax, -356(%ebp)
+	movl	-356(%ebp), %eax
+	setb	%cl
+	subl	%edx, %esi
+	xorl	$19088743, %eax
 	addl	%ecx, %eax
-	xorl	$-1985229329, %edx
-	movl	%eax, 324(%esp)
-	movl	324(%esp), %eax
-	cmpl	%edx, %esi
-	setb	%bl
+	movl	%esi, -392(%ebp)
+	movl	-304(%ebp), %esi
+	movl	-300(%ebp), %edx
+	movl	-308(%ebp), %ecx
+	subl	%eax, %esi
+	movl	-360(%ebp), %eax
+	movl	%esi, -396(%ebp)
+	movl	-364(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -368(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -372(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-372(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-372(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-284(%ebp), %esi
+	cmpl	%ecx, -284(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -400(%ebp)
+	movl	-376(%ebp), %esi
+	addl	%eax, %edx
 	subl	%edx, %esi
-	movl	368(%esp), %ecx
-	movl	%esi, 312(%esp)
-	xorl	$19088743, %eax
-	addl	%ebx, %eax
-	xorl	%ecx, 316(%esp)
-	subl	%eax, %ebp
-	movl	%ebp, 308(%esp)
-	movl	372(%esp), %ebp
-	xorl	%ebp, 320(%esp)
-	movl	320(%esp), %ebx
-	movzbl	320(%esp),%esi
-	shrl	$16, %ebx
-	andl	$255, %ebx
-	movl	tiger_table(,%esi,8), %edx
-	movl	tiger_table+2048(,%ebx,8), %ecx
-	movl	tiger_table+4(,%esi,8), %eax
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%ebx,8), %edx
-	movzbl	316(%esp),%ebx
-	xorl	%eax, %edx
-	movl	tiger_table+4096(,%ebx,8), %ebp
-	movl	tiger_table+4100(,%ebx,8), %esi
-	xorl	%ebp, %ecx
-	movl	316(%esp), %ebp
-	xorl	%esi, %edx
-	movl	384(%esp), %esi
-	shrl	$16, %ebp
-	andl	$255, %ebp
-	movl	tiger_table+6144(,%ebp,8), %eax
-	movl	tiger_table+6148(,%ebp,8), %ebx
-	xorl	%eax, %ecx
-	xorl	%ebx, %edx
-	xorl	%eax, %eax
-	cmpl	%ecx, 384(%esp)
-	setb	%al
-	subl	%ecx, %esi
-	movl	%esi, 304(%esp)
-	addl	%eax, %edx
-	movl	320(%esp), %eax
-	subl	%edx, 300(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ebp
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ebp,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ebp,8), %ecx
-	xorl	%ebx, %edx
-	movl	316(%esp), %ebx
-	xorl	%ecx, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %esi
-	movl	tiger_table+2052(,%ecx,8), %ebp
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	xorl	%esi, %eax
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	tiger_table+4(,%ecx,8), %ebp
-	movl	392(%esp), %ecx
-	xorl	%esi, %eax
-	xorl	%ebp, %edx
-	movl	388(%esp), %esi
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	movl	%ecx, %ebp
-	setb	%bl
-	movzbl	%bl, %eax
-	shrl	$29, %ebp
-	addl	%eax, %edx
-	leal	0(,%ecx,8), %ebx
-	addl	%esi, %edx
-	leal	0(,%edx,8), %esi
-	xorl	%eax, %eax
-	orl	%ebp, %esi
-	cmpl	%ecx, %ebx
-	movl	%ebx, %ebp
-	setb	%al
-	leal	(%edx,%eax), %eax
-	movl	312(%esp), %edx
-	subl	%ecx, %ebp
+	movl	%esi, -404(%ebp)
+	movl	-368(%ebp), %ecx
+	movzbl	%ch, %eax
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6144(%esi,%edi), %ecx
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-372(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-372(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-268(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-272(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	shrl	$29, %eax
+	movl	%edx, -380(%ebp)
+	movl	-380(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	%edx, -384(%ebp)
+	movl	-380(%ebp), %esi
+	movl	-392(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	xorl	$-1515870811, %edx
+	movl	%ecx, -388(%ebp)
+	xorl	%ecx, %ecx
+	cmpl	%edx, -300(%ebp)
+	movl	-300(%ebp), %esi
+	movl	-396(%ebp), %eax
+	setb	%cl
+	subl	%edx, %esi
+	xorl	$-1515870811, %eax
+	movl	%esi, -428(%ebp)
+	movl	-308(%ebp), %esi
+	addl	%ecx, %eax
+	movl	-312(%ebp), %edx
+	movl	-316(%ebp), %ecx
 	subl	%eax, %esi
-	xorl	%ecx, %ecx
-	movl	372(%esp), %ebx
-	movl	308(%esp), %eax
-	xorl	$-1515870811, %edx
-	cmpl	%edx, 372(%esp)
-	setb	%cl
-	subl	%edx, %ebx
-	xorl	%edi, 304(%esp)
-	xorl	$-1515870811, %eax
-	addl	%ecx, %eax
-	movl	%ebx, 292(%esp)
-	movl	368(%esp), %ebx
-	movl	364(%esp), %ecx
-	xorl	%ecx, 300(%esp)
-	subl	%eax, %ebx
-	movl	304(%esp), %eax
-	movl	%ebx, 288(%esp)
-	movzbl	304(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table(,%ebx,8), %edx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	300(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	300(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%ebx, %edx
-	xorl	%ebx, %ebx
-	cmpl	%ecx, %ebp
-	setb	%bl
-	subl	%ecx, %ebp
-	addl	%ebx, %edx
-	subl	%edx, %esi
-	movl	%ebp, 284(%esp)
-	movl	304(%esp), %eax
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	xorl	%ebx, %edx
-	movl	300(%esp), %ebx
-	xorl	%ebp, %eax
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebp
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebp
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	movl	tiger_table(,%ecx,8), %ebx
-	xorl	%ebp, %edx
-	movl	tiger_table+4(,%ecx,8), %ebp
-	movl	320(%esp), %ecx
-	xorl	%ebx, %eax
-	xorl	%ebp, %edx
-	addl	%eax, %ecx
-	movl	316(%esp), %ebp
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	addl	%ebp, %edx
-	movl	%ecx, %eax
-	leal	0(,%ecx,8), %ebx
-	shrl	$29, %eax
-	leal	0(,%edx,8), %ebp
-	orl	%eax, %ebp
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	subl	%ecx, %ebx
-	movl	292(%esp), %ecx
-	movl	%ebx, 296(%esp)
-	leal	(%edx,%eax), %ebx
-	subl	%ebx, %ebp
-	movl	288(%esp), %edx
-	xorl	%ecx, %edi
-	movl	360(%esp), %ebx
-	xorl	%ebx, 284(%esp)
-	movl	364(%esp), %eax
-	movl	352(%esp), %ecx
-	movzbl	284(%esp),%ebx
+	movl	%esi, -432(%ebp)
+	movl	-400(%ebp), %eax
+	movl	-404(%ebp), %esi
 	xorl	%edx, %eax
 	xorl	%ecx, %esi
-	movl	%eax, 272(%esp)
-	movl	284(%esp), %eax
-	movl	tiger_table(,%ebx,8), %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
+	movl	%esi, -412(%ebp)
+	movzbl	%al,%esi
+	movl	%eax, -408(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-412(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-412(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-384(%ebp), %esi
+	cmpl	%ecx, -384(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -436(%ebp)
+	movl	-408(%ebp), %ecx
+	movl	-388(%ebp), %esi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -440(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-412(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-412(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-368(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-372(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
 	movl	%esi, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
+	addl	%ecx, %edx
+	movl	%edx, -416(%ebp)
+	shrl	$29, %eax
+	movl	-416(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-416(%ebp), %esi
+	movl	%edx, -420(%ebp)
+	movl	-428(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-316(%ebp), %esi
+	movl	-432(%ebp), %eax
+	movl	%ecx, -424(%ebp)
+	movl	-312(%ebp), %ecx
+	xorl	%eax, %esi
+	movl	%esi, -472(%ebp)
+	movl	-436(%ebp), %eax
+	xorl	%edx, %ecx
+	movl	%ecx, -464(%ebp)
+	movl	-320(%ebp), %edx
+	movl	-328(%ebp), %ecx
+	movl	-440(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -444(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -448(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-448(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-448(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-420(%ebp), %esi
+	cmpl	%ecx, -420(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -476(%ebp)
+	movl	-444(%ebp), %ecx
+	movl	-424(%ebp), %esi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -480(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-448(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-448(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-408(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-412(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
 	movl	%esi, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ebx, %edx
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	cmpl	%ecx, 296(%esp)
-	movl	296(%esp), %ebx
-	setb	%al
-	subl	%ecx, %ebx
-	addl	%eax, %edx
-	subl	%edx, %ebp
-	movl	%ebx, 268(%esp)
-	movl	284(%esp), %eax
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	%esi, %ebx
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebx
-	movl	%esi, %ecx
-	shrl	$24, %ecx
-	xorl	%ebx, %edx
-	movl	tiger_table(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	304(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%bl
-	movzbl	%bl, %eax
-	movl	300(%esp), %ebx
-	addl	%eax, %edx
-	addl	%ebx, %edx
-	leal	0(,%edx,8), %eax
-	leal	0(,%ecx,8), %ebx
-	movl	%eax, 252(%esp)
+	addl	%ecx, %edx
+	movl	%edx, -452(%ebp)
+	shrl	$29, %eax
+	movl	-452(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-452(%ebp), %esi
+	movl	%edx, -456(%ebp)
+	movl	-320(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-464(%ebp), %eax
+	movl	-464(%ebp), %esi
+	movl	%ecx, -460(%ebp)
+	addl	%eax, %edx
+	movl	-472(%ebp), %ecx
+	movl	%edx, -468(%ebp)
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	movl	-328(%ebp), %esi
+	setb	%al
+	addl	%ecx, %eax
+	movl	-324(%ebp), %edx
+	addl	%esi, %eax
+	movl	-332(%ebp), %ecx
+	movl	%eax, -504(%ebp)
+	movl	-480(%ebp), %esi
+	movl	-476(%ebp), %eax
+	xorl	%ecx, %esi
+	xorl	%edx, %eax
+	movl	%esi, -488(%ebp)
+	movzbl	%al,%esi
+	movl	%eax, -484(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-488(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-488(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-456(%ebp), %esi
+	cmpl	%ecx, -456(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -508(%ebp)
+	movl	-484(%ebp), %ecx
+	movl	-460(%ebp), %esi
+	addl	%eax, %edx
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -512(%ebp)
+	leal	0(,%eax,8), %esi
 	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-488(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-488(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-444(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-448(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -492(%ebp)
 	shrl	$29, %eax
-	orl	%eax, 252(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	subl	%ecx, %ebx
-	leal	(%edx,%eax), %eax
-	movl	%ebx, 280(%esp)
-	movl	360(%esp), %ebx
-	movl	272(%esp), %ecx
-	subl	%eax, 252(%esp)
-	xorl	%eax, %eax
-	addl	%edi, %ebx
-	movl	%ebx, 276(%esp)
-	cmpl	%edi, %ebx
-	movl	352(%esp), %edx
-	movl	356(%esp), %ebx
-	setb	%al
-	addl	%ecx, %eax
-	xorl	%ebx, 268(%esp)
+	movl	-492(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-468(%ebp), %esi
+	movl	%edx, -496(%ebp)
+	movl	-492(%ebp), %edx
 	addl	%edx, %eax
-	movl	348(%esp), %ecx
-	movl	%eax, 260(%esp)
-	movl	268(%esp), %eax
-	xorl	%ecx, %ebp
-	movzbl	268(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table(,%ebx,8), %edx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
-	movl	%ebp, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	%ebp, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ebx, %edx
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	280(%esp), %ebx
-	cmpl	%ecx, 280(%esp)
-	setb	%al
-	subl	%ecx, %ebx
-	movl	%ebx, 256(%esp)
-	addl	%eax, %edx
-	movl	268(%esp), %eax
-	subl	%edx, 252(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	%ebp, %ebx
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebx
-	movl	%ebp, %ecx
-	shrl	$24, %ecx
-	xorl	%ebx, %edx
-	movl	tiger_table(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	284(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	movl	%ecx, %eax
-	leal	(%esi,%edx), %ebx
-	shrl	$29, %eax
-	leal	0(,%ecx,8), %edx
-	leal	0(,%ebx,8), %esi
-	orl	%eax, %esi
-	xorl	%eax, %eax
-	cmpl	%ecx, %edx
-	setb	%al
-	subl	%ecx, %edx
-	leal	(%ebx,%eax), %ecx
-	movl	%edx, 264(%esp)
-	movl	276(%esp), %ebx
-	movl	%edi, %eax
+	subl	%eax, %ecx
+	movl	-464(%ebp), %eax
+	movl	-324(%ebp), %edx
+	movl	%ecx, -500(%ebp)
 	notl	%eax
-	subl	%ecx, %esi
-	movl	356(%esp), %edx
 	sall	$19, %eax
-	movl	%edi, %ecx
-	xorl	%ebx, %eax
-	xorl	%ebx, %ebx
-	cmpl	%eax, 356(%esp)
-	setb	%bl
+	xorl	%esi, %eax
+	cmpl	%eax, -324(%ebp)
+	setb	%cl
+	movzbl	%cl, %esi
 	subl	%eax, %edx
-	movl	%edx, 244(%esp)
-	movl	272(%esp), %eax
+	movl	-464(%ebp), %ecx
+	movl	-472(%ebp), %eax
+	movl	%edx, -536(%ebp)
+	movl	-504(%ebp), %edx
 	shrl	$13, %ecx
-	movl	260(%esp), %edx
 	sall	$19, %eax
 	orl	%ecx, %eax
 	notl	%edx
-	movl	340(%esp), %ecx
-	xorl	%eax, %edx
-	xorl	%ecx, 252(%esp)
-	addl	%ebx, %edx
-	movl	348(%esp), %eax
-	movl	344(%esp), %ebx
-	xorl	%ebx, 256(%esp)
+	xorl	%eax, %edx
+	movl	-332(%ebp), %eax
+	addl	%esi, %edx
+	movl	-340(%ebp), %ecx
 	subl	%edx, %eax
-	movl	%eax, 240(%esp)
-	movl	256(%esp), %eax
-	movzbl	256(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
-	movzbl	252(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	252(%esp), %eax
-	xorl	%ebx, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	264(%esp), %ebx
-	cmpl	%ecx, 264(%esp)
-	setb	%al
-	subl	%ecx, %ebx
-	movl	%ebx, 236(%esp)
-	addl	%eax, %edx
-	movl	256(%esp), %eax
+	movl	-512(%ebp), %esi
+	movl	%eax, -540(%ebp)
+	movl	-336(%ebp), %edx
+	movl	-508(%ebp), %eax
+	xorl	%ecx, %esi
+	xorl	%edx, %eax
+	movl	%eax, -516(%ebp)
+	movl	%esi, -520(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-520(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-520(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-496(%ebp), %esi
+	cmpl	%ecx, -496(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -544(%ebp)
+	movl	-516(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-500(%ebp), %esi
+	movzbl	%ch, %eax
 	subl	%edx, %esi
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	252(%esp), %ebx
-	movzbl	%bh, %ecx
-	xorl	tiger_table+2048(,%ecx,8), %eax
-	xorl	tiger_table+2052(,%ecx,8), %edx
-	movl	%ebx, %ecx
-	shrl	$24, %ecx
-	movl	tiger_table(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	268(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
+	movl	%esi, -548(%ebp)
+	leal	0(,%eax,8), %esi
 	movl	%ecx, %eax
-	leal	(%ebp,%edx), %ebx
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-520(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-520(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-484(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-488(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -524(%ebp)
 	shrl	$29, %eax
-	leal	0(,%ecx,8), %edx
-	leal	0(,%ebx,8), %ebp
-	orl	%eax, %ebp
-	xorl	%eax, %eax
-	cmpl	%ecx, %edx
-	setb	%al
-	leal	(%ebx,%eax), %eax
-	subl	%ecx, %edx
-	movl	%edx, 248(%esp)
-	movl	244(%esp), %ebx
-	subl	%eax, %ebp
-	movl	344(%esp), %ecx
-	movl	240(%esp), %edx
-	movl	340(%esp), %eax
-	xorl	%ebx, %ecx
-	movl	336(%esp), %ebx
+	movl	-524(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-524(%ebp), %esi
+	movl	%edx, -528(%ebp)
+	movl	-536(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	%ecx, -532(%ebp)
+	movl	-336(%ebp), %ecx
+	xorl	%edx, %ecx
+	movl	%ecx, -572(%ebp)
+	movl	-540(%ebp), %eax
+	movl	-340(%ebp), %esi
+	movl	-344(%ebp), %edx
+	movl	-352(%ebp), %ecx
+	xorl	%eax, %esi
+	movl	%esi, -580(%ebp)
+	movl	-544(%ebp), %eax
+	movl	-548(%ebp), %esi
 	xorl	%edx, %eax
-	xorl	%ebx, 236(%esp)
-	movl	%eax, 220(%esp)
-	movl	%ecx, 228(%esp)
-	movl	236(%esp), %eax
-	movl	328(%esp), %ecx
-	movzbl	236(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
 	xorl	%ecx, %esi
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
+	movl	%esi, -556(%ebp)
+	movzbl	%al,%esi
+	movl	%eax, -552(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-556(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-556(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-528(%ebp), %esi
+	cmpl	%ecx, -528(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -584(%ebp)
+	movl	-552(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-532(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -588(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-556(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-556(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-516(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-520(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
 	movl	%esi, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
+	addl	%ecx, %edx
+	movl	%edx, -560(%ebp)
+	movl	-560(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	shrl	$29, %eax
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-560(%ebp), %esi
+	movl	%edx, -564(%ebp)
+	movl	-344(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-572(%ebp), %eax
+	movl	-572(%ebp), %esi
+	movl	%ecx, -568(%ebp)
+	addl	%eax, %edx
+	movl	-580(%ebp), %ecx
+	movl	%edx, -576(%ebp)
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	movl	-352(%ebp), %esi
+	setb	%al
+	addl	%ecx, %eax
+	movl	-348(%ebp), %edx
+	addl	%esi, %eax
+	movl	-356(%ebp), %ecx
+	movl	%eax, -612(%ebp)
+	movl	-588(%ebp), %esi
+	movl	-584(%ebp), %eax
+	xorl	%ecx, %esi
+	xorl	%edx, %eax
+	movl	%esi, -596(%ebp)
+	movzbl	%al,%esi
+	movl	%eax, -592(%ebp)
+	shrl	$13, %eax
+	movl	(%edi,%esi,8), %ecx
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-596(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-596(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-564(%ebp), %esi
+	cmpl	%ecx, -564(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -616(%ebp)
+	movl	-592(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-568(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -620(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-596(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-596(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-552(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-556(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
 	movl	%esi, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ebx, %edx
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	cmpl	%ecx, 248(%esp)
-	movl	248(%esp), %ebx
-	setb	%al
-	subl	%ecx, %ebx
-	addl	%eax, %edx
-	subl	%edx, %ebp
-	movl	%ebx, 216(%esp)
-	movl	236(%esp), %eax
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	%esi, %ebx
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebx
-	movl	%esi, %ecx
-	shrl	$24, %ecx
-	xorl	%ebx, %edx
-	movl	tiger_table(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	256(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	movl	252(%esp), %ebx
-	addl	%edx, %ebx
-	leal	0(,%ebx,8), %eax
-	leal	0(,%ecx,8), %edx
-	movl	%eax, 204(%esp)
-	movl	%ecx, %eax
+	addl	%ecx, %edx
+	movl	%edx, -600(%ebp)
+	movl	-600(%ebp), %ecx
+	leal	0(,%esi,8), %edx
 	shrl	$29, %eax
-	orl	%eax, 204(%esp)
-	xorl	%eax, %eax
-	cmpl	%ecx, %edx
-	setb	%al
-	subl	%ecx, %edx
-	leal	(%ebx,%eax), %ecx
-	movl	%edx, 232(%esp)
-	movl	228(%esp), %eax
-	movl	336(%esp), %edx
-	subl	%ecx, 204(%esp)
-	movl	228(%esp), %ebx
-	addl	%eax, %edx
-	movl	%edx, 224(%esp)
-	movl	220(%esp), %ecx
-	xorl	%eax, %eax
-	cmpl	%ebx, %edx
-	movl	328(%esp), %edx
-	setb	%al
-	movl	332(%esp), %ebx
-	addl	%ecx, %eax
-	movl	324(%esp), %ecx
-	xorl	%ebx, 216(%esp)
-	addl	%edx, %eax
-	movl	%eax, 212(%esp)
-	xorl	%ecx, %ebp
-	movl	216(%esp), %eax
-	movzbl	216(%esp),%ebx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%ebx,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%ebx,8), %eax
-	xorl	%eax, %edx
-	movl	%ebp, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+4100(,%eax,8), %ebx
-	movl	%ebp, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%ebx, %edx
-	movl	tiger_table+6144(,%eax,8), %ebx
-	xorl	%ebx, %ecx
-	movl	tiger_table+6148(,%eax,8), %ebx
-	xorl	%eax, %eax
-	xorl	%ebx, %edx
-	movl	232(%esp), %ebx
-	cmpl	%ecx, 232(%esp)
-	setb	%al
-	subl	%ecx, %ebx
-	movl	%ebx, 208(%esp)
-	addl	%eax, %edx
-	movl	216(%esp), %eax
-	subl	%edx, 204(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %ebx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebx, %eax
-	movl	tiger_table+6148(,%ecx,8), %ebx
-	xorl	%ebx, %edx
-	movl	%ebp, %ebx
-	movzbl	%bh, %ecx
-	movl	tiger_table+2048(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+2052(,%ecx,8), %ebx
-	movl	%ebp, %ecx
-	shrl	$24, %ecx
-	xorl	%ebx, %edx
-	movl	tiger_table(,%ecx,8), %ebx
-	xorl	%ebx, %eax
-	movl	tiger_table+4(,%ecx,8), %ebx
-	movl	236(%esp), %ecx
-	xorl	%ebx, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %ebx
-	addl	%ebx, %edx
-	leal	(%esi,%edx), %edx
-	movl	%ecx, %esi
-	leal	0(,%edx,8), %eax
-	leal	0(,%ecx,8), %ebx
-	movl	%eax, 132(%esp)
-	shrl	$29, %esi
-	xorl	%eax, %eax
-	orl	%esi, 132(%esp)
-	cmpl	%ecx, %ebx
-	setb	%al
-	leal	(%edx,%eax), %esi
-	movl	228(%esp), %eax
-	movl	220(%esp), %edx
-	subl	%esi, 132(%esp)
-	subl	%ecx, %ebx
-	movl	224(%esp), %ecx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	-600(%ebp), %esi
+	movl	%edx, -604(%ebp)
+	movl	-580(%ebp), %edx
+	addl	%esi, %eax
+	subl	%eax, %ecx
+	movl	-572(%ebp), %eax
 	sall	$9, %edx
-	movl	332(%esp), %esi
+	movl	%ecx, -608(%ebp)
+	movl	-576(%ebp), %ecx
 	shrl	$23, %eax
 	orl	%edx, %eax
+	xorl	%edx, %edx
 	notl	%ecx
 	xorl	%eax, %ecx
-	xorl	%edx, %edx
-	cmpl	%ecx, 332(%esp)
-	movl	220(%esp), %eax
-	setb	%dl
-	subl	%ecx, %esi
-	movl	212(%esp), %ecx
-	notl	%eax
-	movl	%esi, 196(%esp)
-	shrl	$23, %eax
-	xorl	%ecx, %eax
-	movl	312(%esp), %esi
-	addl	%edx, %eax
-	movl	324(%esp), %edx
-	xorl	%esi, 208(%esp)
-	movl	308(%esp), %ecx
-	subl	%eax, %edx
-	movzbl	208(%esp),%esi
-	movl	%edx, 192(%esp)
-	movl	208(%esp), %eax
-	xorl	%ecx, 204(%esp)
-	shrl	$16, %eax
-	movl	tiger_table(,%esi,8), %edx
-	andl	$255, %eax
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	204(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	204(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	subl	%edx, 132(%esp)
-	movl	208(%esp), %eax
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	204(%esp), %ecx
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	shrl	$24, %ecx
-	xorl	tiger_table+2048(,%esi,8), %eax
-	xorl	tiger_table+2052(,%esi,8), %edx
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%esi, %eax
-	movl	tiger_table+4(,%ecx,8), %esi
-	movl	216(%esp), %ecx
-	xorl	%esi, %edx
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movzbl	%al, %esi
-	addl	%esi, %edx
-	leal	(%ebp,%edx), %esi
-	leal	0(,%esi,8), %eax
-	movl	%ecx, %edx
-	leal	0(,%ecx,8), %ebp
-	movl	%eax, 120(%esp)
-	shrl	$29, %edx
-	xorl	%eax, %eax
-	orl	%edx, 120(%esp)
-	cmpl	%ecx, %ebp
-	setb	%al
-	leal	(%esi,%eax), %edx
-	subl	%ecx, %ebp
-	movl	196(%esp), %ecx
-	subl	%edx, 120(%esp)
-	xorl	%eax, %eax
-	movl	312(%esp), %edx
-	movl	%ebp, 200(%esp)
-	movl	192(%esp), %ebp
-	movl	288(%esp), %esi
-	xorl	%ecx, %edx
-	movl	308(%esp), %ecx
-	movl	%edx, 188(%esp)
-	xorl	%ebp, %ecx
-	movl	292(%esp), %ebp
-	movl	%ecx, 184(%esp)
-	addl	%edx, %ebp
-	cmpl	%edx, %ebp
-	setb	%al
-	addl	%ecx, %eax
-	addl	%esi, %eax
-	movl	%eax, 180(%esp)
-	movl	%edx, %eax
-	notl	%eax
-	sall	$19, %eax
-	xorl	%ebp, %eax
-	cmpl	%eax, %edi
-	setb	%dl
-	subl	%eax, %edi
-	movl	%ecx, %eax
-	movl	188(%esp), %ecx
-	movzbl	%dl, %esi
-	sall	$19, %eax
-	movl	180(%esp), %edx
-	shrl	$13, %ecx
-	orl	%ecx, %eax
-	notl	%edx
-	movl	272(%esp), %ecx
-	xorl	%eax, %edx
-	addl	%esi, %edx
-	movl	276(%esp), %eax
-	subl	%edx, %ecx
-	movl	%ecx, 176(%esp)
-	movl	260(%esp), %edx
-	xorl	%edi, %eax
-	movl	%eax, 172(%esp)
-	xorl	%ecx, %edx
-	movl	%edx, 164(%esp)
-	movl	244(%esp), %ecx
-	movl	240(%esp), %esi
-	addl	%eax, %ecx
-	cmpl	%eax, %ecx
-	setb	%al
-	movl	%ecx, 168(%esp)
-	movzbl	%al, %eax
-	addl	%edx, %eax
-	addl	%esi, %eax
-	movl	172(%esp), %esi
-	sall	$9, %edx
-	movl	%eax, 160(%esp)
-	notl	%ecx
-	movl	164(%esp), %eax
-	shrl	$23, %esi
-	orl	%edx, %esi
-	xorl	%esi, %ecx
-	xorl	%edx, %edx
-	cmpl	%ecx, 228(%esp)
-	movl	228(%esp), %esi
+	movl	-348(%ebp), %esi
+	movl	-580(%ebp), %eax
+	cmpl	%ecx, -348(%ebp)
 	notl	%eax
 	setb	%dl
 	subl	%ecx, %esi
-	movl	160(%esp), %ecx
-	movl	%esi, 156(%esp)
+	movl	-612(%ebp), %ecx
+	shrl	$23, %eax
+	movl	%esi, -644(%ebp)
+	movl	-356(%ebp), %esi
+	xorl	%ecx, %eax
+	addl	%edx, %eax
+	movl	-396(%ebp), %ecx
+	movl	-392(%ebp), %edx
+	subl	%eax, %esi
+	movl	-616(%ebp), %eax
+	movl	%esi, -648(%ebp)
+	movl	-620(%ebp), %esi
+	xorl	%edx, %eax
+	movl	%eax, -624(%ebp)
+	xorl	%ecx, %esi
+	movl	%esi, -628(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-628(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-628(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-604(%ebp), %esi
+	cmpl	%ecx, -604(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -716(%ebp)
+	movl	-608(%ebp), %esi
+	addl	%eax, %edx
+	subl	%edx, %esi
+	movl	%esi, -720(%ebp)
+	movl	-624(%ebp), %ecx
+	movzbl	%ch, %eax
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	sall	$3, %eax
+	movl	6144(%esi,%edi), %ecx
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-628(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-628(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-592(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-596(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	shrl	$29, %eax
+	movl	%edx, -632(%ebp)
+	movl	-632(%ebp), %ecx
+	leal	0(,%esi,8), %edx
+	sall	$3, %ecx
+	orl	%eax, %ecx
+	xorl	%eax, %eax
+	cmpl	%esi, %edx
+	setb	%al
+	subl	%esi, %edx
+	movl	%edx, -636(%ebp)
+	movl	-632(%ebp), %edx
+	movl	-644(%ebp), %esi
+	addl	%edx, %eax
+	movl	-392(%ebp), %edx
+	subl	%eax, %ecx
+	movl	%ecx, -640(%ebp)
+	movl	-428(%ebp), %ecx
+	movl	-648(%ebp), %eax
+	xorl	%esi, %edx
+	movl	-396(%ebp), %esi
+	addl	%edx, %ecx
+	movl	%ecx, -656(%ebp)
+	movl	%edx, -652(%ebp)
+	xorl	%eax, %esi
+	cmpl	%edx, %ecx
+	movl	%esi, -660(%ebp)
+	setb	%al
+	movl	-432(%ebp), %ecx
+	movzbl	%al, %eax
+	addl	%esi, %eax
+	addl	%ecx, %eax
+	movl	%eax, -664(%ebp)
+	movl	-656(%ebp), %esi
+	movl	%edx, %eax
+	notl	%eax
+	movl	-464(%ebp), %edx
+	sall	$19, %eax
+	xorl	%esi, %eax
+	cmpl	%eax, -464(%ebp)
+	setb	%cl
+	movzbl	%cl, %esi
+	subl	%eax, %edx
+	movl	-652(%ebp), %ecx
+	movl	-660(%ebp), %eax
+	movl	%edx, -668(%ebp)
+	movl	-664(%ebp), %edx
+	shrl	$13, %ecx
+	sall	$19, %eax
+	orl	%ecx, %eax
+	notl	%edx
+	xorl	%eax, %edx
+	addl	%esi, %edx
+	movl	-472(%ebp), %esi
+	subl	%edx, %esi
+	movl	%esi, -672(%ebp)
+	movl	-668(%ebp), %edx
+	movl	-468(%ebp), %ecx
+	xorl	%edx, %ecx
+	movl	-504(%ebp), %edx
+	movl	%ecx, -676(%ebp)
+	xorl	%esi, %edx
+	movl	-536(%ebp), %esi
+	movl	%edx, -684(%ebp)
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	%esi, -680(%ebp)
+	setb	%al
+	movl	-540(%ebp), %ecx
+	movzbl	%al, %eax
+	addl	%edx, %eax
+	addl	%ecx, %eax
+	movl	%eax, -688(%ebp)
+	movl	-676(%ebp), %eax
+	sall	$9, %edx
+	movl	%esi, %ecx
+	notl	%ecx
+	movl	-572(%ebp), %esi
+	shrl	$23, %eax
+	orl	%edx, %eax
+	xorl	%eax, %ecx
+	xorl	%edx, %edx
+	cmpl	%ecx, -572(%ebp)
+	movl	-684(%ebp), %eax
+	setb	%dl
+	subl	%ecx, %esi
+	movl	-688(%ebp), %ecx
+	notl	%eax
+	movl	%esi, -692(%ebp)
 	shrl	$23, %eax
 	xorl	%ecx, %eax
 	addl	%edx, %eax
-	movl	220(%esp), %edx
-	movl	224(%esp), %ecx
+	movl	-580(%ebp), %edx
+	movl	-692(%ebp), %esi
+	movl	-576(%ebp), %ecx
 	subl	%eax, %edx
-	movl	196(%esp), %eax
-	xorl	%esi, %ecx
-	movl	%edx, 152(%esp)
-	movl	212(%esp), %esi
-	movl	%ecx, 148(%esp)
+	movl	-612(%ebp), %eax
+	movl	%edx, -696(%ebp)
+	xorl	%esi, %ecx
+	movl	%ecx, -700(%ebp)
+	xorl	%edx, %eax
+	movl	-644(%ebp), %edx
+	movl	%eax, -708(%ebp)
+	movl	-708(%ebp), %esi
+	xorl	%eax, %eax
+	addl	%ecx, %edx
+	cmpl	%ecx, %edx
+	movl	-648(%ebp), %ecx
+	movl	%edx, -704(%ebp)
+	setb	%al
+	addl	%esi, %eax
+	xorl	$-1985229329, %edx
 	addl	%ecx, %eax
-	xorl	%edx, %esi
-	movl	%eax, 144(%esp)
-	cmpl	%ecx, %eax
-	setb	%dl
-	movl	%esi, 140(%esp)
-	movl	192(%esp), %ecx
-	movzbl	%dl, %eax
-	movl	144(%esp), %edx
-	addl	%esi, %eax
+	movl	-652(%ebp), %esi
+	movl	%eax, -712(%ebp)
+	xorl	%ecx, %ecx
+	movl	-712(%ebp), %eax
+	cmpl	%edx, -652(%ebp)
+	setb	%cl
+	subl	%edx, %esi
+	movl	%esi, -740(%ebp)
+	movl	-660(%ebp), %esi
+	xorl	$19088743, %eax
 	addl	%ecx, %eax
-	movl	%eax, 136(%esp)
-	xorl	$-1985229329, %edx
-	xorl	%eax, %eax
-	cmpl	%edx, 188(%esp)
-	movl	136(%esp), %esi
-	movl	180(%esp), %ecx
-	setb	%al
-	xorl	%ebp, %ebx
-	xorl	$19088743, %esi
-	xorl	%ecx, 132(%esp)
-	addl	%eax, %esi
-	movl	%ebx, %eax
-	subl	%esi, 184(%esp)
-	shrl	$16, %eax
-	movzbl	%bl,%esi
-	subl	%edx, 188(%esp)
-	andl	$255, %eax
-	movl	tiger_table(,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%esi,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	132(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	132(%esp), %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	cmpl	%ecx, 200(%esp)
-	movl	200(%esp), %esi
-	setb	%al
-	addl	%eax, %edx
+	movl	-656(%ebp), %edx
+	subl	%eax, %esi
+	movl	%esi, -744(%ebp)
+	movl	-716(%ebp), %eax
+	xorl	%edx, %eax
+	movl	%eax, -724(%ebp)
+	movl	-664(%ebp), %ecx
+	movl	-720(%ebp), %esi
+	xorl	%ecx, %esi
+	movl	%esi, -728(%ebp)
+	movzbl	%al,%esi
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-728(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-728(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-636(%ebp), %esi
+	cmpl	%ecx, -636(%ebp)
+	setb	%al
 	subl	%ecx, %esi
-	movzbl	%bh, %ecx
-	movl	%esi, 124(%esp)
-	movl	tiger_table+6144(,%ecx,8), %ebp
-	movl	tiger_table+6148(,%ecx,8), %esi
-	subl	%edx, 120(%esp)
-	movl	%ebx, %edx
-	shrl	$24, %edx
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	132(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%ebp, %eax
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %ebp
-	shrl	$24, %ecx
-	xorl	%ebp, %eax
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%ebp, %edx
-	movl	tiger_table(,%ecx,8), %ebp
-	xorl	%esi, %edx
-	movl	208(%esp), %esi
-	xorl	%ebp, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %ebp
-	movzbl	%al, %ecx
-	movl	204(%esp), %eax
+	movl	%esi, -748(%ebp)
+	movl	-724(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-640(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -752(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-728(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-728(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-624(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-628(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
 	addl	%ecx, %edx
-	shrl	$29, %ebp
-	leal	0(,%esi,8), %ecx
-	addl	%eax, %edx
-	xorl	%eax, %eax
-	movl	%edx, 128(%esp)
-	sall	$3, %edx
-	orl	%ebp, %edx
-	leal	(%esi,%ecx), %ebp
-	cmpl	%ecx, %ebp
-	movl	128(%esp), %esi
-	setb	%al
-	xorl	%edi, 124(%esp)
-	addl	%eax, %edx
-	movl	176(%esp), %ecx
-	xorl	%ecx, 120(%esp)
-	addl	%esi, %edx
-	movl	124(%esp), %eax
-	movzbl	124(%esp),%esi
-	movl	%edx, 112(%esp)
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%esi,8), %edi
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	120(%esp),%eax
-	xorl	%edi, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %edi
-	movl	120(%esp), %eax
-	xorl	%esi, %ecx
-	xorl	%edi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	movl	tiger_table+6148(,%eax,8), %edi
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	xorl	%edi, %edx
-	cmpl	%ecx, %ebp
-	setb	%al
-	subl	%ecx, %ebp
-	addl	%eax, %edx
-	movl	%ebp, 116(%esp)
-	movl	124(%esp), %eax
-	subl	%edx, 112(%esp)
-	movl	%eax, %edx
-	movzbl	%ah, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+6148(,%ecx,8), %ebp
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	120(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %edi
-	shrl	$24, %ecx
-	xorl	%ebp, %edx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%edi, %eax
-	movl	tiger_table+4(,%ecx,8), %edi
-	xorl	%ebp, %edx
-	xorl	%esi, %eax
-	addl	%eax, %ebx
-	xorl	%edi, %edx
-	cmpl	%eax, %ebx
-	movl	132(%esp), %esi
-	setb	%al
-	movl	%ebx, %ecx
-	movzbl	%al, %ebp
-	addl	%ebp, %edx
-	shrl	$29, %ecx
-	addl	%edx, %esi
-	leal	0(,%ebx,8), %edx
-	xorl	%eax, %eax
-	addl	%edx, %ebx
-	leal	0(,%esi,8), %edi
-	orl	%ecx, %edi
-	cmpl	%edx, %ebx
-	setb	%al
-	movl	164(%esp), %ecx
-	addl	%eax, %edi
-	xorl	%ecx, 112(%esp)
-	leal	(%esi,%edi), %ebp
-	movl	172(%esp), %esi
-	xorl	%esi, 116(%esp)
-	movl	%ebp, 108(%esp)
-	movl	116(%esp), %eax
-	movzbl	116(%esp),%edi
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%edi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%edi,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	112(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %edi
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	movl	112(%esp), %esi
-	xorl	%edi, %edx
-	shrl	$16, %esi
-	andl	$255, %esi
-	movl	tiger_table+6144(,%esi,8), %ebp
-	movl	tiger_table+6148(,%esi,8), %edi
-	xorl	%ebp, %ecx
-	xorl	%edi, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	subl	%edx, 108(%esp)
-	movl	116(%esp), %edx
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+6148(,%ecx,8), %ebp
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	112(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %edi
-	shrl	$24, %ecx
-	xorl	%ebp, %edx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%edi, %eax
-	movl	tiger_table(,%ecx,8), %edi
-	xorl	%ebp, %edx
-	xorl	%esi, %edx
-	movl	124(%esp), %esi
-	xorl	%edi, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %edi
-	movzbl	%al, %ebp
-	addl	%ebp, %edx
-	movl	120(%esp), %ebp
-	leal	0(,%esi,8), %ecx
-	shrl	$29, %edi
-	xorl	%eax, %eax
-	addl	%edx, %ebp
-	leal	0(,%ebp,8), %edx
-	orl	%edi, %edx
-	leal	(%esi,%ecx), %edi
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	leal	(%ebp,%edx), %esi
-	movl	%esi, 100(%esp)
-	movl	168(%esp), %ebp
-	movl	160(%esp), %ecx
-	xorl	%ecx, 108(%esp)
-	xorl	%ebp, %ebx
-	movl	%ebx, %eax
-	shrl	$16, %eax
-	movzbl	%bl,%esi
-	andl	$255, %eax
-	movl	tiger_table(,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%esi,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	108(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	108(%esp), %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %edi
-	subl	%edx, 100(%esp)
-	movl	%ebx, %edx
-	movzbl	%bh, %ecx
-	movl	%edi, 104(%esp)
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+6148(,%ecx,8), %ebp
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	108(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %edi
-	shrl	$24, %ecx
-	xorl	%ebp, %edx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%edi, %eax
-	xorl	%ebp, %edx
-	movl	tiger_table(,%ecx,8), %edi
-	xorl	%esi, %edx
-	movl	116(%esp), %esi
-	xorl	%edi, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	movl	%esi, %edi
-	setb	%al
-	movzbl	%al, %ebp
-	leal	0(,%esi,8), %ecx
-	addl	%ebp, %edx
-	movl	112(%esp), %ebp
-	shrl	$29, %edi
-	xorl	%eax, %eax
-	addl	%edx, %ebp
-	leal	0(,%ebp,8), %edx
-	orl	%edi, %edx
-	leal	(%esi,%ecx), %edi
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	movl	152(%esp), %ecx
-	leal	(%ebp,%edx), %esi
-	movl	%esi, 92(%esp)
-	movl	156(%esp), %ebp
-	xorl	%ebp, 104(%esp)
-	xorl	%ecx, 100(%esp)
-	movl	104(%esp), %eax
-	movzbl	104(%esp),%esi
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%esi,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	100(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %ebp
-	movl	100(%esp), %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	movl	tiger_table+6148(,%eax,8), %ebp
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	xorl	%ebp, %edx
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %edi
-	subl	%edx, 92(%esp)
-	movl	104(%esp), %edx
-	movl	%edi, 96(%esp)
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+6148(,%ecx,8), %ebp
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	100(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %edi
-	shrl	$24, %ecx
-	xorl	%ebp, %edx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%edi, %eax
-	movl	tiger_table+4(,%ecx,8), %edi
-	xorl	%ebp, %edx
-	xorl	%esi, %eax
-	addl	%eax, %ebx
-	movl	108(%esp), %esi
-	xorl	%edi, %edx
-	cmpl	%eax, %ebx
-	setb	%al
-	movzbl	%al, %ebp
-	movl	%ebx, %ecx
-	addl	%ebp, %edx
-	addl	%edx, %esi
-	leal	0(,%ebx,8), %edx
-	addl	%edx, %ebx
-	shrl	$29, %ecx
-	xorl	%eax, %eax
-	leal	0(,%esi,8), %edi
-	orl	%ecx, %edi
-	cmpl	%edx, %ebx
-	movl	140(%esp), %ecx
-	setb	%al
-	addl	%eax, %edi
-	leal	(%esi,%edi), %ebp
-	xorl	%ecx, 92(%esp)
-	movl	148(%esp), %esi
-	xorl	%esi, 96(%esp)
-	movl	%ebp, 88(%esp)
-	movl	96(%esp), %eax
-	movzbl	96(%esp),%edi
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table(,%edi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table+4(,%edi,8), %ebp
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movzbl	92(%esp),%eax
-	xorl	%ebp, %edx
-	movl	tiger_table+4096(,%eax,8), %esi
-	movl	tiger_table+4100(,%eax,8), %edi
-	xorl	%eax, %eax
-	xorl	%esi, %ecx
-	movl	92(%esp), %esi
-	xorl	%edi, %edx
-	shrl	$16, %esi
-	andl	$255, %esi
-	movl	tiger_table+6144(,%esi,8), %ebp
-	movl	tiger_table+6148(,%esi,8), %edi
-	xorl	%ebp, %ecx
-	xorl	%edi, %edx
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %ebx
-	subl	%edx, 88(%esp)
-	movl	96(%esp), %edx
-	movzbl	%dh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+6148(,%ecx,8), %ebp
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	92(%esp), %ecx
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movzbl	%ch, %esi
-	movl	tiger_table+2048(,%esi,8), %edi
-	shrl	$24, %ecx
-	xorl	%ebp, %edx
-	movl	tiger_table+2052(,%esi,8), %ebp
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%edi, %eax
-	movl	tiger_table(,%ecx,8), %edi
-	xorl	%ebp, %edx
-	xorl	%esi, %edx
-	movl	104(%esp), %esi
-	xorl	%edi, %eax
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%al
-	movl	%esi, %edi
-	movzbl	%al, %ebp
-	addl	%ebp, %edx
-	movl	100(%esp), %ebp
-	leal	0(,%esi,8), %ecx
-	shrl	$29, %edi
-	xorl	%eax, %eax
-	addl	%edx, %ebp
-	leal	0(,%ebp,8), %edx
-	orl	%edi, %edx
-	leal	(%esi,%ecx), %edi
-	movl	144(%esp), %esi
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	movl	136(%esp), %ecx
-	xorl	%esi, %ebx
-	xorl	%ecx, 88(%esp)
-	movl	%ebx, %eax
-	shrl	$16, %eax
-	movzbl	%bl,%esi
-	andl	$255, %eax
-	addl	%edx, %ebp
-	movl	tiger_table+2048(,%eax,8), %ecx
-	movl	tiger_table(,%esi,8), %edx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%esi,8), %eax
-	xorl	%eax, %edx
-	movzbl	88(%esp),%eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	88(%esp), %eax
-	xorl	%esi, %edx
-	shrl	$16, %eax
-	andl	$255, %eax
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, %edi
-	setb	%al
-	addl	%eax, %edx
-	subl	%ecx, %edi
-	subl	%edx, %ebp
-	movl	%ebx, %edx
-	movzbl	%bh, %ecx
-	shrl	$24, %edx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
-	xorl	%esi, %eax
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	88(%esp), %ecx
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	shrl	$24, %ecx
-	xorl	tiger_table+2048(,%esi,8), %eax
-	xorl	tiger_table+2052(,%esi,8), %edx
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%esi, %eax
-	movl	tiger_table+4(,%ecx,8), %esi
-	xorl	%esi, %edx
-	movl	96(%esp), %esi
-	addl	%eax, %esi
-	cmpl	%eax, %esi
-	setb	%cl
-	movzbl	%cl, %eax
-	movl	92(%esp), %ecx
-	addl	%eax, %edx
-	movl	%esi, %eax
-	shrl	$29, %eax
-	addl	%ecx, %edx
-	movl	%edx, 84(%esp)
+	movl	%edx, -732(%ebp)
 	leal	0(,%esi,8), %ecx
 	addl	%ecx, %esi
-	movl	%esi, 80(%esp)
+	movl	%esi, -736(%ebp)
+	shrl	$29, %eax
 	sall	$3, %edx
 	orl	%eax, %edx
 	xorl	%eax, %eax
 	cmpl	%ecx, %esi
-	setb	%al
-	movl	188(%esp), %esi
-	addl	%eax, %edx
-	movl	84(%esp), %eax
-	movl	184(%esp), %ecx
-	xorl	%esi, %edi
-	addl	%eax, %edx
-	movl	%edx, 76(%esp)
-	movl	%edi, %eax
-	movl	%edi, %esi
-	shrl	$16, %eax
-	andl	$255, %esi
-	andl	$255, %eax
-	xorl	%ecx, %ebp
-	movl	tiger_table(,%esi,8), %edx
-	movl	tiger_table+2048(,%eax,8), %ecx
-	xorl	%edx, %ecx
-	movl	tiger_table+2052(,%eax,8), %edx
-	movl	tiger_table+4(,%esi,8), %eax
-	xorl	%eax, %edx
-	movl	%ebp, %eax
-	andl	$255, %eax
-	movl	tiger_table+4096(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+4100(,%eax,8), %esi
-	movl	%ebp, %eax
-	shrl	$16, %eax
-	andl	$255, %eax
-	xorl	%esi, %edx
-	movl	tiger_table+6144(,%eax,8), %esi
-	xorl	%esi, %ecx
-	movl	tiger_table+6148(,%eax,8), %esi
-	xorl	%eax, %eax
-	xorl	%esi, %edx
-	cmpl	%ecx, 80(%esp)
-	setb	%al
-	addl	%eax, %edx
-	subl	%edx, 76(%esp)
-	movl	%edi, %eax
-	movl	%edi, %edx
-	subl	%ecx, 80(%esp)
-	shrl	$24, %edx
-	movzbl	%ah, %ecx
-	movl	tiger_table+6144(,%ecx,8), %esi
-	movl	tiger_table+4096(,%edx,8), %eax
-	movl	tiger_table+4100(,%edx,8), %edx
+	movl	-732(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	addl	%esi, %edx
+	movl	%edx, -764(%ebp)
+	movl	-668(%ebp), %eax
+	movl	-748(%ebp), %edx
+	movl	-672(%ebp), %ecx
+	movl	-752(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, -756(%ebp)
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -760(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	andl	$2040, %eax
+	movl	(%edi,%esi,8), %ecx
+	movl	2048(%eax,%edi), %edx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-760(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-760(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-736(%ebp), %esi
+	cmpl	%ecx, -736(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -776(%ebp)
+	movl	-756(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-764(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -780(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-760(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-760(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-724(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-728(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -768(%ebp)
+	leal	0(,%esi,8), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -772(%ebp)
+	shrl	$29, %eax
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-768(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-676(%ebp), %eax
+	addl	%esi, %edx
+	movl	-684(%ebp), %ecx
+	movl	%edx, -792(%ebp)
+	movl	-776(%ebp), %edx
+	movl	-780(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -788(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	movl	%edx, -784(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%esi,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-788(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-788(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-772(%ebp), %esi
+	cmpl	%ecx, -772(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -804(%ebp)
+	movl	-784(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-792(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -808(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-788(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-788(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-756(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-760(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -796(%ebp)
+	leal	0(,%esi,8), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -800(%ebp)
+	shrl	$29, %eax
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-796(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-680(%ebp), %eax
+	addl	%esi, %edx
+	movl	-688(%ebp), %ecx
+	movl	%edx, -820(%ebp)
+	movl	-804(%ebp), %edx
+	movl	-808(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -816(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	movl	%edx, -812(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%esi,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-816(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-816(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-800(%ebp), %esi
+	cmpl	%ecx, -800(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -832(%ebp)
+	movl	-812(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-820(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -836(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-816(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-816(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-784(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-788(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -824(%ebp)
+	leal	0(,%esi,8), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -828(%ebp)
+	shrl	$29, %eax
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-824(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-692(%ebp), %eax
+	addl	%esi, %edx
+	movl	-696(%ebp), %ecx
+	movl	%edx, -848(%ebp)
+	movl	-832(%ebp), %edx
+	movl	-836(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -844(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	movl	%edx, -840(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%esi,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-844(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-844(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-828(%ebp), %esi
+	cmpl	%ecx, -828(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -860(%ebp)
+	movl	-840(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-848(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -864(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-844(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-844(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-812(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-816(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -852(%ebp)
+	leal	0(,%esi,8), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -856(%ebp)
+	shrl	$29, %eax
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-852(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-700(%ebp), %eax
+	addl	%esi, %edx
+	movl	-708(%ebp), %ecx
+	movl	%edx, -876(%ebp)
+	movl	-860(%ebp), %edx
+	movl	-864(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -872(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	movl	%edx, -868(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%esi,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-872(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-872(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-856(%ebp), %esi
+	cmpl	%ecx, -856(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -888(%ebp)
+	movl	-868(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-876(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -892(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-872(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-872(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-840(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-844(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -880(%ebp)
+	leal	0(,%esi,8), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -884(%ebp)
+	shrl	$29, %eax
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-880(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-704(%ebp), %eax
+	addl	%esi, %edx
+	movl	-712(%ebp), %ecx
+	movl	%edx, -904(%ebp)
+	movl	-888(%ebp), %edx
+	movl	-892(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -900(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	movl	%edx, -896(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%esi,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-900(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-900(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-884(%ebp), %esi
+	cmpl	%ecx, -884(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -916(%ebp)
+	movl	-896(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-904(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -920(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-900(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-900(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-868(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-872(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -908(%ebp)
+	leal	0(,%esi,8), %ecx
+	addl	%ecx, %esi
+	movl	%esi, -912(%ebp)
+	shrl	$29, %eax
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	movl	-908(%ebp), %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-740(%ebp), %eax
+	addl	%esi, %edx
+	movl	-744(%ebp), %ecx
+	movl	%edx, -932(%ebp)
+	movl	-916(%ebp), %edx
+	movl	-920(%ebp), %esi
+	xorl	%eax, %edx
+	movl	%edx, %eax
+	xorl	%ecx, %esi
+	movl	%esi, -928(%ebp)
+	shrl	$13, %eax
+	movzbl	%dl,%esi
+	movl	%edx, -924(%ebp)
+	andl	$2040, %eax
+	movl	2048(%eax,%edi), %edx
+	movl	(%edi,%esi,8), %ecx
+	movl	2052(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	4(%edi,%esi,8), %edx
+	xorl	%eax, %edx
+	movzbl	-928(%ebp),%eax
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	4100(%eax,%edi), %esi
+	movl	-928(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$13, %eax
+	andl	$2040, %eax
+	movl	6144(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	6148(%eax,%edi), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-912(%ebp), %esi
+	cmpl	%ecx, -912(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	%esi, -940(%ebp)
+	movl	-924(%ebp), %ecx
+	addl	%eax, %edx
+	movl	-932(%ebp), %esi
+	movzbl	%ch, %eax
+	subl	%edx, %esi
+	movl	%esi, -944(%ebp)
+	leal	0(,%eax,8), %esi
+	movl	%ecx, %eax
+	shrl	$24, %eax
+	movl	6144(%esi,%edi), %ecx
+	sall	$3, %eax
+	movl	4096(%eax,%edi), %edx
+	movl	4100(%eax,%edi), %eax
+	xorl	%edx, %ecx
+	movl	6148(%esi,%edi), %edx
+	xorl	%eax, %edx
+	movl	-928(%ebp), %eax
+	movzbl	%ah, %esi
+	leal	0(,%esi,8), %eax
+	movl	2048(%eax,%edi), %esi
+	xorl	%esi, %ecx
+	movl	2052(%eax,%edi), %esi
+	movl	-928(%ebp), %eax
+	xorl	%esi, %edx
+	shrl	$24, %eax
+	movl	(%edi,%eax,8), %esi
+	xorl	%esi, %ecx
+	movl	4(%edi,%eax,8), %esi
+	xorl	%eax, %eax
+	xorl	%esi, %edx
+	movl	-896(%ebp), %esi
+	addl	%ecx, %esi
+	cmpl	%ecx, %esi
+	movl	-900(%ebp), %ecx
+	setb	%al
+	addl	%eax, %edx
+	movl	%esi, %eax
+	addl	%ecx, %edx
+	movl	%edx, -936(%ebp)
+	leal	0(,%esi,8), %ecx
+	shrl	$29, %eax
+	addl	%ecx, %esi
+	sall	$3, %edx
+	orl	%eax, %edx
+	xorl	%eax, %eax
+	cmpl	%ecx, %esi
+	setb	%al
+	addl	%eax, %edx
+	movl	-936(%ebp), %eax
+	movl	-20(%ebp), %ecx
+	addl	%edx, %eax
+	movl	-948(%ebp), %edx
+	xorl	%edx, %esi
+	movl	%esi, -1032(%ebp)
+	movl	-952(%ebp), %esi
+	movl	-960(%ebp), %edx
 	xorl	%esi, %eax
-	movl	tiger_table+6148(,%ecx,8), %esi
-	movl	%ebp, %ecx
-	xorl	%esi, %edx
-	movzbl	%ch, %esi
-	shrl	$24, %ecx
-	xorl	tiger_table+2048(,%esi,8), %eax
-	xorl	tiger_table+2052(,%esi,8), %edx
-	movl	tiger_table(,%ecx,8), %esi
-	xorl	%esi, %eax
-	movl	tiger_table+4(,%ecx,8), %esi
-	addl	%eax, %ebx
-	xorl	%esi, %edx
-	cmpl	%eax, %ebx
-	setb	%cl
-	movl	%ebx, %eax
-	movzbl	%cl, %esi
-	leal	0(,%ebx,8), %ecx
-	addl	%esi, %edx
-	movl	88(%esp), %esi
-	shrl	$29, %eax
-	addl	%ecx, %ebx
-	addl	%edx, %esi
-	leal	0(,%esi,8), %edx
-	orl	%eax, %edx
-	xorl	%eax, %eax
-	cmpl	%ecx, %ebx
-	setb	%al
-	addl	%eax, %edx
-	movl	72(%esp), %ecx
-	movl	68(%esp), %eax
-	leal	(%esi,%edx), %edx
-	xorl	%ecx, %ebx
-	movl	64(%esp), %ecx
-	xorl	%eax, %edx
-	xorl	%eax, %eax
-	movl	496(%esp), %esi
-	cmpl	496(%esp), %edi
-	setb	%al
-	addl	%ecx, %eax
-	subl	%eax, %ebp
-	movl	80(%esp), %ecx
-	subl	%esi, %edi
-	movl	492(%esp), %eax
-	movl	60(%esp), %esi
+	movl	-924(%ebp), %esi
+	movl	%eax, -1036(%ebp)
+	xorl	%eax, %eax
+	cmpl	%ecx, -924(%ebp)
+	setb	%al
+	subl	%ecx, %esi
+	movl	-928(%ebp), %ecx
+	addl	%edx, %eax
+	movl	-964(%ebp), %edx
+	subl	%eax, %ecx
+	movl	-24(%ebp), %eax
+	movl	%ecx, -1040(%ebp)
+	movl	-940(%ebp), %ecx
 	addl	%eax, %ecx
 	xorl	%eax, %eax
-	cmpl	492(%esp), %ecx
-	setb	%al
-	addl	%esi, %eax
-	movl	76(%esp), %esi
-	addl	%esi, %eax
-	movl	532(%esp), %esi
-	movl	%ebx, (%esi)
-	movl	%edx, 4(%esi)
-	movl	%edi, 8(%esi)
-	movl	%ebp, 12(%esi)
-	movl	%ecx, 16(%esi)
-	movl	%eax, 20(%esi)
-	subl	$64, 500(%esp)
-	addl	$64, 524(%esp)
-	cmpl	$63, 500(%esp)
+	cmpl	-24(%ebp), %ecx
+	setb	%al
+	addl	%edx, %eax
+	movl	-944(%ebp), %edx
+	addl	%edx, %eax
+	movl	-1032(%ebp), %edx
+	movl	%eax, -1044(%ebp)
+	movl	16(%ebp), %eax
+	movl	%edx, (%eax)
+	movl	-1036(%ebp), %edx
+	movl	%esi, 8(%eax)
+	movl	%edx, 4(%eax)
+	movl	-1040(%ebp), %esi
+	movl	%ecx, 16(%eax)
+	movl	%esi, 12(%eax)
+	movl	-1044(%ebp), %edx
+	movl	%edx, 20(%eax)
+	subl	$64, -16(%ebp)
+	addl	$64, 8(%ebp)
+	cmpl	$63, -16(%ebp)
 	ja	.L6
 .L8:
-	addl	$504, %esp
+	addl	$1032, %esp
 	popl	%ebx
 	popl	%esi
@@ -4610,252 +5404,341 @@
 	pushl	%edi
 	pushl	%esi
-	pushl	%ebx
-	subl	$84, %esp
-	movl	12(%ebp), %esi
-	movl	8(%ebp), %ebx
-	movl	16(%ebp), %edi
-	cmpl	$63, %esi
+	subl	$72, %esp
+	movl	12(%ebp), %edi
+	movl	8(%ebp), %esi
+	cmpl	$63, %edi
 	jbe	.L33
 .L42:
-	movl	%ebx, (%esp)
-	subl	$64, %esi
-	addl	$64, %ebx
-	movl	%edi, 4(%esp)
+	movl	%esi, (%esp)
+	movl	16(%ebp), %eax
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%eax, 4(%esp)
 	call	tiger_compress
-	cmpl	$63, %esi
-	ja	.L42
+	cmpl	$63, %edi
+	ja	.L132
 .L33:
 	xorl	%ecx, %ecx
-	cmpl	%esi, %ecx
-	jb	.L126
+	cmpl	%edi, %ecx
+	jb	.L140
 .L35:
-	movb	$1, -88(%ecx,%ebp)
-	leal	1(%ecx), %eax
-	testb	$7, %al
+	movb	$1, -72(%ecx,%ebp)
+	leal	1(%ecx), %edx
+	testb	$7, %dl
 	je	.L37
 .L44:
-	movb	$0, -88(%ebp,%eax)
-	incl	%eax
-	testb	$7, %al
-	jne	.L44
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	jne	.L135
 .L37:
-	cmpl	$56, %eax
+	cmpl	$56, %edx
 	jbe	.L23
-	cmpl	$63, %eax
-	jbe	.L127
+	cmpl	$63, %edx
+	jbe	.L141
 .L39:
-	movl	%edi, 4(%esp)
-	leal	-88(%ebp), %eax
-	movl	%eax, (%esp)
+	movl	16(%ebp), %ecx
+	leal	-72(%ebp), %edx
+	movl	%edx, (%esp)
+	movl	%ecx, 4(%esp)
 	call	tiger_compress
-	xorl	%eax, %eax
+	xorl	%edx, %edx
 .L23:
-	cmpl	$55, %eax
-	ja	.L41
-	movb	$0, -88(%ebp,%eax)
-	movl	%eax, %ecx
-	leal	1(%eax), %edx
-	notl	%ecx
-	andl	$7, %ecx
 	cmpl	$55, %edx
 	ja	.L41
-	testl	%ecx, %ecx
+	movb	$0, -72(%ebp,%edx)
+	movl	%edx, %eax
+	leal	1(%edx), %ecx
+	notl	%eax
+	andl	$7, %eax
+	cmpl	$55, %ecx
+	ja	.L41
+	testl	%eax, %eax
 	je	.L46
-	cmpl	$1, %ecx
-	je	.L129
-	cmpl	$2, %ecx
-	je	.L130
-	cmpl	$3, %ecx
-	je	.L131
-	cmpl	$4, %ecx
-	je	.L132
-	cmpl	$5, %ecx
-	je	.L133
-	cmpl	$6, %ecx
-	je	.L134
-	movb	$0, -88(%ebp,%edx)
-	leal	2(%eax), %edx
-.L134:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L133:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L132:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L131:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L130:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L129:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-	cmpl	$55, %edx
+	cmpl	$1, %eax
+	je	.L143
+	cmpl	$2, %eax
+	je	.L144
+	cmpl	$3, %eax
+	je	.L145
+	cmpl	$4, %eax
+	je	.L146
+	cmpl	$5, %eax
+	je	.L147
+	cmpl	$6, %eax
+	je	.L148
+	movb	$0, -72(%ebp,%ecx)
+	leal	2(%edx), %ecx
+.L148:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L147:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L146:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L145:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L144:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L143:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+	cmpl	$55, %ecx
 	ja	.L41
 .L46:
-	movb	$0, -88(%ebp,%edx)
-	movb	$0, -87(%edx,%ebp)
-	movb	$0, -86(%edx,%ebp)
-	movb	$0, -85(%edx,%ebp)
-	movb	$0, -84(%edx,%ebp)
-	movb	$0, -83(%edx,%ebp)
-	movb	$0, -82(%edx,%ebp)
-	movb	$0, -81(%edx,%ebp)
-	addl	$8, %edx
-	cmpl	$55, %edx
+	movb	$0, -72(%ebp,%ecx)
+	movb	$0, -71(%ecx,%ebp)
+	movb	$0, -70(%ecx,%ebp)
+	movb	$0, -69(%ecx,%ebp)
+	movb	$0, -68(%ecx,%ebp)
+	movb	$0, -67(%ecx,%ebp)
+	movb	$0, -66(%ecx,%ebp)
+	movb	$0, -65(%ecx,%ebp)
+	addl	$8, %ecx
+	cmpl	$55, %ecx
 	ja	.L41
 	jmp	.L46
-.L127:
-	movb	$0, -88(%ebp,%eax)
-	movl	%eax, %ecx
-	leal	1(%eax), %edx
-	notl	%ecx
-	andl	$7, %ecx
-	cmpl	$63, %edx
+.L141:
+	movb	$0, -72(%ebp,%edx)
+	movl	%edx, %eax
+	leal	1(%edx), %ecx
+	notl	%eax
+	andl	$7, %eax
+	cmpl	$63, %ecx
 	ja	.L39
-	testl	%ecx, %ecx
+	testl	%eax, %eax
 	je	.L45
-	cmpl	$1, %ecx
-	je	.L135
-	cmpl	$2, %ecx
-	je	.L136
-	cmpl	$3, %ecx
-	je	.L137
-	cmpl	$4, %ecx
-	je	.L138
-	cmpl	$5, %ecx
-	je	.L139
-	cmpl	$6, %ecx
-	je	.L140
-	movb	$0, -88(%ebp,%edx)
-	leal	2(%eax), %edx
-.L140:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L139:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L138:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L137:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L136:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-.L135:
-	movb	$0, -88(%ebp,%edx)
-	incl	%edx
-	cmpl	$63, %edx
+	cmpl	$1, %eax
+	je	.L149
+	cmpl	$2, %eax
+	je	.L150
+	cmpl	$3, %eax
+	je	.L151
+	cmpl	$4, %eax
+	je	.L152
+	cmpl	$5, %eax
+	je	.L153
+	cmpl	$6, %eax
+	je	.L154
+	movb	$0, -72(%ebp,%ecx)
+	leal	2(%edx), %ecx
+.L154:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L153:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L152:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L151:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L150:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+.L149:
+	movb	$0, -72(%ebp,%ecx)
+	incl	%ecx
+	cmpl	$63, %ecx
 	ja	.L39
 .L45:
-	movb	$0, -88(%ebp,%edx)
-	movb	$0, -87(%edx,%ebp)
-	movb	$0, -86(%edx,%ebp)
-	movb	$0, -85(%edx,%ebp)
-	movb	$0, -84(%edx,%ebp)
-	movb	$0, -83(%edx,%ebp)
-	movb	$0, -82(%edx,%ebp)
-	movb	$0, -81(%edx,%ebp)
-	addl	$8, %edx
-	cmpl	$63, %edx
+	movb	$0, -72(%ebp,%ecx)
+	movb	$0, -71(%ecx,%ebp)
+	movb	$0, -70(%ecx,%ebp)
+	movb	$0, -69(%ecx,%ebp)
+	movb	$0, -68(%ecx,%ebp)
+	movb	$0, -67(%ecx,%ebp)
+	movb	$0, -66(%ecx,%ebp)
+	movb	$0, -65(%ecx,%ebp)
+	addl	$8, %ecx
+	cmpl	$63, %ecx
 	ja	.L39
 	jmp	.L45
-.L126:
+.L135:
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	movb	$0, -72(%ebp,%edx)
+	incl	%edx
+	testb	$7, %dl
+	je	.L37
+	jmp	.L44
+.L140:
 	movl	%ecx, %eax
 	notl	%eax
-	leal	(%eax,%esi), %edx
-	movzbl	(%ebx,%ecx), %eax
+	addl	%edi, %eax
+	movl	%eax, %edx
 	andl	$7, %edx
-	movb	%al, -88(%ebp,%ecx)
+	movzbl	(%esi,%ecx), %eax
+	movb	%al, -72(%ebp,%ecx)
 	incl	%ecx
-	cmpl	%esi, %ecx
+	cmpl	%edi, %ecx
 	jae	.L35
 	testl	%edx, %edx
 	je	.L43
 	cmpl	$1, %edx
-	je	.L141
+	je	.L155
 	cmpl	$2, %edx
-	je	.L142
+	je	.L156
 	cmpl	$3, %edx
-	je	.L143
+	je	.L157
 	cmpl	$4, %edx
-	je	.L144
+	je	.L158
 	cmpl	$5, %edx
-	je	.L145
+	je	.L159
 	cmpl	$6, %edx
-	je	.L146
-	movzbl	(%ebx,%ecx), %edx
-	movb	%dl, -88(%ebp,%ecx)
+	je	.L160
+	movzbl	(%esi,%ecx), %edx
+	movb	%dl, -72(%ebp,%ecx)
 	incl	%ecx
-.L146:
-	movzbl	(%ebx,%ecx), %eax
-	movb	%al, -88(%ebp,%ecx)
+.L160:
+	movzbl	(%esi,%ecx), %eax
+	movb	%al, -72(%ebp,%ecx)
 	incl	%ecx
-.L145:
-	movzbl	(%ebx,%ecx), %edx
-	movb	%dl, -88(%ebp,%ecx)
+.L159:
+	movzbl	(%esi,%ecx), %edx
+	movb	%dl, -72(%ebp,%ecx)
 	incl	%ecx
-.L144:
-	movzbl	(%ebx,%ecx), %eax
-	movb	%al, -88(%ebp,%ecx)
+.L158:
+	movzbl	(%esi,%ecx), %eax
+	movb	%al, -72(%ebp,%ecx)
 	incl	%ecx
-.L143:
-	movzbl	(%ebx,%ecx), %edx
-	movb	%dl, -88(%ebp,%ecx)
+.L157:
+	movzbl	(%esi,%ecx), %edx
+	movb	%dl, -72(%ebp,%ecx)
 	incl	%ecx
-.L142:
-	movzbl	(%ebx,%ecx), %eax
-	movb	%al, -88(%ebp,%ecx)
+.L156:
+	movzbl	(%esi,%ecx), %eax
+	movb	%al, -72(%ebp,%ecx)
 	incl	%ecx
-.L141:
-	movzbl	(%ebx,%ecx), %edx
-	movb	%dl, -88(%ebp,%ecx)
+.L155:
+	movzbl	(%esi,%ecx), %edx
+	movb	%dl, -72(%ebp,%ecx)
 	incl	%ecx
-	cmpl	%esi, %ecx
+	cmpl	%edi, %ecx
 	jae	.L35
 .L43:
-	movzbl	(%ebx,%ecx), %edx
-	movb	%dl, -88(%ebp,%ecx)
+	movzbl	(%esi,%ecx), %edx
+	movb	%dl, -72(%ebp,%ecx)
 	leal	1(%ecx), %edx
-	movzbl	(%ebx,%edx), %eax
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	movb	%al, -72(%ebp,%edx)
 	leal	2(%ecx), %edx
-	movzbl	(%ebx,%edx), %eax
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	movb	%al, -72(%ebp,%edx)
 	leal	3(%ecx), %edx
-	movzbl	(%ebx,%edx), %eax
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	movb	%al, -72(%ebp,%edx)
 	leal	4(%ecx), %edx
-	movzbl	(%ebx,%edx), %eax
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	movb	%al, -72(%ebp,%edx)
 	leal	5(%ecx), %edx
-	movzbl	(%ebx,%edx), %eax
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	movb	%al, -72(%ebp,%edx)
 	leal	6(%ecx), %edx
-	movzbl	(%ebx,%edx), %eax
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	movb	%al, -72(%ebp,%edx)
 	leal	7(%ecx), %edx
 	addl	$8, %ecx
-	movzbl	(%ebx,%edx), %eax
-	cmpl	%esi, %ecx
-	movb	%al, -88(%ebp,%edx)
+	movzbl	(%esi,%edx), %eax
+	cmpl	%edi, %ecx
+	movb	%al, -72(%ebp,%edx)
 	jae	.L35
 	jmp	.L43
+.L132:
+	movl	%esi, (%esp)
+	movl	16(%ebp), %ecx
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%ecx, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	movl	%esi, (%esp)
+	movl	16(%ebp), %eax
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%eax, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	movl	%esi, (%esp)
+	movl	16(%ebp), %edx
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%edx, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	movl	%esi, (%esp)
+	movl	16(%ebp), %ecx
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%ecx, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	movl	%esi, (%esp)
+	movl	16(%ebp), %eax
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%eax, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	movl	%esi, (%esp)
+	movl	16(%ebp), %edx
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%edx, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	movl	%esi, (%esp)
+	movl	16(%ebp), %ecx
+	subl	$64, %edi
+	addl	$64, %esi
+	movl	%ecx, 4(%esp)
+	call	tiger_compress
+	cmpl	$63, %edi
+	jbe	.L33
+	jmp	.L42
 .L41:
+	movl	$0, -12(%ebp)
+	movl	12(%ebp), %eax
+	leal	-72(%ebp), %esi
+	movl	%esi, (%esp)
+	movl	16(%ebp), %edi
+	sall	$3, %eax
 	movl	%edi, 4(%esp)
-	movl	12(%ebp), %ebx
-	leal	-88(%ebp), %ecx
-	movl	$0, -28(%ebp)
-	movl	%ecx, (%esp)
-	sall	$3, %ebx
-	movl	%ebx, -32(%ebp)
+	movl	%eax, -16(%ebp)
 	call	tiger_compress
-	addl	$84, %esp
-	popl	%ebx
+	addl	$72, %esp
 	popl	%esi
 	popl	%edi
@@ -4863,4 +5746,11 @@
 	ret
 	.size	tiger, .-tiger
+	.section	.gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
+.globl __i686.get_pc_thunk.bx
+	.hidden	__i686.get_pc_thunk.bx
+	.type	__i686.get_pc_thunk.bx, @function
+__i686.get_pc_thunk.bx:
+	movl	(%esp), %ebx
+	ret
 	.section	.note.GNU-stack,"",@progbits
 	.ident	"GCC: (GNU) 3.4.0"
