64154f:	c1 e2 12             	shl    $0x12,%edx
641552:	33 c0                	xor    %eax,%eax
641554:	0b 04 24             	or     (%esp),%eax
641557:	0b 54 24 04          	or     0x4(%esp),%edx
64155b:	83 c4 08             	add    $0x8,%esp
64155e:	52                   	push   %edx
64155f:	50                   	push   %eax
641560:	8b 44 24 38          	mov    0x38(%esp),%eax
641564:	8b 54 24 3c          	mov    0x3c(%esp),%edx
641568:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64156c:	c1 ea 12             	shr    $0x12,%edx
64156f:	52                   	push   %edx
641570:	50                   	push   %eax
641571:	8b 54 24 40          	mov    0x40(%esp),%edx
641575:	c1 e2 0e             	shl    $0xe,%edx
641578:	33 c0                	xor    %eax,%eax
64157a:	0b 04 24             	or     (%esp),%eax
64157d:	0b 54 24 04          	or     0x4(%esp),%edx
641581:	83 c4 08             	add    $0x8,%esp
641584:	33 04 24             	xor    (%esp),%eax
641587:	33 54 24 04          	xor    0x4(%esp),%edx
64158b:	83 c4 08             	add    $0x8,%esp
64158e:	52                   	push   %edx
64158f:	50                   	push   %eax
641590:	8b 44 24 3c          	mov    0x3c(%esp),%eax
641594:	c1 e8 09             	shr    $0x9,%eax
641597:	33 d2                	xor    %edx,%edx
641599:	52                   	push   %edx
64159a:	50                   	push   %eax
64159b:	8b 44 24 40          	mov    0x40(%esp),%eax
64159f:	8b 54 24 44          	mov    0x44(%esp),%edx
6415a3:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6415a7:	c1 e0 17             	shl    $0x17,%eax
6415aa:	0b 04 24             	or     (%esp),%eax
6415ad:	0b 54 24 04          	or     0x4(%esp),%edx
6415b1:	83 c4 08             	add    $0x8,%esp
6415b4:	33 04 24             	xor    (%esp),%eax
6415b7:	33 54 24 04          	xor    0x4(%esp),%edx
6415bb:	83 c4 08             	add    $0x8,%esp
6415be:	03 44 24 08          	add    0x8(%esp),%eax
6415c2:	13 54 24 0c          	adc    0xc(%esp),%edx
6415c6:	52                   	push   %edx
6415c7:	50                   	push   %eax
6415c8:	8b 44 24 38          	mov    0x38(%esp),%eax
6415cc:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6415d0:	23 44 24 40          	and    0x40(%esp),%eax
6415d4:	23 54 24 44          	and    0x44(%esp),%edx
6415d8:	52                   	push   %edx
6415d9:	50                   	push   %eax
6415da:	8b 44 24 40          	mov    0x40(%esp),%eax
6415de:	8b 54 24 44          	mov    0x44(%esp),%edx
6415e2:	f7 d0                	not    %eax
6415e4:	f7 d2                	not    %edx
6415e6:	23 44 24 10          	and    0x10(%esp),%eax
6415ea:	23 54 24 14          	and    0x14(%esp),%edx
6415ee:	33 04 24             	xor    (%esp),%eax
6415f1:	33 54 24 04          	xor    0x4(%esp),%edx
6415f5:	83 c4 08             	add    $0x8,%esp
6415f8:	03 04 24             	add    (%esp),%eax
6415fb:	13 54 24 04          	adc    0x4(%esp),%edx
6415ff:	83 c4 08             	add    $0x8,%esp
641602:	05 35 12 c7 25       	add    $0x25c71235,%eax
641607:	81 d2 a7 06 dc 9b    	adc    $0x9bdc06a7,%edx
64160d:	03 84 24 c0 00 00 00 	add    0xc0(%esp),%eax
641614:	13 94 24 c4 00 00 00 	adc    0xc4(%esp),%edx
64161b:	89 44 24 40          	mov    %eax,0x40(%esp)
64161f:	89 54 24 44          	mov    %edx,0x44(%esp)
641623:	8b 44 24 10          	mov    0x10(%esp),%eax
641627:	8b 54 24 14          	mov    0x14(%esp),%edx
64162b:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
64162f:	c1 ea 1c             	shr    $0x1c,%edx
641632:	52                   	push   %edx
641633:	50                   	push   %eax
641634:	8b 54 24 18          	mov    0x18(%esp),%edx
641638:	c1 e2 04             	shl    $0x4,%edx
64163b:	33 c0                	xor    %eax,%eax
64163d:	0b 04 24             	or     (%esp),%eax
641640:	0b 54 24 04          	or     0x4(%esp),%edx
641644:	83 c4 08             	add    $0x8,%esp
641647:	52                   	push   %edx
641648:	50                   	push   %eax
641649:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64164d:	c1 e8 02             	shr    $0x2,%eax
641650:	33 d2                	xor    %edx,%edx
641652:	52                   	push   %edx
641653:	50                   	push   %eax
641654:	8b 44 24 20          	mov    0x20(%esp),%eax
641658:	8b 54 24 24          	mov    0x24(%esp),%edx
64165c:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
641660:	c1 e0 1e             	shl    $0x1e,%eax
641663:	0b 04 24             	or     (%esp),%eax
641666:	0b 54 24 04          	or     0x4(%esp),%edx
64166a:	83 c4 08             	add    $0x8,%esp
64166d:	33 04 24             	xor    (%esp),%eax
641670:	33 54 24 04          	xor    0x4(%esp),%edx
641674:	83 c4 08             	add    $0x8,%esp
641677:	52                   	push   %edx
641678:	50                   	push   %eax
641679:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64167d:	c1 e8 07             	shr    $0x7,%eax
641680:	33 d2                	xor    %edx,%edx
641682:	52                   	push   %edx
641683:	50                   	push   %eax
641684:	8b 44 24 20          	mov    0x20(%esp),%eax
641688:	8b 54 24 24          	mov    0x24(%esp),%edx
64168c:	0f a4 c2 19          	shld   $0x19,%eax,%edx
641690:	c1 e0 19             	shl    $0x19,%eax
641693:	0b 04 24             	or     (%esp),%eax
641696:	0b 54 24 04          	or     0x4(%esp),%edx
64169a:	83 c4 08             	add    $0x8,%esp
64169d:	33 04 24             	xor    (%esp),%eax
6416a0:	33 54 24 04          	xor    0x4(%esp),%edx
6416a4:	83 c4 08             	add    $0x8,%esp
6416a7:	52                   	push   %edx
6416a8:	50                   	push   %eax
6416a9:	8b 44 24 18          	mov    0x18(%esp),%eax
6416ad:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6416b1:	23 44 24 20          	and    0x20(%esp),%eax
6416b5:	23 54 24 24          	and    0x24(%esp),%edx
6416b9:	52                   	push   %edx
6416ba:	50                   	push   %eax
6416bb:	8b 44 24 20          	mov    0x20(%esp),%eax
6416bf:	8b 54 24 24          	mov    0x24(%esp),%edx
6416c3:	23 44 24 30          	and    0x30(%esp),%eax
6416c7:	23 54 24 34          	and    0x34(%esp),%edx
6416cb:	33 04 24             	xor    (%esp),%eax
6416ce:	33 54 24 04          	xor    0x4(%esp),%edx
6416d2:	83 c4 08             	add    $0x8,%esp
6416d5:	52                   	push   %edx
6416d6:	50                   	push   %eax
6416d7:	8b 44 24 28          	mov    0x28(%esp),%eax
6416db:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6416df:	23 44 24 30          	and    0x30(%esp),%eax
6416e3:	23 54 24 34          	and    0x34(%esp),%edx
6416e7:	33 04 24             	xor    (%esp),%eax
6416ea:	33 54 24 04          	xor    0x4(%esp),%edx
6416ee:	83 c4 08             	add    $0x8,%esp
6416f1:	03 04 24             	add    (%esp),%eax
6416f4:	13 54 24 04          	adc    0x4(%esp),%edx
6416f8:	83 c4 08             	add    $0x8,%esp
6416fb:	89 44 24 48          	mov    %eax,0x48(%esp)
6416ff:	89 54 24 4c          	mov    %edx,0x4c(%esp)
641703:	8b 44 24 28          	mov    0x28(%esp),%eax
641707:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64170b:	03 44 24 40          	add    0x40(%esp),%eax
64170f:	13 54 24 44          	adc    0x44(%esp),%edx
641713:	89 44 24 28          	mov    %eax,0x28(%esp)
641717:	89 54 24 2c          	mov    %edx,0x2c(%esp)
64171b:	8b 44 24 40          	mov    0x40(%esp),%eax
64171f:	8b 54 24 44          	mov    0x44(%esp),%edx
641723:	03 44 24 48          	add    0x48(%esp),%eax
641727:	13 54 24 4c          	adc    0x4c(%esp),%edx
64172b:	89 44 24 08          	mov    %eax,0x8(%esp)
64172f:	89 54 24 0c          	mov    %edx,0xc(%esp)
641733:	8b 44 24 28          	mov    0x28(%esp),%eax
641737:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64173b:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64173f:	c1 ea 0e             	shr    $0xe,%edx
641742:	52                   	push   %edx
641743:	50                   	push   %eax
641744:	8b 54 24 30          	mov    0x30(%esp),%edx
641748:	c1 e2 12             	shl    $0x12,%edx
64174b:	33 c0                	xor    %eax,%eax
64174d:	0b 04 24             	or     (%esp),%eax
641750:	0b 54 24 04          	or     0x4(%esp),%edx
641754:	83 c4 08             	add    $0x8,%esp
641757:	52                   	push   %edx
641758:	50                   	push   %eax
641759:	8b 44 24 30          	mov    0x30(%esp),%eax
64175d:	8b 54 24 34          	mov    0x34(%esp),%edx
641761:	0f ac d0 12          	shrd   $0x12,%edx,%eax
641765:	c1 ea 12             	shr    $0x12,%edx
641768:	52                   	push   %edx
641769:	50                   	push   %eax
64176a:	8b 54 24 38          	mov    0x38(%esp),%edx
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