MiFindDriverNonPagedSections

__int64 __fastcall MiFindDriverNonPagedSections(__int64 a1, unsigned int *a2, _MMPTE **a3, _QWORD *a4){
  __int64 v4; 
  INT64 v5; 
  unsigned int *v9; 
  unsigned int v10; 
  unsigned int SetBits; 
  unsigned int v12; 
  NTSTATUS NextForwardRunClear; 
  unsigned int v14; 
  _MMPTE *PteAddress; 
  int v16; 
  UINT64 StartingRunIndex; 

  v4 = *(_QWORD *)(a1 + 48);
  v5 = a1 + 160;
  LODWORD(StartingRunIndex) = 0;
  MiLockLoaderEntry(a1 + 160, (_XSTATE_CONFIGURATION *)2);
  v9 = *(unsigned int **)(v5 + 112);
  v10 = *a2;
  if( *a2 == *v9
    || (SetBits = RtlFindSetBits(*(_QWORD *)(v5 + 112), 1ui64, v10), v12 = SetBits, SetBits < v10)
    || SetBits == -1 )
  {
    MiUnlockLoaderEntry(v5, 2i64);
    return 3221226021i64;
  }
  else
  {
    NextForwardRunClear = RtlFindNextForwardRunClear((INT64)v9, SetBits, &StartingRunIndex);
    v14 = StartingRunIndex;
    if( !NextForwardRunClear )
      v14 = *v9;
    *a2 = v14;
    PteAddress = MiGetPteAddress((VOID *)(v4 + (v12 << 12)));
    *a3 = PteAddress;
    *a4 = &PteAddress[v16 - 1];
    MiUnlockLoaderEntry(v5, 2i64);
    return 0i64;
  }
}

Referenced by:

MiHandleDriverNonPagedSections