526db4:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
526db9:	e9 23 02 00 00       	jmp    0x526fe1
526dbe:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
526dc2:	75 13                	jne    0x526dd7
526dc4:	8b 15 90 7b 69 00    	mov    0x697b90,%edx
526dca:	b8 fb ff ff ff       	mov    $0xfffffffb,%eax
526dcf:	89 56 18             	mov    %edx,0x18(%esi)
526dd2:	e9 0a 02 00 00       	jmp    0x526fe1
526dd7:	89 33                	mov    %esi,(%ebx)
526dd9:	8b 6b 20             	mov    0x20(%ebx),%ebp
526ddc:	89 7b 20             	mov    %edi,0x20(%ebx)
526ddf:	83 7b 04 2a          	cmpl   $0x2a,0x4(%ebx)
526de3:	75 7d                	jne    0x526e62
526de5:	8b 4b 28             	mov    0x28(%ebx),%ecx
526de8:	8b 43 7c             	mov    0x7c(%ebx),%eax
526deb:	83 e9 08             	sub    $0x8,%ecx
526dee:	48                   	dec    %eax
526def:	c1 e1 04             	shl    $0x4,%ecx
526df2:	83 c1 08             	add    $0x8,%ecx
526df5:	c1 e1 08             	shl    $0x8,%ecx
526df8:	d1 f8                	sar    $1,%eax
526dfa:	83 f8 03             	cmp    $0x3,%eax
526dfd:	76 05                	jbe    0x526e04
526dff:	b8 03 00 00 00       	mov    $0x3,%eax
526e04:	c1 e0 06             	shl    $0x6,%eax
526e07:	0b c8                	or     %eax,%ecx
526e09:	83 7b 64 00          	cmpl   $0x0,0x64(%ebx)
526e0d:	74 03                	je     0x526e12
526e0f:	83 c9 20             	or     $0x20,%ecx
526e12:	8b c1                	mov    %ecx,%eax
526e14:	51                   	push   %ecx
526e15:	33 d2                	xor    %edx,%edx
526e17:	b9 1f 00 00 00       	mov    $0x1f,%ecx
526e1c:	f7 f1                	div    %ecx
526e1e:	b8 1f 00 00 00       	mov    $0x1f,%eax
526e23:	59                   	pop    %ecx
526e24:	2b c2                	sub    %edx,%eax
526e26:	03 c8                	add    %eax,%ecx
526e28:	8b c3                	mov    %ebx,%eax
526e2a:	c7 43 04 71 00 00 00 	movl   $0x71,0x4(%ebx)
526e31:	8b d1                	mov    %ecx,%edx
526e33:	e8 b0 fe ff ff       	call   0x526ce8
526e38:	83 7b 64 00          	cmpl   $0x0,0x64(%ebx)
526e3c:	74 1d                	je     0x526e5b
526e3e:	8b 56 30             	mov    0x30(%esi),%edx
526e41:	8b c3                	mov    %ebx,%eax
526e43:	c1 ea 10             	shr    $0x10,%edx
526e46:	e8 9d fe ff ff       	call   0x526ce8
526e4b:	8b 56 30             	mov    0x30(%esi),%edx
526e4e:	8b c3                	mov    %ebx,%eax
526e50:	81 e2 ff ff 00 00    	and    $0xffff,%edx
526e56:	e8 8d fe ff ff       	call   0x526ce8
526e5b:	c7 46 30 01 00 00 00 	movl   $0x1,0x30(%esi)
526e62:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
526e66:	74 1b                	je     0x526e83
526e68:	8b c6                	mov    %esi,%eax
526e6a:	e8 a1 fe ff ff       	call   0x526d10
526e6f:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
526e73:	75 30                	jne    0x526ea5
526e75:	c7 43 20 ff ff ff ff 	movl   $0xffffffff,0x20(%ebx)
526e7c:	33 c0                	xor    %eax,%eax
526e7e:	e9 5e 01 00 00       	jmp    0x526fe1
526e83:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
526e87:	75 1c                	jne    0x526ea5
526e89:	3b ef                	cmp    %edi,%ebp
526e8b:	7c 18                	jl     0x526ea5
526e8d:	83 ff 04             	cmp    $0x4,%edi
526e90:	74 13                	je     0x526ea5
526e92:	8b 15 90 7b 69 00    	mov    0x697b90,%edx
526e98:	b8 fb ff ff ff       	mov    $0xfffffffb,%eax
526e9d:	89 56 18             	mov    %edx,0x18(%esi)
526ea0:	e9 3c 01 00 00       	jmp    0x526fe1
526ea5:	81 7b 04 9a 02 00 00 	cmpl   $0x29a,0x4(%ebx)
526eac:	75 19                	jne    0x526ec7
526eae:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
526eb2:	74 13                	je     0x526ec7
526eb4:	8b 15 90 7b 69 00    	mov    0x697b90,%edx
526eba:	b8 fb ff ff ff       	mov    $0xfffffffb,%eax
526ebf:	89 56 18             	mov    %edx,0x18(%esi)
526ec2:	e9 1a 01 00 00       	jmp    0x526fe1
526ec7:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
526ecb:	75 1b                	jne    0x526ee8
526ecd:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
526ed1:	75 15                	jne    0x526ee8
526ed3:	85 ff                	test   %edi,%edi
526ed5:	0f 84 b6 00 00 00    	je     0x526f91
526edb:	81 7b 04 9a 02 00 00 	cmpl   $0x29a,0x4(%ebx)
526ee2:	0f 84 a9 00 00 00    	je     0x526f91
526ee8:	8b 53 7c             	mov    0x7c(%ebx),%edx
526eeb:	8b c3                	mov    %ebx,%eax
526eed:	8d 14 52             	lea    (%edx,%edx,2),%edx
526ef0:	8b 2c 95 a8 7b 69 00 	mov    0x697ba8(,%edx,4),%ebp
526ef7:	8b d7                	mov    %edi,%edx
526ef9:	ff d5                	call   *%ebp
526efb:	89 04 24             	mov    %eax,(%esp)
526efe:	83 3c 24 02          	cmpl   $0x2,(%esp)
526f02:	74 06                	je     0x526f0a
526f04:	83 3c 24 03          	cmpl   $0x3,(%esp)
526f08:	75 07                	jne    0x526f11
526f0a:	c7 43 04 9a 02 00 00 	movl   $0x29a,0x4(%ebx)
526f11:	83 3c 24 00          	cmpl   $0x0,(%esp)
526f15:	74 06                	je     0x526f1d
526f17:	83 3c 24 02          	cmpl   $0x2,(%esp)
526f1b:	75 14                	jne    0x526f31
526f1d:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
526f21:	75 07                	jne    0x526f2a
526f23:	c7 43 20 ff ff ff ff 	movl   $0xffffffff,0x20(%ebx)
526f2a:	33 c0                	xor    %eax,%eax
526f2c:	e9 b0 00 00 00       	jmp    0x526fe1
526f31:	83 3c 24 01          	cmpl   $0x1,(%esp)
526f35:	75 5a                	jne    0x526f91
526f37:	83 ff 01             	cmp    $0x1,%edi
526f3a:	75 09                	jne    0x526f45
526f3c:	8b c3                	mov    %ebx,%eax
526f3e:	e8 0d 4b 00 00       	call   0x52ba50
526f43:	eb 34                	jmp    0x526f79
526f45:	6a 00                	push   $0x0
526f47:	33 c9                	xor    %ecx,%ecx
526f49:	33 d2                	xor    %edx,%edx
526f4b:	8b c3                	mov    %ebx,%eax
526f4d:	e8 42 4a 00 00       	call   0x52b994
526f52:	83 ff 03             	cmp    $0x3,%edi
526f55:	75 22                	jne    0x526f79
526f57:	8b 53 3c             	mov    0x3c(%ebx),%edx
526f5a:	8b 4b 44             	mov    0x44(%ebx),%ecx
526f5d:	66 c7 44 4a fe 00 00 	movw   $0x0,-0x2(%edx,%ecx,2)
526f64:	8b 43 44             	mov    0x44(%ebx),%eax
526f67:	48                   	dec    %eax
526f68:	03 c0                	add    %eax,%eax
526f6a:	50                   	push   %eax
526f6b:	6a 00                	push   $0x0
526f6d:	8b 53 3c             	mov    0x3c(%ebx),%edx
526f70:	52                   	push   %edx
526f71:	e8 ae f3 ff ff       	call   0x526324
526f76:	83 c4 0c             	add    $0xc,%esp
526f79:	8b c6                	mov    %esi,%eax
526f7b:	e8 90 fd ff ff       	call   0x526d10
526f80:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
526f84:	75 0b                	jne    0x526f91
526f86:	c7 43 20 ff ff ff ff 	movl   $0xffffffff,0x20(%ebx)
526f8d:	33 c0                	xor    %eax,%eax
526f8f:	eb 50                	jmp    0x526fe1
526f91:	83 ff 04             	cmp    $0x4,%edi
526f94:	74 04                	je     0x526f9a
526f96:	33 c0                	xor    %eax,%eax
526f98:	eb 47                	jmp    0x526fe1
526f9a:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
526f9e:	74 07                	je     0x526fa7
526fa0:	b8 01 00 00 00       	mov    $0x1,%eax
526fa5:	eb 3a                	jmp    0x526fe1
526fa7:	8b 56 30             	mov    0x30(%esi),%edx
526faa:	8b c3                	mov    %ebx,%eax
526fac:	c1 ea 10             	shr    $0x10,%edx
526faf:	e8 34 fd ff ff       	call   0x526ce8
526fb4:	8b 56 30             	mov    0x30(%esi),%edx
526fb7:	8b c3                	mov    %ebx,%eax
526fb9:	81 e2 ff ff 00 00    	and    $0xffff,%edx
526fbf:	e8 24 fd ff ff       	call   0x526ce8
526fc4:	8b c6                	mov    %esi,%eax
526fc6:	e8 45 fd ff ff       	call   0x526d10
526fcb:	c7 43 18 ff ff ff ff 	movl   $0xffffffff,0x18(%ebx)
526fd2:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
526fd6:	74 04                	je     0x526fdc
526fd8:	33 c0                	xor    %eax,%eax
526fda:	eb 05                	jmp    0x526fe1
526fdc:	b8 01 00 00 00       	mov    $0x1,%eax
526fe1:	5a                   	pop    %edx
526fe2:	5d                   	pop    %ebp
526fe3:	5f                   	pop    %edi
526fe4:	5e                   	pop    %esi
526fe5:	5b                   	pop    %ebx
526fe6:	c3                   	ret
526fe7:	90                   	nop
526fe8:	53                   	push   %ebx
526fe9:	56                   	push   %esi
526fea:	8b d8                	mov    %eax,%ebx
526fec:	85 db                	test   %ebx,%ebx
526fee:	74 06                	je     0x526ff6
526ff0:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
526ff4:	75 08                	jne    0x526ffe
526ff6:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
526ffb:	5e                   	pop    %esi
526ffc:	5b                   	pop    %ebx
526ffd:	c3                   	ret
526ffe:	8b 53 1c             	mov    0x1c(%ebx),%edx
527001:	8b 72 04             	mov    0x4(%edx),%esi
527004:	83 fe 2a             	cmp    $0x2a,%esi
527007:	74 15                	je     0x52701e
527009:	83 fe 71             	cmp    $0x71,%esi
52700c:	74 10                	je     0x52701e
52700e:	81 fe 9a 02 00 00    	cmp    $0x29a,%esi
527014:	74 08                	je     0x52701e
527016:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
52701b:	5e                   	pop    %esi
52701c:	5b                   	pop    %ebx
52701d:	c3                   	ret
52701e:	8b 53 1c             	mov    0x1c(%ebx),%edx
527021:	8b 42 08             	mov    0x8(%edx),%eax
527024:	85 c0                	test   %eax,%eax
527026:	74 08                	je     0x527030
527028:	8b d0                	mov    %eax,%edx
52702a:	8b 43 28             	mov    0x28(%ebx),%eax
52702d:	ff 53 24             	call   *0x24(%ebx)
527030:	8b 53 1c             	mov    0x1c(%ebx),%edx
527033:	8b 42 3c             	mov    0x3c(%edx),%eax
527036:	85 c0                	test   %eax,%eax
527038:	74 08                	je     0x527042
52703a:	8b d0                	mov    %eax,%edx
52703c:	8b 43 28             	mov    0x28(%ebx),%eax
52703f:	ff 53 24             	call   *0x24(%ebx)
527042:	8b 53 1c             	mov    0x1c(%ebx),%edx
527045:	8b 42 38             	mov    0x38(%edx),%eax
527048:	85 c0                	test   %eax,%eax
52704a:	74 08                	je     0x527054
52704c:	8b d0                	mov    %eax,%edx
52704e:	8b 43 28             	mov    0x28(%ebx),%eax
527051:	ff 53 24             	call   *0x24(%ebx)
527054:	8b 53 1c             	mov    0x1c(%ebx),%edx
527057:	8b 42 30             	mov    0x30(%edx),%eax
52705a:	85 c0                	test   %eax,%eax
52705c:	74 08                	je     0x527066
52705e:	8b d0                	mov    %eax,%edx
527060:	8b 43 28             	mov    0x28(%ebx),%eax
527063:	ff 53 24             	call   *0x24(%ebx)
527066:	8b 53 1c             	mov    0x1c(%ebx),%edx
527069:	8b 43 28             	mov    0x28(%ebx),%eax
52706c:	ff 53 24             	call   *0x24(%ebx)
52706f:	33 d2                	xor    %edx,%edx
527071:	83 fe 71             	cmp    $0x71,%esi
527074:	89 53 1c             	mov    %edx,0x1c(%ebx)
527077:	75 07                	jne    0x527080
527079:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
52707e:	eb 02                	jmp    0x527082
527080:	33 c0                	xor    %eax,%eax
527082:	5e                   	pop    %esi
527083:	5b                   	pop    %ebx
527084:	c3                   	ret
527085:	90                   	nop
527086:	90                   	nop
527087:	90                   	nop
527088:	53                   	push   %ebx
527089:	56                   	push   %esi
52708a:	57                   	push   %edi
52708b:	55                   	push   %ebp
52708c:	51                   	push   %ecx
52708d:	89 14 24             	mov    %edx,(%esp)
527090:	8b f0                	mov    %eax,%esi
527092:	83 3c 24 00          	cmpl   $0x0,(%esp)
527096:	74 0d                	je     0x5270a5
527098:	85 f6                	test   %esi,%esi
52709a:	74 09                	je     0x5270a5
52709c:	8b 04 24             	mov    (%esp),%eax
52709f:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
5270a3:	75 0a                	jne    0x5270af
5270a5:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5270aa:	e9 6a 01 00 00       	jmp    0x527219
5270af:	8b 14 24             	mov    (%esp),%edx
5270b2:	8b 04 24             	mov    (%esp),%eax
5270b5:	b9 0e 00 00 00       	mov    $0xe,%ecx
5270ba:	8b 7a 1c             	mov    0x1c(%edx),%edi
5270bd:	56                   	push   %esi
5270be:	57                   	push   %edi
5270bf:	8b fe                	mov    %esi,%edi
5270c1:	8b f0                	mov    %eax,%esi
5270c3:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5270c5:	5f                   	pop    %edi
5270c6:	5e                   	pop    %esi
5270c7:	b9 b8 16 00 00       	mov    $0x16b8,%ecx
5270cc:	ba 01 00 00 00       	mov    $0x1,%edx
5270d1:	8b 46 28             	mov    0x28(%esi),%eax
5270d4:	ff 56 20             	call   *0x20(%esi)
5270d7:	8b d8                	mov    %eax,%ebx
5270d9:	85 db                	test   %ebx,%ebx
5270db:	75 0a                	jne    0x5270e7
5270dd:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
5270e2:	e9 32 01 00 00       	jmp    0x527219
5270e7:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5270ea:	56                   	push   %esi
5270eb:	57                   	push   %edi
5270ec:	8b f7                	mov    %edi,%esi
5270ee:	8b fb                	mov    %ebx,%edi
5270f0:	b9 ae 05 00 00       	mov    $0x5ae,%ecx
5270f5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5270f7:	5f                   	pop    %edi
5270f8:	5e                   	pop    %esi
5270f9:	89 33                	mov    %esi,(%ebx)
5270fb:	b9 02 00 00 00       	mov    $0x2,%ecx
527100:	8b 53 24             	mov    0x24(%ebx),%edx
527103:	8b 46 28             	mov    0x28(%esi),%eax
527106:	ff 56 20             	call   *0x20(%esi)
527109:	89 43 30             	mov    %eax,0x30(%ebx)
52710c:	b9 02 00 00 00       	mov    $0x2,%ecx
527111:	8b 53 24             	mov    0x24(%ebx),%edx
527114:	8b 46 28             	mov    0x28(%esi),%eax
527117:	ff 56 20             	call   *0x20(%esi)
52711a:	89 43 38             	mov    %eax,0x38(%ebx)
52711d:	b9 02 00 00 00       	mov    $0x2,%ecx
527122:	8b 53 44             	mov    0x44(%ebx),%edx
527125:	8b 46 28             	mov    0x28(%esi),%eax
527128:	ff 56 20             	call   *0x20(%esi)
52712b:	89 43 3c             	mov    %eax,0x3c(%ebx)
52712e:	b9 04 00 00 00       	mov    $0x4,%ecx
527133:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
527139:	8b 46 28             	mov    0x28(%esi),%eax
52713c:	ff 56 20             	call   *0x20(%esi)
52713f:	8b e8                	mov    %eax,%ebp
527141:	89 6b 08             	mov    %ebp,0x8(%ebx)
527144:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
527148:	74 12                	je     0x52715c
52714a:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
52714e:	74 0c                	je     0x52715c
527150:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
527154:	74 06                	je     0x52715c
527156:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
52715a:	75 11                	jne    0x52716d
52715c:	8b c6                	mov    %esi,%eax
52715e:	e8 85 fe ff ff       	call   0x526fe8
527163:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
527168:	e9 ac 00 00 00       	jmp    0x527219
52716d:	8b 53 24             	mov    0x24(%ebx),%edx
527170:	03 d2                	add    %edx,%edx
527172:	52                   	push   %edx
527173:	8b 4f 30             	mov    0x30(%edi),%ecx
527176:	51                   	push   %ecx
527177:	8b 43 30             	mov    0x30(%ebx),%eax
52717a:	50                   	push   %eax
52717b:	e8 60 f2 ff ff       	call   0x5263e0
527180:	83 c4 0c             	add    $0xc,%esp
527183:	8b 53 24             	mov    0x24(%ebx),%edx
527186:	03 d2                	add    %edx,%edx
527188:	52                   	push   %edx
527189:	8b 4f 38             	mov    0x38(%edi),%ecx
52718c:	51                   	push   %ecx
52718d:	8b 43 38             	mov    0x38(%ebx),%eax
527190:	50                   	push   %eax
527191:	e8 4a f2 ff ff       	call   0x5263e0
527196:	83 c4 0c             	add    $0xc,%esp
527199:	8b 53 44             	mov    0x44(%ebx),%edx
52719c:	03 d2                	add    %edx,%edx
52719e:	52                   	push   %edx
52719f:	8b 4f 3c             	mov    0x3c(%edi),%ecx
5271a2:	51                   	push   %ecx
5271a3:	8b 43 3c             	mov    0x3c(%ebx),%eax
5271a6:	50                   	push   %eax
5271a7:	e8 34 f2 ff ff       	call   0x5263e0
5271ac:	83 c4 0c             	add    $0xc,%esp
5271af:	8b 53 0c             	mov    0xc(%ebx),%edx
5271b2:	52                   	push   %edx
5271b3:	8b 4f 08             	mov    0x8(%edi),%ecx
5271b6:	51                   	push   %ecx