void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
	{
        register RC4_INT tmp;
        register int id1,id2;
        register RC4_INT *d;
        unsigned int i;
        d= &(key->data[0]);
        key->x = 0;
        key->y = 0;
        id1=id2=0;
#define SK_LOOP(d,n) { \
		tmp=d[(n)]; \
		id2 = (data[id1] + tmp + id2) & 0xff; \
		if (++id1 == len) id1=0; \
		d[(n)]=d[id2]; \
		d[id2]=tmp; }
	for (i=0; i < 256; i++) d[i]=i;
	for (i=0; i < 256; i+=4)
		{
		SK_LOOP(d,i+0);
		SK_LOOP(d,i+1);
		SK_LOOP(d,i+2);
		SK_LOOP(d,i+3);
		}
	}
['void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)\n\t{\n        register RC4_INT tmp;\n        register int id1,id2;\n        register RC4_INT *d;\n        unsigned int i;\n        d= &(key->data[0]);\n        key->x = 0;\n        key->y = 0;\n        id1=id2=0;\n#define SK_LOOP(d,n) { \\\n\t\ttmp=d[(n)]; \\\n\t\tid2 = (data[id1] + tmp + id2) & 0xff; \\\n\t\tif (++id1 == len) id1=0; \\\n\t\td[(n)]=d[id2]; \\\n\t\td[id2]=tmp; }\n\tfor (i=0; i < 256; i++) d[i]=i;\n\tfor (i=0; i < 256; i+=4)\n\t\t{\n\t\tSK_LOOP(d,i+0);\n\t\tSK_LOOP(d,i+1);\n\t\tSK_LOOP(d,i+2);\n\t\tSK_LOOP(d,i+3);\n\t\t}\n\t}']