4b98e0:	55                   	push   %ebp
4b98e1:	8b ec                	mov    %esp,%ebp
4b98e3:	83 ec 14             	sub    $0x14,%esp
4b98e6:	53                   	push   %ebx
4b98e7:	8b d9                	mov    %ecx,%ebx
4b98e9:	33 c9                	xor    %ecx,%ecx
4b98eb:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4b98ee:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4b98f1:	8b 53 08             	mov    0x8(%ebx),%edx
4b98f4:	f6 c2 03             	test   $0x3,%dl
4b98f7:	0f 84 ca 00 00 00    	je     0x4b99c7
4b98fd:	f6 c2 01             	test   $0x1,%dl
4b9900:	74 23                	je     0x4b9925
4b9902:	8b 43 10             	mov    0x10(%ebx),%eax
4b9905:	83 e0 fe             	and    $0xfffffffe,%eax
4b9908:	8b 48 10             	mov    0x10(%eax),%ecx
4b990b:	8b c1                	mov    %ecx,%eax
4b990d:	83 c8 01             	or     $0x1,%eax
4b9910:	41                   	inc    %ecx
4b9911:	0f bd c0             	bsr    %eax,%eax
4b9914:	89 45 f0             	mov    %eax,-0x10(%ebp)
4b9917:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4b991a:	83 c0 49             	add    $0x49,%eax
4b991d:	c1 e8 06             	shr    $0x6,%eax
4b9920:	03 c8                	add    %eax,%ecx
4b9922:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4b9925:	f6 c2 02             	test   $0x2,%dl
4b9928:	0f 84 99 00 00 00    	je     0x4b99c7
4b992e:	56                   	push   %esi
4b992f:	8b 73 14             	mov    0x14(%ebx),%esi
4b9932:	57                   	push   %edi
4b9933:	89 75 f8             	mov    %esi,-0x8(%ebp)
4b9936:	8d 4e 08             	lea    0x8(%esi),%ecx
4b9939:	e8 72 dd fe ff       	call   0x4a76b0
4b993e:	8b 4e 18             	mov    0x18(%esi),%ecx
4b9941:	8d 1c 48             	lea    (%eax,%ecx,2),%ebx
4b9944:	8b 46 20             	mov    0x20(%esi),%eax
4b9947:	85 c0                	test   %eax,%eax
4b9949:	74 09                	je     0x4b9954
4b994b:	83 c0 04             	add    $0x4,%eax
4b994e:	8b d0                	mov    %eax,%edx
4b9950:	8b f0                	mov    %eax,%esi
4b9952:	eb 06                	jmp    0x4b995a
4b9954:	33 d2                	xor    %edx,%edx
4b9956:	33 f6                	xor    %esi,%esi
4b9958:	33 c0                	xor    %eax,%eax
4b995a:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
4b995d:	3b d7                	cmp    %edi,%edx
4b995f:	74 26                	je     0x4b9987
4b9961:	8b 0e                	mov    (%esi),%ecx
4b9963:	e8 38 79 00 00       	call   0x4c12a0
4b9968:	8b c8                	mov    %eax,%ecx
4b996a:	83 c6 04             	add    $0x4,%esi
4b996d:	83 c9 01             	or     $0x1,%ecx
4b9970:	0f bd c9             	bsr    %ecx,%ecx
4b9973:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4b9976:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4b9979:	83 c1 49             	add    $0x49,%ecx
4b997c:	c1 e9 06             	shr    $0x6,%ecx
4b997f:	03 c8                	add    %eax,%ecx
4b9981:	03 d9                	add    %ecx,%ebx
4b9983:	3b f7                	cmp    %edi,%esi
4b9985:	75 da                	jne    0x4b9961
4b9987:	8b 45 f8             	mov    -0x8(%ebp),%eax
4b998a:	8d 48 04             	lea    0x4(%eax),%ecx
4b998d:	83 c0 24             	add    $0x24,%eax
4b9990:	f6 01 01             	testb  $0x1,(%ecx)
4b9993:	5f                   	pop    %edi
4b9994:	5e                   	pop    %esi
4b9995:	74 0f                	je     0x4b99a6
4b9997:	50                   	push   %eax
4b9998:	53                   	push   %ebx
4b9999:	51                   	push   %ecx
4b999a:	e8 11 5b fb ff       	call   0x46f4b0
4b999f:	83 c4 0c             	add    $0xc,%esp
4b99a2:	8b d8                	mov    %eax,%ebx
4b99a4:	eb 02                	jmp    0x4b99a8
4b99a6:	89 18                	mov    %ebx,(%eax)
4b99a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4b99ab:	8b c3                	mov    %ebx,%eax
4b99ad:	83 c8 01             	or     $0x1,%eax
4b99b0:	41                   	inc    %ecx
4b99b1:	0f bd c0             	bsr    %eax,%eax
4b99b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4b99b7:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4b99ba:	83 c0 49             	add    $0x49,%eax
4b99bd:	c1 e8 06             	shr    $0x6,%eax
4b99c0:	03 c3                	add    %ebx,%eax
4b99c2:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4b99c5:	03 c8                	add    %eax,%ecx
4b99c7:	8d 43 04             	lea    0x4(%ebx),%eax
4b99ca:	83 c3 0c             	add    $0xc,%ebx
4b99cd:	f6 00 01             	testb  $0x1,(%eax)
4b99d0:	74 10                	je     0x4b99e2
4b99d2:	53                   	push   %ebx
4b99d3:	51                   	push   %ecx
4b99d4:	50                   	push   %eax
4b99d5:	e8 d6 5a fb ff       	call   0x46f4b0
4b99da:	83 c4 0c             	add    $0xc,%esp
4b99dd:	5b                   	pop    %ebx
4b99de:	8b e5                	mov    %ebp,%esp
4b99e0:	5d                   	pop    %ebp
4b99e1:	c3                   	ret
4b99e2:	89 0b                	mov    %ecx,(%ebx)
4b99e4:	8b c1                	mov    %ecx,%eax
4b99e6:	5b                   	pop    %ebx
4b99e7:	8b e5                	mov    %ebp,%esp
4b99e9:	5d                   	pop    %ebp
4b99ea:	c3                   	ret
4b99eb:	cc                   	int3
4b99ec:	cc                   	int3
4b99ed:	cc                   	int3
4b99ee:	cc                   	int3
4b99ef:	cc                   	int3
4b99f0:	55                   	push   %ebp
4b99f1:	8b ec                	mov    %esp,%ebp
4b99f3:	83 ec 2c             	sub    $0x2c,%esp
4b99f6:	53                   	push   %ebx
4b99f7:	56                   	push   %esi
4b99f8:	8b 75 08             	mov    0x8(%ebp),%esi
4b99fb:	57                   	push   %edi
4b99fc:	8b 7d 0c             	mov    0xc(%ebp),%edi
4b99ff:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4b9a02:	3b 37                	cmp    (%edi),%esi
4b9a04:	72 2a                	jb     0x4b9a30
4b9a06:	8b c6                	mov    %esi,%eax
4b9a08:	2b 47 04             	sub    0x4(%edi),%eax
4b9a0b:	3b 47 10             	cmp    0x10(%edi),%eax
4b9a0e:	0f 84 e0 01 00 00    	je     0x4b9bf4
4b9a14:	ff 77 48             	push   0x48(%edi)
4b9a17:	8b cf                	mov    %edi,%ecx
4b9a19:	50                   	push   %eax
4b9a1a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4b9a1d:	50                   	push   %eax
4b9a1e:	e8 0d 55 fa ff       	call   0x45ef30
4b9a23:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
4b9a27:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4b9a2a:	0f 85 7a 01 00 00    	jne    0x4b9baa
4b9a30:	0f b6 1e             	movzbl (%esi),%ebx
4b9a33:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4b9a39:	73 03                	jae    0x4b9a3e
4b9a3b:	46                   	inc    %esi
4b9a3c:	eb 2f                	jmp    0x4b9a6d
4b9a3e:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
4b9a42:	83 c3 80             	add    $0xffffff80,%ebx
4b9a45:	8b c1                	mov    %ecx,%eax
4b9a47:	c1 e0 07             	shl    $0x7,%eax
4b9a4a:	03 d8                	add    %eax,%ebx
4b9a4c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4b9a52:	73 05                	jae    0x4b9a59
4b9a54:	83 c6 02             	add    $0x2,%esi
4b9a57:	eb 14                	jmp    0x4b9a6d
4b9a59:	53                   	push   %ebx
4b9a5a:	8d 45 dc             	lea    -0x24(%ebp),%eax
4b9a5d:	56                   	push   %esi
4b9a5e:	50                   	push   %eax
4b9a5f:	e8 7c 5f fa ff       	call   0x45f9e0
4b9a64:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4b9a67:	83 c4 0c             	add    $0xc,%esp
4b9a6a:	8b 75 dc             	mov    -0x24(%ebp),%esi
4b9a6d:	85 f6                	test   %esi,%esi
4b9a6f:	0f 84 33 01 00 00    	je     0x4b9ba8
4b9a75:	8b c3                	mov    %ebx,%eax
4b9a77:	c1 e8 03             	shr    $0x3,%eax
4b9a7a:	83 e8 01             	sub    $0x1,%eax
4b9a7d:	0f 84 d6 00 00 00    	je     0x4b9b59
4b9a83:	83 e8 01             	sub    $0x1,%eax
4b9a86:	0f 85 29 01 00 00    	jne    0x4b9bb5
4b9a8c:	80 fb 12             	cmp    $0x12,%bl
4b9a8f:	0f 85 20 01 00 00    	jne    0x4b9bb5
4b9a95:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4b9a98:	83 4b 08 02          	orl    $0x2,0x8(%ebx)
4b9a9c:	8b 4b 14             	mov    0x14(%ebx),%ecx
4b9a9f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4b9aa2:	85 c9                	test   %ecx,%ecx
4b9aa4:	75 2d                	jne    0x4b9ad3
4b9aa6:	8b 4b 04             	mov    0x4(%ebx),%ecx
4b9aa9:	f6 c1 03             	test   $0x3,%cl
4b9aac:	75 05                	jne    0x4b9ab3
4b9aae:	83 e1 fc             	and    $0xfffffffc,%ecx
4b9ab1:	eb 11                	jmp    0x4b9ac4
4b9ab3:	8b c1                	mov    %ecx,%eax
4b9ab5:	d1 e8                	shr    $1,%eax
4b9ab7:	a8 01                	test   $0x1,%al
4b9ab9:	74 04                	je     0x4b9abf
4b9abb:	33 c9                	xor    %ecx,%ecx
4b9abd:	eb 05                	jmp    0x4b9ac4
4b9abf:	83 e1 fc             	and    $0xfffffffc,%ecx
4b9ac2:	8b 09                	mov    (%ecx),%ecx
4b9ac4:	51                   	push   %ecx
4b9ac5:	e8 a6 e0 00 00       	call   0x4c7b70
4b9aca:	83 c4 04             	add    $0x4,%esp
4b9acd:	89 43 14             	mov    %eax,0x14(%ebx)
4b9ad0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4b9ad3:	0f b6 06             	movzbl (%esi),%eax
4b9ad6:	3d 80 00 00 00       	cmp    $0x80,%eax
4b9adb:	73 03                	jae    0x4b9ae0
4b9add:	46                   	inc    %esi
4b9ade:	eb 14                	jmp    0x4b9af4
4b9ae0:	50                   	push   %eax
4b9ae1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4b9ae4:	56                   	push   %esi
4b9ae5:	50                   	push   %eax
4b9ae6:	e8 85 5d fa ff       	call   0x45f870
4b9aeb:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4b9aee:	83 c4 0c             	add    $0xc,%esp
4b9af1:	8b 45 d8             	mov    -0x28(%ebp),%eax
4b9af4:	85 f6                	test   %esi,%esi
4b9af6:	0f 84 ac 00 00 00    	je     0x4b9ba8
4b9afc:	2b 47 04             	sub    0x4(%edi),%eax
4b9aff:	8d 14 30             	lea    (%eax,%esi,1),%edx
4b9b02:	33 c0                	xor    %eax,%eax
4b9b04:	85 d2                	test   %edx,%edx
4b9b06:	89 55 f0             	mov    %edx,-0x10(%ebp)
4b9b09:	0f 48 c2             	cmovs  %edx,%eax
4b9b0c:	03 47 04             	add    0x4(%edi),%eax
4b9b0f:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4b9b13:	89 07                	mov    %eax,(%edi)
4b9b15:	8b 47 10             	mov    0x10(%edi),%eax
4b9b18:	89 45 f4             	mov    %eax,-0xc(%ebp)
4b9b1b:	89 57 10             	mov    %edx,0x10(%edi)
4b9b1e:	0f 88 84 00 00 00    	js     0x4b9ba8
4b9b24:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4b9b27:	57                   	push   %edi
4b9b28:	56                   	push   %esi
4b9b29:	e8 12 55 00 00       	call   0x4bf040
4b9b2e:	8b f0                	mov    %eax,%esi
4b9b30:	85 f6                	test   %esi,%esi
4b9b32:	74 74                	je     0x4b9ba8
4b9b34:	ff 47 44             	incl   0x44(%edi)
4b9b37:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4b9b3b:	75 6b                	jne    0x4b9ba8
4b9b3d:	8b 45 f4             	mov    -0xc(%ebp),%eax
4b9b40:	2b 45 f0             	sub    -0x10(%ebp),%eax
4b9b43:	01 47 10             	add    %eax,0x10(%edi)
4b9b46:	b8 00 00 00 00       	mov    $0x0,%eax
4b9b4b:	0f 48 47 10          	cmovs  0x10(%edi),%eax
4b9b4f:	03 47 04             	add    0x4(%edi),%eax
4b9b52:	89 07                	mov    %eax,(%edi)
4b9b54:	e9 a9 fe ff ff       	jmp    0x4b9a02
4b9b59:	80 fb 0a             	cmp    $0xa,%bl
4b9b5c:	75 57                	jne    0x4b9bb5
4b9b5e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4b9b61:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
4b9b65:	83 4b 08 01          	orl    $0x1,0x8(%ebx)
4b9b69:	8b 4b 04             	mov    0x4(%ebx),%ecx
4b9b6c:	f6 c1 03             	test   $0x3,%cl
4b9b6f:	75 05                	jne    0x4b9b76
4b9b71:	83 e1 fc             	and    $0xfffffffc,%ecx
4b9b74:	eb 11                	jmp    0x4b9b87
4b9b76:	8b c1                	mov    %ecx,%eax
4b9b78:	d1 e8                	shr    $1,%eax
4b9b7a:	a8 01                	test   $0x1,%al
4b9b7c:	74 04                	je     0x4b9b82
4b9b7e:	33 c9                	xor    %ecx,%ecx
4b9b80:	eb 05                	jmp    0x4b9b87
4b9b82:	83 e1 fc             	and    $0xfffffffc,%ecx
4b9b85:	8b 09                	mov    (%ecx),%ecx
4b9b87:	51                   	push   %ecx
4b9b88:	ff 75 ec             	push   -0x14(%ebp)
4b9b8b:	8d 4b 10             	lea    0x10(%ebx),%ecx
4b9b8e:	e8 9d 1d fa ff       	call   0x45b930
4b9b93:	57                   	push   %edi
4b9b94:	56                   	push   %esi
4b9b95:	50                   	push   %eax
4b9b96:	e8 55 55 fa ff       	call   0x45f0f0
4b9b9b:	8b f0                	mov    %eax,%esi
4b9b9d:	83 c4 0c             	add    $0xc,%esp
4b9ba0:	85 f6                	test   %esi,%esi
4b9ba2:	0f 85 5a fe ff ff    	jne    0x4b9a02
4b9ba8:	33 f6                	xor    %esi,%esi
4b9baa:	5f                   	pop    %edi
4b9bab:	8b c6                	mov    %esi,%eax
4b9bad:	5e                   	pop    %esi
4b9bae:	5b                   	pop    %ebx
4b9baf:	8b e5                	mov    %ebp,%esp
4b9bb1:	5d                   	pop    %ebp
4b9bb2:	c2 08 00             	ret    $0x8
4b9bb5:	8b c3                	mov    %ebx,%eax
4b9bb7:	24 07                	and    $0x7,%al
4b9bb9:	3c 04                	cmp    $0x4,%al
4b9bbb:	74 4e                	je     0x4b9c0b
4b9bbd:	85 db                	test   %ebx,%ebx
4b9bbf:	74 4a                	je     0x4b9c0b
4b9bc1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4b9bc4:	83 c1 04             	add    $0x4,%ecx
4b9bc7:	f6 01 01             	testb  $0x1,(%ecx)
4b9bca:	74 0a                	je     0x4b9bd6
4b9bcc:	8b 01                	mov    (%ecx),%eax
4b9bce:	83 e0 fc             	and    $0xfffffffc,%eax
4b9bd1:	83 c0 04             	add    $0x4,%eax
4b9bd4:	eb 05                	jmp    0x4b9bdb
4b9bd6:	e8 55 70 f9 ff       	call   0x450c30
4b9bdb:	57                   	push   %edi
4b9bdc:	56                   	push   %esi
4b9bdd:	50                   	push   %eax
4b9bde:	6a 00                	push   $0x0
4b9be0:	53                   	push   %ebx
4b9be1:	e8 ca 73 fa ff       	call   0x460fb0
4b9be6:	8b f0                	mov    %eax,%esi
4b9be8:	83 c4 14             	add    $0x14,%esp
4b9beb:	85 f6                	test   %esi,%esi
4b9bed:	74 b9                	je     0x4b9ba8
4b9bef:	e9 0e fe ff ff       	jmp    0x4b9a02
4b9bf4:	85 c0                	test   %eax,%eax
4b9bf6:	7e b2                	jle    0x4b9baa
4b9bf8:	33 c0                	xor    %eax,%eax
4b9bfa:	39 47 08             	cmp    %eax,0x8(%edi)
4b9bfd:	5f                   	pop    %edi
4b9bfe:	0f 44 f0             	cmove  %eax,%esi
4b9c01:	8b c6                	mov    %esi,%eax
4b9c03:	5e                   	pop    %esi
4b9c04:	5b                   	pop    %ebx
4b9c05:	8b e5                	mov    %ebp,%esp
4b9c07:	5d                   	pop    %ebp
4b9c08:	c2 08 00             	ret    $0x8
4b9c0b:	8d 43 ff             	lea    -0x1(%ebx),%eax
4b9c0e:	89 47 3c             	mov    %eax,0x3c(%edi)
4b9c11:	8b c6                	mov    %esi,%eax
4b9c13:	5f                   	pop    %edi
4b9c14:	5e                   	pop    %esi
4b9c15:	5b                   	pop    %ebx
4b9c16:	8b e5                	mov    %ebp,%esp
4b9c18:	5d                   	pop    %ebp
4b9c19:	c2 08 00             	ret    $0x8
4b9c1c:	cc                   	int3
4b9c1d:	cc                   	int3
4b9c1e:	cc                   	int3
4b9c1f:	cc                   	int3
4b9c20:	55                   	push   %ebp
4b9c21:	8b ec                	mov    %esp,%ebp
4b9c23:	83 ec 0c             	sub    $0xc,%esp
4b9c26:	8b 45 08             	mov    0x8(%ebp),%eax
4b9c29:	53                   	push   %ebx
4b9c2a:	56                   	push   %esi
4b9c2b:	8b f1                	mov    %ecx,%esi
4b9c2d:	57                   	push   %edi
4b9c2e:	8b 7d 0c             	mov    0xc(%ebp),%edi
4b9c31:	89 75 f4             	mov    %esi,-0xc(%ebp)
4b9c34:	8b 5e 08             	mov    0x8(%esi),%ebx
4b9c37:	f6 c3 01             	test   $0x1,%bl
4b9c3a:	74 11                	je     0x4b9c4d
4b9c3c:	8b 4e 10             	mov    0x10(%esi),%ecx
4b9c3f:	83 e1 fe             	and    $0xfffffffe,%ecx
4b9c42:	50                   	push   %eax
4b9c43:	51                   	push   %ecx
4b9c44:	6a 01                	push   $0x1
4b9c46:	8b cf                	mov    %edi,%ecx
4b9c48:	e8 a3 7e f9 ff       	call   0x451af0
4b9c4d:	f6 c3 02             	test   $0x2,%bl