{"name": "write_streaminfo", "code": "__int64 __fastcall write_streaminfo ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@v2@@ ; __int64 @@result@@ ; int @@v4@@ [ Number ] ; memset ( ( void * ) @@a2@@ , Number , Number ) ; init_put_bits ( ( __int64 ) @@v4@@ , @@a2@@ , Number ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) - Number ) ; put_bits ( @@v4@@ , Number , Number ) ; put_bits ( @@v4@@ , Number , ( * ( _QWORD * ) ( @@a1@@ + Number ) >> Number ) & Number ) ; put_bits ( @@v4@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) ; flush_put_bits ( ( __int64 ) @@v4@@ ) ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a2@@ + Number ) = @@result@@ ; * ( _QWORD * ) ( @@a2@@ + Number ) = @@v2@@ ; return @@result@@ ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 2, "n": 14, "s": 4, "t": "int"}, "location": "s56"}]}
{"name": "init_put_bits", "code": "__int64 __fastcall init_put_bits ( __int64 @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { __int64 @@result@@ ; int @@v4@@ ; @@v4@@ = @@a3@@ ; if ( @@a3@@ < Number ) { @@v4@@ = Number ; @@a2@@ = Number L ; } * ( _DWORD * ) ( @@a1@@ + Number ) = Number * @@v4@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v4@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _DWORD * ) @@a1@@ = Number ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}]} {"name": "flush_put_bits", "code": "__int64 __fastcall flush_put_bits ( __int64 @@a1@@ ) { int @@v1@@ ; _BYTE * v2 ; __int64 result ; if ( * ( int * ) ( @@a1@@ + Number ) <= Number ) * ( _DWORD * ) @@a1@@ <<= * ( _DWORD * ) ( @@a1@@ + Number ) ; while ( * ( int * ) ( @@a1@@ + Number ) <= Number ) { @@v1@@ = HIBYTE ( * ( _DWORD * ) @@a1@@ ) ; v2 = * ( _BYTE * * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v2 + Number ; * v2 = @@v1@@ ; * ( _DWORD * ) @@a1@@ <<= Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; result = @@a1@@ ; * ( _DWORD * ) @@a1@@ = Number ; return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]} {"name": "put_bits", "code": "int * __fastcall put_bits ( int * @@a1@@ , int @@a2@@ , unsigned int @@a3@@ ) { int * @@result@@ ; int v4 ; int v5 ; int v6 ; int v7 ; v6 = * @@a1@@ ; v4 = @@a1@@ [ Number ] ; if ( @@a2@@ >= v4 ) { * * ( ( _DWORD * * ) @@a1@@ + Number ) = ( ( ( unsigned __int16 ) ( ( ( unsigned __int16 ) ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( unsigned __int16 ) ( ( _WORD ) v6 << v4 ) ) << Number ) | ( unsigned __int8 ) ( ( unsigned __int16 ) ( ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( ( _WORD ) v6 << v4 ) ) >> Number ) ) << Number ) | ( ( ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( v6 << v4 ) ) >> Number ) | ( unsigned __int16 ) ( ( ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( v6 << v4 ) ) >> Number << Number ) ; * ( ( _QWORD * ) @@a1@@ + Number ) += Number L ; v5 = Number - @@a2@@ + v4 ; v7 = @@a3@@ ; } else { v7 = @@a3@@ | ( v6 << @@a2@@ ) ; v5 = v4 - @@a2@@ ; } * @@a1@@ = v7 ; @@result@@ = @@a1@@ ; @@a1@@ [ Number ] = v5 ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "int"}, "location": "r8"}]} {"name": "flac_encode_init", "code": "__int64 __fastcall flac_encode_init ( __int64 @@a1@@ ) { __int64 @@v2@@ ; __int64 @@v3@@ ; __int64 @@v4@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; __int64 @@v8@@ ; int @@v9@@ ; int @@v10@@ [ Number ] ; int @@v11@@ [ Number ] ; int @@v12@@ [ Number ] ; unsigned int @@v13@@ ; __int64 @@v14@@ ; int @@v15@@ ; __int64 @@v16@@ ; int @@v17@@ ; int @@v18@@ ; int @@i@@ ; @@v18@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v17@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v16@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@v16@@ + Number ) = @@a1@@ ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) return Number ; if ( @@v17@@ <= Number || @@v17@@ > Number ) return Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v17@@ ; if ( @@v18@@ <= Number ) return Number ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( @@v18@@ == * ( ( _DWORD * ) & ff_flac_sample_rate_table + @@i@@ ) ) { * ( _DWORD * ) ( @@v16@@ + Number ) = * ( ( _DWORD * ) & ff_flac_sample_rate_table + @@i@@ ) ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@i@@ ; * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; break ; } } if ( @@i@@ == Number ) { if ( @@v18@@ % Number || @@v18@@ > Number ) { if ( @@v18@@ % Number || @@v18@@ > Number ) { if ( @@v18@@ > Number ) return Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v18@@ ; } else { * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v18@@ / Number ; } } else { * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v18@@ / Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = @@v18@@ ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; else * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; @@v15@@ = * ( _DWORD * ) ( @@v16@@ + Number ) ; if ( @@v15@@ > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@v16@@ + Number ) ) ; return Number ; } @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v12@@ [ @@v15@@ ] ; if ( * ( _DWORD * ) ( @@v16@@ + Number ) == Number ) { @@v3@@ = Number ; @@v4@@ = Number ; @@v5@@ = Number ; @@v6@@ = Number ; @@v7@@ = Number ; @@v8@@ = Number ; @@v9@@ = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = * ( ( _DWORD * ) & @@v3@@ + @@v15@@ ) ; } @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; @@v11@@ [ Number ] = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v11@@ [ @@v15@@ ] ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = @@v10@@ [ @@v15@@ ] ; if ( * ( int * ) ( @@v16@@ + Number ) < Number ) { @@v3@@ = Number L ; @@v4@@ = Number L ; @@v5@@ = Number L ; @@v6@@ = Number ; @@v7@@ = Number ; @@v8@@ = Number ; @@v9@@ = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = * ( ( _DWORD * ) & @@v3@@ + @@v15@@ ) ; } if ( * ( _DWORD * ) ( @@v16@@ + Number ) > * ( _DWORD * ) ( @@v16@@ + Number ) ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@v16@@ + Number ) , * ( unsigned int * ) ( @@v16@@ + Number ) ) ; return Number L ; } if ( * ( int * ) ( @@v16@@ + Number ) < Number ) { @@v3@@ = Number ; @@v4@@ = Number L ; @@v5@@ = Number L ; @@v6@@ = Number L ; @@v7@@ = Number L ; @@v8@@ = Number L ; @@v9@@ = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = * ( ( _DWORD * ) & @@v3@@ + @@v15@@ ) ; } if ( * ( int * ) ( @@v16@@ + Number ) < Number ) { @@v3@@ = Number ; @@v4@@ = Number ; @@v5@@ = Number ; @@v6@@ = Number ; @@v7@@ = Number ; @@v8@@ = Number ; @@v9@@ = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = * ( ( _DWORD * ) & @@v3@@ + @@v15@@ ) ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) ( @@v16@@ + Number ) == Number ) { if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } else { * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; } } } if ( ! * ( _DWORD * ) ( @@v16@@ + Number ) ) { * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; goto LABEL_58 ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( * ( _DWORD * ) ( @@v16@@ + Number ) == Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { LABEL_53 : av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } } else if ( * ( int * ) ( @@a1@@ + Number ) <= Number || * ( int * ) ( @@a1@@ + Number ) > Number ) { goto LABEL_53 ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } LABEL_58 : if ( ! * ( _DWORD * ) ( @@v16@@ + Number ) ) { * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; goto LABEL_68 ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( * ( _DWORD * ) ( @@v16@@ + Number ) == Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { LABEL_63 : av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } } else if ( * ( int * ) ( @@a1@@ + Number ) <= Number || * ( int * ) ( @@a1@@ + Number ) > Number ) { goto LABEL_63 ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } LABEL_68 : if ( * ( _DWORD * ) ( @@v16@@ + Number ) < * ( _DWORD * ) ( @@v16@@ + Number ) ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@v16@@ + Number ) , * ( unsigned int * ) ( @@v16@@ + Number ) ) ; return Number ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } if ( * ( int * ) ( @@a1@@ + Number ) >= Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } if ( * ( _DWORD * ) ( @@v16@@ + Number ) < * ( _DWORD * ) ( @@v16@@ + Number ) ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@v16@@ + Number ) , * ( unsigned int * ) ( @@v16@@ + Number ) ) ; return Number ; } if ( * ( int * ) ( @@a1@@ + Number ) <= Number ) { @@v2@@ = * ( _QWORD * ) ( @@v16@@ + Number ) ; * ( _DWORD * ) ( @@v2@@ + Number ) = select_blocksize ( * ( _DWORD * ) ( @@v16@@ + Number ) , * ( _DWORD * ) ( @@v16@@ + Number ) ) ; } else if ( * ( int * ) ( @@a1@@ + Number ) <= Number || * ( int * ) ( @@a1@@ + Number ) > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( * ( _QWORD * ) ( @@v16@@ + Number ) + Number L ) ; if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { av_log ( @@a1@@ , Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; return Number ; } * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; } * ( _DWORD * ) ( @@v16@@ + Number ) = ff_flac_get_max_frame_size ( * ( unsigned int * ) ( * ( _QWORD * ) ( @@v16@@ + Number ) + Number L ) , * ( unsigned int * ) ( @@v16@@ + Number ) , Number L ) ; * ( _QWORD * ) ( @@v16@@ + Number ) = av_malloc ( av_md5_size ) ; if ( ! * ( _QWORD * ) ( @@v16@@ + Number ) ) return Number L ; av_md5_init ( * ( _QWORD * ) ( @@v16@@ + Number ) ) ; @@v14@@ = av_malloc ( Number L ) ; if ( ! @@v14@@ ) return Number L ; write_streaminfo ( @@v16@@ , @@v14@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v14@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = Number ; * ( _DWORD * ) ( @@v16@@ + Number ) = * ( _DWORD * ) ( @@v16@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = avcodec_alloc_frame ( ) ; if ( ! * ( _QWORD * ) ( @@a1@@ + Number ) ) return Number L ; if ( @@v17@@ == Number && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L || @@v17@@ == Number && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L || @@v17@@ == Number && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L || @@v17@@ == Number && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L && * ( _QWORD * ) ( @@a1@@ + Number ) != Number L ) { if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) av_log ( @@a1@@ , Number L , String ) ; else av_log ( @@a1@@ , Number L , String , ( unsigned int ) @@v17@@ ) ; } @@v13@@ = ff_lpc_init ( @@v16@@ + Number , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@v16@@ + Number ) , Number L ) ; dprint_compression_options ( @@v16@@ ) ; return @@v13@@ ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v12", "t": {"T": 2, "n": 13, "s": 4, "t": "int"}, "location": "s104"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v18", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v11", "t": {"T": 2, "n": 16, "s": 4, "t": "int"}, "location": "s168"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v10", "t": {"T": 2, "n": 16, "s": 4, "t": "int"}, "location": "s232"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s248"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s256"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s264"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s272"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s280"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s288"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s296"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s52"}]} {"name": "flac_encode_frame", "code": "__int64 __fastcall flac_encode_frame ( __int64 @@a1@@ , __int64 @@a2@@ , int @@a3@@ , __int64 @@a4@@ ) { __int64 @@result@@ ; signed int @@v6@@ ; __int64 @@v7@@ ; int @@v9@@ ; @@v7@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@a4@@ ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) < * ( _DWORD * ) ( @@v7@@ + Number ) ) * ( _DWORD * ) ( @@v7@@ + Number ) = ff_flac_get_max_frame_size ( * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@v7@@ + Number ) , Number L ) ; init_frame ( @@v7@@ ) ; copy_samples ( @@v7@@ , @@a4@@ ) ; channel_decorrelation ( ( _DWORD * ) @@v7@@ ) ; @@v9@@ = encode_frame ( ( int * ) @@v7@@ ) ; if ( @@v9@@ > * ( _DWORD * ) ( @@v7@@ + Number ) ) { * ( _DWORD * ) ( @@v7@@ + Number ) = Number ; @@v9@@ = encode_frame ( ( int * ) @@v7@@ ) ; } if ( @@a3@@ >= @@v9@@ ) { @@v6@@ = write_frame ( ( _DWORD * ) @@v7@@ , @@a2@@ , @@a3@@ ) ; ++ * ( _DWORD * ) ( @@v7@@ + Number ) ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = * ( _QWORD * ) ( @@v7@@ + Number ) ; * ( _QWORD * ) ( @@v7@@ + Number ) += * ( int * ) ( @@a1@@ + Number ) ; update_md5_sum ( @@v7@@ , @@a4@@ ) ; if ( @@v6@@ > * ( _DWORD * ) ( @@v7@@ + Number ) ) * ( _DWORD * ) ( @@v7@@ + Number ) = @@v6@@ ; if ( @@v6@@ < * ( _DWORD * ) ( @@v7@@ + Number ) ) * ( _DWORD * ) ( @@v7@@ + Number ) = @@v6@@ ; @@result@@ = ( unsigned int ) @@v6@@ ; } else { av_log ( @@a1@@ , Number L , String ) ; @@result@@ = Number L ; } } else { * ( _DWORD * ) ( @@v7@@ + Number ) = * ( _DWORD * ) ( @@v7@@ + Number ) ; av_md5_final ( * ( _QWORD * ) ( @@v7@@ + Number ) , @@v7@@ + Number ) ; write_streaminfo ( @@v7@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v6", "t": {"T": 1, "n": "signed int", "s": 4}, "location": "s36"}]}