private static Entry parse_nimd_entry(BinaryFile bFile) { // read boolean (1 byte) bool isList = bFile.ReadBoolean(); // ready 2 ints (8 bytes) int total_size = bFile.ReadInt32(); int name_size = bFile.ReadInt32(); string name = bFile.ReadString(name_size); if (isList) { return(parse_nimd_entry_list(bFile, name)); } // ready 2 ints (8 bytes) int data_offset = bFile.ReadInt32(); int data_size = bFile.ReadInt32(); return(new Entry(name, data_offset, data_size)); }