(self, cfg_job)
return entries
Scan a basic block starting at a specific address

        :param CFGJob cfg_job: The CFGJob instance.
        :return: a list of successors
        :rtype: list
Scan a basic block starting at a specific address
Scan a basic block starting at a specific address
def _scan_block(self, cfg_job):
        """
        Scan a basic block starting at a specific address

        :param CFGJob cfg_job: The CFGJob instance.
        :return: a list of successors
        :rtype: list
        """

        addr = cfg_job.addr
        current_func_addr = cfg_job.func_addr

        # Fix the function address
        # This is for rare cases where we cannot successfully determine the end boundary of a previous function, and
        # as a consequence, our analysis mistakenly thinks the previous function goes all the way across the boundary,
        # resulting the missing of the second function in function manager.
        if addr in self._function_addresses_from_symbols:
            current_func_addr = addr

        if self._addr_hooked_or_syscall(addr):
            entries = self._scan_procedure(cfg_job, current_func_addr)

        else:
            entries = self._scan_irsb(cfg_job, current_func_addr)

        return entries
def _scan_block ( self , cfg_job ) : addr = cfg_job . addr current_func_addr = cfg_job . func_addr # Fix the function address # This is for rare cases where we cannot successfully determine the end boundary of a previous function, and # as a consequence, our analysis mistakenly thinks the previous function goes all the way across the boundary, # resulting the missing of the second function in function manager. if addr in self . _function_addresses_from_symbols : current_func_addr = addr if self . _addr_hooked_or_syscall ( addr ) : entries = self . _scan_procedure ( cfg_job , current_func_addr ) else : entries = self . _scan_irsb ( cfg_job , current_func_addr ) return entries