{"name": "elf_read_build_id", "code": "__int64 __fastcall elf_read_build_id ( __int64 @@a1@@ , void * @@a2@@ , unsigned __int64 @@a3@@ ) { unsigned int @@v4@@ ; signed int @@v5@@ ; __int64 @@v6@@ ; char * src ; char * srca ; __int64 @@v9@@ ; char * @@v10@@ ; const char * @@s1@@ ; unsigned int @@v12@@ [ Number ] ; char @@v13@@ [ Number ] ; unsigned __int64 @@v14@@ ; @@v14@@ = __readfsqword ( Number ) ; @@v4@@ = Number ; if ( @@a3@@ > Number && ( unsigned int ) elf_kind ( @@a1@@ ) == Number ) { if ( gelf_getehdr ( @@a1@@ , @@v13@@ ) ) { @@v6@@ = elf_section_by_name ( @@a1@@ , ( __int64 ) @@v13@@ , @@v12@@ , String , Number L ) ; if ( @@v6@@ || ( @@v6@@ = elf_section_by_name ( @@a1@@ , ( __int64 ) @@v13@@ , @@v12@@ , String , Number L ) ) != Number ) { @@v9@@ = elf_getdata ( @@v6@@ , Number L ) ; if ( @@v9@@ ) { for ( src = * ( char * * ) @@v9@@ ; ( unsigned __int64 ) src < * ( _QWORD * ) @@v9@@ + * ( _QWORD * ) ( @@v9@@ + Number ) ; src = & srca [ @@v5@@ ] ) { @@v10@@ = src ; @@v5@@ = ( * ( ( _DWORD * ) src + Number ) + Number ) & Number ; @@s1@@ = src + Number ; srca = & src [ ( ( * ( _DWORD * ) src + Number ) & Number ) + Number ] ; if ( * ( ( _DWORD * ) @@v10@@ + Number ) == Number && * ( _DWORD * ) @@v10@@ == Number && ! strcmp ( @@s1@@ , String ) ) { memcpy ( @@a2@@ , srca , Number ) ; return Number ; } } } } } else { eprintf ( Number L , String , String ) ; } } return @@v4@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "void"}, "location": "r64"}, {"n": "v12", "t": {"T": 2, "n": 16, "s": 4, "t": "unsigned int"}, "location": "s144"}, {"n": "s1", "t": {"T": 3, "t": "const char"}, "location": "s152"}, {"n": "v10", "t": {"T": 3, "t": "char"}, "location": "s160"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s168"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s184"}, {"n": "v5", "t": {"T": 1, "n": "signed int", "s": 4}, "location": "s188"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s200"}, {"n": "v14", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v13", "t": {"T": 2, "n": 72, "s": 1, "t": "char"}, "location": "s80"}]}