{"name": "zip64FlushWriteBuffer", "code": "__int64 __fastcall zip64FlushWriteBuffer ( __int64 @@a1@@ ) { char @@v2@@ ; unsigned int @@i@@ ; unsigned int @@v4@@ ; @@v4@@ = Number ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { for ( @@i@@ = Number ; @@i@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) { @@v2@@ = decrypt_byte ( @@a1@@ + Number ) ; update_keys ( ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) , * ( unsigned __int8 * ) ( @@a1@@ + @@i@@ + Number ) ) ; * ( _BYTE * ) ( @@a1@@ + @@i@@ + Number ) ^= @@v2@@ ; } } if ( ( * ( __int64 ( __fastcall * * ) ( _QWORD , _QWORD , __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) , @@a1@@ + Number , * ( unsigned int * ) ( @@a1@@ + Number ) ) != * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v4@@ = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) += * ( unsigned int * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; return @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "char", "s": 1}, "location": "s12"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]}