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
403e4b:	c5 f9 7f 24 24       	vmovdqa %xmm4,(%esp)
403e50:	89 cd                	mov    %ecx,%ebp
403e52:	c5 f9 7f 6c 24 10    	vmovdqa %xmm5,0x10(%esp)
403e58:	31 d5                	xor    %edx,%ebp
403e5a:	c5 f9 7f 74 24 20    	vmovdqa %xmm6,0x20(%esp)
403e60:	21 ee                	and    %ebp,%esi
403e62:	e9 09 00 00 00       	jmp    0x403e70
403e67:	90                   	nop
403e68:	90                   	nop
403e69:	90                   	nop
403e6a:	90                   	nop
403e6b:	90                   	nop
403e6c:	90                   	nop
403e6d:	90                   	nop
403e6e:	90                   	nop
403e6f:	90                   	nop
403e70:	0f ac db 02          	shrd   $0x2,%ebx,%ebx
403e74:	31 d6                	xor    %edx,%esi
403e76:	c4 e3 71 0f e0 08    	vpalignr $0x8,%xmm0,%xmm1,%xmm4
403e7c:	89 c5                	mov    %eax,%ebp
403e7e:	03 3c 24             	add    (%esp),%edi
403e81:	c5 c1 fe fb          	vpaddd %xmm3,%xmm7,%xmm7
403e85:	c5 f9 7f 44 24 40    	vmovdqa %xmm0,0x40(%esp)
403e8b:	31 cb                	xor    %ecx,%ebx
403e8d:	0f a4 c0 05          	shld   $0x5,%eax,%eax
403e91:	c5 c9 73 db 04       	vpsrldq $0x4,%xmm3,%xmm6
403e96:	01 f7                	add    %esi,%edi
403e98:	21 dd                	and    %ebx,%ebp
403e9a:	c5 d9 ef e0          	vpxor  %xmm0,%xmm4,%xmm4
403e9e:	31 cb                	xor    %ecx,%ebx
403ea0:	01 c7                	add    %eax,%edi
403ea2:	c5 c9 ef f2          	vpxor  %xmm2,%xmm6,%xmm6
403ea6:	0f ac c0 07          	shrd   $0x7,%eax,%eax
403eaa:	31 cd                	xor    %ecx,%ebp
403eac:	c5 f9 7f 7c 24 30    	vmovdqa %xmm7,0x30(%esp)
403eb2:	89 fe                	mov    %edi,%esi
403eb4:	03 54 24 04          	add    0x4(%esp),%edx
403eb8:	c5 d9 ef e6          	vpxor  %xmm6,%xmm4,%xmm4
403ebc:	31 d8                	xor    %ebx,%eax
403ebe:	0f a4 ff 05          	shld   $0x5,%edi,%edi
403ec2:	01 ea                	add    %ebp,%edx
403ec4:	21 c6                	and    %eax,%esi
403ec6:	c5 c9 72 d4 1f       	vpsrld $0x1f,%xmm4,%xmm6
403ecb:	31 d8                	xor    %ebx,%eax
403ecd:	01 fa                	add    %edi,%edx
403ecf:	0f ac ff 07          	shrd   $0x7,%edi,%edi
403ed3:	31 de                	xor    %ebx,%esi
403ed5:	c5 f9 73 fc 0c       	vpslldq $0xc,%xmm4,%xmm0
403eda:	c5 d9 fe e4          	vpaddd %xmm4,%xmm4,%xmm4
403ede:	89 d5                	mov    %edx,%ebp
403ee0:	03 4c 24 08          	add    0x8(%esp),%ecx
403ee4:	31 c7                	xor    %eax,%edi
403ee6:	0f a4 d2 05          	shld   $0x5,%edx,%edx
403eea:	c5 c1 72 d0 1e       	vpsrld $0x1e,%xmm0,%xmm7
403eef:	c5 d9 eb e6          	vpor   %xmm6,%xmm4,%xmm4
403ef3:	01 f1                	add    %esi,%ecx
403ef5:	21 fd                	and    %edi,%ebp
403ef7:	31 c7                	xor    %eax,%edi
403ef9:	01 d1                	add    %edx,%ecx
403efb:	c5 f9 72 f0 02       	vpslld $0x2,%xmm0,%xmm0
403f00:	0f ac d2 07          	shrd   $0x7,%edx,%edx
403f04:	31 c5                	xor    %eax,%ebp
403f06:	c5 d9 ef e7          	vpxor  %xmm7,%xmm4,%xmm4
403f0a:	89 ce                	mov    %ecx,%esi
403f0c:	03 5c 24 0c          	add    0xc(%esp),%ebx
403f10:	31 fa                	xor    %edi,%edx
403f12:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
403f16:	c5 d9 ef e0          	vpxor  %xmm0,%xmm4,%xmm4
403f1a:	01 eb                	add    %ebp,%ebx
403f1c:	21 d6                	and    %edx,%esi
403f1e:	c5 f9 6f 44 24 60    	vmovdqa 0x60(%esp),%xmm0
403f24:	31 fa                	xor    %edi,%edx
403f26:	01 cb                	add    %ecx,%ebx
403f28:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
403f2c:	31 fe                	xor    %edi,%esi
403f2e:	c4 e3 69 0f e9 08    	vpalignr $0x8,%xmm1,%xmm2,%xmm5
403f34:	89 dd                	mov    %ebx,%ebp
403f36:	03 44 24 10          	add    0x10(%esp),%eax
403f3a:	c5 f9 fe c4          	vpaddd %xmm4,%xmm0,%xmm0
403f3e:	c5 f9 7f 4c 24 50    	vmovdqa %xmm1,0x50(%esp)
403f44:	31 d1                	xor    %edx,%ecx
403f46:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
403f4a:	c5 c1 73 dc 04       	vpsrldq $0x4,%xmm4,%xmm7
403f4f:	01 f0                	add    %esi,%eax
403f51:	21 cd                	and    %ecx,%ebp
403f53:	c5 d1 ef e9          	vpxor  %xmm1,%xmm5,%xmm5
403f57:	31 d1                	xor    %edx,%ecx
403f59:	01 d8                	add    %ebx,%eax
403f5b:	c5 c1 ef fb          	vpxor  %xmm3,%xmm7,%xmm7
403f5f:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
403f63:	31 d5                	xor    %edx,%ebp
403f65:	c5 f9 7f 04 24       	vmovdqa %xmm0,(%esp)
403f6a:	89 c6                	mov    %eax,%esi
403f6c:	03 7c 24 14          	add    0x14(%esp),%edi
403f70:	c5 d1 ef ef          	vpxor  %xmm7,%xmm5,%xmm5
403f74:	31 cb                	xor    %ecx,%ebx
403f76:	0f a4 c0 05          	shld   $0x5,%eax,%eax
403f7a:	01 ef                	add    %ebp,%edi
403f7c:	21 de                	and    %ebx,%esi
403f7e:	c5 c1 72 d5 1f       	vpsrld $0x1f,%xmm5,%xmm7
403f83:	31 cb                	xor    %ecx,%ebx
403f85:	01 c7                	add    %eax,%edi
403f87:	0f ac c0 07          	shrd   $0x7,%eax,%eax
403f8b:	31 ce                	xor    %ecx,%esi
403f8d:	c5 f1 73 fd 0c       	vpslldq $0xc,%xmm5,%xmm1
403f92:	c5 d1 fe ed          	vpaddd %xmm5,%xmm5,%xmm5
403f96:	89 fd                	mov    %edi,%ebp
403f98:	03 54 24 18          	add    0x18(%esp),%edx
403f9c:	31 d8                	xor    %ebx,%eax
403f9e:	0f a4 ff 05          	shld   $0x5,%edi,%edi
403fa2:	c5 f9 72 d1 1e       	vpsrld $0x1e,%xmm1,%xmm0
403fa7:	c5 d1 eb ef          	vpor   %xmm7,%xmm5,%xmm5
403fab:	01 f2                	add    %esi,%edx
403fad:	21 c5                	and    %eax,%ebp
403faf:	31 d8                	xor    %ebx,%eax
403fb1:	01 fa                	add    %edi,%edx
403fb3:	c5 f1 72 f1 02       	vpslld $0x2,%xmm1,%xmm1
403fb8:	0f ac ff 07          	shrd   $0x7,%edi,%edi
403fbc:	31 dd                	xor    %ebx,%ebp
403fbe:	c5 d1 ef e8          	vpxor  %xmm0,%xmm5,%xmm5
403fc2:	89 d6                	mov    %edx,%esi
403fc4:	03 4c 24 1c          	add    0x1c(%esp),%ecx
403fc8:	31 c7                	xor    %eax,%edi
403fca:	0f a4 d2 05          	shld   $0x5,%edx,%edx
403fce:	c5 d1 ef e9          	vpxor  %xmm1,%xmm5,%xmm5
403fd2:	01 e9                	add    %ebp,%ecx
403fd4:	21 fe                	and    %edi,%esi
403fd6:	c5 f9 6f 4c 24 70    	vmovdqa 0x70(%esp),%xmm1
403fdc:	31 c7                	xor    %eax,%edi
403fde:	01 d1                	add    %edx,%ecx
403fe0:	0f ac d2 07          	shrd   $0x7,%edx,%edx
403fe4:	31 c6                	xor    %eax,%esi
403fe6:	c4 e3 61 0f f2 08    	vpalignr $0x8,%xmm2,%xmm3,%xmm6
403fec:	89 cd                	mov    %ecx,%ebp
403fee:	03 5c 24 20          	add    0x20(%esp),%ebx
403ff2:	c5 f1 fe cd          	vpaddd %xmm5,%xmm1,%xmm1
403ff6:	c5 f9 7f 54 24 60    	vmovdqa %xmm2,0x60(%esp)
403ffc:	31 fa                	xor    %edi,%edx
403ffe:	0f a4 c9 05          	shld   $0x5,%ecx,%ecx
404002:	c5 f9 73 dd 04       	vpsrldq $0x4,%xmm5,%xmm0
404007:	01 f3                	add    %esi,%ebx
404009:	21 d5                	and    %edx,%ebp
40400b:	c5 c9 ef f2          	vpxor  %xmm2,%xmm6,%xmm6
40400f:	31 fa                	xor    %edi,%edx
404011:	01 cb                	add    %ecx,%ebx
404013:	c5 f9 ef c4          	vpxor  %xmm4,%xmm0,%xmm0
404017:	0f ac c9 07          	shrd   $0x7,%ecx,%ecx
40401b:	31 fd                	xor    %edi,%ebp
40401d:	c5 f9 7f 4c 24 10    	vmovdqa %xmm1,0x10(%esp)
404023:	89 de                	mov    %ebx,%esi
404025:	03 44 24 24          	add    0x24(%esp),%eax
404029:	c5 c9 ef f0          	vpxor  %xmm0,%xmm6,%xmm6
40402d:	31 d1                	xor    %edx,%ecx
40402f:	0f a4 db 05          	shld   $0x5,%ebx,%ebx
404033:	01 e8                	add    %ebp,%eax
404035:	21 ce                	and    %ecx,%esi
404037:	c5 f9 72 d6 1f       	vpsrld $0x1f,%xmm6,%xmm0
40403c:	31 d1                	xor    %edx,%ecx
40403e:	01 d8                	add    %ebx,%eax
404040:	0f ac db 07          	shrd   $0x7,%ebx,%ebx
404044:	31 d6                	xor    %edx,%esi
404046:	c5 e9 73 fe 0c       	vpslldq $0xc,%xmm6,%xmm2
40404b:	c5 c9 fe f6          	vpaddd %xmm6,%xmm6,%xmm6
40404f:	89 c5                	mov    %eax,%ebp
404051:	03 7c 24 28          	add    0x28(%esp),%edi
404055:	31 cb                	xor    %ecx,%ebx
404057:	0f a4 c0 05          	shld   $0x5,%eax,%eax
40405b:	c5 f1 72 d2 1e       	vpsrld $0x1e,%xmm2,%xmm1
404060:	c5 c9 eb f0          	vpor   %xmm0,%xmm6,%xmm6
404064:	01 f7                	add    %esi,%edi
404066:	21 dd                	and    %ebx,%ebp
404068:	31 cb                	xor    %ecx,%ebx
40406a:	01 c7                	add    %eax,%edi
40406c:	c5 e9 72 f2 02       	vpslld $0x2,%xmm2,%xmm2
404071:	c5 f9 6f 44 24 40    	vmovdqa 0x40(%esp),%xmm0