EtwpInitializeCompressedWriter

INT64 __fastcall EtwpInitializeCompressedWriter(INT64 a1, INT64 a2, INT64 a3){
  unsigned int v3; 
  int v5; 
  VOID *PoolWithTag; 
  VOID *v8; 
  SIZE_T NumberOfBytes; 
  ULONG v11; 
  v3 = 0;
  v5 = a2;
  v11 = 0;
  LODWORD(NumberOfBytes) = 0;
  RtlGetCompressionWorkSpaceSize(3u, (PULONG)&NumberOfBytes, &v11);
  PoolWithTag = ExAllocatePoolWithTag(PagedPool, (unsigned int)NumberOfBytes, 0x5A777445ui64);
  *(_QWORD *)(a1 + 32) = PoolWithTag;
  if( PoolWithTag
    && (*(_DWORD *)(a1 + 16) = v5,
        *(_DWORD *)(a1 + 48) = 2 * v5,
        v8 = ExAllocatePoolWithTag(PagedPool, (unsigned int)(2 * v5), 0x5A777445ui64),
        (*(_QWORD *)(a1 + 40) = v8) != 0i64) )
  {
    memset((INT64)v8, 0i64);
    *(_QWORD *)a1 = a3;
  }
  else
  {
    return(unsigned int)-1073741801;
  }
  return v3;
}

Referenced by:

EtwpSavePersistedLogger