{"name": "ga_open_pidfile", "code": "__int64 __fastcall ga_open_pidfile ( const char * @@a1@@ ) { int * v1 ; char * v2 ; __int64 result ; unsigned int v4 ; size_t v5 ; ssize_t @@v6@@ ; int @@fd@@ ; char @@s@@ [ Number ] ; unsigned __int64 @@v9@@ ; @@v9@@ = __readfsqword ( Number ) ; @@fd@@ = qemu_open ( @@a1@@ , Number L , Number L ) ; if ( @@fd@@ == Number || lockf64 ( @@fd@@ , Number , Number L ) ) { v1 = _errno_location ( ) ; v2 = strerror ( * v1 ) ; g_log ( Number L , Number L , String , v2 ) ; if ( @@fd@@ != Number ) close ( @@fd@@ ) ; result = Number L ; } else { if ( ftruncate64 ( @@fd@@ , Number L ) ) { g_log ( Number L , Number L , String ) ; } else { v4 = getpid ( ) ; snprintf ( @@s@@ , Number , String , v4 ) ; v5 = strlen ( @@s@@ ) ; @@v6@@ = write ( @@fd@@ , @@s@@ , v5 ) ; if ( @@v6@@ == strlen ( @@s@@ ) ) return Number L ; g_log ( Number L , Number L , String ) ; } unlink ( @@a1@@ ) ; close ( @@fd@@ ) ; result = Number L ; } return result ; }", "source": [{"n": "v6", "t": {"T": 1, "n": "ssize_t", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "v9", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "s", "t": {"T": 2, "n": 40, "s": 1, "t": "char"}, "location": "s64"}, {"n": "fd", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}]}
{"name": "ga_unset_frozen", "code": "__int64 __fastcall ga_unset_frozen ( __int64 @@a1@@ ) { __int64 @@result@@ ; @@result@@ = ( unsigned int ) ga_is_frozen ( @@a1@@ ) ^ Number ; if ( ! ( _BYTE ) @@result@@ ) { if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { * ( _QWORD * ) ( @@a1@@ + Number ) = ga_open_logfile ( * ( const char * * ) ( @@a1@@ + Number ) ) ; if ( ! * ( _QWORD * ) ( @@a1@@ + Number ) ) * ( _QWORD * ) ( @@a1@@ + Number ) = stderr ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; } ga_enable_logging ( @@a1@@ ) ; g_log ( Number L , Number L , String ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { if ( ( unsigned __int8 ) ga_open_pidfile ( * ( const char * * ) ( @@a1@@ + Number ) ) != Number ) g_log ( Number L , Number L , String ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; } qmp_for_each_command ( ga_enable_non_blacklisted , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@result@@ = ( unsigned int ) ga_delete_file ( * ( const char * * ) ( @@a1@@ + Number ) ) ^ Number ; if ( ( _BYTE ) @@result@@ ) @@result@@ = g_log ( Number L , Number L , String , * ( const char * * ) ( @@a1@@ + Number ) ) ; } 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": "become_daemon", "code": "int __fastcall become_daemon ( const char * @@a1@@ ) { __pid_t @@v2@@ ; @@v2@@ = fork ( ) ; if ( @@v2@@ < Number ) exit ( Number ) ; if ( @@v2@@ > Number ) exit ( Number ) ; if ( @@a1@@ && ( unsigned __int8 ) ga_open_pidfile ( @@a1@@ ) != Number ) { g_log ( Number L , Number L , String ) ; exit ( Number ) ; } umask ( Number ) ; if ( setsid ( ) < Number || chdir ( String ) < Number ) { if ( @@a1@@ ) unlink ( @@a1@@ ) ; g_log ( Number L , Number L , String ) ; exit ( Number ) ; } reopen_fd_to_null ( Number ) ; reopen_fd_to_null ( Number ) ; return reopen_fd_to_null ( Number ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__pid_t", "s": 4}, "location": "s8"}]}