4090ce:	01 d0                	add    %edx,%eax
4090d0:	03 54 24 18          	add    0x18(%esp),%edx
4090d4:	01 c8                	add    %ecx,%eax
4090d6:	89 d1                	mov    %edx,%ecx
4090d8:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
4090dc:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4090e0:	31 ca                	xor    %ecx,%edx
4090e2:	8b 3c 24             	mov    (%esp),%edi
4090e5:	31 fe                	xor    %edi,%esi
4090e7:	0f ac d2 05          	shrd   $0x5,%edx,%edx
4090eb:	21 ce                	and    %ecx,%esi
4090ed:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4090f1:	31 ca                	xor    %ecx,%edx
4090f3:	31 f7                	xor    %esi,%edi
4090f5:	0f ac d2 06          	shrd   $0x6,%edx,%edx
4090f9:	89 c1                	mov    %eax,%ecx
4090fb:	01 fa                	add    %edi,%edx
4090fd:	8b 7c 24 0c          	mov    0xc(%esp),%edi
409101:	89 c6                	mov    %eax,%esi
409103:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
409107:	89 44 24 08          	mov    %eax,0x8(%esp)
40910b:	31 c1                	xor    %eax,%ecx
40910d:	31 f8                	xor    %edi,%eax
40910f:	03 54 24 04          	add    0x4(%esp),%edx
409113:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
409117:	21 c3                	and    %eax,%ebx
409119:	31 f1                	xor    %esi,%ecx
40911b:	03 54 24 58          	add    0x58(%esp),%edx
40911f:	31 fb                	xor    %edi,%ebx
409121:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
409125:	01 d3                	add    %edx,%ebx
409127:	03 54 24 14          	add    0x14(%esp),%edx
40912b:	01 cb                	add    %ecx,%ebx
40912d:	89 d1                	mov    %edx,%ecx
40912f:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
409133:	8b 74 24 18          	mov    0x18(%esp),%esi
409137:	31 ca                	xor    %ecx,%edx
409139:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
40913d:	31 fe                	xor    %edi,%esi
40913f:	0f ac d2 05          	shrd   $0x5,%edx,%edx
409143:	21 ce                	and    %ecx,%esi
409145:	89 4c 24 14          	mov    %ecx,0x14(%esp)
409149:	31 ca                	xor    %ecx,%edx
40914b:	31 f7                	xor    %esi,%edi
40914d:	0f ac d2 06          	shrd   $0x6,%edx,%edx
409151:	89 d9                	mov    %ebx,%ecx
409153:	01 fa                	add    %edi,%edx
409155:	8b 7c 24 08          	mov    0x8(%esp),%edi
409159:	89 de                	mov    %ebx,%esi
40915b:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
40915f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
409163:	31 d9                	xor    %ebx,%ecx
409165:	31 fb                	xor    %edi,%ebx
409167:	03 14 24             	add    (%esp),%edx
40916a:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
40916e:	21 d8                	and    %ebx,%eax
409170:	31 f1                	xor    %esi,%ecx
409172:	03 54 24 5c          	add    0x5c(%esp),%edx
409176:	31 f8                	xor    %edi,%eax
409178:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
40917c:	01 d0                	add    %edx,%eax
40917e:	03 54 24 10          	add    0x10(%esp),%edx
409182:	01 c8                	add    %ecx,%eax
409184:	8b 74 24 60          	mov    0x60(%esp),%esi
409188:	31 fb                	xor    %edi,%ebx
40918a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40918e:	03 06                	add    (%esi),%eax
409190:	03 5e 04             	add    0x4(%esi),%ebx
409193:	03 7e 08             	add    0x8(%esi),%edi
409196:	03 4e 0c             	add    0xc(%esi),%ecx
409199:	89 06                	mov    %eax,(%esi)
40919b:	89 5e 04             	mov    %ebx,0x4(%esi)
40919e:	89 7e 08             	mov    %edi,0x8(%esi)
4091a1:	89 4e 0c             	mov    %ecx,0xc(%esi)
4091a4:	89 5c 24 04          	mov    %ebx,0x4(%esp)
4091a8:	31 fb                	xor    %edi,%ebx
4091aa:	89 7c 24 08          	mov    %edi,0x8(%esp)
4091ae:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4091b2:	8b 7c 24 14          	mov    0x14(%esp),%edi
4091b6:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4091ba:	03 56 10             	add    0x10(%esi),%edx
4091bd:	03 7e 14             	add    0x14(%esi),%edi
4091c0:	03 4e 18             	add    0x18(%esi),%ecx
4091c3:	89 56 10             	mov    %edx,0x10(%esi)
4091c6:	89 7e 14             	mov    %edi,0x14(%esi)
4091c9:	89 7c 24 14          	mov    %edi,0x14(%esp)
4091cd:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4091d1:	89 4e 18             	mov    %ecx,0x18(%esi)
4091d4:	03 7e 1c             	add    0x1c(%esi),%edi
4091d7:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4091db:	89 7e 1c             	mov    %edi,0x1c(%esi)
4091de:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4091e2:	8b 7c 24 64          	mov    0x64(%esp),%edi
4091e6:	c5 f9 6f 7d 40       	vmovdqa 0x40(%ebp),%xmm7
4091eb:	81 ed c0 00 00 00    	sub    $0xc0,%ebp
4091f1:	3b 7c 24 68          	cmp    0x68(%esp),%edi
4091f5:	0f 82 c5 f1 ff ff    	jb     0x4083c0
4091fb:	8b 64 24 6c          	mov    0x6c(%esp),%esp
4091ff:	c5 fc 77             	vzeroall
409202:	5f                   	pop    %edi
409203:	5e                   	pop    %esi
409204:	5b                   	pop    %ebx
409205:	5d                   	pop    %ebp
409206:	c3                   	ret
409207:	90                   	nop
409208:	90                   	nop
409209:	90                   	nop
40920a:	90                   	nop
40920b:	90                   	nop
40920c:	90                   	nop
40920d:	90                   	nop
40920e:	90                   	nop
40920f:	90                   	nop
409210:	90                   	nop
409211:	90                   	nop
409212:	90                   	nop
409213:	90                   	nop
409214:	90                   	nop
409215:	90                   	nop
409216:	90                   	nop
409217:	90                   	nop
409218:	90                   	nop
409219:	90                   	nop
40921a:	90                   	nop
40921b:	90                   	nop
40921c:	90                   	nop
40921d:	90                   	nop
40921e:	90                   	nop
40921f:	90                   	nop
409220:	8d 64 24 a0          	lea    -0x60(%esp),%esp
409224:	c5 fc 77             	vzeroall
409227:	8b 06                	mov    (%esi),%eax
409229:	8b 5e 04             	mov    0x4(%esi),%ebx
40922c:	8b 4e 08             	mov    0x8(%esi),%ecx
40922f:	8b 7e 0c             	mov    0xc(%esi),%edi
409232:	89 5c 24 04          	mov    %ebx,0x4(%esp)
409236:	31 cb                	xor    %ecx,%ebx
409238:	89 4c 24 08          	mov    %ecx,0x8(%esp)
40923c:	89 7c 24 0c          	mov    %edi,0xc(%esp)
409240:	8b 56 10             	mov    0x10(%esi),%edx
409243:	8b 7e 14             	mov    0x14(%esi),%edi
409246:	8b 4e 18             	mov    0x18(%esi),%ecx
409249:	8b 76 1c             	mov    0x1c(%esi),%esi
40924c:	89 7c 24 14          	mov    %edi,0x14(%esp)
409250:	8b 7c 24 64          	mov    0x64(%esp),%edi
409254:	89 4c 24 18          	mov    %ecx,0x18(%esp)
409258:	89 74 24 1c          	mov    %esi,0x1c(%esp)
40925c:	c5 f9 6f bd 00 01 00 	vmovdqa 0x100(%ebp),%xmm7
409263:	00
409264:	e9 17 00 00 00       	jmp    0x409280
409269:	90                   	nop
40926a:	90                   	nop
40926b:	90                   	nop
40926c:	90                   	nop
40926d:	90                   	nop
40926e:	90                   	nop
40926f:	90                   	nop
409270:	90                   	nop
409271:	90                   	nop
409272:	90                   	nop
409273:	90                   	nop
409274:	90                   	nop
409275:	90                   	nop
409276:	90                   	nop
409277:	90                   	nop
409278:	90                   	nop
409279:	90                   	nop
40927a:	90                   	nop
40927b:	90                   	nop
40927c:	90                   	nop
40927d:	90                   	nop
40927e:	90                   	nop
40927f:	90                   	nop
409280:	c5 fa 6f 07          	vmovdqu (%edi),%xmm0
409284:	c5 fa 6f 4f 10       	vmovdqu 0x10(%edi),%xmm1
409289:	c5 fa 6f 57 20       	vmovdqu 0x20(%edi),%xmm2
40928e:	c5 fa 6f 5f 30       	vmovdqu 0x30(%edi),%xmm3
409293:	83 c7 40             	add    $0x40,%edi
409296:	c4 e2 79 00 c7       	vpshufb %xmm7,%xmm0,%xmm0
40929b:	89 7c 24 64          	mov    %edi,0x64(%esp)
40929f:	c4 e2 71 00 cf       	vpshufb %xmm7,%xmm1,%xmm1
4092a4:	c4 e2 69 00 d7       	vpshufb %xmm7,%xmm2,%xmm2
4092a9:	c5 f9 fe 65 00       	vpaddd 0x0(%ebp),%xmm0,%xmm4
4092ae:	c4 e2 61 00 df       	vpshufb %xmm7,%xmm3,%xmm3
4092b3:	c5 f1 fe 6d 10       	vpaddd 0x10(%ebp),%xmm1,%xmm5
4092b8:	c5 e9 fe 75 20       	vpaddd 0x20(%ebp),%xmm2,%xmm6
4092bd:	c5 e1 fe 7d 30       	vpaddd 0x30(%ebp),%xmm3,%xmm7
4092c2:	c5 f9 7f 64 24 20    	vmovdqa %xmm4,0x20(%esp)
4092c8:	c5 f9 7f 6c 24 30    	vmovdqa %xmm5,0x30(%esp)
4092ce:	c5 f9 7f 74 24 40    	vmovdqa %xmm6,0x40(%esp)
4092d4:	c5 f9 7f 7c 24 50    	vmovdqa %xmm7,0x50(%esp)
4092da:	e9 01 00 00 00       	jmp    0x4092e0
4092df:	90                   	nop
4092e0:	83 c5 40             	add    $0x40,%ebp
4092e3:	c4 e3 71 0f e0 04    	vpalignr $0x4,%xmm0,%xmm1,%xmm4
4092e9:	c4 e3 7b f0 ca 06    	rorx   $0x6,%edx,%ecx
4092ef:	c4 e3 7b f0 f2 0b    	rorx   $0xb,%edx,%esi
4092f5:	89 54 24 10          	mov    %edx,0x10(%esp)
4092f9:	c4 e3 61 0f fa 04    	vpalignr $0x4,%xmm2,%xmm3,%xmm7
4092ff:	c4 e3 7b f0 fa 19    	rorx   $0x19,%edx,%edi
409305:	31 f1                	xor    %esi,%ecx
409307:	c4 e2 68 f2 74 24 18 	andn   0x18(%esp),%edx,%esi
40930e:	c5 c9 72 d4 07       	vpsrld $0x7,%xmm4,%xmm6
409313:	31 f9                	xor    %edi,%ecx
409315:	23 54 24 14          	and    0x14(%esp),%edx
409319:	89 04 24             	mov    %eax,(%esp)
40931c:	c5 f9 fe c7          	vpaddd %xmm7,%xmm0,%xmm0
409320:	09 f2                	or     %esi,%edx
409322:	c4 e3 7b f0 f8 02    	rorx   $0x2,%eax,%edi
409328:	c4 e3 7b f0 f0 0d    	rorx   $0xd,%eax,%esi
40932e:	c5 c1 72 d4 03       	vpsrld $0x3,%xmm4,%xmm7
409333:	8d 14 0a             	lea    (%edx,%ecx,1),%edx
409336:	c4 e3 7b f0 c8 16    	rorx   $0x16,%eax,%ecx
40933c:	31 fe                	xor    %edi,%esi
40933e:	c5 d1 72 f4 0e       	vpslld $0xe,%xmm4,%xmm5
409343:	8b 7c 24 04          	mov    0x4(%esp),%edi
409347:	31 f1                	xor    %esi,%ecx
409349:	31 f8                	xor    %edi,%eax
40934b:	c5 c1 ef e6          	vpxor  %xmm6,%xmm7,%xmm4
40934f:	03 54 24 1c          	add    0x1c(%esp),%edx
409353:	21 c3                	and    %eax,%ebx
409355:	03 54 24 20          	add    0x20(%esp),%edx
409359:	c5 f9 70 fb fa       	vpshufd $0xfa,%xmm3,%xmm7
40935e:	31 fb                	xor    %edi,%ebx
409360:	01 d1                	add    %edx,%ecx
409362:	03 54 24 0c          	add    0xc(%esp),%edx
409366:	c5 c9 72 d6 0b       	vpsrld $0xb,%xmm6,%xmm6
40936b:	8d 1c 0b             	lea    (%ebx,%ecx,1),%ebx
40936e:	c4 e3 7b f0 ca 06    	rorx   $0x6,%edx,%ecx
409374:	c4 e3 7b f0 f2 0b    	rorx   $0xb,%edx,%esi
40937a:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
40937e:	89 54 24 0c          	mov    %edx,0xc(%esp)
409382:	c4 e3 7b f0 fa 19    	rorx   $0x19,%edx,%edi
409388:	31 f1                	xor    %esi,%ecx
40938a:	c5 d1 72 f5 0b       	vpslld $0xb,%xmm5,%xmm5
40938f:	c4 e2 68 f2 74 24 14 	andn   0x14(%esp),%edx,%esi
409396:	31 f9                	xor    %edi,%ecx
409398:	23 54 24 10          	and    0x10(%esp),%edx
40939c:	c5 d9 ef e6          	vpxor  %xmm6,%xmm4,%xmm4
4093a0:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4093a4:	09 f2                	or     %esi,%edx
4093a6:	c4 e3 7b f0 fb 02    	rorx   $0x2,%ebx,%edi
4093ac:	c4 e3 7b f0 f3 0d    	rorx   $0xd,%ebx,%esi
4093b2:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
4093b7:	8d 14 0a             	lea    (%edx,%ecx,1),%edx
4093ba:	c4 e3 7b f0 cb 16    	rorx   $0x16,%ebx,%ecx
4093c0:	31 fe                	xor    %edi,%esi
4093c2:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
4093c6:	8b 3c 24             	mov    (%esp),%edi
4093c9:	31 f1                	xor    %esi,%ecx
4093cb:	31 fb                	xor    %edi,%ebx
4093cd:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
4093d2:	03 54 24 18          	add    0x18(%esp),%edx
4093d6:	21 d8                	and    %ebx,%eax
4093d8:	03 54 24 24          	add    0x24(%esp),%edx
4093dc:	c5 f9 fe c4          	vpaddd %xmm4,%xmm0,%xmm0
4093e0:	31 f8                	xor    %edi,%eax
4093e2:	01 d1                	add    %edx,%ecx
4093e4:	03 54 24 08          	add    0x8(%esp),%edx
4093e8:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
4093ec:	8d 04 08             	lea    (%eax,%ecx,1),%eax
4093ef:	c4 e3 7b f0 ca 06    	rorx   $0x6,%edx,%ecx
4093f5:	c4 e3 7b f0 f2 0b    	rorx   $0xb,%edx,%esi
4093fb:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
409400:	89 54 24 08          	mov    %edx,0x8(%esp)
409404:	c4 e3 7b f0 fa 19    	rorx   $0x19,%edx,%edi
40940a:	31 f1                	xor    %esi,%ecx
40940c:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
409410:	c4 e2 68 f2 74 24 10 	andn   0x10(%esp),%edx,%esi
409417:	31 f9                	xor    %edi,%ecx
409419:	23 54 24 0c          	and    0xc(%esp),%edx
40941d:	c5 f9 70 fe 84       	vpshufd $0x84,%xmm6,%xmm7
409422:	89 44 24 18          	mov    %eax,0x18(%esp)
409426:	09 f2                	or     %esi,%edx
409428:	c4 e3 7b f0 f8 02    	rorx   $0x2,%eax,%edi
40942e:	c4 e3 7b f0 f0 0d    	rorx   $0xd,%eax,%esi
409434:	c5 c1 73 df 08       	vpsrldq $0x8,%xmm7,%xmm7
409439:	8d 14 0a             	lea    (%edx,%ecx,1),%edx
40943c:	c4 e3 7b f0 c8 16    	rorx   $0x16,%eax,%ecx
409442:	31 fe                	xor    %edi,%esi
409444:	c5 f9 fe c7          	vpaddd %xmm7,%xmm0,%xmm0
409448:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
40944c:	31 f1                	xor    %esi,%ecx
40944e:	31 f8                	xor    %edi,%eax
409450:	c5 f9 70 f8 50       	vpshufd $0x50,%xmm0,%xmm7
409455:	03 54 24 14          	add    0x14(%esp),%edx
409459:	21 c3                	and    %eax,%ebx
40945b:	03 54 24 28          	add    0x28(%esp),%edx
40945f:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
409464:	31 fb                	xor    %edi,%ebx
409466:	01 d1                	add    %edx,%ecx
409468:	03 54 24 04          	add    0x4(%esp),%edx
40946c:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
409471:	8d 1c 0b             	lea    (%ebx,%ecx,1),%ebx
409474:	c4 e3 7b f0 ca 06    	rorx   $0x6,%edx,%ecx
40947a:	c4 e3 7b f0 f2 0b    	rorx   $0xb,%edx,%esi
409480:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
409484:	89 54 24 04          	mov    %edx,0x4(%esp)
409488:	c4 e3 7b f0 fa 19    	rorx   $0x19,%edx,%edi
40948e:	31 f1                	xor    %esi,%ecx
409490:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
409495:	c4 e2 68 f2 74 24 0c 	andn   0xc(%esp),%edx,%esi
40949c:	31 f9                	xor    %edi,%ecx
40949e:	23 54 24 08          	and    0x8(%esp),%edx
4094a2:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
4094a6:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4094aa:	09 f2                	or     %esi,%edx
4094ac:	c4 e3 7b f0 fb 02    	rorx   $0x2,%ebx,%edi
4094b2:	c4 e3 7b f0 f3 0d    	rorx   $0xd,%ebx,%esi
4094b8:	c5 f9 70 fe e8       	vpshufd $0xe8,%xmm6,%xmm7
4094bd:	8d 14 0a             	lea    (%edx,%ecx,1),%edx
4094c0:	c4 e3 7b f0 cb 16    	rorx   $0x16,%ebx,%ecx
4094c6:	31 fe                	xor    %edi,%esi
4094c8:	c5 c1 73 ff 08       	vpslldq $0x8,%xmm7,%xmm7
4094cd:	8b 7c 24 18          	mov    0x18(%esp),%edi
4094d1:	31 f1                	xor    %esi,%ecx
4094d3:	31 fb                	xor    %edi,%ebx
4094d5:	c5 f9 fe c7          	vpaddd %xmm7,%xmm0,%xmm0
4094d9:	03 54 24 10          	add    0x10(%esp),%edx
4094dd:	21 d8                	and    %ebx,%eax
4094df:	03 54 24 2c          	add    0x2c(%esp),%edx
4094e3:	c5 f9 fe 75 00       	vpaddd 0x0(%ebp),%xmm0,%xmm6
4094e8:	31 f8                	xor    %edi,%eax
4094ea:	01 d1                	add    %edx,%ecx
4094ec:	03 14 24             	add    (%esp),%edx
4094ef:	8d 04 08             	lea    (%eax,%ecx,1),%eax
4094f2:	c5 f9 7f 74 24 20    	vmovdqa %xmm6,0x20(%esp)
4094f8:	c4 e3 69 0f e1 04    	vpalignr $0x4,%xmm1,%xmm2,%xmm4
4094fe:	c4 e3 7b f0 ca 06    	rorx   $0x6,%edx,%ecx
409504:	c4 e3 7b f0 f2 0b    	rorx   $0xb,%edx,%esi
40950a:	89 14 24             	mov    %edx,(%esp)
40950d:	c4 e3 79 0f fb 04    	vpalignr $0x4,%xmm3,%xmm0,%xmm7
409513:	c4 e3 7b f0 fa 19    	rorx   $0x19,%edx,%edi
409519:	31 f1                	xor    %esi,%ecx
40951b:	c4 e2 68 f2 74 24 08 	andn   0x8(%esp),%edx,%esi
409522:	c5 c9 72 d4 07       	vpsrld $0x7,%xmm4,%xmm6
409527:	31 f9                	xor    %edi,%ecx
409529:	23 54 24 04          	and    0x4(%esp),%edx
40952d:	89 44 24 10          	mov    %eax,0x10(%esp)
409531:	c5 f1 fe cf          	vpaddd %xmm7,%xmm1,%xmm1
409535:	09 f2                	or     %esi,%edx
409537:	c4 e3 7b f0 f8 02    	rorx   $0x2,%eax,%edi
40953d:	c4 e3 7b f0 f0 0d    	rorx   $0xd,%eax,%esi
409543:	c5 c1 72 d4 03       	vpsrld $0x3,%xmm4,%xmm7
409548:	8d 14 0a             	lea    (%edx,%ecx,1),%edx
40954b:	c4 e3 7b f0 c8 16    	rorx   $0x16,%eax,%ecx
409551:	31 fe                	xor    %edi,%esi
409553:	c5 d1 72 f4 0e       	vpslld $0xe,%xmm4,%xmm5
409558:	8b 7c 24 14          	mov    0x14(%esp),%edi
40955c:	31 f1                	xor    %esi,%ecx