640876:	0b 54 24 04          	or     0x4(%esp),%edx
64087a:	83 c4 08             	add    $0x8,%esp
64087d:	52                   	push   %edx
64087e:	50                   	push   %eax
64087f:	8b 44 24 14          	mov    0x14(%esp),%eax
640883:	c1 e8 02             	shr    $0x2,%eax
640886:	33 d2                	xor    %edx,%edx
640888:	52                   	push   %edx
640889:	50                   	push   %eax
64088a:	8b 44 24 18          	mov    0x18(%esp),%eax
64088e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
640892:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
640896:	c1 e0 1e             	shl    $0x1e,%eax
640899:	0b 04 24             	or     (%esp),%eax
64089c:	0b 54 24 04          	or     0x4(%esp),%edx
6408a0:	83 c4 08             	add    $0x8,%esp
6408a3:	33 04 24             	xor    (%esp),%eax
6408a6:	33 54 24 04          	xor    0x4(%esp),%edx
6408aa:	83 c4 08             	add    $0x8,%esp
6408ad:	52                   	push   %edx
6408ae:	50                   	push   %eax
6408af:	8b 44 24 14          	mov    0x14(%esp),%eax
6408b3:	c1 e8 07             	shr    $0x7,%eax
6408b6:	33 d2                	xor    %edx,%edx
6408b8:	52                   	push   %edx
6408b9:	50                   	push   %eax
6408ba:	8b 44 24 18          	mov    0x18(%esp),%eax
6408be:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6408c2:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6408c6:	c1 e0 19             	shl    $0x19,%eax
6408c9:	0b 04 24             	or     (%esp),%eax
6408cc:	0b 54 24 04          	or     0x4(%esp),%edx
6408d0:	83 c4 08             	add    $0x8,%esp
6408d3:	33 04 24             	xor    (%esp),%eax
6408d6:	33 54 24 04          	xor    0x4(%esp),%edx
6408da:	83 c4 08             	add    $0x8,%esp
6408dd:	52                   	push   %edx
6408de:	50                   	push   %eax
6408df:	8b 44 24 10          	mov    0x10(%esp),%eax
6408e3:	8b 54 24 14          	mov    0x14(%esp),%edx
6408e7:	23 44 24 18          	and    0x18(%esp),%eax
6408eb:	23 54 24 1c          	and    0x1c(%esp),%edx
6408ef:	52                   	push   %edx
6408f0:	50                   	push   %eax
6408f1:	8b 44 24 18          	mov    0x18(%esp),%eax
6408f5:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6408f9:	23 44 24 28          	and    0x28(%esp),%eax
6408fd:	23 54 24 2c          	and    0x2c(%esp),%edx
640901:	33 04 24             	xor    (%esp),%eax
640904:	33 54 24 04          	xor    0x4(%esp),%edx
640908:	83 c4 08             	add    $0x8,%esp
64090b:	52                   	push   %edx
64090c:	50                   	push   %eax
64090d:	8b 44 24 20          	mov    0x20(%esp),%eax
640911:	8b 54 24 24          	mov    0x24(%esp),%edx
640915:	23 44 24 28          	and    0x28(%esp),%eax
640919:	23 54 24 2c          	and    0x2c(%esp),%edx
64091d:	33 04 24             	xor    (%esp),%eax
640920:	33 54 24 04          	xor    0x4(%esp),%edx
640924:	83 c4 08             	add    $0x8,%esp
640927:	03 04 24             	add    (%esp),%eax
64092a:	13 54 24 04          	adc    0x4(%esp),%edx
64092e:	83 c4 08             	add    $0x8,%esp
640931:	89 44 24 48          	mov    %eax,0x48(%esp)
640935:	89 54 24 4c          	mov    %edx,0x4c(%esp)
640939:	8b 44 24 20          	mov    0x20(%esp),%eax
64093d:	8b 54 24 24          	mov    0x24(%esp),%edx
640941:	03 44 24 40          	add    0x40(%esp),%eax
640945:	13 54 24 44          	adc    0x44(%esp),%edx
640949:	89 44 24 20          	mov    %eax,0x20(%esp)
64094d:	89 54 24 24          	mov    %edx,0x24(%esp)
640951:	8b 44 24 40          	mov    0x40(%esp),%eax
640955:	8b 54 24 44          	mov    0x44(%esp),%edx
640959:	03 44 24 48          	add    0x48(%esp),%eax
64095d:	13 54 24 4c          	adc    0x4c(%esp),%edx
640961:	89 04 24             	mov    %eax,(%esp)
640964:	89 54 24 04          	mov    %edx,0x4(%esp)
640968:	8b 44 24 20          	mov    0x20(%esp),%eax
64096c:	8b 54 24 24          	mov    0x24(%esp),%edx
640970:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
640974:	c1 ea 0e             	shr    $0xe,%edx
640977:	52                   	push   %edx
640978:	50                   	push   %eax
640979:	8b 54 24 28          	mov    0x28(%esp),%edx
64097d:	c1 e2 12             	shl    $0x12,%edx
640980:	33 c0                	xor    %eax,%eax
640982:	0b 04 24             	or     (%esp),%eax
640985:	0b 54 24 04          	or     0x4(%esp),%edx
640989:	83 c4 08             	add    $0x8,%esp
64098c:	52                   	push   %edx
64098d:	50                   	push   %eax
64098e:	8b 44 24 28          	mov    0x28(%esp),%eax
640992:	8b 54 24 2c          	mov    0x2c(%esp),%edx
640996:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64099a:	c1 ea 12             	shr    $0x12,%edx
64099d:	52                   	push   %edx
64099e:	50                   	push   %eax
64099f:	8b 54 24 30          	mov    0x30(%esp),%edx
6409a3:	c1 e2 0e             	shl    $0xe,%edx
6409a6:	33 c0                	xor    %eax,%eax
6409a8:	0b 04 24             	or     (%esp),%eax
6409ab:	0b 54 24 04          	or     0x4(%esp),%edx
6409af:	83 c4 08             	add    $0x8,%esp
6409b2:	33 04 24             	xor    (%esp),%eax
6409b5:	33 54 24 04          	xor    0x4(%esp),%edx
6409b9:	83 c4 08             	add    $0x8,%esp
6409bc:	52                   	push   %edx
6409bd:	50                   	push   %eax
6409be:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6409c2:	c1 e8 09             	shr    $0x9,%eax
6409c5:	33 d2                	xor    %edx,%edx
6409c7:	52                   	push   %edx
6409c8:	50                   	push   %eax
6409c9:	8b 44 24 30          	mov    0x30(%esp),%eax
6409cd:	8b 54 24 34          	mov    0x34(%esp),%edx
6409d1:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6409d5:	c1 e0 17             	shl    $0x17,%eax
6409d8:	0b 04 24             	or     (%esp),%eax
6409db:	0b 54 24 04          	or     0x4(%esp),%edx
6409df:	83 c4 08             	add    $0x8,%esp
6409e2:	33 04 24             	xor    (%esp),%eax
6409e5:	33 54 24 04          	xor    0x4(%esp),%edx
6409e9:	83 c4 08             	add    $0x8,%esp
6409ec:	03 44 24 38          	add    0x38(%esp),%eax
6409f0:	13 54 24 3c          	adc    0x3c(%esp),%edx
6409f4:	52                   	push   %edx
6409f5:	50                   	push   %eax
6409f6:	8b 44 24 28          	mov    0x28(%esp),%eax
6409fa:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6409fe:	23 44 24 30          	and    0x30(%esp),%eax
640a02:	23 54 24 34          	and    0x34(%esp),%edx
640a06:	52                   	push   %edx
640a07:	50                   	push   %eax
640a08:	8b 44 24 30          	mov    0x30(%esp),%eax
640a0c:	8b 54 24 34          	mov    0x34(%esp),%edx
640a10:	f7 d0                	not    %eax
640a12:	f7 d2                	not    %edx
640a14:	23 44 24 40          	and    0x40(%esp),%eax
640a18:	23 54 24 44          	and    0x44(%esp),%edx
640a1c:	33 04 24             	xor    (%esp),%eax
640a1f:	33 54 24 04          	xor    0x4(%esp),%edx
640a23:	83 c4 08             	add    $0x8,%esp
640a26:	03 04 24             	add    (%esp),%eax
640a29:	13 54 24 04          	adc    0x4(%esp),%edx
640a2d:	83 c4 08             	add    $0x8,%esp
640a30:	05 42 02 03 a3       	add    $0xa3030242,%eax
640a35:	81 d2 98 aa 07 d8    	adc    $0xd807aa98,%edx
640a3b:	03 84 24 90 00 00 00 	add    0x90(%esp),%eax
640a42:	13 94 24 94 00 00 00 	adc    0x94(%esp),%edx
640a49:	89 44 24 40          	mov    %eax,0x40(%esp)
640a4d:	89 54 24 44          	mov    %edx,0x44(%esp)
640a51:	8b 04 24             	mov    (%esp),%eax
640a54:	8b 54 24 04          	mov    0x4(%esp),%edx
640a58:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
640a5c:	c1 ea 1c             	shr    $0x1c,%edx
640a5f:	52                   	push   %edx
640a60:	50                   	push   %eax
640a61:	8b 54 24 08          	mov    0x8(%esp),%edx
640a65:	c1 e2 04             	shl    $0x4,%edx
640a68:	33 c0                	xor    %eax,%eax
640a6a:	0b 04 24             	or     (%esp),%eax
640a6d:	0b 54 24 04          	or     0x4(%esp),%edx
640a71:	83 c4 08             	add    $0x8,%esp
640a74:	52                   	push   %edx
640a75:	50                   	push   %eax
640a76:	8b 44 24 0c          	mov    0xc(%esp),%eax
640a7a:	c1 e8 02             	shr    $0x2,%eax
640a7d:	33 d2                	xor    %edx,%edx
640a7f:	52                   	push   %edx
640a80:	50                   	push   %eax
640a81:	8b 44 24 10          	mov    0x10(%esp),%eax
640a85:	8b 54 24 14          	mov    0x14(%esp),%edx
640a89:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
640a8d:	c1 e0 1e             	shl    $0x1e,%eax
640a90:	0b 04 24             	or     (%esp),%eax
640a93:	0b 54 24 04          	or     0x4(%esp),%edx
640a97:	83 c4 08             	add    $0x8,%esp
640a9a:	33 04 24             	xor    (%esp),%eax
640a9d:	33 54 24 04          	xor    0x4(%esp),%edx
640aa1:	83 c4 08             	add    $0x8,%esp
640aa4:	52                   	push   %edx
640aa5:	50                   	push   %eax
640aa6:	8b 44 24 0c          	mov    0xc(%esp),%eax
640aaa:	c1 e8 07             	shr    $0x7,%eax
640aad:	33 d2                	xor    %edx,%edx
640aaf:	52                   	push   %edx
640ab0:	50                   	push   %eax
640ab1:	8b 44 24 10          	mov    0x10(%esp),%eax
640ab5:	8b 54 24 14          	mov    0x14(%esp),%edx
640ab9:	0f a4 c2 19          	shld   $0x19,%eax,%edx
640abd:	c1 e0 19             	shl    $0x19,%eax
640ac0:	0b 04 24             	or     (%esp),%eax
640ac3:	0b 54 24 04          	or     0x4(%esp),%edx
640ac7:	83 c4 08             	add    $0x8,%esp
640aca:	33 04 24             	xor    (%esp),%eax
640acd:	33 54 24 04          	xor    0x4(%esp),%edx
640ad1:	83 c4 08             	add    $0x8,%esp
640ad4:	52                   	push   %edx
640ad5:	50                   	push   %eax
640ad6:	8b 44 24 08          	mov    0x8(%esp),%eax
640ada:	8b 54 24 0c          	mov    0xc(%esp),%edx
640ade:	23 44 24 10          	and    0x10(%esp),%eax
640ae2:	23 54 24 14          	and    0x14(%esp),%edx
640ae6:	52                   	push   %edx
640ae7:	50                   	push   %eax
640ae8:	8b 44 24 10          	mov    0x10(%esp),%eax
640aec:	8b 54 24 14          	mov    0x14(%esp),%edx
640af0:	23 44 24 20          	and    0x20(%esp),%eax
640af4:	23 54 24 24          	and    0x24(%esp),%edx
640af8:	33 04 24             	xor    (%esp),%eax
640afb:	33 54 24 04          	xor    0x4(%esp),%edx
640aff:	83 c4 08             	add    $0x8,%esp
640b02:	52                   	push   %edx
640b03:	50                   	push   %eax
640b04:	8b 44 24 18          	mov    0x18(%esp),%eax
640b08:	8b 54 24 1c          	mov    0x1c(%esp),%edx
640b0c:	23 44 24 20          	and    0x20(%esp),%eax
640b10:	23 54 24 24          	and    0x24(%esp),%edx
640b14:	33 04 24             	xor    (%esp),%eax
640b17:	33 54 24 04          	xor    0x4(%esp),%edx
640b1b:	83 c4 08             	add    $0x8,%esp
640b1e:	03 04 24             	add    (%esp),%eax
640b21:	13 54 24 04          	adc    0x4(%esp),%edx
640b25:	83 c4 08             	add    $0x8,%esp
640b28:	89 44 24 48          	mov    %eax,0x48(%esp)
640b2c:	89 54 24 4c          	mov    %edx,0x4c(%esp)
640b30:	8b 44 24 18          	mov    0x18(%esp),%eax
640b34:	8b 54 24 1c          	mov    0x1c(%esp),%edx
640b38:	03 44 24 40          	add    0x40(%esp),%eax
640b3c:	13 54 24 44          	adc    0x44(%esp),%edx
640b40:	89 44 24 18          	mov    %eax,0x18(%esp)
640b44:	89 54 24 1c          	mov    %edx,0x1c(%esp)
640b48:	8b 44 24 40          	mov    0x40(%esp),%eax
640b4c:	8b 54 24 44          	mov    0x44(%esp),%edx
640b50:	03 44 24 48          	add    0x48(%esp),%eax
640b54:	13 54 24 4c          	adc    0x4c(%esp),%edx
640b58:	89 44 24 38          	mov    %eax,0x38(%esp)
640b5c:	89 54 24 3c          	mov    %edx,0x3c(%esp)
640b60:	8b 44 24 18          	mov    0x18(%esp),%eax
640b64:	8b 54 24 1c          	mov    0x1c(%esp),%edx
640b68:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
640b6c:	c1 ea 0e             	shr    $0xe,%edx
640b6f:	52                   	push   %edx
640b70:	50                   	push   %eax
640b71:	8b 54 24 20          	mov    0x20(%esp),%edx
640b75:	c1 e2 12             	shl    $0x12,%edx
640b78:	33 c0                	xor    %eax,%eax
640b7a:	0b 04 24             	or     (%esp),%eax
640b7d:	0b 54 24 04          	or     0x4(%esp),%edx
640b81:	83 c4 08             	add    $0x8,%esp
640b84:	52                   	push   %edx
640b85:	50                   	push   %eax
640b86:	8b 44 24 20          	mov    0x20(%esp),%eax
640b8a:	8b 54 24 24          	mov    0x24(%esp),%edx
640b8e:	0f ac d0 12          	shrd   $0x12,%edx,%eax
640b92:	c1 ea 12             	shr    $0x12,%edx
640b95:	52                   	push   %edx
640b96:	50                   	push   %eax
640b97:	8b 54 24 28          	mov    0x28(%esp),%edx
640b9b:	c1 e2 0e             	shl    $0xe,%edx
640b9e:	33 c0                	xor    %eax,%eax
640ba0:	0b 04 24             	or     (%esp),%eax
640ba3:	0b 54 24 04          	or     0x4(%esp),%edx
640ba7:	83 c4 08             	add    $0x8,%esp
640baa:	33 04 24             	xor    (%esp),%eax
640bad:	33 54 24 04          	xor    0x4(%esp),%edx
640bb1:	83 c4 08             	add    $0x8,%esp
640bb4:	52                   	push   %edx
640bb5:	50                   	push   %eax
640bb6:	8b 44 24 24          	mov    0x24(%esp),%eax
640bba:	c1 e8 09             	shr    $0x9,%eax
640bbd:	33 d2                	xor    %edx,%edx
640bbf:	52                   	push   %edx
640bc0:	50                   	push   %eax
640bc1:	8b 44 24 28          	mov    0x28(%esp),%eax
640bc5:	8b 54 24 2c          	mov    0x2c(%esp),%edx
640bc9:	0f a4 c2 17          	shld   $0x17,%eax,%edx
640bcd:	c1 e0 17             	shl    $0x17,%eax
640bd0:	0b 04 24             	or     (%esp),%eax
640bd3:	0b 54 24 04          	or     0x4(%esp),%edx
640bd7:	83 c4 08             	add    $0x8,%esp
640bda:	33 04 24             	xor    (%esp),%eax
640bdd:	33 54 24 04          	xor    0x4(%esp),%edx
640be1:	83 c4 08             	add    $0x8,%esp
640be4:	03 44 24 30          	add    0x30(%esp),%eax
640be8:	13 54 24 34          	adc    0x34(%esp),%edx
640bec:	52                   	push   %edx
640bed:	50                   	push   %eax
640bee:	8b 44 24 20          	mov    0x20(%esp),%eax
640bf2:	8b 54 24 24          	mov    0x24(%esp),%edx
640bf6:	23 44 24 28          	and    0x28(%esp),%eax
640bfa:	23 54 24 2c          	and    0x2c(%esp),%edx
640bfe:	52                   	push   %edx
640bff:	50                   	push   %eax
640c00:	8b 44 24 28          	mov    0x28(%esp),%eax
640c04:	8b 54 24 2c          	mov    0x2c(%esp),%edx
640c08:	f7 d0                	not    %eax
640c0a:	f7 d2                	not    %edx
640c0c:	23 44 24 38          	and    0x38(%esp),%eax
640c10:	23 54 24 3c          	and    0x3c(%esp),%edx
640c14:	33 04 24             	xor    (%esp),%eax
640c17:	33 54 24 04          	xor    0x4(%esp),%edx
640c1b:	83 c4 08             	add    $0x8,%esp
640c1e:	03 04 24             	add    (%esp),%eax
640c21:	13 54 24 04          	adc    0x4(%esp),%edx
640c25:	83 c4 08             	add    $0x8,%esp
640c28:	05 be 6f 70 45       	add    $0x45706fbe,%eax
640c2d:	81 d2 01 5b 83 12    	adc    $0x12835b01,%edx
640c33:	03 84 24 98 00 00 00 	add    0x98(%esp),%eax
640c3a:	13 94 24 9c 00 00 00 	adc    0x9c(%esp),%edx
640c41:	89 44 24 40          	mov    %eax,0x40(%esp)
640c45:	89 54 24 44          	mov    %edx,0x44(%esp)
640c49:	8b 44 24 38          	mov    0x38(%esp),%eax
640c4d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
640c51:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
640c55:	c1 ea 1c             	shr    $0x1c,%edx
640c58:	52                   	push   %edx
640c59:	50                   	push   %eax
640c5a:	8b 54 24 40          	mov    0x40(%esp),%edx
640c5e:	c1 e2 04             	shl    $0x4,%edx
640c61:	33 c0                	xor    %eax,%eax
640c63:	0b 04 24             	or     (%esp),%eax
640c66:	0b 54 24 04          	or     0x4(%esp),%edx
640c6a:	83 c4 08             	add    $0x8,%esp
640c6d:	52                   	push   %edx
640c6e:	50                   	push   %eax
640c6f:	8b 44 24 44          	mov    0x44(%esp),%eax
640c73:	c1 e8 02             	shr    $0x2,%eax
640c76:	33 d2                	xor    %edx,%edx
640c78:	52                   	push   %edx
640c79:	50                   	push   %eax
640c7a:	8b 44 24 48          	mov    0x48(%esp),%eax
640c7e:	8b 54 24 4c          	mov    0x4c(%esp),%edx
640c82:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
640c86:	c1 e0 1e             	shl    $0x1e,%eax
640c89:	0b 04 24             	or     (%esp),%eax
640c8c:	0b 54 24 04          	or     0x4(%esp),%edx
640c90:	83 c4 08             	add    $0x8,%esp
640c93:	33 04 24             	xor    (%esp),%eax
640c96:	33 54 24 04          	xor    0x4(%esp),%edx
640c9a:	83 c4 08             	add    $0x8,%esp
640c9d:	52                   	push   %edx
640c9e:	50                   	push   %eax
640c9f:	8b 44 24 44          	mov    0x44(%esp),%eax
640ca3:	c1 e8 07             	shr    $0x7,%eax
640ca6:	33 d2                	xor    %edx,%edx
640ca8:	52                   	push   %edx
640ca9:	50                   	push   %eax
640caa:	8b 44 24 48          	mov    0x48(%esp),%eax
640cae:	8b 54 24 4c          	mov    0x4c(%esp),%edx