1static unsigned short
2foo (unsigned char *x, int y)
3{
4  unsigned short r = 0;
5  int i;
6  for (i = 0; i < y; i++)
7    r += x[i];
8  return r;
9}
10
11int baz (int, unsigned short);
12
13void
14bar (unsigned char *x, unsigned char *y)
15{
16  int i;
17  unsigned short key = foo (x, 0x10000);
18  baz (0, 0);
19  for (i = 0; i < 0x80000; i++)
20    y[i] = x[baz (i, key)];
21}
22