64311d:	83 c4 08             	add    $0x8,%esp
643120:	52                   	push   %edx
643121:	50                   	push   %eax
643122:	8b 44 24 0c          	mov    0xc(%esp),%eax
643126:	c1 e8 09             	shr    $0x9,%eax
643129:	33 d2                	xor    %edx,%edx
64312b:	52                   	push   %edx
64312c:	50                   	push   %eax
64312d:	8b 44 24 10          	mov    0x10(%esp),%eax
643131:	8b 54 24 14          	mov    0x14(%esp),%edx
643135:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643139:	c1 e0 17             	shl    $0x17,%eax
64313c:	0b 04 24             	or     (%esp),%eax
64313f:	0b 54 24 04          	or     0x4(%esp),%edx
643143:	83 c4 08             	add    $0x8,%esp
643146:	33 04 24             	xor    (%esp),%eax
643149:	33 54 24 04          	xor    0x4(%esp),%edx
64314d:	83 c4 08             	add    $0x8,%esp
643150:	03 44 24 18          	add    0x18(%esp),%eax
643154:	13 54 24 1c          	adc    0x1c(%esp),%edx
643158:	52                   	push   %edx
643159:	50                   	push   %eax
64315a:	8b 44 24 08          	mov    0x8(%esp),%eax
64315e:	8b 54 24 0c          	mov    0xc(%esp),%edx
643162:	23 44 24 10          	and    0x10(%esp),%eax
643166:	23 54 24 14          	and    0x14(%esp),%edx
64316a:	52                   	push   %edx
64316b:	50                   	push   %eax
64316c:	8b 44 24 10          	mov    0x10(%esp),%eax
643170:	8b 54 24 14          	mov    0x14(%esp),%edx
643174:	f7 d0                	not    %eax
643176:	f7 d2                	not    %edx
643178:	23 44 24 20          	and    0x20(%esp),%eax
64317c:	23 54 24 24          	and    0x24(%esp),%edx
643180:	33 04 24             	xor    (%esp),%eax
643183:	33 54 24 04          	xor    0x4(%esp),%edx
643187:	83 c4 08             	add    $0x8,%esp
64318a:	03 04 24             	add    (%esp),%eax
64318d:	13 54 24 04          	adc    0x4(%esp),%edx
643191:	83 c4 08             	add    $0x8,%esp
643194:	05 c2 8f a8 3d       	add    $0x3da88fc2,%eax
643199:	81 d2 f3 0b e0 c6    	adc    $0xc6e00bf3,%edx
64319f:	03 84 24 30 01 00 00 	add    0x130(%esp),%eax
6431a6:	13 94 24 34 01 00 00 	adc    0x134(%esp),%edx
6431ad:	89 44 24 40          	mov    %eax,0x40(%esp)
6431b1:	89 54 24 44          	mov    %edx,0x44(%esp)
6431b5:	8b 44 24 20          	mov    0x20(%esp),%eax
6431b9:	8b 54 24 24          	mov    0x24(%esp),%edx
6431bd:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6431c1:	c1 ea 1c             	shr    $0x1c,%edx
6431c4:	52                   	push   %edx
6431c5:	50                   	push   %eax
6431c6:	8b 54 24 28          	mov    0x28(%esp),%edx
6431ca:	c1 e2 04             	shl    $0x4,%edx
6431cd:	33 c0                	xor    %eax,%eax
6431cf:	0b 04 24             	or     (%esp),%eax
6431d2:	0b 54 24 04          	or     0x4(%esp),%edx
6431d6:	83 c4 08             	add    $0x8,%esp
6431d9:	52                   	push   %edx
6431da:	50                   	push   %eax
6431db:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6431df:	c1 e8 02             	shr    $0x2,%eax
6431e2:	33 d2                	xor    %edx,%edx
6431e4:	52                   	push   %edx
6431e5:	50                   	push   %eax
6431e6:	8b 44 24 30          	mov    0x30(%esp),%eax
6431ea:	8b 54 24 34          	mov    0x34(%esp),%edx
6431ee:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6431f2:	c1 e0 1e             	shl    $0x1e,%eax
6431f5:	0b 04 24             	or     (%esp),%eax
6431f8:	0b 54 24 04          	or     0x4(%esp),%edx
6431fc:	83 c4 08             	add    $0x8,%esp
6431ff:	33 04 24             	xor    (%esp),%eax
643202:	33 54 24 04          	xor    0x4(%esp),%edx
643206:	83 c4 08             	add    $0x8,%esp
643209:	52                   	push   %edx
64320a:	50                   	push   %eax
64320b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64320f:	c1 e8 07             	shr    $0x7,%eax
643212:	33 d2                	xor    %edx,%edx
643214:	52                   	push   %edx
643215:	50                   	push   %eax
643216:	8b 44 24 30          	mov    0x30(%esp),%eax
64321a:	8b 54 24 34          	mov    0x34(%esp),%edx
64321e:	0f a4 c2 19          	shld   $0x19,%eax,%edx
643222:	c1 e0 19             	shl    $0x19,%eax
643225:	0b 04 24             	or     (%esp),%eax
643228:	0b 54 24 04          	or     0x4(%esp),%edx
64322c:	83 c4 08             	add    $0x8,%esp
64322f:	33 04 24             	xor    (%esp),%eax
643232:	33 54 24 04          	xor    0x4(%esp),%edx
643236:	83 c4 08             	add    $0x8,%esp
643239:	52                   	push   %edx
64323a:	50                   	push   %eax
64323b:	8b 44 24 28          	mov    0x28(%esp),%eax
64323f:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643243:	23 44 24 30          	and    0x30(%esp),%eax
643247:	23 54 24 34          	and    0x34(%esp),%edx
64324b:	52                   	push   %edx
64324c:	50                   	push   %eax
64324d:	8b 44 24 30          	mov    0x30(%esp),%eax
643251:	8b 54 24 34          	mov    0x34(%esp),%edx
643255:	23 44 24 40          	and    0x40(%esp),%eax
643259:	23 54 24 44          	and    0x44(%esp),%edx
64325d:	33 04 24             	xor    (%esp),%eax
643260:	33 54 24 04          	xor    0x4(%esp),%edx
643264:	83 c4 08             	add    $0x8,%esp
643267:	52                   	push   %edx
643268:	50                   	push   %eax
643269:	8b 44 24 38          	mov    0x38(%esp),%eax
64326d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643271:	23 44 24 40          	and    0x40(%esp),%eax
643275:	23 54 24 44          	and    0x44(%esp),%edx
643279:	33 04 24             	xor    (%esp),%eax
64327c:	33 54 24 04          	xor    0x4(%esp),%edx
643280:	83 c4 08             	add    $0x8,%esp
643283:	03 04 24             	add    (%esp),%eax
643286:	13 54 24 04          	adc    0x4(%esp),%edx
64328a:	83 c4 08             	add    $0x8,%esp
64328d:	89 44 24 48          	mov    %eax,0x48(%esp)
643291:	89 54 24 4c          	mov    %edx,0x4c(%esp)
643295:	8b 44 24 38          	mov    0x38(%esp),%eax
643299:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64329d:	03 44 24 40          	add    0x40(%esp),%eax
6432a1:	13 54 24 44          	adc    0x44(%esp),%edx
6432a5:	89 44 24 38          	mov    %eax,0x38(%esp)
6432a9:	89 54 24 3c          	mov    %edx,0x3c(%esp)
6432ad:	8b 44 24 40          	mov    0x40(%esp),%eax
6432b1:	8b 54 24 44          	mov    0x44(%esp),%edx
6432b5:	03 44 24 48          	add    0x48(%esp),%eax
6432b9:	13 54 24 4c          	adc    0x4c(%esp),%edx
6432bd:	89 44 24 18          	mov    %eax,0x18(%esp)
6432c1:	89 54 24 1c          	mov    %edx,0x1c(%esp)
6432c5:	8b 44 24 38          	mov    0x38(%esp),%eax
6432c9:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6432cd:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6432d1:	c1 ea 0e             	shr    $0xe,%edx
6432d4:	52                   	push   %edx
6432d5:	50                   	push   %eax
6432d6:	8b 54 24 40          	mov    0x40(%esp),%edx
6432da:	c1 e2 12             	shl    $0x12,%edx
6432dd:	33 c0                	xor    %eax,%eax
6432df:	0b 04 24             	or     (%esp),%eax
6432e2:	0b 54 24 04          	or     0x4(%esp),%edx
6432e6:	83 c4 08             	add    $0x8,%esp
6432e9:	52                   	push   %edx
6432ea:	50                   	push   %eax
6432eb:	8b 44 24 40          	mov    0x40(%esp),%eax
6432ef:	8b 54 24 44          	mov    0x44(%esp),%edx
6432f3:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6432f7:	c1 ea 12             	shr    $0x12,%edx
6432fa:	52                   	push   %edx
6432fb:	50                   	push   %eax
6432fc:	8b 54 24 48          	mov    0x48(%esp),%edx
643300:	c1 e2 0e             	shl    $0xe,%edx
643303:	33 c0                	xor    %eax,%eax
643305:	0b 04 24             	or     (%esp),%eax
643308:	0b 54 24 04          	or     0x4(%esp),%edx
64330c:	83 c4 08             	add    $0x8,%esp
64330f:	33 04 24             	xor    (%esp),%eax
643312:	33 54 24 04          	xor    0x4(%esp),%edx
643316:	83 c4 08             	add    $0x8,%esp
643319:	52                   	push   %edx
64331a:	50                   	push   %eax
64331b:	8b 44 24 44          	mov    0x44(%esp),%eax
64331f:	c1 e8 09             	shr    $0x9,%eax
643322:	33 d2                	xor    %edx,%edx
643324:	52                   	push   %edx
643325:	50                   	push   %eax
643326:	8b 44 24 48          	mov    0x48(%esp),%eax
64332a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
64332e:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643332:	c1 e0 17             	shl    $0x17,%eax
643335:	0b 04 24             	or     (%esp),%eax
643338:	0b 54 24 04          	or     0x4(%esp),%edx
64333c:	83 c4 08             	add    $0x8,%esp
64333f:	33 04 24             	xor    (%esp),%eax
643342:	33 54 24 04          	xor    0x4(%esp),%edx
643346:	83 c4 08             	add    $0x8,%esp
643349:	03 44 24 10          	add    0x10(%esp),%eax
64334d:	13 54 24 14          	adc    0x14(%esp),%edx
643351:	52                   	push   %edx
643352:	50                   	push   %eax
643353:	8b 44 24 40          	mov    0x40(%esp),%eax
643357:	8b 54 24 44          	mov    0x44(%esp),%edx
64335b:	23 44 24 08          	and    0x8(%esp),%eax
64335f:	23 54 24 0c          	and    0xc(%esp),%edx
643363:	52                   	push   %edx
643364:	50                   	push   %eax
643365:	8b 44 24 48          	mov    0x48(%esp),%eax
643369:	8b 54 24 4c          	mov    0x4c(%esp),%edx
64336d:	f7 d0                	not    %eax
64336f:	f7 d2                	not    %edx
643371:	23 44 24 18          	and    0x18(%esp),%eax
643375:	23 54 24 1c          	and    0x1c(%esp),%edx
643379:	33 04 24             	xor    (%esp),%eax
64337c:	33 54 24 04          	xor    0x4(%esp),%edx
643380:	83 c4 08             	add    $0x8,%esp
643383:	03 04 24             	add    (%esp),%eax
643386:	13 54 24 04          	adc    0x4(%esp),%edx
64338a:	83 c4 08             	add    $0x8,%esp
64338d:	05 25 a7 0a 93       	add    $0x930aa725,%eax
643392:	81 d2 47 91 a7 d5    	adc    $0xd5a79147,%edx
643398:	03 84 24 38 01 00 00 	add    0x138(%esp),%eax
64339f:	13 94 24 3c 01 00 00 	adc    0x13c(%esp),%edx
6433a6:	89 44 24 40          	mov    %eax,0x40(%esp)
6433aa:	89 54 24 44          	mov    %edx,0x44(%esp)
6433ae:	8b 44 24 18          	mov    0x18(%esp),%eax
6433b2:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6433b6:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6433ba:	c1 ea 1c             	shr    $0x1c,%edx
6433bd:	52                   	push   %edx
6433be:	50                   	push   %eax
6433bf:	8b 54 24 20          	mov    0x20(%esp),%edx
6433c3:	c1 e2 04             	shl    $0x4,%edx
6433c6:	33 c0                	xor    %eax,%eax
6433c8:	0b 04 24             	or     (%esp),%eax
6433cb:	0b 54 24 04          	or     0x4(%esp),%edx
6433cf:	83 c4 08             	add    $0x8,%esp
6433d2:	52                   	push   %edx
6433d3:	50                   	push   %eax
6433d4:	8b 44 24 24          	mov    0x24(%esp),%eax
6433d8:	c1 e8 02             	shr    $0x2,%eax
6433db:	33 d2                	xor    %edx,%edx
6433dd:	52                   	push   %edx
6433de:	50                   	push   %eax
6433df:	8b 44 24 28          	mov    0x28(%esp),%eax
6433e3:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6433e7:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6433eb:	c1 e0 1e             	shl    $0x1e,%eax
6433ee:	0b 04 24             	or     (%esp),%eax
6433f1:	0b 54 24 04          	or     0x4(%esp),%edx
6433f5:	83 c4 08             	add    $0x8,%esp
6433f8:	33 04 24             	xor    (%esp),%eax
6433fb:	33 54 24 04          	xor    0x4(%esp),%edx
6433ff:	83 c4 08             	add    $0x8,%esp
643402:	52                   	push   %edx
643403:	50                   	push   %eax
643404:	8b 44 24 24          	mov    0x24(%esp),%eax
643408:	c1 e8 07             	shr    $0x7,%eax
64340b:	33 d2                	xor    %edx,%edx
64340d:	52                   	push   %edx
64340e:	50                   	push   %eax
64340f:	8b 44 24 28          	mov    0x28(%esp),%eax
643413:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643417:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64341b:	c1 e0 19             	shl    $0x19,%eax
64341e:	0b 04 24             	or     (%esp),%eax
643421:	0b 54 24 04          	or     0x4(%esp),%edx
643425:	83 c4 08             	add    $0x8,%esp
643428:	33 04 24             	xor    (%esp),%eax
64342b:	33 54 24 04          	xor    0x4(%esp),%edx
64342f:	83 c4 08             	add    $0x8,%esp
643432:	52                   	push   %edx
643433:	50                   	push   %eax
643434:	8b 44 24 20          	mov    0x20(%esp),%eax
643438:	8b 54 24 24          	mov    0x24(%esp),%edx
64343c:	23 44 24 28          	and    0x28(%esp),%eax
643440:	23 54 24 2c          	and    0x2c(%esp),%edx
643444:	52                   	push   %edx
643445:	50                   	push   %eax
643446:	8b 44 24 28          	mov    0x28(%esp),%eax
64344a:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64344e:	23 44 24 38          	and    0x38(%esp),%eax
643452:	23 54 24 3c          	and    0x3c(%esp),%edx
643456:	33 04 24             	xor    (%esp),%eax
643459:	33 54 24 04          	xor    0x4(%esp),%edx
64345d:	83 c4 08             	add    $0x8,%esp
643460:	52                   	push   %edx
643461:	50                   	push   %eax
643462:	8b 44 24 30          	mov    0x30(%esp),%eax
643466:	8b 54 24 34          	mov    0x34(%esp),%edx
64346a:	23 44 24 38          	and    0x38(%esp),%eax
64346e:	23 54 24 3c          	and    0x3c(%esp),%edx
643472:	33 04 24             	xor    (%esp),%eax
643475:	33 54 24 04          	xor    0x4(%esp),%edx
643479:	83 c4 08             	add    $0x8,%esp
64347c:	03 04 24             	add    (%esp),%eax
64347f:	13 54 24 04          	adc    0x4(%esp),%edx
643483:	83 c4 08             	add    $0x8,%esp
643486:	89 44 24 48          	mov    %eax,0x48(%esp)
64348a:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64348e:	8b 44 24 30          	mov    0x30(%esp),%eax
643492:	8b 54 24 34          	mov    0x34(%esp),%edx
643496:	03 44 24 40          	add    0x40(%esp),%eax
64349a:	13 54 24 44          	adc    0x44(%esp),%edx
64349e:	89 44 24 30          	mov    %eax,0x30(%esp)
6434a2:	89 54 24 34          	mov    %edx,0x34(%esp)
6434a6:	8b 44 24 40          	mov    0x40(%esp),%eax
6434aa:	8b 54 24 44          	mov    0x44(%esp),%edx
6434ae:	03 44 24 48          	add    0x48(%esp),%eax
6434b2:	13 54 24 4c          	adc    0x4c(%esp),%edx
6434b6:	89 44 24 10          	mov    %eax,0x10(%esp)
6434ba:	89 54 24 14          	mov    %edx,0x14(%esp)
6434be:	8b 44 24 30          	mov    0x30(%esp),%eax
6434c2:	8b 54 24 34          	mov    0x34(%esp),%edx
6434c6:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6434ca:	c1 ea 0e             	shr    $0xe,%edx
6434cd:	52                   	push   %edx
6434ce:	50                   	push   %eax
6434cf:	8b 54 24 38          	mov    0x38(%esp),%edx
6434d3:	c1 e2 12             	shl    $0x12,%edx
6434d6:	33 c0                	xor    %eax,%eax
6434d8:	0b 04 24             	or     (%esp),%eax
6434db:	0b 54 24 04          	or     0x4(%esp),%edx
6434df:	83 c4 08             	add    $0x8,%esp
6434e2:	52                   	push   %edx
6434e3:	50                   	push   %eax
6434e4:	8b 44 24 38          	mov    0x38(%esp),%eax
6434e8:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6434ec:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6434f0:	c1 ea 12             	shr    $0x12,%edx
6434f3:	52                   	push   %edx
6434f4:	50                   	push   %eax
6434f5:	8b 54 24 40          	mov    0x40(%esp),%edx
6434f9:	c1 e2 0e             	shl    $0xe,%edx
6434fc:	33 c0                	xor    %eax,%eax
6434fe:	0b 04 24             	or     (%esp),%eax
643501:	0b 54 24 04          	or     0x4(%esp),%edx
643505:	83 c4 08             	add    $0x8,%esp
643508:	33 04 24             	xor    (%esp),%eax
64350b:	33 54 24 04          	xor    0x4(%esp),%edx
64350f:	83 c4 08             	add    $0x8,%esp
643512:	52                   	push   %edx
643513:	50                   	push   %eax
643514:	8b 44 24 3c          	mov    0x3c(%esp),%eax
643518:	c1 e8 09             	shr    $0x9,%eax
64351b:	33 d2                	xor    %edx,%edx
64351d:	52                   	push   %edx
64351e:	50                   	push   %eax
64351f:	8b 44 24 40          	mov    0x40(%esp),%eax
643523:	8b 54 24 44          	mov    0x44(%esp),%edx
643527:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64352b:	c1 e0 17             	shl    $0x17,%eax
64352e:	0b 04 24             	or     (%esp),%eax
643531:	0b 54 24 04          	or     0x4(%esp),%edx
643535:	83 c4 08             	add    $0x8,%esp
643538:	33 04 24             	xor    (%esp),%eax
64353b:	33 54 24 04          	xor    0x4(%esp),%edx
64353f:	83 c4 08             	add    $0x8,%esp
643542:	03 44 24 08          	add    0x8(%esp),%eax
643546:	13 54 24 0c          	adc    0xc(%esp),%edx
64354a:	52                   	push   %edx
64354b:	50                   	push   %eax
64354c:	8b 44 24 38          	mov    0x38(%esp),%eax
643550:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643554:	23 44 24 40          	and    0x40(%esp),%eax
643558:	23 54 24 44          	and    0x44(%esp),%edx
64355c:	52                   	push   %edx
64355d:	50                   	push   %eax