{"name": "tests_mnt", "code": "void __fastcall tests_mnt ( int @@a1@@ ) { int v1 ; char * v2 ; int v3 ; int v4 ; int v5 ; int v6 ; void * @@data@@ ; unsigned __int64 @@rwflag@@ ; char * @@fstype@@ ; char * @@dir@@ ; char * @@special_file@@ ; if ( @@a1@@ ) { @@special_file@@ = ( char * ) mount_info_4825 ; @@dir@@ = tests_file_system_mount_dir ; @@fstype@@ = tests_file_system_type ; @@data@@ = ( void * ) qword_411298 ; process_mount_options ( ( const char * * ) & @@data@@ , ( __int64 * ) & @@rwflag@@ ) ; v5 = mount ( @@special_file@@ , @@dir@@ , @@fstype@@ , @@rwflag@@ , @@data@@ ) ; tests_test ( v5 != Number , String , String , Number ) ; v6 = chdir ( cwd_4831 ) ; tests_test ( v6 != Number , String , String , Number ) ; } else { v1 = tests_get_mount_info ( ( char * * ) & mount_info_4825 ) ; tests_test ( v1 , String , String , Number ) ; if ( strcmp ( qword_411288 , String ) ) { v2 = getcwd ( cwd_4831 , Number ) ; tests_test ( v2 != Number L , String , String , Number ) ; v3 = chdir ( String ) ; tests_test ( v3 != Number , String , String , Number ) ; v4 = umount ( tests_file_system_mount_dir ) ; tests_test ( v4 != Number , String , String , Number ) ; } } }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "dir", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "fstype", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "rwflag", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s32"}, {"n": "data", "t": {"T": 3, "t": "void"}, "location": "s40"}, {"n": "special_file", "t": {"T": 3, "t": "char"}, "location": "s8"}]}
{"name": "tests_test", "code": "void __fastcall tests_test ( int @@a1@@ , const char * @@a2@@ , const char * @@a3@@ , unsigned int @@a4@@ ) { char * v4 ; char * v5 ; time_t @@timer@@ ; int @@errnum@@ ; if ( ! @@a1@@ ) { @@errnum@@ = * __errno_location ( ) ; time ( & @@timer@@ ) ; v4 = ctime ( & @@timer@@ ) ; fprintf ( stderr , String , program_name , v4 , @@a2@@ , @@a3@@ , @@a4@@ ) ; if ( @@errnum@@ ) { fprintf ( stderr , String , ( unsigned int ) @@errnum@@ ) ; v5 = strerror ( @@errnum@@ ) ; fprintf ( stderr , String , v5 ) ; } exit ( Number ) ; } }", "source": [{"n": "a3", "t": {"T": 3, "t": "const char"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "timer", "t": {"T": 1, "n": "time_t", "s": 8}, "location": "s16"}, {"n": "errnum", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "tests_get_mount_info", "code": "__int64 __fastcall tests_get_mount_info ( char * * @@a1@@ ) { char * v1 ; char * v2 ; int @@v3@@ ; struct mntent * @@v5@@ ; unsigned int @@v6@@ ; FILE * @@stream@@ ; @@v6@@ = Number ; @@stream@@ = fopen ( String , String ) ; if ( ! @@stream@@ ) @@stream@@ = fopen ( String , String ) ; tests_test ( @@stream@@ != Number L , String , String , Number ) ; while ( ! @@v6@@ ) { @@v5@@ = getmntent ( @@stream@@ ) ; if ( ! @@v5@@ ) break ; if ( ! strcmp ( @@v5@@ -> mnt_dir , tests_file_system_mount_dir ) ) { @@v6@@ = Number ; v1 = @@v5@@ -> mnt_dir ; * @@a1@@ = @@v5@@ -> mnt_fsname ; @@a1@@ [ Number ] = v1 ; v2 = @@v5@@ -> mnt_opts ; @@a1@@ [ Number ] = @@v5@@ -> mnt_type ; @@a1@@ [ Number ] = v2 ; @@a1@@ [ Number ] = * ( char * * ) & @@v5@@ -> mnt_freq ; } } @@v3@@ = fclose ( @@stream@@ ) ; tests_test ( @@v3@@ == Number , String , String , Number ) ; return @@v6@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "char *"}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "stream", "t": {"T": 3, "t": "FILE"}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v5", "t": {"T": 3, "t": "struct mntent"}, "location": "s40"}]} {"name": "process_mount_options", "code": "__int64 __fastcall process_mount_options ( const char * * @@a1@@ , __int64 * @@a2@@ ) { size_t v2 ; __int64 v3 ; __int64 v4 ; __int64 v5 ; _BYTE * v6 ; int @@v8@@ ; _BYTE * @@v9@@ ; char * @@ptr@@ ; const char * @@s1@@ ; _BYTE * @@dest@@ ; @@ptr@@ = strdup ( * @@a1@@ ) ; if ( ! @@ptr@@ ) goto LABEL_28 ; v2 = strlen ( * @@a1@@ ) ; @@v9@@ = calloc ( Number , v2 + Number ) ; @@dest@@ = @@v9@@ ; if ( ! @@v9@@ ) { free ( @@ptr@@ ) ; LABEL_28 : fwrite ( String , Number , Number , stderr ) ; return Number L ; } * @@a2@@ = Number L ; for ( @@s1@@ = strtok ( @@ptr@@ , String ) ; @@s1@@ ; @@s1@@ = strtok ( Number L , String ) ) { if ( strcmp ( @@s1@@ , String ) ) { if ( ! strcmp ( @@s1@@ , String ) ) { * @@a2@@ |= Number ; } else if ( ! strcmp ( @@s1@@ , String ) ) { v3 = * @@a2@@ ; LOBYTE ( v3 ) = * @@a2@@ | Number ; * @@a2@@ = v3 ; } else if ( ! strcmp ( @@s1@@ , String ) ) { v4 = * @@a2@@ ; BYTE1 ( v4 ) = BYTE1 ( * @@a2@@ ) | Number ; * @@a2@@ = v4 ; } else if ( ! strcmp ( @@s1@@ , String ) ) { v5 = * @@a2@@ ; BYTE1 ( v5 ) = BYTE1 ( * @@a2@@ ) | Number ; * @@a2@@ = v5 ; } else if ( ! strcmp ( @@s1@@ , String ) ) { * @@a2@@ |= Number ; } else if ( ! strcmp ( @@s1@@ , String ) ) { * @@a2@@ |= Number ; } else if ( ! strcmp ( @@s1@@ , String ) ) { * @@a2@@ |= Number ; } else if ( ! strcmp ( @@s1@@ , String ) ) { * @@a2@@ |= Number ; } else { @@v8@@ = strlen ( @@s1@@ ) ; if ( @@dest@@ != @@v9@@ ) { v6 = @@dest@@ ++ ; * v6 = Number ; } memcpy ( @@dest@@ , @@s1@@ , @@v8@@ ) ; @@dest@@ += @@v8@@ ; * @@dest@@ = Number ; } } } free ( @@ptr@@ ) ; * @@a1@@ = @@v9@@ ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const char *"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "s1", "t": {"T": 3, "t": "const char"}, "location": "s16"}, {"n": "ptr", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "v9", "t": {"T": 3, "t": "_BYTE"}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "dest", "t": {"T": 3, "t": "_BYTE"}, "location": "s8"}]}