#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 */
char *conf_get_trans_str(int, char *, char *);
int /*<<< orphan*/ conf_load_defaults_mm(int, char *, char *, char *, char *,
                                         char *, char *, char *, char *);
int /*<<< orphan*/ conf_load_defaults_qm(int, char *, char *, char *, char *,
                                         char *, char *, char *, int, int, int);
int /*<<< orphan*/ conf_set(int, char *, char *, char *, int /*<<< orphan*/,
                            int);
void conf_load_defaults(int tr) {
  int enc, auth, hash, group, proto, mode, pfs;
  char *dflt;
  char *mm_auth[] = {"PRE_SHARED", "DSS", "RSA_SIG", 0};
  char *mm_auth_p[] = {"", "-DSS", "-RSA_SIG", 0};
  char *mm_hash[] = {"MD5", "SHA", "SHA2_256", "SHA2_384", "SHA2_512", 0};
  char *mm_hash_p[] = {"-MD5", "-SHA", "-SHA2-256", "-SHA2-384", "-SHA2-512",
                       "",     0};
  char *mm_enc[] = {"DES_CBC",  "BLOWFISH_CBC", "3DES_CBC",
                    "CAST_CBC", "AES_CBC",      "AES_CBC",
                    "AES_CBC",  "AES_CBC",      0};
  char *mm_enc_p[] = {"DES",     "BLF",     "3DES",    "CAST", "AES",
                      "AES-128", "AES-192", "AES-256", 0};
  char *dhgroup[] = {
      "MODP_1024", "MODP_768",  "MODP_1024", "MODP_1536", "MODP_2048",
      "MODP_3072", "MODP_4096", "MODP_6144", "MODP_8192", 0};
  char *dhgroup_p[] = {"",       "-GRP1",  "-GRP2",  "-GRP5",  "-GRP14",
                       "-GRP15", "-GRP16", "-GRP17", "-GRP18", 0};
  char *qm_enc[] = {
      "DES",      "3DES",     "CAST",       "BLOWFISH",   "AES",
      "AES",      "AES",      "AES",        "AES_CTR",    "AES_CTR",
      "AES_CTR",  "AES_CTR",  "AES_GCM_16", "AES_GCM_16", "AES_GCM_16",
      "AES_GMAC", "AES_GMAC", "AES_GMAC",   "NULL",       "NONE",
      0};
  char *qm_enc_p[] = {"-DES",
                      "-3DES",
                      "-CAST",
                      "-BLF",
                      "-AES",
                      "-AES-128",
                      "-AES-192",
                      "-AES-256",
                      "-AESCTR",
                      "-AESCTR-128",
                      "-AESCTR-192",
                      "-AESCTR-256",
                      "-AESGCM-128",
                      "-AESGCM-192",
                      "-AESGCM-256",
                      "-AESGMAC-128",
                      "-AESGMAC-192",
                      "-AESGMAC-256",
                      "-NULL",
                      "",
                      0};
  char *qm_hash[] = {
      "HMAC_MD5",      "HMAC_SHA",      "HMAC_RIPEMD", "HMAC_SHA2_256",
      "HMAC_SHA2_384", "HMAC_SHA2_512", "NONE",        0};
  char *qm_hash_p[] = {"-MD5",      "-SHA",      "-RIPEMD", "-SHA2-256",
                       "-SHA2-384", "-SHA2-512", "",        0};
  char *qm_ah_id[] = {"MD5",      "SHA",      "RIPEMD", "SHA2_256",
                      "SHA2_384", "SHA2_512", "",       0};
  conf_set(tr, "General", "Retransmits", "3", 0, 1);
  conf_set(tr, "General", "Exchange-max-time", "120", 0, 1);
  conf_set(tr, "General", "Use-Keynote", "yes", 0, 1);
  conf_set(tr, "General", "Policy-file",
           "/etc/isakmpd/"
           "isakmpd.policy",
           0, 1);
  conf_set(tr, "General", "Pubkey-directory",
           "/etc/isakmpd/"
           "pubkeys/",
           0, 1);
  conf_set(tr, "X509-certificates", "CA-directory",
           "/etc/isakmpd/"
           "ca/",
           0, 1);
  conf_set(tr, "X509-certificates", "Cert-directory",
           "/etc/isakmpd/"
           "certs/",
           0, 1);
  conf_set(tr, "X509-certificates", "Private-key",
           "/etc/isakmpd/"
           "private/local.key",
           0, 1);
  conf_set(tr, "X509-certificates", "Private-key-directory",
           "/etc/isakmpd/"
           "private/",
           0, 1);
  conf_set(tr, "X509-certificates", "CRL-directory",
           "/etc/isakmpd/"
           "crls/",
           0, 1);
  conf_set(tr, "KeyNote", "Credential-directory",
           "/etc/isakmpd/"
           "keynote/",
           0, 1);
  conf_set(tr, "General", "Delete-SAs", "yes", 0, 1);
  dflt = conf_get_trans_str(tr, "General", "Default-phase-1-lifetime");
  conf_set(tr, "LIFE_MAIN_MODE", "LIFE_TYPE", "SECONDS", 0, 1);
  conf_set(tr, "LIFE_MAIN_MODE", "LIFE_DURATION",
           (dflt ? dflt : "3600,60:86400"), 0, 1);
  dflt = conf_get_trans_str(tr, "General", "Default-phase-2-lifetime");
  conf_set(tr, "LIFE_QUICK_MODE", "LIFE_TYPE", "SECONDS", 0, 1);
  conf_set(tr, "LIFE_QUICK_MODE", "LIFE_DURATION",
           (dflt ? dflt : "1200,60:86400"), 0, 1);
  conf_set(tr, "Default-phase-1-configuration", "EXCHANGE_TYPE", "ID_PROT", 0,
           1);
  conf_set(tr, "Default-phase-1-configuration", "Transforms",
           "3DES-SHA-RSA_SIG", 0, 1);
  for (enc = 0; mm_enc[enc]; enc++)
    for (hash = 0; mm_hash[hash]; hash++)
      for (auth = 0; mm_auth[auth]; auth++)
        for (group = 0; dhgroup_p[group]; group++)
          conf_load_defaults_mm(tr, mm_enc[enc], mm_hash[hash], mm_auth[auth],
                                dhgroup[group], mm_enc_p[enc], mm_auth_p[auth],
                                dhgroup_p[group], mm_hash_p[hash]);
  conf_set(tr, "Phase 1", "Default", "Default-phase-1", 0, 1);
  conf_set(tr, "Default-phase-1", "Phase", "1", 0, 1);
  conf_set(tr, "Default-phase-1", "Configuration",
           "Default-phase-1-configuration", 0, 1);
  dflt = conf_get_trans_str(tr, "General", "Default-phase-1-ID");
  if (dflt)
    conf_set(tr, "Default-phase-1", "ID", dflt, 0, 1);
  for (enc = 0; qm_enc[enc]; enc++)
    for (proto = 0; proto < 2; proto++)
      for (mode = 0; mode < 2; mode++)
        for (pfs = 0; pfs < 2; pfs++)
          for (hash = 0; qm_hash[hash]; hash++)
            for (group = 0; dhgroup_p[group]; group++)
              conf_load_defaults_qm(tr, qm_enc[enc], qm_hash[hash],
                                    dhgroup[group], qm_enc_p[enc],
                                    qm_hash_p[hash], qm_ah_id[hash],
                                    dhgroup_p[group], proto, mode, pfs);
}


