{"name": "update_context_from_user", "code": "__int64 __fastcall update_context_from_user ( __int64 @@a1@@ , __int64 @@a2@@ ) { int @@v3@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a2@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a2@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a2@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; memcpy ( ( void * ) ( @@a1@@ + Number ) , ( const void * ) ( @@a2@@ + Number ) , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a2@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) && * ( _QWORD * ) ( @@a2@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) < * ( _DWORD * ) ( @@a2@@ + Number ) ) { @@v3@@ = av_reallocp_array ( @@a1@@ + Number , * ( int * ) ( @@a2@@ + Number ) , Number L ) ; if ( @@v3@@ < Number ) return ( unsigned int ) @@v3@@ ; } memcpy ( * ( void * * ) ( @@a1@@ + Number ) , * ( const void * * ) ( @@a2@@ + Number ) , Number L * * ( int * ) ( @@a2@@ + Number ) ) ; } * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a2@@ + Number ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}]}
{"name": "submit_packet", "code": "__int64 __fastcall submit_packet ( __int64 * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { __int64 result ; int v4 ; unsigned int @@v6@@ ; unsigned int v7 ; int v8 ; __int64 @@v9@@ ; __int64 @@v10@@ ; int @@v11@@ ; @@v10@@ = * @@a1@@ ; @@v9@@ = * ( _QWORD * ) ( * @@a1@@ + Number ) ; if ( ! * ( _DWORD * ) ( @@a3@@ + Number ) && ( * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ [ Number ] + Number ) + Number L ) & Number ) == Number ) return Number L ; pthread_mutex_lock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; v7 = update_context_from_user ( @@a1@@ [ Number ] , @@a2@@ ) ; if ( v7 ) { pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; result = v7 ; } else { * ( ( _DWORD * ) @@a1@@ + Number ) = ( * ( _DWORD * ) ( @@a1@@ [ Number ] + Number ) & Number ) != Number ; release_delayed_buffers ( @@a1@@ ) ; if ( ! @@v9@@ ) goto LABEL_14 ; if ( * ( _DWORD * ) ( @@v9@@ + Number ) == Number ) { pthread_mutex_lock ( ( pthread_mutex_t * ) ( @@v9@@ + Number ) ) ; while ( * ( _DWORD * ) ( @@v9@@ + Number ) == Number ) pthread_cond_wait ( ( pthread_cond_t * ) ( @@v9@@ + Number ) , ( pthread_mutex_t * ) ( @@v9@@ + Number ) ) ; pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@v9@@ + Number ) ) ; } @@v6@@ = update_context_from_thread ( @@a1@@ [ Number ] , * ( _QWORD * ) ( @@v9@@ + Number ) , Number ) ; if ( @@v6@@ ) { pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; result = @@v6@@ ; } else { LABEL_14 : av_packet_unref ( @@a1@@ + Number ) ; v8 = av_packet_ref ( @@a1@@ + Number , @@a3@@ ) ; if ( v8 >= Number ) { * ( ( _DWORD * ) @@a1@@ + Number ) = Number ; _mm_mfence ( ) ; pthread_cond_signal ( ( pthread_cond_t * ) ( @@a1@@ + Number ) ) ; pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; if ( ! * ( _DWORD * ) ( @@a1@@ [ Number ] + Number ) && ( * ( _UNKNOWN * * ) ( @@a1@@ [ Number ] + Number ) != & avcodec_default_get_format || * ( _UNKNOWN * * ) ( @@a1@@ [ Number ] + Number ) != & avcodec_default_get_buffer2 ) ) { while ( * ( ( _DWORD * ) @@a1@@ + Number ) != Number && * ( ( _DWORD * ) @@a1@@ + Number ) ) { @@v11@@ = Number ; pthread_mutex_lock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; while ( * ( ( _DWORD * ) @@a1@@ + Number ) == Number ) pthread_cond_wait ( ( pthread_cond_t * ) ( @@a1@@ + Number ) , ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; v4 = * ( ( _DWORD * ) @@a1@@ + Number ) ; if ( v4 == Number ) { * ( ( _DWORD * ) @@a1@@ + Number ) = ff_get_buffer ( @@a1@@ [ Number ] , @@a1@@ [ Number ] , * ( ( unsigned int * ) @@a1@@ + Number ) ) ; } else if ( v4 == Number ) { * ( ( _DWORD * ) @@a1@@ + Number ) = ff_get_format ( @@a1@@ [ Number ] , @@a1@@ [ Number ] ) ; } else { @@v11@@ = Number ; } if ( @@v11@@ ) { * ( ( _DWORD * ) @@a1@@ + Number ) = Number ; _mm_mfence ( ) ; pthread_cond_signal ( ( pthread_cond_t * ) ( @@a1@@ + Number ) ) ; } pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; } } * ( _QWORD * ) ( @@v10@@ + Number ) = @@a1@@ ; ++ * ( _DWORD * ) ( @@v10@@ + Number ) ; result = Number L ; } else { pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@a1@@ + Number ) ) ; av_log ( @@a1@@ [ Number ] , Number L , String ) ; result = ( unsigned int ) v8 ; } } } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s76"}]}