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
49d7ee:	8b 46 1c             	mov    0x1c(%esi),%eax
49d7f1:	c1 e8 03             	shr    $0x3,%eax
49d7f4:	57                   	push   %edi
49d7f5:	8d 7e 04             	lea    0x4(%esi),%edi
49d7f8:	3b c1                	cmp    %ecx,%eax
49d7fa:	76 12                	jbe    0x49d80e
49d7fc:	8b 07                	mov    (%edi),%eax
49d7fe:	8b ce                	mov    %esi,%ecx
49d800:	50                   	push   %eax
49d801:	ff 30                	push   (%eax)
49d803:	e8 08 fb ff ff       	call   0x49d310
49d808:	5f                   	pop    %edi
49d809:	5e                   	pop    %esi
49d80a:	8b e5                	mov    %ebp,%esp
49d80c:	5d                   	pop    %ebp
49d80d:	c3                   	ret
49d80e:	ff 37                	push   (%edi)
49d810:	57                   	push   %edi
49d811:	e8 da c6 fd ff       	call   0x479ef0
49d816:	8b 07                	mov    (%edi),%eax
49d818:	89 00                	mov    %eax,(%eax)
49d81a:	8b 07                	mov    (%edi),%eax
49d81c:	89 40 04             	mov    %eax,0x4(%eax)
49d81f:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
49d826:	8b 07                	mov    (%edi),%eax
49d828:	89 45 fc             	mov    %eax,-0x4(%ebp)
49d82b:	8d 45 fc             	lea    -0x4(%ebp),%eax
49d82e:	50                   	push   %eax
49d82f:	ff 76 10             	push   0x10(%esi)
49d832:	ff 76 0c             	push   0xc(%esi)
49d835:	e8 76 8e fb ff       	call   0x4566b0
49d83a:	83 c4 14             	add    $0x14,%esp
49d83d:	5f                   	pop    %edi
49d83e:	5e                   	pop    %esi
49d83f:	8b e5                	mov    %ebp,%esp
49d841:	5d                   	pop    %ebp
49d842:	c3                   	ret
49d843:	cc                   	int3
49d844:	cc                   	int3
49d845:	cc                   	int3
49d846:	cc                   	int3
49d847:	cc                   	int3
49d848:	cc                   	int3
49d849:	cc                   	int3
49d84a:	cc                   	int3
49d84b:	cc                   	int3
49d84c:	cc                   	int3
49d84d:	cc                   	int3
49d84e:	cc                   	int3
49d84f:	cc                   	int3
49d850:	53                   	push   %ebx
49d851:	8b d9                	mov    %ecx,%ebx
49d853:	56                   	push   %esi
49d854:	57                   	push   %edi
49d855:	8b 3b                	mov    (%ebx),%edi
49d857:	8b 77 04             	mov    0x4(%edi),%esi
49d85a:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
49d85e:	75 20                	jne    0x49d880
49d860:	ff 76 08             	push   0x8(%esi)
49d863:	8b cb                	mov    %ebx,%ecx
49d865:	53                   	push   %ebx
49d866:	e8 f5 44 fc ff       	call   0x461d60
49d86b:	8b c6                	mov    %esi,%eax
49d86d:	8b 36                	mov    (%esi),%esi
49d86f:	6a 14                	push   $0x14
49d871:	50                   	push   %eax
49d872:	e8 de 39 13 00       	call   0x5d1255
49d877:	83 c4 08             	add    $0x8,%esp
49d87a:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
49d87e:	74 e0                	je     0x49d860
49d880:	89 7f 04             	mov    %edi,0x4(%edi)
49d883:	89 3f                	mov    %edi,(%edi)
49d885:	89 7f 08             	mov    %edi,0x8(%edi)
49d888:	5f                   	pop    %edi
49d889:	5e                   	pop    %esi
49d88a:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
49d891:	5b                   	pop    %ebx
49d892:	c3                   	ret
49d893:	cc                   	int3
49d894:	cc                   	int3
49d895:	cc                   	int3
49d896:	cc                   	int3
49d897:	cc                   	int3
49d898:	cc                   	int3
49d899:	cc                   	int3
49d89a:	cc                   	int3
49d89b:	cc                   	int3
49d89c:	cc                   	int3
49d89d:	cc                   	int3
49d89e:	cc                   	int3
49d89f:	cc                   	int3
49d8a0:	55                   	push   %ebp
49d8a1:	8b ec                	mov    %esp,%ebp
49d8a3:	8b 45 0c             	mov    0xc(%ebp),%eax
49d8a6:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
49d8ad:	8b 45 08             	mov    0x8(%ebp),%eax
49d8b0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49d8b6:	72 12                	jb     0x49d8ca
49d8b8:	8b 50 fc             	mov    -0x4(%eax),%edx
49d8bb:	83 c1 23             	add    $0x23,%ecx
49d8be:	2b c2                	sub    %edx,%eax
49d8c0:	83 c0 fc             	add    $0xfffffffc,%eax
49d8c3:	83 f8 1f             	cmp    $0x1f,%eax
49d8c6:	77 10                	ja     0x49d8d8
49d8c8:	8b c2                	mov    %edx,%eax
49d8ca:	51                   	push   %ecx
49d8cb:	50                   	push   %eax
49d8cc:	e8 84 39 13 00       	call   0x5d1255
49d8d1:	83 c4 08             	add    $0x8,%esp
49d8d4:	5d                   	pop    %ebp
49d8d5:	c2 08 00             	ret    $0x8
49d8d8:	e8 13 89 13 00       	call   0x5d61f0
49d8dd:	cc                   	int3
49d8de:	cc                   	int3
49d8df:	cc                   	int3
49d8e0:	55                   	push   %ebp
49d8e1:	8b ec                	mov    %esp,%ebp
49d8e3:	8b 45 0c             	mov    0xc(%ebp),%eax
49d8e6:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
49d8e9:	8b 45 08             	mov    0x8(%ebp),%eax
49d8ec:	c1 e1 03             	shl    $0x3,%ecx
49d8ef:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49d8f5:	72 12                	jb     0x49d909
49d8f7:	8b 50 fc             	mov    -0x4(%eax),%edx
49d8fa:	83 c1 23             	add    $0x23,%ecx
49d8fd:	2b c2                	sub    %edx,%eax
49d8ff:	83 c0 fc             	add    $0xfffffffc,%eax
49d902:	83 f8 1f             	cmp    $0x1f,%eax
49d905:	77 10                	ja     0x49d917
49d907:	8b c2                	mov    %edx,%eax
49d909:	51                   	push   %ecx
49d90a:	50                   	push   %eax
49d90b:	e8 45 39 13 00       	call   0x5d1255
49d910:	83 c4 08             	add    $0x8,%esp
49d913:	5d                   	pop    %ebp
49d914:	c2 08 00             	ret    $0x8
49d917:	e8 d4 88 13 00       	call   0x5d61f0
49d91c:	cc                   	int3
49d91d:	cc                   	int3
49d91e:	cc                   	int3
49d91f:	cc                   	int3
49d920:	55                   	push   %ebp
49d921:	8b ec                	mov    %esp,%ebp
49d923:	8b 45 0c             	mov    0xc(%ebp),%eax
49d926:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
49d929:	8b 45 08             	mov    0x8(%ebp),%eax
49d92c:	c1 e1 02             	shl    $0x2,%ecx
49d92f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49d935:	72 12                	jb     0x49d949
49d937:	8b 50 fc             	mov    -0x4(%eax),%edx
49d93a:	83 c1 23             	add    $0x23,%ecx
49d93d:	2b c2                	sub    %edx,%eax
49d93f:	83 c0 fc             	add    $0xfffffffc,%eax
49d942:	83 f8 1f             	cmp    $0x1f,%eax
49d945:	77 10                	ja     0x49d957
49d947:	8b c2                	mov    %edx,%eax
49d949:	51                   	push   %ecx
49d94a:	50                   	push   %eax
49d94b:	e8 05 39 13 00       	call   0x5d1255
49d950:	83 c4 08             	add    $0x8,%esp
49d953:	5d                   	pop    %ebp
49d954:	c2 08 00             	ret    $0x8
49d957:	e8 94 88 13 00       	call   0x5d61f0
49d95c:	cc                   	int3
49d95d:	cc                   	int3
49d95e:	cc                   	int3
49d95f:	cc                   	int3
49d960:	55                   	push   %ebp
49d961:	8b ec                	mov    %esp,%ebp
49d963:	51                   	push   %ecx
49d964:	56                   	push   %esi
49d965:	8b f1                	mov    %ecx,%esi
49d967:	8b 46 18             	mov    0x18(%esi),%eax
49d96a:	85 c0                	test   %eax,%eax
49d96c:	74 15                	je     0x49d983