IopLiveDumpWriteBuffer

NTSTATUS __stdcall IopLiveDumpWriteBuffer(VOID *FileHandle, VOID *Buffer, _CONTEXT *Length, _LARGE_INTEGER *ByteOffset){
  __int64 v5; 
  _HANDLE v7; 
  bool v8; 
  NTSTATUS result; 
  int Status; 
  UINT64 v11; 
  _IO_STATUS_BLOCK IoStatusBlock; 
  __int64 v13; 
  char v14; 

  v11 = 0i64;
  v5 = (unsigned int)Length;
  v7 = (int)FileHandle;
  v8 = *(_BYTE *)(v13 + 880) == 0;
  IoStatusBlock = 0i64;
  if( v8
    || v14
    || (result = SecureDump_Encrypt_DmpData(
                   (INT64)Buffer,
                   (unsigned int)Length,
                   (INT64)Buffer,
                   (unsigned int)Length,
                   &v11),
        result >= 0) )
  {
    Status = ZwWriteFile(v7, 0, 0i64, 0i64, &IoStatusBlock, Buffer, v5, ByteOffset, 0i64);
    if( Status >= 0 )
    {
      Status = IoStatusBlock.Status;
      if( IoStatusBlock.Status >= 0 )
        ByteOffset->QuadPart += v5;
    }
    return Status;
  }
  return result;
}

Referenced by:

IopLiveDumpWriteDumpFile
IopLiveDumpWriteDumpFileWithExtraPages
IopLiveDumpWriteSecondaryData