@Override
	public void apply(ImportStateCache importState, RelocationState relocState,
			ContainerHeader header, Program program, MessageLog log, TaskMonitor monitor) {

		switch (subopcode) {
			case kPEFRelocLgBySection: {
				SectionHeader sect = header.getSections().get(index);
				MemoryBlock block = importState.getMemoryBlockForSection(sect);
				relocState.relocateMemoryAt(relocState.getRelocationAddress(),
					(int) block.getStart().getOffset(), log);
				break;
			}
			case kPEFRelocLgSetSectC: {
				SectionHeader sectC = header.getSections().get(index);
				MemoryBlock blockC = importState.getMemoryBlockForSection(sectC);
				relocState.setSectionC(blockC.getStart());
				break;
			}
			case kPEFRelocLgSetSectD: {
				SectionHeader sectD = header.getSections().get(index);
				MemoryBlock blockD = importState.getMemoryBlockForSection(sectD);
				relocState.setSectionD(blockD.getStart());
				break;
			}
			default: {
				log.appendMsg("Unsupported RelocLgSetOrBySection subopcode: " + subopcode);
				break;
			}
		}
	}
This instruction sets the variable <code>sectionD</code>
to the memory adddress of the instantiated section
specified by <code>index</code>.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/pef/RelocLgSetOrBySection.java