{"name": "square", "code": "__int64 __fastcall square ( int @@a1@@ ) { return ( unsigned int ) ( @@a1@@ * @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}]}
{"name": "eval_sse", "code": "__int64 __fastcall eval_sse ( unsigned __int8 * @@a1@@ , unsigned __int8 * @@a2@@ , int @@a3@@ ) { unsigned __int8 * v3 ; int @@v4@@ ; unsigned __int8 * v5 ; unsigned int @@i@@ ; for ( @@i@@ = Number ; @@a3@@ -- ; @@i@@ += square ( @@v4@@ - ( unsigned int ) * v5 ) ) { v3 = @@a2@@ ++ ; @@v4@@ = * v3 ; v5 = @@a1@@ ++ ; } return @@i@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]} {"name": "squared_diff_macroblock", "code": "__int64 __fastcall squared_diff_macroblock ( unsigned __int8 * @@a1@@ , unsigned __int8 * @@a2@@ , int @@a3@@ ) { int @@v3@@ ; unsigned int @@v8@@ ; int @@i@@ ; @@v8@@ = Number ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( @@i@@ ) @@v3@@ = Number ; else @@v3@@ = Number ; @@v8@@ += @@v3@@ * eval_sse ( @@a1@@ , @@a2@@ , @@a3@@ * @@a3@@ ) ; @@a1@@ += @@a3@@ * @@a3@@ ; @@a2@@ += @@a3@@ * @@a3@@ ; } return @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]} {"name": "index_mb", "code": "__int64 __fastcall index_mb ( unsigned __int8 * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , _DWORD * @@a4@@ , int @@a5@@ ) { int @@v9@@ ; int @@v10@@ ; int @@v11@@ ; int @@i@@ ; @@v11@@ = Number ; @@v10@@ = Number ; for ( @@i@@ = Number ; @@i@@ < @@a3@@ ; ++ @@i@@ ) { @@v9@@ = squared_diff_macroblock ( @@a1@@ , ( unsigned __int8 * ) ( Number * @@a5@@ * @@a5@@ * @@i@@ + @@a2@@ ) , @@a5@@ ) ; if ( @@v9@@ < @@v11@@ ) { @@v11@@ = @@v9@@ ; @@v10@@ = @@i@@ ; } } * @@a4@@ = @@v10@@ ; return ( unsigned int ) @@v11@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_DWORD"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]} {"name": "gather_data_for_subcel", "code": "__int64 __fastcall gather_data_for_subcel ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { __int64 @@result@@ ; int v6 ; unsigned __int8 @@v10@@ [ Number ] ; unsigned __int8 @@v11@@ [ Number ] ; int @@v12@@ ; int @@v13@@ ; int @@i@@ ; if ( * ( _DWORD * ) ( @@a4@@ + Number ) ) { * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( Number L * ( @@a3@@ * * ( _DWORD * ) ( @@a4@@ + Number ) / Number + @@a2@@ / Number ) + * ( _QWORD * ) ( @@a4@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = eval_motion_dist ( @@a4@@ , @@a2@@ , @@a3@@ , * ( _QWORD * ) ( * ( _QWORD * ) ( @@a4@@ + Number ) + Number L * ( @@a3@@ * * ( _DWORD * ) ( @@a4@@ + Number ) / Number + @@a2@@ / Number ) ) , Number ) ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } if ( * ( _DWORD * ) ( @@a4@@ + Number ) <= Number ) * ( _DWORD * ) @@a1@@ = Number ; else * ( _DWORD * ) @@a1@@ = block_sse ( * ( _QWORD * ) ( @@a4@@ + Number ) , * ( _QWORD * ) ( @@a4@@ + Number ) , @@a2@@ , @@a3@@ , @@a2@@ , @@a3@@ , * ( _QWORD * ) ( @@a4@@ + Number ) + Number L , * ( _QWORD * ) ( @@a4@@ + Number ) + Number L , Number ) ; @@v12@@ = @@a3@@ * * ( _DWORD * ) ( @@a4@@ + Number ) / Number + @@a2@@ / Number ; get_frame_mb ( * ( _QWORD * ) ( @@a4@@ + Number ) , @@a2@@ , @@a3@@ , @@v11@@ , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = index_mb ( @@v11@@ , @@a5@@ + Number , * ( _DWORD * ) ( @@a5@@ + Number ) , ( _DWORD * ) ( @@a1@@ + Number ) , Number ) ; @@result@@ = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) + Number ) = * ( _DWORD * ) ( Number L * ( Number * @@v12@@ + @@i@@ ) + * ( _QWORD * ) ( @@a5@@ + Number ) ) ; get_frame_mb ( * ( _QWORD * ) ( @@a4@@ + Number ) , Number * ( @@i@@ & Number ) + @@a2@@ , ( @@i@@ & Number ) + @@a3@@ , @@v10@@ , Number ) ; v6 = squared_diff_macroblock ( ( unsigned __int8 * ) ( Number * * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) + Number ) + @@a5@@ + Number ) , @@v10@@ , Number ) + * ( _DWORD * ) ( @@a1@@ + Number ) ; @@result@@ = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = v6 ; } @@v13@@ = Number ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { @@result@@ = @@v13@@ ; if ( ( ( __int64 ) * ( int * ) ( @@a1@@ + Number L * @@i@@ ) << Number ) + * ( _QWORD * ) ( @@a4@@ + Number ) * bitsUsed_6270 [ @@i@@ ] < ( unsigned __int64 ) @@v13@@ ) { * ( _DWORD * ) ( @@a1@@ + Number ) = @@i@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = bitsUsed_6270 [ @@i@@ ] ; @@result@@ = ( * ( _DWORD * ) ( @@a1@@ + Number L * @@i@@ ) << Number ) + ( unsigned int ) * ( _QWORD * ) ( @@a4@@ + Number ) * bitsUsed_6270 [ @@i@@ ] ; @@v13@@ = ( * ( _DWORD * ) ( @@a1@@ + Number L * @@i@@ ) << Number ) + * ( _QWORD * ) ( @@a4@@ + Number ) * bitsUsed_6270 [ @@i@@ ] ; } } 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": "int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v11", "t": {"T": 2, "n": 52, "s": 1, "t": "unsigned __int8"}, "location": "s64"}, {"n": "v10", "t": {"T": 2, "n": 12, "s": 1, "t": "unsigned __int8"}, "location": "s76"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}