{"name": "extend_sign32", "code": "__int64 __fastcall extend_sign32 ( int @@a1@@ , char @@a2@@ ) { return ( unsigned int ) ( @@a1@@ << ( Number - @@a2@@ ) >> ( Number - @@a2@@ ) ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}]}
{"name": "predictor_decompress_fir_adapt", "code": "unsigned __int64 __fastcall predictor_decompress_fir_adapt ( _DWORD * @@a1@@ , _DWORD * @@a2@@ , int @@a3@@ , char @@a4@@ , __int64 @@a5@@ , int @@a6@@ , char @@a7@@ ) { unsigned __int64 result ; int v8 ; _DWORD * @@v13@@ ; int @@v14@@ ; int @@v15@@ ; int @@v16@@ ; int @@m@@ ; int @@n@@ ; int @@v19@@ ; int @@v20@@ ; int @@l@@ ; int i ; int j ; int k ; @@v13@@ = @@a2@@ ; result = ( unsigned __int64 ) @@a2@@ ; * @@a2@@ = * @@a1@@ ; if ( @@a6@@ ) { if ( @@a6@@ == Number ) { if ( @@a3@@ > Number ) { for ( i = Number ; ; ++ i ) { result = ( unsigned int ) ( @@a3@@ - Number ) ; if ( i >= ( int ) result ) break ; @@a2@@ [ i + Number ] = extend_sign32 ( @@a1@@ [ i + Number ] + @@a2@@ [ i ] , @@a4@@ ) ; } } } else { if ( @@a6@@ > Number ) { for ( j = Number ; ; ++ j ) { result = ( unsigned int ) j ; if ( j >= @@a6@@ ) break ; @@a2@@ [ j + Number ] = extend_sign32 ( @@a2@@ [ j ] + @@a1@@ [ j + Number ] , @@a4@@ ) ; } } if ( @@a6@@ > Number ) { for ( k = @@a6@@ + Number ; ; ++ k ) { result = ( unsigned int ) k ; if ( k >= @@a3@@ ) break ; @@v20@@ = Number ; @@v19@@ = @@a1@@ [ k ] ; for ( @@l@@ = Number ; @@l@@ < @@a6@@ ; ++ @@l@@ ) @@v20@@ += ( @@v13@@ [ @@a6@@ - @@l@@ ] - * @@v13@@ ) * * ( __int16 * ) ( Number L * @@l@@ + @@a5@@ ) ; @@v13@@ [ @@a6@@ + Number ] = extend_sign32 ( ( ( ( Number << ( @@a7@@ - Number ) ) + @@v20@@ ) >> @@a7@@ ) + * @@v13@@ + @@v19@@ , @@a4@@ ) ; if ( @@v19@@ <= Number ) { if ( @@v19@@ < Number ) { for ( @@m@@ = @@a6@@ - Number ; @@m@@ >= Number && @@v19@@ < Number ; -- @@m@@ ) { @@v16@@ = * @@v13@@ - @@v13@@ [ @@a6@@ - @@m@@ ] ; v8 = sign_only ( @@v16@@ ) ; * ( _WORD * ) ( Number L * @@m@@ + @@a5@@ ) += v8 ; @@v19@@ -= ( ( - v8 * @@v16@@ ) >> @@a7@@ ) * ( @@a6@@ - @@m@@ ) ; } } } else { for ( @@n@@ = @@a6@@ - Number ; @@n@@ >= Number && @@v19@@ > Number ; -- @@n@@ ) { @@v15@@ = * @@v13@@ - @@v13@@ [ @@a6@@ - @@n@@ ] ; @@v14@@ = sign_only ( @@v15@@ ) ; * ( _WORD * ) ( Number L * @@n@@ + @@a5@@ ) -= @@v14@@ ; @@v19@@ -= ( ( @@v14@@ * @@v15@@ ) >> @@a7@@ ) * ( @@a6@@ - @@n@@ ) ; } } ++ @@v13@@ ; } } } } else if ( @@a3@@ > Number ) { result = ( unsigned __int64 ) memcpy ( @@a2@@ + Number , @@a1@@ + Number , Number * ( @@a3@@ - Number ) ) ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "char", "s": 1}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}, {"n": "a7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s-8"}, {"n": "l", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v20", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v19", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "n", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "m", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v16", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s56"}, {"n": "v13", "t": {"T": 3, "t": "_DWORD"}, "location": "s88"}]} {"name": "alac_decode_frame", "code": "__int64 __fastcall alac_decode_frame ( __int64 @@a1@@ , __int64 @@a2@@ , _DWORD * @@a3@@ , __int64 @@a4@@ , unsigned int @@a5@@ ) { void * v6 ; void * v7 ; void * v8 ; void * v9 ; void * v10 ; int v11 ; int v12 ; int v13 ; int v14 ; __int16 v15 ; int v16 ; int v17 ; __int64 @@v18@@ [ Number ] ; unsigned int @@v19@@ ; __int64 @@v20@@ ; _DWORD * @@v21@@ ; __int64 @@v22@@ ; __int64 @@v23@@ ; __int16 @@v24@@ ; unsigned __int64 @@v25@@ ; __int64 @@v26@@ ; unsigned __int64 @@v27@@ ; __int64 @@v28@@ ; unsigned __int64 @@v29@@ ; __int64 @@v30@@ ; unsigned __int64 @@v31@@ ; __int64 @@v32@@ ; unsigned __int64 @@v33@@ ; __int64 @@v34@@ ; int @@v35@@ ; int @@v36@@ ; int @@v37@@ ; int @@v38@@ ; int @@v39@@ ; int @@v40@@ ; int @@v41@@ ; _QWORD * @@v42@@ ; int @@v43@@ ; char @@v44@@ ; unsigned __int8 @@v45@@ ; int @@n@@ ; int @@m@@ ; int @@l@@ ; int @@k@@ ; int @@j@@ ; int @@i@@ ; int @@ii@@ ; @@v23@@ = @@a1@@ ; @@v22@@ = @@a2@@ ; @@v21@@ = @@a3@@ ; @@v20@@ = @@a4@@ ; @@v19@@ = @@a5@@ ; @@v42@@ = * ( _QWORD * * ) ( @@a1@@ + Number ) ; if ( ! @@a4@@ || ! @@v19@@ ) return @@v19@@ ; if ( ! * ( ( _DWORD * ) @@v42@@ + Number ) ) { if ( * ( _DWORD * ) ( * @@v42@@ + Number L ) != Number ) { av_log ( @@v23@@ , Number L , String , Number L ) ; return @@v19@@ ; } if ( ( unsigned int ) alac_set_info ( @@v42@@ ) ) { av_log ( @@v23@@ , Number L , String ) ; return @@v19@@ ; } * ( ( _DWORD * ) @@v42@@ + Number ) = Number ; } init_get_bits ( ( __int64 ) ( @@v42@@ + Number ) , @@v20@@ , Number * @@v19@@ ) ; @@v41@@ = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) + Number ; if ( @@v41@@ > Number ) { av_log ( @@v23@@ , Number L , String , Number L ) ; return @@v19@@ ; } skip_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; skip_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; @@v40@@ = get_bits1 ( ( __int64 ) ( @@v42@@ + Number ) ) ; @@v39@@ = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; @@v38@@ = get_bits1 ( ( __int64 ) ( @@v42@@ + Number ) ) ; if ( @@v40@@ ) @@v43@@ = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; else @@v43@@ = * ( ( _DWORD * ) @@v42@@ + Number ) ; * @@v21@@ = @@v43@@ * * ( ( _DWORD * ) @@v42@@ + Number ) ; @@v37@@ = * ( ( unsigned __int8 * ) @@v42@@ + Number ) - Number * @@v39@@ + @@v41@@ - Number ; if ( @@v38@@ ) { if ( * ( ( _BYTE * ) @@v42@@ + Number ) > Number ) { for ( @@i@@ = Number ; @@i@@ < @@v41@@ ; ++ @@i@@ ) { for ( @@j@@ = Number ; @@j@@ < @@v43@@ ; ++ @@j@@ ) { @@v36@@ = ( int ) ( ( unsigned int ) get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) << Number ) >> ( Number - * ( ( _BYTE * ) @@v42@@ + Number ) ) ; @@v36@@ |= get_bits ( ( __int64 ) ( @@v42@@ + Number ) , ( unsigned int ) * ( ( unsigned __int8 * ) @@v42@@ + Number ) - Number ) ; * ( _DWORD * ) ( @@v42@@ [ @@i@@ + Number ] + Number L * @@j@@ ) = @@v36@@ ; } } } else { for ( @@k@@ = Number ; @@k@@ < @@v41@@ ; ++ @@k@@ ) { for ( @@l@@ = Number ; @@l@@ < @@v43@@ ; ++ @@l@@ ) { v16 = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , * ( ( unsigned __int8 * ) @@v42@@ + Number ) ) ; @@v35@@ = extend_sign32 ( v16 , @@v37@@ ) ; * ( _DWORD * ) ( @@v42@@ [ @@k@@ + Number ] + Number L * @@l@@ ) = @@v35@@ ; } } } @@v44@@ = Number ; @@v45@@ = Number ; } else { @@v34@@ = @@v41@@ - Number L ; v6 = alloca ( Number * ( ( ( ( __int64 ) @@v41@@ << Number ) + Number ) / Number ) ) ; @@v33@@ = Number * ( ( ( unsigned __int64 ) @@v18@@ + Number ) >> Number ) ; @@v32@@ = @@v34@@ ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; v7 = alloca ( Number * ( ( Number L * @@v41@@ + Number ) / Number ) ) ; @@v31@@ = Number * ( ( ( unsigned __int64 ) @@v18@@ + Number ) >> Number ) ; @@v30@@ = @@v34@@ ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; v8 = alloca ( Number * ( ( Number L * @@v41@@ + Number ) / Number ) ) ; @@v29@@ = @@v31@@ ; @@v28@@ = @@v34@@ ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; v9 = alloca ( Number * ( ( Number L * @@v41@@ + Number ) / Number ) ) ; @@v27@@ = @@v31@@ ; @@v26@@ = @@v34@@ ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = @@v41@@ ; @@v18@@ [ Number ] = Number L ; v10 = alloca ( Number * ( ( Number L * @@v41@@ + Number ) / Number ) ) ; @@v25@@ = @@v31@@ ; @@v44@@ = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; @@v45@@ = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; for ( @@m@@ = Number ; @@m@@ < @@v41@@ ; ++ @@m@@ ) { v11 = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; * ( _DWORD * ) ( @@v29@@ + Number L * @@m@@ ) = v11 ; v12 = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; * ( _DWORD * ) ( @@v27@@ + Number L * @@m@@ ) = v12 ; v13 = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; * ( _DWORD * ) ( @@v25@@ + Number L * @@m@@ ) = v13 ; v14 = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; * ( _DWORD * ) ( @@v31@@ + Number L * @@m@@ ) = v14 ; for ( @@n@@ = Number ; @@n@@ < * ( _DWORD * ) ( @@v31@@ + Number L * @@m@@ ) ; ++ @@n@@ ) { v15 = get_bits ( ( __int64 ) ( @@v42@@ + Number ) , Number ) ; * ( _WORD * ) ( @@v33@@ + Number * ( Number L * @@m@@ + @@n@@ ) ) = v15 ; } } if ( @@v39@@ ) av_log ( @@v23@@ , Number L , String ) ; for ( @@m@@ = Number ; @@m@@ < @@v41@@ ; ++ @@m@@ ) { bastardized_rice_decompress ( ( __int64 ) @@v42@@ , @@v42@@ [ @@m@@ + Number ] , @@v43@@ , @@v37@@ , * ( ( unsigned __int8 * ) @@v42@@ + Number ) , * ( ( unsigned __int8 * ) @@v42@@ + Number ) , * ( _DWORD * ) ( @@v25@@ + Number L * @@m@@ ) * * ( ( unsigned __int8 * ) @@v42@@ + Number ) / Number , ( Number << * ( ( _BYTE * ) @@v42@@ + Number ) ) - Number ) ; if ( * ( _DWORD * ) ( @@v29@@ + Number L * @@m@@ ) ) av_log ( @@v23@@ , Number L , String , * ( unsigned int * ) ( @@v29@@ + Number L * @@m@@ ) ) ; else predictor_decompress_fir_adapt ( ( _DWORD * ) @@v42@@ [ @@m@@ + Number ] , ( _DWORD * ) @@v42@@ [ @@m@@ + Number ] , @@v43@@ , @@v37@@ , ( ( __int64 ) @@m@@ << Number ) + @@v33@@ , * ( _DWORD * ) ( @@v31@@ + Number L * @@m@@ ) , * ( _DWORD * ) ( @@v27@@ + Number L * @@m@@ ) ) ; } } v17 = * ( ( unsigned __int8 * ) @@v42@@ + Number ) ; if ( v17 == Number ) goto LABEL_59 ; if ( * ( ( unsigned __int8 * ) @@v42@@ + Number ) <= Number ) { if ( v17 == Number ) goto LABEL_59 ; if ( * ( ( unsigned __int8 * ) @@v42@@ + Number ) <= Number ) { if ( v17 == Number ) { if ( @@v41@@ == Number ) { reconstruct_stereo_16 ( @@v42@@ + Number , @@v22@@ , * ( ( _DWORD * ) @@v42@@ + Number ) , @@v43@@ , @@v44@@ , @@v45@@ ) ; } else { for ( @@ii@@ = Number ; @@ii@@ < @@v43@@ ; ++ @@ii@@ ) { @@v24@@ = * ( _DWORD * ) ( Number L * @@ii@@ + @@v42@@ [ Number ] ) ; * ( _WORD * ) ( @@v22@@ + Number L * @@ii@@ * * ( ( _DWORD * ) @@v42@@ + Number ) ) = @@v24@@ ; } } return @@v19@@ ; } if ( v17 == Number ) LABEL_59 : av_log ( @@v23@@ , Number L , String , * ( ( unsigned __int8 * ) @@v42@@ + Number ) ) ; } } return @@v19@@ ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "v41", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v40", "t": {"T": 1, "n": "int", "s": 4}, "location": "s104"}, {"n": "v39", "t": {"T": 1, "n": "int", "s": 4}, "location": "s108"}, {"n": "v38", "t": {"T": 1, "n": "int", "s": 4}, "location": "s112"}, {"n": "v37", "t": {"T": 1, "n": "int", "s": 4}, "location": "s116"}, {"n": "v36", "t": {"T": 1, "n": "int", "s": 4}, "location": "s120"}, {"n": "v35", "t": {"T": 1, "n": "int", "s": 4}, "location": "s124"}, {"n": "v34", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s136"}, {"n": "v33", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s144"}, {"n": "v32", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s152"}, {"n": "v31", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s160"}, {"n": "v30", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s168"}, {"n": "v29", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s176"}, {"n": "v28", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s184"}, {"n": "v27", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s192"}, {"n": "v26", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s200"}, {"n": "v25", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s208"}, {"n": "v24", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s210"}, {"n": "v23", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s232"}, {"n": "v22", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s240"}, {"n": "v21", "t": {"T": 3, "t": "_DWORD"}, "location": "s248"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s256"}, {"n": "v19", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s260"}, {"n": "v18", "t": {"T": 2, "n": 17, "s": 8, "t": "__int64"}, "location": "s400"}, {"n": "ii", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s56"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "k", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "l", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "m", "t": {"T": 1, "n": "int", "s": 4}, "location": "s72"}, {"n": "n", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}, {"n": "v45", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s77"}, {"n": "v44", "t": {"T": 1, "n": "char", "s": 1}, "location": "s78"}, {"n": "v43", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}, {"n": "v42", "t": {"T": 3, "t": "_QWORD"}, "location": "s96"}]}