5298ab:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5298af:	c7 44 88 08 ff ff ff 	movl   $0xffffffff,0x8(%eax,%ecx,4)
5298b6:	ff
5298b7:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5298be:	00
5298bf:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5298c6:	00
5298c7:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5298ca:	8b 7f 04             	mov    0x4(%edi),%edi
5298cd:	8b 55 ec             	mov    -0x14(%ebp),%edx
5298d0:	8b 45 e0             	mov    -0x20(%ebp),%eax
5298d3:	89 7d e8             	mov    %edi,-0x18(%ebp)
5298d6:	85 ff                	test   %edi,%edi
5298d8:	0f 85 92 fc ff ff    	jne    0x529570
5298de:	8b 42 48             	mov    0x48(%edx),%eax
5298e1:	6a 00                	push   $0x0
5298e3:	ff 32                	push   (%edx)
5298e5:	83 c0 38             	add    $0x38,%eax
5298e8:	50                   	push   %eax
5298e9:	e8 e2 86 fd ff       	call   0x501fd0
5298ee:	83 c4 0c             	add    $0xc,%esp
5298f1:	8b 40 08             	mov    0x8(%eax),%eax
5298f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5298f7:	85 c0                	test   %eax,%eax
5298f9:	0f 84 f3 01 00 00    	je     0x529af2
5298ff:	90                   	nop
529900:	8b 4d 18             	mov    0x18(%ebp),%ecx
529903:	8b 7d ec             	mov    -0x14(%ebp),%edi
529906:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
52990d:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
529914:	85 c9                	test   %ecx,%ecx
529916:	74 19                	je     0x529931
529918:	ff 75 1c             	push   0x1c(%ebp)
52991b:	51                   	push   %ecx
52991c:	50                   	push   %eax
52991d:	57                   	push   %edi
52991e:	e8 7d 97 fd ff       	call   0x5030a0
529923:	83 c4 10             	add    $0x10,%esp
529926:	85 c0                	test   %eax,%eax
529928:	0f 84 b3 01 00 00    	je     0x529ae1
52992e:	8b 45 f4             	mov    -0xc(%ebp),%eax
529931:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
529935:	75 1e                	jne    0x529955
529937:	8b 46 20             	mov    0x20(%esi),%eax
52993a:	25 00 00 08 00       	and    $0x80000,%eax
52993f:	83 c8 00             	or     $0x0,%eax
529942:	75 0e                	jne    0x529952
529944:	39 43 74             	cmp    %eax,0x74(%ebx)
529947:	75 09                	jne    0x529952
529949:	38 43 14             	cmp    %al,0x14(%ebx)
52994c:	0f 84 8f 01 00 00    	je     0x529ae1
529952:	8b 45 f4             	mov    -0xc(%ebp),%eax
529955:	8d 4d f0             	lea    -0x10(%ebp),%ecx
529958:	51                   	push   %ecx
529959:	8d 4d e0             	lea    -0x20(%ebp),%ecx
52995c:	51                   	push   %ecx
52995d:	50                   	push   %eax
52995e:	57                   	push   %edi
52995f:	53                   	push   %ebx
529960:	e8 7b 05 00 00       	call   0x529ee0
529965:	83 c4 14             	add    $0x14,%esp
529968:	85 c0                	test   %eax,%eax
52996a:	74 19                	je     0x529985
52996c:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
529970:	0f 84 7c 01 00 00    	je     0x529af2
529976:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
52997a:	0f 85 72 01 00 00    	jne    0x529af2
529980:	e9 5c 01 00 00       	jmp    0x529ae1
529985:	6a 00                	push   $0x0
529987:	6a 50                	push   $0x50
529989:	ff 33                	push   (%ebx)
52998b:	e8 50 7a ff ff       	call   0x5213e0
529990:	8b 7d f0             	mov    -0x10(%ebp),%edi
529993:	83 c4 0c             	add    $0xc,%esp
529996:	89 45 e4             	mov    %eax,-0x1c(%ebp)
529999:	85 c0                	test   %eax,%eax
52999b:	0f 84 e6 00 00 00    	je     0x529a87
5299a1:	6a 48                	push   $0x48
5299a3:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
5299aa:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5299b0:	83 c0 08             	add    $0x8,%eax
5299b3:	6a 00                	push   $0x0
5299b5:	50                   	push   %eax
5299b6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5299b9:	e8 42 a0 0b 00       	call   0x5e3a00
5299be:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5299c1:	83 c4 0c             	add    $0xc,%esp
5299c4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5299c7:	c7 42 34 ff ff ff ff 	movl   $0xffffffff,0x34(%edx)
5299ce:	8b 02                	mov    (%edx),%eax
5299d0:	8d 04 c0             	lea    (%eax,%eax,8),%eax
5299d3:	c7 44 c2 c8 00 00 00 	movl   $0x0,-0x38(%edx,%eax,8)
5299da:	00
5299db:	c7 44 c2 c4 00 00 00 	movl   $0x0,-0x3c(%edx,%eax,8)
5299e2:	00
5299e3:	8b 01                	mov    (%ecx),%eax
5299e5:	89 42 18             	mov    %eax,0x18(%edx)
5299e8:	8b 01                	mov    (%ecx),%eax
5299ea:	8b 00                	mov    (%eax),%eax
5299ec:	89 42 10             	mov    %eax,0x10(%edx)
5299ef:	8b 42 18             	mov    0x18(%edx),%eax
5299f2:	ff 40 20             	incl   0x20(%eax)
5299f5:	8b 43 28             	mov    0x28(%ebx),%eax
5299f8:	89 42 34             	mov    %eax,0x34(%edx)
5299fb:	ff 43 28             	incl   0x28(%ebx)
5299fe:	8b 45 14             	mov    0x14(%ebp),%eax
529a01:	85 c0                	test   %eax,%eax
529a03:	74 1b                	je     0x529a20
529a05:	6a ff                	push   $0xffffffff
529a07:	50                   	push   %eax
529a08:	57                   	push   %edi
529a09:	51                   	push   %ecx
529a0a:	ff 75 e0             	push   -0x20(%ebp)
529a0d:	ff 75 ec             	push   -0x14(%ebp)
529a10:	52                   	push   %edx
529a11:	53                   	push   %ebx
529a12:	e8 69 97 fd ff       	call   0x503180
529a17:	8b 4d f4             	mov    -0xc(%ebp),%ecx
529a1a:	83 c4 20             	add    $0x20,%esp
529a1d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
529a20:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
529a24:	74 4b                	je     0x529a71
529a26:	6a 01                	push   $0x1
529a28:	ff 75 10             	push   0x10(%ebp)
529a2b:	33 c0                	xor    %eax,%eax
529a2d:	39 45 18             	cmp    %eax,0x18(%ebp)
529a30:	57                   	push   %edi
529a31:	51                   	push   %ecx
529a32:	ff 75 e0             	push   -0x20(%ebp)
529a35:	0f 95 c0             	setne  %al
529a38:	ff 75 ec             	push   -0x14(%ebp)
529a3b:	52                   	push   %edx
529a3c:	0f b6 44 08 19       	movzbl 0x19(%eax,%ecx,1),%eax
529a41:	53                   	push   %ebx
529a42:	89 45 cc             	mov    %eax,-0x34(%ebp)
529a45:	e8 36 97 fd ff       	call   0x503180
529a4a:	8b 45 f4             	mov    -0xc(%ebp),%eax
529a4d:	83 c4 20             	add    $0x20,%esp
529a50:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
529a54:	75 1b                	jne    0x529a71
529a56:	8b 45 cc             	mov    -0x34(%ebp),%eax
529a59:	83 f8 0a             	cmp    $0xa,%eax
529a5c:	74 13                	je     0x529a71
529a5e:	83 f8 08             	cmp    $0x8,%eax
529a61:	74 0e                	je     0x529a71
529a63:	8b 43 74             	mov    0x74(%ebx),%eax
529a66:	8b cb                	mov    %ebx,%ecx
529a68:	85 c0                	test   %eax,%eax
529a6a:	0f 45 c8             	cmovne %eax,%ecx
529a6d:	c6 41 15 01          	movb   $0x1,0x15(%ecx)
529a71:	8b 45 f8             	mov    -0x8(%ebp),%eax
529a74:	ff 75 e4             	push   -0x1c(%ebp)
529a77:	56                   	push   %esi
529a78:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
529a7f:	e8 ec 32 01 00       	call   0x53cd70
529a84:	83 c4 08             	add    $0x8,%esp
529a87:	85 ff                	test   %edi,%edi
529a89:	74 56                	je     0x529ae1
529a8b:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
529a92:	74 0c                	je     0x529aa0
529a94:	57                   	push   %edi
529a95:	56                   	push   %esi
529a96:	e8 d5 f9 fd ff       	call   0x509470
529a9b:	83 c4 08             	add    $0x8,%esp
529a9e:	eb 41                	jmp    0x529ae1
529aa0:	3b be 4c 01 00 00    	cmp    0x14c(%esi),%edi
529aa6:	73 30                	jae    0x529ad8
529aa8:	3b be 44 01 00 00    	cmp    0x144(%esi),%edi
529aae:	72 10                	jb     0x529ac0
529ab0:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
529ab6:	89 07                	mov    %eax,(%edi)
529ab8:	89 be 40 01 00 00    	mov    %edi,0x140(%esi)
529abe:	eb 21                	jmp    0x529ae1
529ac0:	3b be 48 01 00 00    	cmp    0x148(%esi),%edi
529ac6:	72 10                	jb     0x529ad8
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)