{"name": "subframe_count_exact", "code": "__int64 __fastcall subframe_count_exact ( __int64 @@a1@@ , _DWORD * @@a2@@ , int @@a3@@ ) { int @@v3@@ ; int @@v5@@ ; int @@v6@@ ; unsigned int v7 ; int v8 ; int @@v9@@ ; int @@v10@@ ; int @@i@@ ; if ( ! * @@a2@@ ) return ( unsigned int ) ( @@a2@@ [ Number ] + Number ) ; if ( * @@a2@@ == Number ) return ( unsigned int ) ( * ( _DWORD * ) ( @@a1@@ + Number ) * @@a2@@ [ Number ] + Number ) ; v8 = @@a3@@ * @@a2@@ [ Number ] + Number ; if ( * @@a2@@ == Number ) v8 += @@a3@@ * * ( _DWORD * ) ( @@a1@@ + Number ) + Number ; @@v6@@ = @@a2@@ [ Number ] ; @@v5@@ = * ( int * ) ( @@a1@@ + Number ) >> @@v6@@ ; v7 = v8 + Number ; @@v10@@ = @@a3@@ ; @@v9@@ = @@v5@@ ; for ( @@i@@ = Number ; @@i@@ < Number << @@v6@@ ; ++ @@i@@ ) { v7 += rice_count_exact ( ( __int64 ) & @@a2@@ [ @@v10@@ + Number ] , @@v9@@ - @@v10@@ , @@a2@@ [ @@i@@ + Number ] ) + Number ; @@v10@@ = @@v9@@ ; @@v3@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v3@@ > @@v9@@ + @@v5@@ ) @@v3@@ = @@v9@@ + @@v5@@ ; @@v9@@ = @@v3@@ ; } return v7 ; }", "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": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}
{"name": "rice_count_exact", "code": "__int64 __fastcall rice_count_exact ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { int @@v4@@ ; unsigned int @@v5@@ ; int @@i@@ ; @@v5@@ = Number ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ ; ++ @@i@@ ) { @@v4@@ = Number * * ( _DWORD * ) ( Number L * @@i@@ + @@a1@@ ) - Number ; @@v5@@ += ( ( ( @@v4@@ >> Number ) ^ @@v4@@ ) >> @@a3@@ ) + Number + @@a3@@ ; } return @@v5@@ ; }", "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": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v5", "t": {"T": 1, "n": "unsigned 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"}]}