{"name": "unzCloseCurrentFile", "code": "__int64 __fastcall unzCloseCurrentFile ( __int64 @@a1@@ ) { _QWORD * @@ptr@@ ; unsigned int @@v3@@ ; @@v3@@ = Number ; if ( ! @@a1@@ ) return Number L ; @@ptr@@ = * ( _QWORD * * ) ( @@a1@@ + Number ) ; if ( ! @@ptr@@ ) return Number L ; if ( ! @@ptr@@ [ Number ] && ! * ( ( _DWORD * ) @@ptr@@ + Number ) && @@ptr@@ [ Number ] != @@ptr@@ [ Number ] ) @@v3@@ = Number ; if ( * @@ptr@@ ) free ( ( void * ) * @@ptr@@ ) ; * @@ptr@@ = Number L ; if ( @@ptr@@ [ Number ] == Number L ) inflateEnd ( @@ptr@@ + Number ) ; @@ptr@@ [ Number ] = Number L ; free ( @@ptr@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; return @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "ptr", "t": {"T": 3, "t": "_QWORD"}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}
{"name": "unzClose", "code": "__int64 __fastcall unzClose ( __int64 @@a1@@ ) { if ( ! @@a1@@ ) return Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) unzCloseCurrentFile ( @@a1@@ ) ; ( * ( void ( __fastcall * * ) ( _QWORD , _QWORD ) ) ( @@a1@@ + Number ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; free ( ( void * ) @@a1@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "unzOpenCurrentFile3", "code": "__int64 __fastcall unzOpenCurrentFile3 ( __int64 * @@a1@@ , _DWORD * @@a2@@ , _DWORD * @@a3@@ , int @@a4@@ , __int64 @@a5@@ ) { void * v6 ; __int64 v7 ; _QWORD * v8 ; __int64 * v9 ; __int64 v10 ; __int64 v11 ; __int64 v12 ; __int64 v13 ; __int64 v14 ; int @@v17@@ ; __int64 @@v18@@ ; unsigned int @@v19@@ ; void * @@ptr@@ ; __int64 * @@v21@@ ; unsigned int @@v22@@ ; @@v22@@ = Number ; if ( @@a5@@ ) return Number L ; if ( ! @@a1@@ ) return Number L ; @@v21@@ = @@a1@@ ; if ( ! @@a1@@ [ Number ] ) return Number L ; if ( @@v21@@ [ Number ] ) unzCloseCurrentFile ( @@a1@@ ) ; if ( ( unsigned int ) unz64local_CheckCurrentFileCoherencyHeader ( @@v21@@ , & @@v19@@ , & @@v18@@ , & @@v17@@ ) ) return Number L ; @@ptr@@ = malloc ( Number ) ; if ( ! @@ptr@@ ) return Number L ; v6 = malloc ( Number ) ; * ( _QWORD * ) @@ptr@@ = v6 ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v18@@ ; * ( ( _DWORD * ) @@ptr@@ + Number ) = @@v17@@ ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _DWORD * ) @@ptr@@ + Number ) = @@a4@@ ; if ( ! * ( _QWORD * ) @@ptr@@ ) { if ( @@ptr@@ ) free ( @@ptr@@ ) ; return Number L ; } * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; if ( @@a2@@ ) * @@a2@@ = @@v21@@ [ Number ] ; if ( @@a3@@ ) { * @@a3@@ = Number ; v7 = @@v21@@ [ Number ] & Number ; if ( v7 == Number ) { * @@a3@@ = Number ; } else if ( ( @@v21@@ [ Number ] & Number ) != Number ) { if ( v7 == Number ) { * @@a3@@ = Number ; } else if ( v7 == Number ) { * @@a3@@ = Number ; } } } if ( @@v21@@ [ Number ] && @@v21@@ [ Number ] != Number && @@v21@@ [ Number ] != Number ) @@v22@@ = Number ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v21@@ [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v21@@ [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v21@@ [ Number ] ; v8 = @@ptr@@ ; v9 = @@v21@@ ; v10 = @@v21@@ [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = * @@v21@@ ; v8 [ Number ] = v10 ; v11 = v9 [ Number ] ; v8 [ Number ] = v9 [ Number ] ; v8 [ Number ] = v11 ; v12 = v9 [ Number ] ; v8 [ Number ] = v9 [ Number ] ; v8 [ Number ] = v12 ; v13 = v9 [ Number ] ; v8 [ Number ] = v9 [ Number ] ; v8 [ Number ] = v13 ; v14 = v9 [ Number ] ; v8 [ Number ] = v9 [ Number ] ; v8 [ Number ] = v14 ; v8 [ Number ] = v9 [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v21@@ [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; if ( @@v21@@ [ Number ] == Number && ! @@a4@@ ) { * ( ( _DWORD * ) @@ptr@@ + Number ) = Number ; LABEL_42 : * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v21@@ [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v21@@ [ Number ] ; * ( ( _QWORD * ) @@ptr@@ + Number ) = @@v19@@ + @@v21@@ [ Number ] + Number ; * ( ( _DWORD * ) @@ptr@@ + Number ) = Number ; @@v21@@ [ Number ] = ( __int64 ) @@ptr@@ ; * ( ( _DWORD * ) @@v21@@ + Number ) = Number ; return Number L ; } if ( @@v21@@ [ Number ] != Number || @@a4@@ ) goto LABEL_42 ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; * ( ( _DWORD * ) @@ptr@@ + Number ) = Number ; @@v22@@ = inflateInit2_ ( ( char * ) @@ptr@@ + Number , Number L , String , Number L ) ; if ( ! @@v22@@ ) { * ( ( _QWORD * ) @@ptr@@ + Number ) = Number L ; goto LABEL_42 ; } if ( @@ptr@@ ) free ( @@ptr@@ ) ; return @@v22@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_DWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v22", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v21", "t": {"T": 3, "t": "__int64"}, "location": "s32"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s40"}, {"n": "v19", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s44"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}]}