49e7b9:	56                   	push   %esi
49e7ba:	ff 75 10             	push   0x10(%ebp)
49e7bd:	ff 75 0c             	push   0xc(%ebp)
49e7c0:	e8 0b 46 13 00       	call   0x5d2dd0
49e7c5:	8b 45 14             	mov    0x14(%ebp),%eax
49e7c8:	2b de                	sub    %esi,%ebx
49e7ca:	03 c6                	add    %esi,%eax
49e7cc:	03 45 10             	add    0x10(%ebp),%eax
49e7cf:	53                   	push   %ebx
49e7d0:	50                   	push   %eax
49e7d1:	8b 45 0c             	mov    0xc(%ebp),%eax
49e7d4:	03 c6                	add    %esi,%eax
49e7d6:	50                   	push   %eax
49e7d7:	e8 f4 45 13 00       	call   0x5d2dd0
49e7dc:	83 c4 24             	add    $0x24,%esp
49e7df:	8b c7                	mov    %edi,%eax
49e7e1:	5f                   	pop    %edi
49e7e2:	5e                   	pop    %esi
49e7e3:	5b                   	pop    %ebx
49e7e4:	8b e5                	mov    %ebp,%esp
49e7e6:	5d                   	pop    %ebp
49e7e7:	c2 10 00             	ret    $0x10
49e7ea:	8b 55 14             	mov    0x14(%ebp),%edx
49e7ed:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
49e7f2:	2b c1                	sub    %ecx,%eax
49e7f4:	3b c2                	cmp    %edx,%eax
49e7f6:	0f 82 15 01 00 00    	jb     0x49e911
49e7fc:	8d 04 11             	lea    (%ecx,%edx,1),%eax
49e7ff:	8b c8                	mov    %eax,%ecx
49e801:	89 45 f4             	mov    %eax,-0xc(%ebp)
49e804:	83 c9 0f             	or     $0xf,%ecx
49e807:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
49e80d:	76 07                	jbe    0x49e816
49e80f:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
49e814:	eb 25                	jmp    0x49e83b
49e816:	8b 45 fc             	mov    -0x4(%ebp),%eax
49e819:	8b d0                	mov    %eax,%edx
49e81b:	d1 ea                	shr    $1,%edx
49e81d:	89 55 14             	mov    %edx,0x14(%ebp)
49e820:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
49e825:	2b 55 14             	sub    0x14(%ebp),%edx
49e828:	3b c2                	cmp    %edx,%eax
49e82a:	76 07                	jbe    0x49e833
49e82c:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
49e831:	eb 08                	jmp    0x49e83b
49e833:	03 45 14             	add    0x14(%ebp),%eax
49e836:	3b c8                	cmp    %eax,%ecx
49e838:	0f 42 c8             	cmovb  %eax,%ecx
49e83b:	8d 41 01             	lea    0x1(%ecx),%eax
49e83e:	89 4d 14             	mov    %ecx,0x14(%ebp)
49e841:	50                   	push   %eax
49e842:	8b cf                	mov    %edi,%ecx
49e844:	e8 d7 a5 fb ff       	call   0x458e20
49e849:	8b 4d 14             	mov    0x14(%ebp),%ecx
49e84c:	8b d0                	mov    %eax,%edx
49e84e:	8b 45 f4             	mov    -0xc(%ebp),%eax
49e851:	89 47 10             	mov    %eax,0x10(%edi)
49e854:	8b 45 08             	mov    0x8(%ebp),%eax
49e857:	89 4f 14             	mov    %ecx,0x14(%edi)
49e85a:	89 55 f0             	mov    %edx,-0x10(%ebp)
49e85d:	50                   	push   %eax
49e85e:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
49e861:	89 4d 14             	mov    %ecx,0x14(%ebp)
49e864:	03 cb                	add    %ebx,%ecx
49e866:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
49e86a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
49e86d:	72 64                	jb     0x49e8d3
49e86f:	8b 37                	mov    (%edi),%esi
49e871:	56                   	push   %esi
49e872:	52                   	push   %edx
49e873:	e8 58 45 13 00       	call   0x5d2dd0
49e878:	53                   	push   %ebx
49e879:	ff 75 10             	push   0x10(%ebp)
49e87c:	ff 75 14             	push   0x14(%ebp)
49e87f:	e8 4c 45 13 00       	call   0x5d2dd0
49e884:	8b 45 08             	mov    0x8(%ebp),%eax
49e887:	ff 75 f8             	push   -0x8(%ebp)
49e88a:	03 c6                	add    %esi,%eax
49e88c:	03 45 0c             	add    0xc(%ebp),%eax
49e88f:	50                   	push   %eax
49e890:	ff 75 f4             	push   -0xc(%ebp)
49e893:	e8 38 45 13 00       	call   0x5d2dd0
49e898:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49e89b:	83 c4 24             	add    $0x24,%esp
49e89e:	41                   	inc    %ecx
49e89f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49e8a5:	72 12                	jb     0x49e8b9
49e8a7:	8b 56 fc             	mov    -0x4(%esi),%edx
49e8aa:	83 c1 23             	add    $0x23,%ecx
49e8ad:	2b f2                	sub    %edx,%esi
49e8af:	8d 46 fc             	lea    -0x4(%esi),%eax
49e8b2:	83 f8 1f             	cmp    $0x1f,%eax
49e8b5:	77 5f                	ja     0x49e916
49e8b7:	8b f2                	mov    %edx,%esi
49e8b9:	51                   	push   %ecx
49e8ba:	56                   	push   %esi
49e8bb:	e8 95 29 13 00       	call   0x5d1255
49e8c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
49e8c3:	83 c4 08             	add    $0x8,%esp
49e8c6:	89 07                	mov    %eax,(%edi)
49e8c8:	8b c7                	mov    %edi,%eax
49e8ca:	5f                   	pop    %edi
49e8cb:	5e                   	pop    %esi
49e8cc:	5b                   	pop    %ebx
49e8cd:	8b e5                	mov    %ebp,%esp
49e8cf:	5d                   	pop    %ebp
49e8d0:	c2 10 00             	ret    $0x10
49e8d3:	57                   	push   %edi
49e8d4:	52                   	push   %edx
49e8d5:	e8 f6 44 13 00       	call   0x5d2dd0
49e8da:	53                   	push   %ebx
49e8db:	ff 75 10             	push   0x10(%ebp)
49e8de:	ff 75 14             	push   0x14(%ebp)
49e8e1:	e8 ea 44 13 00       	call   0x5d2dd0
49e8e6:	8b 45 08             	mov    0x8(%ebp),%eax
49e8e9:	ff 75 f8             	push   -0x8(%ebp)
49e8ec:	03 c6                	add    %esi,%eax
49e8ee:	03 c7                	add    %edi,%eax
49e8f0:	50                   	push   %eax
49e8f1:	ff 75 f4             	push   -0xc(%ebp)
49e8f4:	e8 d7 44 13 00       	call   0x5d2dd0
49e8f9:	8b 45 f0             	mov    -0x10(%ebp),%eax
49e8fc:	83 c4 24             	add    $0x24,%esp
49e8ff:	89 07                	mov    %eax,(%edi)
49e901:	8b c7                	mov    %edi,%eax
49e903:	5f                   	pop    %edi
49e904:	5e                   	pop    %esi
49e905:	5b                   	pop    %ebx
49e906:	8b e5                	mov    %ebp,%esp
49e908:	5d                   	pop    %ebp
49e909:	c2 10 00             	ret    $0x10
49e90c:	e8 df eb ff ff       	call   0x49d4f0
49e911:	e8 fa 8c fa ff       	call   0x447610
49e916:	e8 d5 78 13 00       	call   0x5d61f0
49e91b:	cc                   	int3
49e91c:	cc                   	int3
49e91d:	cc                   	int3
49e91e:	cc                   	int3
49e91f:	cc                   	int3
49e920:	55                   	push   %ebp
49e921:	8b ec                	mov    %esp,%ebp
49e923:	53                   	push   %ebx
49e924:	56                   	push   %esi
49e925:	8b 75 08             	mov    0x8(%ebp),%esi
49e928:	57                   	push   %edi
49e929:	8b f9                	mov    %ecx,%edi
49e92b:	8b 5f 04             	mov    0x4(%edi),%ebx
49e92e:	8b cb                	mov    %ebx,%ecx
49e930:	8b 17                	mov    (%edi),%edx
49e932:	2b ca                	sub    %edx,%ecx
49e934:	c1 f9 02             	sar    $0x2,%ecx
49e937:	3b f1                	cmp    %ecx,%esi
49e939:	73 0d                	jae    0x49e948
49e93b:	8d 04 b2             	lea    (%edx,%esi,4),%eax
49e93e:	89 47 04             	mov    %eax,0x4(%edi)
49e941:	5f                   	pop    %edi
49e942:	5e                   	pop    %esi
49e943:	5b                   	pop    %ebx
49e944:	5d                   	pop    %ebp
49e945:	c2 04 00             	ret    $0x4
49e948:	76 36                	jbe    0x49e980
49e94a:	8b 47 08             	mov    0x8(%edi),%eax
49e94d:	2b c2                	sub    %edx,%eax
49e94f:	c1 f8 02             	sar    $0x2,%eax
49e952:	3b f0                	cmp    %eax,%esi
49e954:	76 13                	jbe    0x49e969
49e956:	8d 45 0b             	lea    0xb(%ebp),%eax
49e959:	8b cf                	mov    %edi,%ecx
49e95b:	50                   	push   %eax
49e95c:	56                   	push   %esi
49e95d:	e8 be b6 fd ff       	call   0x47a020
49e962:	5f                   	pop    %edi
49e963:	5e                   	pop    %esi
49e964:	5b                   	pop    %ebx
49e965:	5d                   	pop    %ebp
49e966:	c2 04 00             	ret    $0x4
49e969:	2b f1                	sub    %ecx,%esi
49e96b:	c1 e6 02             	shl    $0x2,%esi
49e96e:	56                   	push   %esi
49e96f:	6a 00                	push   $0x0
49e971:	53                   	push   %ebx
49e972:	e8 f9 42 13 00       	call   0x5d2c70
49e977:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
49e97a:	83 c4 0c             	add    $0xc,%esp
49e97d:	89 47 04             	mov    %eax,0x4(%edi)
49e980:	5f                   	pop    %edi
49e981:	5e                   	pop    %esi
49e982:	5b                   	pop    %ebx
49e983:	5d                   	pop    %ebp
49e984:	c2 04 00             	ret    $0x4
49e987:	cc                   	int3
49e988:	cc                   	int3
49e989:	cc                   	int3
49e98a:	cc                   	int3
49e98b:	cc                   	int3
49e98c:	cc                   	int3
49e98d:	cc                   	int3
49e98e:	cc                   	int3
49e98f:	cc                   	int3
49e990:	55                   	push   %ebp
49e991:	8b ec                	mov    %esp,%ebp
49e993:	6a ff                	push   $0xffffffff
49e995:	68 2d d1 5f 00       	push   $0x5fd12d
49e99a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
49e9a0:	50                   	push   %eax
49e9a1:	83 ec 20             	sub    $0x20,%esp
49e9a4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
49e9a9:	33 c5                	xor    %ebp,%eax
49e9ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
49e9ae:	56                   	push   %esi
49e9af:	57                   	push   %edi
49e9b0:	50                   	push   %eax
49e9b1:	8d 45 f4             	lea    -0xc(%ebp),%eax
49e9b4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49e9ba:	8b f1                	mov    %ecx,%esi
49e9bc:	8b 55 08             	mov    0x8(%ebp),%edx
49e9bf:	8b ca                	mov    %edx,%ecx
49e9c1:	83 4e 08 04          	orl    $0x4,0x8(%esi)
49e9c5:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
49e9cc:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
49e9d0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
49e9d7:	8d 79 01             	lea    0x1(%ecx),%edi
49e9da:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
49e9e1:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
49e9e5:	8a 01                	mov    (%ecx),%al
49e9e7:	41                   	inc    %ecx
49e9e8:	84 c0                	test   %al,%al
49e9ea:	75 f9                	jne    0x49e9e5
49e9ec:	2b cf                	sub    %edi,%ecx
49e9ee:	51                   	push   %ecx
49e9ef:	52                   	push   %edx
49e9f0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49e9f3:	e8 28 8c fa ff       	call   0x447620
49e9f8:	8b 4e 04             	mov    0x4(%esi),%ecx
49e9fb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
49ea02:	f6 c1 03             	test   $0x3,%cl
49ea05:	75 05                	jne    0x49ea0c
49ea07:	83 e1 fc             	and    $0xfffffffc,%ecx
49ea0a:	eb 11                	jmp    0x49ea1d
49ea0c:	8b c1                	mov    %ecx,%eax
49ea0e:	d1 e8                	shr    $1,%eax
49ea10:	a8 01                	test   $0x1,%al
49ea12:	74 04                	je     0x49ea18
49ea14:	33 c9                	xor    %ecx,%ecx
49ea16:	eb 05                	jmp    0x49ea1d
49ea18:	83 e1 fc             	and    $0xfffffffc,%ecx
49ea1b:	8b 09                	mov    (%ecx),%ecx
49ea1d:	51                   	push   %ecx
49ea1e:	8d 45 d8             	lea    -0x28(%ebp),%eax
49ea21:	50                   	push   %eax
49ea22:	ff 75 d4             	push   -0x2c(%ebp)
49ea25:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
49ea2b:	e8 e0 d1 fb ff       	call   0x45bc10
49ea30:	8b 55 ec             	mov    -0x14(%ebp),%edx
49ea33:	83 fa 10             	cmp    $0x10,%edx
49ea36:	72 28                	jb     0x49ea60
49ea38:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49ea3b:	42                   	inc    %edx
49ea3c:	8b c1                	mov    %ecx,%eax
49ea3e:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
49ea44:	72 10                	jb     0x49ea56
49ea46:	8b 49 fc             	mov    -0x4(%ecx),%ecx
49ea49:	83 c2 23             	add    $0x23,%edx
49ea4c:	2b c1                	sub    %ecx,%eax
49ea4e:	83 c0 fc             	add    $0xfffffffc,%eax
49ea51:	83 f8 1f             	cmp    $0x1f,%eax
49ea54:	77 27                	ja     0x49ea7d
49ea56:	52                   	push   %edx
49ea57:	51                   	push   %ecx
49ea58:	e8 f8 27 13 00       	call   0x5d1255
49ea5d:	83 c4 08             	add    $0x8,%esp
49ea60:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49ea63:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
49ea6a:	59                   	pop    %ecx
49ea6b:	5f                   	pop    %edi
49ea6c:	5e                   	pop    %esi
49ea6d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49ea70:	33 cd                	xor    %ebp,%ecx
49ea72:	e8 af 2f 13 00       	call   0x5d1a26
49ea77:	8b e5                	mov    %ebp,%esp
49ea79:	5d                   	pop    %ebp
49ea7a:	c2 04 00             	ret    $0x4
49ea7d:	e8 6e 77 13 00       	call   0x5d61f0
49ea82:	cc                   	int3
49ea83:	cc                   	int3
49ea84:	cc                   	int3
49ea85:	cc                   	int3
49ea86:	cc                   	int3
49ea87:	cc                   	int3
49ea88:	cc                   	int3
49ea89:	cc                   	int3
49ea8a:	cc                   	int3
49ea8b:	cc                   	int3
49ea8c:	cc                   	int3
49ea8d:	cc                   	int3
49ea8e:	cc                   	int3
49ea8f:	cc                   	int3
49ea90:	55                   	push   %ebp
49ea91:	8b ec                	mov    %esp,%ebp
49ea93:	6a ff                	push   $0xffffffff
49ea95:	68 2d d1 5f 00       	push   $0x5fd12d
49ea9a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
49eaa0:	50                   	push   %eax
49eaa1:	83 ec 20             	sub    $0x20,%esp
49eaa4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
49eaa9:	33 c5                	xor    %ebp,%eax
49eaab:	89 45 f0             	mov    %eax,-0x10(%ebp)
49eaae:	56                   	push   %esi
49eaaf:	57                   	push   %edi
49eab0:	50                   	push   %eax
49eab1:	8d 45 f4             	lea    -0xc(%ebp),%eax
49eab4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49eaba:	8b f1                	mov    %ecx,%esi
49eabc:	8b 55 08             	mov    0x8(%ebp),%edx
49eabf:	8b ca                	mov    %edx,%ecx
49eac1:	83 4e 08 04          	orl    $0x4,0x8(%esi)
49eac5:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
49eacc:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
49ead0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
49ead7:	8d 79 01             	lea    0x1(%ecx),%edi
49eada:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
49eae1:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
49eae5:	8a 01                	mov    (%ecx),%al
49eae7:	41                   	inc    %ecx
49eae8:	84 c0                	test   %al,%al
49eaea:	75 f9                	jne    0x49eae5
49eaec:	2b cf                	sub    %edi,%ecx
49eaee:	51                   	push   %ecx
49eaef:	52                   	push   %edx
49eaf0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49eaf3:	e8 28 8b fa ff       	call   0x447620
49eaf8:	8b 4e 04             	mov    0x4(%esi),%ecx
49eafb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
49eb02:	f6 c1 03             	test   $0x3,%cl
49eb05:	75 05                	jne    0x49eb0c
49eb07:	83 e1 fc             	and    $0xfffffffc,%ecx
49eb0a:	eb 11                	jmp    0x49eb1d
49eb0c:	8b c1                	mov    %ecx,%eax
49eb0e:	d1 e8                	shr    $1,%eax
49eb10:	a8 01                	test   $0x1,%al
49eb12:	74 04                	je     0x49eb18
49eb14:	33 c9                	xor    %ecx,%ecx
49eb16:	eb 05                	jmp    0x49eb1d
49eb18:	83 e1 fc             	and    $0xfffffffc,%ecx
49eb1b:	8b 09                	mov    (%ecx),%ecx
49eb1d:	51                   	push   %ecx
49eb1e:	8d 45 d8             	lea    -0x28(%ebp),%eax
49eb21:	50                   	push   %eax
49eb22:	ff 75 d4             	push   -0x2c(%ebp)
49eb25:	8d 4e 18             	lea    0x18(%esi),%ecx