static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom)

{

    int64_t total_size = 0;

    MOVAtom a;

    int i;



    if (atom.size < 0)

        atom.size = INT64_MAX;

    while (total_size + 8 <= atom.size && !avio_feof(pb)) {

        int (*parse)(MOVContext*, AVIOContext*, MOVAtom) = NULL;

        a.size = atom.size;

        a.type=0;

        if (atom.size >= 8) {

            a.size = avio_rb32(pb);

            a.type = avio_rl32(pb);

            if (a.type == MKTAG('f','r','e','e') &&

                a.size >= 8 &&

                c->moov_retry) {

                uint8_t buf[8];

                uint32_t *type = (uint32_t *)buf + 1;

                avio_read(pb, buf, 8);

                avio_seek(pb, -8, SEEK_CUR);

                if (*type == MKTAG('m','v','h','d') ||

                    *type == MKTAG('c','m','o','v')) {

                    av_log(c->fc, AV_LOG_ERROR, "Detected moov in a free atom.\n");

                    a.type = MKTAG('m','o','o','v');

                }

            }

            if (atom.type != MKTAG('r','o','o','t') &&

                atom.type != MKTAG('m','o','o','v'))

            {

                if (a.type == MKTAG('t','r','a','k') || a.type == MKTAG('m','d','a','t'))

                {

                    av_log(c->fc, AV_LOG_ERROR, "Broken file, trak/mdat not at top-level\n");

                    avio_skip(pb, -8);

                    return 0;

                }

            }

            total_size += 8;

            if (a.size == 1) { /* 64 bit extended size */

                a.size = avio_rb64(pb) - 8;

                total_size += 8;

            }

        }

        av_dlog(c->fc, "type: %08x '%.4s' parent:'%.4s' sz: %"PRId64" %"PRId64" %"PRId64"\n",

                a.type, (char*)&a.type, (char*)&atom.type, a.size, total_size, atom.size);

        if (a.size == 0) {

            a.size = atom.size - total_size + 8;

        }

        a.size -= 8;

        if (a.size < 0)

            break;

        a.size = FFMIN(a.size, atom.size - total_size);



        for (i = 0; mov_default_parse_table[i].type; i++)

            if (mov_default_parse_table[i].type == a.type) {

                parse = mov_default_parse_table[i].parse;

                break;

            }



        // container is user data

        if (!parse && (atom.type == MKTAG('u','d','t','a') ||

                       atom.type == MKTAG('i','l','s','t')))

            parse = mov_read_udta_string;



        if (!parse) { /* skip leaf atoms data */

            avio_skip(pb, a.size);

        } else {

            int64_t start_pos = avio_tell(pb);

            int64_t left;

            int err = parse(c, pb, a);

            if (err < 0)

                return err;

            if (c->found_moov && c->found_mdat &&

                ((!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX) ||

                 start_pos + a.size == avio_size(pb))) {

                if (!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX)

                    c->next_root_atom = start_pos + a.size;

                return 0;

            }

            left = a.size - avio_tell(pb) + start_pos;

            if (left > 0) /* skip garbage at atom end */

                avio_skip(pb, left);

            else if (left < 0) {

                av_log(c->fc, AV_LOG_WARNING,

                       "overread end of atom '%.4s' by %"PRId64" bytes\n",

                       (char*)&a.type, -left);

                avio_seek(pb, left, SEEK_CUR);

            }

        }



        total_size += a.size;

    }



    if (total_size < atom.size && atom.size < 0x7ffff)

        avio_skip(pb, atom.size - total_size);



    return 0;

}

static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom)

