{"name": "set_pointer", "code": "unsigned __int64 __fastcall set_pointer ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 ( __fastcall * @@a4@@ ) ( __int64 , _BYTE * , _QWORD * ) , __int64 @@a5@@ , __int64 @@a6@@ ) { unsigned int @@v11@@ ; __int64 @@v12@@ ; _BYTE * @@v13@@ ; __int64 @@v14@@ ; _QWORD * @@v15@@ ; unsigned __int64 @@v16@@ ; @@v16@@ = __readfsqword ( Number ) ; @@v14@@ = object_dynamic_cast_assert ( @@a1@@ , String , String , Number L , String ) ; @@v12@@ = Number L ; @@v15@@ = ( _QWORD * ) qdev_get_prop_ptr ( @@v14@@ , @@a3@@ ) ; if ( * ( _BYTE * ) ( @@v14@@ + Number ) ) { qdev_prop_set_after_realize ( @@v14@@ , @@a5@@ , @@a6@@ ) ; } else { visit_type_str ( @@a2@@ , & @@v13@@ , @@a5@@ , & @@v12@@ ) ; if ( @@v12@@ ) { error_propagate ( @@a6@@ , @@v12@@ ) ; } else if ( * @@v13@@ ) { @@v11@@ = @@a4@@ ( @@v14@@ , @@v13@@ , @@v15@@ ) ; error_set_from_qdev_prop_error ( @@a6@@ , @@v11@@ , @@v14@@ , @@a3@@ , @@v13@@ ) ; g_free ( @@v13@@ ) ; } else { g_free ( @@v13@@ ) ; * @@v15@@ = Number L ; } } return __readfsqword ( Number ) ^ @@v16@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 9, "n": "__int64 (__fastcall *)(__int64, _BYTE *, _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": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "v15", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v13", "t": {"T": 3, "t": "_BYTE"}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v11", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s44"}, {"n": "v16", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "set_drive", "code": "unsigned __int64 __fastcall set_drive ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { return set_pointer ( @@a1@@ , @@a2@@ , @@a3@@ , ( __int64 ( __fastcall * ) ( __int64 , _BYTE * , _QWORD * ) ) parse_drive , @@a4@@ , @@a5@@ ) ; }", "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": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}]} {"name": "set_chr", "code": "unsigned __int64 __fastcall set_chr ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { return set_pointer ( @@a1@@ , @@a2@@ , @@a3@@ , ( __int64 ( __fastcall * ) ( __int64 , _BYTE * , _QWORD * ) ) parse_chr , @@a4@@ , @@a5@@ ) ; }", "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": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}]} {"name": "set_netdev", "code": "unsigned __int64 __fastcall set_netdev ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { return set_pointer ( @@a1@@ , @@a2@@ , @@a3@@ , ( __int64 ( __fastcall * ) ( __int64 , _BYTE * , _QWORD * ) ) parse_netdev , @@a4@@ , @@a5@@ ) ; }", "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": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}]} {"name": "set_iothread", "code": "unsigned __int64 __fastcall set_iothread ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { return set_pointer ( @@a1@@ , @@a2@@ , @@a3@@ , ( __int64 ( __fastcall * ) ( __int64 , _BYTE * , _QWORD * ) ) parse_iothread , @@a4@@ , @@a5@@ ) ; }", "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": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}]}