528c1e:	74 0b                	je     0x528c2b
528c20:	39 38                	cmp    %edi,(%eax)
528c22:	74 07                	je     0x528c2b
528c24:	8b 40 18             	mov    0x18(%eax),%eax
528c27:	85 c0                	test   %eax,%eax
528c29:	75 f5                	jne    0x528c20
528c2b:	6a f4                	push   $0xfffffff4
528c2d:	50                   	push   %eax
528c2e:	6a 00                	push   $0x0
528c30:	6a 00                	push   $0x0
528c32:	6a 00                	push   $0x0
528c34:	68 a2 00 00 00       	push   $0xa2
528c39:	53                   	push   %ebx
528c3a:	e8 51 8f 01 00       	call   0x541b90
528c3f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528c42:	83 c4 1c             	add    $0x1c,%esp
528c45:	41                   	inc    %ecx
528c46:	89 4d fc             	mov    %ecx,-0x4(%ebp)
528c49:	3b 8e cc 00 00 00    	cmp    0xcc(%esi),%ecx
528c4f:	7c bf                	jl     0x528c10
528c51:	56                   	push   %esi
528c52:	c7 86 cc 00 00 00 00 	movl   $0x0,0xcc(%esi)
528c59:	00 00 00
528c5c:	e8 6f 1a fd ff       	call   0x4fa6d0
528c61:	56                   	push   %esi
528c62:	e8 b9 0e ff ff       	call   0x519b20
528c67:	8b 46 44             	mov    0x44(%esi),%eax
528c6a:	83 c4 08             	add    $0x8,%esp
528c6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
528c70:	85 c0                	test   %eax,%eax
528c72:	74 61                	je     0x528cd5
528c74:	c6 46 17 00          	movb   $0x0,0x17(%esi)
528c78:	83 38 00             	cmpl   $0x0,(%eax)
528c7b:	7e 58                	jle    0x528cd5
528c7d:	8d 58 04             	lea    0x4(%eax),%ebx
528c80:	33 ff                	xor    %edi,%edi
528c82:	8b 43 10             	mov    0x10(%ebx),%eax
528c85:	8b 0b                	mov    (%ebx),%ecx
528c87:	50                   	push   %eax
528c88:	51                   	push   %ecx
528c89:	56                   	push   %esi
528c8a:	89 45 f8             	mov    %eax,-0x8(%ebp)
528c8d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
528c90:	e8 bb c5 ff ff       	call   0x525250
528c95:	8b 4d f8             	mov    -0x8(%ebp),%ecx
528c98:	83 c4 0c             	add    $0xc,%esp
528c9b:	3b c1                	cmp    %ecx,%eax
528c9d:	74 25                	je     0x528cc4
528c9f:	8b 56 08             	mov    0x8(%esi),%edx
528ca2:	85 d2                	test   %edx,%edx
528ca4:	74 1e                	je     0x528cc4
528ca6:	51                   	push   %ecx
528ca7:	50                   	push   %eax
528ca8:	8b 45 fc             	mov    -0x4(%ebp),%eax
528cab:	8b 40 04             	mov    0x4(%eax),%eax
528cae:	25 00 00 20 00       	and    $0x200000,%eax
528cb3:	f7 d8                	neg    %eax
528cb5:	1b c0                	sbb    %eax,%eax
528cb7:	83 c0 4e             	add    $0x4e,%eax
528cba:	50                   	push   %eax
528cbb:	52                   	push   %edx
528cbc:	e8 1f 8e 01 00       	call   0x541ae0
528cc1:	83 c4 10             	add    $0x10,%esp
528cc4:	8b 45 f4             	mov    -0xc(%ebp),%eax
528cc7:	47                   	inc    %edi
528cc8:	83 c3 14             	add    $0x14,%ebx
528ccb:	3b 38                	cmp    (%eax),%edi
528ccd:	7c b3                	jl     0x528c82
528ccf:	8b 7d f0             	mov    -0x10(%ebp),%edi
528cd2:	8b 5d 08             	mov    0x8(%ebp),%ebx
528cd5:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
528cd8:	39 4b 70             	cmp    %ecx,0x70(%ebx)
528cdb:	7f 13                	jg     0x528cf0
528cdd:	6a 00                	push   $0x0
528cdf:	6a 01                	push   $0x1
528ce1:	6a 00                	push   $0x0
528ce3:	6a 0b                	push   $0xb
528ce5:	53                   	push   %ebx
528ce6:	e8 15 d8 fd ff       	call   0x506500
528ceb:	83 c4 14             	add    $0x14,%esp
528cee:	eb 33                	jmp    0x528d23
528cf0:	8d 41 01             	lea    0x1(%ecx),%eax
528cf3:	89 43 6c             	mov    %eax,0x6c(%ebx)
528cf6:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
528cf9:	8b 43 68             	mov    0x68(%ebx),%eax
528cfc:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
528d03:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
528d0a:	00
528d0b:	c7 44 88 08 01 00 00 	movl   $0x1,0x8(%eax,%ecx,4)
528d12:	00
528d13:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
528d1a:	00
528d1b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
528d22:	00
528d23:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
528d27:	75 1e                	jne    0x528d47
528d29:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
528d2d:	75 18                	jne    0x528d47
528d2f:	56                   	push   %esi
528d30:	53                   	push   %ebx
528d31:	e8 9a 1f 02 00       	call   0x54acd0
528d36:	83 c4 08             	add    $0x8,%esp
528d39:	c7 46 0c 65 00 00 00 	movl   $0x65,0xc(%esi)
528d40:	5b                   	pop    %ebx
528d41:	5f                   	pop    %edi
528d42:	5e                   	pop    %esi
528d43:	8b e5                	mov    %ebp,%esp
528d45:	5d                   	pop    %ebp
528d46:	c3                   	ret
528d47:	5b                   	pop    %ebx
528d48:	5f                   	pop    %edi
528d49:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
528d50:	5e                   	pop    %esi
528d51:	8b e5                	mov    %ebp,%esp
528d53:	5d                   	pop    %ebp
528d54:	c3                   	ret
528d55:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
528d59:	75 e6                	jne    0x528d41
528d5b:	5f                   	pop    %edi
528d5c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
528d63:	5e                   	pop    %esi
528d64:	8b e5                	mov    %ebp,%esp
528d66:	5d                   	pop    %ebp
528d67:	c3                   	ret
528d68:	cc                   	int3
528d69:	cc                   	int3
528d6a:	cc                   	int3
528d6b:	cc                   	int3
528d6c:	cc                   	int3
528d6d:	cc                   	int3
528d6e:	cc                   	int3
528d6f:	cc                   	int3
528d70:	55                   	push   %ebp
528d71:	8b ec                	mov    %esp,%ebp
528d73:	83 ec 3c             	sub    $0x3c,%esp
528d76:	a1 d4 89 72 00       	mov    0x7289d4,%eax
528d7b:	33 c5                	xor    %ebp,%eax
528d7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
528d80:	8b 55 08             	mov    0x8(%ebp),%edx
528d83:	8b 45 10             	mov    0x10(%ebp),%eax
528d86:	56                   	push   %esi
528d87:	8b 75 0c             	mov    0xc(%ebp),%esi
528d8a:	83 7a 24 00          	cmpl   $0x0,0x24(%edx)
528d8e:	57                   	push   %edi
528d8f:	8b ba ec 00 00 00    	mov    0xec(%edx),%edi
528d95:	89 45 c8             	mov    %eax,-0x38(%ebp)
528d98:	8b 02                	mov    (%edx),%eax
528d9a:	89 55 d4             	mov    %edx,-0x2c(%ebp)
528d9d:	89 45 d8             	mov    %eax,-0x28(%ebp)
528da0:	c7 82 ec 00 00 00 00 	movl   $0x0,0xec(%edx)
528da7:	00 00 00
528daa:	0f 85 e1 01 00 00    	jne    0x528f91
528db0:	85 ff                	test   %edi,%edi
528db2:	0f 84 d9 01 00 00    	je     0x528f91
528db8:	8b 0f                	mov    (%edi),%ecx
528dba:	89 4d cc             	mov    %ecx,-0x34(%ebp)
528dbd:	8b 4f 14             	mov    0x14(%edi),%ecx
528dc0:	53                   	push   %ebx
528dc1:	bb c0 bd f0 ff       	mov    $0xfff0bdc0,%ebx
528dc6:	85 c9                	test   %ecx,%ecx
528dc8:	74 14                	je     0x528dde
528dca:	8b 40 10             	mov    0x10(%eax),%eax
528dcd:	33 db                	xor    %ebx,%ebx
528dcf:	83 c0 0c             	add    $0xc,%eax
528dd2:	39 08                	cmp    %ecx,(%eax)
528dd4:	74 08                	je     0x528dde
528dd6:	8d 40 10             	lea    0x10(%eax),%eax
528dd9:	43                   	inc    %ebx
528dda:	39 08                	cmp    %ecx,(%eax)
528ddc:	75 f8                	jne    0x528dd6
528dde:	89 77 1c             	mov    %esi,0x1c(%edi)
528de1:	85 f6                	test   %esi,%esi
528de3:	74 0a                	je     0x528def
528de5:	89 7e 04             	mov    %edi,0x4(%esi)
528de8:	8b 76 24             	mov    0x24(%esi),%esi
528deb:	85 f6                	test   %esi,%esi
528ded:	75 f6                	jne    0x528de5
528def:	8b 0f                	mov    (%edi),%ecx
528df1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
528df4:	85 c9                	test   %ecx,%ecx
528df6:	74 18                	je     0x528e10
528df8:	8d 41 01             	lea    0x1(%ecx),%eax
528dfb:	89 45 d0             	mov    %eax,-0x30(%ebp)
528dfe:	66 90                	xchg   %ax,%ax
528e00:	8a 01                	mov    (%ecx),%al
528e02:	41                   	inc    %ecx
528e03:	84 c0                	test   %al,%al
528e05:	75 f9                	jne    0x528e00
528e07:	2b 4d d0             	sub    -0x30(%ebp),%ecx
528e0a:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
528e10:	89 4d f8             	mov    %ecx,-0x8(%ebp)
528e13:	8b 0a                	mov    (%edx),%ecx
528e15:	89 55 dc             	mov    %edx,-0x24(%ebp)
528e18:	8b d3                	mov    %ebx,%edx
528e1a:	c1 e2 04             	shl    $0x4,%edx
528e1d:	83 fb 01             	cmp    $0x1,%ebx
528e20:	89 55 d0             	mov    %edx,-0x30(%ebp)
528e23:	8b 41 10             	mov    0x10(%ecx),%eax
528e26:	8b 04 02             	mov    (%edx,%eax,1),%eax
528e29:	89 45 e8             	mov    %eax,-0x18(%ebp)
528e2c:	8b 41 10             	mov    0x10(%ecx),%eax
528e2f:	8b 44 10 0c          	mov    0xc(%eax,%edx,1),%eax
528e33:	0f 94 45 e4          	sete   -0x1c(%ebp)
528e37:	89 45 e0             	mov    %eax,-0x20(%ebp)
528e3a:	8d 45 f4             	lea    -0xc(%ebp),%eax
528e3d:	89 45 f0             	mov    %eax,-0x10(%ebp)
528e40:	8d 45 dc             	lea    -0x24(%ebp),%eax
528e43:	c7 45 ec ec b3 6b 00 	movl   $0x6bb3ec,-0x14(%ebp)
528e4a:	ff 77 1c             	push   0x1c(%edi)
528e4d:	50                   	push   %eax
528e4e:	e8 cd 04 00 00       	call   0x529320
528e53:	83 c4 08             	add    $0x8,%esp
528e56:	85 c0                	test   %eax,%eax
528e58:	0f 85 32 01 00 00    	jne    0x528f90
528e5e:	ff 77 0c             	push   0xc(%edi)
528e61:	8d 45 dc             	lea    -0x24(%ebp),%eax
528e64:	50                   	push   %eax
528e65:	e8 56 01 00 00       	call   0x528fc0
528e6a:	83 c4 08             	add    $0x8,%esp
528e6d:	85 c0                	test   %eax,%eax
528e6f:	0f 85 1b 01 00 00    	jne    0x528f90
528e75:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
528e78:	80 b9 c8 00 00 00 02 	cmpb   $0x2,0xc8(%ecx)
528e7f:	72 0d                	jb     0x528e8e
528e81:	89 b9 ec 00 00 00    	mov    %edi,0xec(%ecx)
528e87:	33 ff                	xor    %edi,%edi
528e89:	e9 a5 00 00 00       	jmp    0x528f33
528e8e:	8b 45 d8             	mov    -0x28(%ebp),%eax
528e91:	80 b8 a5 00 00 00 00 	cmpb   $0x0,0xa5(%eax)
528e98:	0f 85 95 00 00 00    	jne    0x528f33
528e9e:	51                   	push   %ecx
528e9f:	e8 2c 4a 00 00       	call   0x52d8d0
528ea4:	83 c4 04             	add    $0x4,%esp
528ea7:	89 45 c4             	mov    %eax,-0x3c(%ebp)
528eaa:	85 c0                	test   %eax,%eax
528eac:	0f 84 de 00 00 00    	je     0x528f90
528eb2:	53                   	push   %ebx
528eb3:	6a 00                	push   $0x0
528eb5:	ff 75 d4             	push   -0x2c(%ebp)
528eb8:	e8 93 13 ff ff       	call   0x51a250
528ebd:	8b 45 c8             	mov    -0x38(%ebp),%eax
528ec0:	6a 00                	push   $0x0
528ec2:	ff 70 04             	push   0x4(%eax)
528ec5:	ff 30                	push   (%eax)
528ec7:	ff 75 d8             	push   -0x28(%ebp)
528eca:	e8 41 88 ff ff       	call   0x521710
528ecf:	8b 4d d0             	mov    -0x30(%ebp),%ecx
528ed2:	50                   	push   %eax
528ed3:	ff 77 04             	push   0x4(%edi)
528ed6:	89 45 c8             	mov    %eax,-0x38(%ebp)
528ed9:	8b 45 d8             	mov    -0x28(%ebp),%eax
528edc:	ff 75 cc             	push   -0x34(%ebp)
528edf:	68 24 8a 6b 00       	push   $0x6b8a24
528ee4:	8b 40 10             	mov    0x10(%eax),%eax
528ee7:	ff 34 08             	push   (%eax,%ecx,1)
528eea:	68 d0 b4 6b 00       	push   $0x6bb4d0
528eef:	ff 75 d4             	push   -0x2c(%ebp)
528ef2:	e8 a9 87 00 00       	call   0x5316a0
528ef7:	8b 45 c8             	mov    -0x38(%ebp),%eax
528efa:	83 c4 38             	add    $0x38,%esp
528efd:	85 c0                	test   %eax,%eax
528eff:	74 0c                	je     0x528f0d
528f01:	50                   	push   %eax
528f02:	ff 75 d8             	push   -0x28(%ebp)
528f05:	e8 66 84 ff ff       	call   0x521370
528f0a:	83 c4 08             	add    $0x8,%esp
528f0d:	53                   	push   %ebx
528f0e:	ff 75 d4             	push   -0x2c(%ebp)
528f11:	e8 3a 50 ff ff       	call   0x51df50
528f16:	ff 75 cc             	push   -0x34(%ebp)
528f19:	68 10 b5 6b 00       	push   $0x6bb510
528f1e:	ff 75 d8             	push   -0x28(%ebp)
528f21:	e8 1a 80 00 00       	call   0x530f40
528f26:	50                   	push   %eax
528f27:	53                   	push   %ebx
528f28:	ff 75 c4             	push   -0x3c(%ebp)
528f2b:	e8 20 8e 01 00       	call   0x541d50
528f30:	83 c4 20             	add    $0x20,%esp
528f33:	8b 5d d8             	mov    -0x28(%ebp),%ebx
528f36:	80 bb a5 00 00 00 00 	cmpb   $0x0,0xa5(%ebx)
528f3d:	74 51                	je     0x528f90
528f3f:	8b 43 10             	mov    0x10(%ebx),%eax
528f42:	8b 4d d0             	mov    -0x30(%ebp),%ecx
528f45:	57                   	push   %edi
528f46:	ff 75 cc             	push   -0x34(%ebp)
528f49:	89 7d c4             	mov    %edi,-0x3c(%ebp)
528f4c:	8b 44 08 0c          	mov    0xc(%eax,%ecx,1),%eax
528f50:	83 c0 28             	add    $0x28,%eax
528f53:	50                   	push   %eax
528f54:	e8 47 4b 00 00       	call   0x52daa0
528f59:	8b f8                	mov    %eax,%edi
528f5b:	83 c4 0c             	add    $0xc,%esp
528f5e:	85 ff                	test   %edi,%edi
528f60:	74 0b                	je     0x528f6d
528f62:	53                   	push   %ebx
528f63:	e8 28 89 00 00       	call   0x531890
528f68:	83 c4 04             	add    $0x4,%esp
528f6b:	eb 23                	jmp    0x528f90
528f6d:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
528f70:	8b 43 18             	mov    0x18(%ebx),%eax
528f73:	39 43 14             	cmp    %eax,0x14(%ebx)
528f76:	75 18                	jne    0x528f90
528f78:	ff 73 04             	push   0x4(%ebx)
528f7b:	83 c0 08             	add    $0x8,%eax
528f7e:	50                   	push   %eax
528f7f:	e8 fc 4a 00 00       	call   0x52da80
528f84:	83 c4 08             	add    $0x8,%esp
528f87:	8b 48 44             	mov    0x44(%eax),%ecx
528f8a:	89 4b 20             	mov    %ecx,0x20(%ebx)
528f8d:	89 58 44             	mov    %ebx,0x44(%eax)
528f90:	5b                   	pop    %ebx
528f91:	57                   	push   %edi
528f92:	8b 7d d8             	mov    -0x28(%ebp),%edi
528f95:	57                   	push   %edi
528f96:	e8 55 92 ff ff       	call   0x5221f0
528f9b:	56                   	push   %esi
528f9c:	57                   	push   %edi
528f9d:	e8 be 92 ff ff       	call   0x522260
528fa2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528fa5:	83 c4 10             	add    $0x10,%esp
528fa8:	33 cd                	xor    %ebp,%ecx
528faa:	5f                   	pop    %edi
528fab:	5e                   	pop    %esi
528fac:	e8 29 85 0b 00       	call   0x5e14da
528fb1:	8b e5                	mov    %ebp,%esp
528fb3:	5d                   	pop    %ebp
528fb4:	c3                   	ret
528fb5:	cc                   	int3
528fb6:	cc                   	int3
528fb7:	cc                   	int3
528fb8:	cc                   	int3
528fb9:	cc                   	int3
528fba:	cc                   	int3
528fbb:	cc                   	int3
528fbc:	cc                   	int3
528fbd:	cc                   	int3
528fbe:	cc                   	int3
528fbf:	cc                   	int3
528fc0:	55                   	push   %ebp
528fc1:	8b ec                	mov    %esp,%ebp
528fc3:	53                   	push   %ebx
528fc4:	56                   	push   %esi
528fc5:	8b 75 0c             	mov    0xc(%ebp),%esi
528fc8:	57                   	push   %edi
528fc9:	85 f6                	test   %esi,%esi
528fcb:	0f 84 97 00 00 00    	je     0x529068
528fd1:	8b 4d 08             	mov    0x8(%ebp),%ecx
528fd4:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
528fd8:	75 07                	jne    0x528fe1
528fda:	81 4e 04 00 00 00 40 	orl    $0x40000000,0x4(%esi)