HalpBlkAllocateShadowData

UINT64 __stdcall HalpBlkAllocateShadowData(_DEVICE_OBJECT *LowerDeviceObject){
  unsigned int v1; 
  size_t v2; 
  PSTR MemoryInternal; 
  INT64 v4; 
  unsigned int v5; 
  UINT64 v6; 
  __int64 v7; 
  bool v8; 

  v1 = 0;
  v2 = 8 * *(&CmpDummyThreadEvent + 1780);
  MemoryInternal = HalpMmAllocateMemoryInternal((unsigned int)(8 * *(&CmpDummyThreadEvent + 1780)), MmCached);
  *(&CmpDummyThreadEvent + 487) = MemoryInternal;
  if( !MemoryInternal )
    return(unsigned int)-1073741801;
  memset(MemoryInternal, 0i64, v2);
  v5 = 0;
  if( *(&CmpDummyThreadEvent + 1780) )
  {
    while( 1 )
    {
      v6 = HalpBlkAllocateAndShadowMemory(0i64, 0xEui64, v4, 4i64, 0i64);
      if( !v6 )
        break;
      v7 = v5++;
      v8 = v5 < *(&CmpDummyThreadEvent + 1780);
      *(_QWORD *)(*(&CmpDummyThreadEvent + 487) + 8 * v7) = v6;
      if( !v8 )
        return v1;
    }
    return(unsigned int)-1073741801;
  }
  return v1;
}

Referenced by:

HalpBlkInitializeVirtualAddressSpace