647376:	23 54 24 3c          	and    0x3c(%esp),%edx
64737a:	33 04 24             	xor    (%esp),%eax
64737d:	33 54 24 04          	xor    0x4(%esp),%edx
647381:	83 c4 08             	add    $0x8,%esp
647384:	03 04 24             	add    (%esp),%eax
647387:	13 54 24 04          	adc    0x4(%esp),%edx
64738b:	83 c4 08             	add    $0x8,%esp
64738e:	89 44 24 48          	mov    %eax,0x48(%esp)
647392:	89 54 24 4c          	mov    %edx,0x4c(%esp)
647396:	8b 44 24 30          	mov    0x30(%esp),%eax
64739a:	8b 54 24 34          	mov    0x34(%esp),%edx
64739e:	03 44 24 40          	add    0x40(%esp),%eax
6473a2:	13 54 24 44          	adc    0x44(%esp),%edx
6473a6:	89 44 24 30          	mov    %eax,0x30(%esp)
6473aa:	89 54 24 34          	mov    %edx,0x34(%esp)
6473ae:	8b 44 24 40          	mov    0x40(%esp),%eax
6473b2:	8b 54 24 44          	mov    0x44(%esp),%edx
6473b6:	03 44 24 48          	add    0x48(%esp),%eax
6473ba:	13 54 24 4c          	adc    0x4c(%esp),%edx
6473be:	89 44 24 10          	mov    %eax,0x10(%esp)
6473c2:	89 54 24 14          	mov    %edx,0x14(%esp)
6473c6:	8b 44 24 30          	mov    0x30(%esp),%eax
6473ca:	8b 54 24 34          	mov    0x34(%esp),%edx
6473ce:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6473d2:	c1 ea 0e             	shr    $0xe,%edx
6473d5:	52                   	push   %edx
6473d6:	50                   	push   %eax
6473d7:	8b 54 24 38          	mov    0x38(%esp),%edx
6473db:	c1 e2 12             	shl    $0x12,%edx
6473de:	33 c0                	xor    %eax,%eax
6473e0:	0b 04 24             	or     (%esp),%eax
6473e3:	0b 54 24 04          	or     0x4(%esp),%edx
6473e7:	83 c4 08             	add    $0x8,%esp
6473ea:	52                   	push   %edx
6473eb:	50                   	push   %eax
6473ec:	8b 44 24 38          	mov    0x38(%esp),%eax
6473f0:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6473f4:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6473f8:	c1 ea 12             	shr    $0x12,%edx
6473fb:	52                   	push   %edx
6473fc:	50                   	push   %eax
6473fd:	8b 54 24 40          	mov    0x40(%esp),%edx
647401:	c1 e2 0e             	shl    $0xe,%edx
647404:	33 c0                	xor    %eax,%eax
647406:	0b 04 24             	or     (%esp),%eax
647409:	0b 54 24 04          	or     0x4(%esp),%edx
64740d:	83 c4 08             	add    $0x8,%esp
647410:	33 04 24             	xor    (%esp),%eax
647413:	33 54 24 04          	xor    0x4(%esp),%edx
647417:	83 c4 08             	add    $0x8,%esp
64741a:	52                   	push   %edx
64741b:	50                   	push   %eax
64741c:	8b 44 24 3c          	mov    0x3c(%esp),%eax
647420:	c1 e8 09             	shr    $0x9,%eax
647423:	33 d2                	xor    %edx,%edx
647425:	52                   	push   %edx
647426:	50                   	push   %eax
647427:	8b 44 24 40          	mov    0x40(%esp),%eax
64742b:	8b 54 24 44          	mov    0x44(%esp),%edx
64742f:	0f a4 c2 17          	shld   $0x17,%eax,%edx
647433:	c1 e0 17             	shl    $0x17,%eax
647436:	0b 04 24             	or     (%esp),%eax
647439:	0b 54 24 04          	or     0x4(%esp),%edx
64743d:	83 c4 08             	add    $0x8,%esp
647440:	33 04 24             	xor    (%esp),%eax
647443:	33 54 24 04          	xor    0x4(%esp),%edx
647447:	83 c4 08             	add    $0x8,%esp
64744a:	03 44 24 08          	add    0x8(%esp),%eax
64744e:	13 54 24 0c          	adc    0xc(%esp),%edx
647452:	52                   	push   %edx
647453:	50                   	push   %eax
647454:	8b 44 24 38          	mov    0x38(%esp),%eax
647458:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64745c:	23 44 24 40          	and    0x40(%esp),%eax
647460:	23 54 24 44          	and    0x44(%esp),%edx
647464:	52                   	push   %edx
647465:	50                   	push   %eax
647466:	8b 44 24 40          	mov    0x40(%esp),%eax
64746a:	8b 54 24 44          	mov    0x44(%esp),%edx
64746e:	f7 d0                	not    %eax
647470:	f7 d2                	not    %edx
647472:	23 44 24 10          	and    0x10(%esp),%eax
647476:	23 54 24 14          	and    0x14(%esp),%edx
64747a:	33 04 24             	xor    (%esp),%eax
64747d:	33 54 24 04          	xor    0x4(%esp),%edx
647481:	83 c4 08             	add    $0x8,%esp
647484:	03 04 24             	add    (%esp),%eax
647487:	13 54 24 04          	adc    0x4(%esp),%edx
64748b:	83 c4 08             	add    $0x8,%esp
64748e:	05 15 79 c6 b2       	add    $0xb2c67915,%eax
647493:	81 d2 f7 a3 f9 be    	adc    $0xbef9a3f7,%edx
647499:	03 84 24 40 02 00 00 	add    0x240(%esp),%eax
6474a0:	13 94 24 44 02 00 00 	adc    0x244(%esp),%edx
6474a7:	89 44 24 40          	mov    %eax,0x40(%esp)
6474ab:	89 54 24 44          	mov    %edx,0x44(%esp)
6474af:	8b 44 24 10          	mov    0x10(%esp),%eax
6474b3:	8b 54 24 14          	mov    0x14(%esp),%edx
6474b7:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6474bb:	c1 ea 1c             	shr    $0x1c,%edx
6474be:	52                   	push   %edx
6474bf:	50                   	push   %eax
6474c0:	8b 54 24 18          	mov    0x18(%esp),%edx
6474c4:	c1 e2 04             	shl    $0x4,%edx
6474c7:	33 c0                	xor    %eax,%eax
6474c9:	0b 04 24             	or     (%esp),%eax
6474cc:	0b 54 24 04          	or     0x4(%esp),%edx
6474d0:	83 c4 08             	add    $0x8,%esp
6474d3:	52                   	push   %edx
6474d4:	50                   	push   %eax
6474d5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
6474d9:	c1 e8 02             	shr    $0x2,%eax
6474dc:	33 d2                	xor    %edx,%edx
6474de:	52                   	push   %edx
6474df:	50                   	push   %eax
6474e0:	8b 44 24 20          	mov    0x20(%esp),%eax
6474e4:	8b 54 24 24          	mov    0x24(%esp),%edx
6474e8:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6474ec:	c1 e0 1e             	shl    $0x1e,%eax
6474ef:	0b 04 24             	or     (%esp),%eax
6474f2:	0b 54 24 04          	or     0x4(%esp),%edx
6474f6:	83 c4 08             	add    $0x8,%esp
6474f9:	33 04 24             	xor    (%esp),%eax
6474fc:	33 54 24 04          	xor    0x4(%esp),%edx
647500:	83 c4 08             	add    $0x8,%esp
647503:	52                   	push   %edx
647504:	50                   	push   %eax
647505:	8b 44 24 1c          	mov    0x1c(%esp),%eax
647509:	c1 e8 07             	shr    $0x7,%eax
64750c:	33 d2                	xor    %edx,%edx
64750e:	52                   	push   %edx
64750f:	50                   	push   %eax
647510:	8b 44 24 20          	mov    0x20(%esp),%eax
647514:	8b 54 24 24          	mov    0x24(%esp),%edx
647518:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64751c:	c1 e0 19             	shl    $0x19,%eax
64751f:	0b 04 24             	or     (%esp),%eax
647522:	0b 54 24 04          	or     0x4(%esp),%edx
647526:	83 c4 08             	add    $0x8,%esp
647529:	33 04 24             	xor    (%esp),%eax
64752c:	33 54 24 04          	xor    0x4(%esp),%edx
647530:	83 c4 08             	add    $0x8,%esp
647533:	52                   	push   %edx
647534:	50                   	push   %eax
647535:	8b 44 24 18          	mov    0x18(%esp),%eax
647539:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64753d:	23 44 24 20          	and    0x20(%esp),%eax
647541:	23 54 24 24          	and    0x24(%esp),%edx
647545:	52                   	push   %edx
647546:	50                   	push   %eax
647547:	8b 44 24 20          	mov    0x20(%esp),%eax
64754b:	8b 54 24 24          	mov    0x24(%esp),%edx
64754f:	23 44 24 30          	and    0x30(%esp),%eax
647553:	23 54 24 34          	and    0x34(%esp),%edx
647557:	33 04 24             	xor    (%esp),%eax
64755a:	33 54 24 04          	xor    0x4(%esp),%edx
64755e:	83 c4 08             	add    $0x8,%esp
647561:	52                   	push   %edx
647562:	50                   	push   %eax
647563:	8b 44 24 28          	mov    0x28(%esp),%eax
647567:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64756b:	23 44 24 30          	and    0x30(%esp),%eax
64756f:	23 54 24 34          	and    0x34(%esp),%edx
647573:	33 04 24             	xor    (%esp),%eax
647576:	33 54 24 04          	xor    0x4(%esp),%edx
64757a:	83 c4 08             	add    $0x8,%esp
64757d:	03 04 24             	add    (%esp),%eax
647580:	13 54 24 04          	adc    0x4(%esp),%edx
647584:	83 c4 08             	add    $0x8,%esp
647587:	89 44 24 48          	mov    %eax,0x48(%esp)
64758b:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64758f:	8b 44 24 28          	mov    0x28(%esp),%eax
647593:	8b 54 24 2c          	mov    0x2c(%esp),%edx
647597:	03 44 24 40          	add    0x40(%esp),%eax
64759b:	13 54 24 44          	adc    0x44(%esp),%edx
64759f:	89 44 24 28          	mov    %eax,0x28(%esp)
6475a3:	89 54 24 2c          	mov    %edx,0x2c(%esp)
6475a7:	8b 44 24 40          	mov    0x40(%esp),%eax
6475ab:	8b 54 24 44          	mov    0x44(%esp),%edx
6475af:	03 44 24 48          	add    0x48(%esp),%eax
6475b3:	13 54 24 4c          	adc    0x4c(%esp),%edx
6475b7:	89 44 24 08          	mov    %eax,0x8(%esp)
6475bb:	89 54 24 0c          	mov    %edx,0xc(%esp)
6475bf:	8b 44 24 28          	mov    0x28(%esp),%eax
6475c3:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6475c7:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6475cb:	c1 ea 0e             	shr    $0xe,%edx
6475ce:	52                   	push   %edx
6475cf:	50                   	push   %eax
6475d0:	8b 54 24 30          	mov    0x30(%esp),%edx
6475d4:	c1 e2 12             	shl    $0x12,%edx
6475d7:	33 c0                	xor    %eax,%eax
6475d9:	0b 04 24             	or     (%esp),%eax
6475dc:	0b 54 24 04          	or     0x4(%esp),%edx
6475e0:	83 c4 08             	add    $0x8,%esp
6475e3:	52                   	push   %edx
6475e4:	50                   	push   %eax
6475e5:	8b 44 24 30          	mov    0x30(%esp),%eax
6475e9:	8b 54 24 34          	mov    0x34(%esp),%edx
6475ed:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6475f1:	c1 ea 12             	shr    $0x12,%edx
6475f4:	52                   	push   %edx
6475f5:	50                   	push   %eax
6475f6:	8b 54 24 38          	mov    0x38(%esp),%edx
6475fa:	c1 e2 0e             	shl    $0xe,%edx
6475fd:	33 c0                	xor    %eax,%eax
6475ff:	0b 04 24             	or     (%esp),%eax
647602:	0b 54 24 04          	or     0x4(%esp),%edx
647606:	83 c4 08             	add    $0x8,%esp
647609:	33 04 24             	xor    (%esp),%eax
64760c:	33 54 24 04          	xor    0x4(%esp),%edx
647610:	83 c4 08             	add    $0x8,%esp
647613:	52                   	push   %edx
647614:	50                   	push   %eax
647615:	8b 44 24 34          	mov    0x34(%esp),%eax
647619:	c1 e8 09             	shr    $0x9,%eax
64761c:	33 d2                	xor    %edx,%edx
64761e:	52                   	push   %edx
64761f:	50                   	push   %eax
647620:	8b 44 24 38          	mov    0x38(%esp),%eax
647624:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647628:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64762c:	c1 e0 17             	shl    $0x17,%eax
64762f:	0b 04 24             	or     (%esp),%eax
647632:	0b 54 24 04          	or     0x4(%esp),%edx
647636:	83 c4 08             	add    $0x8,%esp
647639:	33 04 24             	xor    (%esp),%eax
64763c:	33 54 24 04          	xor    0x4(%esp),%edx
647640:	83 c4 08             	add    $0x8,%esp
647643:	03 04 24             	add    (%esp),%eax
647646:	13 54 24 04          	adc    0x4(%esp),%edx
64764a:	52                   	push   %edx
64764b:	50                   	push   %eax
64764c:	8b 44 24 30          	mov    0x30(%esp),%eax
647650:	8b 54 24 34          	mov    0x34(%esp),%edx
647654:	23 44 24 38          	and    0x38(%esp),%eax
647658:	23 54 24 3c          	and    0x3c(%esp),%edx
64765c:	52                   	push   %edx
64765d:	50                   	push   %eax
64765e:	8b 44 24 38          	mov    0x38(%esp),%eax
647662:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647666:	f7 d0                	not    %eax
647668:	f7 d2                	not    %edx
64766a:	23 44 24 48          	and    0x48(%esp),%eax
64766e:	23 54 24 4c          	and    0x4c(%esp),%edx
647672:	33 04 24             	xor    (%esp),%eax
647675:	33 54 24 04          	xor    0x4(%esp),%edx
647679:	83 c4 08             	add    $0x8,%esp
64767c:	03 04 24             	add    (%esp),%eax
64767f:	13 54 24 04          	adc    0x4(%esp),%edx
647683:	83 c4 08             	add    $0x8,%esp
647686:	05 2b 53 72 e3       	add    $0xe372532b,%eax
64768b:	81 d2 f2 78 71 c6    	adc    $0xc67178f2,%edx
647691:	03 84 24 48 02 00 00 	add    0x248(%esp),%eax
647698:	13 94 24 4c 02 00 00 	adc    0x24c(%esp),%edx
64769f:	89 44 24 40          	mov    %eax,0x40(%esp)
6476a3:	89 54 24 44          	mov    %edx,0x44(%esp)
6476a7:	8b 44 24 08          	mov    0x8(%esp),%eax
6476ab:	8b 54 24 0c          	mov    0xc(%esp),%edx
6476af:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6476b3:	c1 ea 1c             	shr    $0x1c,%edx
6476b6:	52                   	push   %edx
6476b7:	50                   	push   %eax
6476b8:	8b 54 24 10          	mov    0x10(%esp),%edx
6476bc:	c1 e2 04             	shl    $0x4,%edx
6476bf:	33 c0                	xor    %eax,%eax
6476c1:	0b 04 24             	or     (%esp),%eax
6476c4:	0b 54 24 04          	or     0x4(%esp),%edx
6476c8:	83 c4 08             	add    $0x8,%esp
6476cb:	52                   	push   %edx
6476cc:	50                   	push   %eax
6476cd:	8b 44 24 14          	mov    0x14(%esp),%eax
6476d1:	c1 e8 02             	shr    $0x2,%eax
6476d4:	33 d2                	xor    %edx,%edx
6476d6:	52                   	push   %edx
6476d7:	50                   	push   %eax
6476d8:	8b 44 24 18          	mov    0x18(%esp),%eax
6476dc:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6476e0:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6476e4:	c1 e0 1e             	shl    $0x1e,%eax
6476e7:	0b 04 24             	or     (%esp),%eax
6476ea:	0b 54 24 04          	or     0x4(%esp),%edx
6476ee:	83 c4 08             	add    $0x8,%esp
6476f1:	33 04 24             	xor    (%esp),%eax
6476f4:	33 54 24 04          	xor    0x4(%esp),%edx
6476f8:	83 c4 08             	add    $0x8,%esp
6476fb:	52                   	push   %edx
6476fc:	50                   	push   %eax
6476fd:	8b 44 24 14          	mov    0x14(%esp),%eax
647701:	c1 e8 07             	shr    $0x7,%eax
647704:	33 d2                	xor    %edx,%edx
647706:	52                   	push   %edx
647707:	50                   	push   %eax
647708:	8b 44 24 18          	mov    0x18(%esp),%eax
64770c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647710:	0f a4 c2 19          	shld   $0x19,%eax,%edx
647714:	c1 e0 19             	shl    $0x19,%eax
647717:	0b 04 24             	or     (%esp),%eax
64771a:	0b 54 24 04          	or     0x4(%esp),%edx
64771e:	83 c4 08             	add    $0x8,%esp
647721:	33 04 24             	xor    (%esp),%eax
647724:	33 54 24 04          	xor    0x4(%esp),%edx
647728:	83 c4 08             	add    $0x8,%esp
64772b:	52                   	push   %edx
64772c:	50                   	push   %eax
64772d:	8b 44 24 10          	mov    0x10(%esp),%eax
647731:	8b 54 24 14          	mov    0x14(%esp),%edx
647735:	23 44 24 18          	and    0x18(%esp),%eax
647739:	23 54 24 1c          	and    0x1c(%esp),%edx
64773d:	52                   	push   %edx
64773e:	50                   	push   %eax
64773f:	8b 44 24 18          	mov    0x18(%esp),%eax
647743:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647747:	23 44 24 28          	and    0x28(%esp),%eax
64774b:	23 54 24 2c          	and    0x2c(%esp),%edx
64774f:	33 04 24             	xor    (%esp),%eax
647752:	33 54 24 04          	xor    0x4(%esp),%edx
647756:	83 c4 08             	add    $0x8,%esp
647759:	52                   	push   %edx
64775a:	50                   	push   %eax
64775b:	8b 44 24 20          	mov    0x20(%esp),%eax
64775f:	8b 54 24 24          	mov    0x24(%esp),%edx
647763:	23 44 24 28          	and    0x28(%esp),%eax
647767:	23 54 24 2c          	and    0x2c(%esp),%edx
64776b:	33 04 24             	xor    (%esp),%eax
64776e:	33 54 24 04          	xor    0x4(%esp),%edx
647772:	83 c4 08             	add    $0x8,%esp
647775:	03 04 24             	add    (%esp),%eax
647778:	13 54 24 04          	adc    0x4(%esp),%edx
64777c:	83 c4 08             	add    $0x8,%esp
64777f:	89 44 24 48          	mov    %eax,0x48(%esp)
647783:	89 54 24 4c          	mov    %edx,0x4c(%esp)
647787:	8b 44 24 20          	mov    0x20(%esp),%eax
64778b:	8b 54 24 24          	mov    0x24(%esp),%edx
64778f:	03 44 24 40          	add    0x40(%esp),%eax
647793:	13 54 24 44          	adc    0x44(%esp),%edx
647797:	89 44 24 20          	mov    %eax,0x20(%esp)
64779b:	89 54 24 24          	mov    %edx,0x24(%esp)
64779f:	8b 44 24 40          	mov    0x40(%esp),%eax
6477a3:	8b 54 24 44          	mov    0x44(%esp),%edx
6477a7:	03 44 24 48          	add    0x48(%esp),%eax
6477ab:	13 54 24 4c          	adc    0x4c(%esp),%edx
6477af:	89 04 24             	mov    %eax,(%esp)
6477b2:	89 54 24 04          	mov    %edx,0x4(%esp)
6477b6:	8b 44 24 20          	mov    0x20(%esp),%eax
6477ba:	8b 54 24 24          	mov    0x24(%esp),%edx
6477be:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6477c2:	c1 ea 0e             	shr    $0xe,%edx
6477c5:	52                   	push   %edx
6477c6:	50                   	push   %eax
6477c7:	8b 54 24 28          	mov    0x28(%esp),%edx