'Stores a Claripy expression in a VEX temp value.
If in symbolic mode, this involves adding a constraint for the tmp\'s symbolic variable.
:param tmp: the number of the tmp
:param content: a Claripy expression of the content
:param reg_deps: the register dependencies of the content
:param tmp_deps: the temporary value dependencies of the content'

def store_tmp(self, tmp, content, reg_deps=None, tmp_deps=None, action_holder=None):

    self.state._inspect('tmp_write', BP_BEFORE, tmp_write_num=tmp, tmp_write_expr=content)
    tmp = self.state._inspect_getattr('tmp_write_num', tmp)
    content = self.state._inspect_getattr('tmp_write_expr', content)
    if (o.SYMBOLIC_TEMPS not in self.state.options):
        self.temps[tmp] = content
    else:
        self.state.add_constraints((self.temps[tmp] == content))
    if (o.TRACK_TMP_ACTIONS in self.state.options):
        data_ao = SimActionObject(content, reg_deps=reg_deps, tmp_deps=tmp_deps)
        r = SimActionData(self.state, SimActionData.TMP, SimActionData.WRITE, tmp=tmp, data=data_ao, size=content.length)
        if (action_holder is None):
            self.state.history.add_event(r)
        else:
            action_holder.append(r)
    self.state._inspect('tmp_write', BP_AFTER)
