64176e:	c1 e2 0e             	shl    $0xe,%edx
641771:	33 c0                	xor    %eax,%eax
641773:	0b 04 24             	or     (%esp),%eax
641776:	0b 54 24 04          	or     0x4(%esp),%edx
64177a:	83 c4 08             	add    $0x8,%esp
64177d:	33 04 24             	xor    (%esp),%eax
641780:	33 54 24 04          	xor    0x4(%esp),%edx
641784:	83 c4 08             	add    $0x8,%esp
641787:	52                   	push   %edx
641788:	50                   	push   %eax
641789:	8b 44 24 34          	mov    0x34(%esp),%eax
64178d:	c1 e8 09             	shr    $0x9,%eax
641790:	33 d2                	xor    %edx,%edx
641792:	52                   	push   %edx
641793:	50                   	push   %eax
641794:	8b 44 24 38          	mov    0x38(%esp),%eax
641798:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64179c:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6417a0:	c1 e0 17             	shl    $0x17,%eax
6417a3:	0b 04 24             	or     (%esp),%eax
6417a6:	0b 54 24 04          	or     0x4(%esp),%edx
6417aa:	83 c4 08             	add    $0x8,%esp
6417ad:	33 04 24             	xor    (%esp),%eax
6417b0:	33 54 24 04          	xor    0x4(%esp),%edx
6417b4:	83 c4 08             	add    $0x8,%esp
6417b7:	03 04 24             	add    (%esp),%eax
6417ba:	13 54 24 04          	adc    0x4(%esp),%edx
6417be:	52                   	push   %edx
6417bf:	50                   	push   %eax
6417c0:	8b 44 24 30          	mov    0x30(%esp),%eax
6417c4:	8b 54 24 34          	mov    0x34(%esp),%edx
6417c8:	23 44 24 38          	and    0x38(%esp),%eax
6417cc:	23 54 24 3c          	and    0x3c(%esp),%edx
6417d0:	52                   	push   %edx
6417d1:	50                   	push   %eax
6417d2:	8b 44 24 38          	mov    0x38(%esp),%eax
6417d6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6417da:	f7 d0                	not    %eax
6417dc:	f7 d2                	not    %edx
6417de:	23 44 24 48          	and    0x48(%esp),%eax
6417e2:	23 54 24 4c          	and    0x4c(%esp),%edx
6417e6:	33 04 24             	xor    (%esp),%eax
6417e9:	33 54 24 04          	xor    0x4(%esp),%edx
6417ed:	83 c4 08             	add    $0x8,%esp
6417f0:	03 04 24             	add    (%esp),%eax
6417f3:	13 54 24 04          	adc    0x4(%esp),%edx
6417f7:	83 c4 08             	add    $0x8,%esp
6417fa:	05 94 26 69 cf       	add    $0xcf692694,%eax
6417ff:	81 d2 74 f1 9b c1    	adc    $0xc19bf174,%edx
641805:	03 84 24 c8 00 00 00 	add    0xc8(%esp),%eax
64180c:	13 94 24 cc 00 00 00 	adc    0xcc(%esp),%edx
641813:	89 44 24 40          	mov    %eax,0x40(%esp)
641817:	89 54 24 44          	mov    %edx,0x44(%esp)
64181b:	8b 44 24 08          	mov    0x8(%esp),%eax
64181f:	8b 54 24 0c          	mov    0xc(%esp),%edx
641823:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
641827:	c1 ea 1c             	shr    $0x1c,%edx
64182a:	52                   	push   %edx
64182b:	50                   	push   %eax
64182c:	8b 54 24 10          	mov    0x10(%esp),%edx
641830:	c1 e2 04             	shl    $0x4,%edx
641833:	33 c0                	xor    %eax,%eax
641835:	0b 04 24             	or     (%esp),%eax
641838:	0b 54 24 04          	or     0x4(%esp),%edx
64183c:	83 c4 08             	add    $0x8,%esp
64183f:	52                   	push   %edx
641840:	50                   	push   %eax
641841:	8b 44 24 14          	mov    0x14(%esp),%eax
641845:	c1 e8 02             	shr    $0x2,%eax
641848:	33 d2                	xor    %edx,%edx
64184a:	52                   	push   %edx
64184b:	50                   	push   %eax
64184c:	8b 44 24 18          	mov    0x18(%esp),%eax
641850:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641854:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
641858:	c1 e0 1e             	shl    $0x1e,%eax
64185b:	0b 04 24             	or     (%esp),%eax
64185e:	0b 54 24 04          	or     0x4(%esp),%edx
641862:	83 c4 08             	add    $0x8,%esp
641865:	33 04 24             	xor    (%esp),%eax
641868:	33 54 24 04          	xor    0x4(%esp),%edx
64186c:	83 c4 08             	add    $0x8,%esp
64186f:	52                   	push   %edx
641870:	50                   	push   %eax
641871:	8b 44 24 14          	mov    0x14(%esp),%eax
641875:	c1 e8 07             	shr    $0x7,%eax
641878:	33 d2                	xor    %edx,%edx
64187a:	52                   	push   %edx
64187b:	50                   	push   %eax
64187c:	8b 44 24 18          	mov    0x18(%esp),%eax
641880:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641884:	0f a4 c2 19          	shld   $0x19,%eax,%edx
641888:	c1 e0 19             	shl    $0x19,%eax
64188b:	0b 04 24             	or     (%esp),%eax
64188e:	0b 54 24 04          	or     0x4(%esp),%edx
641892:	83 c4 08             	add    $0x8,%esp
641895:	33 04 24             	xor    (%esp),%eax
641898:	33 54 24 04          	xor    0x4(%esp),%edx
64189c:	83 c4 08             	add    $0x8,%esp
64189f:	52                   	push   %edx
6418a0:	50                   	push   %eax
6418a1:	8b 44 24 10          	mov    0x10(%esp),%eax
6418a5:	8b 54 24 14          	mov    0x14(%esp),%edx
6418a9:	23 44 24 18          	and    0x18(%esp),%eax
6418ad:	23 54 24 1c          	and    0x1c(%esp),%edx
6418b1:	52                   	push   %edx
6418b2:	50                   	push   %eax
6418b3:	8b 44 24 18          	mov    0x18(%esp),%eax
6418b7:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6418bb:	23 44 24 28          	and    0x28(%esp),%eax
6418bf:	23 54 24 2c          	and    0x2c(%esp),%edx
6418c3:	33 04 24             	xor    (%esp),%eax
6418c6:	33 54 24 04          	xor    0x4(%esp),%edx
6418ca:	83 c4 08             	add    $0x8,%esp
6418cd:	52                   	push   %edx
6418ce:	50                   	push   %eax
6418cf:	8b 44 24 20          	mov    0x20(%esp),%eax
6418d3:	8b 54 24 24          	mov    0x24(%esp),%edx
6418d7:	23 44 24 28          	and    0x28(%esp),%eax
6418db:	23 54 24 2c          	and    0x2c(%esp),%edx
6418df:	33 04 24             	xor    (%esp),%eax
6418e2:	33 54 24 04          	xor    0x4(%esp),%edx
6418e6:	83 c4 08             	add    $0x8,%esp
6418e9:	03 04 24             	add    (%esp),%eax
6418ec:	13 54 24 04          	adc    0x4(%esp),%edx
6418f0:	83 c4 08             	add    $0x8,%esp
6418f3:	89 44 24 48          	mov    %eax,0x48(%esp)
6418f7:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6418fb:	8b 44 24 20          	mov    0x20(%esp),%eax
6418ff:	8b 54 24 24          	mov    0x24(%esp),%edx
641903:	03 44 24 40          	add    0x40(%esp),%eax
641907:	13 54 24 44          	adc    0x44(%esp),%edx
64190b:	89 44 24 20          	mov    %eax,0x20(%esp)
64190f:	89 54 24 24          	mov    %edx,0x24(%esp)
641913:	8b 44 24 40          	mov    0x40(%esp),%eax
641917:	8b 54 24 44          	mov    0x44(%esp),%edx
64191b:	03 44 24 48          	add    0x48(%esp),%eax
64191f:	13 54 24 4c          	adc    0x4c(%esp),%edx
641923:	89 04 24             	mov    %eax,(%esp)
641926:	89 54 24 04          	mov    %edx,0x4(%esp)
64192a:	8b 44 24 20          	mov    0x20(%esp),%eax
64192e:	8b 54 24 24          	mov    0x24(%esp),%edx
641932:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
641936:	c1 ea 0e             	shr    $0xe,%edx
641939:	52                   	push   %edx
64193a:	50                   	push   %eax
64193b:	8b 54 24 28          	mov    0x28(%esp),%edx
64193f:	c1 e2 12             	shl    $0x12,%edx
641942:	33 c0                	xor    %eax,%eax
641944:	0b 04 24             	or     (%esp),%eax
641947:	0b 54 24 04          	or     0x4(%esp),%edx
64194b:	83 c4 08             	add    $0x8,%esp
64194e:	52                   	push   %edx
64194f:	50                   	push   %eax
641950:	8b 44 24 28          	mov    0x28(%esp),%eax
641954:	8b 54 24 2c          	mov    0x2c(%esp),%edx
641958:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64195c:	c1 ea 12             	shr    $0x12,%edx
64195f:	52                   	push   %edx
641960:	50                   	push   %eax
641961:	8b 54 24 30          	mov    0x30(%esp),%edx
641965:	c1 e2 0e             	shl    $0xe,%edx
641968:	33 c0                	xor    %eax,%eax
64196a:	0b 04 24             	or     (%esp),%eax
64196d:	0b 54 24 04          	or     0x4(%esp),%edx
641971:	83 c4 08             	add    $0x8,%esp
641974:	33 04 24             	xor    (%esp),%eax
641977:	33 54 24 04          	xor    0x4(%esp),%edx
64197b:	83 c4 08             	add    $0x8,%esp
64197e:	52                   	push   %edx
64197f:	50                   	push   %eax
641980:	8b 44 24 2c          	mov    0x2c(%esp),%eax
641984:	c1 e8 09             	shr    $0x9,%eax
641987:	33 d2                	xor    %edx,%edx
641989:	52                   	push   %edx
64198a:	50                   	push   %eax
64198b:	8b 44 24 30          	mov    0x30(%esp),%eax
64198f:	8b 54 24 34          	mov    0x34(%esp),%edx
641993:	0f a4 c2 17          	shld   $0x17,%eax,%edx
641997:	c1 e0 17             	shl    $0x17,%eax
64199a:	0b 04 24             	or     (%esp),%eax
64199d:	0b 54 24 04          	or     0x4(%esp),%edx
6419a1:	83 c4 08             	add    $0x8,%esp
6419a4:	33 04 24             	xor    (%esp),%eax
6419a7:	33 54 24 04          	xor    0x4(%esp),%edx
6419ab:	83 c4 08             	add    $0x8,%esp
6419ae:	03 44 24 38          	add    0x38(%esp),%eax
6419b2:	13 54 24 3c          	adc    0x3c(%esp),%edx
6419b6:	52                   	push   %edx
6419b7:	50                   	push   %eax
6419b8:	8b 44 24 28          	mov    0x28(%esp),%eax
6419bc:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6419c0:	23 44 24 30          	and    0x30(%esp),%eax
6419c4:	23 54 24 34          	and    0x34(%esp),%edx
6419c8:	52                   	push   %edx
6419c9:	50                   	push   %eax
6419ca:	8b 44 24 30          	mov    0x30(%esp),%eax
6419ce:	8b 54 24 34          	mov    0x34(%esp),%edx
6419d2:	f7 d0                	not    %eax
6419d4:	f7 d2                	not    %edx
6419d6:	23 44 24 40          	and    0x40(%esp),%eax
6419da:	23 54 24 44          	and    0x44(%esp),%edx
6419de:	33 04 24             	xor    (%esp),%eax
6419e1:	33 54 24 04          	xor    0x4(%esp),%edx
6419e5:	83 c4 08             	add    $0x8,%esp
6419e8:	03 04 24             	add    (%esp),%eax
6419eb:	13 54 24 04          	adc    0x4(%esp),%edx
6419ef:	83 c4 08             	add    $0x8,%esp
6419f2:	05 d2 4a f1 9e       	add    $0x9ef14ad2,%eax
6419f7:	81 d2 c1 69 9b e4    	adc    $0xe49b69c1,%edx
6419fd:	03 84 24 d0 00 00 00 	add    0xd0(%esp),%eax
641a04:	13 94 24 d4 00 00 00 	adc    0xd4(%esp),%edx
641a0b:	89 44 24 40          	mov    %eax,0x40(%esp)
641a0f:	89 54 24 44          	mov    %edx,0x44(%esp)
641a13:	8b 04 24             	mov    (%esp),%eax
641a16:	8b 54 24 04          	mov    0x4(%esp),%edx
641a1a:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
641a1e:	c1 ea 1c             	shr    $0x1c,%edx
641a21:	52                   	push   %edx
641a22:	50                   	push   %eax
641a23:	8b 54 24 08          	mov    0x8(%esp),%edx
641a27:	c1 e2 04             	shl    $0x4,%edx
641a2a:	33 c0                	xor    %eax,%eax
641a2c:	0b 04 24             	or     (%esp),%eax
641a2f:	0b 54 24 04          	or     0x4(%esp),%edx
641a33:	83 c4 08             	add    $0x8,%esp
641a36:	52                   	push   %edx
641a37:	50                   	push   %eax
641a38:	8b 44 24 0c          	mov    0xc(%esp),%eax
641a3c:	c1 e8 02             	shr    $0x2,%eax
641a3f:	33 d2                	xor    %edx,%edx
641a41:	52                   	push   %edx
641a42:	50                   	push   %eax
641a43:	8b 44 24 10          	mov    0x10(%esp),%eax
641a47:	8b 54 24 14          	mov    0x14(%esp),%edx
641a4b:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
641a4f:	c1 e0 1e             	shl    $0x1e,%eax
641a52:	0b 04 24             	or     (%esp),%eax
641a55:	0b 54 24 04          	or     0x4(%esp),%edx
641a59:	83 c4 08             	add    $0x8,%esp
641a5c:	33 04 24             	xor    (%esp),%eax
641a5f:	33 54 24 04          	xor    0x4(%esp),%edx
641a63:	83 c4 08             	add    $0x8,%esp
641a66:	52                   	push   %edx
641a67:	50                   	push   %eax
641a68:	8b 44 24 0c          	mov    0xc(%esp),%eax
641a6c:	c1 e8 07             	shr    $0x7,%eax
641a6f:	33 d2                	xor    %edx,%edx
641a71:	52                   	push   %edx
641a72:	50                   	push   %eax
641a73:	8b 44 24 10          	mov    0x10(%esp),%eax
641a77:	8b 54 24 14          	mov    0x14(%esp),%edx
641a7b:	0f a4 c2 19          	shld   $0x19,%eax,%edx
641a7f:	c1 e0 19             	shl    $0x19,%eax
641a82:	0b 04 24             	or     (%esp),%eax
641a85:	0b 54 24 04          	or     0x4(%esp),%edx
641a89:	83 c4 08             	add    $0x8,%esp
641a8c:	33 04 24             	xor    (%esp),%eax
641a8f:	33 54 24 04          	xor    0x4(%esp),%edx
641a93:	83 c4 08             	add    $0x8,%esp
641a96:	52                   	push   %edx
641a97:	50                   	push   %eax
641a98:	8b 44 24 08          	mov    0x8(%esp),%eax
641a9c:	8b 54 24 0c          	mov    0xc(%esp),%edx
641aa0:	23 44 24 10          	and    0x10(%esp),%eax
641aa4:	23 54 24 14          	and    0x14(%esp),%edx
641aa8:	52                   	push   %edx
641aa9:	50                   	push   %eax
641aaa:	8b 44 24 10          	mov    0x10(%esp),%eax
641aae:	8b 54 24 14          	mov    0x14(%esp),%edx
641ab2:	23 44 24 20          	and    0x20(%esp),%eax
641ab6:	23 54 24 24          	and    0x24(%esp),%edx
641aba:	33 04 24             	xor    (%esp),%eax
641abd:	33 54 24 04          	xor    0x4(%esp),%edx
641ac1:	83 c4 08             	add    $0x8,%esp
641ac4:	52                   	push   %edx
641ac5:	50                   	push   %eax
641ac6:	8b 44 24 18          	mov    0x18(%esp),%eax
641aca:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641ace:	23 44 24 20          	and    0x20(%esp),%eax
641ad2:	23 54 24 24          	and    0x24(%esp),%edx
641ad6:	33 04 24             	xor    (%esp),%eax
641ad9:	33 54 24 04          	xor    0x4(%esp),%edx
641add:	83 c4 08             	add    $0x8,%esp
641ae0:	03 04 24             	add    (%esp),%eax
641ae3:	13 54 24 04          	adc    0x4(%esp),%edx
641ae7:	83 c4 08             	add    $0x8,%esp
641aea:	89 44 24 48          	mov    %eax,0x48(%esp)
641aee:	89 54 24 4c          	mov    %edx,0x4c(%esp)
641af2:	8b 44 24 18          	mov    0x18(%esp),%eax
641af6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641afa:	03 44 24 40          	add    0x40(%esp),%eax
641afe:	13 54 24 44          	adc    0x44(%esp),%edx
641b02:	89 44 24 18          	mov    %eax,0x18(%esp)
641b06:	89 54 24 1c          	mov    %edx,0x1c(%esp)
641b0a:	8b 44 24 40          	mov    0x40(%esp),%eax
641b0e:	8b 54 24 44          	mov    0x44(%esp),%edx
641b12:	03 44 24 48          	add    0x48(%esp),%eax
641b16:	13 54 24 4c          	adc    0x4c(%esp),%edx
641b1a:	89 44 24 38          	mov    %eax,0x38(%esp)
641b1e:	89 54 24 3c          	mov    %edx,0x3c(%esp)
641b22:	8b 44 24 18          	mov    0x18(%esp),%eax
641b26:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641b2a:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
641b2e:	c1 ea 0e             	shr    $0xe,%edx
641b31:	52                   	push   %edx
641b32:	50                   	push   %eax
641b33:	8b 54 24 20          	mov    0x20(%esp),%edx
641b37:	c1 e2 12             	shl    $0x12,%edx
641b3a:	33 c0                	xor    %eax,%eax
641b3c:	0b 04 24             	or     (%esp),%eax
641b3f:	0b 54 24 04          	or     0x4(%esp),%edx
641b43:	83 c4 08             	add    $0x8,%esp
641b46:	52                   	push   %edx
641b47:	50                   	push   %eax
641b48:	8b 44 24 20          	mov    0x20(%esp),%eax
641b4c:	8b 54 24 24          	mov    0x24(%esp),%edx
641b50:	0f ac d0 12          	shrd   $0x12,%edx,%eax
641b54:	c1 ea 12             	shr    $0x12,%edx
641b57:	52                   	push   %edx
641b58:	50                   	push   %eax
641b59:	8b 54 24 28          	mov    0x28(%esp),%edx
641b5d:	c1 e2 0e             	shl    $0xe,%edx
641b60:	33 c0                	xor    %eax,%eax
641b62:	0b 04 24             	or     (%esp),%eax
641b65:	0b 54 24 04          	or     0x4(%esp),%edx
641b69:	83 c4 08             	add    $0x8,%esp
641b6c:	33 04 24             	xor    (%esp),%eax
641b6f:	33 54 24 04          	xor    0x4(%esp),%edx
641b73:	83 c4 08             	add    $0x8,%esp
641b76:	52                   	push   %edx
641b77:	50                   	push   %eax
641b78:	8b 44 24 24          	mov    0x24(%esp),%eax
641b7c:	c1 e8 09             	shr    $0x9,%eax
641b7f:	33 d2                	xor    %edx,%edx
641b81:	52                   	push   %edx
641b82:	50                   	push   %eax
641b83:	8b 44 24 28          	mov    0x28(%esp),%eax
641b87:	8b 54 24 2c          	mov    0x2c(%esp),%edx
641b8b:	0f a4 c2 17          	shld   $0x17,%eax,%edx
641b8f:	c1 e0 17             	shl    $0x17,%eax
641b92:	0b 04 24             	or     (%esp),%eax
641b95:	0b 54 24 04          	or     0x4(%esp),%edx
641b99:	83 c4 08             	add    $0x8,%esp
641b9c:	33 04 24             	xor    (%esp),%eax
641b9f:	33 54 24 04          	xor    0x4(%esp),%edx
641ba3:	83 c4 08             	add    $0x8,%esp
641ba6:	03 44 24 30          	add    0x30(%esp),%eax
641baa:	13 54 24 34          	adc    0x34(%esp),%edx
641bae:	52                   	push   %edx