CmpWriteOffsetArrayToFile

INT64 __stdcall CmpWriteOffsetArrayToFile(
        UINT64 ArrayCount,
        CMP_OFFSET_ARRAY *OffsetArray,
        UINT64 FileLength,
        PVOID FileHandle){
  unsigned int v5; 
  INT64 result; 
  CMP_OFFSET_ARRAY *v7; 
  UINT64 v8; 
  struct _IO_STATUS_BLOCK IoStatusBlock; 
  int v10; 
  int v11; 
  HANDLE FileHandlea; 
  v11 = 0;
  v5 = (unsigned int)OffsetArray;
  v10 = (int)FileHandle;
  IoStatusBlock = 0i64;
  LODWORD(result) = ZwSetInformationFile(FileHandlea, &IoStatusBlock, &v10, 8ui64, FileEndOfFileInformation);
  if( (int)result >= 0 )
  {
    LODWORD(v8) = 0;
    LOBYTE(result) = CmpDoFileWrite(FileHandlea, v7, FileLength, (UINT64 *)v5, v8);
    if( (int)result >= 0 )
      LODWORD(result) = ZwFlushBuffersFile(FileHandlea, &IoStatusBlock);
  }
  return result;
}

Referenced by:

CmDumpKey
CmpFlushBackupHive