code: func (bigEndian) ReadUint32(b io.ByteReader) (uint32, error) {
  	var b1, b2, b3, b4 uint8
  	var err error
  	if b4, err = b.ReadByte(); err != nil {
  		return 0, err
  	}
  	if b3, err = b.ReadByte(); err != nil {
  		return 0, err
  	}
  	if b2, err = b.ReadByte(); err != nil {
  		return 0, err
  	}
  	if b1, err = b.ReadByte(); err != nil {
  		return 0, err
  	}
  	return uint32(b1) + uint32(b2)<<8 + uint32(b3)<<16 + uint32(b4)<<24, nil
  }
docs: // ReadUint32 reads a uint32