40c2dd:	0f 6f 5c 24 18       	movq   0x18(%esp),%mm3
40c2e2:	0f 6f 7c 24 38       	movq   0x38(%esp),%mm7
40c2e7:	0f ef d1             	pxor   %mm1,%mm2
40c2ea:	0f d4 06             	paddq  (%esi),%mm0
40c2ed:	0f d4 4e 08          	paddq  0x8(%esi),%mm1
40c2f1:	0f d4 56 10          	paddq  0x10(%esi),%mm2
40c2f5:	0f d4 5e 18          	paddq  0x18(%esi),%mm3
40c2f9:	0f d4 66 20          	paddq  0x20(%esi),%mm4
40c2fd:	0f d4 6e 28          	paddq  0x28(%esi),%mm5
40c301:	0f d4 76 30          	paddq  0x30(%esi),%mm6
40c305:	0f d4 7e 38          	paddq  0x38(%esi),%mm7
40c309:	0f 7f 06             	movq   %mm0,(%esi)
40c30c:	0f 7f 4e 08          	movq   %mm1,0x8(%esi)
40c310:	0f 7f 56 10          	movq   %mm2,0x10(%esi)
40c314:	0f 7f 5e 18          	movq   %mm3,0x18(%esi)
40c318:	0f 7f 66 20          	movq   %mm4,0x20(%esi)
40c31c:	0f 7f 6e 28          	movq   %mm5,0x28(%esi)
40c320:	0f 7f 76 30          	movq   %mm6,0x30(%esi)
40c324:	0f 7f 7e 38          	movq   %mm7,0x38(%esi)
40c328:	39 c7                	cmp    %eax,%edi
40c32a:	0f 82 d0 e4 ff ff    	jb     0x40a800
40c330:	8b 62 4c             	mov    0x4c(%edx),%esp
40c333:	0f 77                	emms
40c335:	5f                   	pop    %edi
40c336:	5e                   	pop    %esi
40c337:	5b                   	pop    %ebx
40c338:	5d                   	pop    %ebp
40c339:	c3                   	ret
40c33a:	90                   	nop
40c33b:	90                   	nop
40c33c:	90                   	nop
40c33d:	90                   	nop
40c33e:	90                   	nop
40c33f:	90                   	nop
40c340:	8b 07                	mov    (%edi),%eax
40c342:	8b 5f 04             	mov    0x4(%edi),%ebx
40c345:	8b 4f 08             	mov    0x8(%edi),%ecx
40c348:	8b 57 0c             	mov    0xc(%edi),%edx
40c34b:	0f c8                	bswap  %eax
40c34d:	0f cb                	bswap  %ebx
40c34f:	0f c9                	bswap  %ecx
40c351:	0f ca                	bswap  %edx
40c353:	50                   	push   %eax
40c354:	53                   	push   %ebx
40c355:	51                   	push   %ecx
40c356:	52                   	push   %edx
40c357:	8b 47 10             	mov    0x10(%edi),%eax
40c35a:	8b 5f 14             	mov    0x14(%edi),%ebx
40c35d:	8b 4f 18             	mov    0x18(%edi),%ecx
40c360:	8b 57 1c             	mov    0x1c(%edi),%edx
40c363:	0f c8                	bswap  %eax
40c365:	0f cb                	bswap  %ebx
40c367:	0f c9                	bswap  %ecx
40c369:	0f ca                	bswap  %edx
40c36b:	50                   	push   %eax
40c36c:	53                   	push   %ebx
40c36d:	51                   	push   %ecx
40c36e:	52                   	push   %edx
40c36f:	8b 47 20             	mov    0x20(%edi),%eax
40c372:	8b 5f 24             	mov    0x24(%edi),%ebx
40c375:	8b 4f 28             	mov    0x28(%edi),%ecx
40c378:	8b 57 2c             	mov    0x2c(%edi),%edx
40c37b:	0f c8                	bswap  %eax
40c37d:	0f cb                	bswap  %ebx
40c37f:	0f c9                	bswap  %ecx
40c381:	0f ca                	bswap  %edx
40c383:	50                   	push   %eax
40c384:	53                   	push   %ebx
40c385:	51                   	push   %ecx
40c386:	52                   	push   %edx
40c387:	8b 47 30             	mov    0x30(%edi),%eax
40c38a:	8b 5f 34             	mov    0x34(%edi),%ebx
40c38d:	8b 4f 38             	mov    0x38(%edi),%ecx
40c390:	8b 57 3c             	mov    0x3c(%edi),%edx
40c393:	0f c8                	bswap  %eax
40c395:	0f cb                	bswap  %ebx
40c397:	0f c9                	bswap  %ecx
40c399:	0f ca                	bswap  %edx
40c39b:	50                   	push   %eax
40c39c:	53                   	push   %ebx
40c39d:	51                   	push   %ecx
40c39e:	52                   	push   %edx
40c39f:	8b 47 40             	mov    0x40(%edi),%eax
40c3a2:	8b 5f 44             	mov    0x44(%edi),%ebx
40c3a5:	8b 4f 48             	mov    0x48(%edi),%ecx
40c3a8:	8b 57 4c             	mov    0x4c(%edi),%edx
40c3ab:	0f c8                	bswap  %eax
40c3ad:	0f cb                	bswap  %ebx
40c3af:	0f c9                	bswap  %ecx
40c3b1:	0f ca                	bswap  %edx
40c3b3:	50                   	push   %eax
40c3b4:	53                   	push   %ebx
40c3b5:	51                   	push   %ecx
40c3b6:	52                   	push   %edx
40c3b7:	8b 47 50             	mov    0x50(%edi),%eax
40c3ba:	8b 5f 54             	mov    0x54(%edi),%ebx
40c3bd:	8b 4f 58             	mov    0x58(%edi),%ecx
40c3c0:	8b 57 5c             	mov    0x5c(%edi),%edx
40c3c3:	0f c8                	bswap  %eax
40c3c5:	0f cb                	bswap  %ebx
40c3c7:	0f c9                	bswap  %ecx
40c3c9:	0f ca                	bswap  %edx
40c3cb:	50                   	push   %eax
40c3cc:	53                   	push   %ebx
40c3cd:	51                   	push   %ecx
40c3ce:	52                   	push   %edx
40c3cf:	8b 47 60             	mov    0x60(%edi),%eax
40c3d2:	8b 5f 64             	mov    0x64(%edi),%ebx
40c3d5:	8b 4f 68             	mov    0x68(%edi),%ecx
40c3d8:	8b 57 6c             	mov    0x6c(%edi),%edx
40c3db:	0f c8                	bswap  %eax
40c3dd:	0f cb                	bswap  %ebx
40c3df:	0f c9                	bswap  %ecx
40c3e1:	0f ca                	bswap  %edx
40c3e3:	50                   	push   %eax
40c3e4:	53                   	push   %ebx
40c3e5:	51                   	push   %ecx
40c3e6:	52                   	push   %edx
40c3e7:	8b 47 70             	mov    0x70(%edi),%eax
40c3ea:	8b 5f 74             	mov    0x74(%edi),%ebx
40c3ed:	8b 4f 78             	mov    0x78(%edi),%ecx
40c3f0:	8b 57 7c             	mov    0x7c(%edi),%edx
40c3f3:	0f c8                	bswap  %eax
40c3f5:	0f cb                	bswap  %ebx
40c3f7:	0f c9                	bswap  %ecx
40c3f9:	0f ca                	bswap  %edx
40c3fb:	50                   	push   %eax
40c3fc:	53                   	push   %ebx
40c3fd:	51                   	push   %ecx
40c3fe:	52                   	push   %edx
40c3ff:	81 c7 80 00 00 00    	add    $0x80,%edi
40c405:	83 ec 48             	sub    $0x48,%esp
40c408:	89 bc 24 cc 00 00 00 	mov    %edi,0xcc(%esp)
40c40f:	8d 7c 24 08          	lea    0x8(%esp),%edi
40c413:	b9 10 00 00 00       	mov    $0x10,%ecx
40c418:	89 f6                	mov    %esi,%esi
40c41a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40c41c:	90                   	nop
40c41d:	90                   	nop
40c41e:	90                   	nop
40c41f:	90                   	nop
40c420:	8b 4c 24 28          	mov    0x28(%esp),%ecx
40c424:	8b 54 24 2c          	mov    0x2c(%esp),%edx
40c428:	89 ce                	mov    %ecx,%esi
40c42a:	c1 e9 09             	shr    $0x9,%ecx
40c42d:	89 d7                	mov    %edx,%edi
40c42f:	c1 ea 09             	shr    $0x9,%edx
40c432:	89 cb                	mov    %ecx,%ebx
40c434:	c1 e6 0e             	shl    $0xe,%esi
40c437:	89 d0                	mov    %edx,%eax
40c439:	c1 e7 0e             	shl    $0xe,%edi
40c43c:	31 f3                	xor    %esi,%ebx
40c43e:	c1 e9 05             	shr    $0x5,%ecx
40c441:	31 f8                	xor    %edi,%eax
40c443:	c1 ea 05             	shr    $0x5,%edx
40c446:	31 c8                	xor    %ecx,%eax
40c448:	c1 e6 04             	shl    $0x4,%esi
40c44b:	31 d3                	xor    %edx,%ebx
40c44d:	c1 e7 04             	shl    $0x4,%edi
40c450:	31 f3                	xor    %esi,%ebx
40c452:	c1 e9 04             	shr    $0x4,%ecx
40c455:	31 f8                	xor    %edi,%eax
40c457:	c1 ea 04             	shr    $0x4,%edx
40c45a:	31 c8                	xor    %ecx,%eax
40c45c:	c1 e6 05             	shl    $0x5,%esi
40c45f:	31 d3                	xor    %edx,%ebx
40c461:	c1 e7 05             	shl    $0x5,%edi
40c464:	31 f0                	xor    %esi,%eax
40c466:	31 fb                	xor    %edi,%ebx
40c468:	8b 4c 24 30          	mov    0x30(%esp),%ecx
40c46c:	8b 54 24 34          	mov    0x34(%esp),%edx
40c470:	8b 74 24 38          	mov    0x38(%esp),%esi
40c474:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
40c478:	03 44 24 40          	add    0x40(%esp),%eax
40c47c:	13 5c 24 44          	adc    0x44(%esp),%ebx
40c480:	31 f1                	xor    %esi,%ecx
40c482:	31 fa                	xor    %edi,%edx
40c484:	23 4c 24 28          	and    0x28(%esp),%ecx
40c488:	23 54 24 2c          	and    0x2c(%esp),%edx
40c48c:	03 84 24 c0 00 00 00 	add    0xc0(%esp),%eax
40c493:	13 9c 24 c4 00 00 00 	adc    0xc4(%esp),%ebx
40c49a:	31 f1                	xor    %esi,%ecx
40c49c:	31 fa                	xor    %edi,%edx
40c49e:	8b 75 00             	mov    0x0(%ebp),%esi
40c4a1:	8b 7d 04             	mov    0x4(%ebp),%edi
40c4a4:	01 c8                	add    %ecx,%eax
40c4a6:	11 d3                	adc    %edx,%ebx
40c4a8:	8b 4c 24 20          	mov    0x20(%esp),%ecx
40c4ac:	8b 54 24 24          	mov    0x24(%esp),%edx
40c4b0:	01 f0                	add    %esi,%eax
40c4b2:	11 fb                	adc    %edi,%ebx
40c4b4:	89 04 24             	mov    %eax,(%esp)
40c4b7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
40c4bb:	01 c8                	add    %ecx,%eax
40c4bd:	11 d3                	adc    %edx,%ebx
40c4bf:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40c4c3:	8b 54 24 0c          	mov    0xc(%esp),%edx
40c4c7:	89 44 24 20          	mov    %eax,0x20(%esp)
40c4cb:	89 5c 24 24          	mov    %ebx,0x24(%esp)
40c4cf:	89 ce                	mov    %ecx,%esi
40c4d1:	c1 e9 02             	shr    $0x2,%ecx
40c4d4:	89 d7                	mov    %edx,%edi
40c4d6:	c1 ea 02             	shr    $0x2,%edx
40c4d9:	89 cb                	mov    %ecx,%ebx
40c4db:	c1 e6 04             	shl    $0x4,%esi
40c4de:	89 d0                	mov    %edx,%eax
40c4e0:	c1 e7 04             	shl    $0x4,%edi
40c4e3:	31 f3                	xor    %esi,%ebx
40c4e5:	c1 e9 05             	shr    $0x5,%ecx
40c4e8:	31 f8                	xor    %edi,%eax
40c4ea:	c1 ea 05             	shr    $0x5,%edx
40c4ed:	31 cb                	xor    %ecx,%ebx
40c4ef:	c1 e6 15             	shl    $0x15,%esi
40c4f2:	31 d0                	xor    %edx,%eax
40c4f4:	c1 e7 15             	shl    $0x15,%edi
40c4f7:	31 f0                	xor    %esi,%eax
40c4f9:	c1 e9 15             	shr    $0x15,%ecx
40c4fc:	31 fb                	xor    %edi,%ebx
40c4fe:	c1 ea 15             	shr    $0x15,%edx
40c501:	31 c8                	xor    %ecx,%eax
40c503:	c1 e6 05             	shl    $0x5,%esi
40c506:	31 d3                	xor    %edx,%ebx
40c508:	c1 e7 05             	shl    $0x5,%edi
40c50b:	31 f0                	xor    %esi,%eax
40c50d:	31 fb                	xor    %edi,%ebx
40c50f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40c513:	8b 54 24 0c          	mov    0xc(%esp),%edx
40c517:	8b 74 24 10          	mov    0x10(%esp),%esi
40c51b:	8b 7c 24 14          	mov    0x14(%esp),%edi
40c51f:	03 04 24             	add    (%esp),%eax
40c522:	13 5c 24 04          	adc    0x4(%esp),%ebx
40c526:	09 f1                	or     %esi,%ecx
40c528:	09 fa                	or     %edi,%edx
40c52a:	23 4c 24 18          	and    0x18(%esp),%ecx
40c52e:	23 54 24 1c          	and    0x1c(%esp),%edx
40c532:	23 74 24 08          	and    0x8(%esp),%esi
40c536:	23 7c 24 0c          	and    0xc(%esp),%edi
40c53a:	09 f1                	or     %esi,%ecx
40c53c:	09 fa                	or     %edi,%edx
40c53e:	01 c8                	add    %ecx,%eax
40c540:	11 d3                	adc    %edx,%ebx
40c542:	89 04 24             	mov    %eax,(%esp)
40c545:	89 5c 24 04          	mov    %ebx,0x4(%esp)
40c549:	8a 55 00             	mov    0x0(%ebp),%dl
40c54c:	83 ec 08             	sub    $0x8,%esp
40c54f:	8d 6d 08             	lea    0x8(%ebp),%ebp
40c552:	80 fa 94             	cmp    $0x94,%dl
40c555:	0f 85 c5 fe ff ff    	jne    0x40c420
40c55b:	90                   	nop
40c55c:	90                   	nop
40c55d:	90                   	nop
40c55e:	90                   	nop
40c55f:	90                   	nop
40c560:	8b 8c 24 38 01 00 00 	mov    0x138(%esp),%ecx
40c567:	8b 94 24 3c 01 00 00 	mov    0x13c(%esp),%edx
40c56e:	89 ce                	mov    %ecx,%esi
40c570:	d1 e9                	shr    $1,%ecx
40c572:	89 d7                	mov    %edx,%edi
40c574:	d1 ea                	shr    $1,%edx
40c576:	89 c8                	mov    %ecx,%eax
40c578:	c1 e6 18             	shl    $0x18,%esi
40c57b:	89 d3                	mov    %edx,%ebx
40c57d:	c1 e7 18             	shl    $0x18,%edi
40c580:	31 f3                	xor    %esi,%ebx
40c582:	c1 e9 06             	shr    $0x6,%ecx
40c585:	31 f8                	xor    %edi,%eax
40c587:	c1 ea 06             	shr    $0x6,%edx
40c58a:	31 c8                	xor    %ecx,%eax
40c58c:	c1 e6 07             	shl    $0x7,%esi
40c58f:	31 d3                	xor    %edx,%ebx
40c591:	d1 e7                	shl    $1,%edi
40c593:	31 f3                	xor    %esi,%ebx
40c595:	d1 e9                	shr    $1,%ecx
40c597:	31 f8                	xor    %edi,%eax
40c599:	d1 ea                	shr    $1,%edx
40c59b:	31 c8                	xor    %ecx,%eax
40c59d:	c1 e7 06             	shl    $0x6,%edi
40c5a0:	31 d3                	xor    %edx,%ebx
40c5a2:	31 f8                	xor    %edi,%eax
40c5a4:	89 04 24             	mov    %eax,(%esp)
40c5a7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
40c5ab:	8b 8c 24 d0 00 00 00 	mov    0xd0(%esp),%ecx
40c5b2:	8b 94 24 d4 00 00 00 	mov    0xd4(%esp),%edx
40c5b9:	89 ce                	mov    %ecx,%esi
40c5bb:	c1 e9 06             	shr    $0x6,%ecx
40c5be:	89 d7                	mov    %edx,%edi
40c5c0:	c1 ea 06             	shr    $0x6,%edx
40c5c3:	89 c8                	mov    %ecx,%eax
40c5c5:	c1 e6 03             	shl    $0x3,%esi
40c5c8:	89 d3                	mov    %edx,%ebx
40c5ca:	c1 e7 03             	shl    $0x3,%edi
40c5cd:	31 f0                	xor    %esi,%eax
40c5cf:	c1 e9 0d             	shr    $0xd,%ecx
40c5d2:	31 fb                	xor    %edi,%ebx
40c5d4:	c1 ea 0d             	shr    $0xd,%edx
40c5d7:	31 c8                	xor    %ecx,%eax
40c5d9:	c1 e6 0a             	shl    $0xa,%esi
40c5dc:	31 d3                	xor    %edx,%ebx
40c5de:	c1 e7 0a             	shl    $0xa,%edi
40c5e1:	31 f3                	xor    %esi,%ebx
40c5e3:	c1 e9 0a             	shr    $0xa,%ecx
40c5e6:	31 f8                	xor    %edi,%eax
40c5e8:	c1 ea 0a             	shr    $0xa,%edx
40c5eb:	31 cb                	xor    %ecx,%ebx
40c5ed:	c1 e7 0d             	shl    $0xd,%edi
40c5f0:	31 d0                	xor    %edx,%eax
40c5f2:	31 f8                	xor    %edi,%eax
40c5f4:	8b 8c 24 40 01 00 00 	mov    0x140(%esp),%ecx
40c5fb:	8b 94 24 44 01 00 00 	mov    0x144(%esp),%edx
40c602:	03 04 24             	add    (%esp),%eax
40c605:	13 5c 24 04          	adc    0x4(%esp),%ebx
40c609:	8b b4 24 f8 00 00 00 	mov    0xf8(%esp),%esi
40c610:	8b bc 24 fc 00 00 00 	mov    0xfc(%esp),%edi
40c617:	01 c8                	add    %ecx,%eax
40c619:	11 d3                	adc    %edx,%ebx
40c61b:	01 f0                	add    %esi,%eax
40c61d:	11 fb                	adc    %edi,%ebx
40c61f:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%esp)
40c626:	89 9c 24 c4 00 00 00 	mov    %ebx,0xc4(%esp)
40c62d:	8b 4c 24 28          	mov    0x28(%esp),%ecx
40c631:	8b 54 24 2c          	mov    0x2c(%esp),%edx
40c635:	89 ce                	mov    %ecx,%esi
40c637:	c1 e9 09             	shr    $0x9,%ecx
40c63a:	89 d7                	mov    %edx,%edi
40c63c:	c1 ea 09             	shr    $0x9,%edx
40c63f:	89 cb                	mov    %ecx,%ebx
40c641:	c1 e6 0e             	shl    $0xe,%esi
40c644:	89 d0                	mov    %edx,%eax
40c646:	c1 e7 0e             	shl    $0xe,%edi
40c649:	31 f3                	xor    %esi,%ebx
40c64b:	c1 e9 05             	shr    $0x5,%ecx
40c64e:	31 f8                	xor    %edi,%eax
40c650:	c1 ea 05             	shr    $0x5,%edx
40c653:	31 c8                	xor    %ecx,%eax
40c655:	c1 e6 04             	shl    $0x4,%esi
40c658:	31 d3                	xor    %edx,%ebx
40c65a:	c1 e7 04             	shl    $0x4,%edi
40c65d:	31 f3                	xor    %esi,%ebx
40c65f:	c1 e9 04             	shr    $0x4,%ecx
40c662:	31 f8                	xor    %edi,%eax
40c664:	c1 ea 04             	shr    $0x4,%edx
40c667:	31 c8                	xor    %ecx,%eax
40c669:	c1 e6 05             	shl    $0x5,%esi
40c66c:	31 d3                	xor    %edx,%ebx
40c66e:	c1 e7 05             	shl    $0x5,%edi
40c671:	31 f0                	xor    %esi,%eax
40c673:	31 fb                	xor    %edi,%ebx
40c675:	8b 4c 24 30          	mov    0x30(%esp),%ecx
40c679:	8b 54 24 34          	mov    0x34(%esp),%edx
40c67d:	8b 74 24 38          	mov    0x38(%esp),%esi