{"name": "Write_EndOfCentralDirectoryRecord", "code": "__int64 __fastcall Write_EndOfCentralDirectoryRecord ( _QWORD * @@a1@@ , unsigned __int64 @@a2@@ , __int64 @@a3@@ ) { unsigned int @@v5@@ ; @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , Number , Number ) ; if ( ! @@v5@@ ) @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , Number L , Number ) ; if ( ! @@v5@@ ) @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , Number L , Number ) ; if ( ! @@v5@@ ) { if ( @@a1@@ [ Number ] <= Number ) @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , @@a1@@ [ Number ] , Number ) ; else @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , Number , Number ) ; } if ( ! @@v5@@ ) { if ( @@a1@@ [ Number ] <= Number ) @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , @@a1@@ [ Number ] , Number ) ; else @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , Number , Number ) ; } if ( ! @@v5@@ ) @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , @@a2@@ , Number ) ; if ( ! @@v5@@ ) { if ( ( unsigned __int64 ) ( @@a3@@ - @@a1@@ [ Number ] ) <= Number ) @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , @@a3@@ - @@a1@@ [ Number ] , Number ) ; else @@v5@@ = zip64local_putValue ( ( __int64 ) @@a1@@ , @@a1@@ [ Number ] , Number , Number ) ; } return @@v5@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r64"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}