def METHOD_NAME(values, file_name, file_last_mod_date, report_folder):
    '''Parse protobuf dictionary and return a session object'''
    empty_dict = dict()
    session_type = values.get('3', b'').decode('utf8')
    session_from = values.get('146514374', empty_dict).get('1', b'').decode('utf8')
    session_queries = []
    main_query = ''
    mp3_path = ''
    # Main/Last query is in values['132269847']['1']['2']
    try:
        item = values['132269847']['1']['2']
        if item and isinstance(item, bytes):
            item = item.decode('utf8', 'backslashreplace')
            if item:
                main_query = item
    except (KeyError, ValueError, TypeError):
        pass
    # Get other queries
    try:
        items = values['132269847']['2']
        if isinstance(items, list):
            for item in items:
                if isinstance(item, bytes):
                    term = get_search_query_from_blob(item)
                    if term:
                        session_queries.append(term)
    except (KeyError, ValueError, TypeError):
        pass
    # main_query is typically the last query or only query. If not in session_queries, add it
    if session_queries and main_query:
        try:
            idx = session_queries.index(main_query)
        except ValueError:  # not found
            # add to session_queries
            session_queries.append(main_query)
    session_queries = [ f'"{x}"' for x in session_queries ]
    # Get mp3 recording of response
    try:
        data = values['132269388']['1']
        if isinstance(data, bytes):
            mp3_path = os.path.join(report_folder, os.path.splitext(file_name)[0] + ".mp3")
            f = open(mp3_path, 'wb')
            f.write(data)
            f.close()
    except (KeyError, ValueError):
        pass
    return Session(file_name, file_last_mod_date, session_type, session_from, session_queries, mp3_path)