static int get_num(ByteIOContext *pb, int *len)

{

    int n, n1;



    n = get_be16(pb);

    (*len)-=2;

//    n &= 0x7FFF;

    if (n >= 0x4000) {

        return n - 0x4000;

    } else {

        n1 = get_be16(pb);

        (*len)-=2;

        return (n << 16) | n1;

    }

}

static int get_num(ByteIOContext *pb, int *len)

{

    int n, n1;



    n = get_be16(pb);

    (*len)-=2;



    if (n >= 0x4000) {

        return n - 0x4000;

    } else {

        n1 = get_be16(pb);

        (*len)-=2;

        return (n << 16) | n1;

    }

}

static int FUNC_0(ByteIOContext *VAR_0, int *VAR_1)

{

    int VAR_2, VAR_3;



    VAR_2 = get_be16(VAR_0);

    (*VAR_1)-=2;



    if (VAR_2 >= 0x4000) {

        return VAR_2 - 0x4000;

    } else {

        VAR_3 = get_be16(VAR_0);

        (*VAR_1)-=2;

        return (VAR_2 << 16) | VAR_3;

    }

}

static int FUNC_0(ByteIOContext *VAR_0, int *VAR_1)
{ int VAR_2, VAR_3; VAR_2 = get_be16(VAR_0); (*VAR_1)-=2; if (VAR_2 >= 0x4000) { return VAR_2 - 0x4000; } else { VAR_3 = get_be16(VAR_0); (*VAR_1)-=2; return (VAR_2 << 16) | VAR_3; } }