{"name": "cpu_to_vringh64", "code": "unsigned __int64 __fastcall cpu_to_vringh64 ( _BYTE * @@a1@@ , unsigned __int64 @@a2@@ ) { bool @@v2@@ ; @@v2@@ = vringh_is_little_endian ( @@a1@@ ) ; return _cpu_to_virtio64 ( @@v2@@ , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r64"}, {"n": "v2", "t": {"T": 1, "n": "bool", "s": 1}, "location": "r8"}]}
{"name": "vringh_is_little_endian", "code": "_BOOL8 __fastcall vringh_is_little_endian ( _BYTE * @@a1@@ ) { return * @@a1@@ || ( unsigned __int8 ) virtio_legacy_is_little_endian ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}]} {"name": "__vringh_iov", "code": "__int64 __fastcall _vringh_iov ( __int64 @@a1@@ , unsigned __int16 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , unsigned __int8 ( __fastcall * @@a5@@ ) ( __int64 , __int64 , __int64 * , __int64 , __int64 ) , __int64 @@a6@@ , unsigned int @@a7@@ , __int64 ( __fastcall * @@a8@@ ) ( __int64 , __int64 , __int64 ) ) { __int16 v8 ; __int64 v9 ; __int64 v10 ; __int64 v11 ; int v12 ; unsigned int v13 ; __int16 v14 ; __int64 v15 ; __int64 v16 ; __int64 v17 ; __int64 v18 ; const char * v19 ; unsigned __int64 v20 ; unsigned __int64 v21 ; int v22 ; int v23 ; unsigned __int64 v24 ; __int16 v25 ; __int64 v26 ; __int64 v27 ; __int64 v28 ; unsigned __int16 @@v34@@ ; _BYTE * @@v35@@ ; __int64 @@v36@@ ; __int64 @@v37@@ [ Number ] ; __int64 @@v38@@ ; __int64 @@v39@@ ; __int64 @@v40@@ ; __int64 @@v41@@ ; unsigned __int64 @@v42@@ ; unsigned int @@v43@@ ; __int16 @@v44@@ ; unsigned __int16 @@v45@@ ; int @@v46@@ ; int @@v47@@ ; unsigned __int64 @@v48@@ ; __int64 @@v49@@ ; __int64 @@v50@@ ; char @@v51@@ ; unsigned int @@v52@@ ; unsigned int @@v53@@ ; @@v35@@ = ( _BYTE * ) @@a1@@ ; @@v34@@ = @@a2@@ ; @@v52@@ = Number ; @@v39@@ = Number L ; @@v40@@ = Number L ; @@v38@@ = Number ; @@v51@@ = Number ; @@v41@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v46@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v47@@ = Number ; if ( @@a3@@ ) { * ( _DWORD * ) ( @@a3@@ + Number ) = Number ; * ( _DWORD * ) ( @@a3@@ + Number ) = * ( _DWORD * ) ( @@a3@@ + Number ) ; } else { if ( ! @@a4@@ ) abort ( ) ; * ( _DWORD * ) ( @@a4@@ + Number ) = Number ; * ( _DWORD * ) ( @@a4@@ + Number ) = * ( _DWORD * ) ( @@a4@@ + Number ) ; } while ( Number ) { @@v53@@ = @@v51@@ ? ( unsigned int ) slow_copy ( ( __int64 ) @@v35@@ , ( __int64 ) & @@v42@@ , @@v41@@ + Number L * @@v34@@ , @@a5@@ , @@a6@@ , ( __int64 ) @@v37@@ , @@a8@@ ) : ( unsigned int ) @@a8@@ ( ( __int64 ) & @@v42@@ , @@v41@@ + Number L * @@v34@@ , Number L ) ; if ( @@v53@@ ) break ; v8 = @@v44@@ ; if ( ( ( unsigned __int16 ) v8 & ( unsigned __int16 ) cpu_to_vringh16 ( @@v35@@ , Number ) ) != Number ) { @@v48@@ = vringh64_to_cpu ( @@v35@@ , @@v42@@ ) ; @@v36@@ = ( unsigned int ) vringh32_to_cpu ( @@v35@@ , @@v43@@ ) ; if ( @@a5@@ ( ( __int64 ) @@v35@@ , @@v48@@ , & @@v36@@ , ( __int64 ) & @@v38@@ , @@a6@@ ) != Number ) return ( unsigned int ) Number ; v12 = vringh32_to_cpu ( @@v35@@ , @@v43@@ ) ; if ( v12 != @@v36@@ ) { @@v51@@ = Number ; @@v37@@ [ Number ] = @@v38@@ ; @@v37@@ [ Number ] = @@v39@@ ; @@v37@@ [ Number ] = @@v40@@ ; } @@v49@@ = @@v40@@ + @@v48@@ ; @@v53@@ = move_to_indirect ( @@v35@@ , & @@v47@@ , & @@v34@@ , @@v40@@ + @@v48@@ , ( __int64 ) & @@v42@@ , & @@v41@@ , ( unsigned int * ) & @@v46@@ ) ; if ( @@v53@@ ) return @@v53@@ ; } else { v13 = @@v52@@ ++ ; if ( v13 == * ( ( _DWORD * ) @@v35@@ + Number ) ) { vringh_bad ( String , @@v41@@ , v13 , v9 , v10 , v11 ) ; return ( unsigned int ) Number ; } v14 = @@v44@@ ; if ( ( ( unsigned __int16 ) v14 & ( unsigned __int16 ) cpu_to_vringh16 ( @@v35@@ , Number ) ) != Number ) { @@v50@@ = @@a4@@ ; } else { @@v50@@ = @@a3@@ ; if ( @@a4@@ && * ( _DWORD * ) ( @@a4@@ + Number ) ) { vringh_bad ( String , Number L * @@v34@@ + @@v41@@ , Number L * @@v34@@ , v16 , v17 , v18 ) ; return ( unsigned int ) Number ; } } if ( ! @@v50@@ ) { if ( @@a4@@ ) v19 = String ; else v19 = String ; vringh_bad ( String , ( __int64 ) v19 , v15 , v16 , v17 , v18 , @@a6@@ , @@a5@@ ) ; return ( unsigned int ) Number ; } while ( Number ) { @@v36@@ = ( unsigned int ) vringh32_to_cpu ( @@v35@@ , @@v43@@ ) ; v20 = vringh64_to_cpu ( @@v35@@ , @@v42@@ ) ; if ( @@a5@@ ( ( __int64 ) @@v35@@ , v20 , & @@v36@@ , ( __int64 ) & @@v38@@ , @@a6@@ ) != Number ) return ( unsigned int ) Number ; v21 = vringh64_to_cpu ( @@v35@@ , @@v42@@ ) ; @@v49@@ = @@v40@@ + v21 ; if ( * ( _DWORD * ) ( @@v50@@ + Number ) == ( * ( _DWORD * ) ( @@v50@@ + Number ) & Number ) ) { @@v53@@ = resize_iovec ( @@v50@@ , @@a7@@ ) ; if ( @@v53@@ ) return @@v53@@ ; } * ( _QWORD * ) ( Number L * * ( unsigned int * ) ( @@v50@@ + Number ) + * ( _QWORD * ) @@v50@@ ) = @@v49@@ ; * ( _QWORD * ) ( Number L * ( unsigned int ) ( * ( _DWORD * ) ( @@v50@@ + Number ) ) ++ + * ( _QWORD * ) @@v50@@ + Number ) = @@v36@@ ; v22 = vringh32_to_cpu ( @@v35@@ , @@v43@@ ) ; if ( v22 == @@v36@@ ) break ; v23 = vringh32_to_cpu ( @@v35@@ , @@v43@@ ) ; @@v43@@ = cpu_to_vringh32 ( @@v35@@ , v23 - ( int ) @@v36@@ ) ; v24 = vringh64_to_cpu ( @@v35@@ , @@v42@@ ) ; @@v42@@ = cpu_to_vringh64 ( @@v35@@ , v24 + @@v36@@ ) ; } v25 = @@v44@@ ; if ( ( ( unsigned __int16 ) v25 & ( unsigned __int16 ) cpu_to_vringh16 ( @@v35@@ , Number ) ) != Number ) { @@v34@@ = vringh16_to_cpu ( @@v35@@ , @@v45@@ ) ; } else { if ( @@v47@@ <= Number ) return Number L ; @@v34@@ = return_from_indirect ( ( __int64 ) @@v35@@ , & @@v47@@ , & @@v41@@ , & @@v46@@ ) ; @@v51@@ = Number ; } if ( @@v34@@ >= @@v46@@ ) { vringh_bad ( String , @@v34@@ , ( unsigned int ) @@v46@@ , v26 , v27 , v28 ) ; return ( unsigned int ) Number ; } } } return @@v53@@ ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "a5", "t": {"T": 9, "n": "unsigned __int8 (__fastcall *)(__int64, __int64, __int64 *, __int64, __int64)"}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "a7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s-16"}, {"n": "a8", "t": {"T": 9, "n": "__int64 (__fastcall *)(__int64, __int64, __int64)"}, "location": "s-24"}, {"n": "v39", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s104"}, {"n": "v38", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s112"}, {"n": "v37", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s144"}, {"n": "v36", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s152"}, {"n": "v35", "t": {"T": 3, "t": "_BYTE"}, "location": "s168"}, {"n": "v34", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s172"}, {"n": "v53", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v52", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s24"}, {"n": "v51", "t": {"T": 1, "n": "char", "s": 1}, "location": "s25"}, {"n": "v50", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v49", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v48", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s56"}, {"n": "v47", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v46", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "v45", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s66"}, {"n": "v44", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s68"}, {"n": "v43", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s72"}, {"n": "v42", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s80"}, {"n": "v41", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s88"}, {"n": "v40", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s96"}]}