{"name": "sws_scale", "code": "__int64 __fastcall sws_scale ( __int64 @@a1@@ , _QWORD * @@a2@@ , int * @@a3@@ , unsigned int @@a4@@ , int @@a5@@ , const void * @@a6@@ , int * @@a7@@ ) { __int64 result ; int v9 ; int v10 ; int v11 ; int v12 ; int v13 ; int v14 ; int v15 ; __int64 v17 ; __int64 v18 ; int @@v24@@ [ Number ] ; int @@v25@@ [ Number ] ; int @@v26@@ [ Number ] ; int @@v27@@ [ Number ] ; __int64 @@v28@@ [ Number ] ; __int64 @@dest@@ [ Number ] ; __int64 @@v30@@ ; unsigned int @@v31@@ ; __int64 @@v32@@ ; unsigned int @@v33@@ ; int @@v34@@ ; int @@v35@@ ; int @@v36@@ ; __int64 @@v37@@ ; unsigned int @@v38@@ ; __int64 @@v39@@ ; __int64 @@v40@@ ; int @@v41@@ ; int @@v42@@ ; int @@v43@@ ; unsigned int @@v44@@ ; int @@j@@ ; int @@k@@ ; unsigned int @@v47@@ ; int @@v48@@ ; int @@v49@@ ; int @@v50@@ ; __int64 @@v51@@ ; unsigned int @@v52@@ ; int @@i@@ ; @@v51@@ = Number L ; if ( ! @@a3@@ || ! @@a7@@ || ! @@a6@@ || ! @@a2@@ ) { av_log ( @@a1@@ , Number L , String ) ; return Number L ; } if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ! @@a4@@ && @@a5@@ == * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) { @@v52@@ = sws_scale ( * ( _QWORD * ) ( @@a1@@ + Number ) , ( _DWORD ) @@a2@@ , ( _DWORD ) @@a3@@ , Number , @@a5@@ , ( int ) @@a1@@ + Number , @@a1@@ + Number ) ; if ( ( @@v52@@ & Number ) == Number ) result = ( unsigned int ) sws_scale ( * ( _QWORD * ) ( @@a1@@ + Number ) , ( int ) @@a1@@ + Number , ( int ) @@a1@@ + Number , Number , * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) , ( _DWORD ) @@a6@@ , ( __int64 ) @@a7@@ ) ; else result = @@v52@@ ; return result ; } memcpy ( @@dest@@ , @@a2@@ , sizeof ( @@dest@@ ) ) ; memcpy ( @@v28@@ , @@a6@@ , sizeof ( @@v28@@ ) ) ; if ( ! @@a5@@ ) return Number L ; if ( ! ( unsigned int ) check_image_pointers ( ( __int64 ) @@a2@@ , * ( _DWORD * ) ( @@a1@@ + Number ) , ( __int64 ) @@a3@@ ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number L ; } if ( ! ( unsigned int ) check_image_pointers ( ( __int64 ) @@a6@@ , * ( _DWORD * ) ( @@a1@@ + Number ) , ( __int64 ) @@a7@@ ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number L ; } if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) && @@a4@@ && @@a5@@ + @@a4@@ != * ( _DWORD * ) ( @@a1@@ + Number ) ) { av_log ( @@a1@@ , Number L , String ) ; return Number L ; } if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( @@a4@@ ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; else * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } @@v38@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v37@@ = av_pix_fmt_desc_get ( @@v38@@ ) ; if ( ! @@v37@@ ) { av_log ( Number L , Number L , String , String , String , Number L ) ; abort ( ) ; } if ( ( * ( _BYTE * ) ( @@v37@@ + Number ) & Number ) != Number || ( * ( _BYTE * ) ( @@v37@@ + Number ) & Number ) != Number ) { for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { @@v47@@ = Number ; switch ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { case Number : @@v44@@ = * ( _DWORD * ) ( Number L * @@i@@ + @@a2@@ [ Number ] ) ; @@v47@@ = HIBYTE ( @@v44@@ ) ; @@v50@@ = BYTE2 ( @@v44@@ ) ; @@v49@@ = BYTE1 ( @@v44@@ ) ; @@v48@@ = ( unsigned __int8 ) @@v44@@ ; break ; case Number : @@v50@@ = Number * ( @@i@@ >> Number ) ; @@v49@@ = Number * ( ( @@i@@ >> Number ) & Number ) ; @@v48@@ = Number * ( @@i@@ & Number ) ; break ; case Number : @@v48@@ = Number * ( @@i@@ >> Number ) ; @@v49@@ = Number * ( ( @@i@@ >> Number ) & Number ) ; @@v50@@ = Number * ( @@i@@ & Number ) ; break ; case Number : @@v50@@ = Number * ( @@i@@ >> Number ) ; @@v49@@ = Number * ( ( @@i@@ >> Number ) & Number ) ; @@v48@@ = Number * ( @@i@@ & Number ) ; break ; case Number : case Number : @@v48@@ = @@i@@ ; @@v49@@ = @@i@@ ; @@v50@@ = @@i@@ ; break ; default : @@v48@@ = Number * ( @@i@@ >> Number ) ; @@v49@@ = Number * ( ( @@i@@ >> Number ) & Number ) ; @@v50@@ = Number * ( @@i@@ & Number ) ; break ; } @@v34@@ = ( Number * @@v49@@ + Number * @@v50@@ + Number * @@v48@@ + Number ) >> Number ; v9 = @@v34@@ ; LOBYTE ( v9 ) = Number ; if ( v9 ) v10 = - @@v34@@ >> Number ; else LOBYTE ( v10 ) = @@v34@@ ; @@v43@@ = ( unsigned __int8 ) v10 ; @@v35@@ = ( Number * @@v49@@ - Number * @@v50@@ + Number * @@v48@@ + Number ) >> Number ; v11 = @@v35@@ ; LOBYTE ( v11 ) = Number ; if ( v11 ) v12 = - @@v35@@ >> Number ; else LOBYTE ( v12 ) = @@v35@@ ; @@v42@@ = ( unsigned __int8 ) v12 ; @@v36@@ = ( Number * @@v49@@ + Number * @@v50@@ - Number * @@v48@@ + Number ) >> Number ; v13 = @@v36@@ ; LOBYTE ( v13 ) = Number ; if ( v13 ) v14 = - @@v36@@ >> Number ; else LOBYTE ( v14 ) = @@v36@@ ; @@v41@@ = ( unsigned __int8 ) v14 ; * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) ) = @@v43@@ + ( @@v42@@ << Number ) + ( ( unsigned __int8 ) v14 << Number ) + ( @@v47@@ << Number ) ; v15 = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( v15 == Number ) { * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) ) = @@v47@@ + ( @@v48@@ << Number ) + ( @@v49@@ << Number ) + ( @@v50@@ << Number ) ; } else { if ( v15 > Number ) goto LABEL_64 ; if ( v15 == Number || v15 == Number ) { * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) ) = @@v50@@ + ( @@v49@@ << Number ) + ( @@v48@@ << Number ) + ( @@v47@@ << Number ) ; continue ; } if ( v15 == Number ) * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) ) = @@v47@@ + ( @@v50@@ << Number ) + ( @@v49@@ << Number ) + ( @@v48@@ << Number ) ; else LABEL_64 : * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) ) = @@v48@@ + ( @@v49@@ << Number ) + ( @@v50@@ << Number ) + ( @@v47@@ << Number ) ; } } } if ( * ( _DWORD * ) ( @@a1@@ + Number ) && ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { @@v33@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v32@@ = av_pix_fmt_desc_get ( @@v33@@ ) ; if ( ! @@v32@@ ) { av_log ( Number L , Number L , String , String , String , Number L ) ; abort ( ) ; } if ( @@v33@@ == Number ? Number : * ( _BYTE * ) ( @@v32@@ + Number ) & Number ) { @@v51@@ = av_malloc ( ( int ) ( @@a5@@ * abs32 ( * @@a3@@ ) + Number ) ) ; if ( ! @@v51@@ ) return Number L ; if ( * @@a3@@ >= Number ) v17 = @@v51@@ ; else v17 = @@v51@@ - ( @@a5@@ - Number ) * * @@a3@@ ; @@v40@@ = v17 ; for ( @@j@@ = Number ; @@j@@ < @@a5@@ ; ++ @@j@@ ) { memcpy ( ( void * ) ( @@v40@@ + @@j@@ * * @@a3@@ ) , ( const void * ) ( @@dest@@ [ Number ] + @@j@@ * * @@a3@@ ) , Number * * ( _DWORD * ) ( @@a1@@ + Number ) ) ; for ( @@k@@ = * ( _DWORD * ) ( @@a1@@ + Number ) - Number ; @@k@@ < Number * * ( _DWORD * ) ( @@a1@@ + Number ) ; @@k@@ += Number ) * ( _BYTE * ) ( @@j@@ * * @@a3@@ + @@k@@ + @@v40@@ ) = Number ; } @@dest@@ [ Number ] = @@v40@@ ; } } if ( * ( _DWORD * ) ( @@a1@@ + Number ) && ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) != * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) != * ( _DWORD * ) ( @@a1@@ + Number ) ) ) { @@v51@@ = av_malloc ( ( int ) ( @@a5@@ * abs32 ( * @@a3@@ ) + Number ) ) ; if ( ! @@v51@@ ) return Number L ; if ( * @@a3@@ >= Number ) v18 = @@v51@@ ; else v18 = @@v51@@ - ( @@a5@@ - Number ) * * @@a3@@ ; @@v39@@ = v18 ; xyz12Torgb48 ( @@a1@@ , v18 , @@dest@@ [ Number ] , * @@a3@@ / Number , @@a5@@ ) ; @@dest@@ [ Number ] = @@v39@@ ; } if ( ! @@a4@@ && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number && * ( _DWORD * ) ( @@a1@@ + Number ) == Number && * ( _QWORD * ) ( @@a1@@ + Number ) ) { for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) memset ( * ( void * * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) ) , Number , Number L * ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { @@v27@@ [ Number ] = * @@a3@@ ; @@v27@@ [ Number ] = @@a3@@ [ Number ] ; @@v27@@ [ Number ] = @@a3@@ [ Number ] ; @@v27@@ [ Number ] = @@a3@@ [ Number ] ; @@v26@@ [ Number ] = * @@a7@@ ; @@v26@@ [ Number ] = @@a7@@ [ Number ] ; @@v26@@ [ Number ] = @@a7@@ [ Number ] ; @@v26@@ [ Number ] = @@a7@@ [ Number ] ; reset_ptr ( @@dest@@ , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; reset_ptr ( @@v28@@ , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( @@a5@@ + @@a4@@ == * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; @@v52@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , __int64 * , int * , _QWORD , _QWORD , __int64 * , int * ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , @@dest@@ , @@v27@@ , @@a4@@ , ( unsigned int ) @@a5@@ , @@v28@@ , @@v26@@ ) ; } else { @@v25@@ [ Number ] = - * @@a3@@ ; @@v25@@ [ Number ] = - @@a3@@ [ Number ] ; @@v25@@ [ Number ] = - @@a3@@ [ Number ] ; @@v25@@ [ Number ] = - @@a3@@ [ Number ] ; @@v24@@ [ Number ] = - * @@a7@@ ; @@v24@@ [ Number ] = - @@a7@@ [ Number ] ; @@v24@@ [ Number ] = - @@a7@@ [ Number ] ; @@v24@@ [ Number ] = - @@a7@@ [ Number ] ; @@dest@@ [ Number ] += ( @@a5@@ - Number ) * * @@a3@@ ; @@v31@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v30@@ = av_pix_fmt_desc_get ( @@v31@@ ) ; if ( ! @@v30@@ ) { av_log ( Number L , Number L , String , String , String , Number L ) ; abort ( ) ; } if ( ( * ( _BYTE * ) ( @@v30@@ + Number ) & Number ) == Number && ( * ( _BYTE * ) ( @@v30@@ + Number ) & Number ) == Number ) @@dest@@ [ Number ] += ( ( @@a5@@ >> * ( _DWORD * ) ( @@a1@@ + Number ) ) - Number ) * @@a3@@ [ Number ] ; @@dest@@ [ Number ] += ( ( @@a5@@ >> * ( _DWORD * ) ( @@a1@@ + Number ) ) - Number ) * @@a3@@ [ Number ] ; @@dest@@ [ Number ] += ( @@a5@@ - Number ) * @@a3@@ [ Number ] ; @@v28@@ [ Number ] += ( * ( _DWORD * ) ( @@a1@@ + Number ) - Number ) * * @@a7@@ ; @@v28@@ [ Number ] += ( ( * ( int * ) ( @@a1@@ + Number ) >> * ( _DWORD * ) ( @@a1@@ + Number ) ) - Number ) * @@a7@@ [ Number ] ; @@v28@@ [ Number ] += ( ( * ( int * ) ( @@a1@@ + Number ) >> * ( _DWORD * ) ( @@a1@@ + Number ) ) - Number ) * @@a7@@ [ Number ] ; @@v28@@ [ Number ] += ( * ( _DWORD * ) ( @@a1@@ + Number ) - Number ) * @@a7@@ [ Number ] ; reset_ptr ( @@dest@@ , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; reset_ptr ( @@v28@@ , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( ! @@a4@@ ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; @@v52@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , __int64 * , int * , _QWORD , _QWORD , __int64 * , int * ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , @@dest@@ , @@v25@@ , * ( _DWORD * ) ( @@a1@@ + Number ) - @@a4@@ - @@a5@@ , ( unsigned int ) @@a5@@ , @@v28@@ , @@v24@@ ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) && ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) != * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) != * ( _DWORD * ) ( @@a1@@ + Number ) ) ) { rgb48Toxyz12 ( @@a1@@ , @@v28@@ [ Number ] , @@v28@@ [ Number ] , * @@a7@@ / Number , @@v52@@ ) ; } av_free ( @@v51@@ ) ; return @@v52@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "int"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 3, "t": "const void"}, "location": "r80"}, {"n": "a7", "t": {"T": 3, "t": "int"}, "location": "s-8"}, {"n": "v36", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v35", "t": {"T": 1, "n": "int", "s": 4}, "location": "s104"}, {"n": "v34", "t": {"T": 1, "n": "int", "s": 4}, "location": "s108"}, {"n": "v33", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s112"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v32", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s120"}, {"n": "v31", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s124"}, {"n": "v30", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s136"}, {"n": "v52", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "dest", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s168"}, {"n": "v28", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s200"}, {"n": "v27", "t": {"T": 2, "n": 4, "s": 4, "t": "int"}, "location": "s216"}, {"n": "v26", "t": {"T": 2, "n": 4, "s": 4, "t": "int"}, "location": "s232"}, {"n": "v51", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v25", "t": {"T": 2, "n": 4, "s": 4, "t": "int"}, "location": "s248"}, {"n": "v24", "t": {"T": 2, "n": 4, "s": 4, "t": "int"}, "location": "s264"}, {"n": "v50", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v49", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v48", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v47", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s40"}, {"n": "k", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v44", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s52"}, {"n": "v43", "t": {"T": 1, "n": "int", "s": 4}, "location": "s56"}, {"n": "v42", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v41", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "v40", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "v39", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}, {"n": "v38", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s84"}, {"n": "v37", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s96"}]}