MiInitializeBootLoadedDriverPfns

VOID __stdcall MiInitializeBootLoadedDriverPfns(_LOADER_PARAMETER_BLOCK *LoaderBlock){
  char *v1; 
  char *v2; 
  char *v3; 
  int v4; 
  char *v5; 
  __int64 v6; 
  char *v7; 
  __int64 v8; 
  char *v9; 
  UINT64 v10; 
  UINT64 v11; 
  __int64 v12; 
  char *v13; 
  v11 = 0i64;
  v1 = (char *)LoaderBlock + 16;
  v2 = (char *)*((_QWORD *)LoaderBlock + 2);
  v13 = (char *)LoaderBlock + 16;
  while( v2 != v1 )
  {
    v7 = (char *)*((_QWORD *)v2 + 6);
    v5 = (char *)MmGetPteBase() + (((unsigned __int64)v7 >> 9) & 0x7FFFFFFFF8i64);
    if( (unsigned int)MI_IS_PHYSICAL_ADDRESS(v7) )
    {
      if( (MiFlags & 0x10000) != 0 )
        MiActOnLargeKernelHalPages(v7, (__int64(__fastcall *)(char *, char *))MiValidateKernelHalLargePageRange);
    }
    else
    {
      v8 = ((unsigned int)dword_140C4C9F0 >> 12)
         + (unsigned int)(((unsigned __int64)*((unsigned int *)v2 + 16) + 4095) >> 12);
      if( v7 != PsHalImageBase && v7 != (char *)PsNtosImageBase )
        v8 = (unsigned int)(dword_140C4C98C + v8);
      v9 = &v5[8 * v8];
      v6 = (unsigned int)v8;
      v10 = 0i64;
      v12 = (unsigned int)v8;
      if( v5 < v9 )
      {
        MiPteInShadowRange((UINT64)&v11);
        do
        {
          v11 = MI_READ_PTE_LOCK_FREE((INT64)v5);
          v3 = (char *)MmGetPfnDb() + 48 * ((v11 >> 12) & 0xFFFFFFFFFi64);
          if( MiIsPfnFromSlabAllocation((INT64)v3) )
            ++v10;
          if( (v11 & 0x8000000000000000ui64) == 0i64 )
          {
            v4 = BYTE2(MiFlags) & 1;
            *((_QWORD *)v3 + 2) = *((_QWORD *)v3 + 2) & 0xFFFFFFFFFFFFFC1Fui64 | ((-(__int64)(v4 != 0) & 0xFFFFFFFFFFFFFFA0ui64)
                                                                                + 192);
            if( v4 )
            {
              if( ((*((_QWORD *)v3 + 5) >> 60) & 7) != 3 )
                MiMarkPfnVerified((UINT64)v3, 0);
            }
          }
          v3[35] |= 8u;
          v5 += 8;
        }
        while( v5 < v9 );
        v1 = v13;
        if( v10 )
        {
          if( (MiAcquireNonPagedResources((_MI_PARTITION *)&MiSystemPartition, v10) & 0x80000000) != 0i64 )
            return;
          qword_140C4ECF0 += v10;
        }
        v6 = v12;
      }
      if( v7 != PsHalImageBase && v7 != (char *)PsNtosImageBase )
      {
        _InterlockedExchangeAdd(&dword_140C4ED10, v8);
        qword_140C4ECF0 -= v6;
      }
    }
    v2 = *(char **)v2;
  }
  MiFlags |= 0x1000u;
}

Referenced by:

MiInitializeDriverImages