x86 assembly (clang, -O0):
<conf_load_defaults>:
push   %rbp
mov    %rsp,%rbp
push   %r14
push   %rbx
sub    $0x490,%rsp
mov    %edi,-0x14(%rbp)
mov    0x2908(%rip),%rax
mov    %rax,-0x60(%rbp)
mov    0x2905(%rip),%rax
mov    %rax,-0x58(%rbp)
mov    0x2902(%rip),%rax
mov    %rax,-0x50(%rbp)
mov    0x28ff(%rip),%rax
mov    %rax,-0x48(%rbp)
mov    0x28fc(%rip),%rax
mov    %rax,-0x80(%rbp)
mov    0x28f9(%rip),%rax
mov    %rax,-0x78(%rbp)
mov    0x28f6(%rip),%rax
mov    %rax,-0x70(%rbp)
mov    0x28f3(%rip),%rax
mov    %rax,-0x68(%rbp)
lea    -0xb0(%rbp),%rdi
xor    %esi,%esi
mov    $0x30,%edx
call   1060 <memset@plt>
lea    0xe2e(%rip),%rax
mov    %rax,-0xb0(%rbp)
lea    0xe25(%rip),%rax
mov    %rax,-0xa8(%rbp)
lea    0xfe4(%rip),%rax
mov    %rax,-0xa0(%rbp)
lea    0xfe4(%rip),%rax
mov    %rax,-0x98(%rbp)
lea    0xfe4(%rip),%rax
mov    %rax,-0x90(%rbp)
lea    -0xf0(%rbp),%rdi
xor    %esi,%esi
mov    $0x38,%edx
call   1060 <memset@plt>
lea    0xdd4(%rip),%rax
mov    %rax,-0xf0(%rbp)
lea    0xdcb(%rip),%rax
mov    %rax,-0xe8(%rbp)
lea    0xdc2(%rip),%rax
mov    %rax,-0xe0(%rbp)
lea    0xdbe(%rip),%rax
mov    %rax,-0xd8(%rbp)
lea    0xdba(%rip),%rax
mov    %rax,-0xd0(%rbp)
lea    0x1048(%rip),%rax
mov    %rax,-0xc8(%rbp)
lea    -0x140(%rbp),%rdi
lea    0x2829(%rip),%rsi
mov    $0x48,%edx
call   1070 <memcpy@plt>
lea    -0x190(%rbp),%rdi
lea    0x2861(%rip),%rsi
mov    $0x48,%edx
call   1070 <memcpy@plt>
lea    -0x1e0(%rbp),%rdi
lea    0x2899(%rip),%rsi
mov    $0x50,%edx
call   1070 <memcpy@plt>
lea    -0x230(%rbp),%rdi
lea    0x28d1(%rip),%rsi
mov    $0x50,%edx
call   1070 <memcpy@plt>
lea    -0x2e0(%rbp),%rdi
lea    0x2909(%rip),%rsi
mov    $0xa8,%edx
call   1070 <memcpy@plt>
lea    -0x390(%rbp),%rdi
lea    0x29a1(%rip),%rsi
mov    $0xa8,%edx
call   1070 <memcpy@plt>
lea    -0x3d0(%rbp),%rdi
lea    0x2a39(%rip),%rsi
mov    $0x40,%edx
call   1070 <memcpy@plt>
lea    -0x410(%rbp),%rdi
lea    0x2a61(%rip),%rsi
mov    $0x40,%edx
call   1070 <memcpy@plt>
lea    -0x450(%rbp),%rdi
lea    0x2a89(%rip),%rsi
mov    $0x40,%edx
call   1070 <memcpy@plt>
mov    -0x14(%rbp),%edi
lea    0xea5(%rip),%rsi
lea    0xea6(%rip),%rdx
lea    0xeab(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe7f(%rip),%rsi
lea    0xe8e(%rip),%rdx
lea    0xe99(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe59(%rip),%rsi
lea    0xe7e(%rip),%rdx
lea    0xe83(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe33(%rip),%rsi
lea    0xe68(%rip),%rdx
lea    0xe6d(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe0d(%rip),%rsi
lea    0xe6a(%rip),%rdx
lea    0xe74(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe72(%rip),%rsi
lea    0xe7d(%rip),%rdx
lea    0xe83(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe4c(%rip),%rsi
lea    0xe75(%rip),%rdx
lea    0xe7d(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe26(%rip),%rsi
lea    0xe72(%rip),%rdx
lea    0xe77(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe00(%rip),%rsi
lea    0xe77(%rip),%rdx
lea    0xe86(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xdda(%rip),%rsi
lea    0xe7d(%rip),%rdx
lea    0xe84(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xe7f(%rip),%rsi
lea    0xe80(%rip),%rdx
lea    0xe8e(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xd03(%rip),%rsi
lea    0xe85(%rip),%rdx
lea    0xd2d(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xcdd(%rip),%rsi
lea    0xe6a(%rip),%rdx
call   1080 <conf_get_trans_str@plt>
mov    %rax,-0x38(%rbp)
mov    -0x14(%rbp),%edi
lea    0xe70(%rip),%rsi
lea    0xe78(%rip),%rdx
lea    0xe7b(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%eax
mov    %eax,-0x454(%rbp)
cmpq   $0x0,-0x38(%rbp)
je     158d <conf_load_defaults+0x42d>
mov    -0x38(%rbp),%rax
mov    %rax,-0x460(%rbp)
jmp    15a0 <conf_load_defaults+0x440>
lea    0xe58(%rip),%rax
mov    %rax,-0x460(%rbp)
jmp    15a0 <conf_load_defaults+0x440>
mov    -0x454(%rbp),%edi
mov    -0x460(%rbp),%rcx
lea    0xe09(%rip),%rsi
lea    0xe23(%rip),%rdx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xc3d(%rip),%rsi
lea    0xe20(%rip),%rdx
call   1080 <conf_get_trans_str@plt>
mov    %rax,-0x38(%rbp)
mov    -0x14(%rbp),%edi
lea    0xe26(%rip),%rsi
lea    0xdd8(%rip),%rdx
lea    0xddb(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%eax
mov    %eax,-0x464(%rbp)
cmpq   $0x0,-0x38(%rbp)
je     162d <conf_load_defaults+0x4cd>
mov    -0x38(%rbp),%rax
mov    %rax,-0x470(%rbp)
jmp    1640 <conf_load_defaults+0x4e0>
lea    0xdef(%rip),%rax
mov    %rax,-0x470(%rbp)
jmp    1640 <conf_load_defaults+0x4e0>
mov    -0x464(%rbp),%edi
mov    -0x470(%rbp),%rcx
lea    0xdbf(%rip),%rsi
lea    0xd83(%rip),%rdx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xdbe(%rip),%rsi
lea    0xdd5(%rip),%rdx
lea    0xddc(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xd98(%rip),%rsi
lea    0xdc5(%rip),%rdx
lea    0xdc9(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
movl   $0x0,-0x18(%rbp)
movslq -0x18(%rbp),%rax
cmpq   $0x0,-0x140(%rbp,%rax,8)
je     17d1 <conf_load_defaults+0x671>
movl   $0x0,-0x20(%rbp)
movslq -0x20(%rbp),%rax
cmpq   $0x0,-0xb0(%rbp,%rax,8)
je     17be <conf_load_defaults+0x65e>
movl   $0x0,-0x1c(%rbp)
movslq -0x1c(%rbp),%rax
cmpq   $0x0,-0x60(%rbp,%rax,8)
je     17ab <conf_load_defaults+0x64b>
movl   $0x0,-0x24(%rbp)
movslq -0x24(%rbp),%rax
cmpq   $0x0,-0x230(%rbp,%rax,8)
je     1798 <conf_load_defaults+0x638>
mov    -0x14(%rbp),%edi
movslq -0x18(%rbp),%rax
mov    -0x140(%rbp,%rax,8),%rsi
ff
movslq -0x20(%rbp),%rax
mov    -0xb0(%rbp,%rax,8),%rdx
ff
movslq -0x1c(%rbp),%rax
mov    -0x60(%rbp,%rax,8),%rcx
movslq -0x24(%rbp),%rax
mov    -0x1e0(%rbp,%rax,8),%r8
ff
movslq -0x18(%rbp),%rax
mov    -0x190(%rbp,%rax,8),%r9
ff
movslq -0x1c(%rbp),%rax
mov    -0x80(%rbp,%rax,8),%r11
movslq -0x24(%rbp),%rax
mov    -0x230(%rbp,%rax,8),%r10
ff
movslq -0x20(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %r11,(%rsp)
mov    %r10,0x8(%rsp)
mov    %rax,0x10(%rsp)
call   1050 <conf_load_defaults_mm@plt>
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1707 <conf_load_defaults+0x5a7>
jmp    179d <conf_load_defaults+0x63d>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    16f0 <conf_load_defaults+0x590>
jmp    17b0 <conf_load_defaults+0x650>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    16d6 <conf_load_defaults+0x576>
jmp    17c3 <conf_load_defaults+0x663>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    16bc <conf_load_defaults+0x55c>
mov    -0x14(%rbp),%edi
lea    0xca6(%rip),%rsi
lea    0xca7(%rip),%rdx
lea    0xca8(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xc90(%rip),%rsi
lea    0xc99(%rip),%rdx
lea    0xc78(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0xc6a(%rip),%rsi
lea    0xc79(%rip),%rdx
lea    0xbfc(%rip),%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
mov    -0x14(%rbp),%edi
lea    0x9c3(%rip),%rsi
lea    0xc61(%rip),%rdx
call   1080 <conf_get_trans_str@plt>
mov    %rax,-0x38(%rbp)
cmpq   $0x0,-0x38(%rbp)
je     188b <conf_load_defaults+0x72b>
mov    -0x14(%rbp),%edi
mov    -0x38(%rbp),%rcx
lea    0xc1b(%rip),%rsi
lea    0xc48(%rip),%rdx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
movl   $0x0,-0x18(%rbp)
movslq -0x18(%rbp),%rax
cmpq   $0x0,-0x2e0(%rbp,%rax,8)
je     19f7 <conf_load_defaults+0x897>
movl   $0x0,-0x28(%rbp)
cmpl   $0x2,-0x28(%rbp)
jge    19e4 <conf_load_defaults+0x884>
movl   $0x0,-0x2c(%rbp)
cmpl   $0x2,-0x2c(%rbp)
jge    19d1 <conf_load_defaults+0x871>
movl   $0x0,-0x30(%rbp)
cmpl   $0x2,-0x30(%rbp)
jge    19be <conf_load_defaults+0x85e>
movl   $0x0,-0x20(%rbp)
movslq -0x20(%rbp),%rax
cmpq   $0x0,-0x3d0(%rbp,%rax,8)
je     19ab <conf_load_defaults+0x84b>
movl   $0x0,-0x24(%rbp)
movslq -0x24(%rbp),%rax
cmpq   $0x0,-0x230(%rbp,%rax,8)
je     1998 <conf_load_defaults+0x838>
mov    -0x14(%rbp),%edi
movslq -0x18(%rbp),%rax
mov    -0x2e0(%rbp,%rax,8),%rsi
ff
movslq -0x20(%rbp),%rax
mov    -0x3d0(%rbp,%rax,8),%rdx
ff
movslq -0x24(%rbp),%rax
mov    -0x1e0(%rbp,%rax,8),%rcx
ff
movslq -0x18(%rbp),%rax
mov    -0x390(%rbp,%rax,8),%r8
ff
movslq -0x20(%rbp),%rax
mov    -0x410(%rbp,%rax,8),%r9
ff
movslq -0x20(%rbp),%rax
mov    -0x450(%rbp,%rax,8),%r14
ff
movslq -0x24(%rbp),%rax
mov    -0x230(%rbp,%rax,8),%rbx
ff
mov    -0x28(%rbp),%r11d
mov    -0x2c(%rbp),%r10d
mov    -0x30(%rbp),%eax
mov    %r14,(%rsp)
mov    %rbx,0x8(%rsp)
mov    %r11d,0x10(%rsp)
mov    %r10d,0x18(%rsp)
mov    %eax,0x20(%rsp)
call   1040 <conf_load_defaults_qm@plt>
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    18f9 <conf_load_defaults+0x799>
jmp    199d <conf_load_defaults+0x83d>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    18df <conf_load_defaults+0x77f>
jmp    19b0 <conf_load_defaults+0x850>
mov    -0x30(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
jmp    18ce <conf_load_defaults+0x76e>
jmp    19c3 <conf_load_defaults+0x863>
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
jmp    18bd <conf_load_defaults+0x75d>
jmp    19d6 <conf_load_defaults+0x876>
mov    -0x28(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
jmp    18ac <conf_load_defaults+0x74c>
jmp    19e9 <conf_load_defaults+0x889>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1892 <conf_load_defaults+0x732>
add    $0x490,%rsp
pop    %rbx
pop    %r14
pop    %rbp
ret

x86 assembly (clang, -O2):
<conf_load_defaults>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xa8,%rsp
mov    %edi,%ebx
xorps  %xmm0,%xmm0
movaps %xmm0,0x60(%rsp)
lea    0xeaf(%rip),%rax
mov    %rax,0x40(%rsp)
lea    0xea8(%rip),%rax
mov    %rax,0x48(%rsp)
lea    0x1069(%rip),%rax
mov    %rax,0x50(%rsp)
lea    0x106b(%rip),%rax
mov    %rax,0x58(%rsp)
lea    0x106d(%rip),%rax
mov    %rax,0x60(%rsp)
movq   $0x0,0xa0(%rsp)
lea    0xe66(%rip),%rax
mov    %rax,0x70(%rsp)
lea    0xe5f(%rip),%rax
mov    %rax,0x78(%rsp)
lea    0xe58(%rip),%rax
mov    %rax,0x80(%rsp)
lea    0xe53(%rip),%rax
mov    %rax,0x88(%rsp)
lea    0xe4e(%rip),%rax
mov    %rax,0x90(%rsp)
lea    0x10db(%rip),%rax
mov    %rax,0x98(%rsp)
lea    0x1012(%rip),%rbp
lea    0x1013(%rip),%rdx
lea    0x1018(%rip),%rcx
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x1002(%rip),%rdx
lea    0x100d(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xff7(%rip),%rdx
lea    0xffc(%rip),%r15
mov    %ebx,%edi
mov    %rbp,%rsi
mov    %r15,%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xfe3(%rip),%rdx
lea    0xfe8(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xfea(%rip),%rdx
lea    0xff4(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
mov    %rbp,%r14
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xfed(%rip),%rbp
lea    0xff8(%rip),%rdx
lea    0xffe(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xff5(%rip),%rdx
lea    0xffd(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xff7(%rip),%rdx
lea    0xffc(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x1001(%rip),%rdx
lea    0x1010(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x100c(%rip),%rdx
lea    0x1013(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x100c(%rip),%rsi
lea    0x100d(%rip),%rdx
lea    0x101b(%rip),%rcx
mov    %ebx,%edi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x101a(%rip),%rdx
mov    %ebx,%edi
mov    %r14,%rsi
mov    %r15,%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x1008(%rip),%rdx
mov    %ebx,%edi
mov    %r14,%rsi
call   1060 <conf_get_trans_str@plt>
mov    %rax,%rbp
lea    0x100d(%rip),%r14
lea    0x1015(%rip),%r13
lea    0x1018(%rip),%r15
mov    %ebx,%edi
mov    %r14,%rsi
mov    %r13,%rdx
mov    %r15,%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
test   %rbp,%rbp
lea    0x100b(%rip),%rcx
cmovne %rbp,%rcx
lea    0xff2(%rip),%r12
mov    %ebx,%edi
mov    %r14,%rsi
mov    %r12,%rdx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xff1(%rip),%rdx
mov    %ebx,%edi
lea    0xdfe(%rip),%rsi
call   1060 <conf_get_trans_str@plt>
mov    %rax,%rbp
lea    0xff2(%rip),%r14
mov    %ebx,%edi
mov    %r14,%rsi
mov    %r13,%rdx
mov    %r15,%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
test   %rbp,%rbp
lea    0xfdf(%rip),%rcx
cmovne %rbp,%rcx
mov    %ebx,%edi
mov    %r14,%rsi
mov    %r12,%rdx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xfcc(%rip),%rbp
lea    0xfe3(%rip),%rdx
lea    0xfea(%rip),%rcx
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xfd8(%rip),%rdx
lea    0xfdc(%rip),%rcx
mov    %ebx,0xc(%rsp)
mov    %ebx,%edi
mov    %rbp,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
xor    %ecx,%ecx
lea    0x260c(%rip),%rax
lea    0x25c5(%rip),%rdx
lea    0x25de(%rip),%rsi
mov    0xc(%rsp),%ebx
cs nopw 0x0(%rax,%rax,1)
mov    (%rax),%rbp
mov    %rcx,0x30(%rsp)
lea    0x2631(%rip),%rax
mov    (%rax,%rcx,8),%r9
xor    %eax,%eax
lea    0xb25(%rip),%r12
mov    %rbp,(%rsp)
mov    %r12,0x28(%rsp)
mov    %rax,0x10(%rsp)
mov    0x70(%rsp,%rax,8),%rax
mov    %rax,0x18(%rsp)
xor    %eax,%eax
cs nopw 0x0(%rax,%rax,1)
mov    %rax,0x20(%rsp)
mov    (%rax,%rdx,1),%r14
mov    (%rax,%rsi,1),%r13
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %rbp,%rsi
mov    0x30(%rsp),%rbp
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xb27(%rip),%r8
mov    %r9,%r12
mov    0x20(%rsp),%r15
push   %r15
lea    0xd81(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xb00(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xb39(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xaca(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xb13(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xab1(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xaed(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xa8f(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xac7(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xa6d(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xaa2(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xa4b(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xa7d(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xa29(%rip),%r8
mov    %r12,%r9
push   %r15
lea    0xa58(%rip),%rax
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
add    $0x18,%rsp
mov    %ebx,%edi
mov    0x8(%rsp),%rsi
mov    %rbp,%rdx
mov    %r14,%rcx
lea    0xa07(%rip),%r8
lea    0xa38(%rip),%rax
mov    %r12,%r9
push   %r15
push   %rax
push   %r13
call   1050 <conf_load_defaults_mm@plt>
mov    0x40(%rsp),%rax
mov    %r12,%r9
mov    0x20(%rsp),%rbp
lea    0x23db(%rip),%rsi
lea    0x23b4(%rip),%rdx
add    $0x20,%rsp
add    $0x8,%rax
cmp    $0x18,%rax
jne    1510 <conf_load_defaults+0x3d0>
mov    0x10(%rsp),%rax
mov    0x48(%rsp,%rax,8),%r12
add    $0x1,%rax
test   %r12,%r12
jne    14f0 <conf_load_defaults+0x3b0>
mov    0x30(%rsp),%rcx
lea    0x23bf(%rip),%rax
lea    (%rax,%rcx,8),%rax
add    $0x8,%rax
add    $0x1,%rcx
cmp    $0x8,%rcx
jne    14d0 <conf_load_defaults+0x390>
lea    0xd63(%rip),%rsi
lea    0xd64(%rip),%rdx
lea    0xd65(%rip),%rbx
mov    0xc(%rsp),%ebp
mov    %ebp,%edi
mov    %rbx,%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xd57(%rip),%rdx
lea    0xd36(%rip),%rcx
mov    %ebp,%edi
mov    %rbx,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xd3c(%rip),%rdx
lea    0xcbf(%rip),%rcx
mov    %ebp,%edi
mov    %rbx,%rsi
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0xa84(%rip),%rsi
lea    0xd22(%rip),%rdx
mov    %ebp,%edi
call   1060 <conf_get_trans_str@plt>
test   %rax,%rax
je     17c0 <conf_load_defaults+0x680>
lea    0xceb(%rip),%rsi
lea    0xd18(%rip),%rdx
mov    %ebp,%edi
mov    %rax,%rcx
xor    %r8d,%r8d
mov    $0x1,%r9d
call   1030 <conf_set@plt>
lea    0x2439(%rip),%rax
xor    %ecx,%ecx
lea    0x23e0(%rip),%r10
lea    0x2389(%rip),%rdx
nopw   0x0(%rax,%rax,1)
mov    (%rax),%rsi
mov    %rcx,0x38(%rsp)
lea    0x24c1(%rip),%rax
mov    (%rax,%rcx,8),%rbx
mov    $0x1,%al
xor    %ecx,%ecx
mov    %rcx,0x28(%rsp)
nopl   0x0(%rax)
mov    %eax,0x30(%rsp)
xor    %ecx,%ecx
lea    0x2553(%rip),%rax
nopl   (%rax)
mov    (%rax),%rax
mov    %rax,(%rsp)
lea    0x2582(%rip),%rax
mov    (%rax,%rcx,8),%rax
mov    %rax,0x20(%rsp)
lea    0x25b2(%rip),%rax
mov    %rcx,0x10(%rsp)
mov    (%rax,%rcx,8),%rax
mov    %rax,0x18(%rsp)
xor    %r15d,%r15d
mov    0x28(%rsp),%rbp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    (%r15,%rdx,1),%rcx
sub    $0x8,%rsp
mov    0x14(%rsp),%edi
mov    %rsi,%r13
mov    0x8(%rsp),%rdx
mov    %rbx,%r12
mov    %rbx,%r8
mov    0x28(%rsp),%r9
push   $0x0
push   $0x0
push   %rbp
push   (%r15,%r10,1)
push   0x40(%rsp)
mov    %r10,%r14
call   1040 <conf_load_defaults_qm@plt>
mov    %r13,%rsi
lea    0x22d2(%rip),%rdx
mov    %r14,%r10
add    $0x30,%rsp
add    $0x8,%r15
cmp    $0x48,%r15
jne    1850 <conf_load_defaults+0x710>
lea    0x24ba(%rip),%rax
mov    0x10(%rsp),%rcx
lea    (%rax,%rcx,8),%rax
add    $0x8,%rax
add    $0x1,%rcx
cmp    $0x7,%rcx
jne    1810 <conf_load_defaults+0x6d0>
xor    %ecx,%ecx
lea    0x2496(%rip),%rax
mov    0x28(%rsp),%rbx
nop
mov    (%rax),%rax
mov    %rax,(%rsp)
lea    0x24c2(%rip),%rax
mov    (%rax,%rcx,8),%rax
mov    %rax,0x20(%rsp)
lea    0x24f2(%rip),%rax
mov    %rcx,0x10(%rsp)
mov    (%rax,%rcx,8),%rax
mov    %rax,0x18(%rsp)
xor    %ebp,%ebp
mov    0xc(%rsp),%r15d
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x0(%rbp,%rdx,1),%rcx
sub    $0x8,%rsp
mov    %r15d,%edi
mov    %r13,%rsi
mov    0x8(%rsp),%rdx
mov    %r12,%r8
mov    0x28(%rsp),%r9
push   $0x1
push   $0x0
push   %rbx
push   0x0(%rbp,%r10,1)
push   0x40(%rsp)
call   1040 <conf_load_defaults_qm@plt>
lea    0x221a(%rip),%rdx
mov    %r14,%r10
add    $0x30,%rsp
add    $0x8,%rbp
cmp    $0x48,%rbp
jne    1910 <conf_load_defaults+0x7d0>
lea    0x2402(%rip),%rax
mov    0x10(%rsp),%rcx
lea    (%rax,%rcx,8),%rax
add    $0x8,%rax
add    $0x1,%rcx
cmp    $0x7,%rcx
jne    18d0 <conf_load_defaults+0x790>
xor    %ecx,%ecx
lea    0x23de(%rip),%rax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%rax),%rax
mov    %rax,(%rsp)
lea    0x2402(%rip),%rax
mov    (%rax,%rcx,8),%rax
mov    %rax,0x20(%rsp)
lea    0x2432(%rip),%rax
mov    %rcx,0x10(%rsp)
mov    (%rax,%rcx,8),%rax
mov    %rax,0x18(%rsp)
xor    %ebp,%ebp
mov    0xc(%rsp),%r15d
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x0(%rbp,%rdx,1),%rcx
sub    $0x8,%rsp
mov    %r15d,%edi
mov    %r13,%rsi
mov    0x8(%rsp),%rdx
mov    %r12,%r8
mov    0x28(%rsp),%r9
push   $0x0
push   $0x1
push   %rbx
push   0x0(%rbp,%r10,1)
push   0x40(%rsp)
call   1040 <conf_load_defaults_qm@plt>
lea    0x215a(%rip),%rdx
mov    %r14,%r10
add    $0x30,%rsp
add    $0x8,%rbp
cmp    $0x48,%rbp
jne    19d0 <conf_load_defaults+0x890>
lea    0x2342(%rip),%rax
mov    0x10(%rsp),%rcx
lea    (%rax,%rcx,8),%rax
add    $0x8,%rax
add    $0x1,%rcx
cmp    $0x7,%rcx
jne    1990 <conf_load_defaults+0x850>
xor    %ecx,%ecx
lea    0x231e(%rip),%rax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%rax),%rax
mov    %rax,(%rsp)
lea    0x2342(%rip),%rax
mov    (%rax,%rcx,8),%rax
mov    %rax,0x20(%rsp)
lea    0x2372(%rip),%rax
mov    %rcx,0x10(%rsp)
mov    (%rax,%rcx,8),%rax
mov    %rax,0x18(%rsp)
xor    %ebp,%ebp
mov    0x28(%rsp),%r15
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    0x0(%rbp,%rdx,1),%rcx
sub    $0x8,%rsp
mov    0x14(%rsp),%edi
mov    %r13,%rsi
mov    0x8(%rsp),%rdx
mov    %r12,%r8
mov    0x28(%rsp),%r9
push   $0x1
push   $0x1
push   %r15
push   0x0(%rbp,%r10,1)
push   0x40(%rsp)
call   1040 <conf_load_defaults_qm@plt>
lea    0x2098(%rip),%rdx
mov    %r14,%r10
add    $0x30,%rsp
add    $0x8,%rbp
cmp    $0x48,%rbp
jne    1a90 <conf_load_defaults+0x950>
lea    0x2280(%rip),%rax
mov    0x10(%rsp),%rcx
lea    (%rax,%rcx,8),%rax
add    $0x8,%rax
add    $0x1,%rcx
cmp    $0x7,%rcx
jne    1a50 <conf_load_defaults+0x910>
mov    %r12,%rbx
mov    %r13,%rsi
mov    $0x1,%eax
mov    %rax,0x28(%rsp)
testb  $0x1,0x30(%rsp)
mov    $0x0,%eax
jne    1800 <conf_load_defaults+0x6c0>
lea    0x20de(%rip),%rax
mov    0x38(%rsp),%rcx
lea    (%rax,%rcx,8),%rax
add    $0x8,%rax
add    $0x1,%rcx
cmp    $0x14,%rcx
jne    17e0 <conf_load_defaults+0x6a0>
add    $0xa8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [11 x i8] c"PRE_SHARED\00"
@.str.1 = [4 x i8] c"DSS\00"
@.str.2 = [8 x i8] c"RSA_SIG\00"
@__const.conf_load_defaults.mm_auth = [4 x i8*] [i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i32 0, i32 0), i8* null]
@.str.3 = [1 x i8] zeroinitializer
@.str.4 = [5 x i8] c"-DSS\00"
@.str.5 = [9 x i8] c"-RSA_SIG\00"
@__const.conf_load_defaults.mm_auth_p = [4 x i8*] [i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i32 0, i32 0), i8* null]
@.str.6 = [4 x i8] c"MD5\00"
@.str.7 = [4 x i8] c"SHA\00"
@.str.8 = [9 x i8] c"SHA2_256\00"
@.str.9 = [9 x i8] c"SHA2_384\00"
@.str.10 = [9 x i8] c"SHA2_512\00"
@.str.11 = [5 x i8] c"-MD5\00"
@.str.12 = [5 x i8] c"-SHA\00"
@.str.13 = [10 x i8] c"-SHA2-256\00"
@.str.14 = [10 x i8] c"-SHA2-384\00"
@.str.15 = [10 x i8] c"-SHA2-512\00"
@.str.16 = [8 x i8] c"DES_CBC\00"
@.str.17 = [13 x i8] c"BLOWFISH_CBC\00"
@.str.18 = [9 x i8] c"3DES_CBC\00"
@.str.19 = [9 x i8] c"CAST_CBC\00"
@.str.20 = [8 x i8] c"AES_CBC\00"
@__const.conf_load_defaults.mm_enc = [9 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* null]
@.str.21 = [4 x i8] c"DES\00"
@.str.22 = [4 x i8] c"BLF\00"
@.str.23 = [5 x i8] c"3DES\00"
@.str.24 = [5 x i8] c"CAST\00"
@.str.25 = [4 x i8] c"AES\00"
@.str.26 = [8 x i8] c"AES-128\00"
@.str.27 = [8 x i8] c"AES-192\00"
@.str.28 = [8 x i8] c"AES-256\00"
@__const.conf_load_defaults.mm_enc_p = [9 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i32 0, i32 0), i8* null]
@.str.29 = [10 x i8] c"MODP_1024\00"
@.str.30 = [9 x i8] c"MODP_768\00"
@.str.31 = [10 x i8] c"MODP_1536\00"
@.str.32 = [10 x i8] c"MODP_2048\00"
@.str.33 = [10 x i8] c"MODP_3072\00"
@.str.34 = [10 x i8] c"MODP_4096\00"
@.str.35 = [10 x i8] c"MODP_6144\00"
@.str.36 = [10 x i8] c"MODP_8192\00"
@__const.conf_load_defaults.dhgroup = [10 x i8*] [i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i32 0, i32 0), i8* null]
@.str.37 = [6 x i8] c"-GRP1\00"
@.str.38 = [6 x i8] c"-GRP2\00"
@.str.39 = [6 x i8] c"-GRP5\00"
@.str.40 = [7 x i8] c"-GRP14\00"
@.str.41 = [7 x i8] c"-GRP15\00"
@.str.42 = [7 x i8] c"-GRP16\00"
@.str.43 = [7 x i8] c"-GRP17\00"
@.str.44 = [7 x i8] c"-GRP18\00"
@__const.conf_load_defaults.dhgroup_p = [10 x i8*] [i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i32 0, i32 0), i8* null]
@.str.45 = [9 x i8] c"BLOWFISH\00"
@.str.46 = [8 x i8] c"AES_CTR\00"
@.str.47 = [11 x i8] c"AES_GCM_16\00"
@.str.48 = [9 x i8] c"AES_GMAC\00"
@.str.49 = [5 x i8] c"NULL\00"
@.str.50 = [5 x i8] c"NONE\00"
@__const.conf_load_defaults.qm_enc = [21 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i32 0, i32 0), i8* null]
@.str.51 = [5 x i8] c"-DES\00"
@.str.52 = [6 x i8] c"-3DES\00"
@.str.53 = [6 x i8] c"-CAST\00"
@.str.54 = [5 x i8] c"-BLF\00"
@.str.55 = [5 x i8] c"-AES\00"
@.str.56 = [9 x i8] c"-AES-128\00"
@.str.57 = [9 x i8] c"-AES-192\00"
@.str.58 = [9 x i8] c"-AES-256\00"
@.str.59 = [8 x i8] c"-AESCTR\00"
@.str.60 = [12 x i8] c"-AESCTR-128\00"
@.str.61 = [12 x i8] c"-AESCTR-192\00"
@.str.62 = [12 x i8] c"-AESCTR-256\00"
@.str.63 = [12 x i8] c"-AESGCM-128\00"
@.str.64 = [12 x i8] c"-AESGCM-192\00"
@.str.65 = [12 x i8] c"-AESGCM-256\00"
@.str.66 = [13 x i8] c"-AESGMAC-128\00"
@.str.67 = [13 x i8] c"-AESGMAC-192\00"
@.str.68 = [13 x i8] c"-AESGMAC-256\00"
@.str.69 = [6 x i8] c"-NULL\00"
@__const.conf_load_defaults.qm_enc_p = [21 x i8*] [i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* null]
@.str.70 = [9 x i8] c"HMAC_MD5\00"
@.str.71 = [9 x i8] c"HMAC_SHA\00"
@.str.72 = [12 x i8] c"HMAC_RIPEMD\00"
@.str.73 = [14 x i8] c"HMAC_SHA2_256\00"
@.str.74 = [14 x i8] c"HMAC_SHA2_384\00"
@.str.75 = [14 x i8] c"HMAC_SHA2_512\00"
@__const.conf_load_defaults.qm_hash = [8 x i8*] [i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.72, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i32 0, i32 0), i8* null]
@.str.76 = [8 x i8] c"-RIPEMD\00"
@__const.conf_load_defaults.qm_hash_p = [8 x i8*] [i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.76, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* null]
@.str.77 = [7 x i8] c"RIPEMD\00"
@__const.conf_load_defaults.qm_ah_id = [8 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.77, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* null]
@.str.78 = [8 x i8] c"General\00"
@.str.79 = [12 x i8] c"Retransmits\00"
@.str.80 = [2 x i8] c"3\00"
@.str.81 = [18 x i8] c"Exchange-max-time\00"
@.str.82 = [4 x i8] c"120\00"
@.str.83 = [12 x i8] c"Use-Keynote\00"
@.str.84 = [4 x i8] c"yes\00"
@.str.85 = [12 x i8] c"Policy-file\00"
@.str.86 = [28 x i8] c"/etc/isakmpd/isakmpd.policy\00"
@.str.87 = [17 x i8] c"Pubkey-directory\00"
@.str.88 = [22 x i8] c"/etc/isakmpd/pubkeys/\00"
@.str.89 = [18 x i8] c"X509-certificates\00"
@.str.90 = [13 x i8] c"CA-directory\00"
@.str.91 = [17 x i8] c"/etc/isakmpd/ca/\00"
@.str.92 = [15 x i8] c"Cert-directory\00"
@.str.93 = [20 x i8] c"/etc/isakmpd/certs/\00"
@.str.94 = [12 x i8] c"Private-key\00"
@.str.95 = [31 x i8] c"/etc/isakmpd/private/local.key\00"
@.str.96 = [22 x i8] c"Private-key-directory\00"
@.str.97 = [22 x i8] c"/etc/isakmpd/private/\00"
@.str.98 = [14 x i8] c"CRL-directory\00"
@.str.99 = [19 x i8] c"/etc/isakmpd/crls/\00"
@.str.100 = [8 x i8] c"KeyNote\00"
@.str.101 = [21 x i8] c"Credential-directory\00"
@.str.102 = [22 x i8] c"/etc/isakmpd/keynote/\00"
@.str.103 = [11 x i8] c"Delete-SAs\00"
@.str.104 = [25 x i8] c"Default-phase-1-lifetime\00"
@.str.105 = [15 x i8] c"LIFE_MAIN_MODE\00"
@.str.106 = [10 x i8] c"LIFE_TYPE\00"
@.str.107 = [8 x i8] c"SECONDS\00"
@.str.108 = [14 x i8] c"LIFE_DURATION\00"
@.str.109 = [14 x i8] c"3600,60:86400\00"
@.str.110 = [25 x i8] c"Default-phase-2-lifetime\00"
@.str.111 = [16 x i8] c"LIFE_QUICK_MODE\00"
@.str.112 = [14 x i8] c"1200,60:86400\00"
@.str.113 = [30 x i8] c"Default-phase-1-configuration\00"
@.str.114 = [14 x i8] c"EXCHANGE_TYPE\00"
@.str.115 = [8 x i8] c"ID_PROT\00"
@.str.116 = [11 x i8] c"Transforms\00"
@.str.117 = [17 x i8] c"3DES-SHA-RSA_SIG\00"
@.str.118 = [8 x i8] c"Phase 1\00"
@.str.119 = [8 x i8] c"Default\00"
@.str.120 = [16 x i8] c"Default-phase-1\00"
@.str.121 = [6 x i8] c"Phase\00"
@.str.122 = [2 x i8] c"1\00"
@.str.123 = [14 x i8] c"Configuration\00"
@.str.124 = [19 x i8] c"Default-phase-1-ID\00"
@.str.125 = [3 x i8] c"ID\00"
define void @conf_load_defaults(i32 %0) {
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i8*
%11 = alloca [4 x i8*]
%12 = alloca [4 x i8*]
%13 = alloca [6 x i8*]
%14 = alloca [7 x i8*]
%15 = alloca [9 x i8*]
%16 = alloca [9 x i8*]
%17 = alloca [10 x i8*]
%18 = alloca [10 x i8*]
%19 = alloca [21 x i8*]
%20 = alloca [21 x i8*]
%21 = alloca [8 x i8*]
%22 = alloca [8 x i8*]
%23 = alloca [8 x i8*]
store i32 %0, i32* %2
%24 = bitcast [4 x i8*]* %11 to i8*
%25 = bitcast [4 x i8*]* %12 to i8*
%26 = bitcast [6 x i8*]* %13 to i8*
%27 = bitcast i8* %26 to [6 x i8*]*
%28 = getelementptr inbounds [6 x i8*], [6 x i8*]* %27, i32 0, i32 0
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i32 0, i32 0), i8** %28
%29 = getelementptr inbounds [6 x i8*], [6 x i8*]* %27, i32 0, i32 1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i32 0, i32 0), i8** %29
%30 = getelementptr inbounds [6 x i8*], [6 x i8*]* %27, i32 0, i32 2
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i32 0, i32 0), i8** %30
%31 = getelementptr inbounds [6 x i8*], [6 x i8*]* %27, i32 0, i32 3
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.9, i32 0, i32 0), i8** %31
%32 = getelementptr inbounds [6 x i8*], [6 x i8*]* %27, i32 0, i32 4
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i32 0, i32 0), i8** %32
%33 = bitcast [7 x i8*]* %14 to i8*
%34 = bitcast i8* %33 to [7 x i8*]*
%35 = getelementptr inbounds [7 x i8*], [7 x i8*]* %34, i32 0, i32 0
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i32 0, i32 0), i8** %35
%36 = getelementptr inbounds [7 x i8*], [7 x i8*]* %34, i32 0, i32 1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i32 0, i32 0), i8** %36
%37 = getelementptr inbounds [7 x i8*], [7 x i8*]* %34, i32 0, i32 2
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i32 0, i32 0), i8** %37
%38 = getelementptr inbounds [7 x i8*], [7 x i8*]* %34, i32 0, i32 3
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i32 0, i32 0), i8** %38
%39 = getelementptr inbounds [7 x i8*], [7 x i8*]* %34, i32 0, i32 4
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i32 0, i32 0), i8** %39
%40 = getelementptr inbounds [7 x i8*], [7 x i8*]* %34, i32 0, i32 5
store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8** %40
%41 = bitcast [9 x i8*]* %15 to i8*
%42 = bitcast [9 x i8*]* %16 to i8*
%43 = bitcast [10 x i8*]* %17 to i8*
%44 = bitcast [10 x i8*]* %18 to i8*
%45 = bitcast [21 x i8*]* %19 to i8*
%46 = bitcast [21 x i8*]* %20 to i8*
%47 = bitcast [8 x i8*]* %21 to i8*
%48 = bitcast [8 x i8*]* %22 to i8*
%49 = bitcast [8 x i8*]* %23 to i8*
%50 = load i32, i32* %2
%51 = call i32 @conf_set(i32 %50, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.79, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.80, i64 0, i64 0), i32 0, i32 1)
%52 = load i32, i32* %2
%53 = call i32 @conf_set(i32 %52, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.81, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.82, i64 0, i64 0), i32 0, i32 1)
%54 = load i32, i32* %2
%55 = call i32 @conf_set(i32 %54, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.83, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.84, i64 0, i64 0), i32 0, i32 1)
%56 = load i32, i32* %2
%57 = call i32 @conf_set(i32 %56, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.85, i64 0, i64 0), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.86, i64 0, i64 0), i32 0, i32 1)
%58 = load i32, i32* %2
%59 = call i32 @conf_set(i32 %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.87, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.88, i64 0, i64 0), i32 0, i32 1)
%60 = load i32, i32* %2
%61 = call i32 @conf_set(i32 %60, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.90, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.91, i64 0, i64 0), i32 0, i32 1)
%62 = load i32, i32* %2
%63 = call i32 @conf_set(i32 %62, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.92, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.93, i64 0, i64 0), i32 0, i32 1)
%64 = load i32, i32* %2
%65 = call i32 @conf_set(i32 %64, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.94, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.95, i64 0, i64 0), i32 0, i32 1)
%66 = load i32, i32* %2
%67 = call i32 @conf_set(i32 %66, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.96, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.97, i64 0, i64 0), i32 0, i32 1)
%68 = load i32, i32* %2
%69 = call i32 @conf_set(i32 %68, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.98, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.99, i64 0, i64 0), i32 0, i32 1)
%70 = load i32, i32* %2
%71 = call i32 @conf_set(i32 %70, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.100, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.101, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.102, i64 0, i64 0), i32 0, i32 1)
%72 = load i32, i32* %2
%73 = call i32 @conf_set(i32 %72, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.103, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.84, i64 0, i64 0), i32 0, i32 1)
%74 = load i32, i32* %2
%75 = call i8* @conf_get_trans_str(i32 %74, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.104, i64 0, i64 0))
store i8* %75, i8** %10
%76 = load i32, i32* %2
%77 = call i32 @conf_set(i32 %76, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.105, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.106, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.107, i64 0, i64 0), i32 0, i32 1)
%78 = load i32, i32* %2
%79 = load i8*, i8** %10
%80 = icmp ne i8* %79, null
br i1 %80, label %81, label %83
81: ; preds = %1
%82 = load i8*, i8** %10
br label %84
83: ; preds = %1
br label %84
84: ; preds = %83, %81
%85 = phi i8* [ %82, %81 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.109, i64 0, i64 0), %83 ]
%86 = call i32 @conf_set(i32 %78, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.105, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.108, i64 0, i64 0), i8* %85, i32 0, i32 1)
%87 = load i32, i32* %2
%88 = call i8* @conf_get_trans_str(i32 %87, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.110, i64 0, i64 0))
store i8* %88, i8** %10
%89 = load i32, i32* %2
%90 = call i32 @conf_set(i32 %89, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.111, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.106, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.107, i64 0, i64 0), i32 0, i32 1)
%91 = load i32, i32* %2
%92 = load i8*, i8** %10
%93 = icmp ne i8* %92, null
br i1 %93, label %94, label %96
94: ; preds = %84
%95 = load i8*, i8** %10
br label %97
96: ; preds = %84
br label %97
97: ; preds = %96, %94
%98 = phi i8* [ %95, %94 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.112, i64 0, i64 0), %96 ]
%99 = call i32 @conf_set(i32 %91, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.111, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.108, i64 0, i64 0), i8* %98, i32 0, i32 1)
%100 = load i32, i32* %2
%101 = call i32 @conf_set(i32 %100, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.113, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.114, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.115, i64 0, i64 0), i32 0, i32 1)
%102 = load i32, i32* %2
%103 = call i32 @conf_set(i32 %102, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.113, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.116, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.117, i64 0, i64 0), i32 0, i32 1)
store i32 0, i32* %3
br label %104
104: ; preds = %178, %97
%105 = load i32, i32* %3
%106 = sext i32 %105 to i64
%107 = getelementptr inbounds [9 x i8*], [9 x i8*]* %15, i64 0, i64 %106
%108 = load i8*, i8** %107
%109 = icmp ne i8* %108, null
br i1 %109, label %110, label %181
110: ; preds = %104
store i32 0, i32* %5
br label %111
111: ; preds = %174, %110
%112 = load i32, i32* %5
%113 = sext i32 %112 to i64
%114 = getelementptr inbounds [6 x i8*], [6 x i8*]* %13, i64 0, i64 %113
%115 = load i8*, i8** %114
%116 = icmp ne i8* %115, null
br i1 %116, label %117, label %177
117: ; preds = %111
store i32 0, i32* %4
br label %118
118: ; preds = %170, %117
%119 = load i32, i32* %4
%120 = sext i32 %119 to i64
%121 = getelementptr inbounds [4 x i8*], [4 x i8*]* %11, i64 0, i64 %120
%122 = load i8*, i8** %121
%123 = icmp ne i8* %122, null
br i1 %123, label %124, label %173
124: ; preds = %118
store i32 0, i32* %6
br label %125
125: ; preds = %166, %124
%126 = load i32, i32* %6
%127 = sext i32 %126 to i64
%128 = getelementptr inbounds [10 x i8*], [10 x i8*]* %18, i64 0, i64 %127
%129 = load i8*, i8** %128
%130 = icmp ne i8* %129, null
br i1 %130, label %131, label %169
131: ; preds = %125
%132 = load i32, i32* %2
%133 = load i32, i32* %3
%134 = sext i32 %133 to i64
%135 = getelementptr inbounds [9 x i8*], [9 x i8*]* %15, i64 0, i64 %134
%136 = load i8*, i8** %135
%137 = load i32, i32* %5
%138 = sext i32 %137 to i64
%139 = getelementptr inbounds [6 x i8*], [6 x i8*]* %13, i64 0, i64 %138
%140 = load i8*, i8** %139
%141 = load i32, i32* %4
%142 = sext i32 %141 to i64
%143 = getelementptr inbounds [4 x i8*], [4 x i8*]* %11, i64 0, i64 %142
%144 = load i8*, i8** %143
%145 = load i32, i32* %6
%146 = sext i32 %145 to i64
%147 = getelementptr inbounds [10 x i8*], [10 x i8*]* %17, i64 0, i64 %146
%148 = load i8*, i8** %147
%149 = load i32, i32* %3
%150 = sext i32 %149 to i64
%151 = getelementptr inbounds [9 x i8*], [9 x i8*]* %16, i64 0, i64 %150
%152 = load i8*, i8** %151
%153 = load i32, i32* %4
%154 = sext i32 %153 to i64
%155 = getelementptr inbounds [4 x i8*], [4 x i8*]* %12, i64 0, i64 %154
%156 = load i8*, i8** %155
%157 = load i32, i32* %6
%158 = sext i32 %157 to i64
%159 = getelementptr inbounds [10 x i8*], [10 x i8*]* %18, i64 0, i64 %158
%160 = load i8*, i8** %159
%161 = load i32, i32* %5
%162 = sext i32 %161 to i64
%163 = getelementptr inbounds [7 x i8*], [7 x i8*]* %14, i64 0, i64 %162
%164 = load i8*, i8** %163
%165 = call i32 @conf_load_defaults_mm(i32 %132, i8* %136, i8* %140, i8* %144, i8* %148, i8* %152, i8* %156, i8* %160, i8* %164)
br label %166
166: ; preds = %131
%167 = load i32, i32* %6
%168 = add nsw i32 %167, 1
store i32 %168, i32* %6
br label %125
169: ; preds = %125
br label %170
170: ; preds = %169
%171 = load i32, i32* %4
%172 = add nsw i32 %171, 1
store i32 %172, i32* %4
br label %118
173: ; preds = %118
br label %174
174: ; preds = %173
%175 = load i32, i32* %5
%176 = add nsw i32 %175, 1
store i32 %176, i32* %5
br label %111
177: ; preds = %111
br label %178
178: ; preds = %177
%179 = load i32, i32* %3
%180 = add nsw i32 %179, 1
store i32 %180, i32* %3
br label %104
181: ; preds = %104
%182 = load i32, i32* %2
%183 = call i32 @conf_set(i32 %182, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.118, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.119, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i32 0, i32 1)
%184 = load i32, i32* %2
%185 = call i32 @conf_set(i32 %184, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.121, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.122, i64 0, i64 0), i32 0, i32 1)
%186 = load i32, i32* %2
%187 = call i32 @conf_set(i32 %186, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.123, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.113, i64 0, i64 0), i32 0, i32 1)
%188 = load i32, i32* %2
%189 = call i8* @conf_get_trans_str(i32 %188, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.124, i64 0, i64 0))
store i8* %189, i8** %10
%190 = load i8*, i8** %10
%191 = icmp ne i8* %190, null
br i1 %191, label %192, label %196
192: ; preds = %181
%193 = load i32, i32* %2
%194 = load i8*, i8** %10
%195 = call i32 @conf_set(i32 %193, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.125, i64 0, i64 0), i8* %194, i32 0, i32 1)
br label %196
196: ; preds = %192, %181
store i32 0, i32* %3
br label %197
197: ; preds = %283, %196
%198 = load i32, i32* %3
%199 = sext i32 %198 to i64
%200 = getelementptr inbounds [21 x i8*], [21 x i8*]* %19, i64 0, i64 %199
%201 = load i8*, i8** %200
%202 = icmp ne i8* %201, null
br i1 %202, label %203, label %286
203: ; preds = %197
store i32 0, i32* %7
br label %204
204: ; preds = %279, %203
%205 = load i32, i32* %7
%206 = icmp slt i32 %205, 2
br i1 %206, label %207, label %282
207: ; preds = %204
store i32 0, i32* %8
br label %208
208: ; preds = %275, %207
%209 = load i32, i32* %8
%210 = icmp slt i32 %209, 2
br i1 %210, label %211, label %278
211: ; preds = %208
store i32 0, i32* %9
br label %212
212: ; preds = %271, %211
%213 = load i32, i32* %9
%214 = icmp slt i32 %213, 2
br i1 %214, label %215, label %274
215: ; preds = %212
store i32 0, i32* %5
br label %216
216: ; preds = %267, %215
%217 = load i32, i32* %5
%218 = sext i32 %217 to i64
%219 = getelementptr inbounds [8 x i8*], [8 x i8*]* %21, i64 0, i64 %218
%220 = load i8*, i8** %219
%221 = icmp ne i8* %220, null
br i1 %221, label %222, label %270
222: ; preds = %216
store i32 0, i32* %6
br label %223
223: ; preds = %263, %222
%224 = load i32, i32* %6
%225 = sext i32 %224 to i64
%226 = getelementptr inbounds [10 x i8*], [10 x i8*]* %18, i64 0, i64 %225
%227 = load i8*, i8** %226
%228 = icmp ne i8* %227, null
br i1 %228, label %229, label %266
229: ; preds = %223
%230 = load i32, i32* %2
%231 = load i32, i32* %3
%232 = sext i32 %231 to i64
%233 = getelementptr inbounds [21 x i8*], [21 x i8*]* %19, i64 0, i64 %232
%234 = load i8*, i8** %233
%235 = load i32, i32* %5
%236 = sext i32 %235 to i64
%237 = getelementptr inbounds [8 x i8*], [8 x i8*]* %21, i64 0, i64 %236
%238 = load i8*, i8** %237
%239 = load i32, i32* %6
%240 = sext i32 %239 to i64
%241 = getelementptr inbounds [10 x i8*], [10 x i8*]* %17, i64 0, i64 %240
%242 = load i8*, i8** %241
%243 = load i32, i32* %3
%244 = sext i32 %243 to i64
%245 = getelementptr inbounds [21 x i8*], [21 x i8*]* %20, i64 0, i64 %244
%246 = load i8*, i8** %245
%247 = load i32, i32* %5
%248 = sext i32 %247 to i64
%249 = getelementptr inbounds [8 x i8*], [8 x i8*]* %22, i64 0, i64 %248
%250 = load i8*, i8** %249
%251 = load i32, i32* %5
%252 = sext i32 %251 to i64
%253 = getelementptr inbounds [8 x i8*], [8 x i8*]* %23, i64 0, i64 %252
%254 = load i8*, i8** %253
%255 = load i32, i32* %6
%256 = sext i32 %255 to i64
%257 = getelementptr inbounds [10 x i8*], [10 x i8*]* %18, i64 0, i64 %256
%258 = load i8*, i8** %257
%259 = load i32, i32* %7
%260 = load i32, i32* %8
%261 = load i32, i32* %9
%262 = call i32 @conf_load_defaults_qm(i32 %230, i8* %234, i8* %238, i8* %242, i8* %246, i8* %250, i8* %254, i8* %258, i32 %259, i32 %260, i32 %261)
br label %263
263: ; preds = %229
%264 = load i32, i32* %6
%265 = add nsw i32 %264, 1
store i32 %265, i32* %6
br label %223
266: ; preds = %223
br label %267
267: ; preds = %266
%268 = load i32, i32* %5
%269 = add nsw i32 %268, 1
store i32 %269, i32* %5
br label %216
270: ; preds = %216
br label %271
271: ; preds = %270
%272 = load i32, i32* %9
%273 = add nsw i32 %272, 1
store i32 %273, i32* %9
br label %212
274: ; preds = %212
br label %275
275: ; preds = %274
%276 = load i32, i32* %8
%277 = add nsw i32 %276, 1
store i32 %277, i32* %8
br label %208
278: ; preds = %208
br label %279
279: ; preds = %278
%280 = load i32, i32* %7
%281 = add nsw i32 %280, 1
store i32 %281, i32* %7
br label %204
282: ; preds = %204
br label %283
283: ; preds = %282
%284 = load i32, i32* %3
%285 = add nsw i32 %284, 1
store i32 %285, i32* %3
br label %197
286: ; preds = %197
ret void
}

