529ac8:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
529ace:	89 07                	mov    %eax,(%edi)
529ad0:	89 be 38 01 00 00    	mov    %edi,0x138(%esi)
529ad6:	eb 09                	jmp    0x529ae1
529ad8:	57                   	push   %edi
529ad9:	e8 b2 12 fc ff       	call   0x4ead90
529ade:	83 c4 04             	add    $0x4,%esp
529ae1:	8b 45 f4             	mov    -0xc(%ebp),%eax
529ae4:	8b 40 0c             	mov    0xc(%eax),%eax
529ae7:	89 45 f4             	mov    %eax,-0xc(%ebp)
529aea:	85 c0                	test   %eax,%eax
529aec:	0f 85 0e fe ff ff    	jne    0x529900
529af2:	5f                   	pop    %edi
529af3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
529af6:	5e                   	pop    %esi
529af7:	33 cd                	xor    %ebp,%ecx
529af9:	5b                   	pop    %ebx
529afa:	e8 db 79 0b 00       	call   0x5e14da
529aff:	8b e5                	mov    %ebp,%esp
529b01:	5d                   	pop    %ebp
529b02:	c3                   	ret
529b03:	cc                   	int3
529b04:	cc                   	int3
529b05:	cc                   	int3
529b06:	cc                   	int3
529b07:	cc                   	int3
529b08:	cc                   	int3
529b09:	cc                   	int3
529b0a:	cc                   	int3
529b0b:	cc                   	int3
529b0c:	cc                   	int3
529b0d:	cc                   	int3
529b0e:	cc                   	int3
529b0f:	cc                   	int3
529b10:	55                   	push   %ebp
529b11:	8b ec                	mov    %esp,%ebp
529b13:	51                   	push   %ecx
529b14:	8b 55 0c             	mov    0xc(%ebp),%edx
529b17:	57                   	push   %edi
529b18:	8b 7a 10             	mov    0x10(%edx),%edi
529b1b:	85 ff                	test   %edi,%edi
529b1d:	0f 84 cc 01 00 00    	je     0x529cef
529b23:	53                   	push   %ebx
529b24:	56                   	push   %esi
529b25:	8b 75 08             	mov    0x8(%ebp),%esi
529b28:	85 f6                	test   %esi,%esi
529b2a:	74 09                	je     0x529b35
529b2c:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
529b33:	75 39                	jne    0x529b6e
529b35:	8b 4f 10             	mov    0x10(%edi),%ecx
529b38:	8b 47 0c             	mov    0xc(%edi),%eax
529b3b:	85 c9                	test   %ecx,%ecx
529b3d:	74 05                	je     0x529b44
529b3f:	89 41 0c             	mov    %eax,0xc(%ecx)
529b42:	eb 1d                	jmp    0x529b61
529b44:	85 c0                	test   %eax,%eax
529b46:	74 05                	je     0x529b4d
529b48:	8b 48 08             	mov    0x8(%eax),%ecx
529b4b:	eb 03                	jmp    0x529b50
529b4d:	8b 4f 08             	mov    0x8(%edi),%ecx
529b50:	50                   	push   %eax
529b51:	8b 42 48             	mov    0x48(%edx),%eax
529b54:	51                   	push   %ecx
529b55:	83 c0 38             	add    $0x38,%eax
529b58:	50                   	push   %eax
529b59:	e8 42 3f 00 00       	call   0x52daa0
529b5e:	83 c4 0c             	add    $0xc,%esp
529b61:	8b 4f 0c             	mov    0xc(%edi),%ecx
529b64:	85 c9                	test   %ecx,%ecx
529b66:	74 06                	je     0x529b6e
529b68:	8b 47 10             	mov    0x10(%edi),%eax
529b6b:	89 41 10             	mov    %eax,0x10(%ecx)
529b6e:	8b 5f 1c             	mov    0x1c(%edi),%ebx
529b71:	85 db                	test   %ebx,%ebx
529b73:	74 5c                	je     0x529bd1
529b75:	8b 43 1c             	mov    0x1c(%ebx),%eax
529b78:	89 45 fc             	mov    %eax,-0x4(%ebp)
529b7b:	8b 48 10             	mov    0x10(%eax),%ecx
529b7e:	85 c9                	test   %ecx,%ecx
529b80:	74 0d                	je     0x529b8f
529b82:	51                   	push   %ecx
529b83:	56                   	push   %esi
529b84:	e8 27 cc ff ff       	call   0x5267b0
529b89:	8b 45 fc             	mov    -0x4(%ebp),%eax
529b8c:	83 c4 08             	add    $0x8,%esp
529b8f:	8b 48 14             	mov    0x14(%eax),%ecx
529b92:	85 c9                	test   %ecx,%ecx
529b94:	74 0d                	je     0x529ba3
529b96:	51                   	push   %ecx
529b97:	56                   	push   %esi
529b98:	e8 63 74 fd ff       	call   0x501000
529b9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
529ba0:	83 c4 08             	add    $0x8,%esp
529ba3:	8b 40 08             	mov    0x8(%eax),%eax
529ba6:	85 c0                	test   %eax,%eax
529ba8:	74 0c                	je     0x529bb6
529baa:	6a 01                	push   $0x1
529bac:	50                   	push   %eax
529bad:	56                   	push   %esi
529bae:	e8 3d f2 fc ff       	call   0x4f8df0
529bb3:	83 c4 0c             	add    $0xc,%esp
529bb6:	8b 43 0c             	mov    0xc(%ebx),%eax
529bb9:	85 c0                	test   %eax,%eax
529bbb:	74 0a                	je     0x529bc7
529bbd:	50                   	push   %eax
529bbe:	56                   	push   %esi
529bbf:	e8 ec cb ff ff       	call   0x5267b0
529bc4:	83 c4 08             	add    $0x8,%esp
529bc7:	53                   	push   %ebx
529bc8:	56                   	push   %esi
529bc9:	e8 a2 77 ff ff       	call   0x521370
529bce:	83 c4 08             	add    $0x8,%esp
529bd1:	8b 5f 20             	mov    0x20(%edi),%ebx
529bd4:	85 db                	test   %ebx,%ebx
529bd6:	74 5c                	je     0x529c34
529bd8:	8b 43 1c             	mov    0x1c(%ebx),%eax
529bdb:	89 45 fc             	mov    %eax,-0x4(%ebp)
529bde:	8b 48 10             	mov    0x10(%eax),%ecx
529be1:	85 c9                	test   %ecx,%ecx
529be3:	74 0d                	je     0x529bf2
529be5:	51                   	push   %ecx
529be6:	56                   	push   %esi
529be7:	e8 c4 cb ff ff       	call   0x5267b0
529bec:	8b 45 fc             	mov    -0x4(%ebp),%eax
529bef:	83 c4 08             	add    $0x8,%esp
529bf2:	8b 48 14             	mov    0x14(%eax),%ecx
529bf5:	85 c9                	test   %ecx,%ecx
529bf7:	74 0d                	je     0x529c06
529bf9:	51                   	push   %ecx
529bfa:	56                   	push   %esi
529bfb:	e8 00 74 fd ff       	call   0x501000
529c00:	8b 45 fc             	mov    -0x4(%ebp),%eax
529c03:	83 c4 08             	add    $0x8,%esp
529c06:	8b 40 08             	mov    0x8(%eax),%eax
529c09:	85 c0                	test   %eax,%eax
529c0b:	74 0c                	je     0x529c19
529c0d:	6a 01                	push   $0x1
529c0f:	50                   	push   %eax
529c10:	56                   	push   %esi
529c11:	e8 da f1 fc ff       	call   0x4f8df0
529c16:	83 c4 0c             	add    $0xc,%esp
529c19:	8b 43 0c             	mov    0xc(%ebx),%eax
529c1c:	85 c0                	test   %eax,%eax
529c1e:	74 0a                	je     0x529c2a
529c20:	50                   	push   %eax
529c21:	56                   	push   %esi
529c22:	e8 89 cb ff ff       	call   0x5267b0
529c27:	83 c4 08             	add    $0x8,%esp
529c2a:	53                   	push   %ebx
529c2b:	56                   	push   %esi
529c2c:	e8 3f 77 ff ff       	call   0x521370
529c31:	83 c4 08             	add    $0x8,%esp
529c34:	8b 5f 04             	mov    0x4(%edi),%ebx
529c37:	85 f6                	test   %esi,%esi
529c39:	74 50                	je     0x529c8b
529c3b:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
529c42:	74 0f                	je     0x529c53
529c44:	57                   	push   %edi
529c45:	56                   	push   %esi
529c46:	e8 25 f8 fd ff       	call   0x509470
529c4b:	83 c4 08             	add    $0x8,%esp
529c4e:	e9 8d 00 00 00       	jmp    0x529ce0
529c53:	3b be 4c 01 00 00    	cmp    0x14c(%esi),%edi
529c59:	73 30                	jae    0x529c8b
529c5b:	3b be 44 01 00 00    	cmp    0x144(%esi),%edi
529c61:	72 10                	jb     0x529c73
529c63:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
529c69:	89 07                	mov    %eax,(%edi)
529c6b:	89 be 40 01 00 00    	mov    %edi,0x140(%esi)
529c71:	eb 6d                	jmp    0x529ce0
529c73:	3b be 48 01 00 00    	cmp    0x148(%esi),%edi
529c79:	72 10                	jb     0x529c8b
529c7b:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
529c81:	89 07                	mov    %eax,(%edi)
529c83:	89 be 38 01 00 00    	mov    %edi,0x138(%esi)
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