{"name": "unpack_parse_unit", "code": "__int64 __fastcall unpack_parse_unit ( __int64 @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { unsigned __int64 @@v4@@ ; @@v4@@ = * ( _QWORD * ) ( @@a2@@ + Number ) + @@a3@@ ; if ( @@v4@@ < * ( _QWORD * ) ( @@a2@@ + Number ) || * ( _QWORD * ) ( @@a2@@ + Number ) + * ( int * ) ( @@a2@@ + Number ) < @@v4@@ + Number ) return Number L ; * ( _BYTE * ) ( @@a1@@ + Number ) = * ( _BYTE * ) ( @@v4@@ + Number ) ; * ( _DWORD * ) @@a1@@ = _byteswap_ulong ( * ( _DWORD * ) ( @@v4@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = _byteswap_ulong ( * ( _DWORD * ) ( @@v4@@ + Number ) ) ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) == Number && ! * ( _DWORD * ) @@a1@@ ) * ( _DWORD * ) @@a1@@ = Number ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "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": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "dirac_combine_frame", "code": "__int64 __fastcall dirac_combine_frame ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ , const void * * @@a4@@ , unsigned int * @@a5@@ ) { _BOOL4 v5 ; __int64 result ; int @@v10@@ ; char @@v11@@ ; char @@v12@@ [ Number ] ; int @@v13@@ ; unsigned int @@v14@@ ; __int64 @@v15@@ ; unsigned int @@v16@@ ; __int64 @@v17@@ ; __int64 @@v18@@ ; __int64 @@v19@@ ; _BOOL4 @@v20@@ ; v5 = * ( _QWORD * ) ( @@a1@@ + Number ) == Number && * ( _QWORD * ) ( @@a1@@ + Number ) == Number ; @@v20@@ = v5 ; @@v19@@ = * ( _QWORD * ) @@a1@@ ; if ( * ( _DWORD * ) ( @@v19@@ + Number ) && ( memcpy ( * ( void * * ) ( @@v19@@ + Number ) , ( const void * ) ( * ( int * ) ( @@v19@@ + Number ) + * ( _QWORD * ) ( @@v19@@ + Number ) ) , * ( _DWORD * ) ( @@v19@@ + Number ) - * ( _DWORD * ) ( @@v19@@ + Number ) ) , * ( _DWORD * ) ( @@v19@@ + Number ) -= * ( _DWORD * ) ( @@v19@@ + Number ) , * ( _DWORD * ) ( @@v19@@ + Number ) = Number , ! * @@a5@@ ) && * ( _BYTE * ) ( * ( _QWORD * ) ( @@v19@@ + Number ) + Number L ) == Number ) { * @@a4@@ = * ( const void * * ) ( @@v19@@ + Number ) ; * @@a5@@ = * ( _DWORD * ) ( @@v19@@ + Number ) ; result = Number L ; } else if ( @@a3@@ == Number ) { @@v15@@ = av_fast_realloc ( * ( _QWORD * ) ( @@v19@@ + Number ) , @@v19@@ + Number , * ( _DWORD * ) ( @@v19@@ + Number ) + * @@a5@@ - * ( _DWORD * ) ( @@v19@@ + Number ) ) ; * ( _QWORD * ) ( @@v19@@ + Number ) = @@v15@@ ; memcpy ( ( void * ) ( * ( int * ) ( @@v19@@ + Number ) + * ( _QWORD * ) ( @@v19@@ + Number ) ) , ( char * ) * @@a4@@ + * ( int * ) ( @@v19@@ + Number ) , ( int ) ( * @@a5@@ - * ( _DWORD * ) ( @@v19@@ + Number ) ) ) ; * ( _DWORD * ) ( @@v19@@ + Number ) += * @@a5@@ - * ( _DWORD * ) ( @@v19@@ + Number ) ; result = Number ; } else { @@v18@@ = av_fast_realloc ( * ( _QWORD * ) ( @@v19@@ + Number ) , @@v19@@ + Number , * ( _DWORD * ) ( @@v19@@ + Number ) + @@a3@@ ) ; * ( _QWORD * ) ( @@v19@@ + Number ) = @@v18@@ ; memcpy ( ( void * ) ( * ( _QWORD * ) ( @@v19@@ + Number ) + * ( int * ) ( @@v19@@ + Number ) ) , * @@a4@@ , ( int ) @@a3@@ ) ; * ( _DWORD * ) ( @@v19@@ + Number ) += @@a3@@ ; if ( ( unsigned int ) unpack_parse_unit ( ( __int64 ) @@v12@@ , @@v19@@ , * ( _DWORD * ) ( @@v19@@ + Number ) - Number ) && ( unsigned int ) unpack_parse_unit ( ( __int64 ) & @@v10@@ , @@v19@@ , * ( _DWORD * ) ( @@v19@@ + Number ) - Number - @@v13@@ ) && @@v10@@ == @@v13@@ ) { * ( _QWORD * ) ( @@v19@@ + Number ) = * ( int * ) ( @@v19@@ + Number ) - ( __int64 ) @@v13@@ - * ( int * ) ( @@v19@@ + Number ) - Number + * ( _QWORD * ) ( @@v19@@ + Number ) ; * ( _DWORD * ) ( @@v19@@ + Number ) += @@v10@@ ; if ( ( @@v11@@ & Number ) != Number ) { if ( @@v20@@ ) { @@v17@@ = * ( _QWORD * ) ( @@v19@@ + Number ) + * ( int * ) ( @@v19@@ + Number ) - ( __int64 ) @@v13@@ - Number ; @@v14@@ = * ( _DWORD * ) ( @@v17@@ + Number ) ; @@v14@@ = _byteswap_ulong ( @@v14@@ ) ; @@v16@@ = @@v14@@ ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) || * ( _QWORD * ) ( @@a1@@ + Number ) ) * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ; else * ( _QWORD * ) ( @@a1@@ + Number ) = ( int ) ( @@v16@@ - Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = ( int ) @@v16@@ ; if ( ! * ( _DWORD * ) ( @@a2@@ + Number ) && ( * ( _BYTE * ) ( @@v17@@ + Number ) & Number ) != Number ) * ( _DWORD * ) ( @@a2@@ + Number ) = Number ; } if ( * ( _DWORD * ) ( @@a2@@ + Number ) ) { if ( * ( _QWORD * ) ( @@a1@@ + Number ) == * ( _QWORD * ) ( @@a1@@ + Number ) ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } * @@a4@@ = * ( const void * * ) ( @@v19@@ + Number ) ; * @@a5@@ = * ( _DWORD * ) ( @@v19@@ + Number ) ; * ( _DWORD * ) ( @@v19@@ + Number ) = Number ; * ( _DWORD * ) ( @@v19@@ + Number ) = * ( _DWORD * ) ( @@v19@@ + Number ) - Number ; * ( _DWORD * ) ( @@v19@@ + Number ) = Number ; result = @@a3@@ ; } else { * ( _DWORD * ) ( @@v19@@ + Number ) = Number ; * @@a5@@ = @@a3@@ ; result = Number ; } } else { * ( _DWORD * ) ( @@v19@@ + Number ) -= Number ; * @@a5@@ = @@a3@@ - Number ; * ( _DWORD * ) ( @@v19@@ + Number ) = Number ; result = Number ; } } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "const void *"}, "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": 3, "t": "unsigned int"}, "location": "r72"}, {"n": "v20", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s12"}, {"n": "v19", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v16", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s44"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v14", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s60"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "v12", "t": {"T": 2, "n": 4, "s": 1, "t": "char"}, "location": "s72"}, {"n": "v11", "t": {"T": 1, "n": "char", "s": 1}, "location": "s76"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}]}