40daca:	57                   	push   %edi
40dacb:	50                   	push   %eax
40dacc:	2b cb                	sub    %ebx,%ecx
40dace:	8b d6                	mov    %esi,%edx
40dad0:	e8 3b 07 00 00       	call   0x40e210
40dad5:	8b 45 f0             	mov    -0x10(%ebp),%eax
40dad8:	83 c0 e8             	add    $0xffffffe8,%eax
40dadb:	8b f8                	mov    %eax,%edi
40dadd:	2b fb                	sub    %ebx,%edi
40dadf:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40dae2:	53                   	push   %ebx
40dae3:	50                   	push   %eax
40dae4:	2b 45 f8             	sub    -0x8(%ebp),%eax
40dae7:	8b d7                	mov    %edi,%edx
40dae9:	8b c8                	mov    %eax,%ecx
40daeb:	e8 20 07 00 00       	call   0x40e210
40daf0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40daf3:	8b d6                	mov    %esi,%edx
40daf5:	53                   	push   %ebx
40daf6:	57                   	push   %edi
40daf7:	e8 14 07 00 00       	call   0x40e210
40dafc:	83 c4 20             	add    $0x20,%esp
40daff:	eb 10                	jmp    0x40db11
40db01:	ff 75 fc             	push   -0x4(%ebp)
40db04:	8b d6                	mov    %esi,%edx
40db06:	8b cb                	mov    %ebx,%ecx
40db08:	57                   	push   %edi
40db09:	e8 02 07 00 00       	call   0x40e210
40db0e:	83 c4 08             	add    $0x8,%esp
40db11:	8d 5e 18             	lea    0x18(%esi),%ebx
40db14:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40db17:	39 75 f4             	cmp    %esi,-0xc(%ebp)
40db1a:	73 61                	jae    0x40db7d
40db1c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40db1f:	8d 7e e8             	lea    -0x18(%esi),%edi
40db22:	83 7f 2c 08          	cmpl   $0x8,0x2c(%edi)
40db26:	8b c6                	mov    %esi,%eax
40db28:	72 02                	jb     0x40db2c
40db2a:	8b 06                	mov    (%esi),%eax
40db2c:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40db30:	8b cf                	mov    %edi,%ecx
40db32:	72 02                	jb     0x40db36
40db34:	8b 0f                	mov    (%edi),%ecx
40db36:	ff 77 28             	push   0x28(%edi)
40db39:	8b 57 10             	mov    0x10(%edi),%edx
40db3c:	50                   	push   %eax
40db3d:	e8 5e 49 ff ff       	call   0x4024a0
40db42:	83 c4 08             	add    $0x8,%esp
40db45:	85 c0                	test   %eax,%eax
40db47:	78 31                	js     0x40db7a
40db49:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40db4d:	8b c7                	mov    %edi,%eax
40db4f:	72 02                	jb     0x40db53
40db51:	8b 07                	mov    (%edi),%eax
40db53:	83 7f 2c 08          	cmpl   $0x8,0x2c(%edi)
40db57:	8b ce                	mov    %esi,%ecx
40db59:	72 02                	jb     0x40db5d
40db5b:	8b 0e                	mov    (%esi),%ecx
40db5d:	ff 77 10             	push   0x10(%edi)
40db60:	8b 57 28             	mov    0x28(%edi),%edx
40db63:	50                   	push   %eax
40db64:	e8 37 49 ff ff       	call   0x4024a0
40db69:	83 c4 08             	add    $0x8,%esp
40db6c:	85 c0                	test   %eax,%eax
40db6e:	78 0a                	js     0x40db7a
40db70:	83 ee 18             	sub    $0x18,%esi
40db73:	83 ef 18             	sub    $0x18,%edi
40db76:	3b de                	cmp    %esi,%ebx
40db78:	72 a8                	jb     0x40db22
40db7a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40db7d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40db80:	3b d9                	cmp    %ecx,%ebx
40db82:	73 61                	jae    0x40dbe5
40db84:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40db88:	8b c6                	mov    %esi,%eax
40db8a:	72 02                	jb     0x40db8e
40db8c:	8b 06                	mov    (%esi),%eax
40db8e:	8b 7b 14             	mov    0x14(%ebx),%edi
40db91:	8b cb                	mov    %ebx,%ecx
40db93:	83 ff 08             	cmp    $0x8,%edi
40db96:	72 02                	jb     0x40db9a
40db98:	8b 0b                	mov    (%ebx),%ecx
40db9a:	ff 76 10             	push   0x10(%esi)
40db9d:	8b 53 10             	mov    0x10(%ebx),%edx
40dba0:	50                   	push   %eax
40dba1:	e8 fa 48 ff ff       	call   0x4024a0
40dba6:	83 c4 08             	add    $0x8,%esp
40dba9:	85 c0                	test   %eax,%eax
40dbab:	78 32                	js     0x40dbdf
40dbad:	8b c3                	mov    %ebx,%eax
40dbaf:	83 ff 08             	cmp    $0x8,%edi
40dbb2:	72 02                	jb     0x40dbb6
40dbb4:	8b 03                	mov    (%ebx),%eax
40dbb6:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40dbba:	8b ce                	mov    %esi,%ecx
40dbbc:	72 02                	jb     0x40dbc0
40dbbe:	8b 0e                	mov    (%esi),%ecx
40dbc0:	ff 73 10             	push   0x10(%ebx)
40dbc3:	8b 56 10             	mov    0x10(%esi),%edx
40dbc6:	50                   	push   %eax
40dbc7:	e8 d4 48 ff ff       	call   0x4024a0
40dbcc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40dbcf:	83 c4 08             	add    $0x8,%esp
40dbd2:	85 c0                	test   %eax,%eax
40dbd4:	78 0c                	js     0x40dbe2
40dbd6:	83 c3 18             	add    $0x18,%ebx
40dbd9:	3b d9                	cmp    %ecx,%ebx
40dbdb:	72 a7                	jb     0x40db84
40dbdd:	eb 03                	jmp    0x40dbe2
40dbdf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40dbe2:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40dbe5:	8b c6                	mov    %esi,%eax
40dbe7:	8b fb                	mov    %ebx,%edi
40dbe9:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dbec:	0f 1f 40 00          	nopl   0x0(%eax)
40dbf0:	3b f9                	cmp    %ecx,%edi
40dbf2:	0f 83 83 00 00 00    	jae    0x40dc7b
40dbf8:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40dbfc:	8b c7                	mov    %edi,%eax
40dbfe:	72 02                	jb     0x40dc02
40dc00:	8b 07                	mov    (%edi),%eax
40dc02:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40dc06:	8b ce                	mov    %esi,%ecx
40dc08:	72 02                	jb     0x40dc0c
40dc0a:	8b 0e                	mov    (%esi),%ecx
40dc0c:	ff 77 10             	push   0x10(%edi)
40dc0f:	8b 56 10             	mov    0x10(%esi),%edx
40dc12:	50                   	push   %eax
40dc13:	e8 88 48 ff ff       	call   0x4024a0
40dc18:	83 c4 08             	add    $0x8,%esp
40dc1b:	85 c0                	test   %eax,%eax
40dc1d:	78 4e                	js     0x40dc6d
40dc1f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40dc23:	8b c6                	mov    %esi,%eax
40dc25:	72 02                	jb     0x40dc29
40dc27:	8b 06                	mov    (%esi),%eax
40dc29:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40dc2d:	8b cf                	mov    %edi,%ecx
40dc2f:	72 02                	jb     0x40dc33
40dc31:	8b 0f                	mov    (%edi),%ecx
40dc33:	ff 76 10             	push   0x10(%esi)
40dc36:	8b 57 10             	mov    0x10(%edi),%edx
40dc39:	50                   	push   %eax
40dc3a:	e8 61 48 ff ff       	call   0x4024a0
40dc3f:	83 c4 08             	add    $0x8,%esp
40dc42:	85 c0                	test   %eax,%eax
40dc44:	78 2f                	js     0x40dc75
40dc46:	3b df                	cmp    %edi,%ebx
40dc48:	74 20                	je     0x40dc6a
40dc4a:	0f 10 07             	movups (%edi),%xmm0
40dc4d:	0f 10 0b             	movups (%ebx),%xmm1
40dc50:	f3 0f 7e 53 10       	movq   0x10(%ebx),%xmm2
40dc55:	0f 11 03             	movups %xmm0,(%ebx)
40dc58:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
40dc5d:	66 0f d6 43 10       	movq   %xmm0,0x10(%ebx)
40dc62:	0f 11 0f             	movups %xmm1,(%edi)
40dc65:	66 0f d6 57 10       	movq   %xmm2,0x10(%edi)
40dc6a:	83 c3 18             	add    $0x18,%ebx
40dc6d:	83 c7 18             	add    $0x18,%edi
40dc70:	3b 7d f0             	cmp    -0x10(%ebp),%edi
40dc73:	72 83                	jb     0x40dbf8
40dc75:	8b 45 fc             	mov    -0x4(%ebp),%eax
40dc78:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40dc7b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40dc7e:	3b c1                	cmp    %ecx,%eax
40dc80:	0f 86 a0 00 00 00    	jbe    0x40dd26
40dc86:	8d 58 e8             	lea    -0x18(%eax),%ebx
40dc89:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
40dc90:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40dc94:	8b c6                	mov    %esi,%eax
40dc96:	72 02                	jb     0x40dc9a
40dc98:	8b 06                	mov    (%esi),%eax
40dc9a:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40dc9e:	8b cb                	mov    %ebx,%ecx
40dca0:	72 02                	jb     0x40dca4
40dca2:	8b 0b                	mov    (%ebx),%ecx
40dca4:	ff 76 10             	push   0x10(%esi)
40dca7:	8b 53 10             	mov    0x10(%ebx),%edx
40dcaa:	50                   	push   %eax
40dcab:	e8 f0 47 ff ff       	call   0x4024a0
40dcb0:	83 c4 08             	add    $0x8,%esp
40dcb3:	85 c0                	test   %eax,%eax
40dcb5:	78 4e                	js     0x40dd05
40dcb7:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40dcbb:	8b c3                	mov    %ebx,%eax
40dcbd:	72 02                	jb     0x40dcc1
40dcbf:	8b 03                	mov    (%ebx),%eax
40dcc1:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40dcc5:	8b ce                	mov    %esi,%ecx
40dcc7:	72 02                	jb     0x40dccb
40dcc9:	8b 0e                	mov    (%esi),%ecx
40dccb:	ff 73 10             	push   0x10(%ebx)
40dcce:	8b 56 10             	mov    0x10(%esi),%edx
40dcd1:	50                   	push   %eax
40dcd2:	e8 c9 47 ff ff       	call   0x4024a0
40dcd7:	83 c4 08             	add    $0x8,%esp
40dcda:	85 c0                	test   %eax,%eax
40dcdc:	78 40                	js     0x40dd1e
40dcde:	83 ee 18             	sub    $0x18,%esi
40dce1:	3b f3                	cmp    %ebx,%esi
40dce3:	74 20                	je     0x40dd05
40dce5:	0f 10 03             	movups (%ebx),%xmm0
40dce8:	0f 10 0e             	movups (%esi),%xmm1
40dceb:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
40dcf0:	0f 11 06             	movups %xmm0,(%esi)
40dcf3:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
40dcf8:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40dcfd:	0f 11 0b             	movups %xmm1,(%ebx)
40dd00:	66 0f d6 53 10       	movq   %xmm2,0x10(%ebx)
40dd05:	8b 45 fc             	mov    -0x4(%ebp),%eax
40dd08:	83 eb 18             	sub    $0x18,%ebx
40dd0b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40dd0e:	83 e8 18             	sub    $0x18,%eax
40dd11:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dd14:	3b c8                	cmp    %eax,%ecx
40dd16:	0f 82 74 ff ff ff    	jb     0x40dc90
40dd1c:	eb 06                	jmp    0x40dd24
40dd1e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40dd21:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40dd24:	3b c1                	cmp    %ecx,%eax
40dd26:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40dd29:	75 68                	jne    0x40dd93
40dd2b:	3b f9                	cmp    %ecx,%edi
40dd2d:	0f 84 f9 00 00 00    	je     0x40de2c
40dd33:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40dd36:	3b df                	cmp    %edi,%ebx
40dd38:	74 24                	je     0x40dd5e
40dd3a:	3b f3                	cmp    %ebx,%esi
40dd3c:	74 20                	je     0x40dd5e
40dd3e:	0f 10 03             	movups (%ebx),%xmm0
40dd41:	0f 10 0e             	movups (%esi),%xmm1
40dd44:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
40dd49:	0f 11 06             	movups %xmm0,(%esi)
40dd4c:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
40dd51:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40dd56:	0f 11 0b             	movups %xmm1,(%ebx)
40dd59:	66 0f d6 53 10       	movq   %xmm2,0x10(%ebx)
40dd5e:	83 c3 18             	add    $0x18,%ebx
40dd61:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40dd64:	3b f7                	cmp    %edi,%esi
40dd66:	74 20                	je     0x40dd88
40dd68:	0f 10 07             	movups (%edi),%xmm0
40dd6b:	0f 10 0e             	movups (%esi),%xmm1
40dd6e:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
40dd73:	0f 11 06             	movups %xmm0,(%esi)
40dd76:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
40dd7b:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40dd80:	0f 11 0f             	movups %xmm1,(%edi)
40dd83:	66 0f d6 57 10       	movq   %xmm2,0x10(%edi)
40dd88:	83 c6 18             	add    $0x18,%esi
40dd8b:	83 c7 18             	add    $0x18,%edi
40dd8e:	e9 5d fe ff ff       	jmp    0x40dbf0
40dd93:	83 c0 e8             	add    $0xffffffe8,%eax
40dd96:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dd99:	3b f9                	cmp    %ecx,%edi
40dd9b:	75 5d                	jne    0x40ddfa
40dd9d:	83 ee 18             	sub    $0x18,%esi
40dda0:	3b c6                	cmp    %esi,%eax
40dda2:	74 20                	je     0x40ddc4
40dda4:	0f 10 06             	movups (%esi),%xmm0
40dda7:	0f 10 08             	movups (%eax),%xmm1
40ddaa:	f3 0f 7e 50 10       	movq   0x10(%eax),%xmm2
40ddaf:	0f 11 00             	movups %xmm0,(%eax)
40ddb2:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
40ddb7:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
40ddbc:	0f 11 0e             	movups %xmm1,(%esi)
40ddbf:	66 0f d6 56 10       	movq   %xmm2,0x10(%esi)
40ddc4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40ddc7:	83 eb 18             	sub    $0x18,%ebx
40ddca:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40ddcd:	3b f3                	cmp    %ebx,%esi
40ddcf:	0f 84 1b fe ff ff    	je     0x40dbf0
40ddd5:	0f 10 03             	movups (%ebx),%xmm0
40ddd8:	0f 10 0e             	movups (%esi),%xmm1
40dddb:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
40dde0:	0f 11 06             	movups %xmm0,(%esi)
40dde3:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
40dde8:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40dded:	0f 11 0b             	movups %xmm1,(%ebx)
40ddf0:	66 0f d6 53 10       	movq   %xmm2,0x10(%ebx)
40ddf5:	e9 f6 fd ff ff       	jmp    0x40dbf0
40ddfa:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ddfd:	3b f8                	cmp    %eax,%edi
40ddff:	74 20                	je     0x40de21
40de01:	0f 10 00             	movups (%eax),%xmm0
40de04:	0f 10 0f             	movups (%edi),%xmm1
40de07:	f3 0f 7e 57 10       	movq   0x10(%edi),%xmm2
40de0c:	0f 11 07             	movups %xmm0,(%edi)
40de0f:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
40de14:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
40de19:	0f 11 08             	movups %xmm1,(%eax)
40de1c:	66 0f d6 50 10       	movq   %xmm2,0x10(%eax)
40de21:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40de24:	83 c7 18             	add    $0x18,%edi
40de27:	e9 c4 fd ff ff       	jmp    0x40dbf0
40de2c:	8b 45 e8             	mov    -0x18(%ebp),%eax
40de2f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40de32:	5f                   	pop    %edi
40de33:	89 30                	mov    %esi,(%eax)
40de35:	5e                   	pop    %esi
40de36:	89 48 04             	mov    %ecx,0x4(%eax)
40de39:	5b                   	pop    %ebx
40de3a:	8b e5                	mov    %ebp,%esp
40de3c:	5d                   	pop    %ebp
40de3d:	c3                   	ret
40de3e:	cc                   	int3
40de3f:	cc                   	int3
40de40:	56                   	push   %esi
40de41:	8b f1                	mov    %ecx,%esi
40de43:	8b 4e 2c             	mov    0x2c(%esi),%ecx
40de46:	83 f9 08             	cmp    $0x8,%ecx
40de49:	72 2e                	jb     0x40de79
40de4b:	8b 46 18             	mov    0x18(%esi),%eax
40de4e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40de55:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40de5b:	72 12                	jb     0x40de6f
40de5d:	8b 50 fc             	mov    -0x4(%eax),%edx
40de60:	83 c1 23             	add    $0x23,%ecx
40de63:	2b c2                	sub    %edx,%eax
40de65:	83 c0 fc             	add    $0xfffffffc,%eax
40de68:	83 f8 1f             	cmp    $0x1f,%eax
40de6b:	77 6a                	ja     0x40ded7
40de6d:	8b c2                	mov    %edx,%eax
40de6f:	51                   	push   %ecx
40de70:	50                   	push   %eax
40de71:	e8 98 da 00 00       	call   0x41b90e
40de76:	83 c4 08             	add    $0x8,%esp
40de79:	33 c0                	xor    %eax,%eax
40de7b:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
40de82:	c7 46 2c 07 00 00 00 	movl   $0x7,0x2c(%esi)
40de89:	66 89 46 18          	mov    %ax,0x18(%esi)
40de8d:	8b 4e 14             	mov    0x14(%esi),%ecx
40de90:	83 f9 08             	cmp    $0x8,%ecx
40de93:	72 2d                	jb     0x40dec2
40de95:	8b 06                	mov    (%esi),%eax
40de97:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40de9e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40dea4:	72 12                	jb     0x40deb8
40dea6:	8b 50 fc             	mov    -0x4(%eax),%edx
40dea9:	83 c1 23             	add    $0x23,%ecx
40deac:	2b c2                	sub    %edx,%eax
40deae:	83 c0 fc             	add    $0xfffffffc,%eax
40deb1:	83 f8 1f             	cmp    $0x1f,%eax
40deb4:	77 21                	ja     0x40ded7
40deb6:	8b c2                	mov    %edx,%eax
40deb8:	51                   	push   %ecx
40deb9:	50                   	push   %eax
40deba:	e8 4f da 00 00       	call   0x41b90e
40debf:	83 c4 08             	add    $0x8,%esp
40dec2:	33 c0                	xor    %eax,%eax