{"name": "encode_frame", "code": "__int64 __fastcall encode_frame ( int * @@a1@@ ) { int @@v2@@ ; int @@i@@ ; @@v2@@ = count_frame_header ( @@a1@@ ) ; for ( @@i@@ = Number ; @@i@@ < @@a1@@ [ Number ] ; ++ @@i@@ ) @@v2@@ += encode_residual_ch ( @@a1@@ , @@i@@ ) ; return ( unsigned int ) ( ( ( - @@v2@@ & Number ) + @@v2@@ + Number ) >> Number ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v2", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}]}
{"name": "encode_residual_ch", "code": "__int64 __fastcall encode_residual_ch ( int * @@a1@@ , int @@a2@@ ) { __int64 result ; int v3 ; int v4 ; int v5 ; int v6 ; int @@s@@ [ Number ] ; int @@v8@@ [ Number ] ; int @@v9@@ [ Number ] ; int @@v10@@ [ Number ] ; int @@v11@@ ; unsigned int @@v12@@ ; unsigned int @@v13@@ ; unsigned int @@v14@@ ; int @@v15@@ ; void * @@src@@ ; void * @@dest@@ ; int * @@v18@@ ; _DWORD * @@v19@@ ; int @@j@@ ; int @@v21@@ ; int @@v22@@ ; unsigned int @@v23@@ ; int @@v24@@ ; int @@i@@ ; @@v19@@ = @@a1@@ + Number ; @@v18@@ = & @@a1@@ [ Number * @@a2@@ + Number ] ; @@dest@@ = @@v18@@ + Number ; @@src@@ = @@v18@@ + Number ; @@v15@@ = @@a1@@ [ Number ] ; for ( @@i@@ = Number ; @@i@@ < @@v15@@ && * ( ( _DWORD * ) @@src@@ + @@i@@ ) == * ( _DWORD * ) @@src@@ ; ++ @@i@@ ) ; if ( @@i@@ == @@v15@@ ) { @@v18@@ [ Number ] = Number ; * @@v18@@ = @@v18@@ [ Number ] ; * ( _DWORD * ) @@dest@@ = * ( _DWORD * ) @@src@@ ; result = subframe_count_exact ( ( __int64 ) @@a1@@ , @@v18@@ , Number ) ; } else if ( @@v19@@ [ Number ] || @@v15@@ <= Number ) { @@v18@@ [ Number ] = Number ; * @@v18@@ = @@v18@@ [ Number ] ; memcpy ( @@dest@@ , @@src@@ , Number L * @@v15@@ ) ; result = subframe_count_exact ( ( __int64 ) @@a1@@ , @@v18@@ , Number ) ; } else { @@v14@@ = @@a1@@ [ Number ] ; @@v24@@ = @@a1@@ [ Number ] ; @@v13@@ = @@a1@@ [ Number ] ; * @@v18@@ = Number ; if ( @@a1@@ [ Number ] && @@a1@@ [ Number ] != Number && @@v15@@ > @@v24@@ ) { * @@v18@@ = Number ; @@v23@@ = ff_lpc_calc_coefs ( @@a1@@ + Number , @@src@@ , ( unsigned int ) @@v15@@ , @@v14@@ , ( unsigned int ) @@v24@@ , ( unsigned int ) @@a1@@ [ Number ] , @@v10@@ , @@v9@@ , ( unsigned int ) @@a1@@ [ Number ] , ( unsigned int ) @@a1@@ [ Number ] , @@v13@@ , Number L , Number L ) ; switch ( @@v13@@ ) { case Number : case Number : case Number : @@v11@@ = Number << @@v13@@ ; @@v21@@ = ( Number << @@v13@@ ) - Number ; @@v23@@ = @@v24@@ - Number ; @@s@@ [ @@v21@@ ] = Number ; for ( @@i@@ = @@v11@@ - Number ; @@i@@ >= Number ; -- @@i@@ ) { @@v22@@ = ( int ) ( ( @@v24@@ - @@v14@@ + Number ) * ( @@i@@ + Number ) ) / @@v11@@ + @@v14@@ - Number ; if ( @@v22@@ < Number ) @@v22@@ = Number ; encode_residual_lpc ( ( __int64 ) @@dest@@ , ( __int64 ) @@src@@ , @@v15@@ , @@v22@@ + Number , & @@v10@@ [ Number * ( __int64 ) @@v22@@ ] , @@v9@@ [ @@v22@@ ] ) ; v4 = find_subframe_rice_params ( @@a1@@ , ( __int64 ) @@v18@@ , @@v22@@ + Number ) ; @@s@@ [ @@i@@ ] = v4 ; if ( @@s@@ [ @@i@@ ] < ( unsigned int ) @@s@@ [ @@v21@@ ] ) { @@v21@@ = @@i@@ ; @@v23@@ = @@v22@@ ; } } ++ @@v23@@ ; break ; case Number : @@v23@@ = Number ; @@s@@ [ Number ] = Number ; for ( @@i@@ = @@v14@@ - Number ; @@i@@ < @@v24@@ ; ++ @@i@@ ) { encode_residual_lpc ( ( __int64 ) @@dest@@ , ( __int64 ) @@src@@ , @@v15@@ , @@i@@ + Number , & @@v10@@ [ Number * ( __int64 ) @@i@@ ] , @@v9@@ [ @@i@@ ] ) ; v5 = find_subframe_rice_params ( @@a1@@ , ( __int64 ) @@v18@@ , @@i@@ + Number ) ; @@s@@ [ @@i@@ ] = v5 ; if ( @@s@@ [ @@i@@ ] < ( unsigned int ) @@s@@ [ @@v23@@ ] ) @@v23@@ = @@i@@ ; } ++ @@v23@@ ; break ; case Number : @@v23@@ = @@v14@@ - Number + ( int ) ( @@v24@@ - @@v14@@ ) / Number ; memset ( @@s@@ , Number , sizeof ( @@s@@ ) ) ; for ( @@j@@ = Number ; @@j@@ ; @@j@@ >>= Number ) { @@v12@@ = @@v23@@ ; for ( @@i@@ = @@v23@@ - @@j@@ ; @@i@@ <= ( int ) ( @@v12@@ + @@j@@ ) ; @@i@@ += @@j@@ ) { if ( @@i@@ >= ( int ) ( @@v14@@ - Number ) && @@i@@ < @@v24@@ && @@s@@ [ @@i@@ ] == Number ) { encode_residual_lpc ( ( __int64 ) @@dest@@ , ( __int64 ) @@src@@ , @@v15@@ , @@i@@ + Number , & @@v10@@ [ Number * ( __int64 ) @@i@@ ] , @@v9@@ [ @@i@@ ] ) ; v6 = find_subframe_rice_params ( @@a1@@ , ( __int64 ) @@v18@@ , @@i@@ + Number ) ; @@s@@ [ @@i@@ ] = v6 ; if ( @@s@@ [ @@i@@ ] < ( unsigned int ) @@s@@ [ @@v23@@ ] ) @@v23@@ = @@i@@ ; } } } ++ @@v23@@ ; break ; } @@v18@@ [ Number ] = @@v23@@ ; @@v18@@ [ Number ] = ( @@v18@@ [ Number ] - Number ) | * @@v18@@ ; @@v18@@ [ Number ] = @@v9@@ [ @@v18@@ [ Number ] - Number ] ; for ( @@i@@ = Number ; @@i@@ < @@v18@@ [ Number ] ; ++ @@i@@ ) @@v18@@ [ @@i@@ + Number ] = @@v10@@ [ Number * @@v18@@ [ Number ] - Number + @@i@@ ] ; encode_residual_lpc ( ( __int64 ) @@dest@@ , ( __int64 ) @@src@@ , @@v15@@ , @@v18@@ [ Number ] , @@v18@@ + Number , @@v18@@ [ Number ] ) ; find_subframe_rice_params ( @@a1@@ , ( __int64 ) @@v18@@ , @@v18@@ [ Number ] ) ; result = subframe_count_exact ( ( __int64 ) @@a1@@ , @@v18@@ , @@v18@@ [ Number ] ) ; } else { if ( @@v24@@ > Number ) @@v24@@ = Number ; @@v23@@ = Number ; @@v8@@ [ Number ] = Number ; for ( @@i@@ = @@v14@@ ; @@i@@ <= @@v24@@ ; ++ @@i@@ ) { encode_residual_fixed ( ( __int64 ) @@dest@@ , @@src@@ , @@v15@@ , @@i@@ ) ; v3 = find_subframe_rice_params ( @@a1@@ , ( __int64 ) @@v18@@ , @@i@@ ) ; @@v8@@ [ @@i@@ ] = v3 ; if ( @@v8@@ [ @@i@@ ] < ( unsigned int ) @@v8@@ [ @@v23@@ ] ) @@v23@@ = @@i@@ ; } @@v18@@ [ Number ] = @@v23@@ ; @@v18@@ [ Number ] = @@v18@@ [ Number ] | * @@v18@@ ; if ( @@v24@@ != @@v18@@ [ Number ] ) { encode_residual_fixed ( ( __int64 ) @@dest@@ , @@src@@ , @@v15@@ , @@v18@@ [ Number ] ) ; find_subframe_rice_params ( @@a1@@ , ( __int64 ) @@v18@@ , @@v18@@ [ Number ] ) ; } result = subframe_count_exact ( ( __int64 ) @@a1@@ , @@v18@@ , @@v18@@ [ Number ] ) ; } } return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v24", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v23", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v22", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v21", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v19", "t": {"T": 3, "t": "_DWORD"}, "location": "s40"}, {"n": "v10", "t": {"T": 2, "n": 1025, "s": 4, "t": "int"}, "location": "s4184"}, {"n": "v9", "t": {"T": 2, "n": 32, "s": 4, "t": "int"}, "location": "s4312"}, {"n": "v8", "t": {"T": 2, "n": 8, "s": 4, "t": "int"}, "location": "s4344"}, {"n": "s", "t": {"T": 2, "n": 32, "s": 4, "t": "int"}, "location": "s4472"}, {"n": "v18", "t": {"T": 3, "t": "int"}, "location": "s48"}, {"n": "dest", "t": {"T": 3, "t": "void"}, "location": "s56"}, {"n": "src", "t": {"T": 3, "t": "void"}, "location": "s64"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "v14", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s72"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s76"}, {"n": "v12", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s80"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}]} {"name": "count_frame_header", "code": "__int64 __fastcall count_frame_header ( _DWORD * @@a1@@ ) { unsigned int @@v1@@ ; unsigned int @@v3@@ ; int @@v4@@ ; int @@v5@@ ; @@v3@@ = @@a1@@ [ Number ] ; if ( @@v3@@ > Number ) { _BitScanReverse ( & @@v1@@ , @@v3@@ | Number ) ; @@v4@@ = Number * ( ( int ) ( Number - ( @@v1@@ ^ Number ) ) / Number - Number ) ; @@v5@@ = Number ; while ( @@v4@@ > Number ) { @@v4@@ -= Number ; @@v5@@ += Number ; } } else { @@v5@@ = Number ; } if ( @@a1@@ [ Number ] == Number ) { @@v5@@ += Number ; } else if ( @@a1@@ [ Number ] == Number ) { @@v5@@ += Number ; } return Number * ( ( @@a1@@ [ Number ] == Number ) + ( unsigned int ) ( @@a1@@ [ Number ] > Number ) ) + @@v5@@ + Number ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "v1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]} {"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"}]}