internal static bool SeekBackwardsToSignature(Stream stream, uint signatureToFind) { int bufferPointer = 0; uint num = 0; byte[] buffer = new byte[32]; bool flag1 = false; bool flag2 = false; label_6: while (!flag2 && !flag1) { flag1 = ZipHelper.SeekBackwardsAndRead(stream, buffer, out bufferPointer); while (true) { if (bufferPointer >= 0 && !flag2) { num = num << 8 | (uint)buffer[bufferPointer]; if ((int)num != (int)signatureToFind) { --bufferPointer; } else { flag2 = true; } } else { goto label_6; } } } if (!flag2) { return(false); } stream.Seek((long)bufferPointer, SeekOrigin.Current); return(true); }