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
40dec4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40decb:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40ded2:	66 89 06             	mov    %ax,(%esi)
40ded5:	5e                   	pop    %esi
40ded6:	c3                   	ret
40ded7:	e8 a3 2b 01 00       	call   0x420a7f
40dedc:	cc                   	int3
40dedd:	cc                   	int3
40dede:	cc                   	int3
40dedf:	cc                   	int3
40dee0:	55                   	push   %ebp
40dee1:	8b ec                	mov    %esp,%ebp
40dee3:	83 ec 1c             	sub    $0x1c,%esp
40dee6:	8b 45 0c             	mov    0xc(%ebp),%eax
40dee9:	53                   	push   %ebx
40deea:	56                   	push   %esi
40deeb:	57                   	push   %edi
40deec:	8b fa                	mov    %edx,%edi
40deee:	89 45 e8             	mov    %eax,-0x18(%ebp)
40def1:	8b 55 08             	mov    0x8(%ebp),%edx
40def4:	8b f7                	mov    %edi,%esi
40def6:	8a 45 10             	mov    0x10(%ebp),%al
40def9:	88 45 fc             	mov    %al,-0x4(%ebp)
40defc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40deff:	8d 42 ff             	lea    -0x1(%edx),%eax
40df02:	89 55 f0             	mov    %edx,-0x10(%ebp)
40df05:	89 45 ec             	mov    %eax,-0x14(%ebp)
40df08:	d1 f8                	sar    $1,%eax
40df0a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40df0d:	89 45 f4             	mov    %eax,-0xc(%ebp)
40df10:	3b f8                	cmp    %eax,%edi
40df12:	0f 8d cf 00 00 00    	jge    0x40dfe7
40df18:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
40df1f:	00
40df20:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
40df27:	8d 04 76             	lea    (%esi,%esi,2),%eax
40df2a:	83 7c c1 fc 08       	cmpl   $0x8,-0x4(%ecx,%eax,8)
40df2f:	8d 14 c1             	lea    (%ecx,%eax,8),%edx
40df32:	8d 5a e8             	lea    -0x18(%edx),%ebx
40df35:	72 03                	jb     0x40df3a
40df37:	8b 5a e8             	mov    -0x18(%edx),%ebx
40df3a:	83 7a 14 08          	cmpl   $0x8,0x14(%edx)
40df3e:	8b ca                	mov    %edx,%ecx
40df40:	72 02                	jb     0x40df44
40df42:	8b 0a                	mov    (%edx),%ecx
40df44:	ff 72 f8             	push   -0x8(%edx)
40df47:	8b 52 10             	mov    0x10(%edx),%edx
40df4a:	53                   	push   %ebx
40df4b:	e8 50 45 ff ff       	call   0x4024a0
40df50:	83 c4 08             	add    $0x8,%esp
40df53:	85 c0                	test   %eax,%eax
40df55:	79 01                	jns    0x40df58
40df57:	4e                   	dec    %esi
40df58:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40df5b:	8d 04 76             	lea    (%esi,%esi,2),%eax
40df5e:	8d 1c c1             	lea    (%ecx,%eax,8),%ebx
40df61:	8d 04 7f             	lea    (%edi,%edi,2),%eax
40df64:	8d 3c c1             	lea    (%ecx,%eax,8),%edi
40df67:	3b fb                	cmp    %ebx,%edi
40df69:	74 6c                	je     0x40dfd7
40df6b:	8b 4f 14             	mov    0x14(%edi),%ecx
40df6e:	83 f9 08             	cmp    $0x8,%ecx
40df71:	72 31                	jb     0x40dfa4
40df73:	8b 07                	mov    (%edi),%eax
40df75:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40df7c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40df82:	72 16                	jb     0x40df9a
40df84:	8b 50 fc             	mov    -0x4(%eax),%edx
40df87:	83 c1 23             	add    $0x23,%ecx
40df8a:	2b c2                	sub    %edx,%eax
40df8c:	83 c0 fc             	add    $0xfffffffc,%eax
40df8f:	83 f8 1f             	cmp    $0x1f,%eax
40df92:	0f 87 f8 00 00 00    	ja     0x40e090
40df98:	8b c2                	mov    %edx,%eax
40df9a:	51                   	push   %ecx
40df9b:	50                   	push   %eax
40df9c:	e8 6d d9 00 00       	call   0x41b90e
40dfa1:	83 c4 08             	add    $0x8,%esp
40dfa4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40dfa7:	33 c0                	xor    %eax,%eax
40dfa9:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40dfb0:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
40dfb7:	66 89 07             	mov    %ax,(%edi)
40dfba:	0f 10 03             	movups (%ebx),%xmm0
40dfbd:	0f 11 07             	movups %xmm0,(%edi)
40dfc0:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
40dfc5:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
40dfca:	89 43 10             	mov    %eax,0x10(%ebx)
40dfcd:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
40dfd4:	66 89 03             	mov    %ax,(%ebx)
40dfd7:	8b 45 f4             	mov    -0xc(%ebp),%eax
40dfda:	8b fe                	mov    %esi,%edi
40dfdc:	3b f0                	cmp    %eax,%esi
40dfde:	0f 8c 3c ff ff ff    	jl     0x40df20
40dfe4:	8b 55 f0             	mov    -0x10(%ebp),%edx
40dfe7:	3b f0                	cmp    %eax,%esi
40dfe9:	0f 85 87 00 00 00    	jne    0x40e076
40dfef:	f6 c2 01             	test   $0x1,%dl
40dff2:	0f 85 7e 00 00 00    	jne    0x40e076
40dff8:	8d 42 ff             	lea    -0x1(%edx),%eax
40dffb:	8d 04 40             	lea    (%eax,%eax,2),%eax
40dffe:	8d 1c c1             	lea    (%ecx,%eax,8),%ebx
40e001:	8d 04 7f             	lea    (%edi,%edi,2),%eax
40e004:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
40e007:	3b f3                	cmp    %ebx,%esi
40e009:	74 68                	je     0x40e073
40e00b:	8b 4e 14             	mov    0x14(%esi),%ecx
40e00e:	83 f9 08             	cmp    $0x8,%ecx
40e011:	72 2d                	jb     0x40e040
40e013:	8b 06                	mov    (%esi),%eax
40e015:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40e01c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40e022:	72 12                	jb     0x40e036
40e024:	8b 50 fc             	mov    -0x4(%eax),%edx
40e027:	83 c1 23             	add    $0x23,%ecx
40e02a:	2b c2                	sub    %edx,%eax
40e02c:	83 c0 fc             	add    $0xfffffffc,%eax
40e02f:	83 f8 1f             	cmp    $0x1f,%eax
40e032:	77 5c                	ja     0x40e090
40e034:	8b c2                	mov    %edx,%eax
40e036:	51                   	push   %ecx
40e037:	50                   	push   %eax
40e038:	e8 d1 d8 00 00       	call   0x41b90e
40e03d:	83 c4 08             	add    $0x8,%esp
40e040:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e043:	33 c0                	xor    %eax,%eax
40e045:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40e04c:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40e053:	66 89 06             	mov    %ax,(%esi)
40e056:	0f 10 03             	movups (%ebx),%xmm0
40e059:	0f 11 06             	movups %xmm0,(%esi)
40e05c:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
40e061:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40e066:	89 43 10             	mov    %eax,0x10(%ebx)
40e069:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
40e070:	66 89 03             	mov    %ax,(%ebx)
40e073:	8b 7d ec             	mov    -0x14(%ebp),%edi
40e076:	ff 75 fc             	push   -0x4(%ebp)
40e079:	8b d7                	mov    %edi,%edx
40e07b:	ff 75 e8             	push   -0x18(%ebp)
40e07e:	ff 75 e4             	push   -0x1c(%ebp)
40e081:	e8 1a 00 00 00       	call   0x40e0a0
40e086:	83 c4 0c             	add    $0xc,%esp
40e089:	5f                   	pop    %edi
40e08a:	5e                   	pop    %esi
40e08b:	5b                   	pop    %ebx
40e08c:	8b e5                	mov    %ebp,%esp
40e08e:	5d                   	pop    %ebp
40e08f:	c3                   	ret
40e090:	e8 ea 29 01 00       	call   0x420a7f
40e095:	cc                   	int3
40e096:	cc                   	int3
40e097:	cc                   	int3
40e098:	cc                   	int3
40e099:	cc                   	int3
40e09a:	cc                   	int3
40e09b:	cc                   	int3
40e09c:	cc                   	int3
40e09d:	cc                   	int3
40e09e:	cc                   	int3
40e09f:	cc                   	int3
40e0a0:	55                   	push   %ebp
40e0a1:	8b ec                	mov    %esp,%ebp
40e0a3:	83 ec 08             	sub    $0x8,%esp
40e0a6:	53                   	push   %ebx
40e0a7:	8b da                	mov    %edx,%ebx
40e0a9:	8b d1                	mov    %ecx,%edx
40e0ab:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e0ae:	56                   	push   %esi
40e0af:	57                   	push   %edi
40e0b0:	8d 7b ff             	lea    -0x1(%ebx),%edi
40e0b3:	89 55 fc             	mov    %edx,-0x4(%ebp)
40e0b6:	d1 ff                	sar    $1,%edi
40e0b8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40e0bb:	39 5d 08             	cmp    %ebx,0x8(%ebp)