LLVM IR (-O2):
@.str = [11 x i8] c"PRE_SHARED\00"
@.str.1 = [4 x i8] c"DSS\00"
@.str.2 = [8 x i8] c"RSA_SIG\00"
@__const.conf_load_defaults.mm_auth = [4 x i8*] [i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i32 0, i32 0), i8* null]
@.str.3 = [1 x i8] zeroinitializer
@.str.4 = [5 x i8] c"-DSS\00"
@.str.5 = [9 x i8] c"-RSA_SIG\00"
@__const.conf_load_defaults.mm_auth_p = [4 x i8*] [i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i32 0, i32 0), i8* null]
@.str.6 = [4 x i8] c"MD5\00"
@.str.7 = [4 x i8] c"SHA\00"
@.str.8 = [9 x i8] c"SHA2_256\00"
@.str.9 = [9 x i8] c"SHA2_384\00"
@.str.10 = [9 x i8] c"SHA2_512\00"
@.str.11 = [5 x i8] c"-MD5\00"
@.str.12 = [5 x i8] c"-SHA\00"
@.str.13 = [10 x i8] c"-SHA2-256\00"
@.str.14 = [10 x i8] c"-SHA2-384\00"
@.str.15 = [10 x i8] c"-SHA2-512\00"
@.str.16 = [8 x i8] c"DES_CBC\00"
@.str.17 = [13 x i8] c"BLOWFISH_CBC\00"
@.str.18 = [9 x i8] c"3DES_CBC\00"
@.str.19 = [9 x i8] c"CAST_CBC\00"
@.str.20 = [8 x i8] c"AES_CBC\00"
@__const.conf_load_defaults.mm_enc = [9 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i32 0, i32 0), i8* null]
@.str.21 = [4 x i8] c"DES\00"
@.str.22 = [4 x i8] c"BLF\00"
@.str.23 = [5 x i8] c"3DES\00"
@.str.24 = [5 x i8] c"CAST\00"
@.str.25 = [4 x i8] c"AES\00"
@.str.26 = [8 x i8] c"AES-128\00"
@.str.27 = [8 x i8] c"AES-192\00"
@.str.28 = [8 x i8] c"AES-256\00"
@__const.conf_load_defaults.mm_enc_p = [9 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i32 0, i32 0), i8* null]
@.str.29 = [10 x i8] c"MODP_1024\00"
@.str.30 = [9 x i8] c"MODP_768\00"
@.str.31 = [10 x i8] c"MODP_1536\00"
@.str.32 = [10 x i8] c"MODP_2048\00"
@.str.33 = [10 x i8] c"MODP_3072\00"
@.str.34 = [10 x i8] c"MODP_4096\00"
@.str.35 = [10 x i8] c"MODP_6144\00"
@.str.36 = [10 x i8] c"MODP_8192\00"
@__const.conf_load_defaults.dhgroup = [10 x i8*] [i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i32 0, i32 0), i8* null]
@.str.37 = [6 x i8] c"-GRP1\00"
@.str.38 = [6 x i8] c"-GRP2\00"
@.str.39 = [6 x i8] c"-GRP5\00"
@.str.40 = [7 x i8] c"-GRP14\00"
@.str.41 = [7 x i8] c"-GRP15\00"
@.str.42 = [7 x i8] c"-GRP16\00"
@.str.43 = [7 x i8] c"-GRP17\00"
@.str.44 = [7 x i8] c"-GRP18\00"
@__const.conf_load_defaults.dhgroup_p = [10 x i8*] [i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i32 0, i32 0), i8* null]
@.str.45 = [9 x i8] c"BLOWFISH\00"
@.str.46 = [8 x i8] c"AES_CTR\00"
@.str.47 = [11 x i8] c"AES_GCM_16\00"
@.str.48 = [9 x i8] c"AES_GMAC\00"
@.str.49 = [5 x i8] c"NULL\00"
@.str.50 = [5 x i8] c"NONE\00"
@__const.conf_load_defaults.qm_enc = [21 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i32 0, i32 0), i8* null]
@.str.51 = [5 x i8] c"-DES\00"
@.str.52 = [6 x i8] c"-3DES\00"
@.str.53 = [6 x i8] c"-CAST\00"
@.str.54 = [5 x i8] c"-BLF\00"
@.str.55 = [5 x i8] c"-AES\00"
@.str.56 = [9 x i8] c"-AES-128\00"
@.str.57 = [9 x i8] c"-AES-192\00"
@.str.58 = [9 x i8] c"-AES-256\00"
@.str.59 = [8 x i8] c"-AESCTR\00"
@.str.60 = [12 x i8] c"-AESCTR-128\00"
@.str.61 = [12 x i8] c"-AESCTR-192\00"
@.str.62 = [12 x i8] c"-AESCTR-256\00"
@.str.63 = [12 x i8] c"-AESGCM-128\00"
@.str.64 = [12 x i8] c"-AESGCM-192\00"
@.str.65 = [12 x i8] c"-AESGCM-256\00"
@.str.66 = [13 x i8] c"-AESGMAC-128\00"
@.str.67 = [13 x i8] c"-AESGMAC-192\00"
@.str.68 = [13 x i8] c"-AESGMAC-256\00"
@.str.69 = [6 x i8] c"-NULL\00"
@__const.conf_load_defaults.qm_enc_p = [21 x i8*] [i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* null]
@.str.70 = [9 x i8] c"HMAC_MD5\00"
@.str.71 = [9 x i8] c"HMAC_SHA\00"
@.str.72 = [12 x i8] c"HMAC_RIPEMD\00"
@.str.73 = [14 x i8] c"HMAC_SHA2_256\00"
@.str.74 = [14 x i8] c"HMAC_SHA2_384\00"
@.str.75 = [14 x i8] c"HMAC_SHA2_512\00"
@__const.conf_load_defaults.qm_hash = [8 x i8*] [i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.72, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i32 0, i32 0), i8* null]
@.str.76 = [8 x i8] c"-RIPEMD\00"
@__const.conf_load_defaults.qm_hash_p = [8 x i8*] [i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.76, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* null]
@.str.77 = [7 x i8] c"RIPEMD\00"
@__const.conf_load_defaults.qm_ah_id = [8 x i8*] [i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.77, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i32 0, i32 0), i8* null]
@.str.78 = [8 x i8] c"General\00"
@.str.79 = [12 x i8] c"Retransmits\00"
@.str.80 = [2 x i8] c"3\00"
@.str.81 = [18 x i8] c"Exchange-max-time\00"
@.str.82 = [4 x i8] c"120\00"
@.str.83 = [12 x i8] c"Use-Keynote\00"
@.str.84 = [4 x i8] c"yes\00"
@.str.85 = [12 x i8] c"Policy-file\00"
@.str.86 = [28 x i8] c"/etc/isakmpd/isakmpd.policy\00"
@.str.87 = [17 x i8] c"Pubkey-directory\00"
@.str.88 = [22 x i8] c"/etc/isakmpd/pubkeys/\00"
@.str.89 = [18 x i8] c"X509-certificates\00"
@.str.90 = [13 x i8] c"CA-directory\00"
@.str.91 = [17 x i8] c"/etc/isakmpd/ca/\00"
@.str.92 = [15 x i8] c"Cert-directory\00"
@.str.93 = [20 x i8] c"/etc/isakmpd/certs/\00"
@.str.94 = [12 x i8] c"Private-key\00"
@.str.95 = [31 x i8] c"/etc/isakmpd/private/local.key\00"
@.str.96 = [22 x i8] c"Private-key-directory\00"
@.str.97 = [22 x i8] c"/etc/isakmpd/private/\00"
@.str.98 = [14 x i8] c"CRL-directory\00"
@.str.99 = [19 x i8] c"/etc/isakmpd/crls/\00"
@.str.100 = [8 x i8] c"KeyNote\00"
@.str.101 = [21 x i8] c"Credential-directory\00"
@.str.102 = [22 x i8] c"/etc/isakmpd/keynote/\00"
@.str.103 = [11 x i8] c"Delete-SAs\00"
@.str.104 = [25 x i8] c"Default-phase-1-lifetime\00"
@.str.105 = [15 x i8] c"LIFE_MAIN_MODE\00"
@.str.106 = [10 x i8] c"LIFE_TYPE\00"
@.str.107 = [8 x i8] c"SECONDS\00"
@.str.108 = [14 x i8] c"LIFE_DURATION\00"
@.str.109 = [14 x i8] c"3600,60:86400\00"
@.str.110 = [25 x i8] c"Default-phase-2-lifetime\00"
@.str.111 = [16 x i8] c"LIFE_QUICK_MODE\00"
@.str.112 = [14 x i8] c"1200,60:86400\00"
@.str.113 = [30 x i8] c"Default-phase-1-configuration\00"
@.str.114 = [14 x i8] c"EXCHANGE_TYPE\00"
@.str.115 = [8 x i8] c"ID_PROT\00"
@.str.116 = [11 x i8] c"Transforms\00"
@.str.117 = [17 x i8] c"3DES-SHA-RSA_SIG\00"
@.str.118 = [8 x i8] c"Phase 1\00"
@.str.119 = [8 x i8] c"Default\00"
@.str.120 = [16 x i8] c"Default-phase-1\00"
@.str.121 = [6 x i8] c"Phase\00"
@.str.122 = [2 x i8] c"1\00"
@.str.123 = [14 x i8] c"Configuration\00"
@.str.124 = [19 x i8] c"Default-phase-1-ID\00"
@.str.125 = [3 x i8] c"ID\00"
define void @conf_load_defaults(i32 %0) {
%2 = alloca [6 x i8*]
%3 = alloca [7 x i8*]
%4 = bitcast [6 x i8*]* %2 to i8*
%5 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 4
%6 = bitcast i8** %5 to i8*
%7 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 0
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i8** %7
%8 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i8** %8
%9 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 2
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8** %9
%10 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 3
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.9, i64 0, i64 0), i8** %10
%11 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 4
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i64 0, i64 0), i8** %11
%12 = bitcast [7 x i8*]* %3 to i8*
%13 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 6
%14 = bitcast i8** %13 to i64*
store i64 0, i64* %14
%15 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 0
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0), i8** %15
%16 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i64 0, i64 0), i8** %16
%17 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 2
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i64 0, i64 0), i8** %17
%18 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 3
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i8** %18
%19 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 4
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0), i8** %19
%20 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 5
store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i64 0, i64 0), i8** %20
%21 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.79, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.80, i64 0, i64 0), i32 0, i32 1)
%22 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.81, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.82, i64 0, i64 0), i32 0, i32 1)
%23 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.83, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.84, i64 0, i64 0), i32 0, i32 1)
%24 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.85, i64 0, i64 0), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.86, i64 0, i64 0), i32 0, i32 1)
%25 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.87, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.88, i64 0, i64 0), i32 0, i32 1)
%26 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.90, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.91, i64 0, i64 0), i32 0, i32 1)
%27 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.92, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.93, i64 0, i64 0), i32 0, i32 1)
%28 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.94, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.95, i64 0, i64 0), i32 0, i32 1)
%29 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.96, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.97, i64 0, i64 0), i32 0, i32 1)
%30 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.98, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.99, i64 0, i64 0), i32 0, i32 1)
%31 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.100, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.101, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.102, i64 0, i64 0), i32 0, i32 1)
%32 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.103, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.84, i64 0, i64 0), i32 0, i32 1)
%33 = tail call i8* @conf_get_trans_str(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.104, i64 0, i64 0))
%34 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.105, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.106, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.107, i64 0, i64 0), i32 0, i32 1)
%35 = icmp eq i8* %33, null
%36 = select i1 %35, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.109, i64 0, i64 0), i8* %33
%37 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.105, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.108, i64 0, i64 0), i8* %36, i32 0, i32 1)
%38 = tail call i8* @conf_get_trans_str(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.110, i64 0, i64 0))
%39 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.111, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.106, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.107, i64 0, i64 0), i32 0, i32 1)
%40 = icmp eq i8* %38, null
%41 = select i1 %40, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.112, i64 0, i64 0), i8* %38
%42 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.111, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.108, i64 0, i64 0), i8* %41, i32 0, i32 1)
%43 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.113, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.114, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.115, i64 0, i64 0), i32 0, i32 1)
%44 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.113, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.116, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.117, i64 0, i64 0), i32 0, i32 1)
br label %45
45: ; preds = %79, %1
%46 = phi i64 [ 0, %1 ], [ %80, %79 ]
%47 = phi i8** [ getelementptr inbounds ([9 x i8*], [9 x i8*]* @__const.conf_load_defaults.mm_enc, i64 0, i64 0), %1 ], [ %81, %79 ]
%48 = load i8*, i8** %47
%49 = getelementptr inbounds [9 x i8*], [9 x i8*]* @__const.conf_load_defaults.mm_enc_p, i64 0, i64 %46
%50 = load i8*, i8** %49
br label %51
51: ; preds = %45, %74
%52 = phi i64 [ 0, %45 ], [ %75, %74 ]
%53 = phi i8* [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), %45 ], [ %77, %74 ]
%54 = getelementptr inbounds [7 x i8*], [7 x i8*]* %3, i64 0, i64 %52
%55 = load i8*, i8** %54
br label %56
56: ; preds = %51, %56
%57 = phi i64 [ 0, %51 ], [ %71, %56 ]
%58 = phi i8** [ getelementptr inbounds ([4 x i8*], [4 x i8*]* @__const.conf_load_defaults.mm_auth, i64 0, i64 0), %51 ], [ %72, %56 ]
%59 = load i8*, i8** %58
%60 = getelementptr inbounds [4 x i8*], [4 x i8*]* @__const.conf_load_defaults.mm_auth_p, i64 0, i64 %57
%61 = load i8*, i8** %60
%62 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.3, i64 0, i64 0), i8* %55)
%63 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i64 0, i64 0), i8* %55)
%64 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.38, i64 0, i64 0), i8* %55)
%65 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.39, i64 0, i64 0), i8* %55)
%66 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i64 0, i64 0), i8* %55)
%67 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0), i8* %55)
%68 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.34, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.42, i64 0, i64 0), i8* %55)
%69 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.35, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i64 0, i64 0), i8* %55)
%70 = tail call i32 @conf_load_defaults_mm(i32 %0, i8* %48, i8* %53, i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i8* %50, i8* %61, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i64 0, i64 0), i8* %55)
%71 = add nuw nsw i64 %57, 1
%72 = getelementptr inbounds [4 x i8*], [4 x i8*]* @__const.conf_load_defaults.mm_auth, i64 0, i64 %71
%73 = icmp eq i64 %71, 3
br i1 %73, label %74, label %56
74: ; preds = %56
%75 = add nuw i64 %52, 1
%76 = getelementptr inbounds [6 x i8*], [6 x i8*]* %2, i64 0, i64 %75
%77 = load i8*, i8** %76
%78 = icmp eq i8* %77, null
br i1 %78, label %79, label %51
79: ; preds = %74
%80 = add nuw nsw i64 %46, 1
%81 = getelementptr inbounds [9 x i8*], [9 x i8*]* @__const.conf_load_defaults.mm_enc, i64 0, i64 %80
%82 = icmp eq i64 %80, 8
br i1 %82, label %83, label %45
83: ; preds = %79
%84 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.118, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.119, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i32 0, i32 1)
%85 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.121, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.122, i64 0, i64 0), i32 0, i32 1)
%86 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.123, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.113, i64 0, i64 0), i32 0, i32 1)
%87 = tail call i8* @conf_get_trans_str(i32 %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.124, i64 0, i64 0))
%88 = icmp eq i8* %87, null
br i1 %88, label %91, label %89
89: ; preds = %83
%90 = tail call i32 @conf_set(i32 %0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.120, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.125, i64 0, i64 0), i8* %87, i32 0, i32 1)
br label %91
91: ; preds = %89, %83
br label %92
92: ; preds = %91, %186
%93 = phi i64 [ %187, %186 ], [ 0, %91 ]
%94 = phi i8** [ %188, %186 ], [ getelementptr inbounds ([21 x i8*], [21 x i8*]* @__const.conf_load_defaults.qm_enc, i64 0, i64 0), %91 ]
%95 = load i8*, i8** %94
%96 = getelementptr inbounds [21 x i8*], [21 x i8*]* @__const.conf_load_defaults.qm_enc_p, i64 0, i64 %93
%97 = load i8*, i8** %96
br label %98
98: ; preds = %92, %185
%99 = phi i1 [ true, %92 ], [ false, %185 ]
%100 = phi i32 [ 0, %92 ], [ 1, %185 ]
br label %101
101: ; preds = %98, %118
%102 = phi i64 [ 0, %98 ], [ %119, %118 ]
%103 = phi i8** [ getelementptr inbounds ([8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 0), %98 ], [ %120, %118 ]
%104 = load i8*, i8** %103
%105 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash_p, i64 0, i64 %102
%106 = load i8*, i8** %105
%107 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_ah_id, i64 0, i64 %102
%108 = load i8*, i8** %107
br label %109
109: ; preds = %101, %109
%110 = phi i64 [ 0, %101 ], [ %116, %109 ]
%111 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup_p, i64 0, i64 %110
%112 = load i8*, i8** %111
%113 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup, i64 0, i64 %110
%114 = load i8*, i8** %113
%115 = tail call i32 @conf_load_defaults_qm(i32 %0, i8* %95, i8* %104, i8* %114, i8* %97, i8* %106, i8* %108, i8* %112, i32 %100, i32 0, i32 0)
%116 = add nuw nsw i64 %110, 1
%117 = icmp eq i64 %116, 9
br i1 %117, label %118, label %109
118: ; preds = %109
%119 = add nuw nsw i64 %102, 1
%120 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 %119
%121 = icmp eq i64 %119, 7
br i1 %121, label %122, label %101
122: ; preds = %118, %139
%123 = phi i64 [ %140, %139 ], [ 0, %118 ]
%124 = phi i8** [ %141, %139 ], [ getelementptr inbounds ([8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 0), %118 ]
%125 = load i8*, i8** %124
%126 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash_p, i64 0, i64 %123
%127 = load i8*, i8** %126
%128 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_ah_id, i64 0, i64 %123
%129 = load i8*, i8** %128
br label %130
130: ; preds = %130, %122
%131 = phi i64 [ 0, %122 ], [ %137, %130 ]
%132 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup_p, i64 0, i64 %131
%133 = load i8*, i8** %132
%134 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup, i64 0, i64 %131
%135 = load i8*, i8** %134
%136 = tail call i32 @conf_load_defaults_qm(i32 %0, i8* %95, i8* %125, i8* %135, i8* %97, i8* %127, i8* %129, i8* %133, i32 %100, i32 0, i32 1)
%137 = add nuw nsw i64 %131, 1
%138 = icmp eq i64 %137, 9
br i1 %138, label %139, label %130
139: ; preds = %130
%140 = add nuw nsw i64 %123, 1
%141 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 %140
%142 = icmp eq i64 %140, 7
br i1 %142, label %143, label %122
143: ; preds = %139, %160
%144 = phi i64 [ %161, %160 ], [ 0, %139 ]
%145 = phi i8** [ %162, %160 ], [ getelementptr inbounds ([8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 0), %139 ]
%146 = load i8*, i8** %145
%147 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash_p, i64 0, i64 %144
%148 = load i8*, i8** %147
%149 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_ah_id, i64 0, i64 %144
%150 = load i8*, i8** %149
br label %151
151: ; preds = %151, %143
%152 = phi i64 [ 0, %143 ], [ %158, %151 ]
%153 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup_p, i64 0, i64 %152
%154 = load i8*, i8** %153
%155 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup, i64 0, i64 %152
%156 = load i8*, i8** %155
%157 = tail call i32 @conf_load_defaults_qm(i32 %0, i8* %95, i8* %146, i8* %156, i8* %97, i8* %148, i8* %150, i8* %154, i32 %100, i32 1, i32 0)
%158 = add nuw nsw i64 %152, 1
%159 = icmp eq i64 %158, 9
br i1 %159, label %160, label %151
160: ; preds = %151
%161 = add nuw nsw i64 %144, 1
%162 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 %161
%163 = icmp eq i64 %161, 7
br i1 %163, label %164, label %143
164: ; preds = %160, %181
%165 = phi i64 [ %182, %181 ], [ 0, %160 ]
%166 = phi i8** [ %183, %181 ], [ getelementptr inbounds ([8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 0), %160 ]
%167 = load i8*, i8** %166
%168 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash_p, i64 0, i64 %165
%169 = load i8*, i8** %168
%170 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_ah_id, i64 0, i64 %165
%171 = load i8*, i8** %170
br label %172
172: ; preds = %172, %164
%173 = phi i64 [ 0, %164 ], [ %179, %172 ]
%174 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup_p, i64 0, i64 %173
%175 = load i8*, i8** %174
%176 = getelementptr inbounds [10 x i8*], [10 x i8*]* @__const.conf_load_defaults.dhgroup, i64 0, i64 %173
%177 = load i8*, i8** %176
%178 = tail call i32 @conf_load_defaults_qm(i32 %0, i8* %95, i8* %167, i8* %177, i8* %97, i8* %169, i8* %171, i8* %175, i32 %100, i32 1, i32 1)
%179 = add nuw nsw i64 %173, 1
%180 = icmp eq i64 %179, 9
br i1 %180, label %181, label %172
181: ; preds = %172
%182 = add nuw nsw i64 %165, 1
%183 = getelementptr inbounds [8 x i8*], [8 x i8*]* @__const.conf_load_defaults.qm_hash, i64 0, i64 %182
%184 = icmp eq i64 %182, 7
br i1 %184, label %185, label %164
185: ; preds = %181
br i1 %99, label %98, label %186
186: ; preds = %185
%187 = add nuw nsw i64 %93, 1
%188 = getelementptr inbounds [21 x i8*], [21 x i8*]* @__const.conf_load_defaults.qm_enc, i64 0, i64 %187
%189 = icmp eq i64 %187, 20
br i1 %189, label %190, label %92
190: ; preds = %186
ret void
}