{"name": "list_join", "code": "__int64 __fastcall list_join ( _QWORD * @@a1@@ , char @@a2@@ ) { __int64 * @@v4@@ ; @@v4@@ = ( __int64 * ) g_string_new ( & unk_3EBE ) ; while ( @@a1@@ ) { @@v4@@ = ( __int64 * ) g_string_append ( @@v4@@ , * @@a1@@ ) ; @@a1@@ = ( _QWORD * ) @@a1@@ [ Number ] ; if ( @@a1@@ ) @@v4@@ = g_string_append_c_inline ( @@v4@@ , @@a2@@ ) ; } return g_string_free ( @@v4@@ , Number L ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v4", "t": {"T": 3, "t": "__int64"}, "location": "s8"}]}
{"name": "g_string_append_c_inline", "code": "__int64 * __fastcall g_string_append_c_inline ( __int64 * @@a1@@ , char @@a2@@ ) { __int64 v2 ; __int64 @@v3@@ ; if ( @@a1@@ [ Number ] + Number >= ( unsigned __int64 ) @@a1@@ [ Number ] ) { g_string_insert_c ( @@a1@@ , Number , ( unsigned int ) @@a2@@ ) ; } else { v2 = * @@a1@@ ; @@v3@@ = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = @@v3@@ + Number ; * ( _BYTE * ) ( v2 + @@v3@@ ) = @@a2@@ ; * ( _BYTE * ) ( * @@a1@@ + @@a1@@ [ Number ] ) = Number ; } return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "config_dump", "code": "unsigned __int64 __fastcall config_dump ( __int64 @@a1@@ ) { __int64 @@v2@@ ; __int64 @@v3@@ ; const char * @@v4@@ ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; @@v2@@ = Number L ; @@v3@@ = g_key_file_new ( ) ; if ( ! @@v3@@ ) g_assertion_message_expr ( Number L , String , Number L , String , String ) ; g_key_file_set_boolean ( @@v3@@ , String , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; g_key_file_set_string ( @@v3@@ , String , String , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; g_key_file_set_string ( @@v3@@ , String , String , * ( _QWORD * ) @@a1@@ ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) g_key_file_set_string ( @@v3@@ , String , String , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; g_key_file_set_string ( @@v3@@ , String , String , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) g_key_file_set_string ( @@v3@@ , String , String , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; g_key_file_set_string ( @@v3@@ , String , String , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; g_key_file_set_boolean ( @@v3@@ , String , String , * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) ; @@v4@@ = ( const char * ) list_join ( * ( _QWORD * * ) ( @@a1@@ + Number ) , Number ) ; g_key_file_set_string ( @@v3@@ , String , String , @@v4@@ ) ; g_free ( @@v4@@ ) ; @@v4@@ = ( const char * ) g_key_file_to_data ( @@v3@@ , Number L , & @@v2@@ ) ; printf ( String , @@v4@@ ) ; g_free ( @@v4@@ ) ; g_key_file_free ( @@v3@@ ) ; return __readfsqword ( Number ) ^ @@v5@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v4", "t": {"T": 3, "t": "const char"}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}