<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def put_conditional(self, cond, valiftrue, valiffalse, reg):
 """ Like put, except it checks a condition to decide what to put in the destination register. :param cond: The VexValue representing the logical expression for the condition (if your expression only has constants, don't use this method!) :param valiftrue: the VexValue to put in reg if cond evals as true :param validfalse: the VexValue to put in reg if cond evals as false :param reg: The integer register number to store into, or register name	 :return: None """


        val = self.irsb_c.ite(cond.rdt , valiftrue.rdt, valiffalse.rdt)
        offset = self.lookup_register(self.irsb_c.irsb.arch, reg)
        self.irsb_c.put(val, offset)