{"name": "qobject_decref", "code": "__int64 __fastcall qobject_decref ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( @@a1@@ ) { @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! @@result@@ ) _assert_fail ( String , String , Number , String ) ; } if ( @@a1@@ ) { @@result@@ = -- * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! @@result@@ ) @@result@@ = qobject_destroy ( @@a1@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "send_response", "code": "__int64 __fastcall send_response ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 result ; __int64 v3 ; size_t v4 ; __int64 v5 ; int @@v6@@ ; __int64 @@v7@@ ; __int64 @@v8@@ ; char * @@s@@ ; if ( ! @@a2@@ || ! * ( _QWORD * ) ( @@a1@@ + Number ) ) g_assertion_message_expr ( Number L , String , Number L , String , String ) ; @@v8@@ = qobject_to_json ( @@a2@@ ) ; if ( ! @@v8@@ ) return Number L ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) ) { * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@v7@@ = qstring_new ( ) ; qstring_append_chr ( @@v7@@ , Number L ) ; v3 = qstring_get_str ( @@v8@@ ) ; qstring_append ( @@v7@@ , v3 ) ; qobject_decref ( @@v8@@ ) ; } else { @@v7@@ = @@v8@@ ; } qstring_append_chr ( @@v7@@ , Number L ) ; @@s@@ = ( char * ) qstring_get_str ( @@v7@@ ) ; v4 = strlen ( @@s@@ ) ; @@v6@@ = ga_channel_write_all ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@s@@ , v4 ) ; if ( @@v7@@ ) v5 = @@v7@@ ; else v5 = Number L ; qobject_decref ( v5 ) ; if ( @@v6@@ == Number ) result = Number L ; else result = Number L ; return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"name": "process_command", "code": "__int64 __fastcall process_command ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 result ; char * v3 ; int @@errnum@@ ; __int64 @@v5@@ ; if ( ! @@a2@@ ) g_assertion_message_expr ( Number L , String , Number L , String , String ) ; g_log ( Number L , Number L , String ) ; result = qmp_dispatch ( @@a2@@ ) ; @@v5@@ = result ; if ( result ) { @@errnum@@ = send_response ( @@a1@@ , result ) ; if ( @@errnum@@ ) { v3 = strerror ( @@errnum@@ ) ; g_log ( Number L , Number L , String , v3 ) ; } result = qobject_decref ( @@v5@@ ) ; } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "errnum", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "process_event", "code": "unsigned __int64 __fastcall process_event ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 v2 ; __int64 v3 ; const char * v4 ; __int64 v5 ; __int64 v6 ; __int64 v7 ; char * v8 ; __int64 v9 ; int @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; __int64 @@v14@@ ; __int64 @@v15@@ ; unsigned __int64 @@v16@@ ; @@v16@@ = __readfsqword ( Number ) ; @@v14@@ = @@a1@@ ; @@v15@@ = @@a1@@ ; @@v12@@ = Number L ; if ( ! @@a1@@ ) g_assertion_message_expr ( Number L , String , Number L , String , String ) ; g_log ( Number L , Number L , String ) ; v2 = json_parser_parse_err ( @@a2@@ , Number L , & @@v12@@ ) ; @@v13@@ = qobject_to_qdict ( v2 ) ; if ( @@v12@@ || ! @@v13@@ ) { if ( @@v13@@ ) v3 = @@v13@@ ; else v3 = Number L ; qobject_decref ( v3 ) ; @@v13@@ = qdict_new ( ) ; if ( @@v12@@ ) { v4 = ( const char * ) error_get_pretty ( @@v12@@ ) ; g_log ( Number L , Number L , String , v4 ) ; } else { g_log ( Number L , Number L , String ) ; error_setg_internal ( & @@v12@@ , String , Number L , String , String ) ; } v5 = qmp_build_error_object ( @@v12@@ ) ; qdict_put_obj ( @@v13@@ , String , v5 ) ; error_free ( @@v12@@ ) ; } if ( ( unsigned int ) qdict_haskey ( @@v13@@ , String ) ) { process_command ( @@v15@@ , @@v13@@ ) ; } else { if ( ! ( unsigned int ) qdict_haskey ( @@v13@@ , String ) ) { if ( @@v13@@ ) v6 = @@v13@@ ; else v6 = Number L ; qobject_decref ( v6 ) ; @@v13@@ = qdict_new ( ) ; g_log ( Number L , Number L , String ) ; error_setg_internal ( & @@v12@@ , String , Number L , String , String ) ; v7 = qmp_build_error_object ( @@v12@@ ) ; qdict_put_obj ( @@v13@@ , String , v7 ) ; error_free ( @@v12@@ ) ; } @@v11@@ = send_response ( @@v15@@ , @@v13@@ ) ; if ( @@v11@@ < Number ) { v8 = strerror ( - @@v11@@ ) ; g_log ( Number L , Number L , String , v8 ) ; } } if ( @@v13@@ ) v9 = @@v13@@ ; else v9 = Number L ; qobject_decref ( v9 ) ; return __readfsqword ( Number ) ^ @@v16@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v16", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}