def branch(self, address):
        ss = []
        if isinstance(address, reil.OffsetOperand):
            self.il_index = address.offset
            ss.append(self)
        else:
            #sp =

            self.il_index = 0xfffffff
            if address.symbolic:
                if arbitrary(self, address):
                    raise ArbitraryExecution(self, address)
                else:
                    ss = []
                    as_ = concretise(self, address)
                    if len(as_) > 1:
                        for a in as_:
                            b = self.fork()
                            b.ip = a.value
                            ss.append(b)
                    else:
                        self.ip = as_[0].value
                        ss.append(self)
            else:
                self.ip = address.value
                ss.append(self)

        return ss
dataset/ETHPy150Open c01db33f/concolica/state.py/State.branch/original