{"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"}]}
{"name": "unzOpen", "code": "__int64 * __fastcall unzOpen ( __int64 @@a1@@ ) { return unzOpenInternal ( @@a1@@ , Number L , Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"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": "unz64local_CheckCurrentFileCoherencyHeader", "code": "__int64 __fastcall unz64local_CheckCurrentFileCoherencyHeader ( __int64 * @@a1@@ , _DWORD * @@a2@@ , _QWORD * @@a3@@ , _DWORD * @@a4@@ ) { __int64 @@v7@@ ; __int64 @@v8@@ ; __int64 @@v9@@ ; __int64 @@v10@@ ; __int64 @@v11@@ ; unsigned int @@v12@@ ; @@v12@@ = Number ; * @@a2@@ = Number ; * @@a3@@ = Number L ; * @@a4@@ = Number ; if ( call_zseek64 ( @@a1@@ , @@a1@@ [ Number ] , @@a1@@ [ Number ] + @@a1@@ [ Number ] , Number L ) ) return Number ; if ( ! @@v12@@ ) { if ( ( unsigned int ) unz64local_getLong ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v11@@ ) ) { @@v12@@ = Number ; } else if ( @@v11@@ != Number ) { @@v12@@ = Number ; } } if ( ( unsigned int ) unz64local_getShort ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v10@@ ) ) @@v12@@ = Number ; if ( ( unsigned int ) unz64local_getShort ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v9@@ ) ) @@v12@@ = Number ; if ( ( unsigned int ) unz64local_getShort ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v10@@ ) ) { @@v12@@ = Number ; } else if ( ! @@v12@@ && @@a1@@ [ Number ] != @@v10@@ ) { @@v12@@ = Number ; } if ( ! @@v12@@ && @@a1@@ [ Number ] && @@a1@@ [ Number ] != Number && @@a1@@ [ Number ] != Number ) @@v12@@ = Number ; if ( ( unsigned int ) unz64local_getLong ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v10@@ ) ) @@v12@@ = Number ; if ( ( unsigned int ) unz64local_getLong ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v10@@ ) ) { @@v12@@ = Number ; } else if ( ! @@v12@@ && @@a1@@ [ Number ] != @@v10@@ && ( @@v9@@ & Number ) == Number ) { @@v12@@ = Number ; } if ( ( unsigned int ) unz64local_getLong ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v10@@ ) ) { @@v12@@ = Number ; } else if ( @@v10@@ != Number && ! @@v12@@ && @@a1@@ [ Number ] != @@v10@@ && ( @@v9@@ & Number ) == Number ) { @@v12@@ = Number ; } if ( ( unsigned int ) unz64local_getLong ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v10@@ ) ) { @@v12@@ = Number ; } else if ( @@v10@@ != Number && ! @@v12@@ && @@a1@@ [ Number ] != @@v10@@ && ( @@v9@@ & Number ) == Number ) { @@v12@@ = Number ; } if ( ( unsigned int ) unz64local_getShort ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v8@@ ) ) { @@v12@@ = Number ; } else if ( ! @@v12@@ && @@a1@@ [ Number ] != @@v8@@ ) { @@v12@@ = Number ; } * @@a2@@ += @@v8@@ ; if ( ( unsigned int ) unz64local_getShort ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , & @@v7@@ ) ) @@v12@@ = Number ; * @@a3@@ = @@a1@@ [ Number ] + @@v8@@ + Number ; * @@a4@@ = @@v7@@ ; * @@a2@@ += @@v7@@ ; return @@v12@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_DWORD"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]} {"name": "unzOpenCurrentFile", "code": "__int64 __fastcall unzOpenCurrentFile ( __int64 * @@a1@@ ) { return unzOpenCurrentFile3 ( @@a1@@ , Number L , Number L , Number , Number L ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}]} {"name": "unzOpenCurrentFilePassword", "code": "__int64 __fastcall unzOpenCurrentFilePassword ( __int64 * @@a1@@ , __int64 @@a2@@ ) { return unzOpenCurrentFile3 ( @@a1@@ , Number L , Number L , Number , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "unzOpenCurrentFile2", "code": "__int64 __fastcall unzOpenCurrentFile2 ( __int64 * @@a1@@ , _DWORD * @@a2@@ , _DWORD * @@a3@@ , int @@a4@@ ) { return unzOpenCurrentFile3 ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , Number L ) ; }", "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"}]} {"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"}]}