224 {
226 {
227 bytesWritten = 0;
229 }
231 {
233 uint num = 0u;
234 uint num2 = 0u;
236 {
238 {
239 goto IL_0189;
240 }
243 {
244 int num3 =
Decode(ptr + num, ref reference);
245 if (num3 >= 0)
246 {
248 num2 += 3;
249 num += 4;
250 continue;
251 }
252 goto IL_018f;
253 }
254 uint num4 = ptr[
length - 4];
255 uint num5 = ptr[
length - 3];
256 uint num6 = ptr[
length - 2];
257 uint num7 = ptr[
length - 1];
260 num8 <<= 18;
261 num9 <<= 12;
262 num8 |= num9;
263 if (num7 != 61)
264 {
267 num10 <<= 6;
268 num8 |= num11;
269 num8 |= num10;
270 if (num8 >= 0)
271 {
273 num2 += 3;
274 goto IL_0189;
275 }
276 }
277 else if (num6 != 61)
278 {
280 num12 <<= 6;
281 num8 |= num12;
282 if (num8 >= 0)
283 {
284 ptr[num2] = (byte)(num8 >> 16);
285 ptr[num2 + 1] = (byte)(num8 >> 8);
286 num2 += 2;
287 goto IL_0189;
288 }
289 }
290 else if (num8 >= 0)
291 {
292 ptr[num2] = (byte)(num8 >> 16);
293 num2++;
294 goto IL_0189;
295 }
296 }
297 goto IL_018f;
298 IL_018f:
299 bytesWritten = (int)num2;
301 IL_0189:
302 bytesWritten = (int)num2;
304 }
305 }
static unsafe int Decode(byte *encodedBytes, ref sbyte decodingMap)
static ReadOnlySpan< sbyte > DecodingMap
static unsafe void WriteThreeLowOrderBytes(byte *destination, int value)