RtlpHpVsChunkComputeCost

NTSTATUS __stdcall RtlpHpVsChunkComputeCost(INT64 a1, INT64 a2, UINT64 *a3, UINT64 *a4){
  __int64 v7; 
  unsigned int v8; 
  NTSTATUS v9; 
  unsigned int v10; 
  unsigned int v11; 
  unsigned __int64 v12; 
  NTSTATUS result; 

  v7 = 16 * (WORD1(RtlpHpHeapGlobals) ^ WORD1(a1) ^ *(unsigned __int16 *)(a1 + 2));
  v8 = (a1 + v7 - a2) & 0xFFFFF000;
  v9 = (((unsigned int)v7 + (unsigned __int64)(a1 & 0xFFF) + 4095) >> 12) - ((unsigned __int64)(v7 + 4095) >> 12);
  v10 = (a1 - a2 + 4127) & 0xFFFFF000;
  if( v10 < v8 )
  {
    v11 = v8 - v10;
    v12 = *(_QWORD *)(a2 + 16) & (-1i64 << (v10 >> 12)) & (0xFFFFFFFFFFFFFFFFui64 >> (63
                                                                                    - (unsigned __int8)((unsigned __int64)(v8 - 1) >> 12)));
  }
  else
  {
    v11 = 0;
    v12 = 0i64;
  }
  *(_DWORD *)a3 = v11 >> 12;
  result = v9;
  *a4 = v12;
  return result;
}

Referenced by:

RtlpHpVsChunkDecommit
RtlpHpVsContextFree
RtlpHpVsFreeChunkRemove