{"name": "EVP_EncodeFinal", "code": "unsigned int * __fastcall EVP_EncodeFinal ( _DWORD * @@a1@@ , __int64 @@a2@@ , unsigned int * @@a3@@ ) { unsigned int v3 ; unsigned int * result ; unsigned int @@v6@@ ; @@v6@@ = Number ; if ( * @@a1@@ ) { v3 = EVP_EncodeBlock ( @@a2@@ , @@a1@@ + Number , ( unsigned int ) * @@a1@@ ) ; @@v6@@ = v3 + Number ; * ( _BYTE * ) ( v3 + @@a2@@ ) = Number ; * ( _BYTE * ) ( v3 + Number + @@a2@@ ) = Number ; * @@a1@@ = Number ; } result = @@a3@@ ; * @@a3@@ = @@v6@@ ; return result ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "unsigned int"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}
{"name": "EVP_EncodeBlock", "code": "__int64 __fastcall EVP_EncodeBlock ( _BYTE * @@a1@@ , unsigned __int8 * @@a2@@ , int @@a3@@ ) { _BYTE * v3 ; _BYTE * v4 ; char v5 ; _BYTE * v6 ; char * @@v10@@ ; unsigned __int64 v11 ; unsigned __int64 v12 ; unsigned int @@v13@@ ; @@v13@@ = Number ; while ( @@a3@@ > Number ) { if ( @@a3@@ <= Number ) { v12 = ( unsigned __int64 ) * @@a2@@ << Number ; if ( @@a3@@ == Number ) v12 |= ( unsigned __int64 ) @@a2@@ [ Number ] << Number ; * @@a1@@ = data_bin2ascii [ ( v12 >> Number ) & Number ] ; v4 = @@a1@@ + Number ; @@v10@@ = @@a1@@ + Number ; * v4 = data_bin2ascii [ ( v12 >> Number ) & Number ] ; if ( @@a3@@ == Number ) v5 = Number ; else v5 = data_bin2ascii [ ( v12 >> Number ) & Number ] ; * @@v10@@ = v5 ; v6 = @@v10@@ + Number ; @@a1@@ = @@v10@@ + Number ; * v6 = Number ; } else { v11 = ( ( unsigned __int64 ) @@a2@@ [ Number ] << Number ) | ( ( unsigned __int64 ) * @@a2@@ << Number ) | @@a2@@ [ Number ] ; * @@a1@@ = data_bin2ascii [ ( v11 >> Number ) & Number ] ; @@a1@@ [ Number ] = data_bin2ascii [ ( v11 >> Number ) & Number ] ; @@a1@@ [ Number ] = data_bin2ascii [ ( v11 >> Number ) & Number ] ; v3 = @@a1@@ + Number ; @@a1@@ += Number ; * v3 = data_bin2ascii [ v11 & Number ] ; } @@v13@@ += Number ; @@a2@@ += Number ; @@a3@@ -= Number ; } * @@a1@@ = Number ; return @@v13@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}, {"n": "v10", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]}