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)
40e2af:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
40e2b4:	66 0f d6 43 10       	movq   %xmm0,0x10(%ebx)
40e2b9:	0f 11 0e             	movups %xmm1,(%esi)
40e2bc:	66 0f d6 56 10       	movq   %xmm2,0x10(%esi)
40e2c1:	8b 56 10             	mov    0x10(%esi),%edx
40e2c4:	eb 03                	jmp    0x40e2c9
40e2c6:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e2c9:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40e2cd:	8b c7                	mov    %edi,%eax
40e2cf:	8b 5e 14             	mov    0x14(%esi),%ebx
40e2d2:	72 02                	jb     0x40e2d6
40e2d4:	8b 07                	mov    (%edi),%eax
40e2d6:	8b ce                	mov    %esi,%ecx
40e2d8:	83 fb 08             	cmp    $0x8,%ebx
40e2db:	72 02                	jb     0x40e2df
40e2dd:	8b 0e                	mov    (%esi),%ecx
40e2df:	ff 77 10             	push   0x10(%edi)
40e2e2:	50                   	push   %eax
40e2e3:	e8 b8 41 ff ff       	call   0x4024a0
40e2e8:	83 c4 08             	add    $0x8,%esp
40e2eb:	85 c0                	test   %eax,%eax
40e2ed:	79 24                	jns    0x40e313
40e2ef:	3b f7                	cmp    %edi,%esi
40e2f1:	74 20                	je     0x40e313
40e2f3:	0f 10 07             	movups (%edi),%xmm0
40e2f6:	0f 10 0e             	movups (%esi),%xmm1
40e2f9:	f3 0f 7e 56 10       	movq   0x10(%esi),%xmm2
40e2fe:	0f 11 06             	movups %xmm0,(%esi)
40e301:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
40e306:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40e30b:	0f 11 0f             	movups %xmm1,(%edi)
40e30e:	66 0f d6 57 10       	movq   %xmm2,0x10(%edi)
40e313:	5f                   	pop    %edi
40e314:	5e                   	pop    %esi
40e315:	5b                   	pop    %ebx
40e316:	8b e5                	mov    %ebp,%esp
40e318:	5d                   	pop    %ebp
40e319:	c3                   	ret
40e31a:	cc                   	int3
40e31b:	cc                   	int3
40e31c:	cc                   	int3
40e31d:	cc                   	int3
40e31e:	cc                   	int3
40e31f:	cc                   	int3
40e320:	2b 49 fc             	sub    -0x4(%ecx),%ecx
40e323:	e9 58 b4 ff ff       	jmp    0x409780
40e328:	cc                   	int3
40e329:	cc                   	int3
40e32a:	cc                   	int3
40e32b:	cc                   	int3
40e32c:	cc                   	int3
40e32d:	cc                   	int3
40e32e:	cc                   	int3
40e32f:	cc                   	int3
40e330:	2b 49 fc             	sub    -0x4(%ecx),%ecx
40e333:	e9 78 b4 ff ff       	jmp    0x4097b0
40e338:	cc                   	int3
40e339:	cc                   	int3
40e33a:	cc                   	int3
40e33b:	cc                   	int3
40e33c:	cc                   	int3
40e33d:	cc                   	int3
40e33e:	cc                   	int3
40e33f:	cc                   	int3
40e340:	2b 49 fc             	sub    -0x4(%ecx),%ecx
40e343:	e9 28 b5 ff ff       	jmp    0x409870
40e348:	cc                   	int3
40e349:	cc                   	int3
40e34a:	cc                   	int3
40e34b:	cc                   	int3
40e34c:	cc                   	int3
40e34d:	cc                   	int3
40e34e:	cc                   	int3
40e34f:	cc                   	int3
40e350:	2b 49 fc             	sub    -0x4(%ecx),%ecx
40e353:	e9 a8 b5 ff ff       	jmp    0x409900
40e358:	cc                   	int3
40e359:	cc                   	int3
40e35a:	cc                   	int3
40e35b:	cc                   	int3
40e35c:	cc                   	int3
40e35d:	cc                   	int3
40e35e:	cc                   	int3
40e35f:	cc                   	int3
40e360:	55                   	push   %ebp
40e361:	8b ec                	mov    %esp,%ebp
40e363:	6a ff                	push   $0xffffffff
40e365:	68 51 de 43 00       	push   $0x43de51
40e36a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e370:	50                   	push   %eax
40e371:	83 ec 0c             	sub    $0xc,%esp
40e374:	53                   	push   %ebx
40e375:	56                   	push   %esi
40e376:	57                   	push   %edi
40e377:	a1 14 40 45 00       	mov    0x454014,%eax
40e37c:	33 c5                	xor    %ebp,%eax
40e37e:	50                   	push   %eax
40e37f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e382:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e388:	8b f9                	mov    %ecx,%edi
40e38a:	89 7d e8             	mov    %edi,-0x18(%ebp)
40e38d:	c7 07 48 de 44 00    	movl   $0x44de48,(%edi)
40e393:	33 c0                	xor    %eax,%eax
40e395:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
40e39c:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
40e3a3:	c7 47 18 07 00 00 00 	movl   $0x7,0x18(%edi)
40e3aa:	66 89 47 04          	mov    %ax,0x4(%edi)
40e3ae:	8d 77 1c             	lea    0x1c(%edi),%esi
40e3b1:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e3b4:	8d 4e 10             	lea    0x10(%esi),%ecx
40e3b7:	89 06                	mov    %eax,(%esi)
40e3b9:	89 01                	mov    %eax,(%ecx)
40e3bb:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40e3c2:	66 89 06             	mov    %ax,(%esi)
40e3c5:	33 d2                	xor    %edx,%edx
40e3c7:	89 47 34             	mov    %eax,0x34(%edi)
40e3ca:	89 47 44             	mov    %eax,0x44(%edi)
40e3cd:	c7 47 48 07 00 00 00 	movl   $0x7,0x48(%edi)
40e3d4:	66 89 57 34          	mov    %dx,0x34(%edi)
40e3d8:	8d 5f 4c             	lea    0x4c(%edi),%ebx
40e3db:	8d 43 10             	lea    0x10(%ebx),%eax
40e3de:	89 13                	mov    %edx,(%ebx)
40e3e0:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e3e3:	89 10                	mov    %edx,(%eax)
40e3e5:	33 c0                	xor    %eax,%eax
40e3e7:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
40e3ee:	66 89 03             	mov    %ax,(%ebx)
40e3f1:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40e3f5:	8b 46 14             	mov    0x14(%esi),%eax
40e3f8:	83 f8 03             	cmp    $0x3,%eax
40e3fb:	72 25                	jb     0x40e422
40e3fd:	83 f8 08             	cmp    $0x8,%eax
40e400:	72 02                	jb     0x40e404
40e402:	8b 36                	mov    (%esi),%esi
40e404:	6a 06                	push   $0x6
40e406:	68 bc dd 44 00       	push   $0x44ddbc
40e40b:	56                   	push   %esi
40e40c:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
40e412:	e8 39 f0 00 00       	call   0x41d450
40e417:	83 c4 0c             	add    $0xc,%esp
40e41a:	33 c0                	xor    %eax,%eax
40e41c:	66 89 46 06          	mov    %ax,0x6(%esi)
40e420:	eb 15                	jmp    0x40e437
40e422:	68 bc dd 44 00       	push   $0x44ddbc
40e427:	c6 45 f0 00          	movb   $0x0,-0x10(%ebp)
40e42b:	8b ce                	mov    %esi,%ecx
40e42d:	ff 75 f0             	push   -0x10(%ebp)
40e430:	6a 03                	push   $0x3
40e432:	e8 d9 41 ff ff       	call   0x402610
40e437:	83 7f 48 08          	cmpl   $0x8,0x48(%edi)
40e43b:	8d 4f 34             	lea    0x34(%edi),%ecx
40e43e:	72 21                	jb     0x40e461
40e440:	8b 31                	mov    (%ecx),%esi
40e442:	6a 10                	push   $0x10
40e444:	68 c4 dd 44 00       	push   $0x44ddc4
40e449:	56                   	push   %esi
40e44a:	c7 41 10 08 00 00 00 	movl   $0x8,0x10(%ecx)
40e451:	e8 fa ef 00 00       	call   0x41d450
40e456:	83 c4 0c             	add    $0xc,%esp
40e459:	33 c0                	xor    %eax,%eax
40e45b:	66 89 46 10          	mov    %ax,0x10(%esi)
40e45f:	eb 13                	jmp    0x40e474
40e461:	68 c4 dd 44 00       	push   $0x44ddc4
40e466:	c6 45 f0 00          	movb   $0x0,-0x10(%ebp)
40e46a:	ff 75 f0             	push   -0x10(%ebp)
40e46d:	6a 08                	push   $0x8
40e46f:	e8 9c 41 ff ff       	call   0x402610
40e474:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40e478:	72 02                	jb     0x40e47c
40e47a:	8b 1b                	mov    (%ebx),%ebx
40e47c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40e47f:	51                   	push   %ecx
40e480:	8b cf                	mov    %edi,%ecx
40e482:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40e488:	33 c0                	xor    %eax,%eax