{"name": "__vringh_notify_enable", "code": "bool __fastcall _vringh_notify_enable ( __int64 @@a1@@ , unsigned int ( __fastcall * @@a2@@ ) ( __int64 , unsigned __int16 * , __int64 ) , unsigned int ( __fastcall * @@a3@@ ) ( __int64 , __int64 , _QWORD ) ) { __int64 v3 ; __int64 v4 ; __int64 v5 ; __int64 v6 ; __int64 v8 ; __int64 v9 ; __int64 v10 ; __int64 v11 ; __int64 v12 ; __int64 v13 ; __int64 v14 ; unsigned __int16 @@v15@@ ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) != Number ) { if ( @@a3@@ ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ) { vringh_bad ( String , * ( _QWORD * ) ( @@a1@@ + Number ) , v3 , v4 , v5 , v6 ) ; return Number ; } } else if ( @@a3@@ ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * * ( unsigned int * ) ( @@a1@@ + Number ) + Number , * ( unsigned __int16 * ) ( @@a1@@ + Number ) ) ) { vringh_bad ( String , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * * ( unsigned int * ) ( @@a1@@ + Number ) + Number , * ( _QWORD * ) ( @@a1@@ + Number ) , v8 , v9 , v10 ) ; return Number ; } virtio_mb ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) ; if ( ! @@a2@@ ( @@a1@@ , & @@v15@@ , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) return * ( _WORD * ) ( @@a1@@ + Number ) == @@v15@@ ; vringh_bad ( String , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L , v11 , v12 , v13 , v14 ) ; return Number ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "unsigned int (__fastcall *)(__int64, __int64, _QWORD)"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 9, "n": "unsigned int (__fastcall *)(__int64, unsigned __int16 *, __int64)"}, "location": "r64"}, {"n": "v15", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s2"}]}
{"name": "virtio_mb", "code": "__int64 __fastcall virtio_mb ( unsigned int @@a1@@ ) { __int64 @@result@@ ; @@result@@ = @@a1@@ ; _mm_mfence ( ) ; 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_bad", "code": "int vringh_bad ( const char * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ , __int64 @@a6@@ , ... ) { int @@result@@ ; gcc_va_list @@arg@@ ; __int64 @@v8@@ ; __int64 @@v9@@ ; __int64 @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; @@v8@@ = @@a2@@ ; @@v9@@ = @@a3@@ ; @@v10@@ = @@a4@@ ; @@v11@@ = @@a5@@ ; @@v12@@ = @@a6@@ ; @@result@@ = vringh_rs_4301 ; if ( vringh_rs_4301 ) { @@arg@@ [ Number ] . gp_offset = Number ; va_start ( @@arg@@ , @@a6@@ ) ; printf ( & format ) ; @@result@@ = vprintf ( @@a1@@ , @@arg@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s136"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s144"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s152"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s160"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s168"}, {"n": "arg", "t": {"T": 2, "n": 1, "s": 24, "t": "__va_list_tag"}, "location": "s200"}]}