1 static unsigned short foo(unsigned char * x,int y)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 11 int baz (int, unsigned short); 12 13 void bar(unsigned char * x,unsigned char * y)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