64625c:	83 c4 08             	add    $0x8,%esp
64625f:	52                   	push   %edx
646260:	50                   	push   %eax
646261:	8b 44 24 44          	mov    0x44(%esp),%eax
646265:	c1 e8 09             	shr    $0x9,%eax
646268:	33 d2                	xor    %edx,%edx
64626a:	52                   	push   %edx
64626b:	50                   	push   %eax
64626c:	8b 44 24 48          	mov    0x48(%esp),%eax
646270:	8b 54 24 4c          	mov    0x4c(%esp),%edx
646274:	0f a4 c2 17          	shld   $0x17,%eax,%edx
646278:	c1 e0 17             	shl    $0x17,%eax
64627b:	0b 04 24             	or     (%esp),%eax
64627e:	0b 54 24 04          	or     0x4(%esp),%edx
646282:	83 c4 08             	add    $0x8,%esp
646285:	33 04 24             	xor    (%esp),%eax
646288:	33 54 24 04          	xor    0x4(%esp),%edx
64628c:	83 c4 08             	add    $0x8,%esp
64628f:	03 44 24 10          	add    0x10(%esp),%eax
646293:	13 54 24 14          	adc    0x14(%esp),%edx
646297:	52                   	push   %edx
646298:	50                   	push   %eax
646299:	8b 44 24 40          	mov    0x40(%esp),%eax
64629d:	8b 54 24 44          	mov    0x44(%esp),%edx
6462a1:	23 44 24 08          	and    0x8(%esp),%eax
6462a5:	23 54 24 0c          	and    0xc(%esp),%edx
6462a9:	52                   	push   %edx
6462aa:	50                   	push   %eax
6462ab:	8b 44 24 48          	mov    0x48(%esp),%eax
6462af:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6462b3:	f7 d0                	not    %eax
6462b5:	f7 d2                	not    %edx
6462b7:	23 44 24 18          	and    0x18(%esp),%eax
6462bb:	23 54 24 1c          	and    0x1c(%esp),%edx
6462bf:	33 04 24             	xor    (%esp),%eax
6462c2:	33 54 24 04          	xor    0x4(%esp),%edx
6462c6:	83 c4 08             	add    $0x8,%esp
6462c9:	03 04 24             	add    (%esp),%eax
6462cc:	13 54 24 04          	adc    0x4(%esp),%edx
6462d0:	83 c4 08             	add    $0x8,%esp
6462d3:	05 cb 8a 41 e3       	add    $0xe3418acb,%eax
6462d8:	81 d2 4a aa d8 4e    	adc    $0x4ed8aa4a,%edx
6462de:	03 84 24 f8 01 00 00 	add    0x1f8(%esp),%eax
6462e5:	13 94 24 fc 01 00 00 	adc    0x1fc(%esp),%edx
6462ec:	89 44 24 40          	mov    %eax,0x40(%esp)
6462f0:	89 54 24 44          	mov    %edx,0x44(%esp)
6462f4:	8b 44 24 18          	mov    0x18(%esp),%eax
6462f8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6462fc:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
646300:	c1 ea 1c             	shr    $0x1c,%edx
646303:	52                   	push   %edx
646304:	50                   	push   %eax
646305:	8b 54 24 20          	mov    0x20(%esp),%edx
646309:	c1 e2 04             	shl    $0x4,%edx
64630c:	33 c0                	xor    %eax,%eax
64630e:	0b 04 24             	or     (%esp),%eax
646311:	0b 54 24 04          	or     0x4(%esp),%edx
646315:	83 c4 08             	add    $0x8,%esp
646318:	52                   	push   %edx
646319:	50                   	push   %eax
64631a:	8b 44 24 24          	mov    0x24(%esp),%eax
64631e:	c1 e8 02             	shr    $0x2,%eax
646321:	33 d2                	xor    %edx,%edx
646323:	52                   	push   %edx
646324:	50                   	push   %eax
646325:	8b 44 24 28          	mov    0x28(%esp),%eax
646329:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64632d:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
646331:	c1 e0 1e             	shl    $0x1e,%eax
646334:	0b 04 24             	or     (%esp),%eax
646337:	0b 54 24 04          	or     0x4(%esp),%edx
64633b:	83 c4 08             	add    $0x8,%esp
64633e:	33 04 24             	xor    (%esp),%eax
646341:	33 54 24 04          	xor    0x4(%esp),%edx
646345:	83 c4 08             	add    $0x8,%esp
646348:	52                   	push   %edx
646349:	50                   	push   %eax
64634a:	8b 44 24 24          	mov    0x24(%esp),%eax
64634e:	c1 e8 07             	shr    $0x7,%eax
646351:	33 d2                	xor    %edx,%edx
646353:	52                   	push   %edx
646354:	50                   	push   %eax
646355:	8b 44 24 28          	mov    0x28(%esp),%eax
646359:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64635d:	0f a4 c2 19          	shld   $0x19,%eax,%edx
646361:	c1 e0 19             	shl    $0x19,%eax
646364:	0b 04 24             	or     (%esp),%eax
646367:	0b 54 24 04          	or     0x4(%esp),%edx
64636b:	83 c4 08             	add    $0x8,%esp
64636e:	33 04 24             	xor    (%esp),%eax
646371:	33 54 24 04          	xor    0x4(%esp),%edx
646375:	83 c4 08             	add    $0x8,%esp
646378:	52                   	push   %edx
646379:	50                   	push   %eax
64637a:	8b 44 24 20          	mov    0x20(%esp),%eax
64637e:	8b 54 24 24          	mov    0x24(%esp),%edx
646382:	23 44 24 28          	and    0x28(%esp),%eax
646386:	23 54 24 2c          	and    0x2c(%esp),%edx
64638a:	52                   	push   %edx
64638b:	50                   	push   %eax
64638c:	8b 44 24 28          	mov    0x28(%esp),%eax
646390:	8b 54 24 2c          	mov    0x2c(%esp),%edx
646394:	23 44 24 38          	and    0x38(%esp),%eax
646398:	23 54 24 3c          	and    0x3c(%esp),%edx
64639c:	33 04 24             	xor    (%esp),%eax
64639f:	33 54 24 04          	xor    0x4(%esp),%edx
6463a3:	83 c4 08             	add    $0x8,%esp
6463a6:	52                   	push   %edx
6463a7:	50                   	push   %eax
6463a8:	8b 44 24 30          	mov    0x30(%esp),%eax
6463ac:	8b 54 24 34          	mov    0x34(%esp),%edx
6463b0:	23 44 24 38          	and    0x38(%esp),%eax
6463b4:	23 54 24 3c          	and    0x3c(%esp),%edx
6463b8:	33 04 24             	xor    (%esp),%eax
6463bb:	33 54 24 04          	xor    0x4(%esp),%edx
6463bf:	83 c4 08             	add    $0x8,%esp
6463c2:	03 04 24             	add    (%esp),%eax
6463c5:	13 54 24 04          	adc    0x4(%esp),%edx
6463c9:	83 c4 08             	add    $0x8,%esp
6463cc:	89 44 24 48          	mov    %eax,0x48(%esp)
6463d0:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6463d4:	8b 44 24 30          	mov    0x30(%esp),%eax
6463d8:	8b 54 24 34          	mov    0x34(%esp),%edx
6463dc:	03 44 24 40          	add    0x40(%esp),%eax
6463e0:	13 54 24 44          	adc    0x44(%esp),%edx
6463e4:	89 44 24 30          	mov    %eax,0x30(%esp)
6463e8:	89 54 24 34          	mov    %edx,0x34(%esp)
6463ec:	8b 44 24 40          	mov    0x40(%esp),%eax
6463f0:	8b 54 24 44          	mov    0x44(%esp),%edx
6463f4:	03 44 24 48          	add    0x48(%esp),%eax
6463f8:	13 54 24 4c          	adc    0x4c(%esp),%edx
6463fc:	89 44 24 10          	mov    %eax,0x10(%esp)
646400:	89 54 24 14          	mov    %edx,0x14(%esp)
646404:	8b 44 24 30          	mov    0x30(%esp),%eax
646408:	8b 54 24 34          	mov    0x34(%esp),%edx
64640c:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
646410:	c1 ea 0e             	shr    $0xe,%edx
646413:	52                   	push   %edx
646414:	50                   	push   %eax
646415:	8b 54 24 38          	mov    0x38(%esp),%edx
646419:	c1 e2 12             	shl    $0x12,%edx
64641c:	33 c0                	xor    %eax,%eax
64641e:	0b 04 24             	or     (%esp),%eax
646421:	0b 54 24 04          	or     0x4(%esp),%edx
646425:	83 c4 08             	add    $0x8,%esp
646428:	52                   	push   %edx
646429:	50                   	push   %eax
64642a:	8b 44 24 38          	mov    0x38(%esp),%eax
64642e:	8b 54 24 3c          	mov    0x3c(%esp),%edx
646432:	0f ac d0 12          	shrd   $0x12,%edx,%eax
646436:	c1 ea 12             	shr    $0x12,%edx
646439:	52                   	push   %edx
64643a:	50                   	push   %eax
64643b:	8b 54 24 40          	mov    0x40(%esp),%edx
64643f:	c1 e2 0e             	shl    $0xe,%edx
646442:	33 c0                	xor    %eax,%eax
646444:	0b 04 24             	or     (%esp),%eax
646447:	0b 54 24 04          	or     0x4(%esp),%edx
64644b:	83 c4 08             	add    $0x8,%esp
64644e:	33 04 24             	xor    (%esp),%eax
646451:	33 54 24 04          	xor    0x4(%esp),%edx
646455:	83 c4 08             	add    $0x8,%esp
646458:	52                   	push   %edx
646459:	50                   	push   %eax
64645a:	8b 44 24 3c          	mov    0x3c(%esp),%eax
64645e:	c1 e8 09             	shr    $0x9,%eax
646461:	33 d2                	xor    %edx,%edx
646463:	52                   	push   %edx
646464:	50                   	push   %eax
646465:	8b 44 24 40          	mov    0x40(%esp),%eax
646469:	8b 54 24 44          	mov    0x44(%esp),%edx
64646d:	0f a4 c2 17          	shld   $0x17,%eax,%edx
646471:	c1 e0 17             	shl    $0x17,%eax
646474:	0b 04 24             	or     (%esp),%eax
646477:	0b 54 24 04          	or     0x4(%esp),%edx
64647b:	83 c4 08             	add    $0x8,%esp
64647e:	33 04 24             	xor    (%esp),%eax
646481:	33 54 24 04          	xor    0x4(%esp),%edx
646485:	83 c4 08             	add    $0x8,%esp
646488:	03 44 24 08          	add    0x8(%esp),%eax
64648c:	13 54 24 0c          	adc    0xc(%esp),%edx
646490:	52                   	push   %edx
646491:	50                   	push   %eax
646492:	8b 44 24 38          	mov    0x38(%esp),%eax
646496:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64649a:	23 44 24 40          	and    0x40(%esp),%eax
64649e:	23 54 24 44          	and    0x44(%esp),%edx
6464a2:	52                   	push   %edx
6464a3:	50                   	push   %eax
6464a4:	8b 44 24 40          	mov    0x40(%esp),%eax
6464a8:	8b 54 24 44          	mov    0x44(%esp),%edx
6464ac:	f7 d0                	not    %eax
6464ae:	f7 d2                	not    %edx
6464b0:	23 44 24 10          	and    0x10(%esp),%eax
6464b4:	23 54 24 14          	and    0x14(%esp),%edx
6464b8:	33 04 24             	xor    (%esp),%eax
6464bb:	33 54 24 04          	xor    0x4(%esp),%edx
6464bf:	83 c4 08             	add    $0x8,%esp
6464c2:	03 04 24             	add    (%esp),%eax
6464c5:	13 54 24 04          	adc    0x4(%esp),%edx
6464c9:	83 c4 08             	add    $0x8,%esp
6464cc:	05 73 e3 63 77       	add    $0x7763e373,%eax
6464d1:	81 d2 4f ca 9c 5b    	adc    $0x5b9cca4f,%edx
6464d7:	03 84 24 00 02 00 00 	add    0x200(%esp),%eax
6464de:	13 94 24 04 02 00 00 	adc    0x204(%esp),%edx
6464e5:	89 44 24 40          	mov    %eax,0x40(%esp)
6464e9:	89 54 24 44          	mov    %edx,0x44(%esp)
6464ed:	8b 44 24 10          	mov    0x10(%esp),%eax
6464f1:	8b 54 24 14          	mov    0x14(%esp),%edx
6464f5:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6464f9:	c1 ea 1c             	shr    $0x1c,%edx
6464fc:	52                   	push   %edx
6464fd:	50                   	push   %eax
6464fe:	8b 54 24 18          	mov    0x18(%esp),%edx
646502:	c1 e2 04             	shl    $0x4,%edx
646505:	33 c0                	xor    %eax,%eax
646507:	0b 04 24             	or     (%esp),%eax
64650a:	0b 54 24 04          	or     0x4(%esp),%edx
64650e:	83 c4 08             	add    $0x8,%esp
646511:	52                   	push   %edx
646512:	50                   	push   %eax
646513:	8b 44 24 1c          	mov    0x1c(%esp),%eax
646517:	c1 e8 02             	shr    $0x2,%eax
64651a:	33 d2                	xor    %edx,%edx
64651c:	52                   	push   %edx
64651d:	50                   	push   %eax
64651e:	8b 44 24 20          	mov    0x20(%esp),%eax
646522:	8b 54 24 24          	mov    0x24(%esp),%edx
646526:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
64652a:	c1 e0 1e             	shl    $0x1e,%eax
64652d:	0b 04 24             	or     (%esp),%eax
646530:	0b 54 24 04          	or     0x4(%esp),%edx
646534:	83 c4 08             	add    $0x8,%esp
646537:	33 04 24             	xor    (%esp),%eax
64653a:	33 54 24 04          	xor    0x4(%esp),%edx
64653e:	83 c4 08             	add    $0x8,%esp
646541:	52                   	push   %edx
646542:	50                   	push   %eax
646543:	8b 44 24 1c          	mov    0x1c(%esp),%eax
646547:	c1 e8 07             	shr    $0x7,%eax
64654a:	33 d2                	xor    %edx,%edx
64654c:	52                   	push   %edx
64654d:	50                   	push   %eax
64654e:	8b 44 24 20          	mov    0x20(%esp),%eax
646552:	8b 54 24 24          	mov    0x24(%esp),%edx
646556:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64655a:	c1 e0 19             	shl    $0x19,%eax
64655d:	0b 04 24             	or     (%esp),%eax
646560:	0b 54 24 04          	or     0x4(%esp),%edx
646564:	83 c4 08             	add    $0x8,%esp
646567:	33 04 24             	xor    (%esp),%eax
64656a:	33 54 24 04          	xor    0x4(%esp),%edx
64656e:	83 c4 08             	add    $0x8,%esp
646571:	52                   	push   %edx
646572:	50                   	push   %eax
646573:	8b 44 24 18          	mov    0x18(%esp),%eax
646577:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64657b:	23 44 24 20          	and    0x20(%esp),%eax
64657f:	23 54 24 24          	and    0x24(%esp),%edx
646583:	52                   	push   %edx
646584:	50                   	push   %eax
646585:	8b 44 24 20          	mov    0x20(%esp),%eax
646589:	8b 54 24 24          	mov    0x24(%esp),%edx
64658d:	23 44 24 30          	and    0x30(%esp),%eax
646591:	23 54 24 34          	and    0x34(%esp),%edx
646595:	33 04 24             	xor    (%esp),%eax
646598:	33 54 24 04          	xor    0x4(%esp),%edx
64659c:	83 c4 08             	add    $0x8,%esp
64659f:	52                   	push   %edx
6465a0:	50                   	push   %eax
6465a1:	8b 44 24 28          	mov    0x28(%esp),%eax
6465a5:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6465a9:	23 44 24 30          	and    0x30(%esp),%eax
6465ad:	23 54 24 34          	and    0x34(%esp),%edx
6465b1:	33 04 24             	xor    (%esp),%eax
6465b4:	33 54 24 04          	xor    0x4(%esp),%edx
6465b8:	83 c4 08             	add    $0x8,%esp
6465bb:	03 04 24             	add    (%esp),%eax
6465be:	13 54 24 04          	adc    0x4(%esp),%edx
6465c2:	83 c4 08             	add    $0x8,%esp
6465c5:	89 44 24 48          	mov    %eax,0x48(%esp)
6465c9:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6465cd:	8b 44 24 28          	mov    0x28(%esp),%eax
6465d1:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6465d5:	03 44 24 40          	add    0x40(%esp),%eax
6465d9:	13 54 24 44          	adc    0x44(%esp),%edx
6465dd:	89 44 24 28          	mov    %eax,0x28(%esp)
6465e1:	89 54 24 2c          	mov    %edx,0x2c(%esp)
6465e5:	8b 44 24 40          	mov    0x40(%esp),%eax
6465e9:	8b 54 24 44          	mov    0x44(%esp),%edx
6465ed:	03 44 24 48          	add    0x48(%esp),%eax
6465f1:	13 54 24 4c          	adc    0x4c(%esp),%edx
6465f5:	89 44 24 08          	mov    %eax,0x8(%esp)
6465f9:	89 54 24 0c          	mov    %edx,0xc(%esp)
6465fd:	8b 44 24 28          	mov    0x28(%esp),%eax
646601:	8b 54 24 2c          	mov    0x2c(%esp),%edx
646605:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
646609:	c1 ea 0e             	shr    $0xe,%edx
64660c:	52                   	push   %edx
64660d:	50                   	push   %eax
64660e:	8b 54 24 30          	mov    0x30(%esp),%edx
646612:	c1 e2 12             	shl    $0x12,%edx
646615:	33 c0                	xor    %eax,%eax
646617:	0b 04 24             	or     (%esp),%eax
64661a:	0b 54 24 04          	or     0x4(%esp),%edx
64661e:	83 c4 08             	add    $0x8,%esp
646621:	52                   	push   %edx
646622:	50                   	push   %eax
646623:	8b 44 24 30          	mov    0x30(%esp),%eax
646627:	8b 54 24 34          	mov    0x34(%esp),%edx
64662b:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64662f:	c1 ea 12             	shr    $0x12,%edx
646632:	52                   	push   %edx
646633:	50                   	push   %eax
646634:	8b 54 24 38          	mov    0x38(%esp),%edx
646638:	c1 e2 0e             	shl    $0xe,%edx
64663b:	33 c0                	xor    %eax,%eax
64663d:	0b 04 24             	or     (%esp),%eax
646640:	0b 54 24 04          	or     0x4(%esp),%edx
646644:	83 c4 08             	add    $0x8,%esp
646647:	33 04 24             	xor    (%esp),%eax
64664a:	33 54 24 04          	xor    0x4(%esp),%edx
64664e:	83 c4 08             	add    $0x8,%esp
646651:	52                   	push   %edx
646652:	50                   	push   %eax
646653:	8b 44 24 34          	mov    0x34(%esp),%eax
646657:	c1 e8 09             	shr    $0x9,%eax
64665a:	33 d2                	xor    %edx,%edx
64665c:	52                   	push   %edx
64665d:	50                   	push   %eax
64665e:	8b 44 24 38          	mov    0x38(%esp),%eax
646662:	8b 54 24 3c          	mov    0x3c(%esp),%edx
646666:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64666a:	c1 e0 17             	shl    $0x17,%eax
64666d:	0b 04 24             	or     (%esp),%eax
646670:	0b 54 24 04          	or     0x4(%esp),%edx
646674:	83 c4 08             	add    $0x8,%esp
646677:	33 04 24             	xor    (%esp),%eax
64667a:	33 54 24 04          	xor    0x4(%esp),%edx
64667e:	83 c4 08             	add    $0x8,%esp
646681:	03 04 24             	add    (%esp),%eax
646684:	13 54 24 04          	adc    0x4(%esp),%edx
646688:	52                   	push   %edx
646689:	50                   	push   %eax
64668a:	8b 44 24 30          	mov    0x30(%esp),%eax
64668e:	8b 54 24 34          	mov    0x34(%esp),%edx
646692:	23 44 24 38          	and    0x38(%esp),%eax
646696:	23 54 24 3c          	and    0x3c(%esp),%edx
64669a:	52                   	push   %edx
64669b:	50                   	push   %eax