40886c:	31 c1                	xor    %eax,%ecx
40886e:	31 f8                	xor    %edi,%eax
408870:	03 54 24 1c          	add    0x1c(%esp),%edx
408874:	c5 f9 70 f9 fa       	vpshufd $0xfa,%xmm1,%xmm7
408879:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
40887d:	21 c3                	and    %eax,%ebx
40887f:	31 f1                	xor    %esi,%ecx
408881:	c5 c9 72 d6 0b       	vpsrld $0xb,%xmm6,%xmm6
408886:	03 54 24 40          	add    0x40(%esp),%edx
40888a:	31 fb                	xor    %edi,%ebx
40888c:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408890:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
408894:	01 d3                	add    %edx,%ebx
408896:	03 54 24 0c          	add    0xc(%esp),%edx
40889a:	01 cb                	add    %ecx,%ebx
40889c:	c5 d1 72 f5 0b       	vpslld $0xb,%xmm5,%xmm5
4088a1:	89 d1                	mov    %edx,%ecx
4088a3:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
4088a7:	8b 74 24 10          	mov    0x10(%esp),%esi
4088ab:	c5 d9 ef e6          	vpxor  %xmm6,%xmm4,%xmm4
4088af:	31 ca                	xor    %ecx,%edx
4088b1:	8b 7c 24 14          	mov    0x14(%esp),%edi
4088b5:	31 fe                	xor    %edi,%esi
4088b7:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
4088bc:	0f ac d2 05          	shrd   $0x5,%edx,%edx
4088c0:	21 ce                	and    %ecx,%esi
4088c2:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4088c6:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
4088ca:	31 ca                	xor    %ecx,%edx
4088cc:	31 f7                	xor    %esi,%edi
4088ce:	0f ac d2 06          	shrd   $0x6,%edx,%edx
4088d2:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
4088d7:	89 d9                	mov    %ebx,%ecx
4088d9:	01 fa                	add    %edi,%edx
4088db:	8b 3c 24             	mov    (%esp),%edi
4088de:	c5 e9 fe d4          	vpaddd %xmm4,%xmm2,%xmm2
4088e2:	89 de                	mov    %ebx,%esi
4088e4:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
4088e8:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4088ec:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
4088f0:	31 d9                	xor    %ebx,%ecx
4088f2:	31 fb                	xor    %edi,%ebx
4088f4:	03 54 24 18          	add    0x18(%esp),%edx
4088f8:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
4088fd:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408901:	21 d8                	and    %ebx,%eax
408903:	31 f1                	xor    %esi,%ecx
408905:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
408909:	03 54 24 44          	add    0x44(%esp),%edx
40890d:	31 f8                	xor    %edi,%eax
40890f:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408913:	c5 f9 70 fe 84       	vpshufd $0x84,%xmm6,%xmm7
408918:	01 d0                	add    %edx,%eax
40891a:	03 54 24 08          	add    0x8(%esp),%edx
40891e:	01 c8                	add    %ecx,%eax
408920:	c5 c1 73 df 08       	vpsrldq $0x8,%xmm7,%xmm7
408925:	89 d1                	mov    %edx,%ecx
408927:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
40892b:	8b 74 24 0c          	mov    0xc(%esp),%esi
40892f:	c5 e9 fe d7          	vpaddd %xmm7,%xmm2,%xmm2
408933:	31 ca                	xor    %ecx,%edx
408935:	8b 7c 24 10          	mov    0x10(%esp),%edi
408939:	31 fe                	xor    %edi,%esi
40893b:	c5 f9 70 fa 50       	vpshufd $0x50,%xmm2,%xmm7
408940:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408944:	21 ce                	and    %ecx,%esi
408946:	89 4c 24 08          	mov    %ecx,0x8(%esp)
40894a:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
40894f:	31 ca                	xor    %ecx,%edx
408951:	31 f7                	xor    %esi,%edi
408953:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408957:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
40895c:	89 c1                	mov    %eax,%ecx
40895e:	01 fa                	add    %edi,%edx
408960:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408964:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
408968:	89 c6                	mov    %eax,%esi
40896a:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
40896e:	89 44 24 18          	mov    %eax,0x18(%esp)
408972:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
408977:	31 c1                	xor    %eax,%ecx
408979:	31 f8                	xor    %edi,%eax
40897b:	03 54 24 14          	add    0x14(%esp),%edx
40897f:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
408983:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408987:	21 c3                	and    %eax,%ebx
408989:	31 f1                	xor    %esi,%ecx
40898b:	c5 f9 70 fe e8       	vpshufd $0xe8,%xmm6,%xmm7
408990:	03 54 24 48          	add    0x48(%esp),%edx
408994:	31 fb                	xor    %edi,%ebx
408996:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
40899a:	c5 c1 73 ff 08       	vpslldq $0x8,%xmm7,%xmm7
40899f:	01 d3                	add    %edx,%ebx
4089a1:	03 54 24 04          	add    0x4(%esp),%edx
4089a5:	01 cb                	add    %ecx,%ebx
4089a7:	c5 e9 fe d7          	vpaddd %xmm7,%xmm2,%xmm2
4089ab:	89 d1                	mov    %edx,%ecx
4089ad:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
4089b1:	8b 74 24 08          	mov    0x8(%esp),%esi
4089b5:	c5 e9 fe 75 20       	vpaddd 0x20(%ebp),%xmm2,%xmm6
4089ba:	31 ca                	xor    %ecx,%edx
4089bc:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4089c0:	31 fe                	xor    %edi,%esi
4089c2:	0f ac d2 05          	shrd   $0x5,%edx,%edx
4089c6:	21 ce                	and    %ecx,%esi
4089c8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4089cc:	31 ca                	xor    %ecx,%edx
4089ce:	31 f7                	xor    %esi,%edi
4089d0:	0f ac d2 06          	shrd   $0x6,%edx,%edx
4089d4:	89 d9                	mov    %ebx,%ecx
4089d6:	01 fa                	add    %edi,%edx
4089d8:	8b 7c 24 18          	mov    0x18(%esp),%edi
4089dc:	89 de                	mov    %ebx,%esi
4089de:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
4089e2:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4089e6:	31 d9                	xor    %ebx,%ecx
4089e8:	31 fb                	xor    %edi,%ebx
4089ea:	03 54 24 10          	add    0x10(%esp),%edx
4089ee:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
4089f2:	21 d8                	and    %ebx,%eax
4089f4:	31 f1                	xor    %esi,%ecx
4089f6:	03 54 24 4c          	add    0x4c(%esp),%edx
4089fa:	31 f8                	xor    %edi,%eax
4089fc:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408a00:	01 d0                	add    %edx,%eax
408a02:	03 14 24             	add    (%esp),%edx
408a05:	01 c8                	add    %ecx,%eax
408a07:	c5 f9 7f 74 24 40    	vmovdqa %xmm6,0x40(%esp)
408a0d:	c4 e3 79 0f e3 04    	vpalignr $0x4,%xmm3,%xmm0,%xmm4
408a13:	89 d1                	mov    %edx,%ecx
408a15:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408a19:	8b 74 24 04          	mov    0x4(%esp),%esi
408a1d:	c4 e3 69 0f f9 04    	vpalignr $0x4,%xmm1,%xmm2,%xmm7
408a23:	31 ca                	xor    %ecx,%edx
408a25:	8b 7c 24 08          	mov    0x8(%esp),%edi
408a29:	31 fe                	xor    %edi,%esi
408a2b:	c5 c9 72 d4 07       	vpsrld $0x7,%xmm4,%xmm6
408a30:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408a34:	21 ce                	and    %ecx,%esi
408a36:	89 0c 24             	mov    %ecx,(%esp)
408a39:	c5 e1 fe df          	vpaddd %xmm7,%xmm3,%xmm3
408a3d:	31 ca                	xor    %ecx,%edx
408a3f:	31 f7                	xor    %esi,%edi
408a41:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408a45:	c5 c1 72 d4 03       	vpsrld $0x3,%xmm4,%xmm7
408a4a:	89 c1                	mov    %eax,%ecx
408a4c:	01 fa                	add    %edi,%edx
408a4e:	8b 7c 24 14          	mov    0x14(%esp),%edi
408a52:	c5 d1 72 f4 0e       	vpslld $0xe,%xmm4,%xmm5
408a57:	89 c6                	mov    %eax,%esi
408a59:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408a5d:	89 44 24 10          	mov    %eax,0x10(%esp)
408a61:	c5 c1 ef e6          	vpxor  %xmm6,%xmm7,%xmm4
408a65:	31 c1                	xor    %eax,%ecx
408a67:	31 f8                	xor    %edi,%eax
408a69:	03 54 24 0c          	add    0xc(%esp),%edx
408a6d:	c5 f9 70 fa fa       	vpshufd $0xfa,%xmm2,%xmm7
408a72:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408a76:	21 c3                	and    %eax,%ebx
408a78:	31 f1                	xor    %esi,%ecx
408a7a:	c5 c9 72 d6 0b       	vpsrld $0xb,%xmm6,%xmm6
408a7f:	03 54 24 50          	add    0x50(%esp),%edx
408a83:	31 fb                	xor    %edi,%ebx
408a85:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408a89:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
408a8d:	01 d3                	add    %edx,%ebx
408a8f:	03 54 24 1c          	add    0x1c(%esp),%edx
408a93:	01 cb                	add    %ecx,%ebx
408a95:	c5 d1 72 f5 0b       	vpslld $0xb,%xmm5,%xmm5
408a9a:	89 d1                	mov    %edx,%ecx
408a9c:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408aa0:	8b 34 24             	mov    (%esp),%esi
408aa3:	c5 d9 ef e6          	vpxor  %xmm6,%xmm4,%xmm4
408aa7:	31 ca                	xor    %ecx,%edx
408aa9:	8b 7c 24 04          	mov    0x4(%esp),%edi
408aad:	31 fe                	xor    %edi,%esi
408aaf:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
408ab4:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408ab8:	21 ce                	and    %ecx,%esi
408aba:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
408abe:	c5 d9 ef e5          	vpxor  %xmm5,%xmm4,%xmm4
408ac2:	31 ca                	xor    %ecx,%edx
408ac4:	31 f7                	xor    %esi,%edi
408ac6:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408aca:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
408acf:	89 d9                	mov    %ebx,%ecx
408ad1:	01 fa                	add    %edi,%edx
408ad3:	8b 7c 24 10          	mov    0x10(%esp),%edi
408ad7:	c5 e1 fe dc          	vpaddd %xmm4,%xmm3,%xmm3
408adb:	89 de                	mov    %ebx,%esi
408add:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408ae1:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
408ae5:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
408ae9:	31 d9                	xor    %ebx,%ecx
408aeb:	31 fb                	xor    %edi,%ebx
408aed:	03 54 24 08          	add    0x8(%esp),%edx
408af1:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
408af6:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408afa:	21 d8                	and    %ebx,%eax
408afc:	31 f1                	xor    %esi,%ecx
408afe:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
408b02:	03 54 24 54          	add    0x54(%esp),%edx
408b06:	31 f8                	xor    %edi,%eax
408b08:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408b0c:	c5 f9 70 fe 84       	vpshufd $0x84,%xmm6,%xmm7
408b11:	01 d0                	add    %edx,%eax
408b13:	03 54 24 18          	add    0x18(%esp),%edx
408b17:	01 c8                	add    %ecx,%eax
408b19:	c5 c1 73 df 08       	vpsrldq $0x8,%xmm7,%xmm7
408b1e:	89 d1                	mov    %edx,%ecx
408b20:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408b24:	8b 74 24 1c          	mov    0x1c(%esp),%esi
408b28:	c5 e1 fe df          	vpaddd %xmm7,%xmm3,%xmm3
408b2c:	31 ca                	xor    %ecx,%edx
408b2e:	8b 3c 24             	mov    (%esp),%edi
408b31:	31 fe                	xor    %edi,%esi
408b33:	c5 f9 70 fb 50       	vpshufd $0x50,%xmm3,%xmm7
408b38:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408b3c:	21 ce                	and    %ecx,%esi
408b3e:	89 4c 24 18          	mov    %ecx,0x18(%esp)
408b42:	c5 c9 72 d7 0a       	vpsrld $0xa,%xmm7,%xmm6
408b47:	31 ca                	xor    %ecx,%edx
408b49:	31 f7                	xor    %esi,%edi
408b4b:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408b4f:	c5 d1 73 d7 11       	vpsrlq $0x11,%xmm7,%xmm5
408b54:	89 c1                	mov    %eax,%ecx
408b56:	01 fa                	add    %edi,%edx
408b58:	8b 7c 24 0c          	mov    0xc(%esp),%edi
408b5c:	c5 c9 ef f5          	vpxor  %xmm5,%xmm6,%xmm6
408b60:	89 c6                	mov    %eax,%esi
408b62:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408b66:	89 44 24 08          	mov    %eax,0x8(%esp)
408b6a:	c5 c1 73 d7 13       	vpsrlq $0x13,%xmm7,%xmm7
408b6f:	31 c1                	xor    %eax,%ecx
408b71:	31 f8                	xor    %edi,%eax
408b73:	03 54 24 04          	add    0x4(%esp),%edx
408b77:	c5 c9 ef f7          	vpxor  %xmm7,%xmm6,%xmm6
408b7b:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408b7f:	21 c3                	and    %eax,%ebx
408b81:	31 f1                	xor    %esi,%ecx
408b83:	c5 f9 70 fe e8       	vpshufd $0xe8,%xmm6,%xmm7
408b88:	03 54 24 58          	add    0x58(%esp),%edx
408b8c:	31 fb                	xor    %edi,%ebx
408b8e:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408b92:	c5 c1 73 ff 08       	vpslldq $0x8,%xmm7,%xmm7
408b97:	01 d3                	add    %edx,%ebx
408b99:	03 54 24 14          	add    0x14(%esp),%edx
408b9d:	01 cb                	add    %ecx,%ebx
408b9f:	c5 e1 fe df          	vpaddd %xmm7,%xmm3,%xmm3
408ba3:	89 d1                	mov    %edx,%ecx
408ba5:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408ba9:	8b 74 24 18          	mov    0x18(%esp),%esi
408bad:	c5 e1 fe 75 30       	vpaddd 0x30(%ebp),%xmm3,%xmm6
408bb2:	31 ca                	xor    %ecx,%edx
408bb4:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
408bb8:	31 fe                	xor    %edi,%esi
408bba:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408bbe:	21 ce                	and    %ecx,%esi
408bc0:	89 4c 24 14          	mov    %ecx,0x14(%esp)
408bc4:	31 ca                	xor    %ecx,%edx
408bc6:	31 f7                	xor    %esi,%edi
408bc8:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408bcc:	89 d9                	mov    %ebx,%ecx
408bce:	01 fa                	add    %edi,%edx
408bd0:	8b 7c 24 08          	mov    0x8(%esp),%edi
408bd4:	89 de                	mov    %ebx,%esi
408bd6:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408bda:	89 5c 24 04          	mov    %ebx,0x4(%esp)
408bde:	31 d9                	xor    %ebx,%ecx
408be0:	31 fb                	xor    %edi,%ebx
408be2:	03 14 24             	add    (%esp),%edx
408be5:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408be9:	21 d8                	and    %ebx,%eax
408beb:	31 f1                	xor    %esi,%ecx
408bed:	03 54 24 5c          	add    0x5c(%esp),%edx
408bf1:	31 f8                	xor    %edi,%eax
408bf3:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408bf7:	01 d0                	add    %edx,%eax
408bf9:	03 54 24 10          	add    0x10(%esp),%edx
408bfd:	01 c8                	add    %ecx,%eax
408bff:	c5 f9 7f 74 24 50    	vmovdqa %xmm6,0x50(%esp)
408c05:	81 7d 40 03 02 01 00 	cmpl   $0x10203,0x40(%ebp)
408c0c:	0f 85 0e f8 ff ff    	jne    0x408420
408c12:	89 d1                	mov    %edx,%ecx
408c14:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408c18:	8b 74 24 14          	mov    0x14(%esp),%esi
408c1c:	31 ca                	xor    %ecx,%edx
408c1e:	8b 7c 24 18          	mov    0x18(%esp),%edi
408c22:	31 fe                	xor    %edi,%esi
408c24:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408c28:	21 ce                	and    %ecx,%esi
408c2a:	89 4c 24 10          	mov    %ecx,0x10(%esp)
408c2e:	31 ca                	xor    %ecx,%edx
408c30:	31 f7                	xor    %esi,%edi
408c32:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408c36:	89 c1                	mov    %eax,%ecx
408c38:	01 fa                	add    %edi,%edx
408c3a:	8b 7c 24 04          	mov    0x4(%esp),%edi
408c3e:	89 c6                	mov    %eax,%esi
408c40:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408c44:	89 04 24             	mov    %eax,(%esp)
408c47:	31 c1                	xor    %eax,%ecx
408c49:	31 f8                	xor    %edi,%eax
408c4b:	03 54 24 1c          	add    0x1c(%esp),%edx
408c4f:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408c53:	21 c3                	and    %eax,%ebx
408c55:	31 f1                	xor    %esi,%ecx
408c57:	03 54 24 20          	add    0x20(%esp),%edx
408c5b:	31 fb                	xor    %edi,%ebx
408c5d:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408c61:	01 d3                	add    %edx,%ebx
408c63:	03 54 24 0c          	add    0xc(%esp),%edx
408c67:	01 cb                	add    %ecx,%ebx
408c69:	89 d1                	mov    %edx,%ecx
408c6b:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408c6f:	8b 74 24 10          	mov    0x10(%esp),%esi
408c73:	31 ca                	xor    %ecx,%edx
408c75:	8b 7c 24 14          	mov    0x14(%esp),%edi
408c79:	31 fe                	xor    %edi,%esi
408c7b:	0f ac d2 05          	shrd   $0x5,%edx,%edx
408c7f:	21 ce                	and    %ecx,%esi
408c81:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
408c85:	31 ca                	xor    %ecx,%edx
408c87:	31 f7                	xor    %esi,%edi
408c89:	0f ac d2 06          	shrd   $0x6,%edx,%edx
408c8d:	89 d9                	mov    %ebx,%ecx
408c8f:	01 fa                	add    %edi,%edx
408c91:	8b 3c 24             	mov    (%esp),%edi
408c94:	89 de                	mov    %ebx,%esi
408c96:	0f ac c9 09          	shrd   $0x9,%ecx,%ecx
408c9a:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
408c9e:	31 d9                	xor    %ebx,%ecx
408ca0:	31 fb                	xor    %edi,%ebx
408ca2:	03 54 24 18          	add    0x18(%esp),%edx
408ca6:	0f ac c9 0b          	shrd   $0xb,%ecx,%ecx
408caa:	21 d8                	and    %ebx,%eax
408cac:	31 f1                	xor    %esi,%ecx
408cae:	03 54 24 24          	add    0x24(%esp),%edx
408cb2:	31 f8                	xor    %edi,%eax
408cb4:	0f ac c9 02          	shrd   $0x2,%ecx,%ecx
408cb8:	01 d0                	add    %edx,%eax
408cba:	03 54 24 08          	add    0x8(%esp),%edx
408cbe:	01 c8                	add    %ecx,%eax
408cc0:	89 d1                	mov    %edx,%ecx
408cc2:	0f ac d2 0e          	shrd   $0xe,%edx,%edx
408cc6:	8b 74 24 0c          	mov    0xc(%esp),%esi
408cca:	31 ca                	xor    %ecx,%edx
408ccc:	8b 7c 24 10          	mov    0x10(%esp),%edi
408cd0:	31 fe                	xor    %edi,%esi
408cd2:	0f ac d2 05          	shrd   $0x5,%edx,%edx