{"name": "ff_imdct_half_c_fixed", "code": "__int64 __fastcall ff_imdct_half_c_fixed ( __int64 @@a1@@ , __int64 @@a2@@ , __int16 * @@a3@@ ) { __int64 @@result@@ ; int @@v4@@ ; __int16 @@v5@@ ; __int16 @@v6@@ ; __int16 @@v7@@ ; int @@v8@@ ; int @@v9@@ ; __int64 @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; __int16 * @@v13@@ ; __int16 * @@v14@@ ; int i ; int j ; @@v12@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v11@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v10@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v9@@ = Number << * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v8@@ = @@v9@@ >> Number ; @@v14@@ = @@a3@@ ; @@v13@@ = & @@a3@@ [ ( @@v9@@ >> Number ) - Number ] ; for ( i = Number ; i < @@v9@@ >> Number ; ++ i ) { @@v4@@ = * ( unsigned __int16 * ) ( Number L * i + @@v12@@ ) ; * ( _WORD * ) ( Number L * * ( unsigned __int16 * ) ( Number L * i + @@v12@@ ) + @@a2@@ ) = ( * ( __int16 * ) ( Number L * i + @@v11@@ ) * * @@v13@@ - * @@v14@@ * * ( __int16 * ) ( Number L * i + @@v10@@ ) ) >> Number ; * ( _WORD * ) ( Number L * @@v4@@ + @@a2@@ + Number ) = ( * ( __int16 * ) ( Number L * i + @@v10@@ ) * * @@v13@@ + * @@v14@@ * * ( __int16 * ) ( Number L * i + @@v11@@ ) ) >> Number ; @@v14@@ += Number ; @@v13@@ -= Number ; } ( * ( void ( __fastcall * * ) ( __int64 , __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , @@a2@@ ) ; for ( j = Number ; ; ++ j ) { @@result@@ = ( unsigned int ) j ; if ( j >= @@v8@@ ) break ; @@v7@@ = ( * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@v11@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@a2@@ + Number ) + * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@a2@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@v10@@ ) ) >> Number ; @@v6@@ = ( * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@v10@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@a2@@ + Number ) - * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@a2@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@v11@@ ) ) >> Number ; @@v5@@ = ( * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@v11@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@a2@@ + Number ) + * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@a2@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ + j ) + @@v10@@ ) ) >> Number ; * ( _WORD * ) ( @@a2@@ + Number L * ( @@v8@@ - j ) - Number ) = ( * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@v10@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@a2@@ + Number ) - * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@a2@@ ) * * ( __int16 * ) ( Number L * ( @@v8@@ - j ) - Number + @@v11@@ ) ) >> Number ; * ( _WORD * ) ( @@a2@@ + Number L * ( @@v8@@ - j ) - Number + Number ) = @@v5@@ ; * ( _WORD * ) ( @@a2@@ + Number L * ( @@v8@@ + j ) ) = @@v6@@ ; * ( _WORD * ) ( @@a2@@ + Number L * ( @@v8@@ + j ) + Number ) = @@v7@@ ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "__int16"}, "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": "v14", "t": {"T": 3, "t": "__int16"}, "location": "s24"}, {"n": "v13", "t": {"T": 3, "t": "__int16"}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s80"}, {"n": "v7", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s84"}, {"n": "v6", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s86"}, {"n": "v5", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s88"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s92"}]}