529c89:	eb 55                	jmp    0x529ce0
529c8b:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
529c92:	74 42                	je     0x529cd6
529c94:	a1 90 ff 72 00       	mov    0x72ff90,%eax
529c99:	85 c0                	test   %eax,%eax
529c9b:	74 0a                	je     0x529ca7
529c9d:	50                   	push   %eax
529c9e:	ff 15 60 18 72 00    	call   *0x721860
529ca4:	83 c4 04             	add    $0x4,%esp
529ca7:	57                   	push   %edi
529ca8:	ff 15 3c 18 72 00    	call   *0x72183c
529cae:	29 05 20 00 73 00    	sub    %eax,0x730020
529cb4:	ff 0d 44 00 73 00    	decl   0x730044
529cba:	57                   	push   %edi
529cbb:	ff 15 34 18 72 00    	call   *0x721834
529cc1:	a1 90 ff 72 00       	mov    0x72ff90,%eax
529cc6:	83 c4 08             	add    $0x8,%esp
529cc9:	85 c0                	test   %eax,%eax
529ccb:	74 13                	je     0x529ce0
529ccd:	50                   	push   %eax
529cce:	ff 15 68 18 72 00    	call   *0x721868
529cd4:	eb 07                	jmp    0x529cdd
529cd6:	57                   	push   %edi
529cd7:	ff 15 34 18 72 00    	call   *0x721834
529cdd:	83 c4 04             	add    $0x4,%esp
529ce0:	8b 55 0c             	mov    0xc(%ebp),%edx
529ce3:	8b fb                	mov    %ebx,%edi
529ce5:	85 db                	test   %ebx,%ebx
529ce7:	0f 85 3b fe ff ff    	jne    0x529b28
529ced:	5e                   	pop    %esi
529cee:	5b                   	pop    %ebx
529cef:	5f                   	pop    %edi
529cf0:	8b e5                	mov    %ebp,%esp
529cf2:	5d                   	pop    %ebp
529cf3:	c3                   	ret
529cf4:	cc                   	int3
529cf5:	cc                   	int3
529cf6:	cc                   	int3
529cf7:	cc                   	int3
529cf8:	cc                   	int3
529cf9:	cc                   	int3
529cfa:	cc                   	int3
529cfb:	cc                   	int3
529cfc:	cc                   	int3
529cfd:	cc                   	int3
529cfe:	cc                   	int3
529cff:	cc                   	int3
529d00:	55                   	push   %ebp
529d01:	8b ec                	mov    %esp,%ebp
529d03:	56                   	push   %esi
529d04:	8b 75 08             	mov    0x8(%ebp),%esi
529d07:	8b 0e                	mov    (%esi),%ecx
529d09:	89 4d 08             	mov    %ecx,0x8(%ebp)
529d0c:	8b 41 20             	mov    0x20(%ecx),%eax
529d0f:	25 00 40 00 00       	and    $0x4000,%eax
529d14:	83 c8 00             	or     $0x0,%eax
529d17:	0f 84 b3 01 00 00    	je     0x529ed0
529d1d:	8b 45 10             	mov    0x10(%ebp),%eax
529d20:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
529d24:	0f 85 a6 01 00 00    	jne    0x529ed0
529d2a:	53                   	push   %ebx
529d2b:	57                   	push   %edi
529d2c:	8b 7e 08             	mov    0x8(%esi),%edi
529d2f:	33 db                	xor    %ebx,%ebx
529d31:	85 ff                	test   %edi,%edi
529d33:	75 1d                	jne    0x529d52
529d35:	39 5e 74             	cmp    %ebx,0x74(%esi)
529d38:	75 0a                	jne    0x529d44
529d3a:	f6 41 4c 08          	testb  $0x8,0x4c(%ecx)
529d3e:	75 04                	jne    0x529d44
529d40:	c6 46 17 01          	movb   $0x1,0x17(%esi)
529d44:	56                   	push   %esi
529d45:	e8 c6 86 01 00       	call   0x542410
529d4a:	8b f8                	mov    %eax,%edi
529d4c:	83 c4 04             	add    $0x4,%esp
529d4f:	8b 45 10             	mov    0x10(%ebp),%eax
529d52:	8b 48 48             	mov    0x48(%eax),%ecx
529d55:	6a 00                	push   $0x0
529d57:	ff 30                	push   (%eax)
529d59:	83 c1 38             	add    $0x38,%ecx
529d5c:	51                   	push   %ecx
529d5d:	e8 6e 82 fd ff       	call   0x501fd0
529d62:	83 c4 0c             	add    $0xc,%esp
529d65:	39 58 08             	cmp    %ebx,0x8(%eax)
529d68:	0f 85 7f 00 00 00    	jne    0x529ded
529d6e:	8b 4d 10             	mov    0x10(%ebp),%ecx
529d71:	8b 49 10             	mov    0x10(%ecx),%ecx
529d74:	85 c9                	test   %ecx,%ecx
529d76:	0f 84 52 01 00 00    	je     0x529ece
529d7c:	8b 55 08             	mov    0x8(%ebp),%edx
529d7f:	90                   	nop
529d80:	38 59 18             	cmp    %bl,0x18(%ecx)
529d83:	75 19                	jne    0x529d9e
529d85:	8b 42 20             	mov    0x20(%edx),%eax
529d88:	25 00 00 08 00       	and    $0x80000,%eax
529d8d:	83 c8 00             	or     $0x0,%eax
529d90:	75 0c                	jne    0x529d9e
529d92:	8b 49 04             	mov    0x4(%ecx),%ecx
529d95:	85 c9                	test   %ecx,%ecx
529d97:	75 e7                	jne    0x529d80
529d99:	5f                   	pop    %edi
529d9a:	5b                   	pop    %ebx
529d9b:	5e                   	pop    %esi
529d9c:	5d                   	pop    %ebp
529d9d:	c3                   	ret
529d9e:	ff 4e 38             	decl   0x38(%esi)
529da1:	8b 4f 6c             	mov    0x6c(%edi),%ecx
529da4:	8b 5e 38             	mov    0x38(%esi),%ebx
529da7:	39 4f 70             	cmp    %ecx,0x70(%edi)
529daa:	7f 12                	jg     0x529dbe
529dac:	6a 00                	push   $0x0
529dae:	53                   	push   %ebx
529daf:	6a 01                	push   $0x1
529db1:	6a 2f                	push   $0x2f
529db3:	57                   	push   %edi
529db4:	e8 47 c7 fd ff       	call   0x506500
529db9:	83 c4 14             	add    $0x14,%esp
529dbc:	eb 2f                	jmp    0x529ded
529dbe:	8d 41 01             	lea    0x1(%ecx),%eax
529dc1:	89 47 6c             	mov    %eax,0x6c(%edi)
529dc4:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
529dc7:	8b 47 68             	mov    0x68(%edi),%eax
529dca:	c7 04 88 2f 00 00 00 	movl   $0x2f,(%eax,%ecx,4)
529dd1:	c7 44 88 04 01 00 00 	movl   $0x1,0x4(%eax,%ecx,4)
529dd8:	00
529dd9:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
529ddd:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
529de4:	00
529de5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
529dec:	00
529ded:	6a 00                	push   $0x0
529def:	6a 00                	push   $0x0
529df1:	6a 00                	push   $0x0
529df3:	6a 00                	push   $0x0
529df5:	ff 75 0c             	push   0xc(%ebp)
529df8:	c6 86 92 00 00 00 01 	movb   $0x1,0x92(%esi)
529dff:	ff 75 08             	push   0x8(%ebp)
529e02:	e8 19 31 01 00       	call   0x53cf20
529e07:	83 c4 0c             	add    $0xc,%esp
529e0a:	50                   	push   %eax
529e0b:	56                   	push   %esi
529e0c:	e8 af 7b ff ff       	call   0x5219c0
529e11:	8b 45 08             	mov    0x8(%ebp),%eax
529e14:	83 c4 14             	add    $0x14,%esp
529e17:	c6 86 92 00 00 00 00 	movb   $0x0,0x92(%esi)
529e1e:	8b 40 20             	mov    0x20(%eax),%eax
529e21:	25 00 00 08 00       	and    $0x80000,%eax
529e26:	83 c8 00             	or     $0x0,%eax
529e29:	75 79                	jne    0x529ea4
529e2b:	8b 47 6c             	mov    0x6c(%edi),%eax
529e2e:	83 c0 02             	add    $0x2,%eax
529e31:	50                   	push   %eax
529e32:	6a 00                	push   $0x0
529e34:	6a 2f                	push   $0x2f
529e36:	57                   	push   %edi
529e37:	e8 a4 7c 01 00       	call   0x541ae0
529e3c:	8b 46 08             	mov    0x8(%esi),%eax
529e3f:	83 c4 10             	add    $0x10,%esp
529e42:	89 45 08             	mov    %eax,0x8(%ebp)
529e45:	85 c0                	test   %eax,%eax
529e47:	75 1d                	jne    0x529e66
529e49:	39 46 74             	cmp    %eax,0x74(%esi)
529e4c:	75 0c                	jne    0x529e5a
529e4e:	8b 06                	mov    (%esi),%eax
529e50:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
529e54:	75 04                	jne    0x529e5a
529e56:	c6 46 17 01          	movb   $0x1,0x17(%esi)
529e5a:	56                   	push   %esi
529e5b:	e8 b0 85 01 00       	call   0x542410
529e60:	83 c4 04             	add    $0x4,%esp
529e63:	89 45 08             	mov    %eax,0x8(%ebp)
529e66:	8b 4e 74             	mov    0x74(%esi),%ecx
529e69:	85 c9                	test   %ecx,%ecx
529e6b:	6a ff                	push   $0xffffffff
529e6d:	6a 00                	push   $0x0
529e6f:	6a 00                	push   $0x0
529e71:	6a 02                	push   $0x2
529e73:	0f 45 f1             	cmovne %ecx,%esi
529e76:	68 13 03 00 00       	push   $0x313
529e7b:	6a 44                	push   $0x44
529e7d:	50                   	push   %eax
529e7e:	c6 46 15 01          	movb   $0x1,0x15(%esi)
529e82:	e8 09 7d 01 00       	call   0x541b90
529e87:	8b 45 08             	mov    0x8(%ebp),%eax
529e8a:	83 c4 1c             	add    $0x1c,%esp
529e8d:	8b 48 6c             	mov    0x6c(%eax),%ecx
529e90:	85 c9                	test   %ecx,%ecx
529e92:	7e 10                	jle    0x529ea4
529e94:	8b 40 68             	mov    0x68(%eax),%eax
529e97:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
529e9a:	ba 04 00 00 00       	mov    $0x4,%edx
529e9f:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
529ea4:	85 db                	test   %ebx,%ebx
529ea6:	74 26                	je     0x529ece
529ea8:	8b 4f 0c             	mov    0xc(%edi),%ecx
529eab:	f7 d3                	not    %ebx
529ead:	8b 41 3c             	mov    0x3c(%ecx),%eax
529eb0:	03 41 38             	add    0x38(%ecx),%eax
529eb3:	79 10                	jns    0x529ec5
529eb5:	53                   	push   %ebx
529eb6:	57                   	push   %edi
529eb7:	51                   	push   %ecx
529eb8:	e8 e3 98 fe ff       	call   0x5137a0
529ebd:	83 c4 0c             	add    $0xc,%esp
529ec0:	5f                   	pop    %edi
529ec1:	5b                   	pop    %ebx
529ec2:	5e                   	pop    %esi
529ec3:	5d                   	pop    %ebp
529ec4:	c3                   	ret
529ec5:	8b 49 40             	mov    0x40(%ecx),%ecx
529ec8:	8b 47 6c             	mov    0x6c(%edi),%eax
529ecb:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
529ece:	5f                   	pop    %edi
529ecf:	5b                   	pop    %ebx
529ed0:	5e                   	pop    %esi
529ed1:	5d                   	pop    %ebp
529ed2:	c3                   	ret
529ed3:	cc                   	int3
529ed4:	cc                   	int3
529ed5:	cc                   	int3
529ed6:	cc                   	int3
529ed7:	cc                   	int3
529ed8:	cc                   	int3
529ed9:	cc                   	int3
529eda:	cc                   	int3
529edb:	cc                   	int3
529edc:	cc                   	int3
529edd:	cc                   	int3
529ede:	cc                   	int3
529edf:	cc                   	int3
529ee0:	55                   	push   %ebp
529ee1:	8b ec                	mov    %esp,%ebp
529ee3:	83 ec 24             	sub    $0x24,%esp
529ee6:	8b 55 10             	mov    0x10(%ebp),%edx
529ee9:	8b 4a 28             	mov    0x28(%edx),%ecx
529eec:	8d 42 28             	lea    0x28(%edx),%eax
529eef:	53                   	push   %ebx
529ef0:	56                   	push   %esi
529ef1:	8b 5a 14             	mov    0x14(%edx),%ebx
529ef4:	33 f6                	xor    %esi,%esi
529ef6:	89 75 fc             	mov    %esi,-0x4(%ebp)
529ef9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
529efc:	89 45 e8             	mov    %eax,-0x18(%ebp)
529eff:	89 4d f4             	mov    %ecx,-0xc(%ebp)
529f02:	57                   	push   %edi
529f03:	83 fb 01             	cmp    $0x1,%ebx
529f06:	75 30                	jne    0x529f38
529f08:	8b 7d 0c             	mov    0xc(%ebp),%edi
529f0b:	0f b7 47 28          	movzwl 0x28(%edi),%eax
529f0f:	66 85 c0             	test   %ax,%ax
529f12:	78 5d                	js     0x529f71
529f14:	85 c9                	test   %ecx,%ecx
529f16:	74 17                	je     0x529f2f
529f18:	98                   	cwtl
529f19:	51                   	push   %ecx
529f1a:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
529f1d:	8b 47 04             	mov    0x4(%edi),%eax
529f20:	ff 34 88             	push   (%eax,%ecx,4)
529f23:	e8 08 3d 01 00       	call   0x53dc30
529f28:	83 c4 08             	add    $0x8,%esp
529f2b:	85 c0                	test   %eax,%eax
529f2d:	75 3f                	jne    0x529f6e
529f2f:	5f                   	pop    %edi
529f30:	5e                   	pop    %esi
529f31:	33 c0                	xor    %eax,%eax
529f33:	5b                   	pop    %ebx
529f34:	8b e5                	mov    %ebp,%esp
529f36:	5d                   	pop    %ebp
529f37:	c3                   	ret
529f38:	8b 75 18             	mov    0x18(%ebp),%esi
529f3b:	85 f6                	test   %esi,%esi
529f3d:	0f 84 98 00 00 00    	je     0x529fdb
529f43:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
529f4a:	6a 00                	push   $0x0
529f4c:	50                   	push   %eax
529f4d:	8b 45 08             	mov    0x8(%ebp),%eax
529f50:	ff 30                	push   (%eax)
529f52:	e8 89 74 ff ff       	call   0x5213e0
529f57:	8b d0                	mov    %eax,%edx
529f59:	83 c4 0c             	add    $0xc,%esp
529f5c:	89 55 fc             	mov    %edx,-0x4(%ebp)
529f5f:	85 d2                	test   %edx,%edx
529f61:	0f 84 05 02 00 00    	je     0x52a16c
529f67:	8b 7d 0c             	mov    0xc(%ebp),%edi
529f6a:	89 16                	mov    %edx,(%esi)
529f6c:	8b f0                	mov    %eax,%esi
529f6e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
529f71:	8b 7f 08             	mov    0x8(%edi),%edi
529f74:	89 7d f0             	mov    %edi,-0x10(%ebp)
529f77:	85 ff                	test   %edi,%edi
529f79:	0f 84 48 01 00 00    	je     0x52a0c7
529f7f:	90                   	nop
529f80:	0f b7 47 32          	movzwl 0x32(%edi),%eax
529f84:	3b c3                	cmp    %ebx,%eax
529f86:	0f 85 29 01 00 00    	jne    0x52a0b5
529f8c:	80 7f 36 00          	cmpb   $0x0,0x36(%edi)
529f90:	0f 84 1f 01 00 00    	je     0x52a0b5
529f96:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
529f9a:	0f 85 15 01 00 00    	jne    0x52a0b5
529fa0:	85 c9                	test   %ecx,%ecx
529fa2:	75 3e                	jne    0x529fe2
529fa4:	8b 47 38             	mov    0x38(%edi),%eax
529fa7:	24 03                	and    $0x3,%al
529fa9:	3c 02                	cmp    $0x2,%al
529fab:	0f 85 04 01 00 00    	jne    0x52a0b5
529fb1:	85 f6                	test   %esi,%esi
529fb3:	74 18                	je     0x529fcd
529fb5:	85 db                	test   %ebx,%ebx
529fb7:	7e 14                	jle    0x529fcd
529fb9:	8b 55 10             	mov    0x10(%ebp),%edx
529fbc:	83 c2 24             	add    $0x24,%edx
529fbf:	90                   	nop
529fc0:	8b 02                	mov    (%edx),%eax
529fc2:	8d 52 08             	lea    0x8(%edx),%edx
529fc5:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
529fc8:	41                   	inc    %ecx
529fc9:	3b cb                	cmp    %ebx,%ecx
529fcb:	7c f3                	jl     0x529fc0
529fcd:	8b 45 14             	mov    0x14(%ebp),%eax
529fd0:	89 38                	mov    %edi,(%eax)
529fd2:	33 c0                	xor    %eax,%eax
529fd4:	5f                   	pop    %edi
529fd5:	5e                   	pop    %esi
529fd6:	5b                   	pop    %ebx
529fd7:	8b e5                	mov    %ebp,%esp
529fd9:	5d                   	pop    %ebp
529fda:	c3                   	ret
529fdb:	8b 7d 0c             	mov    0xc(%ebp),%edi
529fde:	33 f6                	xor    %esi,%esi
529fe0:	eb 8f                	jmp    0x529f71
529fe2:	33 d2                	xor    %edx,%edx
529fe4:	89 55 f8             	mov    %edx,-0x8(%ebp)
529fe7:	85 db                	test   %ebx,%ebx
529fe9:	0f 8e be 00 00 00    	jle    0x52a0ad
529fef:	90                   	nop
529ff0:	8b 47 04             	mov    0x4(%edi),%eax
529ff3:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
529ff7:	66 85 c0             	test   %ax,%ax
529ffa:	0f 88 aa 00 00 00    	js     0x52a0aa
52a000:	98                   	cwtl
52a001:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52a004:	8b 45 0c             	mov    0xc(%ebp),%eax
52a007:	8b 40 04             	mov    0x4(%eax),%eax
52a00a:	8d 34 88             	lea    (%eax,%ecx,4),%esi
52a00d:	b9 40 1c 6b 00       	mov    $0x6b1c40,%ecx
52a012:	8b 46 08             	mov    0x8(%esi),%eax
52a015:	85 c0                	test   %eax,%eax
52a017:	0f 45 c8             	cmovne %eax,%ecx
52a01a:	8b 47 20             	mov    0x20(%edi),%eax
52a01d:	c1 e2 02             	shl    $0x2,%edx