{"name": "build_id_cache__add_file", "code": "__int64 __fastcall build_id_cache__add_file ( const char * @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; const char * @@v3@@ ; unsigned int @@v4@@ ; char @@v5@@ [ Number ] ; char @@v6@@ [ Number ] ; unsigned __int64 @@v7@@ ; @@v7@@ = __readfsqword ( Number ) ; if ( ( int ) filename__read_build_id ( @@a1@@ , @@v5@@ , Number L ) >= Number ) { build_id__sprintf ( @@v5@@ , Number L , @@v6@@ ) ; @@v4@@ = build_id_cache__add_s ( @@v6@@ , @@a2@@ , @@a1@@ , Number L , Number L ) ; if ( verbose ) { if ( @@v4@@ ) @@v3@@ = String ; else @@v3@@ = String ; eprintf ( Number L , String , @@v6@@ , @@a1@@ , @@v3@@ ) ; } @@result@@ = @@v4@@ ; } else { eprintf ( Number L , String , @@a1@@ ) ; @@result@@ = Number ; } return @@result@@ ; }", "source": [{"n": "v3", "t": {"T": 3, "t": "const char"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s100"}, {"n": "v6", "t": {"T": 2, "n": 56, "s": 1, "t": "char"}, "location": "s64"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v5", "t": {"T": 2, "n": 32, "s": 1, "t": "char"}, "location": "s96"}]}
{"name": "cmd_buildid_cache", "code": "__int64 __fastcall cmd_buildid_cache ( unsigned int @@a1@@ , __int64 @@a2@@ ) { int * v3 ; char * v4 ; int * v5 ; char * v6 ; int * v7 ; char * v8 ; unsigned __int8 @@v9@@ ; unsigned int @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; __int64 @@v14@@ ; __int64 @@i@@ ; __int64 @@v16@@ ; __int64 @@v17@@ [ Number ] ; _QWORD @@v18@@ [ Number ] ; char @@s@@ [ Number ] ; unsigned __int64 @@v20@@ ; @@v20@@ = __readfsqword ( Number ) ; @@v10@@ = Number ; @@v9@@ = Number ; @@v11@@ = Number L ; @@v12@@ = Number L ; @@v13@@ = Number L ; @@v14@@ = Number L ; memset ( @@v18@@ , Number , sizeof ( @@v18@@ ) ) ; @@v18@@ [ Number ] = Number ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = & @@v11@@ ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = Number ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = & @@v12@@ ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = Number ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = & @@v13@@ ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = Number ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = & @@v9@@ ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = Number ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = & @@v14@@ ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = Number ; @@v18@@ [ Number ] = String ; @@v18@@ [ Number ] = & verbose ; @@v18@@ [ Number ] = String ; @@v17@@ [ Number ] = ( __int64 ) String ; @@v17@@ [ Number ] = Number L ; parse_options ( @@a1@@ , @@a2@@ , @@v18@@ , @@v17@@ , Number L ) ; if ( ( int ) symbol__init ( ) < Number ) return Number ; setup_pager ( ) ; snprintf ( @@s@@ , Number , String , ( const char * ) & buildid_dir ) ; if ( @@v11@@ ) { @@v16@@ = strlist__new ( Number L , @@v11@@ ) ; if ( @@v16@@ ) { for ( @@i@@ = strlist__first ( @@v16@@ ) ; @@i@@ ; @@i@@ = strlist__next ( @@i@@ ) ) { if ( ( unsigned int ) build_id_cache__add_file ( * ( const char * * ) ( @@i@@ + Number ) , ( __int64 ) @@s@@ ) ) { if ( * _errno_location ( ) == Number ) { eprintf ( Number L , String , * ( const char * * ) ( @@i@@ + Number ) ) ; } else { v3 = _errno_location ( ) ; v4 = strerror ( * v3 ) ; eprintf ( Number L , String , * ( const char * * ) ( @@i@@ + Number ) , v4 ) ; } } } strlist__delete ( @@v16@@ ) ; } } if ( @@v12@@ ) { @@v16@@ = strlist__new ( Number L , @@v12@@ ) ; if ( @@v16@@ ) { for ( @@i@@ = strlist__first ( @@v16@@ ) ; @@i@@ ; @@i@@ = strlist__next ( @@i@@ ) ) { if ( ( unsigned int ) build_id_cache__remove_file ( * ( const char * * ) ( @@i@@ + Number ) , ( __int64 ) @@s@@ ) ) { if ( * _errno_location ( ) == Number ) { eprintf ( Number L , String , * ( const char * * ) ( @@i@@ + Number ) ) ; } else { v5 = _errno_location ( ) ; v6 = strerror ( * v5 ) ; eprintf ( Number L , String , * ( const char * * ) ( @@i@@ + Number ) , v6 ) ; } } } strlist__delete ( @@v16@@ ) ; } } if ( @@v13@@ ) @@v10@@ = build_id_cache__fprintf_missing ( @@v13@@ , @@v9@@ , ( __int64 ) stdout ) ; if ( @@v14@@ ) { @@v16@@ = strlist__new ( Number L , @@v14@@ ) ; if ( @@v16@@ ) { for ( @@i@@ = strlist__first ( @@v16@@ ) ; @@i@@ ; @@i@@ = strlist__next ( @@i@@ ) ) { if ( ( unsigned int ) build_id_cache__update_file ( * ( const char * * ) ( @@i@@ + Number ) , ( __int64 ) @@s@@ ) ) { if ( * _errno_location ( ) == Number ) { eprintf ( Number L , String , * ( const char * * ) ( @@i@@ + Number ) ) ; } else { v7 = _errno_location ( ) ; v8 = strerror ( * v7 ) ; eprintf ( Number L , String , * ( const char * * ) ( @@i@@ + Number ) , v8 ) ; } } } strlist__delete ( @@v16@@ ) ; } } return @@v10@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "s", "t": {"T": 2, "n": 4104, "s": 1, "t": "char"}, "location": "s4112"}, {"n": "v18", "t": {"T": 2, "n": 56, "s": 8, "t": "_QWORD"}, "location": "s4560"}, {"n": "v17", "t": {"T": 2, "n": 2, "s": 8, "t": "__int64"}, "location": "s4576"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4584"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4592"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4600"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4608"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4616"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s4624"}, {"n": "v10", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4628"}, {"n": "v9", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s4629"}, {"n": "v20", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}