code: function seekToApp1(offset, promise) {
          var theOffset = offset,
              thePromise = promise;
          if (theOffset === undefined) {
              theOffset = 2;
              thePromise = new qq.Promise();
          }
  
          qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {
              var match = /^ffe([0-9])/.exec(hex),
                  segmentLength;
  
              if (match) {
                  if (match[1] !== "1") {
                      segmentLength = parseInt(hex.slice(4, 8), 16);
                      seekToApp1(theOffset + segmentLength + 2, thePromise);
                  }
                  else {
                      thePromise.success(theOffset);
                  }
              }
              else {
                  thePromise.failure("No EXIF header to be found!");
              }
          });
  
          return thePromise;
      }
docs: Find the byte offset, of Application Segment 1 (EXIF). External callers need not supply any arguments.