{

    int64_t total_size = 0;

    MOVAtom a;

    int i;



    if (atom.size < 0)

        atom.size = INT64_MAX;

    while (total_size + 8 <= atom.size && !avio_feof(pb)) {

        int (*parse)(MOVContext*, AVIOContext*, MOVAtom) = NULL;

        a.size = atom.size;

        a.type=0;

        if (atom.size >= 8) {

            a.size = avio_rb32(pb);

            a.type = avio_rl32(pb);

            if (a.type == MKTAG('f','r','e','e') &&

                a.size >= 8 &&

                c->moov_retry) {

                uint8_t buf[8];

                uint32_t *type = (uint32_t *)buf + 1;

                avio_read(pb, buf, 8);

                avio_seek(pb, -8, SEEK_CUR);

                if (*type == MKTAG('m','v','h','d') ||

                    *type == MKTAG('c','m','o','v')) {

                    av_log(c->fc, AV_LOG_ERROR, "Detected moov in a free atom.\n");

                    a.type = MKTAG('m','o','o','v');

                }

            }

            if (atom.type != MKTAG('r','o','o','t') &&

                atom.type != MKTAG('m','o','o','v'))

            {

                if (a.type == MKTAG('t','r','a','k') || a.type == MKTAG('m','d','a','t'))

                {

                    av_log(c->fc, AV_LOG_ERROR, "Broken file, trak/mdat not at top-level\n");

                    avio_skip(pb, -8);

                    return 0;

                }

            }

            total_size += 8;

            if (a.size == 1) { 

                a.size = avio_rb64(pb) - 8;

                total_size += 8;

            }

        }

        av_dlog(c->fc, "type: %08x '%.4s' parent:'%.4s' sz: %"PRId64" %"PRId64" %"PRId64"\n",

                a.type, (char*)&a.type, (char*)&atom.type, a.size, total_size, atom.size);

        if (a.size == 0) {

            a.size = atom.size - total_size + 8;

        }

        a.size -= 8;

        if (a.size < 0)

            break;

        a.size = FFMIN(a.size, atom.size - total_size);



        for (i = 0; mov_default_parse_table[i].type; i++)

            if (mov_default_parse_table[i].type == a.type) {

                parse = mov_default_parse_table[i].parse;

                break;

            }



        

        if (!parse && (atom.type == MKTAG('u','d','t','a') ||

                       atom.type == MKTAG('i','l','s','t')))

            parse = mov_read_udta_string;



        if (!parse) { 

            avio_skip(pb, a.size);

        } else {

            int64_t start_pos = avio_tell(pb);

            int64_t left;

            int err = parse(c, pb, a);

            if (err < 0)

                return err;

            if (c->found_moov && c->found_mdat &&

                ((!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX) ||

                 start_pos + a.size == avio_size(pb))) {

                if (!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX)

                    c->next_root_atom = start_pos + a.size;

                return 0;

            }

            left = a.size - avio_tell(pb) + start_pos;

            if (left > 0) 

                avio_skip(pb, left);

            else if (left < 0) {

                av_log(c->fc, AV_LOG_WARNING,

                       "overread end of atom '%.4s' by %"PRId64" bytes\n",

                       (char*)&a.type, -left);

                avio_seek(pb, left, SEEK_CUR);

            }

        }



        total_size += a.size;

    }



    if (total_size < atom.size && atom.size < 0x7ffff)

        avio_skip(pb, atom.size - total_size);



    return 0;

}

            if (err < 0)
VAR_6staticVAR_6 VAR_6intVAR_6 VAR_6mov_read_defaultVAR_6(VAR_6MOVContextVAR_6 *VAR_6VAR_0VAR_6, VAR_6AVIOContextVAR_6 *VAR_6VAR_1VAR_6, VAR_6MOVAtomVAR_6 VAR_6VAR_2VAR_6)

