'Executed before analysis starts. Necessary initializations are performed here.
:return: None'

def _pre_analysis(self):

    l.debug('Starting    from    %#x', self._start)
    self._task_stack = []
    self._execution_counter = defaultdict(int)
    if (not self._cfg):
        l.debug('Generating    a    CFG,    since    none    was    given...')
        self._cfg = self.project.analyses.CFGAccurate(context_sensitivity_level=self._context_sensitivity_level, starts=(self._start,))
    if (not self._cfg.normalized):
        l.warning('The    given    CFG    is    not    normalized,    which    might    impact    the    performance/accuracy    of    the    VFG    analysis.')
    initial_state = self._prepare_initial_state(self._start, self._initial_state)
    initial_state.ip = self._start
    initial_state = self.project.arch.prepare_state(initial_state, {'current_function': self._start})
    self._function_merge_points = {}
    state = initial_state.copy()
    if self._start_at_function:
        self._final_address = 1342111744
        self._set_return_address(state, self._final_address)
    call_stack = None
    if (not self._start_at_function):
        call_stack = CallStack()
        call_stack = call_stack.call(None, self._function_start, retn_target=self._final_address)
    job = VFGJob(state.addr, state, self._context_sensitivity_level, jumpkind='Ijk_Boring', final_return_address=self._final_address, call_stack=call_stack)
    block_id = BlockID.new(state.addr, job.get_call_stack_suffix(), job.jumpkind)
    job._block_id = block_id
    self._insert_job(job)
    function_analysis_task = FunctionAnalysis(self._function_start, self._final_address)
    function_analysis_task.jobs.append(job)
    self._task_stack.append(function_analysis_task)
