{"name": "map_groups__set_modules_path_dir", "code": "__int64 __fastcall map_groups__set_modules_path_dir ( __int64 @@a1@@ , const char * @@a2@@ ) { __int64 @@result@@ ; int @@v3@@ ; DIR * @@dirp@@ ; struct dirent64 * @@v5@@ ; const char * @@s1@@ ; __int64 @@v7@@ ; char * @@v8@@ ; struct stat64 @@v9@@ ; char @@s@@ [ Number ] ; char @@v11@@ [ Number ] ; unsigned __int64 @@v12@@ ; @@v12@@ = __readfsqword ( Number ) ; @@dirp@@ = opendir ( @@a2@@ ) ; @@v3@@ = Number ; if ( @@dirp@@ ) { while ( Number ) { @@v5@@ = readdir64 ( @@dirp@@ ) ; if ( ! @@v5@@ ) break ; sprintf ( @@s@@ , String , @@a2@@ , @@v5@@ -> d_name ) ; if ( ! stat64 ( @@s@@ , & @@v9@@ ) ) { if ( ( @@v9@@ . st_mode & Number ) == Number ) { if ( strcmp ( @@v5@@ -> d_name , String ) ) { if ( strcmp ( @@v5@@ -> d_name , String ) ) { snprintf ( @@s@@ , Number , String , @@a2@@ , @@v5@@ -> d_name ) ; @@v3@@ = map_groups__set_modules_path_dir ( @@a1@@ , @@s@@ ) ; if ( @@v3@@ < Number ) break ; } } } else { @@s1@@ = strrchr ( @@v5@@ -> d_name , Number ) ; if ( @@s1@@ ) { if ( ! strcmp ( @@s1@@ , String ) ) { snprintf ( @@v11@@ , Number , String , ( _DWORD ) @@s1@@ - ( ( _DWORD ) @@v5@@ + Number ) , @@v5@@ -> d_name ) ; strxfrchar ( @@v11@@ , Number L , Number L ) ; @@v7@@ = map_groups__find_by_name ( @@a1@@ , Number , @@v11@@ ) ; if ( @@v7@@ ) { snprintf ( @@s@@ , Number , String , @@a2@@ , @@v5@@ -> d_name ) ; @@v8@@ = strdup ( @@s@@ ) ; if ( ! @@v8@@ ) { @@v3@@ = Number ; break ; } dso__set_long_name ( * ( _QWORD * ) ( @@v7@@ + Number ) , @@v8@@ ) ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@v7@@ + Number ) + Number L ) |= Number ; dso__kernel_module_get_build_id ( * ( _QWORD * ) ( @@v7@@ + Number ) , ( const char * ) & unk_72E0 ) ; } } } } } } closedir ( @@dirp@@ ) ; @@result@@ = ( unsigned int ) @@v3@@ ; } else { eprintf ( Number L , String , String , @@a2@@ ) ; @@result@@ = Number ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v11", "t": {"T": 2, "n": 4104, "s": 1, "t": "char"}, "location": "s4112"}, {"n": "v12", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "s", "t": {"T": 2, "n": 4096, "s": 1, "t": "char"}, "location": "s8208"}, {"n": "v9", "t": {"T": 6, "n": "struct stat64", "l": [{"T": 4, "n": "st_dev", "t": "__dev_t", "s": 8}, {"T": 4, "n": "st_ino", "t": "__ino64_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": "__blkcnt64_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": "s8352"}, {"n": "v8", "t": {"T": 3, "t": "char"}, "location": "s8360"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8368"}, {"n": "s1", "t": {"T": 3, "t": "const char"}, "location": "s8376"}, {"n": "v5", "t": {"T": 3, "t": "struct dirent64"}, "location": "s8384"}, {"n": "dirp", "t": {"T": 3, "t": "DIR"}, "location": "s8392"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8396"}]}