def _create_initial_state(self, ip, jumpkind):
        """
        Obtain a SimState object for a specific address

        Fastpath means the CFG generation will work in an IDA-like way, in which it will not try to execute every
        single statement in the emulator, but will just do the decoding job. This is much faster than the old way.

        :param int ip: The instruction pointer
        :param str jumpkind: The jumpkind upon executing the block
        :return: The newly-generated state
        :rtype: simuvex.SimState
        """

        jumpkind = "Ijk_Boring" if jumpkind is None else jumpkind

        if self._initial_state is None:
            state = self.project.factory.entry_state(addr=ip, mode="fastpath")
        else:
            # FIXME: self._initial_state is deprecated. This branch will be removed soon
            state = self._initial_state
            state.scratch.jumpkind = jumpkind
            state.set_mode('fastpath')
            state.ip = state.se.BVV(ip, self.project.arch.bits)

        if jumpkind is not None:
            state.scratch.jumpkind = jumpkind

        state_info = None
        # THIS IS A HACK FOR MIPS and ALSO PPC64
        if ip is not None and ('MIPS32', 'MIPS64') in self.project.arch.name:
            # We assume this is a function start
            state_info = {'t9': state.se.BVV(ip, self.project.arch.bits)}
        elif ip is not None and self.project.arch.name == 'PPC64':
            # Still assuming this is a function start
            state_info = {'r2': state.registers.load('r2')}
        state = self.project.arch.prepare_state(state, state_info)

        return state
dataset/ETHPy150Open angr/angr/angr/analyses/cfg_accurate.py/CFGAccurate._create_initial_state/swapped operands of `in`