642888:	33 54 24 04          	xor    0x4(%esp),%edx
64288c:	83 c4 08             	add    $0x8,%esp
64288f:	52                   	push   %edx
642890:	50                   	push   %eax
642891:	8b 44 24 20          	mov    0x20(%esp),%eax
642895:	8b 54 24 24          	mov    0x24(%esp),%edx
642899:	23 44 24 28          	and    0x28(%esp),%eax
64289d:	23 54 24 2c          	and    0x2c(%esp),%edx
6428a1:	33 04 24             	xor    (%esp),%eax
6428a4:	33 54 24 04          	xor    0x4(%esp),%edx
6428a8:	83 c4 08             	add    $0x8,%esp
6428ab:	03 04 24             	add    (%esp),%eax
6428ae:	13 54 24 04          	adc    0x4(%esp),%edx
6428b2:	83 c4 08             	add    $0x8,%esp
6428b5:	89 44 24 48          	mov    %eax,0x48(%esp)
6428b9:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6428bd:	8b 44 24 20          	mov    0x20(%esp),%eax
6428c1:	8b 54 24 24          	mov    0x24(%esp),%edx
6428c5:	03 44 24 40          	add    0x40(%esp),%eax
6428c9:	13 54 24 44          	adc    0x44(%esp),%edx
6428cd:	89 44 24 20          	mov    %eax,0x20(%esp)
6428d1:	89 54 24 24          	mov    %edx,0x24(%esp)
6428d5:	8b 44 24 40          	mov    0x40(%esp),%eax
6428d9:	8b 54 24 44          	mov    0x44(%esp),%edx
6428dd:	03 44 24 48          	add    0x48(%esp),%eax
6428e1:	13 54 24 4c          	adc    0x4c(%esp),%edx
6428e5:	89 04 24             	mov    %eax,(%esp)
6428e8:	89 54 24 04          	mov    %edx,0x4(%esp)
6428ec:	8b 44 24 20          	mov    0x20(%esp),%eax
6428f0:	8b 54 24 24          	mov    0x24(%esp),%edx
6428f4:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6428f8:	c1 ea 0e             	shr    $0xe,%edx
6428fb:	52                   	push   %edx
6428fc:	50                   	push   %eax
6428fd:	8b 54 24 28          	mov    0x28(%esp),%edx
642901:	c1 e2 12             	shl    $0x12,%edx
642904:	33 c0                	xor    %eax,%eax
642906:	0b 04 24             	or     (%esp),%eax
642909:	0b 54 24 04          	or     0x4(%esp),%edx
64290d:	83 c4 08             	add    $0x8,%esp
642910:	52                   	push   %edx
642911:	50                   	push   %eax
642912:	8b 44 24 28          	mov    0x28(%esp),%eax
642916:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64291a:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64291e:	c1 ea 12             	shr    $0x12,%edx
642921:	52                   	push   %edx
642922:	50                   	push   %eax
642923:	8b 54 24 30          	mov    0x30(%esp),%edx
642927:	c1 e2 0e             	shl    $0xe,%edx
64292a:	33 c0                	xor    %eax,%eax
64292c:	0b 04 24             	or     (%esp),%eax
64292f:	0b 54 24 04          	or     0x4(%esp),%edx
642933:	83 c4 08             	add    $0x8,%esp
642936:	33 04 24             	xor    (%esp),%eax
642939:	33 54 24 04          	xor    0x4(%esp),%edx
64293d:	83 c4 08             	add    $0x8,%esp
642940:	52                   	push   %edx
642941:	50                   	push   %eax
642942:	8b 44 24 2c          	mov    0x2c(%esp),%eax
642946:	c1 e8 09             	shr    $0x9,%eax
642949:	33 d2                	xor    %edx,%edx
64294b:	52                   	push   %edx
64294c:	50                   	push   %eax
64294d:	8b 44 24 30          	mov    0x30(%esp),%eax
642951:	8b 54 24 34          	mov    0x34(%esp),%edx
642955:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642959:	c1 e0 17             	shl    $0x17,%eax
64295c:	0b 04 24             	or     (%esp),%eax
64295f:	0b 54 24 04          	or     0x4(%esp),%edx
642963:	83 c4 08             	add    $0x8,%esp
642966:	33 04 24             	xor    (%esp),%eax
642969:	33 54 24 04          	xor    0x4(%esp),%edx
64296d:	83 c4 08             	add    $0x8,%esp
642970:	03 44 24 38          	add    0x38(%esp),%eax
642974:	13 54 24 3c          	adc    0x3c(%esp),%edx
642978:	52                   	push   %edx
642979:	50                   	push   %eax
64297a:	8b 44 24 28          	mov    0x28(%esp),%eax
64297e:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642982:	23 44 24 30          	and    0x30(%esp),%eax
642986:	23 54 24 34          	and    0x34(%esp),%edx
64298a:	52                   	push   %edx
64298b:	50                   	push   %eax
64298c:	8b 44 24 30          	mov    0x30(%esp),%eax
642990:	8b 54 24 34          	mov    0x34(%esp),%edx
642994:	f7 d0                	not    %eax
642996:	f7 d2                	not    %edx
642998:	23 44 24 40          	and    0x40(%esp),%eax
64299c:	23 54 24 44          	and    0x44(%esp),%edx
6429a0:	33 04 24             	xor    (%esp),%eax
6429a3:	33 54 24 04          	xor    0x4(%esp),%edx
6429a7:	83 c4 08             	add    $0x8,%esp
6429aa:	03 04 24             	add    (%esp),%eax
6429ad:	13 54 24 04          	adc    0x4(%esp),%edx
6429b1:	83 c4 08             	add    $0x8,%esp
6429b4:	05 ab df 66 ee       	add    $0xee66dfab,%eax
6429b9:	81 d2 52 51 3e 98    	adc    $0x983e5152,%edx
6429bf:	03 84 24 10 01 00 00 	add    0x110(%esp),%eax
6429c6:	13 94 24 14 01 00 00 	adc    0x114(%esp),%edx
6429cd:	89 44 24 40          	mov    %eax,0x40(%esp)
6429d1:	89 54 24 44          	mov    %edx,0x44(%esp)
6429d5:	8b 04 24             	mov    (%esp),%eax
6429d8:	8b 54 24 04          	mov    0x4(%esp),%edx
6429dc:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6429e0:	c1 ea 1c             	shr    $0x1c,%edx
6429e3:	52                   	push   %edx
6429e4:	50                   	push   %eax
6429e5:	8b 54 24 08          	mov    0x8(%esp),%edx
6429e9:	c1 e2 04             	shl    $0x4,%edx
6429ec:	33 c0                	xor    %eax,%eax
6429ee:	0b 04 24             	or     (%esp),%eax
6429f1:	0b 54 24 04          	or     0x4(%esp),%edx
6429f5:	83 c4 08             	add    $0x8,%esp
6429f8:	52                   	push   %edx
6429f9:	50                   	push   %eax
6429fa:	8b 44 24 0c          	mov    0xc(%esp),%eax
6429fe:	c1 e8 02             	shr    $0x2,%eax
642a01:	33 d2                	xor    %edx,%edx
642a03:	52                   	push   %edx
642a04:	50                   	push   %eax
642a05:	8b 44 24 10          	mov    0x10(%esp),%eax
642a09:	8b 54 24 14          	mov    0x14(%esp),%edx
642a0d:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642a11:	c1 e0 1e             	shl    $0x1e,%eax
642a14:	0b 04 24             	or     (%esp),%eax
642a17:	0b 54 24 04          	or     0x4(%esp),%edx
642a1b:	83 c4 08             	add    $0x8,%esp
642a1e:	33 04 24             	xor    (%esp),%eax
642a21:	33 54 24 04          	xor    0x4(%esp),%edx
642a25:	83 c4 08             	add    $0x8,%esp
642a28:	52                   	push   %edx
642a29:	50                   	push   %eax
642a2a:	8b 44 24 0c          	mov    0xc(%esp),%eax
642a2e:	c1 e8 07             	shr    $0x7,%eax
642a31:	33 d2                	xor    %edx,%edx
642a33:	52                   	push   %edx
642a34:	50                   	push   %eax
642a35:	8b 44 24 10          	mov    0x10(%esp),%eax
642a39:	8b 54 24 14          	mov    0x14(%esp),%edx
642a3d:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642a41:	c1 e0 19             	shl    $0x19,%eax
642a44:	0b 04 24             	or     (%esp),%eax
642a47:	0b 54 24 04          	or     0x4(%esp),%edx
642a4b:	83 c4 08             	add    $0x8,%esp
642a4e:	33 04 24             	xor    (%esp),%eax
642a51:	33 54 24 04          	xor    0x4(%esp),%edx
642a55:	83 c4 08             	add    $0x8,%esp
642a58:	52                   	push   %edx
642a59:	50                   	push   %eax
642a5a:	8b 44 24 08          	mov    0x8(%esp),%eax
642a5e:	8b 54 24 0c          	mov    0xc(%esp),%edx
642a62:	23 44 24 10          	and    0x10(%esp),%eax
642a66:	23 54 24 14          	and    0x14(%esp),%edx
642a6a:	52                   	push   %edx
642a6b:	50                   	push   %eax
642a6c:	8b 44 24 10          	mov    0x10(%esp),%eax
642a70:	8b 54 24 14          	mov    0x14(%esp),%edx
642a74:	23 44 24 20          	and    0x20(%esp),%eax
642a78:	23 54 24 24          	and    0x24(%esp),%edx
642a7c:	33 04 24             	xor    (%esp),%eax
642a7f:	33 54 24 04          	xor    0x4(%esp),%edx
642a83:	83 c4 08             	add    $0x8,%esp
642a86:	52                   	push   %edx
642a87:	50                   	push   %eax
642a88:	8b 44 24 18          	mov    0x18(%esp),%eax
642a8c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642a90:	23 44 24 20          	and    0x20(%esp),%eax
642a94:	23 54 24 24          	and    0x24(%esp),%edx
642a98:	33 04 24             	xor    (%esp),%eax
642a9b:	33 54 24 04          	xor    0x4(%esp),%edx
642a9f:	83 c4 08             	add    $0x8,%esp
642aa2:	03 04 24             	add    (%esp),%eax
642aa5:	13 54 24 04          	adc    0x4(%esp),%edx
642aa9:	83 c4 08             	add    $0x8,%esp
642aac:	89 44 24 48          	mov    %eax,0x48(%esp)
642ab0:	89 54 24 4c          	mov    %edx,0x4c(%esp)
642ab4:	8b 44 24 18          	mov    0x18(%esp),%eax
642ab8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642abc:	03 44 24 40          	add    0x40(%esp),%eax
642ac0:	13 54 24 44          	adc    0x44(%esp),%edx
642ac4:	89 44 24 18          	mov    %eax,0x18(%esp)
642ac8:	89 54 24 1c          	mov    %edx,0x1c(%esp)
642acc:	8b 44 24 40          	mov    0x40(%esp),%eax
642ad0:	8b 54 24 44          	mov    0x44(%esp),%edx
642ad4:	03 44 24 48          	add    0x48(%esp),%eax
642ad8:	13 54 24 4c          	adc    0x4c(%esp),%edx
642adc:	89 44 24 38          	mov    %eax,0x38(%esp)
642ae0:	89 54 24 3c          	mov    %edx,0x3c(%esp)
642ae4:	8b 44 24 18          	mov    0x18(%esp),%eax
642ae8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642aec:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
642af0:	c1 ea 0e             	shr    $0xe,%edx
642af3:	52                   	push   %edx
642af4:	50                   	push   %eax
642af5:	8b 54 24 20          	mov    0x20(%esp),%edx
642af9:	c1 e2 12             	shl    $0x12,%edx
642afc:	33 c0                	xor    %eax,%eax
642afe:	0b 04 24             	or     (%esp),%eax
642b01:	0b 54 24 04          	or     0x4(%esp),%edx
642b05:	83 c4 08             	add    $0x8,%esp
642b08:	52                   	push   %edx
642b09:	50                   	push   %eax
642b0a:	8b 44 24 20          	mov    0x20(%esp),%eax
642b0e:	8b 54 24 24          	mov    0x24(%esp),%edx
642b12:	0f ac d0 12          	shrd   $0x12,%edx,%eax
642b16:	c1 ea 12             	shr    $0x12,%edx
642b19:	52                   	push   %edx
642b1a:	50                   	push   %eax
642b1b:	8b 54 24 28          	mov    0x28(%esp),%edx
642b1f:	c1 e2 0e             	shl    $0xe,%edx
642b22:	33 c0                	xor    %eax,%eax
642b24:	0b 04 24             	or     (%esp),%eax
642b27:	0b 54 24 04          	or     0x4(%esp),%edx
642b2b:	83 c4 08             	add    $0x8,%esp
642b2e:	33 04 24             	xor    (%esp),%eax
642b31:	33 54 24 04          	xor    0x4(%esp),%edx
642b35:	83 c4 08             	add    $0x8,%esp
642b38:	52                   	push   %edx
642b39:	50                   	push   %eax
642b3a:	8b 44 24 24          	mov    0x24(%esp),%eax
642b3e:	c1 e8 09             	shr    $0x9,%eax
642b41:	33 d2                	xor    %edx,%edx
642b43:	52                   	push   %edx
642b44:	50                   	push   %eax
642b45:	8b 44 24 28          	mov    0x28(%esp),%eax
642b49:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642b4d:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642b51:	c1 e0 17             	shl    $0x17,%eax
642b54:	0b 04 24             	or     (%esp),%eax
642b57:	0b 54 24 04          	or     0x4(%esp),%edx
642b5b:	83 c4 08             	add    $0x8,%esp
642b5e:	33 04 24             	xor    (%esp),%eax
642b61:	33 54 24 04          	xor    0x4(%esp),%edx
642b65:	83 c4 08             	add    $0x8,%esp
642b68:	03 44 24 30          	add    0x30(%esp),%eax
642b6c:	13 54 24 34          	adc    0x34(%esp),%edx
642b70:	52                   	push   %edx
642b71:	50                   	push   %eax
642b72:	8b 44 24 20          	mov    0x20(%esp),%eax
642b76:	8b 54 24 24          	mov    0x24(%esp),%edx
642b7a:	23 44 24 28          	and    0x28(%esp),%eax
642b7e:	23 54 24 2c          	and    0x2c(%esp),%edx
642b82:	52                   	push   %edx
642b83:	50                   	push   %eax
642b84:	8b 44 24 28          	mov    0x28(%esp),%eax
642b88:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642b8c:	f7 d0                	not    %eax
642b8e:	f7 d2                	not    %edx
642b90:	23 44 24 38          	and    0x38(%esp),%eax
642b94:	23 54 24 3c          	and    0x3c(%esp),%edx
642b98:	33 04 24             	xor    (%esp),%eax
642b9b:	33 54 24 04          	xor    0x4(%esp),%edx
642b9f:	83 c4 08             	add    $0x8,%esp
642ba2:	03 04 24             	add    (%esp),%eax
642ba5:	13 54 24 04          	adc    0x4(%esp),%edx
642ba9:	83 c4 08             	add    $0x8,%esp
642bac:	05 10 32 b4 2d       	add    $0x2db43210,%eax
642bb1:	81 d2 6d c6 31 a8    	adc    $0xa831c66d,%edx
642bb7:	03 84 24 18 01 00 00 	add    0x118(%esp),%eax
642bbe:	13 94 24 1c 01 00 00 	adc    0x11c(%esp),%edx
642bc5:	89 44 24 40          	mov    %eax,0x40(%esp)
642bc9:	89 54 24 44          	mov    %edx,0x44(%esp)
642bcd:	8b 44 24 38          	mov    0x38(%esp),%eax
642bd1:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642bd5:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
642bd9:	c1 ea 1c             	shr    $0x1c,%edx
642bdc:	52                   	push   %edx
642bdd:	50                   	push   %eax
642bde:	8b 54 24 40          	mov    0x40(%esp),%edx
642be2:	c1 e2 04             	shl    $0x4,%edx
642be5:	33 c0                	xor    %eax,%eax
642be7:	0b 04 24             	or     (%esp),%eax
642bea:	0b 54 24 04          	or     0x4(%esp),%edx
642bee:	83 c4 08             	add    $0x8,%esp
642bf1:	52                   	push   %edx
642bf2:	50                   	push   %eax
642bf3:	8b 44 24 44          	mov    0x44(%esp),%eax
642bf7:	c1 e8 02             	shr    $0x2,%eax
642bfa:	33 d2                	xor    %edx,%edx
642bfc:	52                   	push   %edx
642bfd:	50                   	push   %eax
642bfe:	8b 44 24 48          	mov    0x48(%esp),%eax
642c02:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642c06:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642c0a:	c1 e0 1e             	shl    $0x1e,%eax
642c0d:	0b 04 24             	or     (%esp),%eax
642c10:	0b 54 24 04          	or     0x4(%esp),%edx
642c14:	83 c4 08             	add    $0x8,%esp
642c17:	33 04 24             	xor    (%esp),%eax
642c1a:	33 54 24 04          	xor    0x4(%esp),%edx
642c1e:	83 c4 08             	add    $0x8,%esp
642c21:	52                   	push   %edx
642c22:	50                   	push   %eax
642c23:	8b 44 24 44          	mov    0x44(%esp),%eax
642c27:	c1 e8 07             	shr    $0x7,%eax
642c2a:	33 d2                	xor    %edx,%edx
642c2c:	52                   	push   %edx
642c2d:	50                   	push   %eax
642c2e:	8b 44 24 48          	mov    0x48(%esp),%eax
642c32:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642c36:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642c3a:	c1 e0 19             	shl    $0x19,%eax
642c3d:	0b 04 24             	or     (%esp),%eax
642c40:	0b 54 24 04          	or     0x4(%esp),%edx
642c44:	83 c4 08             	add    $0x8,%esp
642c47:	33 04 24             	xor    (%esp),%eax
642c4a:	33 54 24 04          	xor    0x4(%esp),%edx
642c4e:	83 c4 08             	add    $0x8,%esp
642c51:	52                   	push   %edx
642c52:	50                   	push   %eax
642c53:	8b 44 24 40          	mov    0x40(%esp),%eax
642c57:	8b 54 24 44          	mov    0x44(%esp),%edx
642c5b:	23 44 24 08          	and    0x8(%esp),%eax
642c5f:	23 54 24 0c          	and    0xc(%esp),%edx
642c63:	52                   	push   %edx
642c64:	50                   	push   %eax
642c65:	8b 44 24 48          	mov    0x48(%esp),%eax
642c69:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642c6d:	23 44 24 18          	and    0x18(%esp),%eax
642c71:	23 54 24 1c          	and    0x1c(%esp),%edx
642c75:	33 04 24             	xor    (%esp),%eax
642c78:	33 54 24 04          	xor    0x4(%esp),%edx
642c7c:	83 c4 08             	add    $0x8,%esp
642c7f:	52                   	push   %edx
642c80:	50                   	push   %eax
642c81:	8b 44 24 10          	mov    0x10(%esp),%eax
642c85:	8b 54 24 14          	mov    0x14(%esp),%edx
642c89:	23 44 24 18          	and    0x18(%esp),%eax
642c8d:	23 54 24 1c          	and    0x1c(%esp),%edx
642c91:	33 04 24             	xor    (%esp),%eax
642c94:	33 54 24 04          	xor    0x4(%esp),%edx
642c98:	83 c4 08             	add    $0x8,%esp
642c9b:	03 04 24             	add    (%esp),%eax
642c9e:	13 54 24 04          	adc    0x4(%esp),%edx
642ca2:	83 c4 08             	add    $0x8,%esp
642ca5:	89 44 24 48          	mov    %eax,0x48(%esp)
642ca9:	89 54 24 4c          	mov    %edx,0x4c(%esp)
642cad:	8b 44 24 10          	mov    0x10(%esp),%eax
642cb1:	8b 54 24 14          	mov    0x14(%esp),%edx
642cb5:	03 44 24 40          	add    0x40(%esp),%eax
642cb9:	13 54 24 44          	adc    0x44(%esp),%edx
642cbd:	89 44 24 10          	mov    %eax,0x10(%esp)
642cc1:	89 54 24 14          	mov    %edx,0x14(%esp)
642cc5:	8b 44 24 40          	mov    0x40(%esp),%eax
642cc9:	8b 54 24 44          	mov    0x44(%esp),%edx
642ccd:	03 44 24 48          	add    0x48(%esp),%eax
642cd1:	13 54 24 4c          	adc    0x4c(%esp),%edx
642cd5:	89 44 24 30          	mov    %eax,0x30(%esp)
642cd9:	89 54 24 34          	mov    %edx,0x34(%esp)