{"name": "get_codecs_sorted", "code": "__int64 __fastcall get_codecs_sorted ( _QWORD * @@a1@@ ) { __int64 i ; __int64 j ; int v3 ; _QWORD * @@base@@ ; int @@v6@@ ; unsigned int @@nmemb@@ ; size_t @@nmemb_4@@ ; @@nmemb@@ = Number ; @@v6@@ = Number ; for ( i = avcodec_descriptor_next ( Number L ) ; i ; i = avcodec_descriptor_next ( i ) ) ++ @@nmemb@@ ; @@base@@ = ( _QWORD * ) av_calloc ( @@nmemb@@ , Number L ) ; if ( ! @@base@@ ) { av_log ( Number L , Number L , String ) ; exit_program ( Number ) ; } for ( j = avcodec_descriptor_next ( Number L ) ; ; j = avcodec_descriptor_next ( @@nmemb_4@@ ) ) { @@nmemb_4@@ = j ; if ( ! j ) break ; v3 = @@v6@@ ++ ; @@base@@ [ v3 ] = @@nmemb_4@@ ; } if ( @@v6@@ != @@nmemb@@ ) { av_log ( Number L , Number L , String , String , String , Number L ) ; abort ( ) ; } qsort ( @@base@@ , @@nmemb@@ , Number , compare_codec_desc ) ; * @@a1@@ = @@base@@ ; return @@nmemb@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "nmemb_4", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s16"}, {"n": "nmemb", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "base", "t": {"T": 3, "t": "_QWORD"}, "location": "s32"}]}
{"name": "exit_program", "code": "void __fastcall __noreturn exit_program ( unsigned int @@a1@@ ) { if ( program_exit ) program_exit ( @@a1@@ ) ; exit ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}]} {"name": "compare_codec_desc", "code": "int __fastcall compare_codec_desc ( const void * @@a1@@ , const void * @@a2@@ ) { int @@result@@ ; if ( * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) == * ( _DWORD * ) ( * ( _QWORD * ) @@a2@@ + Number L ) ) @@result@@ = strcmp ( * ( const char * * ) ( * ( _QWORD * ) @@a1@@ + Number L ) , * ( const char * * ) ( * ( _QWORD * ) @@a2@@ + Number L ) ) ; else @@result@@ = * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) - * ( _DWORD * ) ( * ( _QWORD * ) @@a2@@ + Number L ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}]} {"name": "show_codecs", "code": "__int64 show_codecs ( ) { char v0 ; const char * v1 ; __int64 @@v3@@ ; unsigned int * @@v4@@ ; unsigned int @@v5@@ ; const char * * @@v6@@ ; unsigned int @@i@@ ; @@v5@@ = get_codecs_sorted ( & @@v3@@ ) ; puts ( String String String String String String String String String String ) ; for ( @@i@@ = Number ; @@i@@ < @@v5@@ ; ++ @@i@@ ) { @@v4@@ = * ( unsigned int * * ) ( Number L * @@i@@ + @@v3@@ ) ; @@v6@@ = Number L ; if ( ! strstr ( * ( ( const char * * ) @@v4@@ + Number ) , String ) ) { putchar ( Number ) ; if ( avcodec_find_decoder ( * @@v4@@ ) ) printf ( String ) ; else printf ( ( const char * ) aIls ) ; if ( avcodec_find_encoder ( * @@v4@@ ) ) printf ( String ) ; else printf ( ( const char * ) aIls ) ; v0 = get_media_type_char ( @@v4@@ [ Number ] ) ; putchar ( v0 ) ; if ( ( @@v4@@ [ Number ] & Number ) != Number ) printf ( ( const char * ) & aIls [ Number ] ) ; else printf ( ( const char * ) aIls ) ; if ( ( @@v4@@ [ Number ] & Number ) != Number ) printf ( ( const char * ) & aIls [ Number ] ) ; else printf ( ( const char * ) aIls ) ; if ( ( @@v4@@ [ Number ] & Number ) != Number ) printf ( ( const char * ) & aIls [ Number ] ) ; else printf ( ( const char * ) aIls ) ; if ( * ( ( _QWORD * ) @@v4@@ + Number ) ) v1 = ( const char * ) * ( ( _QWORD * ) @@v4@@ + Number ) ; else v1 = ( const char * ) & unk_6A4B ; printf ( String , * ( ( const char * * ) @@v4@@ + Number ) , v1 ) ; while ( Number ) { @@v6@@ = ( const char * * ) next_codec_for_id ( * @@v4@@ , ( __int64 ) @@v6@@ , Number ) ; if ( ! @@v6@@ ) break ; if ( strcmp ( * @@v6@@ , * ( ( const char * * ) @@v4@@ + Number ) ) ) { print_codecs_for_id ( * @@v4@@ , Number ) ; break ; } } @@v6@@ = Number L ; while ( Number ) { @@v6@@ = ( const char * * ) next_codec_for_id ( * @@v4@@ , ( __int64 ) @@v6@@ , Number ) ; if ( ! @@v6@@ ) break ; if ( strcmp ( * @@v6@@ , * ( ( const char * * ) @@v4@@ + Number ) ) ) { print_codecs_for_id ( * @@v4@@ , Number ) ; break ; } } putchar ( Number ) ; } } av_free ( @@v3@@ ) ; return Number L ; }", "source": [{"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 3, "t": "const char *"}, "location": "s24"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v4", "t": {"T": 3, "t": "unsigned int"}, "location": "s40"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]} {"name": "print_codecs", "code": "__int64 __fastcall print_codecs ( int @@a1@@ ) { const char * v1 ; char v2 ; const char * v3 ; __int64 @@v5@@ ; __int64 @@v6@@ ; unsigned int @@v7@@ ; const char * * @@v8@@ ; unsigned int @@i@@ ; @@v7@@ = get_codecs_sorted ( & @@v5@@ ) ; if ( @@a1@@ ) v1 = String ; else v1 = String ; printf ( String String String String String String String String String String , v1 ) ; for ( @@i@@ = Number ; @@i@@ < @@v7@@ ; ++ @@i@@ ) { @@v6@@ = * ( _QWORD * ) ( Number L * @@i@@ + @@v5@@ ) ; @@v8@@ = Number L ; while ( Number ) { @@v8@@ = ( const char * * ) next_codec_for_id ( * ( _DWORD * ) @@v6@@ , ( __int64 ) @@v8@@ , @@a1@@ ) ; if ( ! @@v8@@ ) break ; v2 = get_media_type_char ( * ( _DWORD * ) ( @@v6@@ + Number ) ) ; printf ( String , ( unsigned int ) v2 ) ; if ( ( ( _DWORD ) @@v8@@ [ Number ] & Number ) != Number ) printf ( String ) ; else printf ( ( const char * ) aIls ) ; if ( ( ( _DWORD ) @@v8@@ [ Number ] & Number ) != Number ) printf ( ( const char * ) & aIls [ Number ] ) ; else printf ( ( const char * ) aIls ) ; if ( ( ( _DWORD ) @@v8@@ [ Number ] & Number ) != Number ) printf ( String ) ; else printf ( ( const char * ) aIls ) ; if ( ( ( _DWORD ) @@v8@@ [ Number ] & Number ) != Number ) printf ( String ) ; else printf ( ( const char * ) aIls ) ; if ( ( ( _DWORD ) @@v8@@ [ Number ] & Number ) != Number ) printf ( String ) ; else printf ( ( const char * ) aIls ) ; if ( @@v8@@ [ Number ] ) v3 = @@v8@@ [ Number ] ; else v3 = ( const char * ) & unk_6A4B ; printf ( String , * @@v8@@ , v3 ) ; if ( strcmp ( * @@v8@@ , * ( const char * * ) ( @@v6@@ + Number ) ) ) printf ( String , * ( const char * * ) ( @@v6@@ + Number ) ) ; putchar ( Number ) ; } } return av_free ( @@v5@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v8", "t": {"T": 3, "t": "const char *"}, "location": "s24"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]}