{"name": "os_daemonize", "code": "unsigned __int64 os_daemonize ( ) { int * v0 ; char * v1 ; char @@buf@@ ; __pid_t @@v4@@ ; ssize_t @@v5@@ ; unsigned __int64 @@v6@@ ; @@v6@@ = __readfsqword ( Number ) ; if ( daemonize ) { if ( pipe ( fds ) == Number ) exit ( Number ) ; @@v4@@ = fork ( ) ; if ( @@v4@@ > Number ) { close ( fd ) ; do @@v5@@ = read ( fds [ Number ] , & @@buf@@ , Number ) ; while ( @@v5@@ == Number && * _errno_location ( ) == Number ) ; if ( @@v5@@ != Number ) exit ( Number ) ; if ( @@buf@@ == Number ) { v0 = _errno_location ( ) ; v1 = strerror ( * v0 ) ; fprintf ( stderr , String , v1 ) ; exit ( Number ) ; } exit ( Number ) ; } if ( @@v4@@ < Number ) exit ( Number ) ; close ( fds [ Number ] ) ; qemu_set_cloexec ( ( unsigned int ) fd ) ; setsid ( ) ; @@v4@@ = fork ( ) ; if ( @@v4@@ > Number ) exit ( Number ) ; if ( @@v4@@ < Number ) exit ( Number ) ; umask ( Number ) ; signal ( Number , handler ) ; signal ( Number , handler ) ; signal ( Number , handler ) ; } return __readfsqword ( Number ) ^ @@v6@@ ; }", "source": [{"n": "v5", "t": {"T": 1, "n": "ssize_t", "s": 8}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "__pid_t", "s": 4}, "location": "s20"}, {"n": "buf", "t": {"T": 1, "n": "char", "s": 1}, "location": "s21"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}