647153:	52                   	push   %edx
647154:	50                   	push   %eax
647155:	8b 44 24 30          	mov    0x30(%esp),%eax
647159:	8b 54 24 34          	mov    0x34(%esp),%edx
64715d:	23 44 24 40          	and    0x40(%esp),%eax
647161:	23 54 24 44          	and    0x44(%esp),%edx
647165:	33 04 24             	xor    (%esp),%eax
647168:	33 54 24 04          	xor    0x4(%esp),%edx
64716c:	83 c4 08             	add    $0x8,%esp
64716f:	52                   	push   %edx
647170:	50                   	push   %eax
647171:	8b 44 24 38          	mov    0x38(%esp),%eax
647175:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647179:	23 44 24 40          	and    0x40(%esp),%eax
64717d:	23 54 24 44          	and    0x44(%esp),%edx
647181:	33 04 24             	xor    (%esp),%eax
647184:	33 54 24 04          	xor    0x4(%esp),%edx
647188:	83 c4 08             	add    $0x8,%esp
64718b:	03 04 24             	add    (%esp),%eax
64718e:	13 54 24 04          	adc    0x4(%esp),%edx
647192:	83 c4 08             	add    $0x8,%esp
647195:	89 44 24 48          	mov    %eax,0x48(%esp)
647199:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64719d:	8b 44 24 38          	mov    0x38(%esp),%eax
6471a1:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6471a5:	03 44 24 40          	add    0x40(%esp),%eax
6471a9:	13 54 24 44          	adc    0x44(%esp),%edx
6471ad:	89 44 24 38          	mov    %eax,0x38(%esp)
6471b1:	89 54 24 3c          	mov    %edx,0x3c(%esp)
6471b5:	8b 44 24 40          	mov    0x40(%esp),%eax
6471b9:	8b 54 24 44          	mov    0x44(%esp),%edx
6471bd:	03 44 24 48          	add    0x48(%esp),%eax
6471c1:	13 54 24 4c          	adc    0x4c(%esp),%edx
6471c5:	89 44 24 18          	mov    %eax,0x18(%esp)
6471c9:	89 54 24 1c          	mov    %edx,0x1c(%esp)
6471cd:	8b 44 24 38          	mov    0x38(%esp),%eax
6471d1:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6471d5:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6471d9:	c1 ea 0e             	shr    $0xe,%edx
6471dc:	52                   	push   %edx
6471dd:	50                   	push   %eax
6471de:	8b 54 24 40          	mov    0x40(%esp),%edx
6471e2:	c1 e2 12             	shl    $0x12,%edx
6471e5:	33 c0                	xor    %eax,%eax
6471e7:	0b 04 24             	or     (%esp),%eax
6471ea:	0b 54 24 04          	or     0x4(%esp),%edx
6471ee:	83 c4 08             	add    $0x8,%esp
6471f1:	52                   	push   %edx
6471f2:	50                   	push   %eax
6471f3:	8b 44 24 40          	mov    0x40(%esp),%eax
6471f7:	8b 54 24 44          	mov    0x44(%esp),%edx
6471fb:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6471ff:	c1 ea 12             	shr    $0x12,%edx
647202:	52                   	push   %edx
647203:	50                   	push   %eax
647204:	8b 54 24 48          	mov    0x48(%esp),%edx
647208:	c1 e2 0e             	shl    $0xe,%edx
64720b:	33 c0                	xor    %eax,%eax
64720d:	0b 04 24             	or     (%esp),%eax
647210:	0b 54 24 04          	or     0x4(%esp),%edx
647214:	83 c4 08             	add    $0x8,%esp
647217:	33 04 24             	xor    (%esp),%eax
64721a:	33 54 24 04          	xor    0x4(%esp),%edx
64721e:	83 c4 08             	add    $0x8,%esp
647221:	52                   	push   %edx
647222:	50                   	push   %eax
647223:	8b 44 24 44          	mov    0x44(%esp),%eax
647227:	c1 e8 09             	shr    $0x9,%eax
64722a:	33 d2                	xor    %edx,%edx
64722c:	52                   	push   %edx
64722d:	50                   	push   %eax
64722e:	8b 44 24 48          	mov    0x48(%esp),%eax
647232:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647236:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64723a:	c1 e0 17             	shl    $0x17,%eax
64723d:	0b 04 24             	or     (%esp),%eax
647240:	0b 54 24 04          	or     0x4(%esp),%edx
647244:	83 c4 08             	add    $0x8,%esp
647247:	33 04 24             	xor    (%esp),%eax
64724a:	33 54 24 04          	xor    0x4(%esp),%edx
64724e:	83 c4 08             	add    $0x8,%esp
647251:	03 44 24 10          	add    0x10(%esp),%eax
647255:	13 54 24 14          	adc    0x14(%esp),%edx
647259:	52                   	push   %edx
64725a:	50                   	push   %eax
64725b:	8b 44 24 40          	mov    0x40(%esp),%eax
64725f:	8b 54 24 44          	mov    0x44(%esp),%edx
647263:	23 44 24 08          	and    0x8(%esp),%eax
647267:	23 54 24 0c          	and    0xc(%esp),%edx
64726b:	52                   	push   %edx
64726c:	50                   	push   %eax
64726d:	8b 44 24 48          	mov    0x48(%esp),%eax
647271:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647275:	f7 d0                	not    %eax
647277:	f7 d2                	not    %edx
647279:	23 44 24 18          	and    0x18(%esp),%eax
64727d:	23 54 24 1c          	and    0x1c(%esp),%edx
647281:	33 04 24             	xor    (%esp),%eax
647284:	33 54 24 04          	xor    0x4(%esp),%edx
647288:	83 c4 08             	add    $0x8,%esp
64728b:	03 04 24             	add    (%esp),%eax
64728e:	13 54 24 04          	adc    0x4(%esp),%edx
647292:	83 c4 08             	add    $0x8,%esp
647295:	05 e9 bd 82 de       	add    $0xde82bde9,%eax
64729a:	81 d2 eb 6c 50 a4    	adc    $0xa4506ceb,%edx
6472a0:	03 84 24 38 02 00 00 	add    0x238(%esp),%eax
6472a7:	13 94 24 3c 02 00 00 	adc    0x23c(%esp),%edx
6472ae:	89 44 24 40          	mov    %eax,0x40(%esp)
6472b2:	89 54 24 44          	mov    %edx,0x44(%esp)
6472b6:	8b 44 24 18          	mov    0x18(%esp),%eax
6472ba:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6472be:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6472c2:	c1 ea 1c             	shr    $0x1c,%edx
6472c5:	52                   	push   %edx
6472c6:	50                   	push   %eax
6472c7:	8b 54 24 20          	mov    0x20(%esp),%edx
6472cb:	c1 e2 04             	shl    $0x4,%edx
6472ce:	33 c0                	xor    %eax,%eax
6472d0:	0b 04 24             	or     (%esp),%eax
6472d3:	0b 54 24 04          	or     0x4(%esp),%edx
6472d7:	83 c4 08             	add    $0x8,%esp
6472da:	52                   	push   %edx
6472db:	50                   	push   %eax
6472dc:	8b 44 24 24          	mov    0x24(%esp),%eax
6472e0:	c1 e8 02             	shr    $0x2,%eax
6472e3:	33 d2                	xor    %edx,%edx
6472e5:	52                   	push   %edx
6472e6:	50                   	push   %eax
6472e7:	8b 44 24 28          	mov    0x28(%esp),%eax
6472eb:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6472ef:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6472f3:	c1 e0 1e             	shl    $0x1e,%eax
6472f6:	0b 04 24             	or     (%esp),%eax
6472f9:	0b 54 24 04          	or     0x4(%esp),%edx
6472fd:	83 c4 08             	add    $0x8,%esp
647300:	33 04 24             	xor    (%esp),%eax
647303:	33 54 24 04          	xor    0x4(%esp),%edx
647307:	83 c4 08             	add    $0x8,%esp
64730a:	52                   	push   %edx
64730b:	50                   	push   %eax
64730c:	8b 44 24 24          	mov    0x24(%esp),%eax
647310:	c1 e8 07             	shr    $0x7,%eax
647313:	33 d2                	xor    %edx,%edx
647315:	52                   	push   %edx
647316:	50                   	push   %eax
647317:	8b 44 24 28          	mov    0x28(%esp),%eax
64731b:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64731f:	0f a4 c2 19          	shld   $0x19,%eax,%edx
647323:	c1 e0 19             	shl    $0x19,%eax
647326:	0b 04 24             	or     (%esp),%eax
647329:	0b 54 24 04          	or     0x4(%esp),%edx
64732d:	83 c4 08             	add    $0x8,%esp
647330:	33 04 24             	xor    (%esp),%eax
647333:	33 54 24 04          	xor    0x4(%esp),%edx
647337:	83 c4 08             	add    $0x8,%esp
64733a:	52                   	push   %edx
64733b:	50                   	push   %eax
64733c:	8b 44 24 20          	mov    0x20(%esp),%eax
647340:	8b 54 24 24          	mov    0x24(%esp),%edx
647344:	23 44 24 28          	and    0x28(%esp),%eax
647348:	23 54 24 2c          	and    0x2c(%esp),%edx
64734c:	52                   	push   %edx
64734d:	50                   	push   %eax
64734e:	8b 44 24 28          	mov    0x28(%esp),%eax
647352:	8b 54 24 2c          	mov    0x2c(%esp),%edx
647356:	23 44 24 38          	and    0x38(%esp),%eax
64735a:	23 54 24 3c          	and    0x3c(%esp),%edx
64735e:	33 04 24             	xor    (%esp),%eax
647361:	33 54 24 04          	xor    0x4(%esp),%edx
647365:	83 c4 08             	add    $0x8,%esp
647368:	52                   	push   %edx
647369:	50                   	push   %eax
64736a:	8b 44 24 30          	mov    0x30(%esp),%eax
64736e:	8b 54 24 34          	mov    0x34(%esp),%edx
647372:	23 44 24 38          	and    0x38(%esp),%eax
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)