4ea356:	0f 84 8d 01 00 00    	je     0x4ea4e9
4ea35c:	ff 74 24 10          	push   0x10(%esp)
4ea360:	55                   	push   %ebp
4ea361:	55                   	push   %ebp
4ea362:	e8 19 dc ff ff       	call   0x4e7f80
4ea367:	83 c4 0c             	add    $0xc,%esp
4ea36a:	85 c0                	test   %eax,%eax
4ea36c:	0f 84 77 01 00 00    	je     0x4ea4e9
4ea372:	8b 44 24 34          	mov    0x34(%esp),%eax
4ea376:	85 c0                	test   %eax,%eax
4ea378:	75 18                	jne    0x4ea392
4ea37a:	85 f6                	test   %esi,%esi
4ea37c:	0f 95 c0             	setne  %al
4ea37f:	8d 04 45 01 00 00 00 	lea    0x1(,%eax,2),%eax
4ea386:	50                   	push   %eax
4ea387:	55                   	push   %ebp
4ea388:	e8 03 22 01 00       	call   0x4fc590
4ea38d:	83 c4 08             	add    $0x8,%esp
4ea390:	eb 0b                	jmp    0x4ea39d
4ea392:	50                   	push   %eax
4ea393:	55                   	push   %ebp
4ea394:	55                   	push   %ebp
4ea395:	e8 56 db ff ff       	call   0x4e7ef0
4ea39a:	83 c4 0c             	add    $0xc,%esp
4ea39d:	85 c0                	test   %eax,%eax
4ea39f:	0f 84 44 01 00 00    	je     0x4ea4e9
4ea3a5:	55                   	push   %ebp
4ea3a6:	e8 75 fa fe ff       	call   0x4d9e20
4ea3ab:	83 c4 04             	add    $0x4,%esp
4ea3ae:	3b c3                	cmp    %ebx,%eax
4ea3b0:	7c 1b                	jl     0x4ea3cd
4ea3b2:	55                   	push   %ebp
4ea3b3:	e8 d8 f8 fe ff       	call   0x4d9c90
4ea3b8:	33 c9                	xor    %ecx,%ecx
4ea3ba:	83 c4 04             	add    $0x4,%esp
4ea3bd:	85 f6                	test   %esi,%esi
4ea3bf:	0f 95 c1             	setne  %cl
4ea3c2:	8d 0c 4d 03 00 00 00 	lea    0x3(,%ecx,2),%ecx
4ea3c9:	3b c1                	cmp    %ecx,%eax
4ea3cb:	73 13                	jae    0x4ea3e0
4ea3cd:	57                   	push   %edi
4ea3ce:	55                   	push   %ebp
4ea3cf:	55                   	push   %ebp
4ea3d0:	e8 1b db ff ff       	call   0x4e7ef0
4ea3d5:	83 c4 0c             	add    $0xc,%esp
4ea3d8:	85 c0                	test   %eax,%eax
4ea3da:	0f 84 09 01 00 00    	je     0x4ea4e9
4ea3e0:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4ea3e4:	bb c8 40 61 00       	mov    $0x6140c8,%ebx
4ea3e9:	bf 01 00 00 00       	mov    $0x1,%edi
4ea3ee:	2b d9                	sub    %ecx,%ebx
4ea3f0:	8d 71 02             	lea    0x2(%ecx),%esi
4ea3f3:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
4ea3f7:	50                   	push   %eax
4ea3f8:	55                   	push   %ebp
4ea3f9:	e8 c2 23 01 00       	call   0x4fc7c0
4ea3fe:	83 c4 08             	add    $0x8,%esp
4ea401:	83 f8 ff             	cmp    $0xffffffff,%eax
4ea404:	0f 84 df 00 00 00    	je     0x4ea4e9
4ea40a:	66 89 06             	mov    %ax,(%esi)
4ea40d:	47                   	inc    %edi
4ea40e:	83 c6 02             	add    $0x2,%esi
4ea411:	81 ff 00 08 00 00    	cmp    $0x800,%edi
4ea417:	7c da                	jl     0x4ea3f3
4ea419:	33 ff                	xor    %edi,%edi
4ea41b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4ea420:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4ea424:	be ca 40 61 00       	mov    $0x6140ca,%esi
4ea429:	83 c3 02             	add    $0x2,%ebx
4ea42c:	0f 1f 40 00          	nopl   0x0(%eax)
4ea430:	81 fe c8 50 61 00    	cmp    $0x6150c8,%esi
4ea436:	0f 8d 93 00 00 00    	jge    0x4ea4cf
4ea43c:	83 7c 24 24 1f       	cmpl   $0x1f,0x24(%esp)
4ea441:	7f 1e                	jg     0x4ea461
4ea443:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
4ea449:	77 16                	ja     0x4ea461
4ea44b:	55                   	push   %ebp
4ea44c:	e8 3f f8 fe ff       	call   0x4d9c90
4ea451:	83 c4 04             	add    $0x4,%esp
4ea454:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
4ea457:	0f b7 06             	movzwl (%esi),%eax
4ea45a:	0f af c0             	imul   %eax,%eax
4ea45d:	3b c1                	cmp    %ecx,%eax
4ea45f:	77 6e                	ja     0x4ea4cf
4ea461:	0f b7 03             	movzwl (%ebx),%eax
4ea464:	33 d2                	xor    %edx,%edx
4ea466:	0f b7 0e             	movzwl (%esi),%ecx
4ea469:	03 c7                	add    %edi,%eax
4ea46b:	f7 f1                	div    %ecx
4ea46d:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
4ea472:	74 0c                	je     0x4ea480
4ea474:	b8 01 00 00 00       	mov    $0x1,%eax
4ea479:	3b c2                	cmp    %edx,%eax
4ea47b:	1b c0                	sbb    %eax,%eax
4ea47d:	40                   	inc    %eax
4ea47e:	eb 07                	jmp    0x4ea487
4ea480:	33 c0                	xor    %eax,%eax
4ea482:	85 d2                	test   %edx,%edx
4ea484:	0f 94 c0             	sete   %al
4ea487:	85 c0                	test   %eax,%eax
4ea489:	75 08                	jne    0x4ea493
4ea48b:	83 c3 02             	add    $0x2,%ebx
4ea48e:	83 c6 02             	add    $0x2,%esi
4ea491:	eb 9d                	jmp    0x4ea430
4ea493:	ff 74 24 30          	push   0x30(%esp)
4ea497:	e8 f4 f7 fe ff       	call   0x4d9c90
4ea49c:	03 f8                	add    %eax,%edi
4ea49e:	83 c4 04             	add    $0x4,%esp
4ea4a1:	3b 7c 24 14          	cmp    0x14(%esp),%edi
4ea4a5:	0f 86 75 ff ff ff    	jbe    0x4ea420
4ea4ab:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4ea4af:	6a 01                	push   $0x1
4ea4b1:	6a 00                	push   $0x0
4ea4b3:	53                   	push   %ebx
4ea4b4:	55                   	push   %ebp
4ea4b5:	e8 96 2c 01 00       	call   0x4fd150
4ea4ba:	8b 74 24 38          	mov    0x38(%esp),%esi
4ea4be:	83 c4 10             	add    $0x10,%esp
4ea4c1:	8b 7c 24 30          	mov    0x30(%esp),%edi
4ea4c5:	85 c0                	test   %eax,%eax
4ea4c7:	0f 85 73 fe ff ff    	jne    0x4ea340
4ea4cd:	eb 1a                	jmp    0x4ea4e9
4ea4cf:	57                   	push   %edi
4ea4d0:	55                   	push   %ebp
4ea4d1:	e8 ba 20 01 00       	call   0x4fc590
4ea4d6:	33 c9                	xor    %ecx,%ecx
4ea4d8:	83 c4 08             	add    $0x8,%esp
4ea4db:	85 c0                	test   %eax,%eax
4ea4dd:	b8 01 00 00 00       	mov    $0x1,%eax
4ea4e2:	0f 45 c8             	cmovne %eax,%ecx
4ea4e5:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4ea4e9:	5d                   	pop    %ebp
4ea4ea:	5b                   	pop    %ebx
4ea4eb:	5f                   	pop    %edi
4ea4ec:	ff 74 24 2c          	push   0x2c(%esp)
4ea4f0:	e8 db d5 ff ff       	call   0x4e7ad0
4ea4f5:	8b 44 24 10          	mov    0x10(%esp),%eax
4ea4f9:	83 c4 04             	add    $0x4,%esp
4ea4fc:	5e                   	pop    %esi
4ea4fd:	83 c4 0c             	add    $0xc,%esp
4ea500:	c3                   	ret
4ea501:	cc                   	int3
4ea502:	cc                   	int3
4ea503:	cc                   	int3
4ea504:	cc                   	int3
4ea505:	cc                   	int3
4ea506:	cc                   	int3
4ea507:	cc                   	int3
4ea508:	cc                   	int3
4ea509:	cc                   	int3
4ea50a:	cc                   	int3
4ea50b:	cc                   	int3
4ea50c:	cc                   	int3
4ea50d:	cc                   	int3
4ea50e:	cc                   	int3
4ea50f:	cc                   	int3
4ea510:	56                   	push   %esi
4ea511:	8b 74 24 14          	mov    0x14(%esp),%esi
4ea515:	56                   	push   %esi
4ea516:	e8 45 f8 fe ff       	call   0x4d9d60
4ea51b:	83 c4 04             	add    $0x4,%esp
4ea51e:	85 c0                	test   %eax,%eax
4ea520:	74 1c                	je     0x4ea53e
4ea522:	68 d7 00 00 00       	push   $0xd7
4ea527:	68 e0 50 61 00       	push   $0x6150e0
4ea52c:	6a 67                	push   $0x67
4ea52e:	6a 6b                	push   $0x6b
4ea530:	6a 03                	push   $0x3
4ea532:	e8 49 ea fe ff       	call   0x4d8f80
4ea537:	83 c4 14             	add    $0x14,%esp
4ea53a:	33 c0                	xor    %eax,%eax
4ea53c:	5e                   	pop    %esi
4ea53d:	c3                   	ret
4ea53e:	8b 4e 04             	mov    0x4(%esi),%ecx
4ea541:	8b 06                	mov    (%esi),%eax
4ea543:	83 7c 88 fc 00       	cmpl   $0x0,-0x4(%eax,%ecx,4)
4ea548:	75 1c                	jne    0x4ea566
4ea54a:	68 e1 00 00 00       	push   $0xe1
4ea54f:	68 e0 50 61 00       	push   $0x6150e0
4ea554:	6a 6b                	push   $0x6b
4ea556:	6a 6b                	push   $0x6b
4ea558:	6a 03                	push   $0x3
4ea55a:	e8 21 ea fe ff       	call   0x4d8f80
4ea55f:	83 c4 14             	add    $0x14,%esp
4ea562:	33 c0                	xor    %eax,%eax
4ea564:	5e                   	pop    %esi
4ea565:	c3                   	ret
4ea566:	53                   	push   %ebx
4ea567:	57                   	push   %edi
4ea568:	ff 74 24 20          	push   0x20(%esp)
4ea56c:	8b 7c 24 14          	mov    0x14(%esp),%edi
4ea570:	56                   	push   %esi
4ea571:	ff 74 24 20          	push   0x20(%esp)
4ea575:	8b 74 24 20          	mov    0x20(%esp),%esi
4ea579:	56                   	push   %esi
4ea57a:	57                   	push   %edi
4ea57b:	e8 30 00 00 00       	call   0x4ea5b0
4ea580:	8b d8                	mov    %eax,%ebx
4ea582:	83 c4 14             	add    $0x14,%esp
4ea585:	85 db                	test   %ebx,%ebx
4ea587:	74 1a                	je     0x4ea5a3
4ea589:	85 ff                	test   %edi,%edi
4ea58b:	74 09                	je     0x4ea596
4ea58d:	57                   	push   %edi
4ea58e:	e8 bd fe fe ff       	call   0x4da450
4ea593:	83 c4 04             	add    $0x4,%esp
4ea596:	85 f6                	test   %esi,%esi
4ea598:	74 09                	je     0x4ea5a3
4ea59a:	56                   	push   %esi
4ea59b:	e8 b0 fe fe ff       	call   0x4da450
4ea5a0:	83 c4 04             	add    $0x4,%esp
4ea5a3:	5f                   	pop    %edi
4ea5a4:	8b c3                	mov    %ebx,%eax
4ea5a6:	5b                   	pop    %ebx
4ea5a7:	5e                   	pop    %esi
4ea5a8:	c3                   	ret
4ea5a9:	cc                   	int3
4ea5aa:	cc                   	int3
4ea5ab:	cc                   	int3
4ea5ac:	cc                   	int3
4ea5ad:	cc                   	int3
4ea5ae:	cc                   	int3
4ea5af:	cc                   	int3
4ea5b0:	b8 34 00 00 00       	mov    $0x34,%eax
4ea5b5:	e8 f6 71 0e 00       	call   0x5d17b0
4ea5ba:	53                   	push   %ebx
4ea5bb:	55                   	push   %ebp
4ea5bc:	8b 6c 24 50          	mov    0x50(%esp),%ebp
4ea5c0:	56                   	push   %esi
4ea5c1:	57                   	push   %edi
4ea5c2:	55                   	push   %ebp
4ea5c3:	e8 48 d8 ff ff       	call   0x4e7e10
4ea5c8:	83 c4 04             	add    $0x4,%esp
4ea5cb:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
4ea5d0:	75 0d                	jne    0x4ea5df
4ea5d2:	55                   	push   %ebp
4ea5d3:	e8 f8 d5 ff ff       	call   0x4e7bd0
4ea5d8:	83 c4 04             	add    $0x4,%esp
4ea5db:	89 44 24 48          	mov    %eax,0x48(%esp)
4ea5df:	55                   	push   %ebp
4ea5e0:	e8 eb d5 ff ff       	call   0x4e7bd0
4ea5e5:	55                   	push   %ebp
4ea5e6:	89 44 24 18          	mov    %eax,0x18(%esp)
4ea5ea:	e8 e1 d5 ff ff       	call   0x4e7bd0
4ea5ef:	55                   	push   %ebp
4ea5f0:	89 44 24 38          	mov    %eax,0x38(%esp)
4ea5f4:	e8 d7 d5 ff ff       	call   0x4e7bd0
4ea5f9:	8b e8                	mov    %eax,%ebp
4ea5fb:	83 c4 0c             	add    $0xc,%esp
4ea5fe:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4ea602:	85 ed                	test   %ebp,%ebp
4ea604:	0f 84 b4 03 00 00    	je     0x4ea9be
4ea60a:	ff 74 24 54          	push   0x54(%esp)
4ea60e:	55                   	push   %ebp
4ea60f:	e8 cc f4 fe ff       	call   0x4d9ae0
4ea614:	83 c4 08             	add    $0x8,%esp
4ea617:	85 c0                	test   %eax,%eax
4ea619:	0f 84 9f 03 00 00    	je     0x4ea9be
4ea61f:	8b 4d 00             	mov    0x0(%ebp),%ecx
4ea622:	8b 45 04             	mov    0x4(%ebp),%eax
4ea625:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4ea629:	89 44 24 24          	mov    %eax,0x24(%esp)
4ea62d:	ff 74 81 fc          	push   -0x4(%ecx,%eax,4)
4ea631:	e8 ba f8 fe ff       	call   0x4d9ef0
4ea636:	b9 20 00 00 00       	mov    $0x20,%ecx
4ea63b:	83 c4 04             	add    $0x4,%esp
4ea63e:	2b c8                	sub    %eax,%ecx
4ea640:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4ea644:	25 1f 00 00 80       	and    $0x8000001f,%eax
4ea649:	79 05                	jns    0x4ea650
4ea64b:	48                   	dec    %eax
4ea64c:	83 c8 e0             	or     $0xffffffe0,%eax
4ea64f:	40                   	inc    %eax
4ea650:	8b d8                	mov    %eax,%ebx
4ea652:	89 44 24 34          	mov    %eax,0x34(%esp)
4ea656:	f7 db                	neg    %ebx
4ea658:	33 f6                	xor    %esi,%esi
4ea65a:	8b c3                	mov    %ebx,%eax
4ea65c:	33 ff                	xor    %edi,%edi
4ea65e:	c1 e8 08             	shr    $0x8,%eax
4ea661:	0b d8                	or     %eax,%ebx
4ea663:	39 74 24 24          	cmp    %esi,0x24(%esp)
4ea667:	7e 32                	jle    0x4ea69b
4ea669:	8b 6c 24 34          	mov    0x34(%esp),%ebp
4ea66d:	0f 1f 00             	nopl   (%eax)
4ea670:	8b 44 24 28          	mov    0x28(%esp),%eax
4ea674:	8b 14 b8             	mov    (%eax,%edi,4),%edx
4ea677:	8b c2                	mov    %edx,%eax
4ea679:	d3 e0                	shl    %cl,%eax
4ea67b:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4ea67f:	0b c6                	or     %esi,%eax
4ea681:	8b f2                	mov    %edx,%esi
4ea683:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
4ea686:	8b cd                	mov    %ebp,%ecx
4ea688:	d3 ee                	shr    %cl,%esi
4ea68a:	47                   	inc    %edi
4ea68b:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4ea68f:	23 f3                	and    %ebx,%esi
4ea691:	3b 7c 24 24          	cmp    0x24(%esp),%edi
4ea695:	7c d9                	jl     0x4ea670
4ea697:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4ea69b:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4ea69f:	51                   	push   %ecx
4ea6a0:	ff 74 24 54          	push   0x54(%esp)
4ea6a4:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
4ea6ab:	57                   	push   %edi
4ea6ac:	e8 1f 07 00 00       	call   0x4eadd0
4ea6b1:	83 c4 0c             	add    $0xc,%esp
4ea6b4:	85 c0                	test   %eax,%eax
4ea6b6:	0f 84 02 03 00 00    	je     0x4ea9be
4ea6bc:	8b 5d 04             	mov    0x4(%ebp),%ebx
4ea6bf:	8b 77 04             	mov    0x4(%edi),%esi
4ea6c2:	89 5c 24 38          	mov    %ebx,0x38(%esp)
4ea6c6:	8d 43 01             	lea    0x1(%ebx),%eax
4ea6c9:	3b f3                	cmp    %ebx,%esi
4ea6cb:	7f 34                	jg     0x4ea701
4ea6cd:	50                   	push   %eax
4ea6ce:	57                   	push   %edi
4ea6cf:	e8 cc fe fe ff       	call   0x4da5a0
4ea6d4:	83 c4 08             	add    $0x8,%esp
4ea6d7:	85 c0                	test   %eax,%eax
4ea6d9:	0f 84 df 02 00 00    	je     0x4ea9be
4ea6df:	8b c3                	mov    %ebx,%eax
4ea6e1:	2b c6                	sub    %esi,%eax
4ea6e3:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
4ea6ea:	50                   	push   %eax
4ea6eb:	8b 07                	mov    (%edi),%eax
4ea6ed:	6a 00                	push   $0x0
4ea6ef:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4ea6f2:	50                   	push   %eax
4ea6f3:	e8 78 85 0e 00       	call   0x5d2c70
4ea6f8:	8d 73 01             	lea    0x1(%ebx),%esi
4ea6fb:	83 c4 0c             	add    $0xc,%esp
4ea6fe:	89 77 04             	mov    %esi,0x4(%edi)
4ea701:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4ea705:	8b d6                	mov    %esi,%edx
4ea707:	2b d3                	sub    %ebx,%edx
4ea709:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4ea70d:	8b 00                	mov    (%eax),%eax
4ea70f:	8d 3c 95 00 00 00 00 	lea    0x0(,%edx,4),%edi
4ea716:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4ea719:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4ea71c:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4ea720:	83 c0 fc             	add    $0xfffffffc,%eax
4ea723:	89 44 24 24          	mov    %eax,0x24(%esp)
4ea727:	8b 45 00             	mov    0x0(%ebp),%eax
4ea72a:	8b 6c 98 fc          	mov    -0x4(%eax,%ebx,4),%ebp
4ea72e:	89 6c 24 28          	mov    %ebp,0x28(%esp)
4ea732:	83 fb 01             	cmp    $0x1,%ebx
4ea735:	75 0a                	jne    0x4ea741