642222:	52                   	push   %edx
642223:	50                   	push   %eax
642224:	8b 44 24 30          	mov    0x30(%esp),%eax
642228:	8b 54 24 34          	mov    0x34(%esp),%edx
64222c:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642230:	c1 e0 1e             	shl    $0x1e,%eax
642233:	0b 04 24             	or     (%esp),%eax
642236:	0b 54 24 04          	or     0x4(%esp),%edx
64223a:	83 c4 08             	add    $0x8,%esp
64223d:	33 04 24             	xor    (%esp),%eax
642240:	33 54 24 04          	xor    0x4(%esp),%edx
642244:	83 c4 08             	add    $0x8,%esp
642247:	52                   	push   %edx
642248:	50                   	push   %eax
642249:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64224d:	c1 e8 07             	shr    $0x7,%eax
642250:	33 d2                	xor    %edx,%edx
642252:	52                   	push   %edx
642253:	50                   	push   %eax
642254:	8b 44 24 30          	mov    0x30(%esp),%eax
642258:	8b 54 24 34          	mov    0x34(%esp),%edx
64225c:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642260:	c1 e0 19             	shl    $0x19,%eax
642263:	0b 04 24             	or     (%esp),%eax
642266:	0b 54 24 04          	or     0x4(%esp),%edx
64226a:	83 c4 08             	add    $0x8,%esp
64226d:	33 04 24             	xor    (%esp),%eax
642270:	33 54 24 04          	xor    0x4(%esp),%edx
642274:	83 c4 08             	add    $0x8,%esp
642277:	52                   	push   %edx
642278:	50                   	push   %eax
642279:	8b 44 24 28          	mov    0x28(%esp),%eax
64227d:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642281:	23 44 24 30          	and    0x30(%esp),%eax
642285:	23 54 24 34          	and    0x34(%esp),%edx
642289:	52                   	push   %edx
64228a:	50                   	push   %eax
64228b:	8b 44 24 30          	mov    0x30(%esp),%eax
64228f:	8b 54 24 34          	mov    0x34(%esp),%edx
642293:	23 44 24 40          	and    0x40(%esp),%eax
642297:	23 54 24 44          	and    0x44(%esp),%edx
64229b:	33 04 24             	xor    (%esp),%eax
64229e:	33 54 24 04          	xor    0x4(%esp),%edx
6422a2:	83 c4 08             	add    $0x8,%esp
6422a5:	52                   	push   %edx
6422a6:	50                   	push   %eax
6422a7:	8b 44 24 38          	mov    0x38(%esp),%eax
6422ab:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6422af:	23 44 24 40          	and    0x40(%esp),%eax
6422b3:	23 54 24 44          	and    0x44(%esp),%edx
6422b7:	33 04 24             	xor    (%esp),%eax
6422ba:	33 54 24 04          	xor    0x4(%esp),%edx
6422be:	83 c4 08             	add    $0x8,%esp
6422c1:	03 04 24             	add    (%esp),%eax
6422c4:	13 54 24 04          	adc    0x4(%esp),%edx
6422c8:	83 c4 08             	add    $0x8,%esp
6422cb:	89 44 24 48          	mov    %eax,0x48(%esp)
6422cf:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6422d3:	8b 44 24 38          	mov    0x38(%esp),%eax
6422d7:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6422db:	03 44 24 40          	add    0x40(%esp),%eax
6422df:	13 54 24 44          	adc    0x44(%esp),%edx
6422e3:	89 44 24 38          	mov    %eax,0x38(%esp)
6422e7:	89 54 24 3c          	mov    %edx,0x3c(%esp)
6422eb:	8b 44 24 40          	mov    0x40(%esp),%eax
6422ef:	8b 54 24 44          	mov    0x44(%esp),%edx
6422f3:	03 44 24 48          	add    0x48(%esp),%eax
6422f7:	13 54 24 4c          	adc    0x4c(%esp),%edx
6422fb:	89 44 24 18          	mov    %eax,0x18(%esp)
6422ff:	89 54 24 1c          	mov    %edx,0x1c(%esp)
642303:	8b 44 24 38          	mov    0x38(%esp),%eax
642307:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64230b:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64230f:	c1 ea 0e             	shr    $0xe,%edx
642312:	52                   	push   %edx
642313:	50                   	push   %eax
642314:	8b 54 24 40          	mov    0x40(%esp),%edx
642318:	c1 e2 12             	shl    $0x12,%edx
64231b:	33 c0                	xor    %eax,%eax
64231d:	0b 04 24             	or     (%esp),%eax
642320:	0b 54 24 04          	or     0x4(%esp),%edx
642324:	83 c4 08             	add    $0x8,%esp
642327:	52                   	push   %edx
642328:	50                   	push   %eax
642329:	8b 44 24 40          	mov    0x40(%esp),%eax
64232d:	8b 54 24 44          	mov    0x44(%esp),%edx
642331:	0f ac d0 12          	shrd   $0x12,%edx,%eax
642335:	c1 ea 12             	shr    $0x12,%edx
642338:	52                   	push   %edx
642339:	50                   	push   %eax
64233a:	8b 54 24 48          	mov    0x48(%esp),%edx
64233e:	c1 e2 0e             	shl    $0xe,%edx
642341:	33 c0                	xor    %eax,%eax
642343:	0b 04 24             	or     (%esp),%eax
642346:	0b 54 24 04          	or     0x4(%esp),%edx
64234a:	83 c4 08             	add    $0x8,%esp
64234d:	33 04 24             	xor    (%esp),%eax
642350:	33 54 24 04          	xor    0x4(%esp),%edx
642354:	83 c4 08             	add    $0x8,%esp
642357:	52                   	push   %edx
642358:	50                   	push   %eax
642359:	8b 44 24 44          	mov    0x44(%esp),%eax
64235d:	c1 e8 09             	shr    $0x9,%eax
642360:	33 d2                	xor    %edx,%edx
642362:	52                   	push   %edx
642363:	50                   	push   %eax
642364:	8b 44 24 48          	mov    0x48(%esp),%eax
642368:	8b 54 24 4c          	mov    0x4c(%esp),%edx
64236c:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642370:	c1 e0 17             	shl    $0x17,%eax
642373:	0b 04 24             	or     (%esp),%eax
642376:	0b 54 24 04          	or     0x4(%esp),%edx
64237a:	83 c4 08             	add    $0x8,%esp
64237d:	33 04 24             	xor    (%esp),%eax
642380:	33 54 24 04          	xor    0x4(%esp),%edx
642384:	83 c4 08             	add    $0x8,%esp
642387:	03 44 24 10          	add    0x10(%esp),%eax
64238b:	13 54 24 14          	adc    0x14(%esp),%edx
64238f:	52                   	push   %edx
642390:	50                   	push   %eax
642391:	8b 44 24 40          	mov    0x40(%esp),%eax
642395:	8b 54 24 44          	mov    0x44(%esp),%edx
642399:	23 44 24 08          	and    0x8(%esp),%eax
64239d:	23 54 24 0c          	and    0xc(%esp),%edx
6423a1:	52                   	push   %edx
6423a2:	50                   	push   %eax
6423a3:	8b 44 24 48          	mov    0x48(%esp),%eax
6423a7:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6423ab:	f7 d0                	not    %eax
6423ad:	f7 d2                	not    %edx
6423af:	23 44 24 18          	and    0x18(%esp),%eax
6423b3:	23 54 24 1c          	and    0x1c(%esp),%edx
6423b7:	33 04 24             	xor    (%esp),%eax
6423ba:	33 54 24 04          	xor    0x4(%esp),%edx
6423be:	83 c4 08             	add    $0x8,%esp
6423c1:	03 04 24             	add    (%esp),%eax
6423c4:	13 54 24 04          	adc    0x4(%esp),%edx
6423c8:	83 c4 08             	add    $0x8,%esp
6423cb:	05 83 e4 a6 6e       	add    $0x6ea6e483,%eax
6423d0:	81 d2 aa 84 74 4a    	adc    $0x4a7484aa,%edx
6423d6:	03 84 24 f8 00 00 00 	add    0xf8(%esp),%eax
6423dd:	13 94 24 fc 00 00 00 	adc    0xfc(%esp),%edx
6423e4:	89 44 24 40          	mov    %eax,0x40(%esp)
6423e8:	89 54 24 44          	mov    %edx,0x44(%esp)
6423ec:	8b 44 24 18          	mov    0x18(%esp),%eax
6423f0:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6423f4:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6423f8:	c1 ea 1c             	shr    $0x1c,%edx
6423fb:	52                   	push   %edx
6423fc:	50                   	push   %eax
6423fd:	8b 54 24 20          	mov    0x20(%esp),%edx
642401:	c1 e2 04             	shl    $0x4,%edx
642404:	33 c0                	xor    %eax,%eax
642406:	0b 04 24             	or     (%esp),%eax
642409:	0b 54 24 04          	or     0x4(%esp),%edx
64240d:	83 c4 08             	add    $0x8,%esp
642410:	52                   	push   %edx
642411:	50                   	push   %eax
642412:	8b 44 24 24          	mov    0x24(%esp),%eax
642416:	c1 e8 02             	shr    $0x2,%eax
642419:	33 d2                	xor    %edx,%edx
64241b:	52                   	push   %edx
64241c:	50                   	push   %eax
64241d:	8b 44 24 28          	mov    0x28(%esp),%eax
642421:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642425:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642429:	c1 e0 1e             	shl    $0x1e,%eax
64242c:	0b 04 24             	or     (%esp),%eax
64242f:	0b 54 24 04          	or     0x4(%esp),%edx
642433:	83 c4 08             	add    $0x8,%esp
642436:	33 04 24             	xor    (%esp),%eax
642439:	33 54 24 04          	xor    0x4(%esp),%edx
64243d:	83 c4 08             	add    $0x8,%esp
642440:	52                   	push   %edx
642441:	50                   	push   %eax
642442:	8b 44 24 24          	mov    0x24(%esp),%eax
642446:	c1 e8 07             	shr    $0x7,%eax
642449:	33 d2                	xor    %edx,%edx
64244b:	52                   	push   %edx
64244c:	50                   	push   %eax
64244d:	8b 44 24 28          	mov    0x28(%esp),%eax
642451:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642455:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642459:	c1 e0 19             	shl    $0x19,%eax
64245c:	0b 04 24             	or     (%esp),%eax
64245f:	0b 54 24 04          	or     0x4(%esp),%edx
642463:	83 c4 08             	add    $0x8,%esp
642466:	33 04 24             	xor    (%esp),%eax
642469:	33 54 24 04          	xor    0x4(%esp),%edx
64246d:	83 c4 08             	add    $0x8,%esp
642470:	52                   	push   %edx
642471:	50                   	push   %eax
642472:	8b 44 24 20          	mov    0x20(%esp),%eax
642476:	8b 54 24 24          	mov    0x24(%esp),%edx
64247a:	23 44 24 28          	and    0x28(%esp),%eax
64247e:	23 54 24 2c          	and    0x2c(%esp),%edx
642482:	52                   	push   %edx
642483:	50                   	push   %eax
642484:	8b 44 24 28          	mov    0x28(%esp),%eax
642488:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64248c:	23 44 24 38          	and    0x38(%esp),%eax
642490:	23 54 24 3c          	and    0x3c(%esp),%edx
642494:	33 04 24             	xor    (%esp),%eax
642497:	33 54 24 04          	xor    0x4(%esp),%edx
64249b:	83 c4 08             	add    $0x8,%esp
64249e:	52                   	push   %edx
64249f:	50                   	push   %eax
6424a0:	8b 44 24 30          	mov    0x30(%esp),%eax
6424a4:	8b 54 24 34          	mov    0x34(%esp),%edx
6424a8:	23 44 24 38          	and    0x38(%esp),%eax
6424ac:	23 54 24 3c          	and    0x3c(%esp),%edx
6424b0:	33 04 24             	xor    (%esp),%eax
6424b3:	33 54 24 04          	xor    0x4(%esp),%edx
6424b7:	83 c4 08             	add    $0x8,%esp
6424ba:	03 04 24             	add    (%esp),%eax
6424bd:	13 54 24 04          	adc    0x4(%esp),%edx
6424c1:	83 c4 08             	add    $0x8,%esp
6424c4:	89 44 24 48          	mov    %eax,0x48(%esp)
6424c8:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6424cc:	8b 44 24 30          	mov    0x30(%esp),%eax
6424d0:	8b 54 24 34          	mov    0x34(%esp),%edx
6424d4:	03 44 24 40          	add    0x40(%esp),%eax
6424d8:	13 54 24 44          	adc    0x44(%esp),%edx
6424dc:	89 44 24 30          	mov    %eax,0x30(%esp)
6424e0:	89 54 24 34          	mov    %edx,0x34(%esp)
6424e4:	8b 44 24 40          	mov    0x40(%esp),%eax
6424e8:	8b 54 24 44          	mov    0x44(%esp),%edx
6424ec:	03 44 24 48          	add    0x48(%esp),%eax
6424f0:	13 54 24 4c          	adc    0x4c(%esp),%edx
6424f4:	89 44 24 10          	mov    %eax,0x10(%esp)
6424f8:	89 54 24 14          	mov    %edx,0x14(%esp)
6424fc:	8b 44 24 30          	mov    0x30(%esp),%eax
642500:	8b 54 24 34          	mov    0x34(%esp),%edx
642504:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
642508:	c1 ea 0e             	shr    $0xe,%edx
64250b:	52                   	push   %edx
64250c:	50                   	push   %eax
64250d:	8b 54 24 38          	mov    0x38(%esp),%edx
642511:	c1 e2 12             	shl    $0x12,%edx
642514:	33 c0                	xor    %eax,%eax
642516:	0b 04 24             	or     (%esp),%eax
642519:	0b 54 24 04          	or     0x4(%esp),%edx
64251d:	83 c4 08             	add    $0x8,%esp
642520:	52                   	push   %edx
642521:	50                   	push   %eax
642522:	8b 44 24 38          	mov    0x38(%esp),%eax
642526:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64252a:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64252e:	c1 ea 12             	shr    $0x12,%edx
642531:	52                   	push   %edx
642532:	50                   	push   %eax
642533:	8b 54 24 40          	mov    0x40(%esp),%edx
642537:	c1 e2 0e             	shl    $0xe,%edx
64253a:	33 c0                	xor    %eax,%eax
64253c:	0b 04 24             	or     (%esp),%eax
64253f:	0b 54 24 04          	or     0x4(%esp),%edx
642543:	83 c4 08             	add    $0x8,%esp
642546:	33 04 24             	xor    (%esp),%eax
642549:	33 54 24 04          	xor    0x4(%esp),%edx
64254d:	83 c4 08             	add    $0x8,%esp
642550:	52                   	push   %edx
642551:	50                   	push   %eax
642552:	8b 44 24 3c          	mov    0x3c(%esp),%eax
642556:	c1 e8 09             	shr    $0x9,%eax
642559:	33 d2                	xor    %edx,%edx
64255b:	52                   	push   %edx
64255c:	50                   	push   %eax
64255d:	8b 44 24 40          	mov    0x40(%esp),%eax
642561:	8b 54 24 44          	mov    0x44(%esp),%edx
642565:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642569:	c1 e0 17             	shl    $0x17,%eax
64256c:	0b 04 24             	or     (%esp),%eax
64256f:	0b 54 24 04          	or     0x4(%esp),%edx
642573:	83 c4 08             	add    $0x8,%esp
642576:	33 04 24             	xor    (%esp),%eax
642579:	33 54 24 04          	xor    0x4(%esp),%edx
64257d:	83 c4 08             	add    $0x8,%esp
642580:	03 44 24 08          	add    0x8(%esp),%eax
642584:	13 54 24 0c          	adc    0xc(%esp),%edx
642588:	52                   	push   %edx
642589:	50                   	push   %eax
64258a:	8b 44 24 38          	mov    0x38(%esp),%eax
64258e:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642592:	23 44 24 40          	and    0x40(%esp),%eax
642596:	23 54 24 44          	and    0x44(%esp),%edx
64259a:	52                   	push   %edx
64259b:	50                   	push   %eax
64259c:	8b 44 24 40          	mov    0x40(%esp),%eax
6425a0:	8b 54 24 44          	mov    0x44(%esp),%edx
6425a4:	f7 d0                	not    %eax
6425a6:	f7 d2                	not    %edx
6425a8:	23 44 24 10          	and    0x10(%esp),%eax
6425ac:	23 54 24 14          	and    0x14(%esp),%edx
6425b0:	33 04 24             	xor    (%esp),%eax
6425b3:	33 54 24 04          	xor    0x4(%esp),%edx
6425b7:	83 c4 08             	add    $0x8,%esp
6425ba:	03 04 24             	add    (%esp),%eax
6425bd:	13 54 24 04          	adc    0x4(%esp),%edx
6425c1:	83 c4 08             	add    $0x8,%esp
6425c4:	05 d4 fb 41 bd       	add    $0xbd41fbd4,%eax
6425c9:	81 d2 dc a9 b0 5c    	adc    $0x5cb0a9dc,%edx
6425cf:	03 84 24 00 01 00 00 	add    0x100(%esp),%eax
6425d6:	13 94 24 04 01 00 00 	adc    0x104(%esp),%edx
6425dd:	89 44 24 40          	mov    %eax,0x40(%esp)
6425e1:	89 54 24 44          	mov    %edx,0x44(%esp)
6425e5:	8b 44 24 10          	mov    0x10(%esp),%eax
6425e9:	8b 54 24 14          	mov    0x14(%esp),%edx
6425ed:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6425f1:	c1 ea 1c             	shr    $0x1c,%edx
6425f4:	52                   	push   %edx
6425f5:	50                   	push   %eax
6425f6:	8b 54 24 18          	mov    0x18(%esp),%edx
6425fa:	c1 e2 04             	shl    $0x4,%edx
6425fd:	33 c0                	xor    %eax,%eax
6425ff:	0b 04 24             	or     (%esp),%eax
642602:	0b 54 24 04          	or     0x4(%esp),%edx
642606:	83 c4 08             	add    $0x8,%esp
642609:	52                   	push   %edx
64260a:	50                   	push   %eax
64260b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64260f:	c1 e8 02             	shr    $0x2,%eax
642612:	33 d2                	xor    %edx,%edx
642614:	52                   	push   %edx
642615:	50                   	push   %eax
642616:	8b 44 24 20          	mov    0x20(%esp),%eax
64261a:	8b 54 24 24          	mov    0x24(%esp),%edx
64261e:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642622:	c1 e0 1e             	shl    $0x1e,%eax
642625:	0b 04 24             	or     (%esp),%eax
642628:	0b 54 24 04          	or     0x4(%esp),%edx
64262c:	83 c4 08             	add    $0x8,%esp
64262f:	33 04 24             	xor    (%esp),%eax
642632:	33 54 24 04          	xor    0x4(%esp),%edx
642636:	83 c4 08             	add    $0x8,%esp
642639:	52                   	push   %edx
64263a:	50                   	push   %eax
64263b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64263f:	c1 e8 07             	shr    $0x7,%eax
642642:	33 d2                	xor    %edx,%edx
642644:	52                   	push   %edx
642645:	50                   	push   %eax
642646:	8b 44 24 20          	mov    0x20(%esp),%eax
64264a:	8b 54 24 24          	mov    0x24(%esp),%edx
64264e:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642652:	c1 e0 19             	shl    $0x19,%eax
642655:	0b 04 24             	or     (%esp),%eax
642658:	0b 54 24 04          	or     0x4(%esp),%edx
64265c:	83 c4 08             	add    $0x8,%esp
64265f:	33 04 24             	xor    (%esp),%eax
642662:	33 54 24 04          	xor    0x4(%esp),%edx