{"name": "encode_residual_fixed", "code": "__int64 __fastcall encode_residual_fixed ( __int64 @@a1@@ , _DWORD * @@a2@@ , int @@a3@@ , int @@a4@@ ) { __int64 @@result@@ ; int @@v5@@ ; int @@v6@@ ; int @@v7@@ ; int @@v8@@ ; int @@v9@@ ; int @@v10@@ ; int @@v11@@ ; int @@v12@@ ; int @@v13@@ ; int @@v14@@ ; int @@v15@@ ; int @@v16@@ ; int i ; int n ; int j ; int k ; int l ; int m ; for ( i = Number ; i < @@a4@@ ; ++ i ) * ( _DWORD * ) ( Number L * i + @@a1@@ ) = @@a2@@ [ i ] ; if ( @@a4@@ ) { switch ( @@a4@@ ) { case Number : for ( j = Number ; ; ++ j ) { @@result@@ = ( unsigned int ) j ; if ( j >= @@a3@@ ) break ; * ( _DWORD * ) ( Number L * j + @@a1@@ ) = @@a2@@ [ j ] - @@a2@@ [ j - Number ] ; } break ; case Number : @@v16@@ = @@a2@@ [ Number ] - * @@a2@@ ; for ( k = Number ; ; k += Number ) { @@result@@ = ( unsigned int ) k ; if ( k >= @@a3@@ ) break ; @@v5@@ = @@a2@@ [ k ] - @@a2@@ [ k - Number ] ; * ( _DWORD * ) ( @@a1@@ + Number L * k ) = @@v5@@ - @@v16@@ ; @@v16@@ = @@a2@@ [ k + Number ] - @@a2@@ [ k ] ; * ( _DWORD * ) ( @@a1@@ + Number * ( k + Number L ) ) = @@v16@@ - @@v5@@ ; } break ; case Number : @@v15@@ = @@a2@@ [ Number ] - @@a2@@ [ Number ] ; @@v14@@ = @@a2@@ [ Number ] - Number * @@a2@@ [ Number ] + * @@a2@@ ; for ( l = Number ; ; l += Number ) { @@result@@ = ( unsigned int ) l ; if ( l >= @@a3@@ ) break ; @@v7@@ = @@a2@@ [ l ] - @@a2@@ [ l - Number ] ; @@v6@@ = @@v7@@ - @@v15@@ ; * ( _DWORD * ) ( @@a1@@ + Number L * l ) = @@v7@@ - @@v15@@ - @@v14@@ ; @@v15@@ = @@a2@@ [ l + Number ] - @@a2@@ [ l ] ; @@v14@@ = @@v15@@ - @@v7@@ ; * ( _DWORD * ) ( @@a1@@ + Number * ( l + Number L ) ) = @@v15@@ - @@v7@@ - @@v6@@ ; } break ; default : @@v13@@ = @@a2@@ [ @@a4@@ - Number ] - @@a2@@ [ @@a4@@ - Number ] ; @@v12@@ = @@a2@@ [ @@a4@@ - Number ] - Number * @@a2@@ [ @@a4@@ - Number ] + @@a2@@ [ @@a4@@ - Number ] ; @@v11@@ = @@a2@@ [ @@a4@@ - Number ] - Number * @@a2@@ [ @@a4@@ - Number ] + Number * @@a2@@ [ @@a4@@ - Number ] - @@a2@@ [ @@a4@@ - Number ] ; for ( m = @@a4@@ ; ; m += Number ) { @@result@@ = ( unsigned int ) m ; if ( m >= @@a3@@ ) break ; @@v10@@ = @@a2@@ [ m ] - @@a2@@ [ m - Number ] ; @@v9@@ = @@v10@@ - @@v13@@ ; @@v8@@ = @@v10@@ - @@v13@@ - @@v12@@ ; * ( _DWORD * ) ( @@a1@@ + Number L * m ) = @@v8@@ - @@v11@@ ; @@v13@@ = @@a2@@ [ m + Number ] - @@a2@@ [ m ] ; @@v12@@ = @@v13@@ - @@v10@@ ; @@v11@@ = @@v13@@ - @@v10@@ - @@v9@@ ; * ( _DWORD * ) ( @@a1@@ + Number * ( m + Number L ) ) = @@v11@@ - @@v8@@ ; } break ; } } else { for ( n = Number ; ; ++ n ) { @@result@@ = ( unsigned int ) n ; if ( n >= @@a3@@ ) break ; * ( _DWORD * ) ( Number L * n + @@a1@@ ) = @@a2@@ [ n ] ; } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v16", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}
{"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"}]}