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