49d49a:	83 c4 08             	add    $0x8,%esp
49d49d:	3b 5d 08             	cmp    0x8(%ebp),%ebx
49d4a0:	75 e3                	jne    0x49d485
49d4a2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
49d4a5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49d4a8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
49d4ab:	89 11                	mov    %edx,(%ecx)
49d4ad:	89 51 04             	mov    %edx,0x4(%ecx)
49d4b0:	3b f3                	cmp    %ebx,%esi
49d4b2:	0f 85 58 ff ff ff    	jne    0x49d410
49d4b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
49d4bb:	5f                   	pop    %edi
49d4bc:	89 30                	mov    %esi,(%eax)
49d4be:	89 46 04             	mov    %eax,0x4(%esi)
49d4c1:	8b c3                	mov    %ebx,%eax
49d4c3:	5e                   	pop    %esi
49d4c4:	5b                   	pop    %ebx
49d4c5:	8b e5                	mov    %ebp,%esp
49d4c7:	5d                   	pop    %ebp
49d4c8:	c2 08 00             	ret    $0x8
49d4cb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49d4ce:	5f                   	pop    %edi
49d4cf:	89 31                	mov    %esi,(%ecx)
49d4d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49d4d4:	89 31                	mov    %esi,(%ecx)
49d4d6:	89 4e 04             	mov    %ecx,0x4(%esi)
49d4d9:	5e                   	pop    %esi
49d4da:	5b                   	pop    %ebx
49d4db:	8b e5                	mov    %ebp,%esp
49d4dd:	5d                   	pop    %ebp
49d4de:	c2 08 00             	ret    $0x8
49d4e1:	cc                   	int3
49d4e2:	cc                   	int3
49d4e3:	cc                   	int3
49d4e4:	cc                   	int3
49d4e5:	cc                   	int3
49d4e6:	cc                   	int3
49d4e7:	cc                   	int3
49d4e8:	cc                   	int3
49d4e9:	cc                   	int3
49d4ea:	cc                   	int3
49d4eb:	cc                   	int3
49d4ec:	cc                   	int3
49d4ed:	cc                   	int3
49d4ee:	cc                   	int3
49d4ef:	cc                   	int3
49d4f0:	68 a4 a5 60 00       	push   $0x60a5a4
49d4f5:	e8 fc 36 13 00       	call   0x5d0bf6
49d4fa:	cc                   	int3
49d4fb:	cc                   	int3
49d4fc:	cc                   	int3
49d4fd:	cc                   	int3
49d4fe:	cc                   	int3
49d4ff:	cc                   	int3
49d500:	55                   	push   %ebp
49d501:	8b ec                	mov    %esp,%ebp
49d503:	8b 45 08             	mov    0x8(%ebp),%eax
49d506:	3d 66 66 66 06       	cmp    $0x6666666,%eax
49d50b:	77 47                	ja     0x49d554
49d50d:	8d 04 80             	lea    (%eax,%eax,4),%eax
49d510:	c1 e0 03             	shl    $0x3,%eax
49d513:	3d 00 10 00 00       	cmp    $0x1000,%eax
49d518:	72 23                	jb     0x49d53d
49d51a:	8d 48 23             	lea    0x23(%eax),%ecx
49d51d:	3b c8                	cmp    %eax,%ecx
49d51f:	76 33                	jbe    0x49d554
49d521:	51                   	push   %ecx
49d522:	e8 fe 3c 13 00       	call   0x5d1225
49d527:	8b c8                	mov    %eax,%ecx
49d529:	83 c4 04             	add    $0x4,%esp
49d52c:	85 c9                	test   %ecx,%ecx
49d52e:	74 29                	je     0x49d559
49d530:	8d 41 23             	lea    0x23(%ecx),%eax
49d533:	83 e0 e0             	and    $0xffffffe0,%eax
49d536:	89 48 fc             	mov    %ecx,-0x4(%eax)
49d539:	5d                   	pop    %ebp
49d53a:	c2 04 00             	ret    $0x4
49d53d:	85 c0                	test   %eax,%eax
49d53f:	74 0d                	je     0x49d54e
49d541:	50                   	push   %eax
49d542:	e8 de 3c 13 00       	call   0x5d1225
49d547:	83 c4 04             	add    $0x4,%esp
49d54a:	5d                   	pop    %ebp
49d54b:	c2 04 00             	ret    $0x4
49d54e:	33 c0                	xor    %eax,%eax
49d550:	5d                   	pop    %ebp
49d551:	c2 04 00             	ret    $0x4
49d554:	e8 97 a0 fa ff       	call   0x4475f0
49d559:	e8 92 8c 13 00       	call   0x5d61f0
49d55e:	cc                   	int3
49d55f:	cc                   	int3
49d560:	55                   	push   %ebp
49d561:	8b ec                	mov    %esp,%ebp
49d563:	8b 45 08             	mov    0x8(%ebp),%eax
49d566:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
49d56b:	77 44                	ja     0x49d5b1
49d56d:	c1 e0 03             	shl    $0x3,%eax
49d570:	3d 00 10 00 00       	cmp    $0x1000,%eax
49d575:	72 23                	jb     0x49d59a
49d577:	8d 48 23             	lea    0x23(%eax),%ecx
49d57a:	3b c8                	cmp    %eax,%ecx
49d57c:	76 33                	jbe    0x49d5b1
49d57e:	51                   	push   %ecx
49d57f:	e8 a1 3c 13 00       	call   0x5d1225
49d584:	8b c8                	mov    %eax,%ecx
49d586:	83 c4 04             	add    $0x4,%esp
49d589:	85 c9                	test   %ecx,%ecx
49d58b:	74 29                	je     0x49d5b6
49d58d:	8d 41 23             	lea    0x23(%ecx),%eax
49d590:	83 e0 e0             	and    $0xffffffe0,%eax
49d593:	89 48 fc             	mov    %ecx,-0x4(%eax)
49d596:	5d                   	pop    %ebp
49d597:	c2 04 00             	ret    $0x4
49d59a:	85 c0                	test   %eax,%eax
49d59c:	74 0d                	je     0x49d5ab
49d59e:	50                   	push   %eax
49d59f:	e8 81 3c 13 00       	call   0x5d1225
49d5a4:	83 c4 04             	add    $0x4,%esp
49d5a7:	5d                   	pop    %ebp
49d5a8:	c2 04 00             	ret    $0x4
49d5ab:	33 c0                	xor    %eax,%eax
49d5ad:	5d                   	pop    %ebp
49d5ae:	c2 04 00             	ret    $0x4
49d5b1:	e8 3a a0 fa ff       	call   0x4475f0
49d5b6:	e8 35 8c 13 00       	call   0x5d61f0
49d5bb:	cc                   	int3
49d5bc:	cc                   	int3
49d5bd:	cc                   	int3
49d5be:	cc                   	int3
49d5bf:	cc                   	int3
49d5c0:	55                   	push   %ebp
49d5c1:	8b ec                	mov    %esp,%ebp
49d5c3:	8b 45 08             	mov    0x8(%ebp),%eax
49d5c6:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
49d5cb:	77 47                	ja     0x49d614
49d5cd:	8d 04 40             	lea    (%eax,%eax,2),%eax
49d5d0:	c1 e0 03             	shl    $0x3,%eax
49d5d3:	3d 00 10 00 00       	cmp    $0x1000,%eax
49d5d8:	72 23                	jb     0x49d5fd
49d5da:	8d 48 23             	lea    0x23(%eax),%ecx
49d5dd:	3b c8                	cmp    %eax,%ecx
49d5df:	76 33                	jbe    0x49d614
49d5e1:	51                   	push   %ecx
49d5e2:	e8 3e 3c 13 00       	call   0x5d1225
49d5e7:	8b c8                	mov    %eax,%ecx
49d5e9:	83 c4 04             	add    $0x4,%esp
49d5ec:	85 c9                	test   %ecx,%ecx
49d5ee:	74 29                	je     0x49d619
49d5f0:	8d 41 23             	lea    0x23(%ecx),%eax
49d5f3:	83 e0 e0             	and    $0xffffffe0,%eax
49d5f6:	89 48 fc             	mov    %ecx,-0x4(%eax)
49d5f9:	5d                   	pop    %ebp
49d5fa:	c2 04 00             	ret    $0x4
49d5fd:	85 c0                	test   %eax,%eax
49d5ff:	74 0d                	je     0x49d60e
49d601:	50                   	push   %eax
49d602:	e8 1e 3c 13 00       	call   0x5d1225
49d607:	83 c4 04             	add    $0x4,%esp
49d60a:	5d                   	pop    %ebp
49d60b:	c2 04 00             	ret    $0x4
49d60e:	33 c0                	xor    %eax,%eax
49d610:	5d                   	pop    %ebp
49d611:	c2 04 00             	ret    $0x4
49d614:	e8 d7 9f fa ff       	call   0x4475f0
49d619:	e8 d2 8b 13 00       	call   0x5d61f0
49d61e:	cc                   	int3
49d61f:	cc                   	int3
49d620:	55                   	push   %ebp
49d621:	8b ec                	mov    %esp,%ebp
49d623:	8b 45 08             	mov    0x8(%ebp),%eax
49d626:	3d 55 55 55 15       	cmp    $0x15555555,%eax
49d62b:	77 47                	ja     0x49d674
49d62d:	8d 04 40             	lea    (%eax,%eax,2),%eax
49d630:	c1 e0 02             	shl    $0x2,%eax
49d633:	3d 00 10 00 00       	cmp    $0x1000,%eax
49d638:	72 23                	jb     0x49d65d
49d63a:	8d 48 23             	lea    0x23(%eax),%ecx
49d63d:	3b c8                	cmp    %eax,%ecx
49d63f:	76 33                	jbe    0x49d674
49d641:	51                   	push   %ecx
49d642:	e8 de 3b 13 00       	call   0x5d1225
49d647:	8b c8                	mov    %eax,%ecx
49d649:	83 c4 04             	add    $0x4,%esp
49d64c:	85 c9                	test   %ecx,%ecx
49d64e:	74 29                	je     0x49d679
49d650:	8d 41 23             	lea    0x23(%ecx),%eax
49d653:	83 e0 e0             	and    $0xffffffe0,%eax
49d656:	89 48 fc             	mov    %ecx,-0x4(%eax)
49d659:	5d                   	pop    %ebp
49d65a:	c2 04 00             	ret    $0x4
49d65d:	85 c0                	test   %eax,%eax
49d65f:	74 0d                	je     0x49d66e
49d661:	50                   	push   %eax
49d662:	e8 be 3b 13 00       	call   0x5d1225
49d667:	83 c4 04             	add    $0x4,%esp
49d66a:	5d                   	pop    %ebp
49d66b:	c2 04 00             	ret    $0x4
49d66e:	33 c0                	xor    %eax,%eax
49d670:	5d                   	pop    %ebp
49d671:	c2 04 00             	ret    $0x4
49d674:	e8 77 9f fa ff       	call   0x4475f0
49d679:	e8 72 8b 13 00       	call   0x5d61f0
49d67e:	cc                   	int3
49d67f:	cc                   	int3
49d680:	55                   	push   %ebp
49d681:	8b ec                	mov    %esp,%ebp
49d683:	83 ec 10             	sub    $0x10,%esp
49d686:	53                   	push   %ebx
49d687:	8b 5d 08             	mov    0x8(%ebp),%ebx
49d68a:	56                   	push   %esi
49d68b:	57                   	push   %edi
49d68c:	8b f9                	mov    %ecx,%edi
49d68e:	8b 57 14             	mov    0x14(%edi),%edx
49d691:	8b c2                	mov    %edx,%eax
49d693:	8b 77 10             	mov    0x10(%edi),%esi
49d696:	2b c6                	sub    %esi,%eax
49d698:	89 75 f4             	mov    %esi,-0xc(%ebp)
49d69b:	89 55 fc             	mov    %edx,-0x4(%ebp)
49d69e:	3b d8                	cmp    %eax,%ebx
49d6a0:	77 2f                	ja     0x49d6d1
49d6a2:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
49d6a5:	89 47 10             	mov    %eax,0x10(%edi)
49d6a8:	8b c7                	mov    %edi,%eax
49d6aa:	83 fa 10             	cmp    $0x10,%edx
49d6ad:	72 02                	jb     0x49d6b1
49d6af:	8b 07                	mov    (%edi),%eax
49d6b1:	03 f0                	add    %eax,%esi
49d6b3:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
49d6b7:	53                   	push   %ebx
49d6b8:	50                   	push   %eax
49d6b9:	56                   	push   %esi
49d6ba:	e8 b1 55 13 00       	call   0x5d2c70
49d6bf:	83 c4 0c             	add    $0xc,%esp
49d6c2:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
49d6c6:	8b c7                	mov    %edi,%eax
49d6c8:	5f                   	pop    %edi
49d6c9:	5e                   	pop    %esi
49d6ca:	5b                   	pop    %ebx
49d6cb:	8b e5                	mov    %ebp,%esp
49d6cd:	5d                   	pop    %ebp
49d6ce:	c2 08 00             	ret    $0x8
49d6d1:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
49d6d6:	2b c6                	sub    %esi,%eax
49d6d8:	3b c3                	cmp    %ebx,%eax
49d6da:	0f 82 f4 00 00 00    	jb     0x49d7d4
49d6e0:	8d 0c 1e             	lea    (%esi,%ebx,1),%ecx
49d6e3:	83 c9 0f             	or     $0xf,%ecx
49d6e6:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
49d6ec:	76 07                	jbe    0x49d6f5
49d6ee:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
49d6f3:	eb 24                	jmp    0x49d719
49d6f5:	8b c2                	mov    %edx,%eax
49d6f7:	d1 e8                	shr    $1,%eax
49d6f9:	89 45 08             	mov    %eax,0x8(%ebp)
49d6fc:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
49d701:	2b 45 08             	sub    0x8(%ebp),%eax
49d704:	3b d0                	cmp    %eax,%edx
49d706:	76 07                	jbe    0x49d70f
49d708:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
49d70d:	eb 0a                	jmp    0x49d719
49d70f:	8b 45 08             	mov    0x8(%ebp),%eax
49d712:	03 c2                	add    %edx,%eax
49d714:	3b c8                	cmp    %eax,%ecx
49d716:	0f 42 c8             	cmovb  %eax,%ecx
49d719:	8d 41 01             	lea    0x1(%ecx),%eax
49d71c:	89 4d 08             	mov    %ecx,0x8(%ebp)
49d71f:	50                   	push   %eax
49d720:	8b cf                	mov    %edi,%ecx
49d722:	e8 f9 b6 fb ff       	call   0x458e20
49d727:	8d 0c 1e             	lea    (%esi,%ebx,1),%ecx
49d72a:	89 45 f0             	mov    %eax,-0x10(%ebp)
49d72d:	89 4f 10             	mov    %ecx,0x10(%edi)
49d730:	8b 4d 08             	mov    0x8(%ebp),%ecx
49d733:	89 4f 14             	mov    %ecx,0x14(%edi)
49d736:	0f be 4d 0c          	movsbl 0xc(%ebp),%ecx
49d73a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
49d73d:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
49d740:	89 4d 08             	mov    %ecx,0x8(%ebp)
49d743:	03 cb                	add    %ebx,%ecx
49d745:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
49d749:	89 4d f8             	mov    %ecx,-0x8(%ebp)
49d74c:	72 59                	jb     0x49d7a7
49d74e:	ff 75 f4             	push   -0xc(%ebp)
49d751:	8b 37                	mov    (%edi),%esi
49d753:	56                   	push   %esi
49d754:	50                   	push   %eax
49d755:	e8 76 56 13 00       	call   0x5d2dd0
49d75a:	53                   	push   %ebx
49d75b:	ff 75 0c             	push   0xc(%ebp)
49d75e:	ff 75 08             	push   0x8(%ebp)
49d761:	e8 0a 55 13 00       	call   0x5d2c70
49d766:	8b 45 f8             	mov    -0x8(%ebp),%eax
49d769:	83 c4 18             	add    $0x18,%esp
49d76c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49d76f:	41                   	inc    %ecx
49d770:	c6 00 00             	movb   $0x0,(%eax)
49d773:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49d779:	72 12                	jb     0x49d78d
49d77b:	8b 56 fc             	mov    -0x4(%esi),%edx
49d77e:	83 c1 23             	add    $0x23,%ecx
49d781:	2b f2                	sub    %edx,%esi
49d783:	8d 46 fc             	lea    -0x4(%esi),%eax
49d786:	83 f8 1f             	cmp    $0x1f,%eax
49d789:	77 4e                	ja     0x49d7d9
49d78b:	8b f2                	mov    %edx,%esi
49d78d:	51                   	push   %ecx
49d78e:	56                   	push   %esi
49d78f:	e8 c1 3a 13 00       	call   0x5d1255
49d794:	8b 45 f0             	mov    -0x10(%ebp),%eax
49d797:	83 c4 08             	add    $0x8,%esp
49d79a:	89 07                	mov    %eax,(%edi)
49d79c:	8b c7                	mov    %edi,%eax
49d79e:	5f                   	pop    %edi
49d79f:	5e                   	pop    %esi
49d7a0:	5b                   	pop    %ebx
49d7a1:	8b e5                	mov    %ebp,%esp
49d7a3:	5d                   	pop    %ebp
49d7a4:	c2 08 00             	ret    $0x8
49d7a7:	56                   	push   %esi
49d7a8:	57                   	push   %edi
49d7a9:	50                   	push   %eax
49d7aa:	e8 21 56 13 00       	call   0x5d2dd0
49d7af:	53                   	push   %ebx
49d7b0:	ff 75 0c             	push   0xc(%ebp)
49d7b3:	ff 75 08             	push   0x8(%ebp)
49d7b6:	e8 b5 54 13 00       	call   0x5d2c70
49d7bb:	8b 45 f8             	mov    -0x8(%ebp),%eax
49d7be:	83 c4 18             	add    $0x18,%esp
49d7c1:	c6 00 00             	movb   $0x0,(%eax)
49d7c4:	8b 45 f0             	mov    -0x10(%ebp),%eax
49d7c7:	89 07                	mov    %eax,(%edi)
49d7c9:	8b c7                	mov    %edi,%eax
49d7cb:	5f                   	pop    %edi
49d7cc:	5e                   	pop    %esi
49d7cd:	5b                   	pop    %ebx
49d7ce:	8b e5                	mov    %ebp,%esp
49d7d0:	5d                   	pop    %ebp
49d7d1:	c2 08 00             	ret    $0x8
49d7d4:	e8 37 9e fa ff       	call   0x447610
49d7d9:	e8 12 8a 13 00       	call   0x5d61f0
49d7de:	cc                   	int3
49d7df:	cc                   	int3
49d7e0:	55                   	push   %ebp
49d7e1:	8b ec                	mov    %esp,%ebp
49d7e3:	51                   	push   %ecx
49d7e4:	56                   	push   %esi
49d7e5:	8b f1                	mov    %ecx,%esi
49d7e7:	8b 4e 08             	mov    0x8(%esi),%ecx
49d7ea:	85 c9                	test   %ecx,%ecx
49d7ec:	74 50                	je     0x49d83e