Files
discord-decomp/sources/by-id/module-01319-utf8read.js
2026-07-28 01:06:53 +03:00

209 lines
9.9 KiB
JavaScript

/* Metro module 1319; source: unknown; dependencies: [] */
function _fun15076(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#15076, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1446:6, offset: 0x00e224af, size: 67 bytes, params: 8, frame: 16
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
exports.utf8read = undefined;
const fromCharCodes = function(a0) {
return global.String.fromCharCode.apply(global.String, a0);
};
exports.utf8read = utf8read;
function utf8read(a0) { // fn#15078, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1446:198, offset: 0x00e22516, size: 511 bytes, params: 2, frame: 45
var r0;
var r2;
var r28;
var r6;
var value3;
var value4;
var property;
var value5;
var value6;
var value7;
var value8;
var value9;
var value10;
var value11;
var value12;
var value13;
var value14;
var value15;
var value16;
var value17;
var value18;
var value19;
var value20;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var value35;
var value36;
var value37;
var value38;
var value39;
var push;
var fromCharCodesBinding;
var slice;
let length = a0.length;
if (length < 1) {
return '';
}
const items3 = [];
const items2 = [];
length = a0.length;
let value = 0;
if (value < length) {
r0 = value;
r2 = value;
reducibleLoop2: while (true) {
value3 = typeof r2 === 'bigint' ? r2 : +r2;
value4 = typeof value3 === 'bigint' ? value3 + 1n : +value3 + 1;
property = a0[value3];
if (property < 128) {
value38 = typeof r0 === 'bigint' ? r0 : +r0;
value39 = typeof value38 === 'bigint' ? value38 + 1n : +value38 + 1;
items2[value38] = property;
r2 = value4;
r28 = value39;
} else {
reducibleJoin11: while (true) {
reducibleJoin7: while (true) {
if (property > 191) {
if (property < 224) {
value32 = typeof r0 === 'bigint' ? r0 : +r0;
value33 = typeof value32 === 'bigint' ? value32 + 1n : +value32 + 1;
value34 = 31 & property;
value35 = typeof value4 === 'bigint' ? value4 : +value4;
value36 = typeof value35 === 'bigint' ? value35 + 1n : +value35 + 1;
value37 = 63 & a0[value35];
items2[value32] = value34 << 6 | value37;
r2 = value36;
r28 = value33;
break reducibleJoin11;
}
if (property > 239) {
if (property < 365) {
value15 = 7 & property;
value16 = typeof value4 === 'bigint' ? value4 : +value4;
value17 = 63 & a0[value16];
value18 = typeof value16 === 'bigint' ? value16 + 1n : +value16 + 1;
value19 = typeof value18 === 'bigint' ? value18 : +value18;
value20 = 63 & a0[value19];
value21 = typeof value19 === 'bigint' ? value19 + 1n : +value19 + 1;
value22 = typeof value21 === 'bigint' ? value21 : +value21;
value23 = typeof value22 === 'bigint' ? value22 + 1n : +value22 + 1;
value24 = 63 & a0[value22];
value25 = value15 << 18;
value26 = value25 | value17 << 12;
value27 = (value26 | value20 << 6 | value24) - 65536;
value28 = typeof r0 === 'bigint' ? r0 : +r0;
items2[value28] = 55296 + (value27 >> 10);
value29 = typeof value28 === 'bigint' ? value28 + 1n : +value28 + 1;
value30 = typeof value29 === 'bigint' ? value29 : +value29;
value31 = typeof value30 === 'bigint' ? value30 + 1n : +value30 + 1;
items2[value30] = 56320 + (1023 & value27);
r2 = value23;
r28 = value31;
break reducibleJoin11;
}
break reducibleJoin7;
}
break reducibleJoin7;
}
if (property > 239) {
if (property < 365) {
value15 = 7 & property;
value16 = typeof value4 === 'bigint' ? value4 : +value4;
value17 = 63 & a0[value16];
value18 = typeof value16 === 'bigint' ? value16 + 1n : +value16 + 1;
value19 = typeof value18 === 'bigint' ? value18 : +value18;
value20 = 63 & a0[value19];
value21 = typeof value19 === 'bigint' ? value19 + 1n : +value19 + 1;
value22 = typeof value21 === 'bigint' ? value21 : +value21;
value23 = typeof value22 === 'bigint' ? value22 + 1n : +value22 + 1;
value24 = 63 & a0[value22];
value25 = value15 << 18;
value26 = value25 | value17 << 12;
value27 = (value26 | value20 << 6 | value24) - 65536;
value28 = typeof r0 === 'bigint' ? r0 : +r0;
items2[value28] = 55296 + (value27 >> 10);
value29 = typeof value28 === 'bigint' ? value28 + 1n : +value28 + 1;
value30 = typeof value29 === 'bigint' ? value29 : +value29;
value31 = typeof value30 === 'bigint' ? value30 + 1n : +value30 + 1;
items2[value30] = 56320 + (1023 & value27);
r2 = value23;
r28 = value31;
break reducibleJoin11;
}
break reducibleJoin7;
}
break reducibleJoin7;
}
value5 = typeof r0 === 'bigint' ? r0 : +r0;
value6 = typeof value5 === 'bigint' ? value5 + 1n : +value5 + 1;
value7 = 15 & property;
value8 = typeof value4 === 'bigint' ? value4 : +value4;
value9 = 63 & a0[value8];
value10 = typeof value8 === 'bigint' ? value8 + 1n : +value8 + 1;
value11 = typeof value10 === 'bigint' ? value10 : +value10;
value12 = typeof value11 === 'bigint' ? value11 + 1n : +value11 + 1;
value13 = 63 & a0[value11];
value14 = value7 << 12;
items2[value5] = value14 | value9 << 6 | value13;
r2 = value12;
r28 = value6;
break reducibleJoin11;
}
}
reducibleJoin13: while (true) {
if (r28 > 8191) {
push = items3.push;
Reflect.apply(push, items3, [fromCharCodes(items2)]);
r28 = value;
break reducibleJoin13;
}
break reducibleJoin13;
}
if (r2 < length) {
r0 = r28;
continue reducibleLoop2;
}
r6 = r28;
break reducibleLoop2;
}
} else {
r6 = value;
}
if (items3.length) {
reducibleJoin18: while (true) {
if (r6) {
push = items3.push;
fromCharCodesBinding = fromCharCodes;
slice = items2.slice;
Reflect.apply(push, items3, [fromCharCodesBinding(Reflect.apply(slice, items2, [value, r6]))]);
break reducibleJoin18;
}
break reducibleJoin18;
}
value = items3.join('');
r0 = value;
} else {
value = fromCharCodes(items2.slice(value, r6));
r0 = value;
}
return r0;
}
}
global.__d(_fun15076, 1319, []) /* metro module 1319 */;