{"name": "get_inode_by_path", "code": "__int64 __fastcall get_inode_by_path ( __int64 @@a1@@ , char * @@a2@@ ) { _QWORD * @@v3@@ ; int @@j@@ ; unsigned int @@v5@@ ; __int64 @@v6@@ ; char * @@i@@ ; int @@v8@@ ; @@v8@@ = Number ; for ( @@i@@ = @@a2@@ ; @@i@@ ; @@i@@ = strchr ( @@i@@ + Number , Number ) ) ++ @@v8@@ ; @@v3@@ = split_path ( @@a2@@ ) ; @@v6@@ = get_root_dir ( @@a1@@ ) ; for ( @@j@@ = Number ; @@j@@ < @@v8@@ ; ++ @@j@@ ) { @@v5@@ = get_inode_from_dir ( @@a1@@ , @@v6@@ , ( const char * ) @@v3@@ [ @@j@@ ] ) ; if ( ! @@v5@@ ) return Number L ; if ( @@j@@ < @@v8@@ - Number ) @@v6@@ = get_inode ( @@a1@@ , @@v5@@ ) ; } return @@v5@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "char"}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v3", "t": {"T": 3, "t": "_QWORD"}, "location": "s40"}]}
{"name": "get_inode", "code": "unsigned __int64 __fastcall get_inode ( __int64 @@a1@@ , unsigned int @@a2@@ ) { __int64 @@v3@@ ; @@v3@@ = get_block_group ( @@a1@@ ) ; return ( ( unsigned __int64 ) @@a2@@ << Number ) - Number + get_block ( @@a1@@ , * ( _DWORD * ) ( @@v3@@ + Number ) ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "split_path", "code": "_QWORD * __fastcall split_path ( char * @@a1@@ ) { size_t v1 ; size_t v2 ; _QWORD * @@v4@@ ; char * @@j@@ ; int @@v6@@ ; char * @@src@@ ; char * @@i@@ ; int @@v9@@ ; @@v9@@ = Number ; for ( @@i@@ = @@a1@@ ; @@i@@ ; @@i@@ = strchr ( @@i@@ + Number , Number ) ) ++ @@v9@@ ; @@v4@@ = calloc ( @@v9@@ , Number ) ; @@src@@ = @@a1@@ + Number ; @@v6@@ = Number ; for ( @@j@@ = strchr ( @@a1@@ + Number , Number ) ; @@j@@ ; @@j@@ = strchr ( @@j@@ + Number , Number ) ) { @@v4@@ [ @@v6@@ ] = calloc ( ( int ) @@j@@ - ( int ) @@src@@ + Number , Number ) ; strncpy ( ( char * ) @@v4@@ [ @@v6@@ ] , @@src@@ , ( int ) @@j@@ - ( int ) @@src@@ ) ; @@src@@ = @@j@@ + Number ; ++ @@v6@@ ; } v1 = strlen ( @@src@@ ) ; @@v4@@ [ @@v6@@ ] = calloc ( v1 + Number , Number ) ; v2 = strlen ( @@src@@ ) ; strncpy ( ( char * ) @@v4@@ [ @@v6@@ ] , @@src@@ , v2 ) ; return @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "char"}, "location": "r56"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "i", "t": {"T": 3, "t": "char"}, "location": "s32"}, {"n": "src", "t": {"T": 3, "t": "char"}, "location": "s40"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "j", "t": {"T": 3, "t": "char"}, "location": "s56"}, {"n": "v4", "t": {"T": 3, "t": "_QWORD"}, "location": "s64"}]} {"name": "get_root_dir", "code": "unsigned __int64 __fastcall get_root_dir ( __int64 @@a1@@ ) { return get_inode ( @@a1@@ , Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "get_inode_from_dir", "code": "__int64 __fastcall get_inode_from_dir ( __int64 @@a1@@ , __int64 @@a2@@ , const char * @@a3@@ ) { size_t @@v3@@ ; const char * @@i@@ ; for ( @@i@@ = ( const char * ) get_block ( @@a1@@ , * ( _DWORD * ) ( @@a2@@ + Number ) ) ; * ( _DWORD * ) @@i@@ ; @@i@@ += * ( ( unsigned __int16 * ) @@i@@ + Number ) ) { @@v3@@ = strlen ( @@a3@@ ) ; if ( ! strncmp ( @@i@@ + Number , @@a3@@ , @@v3@@ ) ) return * ( unsigned int * ) @@i@@ ; } return Number L ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "const char"}, "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": "size_t", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 3, "t": "const char"}, "location": "s8"}]}