(self, function_start, state)
return state
Get the state to start the analysis for function.

        :param int function_start: Address of the function
        :param SimState state: The program state to base on.
Get the state to start the analysis for function.
Get the state to start the analysis for function .
def _prepare_initial_state(self, function_start, state):
        """
        Get the state to start the analysis for function.

        :param int function_start: Address of the function
        :param SimState state: The program state to base on.
        """

        if state is None:
            state = self.project.factory.blank_state(mode="static",
                                                     remove_options=self._state_options_to_remove
                                                     )

        # make room for arguments passed to the function
        sp = state.regs.sp
        sp_val = state.solver.eval_one(sp)
        state.memory.set_stack_address_mapping(sp_val,
                                               state.memory.stack_id(function_start) + '_pre',
                                               0
                                               )
        state.registers.store('sp', sp - 0x100)

        # Set the stack address mapping for the initial stack
        state.memory.set_stack_size(state.arch.stack_size)
        initial_sp = state.solver.eval(state.regs.sp) # FIXME: This is bad, as it may lose tracking of multiple sp values
        initial_sp -= state.arch.bytes
        state.memory.set_stack_address_mapping(initial_sp,
                                               state.memory.stack_id(function_start),
                                               function_start
                                               )

        return state
def _prepare_initial_state ( self , function_start , state ) : if state is None : state = self . project . factory . blank_state ( mode = "static" , remove_options = self . _state_options_to_remove ) # make room for arguments passed to the function sp = state . regs . sp sp_val = state . solver . eval_one ( sp ) state . memory . set_stack_address_mapping ( sp_val , state . memory . stack_id ( function_start ) + '_pre' , 0 ) state . registers . store ( 'sp' , sp - 0x100 ) # Set the stack address mapping for the initial stack state . memory . set_stack_size ( state . arch . stack_size ) initial_sp = state . solver . eval ( state . regs . sp ) # FIXME: This is bad, as it may lose tracking of multiple sp values initial_sp -= state . arch . bytes state . memory . set_stack_address_mapping ( initial_sp , state . memory . stack_id ( function_start ) , function_start ) return state