64468e:	c1 e2 12             	shl    $0x12,%edx
644691:	33 c0                	xor    %eax,%eax
644693:	0b 04 24             	or     (%esp),%eax
644696:	0b 54 24 04          	or     0x4(%esp),%edx
64469a:	83 c4 08             	add    $0x8,%esp
64469d:	52                   	push   %edx
64469e:	50                   	push   %eax
64469f:	8b 44 24 30          	mov    0x30(%esp),%eax
6446a3:	8b 54 24 34          	mov    0x34(%esp),%edx
6446a7:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6446ab:	c1 ea 12             	shr    $0x12,%edx
6446ae:	52                   	push   %edx
6446af:	50                   	push   %eax
6446b0:	8b 54 24 38          	mov    0x38(%esp),%edx
6446b4:	c1 e2 0e             	shl    $0xe,%edx
6446b7:	33 c0                	xor    %eax,%eax
6446b9:	0b 04 24             	or     (%esp),%eax
6446bc:	0b 54 24 04          	or     0x4(%esp),%edx
6446c0:	83 c4 08             	add    $0x8,%esp
6446c3:	33 04 24             	xor    (%esp),%eax
6446c6:	33 54 24 04          	xor    0x4(%esp),%edx
6446ca:	83 c4 08             	add    $0x8,%esp
6446cd:	52                   	push   %edx
6446ce:	50                   	push   %eax
6446cf:	8b 44 24 34          	mov    0x34(%esp),%eax
6446d3:	c1 e8 09             	shr    $0x9,%eax
6446d6:	33 d2                	xor    %edx,%edx
6446d8:	52                   	push   %edx
6446d9:	50                   	push   %eax
6446da:	8b 44 24 38          	mov    0x38(%esp),%eax
6446de:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6446e2:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6446e6:	c1 e0 17             	shl    $0x17,%eax
6446e9:	0b 04 24             	or     (%esp),%eax
6446ec:	0b 54 24 04          	or     0x4(%esp),%edx
6446f0:	83 c4 08             	add    $0x8,%esp
6446f3:	33 04 24             	xor    (%esp),%eax
6446f6:	33 54 24 04          	xor    0x4(%esp),%edx
6446fa:	83 c4 08             	add    $0x8,%esp
6446fd:	03 04 24             	add    (%esp),%eax
644700:	13 54 24 04          	adc    0x4(%esp),%edx
644704:	52                   	push   %edx
644705:	50                   	push   %eax
644706:	8b 44 24 30          	mov    0x30(%esp),%eax
64470a:	8b 54 24 34          	mov    0x34(%esp),%edx
64470e:	23 44 24 38          	and    0x38(%esp),%eax
644712:	23 54 24 3c          	and    0x3c(%esp),%edx
644716:	52                   	push   %edx
644717:	50                   	push   %eax
644718:	8b 44 24 38          	mov    0x38(%esp),%eax
64471c:	8b 54 24 3c          	mov    0x3c(%esp),%edx
644720:	f7 d0                	not    %eax
644722:	f7 d2                	not    %edx
644724:	23 44 24 48          	and    0x48(%esp),%eax
644728:	23 54 24 4c          	and    0x4c(%esp),%edx
64472c:	33 04 24             	xor    (%esp),%eax
64472f:	33 54 24 04          	xor    0x4(%esp),%edx
644733:	83 c4 08             	add    $0x8,%esp
644736:	03 04 24             	add    (%esp),%eax
644739:	13 54 24 04          	adc    0x4(%esp),%edx
64473d:	83 c4 08             	add    $0x8,%esp
644740:	05 3b 35 82 14       	add    $0x1482353b,%eax
644745:	81 d2 85 2c 72 92    	adc    $0x92722c85,%edx
64474b:	03 84 24 88 01 00 00 	add    0x188(%esp),%eax
644752:	13 94 24 8c 01 00 00 	adc    0x18c(%esp),%edx
644759:	89 44 24 40          	mov    %eax,0x40(%esp)
64475d:	89 54 24 44          	mov    %edx,0x44(%esp)
644761:	8b 44 24 08          	mov    0x8(%esp),%eax
644765:	8b 54 24 0c          	mov    0xc(%esp),%edx
644769:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
64476d:	c1 ea 1c             	shr    $0x1c,%edx
644770:	52                   	push   %edx
644771:	50                   	push   %eax
644772:	8b 54 24 10          	mov    0x10(%esp),%edx
644776:	c1 e2 04             	shl    $0x4,%edx
644779:	33 c0                	xor    %eax,%eax
64477b:	0b 04 24             	or     (%esp),%eax
64477e:	0b 54 24 04          	or     0x4(%esp),%edx
644782:	83 c4 08             	add    $0x8,%esp
644785:	52                   	push   %edx
644786:	50                   	push   %eax
644787:	8b 44 24 14          	mov    0x14(%esp),%eax
64478b:	c1 e8 02             	shr    $0x2,%eax
64478e:	33 d2                	xor    %edx,%edx
644790:	52                   	push   %edx
644791:	50                   	push   %eax
644792:	8b 44 24 18          	mov    0x18(%esp),%eax
644796:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64479a:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
64479e:	c1 e0 1e             	shl    $0x1e,%eax
6447a1:	0b 04 24             	or     (%esp),%eax
6447a4:	0b 54 24 04          	or     0x4(%esp),%edx
6447a8:	83 c4 08             	add    $0x8,%esp
6447ab:	33 04 24             	xor    (%esp),%eax
6447ae:	33 54 24 04          	xor    0x4(%esp),%edx
6447b2:	83 c4 08             	add    $0x8,%esp
6447b5:	52                   	push   %edx
6447b6:	50                   	push   %eax
6447b7:	8b 44 24 14          	mov    0x14(%esp),%eax
6447bb:	c1 e8 07             	shr    $0x7,%eax
6447be:	33 d2                	xor    %edx,%edx
6447c0:	52                   	push   %edx
6447c1:	50                   	push   %eax
6447c2:	8b 44 24 18          	mov    0x18(%esp),%eax
6447c6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6447ca:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6447ce:	c1 e0 19             	shl    $0x19,%eax
6447d1:	0b 04 24             	or     (%esp),%eax
6447d4:	0b 54 24 04          	or     0x4(%esp),%edx
6447d8:	83 c4 08             	add    $0x8,%esp
6447db:	33 04 24             	xor    (%esp),%eax
6447de:	33 54 24 04          	xor    0x4(%esp),%edx
6447e2:	83 c4 08             	add    $0x8,%esp
6447e5:	52                   	push   %edx
6447e6:	50                   	push   %eax
6447e7:	8b 44 24 10          	mov    0x10(%esp),%eax
6447eb:	8b 54 24 14          	mov    0x14(%esp),%edx
6447ef:	23 44 24 18          	and    0x18(%esp),%eax
6447f3:	23 54 24 1c          	and    0x1c(%esp),%edx
6447f7:	52                   	push   %edx
6447f8:	50                   	push   %eax
6447f9:	8b 44 24 18          	mov    0x18(%esp),%eax
6447fd:	8b 54 24 1c          	mov    0x1c(%esp),%edx
644801:	23 44 24 28          	and    0x28(%esp),%eax
644805:	23 54 24 2c          	and    0x2c(%esp),%edx
644809:	33 04 24             	xor    (%esp),%eax
64480c:	33 54 24 04          	xor    0x4(%esp),%edx
644810:	83 c4 08             	add    $0x8,%esp
644813:	52                   	push   %edx
644814:	50                   	push   %eax
644815:	8b 44 24 20          	mov    0x20(%esp),%eax
644819:	8b 54 24 24          	mov    0x24(%esp),%edx
64481d:	23 44 24 28          	and    0x28(%esp),%eax
644821:	23 54 24 2c          	and    0x2c(%esp),%edx
644825:	33 04 24             	xor    (%esp),%eax
644828:	33 54 24 04          	xor    0x4(%esp),%edx
64482c:	83 c4 08             	add    $0x8,%esp
64482f:	03 04 24             	add    (%esp),%eax
644832:	13 54 24 04          	adc    0x4(%esp),%edx
644836:	83 c4 08             	add    $0x8,%esp
644839:	89 44 24 48          	mov    %eax,0x48(%esp)
64483d:	89 54 24 4c          	mov    %edx,0x4c(%esp)
644841:	8b 44 24 20          	mov    0x20(%esp),%eax
644845:	8b 54 24 24          	mov    0x24(%esp),%edx
644849:	03 44 24 40          	add    0x40(%esp),%eax
64484d:	13 54 24 44          	adc    0x44(%esp),%edx
644851:	89 44 24 20          	mov    %eax,0x20(%esp)
644855:	89 54 24 24          	mov    %edx,0x24(%esp)
644859:	8b 44 24 40          	mov    0x40(%esp),%eax
64485d:	8b 54 24 44          	mov    0x44(%esp),%edx
644861:	03 44 24 48          	add    0x48(%esp),%eax
644865:	13 54 24 4c          	adc    0x4c(%esp),%edx
644869:	89 04 24             	mov    %eax,(%esp)
64486c:	89 54 24 04          	mov    %edx,0x4(%esp)
644870:	8b 44 24 20          	mov    0x20(%esp),%eax
644874:	8b 54 24 24          	mov    0x24(%esp),%edx
644878:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64487c:	c1 ea 0e             	shr    $0xe,%edx
64487f:	52                   	push   %edx
644880:	50                   	push   %eax
644881:	8b 54 24 28          	mov    0x28(%esp),%edx
644885:	c1 e2 12             	shl    $0x12,%edx
644888:	33 c0                	xor    %eax,%eax
64488a:	0b 04 24             	or     (%esp),%eax
64488d:	0b 54 24 04          	or     0x4(%esp),%edx
644891:	83 c4 08             	add    $0x8,%esp
644894:	52                   	push   %edx
644895:	50                   	push   %eax
644896:	8b 44 24 28          	mov    0x28(%esp),%eax
64489a:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64489e:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6448a2:	c1 ea 12             	shr    $0x12,%edx
6448a5:	52                   	push   %edx
6448a6:	50                   	push   %eax
6448a7:	8b 54 24 30          	mov    0x30(%esp),%edx
6448ab:	c1 e2 0e             	shl    $0xe,%edx
6448ae:	33 c0                	xor    %eax,%eax
6448b0:	0b 04 24             	or     (%esp),%eax
6448b3:	0b 54 24 04          	or     0x4(%esp),%edx
6448b7:	83 c4 08             	add    $0x8,%esp
6448ba:	33 04 24             	xor    (%esp),%eax
6448bd:	33 54 24 04          	xor    0x4(%esp),%edx
6448c1:	83 c4 08             	add    $0x8,%esp
6448c4:	52                   	push   %edx
6448c5:	50                   	push   %eax
6448c6:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6448ca:	c1 e8 09             	shr    $0x9,%eax
6448cd:	33 d2                	xor    %edx,%edx
6448cf:	52                   	push   %edx
6448d0:	50                   	push   %eax
6448d1:	8b 44 24 30          	mov    0x30(%esp),%eax
6448d5:	8b 54 24 34          	mov    0x34(%esp),%edx
6448d9:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6448dd:	c1 e0 17             	shl    $0x17,%eax
6448e0:	0b 04 24             	or     (%esp),%eax
6448e3:	0b 54 24 04          	or     0x4(%esp),%edx
6448e7:	83 c4 08             	add    $0x8,%esp
6448ea:	33 04 24             	xor    (%esp),%eax
6448ed:	33 54 24 04          	xor    0x4(%esp),%edx
6448f1:	83 c4 08             	add    $0x8,%esp
6448f4:	03 44 24 38          	add    0x38(%esp),%eax
6448f8:	13 54 24 3c          	adc    0x3c(%esp),%edx
6448fc:	52                   	push   %edx
6448fd:	50                   	push   %eax
6448fe:	8b 44 24 28          	mov    0x28(%esp),%eax
644902:	8b 54 24 2c          	mov    0x2c(%esp),%edx
644906:	23 44 24 30          	and    0x30(%esp),%eax
64490a:	23 54 24 34          	and    0x34(%esp),%edx
64490e:	52                   	push   %edx
64490f:	50                   	push   %eax
644910:	8b 44 24 30          	mov    0x30(%esp),%eax
644914:	8b 54 24 34          	mov    0x34(%esp),%edx
644918:	f7 d0                	not    %eax
64491a:	f7 d2                	not    %edx
64491c:	23 44 24 40          	and    0x40(%esp),%eax
644920:	23 54 24 44          	and    0x44(%esp),%edx
644924:	33 04 24             	xor    (%esp),%eax
644927:	33 54 24 04          	xor    0x4(%esp),%edx
64492b:	83 c4 08             	add    $0x8,%esp
64492e:	03 04 24             	add    (%esp),%eax
644931:	13 54 24 04          	adc    0x4(%esp),%edx
644935:	83 c4 08             	add    $0x8,%esp
644938:	05 64 03 f1 4c       	add    $0x4cf10364,%eax
64493d:	81 d2 a1 e8 bf a2    	adc    $0xa2bfe8a1,%edx
644943:	03 84 24 90 01 00 00 	add    0x190(%esp),%eax
64494a:	13 94 24 94 01 00 00 	adc    0x194(%esp),%edx
644951:	89 44 24 40          	mov    %eax,0x40(%esp)
644955:	89 54 24 44          	mov    %edx,0x44(%esp)
644959:	8b 04 24             	mov    (%esp),%eax
64495c:	8b 54 24 04          	mov    0x4(%esp),%edx
644960:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
644964:	c1 ea 1c             	shr    $0x1c,%edx
644967:	52                   	push   %edx
644968:	50                   	push   %eax
644969:	8b 54 24 08          	mov    0x8(%esp),%edx
64496d:	c1 e2 04             	shl    $0x4,%edx
644970:	33 c0                	xor    %eax,%eax
644972:	0b 04 24             	or     (%esp),%eax
644975:	0b 54 24 04          	or     0x4(%esp),%edx
644979:	83 c4 08             	add    $0x8,%esp
64497c:	52                   	push   %edx
64497d:	50                   	push   %eax
64497e:	8b 44 24 0c          	mov    0xc(%esp),%eax
644982:	c1 e8 02             	shr    $0x2,%eax
644985:	33 d2                	xor    %edx,%edx
644987:	52                   	push   %edx
644988:	50                   	push   %eax
644989:	8b 44 24 10          	mov    0x10(%esp),%eax
64498d:	8b 54 24 14          	mov    0x14(%esp),%edx
644991:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
644995:	c1 e0 1e             	shl    $0x1e,%eax
644998:	0b 04 24             	or     (%esp),%eax
64499b:	0b 54 24 04          	or     0x4(%esp),%edx
64499f:	83 c4 08             	add    $0x8,%esp
6449a2:	33 04 24             	xor    (%esp),%eax
6449a5:	33 54 24 04          	xor    0x4(%esp),%edx
6449a9:	83 c4 08             	add    $0x8,%esp
6449ac:	52                   	push   %edx
6449ad:	50                   	push   %eax
6449ae:	8b 44 24 0c          	mov    0xc(%esp),%eax
6449b2:	c1 e8 07             	shr    $0x7,%eax
6449b5:	33 d2                	xor    %edx,%edx
6449b7:	52                   	push   %edx
6449b8:	50                   	push   %eax
6449b9:	8b 44 24 10          	mov    0x10(%esp),%eax
6449bd:	8b 54 24 14          	mov    0x14(%esp),%edx
6449c1:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6449c5:	c1 e0 19             	shl    $0x19,%eax
6449c8:	0b 04 24             	or     (%esp),%eax
6449cb:	0b 54 24 04          	or     0x4(%esp),%edx
6449cf:	83 c4 08             	add    $0x8,%esp
6449d2:	33 04 24             	xor    (%esp),%eax
6449d5:	33 54 24 04          	xor    0x4(%esp),%edx
6449d9:	83 c4 08             	add    $0x8,%esp
6449dc:	52                   	push   %edx
6449dd:	50                   	push   %eax
6449de:	8b 44 24 08          	mov    0x8(%esp),%eax
6449e2:	8b 54 24 0c          	mov    0xc(%esp),%edx
6449e6:	23 44 24 10          	and    0x10(%esp),%eax
6449ea:	23 54 24 14          	and    0x14(%esp),%edx
6449ee:	52                   	push   %edx
6449ef:	50                   	push   %eax
6449f0:	8b 44 24 10          	mov    0x10(%esp),%eax
6449f4:	8b 54 24 14          	mov    0x14(%esp),%edx
6449f8:	23 44 24 20          	and    0x20(%esp),%eax
6449fc:	23 54 24 24          	and    0x24(%esp),%edx
644a00:	33 04 24             	xor    (%esp),%eax
644a03:	33 54 24 04          	xor    0x4(%esp),%edx
644a07:	83 c4 08             	add    $0x8,%esp
644a0a:	52                   	push   %edx
644a0b:	50                   	push   %eax
644a0c:	8b 44 24 18          	mov    0x18(%esp),%eax
644a10:	8b 54 24 1c          	mov    0x1c(%esp),%edx
644a14:	23 44 24 20          	and    0x20(%esp),%eax
644a18:	23 54 24 24          	and    0x24(%esp),%edx
644a1c:	33 04 24             	xor    (%esp),%eax
644a1f:	33 54 24 04          	xor    0x4(%esp),%edx
644a23:	83 c4 08             	add    $0x8,%esp
644a26:	03 04 24             	add    (%esp),%eax
644a29:	13 54 24 04          	adc    0x4(%esp),%edx
644a2d:	83 c4 08             	add    $0x8,%esp
644a30:	89 44 24 48          	mov    %eax,0x48(%esp)
644a34:	89 54 24 4c          	mov    %edx,0x4c(%esp)
644a38:	8b 44 24 18          	mov    0x18(%esp),%eax
644a3c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
644a40:	03 44 24 40          	add    0x40(%esp),%eax
644a44:	13 54 24 44          	adc    0x44(%esp),%edx
644a48:	89 44 24 18          	mov    %eax,0x18(%esp)
644a4c:	89 54 24 1c          	mov    %edx,0x1c(%esp)
644a50:	8b 44 24 40          	mov    0x40(%esp),%eax
644a54:	8b 54 24 44          	mov    0x44(%esp),%edx
644a58:	03 44 24 48          	add    0x48(%esp),%eax
644a5c:	13 54 24 4c          	adc    0x4c(%esp),%edx
644a60:	89 44 24 38          	mov    %eax,0x38(%esp)
644a64:	89 54 24 3c          	mov    %edx,0x3c(%esp)
644a68:	8b 44 24 18          	mov    0x18(%esp),%eax
644a6c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
644a70:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
644a74:	c1 ea 0e             	shr    $0xe,%edx
644a77:	52                   	push   %edx
644a78:	50                   	push   %eax
644a79:	8b 54 24 20          	mov    0x20(%esp),%edx
644a7d:	c1 e2 12             	shl    $0x12,%edx
644a80:	33 c0                	xor    %eax,%eax
644a82:	0b 04 24             	or     (%esp),%eax
644a85:	0b 54 24 04          	or     0x4(%esp),%edx
644a89:	83 c4 08             	add    $0x8,%esp
644a8c:	52                   	push   %edx
644a8d:	50                   	push   %eax
644a8e:	8b 44 24 20          	mov    0x20(%esp),%eax
644a92:	8b 54 24 24          	mov    0x24(%esp),%edx
644a96:	0f ac d0 12          	shrd   $0x12,%edx,%eax
644a9a:	c1 ea 12             	shr    $0x12,%edx
644a9d:	52                   	push   %edx
644a9e:	50                   	push   %eax
644a9f:	8b 54 24 28          	mov    0x28(%esp),%edx
644aa3:	c1 e2 0e             	shl    $0xe,%edx
644aa6:	33 c0                	xor    %eax,%eax
644aa8:	0b 04 24             	or     (%esp),%eax
644aab:	0b 54 24 04          	or     0x4(%esp),%edx
644aaf:	83 c4 08             	add    $0x8,%esp
644ab2:	33 04 24             	xor    (%esp),%eax
644ab5:	33 54 24 04          	xor    0x4(%esp),%edx
644ab9:	83 c4 08             	add    $0x8,%esp
644abc:	52                   	push   %edx
644abd:	50                   	push   %eax
644abe:	8b 44 24 24          	mov    0x24(%esp),%eax
644ac2:	c1 e8 09             	shr    $0x9,%eax
644ac5:	33 d2                	xor    %edx,%edx
644ac7:	52                   	push   %edx