{"name": "virtio_wmb", "code": "__int64 __fastcall virtio_wmb ( unsigned int @@a1@@ ) { __int64 @@result@@ ; @@result@@ = @@a1@@ ; if ( ! ( _BYTE ) @@a1@@ ) abort ( ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "__vringh_complete", "code": "__int64 __fastcall _vringh_complete ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ , __int64 ( __fastcall * @@a4@@ ) ( __int64 , __int64 , _QWORD ) , __int64 ( __fastcall * @@a5@@ ) ( __int64 , __int64 , _QWORD ) ) { __int64 v5 ; __int64 v6 ; __int64 @@result@@ ; __int64 v8 ; __int64 v9 ; __int64 v10 ; __int64 v11 ; unsigned __int16 @@v15@@ ; unsigned __int16 @@v16@@ ; unsigned __int16 @@v17@@ ; __int64 @@v18@@ ; unsigned int v19 ; unsigned int v20 ; @@v18@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v17@@ = * ( _WORD * ) ( @@a1@@ + Number ) + * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v16@@ = ( unsigned int ) @@v17@@ % * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@a3@@ <= Number || @@a3@@ + @@v16@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ) { v19 = @@a5@@ ( Number L * @@v16@@ + @@v18@@ + Number , @@a2@@ , @@a3@@ ) ; } else { @@v15@@ = * ( _DWORD * ) ( @@a1@@ + Number ) - @@v16@@ ; v19 = @@a5@@ ( Number L * @@v16@@ + @@v18@@ + Number , @@a2@@ , @@v15@@ ) ; if ( ! v19 ) v19 = @@a5@@ ( @@v18@@ + Number , Number L * @@v15@@ + @@a2@@ , @@a3@@ - @@v15@@ ) ; } if ( v19 ) { vringh_bad ( String , @@a3@@ , @@v16@@ , Number L * @@v16@@ + @@v18@@ + Number , v5 , v6 ) ; @@result@@ = v19 ; } else { virtio_wmb ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) ; v20 = @@a4@@ ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L , ( unsigned __int16 ) ( @@a3@@ + @@v17@@ ) ) ; if ( v20 ) { vringh_bad ( String , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L , v8 , v9 , v10 , v11 ) ; @@result@@ = v20 ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) += @@a3@@ ; @@result@@ = Number L ; } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 9, "n": "__int64 (__fastcall *)(__int64, __int64, _QWORD)"}, "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": 9, "n": "__int64 (__fastcall *)(__int64, __int64, _QWORD)"}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v17", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s18"}, {"n": "v16", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s20"}, {"n": "v15", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s22"}]}