public static void method526(String s, Stream stream) { if (s.Length > 80) { s = s.Substring(0, 80); } s = s.ToLower(); int i = -1; for (int j = 0; j < s.Length; j++) { char c = s[j]; int k = 0; for (int l = 0; l < validChars.Length; l++) { if (c != validChars[l]) { continue; } k = l; break; } if (k > 12) { k += 195; } if (i == -1) { if (k < 13) { i = k; } else { stream.writeWordBigEndian(k); } } else if (k < 13) { stream.writeWordBigEndian((i << 4) + k); i = -1; } else { stream.writeWordBigEndian((i << 4) + (k >> 4)); i = k & 0xf; } } if (i != -1) { stream.writeWordBigEndian(i << 4); } }