527aa0:	50                   	push   %eax
527aa1:	ff 33                	push   (%ebx)
527aa3:	e8 38 99 ff ff       	call   0x5213e0
527aa8:	8b f0                	mov    %eax,%esi
527aaa:	83 c4 0c             	add    $0xc,%esp
527aad:	85 f6                	test   %esi,%esi
527aaf:	74 11                	je     0x527ac2
527ab1:	57                   	push   %edi
527ab2:	ff 75 fc             	push   -0x4(%ebp)
527ab5:	56                   	push   %esi
527ab6:	e8 45 b4 0b 00       	call   0x5e2f00
527abb:	83 c4 0c             	add    $0xc,%esp
527abe:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
527ac2:	8b 45 0c             	mov    0xc(%ebp),%eax
527ac5:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
527ac9:	89 70 04             	mov    %esi,0x4(%eax)
527acc:	74 0c                	je     0x527ada
527ace:	56                   	push   %esi
527acf:	e8 0c aa ff ff       	call   0x5224e0
527ad4:	8b 45 0c             	mov    0xc(%ebp),%eax
527ad7:	83 c4 04             	add    $0x4,%esp
527ada:	80 bb c8 00 00 00 02 	cmpb   $0x2,0xc8(%ebx)
527ae1:	72 0f                	jb     0x527af2
527ae3:	ff 75 10             	push   0x10(%ebp)
527ae6:	ff 70 04             	push   0x4(%eax)
527ae9:	53                   	push   %ebx
527aea:	e8 61 03 01 00       	call   0x537e50
527aef:	83 c4 0c             	add    $0xc,%esp
527af2:	5f                   	pop    %edi
527af3:	5e                   	pop    %esi
527af4:	5b                   	pop    %ebx
527af5:	8b e5                	mov    %ebp,%esp
527af7:	5d                   	pop    %ebp
527af8:	c3                   	ret
527af9:	cc                   	int3
527afa:	cc                   	int3
527afb:	cc                   	int3
527afc:	cc                   	int3
527afd:	cc                   	int3
527afe:	cc                   	int3
527aff:	cc                   	int3
527b00:	55                   	push   %ebp
527b01:	8b ec                	mov    %esp,%ebp
527b03:	8b 4d 08             	mov    0x8(%ebp),%ecx
527b06:	85 c9                	test   %ecx,%ecx
527b08:	74 2b                	je     0x527b35
527b0a:	8b 01                	mov    (%ecx),%eax
527b0c:	33 d2                	xor    %edx,%edx
527b0e:	8d 04 80             	lea    (%eax,%eax,4),%eax
527b11:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
527b14:	8b 45 0c             	mov    0xc(%ebp),%eax
527b17:	83 f8 ff             	cmp    $0xffffffff,%eax
527b1a:	0f 44 c2             	cmove  %edx,%eax
527b1d:	8b 55 10             	mov    0x10(%ebp),%edx
527b20:	88 41 f8             	mov    %al,-0x8(%ecx)
527b23:	83 fa ff             	cmp    $0xffffffff,%edx
527b26:	74 0d                	je     0x527b35
527b28:	83 49 fc 20          	orl    $0x20,-0x4(%ecx)
527b2c:	3b c2                	cmp    %edx,%eax
527b2e:	74 05                	je     0x527b35
527b30:	0c 02                	or     $0x2,%al
527b32:	88 41 f8             	mov    %al,-0x8(%ecx)
527b35:	5d                   	pop    %ebp
527b36:	c3                   	ret
527b37:	cc                   	int3
527b38:	cc                   	int3
527b39:	cc                   	int3
527b3a:	cc                   	int3
527b3b:	cc                   	int3
527b3c:	cc                   	int3
527b3d:	cc                   	int3
527b3e:	cc                   	int3
527b3f:	cc                   	int3
527b40:	55                   	push   %ebp
527b41:	8b ec                	mov    %esp,%ebp
527b43:	8b 45 08             	mov    0x8(%ebp),%eax
527b46:	8b 4d 0c             	mov    0xc(%ebp),%ecx
527b49:	8b 10                	mov    (%eax),%edx
527b4b:	85 c9                	test   %ecx,%ecx
527b4d:	74 2f                	je     0x527b7e
527b4f:	8b 01                	mov    (%ecx),%eax
527b51:	56                   	push   %esi
527b52:	8d 04 80             	lea    (%eax,%eax,4),%eax
527b55:	83 7c 81 f4 00       	cmpl   $0x0,-0xc(%ecx,%eax,4)
527b5a:	8d 34 81             	lea    (%ecx,%eax,4),%esi
527b5d:	75 1e                	jne    0x527b7d
527b5f:	ff 75 14             	push   0x14(%ebp)
527b62:	ff 75 10             	push   0x10(%ebp)
527b65:	52                   	push   %edx
527b66:	e8 b5 9a ff ff       	call   0x521620
527b6b:	89 46 f4             	mov    %eax,-0xc(%esi)
527b6e:	83 c4 0c             	add    $0xc,%esp
527b71:	8b 46 fc             	mov    -0x4(%esi),%eax
527b74:	83 e0 fd             	and    $0xfffffffd,%eax
527b77:	83 c8 01             	or     $0x1,%eax
527b7a:	89 46 fc             	mov    %eax,-0x4(%esi)
527b7d:	5e                   	pop    %esi
527b7e:	5d                   	pop    %ebp
527b7f:	c3                   	ret
527b80:	55                   	push   %ebp
527b81:	8b ec                	mov    %esp,%ebp
527b83:	53                   	push   %ebx
527b84:	8a 5d 0c             	mov    0xc(%ebp),%bl
527b87:	33 d2                	xor    %edx,%edx
527b89:	80 fb 41             	cmp    $0x41,%bl
527b8c:	74 4d                	je     0x527bdb
527b8e:	8b 4d 08             	mov    0x8(%ebp),%ecx
527b91:	8a 01                	mov    (%ecx),%al
527b93:	3c ab                	cmp    $0xab,%al
527b95:	74 09                	je     0x527ba0
527b97:	3c aa                	cmp    $0xaa,%al
527b99:	75 0a                	jne    0x527ba5
527b9b:	ba 01 00 00 00       	mov    $0x1,%edx
527ba0:	8b 49 0c             	mov    0xc(%ecx),%ecx
527ba3:	eb ec                	jmp    0x527b91
527ba5:	8a 01                	mov    (%ecx),%al
527ba7:	3c ad                	cmp    $0xad,%al
527ba9:	75 03                	jne    0x527bae
527bab:	8a 41 02             	mov    0x2(%ecx),%al
527bae:	0f b6 c0             	movzbl %al,%eax
527bb1:	83 c0 8d             	add    $0xffffff8d,%eax
527bb4:	83 f8 31             	cmp    $0x31,%eax
527bb7:	77 40                	ja     0x527bf9
527bb9:	0f b6 80 14 7c 52 00 	movzbl 0x527c14(%eax),%eax
527bc0:	ff 24 85 00 7c 52 00 	jmp    *0x527c00(,%eax,4)
527bc7:	33 c0                	xor    %eax,%eax
527bc9:	80 fb 43             	cmp    $0x43,%bl
527bcc:	5b                   	pop    %ebx
527bcd:	0f 9d c0             	setge  %al
527bd0:	5d                   	pop    %ebp
527bd1:	c3                   	ret
527bd2:	85 d2                	test   %edx,%edx
527bd4:	75 23                	jne    0x527bf9
527bd6:	80 fb 42             	cmp    $0x42,%bl
527bd9:	75 1e                	jne    0x527bf9
527bdb:	b8 01 00 00 00       	mov    $0x1,%eax
527be0:	5b                   	pop    %ebx
527be1:	5d                   	pop    %ebp
527be2:	c3                   	ret
527be3:	33 c0                	xor    %eax,%eax
527be5:	85 d2                	test   %edx,%edx
527be7:	5b                   	pop    %ebx
527be8:	0f 94 c0             	sete   %al
527beb:	5d                   	pop    %ebp
527bec:	c3                   	ret
527bed:	80 fb 43             	cmp    $0x43,%bl
527bf0:	7c 07                	jl     0x527bf9
527bf2:	66 83 79 20 00       	cmpw   $0x0,0x20(%ecx)
527bf7:	7c e2                	jl     0x527bdb
527bf9:	33 c0                	xor    %eax,%eax
527bfb:	5b                   	pop    %ebx
527bfc:	5d                   	pop    %ebp
527bfd:	c3                   	ret
527bfe:	66 90                	xchg   %ax,%ax
527c00:	d2 7b 52             	sarb   %cl,0x52(%ebx)
527c03:	00 c7                	add    %al,%bh
527c05:	7b 52                	jnp    0x527c59
527c07:	00 e3                	add    %ah,%bl
527c09:	7b 52                	jnp    0x527c5d
527c0b:	00 ed                	add    %ch,%ch
527c0d:	7b 52                	jnp    0x527c61
527c0f:	00 f9                	add    %bh,%cl
527c11:	7b 52                	jnp    0x527c65
527c13:	00 00                	add    %al,(%eax)
527c15:	04 04                	add    $0x4,%al
527c17:	04 04                	add    $0x4,%al
527c19:	04 04                	add    $0x4,%al
527c1b:	04 04                	add    $0x4,%al
527c1d:	04 04                	add    $0x4,%al
527c1f:	04 04                	add    $0x4,%al
527c21:	04 04                	add    $0x4,%al
527c23:	04 04                	add    $0x4,%al
527c25:	04 04                	add    $0x4,%al
527c27:	04 04                	add    $0x4,%al
527c29:	04 04                	add    $0x4,%al
527c2b:	04 04                	add    $0x4,%al
527c2d:	04 04                	add    $0x4,%al
527c2f:	04 04                	add    $0x4,%al
527c31:	04 04                	add    $0x4,%al
527c33:	04 04                	add    $0x4,%al
527c35:	04 04                	add    $0x4,%al
527c37:	01 02                	add    %eax,(%edx)
527c39:	01 04 04             	add    %eax,(%esp,%eax,1)
527c3c:	04 04                	add    $0x4,%al
527c3e:	04 04                	add    $0x4,%al
527c40:	04 04                	add    $0x4,%al
527c42:	04 04                	add    $0x4,%al
527c44:	04 03                	add    $0x3,%al
527c46:	cc                   	int3
527c47:	cc                   	int3
527c48:	cc                   	int3
527c49:	cc                   	int3
527c4a:	cc                   	int3
527c4b:	cc                   	int3
527c4c:	cc                   	int3
527c4d:	cc                   	int3
527c4e:	cc                   	int3
527c4f:	cc                   	int3
527c50:	55                   	push   %ebp
527c51:	8b ec                	mov    %esp,%ebp
527c53:	57                   	push   %edi
527c54:	8b 7d 08             	mov    0x8(%ebp),%edi
527c57:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
527c5b:	75 27                	jne    0x527c84
527c5d:	56                   	push   %esi
527c5e:	8b 75 0c             	mov    0xc(%ebp),%esi
527c61:	56                   	push   %esi
527c62:	e8 59 9a fd ff       	call   0x5016c0
527c67:	8b 07                	mov    (%edi),%eax
527c69:	83 c4 04             	add    $0x4,%esp
527c6c:	8b 40 78             	mov    0x78(%eax),%eax
527c6f:	39 46 18             	cmp    %eax,0x18(%esi)
527c72:	5e                   	pop    %esi
527c73:	7e 0f                	jle    0x527c84
527c75:	50                   	push   %eax
527c76:	68 30 90 6b 00       	push   $0x6b9030
527c7b:	57                   	push   %edi
527c7c:	e8 df b5 ff ff       	call   0x523260
527c81:	83 c4 0c             	add    $0xc,%esp
527c84:	5f                   	pop    %edi
527c85:	5d                   	pop    %ebp
527c86:	c3                   	ret
527c87:	cc                   	int3
527c88:	cc                   	int3
527c89:	cc                   	int3
527c8a:	cc                   	int3
527c8b:	cc                   	int3
527c8c:	cc                   	int3
527c8d:	cc                   	int3
527c8e:	cc                   	int3
527c8f:	cc                   	int3
527c90:	55                   	push   %ebp
527c91:	8b ec                	mov    %esp,%ebp
527c93:	56                   	push   %esi
527c94:	8b 75 08             	mov    0x8(%ebp),%esi
527c97:	8a 06                	mov    (%esi),%al
527c99:	3c 2c                	cmp    $0x2c,%al
527c9b:	74 09                	je     0x527ca6
527c9d:	3c 2b                	cmp    $0x2b,%al
527c9f:	74 05                	je     0x527ca6
527ca1:	8b c6                	mov    %esi,%eax
527ca3:	5e                   	pop    %esi
527ca4:	5d                   	pop    %ebp
527ca5:	c3                   	ret
527ca6:	53                   	push   %ebx
527ca7:	57                   	push   %edi
527ca8:	ff 76 10             	push   0x10(%esi)
527cab:	e8 e0 ff ff ff       	call   0x527c90
527cb0:	ff 76 0c             	push   0xc(%esi)
527cb3:	8b f8                	mov    %eax,%edi
527cb5:	e8 d6 ff ff ff       	call   0x527c90
527cba:	8b d0                	mov    %eax,%edx
527cbc:	83 c4 08             	add    $0x8,%esp
527cbf:	8b 5a 04             	mov    0x4(%edx),%ebx
527cc2:	8b c3                	mov    %ebx,%eax
527cc4:	25 01 00 00 10       	and    $0x10000001,%eax
527cc9:	3d 00 00 00 10       	cmp    $0x10000000,%eax
527cce:	74 41                	je     0x527d11
527cd0:	8b 4f 04             	mov    0x4(%edi),%ecx
527cd3:	8b c1                	mov    %ecx,%eax
527cd5:	25 01 00 00 20       	and    $0x20000001,%eax
527cda:	3d 00 00 00 20       	cmp    $0x20000000,%eax
527cdf:	74 30                	je     0x527d11
527ce1:	81 e1 01 00 00 10    	and    $0x10000001,%ecx
527ce7:	81 f9 00 00 00 10    	cmp    $0x10000000,%ecx
527ced:	74 15                	je     0x527d04
527cef:	81 e3 01 00 00 20    	and    $0x20000001,%ebx
527cf5:	81 fb 00 00 00 20    	cmp    $0x20000000,%ebx
527cfb:	74 07                	je     0x527d04
527cfd:	5f                   	pop    %edi
527cfe:	5b                   	pop    %ebx
527cff:	8b c6                	mov    %esi,%eax
527d01:	5e                   	pop    %esi
527d02:	5d                   	pop    %ebp
527d03:	c3                   	ret
527d04:	80 3e 2c             	cmpb   $0x2c,(%esi)
527d07:	0f 44 fa             	cmove  %edx,%edi
527d0a:	8b c7                	mov    %edi,%eax
527d0c:	5f                   	pop    %edi
527d0d:	5b                   	pop    %ebx
527d0e:	5e                   	pop    %esi
527d0f:	5d                   	pop    %ebp
527d10:	c3                   	ret
527d11:	80 3e 2c             	cmpb   $0x2c,(%esi)
527d14:	0f 44 d7             	cmove  %edi,%edx
527d17:	5f                   	pop    %edi
527d18:	5b                   	pop    %ebx
527d19:	8b c2                	mov    %edx,%eax
527d1b:	5e                   	pop    %esi
527d1c:	5d                   	pop    %ebp
527d1d:	c3                   	ret
527d1e:	cc                   	int3
527d1f:	cc                   	int3
527d20:	55                   	push   %ebp
527d21:	8b ec                	mov    %esp,%ebp
527d23:	8b 45 08             	mov    0x8(%ebp),%eax
527d26:	85 c0                	test   %eax,%eax
527d28:	74 16                	je     0x527d40
527d2a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
527d30:	f7 40 04 00 10 00 00 	testl  $0x1000,0x4(%eax)
527d37:	74 07                	je     0x527d40
527d39:	8b 40 0c             	mov    0xc(%eax),%eax
527d3c:	85 c0                	test   %eax,%eax
527d3e:	75 f0                	jne    0x527d30
527d40:	5d                   	pop    %ebp
527d41:	c3                   	ret
527d42:	cc                   	int3
527d43:	cc                   	int3
527d44:	cc                   	int3
527d45:	cc                   	int3
527d46:	cc                   	int3
527d47:	cc                   	int3
527d48:	cc                   	int3
527d49:	cc                   	int3
527d4a:	cc                   	int3
527d4b:	cc                   	int3
527d4c:	cc                   	int3
527d4d:	cc                   	int3
527d4e:	cc                   	int3
527d4f:	cc                   	int3
527d50:	55                   	push   %ebp
527d51:	8b ec                	mov    %esp,%ebp
527d53:	8b 45 08             	mov    0x8(%ebp),%eax
527d56:	85 c0                	test   %eax,%eax
527d58:	74 28                	je     0x527d82
527d5a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
527d60:	8b 48 04             	mov    0x4(%eax),%ecx
527d63:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
527d69:	74 17                	je     0x527d82
527d6b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
527d71:	74 08                	je     0x527d7b
527d73:	8b 40 14             	mov    0x14(%eax),%eax
527d76:	8b 40 04             	mov    0x4(%eax),%eax
527d79:	eb 03                	jmp    0x527d7e
527d7b:	8b 40 0c             	mov    0xc(%eax),%eax
527d7e:	85 c0                	test   %eax,%eax
527d80:	75 de                	jne    0x527d60
527d82:	5d                   	pop    %ebp
527d83:	c3                   	ret
527d84:	cc                   	int3
527d85:	cc                   	int3
527d86:	cc                   	int3
527d87:	cc                   	int3
527d88:	cc                   	int3
527d89:	cc                   	int3
527d8a:	cc                   	int3
527d8b:	cc                   	int3
527d8c:	cc                   	int3
527d8d:	cc                   	int3
527d8e:	cc                   	int3