diff
+ if (nXDst >= UINT32_MAX / dstBytesPerPixel || nYDst >= UINT32_MAX / nDstStep)
+     return FALSE; // or handle error appropriately
  const BYTE* pDstStart = &pDstData[nXDst * dstBytesPerPixel + nYDst * nDstStep];
