328 {
329 byte[] polynomial = ecParameters.Curve.Polynomial;
330 int num = polynomial.Length - 1;
331 if (polynomial[0] == 0 || (polynomial[num] & 1) != 1)
332 {
334 }
335 for (int num2 = 7; num2 >= 0; num2--)
336 {
337 int num3 = 1 << num2;
338 if ((polynomial[0] & num3) == num3)
339 {
340 m = checked(8 * num + num2);
341 }
342 }
343 for (
int i = 0;
i < polynomial.Length;
i++)
344 {
346 byte b = polynomial[num4];
347 for (int j = 0; j < 8; j++)
348 {
349 int num5 = 1 << j;
350 if ((b & num5) != num5)
351 {
352 continue;
353 }
354 int num6 = 8 *
i + j;
355 if (num6 == 0)
356 {
357 continue;
358 }
359 if (num6 == m)
360 {
361 break;
362 }
363 if (k1 < 0)
364 {
365 k1 = num6;
366 continue;
367 }
368 if (k2 < 0)
369 {
370 k2 = num6;
371 continue;
372 }
373 if (k3 < 0)
374 {
375 k3 = num6;
376 continue;
377 }
379 }
380 }
381 if (k3 <= 0)
382 {
383 if (k2 > 0)
384 {
386 }
387 if (k1 <= 0)
388 {
390 }
391 }
392 }
static string Cryptography_InvalidECCharacteristic2Curve