'Get the CFGNode object on the control flow graph given an angr state.
:param angr.analyses.CFGAccurate cfg:   An instance of CFGAccurate.
: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'

@staticmethod
def _get_cfg_node(cfg, state):

    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)
