def clobbers_indirect_target(self):
    "\n        :return boolean: Returns True if the JOP/COP gadget's instructions modify the indirect branch register in\n                         certain ways, False otherwise.\n        "
    last_instr = self.instructions[(len(self.instructions) - 1)]
    if (last_instr.opcode.startswith('jmp') or last_instr.opcode.startswith('call')):
        family = Instruction.get_operand_register_family(last_instr.op1)
        for i in range((len(self.instructions) - 1)):
            cur_instr = self.instructions[i]
            if (cur_instr.op1 in Instruction.register_families[family]):
                if ((cur_instr.opcode == 'xor') and (cur_instr.op1 == cur_instr.op2)):
                    return True
                if ((cur_instr.opcode == 'lea') and (('rip' in cur_instr.op2) or ('eip' in cur_instr.op2))):
                    return True
                if (cur_instr.opcode.startswith('lods') or (cur_instr.opcode == 'in')):
                    return True
                if (('mov' in cur_instr.opcode) and (Instruction.is_constant(cur_instr.op2) or (Instruction.get_operand_register_family(cur_instr.op2) is None))):
                    return True
    return False
:return boolean: Returns True if the JOP/COP gadget's instructions modify the indirect branch register in
                 certain ways, False otherwise.
def clobbers_indirect_target(self):
    "\n        :return boolean: Returns True if the JOP/COP gadget's instructions modify the indirect branch register in\n                         certain ways, False otherwise.\n        "
    last_instr = self.instructions[(len(self.instructions) - 1)]
    if (last_instr.opcode.startswith('jmp') or last_instr.opcode.startswith('call')):
        family = Instruction.get_operand_register_family(last_instr.op1)
        for i in range((len(self.instructions) - 1)):
            cur_instr = self.instructions[i]
            if (cur_instr.op1 in Instruction.register_families[family]):
                if ((cur_instr.opcode == 'xor') and (cur_instr.op1 == cur_instr.op2)):
                    return True
                if ((cur_instr.opcode == 'lea') and (('rip' in cur_instr.op2) or ('eip' in cur_instr.op2))):
                    return True
                if (cur_instr.opcode.startswith('lods') or (cur_instr.opcode == 'in')):
                    return True
                if (('mov' in cur_instr.opcode) and (Instruction.is_constant(cur_instr.op2) or (Instruction.get_operand_register_family(cur_instr.op2) is None))):
                    return True
    return False