{"name": "xfer_from_user", "code": "__int64 __fastcall xfer_from_user ( _BYTE * @@a1@@ , _BYTE * @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; if ( ( unsigned int ) copy_from_user ( @@a2@@ , @@a1@@ , @@a3@@ ) ) @@result@@ = Number L ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_BYTE"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "copy_from_user", "code": "__int64 __fastcall copy_from_user ( _BYTE * @@a1@@ , _BYTE * @@a2@@ , __int64 @@a3@@ ) { _chk_user_ptr ( ( unsigned __int64 ) @@a2@@ , @@a3@@ ) ; volatile_memcpy ( @@a1@@ , @@a2@@ , @@a3@@ ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_BYTE"}, "location": "r64"}]} {"name": "vringh_iov_pull_user", "code": "__int64 __fastcall vringh_iov_pull_user ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned __int64 @@a3@@ ) { return vringh_iov_xfer ( @@a1@@ , @@a2@@ , @@a3@@ , ( __int64 ( __fastcall * ) ( _QWORD , __int64 , unsigned __int64 ) ) xfer_from_user ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}