Files
discord-decomp/_bundle/Module4815.js
T
2026-11-01 12:12:55 +02:00

99 lines
2.7 KiB
JavaScript

// Metro module 4815 (f4816).
import { getStringFromDataView } from "./Module4802";
import Module4805 from "./Module4805";
export default {
isWebpFile: function isWebpFile(a0) {
return !!a0 && getStringFromDataView(a0, 0, 4) === "RIFF" && getStringFromDataView(a0, 8, 4) === "WEBP";
},
findOffsets: function findOffsets(a0) {
let r32, r33, r58, r59, r75, byteLength;
const r7 = 20 < a0.byteLength;
let r8 = false;
let r27 = 12;
let r21 = void 0;
let r20 = void 0;
let r19 = void 0;
let r18 = void 0;
let hasAppMarkers = false;
let vp8xChunkOffset = void 0;
let iccChunks = void 0;
let xmpChunks = void 0;
let tiffHeaderOffset = void 0;
if (r7) {
do {
const stringFromDataView = getStringFromDataView(a0, r27, 4);
const uint32 = a0.getUint32(r27 + 4, true);
let r50 = r8;
const r51 = r27;
const r37 = r21;
const r36 = r20;
const r35 = r19;
const r39 = r18;
if (Module4805.USE_EXIF && stringFromDataView === "EXIF") {
const r68 = r51 + 8;
r59 = getStringFromDataView(a0, r68, 6) === "Exif\x00\x00" ? r68 + 6 : r68;
r50 = true;
r33 = r37;
r32 = r36;
r58 = r35;
} else if (Module4805.USE_XMP && stringFromDataView === "XMP ") {
const r64 = [{
dataOffset: r51 + 8,
length: uint32
}];
r50 = true;
r33 = r37;
r32 = r36;
r58 = r64;
r59 = r39;
} else if (Module4805.USE_ICC && stringFromDataView === "ICCP") {
const r61 = [{
offset: r51 + 8,
length: uint32,
chunkNumber: 1,
chunksTotal: 1
}];
r50 = true;
r33 = r37;
r32 = r61;
r58 = r35;
r59 = r39;
} else {
r33 = r37;
r32 = r36;
r58 = r35;
r59 = r39;
if (stringFromDataView === "VP8X") {
r33 = r51 + 8;
r50 = true;
r32 = r36;
r58 = r35;
r59 = r39;
}
}
const r73 = r51 + (8 + (uint32 % 2 !== 0 ? uint32 + 1 : uint32));
byteLength = a0.byteLength;
r75 = r73 + 8;
r8 = r50;
r27 = r73;
r21 = r33;
r20 = r32;
r19 = r58;
r18 = r59;
hasAppMarkers = r8;
vp8xChunkOffset = r21;
iccChunks = r20;
xmpChunks = r19;
tiffHeaderOffset = r18;
} while (r75 < byteLength);
}
return {
hasAppMarkers,
tiffHeaderOffset,
xmpChunks,
iccChunks,
vp8xChunkOffset
};
}
};