{"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", "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": "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"}]}