49b696:	57                   	push   %edi
49b697:	a1 d4 89 72 00       	mov    0x7289d4,%eax
49b69c:	33 c5                	xor    %ebp,%eax
49b69e:	50                   	push   %eax
49b69f:	8d 45 f4             	lea    -0xc(%ebp),%eax
49b6a2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49b6a8:	89 65 f0             	mov    %esp,-0x10(%ebp)
49b6ab:	8b f9                	mov    %ecx,%edi
49b6ad:	89 7d d8             	mov    %edi,-0x28(%ebp)
49b6b0:	8b 75 08             	mov    0x8(%ebp),%esi
49b6b3:	b8 93 24 49 92       	mov    $0x92492493,%eax
49b6b8:	2b 37                	sub    (%edi),%esi
49b6ba:	8b 4f 04             	mov    0x4(%edi),%ecx
49b6bd:	2b 0f                	sub    (%edi),%ecx
49b6bf:	f7 ee                	imul   %esi
49b6c1:	03 d6                	add    %esi,%edx
49b6c3:	c1 fa 04             	sar    $0x4,%edx
49b6c6:	8b c2                	mov    %edx,%eax
49b6c8:	c1 e8 1f             	shr    $0x1f,%eax
49b6cb:	03 c2                	add    %edx,%eax
49b6cd:	89 45 e8             	mov    %eax,-0x18(%ebp)
49b6d0:	b8 93 24 49 92       	mov    $0x92492493,%eax
49b6d5:	f7 e9                	imul   %ecx
49b6d7:	03 d1                	add    %ecx,%edx
49b6d9:	c1 fa 04             	sar    $0x4,%edx
49b6dc:	8b c2                	mov    %edx,%eax
49b6de:	c1 e8 1f             	shr    $0x1f,%eax
49b6e1:	03 c2                	add    %edx,%eax
49b6e3:	89 45 e0             	mov    %eax,-0x20(%ebp)
49b6e6:	3d 49 92 24 09       	cmp    $0x9249249,%eax
49b6eb:	0f 84 92 01 00 00    	je     0x49b883
49b6f1:	8b 4f 08             	mov    0x8(%edi),%ecx
49b6f4:	8d 58 01             	lea    0x1(%eax),%ebx
49b6f7:	2b 0f                	sub    (%edi),%ecx
49b6f9:	b8 93 24 49 92       	mov    $0x92492493,%eax
49b6fe:	f7 e9                	imul   %ecx
49b700:	b8 49 92 24 09       	mov    $0x9249249,%eax
49b705:	03 d1                	add    %ecx,%edx
49b707:	c1 fa 04             	sar    $0x4,%edx
49b70a:	8b ca                	mov    %edx,%ecx
49b70c:	c1 e9 1f             	shr    $0x1f,%ecx
49b70f:	03 ca                	add    %edx,%ecx
49b711:	8b d1                	mov    %ecx,%edx
49b713:	d1 ea                	shr    $1,%edx
49b715:	2b c2                	sub    %edx,%eax
49b717:	3b c8                	cmp    %eax,%ecx
49b719:	76 07                	jbe    0x49b722
49b71b:	8b c3                	mov    %ebx,%eax
49b71d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
49b720:	eb 0b                	jmp    0x49b72d
49b722:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
49b725:	3b c3                	cmp    %ebx,%eax
49b727:	0f 42 c3             	cmovb  %ebx,%eax
49b72a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
49b72d:	3d 49 92 24 09       	cmp    $0x9249249,%eax
49b732:	0f 87 46 01 00 00    	ja     0x49b87e
49b738:	8d 1c c5 00 00 00 00 	lea    0x0(,%eax,8),%ebx
49b73f:	2b d8                	sub    %eax,%ebx
49b741:	c1 e3 02             	shl    $0x2,%ebx
49b744:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
49b74a:	72 27                	jb     0x49b773
49b74c:	8d 43 23             	lea    0x23(%ebx),%eax
49b74f:	3b c3                	cmp    %ebx,%eax
49b751:	0f 86 27 01 00 00    	jbe    0x49b87e
49b757:	50                   	push   %eax
49b758:	e8 e5 58 14 00       	call   0x5e1042
49b75d:	83 c4 04             	add    $0x4,%esp
49b760:	85 c0                	test   %eax,%eax
49b762:	0f 84 20 01 00 00    	je     0x49b888
49b768:	8d 70 23             	lea    0x23(%eax),%esi
49b76b:	83 e6 e0             	and    $0xffffffe0,%esi
49b76e:	89 46 fc             	mov    %eax,-0x4(%esi)
49b771:	eb 16                	jmp    0x49b789
49b773:	85 db                	test   %ebx,%ebx
49b775:	74 10                	je     0x49b787
49b777:	53                   	push   %ebx
49b778:	e8 c5 58 14 00       	call   0x5e1042
49b77d:	83 c4 04             	add    $0x4,%esp
49b780:	89 45 ec             	mov    %eax,-0x14(%ebp)
49b783:	8b f0                	mov    %eax,%esi
49b785:	eb 05                	jmp    0x49b78c
49b787:	33 f6                	xor    %esi,%esi
49b789:	89 75 ec             	mov    %esi,-0x14(%ebp)
49b78c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
49b78f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49b796:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
49b79d:	2b c1                	sub    %ecx,%eax
49b79f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
49b7a2:	8d 14 86             	lea    (%esi,%eax,4),%edx
49b7a5:	8d 42 1c             	lea    0x1c(%edx),%eax
49b7a8:	89 55 dc             	mov    %edx,-0x24(%ebp)
49b7ab:	89 45 e8             	mov    %eax,-0x18(%ebp)
49b7ae:	8b 01                	mov    (%ecx),%eax
49b7b0:	89 02                	mov    %eax,(%edx)
49b7b2:	8d 41 04             	lea    0x4(%ecx),%eax
49b7b5:	50                   	push   %eax
49b7b6:	8d 4a 04             	lea    0x4(%edx),%ecx
49b7b9:	e8 e2 15 fa ff       	call   0x43cda0
49b7be:	8b 47 04             	mov    0x4(%edi),%eax
49b7c1:	8b 55 08             	mov    0x8(%ebp),%edx
49b7c4:	8b 0f                	mov    (%edi),%ecx
49b7c6:	3b d0                	cmp    %eax,%edx
49b7c8:	75 04                	jne    0x49b7ce
49b7ca:	8b d6                	mov    %esi,%edx
49b7cc:	eb 15                	jmp    0x49b7e3
49b7ce:	57                   	push   %edi
49b7cf:	56                   	push   %esi
49b7d0:	52                   	push   %edx
49b7d1:	51                   	push   %ecx
49b7d2:	e8 89 02 00 00       	call   0x49ba60
49b7d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
49b7da:	83 c4 10             	add    $0x10,%esp
49b7dd:	8b 47 04             	mov    0x4(%edi),%eax
49b7e0:	8b 55 e8             	mov    -0x18(%ebp),%edx
49b7e3:	57                   	push   %edi
49b7e4:	52                   	push   %edx
49b7e5:	50                   	push   %eax
49b7e6:	51                   	push   %ecx
49b7e7:	e8 74 02 00 00       	call   0x49ba60
49b7ec:	8b 0f                	mov    (%edi),%ecx
49b7ee:	83 c4 10             	add    $0x10,%esp
49b7f1:	85 c9                	test   %ecx,%ecx
49b7f3:	74 57                	je     0x49b84c
49b7f5:	57                   	push   %edi
49b7f6:	ff 77 04             	push   0x4(%edi)
49b7f9:	51                   	push   %ecx
49b7fa:	e8 61 fd ff ff       	call   0x49b560
49b7ff:	8b 4f 08             	mov    0x8(%edi),%ecx
49b802:	b8 93 24 49 92       	mov    $0x92492493,%eax
49b807:	2b 0f                	sub    (%edi),%ecx
49b809:	83 c4 0c             	add    $0xc,%esp
49b80c:	f7 e9                	imul   %ecx
49b80e:	03 d1                	add    %ecx,%edx
49b810:	c1 fa 04             	sar    $0x4,%edx
49b813:	8b c2                	mov    %edx,%eax
49b815:	c1 e8 1f             	shr    $0x1f,%eax
49b818:	03 c2                	add    %edx,%eax
49b81a:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
49b821:	2b c8                	sub    %eax,%ecx
49b823:	8b 07                	mov    (%edi),%eax
49b825:	c1 e1 02             	shl    $0x2,%ecx
49b828:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49b82e:	72 12                	jb     0x49b842
49b830:	8b 50 fc             	mov    -0x4(%eax),%edx
49b833:	83 c1 23             	add    $0x23,%ecx
49b836:	2b c2                	sub    %edx,%eax
49b838:	83 c0 fc             	add    $0xfffffffc,%eax
49b83b:	83 f8 1f             	cmp    $0x1f,%eax
49b83e:	77 48                	ja     0x49b888
49b840:	8b c2                	mov    %edx,%eax
49b842:	51                   	push   %ecx
49b843:	50                   	push   %eax
49b844:	e8 29 58 14 00       	call   0x5e1072
49b849:	83 c4 08             	add    $0x8,%esp
49b84c:	8b 55 e0             	mov    -0x20(%ebp),%edx
49b84f:	8b 45 dc             	mov    -0x24(%ebp),%eax
49b852:	42                   	inc    %edx
49b853:	89 37                	mov    %esi,(%edi)
49b855:	8d 0c d5 00 00 00 00 	lea    0x0(,%edx,8),%ecx
49b85c:	2b ca                	sub    %edx,%ecx
49b85e:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
49b861:	89 4f 04             	mov    %ecx,0x4(%edi)
49b864:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
49b867:	89 4f 08             	mov    %ecx,0x8(%edi)
49b86a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49b86d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
49b874:	59                   	pop    %ecx
49b875:	5f                   	pop    %edi
49b876:	5e                   	pop    %esi
49b877:	5b                   	pop    %ebx
49b878:	8b e5                	mov    %ebp,%esp
49b87a:	5d                   	pop    %ebp
49b87b:	c2 08 00             	ret    $0x8
49b87e:	e8 5d 96 fa ff       	call   0x444ee0
49b883:	e8 b8 97 fa ff       	call   0x445040
49b888:	e8 a2 16 15 00       	call   0x5ecf2f
49b88d:	8b 45 e8             	mov    -0x18(%ebp),%eax
49b890:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49b893:	50                   	push   %eax
49b894:	50                   	push   %eax
49b895:	e8 c6 23 00 00       	call   0x49dc60
49b89a:	ff 75 e4             	push   -0x1c(%ebp)
49b89d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49b8a0:	ff 75 ec             	push   -0x14(%ebp)
49b8a3:	e8 d8 23 00 00       	call   0x49dc80
49b8a8:	6a 00                	push   $0x0
49b8aa:	6a 00                	push   $0x0
49b8ac:	e8 81 71 14 00       	call   0x5e2a32
49b8b1:	cc                   	int3
49b8b2:	cc                   	int3
49b8b3:	cc                   	int3
49b8b4:	cc                   	int3
49b8b5:	cc                   	int3
49b8b6:	cc                   	int3
49b8b7:	cc                   	int3
49b8b8:	cc                   	int3
49b8b9:	cc                   	int3
49b8ba:	cc                   	int3
49b8bb:	cc                   	int3
49b8bc:	cc                   	int3
49b8bd:	cc                   	int3
49b8be:	cc                   	int3
49b8bf:	cc                   	int3
49b8c0:	55                   	push   %ebp
49b8c1:	8b ec                	mov    %esp,%ebp
49b8c3:	53                   	push   %ebx
49b8c4:	56                   	push   %esi
49b8c5:	8b 75 0c             	mov    0xc(%ebp),%esi
49b8c8:	8b d9                	mov    %ecx,%ebx
49b8ca:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
49b8ce:	75 25                	jne    0x49b8f5
49b8d0:	57                   	push   %edi
49b8d1:	8b 7d 08             	mov    0x8(%ebp),%edi
49b8d4:	ff 76 08             	push   0x8(%esi)
49b8d7:	8b cb                	mov    %ebx,%ecx
49b8d9:	57                   	push   %edi
49b8da:	e8 e1 ff ff ff       	call   0x49b8c0
49b8df:	8b c6                	mov    %esi,%eax
49b8e1:	8b 36                	mov    (%esi),%esi
49b8e3:	6a 14                	push   $0x14
49b8e5:	50                   	push   %eax
49b8e6:	e8 87 57 14 00       	call   0x5e1072
49b8eb:	83 c4 08             	add    $0x8,%esp
49b8ee:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
49b8f2:	74 e0                	je     0x49b8d4
49b8f4:	5f                   	pop    %edi
49b8f5:	5e                   	pop    %esi
49b8f6:	5b                   	pop    %ebx
49b8f7:	5d                   	pop    %ebp
49b8f8:	c2 08 00             	ret    $0x8
49b8fb:	cc                   	int3
49b8fc:	cc                   	int3
49b8fd:	cc                   	int3
49b8fe:	cc                   	int3
49b8ff:	cc                   	int3
49b900:	55                   	push   %ebp
49b901:	8b ec                	mov    %esp,%ebp
49b903:	51                   	push   %ecx
49b904:	57                   	push   %edi
49b905:	8b 7d 0c             	mov    0xc(%ebp),%edi
49b908:	8b c1                	mov    %ecx,%eax
49b90a:	89 45 fc             	mov    %eax,-0x4(%ebp)
49b90d:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49b911:	75 6e                	jne    0x49b981
49b913:	53                   	push   %ebx
49b914:	8b 5d 08             	mov    0x8(%ebp),%ebx
49b917:	56                   	push   %esi
49b918:	ff 77 08             	push   0x8(%edi)
49b91b:	8b c8                	mov    %eax,%ecx
49b91d:	53                   	push   %ebx
49b91e:	e8 dd ff ff ff       	call   0x49b900
49b923:	8b f7                	mov    %edi,%esi
49b925:	8b 3f                	mov    (%edi),%edi
49b927:	8b 4e 24             	mov    0x24(%esi),%ecx
49b92a:	83 f9 10             	cmp    $0x10,%ecx
49b92d:	72 28                	jb     0x49b957
49b92f:	8b 46 10             	mov    0x10(%esi),%eax
49b932:	41                   	inc    %ecx
49b933:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49b939:	72 12                	jb     0x49b94d
49b93b:	8b 50 fc             	mov    -0x4(%eax),%edx
49b93e:	83 c1 23             	add    $0x23,%ecx
49b941:	2b c2                	sub    %edx,%eax
49b943:	83 c0 fc             	add    $0xfffffffc,%eax
49b946:	83 f8 1f             	cmp    $0x1f,%eax
49b949:	77 3d                	ja     0x49b988
49b94b:	8b c2                	mov    %edx,%eax
49b94d:	51                   	push   %ecx
49b94e:	50                   	push   %eax
49b94f:	e8 1e 57 14 00       	call   0x5e1072
49b954:	83 c4 08             	add    $0x8,%esp
49b957:	6a 2c                	push   $0x2c
49b959:	56                   	push   %esi
49b95a:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
49b961:	c7 46 24 0f 00 00 00 	movl   $0xf,0x24(%esi)
49b968:	c6 46 10 00          	movb   $0x0,0x10(%esi)
49b96c:	e8 01 57 14 00       	call   0x5e1072
49b971:	83 c4 08             	add    $0x8,%esp
49b974:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49b978:	75 05                	jne    0x49b97f
49b97a:	8b 45 fc             	mov    -0x4(%ebp),%eax
49b97d:	eb 99                	jmp    0x49b918
49b97f:	5e                   	pop    %esi
49b980:	5b                   	pop    %ebx
49b981:	5f                   	pop    %edi
49b982:	8b e5                	mov    %ebp,%esp
49b984:	5d                   	pop    %ebp
49b985:	c2 08 00             	ret    $0x8
49b988:	e8 a2 15 15 00       	call   0x5ecf2f
49b98d:	cc                   	int3
49b98e:	cc                   	int3
49b98f:	cc                   	int3
49b990:	55                   	push   %ebp
49b991:	8b ec                	mov    %esp,%ebp
49b993:	53                   	push   %ebx
49b994:	56                   	push   %esi
49b995:	8b 75 0c             	mov    0xc(%ebp),%esi
49b998:	8b d9                	mov    %ecx,%ebx
49b99a:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
49b99e:	75 25                	jne    0x49b9c5
49b9a0:	57                   	push   %edi
49b9a1:	8b 7d 08             	mov    0x8(%ebp),%edi
49b9a4:	ff 76 08             	push   0x8(%esi)
49b9a7:	8b cb                	mov    %ebx,%ecx
49b9a9:	57                   	push   %edi
49b9aa:	e8 e1 ff ff ff       	call   0x49b990
49b9af:	8b c6                	mov    %esi,%eax
49b9b1:	8b 36                	mov    (%esi),%esi
49b9b3:	6a 18                	push   $0x18
49b9b5:	50                   	push   %eax
49b9b6:	e8 b7 56 14 00       	call   0x5e1072
49b9bb:	83 c4 08             	add    $0x8,%esp
49b9be:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
49b9c2:	74 e0                	je     0x49b9a4
49b9c4:	5f                   	pop    %edi
49b9c5:	5e                   	pop    %esi
49b9c6:	5b                   	pop    %ebx
49b9c7:	5d                   	pop    %ebp
49b9c8:	c2 08 00             	ret    $0x8
49b9cb:	cc                   	int3
49b9cc:	cc                   	int3
49b9cd:	cc                   	int3
49b9ce:	cc                   	int3
49b9cf:	cc                   	int3
49b9d0:	55                   	push   %ebp
49b9d1:	8b ec                	mov    %esp,%ebp
49b9d3:	51                   	push   %ecx
49b9d4:	57                   	push   %edi
49b9d5:	8b 7d 0c             	mov    0xc(%ebp),%edi
49b9d8:	8b c1                	mov    %ecx,%eax
49b9da:	89 45 fc             	mov    %eax,-0x4(%ebp)
49b9dd:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
49b9e1:	75 6e                	jne    0x49ba51
49b9e3:	53                   	push   %ebx
49b9e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
49b9e7:	56                   	push   %esi
49b9e8:	ff 77 08             	push   0x8(%edi)
49b9eb:	8b c8                	mov    %eax,%ecx
49b9ed:	53                   	push   %ebx
49b9ee:	e8 dd ff ff ff       	call   0x49b9d0
49b9f3:	8b f7                	mov    %edi,%esi
49b9f5:	8b 3f                	mov    (%edi),%edi
49b9f7:	8b 4e 24             	mov    0x24(%esi),%ecx
49b9fa:	83 f9 10             	cmp    $0x10,%ecx
49b9fd:	72 28                	jb     0x49ba27
49b9ff:	8b 46 10             	mov    0x10(%esi),%eax
49ba02:	41                   	inc    %ecx
49ba03:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49ba09:	72 12                	jb     0x49ba1d
49ba0b:	8b 50 fc             	mov    -0x4(%eax),%edx