MiSearchNumaNodeTable

NTSTATUS __stdcall MiSearchNumaNodeTable(PVOID BugCheckParameter2){
  int v1; 
  _QWORD *v2; 
  int v3; 
  int v4; 

  v1 = *(&stru_140C4DB30 + 38);
  if( *(&stru_140C4DB30 + 37) > *(&stru_140C4DB30 + 38)
    || (v2 = (_QWORD *)(*(&stru_140C4DB30 + 27) + 16i64 * *(&stru_140C4DB30 + 37)),
        (unsigned __int64)BugCheckParameter2 < *v2)
    || *(&stru_140C4DB30 + 37) != *(&stru_140C4DB30 + 38) && (unsigned __int64)BugCheckParameter2 >= v2[2] )
  {
    v3 = 0;
    if( *(&stru_140C4DB30 + 38) < 0 )
LABEL_17:
      KeBugCheckEx(0x1Au, (PVOID)0x6201, BugCheckParameter2, 0i64, 0i64);
    while( 1 )
    {
      v4 = (v3 + v1) >> 1;
      v2 = (_QWORD *)(*(&stru_140C4DB30 + 27) + 16i64 * v4);
      if( (unsigned __int64)BugCheckParameter2 < *v2 )
      {
        if( !v4 )
          KeBugCheckEx(0x1Au, (PVOID)0x6200, BugCheckParameter2, *(&stru_140C4DB30 + 27), 0i64);
        v1 = v4 - 1;
      }
      else
      {
        if( v4 == *(&stru_140C4DB30 + 38) || (unsigned __int64)BugCheckParameter2 < v2[2] )
        {
          *(&stru_140C4DB30 + 37) = (v3 + v1) >> 1;
          return(int)v2;
        }
        v3 = v4 + 1;
      }
      if( v1 < v3 )
        goto LABEL_17;
    }
  }
  return(int)v2;
}

Referenced by:

MI_GET_NODE_FROM_VALID_PTE
MI_NODE_FROM_PFN
MiAddExpansionNonPagedPool
MiAllocateMdlPagesByLists
MiDeleteClusterPage
MiDemoteLargeFreePage
MiDemoteValidLargePageOneLevel
MiFindContiguousPages
MiFreeListPageContentsChanged
MiGetPage
MiGetPagesToZero
MiGetWorkingSetInfoList
MiHotAddBootDeferredDescriptors
MiHugePageOperation
MiIdealClusterPage
MiInitializeDynamicPfns
MiInitializeMdlBatchPages
MiInitializeMdlOneNodeBatchPages
MiInitializeNewUltraHugeContext
MiInsertHugeRangeInList
MiInsertLargePageInNodeList
MiInsertNumaStandbyPage
MiLargePageFreeToZero
MiLargePageMovesInProgress
MiMapContiguousMemoryLarge
MiMigratePfn
MiMoveBadPageCrossPartition
MiPageToNode
MiPrefetchPreallocatePages
MiPrivateFixup
MiPruneStandbyPages
MiQueryLeafPte
MiRebuildLargeZeroPage
MiRemoveLargeFreeLoaderDescriptors
MiReplaceLockedPage
MiReplaceNumaStandbyPage
MiResolvePageFileFault
MiRestrictRangeToNode
MiReturnPhysicalPoolPages
MiSetPfnRemovalRequested
MiSharePages
MiSwapNumaStandbyPage
MiSwapStackPage
MiTradePage
MiTradeTransitionPage
MiTryUnlinkNodeLargePage
MiUnlinkHugeRange
MiUnlinkNumaStandbyPage
MiUpdatePageAttributeStamp
MiWaitForInPageComplete
MiZeroLargePages
MiZeroPage
MmDeleteKernelStack
MxComputeFreeNodeDescriptorRequirements
MxInitializeFreeNodeDescriptors
MxMapPfnRange
MxSwitchDescriptors