4081db:	03 54 24 1c          	add    0x1c(%esp),%edx
4081df:	01 cb                	add    %ecx,%ebx
4081e1:	89 d1                	mov    %edx,%ecx
4081e3:	c1 ca 0e             	ror    $0xe,%edx
4081e6:	8b 34 24             	mov    (%esp),%esi
4081e9:	31 ca                	xor    %ecx,%edx
4081eb:	8b 7c 24 04          	mov    0x4(%esp),%edi
4081ef:	31 fe                	xor    %edi,%esi
4081f1:	c1 ca 05             	ror    $0x5,%edx
4081f4:	21 ce                	and    %ecx,%esi
4081f6:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4081fa:	31 ca                	xor    %ecx,%edx
4081fc:	31 f7                	xor    %esi,%edi
4081fe:	c1 ca 06             	ror    $0x6,%edx
408201:	89 d9                	mov    %ebx,%ecx
408203:	01 fa                	add    %edi,%edx
408205:	8b 7c 24 10          	mov    0x10(%esp),%edi
408209:	89 de                	mov    %ebx,%esi
40820b:	c1 c9 09             	ror    $0x9,%ecx
40820e:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
408212:	31 d9                	xor    %ebx,%ecx
408214:	31 fb                	xor    %edi,%ebx
408216:	03 54 24 08          	add    0x8(%esp),%edx
40821a:	c1 c9 0b             	ror    $0xb,%ecx
40821d:	21 d8                	and    %ebx,%eax
40821f:	31 f1                	xor    %esi,%ecx
408221:	03 54 24 54          	add    0x54(%esp),%edx
408225:	31 f8                	xor    %edi,%eax
408227:	c1 c9 02             	ror    $0x2,%ecx
40822a:	01 d0                	add    %edx,%eax
40822c:	03 54 24 18          	add    0x18(%esp),%edx
408230:	01 c8                	add    %ecx,%eax
408232:	89 d1                	mov    %edx,%ecx
408234:	c1 ca 0e             	ror    $0xe,%edx
408237:	8b 74 24 1c          	mov    0x1c(%esp),%esi
40823b:	31 ca                	xor    %ecx,%edx
40823d:	8b 3c 24             	mov    (%esp),%edi
408240:	31 fe                	xor    %edi,%esi
408242:	c1 ca 05             	ror    $0x5,%edx
408245:	21 ce                	and    %ecx,%esi
408247:	89 4c 24 18          	mov    %ecx,0x18(%esp)
40824b:	31 ca                	xor    %ecx,%edx
40824d:	31 f7                	xor    %esi,%edi
40824f:	c1 ca 06             	ror    $0x6,%edx
408252:	89 c1                	mov    %eax,%ecx
408254:	01 fa                	add    %edi,%edx
408256:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40825a:	89 c6                	mov    %eax,%esi
40825c:	c1 c9 09             	ror    $0x9,%ecx
40825f:	89 44 24 08          	mov    %eax,0x8(%esp)
408263:	31 c1                	xor    %eax,%ecx
408265:	31 f8                	xor    %edi,%eax
408267:	03 54 24 04          	add    0x4(%esp),%edx
40826b:	c1 c9 0b             	ror    $0xb,%ecx
40826e:	21 c3                	and    %eax,%ebx
408270:	31 f1                	xor    %esi,%ecx
408272:	03 54 24 58          	add    0x58(%esp),%edx
408276:	31 fb                	xor    %edi,%ebx
408278:	c1 c9 02             	ror    $0x2,%ecx
40827b:	01 d3                	add    %edx,%ebx
40827d:	03 54 24 14          	add    0x14(%esp),%edx
408281:	01 cb                	add    %ecx,%ebx
408283:	89 d1                	mov    %edx,%ecx
408285:	c1 ca 0e             	ror    $0xe,%edx
408288:	8b 74 24 18          	mov    0x18(%esp),%esi
40828c:	31 ca                	xor    %ecx,%edx
40828e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408292:	31 fe                	xor    %edi,%esi
408294:	c1 ca 05             	ror    $0x5,%edx
408297:	21 ce                	and    %ecx,%esi
408299:	89 4c 24 14          	mov    %ecx,0x14(%esp)
40829d:	31 ca                	xor    %ecx,%edx
40829f:	31 f7                	xor    %esi,%edi
4082a1:	c1 ca 06             	ror    $0x6,%edx
4082a4:	89 d9                	mov    %ebx,%ecx
4082a6:	01 fa                	add    %edi,%edx
4082a8:	8b 7c 24 08          	mov    0x8(%esp),%edi
4082ac:	89 de                	mov    %ebx,%esi
4082ae:	c1 c9 09             	ror    $0x9,%ecx
4082b1:	89 5c 24 04          	mov    %ebx,0x4(%esp)
4082b5:	31 d9                	xor    %ebx,%ecx
4082b7:	31 fb                	xor    %edi,%ebx
4082b9:	03 14 24             	add    (%esp),%edx
4082bc:	c1 c9 0b             	ror    $0xb,%ecx
4082bf:	21 d8                	and    %ebx,%eax
4082c1:	31 f1                	xor    %esi,%ecx
4082c3:	03 54 24 5c          	add    0x5c(%esp),%edx
4082c7:	31 f8                	xor    %edi,%eax
4082c9:	c1 c9 02             	ror    $0x2,%ecx
4082cc:	01 d0                	add    %edx,%eax
4082ce:	03 54 24 10          	add    0x10(%esp),%edx
4082d2:	01 c8                	add    %ecx,%eax
4082d4:	8b 74 24 60          	mov    0x60(%esp),%esi
4082d8:	31 fb                	xor    %edi,%ebx
4082da:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4082de:	03 06                	add    (%esi),%eax
4082e0:	03 5e 04             	add    0x4(%esi),%ebx
4082e3:	03 7e 08             	add    0x8(%esi),%edi
4082e6:	03 4e 0c             	add    0xc(%esi),%ecx
4082e9:	89 06                	mov    %eax,(%esi)
4082eb:	89 5e 04             	mov    %ebx,0x4(%esi)
4082ee:	89 7e 08             	mov    %edi,0x8(%esi)
4082f1:	89 4e 0c             	mov    %ecx,0xc(%esi)
4082f4:	89 5c 24 04          	mov    %ebx,0x4(%esp)
4082f8:	31 fb                	xor    %edi,%ebx
4082fa:	89 7c 24 08          	mov    %edi,0x8(%esp)
4082fe:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
408302:	8b 7c 24 14          	mov    0x14(%esp),%edi
408306:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40830a:	03 56 10             	add    0x10(%esi),%edx
40830d:	03 7e 14             	add    0x14(%esi),%edi
408310:	03 4e 18             	add    0x18(%esi),%ecx
408313:	89 56 10             	mov    %edx,0x10(%esi)
408316:	89 7e 14             	mov    %edi,0x14(%esi)
408319:	89 7c 24 14          	mov    %edi,0x14(%esp)
40831d:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408321:	89 4e 18             	mov    %ecx,0x18(%esi)
408324:	03 7e 1c             	add    0x1c(%esi),%edi
408327:	89 4c 24 18          	mov    %ecx,0x18(%esp)
40832b:	89 7e 1c             	mov    %edi,0x1c(%esi)
40832e:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
408332:	8b 7c 24 64          	mov    0x64(%esp),%edi
408336:	66 0f 6f 7d 40       	movdqa 0x40(%ebp),%xmm7
40833b:	81 ed c0 00 00 00    	sub    $0xc0,%ebp
408341:	3b 7c 24 68          	cmp    0x68(%esp),%edi
408345:	0f 82 05 f2 ff ff    	jb     0x407550
40834b:	8b 64 24 6c          	mov    0x6c(%esp),%esp
40834f:	5f                   	pop    %edi
408350:	5e                   	pop    %esi
408351:	5b                   	pop    %ebx
408352:	5d                   	pop    %ebp
408353:	c3                   	ret
408354:	90                   	nop
408355:	90                   	nop
408356:	90                   	nop
408357:	90                   	nop
408358:	90                   	nop
408359:	90                   	nop
40835a:	90                   	nop
40835b:	90                   	nop
40835c:	90                   	nop
40835d:	90                   	nop
40835e:	90                   	nop
40835f:	90                   	nop
408360:	81 e2 08 01 00 00    	and    $0x108,%edx
408366:	81 fa 08 01 00 00    	cmp    $0x108,%edx
40836c:	0f 84 ae 0e 00 00    	je     0x409220
408372:	8d 64 24 a0          	lea    -0x60(%esp),%esp
408376:	c5 fc 77             	vzeroall
408379:	8b 06                	mov    (%esi),%eax
40837b:	8b 5e 04             	mov    0x4(%esi),%ebx
40837e:	8b 4e 08             	mov    0x8(%esi),%ecx
408381:	8b 7e 0c             	mov    0xc(%esi),%edi
408384:	89 5c 24 04          	mov    %ebx,0x4(%esp)
408388:	31 cb                	xor    %ecx,%ebx
40838a:	89 4c 24 08          	mov    %ecx,0x8(%esp)
40838e:	89 7c 24 0c          	mov    %edi,0xc(%esp)
408392:	8b 56 10             	mov    0x10(%esi),%edx
408395:	8b 7e 14             	mov    0x14(%esi),%edi
408398:	8b 4e 18             	mov    0x18(%esi),%ecx
40839b:	8b 76 1c             	mov    0x1c(%esi),%esi
40839e:	89 7c 24 14          	mov    %edi,0x14(%esp)
4083a2:	8b 7c 24 64          	mov    0x64(%esp),%edi
4083a6:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4083aa:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4083ae:	c5 f9 6f bd 00 01 00 	vmovdqa 0x100(%ebp),%xmm7
4083b5:	00
4083b6:	e9 05 00 00 00       	jmp    0x4083c0
4083bb:	90                   	nop
4083bc:	90                   	nop
4083bd:	90                   	nop
4083be:	90                   	nop
4083bf:	90                   	nop
4083c0:	c5 fa 6f 07          	vmovdqu (%edi),%xmm0
4083c4:	c5 fa 6f 4f 10       	vmovdqu 0x10(%edi),%xmm1
4083c9:	c5 fa 6f 57 20       	vmovdqu 0x20(%edi),%xmm2
4083ce:	c5 fa 6f 5f 30       	vmovdqu 0x30(%edi),%xmm3
4083d3:	83 c7 40             	add    $0x40,%edi
4083d6:	c4 e2 79 00 c7       	vpshufb %xmm7,%xmm0,%xmm0
4083db:	89 7c 24 64          	mov    %edi,0x64(%esp)
4083df:	c4 e2 71 00 cf       	vpshufb %xmm7,%xmm1,%xmm1
4083e4:	c4 e2 69 00 d7       	vpshufb %xmm7,%xmm2,%xmm2
4083e9:	c5 f9 fe 65 00       	vpaddd 0x0(%ebp),%xmm0,%xmm4
4083ee:	c4 e2 61 00 df       	vpshufb %xmm7,%xmm3,%xmm3
4083f3:	c5 f1 fe 6d 10       	vpaddd 0x10(%ebp),%xmm1,%xmm5
4083f8:	c5 e9 fe 75 20       	vpaddd 0x20(%ebp),%xmm2,%xmm6
4083fd:	c5 e1 fe 7d 30       	vpaddd 0x30(%ebp),%xmm3,%xmm7
408402:	c5 f9 7f 64 24 20    	vmovdqa %xmm4,0x20(%esp)
408408:	c5 f9 7f 6c 24 30    	vmovdqa %xmm5,0x30(%esp)
40840e:	c5 f9 7f 74 24 40    	vmovdqa %xmm6,0x40(%esp)
408414:	c5 f9 7f 7c 24 50    	vmovdqa %xmm7,0x50(%esp)
40841a:	e9 01 00 00 00       	jmp    0x408420
40841f:	90                   	nop
408420:	83 c5 40             	add    $0x40,%ebp
408423:	c4 e3 71 0f e0 04    	vpalignr $0x4,%xmm0,%xmm1,%xmm4
408429:	89 d1                	mov    %edx,%ecx
40842b:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
40842f:	8b 74 24 14          	mov    0x14(%esp),%esi
408433:	c4 e3 61 0f fa 04    	vpalignr $0x4,%xmm2,%xmm3,%xmm7
408439:	31 ca                	xor    %ecx,%edx
40843b:	8b 7c 24 18          	mov    0x18(%esp),%edi
40843f:	31 fe                	xor    %edi,%esi
408441:	c5 c9 72 d4 07       	vpsrld $0x7,%xmm4,%xmm6
408446:	0f ac d2 05          	shrd   $0x5,%edx,%edx
40844a:	21 ce                	and    %ecx,%esi
40844c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
408450:	c5 f9 fe c7          	vpaddd %xmm7,%xmm0,%xmm0
408454:	31 ca                	xor    %ecx,%edx
408456:	31 f7                	xor    %esi,%edi
408458:	0f ac d2 06          	shrd   $0x6,%edx,%edx
40845c:	c5 c1 72 d4 03       	vpsrld $0x3,%xmm4,%xmm7
408461:	89 c1                	mov    %eax,%ecx
408463:	01 fa                	add    %edi,%edx
408465:	8b 7c 24 04          	mov    0x4(%esp),%edi
408469:	c5 d1 72 f4 0e       	vpslld $0xe,%xmm4,%xmm5
40846e:	89 c6                	mov    %eax,%esi
408470:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408474:	89 04 24             	mov    %eax,(%esp)
408477:	c5 c1 ef e6          	vpxor  %xmm6,%xmm7,%xmm4
40847b:	31 c1                	xor    %eax,%ecx
40847d:	31 f8                	xor    %edi,%eax
40847f:	03 54 24 1c          	add    0x1c(%esp),%edx
408483:	c5 f9 70 fb fa       	vpshufd $0xfa,%xmm3,%xmm7
408488:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
40848c:	21 c3                	and    %eax,%ebx
40848e:	31 f1                	xor    %esi,%ecx
408490:	c5 c9 72 d6 0b       	vpsrld $0xb,%xmm6,%xmm6
408495:	03 54 24 20          	add    0x20(%esp),%edx
408499:	31 fb                	xor    %edi,%ebx
40849b:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
40849f:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
4084a3:	01 d3                	add    %edx,%ebx
4084a5:	03 54 24 0c          	add    0xc(%esp),%edx
4084a9:	01 cb                	add    %ecx,%ebx
4084ab:	c5 d1 72 f5 0b       	vpslld $0xb,%xmm5,%xmm5
4084b0:	89 d1                	mov    %edx,%ecx
4084b2:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
4084b6:	8b 74 24 10          	mov    0x10(%esp),%esi
4084ba:	c5 d9 ef e6          	vpxor  %xmm6,%xmm4,%xmm4
4084be:	31 ca                	xor    %ecx,%edx
4084c0:	8b 7c 24 14          	mov    0x14(%esp),%edi
4084c4:	31 fe                	xor    %edi,%esi
4084c6:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
4084cb:	0f ac d2 05          	shrd   $0x5,%edx,%edx
4084cf:	21 ce                	and    %ecx,%esi
4084d1:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4084d5:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
4084d9:	31 ca                	xor    %ecx,%edx
4084db:	31 f7                	xor    %esi,%edi
4084dd:	0f ac d2 06          	shrd   $0x6,%edx,%edx
4084e1:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
4084e6:	89 d9                	mov    %ebx,%ecx
4084e8:	01 fa                	add    %edi,%edx
4084ea:	8b 3c 24             	mov    (%esp),%edi
4084ed:	c5 f9 fe c4          	vpaddd %xmm4,%xmm0,%xmm0
4084f1:	89 de                	mov    %ebx,%esi
4084f3:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
4084f7:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4084fb:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
4084ff:	31 d9                	xor    %ebx,%ecx
408501:	31 fb                	xor    %edi,%ebx
408503:	03 54 24 18          	add    0x18(%esp),%edx
408507:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
40850c:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408510:	21 d8                	and    %ebx,%eax
408512:	31 f1                	xor    %esi,%ecx
408514:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
408518:	03 54 24 24          	add    0x24(%esp),%edx
40851c:	31 f8                	xor    %edi,%eax
40851e:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408522:	c5 f9 70 fe 84       	vpshufd $0x84,%xmm6,%xmm7
408527:	01 d0                	add    %edx,%eax
408529:	03 54 24 08          	add    0x8(%esp),%edx
40852d:	01 c8                	add    %ecx,%eax
40852f:	c5 c1 73 df 08       	vpsrldq $0x8,%xmm7,%xmm7
408534:	89 d1                	mov    %edx,%ecx
408536:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
40853a:	8b 74 24 0c          	mov    0xc(%esp),%esi
40853e:	c5 f9 fe c7          	vpaddd %xmm7,%xmm0,%xmm0
408542:	31 ca                	xor    %ecx,%edx
408544:	8b 7c 24 10          	mov    0x10(%esp),%edi
408548:	31 fe                	xor    %edi,%esi
40854a:	c5 f9 70 f8 50       	vpshufd $0x50,%xmm0,%xmm7
40854f:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408553:	21 ce                	and    %ecx,%esi
408555:	89 4c 24 08          	mov    %ecx,0x8(%esp)
408559:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
40855e:	31 ca                	xor    %ecx,%edx
408560:	31 f7                	xor    %esi,%edi
408562:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408566:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
40856b:	89 c1                	mov    %eax,%ecx
40856d:	01 fa                	add    %edi,%edx
40856f:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408573:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
408577:	89 c6                	mov    %eax,%esi
408579:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
40857d:	89 44 24 18          	mov    %eax,0x18(%esp)
408581:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
408586:	31 c1                	xor    %eax,%ecx
408588:	31 f8                	xor    %edi,%eax
40858a:	03 54 24 14          	add    0x14(%esp),%edx
40858e:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
408592:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408596:	21 c3                	and    %eax,%ebx
408598:	31 f1                	xor    %esi,%ecx
40859a:	c5 f9 70 fe e8       	vpshufd $0xe8,%xmm6,%xmm7
40859f:	03 54 24 28          	add    0x28(%esp),%edx
4085a3:	31 fb                	xor    %edi,%ebx
4085a5:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
4085a9:	c5 c1 73 ff 08       	vpslldq $0x8,%xmm7,%xmm7
4085ae:	01 d3                	add    %edx,%ebx
4085b0:	03 54 24 04          	add    0x4(%esp),%edx
4085b4:	01 cb                	add    %ecx,%ebx
4085b6:	c5 f9 fe c7          	vpaddd %xmm7,%xmm0,%xmm0
4085ba:	89 d1                	mov    %edx,%ecx
4085bc:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
4085c0:	8b 74 24 08          	mov    0x8(%esp),%esi
4085c4:	c5 f9 fe 75 00       	vpaddd 0x0(%ebp),%xmm0,%xmm6
4085c9:	31 ca                	xor    %ecx,%edx
4085cb:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4085cf:	31 fe                	xor    %edi,%esi
4085d1:	0f ac d2 05          	shrd   $0x5,%edx,%edx
4085d5:	21 ce                	and    %ecx,%esi
4085d7:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4085db:	31 ca                	xor    %ecx,%edx
4085dd:	31 f7                	xor    %esi,%edi
4085df:	0f ac d2 06          	shrd   $0x6,%edx,%edx
4085e3:	89 d9                	mov    %ebx,%ecx
4085e5:	01 fa                	add    %edi,%edx
4085e7:	8b 7c 24 18          	mov    0x18(%esp),%edi
4085eb:	89 de                	mov    %ebx,%esi
4085ed:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
4085f1:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4085f5:	31 d9                	xor    %ebx,%ecx
4085f7:	31 fb                	xor    %edi,%ebx
4085f9:	03 54 24 10          	add    0x10(%esp),%edx
4085fd:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408601:	21 d8                	and    %ebx,%eax
408603:	31 f1                	xor    %esi,%ecx
408605:	03 54 24 2c          	add    0x2c(%esp),%edx
408609:	31 f8                	xor    %edi,%eax
40860b:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
40860f:	01 d0                	add    %edx,%eax
408611:	03 14 24             	add    (%esp),%edx
408614:	01 c8                	add    %ecx,%eax
408616:	c5 f9 7f 74 24 20    	vmovdqa %xmm6,0x20(%esp)
40861c:	c4 e3 69 0f e1 04    	vpalignr $0x4,%xmm1,%xmm2,%xmm4
408622:	89 d1                	mov    %edx,%ecx
408624:	0f ac d2 0e          	shrd   $0xe,%edx,%edx