Attach (recommended) or Link to PDF file here: [RenderIssue.pdf](https://github.com/mozilla/pdf.js/files/7583657/RenderIssue.pdf)

Configuration:
- Web browser and its version: Chrome Version 96.0.4664.45 (Official Build) (64-bit)
- Operating system and its version: Windows 10 Version 10.0.19042

- PDF.js version: v2.12.201 (If this looks incorrect, please take it from the URL)
- Is a browser extension: No, using https://mozilla.github.io/pdf.js/web/viewer.html

Steps to reproduce the problem:
1. Visit https://mozilla.github.io/pdf.js/web/viewer.html
2. Drop the attached PDF on to the page - [RenderIssue.pdf](https://github.com/mozilla/pdf.js/files/7583657/RenderIssue.pdf)

What is the expected behavior? It should appear as in Adobe Reader - 
![image](https://user-images.githubusercontent.com/94864394/142921185-1ee7034b-1db9-4b6d-ae08-4a9cb4426d70.png)

What went wrong? Some text is blank - 
![image](https://user-images.githubusercontent.com/94864394/142921086-a5ad3ad7-caac-40d8-92d3-684d59aee1f5.png)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension): N/A

const length = bytes.length;
  for (let i = 3; i < length; i += 4) {
    const alpha = bytes[i];
    if (alpha === 0) {
      bytes[i - 3] = r0;
      bytes[i - 2] = g0;
      bytes[i - 1] = b0;
    } else if (alpha < 255) {
      const alpha_ = 255 - alpha;
      bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;
      bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;
      bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;
    }
  }
}
function composeSMaskAlpha(maskData, layerData, transferMap) {
  const length = maskData.length;
  const scale = 1 / 255;
  for (let i = 3; i < length; i += 4) {
    const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
    layerData[i] = (layerData[i] * alpha * scale) | 0;
  }
}
function composeSMaskLuminosity(maskData, layerData, transferMap) {