526be5:	89 4b 10             	mov    %ecx,0x10(%ebx)
526be8:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
526bec:	7d 05                	jge    0x526bf3
526bee:	33 d2                	xor    %edx,%edx
526bf0:	89 53 18             	mov    %edx,0x18(%ebx)
526bf3:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
526bf7:	74 07                	je     0x526c00
526bf9:	b9 71 00 00 00       	mov    $0x71,%ecx
526bfe:	eb 05                	jmp    0x526c05
526c00:	b9 2a 00 00 00       	mov    $0x2a,%ecx
526c05:	89 4b 04             	mov    %ecx,0x4(%ebx)
526c08:	c7 40 30 01 00 00 00 	movl   $0x1,0x30(%eax)
526c0f:	33 c0                	xor    %eax,%eax
526c11:	89 43 20             	mov    %eax,0x20(%ebx)
526c14:	8b c3                	mov    %ebx,%eax
526c16:	e8 41 3c 00 00       	call   0x52a85c
526c1b:	8b c3                	mov    %ebx,%eax
526c1d:	e8 4a 06 00 00       	call   0x52726c
526c22:	33 c0                	xor    %eax,%eax
526c24:	5b                   	pop    %ebx
526c25:	c3                   	ret
526c26:	90                   	nop
526c27:	90                   	nop
526c28:	53                   	push   %ebx
526c29:	56                   	push   %esi
526c2a:	57                   	push   %edi
526c2b:	55                   	push   %ebp
526c2c:	51                   	push   %ecx
526c2d:	8b f9                	mov    %ecx,%edi
526c2f:	8b da                	mov    %edx,%ebx
526c31:	33 d2                	xor    %edx,%edx
526c33:	85 c0                	test   %eax,%eax
526c35:	74 06                	je     0x526c3d
526c37:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
526c3b:	75 0a                	jne    0x526c47
526c3d:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
526c42:	e9 99 00 00 00       	jmp    0x526ce0
526c47:	8b 70 1c             	mov    0x1c(%eax),%esi
526c4a:	83 fb ff             	cmp    $0xffffffff,%ebx
526c4d:	75 05                	jne    0x526c54
526c4f:	bb 06 00 00 00       	mov    $0x6,%ebx
526c54:	85 db                	test   %ebx,%ebx
526c56:	7c 0e                	jl     0x526c66
526c58:	83 fb 09             	cmp    $0x9,%ebx
526c5b:	7f 09                	jg     0x526c66
526c5d:	85 ff                	test   %edi,%edi
526c5f:	7c 05                	jl     0x526c66
526c61:	83 ff 02             	cmp    $0x2,%edi
526c64:	7e 07                	jle    0x526c6d
526c66:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
526c6b:	eb 73                	jmp    0x526ce0
526c6d:	8b 4e 7c             	mov    0x7c(%esi),%ecx
526c70:	8d 2c 5b             	lea    (%ebx,%ebx,2),%ebp
526c73:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
526c76:	8b 0c 8d a8 7b 69 00 	mov    0x697ba8(,%ecx,4),%ecx
526c7d:	89 0c 24             	mov    %ecx,(%esp)
526c80:	8b 0c ad a8 7b 69 00 	mov    0x697ba8(,%ebp,4),%ecx
526c87:	3b 0c 24             	cmp    (%esp),%ecx
526c8a:	74 12                	je     0x526c9e
526c8c:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
526c90:	74 0c                	je     0x526c9e
526c92:	ba 01 00 00 00       	mov    $0x1,%edx
526c97:	e8 c8 00 00 00       	call   0x526d64
526c9c:	8b d0                	mov    %eax,%edx
526c9e:	3b 5e 7c             	cmp    0x7c(%esi),%ebx
526ca1:	74 35                	je     0x526cd8
526ca3:	89 5e 7c             	mov    %ebx,0x7c(%esi)
526ca6:	0f b7 04 ad a2 7b 69 	movzwl 0x697ba2(,%ebp,4),%eax
526cad:	00
526cae:	89 46 78             	mov    %eax,0x78(%esi)
526cb1:	0f b7 0c ad a0 7b 69 	movzwl 0x697ba0(,%ebp,4),%ecx
526cb8:	00
526cb9:	89 8e 84 00 00 00    	mov    %ecx,0x84(%esi)
526cbf:	0f b7 04 ad a4 7b 69 	movzwl 0x697ba4(,%ebp,4),%eax
526cc6:	00
526cc7:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
526ccd:	0f b7 0c ad a6 7b 69 	movzwl 0x697ba6(,%ebp,4),%ecx
526cd4:	00
526cd5:	89 4e 74             	mov    %ecx,0x74(%esi)
526cd8:	89 be 80 00 00 00    	mov    %edi,0x80(%esi)
526cde:	8b c2                	mov    %edx,%eax
526ce0:	5a                   	pop    %edx
526ce1:	5d                   	pop    %ebp
526ce2:	5f                   	pop    %edi
526ce3:	5e                   	pop    %esi
526ce4:	5b                   	pop    %ebx
526ce5:	c3                   	ret
526ce6:	90                   	nop
526ce7:	90                   	nop
526ce8:	53                   	push   %ebx
526ce9:	8b 48 14             	mov    0x14(%eax),%ecx
526cec:	ff 40 14             	incl   0x14(%eax)
526cef:	8b 58 08             	mov    0x8(%eax),%ebx
526cf2:	8d 0c 0b             	lea    (%ebx,%ecx,1),%ecx
526cf5:	51                   	push   %ecx
526cf6:	8b ca                	mov    %edx,%ecx
526cf8:	c1 e9 08             	shr    $0x8,%ecx
526cfb:	5b                   	pop    %ebx
526cfc:	88 0b                	mov    %cl,(%ebx)
526cfe:	8b 48 14             	mov    0x14(%eax),%ecx
526d01:	ff 40 14             	incl   0x14(%eax)
526d04:	8b 40 08             	mov    0x8(%eax),%eax
526d07:	80 e2 ff             	and    $0xff,%dl
526d0a:	88 14 08             	mov    %dl,(%eax,%ecx,1)
526d0d:	5b                   	pop    %ebx
526d0e:	c3                   	ret
526d0f:	90                   	nop
526d10:	53                   	push   %ebx
526d11:	8b d8                	mov    %eax,%ebx
526d13:	56                   	push   %esi
526d14:	8b 43 1c             	mov    0x1c(%ebx),%eax
526d17:	8b 53 10             	mov    0x10(%ebx),%edx
526d1a:	8b 70 14             	mov    0x14(%eax),%esi
526d1d:	3b f2                	cmp    %edx,%esi
526d1f:	76 02                	jbe    0x526d23
526d21:	8b f2                	mov    %edx,%esi
526d23:	85 f6                	test   %esi,%esi
526d25:	74 37                	je     0x526d5e
526d27:	56                   	push   %esi
526d28:	8b 40 10             	mov    0x10(%eax),%eax
526d2b:	50                   	push   %eax
526d2c:	8b 53 0c             	mov    0xc(%ebx),%edx
526d2f:	52                   	push   %edx
526d30:	e8 ab f6 ff ff       	call   0x5263e0
526d35:	83 c4 0c             	add    $0xc,%esp
526d38:	8b c6                	mov    %esi,%eax
526d3a:	01 43 0c             	add    %eax,0xc(%ebx)
526d3d:	8b 53 1c             	mov    0x1c(%ebx),%edx
526d40:	01 42 10             	add    %eax,0x10(%edx)
526d43:	01 73 14             	add    %esi,0x14(%ebx)
526d46:	29 73 10             	sub    %esi,0x10(%ebx)
526d49:	8b 43 1c             	mov    0x1c(%ebx),%eax
526d4c:	8b 50 14             	mov    0x14(%eax),%edx
526d4f:	2b d6                	sub    %esi,%edx
526d51:	89 50 14             	mov    %edx,0x14(%eax)
526d54:	85 d2                	test   %edx,%edx
526d56:	75 06                	jne    0x526d5e
526d58:	8b 48 08             	mov    0x8(%eax),%ecx
526d5b:	89 48 10             	mov    %ecx,0x10(%eax)
526d5e:	5e                   	pop    %esi
526d5f:	5b                   	pop    %ebx
526d60:	c3                   	ret
526d61:	90                   	nop
526d62:	90                   	nop
526d63:	90                   	nop
526d64:	53                   	push   %ebx
526d65:	56                   	push   %esi
526d66:	57                   	push   %edi
526d67:	55                   	push   %ebp
526d68:	51                   	push   %ecx
526d69:	8b fa                	mov    %edx,%edi
526d6b:	8b f0                	mov    %eax,%esi
526d6d:	85 f6                	test   %esi,%esi
526d6f:	74 0f                	je     0x526d80
526d71:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
526d75:	74 09                	je     0x526d80
526d77:	83 ff 04             	cmp    $0x4,%edi
526d7a:	7f 04                	jg     0x526d80
526d7c:	85 ff                	test   %edi,%edi
526d7e:	7d 0a                	jge    0x526d8a
526d80:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
526d85:	e9 57 02 00 00       	jmp    0x526fe1
526d8a:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
526d8e:	8b 5e 1c             	mov    0x1c(%esi),%ebx
526d91:	74 19                	je     0x526dac
526d93:	83 3e 00             	cmpl   $0x0,(%esi)
526d96:	75 06                	jne    0x526d9e
526d98:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
526d9c:	75 0e                	jne    0x526dac
526d9e:	81 7b 04 9a 02 00 00 	cmpl   $0x29a,0x4(%ebx)
526da5:	75 17                	jne    0x526dbe
526da7:	83 ff 04             	cmp    $0x4,%edi
526daa:	74 12                	je     0x526dbe
526dac:	a1 84 7b 69 00       	mov    0x697b84,%eax
526db1:	89 46 18             	mov    %eax,0x18(%esi)
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