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)
40e0be:	0f 8d c2 00 00 00    	jge    0x40e186
40e0c4:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
40e0c8:	8d 04 7f             	lea    (%edi,%edi,2),%eax
40e0cb:	8d 34 c2             	lea    (%edx,%eax,8),%esi
40e0ce:	8b d1                	mov    %ecx,%edx
40e0d0:	72 02                	jb     0x40e0d4
40e0d2:	8b 11                	mov    (%ecx),%edx
40e0d4:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40e0d8:	8b c6                	mov    %esi,%eax
40e0da:	72 02                	jb     0x40e0de
40e0dc:	8b 06                	mov    (%esi),%eax
40e0de:	ff 71 10             	push   0x10(%ecx)
40e0e1:	8b c8                	mov    %eax,%ecx
40e0e3:	52                   	push   %edx
40e0e4:	8b 56 10             	mov    0x10(%esi),%edx
40e0e7:	e8 b4 43 ff ff       	call   0x4024a0
40e0ec:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e0ef:	83 c4 08             	add    $0x8,%esp
40e0f2:	85 c0                	test   %eax,%eax
40e0f4:	0f 89 89 00 00 00    	jns    0x40e183
40e0fa:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
40e0fd:	8d 1c c2             	lea    (%edx,%eax,8),%ebx
40e100:	3b de                	cmp    %esi,%ebx
40e102:	74 6c                	je     0x40e170
40e104:	8b 4b 14             	mov    0x14(%ebx),%ecx
40e107:	83 f9 08             	cmp    $0x8,%ecx
40e10a:	72 34                	jb     0x40e140
40e10c:	8b 03                	mov    (%ebx),%eax
40e10e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40e115:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40e11b:	72 16                	jb     0x40e133
40e11d:	8b 50 fc             	mov    -0x4(%eax),%edx
40e120:	83 c1 23             	add    $0x23,%ecx
40e123:	2b c2                	sub    %edx,%eax
40e125:	83 c0 fc             	add    $0xfffffffc,%eax
40e128:	83 f8 1f             	cmp    $0x1f,%eax
40e12b:	0f 87 ce 00 00 00    	ja     0x40e1ff
40e131:	8b c2                	mov    %edx,%eax
40e133:	51                   	push   %ecx
40e134:	50                   	push   %eax
40e135:	e8 d4 d7 00 00       	call   0x41b90e
40e13a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e13d:	83 c4 08             	add    $0x8,%esp
40e140:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
40e147:	33 c0                	xor    %eax,%eax
40e149:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
40e150:	66 89 03             	mov    %ax,(%ebx)
40e153:	0f 10 06             	movups (%esi),%xmm0
40e156:	0f 11 03             	movups %xmm0,(%ebx)
40e159:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
40e15e:	66 0f d6 43 10       	movq   %xmm0,0x10(%ebx)
40e163:	89 46 10             	mov    %eax,0x10(%esi)
40e166:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40e16d:	66 89 06             	mov    %ax,(%esi)
40e170:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e173:	8b df                	mov    %edi,%ebx
40e175:	4f                   	dec    %edi
40e176:	d1 ff                	sar    $1,%edi
40e178:	39 5d 08             	cmp    %ebx,0x8(%ebp)
40e17b:	0f 8c 43 ff ff ff    	jl     0x40e0c4
40e181:	eb 03                	jmp    0x40e186
40e183:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e186:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
40e189:	8d 34 c2             	lea    (%edx,%eax,8),%esi
40e18c:	3b f1                	cmp    %ecx,%esi
40e18e:	74 68                	je     0x40e1f8
40e190:	8b 46 14             	mov    0x14(%esi),%eax
40e193:	83 f8 08             	cmp    $0x8,%eax
40e196:	72 30                	jb     0x40e1c8
40e198:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
40e19f:	8b 06                	mov    (%esi),%eax
40e1a1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40e1a7:	72 12                	jb     0x40e1bb
40e1a9:	8b 50 fc             	mov    -0x4(%eax),%edx
40e1ac:	83 c1 23             	add    $0x23,%ecx
40e1af:	2b c2                	sub    %edx,%eax
40e1b1:	83 c0 fc             	add    $0xfffffffc,%eax
40e1b4:	83 f8 1f             	cmp    $0x1f,%eax
40e1b7:	77 46                	ja     0x40e1ff
40e1b9:	8b c2                	mov    %edx,%eax
40e1bb:	51                   	push   %ecx
40e1bc:	50                   	push   %eax
40e1bd:	e8 4c d7 00 00       	call   0x41b90e
40e1c2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e1c5:	83 c4 08             	add    $0x8,%esp
40e1c8:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40e1cf:	33 c0                	xor    %eax,%eax
40e1d1:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40e1d8:	66 89 06             	mov    %ax,(%esi)
40e1db:	0f 10 01             	movups (%ecx),%xmm0
40e1de:	0f 11 06             	movups %xmm0,(%esi)
40e1e1:	f3 0f 7e 41 10       	movq   0x10(%ecx),%xmm0
40e1e6:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40e1eb:	89 41 10             	mov    %eax,0x10(%ecx)
40e1ee:	c7 41 14 07 00 00 00 	movl   $0x7,0x14(%ecx)
40e1f5:	66 89 01             	mov    %ax,(%ecx)
40e1f8:	5f                   	pop    %edi
40e1f9:	5e                   	pop    %esi
40e1fa:	5b                   	pop    %ebx
40e1fb:	8b e5                	mov    %ebp,%esp
40e1fd:	5d                   	pop    %ebp
40e1fe:	c3                   	ret
40e1ff:	e8 7b 28 01 00       	call   0x420a7f
40e204:	cc                   	int3
40e205:	cc                   	int3
40e206:	cc                   	int3
40e207:	cc                   	int3
40e208:	cc                   	int3
40e209:	cc                   	int3
40e20a:	cc                   	int3
40e20b:	cc                   	int3
40e20c:	cc                   	int3
40e20d:	cc                   	int3
40e20e:	cc                   	int3
40e20f:	cc                   	int3
40e210:	55                   	push   %ebp
40e211:	8b ec                	mov    %esp,%ebp
40e213:	51                   	push   %ecx
40e214:	53                   	push   %ebx
40e215:	8b 5d 08             	mov    0x8(%ebp),%ebx
40e218:	56                   	push   %esi
40e219:	57                   	push   %edi
40e21a:	8b f9                	mov    %ecx,%edi
40e21c:	8b f2                	mov    %edx,%esi
40e21e:	8b c7                	mov    %edi,%eax
40e220:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40e224:	72 02                	jb     0x40e228
40e226:	8b 07                	mov    (%edi),%eax
40e228:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40e22c:	8b ce                	mov    %esi,%ecx
40e22e:	72 02                	jb     0x40e232
40e230:	8b 0e                	mov    (%esi),%ecx
40e232:	ff 77 10             	push   0x10(%edi)
40e235:	8b 56 10             	mov    0x10(%esi),%edx
40e238:	50                   	push   %eax
40e239:	89 55 fc             	mov    %edx,-0x4(%ebp)
40e23c:	e8 5f 42 ff ff       	call   0x4024a0
40e241:	83 c4 08             	add    $0x8,%esp
40e244:	85 c0                	test   %eax,%eax
40e246:	8b 46 10             	mov    0x10(%esi),%eax
40e249:	79 2d                	jns    0x40e278
40e24b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e24e:	3b f7                	cmp    %edi,%esi
40e250:	74 26                	je     0x40e278
40e252:	0f 10 07             	movups (%edi),%xmm0
40e255:	0f 10 0e             	movups (%esi),%xmm1
40e258:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
40e25d:	0f 11 06             	movups %xmm0,(%esi)
40e260:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
40e265:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40e26a:	0f 11 0f             	movups %xmm1,(%edi)
40e26d:	66 0f d6 57 10       	movq   %xmm2,0x10(%edi)
40e272:	8b 46 10             	mov    0x10(%esi),%eax
40e275:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e278:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40e27c:	8b d6                	mov    %esi,%edx
40e27e:	72 02                	jb     0x40e282
40e280:	8b 16                	mov    (%esi),%edx
40e282:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40e286:	8b cb                	mov    %ebx,%ecx
40e288:	72 02                	jb     0x40e28c
40e28a:	8b 0b                	mov    (%ebx),%ecx
40e28c:	50                   	push   %eax
40e28d:	52                   	push   %edx
40e28e:	8b 53 10             	mov    0x10(%ebx),%edx
40e291:	e8 0a 42 ff ff       	call   0x4024a0
40e296:	83 c4 08             	add    $0x8,%esp
40e299:	85 c0                	test   %eax,%eax
40e29b:	79 76                	jns    0x40e313
40e29d:	3b de                	cmp    %esi,%ebx
40e29f:	74 25                	je     0x40e2c6
40e2a1:	0f 10 06             	movups (%esi),%xmm0
40e2a4:	0f 10 0b             	movups (%ebx),%xmm1
40e2a7:	f3 0f 7e 53 10       	movq   0x10(%ebx),%xmm2
40e2ac:	0f 11 03             	movups %xmm0,(%ebx)