{"name": "i2d_SSL_SESSION", "code": "__int64 __fastcall i2d_SSL_SESSION ( int * @@a1@@ , __int64 * @@a2@@ ) { int v3 ; int v4 ; int v5 ; int v6 ; int v7 ; int v8 ; _BYTE * @@v9@@ ; int @@v10@@ [ Number ] ; char * @@v11@@ ; int @@v12@@ [ Number ] ; char * @@v13@@ ; int @@v14@@ [ Number ] ; char * @@v15@@ ; int @@v16@@ [ Number ] ; char * @@v17@@ ; int @@v18@@ [ Number ] ; int * @@v19@@ ; int @@v20@@ [ Number ] ; int * @@v21@@ ; int @@v22@@ [ Number ] ; int * @@v23@@ ; int @@v24@@ [ Number ] ; int * @@v25@@ ; int @@v26@@ [ Number ] ; char * @@v27@@ ; int @@v28@@ [ Number ] ; char * @@v29@@ ; int @@v30@@ [ Number ] ; char * @@v31@@ ; int @@v32@@ [ Number ] ; __int64 @@v33@@ ; int @@v34@@ [ Number ] ; char * @@v35@@ ; int @@v36@@ [ Number ] ; __int64 @@v37@@ ; int @@v38@@ [ Number ] ; __int64 @@v39@@ ; int @@v40@@ [ Number ] ; __int64 @@v41@@ ; int @@v42@@ [ Number ] ; __int64 @@v43@@ ; char @@v44@@ ; char @@v45@@ ; char @@v46@@ ; char @@v47@@ ; char @@v48@@ ; char @@v49@@ ; char @@v50@@ ; char @@v51@@ ; char @@v52@@ ; char @@v53@@ ; _BYTE * @@v54@@ ; unsigned int @@v55@@ ; unsigned int @@v56@@ ; unsigned int @@v57@@ ; __int64 @@v58@@ ; unsigned int @@v59@@ ; unsigned int @@v60@@ ; unsigned int @@v61@@ ; unsigned int @@v62@@ ; unsigned int @@v63@@ ; unsigned int @@v64@@ ; unsigned int @@v65@@ ; unsigned int @@v66@@ ; unsigned int @@v67@@ ; unsigned int @@v68@@ ; unsigned int @@v69@@ ; @@v69@@ = Number ; @@v68@@ = Number ; @@v67@@ = Number ; @@v56@@ = Number ; @@v66@@ = Number ; @@v65@@ = Number ; @@v64@@ = Number ; @@v63@@ = Number ; @@v62@@ = Number ; @@v61@@ = Number ; @@v60@@ = Number ; @@v59@@ = Number ; @@v55@@ = Number ; @@v57@@ = Number ; if ( ! @@a1@@ ) return Number L ; if ( ! * ( ( _QWORD * ) @@a1@@ + Number ) && ! * ( ( _QWORD * ) @@a1@@ + Number ) ) return Number L ; @@v10@@ [ Number ] = Number ; @@v10@@ [ Number ] = Number ; @@v11@@ = & @@v50@@ ; ASN1_INTEGER_set ( @@v10@@ , Number L ) ; @@v12@@ [ Number ] = Number ; @@v12@@ [ Number ] = Number ; @@v13@@ = & @@v49@@ ; ASN1_INTEGER_set ( @@v12@@ , * @@a1@@ ) ; @@v14@@ [ Number ] = Number ; @@v15@@ = & @@v51@@ ; if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) @@v58@@ = * ( _QWORD * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + Number L ) ; else @@v58@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; if ( * @@a1@@ == Number ) { @@v14@@ [ Number ] = Number ; @@v51@@ = BYTE2 ( @@v58@@ ) ; @@v52@@ = BYTE1 ( @@v58@@ ) ; @@v53@@ = @@v58@@ ; } else { @@v14@@ [ Number ] = Number ; @@v51@@ = BYTE1 ( @@v58@@ ) ; @@v52@@ = @@v58@@ ; } if ( @@a1@@ [ Number ] ) { @@v44@@ = @@a1@@ [ Number ] ; @@v16@@ [ Number ] = Number ; @@v16@@ [ Number ] = Number ; @@v17@@ = & @@v44@@ ; } @@v18@@ [ Number ] = @@a1@@ [ Number ] ; @@v18@@ [ Number ] = Number ; @@v19@@ = @@a1@@ + Number ; @@v20@@ [ Number ] = @@a1@@ [ Number ] ; @@v20@@ [ Number ] = Number ; @@v21@@ = @@a1@@ + Number ; @@v22@@ [ Number ] = @@a1@@ [ Number ] ; @@v22@@ [ Number ] = Number ; @@v23@@ = @@a1@@ + Number ; @@v24@@ [ Number ] = @@a1@@ [ Number ] ; @@v24@@ [ Number ] = Number ; @@v25@@ = @@a1@@ + Number ; if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v26@@ [ Number ] = Number ; @@v26@@ [ Number ] = Number ; @@v27@@ = & @@v48@@ ; ASN1_INTEGER_set ( @@v26@@ , * ( ( _QWORD * ) @@a1@@ + Number ) ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v28@@ [ Number ] = Number ; @@v28@@ [ Number ] = Number ; @@v29@@ = & @@v47@@ ; ASN1_INTEGER_set ( @@v28@@ , * ( ( _QWORD * ) @@a1@@ + Number ) ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v30@@ [ Number ] = Number ; @@v30@@ [ Number ] = Number ; @@v31@@ = & @@v46@@ ; ASN1_INTEGER_set ( @@v30@@ , * ( ( _QWORD * ) @@a1@@ + Number ) ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v32@@ [ Number ] = strlen ( * ( ( const char * * ) @@a1@@ + Number ) ) ; @@v32@@ [ Number ] = Number ; @@v33@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v36@@ [ Number ] = * ( ( _QWORD * ) @@a1@@ + Number ) ; @@v36@@ [ Number ] = Number ; @@v37@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; } if ( * ( ( __int64 * ) @@a1@@ + Number ) > Number ) { @@v34@@ [ Number ] = Number ; @@v34@@ [ Number ] = Number ; @@v35@@ = & @@v45@@ ; ASN1_INTEGER_set ( @@v34@@ , * ( ( _QWORD * ) @@a1@@ + Number ) ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v38@@ [ Number ] = strlen ( * ( ( const char * * ) @@a1@@ + Number ) ) ; @@v38@@ [ Number ] = Number ; @@v39@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v40@@ [ Number ] = strlen ( * ( ( const char * * ) @@a1@@ + Number ) ) ; @@v40@@ [ Number ] = Number ; @@v41@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v42@@ [ Number ] = strlen ( * ( ( const char * * ) @@a1@@ + Number ) ) ; @@v42@@ [ Number ] = Number ; @@v43@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; } v3 = i2d_ASN1_INTEGER ( @@v10@@ , Number L ) ; @@v57@@ += v3 ; v4 = i2d_ASN1_INTEGER ( @@v12@@ , Number L ) ; @@v57@@ += v4 ; v5 = i2d_ASN1_OCTET_STRING ( @@v14@@ , Number L ) ; @@v57@@ += v5 ; v6 = i2d_ASN1_OCTET_STRING ( @@v20@@ , Number L ) ; @@v57@@ += v6 ; v7 = i2d_ASN1_OCTET_STRING ( @@v18@@ , Number L ) ; @@v57@@ += v7 ; if ( @@a1@@ [ Number ] ) { v8 = i2d_ASN1_OCTET_STRING ( @@v24@@ , Number L ) ; @@v57@@ += v8 ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v69@@ = i2d_ASN1_INTEGER ( @@v26@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v69@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v68@@ = i2d_ASN1_INTEGER ( @@v28@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v68@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v67@@ = i2d_X509 ( * ( ( _QWORD * ) @@a1@@ + Number ) , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v67@@ , Number L ) ; } @@v56@@ = i2d_ASN1_OCTET_STRING ( @@v22@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v56@@ , Number L ) ; if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v66@@ = i2d_ASN1_INTEGER ( @@v30@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v66@@ , Number L ) ; } if ( * ( ( __int64 * ) @@a1@@ + Number ) > Number ) { @@v62@@ = i2d_ASN1_INTEGER ( @@v34@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v62@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v61@@ = i2d_ASN1_OCTET_STRING ( @@v36@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v61@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v63@@ = i2d_ASN1_OCTET_STRING ( @@v32@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v63@@ , Number L ) ; } if ( @@a1@@ [ Number ] ) { @@v60@@ = i2d_ASN1_OCTET_STRING ( @@v16@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v60@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v65@@ = i2d_ASN1_OCTET_STRING ( @@v38@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v65@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v64@@ = i2d_ASN1_OCTET_STRING ( @@v40@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v64@@ , Number L ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { @@v59@@ = i2d_ASN1_OCTET_STRING ( @@v42@@ , Number L ) ; @@v57@@ += ASN1_object_size ( Number L , @@v59@@ , Number L ) ; } @@v55@@ = ASN1_object_size ( Number L , @@v57@@ , Number L ) ; if ( ! @@a2@@ ) return @@v55@@ ; @@v9@@ = ( _BYTE * ) * @@a2@@ ; ASN1_put_object ( & @@v9@@ , Number L , @@v57@@ , Number L , Number L ) ; i2d_ASN1_INTEGER ( @@v10@@ , & @@v9@@ ) ; i2d_ASN1_INTEGER ( @@v12@@ , & @@v9@@ ) ; i2d_ASN1_OCTET_STRING ( @@v14@@ , & @@v9@@ ) ; i2d_ASN1_OCTET_STRING ( @@v20@@ , & @@v9@@ ) ; i2d_ASN1_OCTET_STRING ( @@v18@@ , & @@v9@@ ) ; if ( @@a1@@ [ Number ] ) { @@v54@@ = @@v9@@ ; i2d_ASN1_OCTET_STRING ( @@v24@@ , & @@v9@@ ) ; * @@v54@@ = * @@v54@@ & Number | Number ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v69@@ , Number L , Number L ) ; i2d_ASN1_INTEGER ( @@v26@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v68@@ , Number L , Number L ) ; i2d_ASN1_INTEGER ( @@v28@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v67@@ , Number L , Number L ) ; i2d_X509 ( * ( ( _QWORD * ) @@a1@@ + Number ) , & @@v9@@ ) ; } ASN1_put_object ( & @@v9@@ , Number L , @@v56@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v22@@ , & @@v9@@ ) ; if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v66@@ , Number L , Number L ) ; i2d_ASN1_INTEGER ( @@v30@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v63@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v32@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v65@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v38@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v64@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v40@@ , & @@v9@@ ) ; } if ( * ( ( __int64 * ) @@a1@@ + Number ) > Number ) { ASN1_put_object ( & @@v9@@ , Number L , @@v62@@ , Number L , Number L ) ; i2d_ASN1_INTEGER ( @@v34@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v61@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v36@@ , & @@v9@@ ) ; } if ( @@a1@@ [ Number ] ) { ASN1_put_object ( & @@v9@@ , Number L , @@v60@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v16@@ , & @@v9@@ ) ; } if ( * ( ( _QWORD * ) @@a1@@ + Number ) ) { ASN1_put_object ( & @@v9@@ , Number L , @@v59@@ , Number L , Number L ) ; i2d_ASN1_OCTET_STRING ( @@v42@@ , & @@v9@@ ) ; } * @@a2@@ = ( __int64 ) @@v9@@ ; return @@v55@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "v50", "t": {"T": 1, "n": "char", "s": 1}, "location": "s112"}, {"n": "v67", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v49", "t": {"T": 1, "n": "char", "s": 1}, "location": "s128"}, {"n": "v48", "t": {"T": 1, "n": "char", "s": 1}, "location": "s144"}, {"n": "v66", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "v47", "t": {"T": 1, "n": "char", "s": 1}, "location": "s160"}, {"n": "v46", "t": {"T": 1, "n": "char", "s": 1}, "location": "s176"}, {"n": "v45", "t": {"T": 1, "n": "char", "s": 1}, "location": "s192"}, {"n": "v44", "t": {"T": 1, "n": "char", "s": 1}, "location": "s193"}, {"n": "v65", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v43", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s216"}, {"n": "v42", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s224"}, {"n": "v64", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s24"}, {"n": "v41", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s240"}, {"n": "v40", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s248"}, {"n": "v39", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s264"}, {"n": "v38", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s272"}, {"n": "v63", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v37", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s288"}, {"n": "v36", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s296"}, {"n": "v35", "t": {"T": 3, "t": "char"}, "location": "s312"}, {"n": "v62", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s32"}, {"n": "v34", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s320"}, {"n": "v33", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s336"}, {"n": "v32", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s344"}, {"n": "v61", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v31", "t": {"T": 3, "t": "char"}, "location": "s360"}, {"n": "v30", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s368"}, {"n": "v29", "t": {"T": 3, "t": "char"}, "location": "s384"}, {"n": "v28", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s392"}, {"n": "v69", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v60", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s40"}, {"n": "v27", "t": {"T": 3, "t": "char"}, "location": "s408"}, {"n": "v26", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s416"}, {"n": "v25", "t": {"T": 3, "t": "int"}, "location": "s432"}, {"n": "v59", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s44"}, {"n": "v24", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s440"}, {"n": "v23", "t": {"T": 3, "t": "int"}, "location": "s456"}, {"n": "v22", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s464"}, {"n": "v21", "t": {"T": 3, "t": "int"}, "location": "s480"}, {"n": "v20", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s488"}, {"n": "v19", "t": {"T": 3, "t": "int"}, "location": "s504"}, {"n": "v18", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s512"}, {"n": "v17", "t": {"T": 3, "t": "char"}, "location": "s528"}, {"n": "v16", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s536"}, {"n": "v15", "t": {"T": 3, "t": "char"}, "location": "s552"}, {"n": "v58", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v14", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s560"}, {"n": "v13", "t": {"T": 3, "t": "char"}, "location": "s576"}, {"n": "v12", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s584"}, {"n": "v57", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s60"}, {"n": "v11", "t": {"T": 3, "t": "char"}, "location": "s600"}, {"n": "v10", "t": {"T": 2, "n": 2, "s": 4, "t": "int"}, "location": "s608"}, {"n": "v9", "t": {"T": 3, "t": "_BYTE"}, "location": "s616"}, {"n": "v56", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s64"}, {"n": "v55", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s68"}, {"n": "v68", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}, {"n": "v54", "t": {"T": 3, "t": "_BYTE"}, "location": "s80"}, {"n": "v53", "t": {"T": 1, "n": "char", "s": 1}, "location": "s82"}, {"n": "v52", "t": {"T": 1, "n": "char", "s": 1}, "location": "s83"}, {"n": "v51", "t": {"T": 1, "n": "char", "s": 1}, "location": "s84"}]}