docs: 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)