41097b:	8b 45 f4             	mov    -0xc(%ebp),%eax
41097e:	c1 e1 04             	shl    $0x4,%ecx
410981:	89 4d f8             	mov    %ecx,-0x8(%ebp)
410984:	8d 14 03             	lea    (%ebx,%eax,1),%edx
410987:	03 c1                	add    %ecx,%eax
410989:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41098c:	50                   	push   %eax
41098d:	89 55 ec             	mov    %edx,-0x14(%ebp)
410990:	e8 1b 06 00 00       	call   0x410fb0
410995:	8d 04 33             	lea    (%ebx,%esi,1),%eax
410998:	8b ce                	mov    %esi,%ecx
41099a:	57                   	push   %edi
41099b:	50                   	push   %eax
41099c:	2b cb                	sub    %ebx,%ecx
41099e:	8b d6                	mov    %esi,%edx
4109a0:	e8 0b 06 00 00       	call   0x410fb0
4109a5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4109a8:	83 c0 e8             	add    $0xffffffe8,%eax
4109ab:	8b f8                	mov    %eax,%edi
4109ad:	2b fb                	sub    %ebx,%edi
4109af:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4109b2:	53                   	push   %ebx
4109b3:	50                   	push   %eax
4109b4:	2b 45 f8             	sub    -0x8(%ebp),%eax
4109b7:	8b d7                	mov    %edi,%edx
4109b9:	8b c8                	mov    %eax,%ecx
4109bb:	e8 f0 05 00 00       	call   0x410fb0
4109c0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4109c3:	8b d6                	mov    %esi,%edx
4109c5:	53                   	push   %ebx
4109c6:	57                   	push   %edi
4109c7:	e8 e4 05 00 00       	call   0x410fb0
4109cc:	83 c4 20             	add    $0x20,%esp
4109cf:	eb 10                	jmp    0x4109e1
4109d1:	ff 75 fc             	push   -0x4(%ebp)
4109d4:	8b d6                	mov    %esi,%edx
4109d6:	8b cb                	mov    %ebx,%ecx
4109d8:	57                   	push   %edi
4109d9:	e8 d2 05 00 00       	call   0x410fb0
4109de:	83 c4 08             	add    $0x8,%esp
4109e1:	8d 5e 18             	lea    0x18(%esi),%ebx
4109e4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4109e7:	39 75 f4             	cmp    %esi,-0xc(%ebp)
4109ea:	73 61                	jae    0x410a4d
4109ec:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4109ef:	8d 7e e8             	lea    -0x18(%esi),%edi
4109f2:	83 7f 2c 08          	cmpl   $0x8,0x2c(%edi)
4109f6:	8b c6                	mov    %esi,%eax
4109f8:	72 02                	jb     0x4109fc
4109fa:	8b 06                	mov    (%esi),%eax
4109fc:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
410a00:	8b cf                	mov    %edi,%ecx
410a02:	72 02                	jb     0x410a06
410a04:	8b 0f                	mov    (%edi),%ecx
410a06:	ff 77 28             	push   0x28(%edi)
410a09:	8b 57 10             	mov    0x10(%edi),%edx
410a0c:	50                   	push   %eax
410a0d:	e8 6e 46 ff ff       	call   0x405080
410a12:	83 c4 08             	add    $0x8,%esp
410a15:	85 c0                	test   %eax,%eax
410a17:	78 31                	js     0x410a4a
410a19:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
410a1d:	8b c7                	mov    %edi,%eax
410a1f:	72 02                	jb     0x410a23
410a21:	8b 07                	mov    (%edi),%eax
410a23:	83 7f 2c 08          	cmpl   $0x8,0x2c(%edi)
410a27:	8b ce                	mov    %esi,%ecx
410a29:	72 02                	jb     0x410a2d
410a2b:	8b 0e                	mov    (%esi),%ecx
410a2d:	ff 77 10             	push   0x10(%edi)
410a30:	8b 57 28             	mov    0x28(%edi),%edx
410a33:	50                   	push   %eax
410a34:	e8 47 46 ff ff       	call   0x405080
410a39:	83 c4 08             	add    $0x8,%esp
410a3c:	85 c0                	test   %eax,%eax
410a3e:	78 0a                	js     0x410a4a
410a40:	83 ee 18             	sub    $0x18,%esi
410a43:	83 ef 18             	sub    $0x18,%edi
410a46:	3b de                	cmp    %esi,%ebx
410a48:	72 a8                	jb     0x4109f2
410a4a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
410a4d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410a50:	3b d9                	cmp    %ecx,%ebx
410a52:	73 61                	jae    0x410ab5
410a54:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
410a58:	8b c6                	mov    %esi,%eax
410a5a:	72 02                	jb     0x410a5e
410a5c:	8b 06                	mov    (%esi),%eax
410a5e:	8b 7b 14             	mov    0x14(%ebx),%edi
410a61:	8b cb                	mov    %ebx,%ecx
410a63:	83 ff 08             	cmp    $0x8,%edi
410a66:	72 02                	jb     0x410a6a
410a68:	8b 0b                	mov    (%ebx),%ecx
410a6a:	ff 76 10             	push   0x10(%esi)
410a6d:	8b 53 10             	mov    0x10(%ebx),%edx
410a70:	50                   	push   %eax
410a71:	e8 0a 46 ff ff       	call   0x405080
410a76:	83 c4 08             	add    $0x8,%esp
410a79:	85 c0                	test   %eax,%eax
410a7b:	78 32                	js     0x410aaf
410a7d:	8b c3                	mov    %ebx,%eax
410a7f:	83 ff 08             	cmp    $0x8,%edi
410a82:	72 02                	jb     0x410a86
410a84:	8b 03                	mov    (%ebx),%eax
410a86:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
410a8a:	8b ce                	mov    %esi,%ecx
410a8c:	72 02                	jb     0x410a90
410a8e:	8b 0e                	mov    (%esi),%ecx
410a90:	ff 73 10             	push   0x10(%ebx)
410a93:	8b 56 10             	mov    0x10(%esi),%edx
410a96:	50                   	push   %eax
410a97:	e8 e4 45 ff ff       	call   0x405080
410a9c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410a9f:	83 c4 08             	add    $0x8,%esp
410aa2:	85 c0                	test   %eax,%eax
410aa4:	78 0c                	js     0x410ab2
410aa6:	83 c3 18             	add    $0x18,%ebx
410aa9:	3b d9                	cmp    %ecx,%ebx
410aab:	72 a7                	jb     0x410a54
410aad:	eb 03                	jmp    0x410ab2
410aaf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410ab2:	89 5d f8             	mov    %ebx,-0x8(%ebp)
410ab5:	8b c6                	mov    %esi,%eax
410ab7:	8b fb                	mov    %ebx,%edi
410ab9:	89 45 fc             	mov    %eax,-0x4(%ebp)
410abc:	0f 1f 40 00          	nopl   0x0(%eax)
410ac0:	3b f9                	cmp    %ecx,%edi
410ac2:	0f 83 83 00 00 00    	jae    0x410b4b
410ac8:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
410acc:	8b c7                	mov    %edi,%eax
410ace:	72 02                	jb     0x410ad2
410ad0:	8b 07                	mov    (%edi),%eax
410ad2:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
410ad6:	8b ce                	mov    %esi,%ecx
410ad8:	72 02                	jb     0x410adc
410ada:	8b 0e                	mov    (%esi),%ecx
410adc:	ff 77 10             	push   0x10(%edi)
410adf:	8b 56 10             	mov    0x10(%esi),%edx
410ae2:	50                   	push   %eax
410ae3:	e8 98 45 ff ff       	call   0x405080
410ae8:	83 c4 08             	add    $0x8,%esp
410aeb:	85 c0                	test   %eax,%eax
410aed:	78 4e                	js     0x410b3d
410aef:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
410af3:	8b c6                	mov    %esi,%eax
410af5:	72 02                	jb     0x410af9
410af7:	8b 06                	mov    (%esi),%eax
410af9:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
410afd:	8b cf                	mov    %edi,%ecx
410aff:	72 02                	jb     0x410b03
410b01:	8b 0f                	mov    (%edi),%ecx
410b03:	ff 76 10             	push   0x10(%esi)
410b06:	8b 57 10             	mov    0x10(%edi),%edx
410b09:	50                   	push   %eax
410b0a:	e8 71 45 ff ff       	call   0x405080
410b0f:	83 c4 08             	add    $0x8,%esp
410b12:	85 c0                	test   %eax,%eax
410b14:	78 2f                	js     0x410b45
410b16:	3b df                	cmp    %edi,%ebx
410b18:	74 20                	je     0x410b3a
410b1a:	0f 10 07             	movups (%edi),%xmm0
410b1d:	0f 10 0b             	movups (%ebx),%xmm1
410b20:	f3 0f 7e 53 10       	movq   0x10(%ebx),%xmm2
410b25:	0f 11 03             	movups %xmm0,(%ebx)
410b28:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
410b2d:	66 0f d6 43 10       	movq   %xmm0,0x10(%ebx)
410b32:	0f 11 0f             	movups %xmm1,(%edi)
410b35:	66 0f d6 57 10       	movq   %xmm2,0x10(%edi)
410b3a:	83 c3 18             	add    $0x18,%ebx
410b3d:	83 c7 18             	add    $0x18,%edi
410b40:	3b 7d f0             	cmp    -0x10(%ebp),%edi
410b43:	72 83                	jb     0x410ac8
410b45:	8b 45 fc             	mov    -0x4(%ebp),%eax
410b48:	89 5d f8             	mov    %ebx,-0x8(%ebp)
410b4b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410b4e:	3b c1                	cmp    %ecx,%eax
410b50:	0f 86 a0 00 00 00    	jbe    0x410bf6
410b56:	8d 58 e8             	lea    -0x18(%eax),%ebx
410b59:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
410b60:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
410b64:	8b c6                	mov    %esi,%eax
410b66:	72 02                	jb     0x410b6a
410b68:	8b 06                	mov    (%esi),%eax
410b6a:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
410b6e:	8b cb                	mov    %ebx,%ecx
410b70:	72 02                	jb     0x410b74
410b72:	8b 0b                	mov    (%ebx),%ecx
410b74:	ff 76 10             	push   0x10(%esi)
410b77:	8b 53 10             	mov    0x10(%ebx),%edx
410b7a:	50                   	push   %eax
410b7b:	e8 00 45 ff ff       	call   0x405080
410b80:	83 c4 08             	add    $0x8,%esp
410b83:	85 c0                	test   %eax,%eax
410b85:	78 4e                	js     0x410bd5
410b87:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
410b8b:	8b c3                	mov    %ebx,%eax
410b8d:	72 02                	jb     0x410b91
410b8f:	8b 03                	mov    (%ebx),%eax
410b91:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
410b95:	8b ce                	mov    %esi,%ecx
410b97:	72 02                	jb     0x410b9b
410b99:	8b 0e                	mov    (%esi),%ecx
410b9b:	ff 73 10             	push   0x10(%ebx)
410b9e:	8b 56 10             	mov    0x10(%esi),%edx
410ba1:	50                   	push   %eax
410ba2:	e8 d9 44 ff ff       	call   0x405080
410ba7:	83 c4 08             	add    $0x8,%esp
410baa:	85 c0                	test   %eax,%eax
410bac:	78 40                	js     0x410bee
410bae:	83 ee 18             	sub    $0x18,%esi
410bb1:	3b f3                	cmp    %ebx,%esi
410bb3:	74 20                	je     0x410bd5
410bb5:	0f 10 03             	movups (%ebx),%xmm0
410bb8:	0f 10 0e             	movups (%esi),%xmm1
410bbb:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
410bc0:	0f 11 06             	movups %xmm0,(%esi)
410bc3:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
410bc8:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
410bcd:	0f 11 0b             	movups %xmm1,(%ebx)
410bd0:	66 0f d6 53 10       	movq   %xmm2,0x10(%ebx)
410bd5:	8b 45 fc             	mov    -0x4(%ebp),%eax
410bd8:	83 eb 18             	sub    $0x18,%ebx
410bdb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410bde:	83 e8 18             	sub    $0x18,%eax
410be1:	89 45 fc             	mov    %eax,-0x4(%ebp)
410be4:	3b c8                	cmp    %eax,%ecx
410be6:	0f 82 74 ff ff ff    	jb     0x410b60
410bec:	eb 06                	jmp    0x410bf4
410bee:	8b 45 fc             	mov    -0x4(%ebp),%eax
410bf1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410bf4:	3b c1                	cmp    %ecx,%eax
410bf6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410bf9:	75 68                	jne    0x410c63
410bfb:	3b f9                	cmp    %ecx,%edi
410bfd:	0f 84 f9 00 00 00    	je     0x410cfc
410c03:	8b 5d f8             	mov    -0x8(%ebp),%ebx
410c06:	3b df                	cmp    %edi,%ebx
410c08:	74 24                	je     0x410c2e
410c0a:	3b f3                	cmp    %ebx,%esi
410c0c:	74 20                	je     0x410c2e
410c0e:	0f 10 03             	movups (%ebx),%xmm0
410c11:	0f 10 0e             	movups (%esi),%xmm1
410c14:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
410c19:	0f 11 06             	movups %xmm0,(%esi)
410c1c:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
410c21:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
410c26:	0f 11 0b             	movups %xmm1,(%ebx)
410c29:	66 0f d6 53 10       	movq   %xmm2,0x10(%ebx)
410c2e:	83 c3 18             	add    $0x18,%ebx
410c31:	89 5d f8             	mov    %ebx,-0x8(%ebp)
410c34:	3b f7                	cmp    %edi,%esi
410c36:	74 20                	je     0x410c58
410c38:	0f 10 07             	movups (%edi),%xmm0
410c3b:	0f 10 0e             	movups (%esi),%xmm1
410c3e:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
410c43:	0f 11 06             	movups %xmm0,(%esi)
410c46:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
410c4b:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
410c50:	0f 11 0f             	movups %xmm1,(%edi)
410c53:	66 0f d6 57 10       	movq   %xmm2,0x10(%edi)
410c58:	83 c6 18             	add    $0x18,%esi
410c5b:	83 c7 18             	add    $0x18,%edi
410c5e:	e9 5d fe ff ff       	jmp    0x410ac0
410c63:	83 c0 e8             	add    $0xffffffe8,%eax
410c66:	89 45 fc             	mov    %eax,-0x4(%ebp)
410c69:	3b f9                	cmp    %ecx,%edi
410c6b:	75 5d                	jne    0x410cca
410c6d:	83 ee 18             	sub    $0x18,%esi
410c70:	3b c6                	cmp    %esi,%eax
410c72:	74 20                	je     0x410c94
410c74:	0f 10 06             	movups (%esi),%xmm0
410c77:	0f 10 08             	movups (%eax),%xmm1
410c7a:	f3 0f 7e 50 10       	movq   0x10(%eax),%xmm2
410c7f:	0f 11 00             	movups %xmm0,(%eax)
410c82:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
410c87:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
410c8c:	0f 11 0e             	movups %xmm1,(%esi)
410c8f:	66 0f d6 56 10       	movq   %xmm2,0x10(%esi)
410c94:	8b 5d f8             	mov    -0x8(%ebp),%ebx
410c97:	83 eb 18             	sub    $0x18,%ebx
410c9a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
410c9d:	3b f3                	cmp    %ebx,%esi
410c9f:	0f 84 1b fe ff ff    	je     0x410ac0
410ca5:	0f 10 03             	movups (%ebx),%xmm0
410ca8:	0f 10 0e             	movups (%esi),%xmm1
410cab:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
410cb0:	0f 11 06             	movups %xmm0,(%esi)
410cb3:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
410cb8:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
410cbd:	0f 11 0b             	movups %xmm1,(%ebx)
410cc0:	66 0f d6 53 10       	movq   %xmm2,0x10(%ebx)
410cc5:	e9 f6 fd ff ff       	jmp    0x410ac0
410cca:	89 45 fc             	mov    %eax,-0x4(%ebp)
410ccd:	3b f8                	cmp    %eax,%edi
410ccf:	74 20                	je     0x410cf1
410cd1:	0f 10 00             	movups (%eax),%xmm0
410cd4:	0f 10 0f             	movups (%edi),%xmm1
410cd7:	f3 0f 7e 57 10       	movq   0x10(%edi),%xmm2
410cdc:	0f 11 07             	movups %xmm0,(%edi)
410cdf:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
410ce4:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
410ce9:	0f 11 08             	movups %xmm1,(%eax)
410cec:	66 0f d6 50 10       	movq   %xmm2,0x10(%eax)
410cf1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
410cf4:	83 c7 18             	add    $0x18,%edi
410cf7:	e9 c4 fd ff ff       	jmp    0x410ac0
410cfc:	8b 45 e8             	mov    -0x18(%ebp),%eax
410cff:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410d02:	5f                   	pop    %edi
410d03:	89 30                	mov    %esi,(%eax)
410d05:	5e                   	pop    %esi
410d06:	89 48 04             	mov    %ecx,0x4(%eax)
410d09:	5b                   	pop    %ebx
410d0a:	8b e5                	mov    %ebp,%esp
410d0c:	5d                   	pop    %ebp
410d0d:	c3                   	ret
410d0e:	cc                   	int3
410d0f:	cc                   	int3
410d10:	56                   	push   %esi
410d11:	8b f1                	mov    %ecx,%esi
410d13:	8b 4e 2c             	mov    0x2c(%esi),%ecx
410d16:	83 f9 08             	cmp    $0x8,%ecx
410d19:	72 2e                	jb     0x410d49
410d1b:	8b 46 18             	mov    0x18(%esi),%eax
410d1e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410d25:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
410d2b:	72 12                	jb     0x410d3f
410d2d:	8b 50 fc             	mov    -0x4(%eax),%edx
410d30:	83 c1 23             	add    $0x23,%ecx
410d33:	2b c2                	sub    %edx,%eax
410d35:	83 c0 fc             	add    $0xfffffffc,%eax
410d38:	83 f8 1f             	cmp    $0x1f,%eax
410d3b:	77 6a                	ja     0x410da7
410d3d:	8b c2                	mov    %edx,%eax
410d3f:	51                   	push   %ecx
410d40:	50                   	push   %eax
410d41:	e8 72 8e 00 00       	call   0x419bb8
410d46:	83 c4 08             	add    $0x8,%esp
410d49:	33 c0                	xor    %eax,%eax
410d4b:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
410d52:	c7 46 2c 07 00 00 00 	movl   $0x7,0x2c(%esi)
410d59:	66 89 46 18          	mov    %ax,0x18(%esi)
410d5d:	8b 4e 14             	mov    0x14(%esi),%ecx
410d60:	83 f9 08             	cmp    $0x8,%ecx
410d63:	72 2d                	jb     0x410d92
410d65:	8b 06                	mov    (%esi),%eax
410d67:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410d6e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
410d74:	72 12                	jb     0x410d88
410d76:	8b 50 fc             	mov    -0x4(%eax),%edx