{"name": "_start", "code": "void __fastcall __noreturn start ( __int64 @@a1@@ , __int64 @@a2@@ , void ( * @@a3@@ ) ( void ) ) { __int64 @@v3@@ ; int v4 ; __int64 @@v5@@ ; char * @@retaddr@@ ; v4 = @@v5@@ ; @@v5@@ = @@v3@@ ; _libc_start_main ( ( int ( __fastcall * ) ( int , char * * , char * * ) ) main , v4 , & @@retaddr@@ , _libc_csu_init , _libc_csu_fini , @@a3@@ , & @@v5@@ ) ; __halt ( ) ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "void (*)(void)"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "retaddr", "t": {"T": 3, "t": "char"}, "location": "s0"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": ".init_proc", "code": "__int64 ( * * init_proc ( ) ) ( void ) { __int64 ( * * @@result@@ ) ( void ) ; @@result@@ = & _gmon_start__ ; if ( & _gmon_start__ ) @@result@@ = ( __int64 ( * * ) ( void ) ) _gmon_start__ ( ) ; return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 9, "n": "__int64 (**)(void)"}, "location": "r8"}]} {"name": "main", "code": "int __cdecl main ( int @@argc@@ , const char * * @@argv@@ , const char * * @@envp@@ ) { int v3 ; int v4 ; int v5 ; size_t v6 ; struct stat @@v8@@ ; int @@v9@@ ; int @@v10@@ ; int @@v11@@ ; int @@v12@@ ; int @@v13@@ ; int @@v14@@ ; int @@v15@@ ; int @@v16@@ ; char * @@v17@@ ; int @@v18@@ ; int @@v19@@ ; int @@v20@@ ; int @@v21@@ ; int @@v22@@ ; FILE * @@stream@@ ; int @@v24@@ ; FILE * @@v25@@ ; int @@v26@@ ; FILE * @@v27@@ ; char * @@v28@@ ; char * @@s2@@ ; char * @@haystack@@ ; int @@n@@ ; char * @@path@@ ; char * @@s@@ ; const char * @@v34@@ ; int @@j@@ ; int @@c@@ ; int @@i@@ ; int @@v38@@ ; char * @@filename@@ ; if ( @@argc@@ != Number ) { fprintf ( stderr , String , * @@argv@@ ) ; exit ( Number ) ; } @@v34@@ = * @@argv@@ ; @@s@@ = ( char * ) @@argv@@ [ Number ] ; @@path@@ = ( char * ) @@argv@@ [ Number ] ; if ( ( unsigned int ) stat ( @@s@@ , & @@v8@@ ) ) { @@v9@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v9@@ ; perror ( @@s@@ ) ; exit ( Number ) ; } @@n@@ = Number * ( LODWORD ( @@v8@@ . st_size ) + Number ) ; @@haystack@@ = ( char * ) malloc ( @@n@@ ) ; if ( ! @@haystack@@ || ( @@s2@@ = ( char * ) malloc ( @@n@@ ) ) == Number L || ( @@v28@@ = ( char * ) malloc ( @@n@@ ) ) == Number L ) { @@v10@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v10@@ ; perror ( @@s@@ ) ; exit ( Number ) ; } @@v27@@ = fopen ( @@s@@ , String ) ; if ( ! @@v27@@ ) { @@v11@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v11@@ ; perror ( @@s@@ ) ; exit ( Number ) ; } if ( ( unsigned int ) stat ( @@path@@ , & @@v8@@ ) && mkdir ( @@path@@ , Number ) ) { @@v26@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v26@@ ; perror ( @@path@@ ) ; exit ( Number ) ; } if ( chdir ( @@path@@ ) ) { @@v12@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v12@@ ; perror ( @@path@@ ) ; exit ( Number ) ; } @@filename@@ = @@v28@@ + Number ; * @@v28@@ = Number ; while ( fgets ( @@haystack@@ , @@n@@ , @@v27@@ ) ) { if ( * @@haystack@@ == Number ) { @@v17@@ = strstr ( @@haystack@@ , String ) ; if ( @@v17@@ ) { @@v17@@ += Number ; for ( @@i@@ = Number ; ( ( * __ctype_b_loc ( ) ) [ @@v17@@ [ @@i@@ ] ] & Number ) == Number ; ++ @@i@@ ) { @@c@@ = ( unsigned __int8 ) @@v17@@ [ @@i@@ ] ; if ( ( ( * __ctype_b_loc ( ) ) [ @@c@@ ] & Number ) != Number ) @@c@@ = tolower ( @@c@@ ) ; if ( @@c@@ == Number ) @@c@@ = Number ; @@filename@@ [ @@i@@ ] = @@c@@ ; } v3 = @@i@@ ++ ; @@filename@@ [ v3 ] = Number ; v4 = @@i@@ ++ ; @@filename@@ [ v4 ] = Number ; v5 = @@i@@ ++ ; @@filename@@ [ v5 ] = Number ; @@v38@@ = Number ; @@stream@@ = fopen ( @@filename@@ , String ) ; if ( @@stream@@ ) { fgets ( @@s2@@ , @@n@@ , @@stream@@ ) ; if ( fclose ( @@stream@@ ) ) { @@v16@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v16@@ ; perror ( @@filename@@ ) ; exit ( Number ) ; } if ( ! strcmp ( @@haystack@@ , @@s2@@ ) ) @@v38@@ = Number ; } if ( ! @@v38@@ ) { for ( @@j@@ = Number ; @@j@@ < @@i@@ ; ++ @@j@@ ) { if ( @@filename@@ [ @@j@@ ] == Number ) { @@filename@@ [ @@j@@ ] = Number ; if ( ( unsigned int ) stat ( @@filename@@ , & @@v8@@ ) && mkdir ( @@filename@@ , Number ) ) { @@v13@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v13@@ ; perror ( @@filename@@ ) ; exit ( Number ) ; } @@filename@@ [ @@j@@ ] = Number ; } } @@stream@@ = fopen ( @@filename@@ , String ) ; if ( ! @@stream@@ ) { @@v14@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v14@@ ; perror ( @@filename@@ ) ; exit ( Number ) ; } fputs ( @@haystack@@ , @@stream@@ ) ; if ( ferror ( @@stream@@ ) || fclose ( @@stream@@ ) ) { @@v15@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v15@@ ; perror ( @@filename@@ ) ; exit ( Number ) ; } } @@filename@@ += @@i@@ ; * ( @@filename@@ - Number ) = Number ; } } } if ( fclose ( @@v27@@ ) ) { @@v18@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v18@@ ; perror ( @@s@@ ) ; exit ( Number ) ; } * @@filename@@ = Number ; @@v25@@ = popen ( String , String ) ; if ( ! @@v25@@ ) { @@v19@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v19@@ ; perror ( String ) ; exit ( Number ) ; } * @@haystack@@ = Number ; while ( fgets ( @@haystack@@ + Number , @@n@@ , @@v25@@ ) ) { if ( ! strstr ( @@v28@@ , @@haystack@@ ) ) { v6 = strlen ( @@haystack@@ ) ; @@haystack@@ [ v6 - Number ] = Number ; if ( ( unsigned int ) stat ( @@haystack@@ + Number , & @@v8@@ ) ) { @@v20@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v20@@ ; perror ( @@haystack@@ ) ; exit ( Number ) ; } if ( @@v8@@ . st_size ) { @@stream@@ = fopen ( @@haystack@@ + Number , String ) ; if ( ! @@stream@@ ) { @@v21@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v21@@ ; perror ( @@haystack@@ ) ; exit ( Number ) ; } if ( fclose ( @@stream@@ ) ) { @@v22@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v22@@ ; perror ( @@haystack@@ ) ; exit ( Number ) ; } } } } if ( pclose ( @@v25@@ ) ) { @@v24@@ = * __errno_location ( ) ; fprintf ( stderr , String , @@v34@@ ) ; * __errno_location ( ) = @@v24@@ ; perror ( String ) ; exit ( Number ) ; } return Number ; }", "source": [{"n": "envp", "t": {"T": 3, "t": "const char *"}, "location": "r16"}, {"n": "argc", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "argv", "t": {"T": 3, "t": "const char *"}, "location": "r64"}, {"n": "v26", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v25", "t": {"T": 3, "t": "FILE"}, "location": "s112"}, {"n": "v24", "t": {"T": 1, "n": "int", "s": 4}, "location": "s116"}, {"n": "stream", "t": {"T": 3, "t": "FILE"}, "location": "s128"}, {"n": "v22", "t": {"T": 1, "n": "int", "s": 4}, "location": "s132"}, {"n": "v21", "t": {"T": 1, "n": "int", "s": 4}, "location": "s136"}, {"n": "v20", "t": {"T": 1, "n": "int", "s": 4}, "location": "s140"}, {"n": "v19", "t": {"T": 1, "n": "int", "s": 4}, "location": "s144"}, {"n": "v18", "t": {"T": 1, "n": "int", "s": 4}, "location": "s148"}, {"n": "filename", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "v17", "t": {"T": 3, "t": "char"}, "location": "s160"}, {"n": "v16", "t": {"T": 1, "n": "int", "s": 4}, "location": "s164"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s168"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s172"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s176"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s180"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s184"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s188"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s192"}, {"n": "v38", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "c", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v8", "t": {"T": 6, "n": "struct stat", "l": [{"T": 4, "n": "st_dev", "t": "__dev_t", "s": 8}, {"T": 4, "n": "st_ino", "t": "__ino_t", "s": 8}, {"T": 4, "n": "st_nlink", "t": "__nlink_t", "s": 8}, {"T": 4, "n": "st_mode", "t": "__mode_t", "s": 4}, {"T": 4, "n": "st_uid", "t": "__uid_t", "s": 4}, {"T": 4, "n": "st_gid", "t": "__gid_t", "s": 4}, {"T": 4, "n": "__pad0", "t": "int", "s": 4}, {"T": 4, "n": "st_rdev", "t": "__dev_t", "s": 8}, {"T": 4, "n": "st_size", "t": "__off_t", "s": 8}, {"T": 4, "n": "st_blksize", "t": "__blksize_t", "s": 8}, {"T": 4, "n": "st_blocks", "t": "__blkcnt_t", "s": 8}, {"T": 4, "n": "st_atim", "t": "timespec", "s": 16}, {"T": 4, "n": "st_mtim", "t": "timespec", "s": 16}, {"T": 4, "n": "st_ctim", "t": "timespec", "s": 16}, {"T": 4, "n": "__unused", "t": "__syscall_slong_t[3]", "s": 24}]}, "location": "s344"}, {"n": "v34", "t": {"T": 3, "t": "const char"}, "location": "s40"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s48"}, {"n": "path", "t": {"T": 3, "t": "char"}, "location": "s56"}, {"n": "n", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "haystack", "t": {"T": 3, "t": "char"}, "location": "s72"}, {"n": "s2", "t": {"T": 3, "t": "char"}, "location": "s80"}, {"n": "v28", "t": {"T": 3, "t": "char"}, "location": "s88"}, {"n": "v27", "t": {"T": 3, "t": "FILE"}, "location": "s96"}]}