HvpMapHiveImageFromFile

INT64 __fastcall HvpMapHiveImageFromFile(UINT64 a1, INT64 a2, INT64 a3, UINT64 a4){
  unsigned int v4; 
  INT64 v6; 
  INT64 v7; 
  INT64 v8; 
  unsigned int v9; 
  __int64 Context; 
  int v12; 
  int v13; 
  PVOID P; 
  unsigned int v15; 
  int v16; 
  int v17; 
  int v18; 
  v18 = 0;
  v4 = 0x200000;
  v12 = 0;
  P = 0i64;
  v16 = 0;
  Context = a1;
  v13 = 4096;
  if( (unsigned int)a4 < 0x200000 )
    v4 = a4;
  v17 = a4;
  v15 = v4;
  while( 1 )
  {
    P = ExAllocatePoolWithTag(PagedPool, v4, 0x6F494D43ui64);
    if( P )
      break;
    v4 = ((v15 >> 1) + 4095) & 0xFFFFF000;
    v15 = v4;
    if( v4 < 0x10000 )
      return(unsigned int)-1073741801;
  }
  v9 = HvpMapHiveImage(a1, v6, v7, v8, &Context);
  if( P )
    ExFreePoolWithTag(P, 0);
  return v9;
}

Referenced by:

No references.