640209:	83 c4 08             	add    $0x8,%esp
64020c:	33 04 24             	xor    (%esp),%eax
64020f:	33 54 24 04          	xor    0x4(%esp),%edx
640213:	83 c4 08             	add    $0x8,%esp
640216:	03 44 24 18          	add    0x18(%esp),%eax
64021a:	13 54 24 1c          	adc    0x1c(%esp),%edx
64021e:	52                   	push   %edx
64021f:	50                   	push   %eax
640220:	8b 44 24 08          	mov    0x8(%esp),%eax
640224:	8b 54 24 0c          	mov    0xc(%esp),%edx
640228:	23 44 24 10          	and    0x10(%esp),%eax
64022c:	23 54 24 14          	and    0x14(%esp),%edx
640230:	52                   	push   %edx
640231:	50                   	push   %eax
640232:	8b 44 24 10          	mov    0x10(%esp),%eax
640236:	8b 54 24 14          	mov    0x14(%esp),%edx
64023a:	f7 d0                	not    %eax
64023c:	f7 d2                	not    %edx
64023e:	23 44 24 20          	and    0x20(%esp),%eax
640242:	23 54 24 24          	and    0x24(%esp),%edx
640246:	33 04 24             	xor    (%esp),%eax
640249:	33 54 24 04          	xor    0x4(%esp),%edx
64024d:	83 c4 08             	add    $0x8,%esp
640250:	03 04 24             	add    (%esp),%eax
640253:	13 54 24 04          	adc    0x4(%esp),%edx
640257:	83 c4 08             	add    $0x8,%esp
64025a:	05 38 b5 48 f3       	add    $0xf348b538,%eax
64025f:	81 d2 5b c2 56 39    	adc    $0x3956c25b,%edx
640265:	03 44 24 70          	add    0x70(%esp),%eax
640269:	13 54 24 74          	adc    0x74(%esp),%edx
64026d:	89 44 24 40          	mov    %eax,0x40(%esp)
640271:	89 54 24 44          	mov    %edx,0x44(%esp)
640275:	8b 44 24 20          	mov    0x20(%esp),%eax
640279:	8b 54 24 24          	mov    0x24(%esp),%edx
64027d:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
640281:	c1 ea 1c             	shr    $0x1c,%edx
640284:	52                   	push   %edx
640285:	50                   	push   %eax
640286:	8b 54 24 28          	mov    0x28(%esp),%edx
64028a:	c1 e2 04             	shl    $0x4,%edx
64028d:	33 c0                	xor    %eax,%eax
64028f:	0b 04 24             	or     (%esp),%eax
640292:	0b 54 24 04          	or     0x4(%esp),%edx
640296:	83 c4 08             	add    $0x8,%esp
640299:	52                   	push   %edx
64029a:	50                   	push   %eax
64029b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64029f:	c1 e8 02             	shr    $0x2,%eax
6402a2:	33 d2                	xor    %edx,%edx
6402a4:	52                   	push   %edx
6402a5:	50                   	push   %eax
6402a6:	8b 44 24 30          	mov    0x30(%esp),%eax
6402aa:	8b 54 24 34          	mov    0x34(%esp),%edx
6402ae:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6402b2:	c1 e0 1e             	shl    $0x1e,%eax
6402b5:	0b 04 24             	or     (%esp),%eax
6402b8:	0b 54 24 04          	or     0x4(%esp),%edx
6402bc:	83 c4 08             	add    $0x8,%esp
6402bf:	33 04 24             	xor    (%esp),%eax
6402c2:	33 54 24 04          	xor    0x4(%esp),%edx
6402c6:	83 c4 08             	add    $0x8,%esp
6402c9:	52                   	push   %edx
6402ca:	50                   	push   %eax
6402cb:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6402cf:	c1 e8 07             	shr    $0x7,%eax
6402d2:	33 d2                	xor    %edx,%edx
6402d4:	52                   	push   %edx
6402d5:	50                   	push   %eax
6402d6:	8b 44 24 30          	mov    0x30(%esp),%eax
6402da:	8b 54 24 34          	mov    0x34(%esp),%edx
6402de:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6402e2:	c1 e0 19             	shl    $0x19,%eax
6402e5:	0b 04 24             	or     (%esp),%eax
6402e8:	0b 54 24 04          	or     0x4(%esp),%edx
6402ec:	83 c4 08             	add    $0x8,%esp
6402ef:	33 04 24             	xor    (%esp),%eax
6402f2:	33 54 24 04          	xor    0x4(%esp),%edx
6402f6:	83 c4 08             	add    $0x8,%esp
6402f9:	52                   	push   %edx
6402fa:	50                   	push   %eax
6402fb:	8b 44 24 28          	mov    0x28(%esp),%eax
6402ff:	8b 54 24 2c          	mov    0x2c(%esp),%edx
640303:	23 44 24 30          	and    0x30(%esp),%eax
640307:	23 54 24 34          	and    0x34(%esp),%edx
64030b:	52                   	push   %edx
64030c:	50                   	push   %eax
64030d:	8b 44 24 30          	mov    0x30(%esp),%eax
640311:	8b 54 24 34          	mov    0x34(%esp),%edx
640315:	23 44 24 40          	and    0x40(%esp),%eax
640319:	23 54 24 44          	and    0x44(%esp),%edx
64031d:	33 04 24             	xor    (%esp),%eax
640320:	33 54 24 04          	xor    0x4(%esp),%edx
640324:	83 c4 08             	add    $0x8,%esp
640327:	52                   	push   %edx
640328:	50                   	push   %eax
640329:	8b 44 24 38          	mov    0x38(%esp),%eax
64032d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
640331:	23 44 24 40          	and    0x40(%esp),%eax
640335:	23 54 24 44          	and    0x44(%esp),%edx
640339:	33 04 24             	xor    (%esp),%eax
64033c:	33 54 24 04          	xor    0x4(%esp),%edx
640340:	83 c4 08             	add    $0x8,%esp
640343:	03 04 24             	add    (%esp),%eax
640346:	13 54 24 04          	adc    0x4(%esp),%edx
64034a:	83 c4 08             	add    $0x8,%esp
64034d:	89 44 24 48          	mov    %eax,0x48(%esp)
640351:	89 54 24 4c          	mov    %edx,0x4c(%esp)
640355:	8b 44 24 38          	mov    0x38(%esp),%eax
640359:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64035d:	03 44 24 40          	add    0x40(%esp),%eax
640361:	13 54 24 44          	adc    0x44(%esp),%edx
640365:	89 44 24 38          	mov    %eax,0x38(%esp)
640369:	89 54 24 3c          	mov    %edx,0x3c(%esp)
64036d:	8b 44 24 40          	mov    0x40(%esp),%eax
640371:	8b 54 24 44          	mov    0x44(%esp),%edx
640375:	03 44 24 48          	add    0x48(%esp),%eax
640379:	13 54 24 4c          	adc    0x4c(%esp),%edx
64037d:	89 44 24 18          	mov    %eax,0x18(%esp)
640381:	89 54 24 1c          	mov    %edx,0x1c(%esp)
640385:	8b 44 24 38          	mov    0x38(%esp),%eax
640389:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64038d:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
640391:	c1 ea 0e             	shr    $0xe,%edx
640394:	52                   	push   %edx
640395:	50                   	push   %eax
640396:	8b 54 24 40          	mov    0x40(%esp),%edx
64039a:	c1 e2 12             	shl    $0x12,%edx
64039d:	33 c0                	xor    %eax,%eax
64039f:	0b 04 24             	or     (%esp),%eax
6403a2:	0b 54 24 04          	or     0x4(%esp),%edx
6403a6:	83 c4 08             	add    $0x8,%esp
6403a9:	52                   	push   %edx
6403aa:	50                   	push   %eax
6403ab:	8b 44 24 40          	mov    0x40(%esp),%eax
6403af:	8b 54 24 44          	mov    0x44(%esp),%edx
6403b3:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6403b7:	c1 ea 12             	shr    $0x12,%edx
6403ba:	52                   	push   %edx
6403bb:	50                   	push   %eax
6403bc:	8b 54 24 48          	mov    0x48(%esp),%edx
6403c0:	c1 e2 0e             	shl    $0xe,%edx
6403c3:	33 c0                	xor    %eax,%eax
6403c5:	0b 04 24             	or     (%esp),%eax
6403c8:	0b 54 24 04          	or     0x4(%esp),%edx
6403cc:	83 c4 08             	add    $0x8,%esp
6403cf:	33 04 24             	xor    (%esp),%eax
6403d2:	33 54 24 04          	xor    0x4(%esp),%edx
6403d6:	83 c4 08             	add    $0x8,%esp
6403d9:	52                   	push   %edx
6403da:	50                   	push   %eax
6403db:	8b 44 24 44          	mov    0x44(%esp),%eax
6403df:	c1 e8 09             	shr    $0x9,%eax
6403e2:	33 d2                	xor    %edx,%edx
6403e4:	52                   	push   %edx
6403e5:	50                   	push   %eax
6403e6:	8b 44 24 48          	mov    0x48(%esp),%eax
6403ea:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6403ee:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6403f2:	c1 e0 17             	shl    $0x17,%eax
6403f5:	0b 04 24             	or     (%esp),%eax
6403f8:	0b 54 24 04          	or     0x4(%esp),%edx
6403fc:	83 c4 08             	add    $0x8,%esp
6403ff:	33 04 24             	xor    (%esp),%eax
640402:	33 54 24 04          	xor    0x4(%esp),%edx
640406:	83 c4 08             	add    $0x8,%esp
640409:	03 44 24 10          	add    0x10(%esp),%eax
64040d:	13 54 24 14          	adc    0x14(%esp),%edx
640411:	52                   	push   %edx
640412:	50                   	push   %eax
640413:	8b 44 24 40          	mov    0x40(%esp),%eax
640417:	8b 54 24 44          	mov    0x44(%esp),%edx
64041b:	23 44 24 08          	and    0x8(%esp),%eax
64041f:	23 54 24 0c          	and    0xc(%esp),%edx
640423:	52                   	push   %edx
640424:	50                   	push   %eax
640425:	8b 44 24 48          	mov    0x48(%esp),%eax
640429:	8b 54 24 4c          	mov    0x4c(%esp),%edx
64042d:	f7 d0                	not    %eax
64042f:	f7 d2                	not    %edx
640431:	23 44 24 18          	and    0x18(%esp),%eax
640435:	23 54 24 1c          	and    0x1c(%esp),%edx
640439:	33 04 24             	xor    (%esp),%eax
64043c:	33 54 24 04          	xor    0x4(%esp),%edx
640440:	83 c4 08             	add    $0x8,%esp
640443:	03 04 24             	add    (%esp),%eax
640446:	13 54 24 04          	adc    0x4(%esp),%edx
64044a:	83 c4 08             	add    $0x8,%esp
64044d:	05 19 d0 05 b6       	add    $0xb605d019,%eax
640452:	81 d2 f1 11 f1 59    	adc    $0x59f111f1,%edx
640458:	03 44 24 78          	add    0x78(%esp),%eax
64045c:	13 54 24 7c          	adc    0x7c(%esp),%edx
640460:	89 44 24 40          	mov    %eax,0x40(%esp)
640464:	89 54 24 44          	mov    %edx,0x44(%esp)
640468:	8b 44 24 18          	mov    0x18(%esp),%eax
64046c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
640470:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
640474:	c1 ea 1c             	shr    $0x1c,%edx
640477:	52                   	push   %edx
640478:	50                   	push   %eax
640479:	8b 54 24 20          	mov    0x20(%esp),%edx
64047d:	c1 e2 04             	shl    $0x4,%edx
640480:	33 c0                	xor    %eax,%eax
640482:	0b 04 24             	or     (%esp),%eax
640485:	0b 54 24 04          	or     0x4(%esp),%edx
640489:	83 c4 08             	add    $0x8,%esp
64048c:	52                   	push   %edx
64048d:	50                   	push   %eax
64048e:	8b 44 24 24          	mov    0x24(%esp),%eax
640492:	c1 e8 02             	shr    $0x2,%eax
640495:	33 d2                	xor    %edx,%edx
640497:	52                   	push   %edx
640498:	50                   	push   %eax
640499:	8b 44 24 28          	mov    0x28(%esp),%eax
64049d:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6404a1:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6404a5:	c1 e0 1e             	shl    $0x1e,%eax
6404a8:	0b 04 24             	or     (%esp),%eax
6404ab:	0b 54 24 04          	or     0x4(%esp),%edx
6404af:	83 c4 08             	add    $0x8,%esp
6404b2:	33 04 24             	xor    (%esp),%eax
6404b5:	33 54 24 04          	xor    0x4(%esp),%edx
6404b9:	83 c4 08             	add    $0x8,%esp
6404bc:	52                   	push   %edx
6404bd:	50                   	push   %eax
6404be:	8b 44 24 24          	mov    0x24(%esp),%eax
6404c2:	c1 e8 07             	shr    $0x7,%eax
6404c5:	33 d2                	xor    %edx,%edx
6404c7:	52                   	push   %edx
6404c8:	50                   	push   %eax
6404c9:	8b 44 24 28          	mov    0x28(%esp),%eax
6404cd:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6404d1:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6404d5:	c1 e0 19             	shl    $0x19,%eax
6404d8:	0b 04 24             	or     (%esp),%eax
6404db:	0b 54 24 04          	or     0x4(%esp),%edx
6404df:	83 c4 08             	add    $0x8,%esp
6404e2:	33 04 24             	xor    (%esp),%eax
6404e5:	33 54 24 04          	xor    0x4(%esp),%edx
6404e9:	83 c4 08             	add    $0x8,%esp
6404ec:	52                   	push   %edx
6404ed:	50                   	push   %eax
6404ee:	8b 44 24 20          	mov    0x20(%esp),%eax
6404f2:	8b 54 24 24          	mov    0x24(%esp),%edx
6404f6:	23 44 24 28          	and    0x28(%esp),%eax
6404fa:	23 54 24 2c          	and    0x2c(%esp),%edx
6404fe:	52                   	push   %edx
6404ff:	50                   	push   %eax
640500:	8b 44 24 28          	mov    0x28(%esp),%eax
640504:	8b 54 24 2c          	mov    0x2c(%esp),%edx
640508:	23 44 24 38          	and    0x38(%esp),%eax
64050c:	23 54 24 3c          	and    0x3c(%esp),%edx
640510:	33 04 24             	xor    (%esp),%eax
640513:	33 54 24 04          	xor    0x4(%esp),%edx
640517:	83 c4 08             	add    $0x8,%esp
64051a:	52                   	push   %edx
64051b:	50                   	push   %eax
64051c:	8b 44 24 30          	mov    0x30(%esp),%eax
640520:	8b 54 24 34          	mov    0x34(%esp),%edx
640524:	23 44 24 38          	and    0x38(%esp),%eax
640528:	23 54 24 3c          	and    0x3c(%esp),%edx
64052c:	33 04 24             	xor    (%esp),%eax
64052f:	33 54 24 04          	xor    0x4(%esp),%edx
640533:	83 c4 08             	add    $0x8,%esp
640536:	03 04 24             	add    (%esp),%eax
640539:	13 54 24 04          	adc    0x4(%esp),%edx
64053d:	83 c4 08             	add    $0x8,%esp
640540:	89 44 24 48          	mov    %eax,0x48(%esp)
640544:	89 54 24 4c          	mov    %edx,0x4c(%esp)
640548:	8b 44 24 30          	mov    0x30(%esp),%eax
64054c:	8b 54 24 34          	mov    0x34(%esp),%edx
640550:	03 44 24 40          	add    0x40(%esp),%eax
640554:	13 54 24 44          	adc    0x44(%esp),%edx
640558:	89 44 24 30          	mov    %eax,0x30(%esp)
64055c:	89 54 24 34          	mov    %edx,0x34(%esp)
640560:	8b 44 24 40          	mov    0x40(%esp),%eax
640564:	8b 54 24 44          	mov    0x44(%esp),%edx
640568:	03 44 24 48          	add    0x48(%esp),%eax
64056c:	13 54 24 4c          	adc    0x4c(%esp),%edx
640570:	89 44 24 10          	mov    %eax,0x10(%esp)
640574:	89 54 24 14          	mov    %edx,0x14(%esp)
640578:	8b 44 24 30          	mov    0x30(%esp),%eax
64057c:	8b 54 24 34          	mov    0x34(%esp),%edx
640580:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
640584:	c1 ea 0e             	shr    $0xe,%edx
640587:	52                   	push   %edx
640588:	50                   	push   %eax
640589:	8b 54 24 38          	mov    0x38(%esp),%edx
64058d:	c1 e2 12             	shl    $0x12,%edx
640590:	33 c0                	xor    %eax,%eax
640592:	0b 04 24             	or     (%esp),%eax
640595:	0b 54 24 04          	or     0x4(%esp),%edx
640599:	83 c4 08             	add    $0x8,%esp
64059c:	52                   	push   %edx
64059d:	50                   	push   %eax
64059e:	8b 44 24 38          	mov    0x38(%esp),%eax
6405a2:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6405a6:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6405aa:	c1 ea 12             	shr    $0x12,%edx
6405ad:	52                   	push   %edx
6405ae:	50                   	push   %eax
6405af:	8b 54 24 40          	mov    0x40(%esp),%edx
6405b3:	c1 e2 0e             	shl    $0xe,%edx
6405b6:	33 c0                	xor    %eax,%eax
6405b8:	0b 04 24             	or     (%esp),%eax
6405bb:	0b 54 24 04          	or     0x4(%esp),%edx
6405bf:	83 c4 08             	add    $0x8,%esp
6405c2:	33 04 24             	xor    (%esp),%eax
6405c5:	33 54 24 04          	xor    0x4(%esp),%edx
6405c9:	83 c4 08             	add    $0x8,%esp
6405cc:	52                   	push   %edx
6405cd:	50                   	push   %eax
6405ce:	8b 44 24 3c          	mov    0x3c(%esp),%eax
6405d2:	c1 e8 09             	shr    $0x9,%eax
6405d5:	33 d2                	xor    %edx,%edx
6405d7:	52                   	push   %edx
6405d8:	50                   	push   %eax
6405d9:	8b 44 24 40          	mov    0x40(%esp),%eax
6405dd:	8b 54 24 44          	mov    0x44(%esp),%edx
6405e1:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6405e5:	c1 e0 17             	shl    $0x17,%eax
6405e8:	0b 04 24             	or     (%esp),%eax
6405eb:	0b 54 24 04          	or     0x4(%esp),%edx
6405ef:	83 c4 08             	add    $0x8,%esp
6405f2:	33 04 24             	xor    (%esp),%eax
6405f5:	33 54 24 04          	xor    0x4(%esp),%edx
6405f9:	83 c4 08             	add    $0x8,%esp
6405fc:	03 44 24 08          	add    0x8(%esp),%eax
640600:	13 54 24 0c          	adc    0xc(%esp),%edx
640604:	52                   	push   %edx
640605:	50                   	push   %eax
640606:	8b 44 24 38          	mov    0x38(%esp),%eax
64060a:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64060e:	23 44 24 40          	and    0x40(%esp),%eax
640612:	23 54 24 44          	and    0x44(%esp),%edx
640616:	52                   	push   %edx
640617:	50                   	push   %eax
640618:	8b 44 24 40          	mov    0x40(%esp),%eax
64061c:	8b 54 24 44          	mov    0x44(%esp),%edx
640620:	f7 d0                	not    %eax
640622:	f7 d2                	not    %edx
640624:	23 44 24 10          	and    0x10(%esp),%eax
640628:	23 54 24 14          	and    0x14(%esp),%edx
64062c:	33 04 24             	xor    (%esp),%eax
64062f:	33 54 24 04          	xor    0x4(%esp),%edx
640633:	83 c4 08             	add    $0x8,%esp
640636:	03 04 24             	add    (%esp),%eax
640639:	13 54 24 04          	adc    0x4(%esp),%edx
64063d:	83 c4 08             	add    $0x8,%esp
640640:	05 9b 4f 19 af       	add    $0xaf194f9b,%eax
640645:	81 d2 a4 82 3f 92    	adc    $0x923f82a4,%edx