RtlpRemoveUCRBlock

UINT64 __stdcall RtlpRemoveUCRBlock(PVOID HeapHandle, PVOID BaseAddress){
  char *v2; 
  UINT64 result; 
  INT64 *v5; 
  INT64 v6; 
  INT64 v7; 
  void **v8; 
  INT64 v9; 
  PVOID v10; 
  v2 = (char *)BaseAddress + 16;
  result = *((_QWORD *)BaseAddress + 2);
  v5 = (INT64 *)*((_QWORD *)BaseAddress + 3);
  v6 = *(_QWORD *)(result + 8);
  v7 = *v5;
  if( *v5 == v6 && (char *)v7 == v2 )
  {
    *v5 = result;
    *(_QWORD *)(result + 8) = v5;
  }
  else
  {
    RtlpLogHeapFailure(13i64, 0i64, (UINT64)v2, v6, v7, 0i64);
  }
  if( *((_QWORD *)BaseAddress + 5) )
  {
    result = *(_QWORD *)BaseAddress;
    v8 = (void **)*((_QWORD *)BaseAddress + 1);
    v9 = *(_QWORD *)(*(_QWORD *)BaseAddress + 8i64);
    v10 = *v8;
    if( *v8 == (void *)v9 && v10 == BaseAddress )
    {
      *v8 = (void *)result;
      *(_QWORD *)(result + 8) = v8;
    }
    else
    {
      RtlpLogHeapFailure(13i64, 0i64, (UINT64)BaseAddress, v9, (INT64)v10, 0i64);
    }
  }
  return result;
}

Referenced by:

RtlpDeCommitFreeBlock
RtlpFindAndCommitPages