#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ ASN1_ENUMERATED_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_GENERALIZEDTIME_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_INTEGER_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_OBJECT_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_OCTET_STRING_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_TIME_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_TYPE_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ASN1_UTCTIME_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ BIO_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ BIO_free_all(int /*<<< orphan*/ *);
int /*<<< orphan*/ BN_clear_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ BN_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ BUF_MEM_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ CONF_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ DH_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ DIST_POINT_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ DSA_SIG_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ DSA_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ ECDSA_SIG_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EC_GROUP_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EC_KEY_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EC_POINT_clear_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EC_POINT_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EVP_CIPHER_CTX_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EVP_PKEY_CTX_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ EVP_PKEY_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ GENERAL_NAME_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ GENERAL_SUBTREE_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ NAME_CONSTRAINTS_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ NCONF_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ NETSCAPE_CERT_SEQUENCE_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ NETSCAPE_SPKI_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ NETSCAPE_X509_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ OCSP_BASICRESP_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ OCSP_CERTID_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ OCSP_REQUEST_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ OCSP_REQ_CTX_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ OCSP_RESPONSE_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ PBEPARAM_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ PKCS12_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ PKCS7_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ PKCS8_PRIV_KEY_INFO_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ RSA_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_MSG_IMPRINT_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_REQ_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_RESP_CTX_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_RESP_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_STATUS_INFO_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_TST_INFO_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TS_VERIFY_CTX_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ TXT_DB_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ UI_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_ALGOR_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_CRL_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_EXTENSION_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_INFO_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_NAME_ENTRY_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_NAME_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_REQ_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_SIG_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_STORE_CTX_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_STORE_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_VERIFY_PARAM_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_email_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ X509_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ lh_FUNCTION_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ printf(char *);
int /*<<< orphan*/ sk_ASN1_OBJECT_pop_free(int /*<<< orphan*/ *,
                                           int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_CONF_VALUE_pop_free(int /*<<< orphan*/ *,
                                          int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_GENERAL_NAME_pop_free(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_OCSP_CERTID_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_OPENSSL_STRING_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_PKCS12_SAFEBAG_pop_free(int /*<<< orphan*/ *,
                                              int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_PKCS7_pop_free(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_ATTRIBUTE_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_CRL_pop_free(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_EXTENSION_pop_free(int /*<<< orphan*/ *,
                                              int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_INFO_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_INFO_pop_free(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_NAME_ENTRY_pop_free(int /*<<< orphan*/ *,
                                               int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_free(int /*<<< orphan*/ *);
int /*<<< orphan*/ sk_X509_pop_free(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int main(int argc, char **argv) {
  ASN1_ENUMERATED_free(NULL);
  ASN1_GENERALIZEDTIME_free(NULL);
  ASN1_INTEGER_free(NULL);
  ASN1_OBJECT_free(NULL);
  ASN1_OCTET_STRING_free(NULL);
  ASN1_TIME_free(NULL);
  ASN1_TYPE_free(NULL);
  ASN1_UTCTIME_free(NULL);
  BIO_free(NULL);
  BIO_free_all(NULL);
  BN_clear_free(NULL);
  BN_free(NULL);
  BUF_MEM_free(NULL);
  CONF_free(NULL);
  DH_free(NULL);
  DIST_POINT_free(NULL);
  DSA_SIG_free(NULL);
  DSA_free(NULL);
  ECDSA_SIG_free(NULL);
  EC_GROUP_free(NULL);
  EC_KEY_free(NULL);
  EC_POINT_clear_free(NULL);
  EC_POINT_free(NULL);
  EVP_CIPHER_CTX_free(NULL);
  EVP_PKEY_CTX_free(NULL);
  EVP_PKEY_free(NULL);
  GENERAL_NAME_free(NULL);
  GENERAL_SUBTREE_free(NULL);
  NAME_CONSTRAINTS_free(NULL);
  NCONF_free(NULL);
  NETSCAPE_CERT_SEQUENCE_free(NULL);
  NETSCAPE_SPKI_free(NULL);
  NETSCAPE_X509_free(NULL);
  OCSP_BASICRESP_free(NULL);
  OCSP_CERTID_free(NULL);
  OCSP_REQUEST_free(NULL);
  OCSP_REQ_CTX_free(NULL);
  OCSP_RESPONSE_free(NULL);
  PBEPARAM_free(NULL);
  PKCS12_free(NULL);
  PKCS7_free(NULL);
  PKCS8_PRIV_KEY_INFO_free(NULL);
  RSA_free(NULL);
  TS_MSG_IMPRINT_free(NULL);
  TS_REQ_free(NULL);
  TS_RESP_CTX_free(NULL);
  TS_RESP_free(NULL);
  TS_STATUS_INFO_free(NULL);
  TS_TST_INFO_free(NULL);
  TS_VERIFY_CTX_free(NULL);
  TXT_DB_free(NULL);
  UI_free(NULL);
  X509_ALGOR_free(NULL);
  X509_CRL_free(NULL);
  X509_EXTENSION_free(NULL);
  X509_INFO_free(NULL);
  X509_NAME_ENTRY_free(NULL);
  X509_NAME_free(NULL);
  X509_REQ_free(NULL);
  X509_SIG_free(NULL);
  X509_STORE_CTX_free(NULL);
  X509_STORE_free(NULL);
  X509_VERIFY_PARAM_free(NULL);
  X509_email_free(NULL);
  X509_free(NULL);
  lh_FUNCTION_free(NULL);
  sk_ASN1_OBJECT_pop_free(NULL, NULL);
  sk_CONF_VALUE_pop_free(NULL, NULL);
  sk_GENERAL_NAME_pop_free(NULL, NULL);
  sk_OCSP_CERTID_free(NULL);
  sk_OPENSSL_STRING_free(NULL);
  sk_PKCS12_SAFEBAG_pop_free(NULL, NULL);
  sk_PKCS7_pop_free(NULL, NULL);
  sk_X509_ATTRIBUTE_free(NULL);
  sk_X509_CRL_pop_free(NULL, NULL);
  sk_X509_EXTENSION_pop_free(NULL, NULL);
  sk_X509_INFO_free(NULL);
  sk_X509_INFO_pop_free(NULL, NULL);
  sk_X509_NAME_ENTRY_pop_free(NULL, NULL);
  sk_X509_free(NULL);
  sk_X509_pop_free(NULL, NULL);
  printf("PASS\n");
  return (0);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
xor    %eax,%eax
mov    %eax,%edi
call   22a0 <ASN1_ENUMERATED_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2390 <ASN1_GENERALIZEDTIME_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2490 <ASN1_INTEGER_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2400 <ASN1_OBJECT_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   20f0 <ASN1_OCTET_STRING_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2460 <ASN1_TIME_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   21b0 <ASN1_TYPE_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   20e0 <ASN1_UTCTIME_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2370 <BIO_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2420 <BIO_free_all@plt>
xor    %eax,%eax
mov    %eax,%edi
call   24b0 <BN_clear_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2260 <BN_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2360 <BUF_MEM_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   20d0 <CONF_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   22e0 <DH_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2480 <DIST_POINT_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2250 <DSA_SIG_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2220 <DSA_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2200 <ECDSA_SIG_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2070 <EC_GROUP_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   23d0 <EC_KEY_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   20c0 <EC_POINT_clear_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   24e0 <EC_POINT_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2270 <EVP_CIPHER_CTX_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2530 <EVP_PKEY_CTX_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2180 <EVP_PKEY_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2230 <GENERAL_NAME_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2100 <GENERAL_SUBTREE_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   20b0 <NAME_CONSTRAINTS_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   24c0 <NCONF_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   23c0 <NETSCAPE_CERT_SEQUENCE_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   20a0 <NETSCAPE_SPKI_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2280 <NETSCAPE_X509_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2090 <OCSP_BASICRESP_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2080 <OCSP_CERTID_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2040 <OCSP_REQUEST_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2170 <OCSP_REQ_CTX_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2320 <OCSP_RESPONSE_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2240 <PBEPARAM_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2050 <PKCS12_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2300 <PKCS7_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2430 <PKCS8_PRIV_KEY_INFO_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2150 <RSA_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   24d0 <TS_MSG_IMPRINT_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2060 <TS_REQ_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2130 <TS_RESP_CTX_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2350 <TS_RESP_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2510 <TS_STATUS_INFO_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2120 <TS_TST_INFO_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   21e0 <TS_VERIFY_CTX_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2500 <TXT_DB_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2110 <UI_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2330 <X509_ALGOR_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2210 <X509_CRL_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2440 <X509_EXTENSION_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   22b0 <X509_INFO_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   23b0 <X509_NAME_ENTRY_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2520 <X509_NAME_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2470 <X509_REQ_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2190 <X509_SIG_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   21d0 <X509_STORE_CTX_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   22f0 <X509_STORE_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   23a0 <X509_VERIFY_PARAM_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2540 <X509_email_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   23e0 <X509_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   22c0 <lh_FUNCTION_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2290 <sk_ASN1_OBJECT_pop_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   21c0 <sk_CONF_VALUE_pop_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   21f0 <sk_GENERAL_NAME_pop_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   22d0 <sk_OCSP_CERTID_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   24f0 <sk_OPENSSL_STRING_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2340 <sk_PKCS12_SAFEBAG_pop_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2030 <sk_PKCS7_pop_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   24a0 <sk_X509_ATTRIBUTE_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   23f0 <sk_X509_CRL_pop_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2410 <sk_X509_EXTENSION_pop_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2450 <sk_X509_INFO_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2140 <sk_X509_INFO_pop_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2380 <sk_X509_NAME_ENTRY_pop_free@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2310 <sk_X509_free@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   21a0 <sk_X509_pop_free@plt>
lea    0x6cc(%rip),%rdi
call   2160 <printf@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rax
xor    %edi,%edi
call   22a0 <ASN1_ENUMERATED_free@plt>
xor    %edi,%edi
call   2390 <ASN1_GENERALIZEDTIME_free@plt>
xor    %edi,%edi
call   2490 <ASN1_INTEGER_free@plt>
xor    %edi,%edi
call   2400 <ASN1_OBJECT_free@plt>
xor    %edi,%edi
call   2100 <ASN1_OCTET_STRING_free@plt>
xor    %edi,%edi
call   2460 <ASN1_TIME_free@plt>
xor    %edi,%edi
call   21b0 <ASN1_TYPE_free@plt>
xor    %edi,%edi
call   20f0 <ASN1_UTCTIME_free@plt>
xor    %edi,%edi
call   2370 <BIO_free@plt>
xor    %edi,%edi
call   2420 <BIO_free_all@plt>
xor    %edi,%edi
call   24b0 <BN_clear_free@plt>
xor    %edi,%edi
call   2260 <BN_free@plt>
xor    %edi,%edi
call   2360 <BUF_MEM_free@plt>
xor    %edi,%edi
call   20e0 <CONF_free@plt>
xor    %edi,%edi
call   22e0 <DH_free@plt>
xor    %edi,%edi
call   2480 <DIST_POINT_free@plt>
xor    %edi,%edi
call   2250 <DSA_SIG_free@plt>
xor    %edi,%edi
call   2220 <DSA_free@plt>
xor    %edi,%edi
call   2200 <ECDSA_SIG_free@plt>
xor    %edi,%edi
call   2070 <EC_GROUP_free@plt>
xor    %edi,%edi
call   23d0 <EC_KEY_free@plt>
xor    %edi,%edi
call   20d0 <EC_POINT_clear_free@plt>
xor    %edi,%edi
call   24e0 <EC_POINT_free@plt>
xor    %edi,%edi
call   2270 <EVP_CIPHER_CTX_free@plt>
xor    %edi,%edi
call   2530 <EVP_PKEY_CTX_free@plt>
xor    %edi,%edi
call   2180 <EVP_PKEY_free@plt>
xor    %edi,%edi
call   2230 <GENERAL_NAME_free@plt>
xor    %edi,%edi
call   2110 <GENERAL_SUBTREE_free@plt>
xor    %edi,%edi
call   20c0 <NAME_CONSTRAINTS_free@plt>
xor    %edi,%edi
call   24c0 <NCONF_free@plt>
xor    %edi,%edi
call   23c0 <NETSCAPE_CERT_SEQUENCE_free@plt>
xor    %edi,%edi
call   20b0 <NETSCAPE_SPKI_free@plt>
xor    %edi,%edi
call   2280 <NETSCAPE_X509_free@plt>
xor    %edi,%edi
call   20a0 <OCSP_BASICRESP_free@plt>
xor    %edi,%edi
call   2090 <OCSP_CERTID_free@plt>
xor    %edi,%edi
call   2040 <OCSP_REQUEST_free@plt>
xor    %edi,%edi
call   2170 <OCSP_REQ_CTX_free@plt>
xor    %edi,%edi
call   2320 <OCSP_RESPONSE_free@plt>
xor    %edi,%edi
call   2240 <PBEPARAM_free@plt>
xor    %edi,%edi
call   2050 <PKCS12_free@plt>
xor    %edi,%edi
call   2300 <PKCS7_free@plt>
xor    %edi,%edi
call   2430 <PKCS8_PRIV_KEY_INFO_free@plt>
xor    %edi,%edi
call   2160 <RSA_free@plt>
xor    %edi,%edi
call   24d0 <TS_MSG_IMPRINT_free@plt>
xor    %edi,%edi
call   2060 <TS_REQ_free@plt>
xor    %edi,%edi
call   2140 <TS_RESP_CTX_free@plt>
xor    %edi,%edi
call   2350 <TS_RESP_free@plt>
xor    %edi,%edi
call   2510 <TS_STATUS_INFO_free@plt>
xor    %edi,%edi
call   2130 <TS_TST_INFO_free@plt>
xor    %edi,%edi
call   21e0 <TS_VERIFY_CTX_free@plt>
xor    %edi,%edi
call   2500 <TXT_DB_free@plt>
xor    %edi,%edi
call   2120 <UI_free@plt>
xor    %edi,%edi
call   2330 <X509_ALGOR_free@plt>
xor    %edi,%edi
call   2210 <X509_CRL_free@plt>
xor    %edi,%edi
call   2440 <X509_EXTENSION_free@plt>
xor    %edi,%edi
call   22b0 <X509_INFO_free@plt>
xor    %edi,%edi
call   23b0 <X509_NAME_ENTRY_free@plt>
xor    %edi,%edi
call   2520 <X509_NAME_free@plt>
xor    %edi,%edi
call   2470 <X509_REQ_free@plt>
xor    %edi,%edi
call   2190 <X509_SIG_free@plt>
xor    %edi,%edi
call   21d0 <X509_STORE_CTX_free@plt>
xor    %edi,%edi
call   22f0 <X509_STORE_free@plt>
xor    %edi,%edi
call   23a0 <X509_VERIFY_PARAM_free@plt>
xor    %edi,%edi
call   2540 <X509_email_free@plt>
xor    %edi,%edi
call   23e0 <X509_free@plt>
xor    %edi,%edi
call   22c0 <lh_FUNCTION_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2290 <sk_ASN1_OBJECT_pop_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   21c0 <sk_CONF_VALUE_pop_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   21f0 <sk_GENERAL_NAME_pop_free@plt>
xor    %edi,%edi
call   22d0 <sk_OCSP_CERTID_free@plt>
xor    %edi,%edi
call   24f0 <sk_OPENSSL_STRING_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2340 <sk_PKCS12_SAFEBAG_pop_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2030 <sk_PKCS7_pop_free@plt>
xor    %edi,%edi
call   24a0 <sk_X509_ATTRIBUTE_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   23f0 <sk_X509_CRL_pop_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2410 <sk_X509_EXTENSION_pop_free@plt>
xor    %edi,%edi
call   2450 <sk_X509_INFO_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2150 <sk_X509_INFO_pop_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2380 <sk_X509_NAME_ENTRY_pop_free@plt>
xor    %edi,%edi
call   2310 <sk_X509_free@plt>
xor    %edi,%edi
xor    %esi,%esi
call   21a0 <sk_X509_pop_free@plt>
lea    0x78d(%rip),%rdi
call   2080 <puts@plt>
xor    %eax,%eax
pop    %rcx
ret

LLVM IR (-O0):
@.str = [6 x i8] c"PASS\0A\00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
%6 = call i32 @ASN1_ENUMERATED_free(i32* null)
%7 = call i32 @ASN1_GENERALIZEDTIME_free(i32* null)
%8 = call i32 @ASN1_INTEGER_free(i32* null)
%9 = call i32 @ASN1_OBJECT_free(i32* null)
%10 = call i32 @ASN1_OCTET_STRING_free(i32* null)
%11 = call i32 @ASN1_TIME_free(i32* null)
%12 = call i32 @ASN1_TYPE_free(i32* null)
%13 = call i32 @ASN1_UTCTIME_free(i32* null)
%14 = call i32 @BIO_free(i32* null)
%15 = call i32 @BIO_free_all(i32* null)
%16 = call i32 @BN_clear_free(i32* null)
%17 = call i32 @BN_free(i32* null)
%18 = call i32 @BUF_MEM_free(i32* null)
%19 = call i32 @CONF_free(i32* null)
%20 = call i32 @DH_free(i32* null)
%21 = call i32 @DIST_POINT_free(i32* null)
%22 = call i32 @DSA_SIG_free(i32* null)
%23 = call i32 @DSA_free(i32* null)
%24 = call i32 @ECDSA_SIG_free(i32* null)
%25 = call i32 @EC_GROUP_free(i32* null)
%26 = call i32 @EC_KEY_free(i32* null)
%27 = call i32 @EC_POINT_clear_free(i32* null)
%28 = call i32 @EC_POINT_free(i32* null)
%29 = call i32 @EVP_CIPHER_CTX_free(i32* null)
%30 = call i32 @EVP_PKEY_CTX_free(i32* null)
%31 = call i32 @EVP_PKEY_free(i32* null)
%32 = call i32 @GENERAL_NAME_free(i32* null)
%33 = call i32 @GENERAL_SUBTREE_free(i32* null)
%34 = call i32 @NAME_CONSTRAINTS_free(i32* null)
%35 = call i32 @NCONF_free(i32* null)
%36 = call i32 @NETSCAPE_CERT_SEQUENCE_free(i32* null)
%37 = call i32 @NETSCAPE_SPKI_free(i32* null)
%38 = call i32 @NETSCAPE_X509_free(i32* null)
%39 = call i32 @OCSP_BASICRESP_free(i32* null)
%40 = call i32 @OCSP_CERTID_free(i32* null)
%41 = call i32 @OCSP_REQUEST_free(i32* null)
%42 = call i32 @OCSP_REQ_CTX_free(i32* null)
%43 = call i32 @OCSP_RESPONSE_free(i32* null)
%44 = call i32 @PBEPARAM_free(i32* null)
%45 = call i32 @PKCS12_free(i32* null)
%46 = call i32 @PKCS7_free(i32* null)
%47 = call i32 @PKCS8_PRIV_KEY_INFO_free(i32* null)
%48 = call i32 @RSA_free(i32* null)
%49 = call i32 @TS_MSG_IMPRINT_free(i32* null)
%50 = call i32 @TS_REQ_free(i32* null)
%51 = call i32 @TS_RESP_CTX_free(i32* null)
%52 = call i32 @TS_RESP_free(i32* null)
%53 = call i32 @TS_STATUS_INFO_free(i32* null)
%54 = call i32 @TS_TST_INFO_free(i32* null)
%55 = call i32 @TS_VERIFY_CTX_free(i32* null)
%56 = call i32 @TXT_DB_free(i32* null)
%57 = call i32 @UI_free(i32* null)
%58 = call i32 @X509_ALGOR_free(i32* null)
%59 = call i32 @X509_CRL_free(i32* null)
%60 = call i32 @X509_EXTENSION_free(i32* null)
%61 = call i32 @X509_INFO_free(i32* null)
%62 = call i32 @X509_NAME_ENTRY_free(i32* null)
%63 = call i32 @X509_NAME_free(i32* null)
%64 = call i32 @X509_REQ_free(i32* null)
%65 = call i32 @X509_SIG_free(i32* null)
%66 = call i32 @X509_STORE_CTX_free(i32* null)
%67 = call i32 @X509_STORE_free(i32* null)
%68 = call i32 @X509_VERIFY_PARAM_free(i32* null)
%69 = call i32 @X509_email_free(i32* null)
%70 = call i32 @X509_free(i32* null)
%71 = call i32 @lh_FUNCTION_free(i32* null)
%72 = call i32 @sk_ASN1_OBJECT_pop_free(i32* null, i32* null)
%73 = call i32 @sk_CONF_VALUE_pop_free(i32* null, i32* null)
%74 = call i32 @sk_GENERAL_NAME_pop_free(i32* null, i32* null)
%75 = call i32 @sk_OCSP_CERTID_free(i32* null)
%76 = call i32 @sk_OPENSSL_STRING_free(i32* null)
%77 = call i32 @sk_PKCS12_SAFEBAG_pop_free(i32* null, i32* null)
%78 = call i32 @sk_PKCS7_pop_free(i32* null, i32* null)
%79 = call i32 @sk_X509_ATTRIBUTE_free(i32* null)
%80 = call i32 @sk_X509_CRL_pop_free(i32* null, i32* null)
%81 = call i32 @sk_X509_EXTENSION_pop_free(i32* null, i32* null)
%82 = call i32 @sk_X509_INFO_free(i32* null)
%83 = call i32 @sk_X509_INFO_pop_free(i32* null, i32* null)
%84 = call i32 @sk_X509_NAME_ENTRY_pop_free(i32* null, i32* null)
%85 = call i32 @sk_X509_free(i32* null)
%86 = call i32 @sk_X509_pop_free(i32* null, i32* null)
%87 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
ret i32 0
}

LLVM IR (-O2):
@str = [5 x i8] c"PASS\00"
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = tail call i32 @ASN1_ENUMERATED_free(i32* null)
%4 = tail call i32 @ASN1_GENERALIZEDTIME_free(i32* null)
%5 = tail call i32 @ASN1_INTEGER_free(i32* null)
%6 = tail call i32 @ASN1_OBJECT_free(i32* null)
%7 = tail call i32 @ASN1_OCTET_STRING_free(i32* null)
%8 = tail call i32 @ASN1_TIME_free(i32* null)
%9 = tail call i32 @ASN1_TYPE_free(i32* null)
%10 = tail call i32 @ASN1_UTCTIME_free(i32* null)
%11 = tail call i32 @BIO_free(i32* null)
%12 = tail call i32 @BIO_free_all(i32* null)
%13 = tail call i32 @BN_clear_free(i32* null)
%14 = tail call i32 @BN_free(i32* null)
%15 = tail call i32 @BUF_MEM_free(i32* null)
%16 = tail call i32 @CONF_free(i32* null)
%17 = tail call i32 @DH_free(i32* null)
%18 = tail call i32 @DIST_POINT_free(i32* null)
%19 = tail call i32 @DSA_SIG_free(i32* null)
%20 = tail call i32 @DSA_free(i32* null)
%21 = tail call i32 @ECDSA_SIG_free(i32* null)
%22 = tail call i32 @EC_GROUP_free(i32* null)
%23 = tail call i32 @EC_KEY_free(i32* null)
%24 = tail call i32 @EC_POINT_clear_free(i32* null)
%25 = tail call i32 @EC_POINT_free(i32* null)
%26 = tail call i32 @EVP_CIPHER_CTX_free(i32* null)
%27 = tail call i32 @EVP_PKEY_CTX_free(i32* null)
%28 = tail call i32 @EVP_PKEY_free(i32* null)
%29 = tail call i32 @GENERAL_NAME_free(i32* null)
%30 = tail call i32 @GENERAL_SUBTREE_free(i32* null)
%31 = tail call i32 @NAME_CONSTRAINTS_free(i32* null)
%32 = tail call i32 @NCONF_free(i32* null)
%33 = tail call i32 @NETSCAPE_CERT_SEQUENCE_free(i32* null)
%34 = tail call i32 @NETSCAPE_SPKI_free(i32* null)
%35 = tail call i32 @NETSCAPE_X509_free(i32* null)
%36 = tail call i32 @OCSP_BASICRESP_free(i32* null)
%37 = tail call i32 @OCSP_CERTID_free(i32* null)
%38 = tail call i32 @OCSP_REQUEST_free(i32* null)
%39 = tail call i32 @OCSP_REQ_CTX_free(i32* null)
%40 = tail call i32 @OCSP_RESPONSE_free(i32* null)
%41 = tail call i32 @PBEPARAM_free(i32* null)
%42 = tail call i32 @PKCS12_free(i32* null)
%43 = tail call i32 @PKCS7_free(i32* null)
%44 = tail call i32 @PKCS8_PRIV_KEY_INFO_free(i32* null)
%45 = tail call i32 @RSA_free(i32* null)
%46 = tail call i32 @TS_MSG_IMPRINT_free(i32* null)
%47 = tail call i32 @TS_REQ_free(i32* null)
%48 = tail call i32 @TS_RESP_CTX_free(i32* null)
%49 = tail call i32 @TS_RESP_free(i32* null)
%50 = tail call i32 @TS_STATUS_INFO_free(i32* null)
%51 = tail call i32 @TS_TST_INFO_free(i32* null)
%52 = tail call i32 @TS_VERIFY_CTX_free(i32* null)
%53 = tail call i32 @TXT_DB_free(i32* null)
%54 = tail call i32 @UI_free(i32* null)
%55 = tail call i32 @X509_ALGOR_free(i32* null)
%56 = tail call i32 @X509_CRL_free(i32* null)
%57 = tail call i32 @X509_EXTENSION_free(i32* null)
%58 = tail call i32 @X509_INFO_free(i32* null)
%59 = tail call i32 @X509_NAME_ENTRY_free(i32* null)
%60 = tail call i32 @X509_NAME_free(i32* null)
%61 = tail call i32 @X509_REQ_free(i32* null)
%62 = tail call i32 @X509_SIG_free(i32* null)
%63 = tail call i32 @X509_STORE_CTX_free(i32* null)
%64 = tail call i32 @X509_STORE_free(i32* null)
%65 = tail call i32 @X509_VERIFY_PARAM_free(i32* null)
%66 = tail call i32 @X509_email_free(i32* null)
%67 = tail call i32 @X509_free(i32* null)
%68 = tail call i32 @lh_FUNCTION_free(i32* null)
%69 = tail call i32 @sk_ASN1_OBJECT_pop_free(i32* null, i32* null)
%70 = tail call i32 @sk_CONF_VALUE_pop_free(i32* null, i32* null)
%71 = tail call i32 @sk_GENERAL_NAME_pop_free(i32* null, i32* null)
%72 = tail call i32 @sk_OCSP_CERTID_free(i32* null)
%73 = tail call i32 @sk_OPENSSL_STRING_free(i32* null)
%74 = tail call i32 @sk_PKCS12_SAFEBAG_pop_free(i32* null, i32* null)
%75 = tail call i32 @sk_PKCS7_pop_free(i32* null, i32* null)
%76 = tail call i32 @sk_X509_ATTRIBUTE_free(i32* null)
%77 = tail call i32 @sk_X509_CRL_pop_free(i32* null, i32* null)
%78 = tail call i32 @sk_X509_EXTENSION_pop_free(i32* null, i32* null)
%79 = tail call i32 @sk_X509_INFO_free(i32* null)
%80 = tail call i32 @sk_X509_INFO_pop_free(i32* null, i32* null)
%81 = tail call i32 @sk_X509_NAME_ENTRY_pop_free(i32* null, i32* null)
%82 = tail call i32 @sk_X509_free(i32* null)
%83 = tail call i32 @sk_X509_pop_free(i32* null, i32* null)
%84 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @str, i64 0, i64 0))
ret i32 0
}