private void ReadTilde()
{
if (this.tilde == null || this.sharpTilde == null) return;
this.idxm.HeapSizes = this.sharpTilde.HeapSizes;
int num = 0, ad = this.sharpTilde.GetOffset() + 24;
for (int i = 0; i < 63; i++)
{
if ((this.sharpTilde.Valid &(1L << i)) == 0) continue;
int rows = Util.GetInt32(this.data, ad);
bool is_def = Enum.IsDefined(typeof (MetadataTables), i);
if (is_def) idxm.TableRows[i] = rows;
num++;
ad += 4;
}
for (int i = 0; i < 63; i++)
{
int rows = idxm.TableRows[i];
for (int j = 0; j < rows; j++)
{
TableBase tbl = this.idxm.CreateTable((MetadataTables) i);
this.idxm.Tables[i].Add(tbl);
tbl.ReadData(data, ad);
tbl.Index = j + 1;
tbl.AppendTitle(string.Format(" {0:X}", j + 1));
tbl.AppendName();
ad += tbl.GetSize();
}
}
}