update_keys
#define zencode(c,t) (t=decrypt_byte(__G), update_keys(c), t^(c))
#define zdecode(c) update_keys(__G__ c ^= decrypt_byte(__G))
int update_keys OF((__GPRO__ int c));
(encrypted? update_keys(__G__ getc(G.in)^decrypt_byte(__G)) : getc(G.in))