private void ReadImage()
{
ushort num;
ushort num1;
if (this.BaseStream.Length < (long)128)
{
throw new BadImageFormatException();
}
if (this.ReadUInt16() != 23117)
{
throw new BadImageFormatException();
}
base.Advance(58);
this.MoveTo(this.ReadUInt32());
if (this.ReadUInt32() != 17744)
{
throw new BadImageFormatException();
}
this.image.Architecture = this.ReadArchitecture();
ushort num2 = this.ReadUInt16();
base.Advance(14);
ushort num3 = this.ReadUInt16();
this.ReadOptionalHeaders(out num, out num1);
this.ReadSections(num2);
this.ReadCLIHeader();
this.ReadMetadata();
this.image.Kind = ImageReader.GetModuleKind(num3, num);
this.image.Characteristics = (ModuleCharacteristics)num1;
}