@staticmethod
def _get_cfg_node(cfg, state):
    """
        Get the CFGNode object on the control flow graph given an angr state.

        :param angr.analyses.CFGEmulated cfg:   An instance of CFGEmulated.
        :param angr.SimState state:             The current state.
        :return: A CFGNode instance if the node exists, or None if the node cannot be found.
        :rtype: CFGNode or None
        """
    call_stack_suffix = state.callstack.stack_suffix(cfg.
        context_sensitivity_level)
    is_syscall = (state.history.jumpkind is not None and state.history.
        jumpkind.startswith('Ijk_Sys'))
    block_id = cfg._generate_block_id(call_stack_suffix, state.addr, is_syscall
        )
    return cfg.get_node(block_id)
