{"name": "zip64local_SearchCentralDir", "code": "unsigned __int64 __fastcall zip64local_SearchCentralDir ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 v3 ; int v4 ; __int64 @@v5@@ ; unsigned __int64 @@v6@@ ; _BYTE * @@ptr@@ ; unsigned __int64 @@v8@@ ; int @@v9@@ ; unsigned __int64 @@v10@@ ; unsigned __int64 @@v11@@ ; unsigned __int64 @@v12@@ ; @@v11@@ = Number ; @@v10@@ = Number L ; if ( call_zseek64 ( @@a1@@ , @@a2@@ , Number L , Number L ) ) return Number L ; @@v8@@ = call_ztell64 ( @@a1@@ , @@a2@@ ) ; if ( @@v8@@ < Number ) @@v11@@ = @@v8@@ ; @@ptr@@ = malloc ( Number ) ; if ( ! @@ptr@@ ) return Number L ; @@v12@@ = Number L ; do { if ( @@v12@@ >= @@v11@@ ) break ; if ( @@v11@@ >= @@v12@@ + Number ) @@v12@@ += Number L ; else @@v12@@ = @@v11@@ ; @@v6@@ = @@v8@@ - @@v12@@ ; v3 = @@v12@@ ; if ( @@v12@@ > Number ) v3 = Number L ; @@v5@@ = v3 ; if ( call_zseek64 ( @@a1@@ , @@a2@@ , @@v6@@ , Number L ) || @@v5@@ != ( * ( __int64 ( __fastcall * * ) ( _QWORD , __int64 , _BYTE * , __int64 ) ) ( @@a1@@ + Number ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@a2@@ , @@ptr@@ , @@v5@@ ) ) { break ; } @@v9@@ = @@v5@@ - Number ; while ( Number ) { v4 = @@v9@@ -- ; if ( v4 <= Number ) break ; if ( @@ptr@@ [ @@v9@@ ] == Number && @@ptr@@ [ @@v9@@ + Number ] == Number && @@ptr@@ [ @@v9@@ + Number ] == Number && @@ptr@@ [ @@v9@@ + Number ] == Number ) { @@v10@@ = @@v9@@ + @@v6@@ ; break ; } } } while ( ! @@v10@@ ) ; free ( @@ptr@@ ) ; return @@v10@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v11", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s40"}, {"n": "ptr", "t": {"T": 3, "t": "_BYTE"}, "location": "s48"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s56"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}, {"n": "v12", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}