def clobbers_stack_pointer(self):
    "\n        :return boolean: Returns True if the ROP gadget's instructions assign a non-static value to the stack pointer\n                         register, False otherwise.\n        "
    last_instr = self.instructions[(len(self.instructions) - 1)]
    if last_instr.opcode.startswith('ret'):
        for i in range((len(self.instructions) - 1)):
            cur_instr = self.instructions[i]
            if (not cur_instr.creates_value()):
                continue
            if (Instruction.get_operand_register_family(cur_instr.op1) == 7):
                if (((cur_instr.op2 is None) and (cur_instr.opcode not in ['inc', 'dec', 'pop'])) or ((cur_instr.op2 is not None) and (not Instruction.is_constant(cur_instr.op2)))):
                    return True
    return False
:return boolean: Returns True if the ROP gadget's instructions assign a non-static value to the stack pointer
                 register, False otherwise.
def clobbers_stack_pointer(self):
    "\n        :return boolean: Returns True if the ROP gadget's instructions assign a non-static value to the stack pointer\n                         register, False otherwise.\n        "
    last_instr = self.instructions[(len(self.instructions) - 1)]
    if last_instr.opcode.startswith('ret'):
        for i in range((len(self.instructions) - 1)):
            cur_instr = self.instructions[i]
            if (not cur_instr.creates_value()):
                continue
            if (Instruction.get_operand_register_family(cur_instr.op1) == 7):
                if (((cur_instr.op2 is None) and (cur_instr.opcode not in ['inc', 'dec', 'pop'])) or ((cur_instr.op2 is not None) and (not Instruction.is_constant(cur_instr.op2)))):
                    return True
    return False