{"name": "crl2pkcs7_main", "code": "__int64 __fastcall crl2pkcs7_main ( int @@a1@@ , const char * * @@a2@@ ) { __int64 v2 ; __int64 v3 ; __int64 v4 ; __int64 @@v5@@ ; const char * * @@v7@@ ; int @@v8@@ ; __int64 @@v9@@ ; const char * @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; _QWORD * @@v13@@ ; int @@v14@@ ; unsigned int @@v15@@ ; __int64 @@v16@@ ; __int64 @@v17@@ ; __int64 @@v18@@ ; char * @@v19@@ ; char * @@s@@ ; int @@v21@@ ; int @@v22@@ ; __int64 @@v23@@ ; __int64 @@v24@@ ; int @@v25@@ ; int i ; int v27 ; @@v25@@ = Number ; @@v24@@ = Number L ; @@v23@@ = Number L ; @@v18@@ = Number L ; @@v17@@ = Number L ; @@v16@@ = Number L ; @@v15@@ = Number ; @@v14@@ = Number ; signal ( Number , handler ) ; if ( ! bio_err ) { v2 = BIO_s_file ( ) ; bio_err = BIO_new ( v2 ) ; if ( bio_err ) BIO_ctrl ( bio_err , Number L , Number L , stderr ) ; } @@s@@ = Number L ; @@v19@@ = Number L ; @@v22@@ = Number ; @@v21@@ = Number ; @@v10@@ = * @@a2@@ ; @@v8@@ = @@a1@@ - Number ; @@v7@@ = @@a2@@ + Number ; while ( @@v8@@ > Number ) { if ( ! strcmp ( * @@v7@@ , String ) ) { if ( -- @@v8@@ <= Number ) goto LABEL_30 ; @@v22@@ = str2fmt ( * ++ @@v7@@ ) ; } else if ( ! strcmp ( * @@v7@@ , String ) ) { if ( -- @@v8@@ <= Number ) goto LABEL_30 ; @@v21@@ = str2fmt ( * ++ @@v7@@ ) ; } else if ( ! strcmp ( * @@v7@@ , String ) ) { if ( -- @@v8@@ <= Number ) goto LABEL_30 ; @@s@@ = ( char * ) * ++ @@v7@@ ; } else if ( ! strcmp ( * @@v7@@ , String ) ) { @@v14@@ = Number ; } else if ( ! strcmp ( * @@v7@@ , String ) ) { if ( -- @@v8@@ <= Number ) goto LABEL_30 ; @@v19@@ = ( char * ) * ++ @@v7@@ ; } else { if ( strcmp ( * @@v7@@ , String ) ) { BIO_printf ( bio_err , String , * @@v7@@ ) ; @@v25@@ = Number ; break ; } if ( -- @@v8@@ <= Number ) goto LABEL_30 ; if ( ! @@v16@@ ) @@v16@@ = sk_new_null ( ) ; if ( ! @@v16@@ ) goto LABEL_71 ; if ( ! ( unsigned int ) sk_push ( @@v16@@ , * ++ @@v7@@ ) ) { sk_free ( @@v16@@ ) ; goto LABEL_71 ; } } -- @@v8@@ ; ++ @@v7@@ ; } if ( @@v25@@ ) { LABEL_30 : BIO_printf ( bio_err , String , @@v10@@ ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; BIO_printf ( bio_err , String ) ; @@v15@@ = Number ; goto LABEL_71 ; } ERR_load_crypto_strings ( ) ; v3 = BIO_s_file ( ) ; @@v24@@ = BIO_new ( v3 ) ; v4 = BIO_s_file ( ) ; @@v23@@ = BIO_new ( v4 ) ; if ( ! @@v24@@ || ! @@v23@@ ) { ERR_print_errors ( bio_err ) ; goto LABEL_71 ; } if ( ! @@v14@@ ) { if ( @@s@@ ) { if ( BIO_ctrl ( @@v24@@ , Number L , Number L , @@s@@ ) <= Number ) { perror ( @@s@@ ) ; goto LABEL_71 ; } } else { BIO_ctrl ( @@v24@@ , Number L , Number L , stdin ) ; } if ( @@v22@@ == Number ) { @@v17@@ = d2i_X509_CRL_bio ( @@v24@@ , Number L ) ; } else { if ( @@v22@@ != Number ) { BIO_printf ( bio_err , String ) ; goto LABEL_71 ; } @@v17@@ = PEM_read_bio_X509_CRL ( @@v24@@ , Number L , Number L , Number L ) ; } if ( ! @@v17@@ ) { BIO_printf ( bio_err , String ) ; ERR_print_errors ( bio_err ) ; goto LABEL_71 ; } } @@v18@@ = PKCS7_new ( ) ; if ( @@v18@@ ) { @@v13@@ = ( _QWORD * ) PKCS7_SIGNED_new ( ) ; if ( @@v13@@ ) { * ( _QWORD * ) ( @@v18@@ + Number ) = OBJ_nid2obj ( Number L ) ; * ( _QWORD * ) ( @@v18@@ + Number ) = @@v13@@ ; @@v5@@ = @@v13@@ [ Number ] ; * ( _QWORD * ) ( @@v5@@ + Number ) = OBJ_nid2obj ( Number L ) ; if ( ( unsigned int ) ASN1_INTEGER_set ( * @@v13@@ , Number L ) ) { @@v12@@ = sk_new_null ( ) ; if ( @@v12@@ ) { @@v13@@ [ Number ] = @@v12@@ ; if ( @@v17@@ ) { sk_push ( @@v12@@ , @@v17@@ ) ; @@v17@@ = Number L ; } @@v11@@ = sk_new_null ( ) ; if ( @@v11@@ ) { @@v13@@ [ Number ] = @@v11@@ ; if ( @@v16@@ ) { for ( i = Number ; i < ( int ) sk_num ( @@v16@@ ) ; ++ i ) { @@v9@@ = sk_value ( @@v16@@ , ( unsigned int ) i ) ; if ( ( int ) add_certs_from_file ( @@v11@@ , @@v9@@ ) < Number ) { BIO_printf ( bio_err , String ) ; ERR_print_errors ( bio_err ) ; goto LABEL_71 ; } } } sk_free ( @@v16@@ ) ; if ( @@v19@@ ) { if ( BIO_ctrl ( @@v23@@ , Number L , Number L , @@v19@@ ) <= Number ) { perror ( @@v19@@ ) ; goto LABEL_71 ; } } else { BIO_ctrl ( @@v23@@ , Number L , Number L , stdout ) ; } if ( @@v21@@ == Number ) { v27 = i2d_PKCS7_bio ( @@v23@@ , @@v18@@ ) ; } else { if ( @@v21@@ != Number ) { BIO_printf ( bio_err , String ) ; goto LABEL_71 ; } v27 = PEM_write_bio_PKCS7 ( @@v23@@ , @@v18@@ ) ; } if ( v27 ) { @@v15@@ = Number ; } else { BIO_printf ( bio_err , String ) ; ERR_print_errors ( bio_err ) ; } } } } } } LABEL_71 : if ( @@v24@@ ) BIO_free ( @@v24@@ ) ; if ( @@v23@@ ) BIO_free_all ( @@v23@@ ) ; if ( @@v18@@ ) PKCS7_free ( @@v18@@ ) ; if ( @@v17@@ ) X509_CRL_free ( @@v17@@ ) ; return @@v15@@ ; }", "source": [{"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char *"}, "location": "r64"}, {"n": "v13", "t": {"T": 3, "t": "_QWORD"}, "location": "s104"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s112"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s120"}, {"n": "v10", "t": {"T": 3, "t": "const char"}, "location": "s128"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s136"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s148"}, {"n": "v7", "t": {"T": 3, "t": "const char *"}, "location": "s160"}, {"n": "v25", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v24", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v23", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v22", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v21", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s56"}, {"n": "v19", "t": {"T": 3, "t": "char"}, "location": "s64"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s88"}, {"n": "v15", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s92"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s96"}]}
{"name": "add_certs_from_file", "code": "__int64 __fastcall add_certs_from_file ( __int64 @@a1@@ , const char * @@a2@@ ) { __int64 @@v2@@ ; _QWORD * @@v4@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; unsigned int @@v7@@ ; unsigned int @@v8@@ ; @@v8@@ = Number ; @@v7@@ = Number ; @@v6@@ = Number L ; @@v2@@ = BIO_s_file ( ) ; @@v5@@ = BIO_new ( @@v2@@ ) ; if ( @@v5@@ && BIO_ctrl ( @@v5@@ , Number L , Number L , @@a2@@ ) > Number ) { @@v6@@ = PEM_X509_INFO_read_bio ( @@v5@@ , Number L , Number L , Number L ) ; if ( @@v6@@ ) { while ( ( unsigned int ) sk_num ( @@v6@@ ) ) { @@v4@@ = ( _QWORD * ) sk_shift ( @@v6@@ ) ; if ( * @@v4@@ ) { sk_push ( @@a1@@ , * @@v4@@ ) ; * @@v4@@ = Number L ; ++ @@v8@@ ; } X509_INFO_free ( @@v4@@ ) ; } @@v7@@ = @@v8@@ ; } else { BIO_printf ( bio_err , String , @@a2@@ ) ; } } else { BIO_printf ( bio_err , String , @@a2@@ ) ; } if ( @@v5@@ ) BIO_free ( @@v5@@ ) ; if ( @@v6@@ ) sk_free ( @@v6@@ ) ; return @@v7@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v4", "t": {"T": 3, "t": "_QWORD"}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]}