anchor.diff:      Exit(False);
     end;
   
  +  //
     // Ensure we have space for an additional section header
  +  //
  +
     debug_writeln(Format('offset=%x', [DWORD(section) - DWORD(s.Memory)+sizeof(_IMAGE_SECTION_HEADER)]));
     debug_writeln(Format('first=%x', [FirstSection.PointerToRawData]));
     if DWORD(section) - DWORD(s.Memory) + sizeof(_IMAGE_SECTION_HEADER) > FirstSection.PointerToRawData then
  
positive.code: 
    debug_writeln(Format('End of section table is at %8.8x', [Integer(section) - Integer(s.Memory)]));
    debug_writeln(Format('One more section takes us to %8.8x', [Integer(section) - Integer(s.Memory) + sizeof(_IMAGE_SECTION_HEADER)]));
  
    if nh.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_DEBUG].VirtualAddress <> 0 then
    begin
  
negative.code:     Inc(section);
    end;
  
    error_writeln(Format('unexpected RVA out of bounds: %x', [rva]));
    Result := 0;
  end;
  
  