{"name": "roqvideo_decode_frame", "code": "__int64 __fastcall roqvideo_decode_frame ( __int64 @@a1@@ ) { _BYTE * v1 ; _BYTE * v2 ; _BYTE * v3 ; _BYTE * v4 ; _BYTE * v5 ; _BYTE * v6 ; unsigned __int8 * v7 ; int v8 ; int v9 ; int v10 ; int v11 ; int v12 ; int v13 ; int v14 ; int v15 ; __int64 result ; unsigned __int64 @@v17@@ ; __int64 @@v18@@ [ Number ] ; unsigned int @@v19@@ ; unsigned int @@v20@@ ; int * @@v21@@ ; int @@v22@@ ; unsigned __int64 @@v23@@ ; int @@v24@@ ; unsigned int @@v25@@ ; unsigned int @@v26@@ ; unsigned int @@k@@ ; unsigned int @@l@@ ; int @@v29@@ ; int @@v30@@ ; int @@v31@@ ; int @@v32@@ ; int @@v33@@ ; int @@v34@@ ; int @@v35@@ ; int @@m@@ ; int @@j@@ ; int @@i@@ ; unsigned __int64 @@v39@@ ; unsigned int @@v40@@ ; @@v24@@ = Number ; @@v40@@ = Number ; @@v39@@ = Number L ; @@v33@@ = Number ; @@v32@@ = Number ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = Number L ; @@v17@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v23@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + * ( int * ) ( @@a1@@ + Number ) ; while ( @@v23@@ > @@v17@@ ) { @@v18@@ [ Number ] = ( __int64 ) & @@v17@@ ; @@v17@@ += Number L ; @@v24@@ = * ( unsigned __int16 * ) ( @@v17@@ - Number ) ; @@v18@@ [ Number ] = ( __int64 ) & @@v17@@ ; @@v17@@ += Number L ; @@v39@@ = * ( unsigned int * ) ( @@v17@@ - Number ) ; @@v18@@ [ Number ] = ( __int64 ) & @@v17@@ ; @@v17@@ += Number L ; @@v40@@ = * ( unsigned __int16 * ) ( @@v17@@ - Number ) ; if ( @@v24@@ == Number ) break ; if ( @@v24@@ == Number ) { @@v35@@ = @@v40@@ >> Number ; if ( ! ( @@v40@@ >> Number ) ) @@v35@@ = Number ; @@v34@@ = ( unsigned __int8 ) @@v40@@ ; if ( ! ( _BYTE ) @@v40@@ && @@v39@@ > Number * @@v35@@ ) @@v34@@ = Number ; for ( @@i@@ = Number ; @@i@@ < @@v35@@ ; ++ @@i@@ ) { v1 = ( _BYTE * ) @@v17@@ ++ ; * ( _BYTE * ) ( @@a1@@ + Number L * @@i@@ + Number ) = * v1 ; v2 = ( _BYTE * ) @@v17@@ ++ ; * ( _BYTE * ) ( @@a1@@ + Number L * @@i@@ + Number ) = * v2 ; v3 = ( _BYTE * ) @@v17@@ ++ ; * ( _BYTE * ) ( @@a1@@ + Number L * @@i@@ + Number ) = * v3 ; v4 = ( _BYTE * ) @@v17@@ ++ ; * ( _BYTE * ) ( @@a1@@ + Number L * @@i@@ + Number ) = * v4 ; v5 = ( _BYTE * ) @@v17@@ ++ ; * ( _BYTE * ) ( @@a1@@ + Number L * @@i@@ + Number ) = * v5 ; v6 = ( _BYTE * ) @@v17@@ ++ ; * ( _BYTE * ) ( @@a1@@ + Number L * @@i@@ + Number ) = * v6 ; } for ( @@i@@ = Number ; @@i@@ < @@v34@@ ; ++ @@i@@ ) { for ( @@j@@ = Number ; @@j@@ <= Number ; ++ @@j@@ ) { v7 = ( unsigned __int8 * ) @@v17@@ ++ ; * ( _DWORD * ) ( @@a1@@ + Number * ( Number L * @@i@@ + @@j@@ + Number ) + Number ) = * v7 ; } } } } @@v29@@ = Number ; @@v30@@ = Number ; @@v31@@ = Number ; LABEL_57 : result = @@v31@@ ; if ( @@v39@@ > @@v31@@ ) { for ( @@k@@ = @@v29@@ ; ; @@k@@ += Number ) { if ( ( int ) @@k@@ > @@v29@@ + Number ) { @@v30@@ += Number ; if ( @@v30@@ >= * ( _DWORD * ) ( @@a1@@ + Number ) ) { @@v30@@ -= * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v29@@ += Number ; } result = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( @@v29@@ < ( int ) result ) goto LABEL_57 ; return result ; } for ( @@l@@ = @@v30@@ ; ( int ) @@l@@ <= @@v30@@ + Number ; @@l@@ += Number ) { if ( @@v32@@ < Number ) { v8 = @@v31@@ ++ ; @@v33@@ = * ( unsigned __int8 * ) ( @@v17@@ + v8 ) ; v9 = @@v31@@ ++ ; @@v33@@ |= * ( unsigned __int8 * ) ( @@v17@@ + v9 ) << Number ; @@v32@@ = Number ; } @@v22@@ = ( @@v33@@ >> ( Number * @@v32@@ ) ) & Number ; ++ * ( ( _DWORD * ) @@v18@@ + @@v22@@ ) ; -- @@v32@@ ; if ( @@v22@@ == Number ) { for ( @@m@@ = Number ; @@m@@ <= Number ; ++ @@m@@ ) { @@v26@@ = @@l@@ ; @@v25@@ = @@k@@ ; if ( ( @@m@@ & Number ) != Number ) @@v26@@ += Number ; if ( ( @@m@@ & Number ) != Number ) @@v25@@ += Number ; if ( @@v32@@ < Number ) { v12 = @@v31@@ ++ ; @@v33@@ = * ( unsigned __int8 * ) ( @@v17@@ + v12 ) ; v13 = @@v31@@ ++ ; @@v33@@ |= * ( unsigned __int8 * ) ( @@v17@@ + v13 ) << Number ; @@v32@@ = Number ; } @@v22@@ = ( @@v33@@ >> ( Number * @@v32@@ ) ) & Number ; ++ * ( ( _DWORD * ) & @@v18@@ [ Number ] + @@v22@@ ) ; -- @@v32@@ ; if ( @@v22@@ == Number ) { ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ , @@v25@@ , Number L * * ( unsigned __int8 * ) ( @@v17@@ + @@v31@@ ) + @@a1@@ + Number ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ + Number , @@v25@@ , Number L * * ( unsigned __int8 * ) ( @@v31@@ + Number L + @@v17@@ ) + @@a1@@ + Number ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ , @@v25@@ + Number , Number L * * ( unsigned __int8 * ) ( @@v31@@ + Number L + @@v17@@ ) + @@a1@@ + Number ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ + Number , @@v25@@ + Number , Number L * * ( unsigned __int8 * ) ( @@v31@@ + Number L + @@v17@@ ) + @@a1@@ + Number ) ; @@v31@@ += Number ; } else if ( @@v22@@ <= Number ) { if ( @@v22@@ == Number ) { v15 = @@v31@@ ++ ; @@v21@@ = ( int * ) ( @@a1@@ + Number + Number L * * ( unsigned __int8 * ) ( @@v17@@ + v15 ) ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ , @@v25@@ , Number L * * @@v21@@ + @@a1@@ + Number ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ + Number , @@v25@@ , Number L * @@v21@@ [ Number ] + @@a1@@ + Number ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ , @@v25@@ + Number , Number L * @@v21@@ [ Number ] + @@a1@@ + Number ) ; ff_apply_vector_2x2 ( @@a1@@ , @@v26@@ + Number , @@v25@@ + Number , Number L * @@v21@@ [ Number ] + @@a1@@ + Number ) ; } else if ( @@v22@@ && @@v22@@ == Number ) { @@v20@@ = Number - ( * ( _BYTE * ) ( @@v17@@ + @@v31@@ ) >> Number ) - SBYTE1 ( @@v40@@ ) ; v14 = @@v31@@ ++ ; @@v19@@ = Number - ( * ( _BYTE * ) ( @@v17@@ + v14 ) & Number ) - ( char ) @@v40@@ ; ff_apply_motion_4x4 ( @@a1@@ , @@v26@@ , @@v25@@ , @@v20@@ , @@v19@@ ) ; } } } } else { if ( @@v22@@ <= Number ) { switch ( @@v22@@ ) { case Number : v11 = @@v31@@ ++ ; @@v21@@ = ( int * ) ( @@a1@@ + Number + Number L * * ( unsigned __int8 * ) ( @@v17@@ + v11 ) ) ; ff_apply_vector_4x4 ( @@a1@@ , @@l@@ , @@k@@ , Number L * * @@v21@@ + @@a1@@ + Number ) ; ff_apply_vector_4x4 ( @@a1@@ , @@l@@ + Number , @@k@@ , Number L * @@v21@@ [ Number ] + @@a1@@ + Number ) ; ff_apply_vector_4x4 ( @@a1@@ , @@l@@ , @@k@@ + Number , Number L * @@v21@@ [ Number ] + @@a1@@ + Number ) ; ff_apply_vector_4x4 ( @@a1@@ , @@l@@ + Number , @@k@@ + Number , Number L * @@v21@@ [ Number ] + @@a1@@ + Number ) ; continue ; case Number : continue ; case Number : @@v20@@ = Number - ( * ( _BYTE * ) ( @@v17@@ + @@v31@@ ) >> Number ) - SBYTE1 ( @@v40@@ ) ; v10 = @@v31@@ ++ ; @@v19@@ = Number - ( * ( _BYTE * ) ( @@v17@@ + v10 ) & Number ) - ( char ) @@v40@@ ; ff_apply_motion_8x8 ( @@a1@@ , @@l@@ , @@k@@ , @@v20@@ , @@v19@@ ) ; continue ; } } av_log ( * ( _QWORD * ) @@a1@@ , Number L , String , ( unsigned int ) @@v22@@ ) ; } } } } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v22", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v21", "t": {"T": 3, "t": "int"}, "location": "s112"}, {"n": "v20", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s116"}, {"n": "v40", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v19", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s120"}, {"n": "v18", "t": {"T": 2, "n": 8, "s": 8, "t": "__int64"}, "location": "s184"}, {"n": "v17", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s192"}, {"n": "v39", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "m", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v35", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v34", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v33", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v32", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v31", "t": {"T": 1, "n": "int", "s": 4}, "location": "s56"}, {"n": "v30", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v29", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "l", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s68"}, {"n": "k", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s72"}, {"n": "v26", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s76"}, {"n": "v25", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s80"}, {"n": "v24", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}, {"n": "v23", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s96"}]}
{"name": "roq_decode_frame", "code": "__int64 __fastcall roq_decode_frame ( __int64 @@a1@@ , void * @@a2@@ , _DWORD * @@a3@@ , __int64 @@a4@@ ) { __int64 @@result@@ ; __int64 @@v6@@ ; _BOOL4 @@v7@@ ; __int64 @@v8@@ ; unsigned int @@v9@@ ; __int64 @@v10@@ ; @@v10@@ = * ( _QWORD * ) ( @@a4@@ + Number ) ; @@v9@@ = * ( _DWORD * ) ( @@a4@@ + Number ) ; @@v8@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v7@@ = * * ( _QWORD * * ) ( @@v8@@ + Number ) == Number L ; if ( ( * ( unsigned int ( __fastcall * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , * ( _QWORD * ) ( @@v8@@ + Number ) ) ) { av_log ( @@a1@@ , Number L , String ) ; @@result@@ = Number ; } else { if ( @@v7@@ ) av_picture_copy ( * ( _QWORD * ) ( @@v8@@ + Number ) , * ( _QWORD * ) ( @@v8@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@v8@@ + Number ) = @@v10@@ ; * ( _DWORD * ) ( @@v8@@ + Number ) = @@v9@@ ; roqvideo_decode_frame ( @@v8@@ ) ; * @@a3@@ = Number ; qmemcpy ( @@a2@@ , * ( const void * * ) ( @@v8@@ + Number ) , Number ) ; @@v6@@ = * ( _QWORD * ) ( @@v8@@ + Number ) ; * ( _QWORD * ) ( @@v8@@ + Number ) = * ( _QWORD * ) ( @@v8@@ + Number ) ; * ( _QWORD * ) ( @@v8@@ + Number ) = @@v6@@ ; @@result@@ = @@v9@@ ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_DWORD"}, "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": 3, "t": "void"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v9", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v7", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s36"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]}