{"name": "X509_REQ_get_extensions", "code": "__int64 __fastcall X509_REQ_get_extensions ( _QWORD * @@a1@@ ) { __int64 @@v2@@ ; __int64 @@v3@@ ; unsigned int @@v4@@ ; _DWORD * @@i@@ ; __int64 @@v6@@ ; @@v6@@ = Number L ; if ( ! @@a1@@ || ! * @@a1@@ || ! ext_nids ) return Number L ; for ( @@i@@ = ext_nids ; * @@i@@ ; ++ @@i@@ ) { @@v4@@ = X509_REQ_get_attr_by_NID ( @@a1@@ , ( unsigned int ) * @@i@@ , Number ) ; if ( @@v4@@ != Number ) { @@v3@@ = X509_REQ_get_attr ( @@a1@@ , @@v4@@ ) ; if ( * ( _DWORD * ) ( @@v3@@ + Number ) ) { @@v6@@ = * ( _QWORD * ) ( @@v3@@ + Number ) ; } else if ( ( unsigned int ) sk_num ( * ( _QWORD * ) ( @@v3@@ + Number ) ) ) { @@v6@@ = sk_value ( * ( _QWORD * ) ( @@v3@@ + Number ) , Number L ) ; } break ; } } if ( ! @@v6@@ || * ( _DWORD * ) @@v6@@ != Number ) return Number L ; @@v2@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@v6@@ + Number ) + Number L ) ; return d2i_ASN1_SET ( Number L , & @@v2@@ , * * ( int * * ) ( @@v6@@ + Number ) , & d2i_X509_EXTENSION , & X509_EXTENSION_free , Number L , Number L ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 3, "t": "_DWORD"}, "location": "s24"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]}