648284:	c1 ea 1c             	shr    $0x1c,%edx
648287:	52                   	push   %edx
648288:	50                   	push   %eax
648289:	8b 54 24 20          	mov    0x20(%esp),%edx
64828d:	c1 e2 04             	shl    $0x4,%edx
648290:	33 c0                	xor    %eax,%eax
648292:	0b 04 24             	or     (%esp),%eax
648295:	0b 54 24 04          	or     0x4(%esp),%edx
648299:	83 c4 08             	add    $0x8,%esp
64829c:	52                   	push   %edx
64829d:	50                   	push   %eax
64829e:	8b 44 24 24          	mov    0x24(%esp),%eax
6482a2:	c1 e8 02             	shr    $0x2,%eax
6482a5:	33 d2                	xor    %edx,%edx
6482a7:	52                   	push   %edx
6482a8:	50                   	push   %eax
6482a9:	8b 44 24 28          	mov    0x28(%esp),%eax
6482ad:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6482b1:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6482b5:	c1 e0 1e             	shl    $0x1e,%eax
6482b8:	0b 04 24             	or     (%esp),%eax
6482bb:	0b 54 24 04          	or     0x4(%esp),%edx
6482bf:	83 c4 08             	add    $0x8,%esp
6482c2:	33 04 24             	xor    (%esp),%eax
6482c5:	33 54 24 04          	xor    0x4(%esp),%edx
6482c9:	83 c4 08             	add    $0x8,%esp
6482cc:	52                   	push   %edx
6482cd:	50                   	push   %eax
6482ce:	8b 44 24 24          	mov    0x24(%esp),%eax
6482d2:	c1 e8 07             	shr    $0x7,%eax
6482d5:	33 d2                	xor    %edx,%edx
6482d7:	52                   	push   %edx
6482d8:	50                   	push   %eax
6482d9:	8b 44 24 28          	mov    0x28(%esp),%eax
6482dd:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6482e1:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6482e5:	c1 e0 19             	shl    $0x19,%eax
6482e8:	0b 04 24             	or     (%esp),%eax
6482eb:	0b 54 24 04          	or     0x4(%esp),%edx
6482ef:	83 c4 08             	add    $0x8,%esp
6482f2:	33 04 24             	xor    (%esp),%eax
6482f5:	33 54 24 04          	xor    0x4(%esp),%edx
6482f9:	83 c4 08             	add    $0x8,%esp
6482fc:	52                   	push   %edx
6482fd:	50                   	push   %eax
6482fe:	8b 44 24 20          	mov    0x20(%esp),%eax
648302:	8b 54 24 24          	mov    0x24(%esp),%edx
648306:	23 44 24 28          	and    0x28(%esp),%eax
64830a:	23 54 24 2c          	and    0x2c(%esp),%edx
64830e:	52                   	push   %edx
64830f:	50                   	push   %eax
648310:	8b 44 24 28          	mov    0x28(%esp),%eax
648314:	8b 54 24 2c          	mov    0x2c(%esp),%edx
648318:	23 44 24 38          	and    0x38(%esp),%eax
64831c:	23 54 24 3c          	and    0x3c(%esp),%edx
648320:	33 04 24             	xor    (%esp),%eax
648323:	33 54 24 04          	xor    0x4(%esp),%edx
648327:	83 c4 08             	add    $0x8,%esp
64832a:	52                   	push   %edx
64832b:	50                   	push   %eax
64832c:	8b 44 24 30          	mov    0x30(%esp),%eax
648330:	8b 54 24 34          	mov    0x34(%esp),%edx
648334:	23 44 24 38          	and    0x38(%esp),%eax
648338:	23 54 24 3c          	and    0x3c(%esp),%edx
64833c:	33 04 24             	xor    (%esp),%eax
64833f:	33 54 24 04          	xor    0x4(%esp),%edx
648343:	83 c4 08             	add    $0x8,%esp
648346:	03 04 24             	add    (%esp),%eax
648349:	13 54 24 04          	adc    0x4(%esp),%edx
64834d:	83 c4 08             	add    $0x8,%esp
648350:	89 44 24 48          	mov    %eax,0x48(%esp)
648354:	89 54 24 4c          	mov    %edx,0x4c(%esp)
648358:	8b 44 24 30          	mov    0x30(%esp),%eax
64835c:	8b 54 24 34          	mov    0x34(%esp),%edx
648360:	03 44 24 40          	add    0x40(%esp),%eax
648364:	13 54 24 44          	adc    0x44(%esp),%edx
648368:	89 44 24 30          	mov    %eax,0x30(%esp)
64836c:	89 54 24 34          	mov    %edx,0x34(%esp)
648370:	8b 44 24 40          	mov    0x40(%esp),%eax
648374:	8b 54 24 44          	mov    0x44(%esp),%edx
648378:	03 44 24 48          	add    0x48(%esp),%eax
64837c:	13 54 24 4c          	adc    0x4c(%esp),%edx
648380:	89 44 24 10          	mov    %eax,0x10(%esp)
648384:	89 54 24 14          	mov    %edx,0x14(%esp)
648388:	8b 44 24 30          	mov    0x30(%esp),%eax
64838c:	8b 54 24 34          	mov    0x34(%esp),%edx
648390:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
648394:	c1 ea 0e             	shr    $0xe,%edx
648397:	52                   	push   %edx
648398:	50                   	push   %eax
648399:	8b 54 24 38          	mov    0x38(%esp),%edx
64839d:	c1 e2 12             	shl    $0x12,%edx
6483a0:	33 c0                	xor    %eax,%eax
6483a2:	0b 04 24             	or     (%esp),%eax
6483a5:	0b 54 24 04          	or     0x4(%esp),%edx
6483a9:	83 c4 08             	add    $0x8,%esp
6483ac:	52                   	push   %edx
6483ad:	50                   	push   %eax
6483ae:	8b 44 24 38          	mov    0x38(%esp),%eax
6483b2:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6483b6:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6483ba:	c1 ea 12             	shr    $0x12,%edx
6483bd:	52                   	push   %edx
6483be:	50                   	push   %eax
6483bf:	8b 54 24 40          	mov    0x40(%esp),%edx
6483c3:	c1 e2 0e             	shl    $0xe,%edx
6483c6:	33 c0                	xor    %eax,%eax
6483c8:	0b 04 24             	or     (%esp),%eax
6483cb:	0b 54 24 04          	or     0x4(%esp),%edx
6483cf:	83 c4 08             	add    $0x8,%esp
6483d2:	33 04 24             	xor    (%esp),%eax
6483d5:	33 54 24 04          	xor    0x4(%esp),%edx
6483d9:	83 c4 08             	add    $0x8,%esp
6483dc:	52                   	push   %edx
6483dd:	50                   	push   %eax
6483de:	8b 44 24 3c          	mov    0x3c(%esp),%eax
6483e2:	c1 e8 09             	shr    $0x9,%eax
6483e5:	33 d2                	xor    %edx,%edx
6483e7:	52                   	push   %edx
6483e8:	50                   	push   %eax
6483e9:	8b 44 24 40          	mov    0x40(%esp),%eax
6483ed:	8b 54 24 44          	mov    0x44(%esp),%edx
6483f1:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6483f5:	c1 e0 17             	shl    $0x17,%eax
6483f8:	0b 04 24             	or     (%esp),%eax
6483fb:	0b 54 24 04          	or     0x4(%esp),%edx
6483ff:	83 c4 08             	add    $0x8,%esp
648402:	33 04 24             	xor    (%esp),%eax
648405:	33 54 24 04          	xor    0x4(%esp),%edx
648409:	83 c4 08             	add    $0x8,%esp
64840c:	03 44 24 08          	add    0x8(%esp),%eax
648410:	13 54 24 0c          	adc    0xc(%esp),%edx
648414:	52                   	push   %edx
648415:	50                   	push   %eax
648416:	8b 44 24 38          	mov    0x38(%esp),%eax
64841a:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64841e:	23 44 24 40          	and    0x40(%esp),%eax
648422:	23 54 24 44          	and    0x44(%esp),%edx
648426:	52                   	push   %edx
648427:	50                   	push   %eax
648428:	8b 44 24 40          	mov    0x40(%esp),%eax
64842c:	8b 54 24 44          	mov    0x44(%esp),%edx
648430:	f7 d0                	not    %eax
648432:	f7 d2                	not    %edx
648434:	23 44 24 10          	and    0x10(%esp),%eax
648438:	23 54 24 14          	and    0x14(%esp),%edx
64843c:	33 04 24             	xor    (%esp),%eax
64843f:	33 54 24 04          	xor    0x4(%esp),%edx
648443:	83 c4 08             	add    $0x8,%esp
648446:	03 04 24             	add    (%esp),%eax
648449:	13 54 24 04          	adc    0x4(%esp),%edx
64844d:	83 c4 08             	add    $0x8,%esp
648450:	05 ae 0d f9 be       	add    $0xbef90dae,%eax
648455:	81 d2 04 98 3f 11    	adc    $0x113f9804,%edx
64845b:	03 84 24 80 02 00 00 	add    0x280(%esp),%eax
648462:	13 94 24 84 02 00 00 	adc    0x284(%esp),%edx
648469:	89 44 24 40          	mov    %eax,0x40(%esp)
64846d:	89 54 24 44          	mov    %edx,0x44(%esp)
648471:	8b 44 24 10          	mov    0x10(%esp),%eax
648475:	8b 54 24 14          	mov    0x14(%esp),%edx
648479:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
64847d:	c1 ea 1c             	shr    $0x1c,%edx
648480:	52                   	push   %edx
648481:	50                   	push   %eax
648482:	8b 54 24 18          	mov    0x18(%esp),%edx
648486:	c1 e2 04             	shl    $0x4,%edx
648489:	33 c0                	xor    %eax,%eax
64848b:	0b 04 24             	or     (%esp),%eax
64848e:	0b 54 24 04          	or     0x4(%esp),%edx
648492:	83 c4 08             	add    $0x8,%esp
648495:	52                   	push   %edx
648496:	50                   	push   %eax
648497:	8b 44 24 1c          	mov    0x1c(%esp),%eax
64849b:	c1 e8 02             	shr    $0x2,%eax
64849e:	33 d2                	xor    %edx,%edx
6484a0:	52                   	push   %edx
6484a1:	50                   	push   %eax
6484a2:	8b 44 24 20          	mov    0x20(%esp),%eax
6484a6:	8b 54 24 24          	mov    0x24(%esp),%edx
6484aa:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6484ae:	c1 e0 1e             	shl    $0x1e,%eax
6484b1:	0b 04 24             	or     (%esp),%eax
6484b4:	0b 54 24 04          	or     0x4(%esp),%edx
6484b8:	83 c4 08             	add    $0x8,%esp
6484bb:	33 04 24             	xor    (%esp),%eax
6484be:	33 54 24 04          	xor    0x4(%esp),%edx
6484c2:	83 c4 08             	add    $0x8,%esp
6484c5:	52                   	push   %edx
6484c6:	50                   	push   %eax
6484c7:	8b 44 24 1c          	mov    0x1c(%esp),%eax
6484cb:	c1 e8 07             	shr    $0x7,%eax
6484ce:	33 d2                	xor    %edx,%edx
6484d0:	52                   	push   %edx
6484d1:	50                   	push   %eax
6484d2:	8b 44 24 20          	mov    0x20(%esp),%eax
6484d6:	8b 54 24 24          	mov    0x24(%esp),%edx
6484da:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6484de:	c1 e0 19             	shl    $0x19,%eax
6484e1:	0b 04 24             	or     (%esp),%eax
6484e4:	0b 54 24 04          	or     0x4(%esp),%edx
6484e8:	83 c4 08             	add    $0x8,%esp
6484eb:	33 04 24             	xor    (%esp),%eax
6484ee:	33 54 24 04          	xor    0x4(%esp),%edx
6484f2:	83 c4 08             	add    $0x8,%esp
6484f5:	52                   	push   %edx
6484f6:	50                   	push   %eax
6484f7:	8b 44 24 18          	mov    0x18(%esp),%eax
6484fb:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6484ff:	23 44 24 20          	and    0x20(%esp),%eax
648503:	23 54 24 24          	and    0x24(%esp),%edx
648507:	52                   	push   %edx
648508:	50                   	push   %eax
648509:	8b 44 24 20          	mov    0x20(%esp),%eax
64850d:	8b 54 24 24          	mov    0x24(%esp),%edx
648511:	23 44 24 30          	and    0x30(%esp),%eax
648515:	23 54 24 34          	and    0x34(%esp),%edx
648519:	33 04 24             	xor    (%esp),%eax
64851c:	33 54 24 04          	xor    0x4(%esp),%edx
648520:	83 c4 08             	add    $0x8,%esp
648523:	52                   	push   %edx
648524:	50                   	push   %eax
648525:	8b 44 24 28          	mov    0x28(%esp),%eax
648529:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64852d:	23 44 24 30          	and    0x30(%esp),%eax
648531:	23 54 24 34          	and    0x34(%esp),%edx
648535:	33 04 24             	xor    (%esp),%eax
648538:	33 54 24 04          	xor    0x4(%esp),%edx
64853c:	83 c4 08             	add    $0x8,%esp
64853f:	03 04 24             	add    (%esp),%eax
648542:	13 54 24 04          	adc    0x4(%esp),%edx
648546:	83 c4 08             	add    $0x8,%esp
648549:	89 44 24 48          	mov    %eax,0x48(%esp)
64854d:	89 54 24 4c          	mov    %edx,0x4c(%esp)
648551:	8b 44 24 28          	mov    0x28(%esp),%eax
648555:	8b 54 24 2c          	mov    0x2c(%esp),%edx
648559:	03 44 24 40          	add    0x40(%esp),%eax
64855d:	13 54 24 44          	adc    0x44(%esp),%edx
648561:	89 44 24 28          	mov    %eax,0x28(%esp)
648565:	89 54 24 2c          	mov    %edx,0x2c(%esp)
648569:	8b 44 24 40          	mov    0x40(%esp),%eax
64856d:	8b 54 24 44          	mov    0x44(%esp),%edx
648571:	03 44 24 48          	add    0x48(%esp),%eax
648575:	13 54 24 4c          	adc    0x4c(%esp),%edx
648579:	89 44 24 08          	mov    %eax,0x8(%esp)
64857d:	89 54 24 0c          	mov    %edx,0xc(%esp)
648581:	8b 44 24 28          	mov    0x28(%esp),%eax
648585:	8b 54 24 2c          	mov    0x2c(%esp),%edx
648589:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64858d:	c1 ea 0e             	shr    $0xe,%edx
648590:	52                   	push   %edx
648591:	50                   	push   %eax
648592:	8b 54 24 30          	mov    0x30(%esp),%edx
648596:	c1 e2 12             	shl    $0x12,%edx
648599:	33 c0                	xor    %eax,%eax
64859b:	0b 04 24             	or     (%esp),%eax
64859e:	0b 54 24 04          	or     0x4(%esp),%edx
6485a2:	83 c4 08             	add    $0x8,%esp
6485a5:	52                   	push   %edx
6485a6:	50                   	push   %eax
6485a7:	8b 44 24 30          	mov    0x30(%esp),%eax
6485ab:	8b 54 24 34          	mov    0x34(%esp),%edx
6485af:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6485b3:	c1 ea 12             	shr    $0x12,%edx
6485b6:	52                   	push   %edx
6485b7:	50                   	push   %eax
6485b8:	8b 54 24 38          	mov    0x38(%esp),%edx
6485bc:	c1 e2 0e             	shl    $0xe,%edx
6485bf:	33 c0                	xor    %eax,%eax
6485c1:	0b 04 24             	or     (%esp),%eax
6485c4:	0b 54 24 04          	or     0x4(%esp),%edx
6485c8:	83 c4 08             	add    $0x8,%esp
6485cb:	33 04 24             	xor    (%esp),%eax
6485ce:	33 54 24 04          	xor    0x4(%esp),%edx
6485d2:	83 c4 08             	add    $0x8,%esp
6485d5:	52                   	push   %edx
6485d6:	50                   	push   %eax
6485d7:	8b 44 24 34          	mov    0x34(%esp),%eax
6485db:	c1 e8 09             	shr    $0x9,%eax
6485de:	33 d2                	xor    %edx,%edx
6485e0:	52                   	push   %edx
6485e1:	50                   	push   %eax
6485e2:	8b 44 24 38          	mov    0x38(%esp),%eax
6485e6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6485ea:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6485ee:	c1 e0 17             	shl    $0x17,%eax
6485f1:	0b 04 24             	or     (%esp),%eax
6485f4:	0b 54 24 04          	or     0x4(%esp),%edx
6485f8:	83 c4 08             	add    $0x8,%esp
6485fb:	33 04 24             	xor    (%esp),%eax
6485fe:	33 54 24 04          	xor    0x4(%esp),%edx
648602:	83 c4 08             	add    $0x8,%esp
648605:	03 04 24             	add    (%esp),%eax
648608:	13 54 24 04          	adc    0x4(%esp),%edx
64860c:	52                   	push   %edx
64860d:	50                   	push   %eax
64860e:	8b 44 24 30          	mov    0x30(%esp),%eax
648612:	8b 54 24 34          	mov    0x34(%esp),%edx
648616:	23 44 24 38          	and    0x38(%esp),%eax
64861a:	23 54 24 3c          	and    0x3c(%esp),%edx
64861e:	52                   	push   %edx
64861f:	50                   	push   %eax
648620:	8b 44 24 38          	mov    0x38(%esp),%eax
648624:	8b 54 24 3c          	mov    0x3c(%esp),%edx
648628:	f7 d0                	not    %eax
64862a:	f7 d2                	not    %edx
64862c:	23 44 24 48          	and    0x48(%esp),%eax
648630:	23 54 24 4c          	and    0x4c(%esp),%edx
648634:	33 04 24             	xor    (%esp),%eax
648637:	33 54 24 04          	xor    0x4(%esp),%edx
64863b:	83 c4 08             	add    $0x8,%esp
64863e:	03 04 24             	add    (%esp),%eax
648641:	13 54 24 04          	adc    0x4(%esp),%edx
648645:	83 c4 08             	add    $0x8,%esp
648648:	05 1b 47 1c 13       	add    $0x131c471b,%eax
64864d:	81 d2 35 0b 71 1b    	adc    $0x1b710b35,%edx
648653:	03 84 24 88 02 00 00 	add    0x288(%esp),%eax
64865a:	13 94 24 8c 02 00 00 	adc    0x28c(%esp),%edx
648661:	89 44 24 40          	mov    %eax,0x40(%esp)
648665:	89 54 24 44          	mov    %edx,0x44(%esp)
648669:	8b 44 24 08          	mov    0x8(%esp),%eax
64866d:	8b 54 24 0c          	mov    0xc(%esp),%edx
648671:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
648675:	c1 ea 1c             	shr    $0x1c,%edx
648678:	52                   	push   %edx
648679:	50                   	push   %eax
64867a:	8b 54 24 10          	mov    0x10(%esp),%edx
64867e:	c1 e2 04             	shl    $0x4,%edx
648681:	33 c0                	xor    %eax,%eax
648683:	0b 04 24             	or     (%esp),%eax
648686:	0b 54 24 04          	or     0x4(%esp),%edx
64868a:	83 c4 08             	add    $0x8,%esp
64868d:	52                   	push   %edx
64868e:	50                   	push   %eax
64868f:	8b 44 24 14          	mov    0x14(%esp),%eax
648693:	c1 e8 02             	shr    $0x2,%eax
648696:	33 d2                	xor    %edx,%edx
648698:	52                   	push   %edx
648699:	50                   	push   %eax
64869a:	8b 44 24 18          	mov    0x18(%esp),%eax
64869e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6486a2:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6486a6:	c1 e0 1e             	shl    $0x1e,%eax
6486a9:	0b 04 24             	or     (%esp),%eax
6486ac:	0b 54 24 04          	or     0x4(%esp),%edx
6486b0:	83 c4 08             	add    $0x8,%esp
6486b3:	33 04 24             	xor    (%esp),%eax
6486b6:	33 54 24 04          	xor    0x4(%esp),%edx
6486ba:	83 c4 08             	add    $0x8,%esp
6486bd:	52                   	push   %edx
6486be:	50                   	push   %eax