// Token: 0x060012BE RID: 4798 RVA: 0x0006D6F8 File Offset: 0x0006B8F8
 private void WriteLzxPatch(Stream stream, DataPatching patchGenerator, byte[] oldBuffer, int oldSize, byte[] newBuffer, int newSize)
 {
     if (oldBuffer.Length != oldSize)
     {
         oldBuffer = DiffFileGenerator.GetArraySegment(oldBuffer, 0, oldSize);
     }
     if (newBuffer.Length != newSize)
     {
         newBuffer = DiffFileGenerator.GetArraySegment(newBuffer, 0, newSize);
     }
     byte[] array;
     if (patchGenerator.TryGenerate(oldBuffer, newBuffer, out array))
     {
         uint crc = OABCRC.ComputeCRC(OABCRC.DefaultSeed, newBuffer);
         this.WritePatchBlock(stream, oldBuffer.Length, newBuffer.Length, array, array.Length, crc);
         return;
     }
     byte[][] array2 = DiffFileGenerator.SplitByteArray(oldBuffer);
     byte[][] array3 = DiffFileGenerator.SplitByteArray(newBuffer);
     for (int i = 0; i < 2; i++)
     {
         if (patchGenerator.TryGenerate(array2[i], array3[i], out array))
         {
             uint crc2 = OABCRC.ComputeCRC(OABCRC.DefaultSeed, array3[i]);
             this.WritePatchBlock(stream, array2[i].Length, array3[i].Length, array, array.Length, crc2);
         }
     }
 }