{"name": "ff_thread_await_progress", "code": "int __fastcall ff_thread_await_progress ( __int64 @@a1@@ , int @@a2@@ , unsigned int @@a3@@ ) { _DWORD * @@v3@@ ; __int64 @@v6@@ ; _DWORD * @@v7@@ ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) @@v3@@ = * ( _DWORD * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; else @@v3@@ = Number L ; @@v7@@ = @@v3@@ ; if ( @@v3@@ ) { LODWORD ( @@v3@@ ) = @@v3@@ [ @@a3@@ ] ; if ( ( int ) @@v3@@ < @@a2@@ ) { @@v6@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number L * ( int ) @@a3@@ + Number ) + Number L ) + Number L ) ; if ( * ( _DWORD * ) ( @@v6@@ + Number ) ) av_log ( * ( _QWORD * ) ( @@a1@@ + Number L * ( int ) @@a3@@ + Number ) , Number L , String , ( unsigned int ) @@a2@@ , @@a3@@ , @@v7@@ ) ; pthread_mutex_lock ( ( pthread_mutex_t * ) ( @@v6@@ + Number ) ) ; while ( @@v7@@ [ @@a3@@ ] < @@a2@@ ) pthread_cond_wait ( ( pthread_cond_t * ) ( @@v6@@ + Number ) , ( pthread_mutex_t * ) ( @@v6@@ + Number ) ) ; LODWORD ( @@v3@@ ) = pthread_mutex_unlock ( ( pthread_mutex_t * ) ( @@v6@@ + Number ) ) ; } } return ( int ) @@v3@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 3, "t": "_DWORD"}, "location": "r8"}, {"n": "v7", "t": {"T": 3, "t": "_DWORD"}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}]}