{

    VAR_6int64_tVAR_6 VAR_6total_sizeVAR_6 = VAR_60VAR_6;

    VAR_6MOVAtomVAR_6 VAR_6aVAR_6;

    VAR_6intVAR_6 VAR_6VAR_3VAR_6;



    VAR_6ifVAR_6 (VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 < VAR_60VAR_6)

        VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 = VAR_6INT64_MAXVAR_6;

    VAR_6whileVAR_6 (VAR_6total_sizeVAR_6 + VAR_68VAR_6 <= VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 && !VAR_6avio_feofVAR_6(VAR_6VAR_1VAR_6)) {

        VAR_6intVAR_6 (*VAR_6VAR_4VAR_6)(VAR_6MOVContextVAR_6*, VAR_6AVIOContextVAR_6*, VAR_6MOVAtomVAR_6) = VAR_6NULLVAR_6;

        VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6VAR_2VAR_6.VAR_6sizeVAR_6;

        VAR_6aVAR_6.VAR_6typeVAR_6=VAR_60VAR_6;

        VAR_6ifVAR_6 (VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 >= VAR_68VAR_6) {

            VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6avio_rb32VAR_6(VAR_6VAR_1VAR_6);

            VAR_6aVAR_6.VAR_6typeVAR_6 = VAR_6avio_rl32VAR_6(VAR_6VAR_1VAR_6);

            VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6fVAR_6','VAR_6rVAR_6','VAR_6eVAR_6','VAR_6eVAR_6') &&

                VAR_6aVAR_6.VAR_6sizeVAR_6 >= VAR_68VAR_6 &&

                VAR_6VAR_0VAR_6->VAR_6moov_retryVAR_6) {

                VAR_6uint8_tVAR_6 VAR_6bufVAR_6[VAR_68VAR_6];

                VAR_6uint32_tVAR_6 *VAR_6typeVAR_6 = (VAR_6uint32_tVAR_6 *)VAR_6bufVAR_6 + VAR_61VAR_6;

                VAR_6avio_readVAR_6(VAR_6VAR_1VAR_6, VAR_6bufVAR_6, VAR_68VAR_6);

                VAR_6avio_seekVAR_6(VAR_6VAR_1VAR_6, -VAR_68VAR_6, VAR_6SEEK_CURVAR_6);

                VAR_6ifVAR_6 (*VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6vVAR_6','VAR_6hVAR_6','VAR_6dVAR_6') ||

                    *VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6VAR_0VAR_6','VAR_6mVAR_6','VAR_6oVAR_6','VAR_6vVAR_6')) {

                    VAR_6av_logVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, VAR_6AV_LOG_ERRORVAR_6, "VAR_6DetectedVAR_6 VAR_6moovVAR_6 VAR_6inVAR_6 VAR_6aVAR_6 VAR_6freeVAR_6 VAR_6VAR_2VAR_6.\VAR_6nVAR_6");

                    VAR_6aVAR_6.VAR_6typeVAR_6 = VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6oVAR_6','VAR_6oVAR_6','VAR_6vVAR_6');

                }

            }

            VAR_6ifVAR_6 (VAR_6VAR_2VAR_6.VAR_6typeVAR_6 != VAR_6MKTAGVAR_6('VAR_6rVAR_6','VAR_6oVAR_6','VAR_6oVAR_6','VAR_6tVAR_6') &&

                VAR_6VAR_2VAR_6.VAR_6typeVAR_6 != VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6oVAR_6','VAR_6oVAR_6','VAR_6vVAR_6'))

            {

                VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6tVAR_6','VAR_6rVAR_6','VAR_6aVAR_6','VAR_6kVAR_6') || VAR_6aVAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6dVAR_6','VAR_6aVAR_6','VAR_6tVAR_6'))

                {

                    VAR_6av_logVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, VAR_6AV_LOG_ERRORVAR_6, "VAR_6BrokenVAR_6 VAR_6fileVAR_6, VAR_6trakVAR_6/VAR_6mdatVAR_6 VAR_6notVAR_6 VAR_6atVAR_6 VAR_6topVAR_6-VAR_6levelVAR_6\VAR_6nVAR_6");

                    VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, -VAR_68VAR_6);

                    VAR_6returnVAR_6 VAR_60VAR_6;

                }

            }

            VAR_6total_sizeVAR_6 += VAR_68VAR_6;

            VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6sizeVAR_6 == VAR_61VAR_6) { 

                VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6avio_rb64VAR_6(VAR_6VAR_1VAR_6) - VAR_68VAR_6;

                VAR_6total_sizeVAR_6 += VAR_68VAR_6;

            }

        }

        VAR_6av_dlogVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, "VAR_6typeVAR_6: %VAR_608xVAR_6 '%.VAR_64sVAR_6' VAR_6parentVAR_6:'%.VAR_64sVAR_6' VAR_6szVAR_6: %"VAR_6PRId64VAR_6" %"VAR_6PRId64VAR_6" %"VAR_6PRId64VAR_6"\VAR_6nVAR_6",

                VAR_6aVAR_6.VAR_6typeVAR_6, (VAR_6charVAR_6*)&VAR_6aVAR_6.VAR_6typeVAR_6, (VAR_6charVAR_6*)&VAR_6VAR_2VAR_6.VAR_6typeVAR_6, VAR_6aVAR_6.VAR_6sizeVAR_6, VAR_6total_sizeVAR_6, VAR_6VAR_2VAR_6.VAR_6sizeVAR_6);

        VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6sizeVAR_6 == VAR_60VAR_6) {

            VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 - VAR_6total_sizeVAR_6 + VAR_68VAR_6;

        }

        VAR_6aVAR_6.VAR_6sizeVAR_6 -= VAR_68VAR_6;

        VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6sizeVAR_6 < VAR_60VAR_6)

            VAR_6breakVAR_6;

        VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6FFMINVAR_6(VAR_6aVAR_6.VAR_6sizeVAR_6, VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 - VAR_6total_sizeVAR_6);



        VAR_6forVAR_6 (VAR_6VAR_3VAR_6 = VAR_60VAR_6; VAR_6mov_default_parse_tableVAR_6[VAR_6VAR_3VAR_6].VAR_6typeVAR_6; VAR_6VAR_3VAR_6++)

            VAR_6ifVAR_6 (VAR_6mov_default_parse_tableVAR_6[VAR_6VAR_3VAR_6].VAR_6typeVAR_6 == VAR_6aVAR_6.VAR_6typeVAR_6) {

                VAR_6VAR_4VAR_6 = VAR_6mov_default_parse_tableVAR_6[VAR_6VAR_3VAR_6].VAR_6VAR_4VAR_6;

                VAR_6breakVAR_6;

            }



        

        VAR_6ifVAR_6 (!VAR_6VAR_4VAR_6 && (VAR_6VAR_2VAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6uVAR_6','VAR_6dVAR_6','VAR_6tVAR_6','VAR_6aVAR_6') ||

                       VAR_6VAR_2VAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6VAR_3VAR_6','VAR_6lVAR_6','VAR_6sVAR_6','VAR_6tVAR_6')))

            VAR_6VAR_4VAR_6 = VAR_6mov_read_udta_stringVAR_6;



        VAR_6ifVAR_6 (!VAR_6VAR_4VAR_6) { 

            VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, VAR_6aVAR_6.VAR_6sizeVAR_6);

        } VAR_6elseVAR_6 {

            VAR_6int64_tVAR_6 VAR_6start_posVAR_6 = VAR_6avio_tellVAR_6(VAR_6VAR_1VAR_6);

            VAR_6int64_tVAR_6 VAR_6leftVAR_6;

            VAR_6intVAR_6 VAR_6errVAR_6 = VAR_6VAR_4VAR_6(VAR_6VAR_0VAR_6, VAR_6VAR_1VAR_6, VAR_6aVAR_6);

            VAR_6ifVAR_6 (VAR_6errVAR_6 < VAR_60VAR_6)

                VAR_6returnVAR_6 VAR_6errVAR_6;

            VAR_6ifVAR_6 (VAR_6VAR_0VAR_6->VAR_6found_moovVAR_6 && VAR_6VAR_0VAR_6->VAR_6found_mdatVAR_6 &&

                ((!VAR_6VAR_1VAR_6->VAR_6seekableVAR_6 || VAR_6VAR_0VAR_6->VAR_6fcVAR_6->VAR_6flagsVAR_6 & VAR_6AVFMT_FLAG_IGNIDXVAR_6) ||

                 VAR_6start_posVAR_6 + VAR_6aVAR_6.VAR_6sizeVAR_6 == VAR_6avio_sizeVAR_6(VAR_6VAR_1VAR_6))) {

                VAR_6ifVAR_6 (!VAR_6VAR_1VAR_6->VAR_6seekableVAR_6 || VAR_6VAR_0VAR_6->VAR_6fcVAR_6->VAR_6flagsVAR_6 & VAR_6AVFMT_FLAG_IGNIDXVAR_6)

                    VAR_6VAR_0VAR_6->VAR_6next_root_atomVAR_6 = VAR_6start_posVAR_6 + VAR_6aVAR_6.VAR_6sizeVAR_6;

                VAR_6returnVAR_6 VAR_60VAR_6;

            }

            VAR_6leftVAR_6 = VAR_6aVAR_6.VAR_6sizeVAR_6 - VAR_6avio_tellVAR_6(VAR_6VAR_1VAR_6) + VAR_6start_posVAR_6;

            VAR_6ifVAR_6 (VAR_6leftVAR_6 > VAR_60VAR_6) 

                VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, VAR_6leftVAR_6);

            VAR_6elseVAR_6 VAR_6ifVAR_6 (VAR_6leftVAR_6 < VAR_60VAR_6) {

                VAR_6av_logVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, VAR_6AV_LOG_WARNINGVAR_6,

                       "VAR_6overreadVAR_6 VAR_6endVAR_6 VAR_6ofVAR_6 VAR_6VAR_2VAR_6 '%.VAR_64sVAR_6' VAR_6byVAR_6 %"VAR_6PRId64VAR_6" VAR_6bytesVAR_6\VAR_6nVAR_6",

                       (VAR_6charVAR_6*)&VAR_6aVAR_6.VAR_6typeVAR_6, -VAR_6leftVAR_6);

                VAR_6avio_seekVAR_6(VAR_6VAR_1VAR_6, VAR_6leftVAR_6, VAR_6SEEK_CURVAR_6);

            }

        }



        VAR_6total_sizeVAR_6 += VAR_6aVAR_6.VAR_6sizeVAR_6;

    }



    VAR_6ifVAR_6 (VAR_6total_sizeVAR_6 < VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 && VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 < VAR_60x7ffffVAR_6)

        VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 - VAR_6total_sizeVAR_6);



    VAR_6returnVAR_6 VAR_60VAR_6;

}

