rendered paste bodyint uncompressFile(unsigned char** pptr, int size){ unsigned char var1; int var2; int var3; int var4; int offset; unsigned char* endPtr; unsigned char* unpackPtr; unsigned char* ptr = *pptr; endPtr = ptr+size-1; var1= *(endPtr--); var2= *(endPtr--); var3= *(endPtr--); var4= *(endPtr--); offset = var2 | (var3<<8) | (var4<<16); if(ptr>=endPtr) return(offset); *pptr = ptr = (unsigned char*)realloc(ptr,offset); unpackPtr = ptr + offset; endPtr = ptr+size-5; do { unsigned char v0; v0 = *(endPtr); if(v0 == var1) // equal compression key ? { unsigned char t1; t1 = *(--endPtr); if(!t1) // magic, but no compression (directly write magic) { if(unpackPtr-1 >= ptr) *(--unpackPtr) = v0; } else // compressed { int size; size = *(--endPtr) + 3; if(size>0) { int i=0; do { unsigned char v1; unsigned char* v0; --unpackPtr; i++; v0 = unpackPtr + t1; // read already unpacked data v1 = *(v0); if(unpackPtr >= ptr) *(unpackPtr) = v1; }while(i<size); } } } else { if(unpackPtr-1 >= ptr) *(--unpackPtr) = v0; } }while(ptr<endPtr--); return(offset);}