4021db:	cc                   	int3
4021dc:	cc                   	int3
4021dd:	cc                   	int3
4021de:	cc                   	int3
4021df:	cc                   	int3
4021e0:	55                   	push   %ebp
4021e1:	8b ec                	mov    %esp,%ebp
4021e3:	51                   	push   %ecx
4021e4:	8b 55 08             	mov    0x8(%ebp),%edx
4021e7:	8b c2                	mov    %edx,%eax
4021e9:	53                   	push   %ebx
4021ea:	56                   	push   %esi
4021eb:	57                   	push   %edi
4021ec:	8b f1                	mov    %ecx,%esi
4021ee:	8d 78 02             	lea    0x2(%eax),%edi
4021f1:	66 8b 08             	mov    (%eax),%cx
4021f4:	83 c0 02             	add    $0x2,%eax
4021f7:	66 85 c9             	test   %cx,%cx
4021fa:	75 f5                	jne    0x4021f1
4021fc:	8b 4e 14             	mov    0x14(%esi),%ecx
4021ff:	2b c7                	sub    %edi,%eax
402201:	8b 5e 10             	mov    0x10(%esi),%ebx
402204:	2b cb                	sub    %ebx,%ecx
402206:	d1 f8                	sar    $1,%eax
402208:	3b c1                	cmp    %ecx,%eax
40220a:	77 37                	ja     0x402243
40220c:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402210:	8d 0c 03             	lea    (%ebx,%eax,1),%ecx
402213:	89 4d fc             	mov    %ecx,-0x4(%ebp)
402216:	8b fe                	mov    %esi,%edi
402218:	89 4e 10             	mov    %ecx,0x10(%esi)
40221b:	72 02                	jb     0x40221f
40221d:	8b 3e                	mov    (%esi),%edi
40221f:	03 c0                	add    %eax,%eax
402221:	8d 0c 5f             	lea    (%edi,%ebx,2),%ecx
402224:	50                   	push   %eax
402225:	52                   	push   %edx
402226:	51                   	push   %ecx
402227:	e8 24 b2 01 00       	call   0x41d450
40222c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40222f:	83 c4 0c             	add    $0xc,%esp
402232:	33 c9                	xor    %ecx,%ecx
402234:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
402238:	8b c6                	mov    %esi,%eax
40223a:	5f                   	pop    %edi
40223b:	5e                   	pop    %esi
40223c:	5b                   	pop    %ebx
40223d:	8b e5                	mov    %ebp,%esp
40223f:	5d                   	pop    %ebp
402240:	c2 04 00             	ret    $0x4
402243:	50                   	push   %eax
402244:	52                   	push   %edx
402245:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402249:	8b ce                	mov    %esi,%ecx
40224b:	ff 75 fc             	push   -0x4(%ebp)
40224e:	50                   	push   %eax
40224f:	e8 ec 04 00 00       	call   0x402740
402254:	5f                   	pop    %edi
402255:	5e                   	pop    %esi
402256:	5b                   	pop    %ebx
402257:	8b e5                	mov    %ebp,%esp
402259:	5d                   	pop    %ebp
40225a:	c2 04 00             	ret    $0x4
40225d:	cc                   	int3
40225e:	cc                   	int3
40225f:	cc                   	int3
402260:	56                   	push   %esi
402261:	8b f1                	mov    %ecx,%esi
402263:	8b 4e 14             	mov    0x14(%esi),%ecx
402266:	83 f9 08             	cmp    $0x8,%ecx
402269:	72 2d                	jb     0x402298
40226b:	8b 06                	mov    (%esi),%eax
40226d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
402274:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40227a:	72 12                	jb     0x40228e
40227c:	8b 50 fc             	mov    -0x4(%eax),%edx
40227f:	83 c1 23             	add    $0x23,%ecx
402282:	2b c2                	sub    %edx,%eax
402284:	83 c0 fc             	add    $0xfffffffc,%eax
402287:	83 f8 1f             	cmp    $0x1f,%eax
40228a:	77 21                	ja     0x4022ad
40228c:	8b c2                	mov    %edx,%eax
40228e:	51                   	push   %ecx
40228f:	50                   	push   %eax
402290:	e8 79 96 01 00       	call   0x41b90e
402295:	83 c4 08             	add    $0x8,%esp
402298:	33 c0                	xor    %eax,%eax
40229a:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4022a1:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
4022a8:	66 89 06             	mov    %ax,(%esi)
4022ab:	5e                   	pop    %esi
4022ac:	c3                   	ret
4022ad:	e8 cd e7 01 00       	call   0x420a7f
4022b2:	cc                   	int3
4022b3:	cc                   	int3
4022b4:	cc                   	int3
4022b5:	cc                   	int3
4022b6:	cc                   	int3
4022b7:	cc                   	int3
4022b8:	cc                   	int3
4022b9:	cc                   	int3
4022ba:	cc                   	int3
4022bb:	cc                   	int3
4022bc:	cc                   	int3
4022bd:	cc                   	int3
4022be:	cc                   	int3
4022bf:	cc                   	int3
4022c0:	55                   	push   %ebp
4022c1:	8b ec                	mov    %esp,%ebp
4022c3:	51                   	push   %ecx
4022c4:	56                   	push   %esi
4022c5:	8b f1                	mov    %ecx,%esi
4022c7:	57                   	push   %edi
4022c8:	8b 7d 08             	mov    0x8(%ebp),%edi
4022cb:	8b c7                	mov    %edi,%eax
4022cd:	89 7d fc             	mov    %edi,-0x4(%ebp)
4022d0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4022d6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4022dd:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4022e4:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4022e8:	72 05                	jb     0x4022ef
4022ea:	8b 07                	mov    (%edi),%eax
4022ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
4022ef:	8b 7f 10             	mov    0x10(%edi),%edi
4022f2:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
4022f8:	0f 87 bc 00 00 00    	ja     0x4023ba
4022fe:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
402305:	83 ff 08             	cmp    $0x8,%edi
402308:	73 19                	jae    0x402323
40230a:	6a 10                	push   $0x10
40230c:	50                   	push   %eax
40230d:	56                   	push   %esi
40230e:	89 7e 10             	mov    %edi,0x10(%esi)
402311:	e8 3a b1 01 00       	call   0x41d450
402316:	83 c4 0c             	add    $0xc,%esp
402319:	8b c6                	mov    %esi,%eax
40231b:	5f                   	pop    %edi
40231c:	5e                   	pop    %esi
40231d:	8b e5                	mov    %ebp,%esp
40231f:	5d                   	pop    %ebp
402320:	c2 04 00             	ret    $0x4
402323:	53                   	push   %ebx
402324:	8b df                	mov    %edi,%ebx
402326:	83 cb 07             	or     $0x7,%ebx
402329:	81 fb fe ff ff 7f    	cmp    $0x7ffffffe,%ebx
40232f:	76 0e                	jbe    0x40233f
402331:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
402336:	bb fe ff ff 7f       	mov    $0x7ffffffe,%ebx
40233b:	03 c0                	add    %eax,%eax
40233d:	eb 1d                	jmp    0x40235c
40233f:	b8 0a 00 00 00       	mov    $0xa,%eax
402344:	3b d8                	cmp    %eax,%ebx
402346:	0f 42 d8             	cmovb  %eax,%ebx
402349:	8d 43 01             	lea    0x1(%ebx),%eax
40234c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
402351:	77 62                	ja     0x4023b5
402353:	03 c0                	add    %eax,%eax
402355:	3d 00 10 00 00       	cmp    $0x1000,%eax
40235a:	72 21                	jb     0x40237d
40235c:	8d 48 23             	lea    0x23(%eax),%ecx
40235f:	3b c8                	cmp    %eax,%ecx
402361:	76 52                	jbe    0x4023b5
402363:	51                   	push   %ecx
402364:	e8 75 95 01 00       	call   0x41b8de
402369:	8b c8                	mov    %eax,%ecx
40236b:	83 c4 04             	add    $0x4,%esp
40236e:	85 c9                	test   %ecx,%ecx
402370:	74 4d                	je     0x4023bf
402372:	8d 41 23             	lea    0x23(%ecx),%eax
402375:	83 e0 e0             	and    $0xffffffe0,%eax
402378:	89 48 fc             	mov    %ecx,-0x4(%eax)
40237b:	eb 11                	jmp    0x40238e
40237d:	85 c0                	test   %eax,%eax
40237f:	74 0b                	je     0x40238c
402381:	50                   	push   %eax
402382:	e8 57 95 01 00       	call   0x41b8de
402387:	83 c4 04             	add    $0x4,%esp
40238a:	eb 02                	jmp    0x40238e
40238c:	33 c0                	xor    %eax,%eax
40238e:	8d 0c 7d 02 00 00 00 	lea    0x2(,%edi,2),%ecx
402395:	89 06                	mov    %eax,(%esi)
402397:	51                   	push   %ecx
402398:	ff 75 fc             	push   -0x4(%ebp)
40239b:	89 7e 10             	mov    %edi,0x10(%esi)
40239e:	50                   	push   %eax
40239f:	89 5e 14             	mov    %ebx,0x14(%esi)
4023a2:	e8 a9 b0 01 00       	call   0x41d450
4023a7:	83 c4 0c             	add    $0xc,%esp
4023aa:	8b c6                	mov    %esi,%eax
4023ac:	5b                   	pop    %ebx
4023ad:	5f                   	pop    %edi
4023ae:	5e                   	pop    %esi
4023af:	8b e5                	mov    %ebp,%esp
4023b1:	5d                   	pop    %ebp
4023b2:	c2 04 00             	ret    $0x4
4023b5:	e8 46 ee ff ff       	call   0x401200
4023ba:	e8 e1 ee ff ff       	call   0x4012a0
4023bf:	e8 bb e6 01 00       	call   0x420a7f
4023c4:	cc                   	int3
4023c5:	cc                   	int3
4023c6:	cc                   	int3
4023c7:	cc                   	int3
4023c8:	cc                   	int3
4023c9:	cc                   	int3
4023ca:	cc                   	int3
4023cb:	cc                   	int3
4023cc:	cc                   	int3
4023cd:	cc                   	int3
4023ce:	cc                   	int3
4023cf:	cc                   	int3
4023d0:	55                   	push   %ebp
4023d1:	8b ec                	mov    %esp,%ebp
4023d3:	83 ec 0c             	sub    $0xc,%esp
4023d6:	53                   	push   %ebx
4023d7:	56                   	push   %esi
4023d8:	57                   	push   %edi
4023d9:	8b f9                	mov    %ecx,%edi
4023db:	8b f2                	mov    %edx,%esi
4023dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4023e0:	8b d1                	mov    %ecx,%edx
4023e2:	89 7d f8             	mov    %edi,-0x8(%ebp)
4023e5:	8d 5a 02             	lea    0x2(%edx),%ebx
4023e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4023ef:	00
4023f0:	66 8b 02             	mov    (%edx),%ax
4023f3:	83 c2 02             	add    $0x2,%edx
4023f6:	66 85 c0             	test   %ax,%ax
4023f9:	75 f5                	jne    0x4023f0
4023fb:	8b 46 14             	mov    0x14(%esi),%eax
4023fe:	2b d3                	sub    %ebx,%edx
402400:	8b 5e 10             	mov    0x10(%esi),%ebx
402403:	2b c3                	sub    %ebx,%eax
402405:	d1 fa                	sar    $1,%edx
402407:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40240a:	3b d0                	cmp    %eax,%edx
40240c:	77 32                	ja     0x402440
40240e:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402412:	8d 04 13             	lea    (%ebx,%edx,1),%eax
402415:	89 45 f8             	mov    %eax,-0x8(%ebp)
402418:	8b de                	mov    %esi,%ebx
40241a:	89 46 10             	mov    %eax,0x10(%esi)
40241d:	72 02                	jb     0x402421
40241f:	8b 1e                	mov    (%esi),%ebx
402421:	8d 04 12             	lea    (%edx,%edx,1),%eax
402424:	50                   	push   %eax
402425:	8b 45 fc             	mov    -0x4(%ebp),%eax
402428:	51                   	push   %ecx
402429:	8d 04 43             	lea    (%ebx,%eax,2),%eax
40242c:	50                   	push   %eax
40242d:	e8 1e b0 01 00       	call   0x41d450
402432:	8b 45 f8             	mov    -0x8(%ebp),%eax
402435:	83 c4 0c             	add    $0xc,%esp
402438:	33 c9                	xor    %ecx,%ecx
40243a:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
40243e:	eb 13                	jmp    0x402453
402440:	52                   	push   %edx
402441:	51                   	push   %ecx
402442:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
402446:	8b ce                	mov    %esi,%ecx
402448:	ff 75 f8             	push   -0x8(%ebp)
40244b:	52                   	push   %edx
40244c:	e8 ef 02 00 00       	call   0x402740
402451:	8b f0                	mov    %eax,%esi
402453:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
402459:	33 c0                	xor    %eax,%eax
40245b:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
402462:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
402469:	0f 10 06             	movups (%esi),%xmm0
40246c:	0f 11 07             	movups %xmm0,(%edi)
40246f:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
402474:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
402479:	66 89 06             	mov    %ax,(%esi)
40247c:	8b c7                	mov    %edi,%eax
40247e:	5f                   	pop    %edi
40247f:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
402486:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40248d:	5e                   	pop    %esi
40248e:	5b                   	pop    %ebx
40248f:	8b e5                	mov    %ebp,%esp
402491:	5d                   	pop    %ebp
402492:	c3                   	ret
402493:	cc                   	int3
402494:	cc                   	int3
402495:	cc                   	int3
402496:	cc                   	int3
402497:	cc                   	int3
402498:	cc                   	int3
402499:	cc                   	int3
40249a:	cc                   	int3
40249b:	cc                   	int3
40249c:	cc                   	int3
40249d:	cc                   	int3
40249e:	cc                   	int3
40249f:	cc                   	int3
4024a0:	55                   	push   %ebp
4024a1:	8b ec                	mov    %esp,%ebp
4024a3:	51                   	push   %ecx
4024a4:	8b c2                	mov    %edx,%eax
4024a6:	8b d1                	mov    %ecx,%edx
4024a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4024ab:	3b c8                	cmp    %eax,%ecx
4024ad:	53                   	push   %ebx
4024ae:	56                   	push   %esi
4024af:	8b 75 08             	mov    0x8(%ebp),%esi
4024b2:	57                   	push   %edi
4024b3:	8b f8                	mov    %eax,%edi
4024b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4024b8:	0f 42 f9             	cmovb  %ecx,%edi
4024bb:	85 ff                	test   %edi,%edi
4024bd:	74 1e                	je     0x4024dd
4024bf:	2b d6                	sub    %esi,%edx
4024c1:	0f b7 04 32          	movzwl (%edx,%esi,1),%eax
4024c5:	0f b7 0e             	movzwl (%esi),%ecx
4024c8:	8b d8                	mov    %eax,%ebx
4024ca:	66 3b c1             	cmp    %cx,%ax
4024cd:	75 1c                	jne    0x4024eb
4024cf:	83 c6 02             	add    $0x2,%esi
4024d2:	83 ef 01             	sub    $0x1,%edi
4024d5:	75 ea                	jne    0x4024c1
4024d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4024da:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4024dd:	3b c8                	cmp    %eax,%ecx
4024df:	76 1a                	jbe    0x4024fb
4024e1:	5f                   	pop    %edi
4024e2:	5e                   	pop    %esi
4024e3:	83 c8 ff             	or     $0xffffffff,%eax
4024e6:	5b                   	pop    %ebx
4024e7:	8b e5                	mov    %ebp,%esp
4024e9:	5d                   	pop    %ebp
4024ea:	c3                   	ret
4024eb:	66 3b d9             	cmp    %cx,%bx
4024ee:	5f                   	pop    %edi
4024ef:	1b c0                	sbb    %eax,%eax
4024f1:	83 e0 fe             	and    $0xfffffffe,%eax
4024f4:	5e                   	pop    %esi
4024f5:	40                   	inc    %eax
4024f6:	5b                   	pop    %ebx
4024f7:	8b e5                	mov    %ebp,%esp
4024f9:	5d                   	pop    %ebp
4024fa:	c3                   	ret
4024fb:	5f                   	pop    %edi
4024fc:	1b c0                	sbb    %eax,%eax
4024fe:	5e                   	pop    %esi
4024ff:	f7 d8                	neg    %eax
402501:	5b                   	pop    %ebx
402502:	8b e5                	mov    %ebp,%esp
402504:	5d                   	pop    %ebp
402505:	c3                   	ret
402506:	cc                   	int3
402507:	cc                   	int3