VAR_6staticVAR_6 VAR_6intVAR_6 VAR_6mov_read_defaultVAR_6(VAR_6MOVContextVAR_6 *VAR_6VAR_0VAR_6, VAR_6AVIOContextVAR_6 *VAR_6VAR_1VAR_6, VAR_6MOVAtomVAR_6 VAR_6VAR_2VAR_6)
{ VAR_6int64_tVAR_6 VAR_6total_sizeVAR_6 = VAR_60VAR_6; VAR_6MOVAtomVAR_6 VAR_6aVAR_6; VAR_6intVAR_6 VAR_6VAR_3VAR_6; VAR_6ifVAR_6 (VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 < VAR_60VAR_6)
VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 = VAR_6INT64_MAXVAR_6; VAR_6whileVAR_6 (VAR_6total_sizeVAR_6 + VAR_68VAR_6 <= VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 && !VAR_6avio_feofVAR_6(VAR_6VAR_1VAR_6)) { VAR_6intVAR_6 (*VAR_6VAR_4VAR_6)(VAR_6MOVContextVAR_6*, VAR_6AVIOContextVAR_6*, VAR_6MOVAtomVAR_6) = VAR_6NULLVAR_6; VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6VAR_2VAR_6.VAR_6sizeVAR_6; VAR_6aVAR_6.VAR_6typeVAR_6=VAR_60VAR_6; VAR_6ifVAR_6 (VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 >= VAR_68VAR_6) { VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6avio_rb32VAR_6(VAR_6VAR_1VAR_6); VAR_6aVAR_6.VAR_6typeVAR_6 = VAR_6avio_rl32VAR_6(VAR_6VAR_1VAR_6); VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6fVAR_6','VAR_6rVAR_6','VAR_6eVAR_6','VAR_6eVAR_6') &&
VAR_6aVAR_6.VAR_6sizeVAR_6 >= VAR_68VAR_6 &&
VAR_6VAR_0VAR_6->VAR_6moov_retryVAR_6) { VAR_6uint8_tVAR_6 VAR_6bufVAR_6[VAR_68VAR_6]; VAR_6uint32_tVAR_6 *VAR_6typeVAR_6 = (VAR_6uint32_tVAR_6 *)VAR_6bufVAR_6 + VAR_61VAR_6; VAR_6avio_readVAR_6(VAR_6VAR_1VAR_6, VAR_6bufVAR_6, VAR_68VAR_6); VAR_6avio_seekVAR_6(VAR_6VAR_1VAR_6, -VAR_68VAR_6, VAR_6SEEK_CURVAR_6); VAR_6ifVAR_6 (*VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6vVAR_6','VAR_6hVAR_6','VAR_6dVAR_6') ||
*VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6VAR_0VAR_6','VAR_6mVAR_6','VAR_6oVAR_6','VAR_6vVAR_6')) { VAR_6av_logVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, VAR_6AV_LOG_ERRORVAR_6, "VAR_6DetectedVAR_6 VAR_6moovVAR_6 VAR_6inVAR_6 VAR_6aVAR_6 VAR_6freeVAR_6 VAR_6VAR_2VAR_6.\VAR_6nVAR_6"); VAR_6aVAR_6.VAR_6typeVAR_6 = VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6oVAR_6','VAR_6oVAR_6','VAR_6vVAR_6'); } } VAR_6ifVAR_6 (VAR_6VAR_2VAR_6.VAR_6typeVAR_6 != VAR_6MKTAGVAR_6('VAR_6rVAR_6','VAR_6oVAR_6','VAR_6oVAR_6','VAR_6tVAR_6') &&
VAR_6VAR_2VAR_6.VAR_6typeVAR_6 != VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6oVAR_6','VAR_6oVAR_6','VAR_6vVAR_6'))
{ VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6tVAR_6','VAR_6rVAR_6','VAR_6aVAR_6','VAR_6kVAR_6') || VAR_6aVAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6mVAR_6','VAR_6dVAR_6','VAR_6aVAR_6','VAR_6tVAR_6'))
{ VAR_6av_logVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, VAR_6AV_LOG_ERRORVAR_6, "VAR_6BrokenVAR_6 VAR_6fileVAR_6, VAR_6trakVAR_6/VAR_6mdatVAR_6 VAR_6notVAR_6 VAR_6atVAR_6 VAR_6topVAR_6-VAR_6levelVAR_6\VAR_6nVAR_6"); VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, -VAR_68VAR_6); VAR_6returnVAR_6 VAR_60VAR_6; } } VAR_6total_sizeVAR_6 += VAR_68VAR_6; VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6sizeVAR_6 == VAR_61VAR_6) { VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6avio_rb64VAR_6(VAR_6VAR_1VAR_6) - VAR_68VAR_6; VAR_6total_sizeVAR_6 += VAR_68VAR_6; } } VAR_6av_dlogVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, "VAR_6typeVAR_6: %VAR_608xVAR_6 '%.VAR_64sVAR_6' VAR_6parentVAR_6:'%.VAR_64sVAR_6' VAR_6szVAR_6: %"VAR_6PRId64VAR_6" %"VAR_6PRId64VAR_6" %"VAR_6PRId64VAR_6"\VAR_6nVAR_6",
VAR_6aVAR_6.VAR_6typeVAR_6, (VAR_6charVAR_6*)&VAR_6aVAR_6.VAR_6typeVAR_6, (VAR_6charVAR_6*)&VAR_6VAR_2VAR_6.VAR_6typeVAR_6, VAR_6aVAR_6.VAR_6sizeVAR_6, VAR_6total_sizeVAR_6, VAR_6VAR_2VAR_6.VAR_6sizeVAR_6); VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6sizeVAR_6 == VAR_60VAR_6) { VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 - VAR_6total_sizeVAR_6 + VAR_68VAR_6; } VAR_6aVAR_6.VAR_6sizeVAR_6 -= VAR_68VAR_6; VAR_6ifVAR_6 (VAR_6aVAR_6.VAR_6sizeVAR_6 < VAR_60VAR_6)
VAR_6breakVAR_6; VAR_6aVAR_6.VAR_6sizeVAR_6 = VAR_6FFMINVAR_6(VAR_6aVAR_6.VAR_6sizeVAR_6, VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 - VAR_6total_sizeVAR_6); VAR_6forVAR_6 (VAR_6VAR_3VAR_6 = VAR_60VAR_6; VAR_6mov_default_parse_tableVAR_6[VAR_6VAR_3VAR_6].VAR_6typeVAR_6; VAR_6VAR_3VAR_6++) VAR_6ifVAR_6 (VAR_6mov_default_parse_tableVAR_6[VAR_6VAR_3VAR_6].VAR_6typeVAR_6 == VAR_6aVAR_6.VAR_6typeVAR_6) { VAR_6VAR_4VAR_6 = VAR_6mov_default_parse_tableVAR_6[VAR_6VAR_3VAR_6].VAR_6VAR_4VAR_6; VAR_6breakVAR_6; } VAR_6ifVAR_6 (!VAR_6VAR_4VAR_6 && (VAR_6VAR_2VAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6uVAR_6','VAR_6dVAR_6','VAR_6tVAR_6','VAR_6aVAR_6') ||
VAR_6VAR_2VAR_6.VAR_6typeVAR_6 == VAR_6MKTAGVAR_6('VAR_6VAR_3VAR_6','VAR_6lVAR_6','VAR_6sVAR_6','VAR_6tVAR_6')))
VAR_6VAR_4VAR_6 = VAR_6mov_read_udta_stringVAR_6; VAR_6ifVAR_6 (!VAR_6VAR_4VAR_6) { VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, VAR_6aVAR_6.VAR_6sizeVAR_6); } VAR_6elseVAR_6 { VAR_6int64_tVAR_6 VAR_6start_posVAR_6 = VAR_6avio_tellVAR_6(VAR_6VAR_1VAR_6); VAR_6int64_tVAR_6 VAR_6leftVAR_6; VAR_6intVAR_6 VAR_6errVAR_6 = VAR_6VAR_4VAR_6(VAR_6VAR_0VAR_6, VAR_6VAR_1VAR_6, VAR_6aVAR_6); VAR_6ifVAR_6 (VAR_6errVAR_6 < VAR_60VAR_6)
VAR_6returnVAR_6 VAR_6errVAR_6; VAR_6ifVAR_6 (VAR_6VAR_0VAR_6->VAR_6found_moovVAR_6 && VAR_6VAR_0VAR_6->VAR_6found_mdatVAR_6 &&
((!VAR_6VAR_1VAR_6->VAR_6seekableVAR_6 || VAR_6VAR_0VAR_6->VAR_6fcVAR_6->VAR_6flagsVAR_6 & VAR_6AVFMT_FLAG_IGNIDXVAR_6) ||
VAR_6start_posVAR_6 + VAR_6aVAR_6.VAR_6sizeVAR_6 == VAR_6avio_sizeVAR_6(VAR_6VAR_1VAR_6))) { VAR_6ifVAR_6 (!VAR_6VAR_1VAR_6->VAR_6seekableVAR_6 || VAR_6VAR_0VAR_6->VAR_6fcVAR_6->VAR_6flagsVAR_6 & VAR_6AVFMT_FLAG_IGNIDXVAR_6)
VAR_6VAR_0VAR_6->VAR_6next_root_atomVAR_6 = VAR_6start_posVAR_6 + VAR_6aVAR_6.VAR_6sizeVAR_6; VAR_6returnVAR_6 VAR_60VAR_6; } VAR_6leftVAR_6 = VAR_6aVAR_6.VAR_6sizeVAR_6 - VAR_6avio_tellVAR_6(VAR_6VAR_1VAR_6) + VAR_6start_posVAR_6; VAR_6ifVAR_6 (VAR_6leftVAR_6 > VAR_60VAR_6)
VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, VAR_6leftVAR_6); VAR_6elseVAR_6 VAR_6ifVAR_6 (VAR_6leftVAR_6 < VAR_60VAR_6) { VAR_6av_logVAR_6(VAR_6VAR_0VAR_6->VAR_6fcVAR_6, VAR_6AV_LOG_WARNINGVAR_6,
"VAR_6overreadVAR_6 VAR_6endVAR_6 VAR_6ofVAR_6 VAR_6VAR_2VAR_6 '%.VAR_64sVAR_6' VAR_6byVAR_6 %"VAR_6PRId64VAR_6" VAR_6bytesVAR_6\VAR_6nVAR_6",
(VAR_6charVAR_6*)&VAR_6aVAR_6.VAR_6typeVAR_6, -VAR_6leftVAR_6); VAR_6avio_seekVAR_6(VAR_6VAR_1VAR_6, VAR_6leftVAR_6, VAR_6SEEK_CURVAR_6); } } VAR_6total_sizeVAR_6 += VAR_6aVAR_6.VAR_6sizeVAR_6; } VAR_6ifVAR_6 (VAR_6total_sizeVAR_6 < VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 && VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 < VAR_60x7ffffVAR_6)
VAR_6avio_skipVAR_6(VAR_6VAR_1VAR_6, VAR_6VAR_2VAR_6.VAR_6sizeVAR_6 - VAR_6total_sizeVAR_6); VAR_6returnVAR_6 VAR_60VAR_6; }