40470b:	01 f1                	add    %esi,%ecx
40470d:	c5 f1 ef cb          	vpxor  %xmm3,%xmm1,%xmm1
404711:	31 fd                	xor    %edi,%ebp
404713:	31 c7                	xor    %eax,%edi
404715:	01 d1                	add    %edx,%ecx
404717:	03 5c 24 14          	add    0x14(%esp),%ebx
40471b:	c5 e1 72 d1 1e       	vpsrld $0x1e,%xmm1,%xmm3
404720:	c5 f9 7f 24 24       	vmovdqa %xmm4,(%esp)
404725:	21 fd                	and    %edi,%ebp
404727:	31 c7                	xor    %eax,%edi
404729:	0f ac d2 07          	shrd   $0x7,%edx,%edx
40472d:	89 ce                	mov    %ecx,%esi
40472f:	c5 f1 72 f1 02       	vpslld $0x2,%xmm1,%xmm1
404734:	31 fd                	xor    %edi,%ebp
404736:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
40473a:	01 eb                	add    %ebp,%ebx
40473c:	31 d6                	xor    %edx,%esi
40473e:	31 fa                	xor    %edi,%edx
404740:	01 cb                	add    %ecx,%ebx
404742:	03 44 24 18          	add    0x18(%esp),%eax
404746:	21 d6                	and    %edx,%esi
404748:	c5 f1 eb cb          	vpor   %xmm3,%xmm1,%xmm1
40474c:	31 fa                	xor    %edi,%edx
40474e:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
404752:	c5 f9 6f 5c 24 60    	vmovdqa 0x60(%esp),%xmm3
404758:	89 dd                	mov    %ebx,%ebp
40475a:	31 d6                	xor    %edx,%esi
40475c:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404760:	01 f0                	add    %esi,%eax
404762:	31 cd                	xor    %ecx,%ebp
404764:	31 d1                	xor    %edx,%ecx
404766:	01 d8                	add    %ebx,%eax
404768:	03 7c 24 1c          	add    0x1c(%esp),%edi
40476c:	21 cd                	and    %ecx,%ebp
40476e:	31 d1                	xor    %edx,%ecx
404770:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
404774:	89 c6                	mov    %eax,%esi
404776:	31 cd                	xor    %ecx,%ebp
404778:	0f a4 c0 05          	shld   $0x5,%eax,%eax
40477c:	01 ef                	add    %ebp,%edi
40477e:	31 de                	xor    %ebx,%esi
404780:	31 cb                	xor    %ecx,%ebx
404782:	01 c7                	add    %eax,%edi
404784:	c4 e3 71 0f e0 08    	vpalignr $0x8,%xmm0,%xmm1,%xmm4
40478a:	c5 e9 ef d6          	vpxor  %xmm6,%xmm2,%xmm2
40478e:	03 54 24 20          	add    0x20(%esp),%edx
404792:	21 de                	and    %ebx,%esi
404794:	31 cb                	xor    %ecx,%ebx
404796:	0f ac c0 07          	shrd   $0x7,%eax,%eax
40479a:	c5 e9 ef d3          	vpxor  %xmm3,%xmm2,%xmm2
40479e:	c5 f9 7f 74 24 60    	vmovdqa %xmm6,0x60(%esp)
4047a4:	89 fd                	mov    %edi,%ebp
4047a6:	31 de                	xor    %ebx,%esi
4047a8:	c5 f9 6f f5          	vmovdqa %xmm5,%xmm6
4047ac:	c5 d1 fe e9          	vpaddd %xmm1,%xmm5,%xmm5
4047b0:	0f a4 ff 05          	shld   $0x5,%edi,%edi
4047b4:	01 f2                	add    %esi,%edx
4047b6:	c5 e9 ef d4          	vpxor  %xmm4,%xmm2,%xmm2
4047ba:	31 c5                	xor    %eax,%ebp
4047bc:	31 d8                	xor    %ebx,%eax
4047be:	01 fa                	add    %edi,%edx
4047c0:	03 4c 24 24          	add    0x24(%esp),%ecx
4047c4:	c5 d9 72 d2 1e       	vpsrld $0x1e,%xmm2,%xmm4
4047c9:	c5 f9 7f 6c 24 10    	vmovdqa %xmm5,0x10(%esp)
4047cf:	21 c5                	and    %eax,%ebp
4047d1:	31 d8                	xor    %ebx,%eax
4047d3:	0f ac ff 07          	shrd   $0x7,%edi,%edi
4047d7:	89 d6                	mov    %edx,%esi
4047d9:	c5 e9 72 f2 02       	vpslld $0x2,%xmm2,%xmm2
4047de:	31 c5                	xor    %eax,%ebp
4047e0:	0f a4 d2 05          	shld   $0x5,%edx,%edx
4047e4:	01 e9                	add    %ebp,%ecx
4047e6:	31 fe                	xor    %edi,%esi
4047e8:	31 c7                	xor    %eax,%edi
4047ea:	01 d1                	add    %edx,%ecx
4047ec:	03 5c 24 28          	add    0x28(%esp),%ebx
4047f0:	21 fe                	and    %edi,%esi
4047f2:	c5 e9 eb d4          	vpor   %xmm4,%xmm2,%xmm2
4047f6:	31 c7                	xor    %eax,%edi
4047f8:	0f ac d2 07          	shrd   $0x7,%edx,%edx
4047fc:	c5 f9 6f 64 24 40    	vmovdqa 0x40(%esp),%xmm4
404802:	89 cd                	mov    %ecx,%ebp
404804:	31 fe                	xor    %edi,%esi
404806:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
40480a:	01 f3                	add    %esi,%ebx
40480c:	31 d5                	xor    %edx,%ebp
40480e:	31 fa                	xor    %edi,%edx
404810:	01 cb                	add    %ecx,%ebx
404812:	03 44 24 2c          	add    0x2c(%esp),%eax
404816:	21 d5                	and    %edx,%ebp
404818:	31 fa                	xor    %edi,%edx
40481a:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
40481e:	89 de                	mov    %ebx,%esi
404820:	31 d5                	xor    %edx,%ebp
404822:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404826:	01 e8                	add    %ebp,%eax
404828:	31 d6                	xor    %edx,%esi
40482a:	01 d8                	add    %ebx,%eax
40482c:	c4 e3 69 0f e9 08    	vpalignr $0x8,%xmm1,%xmm2,%xmm5
404832:	c5 e1 ef df          	vpxor  %xmm7,%xmm3,%xmm3
404836:	03 7c 24 30          	add    0x30(%esp),%edi
40483a:	31 ce                	xor    %ecx,%esi
40483c:	89 c5                	mov    %eax,%ebp
40483e:	0f a4 c0 05          	shld   $0x5,%eax,%eax
404842:	c5 e1 ef dc          	vpxor  %xmm4,%xmm3,%xmm3
404846:	c5 f9 7f 7c 24 40    	vmovdqa %xmm7,0x40(%esp)
40484c:	01 f7                	add    %esi,%edi
40484e:	31 cd                	xor    %ecx,%ebp
404850:	c5 f9 6f fe          	vmovdqa %xmm6,%xmm7
404854:	c5 c9 fe f2          	vpaddd %xmm2,%xmm6,%xmm6
404858:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
40485c:	01 c7                	add    %eax,%edi
40485e:	c5 e1 ef dd          	vpxor  %xmm5,%xmm3,%xmm3
404862:	03 54 24 34          	add    0x34(%esp),%edx
404866:	31 dd                	xor    %ebx,%ebp
404868:	89 fe                	mov    %edi,%esi
40486a:	0f a4 ff 05          	shld   $0x5,%edi,%edi
40486e:	c5 d1 72 d3 1e       	vpsrld $0x1e,%xmm3,%xmm5
404873:	c5 f9 7f 74 24 20    	vmovdqa %xmm6,0x20(%esp)
404879:	01 ea                	add    %ebp,%edx
40487b:	31 de                	xor    %ebx,%esi
40487d:	0f ac c0 07          	shrd   $0x7,%eax,%eax
404881:	01 fa                	add    %edi,%edx
404883:	c5 e1 72 f3 02       	vpslld $0x2,%xmm3,%xmm3
404888:	03 4c 24 38          	add    0x38(%esp),%ecx
40488c:	31 c6                	xor    %eax,%esi
40488e:	89 d5                	mov    %edx,%ebp
404890:	0f a4 d2 05          	shld   $0x5,%edx,%edx
404894:	01 f1                	add    %esi,%ecx
404896:	31 c5                	xor    %eax,%ebp
404898:	0f ac ff 07          	shrd   $0x7,%edi,%edi
40489c:	01 d1                	add    %edx,%ecx
40489e:	c5 e1 eb dd          	vpor   %xmm5,%xmm3,%xmm3
4048a2:	03 5c 24 3c          	add    0x3c(%esp),%ebx
4048a6:	31 fd                	xor    %edi,%ebp
4048a8:	89 ce                	mov    %ecx,%esi
4048aa:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
4048ae:	01 eb                	add    %ebp,%ebx
4048b0:	31 fe                	xor    %edi,%esi
4048b2:	0f ac d2 07          	shrd   $0x7,%edx,%edx
4048b6:	01 cb                	add    %ecx,%ebx
4048b8:	03 04 24             	add    (%esp),%eax
4048bb:	c5 c1 fe fb          	vpaddd %xmm3,%xmm7,%xmm7
4048bf:	31 d6                	xor    %edx,%esi
4048c1:	89 dd                	mov    %ebx,%ebp
4048c3:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
4048c7:	01 f0                	add    %esi,%eax
4048c9:	c5 f9 7f 7c 24 30    	vmovdqa %xmm7,0x30(%esp)
4048cf:	31 d5                	xor    %edx,%ebp
4048d1:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
4048d5:	01 d8                	add    %ebx,%eax
4048d7:	03 7c 24 04          	add    0x4(%esp),%edi
4048db:	31 cd                	xor    %ecx,%ebp
4048dd:	89 c6                	mov    %eax,%esi
4048df:	0f a4 c0 05          	shld   $0x5,%eax,%eax
4048e3:	01 ef                	add    %ebp,%edi
4048e5:	31 ce                	xor    %ecx,%esi
4048e7:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
4048eb:	01 c7                	add    %eax,%edi
4048ed:	03 54 24 08          	add    0x8(%esp),%edx
4048f1:	31 de                	xor    %ebx,%esi
4048f3:	89 fd                	mov    %edi,%ebp
4048f5:	0f a4 ff 05          	shld   $0x5,%edi,%edi
4048f9:	01 f2                	add    %esi,%edx
4048fb:	31 dd                	xor    %ebx,%ebp
4048fd:	0f ac c0 07          	shrd   $0x7,%eax,%eax
404901:	01 fa                	add    %edi,%edx
404903:	03 4c 24 0c          	add    0xc(%esp),%ecx
404907:	31 c5                	xor    %eax,%ebp
404909:	89 d6                	mov    %edx,%esi
40490b:	0f a4 d2 05          	shld   $0x5,%edx,%edx
40490f:	01 e9                	add    %ebp,%ecx
404911:	31 c6                	xor    %eax,%esi
404913:	0f ac ff 07          	shrd   $0x7,%edi,%edi
404917:	01 d1                	add    %edx,%ecx
404919:	8b ac 24 c4 00 00 00 	mov    0xc4(%esp),%ebp
404920:	3b ac 24 c8 00 00 00 	cmp    0xc8(%esp),%ebp
404927:	0f 84 a3 01 00 00    	je     0x404ad0
40492d:	c5 f9 6f bc 24 a0 00 	vmovdqa 0xa0(%esp),%xmm7
404934:	00 00
404936:	c5 f9 6f b4 24 b0 00 	vmovdqa 0xb0(%esp),%xmm6
40493d:	00 00
40493f:	c5 fa 6f 45 00       	vmovdqu 0x0(%ebp),%xmm0
404944:	c5 fa 6f 4d 10       	vmovdqu 0x10(%ebp),%xmm1
404949:	c5 fa 6f 55 20       	vmovdqu 0x20(%ebp),%xmm2
40494e:	c5 fa 6f 5d 30       	vmovdqu 0x30(%ebp),%xmm3
404953:	83 c5 40             	add    $0x40,%ebp
404956:	c4 e2 79 00 c6       	vpshufb %xmm6,%xmm0,%xmm0
40495b:	89 ac 24 c4 00 00 00 	mov    %ebp,0xc4(%esp)
404962:	c5 f9 7f 7c 24 60    	vmovdqa %xmm7,0x60(%esp)
404968:	03 5c 24 10          	add    0x10(%esp),%ebx
40496c:	31 fe                	xor    %edi,%esi
40496e:	c4 e2 71 00 ce       	vpshufb %xmm6,%xmm1,%xmm1
404973:	89 cd                	mov    %ecx,%ebp
404975:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
404979:	c5 f9 fe e7          	vpaddd %xmm7,%xmm0,%xmm4
40497d:	01 f3                	add    %esi,%ebx
40497f:	31 fd                	xor    %edi,%ebp
404981:	0f ac d2 07          	shrd   $0x7,%edx,%edx
404985:	01 cb                	add    %ecx,%ebx
404987:	c5 f9 7f 24 24       	vmovdqa %xmm4,(%esp)
40498c:	03 44 24 14          	add    0x14(%esp),%eax
404990:	31 d5                	xor    %edx,%ebp
404992:	89 de                	mov    %ebx,%esi
404994:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404998:	01 e8                	add    %ebp,%eax
40499a:	31 d6                	xor    %edx,%esi
40499c:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
4049a0:	01 d8                	add    %ebx,%eax
4049a2:	03 7c 24 18          	add    0x18(%esp),%edi
4049a6:	31 ce                	xor    %ecx,%esi
4049a8:	89 c5                	mov    %eax,%ebp
4049aa:	0f a4 c0 05          	shld   $0x5,%eax,%eax
4049ae:	01 f7                	add    %esi,%edi
4049b0:	31 cd                	xor    %ecx,%ebp
4049b2:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
4049b6:	01 c7                	add    %eax,%edi
4049b8:	03 54 24 1c          	add    0x1c(%esp),%edx
4049bc:	31 dd                	xor    %ebx,%ebp
4049be:	89 fe                	mov    %edi,%esi
4049c0:	0f a4 ff 05          	shld   $0x5,%edi,%edi
4049c4:	01 ea                	add    %ebp,%edx
4049c6:	31 de                	xor    %ebx,%esi
4049c8:	0f ac c0 07          	shrd   $0x7,%eax,%eax
4049cc:	01 fa                	add    %edi,%edx
4049ce:	03 4c 24 20          	add    0x20(%esp),%ecx
4049d2:	31 c6                	xor    %eax,%esi
4049d4:	c4 e2 69 00 d6       	vpshufb %xmm6,%xmm2,%xmm2
4049d9:	89 d5                	mov    %edx,%ebp
4049db:	0f a4 d2 05          	shld   $0x5,%edx,%edx
4049df:	c5 f1 fe ef          	vpaddd %xmm7,%xmm1,%xmm5
4049e3:	01 f1                	add    %esi,%ecx
4049e5:	31 c5                	xor    %eax,%ebp
4049e7:	0f ac ff 07          	shrd   $0x7,%edi,%edi
4049eb:	01 d1                	add    %edx,%ecx
4049ed:	c5 f9 7f 6c 24 10    	vmovdqa %xmm5,0x10(%esp)
4049f3:	03 5c 24 24          	add    0x24(%esp),%ebx
4049f7:	31 fd                	xor    %edi,%ebp
4049f9:	89 ce                	mov    %ecx,%esi
4049fb:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
4049ff:	01 eb                	add    %ebp,%ebx
404a01:	31 fe                	xor    %edi,%esi
404a03:	0f ac d2 07          	shrd   $0x7,%edx,%edx
404a07:	01 cb                	add    %ecx,%ebx
404a09:	03 44 24 28          	add    0x28(%esp),%eax
404a0d:	31 d6                	xor    %edx,%esi
404a0f:	89 dd                	mov    %ebx,%ebp
404a11:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404a15:	01 f0                	add    %esi,%eax
404a17:	31 d5                	xor    %edx,%ebp
404a19:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
404a1d:	01 d8                	add    %ebx,%eax
404a1f:	03 7c 24 2c          	add    0x2c(%esp),%edi
404a23:	31 cd                	xor    %ecx,%ebp
404a25:	89 c6                	mov    %eax,%esi
404a27:	0f a4 c0 05          	shld   $0x5,%eax,%eax
404a2b:	01 ef                	add    %ebp,%edi
404a2d:	31 ce                	xor    %ecx,%esi
404a2f:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
404a33:	01 c7                	add    %eax,%edi
404a35:	03 54 24 30          	add    0x30(%esp),%edx
404a39:	31 de                	xor    %ebx,%esi
404a3b:	c4 e2 61 00 de       	vpshufb %xmm6,%xmm3,%xmm3
404a40:	89 fd                	mov    %edi,%ebp
404a42:	0f a4 ff 05          	shld   $0x5,%edi,%edi
404a46:	c5 e9 fe f7          	vpaddd %xmm7,%xmm2,%xmm6
404a4a:	01 f2                	add    %esi,%edx
404a4c:	31 dd                	xor    %ebx,%ebp
404a4e:	0f ac c0 07          	shrd   $0x7,%eax,%eax
404a52:	01 fa                	add    %edi,%edx
404a54:	c5 f9 7f 74 24 20    	vmovdqa %xmm6,0x20(%esp)
404a5a:	03 4c 24 34          	add    0x34(%esp),%ecx
404a5e:	31 c5                	xor    %eax,%ebp
404a60:	89 d6                	mov    %edx,%esi
404a62:	0f a4 d2 05          	shld   $0x5,%edx,%edx
404a66:	01 e9                	add    %ebp,%ecx
404a68:	31 c6                	xor    %eax,%esi
404a6a:	0f ac ff 07          	shrd   $0x7,%edi,%edi
404a6e:	01 d1                	add    %edx,%ecx
404a70:	03 5c 24 38          	add    0x38(%esp),%ebx
404a74:	31 fe                	xor    %edi,%esi
404a76:	89 cd                	mov    %ecx,%ebp
404a78:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
404a7c:	01 f3                	add    %esi,%ebx
404a7e:	31 fd                	xor    %edi,%ebp
404a80:	0f ac d2 07          	shrd   $0x7,%edx,%edx
404a84:	01 cb                	add    %ecx,%ebx
404a86:	03 44 24 3c          	add    0x3c(%esp),%eax
404a8a:	31 d5                	xor    %edx,%ebp
404a8c:	89 de                	mov    %ebx,%esi
404a8e:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404a92:	01 e8                	add    %ebp,%eax
404a94:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
404a98:	01 d8                	add    %ebx,%eax
404a9a:	8b ac 24 c0 00 00 00 	mov    0xc0(%esp),%ebp
404aa1:	03 45 00             	add    0x0(%ebp),%eax
404aa4:	03 75 04             	add    0x4(%ebp),%esi
404aa7:	03 4d 08             	add    0x8(%ebp),%ecx
404aaa:	89 45 00             	mov    %eax,0x0(%ebp)
404aad:	03 55 0c             	add    0xc(%ebp),%edx
404ab0:	89 75 04             	mov    %esi,0x4(%ebp)
404ab3:	03 7d 10             	add    0x10(%ebp),%edi
404ab6:	89 cb                	mov    %ecx,%ebx
404ab8:	89 4d 08             	mov    %ecx,0x8(%ebp)
404abb:	31 d3                	xor    %edx,%ebx
404abd:	89 55 0c             	mov    %edx,0xc(%ebp)
404ac0:	89 7d 10             	mov    %edi,0x10(%ebp)
404ac3:	89 f5                	mov    %esi,%ebp
404ac5:	21 de                	and    %ebx,%esi
404ac7:	89 eb                	mov    %ebp,%ebx
404ac9:	e9 a2 f3 ff ff       	jmp    0x403e70
404ace:	90                   	nop
404acf:	90                   	nop
404ad0:	03 5c 24 10          	add    0x10(%esp),%ebx
404ad4:	31 fe                	xor    %edi,%esi
404ad6:	89 cd                	mov    %ecx,%ebp
404ad8:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
404adc:	01 f3                	add    %esi,%ebx
404ade:	31 fd                	xor    %edi,%ebp
404ae0:	0f ac d2 07          	shrd   $0x7,%edx,%edx
404ae4:	01 cb                	add    %ecx,%ebx
404ae6:	03 44 24 14          	add    0x14(%esp),%eax
404aea:	31 d5                	xor    %edx,%ebp
404aec:	89 de                	mov    %ebx,%esi
404aee:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404af2:	01 e8                	add    %ebp,%eax
404af4:	31 d6                	xor    %edx,%esi
404af6:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
404afa:	01 d8                	add    %ebx,%eax
404afc:	03 7c 24 18          	add    0x18(%esp),%edi
404b00:	31 ce                	xor    %ecx,%esi
404b02:	89 c5                	mov    %eax,%ebp
404b04:	0f a4 c0 05          	shld   $0x5,%eax,%eax
404b08:	01 f7                	add    %esi,%edi
404b0a:	31 cd                	xor    %ecx,%ebp
404b0c:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
404b10:	01 c7                	add    %eax,%edi
404b12:	03 54 24 1c          	add    0x1c(%esp),%edx
404b16:	31 dd                	xor    %ebx,%ebp
404b18:	89 fe                	mov    %edi,%esi
404b1a:	0f a4 ff 05          	shld   $0x5,%edi,%edi
404b1e:	01 ea                	add    %ebp,%edx
404b20:	31 de                	xor    %ebx,%esi
404b22:	0f ac c0 07          	shrd   $0x7,%eax,%eax
404b26:	01 fa                	add    %edi,%edx
404b28:	03 4c 24 20          	add    0x20(%esp),%ecx
404b2c:	31 c6                	xor    %eax,%esi
404b2e:	89 d5                	mov    %edx,%ebp
404b30:	0f a4 d2 05          	shld   $0x5,%edx,%edx
404b34:	01 f1                	add    %esi,%ecx