RtlCompressBufferProgress

NTSTATUS __stdcall RtlCompressBufferProgress(
        UINT16 FormatEngine,
        UINT8 *UncompressedBuffer,
        UINT64 UncompressedBufferSize,
        UINT8 *CompressedBuffer,
        UINT64 CompressedBufferSize,
        UINT64 *FinalCompressedSize,
        VOID *WorkSpace,
        VOID *Callback,
        VOID *a9,
        VOID *CallbackContext,
        UINT64 ProgressBytes){
  __int16 v11; 
  __int16 v12; 
  VOID *v14; 
  UINT64 v15; 

  v11 = (unsigned __int8)FormatEngine;
  v12 = FormatEngine & 0xFF00;
  if( v11 == 3 )
  {
    if( !v12 )
    {
      LODWORD(v14) = 4096;
      return RtlCompressBufferXpressLzStandard(
               UncompressedBuffer,
               (unsigned int)UncompressedBufferSize,
               CompressedBuffer,
               0x10000ui64,
               FinalCompressedSize,
               (_XPRESS_LZ_WORKSPACE *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
               Callback,
               a9,
               v14,
               v15);
    }
    if( v12 == 256 )
    {
      LODWORD(v14) = 4096;
      return RtlCompressBufferXpressLzMax(
               UncompressedBuffer,
               (unsigned int)UncompressedBufferSize,
               CompressedBuffer,
               0x10000ui64,
               FinalCompressedSize,
               (_XPRESS_LZ_WORKSPACE_MAX *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
               Callback,
               a9,
               v14,
               v15);
    }
  }
  else if( v11 == 4 )
  {
    if( !v12 )
    {
      LODWORD(v14) = 4096;
      return RtlCompressBufferXpressHuffStandard(
               UncompressedBuffer,
               (unsigned int)UncompressedBufferSize,
               CompressedBuffer,
               0x10000ui64,
               FinalCompressedSize,
               (_XPRESS_HUFF_WORKSPACE *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
               Callback,
               a9,
               v14,
               v15);
    }
    if( v12 == 256 )
    {
      LODWORD(v14) = 4096;
      return RtlCompressBufferXpressHuffMax(
               UncompressedBuffer,
               (unsigned int)UncompressedBufferSize,
               CompressedBuffer,
               0x10000ui64,
               FinalCompressedSize,
               (_XPRESS_HUFF_WORKSPACE_MAX *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
               Callback,
               a9,
               v14,
               v15);
    }
  }
  return -1073741217;
}

Referenced by:

PopAddPagesToCompressedPageSet