407c0b:	89 44 24 10          	mov    %eax,0x10(%esp)
407c0f:	31 c1                	xor    %eax,%ecx
407c11:	66 0f 72 d6 07       	psrld  $0x7,%xmm6
407c16:	31 f8                	xor    %edi,%eax
407c18:	03 54 24 0c          	add    0xc(%esp),%edx
407c1c:	c1 c9 0b             	ror    $0xb,%ecx
407c1f:	21 c3                	and    %eax,%ebx
407c21:	66 0f 70 fa fa       	pshufd $0xfa,%xmm2,%xmm7
407c26:	31 f1                	xor    %esi,%ecx
407c28:	03 54 24 50          	add    0x50(%esp),%edx
407c2c:	66 0f 72 f5 0e       	pslld  $0xe,%xmm5
407c31:	31 fb                	xor    %edi,%ebx
407c33:	c1 c9 02             	ror    $0x2,%ecx
407c36:	66 0f ef e6          	pxor   %xmm6,%xmm4
407c3a:	01 d3                	add    %edx,%ebx
407c3c:	03 54 24 1c          	add    0x1c(%esp),%edx
407c40:	66 0f 72 d6 0b       	psrld  $0xb,%xmm6
407c45:	01 cb                	add    %ecx,%ebx
407c47:	89 d1                	mov    %edx,%ecx
407c49:	c1 ca 0e             	ror    $0xe,%edx
407c4c:	66 0f ef e5          	pxor   %xmm5,%xmm4
407c50:	8b 34 24             	mov    (%esp),%esi
407c53:	31 ca                	xor    %ecx,%edx
407c55:	66 0f 72 f5 0b       	pslld  $0xb,%xmm5
407c5a:	8b 7c 24 04          	mov    0x4(%esp),%edi
407c5e:	31 fe                	xor    %edi,%esi
407c60:	c1 ca 05             	ror    $0x5,%edx
407c63:	66 0f ef e6          	pxor   %xmm6,%xmm4
407c67:	21 ce                	and    %ecx,%esi
407c69:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
407c6d:	66 0f 6f f7          	movdqa %xmm7,%xmm6
407c71:	31 ca                	xor    %ecx,%edx
407c73:	31 f7                	xor    %esi,%edi
407c75:	c1 ca 06             	ror    $0x6,%edx
407c78:	66 0f ef e5          	pxor   %xmm5,%xmm4
407c7c:	89 d9                	mov    %ebx,%ecx
407c7e:	01 fa                	add    %edi,%edx
407c80:	66 0f 72 d7 0a       	psrld  $0xa,%xmm7
407c85:	8b 7c 24 10          	mov    0x10(%esp),%edi
407c89:	89 de                	mov    %ebx,%esi
407c8b:	c1 c9 09             	ror    $0x9,%ecx
407c8e:	66 0f fe dc          	paddd  %xmm4,%xmm3
407c92:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
407c96:	31 d9                	xor    %ebx,%ecx
407c98:	66 0f 73 d6 11       	psrlq  $0x11,%xmm6
407c9d:	31 fb                	xor    %edi,%ebx
407c9f:	03 54 24 08          	add    0x8(%esp),%edx
407ca3:	c1 c9 0b             	ror    $0xb,%ecx
407ca6:	66 0f ef fe          	pxor   %xmm6,%xmm7
407caa:	21 d8                	and    %ebx,%eax
407cac:	31 f1                	xor    %esi,%ecx
407cae:	66 0f 73 d6 02       	psrlq  $0x2,%xmm6
407cb3:	03 54 24 54          	add    0x54(%esp),%edx
407cb7:	31 f8                	xor    %edi,%eax
407cb9:	c1 c9 02             	ror    $0x2,%ecx
407cbc:	66 0f ef fe          	pxor   %xmm6,%xmm7
407cc0:	01 d0                	add    %edx,%eax
407cc2:	03 54 24 18          	add    0x18(%esp),%edx
407cc6:	66 0f 70 ff 80       	pshufd $0x80,%xmm7,%xmm7
407ccb:	01 c8                	add    %ecx,%eax
407ccd:	89 d1                	mov    %edx,%ecx
407ccf:	c1 ca 0e             	ror    $0xe,%edx
407cd2:	8b 74 24 1c          	mov    0x1c(%esp),%esi
407cd6:	31 ca                	xor    %ecx,%edx
407cd8:	8b 3c 24             	mov    (%esp),%edi
407cdb:	31 fe                	xor    %edi,%esi
407cdd:	c1 ca 05             	ror    $0x5,%edx
407ce0:	21 ce                	and    %ecx,%esi
407ce2:	66 0f 73 df 08       	psrldq $0x8,%xmm7
407ce7:	89 4c 24 18          	mov    %ecx,0x18(%esp)
407ceb:	31 ca                	xor    %ecx,%edx
407ced:	31 f7                	xor    %esi,%edi
407cef:	66 0f fe df          	paddd  %xmm7,%xmm3
407cf3:	c1 ca 06             	ror    $0x6,%edx
407cf6:	89 c1                	mov    %eax,%ecx
407cf8:	01 fa                	add    %edi,%edx
407cfa:	8b 7c 24 0c          	mov    0xc(%esp),%edi
407cfe:	89 c6                	mov    %eax,%esi
407d00:	c1 c9 09             	ror    $0x9,%ecx
407d03:	89 44 24 08          	mov    %eax,0x8(%esp)
407d07:	66 0f 70 fb 50       	pshufd $0x50,%xmm3,%xmm7
407d0c:	31 c1                	xor    %eax,%ecx
407d0e:	31 f8                	xor    %edi,%eax
407d10:	03 54 24 04          	add    0x4(%esp),%edx
407d14:	66 0f 6f f7          	movdqa %xmm7,%xmm6
407d18:	c1 c9 0b             	ror    $0xb,%ecx
407d1b:	66 0f 72 d7 0a       	psrld  $0xa,%xmm7
407d20:	21 c3                	and    %eax,%ebx
407d22:	66 0f 73 d6 11       	psrlq  $0x11,%xmm6
407d27:	31 f1                	xor    %esi,%ecx
407d29:	03 54 24 58          	add    0x58(%esp),%edx
407d2d:	31 fb                	xor    %edi,%ebx
407d2f:	c1 c9 02             	ror    $0x2,%ecx
407d32:	66 0f ef fe          	pxor   %xmm6,%xmm7
407d36:	01 d3                	add    %edx,%ebx
407d38:	03 54 24 14          	add    0x14(%esp),%edx
407d3c:	66 0f 73 d6 02       	psrlq  $0x2,%xmm6
407d41:	01 cb                	add    %ecx,%ebx
407d43:	89 d1                	mov    %edx,%ecx
407d45:	c1 ca 0e             	ror    $0xe,%edx
407d48:	66 0f ef fe          	pxor   %xmm6,%xmm7
407d4c:	8b 74 24 18          	mov    0x18(%esp),%esi
407d50:	31 ca                	xor    %ecx,%edx
407d52:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
407d56:	66 0f 70 ff 08       	pshufd $0x8,%xmm7,%xmm7
407d5b:	31 fe                	xor    %edi,%esi
407d5d:	c1 ca 05             	ror    $0x5,%edx
407d60:	66 0f 6f 75 30       	movdqa 0x30(%ebp),%xmm6
407d65:	21 ce                	and    %ecx,%esi
407d67:	89 4c 24 14          	mov    %ecx,0x14(%esp)
407d6b:	66 0f 73 ff 08       	pslldq $0x8,%xmm7
407d70:	31 ca                	xor    %ecx,%edx
407d72:	31 f7                	xor    %esi,%edi
407d74:	c1 ca 06             	ror    $0x6,%edx
407d77:	89 d9                	mov    %ebx,%ecx
407d79:	01 fa                	add    %edi,%edx
407d7b:	8b 7c 24 08          	mov    0x8(%esp),%edi
407d7f:	89 de                	mov    %ebx,%esi
407d81:	c1 c9 09             	ror    $0x9,%ecx
407d84:	66 0f fe df          	paddd  %xmm7,%xmm3
407d88:	89 5c 24 04          	mov    %ebx,0x4(%esp)
407d8c:	31 d9                	xor    %ebx,%ecx
407d8e:	31 fb                	xor    %edi,%ebx
407d90:	03 14 24             	add    (%esp),%edx
407d93:	66 0f fe f3          	paddd  %xmm3,%xmm6
407d97:	c1 c9 0b             	ror    $0xb,%ecx
407d9a:	21 d8                	and    %ebx,%eax
407d9c:	31 f1                	xor    %esi,%ecx
407d9e:	03 54 24 5c          	add    0x5c(%esp),%edx
407da2:	31 f8                	xor    %edi,%eax
407da4:	c1 c9 02             	ror    $0x2,%ecx
407da7:	01 d0                	add    %edx,%eax
407da9:	03 54 24 10          	add    0x10(%esp),%edx
407dad:	01 c8                	add    %ecx,%eax
407daf:	66 0f 7f 74 24 50    	movdqa %xmm6,0x50(%esp)
407db5:	81 7d 40 03 02 01 00 	cmpl   $0x10203,0x40(%ebp)
407dbc:	0f 85 fe f7 ff ff    	jne    0x4075c0
407dc2:	89 d1                	mov    %edx,%ecx
407dc4:	c1 ca 0e             	ror    $0xe,%edx
407dc7:	8b 74 24 14          	mov    0x14(%esp),%esi
407dcb:	31 ca                	xor    %ecx,%edx
407dcd:	8b 7c 24 18          	mov    0x18(%esp),%edi
407dd1:	31 fe                	xor    %edi,%esi
407dd3:	c1 ca 05             	ror    $0x5,%edx
407dd6:	21 ce                	and    %ecx,%esi
407dd8:	89 4c 24 10          	mov    %ecx,0x10(%esp)
407ddc:	31 ca                	xor    %ecx,%edx
407dde:	31 f7                	xor    %esi,%edi
407de0:	c1 ca 06             	ror    $0x6,%edx
407de3:	89 c1                	mov    %eax,%ecx
407de5:	01 fa                	add    %edi,%edx
407de7:	8b 7c 24 04          	mov    0x4(%esp),%edi
407deb:	89 c6                	mov    %eax,%esi
407ded:	c1 c9 09             	ror    $0x9,%ecx
407df0:	89 04 24             	mov    %eax,(%esp)
407df3:	31 c1                	xor    %eax,%ecx
407df5:	31 f8                	xor    %edi,%eax
407df7:	03 54 24 1c          	add    0x1c(%esp),%edx
407dfb:	c1 c9 0b             	ror    $0xb,%ecx
407dfe:	21 c3                	and    %eax,%ebx
407e00:	31 f1                	xor    %esi,%ecx
407e02:	03 54 24 20          	add    0x20(%esp),%edx
407e06:	31 fb                	xor    %edi,%ebx
407e08:	c1 c9 02             	ror    $0x2,%ecx
407e0b:	01 d3                	add    %edx,%ebx
407e0d:	03 54 24 0c          	add    0xc(%esp),%edx
407e11:	01 cb                	add    %ecx,%ebx
407e13:	89 d1                	mov    %edx,%ecx
407e15:	c1 ca 0e             	ror    $0xe,%edx
407e18:	8b 74 24 10          	mov    0x10(%esp),%esi
407e1c:	31 ca                	xor    %ecx,%edx
407e1e:	8b 7c 24 14          	mov    0x14(%esp),%edi
407e22:	31 fe                	xor    %edi,%esi
407e24:	c1 ca 05             	ror    $0x5,%edx
407e27:	21 ce                	and    %ecx,%esi
407e29:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
407e2d:	31 ca                	xor    %ecx,%edx
407e2f:	31 f7                	xor    %esi,%edi
407e31:	c1 ca 06             	ror    $0x6,%edx
407e34:	89 d9                	mov    %ebx,%ecx
407e36:	01 fa                	add    %edi,%edx
407e38:	8b 3c 24             	mov    (%esp),%edi
407e3b:	89 de                	mov    %ebx,%esi
407e3d:	c1 c9 09             	ror    $0x9,%ecx
407e40:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
407e44:	31 d9                	xor    %ebx,%ecx
407e46:	31 fb                	xor    %edi,%ebx
407e48:	03 54 24 18          	add    0x18(%esp),%edx
407e4c:	c1 c9 0b             	ror    $0xb,%ecx
407e4f:	21 d8                	and    %ebx,%eax
407e51:	31 f1                	xor    %esi,%ecx
407e53:	03 54 24 24          	add    0x24(%esp),%edx
407e57:	31 f8                	xor    %edi,%eax
407e59:	c1 c9 02             	ror    $0x2,%ecx
407e5c:	01 d0                	add    %edx,%eax
407e5e:	03 54 24 08          	add    0x8(%esp),%edx
407e62:	01 c8                	add    %ecx,%eax
407e64:	89 d1                	mov    %edx,%ecx
407e66:	c1 ca 0e             	ror    $0xe,%edx
407e69:	8b 74 24 0c          	mov    0xc(%esp),%esi
407e6d:	31 ca                	xor    %ecx,%edx
407e6f:	8b 7c 24 10          	mov    0x10(%esp),%edi
407e73:	31 fe                	xor    %edi,%esi
407e75:	c1 ca 05             	ror    $0x5,%edx
407e78:	21 ce                	and    %ecx,%esi
407e7a:	89 4c 24 08          	mov    %ecx,0x8(%esp)
407e7e:	31 ca                	xor    %ecx,%edx
407e80:	31 f7                	xor    %esi,%edi
407e82:	c1 ca 06             	ror    $0x6,%edx
407e85:	89 c1                	mov    %eax,%ecx
407e87:	01 fa                	add    %edi,%edx
407e89:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
407e8d:	89 c6                	mov    %eax,%esi
407e8f:	c1 c9 09             	ror    $0x9,%ecx
407e92:	89 44 24 18          	mov    %eax,0x18(%esp)
407e96:	31 c1                	xor    %eax,%ecx
407e98:	31 f8                	xor    %edi,%eax
407e9a:	03 54 24 14          	add    0x14(%esp),%edx
407e9e:	c1 c9 0b             	ror    $0xb,%ecx
407ea1:	21 c3                	and    %eax,%ebx
407ea3:	31 f1                	xor    %esi,%ecx
407ea5:	03 54 24 28          	add    0x28(%esp),%edx
407ea9:	31 fb                	xor    %edi,%ebx
407eab:	c1 c9 02             	ror    $0x2,%ecx
407eae:	01 d3                	add    %edx,%ebx
407eb0:	03 54 24 04          	add    0x4(%esp),%edx
407eb4:	01 cb                	add    %ecx,%ebx
407eb6:	89 d1                	mov    %edx,%ecx
407eb8:	c1 ca 0e             	ror    $0xe,%edx
407ebb:	8b 74 24 08          	mov    0x8(%esp),%esi
407ebf:	31 ca                	xor    %ecx,%edx
407ec1:	8b 7c 24 0c          	mov    0xc(%esp),%edi
407ec5:	31 fe                	xor    %edi,%esi
407ec7:	c1 ca 05             	ror    $0x5,%edx
407eca:	21 ce                	and    %ecx,%esi
407ecc:	89 4c 24 04          	mov    %ecx,0x4(%esp)
407ed0:	31 ca                	xor    %ecx,%edx
407ed2:	31 f7                	xor    %esi,%edi
407ed4:	c1 ca 06             	ror    $0x6,%edx
407ed7:	89 d9                	mov    %ebx,%ecx
407ed9:	01 fa                	add    %edi,%edx
407edb:	8b 7c 24 18          	mov    0x18(%esp),%edi
407edf:	89 de                	mov    %ebx,%esi
407ee1:	c1 c9 09             	ror    $0x9,%ecx
407ee4:	89 5c 24 14          	mov    %ebx,0x14(%esp)
407ee8:	31 d9                	xor    %ebx,%ecx
407eea:	31 fb                	xor    %edi,%ebx
407eec:	03 54 24 10          	add    0x10(%esp),%edx
407ef0:	c1 c9 0b             	ror    $0xb,%ecx
407ef3:	21 d8                	and    %ebx,%eax
407ef5:	31 f1                	xor    %esi,%ecx
407ef7:	03 54 24 2c          	add    0x2c(%esp),%edx
407efb:	31 f8                	xor    %edi,%eax
407efd:	c1 c9 02             	ror    $0x2,%ecx
407f00:	01 d0                	add    %edx,%eax
407f02:	03 14 24             	add    (%esp),%edx
407f05:	01 c8                	add    %ecx,%eax
407f07:	89 d1                	mov    %edx,%ecx
407f09:	c1 ca 0e             	ror    $0xe,%edx
407f0c:	8b 74 24 04          	mov    0x4(%esp),%esi
407f10:	31 ca                	xor    %ecx,%edx
407f12:	8b 7c 24 08          	mov    0x8(%esp),%edi
407f16:	31 fe                	xor    %edi,%esi
407f18:	c1 ca 05             	ror    $0x5,%edx
407f1b:	21 ce                	and    %ecx,%esi
407f1d:	89 0c 24             	mov    %ecx,(%esp)
407f20:	31 ca                	xor    %ecx,%edx
407f22:	31 f7                	xor    %esi,%edi
407f24:	c1 ca 06             	ror    $0x6,%edx
407f27:	89 c1                	mov    %eax,%ecx
407f29:	01 fa                	add    %edi,%edx
407f2b:	8b 7c 24 14          	mov    0x14(%esp),%edi
407f2f:	89 c6                	mov    %eax,%esi
407f31:	c1 c9 09             	ror    $0x9,%ecx
407f34:	89 44 24 10          	mov    %eax,0x10(%esp)
407f38:	31 c1                	xor    %eax,%ecx
407f3a:	31 f8                	xor    %edi,%eax
407f3c:	03 54 24 0c          	add    0xc(%esp),%edx
407f40:	c1 c9 0b             	ror    $0xb,%ecx
407f43:	21 c3                	and    %eax,%ebx
407f45:	31 f1                	xor    %esi,%ecx
407f47:	03 54 24 30          	add    0x30(%esp),%edx
407f4b:	31 fb                	xor    %edi,%ebx
407f4d:	c1 c9 02             	ror    $0x2,%ecx
407f50:	01 d3                	add    %edx,%ebx
407f52:	03 54 24 1c          	add    0x1c(%esp),%edx
407f56:	01 cb                	add    %ecx,%ebx
407f58:	89 d1                	mov    %edx,%ecx
407f5a:	c1 ca 0e             	ror    $0xe,%edx
407f5d:	8b 34 24             	mov    (%esp),%esi
407f60:	31 ca                	xor    %ecx,%edx
407f62:	8b 7c 24 04          	mov    0x4(%esp),%edi
407f66:	31 fe                	xor    %edi,%esi
407f68:	c1 ca 05             	ror    $0x5,%edx
407f6b:	21 ce                	and    %ecx,%esi
407f6d:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
407f71:	31 ca                	xor    %ecx,%edx
407f73:	31 f7                	xor    %esi,%edi
407f75:	c1 ca 06             	ror    $0x6,%edx
407f78:	89 d9                	mov    %ebx,%ecx
407f7a:	01 fa                	add    %edi,%edx
407f7c:	8b 7c 24 10          	mov    0x10(%esp),%edi
407f80:	89 de                	mov    %ebx,%esi
407f82:	c1 c9 09             	ror    $0x9,%ecx
407f85:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
407f89:	31 d9                	xor    %ebx,%ecx
407f8b:	31 fb                	xor    %edi,%ebx
407f8d:	03 54 24 08          	add    0x8(%esp),%edx
407f91:	c1 c9 0b             	ror    $0xb,%ecx
407f94:	21 d8                	and    %ebx,%eax
407f96:	31 f1                	xor    %esi,%ecx
407f98:	03 54 24 34          	add    0x34(%esp),%edx
407f9c:	31 f8                	xor    %edi,%eax
407f9e:	c1 c9 02             	ror    $0x2,%ecx
407fa1:	01 d0                	add    %edx,%eax
407fa3:	03 54 24 18          	add    0x18(%esp),%edx
407fa7:	01 c8                	add    %ecx,%eax
407fa9:	89 d1                	mov    %edx,%ecx
407fab:	c1 ca 0e             	ror    $0xe,%edx
407fae:	8b 74 24 1c          	mov    0x1c(%esp),%esi
407fb2:	31 ca                	xor    %ecx,%edx
407fb4:	8b 3c 24             	mov    (%esp),%edi
407fb7:	31 fe                	xor    %edi,%esi
407fb9:	c1 ca 05             	ror    $0x5,%edx
407fbc:	21 ce                	and    %ecx,%esi
407fbe:	89 4c 24 18          	mov    %ecx,0x18(%esp)
407fc2:	31 ca                	xor    %ecx,%edx
407fc4:	31 f7                	xor    %esi,%edi
407fc6:	c1 ca 06             	ror    $0x6,%edx
407fc9:	89 c1                	mov    %eax,%ecx
407fcb:	01 fa                	add    %edi,%edx
407fcd:	8b 7c 24 0c          	mov    0xc(%esp),%edi
407fd1:	89 c6                	mov    %eax,%esi
407fd3:	c1 c9 09             	ror    $0x9,%ecx
407fd6:	89 44 24 08          	mov    %eax,0x8(%esp)
407fda:	31 c1                	xor    %eax,%ecx
407fdc:	31 f8                	xor    %edi,%eax
407fde:	03 54 24 04          	add    0x4(%esp),%edx
407fe2:	c1 c9 0b             	ror    $0xb,%ecx
407fe5:	21 c3                	and    %eax,%ebx
407fe7:	31 f1                	xor    %esi,%ecx
407fe9:	03 54 24 38          	add    0x38(%esp),%edx
407fed:	31 fb                	xor    %edi,%ebx
407fef:	c1 c9 02             	ror    $0x2,%ecx
407ff2:	01 d3                	add    %edx,%ebx
407ff4:	03 54 24 14          	add    0x14(%esp),%edx
407ff8:	01 cb                	add    %ecx,%ebx
407ffa:	89 d1                	mov    %edx,%ecx
407ffc:	c1 ca 0e             	ror    $0xe,%edx
407fff:	8b 74 24 18          	mov    0x18(%esp),%esi