{"name": "audio_pcm_sw_read", "code": "__int64 __fastcall audio_pcm_sw_read ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , int @@a4@@ , int @@a5@@ , int @@a6@@ ) { int v6 ; int v7 ; int v8 ; int v9 ; __int64 v10 ; _BOOL4 v11 ; __int64 v12 ; __int64 v13 ; __int64 result ; int v15 ; int v16 ; __int64 v17 ; __int64 v18 ; __int64 v19 ; __int64 v20 ; int @@v21@@ ; int @@v22@@ ; unsigned int @@v23@@ ; unsigned int @@v24@@ ; int @@v25@@ ; int @@v26@@ ; int @@v27@@ ; int @@v28@@ ; int @@v29@@ ; int @@v30@@ ; int @@v31@@ ; __int64 @@v32@@ ; __int64 @@v33@@ ; __int64 @@v34@@ ; unsigned __int64 @@v35@@ ; @@v21@@ = @@a3@@ ; @@v35@@ = __readfsqword ( Number ) ; @@v33@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v24@@ = Number ; @@v27@@ = Number ; @@v32@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; v6 = audio_pcm_sw_get_rpos_in ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; v9 = * ( _DWORD * ) ( @@v33@@ + Number ) ; @@v26@@ = v6 % v9 ; v10 = ( unsigned int ) ( * ( _DWORD * ) ( @@v33@@ + Number ) - * ( _DWORD * ) ( @@a1@@ + Number ) ) ; @@v28@@ = * ( _DWORD * ) ( @@v33@@ + Number ) - * ( _DWORD * ) ( @@a1@@ + Number ) ; v11 = @@v28@@ < Number || @@v28@@ > * ( _DWORD * ) ( @@v33@@ + Number ) ; if ( ( unsigned int ) audio_bug ( ( int ) String , v11 , v10 , v9 , v7 , v8 ) ) { AUD_log ( String , String , ( unsigned int ) @@v28@@ , * ( unsigned int * ) ( @@v33@@ + Number ) , v12 , v13 ) ; result = Number L ; } else { v15 = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v29@@ = @@v21@@ >> v15 ; if ( @@v28@@ ) { @@v30@@ = ( unsigned __int64 ) ( @@v28@@ * * ( _QWORD * ) ( @@a1@@ + Number ) ) >> Number ; @@v31@@ = @@v29@@ ; v16 = @@v29@@ ; if ( @@v30@@ <= @@v29@@ ) v16 = @@v30@@ ; @@v25@@ = v16 ; while ( @@v25@@ ) { v17 = Number L * @@v26@@ ; @@v34@@ = v17 + * ( _QWORD * ) ( @@v33@@ + Number ) ; @@v22@@ = * ( _DWORD * ) ( @@v33@@ + Number ) - @@v26@@ ; if ( @@v22@@ <= Number ) @@v22@@ = * ( _DWORD * ) ( @@v33@@ + Number ) - @@v26@@ ; if ( ! @@v22@@ ) break ; @@v23@@ = @@v25@@ ; if ( ( unsigned int ) audio_bug ( ( int ) String , @@v25@@ < Number , v17 , v15 , v12 , v13 ) ) { AUD_log ( String , String , @@v23@@ , v18 , v19 , v20 ) ; return Number L ; } st_rate_flow ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v34@@ , @@v32@@ , & @@v22@@ , & @@v23@@ ) ; @@v25@@ -= @@v23@@ ; v15 = * ( _DWORD * ) ( @@v33@@ + Number ) ; @@v26@@ = ( @@v26@@ + @@v22@@ ) % v15 ; @@v32@@ += Number L * ( int ) @@v23@@ ; @@v24@@ += @@v23@@ ; @@v27@@ += @@v22@@ ; } if ( ( * ( _DWORD * ) ( @@v33@@ + Number ) & Number ) == Number ) mixeng_volume ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v24@@ , @@a1@@ + Number ) ; ( * ( void ( __fastcall * * ) ( __int64 , _QWORD , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , @@v24@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v27@@ ; result = @@v24@@ << * ( _DWORD * ) ( @@a1@@ + Number ) ; } else { result = Number L ; } } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "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": "int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}, {"n": "v21", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v34", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v33", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v32", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v31", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v30", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v29", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v28", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v27", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v26", "t": {"T": 1, "n": "int", "s": 4}, "location": "s56"}, {"n": "v25", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v24", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s64"}, {"n": "v23", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s68"}, {"n": "v22", "t": {"T": 1, "n": "int", "s": 4}, "location": "s72"}, {"n": "v35", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}