649177:	8b 44 24 40          	mov    0x40(%esp),%eax
64917b:	8b 54 24 44          	mov    0x44(%esp),%edx
64917f:	0f ac d0 12          	shrd   $0x12,%edx,%eax
649183:	c1 ea 12             	shr    $0x12,%edx
649186:	52                   	push   %edx
649187:	50                   	push   %eax
649188:	8b 54 24 48          	mov    0x48(%esp),%edx
64918c:	c1 e2 0e             	shl    $0xe,%edx
64918f:	33 c0                	xor    %eax,%eax
649191:	0b 04 24             	or     (%esp),%eax
649194:	0b 54 24 04          	or     0x4(%esp),%edx
649198:	83 c4 08             	add    $0x8,%esp
64919b:	33 04 24             	xor    (%esp),%eax
64919e:	33 54 24 04          	xor    0x4(%esp),%edx
6491a2:	83 c4 08             	add    $0x8,%esp
6491a5:	52                   	push   %edx
6491a6:	50                   	push   %eax
6491a7:	8b 44 24 44          	mov    0x44(%esp),%eax
6491ab:	c1 e8 09             	shr    $0x9,%eax
6491ae:	33 d2                	xor    %edx,%edx
6491b0:	52                   	push   %edx
6491b1:	50                   	push   %eax
6491b2:	8b 44 24 48          	mov    0x48(%esp),%eax
6491b6:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6491ba:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6491be:	c1 e0 17             	shl    $0x17,%eax
6491c1:	0b 04 24             	or     (%esp),%eax
6491c4:	0b 54 24 04          	or     0x4(%esp),%edx
6491c8:	83 c4 08             	add    $0x8,%esp
6491cb:	33 04 24             	xor    (%esp),%eax
6491ce:	33 54 24 04          	xor    0x4(%esp),%edx
6491d2:	83 c4 08             	add    $0x8,%esp
6491d5:	03 44 24 10          	add    0x10(%esp),%eax
6491d9:	13 54 24 14          	adc    0x14(%esp),%edx
6491dd:	52                   	push   %edx
6491de:	50                   	push   %eax
6491df:	8b 44 24 40          	mov    0x40(%esp),%eax
6491e3:	8b 54 24 44          	mov    0x44(%esp),%edx
6491e7:	23 44 24 08          	and    0x8(%esp),%eax
6491eb:	23 54 24 0c          	and    0xc(%esp),%edx
6491ef:	52                   	push   %edx
6491f0:	50                   	push   %eax
6491f1:	8b 44 24 48          	mov    0x48(%esp),%eax
6491f5:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6491f9:	f7 d0                	not    %eax
6491fb:	f7 d2                	not    %edx
6491fd:	23 44 24 18          	and    0x18(%esp),%eax
649201:	23 54 24 1c          	and    0x1c(%esp),%edx
649205:	33 04 24             	xor    (%esp),%eax
649208:	33 54 24 04          	xor    0x4(%esp),%edx
64920c:	83 c4 08             	add    $0x8,%esp
64920f:	03 04 24             	add    (%esp),%eax
649212:	13 54 24 04          	adc    0x4(%esp),%edx
649216:	83 c4 08             	add    $0x8,%esp
649219:	05 2a 7e 65 fc       	add    $0xfc657e2a,%eax
64921e:	81 d2 9c 29 7f 59    	adc    $0x597f299c,%edx
649224:	03 84 24 b8 02 00 00 	add    0x2b8(%esp),%eax
64922b:	13 94 24 bc 02 00 00 	adc    0x2bc(%esp),%edx
649232:	89 44 24 40          	mov    %eax,0x40(%esp)
649236:	89 54 24 44          	mov    %edx,0x44(%esp)
64923a:	8b 44 24 18          	mov    0x18(%esp),%eax
64923e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
649242:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
649246:	c1 ea 1c             	shr    $0x1c,%edx
649249:	52                   	push   %edx
64924a:	50                   	push   %eax
64924b:	8b 54 24 20          	mov    0x20(%esp),%edx
64924f:	c1 e2 04             	shl    $0x4,%edx
649252:	33 c0                	xor    %eax,%eax
649254:	0b 04 24             	or     (%esp),%eax
649257:	0b 54 24 04          	or     0x4(%esp),%edx
64925b:	83 c4 08             	add    $0x8,%esp
64925e:	52                   	push   %edx
64925f:	50                   	push   %eax
649260:	8b 44 24 24          	mov    0x24(%esp),%eax
649264:	c1 e8 02             	shr    $0x2,%eax
649267:	33 d2                	xor    %edx,%edx
649269:	52                   	push   %edx
64926a:	50                   	push   %eax
64926b:	8b 44 24 28          	mov    0x28(%esp),%eax
64926f:	8b 54 24 2c          	mov    0x2c(%esp),%edx
649273:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
649277:	c1 e0 1e             	shl    $0x1e,%eax
64927a:	0b 04 24             	or     (%esp),%eax
64927d:	0b 54 24 04          	or     0x4(%esp),%edx
649281:	83 c4 08             	add    $0x8,%esp
649284:	33 04 24             	xor    (%esp),%eax
649287:	33 54 24 04          	xor    0x4(%esp),%edx
64928b:	83 c4 08             	add    $0x8,%esp
64928e:	52                   	push   %edx
64928f:	50                   	push   %eax
649290:	8b 44 24 24          	mov    0x24(%esp),%eax
649294:	c1 e8 07             	shr    $0x7,%eax
649297:	33 d2                	xor    %edx,%edx
649299:	52                   	push   %edx
64929a:	50                   	push   %eax
64929b:	8b 44 24 28          	mov    0x28(%esp),%eax
64929f:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6492a3:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6492a7:	c1 e0 19             	shl    $0x19,%eax
6492aa:	0b 04 24             	or     (%esp),%eax
6492ad:	0b 54 24 04          	or     0x4(%esp),%edx
6492b1:	83 c4 08             	add    $0x8,%esp
6492b4:	33 04 24             	xor    (%esp),%eax
6492b7:	33 54 24 04          	xor    0x4(%esp),%edx
6492bb:	83 c4 08             	add    $0x8,%esp
6492be:	52                   	push   %edx
6492bf:	50                   	push   %eax
6492c0:	8b 44 24 20          	mov    0x20(%esp),%eax
6492c4:	8b 54 24 24          	mov    0x24(%esp),%edx
6492c8:	23 44 24 28          	and    0x28(%esp),%eax
6492cc:	23 54 24 2c          	and    0x2c(%esp),%edx
6492d0:	52                   	push   %edx
6492d1:	50                   	push   %eax
6492d2:	8b 44 24 28          	mov    0x28(%esp),%eax
6492d6:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6492da:	23 44 24 38          	and    0x38(%esp),%eax
6492de:	23 54 24 3c          	and    0x3c(%esp),%edx
6492e2:	33 04 24             	xor    (%esp),%eax
6492e5:	33 54 24 04          	xor    0x4(%esp),%edx
6492e9:	83 c4 08             	add    $0x8,%esp
6492ec:	52                   	push   %edx
6492ed:	50                   	push   %eax
6492ee:	8b 44 24 30          	mov    0x30(%esp),%eax
6492f2:	8b 54 24 34          	mov    0x34(%esp),%edx
6492f6:	23 44 24 38          	and    0x38(%esp),%eax
6492fa:	23 54 24 3c          	and    0x3c(%esp),%edx
6492fe:	33 04 24             	xor    (%esp),%eax
649301:	33 54 24 04          	xor    0x4(%esp),%edx
649305:	83 c4 08             	add    $0x8,%esp
649308:	03 04 24             	add    (%esp),%eax
64930b:	13 54 24 04          	adc    0x4(%esp),%edx
64930f:	83 c4 08             	add    $0x8,%esp
649312:	89 44 24 48          	mov    %eax,0x48(%esp)
649316:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64931a:	8b 44 24 30          	mov    0x30(%esp),%eax
64931e:	8b 54 24 34          	mov    0x34(%esp),%edx
649322:	03 44 24 40          	add    0x40(%esp),%eax
649326:	13 54 24 44          	adc    0x44(%esp),%edx
64932a:	89 44 24 30          	mov    %eax,0x30(%esp)
64932e:	89 54 24 34          	mov    %edx,0x34(%esp)
649332:	8b 44 24 40          	mov    0x40(%esp),%eax
649336:	8b 54 24 44          	mov    0x44(%esp),%edx
64933a:	03 44 24 48          	add    0x48(%esp),%eax
64933e:	13 54 24 4c          	adc    0x4c(%esp),%edx
649342:	89 44 24 10          	mov    %eax,0x10(%esp)
649346:	89 54 24 14          	mov    %edx,0x14(%esp)
64934a:	8b 44 24 30          	mov    0x30(%esp),%eax
64934e:	8b 54 24 34          	mov    0x34(%esp),%edx
649352:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
649356:	c1 ea 0e             	shr    $0xe,%edx
649359:	52                   	push   %edx
64935a:	50                   	push   %eax
64935b:	8b 54 24 38          	mov    0x38(%esp),%edx
64935f:	c1 e2 12             	shl    $0x12,%edx
649362:	33 c0                	xor    %eax,%eax
649364:	0b 04 24             	or     (%esp),%eax
649367:	0b 54 24 04          	or     0x4(%esp),%edx
64936b:	83 c4 08             	add    $0x8,%esp
64936e:	52                   	push   %edx
64936f:	50                   	push   %eax
649370:	8b 44 24 38          	mov    0x38(%esp),%eax
649374:	8b 54 24 3c          	mov    0x3c(%esp),%edx
649378:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64937c:	c1 ea 12             	shr    $0x12,%edx
64937f:	52                   	push   %edx
649380:	50                   	push   %eax
649381:	8b 54 24 40          	mov    0x40(%esp),%edx
649385:	c1 e2 0e             	shl    $0xe,%edx
649388:	33 c0                	xor    %eax,%eax
64938a:	0b 04 24             	or     (%esp),%eax
64938d:	0b 54 24 04          	or     0x4(%esp),%edx
649391:	83 c4 08             	add    $0x8,%esp
649394:	33 04 24             	xor    (%esp),%eax
649397:	33 54 24 04          	xor    0x4(%esp),%edx
64939b:	83 c4 08             	add    $0x8,%esp
64939e:	52                   	push   %edx
64939f:	50                   	push   %eax
6493a0:	8b 44 24 3c          	mov    0x3c(%esp),%eax
6493a4:	c1 e8 09             	shr    $0x9,%eax
6493a7:	33 d2                	xor    %edx,%edx
6493a9:	52                   	push   %edx
6493aa:	50                   	push   %eax
6493ab:	8b 44 24 40          	mov    0x40(%esp),%eax
6493af:	8b 54 24 44          	mov    0x44(%esp),%edx
6493b3:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6493b7:	c1 e0 17             	shl    $0x17,%eax
6493ba:	0b 04 24             	or     (%esp),%eax
6493bd:	0b 54 24 04          	or     0x4(%esp),%edx
6493c1:	83 c4 08             	add    $0x8,%esp
6493c4:	33 04 24             	xor    (%esp),%eax
6493c7:	33 54 24 04          	xor    0x4(%esp),%edx
6493cb:	83 c4 08             	add    $0x8,%esp
6493ce:	03 44 24 08          	add    0x8(%esp),%eax
6493d2:	13 54 24 0c          	adc    0xc(%esp),%edx
6493d6:	52                   	push   %edx
6493d7:	50                   	push   %eax
6493d8:	8b 44 24 38          	mov    0x38(%esp),%eax
6493dc:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6493e0:	23 44 24 40          	and    0x40(%esp),%eax
6493e4:	23 54 24 44          	and    0x44(%esp),%edx
6493e8:	52                   	push   %edx
6493e9:	50                   	push   %eax
6493ea:	8b 44 24 40          	mov    0x40(%esp),%eax
6493ee:	8b 54 24 44          	mov    0x44(%esp),%edx
6493f2:	f7 d0                	not    %eax
6493f4:	f7 d2                	not    %edx
6493f6:	23 44 24 10          	and    0x10(%esp),%eax
6493fa:	23 54 24 14          	and    0x14(%esp),%edx
6493fe:	33 04 24             	xor    (%esp),%eax
649401:	33 54 24 04          	xor    0x4(%esp),%edx
649405:	83 c4 08             	add    $0x8,%esp
649408:	03 04 24             	add    (%esp),%eax
64940b:	13 54 24 04          	adc    0x4(%esp),%edx
64940f:	83 c4 08             	add    $0x8,%esp
649412:	05 ec fa d6 3a       	add    $0x3ad6faec,%eax
649417:	81 d2 ab 6f cb 5f    	adc    $0x5fcb6fab,%edx
64941d:	03 84 24 c0 02 00 00 	add    0x2c0(%esp),%eax
649424:	13 94 24 c4 02 00 00 	adc    0x2c4(%esp),%edx
64942b:	89 44 24 40          	mov    %eax,0x40(%esp)
64942f:	89 54 24 44          	mov    %edx,0x44(%esp)
649433:	8b 44 24 10          	mov    0x10(%esp),%eax
649437:	8b 54 24 14          	mov    0x14(%esp),%edx
64943b:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
64943f:	c1 ea 1c             	shr    $0x1c,%edx
649442:	52                   	push   %edx
649443:	50                   	push   %eax
649444:	8b 54 24 18          	mov    0x18(%esp),%edx
649448:	c1 e2 04             	shl    $0x4,%edx
64944b:	33 c0                	xor    %eax,%eax
64944d:	0b 04 24             	or     (%esp),%eax
649450:	0b 54 24 04          	or     0x4(%esp),%edx
649454:	83 c4 08             	add    $0x8,%esp
649457:	52                   	push   %edx
649458:	50                   	push   %eax
649459:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64945d:	c1 e8 02             	shr    $0x2,%eax
649460:	33 d2                	xor    %edx,%edx
649462:	52                   	push   %edx
649463:	50                   	push   %eax
649464:	8b 44 24 20          	mov    0x20(%esp),%eax
649468:	8b 54 24 24          	mov    0x24(%esp),%edx
64946c:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
649470:	c1 e0 1e             	shl    $0x1e,%eax
649473:	0b 04 24             	or     (%esp),%eax
649476:	0b 54 24 04          	or     0x4(%esp),%edx
64947a:	83 c4 08             	add    $0x8,%esp
64947d:	33 04 24             	xor    (%esp),%eax
649480:	33 54 24 04          	xor    0x4(%esp),%edx
649484:	83 c4 08             	add    $0x8,%esp
649487:	52                   	push   %edx
649488:	50                   	push   %eax
649489:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64948d:	c1 e8 07             	shr    $0x7,%eax
649490:	33 d2                	xor    %edx,%edx
649492:	52                   	push   %edx
649493:	50                   	push   %eax
649494:	8b 44 24 20          	mov    0x20(%esp),%eax
649498:	8b 54 24 24          	mov    0x24(%esp),%edx
64949c:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6494a0:	c1 e0 19             	shl    $0x19,%eax
6494a3:	0b 04 24             	or     (%esp),%eax
6494a6:	0b 54 24 04          	or     0x4(%esp),%edx
6494aa:	83 c4 08             	add    $0x8,%esp
6494ad:	33 04 24             	xor    (%esp),%eax
6494b0:	33 54 24 04          	xor    0x4(%esp),%edx
6494b4:	83 c4 08             	add    $0x8,%esp
6494b7:	52                   	push   %edx
6494b8:	50                   	push   %eax
6494b9:	8b 44 24 18          	mov    0x18(%esp),%eax
6494bd:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6494c1:	23 44 24 20          	and    0x20(%esp),%eax
6494c5:	23 54 24 24          	and    0x24(%esp),%edx
6494c9:	52                   	push   %edx
6494ca:	50                   	push   %eax
6494cb:	8b 44 24 20          	mov    0x20(%esp),%eax
6494cf:	8b 54 24 24          	mov    0x24(%esp),%edx
6494d3:	23 44 24 30          	and    0x30(%esp),%eax
6494d7:	23 54 24 34          	and    0x34(%esp),%edx
6494db:	33 04 24             	xor    (%esp),%eax
6494de:	33 54 24 04          	xor    0x4(%esp),%edx
6494e2:	83 c4 08             	add    $0x8,%esp
6494e5:	52                   	push   %edx
6494e6:	50                   	push   %eax
6494e7:	8b 44 24 28          	mov    0x28(%esp),%eax
6494eb:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6494ef:	23 44 24 30          	and    0x30(%esp),%eax
6494f3:	23 54 24 34          	and    0x34(%esp),%edx
6494f7:	33 04 24             	xor    (%esp),%eax
6494fa:	33 54 24 04          	xor    0x4(%esp),%edx
6494fe:	83 c4 08             	add    $0x8,%esp
649501:	03 04 24             	add    (%esp),%eax
649504:	13 54 24 04          	adc    0x4(%esp),%edx
649508:	83 c4 08             	add    $0x8,%esp
64950b:	89 44 24 48          	mov    %eax,0x48(%esp)
64950f:	89 54 24 4c          	mov    %edx,0x4c(%esp)
649513:	8b 44 24 28          	mov    0x28(%esp),%eax
649517:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64951b:	03 44 24 40          	add    0x40(%esp),%eax
64951f:	13 54 24 44          	adc    0x44(%esp),%edx
649523:	89 44 24 28          	mov    %eax,0x28(%esp)
649527:	89 54 24 2c          	mov    %edx,0x2c(%esp)
64952b:	8b 44 24 40          	mov    0x40(%esp),%eax
64952f:	8b 54 24 44          	mov    0x44(%esp),%edx
649533:	03 44 24 48          	add    0x48(%esp),%eax
649537:	13 54 24 4c          	adc    0x4c(%esp),%edx
64953b:	89 44 24 08          	mov    %eax,0x8(%esp)
64953f:	89 54 24 0c          	mov    %edx,0xc(%esp)
649543:	8b 44 24 28          	mov    0x28(%esp),%eax
649547:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64954b:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64954f:	c1 ea 0e             	shr    $0xe,%edx
649552:	52                   	push   %edx
649553:	50                   	push   %eax
649554:	8b 54 24 30          	mov    0x30(%esp),%edx
649558:	c1 e2 12             	shl    $0x12,%edx
64955b:	33 c0                	xor    %eax,%eax
64955d:	0b 04 24             	or     (%esp),%eax
649560:	0b 54 24 04          	or     0x4(%esp),%edx
649564:	83 c4 08             	add    $0x8,%esp
649567:	52                   	push   %edx
649568:	50                   	push   %eax
649569:	8b 44 24 30          	mov    0x30(%esp),%eax
64956d:	8b 54 24 34          	mov    0x34(%esp),%edx
649571:	0f ac d0 12          	shrd   $0x12,%edx,%eax
649575:	c1 ea 12             	shr    $0x12,%edx
649578:	52                   	push   %edx
649579:	50                   	push   %eax
64957a:	8b 54 24 38          	mov    0x38(%esp),%edx
64957e:	c1 e2 0e             	shl    $0xe,%edx
649581:	33 c0                	xor    %eax,%eax
649583:	0b 04 24             	or     (%esp),%eax
649586:	0b 54 24 04          	or     0x4(%esp),%edx
64958a:	83 c4 08             	add    $0x8,%esp
64958d:	33 04 24             	xor    (%esp),%eax
649590:	33 54 24 04          	xor    0x4(%esp),%edx
649594:	83 c4 08             	add    $0x8,%esp
649597:	52                   	push   %edx
649598:	50                   	push   %eax
649599:	8b 44 24 34          	mov    0x34(%esp),%eax
64959d:	c1 e8 09             	shr    $0x9,%eax
6495a0:	33 d2                	xor    %edx,%edx
6495a2:	52                   	push   %edx
6495a3:	50                   	push   %eax
6495a4:	8b 44 24 38          	mov    0x38(%esp),%eax
6495a8:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6495ac:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6495b0:	c1 e0 17             	shl    $0x17,%eax
6495b3:	0b 04 24             	or     (%esp),%eax
6495b6:	0b 54 24 04          	or     0x4(%esp),%edx