403a3a:	01 eb                	add    %ebp,%ebx
403a3c:	31 fe                	xor    %edi,%esi
403a3e:	c1 ca 07             	ror    $0x7,%edx
403a41:	01 cb                	add    %ecx,%ebx
403a43:	03 04 24             	add    (%esp),%eax
403a46:	31 d6                	xor    %edx,%esi
403a48:	89 dd                	mov    %ebx,%ebp
403a4a:	c1 c3 05             	rol    $0x5,%ebx
403a4d:	01 f0                	add    %esi,%eax
403a4f:	31 d5                	xor    %edx,%ebp
403a51:	c1 c9 07             	ror    $0x7,%ecx
403a54:	66 0f fe fb          	paddd  %xmm3,%xmm7
403a58:	01 d8                	add    %ebx,%eax
403a5a:	03 7c 24 04          	add    0x4(%esp),%edi
403a5e:	31 cd                	xor    %ecx,%ebp
403a60:	89 c6                	mov    %eax,%esi
403a62:	66 0f 7f 7c 24 30    	movdqa %xmm7,0x30(%esp)
403a68:	c1 c0 05             	rol    $0x5,%eax
403a6b:	01 ef                	add    %ebp,%edi
403a6d:	31 ce                	xor    %ecx,%esi
403a6f:	c1 cb 07             	ror    $0x7,%ebx
403a72:	01 c7                	add    %eax,%edi
403a74:	03 54 24 08          	add    0x8(%esp),%edx
403a78:	31 de                	xor    %ebx,%esi
403a7a:	89 fd                	mov    %edi,%ebp
403a7c:	c1 c7 05             	rol    $0x5,%edi
403a7f:	01 f2                	add    %esi,%edx
403a81:	31 dd                	xor    %ebx,%ebp
403a83:	c1 c8 07             	ror    $0x7,%eax
403a86:	01 fa                	add    %edi,%edx
403a88:	03 4c 24 0c          	add    0xc(%esp),%ecx
403a8c:	31 c5                	xor    %eax,%ebp
403a8e:	89 d6                	mov    %edx,%esi
403a90:	c1 c2 05             	rol    $0x5,%edx
403a93:	01 e9                	add    %ebp,%ecx
403a95:	31 c6                	xor    %eax,%esi
403a97:	c1 cf 07             	ror    $0x7,%edi
403a9a:	01 d1                	add    %edx,%ecx
403a9c:	8b ac 24 c4 00 00 00 	mov    0xc4(%esp),%ebp
403aa3:	3b ac 24 c8 00 00 00 	cmp    0xc8(%esp),%ebp
403aaa:	0f 84 a0 01 00 00    	je     0x403c50
403ab0:	66 0f 6f bc 24 a0 00 	movdqa 0xa0(%esp),%xmm7
403ab7:	00 00
403ab9:	66 0f 6f b4 24 b0 00 	movdqa 0xb0(%esp),%xmm6
403ac0:	00 00
403ac2:	f3 0f 6f 45 00       	movdqu 0x0(%ebp),%xmm0
403ac7:	f3 0f 6f 4d 10       	movdqu 0x10(%ebp),%xmm1
403acc:	f3 0f 6f 55 20       	movdqu 0x20(%ebp),%xmm2
403ad1:	f3 0f 6f 5d 30       	movdqu 0x30(%ebp),%xmm3
403ad6:	83 c5 40             	add    $0x40,%ebp
403ad9:	66 0f 38 00 c6       	pshufb %xmm6,%xmm0
403ade:	89 ac 24 c4 00 00 00 	mov    %ebp,0xc4(%esp)
403ae5:	66 0f 7f 7c 24 60    	movdqa %xmm7,0x60(%esp)
403aeb:	03 5c 24 10          	add    0x10(%esp),%ebx
403aef:	31 fe                	xor    %edi,%esi
403af1:	89 cd                	mov    %ecx,%ebp
403af3:	c1 c1 05             	rol    $0x5,%ecx
403af6:	01 f3                	add    %esi,%ebx
403af8:	31 fd                	xor    %edi,%ebp
403afa:	c1 ca 07             	ror    $0x7,%edx
403afd:	66 0f 38 00 ce       	pshufb %xmm6,%xmm1
403b02:	01 cb                	add    %ecx,%ebx
403b04:	03 44 24 14          	add    0x14(%esp),%eax
403b08:	31 d5                	xor    %edx,%ebp
403b0a:	89 de                	mov    %ebx,%esi
403b0c:	66 0f fe c7          	paddd  %xmm7,%xmm0
403b10:	c1 c3 05             	rol    $0x5,%ebx
403b13:	01 e8                	add    %ebp,%eax
403b15:	31 d6                	xor    %edx,%esi
403b17:	c1 c9 07             	ror    $0x7,%ecx
403b1a:	66 0f 7f 04 24       	movdqa %xmm0,(%esp)
403b1f:	01 d8                	add    %ebx,%eax
403b21:	03 7c 24 18          	add    0x18(%esp),%edi
403b25:	31 ce                	xor    %ecx,%esi
403b27:	89 c5                	mov    %eax,%ebp
403b29:	66 0f fa c7          	psubd  %xmm7,%xmm0
403b2d:	c1 c0 05             	rol    $0x5,%eax
403b30:	01 f7                	add    %esi,%edi
403b32:	31 cd                	xor    %ecx,%ebp
403b34:	c1 cb 07             	ror    $0x7,%ebx
403b37:	01 c7                	add    %eax,%edi
403b39:	03 54 24 1c          	add    0x1c(%esp),%edx
403b3d:	31 dd                	xor    %ebx,%ebp
403b3f:	89 fe                	mov    %edi,%esi
403b41:	c1 c7 05             	rol    $0x5,%edi
403b44:	01 ea                	add    %ebp,%edx
403b46:	31 de                	xor    %ebx,%esi
403b48:	c1 c8 07             	ror    $0x7,%eax
403b4b:	01 fa                	add    %edi,%edx
403b4d:	03 4c 24 20          	add    0x20(%esp),%ecx
403b51:	31 c6                	xor    %eax,%esi
403b53:	89 d5                	mov    %edx,%ebp
403b55:	c1 c2 05             	rol    $0x5,%edx
403b58:	01 f1                	add    %esi,%ecx
403b5a:	31 c5                	xor    %eax,%ebp
403b5c:	c1 cf 07             	ror    $0x7,%edi
403b5f:	66 0f 38 00 d6       	pshufb %xmm6,%xmm2
403b64:	01 d1                	add    %edx,%ecx
403b66:	03 5c 24 24          	add    0x24(%esp),%ebx
403b6a:	31 fd                	xor    %edi,%ebp
403b6c:	89 ce                	mov    %ecx,%esi
403b6e:	66 0f fe cf          	paddd  %xmm7,%xmm1
403b72:	c1 c1 05             	rol    $0x5,%ecx
403b75:	01 eb                	add    %ebp,%ebx
403b77:	31 fe                	xor    %edi,%esi
403b79:	c1 ca 07             	ror    $0x7,%edx
403b7c:	66 0f 7f 4c 24 10    	movdqa %xmm1,0x10(%esp)
403b82:	01 cb                	add    %ecx,%ebx
403b84:	03 44 24 28          	add    0x28(%esp),%eax
403b88:	31 d6                	xor    %edx,%esi
403b8a:	89 dd                	mov    %ebx,%ebp
403b8c:	66 0f fa cf          	psubd  %xmm7,%xmm1
403b90:	c1 c3 05             	rol    $0x5,%ebx
403b93:	01 f0                	add    %esi,%eax
403b95:	31 d5                	xor    %edx,%ebp
403b97:	c1 c9 07             	ror    $0x7,%ecx
403b9a:	01 d8                	add    %ebx,%eax
403b9c:	03 7c 24 2c          	add    0x2c(%esp),%edi
403ba0:	31 cd                	xor    %ecx,%ebp
403ba2:	89 c6                	mov    %eax,%esi
403ba4:	c1 c0 05             	rol    $0x5,%eax
403ba7:	01 ef                	add    %ebp,%edi
403ba9:	31 ce                	xor    %ecx,%esi
403bab:	c1 cb 07             	ror    $0x7,%ebx
403bae:	01 c7                	add    %eax,%edi
403bb0:	03 54 24 30          	add    0x30(%esp),%edx
403bb4:	31 de                	xor    %ebx,%esi
403bb6:	89 fd                	mov    %edi,%ebp
403bb8:	c1 c7 05             	rol    $0x5,%edi
403bbb:	01 f2                	add    %esi,%edx
403bbd:	31 dd                	xor    %ebx,%ebp
403bbf:	c1 c8 07             	ror    $0x7,%eax
403bc2:	66 0f 38 00 de       	pshufb %xmm6,%xmm3
403bc7:	01 fa                	add    %edi,%edx
403bc9:	03 4c 24 34          	add    0x34(%esp),%ecx
403bcd:	31 c5                	xor    %eax,%ebp
403bcf:	89 d6                	mov    %edx,%esi
403bd1:	66 0f fe d7          	paddd  %xmm7,%xmm2
403bd5:	c1 c2 05             	rol    $0x5,%edx
403bd8:	01 e9                	add    %ebp,%ecx
403bda:	31 c6                	xor    %eax,%esi
403bdc:	c1 cf 07             	ror    $0x7,%edi
403bdf:	66 0f 7f 54 24 20    	movdqa %xmm2,0x20(%esp)
403be5:	01 d1                	add    %edx,%ecx
403be7:	03 5c 24 38          	add    0x38(%esp),%ebx
403beb:	31 fe                	xor    %edi,%esi
403bed:	89 cd                	mov    %ecx,%ebp
403bef:	66 0f fa d7          	psubd  %xmm7,%xmm2
403bf3:	c1 c1 05             	rol    $0x5,%ecx
403bf6:	01 f3                	add    %esi,%ebx
403bf8:	31 fd                	xor    %edi,%ebp
403bfa:	c1 ca 07             	ror    $0x7,%edx
403bfd:	01 cb                	add    %ecx,%ebx
403bff:	03 44 24 3c          	add    0x3c(%esp),%eax
403c03:	31 d5                	xor    %edx,%ebp
403c05:	89 de                	mov    %ebx,%esi
403c07:	c1 c3 05             	rol    $0x5,%ebx
403c0a:	01 e8                	add    %ebp,%eax
403c0c:	c1 c9 07             	ror    $0x7,%ecx
403c0f:	01 d8                	add    %ebx,%eax
403c11:	8b ac 24 c0 00 00 00 	mov    0xc0(%esp),%ebp
403c18:	03 45 00             	add    0x0(%ebp),%eax
403c1b:	03 75 04             	add    0x4(%ebp),%esi
403c1e:	03 4d 08             	add    0x8(%ebp),%ecx
403c21:	89 45 00             	mov    %eax,0x0(%ebp)
403c24:	03 55 0c             	add    0xc(%ebp),%edx
403c27:	89 75 04             	mov    %esi,0x4(%ebp)
403c2a:	03 7d 10             	add    0x10(%ebp),%edi
403c2d:	89 4d 08             	mov    %ecx,0x8(%ebp)
403c30:	89 cb                	mov    %ecx,%ebx
403c32:	89 55 0c             	mov    %edx,0xc(%ebp)
403c35:	31 d3                	xor    %edx,%ebx
403c37:	89 7d 10             	mov    %edi,0x10(%ebp)
403c3a:	89 f5                	mov    %esi,%ebp
403c3c:	66 0f 70 e0 ee       	pshufd $0xee,%xmm0,%xmm4
403c41:	21 de                	and    %ebx,%esi
403c43:	89 eb                	mov    %ebp,%ebx
403c45:	e9 96 f3 ff ff       	jmp    0x402fe0
403c4a:	90                   	nop
403c4b:	90                   	nop
403c4c:	90                   	nop
403c4d:	90                   	nop
403c4e:	90                   	nop
403c4f:	90                   	nop
403c50:	03 5c 24 10          	add    0x10(%esp),%ebx
403c54:	31 fe                	xor    %edi,%esi
403c56:	89 cd                	mov    %ecx,%ebp
403c58:	c1 c1 05             	rol    $0x5,%ecx
403c5b:	01 f3                	add    %esi,%ebx
403c5d:	31 fd                	xor    %edi,%ebp
403c5f:	c1 ca 07             	ror    $0x7,%edx
403c62:	01 cb                	add    %ecx,%ebx
403c64:	03 44 24 14          	add    0x14(%esp),%eax
403c68:	31 d5                	xor    %edx,%ebp
403c6a:	89 de                	mov    %ebx,%esi
403c6c:	c1 c3 05             	rol    $0x5,%ebx
403c6f:	01 e8                	add    %ebp,%eax
403c71:	31 d6                	xor    %edx,%esi
403c73:	c1 c9 07             	ror    $0x7,%ecx
403c76:	01 d8                	add    %ebx,%eax
403c78:	03 7c 24 18          	add    0x18(%esp),%edi
403c7c:	31 ce                	xor    %ecx,%esi
403c7e:	89 c5                	mov    %eax,%ebp
403c80:	c1 c0 05             	rol    $0x5,%eax
403c83:	01 f7                	add    %esi,%edi
403c85:	31 cd                	xor    %ecx,%ebp
403c87:	c1 cb 07             	ror    $0x7,%ebx
403c8a:	01 c7                	add    %eax,%edi
403c8c:	03 54 24 1c          	add    0x1c(%esp),%edx
403c90:	31 dd                	xor    %ebx,%ebp
403c92:	89 fe                	mov    %edi,%esi
403c94:	c1 c7 05             	rol    $0x5,%edi
403c97:	01 ea                	add    %ebp,%edx
403c99:	31 de                	xor    %ebx,%esi
403c9b:	c1 c8 07             	ror    $0x7,%eax
403c9e:	01 fa                	add    %edi,%edx
403ca0:	03 4c 24 20          	add    0x20(%esp),%ecx
403ca4:	31 c6                	xor    %eax,%esi
403ca6:	89 d5                	mov    %edx,%ebp
403ca8:	c1 c2 05             	rol    $0x5,%edx
403cab:	01 f1                	add    %esi,%ecx
403cad:	31 c5                	xor    %eax,%ebp
403caf:	c1 cf 07             	ror    $0x7,%edi
403cb2:	01 d1                	add    %edx,%ecx
403cb4:	03 5c 24 24          	add    0x24(%esp),%ebx
403cb8:	31 fd                	xor    %edi,%ebp
403cba:	89 ce                	mov    %ecx,%esi
403cbc:	c1 c1 05             	rol    $0x5,%ecx
403cbf:	01 eb                	add    %ebp,%ebx
403cc1:	31 fe                	xor    %edi,%esi
403cc3:	c1 ca 07             	ror    $0x7,%edx
403cc6:	01 cb                	add    %ecx,%ebx
403cc8:	03 44 24 28          	add    0x28(%esp),%eax
403ccc:	31 d6                	xor    %edx,%esi
403cce:	89 dd                	mov    %ebx,%ebp
403cd0:	c1 c3 05             	rol    $0x5,%ebx
403cd3:	01 f0                	add    %esi,%eax
403cd5:	31 d5                	xor    %edx,%ebp
403cd7:	c1 c9 07             	ror    $0x7,%ecx
403cda:	01 d8                	add    %ebx,%eax
403cdc:	03 7c 24 2c          	add    0x2c(%esp),%edi
403ce0:	31 cd                	xor    %ecx,%ebp
403ce2:	89 c6                	mov    %eax,%esi
403ce4:	c1 c0 05             	rol    $0x5,%eax
403ce7:	01 ef                	add    %ebp,%edi
403ce9:	31 ce                	xor    %ecx,%esi
403ceb:	c1 cb 07             	ror    $0x7,%ebx
403cee:	01 c7                	add    %eax,%edi
403cf0:	03 54 24 30          	add    0x30(%esp),%edx
403cf4:	31 de                	xor    %ebx,%esi
403cf6:	89 fd                	mov    %edi,%ebp
403cf8:	c1 c7 05             	rol    $0x5,%edi
403cfb:	01 f2                	add    %esi,%edx
403cfd:	31 dd                	xor    %ebx,%ebp
403cff:	c1 c8 07             	ror    $0x7,%eax
403d02:	01 fa                	add    %edi,%edx
403d04:	03 4c 24 34          	add    0x34(%esp),%ecx
403d08:	31 c5                	xor    %eax,%ebp
403d0a:	89 d6                	mov    %edx,%esi
403d0c:	c1 c2 05             	rol    $0x5,%edx
403d0f:	01 e9                	add    %ebp,%ecx
403d11:	31 c6                	xor    %eax,%esi
403d13:	c1 cf 07             	ror    $0x7,%edi
403d16:	01 d1                	add    %edx,%ecx
403d18:	03 5c 24 38          	add    0x38(%esp),%ebx
403d1c:	31 fe                	xor    %edi,%esi
403d1e:	89 cd                	mov    %ecx,%ebp
403d20:	c1 c1 05             	rol    $0x5,%ecx
403d23:	01 f3                	add    %esi,%ebx
403d25:	31 fd                	xor    %edi,%ebp
403d27:	c1 ca 07             	ror    $0x7,%edx
403d2a:	01 cb                	add    %ecx,%ebx
403d2c:	03 44 24 3c          	add    0x3c(%esp),%eax
403d30:	31 d5                	xor    %edx,%ebp
403d32:	89 de                	mov    %ebx,%esi
403d34:	c1 c3 05             	rol    $0x5,%ebx
403d37:	01 e8                	add    %ebp,%eax
403d39:	c1 c9 07             	ror    $0x7,%ecx
403d3c:	01 d8                	add    %ebx,%eax
403d3e:	8b ac 24 c0 00 00 00 	mov    0xc0(%esp),%ebp
403d45:	03 45 00             	add    0x0(%ebp),%eax
403d48:	8b a4 24 cc 00 00 00 	mov    0xcc(%esp),%esp
403d4f:	03 75 04             	add    0x4(%ebp),%esi
403d52:	03 4d 08             	add    0x8(%ebp),%ecx
403d55:	89 45 00             	mov    %eax,0x0(%ebp)
403d58:	03 55 0c             	add    0xc(%ebp),%edx
403d5b:	89 75 04             	mov    %esi,0x4(%ebp)
403d5e:	03 7d 10             	add    0x10(%ebp),%edi
403d61:	89 4d 08             	mov    %ecx,0x8(%ebp)
403d64:	89 55 0c             	mov    %edx,0xc(%ebp)
403d67:	89 7d 10             	mov    %edi,0x10(%ebp)
403d6a:	5f                   	pop    %edi
403d6b:	5e                   	pop    %esi
403d6c:	5b                   	pop    %ebx
403d6d:	5d                   	pop    %ebp
403d6e:	c3                   	ret
403d6f:	90                   	nop
403d70:	55                   	push   %ebp
403d71:	53                   	push   %ebx
403d72:	56                   	push   %esi
403d73:	57                   	push   %edi
403d74:	e8 00 00 00 00       	call   0x403d79
403d79:	5d                   	pop    %ebp
403d7a:	8d ad c7 0e 00 00    	lea    0xec7(%ebp),%ebp
403d80:	c5 fc 77             	vzeroall
403d83:	c5 f9 6f 7d 00       	vmovdqa 0x0(%ebp),%xmm7
403d88:	c5 f9 6f 45 10       	vmovdqa 0x10(%ebp),%xmm0
403d8d:	c5 f9 6f 4d 20       	vmovdqa 0x20(%ebp),%xmm1
403d92:	c5 f9 6f 55 30       	vmovdqa 0x30(%ebp),%xmm2
403d97:	c5 f9 6f 75 40       	vmovdqa 0x40(%ebp),%xmm6
403d9c:	8b 7c 24 14          	mov    0x14(%esp),%edi
403da0:	8b 6c 24 18          	mov    0x18(%esp),%ebp
403da4:	8b 54 24 1c          	mov    0x1c(%esp),%edx
403da8:	89 e6                	mov    %esp,%esi
403daa:	81 ec d0 00 00 00    	sub    $0xd0,%esp
403db0:	83 e4 c0             	and    $0xffffffc0,%esp
403db3:	c5 f9 7f 44 24 70    	vmovdqa %xmm0,0x70(%esp)
403db9:	c5 f9 7f 8c 24 80 00 	vmovdqa %xmm1,0x80(%esp)
403dc0:	00 00
403dc2:	c5 f9 7f 94 24 90 00 	vmovdqa %xmm2,0x90(%esp)
403dc9:	00 00
403dcb:	c1 e2 06             	shl    $0x6,%edx
403dce:	c5 f9 7f bc 24 a0 00 	vmovdqa %xmm7,0xa0(%esp)
403dd5:	00 00
403dd7:	01 ea                	add    %ebp,%edx
403dd9:	c5 f9 7f b4 24 b0 00 	vmovdqa %xmm6,0xb0(%esp)
403de0:	00 00
403de2:	83 c5 40             	add    $0x40,%ebp
403de5:	89 bc 24 c0 00 00 00 	mov    %edi,0xc0(%esp)
403dec:	89 ac 24 c4 00 00 00 	mov    %ebp,0xc4(%esp)
403df3:	89 94 24 c8 00 00 00 	mov    %edx,0xc8(%esp)
403dfa:	89 b4 24 cc 00 00 00 	mov    %esi,0xcc(%esp)
403e01:	8b 07                	mov    (%edi),%eax
403e03:	8b 5f 04             	mov    0x4(%edi),%ebx
403e06:	8b 4f 08             	mov    0x8(%edi),%ecx
403e09:	8b 57 0c             	mov    0xc(%edi),%edx
403e0c:	8b 7f 10             	mov    0x10(%edi),%edi
403e0f:	89 de                	mov    %ebx,%esi
403e11:	c5 fa 6f 45 c0       	vmovdqu -0x40(%ebp),%xmm0
403e16:	c5 fa 6f 4d d0       	vmovdqu -0x30(%ebp),%xmm1
403e1b:	c5 fa 6f 55 e0       	vmovdqu -0x20(%ebp),%xmm2
403e20:	c5 fa 6f 5d f0       	vmovdqu -0x10(%ebp),%xmm3
403e25:	c4 e2 79 00 c6       	vpshufb %xmm6,%xmm0,%xmm0
403e2a:	c4 e2 71 00 ce       	vpshufb %xmm6,%xmm1,%xmm1
403e2f:	c4 e2 69 00 d6       	vpshufb %xmm6,%xmm2,%xmm2
403e34:	c5 f9 7f 7c 24 60    	vmovdqa %xmm7,0x60(%esp)
403e3a:	c4 e2 61 00 de       	vpshufb %xmm6,%xmm3,%xmm3
403e3f:	c5 f9 fe e7          	vpaddd %xmm7,%xmm0,%xmm4
403e43:	c5 f1 fe ef          	vpaddd %xmm7,%xmm1,%xmm5
403e47:	c5 e9 fe f7          	vpaddd %xmm7,%xmm2,%xmm6