package io.netty.handler.codec.protobuf;

import g.a.a.a.a;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
import io.netty.handler.codec.CorruptedFrameException;
import io.netty.handler.codec.memcache.binary.BinaryMemcacheOpcodes;
import java.util.List;
import kotlinx.serialization.json.internal.AbstractJsonLexerKt;

/* JADX INFO: loaded from: classes.dex */
public class ProtobufVarint32FrameDecoder extends ByteToMessageDecoder {
    private static int readRawVarint32(ByteBuf byteBuf) {
        int i2;
        if (!byteBuf.isReadable()) {
            return 0;
        }
        byteBuf.markReaderIndex();
        byte b2 = byteBuf.readByte();
        if (b2 >= 0) {
            return b2;
        }
        int i3 = b2 & AbstractJsonLexerKt.TC_INVALID;
        if (!byteBuf.isReadable()) {
            byteBuf.resetReaderIndex();
            return 0;
        }
        byte b3 = byteBuf.readByte();
        if (b3 >= 0) {
            i2 = b3 << 7;
        } else {
            i3 |= (b3 & AbstractJsonLexerKt.TC_INVALID) << 7;
            if (!byteBuf.isReadable()) {
                byteBuf.resetReaderIndex();
                return 0;
            }
            byte b4 = byteBuf.readByte();
            if (b4 >= 0) {
                i2 = b4 << BinaryMemcacheOpcodes.APPEND;
            } else {
                i3 |= (b4 & AbstractJsonLexerKt.TC_INVALID) << 14;
                if (!byteBuf.isReadable()) {
                    byteBuf.resetReaderIndex();
                    return 0;
                }
                byte b5 = byteBuf.readByte();
                if (b5 < 0) {
                    int i4 = i3 | ((b5 & AbstractJsonLexerKt.TC_INVALID) << 21);
                    if (!byteBuf.isReadable()) {
                        byteBuf.resetReaderIndex();
                        return 0;
                    }
                    byte b6 = byteBuf.readByte();
                    int i5 = i4 | (b6 << BinaryMemcacheOpcodes.TOUCH);
                    if (b6 >= 0) {
                        return i5;
                    }
                    throw new CorruptedFrameException("malformed varint.");
                }
                i2 = b5 << BinaryMemcacheOpcodes.INCREMENTQ;
            }
        }
        return i2 | i3;
    }

    @Override // io.netty.handler.codec.ByteToMessageDecoder
    public void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List<Object> list) {
        byteBuf.markReaderIndex();
        int i2 = byteBuf.readerIndex();
        int rawVarint32 = readRawVarint32(byteBuf);
        if (i2 == byteBuf.readerIndex()) {
            return;
        }
        if (rawVarint32 < 0) {
            throw new CorruptedFrameException(a.l("negative length: ", rawVarint32));
        }
        if (byteBuf.readableBytes() < rawVarint32) {
            byteBuf.resetReaderIndex();
        } else {
            list.add(byteBuf.readRetainedSlice(rawVarint32));
        }
    }
}
