Attach (recommended) or Link to PDF file here: https://d15k2d11r6t6rl.cloudfront.net/public/users/Integrators/a0a42ab5-3cb9-4912-84b7-3c6e47330d5c/smart-pr-805/Consumentenfolder_A5_zonder_paskruizen%20_2.pdf (and the similar other files under "Informatiefolder" on https://news.pressmailings.com/hvdm/partnertoolkit)

Configuration:
- Web browser and its version: Firefox 84.0 (64 bits)
- Operating system and its version: Arch Linux
- PDF.js version: 2.7.262 (built-in) and 2.7.434 (development version at time of writing)
- Is a browser extension: no

Steps to reproduce the problem:
1. Open the linked PDF file linked above.
2. Notice that the first page is rendered completely broken. There are no warnings/errors in the console unfortunately, and it's not related to layers since the document does not contain any.

What is the expected behavior? (add screenshot)
![good](https://user-images.githubusercontent.com/1993262/103363234-e158d580-4aba-11eb-9eb7-fe0db9f0a193.png)

What went wrong? (add screenshot)
![broken](https://user-images.githubusercontent.com/1993262/103363239-e4ec5c80-4aba-11eb-9f7d-3edac62ece3c.png)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension): -
maskCtx,
  layerCtx,
  width,
  height,
  subtype,
  backdrop,
  transferMap
) {
  const hasBackdrop = !!backdrop;
  const r0 = hasBackdrop ? backdrop[0] : 0;
  const g0 = hasBackdrop ? backdrop[1] : 0;
  const b0 = hasBackdrop ? backdrop[2] : 0;
  let composeFn;
  if (subtype === "Luminosity") {
    composeFn = composeSMaskLuminosity;
  } else {
    composeFn = composeSMaskAlpha;
  }
  
  const PIXELS_TO_PROCESS = 1048576;
  const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
  for (let row = 0; row < height; row += chunkSize) {
    const chunkHeight = Math.min(chunkSize, height - row);
    const maskData = maskCtx.getImageData(0, row, width, chunkHeight);
    const layerData = layerCtx.getImageData(0, row, width, chunkHeight);