HvpMapHiveImageFromFile

NTSTATUS __stdcall HvpMapHiveImageFromFile(PVOID Hive, UINT64 Length, UINT64 a3, UINT64 a4, UINT64 MapIndex){
  unsigned int v5; 
  NTSTATUS v7; 
  INT64 v9; 
  int v10; 
  int v11; 
  PVOID P; 
  unsigned int v13; 
  int v14; 
  int v15; 
  int v16; 

  v16 = 0;
  v5 = 0x200000;
  v10 = 0;
  P = 0i64;
  v14 = 0;
  v9 = (INT64)Hive;
  v11 = 4096;
  if( (unsigned int)a4 < 0x200000 )
    v5 = a4;
  v15 = a4;
  v13 = v5;
  while( 1 )
  {
    P = ExAllocatePoolWithTag(1ui64, v5, 1867074883i64);
    if( P )
      break;
    v5 = ((v13 >> 1) + 4095) & 0xFFFFF000;
    v13 = v5;
    if( v5 < 0x10000 )
      return -1073741801;
  }
  v7 = HvpMapHiveImage(Hive, (INT64)&v9);
  if( P )
    ExFreePoolWithTag(P, 0);
  return v7;
}

Referenced by:

No references.