private Instruction getPairInstruction(Instruction start_inst, Instruction curr_inst) {
		// Get start_inst objects
		Object[] obj1 = getInstObjs(start_inst);
		if (obj1 == null || obj1.length != 3) {
			return null;
		}
		Register destReg1 = (Register) obj1[0];
		Register base1 = (Register) obj1[1];
		Scalar offset1 = (Scalar) obj1[2];
		if (base1 == null || offset1 == null) {
			return null;
		}

		// Get curr_inst objects
		Object[] obj2 = getInstObjs(curr_inst);
		if (obj2 == null || obj2.length != 3) {
			return null;
		}
		Register destReg2 = (Register) obj2[0];
		Register base2 = (Register) obj2[1];
		Scalar offset2 = (Scalar) obj2[2];
		if (base2 == null || offset2 == null) {
			return null;
		}

		// Check if matching pair
		Instruction pairInstr;
		pairInstr =
			checkPair(offset1, offset2, base1, base2, destReg1, destReg2, start_inst, curr_inst);

		// If no matching pair found, return
		return pairInstr;
	}
Given one instruction, finds a corresponding paired instruction.
Ghidra/Processors/MIPS/src/main/java/ghidra/app/plugin/core/analysis/MipsPreAnalyzer.java